From e70bedba7d16b4c928220286ec09d38f058d742c Mon Sep 17 00:00:00 2001 From: Kevin Turner <83819+keturn@users.noreply.github.com> Date: Fri, 28 Jul 2023 21:03:27 -0700 Subject: [PATCH 001/287] refactor(ModelManager): factor out _get_implementation method --- .../backend/model_management/model_manager.py | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index 2a82061a97..fbabd2fece 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -258,7 +258,7 @@ from .models import ( ModelConfigBase, ModelNotFoundException, InvalidModelException, - DuplicateModelException, + DuplicateModelException, ModelBase, ) # We are only starting to number the config file with release 3. @@ -361,7 +361,7 @@ class ModelManager(object): if model_key.startswith("_"): continue model_name, base_model, model_type = self.parse_key(model_key) - model_class = MODEL_CLASSES[base_model][model_type] + model_class = self._get_implementation(base_model, model_type) # alias for config file model_config["model_format"] = model_config.pop("format") self.models[model_key] = model_class.create_config(**model_config) @@ -446,7 +446,7 @@ class ModelManager(object): :param submode_typel: an ModelType enum indicating the portion of the model to retrieve (e.g. ModelType.Vae) """ - model_class = MODEL_CLASSES[base_model][model_type] + model_class = self._get_implementation(base_model, model_type) model_key = self.create_key(model_name, base_model, model_type) # if model not found try to find it (maybe file just pasted) @@ -475,7 +475,7 @@ class ModelManager(object): model_path = self.app_config.root_path / override_path model_type = submodel_type submodel_type = None - model_class = MODEL_CLASSES[base_model][model_type] + model_class = self._get_implementation(base_model, model_type) # TODO: path # TODO: is it accurate to use path as id @@ -513,6 +513,10 @@ class ModelManager(object): _cache=self.cache, ) + def _get_implementation(self, base_model: BaseModelType, model_type: ModelType) -> type[ModelBase]: + model_class = MODEL_CLASSES[base_model][model_type] + return model_class + def model_info( self, model_name: str, @@ -659,7 +663,7 @@ class ModelManager(object): if Path(path).is_relative_to(self.app_config.root_path): model_attributes["path"] = str(Path(path).relative_to(self.app_config.root_path)) - model_class = MODEL_CLASSES[base_model][model_type] + model_class = self._get_implementation(base_model, model_type) model_config = model_class.create_config(**model_attributes) model_key = self.create_key(model_name, base_model, model_type) @@ -837,7 +841,7 @@ class ModelManager(object): for model_key, model_config in self.models.items(): model_name, base_model, model_type = self.parse_key(model_key) - model_class = MODEL_CLASSES[base_model][model_type] + model_class = self._get_implementation(base_model, model_type) if model_class.save_to_config: # TODO: or exclude_unset better fits here? data_to_save[model_key] = model_config.dict(exclude_defaults=True, exclude={"error"}) @@ -888,7 +892,7 @@ class ModelManager(object): model_name, cur_base_model, cur_model_type = self.parse_key(model_key) model_path = self.app_config.root_path.absolute() / model_config.path if not model_path.exists(): - model_class = MODEL_CLASSES[cur_base_model][cur_model_type] + model_class = self._get_implementation(cur_base_model, cur_model_type) if model_class.save_to_config: model_config.error = ModelError.NotFound self.models.pop(model_key, None) @@ -904,7 +908,7 @@ class ModelManager(object): for cur_model_type in ModelType: if model_type is not None and cur_model_type != model_type: continue - model_class = MODEL_CLASSES[cur_base_model][cur_model_type] + model_class = self._get_implementation(cur_base_model, cur_model_type) models_dir = self.app_config.models_path / cur_base_model.value / cur_model_type.value if not models_dir.exists(): From dca685ac252055dff6dd38cfe6575994cc7385a0 Mon Sep 17 00:00:00 2001 From: Kevin Turner <83819+keturn@users.noreply.github.com> Date: Fri, 28 Jul 2023 21:11:00 -0700 Subject: [PATCH 002/287] refactor(ModelManager): refactor rescan-on-miss to exists() method --- .../backend/model_management/model_manager.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index fbabd2fece..5da4344b89 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -386,13 +386,21 @@ class ModelManager(object): model_name: str, base_model: BaseModelType, model_type: ModelType, + rescan = False ) -> bool: """ Given a model name, returns True if it is a valid identifier. """ model_key = self.create_key(model_name, base_model, model_type) - return model_key in self.models + exists = model_key in self.models + + # if model not found try to find it (maybe file just pasted) + if rescan and not exists: + self.scan_models_directory(base_model=base_model, model_type=model_type) + exists = model_key in self.models + + return exists @classmethod def create_key( @@ -449,11 +457,8 @@ class ModelManager(object): model_class = self._get_implementation(base_model, model_type) model_key = self.create_key(model_name, base_model, model_type) - # if model not found try to find it (maybe file just pasted) - if model_key not in self.models: - self.scan_models_directory(base_model=base_model, model_type=model_type) - if model_key not in self.models: - raise ModelNotFoundException(f"Model not found - {model_key}") + if not self.model_exists(model_name, base_model, model_type, rescan=True): + raise ModelNotFoundException(f"Model not found - {model_key}") model_config = self.models[model_key] model_path = self.app_config.root_path / model_config.path From b163ae6a4dcb9b5024888c33620db8ddcd01b037 Mon Sep 17 00:00:00 2001 From: Kevin Turner <83819+keturn@users.noreply.github.com> Date: Fri, 28 Jul 2023 21:30:20 -0700 Subject: [PATCH 003/287] refactor(ModelManager): factor out get_model_config --- invokeai/backend/model_management/model_manager.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index 5da4344b89..51053f92cc 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -460,7 +460,7 @@ class ModelManager(object): if not self.model_exists(model_name, base_model, model_type, rescan=True): raise ModelNotFoundException(f"Model not found - {model_key}") - model_config = self.models[model_key] + model_config = self._get_model_config(base_model, model_name, model_type) model_path = self.app_config.root_path / model_config.path if not model_path.exists(): @@ -518,6 +518,14 @@ class ModelManager(object): _cache=self.cache, ) + def _get_model_config(self, base_model, model_name, model_type) -> ModelConfigBase: + model_key = self.create_key(model_name, base_model, model_type) + try: + model_config = self.models[model_key] + except KeyError: + raise ModelNotFoundException(f"Model not found - {model_key}") + return model_config + def _get_implementation(self, base_model: BaseModelType, model_type: ModelType) -> type[ModelBase]: model_class = MODEL_CLASSES[base_model][model_type] return model_class From bc9a5038fdbb0c1f9bc88c5fa5ea86cdf994024b Mon Sep 17 00:00:00 2001 From: Kevin Turner <83819+keturn@users.noreply.github.com> Date: Fri, 28 Jul 2023 22:01:28 -0700 Subject: [PATCH 004/287] refactor(ModelManager): factor out get_model_path --- .../backend/model_management/model_manager.py | 38 ++++++++++++------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index 51053f92cc..6c79b07959 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -451,37 +451,33 @@ class ModelManager(object): :param model_name: symbolic name of the model in models.yaml :param model_type: ModelType enum indicating the type of model to return :param base_model: BaseModelType enum indicating the base model used by this model - :param submode_typel: an ModelType enum indicating the portion of + :param submodel_type: an ModelType enum indicating the portion of the model to retrieve (e.g. ModelType.Vae) """ - model_class = self._get_implementation(base_model, model_type) model_key = self.create_key(model_name, base_model, model_type) if not self.model_exists(model_name, base_model, model_type, rescan=True): raise ModelNotFoundException(f"Model not found - {model_key}") model_config = self._get_model_config(base_model, model_name, model_type) - model_path = self.app_config.root_path / model_config.path + + model_path, is_submodel_override = self._get_model_path(model_config, submodel_type) + + if is_submodel_override: + model_type = submodel_type + submodel_type = None + + model_class = self._get_implementation(base_model, model_type) if not model_path.exists(): if model_class.save_to_config: self.models[model_key].error = ModelError.NotFound - raise Exception(f'Files for model "{model_key}" not found') + raise Exception(f'Files for model "{model_key}" not found at {model_path}') else: self.models.pop(model_key, None) raise ModelNotFoundException(f"Model not found - {model_key}") - # vae/movq override - # TODO: - if submodel_type is not None and hasattr(model_config, submodel_type): - override_path = getattr(model_config, submodel_type) - if override_path: - model_path = self.app_config.root_path / override_path - model_type = submodel_type - submodel_type = None - model_class = self._get_implementation(base_model, model_type) - # TODO: path # TODO: is it accurate to use path as id dst_convert_path = self._get_model_cache_path(model_path) @@ -518,6 +514,20 @@ class ModelManager(object): _cache=self.cache, ) + def _get_model_path(self, model_config: ModelConfigBase, submodel_type: SubModelType = None) -> (Path, bool): + model_path = model_config.path + is_submodel_override = False + + # Does the config explicitly override the submodel? + if submodel_type is not None and hasattr(model_config, submodel_type): + submodel_path = getattr(model_config, submodel_type) + if submodel_path is not None: + model_path = getattr(model_config, submodel_type) + is_submodel_override = True + + model_path = self.app_config.root_path / model_path + return model_path, is_submodel_override + def _get_model_config(self, base_model, model_name, model_type) -> ModelConfigBase: model_key = self.create_key(model_name, base_model, model_type) try: From 86b8b69e889cf0e972b75dc50ff119e86c315649 Mon Sep 17 00:00:00 2001 From: Kevin Turner <83819+keturn@users.noreply.github.com> Date: Fri, 28 Jul 2023 22:30:25 -0700 Subject: [PATCH 005/287] internal(ModelManager): add instantiate method --- invokeai/backend/model_management/model_manager.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index 6c79b07959..954b86283f 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -540,6 +540,15 @@ class ModelManager(object): model_class = MODEL_CLASSES[base_model][model_type] return model_class + def _instantiate(self, model_name: str, base_model: BaseModelType, model_type: ModelType, + submodel_type: SubModelType = None) -> ModelBase: + model_config = self._get_model_config(base_model, model_name, model_type) + model_path, is_submodel_override = self._get_model_path(model_config, submodel_type) + # FIXME: do non-overriden submodels get the right class? + constructor = self._get_implementation(base_model, model_type) + instance = constructor(model_path, base_model, model_type) + return instance + def model_info( self, model_name: str, From 35dd58e273c64059ce0d708db36e85c8670ac520 Mon Sep 17 00:00:00 2001 From: Saurav Maheshkar Date: Sat, 29 Jul 2023 12:59:56 +0530 Subject: [PATCH 006/287] chore: move PR template to `.github/` dir --- pull_request_template.md => .github/pull_request_template.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename pull_request_template.md => .github/pull_request_template.md (100%) diff --git a/pull_request_template.md b/.github/pull_request_template.md similarity index 100% rename from pull_request_template.md rename to .github/pull_request_template.md From ccceb32a859c6a3fa46a4181e0c31555175de4b9 Mon Sep 17 00:00:00 2001 From: Kevin Turner <83819+keturn@users.noreply.github.com> Date: Sat, 29 Jul 2023 11:50:04 -0700 Subject: [PATCH 007/287] lint: formatting --- invokeai/backend/model_management/model_manager.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index 954b86283f..c8a1405428 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -228,19 +228,19 @@ the root is the InvokeAI ROOTDIR. """ from __future__ import annotations -import os import hashlib +import os import textwrap -import yaml +import types from dataclasses import dataclass from pathlib import Path -from typing import Optional, List, Tuple, Union, Dict, Set, Callable, types from shutil import rmtree, move +from typing import Optional, List, Tuple, Union, Dict, Set, Callable import torch +import yaml from omegaconf import OmegaConf from omegaconf.dictconfig import DictConfig - from pydantic import BaseModel, Field import invokeai.backend.util.logging as logger From ff1c40747e96e01429650c69e3756e2e58a714d8 Mon Sep 17 00:00:00 2001 From: Kevin Turner <83819+keturn@users.noreply.github.com> Date: Sat, 29 Jul 2023 20:02:31 -0700 Subject: [PATCH 008/287] lint: formatting --- .../backend/model_management/model_manager.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index c8a1405428..8bade9cb04 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -258,7 +258,8 @@ from .models import ( ModelConfigBase, ModelNotFoundException, InvalidModelException, - DuplicateModelException, ModelBase, + DuplicateModelException, + ModelBase, ) # We are only starting to number the config file with release 3. @@ -381,13 +382,7 @@ class ModelManager(object): # causing otherwise unreferenced models to be removed from memory self._read_models() - def model_exists( - self, - model_name: str, - base_model: BaseModelType, - model_type: ModelType, - rescan = False - ) -> bool: + def model_exists(self, model_name: str, base_model: BaseModelType, model_type: ModelType, rescan=False) -> bool: """ Given a model name, returns True if it is a valid identifier. @@ -540,8 +535,9 @@ class ModelManager(object): model_class = MODEL_CLASSES[base_model][model_type] return model_class - def _instantiate(self, model_name: str, base_model: BaseModelType, model_type: ModelType, - submodel_type: SubModelType = None) -> ModelBase: + def _instantiate( + self, model_name: str, base_model: BaseModelType, model_type: ModelType, submodel_type: SubModelType = None + ) -> ModelBase: model_config = self._get_model_config(base_model, model_name, model_type) model_path, is_submodel_override = self._get_model_path(model_config, submodel_type) # FIXME: do non-overriden submodels get the right class? From adfd1e52f4e99956533f8dbfd6e9fffde4f3c521 Mon Sep 17 00:00:00 2001 From: Kevin Turner <83819+keturn@users.noreply.github.com> Date: Sun, 30 Jul 2023 11:53:12 -0700 Subject: [PATCH 009/287] refactor(model_manager): avoid copy/paste logic --- invokeai/backend/model_management/model_manager.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index 930ce119fd..ac71e2d2f8 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -382,10 +382,9 @@ class ModelManager(object): # causing otherwise unreferenced models to be removed from memory self._read_models() - def model_exists(self, model_name: str, base_model: BaseModelType, model_type: ModelType, rescan=False) -> bool: + def model_exists(self, model_name: str, base_model: BaseModelType, model_type: ModelType, *, rescan=False) -> bool: """ - Given a model name, returns True if it is a valid - identifier. + Given a model name, returns True if it is a valid identifier. """ model_key = self.create_key(model_name, base_model, model_type) exists = model_key in self.models @@ -393,7 +392,7 @@ class ModelManager(object): # if model not found try to find it (maybe file just pasted) if rescan and not exists: self.scan_models_directory(base_model=base_model, model_type=model_type) - exists = model_key in self.models + exists = self.model_exists(model_name, base_model, model_type, rescan=False) return exists From bacdf985f1738f52816f88f708c25899279e517f Mon Sep 17 00:00:00 2001 From: Kevin Turner <83819+keturn@users.noreply.github.com> Date: Mon, 31 Jul 2023 09:08:46 -0700 Subject: [PATCH 010/287] doc(model_manager): docstrings --- .../backend/model_management/model_manager.py | 24 ++++++++++++++++--- .../backend/model_management/models/vae.py | 16 +++++++------ 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index ac71e2d2f8..139e65ac93 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -385,6 +385,11 @@ class ModelManager(object): def model_exists(self, model_name: str, base_model: BaseModelType, model_type: ModelType, *, rescan=False) -> bool: """ Given a model name, returns True if it is a valid identifier. + + :param model_name: symbolic name of the model in models.yaml + :param model_type: ModelType enum indicating the type of model to return + :param base_model: BaseModelType enum indicating the base model used by this model + :param rescan: if True, scan_models_directory """ model_key = self.create_key(model_name, base_model, model_type) exists = model_key in self.models @@ -470,7 +475,7 @@ class ModelManager(object): else: self.models.pop(model_key, None) - raise ModelNotFoundException(f"Model not found - {model_key}") + raise ModelNotFoundException(f'Files for model "{model_key}" not found at {model_path}') # TODO: path # TODO: is it accurate to use path as id @@ -508,7 +513,13 @@ class ModelManager(object): _cache=self.cache, ) - def _get_model_path(self, model_config: ModelConfigBase, submodel_type: SubModelType = None) -> (Path, bool): + def _get_model_path( + self, model_config: ModelConfigBase, submodel_type: Optional[SubModelType] = None + ) -> (Path, bool): + """Extract a model's filesystem path from its config. + + :return: The fully qualified Path of the module (or submodule). + """ model_path = model_config.path is_submodel_override = False @@ -523,6 +534,7 @@ class ModelManager(object): return model_path, is_submodel_override def _get_model_config(self, base_model, model_name, model_type) -> ModelConfigBase: + """Get a model's config object.""" model_key = self.create_key(model_name, base_model, model_type) try: model_config = self.models[model_key] @@ -531,12 +543,18 @@ class ModelManager(object): return model_config def _get_implementation(self, base_model: BaseModelType, model_type: ModelType) -> type[ModelBase]: + """Get the concrete implementation class for a specific model type.""" model_class = MODEL_CLASSES[base_model][model_type] return model_class def _instantiate( - self, model_name: str, base_model: BaseModelType, model_type: ModelType, submodel_type: SubModelType = None + self, + model_name: str, + base_model: BaseModelType, + model_type: ModelType, + submodel_type: Optional[SubModelType] = None, ) -> ModelBase: + """Make a new instance of this model, without loading it.""" model_config = self._get_model_config(base_model, model_name, model_type) model_path, is_submodel_override = self._get_model_path(model_config, submodel_type) # FIXME: do non-overriden submodels get the right class? diff --git a/invokeai/backend/model_management/models/vae.py b/invokeai/backend/model_management/models/vae.py index b15844bcf8..957a102ffb 100644 --- a/invokeai/backend/model_management/models/vae.py +++ b/invokeai/backend/model_management/models/vae.py @@ -1,9 +1,14 @@ import os -import torch -import safetensors from enum import Enum from pathlib import Path -from typing import Optional, Union, Literal +from typing import Optional + +import safetensors +import torch +from diffusers.utils import is_safetensors_available +from omegaconf import OmegaConf + +from invokeai.app.services.config import InvokeAIAppConfig from .base import ( ModelBase, ModelConfigBase, @@ -18,9 +23,6 @@ from .base import ( InvalidModelException, ModelNotFoundException, ) -from invokeai.app.services.config import InvokeAIAppConfig -from diffusers.utils import is_safetensors_available -from omegaconf import OmegaConf class VaeModelFormat(str, Enum): @@ -80,7 +82,7 @@ class VaeModel(ModelBase): @classmethod def detect_format(cls, path: str): if not os.path.exists(path): - raise ModelNotFoundException() + raise ModelNotFoundException(f"Does not exist as local file: {path}") if os.path.isdir(path): if os.path.exists(os.path.join(path, "config.json")): From 7cd8b2f20712e8f28ebdf8e888603ef366d001aa Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 31 Jul 2023 21:15:44 -0400 Subject: [PATCH 011/287] Refactor root detection code --- invokeai/app/services/config.py | 13 ++++--------- invokeai/frontend/install/model_install.py | 2 ++ 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/invokeai/app/services/config.py b/invokeai/app/services/config.py index a9a4a64f75..c75c0602b1 100644 --- a/invokeai/app/services/config.py +++ b/invokeai/app/services/config.py @@ -274,7 +274,7 @@ class InvokeAISettings(BaseSettings): @classmethod def _excluded(self) -> List[str]: # internal fields that shouldn't be exposed as command line options - return ["type", "initconf", "cached_root"] + return ["type", "initconf"] @classmethod def _excluded_from_yaml(self) -> List[str]: @@ -290,7 +290,6 @@ class InvokeAISettings(BaseSettings): "restore", "root", "nsfw_checker", - "cached_root", ] class Config: @@ -357,6 +356,7 @@ def _find_root() -> Path: venv = Path(os.environ.get("VIRTUAL_ENV") or ".") if os.environ.get("INVOKEAI_ROOT"): root = Path(os.environ.get("INVOKEAI_ROOT")).resolve() + os.environ["INVOKEAI_ROOT"] = str(root) # absolutize it to protect against code doing a cwd() elif any([(venv.parent / x).exists() for x in [INIT_FILE, LEGACY_INIT_FILE]]): root = (venv.parent).resolve() else: @@ -424,7 +424,6 @@ class InvokeAIAppConfig(InvokeAISettings): log_level : Literal[tuple(["debug","info","warning","error","critical"])] = Field(default="info", description="Emit logging messages at this level or higher", category="Logging") version : bool = Field(default=False, description="Show InvokeAI version and exit", category="Other") - cached_root : Path = Field(default=None, description="internal use only", category="DEPRECATED") # fmt: on def parse_args(self, argv: List[str] = None, conf: DictConfig = None, clobber=False): @@ -472,15 +471,11 @@ class InvokeAIAppConfig(InvokeAISettings): """ Path to the runtime root directory """ - # we cache value of root to protect against it being '.' and the cwd changing - if self.cached_root: - root = self.cached_root - elif self.root: + if self.root: root = Path(self.root).expanduser().absolute() else: root = self.find_root() - self.cached_root = root - return self.cached_root + return root @property def root_dir(self) -> Path: diff --git a/invokeai/frontend/install/model_install.py b/invokeai/frontend/install/model_install.py index 0633553a3d..3eb6425f77 100644 --- a/invokeai/frontend/install/model_install.py +++ b/invokeai/frontend/install/model_install.py @@ -767,7 +767,9 @@ def main(): invoke_args.extend(["--root", opt.root]) if opt.full_precision: invoke_args.extend(["--precision", "float32"]) + print(f"DEBUG: {invoke_args}") config.parse_args(invoke_args) + print(f"DEBUG: {config.root} {config.root_path}") logger = InvokeAILogger().getLogger(config=config) if not config.model_conf_path.exists(): From 72ebe2ce686a6c1188f17fde5ac9225cda9f0d5b Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 31 Jul 2023 22:27:07 -0400 Subject: [PATCH 012/287] refactor root directory detection to be cleaner --- invokeai/app/services/config.py | 4 ++-- tests/test_config.py | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/invokeai/app/services/config.py b/invokeai/app/services/config.py index c75c0602b1..434ba47fc1 100644 --- a/invokeai/app/services/config.py +++ b/invokeai/app/services/config.py @@ -356,7 +356,6 @@ def _find_root() -> Path: venv = Path(os.environ.get("VIRTUAL_ENV") or ".") if os.environ.get("INVOKEAI_ROOT"): root = Path(os.environ.get("INVOKEAI_ROOT")).resolve() - os.environ["INVOKEAI_ROOT"] = str(root) # absolutize it to protect against code doing a cwd() elif any([(venv.parent / x).exists() for x in [INIT_FILE, LEGACY_INIT_FILE]]): root = (venv.parent).resolve() else: @@ -403,7 +402,7 @@ class InvokeAIAppConfig(InvokeAISettings): xformers_enabled : bool = Field(default=True, description="Enable/disable memory-efficient attention", category='Memory/Performance') tiled_decode : bool = Field(default=False, description="Whether to enable tiled VAE decode (reduces memory consumption with some performance penalty)", category='Memory/Performance') - root : Path = Field(default=_find_root(), description='InvokeAI runtime root directory', category='Paths') + root : Path = Field(default=None, description='InvokeAI runtime root directory', category='Paths') autoimport_dir : Path = Field(default='autoimport', description='Path to a directory of models files to be imported on startup.', category='Paths') lora_dir : Path = Field(default=None, description='Path to a directory of LoRA/LyCORIS models to be imported on startup.', category='Paths') embedding_dir : Path = Field(default=None, description='Path to a directory of Textual Inversion embeddings to be imported on startup.', category='Paths') @@ -475,6 +474,7 @@ class InvokeAIAppConfig(InvokeAISettings): root = Path(self.root).expanduser().absolute() else: root = self.find_root() + self.root = root # insulate ourselves from relative paths that may change return root @property diff --git a/tests/test_config.py b/tests/test_config.py index 5d3dc46aa4..a84af80eb9 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -84,6 +84,20 @@ def test_env_override(): assert conf.max_cache_size == 20 +def test_root_resists_cwd(): + previous = os.environ["INVOKEAI_ROOT"] + cwd = Path(os.getcwd()).resolve() + + os.environ["INVOKEAI_ROOT"] = "." + conf = InvokeAIAppConfig.get_config() + conf.parse_args([]) + assert conf.root_path == cwd + + os.chdir(previous) + assert conf.root_path == cwd + os.environ["INVOKEAI_ROOT"] = previous + + def test_type_coercion(): conf = InvokeAIAppConfig().get_config() conf.parse_args(argv=["--root=/tmp/foobar"]) From 55d3f04476c3b8cc529ae49460e974ecb8aee454 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 31 Jul 2023 22:36:11 -0400 Subject: [PATCH 013/287] additional refactoring --- invokeai/app/services/config.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/invokeai/app/services/config.py b/invokeai/app/services/config.py index 434ba47fc1..c119f2f74c 100644 --- a/invokeai/app/services/config.py +++ b/invokeai/app/services/config.py @@ -355,7 +355,7 @@ class InvokeAISettings(BaseSettings): def _find_root() -> Path: venv = Path(os.environ.get("VIRTUAL_ENV") or ".") if os.environ.get("INVOKEAI_ROOT"): - root = Path(os.environ.get("INVOKEAI_ROOT")).resolve() + root = Path(os.environ["INVOKEAI_ROOT"]) elif any([(venv.parent / x).exists() for x in [INIT_FILE, LEGACY_INIT_FILE]]): root = (venv.parent).resolve() else: @@ -473,7 +473,7 @@ class InvokeAIAppConfig(InvokeAISettings): if self.root: root = Path(self.root).expanduser().absolute() else: - root = self.find_root() + root = self.find_root().expanduser().absolute() self.root = root # insulate ourselves from relative paths that may change return root From df53b6204805da502709b870c6bdc3453c0a6c6d Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 31 Jul 2023 22:39:11 -0400 Subject: [PATCH 014/287] get rid of dangling debug statements --- invokeai/frontend/install/model_install.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/invokeai/frontend/install/model_install.py b/invokeai/frontend/install/model_install.py index 3eb6425f77..0633553a3d 100644 --- a/invokeai/frontend/install/model_install.py +++ b/invokeai/frontend/install/model_install.py @@ -767,9 +767,7 @@ def main(): invoke_args.extend(["--root", opt.root]) if opt.full_precision: invoke_args.extend(["--precision", "float32"]) - print(f"DEBUG: {invoke_args}") config.parse_args(invoke_args) - print(f"DEBUG: {config.root} {config.root_path}") logger = InvokeAILogger().getLogger(config=config) if not config.model_conf_path.exists(): From 437f45a97faa55681fdc1fe82736cf3d74063c08 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Tue, 1 Aug 2023 00:41:35 -0400 Subject: [PATCH 015/287] do not depend on existence of /tmp directory --- tests/test_config.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/test_config.py b/tests/test_config.py index a84af80eb9..721edce487 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -93,9 +93,10 @@ def test_root_resists_cwd(): conf.parse_args([]) assert conf.root_path == cwd - os.chdir(previous) + os.chdir("..") assert conf.root_path == cwd os.environ["INVOKEAI_ROOT"] = previous + os.chdir(cwd) def test_type_coercion(): From fb8f218901ead1658562106c420b7d340fceba88 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue, 1 Aug 2023 14:26:02 +1000 Subject: [PATCH 016/287] fix(ui): post-onnx fixes --- invokeai/frontend/web/.husky/pre-commit | 2 - .../listeners/modelSelected.ts | 4 +- .../listeners/modelsLoaded.ts | 7 +- .../util/graphBuilders/addLoRAsToGraph.ts | 4 +- .../nodes/util/graphBuilders/addVAEToGraph.ts | 10 +-- .../buildCanvasTextToImageGraph.ts | 60 ++++++++++----- .../buildLinearTextToImageGraph.ts | 76 +++++++++++++------ .../parameters/hooks/useRecallParameters.ts | 3 +- .../parameters/store/generationSlice.ts | 10 ++- .../parameters/types/parameterSchemas.ts | 64 +++++++++++----- .../util/modelIdToMainModelParam.ts | 7 +- .../util/modelIdToSDXLRefinerModelParam.ts | 31 ++++++++ .../ParamSDXLRefinerModelSelect.tsx | 4 +- .../web/src/features/sdxl/store/sdxlSlice.ts | 7 +- .../subpanels/ModelManagerPanel/ModelList.tsx | 7 ++ .../ModelManagerPanel/ModelListItem.tsx | 12 ++- .../frontend/web/src/services/api/schema.d.ts | 20 ++--- .../frontend/web/src/services/api/types.d.ts | 7 +- 18 files changed, 229 insertions(+), 106 deletions(-) create mode 100644 invokeai/frontend/web/src/features/parameters/util/modelIdToSDXLRefinerModelParam.ts diff --git a/invokeai/frontend/web/.husky/pre-commit b/invokeai/frontend/web/.husky/pre-commit index f7584d86eb..f89f3ad735 100755 --- a/invokeai/frontend/web/.husky/pre-commit +++ b/invokeai/frontend/web/.husky/pre-commit @@ -1,6 +1,4 @@ #!/usr/bin/env sh . "$(dirname -- "$0")/_/husky.sh" -python -m black . --check - cd invokeai/frontend/web/ && npm run lint-staged diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/modelSelected.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/modelSelected.ts index 7880386057..e44cbe504a 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/modelSelected.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/modelSelected.ts @@ -6,7 +6,7 @@ import { modelChanged, vaeSelected, } from 'features/parameters/store/generationSlice'; -import { zMainModel } from 'features/parameters/types/parameterSchemas'; +import { zMainOrOnnxModel } from 'features/parameters/types/parameterSchemas'; import { addToast } from 'features/system/store/systemSlice'; import { makeToast } from 'features/system/util/makeToast'; import { forEach } from 'lodash-es'; @@ -19,7 +19,7 @@ export const addModelSelectedListener = () => { const log = logger('models'); const state = getState(); - const result = zMainModel.safeParse(action.payload); + const result = zMainOrOnnxModel.safeParse(action.payload); if (!result.success) { log.error( diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/modelsLoaded.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/modelsLoaded.ts index 32d512f504..325e843900 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/modelsLoaded.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/modelsLoaded.ts @@ -6,7 +6,8 @@ import { vaeSelected, } from 'features/parameters/store/generationSlice'; import { - zMainModel, + zMainOrOnnxModel, + zSDXLRefinerModel, zVaeModel, } from 'features/parameters/types/parameterSchemas'; import { @@ -53,7 +54,7 @@ export const addModelsLoadedListener = () => { return; } - const result = zMainModel.safeParse(firstModel); + const result = zMainOrOnnxModel.safeParse(firstModel); if (!result.success) { log.error( @@ -102,7 +103,7 @@ export const addModelsLoadedListener = () => { return; } - const result = zMainModel.safeParse(firstModel); + const result = zSDXLRefinerModel.safeParse(firstModel); if (!result.success) { log.error( diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addLoRAsToGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addLoRAsToGraph.ts index e4973f0c36..bc0bfee8fd 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addLoRAsToGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addLoRAsToGraph.ts @@ -19,7 +19,7 @@ export const addLoRAsToGraph = ( state: RootState, graph: NonNullableGraph, baseNodeId: string, - modelLoader: string = MAIN_MODEL_LOADER + modelLoaderNodeId: string = MAIN_MODEL_LOADER ): void => { /** * LoRA nodes get the UNet and CLIP models from the main model loader and apply the LoRA to them. @@ -85,7 +85,7 @@ export const addLoRAsToGraph = ( // first lora = start the lora chain, attach directly to model loader graph.edges.push({ source: { - node_id: modelLoader, + node_id: modelLoaderNodeId, field: 'unet', }, destination: { diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addVAEToGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addVAEToGraph.ts index 154bdb60c5..1472b3ea3f 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addVAEToGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addVAEToGraph.ts @@ -17,7 +17,7 @@ import { export const addVAEToGraph = ( state: RootState, graph: NonNullableGraph, - modelLoader: string = MAIN_MODEL_LOADER + modelLoaderNodeId: string = MAIN_MODEL_LOADER ): void => { const { vae } = state.generation; @@ -34,11 +34,11 @@ export const addVAEToGraph = ( vae_model: vae, }; } - const isOnnxModel = modelLoader == ONNX_MODEL_LOADER; + const isOnnxModel = modelLoaderNodeId == ONNX_MODEL_LOADER; if (graph.id === TEXT_TO_IMAGE_GRAPH || graph.id === IMAGE_TO_IMAGE_GRAPH) { graph.edges.push({ source: { - node_id: isAutoVae ? modelLoader : VAE_LOADER, + node_id: isAutoVae ? modelLoaderNodeId : VAE_LOADER, field: isAutoVae && isOnnxModel ? 'vae_decoder' : 'vae', }, destination: { @@ -51,7 +51,7 @@ export const addVAEToGraph = ( if (graph.id === IMAGE_TO_IMAGE_GRAPH) { graph.edges.push({ source: { - node_id: isAutoVae ? modelLoader : VAE_LOADER, + node_id: isAutoVae ? modelLoaderNodeId : VAE_LOADER, field: isAutoVae && isOnnxModel ? 'vae_decoder' : 'vae', }, destination: { @@ -64,7 +64,7 @@ export const addVAEToGraph = ( if (graph.id === INPAINT_GRAPH) { graph.edges.push({ source: { - node_id: isAutoVae ? modelLoader : VAE_LOADER, + node_id: isAutoVae ? modelLoaderNodeId : VAE_LOADER, field: isAutoVae && isOnnxModel ? 'vae_decoder' : 'vae', }, destination: { diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts index 14a81c4e4d..5b636b482a 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts @@ -20,6 +20,10 @@ import { TEXT_TO_IMAGE_GRAPH, TEXT_TO_LATENTS, } from './constants'; +import { + ONNXTextToLatentsInvocation, + TextToLatentsInvocation, +} from 'services/api/types'; /** * Builds the Canvas tab's Text to Image graph. @@ -53,8 +57,31 @@ export const buildCanvasTextToImageGraph = ( const use_cpu = shouldUseNoiseSettings ? shouldUseCpuNoise : initialGenerationState.shouldUseCpuNoise; - const onnx_model_type = model.model_type.includes('onnx'); - const model_loader = onnx_model_type ? ONNX_MODEL_LOADER : MAIN_MODEL_LOADER; + const isUsingOnnxModel = model.model_type === 'onnx'; + const modelLoaderNodeId = isUsingOnnxModel + ? ONNX_MODEL_LOADER + : MAIN_MODEL_LOADER; + const modelLoaderNodeType = isUsingOnnxModel + ? 'onnx_model_loader' + : 'main_model_loader'; + const t2lNode: TextToLatentsInvocation | ONNXTextToLatentsInvocation = + isUsingOnnxModel + ? { + type: 't2l_onnx', + id: TEXT_TO_LATENTS, + is_intermediate: true, + cfg_scale, + scheduler, + steps, + } + : { + type: 't2l', + id: TEXT_TO_LATENTS, + is_intermediate: true, + cfg_scale, + scheduler, + steps, + }; /** * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the * full graph here as a template. Then use the parameters from app state and set friendlier node @@ -70,13 +97,13 @@ export const buildCanvasTextToImageGraph = ( id: TEXT_TO_IMAGE_GRAPH, nodes: { [POSITIVE_CONDITIONING]: { - type: onnx_model_type ? 'prompt_onnx' : 'compel', + type: isUsingOnnxModel ? 'prompt_onnx' : 'compel', id: POSITIVE_CONDITIONING, is_intermediate: true, prompt: positivePrompt, }, [NEGATIVE_CONDITIONING]: { - type: onnx_model_type ? 'prompt_onnx' : 'compel', + type: isUsingOnnxModel ? 'prompt_onnx' : 'compel', id: NEGATIVE_CONDITIONING, is_intermediate: true, prompt: negativePrompt, @@ -89,17 +116,10 @@ export const buildCanvasTextToImageGraph = ( height, use_cpu, }, - [TEXT_TO_LATENTS]: { - type: onnx_model_type ? 't2l_onnx' : 't2l', - id: TEXT_TO_LATENTS, - is_intermediate: true, - cfg_scale, - scheduler, - steps, - }, - [model_loader]: { - type: model_loader, - id: model_loader, + [t2lNode.id]: t2lNode, + [modelLoaderNodeId]: { + type: modelLoaderNodeType, + id: modelLoaderNodeId, is_intermediate: true, model, }, @@ -110,7 +130,7 @@ export const buildCanvasTextToImageGraph = ( skipped_layers: clipSkip, }, [LATENTS_TO_IMAGE]: { - type: onnx_model_type ? 'l2i_onnx' : 'l2i', + type: isUsingOnnxModel ? 'l2i_onnx' : 'l2i', id: LATENTS_TO_IMAGE, is_intermediate: !shouldAutoSave, }, @@ -138,7 +158,7 @@ export const buildCanvasTextToImageGraph = ( }, { source: { - node_id: model_loader, + node_id: modelLoaderNodeId, field: 'clip', }, destination: { @@ -168,7 +188,7 @@ export const buildCanvasTextToImageGraph = ( }, { source: { - node_id: model_loader, + node_id: modelLoaderNodeId, field: 'unet', }, destination: { @@ -232,10 +252,10 @@ export const buildCanvasTextToImageGraph = ( }); // add LoRA support - addLoRAsToGraph(state, graph, TEXT_TO_LATENTS, model_loader); + addLoRAsToGraph(state, graph, TEXT_TO_LATENTS, modelLoaderNodeId); // optionally add custom VAE - addVAEToGraph(state, graph, model_loader); + addVAEToGraph(state, graph, modelLoaderNodeId); // add dynamic prompts - also sets up core iteration and seed addDynamicPromptsToGraph(state, graph); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts index 3ae6f7650d..9dcc502d14 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts @@ -20,6 +20,10 @@ import { TEXT_TO_IMAGE_GRAPH, TEXT_TO_LATENTS, } from './constants'; +import { + ONNXTextToLatentsInvocation, + TextToLatentsInvocation, +} from 'services/api/types'; export const buildLinearTextToImageGraph = ( state: RootState @@ -49,8 +53,31 @@ export const buildLinearTextToImageGraph = ( throw new Error('No model found in state'); } - const onnx_model_type = model.model_type.includes('onnx'); - const model_loader = onnx_model_type ? ONNX_MODEL_LOADER : MAIN_MODEL_LOADER; + const isUsingOnnxModel = model.model_type === 'onnx'; + const modelLoaderNodeId = isUsingOnnxModel + ? ONNX_MODEL_LOADER + : MAIN_MODEL_LOADER; + const modelLoaderNodeType = isUsingOnnxModel + ? 'onnx_model_loader' + : 'main_model_loader'; + const t2lNode: TextToLatentsInvocation | ONNXTextToLatentsInvocation = + isUsingOnnxModel + ? { + type: 't2l_onnx', + id: TEXT_TO_LATENTS, + is_intermediate: true, + cfg_scale, + scheduler, + steps, + } + : { + type: 't2l', + id: TEXT_TO_LATENTS, + is_intermediate: true, + cfg_scale, + scheduler, + steps, + }; /** * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the * full graph here as a template. Then use the parameters from app state and set friendlier node @@ -66,25 +93,17 @@ export const buildLinearTextToImageGraph = ( const graph: NonNullableGraph = { id: TEXT_TO_IMAGE_GRAPH, nodes: { - [model_loader]: { - type: model_loader, - id: model_loader, - model, - }, - [CLIP_SKIP]: { - type: 'clip_skip', - id: CLIP_SKIP, - skipped_layers: clipSkip, - }, [POSITIVE_CONDITIONING]: { - type: onnx_model_type ? 'prompt_onnx' : 'compel', + type: isUsingOnnxModel ? 'prompt_onnx' : 'compel', id: POSITIVE_CONDITIONING, prompt: positivePrompt, + is_intermediate: true, }, [NEGATIVE_CONDITIONING]: { - type: onnx_model_type ? 'prompt_onnx' : 'compel', + type: isUsingOnnxModel ? 'prompt_onnx' : 'compel', id: NEGATIVE_CONDITIONING, prompt: negativePrompt, + is_intermediate: true, }, [NOISE]: { type: 'noise', @@ -92,16 +111,23 @@ export const buildLinearTextToImageGraph = ( width, height, use_cpu, + is_intermediate: true, }, - [TEXT_TO_LATENTS]: { - type: onnx_model_type ? 't2l_onnx' : 't2l', - id: TEXT_TO_LATENTS, - cfg_scale, - scheduler, - steps, + [t2lNode.id]: t2lNode, + [modelLoaderNodeId]: { + type: modelLoaderNodeType, + id: modelLoaderNodeId, + is_intermediate: true, + model, + }, + [CLIP_SKIP]: { + type: 'clip_skip', + id: CLIP_SKIP, + skipped_layers: clipSkip, + is_intermediate: true, }, [LATENTS_TO_IMAGE]: { - type: onnx_model_type ? 'l2i_onnx' : 'l2i', + type: isUsingOnnxModel ? 'l2i_onnx' : 'l2i', id: LATENTS_TO_IMAGE, fp32: vaePrecision === 'fp32' ? true : false, }, @@ -109,7 +135,7 @@ export const buildLinearTextToImageGraph = ( edges: [ { source: { - node_id: model_loader, + node_id: modelLoaderNodeId, field: 'clip', }, destination: { @@ -119,7 +145,7 @@ export const buildLinearTextToImageGraph = ( }, { source: { - node_id: model_loader, + node_id: modelLoaderNodeId, field: 'unet', }, destination: { @@ -223,10 +249,10 @@ export const buildLinearTextToImageGraph = ( }); // add LoRA support - addLoRAsToGraph(state, graph, TEXT_TO_LATENTS, model_loader); + addLoRAsToGraph(state, graph, TEXT_TO_LATENTS, modelLoaderNodeId); // optionally add custom VAE - addVAEToGraph(state, graph, model_loader); + addVAEToGraph(state, graph, modelLoaderNodeId); // add dynamic prompts - also sets up core iteration and seed addDynamicPromptsToGraph(state, graph); diff --git a/invokeai/frontend/web/src/features/parameters/hooks/useRecallParameters.ts b/invokeai/frontend/web/src/features/parameters/hooks/useRecallParameters.ts index 0165245bd0..cb2361524d 100644 --- a/invokeai/frontend/web/src/features/parameters/hooks/useRecallParameters.ts +++ b/invokeai/frontend/web/src/features/parameters/hooks/useRecallParameters.ts @@ -35,6 +35,7 @@ import { isValidSDXLNegativeStylePrompt, isValidSDXLPositiveStylePrompt, isValidSDXLRefinerAestheticScore, + isValidSDXLRefinerModel, isValidSDXLRefinerStart, isValidScheduler, isValidSeed, @@ -381,7 +382,7 @@ export const useRecallParameters = () => { dispatch(setNegativeStylePromptSDXL(negative_style_prompt)); } - if (isValidMainModel(refiner_model)) { + if (isValidSDXLRefinerModel(refiner_model)) { dispatch(refinerModelChanged(refiner_model)); } diff --git a/invokeai/frontend/web/src/features/parameters/store/generationSlice.ts b/invokeai/frontend/web/src/features/parameters/store/generationSlice.ts index 8dd22026a9..12f2c3eabf 100644 --- a/invokeai/frontend/web/src/features/parameters/store/generationSlice.ts +++ b/invokeai/frontend/web/src/features/parameters/store/generationSlice.ts @@ -3,13 +3,14 @@ import { createSlice } from '@reduxjs/toolkit'; import { roundToMultiple } from 'common/util/roundDownToMultiple'; import { configChanged } from 'features/system/store/configSlice'; import { clamp } from 'lodash-es'; -import { ImageDTO, MainModelField, OnnxModelField } from 'services/api/types'; +import { ImageDTO } from 'services/api/types'; import { clipSkipMap } from '../types/constants'; import { CfgScaleParam, HeightParam, MainModelParam, NegativePromptParam, + OnnxModelParam, PositivePromptParam, PrecisionParam, SchedulerParam, @@ -50,7 +51,7 @@ export interface GenerationState { shouldUseSymmetry: boolean; horizontalSymmetrySteps: number; verticalSymmetrySteps: number; - model: MainModelField | OnnxModelField | null; + model: MainModelParam | OnnxModelParam | null; vae: VaeModelParam | null; vaePrecision: PrecisionParam; seamlessXAxis: boolean; @@ -229,7 +230,10 @@ export const generationSlice = createSlice({ const { image_name, width, height } = action.payload; state.initialImage = { imageName: image_name, width, height }; }, - modelChanged: (state, action: PayloadAction) => { + modelChanged: ( + state, + action: PayloadAction + ) => { state.model = action.payload; if (state.model === null) { diff --git a/invokeai/frontend/web/src/features/parameters/types/parameterSchemas.ts b/invokeai/frontend/web/src/features/parameters/types/parameterSchemas.ts index cc9df619fb..ac799ac600 100644 --- a/invokeai/frontend/web/src/features/parameters/types/parameterSchemas.ts +++ b/invokeai/frontend/web/src/features/parameters/types/parameterSchemas.ts @@ -210,42 +210,70 @@ export type HeightParam = z.infer; export const isValidHeight = (val: unknown): val is HeightParam => zHeight.safeParse(val).success; -const zModelType = z.enum([ - 'vae', - 'lora', - 'onnx', - 'main', - 'controlnet', - 'embedding', -]); const zBaseModel = z.enum(['sd-1', 'sd-2', 'sdxl', 'sdxl-refiner']); export type BaseModelParam = z.infer; /** - * Zod schema for model parameter + * Zod schema for main model parameter * TODO: Make this a dynamically generated enum? */ export const zMainModel = z.object({ model_name: z.string().min(1), base_model: zBaseModel, - model_type: zModelType, + model_type: z.literal('main'), }); - /** - * Type alias for model parameter, inferred from its zod schema + * Type alias for main model parameter, inferred from its zod schema */ export type MainModelParam = z.infer; - /** - * Type alias for model parameter, inferred from its zod schema - */ -export type OnnxModelParam = z.infer; -/** - * Validates/type-guards a value as a model parameter + * Validates/type-guards a value as a main model parameter */ export const isValidMainModel = (val: unknown): val is MainModelParam => zMainModel.safeParse(val).success; + +/** + * Zod schema for SDXL refiner model parameter + * TODO: Make this a dynamically generated enum? + */ +export const zSDXLRefinerModel = z.object({ + model_name: z.string().min(1), + base_model: z.literal('sdxl-refiner'), + model_type: z.literal('main'), +}); +/** + * Type alias for SDXL refiner model parameter, inferred from its zod schema + */ +export type SDXLRefinerModelParam = z.infer; +/** + * Validates/type-guards a value as a SDXL refiner model parameter + */ +export const isValidSDXLRefinerModel = ( + val: unknown +): val is SDXLRefinerModelParam => zSDXLRefinerModel.safeParse(val).success; + +/** + * Zod schema for Onnx model parameter + * TODO: Make this a dynamically generated enum? + */ +export const zOnnxModel = z.object({ + model_name: z.string().min(1), + base_model: zBaseModel, + model_type: z.literal('onnx'), +}); +/** + * Type alias for Onnx model parameter, inferred from its zod schema + */ +export type OnnxModelParam = z.infer; +/** + * Validates/type-guards a value as a Onnx model parameter + */ +export const isValidOnnxModel = (val: unknown): val is OnnxModelParam => + zOnnxModel.safeParse(val).success; + +export const zMainOrOnnxModel = z.union([zMainModel, zOnnxModel]); + /** * Zod schema for VAE parameter */ diff --git a/invokeai/frontend/web/src/features/parameters/util/modelIdToMainModelParam.ts b/invokeai/frontend/web/src/features/parameters/util/modelIdToMainModelParam.ts index 7d2a606e97..78a3bcc515 100644 --- a/invokeai/frontend/web/src/features/parameters/util/modelIdToMainModelParam.ts +++ b/invokeai/frontend/web/src/features/parameters/util/modelIdToMainModelParam.ts @@ -1,16 +1,17 @@ import { logger } from 'app/logging/logger'; import { MainModelParam, - zMainModel, + OnnxModelParam, + zMainOrOnnxModel, } from 'features/parameters/types/parameterSchemas'; export const modelIdToMainModelParam = ( mainModelId: string -): MainModelParam | undefined => { +): OnnxModelParam | MainModelParam | undefined => { const log = logger('models'); const [base_model, model_type, model_name] = mainModelId.split('/'); - const result = zMainModel.safeParse({ + const result = zMainOrOnnxModel.safeParse({ base_model, model_name, model_type, diff --git a/invokeai/frontend/web/src/features/parameters/util/modelIdToSDXLRefinerModelParam.ts b/invokeai/frontend/web/src/features/parameters/util/modelIdToSDXLRefinerModelParam.ts new file mode 100644 index 0000000000..780ac56459 --- /dev/null +++ b/invokeai/frontend/web/src/features/parameters/util/modelIdToSDXLRefinerModelParam.ts @@ -0,0 +1,31 @@ +import { logger } from 'app/logging/logger'; +import { + SDXLRefinerModelParam, + zSDXLRefinerModel, +} from 'features/parameters/types/parameterSchemas'; + +export const modelIdToSDXLRefinerModelParam = ( + mainModelId: string +): SDXLRefinerModelParam | undefined => { + const log = logger('models'); + const [base_model, model_type, model_name] = mainModelId.split('/'); + + const result = zSDXLRefinerModel.safeParse({ + base_model, + model_name, + model_type, + }); + + if (!result.success) { + log.error( + { + mainModelId, + errors: result.error.format(), + }, + 'Failed to parse main model id' + ); + return; + } + + return result.data; +}; diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLRefiner/ParamSDXLRefinerModelSelect.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLRefiner/ParamSDXLRefinerModelSelect.tsx index cae40bbff3..522c6ba8a7 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/SDXLRefiner/ParamSDXLRefinerModelSelect.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLRefiner/ParamSDXLRefinerModelSelect.tsx @@ -6,7 +6,7 @@ import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; import IAIMantineSearchableSelect from 'common/components/IAIMantineSearchableSelect'; import { MODEL_TYPE_MAP } from 'features/parameters/types/constants'; -import { modelIdToMainModelParam } from 'features/parameters/util/modelIdToMainModelParam'; +import { modelIdToSDXLRefinerModelParam } from 'features/parameters/util/modelIdToSDXLRefinerModelParam'; import { refinerModelChanged } from 'features/sdxl/store/sdxlSlice'; import { useFeatureStatus } from 'features/system/hooks/useFeatureStatus'; import SyncModelsButton from 'features/ui/components/tabs/ModelManager/subpanels/ModelManagerSettingsPanel/SyncModelsButton'; @@ -68,7 +68,7 @@ const ParamSDXLRefinerModelSelect = () => { return; } - const newModel = modelIdToMainModelParam(v); + const newModel = modelIdToSDXLRefinerModelParam(v); if (!newModel) { return; diff --git a/invokeai/frontend/web/src/features/sdxl/store/sdxlSlice.ts b/invokeai/frontend/web/src/features/sdxl/store/sdxlSlice.ts index 7a8ccffa97..7ee3ea1d4f 100644 --- a/invokeai/frontend/web/src/features/sdxl/store/sdxlSlice.ts +++ b/invokeai/frontend/web/src/features/sdxl/store/sdxlSlice.ts @@ -1,11 +1,10 @@ import { PayloadAction, createSlice } from '@reduxjs/toolkit'; import { - MainModelParam, NegativeStylePromptSDXLParam, PositiveStylePromptSDXLParam, + SDXLRefinerModelParam, SchedulerParam, } from 'features/parameters/types/parameterSchemas'; -import { MainModelField } from 'services/api/types'; type SDXLInitialState = { positiveStylePrompt: PositiveStylePromptSDXLParam; @@ -13,7 +12,7 @@ type SDXLInitialState = { shouldConcatSDXLStylePrompt: boolean; shouldUseSDXLRefiner: boolean; sdxlImg2ImgDenoisingStrength: number; - refinerModel: MainModelField | null; + refinerModel: SDXLRefinerModelParam | null; refinerSteps: number; refinerCFGScale: number; refinerScheduler: SchedulerParam; @@ -56,7 +55,7 @@ const sdxlSlice = createSlice({ }, refinerModelChanged: ( state, - action: PayloadAction + action: PayloadAction ) => { state.refinerModel = action.payload; }, diff --git a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelList.tsx b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelList.tsx index a9810a75ab..3f100d9072 100644 --- a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelList.tsx +++ b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelList.tsx @@ -97,6 +97,13 @@ const ModelList = (props: ModelListProps) => { > {t('modelManager.diffusersModels')} + setModelFormatFilter('checkpoint')} + isChecked={modelFormatFilter === 'checkpoint'} + > + {t('modelManager.checkpointModels')} + setModelFormatFilter('onnx')} diff --git a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelListItem.tsx b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelListItem.tsx index 9380eed688..396ece2063 100644 --- a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelListItem.tsx +++ b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelListItem.tsx @@ -15,10 +15,11 @@ import { LoRAModelConfigEntity, useDeleteMainModelsMutation, useDeleteLoRAModelsMutation, + OnnxModelConfigEntity, } from 'services/api/endpoints/models'; type ModelListItemProps = { - model: MainModelConfigEntity | LoRAModelConfigEntity; + model: MainModelConfigEntity | OnnxModelConfigEntity | LoRAModelConfigEntity; isSelected: boolean; setSelectedModelId: (v: string | undefined) => void; }; @@ -37,9 +38,12 @@ export default function ModelListItem(props: ModelListItemProps) { }, [model.id, setSelectedModelId]); const handleModelDelete = useCallback(() => { - const method = { main: deleteMainModel, lora: deleteLoRAModel }[ - model.model_type - ]; + const method = { + main: deleteMainModel, + lora: deleteLoRAModel, + onnx: deleteMainModel, + }[model.model_type]; + method(model) .unwrap() .then((_) => { diff --git a/invokeai/frontend/web/src/services/api/schema.d.ts b/invokeai/frontend/web/src/services/api/schema.d.ts index 34e0bc70e5..80f0933f37 100644 --- a/invokeai/frontend/web/src/services/api/schema.d.ts +++ b/invokeai/frontend/web/src/services/api/schema.d.ts @@ -1381,7 +1381,7 @@ export type components = { * @description The nodes in this graph */ nodes?: { - [key: string]: (components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined; + [key: string]: (components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined; }; /** * Edges @@ -1424,7 +1424,7 @@ export type components = { * @description The results of node executions */ results: { - [key: string]: (components["schemas"]["ImageOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["LoraLoaderOutput"] | components["schemas"]["VaeLoaderOutput"] | components["schemas"]["MetadataAccumulatorOutput"] | components["schemas"]["PromptOutput"] | components["schemas"]["PromptCollectionOutput"] | components["schemas"]["IntOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["CompelOutput"] | components["schemas"]["ClipSkipInvocationOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["IntCollectionOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["ONNXModelLoaderOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["GraphInvocationOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["CollectInvocationOutput"]) | undefined; + [key: string]: (components["schemas"]["ImageOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["LoraLoaderOutput"] | components["schemas"]["VaeLoaderOutput"] | components["schemas"]["MetadataAccumulatorOutput"] | components["schemas"]["CompelOutput"] | components["schemas"]["ClipSkipInvocationOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["ONNXModelLoaderOutput"] | components["schemas"]["PromptOutput"] | components["schemas"]["PromptCollectionOutput"] | components["schemas"]["IntOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["IntCollectionOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["GraphInvocationOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["CollectInvocationOutput"]) | undefined; }; /** * Errors @@ -2562,10 +2562,10 @@ export type components = { /** * Infill Method * @description The method used to infill empty regions (px) - * @default tile + * @default patchmatch * @enum {string} */ - infill_method?: "tile" | "solid"; + infill_method?: "patchmatch" | "tile" | "solid"; /** * Inpaint Width * @description The width of the inpaint region (px) @@ -5892,11 +5892,11 @@ export type components = { image?: components["schemas"]["ImageField"]; }; /** - * StableDiffusionOnnxModelFormat + * ControlNetModelFormat * @description An enumeration. * @enum {string} */ - StableDiffusionOnnxModelFormat: "olive" | "onnx"; + ControlNetModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusionXLModelFormat * @description An enumeration. @@ -5904,11 +5904,11 @@ export type components = { */ StableDiffusionXLModelFormat: "checkpoint" | "diffusers"; /** - * ControlNetModelFormat + * StableDiffusionOnnxModelFormat * @description An enumeration. * @enum {string} */ - ControlNetModelFormat: "checkpoint" | "diffusers"; + StableDiffusionOnnxModelFormat: "olive" | "onnx"; /** * StableDiffusion2ModelFormat * @description An enumeration. @@ -6031,7 +6031,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; }; }; responses: { @@ -6068,7 +6068,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; }; }; responses: { diff --git a/invokeai/frontend/web/src/services/api/types.d.ts b/invokeai/frontend/web/src/services/api/types.d.ts index 14705c9525..2ee508fe48 100644 --- a/invokeai/frontend/web/src/services/api/types.d.ts +++ b/invokeai/frontend/web/src/services/api/types.d.ts @@ -59,9 +59,9 @@ export type DiffusersModelConfig = export type CheckpointModelConfig = | components['schemas']['StableDiffusion1ModelCheckpointConfig'] | components['schemas']['StableDiffusion2ModelCheckpointConfig'] - | components['schemas']['StableDiffusion2ModelDiffusersConfig']; -export type OnnxModelConfig = components['schemas']['ONNXStableDiffusion1ModelConfig'] | components['schemas']['StableDiffusionXLModelCheckpointConfig']; +export type OnnxModelConfig = + components['schemas']['ONNXStableDiffusion1ModelConfig']; export type MainModelConfig = DiffusersModelConfig | CheckpointModelConfig; export type AnyModelConfig = | LoRAModelConfig @@ -116,6 +116,9 @@ export type NoiseInvocation = TypeReq; export type TextToLatentsInvocation = TypeReq< components['schemas']['TextToLatentsInvocation'] >; +export type ONNXTextToLatentsInvocation = TypeReq< + components['schemas']['ONNXTextToLatentsInvocation'] +>; export type LatentsToLatentsInvocation = TypeReq< components['schemas']['LatentsToLatentsInvocation'] >; From 41d6a38690f6c93d481183787f001211313c705a Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue, 1 Aug 2023 21:29:16 +1000 Subject: [PATCH 017/287] Update lint-frontend.yml The action should run on every PR. We can make this more efficient in the future. --- .github/workflows/lint-frontend.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/lint-frontend.yml b/.github/workflows/lint-frontend.yml index 1403396359..de1e8866b2 100644 --- a/.github/workflows/lint-frontend.yml +++ b/.github/workflows/lint-frontend.yml @@ -2,8 +2,6 @@ name: Lint frontend on: pull_request: - paths: - - 'invokeai/frontend/web/**' types: - 'ready_for_review' - 'opened' @@ -11,8 +9,6 @@ on: push: branches: - 'main' - paths: - - 'invokeai/frontend/web/**' merge_group: workflow_dispatch: From ce687b28efd829c2e4ce66da657ae20dd5509645 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Mon, 31 Jul 2023 12:51:30 +1200 Subject: [PATCH 018/287] fix: Model Manager Tab Issues --- .../subpanels/ModelManagerPanel/ModelList.tsx | 131 +++++++++++++----- 1 file changed, 98 insertions(+), 33 deletions(-) diff --git a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelList.tsx b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelList.tsx index 3f100d9072..f29b9c1086 100644 --- a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelList.tsx +++ b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelList.tsx @@ -1,4 +1,4 @@ -import { ButtonGroup, Flex, Text } from '@chakra-ui/react'; +import { ButtonGroup, Flex, Spinner, Text } from '@chakra-ui/react'; import { EntityState } from '@reduxjs/toolkit'; import IAIButton from 'common/components/IAIButton'; import IAIInput from 'common/components/IAIInput'; @@ -6,23 +6,23 @@ import { forEach } from 'lodash-es'; import type { ChangeEvent, PropsWithChildren } from 'react'; import { useCallback, useState } from 'react'; import { useTranslation } from 'react-i18next'; +import { ALL_BASE_MODELS } from 'services/api/constants'; import { + LoRAModelConfigEntity, MainModelConfigEntity, OnnxModelConfigEntity, + useGetLoRAModelsQuery, useGetMainModelsQuery, useGetOnnxModelsQuery, - useGetLoRAModelsQuery, - LoRAModelConfigEntity, } from 'services/api/endpoints/models'; import ModelListItem from './ModelListItem'; -import { ALL_BASE_MODELS } from 'services/api/constants'; type ModelListProps = { selectedModelId: string | undefined; setSelectedModelId: (name: string | undefined) => void; }; -type ModelFormat = 'images' | 'checkpoint' | 'diffusers' | 'olive' | 'onnx'; +type ModelFormat = 'all' | 'checkpoint' | 'diffusers' | 'olive' | 'onnx'; type ModelType = 'main' | 'lora' | 'onnx'; @@ -33,35 +33,43 @@ const ModelList = (props: ModelListProps) => { const { t } = useTranslation(); const [nameFilter, setNameFilter] = useState(''); const [modelFormatFilter, setModelFormatFilter] = - useState('images'); + useState('all'); - const { filteredDiffusersModels } = useGetMainModelsQuery(ALL_BASE_MODELS, { - selectFromResult: ({ data }) => ({ - filteredDiffusersModels: modelsFilter( - data, - 'main', - 'diffusers', - nameFilter - ), - }), - }); + const { filteredDiffusersModels, isDiffusersModelLoading } = + useGetMainModelsQuery(ALL_BASE_MODELS, { + selectFromResult: ({ data, isLoading }) => ({ + filteredDiffusersModels: modelsFilter( + data, + 'main', + 'diffusers', + nameFilter + ), + isDiffusersModelLoading: isLoading, + }), + }); - const { filteredCheckpointModels } = useGetMainModelsQuery(ALL_BASE_MODELS, { - selectFromResult: ({ data }) => ({ - filteredCheckpointModels: modelsFilter( - data, - 'main', - 'checkpoint', - nameFilter - ), - }), - }); + const { filteredCheckpointModels, isCheckpointModelLoading } = + useGetMainModelsQuery(ALL_BASE_MODELS, { + selectFromResult: ({ data, isLoading }) => ({ + filteredCheckpointModels: modelsFilter( + data, + 'main', + 'checkpoint', + nameFilter + ), + isCheckpointModelLoading: isLoading, + }), + }); - const { filteredLoraModels } = useGetLoRAModelsQuery(undefined, { - selectFromResult: ({ data }) => ({ - filteredLoraModels: modelsFilter(data, 'lora', undefined, nameFilter), - }), - }); + const { filteredLoraModels, isLoadingLoraModels } = useGetLoRAModelsQuery( + undefined, + { + selectFromResult: ({ data, isLoading }) => ({ + filteredLoraModels: modelsFilter(data, 'lora', undefined, nameFilter), + isLoadingLoraModels: isLoading, + }), + } + ); const { filteredOnnxModels } = useGetOnnxModelsQuery(ALL_BASE_MODELS, { selectFromResult: ({ data }) => ({ @@ -79,13 +87,47 @@ const ModelList = (props: ModelListProps) => { setNameFilter(e.target.value); }, []); + const renderModelList = ( + filterArray: Partial[], + isLoading: boolean, + loadingMessage: string, + title: string, + modelList: MainModelConfigEntity[] | LoRAModelConfigEntity[] + ) => { + if (!filterArray.includes(modelFormatFilter)) return; + + if (isLoading) { + return ; + } + + if (modelList.length === 0) return; + + return ( + + + + {title} + + {modelList.map((model) => ( + + ))} + + + ); + }; + return ( setModelFormatFilter('images')} - isChecked={modelFormatFilter === 'images'} + onClick={() => setModelFormatFilter('all')} + isChecked={modelFormatFilter === 'all'} size="sm" > {t('modelManager.allModels')} @@ -287,3 +329,26 @@ const StyledModelContainer = (props: PropsWithChildren) => { ); }; + +const FetchingModelsLoader = ({ + loadingMessage, +}: { + loadingMessage?: string; +}) => { + return ( + + + + + {loadingMessage ? loadingMessage : 'Fetching...'} + + + + ); +}; From f40466983150669b9767a1d9b87c70dbb669fea0 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Mon, 31 Jul 2023 15:02:12 +1200 Subject: [PATCH 019/287] fix: Rename loading vars for consistency --- .../subpanels/ModelManagerPanel/ModelList.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelList.tsx b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelList.tsx index f29b9c1086..7a67a6b1ef 100644 --- a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelList.tsx +++ b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelList.tsx @@ -35,7 +35,7 @@ const ModelList = (props: ModelListProps) => { const [modelFormatFilter, setModelFormatFilter] = useState('all'); - const { filteredDiffusersModels, isDiffusersModelLoading } = + const { filteredDiffusersModels, isLoadingDiffusersModels } = useGetMainModelsQuery(ALL_BASE_MODELS, { selectFromResult: ({ data, isLoading }) => ({ filteredDiffusersModels: modelsFilter( @@ -44,11 +44,11 @@ const ModelList = (props: ModelListProps) => { 'diffusers', nameFilter ), - isDiffusersModelLoading: isLoading, + isLoadingDiffusersModels: isLoading, }), }); - const { filteredCheckpointModels, isCheckpointModelLoading } = + const { filteredCheckpointModels, isLoadingCheckpointModels } = useGetMainModelsQuery(ALL_BASE_MODELS, { selectFromResult: ({ data, isLoading }) => ({ filteredCheckpointModels: modelsFilter( @@ -57,7 +57,7 @@ const ModelList = (props: ModelListProps) => { 'checkpoint', nameFilter ), - isCheckpointModelLoading: isLoading, + isLoadingCheckpointModels: isLoading, }), }); From dcc274a2b9f5a52f4cd6e0a23fff009fefa96e11 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Mon, 31 Jul 2023 23:09:00 +1200 Subject: [PATCH 020/287] feat: Make ModelListWrapper instead of rendering conditionally --- .../subpanels/ModelManagerPanel/ModelList.tsx | 249 ++++++++---------- .../web/src/services/api/endpoints/models.ts | 9 +- 2 files changed, 123 insertions(+), 135 deletions(-) diff --git a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelList.tsx b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelList.tsx index 7a67a6b1ef..44626c04c3 100644 --- a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelList.tsx +++ b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelList.tsx @@ -71,56 +71,30 @@ const ModelList = (props: ModelListProps) => { } ); - const { filteredOnnxModels } = useGetOnnxModelsQuery(ALL_BASE_MODELS, { - selectFromResult: ({ data }) => ({ - filteredOnnxModels: modelsFilter(data, 'onnx', 'onnx', nameFilter), - }), - }); + const { filteredOnnxModels, isLoadingOnnxModels } = useGetOnnxModelsQuery( + ALL_BASE_MODELS, + { + selectFromResult: ({ data, isLoading }) => ({ + filteredOnnxModels: modelsFilter(data, 'onnx', 'onnx', nameFilter), + isLoadingOnnxModels: isLoading, + }), + } + ); - const { filteredOliveModels } = useGetOnnxModelsQuery(ALL_BASE_MODELS, { - selectFromResult: ({ data }) => ({ - filteredOliveModels: modelsFilter(data, 'onnx', 'olive', nameFilter), - }), - }); + const { filteredOliveModels, isLoadingOliveModels } = useGetOnnxModelsQuery( + ALL_BASE_MODELS, + { + selectFromResult: ({ data, isLoading }) => ({ + filteredOliveModels: modelsFilter(data, 'onnx', 'olive', nameFilter), + isLoadingOliveModels: isLoading, + }), + } + ); const handleSearchFilter = useCallback((e: ChangeEvent) => { setNameFilter(e.target.value); }, []); - const renderModelList = ( - filterArray: Partial[], - isLoading: boolean, - loadingMessage: string, - title: string, - modelList: MainModelConfigEntity[] | LoRAModelConfigEntity[] - ) => { - if (!filterArray.includes(modelFormatFilter)) return; - - if (isLoading) { - return ; - } - - if (modelList.length === 0) return; - - return ( - - - - {title} - - {modelList.map((model) => ( - - ))} - - - ); - }; - return ( @@ -181,95 +155,76 @@ const ModelList = (props: ModelListProps) => { maxHeight={window.innerHeight - 280} overflow="scroll" > - {['images', 'diffusers'].includes(modelFormatFilter) && + {/* Diffusers List */} + {isLoadingDiffusersModels && ( + + )} + {['all', 'diffusers'].includes(modelFormatFilter) && + !isLoadingDiffusersModels && filteredDiffusersModels.length > 0 && ( - - - - Diffusers - - {filteredDiffusersModels.map((model) => ( - - ))} - - + )} - {['images', 'checkpoint'].includes(modelFormatFilter) && + {/* Checkpoints List */} + {isLoadingCheckpointModels && ( + + )} + {['all', 'checkpoint'].includes(modelFormatFilter) && + !isLoadingCheckpointModels && filteredCheckpointModels.length > 0 && ( - - - - Checkpoints - - {filteredCheckpointModels.map((model) => ( - - ))} - - + )} - {['images', 'olive'].includes(modelFormatFilter) && - filteredOliveModels.length > 0 && ( - - - - Olives - - {filteredOliveModels.map((model) => ( - - ))} - - - )} - {['images', 'onnx'].includes(modelFormatFilter) && - filteredOnnxModels.length > 0 && ( - - - - Onnx - - {filteredOnnxModels.map((model) => ( - - ))} - - - )} - {['images', 'lora'].includes(modelFormatFilter) && + + {/* LoRAs List */} + {isLoadingLoraModels && ( + + )} + {['all', 'lora'].includes(modelFormatFilter) && + !isLoadingLoraModels && filteredLoraModels.length > 0 && ( - - - - LoRAs - - {filteredLoraModels.map((model) => ( - - ))} - - + + )} + {/* Olive List */} + {isLoadingOliveModels && ( + + )} + {['all', 'olive'].includes(modelFormatFilter) && + !isLoadingOliveModels && + filteredOliveModels.length > 0 && ( + + )} + {/* Onnx List */} + {isLoadingOnnxModels && ( + + )} + {['all', 'onnx'].includes(modelFormatFilter) && + !isLoadingOnnxModels && + filteredOnnxModels.length > 0 && ( + )} @@ -330,11 +285,37 @@ const StyledModelContainer = (props: PropsWithChildren) => { ); }; -const FetchingModelsLoader = ({ - loadingMessage, -}: { - loadingMessage?: string; -}) => { +type ModelListWrapperProps = { + title: string; + modelList: + | MainModelConfigEntity[] + | LoRAModelConfigEntity[] + | OnnxModelConfigEntity[]; + selected: ModelListProps; +}; + +function ModelListWrapper(props: ModelListWrapperProps) { + const { title, modelList, selected } = props; + return ( + + + + {title} + + {modelList.map((model) => ( + + ))} + + + ); +} + +function FetchingModelsLoader({ loadingMessage }: { loadingMessage?: string }) { return ( ); -}; +} diff --git a/invokeai/frontend/web/src/services/api/endpoints/models.ts b/invokeai/frontend/web/src/services/api/endpoints/models.ts index e994d3fd3a..a7b1323f36 100644 --- a/invokeai/frontend/web/src/services/api/endpoints/models.ts +++ b/invokeai/frontend/web/src/services/api/endpoints/models.ts @@ -181,7 +181,7 @@ export const modelsApi = api.injectEndpoints({ }, providesTags: (result, error, arg) => { const tags: ApiFullTagDescription[] = [ - { id: 'OnnxModel', type: LIST_TAG }, + { type: 'OnnxModel', id: LIST_TAG }, ]; if (result) { @@ -266,6 +266,7 @@ export const modelsApi = api.injectEndpoints({ invalidatesTags: [ { type: 'MainModel', id: LIST_TAG }, { type: 'SDXLRefinerModel', id: LIST_TAG }, + { type: 'OnnxModel', id: LIST_TAG }, ], }), importMainModels: build.mutation< @@ -282,6 +283,7 @@ export const modelsApi = api.injectEndpoints({ invalidatesTags: [ { type: 'MainModel', id: LIST_TAG }, { type: 'SDXLRefinerModel', id: LIST_TAG }, + { type: 'OnnxModel', id: LIST_TAG }, ], }), addMainModels: build.mutation({ @@ -295,6 +297,7 @@ export const modelsApi = api.injectEndpoints({ invalidatesTags: [ { type: 'MainModel', id: LIST_TAG }, { type: 'SDXLRefinerModel', id: LIST_TAG }, + { type: 'OnnxModel', id: LIST_TAG }, ], }), deleteMainModels: build.mutation< @@ -310,6 +313,7 @@ export const modelsApi = api.injectEndpoints({ invalidatesTags: [ { type: 'MainModel', id: LIST_TAG }, { type: 'SDXLRefinerModel', id: LIST_TAG }, + { type: 'OnnxModel', id: LIST_TAG }, ], }), convertMainModels: build.mutation< @@ -326,6 +330,7 @@ export const modelsApi = api.injectEndpoints({ invalidatesTags: [ { type: 'MainModel', id: LIST_TAG }, { type: 'SDXLRefinerModel', id: LIST_TAG }, + { type: 'OnnxModel', id: LIST_TAG }, ], }), mergeMainModels: build.mutation({ @@ -339,6 +344,7 @@ export const modelsApi = api.injectEndpoints({ invalidatesTags: [ { type: 'MainModel', id: LIST_TAG }, { type: 'SDXLRefinerModel', id: LIST_TAG }, + { type: 'OnnxModel', id: LIST_TAG }, ], }), syncModels: build.mutation({ @@ -351,6 +357,7 @@ export const modelsApi = api.injectEndpoints({ invalidatesTags: [ { type: 'MainModel', id: LIST_TAG }, { type: 'SDXLRefinerModel', id: LIST_TAG }, + { type: 'OnnxModel', id: LIST_TAG }, ], }), getLoRAModels: build.query, void>({ From 403a6e88f204a1ebdede0971bbde0b845028a8ed Mon Sep 17 00:00:00 2001 From: Alexandre Macabies Date: Tue, 1 Aug 2023 15:22:59 +0200 Subject: [PATCH 021/287] fix: flake: add opencv with CUDA, new patchmatch dependency. --- flake.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/flake.nix b/flake.nix index 1f35c02c6e..3ccc665812 100644 --- a/flake.nix +++ b/flake.nix @@ -34,6 +34,10 @@ cudaPackages.cudnn cudaPackages.cuda_nvrtc cudatoolkit + pkgconfig + libconfig + cmake + blas freeglut glib gperf @@ -42,6 +46,12 @@ libGLU linuxPackages.nvidia_x11 python + (opencv4.override { + enableGtk3 = true; + enableFfmpeg = true; + enableCuda = true; + enableUnfree = true; + }) stdenv.cc stdenv.cc.cc.lib xorg.libX11 From fd7b84241988a57d7b9dae24798cc0bb475dd92c Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Tue, 1 Aug 2023 17:44:09 -0400 Subject: [PATCH 022/287] add execution stat reporting after each invocation --- invokeai/app/services/invocation_stats.py | 115 ++++++++++++++++++++++ invokeai/app/services/processor.py | 43 ++++---- 2 files changed, 139 insertions(+), 19 deletions(-) create mode 100644 invokeai/app/services/invocation_stats.py diff --git a/invokeai/app/services/invocation_stats.py b/invokeai/app/services/invocation_stats.py new file mode 100644 index 0000000000..8d41b60d49 --- /dev/null +++ b/invokeai/app/services/invocation_stats.py @@ -0,0 +1,115 @@ +# Copyright 2023 Lincoln D. Stein +"""Utility to collect execution time and GPU usage stats on invocations in flight""" + +""" +Usage: +statistics = InvocationStats() # keep track of performance metrics +... +with statistics.collect_stats(invocation, graph_execution_state): + outputs = invocation.invoke( + InvocationContext( + services=self.__invoker.services, + graph_execution_state_id=graph_execution_state.id, + ) + ) +... +statistics.log_stats() + +Typical output: +[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> Node Calls Seconds +[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> main_model_loader 1 0.006s +[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> clip_skip 1 0.005s +[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> compel 2 0.351s +[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> rand_int 1 0.001s +[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> range_of_size 1 0.001s +[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> iterate 1 0.001s +[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> metadata_accumulator 1 0.002s +[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> noise 1 0.002s +[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> t2l 1 3.117s +[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> l2i 1 0.377s +[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> TOTAL: 3.865s +[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> Max VRAM used for execution: 3.12G. +[2023-08-01 17:34:44,586]::[InvokeAI]::INFO --> Current VRAM utilization 2.31G. +""" + +import time +from typing import Dict, List + +import torch + +from .graph import GraphExecutionState +from .invocation_queue import InvocationQueueItem +from ..invocations.baseinvocation import BaseInvocation + +import invokeai.backend.util.logging as logger + +class InvocationStats(): + """Accumulate performance information about a running graph. Collects time spent in each node, + as well as the maximum and current VRAM utilisation for CUDA systems""" + + def __init__(self): + self._stats: Dict[str, int] = {} + + class StatsContext(): + def __init__(self, invocation: BaseInvocation, collector): + self.invocation = invocation + self.collector = collector + self.start_time = 0 + + def __enter__(self): + self.start_time = time.time() + + def __exit__(self, *args): + self.collector.log_time(self.invocation.type, time.time() - self.start_time) + + def collect_stats(self, + invocation: BaseInvocation, + graph_execution_state: GraphExecutionState, + ) -> StatsContext: + """ + Return a context object that will capture the statistics. + :param invocation: BaseInvocation object from the current graph. + :param graph_execution_state: GraphExecutionState object from the current session. + """ + if len(graph_execution_state.executed)==0: # new graph is starting + self.reset_stats() + self._current_graph_state = graph_execution_state + sc = self.StatsContext(invocation, self) + return self.StatsContext(invocation, self) + + def reset_stats(self): + """Zero the statistics. Ordinarily called internally.""" + if torch.cuda.is_available(): + torch.cuda.reset_peak_memory_stats() + self._stats: Dict[str, List[int, float]] = {} + + + def log_time(self, invocation_type: str, time_used: float): + """ + Add timing information on execution of a node. Usually + used internally. + :param invocation_type: String literal type of the node + :param time_used: Floating point seconds used by node's exection + """ + if not self._stats.get(invocation_type): + self._stats[invocation_type] = [0, 0.0] + self._stats[invocation_type][0] += 1 + self._stats[invocation_type][1] += time_used + + def log_stats(self): + """ + Send the statistics to the system logger at the info level. + Stats will only be printed if when the execution of the graph + is complete. + """ + if self._current_graph_state.is_complete(): + logger.info('Node Calls Seconds') + for node_type, (calls, time_used) in self._stats.items(): + logger.info(f'{node_type:<20} {calls:>5} {time_used:4.3f}s') + + total_time = sum([ticks for _,ticks in self._stats.values()]) + logger.info(f'TOTAL: {total_time:4.3f}s') + if torch.cuda.is_available(): + logger.info('Max VRAM used for execution: '+'%4.2fG' % (torch.cuda.max_memory_allocated() / 1e9)) + logger.info('Current VRAM utilization '+'%4.2fG' % (torch.cuda.memory_allocated() / 1e9)) + diff --git a/invokeai/app/services/processor.py b/invokeai/app/services/processor.py index 50fe217e05..a43e2878ac 100644 --- a/invokeai/app/services/processor.py +++ b/invokeai/app/services/processor.py @@ -5,6 +5,7 @@ from threading import Event, Thread, BoundedSemaphore from ..invocations.baseinvocation import InvocationContext from .invocation_queue import InvocationQueueItem from .invoker import InvocationProcessorABC, Invoker +from .invocation_stats import InvocationStats from ..models.exceptions import CanceledException import invokeai.backend.util.logging as logger @@ -35,6 +36,7 @@ class DefaultInvocationProcessor(InvocationProcessorABC): def __process(self, stop_event: Event): try: self.__threadLimit.acquire() + statistics = InvocationStats() # keep track of performance metrics while not stop_event.is_set(): try: queue_item: InvocationQueueItem = self.__invoker.services.queue.get() @@ -83,30 +85,32 @@ class DefaultInvocationProcessor(InvocationProcessorABC): # Invoke try: - outputs = invocation.invoke( - InvocationContext( - services=self.__invoker.services, - graph_execution_state_id=graph_execution_state.id, + with statistics.collect_stats(invocation, graph_execution_state): + outputs = invocation.invoke( + InvocationContext( + services=self.__invoker.services, + graph_execution_state_id=graph_execution_state.id, + ) ) - ) - # Check queue to see if this is canceled, and skip if so - if self.__invoker.services.queue.is_canceled(graph_execution_state.id): - continue + # Check queue to see if this is canceled, and skip if so + if self.__invoker.services.queue.is_canceled(graph_execution_state.id): + continue - # Save outputs and history - graph_execution_state.complete(invocation.id, outputs) + # Save outputs and history + graph_execution_state.complete(invocation.id, outputs) - # Save the state changes - self.__invoker.services.graph_execution_manager.set(graph_execution_state) + # Save the state changes + self.__invoker.services.graph_execution_manager.set(graph_execution_state) - # Send complete event - self.__invoker.services.events.emit_invocation_complete( - graph_execution_state_id=graph_execution_state.id, - node=invocation.dict(), - source_node_id=source_node_id, - result=outputs.dict(), - ) + # Send complete event + self.__invoker.services.events.emit_invocation_complete( + graph_execution_state_id=graph_execution_state.id, + node=invocation.dict(), + source_node_id=source_node_id, + result=outputs.dict(), + ) + statistics.log_stats() except KeyboardInterrupt: pass @@ -161,3 +165,4 @@ class DefaultInvocationProcessor(InvocationProcessorABC): pass # Log something? KeyboardInterrupt is probably not going to be seen by the processor finally: self.__threadLimit.release() + From 11a44b944d942b85d493c7e90f3837ee736d894f Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Tue, 1 Aug 2023 01:29:29 -0400 Subject: [PATCH 023/287] fix installation documentation --- README.md | 13 ++++--------- docs/installation/020_INSTALL_MANUAL.md | 16 +++++++++------- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 3ca1ca1f26..2efaacd031 100644 --- a/README.md +++ b/README.md @@ -184,8 +184,9 @@ the command `npm install -g yarn` if needed) 6. Configure InvokeAI and install a starting set of image generation models (you only need to do this once): ```terminal - invokeai-configure + invokeai-configure --root . ``` + Don't miss the dot at the end! 7. Launch the web server (do it every time you run InvokeAI): @@ -193,15 +194,9 @@ the command `npm install -g yarn` if needed) invokeai-web ``` -8. Build Node.js assets +8. Point your browser to http://localhost:9090 to bring up the web interface. - ```terminal - cd invokeai/frontend/web/ - yarn vite build - ``` - -9. Point your browser to http://localhost:9090 to bring up the web interface. -10. Type `banana sushi` in the box on the top left and click `Invoke`. +9. Type `banana sushi` in the box on the top left and click `Invoke`. Be sure to activate the virtual environment each time before re-launching InvokeAI, using `source .venv/bin/activate` or `.venv\Scripts\activate`. diff --git a/docs/installation/020_INSTALL_MANUAL.md b/docs/installation/020_INSTALL_MANUAL.md index c0fb4c046f..84f19da9bf 100644 --- a/docs/installation/020_INSTALL_MANUAL.md +++ b/docs/installation/020_INSTALL_MANUAL.md @@ -192,8 +192,10 @@ manager, please follow these steps: your outputs. ```terminal - invokeai-configure + invokeai-configure --root . ``` + + Don't miss the dot at the end of the command! The script `invokeai-configure` will interactively guide you through the process of downloading and installing the weights files needed for InvokeAI. @@ -225,12 +227,6 @@ manager, please follow these steps: !!! warning "Make sure that the virtual environment is activated, which should create `(.venv)` in front of your prompt!" - === "CLI" - - ```bash - invokeai - ``` - === "local Webserver" ```bash @@ -243,6 +239,12 @@ manager, please follow these steps: invokeai --web --host 0.0.0.0 ``` + === "CLI" + + ```bash + invokeai + ``` + If you choose the run the web interface, point your browser at http://localhost:9090 in order to load the GUI. From 242d860a472e92d132869f7d8951f43d1298df94 Mon Sep 17 00:00:00 2001 From: Zerdoumi <3418725+sohelzerdoumi@users.noreply.github.com> Date: Tue, 1 Aug 2023 15:57:13 +0200 Subject: [PATCH 024/287] fix https/wss behind reverse proxy --- invokeai/frontend/web/src/services/events/middleware.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/web/src/services/events/middleware.ts b/invokeai/frontend/web/src/services/events/middleware.ts index 0c3b275274..75f2d48de8 100644 --- a/invokeai/frontend/web/src/services/events/middleware.ts +++ b/invokeai/frontend/web/src/services/events/middleware.ts @@ -12,8 +12,9 @@ import { socketSubscribed, socketUnsubscribed } from './actions'; export const socketMiddleware = () => { let areListenersSet = false; - - let socketUrl = `ws://${window.location.host}`; + + let wsProtocol = window.location.protocol === 'https:' ? 'wss' : 'ws'; + let socketUrl = `${wsProtocol}://${window.location.host}`; const socketOptions: Parameters[0] = { timeout: 60000, From 4599575e65db2081886b6782f961ddf68359aecb Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed, 2 Aug 2023 00:08:34 +1000 Subject: [PATCH 025/287] fix(ui): use `const` for `wsProtocol`, lint --- invokeai/frontend/web/src/services/events/middleware.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/web/src/services/events/middleware.ts b/invokeai/frontend/web/src/services/events/middleware.ts index 75f2d48de8..56992be672 100644 --- a/invokeai/frontend/web/src/services/events/middleware.ts +++ b/invokeai/frontend/web/src/services/events/middleware.ts @@ -12,8 +12,8 @@ import { socketSubscribed, socketUnsubscribed } from './actions'; export const socketMiddleware = () => { let areListenersSet = false; - - let wsProtocol = window.location.protocol === 'https:' ? 'wss' : 'ws'; + + const wsProtocol = window.location.protocol === 'https:' ? 'wss' : 'ws'; let socketUrl = `${wsProtocol}://${window.location.host}`; const socketOptions: Parameters[0] = { From 8a4e5f73aa6e914494885438a560a7d6694b6ce2 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Tue, 1 Aug 2023 19:39:42 -0400 Subject: [PATCH 026/287] reset stats on exception --- invokeai/app/services/invocation_stats.py | 38 +++++++++++------------ invokeai/app/services/processor.py | 4 +-- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/invokeai/app/services/invocation_stats.py b/invokeai/app/services/invocation_stats.py index 8d41b60d49..24a5662647 100644 --- a/invokeai/app/services/invocation_stats.py +++ b/invokeai/app/services/invocation_stats.py @@ -43,14 +43,15 @@ from ..invocations.baseinvocation import BaseInvocation import invokeai.backend.util.logging as logger -class InvocationStats(): + +class InvocationStats: """Accumulate performance information about a running graph. Collects time spent in each node, as well as the maximum and current VRAM utilisation for CUDA systems""" def __init__(self): self._stats: Dict[str, int] = {} - - class StatsContext(): + + class StatsContext: def __init__(self, invocation: BaseInvocation, collector): self.invocation = invocation self.collector = collector @@ -61,17 +62,18 @@ class InvocationStats(): def __exit__(self, *args): self.collector.log_time(self.invocation.type, time.time() - self.start_time) - - def collect_stats(self, - invocation: BaseInvocation, - graph_execution_state: GraphExecutionState, - ) -> StatsContext: + + def collect_stats( + self, + invocation: BaseInvocation, + graph_execution_state: GraphExecutionState, + ) -> StatsContext: """ Return a context object that will capture the statistics. :param invocation: BaseInvocation object from the current graph. :param graph_execution_state: GraphExecutionState object from the current session. """ - if len(graph_execution_state.executed)==0: # new graph is starting + if len(graph_execution_state.executed) == 0: # new graph is starting self.reset_stats() self._current_graph_state = graph_execution_state sc = self.StatsContext(invocation, self) @@ -83,7 +85,6 @@ class InvocationStats(): torch.cuda.reset_peak_memory_stats() self._stats: Dict[str, List[int, float]] = {} - def log_time(self, invocation_type: str, time_used: float): """ Add timing information on execution of a node. Usually @@ -95,7 +96,7 @@ class InvocationStats(): self._stats[invocation_type] = [0, 0.0] self._stats[invocation_type][0] += 1 self._stats[invocation_type][1] += time_used - + def log_stats(self): """ Send the statistics to the system logger at the info level. @@ -103,13 +104,12 @@ class InvocationStats(): is complete. """ if self._current_graph_state.is_complete(): - logger.info('Node Calls Seconds') + logger.info("Node Calls Seconds") for node_type, (calls, time_used) in self._stats.items(): - logger.info(f'{node_type:<20} {calls:>5} {time_used:4.3f}s') - - total_time = sum([ticks for _,ticks in self._stats.values()]) - logger.info(f'TOTAL: {total_time:4.3f}s') + logger.info(f"{node_type:<20} {calls:>5} {time_used:4.3f}s") + + total_time = sum([ticks for _, ticks in self._stats.values()]) + logger.info(f"TOTAL: {total_time:4.3f}s") if torch.cuda.is_available(): - logger.info('Max VRAM used for execution: '+'%4.2fG' % (torch.cuda.max_memory_allocated() / 1e9)) - logger.info('Current VRAM utilization '+'%4.2fG' % (torch.cuda.memory_allocated() / 1e9)) - + logger.info("Max VRAM used for execution: " + "%4.2fG" % (torch.cuda.max_memory_allocated() / 1e9)) + logger.info("Current VRAM utilization " + "%4.2fG" % (torch.cuda.memory_allocated() / 1e9)) diff --git a/invokeai/app/services/processor.py b/invokeai/app/services/processor.py index a43e2878ac..e9511aa283 100644 --- a/invokeai/app/services/processor.py +++ b/invokeai/app/services/processor.py @@ -116,6 +116,7 @@ class DefaultInvocationProcessor(InvocationProcessorABC): pass except CanceledException: + statistics.reset_stats() pass except Exception as e: @@ -137,7 +138,7 @@ class DefaultInvocationProcessor(InvocationProcessorABC): error_type=e.__class__.__name__, error=error, ) - + statistics.reset_stats() pass # Check queue to see if this is canceled, and skip if so @@ -165,4 +166,3 @@ class DefaultInvocationProcessor(InvocationProcessorABC): pass # Log something? KeyboardInterrupt is probably not going to be seen by the processor finally: self.__threadLimit.release() - From 4d22cafdad0d83523ce43b6f564d07918f4fe02a Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Tue, 1 Aug 2023 22:06:27 -0400 Subject: [PATCH 027/287] Installer should download fp16 models if user has specified 'auto' in config - Closes #4127 --- invokeai/backend/install/model_install_backend.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/invokeai/backend/install/model_install_backend.py b/invokeai/backend/install/model_install_backend.py index c0a7244367..449c234144 100644 --- a/invokeai/backend/install/model_install_backend.py +++ b/invokeai/backend/install/model_install_backend.py @@ -13,6 +13,7 @@ import requests from diffusers import DiffusionPipeline from diffusers import logging as dlogging import onnx +import torch from huggingface_hub import hf_hub_url, HfFolder, HfApi from omegaconf import OmegaConf from tqdm import tqdm @@ -23,6 +24,7 @@ from invokeai.app.services.config import InvokeAIAppConfig from invokeai.backend.model_management import ModelManager, ModelType, BaseModelType, ModelVariantType, AddModelResult from invokeai.backend.model_management.model_probe import ModelProbe, SchedulerPredictionType, ModelProbeInfo from invokeai.backend.util import download_with_resume +from invokeai.backend.util.devices import torch_dtype, choose_torch_device from ..util.logging import InvokeAILogger warnings.filterwarnings("ignore") @@ -416,13 +418,17 @@ class ModelInstall(object): does a save_pretrained() to the indicated staging area. """ _, name = repo_id.split("/") - revisions = ["fp16", "main"] if self.config.precision == "float16" else ["main"] + precision = torch_dtype(choose_torch_device()) + revisions = ["fp16", "main"] if precision == torch.float16 else ["main"] model = None for revision in revisions: try: - model = DiffusionPipeline.from_pretrained(repo_id, revision=revision, safety_checker=None) - except: # most errors are due to fp16 not being present. Fix this to catch other errors - pass + model = DiffusionPipeline.from_pretrained( + repo_id, revision=revision, safety_checker=None, torch_dtype=precision + ) + except Exception as e: # most errors are due to fp16 not being present. Fix this to catch other errors + if "fp16" not in str(e): + print(e) if model: break if not model: From ed76250dbaa7ea27d0a0d06051337cace9f6a23e Mon Sep 17 00:00:00 2001 From: Brandon Rising Date: Wed, 2 Aug 2023 07:21:21 -0400 Subject: [PATCH 028/287] Stop checking for unet/model.onnx when a model_index.json is detected --- invokeai/backend/install/model_install_backend.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/backend/install/model_install_backend.py b/invokeai/backend/install/model_install_backend.py index c0a7244367..ac032d4955 100644 --- a/invokeai/backend/install/model_install_backend.py +++ b/invokeai/backend/install/model_install_backend.py @@ -303,7 +303,7 @@ class ModelInstall(object): with TemporaryDirectory(dir=self.config.models_path) as staging: staging = Path(staging) - if "model_index.json" in files and "unet/model.onnx" not in files: + if "model_index.json" in files: location = self._download_hf_pipeline(repo_id, staging) # pipeline elif "unet/model.onnx" in files: location = self._download_hf_model(repo_id, files, staging) From 77c5c18542569ed261af80efd2d89b1ea9e62ffd Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 2 Aug 2023 09:11:24 -0400 Subject: [PATCH 029/287] add slider for VRAM cache --- .../backend/install/invokeai_configure.py | 38 ++++++++++++++++++- invokeai/frontend/install/widgets.py | 2 +- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/invokeai/backend/install/invokeai_configure.py b/invokeai/backend/install/invokeai_configure.py index 4bf2a484a1..9136604b14 100755 --- a/invokeai/backend/install/invokeai_configure.py +++ b/invokeai/backend/install/invokeai_configure.py @@ -12,10 +12,12 @@ import io import os import shutil import textwrap +import torch import traceback import yaml import warnings from argparse import Namespace +from enum import Enum from pathlib import Path from shutil import get_terminal_size from typing import get_type_hints @@ -49,6 +51,7 @@ from invokeai.frontend.install.widgets import ( CenteredButtonPress, FileBox, IntTitleSlider, + FloatTitleSlider, set_min_terminal_size, CyclingForm, MIN_COLS, @@ -76,6 +79,9 @@ Default_config_file = config.model_conf_path SD_Configs = config.legacy_conf_path PRECISION_CHOICES = ["auto", "float16", "float32"] +HAS_CUDA = torch.cuda.is_available() +_, MAX_VRAM = torch.cuda.mem_get_info() if HAS_CUDA else (0, 0) +MAX_VRAM /= 1073741824 # GB in bytes INIT_FILE_PREAMBLE = """# InvokeAI initialization file # This is the InvokeAI initialization file, which contains command-line default values. @@ -86,6 +92,12 @@ INIT_FILE_PREAMBLE = """# InvokeAI initialization file logger = InvokeAILogger.getLogger() +class DummyWidgetValue(Enum): + zero = 0 + true = True + false = False + + # -------------------------------------------- def postscript(errors: None): if not any(errors): @@ -378,13 +390,36 @@ Use cursor arrows to make a checkbox selection, and space to toggle. ) self.max_cache_size = self.add_widget_intelligent( IntTitleSlider, - name="Size of the RAM cache used for fast model switching (GB)", + name="RAM cache size. The larger this is, the more models can be kept in memory rather than loading from disk each time (GB)", value=old_opts.max_cache_size, out_of=20, lowest=3, begin_entry_at=6, scroll_exit=True, ) + if HAS_CUDA: + self.nextrely += 1 + self.add_widget_intelligent( + npyscreen.TitleFixedText, + name="VRAM cache size. Make this large enough to hold an entire model, but not more than half your available VRAM (GB)", + begin_entry_at=0, + editable=False, + color="CONTROL", + scroll_exit=True, + ) + self.nextrely -= 1 + self.max_vram_cache_size = self.add_widget_intelligent( + npyscreen.Slider, + value=old_opts.max_vram_cache_size, + out_of=round(MAX_VRAM * 2) / 2, + lowest=0.0, + relx=8, + step=0.25, + begin_entry_at=MAX_VRAM * 0.55, + scroll_exit=True, + ) + else: + self.max_vram_cache_size = DummyWidgetValue.zero self.nextrely += 1 self.outdir = self.add_widget_intelligent( FileBox, @@ -476,6 +511,7 @@ https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/blob/main/LICENS "outdir", "free_gpu_mem", "max_cache_size", + "max_vram_cache_size", "xformers_enabled", "always_use_cpu", ]: diff --git a/invokeai/frontend/install/widgets.py b/invokeai/frontend/install/widgets.py index 10da15bf13..c1481035d5 100644 --- a/invokeai/frontend/install/widgets.py +++ b/invokeai/frontend/install/widgets.py @@ -164,7 +164,7 @@ class FloatSlider(npyscreen.Slider): class FloatTitleSlider(npyscreen.TitleText): - _entry_type = FloatSlider + _entry_type = npyscreen.Slider class SelectColumnBase: From 880727436c9e3b5c531bf7034c30bbd30b231579 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 2 Aug 2023 09:43:52 -0400 Subject: [PATCH 030/287] fix default vram cache size calculation --- invokeai/app/services/config.py | 4 ++-- invokeai/backend/install/invokeai_configure.py | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/invokeai/app/services/config.py b/invokeai/app/services/config.py index a9a4a64f75..264a93955c 100644 --- a/invokeai/app/services/config.py +++ b/invokeai/app/services/config.py @@ -173,7 +173,7 @@ from typing import ClassVar, Dict, List, Set, Literal, Union, get_origin, get_ty INIT_FILE = Path("invokeai.yaml") DB_FILE = Path("invokeai.db") LEGACY_INIT_FILE = Path("invokeai.init") - +DEFAULT_MAX_VRAM = 2.75 class InvokeAISettings(BaseSettings): """ @@ -395,7 +395,7 @@ class InvokeAIAppConfig(InvokeAISettings): free_gpu_mem : bool = Field(default=False, description="If true, purge model from GPU after each generation.", category='Memory/Performance') max_loaded_models : int = Field(default=3, gt=0, description="(DEPRECATED: use max_cache_size) Maximum number of models to keep in memory for rapid switching", category='DEPRECATED') max_cache_size : float = Field(default=6.0, gt=0, description="Maximum memory amount used by model cache for rapid switching", category='Memory/Performance') - max_vram_cache_size : float = Field(default=2.75, ge=0, description="Amount of VRAM reserved for model storage", category='Memory/Performance') + max_vram_cache_size : float = Field(default=DEFAULT_MAX_VRAM, ge=0, description="Amount of VRAM reserved for model storage", category='Memory/Performance') gpu_mem_reserved : float = Field(default=2.75, ge=0, description="DEPRECATED: use max_vram_cache_size. Amount of VRAM reserved for model storage", category='DEPRECATED') nsfw_checker : bool = Field(default=True, description="DEPRECATED: use Web settings to enable/disable", category='DEPRECATED') precision : Literal[tuple(['auto','float16','float32','autocast'])] = Field(default='auto',description='Floating point precision', category='Memory/Performance') diff --git a/invokeai/backend/install/invokeai_configure.py b/invokeai/backend/install/invokeai_configure.py index 9136604b14..2e95993d75 100755 --- a/invokeai/backend/install/invokeai_configure.py +++ b/invokeai/backend/install/invokeai_configure.py @@ -82,6 +82,7 @@ PRECISION_CHOICES = ["auto", "float16", "float32"] HAS_CUDA = torch.cuda.is_available() _, MAX_VRAM = torch.cuda.mem_get_info() if HAS_CUDA else (0, 0) MAX_VRAM /= 1073741824 # GB in bytes +MAX_VRAM_CACHE_RATIO = 0.55 # first guess of optimal vram cache based on total available INIT_FILE_PREAMBLE = """# InvokeAI initialization file # This is the InvokeAI initialization file, which contains command-line default values. @@ -568,9 +569,11 @@ def edit_opts(program_opts: Namespace, invokeai_opts: Namespace) -> argparse.Nam def default_startup_options(init_file: Path) -> Namespace: opts = InvokeAIAppConfig.get_config() + # dynamically adust vram for memory size + if not init_file.exists(): + opts.max_vram_cache_size = round((MAX_VRAM * MAX_VRAM_CACHE_RATIO)*4) / 4 return opts - def default_user_selections(program_opts: Namespace) -> InstallSelections: try: installer = ModelInstall(config) @@ -628,7 +631,6 @@ def maybe_create_models_yaml(root: Path): # ------------------------------------- def run_console_ui(program_opts: Namespace, initfile: Path = None) -> (Namespace, Namespace): - # parse_args() will read from init file if present invokeai_opts = default_startup_options(initfile) invokeai_opts.root = program_opts.root @@ -711,7 +713,6 @@ def migrate_init_file(legacy_format: Path): # ------------------------------------- def migrate_models(root: Path): from invokeai.backend.install.migrate_to_3 import do_migrate - do_migrate(root, root) @@ -813,6 +814,7 @@ def main(): models_to_download = default_user_selections(opt) new_init_file = config.root_path / "invokeai.yaml" + if opt.yes_to_all: write_default_options(opt, new_init_file) init_options = Namespace(precision="float32" if opt.full_precision else "float16") From 29ac252501133dde3d2092d8b1e66e79f6de9799 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 2 Aug 2023 09:44:06 -0400 Subject: [PATCH 031/287] blackify --- invokeai/app/services/config.py | 1 + invokeai/backend/install/invokeai_configure.py | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/invokeai/app/services/config.py b/invokeai/app/services/config.py index 264a93955c..1509176478 100644 --- a/invokeai/app/services/config.py +++ b/invokeai/app/services/config.py @@ -175,6 +175,7 @@ DB_FILE = Path("invokeai.db") LEGACY_INIT_FILE = Path("invokeai.init") DEFAULT_MAX_VRAM = 2.75 + class InvokeAISettings(BaseSettings): """ Runtime configuration settings in which default values are diff --git a/invokeai/backend/install/invokeai_configure.py b/invokeai/backend/install/invokeai_configure.py index 2e95993d75..6cf1101b4c 100755 --- a/invokeai/backend/install/invokeai_configure.py +++ b/invokeai/backend/install/invokeai_configure.py @@ -82,7 +82,7 @@ PRECISION_CHOICES = ["auto", "float16", "float32"] HAS_CUDA = torch.cuda.is_available() _, MAX_VRAM = torch.cuda.mem_get_info() if HAS_CUDA else (0, 0) MAX_VRAM /= 1073741824 # GB in bytes -MAX_VRAM_CACHE_RATIO = 0.55 # first guess of optimal vram cache based on total available +MAX_VRAM_CACHE_RATIO = 0.55 # first guess of optimal vram cache based on total available INIT_FILE_PREAMBLE = """# InvokeAI initialization file # This is the InvokeAI initialization file, which contains command-line default values. @@ -571,9 +571,10 @@ def default_startup_options(init_file: Path) -> Namespace: opts = InvokeAIAppConfig.get_config() # dynamically adust vram for memory size if not init_file.exists(): - opts.max_vram_cache_size = round((MAX_VRAM * MAX_VRAM_CACHE_RATIO)*4) / 4 + opts.max_vram_cache_size = round((MAX_VRAM * MAX_VRAM_CACHE_RATIO) * 4) / 4 return opts + def default_user_selections(program_opts: Namespace) -> InstallSelections: try: installer = ModelInstall(config) @@ -713,6 +714,7 @@ def migrate_init_file(legacy_format: Path): # ------------------------------------- def migrate_models(root: Path): from invokeai.backend.install.migrate_to_3 import do_migrate + do_migrate(root, root) From 5de42be4a6bf9a5b2435693e588c529856327257 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 2 Aug 2023 14:27:13 -0400 Subject: [PATCH 032/287] reduce VRAM cache default; take max RAM from system --- invokeai/app/services/config.py | 5 ++--- invokeai/backend/install/invokeai_configure.py | 18 +++++++++--------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/invokeai/app/services/config.py b/invokeai/app/services/config.py index 1509176478..e88523eb8f 100644 --- a/invokeai/app/services/config.py +++ b/invokeai/app/services/config.py @@ -24,7 +24,7 @@ InvokeAI: sequential_guidance: false precision: float16 max_cache_size: 6 - max_vram_cache_size: 2.7 + max_vram_cache_size: 0.5 always_use_cpu: false free_gpu_mem: false Features: @@ -173,8 +173,7 @@ from typing import ClassVar, Dict, List, Set, Literal, Union, get_origin, get_ty INIT_FILE = Path("invokeai.yaml") DB_FILE = Path("invokeai.db") LEGACY_INIT_FILE = Path("invokeai.init") -DEFAULT_MAX_VRAM = 2.75 - +DEFAULT_MAX_VRAM = 0.5 class InvokeAISettings(BaseSettings): """ diff --git a/invokeai/backend/install/invokeai_configure.py b/invokeai/backend/install/invokeai_configure.py index 6cf1101b4c..c329d7b3fb 100755 --- a/invokeai/backend/install/invokeai_configure.py +++ b/invokeai/backend/install/invokeai_configure.py @@ -10,6 +10,7 @@ import sys import argparse import io import os +import psutil import shutil import textwrap import torch @@ -79,10 +80,13 @@ Default_config_file = config.model_conf_path SD_Configs = config.legacy_conf_path PRECISION_CHOICES = ["auto", "float16", "float32"] +GB = 1073741824 # GB in bytes HAS_CUDA = torch.cuda.is_available() _, MAX_VRAM = torch.cuda.mem_get_info() if HAS_CUDA else (0, 0) -MAX_VRAM /= 1073741824 # GB in bytes -MAX_VRAM_CACHE_RATIO = 0.55 # first guess of optimal vram cache based on total available + + +MAX_VRAM /= GB +MAX_RAM = psutil.virtual_memory().total / GB INIT_FILE_PREAMBLE = """# InvokeAI initialization file # This is the InvokeAI initialization file, which contains command-line default values. @@ -391,9 +395,9 @@ Use cursor arrows to make a checkbox selection, and space to toggle. ) self.max_cache_size = self.add_widget_intelligent( IntTitleSlider, - name="RAM cache size. The larger this is, the more models can be kept in memory rather than loading from disk each time (GB)", + name="RAM cache size (GB). Make this at least large enough to hold a single model. Larger sizes will allow you to switch between models quickly without reading from disk.", value=old_opts.max_cache_size, - out_of=20, + out_of=MAX_RAM, lowest=3, begin_entry_at=6, scroll_exit=True, @@ -402,7 +406,7 @@ Use cursor arrows to make a checkbox selection, and space to toggle. self.nextrely += 1 self.add_widget_intelligent( npyscreen.TitleFixedText, - name="VRAM cache size. Make this large enough to hold an entire model, but not more than half your available VRAM (GB)", + name="VRAM cache size (GB). Reserving a small amount of VRAM will modestly speed up the start of image generation.", begin_entry_at=0, editable=False, color="CONTROL", @@ -416,7 +420,6 @@ Use cursor arrows to make a checkbox selection, and space to toggle. lowest=0.0, relx=8, step=0.25, - begin_entry_at=MAX_VRAM * 0.55, scroll_exit=True, ) else: @@ -569,9 +572,6 @@ def edit_opts(program_opts: Namespace, invokeai_opts: Namespace) -> argparse.Nam def default_startup_options(init_file: Path) -> Namespace: opts = InvokeAIAppConfig.get_config() - # dynamically adust vram for memory size - if not init_file.exists(): - opts.max_vram_cache_size = round((MAX_VRAM * MAX_VRAM_CACHE_RATIO) * 4) / 4 return opts From ec48779080a160b324d521ac0379a25da4150e89 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 2 Aug 2023 14:28:19 -0400 Subject: [PATCH 033/287] blackify --- invokeai/app/services/config.py | 1 + invokeai/backend/install/invokeai_configure.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/invokeai/app/services/config.py b/invokeai/app/services/config.py index 25a7b8ffb3..271d617ff8 100644 --- a/invokeai/app/services/config.py +++ b/invokeai/app/services/config.py @@ -175,6 +175,7 @@ DB_FILE = Path("invokeai.db") LEGACY_INIT_FILE = Path("invokeai.init") DEFAULT_MAX_VRAM = 0.5 + class InvokeAISettings(BaseSettings): """ Runtime configuration settings in which default values are diff --git a/invokeai/backend/install/invokeai_configure.py b/invokeai/backend/install/invokeai_configure.py index c329d7b3fb..692eff8867 100755 --- a/invokeai/backend/install/invokeai_configure.py +++ b/invokeai/backend/install/invokeai_configure.py @@ -86,7 +86,7 @@ _, MAX_VRAM = torch.cuda.mem_get_info() if HAS_CUDA else (0, 0) MAX_VRAM /= GB -MAX_RAM = psutil.virtual_memory().total / GB +MAX_RAM = psutil.virtual_memory().total / GB INIT_FILE_PREAMBLE = """# InvokeAI initialization file # This is the InvokeAI initialization file, which contains command-line default values. From 8fc75a71ee20dd96ceb59f9a4a904125d71e8ad6 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 2 Aug 2023 18:10:52 -0400 Subject: [PATCH 034/287] integrate correctly into app API and add features - Create abstract base class InvocationStatsServiceBase - Store InvocationStatsService in the InvocationServices object - Collect and report stats on simultaneous graph execution independently for each graph id - Track VRAM usage for each node - Handle cancellations and other exceptions gracefully --- invokeai/app/api/dependencies.py | 3 +- invokeai/app/services/invocation_services.py | 3 + invokeai/app/services/invocation_stats.py | 222 ++++++++++++++----- invokeai/app/services/processor.py | 23 +- 4 files changed, 182 insertions(+), 69 deletions(-) diff --git a/invokeai/app/api/dependencies.py b/invokeai/app/api/dependencies.py index d609ce3be2..b25009c8c9 100644 --- a/invokeai/app/api/dependencies.py +++ b/invokeai/app/api/dependencies.py @@ -2,7 +2,6 @@ from typing import Optional from logging import Logger -import os from invokeai.app.services.board_image_record_storage import ( SqliteBoardImageRecordStorage, ) @@ -30,6 +29,7 @@ from ..services.invoker import Invoker from ..services.processor import DefaultInvocationProcessor from ..services.sqlite import SqliteItemStorage from ..services.model_manager_service import ModelManagerService +from ..services.invocation_stats import InvocationStatsService from .events import FastAPIEventService @@ -128,6 +128,7 @@ class ApiDependencies: graph_execution_manager=graph_execution_manager, processor=DefaultInvocationProcessor(), configuration=config, + performance_statistics=InvocationStatsService(graph_execution_manager), logger=logger, ) diff --git a/invokeai/app/services/invocation_services.py b/invokeai/app/services/invocation_services.py index 8af17c7643..d7d9aae024 100644 --- a/invokeai/app/services/invocation_services.py +++ b/invokeai/app/services/invocation_services.py @@ -32,6 +32,7 @@ class InvocationServices: logger: "Logger" model_manager: "ModelManagerServiceBase" processor: "InvocationProcessorABC" + performance_statistics: "InvocationStatsServiceBase" queue: "InvocationQueueABC" def __init__( @@ -47,6 +48,7 @@ class InvocationServices: logger: "Logger", model_manager: "ModelManagerServiceBase", processor: "InvocationProcessorABC", + performance_statistics: "InvocationStatsServiceBase", queue: "InvocationQueueABC", ): self.board_images = board_images @@ -61,4 +63,5 @@ class InvocationServices: self.logger = logger self.model_manager = model_manager self.processor = processor + self.performance_statistics = performance_statistics self.queue = queue diff --git a/invokeai/app/services/invocation_stats.py b/invokeai/app/services/invocation_stats.py index 24a5662647..aca1dba550 100644 --- a/invokeai/app/services/invocation_stats.py +++ b/invokeai/app/services/invocation_stats.py @@ -3,99 +3,196 @@ """ Usage: -statistics = InvocationStats() # keep track of performance metrics -... -with statistics.collect_stats(invocation, graph_execution_state): - outputs = invocation.invoke( - InvocationContext( - services=self.__invoker.services, - graph_execution_state_id=graph_execution_state.id, - ) - ) -... + +statistics = InvocationStatsService(graph_execution_manager) +with statistics.collect_stats(invocation, graph_execution_state.id): + ... execute graphs... statistics.log_stats() Typical output: -[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> Node Calls Seconds -[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> main_model_loader 1 0.006s -[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> clip_skip 1 0.005s -[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> compel 2 0.351s -[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> rand_int 1 0.001s -[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> range_of_size 1 0.001s -[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> iterate 1 0.001s -[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> metadata_accumulator 1 0.002s -[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> noise 1 0.002s -[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> t2l 1 3.117s -[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> l2i 1 0.377s -[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> TOTAL: 3.865s -[2023-08-01 17:34:44,585]::[InvokeAI]::INFO --> Max VRAM used for execution: 3.12G. -[2023-08-01 17:34:44,586]::[InvokeAI]::INFO --> Current VRAM utilization 2.31G. +[2023-08-02 18:03:04,507]::[InvokeAI]::INFO --> Graph stats: c7764585-9c68-4d9d-a199-55e8186790f3 +[2023-08-02 18:03:04,507]::[InvokeAI]::INFO --> Node Calls Seconds VRAM Used +[2023-08-02 18:03:04,507]::[InvokeAI]::INFO --> main_model_loader 1 0.005s 0.01G +[2023-08-02 18:03:04,508]::[InvokeAI]::INFO --> clip_skip 1 0.004s 0.01G +[2023-08-02 18:03:04,508]::[InvokeAI]::INFO --> compel 2 0.512s 0.26G +[2023-08-02 18:03:04,508]::[InvokeAI]::INFO --> rand_int 1 0.001s 0.01G +[2023-08-02 18:03:04,508]::[InvokeAI]::INFO --> range_of_size 1 0.001s 0.01G +[2023-08-02 18:03:04,508]::[InvokeAI]::INFO --> iterate 1 0.001s 0.01G +[2023-08-02 18:03:04,508]::[InvokeAI]::INFO --> metadata_accumulator 1 0.002s 0.01G +[2023-08-02 18:03:04,508]::[InvokeAI]::INFO --> noise 1 0.002s 0.01G +[2023-08-02 18:03:04,508]::[InvokeAI]::INFO --> t2l 1 3.541s 1.93G +[2023-08-02 18:03:04,508]::[InvokeAI]::INFO --> l2i 1 0.679s 0.58G +[2023-08-02 18:03:04,508]::[InvokeAI]::INFO --> TOTAL GRAPH EXECUTION TIME: 4.749s +[2023-08-02 18:03:04,508]::[InvokeAI]::INFO --> Current VRAM utilization 0.01G + +The abstract base class for this class is InvocationStatsServiceBase. An implementing class which +writes to the system log is stored in InvocationServices.performance_statistics. """ import time -from typing import Dict, List +from abc import ABC, abstractmethod +from contextlib import AbstractContextManager +from dataclasses import dataclass, field +from typing import Dict import torch -from .graph import GraphExecutionState -from .invocation_queue import InvocationQueueItem -from ..invocations.baseinvocation import BaseInvocation - import invokeai.backend.util.logging as logger +from ..invocations.baseinvocation import BaseInvocation +from .graph import GraphExecutionState +from .item_storage import ItemStorageABC -class InvocationStats: + +class InvocationStatsServiceBase(ABC): + "Abstract base class for recording node memory/time performance statistics" + + @abstractmethod + def __init__(self, graph_execution_manager: ItemStorageABC["GraphExecutionState"]): + """ + Initialize the InvocationStatsService and reset counters to zero + :param graph_execution_manager: Graph execution manager for this session + """ + pass + + @abstractmethod + def collect_stats( + self, + invocation: BaseInvocation, + graph_execution_state_id: str, + ) -> AbstractContextManager: + """ + Return a context object that will capture the statistics on the execution + of invocaation. Use with: to place around the part of the code that executes the invocation. + :param invocation: BaseInvocation object from the current graph. + :param graph_execution_state: GraphExecutionState object from the current session. + """ + pass + + @abstractmethod + def reset_stats(self, graph_execution_state_id: str): + """ + Reset all statistics for the indicated graph + :param graph_execution_state_id + """ + pass + + @abstractmethod + def reset_all_stats(self): + """Zero all statistics""" + pass + + @abstractmethod + def update_invocation_stats( + self, + graph_id: str, + invocation_type: str, + time_used: float, + vram_used: float, + ): + """ + Add timing information on execution of a node. Usually + used internally. + :param graph_id: ID of the graph that is currently executing + :param invocation_type: String literal type of the node + :param time_used: Time used by node's exection (sec) + :param vram_used: Maximum VRAM used during exection (GB) + """ + pass + + @abstractmethod + def log_stats(self): + """ + Write out the accumulated statistics to the log or somewhere else. + """ + pass + + +@dataclass +class NodeStats: + """Class for tracking execution stats of an invocation node""" + + calls: int = 0 + time_used: float = 0.0 # seconds + max_vram: float = 0.0 # GB + + +@dataclass +class NodeLog: + """Class for tracking node usage""" + + # {node_type => NodeStats} + nodes: Dict[str, NodeStats] = field(default_factory=dict) + + +class InvocationStatsService(InvocationStatsServiceBase): """Accumulate performance information about a running graph. Collects time spent in each node, as well as the maximum and current VRAM utilisation for CUDA systems""" - def __init__(self): - self._stats: Dict[str, int] = {} + def __init__(self, graph_execution_manager: ItemStorageABC["GraphExecutionState"]): + self.graph_execution_manager = graph_execution_manager + # {graph_id => NodeLog} + self._stats: Dict[str, NodeLog] = {} class StatsContext: - def __init__(self, invocation: BaseInvocation, collector): + def __init__(self, invocation: BaseInvocation, graph_id: str, collector: "InvocationStatsServiceBase"): self.invocation = invocation self.collector = collector + self.graph_id = graph_id self.start_time = 0 def __enter__(self): self.start_time = time.time() + if torch.cuda.is_available(): + torch.cuda.reset_peak_memory_stats() def __exit__(self, *args): - self.collector.log_time(self.invocation.type, time.time() - self.start_time) + self.collector.update_invocation_stats( + self.graph_id, + self.invocation.type, + time.time() - self.start_time, + torch.cuda.max_memory_allocated() / 1e9 if torch.cuda.is_available() else 0.0, + ) def collect_stats( self, invocation: BaseInvocation, - graph_execution_state: GraphExecutionState, + graph_execution_state_id: str, ) -> StatsContext: """ Return a context object that will capture the statistics. :param invocation: BaseInvocation object from the current graph. :param graph_execution_state: GraphExecutionState object from the current session. """ - if len(graph_execution_state.executed) == 0: # new graph is starting - self.reset_stats() - self._current_graph_state = graph_execution_state - sc = self.StatsContext(invocation, self) - return self.StatsContext(invocation, self) + if not self._stats.get(graph_execution_state_id): # first time we're seeing this + self._stats[graph_execution_state_id] = NodeLog() + return self.StatsContext(invocation, graph_execution_state_id, self) - def reset_stats(self): - """Zero the statistics. Ordinarily called internally.""" - if torch.cuda.is_available(): - torch.cuda.reset_peak_memory_stats() - self._stats: Dict[str, List[int, float]] = {} + def reset_all_stats(self): + """Zero all statistics""" + self._stats = {} - def log_time(self, invocation_type: str, time_used: float): + def reset_stats(self, graph_execution_id: str): + """Zero the statistics for the indicated graph.""" + try: + self._stats.pop(graph_execution_id) + except KeyError: + logger.warning(f"Attempted to clear statistics for unknown graph {graph_execution_id}") + + def update_invocation_stats(self, graph_id: str, invocation_type: str, time_used: float, vram_used: float): """ Add timing information on execution of a node. Usually used internally. + :param graph_id: ID of the graph that is currently executing :param invocation_type: String literal type of the node :param time_used: Floating point seconds used by node's exection """ - if not self._stats.get(invocation_type): - self._stats[invocation_type] = [0, 0.0] - self._stats[invocation_type][0] += 1 - self._stats[invocation_type][1] += time_used + if not self._stats[graph_id].nodes.get(invocation_type): + self._stats[graph_id].nodes[invocation_type] = NodeStats() + stats = self._stats[graph_id].nodes[invocation_type] + stats.calls += 1 + stats.time_used += time_used + stats.max_vram = max(stats.max_vram, vram_used) def log_stats(self): """ @@ -103,13 +200,24 @@ class InvocationStats: Stats will only be printed if when the execution of the graph is complete. """ - if self._current_graph_state.is_complete(): - logger.info("Node Calls Seconds") - for node_type, (calls, time_used) in self._stats.items(): - logger.info(f"{node_type:<20} {calls:>5} {time_used:4.3f}s") + completed = set() + for graph_id, node_log in self._stats.items(): + current_graph_state = self.graph_execution_manager.get(graph_id) + if not current_graph_state.is_complete(): + continue - total_time = sum([ticks for _, ticks in self._stats.values()]) - logger.info(f"TOTAL: {total_time:4.3f}s") + total_time = 0 + logger.info(f"Graph stats: {graph_id}") + logger.info("Node Calls Seconds VRAM Used") + for node_type, stats in self._stats[graph_id].nodes.items(): + logger.info(f"{node_type:<20} {stats.calls:>5} {stats.time_used:4.3f}s {stats.max_vram:4.2f}G") + total_time += stats.time_used + + logger.info(f"TOTAL GRAPH EXECUTION TIME: {total_time:4.3f}s") if torch.cuda.is_available(): - logger.info("Max VRAM used for execution: " + "%4.2fG" % (torch.cuda.max_memory_allocated() / 1e9)) logger.info("Current VRAM utilization " + "%4.2fG" % (torch.cuda.memory_allocated() / 1e9)) + + completed.add(graph_id) + + for graph_id in completed: + del self._stats[graph_id] diff --git a/invokeai/app/services/processor.py b/invokeai/app/services/processor.py index e9511aa283..41170a304b 100644 --- a/invokeai/app/services/processor.py +++ b/invokeai/app/services/processor.py @@ -1,15 +1,15 @@ import time import traceback -from threading import Event, Thread, BoundedSemaphore - -from ..invocations.baseinvocation import InvocationContext -from .invocation_queue import InvocationQueueItem -from .invoker import InvocationProcessorABC, Invoker -from .invocation_stats import InvocationStats -from ..models.exceptions import CanceledException +from threading import BoundedSemaphore, Event, Thread import invokeai.backend.util.logging as logger +from ..invocations.baseinvocation import InvocationContext +from ..models.exceptions import CanceledException +from .invocation_queue import InvocationQueueItem +from .invocation_stats import InvocationStatsServiceBase +from .invoker import InvocationProcessorABC, Invoker + class DefaultInvocationProcessor(InvocationProcessorABC): __invoker_thread: Thread @@ -36,7 +36,8 @@ class DefaultInvocationProcessor(InvocationProcessorABC): def __process(self, stop_event: Event): try: self.__threadLimit.acquire() - statistics = InvocationStats() # keep track of performance metrics + statistics: InvocationStatsServiceBase = self.__invoker.services.performance_statistics + while not stop_event.is_set(): try: queue_item: InvocationQueueItem = self.__invoker.services.queue.get() @@ -85,7 +86,7 @@ class DefaultInvocationProcessor(InvocationProcessorABC): # Invoke try: - with statistics.collect_stats(invocation, graph_execution_state): + with statistics.collect_stats(invocation, graph_execution_state.id): outputs = invocation.invoke( InvocationContext( services=self.__invoker.services, @@ -116,7 +117,7 @@ class DefaultInvocationProcessor(InvocationProcessorABC): pass except CanceledException: - statistics.reset_stats() + statistics.reset_stats(graph_execution_state.id) pass except Exception as e: @@ -138,7 +139,7 @@ class DefaultInvocationProcessor(InvocationProcessorABC): error_type=e.__class__.__name__, error=error, ) - statistics.reset_stats() + statistics.reset_stats(graph_execution_state.id) pass # Check queue to see if this is canceled, and skip if so From 3fc789a7eeb9efa6255e331ab7dda03097c451d6 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 2 Aug 2023 18:31:10 -0400 Subject: [PATCH 035/287] fix unit tests --- tests/nodes/test_graph_execution_state.py | 9 ++++++--- tests/nodes/test_invoker.py | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/nodes/test_graph_execution_state.py b/tests/nodes/test_graph_execution_state.py index e0ee120b54..248bc6fee1 100644 --- a/tests/nodes/test_graph_execution_state.py +++ b/tests/nodes/test_graph_execution_state.py @@ -16,6 +16,7 @@ from invokeai.app.invocations.baseinvocation import ( from invokeai.app.invocations.collections import RangeInvocation from invokeai.app.invocations.math import AddInvocation, MultiplyInvocation from invokeai.app.services.invocation_services import InvocationServices +from invokeai.app.services.invocation_stats import InvocationStatsService from invokeai.app.services.graph import ( Graph, CollectInvocation, @@ -41,6 +42,9 @@ def simple_graph(): @pytest.fixture def mock_services() -> InvocationServices: # NOTE: none of these are actually called by the test invocations + graph_execution_manager = SqliteItemStorage[GraphExecutionState]( + filename=sqlite_memory, table_name="graph_executions" + ) return InvocationServices( model_manager=None, # type: ignore events=TestEventService(), @@ -51,9 +55,8 @@ def mock_services() -> InvocationServices: board_images=None, # type: ignore queue=MemoryInvocationQueue(), graph_library=SqliteItemStorage[LibraryGraph](filename=sqlite_memory, table_name="graphs"), - graph_execution_manager=SqliteItemStorage[GraphExecutionState]( - filename=sqlite_memory, table_name="graph_executions" - ), + graph_execution_manager=graph_execution_manager, + performance_statistics=InvocationStatsService(graph_execution_manager), processor=DefaultInvocationProcessor(), configuration=None, # type: ignore ) diff --git a/tests/nodes/test_invoker.py b/tests/nodes/test_invoker.py index 8eba6d468f..5985c7e8bb 100644 --- a/tests/nodes/test_invoker.py +++ b/tests/nodes/test_invoker.py @@ -11,6 +11,7 @@ from invokeai.app.services.processor import DefaultInvocationProcessor from invokeai.app.services.sqlite import SqliteItemStorage, sqlite_memory from invokeai.app.services.invoker import Invoker from invokeai.app.services.invocation_services import InvocationServices +from invokeai.app.services.invocation_stats import InvocationStatsService from invokeai.app.services.graph import ( Graph, GraphExecutionState, @@ -34,6 +35,9 @@ def simple_graph(): @pytest.fixture def mock_services() -> InvocationServices: # NOTE: none of these are actually called by the test invocations + graph_execution_manager = SqliteItemStorage[GraphExecutionState]( + filename=sqlite_memory, table_name="graph_executions" + ) return InvocationServices( model_manager=None, # type: ignore events=TestEventService(), @@ -44,10 +48,9 @@ def mock_services() -> InvocationServices: board_images=None, # type: ignore queue=MemoryInvocationQueue(), graph_library=SqliteItemStorage[LibraryGraph](filename=sqlite_memory, table_name="graphs"), - graph_execution_manager=SqliteItemStorage[GraphExecutionState]( - filename=sqlite_memory, table_name="graph_executions" - ), + graph_execution_manager=graph_execution_manager, processor=DefaultInvocationProcessor(), + performance_statistics=InvocationStatsService(graph_execution_manager), configuration=None, # type: ignore ) From 921ccad04d2b903617cd4dd6d15c4f7fa8fe9c66 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 2 Aug 2023 18:41:43 -0400 Subject: [PATCH 036/287] added stats service to the cli_app startup --- invokeai/app/cli_app.py | 2 ++ scripts/dream.py | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/invokeai/app/cli_app.py b/invokeai/app/cli_app.py index bad95bb559..4558c9219f 100644 --- a/invokeai/app/cli_app.py +++ b/invokeai/app/cli_app.py @@ -37,6 +37,7 @@ from invokeai.app.services.image_record_storage import SqliteImageRecordStorage from invokeai.app.services.images import ImageService, ImageServiceDependencies from invokeai.app.services.resource_name import SimpleNameService from invokeai.app.services.urls import LocalUrlService +from invokeai.app.services.invocation_stats import InvocationStatsService from .services.default_graphs import default_text_to_image_graph_id, create_system_graphs from .services.latent_storage import DiskLatentsStorage, ForwardCacheLatentsStorage @@ -311,6 +312,7 @@ def invoke_cli(): graph_library=SqliteItemStorage[LibraryGraph](filename=db_location, table_name="graphs"), graph_execution_manager=graph_execution_manager, processor=DefaultInvocationProcessor(), + performance_statistics=InvocationStatsService(graph_execution_manager), logger=logger, configuration=config, ) diff --git a/scripts/dream.py b/scripts/dream.py index 12176db41e..d2735046a4 100755 --- a/scripts/dream.py +++ b/scripts/dream.py @@ -2,10 +2,12 @@ # Copyright (c) 2022 Lincoln D. Stein (https://github.com/lstein) import warnings -from invokeai.frontend.CLI import invokeai_command_line_interface as main warnings.warn( "dream.py is being deprecated, please run invoke.py for the " "new UI/API or legacy_api.py for the old API", DeprecationWarning, ) -main() + +from invokeai.app.cli_app import invoke_cli + +invoke_cli() From 0d125bf3e43567f88adeec5a4f6494e7306912b6 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue, 1 Aug 2023 23:59:32 +1000 Subject: [PATCH 037/287] chore: delete nonfunctional `shell.nix` This was for v2.3 and is very broken. See `flake.nix`, thanks to @zopieux --- shell.nix | 162 ------------------------------------------------------ 1 file changed, 162 deletions(-) delete mode 100644 shell.nix diff --git a/shell.nix b/shell.nix deleted file mode 100644 index 3de8c91b38..0000000000 --- a/shell.nix +++ /dev/null @@ -1,162 +0,0 @@ -{ pkgs ? import {} - , lib ? pkgs.lib - , stdenv ? pkgs.stdenv - , fetchurl ? pkgs.fetchurl - , runCommand ? pkgs.runCommand - , makeWrapper ? pkgs.makeWrapper - , mkShell ? pkgs.mkShell - , buildFHSUserEnv ? pkgs.buildFHSUserEnv - , frameworks ? pkgs.darwin.apple_sdk.frameworks -}: - -# Setup InvokeAI environment using nix -# Simple usage: -# nix-shell -# python3 scripts/preload_models.py -# python3 scripts/invoke.py -h - -let - conda-shell = { url, sha256, installPath, packages, shellHook }: - let - src = fetchurl { inherit url sha256; }; - libPath = lib.makeLibraryPath ([] ++ lib.optionals (stdenv.isLinux) [ pkgs.zlib ]); - condaArch = if stdenv.system == "aarch64-darwin" then "osx-arm64" else ""; - installer = - if stdenv.isDarwin then - runCommand "conda-install" { - nativeBuildInputs = [ makeWrapper ]; - } '' - mkdir -p $out/bin - cp ${src} $out/bin/miniconda-installer.sh - chmod +x $out/bin/miniconda-installer.sh - makeWrapper \ - $out/bin/miniconda-installer.sh \ - $out/bin/conda-install \ - --add-flags "-p ${installPath}" \ - --add-flags "-b" - '' - else if stdenv.isLinux then - runCommand "conda-install" { - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ pkgs.zlib ]; - } - # on line 10, we have 'unset LD_LIBRARY_PATH' - # we have to comment it out however in a way that the number of bytes in the - # file does not change. So we replace the 'u' in the line with a '#' - # The reason is that the binary payload is encoded as number - # of bytes from the top of the installer script - # and unsetting the library path prevents the zlib library from being discovered - '' - mkdir -p $out/bin - sed 's/unset LD_LIBRARY_PATH/#nset LD_LIBRARY_PATH/' ${src} > $out/bin/miniconda-installer.sh - chmod +x $out/bin/miniconda-installer.sh - makeWrapper \ - $out/bin/miniconda-installer.sh \ - $out/bin/conda-install \ - --add-flags "-p ${installPath}" \ - --add-flags "-b" \ - --prefix "LD_LIBRARY_PATH" : "${libPath}" - '' - else {}; - - hook = '' - export CONDA_SUBDIR=${condaArch} - '' + shellHook; - - fhs = buildFHSUserEnv { - name = "conda-shell"; - targetPkgs = pkgs: [ stdenv.cc pkgs.git installer ] ++ packages; - profile = hook; - runScript = "bash"; - }; - - shell = mkShell { - shellHook = if stdenv.isDarwin then hook else "conda-shell; exit"; - packages = if stdenv.isDarwin then [ pkgs.git installer ] ++ packages else [ fhs ]; - }; - in shell; - - packages = with pkgs; [ - cmake - protobuf - libiconv - rustc - cargo - rustPlatform.bindgenHook - ]; - - env = { - aarch64-darwin = { - envFile = "environment-mac.yml"; - condaPath = (builtins.toString ./.) + "/.conda"; - ptrSize = "8"; - }; - x86_64-linux = { - envFile = "environment.yml"; - condaPath = (builtins.toString ./.) + "/.conda"; - ptrSize = "8"; - }; - }; - - envFile = env.${stdenv.system}.envFile; - installPath = env.${stdenv.system}.condaPath; - ptrSize = env.${stdenv.system}.ptrSize; - shellHook = '' - conda-install - - # tmpdir is too small in nix - export TMPDIR="${installPath}/tmp" - - # Add conda to PATH - export PATH="${installPath}/bin:$PATH" - - # Allows `conda activate` to work properly - source ${installPath}/etc/profile.d/conda.sh - - # Paths for gcc if compiling some C sources with pip - export NIX_CFLAGS_COMPILE="-I${installPath}/include -I$TMPDIR/include" - export NIX_CFLAGS_LINK="-L${installPath}/lib $BINDGEN_EXTRA_CLANG_ARGS" - - export PIP_EXISTS_ACTION=w - - # rust-onig fails (think it writes config.h to wrong location) - mkdir -p "$TMPDIR/include" - cat <<'EOF' > "$TMPDIR/include/config.h" - #define HAVE_PROTOTYPES 1 - #define STDC_HEADERS 1 - #define HAVE_STRING_H 1 - #define HAVE_STDARG_H 1 - #define HAVE_STDLIB_H 1 - #define HAVE_LIMITS_H 1 - #define HAVE_INTTYPES_H 1 - #define SIZEOF_INT 4 - #define SIZEOF_SHORT 2 - #define SIZEOF_LONG ${ptrSize} - #define SIZEOF_VOIDP ${ptrSize} - #define SIZEOF_LONG_LONG 8 - EOF - - conda env create -f "${envFile}" || conda env update --prune -f "${envFile}" - conda activate invokeai - ''; - - version = "4.12.0"; - conda = { - aarch64-darwin = { - shell = conda-shell { - inherit shellHook installPath; - url = "https://repo.anaconda.com/miniconda/Miniconda3-py39_${version}-MacOSX-arm64.sh"; - sha256 = "4bd112168cc33f8a4a60d3ef7e72b52a85972d588cd065be803eb21d73b625ef"; - packages = [ frameworks.Security ] ++ packages; - }; - }; - x86_64-linux = { - shell = conda-shell { - inherit shellHook installPath; - url = "https://repo.continuum.io/miniconda/Miniconda3-py39_${version}-Linux-x86_64.sh"; - sha256 = "78f39f9bae971ec1ae7969f0516017f2413f17796670f7040725dd83fcff5689"; - packages = with pkgs; [ libGL glib ] ++ packages; - }; - }; - }; -in conda.${stdenv.system}.shell From 0ba8a0ea6c4f874db22d91b3192f8c084f8a6fd2 Mon Sep 17 00:00:00 2001 From: Kevin Brack Date: Sun, 30 Jul 2023 13:05:29 -0500 Subject: [PATCH 038/287] Board assignment changing on click --- .../components/GallerySettingsPopover.tsx | 19 ++++++++++++++++--- .../features/gallery/store/gallerySlice.ts | 6 ++++++ .../web/src/features/gallery/store/types.ts | 1 + 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/invokeai/frontend/web/src/features/gallery/components/GallerySettingsPopover.tsx b/invokeai/frontend/web/src/features/gallery/components/GallerySettingsPopover.tsx index 21a580d9a9..04cc98edb7 100644 --- a/invokeai/frontend/web/src/features/gallery/components/GallerySettingsPopover.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/GallerySettingsPopover.tsx @@ -8,6 +8,7 @@ import IAIPopover from 'common/components/IAIPopover'; import IAISimpleCheckbox from 'common/components/IAISimpleCheckbox'; import IAISlider from 'common/components/IAISlider'; import { + autoAssignBoardOnClickChanged, setGalleryImageMinimumWidth, shouldAutoSwitchChanged, } from 'features/gallery/store/gallerySlice'; @@ -19,11 +20,16 @@ import BoardAutoAddSelect from './Boards/BoardAutoAddSelect'; const selector = createSelector( [stateSelector], (state) => { - const { galleryImageMinimumWidth, shouldAutoSwitch } = state.gallery; + const { + galleryImageMinimumWidth, + shouldAutoSwitch, + autoAssignBoardOnClick, + } = state.gallery; return { galleryImageMinimumWidth, shouldAutoSwitch, + autoAssignBoardOnClick, }; }, defaultSelectorOptions @@ -33,7 +39,7 @@ const GallerySettingsPopover = () => { const dispatch = useAppDispatch(); const { t } = useTranslation(); - const { galleryImageMinimumWidth, shouldAutoSwitch } = + const { galleryImageMinimumWidth, shouldAutoSwitch, autoAssignBoardOnClick } = useAppSelector(selector); const handleChangeGalleryImageMinimumWidth = (v: number) => { @@ -69,7 +75,14 @@ const GallerySettingsPopover = () => { dispatch(shouldAutoSwitchChanged(e.target.checked)) } /> - + ) => + dispatch(autoAssignBoardOnClickChanged(e.target.checked)) + } + /> + {!autoAssignBoardOnClick && } ); diff --git a/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts b/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts index 5eabe5de26..851e1b6c3b 100644 --- a/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts +++ b/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts @@ -8,6 +8,7 @@ export const initialGalleryState: GalleryState = { selection: [], shouldAutoSwitch: true, autoAddBoardId: undefined, + autoAssignBoardOnClick: true, galleryImageMinimumWidth: 96, selectedBoardId: undefined, galleryView: 'images', @@ -66,9 +67,13 @@ export const gallerySlice = createSlice({ setGalleryImageMinimumWidth: (state, action: PayloadAction) => { state.galleryImageMinimumWidth = action.payload; }, + autoAssignBoardOnClickChanged: (state, action: PayloadAction) => { + state.autoAssignBoardOnClick = action.payload; + }, boardIdSelected: (state, action: PayloadAction) => { state.selectedBoardId = action.payload; state.galleryView = 'images'; + state.autoAssignBoardOnClick && (state.autoAddBoardId = action.payload); }, isBatchEnabledChanged: (state, action: PayloadAction) => { state.isBatchEnabled = action.payload; @@ -140,6 +145,7 @@ export const { imageSelectionToggled, imageSelected, shouldAutoSwitchChanged, + autoAssignBoardOnClickChanged, setGalleryImageMinimumWidth, boardIdSelected, isBatchEnabledChanged, diff --git a/invokeai/frontend/web/src/features/gallery/store/types.ts b/invokeai/frontend/web/src/features/gallery/store/types.ts index d19a6fded3..298b792362 100644 --- a/invokeai/frontend/web/src/features/gallery/store/types.ts +++ b/invokeai/frontend/web/src/features/gallery/store/types.ts @@ -18,6 +18,7 @@ export type GalleryState = { selection: string[]; shouldAutoSwitch: boolean; autoAddBoardId: string | undefined; + autoAssignBoardOnClick: boolean; galleryImageMinimumWidth: number; selectedBoardId: BoardId; galleryView: GalleryView; From 450e95de592ac623bce8acca2ebeb60bbeb1a24a Mon Sep 17 00:00:00 2001 From: Kevin Brack Date: Sun, 30 Jul 2023 18:35:18 -0500 Subject: [PATCH 039/287] auto change board waiting for isReady --- .../Boards/BoardsList/GalleryBoard.tsx | 19 +++++++++++++++---- .../Boards/BoardsList/NoBoardBoard.tsx | 18 +++++++++++++----- .../features/gallery/store/gallerySlice.ts | 1 - 3 files changed, 28 insertions(+), 10 deletions(-) diff --git a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/GalleryBoard.tsx b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/GalleryBoard.tsx index 67c45c131b..a4124e2393 100644 --- a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/GalleryBoard.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/GalleryBoard.tsx @@ -16,7 +16,10 @@ import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; import IAIDroppable from 'common/components/IAIDroppable'; import SelectionOverlay from 'common/components/SelectionOverlay'; -import { boardIdSelected } from 'features/gallery/store/gallerySlice'; +import { + autoAddBoardIdChanged, + boardIdSelected, +} from 'features/gallery/store/gallerySlice'; import { memo, useCallback, useMemo, useState } from 'react'; import { FaUser } from 'react-icons/fa'; import { useUpdateBoardMutation } from 'services/api/endpoints/boards'; @@ -24,6 +27,7 @@ import { useGetImageDTOQuery } from 'services/api/endpoints/images'; import { BoardDTO } from 'services/api/types'; import AutoAddIcon from '../AutoAddIcon'; import BoardContextMenu from '../BoardContextMenu'; +import { useIsReadyToInvoke } from 'common/hooks/useIsReadyToInvoke'; interface GalleryBoardProps { board: BoardDTO; @@ -41,15 +45,17 @@ const GalleryBoard = memo( ({ gallery }) => { const isSelectedForAutoAdd = board.board_id === gallery.autoAddBoardId; + const autoAssignBoardOnClick = gallery.autoAssignBoardOnClick; - return { isSelectedForAutoAdd }; + return { isSelectedForAutoAdd, autoAssignBoardOnClick }; }, defaultSelectorOptions ), [board.board_id] ); - const { isSelectedForAutoAdd } = useAppSelector(selector); + const { isSelectedForAutoAdd, autoAssignBoardOnClick } = + useAppSelector(selector); const [isHovered, setIsHovered] = useState(false); const handleMouseOver = useCallback(() => { setIsHovered(true); @@ -64,9 +70,14 @@ const GalleryBoard = memo( const { board_name, board_id } = board; const [localBoardName, setLocalBoardName] = useState(board_name); + const isReady = useIsReadyToInvoke(); + const handleSelectBoard = useCallback(() => { dispatch(boardIdSelected(board_id)); - }, [board_id, dispatch]); + if (autoAssignBoardOnClick && isReady) { + dispatch(autoAddBoardIdChanged(board_id)); + } + }, [board_id, autoAssignBoardOnClick, isReady, dispatch]); const [updateBoard, { isLoading: isUpdateBoardLoading }] = useUpdateBoardMutation(); diff --git a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/NoBoardBoard.tsx b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/NoBoardBoard.tsx index ee1d8f6bea..3963fc04d9 100644 --- a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/NoBoardBoard.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/NoBoardBoard.tsx @@ -7,11 +7,15 @@ import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; import InvokeAILogoImage from 'assets/images/logo.png'; import IAIDroppable from 'common/components/IAIDroppable'; import SelectionOverlay from 'common/components/SelectionOverlay'; -import { boardIdSelected } from 'features/gallery/store/gallerySlice'; +import { + boardIdSelected, + autoAddBoardIdChanged, +} from 'features/gallery/store/gallerySlice'; import { memo, useCallback, useMemo, useState } from 'react'; import { useBoardName } from 'services/api/hooks/useBoardName'; import AutoAddIcon from '../AutoAddIcon'; import BoardContextMenu from '../BoardContextMenu'; +import { useIsReadyToInvoke } from 'common/hooks/useIsReadyToInvoke'; interface Props { isSelected: boolean; } @@ -19,19 +23,23 @@ interface Props { const selector = createSelector( stateSelector, ({ gallery }) => { - const { autoAddBoardId } = gallery; - return { autoAddBoardId }; + const { autoAddBoardId, autoAssignBoardOnClick } = gallery; + return { autoAddBoardId, autoAssignBoardOnClick }; }, defaultSelectorOptions ); const NoBoardBoard = memo(({ isSelected }: Props) => { const dispatch = useAppDispatch(); - const { autoAddBoardId } = useAppSelector(selector); + const { autoAddBoardId, autoAssignBoardOnClick } = useAppSelector(selector); const boardName = useBoardName(undefined); + const isReady = useIsReadyToInvoke(); const handleSelectBoard = useCallback(() => { dispatch(boardIdSelected(undefined)); - }, [dispatch]); + if (autoAssignBoardOnClick && isReady) { + dispatch(autoAddBoardIdChanged(undefined)); + } + }, [dispatch, autoAssignBoardOnClick, isReady]); const [isHovered, setIsHovered] = useState(false); const handleMouseOver = useCallback(() => { setIsHovered(true); diff --git a/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts b/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts index 851e1b6c3b..9c65e818f4 100644 --- a/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts +++ b/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts @@ -73,7 +73,6 @@ export const gallerySlice = createSlice({ boardIdSelected: (state, action: PayloadAction) => { state.selectedBoardId = action.payload; state.galleryView = 'images'; - state.autoAssignBoardOnClick && (state.autoAddBoardId = action.payload); }, isBatchEnabledChanged: (state, action: PayloadAction) => { state.isBatchEnabled = action.payload; From 366952f810fcedd676b735046c9e384d08aa244f Mon Sep 17 00:00:00 2001 From: Kevin Brack Date: Sun, 30 Jul 2023 19:02:53 -0500 Subject: [PATCH 040/287] fix localization --- invokeai/frontend/web/public/locales/en.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/invokeai/frontend/web/public/locales/en.json b/invokeai/frontend/web/public/locales/en.json index cf84e4d773..63380a19fa 100644 --- a/invokeai/frontend/web/public/locales/en.json +++ b/invokeai/frontend/web/public/locales/en.json @@ -124,7 +124,8 @@ "deleteImageBin": "Deleted images will be sent to your operating system's Bin.", "deleteImagePermanent": "Deleted images cannot be restored.", "images": "Images", - "assets": "Assets" + "assets": "Assets", + "autoAssignBoardOnClick": "Auto-Assign Board on Click" }, "hotkeys": { "keyboardShortcuts": "Keyboard Shortcuts", From 87424be95d17434bb698bb4742acbaa7fb63d2d6 Mon Sep 17 00:00:00 2001 From: Kevin Brack Date: Mon, 31 Jul 2023 19:34:24 -0500 Subject: [PATCH 041/287] block auto add board change during generation. Switch condition to isProcessing --- .../components/Boards/BoardAutoAddSelect.tsx | 12 ++++++++---- .../Boards/BoardsList/GalleryBoard.tsx | 18 ++++++++++-------- .../Boards/BoardsList/NoBoardBoard.tsx | 14 +++++++------- .../components/GallerySettingsPopover.tsx | 2 +- 4 files changed, 26 insertions(+), 20 deletions(-) diff --git a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardAutoAddSelect.tsx b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardAutoAddSelect.tsx index ad0e5ab80d..9f02a29f10 100644 --- a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardAutoAddSelect.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardAutoAddSelect.tsx @@ -11,11 +11,14 @@ import { useListAllBoardsQuery } from 'services/api/endpoints/boards'; const selector = createSelector( [stateSelector], - ({ gallery }) => { - const { autoAddBoardId } = gallery; + ({ gallery, system }) => { + const { autoAddBoardId, autoAssignBoardOnClick } = gallery; + const { isProcessing } = system; return { autoAddBoardId, + autoAssignBoardOnClick, + isProcessing, }; }, defaultSelectorOptions @@ -23,7 +26,8 @@ const selector = createSelector( const BoardAutoAddSelect = () => { const dispatch = useAppDispatch(); - const { autoAddBoardId } = useAppSelector(selector); + const { autoAddBoardId, autoAssignBoardOnClick, isProcessing } = + useAppSelector(selector); const inputRef = useRef(null); const { boards, hasBoards } = useListAllBoardsQuery(undefined, { selectFromResult: ({ data }) => { @@ -67,7 +71,7 @@ const BoardAutoAddSelect = () => { data={boards} nothingFound="No matching Boards" itemComponent={IAIMantineSelectItemWithTooltip} - disabled={!hasBoards} + disabled={!hasBoards || autoAssignBoardOnClick || isProcessing} filter={(value, item: SelectItem) => item.label?.toLowerCase().includes(value.toLowerCase().trim()) || item.value.toLowerCase().includes(value.toLowerCase().trim()) diff --git a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/GalleryBoard.tsx b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/GalleryBoard.tsx index a4124e2393..3b591ee00f 100644 --- a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/GalleryBoard.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/GalleryBoard.tsx @@ -27,7 +27,6 @@ import { useGetImageDTOQuery } from 'services/api/endpoints/images'; import { BoardDTO } from 'services/api/types'; import AutoAddIcon from '../AutoAddIcon'; import BoardContextMenu from '../BoardContextMenu'; -import { useIsReadyToInvoke } from 'common/hooks/useIsReadyToInvoke'; interface GalleryBoardProps { board: BoardDTO; @@ -42,19 +41,24 @@ const GalleryBoard = memo( () => createSelector( stateSelector, - ({ gallery }) => { + ({ gallery, system }) => { const isSelectedForAutoAdd = board.board_id === gallery.autoAddBoardId; const autoAssignBoardOnClick = gallery.autoAssignBoardOnClick; + const isProcessing = system.isProcessing; - return { isSelectedForAutoAdd, autoAssignBoardOnClick }; + return { + isSelectedForAutoAdd, + autoAssignBoardOnClick, + isProcessing, + }; }, defaultSelectorOptions ), [board.board_id] ); - const { isSelectedForAutoAdd, autoAssignBoardOnClick } = + const { isSelectedForAutoAdd, autoAssignBoardOnClick, isProcessing } = useAppSelector(selector); const [isHovered, setIsHovered] = useState(false); const handleMouseOver = useCallback(() => { @@ -70,14 +74,12 @@ const GalleryBoard = memo( const { board_name, board_id } = board; const [localBoardName, setLocalBoardName] = useState(board_name); - const isReady = useIsReadyToInvoke(); - const handleSelectBoard = useCallback(() => { dispatch(boardIdSelected(board_id)); - if (autoAssignBoardOnClick && isReady) { + if (autoAssignBoardOnClick && !isProcessing) { dispatch(autoAddBoardIdChanged(board_id)); } - }, [board_id, autoAssignBoardOnClick, isReady, dispatch]); + }, [board_id, autoAssignBoardOnClick, isProcessing, dispatch]); const [updateBoard, { isLoading: isUpdateBoardLoading }] = useUpdateBoardMutation(); diff --git a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/NoBoardBoard.tsx b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/NoBoardBoard.tsx index 3963fc04d9..118b2108f7 100644 --- a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/NoBoardBoard.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/NoBoardBoard.tsx @@ -15,31 +15,31 @@ import { memo, useCallback, useMemo, useState } from 'react'; import { useBoardName } from 'services/api/hooks/useBoardName'; import AutoAddIcon from '../AutoAddIcon'; import BoardContextMenu from '../BoardContextMenu'; -import { useIsReadyToInvoke } from 'common/hooks/useIsReadyToInvoke'; interface Props { isSelected: boolean; } const selector = createSelector( stateSelector, - ({ gallery }) => { + ({ gallery, system }) => { const { autoAddBoardId, autoAssignBoardOnClick } = gallery; - return { autoAddBoardId, autoAssignBoardOnClick }; + const { isProcessing } = system; + return { autoAddBoardId, autoAssignBoardOnClick, isProcessing }; }, defaultSelectorOptions ); const NoBoardBoard = memo(({ isSelected }: Props) => { const dispatch = useAppDispatch(); - const { autoAddBoardId, autoAssignBoardOnClick } = useAppSelector(selector); + const { autoAddBoardId, autoAssignBoardOnClick, isProcessing } = + useAppSelector(selector); const boardName = useBoardName(undefined); - const isReady = useIsReadyToInvoke(); const handleSelectBoard = useCallback(() => { dispatch(boardIdSelected(undefined)); - if (autoAssignBoardOnClick && isReady) { + if (autoAssignBoardOnClick && !isProcessing) { dispatch(autoAddBoardIdChanged(undefined)); } - }, [dispatch, autoAssignBoardOnClick, isReady]); + }, [dispatch, autoAssignBoardOnClick, isProcessing]); const [isHovered, setIsHovered] = useState(false); const handleMouseOver = useCallback(() => { setIsHovered(true); diff --git a/invokeai/frontend/web/src/features/gallery/components/GallerySettingsPopover.tsx b/invokeai/frontend/web/src/features/gallery/components/GallerySettingsPopover.tsx index 04cc98edb7..796cc542e7 100644 --- a/invokeai/frontend/web/src/features/gallery/components/GallerySettingsPopover.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/GallerySettingsPopover.tsx @@ -82,7 +82,7 @@ const GallerySettingsPopover = () => { dispatch(autoAssignBoardOnClickChanged(e.target.checked)) } /> - {!autoAssignBoardOnClick && } + ); From 26ef5249b1902132493ef6cbc5f1c8d6c4c7bdd8 Mon Sep 17 00:00:00 2001 From: Kevin Brack Date: Mon, 31 Jul 2023 19:44:41 -0500 Subject: [PATCH 042/287] guard board switching in board context menu --- .../gallery/components/Boards/BoardContextMenu.tsx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardContextMenu.tsx b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardContextMenu.tsx index 35fcbd87f7..2774288612 100644 --- a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardContextMenu.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardContextMenu.tsx @@ -25,14 +25,17 @@ const BoardContextMenu = memo( const selector = useMemo( () => - createSelector(stateSelector, ({ gallery }) => { + createSelector(stateSelector, ({ gallery, system }) => { const isAutoAdd = gallery.autoAddBoardId === board_id; - return { isAutoAdd }; + const isProcessing = system.isProcessing; + const autoAssignBoardOnClick = gallery.autoAssignBoardOnClick; + return { isAutoAdd, isProcessing, autoAssignBoardOnClick }; }), [board_id] ); - const { isAutoAdd } = useAppSelector(selector); + const { isAutoAdd, isProcessing, autoAssignBoardOnClick } = + useAppSelector(selector); const boardName = useBoardName(board_id); const handleSetAutoAdd = useCallback(() => { @@ -59,7 +62,7 @@ const BoardContextMenu = memo( } - isDisabled={isAutoAdd} + isDisabled={isAutoAdd || isProcessing || autoAssignBoardOnClick} onClick={handleSetAutoAdd} > Auto-add to this Board From 7021467048925d413e9fd132545491ee04ac603e Mon Sep 17 00:00:00 2001 From: Eugene Brodsky Date: Wed, 2 Aug 2023 19:46:02 -0400 Subject: [PATCH 043/287] (ci) do not install all dependencies when running static checks (#4036) Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com> --- .github/workflows/style-checks.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/style-checks.yml b/.github/workflows/style-checks.yml index 8aceb6469e..0bb19e95e5 100644 --- a/.github/workflows/style-checks.yml +++ b/.github/workflows/style-checks.yml @@ -1,13 +1,15 @@ -name: Black # TODO: add isort and flake8 later +name: style checks +# just formatting for now +# TODO: add isort and flake8 later on: - pull_request: {} + pull_request: push: - branches: master + branches: main tags: "*" jobs: - test: + black: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 @@ -19,8 +21,7 @@ jobs: - name: Install dependencies with pip run: | - pip install --upgrade pip wheel - pip install .[test] + pip install black # - run: isort --check-only . - run: black --check . From 4e0949fa5503c4ed2a61641aa9deb0f3e1134fb4 Mon Sep 17 00:00:00 2001 From: Damian Stewart Date: Sun, 30 Jul 2023 20:12:53 +0200 Subject: [PATCH 044/287] fix .swap() by reverting improperly merged @classmethod change --- .../diffusion/shared_invokeai_diffusion.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py b/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py index 272518e928..c01cf82c57 100644 --- a/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py +++ b/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py @@ -78,10 +78,9 @@ class InvokeAIDiffuserComponent: self.cross_attention_control_context = None self.sequential_guidance = config.sequential_guidance - @classmethod @contextmanager def custom_attention_context( - cls, + self, unet: UNet2DConditionModel, # note: also may futz with the text encoder depending on requested LoRAs extra_conditioning_info: Optional[ExtraConditioningInfo], step_count: int, @@ -91,18 +90,19 @@ class InvokeAIDiffuserComponent: old_attn_processors = unet.attn_processors # Load lora conditions into the model if extra_conditioning_info.wants_cross_attention_control: - cross_attention_control_context = Context( + self.cross_attention_control_context = Context( arguments=extra_conditioning_info.cross_attention_control_args, step_count=step_count, ) setup_cross_attention_control_attention_processors( unet, - cross_attention_control_context, + self.cross_attention_control_context, ) try: yield None finally: + self.cross_attention_control_context = None if old_attn_processors is not None: unet.set_attn_processor(old_attn_processors) # TODO resuscitate attention map saving From 118d5b387b05c1e906cb186c1a7540379e13cc01 Mon Sep 17 00:00:00 2001 From: Brandon Rising Date: Tue, 1 Aug 2023 16:22:20 -0400 Subject: [PATCH 045/287] deploy: refactor github workflows Currently we use some workflow trigger conditionals to run either a real test workflow (installing the app and running it) or a fake workflow, disguised as the real one, that just auto-passes. This change refactors the workflow to use a single workflow that can be skipped, using another github action to determine which things to run depending on the paths changed. --- .github/workflows/style-checks.yml | 1 - .github/workflows/test-invoke-pip-skip.yml | 50 ---------------------- .github/workflows/test-invoke-pip.yml | 24 +++++++---- 3 files changed, 15 insertions(+), 60 deletions(-) delete mode 100644 .github/workflows/test-invoke-pip-skip.yml diff --git a/.github/workflows/style-checks.yml b/.github/workflows/style-checks.yml index 0bb19e95e5..d29b489418 100644 --- a/.github/workflows/style-checks.yml +++ b/.github/workflows/style-checks.yml @@ -6,7 +6,6 @@ on: pull_request: push: branches: main - tags: "*" jobs: black: diff --git a/.github/workflows/test-invoke-pip-skip.yml b/.github/workflows/test-invoke-pip-skip.yml deleted file mode 100644 index 004b46d5a8..0000000000 --- a/.github/workflows/test-invoke-pip-skip.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: Test invoke.py pip - -# This is a dummy stand-in for the actual tests -# we don't need to run python tests on non-Python changes -# But PRs require passing tests to be mergeable - -on: - pull_request: - paths: - - '**' - - '!pyproject.toml' - - '!invokeai/**' - - '!tests/**' - - 'invokeai/frontend/web/**' - merge_group: - workflow_dispatch: - -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -jobs: - matrix: - if: github.event.pull_request.draft == false - strategy: - matrix: - python-version: - - '3.10' - pytorch: - - linux-cuda-11_7 - - linux-rocm-5_2 - - linux-cpu - - macos-default - - windows-cpu - include: - - pytorch: linux-cuda-11_7 - os: ubuntu-22.04 - - pytorch: linux-rocm-5_2 - os: ubuntu-22.04 - - pytorch: linux-cpu - os: ubuntu-22.04 - - pytorch: macos-default - os: macOS-12 - - pytorch: windows-cpu - os: windows-2022 - name: ${{ matrix.pytorch }} on ${{ matrix.python-version }} - runs-on: ${{ matrix.os }} - steps: - - name: skip - run: echo "no build required" diff --git a/.github/workflows/test-invoke-pip.yml b/.github/workflows/test-invoke-pip.yml index 40be0a529e..6086d10069 100644 --- a/.github/workflows/test-invoke-pip.yml +++ b/.github/workflows/test-invoke-pip.yml @@ -3,16 +3,7 @@ on: push: branches: - 'main' - paths: - - 'pyproject.toml' - - 'invokeai/**' - - '!invokeai/frontend/web/**' pull_request: - paths: - - 'pyproject.toml' - - 'invokeai/**' - - 'tests/**' - - '!invokeai/frontend/web/**' types: - 'ready_for_review' - 'opened' @@ -65,10 +56,23 @@ jobs: id: checkout-sources uses: actions/checkout@v3 + - name: Check for changed python files + id: changed-files + uses: tj-actions/changed-files@v37 + with: + files_yaml: | + python: + - 'pyproject.toml' + - 'invokeai/**' + - '!invokeai/frontend/web/**' + - 'tests/**' + - name: set test prompt to main branch validation + if: steps.changed-files.outputs.python_any_changed == 'true' run: echo "TEST_PROMPTS=tests/validate_pr_prompt.txt" >> ${{ matrix.github-env }} - name: setup python + if: steps.changed-files.outputs.python_any_changed == 'true' uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} @@ -76,6 +80,7 @@ jobs: cache-dependency-path: pyproject.toml - name: install invokeai + if: steps.changed-files.outputs.python_any_changed == 'true' env: PIP_EXTRA_INDEX_URL: ${{ matrix.extra-index-url }} run: > @@ -83,6 +88,7 @@ jobs: --editable=".[test]" - name: run pytest + if: steps.changed-files.outputs.python_any_changed == 'true' id: run-pytest run: pytest From a6f9396a3021f561dda0ddd5e35bdc2d07207bbd Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue, 1 Aug 2023 18:08:17 +1000 Subject: [PATCH 046/287] fix(db): retrieve metadata even when no `session_id` this was unnecessarily skipped if there was no `session_id`. --- invokeai/app/services/images.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/invokeai/app/services/images.py b/invokeai/app/services/images.py index f8376eb626..2240846dac 100644 --- a/invokeai/app/services/images.py +++ b/invokeai/app/services/images.py @@ -289,9 +289,10 @@ class ImageService(ImageServiceABC): def get_metadata(self, image_name: str) -> Optional[ImageMetadata]: try: image_record = self._services.image_records.get(image_name) + metadata = self._services.image_records.get_metadata(image_name) if not image_record.session_id: - return ImageMetadata() + return ImageMetadata(metadata=metadata) session_raw = self._services.graph_execution_manager.get_raw(image_record.session_id) graph = None @@ -303,7 +304,6 @@ class ImageService(ImageServiceABC): self._services.logger.warn(f"Failed to parse session graph: {e}") graph = None - metadata = self._services.image_records.get_metadata(image_name) return ImageMetadata(graph=graph, metadata=metadata) except ImageRecordNotFoundException: self._services.logger.error("Image record not found") From 5c9787c14540190a4960edd483cf328da2097012 Mon Sep 17 00:00:00 2001 From: Mary Hipp Date: Wed, 2 Aug 2023 09:46:29 -0400 Subject: [PATCH 047/287] add project-id header to requests --- .../frontend/web/src/app/components/InvokeAIUI.tsx | 11 +++++++++-- invokeai/frontend/web/src/services/api/client.ts | 12 ++++++++++-- invokeai/frontend/web/src/services/api/index.ts | 6 +++++- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/invokeai/frontend/web/src/app/components/InvokeAIUI.tsx b/invokeai/frontend/web/src/app/components/InvokeAIUI.tsx index 7df390bce6..d6e6c42728 100644 --- a/invokeai/frontend/web/src/app/components/InvokeAIUI.tsx +++ b/invokeai/frontend/web/src/app/components/InvokeAIUI.tsx @@ -13,7 +13,7 @@ import { addMiddleware, resetMiddlewares } from 'redux-dynamic-middlewares'; import Loading from '../../common/components/Loading/Loading'; import { Middleware } from '@reduxjs/toolkit'; -import { $authToken, $baseUrl } from 'services/api/client'; +import { $authToken, $baseUrl, $projectId } from 'services/api/client'; import { socketMiddleware } from 'services/events/middleware'; import '../../i18n'; import { AddImageToBoardContextProvider } from '../contexts/AddImageToBoardContext'; @@ -37,6 +37,7 @@ const InvokeAIUI = ({ config, headerComponent, middleware, + projectId, }: Props) => { useEffect(() => { // configure API client token @@ -49,6 +50,11 @@ const InvokeAIUI = ({ $baseUrl.set(apiUrl); } + // configure API client project header + if (apiUrl) { + $projectId.set(projectId); + } + // reset dynamically added middlewares resetMiddlewares(); @@ -68,8 +74,9 @@ const InvokeAIUI = ({ // Reset the API client token and base url on unmount $baseUrl.set(undefined); $authToken.set(undefined); + $projectId.set(undefined); }; - }, [apiUrl, token, middleware]); + }, [apiUrl, token, middleware, projectId]); return ( diff --git a/invokeai/frontend/web/src/services/api/client.ts b/invokeai/frontend/web/src/services/api/client.ts index dd4caa460e..87deda7d36 100644 --- a/invokeai/frontend/web/src/services/api/client.ts +++ b/invokeai/frontend/web/src/services/api/client.ts @@ -16,6 +16,11 @@ export const $authToken = atom(); */ export const $baseUrl = atom(); +/** + * The optional project-id header. + */ +export const $projectId = atom(); + /** * Autogenerated, type-safe fetch client for the API. Used when RTK Query is not an option. * Dynamically updates when the token or base url changes. @@ -24,9 +29,12 @@ export const $baseUrl = atom(); * @example * const { get, post, del } = $client.get(); */ -export const $client = computed([$authToken, $baseUrl], (authToken, baseUrl) => +export const $client = computed([$authToken, $baseUrl, $projectId], (authToken, baseUrl, projectId) => createClient({ - headers: authToken ? { Authorization: `Bearer ${authToken}` } : {}, + headers: { + ...(authToken ? { Authorization: `Bearer ${authToken}` } : {}), + ...(projectId ? { "project-id": projectId } : {}) + }, // do not include `api/v1` in the base url for this client baseUrl: `${baseUrl ?? ''}`, }) diff --git a/invokeai/frontend/web/src/services/api/index.ts b/invokeai/frontend/web/src/services/api/index.ts index 0a0391898c..a9de7130c9 100644 --- a/invokeai/frontend/web/src/services/api/index.ts +++ b/invokeai/frontend/web/src/services/api/index.ts @@ -6,7 +6,7 @@ import { createApi, fetchBaseQuery, } from '@reduxjs/toolkit/query/react'; -import { $authToken, $baseUrl } from 'services/api/client'; +import { $authToken, $baseUrl, $projectId } from 'services/api/client'; export const tagTypes = [ 'Board', @@ -30,6 +30,7 @@ const dynamicBaseQuery: BaseQueryFn< > = async (args, api, extraOptions) => { const baseUrl = $baseUrl.get(); const authToken = $authToken.get(); + const projectId = $projectId.get(); const rawBaseQuery = fetchBaseQuery({ baseUrl: `${baseUrl ?? ''}/api/v1`, @@ -37,6 +38,9 @@ const dynamicBaseQuery: BaseQueryFn< if (authToken) { headers.set('Authorization', `Bearer ${authToken}`); } + if (projectId) { + headers.set("project-id", projectId) + } return headers; }, From b3b94b5a8d20daf428791b8dc15274c4cd9871d6 Mon Sep 17 00:00:00 2001 From: Mary Hipp Date: Wed, 2 Aug 2023 09:52:54 -0400 Subject: [PATCH 048/287] use correct prop --- invokeai/frontend/web/src/app/components/InvokeAIUI.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/frontend/web/src/app/components/InvokeAIUI.tsx b/invokeai/frontend/web/src/app/components/InvokeAIUI.tsx index d6e6c42728..cffbaa5574 100644 --- a/invokeai/frontend/web/src/app/components/InvokeAIUI.tsx +++ b/invokeai/frontend/web/src/app/components/InvokeAIUI.tsx @@ -51,7 +51,7 @@ const InvokeAIUI = ({ } // configure API client project header - if (apiUrl) { + if (projectId) { $projectId.set(projectId); } From eeef1e08f827eb404bd8b53c91007e089ab8fd96 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sun, 30 Jul 2023 18:20:12 -0400 Subject: [PATCH 049/287] restore ability to convert merged inpaint .safetensors files --- invokeai/backend/model_management/models/base.py | 5 +++-- invokeai/backend/model_management/models/stable_diffusion.py | 5 ++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/invokeai/backend/model_management/models/base.py b/invokeai/backend/model_management/models/base.py index e6a20e79ec..1219d4277d 100644 --- a/invokeai/backend/model_management/models/base.py +++ b/invokeai/backend/model_management/models/base.py @@ -292,8 +292,9 @@ class DiffusersModel(ModelBase): ) break except Exception as e: - # print("====ERR LOAD====") - # print(f"{variant}: {e}") + if not str(e).startswith('Error no file'): + print("====ERR LOAD====") + print(f"{variant}: {e}") pass else: raise Exception(f"Failed to load {self.base_model}:{self.model_type}:{child_type} model") diff --git a/invokeai/backend/model_management/models/stable_diffusion.py b/invokeai/backend/model_management/models/stable_diffusion.py index d81b0150e5..9e0c130e6a 100644 --- a/invokeai/backend/model_management/models/stable_diffusion.py +++ b/invokeai/backend/model_management/models/stable_diffusion.py @@ -4,6 +4,7 @@ from enum import Enum from pydantic import Field from pathlib import Path from typing import Literal, Optional, Union +from diffusers import StableDiffusionInpaintPipeline, StableDiffusionPipeline from .base import ( ModelConfigBase, BaseModelType, @@ -21,7 +22,6 @@ import invokeai.backend.util.logging as logger from invokeai.app.services.config import InvokeAIAppConfig from omegaconf import OmegaConf - class StableDiffusion1ModelFormat(str, Enum): Checkpoint = "checkpoint" Diffusers = "diffusers" @@ -263,6 +263,8 @@ def _convert_ckpt_and_cache( weights = app_config.models_path / model_config.path config_file = app_config.root_path / model_config.config output_path = Path(output_path) + variant = model_config.variant + pipeline_class = StableDiffusionInpaintPipeline if variant=='inpaint' else StableDiffusionPipeline # return cached version if it exists if output_path.exists(): @@ -289,6 +291,7 @@ def _convert_ckpt_and_cache( original_config_file=config_file, extract_ema=True, scan_needed=True, + pipeline_class=pipeline_class, from_safetensors=weights.suffix == ".safetensors", precision=torch_dtype(choose_torch_device()), **kwargs, From e080fd1e08a676d412108bb2ecf27e559c0bfc70 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sun, 30 Jul 2023 19:18:05 -0400 Subject: [PATCH 050/287] blackify --- invokeai/backend/model_management/models/base.py | 2 +- invokeai/backend/model_management/models/stable_diffusion.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/invokeai/backend/model_management/models/base.py b/invokeai/backend/model_management/models/base.py index 1219d4277d..d335b645c8 100644 --- a/invokeai/backend/model_management/models/base.py +++ b/invokeai/backend/model_management/models/base.py @@ -292,7 +292,7 @@ class DiffusersModel(ModelBase): ) break except Exception as e: - if not str(e).startswith('Error no file'): + if not str(e).startswith("Error no file"): print("====ERR LOAD====") print(f"{variant}: {e}") pass diff --git a/invokeai/backend/model_management/models/stable_diffusion.py b/invokeai/backend/model_management/models/stable_diffusion.py index 9e0c130e6a..a112e8bc96 100644 --- a/invokeai/backend/model_management/models/stable_diffusion.py +++ b/invokeai/backend/model_management/models/stable_diffusion.py @@ -22,6 +22,7 @@ import invokeai.backend.util.logging as logger from invokeai.app.services.config import InvokeAIAppConfig from omegaconf import OmegaConf + class StableDiffusion1ModelFormat(str, Enum): Checkpoint = "checkpoint" Diffusers = "diffusers" @@ -264,7 +265,7 @@ def _convert_ckpt_and_cache( config_file = app_config.root_path / model_config.config output_path = Path(output_path) variant = model_config.variant - pipeline_class = StableDiffusionInpaintPipeline if variant=='inpaint' else StableDiffusionPipeline + pipeline_class = StableDiffusionInpaintPipeline if variant == "inpaint" else StableDiffusionPipeline # return cached version if it exists if output_path.exists(): From bf94412d1499e48d6bd9dfa415ff7f1aeead6710 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Mon, 31 Jul 2023 18:16:52 +1000 Subject: [PATCH 051/287] feat: add multi-select to gallery multi-select actions include: - drag to board to move all to that board - right click to add all to board or delete all backend changes: - add routes for changing board for list of image names, deleting list of images - change image-specific routes to `images/i/{image_name}` to not clobber other routes (like `images/upload`, `images/delete`) - subclass pydantic `BaseModel` as `BaseModelExcludeNull`, which excludes null values when calling `dict()` on the model. this fixes inconsistent types related to JSON parsing null values into `null` instead of `undefined` - remove `board_id` from `remove_image_from_board` frontend changes: - multi-selection stuff uses `ImageDTO[]` as payloads, for dnd and other mutations. this gives us access to image `board_id`s when hitting routes, and enables efficient cache updates. - consolidate change board and delete image modals to handle single and multiples - board totals are now re-fetched on mutation and not kept in sync manually - was way too tedious to do this - fixed warning about nested `

` elements - closes #4088 , need to handle case when `autoAddBoardId` is `"none"` - add option to show gallery image delete button on every gallery image frontend refactors/organisation: - make typegen script js instead of ts - enable `noUncheckedIndexedAccess` to help avoid bugs when indexing into arrays, many small changes needed to satisfy TS after this - move all image-related endpoints into `endpoints/images.ts`, its a big file now, but this fixes a number of circular dependency issues that were otherwise felt impossible to resolve --- invokeai/app/api/routers/board_images.py | 92 +- invokeai/app/api/routers/images.py | 38 +- invokeai/app/invocations/metadata.py | 9 +- .../services/board_image_record_storage.py | 6 +- invokeai/app/services/board_images.py | 4 +- invokeai/app/services/models/board_image.py | 8 + invokeai/app/services/models/board_record.py | 5 +- invokeai/app/services/models/image_record.py | 15 +- invokeai/app/services/urls.py | 4 +- invokeai/app/util/model_exclude_null.py | 23 + invokeai/frontend/web/package.json | 2 +- .../web/scripts/{typegen.ts => typegen.js} | 0 .../frontend/web/src/app/components/App.tsx | 6 +- .../app/components/ImageDnd/DragPreview.tsx | 4 +- .../components/ImageDnd/ImageDndContext.tsx | 25 +- .../app/components/ImageDnd/typesafeDnd.tsx | 69 +- .../web/src/app/components/InvokeAIUI.tsx | 13 +- .../app/contexts/AddImageToBoardContext.tsx | 91 -- .../contexts/ImageUploaderTriggerContext.ts | 8 - .../enhancers/reduxRemember/serialize.ts | 2 +- .../middleware/listenerMiddleware/index.ts | 6 +- .../addFirstListImagesListener.ts.ts | 11 +- .../listeners/appConfigReceived.ts | 4 +- .../listeners/boardAndImagesDeleted.ts | 6 +- .../listeners/boardIdSelected.ts | 6 +- .../listeners/canvasSavedToGallery.ts | 4 +- .../listeners/controlNetAutoProcess.ts | 11 +- .../listeners/controlNetImageProcessed.ts | 2 +- .../listeners/imageDeleted.ts | 113 ++- .../listeners/imageDropped.ts | 216 ++--- .../listeners/imageToDeleteSelected.ts | 29 +- .../listeners/imageUploaded.ts | 14 +- .../listeners/modelsLoaded.ts | 7 +- .../socketio/socketInvocationComplete.ts | 16 +- invokeai/frontend/web/src/app/store/store.ts | 8 +- .../src/common/components/IAIDropOverlay.tsx | 6 +- .../components/IAIMantineSearchableSelect.tsx | 4 +- .../src/common/components/ImageUploader.tsx | 2 +- .../src/common/hooks/useImageUploadButton.tsx | 2 +- .../canvas/hooks/useColorUnderCursor.ts | 4 + .../src/features/canvas/store/canvasSlice.ts | 9 +- .../components/ChangeBoardModal.tsx | 132 +++ .../changeBoardModal/store/initialState.ts | 6 + .../features/changeBoardModal/store/slice.ts | 25 + .../features/changeBoardModal/store/types.ts | 6 + .../controlNet/components/ControlNet.tsx | 38 +- .../components/ControlNetImagePreview.tsx | 63 +- .../ControlNetProcessorComponent.tsx | 28 +- .../ParamControlNetShouldAutoConfig.tsx | 29 +- .../parameters/ParamControlNetBeginEnd.tsx | 41 +- .../parameters/ParamControlNetControlMode.tsx | 27 +- .../parameters/ParamControlNetModel.tsx | 35 +- .../ParamControlNetProcessorSelect.tsx | 26 +- .../parameters/ParamControlNetResizeMode.tsx | 27 +- .../parameters/ParamControlNetWeight.tsx | 30 +- .../features/controlNet/store/constants.ts | 2 +- .../controlNet/store/controlNetSlice.ts | 159 ++-- .../components/DeleteImageButton.tsx | 0 .../components/DeleteImageModal.tsx | 51 +- .../components/ImageUsageMessage.tsx | 0 .../store/actions.ts | 6 +- .../deleteImageModal/store/initialState.ts | 6 + .../store/selectors.ts} | 14 +- .../features/deleteImageModal/store/slice.ts | 28 + .../features/deleteImageModal/store/types.ts | 13 + .../components/Boards/BoardAutoAddSelect.tsx | 2 +- .../components/Boards/BoardContextMenu.tsx | 3 +- .../Boards/BoardsList/BatchBoard.tsx | 43 - .../Boards/BoardsList/BoardsList.tsx | 15 +- .../Boards/BoardsList/BoardsSearch.tsx | 18 +- .../Boards/BoardsList/GalleryBoard.tsx | 241 +++--- .../Boards/BoardsList/NoBoardBoard.tsx | 43 +- .../components/Boards/DeleteBoardModal.tsx | 25 +- .../Boards/UpdateImageBoardModal.tsx | 93 --- .../CurrentImage/CurrentImageButtons.tsx | 12 +- .../CurrentImage/CurrentImagePreview.tsx | 8 +- .../components/GallerySettingsPopover.tsx | 58 +- .../ImageContextMenu/ImageContextMenu.tsx | 55 +- .../MultipleSelectionMenuItems.tsx | 36 +- .../SingleSelectionMenuItems.tsx | 80 +- .../components/ImageGalleryContent.tsx | 13 +- .../components/ImageGrid/BatchImage.tsx | 122 --- .../components/ImageGrid/BatchImageGrid.tsx | 87 -- .../components/ImageGrid/GalleryImage.tsx | 63 +- .../ImageMetadataActions.tsx | 2 +- .../gallery/hooks/useMultiselect.ts.ts | 93 +++ .../gallery/hooks/useNextPrevImage.ts | 62 +- .../web/src/features/gallery/store/actions.ts | 2 +- .../src/features/gallery/store/boardSlice.ts | 29 - .../gallery/store/gallerySelectors.ts | 4 +- .../features/gallery/store/gallerySlice.ts | 111 +-- .../web/src/features/gallery/store/types.ts | 13 +- .../imageDeletion/store/imageDeletionSlice.ts | 37 - .../src/features/imageDeletion/store/types.ts | 6 - .../web/src/features/lora/store/loraSlice.ts | 12 +- .../nodes/components/search/NodeSearch.tsx | 10 +- .../src/features/nodes/store/nodesSlice.ts | 24 +- .../nodes/util/fieldTemplateBuilders.ts | 25 +- .../ControlNet/ParamControlNetCollapse.tsx | 11 +- .../parameters/hooks/useRecallParameters.ts | 2 +- .../AddModelsPanel/AdvancedAddCheckpoint.tsx | 4 +- .../AddModelsPanel/AdvancedAddDiffusers.tsx | 2 +- .../subpanels/MergeModelsPanel.tsx | 9 +- .../ModelManagerPanel/ModelConvert.tsx | 16 +- .../web/src/features/ui/store/uiSelectors.ts | 4 +- .../src/services/api/endpoints/boardImages.ts | 36 - .../web/src/services/api/endpoints/boards.ts | 223 +---- .../web/src/services/api/endpoints/images.ts | 786 +++++++++++++----- .../web/src/services/api/endpoints/models.ts | 15 +- .../src/services/api/hooks/useBoardName.ts | 2 +- .../src/services/api/hooks/useBoardTotal.ts | 2 +- .../frontend/web/src/services/api/schema.d.ts | 302 +++++-- .../src/services/api/{types.d.ts => types.ts} | 34 +- .../frontend/web/src/services/api/util.ts | 56 ++ .../src/theme/util/generateColorPalette.ts | 2 +- invokeai/frontend/web/tsconfig.json | 2 + 116 files changed, 2470 insertions(+), 2181 deletions(-) create mode 100644 invokeai/app/services/models/board_image.py create mode 100644 invokeai/app/util/model_exclude_null.py rename invokeai/frontend/web/scripts/{typegen.ts => typegen.js} (100%) delete mode 100644 invokeai/frontend/web/src/app/contexts/AddImageToBoardContext.tsx delete mode 100644 invokeai/frontend/web/src/app/contexts/ImageUploaderTriggerContext.ts create mode 100644 invokeai/frontend/web/src/features/changeBoardModal/components/ChangeBoardModal.tsx create mode 100644 invokeai/frontend/web/src/features/changeBoardModal/store/initialState.ts create mode 100644 invokeai/frontend/web/src/features/changeBoardModal/store/slice.ts create mode 100644 invokeai/frontend/web/src/features/changeBoardModal/store/types.ts rename invokeai/frontend/web/src/features/{imageDeletion => deleteImageModal}/components/DeleteImageButton.tsx (100%) rename invokeai/frontend/web/src/features/{imageDeletion => deleteImageModal}/components/DeleteImageModal.tsx (70%) rename invokeai/frontend/web/src/features/{imageDeletion => deleteImageModal}/components/ImageUsageMessage.tsx (100%) rename invokeai/frontend/web/src/features/{imageDeletion => deleteImageModal}/store/actions.ts (65%) create mode 100644 invokeai/frontend/web/src/features/deleteImageModal/store/initialState.ts rename invokeai/frontend/web/src/features/{imageDeletion/store/imageDeletionSelectors.ts => deleteImageModal/store/selectors.ts} (84%) create mode 100644 invokeai/frontend/web/src/features/deleteImageModal/store/slice.ts create mode 100644 invokeai/frontend/web/src/features/deleteImageModal/store/types.ts delete mode 100644 invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/BatchBoard.tsx delete mode 100644 invokeai/frontend/web/src/features/gallery/components/Boards/UpdateImageBoardModal.tsx delete mode 100644 invokeai/frontend/web/src/features/gallery/components/ImageGrid/BatchImage.tsx delete mode 100644 invokeai/frontend/web/src/features/gallery/components/ImageGrid/BatchImageGrid.tsx create mode 100644 invokeai/frontend/web/src/features/gallery/hooks/useMultiselect.ts.ts delete mode 100644 invokeai/frontend/web/src/features/gallery/store/boardSlice.ts delete mode 100644 invokeai/frontend/web/src/features/imageDeletion/store/imageDeletionSlice.ts delete mode 100644 invokeai/frontend/web/src/features/imageDeletion/store/types.ts delete mode 100644 invokeai/frontend/web/src/services/api/endpoints/boardImages.ts rename invokeai/frontend/web/src/services/api/{types.d.ts => types.ts} (89%) create mode 100644 invokeai/frontend/web/src/services/api/util.ts diff --git a/invokeai/app/api/routers/board_images.py b/invokeai/app/api/routers/board_images.py index 6cb073ca7c..73607ecb7d 100644 --- a/invokeai/app/api/routers/board_images.py +++ b/invokeai/app/api/routers/board_images.py @@ -1,24 +1,30 @@ -from fastapi import Body, HTTPException, Path, Query +from fastapi import Body, HTTPException from fastapi.routing import APIRouter -from invokeai.app.services.board_record_storage import BoardRecord, BoardChanges -from invokeai.app.services.image_record_storage import OffsetPaginatedResults -from invokeai.app.services.models.board_record import BoardDTO -from invokeai.app.services.models.image_record import ImageDTO +from pydantic import BaseModel, Field from ..dependencies import ApiDependencies board_images_router = APIRouter(prefix="/v1/board_images", tags=["boards"]) +class AddImagesToBoardResult(BaseModel): + board_id: str = Field(description="The id of the board the images were added to") + added_image_names: list[str] = Field(description="The image names that were added to the board") + + +class RemoveImagesFromBoardResult(BaseModel): + removed_image_names: list[str] = Field(description="The image names that were removed from their board") + + @board_images_router.post( "/", - operation_id="create_board_image", + operation_id="add_image_to_board", responses={ 201: {"description": "The image was added to a board successfully"}, }, status_code=201, ) -async def create_board_image( +async def add_image_to_board( board_id: str = Body(description="The id of the board to add to"), image_name: str = Body(description="The name of the image to add"), ): @@ -29,26 +35,78 @@ async def create_board_image( ) return result except Exception as e: - raise HTTPException(status_code=500, detail="Failed to add to board") + raise HTTPException(status_code=500, detail="Failed to add image to board") @board_images_router.delete( "/", - operation_id="remove_board_image", + operation_id="remove_image_from_board", responses={ 201: {"description": "The image was removed from the board successfully"}, }, status_code=201, ) -async def remove_board_image( - board_id: str = Body(description="The id of the board"), - image_name: str = Body(description="The name of the image to remove"), +async def remove_image_from_board( + image_name: str = Body(description="The name of the image to remove", embed=True), ): - """Deletes a board_image""" + """Removes an image from its board, if it had one""" try: - result = ApiDependencies.invoker.services.board_images.remove_image_from_board( - board_id=board_id, image_name=image_name - ) + result = ApiDependencies.invoker.services.board_images.remove_image_from_board(image_name=image_name) return result except Exception as e: - raise HTTPException(status_code=500, detail="Failed to update board") + raise HTTPException(status_code=500, detail="Failed to remove image from board") + + +@board_images_router.post( + "/batch", + operation_id="add_images_to_board", + responses={ + 201: {"description": "Images were added to board successfully"}, + }, + status_code=201, + response_model=AddImagesToBoardResult, +) +async def add_images_to_board( + board_id: str = Body(description="The id of the board to add to"), + image_names: list[str] = Body(description="The names of the images to add", embed=True), +) -> AddImagesToBoardResult: + """Adds a list of images to a board""" + try: + added_image_names: list[str] = [] + for image_name in image_names: + try: + ApiDependencies.invoker.services.board_images.add_image_to_board( + board_id=board_id, image_name=image_name + ) + added_image_names.append(image_name) + except: + pass + return AddImagesToBoardResult(board_id=board_id, added_image_names=added_image_names) + except Exception as e: + raise HTTPException(status_code=500, detail="Failed to add images to board") + + +@board_images_router.post( + "/batch/delete", + operation_id="remove_images_from_board", + responses={ + 201: {"description": "Images were removed from board successfully"}, + }, + status_code=201, + response_model=RemoveImagesFromBoardResult, +) +async def remove_images_from_board( + image_names: list[str] = Body(description="The names of the images to remove", embed=True), +) -> RemoveImagesFromBoardResult: + """Removes a list of images from their board, if they had one""" + try: + removed_image_names: list[str] = [] + for image_name in image_names: + try: + ApiDependencies.invoker.services.board_images.remove_image_from_board(image_name=image_name) + removed_image_names.append(image_name) + except: + pass + return RemoveImagesFromBoardResult(removed_image_names=removed_image_names) + except Exception as e: + raise HTTPException(status_code=500, detail="Failed to remove images from board") diff --git a/invokeai/app/api/routers/images.py b/invokeai/app/api/routers/images.py index 498a1139e4..aff409e9e5 100644 --- a/invokeai/app/api/routers/images.py +++ b/invokeai/app/api/routers/images.py @@ -5,6 +5,7 @@ from fastapi import Body, HTTPException, Path, Query, Request, Response, UploadF from fastapi.responses import FileResponse from fastapi.routing import APIRouter from PIL import Image +from pydantic import BaseModel, Field from invokeai.app.invocations.metadata import ImageMetadata from invokeai.app.models.image import ImageCategory, ResourceOrigin @@ -25,7 +26,7 @@ IMAGE_MAX_AGE = 31536000 @images_router.post( - "/", + "/upload", operation_id="upload_image", responses={ 201: {"description": "The image was uploaded successfully"}, @@ -77,7 +78,7 @@ async def upload_image( raise HTTPException(status_code=500, detail="Failed to create image") -@images_router.delete("/{image_name}", operation_id="delete_image") +@images_router.delete("/i/{image_name}", operation_id="delete_image") async def delete_image( image_name: str = Path(description="The name of the image to delete"), ) -> None: @@ -103,7 +104,7 @@ async def clear_intermediates() -> int: @images_router.patch( - "/{image_name}", + "/i/{image_name}", operation_id="update_image", response_model=ImageDTO, ) @@ -120,7 +121,7 @@ async def update_image( @images_router.get( - "/{image_name}", + "/i/{image_name}", operation_id="get_image_dto", response_model=ImageDTO, ) @@ -136,7 +137,7 @@ async def get_image_dto( @images_router.get( - "/{image_name}/metadata", + "/i/{image_name}/metadata", operation_id="get_image_metadata", response_model=ImageMetadata, ) @@ -152,7 +153,7 @@ async def get_image_metadata( @images_router.get( - "/{image_name}/full", + "/i/{image_name}/full", operation_id="get_image_full", response_class=Response, responses={ @@ -187,7 +188,7 @@ async def get_image_full( @images_router.get( - "/{image_name}/thumbnail", + "/i/{image_name}/thumbnail", operation_id="get_image_thumbnail", response_class=Response, responses={ @@ -216,7 +217,7 @@ async def get_image_thumbnail( @images_router.get( - "/{image_name}/urls", + "/i/{image_name}/urls", operation_id="get_image_urls", response_model=ImageUrlsDTO, ) @@ -265,3 +266,24 @@ async def list_image_dtos( ) return image_dtos + + +class DeleteImagesFromListResult(BaseModel): + deleted_images: list[str] + + +@images_router.post("/delete", operation_id="delete_images_from_list", response_model=DeleteImagesFromListResult) +async def delete_images_from_list( + image_names: list[str] = Body(description="The list of names of images to delete", embed=True), +) -> DeleteImagesFromListResult: + try: + deleted_images: list[str] = [] + for image_name in image_names: + try: + ApiDependencies.invoker.services.images.delete(image_name) + deleted_images.append(image_name) + except: + pass + return DeleteImagesFromListResult(deleted_images=deleted_images) + except Exception as e: + raise HTTPException(status_code=500, detail="Failed to delete images") diff --git a/invokeai/app/invocations/metadata.py b/invokeai/app/invocations/metadata.py index 3588ef4ebe..f91e6cc4c7 100644 --- a/invokeai/app/invocations/metadata.py +++ b/invokeai/app/invocations/metadata.py @@ -1,6 +1,6 @@ from typing import Literal, Optional, Union -from pydantic import BaseModel, Field +from pydantic import Field from invokeai.app.invocations.baseinvocation import ( BaseInvocation, @@ -10,16 +10,17 @@ from invokeai.app.invocations.baseinvocation import ( ) from invokeai.app.invocations.controlnet_image_processors import ControlField from invokeai.app.invocations.model import LoRAModelField, MainModelField, VAEModelField +from invokeai.app.util.model_exclude_null import BaseModelExcludeNull -class LoRAMetadataField(BaseModel): +class LoRAMetadataField(BaseModelExcludeNull): """LoRA metadata for an image generated in InvokeAI.""" lora: LoRAModelField = Field(description="The LoRA model") weight: float = Field(description="The weight of the LoRA model") -class CoreMetadata(BaseModel): +class CoreMetadata(BaseModelExcludeNull): """Core generation metadata for an image generated in InvokeAI.""" generation_mode: str = Field( @@ -70,7 +71,7 @@ class CoreMetadata(BaseModel): refiner_start: Union[float, None] = Field(default=None, description="The start value used for refiner denoising") -class ImageMetadata(BaseModel): +class ImageMetadata(BaseModelExcludeNull): """An image's generation metadata""" metadata: Optional[dict] = Field( diff --git a/invokeai/app/services/board_image_record_storage.py b/invokeai/app/services/board_image_record_storage.py index f0007c8cef..03badf9866 100644 --- a/invokeai/app/services/board_image_record_storage.py +++ b/invokeai/app/services/board_image_record_storage.py @@ -25,7 +25,6 @@ class BoardImageRecordStorageBase(ABC): @abstractmethod def remove_image_from_board( self, - board_id: str, image_name: str, ) -> None: """Removes an image from a board.""" @@ -154,7 +153,6 @@ class SqliteBoardImageRecordStorage(BoardImageRecordStorageBase): def remove_image_from_board( self, - board_id: str, image_name: str, ) -> None: try: @@ -162,9 +160,9 @@ class SqliteBoardImageRecordStorage(BoardImageRecordStorageBase): self._cursor.execute( """--sql DELETE FROM board_images - WHERE board_id = ? AND image_name = ?; + WHERE image_name = ?; """, - (board_id, image_name), + (image_name,), ) self._conn.commit() except sqlite3.Error as e: diff --git a/invokeai/app/services/board_images.py b/invokeai/app/services/board_images.py index 22332d6c29..f41526bfa7 100644 --- a/invokeai/app/services/board_images.py +++ b/invokeai/app/services/board_images.py @@ -31,7 +31,6 @@ class BoardImagesServiceABC(ABC): @abstractmethod def remove_image_from_board( self, - board_id: str, image_name: str, ) -> None: """Removes an image from a board.""" @@ -93,10 +92,9 @@ class BoardImagesService(BoardImagesServiceABC): def remove_image_from_board( self, - board_id: str, image_name: str, ) -> None: - self._services.board_image_records.remove_image_from_board(board_id, image_name) + self._services.board_image_records.remove_image_from_board(image_name) def get_all_board_image_names_for_board( self, diff --git a/invokeai/app/services/models/board_image.py b/invokeai/app/services/models/board_image.py new file mode 100644 index 0000000000..fe585215f3 --- /dev/null +++ b/invokeai/app/services/models/board_image.py @@ -0,0 +1,8 @@ +from pydantic import Field + +from invokeai.app.util.model_exclude_null import BaseModelExcludeNull + + +class BoardImage(BaseModelExcludeNull): + board_id: str = Field(description="The id of the board") + image_name: str = Field(description="The name of the image") diff --git a/invokeai/app/services/models/board_record.py b/invokeai/app/services/models/board_record.py index 658698e794..53fa299faf 100644 --- a/invokeai/app/services/models/board_record.py +++ b/invokeai/app/services/models/board_record.py @@ -1,10 +1,11 @@ from typing import Optional, Union from datetime import datetime -from pydantic import BaseModel, Extra, Field, StrictBool, StrictStr +from pydantic import Field from invokeai.app.util.misc import get_iso_timestamp +from invokeai.app.util.model_exclude_null import BaseModelExcludeNull -class BoardRecord(BaseModel): +class BoardRecord(BaseModelExcludeNull): """Deserialized board record.""" board_id: str = Field(description="The unique ID of the board.") diff --git a/invokeai/app/services/models/image_record.py b/invokeai/app/services/models/image_record.py index a105d03ba8..294b760630 100644 --- a/invokeai/app/services/models/image_record.py +++ b/invokeai/app/services/models/image_record.py @@ -1,13 +1,14 @@ import datetime from typing import Optional, Union -from pydantic import BaseModel, Extra, Field, StrictBool, StrictStr +from pydantic import Extra, Field, StrictBool, StrictStr from invokeai.app.models.image import ImageCategory, ResourceOrigin from invokeai.app.util.misc import get_iso_timestamp +from invokeai.app.util.model_exclude_null import BaseModelExcludeNull -class ImageRecord(BaseModel): +class ImageRecord(BaseModelExcludeNull): """Deserialized image record without metadata.""" image_name: str = Field(description="The unique name of the image.") @@ -40,7 +41,7 @@ class ImageRecord(BaseModel): """The node ID that generated this image, if it is a generated image.""" -class ImageRecordChanges(BaseModel, extra=Extra.forbid): +class ImageRecordChanges(BaseModelExcludeNull, extra=Extra.forbid): """A set of changes to apply to an image record. Only limited changes are valid: @@ -60,7 +61,7 @@ class ImageRecordChanges(BaseModel, extra=Extra.forbid): """The image's new `is_intermediate` flag.""" -class ImageUrlsDTO(BaseModel): +class ImageUrlsDTO(BaseModelExcludeNull): """The URLs for an image and its thumbnail.""" image_name: str = Field(description="The unique name of the image.") @@ -76,11 +77,15 @@ class ImageDTO(ImageRecord, ImageUrlsDTO): board_id: Optional[str] = Field(description="The id of the board the image belongs to, if one exists.") """The id of the board the image belongs to, if one exists.""" + pass def image_record_to_dto( - image_record: ImageRecord, image_url: str, thumbnail_url: str, board_id: Optional[str] + image_record: ImageRecord, + image_url: str, + thumbnail_url: str, + board_id: Optional[str], ) -> ImageDTO: """Converts an image record to an image DTO.""" return ImageDTO( diff --git a/invokeai/app/services/urls.py b/invokeai/app/services/urls.py index 73d8ddadf4..7688b3bdd3 100644 --- a/invokeai/app/services/urls.py +++ b/invokeai/app/services/urls.py @@ -20,6 +20,6 @@ class LocalUrlService(UrlServiceBase): # These paths are determined by the routes in invokeai/app/api/routers/images.py if thumbnail: - return f"{self._base_url}/images/{image_basename}/thumbnail" + return f"{self._base_url}/images/i/{image_basename}/thumbnail" - return f"{self._base_url}/images/{image_basename}/full" + return f"{self._base_url}/images/i/{image_basename}/full" diff --git a/invokeai/app/util/model_exclude_null.py b/invokeai/app/util/model_exclude_null.py new file mode 100644 index 0000000000..d864b8fab8 --- /dev/null +++ b/invokeai/app/util/model_exclude_null.py @@ -0,0 +1,23 @@ +from typing import Any +from pydantic import BaseModel + + +""" +We want to exclude null values from objects that make their way to the client. + +Unfortunately there is no built-in way to do this in pydantic, so we need to override the default +dict method to do this. + +From https://github.com/tiangolo/fastapi/discussions/8882#discussioncomment-5154541 +""" + + +class BaseModelExcludeNull(BaseModel): + def dict(self, *args, **kwargs) -> dict[str, Any]: + """ + Override the default dict method to exclude None values in the response + """ + kwargs.pop("exclude_none", None) + return super().dict(*args, exclude_none=True, **kwargs) + + pass diff --git a/invokeai/frontend/web/package.json b/invokeai/frontend/web/package.json index a76c2ecc02..8cc2c158be 100644 --- a/invokeai/frontend/web/package.json +++ b/invokeai/frontend/web/package.json @@ -23,7 +23,7 @@ "dev": "concurrently \"vite dev\" \"yarn run theme:watch\"", "dev:host": "concurrently \"vite dev --host\" \"yarn run theme:watch\"", "build": "yarn run lint && vite build", - "typegen": "npx ts-node scripts/typegen.ts", + "typegen": "node scripts/typegen.js", "preview": "vite preview", "lint:madge": "madge --circular src/main.tsx", "lint:eslint": "eslint --max-warnings=0 .", diff --git a/invokeai/frontend/web/scripts/typegen.ts b/invokeai/frontend/web/scripts/typegen.js similarity index 100% rename from invokeai/frontend/web/scripts/typegen.ts rename to invokeai/frontend/web/scripts/typegen.js diff --git a/invokeai/frontend/web/src/app/components/App.tsx b/invokeai/frontend/web/src/app/components/App.tsx index 963d285f72..fa45ae93cd 100644 --- a/invokeai/frontend/web/src/app/components/App.tsx +++ b/invokeai/frontend/web/src/app/components/App.tsx @@ -4,8 +4,9 @@ import { appStarted } from 'app/store/middleware/listenerMiddleware/listeners/ap import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; import { PartialAppConfig } from 'app/types/invokeai'; import ImageUploader from 'common/components/ImageUploader'; +import ChangeBoardModal from 'features/changeBoardModal/components/ChangeBoardModal'; +import DeleteImageModal from 'features/deleteImageModal/components/DeleteImageModal'; import GalleryDrawer from 'features/gallery/components/GalleryPanel'; -import DeleteImageModal from 'features/imageDeletion/components/DeleteImageModal'; import SiteHeader from 'features/system/components/SiteHeader'; import { configChanged } from 'features/system/store/configSlice'; import { languageSelector } from 'features/system/store/systemSelectors'; @@ -16,7 +17,6 @@ import ParametersDrawer from 'features/ui/components/ParametersDrawer'; import i18n from 'i18n'; import { size } from 'lodash-es'; import { ReactNode, memo, useEffect } from 'react'; -import UpdateImageBoardModal from '../../features/gallery/components/Boards/UpdateImageBoardModal'; import GlobalHotkeys from './GlobalHotkeys'; import Toaster from './Toaster'; @@ -84,7 +84,7 @@ const App = ({ config = DEFAULT_CONFIG, headerComponent }: Props) => { - + diff --git a/invokeai/frontend/web/src/app/components/ImageDnd/DragPreview.tsx b/invokeai/frontend/web/src/app/components/ImageDnd/DragPreview.tsx index 82526900ad..c97778ffcd 100644 --- a/invokeai/frontend/web/src/app/components/ImageDnd/DragPreview.tsx +++ b/invokeai/frontend/web/src/app/components/ImageDnd/DragPreview.tsx @@ -58,7 +58,7 @@ const DragPreview = (props: OverlayDragImageProps) => { ); } - if (props.dragData.payloadType === 'IMAGE_NAMES') { + if (props.dragData.payloadType === 'IMAGE_DTOS') { return ( { ...STYLES, }} > - {props.dragData.payload.image_names.length} + {props.dragData.payload.imageDTOs.length} Images ); diff --git a/invokeai/frontend/web/src/app/components/ImageDnd/ImageDndContext.tsx b/invokeai/frontend/web/src/app/components/ImageDnd/ImageDndContext.tsx index 24bdceac3a..56eeb9b5db 100644 --- a/invokeai/frontend/web/src/app/components/ImageDnd/ImageDndContext.tsx +++ b/invokeai/frontend/web/src/app/components/ImageDnd/ImageDndContext.tsx @@ -18,27 +18,32 @@ import { DragStartEvent, TypesafeDraggableData, } from './typesafeDnd'; +import { logger } from 'app/logging/logger'; type ImageDndContextProps = PropsWithChildren; const ImageDndContext = (props: ImageDndContextProps) => { const [activeDragData, setActiveDragData] = useState(null); + const log = logger('images'); const dispatch = useAppDispatch(); - const handleDragStart = useCallback((event: DragStartEvent) => { - console.log('dragStart', event.active.data.current); - const activeData = event.active.data.current; - if (!activeData) { - return; - } - setActiveDragData(activeData); - }, []); + const handleDragStart = useCallback( + (event: DragStartEvent) => { + log.trace({ dragData: event.active.data.current }, 'Drag started'); + const activeData = event.active.data.current; + if (!activeData) { + return; + } + setActiveDragData(activeData); + }, + [log] + ); const handleDragEnd = useCallback( (event: DragEndEvent) => { - console.log('dragEnd', event.active.data.current); + log.trace({ dragData: event.active.data.current }, 'Drag ended'); const overData = event.over?.data.current; if (!activeDragData || !overData) { return; @@ -46,7 +51,7 @@ const ImageDndContext = (props: ImageDndContextProps) => { dispatch(dndDropped({ overData, activeData: activeDragData })); setActiveDragData(null); }, - [activeDragData, dispatch] + [activeDragData, dispatch, log] ); const mouseSensor = useSensor(MouseSensor, { diff --git a/invokeai/frontend/web/src/app/components/ImageDnd/typesafeDnd.tsx b/invokeai/frontend/web/src/app/components/ImageDnd/typesafeDnd.tsx index 5f08466710..6f24302070 100644 --- a/invokeai/frontend/web/src/app/components/ImageDnd/typesafeDnd.tsx +++ b/invokeai/frontend/web/src/app/components/ImageDnd/typesafeDnd.tsx @@ -11,7 +11,6 @@ import { useDraggable as useOriginalDraggable, useDroppable as useOriginalDroppable, } from '@dnd-kit/core'; -import { BoardId } from 'features/gallery/store/types'; import { ImageDTO } from 'services/api/types'; type BaseDropData = { @@ -54,9 +53,13 @@ export type AddToBatchDropData = BaseDropData & { actionType: 'ADD_TO_BATCH'; }; -export type MoveBoardDropData = BaseDropData & { - actionType: 'MOVE_BOARD'; - context: { boardId: BoardId }; +export type AddToBoardDropData = BaseDropData & { + actionType: 'ADD_TO_BOARD'; + context: { boardId: string }; +}; + +export type RemoveFromBoardDropData = BaseDropData & { + actionType: 'REMOVE_FROM_BOARD'; }; export type TypesafeDroppableData = @@ -67,7 +70,8 @@ export type TypesafeDroppableData = | NodesImageDropData | AddToBatchDropData | NodesMultiImageDropData - | MoveBoardDropData; + | AddToBoardDropData + | RemoveFromBoardDropData; type BaseDragData = { id: string; @@ -78,14 +82,12 @@ export type ImageDraggableData = BaseDragData & { payload: { imageDTO: ImageDTO }; }; -export type ImageNamesDraggableData = BaseDragData & { - payloadType: 'IMAGE_NAMES'; - payload: { image_names: string[] }; +export type ImageDTOsDraggableData = BaseDragData & { + payloadType: 'IMAGE_DTOS'; + payload: { imageDTOs: ImageDTO[] }; }; -export type TypesafeDraggableData = - | ImageDraggableData - | ImageNamesDraggableData; +export type TypesafeDraggableData = ImageDraggableData | ImageDTOsDraggableData; interface UseDroppableTypesafeArguments extends Omit { @@ -156,14 +158,39 @@ export const isValidDrop = ( case 'SET_NODES_IMAGE': return payloadType === 'IMAGE_DTO'; case 'SET_MULTI_NODES_IMAGE': - return payloadType === 'IMAGE_DTO' || 'IMAGE_NAMES'; + return payloadType === 'IMAGE_DTO' || 'IMAGE_DTOS'; case 'ADD_TO_BATCH': - return payloadType === 'IMAGE_DTO' || 'IMAGE_NAMES'; - case 'MOVE_BOARD': { + return payloadType === 'IMAGE_DTO' || 'IMAGE_DTOS'; + case 'ADD_TO_BOARD': { // If the board is the same, don't allow the drop // Check the payload types - const isPayloadValid = payloadType === 'IMAGE_DTO' || 'IMAGE_NAMES'; + const isPayloadValid = payloadType === 'IMAGE_DTO' || 'IMAGE_DTOS'; + if (!isPayloadValid) { + return false; + } + + // Check if the image's board is the board we are dragging onto + if (payloadType === 'IMAGE_DTO') { + const { imageDTO } = active.data.current.payload; + const currentBoard = imageDTO.board_id ?? 'none'; + const destinationBoard = overData.context.boardId; + + return currentBoard !== destinationBoard; + } + + if (payloadType === 'IMAGE_DTOS') { + // TODO (multi-select) + return true; + } + + return false; + } + case 'REMOVE_FROM_BOARD': { + // If the board is the same, don't allow the drop + + // Check the payload types + const isPayloadValid = payloadType === 'IMAGE_DTO' || 'IMAGE_DTOS'; if (!isPayloadValid) { return false; } @@ -172,20 +199,16 @@ export const isValidDrop = ( if (payloadType === 'IMAGE_DTO') { const { imageDTO } = active.data.current.payload; const currentBoard = imageDTO.board_id; - const destinationBoard = overData.context.boardId; - const isSameBoard = currentBoard === destinationBoard; - const isDestinationValid = !currentBoard ? destinationBoard : true; - - return !isSameBoard && isDestinationValid; + return currentBoard !== 'none'; } - if (payloadType === 'IMAGE_NAMES') { + if (payloadType === 'IMAGE_DTOS') { // TODO (multi-select) - return false; + return true; } - return true; + return false; } default: return false; diff --git a/invokeai/frontend/web/src/app/components/InvokeAIUI.tsx b/invokeai/frontend/web/src/app/components/InvokeAIUI.tsx index cffbaa5574..93b7825db7 100644 --- a/invokeai/frontend/web/src/app/components/InvokeAIUI.tsx +++ b/invokeai/frontend/web/src/app/components/InvokeAIUI.tsx @@ -1,4 +1,6 @@ +import { Middleware } from '@reduxjs/toolkit'; import { store } from 'app/store/store'; +import { PartialAppConfig } from 'app/types/invokeai'; import React, { lazy, memo, @@ -7,16 +9,11 @@ import React, { useEffect, } from 'react'; import { Provider } from 'react-redux'; - -import { PartialAppConfig } from 'app/types/invokeai'; import { addMiddleware, resetMiddlewares } from 'redux-dynamic-middlewares'; -import Loading from '../../common/components/Loading/Loading'; - -import { Middleware } from '@reduxjs/toolkit'; import { $authToken, $baseUrl, $projectId } from 'services/api/client'; import { socketMiddleware } from 'services/events/middleware'; +import Loading from '../../common/components/Loading/Loading'; import '../../i18n'; -import { AddImageToBoardContextProvider } from '../contexts/AddImageToBoardContext'; import ImageDndContext from './ImageDnd/ImageDndContext'; const App = lazy(() => import('./App')); @@ -84,9 +81,7 @@ const InvokeAIUI = ({ }> - - - + diff --git a/invokeai/frontend/web/src/app/contexts/AddImageToBoardContext.tsx b/invokeai/frontend/web/src/app/contexts/AddImageToBoardContext.tsx deleted file mode 100644 index d5b3b746f1..0000000000 --- a/invokeai/frontend/web/src/app/contexts/AddImageToBoardContext.tsx +++ /dev/null @@ -1,91 +0,0 @@ -import { useDisclosure } from '@chakra-ui/react'; -import { PropsWithChildren, createContext, useCallback, useState } from 'react'; -import { ImageDTO } from 'services/api/types'; -import { imagesApi } from 'services/api/endpoints/images'; -import { useAppDispatch } from '../store/storeHooks'; - -export type ImageUsage = { - isInitialImage: boolean; - isCanvasImage: boolean; - isNodesImage: boolean; - isControlNetImage: boolean; -}; - -type AddImageToBoardContextValue = { - /** - * Whether the move image dialog is open. - */ - isOpen: boolean; - /** - * Closes the move image dialog. - */ - onClose: () => void; - /** - * The image pending movement - */ - image?: ImageDTO; - onClickAddToBoard: (image: ImageDTO) => void; - handleAddToBoard: (boardId: string) => void; -}; - -export const AddImageToBoardContext = - createContext({ - isOpen: false, - onClose: () => undefined, - onClickAddToBoard: () => undefined, - handleAddToBoard: () => undefined, - }); - -type Props = PropsWithChildren; - -export const AddImageToBoardContextProvider = (props: Props) => { - const [imageToMove, setImageToMove] = useState(); - const { isOpen, onOpen, onClose } = useDisclosure(); - const dispatch = useAppDispatch(); - - // Clean up after deleting or dismissing the modal - const closeAndClearImageToDelete = useCallback(() => { - setImageToMove(undefined); - onClose(); - }, [onClose]); - - const onClickAddToBoard = useCallback( - (image?: ImageDTO) => { - if (!image) { - return; - } - setImageToMove(image); - onOpen(); - }, - [setImageToMove, onOpen] - ); - - const handleAddToBoard = useCallback( - (boardId: string) => { - if (imageToMove) { - dispatch( - imagesApi.endpoints.addImageToBoard.initiate({ - imageDTO: imageToMove, - board_id: boardId, - }) - ); - closeAndClearImageToDelete(); - } - }, - [dispatch, closeAndClearImageToDelete, imageToMove] - ); - - return ( - - {props.children} - - ); -}; diff --git a/invokeai/frontend/web/src/app/contexts/ImageUploaderTriggerContext.ts b/invokeai/frontend/web/src/app/contexts/ImageUploaderTriggerContext.ts deleted file mode 100644 index 804e124625..0000000000 --- a/invokeai/frontend/web/src/app/contexts/ImageUploaderTriggerContext.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { createContext } from 'react'; - -type VoidFunc = () => void; - -type ImageUploaderTriggerContextType = VoidFunc | null; - -export const ImageUploaderTriggerContext = - createContext(null); diff --git a/invokeai/frontend/web/src/app/store/enhancers/reduxRemember/serialize.ts b/invokeai/frontend/web/src/app/store/enhancers/reduxRemember/serialize.ts index 3407b3f7de..1b21770aa0 100644 --- a/invokeai/frontend/web/src/app/store/enhancers/reduxRemember/serialize.ts +++ b/invokeai/frontend/web/src/app/store/enhancers/reduxRemember/serialize.ts @@ -23,6 +23,6 @@ const serializationDenylist: { }; export const serialize: SerializeFunction = (data, key) => { - const result = omit(data, serializationDenylist[key]); + const result = omit(data, serializationDenylist[key] ?? []); return JSON.stringify(result); }; diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/index.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/index.ts index f06c324bc6..c15b072a07 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/index.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/index.ts @@ -27,7 +27,8 @@ import { addImageDeletedFulfilledListener, addImageDeletedPendingListener, addImageDeletedRejectedListener, - addRequestedImageDeletionListener, + addRequestedSingleImageDeletionListener, + addRequestedMultipleImageDeletionListener, } from './listeners/imageDeleted'; import { addImageDroppedListener } from './listeners/imageDropped'; import { @@ -111,7 +112,8 @@ addImageUploadedRejectedListener(); addInitialImageSelectedListener(); // Image deleted -addRequestedImageDeletionListener(); +addRequestedSingleImageDeletionListener(); +addRequestedMultipleImageDeletionListener(); addImageDeletedPendingListener(); addImageDeletedFulfilledListener(); addImageDeletedRejectedListener(); diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/addFirstListImagesListener.ts.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/addFirstListImagesListener.ts.ts index ee12f39a12..15e7d48708 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/addFirstListImagesListener.ts.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/addFirstListImagesListener.ts.ts @@ -1,12 +1,10 @@ import { createAction } from '@reduxjs/toolkit'; import { imageSelected } from 'features/gallery/store/gallerySlice'; import { IMAGE_CATEGORIES } from 'features/gallery/store/types'; -import { - ImageCache, - getListImagesUrl, - imagesApi, -} from 'services/api/endpoints/images'; +import { imagesApi } from 'services/api/endpoints/images'; import { startAppListening } from '..'; +import { getListImagesUrl, imagesAdapter } from 'services/api/util'; +import { ImageCache } from 'services/api/types'; export const appStarted = createAction('app/appStarted'); @@ -34,7 +32,8 @@ export const addFirstListImagesListener = () => { if (data.ids.length > 0) { // Select the first image - dispatch(imageSelected(data.ids[0] as string)); + const firstImage = imagesAdapter.getSelectors().selectAll(data)[0]; + dispatch(imageSelected(firstImage ?? null)); } }, }); diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/appConfigReceived.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/appConfigReceived.ts index 2d0ece3595..700b4e7626 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/appConfigReceived.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/appConfigReceived.ts @@ -18,7 +18,9 @@ export const addAppConfigReceivedListener = () => { const infillMethod = getState().generation.infillMethod; if (!infill_methods.includes(infillMethod)) { - dispatch(setInfillMethod(infill_methods[0])); + // if there is no infill method, set it to the first one + // if there is no first one... god help us + dispatch(setInfillMethod(infill_methods[0] as string)); } if (!nsfw_methods.includes('nsfw_checker')) { diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/boardAndImagesDeleted.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/boardAndImagesDeleted.ts index f0af52ced6..d4a36d64dc 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/boardAndImagesDeleted.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/boardAndImagesDeleted.ts @@ -1,14 +1,14 @@ import { resetCanvas } from 'features/canvas/store/canvasSlice'; import { controlNetReset } from 'features/controlNet/store/controlNetSlice'; -import { getImageUsage } from 'features/imageDeletion/store/imageDeletionSelectors'; +import { getImageUsage } from 'features/deleteImageModal/store/selectors'; import { nodeEditorReset } from 'features/nodes/store/nodesSlice'; import { clearInitialImage } from 'features/parameters/store/generationSlice'; +import { imagesApi } from 'services/api/endpoints/images'; import { startAppListening } from '..'; -import { boardsApi } from '../../../../../services/api/endpoints/boards'; export const addDeleteBoardAndImagesFulfilledListener = () => { startAppListening({ - matcher: boardsApi.endpoints.deleteBoardAndImages.matchFulfilled, + matcher: imagesApi.endpoints.deleteBoardAndImages.matchFulfilled, effect: async (action, { dispatch, getState }) => { const { deleted_images } = action.payload; diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/boardIdSelected.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/boardIdSelected.ts index f9c856d6cb..1b13181911 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/boardIdSelected.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/boardIdSelected.ts @@ -10,6 +10,7 @@ import { } from 'features/gallery/store/types'; import { imagesApi } from 'services/api/endpoints/images'; import { startAppListening } from '..'; +import { imagesSelectors } from 'services/api/util'; export const addBoardIdSelectedListener = () => { startAppListening({ @@ -52,8 +53,9 @@ export const addBoardIdSelectedListener = () => { queryArgs )(getState()); - if (boardImagesData?.ids.length) { - dispatch(imageSelected((boardImagesData.ids[0] as string) ?? null)); + if (boardImagesData) { + const firstImage = imagesSelectors.selectAll(boardImagesData)[0]; + dispatch(imageSelected(firstImage ?? null)); } else { // board has no images - deselect dispatch(imageSelected(null)); diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/canvasSavedToGallery.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/canvasSavedToGallery.ts index 47f7aded27..dbadb72a52 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/canvasSavedToGallery.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/canvasSavedToGallery.ts @@ -26,6 +26,8 @@ export const addCanvasSavedToGalleryListener = () => { return; } + const { autoAddBoardId } = state.gallery; + dispatch( imagesApi.endpoints.uploadImage.initiate({ file: new File([blob], 'savedCanvas.png', { @@ -33,7 +35,7 @@ export const addCanvasSavedToGalleryListener = () => { }), image_category: 'general', is_intermediate: false, - board_id: state.gallery.autoAddBoardId, + board_id: autoAddBoardId === 'none' ? undefined : autoAddBoardId, crop_visible: true, postUploadAction: { type: 'TOAST', diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/controlNetAutoProcess.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/controlNetAutoProcess.ts index 4a47e8d64e..61bcf28833 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/controlNetAutoProcess.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/controlNetAutoProcess.ts @@ -31,15 +31,20 @@ const predicate: AnyListenerPredicate = ( // do not process if the user just disabled auto-config if ( prevState.controlNet.controlNets[action.payload.controlNetId] - .shouldAutoConfig === true + ?.shouldAutoConfig === true ) { return false; } } - const { controlImage, processorType, shouldAutoConfig } = - state.controlNet.controlNets[action.payload.controlNetId]; + const cn = state.controlNet.controlNets[action.payload.controlNetId]; + if (!cn) { + // something is wrong, the controlNet should exist + return false; + } + + const { controlImage, processorType, shouldAutoConfig } = cn; if (controlNetModelChanged.match(action) && !shouldAutoConfig) { // do not process if the action is a model change but the processor settings are dirty return false; diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/controlNetImageProcessed.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/controlNetImageProcessed.ts index 313b2a02d8..fa915ef21b 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/controlNetImageProcessed.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/controlNetImageProcessed.ts @@ -17,7 +17,7 @@ export const addControlNetImageProcessedListener = () => { const { controlNetId } = action.payload; const controlNet = getState().controlNet.controlNets[controlNetId]; - if (!controlNet.controlImage) { + if (!controlNet?.controlImage) { log.error('Unable to process ControlNet image'); return; } diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageDeleted.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageDeleted.ts index 428ce53219..cdfae0095e 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageDeleted.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageDeleted.ts @@ -1,57 +1,72 @@ import { logger } from 'app/logging/logger'; import { resetCanvas } from 'features/canvas/store/canvasSlice'; import { controlNetReset } from 'features/controlNet/store/controlNetSlice'; +import { imageDeletionConfirmed } from 'features/deleteImageModal/store/actions'; +import { isModalOpenChanged } from 'features/deleteImageModal/store/slice'; import { selectListImagesBaseQueryArgs } from 'features/gallery/store/gallerySelectors'; import { imageSelected } from 'features/gallery/store/gallerySlice'; -import { imageDeletionConfirmed } from 'features/imageDeletion/store/actions'; -import { isModalOpenChanged } from 'features/imageDeletion/store/imageDeletionSlice'; import { nodeEditorReset } from 'features/nodes/store/nodesSlice'; import { clearInitialImage } from 'features/parameters/store/generationSlice'; import { clamp } from 'lodash-es'; import { api } from 'services/api'; import { imagesApi } from 'services/api/endpoints/images'; +import { imagesAdapter } from 'services/api/util'; import { startAppListening } from '..'; -/** - * Called when the user requests an image deletion - */ -export const addRequestedImageDeletionListener = () => { +export const addRequestedSingleImageDeletionListener = () => { startAppListening({ actionCreator: imageDeletionConfirmed, effect: async (action, { dispatch, getState, condition }) => { - const { imageDTO, imageUsage } = action.payload; + const { imageDTOs, imagesUsage } = action.payload; + + if (imageDTOs.length !== 1 || imagesUsage.length !== 1) { + // handle multiples in separate listener + return; + } + + const imageDTO = imageDTOs[0]; + const imageUsage = imagesUsage[0]; + + if (!imageDTO || !imageUsage) { + // satisfy noUncheckedIndexedAccess + return; + } dispatch(isModalOpenChanged(false)); - const { image_name } = imageDTO; - const state = getState(); const lastSelectedImage = - state.gallery.selection[state.gallery.selection.length - 1]; + state.gallery.selection[state.gallery.selection.length - 1]?.image_name; + + if (imageDTO && imageDTO?.image_name === lastSelectedImage) { + const { image_name } = imageDTO; - if (lastSelectedImage === image_name) { const baseQueryArgs = selectListImagesBaseQueryArgs(state); const { data } = imagesApi.endpoints.listImages.select(baseQueryArgs)(state); - const ids = data?.ids ?? []; + const cachedImageDTOs = data + ? imagesAdapter.getSelectors().selectAll(data) + : []; - const deletedImageIndex = ids.findIndex( - (result) => result.toString() === image_name + const deletedImageIndex = cachedImageDTOs.findIndex( + (i) => i.image_name === image_name ); - const filteredIds = ids.filter((id) => id.toString() !== image_name); + const filteredImageDTOs = cachedImageDTOs.filter( + (i) => i.image_name !== image_name + ); const newSelectedImageIndex = clamp( deletedImageIndex, 0, - filteredIds.length - 1 + filteredImageDTOs.length - 1 ); - const newSelectedImageId = filteredIds[newSelectedImageIndex]; + const newSelectedImageDTO = filteredImageDTOs[newSelectedImageIndex]; - if (newSelectedImageId) { - dispatch(imageSelected(newSelectedImageId as string)); + if (newSelectedImageDTO) { + dispatch(imageSelected(newSelectedImageDTO)); } else { dispatch(imageSelected(null)); } @@ -97,6 +112,66 @@ export const addRequestedImageDeletionListener = () => { }); }; +/** + * Called when the user requests an image deletion + */ +export const addRequestedMultipleImageDeletionListener = () => { + startAppListening({ + actionCreator: imageDeletionConfirmed, + effect: async (action, { dispatch, getState }) => { + const { imageDTOs, imagesUsage } = action.payload; + + if (imageDTOs.length < 1 || imagesUsage.length < 1) { + // handle singles in separate listener + return; + } + + try { + // Delete from server + await dispatch( + imagesApi.endpoints.deleteImages.initiate({ imageDTOs }) + ).unwrap(); + const state = getState(); + const baseQueryArgs = selectListImagesBaseQueryArgs(state); + const { data } = + imagesApi.endpoints.listImages.select(baseQueryArgs)(state); + + const newSelectedImageDTO = data + ? imagesAdapter.getSelectors().selectAll(data)[0] + : undefined; + + if (newSelectedImageDTO) { + dispatch(imageSelected(newSelectedImageDTO)); + } else { + dispatch(imageSelected(null)); + } + + dispatch(isModalOpenChanged(false)); + + // We need to reset the features where the image is in use - none of these work if their image(s) don't exist + + if (imagesUsage.some((i) => i.isCanvasImage)) { + dispatch(resetCanvas()); + } + + if (imagesUsage.some((i) => i.isControlNetImage)) { + dispatch(controlNetReset()); + } + + if (imagesUsage.some((i) => i.isInitialImage)) { + dispatch(clearInitialImage()); + } + + if (imagesUsage.some((i) => i.isNodesImage)) { + dispatch(nodeEditorReset()); + } + } catch { + // no-op + } + }, + }); +}; + /** * Called when the actual delete request is sent to the server */ diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageDropped.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageDropped.ts index fdf0849a12..043105cb66 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageDropped.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageDropped.ts @@ -6,10 +6,7 @@ import { import { logger } from 'app/logging/logger'; import { setInitialCanvasImage } from 'features/canvas/store/canvasSlice'; import { controlNetImageChanged } from 'features/controlNet/store/controlNetSlice'; -import { - imageSelected, - imagesAddedToBatch, -} from 'features/gallery/store/gallerySlice'; +import { imageSelected } from 'features/gallery/store/gallerySlice'; import { fieldValueChanged } from 'features/nodes/store/nodesSlice'; import { initialImageChanged } from 'features/parameters/store/generationSlice'; import { imagesApi } from 'services/api/endpoints/images'; @@ -27,19 +24,32 @@ export const addImageDroppedListener = () => { const log = logger('images'); const { activeData, overData } = action.payload; - log.debug({ activeData, overData }, 'Image or selection dropped'); + if (activeData.payloadType === 'IMAGE_DTO') { + log.debug({ activeData, overData }, 'Image dropped'); + } else if (activeData.payloadType === 'IMAGE_DTOS') { + log.debug( + { activeData, overData }, + `Images (${activeData.payload.imageDTOs.length}) dropped` + ); + } else { + log.debug({ activeData, overData }, `Unknown payload dropped`); + } - // set current image + /** + * Image dropped on current image + */ if ( overData.actionType === 'SET_CURRENT_IMAGE' && activeData.payloadType === 'IMAGE_DTO' && activeData.payload.imageDTO ) { - dispatch(imageSelected(activeData.payload.imageDTO.image_name)); + dispatch(imageSelected(activeData.payload.imageDTO)); return; } - // set initial image + /** + * Image dropped on initial image + */ if ( overData.actionType === 'SET_INITIAL_IMAGE' && activeData.payloadType === 'IMAGE_DTO' && @@ -49,27 +59,9 @@ export const addImageDroppedListener = () => { return; } - // add image to batch - if ( - overData.actionType === 'ADD_TO_BATCH' && - activeData.payloadType === 'IMAGE_DTO' && - activeData.payload.imageDTO - ) { - dispatch(imagesAddedToBatch([activeData.payload.imageDTO.image_name])); - return; - } - - // add multiple images to batch - if ( - overData.actionType === 'ADD_TO_BATCH' && - activeData.payloadType === 'IMAGE_NAMES' - ) { - dispatch(imagesAddedToBatch(activeData.payload.image_names)); - - return; - } - - // set control image + /** + * Image dropped on ControlNet + */ if ( overData.actionType === 'SET_CONTROLNET_IMAGE' && activeData.payloadType === 'IMAGE_DTO' && @@ -85,7 +77,9 @@ export const addImageDroppedListener = () => { return; } - // set canvas image + /** + * Image dropped on Canvas + */ if ( overData.actionType === 'SET_CANVAS_INITIAL_IMAGE' && activeData.payloadType === 'IMAGE_DTO' && @@ -95,7 +89,9 @@ export const addImageDroppedListener = () => { return; } - // set nodes image + /** + * Image dropped on node image field + */ if ( overData.actionType === 'SET_NODES_IMAGE' && activeData.payloadType === 'IMAGE_DTO' && @@ -112,61 +108,36 @@ export const addImageDroppedListener = () => { return; } - // set multiple nodes images (single image handler) - if ( - overData.actionType === 'SET_MULTI_NODES_IMAGE' && - activeData.payloadType === 'IMAGE_DTO' && - activeData.payload.imageDTO - ) { - const { fieldName, nodeId } = overData.context; - dispatch( - fieldValueChanged({ - nodeId, - fieldName, - value: [activeData.payload.imageDTO], - }) - ); - return; - } - - // // set multiple nodes images (multiple images handler) + /** + * TODO + * Image selection dropped on node image collection field + */ // if ( // overData.actionType === 'SET_MULTI_NODES_IMAGE' && - // activeData.payloadType === 'IMAGE_NAMES' + // activeData.payloadType === 'IMAGE_DTO' && + // activeData.payload.imageDTO // ) { // const { fieldName, nodeId } = overData.context; // dispatch( - // imageCollectionFieldValueChanged({ + // fieldValueChanged({ // nodeId, // fieldName, - // value: activeData.payload.image_names.map((image_name) => ({ - // image_name, - // })), + // value: [activeData.payload.imageDTO], // }) // ); // return; // } - // add image to board + /** + * Image dropped on user board + */ if ( - overData.actionType === 'MOVE_BOARD' && + overData.actionType === 'ADD_TO_BOARD' && activeData.payloadType === 'IMAGE_DTO' && activeData.payload.imageDTO ) { const { imageDTO } = activeData.payload; const { boardId } = overData.context; - - // image was droppe on the "NoBoardBoard" - if (!boardId) { - dispatch( - imagesApi.endpoints.removeImageFromBoard.initiate({ - imageDTO, - }) - ); - return; - } - - // image was dropped on a user board dispatch( imagesApi.endpoints.addImageToBoard.initiate({ imageDTO, @@ -176,67 +147,58 @@ export const addImageDroppedListener = () => { return; } - // // add gallery selection to board - // if ( - // overData.actionType === 'MOVE_BOARD' && - // activeData.payloadType === 'IMAGE_NAMES' && - // overData.context.boardId - // ) { - // console.log('adding gallery selection to board'); - // const board_id = overData.context.boardId; - // dispatch( - // boardImagesApi.endpoints.addManyBoardImages.initiate({ - // board_id, - // image_names: activeData.payload.image_names, - // }) - // ); - // return; - // } + /** + * Image dropped on 'none' board + */ + if ( + overData.actionType === 'REMOVE_FROM_BOARD' && + activeData.payloadType === 'IMAGE_DTO' && + activeData.payload.imageDTO + ) { + const { imageDTO } = activeData.payload; + dispatch( + imagesApi.endpoints.removeImageFromBoard.initiate({ + imageDTO, + }) + ); + return; + } - // // remove gallery selection from board - // if ( - // overData.actionType === 'MOVE_BOARD' && - // activeData.payloadType === 'IMAGE_NAMES' && - // overData.context.boardId === null - // ) { - // console.log('removing gallery selection to board'); - // dispatch( - // boardImagesApi.endpoints.deleteManyBoardImages.initiate({ - // image_names: activeData.payload.image_names, - // }) - // ); - // return; - // } + /** + * Multiple images dropped on user board + */ + if ( + overData.actionType === 'ADD_TO_BOARD' && + activeData.payloadType === 'IMAGE_DTOS' && + activeData.payload.imageDTOs + ) { + const { imageDTOs } = activeData.payload; + const { boardId } = overData.context; + dispatch( + imagesApi.endpoints.addImagesToBoard.initiate({ + imageDTOs, + board_id: boardId, + }) + ); + return; + } - // // add batch selection to board - // if ( - // overData.actionType === 'MOVE_BOARD' && - // activeData.payloadType === 'IMAGE_NAMES' && - // overData.context.boardId - // ) { - // const board_id = overData.context.boardId; - // dispatch( - // boardImagesApi.endpoints.addManyBoardImages.initiate({ - // board_id, - // image_names: activeData.payload.image_names, - // }) - // ); - // return; - // } - - // // remove batch selection from board - // if ( - // overData.actionType === 'MOVE_BOARD' && - // activeData.payloadType === 'IMAGE_NAMES' && - // overData.context.boardId === null - // ) { - // dispatch( - // boardImagesApi.endpoints.deleteManyBoardImages.initiate({ - // image_names: activeData.payload.image_names, - // }) - // ); - // return; - // } + /** + * Multiple images dropped on 'none' board + */ + if ( + overData.actionType === 'REMOVE_FROM_BOARD' && + activeData.payloadType === 'IMAGE_DTOS' && + activeData.payload.imageDTOs + ) { + const { imageDTOs } = activeData.payload; + dispatch( + imagesApi.endpoints.removeImagesFromBoard.initiate({ + imageDTOs, + }) + ); + return; + } }, }); }; diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageToDeleteSelected.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageToDeleteSelected.ts index 3a5eed95db..88a4e773d5 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageToDeleteSelected.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageToDeleteSelected.ts @@ -1,37 +1,32 @@ -import { imageDeletionConfirmed } from 'features/imageDeletion/store/actions'; -import { selectImageUsage } from 'features/imageDeletion/store/imageDeletionSelectors'; +import { imageDeletionConfirmed } from 'features/deleteImageModal/store/actions'; +import { selectImageUsage } from 'features/deleteImageModal/store/selectors'; import { - imageToDeleteSelected, + imagesToDeleteSelected, isModalOpenChanged, -} from 'features/imageDeletion/store/imageDeletionSlice'; +} from 'features/deleteImageModal/store/slice'; import { startAppListening } from '..'; export const addImageToDeleteSelectedListener = () => { startAppListening({ - actionCreator: imageToDeleteSelected, + actionCreator: imagesToDeleteSelected, effect: async (action, { dispatch, getState }) => { - const imageDTO = action.payload; + const imageDTOs = action.payload; const state = getState(); const { shouldConfirmOnDelete } = state.system; - const imageUsage = selectImageUsage(getState()); - - if (!imageUsage) { - // should never happen - return; - } + const imagesUsage = selectImageUsage(getState()); const isImageInUse = - imageUsage.isCanvasImage || - imageUsage.isInitialImage || - imageUsage.isControlNetImage || - imageUsage.isNodesImage; + imagesUsage.some((i) => i.isCanvasImage) || + imagesUsage.some((i) => i.isInitialImage) || + imagesUsage.some((i) => i.isControlNetImage) || + imagesUsage.some((i) => i.isNodesImage); if (shouldConfirmOnDelete || isImageInUse) { dispatch(isModalOpenChanged(true)); return; } - dispatch(imageDeletionConfirmed({ imageDTO, imageUsage })); + dispatch(imageDeletionConfirmed({ imageDTOs, imagesUsage })); }, }); }; diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageUploaded.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageUploaded.ts index dd581d893c..f488259eb7 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageUploaded.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageUploaded.ts @@ -2,14 +2,13 @@ import { UseToastOptions } from '@chakra-ui/react'; import { logger } from 'app/logging/logger'; import { setInitialCanvasImage } from 'features/canvas/store/canvasSlice'; import { controlNetImageChanged } from 'features/controlNet/store/controlNetSlice'; -import { imagesAddedToBatch } from 'features/gallery/store/gallerySlice'; import { fieldValueChanged } from 'features/nodes/store/nodesSlice'; import { initialImageChanged } from 'features/parameters/store/generationSlice'; import { addToast } from 'features/system/store/systemSlice'; +import { omit } from 'lodash-es'; import { boardsApi } from 'services/api/endpoints/boards'; import { startAppListening } from '..'; import { imagesApi } from '../../../../../services/api/endpoints/images'; -import { omit } from 'lodash-es'; const DEFAULT_UPLOADED_TOAST: UseToastOptions = { title: 'Image Uploaded', @@ -121,17 +120,6 @@ export const addImageUploadedFulfilledListener = () => { ); return; } - - if (postUploadAction?.type === 'ADD_TO_BATCH') { - dispatch(imagesAddedToBatch([imageDTO.image_name])); - dispatch( - addToast({ - ...DEFAULT_UPLOADED_TOAST, - description: 'Added to batch', - }) - ); - return; - } }, }); }; diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/modelsLoaded.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/modelsLoaded.ts index 325e843900..436a58aa8e 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/modelsLoaded.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/modelsLoaded.ts @@ -15,7 +15,7 @@ import { setShouldUseSDXLRefiner, } from 'features/sdxl/store/sdxlSlice'; import { forEach, some } from 'lodash-es'; -import { modelsApi } from 'services/api/endpoints/models'; +import { modelsApi, vaeModelsAdapter } from 'services/api/endpoints/models'; import { startAppListening } from '..'; export const addModelsLoadedListener = () => { @@ -144,8 +144,9 @@ export const addModelsLoadedListener = () => { return; } - const firstModelId = action.payload.ids[0]; - const firstModel = action.payload.entities[firstModelId]; + const firstModel = vaeModelsAdapter + .getSelectors() + .selectAll(action.payload)[0]; if (!firstModel) { // No custom VAEs loaded at all; use the default diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/socketio/socketInvocationComplete.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/socketio/socketInvocationComplete.ts index e36c49be63..30e0bedb54 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/socketio/socketInvocationComplete.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/socketio/socketInvocationComplete.ts @@ -8,9 +8,10 @@ import { } from 'features/gallery/store/gallerySlice'; import { IMAGE_CATEGORIES } from 'features/gallery/store/types'; import { progressImageSet } from 'features/system/store/systemSlice'; -import { imagesAdapter, imagesApi } from 'services/api/endpoints/images'; +import { imagesApi } from 'services/api/endpoints/images'; import { isImageOutput } from 'services/api/guards'; import { sessionCanceled } from 'services/api/thunks/session'; +import { imagesAdapter } from 'services/api/util'; import { appSocketInvocationComplete, socketInvocationComplete, @@ -67,7 +68,7 @@ export const addInvocationCompleteEventListener = () => { */ const { autoAddBoardId } = gallery; - if (autoAddBoardId) { + if (autoAddBoardId && autoAddBoardId !== 'none') { dispatch( imagesApi.endpoints.addImageToBoard.initiate({ board_id: autoAddBoardId, @@ -83,10 +84,7 @@ export const addInvocationCompleteEventListener = () => { categories: IMAGE_CATEGORIES, }, (draft) => { - const oldTotal = draft.total; - const newState = imagesAdapter.addOne(draft, imageDTO); - const delta = newState.total - oldTotal; - draft.total = draft.total + delta; + imagesAdapter.addOne(draft, imageDTO); } ) ); @@ -94,8 +92,8 @@ export const addInvocationCompleteEventListener = () => { dispatch( imagesApi.util.invalidateTags([ - { type: 'BoardImagesTotal', id: autoAddBoardId ?? 'none' }, - { type: 'BoardAssetsTotal', id: autoAddBoardId ?? 'none' }, + { type: 'BoardImagesTotal', id: autoAddBoardId }, + { type: 'BoardAssetsTotal', id: autoAddBoardId }, ]) ); @@ -110,7 +108,7 @@ export const addInvocationCompleteEventListener = () => { } else if (!autoAddBoardId) { dispatch(galleryViewChanged('images')); } - dispatch(imageSelected(imageDTO.image_name)); + dispatch(imageSelected(imageDTO)); } } diff --git a/invokeai/frontend/web/src/app/store/store.ts b/invokeai/frontend/web/src/app/store/store.ts index d71a147913..6b544252db 100644 --- a/invokeai/frontend/web/src/app/store/store.ts +++ b/invokeai/frontend/web/src/app/store/store.ts @@ -8,9 +8,9 @@ import { import canvasReducer from 'features/canvas/store/canvasSlice'; import controlNetReducer from 'features/controlNet/store/controlNetSlice'; import dynamicPromptsReducer from 'features/dynamicPrompts/store/dynamicPromptsSlice'; -import boardsReducer from 'features/gallery/store/boardSlice'; import galleryReducer from 'features/gallery/store/gallerySlice'; -import imageDeletionReducer from 'features/imageDeletion/store/imageDeletionSlice'; +import deleteImageModalReducer from 'features/deleteImageModal/store/slice'; +import changeBoardModalReducer from 'features/changeBoardModal/store/slice'; import loraReducer from 'features/lora/store/loraSlice'; import nodesReducer from 'features/nodes/store/nodesSlice'; import generationReducer from 'features/parameters/store/generationSlice'; @@ -43,9 +43,9 @@ const allReducers = { ui: uiReducer, hotkeys: hotkeysReducer, controlNet: controlNetReducer, - boards: boardsReducer, dynamicPrompts: dynamicPromptsReducer, - imageDeletion: imageDeletionReducer, + deleteImageModal: deleteImageModalReducer, + changeBoardModal: changeBoardModalReducer, lora: loraReducer, modelmanager: modelmanagerReducer, sdxl: sdxlReducer, diff --git a/invokeai/frontend/web/src/common/components/IAIDropOverlay.tsx b/invokeai/frontend/web/src/common/components/IAIDropOverlay.tsx index 7601758409..f9bb36cc50 100644 --- a/invokeai/frontend/web/src/common/components/IAIDropOverlay.tsx +++ b/invokeai/frontend/web/src/common/components/IAIDropOverlay.tsx @@ -1,4 +1,4 @@ -import { Flex, Text, useColorMode } from '@chakra-ui/react'; +import { Box, Flex, useColorMode } from '@chakra-ui/react'; import { motion } from 'framer-motion'; import { ReactNode, memo, useRef } from 'react'; import { mode } from 'theme/util/mode'; @@ -74,7 +74,7 @@ export const IAIDropOverlay = (props: Props) => { justifyContent: 'center', }} > - { }} > {label} - + diff --git a/invokeai/frontend/web/src/common/components/IAIMantineSearchableSelect.tsx b/invokeai/frontend/web/src/common/components/IAIMantineSearchableSelect.tsx index 2c3f5434ad..079421d4e5 100644 --- a/invokeai/frontend/web/src/common/components/IAIMantineSearchableSelect.tsx +++ b/invokeai/frontend/web/src/common/components/IAIMantineSearchableSelect.tsx @@ -53,7 +53,9 @@ const IAIMantineSearchableSelect = (props: IAISelectProps) => { // wrap onChange to clear search value on select const handleChange = useCallback( (v: string | null) => { - setSearchValue(''); + // cannot figure out why we were doing this, but it was causing an issue where if you + // select the currently-selected item, it reset the search value to empty + // setSearchValue(''); if (!onChange) { return; diff --git a/invokeai/frontend/web/src/common/components/ImageUploader.tsx b/invokeai/frontend/web/src/common/components/ImageUploader.tsx index de347b8381..c990a9a24e 100644 --- a/invokeai/frontend/web/src/common/components/ImageUploader.tsx +++ b/invokeai/frontend/web/src/common/components/ImageUploader.tsx @@ -78,7 +78,7 @@ const ImageUploader = (props: ImageUploaderProps) => { image_category: 'user', is_intermediate: false, postUploadAction, - board_id: autoAddBoardId, + board_id: autoAddBoardId === 'none' ? undefined : autoAddBoardId, }); }, [autoAddBoardId, postUploadAction, uploadImage] diff --git a/invokeai/frontend/web/src/common/hooks/useImageUploadButton.tsx b/invokeai/frontend/web/src/common/hooks/useImageUploadButton.tsx index c04c0182cd..dcbd81b2dd 100644 --- a/invokeai/frontend/web/src/common/hooks/useImageUploadButton.tsx +++ b/invokeai/frontend/web/src/common/hooks/useImageUploadButton.tsx @@ -49,7 +49,7 @@ export const useImageUploadButton = ({ image_category: 'user', is_intermediate: false, postUploadAction: postUploadAction ?? { type: 'TOAST' }, - board_id: autoAddBoardId, + board_id: autoAddBoardId === 'none' ? undefined : autoAddBoardId, }); }, [autoAddBoardId, postUploadAction, uploadImage] diff --git a/invokeai/frontend/web/src/features/canvas/hooks/useColorUnderCursor.ts b/invokeai/frontend/web/src/features/canvas/hooks/useColorUnderCursor.ts index 1356b24416..64289a1fd3 100644 --- a/invokeai/frontend/web/src/features/canvas/hooks/useColorUnderCursor.ts +++ b/invokeai/frontend/web/src/features/canvas/hooks/useColorUnderCursor.ts @@ -33,6 +33,10 @@ const useColorPicker = () => { 1 ).data; + if (!(a && r && g && b)) { + return; + } + dispatch(setColorPickerColor({ r, g, b, a })); }, commitColorUnderCursor: () => { diff --git a/invokeai/frontend/web/src/features/canvas/store/canvasSlice.ts b/invokeai/frontend/web/src/features/canvas/store/canvasSlice.ts index 3163e513e9..f63ab2fd67 100644 --- a/invokeai/frontend/web/src/features/canvas/store/canvasSlice.ts +++ b/invokeai/frontend/web/src/features/canvas/store/canvasSlice.ts @@ -727,10 +727,13 @@ export const canvasSlice = createSlice({ state.pastLayerStates.shift(); } - state.layerState.objects.push({ - ...images[selectedImageIndex], - }); + const imageToCommit = images[selectedImageIndex]; + if (imageToCommit) { + state.layerState.objects.push({ + ...imageToCommit, + }); + } state.layerState.stagingArea = { ...initialLayerState.stagingArea, }; diff --git a/invokeai/frontend/web/src/features/changeBoardModal/components/ChangeBoardModal.tsx b/invokeai/frontend/web/src/features/changeBoardModal/components/ChangeBoardModal.tsx new file mode 100644 index 0000000000..2443fa6081 --- /dev/null +++ b/invokeai/frontend/web/src/features/changeBoardModal/components/ChangeBoardModal.tsx @@ -0,0 +1,132 @@ +import { + AlertDialog, + AlertDialogBody, + AlertDialogContent, + AlertDialogFooter, + AlertDialogHeader, + AlertDialogOverlay, + Flex, + Text, +} from '@chakra-ui/react'; +import { createSelector } from '@reduxjs/toolkit'; +import { stateSelector } from 'app/store/store'; +import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; +import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; +import IAIButton from 'common/components/IAIButton'; +import IAIMantineSearchableSelect from 'common/components/IAIMantineSearchableSelect'; +import { memo, useCallback, useMemo, useRef, useState } from 'react'; +import { useListAllBoardsQuery } from 'services/api/endpoints/boards'; +import { + useAddImagesToBoardMutation, + useRemoveImagesFromBoardMutation, +} from 'services/api/endpoints/images'; +import { changeBoardReset, isModalOpenChanged } from '../store/slice'; + +const selector = createSelector( + [stateSelector], + ({ changeBoardModal }) => { + const { isModalOpen, imagesToChange } = changeBoardModal; + + return { + isModalOpen, + imagesToChange, + }; + }, + defaultSelectorOptions +); + +const ChangeBoardModal = () => { + const dispatch = useAppDispatch(); + const [selectedBoard, setSelectedBoard] = useState(); + const { data: boards, isFetching } = useListAllBoardsQuery(); + const { imagesToChange, isModalOpen } = useAppSelector(selector); + const [addImagesToBoard] = useAddImagesToBoardMutation(); + const [removeImagesFromBoard] = useRemoveImagesFromBoardMutation(); + + const data = useMemo(() => { + const data: { label: string; value: string }[] = [ + { label: 'Uncategorized', value: 'none' }, + ]; + (boards ?? []).forEach((board) => + data.push({ + label: board.board_name, + value: board.board_id, + }) + ); + + return data; + }, [boards]); + + const handleClose = useCallback(() => { + dispatch(changeBoardReset()); + dispatch(isModalOpenChanged(false)); + }, [dispatch]); + + const handleChangeBoard = useCallback(() => { + if (!imagesToChange.length || !selectedBoard) { + return; + } + + if (selectedBoard === 'none') { + removeImagesFromBoard({ imageDTOs: imagesToChange }); + } else { + addImagesToBoard({ + imageDTOs: imagesToChange, + board_id: selectedBoard, + }); + } + setSelectedBoard(null); + dispatch(changeBoardReset()); + }, [ + addImagesToBoard, + dispatch, + imagesToChange, + removeImagesFromBoard, + selectedBoard, + ]); + + const cancelRef = useRef(null); + + return ( + + + + + Change Board + + + + + + Moving {`${imagesToChange.length}`} image + {`${imagesToChange.length > 1 ? 's' : ''}`} to board: + + setSelectedBoard(v)} + value={selectedBoard} + data={data} + /> + + + + + Cancel + + + Move + + + + + + ); +}; + +export default memo(ChangeBoardModal); diff --git a/invokeai/frontend/web/src/features/changeBoardModal/store/initialState.ts b/invokeai/frontend/web/src/features/changeBoardModal/store/initialState.ts new file mode 100644 index 0000000000..d737d0cdcd --- /dev/null +++ b/invokeai/frontend/web/src/features/changeBoardModal/store/initialState.ts @@ -0,0 +1,6 @@ +import { ChangeBoardModalState } from './types'; + +export const initialState: ChangeBoardModalState = { + isModalOpen: false, + imagesToChange: [], +}; diff --git a/invokeai/frontend/web/src/features/changeBoardModal/store/slice.ts b/invokeai/frontend/web/src/features/changeBoardModal/store/slice.ts new file mode 100644 index 0000000000..9855e2d7dd --- /dev/null +++ b/invokeai/frontend/web/src/features/changeBoardModal/store/slice.ts @@ -0,0 +1,25 @@ +import { PayloadAction, createSlice } from '@reduxjs/toolkit'; +import { ImageDTO } from 'services/api/types'; +import { initialState } from './initialState'; + +const changeBoardModal = createSlice({ + name: 'changeBoardModal', + initialState, + reducers: { + isModalOpenChanged: (state, action: PayloadAction) => { + state.isModalOpen = action.payload; + }, + imagesToChangeSelected: (state, action: PayloadAction) => { + state.imagesToChange = action.payload; + }, + changeBoardReset: (state) => { + state.imagesToChange = []; + state.isModalOpen = false; + }, + }, +}); + +export const { isModalOpenChanged, imagesToChangeSelected, changeBoardReset } = + changeBoardModal.actions; + +export default changeBoardModal.reducer; diff --git a/invokeai/frontend/web/src/features/changeBoardModal/store/types.ts b/invokeai/frontend/web/src/features/changeBoardModal/store/types.ts new file mode 100644 index 0000000000..6ce13331d0 --- /dev/null +++ b/invokeai/frontend/web/src/features/changeBoardModal/store/types.ts @@ -0,0 +1,6 @@ +import { ImageDTO } from 'services/api/types'; + +export type ChangeBoardModalState = { + isModalOpen: boolean; + imagesToChange: ImageDTO[]; +}; diff --git a/invokeai/frontend/web/src/features/controlNet/components/ControlNet.tsx b/invokeai/frontend/web/src/features/controlNet/components/ControlNet.tsx index d858e46fdb..3252207edc 100644 --- a/invokeai/frontend/web/src/features/controlNet/components/ControlNet.tsx +++ b/invokeai/frontend/web/src/features/controlNet/components/ControlNet.tsx @@ -3,6 +3,7 @@ import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; import { memo, useCallback } from 'react'; import { FaCopy, FaTrash } from 'react-icons/fa'; import { + ControlNetConfig, controlNetDuplicated, controlNetRemoved, controlNetToggled, @@ -27,18 +28,27 @@ import ParamControlNetProcessorSelect from './parameters/ParamControlNetProcesso import ParamControlNetResizeMode from './parameters/ParamControlNetResizeMode'; type ControlNetProps = { - controlNetId: string; + controlNet: ControlNetConfig; }; const ControlNet = (props: ControlNetProps) => { - const { controlNetId } = props; + const { controlNet } = props; + const { controlNetId } = controlNet; const dispatch = useAppDispatch(); const selector = createSelector( stateSelector, ({ controlNet }) => { - const { isEnabled, shouldAutoConfig } = - controlNet.controlNets[controlNetId]; + const cn = controlNet.controlNets[controlNetId]; + + if (!cn) { + return { + isEnabled: false, + shouldAutoConfig: false, + }; + } + + const { isEnabled, shouldAutoConfig } = cn; return { isEnabled, shouldAutoConfig }; }, @@ -96,7 +106,7 @@ const ControlNet = (props: ControlNetProps) => { transitionDuration: '0.1s', }} > - + { justifyContent: 'space-between', }} > - - + + {!isExpanded && ( { aspectRatio: '1/1', }} > - + )} - - + + - + {isExpanded && ( <> - - - + + + )} diff --git a/invokeai/frontend/web/src/features/controlNet/components/ControlNetImagePreview.tsx b/invokeai/frontend/web/src/features/controlNet/components/ControlNetImagePreview.tsx index 859495a941..cdab176cd2 100644 --- a/invokeai/frontend/web/src/features/controlNet/components/ControlNetImagePreview.tsx +++ b/invokeai/frontend/web/src/features/controlNet/components/ControlNetImagePreview.tsx @@ -12,50 +12,41 @@ import IAIDndImage from 'common/components/IAIDndImage'; import { memo, useCallback, useMemo, useState } from 'react'; import { useGetImageDTOQuery } from 'services/api/endpoints/images'; import { PostUploadAction } from 'services/api/types'; -import { controlNetImageChanged } from '../store/controlNetSlice'; +import { + ControlNetConfig, + controlNetImageChanged, +} from '../store/controlNetSlice'; type Props = { - controlNetId: string; + controlNet: ControlNetConfig; height: SystemStyleObject['h']; }; +const selector = createSelector( + stateSelector, + ({ controlNet }) => { + const { pendingControlImages } = controlNet; + + return { + pendingControlImages, + }; + }, + defaultSelectorOptions +); + const ControlNetImagePreview = (props: Props) => { - const { height, controlNetId } = props; + const { height } = props; + const { + controlImage: controlImageName, + processedControlImage: processedControlImageName, + processorType, + isEnabled, + controlNetId, + } = props.controlNet; + const dispatch = useAppDispatch(); - const selector = useMemo( - () => - createSelector( - stateSelector, - ({ controlNet }) => { - const { pendingControlImages } = controlNet; - const { - controlImage, - processedControlImage, - processorType, - isEnabled, - } = controlNet.controlNets[controlNetId]; - - return { - controlImageName: controlImage, - processedControlImageName: processedControlImage, - processorType, - isEnabled, - pendingControlImages, - }; - }, - defaultSelectorOptions - ), - [controlNetId] - ); - - const { - controlImageName, - processedControlImageName, - processorType, - pendingControlImages, - isEnabled, - } = useAppSelector(selector); + const { pendingControlImages } = useAppSelector(selector); const [isMouseOverImage, setIsMouseOverImage] = useState(false); diff --git a/invokeai/frontend/web/src/features/controlNet/components/ControlNetProcessorComponent.tsx b/invokeai/frontend/web/src/features/controlNet/components/ControlNetProcessorComponent.tsx index b7fa329eac..681838ef27 100644 --- a/invokeai/frontend/web/src/features/controlNet/components/ControlNetProcessorComponent.tsx +++ b/invokeai/frontend/web/src/features/controlNet/components/ControlNetProcessorComponent.tsx @@ -1,8 +1,5 @@ -import { createSelector } from '@reduxjs/toolkit'; -import { stateSelector } from 'app/store/store'; -import { useAppSelector } from 'app/store/storeHooks'; -import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; -import { memo, useMemo } from 'react'; +import { memo } from 'react'; +import { ControlNetConfig } from '../store/controlNetSlice'; import CannyProcessor from './processors/CannyProcessor'; import ContentShuffleProcessor from './processors/ContentShuffleProcessor'; import HedProcessor from './processors/HedProcessor'; @@ -17,28 +14,11 @@ import PidiProcessor from './processors/PidiProcessor'; import ZoeDepthProcessor from './processors/ZoeDepthProcessor'; export type ControlNetProcessorProps = { - controlNetId: string; + controlNet: ControlNetConfig; }; const ControlNetProcessorComponent = (props: ControlNetProcessorProps) => { - const { controlNetId } = props; - - const selector = useMemo( - () => - createSelector( - stateSelector, - ({ controlNet }) => { - const { isEnabled, processorNode } = - controlNet.controlNets[controlNetId]; - - return { isEnabled, processorNode }; - }, - defaultSelectorOptions - ), - [controlNetId] - ); - - const { isEnabled, processorNode } = useAppSelector(selector); + const { controlNetId, isEnabled, processorNode } = props.controlNet; if (processorNode.type === 'canny_image_processor') { return ( diff --git a/invokeai/frontend/web/src/features/controlNet/components/ParamControlNetShouldAutoConfig.tsx b/invokeai/frontend/web/src/features/controlNet/components/ParamControlNetShouldAutoConfig.tsx index 285fcf7b80..0e044d4575 100644 --- a/invokeai/frontend/web/src/features/controlNet/components/ParamControlNetShouldAutoConfig.tsx +++ b/invokeai/frontend/web/src/features/controlNet/components/ParamControlNetShouldAutoConfig.tsx @@ -1,34 +1,19 @@ -import { createSelector } from '@reduxjs/toolkit'; -import { stateSelector } from 'app/store/store'; import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; -import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; import IAISwitch from 'common/components/IAISwitch'; -import { controlNetAutoConfigToggled } from 'features/controlNet/store/controlNetSlice'; +import { + ControlNetConfig, + controlNetAutoConfigToggled, +} from 'features/controlNet/store/controlNetSlice'; import { selectIsBusy } from 'features/system/store/systemSelectors'; -import { memo, useCallback, useMemo } from 'react'; +import { memo, useCallback } from 'react'; type Props = { - controlNetId: string; + controlNet: ControlNetConfig; }; const ParamControlNetShouldAutoConfig = (props: Props) => { - const { controlNetId } = props; + const { controlNetId, isEnabled, shouldAutoConfig } = props.controlNet; const dispatch = useAppDispatch(); - const selector = useMemo( - () => - createSelector( - stateSelector, - ({ controlNet }) => { - const { isEnabled, shouldAutoConfig } = - controlNet.controlNets[controlNetId]; - return { isEnabled, shouldAutoConfig }; - }, - defaultSelectorOptions - ), - [controlNetId] - ); - - const { isEnabled, shouldAutoConfig } = useAppSelector(selector); const isBusy = useAppSelector(selectIsBusy); const handleShouldAutoConfigChanged = useCallback(() => { diff --git a/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetBeginEnd.tsx b/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetBeginEnd.tsx index 3dd420e7c9..1219239e5d 100644 --- a/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetBeginEnd.tsx +++ b/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetBeginEnd.tsx @@ -9,48 +9,39 @@ import { RangeSliderTrack, Tooltip, } from '@chakra-ui/react'; -import { createSelector } from '@reduxjs/toolkit'; -import { stateSelector } from 'app/store/store'; -import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; -import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; +import { useAppDispatch } from 'app/store/storeHooks'; import { + ControlNetConfig, controlNetBeginStepPctChanged, controlNetEndStepPctChanged, } from 'features/controlNet/store/controlNetSlice'; -import { memo, useCallback, useMemo } from 'react'; +import { memo, useCallback } from 'react'; type Props = { - controlNetId: string; + controlNet: ControlNetConfig; }; const formatPct = (v: number) => `${Math.round(v * 100)}%`; const ParamControlNetBeginEnd = (props: Props) => { - const { controlNetId } = props; + const { beginStepPct, endStepPct, isEnabled, controlNetId } = + props.controlNet; const dispatch = useAppDispatch(); - const selector = useMemo( - () => - createSelector( - stateSelector, - ({ controlNet }) => { - const { beginStepPct, endStepPct, isEnabled } = - controlNet.controlNets[controlNetId]; - return { beginStepPct, endStepPct, isEnabled }; - }, - defaultSelectorOptions - ), - [controlNetId] - ); - - const { beginStepPct, endStepPct, isEnabled } = useAppSelector(selector); - const handleStepPctChanged = useCallback( (v: number[]) => { dispatch( - controlNetBeginStepPctChanged({ controlNetId, beginStepPct: v[0] }) + controlNetBeginStepPctChanged({ + controlNetId, + beginStepPct: v[0] as number, + }) + ); + dispatch( + controlNetEndStepPctChanged({ + controlNetId, + endStepPct: v[1] as number, + }) ); - dispatch(controlNetEndStepPctChanged({ controlNetId, endStepPct: v[1] })); }, [controlNetId, dispatch] ); diff --git a/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetControlMode.tsx b/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetControlMode.tsx index e644e24a02..761edde42b 100644 --- a/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetControlMode.tsx +++ b/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetControlMode.tsx @@ -1,16 +1,14 @@ -import { createSelector } from '@reduxjs/toolkit'; -import { stateSelector } from 'app/store/store'; -import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; -import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; +import { useAppDispatch } from 'app/store/storeHooks'; import IAIMantineSelect from 'common/components/IAIMantineSelect'; import { ControlModes, + ControlNetConfig, controlNetControlModeChanged, } from 'features/controlNet/store/controlNetSlice'; -import { useCallback, useMemo } from 'react'; +import { useCallback } from 'react'; type ParamControlNetControlModeProps = { - controlNetId: string; + controlNet: ControlNetConfig; }; const CONTROL_MODE_DATA = [ @@ -23,23 +21,8 @@ const CONTROL_MODE_DATA = [ export default function ParamControlNetControlMode( props: ParamControlNetControlModeProps ) { - const { controlNetId } = props; + const { controlMode, isEnabled, controlNetId } = props.controlNet; const dispatch = useAppDispatch(); - const selector = useMemo( - () => - createSelector( - stateSelector, - ({ controlNet }) => { - const { controlMode, isEnabled } = - controlNet.controlNets[controlNetId]; - return { controlMode, isEnabled }; - }, - defaultSelectorOptions - ), - [controlNetId] - ); - - const { controlMode, isEnabled } = useAppSelector(selector); const handleControlModeChange = useCallback( (controlMode: ControlModes) => { diff --git a/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetModel.tsx b/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetModel.tsx index 8392bdd2e3..5d7db854d8 100644 --- a/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetModel.tsx +++ b/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetModel.tsx @@ -5,7 +5,10 @@ import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; import IAIMantineSearchableSelect from 'common/components/IAIMantineSearchableSelect'; import IAIMantineSelectItemWithTooltip from 'common/components/IAIMantineSelectItemWithTooltip'; -import { controlNetModelChanged } from 'features/controlNet/store/controlNetSlice'; +import { + ControlNetConfig, + controlNetModelChanged, +} from 'features/controlNet/store/controlNetSlice'; import { MODEL_TYPE_MAP } from 'features/parameters/types/constants'; import { modelIdToControlNetModelParam } from 'features/parameters/util/modelIdToControlNetModelParam'; import { selectIsBusy } from 'features/system/store/systemSelectors'; @@ -14,30 +17,24 @@ import { memo, useCallback, useMemo } from 'react'; import { useGetControlNetModelsQuery } from 'services/api/endpoints/models'; type ParamControlNetModelProps = { - controlNetId: string; + controlNet: ControlNetConfig; }; +const selector = createSelector( + stateSelector, + ({ generation }) => { + const { model } = generation; + return { mainModel: model }; + }, + defaultSelectorOptions +); + const ParamControlNetModel = (props: ParamControlNetModelProps) => { - const { controlNetId } = props; + const { controlNetId, model: controlNetModel, isEnabled } = props.controlNet; const dispatch = useAppDispatch(); const isBusy = useAppSelector(selectIsBusy); - const selector = useMemo( - () => - createSelector( - stateSelector, - ({ generation, controlNet }) => { - const { model } = generation; - const controlNetModel = controlNet.controlNets[controlNetId]?.model; - const isEnabled = controlNet.controlNets[controlNetId]?.isEnabled; - return { mainModel: model, controlNetModel, isEnabled }; - }, - defaultSelectorOptions - ), - [controlNetId] - ); - - const { mainModel, controlNetModel, isEnabled } = useAppSelector(selector); + const { mainModel } = useAppSelector(selector); const { data: controlNetModels } = useGetControlNetModelsQuery(); diff --git a/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetProcessorSelect.tsx b/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetProcessorSelect.tsx index 83c66363ac..190b1bc012 100644 --- a/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetProcessorSelect.tsx +++ b/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetProcessorSelect.tsx @@ -1,7 +1,6 @@ import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; import { createSelector } from '@reduxjs/toolkit'; -import { stateSelector } from 'app/store/store'; import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; import IAIMantineSearchableSelect, { IAISelectDataType, @@ -9,13 +8,16 @@ import IAIMantineSearchableSelect, { import { configSelector } from 'features/system/store/configSelectors'; import { selectIsBusy } from 'features/system/store/systemSelectors'; import { map } from 'lodash-es'; -import { memo, useCallback, useMemo } from 'react'; +import { memo, useCallback } from 'react'; import { CONTROLNET_PROCESSORS } from '../../store/constants'; -import { controlNetProcessorTypeChanged } from '../../store/controlNetSlice'; +import { + ControlNetConfig, + controlNetProcessorTypeChanged, +} from '../../store/controlNetSlice'; import { ControlNetProcessorType } from '../../store/types'; type ParamControlNetProcessorSelectProps = { - controlNetId: string; + controlNet: ControlNetConfig; }; const selector = createSelector( @@ -52,23 +54,9 @@ const ParamControlNetProcessorSelect = ( props: ParamControlNetProcessorSelectProps ) => { const dispatch = useAppDispatch(); - const { controlNetId } = props; - const processorNodeSelector = useMemo( - () => - createSelector( - stateSelector, - ({ controlNet }) => { - const { isEnabled, processorNode } = - controlNet.controlNets[controlNetId]; - return { isEnabled, processorNode }; - }, - defaultSelectorOptions - ), - [controlNetId] - ); + const { controlNetId, isEnabled, processorNode } = props.controlNet; const isBusy = useAppSelector(selectIsBusy); const controlNetProcessors = useAppSelector(selector); - const { isEnabled, processorNode } = useAppSelector(processorNodeSelector); const handleProcessorTypeChanged = useCallback( (v: string | null) => { diff --git a/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetResizeMode.tsx b/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetResizeMode.tsx index ee04b8077f..72f15fb178 100644 --- a/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetResizeMode.tsx +++ b/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetResizeMode.tsx @@ -1,16 +1,14 @@ -import { createSelector } from '@reduxjs/toolkit'; -import { stateSelector } from 'app/store/store'; -import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; -import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; +import { useAppDispatch } from 'app/store/storeHooks'; import IAIMantineSelect from 'common/components/IAIMantineSelect'; import { + ControlNetConfig, ResizeModes, controlNetResizeModeChanged, } from 'features/controlNet/store/controlNetSlice'; -import { useCallback, useMemo } from 'react'; +import { useCallback } from 'react'; type ParamControlNetResizeModeProps = { - controlNetId: string; + controlNet: ControlNetConfig; }; const RESIZE_MODE_DATA = [ @@ -22,23 +20,8 @@ const RESIZE_MODE_DATA = [ export default function ParamControlNetResizeMode( props: ParamControlNetResizeModeProps ) { - const { controlNetId } = props; + const { resizeMode, isEnabled, controlNetId } = props.controlNet; const dispatch = useAppDispatch(); - const selector = useMemo( - () => - createSelector( - stateSelector, - ({ controlNet }) => { - const { resizeMode, isEnabled } = - controlNet.controlNets[controlNetId]; - return { resizeMode, isEnabled }; - }, - defaultSelectorOptions - ), - [controlNetId] - ); - - const { resizeMode, isEnabled } = useAppSelector(selector); const handleResizeModeChange = useCallback( (resizeMode: ResizeModes) => { diff --git a/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetWeight.tsx b/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetWeight.tsx index 8643fd7dad..c08283e1f9 100644 --- a/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetWeight.tsx +++ b/invokeai/frontend/web/src/features/controlNet/components/parameters/ParamControlNetWeight.tsx @@ -1,32 +1,18 @@ -import { createSelector } from '@reduxjs/toolkit'; -import { stateSelector } from 'app/store/store'; -import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; -import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; +import { useAppDispatch } from 'app/store/storeHooks'; import IAISlider from 'common/components/IAISlider'; -import { controlNetWeightChanged } from 'features/controlNet/store/controlNetSlice'; -import { memo, useCallback, useMemo } from 'react'; +import { + ControlNetConfig, + controlNetWeightChanged, +} from 'features/controlNet/store/controlNetSlice'; +import { memo, useCallback } from 'react'; type ParamControlNetWeightProps = { - controlNetId: string; + controlNet: ControlNetConfig; }; const ParamControlNetWeight = (props: ParamControlNetWeightProps) => { - const { controlNetId } = props; + const { weight, isEnabled, controlNetId } = props.controlNet; const dispatch = useAppDispatch(); - const selector = useMemo( - () => - createSelector( - stateSelector, - ({ controlNet }) => { - const { weight, isEnabled } = controlNet.controlNets[controlNetId]; - return { weight, isEnabled }; - }, - defaultSelectorOptions - ), - [controlNetId] - ); - - const { weight, isEnabled } = useAppSelector(selector); const handleWeightChanged = useCallback( (weight: number) => { dispatch(controlNetWeightChanged({ controlNetId, weight })); diff --git a/invokeai/frontend/web/src/features/controlNet/store/constants.ts b/invokeai/frontend/web/src/features/controlNet/store/constants.ts index 00f5377e00..f8f9c38619 100644 --- a/invokeai/frontend/web/src/features/controlNet/store/constants.ts +++ b/invokeai/frontend/web/src/features/controlNet/store/constants.ts @@ -4,7 +4,7 @@ import { } from './types'; type ControlNetProcessorsDict = Record< - string, + ControlNetProcessorType, { type: ControlNetProcessorType | 'none'; label: string; diff --git a/invokeai/frontend/web/src/features/controlNet/store/controlNetSlice.ts b/invokeai/frontend/web/src/features/controlNet/store/controlNetSlice.ts index 0df907d463..8f391521d6 100644 --- a/invokeai/frontend/web/src/features/controlNet/store/controlNetSlice.ts +++ b/invokeai/frontend/web/src/features/controlNet/store/controlNetSlice.ts @@ -96,8 +96,11 @@ export const controlNetSlice = createSlice({ }> ) => { const { sourceControlNetId, newControlNetId } = action.payload; - - const newControlnet = cloneDeep(state.controlNets[sourceControlNetId]); + const oldControlNet = state.controlNets[sourceControlNetId]; + if (!oldControlNet) { + return; + } + const newControlnet = cloneDeep(oldControlNet); newControlnet.controlNetId = newControlNetId; state.controlNets[newControlNetId] = newControlnet; }, @@ -124,8 +127,11 @@ export const controlNetSlice = createSlice({ action: PayloadAction<{ controlNetId: string }> ) => { const { controlNetId } = action.payload; - state.controlNets[controlNetId].isEnabled = - !state.controlNets[controlNetId].isEnabled; + const cn = state.controlNets[controlNetId]; + if (!cn) { + return; + } + cn.isEnabled = !cn.isEnabled; }, controlNetImageChanged: ( state, @@ -135,12 +141,14 @@ export const controlNetSlice = createSlice({ }> ) => { const { controlNetId, controlImage } = action.payload; - state.controlNets[controlNetId].controlImage = controlImage; - state.controlNets[controlNetId].processedControlImage = null; - if ( - controlImage !== null && - state.controlNets[controlNetId].processorType !== 'none' - ) { + const cn = state.controlNets[controlNetId]; + if (!cn) { + return; + } + + cn.controlImage = controlImage; + cn.processedControlImage = null; + if (controlImage !== null && cn.processorType !== 'none') { state.pendingControlImages.push(controlNetId); } }, @@ -152,8 +160,12 @@ export const controlNetSlice = createSlice({ }> ) => { const { controlNetId, processedControlImage } = action.payload; - state.controlNets[controlNetId].processedControlImage = - processedControlImage; + const cn = state.controlNets[controlNetId]; + if (!cn) { + return; + } + + cn.processedControlImage = processedControlImage; state.pendingControlImages = state.pendingControlImages.filter( (id) => id !== controlNetId ); @@ -166,10 +178,15 @@ export const controlNetSlice = createSlice({ }> ) => { const { controlNetId, model } = action.payload; - state.controlNets[controlNetId].model = model; - state.controlNets[controlNetId].processedControlImage = null; + const cn = state.controlNets[controlNetId]; + if (!cn) { + return; + } - if (state.controlNets[controlNetId].shouldAutoConfig) { + cn.model = model; + cn.processedControlImage = null; + + if (cn.shouldAutoConfig) { let processorType: ControlNetProcessorType | undefined = undefined; for (const modelSubstring in CONTROLNET_MODEL_DEFAULT_PROCESSORS) { @@ -180,14 +197,13 @@ export const controlNetSlice = createSlice({ } if (processorType) { - state.controlNets[controlNetId].processorType = processorType; - state.controlNets[controlNetId].processorNode = CONTROLNET_PROCESSORS[ - processorType - ].default as RequiredControlNetProcessorNode; + cn.processorType = processorType; + cn.processorNode = CONTROLNET_PROCESSORS[processorType] + .default as RequiredControlNetProcessorNode; } else { - state.controlNets[controlNetId].processorType = 'none'; - state.controlNets[controlNetId].processorNode = CONTROLNET_PROCESSORS - .none.default as RequiredControlNetProcessorNode; + cn.processorType = 'none'; + cn.processorNode = CONTROLNET_PROCESSORS.none + .default as RequiredControlNetProcessorNode; } } }, @@ -196,28 +212,48 @@ export const controlNetSlice = createSlice({ action: PayloadAction<{ controlNetId: string; weight: number }> ) => { const { controlNetId, weight } = action.payload; - state.controlNets[controlNetId].weight = weight; + const cn = state.controlNets[controlNetId]; + if (!cn) { + return; + } + + cn.weight = weight; }, controlNetBeginStepPctChanged: ( state, action: PayloadAction<{ controlNetId: string; beginStepPct: number }> ) => { const { controlNetId, beginStepPct } = action.payload; - state.controlNets[controlNetId].beginStepPct = beginStepPct; + const cn = state.controlNets[controlNetId]; + if (!cn) { + return; + } + + cn.beginStepPct = beginStepPct; }, controlNetEndStepPctChanged: ( state, action: PayloadAction<{ controlNetId: string; endStepPct: number }> ) => { const { controlNetId, endStepPct } = action.payload; - state.controlNets[controlNetId].endStepPct = endStepPct; + const cn = state.controlNets[controlNetId]; + if (!cn) { + return; + } + + cn.endStepPct = endStepPct; }, controlNetControlModeChanged: ( state, action: PayloadAction<{ controlNetId: string; controlMode: ControlModes }> ) => { const { controlNetId, controlMode } = action.payload; - state.controlNets[controlNetId].controlMode = controlMode; + const cn = state.controlNets[controlNetId]; + if (!cn) { + return; + } + + cn.controlMode = controlMode; }, controlNetResizeModeChanged: ( state, @@ -227,7 +263,12 @@ export const controlNetSlice = createSlice({ }> ) => { const { controlNetId, resizeMode } = action.payload; - state.controlNets[controlNetId].resizeMode = resizeMode; + const cn = state.controlNets[controlNetId]; + if (!cn) { + return; + } + + cn.resizeMode = resizeMode; }, controlNetProcessorParamsChanged: ( state, @@ -240,12 +281,17 @@ export const controlNetSlice = createSlice({ }> ) => { const { controlNetId, changes } = action.payload; - const processorNode = state.controlNets[controlNetId].processorNode; - state.controlNets[controlNetId].processorNode = { + const cn = state.controlNets[controlNetId]; + if (!cn) { + return; + } + + const processorNode = cn.processorNode; + cn.processorNode = { ...processorNode, ...changes, }; - state.controlNets[controlNetId].shouldAutoConfig = false; + cn.shouldAutoConfig = false; }, controlNetProcessorTypeChanged: ( state, @@ -255,12 +301,16 @@ export const controlNetSlice = createSlice({ }> ) => { const { controlNetId, processorType } = action.payload; - state.controlNets[controlNetId].processedControlImage = null; - state.controlNets[controlNetId].processorType = processorType; - state.controlNets[controlNetId].processorNode = CONTROLNET_PROCESSORS[ - processorType - ].default as RequiredControlNetProcessorNode; - state.controlNets[controlNetId].shouldAutoConfig = false; + const cn = state.controlNets[controlNetId]; + if (!cn) { + return; + } + + cn.processedControlImage = null; + cn.processorType = processorType; + cn.processorNode = CONTROLNET_PROCESSORS[processorType] + .default as RequiredControlNetProcessorNode; + cn.shouldAutoConfig = false; }, controlNetAutoConfigToggled: ( state, @@ -269,37 +319,36 @@ export const controlNetSlice = createSlice({ }> ) => { const { controlNetId } = action.payload; - const newShouldAutoConfig = - !state.controlNets[controlNetId].shouldAutoConfig; + const cn = state.controlNets[controlNetId]; + if (!cn) { + return; + } + + const newShouldAutoConfig = !cn.shouldAutoConfig; if (newShouldAutoConfig) { // manage the processor for the user let processorType: ControlNetProcessorType | undefined = undefined; for (const modelSubstring in CONTROLNET_MODEL_DEFAULT_PROCESSORS) { - if ( - state.controlNets[controlNetId].model?.model_name.includes( - modelSubstring - ) - ) { + if (cn.model?.model_name.includes(modelSubstring)) { processorType = CONTROLNET_MODEL_DEFAULT_PROCESSORS[modelSubstring]; break; } } if (processorType) { - state.controlNets[controlNetId].processorType = processorType; - state.controlNets[controlNetId].processorNode = CONTROLNET_PROCESSORS[ - processorType - ].default as RequiredControlNetProcessorNode; + cn.processorType = processorType; + cn.processorNode = CONTROLNET_PROCESSORS[processorType] + .default as RequiredControlNetProcessorNode; } else { - state.controlNets[controlNetId].processorType = 'none'; - state.controlNets[controlNetId].processorNode = CONTROLNET_PROCESSORS - .none.default as RequiredControlNetProcessorNode; + cn.processorType = 'none'; + cn.processorNode = CONTROLNET_PROCESSORS.none + .default as RequiredControlNetProcessorNode; } } - state.controlNets[controlNetId].shouldAutoConfig = newShouldAutoConfig; + cn.shouldAutoConfig = newShouldAutoConfig; }, controlNetReset: () => { return { ...initialControlNetState }; @@ -307,9 +356,11 @@ export const controlNetSlice = createSlice({ }, extraReducers: (builder) => { builder.addCase(controlNetImageProcessed, (state, action) => { - if ( - state.controlNets[action.payload.controlNetId].controlImage !== null - ) { + const cn = state.controlNets[action.payload.controlNetId]; + if (!cn) { + return; + } + if (cn.controlImage !== null) { state.pendingControlImages.push(action.payload.controlNetId); } }); diff --git a/invokeai/frontend/web/src/features/imageDeletion/components/DeleteImageButton.tsx b/invokeai/frontend/web/src/features/deleteImageModal/components/DeleteImageButton.tsx similarity index 100% rename from invokeai/frontend/web/src/features/imageDeletion/components/DeleteImageButton.tsx rename to invokeai/frontend/web/src/features/deleteImageModal/components/DeleteImageButton.tsx diff --git a/invokeai/frontend/web/src/features/imageDeletion/components/DeleteImageModal.tsx b/invokeai/frontend/web/src/features/deleteImageModal/components/DeleteImageModal.tsx similarity index 70% rename from invokeai/frontend/web/src/features/imageDeletion/components/DeleteImageModal.tsx rename to invokeai/frontend/web/src/features/deleteImageModal/components/DeleteImageModal.tsx index 0e72ea96ad..0d8ecfbae6 100644 --- a/invokeai/frontend/web/src/features/imageDeletion/components/DeleteImageModal.tsx +++ b/invokeai/frontend/web/src/features/deleteImageModal/components/DeleteImageModal.tsx @@ -15,30 +15,42 @@ import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; import IAIButton from 'common/components/IAIButton'; import IAISwitch from 'common/components/IAISwitch'; import { setShouldConfirmOnDelete } from 'features/system/store/systemSlice'; - import { stateSelector } from 'app/store/store'; +import { some } from 'lodash-es'; import { ChangeEvent, memo, useCallback, useRef } from 'react'; import { useTranslation } from 'react-i18next'; import { imageDeletionConfirmed } from '../store/actions'; -import { selectImageUsage } from '../store/imageDeletionSelectors'; -import { - imageToDeleteCleared, - isModalOpenChanged, -} from '../store/imageDeletionSlice'; +import { getImageUsage, selectImageUsage } from '../store/selectors'; +import { imageDeletionCanceled, isModalOpenChanged } from '../store/slice'; import ImageUsageMessage from './ImageUsageMessage'; +import { ImageUsage } from '../store/types'; const selector = createSelector( [stateSelector, selectImageUsage], - ({ system, config, imageDeletion }, imageUsage) => { + (state, imagesUsage) => { + const { system, config, deleteImageModal } = state; const { shouldConfirmOnDelete } = system; const { canRestoreDeletedImagesFromBin } = config; - const { imageToDelete, isModalOpen } = imageDeletion; + const { imagesToDelete, isModalOpen } = deleteImageModal; + + const allImageUsage = (imagesToDelete ?? []).map(({ image_name }) => + getImageUsage(state, image_name) + ); + + const imageUsageSummary: ImageUsage = { + isInitialImage: some(allImageUsage, (i) => i.isInitialImage), + isCanvasImage: some(allImageUsage, (i) => i.isCanvasImage), + isNodesImage: some(allImageUsage, (i) => i.isNodesImage), + isControlNetImage: some(allImageUsage, (i) => i.isControlNetImage), + }; + return { shouldConfirmOnDelete, canRestoreDeletedImagesFromBin, - imageToDelete, - imageUsage, + imagesToDelete, + imagesUsage, isModalOpen, + imageUsageSummary, }; }, defaultSelectorOptions @@ -51,9 +63,10 @@ const DeleteImageModal = () => { const { shouldConfirmOnDelete, canRestoreDeletedImagesFromBin, - imageToDelete, - imageUsage, + imagesToDelete, + imagesUsage, isModalOpen, + imageUsageSummary, } = useAppSelector(selector); const handleChangeShouldConfirmOnDelete = useCallback( @@ -63,17 +76,19 @@ const DeleteImageModal = () => { ); const handleClose = useCallback(() => { - dispatch(imageToDeleteCleared()); + dispatch(imageDeletionCanceled()); dispatch(isModalOpenChanged(false)); }, [dispatch]); const handleDelete = useCallback(() => { - if (!imageToDelete || !imageUsage) { + if (!imagesToDelete.length || !imagesUsage.length) { return; } - dispatch(imageToDeleteCleared()); - dispatch(imageDeletionConfirmed({ imageDTO: imageToDelete, imageUsage })); - }, [dispatch, imageToDelete, imageUsage]); + dispatch(imageDeletionCanceled()); + dispatch( + imageDeletionConfirmed({ imageDTOs: imagesToDelete, imagesUsage }) + ); + }, [dispatch, imagesToDelete, imagesUsage]); const cancelRef = useRef(null); @@ -92,7 +107,7 @@ const DeleteImageModal = () => { - + {canRestoreDeletedImagesFromBin diff --git a/invokeai/frontend/web/src/features/imageDeletion/components/ImageUsageMessage.tsx b/invokeai/frontend/web/src/features/deleteImageModal/components/ImageUsageMessage.tsx similarity index 100% rename from invokeai/frontend/web/src/features/imageDeletion/components/ImageUsageMessage.tsx rename to invokeai/frontend/web/src/features/deleteImageModal/components/ImageUsageMessage.tsx diff --git a/invokeai/frontend/web/src/features/imageDeletion/store/actions.ts b/invokeai/frontend/web/src/features/deleteImageModal/store/actions.ts similarity index 65% rename from invokeai/frontend/web/src/features/imageDeletion/store/actions.ts rename to invokeai/frontend/web/src/features/deleteImageModal/store/actions.ts index c67d7d944d..def27c9954 100644 --- a/invokeai/frontend/web/src/features/imageDeletion/store/actions.ts +++ b/invokeai/frontend/web/src/features/deleteImageModal/store/actions.ts @@ -3,6 +3,6 @@ import { ImageDTO } from 'services/api/types'; import { ImageUsage } from './types'; export const imageDeletionConfirmed = createAction<{ - imageDTO: ImageDTO; - imageUsage: ImageUsage; -}>('imageDeletion/imageDeletionConfirmed'); + imageDTOs: ImageDTO[]; + imagesUsage: ImageUsage[]; +}>('deleteImageModal/imageDeletionConfirmed'); diff --git a/invokeai/frontend/web/src/features/deleteImageModal/store/initialState.ts b/invokeai/frontend/web/src/features/deleteImageModal/store/initialState.ts new file mode 100644 index 0000000000..198d4ca51f --- /dev/null +++ b/invokeai/frontend/web/src/features/deleteImageModal/store/initialState.ts @@ -0,0 +1,6 @@ +import { DeleteImageState } from './types'; + +export const initialDeleteImageState: DeleteImageState = { + imagesToDelete: [], + isModalOpen: false, +}; diff --git a/invokeai/frontend/web/src/features/imageDeletion/store/imageDeletionSelectors.ts b/invokeai/frontend/web/src/features/deleteImageModal/store/selectors.ts similarity index 84% rename from invokeai/frontend/web/src/features/imageDeletion/store/imageDeletionSelectors.ts rename to invokeai/frontend/web/src/features/deleteImageModal/store/selectors.ts index bd8e117496..310521f32a 100644 --- a/invokeai/frontend/web/src/features/imageDeletion/store/imageDeletionSelectors.ts +++ b/invokeai/frontend/web/src/features/deleteImageModal/store/selectors.ts @@ -39,17 +39,17 @@ export const getImageUsage = (state: RootState, image_name: string) => { export const selectImageUsage = createSelector( [(state: RootState) => state], (state) => { - const { imageToDelete } = state.imageDeletion; + const { imagesToDelete } = state.deleteImageModal; - if (!imageToDelete) { - return; + if (!imagesToDelete.length) { + return []; } - const { image_name } = imageToDelete; + const imagesUsage = imagesToDelete.map((i) => + getImageUsage(state, i.image_name) + ); - const imageUsage = getImageUsage(state, image_name); - - return imageUsage; + return imagesUsage; }, defaultSelectorOptions ); diff --git a/invokeai/frontend/web/src/features/deleteImageModal/store/slice.ts b/invokeai/frontend/web/src/features/deleteImageModal/store/slice.ts new file mode 100644 index 0000000000..6569009666 --- /dev/null +++ b/invokeai/frontend/web/src/features/deleteImageModal/store/slice.ts @@ -0,0 +1,28 @@ +import { PayloadAction, createSlice } from '@reduxjs/toolkit'; +import { ImageDTO } from 'services/api/types'; +import { initialDeleteImageState } from './initialState'; + +const deleteImageModal = createSlice({ + name: 'deleteImageModal', + initialState: initialDeleteImageState, + reducers: { + isModalOpenChanged: (state, action: PayloadAction) => { + state.isModalOpen = action.payload; + }, + imagesToDeleteSelected: (state, action: PayloadAction) => { + state.imagesToDelete = action.payload; + }, + imageDeletionCanceled: (state) => { + state.imagesToDelete = []; + state.isModalOpen = false; + }, + }, +}); + +export const { + isModalOpenChanged, + imagesToDeleteSelected, + imageDeletionCanceled, +} = deleteImageModal.actions; + +export default deleteImageModal.reducer; diff --git a/invokeai/frontend/web/src/features/deleteImageModal/store/types.ts b/invokeai/frontend/web/src/features/deleteImageModal/store/types.ts new file mode 100644 index 0000000000..2beaa8ca2e --- /dev/null +++ b/invokeai/frontend/web/src/features/deleteImageModal/store/types.ts @@ -0,0 +1,13 @@ +import { ImageDTO } from 'services/api/types'; + +export type DeleteImageState = { + imagesToDelete: ImageDTO[]; + isModalOpen: boolean; +}; + +export type ImageUsage = { + isInitialImage: boolean; + isCanvasImage: boolean; + isNodesImage: boolean; + isControlNetImage: boolean; +}; diff --git a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardAutoAddSelect.tsx b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardAutoAddSelect.tsx index 9f02a29f10..96d17b548e 100644 --- a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardAutoAddSelect.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardAutoAddSelect.tsx @@ -56,7 +56,7 @@ const BoardAutoAddSelect = () => { return; } - dispatch(autoAddBoardIdChanged(v === 'none' ? undefined : v)); + dispatch(autoAddBoardIdChanged(v)); }, [dispatch] ); diff --git a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardContextMenu.tsx b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardContextMenu.tsx index 2774288612..0667c05435 100644 --- a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardContextMenu.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardContextMenu.tsx @@ -11,10 +11,11 @@ import { BoardDTO } from 'services/api/types'; import { menuListMotionProps } from 'theme/components/menu'; import GalleryBoardContextMenuItems from './GalleryBoardContextMenuItems'; import NoBoardContextMenuItems from './NoBoardContextMenuItems'; +import { BoardId } from 'features/gallery/store/types'; type Props = { board?: BoardDTO; - board_id?: string; + board_id: BoardId; children: ContextMenuProps['children']; setBoardToDelete?: (board?: BoardDTO) => void; }; diff --git a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/BatchBoard.tsx b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/BatchBoard.tsx deleted file mode 100644 index a7a3040cce..0000000000 --- a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/BatchBoard.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import { createSelector } from '@reduxjs/toolkit'; -import { AddToBatchDropData } from 'app/components/ImageDnd/typesafeDnd'; -import { stateSelector } from 'app/store/store'; -import { useAppSelector } from 'app/store/storeHooks'; -import { boardIdSelected } from 'features/gallery/store/gallerySlice'; -import { useCallback } from 'react'; -import { FaLayerGroup } from 'react-icons/fa'; -import { useDispatch } from 'react-redux'; -import GenericBoard from './GenericBoard'; - -const selector = createSelector(stateSelector, (state) => { - return { - count: state.gallery.batchImageNames.length, - }; -}); - -const BatchBoard = ({ isSelected }: { isSelected: boolean }) => { - const dispatch = useDispatch(); - const { count } = useAppSelector(selector); - - const handleBatchBoardClick = useCallback(() => { - dispatch(boardIdSelected('batch')); - }, [dispatch]); - - const droppableData: AddToBatchDropData = { - id: 'batch-board', - actionType: 'ADD_TO_BATCH', - }; - - return ( - - ); -}; - -export default BatchBoard; diff --git a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/BoardsList.tsx b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/BoardsList.tsx index 512fced67c..cb3474f6bd 100644 --- a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/BoardsList.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/BoardsList.tsx @@ -15,10 +15,9 @@ import NoBoardBoard from './NoBoardBoard'; const selector = createSelector( [stateSelector], - ({ boards, gallery }) => { - const { searchText } = boards; - const { selectedBoardId } = gallery; - return { selectedBoardId, searchText }; + ({ gallery }) => { + const { selectedBoardId, boardSearchText } = gallery; + return { selectedBoardId, boardSearchText }; }, defaultSelectorOptions ); @@ -29,11 +28,11 @@ type Props = { const BoardsList = (props: Props) => { const { isOpen } = props; - const { selectedBoardId, searchText } = useAppSelector(selector); + const { selectedBoardId, boardSearchText } = useAppSelector(selector); const { data: boards } = useListAllBoardsQuery(); - const filteredBoards = searchText + const filteredBoards = boardSearchText ? boards?.filter((board) => - board.board_name.toLowerCase().includes(searchText.toLowerCase()) + board.board_name.toLowerCase().includes(boardSearchText.toLowerCase()) ) : boards; const [boardToDelete, setBoardToDelete] = useState(); @@ -75,7 +74,7 @@ const BoardsList = (props: Props) => { }} > - + {filteredBoards && filteredBoards.map((board) => ( diff --git a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/BoardsSearch.tsx b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/BoardsSearch.tsx index 800ffc651f..d7db96a938 100644 --- a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/BoardsSearch.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/BoardsSearch.tsx @@ -9,7 +9,7 @@ import { createSelector } from '@reduxjs/toolkit'; import { stateSelector } from 'app/store/store'; import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; -import { setBoardSearchText } from 'features/gallery/store/boardSlice'; +import { boardSearchTextChanged } from 'features/gallery/store/gallerySlice'; import { ChangeEvent, KeyboardEvent, @@ -21,27 +21,27 @@ import { const selector = createSelector( [stateSelector], - ({ boards }) => { - const { searchText } = boards; - return { searchText }; + ({ gallery }) => { + const { boardSearchText } = gallery; + return { boardSearchText }; }, defaultSelectorOptions ); const BoardsSearch = () => { const dispatch = useAppDispatch(); - const { searchText } = useAppSelector(selector); + const { boardSearchText } = useAppSelector(selector); const inputRef = useRef(null); const handleBoardSearch = useCallback( (searchTerm: string) => { - dispatch(setBoardSearchText(searchTerm)); + dispatch(boardSearchTextChanged(searchTerm)); }, [dispatch] ); const clearBoardSearch = useCallback(() => { - dispatch(setBoardSearchText('')); + dispatch(boardSearchTextChanged('')); }, [dispatch]); const handleKeydown = useCallback( @@ -74,11 +74,11 @@ const BoardsSearch = () => { - {searchText && searchText.length && ( + {boardSearchText && boardSearchText.length && ( { setIsHovered(false); }, []); + + const { data: imagesTotal } = useGetBoardImagesTotalQuery(board.board_id); + const { data: assetsTotal } = useGetBoardAssetsTotalQuery(board.board_id); + const tooltip = useMemo(() => { + if (!imagesTotal || !assetsTotal) { + return undefined; + } + return `${imagesTotal} image${ + imagesTotal > 1 ? 's' : '' + }, ${assetsTotal} asset${assetsTotal > 1 ? 's' : ''}`; + }, [assetsTotal, imagesTotal]); + const { currentData: coverImage } = useGetImageDTOQuery( board.cover_image_name ?? skipToken ); @@ -84,10 +101,10 @@ const GalleryBoard = memo( const [updateBoard, { isLoading: isUpdateBoardLoading }] = useUpdateBoardMutation(); - const droppableData: MoveBoardDropData = useMemo( + const droppableData: AddToBoardDropData = useMemo( () => ({ id: board_id, - actionType: 'MOVE_BOARD', + actionType: 'ADD_TO_BOARD', context: { boardId: board_id }, }), [board_id] @@ -148,60 +165,61 @@ const GalleryBoard = memo( setBoardToDelete={setBoardToDelete} > {(ref) => ( - - {coverImage?.thumbnail_url ? ( - - ) : ( - - + + {coverImage?.thumbnail_url ? ( + - - )} - {/* + + + )} + {/* */} - {isSelectedForAutoAdd && } - - - } + + - - + - - + overflow: 'hidden', + textOverflow: 'ellipsis', + }} + noOfLines={1} + /> + + + - Move} - /> - + Move} + /> + + )} diff --git a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/NoBoardBoard.tsx b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/NoBoardBoard.tsx index 118b2108f7..f1341b1146 100644 --- a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/NoBoardBoard.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardsList/NoBoardBoard.tsx @@ -1,6 +1,6 @@ import { Box, Flex, Image, Text } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; -import { MoveBoardDropData } from 'app/components/ImageDnd/typesafeDnd'; +import { RemoveFromBoardDropData } from 'app/components/ImageDnd/typesafeDnd'; import { stateSelector } from 'app/store/store'; import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; @@ -15,6 +15,7 @@ import { memo, useCallback, useMemo, useState } from 'react'; import { useBoardName } from 'services/api/hooks/useBoardName'; import AutoAddIcon from '../AutoAddIcon'; import BoardContextMenu from '../BoardContextMenu'; + interface Props { isSelected: boolean; } @@ -33,26 +34,27 @@ const NoBoardBoard = memo(({ isSelected }: Props) => { const dispatch = useAppDispatch(); const { autoAddBoardId, autoAssignBoardOnClick, isProcessing } = useAppSelector(selector); - const boardName = useBoardName(undefined); + const boardName = useBoardName('none'); const handleSelectBoard = useCallback(() => { - dispatch(boardIdSelected(undefined)); + dispatch(boardIdSelected('none')); if (autoAssignBoardOnClick && !isProcessing) { - dispatch(autoAddBoardIdChanged(undefined)); + dispatch(autoAddBoardIdChanged('none')); } }, [dispatch, autoAssignBoardOnClick, isProcessing]); const [isHovered, setIsHovered] = useState(false); + const handleMouseOver = useCallback(() => { setIsHovered(true); }, []); + const handleMouseOut = useCallback(() => { setIsHovered(false); }, []); - const droppableData: MoveBoardDropData = useMemo( + const droppableData: RemoveFromBoardDropData = useMemo( () => ({ id: 'no_board', - actionType: 'MOVE_BOARD', - context: { boardId: undefined }, + actionType: 'REMOVE_FROM_BOARD', }), [] ); @@ -72,7 +74,7 @@ const NoBoardBoard = memo(({ isSelected }: Props) => { h: 'full', }} > - + {(ref) => ( { alignItems: 'center', }} > - {/* */} invoke-ai-logo { }} /> - {/* - - {totalImages}/{totalAssets} - - */} - {!autoAddBoardId && } + {autoAddBoardId === 'none' && } void; }; -const DeleteImageModal = (props: Props) => { +const DeleteBoardModal = (props: Props) => { const { boardToDelete, setBoardToDelete } = props; const { t } = useTranslation(); const canRestoreDeletedImagesFromBin = useAppSelector( @@ -49,13 +49,10 @@ const DeleteImageModal = (props: Props) => { ); const imageUsageSummary: ImageUsage = { - isInitialImage: some(allImageUsage, (usage) => usage.isInitialImage), - isCanvasImage: some(allImageUsage, (usage) => usage.isCanvasImage), - isNodesImage: some(allImageUsage, (usage) => usage.isNodesImage), - isControlNetImage: some( - allImageUsage, - (usage) => usage.isControlNetImage - ), + isInitialImage: some(allImageUsage, (i) => i.isInitialImage), + isCanvasImage: some(allImageUsage, (i) => i.isCanvasImage), + isNodesImage: some(allImageUsage, (i) => i.isNodesImage), + isControlNetImage: some(allImageUsage, (i) => i.isControlNetImage), }; return { imageUsageSummary }; }), @@ -176,4 +173,4 @@ const DeleteImageModal = (props: Props) => { ); }; -export default memo(DeleteImageModal); +export default memo(DeleteBoardModal); diff --git a/invokeai/frontend/web/src/features/gallery/components/Boards/UpdateImageBoardModal.tsx b/invokeai/frontend/web/src/features/gallery/components/Boards/UpdateImageBoardModal.tsx deleted file mode 100644 index 49eb1502f3..0000000000 --- a/invokeai/frontend/web/src/features/gallery/components/Boards/UpdateImageBoardModal.tsx +++ /dev/null @@ -1,93 +0,0 @@ -import { - AlertDialog, - AlertDialogBody, - AlertDialogContent, - AlertDialogFooter, - AlertDialogHeader, - AlertDialogOverlay, - Box, - Flex, - Spinner, - Text, -} from '@chakra-ui/react'; -import IAIButton from 'common/components/IAIButton'; - -import IAIMantineSearchableSelect from 'common/components/IAIMantineSearchableSelect'; -import { memo, useContext, useRef, useState } from 'react'; -import { useListAllBoardsQuery } from 'services/api/endpoints/boards'; -import { AddImageToBoardContext } from '../../../../app/contexts/AddImageToBoardContext'; - -const UpdateImageBoardModal = () => { - // const boards = useSelector(selectBoardsAll); - const { data: boards, isFetching } = useListAllBoardsQuery(); - const { isOpen, onClose, handleAddToBoard, image } = useContext( - AddImageToBoardContext - ); - const [selectedBoard, setSelectedBoard] = useState(); - - const cancelRef = useRef(null); - - const currentBoard = boards?.find( - (board) => board.board_id === image?.board_id - ); - - return ( - - - - - {currentBoard ? 'Move Image to Board' : 'Add Image to Board'} - - - - - - {currentBoard && ( - - Moving this image from{' '} - {currentBoard.board_name} to - - )} - {isFetching ? ( - - ) : ( - setSelectedBoard(v)} - value={selectedBoard} - data={(boards ?? []).map((board) => ({ - label: board.board_name, - value: board.board_id, - }))} - /> - )} - - - - - Cancel - { - if (selectedBoard) { - handleAddToBoard(selectedBoard); - } - }} - ml={3} - > - {currentBoard ? 'Move' : 'Add'} - - - - - - ); -}; - -export default memo(UpdateImageBoardModal); diff --git a/invokeai/frontend/web/src/features/gallery/components/CurrentImage/CurrentImageButtons.tsx b/invokeai/frontend/web/src/features/gallery/components/CurrentImage/CurrentImageButtons.tsx index 7d25d6bc05..d62027769b 100644 --- a/invokeai/frontend/web/src/features/gallery/components/CurrentImage/CurrentImageButtons.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/CurrentImage/CurrentImageButtons.tsx @@ -9,16 +9,14 @@ import { MenuButton, MenuList, } from '@chakra-ui/react'; -// import { runESRGAN, runFacetool } from 'app/socketio/actions'; import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; import IAIIconButton from 'common/components/IAIIconButton'; - import { skipToken } from '@reduxjs/toolkit/dist/query'; import { useAppToaster } from 'app/components/Toaster'; import { upscaleRequested } from 'app/store/middleware/listenerMiddleware/listeners/upscaleRequested'; import { stateSelector } from 'app/store/store'; -import { DeleteImageButton } from 'features/imageDeletion/components/DeleteImageButton'; -import { imageToDeleteSelected } from 'features/imageDeletion/store/imageDeletionSlice'; +import { DeleteImageButton } from 'features/deleteImageModal/components/DeleteImageButton'; +import { imagesToDeleteSelected } from 'features/deleteImageModal/store/slice'; import ParamUpscalePopover from 'features/parameters/components/Parameters/Upscale/ParamUpscaleSettings'; import { useRecallParameters } from 'features/parameters/hooks/useRecallParameters'; import { initialImageSelected } from 'features/parameters/store/actions'; @@ -109,13 +107,13 @@ const CurrentImageButtons = (props: CurrentImageButtonsProps) => { ); const { currentData: imageDTO } = useGetImageDTOQuery( - lastSelectedImage ?? skipToken + lastSelectedImage?.image_name ?? skipToken ); const { currentData: metadataData } = useGetImageMetadataQuery( debounceState.isPending() ? skipToken - : debouncedMetadataQueryArg ?? skipToken + : debouncedMetadataQueryArg?.image_name ?? skipToken ); const metadata = metadataData?.metadata; @@ -173,7 +171,7 @@ const CurrentImageButtons = (props: CurrentImageButtonsProps) => { if (!imageDTO) { return; } - dispatch(imageToDeleteSelected(imageDTO)); + dispatch(imagesToDeleteSelected([imageDTO])); }, [dispatch, imageDTO]); useHotkeys( diff --git a/invokeai/frontend/web/src/features/gallery/components/CurrentImage/CurrentImagePreview.tsx b/invokeai/frontend/web/src/features/gallery/components/CurrentImage/CurrentImagePreview.tsx index fd7eaef46a..f78ee286ef 100644 --- a/invokeai/frontend/web/src/features/gallery/components/CurrentImage/CurrentImagePreview.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/CurrentImage/CurrentImagePreview.tsx @@ -32,7 +32,7 @@ export const imagesSelector = createSelector( return { shouldShowImageDetails, shouldHidePreview, - imageName: lastSelectedImage, + imageName: lastSelectedImage?.image_name, progressImage, shouldShowProgressInViewer, shouldAntialiasProgressImage, @@ -57,8 +57,6 @@ const CurrentImagePreview = () => { const { handlePrevImage, handleNextImage, - prevImageId, - nextImageId, isOnLastImage, handleLoadMoreImages, areMoreImagesAvailable, @@ -70,7 +68,7 @@ const CurrentImagePreview = () => { () => { handlePrevImage(); }, - [prevImageId] + [handlePrevImage] ); useHotkeys( @@ -85,11 +83,11 @@ const CurrentImagePreview = () => { } }, [ - nextImageId, isOnLastImage, areMoreImagesAvailable, handleLoadMoreImages, isFetching, + handleNextImage, ] ); diff --git a/invokeai/frontend/web/src/features/gallery/components/GallerySettingsPopover.tsx b/invokeai/frontend/web/src/features/gallery/components/GallerySettingsPopover.tsx index 796cc542e7..5c32cc788e 100644 --- a/invokeai/frontend/web/src/features/gallery/components/GallerySettingsPopover.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/GallerySettingsPopover.tsx @@ -5,17 +5,19 @@ import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; import IAIIconButton from 'common/components/IAIIconButton'; import IAIPopover from 'common/components/IAIPopover'; -import IAISimpleCheckbox from 'common/components/IAISimpleCheckbox'; import IAISlider from 'common/components/IAISlider'; +import IAISwitch from 'common/components/IAISwitch'; import { autoAssignBoardOnClickChanged, setGalleryImageMinimumWidth, shouldAutoSwitchChanged, + shouldShowDeleteButtonChanged, } from 'features/gallery/store/gallerySlice'; -import { ChangeEvent } from 'react'; +import { ChangeEvent, useCallback } from 'react'; import { useTranslation } from 'react-i18next'; import { FaWrench } from 'react-icons/fa'; import BoardAutoAddSelect from './Boards/BoardAutoAddSelect'; +import IAISimpleCheckbox from 'common/components/IAISimpleCheckbox'; const selector = createSelector( [stateSelector], @@ -24,12 +26,14 @@ const selector = createSelector( galleryImageMinimumWidth, shouldAutoSwitch, autoAssignBoardOnClick, + shouldShowDeleteButton, } = state.gallery; return { galleryImageMinimumWidth, shouldAutoSwitch, autoAssignBoardOnClick, + shouldShowDeleteButton, }; }, defaultSelectorOptions @@ -39,12 +43,37 @@ const GallerySettingsPopover = () => { const dispatch = useAppDispatch(); const { t } = useTranslation(); - const { galleryImageMinimumWidth, shouldAutoSwitch, autoAssignBoardOnClick } = - useAppSelector(selector); + const { + galleryImageMinimumWidth, + shouldAutoSwitch, + autoAssignBoardOnClick, + shouldShowDeleteButton, + } = useAppSelector(selector); - const handleChangeGalleryImageMinimumWidth = (v: number) => { - dispatch(setGalleryImageMinimumWidth(v)); - }; + const handleChangeGalleryImageMinimumWidth = useCallback( + (v: number) => { + dispatch(setGalleryImageMinimumWidth(v)); + }, + [dispatch] + ); + + const handleResetGalleryImageMinimumWidth = useCallback(() => { + dispatch(setGalleryImageMinimumWidth(64)); + }, [dispatch]); + + const handleChangeAutoSwitch = useCallback( + (e: ChangeEvent) => { + dispatch(shouldAutoSwitchChanged(e.target.checked)); + }, + [dispatch] + ); + + const handleChangeShowDeleteButton = useCallback( + (e: ChangeEvent) => { + dispatch(shouldShowDeleteButtonChanged(e.target.checked)); + }, + [dispatch] + ); return ( { /> } > - + { hideTooltip={true} label={t('gallery.galleryImageSize')} withReset - handleReset={() => dispatch(setGalleryImageMinimumWidth(64))} + handleReset={handleResetGalleryImageMinimumWidth} /> - ) => - dispatch(shouldAutoSwitchChanged(e.target.checked)) - } + onChange={handleChangeAutoSwitch} + /> + ['children']; }; +const selector = createSelector( + [stateSelector], + ({ gallery }) => { + const selectionCount = gallery.selection.length; + + return { selectionCount }; + }, + defaultSelectorOptions +); + const ImageContextMenu = ({ imageDTO, children }: Props) => { - // const selector = useMemo( - // () => - // createSelector( - // [stateSelector], - // ({ gallery }) => { - // const selectionCount = gallery.selection.length; - - // return { selectionCount }; - // }, - // defaultSelectorOptions - // ), - // [] - // ); - - // const { selectionCount } = useAppSelector(selector); + const { selectionCount } = useAppSelector(selector); const skipEvent = useCallback((e: MouseEvent) => { e.preventDefault(); @@ -38,8 +39,24 @@ const ImageContextMenu = ({ imageDTO, children }: Props) => { bg: 'transparent', _hover: { bg: 'transparent' }, }} - renderMenu={() => - imageDTO ? ( + renderMenu={() => { + if (!imageDTO) { + return null; + } + + if (selectionCount > 1) { + return ( + + + + ); + } + + return ( { > - ) : null - } + ); + }} > {children} diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/MultipleSelectionMenuItems.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/MultipleSelectionMenuItems.tsx index 62d2cb06f4..079fc43a4a 100644 --- a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/MultipleSelectionMenuItems.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/MultipleSelectionMenuItems.tsx @@ -1,30 +1,30 @@ import { MenuItem } from '@chakra-ui/react'; +import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; +import { + imagesToChangeSelected, + isModalOpenChanged, +} from 'features/changeBoardModal/store/slice'; +import { imagesToDeleteSelected } from 'features/deleteImageModal/store/slice'; import { useCallback } from 'react'; -import { FaFolder, FaFolderPlus, FaTrash } from 'react-icons/fa'; +import { FaFolder, FaTrash } from 'react-icons/fa'; const MultipleSelectionMenuItems = () => { - const handleAddSelectionToBoard = useCallback(() => { - // TODO: add selection to board - }, []); + const dispatch = useAppDispatch(); + const selection = useAppSelector((state) => state.gallery.selection); + + const handleChangeBoard = useCallback(() => { + dispatch(imagesToChangeSelected(selection)); + dispatch(isModalOpenChanged(true)); + }, [dispatch, selection]); const handleDeleteSelection = useCallback(() => { - // TODO: delete all selected images - }, []); - - const handleAddSelectionToBatch = useCallback(() => { - // TODO: add selection to batch - }, []); + dispatch(imagesToDeleteSelected(selection)); + }, [dispatch, selection]); return ( <> - } onClickCapture={handleAddSelectionToBoard}> - Move Selection to Board - - } - onClickCapture={handleAddSelectionToBatch} - > - Add Selection to Batch + } onClickCapture={handleChangeBoard}> + Change Board { const { imageDTO } = props; - const selector = useMemo( - () => - createSelector( - [stateSelector], - ({ gallery }) => { - const isInBatch = gallery.batchImageNames.includes( - imageDTO.image_name - ); - - return { isInBatch }; - }, - defaultSelectorOptions - ), - [imageDTO.image_name] - ); - - const { isInBatch } = useAppSelector(selector); const dispatch = useAppDispatch(); const { t } = useTranslation(); const toaster = useAppToaster(); const isCanvasEnabled = useFeatureStatus('unifiedCanvas').isFeatureEnabled; - const isBatchEnabled = useFeatureStatus('batches').isFeatureEnabled; - - const { onClickAddToBoard } = useContext(AddImageToBoardContext); const [debouncedMetadataQueryArg, debounceState] = useDebounce( imageDTO.image_name, @@ -92,14 +68,12 @@ const SingleSelectionMenuItems = (props: SingleSelectionMenuItemsProps) => { if (!imageDTO) { return; } - dispatch(imageToDeleteSelected(imageDTO)); + dispatch(imagesToDeleteSelected([imageDTO])); }, [dispatch, imageDTO]); const { recallBothPrompts, recallSeed, recallAllParameters } = useRecallParameters(); - const [removeFromBoard] = useRemoveImageFromBoardMutation(); - // Recall parameters handlers const handleRecallPrompt = useCallback(() => { recallBothPrompts( @@ -144,20 +118,10 @@ const SingleSelectionMenuItems = (props: SingleSelectionMenuItemsProps) => { recallAllParameters(metadata); }, [metadata, recallAllParameters]); - const handleAddToBoard = useCallback(() => { - onClickAddToBoard(imageDTO); - }, [imageDTO, onClickAddToBoard]); - - const handleRemoveFromBoard = useCallback(() => { - if (!imageDTO.board_id) { - return; - } - removeFromBoard({ imageDTO }); - }, [imageDTO, removeFromBoard]); - - const handleAddToBatch = useCallback(() => { - dispatch(imagesAddedToBatch([imageDTO.image_name])); - }, [dispatch, imageDTO.image_name]); + const handleChangeBoard = useCallback(() => { + dispatch(imagesToChangeSelected([imageDTO])); + dispatch(isModalOpenChanged(true)); + }, [dispatch, imageDTO]); const handleCopyImage = useCallback(() => { copyImageToClipboard(imageDTO.image_url); @@ -229,23 +193,9 @@ const SingleSelectionMenuItems = (props: SingleSelectionMenuItemsProps) => { {t('parameters.sendToUnifiedCanvas')} )} - {isBatchEnabled && ( - } - isDisabled={isInBatch} - onClickCapture={handleAddToBatch} - > - Add to Batch - - )} - } onClickCapture={handleAddToBoard}> - {imageDTO.board_id ? 'Change Board' : 'Add to Board'} + } onClickCapture={handleChangeBoard}> + Change Board - {imageDTO.board_id && ( - } onClickCapture={handleRemoveFromBoard}> - Remove from Board - - )} } diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageGalleryContent.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageGalleryContent.tsx index 5b2072bfc4..f2ff2ad30b 100644 --- a/invokeai/frontend/web/src/features/gallery/components/ImageGalleryContent.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/ImageGalleryContent.tsx @@ -20,16 +20,14 @@ import BoardsList from './Boards/BoardsList/BoardsList'; import GalleryBoardName from './GalleryBoardName'; import GalleryPinButton from './GalleryPinButton'; import GallerySettingsPopover from './GallerySettingsPopover'; -import BatchImageGrid from './ImageGrid/BatchImageGrid'; import GalleryImageGrid from './ImageGrid/GalleryImageGrid'; const selector = createSelector( [stateSelector], (state) => { - const { selectedBoardId, galleryView } = state.gallery; + const { galleryView } = state.gallery; return { - selectedBoardId, galleryView, }; }, @@ -39,7 +37,7 @@ const selector = createSelector( const ImageGalleryContent = () => { const resizeObserverRef = useRef(null); const galleryGridRef = useRef(null); - const { selectedBoardId, galleryView } = useAppSelector(selector); + const { galleryView } = useAppSelector(selector); const dispatch = useAppDispatch(); const { isOpen: isBoardListOpen, onToggle: onToggleBoardList } = useDisclosure(); @@ -130,12 +128,7 @@ const ImageGalleryContent = () => { - - {selectedBoardId === 'batch' ? ( - - ) : ( - - )} + ); diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageGrid/BatchImage.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageGrid/BatchImage.tsx deleted file mode 100644 index 528e8cc06f..0000000000 --- a/invokeai/frontend/web/src/features/gallery/components/ImageGrid/BatchImage.tsx +++ /dev/null @@ -1,122 +0,0 @@ -import { Box } from '@chakra-ui/react'; -import { createSelector } from '@reduxjs/toolkit'; -import { TypesafeDraggableData } from 'app/components/ImageDnd/typesafeDnd'; -import { stateSelector } from 'app/store/store'; -import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; -import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; -import IAIDndImage from 'common/components/IAIDndImage'; -import IAIErrorLoadingImageFallback from 'common/components/IAIErrorLoadingImageFallback'; -import IAIFillSkeleton from 'common/components/IAIFillSkeleton'; -import ImageContextMenu from 'features/gallery/components/ImageContextMenu/ImageContextMenu'; -import { imagesRemovedFromBatch } from 'features/gallery/store/gallerySlice'; -import { memo, useCallback, useMemo } from 'react'; -import { useGetImageDTOQuery } from 'services/api/endpoints/images'; - -const makeSelector = (image_name: string) => - createSelector( - [stateSelector], - (state) => ({ - selectionCount: state.gallery.selection.length, - selection: state.gallery.selection, - isSelected: state.gallery.selection.includes(image_name), - }), - defaultSelectorOptions - ); - -type BatchImageProps = { - imageName: string; -}; - -const BatchImage = (props: BatchImageProps) => { - const dispatch = useAppDispatch(); - const { imageName } = props; - const { - currentData: imageDTO, - isLoading, - isError, - } = useGetImageDTOQuery(imageName); - const selector = useMemo(() => makeSelector(imageName), [imageName]); - - const { isSelected, selectionCount, selection } = useAppSelector(selector); - - const handleClickRemove = useCallback(() => { - dispatch(imagesRemovedFromBatch([imageName])); - }, [dispatch, imageName]); - - // const handleClick = useCallback( - // (e: MouseEvent) => { - // if (e.shiftKey) { - // dispatch(imageRangeEndSelected(imageName)); - // } else if (e.ctrlKey || e.metaKey) { - // dispatch(imageSelectionToggled(imageName)); - // } else { - // dispatch(imageSelected(imageName)); - // } - // }, - // [dispatch, imageName] - // ); - - const draggableData = useMemo(() => { - if (selectionCount > 1) { - return { - id: 'batch', - payloadType: 'IMAGE_NAMES', - payload: { image_names: selection }, - }; - } - - if (imageDTO) { - return { - id: 'batch', - payloadType: 'IMAGE_DTO', - payload: { imageDTO }, - }; - } - }, [imageDTO, selection, selectionCount]); - - if (isLoading) { - return ; - } - - if (isError || !imageDTO) { - return ; - } - - return ( - - - {(ref) => ( - - - - )} - - - ); -}; - -export default memo(BatchImage); diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageGrid/BatchImageGrid.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageGrid/BatchImageGrid.tsx deleted file mode 100644 index feaa47403d..0000000000 --- a/invokeai/frontend/web/src/features/gallery/components/ImageGrid/BatchImageGrid.tsx +++ /dev/null @@ -1,87 +0,0 @@ -import { Box } from '@chakra-ui/react'; -import { useAppSelector } from 'app/store/storeHooks'; -import { useOverlayScrollbars } from 'overlayscrollbars-react'; - -import { memo, useEffect, useRef, useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import { FaImage } from 'react-icons/fa'; - -import { createSelector } from '@reduxjs/toolkit'; -import { stateSelector } from 'app/store/store'; -import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; -import { IAINoContentFallback } from 'common/components/IAIImageFallback'; -import { VirtuosoGrid } from 'react-virtuoso'; -import BatchImage from './BatchImage'; -import ItemContainer from './ImageGridItemContainer'; -import ListContainer from './ImageGridListContainer'; - -const selector = createSelector( - [stateSelector], - (state) => { - return { - imageNames: state.gallery.batchImageNames, - }; - }, - defaultSelectorOptions -); - -const BatchImageGrid = () => { - const { t } = useTranslation(); - const rootRef = useRef(null); - const [scroller, setScroller] = useState(null); - const [initialize, osInstance] = useOverlayScrollbars({ - defer: true, - options: { - scrollbars: { - visibility: 'auto', - autoHide: 'leave', - autoHideDelay: 1300, - theme: 'os-theme-dark', - }, - overflow: { x: 'hidden' }, - }, - }); - - const { imageNames } = useAppSelector(selector); - - useEffect(() => { - const { current: root } = rootRef; - if (scroller && root) { - initialize({ - target: root, - elements: { - viewport: scroller, - }, - }); - } - return () => osInstance()?.destroy(); - }, [scroller, initialize, osInstance]); - - if (imageNames.length) { - return ( - - ( - - )} - /> - - ); - } - - return ( - - ); -}; - -export default memo(BatchImageGrid); diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageGrid/GalleryImage.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageGrid/GalleryImage.tsx index 6a5d28a9ba..c9eee5f1f5 100644 --- a/invokeai/frontend/web/src/features/gallery/components/ImageGrid/GalleryImage.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/ImageGrid/GalleryImage.tsx @@ -1,27 +1,18 @@ import { Box, Flex } from '@chakra-ui/react'; -import { createSelector } from '@reduxjs/toolkit'; -import { TypesafeDraggableData } from 'app/components/ImageDnd/typesafeDnd'; -import { stateSelector } from 'app/store/store'; +import { + ImageDTOsDraggableData, + ImageDraggableData, + TypesafeDraggableData, +} from 'app/components/ImageDnd/typesafeDnd'; import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; -import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; import IAIDndImage from 'common/components/IAIDndImage'; import IAIFillSkeleton from 'common/components/IAIFillSkeleton'; -import { imageSelected } from 'features/gallery/store/gallerySlice'; -import { imageToDeleteSelected } from 'features/imageDeletion/store/imageDeletionSlice'; +import { useMultiselect } from 'features/gallery/hooks/useMultiselect.ts'; +import { imagesToDeleteSelected } from 'features/deleteImageModal/store/slice'; import { MouseEvent, memo, useCallback, useMemo } from 'react'; +import { FaTrash } from 'react-icons/fa'; import { useGetImageDTOQuery } from 'services/api/endpoints/images'; -export const makeSelector = (image_name: string) => - createSelector( - [stateSelector], - ({ gallery }) => ({ - isSelected: gallery.selection.includes(image_name), - selectionCount: gallery.selection.length, - selection: gallery.selection, - }), - defaultSelectorOptions - ); - interface HoverableImageProps { imageName: string; } @@ -30,22 +21,12 @@ const GalleryImage = (props: HoverableImageProps) => { const dispatch = useAppDispatch(); const { imageName } = props; const { currentData: imageDTO } = useGetImageDTOQuery(imageName); - const localSelector = useMemo(() => makeSelector(imageName), [imageName]); + const shouldShowDeleteButton = useAppSelector( + (state) => state.gallery.shouldShowDeleteButton + ); - const { isSelected, selectionCount, selection } = - useAppSelector(localSelector); - - const handleClick = useCallback(() => { - // disable multiselect for now - // if (e.shiftKey) { - // dispatch(imageRangeEndSelected(imageName)); - // } else if (e.ctrlKey || e.metaKey) { - // dispatch(imageSelectionToggled(imageName)); - // } else { - // dispatch(imageSelected(imageName)); - // } - dispatch(imageSelected(imageName)); - }, [dispatch, imageName]); + const { handleClick, isSelected, selection, selectionCount } = + useMultiselect(imageDTO); const handleDelete = useCallback( (e: MouseEvent) => { @@ -53,26 +34,28 @@ const GalleryImage = (props: HoverableImageProps) => { if (!imageDTO) { return; } - dispatch(imageToDeleteSelected(imageDTO)); + dispatch(imagesToDeleteSelected([imageDTO])); }, [dispatch, imageDTO] ); const draggableData = useMemo(() => { if (selectionCount > 1) { - return { + const data: ImageDTOsDraggableData = { id: 'gallery-image', - payloadType: 'IMAGE_NAMES', - payload: { image_names: selection }, + payloadType: 'IMAGE_DTOS', + payload: { imageDTOs: selection }, }; + return data; } if (imageDTO) { - return { + const data: ImageDraggableData = { id: 'gallery-image', payloadType: 'IMAGE_DTO', payload: { imageDTO }, }; + return data; } }, [imageDTO, selection, selectionCount]); @@ -103,9 +86,9 @@ const GalleryImage = (props: HoverableImageProps) => { isUploadDisabled={true} thumbnail={true} withHoverOverlay - // resetIcon={} - // resetTooltip="Delete image" - // withResetIcon // removed bc it's too easy to accidentally delete images + resetIcon={} + resetTooltip="Delete image" + withResetIcon={shouldShowDeleteButton} // removed bc it's too easy to accidentally delete images /> diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageMetadataViewer/ImageMetadataActions.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageMetadataViewer/ImageMetadataActions.tsx index df574c860b..c0821c2226 100644 --- a/invokeai/frontend/web/src/features/gallery/components/ImageMetadataViewer/ImageMetadataActions.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/ImageMetadataViewer/ImageMetadataActions.tsx @@ -1,6 +1,6 @@ import { useRecallParameters } from 'features/parameters/hooks/useRecallParameters'; import { useCallback } from 'react'; -import { UnsafeImageMetadata } from 'services/api/endpoints/images'; +import { UnsafeImageMetadata } from 'services/api/types'; import ImageMetadataItem from './ImageMetadataItem'; type Props = { diff --git a/invokeai/frontend/web/src/features/gallery/hooks/useMultiselect.ts.ts b/invokeai/frontend/web/src/features/gallery/hooks/useMultiselect.ts.ts new file mode 100644 index 0000000000..b59a2f3d6f --- /dev/null +++ b/invokeai/frontend/web/src/features/gallery/hooks/useMultiselect.ts.ts @@ -0,0 +1,93 @@ +import { createSelector } from '@reduxjs/toolkit'; +import { stateSelector } from 'app/store/store'; +import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; +import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; +import { selectListImagesBaseQueryArgs } from 'features/gallery/store/gallerySelectors'; +import { uniq } from 'lodash-es'; +import { MouseEvent, useCallback, useMemo } from 'react'; +import { useListImagesQuery } from 'services/api/endpoints/images'; +import { ImageDTO } from 'services/api/types'; +import { selectionChanged } from '../store/gallerySlice'; +import { imagesSelectors } from 'services/api/util'; + +const selector = createSelector( + [stateSelector, selectListImagesBaseQueryArgs], + ({ gallery }, queryArgs) => { + const selection = gallery.selection; + + return { + queryArgs, + selection, + }; + }, + defaultSelectorOptions +); + +export const useMultiselect = (imageDTO?: ImageDTO) => { + const dispatch = useAppDispatch(); + const { queryArgs, selection } = useAppSelector(selector); + + const { imageDTOs } = useListImagesQuery(queryArgs, { + selectFromResult: (result) => ({ + imageDTOs: result.data ? imagesSelectors.selectAll(result.data) : [], + }), + }); + + const handleClick = useCallback( + (e: MouseEvent) => { + if (!imageDTO) { + return; + } + if (e.shiftKey) { + const rangeEndImageName = imageDTO.image_name; + const lastSelectedImage = selection[selection.length - 1]?.image_name; + const lastClickedIndex = imageDTOs.findIndex( + (n) => n.image_name === lastSelectedImage + ); + const currentClickedIndex = imageDTOs.findIndex( + (n) => n.image_name === rangeEndImageName + ); + if (lastClickedIndex > -1 && currentClickedIndex > -1) { + // We have a valid range! + const start = Math.min(lastClickedIndex, currentClickedIndex); + const end = Math.max(lastClickedIndex, currentClickedIndex); + const imagesToSelect = imageDTOs.slice(start, end + 1); + dispatch(selectionChanged(uniq(selection.concat(imagesToSelect)))); + } + } else if (e.ctrlKey || e.metaKey) { + if ( + selection.some((i) => i.image_name === imageDTO.image_name) && + selection.length > 1 + ) { + dispatch( + selectionChanged( + selection.filter((n) => n.image_name !== imageDTO.image_name) + ) + ); + } else { + dispatch(selectionChanged(uniq(selection.concat(imageDTO)))); + } + } else { + dispatch(selectionChanged([imageDTO])); + } + }, + [dispatch, imageDTO, imageDTOs, selection] + ); + + const isSelected = useMemo( + () => + imageDTO + ? selection.some((i) => i.image_name === imageDTO.image_name) + : false, + [imageDTO, selection] + ); + + const selectionCount = useMemo(() => selection.length, [selection.length]); + + return { + selection, + selectionCount, + isSelected, + handleClick, + }; +}; diff --git a/invokeai/frontend/web/src/features/gallery/hooks/useNextPrevImage.ts b/invokeai/frontend/web/src/features/gallery/hooks/useNextPrevImage.ts index f2572a23b5..670dd7ee9f 100644 --- a/invokeai/frontend/web/src/features/gallery/hooks/useNextPrevImage.ts +++ b/invokeai/frontend/web/src/features/gallery/hooks/useNextPrevImage.ts @@ -4,14 +4,15 @@ import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; import { imageSelected } from 'features/gallery/store/gallerySlice'; import { clamp, isEqual } from 'lodash-es'; import { useCallback } from 'react'; +import { boardsApi } from 'services/api/endpoints/boards'; import { - ListImagesArgs, - imagesAdapter, imagesApi, useLazyListImagesQuery, } from 'services/api/endpoints/images'; import { selectListImagesBaseQueryArgs } from '../store/gallerySelectors'; import { IMAGE_LIMIT } from '../store/types'; +import { ListImagesArgs } from 'services/api/types'; +import { imagesAdapter } from 'services/api/util'; export const nextPrevImageButtonsSelector = createSelector( [stateSelector, selectListImagesBaseQueryArgs], @@ -19,12 +20,21 @@ export const nextPrevImageButtonsSelector = createSelector( const { data, status } = imagesApi.endpoints.listImages.select(baseQueryArgs)(state); + const { data: total } = + state.gallery.galleryView === 'images' + ? boardsApi.endpoints.getBoardImagesTotal.select( + baseQueryArgs.board_id ?? 'none' + )(state) + : boardsApi.endpoints.getBoardAssetsTotal.select( + baseQueryArgs.board_id ?? 'none' + )(state); + const lastSelectedImage = state.gallery.selection[state.gallery.selection.length - 1]; const isFetching = status === 'pending'; - if (!data || !lastSelectedImage || data.total === 0) { + if (!data || !lastSelectedImage || total === 0) { return { isFetching, queryArgs: baseQueryArgs, @@ -44,30 +54,30 @@ export const nextPrevImageButtonsSelector = createSelector( const images = selectors.selectAll(data); const currentImageIndex = images.findIndex( - (i) => i.image_name === lastSelectedImage + (i) => i.image_name === lastSelectedImage.image_name ); const nextImageIndex = clamp(currentImageIndex + 1, 0, images.length - 1); - const prevImageIndex = clamp(currentImageIndex - 1, 0, images.length - 1); const nextImageId = images[nextImageIndex]?.image_name; const prevImageId = images[prevImageIndex]?.image_name; - const nextImage = selectors.selectById(data, nextImageId); - const prevImage = selectors.selectById(data, prevImageId); + const nextImage = nextImageId + ? selectors.selectById(data, nextImageId) + : undefined; + const prevImage = prevImageId + ? selectors.selectById(data, prevImageId) + : undefined; const imagesLength = images.length; return { - isOnFirstImage: currentImageIndex === 0, - isOnLastImage: - !isNaN(currentImageIndex) && currentImageIndex === imagesLength - 1, - areMoreImagesAvailable: (data?.total ?? 0) > imagesLength, + loadedImagesCount: images.length, + currentImageIndex, + areMoreImagesAvailable: (total ?? 0) > imagesLength, isFetching: status === 'pending', nextImage, prevImage, - nextImageId, - prevImageId, queryArgs, }; }, @@ -82,22 +92,22 @@ export const useNextPrevImage = () => { const dispatch = useAppDispatch(); const { - isOnFirstImage, - isOnLastImage, - nextImageId, - prevImageId, + nextImage, + prevImage, areMoreImagesAvailable, isFetching, queryArgs, + loadedImagesCount, + currentImageIndex, } = useAppSelector(nextPrevImageButtonsSelector); const handlePrevImage = useCallback(() => { - prevImageId && dispatch(imageSelected(prevImageId)); - }, [dispatch, prevImageId]); + prevImage && dispatch(imageSelected(prevImage)); + }, [dispatch, prevImage]); const handleNextImage = useCallback(() => { - nextImageId && dispatch(imageSelected(nextImageId)); - }, [dispatch, nextImageId]); + nextImage && dispatch(imageSelected(nextImage)); + }, [dispatch, nextImage]); const [listImages] = useLazyListImagesQuery(); @@ -108,10 +118,12 @@ export const useNextPrevImage = () => { return { handlePrevImage, handleNextImage, - isOnFirstImage, - isOnLastImage, - nextImageId, - prevImageId, + isOnFirstImage: currentImageIndex === 0, + isOnLastImage: + currentImageIndex !== undefined && + currentImageIndex === loadedImagesCount - 1, + nextImage, + prevImage, areMoreImagesAvailable, handleLoadMoreImages, isFetching, diff --git a/invokeai/frontend/web/src/features/gallery/store/actions.ts b/invokeai/frontend/web/src/features/gallery/store/actions.ts index 0e1b1ef2a0..9368fe6cf6 100644 --- a/invokeai/frontend/web/src/features/gallery/store/actions.ts +++ b/invokeai/frontend/web/src/features/gallery/store/actions.ts @@ -1,5 +1,5 @@ import { createAction } from '@reduxjs/toolkit'; -import { ImageUsage } from 'app/contexts/AddImageToBoardContext'; +import { ImageUsage } from 'features/deleteImageModal/store/types'; import { BoardDTO } from 'services/api/types'; export type RequestedBoardImagesDeletionArg = { diff --git a/invokeai/frontend/web/src/features/gallery/store/boardSlice.ts b/invokeai/frontend/web/src/features/gallery/store/boardSlice.ts deleted file mode 100644 index ad43498e51..0000000000 --- a/invokeai/frontend/web/src/features/gallery/store/boardSlice.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { PayloadAction, createSlice } from '@reduxjs/toolkit'; - -type BoardsState = { - searchText: string; - updateBoardModalOpen: boolean; -}; - -export const initialBoardsState: BoardsState = { - updateBoardModalOpen: false, - searchText: '', -}; - -const boardsSlice = createSlice({ - name: 'boards', - initialState: initialBoardsState, - reducers: { - setBoardSearchText: (state, action: PayloadAction) => { - state.searchText = action.payload; - }, - setUpdateBoardModalOpen: (state, action: PayloadAction) => { - state.updateBoardModalOpen = action.payload; - }, - }, -}); - -export const { setBoardSearchText, setUpdateBoardModalOpen } = - boardsSlice.actions; - -export default boardsSlice.reducer; diff --git a/invokeai/frontend/web/src/features/gallery/store/gallerySelectors.ts b/invokeai/frontend/web/src/features/gallery/store/gallerySelectors.ts index b589550157..47e29456a0 100644 --- a/invokeai/frontend/web/src/features/gallery/store/gallerySelectors.ts +++ b/invokeai/frontend/web/src/features/gallery/store/gallerySelectors.ts @@ -1,7 +1,7 @@ import { createSelector } from '@reduxjs/toolkit'; import { RootState } from 'app/store/store'; import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; -import { ListImagesArgs } from 'services/api/endpoints/images'; +import { ListImagesArgs } from 'services/api/types'; import { ASSETS_CATEGORIES, IMAGE_CATEGORIES, @@ -24,7 +24,7 @@ export const selectListImagesBaseQueryArgs = createSelector( galleryView === 'images' ? IMAGE_CATEGORIES : ASSETS_CATEGORIES; const listImagesBaseQueryArgs: ListImagesArgs = { - board_id: selectedBoardId ?? 'none', + board_id: selectedBoardId, categories, offset: 0, limit: INITIAL_IMAGE_LIMIT, diff --git a/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts b/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts index 9c65e818f4..3b0dd233f1 100644 --- a/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts +++ b/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts @@ -1,66 +1,32 @@ import type { PayloadAction } from '@reduxjs/toolkit'; import { createSlice, isAnyOf } from '@reduxjs/toolkit'; -import { uniq } from 'lodash-es'; import { boardsApi } from 'services/api/endpoints/boards'; +import { imagesApi } from 'services/api/endpoints/images'; +import { ImageDTO } from 'services/api/types'; import { BoardId, GalleryState, GalleryView } from './types'; export const initialGalleryState: GalleryState = { selection: [], shouldAutoSwitch: true, - autoAddBoardId: undefined, autoAssignBoardOnClick: true, + autoAddBoardId: 'none', galleryImageMinimumWidth: 96, - selectedBoardId: undefined, + selectedBoardId: 'none', galleryView: 'images', - batchImageNames: [], - isBatchEnabled: false, + shouldShowDeleteButton: false, + boardSearchText: '', }; export const gallerySlice = createSlice({ name: 'gallery', initialState: initialGalleryState, reducers: { - imageRangeEndSelected: () => { - // TODO - }, - // imageRangeEndSelected: (state, action: PayloadAction) => { - // const rangeEndImageName = action.payload; - // const lastSelectedImage = state.selection[state.selection.length - 1]; - // const filteredImages = selectFilteredImagesLocal(state); - // const lastClickedIndex = filteredImages.findIndex( - // (n) => n.image_name === lastSelectedImage - // ); - // const currentClickedIndex = filteredImages.findIndex( - // (n) => n.image_name === rangeEndImageName - // ); - // if (lastClickedIndex > -1 && currentClickedIndex > -1) { - // // We have a valid range! - // const start = Math.min(lastClickedIndex, currentClickedIndex); - // const end = Math.max(lastClickedIndex, currentClickedIndex); - // const imagesToSelect = filteredImages - // .slice(start, end + 1) - // .map((i) => i.image_name); - // state.selection = uniq(state.selection.concat(imagesToSelect)); - // } - // }, - imageSelectionToggled: () => { - // TODO - }, - // imageSelectionToggled: (state, action: PayloadAction) => { - // TODO: multiselect - // if ( - // state.selection.includes(action.payload) && - // state.selection.length > 1 - // ) { - // state.selection = state.selection.filter( - // (imageName) => imageName !== action.payload - // ); - // } else { - // state.selection = uniq(state.selection.concat(action.payload)); - // } - imageSelected: (state, action: PayloadAction) => { + imageSelected: (state, action: PayloadAction) => { state.selection = action.payload ? [action.payload] : []; }, + selectionChanged: (state, action: PayloadAction) => { + state.selection = action.payload; + }, shouldAutoSwitchChanged: (state, action: PayloadAction) => { state.shouldAutoSwitch = action.payload; }, @@ -74,53 +40,28 @@ export const gallerySlice = createSlice({ state.selectedBoardId = action.payload; state.galleryView = 'images'; }, - isBatchEnabledChanged: (state, action: PayloadAction) => { - state.isBatchEnabled = action.payload; - }, - imagesAddedToBatch: (state, action: PayloadAction) => { - state.batchImageNames = uniq( - state.batchImageNames.concat(action.payload) - ); - }, - imagesRemovedFromBatch: (state, action: PayloadAction) => { - state.batchImageNames = state.batchImageNames.filter( - (imageName) => !action.payload.includes(imageName) - ); - - const newSelection = state.selection.filter( - (imageName) => !action.payload.includes(imageName) - ); - - if (newSelection.length) { - state.selection = newSelection; - return; - } - - state.selection = [state.batchImageNames[0]] ?? []; - }, - batchReset: (state) => { - state.batchImageNames = []; - state.selection = []; - }, - autoAddBoardIdChanged: ( - state, - action: PayloadAction - ) => { + autoAddBoardIdChanged: (state, action: PayloadAction) => { state.autoAddBoardId = action.payload; }, galleryViewChanged: (state, action: PayloadAction) => { state.galleryView = action.payload; }, + shouldShowDeleteButtonChanged: (state, action: PayloadAction) => { + state.shouldShowDeleteButton = action.payload; + }, + boardSearchTextChanged: (state, action: PayloadAction) => { + state.boardSearchText = action.payload; + }, }, extraReducers: (builder) => { builder.addMatcher(isAnyBoardDeleted, (state, action) => { const deletedBoardId = action.meta.arg.originalArgs; if (deletedBoardId === state.selectedBoardId) { - state.selectedBoardId = undefined; + state.selectedBoardId = 'none'; state.galleryView = 'images'; } if (deletedBoardId === state.autoAddBoardId) { - state.autoAddBoardId = undefined; + state.autoAddBoardId = 'none'; } }); builder.addMatcher( @@ -132,7 +73,7 @@ export const gallerySlice = createSlice({ } if (!boards.map((b) => b.board_id).includes(state.autoAddBoardId)) { - state.autoAddBoardId = undefined; + state.autoAddBoardId = 'none'; } } ); @@ -140,23 +81,21 @@ export const gallerySlice = createSlice({ }); export const { - imageRangeEndSelected, - imageSelectionToggled, imageSelected, shouldAutoSwitchChanged, autoAssignBoardOnClickChanged, setGalleryImageMinimumWidth, boardIdSelected, - isBatchEnabledChanged, - imagesAddedToBatch, - imagesRemovedFromBatch, autoAddBoardIdChanged, galleryViewChanged, + selectionChanged, + shouldShowDeleteButtonChanged, + boardSearchTextChanged, } = gallerySlice.actions; export default gallerySlice.reducer; const isAnyBoardDeleted = isAnyOf( - boardsApi.endpoints.deleteBoard.matchFulfilled, - boardsApi.endpoints.deleteBoardAndImages.matchFulfilled + imagesApi.endpoints.deleteBoard.matchFulfilled, + imagesApi.endpoints.deleteBoardAndImages.matchFulfilled ); diff --git a/invokeai/frontend/web/src/features/gallery/store/types.ts b/invokeai/frontend/web/src/features/gallery/store/types.ts index 298b792362..6860f6ea7b 100644 --- a/invokeai/frontend/web/src/features/gallery/store/types.ts +++ b/invokeai/frontend/web/src/features/gallery/store/types.ts @@ -1,4 +1,4 @@ -import { ImageCategory } from 'services/api/types'; +import { ImageCategory, ImageDTO } from 'services/api/types'; export const IMAGE_CATEGORIES: ImageCategory[] = ['general']; export const ASSETS_CATEGORIES: ImageCategory[] = [ @@ -11,17 +11,16 @@ export const INITIAL_IMAGE_LIMIT = 100; export const IMAGE_LIMIT = 20; export type GalleryView = 'images' | 'assets'; -// export type BoardId = 'no_board' | (string & Record); -export type BoardId = string | undefined; +export type BoardId = 'none' | (string & Record); export type GalleryState = { - selection: string[]; + selection: ImageDTO[]; shouldAutoSwitch: boolean; - autoAddBoardId: string | undefined; autoAssignBoardOnClick: boolean; + autoAddBoardId: BoardId; galleryImageMinimumWidth: number; selectedBoardId: BoardId; galleryView: GalleryView; - batchImageNames: string[]; - isBatchEnabled: boolean; + shouldShowDeleteButton: boolean; + boardSearchText: string; }; diff --git a/invokeai/frontend/web/src/features/imageDeletion/store/imageDeletionSlice.ts b/invokeai/frontend/web/src/features/imageDeletion/store/imageDeletionSlice.ts deleted file mode 100644 index 0bfd9a537d..0000000000 --- a/invokeai/frontend/web/src/features/imageDeletion/store/imageDeletionSlice.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { PayloadAction, createSlice } from '@reduxjs/toolkit'; -import { ImageDTO } from 'services/api/types'; - -type DeleteImageState = { - imageToDelete: ImageDTO | null; - isModalOpen: boolean; -}; - -export const initialDeleteImageState: DeleteImageState = { - imageToDelete: null, - isModalOpen: false, -}; - -const imageDeletion = createSlice({ - name: 'imageDeletion', - initialState: initialDeleteImageState, - reducers: { - isModalOpenChanged: (state, action: PayloadAction) => { - state.isModalOpen = action.payload; - }, - imageToDeleteSelected: (state, action: PayloadAction) => { - state.imageToDelete = action.payload; - }, - imageToDeleteCleared: (state) => { - state.imageToDelete = null; - state.isModalOpen = false; - }, - }, -}); - -export const { - isModalOpenChanged, - imageToDeleteSelected, - imageToDeleteCleared, -} = imageDeletion.actions; - -export default imageDeletion.reducer; diff --git a/invokeai/frontend/web/src/features/imageDeletion/store/types.ts b/invokeai/frontend/web/src/features/imageDeletion/store/types.ts deleted file mode 100644 index b3f4dc9c8d..0000000000 --- a/invokeai/frontend/web/src/features/imageDeletion/store/types.ts +++ /dev/null @@ -1,6 +0,0 @@ -export type ImageUsage = { - isInitialImage: boolean; - isCanvasImage: boolean; - isNodesImage: boolean; - isControlNetImage: boolean; -}; diff --git a/invokeai/frontend/web/src/features/lora/store/loraSlice.ts b/invokeai/frontend/web/src/features/lora/store/loraSlice.ts index f0067a85a2..10a1671933 100644 --- a/invokeai/frontend/web/src/features/lora/store/loraSlice.ts +++ b/invokeai/frontend/web/src/features/lora/store/loraSlice.ts @@ -39,11 +39,19 @@ export const loraSlice = createSlice({ action: PayloadAction<{ id: string; weight: number }> ) => { const { id, weight } = action.payload; - state.loras[id].weight = weight; + const lora = state.loras[id]; + if (!lora) { + return; + } + lora.weight = weight; }, loraWeightReset: (state, action: PayloadAction) => { const id = action.payload; - state.loras[id].weight = defaultLoRAConfig.weight; + const lora = state.loras[id]; + if (!lora) { + return; + } + lora.weight = defaultLoRAConfig.weight; }, }, }); diff --git a/invokeai/frontend/web/src/features/nodes/components/search/NodeSearch.tsx b/invokeai/frontend/web/src/features/nodes/components/search/NodeSearch.tsx index 669110fa54..d4a4f8d31f 100644 --- a/invokeai/frontend/web/src/features/nodes/components/search/NodeSearch.tsx +++ b/invokeai/frontend/web/src/features/nodes/components/search/NodeSearch.tsx @@ -170,15 +170,17 @@ const NodeSearch = () => { // } if (key === 'Enter') { - let selectedNodeType: AnyInvocationType; + let selectedNodeType: AnyInvocationType | undefined; if (searchText.length > 0) { - selectedNodeType = filteredNodes[focusedIndex].item.type; + selectedNodeType = filteredNodes[focusedIndex]?.item.type; } else { - selectedNodeType = nodes[focusedIndex].type; + selectedNodeType = nodes[focusedIndex]?.type; } - addNode(selectedNodeType); + if (selectedNodeType) { + addNode(selectedNodeType); + } setShowNodeList(false); } diff --git a/invokeai/frontend/web/src/features/nodes/store/nodesSlice.ts b/invokeai/frontend/web/src/features/nodes/store/nodesSlice.ts index 436396fb38..2e41081e95 100644 --- a/invokeai/frontend/web/src/features/nodes/store/nodesSlice.ts +++ b/invokeai/frontend/web/src/features/nodes/store/nodesSlice.ts @@ -79,9 +79,12 @@ const nodesSlice = createSlice({ ) => { const { nodeId, fieldName, value } = action.payload; const nodeIndex = state.nodes.findIndex((n) => n.id === nodeId); - + const input = state.nodes?.[nodeIndex]?.data?.inputs[fieldName]; + if (!input) { + return; + } if (nodeIndex > -1) { - state.nodes[nodeIndex].data.inputs[fieldName].value = value; + input.value = value; } }, imageCollectionFieldValueChanged: ( @@ -99,16 +102,19 @@ const nodesSlice = createSlice({ return; } - const currentValue = cloneDeep( - state.nodes[nodeIndex].data.inputs[fieldName].value - ); - - if (!currentValue) { - state.nodes[nodeIndex].data.inputs[fieldName].value = value; + const input = state.nodes?.[nodeIndex]?.data?.inputs[fieldName]; + if (!input) { return; } - state.nodes[nodeIndex].data.inputs[fieldName].value = uniqBy( + const currentValue = cloneDeep(input.value); + + if (!currentValue) { + input.value = value; + return; + } + + input.value = uniqBy( (currentValue as ImageField[]).concat(value), 'image_name' ); diff --git a/invokeai/frontend/web/src/features/nodes/util/fieldTemplateBuilders.ts b/invokeai/frontend/web/src/features/nodes/util/fieldTemplateBuilders.ts index 83692533f7..de7d798c69 100644 --- a/invokeai/frontend/web/src/features/nodes/util/fieldTemplateBuilders.ts +++ b/invokeai/frontend/web/src/features/nodes/util/fieldTemplateBuilders.ts @@ -29,6 +29,8 @@ import { VaeInputFieldTemplate, VaeModelInputFieldTemplate, } from '../types/types'; +import { logger } from 'app/logging/logger'; +import { parseify } from 'common/util/serialize'; export type BaseFieldProperties = 'name' | 'title' | 'description'; @@ -50,7 +52,13 @@ export type BuildInputFieldArg = { */ export const refObjectToFieldType = ( refObject: OpenAPIV3.ReferenceObject -): keyof typeof FIELD_TYPE_MAP => refObject.$ref.split('/').slice(-1)[0]; +): keyof typeof FIELD_TYPE_MAP => { + const name = refObject.$ref.split('/').slice(-1)[0]; + if (!name) { + return 'UNKNOWN FIELD TYPE'; + } + return name; +}; const buildIntegerInputFieldTemplate = ({ schemaObject, @@ -428,7 +436,7 @@ export const getFieldType = ( let rawFieldType = ''; if (typeHints && name in typeHints) { - rawFieldType = typeHints[name]; + rawFieldType = typeHints[name] ?? 'UNKNOWN FIELD TYPE'; } else if (!schemaObject.type) { // if schemaObject has no type, then it should have one of allOf, anyOf, oneOf if (schemaObject.allOf) { @@ -568,10 +576,23 @@ export const buildOutputFieldTemplates = ( // extract output schema name from ref const outputSchemaName = refObject.$ref.split('/').slice(-1)[0]; + if (!outputSchemaName) { + logger('nodes').error( + { refObject: parseify(refObject) }, + 'No output schema name found in ref object' + ); + throw 'No output schema name found in ref object'; + } + // get the output schema itself // eslint-disable-next-line @typescript-eslint/no-non-null-assertion const outputSchema = openAPI.components!.schemas![outputSchemaName]; + if (!outputSchema) { + logger('nodes').error({ outputSchemaName }, 'Output schema not found'); + throw 'Output schema not found'; + } + if (isSchemaObject(outputSchema)) { const outputFields = reduce( outputSchema.properties as OpenAPIV3.SchemaObject, diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/ControlNet/ParamControlNetCollapse.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/ControlNet/ParamControlNetCollapse.tsx index 418ed9278f..c4d2d35f8f 100644 --- a/invokeai/frontend/web/src/features/parameters/components/Parameters/ControlNet/ParamControlNetCollapse.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/Parameters/ControlNet/ParamControlNetCollapse.tsx @@ -16,7 +16,10 @@ import { useFeatureStatus } from 'features/system/hooks/useFeatureStatus'; import { map } from 'lodash-es'; import { Fragment, memo, useCallback } from 'react'; import { FaPlus } from 'react-icons/fa'; -import { useGetControlNetModelsQuery } from 'services/api/endpoints/models'; +import { + controlNetModelsAdapter, + useGetControlNetModelsQuery, +} from 'services/api/endpoints/models'; import { v4 as uuidv4 } from 'uuid'; const selector = createSelector( @@ -42,7 +45,9 @@ const ParamControlNetCollapse = () => { const dispatch = useAppDispatch(); const { firstModel } = useGetControlNetModelsQuery(undefined, { selectFromResult: (result) => { - const firstModel = result.data?.entities[result.data?.ids[0]]; + const firstModel = result.data + ? controlNetModelsAdapter.getSelectors().selectAll(result.data)[0] + : undefined; return { firstModel, }; @@ -95,7 +100,7 @@ const ParamControlNetCollapse = () => { {controlNetsArray.map((c, i) => ( {i > 0 && } - + ))} diff --git a/invokeai/frontend/web/src/features/parameters/hooks/useRecallParameters.ts b/invokeai/frontend/web/src/features/parameters/hooks/useRecallParameters.ts index cb2361524d..907107e95e 100644 --- a/invokeai/frontend/web/src/features/parameters/hooks/useRecallParameters.ts +++ b/invokeai/frontend/web/src/features/parameters/hooks/useRecallParameters.ts @@ -12,7 +12,7 @@ import { } from 'features/sdxl/store/sdxlSlice'; import { useCallback } from 'react'; import { useTranslation } from 'react-i18next'; -import { UnsafeImageMetadata } from 'services/api/endpoints/images'; +import { UnsafeImageMetadata } from 'services/api/types'; import { ImageDTO } from 'services/api/types'; import { initialImageSelected, modelSelected } from '../store/actions'; import { diff --git a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/AddModelsPanel/AdvancedAddCheckpoint.tsx b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/AddModelsPanel/AdvancedAddCheckpoint.tsx index fd5106b289..5f82483cd3 100644 --- a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/AddModelsPanel/AdvancedAddCheckpoint.tsx +++ b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/AddModelsPanel/AdvancedAddCheckpoint.tsx @@ -28,9 +28,7 @@ export default function AdvancedAddCheckpoint( const advancedAddCheckpointForm = useForm({ initialValues: { - model_name: model_path - ? model_path.split('\\').splice(-1)[0].split('.')[0] - : '', + model_name: model_path?.split('\\').splice(-1)[0]?.split('.')[0] ?? '', base_model: 'sd-1', model_type: 'main', path: model_path ? model_path : '', diff --git a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/AddModelsPanel/AdvancedAddDiffusers.tsx b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/AddModelsPanel/AdvancedAddDiffusers.tsx index 376631bd1f..ec2d3f037a 100644 --- a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/AddModelsPanel/AdvancedAddDiffusers.tsx +++ b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/AddModelsPanel/AdvancedAddDiffusers.tsx @@ -25,7 +25,7 @@ export default function AdvancedAddDiffusers(props: AdvancedAddDiffusersProps) { const advancedAddDiffusersForm = useForm({ initialValues: { - model_name: model_path ? model_path.split('\\').splice(-1)[0] : '', + model_name: model_path?.split('\\').splice(-1)[0] ?? '', base_model: 'sd-1', model_type: 'main', path: model_path ? model_path : '', diff --git a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/MergeModelsPanel.tsx b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/MergeModelsPanel.tsx index 4ad8fbaba6..6837a2e853 100644 --- a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/MergeModelsPanel.tsx +++ b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/MergeModelsPanel.tsx @@ -59,10 +59,10 @@ export default function MergeModelsPanel() { }, [sd1DiffusersModels, sd2DiffusersModels]); const [modelOne, setModelOne] = useState( - Object.keys(modelsMap[baseModel as keyof typeof modelsMap])[0] + Object.keys(modelsMap[baseModel as keyof typeof modelsMap])?.[0] ?? null ); const [modelTwo, setModelTwo] = useState( - Object.keys(modelsMap[baseModel as keyof typeof modelsMap])[1] + Object.keys(modelsMap[baseModel as keyof typeof modelsMap])?.[1] ?? null ); const [modelThree, setModelThree] = useState(null); @@ -106,8 +106,9 @@ export default function MergeModelsPanel() { let modelsToMerge: (string | null)[] = [modelOne, modelTwo, modelThree]; modelsToMerge = modelsToMerge.filter((model) => model !== null); modelsToMerge.forEach((model) => { - if (model) { - models_names.push(model?.split('/')[2]); + const n = model?.split('/')?.[2]; + if (n) { + models_names.push(n); } }); diff --git a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelConvert.tsx b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelConvert.tsx index 1aec7d5c05..045745e206 100644 --- a/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelConvert.tsx +++ b/invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelConvert.tsx @@ -47,13 +47,11 @@ export default function ModelConvert(props: ModelConvertProps) { }; const modelConvertHandler = () => { - const responseBody = { + const queryArg = { base_model: model.base_model, model_name: model.model_name, - params: { - convert_dest_directory: - saveLocation === 'Custom' ? customSaveLocation : undefined, - }, + convert_dest_directory: + saveLocation === 'Custom' ? customSaveLocation : undefined, }; if (saveLocation === 'Custom' && customSaveLocation === '') { @@ -74,14 +72,14 @@ export default function ModelConvert(props: ModelConvertProps) { title: `${t('modelManager.convertingModelBegin')}: ${ model.model_name }`, - status: 'success', + status: 'info', }) ) ); - convertModel(responseBody) + convertModel(queryArg) .unwrap() - .then((_) => { + .then(() => { dispatch( addToast( makeToast({ @@ -91,7 +89,7 @@ export default function ModelConvert(props: ModelConvertProps) { ) ); }) - .catch((_) => { + .catch(() => { dispatch( addToast( makeToast({ diff --git a/invokeai/frontend/web/src/features/ui/store/uiSelectors.ts b/invokeai/frontend/web/src/features/ui/store/uiSelectors.ts index fa152e9ce5..5427fa9d3b 100644 --- a/invokeai/frontend/web/src/features/ui/store/uiSelectors.ts +++ b/invokeai/frontend/web/src/features/ui/store/uiSelectors.ts @@ -2,12 +2,12 @@ import { createSelector } from '@reduxjs/toolkit'; import { RootState } from 'app/store/store'; import { isEqual } from 'lodash-es'; -import { tabMap } from './tabMap'; +import { InvokeTabName, tabMap } from './tabMap'; import { UIState } from './uiTypes'; export const activeTabNameSelector = createSelector( (state: RootState) => state.ui, - (ui: UIState) => tabMap[ui.activeTab], + (ui: UIState) => tabMap[ui.activeTab] as InvokeTabName, { memoizeOptions: { equalityCheck: isEqual, diff --git a/invokeai/frontend/web/src/services/api/endpoints/boardImages.ts b/invokeai/frontend/web/src/services/api/endpoints/boardImages.ts deleted file mode 100644 index 2dc292321e..0000000000 --- a/invokeai/frontend/web/src/services/api/endpoints/boardImages.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { api } from '..'; - -export const boardImagesApi = api.injectEndpoints({ - endpoints: (build) => ({ - /** - * Board Images Queries - */ - // listBoardImages: build.query< - // OffsetPaginatedResults_ImageDTO_, - // ListBoardImagesArg - // >({ - // query: ({ board_id, offset, limit }) => ({ - // url: `board_images/${board_id}`, - // method: 'GET', - // }), - // providesTags: (result, error, arg) => { - // // any list of boardimages - // const tags: ApiFullTagDescription[] = [ - // { type: 'BoardImage', id: `${arg.board_id}_${LIST_TAG}` }, - // ]; - // if (result) { - // // and individual tags for each boardimage - // tags.push( - // ...result.items.map(({ board_id, image_name }) => ({ - // type: 'BoardImage' as const, - // id: `${board_id}_${image_name}`, - // })) - // ); - // } - // return tags; - // }, - // }), - }), -}); - -// export const { useListBoardImagesQuery } = boardImagesApi; diff --git a/invokeai/frontend/web/src/services/api/endpoints/boards.ts b/invokeai/frontend/web/src/services/api/endpoints/boards.ts index 73b894b492..9d9fa11da8 100644 --- a/invokeai/frontend/web/src/services/api/endpoints/boards.ts +++ b/invokeai/frontend/web/src/services/api/endpoints/boards.ts @@ -1,28 +1,16 @@ -import { Update } from '@reduxjs/toolkit'; import { ASSETS_CATEGORIES, IMAGE_CATEGORIES, } from 'features/gallery/store/types'; import { BoardDTO, - ImageDTO, + ListBoardsArg, OffsetPaginatedResults_BoardDTO_, + OffsetPaginatedResults_ImageDTO_, + UpdateBoardArg, } from 'services/api/types'; import { ApiFullTagDescription, LIST_TAG, api } from '..'; -import { paths } from '../schema'; -import { getListImagesUrl, imagesAdapter, imagesApi } from './images'; - -type ListBoardsArg = NonNullable< - paths['/api/v1/boards/']['get']['parameters']['query'] ->; - -type UpdateBoardArg = - paths['/api/v1/boards/{board_id}']['patch']['parameters']['path'] & { - changes: paths['/api/v1/boards/{board_id}']['patch']['requestBody']['content']['application/json']; - }; - -type DeleteBoardResult = - paths['/api/v1/boards/{board_id}']['delete']['responses']['200']['content']['application/json']; +import { getListImagesUrl } from '../util'; export const boardsApi = api.injectEndpoints({ endpoints: (build) => ({ @@ -82,6 +70,44 @@ export const boardsApi = api.injectEndpoints({ keepUnusedDataFor: 0, }), + getBoardImagesTotal: build.query({ + query: (board_id) => ({ + url: getListImagesUrl({ + board_id: board_id ?? 'none', + categories: IMAGE_CATEGORIES, + is_intermediate: false, + limit: 0, + offset: 0, + }), + method: 'GET', + }), + providesTags: (result, error, arg) => [ + { type: 'BoardImagesTotal', id: arg ?? 'none' }, + ], + transformResponse: (response: OffsetPaginatedResults_ImageDTO_) => { + return response.total; + }, + }), + + getBoardAssetsTotal: build.query({ + query: (board_id) => ({ + url: getListImagesUrl({ + board_id: board_id ?? 'none', + categories: ASSETS_CATEGORIES, + is_intermediate: false, + limit: 0, + offset: 0, + }), + method: 'GET', + }), + providesTags: (result, error, arg) => [ + { type: 'BoardAssetsTotal', id: arg ?? 'none' }, + ], + transformResponse: (response: OffsetPaginatedResults_ImageDTO_) => { + return response.total; + }, + }), + /** * Boards Mutations */ @@ -105,176 +131,15 @@ export const boardsApi = api.injectEndpoints({ { type: 'Board', id: arg.board_id }, ], }), - - deleteBoard: build.mutation({ - query: (board_id) => ({ url: `boards/${board_id}`, method: 'DELETE' }), - invalidatesTags: (result, error, board_id) => [ - { type: 'Board', id: LIST_TAG }, - // invalidate the 'No Board' cache - { - type: 'ImageList', - id: getListImagesUrl({ - board_id: 'none', - categories: IMAGE_CATEGORIES, - }), - }, - { - type: 'ImageList', - id: getListImagesUrl({ - board_id: 'none', - categories: ASSETS_CATEGORIES, - }), - }, - { type: 'BoardImagesTotal', id: 'none' }, - { type: 'BoardAssetsTotal', id: 'none' }, - ], - async onQueryStarted(board_id, { dispatch, queryFulfilled, getState }) { - /** - * Cache changes for deleteBoard: - * - Update every image in the 'getImageDTO' cache that has the board_id - * - Update every image in the 'All Images' cache that has the board_id - * - Update every image in the 'All Assets' cache that has the board_id - * - Invalidate the 'No Board' cache: - * Ideally we'd be able to insert all deleted images into the cache, but we don't - * have access to the deleted images DTOs - only the names, and a network request - * for all of a board's DTOs could be very large. Instead, we invalidate the 'No Board' - * cache. - */ - - try { - const { data } = await queryFulfilled; - const { deleted_board_images } = data; - - // update getImageDTO caches - deleted_board_images.forEach((image_id) => { - dispatch( - imagesApi.util.updateQueryData( - 'getImageDTO', - image_id, - (draft) => { - draft.board_id = undefined; - } - ) - ); - }); - - // update 'All Images' & 'All Assets' caches - const queryArgsToUpdate = [ - { - categories: IMAGE_CATEGORIES, - }, - { - categories: ASSETS_CATEGORIES, - }, - ]; - - const updates: Update[] = deleted_board_images.map( - (image_name) => ({ - id: image_name, - changes: { board_id: undefined }, - }) - ); - - queryArgsToUpdate.forEach((queryArgs) => { - dispatch( - imagesApi.util.updateQueryData( - 'listImages', - queryArgs, - (draft) => { - const oldTotal = draft.total; - const newState = imagesAdapter.updateMany(draft, updates); - const delta = newState.total - oldTotal; - draft.total = draft.total + delta; - } - ) - ); - }); - } catch { - //no-op - } - }, - }), - - deleteBoardAndImages: build.mutation({ - query: (board_id) => ({ - url: `boards/${board_id}`, - method: 'DELETE', - params: { include_images: true }, - }), - invalidatesTags: (result, error, board_id) => [ - { type: 'Board', id: LIST_TAG }, - { - type: 'ImageList', - id: getListImagesUrl({ - board_id: 'none', - categories: IMAGE_CATEGORIES, - }), - }, - { - type: 'ImageList', - id: getListImagesUrl({ - board_id: 'none', - categories: ASSETS_CATEGORIES, - }), - }, - { type: 'BoardImagesTotal', id: 'none' }, - { type: 'BoardAssetsTotal', id: 'none' }, - ], - async onQueryStarted(board_id, { dispatch, queryFulfilled, getState }) { - /** - * Cache changes for deleteBoardAndImages: - * - ~~Remove every image in the 'getImageDTO' cache that has the board_id~~ - * This isn't actually possible, you cannot remove cache entries with RTK Query. - * Instead, we rely on the UI to remove all components that use the deleted images. - * - Remove every image in the 'All Images' cache that has the board_id - * - Remove every image in the 'All Assets' cache that has the board_id - */ - - try { - const { data } = await queryFulfilled; - const { deleted_images } = data; - - // update 'All Images' & 'All Assets' caches - const queryArgsToUpdate = [ - { - categories: IMAGE_CATEGORIES, - }, - { - categories: ASSETS_CATEGORIES, - }, - ]; - - queryArgsToUpdate.forEach((queryArgs) => { - dispatch( - imagesApi.util.updateQueryData( - 'listImages', - queryArgs, - (draft) => { - const oldTotal = draft.total; - const newState = imagesAdapter.removeMany( - draft, - deleted_images - ); - const delta = newState.total - oldTotal; - draft.total = draft.total + delta; - } - ) - ); - }); - } catch { - //no-op - } - }, - }), }), }); export const { useListBoardsQuery, useListAllBoardsQuery, + useGetBoardImagesTotalQuery, + useGetBoardAssetsTotalQuery, useCreateBoardMutation, useUpdateBoardMutation, - useDeleteBoardMutation, - useDeleteBoardAndImagesMutation, useListAllImageNamesForBoardQuery, } = boardsApi; diff --git a/invokeai/frontend/web/src/services/api/endpoints/images.ts b/invokeai/frontend/web/src/services/api/endpoints/images.ts index e8740a418b..e093c1c33a 100644 --- a/invokeai/frontend/web/src/services/api/endpoints/images.ts +++ b/invokeai/frontend/web/src/services/api/endpoints/images.ts @@ -1,93 +1,37 @@ -import { EntityState, createEntityAdapter } from '@reduxjs/toolkit'; +import { EntityState, Update } from '@reduxjs/toolkit'; import { PatchCollection } from '@reduxjs/toolkit/dist/query/core/buildThunks'; -import { dateComparator } from 'common/util/dateComparator'; import { ASSETS_CATEGORIES, BoardId, IMAGE_CATEGORIES, } from 'features/gallery/store/types'; -import queryString from 'query-string'; -import { ApiFullTagDescription, api } from '..'; -import { components, paths } from '../schema'; +import { keyBy } from 'lodash'; +import { ApiFullTagDescription, LIST_TAG, api } from '..'; +import { components } from '../schema'; import { + DeleteBoardResult, ImageCategory, ImageDTO, + ListImagesArgs, OffsetPaginatedResults_ImageDTO_, PostUploadAction, + UnsafeImageMetadata, } from '../types'; - -const getIsImageInDateRange = ( - data: ImageCache | undefined, - imageDTO: ImageDTO -) => { - if (!data) { - return false; - } - const cacheImageDTOS = imagesSelectors.selectAll(data); - - if (cacheImageDTOS.length > 1) { - // Images are sorted by `created_at` DESC - // check if the image is newer than the oldest image in the cache - const createdDate = new Date(imageDTO.created_at); - const oldestDate = new Date( - cacheImageDTOS[cacheImageDTOS.length - 1].created_at - ); - return createdDate >= oldestDate; - } else if ([0, 1].includes(cacheImageDTOS.length)) { - // if there are only 1 or 0 images in the cache, we consider the image to be in the date range - return true; - } - return false; -}; - -const getCategories = (imageDTO: ImageDTO) => { - if (IMAGE_CATEGORIES.includes(imageDTO.image_category)) { - return IMAGE_CATEGORIES; - } - return ASSETS_CATEGORIES; -}; - -export type ListImagesArgs = NonNullable< - paths['/api/v1/images/']['get']['parameters']['query'] ->; - -/** - * This is an unsafe type; the object inside is not guaranteed to be valid. - */ -export type UnsafeImageMetadata = { - metadata: components['schemas']['CoreMetadata']; - graph: NonNullable; -}; - -export type ImageCache = EntityState & { total: number }; - -// The adapter is not actually the data store - it just provides helper functions to interact -// with some other store of data. We will use the RTK Query cache as that store. -export const imagesAdapter = createEntityAdapter({ - selectId: (image) => image.image_name, - sortComparer: (a, b) => dateComparator(b.updated_at, a.updated_at), -}); - -// We want to also store the images total in the cache. When we initialize the cache state, -// we will provide this type arg so the adapter knows we want the total. -export type AdditionalImagesAdapterState = { total: number }; - -// Create selectors for the adapter. -export const imagesSelectors = imagesAdapter.getSelectors(); - -// Helper to create the url for the listImages endpoint. Also we use it to create the cache key. -export const getListImagesUrl = (queryArgs: ListImagesArgs) => - `images/?${queryString.stringify(queryArgs, { arrayFormat: 'none' })}`; +import { + getCategories, + getIsImageInDateRange, + getListImagesUrl, + imagesAdapter, + imagesSelectors, +} from '../util'; +import { boardsApi } from './boards'; export const imagesApi = api.injectEndpoints({ endpoints: (build) => ({ /** * Image Queries */ - listImages: build.query< - EntityState & { total: number }, - ListImagesArgs - >({ + listImages: build.query, ListImagesArgs>({ query: (queryArgs) => ({ // Use the helper to create the URL. url: getListImagesUrl(queryArgs), @@ -110,23 +54,17 @@ export const imagesApi = api.injectEndpoints({ return cacheKey; }, transformResponse(response: OffsetPaginatedResults_ImageDTO_) { - const { total, items: images } = response; - // Use the adapter to convert the response to the right shape, and adding the new total. + const { items: images } = response; + // Use the adapter to convert the response to the right shape. // The trick is to just provide an empty state and add the images array to it. This returns // a properly shaped EntityState. - return imagesAdapter.addMany( - imagesAdapter.getInitialState({ - total, - }), - images - ); + return imagesAdapter.addMany(imagesAdapter.getInitialState(), images); }, merge: (cache, response) => { // Here we actually update the cache. `response` here is the output of `transformResponse` // above. In a similar vein to `transformResponse`, we can use the imagesAdapter to get - // things in the right shape. Also update the total image count. + // things in the right shape. imagesAdapter.addMany(cache, imagesSelectors.selectAll(response)); - cache.total = response.total; }, forceRefetch({ currentArg, previousArg }) { // Refetch when the offset changes (which means we are on a new page). @@ -161,69 +99,26 @@ export const imagesApi = api.injectEndpoints({ }, }), getImageDTO: build.query({ - query: (image_name) => ({ url: `images/${image_name}` }), - providesTags: (result, error, arg) => { - const tags: ApiFullTagDescription[] = [{ type: 'Image', id: arg }]; - if (result?.board_id) { - tags.push({ type: 'Board', id: result.board_id }); - } - return tags; - }, + query: (image_name) => ({ url: `images/i/${image_name}` }), + providesTags: (result, error, image_name) => [ + { type: 'Image', id: image_name }, + ], keepUnusedDataFor: 86400, // 24 hours }), getImageMetadata: build.query({ - query: (image_name) => ({ url: `images/${image_name}/metadata` }), - providesTags: (result, error, arg) => { - const tags: ApiFullTagDescription[] = [ - { type: 'ImageMetadata', id: arg }, - ]; - return tags; - }, + query: (image_name) => ({ url: `images/i/${image_name}/metadata` }), + providesTags: (result, error, image_name) => [ + { type: 'ImageMetadata', id: image_name }, + ], keepUnusedDataFor: 86400, // 24 hours }), - getBoardImagesTotal: build.query({ - query: (board_id) => ({ - url: getListImagesUrl({ - board_id: board_id ?? 'none', - categories: IMAGE_CATEGORIES, - is_intermediate: false, - limit: 0, - offset: 0, - }), - method: 'GET', - }), - providesTags: (result, error, arg) => [ - { type: 'BoardImagesTotal', id: arg ?? 'none' }, - ], - transformResponse: (response: OffsetPaginatedResults_ImageDTO_) => { - return response.total; - }, - }), - getBoardAssetsTotal: build.query({ - query: (board_id) => ({ - url: getListImagesUrl({ - board_id: board_id ?? 'none', - categories: ASSETS_CATEGORIES, - is_intermediate: false, - limit: 0, - offset: 0, - }), - method: 'GET', - }), - providesTags: (result, error, arg) => [ - { type: 'BoardAssetsTotal', id: arg ?? 'none' }, - ], - transformResponse: (response: OffsetPaginatedResults_ImageDTO_) => { - return response.total; - }, - }), clearIntermediates: build.mutation({ query: () => ({ url: `images/clear-intermediates`, method: 'POST' }), invalidatesTags: ['IntermediatesCount'], }), deleteImage: build.mutation({ query: ({ image_name }) => ({ - url: `images/${image_name}`, + url: `images/i/${image_name}`, method: 'DELETE', }), invalidatesTags: (result, error, { board_id }) => [ @@ -240,33 +135,77 @@ export const imagesApi = api.injectEndpoints({ const { image_name, board_id } = imageDTO; - // Store patches so we can undo if the query fails - const patches: PatchCollection[] = []; + const queryArg = { + board_id: board_id ?? 'none', + categories: getCategories(imageDTO), + }; - // determine `categories`, i.e. do we update "All Images" or "All Assets" - // $cache = [board_id|no_board]/[images|assets] - const categories = getCategories(imageDTO); - - // *remove* from $cache - patches.push( - dispatch( - imagesApi.util.updateQueryData( - 'listImages', - { board_id: board_id ?? 'none', categories }, - (draft) => { - const oldTotal = draft.total; - const newState = imagesAdapter.removeOne(draft, image_name); - const delta = newState.total - oldTotal; - draft.total = draft.total + delta; - } - ) - ) + const patch = dispatch( + imagesApi.util.updateQueryData('listImages', queryArg, (draft) => { + imagesAdapter.removeOne(draft, image_name); + }) ); try { await queryFulfilled; } catch { - patches.forEach((patchResult) => patchResult.undo()); + patch.undo(); + } + }, + }), + deleteImages: build.mutation< + components['schemas']['DeleteImagesFromListResult'], + { imageDTOs: ImageDTO[] } + >({ + query: ({ imageDTOs }) => { + const image_names = imageDTOs.map((imageDTO) => imageDTO.image_name); + return { + url: `images/delete`, + method: 'POST', + body: { + image_names, + }, + }; + }, + invalidatesTags: (result, error, imageDTOs) => [], + async onQueryStarted({ imageDTOs }, { dispatch, queryFulfilled }) { + /** + * Cache changes for `deleteImages`: + * - *remove* the deleted images from their boards + * + * Unfortunately we cannot do an optimistic update here due to how immer handles patching + * arrays. You have to undo *all* patches, else the entity adapter's `ids` array is borked. + * So we have to wait for the query to complete before updating the cache. + */ + try { + const { data } = await queryFulfilled; + + // convert to an object so we can access the successfully delete image DTOs by name + const groupedImageDTOs = keyBy(imageDTOs, 'image_name'); + + data.deleted_images.forEach((image_name) => { + const imageDTO = groupedImageDTOs[image_name]; + + // should never be undefined + if (imageDTO) { + const queryArg = { + board_id: imageDTO.board_id ?? 'none', + categories: getCategories(imageDTO), + }; + // remove all deleted images from their boards + dispatch( + imagesApi.util.updateQueryData( + 'listImages', + queryArg, + (draft) => { + imagesAdapter.removeOne(draft, image_name); + } + ) + ); + } + }); + } catch { + // } }, }), @@ -278,7 +217,7 @@ export const imagesApi = api.injectEndpoints({ { imageDTO: ImageDTO; is_intermediate: boolean } >({ query: ({ imageDTO, is_intermediate }) => ({ - url: `images/${imageDTO.image_name}`, + url: `images/i/${imageDTO.image_name}`, method: 'PATCH', body: { is_intermediate }, }), @@ -329,20 +268,13 @@ export const imagesApi = api.injectEndpoints({ 'listImages', { board_id: imageDTO.board_id ?? 'none', categories }, (draft) => { - const oldTotal = draft.total; - const newState = imagesAdapter.removeOne( - draft, - imageDTO.image_name - ); - const delta = newState.total - oldTotal; - draft.total = draft.total + delta; + imagesAdapter.removeOne(draft, imageDTO.image_name); } ) ) ); } else { // ELSE (it is being changed to a non-intermediate): - console.log(imageDTO); const queryArgs = { board_id: imageDTO.board_id ?? 'none', categories, @@ -352,6 +284,16 @@ export const imagesApi = api.injectEndpoints({ getState() ); + const { data: total } = IMAGE_CATEGORIES.includes( + imageDTO.image_category + ) + ? boardsApi.endpoints.getBoardImagesTotal.select( + imageDTO.board_id ?? 'none' + )(getState()) + : boardsApi.endpoints.getBoardAssetsTotal.select( + imageDTO.board_id ?? 'none' + )(getState()); + // IF it eligible for insertion into existing $cache // "eligible" means either: // - The cache is fully populated, with all images in the db cached @@ -359,8 +301,7 @@ export const imagesApi = api.injectEndpoints({ // - The image's `created_at` is within the range of the cached images const isCacheFullyPopulated = - currentCache.data && - currentCache.data.ids.length >= currentCache.data.total; + currentCache.data && currentCache.data.ids.length >= (total ?? 0); const isInDateRange = getIsImageInDateRange( currentCache.data, @@ -375,10 +316,7 @@ export const imagesApi = api.injectEndpoints({ 'listImages', queryArgs, (draft) => { - const oldTotal = draft.total; - const newState = imagesAdapter.upsertOne(draft, imageDTO); - const delta = newState.total - oldTotal; - draft.total = draft.total + delta; + imagesAdapter.upsertOne(draft, imageDTO); } ) ) @@ -401,7 +339,7 @@ export const imagesApi = api.injectEndpoints({ { imageDTO: ImageDTO; session_id: string } >({ query: ({ imageDTO, session_id }) => ({ - url: `images/${imageDTO.image_name}`, + url: `images/i/${imageDTO.image_name}`, method: 'PATCH', body: { session_id }, }), @@ -464,14 +402,14 @@ export const imagesApi = api.injectEndpoints({ const formData = new FormData(); formData.append('file', file); return { - url: `images/`, + url: `images/upload`, method: 'POST', body: formData, params: { image_category, is_intermediate, session_id, - board_id, + board_id: board_id === 'none' ? undefined : board_id, crop_visible, }, }; @@ -524,10 +462,7 @@ export const imagesApi = api.injectEndpoints({ categories, }, (draft) => { - const oldTotal = draft.total; - const newState = imagesAdapter.addOne(draft, imageDTO); - const delta = newState.total - oldTotal; - draft.total = draft.total + delta; + imagesAdapter.addOne(draft, imageDTO); } ) ); @@ -543,6 +478,158 @@ export const imagesApi = api.injectEndpoints({ } }, }), + + deleteBoard: build.mutation({ + query: (board_id) => ({ url: `boards/${board_id}`, method: 'DELETE' }), + invalidatesTags: (result, error, board_id) => [ + { type: 'Board', id: LIST_TAG }, + // invalidate the 'No Board' cache + { + type: 'ImageList', + id: getListImagesUrl({ + board_id: 'none', + categories: IMAGE_CATEGORIES, + }), + }, + { + type: 'ImageList', + id: getListImagesUrl({ + board_id: 'none', + categories: ASSETS_CATEGORIES, + }), + }, + { type: 'BoardImagesTotal', id: 'none' }, + { type: 'BoardAssetsTotal', id: 'none' }, + ], + async onQueryStarted(board_id, { dispatch, queryFulfilled, getState }) { + /** + * Cache changes for deleteBoard: + * - Update every image in the 'getImageDTO' cache that has the board_id + * - Update every image in the 'All Images' cache that has the board_id + * - Update every image in the 'All Assets' cache that has the board_id + * - Invalidate the 'No Board' cache: + * Ideally we'd be able to insert all deleted images into the cache, but we don't + * have access to the deleted images DTOs - only the names, and a network request + * for all of a board's DTOs could be very large. Instead, we invalidate the 'No Board' + * cache. + */ + + try { + const { data } = await queryFulfilled; + const { deleted_board_images } = data; + + // update getImageDTO caches + deleted_board_images.forEach((image_id) => { + dispatch( + imagesApi.util.updateQueryData( + 'getImageDTO', + image_id, + (draft) => { + draft.board_id = undefined; + } + ) + ); + }); + + // update 'All Images' & 'All Assets' caches + const queryArgsToUpdate = [ + { + categories: IMAGE_CATEGORIES, + }, + { + categories: ASSETS_CATEGORIES, + }, + ]; + + const updates: Update[] = deleted_board_images.map( + (image_name) => ({ + id: image_name, + changes: { board_id: undefined }, + }) + ); + + queryArgsToUpdate.forEach((queryArgs) => { + dispatch( + imagesApi.util.updateQueryData( + 'listImages', + queryArgs, + (draft) => { + imagesAdapter.updateMany(draft, updates); + } + ) + ); + }); + } catch { + //no-op + } + }, + }), + + deleteBoardAndImages: build.mutation({ + query: (board_id) => ({ + url: `boards/${board_id}`, + method: 'DELETE', + params: { include_images: true }, + }), + invalidatesTags: (result, error, board_id) => [ + { type: 'Board', id: LIST_TAG }, + { + type: 'ImageList', + id: getListImagesUrl({ + board_id: 'none', + categories: IMAGE_CATEGORIES, + }), + }, + { + type: 'ImageList', + id: getListImagesUrl({ + board_id: 'none', + categories: ASSETS_CATEGORIES, + }), + }, + { type: 'BoardImagesTotal', id: 'none' }, + { type: 'BoardAssetsTotal', id: 'none' }, + ], + async onQueryStarted(board_id, { dispatch, queryFulfilled, getState }) { + /** + * Cache changes for deleteBoardAndImages: + * - ~~Remove every image in the 'getImageDTO' cache that has the board_id~~ + * This isn't actually possible, you cannot remove cache entries with RTK Query. + * Instead, we rely on the UI to remove all components that use the deleted images. + * - Remove every image in the 'All Images' cache that has the board_id + * - Remove every image in the 'All Assets' cache that has the board_id + */ + + try { + const { data } = await queryFulfilled; + const { deleted_images } = data; + + // update 'All Images' & 'All Assets' caches + const queryArgsToUpdate = [ + { + categories: IMAGE_CATEGORIES, + }, + { + categories: ASSETS_CATEGORIES, + }, + ]; + + queryArgsToUpdate.forEach((queryArgs) => { + dispatch( + imagesApi.util.updateQueryData( + 'listImages', + queryArgs, + (draft) => { + imagesAdapter.removeMany(draft, deleted_images); + } + ) + ); + }); + } catch { + //no-op + } + }, + }), addImageToBoard: build.mutation< void, { board_id: BoardId; imageDTO: ImageDTO } @@ -556,10 +643,13 @@ export const imagesApi = api.injectEndpoints({ }; }, invalidatesTags: (result, error, { board_id, imageDTO }) => [ + // refresh the board itself { type: 'Board', id: board_id }, + // update old board totals { type: 'BoardImagesTotal', id: board_id }, - { type: 'BoardImagesTotal', id: imageDTO.board_id ?? 'none' }, { type: 'BoardAssetsTotal', id: board_id }, + // update new board totals + { type: 'BoardImagesTotal', id: imageDTO.board_id ?? 'none' }, { type: 'BoardAssetsTotal', id: imageDTO.board_id ?? 'none' }, ], async onQueryStarted( @@ -589,7 +679,7 @@ export const imagesApi = api.injectEndpoints({ 'getImageDTO', imageDTO.image_name, (draft) => { - Object.assign(draft, { board_id }); + draft.board_id = board_id; } ) ) @@ -606,13 +696,7 @@ export const imagesApi = api.injectEndpoints({ categories, }, (draft) => { - const oldTotal = draft.total; - const newState = imagesAdapter.removeOne( - draft, - imageDTO.image_name - ); - const delta = newState.total - oldTotal; - draft.total = draft.total + delta; + imagesAdapter.removeOne(draft, imageDTO.image_name); } ) ) @@ -630,9 +714,18 @@ export const imagesApi = api.injectEndpoints({ // OR // - The image's `created_at` is within the range of the cached images + const { data: total } = IMAGE_CATEGORIES.includes( + imageDTO.image_category + ) + ? boardsApi.endpoints.getBoardImagesTotal.select( + imageDTO.board_id ?? 'none' + )(getState()) + : boardsApi.endpoints.getBoardAssetsTotal.select( + imageDTO.board_id ?? 'none' + )(getState()); + const isCacheFullyPopulated = - currentCache.data && - currentCache.data.ids.length >= currentCache.data.total; + currentCache.data && currentCache.data.ids.length >= (total ?? 0); const isInDateRange = getIsImageInDateRange( currentCache.data, @@ -647,10 +740,7 @@ export const imagesApi = api.injectEndpoints({ 'listImages', queryArgs, (draft) => { - const oldTotal = draft.total; - const newState = imagesAdapter.addOne(draft, imageDTO); - const delta = newState.total - oldTotal; - draft.total = draft.total + delta; + imagesAdapter.addOne(draft, imageDTO); } ) ) @@ -667,20 +757,26 @@ export const imagesApi = api.injectEndpoints({ }), removeImageFromBoard: build.mutation({ query: ({ imageDTO }) => { - const { board_id, image_name } = imageDTO; + const { image_name } = imageDTO; return { url: `board_images/`, method: 'DELETE', - body: { board_id, image_name }, + body: { image_name }, }; }, - invalidatesTags: (result, error, { imageDTO }) => [ - { type: 'Board', id: imageDTO.board_id }, - { type: 'BoardImagesTotal', id: imageDTO.board_id }, - { type: 'BoardImagesTotal', id: 'none' }, - { type: 'BoardAssetsTotal', id: imageDTO.board_id }, - { type: 'BoardAssetsTotal', id: 'none' }, - ], + invalidatesTags: (result, error, { imageDTO }) => { + const { board_id } = imageDTO; + return [ + // invalidate the image's old board + { type: 'Board', id: board_id ?? 'none' }, + // update old board totals + { type: 'BoardImagesTotal', id: board_id ?? 'none' }, + { type: 'BoardAssetsTotal', id: board_id ?? 'none' }, + // update the no_board totals + { type: 'BoardImagesTotal', id: 'none' }, + { type: 'BoardAssetsTotal', id: 'none' }, + ]; + }, async onQueryStarted( { imageDTO }, { dispatch, queryFulfilled, getState } @@ -704,7 +800,7 @@ export const imagesApi = api.injectEndpoints({ 'getImageDTO', imageDTO.image_name, (draft) => { - Object.assign(draft, { board_id: undefined }); + draft.board_id = undefined; } ) ) @@ -720,13 +816,7 @@ export const imagesApi = api.injectEndpoints({ categories, }, (draft) => { - const oldTotal = draft.total; - const newState = imagesAdapter.removeOne( - draft, - imageDTO.image_name - ); - const delta = newState.total - oldTotal; - draft.total = draft.total + delta; + imagesAdapter.removeOne(draft, imageDTO.image_name); } ) ) @@ -744,9 +834,18 @@ export const imagesApi = api.injectEndpoints({ // OR // - The image's `created_at` is within the range of the cached images + const { data: total } = IMAGE_CATEGORIES.includes( + imageDTO.image_category + ) + ? boardsApi.endpoints.getBoardImagesTotal.select( + imageDTO.board_id ?? 'none' + )(getState()) + : boardsApi.endpoints.getBoardAssetsTotal.select( + imageDTO.board_id ?? 'none' + )(getState()); + const isCacheFullyPopulated = - currentCache.data && - currentCache.data.ids.length >= currentCache.data.total; + currentCache.data && currentCache.data.ids.length >= (total ?? 0); const isInDateRange = getIsImageInDateRange( currentCache.data, @@ -761,10 +860,7 @@ export const imagesApi = api.injectEndpoints({ 'listImages', queryArgs, (draft) => { - const oldTotal = draft.total; - const newState = imagesAdapter.upsertOne(draft, imageDTO); - const delta = newState.total - oldTotal; - draft.total = draft.total + delta; + imagesAdapter.upsertOne(draft, imageDTO); } ) ) @@ -778,6 +874,255 @@ export const imagesApi = api.injectEndpoints({ } }, }), + addImagesToBoard: build.mutation< + components['schemas']['AddImagesToBoardResult'], + { + board_id: string; + imageDTOs: ImageDTO[]; + } + >({ + query: ({ board_id, imageDTOs }) => ({ + url: `board_images/batch`, + method: 'POST', + body: { + image_names: imageDTOs.map((i) => i.image_name), + board_id, + }, + }), + invalidatesTags: (result, error, { board_id }) => [ + // update the destination board + { type: 'Board', id: board_id ?? 'none' }, + // update old board totals + { type: 'BoardImagesTotal', id: board_id ?? 'none' }, + { type: 'BoardAssetsTotal', id: board_id ?? 'none' }, + // update the no_board totals + { type: 'BoardImagesTotal', id: 'none' }, + { type: 'BoardAssetsTotal', id: 'none' }, + ], + async onQueryStarted( + { board_id, imageDTOs }, + { dispatch, queryFulfilled, getState } + ) { + try { + const { data } = await queryFulfilled; + const { added_image_names } = data; + + /** + * Cache changes for addImagesToBoard: + * - *update* getImageDTO for each image + * - *add* to board_id/[images|assets] + * - *remove* from [old_board_id|no_board]/[images|assets] + */ + + added_image_names.forEach((image_name) => { + dispatch( + imagesApi.util.updateQueryData( + 'getImageDTO', + image_name, + (draft) => { + draft.board_id = board_id; + } + ) + ); + + const imageDTO = imageDTOs.find((i) => i.image_name === image_name); + + if (!imageDTO) { + return; + } + + const categories = getCategories(imageDTO); + const old_board_id = imageDTO.board_id; + + // remove from the old board + dispatch( + imagesApi.util.updateQueryData( + 'listImages', + { board_id: old_board_id ?? 'none', categories }, + (draft) => { + imagesAdapter.removeOne(draft, imageDTO.image_name); + } + ) + ); + + const queryArgs = { + board_id, + categories, + }; + + const currentCache = imagesApi.endpoints.listImages.select( + queryArgs + )(getState()); + + const { data: total } = IMAGE_CATEGORIES.includes( + imageDTO.image_category + ) + ? boardsApi.endpoints.getBoardImagesTotal.select( + imageDTO.board_id ?? 'none' + )(getState()) + : boardsApi.endpoints.getBoardAssetsTotal.select( + imageDTO.board_id ?? 'none' + )(getState()); + + const isCacheFullyPopulated = + currentCache.data && currentCache.data.ids.length >= (total ?? 0); + + const isInDateRange = getIsImageInDateRange( + currentCache.data, + imageDTO + ); + + if (isCacheFullyPopulated || isInDateRange) { + // *upsert* to $cache + dispatch( + imagesApi.util.updateQueryData( + 'listImages', + queryArgs, + (draft) => { + imagesAdapter.upsertOne(draft, { + ...imageDTO, + board_id, + }); + } + ) + ); + } + }); + } catch { + // no-op + } + }, + }), + removeImagesFromBoard: build.mutation< + components['schemas']['RemoveImagesFromBoardResult'], + { + imageDTOs: ImageDTO[]; + } + >({ + query: ({ imageDTOs }) => ({ + url: `board_images/batch/delete`, + method: 'POST', + body: { + image_names: imageDTOs.map((i) => i.image_name), + }, + }), + invalidatesTags: (result, error, { imageDTOs }) => { + const touchedBoardIds: string[] = []; + const tags: ApiFullTagDescription[] = [ + { type: 'BoardImagesTotal', id: 'none' }, + { type: 'BoardAssetsTotal', id: 'none' }, + ]; + + result?.removed_image_names.forEach((image_name) => { + const board_id = imageDTOs.find( + (i) => i.image_name === image_name + )?.board_id; + + if (!board_id || touchedBoardIds.includes(board_id)) { + return; + } + + tags.push({ type: 'Board', id: board_id }); + tags.push({ type: 'BoardImagesTotal', id: board_id }); + tags.push({ type: 'BoardAssetsTotal', id: board_id }); + }); + + return tags; + }, + async onQueryStarted( + { imageDTOs }, + { dispatch, queryFulfilled, getState } + ) { + try { + const { data } = await queryFulfilled; + const { removed_image_names } = data; + + /** + * Cache changes for removeImagesFromBoard: + * - *update* getImageDTO for each image + * - *remove* from old_board_id/[images|assets] + * - *add* to no_board/[images|assets] + */ + + removed_image_names.forEach((image_name) => { + dispatch( + imagesApi.util.updateQueryData( + 'getImageDTO', + image_name, + (draft) => { + draft.board_id = undefined; + } + ) + ); + + const imageDTO = imageDTOs.find((i) => i.image_name === image_name); + + if (!imageDTO) { + return; + } + + const categories = getCategories(imageDTO); + + // remove from the old board + dispatch( + imagesApi.util.updateQueryData( + 'listImages', + { board_id: imageDTO.board_id ?? 'none', categories }, + (draft) => { + imagesAdapter.removeOne(draft, imageDTO.image_name); + } + ) + ); + + // add to `no_board` + const queryArgs = { + board_id: 'none', + categories, + }; + + const currentCache = imagesApi.endpoints.listImages.select( + queryArgs + )(getState()); + + const { data: total } = IMAGE_CATEGORIES.includes( + imageDTO.image_category + ) + ? boardsApi.endpoints.getBoardImagesTotal.select( + imageDTO.board_id ?? 'none' + )(getState()) + : boardsApi.endpoints.getBoardAssetsTotal.select( + imageDTO.board_id ?? 'none' + )(getState()); + + const isCacheFullyPopulated = + currentCache.data && currentCache.data.ids.length >= (total ?? 0); + + const isInDateRange = getIsImageInDateRange( + currentCache.data, + imageDTO + ); + + if (isCacheFullyPopulated || isInDateRange) { + // *upsert* to $cache + dispatch( + imagesApi.util.updateQueryData( + 'listImages', + queryArgs, + (draft) => { + imagesAdapter.upsertOne(draft, { + ...imageDTO, + board_id: undefined, + }); + } + ) + ); + } + }); + } catch { + // no-op + } + }, + }), }), }); @@ -788,10 +1133,15 @@ export const { useGetImageDTOQuery, useGetImageMetadataQuery, useDeleteImageMutation, - useGetBoardImagesTotalQuery, - useGetBoardAssetsTotalQuery, + useDeleteImagesMutation, useUploadImageMutation, + useClearIntermediatesMutation, + useAddImagesToBoardMutation, + useRemoveImagesFromBoardMutation, useAddImageToBoardMutation, useRemoveImageFromBoardMutation, - useClearIntermediatesMutation, + useChangeImageIsIntermediateMutation, + useChangeImageSessionIdMutation, + useDeleteBoardAndImagesMutation, + useDeleteBoardMutation, } = imagesApi; diff --git a/invokeai/frontend/web/src/services/api/endpoints/models.ts b/invokeai/frontend/web/src/services/api/endpoints/models.ts index a7b1323f36..33eb1fbdc2 100644 --- a/invokeai/frontend/web/src/services/api/endpoints/models.ts +++ b/invokeai/frontend/web/src/services/api/endpoints/models.ts @@ -5,7 +5,6 @@ import { BaseModelType, CheckpointModelConfig, ControlNetModelConfig, - ConvertModelConfig, DiffusersModelConfig, ImportModelConfig, LoRAModelConfig, @@ -83,7 +82,7 @@ type DeleteLoRAModelResponse = void; type ConvertMainModelArg = { base_model: BaseModelType; model_name: string; - params: ConvertModelConfig; + convert_dest_directory?: string; }; type ConvertMainModelResponse = @@ -122,7 +121,7 @@ type CheckpointConfigsResponse = type SearchFolderArg = operations['search_for_models']['parameters']['query']; -const mainModelsAdapter = createEntityAdapter({ +export const mainModelsAdapter = createEntityAdapter({ sortComparer: (a, b) => a.model_name.localeCompare(b.model_name), }); @@ -132,15 +131,15 @@ const onnxModelsAdapter = createEntityAdapter({ const loraModelsAdapter = createEntityAdapter({ sortComparer: (a, b) => a.model_name.localeCompare(b.model_name), }); -const controlNetModelsAdapter = +export const controlNetModelsAdapter = createEntityAdapter({ sortComparer: (a, b) => a.model_name.localeCompare(b.model_name), }); -const textualInversionModelsAdapter = +export const textualInversionModelsAdapter = createEntityAdapter({ sortComparer: (a, b) => a.model_name.localeCompare(b.model_name), }); -const vaeModelsAdapter = createEntityAdapter({ +export const vaeModelsAdapter = createEntityAdapter({ sortComparer: (a, b) => a.model_name.localeCompare(b.model_name), }); @@ -320,11 +319,11 @@ export const modelsApi = api.injectEndpoints({ ConvertMainModelResponse, ConvertMainModelArg >({ - query: ({ base_model, model_name, params }) => { + query: ({ base_model, model_name, convert_dest_directory }) => { return { url: `models/convert/${base_model}/main/${model_name}`, method: 'PUT', - params: params, + params: { convert_dest_directory }, }; }, invalidatesTags: [ diff --git a/invokeai/frontend/web/src/services/api/hooks/useBoardName.ts b/invokeai/frontend/web/src/services/api/hooks/useBoardName.ts index 748f2c8f6e..ce0cff7b8a 100644 --- a/invokeai/frontend/web/src/services/api/hooks/useBoardName.ts +++ b/invokeai/frontend/web/src/services/api/hooks/useBoardName.ts @@ -1,7 +1,7 @@ import { BoardId } from 'features/gallery/store/types'; import { useListAllBoardsQuery } from '../endpoints/boards'; -export const useBoardName = (board_id: BoardId | null | undefined) => { +export const useBoardName = (board_id: BoardId) => { const { boardName } = useListAllBoardsQuery(undefined, { selectFromResult: ({ data }) => { const selectedBoard = data?.find((b) => b.board_id === board_id); diff --git a/invokeai/frontend/web/src/services/api/hooks/useBoardTotal.ts b/invokeai/frontend/web/src/services/api/hooks/useBoardTotal.ts index dd144ffe00..a350979b89 100644 --- a/invokeai/frontend/web/src/services/api/hooks/useBoardTotal.ts +++ b/invokeai/frontend/web/src/services/api/hooks/useBoardTotal.ts @@ -4,7 +4,7 @@ import { useMemo } from 'react'; import { useGetBoardAssetsTotalQuery, useGetBoardImagesTotalQuery, -} from '../endpoints/images'; +} from '../endpoints/boards'; export const useBoardTotal = (board_id: BoardId) => { const galleryView = useAppSelector((state) => state.gallery.galleryView); diff --git a/invokeai/frontend/web/src/services/api/schema.d.ts b/invokeai/frontend/web/src/services/api/schema.d.ts index 80f0933f37..6574ec4909 100644 --- a/invokeai/frontend/web/src/services/api/schema.d.ts +++ b/invokeai/frontend/web/src/services/api/schema.d.ts @@ -135,19 +135,14 @@ export type paths = { */ put: operations["merge_models"]; }; - "/api/v1/images/": { - /** - * List Image Dtos - * @description Gets a list of image DTOs - */ - get: operations["list_image_dtos"]; + "/api/v1/images/upload": { /** * Upload Image * @description Uploads an image */ post: operations["upload_image"]; }; - "/api/v1/images/{image_name}": { + "/api/v1/images/i/{image_name}": { /** * Get Image Dto * @description Gets an image's DTO @@ -171,34 +166,45 @@ export type paths = { */ post: operations["clear_intermediates"]; }; - "/api/v1/images/{image_name}/metadata": { + "/api/v1/images/i/{image_name}/metadata": { /** * Get Image Metadata * @description Gets an image's metadata */ get: operations["get_image_metadata"]; }; - "/api/v1/images/{image_name}/full": { + "/api/v1/images/i/{image_name}/full": { /** * Get Image Full * @description Gets a full-resolution image file */ get: operations["get_image_full"]; }; - "/api/v1/images/{image_name}/thumbnail": { + "/api/v1/images/i/{image_name}/thumbnail": { /** * Get Image Thumbnail * @description Gets a thumbnail image file */ get: operations["get_image_thumbnail"]; }; - "/api/v1/images/{image_name}/urls": { + "/api/v1/images/i/{image_name}/urls": { /** * Get Image Urls * @description Gets an image and thumbnail URL */ get: operations["get_image_urls"]; }; + "/api/v1/images/": { + /** + * List Image Dtos + * @description Gets a list of image DTOs + */ + get: operations["list_image_dtos"]; + }; + "/api/v1/images/delete": { + /** Delete Images From List */ + post: operations["delete_images_from_list"]; + }; "/api/v1/boards/": { /** * List Boards @@ -237,15 +243,29 @@ export type paths = { }; "/api/v1/board_images/": { /** - * Create Board Image + * Add Image To Board * @description Creates a board_image */ - post: operations["create_board_image"]; + post: operations["add_image_to_board"]; /** - * Remove Board Image - * @description Deletes a board_image + * Remove Image From Board + * @description Removes an image from its board, if it had one */ - delete: operations["remove_board_image"]; + delete: operations["remove_image_from_board"]; + }; + "/api/v1/board_images/batch": { + /** + * Add Images To Board + * @description Adds a list of images to a board + */ + post: operations["add_images_to_board"]; + }; + "/api/v1/board_images/batch/delete": { + /** + * Remove Images From Board + * @description Removes a list of images from their board, if they had one + */ + post: operations["remove_images_from_board"]; }; "/api/v1/app/version": { /** Get Version */ @@ -273,6 +293,19 @@ export type webhooks = Record; export type components = { schemas: { + /** AddImagesToBoardResult */ + AddImagesToBoardResult: { + /** + * Board Id + * @description The id of the board the images were added to + */ + board_id: string; + /** + * Added Image Names + * @description The image names that were added to the board + */ + added_image_names: (string)[]; + }; /** * AddInvocation * @description Adds two numbers @@ -405,8 +438,8 @@ export type components = { */ image_count: number; }; - /** Body_create_board_image */ - Body_create_board_image: { + /** Body_add_image_to_board */ + Body_add_image_to_board: { /** * Board Id * @description The id of the board to add to @@ -418,6 +451,27 @@ export type components = { */ image_name: string; }; + /** Body_add_images_to_board */ + Body_add_images_to_board: { + /** + * Board Id + * @description The id of the board to add to + */ + board_id: string; + /** + * Image Names + * @description The names of the images to add + */ + image_names: (string)[]; + }; + /** Body_delete_images_from_list */ + Body_delete_images_from_list: { + /** + * Image Names + * @description The list of names of images to delete + */ + image_names: (string)[]; + }; /** Body_import_model */ Body_import_model: { /** @@ -465,19 +519,22 @@ export type components = { */ merge_dest_directory?: string; }; - /** Body_remove_board_image */ - Body_remove_board_image: { - /** - * Board Id - * @description The id of the board - */ - board_id: string; + /** Body_remove_image_from_board */ + Body_remove_image_from_board: { /** * Image Name * @description The name of the image to remove */ image_name: string; }; + /** Body_remove_images_from_board */ + Body_remove_images_from_board: { + /** + * Image Names + * @description The names of the images to remove + */ + image_names: (string)[]; + }; /** Body_upload_image */ Body_upload_image: { /** @@ -1157,6 +1214,11 @@ export type components = { */ deleted_images: (string)[]; }; + /** DeleteImagesFromListResult */ + DeleteImagesFromListResult: { + /** Deleted Images */ + deleted_images: (string)[]; + }; /** * DivideInvocation * @description Divides two numbers @@ -4627,6 +4689,14 @@ export type components = { */ step?: number; }; + /** RemoveImagesFromBoardResult */ + RemoveImagesFromBoardResult: { + /** + * Removed Image Names + * @description The image names that were removed from their board + */ + removed_image_names: (string)[]; + }; /** * ResizeLatentsInvocation * @description Resizes latents to explicit width/height (in pixels). Provided dimensions are floor-divided by 8. @@ -5891,18 +5961,6 @@ export type components = { */ image?: components["schemas"]["ImageField"]; }; - /** - * ControlNetModelFormat - * @description An enumeration. - * @enum {string} - */ - ControlNetModelFormat: "checkpoint" | "diffusers"; - /** - * StableDiffusionXLModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusionXLModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusionOnnxModelFormat * @description An enumeration. @@ -5921,6 +5979,18 @@ export type components = { * @enum {string} */ StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; + /** + * StableDiffusionXLModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusionXLModelFormat: "checkpoint" | "diffusers"; + /** + * ControlNetModelFormat + * @description An enumeration. + * @enum {string} + */ + ControlNetModelFormat: "checkpoint" | "diffusers"; }; responses: never; parameters: never; @@ -6547,42 +6617,6 @@ export type operations = { }; }; }; - /** - * List Image Dtos - * @description Gets a list of image DTOs - */ - list_image_dtos: { - parameters: { - query?: { - /** @description The origin of images to list. */ - image_origin?: components["schemas"]["ResourceOrigin"]; - /** @description The categories of image to include. */ - categories?: (components["schemas"]["ImageCategory"])[]; - /** @description Whether to list intermediate images. */ - is_intermediate?: boolean; - /** @description The board id to filter by. Use 'none' to find images without a board. */ - board_id?: string; - /** @description The page offset */ - offset?: number; - /** @description The number of images per page */ - limit?: number; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - content: { - "application/json": components["schemas"]["OffsetPaginatedResults_ImageDTO_"]; - }; - }; - /** @description Validation Error */ - 422: { - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; /** * Upload Image * @description Uploads an image @@ -6829,6 +6863,64 @@ export type operations = { }; }; }; + /** + * List Image Dtos + * @description Gets a list of image DTOs + */ + list_image_dtos: { + parameters: { + query?: { + /** @description The origin of images to list. */ + image_origin?: components["schemas"]["ResourceOrigin"]; + /** @description The categories of image to include. */ + categories?: (components["schemas"]["ImageCategory"])[]; + /** @description Whether to list intermediate images. */ + is_intermediate?: boolean; + /** @description The board id to filter by. Use 'none' to find images without a board. */ + board_id?: string; + /** @description The page offset */ + offset?: number; + /** @description The number of images per page */ + limit?: number; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + "application/json": components["schemas"]["OffsetPaginatedResults_ImageDTO_"]; + }; + }; + /** @description Validation Error */ + 422: { + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + /** Delete Images From List */ + delete_images_from_list: { + requestBody: { + content: { + "application/json": components["schemas"]["Body_delete_images_from_list"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + content: { + "application/json": components["schemas"]["DeleteImagesFromListResult"]; + }; + }; + /** @description Validation Error */ + 422: { + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; /** * List Boards * @description Gets a list of boards @@ -6999,13 +7091,13 @@ export type operations = { }; }; /** - * Create Board Image + * Add Image To Board * @description Creates a board_image */ - create_board_image: { + add_image_to_board: { requestBody: { content: { - "application/json": components["schemas"]["Body_create_board_image"]; + "application/json": components["schemas"]["Body_add_image_to_board"]; }; }; responses: { @@ -7024,13 +7116,13 @@ export type operations = { }; }; /** - * Remove Board Image - * @description Deletes a board_image + * Remove Image From Board + * @description Removes an image from its board, if it had one */ - remove_board_image: { + remove_image_from_board: { requestBody: { content: { - "application/json": components["schemas"]["Body_remove_board_image"]; + "application/json": components["schemas"]["Body_remove_image_from_board"]; }; }; responses: { @@ -7048,6 +7140,56 @@ export type operations = { }; }; }; + /** + * Add Images To Board + * @description Adds a list of images to a board + */ + add_images_to_board: { + requestBody: { + content: { + "application/json": components["schemas"]["Body_add_images_to_board"]; + }; + }; + responses: { + /** @description Images were added to board successfully */ + 201: { + content: { + "application/json": components["schemas"]["AddImagesToBoardResult"]; + }; + }; + /** @description Validation Error */ + 422: { + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + /** + * Remove Images From Board + * @description Removes a list of images from their board, if they had one + */ + remove_images_from_board: { + requestBody: { + content: { + "application/json": components["schemas"]["Body_remove_images_from_board"]; + }; + }; + responses: { + /** @description Images were removed from board successfully */ + 201: { + content: { + "application/json": components["schemas"]["RemoveImagesFromBoardResult"]; + }; + }; + /** @description Validation Error */ + 422: { + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; /** Get Version */ app_version: { responses: { diff --git a/invokeai/frontend/web/src/services/api/types.d.ts b/invokeai/frontend/web/src/services/api/types.ts similarity index 89% rename from invokeai/frontend/web/src/services/api/types.d.ts rename to invokeai/frontend/web/src/services/api/types.ts index 2ee508fe48..ca9dbb3aeb 100644 --- a/invokeai/frontend/web/src/services/api/types.d.ts +++ b/invokeai/frontend/web/src/services/api/types.ts @@ -1,13 +1,40 @@ import { UseToastOptions } from '@chakra-ui/react'; +import { EntityState } from '@reduxjs/toolkit'; import { O } from 'ts-toolbelt'; -import { components } from './schema'; +import { components, paths } from './schema'; -type schemas = components['schemas']; +export type ImageCache = EntityState; + +export type ListImagesArgs = NonNullable< + paths['/api/v1/images/']['get']['parameters']['query'] +>; + +export type DeleteBoardResult = + paths['/api/v1/boards/{board_id}']['delete']['responses']['200']['content']['application/json']; + +export type ListBoardsArg = NonNullable< + paths['/api/v1/boards/']['get']['parameters']['query'] +>; + +export type UpdateBoardArg = + paths['/api/v1/boards/{board_id}']['patch']['parameters']['path'] & { + changes: paths['/api/v1/boards/{board_id}']['patch']['requestBody']['content']['application/json']; + }; + +/** + * This is an unsafe type; the object inside is not guaranteed to be valid. + */ +export type UnsafeImageMetadata = { + metadata: components['schemas']['CoreMetadata']; + graph: NonNullable; +}; /** * Marks the `type` property as required. Use for nodes. */ -type TypeReq = O.Required; +type TypeReq = O.Required; + +// Extracted types from API schema // App Info export type AppVersion = components['schemas']['AppVersion']; @@ -72,7 +99,6 @@ export type AnyModelConfig = | OnnxModelConfig; export type MergeModelConfig = components['schemas']['Body_merge_models']; -export type ConvertModelConfig = components['schemas']['Body_convert_model']; export type ImportModelConfig = components['schemas']['Body_import_model']; // Graphs diff --git a/invokeai/frontend/web/src/services/api/util.ts b/invokeai/frontend/web/src/services/api/util.ts new file mode 100644 index 0000000000..20c9baedbb --- /dev/null +++ b/invokeai/frontend/web/src/services/api/util.ts @@ -0,0 +1,56 @@ +import { + ASSETS_CATEGORIES, + IMAGE_CATEGORIES, +} from 'features/gallery/store/types'; +import { ImageCache, ImageDTO, ListImagesArgs } from './types'; +import { createEntityAdapter } from '@reduxjs/toolkit'; +import { dateComparator } from 'common/util/dateComparator'; +import queryString from 'query-string'; + +export const getIsImageInDateRange = ( + data: ImageCache | undefined, + imageDTO: ImageDTO +) => { + if (!data) { + return false; + } + const cacheImageDTOS = imagesSelectors.selectAll(data); + + if (cacheImageDTOS.length > 1) { + // Images are sorted by `created_at` DESC + // check if the image is newer than the oldest image in the cache + const createdDate = new Date(imageDTO.created_at); + const oldestImage = cacheImageDTOS[cacheImageDTOS.length - 1]; + if (!oldestImage) { + // satisfy TS gods, we already confirmed the array has more than one image + return false; + } + const oldestDate = new Date(oldestImage.created_at); + return createdDate >= oldestDate; + } else if ([0, 1].includes(cacheImageDTOS.length)) { + // if there are only 1 or 0 images in the cache, we consider the image to be in the date range + return true; + } + return false; +}; + +export const getCategories = (imageDTO: ImageDTO) => { + if (IMAGE_CATEGORIES.includes(imageDTO.image_category)) { + return IMAGE_CATEGORIES; + } + return ASSETS_CATEGORIES; +}; + +// The adapter is not actually the data store - it just provides helper functions to interact +// with some other store of data. We will use the RTK Query cache as that store. +export const imagesAdapter = createEntityAdapter({ + selectId: (image) => image.image_name, + sortComparer: (a, b) => dateComparator(b.updated_at, a.updated_at), +}); + +// Create selectors for the adapter. +export const imagesSelectors = imagesAdapter.getSelectors(); + +// Helper to create the url for the listImages endpoint. Also we use it to create the cache key. +export const getListImagesUrl = (queryArgs: ListImagesArgs) => + `images/?${queryString.stringify(queryArgs, { arrayFormat: 'none' })}`; diff --git a/invokeai/frontend/web/src/theme/util/generateColorPalette.ts b/invokeai/frontend/web/src/theme/util/generateColorPalette.ts index 6d90a070c0..63a5c06219 100644 --- a/invokeai/frontend/web/src/theme/util/generateColorPalette.ts +++ b/invokeai/frontend/web/src/theme/util/generateColorPalette.ts @@ -22,7 +22,7 @@ export function generateColorPalette( ]; const p = colorSteps.reduce((palette, step, index) => { - const A = alpha ? lightnessSteps[index] / 100 : 1; + const A = alpha ? (lightnessSteps[index] as number) / 100 : 1; // Lightness should be 50% for alpha colors const L = alpha ? 50 : lightnessSteps[colorSteps.length - 1 - index]; diff --git a/invokeai/frontend/web/tsconfig.json b/invokeai/frontend/web/tsconfig.json index e722e2f9a8..c43d5dd86d 100644 --- a/invokeai/frontend/web/tsconfig.json +++ b/invokeai/frontend/web/tsconfig.json @@ -13,6 +13,8 @@ "moduleResolution": "Node", // TODO: Disabled for IDE performance issues with our translation JSON // "resolveJsonModule": true, + "noUncheckedIndexedAccess": true, + "strictNullChecks": true, "isolatedModules": true, "noEmit": true, "jsx": "react-jsx", From d2bddf7f9161d8c18dda60ebebeedc35a0dd1a78 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Thu, 3 Aug 2023 08:47:56 -0400 Subject: [PATCH 052/287] tweak formatting to accommodate longer runtimes --- invokeai/app/services/invocation_stats.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/invokeai/app/services/invocation_stats.py b/invokeai/app/services/invocation_stats.py index aca1dba550..50320a6611 100644 --- a/invokeai/app/services/invocation_stats.py +++ b/invokeai/app/services/invocation_stats.py @@ -208,12 +208,12 @@ class InvocationStatsService(InvocationStatsServiceBase): total_time = 0 logger.info(f"Graph stats: {graph_id}") - logger.info("Node Calls Seconds VRAM Used") + logger.info("Node Calls Seconds VRAM Used") for node_type, stats in self._stats[graph_id].nodes.items(): - logger.info(f"{node_type:<20} {stats.calls:>5} {stats.time_used:4.3f}s {stats.max_vram:4.2f}G") + logger.info(f"{node_type:<20} {stats.calls:>5} {stats.time_used:7.3f}s {stats.max_vram:4.2f}G") total_time += stats.time_used - logger.info(f"TOTAL GRAPH EXECUTION TIME: {total_time:4.3f}s") + logger.info(f"TOTAL GRAPH EXECUTION TIME: {total_time:7.3f}s") if torch.cuda.is_available(): logger.info("Current VRAM utilization " + "%4.2fG" % (torch.cuda.memory_allocated() / 1e9)) From ab5d938a1d47bd74e6b54d90f72f2905103638f2 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Thu, 3 Aug 2023 19:23:52 -0400 Subject: [PATCH 053/287] use variant instead of revision --- invokeai/backend/install/model_install_backend.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/invokeai/backend/install/model_install_backend.py b/invokeai/backend/install/model_install_backend.py index 449c234144..691a461652 100644 --- a/invokeai/backend/install/model_install_backend.py +++ b/invokeai/backend/install/model_install_backend.py @@ -419,18 +419,24 @@ class ModelInstall(object): """ _, name = repo_id.split("/") precision = torch_dtype(choose_torch_device()) - revisions = ["fp16", "main"] if precision == torch.float16 else ["main"] + variants = ["fp16",None] if precision == torch.float16 else [None,"fp16"] + model = None - for revision in revisions: + for variant in variants: try: model = DiffusionPipeline.from_pretrained( - repo_id, revision=revision, safety_checker=None, torch_dtype=precision + repo_id, + variant=variant, + torch_dtype=precision, + safety_checker=None, ) except Exception as e: # most errors are due to fp16 not being present. Fix this to catch other errors if "fp16" not in str(e): print(e) + if model: break + if not model: logger.error(f"Diffusers model {repo_id} could not be downloaded. Skipping.") return None From 446fb4a43839211a30bb940ed6532dfcec0e99a3 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Thu, 3 Aug 2023 19:24:23 -0400 Subject: [PATCH 054/287] blackify --- invokeai/backend/install/model_install_backend.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/invokeai/backend/install/model_install_backend.py b/invokeai/backend/install/model_install_backend.py index 691a461652..b2d09c1ffe 100644 --- a/invokeai/backend/install/model_install_backend.py +++ b/invokeai/backend/install/model_install_backend.py @@ -419,7 +419,7 @@ class ModelInstall(object): """ _, name = repo_id.split("/") precision = torch_dtype(choose_torch_device()) - variants = ["fp16",None] if precision == torch.float16 else [None,"fp16"] + variants = ["fp16", None] if precision == torch.float16 else [None, "fp16"] model = None for variant in variants: @@ -428,7 +428,7 @@ class ModelInstall(object): repo_id, variant=variant, torch_dtype=precision, - safety_checker=None, + safety_checker=None, ) except Exception as e: # most errors are due to fp16 not being present. Fix this to catch other errors if "fp16" not in str(e): @@ -436,7 +436,7 @@ class ModelInstall(object): if model: break - + if not model: logger.error(f"Diffusers model {repo_id} could not be downloaded. Skipping.") return None From cfc3a20565810a72cb572019f1ad9ce99b4e1177 Mon Sep 17 00:00:00 2001 From: Mary Hipp Date: Thu, 3 Aug 2023 15:47:59 -0400 Subject: [PATCH 055/287] autoAddBoardId should always be defined --- .../middleware/listenerMiddleware/listeners/imageUploaded.ts | 2 +- .../frontend/web/src/features/gallery/store/gallerySlice.ts | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageUploaded.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageUploaded.ts index f488259eb7..6dc2d482a9 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageUploaded.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/imageUploaded.ts @@ -40,7 +40,7 @@ export const addImageUploadedFulfilledListener = () => { // default action - just upload and alert user if (postUploadAction?.type === 'TOAST') { const { toastOptions } = postUploadAction; - if (!autoAddBoardId) { + if (!autoAddBoardId || autoAddBoardId === 'none') { dispatch(addToast({ ...DEFAULT_UPLOADED_TOAST, ...toastOptions })); } else { // Add this image to the board diff --git a/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts b/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts index 3b0dd233f1..bc7acff6f4 100644 --- a/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts +++ b/invokeai/frontend/web/src/features/gallery/store/gallerySlice.ts @@ -41,6 +41,10 @@ export const gallerySlice = createSlice({ state.galleryView = 'images'; }, autoAddBoardIdChanged: (state, action: PayloadAction) => { + if (!action.payload) { + state.autoAddBoardId = 'none'; + return; + } state.autoAddBoardId = action.payload; }, galleryViewChanged: (state, action: PayloadAction) => { From 1ac14a1e43f5943435a8a28a1bf57d059b532af4 Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Mon, 31 Jul 2023 23:18:02 +0300 Subject: [PATCH 056/287] add sdxl lora support --- invokeai/app/invocations/compel.py | 30 +- invokeai/app/invocations/latent.py | 2 +- invokeai/app/invocations/model.py | 97 ++++ invokeai/app/invocations/sdxl.py | 16 +- invokeai/backend/model_management/__init__.py | 1 + invokeai/backend/model_management/lora.py | 436 +------------- .../backend/model_management/model_cache.py | 2 - .../backend/model_management/models/lora.py | 537 +++++++++++++++++- 8 files changed, 683 insertions(+), 438 deletions(-) diff --git a/invokeai/app/invocations/compel.py b/invokeai/app/invocations/compel.py index ada7a06a57..bbe372ff57 100644 --- a/invokeai/app/invocations/compel.py +++ b/invokeai/app/invocations/compel.py @@ -173,7 +173,7 @@ class CompelInvocation(BaseInvocation): class SDXLPromptInvocationBase: - def run_clip_raw(self, context, clip_field, prompt, get_pooled): + def run_clip_raw(self, context, clip_field, prompt, get_pooled, lora_prefix): tokenizer_info = context.services.model_manager.get_model( **clip_field.tokenizer.dict(), context=context, @@ -210,8 +210,8 @@ class SDXLPromptInvocationBase: # print(traceback.format_exc()) print(f'Warn: trigger: "{trigger}" not found') - with ModelPatcher.apply_lora_text_encoder( - text_encoder_info.context.model, _lora_loader() + with ModelPatcher.apply_lora( + text_encoder_info.context.model, _lora_loader(), lora_prefix ), ModelPatcher.apply_ti(tokenizer_info.context.model, text_encoder_info.context.model, ti_list) as ( tokenizer, ti_manager, @@ -247,7 +247,7 @@ class SDXLPromptInvocationBase: return c, c_pooled, None - def run_clip_compel(self, context, clip_field, prompt, get_pooled): + def run_clip_compel(self, context, clip_field, prompt, get_pooled, lora_prefix): tokenizer_info = context.services.model_manager.get_model( **clip_field.tokenizer.dict(), context=context, @@ -284,8 +284,8 @@ class SDXLPromptInvocationBase: # print(traceback.format_exc()) print(f'Warn: trigger: "{trigger}" not found') - with ModelPatcher.apply_lora_text_encoder( - text_encoder_info.context.model, _lora_loader() + with ModelPatcher.apply_lora( + text_encoder_info.context.model, _lora_loader(), lora_prefix ), ModelPatcher.apply_ti(tokenizer_info.context.model, text_encoder_info.context.model, ti_list) as ( tokenizer, ti_manager, @@ -357,11 +357,11 @@ class SDXLCompelPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): @torch.no_grad() def invoke(self, context: InvocationContext) -> CompelOutput: - c1, c1_pooled, ec1 = self.run_clip_compel(context, self.clip, self.prompt, False) + c1, c1_pooled, ec1 = self.run_clip_compel(context, self.clip, self.prompt, False, "lora_te1_") if self.style.strip() == "": - c2, c2_pooled, ec2 = self.run_clip_compel(context, self.clip2, self.prompt, True) + c2, c2_pooled, ec2 = self.run_clip_compel(context, self.clip2, self.prompt, True, "lora_te2_") else: - c2, c2_pooled, ec2 = self.run_clip_compel(context, self.clip2, self.style, True) + c2, c2_pooled, ec2 = self.run_clip_compel(context, self.clip2, self.style, True, "lora_te2_") original_size = (self.original_height, self.original_width) crop_coords = (self.crop_top, self.crop_left) @@ -415,7 +415,8 @@ class SDXLRefinerCompelPromptInvocation(BaseInvocation, SDXLPromptInvocationBase @torch.no_grad() def invoke(self, context: InvocationContext) -> CompelOutput: - c2, c2_pooled, ec2 = self.run_clip_compel(context, self.clip2, self.style, True) + # TODO: if there will appear lora for refiner - write proper prefix + c2, c2_pooled, ec2 = self.run_clip_compel(context, self.clip2, self.style, True, "") original_size = (self.original_height, self.original_width) crop_coords = (self.crop_top, self.crop_left) @@ -467,11 +468,11 @@ class SDXLRawPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): @torch.no_grad() def invoke(self, context: InvocationContext) -> CompelOutput: - c1, c1_pooled, ec1 = self.run_clip_raw(context, self.clip, self.prompt, False) + c1, c1_pooled, ec1 = self.run_clip_raw(context, self.clip, self.prompt, False, "lora_te1_") if self.style.strip() == "": - c2, c2_pooled, ec2 = self.run_clip_raw(context, self.clip2, self.prompt, True) + c2, c2_pooled, ec2 = self.run_clip_raw(context, self.clip2, self.prompt, True, "lora_te2_") else: - c2, c2_pooled, ec2 = self.run_clip_raw(context, self.clip2, self.style, True) + c2, c2_pooled, ec2 = self.run_clip_raw(context, self.clip2, self.style, True, "lora_te2_") original_size = (self.original_height, self.original_width) crop_coords = (self.crop_top, self.crop_left) @@ -525,7 +526,8 @@ class SDXLRefinerRawPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): @torch.no_grad() def invoke(self, context: InvocationContext) -> CompelOutput: - c2, c2_pooled, ec2 = self.run_clip_raw(context, self.clip2, self.style, True) + # TODO: if there will appear lora for refiner - write proper prefix + c2, c2_pooled, ec2 = self.run_clip_raw(context, self.clip2, self.style, True, "") original_size = (self.original_height, self.original_width) crop_coords = (self.crop_top, self.crop_left) diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index 3edbe86150..6e2e0838bc 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -14,7 +14,7 @@ from invokeai.app.invocations.metadata import CoreMetadata from invokeai.app.util.step_callback import stable_diffusion_step_callback from invokeai.backend.model_management.models import ModelType, SilenceWarnings -from ...backend.model_management.lora import ModelPatcher +from ...backend.model_management import ModelPatcher from ...backend.stable_diffusion import PipelineIntermediateState from ...backend.stable_diffusion.diffusers_pipeline import ( ConditioningData, diff --git a/invokeai/app/invocations/model.py b/invokeai/app/invocations/model.py index c19e5c5c9a..d215d500a6 100644 --- a/invokeai/app/invocations/model.py +++ b/invokeai/app/invocations/model.py @@ -262,6 +262,103 @@ class LoraLoaderInvocation(BaseInvocation): return output +class SDXLLoraLoaderOutput(BaseInvocationOutput): + """Model loader output""" + + # fmt: off + type: Literal["sdxl_lora_loader_output"] = "sdxl_lora_loader_output" + + unet: Optional[UNetField] = Field(default=None, description="UNet submodel") + clip: Optional[ClipField] = Field(default=None, description="Tokenizer and text_encoder submodels") + clip2: Optional[ClipField] = Field(default=None, description="Tokenizer2 and text_encoder2 submodels") + # fmt: on + + +class SDXLLoraLoaderInvocation(BaseInvocation): + """Apply selected lora to unet and text_encoder.""" + + type: Literal["sdxl_lora_loader"] = "sdxl_lora_loader" + + lora: Union[LoRAModelField, None] = Field(default=None, description="Lora model name") + weight: float = Field(default=0.75, description="With what weight to apply lora") + + unet: Optional[UNetField] = Field(description="UNet model for applying lora") + clip: Optional[ClipField] = Field(description="Clip model for applying lora") + clip2: Optional[ClipField] = Field(description="Clip2 model for applying lora") + + class Config(InvocationConfig): + schema_extra = { + "ui": { + "title": "SDXL Lora Loader", + "tags": ["lora", "loader"], + "type_hints": {"lora": "lora_model"}, + }, + } + + def invoke(self, context: InvocationContext) -> SDXLLoraLoaderOutput: + if self.lora is None: + raise Exception("No LoRA provided") + + base_model = self.lora.base_model + lora_name = self.lora.model_name + + if not context.services.model_manager.model_exists( + base_model=base_model, + model_name=lora_name, + model_type=ModelType.Lora, + ): + raise Exception(f"Unkown lora name: {lora_name}!") + + if self.unet is not None and any(lora.model_name == lora_name for lora in self.unet.loras): + raise Exception(f'Lora "{lora_name}" already applied to unet') + + if self.clip is not None and any(lora.model_name == lora_name for lora in self.clip.loras): + raise Exception(f'Lora "{lora_name}" already applied to clip') + + if self.clip2 is not None and any(lora.model_name == lora_name for lora in self.clip2.loras): + raise Exception(f'Lora "{lora_name}" already applied to clip2') + + output = SDXLLoraLoaderOutput() + + if self.unet is not None: + output.unet = copy.deepcopy(self.unet) + output.unet.loras.append( + LoraInfo( + base_model=base_model, + model_name=lora_name, + model_type=ModelType.Lora, + submodel=None, + weight=self.weight, + ) + ) + + if self.clip is not None: + output.clip = copy.deepcopy(self.clip) + output.clip.loras.append( + LoraInfo( + base_model=base_model, + model_name=lora_name, + model_type=ModelType.Lora, + submodel=None, + weight=self.weight, + ) + ) + + if self.clip2 is not None: + output.clip2 = copy.deepcopy(self.clip2) + output.clip2.loras.append( + LoraInfo( + base_model=base_model, + model_name=lora_name, + model_type=ModelType.Lora, + submodel=None, + weight=self.weight, + ) + ) + + return output + + class VAEModelField(BaseModel): """Vae model field""" diff --git a/invokeai/app/invocations/sdxl.py b/invokeai/app/invocations/sdxl.py index 7dfceba853..faa6b59782 100644 --- a/invokeai/app/invocations/sdxl.py +++ b/invokeai/app/invocations/sdxl.py @@ -5,7 +5,7 @@ from typing import List, Literal, Optional, Union from pydantic import Field, validator -from ...backend.model_management import ModelType, SubModelType +from ...backend.model_management import ModelType, SubModelType, ModelPatcher from invokeai.app.util.step_callback import stable_diffusion_xl_step_callback from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext @@ -293,10 +293,22 @@ class SDXLTextToLatentsInvocation(BaseInvocation): num_inference_steps = self.steps + def _lora_loader(): + for lora in self.unet.loras: + lora_info = context.services.model_manager.get_model( + **lora.dict(exclude={"weight"}), + context=context, + ) + yield (lora_info.context.model, lora.weight) + del lora_info + return + unet_info = context.services.model_manager.get_model(**self.unet.unet.dict(), context=context) do_classifier_free_guidance = True cross_attention_kwargs = None - with unet_info as unet: + with ModelPatcher.apply_lora_unet(unet_info.context.model, _lora_loader()),\ + unet_info as unet: + scheduler.set_timesteps(num_inference_steps, device=unet.device) timesteps = scheduler.timesteps diff --git a/invokeai/backend/model_management/__init__.py b/invokeai/backend/model_management/__init__.py index cf057f3a89..8e083c1045 100644 --- a/invokeai/backend/model_management/__init__.py +++ b/invokeai/backend/model_management/__init__.py @@ -13,3 +13,4 @@ from .models import ( DuplicateModelException, ) from .model_merge import ModelMerger, MergeInterpolationMethod +from .lora import ModelPatcher diff --git a/invokeai/backend/model_management/lora.py b/invokeai/backend/model_management/lora.py index 4287072a65..56f7a648c9 100644 --- a/invokeai/backend/model_management/lora.py +++ b/invokeai/backend/model_management/lora.py @@ -23,421 +23,6 @@ from transformers import CLIPTextModel, CLIPTokenizer # TODO: rename and split this file -class LoRALayerBase: - # rank: Optional[int] - # alpha: Optional[float] - # bias: Optional[torch.Tensor] - # layer_key: str - - # @property - # def scale(self): - # return self.alpha / self.rank if (self.alpha and self.rank) else 1.0 - - def __init__( - self, - layer_key: str, - values: dict, - ): - if "alpha" in values: - self.alpha = values["alpha"].item() - else: - self.alpha = None - - if "bias_indices" in values and "bias_values" in values and "bias_size" in values: - self.bias = torch.sparse_coo_tensor( - values["bias_indices"], - values["bias_values"], - tuple(values["bias_size"]), - ) - - else: - self.bias = None - - self.rank = None # set in layer implementation - self.layer_key = layer_key - - def forward( - self, - module: torch.nn.Module, - input_h: Any, # for real looks like Tuple[torch.nn.Tensor] but not sure - multiplier: float, - ): - if type(module) == torch.nn.Conv2d: - op = torch.nn.functional.conv2d - extra_args = dict( - stride=module.stride, - padding=module.padding, - dilation=module.dilation, - groups=module.groups, - ) - - else: - op = torch.nn.functional.linear - extra_args = {} - - weight = self.get_weight() - - bias = self.bias if self.bias is not None else 0 - scale = self.alpha / self.rank if (self.alpha and self.rank) else 1.0 - return ( - op( - *input_h, - (weight + bias).view(module.weight.shape), - None, - **extra_args, - ) - * multiplier - * scale - ) - - def get_weight(self): - raise NotImplementedError() - - def calc_size(self) -> int: - model_size = 0 - for val in [self.bias]: - if val is not None: - model_size += val.nelement() * val.element_size() - return model_size - - def to( - self, - device: Optional[torch.device] = None, - dtype: Optional[torch.dtype] = None, - ): - if self.bias is not None: - self.bias = self.bias.to(device=device, dtype=dtype) - - -# TODO: find and debug lora/locon with bias -class LoRALayer(LoRALayerBase): - # up: torch.Tensor - # mid: Optional[torch.Tensor] - # down: torch.Tensor - - def __init__( - self, - layer_key: str, - values: dict, - ): - super().__init__(layer_key, values) - - self.up = values["lora_up.weight"] - self.down = values["lora_down.weight"] - if "lora_mid.weight" in values: - self.mid = values["lora_mid.weight"] - else: - self.mid = None - - self.rank = self.down.shape[0] - - def get_weight(self): - if self.mid is not None: - up = self.up.reshape(self.up.shape[0], self.up.shape[1]) - down = self.down.reshape(self.down.shape[0], self.down.shape[1]) - weight = torch.einsum("m n w h, i m, n j -> i j w h", self.mid, up, down) - else: - weight = self.up.reshape(self.up.shape[0], -1) @ self.down.reshape(self.down.shape[0], -1) - - return weight - - def calc_size(self) -> int: - model_size = super().calc_size() - for val in [self.up, self.mid, self.down]: - if val is not None: - model_size += val.nelement() * val.element_size() - return model_size - - def to( - self, - device: Optional[torch.device] = None, - dtype: Optional[torch.dtype] = None, - ): - super().to(device=device, dtype=dtype) - - self.up = self.up.to(device=device, dtype=dtype) - self.down = self.down.to(device=device, dtype=dtype) - - if self.mid is not None: - self.mid = self.mid.to(device=device, dtype=dtype) - - -class LoHALayer(LoRALayerBase): - # w1_a: torch.Tensor - # w1_b: torch.Tensor - # w2_a: torch.Tensor - # w2_b: torch.Tensor - # t1: Optional[torch.Tensor] = None - # t2: Optional[torch.Tensor] = None - - def __init__( - self, - layer_key: str, - values: dict, - ): - super().__init__(layer_key, values) - - self.w1_a = values["hada_w1_a"] - self.w1_b = values["hada_w1_b"] - self.w2_a = values["hada_w2_a"] - self.w2_b = values["hada_w2_b"] - - if "hada_t1" in values: - self.t1 = values["hada_t1"] - else: - self.t1 = None - - if "hada_t2" in values: - self.t2 = values["hada_t2"] - else: - self.t2 = None - - self.rank = self.w1_b.shape[0] - - def get_weight(self): - if self.t1 is None: - weight = (self.w1_a @ self.w1_b) * (self.w2_a @ self.w2_b) - - else: - rebuild1 = torch.einsum("i j k l, j r, i p -> p r k l", self.t1, self.w1_b, self.w1_a) - rebuild2 = torch.einsum("i j k l, j r, i p -> p r k l", self.t2, self.w2_b, self.w2_a) - weight = rebuild1 * rebuild2 - - return weight - - def calc_size(self) -> int: - model_size = super().calc_size() - for val in [self.w1_a, self.w1_b, self.w2_a, self.w2_b, self.t1, self.t2]: - if val is not None: - model_size += val.nelement() * val.element_size() - return model_size - - def to( - self, - device: Optional[torch.device] = None, - dtype: Optional[torch.dtype] = None, - ): - super().to(device=device, dtype=dtype) - - self.w1_a = self.w1_a.to(device=device, dtype=dtype) - self.w1_b = self.w1_b.to(device=device, dtype=dtype) - if self.t1 is not None: - self.t1 = self.t1.to(device=device, dtype=dtype) - - self.w2_a = self.w2_a.to(device=device, dtype=dtype) - self.w2_b = self.w2_b.to(device=device, dtype=dtype) - if self.t2 is not None: - self.t2 = self.t2.to(device=device, dtype=dtype) - - -class LoKRLayer(LoRALayerBase): - # w1: Optional[torch.Tensor] = None - # w1_a: Optional[torch.Tensor] = None - # w1_b: Optional[torch.Tensor] = None - # w2: Optional[torch.Tensor] = None - # w2_a: Optional[torch.Tensor] = None - # w2_b: Optional[torch.Tensor] = None - # t2: Optional[torch.Tensor] = None - - def __init__( - self, - layer_key: str, - values: dict, - ): - super().__init__(layer_key, values) - - if "lokr_w1" in values: - self.w1 = values["lokr_w1"] - self.w1_a = None - self.w1_b = None - else: - self.w1 = None - self.w1_a = values["lokr_w1_a"] - self.w1_b = values["lokr_w1_b"] - - if "lokr_w2" in values: - self.w2 = values["lokr_w2"] - self.w2_a = None - self.w2_b = None - else: - self.w2 = None - self.w2_a = values["lokr_w2_a"] - self.w2_b = values["lokr_w2_b"] - - if "lokr_t2" in values: - self.t2 = values["lokr_t2"] - else: - self.t2 = None - - if "lokr_w1_b" in values: - self.rank = values["lokr_w1_b"].shape[0] - elif "lokr_w2_b" in values: - self.rank = values["lokr_w2_b"].shape[0] - else: - self.rank = None # unscaled - - def get_weight(self): - w1 = self.w1 - if w1 is None: - w1 = self.w1_a @ self.w1_b - - w2 = self.w2 - if w2 is None: - if self.t2 is None: - w2 = self.w2_a @ self.w2_b - else: - w2 = torch.einsum("i j k l, i p, j r -> p r k l", self.t2, self.w2_a, self.w2_b) - - if len(w2.shape) == 4: - w1 = w1.unsqueeze(2).unsqueeze(2) - w2 = w2.contiguous() - weight = torch.kron(w1, w2) - - return weight - - def calc_size(self) -> int: - model_size = super().calc_size() - for val in [self.w1, self.w1_a, self.w1_b, self.w2, self.w2_a, self.w2_b, self.t2]: - if val is not None: - model_size += val.nelement() * val.element_size() - return model_size - - def to( - self, - device: Optional[torch.device] = None, - dtype: Optional[torch.dtype] = None, - ): - super().to(device=device, dtype=dtype) - - if self.w1 is not None: - self.w1 = self.w1.to(device=device, dtype=dtype) - else: - self.w1_a = self.w1_a.to(device=device, dtype=dtype) - self.w1_b = self.w1_b.to(device=device, dtype=dtype) - - if self.w2 is not None: - self.w2 = self.w2.to(device=device, dtype=dtype) - else: - self.w2_a = self.w2_a.to(device=device, dtype=dtype) - self.w2_b = self.w2_b.to(device=device, dtype=dtype) - - if self.t2 is not None: - self.t2 = self.t2.to(device=device, dtype=dtype) - - -class LoRAModel: # (torch.nn.Module): - _name: str - layers: Dict[str, LoRALayer] - _device: torch.device - _dtype: torch.dtype - - def __init__( - self, - name: str, - layers: Dict[str, LoRALayer], - device: torch.device, - dtype: torch.dtype, - ): - self._name = name - self._device = device or torch.cpu - self._dtype = dtype or torch.float32 - self.layers = layers - - @property - def name(self): - return self._name - - @property - def device(self): - return self._device - - @property - def dtype(self): - return self._dtype - - def to( - self, - device: Optional[torch.device] = None, - dtype: Optional[torch.dtype] = None, - ) -> LoRAModel: - # TODO: try revert if exception? - for key, layer in self.layers.items(): - layer.to(device=device, dtype=dtype) - self._device = device - self._dtype = dtype - - def calc_size(self) -> int: - model_size = 0 - for _, layer in self.layers.items(): - model_size += layer.calc_size() - return model_size - - @classmethod - def from_checkpoint( - cls, - file_path: Union[str, Path], - device: Optional[torch.device] = None, - dtype: Optional[torch.dtype] = None, - ): - device = device or torch.device("cpu") - dtype = dtype or torch.float32 - - if isinstance(file_path, str): - file_path = Path(file_path) - - model = cls( - device=device, - dtype=dtype, - name=file_path.stem, # TODO: - layers=dict(), - ) - - if file_path.suffix == ".safetensors": - state_dict = load_file(file_path.absolute().as_posix(), device="cpu") - else: - state_dict = torch.load(file_path, map_location="cpu") - - state_dict = cls._group_state(state_dict) - - for layer_key, values in state_dict.items(): - # lora and locon - if "lora_down.weight" in values: - layer = LoRALayer(layer_key, values) - - # loha - elif "hada_w1_b" in values: - layer = LoHALayer(layer_key, values) - - # lokr - elif "lokr_w1_b" in values or "lokr_w1" in values: - layer = LoKRLayer(layer_key, values) - - else: - # TODO: diff/ia3/... format - print(f">> Encountered unknown lora layer module in {model.name}: {layer_key}") - return - - # lower memory consumption by removing already parsed layer values - state_dict[layer_key].clear() - - layer.to(device=device, dtype=dtype) - model.layers[layer_key] = layer - - return model - - @staticmethod - def _group_state(state_dict: dict): - state_dict_groupped = dict() - - for key, value in state_dict.items(): - stem, leaf = key.split(".", 1) - if stem not in state_dict_groupped: - state_dict_groupped[stem] = dict() - state_dict_groupped[stem][leaf] = value - - return state_dict_groupped - - """ loras = [ (lora_model1, 0.7), @@ -516,6 +101,27 @@ class ModelPatcher: with cls.apply_lora(text_encoder, loras, "lora_te_"): yield + + @classmethod + @contextmanager + def apply_sdxl_lora_text_encoder( + cls, + text_encoder: CLIPTextModel, + loras: List[Tuple[LoRAModel, float]], + ): + with cls.apply_lora(text_encoder, loras, "lora_te1_"): + yield + + @classmethod + @contextmanager + def apply_sdxl_lora_text_encoder2( + cls, + text_encoder: CLIPTextModel, + loras: List[Tuple[LoRAModel, float]], + ): + with cls.apply_lora(text_encoder, loras, "lora_te2_"): + yield + @classmethod @contextmanager def apply_lora( diff --git a/invokeai/backend/model_management/model_cache.py b/invokeai/backend/model_management/model_cache.py index b4c3e48a48..71e1ebc0d4 100644 --- a/invokeai/backend/model_management/model_cache.py +++ b/invokeai/backend/model_management/model_cache.py @@ -28,8 +28,6 @@ import torch import logging import invokeai.backend.util.logging as logger -from invokeai.app.services.config import get_invokeai_config -from .lora import LoRAModel, TextualInversionModel from .models import BaseModelType, ModelType, SubModelType, ModelBase # Maximum size of the cache, in gigs diff --git a/invokeai/backend/model_management/models/lora.py b/invokeai/backend/model_management/models/lora.py index 642f8bbeec..0351bf2652 100644 --- a/invokeai/backend/model_management/models/lora.py +++ b/invokeai/backend/model_management/models/lora.py @@ -1,7 +1,9 @@ import os import torch from enum import Enum -from typing import Optional, Union, Literal +from typing import Optional, Dict, Union, Literal, Any +from pathlib import Path +from safetensors.torch import load_file from .base import ( ModelBase, ModelConfigBase, @@ -13,9 +15,6 @@ from .base import ( ModelNotFoundException, ) -# TODO: naming -from ..lora import LoRAModel as LoRAModelRaw - class LoRAModelFormat(str, Enum): LyCORIS = "lycoris" @@ -50,6 +49,7 @@ class LoRAModel(ModelBase): model = LoRAModelRaw.from_checkpoint( file_path=self.model_path, dtype=torch_dtype, + base_model=self.base_model, ) self.model_size = model.calc_size() @@ -87,3 +87,532 @@ class LoRAModel(ModelBase): raise NotImplementedError("Diffusers lora not supported") else: return model_path + +class LoRALayerBase: + # rank: Optional[int] + # alpha: Optional[float] + # bias: Optional[torch.Tensor] + # layer_key: str + + # @property + # def scale(self): + # return self.alpha / self.rank if (self.alpha and self.rank) else 1.0 + + def __init__( + self, + layer_key: str, + values: dict, + ): + if "alpha" in values: + self.alpha = values["alpha"].item() + else: + self.alpha = None + + if "bias_indices" in values and "bias_values" in values and "bias_size" in values: + self.bias = torch.sparse_coo_tensor( + values["bias_indices"], + values["bias_values"], + tuple(values["bias_size"]), + ) + + else: + self.bias = None + + self.rank = None # set in layer implementation + self.layer_key = layer_key + + def forward( + self, + module: torch.nn.Module, + input_h: Any, # for real looks like Tuple[torch.nn.Tensor] but not sure + multiplier: float, + ): + if type(module) == torch.nn.Conv2d: + op = torch.nn.functional.conv2d + extra_args = dict( + stride=module.stride, + padding=module.padding, + dilation=module.dilation, + groups=module.groups, + ) + + else: + op = torch.nn.functional.linear + extra_args = {} + + weight = self.get_weight() + + bias = self.bias if self.bias is not None else 0 + scale = self.alpha / self.rank if (self.alpha and self.rank) else 1.0 + return ( + op( + *input_h, + (weight + bias).view(module.weight.shape), + None, + **extra_args, + ) + * multiplier + * scale + ) + + def get_weight(self): + raise NotImplementedError() + + def calc_size(self) -> int: + model_size = 0 + for val in [self.bias]: + if val is not None: + model_size += val.nelement() * val.element_size() + return model_size + + def to( + self, + device: Optional[torch.device] = None, + dtype: Optional[torch.dtype] = None, + ): + if self.bias is not None: + self.bias = self.bias.to(device=device, dtype=dtype) + +# TODO: find and debug lora/locon with bias +class LoRALayer(LoRALayerBase): + # up: torch.Tensor + # mid: Optional[torch.Tensor] + # down: torch.Tensor + + def __init__( + self, + layer_key: str, + values: dict, + ): + super().__init__(layer_key, values) + + self.up = values["lora_up.weight"] + self.down = values["lora_down.weight"] + if "lora_mid.weight" in values: + self.mid = values["lora_mid.weight"] + else: + self.mid = None + + self.rank = self.down.shape[0] + + def get_weight(self): + if self.mid is not None: + up = self.up.reshape(self.up.shape[0], self.up.shape[1]) + down = self.down.reshape(self.down.shape[0], self.down.shape[1]) + weight = torch.einsum("m n w h, i m, n j -> i j w h", self.mid, up, down) + else: + weight = self.up.reshape(self.up.shape[0], -1) @ self.down.reshape(self.down.shape[0], -1) + + return weight + + def calc_size(self) -> int: + model_size = super().calc_size() + for val in [self.up, self.mid, self.down]: + if val is not None: + model_size += val.nelement() * val.element_size() + return model_size + + def to( + self, + device: Optional[torch.device] = None, + dtype: Optional[torch.dtype] = None, + ): + super().to(device=device, dtype=dtype) + + self.up = self.up.to(device=device, dtype=dtype) + self.down = self.down.to(device=device, dtype=dtype) + + if self.mid is not None: + self.mid = self.mid.to(device=device, dtype=dtype) + +class LoHALayer(LoRALayerBase): + # w1_a: torch.Tensor + # w1_b: torch.Tensor + # w2_a: torch.Tensor + # w2_b: torch.Tensor + # t1: Optional[torch.Tensor] = None + # t2: Optional[torch.Tensor] = None + + def __init__( + self, + layer_key: str, + values: dict, + ): + super().__init__(layer_key, values) + + self.w1_a = values["hada_w1_a"] + self.w1_b = values["hada_w1_b"] + self.w2_a = values["hada_w2_a"] + self.w2_b = values["hada_w2_b"] + + if "hada_t1" in values: + self.t1 = values["hada_t1"] + else: + self.t1 = None + + if "hada_t2" in values: + self.t2 = values["hada_t2"] + else: + self.t2 = None + + self.rank = self.w1_b.shape[0] + + def get_weight(self): + if self.t1 is None: + weight = (self.w1_a @ self.w1_b) * (self.w2_a @ self.w2_b) + + else: + rebuild1 = torch.einsum("i j k l, j r, i p -> p r k l", self.t1, self.w1_b, self.w1_a) + rebuild2 = torch.einsum("i j k l, j r, i p -> p r k l", self.t2, self.w2_b, self.w2_a) + weight = rebuild1 * rebuild2 + + return weight + + def calc_size(self) -> int: + model_size = super().calc_size() + for val in [self.w1_a, self.w1_b, self.w2_a, self.w2_b, self.t1, self.t2]: + if val is not None: + model_size += val.nelement() * val.element_size() + return model_size + + def to( + self, + device: Optional[torch.device] = None, + dtype: Optional[torch.dtype] = None, + ): + super().to(device=device, dtype=dtype) + + self.w1_a = self.w1_a.to(device=device, dtype=dtype) + self.w1_b = self.w1_b.to(device=device, dtype=dtype) + if self.t1 is not None: + self.t1 = self.t1.to(device=device, dtype=dtype) + + self.w2_a = self.w2_a.to(device=device, dtype=dtype) + self.w2_b = self.w2_b.to(device=device, dtype=dtype) + if self.t2 is not None: + self.t2 = self.t2.to(device=device, dtype=dtype) + +class LoKRLayer(LoRALayerBase): + # w1: Optional[torch.Tensor] = None + # w1_a: Optional[torch.Tensor] = None + # w1_b: Optional[torch.Tensor] = None + # w2: Optional[torch.Tensor] = None + # w2_a: Optional[torch.Tensor] = None + # w2_b: Optional[torch.Tensor] = None + # t2: Optional[torch.Tensor] = None + + def __init__( + self, + layer_key: str, + values: dict, + ): + super().__init__(layer_key, values) + + if "lokr_w1" in values: + self.w1 = values["lokr_w1"] + self.w1_a = None + self.w1_b = None + else: + self.w1 = None + self.w1_a = values["lokr_w1_a"] + self.w1_b = values["lokr_w1_b"] + + if "lokr_w2" in values: + self.w2 = values["lokr_w2"] + self.w2_a = None + self.w2_b = None + else: + self.w2 = None + self.w2_a = values["lokr_w2_a"] + self.w2_b = values["lokr_w2_b"] + + if "lokr_t2" in values: + self.t2 = values["lokr_t2"] + else: + self.t2 = None + + if "lokr_w1_b" in values: + self.rank = values["lokr_w1_b"].shape[0] + elif "lokr_w2_b" in values: + self.rank = values["lokr_w2_b"].shape[0] + else: + self.rank = None # unscaled + + def get_weight(self): + w1 = self.w1 + if w1 is None: + w1 = self.w1_a @ self.w1_b + + w2 = self.w2 + if w2 is None: + if self.t2 is None: + w2 = self.w2_a @ self.w2_b + else: + w2 = torch.einsum("i j k l, i p, j r -> p r k l", self.t2, self.w2_a, self.w2_b) + + if len(w2.shape) == 4: + w1 = w1.unsqueeze(2).unsqueeze(2) + w2 = w2.contiguous() + weight = torch.kron(w1, w2) + + return weight + + def calc_size(self) -> int: + model_size = super().calc_size() + for val in [self.w1, self.w1_a, self.w1_b, self.w2, self.w2_a, self.w2_b, self.t2]: + if val is not None: + model_size += val.nelement() * val.element_size() + return model_size + + def to( + self, + device: Optional[torch.device] = None, + dtype: Optional[torch.dtype] = None, + ): + super().to(device=device, dtype=dtype) + + if self.w1 is not None: + self.w1 = self.w1.to(device=device, dtype=dtype) + else: + self.w1_a = self.w1_a.to(device=device, dtype=dtype) + self.w1_b = self.w1_b.to(device=device, dtype=dtype) + + if self.w2 is not None: + self.w2 = self.w2.to(device=device, dtype=dtype) + else: + self.w2_a = self.w2_a.to(device=device, dtype=dtype) + self.w2_b = self.w2_b.to(device=device, dtype=dtype) + + if self.t2 is not None: + self.t2 = self.t2.to(device=device, dtype=dtype) + +# TODO: rename all methods used in model logic with Info postfix and remove here Raw postfix +class LoRAModelRaw: # (torch.nn.Module): + _name: str + layers: Dict[str, LoRALayer] + _device: torch.device + _dtype: torch.dtype + + def __init__( + self, + name: str, + layers: Dict[str, LoRALayer], + device: torch.device, + dtype: torch.dtype, + ): + self._name = name + self._device = device or torch.cpu + self._dtype = dtype or torch.float32 + self.layers = layers + + @property + def name(self): + return self._name + + @property + def device(self): + return self._device + + @property + def dtype(self): + return self._dtype + + def to( + self, + device: Optional[torch.device] = None, + dtype: Optional[torch.dtype] = None, + ): + # TODO: try revert if exception? + for key, layer in self.layers.items(): + layer.to(device=device, dtype=dtype) + self._device = device + self._dtype = dtype + + def calc_size(self) -> int: + model_size = 0 + for _, layer in self.layers.items(): + model_size += layer.calc_size() + return model_size + + @classmethod + def _convert_sdxl_compvis_keys(cls, state_dict): + new_state_dict = dict() + for full_key, value in state_dict.items(): + if full_key.startswith("lora_te1_") or full_key.startswith("lora_te2_"): + continue # clip same + + if not full_key.startswith("lora_unet_"): + raise NotImplementedError(f"Unknown prefix for sdxl lora key - {full_key}") + src_key = full_key.replace("lora_unet_", "") + try: + dst_key = None + while "_" in src_key: + if src_key in SDXL_UNET_COMPVIS_MAP: + dst_key = SDXL_UNET_COMPVIS_MAP[src_key] + break + src_key = "_".join(src_key.split('_')[:-1]) + + if dst_key is None: + raise Exception(f"Unknown sdxl lora key - {full_key}") + new_key = full_key.replace(src_key, dst_key) + except: + print(SDXL_UNET_COMPVIS_MAP) + raise + new_state_dict[new_key] = value + return new_state_dict + + @classmethod + def from_checkpoint( + cls, + file_path: Union[str, Path], + device: Optional[torch.device] = None, + dtype: Optional[torch.dtype] = None, + base_model: Optional[BaseModelType] = None, + ): + device = device or torch.device("cpu") + dtype = dtype or torch.float32 + + if isinstance(file_path, str): + file_path = Path(file_path) + + model = cls( + device=device, + dtype=dtype, + name=file_path.stem, # TODO: + layers=dict(), + ) + + if file_path.suffix == ".safetensors": + state_dict = load_file(file_path.absolute().as_posix(), device="cpu") + else: + state_dict = torch.load(file_path, map_location="cpu") + + state_dict = cls._group_state(state_dict) + + if base_model == BaseModelType.StableDiffusionXL: + state_dict = cls._convert_sdxl_compvis_keys(state_dict) + + for layer_key, values in state_dict.items(): + # lora and locon + if "lora_down.weight" in values: + layer = LoRALayer(layer_key, values) + + # loha + elif "hada_w1_b" in values: + layer = LoHALayer(layer_key, values) + + # lokr + elif "lokr_w1_b" in values or "lokr_w1" in values: + layer = LoKRLayer(layer_key, values) + + else: + # TODO: diff/ia3/... format + print(f">> Encountered unknown lora layer module in {model.name}: {layer_key}") + return + + # lower memory consumption by removing already parsed layer values + state_dict[layer_key].clear() + + layer.to(device=device, dtype=dtype) + model.layers[layer_key] = layer + + return model + + @staticmethod + def _group_state(state_dict: dict): + state_dict_groupped = dict() + + for key, value in state_dict.items(): + stem, leaf = key.split(".", 1) + if stem not in state_dict_groupped: + state_dict_groupped[stem] = dict() + state_dict_groupped[stem][leaf] = value + + return state_dict_groupped + + +def make_sdxl_unet_conversion_map(): + unet_conversion_map_layer = [] + + for i in range(3): # num_blocks is 3 in sdxl + # loop over downblocks/upblocks + for j in range(2): + # loop over resnets/attentions for downblocks + hf_down_res_prefix = f"down_blocks.{i}.resnets.{j}." + sd_down_res_prefix = f"input_blocks.{3*i + j + 1}.0." + unet_conversion_map_layer.append((sd_down_res_prefix, hf_down_res_prefix)) + + if i < 3: + # no attention layers in down_blocks.3 + hf_down_atn_prefix = f"down_blocks.{i}.attentions.{j}." + sd_down_atn_prefix = f"input_blocks.{3*i + j + 1}.1." + unet_conversion_map_layer.append((sd_down_atn_prefix, hf_down_atn_prefix)) + + for j in range(3): + # loop over resnets/attentions for upblocks + hf_up_res_prefix = f"up_blocks.{i}.resnets.{j}." + sd_up_res_prefix = f"output_blocks.{3*i + j}.0." + unet_conversion_map_layer.append((sd_up_res_prefix, hf_up_res_prefix)) + + # if i > 0: commentout for sdxl + # no attention layers in up_blocks.0 + hf_up_atn_prefix = f"up_blocks.{i}.attentions.{j}." + sd_up_atn_prefix = f"output_blocks.{3*i + j}.1." + unet_conversion_map_layer.append((sd_up_atn_prefix, hf_up_atn_prefix)) + + if i < 3: + # no downsample in down_blocks.3 + hf_downsample_prefix = f"down_blocks.{i}.downsamplers.0.conv." + sd_downsample_prefix = f"input_blocks.{3*(i+1)}.0.op." + unet_conversion_map_layer.append((sd_downsample_prefix, hf_downsample_prefix)) + + # no upsample in up_blocks.3 + hf_upsample_prefix = f"up_blocks.{i}.upsamplers.0." + sd_upsample_prefix = f"output_blocks.{3*i + 2}.{2}." # change for sdxl + unet_conversion_map_layer.append((sd_upsample_prefix, hf_upsample_prefix)) + + hf_mid_atn_prefix = "mid_block.attentions.0." + sd_mid_atn_prefix = "middle_block.1." + unet_conversion_map_layer.append((sd_mid_atn_prefix, hf_mid_atn_prefix)) + + for j in range(2): + hf_mid_res_prefix = f"mid_block.resnets.{j}." + sd_mid_res_prefix = f"middle_block.{2*j}." + unet_conversion_map_layer.append((sd_mid_res_prefix, hf_mid_res_prefix)) + + unet_conversion_map_resnet = [ + # (stable-diffusion, HF Diffusers) + ("in_layers.0.", "norm1."), + ("in_layers.2.", "conv1."), + ("out_layers.0.", "norm2."), + ("out_layers.3.", "conv2."), + ("emb_layers.1.", "time_emb_proj."), + ("skip_connection.", "conv_shortcut."), + ] + + unet_conversion_map = [] + for sd, hf in unet_conversion_map_layer: + if "resnets" in hf: + for sd_res, hf_res in unet_conversion_map_resnet: + unet_conversion_map.append((sd + sd_res, hf + hf_res)) + else: + unet_conversion_map.append((sd, hf)) + + for j in range(2): + hf_time_embed_prefix = f"time_embedding.linear_{j+1}." + sd_time_embed_prefix = f"time_embed.{j*2}." + unet_conversion_map.append((sd_time_embed_prefix, hf_time_embed_prefix)) + + for j in range(2): + hf_label_embed_prefix = f"add_embedding.linear_{j+1}." + sd_label_embed_prefix = f"label_emb.0.{j*2}." + unet_conversion_map.append((sd_label_embed_prefix, hf_label_embed_prefix)) + + unet_conversion_map.append(("input_blocks.0.0.", "conv_in.")) + unet_conversion_map.append(("out.0.", "conv_norm_out.")) + unet_conversion_map.append(("out.2.", "conv_out.")) + + return unet_conversion_map + +#_sdxl_conversion_map = {f"lora_unet_{sd}".rstrip(".").replace(".", "_"): f"lora_unet_{hf}".rstrip(".").replace(".", "_") for sd, hf in make_sdxl_unet_conversion_map()} +SDXL_UNET_COMPVIS_MAP = {f"{sd}".rstrip(".").replace(".", "_"): f"{hf}".rstrip(".").replace(".", "_") for sd, hf in make_sdxl_unet_conversion_map()} From 1d5d187ba10f4d2dab3d2bb1213e41cae37d701c Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Thu, 3 Aug 2023 10:26:52 -0400 Subject: [PATCH 057/287] model probe detects sdxl lora models --- invokeai/app/invocations/sdxl.py | 4 +-- invokeai/backend/model_management/lora.py | 1 - .../backend/model_management/model_probe.py | 25 ++++++++++++++++--- .../backend/model_management/models/lora.py | 17 ++++++++++--- scripts/probe-model.py | 6 +++-- 5 files changed, 39 insertions(+), 14 deletions(-) diff --git a/invokeai/app/invocations/sdxl.py b/invokeai/app/invocations/sdxl.py index faa6b59782..aaa616a378 100644 --- a/invokeai/app/invocations/sdxl.py +++ b/invokeai/app/invocations/sdxl.py @@ -306,9 +306,7 @@ class SDXLTextToLatentsInvocation(BaseInvocation): unet_info = context.services.model_manager.get_model(**self.unet.unet.dict(), context=context) do_classifier_free_guidance = True cross_attention_kwargs = None - with ModelPatcher.apply_lora_unet(unet_info.context.model, _lora_loader()),\ - unet_info as unet: - + with ModelPatcher.apply_lora_unet(unet_info.context.model, _lora_loader()), unet_info as unet: scheduler.set_timesteps(num_inference_steps, device=unet.device) timesteps = scheduler.timesteps diff --git a/invokeai/backend/model_management/lora.py b/invokeai/backend/model_management/lora.py index 56f7a648c9..0a0ab3d629 100644 --- a/invokeai/backend/model_management/lora.py +++ b/invokeai/backend/model_management/lora.py @@ -101,7 +101,6 @@ class ModelPatcher: with cls.apply_lora(text_encoder, loras, "lora_te_"): yield - @classmethod @contextmanager def apply_sdxl_lora_text_encoder( diff --git a/invokeai/backend/model_management/model_probe.py b/invokeai/backend/model_management/model_probe.py index c3964d760c..21462cf6e6 100644 --- a/invokeai/backend/model_management/model_probe.py +++ b/invokeai/backend/model_management/model_probe.py @@ -315,21 +315,38 @@ class LoRACheckpointProbe(CheckpointProbeBase): def get_base_type(self) -> BaseModelType: checkpoint = self.checkpoint + + # SD-2 models are very hard to probe. These probes are brittle and likely to fail in the future + # There are also some "SD-2 LoRAs" that have identical keys and shapes to SD-1 and will be + # misclassified as SD-1 + key = "lora_te_text_model_encoder_layers_0_mlp_fc1.lora_down.weight" + if key in checkpoint and checkpoint[key].shape[0] == 320: + return BaseModelType.StableDiffusion2 + + key = "lora_unet_output_blocks_5_1_transformer_blocks_1_ff_net_2.lora_up.weight" + if key in checkpoint: + return BaseModelType.StableDiffusionXL + key1 = "lora_te_text_model_encoder_layers_0_mlp_fc1.lora_down.weight" - key2 = "lora_te_text_model_encoder_layers_0_self_attn_k_proj.hada_w1_a" + key2 = "lora_te_text_model_encoder_layers_0_self_attn_k_proj.lora_down.weight" + key3 = "lora_te_text_model_encoder_layers_0_self_attn_k_proj.hada_w1_a" + lora_token_vector_length = ( checkpoint[key1].shape[1] if key1 in checkpoint - else checkpoint[key2].shape[0] + else checkpoint[key2].shape[1] if key2 in checkpoint - else 768 + else checkpoint[key3].shape[0] + if key3 in checkpoint + else None ) + if lora_token_vector_length == 768: return BaseModelType.StableDiffusion1 elif lora_token_vector_length == 1024: return BaseModelType.StableDiffusion2 else: - return None + raise InvalidModelException(f"Unknown LoRA type") class TextualInversionCheckpointProbe(CheckpointProbeBase): diff --git a/invokeai/backend/model_management/models/lora.py b/invokeai/backend/model_management/models/lora.py index 0351bf2652..0870e78469 100644 --- a/invokeai/backend/model_management/models/lora.py +++ b/invokeai/backend/model_management/models/lora.py @@ -88,6 +88,7 @@ class LoRAModel(ModelBase): else: return model_path + class LoRALayerBase: # rank: Optional[int] # alpha: Optional[float] @@ -173,6 +174,7 @@ class LoRALayerBase: if self.bias is not None: self.bias = self.bias.to(device=device, dtype=dtype) + # TODO: find and debug lora/locon with bias class LoRALayer(LoRALayerBase): # up: torch.Tensor @@ -225,6 +227,7 @@ class LoRALayer(LoRALayerBase): if self.mid is not None: self.mid = self.mid.to(device=device, dtype=dtype) + class LoHALayer(LoRALayerBase): # w1_a: torch.Tensor # w1_b: torch.Tensor @@ -292,6 +295,7 @@ class LoHALayer(LoRALayerBase): if self.t2 is not None: self.t2 = self.t2.to(device=device, dtype=dtype) + class LoKRLayer(LoRALayerBase): # w1: Optional[torch.Tensor] = None # w1_a: Optional[torch.Tensor] = None @@ -386,6 +390,7 @@ class LoKRLayer(LoRALayerBase): if self.t2 is not None: self.t2 = self.t2.to(device=device, dtype=dtype) + # TODO: rename all methods used in model logic with Info postfix and remove here Raw postfix class LoRAModelRaw: # (torch.nn.Module): _name: str @@ -439,7 +444,7 @@ class LoRAModelRaw: # (torch.nn.Module): new_state_dict = dict() for full_key, value in state_dict.items(): if full_key.startswith("lora_te1_") or full_key.startswith("lora_te2_"): - continue # clip same + continue # clip same if not full_key.startswith("lora_unet_"): raise NotImplementedError(f"Unknown prefix for sdxl lora key - {full_key}") @@ -450,7 +455,7 @@ class LoRAModelRaw: # (torch.nn.Module): if src_key in SDXL_UNET_COMPVIS_MAP: dst_key = SDXL_UNET_COMPVIS_MAP[src_key] break - src_key = "_".join(src_key.split('_')[:-1]) + src_key = "_".join(src_key.split("_")[:-1]) if dst_key is None: raise Exception(f"Unknown sdxl lora key - {full_key}") @@ -614,5 +619,9 @@ def make_sdxl_unet_conversion_map(): return unet_conversion_map -#_sdxl_conversion_map = {f"lora_unet_{sd}".rstrip(".").replace(".", "_"): f"lora_unet_{hf}".rstrip(".").replace(".", "_") for sd, hf in make_sdxl_unet_conversion_map()} -SDXL_UNET_COMPVIS_MAP = {f"{sd}".rstrip(".").replace(".", "_"): f"{hf}".rstrip(".").replace(".", "_") for sd, hf in make_sdxl_unet_conversion_map()} + +# _sdxl_conversion_map = {f"lora_unet_{sd}".rstrip(".").replace(".", "_"): f"lora_unet_{hf}".rstrip(".").replace(".", "_") for sd, hf in make_sdxl_unet_conversion_map()} +SDXL_UNET_COMPVIS_MAP = { + f"{sd}".rstrip(".").replace(".", "_"): f"{hf}".rstrip(".").replace(".", "_") + for sd, hf in make_sdxl_unet_conversion_map() +} diff --git a/scripts/probe-model.py b/scripts/probe-model.py index 7281dafc3f..4cf2c50263 100755 --- a/scripts/probe-model.py +++ b/scripts/probe-model.py @@ -9,8 +9,10 @@ parser = argparse.ArgumentParser(description="Probe model type") parser.add_argument( "model_path", type=Path, + nargs="+", ) args = parser.parse_args() -info = ModelProbe().probe(args.model_path) -print(info) +for path in args.model_path: + info = ModelProbe().probe(path) + print(f"{path}: {info}") From cff91f06d36376e7936db97761df9aaea4395d53 Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Thu, 3 Aug 2023 19:04:44 +0300 Subject: [PATCH 058/287] Add lora apply in sdxl l2l node --- invokeai/app/invocations/sdxl.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/invokeai/app/invocations/sdxl.py b/invokeai/app/invocations/sdxl.py index aaa616a378..5bcd85db28 100644 --- a/invokeai/app/invocations/sdxl.py +++ b/invokeai/app/invocations/sdxl.py @@ -553,9 +553,19 @@ class SDXLLatentsToLatentsInvocation(BaseInvocation): context=context, ) + def _lora_loader(): + for lora in self.unet.loras: + lora_info = context.services.model_manager.get_model( + **lora.dict(exclude={"weight"}), + context=context, + ) + yield (lora_info.context.model, lora.weight) + del lora_info + return + do_classifier_free_guidance = True cross_attention_kwargs = None - with unet_info as unet: + with ModelPatcher.apply_lora_unet(unet_info.context.model, _lora_loader()), unet_info as unet: # apply denoising_start num_inference_steps = self.steps scheduler.set_timesteps(num_inference_steps, device=unet.device) From 0d3c27f46c3276d86a51191ad3d036a2fe51f13f Mon Sep 17 00:00:00 2001 From: StAlKeR7779 Date: Fri, 4 Aug 2023 03:07:21 +0300 Subject: [PATCH 059/287] Fix typo Co-authored-by: Ryan Dick --- invokeai/app/invocations/model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/app/invocations/model.py b/invokeai/app/invocations/model.py index d215d500a6..0d21f8f0ce 100644 --- a/invokeai/app/invocations/model.py +++ b/invokeai/app/invocations/model.py @@ -307,7 +307,7 @@ class SDXLLoraLoaderInvocation(BaseInvocation): model_name=lora_name, model_type=ModelType.Lora, ): - raise Exception(f"Unkown lora name: {lora_name}!") + raise Exception(f"Unknown lora name: {lora_name}!") if self.unet is not None and any(lora.model_name == lora_name for lora in self.unet.loras): raise Exception(f'Lora "{lora_name}" already applied to unet') From 2f8b928486eb8d4e7c94a7eca122e1ab08fbc0e4 Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Tue, 1 Aug 2023 17:02:57 +0300 Subject: [PATCH 060/287] Add support for diff/full lora layers --- invokeai/backend/model_management/lora.py | 46 +++++++++++++++++++++-- 1 file changed, 43 insertions(+), 3 deletions(-) diff --git a/invokeai/backend/model_management/lora.py b/invokeai/backend/model_management/lora.py index 4287072a65..14a78693ea 100644 --- a/invokeai/backend/model_management/lora.py +++ b/invokeai/backend/model_management/lora.py @@ -325,6 +325,43 @@ class LoKRLayer(LoRALayerBase): self.t2 = self.t2.to(device=device, dtype=dtype) +class FullLayer(LoRALayerBase): + # weight: torch.Tensor + + def __init__( + self, + layer_key: str, + values: dict, + ): + super().__init__(layer_key, values) + + self.weight = values["diff"] + + if len(values.keys()) > 1: + _keys = list(values.keys()) + _keys.remove("diff") + raise NotImplementedError(f"Unexpected keys in lora diff layer: {_keys}") + + self.rank = None # unscaled + + def get_weight(self): + return self.weight + + def calc_size(self) -> int: + model_size = super().calc_size() + model_size += self.weight.nelement() * self.weight.element_size() + return model_size + + def to( + self, + device: Optional[torch.device] = None, + dtype: Optional[torch.dtype] = None, + ): + super().to(device=device, dtype=dtype) + + self.weight = self.weight.to(device=device, dtype=dtype) + + class LoRAModel: # (torch.nn.Module): _name: str layers: Dict[str, LoRALayer] @@ -412,10 +449,13 @@ class LoRAModel: # (torch.nn.Module): elif "lokr_w1_b" in values or "lokr_w1" in values: layer = LoKRLayer(layer_key, values) + elif "diff" in values: + layer = FullLayer(layer_key, values) + else: - # TODO: diff/ia3/... format - print(f">> Encountered unknown lora layer module in {model.name}: {layer_key}") - return + # TODO: ia3/... format + print(f">> Encountered unknown lora layer module in {model.name}: {layer_key} - {list(values.keys())}") + raise Exception("Unknown lora format!") # lower memory consumption by removing already parsed layer values state_dict[layer_key].clear() From 7d0cc6ec3f97a4d0c8b61c6af6e3bc4e29c4f1b9 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Thu, 3 Aug 2023 11:18:22 +1000 Subject: [PATCH 061/287] chore: black --- invokeai/backend/model_management/lora.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/backend/model_management/lora.py b/invokeai/backend/model_management/lora.py index 14a78693ea..9f196d659d 100644 --- a/invokeai/backend/model_management/lora.py +++ b/invokeai/backend/model_management/lora.py @@ -359,7 +359,7 @@ class FullLayer(LoRALayerBase): ): super().to(device=device, dtype=dtype) - self.weight = self.weight.to(device=device, dtype=dtype) + self.weight = self.weight.to(device=device, dtype=dtype) class LoRAModel: # (torch.nn.Module): From f0613bb0ef1642e3c34ba7bc3146294d5de15ad2 Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Fri, 4 Aug 2023 19:53:27 +0300 Subject: [PATCH 062/287] Fix merge conflict resolve - restore full/diff layer support --- .../backend/model_management/models/lora.py | 49 +++++++++++++++++-- 1 file changed, 45 insertions(+), 4 deletions(-) diff --git a/invokeai/backend/model_management/models/lora.py b/invokeai/backend/model_management/models/lora.py index 0870e78469..1983c05503 100644 --- a/invokeai/backend/model_management/models/lora.py +++ b/invokeai/backend/model_management/models/lora.py @@ -391,6 +391,43 @@ class LoKRLayer(LoRALayerBase): self.t2 = self.t2.to(device=device, dtype=dtype) +class FullLayer(LoRALayerBase): + # weight: torch.Tensor + + def __init__( + self, + layer_key: str, + values: dict, + ): + super().__init__(layer_key, values) + + self.weight = values["diff"] + + if len(values.keys()) > 1: + _keys = list(values.keys()) + _keys.remove("diff") + raise NotImplementedError(f"Unexpected keys in lora diff layer: {_keys}") + + self.rank = None # unscaled + + def get_weight(self): + return self.weight + + def calc_size(self) -> int: + model_size = super().calc_size() + model_size += self.weight.nelement() * self.weight.element_size() + return model_size + + def to( + self, + device: Optional[torch.device] = None, + dtype: Optional[torch.dtype] = None, + ): + super().to(device=device, dtype=dtype) + + self.weight = self.weight.to(device=device, dtype=dtype) + + # TODO: rename all methods used in model logic with Info postfix and remove here Raw postfix class LoRAModelRaw: # (torch.nn.Module): _name: str @@ -510,10 +547,13 @@ class LoRAModelRaw: # (torch.nn.Module): elif "lokr_w1_b" in values or "lokr_w1" in values: layer = LoKRLayer(layer_key, values) + elif "diff" in values: + layer = FullLayer(layer_key, values) + else: - # TODO: diff/ia3/... format - print(f">> Encountered unknown lora layer module in {model.name}: {layer_key}") - return + # TODO: ia3/... format + print(f">> Encountered unknown lora layer module in {model.name}: {layer_key} - {list(values.keys())}") + raise Exception("Unknown lora format!") # lower memory consumption by removing already parsed layer values state_dict[layer_key].clear() @@ -536,6 +576,8 @@ class LoRAModelRaw: # (torch.nn.Module): return state_dict_groupped +# code from +# https://github.com/bmaltais/kohya_ss/blob/2accb1305979ba62f5077a23aabac23b4c37e935/networks/lora_diffusers.py#L15C1-L97C32 def make_sdxl_unet_conversion_map(): unet_conversion_map_layer = [] @@ -620,7 +662,6 @@ def make_sdxl_unet_conversion_map(): return unet_conversion_map -# _sdxl_conversion_map = {f"lora_unet_{sd}".rstrip(".").replace(".", "_"): f"lora_unet_{hf}".rstrip(".").replace(".", "_") for sd, hf in make_sdxl_unet_conversion_map()} SDXL_UNET_COMPVIS_MAP = { f"{sd}".rstrip(".").replace(".", "_"): f"{hf}".rstrip(".").replace(".", "_") for sd, hf in make_sdxl_unet_conversion_map() From 04229082d61f10efd70b2ff289b03c46ae4571a8 Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Tue, 1 Aug 2023 18:04:10 +0300 Subject: [PATCH 063/287] Provide ti name from model manager, not from ti itself --- invokeai/app/invocations/compel.py | 15 +++++++----- invokeai/app/invocations/onnx.py | 13 +++------- invokeai/backend/model_management/lora.py | 30 +++++++++++------------ 3 files changed, 26 insertions(+), 32 deletions(-) diff --git a/invokeai/app/invocations/compel.py b/invokeai/app/invocations/compel.py index bbe372ff57..c11ebd3f56 100644 --- a/invokeai/app/invocations/compel.py +++ b/invokeai/app/invocations/compel.py @@ -108,14 +108,15 @@ class CompelInvocation(BaseInvocation): for trigger in re.findall(r"<[a-zA-Z0-9., _-]+>", self.prompt): name = trigger[1:-1] try: - ti_list.append( + ti_list.append(( + name, context.services.model_manager.get_model( model_name=name, base_model=self.clip.text_encoder.base_model, model_type=ModelType.TextualInversion, context=context, ).context.model - ) + )) except ModelNotFoundException: # print(e) # import traceback @@ -196,14 +197,15 @@ class SDXLPromptInvocationBase: for trigger in re.findall(r"<[a-zA-Z0-9., _-]+>", prompt): name = trigger[1:-1] try: - ti_list.append( + ti_list.append(( + name, context.services.model_manager.get_model( model_name=name, base_model=clip_field.text_encoder.base_model, model_type=ModelType.TextualInversion, context=context, ).context.model - ) + )) except ModelNotFoundException: # print(e) # import traceback @@ -270,14 +272,15 @@ class SDXLPromptInvocationBase: for trigger in re.findall(r"<[a-zA-Z0-9., _-]+>", prompt): name = trigger[1:-1] try: - ti_list.append( + ti_list.append(( + name, context.services.model_manager.get_model( model_name=name, base_model=clip_field.text_encoder.base_model, model_type=ModelType.TextualInversion, context=context, ).context.model - ) + )) except ModelNotFoundException: # print(e) # import traceback diff --git a/invokeai/app/invocations/onnx.py b/invokeai/app/invocations/onnx.py index 2bec128b87..dec5b939a0 100644 --- a/invokeai/app/invocations/onnx.py +++ b/invokeai/app/invocations/onnx.py @@ -65,7 +65,6 @@ class ONNXPromptInvocation(BaseInvocation): **self.clip.text_encoder.dict(), ) with tokenizer_info as orig_tokenizer, text_encoder_info as text_encoder, ExitStack() as stack: - # loras = [(stack.enter_context(context.services.model_manager.get_model(**lora.dict(exclude={"weight"}))), lora.weight) for lora in self.clip.loras] loras = [ (context.services.model_manager.get_model(**lora.dict(exclude={"weight"})).context.model, lora.weight) for lora in self.clip.loras @@ -75,20 +74,14 @@ class ONNXPromptInvocation(BaseInvocation): for trigger in re.findall(r"<[a-zA-Z0-9., _-]+>", self.prompt): name = trigger[1:-1] try: - ti_list.append( - # stack.enter_context( - # context.services.model_manager.get_model( - # model_name=name, - # base_model=self.clip.text_encoder.base_model, - # model_type=ModelType.TextualInversion, - # ) - # ) + ti_list.append(( + name, context.services.model_manager.get_model( model_name=name, base_model=self.clip.text_encoder.base_model, model_type=ModelType.TextualInversion, ).context.model - ) + )) except Exception: # print(e) # import traceback diff --git a/invokeai/backend/model_management/lora.py b/invokeai/backend/model_management/lora.py index 7ccf5e57ae..e8e2b3f51f 100644 --- a/invokeai/backend/model_management/lora.py +++ b/invokeai/backend/model_management/lora.py @@ -164,7 +164,7 @@ class ModelPatcher: cls, tokenizer: CLIPTokenizer, text_encoder: CLIPTextModel, - ti_list: List[Any], + ti_list: List[Tuple[str, Any]], ) -> Tuple[CLIPTokenizer, TextualInversionManager]: init_tokens_count = None new_tokens_added = None @@ -174,27 +174,27 @@ class ModelPatcher: ti_manager = TextualInversionManager(ti_tokenizer) init_tokens_count = text_encoder.resize_token_embeddings(None).num_embeddings - def _get_trigger(ti, index): - trigger = ti.name + def _get_trigger(ti_name, index): + trigger = ti_name if index > 0: trigger += f"-!pad-{i}" return f"<{trigger}>" # modify tokenizer new_tokens_added = 0 - for ti in ti_list: + for ti_name, ti in ti_list: for i in range(ti.embedding.shape[0]): - new_tokens_added += ti_tokenizer.add_tokens(_get_trigger(ti, i)) + new_tokens_added += ti_tokenizer.add_tokens(_get_trigger(ti_name, i)) # modify text_encoder text_encoder.resize_token_embeddings(init_tokens_count + new_tokens_added) model_embeddings = text_encoder.get_input_embeddings() - for ti in ti_list: + for ti_name, ti in ti_list: ti_tokens = [] for i in range(ti.embedding.shape[0]): embedding = ti.embedding[i] - trigger = _get_trigger(ti, i) + trigger = _get_trigger(ti_name, i) token_id = ti_tokenizer.convert_tokens_to_ids(trigger) if token_id == ti_tokenizer.unk_token_id: @@ -239,7 +239,6 @@ class ModelPatcher: class TextualInversionModel: - name: str embedding: torch.Tensor # [n, 768]|[n, 1280] @classmethod @@ -253,7 +252,6 @@ class TextualInversionModel: file_path = Path(file_path) result = cls() # TODO: - result.name = file_path.stem # TODO: if file_path.suffix == ".safetensors": state_dict = load_file(file_path.absolute().as_posix(), device="cpu") @@ -430,7 +428,7 @@ class ONNXModelPatcher: cls, tokenizer: CLIPTokenizer, text_encoder: IAIOnnxRuntimeModel, - ti_list: List[Any], + ti_list: List[Tuple[str, Any]], ) -> Tuple[CLIPTokenizer, TextualInversionManager]: from .models.base import IAIOnnxRuntimeModel @@ -443,17 +441,17 @@ class ONNXModelPatcher: ti_tokenizer = copy.deepcopy(tokenizer) ti_manager = TextualInversionManager(ti_tokenizer) - def _get_trigger(ti, index): - trigger = ti.name + def _get_trigger(ti_name, index): + trigger = ti_name if index > 0: trigger += f"-!pad-{i}" return f"<{trigger}>" # modify tokenizer new_tokens_added = 0 - for ti in ti_list: + for ti_name, ti in ti_list: for i in range(ti.embedding.shape[0]): - new_tokens_added += ti_tokenizer.add_tokens(_get_trigger(ti, i)) + new_tokens_added += ti_tokenizer.add_tokens(_get_trigger(ti_name, i)) # modify text_encoder orig_embeddings = text_encoder.tensors["text_model.embeddings.token_embedding.weight"] @@ -463,11 +461,11 @@ class ONNXModelPatcher: axis=0, ) - for ti in ti_list: + for ti_name, ti in ti_list: ti_tokens = [] for i in range(ti.embedding.shape[0]): embedding = ti.embedding[i].detach().numpy() - trigger = _get_trigger(ti, i) + trigger = _get_trigger(ti_name, i) token_id = ti_tokenizer.convert_tokens_to_ids(trigger) if token_id == ti_tokenizer.unk_token_id: From 6ad565d84c22243838cd5fca1c579267ac3f4de5 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Thu, 3 Aug 2023 19:01:05 -0400 Subject: [PATCH 064/287] folded in changes from 4099 --- invokeai/app/invocations/compel.py | 60 ++++++++++--------- invokeai/app/invocations/onnx.py | 18 +++--- .../backend/model_management/model_cache.py | 2 +- .../backend/model_management/model_manager.py | 6 +- 4 files changed, 47 insertions(+), 39 deletions(-) diff --git a/invokeai/app/invocations/compel.py b/invokeai/app/invocations/compel.py index c11ebd3f56..7c3ce7a819 100644 --- a/invokeai/app/invocations/compel.py +++ b/invokeai/app/invocations/compel.py @@ -108,15 +108,17 @@ class CompelInvocation(BaseInvocation): for trigger in re.findall(r"<[a-zA-Z0-9., _-]+>", self.prompt): name = trigger[1:-1] try: - ti_list.append(( - name, - context.services.model_manager.get_model( - model_name=name, - base_model=self.clip.text_encoder.base_model, - model_type=ModelType.TextualInversion, - context=context, - ).context.model - )) + ti_list.append( + ( + name, + context.services.model_manager.get_model( + model_name=name, + base_model=self.clip.text_encoder.base_model, + model_type=ModelType.TextualInversion, + context=context, + ).context.model, + ) + ) except ModelNotFoundException: # print(e) # import traceback @@ -197,15 +199,17 @@ class SDXLPromptInvocationBase: for trigger in re.findall(r"<[a-zA-Z0-9., _-]+>", prompt): name = trigger[1:-1] try: - ti_list.append(( - name, - context.services.model_manager.get_model( - model_name=name, - base_model=clip_field.text_encoder.base_model, - model_type=ModelType.TextualInversion, - context=context, - ).context.model - )) + ti_list.append( + ( + name, + context.services.model_manager.get_model( + model_name=name, + base_model=clip_field.text_encoder.base_model, + model_type=ModelType.TextualInversion, + context=context, + ).context.model, + ) + ) except ModelNotFoundException: # print(e) # import traceback @@ -272,15 +276,17 @@ class SDXLPromptInvocationBase: for trigger in re.findall(r"<[a-zA-Z0-9., _-]+>", prompt): name = trigger[1:-1] try: - ti_list.append(( - name, - context.services.model_manager.get_model( - model_name=name, - base_model=clip_field.text_encoder.base_model, - model_type=ModelType.TextualInversion, - context=context, - ).context.model - )) + ti_list.append( + ( + name, + context.services.model_manager.get_model( + model_name=name, + base_model=clip_field.text_encoder.base_model, + model_type=ModelType.TextualInversion, + context=context, + ).context.model, + ) + ) except ModelNotFoundException: # print(e) # import traceback diff --git a/invokeai/app/invocations/onnx.py b/invokeai/app/invocations/onnx.py index dec5b939a0..fe9a64552e 100644 --- a/invokeai/app/invocations/onnx.py +++ b/invokeai/app/invocations/onnx.py @@ -74,14 +74,16 @@ class ONNXPromptInvocation(BaseInvocation): for trigger in re.findall(r"<[a-zA-Z0-9., _-]+>", self.prompt): name = trigger[1:-1] try: - ti_list.append(( - name, - context.services.model_manager.get_model( - model_name=name, - base_model=self.clip.text_encoder.base_model, - model_type=ModelType.TextualInversion, - ).context.model - )) + ti_list.append( + ( + name, + context.services.model_manager.get_model( + model_name=name, + base_model=self.clip.text_encoder.base_model, + model_type=ModelType.TextualInversion, + ).context.model, + ) + ) except Exception: # print(e) # import traceback diff --git a/invokeai/backend/model_management/model_cache.py b/invokeai/backend/model_management/model_cache.py index 71e1ebc0d4..2b8d020269 100644 --- a/invokeai/backend/model_management/model_cache.py +++ b/invokeai/backend/model_management/model_cache.py @@ -186,7 +186,7 @@ class ModelCache(object): cache_entry = self._cached_models.get(key, None) if cache_entry is None: self.logger.info( - f"Loading model {model_path}, type {base_model.value}:{model_type.value}:{submodel.value if submodel else ''}" + f"Loading model {model_path}, type {base_model.value}:{model_type.value}{':'+submodel.value if submodel else ''}" ) # this will remove older cached models until diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index 832a96e18f..3fd59d1533 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -670,7 +670,7 @@ class ModelManager(object): # TODO: if path changed and old_model.path inside models folder should we delete this too? # remove conversion cache as config changed - old_model_path = self.app_config.root_path / old_model.path + old_model_path = self.resolve_model_path(old_model.path) old_model_cache = self._get_model_cache_path(old_model_path) if old_model_cache.exists(): if old_model_cache.is_dir(): @@ -780,7 +780,7 @@ class ModelManager(object): model_type, **submodel, ) - checkpoint_path = self.app_config.root_path / info["path"] + checkpoint_path = self.resolve_model_path(info["path"]) old_diffusers_path = self.resolve_model_path(model.location) new_diffusers_path = ( dest_directory or self.app_config.models_path / base_model.value / model_type.value @@ -992,7 +992,7 @@ class ModelManager(object): model_manager=self, prediction_type_helper=ask_user_for_prediction_type, ) - known_paths = {config.root_path / x["path"] for x in self.list_models()} + known_paths = {self.resolve_model_path(x["path"]) for x in self.list_models()} directories = { config.root_path / x for x in [ From 1b158f62c4d4a98da1d5aac2288ad724b4b8a87a Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Thu, 3 Aug 2023 19:26:42 -0400 Subject: [PATCH 065/287] resolve vae overrides correctly --- invokeai/backend/model_management/model_manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index 3fd59d1533..a3b0d4e04a 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -472,7 +472,7 @@ class ModelManager(object): if submodel_type is not None and hasattr(model_config, submodel_type): override_path = getattr(model_config, submodel_type) if override_path: - model_path = self.app_config.root_path / override_path + model_path = self.resolve_path(override_path) model_type = submodel_type submodel_type = None model_class = MODEL_CLASSES[base_model][model_type] From 23497bf759d5dc1d1e0bb6dea87f9d1a07db8075 Mon Sep 17 00:00:00 2001 From: Damian Stewart Date: Sun, 30 Jul 2023 20:38:17 +0200 Subject: [PATCH 066/287] add `--ignore_missing_core_models` CLI flag to bypass checking for missing core models --- invokeai/app/services/config.py | 1 + invokeai/backend/install/check_root.py | 22 ++++++++++++---------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/invokeai/app/services/config.py b/invokeai/app/services/config.py index c119f2f74c..7b5015a670 100644 --- a/invokeai/app/services/config.py +++ b/invokeai/app/services/config.py @@ -414,6 +414,7 @@ class InvokeAIAppConfig(InvokeAISettings): outdir : Path = Field(default='outputs', description='Default folder for output images', category='Paths') from_file : Path = Field(default=None, description='Take command input from the indicated file (command-line client only)', category='Paths') use_memory_db : bool = Field(default=False, description='Use in-memory database for storing image metadata', category='Paths') + ignore_missing_core_models : bool = Field(default=False, description='Ignore missing models in models/core/convert') model : str = Field(default='stable-diffusion-1.5', description='Initial model name', category='Models') diff --git a/invokeai/backend/install/check_root.py b/invokeai/backend/install/check_root.py index ded9e66635..cde53f7100 100644 --- a/invokeai/backend/install/check_root.py +++ b/invokeai/backend/install/check_root.py @@ -12,16 +12,17 @@ def check_invokeai_root(config: InvokeAIAppConfig): assert config.model_conf_path.exists(), f"{config.model_conf_path} not found" assert config.db_path.parent.exists(), f"{config.db_path.parent} not found" assert config.models_path.exists(), f"{config.models_path} not found" - for model in [ - "CLIP-ViT-bigG-14-laion2B-39B-b160k", - "bert-base-uncased", - "clip-vit-large-patch14", - "sd-vae-ft-mse", - "stable-diffusion-2-clip", - "stable-diffusion-safety-checker", - ]: - path = config.models_path / f"core/convert/{model}" - assert path.exists(), f"{path} is missing" + if not config.ignore_missing_core_models: + for model in [ + "CLIP-ViT-bigG-14-laion2B-39B-b160k", + "bert-base-uncased", + "clip-vit-large-patch14", + "sd-vae-ft-mse", + "stable-diffusion-2-clip", + "stable-diffusion-safety-checker", + ]: + path = config.models_path / f"core/convert/{model}" + assert path.exists(), f"{path} is missing" except Exception as e: print() print(f"An exception has occurred: {str(e)}") @@ -32,5 +33,6 @@ def check_invokeai_root(config: InvokeAIAppConfig): print( '** From the command line, activate the virtual environment and run "invokeai-configure --yes --skip-sd-weights" **' ) + print('** (To skip this check completely, add "--ignore_missing_core_models" to your CLI args. Not recommended.)') input("Press any key to continue...") sys.exit(0) From 8607d124c5935ffb82253152368f7deafaa15ab5 Mon Sep 17 00:00:00 2001 From: Damian Stewart Date: Wed, 2 Aug 2023 02:31:37 +0200 Subject: [PATCH 067/287] improve message about the consequences of the --ignore_missing_core_models flag --- invokeai/backend/install/check_root.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/invokeai/backend/install/check_root.py b/invokeai/backend/install/check_root.py index cde53f7100..a9887a5025 100644 --- a/invokeai/backend/install/check_root.py +++ b/invokeai/backend/install/check_root.py @@ -33,6 +33,8 @@ def check_invokeai_root(config: InvokeAIAppConfig): print( '** From the command line, activate the virtual environment and run "invokeai-configure --yes --skip-sd-weights" **' ) - print('** (To skip this check completely, add "--ignore_missing_core_models" to your CLI args. Not recommended.)') + print('** (To skip this check completely, add "--ignore_missing_core_models" to your CLI args. Not installing ' + 'these core models will prevent the loading of some or all .safetensors and .ckpt files. Howeer, you can ' + 'always come back and install these core models in the future.)') input("Press any key to continue...") sys.exit(0) From 6d7223238fa44a39ab738223a924697b9cffbc4c Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Thu, 3 Aug 2023 09:57:00 +1000 Subject: [PATCH 068/287] fix: fix typo in message --- invokeai/backend/install/check_root.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/backend/install/check_root.py b/invokeai/backend/install/check_root.py index a9887a5025..8990903a33 100644 --- a/invokeai/backend/install/check_root.py +++ b/invokeai/backend/install/check_root.py @@ -34,7 +34,7 @@ def check_invokeai_root(config: InvokeAIAppConfig): '** From the command line, activate the virtual environment and run "invokeai-configure --yes --skip-sd-weights" **' ) print('** (To skip this check completely, add "--ignore_missing_core_models" to your CLI args. Not installing ' - 'these core models will prevent the loading of some or all .safetensors and .ckpt files. Howeer, you can ' + 'these core models will prevent the loading of some or all .safetensors and .ckpt files. However, you can ' 'always come back and install these core models in the future.)') input("Press any key to continue...") sys.exit(0) From eb6c317f04e93ee4dba34e0392eb38a28376d6ad Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Thu, 3 Aug 2023 09:59:51 +1000 Subject: [PATCH 069/287] chore: black --- invokeai/backend/install/check_root.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/invokeai/backend/install/check_root.py b/invokeai/backend/install/check_root.py index 8990903a33..2104c3a4c7 100644 --- a/invokeai/backend/install/check_root.py +++ b/invokeai/backend/install/check_root.py @@ -33,8 +33,10 @@ def check_invokeai_root(config: InvokeAIAppConfig): print( '** From the command line, activate the virtual environment and run "invokeai-configure --yes --skip-sd-weights" **' ) - print('** (To skip this check completely, add "--ignore_missing_core_models" to your CLI args. Not installing ' - 'these core models will prevent the loading of some or all .safetensors and .ckpt files. However, you can ' - 'always come back and install these core models in the future.)') + print( + '** (To skip this check completely, add "--ignore_missing_core_models" to your CLI args. Not installing ' + "these core models will prevent the loading of some or all .safetensors and .ckpt files. However, you can " + "always come back and install these core models in the future.)" + ) input("Press any key to continue...") sys.exit(0) From d162b787679c419870e1b8f1d9cc86ec7df2ad84 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Thu, 3 Aug 2023 22:41:05 -0400 Subject: [PATCH 070/287] fix broken civitai example link --- docs/installation/050_INSTALLING_MODELS.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/installation/050_INSTALLING_MODELS.md b/docs/installation/050_INSTALLING_MODELS.md index ce2004e841..d1c0cfacca 100644 --- a/docs/installation/050_INSTALLING_MODELS.md +++ b/docs/installation/050_INSTALLING_MODELS.md @@ -124,7 +124,7 @@ installation. Examples: invokeai-model-install --list controlnet # (install the model at the indicated URL) -invokeai-model-install --add http://civitai.com/2860 +invokeai-model-install --add https://civitai.com/api/download/models/128713 # (delete the named model) invokeai-model-install --delete sd-1/main/analog-diffusion @@ -170,4 +170,4 @@ elsewhere on disk and they will be autoimported. You can also create subfolders and organize them as you wish. The location of the autoimport directories are controlled by settings -in `invokeai.yaml`. See [Configuration](../features/CONFIGURATION.md). \ No newline at end of file +in `invokeai.yaml`. See [Configuration](../features/CONFIGURATION.md). From ecabfc252b3625a1c133272166741bbad017245a Mon Sep 17 00:00:00 2001 From: gogurtenjoyer <36354352+gogurtenjoyer@users.noreply.github.com> Date: Fri, 21 Jul 2023 19:59:22 -0400 Subject: [PATCH 071/287] devices.py - Update MPS FP16 check to account for upcoming MacOS Sonoma float16 doesn't seem to work on MacOS Sonoma due to further changes with Metal. This'll default back to float32 for Sonoma users. --- invokeai/backend/util/devices.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/invokeai/backend/util/devices.py b/invokeai/backend/util/devices.py index eeabcc35db..2acd5e4834 100644 --- a/invokeai/backend/util/devices.py +++ b/invokeai/backend/util/devices.py @@ -1,6 +1,8 @@ from __future__ import annotations from contextlib import nullcontext +from packaging import version +import platform import torch from torch import autocast @@ -30,7 +32,7 @@ def choose_precision(device: torch.device) -> str: device_name = torch.cuda.get_device_name(device) if not ("GeForce GTX 1660" in device_name or "GeForce GTX 1650" in device_name): return "float16" - elif device.type == "mps": + elif device.type == "mps" and version.parse(platform.mac_ver()[0]) < version.parse('14.0.0'): return "float16" return "float32" From b6e369c74581e36dadf478f337ec76558f892cfb Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Sat, 5 Aug 2023 12:21:35 +1000 Subject: [PATCH 072/287] chore: black --- invokeai/backend/util/devices.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/backend/util/devices.py b/invokeai/backend/util/devices.py index 2acd5e4834..1827f295e4 100644 --- a/invokeai/backend/util/devices.py +++ b/invokeai/backend/util/devices.py @@ -32,7 +32,7 @@ def choose_precision(device: torch.device) -> str: device_name = torch.cuda.get_device_name(device) if not ("GeForce GTX 1660" in device_name or "GeForce GTX 1650" in device_name): return "float16" - elif device.type == "mps" and version.parse(platform.mac_ver()[0]) < version.parse('14.0.0'): + elif device.type == "mps" and version.parse(platform.mac_ver()[0]) < version.parse("14.0.0"): return "float16" return "float32" From 2568aafc0b7b9cae77139fa35eb88e8e134610d0 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Fri, 4 Aug 2023 18:10:58 -0400 Subject: [PATCH 073/287] bump version number so that pip updates work --- invokeai/version/invokeai_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/version/invokeai_version.py b/invokeai/version/invokeai_version.py index 2e0d56b8ff..bede8666bc 100644 --- a/invokeai/version/invokeai_version.py +++ b/invokeai/version/invokeai_version.py @@ -1 +1 @@ -__version__ = "3.0.1post3" +__version__ = "3.0.2a1" From c076f1397ef75c515e9e6af78d6fbfae81c6181e Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Fri, 4 Aug 2023 18:12:56 -0400 Subject: [PATCH 074/287] rebuild frontend --- .../frontend/web/dist/assets/App-3594329a.js | 169 ++++++++++++++++++ .../frontend/web/dist/assets/App-44cdaaf3.js | 169 ------------------ .../dist/assets/MantineProvider-b20a2267.js | 1 - ...f38.js => ThemeLocaleProvider-31ab5c15.js} | 2 +- .../web/dist/assets/index-18f2f740.js | 125 ------------- .../web/dist/assets/index-de589048.js | 151 ++++++++++++++++ .../frontend/web/dist/assets/menu-11348abc.js | 1 + invokeai/frontend/web/dist/index.html | 2 +- invokeai/frontend/web/dist/locales/en.json | 3 +- 9 files changed, 325 insertions(+), 298 deletions(-) create mode 100644 invokeai/frontend/web/dist/assets/App-3594329a.js delete mode 100644 invokeai/frontend/web/dist/assets/App-44cdaaf3.js delete mode 100644 invokeai/frontend/web/dist/assets/MantineProvider-b20a2267.js rename invokeai/frontend/web/dist/assets/{ThemeLocaleProvider-a4dc3f38.js => ThemeLocaleProvider-31ab5c15.js} (99%) delete mode 100644 invokeai/frontend/web/dist/assets/index-18f2f740.js create mode 100644 invokeai/frontend/web/dist/assets/index-de589048.js create mode 100644 invokeai/frontend/web/dist/assets/menu-11348abc.js diff --git a/invokeai/frontend/web/dist/assets/App-3594329a.js b/invokeai/frontend/web/dist/assets/App-3594329a.js new file mode 100644 index 0000000000..825a007449 --- /dev/null +++ b/invokeai/frontend/web/dist/assets/App-3594329a.js @@ -0,0 +1,169 @@ +import{t as Sv,r as dR,i as Cv,a as Tc,b as P_,S as j_,c as I_,d as E_,e as kv,f as O_,g as _v,h as fR,j as pR,k as hR,l as mR,m as R_,n as gR,o as vR,p as bR,q as M_,s as yR,u as xR,v as wR,w as SR,x as CR,y as kR,z as _R,A as f,B as i,C as lm,D as $p,E as PR,F as D_,G as A_,H as jR,P as gd,I as K1,J as IR,K as ER,L as OR,M as RR,N as MR,O as DR,Q as AR,R as V2,T as TR,U as Ae,V as je,W as Ct,X as et,Y as vd,Z as mo,_ as Er,$ as Fr,a0 as qn,a1 as hl,a2 as ia,a3 as Ft,a4 as rs,a5 as nc,a6 as za,a7 as cm,a8 as X1,a9 as bd,aa as sr,ab as NR,ac as H,ad as U2,ae as $R,af as Pv,ag as Nc,ah as LR,ai as T_,aj as N_,ak as $c,al as zR,am as be,an as Je,ao as Zt,ap as B,aq as BR,ar as G2,as as FR,at as HR,au as q2,av as te,aw as WR,ax as On,ay as Mn,az as Re,aA as W,aB as Ys,aC as lt,aD as Kn,aE as $_,aF as VR,aG as UR,aH as GR,aI as qR,aJ as ki,aK as Y1,aL as Ds,aM as jo,aN as um,aO as KR,aP as XR,aQ as K2,aR as Q1,aS as wa,aT as YR,aU as L_,aV as z_,aW as X2,aX as QR,aY as JR,aZ as B_,a_ as F_,a$ as J1,b0 as ZR,b1 as e7,b2 as t7,b3 as Al,b4 as n7,b5 as r7,b6 as o7,b7 as s7,b8 as Y2,b9 as di,ba as Z1,bb as Lp,bc as dm,bd as H_,be as W_,bf as Is,bg as V_,bh as a7,bi as Lc,bj as U_,bk as G_,bl as Es,bm as ju,bn as zp,bo as i7,bp as l7,bq as c7,br as u7,bs as Nf,bt as $f,bu as pu,bv as g0,bw as $u,bx as Lu,by as zu,bz as Bu,bA as Q2,bB as Bp,bC as v0,bD as Fp,bE as J2,bF as jv,bG as b0,bH as Iv,bI as y0,bJ as Hp,bK as Z2,bL as vc,bM as ew,bN as bc,bO as tw,bP as Wp,bQ as eb,bR as d7,bS as q_,bT as Ev,bU as Ov,bV as K_,bW as f7,bX as Rv,bY as p7,bZ as Mv,b_ as tb,b$ as nb,c0 as fm,c1 as h7,c2 as pm,c3 as Yl,c4 as X_,c5 as m7,c6 as Pp,c7 as rb,c8 as Y_,c9 as g7,ca as Lf,cb as Q_,cc as J_,cd as nw,ce as Ba,cf as v7,cg as Dv,ch as b7,ci as y7,cj as x7,ck as w7,cl as ob,cm as sb,cn as S7,co as Bn,cp as rw,cq as Z_,cr as C7,cs as k7,ct as _7,cu as P7,cv as j7,cw as I7,cx as E7,cy as O7,cz as R7,cA as e5,cB as M7,cC as D7,cD as A7,cE as T7,cF as N7,cG as $7,cH as L7,cI as z7,cJ as B7,cK as F7,cL as ow,cM as H7,cN as sw,cO as W7,cP as V7,cQ as U7,cR as G7,cS as Yu,cT as oo,cU as yd,cV as xd,cW as q7,cX as Qn,cY as K7,cZ as na,c_ as ab,c$ as wd,d0 as X7,d1 as Y7,d2 as Q7,d3 as aw,d4 as J7,d5 as Vp,d6 as Z7,d7 as t5,d8 as iw,d9 as eM,da as tM,db as ws,dc as nM,dd as rM,de as n5,df as r5,dg as oM,dh as lw,di as sM,dj as aM,dk as o5,dl as iM,dm as lM,dn as cw,dp as cM,dq as uw,dr as uM,ds as dM,dt as fM,du as pM,dv as hm,dw as hM,dx as s5,dy as dw,dz as zf,dA as mM,dB as ib,dC as a5,dD as gM,dE as vM,dF as bM,dG as ls,dH as yM,dI as xM,dJ as wM,dK as SM,dL as CM,dM as kM,dN as _M,dO as PM,dP as jM,dQ as IM,dR as EM,dS as OM,dT as RM,dU as MM,dV as DM,dW as fw,dX as pw,dY as AM,dZ as i5,d_ as l5,d$ as Sd,e0 as c5,e1 as Gi,e2 as u5,e3 as hw,e4 as TM,e5 as NM,e6 as d5,e7 as $M,e8 as LM,e9 as zM,ea as BM,eb as FM,ec as lb,ed as mw,ee as f5,ef as HM,eg as gw,eh as p5,ei as As,ej as WM,ek as h5,el as vw,em as VM,en as UM,eo as GM,ep as qM,eq as KM,er as XM,es as YM,et as QM,eu as JM,ev as ZM,ew as eD,ex as tD,ey as nD,ez as rD,eA as oD,eB as sD,eC as aD,eD as iD,eE as lD,eF as cD,eG as bw,eH as jp,eI as uD,eJ as Up,eK as m5,eL as Qu,eM as dD,eN as fD,eO as ea,eP as g5,eQ as cb,eR as Cd,eS as pD,eT as hD,eU as mD,eV as Oa,eW as v5,eX as gD,eY as vD,eZ as b5,e_ as bD,e$ as yD,f0 as xD,f1 as wD,f2 as SD,f3 as CD,f4 as kD,f5 as _D,f6 as PD,f7 as jD,f8 as yw,f9 as ID,fa as ED,fb as OD,fc as RD,fd as MD,fe as DD,ff as AD,fg as TD,fh as x0,fi as Js,fj as w0,fk as S0,fl as Bf,fm as xw,fn as Av,fo as ND,fp as $D,fq as LD,fr as zD,fs as Gp,ft as y5,fu as x5,fv as BD,fw as FD,fx as w5,fy as S5,fz as C5,fA as k5,fB as _5,fC as P5,fD as j5,fE as I5,fF as rc,fG as oc,fH as E5,fI as O5,fJ as HD,fK as R5,fL as M5,fM as D5,fN as A5,fO as T5,fP as N5,fQ as ub,fR as WD,fS as ww,fT as VD,fU as UD,fV as qp,fW as Sw,fX as Cw,fY as kw,fZ as _w,f_ as GD,f$ as qD,g0 as KD,g1 as XD,g2 as YD,g3 as QD,g4 as JD,g5 as ZD,g6 as e9}from"./index-de589048.js";import{u as t9,c as n9,a as Dn,b as or,I as fo,d as Fa,P as Ju,C as r9,e as ye,f as $5,g as Ha,h as o9,r as Ue,i as s9,j as Pw,k as Vt,l as Cr,m as Zu}from"./menu-11348abc.js";var jw=1/0,a9=17976931348623157e292;function C0(e){if(!e)return e===0?e:0;if(e=Sv(e),e===jw||e===-jw){var t=e<0?-1:1;return t*a9}return e===e?e:0}var i9=function(){return dR.Date.now()};const k0=i9;var l9="Expected a function",c9=Math.max,u9=Math.min;function d9(e,t,n){var r,o,s,a,c,d,p=0,h=!1,m=!1,v=!0;if(typeof e!="function")throw new TypeError(l9);t=Sv(t)||0,Cv(n)&&(h=!!n.leading,m="maxWait"in n,s=m?c9(Sv(n.maxWait)||0,t):s,v="trailing"in n?!!n.trailing:v);function b(O){var R=r,M=o;return r=o=void 0,p=O,a=e.apply(M,R),a}function w(O){return p=O,c=setTimeout(k,t),h?b(O):a}function y(O){var R=O-d,M=O-p,D=t-R;return m?u9(D,s-M):D}function S(O){var R=O-d,M=O-p;return d===void 0||R>=t||R<0||m&&M>=s}function k(){var O=k0();if(S(O))return _(O);c=setTimeout(k,y(O))}function _(O){return c=void 0,v&&r?b(O):(r=o=void 0,a)}function P(){c!==void 0&&clearTimeout(c),p=0,r=d=o=c=void 0}function I(){return c===void 0?a:_(k0())}function E(){var O=k0(),R=S(O);if(r=arguments,o=this,d=O,R){if(c===void 0)return w(d);if(m)return clearTimeout(c),c=setTimeout(k,t),b(d)}return c===void 0&&(c=setTimeout(k,t)),a}return E.cancel=P,E.flush=I,E}var f9=200;function p9(e,t,n,r){var o=-1,s=I_,a=!0,c=e.length,d=[],p=t.length;if(!c)return d;n&&(t=Tc(t,P_(n))),r?(s=E_,a=!1):t.length>=f9&&(s=kv,a=!1,t=new j_(t));e:for(;++o=120&&h.length>=120)?new j_(a&&h):void 0}h=e[0];var m=-1,v=c[0];e:for(;++m{r.has(s)&&n(o,s)})}function D9(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}const L5=({id:e,x:t,y:n,width:r,height:o,style:s,color:a,strokeColor:c,strokeWidth:d,className:p,borderRadius:h,shapeRendering:m,onClick:v})=>{const{background:b,backgroundColor:w}=s||{},y=a||b||w;return i.jsx("rect",{className:lm(["react-flow__minimap-node",p]),x:t,y:n,rx:h,ry:h,width:r,height:o,fill:y,stroke:c,strokeWidth:d,shapeRendering:m,onClick:v?S=>v(S,e):void 0})};L5.displayName="MiniMapNode";var A9=f.memo(L5);const T9=e=>e.nodeOrigin,N9=e=>e.getNodes().filter(t=>!t.hidden&&t.width&&t.height),_0=e=>e instanceof Function?e:()=>e;function $9({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o=2,nodeComponent:s=A9,onClick:a}){const c=$p(N9,K1),d=$p(T9),p=_0(t),h=_0(e),m=_0(n),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return i.jsx(i.Fragment,{children:c.map(b=>{const{x:w,y}=PR(b,d).positionAbsolute;return i.jsx(s,{x:w,y,width:b.width,height:b.height,style:b.style,className:m(b),color:p(b),borderRadius:r,strokeColor:h(b),strokeWidth:o,shapeRendering:v,onClick:a,id:b.id},b.id)})})}var L9=f.memo($9);const z9=200,B9=150,F9=e=>{const t=e.getNodes(),n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:t.length>0?OR(RR(t,e.nodeOrigin),n):n,rfId:e.rfId}},H9="react-flow__minimap-desc";function z5({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:a=2,nodeComponent:c,maskColor:d="rgb(240, 240, 240, 0.6)",maskStrokeColor:p="none",maskStrokeWidth:h=1,position:m="bottom-right",onClick:v,onNodeClick:b,pannable:w=!1,zoomable:y=!1,ariaLabel:S="React Flow mini map",inversePan:k=!1,zoomStep:_=10}){const P=D_(),I=f.useRef(null),{boundingRect:E,viewBB:O,rfId:R}=$p(F9,K1),M=(e==null?void 0:e.width)??z9,D=(e==null?void 0:e.height)??B9,A=E.width/M,L=E.height/D,Q=Math.max(A,L),F=Q*M,V=Q*D,q=5*Q,G=E.x-(F-E.width)/2-q,T=E.y-(V-E.height)/2-q,z=F+q*2,$=V+q*2,Y=`${H9}-${R}`,ae=f.useRef(0);ae.current=Q,f.useEffect(()=>{if(I.current){const X=A_(I.current),K=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le}=P.getState();if(re.sourceEvent.type!=="wheel"||!pe||!le)return;const ge=-re.sourceEvent.deltaY*(re.sourceEvent.deltaMode===1?.05:re.sourceEvent.deltaMode?1:.002)*_,ke=oe[2]*Math.pow(2,ge);le.scaleTo(pe,ke)},U=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le,translateExtent:ge,width:ke,height:xe}=P.getState();if(re.sourceEvent.type!=="mousemove"||!pe||!le)return;const de=ae.current*Math.max(1,oe[2])*(k?-1:1),Te={x:oe[0]-re.sourceEvent.movementX*de,y:oe[1]-re.sourceEvent.movementY*de},Ee=[[0,0],[ke,xe]],$e=IR.translate(Te.x,Te.y).scale(oe[2]),kt=le.constrain()($e,Ee,ge);le.transform(pe,kt)},se=jR().on("zoom",w?U:null).on("zoom.wheel",y?K:null);return X.call(se),()=>{X.on("zoom",null)}}},[w,y,k,_]);const fe=v?X=>{const K=ER(X);v(X,{x:K[0],y:K[1]})}:void 0,ie=b?(X,K)=>{const U=P.getState().nodeInternals.get(K);b(X,U)}:void 0;return i.jsx(gd,{position:m,style:e,className:lm(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:i.jsxs("svg",{width:M,height:D,viewBox:`${G} ${T} ${z} ${$}`,role:"img","aria-labelledby":Y,ref:I,onClick:fe,children:[S&&i.jsx("title",{id:Y,children:S}),i.jsx(L9,{onClick:ie,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:a,nodeComponent:c}),i.jsx("path",{className:"react-flow__minimap-mask",d:`M${G-q},${T-q}h${z+q*2}v${$+q*2}h${-z-q*2}z + M${O.x},${O.y}h${O.width}v${O.height}h${-O.width}z`,fill:d,fillRule:"evenodd",stroke:p,strokeWidth:h,pointerEvents:"none"})]})})}z5.displayName="MiniMap";var W9=f.memo(z5),Ss;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Ss||(Ss={}));function V9({color:e,dimensions:t,lineWidth:n}){return i.jsx("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function U9({color:e,radius:t}){return i.jsx("circle",{cx:t,cy:t,r:t,fill:e})}const G9={[Ss.Dots]:"#91919a",[Ss.Lines]:"#eee",[Ss.Cross]:"#e2e2e2"},q9={[Ss.Dots]:1,[Ss.Lines]:1,[Ss.Cross]:6},K9=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function B5({id:e,variant:t=Ss.Dots,gap:n=20,size:r,lineWidth:o=1,offset:s=2,color:a,style:c,className:d}){const p=f.useRef(null),{transform:h,patternId:m}=$p(K9,K1),v=a||G9[t],b=r||q9[t],w=t===Ss.Dots,y=t===Ss.Cross,S=Array.isArray(n)?n:[n,n],k=[S[0]*h[2]||1,S[1]*h[2]||1],_=b*h[2],P=y?[_,_]:k,I=w?[_/s,_/s]:[P[0]/s,P[1]/s];return i.jsxs("svg",{className:lm(["react-flow__background",d]),style:{...c,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:p,"data-testid":"rf__background",children:[i.jsx("pattern",{id:m+e,x:h[0]%k[0],y:h[1]%k[1],width:k[0],height:k[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${I[0]},-${I[1]})`,children:w?i.jsx(U9,{color:v,radius:_/s}):i.jsx(V9,{dimensions:P,color:v,lineWidth:o})}),i.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${m+e})`})]})}B5.displayName="Background";var X9=f.memo(B5),Fu;(function(e){e.Line="line",e.Handle="handle"})(Fu||(Fu={}));function Y9({width:e,prevWidth:t,height:n,prevHeight:r,invertX:o,invertY:s}){const a=e-t,c=n-r,d=[a>0?1:a<0?-1:0,c>0?1:c<0?-1:0];return a&&o&&(d[0]=d[0]*-1),c&&s&&(d[1]=d[1]*-1),d}const F5={width:0,height:0,x:0,y:0},Q9={...F5,pointerX:0,pointerY:0,aspectRatio:1};function J9({nodeId:e,position:t,variant:n=Fu.Handle,className:r,style:o={},children:s,color:a,minWidth:c=10,minHeight:d=10,maxWidth:p=Number.MAX_VALUE,maxHeight:h=Number.MAX_VALUE,keepAspectRatio:m=!1,shouldResize:v,onResizeStart:b,onResize:w,onResizeEnd:y}){const S=MR(),k=typeof e=="string"?e:S,_=D_(),P=f.useRef(null),I=f.useRef(Q9),E=f.useRef(F5),O=DR(),R=n===Fu.Line?"right":"bottom-right",M=t??R;f.useEffect(()=>{if(!P.current||!k)return;const Q=A_(P.current),F=M.includes("right")||M.includes("left"),V=M.includes("bottom")||M.includes("top"),q=M.includes("left"),G=M.includes("top"),T=AR().on("start",z=>{const $=_.getState().nodeInternals.get(k),{xSnapped:Y,ySnapped:ae}=O(z);E.current={width:($==null?void 0:$.width)??0,height:($==null?void 0:$.height)??0,x:($==null?void 0:$.position.x)??0,y:($==null?void 0:$.position.y)??0},I.current={...E.current,pointerX:Y,pointerY:ae,aspectRatio:E.current.width/E.current.height},b==null||b(z,{...E.current})}).on("drag",z=>{const{nodeInternals:$,triggerNodeChanges:Y}=_.getState(),{xSnapped:ae,ySnapped:fe}=O(z),ie=$.get(k);if(ie){const X=[],{pointerX:K,pointerY:U,width:se,height:re,x:oe,y:pe,aspectRatio:le}=I.current,{x:ge,y:ke,width:xe,height:de}=E.current,Te=Math.floor(F?ae-K:0),Ee=Math.floor(V?fe-U:0);let $e=V2(se+(q?-Te:Te),c,p),kt=V2(re+(G?-Ee:Ee),d,h);if(m){const Me=$e/kt,Pt=F&&V,Tt=F&&!V,we=V&&!F;$e=Me<=le&&Pt||we?kt*le:$e,kt=Me>le&&Pt||Tt?$e/le:kt,$e>=p?($e=p,kt=p/le):$e<=c&&($e=c,kt=c/le),kt>=h?(kt=h,$e=h*le):kt<=d&&(kt=d,$e=d*le)}const ct=$e!==xe,on=kt!==de;if(q||G){const Me=q?oe-($e-se):oe,Pt=G?pe-(kt-re):pe,Tt=Me!==ge&&ct,we=Pt!==ke&&on;if(Tt||we){const ht={id:ie.id,type:"position",position:{x:Tt?Me:ge,y:we?Pt:ke}};X.push(ht),E.current.x=ht.position.x,E.current.y=ht.position.y}}if(ct||on){const Me={id:k,type:"dimensions",updateStyle:!0,resizing:!0,dimensions:{width:$e,height:kt}};X.push(Me),E.current.width=$e,E.current.height=kt}if(X.length===0)return;const vt=Y9({width:E.current.width,prevWidth:xe,height:E.current.height,prevHeight:de,invertX:q,invertY:G}),bt={...E.current,direction:vt};if((v==null?void 0:v(z,bt))===!1)return;w==null||w(z,bt),Y(X)}}).on("end",z=>{const $={id:k,type:"dimensions",resizing:!1};y==null||y(z,{...E.current}),_.getState().triggerNodeChanges([$])});return Q.call(T),()=>{Q.on(".drag",null)}},[k,M,c,d,p,h,m,O,b,w,y]);const D=M.split("-"),A=n===Fu.Line?"borderColor":"backgroundColor",L=a?{...o,[A]:a}:o;return i.jsx("div",{className:lm(["react-flow__resize-control","nodrag",...D,n,r]),ref:P,style:L,children:s})}var Z9=f.memo(J9);function eA(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function H5(e){var t;return eA(e)&&(t=e.ownerDocument)!=null?t:document}function tA(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var nA=tA();const W5=1/60*1e3,rA=typeof performance<"u"?()=>performance.now():()=>Date.now(),V5=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(rA()),W5);function oA(e){let t=[],n=[],r=0,o=!1,s=!1;const a=new WeakSet,c={schedule:(d,p=!1,h=!1)=>{const m=h&&o,v=m?t:n;return p&&a.add(d),v.indexOf(d)===-1&&(v.push(d),m&&o&&(r=t.length)),d},cancel:d=>{const p=n.indexOf(d);p!==-1&&n.splice(p,1),a.delete(d)},process:d=>{if(o){s=!0;return}if(o=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let p=0;p(e[t]=oA(()=>ed=!0),e),{}),aA=kd.reduce((e,t)=>{const n=mm[t];return e[t]=(r,o=!1,s=!1)=>(ed||cA(),n.schedule(r,o,s)),e},{}),iA=kd.reduce((e,t)=>(e[t]=mm[t].cancel,e),{});kd.reduce((e,t)=>(e[t]=()=>mm[t].process(sc),e),{});const lA=e=>mm[e].process(sc),U5=e=>{ed=!1,sc.delta=Tv?W5:Math.max(Math.min(e-sc.timestamp,sA),1),sc.timestamp=e,Nv=!0,kd.forEach(lA),Nv=!1,ed&&(Tv=!1,V5(U5))},cA=()=>{ed=!0,Tv=!0,Nv||V5(U5)},Rw=()=>sc;function db(e){const t=Object.assign({},e);for(let n in t)t[n]===void 0&&delete t[n];return t}function uA(e){const{theme:t}=TR(),n=t9();return f.useMemo(()=>n9(t.direction,{...n,...e}),[e,t.direction,n])}var dA=Object.defineProperty,fA=(e,t,n)=>t in e?dA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vr=(e,t,n)=>(fA(e,typeof t!="symbol"?t+"":t,n),n);function Mw(e){return e.sort((t,n)=>{const r=t.compareDocumentPosition(n);if(r&Node.DOCUMENT_POSITION_FOLLOWING||r&Node.DOCUMENT_POSITION_CONTAINED_BY)return-1;if(r&Node.DOCUMENT_POSITION_PRECEDING||r&Node.DOCUMENT_POSITION_CONTAINS)return 1;if(r&Node.DOCUMENT_POSITION_DISCONNECTED||r&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC)throw Error("Cannot sort the given nodes.");return 0})}var pA=e=>typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE;function Dw(e,t,n){let r=e+1;return n&&r>=t&&(r=0),r}function Aw(e,t,n){let r=e-1;return n&&r<0&&(r=t),r}var $v=typeof window<"u"?f.useLayoutEffect:f.useEffect,Kp=e=>e,hA=class{constructor(){vr(this,"descendants",new Map),vr(this,"register",e=>{if(e!=null)return pA(e)?this.registerNode(e):t=>{this.registerNode(t,e)}}),vr(this,"unregister",e=>{this.descendants.delete(e);const t=Mw(Array.from(this.descendants.keys()));this.assignIndex(t)}),vr(this,"destroy",()=>{this.descendants.clear()}),vr(this,"assignIndex",e=>{this.descendants.forEach(t=>{const n=e.indexOf(t.node);t.index=n,t.node.dataset.index=t.index.toString()})}),vr(this,"count",()=>this.descendants.size),vr(this,"enabledCount",()=>this.enabledValues().length),vr(this,"values",()=>Array.from(this.descendants.values()).sort((t,n)=>t.index-n.index)),vr(this,"enabledValues",()=>this.values().filter(e=>!e.disabled)),vr(this,"item",e=>{if(this.count()!==0)return this.values()[e]}),vr(this,"enabledItem",e=>{if(this.enabledCount()!==0)return this.enabledValues()[e]}),vr(this,"first",()=>this.item(0)),vr(this,"firstEnabled",()=>this.enabledItem(0)),vr(this,"last",()=>this.item(this.descendants.size-1)),vr(this,"lastEnabled",()=>{const e=this.enabledValues().length-1;return this.enabledItem(e)}),vr(this,"indexOf",e=>{var t,n;return e&&(n=(t=this.descendants.get(e))==null?void 0:t.index)!=null?n:-1}),vr(this,"enabledIndexOf",e=>e==null?-1:this.enabledValues().findIndex(t=>t.node.isSameNode(e))),vr(this,"next",(e,t=!0)=>{const n=Dw(e,this.count(),t);return this.item(n)}),vr(this,"nextEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=Dw(r,this.enabledCount(),t);return this.enabledItem(o)}),vr(this,"prev",(e,t=!0)=>{const n=Aw(e,this.count()-1,t);return this.item(n)}),vr(this,"prevEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=Aw(r,this.enabledCount()-1,t);return this.enabledItem(o)}),vr(this,"registerNode",(e,t)=>{if(!e||this.descendants.has(e))return;const n=Array.from(this.descendants.keys()).concat(e),r=Mw(n);t!=null&&t.disabled&&(t.disabled=!!t.disabled);const o={node:e,index:-1,...t};this.descendants.set(e,o),this.assignIndex(r)})}};function mA(e,t){if(e!=null){if(typeof e=="function"){e(t);return}try{e.current=t}catch{throw new Error(`Cannot assign value '${t}' to ref '${e}'`)}}}function cn(...e){return t=>{e.forEach(n=>{mA(n,t)})}}function gA(...e){return f.useMemo(()=>cn(...e),e)}function vA(){const e=f.useRef(new hA);return $v(()=>()=>e.current.destroy()),e.current}var[bA,G5]=Dn({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function yA(e){const t=G5(),[n,r]=f.useState(-1),o=f.useRef(null);$v(()=>()=>{o.current&&t.unregister(o.current)},[]),$v(()=>{if(!o.current)return;const a=Number(o.current.dataset.index);n!=a&&!Number.isNaN(a)&&r(a)});const s=Kp(e?t.register(e):t.register);return{descendants:t,index:n,enabledIndex:t.enabledIndexOf(o.current),register:cn(s,o)}}function fb(){return[Kp(bA),()=>Kp(G5()),()=>vA(),o=>yA(o)]}var[xA,gm]=Dn({name:"AccordionStylesContext",hookName:"useAccordionStyles",providerName:""}),[wA,pb]=Dn({name:"AccordionItemContext",hookName:"useAccordionItemContext",providerName:""}),[SA,Xde,CA,kA]=fb(),Iu=Ae(function(t,n){const{getButtonProps:r}=pb(),o=r(t,n),a={display:"flex",alignItems:"center",width:"100%",outline:0,...gm().button};return i.jsx(je.button,{...o,className:Ct("chakra-accordion__button",t.className),__css:a})});Iu.displayName="AccordionButton";function zc(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:o=(v,b)=>v!==b}=e,s=or(r),a=or(o),[c,d]=f.useState(n),p=t!==void 0,h=p?t:c,m=or(v=>{const w=typeof v=="function"?v(h):v;a(h,w)&&(p||d(w),s(w))},[p,s,h,a]);return[h,m]}function _A(e){const{onChange:t,defaultIndex:n,index:r,allowMultiple:o,allowToggle:s,...a}=e;IA(e),EA(e);const c=CA(),[d,p]=f.useState(-1);f.useEffect(()=>()=>{p(-1)},[]);const[h,m]=zc({value:r,defaultValue(){return o?n??[]:n??-1},onChange:t});return{index:h,setIndex:m,htmlProps:a,getAccordionItemProps:b=>{let w=!1;return b!==null&&(w=Array.isArray(h)?h.includes(b):h===b),{isOpen:w,onChange:S=>{if(b!==null)if(o&&Array.isArray(h)){const k=S?h.concat(b):h.filter(_=>_!==b);m(k)}else S?m(b):s&&m(-1)}}},focusedIndex:d,setFocusedIndex:p,descendants:c}}var[PA,hb]=Dn({name:"AccordionContext",hookName:"useAccordionContext",providerName:"Accordion"});function jA(e){const{isDisabled:t,isFocusable:n,id:r,...o}=e,{getAccordionItemProps:s,setFocusedIndex:a}=hb(),c=f.useRef(null),d=f.useId(),p=r??d,h=`accordion-button-${p}`,m=`accordion-panel-${p}`;OA(e);const{register:v,index:b,descendants:w}=kA({disabled:t&&!n}),{isOpen:y,onChange:S}=s(b===-1?null:b);RA({isOpen:y,isDisabled:t});const k=()=>{S==null||S(!0)},_=()=>{S==null||S(!1)},P=f.useCallback(()=>{S==null||S(!y),a(b)},[b,a,y,S]),I=f.useCallback(M=>{const A={ArrowDown:()=>{const L=w.nextEnabled(b);L==null||L.node.focus()},ArrowUp:()=>{const L=w.prevEnabled(b);L==null||L.node.focus()},Home:()=>{const L=w.firstEnabled();L==null||L.node.focus()},End:()=>{const L=w.lastEnabled();L==null||L.node.focus()}}[M.key];A&&(M.preventDefault(),A(M))},[w,b]),E=f.useCallback(()=>{a(b)},[a,b]),O=f.useCallback(function(D={},A=null){return{...D,type:"button",ref:cn(v,c,A),id:h,disabled:!!t,"aria-expanded":!!y,"aria-controls":m,onClick:et(D.onClick,P),onFocus:et(D.onFocus,E),onKeyDown:et(D.onKeyDown,I)}},[h,t,y,P,E,I,m,v]),R=f.useCallback(function(D={},A=null){return{...D,ref:A,role:"region",id:m,"aria-labelledby":h,hidden:!y}},[h,y,m]);return{isOpen:y,isDisabled:t,isFocusable:n,onOpen:k,onClose:_,getButtonProps:O,getPanelProps:R,htmlProps:o}}function IA(e){const t=e.index||e.defaultIndex,n=t!=null&&!Array.isArray(t)&&e.allowMultiple;vd({condition:!!n,message:`If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: ${typeof t},`})}function EA(e){vd({condition:!!(e.allowMultiple&&e.allowToggle),message:"If 'allowMultiple' is passed, 'allowToggle' will be ignored. Either remove 'allowToggle' or 'allowMultiple' depending on whether you want multiple accordions visible or not"})}function OA(e){vd({condition:!!(e.isFocusable&&!e.isDisabled),message:`Using only 'isFocusable', this prop is reserved for situations where you pass 'isDisabled' but you still want the element to receive focus (A11y). Either remove it or pass 'isDisabled' as well. + `})}function RA(e){vd({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}function Eu(e){const{isOpen:t,isDisabled:n}=pb(),{reduceMotion:r}=hb(),o=Ct("chakra-accordion__icon",e.className),s=gm(),a={opacity:n?.4:1,transform:t?"rotate(-180deg)":void 0,transition:r?void 0:"transform 0.2s",transformOrigin:"center",...s.icon};return i.jsx(fo,{viewBox:"0 0 24 24","aria-hidden":!0,className:o,__css:a,...e,children:i.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})})}Eu.displayName="AccordionIcon";var Ou=Ae(function(t,n){const{children:r,className:o}=t,{htmlProps:s,...a}=jA(t),d={...gm().container,overflowAnchor:"none"},p=f.useMemo(()=>a,[a]);return i.jsx(wA,{value:p,children:i.jsx(je.div,{ref:n,...s,className:Ct("chakra-accordion__item",o),__css:d,children:typeof r=="function"?r({isExpanded:!!a.isOpen,isDisabled:!!a.isDisabled}):r})})});Ou.displayName="AccordionItem";var qi={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]},hu={scale:{enter:{scale:1},exit:{scale:.95}},fade:{enter:{opacity:1},exit:{opacity:0}},pushLeft:{enter:{x:"100%"},exit:{x:"-30%"}},pushRight:{enter:{x:"-100%"},exit:{x:"30%"}},pushUp:{enter:{y:"100%"},exit:{y:"-30%"}},pushDown:{enter:{y:"-100%"},exit:{y:"30%"}},slideLeft:{position:{left:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"-100%",y:0}},slideRight:{position:{right:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"100%",y:0}},slideUp:{position:{top:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"-100%"}},slideDown:{position:{bottom:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"100%"}}};function Lv(e){var t;switch((t=e==null?void 0:e.direction)!=null?t:"right"){case"right":return hu.slideRight;case"left":return hu.slideLeft;case"bottom":return hu.slideDown;case"top":return hu.slideUp;default:return hu.slideRight}}var Xi={enter:{duration:.2,ease:qi.easeOut},exit:{duration:.1,ease:qi.easeIn}},Cs={enter:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.enter}),exit:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.exit})},MA=e=>e!=null&&parseInt(e.toString(),10)>0,Tw={exit:{height:{duration:.2,ease:qi.ease},opacity:{duration:.3,ease:qi.ease}},enter:{height:{duration:.3,ease:qi.ease},opacity:{duration:.4,ease:qi.ease}}},DA={exit:({animateOpacity:e,startingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:MA(t)?1:0},height:t,transitionEnd:r==null?void 0:r.exit,transition:(s=n==null?void 0:n.exit)!=null?s:Cs.exit(Tw.exit,o)}},enter:({animateOpacity:e,endingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:1},height:t,transitionEnd:r==null?void 0:r.enter,transition:(s=n==null?void 0:n.enter)!=null?s:Cs.enter(Tw.enter,o)}}},vm=f.forwardRef((e,t)=>{const{in:n,unmountOnExit:r,animateOpacity:o=!0,startingHeight:s=0,endingHeight:a="auto",style:c,className:d,transition:p,transitionEnd:h,...m}=e,[v,b]=f.useState(!1);f.useEffect(()=>{const _=setTimeout(()=>{b(!0)});return()=>clearTimeout(_)},[]),vd({condition:Number(s)>0&&!!r,message:"startingHeight and unmountOnExit are mutually exclusive. You can't use them together"});const w=parseFloat(s.toString())>0,y={startingHeight:s,endingHeight:a,animateOpacity:o,transition:v?p:{enter:{duration:0}},transitionEnd:{enter:h==null?void 0:h.enter,exit:r?h==null?void 0:h.exit:{...h==null?void 0:h.exit,display:w?"block":"none"}}},S=r?n:!0,k=n||r?"enter":"exit";return i.jsx(mo,{initial:!1,custom:y,children:S&&i.jsx(Er.div,{ref:t,...m,className:Ct("chakra-collapse",d),style:{overflow:"hidden",display:"block",...c},custom:y,variants:DA,initial:r?"exit":!1,animate:k,exit:"exit"})})});vm.displayName="Collapse";var AA={enter:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:1,transition:(r=e==null?void 0:e.enter)!=null?r:Cs.enter(Xi.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:0,transition:(r=e==null?void 0:e.exit)!=null?r:Cs.exit(Xi.exit,n),transitionEnd:t==null?void 0:t.exit}}},q5={initial:"exit",animate:"enter",exit:"exit",variants:AA},TA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,className:s,transition:a,transitionEnd:c,delay:d,...p}=t,h=o||r?"enter":"exit",m=r?o&&r:!0,v={transition:a,transitionEnd:c,delay:d};return i.jsx(mo,{custom:v,children:m&&i.jsx(Er.div,{ref:n,className:Ct("chakra-fade",s),custom:v,...q5,animate:h,...p})})});TA.displayName="Fade";var NA={exit:({reverse:e,initialScale:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,...e?{scale:t,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{scale:t,...r==null?void 0:r.exit}},transition:(s=n==null?void 0:n.exit)!=null?s:Cs.exit(Xi.exit,o)}},enter:({transitionEnd:e,transition:t,delay:n})=>{var r;return{opacity:1,scale:1,transition:(r=t==null?void 0:t.enter)!=null?r:Cs.enter(Xi.enter,n),transitionEnd:e==null?void 0:e.enter}}},K5={initial:"exit",animate:"enter",exit:"exit",variants:NA},$A=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,initialScale:a=.95,className:c,transition:d,transitionEnd:p,delay:h,...m}=t,v=r?o&&r:!0,b=o||r?"enter":"exit",w={initialScale:a,reverse:s,transition:d,transitionEnd:p,delay:h};return i.jsx(mo,{custom:w,children:v&&i.jsx(Er.div,{ref:n,className:Ct("chakra-offset-slide",c),...K5,animate:b,custom:w,...m})})});$A.displayName="ScaleFade";var LA={initial:({offsetX:e,offsetY:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,x:e,y:t,transition:(s=n==null?void 0:n.exit)!=null?s:Cs.exit(Xi.exit,o),transitionEnd:r==null?void 0:r.exit}},enter:({transition:e,transitionEnd:t,delay:n})=>{var r;return{opacity:1,x:0,y:0,transition:(r=e==null?void 0:e.enter)!=null?r:Cs.enter(Xi.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({offsetY:e,offsetX:t,transition:n,transitionEnd:r,reverse:o,delay:s})=>{var a;const c={x:t,y:e};return{opacity:0,transition:(a=n==null?void 0:n.exit)!=null?a:Cs.exit(Xi.exit,s),...o?{...c,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{...c,...r==null?void 0:r.exit}}}}},zv={initial:"initial",animate:"enter",exit:"exit",variants:LA},zA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,className:a,offsetX:c=0,offsetY:d=8,transition:p,transitionEnd:h,delay:m,...v}=t,b=r?o&&r:!0,w=o||r?"enter":"exit",y={offsetX:c,offsetY:d,reverse:s,transition:p,transitionEnd:h,delay:m};return i.jsx(mo,{custom:y,children:b&&i.jsx(Er.div,{ref:n,className:Ct("chakra-offset-slide",a),custom:y,...zv,animate:w,...v})})});zA.displayName="SlideFade";var Nw={exit:{duration:.15,ease:qi.easeInOut},enter:{type:"spring",damping:25,stiffness:180}},BA={exit:({direction:e,transition:t,transitionEnd:n,delay:r})=>{var o;const{exit:s}=Lv({direction:e});return{...s,transition:(o=t==null?void 0:t.exit)!=null?o:Cs.exit(Nw.exit,r),transitionEnd:n==null?void 0:n.exit}},enter:({direction:e,transitionEnd:t,transition:n,delay:r})=>{var o;const{enter:s}=Lv({direction:e});return{...s,transition:(o=n==null?void 0:n.enter)!=null?o:Cs.enter(Nw.enter,r),transitionEnd:t==null?void 0:t.enter}}},X5=f.forwardRef(function(t,n){const{direction:r="right",style:o,unmountOnExit:s,in:a,className:c,transition:d,transitionEnd:p,delay:h,motionProps:m,...v}=t,b=Lv({direction:r}),w=Object.assign({position:"fixed"},b.position,o),y=s?a&&s:!0,S=a||s?"enter":"exit",k={transitionEnd:p,transition:d,direction:r,delay:h};return i.jsx(mo,{custom:k,children:y&&i.jsx(Er.div,{...v,ref:n,initial:"exit",className:Ct("chakra-slide",c),animate:S,exit:"exit",custom:k,variants:BA,style:w,...m})})});X5.displayName="Slide";var Ru=Ae(function(t,n){const{className:r,motionProps:o,...s}=t,{reduceMotion:a}=hb(),{getPanelProps:c,isOpen:d}=pb(),p=c(s,n),h=Ct("chakra-accordion__panel",r),m=gm();a||delete p.hidden;const v=i.jsx(je.div,{...p,__css:m.panel,className:h});return a?v:i.jsx(vm,{in:d,...o,children:v})});Ru.displayName="AccordionPanel";var Y5=Ae(function({children:t,reduceMotion:n,...r},o){const s=Fr("Accordion",r),a=qn(r),{htmlProps:c,descendants:d,...p}=_A(a),h=f.useMemo(()=>({...p,reduceMotion:!!n}),[p,n]);return i.jsx(SA,{value:d,children:i.jsx(PA,{value:h,children:i.jsx(xA,{value:s,children:i.jsx(je.div,{ref:o,...c,className:Ct("chakra-accordion",r.className),__css:s.root,children:t})})})})});Y5.displayName="Accordion";function _d(e){return f.Children.toArray(e).filter(t=>f.isValidElement(t))}var[FA,HA]=Dn({strict:!1,name:"ButtonGroupContext"}),WA={horizontal:{"> *:first-of-type:not(:last-of-type)":{borderEndRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderStartRadius:0}},vertical:{"> *:first-of-type:not(:last-of-type)":{borderBottomRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderTopRadius:0}}},VA={horizontal:e=>({"& > *:not(style) ~ *:not(style)":{marginStart:e}}),vertical:e=>({"& > *:not(style) ~ *:not(style)":{marginTop:e}})},rr=Ae(function(t,n){const{size:r,colorScheme:o,variant:s,className:a,spacing:c="0.5rem",isAttached:d,isDisabled:p,orientation:h="horizontal",...m}=t,v=Ct("chakra-button__group",a),b=f.useMemo(()=>({size:r,colorScheme:o,variant:s,isDisabled:p}),[r,o,s,p]);let w={display:"inline-flex",...d?WA[h]:VA[h](c)};const y=h==="vertical";return i.jsx(FA,{value:b,children:i.jsx(je.div,{ref:n,role:"group",__css:w,className:v,"data-attached":d?"":void 0,"data-orientation":h,flexDir:y?"column":void 0,...m})})});rr.displayName="ButtonGroup";function UA(e){const[t,n]=f.useState(!e);return{ref:f.useCallback(s=>{s&&n(s.tagName==="BUTTON")},[]),type:t?"button":void 0}}function Bv(e){const{children:t,className:n,...r}=e,o=f.isValidElement(t)?f.cloneElement(t,{"aria-hidden":!0,focusable:!1}):t,s=Ct("chakra-button__icon",n);return i.jsx(je.span,{display:"inline-flex",alignSelf:"center",flexShrink:0,...r,className:s,children:o})}Bv.displayName="ButtonIcon";function Xp(e){const{label:t,placement:n,spacing:r="0.5rem",children:o=i.jsx(hl,{color:"currentColor",width:"1em",height:"1em"}),className:s,__css:a,...c}=e,d=Ct("chakra-button__spinner",s),p=n==="start"?"marginEnd":"marginStart",h=f.useMemo(()=>({display:"flex",alignItems:"center",position:t?"relative":"absolute",[p]:t?r:0,fontSize:"1em",lineHeight:"normal",...a}),[a,t,p,r]);return i.jsx(je.div,{className:d,...c,__css:h,children:o})}Xp.displayName="ButtonSpinner";var yc=Ae((e,t)=>{const n=HA(),r=ia("Button",{...n,...e}),{isDisabled:o=n==null?void 0:n.isDisabled,isLoading:s,isActive:a,children:c,leftIcon:d,rightIcon:p,loadingText:h,iconSpacing:m="0.5rem",type:v,spinner:b,spinnerPlacement:w="start",className:y,as:S,...k}=qn(e),_=f.useMemo(()=>{const O={...r==null?void 0:r._focus,zIndex:1};return{display:"inline-flex",appearance:"none",alignItems:"center",justifyContent:"center",userSelect:"none",position:"relative",whiteSpace:"nowrap",verticalAlign:"middle",outline:"none",...r,...!!n&&{_focus:O}}},[r,n]),{ref:P,type:I}=UA(S),E={rightIcon:p,leftIcon:d,iconSpacing:m,children:c};return i.jsxs(je.button,{ref:gA(t,P),as:S,type:v??I,"data-active":Ft(a),"data-loading":Ft(s),__css:_,className:Ct("chakra-button",y),...k,disabled:o||s,children:[s&&w==="start"&&i.jsx(Xp,{className:"chakra-button__spinner--start",label:h,placement:"start",spacing:m,children:b}),s?h||i.jsx(je.span,{opacity:0,children:i.jsx($w,{...E})}):i.jsx($w,{...E}),s&&w==="end"&&i.jsx(Xp,{className:"chakra-button__spinner--end",label:h,placement:"end",spacing:m,children:b})]})});yc.displayName="Button";function $w(e){const{leftIcon:t,rightIcon:n,children:r,iconSpacing:o}=e;return i.jsxs(i.Fragment,{children:[t&&i.jsx(Bv,{marginEnd:o,children:t}),r,n&&i.jsx(Bv,{marginStart:o,children:n})]})}var ka=Ae((e,t)=>{const{icon:n,children:r,isRound:o,"aria-label":s,...a}=e,c=n||r,d=f.isValidElement(c)?f.cloneElement(c,{"aria-hidden":!0,focusable:!1}):null;return i.jsx(yc,{padding:"0",borderRadius:o?"full":void 0,ref:t,"aria-label":s,...a,children:d})});ka.displayName="IconButton";var[Yde,GA]=Dn({name:"CheckboxGroupContext",strict:!1});function qA(e){const[t,n]=f.useState(e),[r,o]=f.useState(!1);return e!==t&&(o(!0),n(e)),r}function KA(e){return i.jsx(je.svg,{width:"1.2em",viewBox:"0 0 12 10",style:{fill:"none",strokeWidth:2,stroke:"currentColor",strokeDasharray:16},...e,children:i.jsx("polyline",{points:"1.5 6 4.5 9 10.5 1"})})}function XA(e){return i.jsx(je.svg,{width:"1.2em",viewBox:"0 0 24 24",style:{stroke:"currentColor",strokeWidth:4},...e,children:i.jsx("line",{x1:"21",x2:"3",y1:"12",y2:"12"})})}function YA(e){const{isIndeterminate:t,isChecked:n,...r}=e,o=t?XA:KA;return n||t?i.jsx(je.div,{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:i.jsx(o,{...r})}):null}var[QA,Q5]=Dn({name:"FormControlStylesContext",errorMessage:`useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[JA,Pd]=Dn({strict:!1,name:"FormControlContext"});function ZA(e){const{id:t,isRequired:n,isInvalid:r,isDisabled:o,isReadOnly:s,...a}=e,c=f.useId(),d=t||`field-${c}`,p=`${d}-label`,h=`${d}-feedback`,m=`${d}-helptext`,[v,b]=f.useState(!1),[w,y]=f.useState(!1),[S,k]=f.useState(!1),_=f.useCallback((R={},M=null)=>({id:m,...R,ref:cn(M,D=>{D&&y(!0)})}),[m]),P=f.useCallback((R={},M=null)=>({...R,ref:M,"data-focus":Ft(S),"data-disabled":Ft(o),"data-invalid":Ft(r),"data-readonly":Ft(s),id:R.id!==void 0?R.id:p,htmlFor:R.htmlFor!==void 0?R.htmlFor:d}),[d,o,S,r,s,p]),I=f.useCallback((R={},M=null)=>({id:h,...R,ref:cn(M,D=>{D&&b(!0)}),"aria-live":"polite"}),[h]),E=f.useCallback((R={},M=null)=>({...R,...a,ref:M,role:"group"}),[a]),O=f.useCallback((R={},M=null)=>({...R,ref:M,role:"presentation","aria-hidden":!0,children:R.children||"*"}),[]);return{isRequired:!!n,isInvalid:!!r,isReadOnly:!!s,isDisabled:!!o,isFocused:!!S,onFocus:()=>k(!0),onBlur:()=>k(!1),hasFeedbackText:v,setHasFeedbackText:b,hasHelpText:w,setHasHelpText:y,id:d,labelId:p,feedbackId:h,helpTextId:m,htmlProps:a,getHelpTextProps:_,getErrorMessageProps:I,getRootProps:E,getLabelProps:P,getRequiredIndicatorProps:O}}var go=Ae(function(t,n){const r=Fr("Form",t),o=qn(t),{getRootProps:s,htmlProps:a,...c}=ZA(o),d=Ct("chakra-form-control",t.className);return i.jsx(JA,{value:c,children:i.jsx(QA,{value:r,children:i.jsx(je.div,{...s({},n),className:d,__css:r.container})})})});go.displayName="FormControl";var eT=Ae(function(t,n){const r=Pd(),o=Q5(),s=Ct("chakra-form__helper-text",t.className);return i.jsx(je.div,{...r==null?void 0:r.getHelpTextProps(t,n),__css:o.helperText,className:s})});eT.displayName="FormHelperText";var Bo=Ae(function(t,n){var r;const o=ia("FormLabel",t),s=qn(t),{className:a,children:c,requiredIndicator:d=i.jsx(J5,{}),optionalIndicator:p=null,...h}=s,m=Pd(),v=(r=m==null?void 0:m.getLabelProps(h,n))!=null?r:{ref:n,...h};return i.jsxs(je.label,{...v,className:Ct("chakra-form__label",s.className),__css:{display:"block",textAlign:"start",...o},children:[c,m!=null&&m.isRequired?d:p]})});Bo.displayName="FormLabel";var J5=Ae(function(t,n){const r=Pd(),o=Q5();if(!(r!=null&&r.isRequired))return null;const s=Ct("chakra-form__required-indicator",t.className);return i.jsx(je.span,{...r==null?void 0:r.getRequiredIndicatorProps(t,n),__css:o.requiredIndicator,className:s})});J5.displayName="RequiredIndicator";function mb(e){const{isDisabled:t,isInvalid:n,isReadOnly:r,isRequired:o,...s}=gb(e);return{...s,disabled:t,readOnly:r,required:o,"aria-invalid":rs(n),"aria-required":rs(o),"aria-readonly":rs(r)}}function gb(e){var t,n,r;const o=Pd(),{id:s,disabled:a,readOnly:c,required:d,isRequired:p,isInvalid:h,isReadOnly:m,isDisabled:v,onFocus:b,onBlur:w,...y}=e,S=e["aria-describedby"]?[e["aria-describedby"]]:[];return o!=null&&o.hasFeedbackText&&(o!=null&&o.isInvalid)&&S.push(o.feedbackId),o!=null&&o.hasHelpText&&S.push(o.helpTextId),{...y,"aria-describedby":S.join(" ")||void 0,id:s??(o==null?void 0:o.id),isDisabled:(t=a??v)!=null?t:o==null?void 0:o.isDisabled,isReadOnly:(n=c??m)!=null?n:o==null?void 0:o.isReadOnly,isRequired:(r=d??p)!=null?r:o==null?void 0:o.isRequired,isInvalid:h??(o==null?void 0:o.isInvalid),onFocus:et(o==null?void 0:o.onFocus,b),onBlur:et(o==null?void 0:o.onBlur,w)}}var vb={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},Z5=je("span",{baseStyle:vb});Z5.displayName="VisuallyHidden";var tT=je("input",{baseStyle:vb});tT.displayName="VisuallyHiddenInput";const nT=()=>typeof document<"u";let Lw=!1,jd=null,ol=!1,Fv=!1;const Hv=new Set;function bb(e,t){Hv.forEach(n=>n(e,t))}const rT=typeof window<"u"&&window.navigator!=null?/^Mac/.test(window.navigator.platform):!1;function oT(e){return!(e.metaKey||!rT&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function zw(e){ol=!0,oT(e)&&(jd="keyboard",bb("keyboard",e))}function Nl(e){if(jd="pointer",e.type==="mousedown"||e.type==="pointerdown"){ol=!0;const t=e.composedPath?e.composedPath()[0]:e.target;let n=!1;try{n=t.matches(":focus-visible")}catch{}if(n)return;bb("pointer",e)}}function sT(e){return e.mozInputSource===0&&e.isTrusted?!0:e.detail===0&&!e.pointerType}function aT(e){sT(e)&&(ol=!0,jd="virtual")}function iT(e){e.target===window||e.target===document||(!ol&&!Fv&&(jd="virtual",bb("virtual",e)),ol=!1,Fv=!1)}function lT(){ol=!1,Fv=!0}function Bw(){return jd!=="pointer"}function cT(){if(!nT()||Lw)return;const{focus:e}=HTMLElement.prototype;HTMLElement.prototype.focus=function(...n){ol=!0,e.apply(this,n)},document.addEventListener("keydown",zw,!0),document.addEventListener("keyup",zw,!0),document.addEventListener("click",aT,!0),window.addEventListener("focus",iT,!0),window.addEventListener("blur",lT,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",Nl,!0),document.addEventListener("pointermove",Nl,!0),document.addEventListener("pointerup",Nl,!0)):(document.addEventListener("mousedown",Nl,!0),document.addEventListener("mousemove",Nl,!0),document.addEventListener("mouseup",Nl,!0)),Lw=!0}function e3(e){cT(),e(Bw());const t=()=>e(Bw());return Hv.add(t),()=>{Hv.delete(t)}}function uT(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function t3(e={}){const t=gb(e),{isDisabled:n,isReadOnly:r,isRequired:o,isInvalid:s,id:a,onBlur:c,onFocus:d,"aria-describedby":p}=t,{defaultChecked:h,isChecked:m,isFocusable:v,onChange:b,isIndeterminate:w,name:y,value:S,tabIndex:k=void 0,"aria-label":_,"aria-labelledby":P,"aria-invalid":I,...E}=e,O=uT(E,["isDisabled","isReadOnly","isRequired","isInvalid","id","onBlur","onFocus","aria-describedby"]),R=or(b),M=or(c),D=or(d),[A,L]=f.useState(!1),[Q,F]=f.useState(!1),[V,q]=f.useState(!1),[G,T]=f.useState(!1);f.useEffect(()=>e3(L),[]);const z=f.useRef(null),[$,Y]=f.useState(!0),[ae,fe]=f.useState(!!h),ie=m!==void 0,X=ie?m:ae,K=f.useCallback(de=>{if(r||n){de.preventDefault();return}ie||fe(X?de.target.checked:w?!0:de.target.checked),R==null||R(de)},[r,n,X,ie,w,R]);nc(()=>{z.current&&(z.current.indeterminate=!!w)},[w]),Fa(()=>{n&&F(!1)},[n,F]),nc(()=>{const de=z.current;if(!(de!=null&&de.form))return;const Te=()=>{fe(!!h)};return de.form.addEventListener("reset",Te),()=>{var Ee;return(Ee=de.form)==null?void 0:Ee.removeEventListener("reset",Te)}},[]);const U=n&&!v,se=f.useCallback(de=>{de.key===" "&&T(!0)},[T]),re=f.useCallback(de=>{de.key===" "&&T(!1)},[T]);nc(()=>{if(!z.current)return;z.current.checked!==X&&fe(z.current.checked)},[z.current]);const oe=f.useCallback((de={},Te=null)=>{const Ee=$e=>{Q&&$e.preventDefault(),T(!0)};return{...de,ref:Te,"data-active":Ft(G),"data-hover":Ft(V),"data-checked":Ft(X),"data-focus":Ft(Q),"data-focus-visible":Ft(Q&&A),"data-indeterminate":Ft(w),"data-disabled":Ft(n),"data-invalid":Ft(s),"data-readonly":Ft(r),"aria-hidden":!0,onMouseDown:et(de.onMouseDown,Ee),onMouseUp:et(de.onMouseUp,()=>T(!1)),onMouseEnter:et(de.onMouseEnter,()=>q(!0)),onMouseLeave:et(de.onMouseLeave,()=>q(!1))}},[G,X,n,Q,A,V,w,s,r]),pe=f.useCallback((de={},Te=null)=>({...de,ref:Te,"data-active":Ft(G),"data-hover":Ft(V),"data-checked":Ft(X),"data-focus":Ft(Q),"data-focus-visible":Ft(Q&&A),"data-indeterminate":Ft(w),"data-disabled":Ft(n),"data-invalid":Ft(s),"data-readonly":Ft(r)}),[G,X,n,Q,A,V,w,s,r]),le=f.useCallback((de={},Te=null)=>({...O,...de,ref:cn(Te,Ee=>{Ee&&Y(Ee.tagName==="LABEL")}),onClick:et(de.onClick,()=>{var Ee;$||((Ee=z.current)==null||Ee.click(),requestAnimationFrame(()=>{var $e;($e=z.current)==null||$e.focus({preventScroll:!0})}))}),"data-disabled":Ft(n),"data-checked":Ft(X),"data-invalid":Ft(s)}),[O,n,X,s,$]),ge=f.useCallback((de={},Te=null)=>({...de,ref:cn(z,Te),type:"checkbox",name:y,value:S,id:a,tabIndex:k,onChange:et(de.onChange,K),onBlur:et(de.onBlur,M,()=>F(!1)),onFocus:et(de.onFocus,D,()=>F(!0)),onKeyDown:et(de.onKeyDown,se),onKeyUp:et(de.onKeyUp,re),required:o,checked:X,disabled:U,readOnly:r,"aria-label":_,"aria-labelledby":P,"aria-invalid":I?!!I:s,"aria-describedby":p,"aria-disabled":n,style:vb}),[y,S,a,K,M,D,se,re,o,X,U,r,_,P,I,s,p,n,k]),ke=f.useCallback((de={},Te=null)=>({...de,ref:Te,onMouseDown:et(de.onMouseDown,dT),"data-disabled":Ft(n),"data-checked":Ft(X),"data-invalid":Ft(s)}),[X,n,s]);return{state:{isInvalid:s,isFocused:Q,isChecked:X,isActive:G,isHovered:V,isIndeterminate:w,isDisabled:n,isReadOnly:r,isRequired:o},getRootProps:le,getCheckboxProps:oe,getIndicatorProps:pe,getInputProps:ge,getLabelProps:ke,htmlProps:O}}function dT(e){e.preventDefault(),e.stopPropagation()}var fT={display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",userSelect:"none",flexShrink:0},pT={cursor:"pointer",display:"inline-flex",alignItems:"center",verticalAlign:"top",position:"relative"},hT=za({from:{opacity:0,strokeDashoffset:16,transform:"scale(0.95)"},to:{opacity:1,strokeDashoffset:0,transform:"scale(1)"}}),mT=za({from:{opacity:0},to:{opacity:1}}),gT=za({from:{transform:"scaleX(0.65)"},to:{transform:"scaleX(1)"}}),n3=Ae(function(t,n){const r=GA(),o={...r,...t},s=Fr("Checkbox",o),a=qn(t),{spacing:c="0.5rem",className:d,children:p,iconColor:h,iconSize:m,icon:v=i.jsx(YA,{}),isChecked:b,isDisabled:w=r==null?void 0:r.isDisabled,onChange:y,inputProps:S,...k}=a;let _=b;r!=null&&r.value&&a.value&&(_=r.value.includes(a.value));let P=y;r!=null&&r.onChange&&a.value&&(P=cm(r.onChange,y));const{state:I,getInputProps:E,getCheckboxProps:O,getLabelProps:R,getRootProps:M}=t3({...k,isDisabled:w,isChecked:_,onChange:P}),D=qA(I.isChecked),A=f.useMemo(()=>({animation:D?I.isIndeterminate?`${mT} 20ms linear, ${gT} 200ms linear`:`${hT} 200ms linear`:void 0,fontSize:m,color:h,...s.icon}),[h,m,D,I.isIndeterminate,s.icon]),L=f.cloneElement(v,{__css:A,isIndeterminate:I.isIndeterminate,isChecked:I.isChecked});return i.jsxs(je.label,{__css:{...pT,...s.container},className:Ct("chakra-checkbox",d),...M(),children:[i.jsx("input",{className:"chakra-checkbox__input",...E(S,n)}),i.jsx(je.span,{__css:{...fT,...s.control},className:"chakra-checkbox__control",...O(),children:L}),p&&i.jsx(je.span,{className:"chakra-checkbox__label",...R(),__css:{marginStart:c,...s.label},children:p})]})});n3.displayName="Checkbox";function vT(e){const t=parseFloat(e);return typeof t!="number"||Number.isNaN(t)?0:t}function yb(e,t){let n=vT(e);const r=10**(t??10);return n=Math.round(n*r)/r,t?n.toFixed(t):n.toString()}function Wv(e){if(!Number.isFinite(e))return 0;let t=1,n=0;for(;Math.round(e*t)/t!==e;)t*=10,n+=1;return n}function Yp(e,t,n){return(e-t)*100/(n-t)}function r3(e,t,n){return(n-t)*e+t}function Vv(e,t,n){const r=Math.round((e-t)/n)*n+t,o=Wv(n);return yb(r,o)}function ac(e,t,n){return e==null?e:(n{var A;return r==null?"":(A=P0(r,s,n))!=null?A:""}),v=typeof o<"u",b=v?o:h,w=o3(ri(b),s),y=n??w,S=f.useCallback(A=>{A!==b&&(v||m(A.toString()),p==null||p(A.toString(),ri(A)))},[p,v,b]),k=f.useCallback(A=>{let L=A;return d&&(L=ac(L,a,c)),yb(L,y)},[y,d,c,a]),_=f.useCallback((A=s)=>{let L;b===""?L=ri(A):L=ri(b)+A,L=k(L),S(L)},[k,s,S,b]),P=f.useCallback((A=s)=>{let L;b===""?L=ri(-A):L=ri(b)-A,L=k(L),S(L)},[k,s,S,b]),I=f.useCallback(()=>{var A;let L;r==null?L="":L=(A=P0(r,s,n))!=null?A:a,S(L)},[r,n,s,S,a]),E=f.useCallback(A=>{var L;const Q=(L=P0(A,s,y))!=null?L:a;S(Q)},[y,s,S,a]),O=ri(b);return{isOutOfRange:O>c||O" `}),[xT,a3]=Dn({name:"EditableContext",errorMessage:"useEditableContext: context is undefined. Seems you forgot to wrap the editable components in ``"}),i3={fontSize:"inherit",fontWeight:"inherit",textAlign:"inherit",bg:"transparent"},l3=Ae(function(t,n){const{getInputProps:r}=a3(),o=s3(),s=r(t,n),a=Ct("chakra-editable__input",t.className);return i.jsx(je.input,{...s,__css:{outline:0,...i3,...o.input},className:a})});l3.displayName="EditableInput";var c3=Ae(function(t,n){const{getPreviewProps:r}=a3(),o=s3(),s=r(t,n),a=Ct("chakra-editable__preview",t.className);return i.jsx(je.span,{...s,__css:{cursor:"text",display:"inline-block",...i3,...o.preview},className:a})});c3.displayName="EditablePreview";function Yi(e,t,n,r){const o=or(n);return f.useEffect(()=>{const s=typeof e=="function"?e():e??document;if(!(!n||!s))return s.addEventListener(t,o,r),()=>{s.removeEventListener(t,o,r)}},[t,e,r,o,n]),()=>{const s=typeof e=="function"?e():e??document;s==null||s.removeEventListener(t,o,r)}}function wT(e){return"current"in e}var u3=()=>typeof window<"u";function ST(){var e;const t=navigator.userAgentData;return(e=t==null?void 0:t.platform)!=null?e:navigator.platform}var CT=e=>u3()&&e.test(navigator.vendor),kT=e=>u3()&&e.test(ST()),_T=()=>kT(/mac|iphone|ipad|ipod/i),PT=()=>_T()&&CT(/apple/i);function d3(e){const{ref:t,elements:n,enabled:r}=e,o=()=>{var s,a;return(a=(s=t.current)==null?void 0:s.ownerDocument)!=null?a:document};Yi(o,"pointerdown",s=>{if(!PT()||!r)return;const a=s.target,d=(n??[t]).some(p=>{const h=wT(p)?p.current:p;return(h==null?void 0:h.contains(a))||h===a});o().activeElement!==a&&d&&(s.preventDefault(),a.focus())})}function Fw(e,t){return e?e===t||e.contains(t):!1}function jT(e={}){const{onChange:t,onCancel:n,onSubmit:r,onBlur:o,value:s,isDisabled:a,defaultValue:c,startWithEditView:d,isPreviewFocusable:p=!0,submitOnBlur:h=!0,selectAllOnFocus:m=!0,placeholder:v,onEdit:b,finalFocusRef:w,...y}=e,S=or(b),k=!!(d&&!a),[_,P]=f.useState(k),[I,E]=zc({defaultValue:c||"",value:s,onChange:t}),[O,R]=f.useState(I),M=f.useRef(null),D=f.useRef(null),A=f.useRef(null),L=f.useRef(null),Q=f.useRef(null);d3({ref:M,enabled:_,elements:[L,Q]});const F=!_&&!a;nc(()=>{var oe,pe;_&&((oe=M.current)==null||oe.focus(),m&&((pe=M.current)==null||pe.select()))},[]),Fa(()=>{var oe,pe,le,ge;if(!_){w?(oe=w.current)==null||oe.focus():(pe=A.current)==null||pe.focus();return}(le=M.current)==null||le.focus(),m&&((ge=M.current)==null||ge.select()),S==null||S()},[_,S,m]);const V=f.useCallback(()=>{F&&P(!0)},[F]),q=f.useCallback(()=>{R(I)},[I]),G=f.useCallback(()=>{P(!1),E(O),n==null||n(O),o==null||o(O)},[n,o,E,O]),T=f.useCallback(()=>{P(!1),R(I),r==null||r(I),o==null||o(O)},[I,r,o,O]);f.useEffect(()=>{if(_)return;const oe=M.current;(oe==null?void 0:oe.ownerDocument.activeElement)===oe&&(oe==null||oe.blur())},[_]);const z=f.useCallback(oe=>{E(oe.currentTarget.value)},[E]),$=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G,Enter:ke=>{!ke.shiftKey&&!ke.metaKey&&T()}}[pe];ge&&(oe.preventDefault(),ge(oe))},[G,T]),Y=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G}[pe];ge&&(oe.preventDefault(),ge(oe))},[G]),ae=I.length===0,fe=f.useCallback(oe=>{var pe;if(!_)return;const le=oe.currentTarget.ownerDocument,ge=(pe=oe.relatedTarget)!=null?pe:le.activeElement,ke=Fw(L.current,ge),xe=Fw(Q.current,ge);!ke&&!xe&&(h?T():G())},[h,T,G,_]),ie=f.useCallback((oe={},pe=null)=>{const le=F&&p?0:void 0;return{...oe,ref:cn(pe,D),children:ae?v:I,hidden:_,"aria-disabled":rs(a),tabIndex:le,onFocus:et(oe.onFocus,V,q)}},[a,_,F,p,ae,V,q,v,I]),X=f.useCallback((oe={},pe=null)=>({...oe,hidden:!_,placeholder:v,ref:cn(pe,M),disabled:a,"aria-disabled":rs(a),value:I,onBlur:et(oe.onBlur,fe),onChange:et(oe.onChange,z),onKeyDown:et(oe.onKeyDown,$),onFocus:et(oe.onFocus,q)}),[a,_,fe,z,$,q,v,I]),K=f.useCallback((oe={},pe=null)=>({...oe,hidden:!_,placeholder:v,ref:cn(pe,M),disabled:a,"aria-disabled":rs(a),value:I,onBlur:et(oe.onBlur,fe),onChange:et(oe.onChange,z),onKeyDown:et(oe.onKeyDown,Y),onFocus:et(oe.onFocus,q)}),[a,_,fe,z,Y,q,v,I]),U=f.useCallback((oe={},pe=null)=>({"aria-label":"Edit",...oe,type:"button",onClick:et(oe.onClick,V),ref:cn(pe,A),disabled:a}),[V,a]),se=f.useCallback((oe={},pe=null)=>({...oe,"aria-label":"Submit",ref:cn(Q,pe),type:"button",onClick:et(oe.onClick,T),disabled:a}),[T,a]),re=f.useCallback((oe={},pe=null)=>({"aria-label":"Cancel",id:"cancel",...oe,ref:cn(L,pe),type:"button",onClick:et(oe.onClick,G),disabled:a}),[G,a]);return{isEditing:_,isDisabled:a,isValueEmpty:ae,value:I,onEdit:V,onCancel:G,onSubmit:T,getPreviewProps:ie,getInputProps:X,getTextareaProps:K,getEditButtonProps:U,getSubmitButtonProps:se,getCancelButtonProps:re,htmlProps:y}}var f3=Ae(function(t,n){const r=Fr("Editable",t),o=qn(t),{htmlProps:s,...a}=jT(o),{isEditing:c,onSubmit:d,onCancel:p,onEdit:h}=a,m=Ct("chakra-editable",t.className),v=X1(t.children,{isEditing:c,onSubmit:d,onCancel:p,onEdit:h});return i.jsx(xT,{value:a,children:i.jsx(yT,{value:r,children:i.jsx(je.div,{ref:n,...s,className:m,children:v})})})});f3.displayName="Editable";var p3={exports:{}},IT="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",ET=IT,OT=ET;function h3(){}function m3(){}m3.resetWarningCache=h3;var RT=function(){function e(r,o,s,a,c,d){if(d!==OT){var p=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw p.name="Invariant Violation",p}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:m3,resetWarningCache:h3};return n.PropTypes=n,n};p3.exports=RT();var MT=p3.exports;const zn=bd(MT);var Uv="data-focus-lock",g3="data-focus-lock-disabled",DT="data-no-focus-lock",AT="data-autofocus-inside",TT="data-no-autofocus";function NT(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function $T(e,t){var n=f.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}function v3(e,t){return $T(t||null,function(n){return e.forEach(function(r){return NT(r,n)})})}var j0={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"},Qs=function(){return Qs=Object.assign||function(t){for(var n,r=1,o=arguments.length;r0&&s[s.length-1])&&(p[0]===6||p[0]===2)){n=0;continue}if(p[0]===3&&(!s||p[1]>s[0]&&p[1]0)&&!(o=r.next()).done;)s.push(o.value)}catch(c){a={error:c}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return s}function Gv(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,s;r=0}).sort(QT)},JT=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],Cb=JT.join(","),ZT="".concat(Cb,", [data-focus-guard]"),T3=function(e,t){return la((e.shadowRoot||e).children).reduce(function(n,r){return n.concat(r.matches(t?ZT:Cb)?[r]:[],T3(r))},[])},eN=function(e,t){var n;return e instanceof HTMLIFrameElement&&(!((n=e.contentDocument)===null||n===void 0)&&n.body)?bm([e.contentDocument.body],t):[e]},bm=function(e,t){return e.reduce(function(n,r){var o,s=T3(r,t),a=(o=[]).concat.apply(o,s.map(function(c){return eN(c,t)}));return n.concat(a,r.parentNode?la(r.parentNode.querySelectorAll(Cb)).filter(function(c){return c===r}):[])},[])},tN=function(e){var t=e.querySelectorAll("[".concat(AT,"]"));return la(t).map(function(n){return bm([n])}).reduce(function(n,r){return n.concat(r)},[])},kb=function(e,t){return la(e).filter(function(n){return E3(t,n)}).filter(function(n){return KT(n)})},Ww=function(e,t){return t===void 0&&(t=new Map),la(e).filter(function(n){return O3(t,n)})},Kv=function(e,t,n){return A3(kb(bm(e,n),t),!0,n)},Vw=function(e,t){return A3(kb(bm(e),t),!1)},nN=function(e,t){return kb(tN(e),t)},ic=function(e,t){return e.shadowRoot?ic(e.shadowRoot,t):Object.getPrototypeOf(e).contains!==void 0&&Object.getPrototypeOf(e).contains.call(e,t)?!0:la(e.children).some(function(n){var r;if(n instanceof HTMLIFrameElement){var o=(r=n.contentDocument)===null||r===void 0?void 0:r.body;return o?ic(o,t):!1}return ic(n,t)})},rN=function(e){for(var t=new Set,n=e.length,r=0;r0&&t.add(o),(s&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(r)}return e.filter(function(a,c){return!t.has(c)})},N3=function(e){return e.parentNode?N3(e.parentNode):e},_b=function(e){var t=Qp(e);return t.filter(Boolean).reduce(function(n,r){var o=r.getAttribute(Uv);return n.push.apply(n,o?rN(la(N3(r).querySelectorAll("[".concat(Uv,'="').concat(o,'"]:not([').concat(g3,'="disabled"])')))):[r]),n},[])},oN=function(e){try{return e()}catch{return}},td=function(e){if(e===void 0&&(e=document),!(!e||!e.activeElement)){var t=e.activeElement;return t.shadowRoot?td(t.shadowRoot):t instanceof HTMLIFrameElement&&oN(function(){return t.contentWindow.document})?td(t.contentWindow.document):t}},sN=function(e,t){return e===t},aN=function(e,t){return!!la(e.querySelectorAll("iframe")).some(function(n){return sN(n,t)})},$3=function(e,t){return t===void 0&&(t=td(P3(e).ownerDocument)),!t||t.dataset&&t.dataset.focusGuard?!1:_b(e).some(function(n){return ic(n,t)||aN(n,t)})},iN=function(e){e===void 0&&(e=document);var t=td(e);return t?la(e.querySelectorAll("[".concat(DT,"]"))).some(function(n){return ic(n,t)}):!1},lN=function(e,t){return t.filter(D3).filter(function(n){return n.name===e.name}).filter(function(n){return n.checked})[0]||e},Pb=function(e,t){return D3(e)&&e.name?lN(e,t):e},cN=function(e){var t=new Set;return e.forEach(function(n){return t.add(Pb(n,e))}),e.filter(function(n){return t.has(n)})},Uw=function(e){return e[0]&&e.length>1?Pb(e[0],e):e[0]},Gw=function(e,t){return e.length>1?e.indexOf(Pb(e[t],e)):t},L3="NEW_FOCUS",uN=function(e,t,n,r){var o=e.length,s=e[0],a=e[o-1],c=Sb(n);if(!(n&&e.indexOf(n)>=0)){var d=n!==void 0?t.indexOf(n):-1,p=r?t.indexOf(r):d,h=r?e.indexOf(r):-1,m=d-p,v=t.indexOf(s),b=t.indexOf(a),w=cN(t),y=n!==void 0?w.indexOf(n):-1,S=y-(r?w.indexOf(r):d),k=Gw(e,0),_=Gw(e,o-1);if(d===-1||h===-1)return L3;if(!m&&h>=0)return h;if(d<=v&&c&&Math.abs(m)>1)return _;if(d>=b&&c&&Math.abs(m)>1)return k;if(m&&Math.abs(S)>1)return h;if(d<=v)return _;if(d>b)return k;if(m)return Math.abs(m)>1?h:(o+h+m)%o}},dN=function(e){return function(t){var n,r=(n=R3(t))===null||n===void 0?void 0:n.autofocus;return t.autofocus||r!==void 0&&r!=="false"||e.indexOf(t)>=0}},fN=function(e,t,n){var r=e.map(function(s){var a=s.node;return a}),o=Ww(r.filter(dN(n)));return o&&o.length?Uw(o):Uw(Ww(t))},Xv=function(e,t){return t===void 0&&(t=[]),t.push(e),e.parentNode&&Xv(e.parentNode.host||e.parentNode,t),t},I0=function(e,t){for(var n=Xv(e),r=Xv(t),o=0;o=0)return s}return!1},z3=function(e,t,n){var r=Qp(e),o=Qp(t),s=r[0],a=!1;return o.filter(Boolean).forEach(function(c){a=I0(a||c,c)||a,n.filter(Boolean).forEach(function(d){var p=I0(s,d);p&&(!a||ic(p,a)?a=p:a=I0(p,a))})}),a},pN=function(e,t){return e.reduce(function(n,r){return n.concat(nN(r,t))},[])},hN=function(e,t){var n=new Map;return t.forEach(function(r){return n.set(r.node,r)}),e.map(function(r){return n.get(r)}).filter(YT)},mN=function(e,t){var n=td(Qp(e).length>0?document:P3(e).ownerDocument),r=_b(e).filter(Jp),o=z3(n||e,e,r),s=new Map,a=Vw(r,s),c=Kv(r,s).filter(function(b){var w=b.node;return Jp(w)});if(!(!c[0]&&(c=a,!c[0]))){var d=Vw([o],s).map(function(b){var w=b.node;return w}),p=hN(d,c),h=p.map(function(b){var w=b.node;return w}),m=uN(h,d,n,t);if(m===L3){var v=fN(a,h,pN(r,s));if(v)return{node:v};console.warn("focus-lock: cannot find any node to move focus into");return}return m===void 0?m:p[m]}},gN=function(e){var t=_b(e).filter(Jp),n=z3(e,e,t),r=new Map,o=Kv([n],r,!0),s=Kv(t,r).filter(function(a){var c=a.node;return Jp(c)}).map(function(a){var c=a.node;return c});return o.map(function(a){var c=a.node,d=a.index;return{node:c,index:d,lockItem:s.indexOf(c)>=0,guard:Sb(c)}})},vN=function(e,t){"focus"in e&&e.focus(t),"contentWindow"in e&&e.contentWindow&&e.contentWindow.focus()},E0=0,O0=!1,B3=function(e,t,n){n===void 0&&(n={});var r=mN(e,t);if(!O0&&r){if(E0>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),O0=!0,setTimeout(function(){O0=!1},1);return}E0++,vN(r.node,n.focusOptions),E0--}};function jb(e){setTimeout(e,1)}var bN=function(){return document&&document.activeElement===document.body},yN=function(){return bN()||iN()},lc=null,Ql=null,cc=null,nd=!1,xN=function(){return!0},wN=function(t){return(lc.whiteList||xN)(t)},SN=function(t,n){cc={observerNode:t,portaledElement:n}},CN=function(t){return cc&&cc.portaledElement===t};function qw(e,t,n,r){var o=null,s=e;do{var a=r[s];if(a.guard)a.node.dataset.focusAutoGuard&&(o=a);else if(a.lockItem){if(s!==e)return;o=null}else break}while((s+=n)!==t);o&&(o.node.tabIndex=0)}var kN=function(t){return t&&"current"in t?t.current:t},_N=function(t){return t?!!nd:nd==="meanwhile"},PN=function e(t,n,r){return n&&(n.host===t&&(!n.activeElement||r.contains(n.activeElement))||n.parentNode&&e(t,n.parentNode,r))},jN=function(t,n){return n.some(function(r){return PN(t,r,r)})},Zp=function(){var t=!1;if(lc){var n=lc,r=n.observed,o=n.persistentFocus,s=n.autoFocus,a=n.shards,c=n.crossFrame,d=n.focusOptions,p=r||cc&&cc.portaledElement,h=document&&document.activeElement;if(p){var m=[p].concat(a.map(kN).filter(Boolean));if((!h||wN(h))&&(o||_N(c)||!yN()||!Ql&&s)&&(p&&!($3(m)||h&&jN(h,m)||CN(h))&&(document&&!Ql&&h&&!s?(h.blur&&h.blur(),document.body.focus()):(t=B3(m,Ql,{focusOptions:d}),cc={})),nd=!1,Ql=document&&document.activeElement),document){var v=document&&document.activeElement,b=gN(m),w=b.map(function(y){var S=y.node;return S}).indexOf(v);w>-1&&(b.filter(function(y){var S=y.guard,k=y.node;return S&&k.dataset.focusAutoGuard}).forEach(function(y){var S=y.node;return S.removeAttribute("tabIndex")}),qw(w,b.length,1,b),qw(w,-1,-1,b))}}}return t},F3=function(t){Zp()&&t&&(t.stopPropagation(),t.preventDefault())},Ib=function(){return jb(Zp)},IN=function(t){var n=t.target,r=t.currentTarget;r.contains(n)||SN(r,n)},EN=function(){return null},H3=function(){nd="just",jb(function(){nd="meanwhile"})},ON=function(){document.addEventListener("focusin",F3),document.addEventListener("focusout",Ib),window.addEventListener("blur",H3)},RN=function(){document.removeEventListener("focusin",F3),document.removeEventListener("focusout",Ib),window.removeEventListener("blur",H3)};function MN(e){return e.filter(function(t){var n=t.disabled;return!n})}function DN(e){var t=e.slice(-1)[0];t&&!lc&&ON();var n=lc,r=n&&t&&t.id===n.id;lc=t,n&&!r&&(n.onDeactivation(),e.filter(function(o){var s=o.id;return s===n.id}).length||n.returnFocus(!t)),t?(Ql=null,(!r||n.observed!==t.observed)&&t.onActivation(),Zp(),jb(Zp)):(RN(),Ql=null)}C3.assignSyncMedium(IN);k3.assignMedium(Ib);zT.assignMedium(function(e){return e({moveFocusInside:B3,focusInside:$3})});const AN=WT(MN,DN)(EN);var W3=f.forwardRef(function(t,n){return f.createElement(_3,sr({sideCar:AN,ref:n},t))}),V3=_3.propTypes||{};V3.sideCar;D9(V3,["sideCar"]);W3.propTypes={};const Kw=W3;function U3(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function Eb(e){var t;if(!U3(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function TN(e){var t,n;return(n=(t=G3(e))==null?void 0:t.defaultView)!=null?n:window}function G3(e){return U3(e)?e.ownerDocument:document}function NN(e){return G3(e).activeElement}function $N(e){const t=e.ownerDocument.defaultView||window,{overflow:n,overflowX:r,overflowY:o}=t.getComputedStyle(e);return/auto|scroll|overlay|hidden/.test(n+o+r)}function LN(e){return e.localName==="html"?e:e.assignedSlot||e.parentElement||e.ownerDocument.documentElement}function q3(e){return["html","body","#document"].includes(e.localName)?e.ownerDocument.body:Eb(e)&&$N(e)?e:q3(LN(e))}var K3=e=>e.hasAttribute("tabindex"),zN=e=>K3(e)&&e.tabIndex===-1;function BN(e){return!!e.getAttribute("disabled")||!!e.getAttribute("aria-disabled")}function X3(e){return e.parentElement&&X3(e.parentElement)?!0:e.hidden}function FN(e){const t=e.getAttribute("contenteditable");return t!=="false"&&t!=null}function Y3(e){if(!Eb(e)||X3(e)||BN(e))return!1;const{localName:t}=e;if(["input","select","textarea","button"].indexOf(t)>=0)return!0;const r={a:()=>e.hasAttribute("href"),audio:()=>e.hasAttribute("controls"),video:()=>e.hasAttribute("controls")};return t in r?r[t]():FN(e)?!0:K3(e)}function HN(e){return e?Eb(e)&&Y3(e)&&!zN(e):!1}var WN=["input:not(:disabled):not([disabled])","select:not(:disabled):not([disabled])","textarea:not(:disabled):not([disabled])","embed","iframe","object","a[href]","area[href]","button:not(:disabled):not([disabled])","[tabindex]","audio[controls]","video[controls]","*[tabindex]:not([aria-disabled])","*[contenteditable]"],VN=WN.join(),UN=e=>e.offsetWidth>0&&e.offsetHeight>0;function Q3(e){const t=Array.from(e.querySelectorAll(VN));return t.unshift(e),t.filter(n=>Y3(n)&&UN(n))}var Xw,GN=(Xw=Kw.default)!=null?Xw:Kw,J3=e=>{const{initialFocusRef:t,finalFocusRef:n,contentRef:r,restoreFocus:o,children:s,isDisabled:a,autoFocus:c,persistentFocus:d,lockFocusAcrossFrames:p}=e,h=f.useCallback(()=>{t!=null&&t.current?t.current.focus():r!=null&&r.current&&Q3(r.current).length===0&&requestAnimationFrame(()=>{var w;(w=r.current)==null||w.focus()})},[t,r]),m=f.useCallback(()=>{var b;(b=n==null?void 0:n.current)==null||b.focus()},[n]),v=o&&!n;return i.jsx(GN,{crossFrame:p,persistentFocus:d,autoFocus:c,disabled:a,onActivation:h,onDeactivation:m,returnFocus:v,children:s})};J3.displayName="FocusLock";var qN=nA?f.useLayoutEffect:f.useEffect;function eh(e,t=[]){const n=f.useRef(e);return qN(()=>{n.current=e}),f.useCallback((...r)=>{var o;return(o=n.current)==null?void 0:o.call(n,...r)},t)}function KN(e,t,n,r){const o=eh(t);return f.useEffect(()=>{var s;const a=(s=U2(n))!=null?s:document;if(t)return a.addEventListener(e,o,r),()=>{a.removeEventListener(e,o,r)}},[e,n,r,o,t]),()=>{var s;((s=U2(n))!=null?s:document).removeEventListener(e,o,r)}}function XN(e){const{ref:t,handler:n,enabled:r=!0}=e,o=eh(n),a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{R0(m,t)&&(a.isPointerDown=!0)},d=m=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&R0(m,t)&&(a.isPointerDown=!1,o(m))},p=m=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&R0(m,t)&&(a.isPointerDown=!1,o(m))},h=H5(t.current);return h.addEventListener("mousedown",c,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",c,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",c,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",c,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,a,r])}function R0(e,t){var n;const r=e.target;return r&&!H5(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function YN(e,t){const n=f.useId();return f.useMemo(()=>e||[t,n].filter(Boolean).join("-"),[e,t,n])}function QN(e,t){const n=e!==void 0;return[n,n&&typeof e<"u"?e:t]}function ss(e={}){const{onClose:t,onOpen:n,isOpen:r,id:o}=e,s=eh(n),a=eh(t),[c,d]=f.useState(e.defaultIsOpen||!1),[p,h]=QN(r,c),m=YN(o,"disclosure"),v=f.useCallback(()=>{p||d(!1),a==null||a()},[p,a]),b=f.useCallback(()=>{p||d(!0),s==null||s()},[p,s]),w=f.useCallback(()=>{(h?v:b)()},[h,b,v]);return{isOpen:!!h,onOpen:b,onClose:v,onToggle:w,isControlled:p,getButtonProps:(y={})=>({...y,"aria-expanded":h,"aria-controls":m,onClick:$R(y.onClick,w)}),getDisclosureProps:(y={})=>({...y,hidden:!h,id:m})}}var[JN,ZN]=Dn({name:"InputGroupStylesContext",errorMessage:`useInputGroupStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Z3=Ae(function(t,n){const r=Fr("Input",t),{children:o,className:s,...a}=qn(t),c=Ct("chakra-input__group",s),d={},p=_d(o),h=r.field;p.forEach(v=>{var b,w;r&&(h&&v.type.id==="InputLeftElement"&&(d.paddingStart=(b=h.height)!=null?b:h.h),h&&v.type.id==="InputRightElement"&&(d.paddingEnd=(w=h.height)!=null?w:h.h),v.type.id==="InputRightAddon"&&(d.borderEndRadius=0),v.type.id==="InputLeftAddon"&&(d.borderStartRadius=0))});const m=p.map(v=>{var b,w;const y=db({size:((b=v.props)==null?void 0:b.size)||t.size,variant:((w=v.props)==null?void 0:w.variant)||t.variant});return v.type.id!=="Input"?f.cloneElement(v,y):f.cloneElement(v,Object.assign(y,d,v.props))});return i.jsx(je.div,{className:c,ref:n,__css:{width:"100%",display:"flex",position:"relative",isolation:"isolate",...r.group},"data-group":!0,...a,children:i.jsx(JN,{value:r,children:m})})});Z3.displayName="InputGroup";var e$=je("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",top:"0",zIndex:2}}),ym=Ae(function(t,n){var r,o;const{placement:s="left",...a}=t,c=ZN(),d=c.field,h={[s==="left"?"insetStart":"insetEnd"]:"0",width:(r=d==null?void 0:d.height)!=null?r:d==null?void 0:d.h,height:(o=d==null?void 0:d.height)!=null?o:d==null?void 0:d.h,fontSize:d==null?void 0:d.fontSize,...c.element};return i.jsx(e$,{ref:n,__css:h,...a})});ym.id="InputElement";ym.displayName="InputElement";var e6=Ae(function(t,n){const{className:r,...o}=t,s=Ct("chakra-input__left-element",r);return i.jsx(ym,{ref:n,placement:"left",className:s,...o})});e6.id="InputLeftElement";e6.displayName="InputLeftElement";var Ob=Ae(function(t,n){const{className:r,...o}=t,s=Ct("chakra-input__right-element",r);return i.jsx(ym,{ref:n,placement:"right",className:s,...o})});Ob.id="InputRightElement";Ob.displayName="InputRightElement";var Id=Ae(function(t,n){const{htmlSize:r,...o}=t,s=Fr("Input",o),a=qn(o),c=mb(a),d=Ct("chakra-input",t.className);return i.jsx(je.input,{size:r,...c,__css:s.field,ref:n,className:d})});Id.displayName="Input";Id.id="Input";var Rb=Ae(function(t,n){const r=ia("Link",t),{className:o,isExternal:s,...a}=qn(t);return i.jsx(je.a,{target:s?"_blank":void 0,rel:s?"noopener":void 0,ref:n,className:Ct("chakra-link",o),...a,__css:r})});Rb.displayName="Link";var[t$,t6]=Dn({name:"ListStylesContext",errorMessage:`useListStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Mb=Ae(function(t,n){const r=Fr("List",t),{children:o,styleType:s="none",stylePosition:a,spacing:c,...d}=qn(t),p=_d(o),m=c?{["& > *:not(style) ~ *:not(style)"]:{mt:c}}:{};return i.jsx(t$,{value:r,children:i.jsx(je.ul,{ref:n,listStyleType:s,listStylePosition:a,role:"list",__css:{...r.container,...m},...d,children:p})})});Mb.displayName="List";var n$=Ae((e,t)=>{const{as:n,...r}=e;return i.jsx(Mb,{ref:t,as:"ol",styleType:"decimal",marginStart:"1em",...r})});n$.displayName="OrderedList";var Db=Ae(function(t,n){const{as:r,...o}=t;return i.jsx(Mb,{ref:n,as:"ul",styleType:"initial",marginStart:"1em",...o})});Db.displayName="UnorderedList";var Sa=Ae(function(t,n){const r=t6();return i.jsx(je.li,{ref:n,...t,__css:r.item})});Sa.displayName="ListItem";var r$=Ae(function(t,n){const r=t6();return i.jsx(fo,{ref:n,role:"presentation",...t,__css:r.icon})});r$.displayName="ListIcon";var sl=Ae(function(t,n){const{templateAreas:r,gap:o,rowGap:s,columnGap:a,column:c,row:d,autoFlow:p,autoRows:h,templateRows:m,autoColumns:v,templateColumns:b,...w}=t,y={display:"grid",gridTemplateAreas:r,gridGap:o,gridRowGap:s,gridColumnGap:a,gridAutoColumns:v,gridColumn:c,gridRow:d,gridAutoFlow:p,gridAutoRows:h,gridTemplateRows:m,gridTemplateColumns:b};return i.jsx(je.div,{ref:n,__css:y,...w})});sl.displayName="Grid";function n6(e,t){return Array.isArray(e)?e.map(n=>n===null?null:t(n)):Pv(e)?Object.keys(e).reduce((n,r)=>(n[r]=t(e[r]),n),{}):e!=null?t(e):null}var ml=je("div",{baseStyle:{flex:1,justifySelf:"stretch",alignSelf:"stretch"}});ml.displayName="Spacer";var Qe=Ae(function(t,n){const r=ia("Text",t),{className:o,align:s,decoration:a,casing:c,...d}=qn(t),p=db({textAlign:t.align,textDecoration:t.decoration,textTransform:t.casing});return i.jsx(je.p,{ref:n,className:Ct("chakra-text",t.className),...p,...d,__css:r})});Qe.displayName="Text";var r6=e=>i.jsx(je.div,{className:"chakra-stack__item",...e,__css:{display:"inline-block",flex:"0 0 auto",minWidth:0,...e.__css}});r6.displayName="StackItem";function o$(e){const{spacing:t,direction:n}=e,r={column:{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},"column-reverse":{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},row:{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0},"row-reverse":{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0}};return{"&":n6(n,o=>r[o])}}var Ab=Ae((e,t)=>{const{isInline:n,direction:r,align:o,justify:s,spacing:a="0.5rem",wrap:c,children:d,divider:p,className:h,shouldWrapChildren:m,...v}=e,b=n?"row":r??"column",w=f.useMemo(()=>o$({spacing:a,direction:b}),[a,b]),y=!!p,S=!m&&!y,k=f.useMemo(()=>{const P=_d(d);return S?P:P.map((I,E)=>{const O=typeof I.key<"u"?I.key:E,R=E+1===P.length,D=m?i.jsx(r6,{children:I},O):I;if(!y)return D;const A=f.cloneElement(p,{__css:w}),L=R?null:A;return i.jsxs(f.Fragment,{children:[D,L]},O)})},[p,w,y,S,m,d]),_=Ct("chakra-stack",h);return i.jsx(je.div,{ref:t,display:"flex",alignItems:o,justifyContent:s,flexDirection:b,flexWrap:c,gap:y?void 0:a,className:_,...v,children:k})});Ab.displayName="Stack";var o6=Ae((e,t)=>i.jsx(Ab,{align:"center",...e,direction:"column",ref:t}));o6.displayName="VStack";var fi=Ae((e,t)=>i.jsx(Ab,{align:"center",...e,direction:"row",ref:t}));fi.displayName="HStack";function Yw(e){return n6(e,t=>t==="auto"?"auto":`span ${t}/span ${t}`)}var Yv=Ae(function(t,n){const{area:r,colSpan:o,colStart:s,colEnd:a,rowEnd:c,rowSpan:d,rowStart:p,...h}=t,m=db({gridArea:r,gridColumn:Yw(o),gridRow:Yw(d),gridColumnStart:s,gridColumnEnd:a,gridRowStart:p,gridRowEnd:c});return i.jsx(je.div,{ref:n,__css:m,...h})});Yv.displayName="GridItem";var gl=Ae(function(t,n){const r=ia("Badge",t),{className:o,...s}=qn(t);return i.jsx(je.span,{ref:n,className:Ct("chakra-badge",t.className),...s,__css:{display:"inline-block",whiteSpace:"nowrap",verticalAlign:"middle",...r}})});gl.displayName="Badge";var _i=Ae(function(t,n){const{borderLeftWidth:r,borderBottomWidth:o,borderTopWidth:s,borderRightWidth:a,borderWidth:c,borderStyle:d,borderColor:p,...h}=ia("Divider",t),{className:m,orientation:v="horizontal",__css:b,...w}=qn(t),y={vertical:{borderLeftWidth:r||a||c||"1px",height:"100%"},horizontal:{borderBottomWidth:o||s||c||"1px",width:"100%"}};return i.jsx(je.hr,{ref:n,"aria-orientation":v,...w,__css:{...h,border:"0",borderColor:p,borderStyle:d,...y[v],...b},className:Ct("chakra-divider",m)})});_i.displayName="Divider";function s$(e){const{key:t}=e;return t.length===1||t.length>1&&/[^a-zA-Z0-9]/.test(t)}function a$(e={}){const{timeout:t=300,preventDefault:n=()=>!0}=e,[r,o]=f.useState([]),s=f.useRef(),a=()=>{s.current&&(clearTimeout(s.current),s.current=null)},c=()=>{a(),s.current=setTimeout(()=>{o([]),s.current=null},t)};f.useEffect(()=>a,[]);function d(p){return h=>{if(h.key==="Backspace"){const m=[...r];m.pop(),o(m);return}if(s$(h)){const m=r.concat(h.key);n(h)&&(h.preventDefault(),h.stopPropagation()),o(m),p(m.join("")),c()}}}return d}function i$(e,t,n,r){if(t==null)return r;if(!r)return e.find(a=>n(a).toLowerCase().startsWith(t.toLowerCase()));const o=e.filter(s=>n(s).toLowerCase().startsWith(t.toLowerCase()));if(o.length>0){let s;return o.includes(r)?(s=o.indexOf(r)+1,s===o.length&&(s=0),o[s]):(s=e.indexOf(o[0]),e[s])}return r}function l$(){const e=f.useRef(new Map),t=e.current,n=f.useCallback((o,s,a,c)=>{e.current.set(a,{type:s,el:o,options:c}),o.addEventListener(s,a,c)},[]),r=f.useCallback((o,s,a,c)=>{o.removeEventListener(s,a,c),e.current.delete(a)},[]);return f.useEffect(()=>()=>{t.forEach((o,s)=>{r(o.el,o.type,s,o.options)})},[r,t]),{add:n,remove:r}}function M0(e){const t=e.target,{tagName:n,isContentEditable:r}=t;return n!=="INPUT"&&n!=="TEXTAREA"&&r!==!0}function s6(e={}){const{ref:t,isDisabled:n,isFocusable:r,clickOnEnter:o=!0,clickOnSpace:s=!0,onMouseDown:a,onMouseUp:c,onClick:d,onKeyDown:p,onKeyUp:h,tabIndex:m,onMouseOver:v,onMouseLeave:b,...w}=e,[y,S]=f.useState(!0),[k,_]=f.useState(!1),P=l$(),I=T=>{T&&T.tagName!=="BUTTON"&&S(!1)},E=y?m:m||0,O=n&&!r,R=f.useCallback(T=>{if(n){T.stopPropagation(),T.preventDefault();return}T.currentTarget.focus(),d==null||d(T)},[n,d]),M=f.useCallback(T=>{k&&M0(T)&&(T.preventDefault(),T.stopPropagation(),_(!1),P.remove(document,"keyup",M,!1))},[k,P]),D=f.useCallback(T=>{if(p==null||p(T),n||T.defaultPrevented||T.metaKey||!M0(T.nativeEvent)||y)return;const z=o&&T.key==="Enter";s&&T.key===" "&&(T.preventDefault(),_(!0)),z&&(T.preventDefault(),T.currentTarget.click()),P.add(document,"keyup",M,!1)},[n,y,p,o,s,P,M]),A=f.useCallback(T=>{if(h==null||h(T),n||T.defaultPrevented||T.metaKey||!M0(T.nativeEvent)||y)return;s&&T.key===" "&&(T.preventDefault(),_(!1),T.currentTarget.click())},[s,y,n,h]),L=f.useCallback(T=>{T.button===0&&(_(!1),P.remove(document,"mouseup",L,!1))},[P]),Q=f.useCallback(T=>{if(T.button!==0)return;if(n){T.stopPropagation(),T.preventDefault();return}y||_(!0),T.currentTarget.focus({preventScroll:!0}),P.add(document,"mouseup",L,!1),a==null||a(T)},[n,y,a,P,L]),F=f.useCallback(T=>{T.button===0&&(y||_(!1),c==null||c(T))},[c,y]),V=f.useCallback(T=>{if(n){T.preventDefault();return}v==null||v(T)},[n,v]),q=f.useCallback(T=>{k&&(T.preventDefault(),_(!1)),b==null||b(T)},[k,b]),G=cn(t,I);return y?{...w,ref:G,type:"button","aria-disabled":O?void 0:n,disabled:O,onClick:R,onMouseDown:a,onMouseUp:c,onKeyUp:h,onKeyDown:p,onMouseOver:v,onMouseLeave:b}:{...w,ref:G,role:"button","data-active":Ft(k),"aria-disabled":n?"true":void 0,tabIndex:O?void 0:E,onClick:R,onMouseDown:Q,onMouseUp:F,onKeyUp:A,onKeyDown:D,onMouseOver:V,onMouseLeave:q}}function c$(e){const t=e.current;if(!t)return!1;const n=NN(t);return!n||t.contains(n)?!1:!!HN(n)}function a6(e,t){const{shouldFocus:n,visible:r,focusRef:o}=t,s=n&&!r;Fa(()=>{if(!s||c$(e))return;const a=(o==null?void 0:o.current)||e.current;let c;if(a)return c=requestAnimationFrame(()=>{a.focus({preventScroll:!0})}),()=>{cancelAnimationFrame(c)}},[s,e,o])}var u$={preventScroll:!0,shouldFocus:!1};function d$(e,t=u$){const{focusRef:n,preventScroll:r,shouldFocus:o,visible:s}=t,a=f$(e)?e.current:e,c=o&&s,d=f.useRef(c),p=f.useRef(s);nc(()=>{!p.current&&s&&(d.current=c),p.current=s},[s,c]);const h=f.useCallback(()=>{if(!(!s||!a||!d.current)&&(d.current=!1,!a.contains(document.activeElement)))if(n!=null&&n.current)requestAnimationFrame(()=>{var m;(m=n.current)==null||m.focus({preventScroll:r})});else{const m=Q3(a);m.length>0&&requestAnimationFrame(()=>{m[0].focus({preventScroll:r})})}},[s,r,a,n]);Fa(()=>{h()},[h]),Yi(a,"transitionend",h)}function f$(e){return"current"in e}var $l=(e,t)=>({var:e,varRef:t?`var(${e}, ${t})`:`var(${e})`}),Ir={arrowShadowColor:$l("--popper-arrow-shadow-color"),arrowSize:$l("--popper-arrow-size","8px"),arrowSizeHalf:$l("--popper-arrow-size-half"),arrowBg:$l("--popper-arrow-bg"),transformOrigin:$l("--popper-transform-origin"),arrowOffset:$l("--popper-arrow-offset")};function p$(e){if(e.includes("top"))return"1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("bottom"))return"-1px -1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("right"))return"-1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("left"))return"1px -1px 0px 0 var(--popper-arrow-shadow-color)"}var h$={top:"bottom center","top-start":"bottom left","top-end":"bottom right",bottom:"top center","bottom-start":"top left","bottom-end":"top right",left:"right center","left-start":"right top","left-end":"right bottom",right:"left center","right-start":"left top","right-end":"left bottom"},m$=e=>h$[e],Qw={scroll:!0,resize:!0};function g$(e){let t;return typeof e=="object"?t={enabled:!0,options:{...Qw,...e}}:t={enabled:e,options:Qw},t}var v$={name:"matchWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect:({state:e})=>()=>{const t=e.elements.reference;e.elements.popper.style.width=`${t.offsetWidth}px`}},b$={name:"transformOrigin",enabled:!0,phase:"write",fn:({state:e})=>{Jw(e)},effect:({state:e})=>()=>{Jw(e)}},Jw=e=>{e.elements.popper.style.setProperty(Ir.transformOrigin.var,m$(e.placement))},y$={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:({state:e})=>{x$(e)}},x$=e=>{var t;if(!e.placement)return;const n=w$(e.placement);if((t=e.elements)!=null&&t.arrow&&n){Object.assign(e.elements.arrow.style,{[n.property]:n.value,width:Ir.arrowSize.varRef,height:Ir.arrowSize.varRef,zIndex:-1});const r={[Ir.arrowSizeHalf.var]:`calc(${Ir.arrowSize.varRef} / 2 - 1px)`,[Ir.arrowOffset.var]:`calc(${Ir.arrowSizeHalf.varRef} * -1)`};for(const o in r)e.elements.arrow.style.setProperty(o,r[o])}},w$=e=>{if(e.startsWith("top"))return{property:"bottom",value:Ir.arrowOffset.varRef};if(e.startsWith("bottom"))return{property:"top",value:Ir.arrowOffset.varRef};if(e.startsWith("left"))return{property:"right",value:Ir.arrowOffset.varRef};if(e.startsWith("right"))return{property:"left",value:Ir.arrowOffset.varRef}},S$={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:({state:e})=>{Zw(e)},effect:({state:e})=>()=>{Zw(e)}},Zw=e=>{if(!e.elements.arrow)return;const t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");if(!t)return;const n=p$(e.placement);n&&t.style.setProperty("--popper-arrow-default-shadow",n),Object.assign(t.style,{transform:"rotate(45deg)",background:Ir.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:"var(--popper-arrow-shadow, var(--popper-arrow-default-shadow))"})},C$={"start-start":{ltr:"left-start",rtl:"right-start"},"start-end":{ltr:"left-end",rtl:"right-end"},"end-start":{ltr:"right-start",rtl:"left-start"},"end-end":{ltr:"right-end",rtl:"left-end"},start:{ltr:"left",rtl:"right"},end:{ltr:"right",rtl:"left"}},k$={"auto-start":"auto-end","auto-end":"auto-start","top-start":"top-end","top-end":"top-start","bottom-start":"bottom-end","bottom-end":"bottom-start"};function _$(e,t="ltr"){var n,r;const o=((n=C$[e])==null?void 0:n[t])||e;return t==="ltr"?o:(r=k$[e])!=null?r:o}var _o="top",as="bottom",is="right",Po="left",Tb="auto",Ed=[_o,as,is,Po],xc="start",rd="end",P$="clippingParents",i6="viewport",mu="popper",j$="reference",eS=Ed.reduce(function(e,t){return e.concat([t+"-"+xc,t+"-"+rd])},[]),l6=[].concat(Ed,[Tb]).reduce(function(e,t){return e.concat([t,t+"-"+xc,t+"-"+rd])},[]),I$="beforeRead",E$="read",O$="afterRead",R$="beforeMain",M$="main",D$="afterMain",A$="beforeWrite",T$="write",N$="afterWrite",$$=[I$,E$,O$,R$,M$,D$,A$,T$,N$];function ra(e){return e?(e.nodeName||"").toLowerCase():null}function Fo(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function al(e){var t=Fo(e).Element;return e instanceof t||e instanceof Element}function os(e){var t=Fo(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Nb(e){if(typeof ShadowRoot>"u")return!1;var t=Fo(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function L$(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},o=t.attributes[n]||{},s=t.elements[n];!os(s)||!ra(s)||(Object.assign(s.style,r),Object.keys(o).forEach(function(a){var c=o[a];c===!1?s.removeAttribute(a):s.setAttribute(a,c===!0?"":c)}))})}function z$(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var o=t.elements[r],s=t.attributes[r]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),c=a.reduce(function(d,p){return d[p]="",d},{});!os(o)||!ra(o)||(Object.assign(o.style,c),Object.keys(s).forEach(function(d){o.removeAttribute(d)}))})}}const B$={name:"applyStyles",enabled:!0,phase:"write",fn:L$,effect:z$,requires:["computeStyles"]};function ta(e){return e.split("-")[0]}var Qi=Math.max,th=Math.min,wc=Math.round;function Qv(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function c6(){return!/^((?!chrome|android).)*safari/i.test(Qv())}function Sc(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),o=1,s=1;t&&os(e)&&(o=e.offsetWidth>0&&wc(r.width)/e.offsetWidth||1,s=e.offsetHeight>0&&wc(r.height)/e.offsetHeight||1);var a=al(e)?Fo(e):window,c=a.visualViewport,d=!c6()&&n,p=(r.left+(d&&c?c.offsetLeft:0))/o,h=(r.top+(d&&c?c.offsetTop:0))/s,m=r.width/o,v=r.height/s;return{width:m,height:v,top:h,right:p+m,bottom:h+v,left:p,x:p,y:h}}function $b(e){var t=Sc(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function u6(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Nb(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Ra(e){return Fo(e).getComputedStyle(e)}function F$(e){return["table","td","th"].indexOf(ra(e))>=0}function Pi(e){return((al(e)?e.ownerDocument:e.document)||window.document).documentElement}function xm(e){return ra(e)==="html"?e:e.assignedSlot||e.parentNode||(Nb(e)?e.host:null)||Pi(e)}function tS(e){return!os(e)||Ra(e).position==="fixed"?null:e.offsetParent}function H$(e){var t=/firefox/i.test(Qv()),n=/Trident/i.test(Qv());if(n&&os(e)){var r=Ra(e);if(r.position==="fixed")return null}var o=xm(e);for(Nb(o)&&(o=o.host);os(o)&&["html","body"].indexOf(ra(o))<0;){var s=Ra(o);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||t&&s.willChange==="filter"||t&&s.filter&&s.filter!=="none")return o;o=o.parentNode}return null}function Od(e){for(var t=Fo(e),n=tS(e);n&&F$(n)&&Ra(n).position==="static";)n=tS(n);return n&&(ra(n)==="html"||ra(n)==="body"&&Ra(n).position==="static")?t:n||H$(e)||t}function Lb(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Hu(e,t,n){return Qi(e,th(t,n))}function W$(e,t,n){var r=Hu(e,t,n);return r>n?n:r}function d6(){return{top:0,right:0,bottom:0,left:0}}function f6(e){return Object.assign({},d6(),e)}function p6(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var V$=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,f6(typeof t!="number"?t:p6(t,Ed))};function U$(e){var t,n=e.state,r=e.name,o=e.options,s=n.elements.arrow,a=n.modifiersData.popperOffsets,c=ta(n.placement),d=Lb(c),p=[Po,is].indexOf(c)>=0,h=p?"height":"width";if(!(!s||!a)){var m=V$(o.padding,n),v=$b(s),b=d==="y"?_o:Po,w=d==="y"?as:is,y=n.rects.reference[h]+n.rects.reference[d]-a[d]-n.rects.popper[h],S=a[d]-n.rects.reference[d],k=Od(s),_=k?d==="y"?k.clientHeight||0:k.clientWidth||0:0,P=y/2-S/2,I=m[b],E=_-v[h]-m[w],O=_/2-v[h]/2+P,R=Hu(I,O,E),M=d;n.modifiersData[r]=(t={},t[M]=R,t.centerOffset=R-O,t)}}function G$(e){var t=e.state,n=e.options,r=n.element,o=r===void 0?"[data-popper-arrow]":r;o!=null&&(typeof o=="string"&&(o=t.elements.popper.querySelector(o),!o)||u6(t.elements.popper,o)&&(t.elements.arrow=o))}const q$={name:"arrow",enabled:!0,phase:"main",fn:U$,effect:G$,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Cc(e){return e.split("-")[1]}var K$={top:"auto",right:"auto",bottom:"auto",left:"auto"};function X$(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:wc(n*o)/o||0,y:wc(r*o)/o||0}}function nS(e){var t,n=e.popper,r=e.popperRect,o=e.placement,s=e.variation,a=e.offsets,c=e.position,d=e.gpuAcceleration,p=e.adaptive,h=e.roundOffsets,m=e.isFixed,v=a.x,b=v===void 0?0:v,w=a.y,y=w===void 0?0:w,S=typeof h=="function"?h({x:b,y}):{x:b,y};b=S.x,y=S.y;var k=a.hasOwnProperty("x"),_=a.hasOwnProperty("y"),P=Po,I=_o,E=window;if(p){var O=Od(n),R="clientHeight",M="clientWidth";if(O===Fo(n)&&(O=Pi(n),Ra(O).position!=="static"&&c==="absolute"&&(R="scrollHeight",M="scrollWidth")),O=O,o===_o||(o===Po||o===is)&&s===rd){I=as;var D=m&&O===E&&E.visualViewport?E.visualViewport.height:O[R];y-=D-r.height,y*=d?1:-1}if(o===Po||(o===_o||o===as)&&s===rd){P=is;var A=m&&O===E&&E.visualViewport?E.visualViewport.width:O[M];b-=A-r.width,b*=d?1:-1}}var L=Object.assign({position:c},p&&K$),Q=h===!0?X$({x:b,y},Fo(n)):{x:b,y};if(b=Q.x,y=Q.y,d){var F;return Object.assign({},L,(F={},F[I]=_?"0":"",F[P]=k?"0":"",F.transform=(E.devicePixelRatio||1)<=1?"translate("+b+"px, "+y+"px)":"translate3d("+b+"px, "+y+"px, 0)",F))}return Object.assign({},L,(t={},t[I]=_?y+"px":"",t[P]=k?b+"px":"",t.transform="",t))}function Y$(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=r===void 0?!0:r,s=n.adaptive,a=s===void 0?!0:s,c=n.roundOffsets,d=c===void 0?!0:c,p={placement:ta(t.placement),variation:Cc(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,nS(Object.assign({},p,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:d})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,nS(Object.assign({},p,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:d})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const Q$={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Y$,data:{}};var Ff={passive:!0};function J$(e){var t=e.state,n=e.instance,r=e.options,o=r.scroll,s=o===void 0?!0:o,a=r.resize,c=a===void 0?!0:a,d=Fo(t.elements.popper),p=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&p.forEach(function(h){h.addEventListener("scroll",n.update,Ff)}),c&&d.addEventListener("resize",n.update,Ff),function(){s&&p.forEach(function(h){h.removeEventListener("scroll",n.update,Ff)}),c&&d.removeEventListener("resize",n.update,Ff)}}const Z$={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:J$,data:{}};var eL={left:"right",right:"left",bottom:"top",top:"bottom"};function Ip(e){return e.replace(/left|right|bottom|top/g,function(t){return eL[t]})}var tL={start:"end",end:"start"};function rS(e){return e.replace(/start|end/g,function(t){return tL[t]})}function zb(e){var t=Fo(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function Bb(e){return Sc(Pi(e)).left+zb(e).scrollLeft}function nL(e,t){var n=Fo(e),r=Pi(e),o=n.visualViewport,s=r.clientWidth,a=r.clientHeight,c=0,d=0;if(o){s=o.width,a=o.height;var p=c6();(p||!p&&t==="fixed")&&(c=o.offsetLeft,d=o.offsetTop)}return{width:s,height:a,x:c+Bb(e),y:d}}function rL(e){var t,n=Pi(e),r=zb(e),o=(t=e.ownerDocument)==null?void 0:t.body,s=Qi(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=Qi(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),c=-r.scrollLeft+Bb(e),d=-r.scrollTop;return Ra(o||n).direction==="rtl"&&(c+=Qi(n.clientWidth,o?o.clientWidth:0)-s),{width:s,height:a,x:c,y:d}}function Fb(e){var t=Ra(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function h6(e){return["html","body","#document"].indexOf(ra(e))>=0?e.ownerDocument.body:os(e)&&Fb(e)?e:h6(xm(e))}function Wu(e,t){var n;t===void 0&&(t=[]);var r=h6(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=Fo(r),a=o?[s].concat(s.visualViewport||[],Fb(r)?r:[]):r,c=t.concat(a);return o?c:c.concat(Wu(xm(a)))}function Jv(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function oL(e,t){var n=Sc(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function oS(e,t,n){return t===i6?Jv(nL(e,n)):al(t)?oL(t,n):Jv(rL(Pi(e)))}function sL(e){var t=Wu(xm(e)),n=["absolute","fixed"].indexOf(Ra(e).position)>=0,r=n&&os(e)?Od(e):e;return al(r)?t.filter(function(o){return al(o)&&u6(o,r)&&ra(o)!=="body"}):[]}function aL(e,t,n,r){var o=t==="clippingParents"?sL(e):[].concat(t),s=[].concat(o,[n]),a=s[0],c=s.reduce(function(d,p){var h=oS(e,p,r);return d.top=Qi(h.top,d.top),d.right=th(h.right,d.right),d.bottom=th(h.bottom,d.bottom),d.left=Qi(h.left,d.left),d},oS(e,a,r));return c.width=c.right-c.left,c.height=c.bottom-c.top,c.x=c.left,c.y=c.top,c}function m6(e){var t=e.reference,n=e.element,r=e.placement,o=r?ta(r):null,s=r?Cc(r):null,a=t.x+t.width/2-n.width/2,c=t.y+t.height/2-n.height/2,d;switch(o){case _o:d={x:a,y:t.y-n.height};break;case as:d={x:a,y:t.y+t.height};break;case is:d={x:t.x+t.width,y:c};break;case Po:d={x:t.x-n.width,y:c};break;default:d={x:t.x,y:t.y}}var p=o?Lb(o):null;if(p!=null){var h=p==="y"?"height":"width";switch(s){case xc:d[p]=d[p]-(t[h]/2-n[h]/2);break;case rd:d[p]=d[p]+(t[h]/2-n[h]/2);break}}return d}function od(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=r===void 0?e.placement:r,s=n.strategy,a=s===void 0?e.strategy:s,c=n.boundary,d=c===void 0?P$:c,p=n.rootBoundary,h=p===void 0?i6:p,m=n.elementContext,v=m===void 0?mu:m,b=n.altBoundary,w=b===void 0?!1:b,y=n.padding,S=y===void 0?0:y,k=f6(typeof S!="number"?S:p6(S,Ed)),_=v===mu?j$:mu,P=e.rects.popper,I=e.elements[w?_:v],E=aL(al(I)?I:I.contextElement||Pi(e.elements.popper),d,h,a),O=Sc(e.elements.reference),R=m6({reference:O,element:P,strategy:"absolute",placement:o}),M=Jv(Object.assign({},P,R)),D=v===mu?M:O,A={top:E.top-D.top+k.top,bottom:D.bottom-E.bottom+k.bottom,left:E.left-D.left+k.left,right:D.right-E.right+k.right},L=e.modifiersData.offset;if(v===mu&&L){var Q=L[o];Object.keys(A).forEach(function(F){var V=[is,as].indexOf(F)>=0?1:-1,q=[_o,as].indexOf(F)>=0?"y":"x";A[F]+=Q[q]*V})}return A}function iL(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=n.boundary,s=n.rootBoundary,a=n.padding,c=n.flipVariations,d=n.allowedAutoPlacements,p=d===void 0?l6:d,h=Cc(r),m=h?c?eS:eS.filter(function(w){return Cc(w)===h}):Ed,v=m.filter(function(w){return p.indexOf(w)>=0});v.length===0&&(v=m);var b=v.reduce(function(w,y){return w[y]=od(e,{placement:y,boundary:o,rootBoundary:s,padding:a})[ta(y)],w},{});return Object.keys(b).sort(function(w,y){return b[w]-b[y]})}function lL(e){if(ta(e)===Tb)return[];var t=Ip(e);return[rS(e),t,rS(t)]}function cL(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,c=a===void 0?!0:a,d=n.fallbackPlacements,p=n.padding,h=n.boundary,m=n.rootBoundary,v=n.altBoundary,b=n.flipVariations,w=b===void 0?!0:b,y=n.allowedAutoPlacements,S=t.options.placement,k=ta(S),_=k===S,P=d||(_||!w?[Ip(S)]:lL(S)),I=[S].concat(P).reduce(function(X,K){return X.concat(ta(K)===Tb?iL(t,{placement:K,boundary:h,rootBoundary:m,padding:p,flipVariations:w,allowedAutoPlacements:y}):K)},[]),E=t.rects.reference,O=t.rects.popper,R=new Map,M=!0,D=I[0],A=0;A=0,q=V?"width":"height",G=od(t,{placement:L,boundary:h,rootBoundary:m,altBoundary:v,padding:p}),T=V?F?is:Po:F?as:_o;E[q]>O[q]&&(T=Ip(T));var z=Ip(T),$=[];if(s&&$.push(G[Q]<=0),c&&$.push(G[T]<=0,G[z]<=0),$.every(function(X){return X})){D=L,M=!1;break}R.set(L,$)}if(M)for(var Y=w?3:1,ae=function(K){var U=I.find(function(se){var re=R.get(se);if(re)return re.slice(0,K).every(function(oe){return oe})});if(U)return D=U,"break"},fe=Y;fe>0;fe--){var ie=ae(fe);if(ie==="break")break}t.placement!==D&&(t.modifiersData[r]._skip=!0,t.placement=D,t.reset=!0)}}const uL={name:"flip",enabled:!0,phase:"main",fn:cL,requiresIfExists:["offset"],data:{_skip:!1}};function sS(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function aS(e){return[_o,is,as,Po].some(function(t){return e[t]>=0})}function dL(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,s=t.modifiersData.preventOverflow,a=od(t,{elementContext:"reference"}),c=od(t,{altBoundary:!0}),d=sS(a,r),p=sS(c,o,s),h=aS(d),m=aS(p);t.modifiersData[n]={referenceClippingOffsets:d,popperEscapeOffsets:p,isReferenceHidden:h,hasPopperEscaped:m},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":m})}const fL={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:dL};function pL(e,t,n){var r=ta(e),o=[Po,_o].indexOf(r)>=0?-1:1,s=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=s[0],c=s[1];return a=a||0,c=(c||0)*o,[Po,is].indexOf(r)>=0?{x:c,y:a}:{x:a,y:c}}function hL(e){var t=e.state,n=e.options,r=e.name,o=n.offset,s=o===void 0?[0,0]:o,a=l6.reduce(function(h,m){return h[m]=pL(m,t.rects,s),h},{}),c=a[t.placement],d=c.x,p=c.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=d,t.modifiersData.popperOffsets.y+=p),t.modifiersData[r]=a}const mL={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:hL};function gL(e){var t=e.state,n=e.name;t.modifiersData[n]=m6({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const vL={name:"popperOffsets",enabled:!0,phase:"read",fn:gL,data:{}};function bL(e){return e==="x"?"y":"x"}function yL(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,c=a===void 0?!1:a,d=n.boundary,p=n.rootBoundary,h=n.altBoundary,m=n.padding,v=n.tether,b=v===void 0?!0:v,w=n.tetherOffset,y=w===void 0?0:w,S=od(t,{boundary:d,rootBoundary:p,padding:m,altBoundary:h}),k=ta(t.placement),_=Cc(t.placement),P=!_,I=Lb(k),E=bL(I),O=t.modifiersData.popperOffsets,R=t.rects.reference,M=t.rects.popper,D=typeof y=="function"?y(Object.assign({},t.rects,{placement:t.placement})):y,A=typeof D=="number"?{mainAxis:D,altAxis:D}:Object.assign({mainAxis:0,altAxis:0},D),L=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,Q={x:0,y:0};if(O){if(s){var F,V=I==="y"?_o:Po,q=I==="y"?as:is,G=I==="y"?"height":"width",T=O[I],z=T+S[V],$=T-S[q],Y=b?-M[G]/2:0,ae=_===xc?R[G]:M[G],fe=_===xc?-M[G]:-R[G],ie=t.elements.arrow,X=b&&ie?$b(ie):{width:0,height:0},K=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:d6(),U=K[V],se=K[q],re=Hu(0,R[G],X[G]),oe=P?R[G]/2-Y-re-U-A.mainAxis:ae-re-U-A.mainAxis,pe=P?-R[G]/2+Y+re+se+A.mainAxis:fe+re+se+A.mainAxis,le=t.elements.arrow&&Od(t.elements.arrow),ge=le?I==="y"?le.clientTop||0:le.clientLeft||0:0,ke=(F=L==null?void 0:L[I])!=null?F:0,xe=T+oe-ke-ge,de=T+pe-ke,Te=Hu(b?th(z,xe):z,T,b?Qi($,de):$);O[I]=Te,Q[I]=Te-T}if(c){var Ee,$e=I==="x"?_o:Po,kt=I==="x"?as:is,ct=O[E],on=E==="y"?"height":"width",vt=ct+S[$e],bt=ct-S[kt],Se=[_o,Po].indexOf(k)!==-1,Me=(Ee=L==null?void 0:L[E])!=null?Ee:0,Pt=Se?vt:ct-R[on]-M[on]-Me+A.altAxis,Tt=Se?ct+R[on]+M[on]-Me-A.altAxis:bt,we=b&&Se?W$(Pt,ct,Tt):Hu(b?Pt:vt,ct,b?Tt:bt);O[E]=we,Q[E]=we-ct}t.modifiersData[r]=Q}}const xL={name:"preventOverflow",enabled:!0,phase:"main",fn:yL,requiresIfExists:["offset"]};function wL(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function SL(e){return e===Fo(e)||!os(e)?zb(e):wL(e)}function CL(e){var t=e.getBoundingClientRect(),n=wc(t.width)/e.offsetWidth||1,r=wc(t.height)/e.offsetHeight||1;return n!==1||r!==1}function kL(e,t,n){n===void 0&&(n=!1);var r=os(t),o=os(t)&&CL(t),s=Pi(t),a=Sc(e,o,n),c={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(r||!r&&!n)&&((ra(t)!=="body"||Fb(s))&&(c=SL(t)),os(t)?(d=Sc(t,!0),d.x+=t.clientLeft,d.y+=t.clientTop):s&&(d.x=Bb(s))),{x:a.left+c.scrollLeft-d.x,y:a.top+c.scrollTop-d.y,width:a.width,height:a.height}}function _L(e){var t=new Map,n=new Set,r=[];e.forEach(function(s){t.set(s.name,s)});function o(s){n.add(s.name);var a=[].concat(s.requires||[],s.requiresIfExists||[]);a.forEach(function(c){if(!n.has(c)){var d=t.get(c);d&&o(d)}}),r.push(s)}return e.forEach(function(s){n.has(s.name)||o(s)}),r}function PL(e){var t=_L(e);return $$.reduce(function(n,r){return n.concat(t.filter(function(o){return o.phase===r}))},[])}function jL(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function IL(e){var t=e.reduce(function(n,r){var o=n[r.name];return n[r.name]=o?Object.assign({},o,r,{options:Object.assign({},o.options,r.options),data:Object.assign({},o.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var iS={placement:"bottom",modifiers:[],strategy:"absolute"};function lS(){for(var e=arguments.length,t=new Array(e),n=0;n{}),P=f.useCallback(()=>{var A;!t||!w.current||!y.current||((A=_.current)==null||A.call(_),S.current=RL(w.current,y.current,{placement:k,modifiers:[S$,y$,b$,{...v$,enabled:!!v},{name:"eventListeners",...g$(a)},{name:"arrow",options:{padding:s}},{name:"offset",options:{offset:c??[0,d]}},{name:"flip",enabled:!!p,options:{padding:8}},{name:"preventOverflow",enabled:!!m,options:{boundary:h}},...n??[]],strategy:o}),S.current.forceUpdate(),_.current=S.current.destroy)},[k,t,n,v,a,s,c,d,p,m,h,o]);f.useEffect(()=>()=>{var A;!w.current&&!y.current&&((A=S.current)==null||A.destroy(),S.current=null)},[]);const I=f.useCallback(A=>{w.current=A,P()},[P]),E=f.useCallback((A={},L=null)=>({...A,ref:cn(I,L)}),[I]),O=f.useCallback(A=>{y.current=A,P()},[P]),R=f.useCallback((A={},L=null)=>({...A,ref:cn(O,L),style:{...A.style,position:o,minWidth:v?void 0:"max-content",inset:"0 auto auto 0"}}),[o,O,v]),M=f.useCallback((A={},L=null)=>{const{size:Q,shadowColor:F,bg:V,style:q,...G}=A;return{...G,ref:L,"data-popper-arrow":"",style:ML(A)}},[]),D=f.useCallback((A={},L=null)=>({...A,ref:L,"data-popper-arrow-inner":""}),[]);return{update(){var A;(A=S.current)==null||A.update()},forceUpdate(){var A;(A=S.current)==null||A.forceUpdate()},transformOrigin:Ir.transformOrigin.varRef,referenceRef:I,popperRef:O,getPopperProps:R,getArrowProps:M,getArrowInnerProps:D,getReferenceProps:E}}function ML(e){const{size:t,shadowColor:n,bg:r,style:o}=e,s={...o,position:"absolute"};return t&&(s["--popper-arrow-size"]=t),n&&(s["--popper-arrow-shadow-color"]=n),r&&(s["--popper-arrow-bg"]=r),s}function Wb(e={}){const{onClose:t,onOpen:n,isOpen:r,id:o}=e,s=or(n),a=or(t),[c,d]=f.useState(e.defaultIsOpen||!1),p=r!==void 0?r:c,h=r!==void 0,m=f.useId(),v=o??`disclosure-${m}`,b=f.useCallback(()=>{h||d(!1),a==null||a()},[h,a]),w=f.useCallback(()=>{h||d(!0),s==null||s()},[h,s]),y=f.useCallback(()=>{p?b():w()},[p,w,b]);function S(_={}){return{..._,"aria-expanded":p,"aria-controls":v,onClick(P){var I;(I=_.onClick)==null||I.call(_,P),y()}}}function k(_={}){return{..._,hidden:!p,id:v}}return{isOpen:p,onOpen:w,onClose:b,onToggle:y,isControlled:h,getButtonProps:S,getDisclosureProps:k}}function DL(e){const{ref:t,handler:n,enabled:r=!0}=e,o=or(n),a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{D0(m,t)&&(a.isPointerDown=!0)},d=m=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&D0(m,t)&&(a.isPointerDown=!1,o(m))},p=m=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&D0(m,t)&&(a.isPointerDown=!1,o(m))},h=g6(t.current);return h.addEventListener("mousedown",c,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",c,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",c,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",c,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,a,r])}function D0(e,t){var n;const r=e.target;return r&&!g6(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function g6(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function v6(e){const{isOpen:t,ref:n}=e,[r,o]=f.useState(t),[s,a]=f.useState(!1);return f.useEffect(()=>{s||(o(t),a(!0))},[t,s,r]),Yi(()=>n.current,"animationend",()=>{o(t)}),{present:!(t?!1:!r),onComplete(){var d;const p=TN(n.current),h=new p.CustomEvent("animationend",{bubbles:!0});(d=n.current)==null||d.dispatchEvent(h)}}}function Vb(e){const{wasSelected:t,enabled:n,isSelected:r,mode:o="unmount"}=e;return!!(!n||r||o==="keepMounted"&&t)}var[AL,TL,NL,$L]=fb(),[LL,Rd]=Dn({strict:!1,name:"MenuContext"});function zL(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}function b6(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function cS(e){return b6(e).activeElement===e}function BL(e={}){const{id:t,closeOnSelect:n=!0,closeOnBlur:r=!0,initialFocusRef:o,autoSelect:s=!0,isLazy:a,isOpen:c,defaultIsOpen:d,onClose:p,onOpen:h,placement:m="bottom-start",lazyBehavior:v="unmount",direction:b,computePositionOnMount:w=!1,...y}=e,S=f.useRef(null),k=f.useRef(null),_=NL(),P=f.useCallback(()=>{requestAnimationFrame(()=>{var ie;(ie=S.current)==null||ie.focus({preventScroll:!1})})},[]),I=f.useCallback(()=>{const ie=setTimeout(()=>{var X;if(o)(X=o.current)==null||X.focus();else{const K=_.firstEnabled();K&&F(K.index)}});z.current.add(ie)},[_,o]),E=f.useCallback(()=>{const ie=setTimeout(()=>{const X=_.lastEnabled();X&&F(X.index)});z.current.add(ie)},[_]),O=f.useCallback(()=>{h==null||h(),s?I():P()},[s,I,P,h]),{isOpen:R,onOpen:M,onClose:D,onToggle:A}=Wb({isOpen:c,defaultIsOpen:d,onClose:p,onOpen:O});DL({enabled:R&&r,ref:S,handler:ie=>{var X;(X=k.current)!=null&&X.contains(ie.target)||D()}});const L=Hb({...y,enabled:R||w,placement:m,direction:b}),[Q,F]=f.useState(-1);Fa(()=>{R||F(-1)},[R]),a6(S,{focusRef:k,visible:R,shouldFocus:!0});const V=v6({isOpen:R,ref:S}),[q,G]=zL(t,"menu-button","menu-list"),T=f.useCallback(()=>{M(),P()},[M,P]),z=f.useRef(new Set([]));KL(()=>{z.current.forEach(ie=>clearTimeout(ie)),z.current.clear()});const $=f.useCallback(()=>{M(),I()},[I,M]),Y=f.useCallback(()=>{M(),E()},[M,E]),ae=f.useCallback(()=>{var ie,X;const K=b6(S.current),U=(ie=S.current)==null?void 0:ie.contains(K.activeElement);if(!(R&&!U))return;const re=(X=_.item(Q))==null?void 0:X.node;re==null||re.focus()},[R,Q,_]),fe=f.useRef(null);return{openAndFocusMenu:T,openAndFocusFirstItem:$,openAndFocusLastItem:Y,onTransitionEnd:ae,unstable__animationState:V,descendants:_,popper:L,buttonId:q,menuId:G,forceUpdate:L.forceUpdate,orientation:"vertical",isOpen:R,onToggle:A,onOpen:M,onClose:D,menuRef:S,buttonRef:k,focusedIndex:Q,closeOnSelect:n,closeOnBlur:r,autoSelect:s,setFocusedIndex:F,isLazy:a,lazyBehavior:v,initialFocusRef:o,rafId:fe}}function FL(e={},t=null){const n=Rd(),{onToggle:r,popper:o,openAndFocusFirstItem:s,openAndFocusLastItem:a}=n,c=f.useCallback(d=>{const p=d.key,m={Enter:s,ArrowDown:s,ArrowUp:a}[p];m&&(d.preventDefault(),d.stopPropagation(),m(d))},[s,a]);return{...e,ref:cn(n.buttonRef,t,o.referenceRef),id:n.buttonId,"data-active":Ft(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:et(e.onClick,r),onKeyDown:et(e.onKeyDown,c)}}function Zv(e){var t;return GL(e)&&!!((t=e==null?void 0:e.getAttribute("role"))!=null&&t.startsWith("menuitem"))}function HL(e={},t=null){const n=Rd();if(!n)throw new Error("useMenuContext: context is undefined. Seems you forgot to wrap component within

");const{focusedIndex:r,setFocusedIndex:o,menuRef:s,isOpen:a,onClose:c,menuId:d,isLazy:p,lazyBehavior:h,unstable__animationState:m}=n,v=TL(),b=a$({preventDefault:k=>k.key!==" "&&Zv(k.target)}),w=f.useCallback(k=>{if(!k.currentTarget.contains(k.target))return;const _=k.key,I={Tab:O=>O.preventDefault(),Escape:c,ArrowDown:()=>{const O=v.nextEnabled(r);O&&o(O.index)},ArrowUp:()=>{const O=v.prevEnabled(r);O&&o(O.index)}}[_];if(I){k.preventDefault(),I(k);return}const E=b(O=>{const R=i$(v.values(),O,M=>{var D,A;return(A=(D=M==null?void 0:M.node)==null?void 0:D.textContent)!=null?A:""},v.item(r));if(R){const M=v.indexOf(R.node);o(M)}});Zv(k.target)&&E(k)},[v,r,b,c,o]),y=f.useRef(!1);a&&(y.current=!0);const S=Vb({wasSelected:y.current,enabled:p,mode:h,isSelected:m.present});return{...e,ref:cn(s,t),children:S?e.children:null,tabIndex:-1,role:"menu",id:d,style:{...e.style,transformOrigin:"var(--popper-transform-origin)"},"aria-orientation":"vertical",onKeyDown:et(e.onKeyDown,w)}}function WL(e={}){const{popper:t,isOpen:n}=Rd();return t.getPopperProps({...e,style:{visibility:n?"visible":"hidden",...e.style}})}function y6(e={},t=null){const{onMouseEnter:n,onMouseMove:r,onMouseLeave:o,onClick:s,onFocus:a,isDisabled:c,isFocusable:d,closeOnSelect:p,type:h,...m}=e,v=Rd(),{setFocusedIndex:b,focusedIndex:w,closeOnSelect:y,onClose:S,menuRef:k,isOpen:_,menuId:P,rafId:I}=v,E=f.useRef(null),O=`${P}-menuitem-${f.useId()}`,{index:R,register:M}=$L({disabled:c&&!d}),D=f.useCallback(T=>{n==null||n(T),!c&&b(R)},[b,R,c,n]),A=f.useCallback(T=>{r==null||r(T),E.current&&!cS(E.current)&&D(T)},[D,r]),L=f.useCallback(T=>{o==null||o(T),!c&&b(-1)},[b,c,o]),Q=f.useCallback(T=>{s==null||s(T),Zv(T.currentTarget)&&(p??y)&&S()},[S,s,y,p]),F=f.useCallback(T=>{a==null||a(T),b(R)},[b,a,R]),V=R===w,q=c&&!d;Fa(()=>{_&&(V&&!q&&E.current?(I.current&&cancelAnimationFrame(I.current),I.current=requestAnimationFrame(()=>{var T;(T=E.current)==null||T.focus(),I.current=null})):k.current&&!cS(k.current)&&k.current.focus({preventScroll:!0}))},[V,q,k,_]);const G=s6({onClick:Q,onFocus:F,onMouseEnter:D,onMouseMove:A,onMouseLeave:L,ref:cn(M,E,t),isDisabled:c,isFocusable:d});return{...m,...G,type:h??G.type,id:O,role:"menuitem",tabIndex:V?0:-1}}function VL(e={},t=null){const{type:n="radio",isChecked:r,...o}=e;return{...y6(o,t),role:`menuitem${n}`,"aria-checked":r}}function UL(e={}){const{children:t,type:n="radio",value:r,defaultValue:o,onChange:s,...a}=e,d=n==="radio"?"":[],[p,h]=zc({defaultValue:o??d,value:r,onChange:s}),m=f.useCallback(w=>{if(n==="radio"&&typeof p=="string"&&h(w),n==="checkbox"&&Array.isArray(p)){const y=p.includes(w)?p.filter(S=>S!==w):p.concat(w);h(y)}},[p,h,n]),b=_d(t).map(w=>{if(w.type.id!=="MenuItemOption")return w;const y=k=>{var _,P;m(w.props.value),(P=(_=w.props).onClick)==null||P.call(_,k)},S=n==="radio"?w.props.value===p:p.includes(w.props.value);return f.cloneElement(w,{type:n,onClick:y,isChecked:S})});return{...a,children:b}}function GL(e){var t;if(!qL(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function qL(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function KL(e,t=[]){return f.useEffect(()=>()=>e(),t)}var[XL,Hc]=Dn({name:"MenuStylesContext",errorMessage:`useMenuStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Md=e=>{const{children:t}=e,n=Fr("Menu",e),r=qn(e),{direction:o}=Nc(),{descendants:s,...a}=BL({...r,direction:o}),c=f.useMemo(()=>a,[a]),{isOpen:d,onClose:p,forceUpdate:h}=c;return i.jsx(AL,{value:s,children:i.jsx(LL,{value:c,children:i.jsx(XL,{value:n,children:X1(t,{isOpen:d,onClose:p,forceUpdate:h})})})})};Md.displayName="Menu";var x6=Ae((e,t)=>{const n=Hc();return i.jsx(je.span,{ref:t,...e,__css:n.command,className:"chakra-menu__command"})});x6.displayName="MenuCommand";var w6=Ae((e,t)=>{const{type:n,...r}=e,o=Hc(),s=r.as||n?n??void 0:"button",a=f.useMemo(()=>({textDecoration:"none",color:"inherit",userSelect:"none",display:"flex",width:"100%",alignItems:"center",textAlign:"start",flex:"0 0 auto",outline:0,...o.item}),[o.item]);return i.jsx(je.button,{ref:t,type:s,...r,__css:a})}),Ub=e=>{const{className:t,children:n,...r}=e,o=Hc(),s=f.Children.only(n),a=f.isValidElement(s)?f.cloneElement(s,{focusable:"false","aria-hidden":!0,className:Ct("chakra-menu__icon",s.props.className)}):null,c=Ct("chakra-menu__icon-wrapper",t);return i.jsx(je.span,{className:c,...r,__css:o.icon,children:a})};Ub.displayName="MenuIcon";var jr=Ae((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",command:o,commandSpacing:s="0.75rem",children:a,...c}=e,d=y6(c,t),h=n||o?i.jsx("span",{style:{pointerEvents:"none",flex:1},children:a}):a;return i.jsxs(w6,{...d,className:Ct("chakra-menu__menuitem",d.className),children:[n&&i.jsx(Ub,{fontSize:"0.8em",marginEnd:r,children:n}),h,o&&i.jsx(x6,{marginStart:s,children:o})]})});jr.displayName="MenuItem";var YL={enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.2,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.1,easings:"easeOut"}}},QL=je(Er.div),il=Ae(function(t,n){var r,o;const{rootProps:s,motionProps:a,...c}=t,{isOpen:d,onTransitionEnd:p,unstable__animationState:h}=Rd(),m=HL(c,n),v=WL(s),b=Hc();return i.jsx(je.div,{...v,__css:{zIndex:(o=t.zIndex)!=null?o:(r=b.list)==null?void 0:r.zIndex},children:i.jsx(QL,{variants:YL,initial:!1,animate:d?"enter":"exit",__css:{outline:0,...b.list},...a,className:Ct("chakra-menu__menu-list",m.className),...m,onUpdate:p,onAnimationComplete:cm(h.onComplete,m.onAnimationComplete)})})});il.displayName="MenuList";var sd=Ae((e,t)=>{const{title:n,children:r,className:o,...s}=e,a=Ct("chakra-menu__group__title",o),c=Hc();return i.jsxs("div",{ref:t,className:"chakra-menu__group",role:"group",children:[n&&i.jsx(je.p,{className:a,...s,__css:c.groupTitle,children:n}),r]})});sd.displayName="MenuGroup";var S6=e=>{const{className:t,title:n,...r}=e,o=UL(r);return i.jsx(sd,{title:n,className:Ct("chakra-menu__option-group",t),...o})};S6.displayName="MenuOptionGroup";var JL=Ae((e,t)=>{const n=Hc();return i.jsx(je.button,{ref:t,...e,__css:{display:"inline-flex",appearance:"none",alignItems:"center",outline:0,...n.button}})}),Dd=Ae((e,t)=>{const{children:n,as:r,...o}=e,s=FL(o,t),a=r||JL;return i.jsx(a,{...s,className:Ct("chakra-menu__menu-button",e.className),children:i.jsx(je.span,{__css:{pointerEvents:"none",flex:"1 1 auto",minW:0},children:e.children})})});Dd.displayName="MenuButton";var ZL=e=>i.jsx("svg",{viewBox:"0 0 14 14",width:"1em",height:"1em",...e,children:i.jsx("polygon",{fill:"currentColor",points:"5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039"})}),nh=Ae((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",...o}=e,s=VL(o,t);return i.jsxs(w6,{...s,className:Ct("chakra-menu__menuitem-option",o.className),children:[n!==null&&i.jsx(Ub,{fontSize:"0.8em",marginEnd:r,opacity:e.isChecked?1:0,children:n||i.jsx(ZL,{})}),i.jsx("span",{style:{flex:1},children:s.children})]})});nh.id="MenuItemOption";nh.displayName="MenuItemOption";var ez={slideInBottom:{...zv,custom:{offsetY:16,reverse:!0}},slideInRight:{...zv,custom:{offsetX:16,reverse:!0}},scale:{...K5,custom:{initialScale:.95,reverse:!0}},none:{}},tz=je(Er.section),nz=e=>ez[e||"none"],C6=f.forwardRef((e,t)=>{const{preset:n,motionProps:r=nz(n),...o}=e;return i.jsx(tz,{ref:t,...r,...o})});C6.displayName="ModalTransition";var rz=Object.defineProperty,oz=(e,t,n)=>t in e?rz(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,sz=(e,t,n)=>(oz(e,typeof t!="symbol"?t+"":t,n),n),az=class{constructor(){sz(this,"modals"),this.modals=new Map}add(e){return this.modals.set(e,this.modals.size+1),this.modals.size}remove(e){this.modals.delete(e)}isTopModal(e){return e?this.modals.get(e)===this.modals.size:!1}},e1=new az;function k6(e,t){const[n,r]=f.useState(0);return f.useEffect(()=>{const o=e.current;if(o){if(t){const s=e1.add(o);r(s)}return()=>{e1.remove(o),r(0)}}},[t,e]),n}var iz=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Ll=new WeakMap,Hf=new WeakMap,Wf={},A0=0,_6=function(e){return e&&(e.host||_6(e.parentNode))},lz=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=_6(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},cz=function(e,t,n,r){var o=lz(t,Array.isArray(e)?e:[e]);Wf[n]||(Wf[n]=new WeakMap);var s=Wf[n],a=[],c=new Set,d=new Set(o),p=function(m){!m||c.has(m)||(c.add(m),p(m.parentNode))};o.forEach(p);var h=function(m){!m||d.has(m)||Array.prototype.forEach.call(m.children,function(v){if(c.has(v))h(v);else{var b=v.getAttribute(r),w=b!==null&&b!=="false",y=(Ll.get(v)||0)+1,S=(s.get(v)||0)+1;Ll.set(v,y),s.set(v,S),a.push(v),y===1&&w&&Hf.set(v,!0),S===1&&v.setAttribute(n,"true"),w||v.setAttribute(r,"true")}})};return h(t),c.clear(),A0++,function(){a.forEach(function(m){var v=Ll.get(m)-1,b=s.get(m)-1;Ll.set(m,v),s.set(m,b),v||(Hf.has(m)||m.removeAttribute(r),Hf.delete(m)),b||m.removeAttribute(n)}),A0--,A0||(Ll=new WeakMap,Ll=new WeakMap,Hf=new WeakMap,Wf={})}},uz=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||iz(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),cz(r,o,n,"aria-hidden")):function(){return null}};function dz(e){const{isOpen:t,onClose:n,id:r,closeOnOverlayClick:o=!0,closeOnEsc:s=!0,useInert:a=!0,onOverlayClick:c,onEsc:d}=e,p=f.useRef(null),h=f.useRef(null),[m,v,b]=pz(r,"chakra-modal","chakra-modal--header","chakra-modal--body");fz(p,t&&a);const w=k6(p,t),y=f.useRef(null),S=f.useCallback(D=>{y.current=D.target},[]),k=f.useCallback(D=>{D.key==="Escape"&&(D.stopPropagation(),s&&(n==null||n()),d==null||d())},[s,n,d]),[_,P]=f.useState(!1),[I,E]=f.useState(!1),O=f.useCallback((D={},A=null)=>({role:"dialog",...D,ref:cn(A,p),id:m,tabIndex:-1,"aria-modal":!0,"aria-labelledby":_?v:void 0,"aria-describedby":I?b:void 0,onClick:et(D.onClick,L=>L.stopPropagation())}),[b,I,m,v,_]),R=f.useCallback(D=>{D.stopPropagation(),y.current===D.target&&e1.isTopModal(p.current)&&(o&&(n==null||n()),c==null||c())},[n,o,c]),M=f.useCallback((D={},A=null)=>({...D,ref:cn(A,h),onClick:et(D.onClick,R),onKeyDown:et(D.onKeyDown,k),onMouseDown:et(D.onMouseDown,S)}),[k,S,R]);return{isOpen:t,onClose:n,headerId:v,bodyId:b,setBodyMounted:E,setHeaderMounted:P,dialogRef:p,overlayRef:h,getDialogProps:O,getDialogContainerProps:M,index:w}}function fz(e,t){const n=e.current;f.useEffect(()=>{if(!(!e.current||!t))return uz(e.current)},[t,e,n])}function pz(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}var[hz,Wc]=Dn({name:"ModalStylesContext",errorMessage:`useModalStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[mz,ll]=Dn({strict:!0,name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap modal components in ``"}),ad=e=>{const t={scrollBehavior:"outside",autoFocus:!0,trapFocus:!0,returnFocusOnClose:!0,blockScrollOnMount:!0,allowPinchZoom:!1,motionPreset:"scale",lockFocusAcrossFrames:!0,...e},{portalProps:n,children:r,autoFocus:o,trapFocus:s,initialFocusRef:a,finalFocusRef:c,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:m,motionPreset:v,lockFocusAcrossFrames:b,onCloseComplete:w}=t,y=Fr("Modal",t),k={...dz(t),autoFocus:o,trapFocus:s,initialFocusRef:a,finalFocusRef:c,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:m,motionPreset:v,lockFocusAcrossFrames:b};return i.jsx(mz,{value:k,children:i.jsx(hz,{value:y,children:i.jsx(mo,{onExitComplete:w,children:k.isOpen&&i.jsx(Ju,{...n,children:r})})})})};ad.displayName="Modal";var Ep="right-scroll-bar-position",Op="width-before-scroll-bar",gz="with-scroll-bars-hidden",vz="--removed-body-scroll-bar-size",P6=w3(),T0=function(){},wm=f.forwardRef(function(e,t){var n=f.useRef(null),r=f.useState({onScrollCapture:T0,onWheelCapture:T0,onTouchMoveCapture:T0}),o=r[0],s=r[1],a=e.forwardProps,c=e.children,d=e.className,p=e.removeScrollBar,h=e.enabled,m=e.shards,v=e.sideCar,b=e.noIsolation,w=e.inert,y=e.allowPinchZoom,S=e.as,k=S===void 0?"div":S,_=e.gapMode,P=b3(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),I=v,E=v3([n,t]),O=Qs(Qs({},P),o);return f.createElement(f.Fragment,null,h&&f.createElement(I,{sideCar:P6,removeScrollBar:p,shards:m,noIsolation:b,inert:w,setCallbacks:s,allowPinchZoom:!!y,lockRef:n,gapMode:_}),a?f.cloneElement(f.Children.only(c),Qs(Qs({},O),{ref:E})):f.createElement(k,Qs({},O,{className:d,ref:E}),c))});wm.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};wm.classNames={fullWidth:Op,zeroRight:Ep};var uS,bz=function(){if(uS)return uS;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function yz(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=bz();return t&&e.setAttribute("nonce",t),e}function xz(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function wz(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Sz=function(){var e=0,t=null;return{add:function(n){e==0&&(t=yz())&&(xz(t,n),wz(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Cz=function(){var e=Sz();return function(t,n){f.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},j6=function(){var e=Cz(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},kz={left:0,top:0,right:0,gap:0},N0=function(e){return parseInt(e||"",10)||0},_z=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[N0(n),N0(r),N0(o)]},Pz=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return kz;var t=_z(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},jz=j6(),Iz=function(e,t,n,r){var o=e.left,s=e.top,a=e.right,c=e.gap;return n===void 0&&(n="margin"),` + .`.concat(gz,` { + overflow: hidden `).concat(r,`; + padding-right: `).concat(c,"px ").concat(r,`; + } + body { + overflow: hidden `).concat(r,`; + overscroll-behavior: contain; + `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` + padding-left: `.concat(o,`px; + padding-top: `).concat(s,`px; + padding-right: `).concat(a,`px; + margin-left:0; + margin-top:0; + margin-right: `).concat(c,"px ").concat(r,`; + `),n==="padding"&&"padding-right: ".concat(c,"px ").concat(r,";")].filter(Boolean).join(""),` + } + + .`).concat(Ep,` { + right: `).concat(c,"px ").concat(r,`; + } + + .`).concat(Op,` { + margin-right: `).concat(c,"px ").concat(r,`; + } + + .`).concat(Ep," .").concat(Ep,` { + right: 0 `).concat(r,`; + } + + .`).concat(Op," .").concat(Op,` { + margin-right: 0 `).concat(r,`; + } + + body { + `).concat(vz,": ").concat(c,`px; + } +`)},Ez=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r,s=f.useMemo(function(){return Pz(o)},[o]);return f.createElement(jz,{styles:Iz(s,!t,o,n?"":"!important")})},t1=!1;if(typeof window<"u")try{var Vf=Object.defineProperty({},"passive",{get:function(){return t1=!0,!0}});window.addEventListener("test",Vf,Vf),window.removeEventListener("test",Vf,Vf)}catch{t1=!1}var zl=t1?{passive:!1}:!1,Oz=function(e){return e.tagName==="TEXTAREA"},I6=function(e,t){var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Oz(e)&&n[t]==="visible")},Rz=function(e){return I6(e,"overflowY")},Mz=function(e){return I6(e,"overflowX")},dS=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=E6(e,r);if(o){var s=O6(e,r),a=s[1],c=s[2];if(a>c)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Dz=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},Az=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},E6=function(e,t){return e==="v"?Rz(t):Mz(t)},O6=function(e,t){return e==="v"?Dz(t):Az(t)},Tz=function(e,t){return e==="h"&&t==="rtl"?-1:1},Nz=function(e,t,n,r,o){var s=Tz(e,window.getComputedStyle(t).direction),a=s*r,c=n.target,d=t.contains(c),p=!1,h=a>0,m=0,v=0;do{var b=O6(e,c),w=b[0],y=b[1],S=b[2],k=y-S-s*w;(w||k)&&E6(e,c)&&(m+=k,v+=w),c=c.parentNode}while(!d&&c!==document.body||d&&(t.contains(c)||t===c));return(h&&(o&&m===0||!o&&a>m)||!h&&(o&&v===0||!o&&-a>v))&&(p=!0),p},Uf=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},fS=function(e){return[e.deltaX,e.deltaY]},pS=function(e){return e&&"current"in e?e.current:e},$z=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Lz=function(e){return` + .block-interactivity-`.concat(e,` {pointer-events: none;} + .allow-interactivity-`).concat(e,` {pointer-events: all;} +`)},zz=0,Bl=[];function Bz(e){var t=f.useRef([]),n=f.useRef([0,0]),r=f.useRef(),o=f.useState(zz++)[0],s=f.useState(j6)[0],a=f.useRef(e);f.useEffect(function(){a.current=e},[e]),f.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var y=Gv([e.lockRef.current],(e.shards||[]).map(pS),!0).filter(Boolean);return y.forEach(function(S){return S.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),y.forEach(function(S){return S.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var c=f.useCallback(function(y,S){if("touches"in y&&y.touches.length===2)return!a.current.allowPinchZoom;var k=Uf(y),_=n.current,P="deltaX"in y?y.deltaX:_[0]-k[0],I="deltaY"in y?y.deltaY:_[1]-k[1],E,O=y.target,R=Math.abs(P)>Math.abs(I)?"h":"v";if("touches"in y&&R==="h"&&O.type==="range")return!1;var M=dS(R,O);if(!M)return!0;if(M?E=R:(E=R==="v"?"h":"v",M=dS(R,O)),!M)return!1;if(!r.current&&"changedTouches"in y&&(P||I)&&(r.current=E),!E)return!0;var D=r.current||E;return Nz(D,S,y,D==="h"?P:I,!0)},[]),d=f.useCallback(function(y){var S=y;if(!(!Bl.length||Bl[Bl.length-1]!==s)){var k="deltaY"in S?fS(S):Uf(S),_=t.current.filter(function(E){return E.name===S.type&&E.target===S.target&&$z(E.delta,k)})[0];if(_&&_.should){S.cancelable&&S.preventDefault();return}if(!_){var P=(a.current.shards||[]).map(pS).filter(Boolean).filter(function(E){return E.contains(S.target)}),I=P.length>0?c(S,P[0]):!a.current.noIsolation;I&&S.cancelable&&S.preventDefault()}}},[]),p=f.useCallback(function(y,S,k,_){var P={name:y,delta:S,target:k,should:_};t.current.push(P),setTimeout(function(){t.current=t.current.filter(function(I){return I!==P})},1)},[]),h=f.useCallback(function(y){n.current=Uf(y),r.current=void 0},[]),m=f.useCallback(function(y){p(y.type,fS(y),y.target,c(y,e.lockRef.current))},[]),v=f.useCallback(function(y){p(y.type,Uf(y),y.target,c(y,e.lockRef.current))},[]);f.useEffect(function(){return Bl.push(s),e.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:v}),document.addEventListener("wheel",d,zl),document.addEventListener("touchmove",d,zl),document.addEventListener("touchstart",h,zl),function(){Bl=Bl.filter(function(y){return y!==s}),document.removeEventListener("wheel",d,zl),document.removeEventListener("touchmove",d,zl),document.removeEventListener("touchstart",h,zl)}},[]);var b=e.removeScrollBar,w=e.inert;return f.createElement(f.Fragment,null,w?f.createElement(s,{styles:Lz(o)}):null,b?f.createElement(Ez,{gapMode:e.gapMode}):null)}const Fz=LT(P6,Bz);var R6=f.forwardRef(function(e,t){return f.createElement(wm,Qs({},e,{ref:t,sideCar:Fz}))});R6.classNames=wm.classNames;const Hz=R6;function Wz(e){const{autoFocus:t,trapFocus:n,dialogRef:r,initialFocusRef:o,blockScrollOnMount:s,allowPinchZoom:a,finalFocusRef:c,returnFocusOnClose:d,preserveScrollBarGap:p,lockFocusAcrossFrames:h,isOpen:m}=ll(),[v,b]=LR();f.useEffect(()=>{!v&&b&&setTimeout(b)},[v,b]);const w=k6(r,m);return i.jsx(J3,{autoFocus:t,isDisabled:!n,initialFocusRef:o,finalFocusRef:c,restoreFocus:d,contentRef:r,lockFocusAcrossFrames:h,children:i.jsx(Hz,{removeScrollBar:!p,allowPinchZoom:a,enabled:w===1&&s,forwardProps:!0,children:e.children})})}var id=Ae((e,t)=>{const{className:n,children:r,containerProps:o,motionProps:s,...a}=e,{getDialogProps:c,getDialogContainerProps:d}=ll(),p=c(a,t),h=d(o),m=Ct("chakra-modal__content",n),v=Wc(),b={display:"flex",flexDirection:"column",position:"relative",width:"100%",outline:0,...v.dialog},w={display:"flex",width:"100vw",height:"$100vh",position:"fixed",left:0,top:0,...v.dialogContainer},{motionPreset:y}=ll();return i.jsx(Wz,{children:i.jsx(je.div,{...h,className:"chakra-modal__content-container",tabIndex:-1,__css:w,children:i.jsx(C6,{preset:y,motionProps:s,className:m,...p,__css:b,children:r})})})});id.displayName="ModalContent";function Ad(e){const{leastDestructiveRef:t,...n}=e;return i.jsx(ad,{...n,initialFocusRef:t})}var Td=Ae((e,t)=>i.jsx(id,{ref:t,role:"alertdialog",...e})),Ma=Ae((e,t)=>{const{className:n,...r}=e,o=Ct("chakra-modal__footer",n),a={display:"flex",alignItems:"center",justifyContent:"flex-end",...Wc().footer};return i.jsx(je.footer,{ref:t,...r,__css:a,className:o})});Ma.displayName="ModalFooter";var Da=Ae((e,t)=>{const{className:n,...r}=e,{headerId:o,setHeaderMounted:s}=ll();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const a=Ct("chakra-modal__header",n),d={flex:0,...Wc().header};return i.jsx(je.header,{ref:t,className:a,id:o,...r,__css:d})});Da.displayName="ModalHeader";var Vz=je(Er.div),Aa=Ae((e,t)=>{const{className:n,transition:r,motionProps:o,...s}=e,a=Ct("chakra-modal__overlay",n),d={pos:"fixed",left:"0",top:"0",w:"100vw",h:"100vh",...Wc().overlay},{motionPreset:p}=ll(),m=o||(p==="none"?{}:q5);return i.jsx(Vz,{...m,__css:d,ref:t,className:a,...s})});Aa.displayName="ModalOverlay";var Ta=Ae((e,t)=>{const{className:n,...r}=e,{bodyId:o,setBodyMounted:s}=ll();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const a=Ct("chakra-modal__body",n),c=Wc();return i.jsx(je.div,{ref:t,className:a,id:o,...r,__css:c.body})});Ta.displayName="ModalBody";var Gb=Ae((e,t)=>{const{onClick:n,className:r,...o}=e,{onClose:s}=ll(),a=Ct("chakra-modal__close-btn",r),c=Wc();return i.jsx(r9,{ref:t,__css:c.closeButton,className:a,onClick:et(n,d=>{d.stopPropagation(),s()}),...o})});Gb.displayName="ModalCloseButton";var Uz=e=>i.jsx(fo,{viewBox:"0 0 24 24",...e,children:i.jsx("path",{fill:"currentColor",d:"M21,5H3C2.621,5,2.275,5.214,2.105,5.553C1.937,5.892,1.973,6.297,2.2,6.6l9,12 c0.188,0.252,0.485,0.4,0.8,0.4s0.611-0.148,0.8-0.4l9-12c0.228-0.303,0.264-0.708,0.095-1.047C21.725,5.214,21.379,5,21,5z"})}),Gz=e=>i.jsx(fo,{viewBox:"0 0 24 24",...e,children:i.jsx("path",{fill:"currentColor",d:"M12.8,5.4c-0.377-0.504-1.223-0.504-1.6,0l-9,12c-0.228,0.303-0.264,0.708-0.095,1.047 C2.275,18.786,2.621,19,3,19h18c0.379,0,0.725-0.214,0.895-0.553c0.169-0.339,0.133-0.744-0.095-1.047L12.8,5.4z"})});function hS(e,t,n,r){f.useEffect(()=>{var o;if(!e.current||!r)return;const s=(o=e.current.ownerDocument.defaultView)!=null?o:window,a=Array.isArray(t)?t:[t],c=new s.MutationObserver(d=>{for(const p of d)p.type==="attributes"&&p.attributeName&&a.includes(p.attributeName)&&n(p)});return c.observe(e.current,{attributes:!0,attributeFilter:a}),()=>c.disconnect()})}function qz(e,t){const n=or(e);f.useEffect(()=>{let r=null;const o=()=>n();return t!==null&&(r=window.setInterval(o,t)),()=>{r&&window.clearInterval(r)}},[t,n])}var Kz=50,mS=300;function Xz(e,t){const[n,r]=f.useState(!1),[o,s]=f.useState(null),[a,c]=f.useState(!0),d=f.useRef(null),p=()=>clearTimeout(d.current);qz(()=>{o==="increment"&&e(),o==="decrement"&&t()},n?Kz:null);const h=f.useCallback(()=>{a&&e(),d.current=setTimeout(()=>{c(!1),r(!0),s("increment")},mS)},[e,a]),m=f.useCallback(()=>{a&&t(),d.current=setTimeout(()=>{c(!1),r(!0),s("decrement")},mS)},[t,a]),v=f.useCallback(()=>{c(!0),r(!1),p()},[]);return f.useEffect(()=>()=>p(),[]),{up:h,down:m,stop:v,isSpinning:n}}var Yz=/^[Ee0-9+\-.]$/;function Qz(e){return Yz.test(e)}function Jz(e,t){if(e.key==null)return!0;const n=e.ctrlKey||e.altKey||e.metaKey;return!(e.key.length===1)||n?!0:t(e.key)}function Zz(e={}){const{focusInputOnChange:t=!0,clampValueOnBlur:n=!0,keepWithinRange:r=!0,min:o=Number.MIN_SAFE_INTEGER,max:s=Number.MAX_SAFE_INTEGER,step:a=1,isReadOnly:c,isDisabled:d,isRequired:p,isInvalid:h,pattern:m="[0-9]*(.[0-9]+)?",inputMode:v="decimal",allowMouseWheel:b,id:w,onChange:y,precision:S,name:k,"aria-describedby":_,"aria-label":P,"aria-labelledby":I,onFocus:E,onBlur:O,onInvalid:R,getAriaValueText:M,isValidCharacter:D,format:A,parse:L,...Q}=e,F=or(E),V=or(O),q=or(R),G=or(D??Qz),T=or(M),z=bT(e),{update:$,increment:Y,decrement:ae}=z,[fe,ie]=f.useState(!1),X=!(c||d),K=f.useRef(null),U=f.useRef(null),se=f.useRef(null),re=f.useRef(null),oe=f.useCallback(we=>we.split("").filter(G).join(""),[G]),pe=f.useCallback(we=>{var ht;return(ht=L==null?void 0:L(we))!=null?ht:we},[L]),le=f.useCallback(we=>{var ht;return((ht=A==null?void 0:A(we))!=null?ht:we).toString()},[A]);Fa(()=>{(z.valueAsNumber>s||z.valueAsNumber{if(!K.current)return;if(K.current.value!=z.value){const ht=pe(K.current.value);z.setValue(oe(ht))}},[pe,oe]);const ge=f.useCallback((we=a)=>{X&&Y(we)},[Y,X,a]),ke=f.useCallback((we=a)=>{X&&ae(we)},[ae,X,a]),xe=Xz(ge,ke);hS(se,"disabled",xe.stop,xe.isSpinning),hS(re,"disabled",xe.stop,xe.isSpinning);const de=f.useCallback(we=>{if(we.nativeEvent.isComposing)return;const $t=pe(we.currentTarget.value);$(oe($t)),U.current={start:we.currentTarget.selectionStart,end:we.currentTarget.selectionEnd}},[$,oe,pe]),Te=f.useCallback(we=>{var ht,$t,Lt;F==null||F(we),U.current&&(we.target.selectionStart=($t=U.current.start)!=null?$t:(ht=we.currentTarget.value)==null?void 0:ht.length,we.currentTarget.selectionEnd=(Lt=U.current.end)!=null?Lt:we.currentTarget.selectionStart)},[F]),Ee=f.useCallback(we=>{if(we.nativeEvent.isComposing)return;Jz(we,G)||we.preventDefault();const ht=$e(we)*a,$t=we.key,Le={ArrowUp:()=>ge(ht),ArrowDown:()=>ke(ht),Home:()=>$(o),End:()=>$(s)}[$t];Le&&(we.preventDefault(),Le(we))},[G,a,ge,ke,$,o,s]),$e=we=>{let ht=1;return(we.metaKey||we.ctrlKey)&&(ht=.1),we.shiftKey&&(ht=10),ht},kt=f.useMemo(()=>{const we=T==null?void 0:T(z.value);if(we!=null)return we;const ht=z.value.toString();return ht||void 0},[z.value,T]),ct=f.useCallback(()=>{let we=z.value;if(z.value==="")return;/^[eE]/.test(z.value.toString())?z.setValue(""):(z.valueAsNumbers&&(we=s),z.cast(we))},[z,s,o]),on=f.useCallback(()=>{ie(!1),n&&ct()},[n,ie,ct]),vt=f.useCallback(()=>{t&&requestAnimationFrame(()=>{var we;(we=K.current)==null||we.focus()})},[t]),bt=f.useCallback(we=>{we.preventDefault(),xe.up(),vt()},[vt,xe]),Se=f.useCallback(we=>{we.preventDefault(),xe.down(),vt()},[vt,xe]);Yi(()=>K.current,"wheel",we=>{var ht,$t;const Le=(($t=(ht=K.current)==null?void 0:ht.ownerDocument)!=null?$t:document).activeElement===K.current;if(!b||!Le)return;we.preventDefault();const Ge=$e(we)*a,Pn=Math.sign(we.deltaY);Pn===-1?ge(Ge):Pn===1&&ke(Ge)},{passive:!1});const Me=f.useCallback((we={},ht=null)=>{const $t=d||r&&z.isAtMax;return{...we,ref:cn(ht,se),role:"button",tabIndex:-1,onPointerDown:et(we.onPointerDown,Lt=>{Lt.button!==0||$t||bt(Lt)}),onPointerLeave:et(we.onPointerLeave,xe.stop),onPointerUp:et(we.onPointerUp,xe.stop),disabled:$t,"aria-disabled":rs($t)}},[z.isAtMax,r,bt,xe.stop,d]),Pt=f.useCallback((we={},ht=null)=>{const $t=d||r&&z.isAtMin;return{...we,ref:cn(ht,re),role:"button",tabIndex:-1,onPointerDown:et(we.onPointerDown,Lt=>{Lt.button!==0||$t||Se(Lt)}),onPointerLeave:et(we.onPointerLeave,xe.stop),onPointerUp:et(we.onPointerUp,xe.stop),disabled:$t,"aria-disabled":rs($t)}},[z.isAtMin,r,Se,xe.stop,d]),Tt=f.useCallback((we={},ht=null)=>{var $t,Lt,Le,Ge;return{name:k,inputMode:v,type:"text",pattern:m,"aria-labelledby":I,"aria-label":P,"aria-describedby":_,id:w,disabled:d,...we,readOnly:($t=we.readOnly)!=null?$t:c,"aria-readonly":(Lt=we.readOnly)!=null?Lt:c,"aria-required":(Le=we.required)!=null?Le:p,required:(Ge=we.required)!=null?Ge:p,ref:cn(K,ht),value:le(z.value),role:"spinbutton","aria-valuemin":o,"aria-valuemax":s,"aria-valuenow":Number.isNaN(z.valueAsNumber)?void 0:z.valueAsNumber,"aria-invalid":rs(h??z.isOutOfRange),"aria-valuetext":kt,autoComplete:"off",autoCorrect:"off",onChange:et(we.onChange,de),onKeyDown:et(we.onKeyDown,Ee),onFocus:et(we.onFocus,Te,()=>ie(!0)),onBlur:et(we.onBlur,V,on)}},[k,v,m,I,P,le,_,w,d,p,c,h,z.value,z.valueAsNumber,z.isOutOfRange,o,s,kt,de,Ee,Te,V,on]);return{value:le(z.value),valueAsNumber:z.valueAsNumber,isFocused:fe,isDisabled:d,isReadOnly:c,getIncrementButtonProps:Me,getDecrementButtonProps:Pt,getInputProps:Tt,htmlProps:Q}}var[eB,Sm]=Dn({name:"NumberInputStylesContext",errorMessage:`useNumberInputStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[tB,qb]=Dn({name:"NumberInputContext",errorMessage:"useNumberInputContext: `context` is undefined. Seems you forgot to wrap number-input's components within "}),Cm=Ae(function(t,n){const r=Fr("NumberInput",t),o=qn(t),s=gb(o),{htmlProps:a,...c}=Zz(s),d=f.useMemo(()=>c,[c]);return i.jsx(tB,{value:d,children:i.jsx(eB,{value:r,children:i.jsx(je.div,{...a,ref:n,className:Ct("chakra-numberinput",t.className),__css:{position:"relative",zIndex:0,...r.root}})})})});Cm.displayName="NumberInput";var km=Ae(function(t,n){const r=Sm();return i.jsx(je.div,{"aria-hidden":!0,ref:n,...t,__css:{display:"flex",flexDirection:"column",position:"absolute",top:"0",insetEnd:"0px",margin:"1px",height:"calc(100% - 2px)",zIndex:1,...r.stepperGroup}})});km.displayName="NumberInputStepper";var _m=Ae(function(t,n){const{getInputProps:r}=qb(),o=r(t,n),s=Sm();return i.jsx(je.input,{...o,className:Ct("chakra-numberinput__field",t.className),__css:{width:"100%",...s.field}})});_m.displayName="NumberInputField";var M6=je("div",{baseStyle:{display:"flex",justifyContent:"center",alignItems:"center",flex:1,transitionProperty:"common",transitionDuration:"normal",userSelect:"none",cursor:"pointer",lineHeight:"normal"}}),Pm=Ae(function(t,n){var r;const o=Sm(),{getDecrementButtonProps:s}=qb(),a=s(t,n);return i.jsx(M6,{...a,__css:o.stepper,children:(r=t.children)!=null?r:i.jsx(Uz,{})})});Pm.displayName="NumberDecrementStepper";var jm=Ae(function(t,n){var r;const{getIncrementButtonProps:o}=qb(),s=o(t,n),a=Sm();return i.jsx(M6,{...s,__css:a.stepper,children:(r=t.children)!=null?r:i.jsx(Gz,{})})});jm.displayName="NumberIncrementStepper";var[nB,Nd]=Dn({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),[rB,Kb]=Dn({name:"PopoverStylesContext",errorMessage:`usePopoverStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `});function Xb(e){const t=f.Children.only(e.children),{getTriggerProps:n}=Nd();return f.cloneElement(t,n(t.props,t.ref))}Xb.displayName="PopoverTrigger";var Fl={click:"click",hover:"hover"};function oB(e={}){const{closeOnBlur:t=!0,closeOnEsc:n=!0,initialFocusRef:r,id:o,returnFocusOnClose:s=!0,autoFocus:a=!0,arrowSize:c,arrowShadowColor:d,trigger:p=Fl.click,openDelay:h=200,closeDelay:m=200,isLazy:v,lazyBehavior:b="unmount",computePositionOnMount:w,...y}=e,{isOpen:S,onClose:k,onOpen:_,onToggle:P}=Wb(e),I=f.useRef(null),E=f.useRef(null),O=f.useRef(null),R=f.useRef(!1),M=f.useRef(!1);S&&(M.current=!0);const[D,A]=f.useState(!1),[L,Q]=f.useState(!1),F=f.useId(),V=o??F,[q,G,T,z]=["popover-trigger","popover-content","popover-header","popover-body"].map(de=>`${de}-${V}`),{referenceRef:$,getArrowProps:Y,getPopperProps:ae,getArrowInnerProps:fe,forceUpdate:ie}=Hb({...y,enabled:S||!!w}),X=v6({isOpen:S,ref:O});d3({enabled:S,ref:E}),a6(O,{focusRef:E,visible:S,shouldFocus:s&&p===Fl.click}),d$(O,{focusRef:r,visible:S,shouldFocus:a&&p===Fl.click});const K=Vb({wasSelected:M.current,enabled:v,mode:b,isSelected:X.present}),U=f.useCallback((de={},Te=null)=>{const Ee={...de,style:{...de.style,transformOrigin:Ir.transformOrigin.varRef,[Ir.arrowSize.var]:c?`${c}px`:void 0,[Ir.arrowShadowColor.var]:d},ref:cn(O,Te),children:K?de.children:null,id:G,tabIndex:-1,role:"dialog",onKeyDown:et(de.onKeyDown,$e=>{n&&$e.key==="Escape"&&k()}),onBlur:et(de.onBlur,$e=>{const kt=gS($e),ct=$0(O.current,kt),on=$0(E.current,kt);S&&t&&(!ct&&!on)&&k()}),"aria-labelledby":D?T:void 0,"aria-describedby":L?z:void 0};return p===Fl.hover&&(Ee.role="tooltip",Ee.onMouseEnter=et(de.onMouseEnter,()=>{R.current=!0}),Ee.onMouseLeave=et(de.onMouseLeave,$e=>{$e.nativeEvent.relatedTarget!==null&&(R.current=!1,setTimeout(()=>k(),m))})),Ee},[K,G,D,T,L,z,p,n,k,S,t,m,d,c]),se=f.useCallback((de={},Te=null)=>ae({...de,style:{visibility:S?"visible":"hidden",...de.style}},Te),[S,ae]),re=f.useCallback((de,Te=null)=>({...de,ref:cn(Te,I,$)}),[I,$]),oe=f.useRef(),pe=f.useRef(),le=f.useCallback(de=>{I.current==null&&$(de)},[$]),ge=f.useCallback((de={},Te=null)=>{const Ee={...de,ref:cn(E,Te,le),id:q,"aria-haspopup":"dialog","aria-expanded":S,"aria-controls":G};return p===Fl.click&&(Ee.onClick=et(de.onClick,P)),p===Fl.hover&&(Ee.onFocus=et(de.onFocus,()=>{oe.current===void 0&&_()}),Ee.onBlur=et(de.onBlur,$e=>{const kt=gS($e),ct=!$0(O.current,kt);S&&t&&ct&&k()}),Ee.onKeyDown=et(de.onKeyDown,$e=>{$e.key==="Escape"&&k()}),Ee.onMouseEnter=et(de.onMouseEnter,()=>{R.current=!0,oe.current=window.setTimeout(()=>_(),h)}),Ee.onMouseLeave=et(de.onMouseLeave,()=>{R.current=!1,oe.current&&(clearTimeout(oe.current),oe.current=void 0),pe.current=window.setTimeout(()=>{R.current===!1&&k()},m)})),Ee},[q,S,G,p,le,P,_,t,k,h,m]);f.useEffect(()=>()=>{oe.current&&clearTimeout(oe.current),pe.current&&clearTimeout(pe.current)},[]);const ke=f.useCallback((de={},Te=null)=>({...de,id:T,ref:cn(Te,Ee=>{A(!!Ee)})}),[T]),xe=f.useCallback((de={},Te=null)=>({...de,id:z,ref:cn(Te,Ee=>{Q(!!Ee)})}),[z]);return{forceUpdate:ie,isOpen:S,onAnimationComplete:X.onComplete,onClose:k,getAnchorProps:re,getArrowProps:Y,getArrowInnerProps:fe,getPopoverPositionerProps:se,getPopoverProps:U,getTriggerProps:ge,getHeaderProps:ke,getBodyProps:xe}}function $0(e,t){return e===t||(e==null?void 0:e.contains(t))}function gS(e){var t;const n=e.currentTarget.ownerDocument.activeElement;return(t=e.relatedTarget)!=null?t:n}function Yb(e){const t=Fr("Popover",e),{children:n,...r}=qn(e),o=Nc(),s=oB({...r,direction:o.direction});return i.jsx(nB,{value:s,children:i.jsx(rB,{value:t,children:X1(n,{isOpen:s.isOpen,onClose:s.onClose,forceUpdate:s.forceUpdate})})})}Yb.displayName="Popover";var L0=(e,t)=>t?`${e}.${t}, ${t}`:void 0;function D6(e){var t;const{bg:n,bgColor:r,backgroundColor:o,shadow:s,boxShadow:a,shadowColor:c}=e,{getArrowProps:d,getArrowInnerProps:p}=Nd(),h=Kb(),m=(t=n??r)!=null?t:o,v=s??a;return i.jsx(je.div,{...d(),className:"chakra-popover__arrow-positioner",children:i.jsx(je.div,{className:Ct("chakra-popover__arrow",e.className),...p(e),__css:{"--popper-arrow-shadow-color":L0("colors",c),"--popper-arrow-bg":L0("colors",m),"--popper-arrow-shadow":L0("shadows",v),...h.arrow}})})}D6.displayName="PopoverArrow";var A6=Ae(function(t,n){const{getBodyProps:r}=Nd(),o=Kb();return i.jsx(je.div,{...r(t,n),className:Ct("chakra-popover__body",t.className),__css:o.body})});A6.displayName="PopoverBody";function sB(e){if(e)return{enter:{...e.enter,visibility:"visible"},exit:{...e.exit,transitionEnd:{visibility:"hidden"}}}}var aB={exit:{opacity:0,scale:.95,transition:{duration:.1,ease:[.4,0,1,1]}},enter:{scale:1,opacity:1,transition:{duration:.15,ease:[0,0,.2,1]}}},iB=je(Er.section),T6=Ae(function(t,n){const{variants:r=aB,...o}=t,{isOpen:s}=Nd();return i.jsx(iB,{ref:n,variants:sB(r),initial:!1,animate:s?"enter":"exit",...o})});T6.displayName="PopoverTransition";var Qb=Ae(function(t,n){const{rootProps:r,motionProps:o,...s}=t,{getPopoverProps:a,getPopoverPositionerProps:c,onAnimationComplete:d}=Nd(),p=Kb(),h={position:"relative",display:"flex",flexDirection:"column",...p.content};return i.jsx(je.div,{...c(r),__css:p.popper,className:"chakra-popover__popper",children:i.jsx(T6,{...o,...a(s,n),onAnimationComplete:cm(d,s.onAnimationComplete),className:Ct("chakra-popover__content",t.className),__css:h})})});Qb.displayName="PopoverContent";function lB(e,t,n){return(e-t)*100/(n-t)}za({"0%":{strokeDasharray:"1, 400",strokeDashoffset:"0"},"50%":{strokeDasharray:"400, 400",strokeDashoffset:"-100"},"100%":{strokeDasharray:"400, 400",strokeDashoffset:"-260"}});za({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}});var cB=za({"0%":{left:"-40%"},"100%":{left:"100%"}}),uB=za({from:{backgroundPosition:"1rem 0"},to:{backgroundPosition:"0 0"}});function dB(e){const{value:t=0,min:n,max:r,valueText:o,getValueText:s,isIndeterminate:a,role:c="progressbar"}=e,d=lB(t,n,r);return{bind:{"data-indeterminate":a?"":void 0,"aria-valuemax":r,"aria-valuemin":n,"aria-valuenow":a?void 0:t,"aria-valuetext":(()=>{if(t!=null)return typeof s=="function"?s(t,d):o})(),role:c},percent:d,value:t}}var[fB,pB]=Dn({name:"ProgressStylesContext",errorMessage:`useProgressStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),hB=Ae((e,t)=>{const{min:n,max:r,value:o,isIndeterminate:s,role:a,...c}=e,d=dB({value:o,min:n,max:r,isIndeterminate:s,role:a}),h={height:"100%",...pB().filledTrack};return i.jsx(je.div,{ref:t,style:{width:`${d.percent}%`,...c.style},...d.bind,...c,__css:h})}),N6=Ae((e,t)=>{var n;const{value:r,min:o=0,max:s=100,hasStripe:a,isAnimated:c,children:d,borderRadius:p,isIndeterminate:h,"aria-label":m,"aria-labelledby":v,"aria-valuetext":b,title:w,role:y,...S}=qn(e),k=Fr("Progress",e),_=p??((n=k.track)==null?void 0:n.borderRadius),P={animation:`${uB} 1s linear infinite`},O={...!h&&a&&c&&P,...h&&{position:"absolute",willChange:"left",minWidth:"50%",animation:`${cB} 1s ease infinite normal none running`}},R={overflow:"hidden",position:"relative",...k.track};return i.jsx(je.div,{ref:t,borderRadius:_,__css:R,...S,children:i.jsxs(fB,{value:k,children:[i.jsx(hB,{"aria-label":m,"aria-labelledby":v,"aria-valuetext":b,min:o,max:s,value:r,isIndeterminate:h,css:O,borderRadius:_,title:w,role:y}),d]})})});N6.displayName="Progress";function mB(e){return e&&Pv(e)&&Pv(e.target)}function gB(e={}){const{onChange:t,value:n,defaultValue:r,name:o,isDisabled:s,isFocusable:a,isNative:c,...d}=e,[p,h]=f.useState(r||""),m=typeof n<"u",v=m?n:p,b=f.useRef(null),w=f.useCallback(()=>{const E=b.current;if(!E)return;let O="input:not(:disabled):checked";const R=E.querySelector(O);if(R){R.focus();return}O="input:not(:disabled)";const M=E.querySelector(O);M==null||M.focus()},[]),S=`radio-${f.useId()}`,k=o||S,_=f.useCallback(E=>{const O=mB(E)?E.target.value:E;m||h(O),t==null||t(String(O))},[t,m]),P=f.useCallback((E={},O=null)=>({...E,ref:cn(O,b),role:"radiogroup"}),[]),I=f.useCallback((E={},O=null)=>({...E,ref:O,name:k,[c?"checked":"isChecked"]:v!=null?E.value===v:void 0,onChange(M){_(M)},"data-radiogroup":!0}),[c,k,_,v]);return{getRootProps:P,getRadioProps:I,name:k,ref:b,focus:w,setValue:h,value:v,onChange:_,isDisabled:s,isFocusable:a,htmlProps:d}}var[vB,$6]=Dn({name:"RadioGroupContext",strict:!1}),rh=Ae((e,t)=>{const{colorScheme:n,size:r,variant:o,children:s,className:a,isDisabled:c,isFocusable:d,...p}=e,{value:h,onChange:m,getRootProps:v,name:b,htmlProps:w}=gB(p),y=f.useMemo(()=>({name:b,size:r,onChange:m,colorScheme:n,value:h,variant:o,isDisabled:c,isFocusable:d}),[b,r,m,n,h,o,c,d]);return i.jsx(vB,{value:y,children:i.jsx(je.div,{...v(w,t),className:Ct("chakra-radio-group",a),children:s})})});rh.displayName="RadioGroup";var bB={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"};function yB(e={}){const{defaultChecked:t,isChecked:n,isFocusable:r,isDisabled:o,isReadOnly:s,isRequired:a,onChange:c,isInvalid:d,name:p,value:h,id:m,"data-radiogroup":v,"aria-describedby":b,...w}=e,y=`radio-${f.useId()}`,S=Pd(),_=!!$6()||!!v;let I=!!S&&!_?S.id:y;I=m??I;const E=o??(S==null?void 0:S.isDisabled),O=s??(S==null?void 0:S.isReadOnly),R=a??(S==null?void 0:S.isRequired),M=d??(S==null?void 0:S.isInvalid),[D,A]=f.useState(!1),[L,Q]=f.useState(!1),[F,V]=f.useState(!1),[q,G]=f.useState(!1),[T,z]=f.useState(!!t),$=typeof n<"u",Y=$?n:T;f.useEffect(()=>e3(A),[]);const ae=f.useCallback(le=>{if(O||E){le.preventDefault();return}$||z(le.target.checked),c==null||c(le)},[$,E,O,c]),fe=f.useCallback(le=>{le.key===" "&&G(!0)},[G]),ie=f.useCallback(le=>{le.key===" "&&G(!1)},[G]),X=f.useCallback((le={},ge=null)=>({...le,ref:ge,"data-active":Ft(q),"data-hover":Ft(F),"data-disabled":Ft(E),"data-invalid":Ft(M),"data-checked":Ft(Y),"data-focus":Ft(L),"data-focus-visible":Ft(L&&D),"data-readonly":Ft(O),"aria-hidden":!0,onMouseDown:et(le.onMouseDown,()=>G(!0)),onMouseUp:et(le.onMouseUp,()=>G(!1)),onMouseEnter:et(le.onMouseEnter,()=>V(!0)),onMouseLeave:et(le.onMouseLeave,()=>V(!1))}),[q,F,E,M,Y,L,O,D]),{onFocus:K,onBlur:U}=S??{},se=f.useCallback((le={},ge=null)=>{const ke=E&&!r;return{...le,id:I,ref:ge,type:"radio",name:p,value:h,onChange:et(le.onChange,ae),onBlur:et(U,le.onBlur,()=>Q(!1)),onFocus:et(K,le.onFocus,()=>Q(!0)),onKeyDown:et(le.onKeyDown,fe),onKeyUp:et(le.onKeyUp,ie),checked:Y,disabled:ke,readOnly:O,required:R,"aria-invalid":rs(M),"aria-disabled":rs(ke),"aria-required":rs(R),"data-readonly":Ft(O),"aria-describedby":b,style:bB}},[E,r,I,p,h,ae,U,K,fe,ie,Y,O,R,M,b]);return{state:{isInvalid:M,isFocused:L,isChecked:Y,isActive:q,isHovered:F,isDisabled:E,isReadOnly:O,isRequired:R},getCheckboxProps:X,getRadioProps:X,getInputProps:se,getLabelProps:(le={},ge=null)=>({...le,ref:ge,onMouseDown:et(le.onMouseDown,xB),"data-disabled":Ft(E),"data-checked":Ft(Y),"data-invalid":Ft(M)}),getRootProps:(le,ge=null)=>({...le,ref:ge,"data-disabled":Ft(E),"data-checked":Ft(Y),"data-invalid":Ft(M)}),htmlProps:w}}function xB(e){e.preventDefault(),e.stopPropagation()}function wB(e,t){const n={},r={};for(const[o,s]of Object.entries(e))t.includes(o)?n[o]=s:r[o]=s;return[n,r]}var ya=Ae((e,t)=>{var n;const r=$6(),{onChange:o,value:s}=e,a=Fr("Radio",{...r,...e}),c=qn(e),{spacing:d="0.5rem",children:p,isDisabled:h=r==null?void 0:r.isDisabled,isFocusable:m=r==null?void 0:r.isFocusable,inputProps:v,...b}=c;let w=e.isChecked;(r==null?void 0:r.value)!=null&&s!=null&&(w=r.value===s);let y=o;r!=null&&r.onChange&&s!=null&&(y=cm(r.onChange,o));const S=(n=e==null?void 0:e.name)!=null?n:r==null?void 0:r.name,{getInputProps:k,getCheckboxProps:_,getLabelProps:P,getRootProps:I,htmlProps:E}=yB({...b,isChecked:w,isFocusable:m,isDisabled:h,onChange:y,name:S}),[O,R]=wB(E,T_),M=_(R),D=k(v,t),A=P(),L=Object.assign({},O,I()),Q={display:"inline-flex",alignItems:"center",verticalAlign:"top",cursor:"pointer",position:"relative",...a.container},F={display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,...a.control},V={userSelect:"none",marginStart:d,...a.label};return i.jsxs(je.label,{className:"chakra-radio",...L,__css:Q,children:[i.jsx("input",{className:"chakra-radio__input",...D}),i.jsx(je.span,{className:"chakra-radio__control",...M,__css:F}),p&&i.jsx(je.span,{className:"chakra-radio__label",...A,__css:V,children:p})]})});ya.displayName="Radio";var L6=Ae(function(t,n){const{children:r,placeholder:o,className:s,...a}=t;return i.jsxs(je.select,{...a,ref:n,className:Ct("chakra-select",s),children:[o&&i.jsx("option",{value:"",children:o}),r]})});L6.displayName="SelectField";function SB(e,t){const n={},r={};for(const[o,s]of Object.entries(e))t.includes(o)?n[o]=s:r[o]=s;return[n,r]}var z6=Ae((e,t)=>{var n;const r=Fr("Select",e),{rootProps:o,placeholder:s,icon:a,color:c,height:d,h:p,minH:h,minHeight:m,iconColor:v,iconSize:b,...w}=qn(e),[y,S]=SB(w,T_),k=mb(S),_={width:"100%",height:"fit-content",position:"relative",color:c},P={paddingEnd:"2rem",...r.field,_focus:{zIndex:"unset",...(n=r.field)==null?void 0:n._focus}};return i.jsxs(je.div,{className:"chakra-select__wrapper",__css:_,...y,...o,children:[i.jsx(L6,{ref:t,height:p??d,minH:h??m,placeholder:s,...k,__css:P,children:e.children}),i.jsx(B6,{"data-disabled":Ft(k.disabled),...(v||c)&&{color:v||c},__css:r.icon,...b&&{fontSize:b},children:a})]})});z6.displayName="Select";var CB=e=>i.jsx("svg",{viewBox:"0 0 24 24",...e,children:i.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})}),kB=je("div",{baseStyle:{position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",top:"50%",transform:"translateY(-50%)"}}),B6=e=>{const{children:t=i.jsx(CB,{}),...n}=e,r=f.cloneElement(t,{role:"presentation",className:"chakra-select__icon",focusable:!1,"aria-hidden":!0,style:{width:"1em",height:"1em",color:"currentColor"}});return i.jsx(kB,{...n,className:"chakra-select__icon-wrapper",children:f.isValidElement(t)?r:null})};B6.displayName="SelectIcon";function _B(){const e=f.useRef(!0);return f.useEffect(()=>{e.current=!1},[]),e.current}function PB(e){const t=f.useRef();return f.useEffect(()=>{t.current=e},[e]),t.current}var jB=je("div",{baseStyle:{boxShadow:"none",backgroundClip:"padding-box",cursor:"default",color:"transparent",pointerEvents:"none",userSelect:"none","&::before, &::after, *":{visibility:"hidden"}}}),n1=N_("skeleton-start-color"),r1=N_("skeleton-end-color"),IB=za({from:{opacity:0},to:{opacity:1}}),EB=za({from:{borderColor:n1.reference,background:n1.reference},to:{borderColor:r1.reference,background:r1.reference}}),Im=Ae((e,t)=>{const n={...e,fadeDuration:typeof e.fadeDuration=="number"?e.fadeDuration:.4,speed:typeof e.speed=="number"?e.speed:.8},r=ia("Skeleton",n),o=_B(),{startColor:s="",endColor:a="",isLoaded:c,fadeDuration:d,speed:p,className:h,fitContent:m,...v}=qn(n),[b,w]=$c("colors",[s,a]),y=PB(c),S=Ct("chakra-skeleton",h),k={...b&&{[n1.variable]:b},...w&&{[r1.variable]:w}};if(c){const _=o||y?"none":`${IB} ${d}s`;return i.jsx(je.div,{ref:t,className:S,__css:{animation:_},...v})}return i.jsx(jB,{ref:t,className:S,...v,__css:{width:m?"fit-content":void 0,...r,...k,_dark:{...r._dark,...k},animation:`${p}s linear infinite alternate ${EB}`}})});Im.displayName="Skeleton";var Zo=e=>e?"":void 0,uc=e=>e?!0:void 0,ji=(...e)=>e.filter(Boolean).join(" ");function dc(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function OB(e){return{root:`slider-root-${e}`,getThumb:t=>`slider-thumb-${e}-${t}`,getInput:t=>`slider-input-${e}-${t}`,track:`slider-track-${e}`,innerTrack:`slider-filled-track-${e}`,getMarker:t=>`slider-marker-${e}-${t}`,output:`slider-output-${e}`}}function Mu(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}var Rp={width:0,height:0},Gf=e=>e||Rp;function F6(e){const{orientation:t,thumbPercents:n,thumbRects:r,isReversed:o}=e,s=y=>{var S;const k=(S=r[y])!=null?S:Rp;return{position:"absolute",userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",touchAction:"none",...Mu({orientation:t,vertical:{bottom:`calc(${n[y]}% - ${k.height/2}px)`},horizontal:{left:`calc(${n[y]}% - ${k.width/2}px)`}})}},a=t==="vertical"?r.reduce((y,S)=>Gf(y).height>Gf(S).height?y:S,Rp):r.reduce((y,S)=>Gf(y).width>Gf(S).width?y:S,Rp),c={position:"relative",touchAction:"none",WebkitTapHighlightColor:"rgba(0,0,0,0)",userSelect:"none",outline:0,...Mu({orientation:t,vertical:a?{paddingLeft:a.width/2,paddingRight:a.width/2}:{},horizontal:a?{paddingTop:a.height/2,paddingBottom:a.height/2}:{}})},d={position:"absolute",...Mu({orientation:t,vertical:{left:"50%",transform:"translateX(-50%)",height:"100%"},horizontal:{top:"50%",transform:"translateY(-50%)",width:"100%"}})},p=n.length===1,h=[0,o?100-n[0]:n[0]],m=p?h:n;let v=m[0];!p&&o&&(v=100-v);const b=Math.abs(m[m.length-1]-m[0]),w={...d,...Mu({orientation:t,vertical:o?{height:`${b}%`,top:`${v}%`}:{height:`${b}%`,bottom:`${v}%`},horizontal:o?{width:`${b}%`,right:`${v}%`}:{width:`${b}%`,left:`${v}%`}})};return{trackStyle:d,innerTrackStyle:w,rootStyle:c,getThumbStyle:s}}function H6(e){const{isReversed:t,direction:n,orientation:r}=e;return n==="ltr"||r==="vertical"?t:!t}function RB(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function MB(e){const t=AB(e);return typeof t.PointerEvent<"u"&&e instanceof t.PointerEvent?e.pointerType==="mouse":e instanceof t.MouseEvent}function W6(e){return!!e.touches}function DB(e){return W6(e)&&e.touches.length>1}function AB(e){var t;return(t=e.view)!=null?t:window}function TB(e,t="page"){const n=e.touches[0]||e.changedTouches[0];return{x:n[`${t}X`],y:n[`${t}Y`]}}function NB(e,t="page"){return{x:e[`${t}X`],y:e[`${t}Y`]}}function V6(e,t="page"){return W6(e)?TB(e,t):NB(e,t)}function $B(e){return t=>{const n=MB(t);(!n||n&&t.button===0)&&e(t)}}function LB(e,t=!1){function n(o){e(o,{point:V6(o)})}return t?$B(n):n}function Mp(e,t,n,r){return RB(e,t,LB(n,t==="pointerdown"),r)}var zB=Object.defineProperty,BB=(e,t,n)=>t in e?zB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vs=(e,t,n)=>(BB(e,typeof t!="symbol"?t+"":t,n),n),FB=class{constructor(e,t,n){vs(this,"history",[]),vs(this,"startEvent",null),vs(this,"lastEvent",null),vs(this,"lastEventInfo",null),vs(this,"handlers",{}),vs(this,"removeListeners",()=>{}),vs(this,"threshold",3),vs(this,"win"),vs(this,"updatePoint",()=>{if(!(this.lastEvent&&this.lastEventInfo))return;const c=z0(this.lastEventInfo,this.history),d=this.startEvent!==null,p=UB(c.offset,{x:0,y:0})>=this.threshold;if(!d&&!p)return;const{timestamp:h}=Rw();this.history.push({...c.point,timestamp:h});const{onStart:m,onMove:v}=this.handlers;d||(m==null||m(this.lastEvent,c),this.startEvent=this.lastEvent),v==null||v(this.lastEvent,c)}),vs(this,"onPointerMove",(c,d)=>{this.lastEvent=c,this.lastEventInfo=d,aA.update(this.updatePoint,!0)}),vs(this,"onPointerUp",(c,d)=>{const p=z0(d,this.history),{onEnd:h,onSessionEnd:m}=this.handlers;m==null||m(c,p),this.end(),!(!h||!this.startEvent)&&(h==null||h(c,p))});var r;if(this.win=(r=e.view)!=null?r:window,DB(e))return;this.handlers=t,n&&(this.threshold=n),e.stopPropagation(),e.preventDefault();const o={point:V6(e)},{timestamp:s}=Rw();this.history=[{...o.point,timestamp:s}];const{onSessionStart:a}=t;a==null||a(e,z0(o,this.history)),this.removeListeners=VB(Mp(this.win,"pointermove",this.onPointerMove),Mp(this.win,"pointerup",this.onPointerUp),Mp(this.win,"pointercancel",this.onPointerUp))}updateHandlers(e){this.handlers=e}end(){var e;(e=this.removeListeners)==null||e.call(this),iA.update(this.updatePoint)}};function vS(e,t){return{x:e.x-t.x,y:e.y-t.y}}function z0(e,t){return{point:e.point,delta:vS(e.point,t[t.length-1]),offset:vS(e.point,t[0]),velocity:WB(t,.1)}}var HB=e=>e*1e3;function WB(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const o=e[e.length-1];for(;n>=0&&(r=e[n],!(o.timestamp-r.timestamp>HB(t)));)n--;if(!r)return{x:0,y:0};const s=(o.timestamp-r.timestamp)/1e3;if(s===0)return{x:0,y:0};const a={x:(o.x-r.x)/s,y:(o.y-r.y)/s};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}function VB(...e){return t=>e.reduce((n,r)=>r(n),t)}function B0(e,t){return Math.abs(e-t)}function bS(e){return"x"in e&&"y"in e}function UB(e,t){if(typeof e=="number"&&typeof t=="number")return B0(e,t);if(bS(e)&&bS(t)){const n=B0(e.x,t.x),r=B0(e.y,t.y);return Math.sqrt(n**2+r**2)}return 0}function U6(e){const t=f.useRef(null);return t.current=e,t}function G6(e,t){const{onPan:n,onPanStart:r,onPanEnd:o,onPanSessionStart:s,onPanSessionEnd:a,threshold:c}=t,d=!!(n||r||o||s||a),p=f.useRef(null),h=U6({onSessionStart:s,onSessionEnd:a,onStart:r,onMove:n,onEnd(m,v){p.current=null,o==null||o(m,v)}});f.useEffect(()=>{var m;(m=p.current)==null||m.updateHandlers(h.current)}),f.useEffect(()=>{const m=e.current;if(!m||!d)return;function v(b){p.current=new FB(b,h.current,c)}return Mp(m,"pointerdown",v)},[e,d,h,c]),f.useEffect(()=>()=>{var m;(m=p.current)==null||m.end(),p.current=null},[])}function GB(e,t){if(!e){t(void 0);return}t({width:e.offsetWidth,height:e.offsetHeight});const n=e.ownerDocument.defaultView??window,r=new n.ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const[s]=o;let a,c;if("borderBoxSize"in s){const d=s.borderBoxSize,p=Array.isArray(d)?d[0]:d;a=p.inlineSize,c=p.blockSize}else a=e.offsetWidth,c=e.offsetHeight;t({width:a,height:c})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}var qB=globalThis!=null&&globalThis.document?f.useLayoutEffect:f.useEffect;function KB(e,t){var n,r;if(!e||!e.parentElement)return;const o=(r=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?r:window,s=new o.MutationObserver(()=>{t()});return s.observe(e.parentElement,{childList:!0}),()=>{s.disconnect()}}function q6({getNodes:e,observeMutation:t=!0}){const[n,r]=f.useState([]),[o,s]=f.useState(0);return qB(()=>{const a=e(),c=a.map((d,p)=>GB(d,h=>{r(m=>[...m.slice(0,p),h,...m.slice(p+1)])}));if(t){const d=a[0];c.push(KB(d,()=>{s(p=>p+1)}))}return()=>{c.forEach(d=>{d==null||d()})}},[o]),n}function XB(e){return typeof e=="object"&&e!==null&&"current"in e}function YB(e){const[t]=q6({observeMutation:!1,getNodes(){return[XB(e)?e.current:e]}});return t}function QB(e){const{min:t=0,max:n=100,onChange:r,value:o,defaultValue:s,isReversed:a,direction:c="ltr",orientation:d="horizontal",id:p,isDisabled:h,isReadOnly:m,onChangeStart:v,onChangeEnd:b,step:w=1,getAriaValueText:y,"aria-valuetext":S,"aria-label":k,"aria-labelledby":_,name:P,focusThumbOnChange:I=!0,minStepsBetweenThumbs:E=0,...O}=e,R=or(v),M=or(b),D=or(y),A=H6({isReversed:a,direction:c,orientation:d}),[L,Q]=zc({value:o,defaultValue:s??[25,75],onChange:r});if(!Array.isArray(L))throw new TypeError(`[range-slider] You passed an invalid value for \`value\` or \`defaultValue\`, expected \`Array\` but got \`${typeof L}\``);const[F,V]=f.useState(!1),[q,G]=f.useState(!1),[T,z]=f.useState(-1),$=!(h||m),Y=f.useRef(L),ae=L.map(Pe=>ac(Pe,t,n)),fe=E*w,ie=JB(ae,t,n,fe),X=f.useRef({eventSource:null,value:[],valueBounds:[]});X.current.value=ae,X.current.valueBounds=ie;const K=ae.map(Pe=>n-Pe+t),se=(A?K:ae).map(Pe=>Yp(Pe,t,n)),re=d==="vertical",oe=f.useRef(null),pe=f.useRef(null),le=q6({getNodes(){const Pe=pe.current,Ye=Pe==null?void 0:Pe.querySelectorAll("[role=slider]");return Ye?Array.from(Ye):[]}}),ge=f.useId(),xe=OB(p??ge),de=f.useCallback(Pe=>{var Ye,Ke;if(!oe.current)return;X.current.eventSource="pointer";const dt=oe.current.getBoundingClientRect(),{clientX:zt,clientY:lr}=(Ke=(Ye=Pe.touches)==null?void 0:Ye[0])!=null?Ke:Pe,pn=re?dt.bottom-lr:zt-dt.left,ln=re?dt.height:dt.width;let Hr=pn/ln;return A&&(Hr=1-Hr),r3(Hr,t,n)},[re,A,n,t]),Te=(n-t)/10,Ee=w||(n-t)/100,$e=f.useMemo(()=>({setValueAtIndex(Pe,Ye){if(!$)return;const Ke=X.current.valueBounds[Pe];Ye=parseFloat(Vv(Ye,Ke.min,Ee)),Ye=ac(Ye,Ke.min,Ke.max);const dt=[...X.current.value];dt[Pe]=Ye,Q(dt)},setActiveIndex:z,stepUp(Pe,Ye=Ee){const Ke=X.current.value[Pe],dt=A?Ke-Ye:Ke+Ye;$e.setValueAtIndex(Pe,dt)},stepDown(Pe,Ye=Ee){const Ke=X.current.value[Pe],dt=A?Ke+Ye:Ke-Ye;$e.setValueAtIndex(Pe,dt)},reset(){Q(Y.current)}}),[Ee,A,Q,$]),kt=f.useCallback(Pe=>{const Ye=Pe.key,dt={ArrowRight:()=>$e.stepUp(T),ArrowUp:()=>$e.stepUp(T),ArrowLeft:()=>$e.stepDown(T),ArrowDown:()=>$e.stepDown(T),PageUp:()=>$e.stepUp(T,Te),PageDown:()=>$e.stepDown(T,Te),Home:()=>{const{min:zt}=ie[T];$e.setValueAtIndex(T,zt)},End:()=>{const{max:zt}=ie[T];$e.setValueAtIndex(T,zt)}}[Ye];dt&&(Pe.preventDefault(),Pe.stopPropagation(),dt(Pe),X.current.eventSource="keyboard")},[$e,T,Te,ie]),{getThumbStyle:ct,rootStyle:on,trackStyle:vt,innerTrackStyle:bt}=f.useMemo(()=>F6({isReversed:A,orientation:d,thumbRects:le,thumbPercents:se}),[A,d,se,le]),Se=f.useCallback(Pe=>{var Ye;const Ke=Pe??T;if(Ke!==-1&&I){const dt=xe.getThumb(Ke),zt=(Ye=pe.current)==null?void 0:Ye.ownerDocument.getElementById(dt);zt&&setTimeout(()=>zt.focus())}},[I,T,xe]);Fa(()=>{X.current.eventSource==="keyboard"&&(M==null||M(X.current.value))},[ae,M]);const Me=Pe=>{const Ye=de(Pe)||0,Ke=X.current.value.map(ln=>Math.abs(ln-Ye)),dt=Math.min(...Ke);let zt=Ke.indexOf(dt);const lr=Ke.filter(ln=>ln===dt);lr.length>1&&Ye>X.current.value[zt]&&(zt=zt+lr.length-1),z(zt),$e.setValueAtIndex(zt,Ye),Se(zt)},Pt=Pe=>{if(T==-1)return;const Ye=de(Pe)||0;z(T),$e.setValueAtIndex(T,Ye),Se(T)};G6(pe,{onPanSessionStart(Pe){$&&(V(!0),Me(Pe),R==null||R(X.current.value))},onPanSessionEnd(){$&&(V(!1),M==null||M(X.current.value))},onPan(Pe){$&&Pt(Pe)}});const Tt=f.useCallback((Pe={},Ye=null)=>({...Pe,...O,id:xe.root,ref:cn(Ye,pe),tabIndex:-1,"aria-disabled":uc(h),"data-focused":Zo(q),style:{...Pe.style,...on}}),[O,h,q,on,xe]),we=f.useCallback((Pe={},Ye=null)=>({...Pe,ref:cn(Ye,oe),id:xe.track,"data-disabled":Zo(h),style:{...Pe.style,...vt}}),[h,vt,xe]),ht=f.useCallback((Pe={},Ye=null)=>({...Pe,ref:Ye,id:xe.innerTrack,style:{...Pe.style,...bt}}),[bt,xe]),$t=f.useCallback((Pe,Ye=null)=>{var Ke;const{index:dt,...zt}=Pe,lr=ae[dt];if(lr==null)throw new TypeError(`[range-slider > thumb] Cannot find value at index \`${dt}\`. The \`value\` or \`defaultValue\` length is : ${ae.length}`);const pn=ie[dt];return{...zt,ref:Ye,role:"slider",tabIndex:$?0:void 0,id:xe.getThumb(dt),"data-active":Zo(F&&T===dt),"aria-valuetext":(Ke=D==null?void 0:D(lr))!=null?Ke:S==null?void 0:S[dt],"aria-valuemin":pn.min,"aria-valuemax":pn.max,"aria-valuenow":lr,"aria-orientation":d,"aria-disabled":uc(h),"aria-readonly":uc(m),"aria-label":k==null?void 0:k[dt],"aria-labelledby":k!=null&&k[dt]||_==null?void 0:_[dt],style:{...Pe.style,...ct(dt)},onKeyDown:dc(Pe.onKeyDown,kt),onFocus:dc(Pe.onFocus,()=>{G(!0),z(dt)}),onBlur:dc(Pe.onBlur,()=>{G(!1),z(-1)})}},[xe,ae,ie,$,F,T,D,S,d,h,m,k,_,ct,kt,G]),Lt=f.useCallback((Pe={},Ye=null)=>({...Pe,ref:Ye,id:xe.output,htmlFor:ae.map((Ke,dt)=>xe.getThumb(dt)).join(" "),"aria-live":"off"}),[xe,ae]),Le=f.useCallback((Pe,Ye=null)=>{const{value:Ke,...dt}=Pe,zt=!(Ken),lr=Ke>=ae[0]&&Ke<=ae[ae.length-1];let pn=Yp(Ke,t,n);pn=A?100-pn:pn;const ln={position:"absolute",pointerEvents:"none",...Mu({orientation:d,vertical:{bottom:`${pn}%`},horizontal:{left:`${pn}%`}})};return{...dt,ref:Ye,id:xe.getMarker(Pe.value),role:"presentation","aria-hidden":!0,"data-disabled":Zo(h),"data-invalid":Zo(!zt),"data-highlighted":Zo(lr),style:{...Pe.style,...ln}}},[h,A,n,t,d,ae,xe]),Ge=f.useCallback((Pe,Ye=null)=>{const{index:Ke,...dt}=Pe;return{...dt,ref:Ye,id:xe.getInput(Ke),type:"hidden",value:ae[Ke],name:Array.isArray(P)?P[Ke]:`${P}-${Ke}`}},[P,ae,xe]);return{state:{value:ae,isFocused:q,isDragging:F,getThumbPercent:Pe=>se[Pe],getThumbMinValue:Pe=>ie[Pe].min,getThumbMaxValue:Pe=>ie[Pe].max},actions:$e,getRootProps:Tt,getTrackProps:we,getInnerTrackProps:ht,getThumbProps:$t,getMarkerProps:Le,getInputProps:Ge,getOutputProps:Lt}}function JB(e,t,n,r){return e.map((o,s)=>{const a=s===0?t:e[s-1]+r,c=s===e.length-1?n:e[s+1]-r;return{min:a,max:c}})}var[ZB,Em]=Dn({name:"SliderContext",errorMessage:"useSliderContext: `context` is undefined. Seems you forgot to wrap all slider components within "}),[eF,Om]=Dn({name:"RangeSliderStylesContext",errorMessage:`useRangeSliderStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),K6=Ae(function(t,n){const r={orientation:"horizontal",...t},o=Fr("Slider",r),s=qn(r),{direction:a}=Nc();s.direction=a;const{getRootProps:c,...d}=QB(s),p=f.useMemo(()=>({...d,name:r.name}),[d,r.name]);return i.jsx(ZB,{value:p,children:i.jsx(eF,{value:o,children:i.jsx(je.div,{...c({},n),className:"chakra-slider",__css:o.container,children:r.children})})})});K6.displayName="RangeSlider";var o1=Ae(function(t,n){const{getThumbProps:r,getInputProps:o,name:s}=Em(),a=Om(),c=r(t,n);return i.jsxs(je.div,{...c,className:ji("chakra-slider__thumb",t.className),__css:a.thumb,children:[c.children,s&&i.jsx("input",{...o({index:t.index})})]})});o1.displayName="RangeSliderThumb";var X6=Ae(function(t,n){const{getTrackProps:r}=Em(),o=Om(),s=r(t,n);return i.jsx(je.div,{...s,className:ji("chakra-slider__track",t.className),__css:o.track,"data-testid":"chakra-range-slider-track"})});X6.displayName="RangeSliderTrack";var Y6=Ae(function(t,n){const{getInnerTrackProps:r}=Em(),o=Om(),s=r(t,n);return i.jsx(je.div,{...s,className:"chakra-slider__filled-track",__css:o.filledTrack})});Y6.displayName="RangeSliderFilledTrack";var Dp=Ae(function(t,n){const{getMarkerProps:r}=Em(),o=Om(),s=r(t,n);return i.jsx(je.div,{...s,className:ji("chakra-slider__marker",t.className),__css:o.mark})});Dp.displayName="RangeSliderMark";function tF(e){var t;const{min:n=0,max:r=100,onChange:o,value:s,defaultValue:a,isReversed:c,direction:d="ltr",orientation:p="horizontal",id:h,isDisabled:m,isReadOnly:v,onChangeStart:b,onChangeEnd:w,step:y=1,getAriaValueText:S,"aria-valuetext":k,"aria-label":_,"aria-labelledby":P,name:I,focusThumbOnChange:E=!0,...O}=e,R=or(b),M=or(w),D=or(S),A=H6({isReversed:c,direction:d,orientation:p}),[L,Q]=zc({value:s,defaultValue:a??rF(n,r),onChange:o}),[F,V]=f.useState(!1),[q,G]=f.useState(!1),T=!(m||v),z=(r-n)/10,$=y||(r-n)/100,Y=ac(L,n,r),ae=r-Y+n,ie=Yp(A?ae:Y,n,r),X=p==="vertical",K=U6({min:n,max:r,step:y,isDisabled:m,value:Y,isInteractive:T,isReversed:A,isVertical:X,eventSource:null,focusThumbOnChange:E,orientation:p}),U=f.useRef(null),se=f.useRef(null),re=f.useRef(null),oe=f.useId(),pe=h??oe,[le,ge]=[`slider-thumb-${pe}`,`slider-track-${pe}`],ke=f.useCallback(Le=>{var Ge,Pn;if(!U.current)return;const Pe=K.current;Pe.eventSource="pointer";const Ye=U.current.getBoundingClientRect(),{clientX:Ke,clientY:dt}=(Pn=(Ge=Le.touches)==null?void 0:Ge[0])!=null?Pn:Le,zt=X?Ye.bottom-dt:Ke-Ye.left,lr=X?Ye.height:Ye.width;let pn=zt/lr;A&&(pn=1-pn);let ln=r3(pn,Pe.min,Pe.max);return Pe.step&&(ln=parseFloat(Vv(ln,Pe.min,Pe.step))),ln=ac(ln,Pe.min,Pe.max),ln},[X,A,K]),xe=f.useCallback(Le=>{const Ge=K.current;Ge.isInteractive&&(Le=parseFloat(Vv(Le,Ge.min,$)),Le=ac(Le,Ge.min,Ge.max),Q(Le))},[$,Q,K]),de=f.useMemo(()=>({stepUp(Le=$){const Ge=A?Y-Le:Y+Le;xe(Ge)},stepDown(Le=$){const Ge=A?Y+Le:Y-Le;xe(Ge)},reset(){xe(a||0)},stepTo(Le){xe(Le)}}),[xe,A,Y,$,a]),Te=f.useCallback(Le=>{const Ge=K.current,Pe={ArrowRight:()=>de.stepUp(),ArrowUp:()=>de.stepUp(),ArrowLeft:()=>de.stepDown(),ArrowDown:()=>de.stepDown(),PageUp:()=>de.stepUp(z),PageDown:()=>de.stepDown(z),Home:()=>xe(Ge.min),End:()=>xe(Ge.max)}[Le.key];Pe&&(Le.preventDefault(),Le.stopPropagation(),Pe(Le),Ge.eventSource="keyboard")},[de,xe,z,K]),Ee=(t=D==null?void 0:D(Y))!=null?t:k,$e=YB(se),{getThumbStyle:kt,rootStyle:ct,trackStyle:on,innerTrackStyle:vt}=f.useMemo(()=>{const Le=K.current,Ge=$e??{width:0,height:0};return F6({isReversed:A,orientation:Le.orientation,thumbRects:[Ge],thumbPercents:[ie]})},[A,$e,ie,K]),bt=f.useCallback(()=>{K.current.focusThumbOnChange&&setTimeout(()=>{var Ge;return(Ge=se.current)==null?void 0:Ge.focus()})},[K]);Fa(()=>{const Le=K.current;bt(),Le.eventSource==="keyboard"&&(M==null||M(Le.value))},[Y,M]);function Se(Le){const Ge=ke(Le);Ge!=null&&Ge!==K.current.value&&Q(Ge)}G6(re,{onPanSessionStart(Le){const Ge=K.current;Ge.isInteractive&&(V(!0),bt(),Se(Le),R==null||R(Ge.value))},onPanSessionEnd(){const Le=K.current;Le.isInteractive&&(V(!1),M==null||M(Le.value))},onPan(Le){K.current.isInteractive&&Se(Le)}});const Me=f.useCallback((Le={},Ge=null)=>({...Le,...O,ref:cn(Ge,re),tabIndex:-1,"aria-disabled":uc(m),"data-focused":Zo(q),style:{...Le.style,...ct}}),[O,m,q,ct]),Pt=f.useCallback((Le={},Ge=null)=>({...Le,ref:cn(Ge,U),id:ge,"data-disabled":Zo(m),style:{...Le.style,...on}}),[m,ge,on]),Tt=f.useCallback((Le={},Ge=null)=>({...Le,ref:Ge,style:{...Le.style,...vt}}),[vt]),we=f.useCallback((Le={},Ge=null)=>({...Le,ref:cn(Ge,se),role:"slider",tabIndex:T?0:void 0,id:le,"data-active":Zo(F),"aria-valuetext":Ee,"aria-valuemin":n,"aria-valuemax":r,"aria-valuenow":Y,"aria-orientation":p,"aria-disabled":uc(m),"aria-readonly":uc(v),"aria-label":_,"aria-labelledby":_?void 0:P,style:{...Le.style,...kt(0)},onKeyDown:dc(Le.onKeyDown,Te),onFocus:dc(Le.onFocus,()=>G(!0)),onBlur:dc(Le.onBlur,()=>G(!1))}),[T,le,F,Ee,n,r,Y,p,m,v,_,P,kt,Te]),ht=f.useCallback((Le,Ge=null)=>{const Pn=!(Le.valuer),Pe=Y>=Le.value,Ye=Yp(Le.value,n,r),Ke={position:"absolute",pointerEvents:"none",...nF({orientation:p,vertical:{bottom:A?`${100-Ye}%`:`${Ye}%`},horizontal:{left:A?`${100-Ye}%`:`${Ye}%`}})};return{...Le,ref:Ge,role:"presentation","aria-hidden":!0,"data-disabled":Zo(m),"data-invalid":Zo(!Pn),"data-highlighted":Zo(Pe),style:{...Le.style,...Ke}}},[m,A,r,n,p,Y]),$t=f.useCallback((Le={},Ge=null)=>({...Le,ref:Ge,type:"hidden",value:Y,name:I}),[I,Y]);return{state:{value:Y,isFocused:q,isDragging:F},actions:de,getRootProps:Me,getTrackProps:Pt,getInnerTrackProps:Tt,getThumbProps:we,getMarkerProps:ht,getInputProps:$t}}function nF(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}function rF(e,t){return t"}),[sF,Mm]=Dn({name:"SliderStylesContext",hookName:"useSliderStyles",providerName:""}),Q6=Ae((e,t)=>{var n;const r={...e,orientation:(n=e==null?void 0:e.orientation)!=null?n:"horizontal"},o=Fr("Slider",r),s=qn(r),{direction:a}=Nc();s.direction=a;const{getInputProps:c,getRootProps:d,...p}=tF(s),h=d(),m=c({},t);return i.jsx(oF,{value:p,children:i.jsx(sF,{value:o,children:i.jsxs(je.div,{...h,className:ji("chakra-slider",r.className),__css:o.container,children:[r.children,i.jsx("input",{...m})]})})})});Q6.displayName="Slider";var J6=Ae((e,t)=>{const{getThumbProps:n}=Rm(),r=Mm(),o=n(e,t);return i.jsx(je.div,{...o,className:ji("chakra-slider__thumb",e.className),__css:r.thumb})});J6.displayName="SliderThumb";var Z6=Ae((e,t)=>{const{getTrackProps:n}=Rm(),r=Mm(),o=n(e,t);return i.jsx(je.div,{...o,className:ji("chakra-slider__track",e.className),__css:r.track})});Z6.displayName="SliderTrack";var eP=Ae((e,t)=>{const{getInnerTrackProps:n}=Rm(),r=Mm(),o=n(e,t);return i.jsx(je.div,{...o,className:ji("chakra-slider__filled-track",e.className),__css:r.filledTrack})});eP.displayName="SliderFilledTrack";var ql=Ae((e,t)=>{const{getMarkerProps:n}=Rm(),r=Mm(),o=n(e,t);return i.jsx(je.div,{...o,className:ji("chakra-slider__marker",e.className),__css:r.mark})});ql.displayName="SliderMark";var Jb=Ae(function(t,n){const r=Fr("Switch",t),{spacing:o="0.5rem",children:s,...a}=qn(t),{getIndicatorProps:c,getInputProps:d,getCheckboxProps:p,getRootProps:h,getLabelProps:m}=t3(a),v=f.useMemo(()=>({display:"inline-block",position:"relative",verticalAlign:"middle",lineHeight:0,...r.container}),[r.container]),b=f.useMemo(()=>({display:"inline-flex",flexShrink:0,justifyContent:"flex-start",boxSizing:"content-box",cursor:"pointer",...r.track}),[r.track]),w=f.useMemo(()=>({userSelect:"none",marginStart:o,...r.label}),[o,r.label]);return i.jsxs(je.label,{...h(),className:Ct("chakra-switch",t.className),__css:v,children:[i.jsx("input",{className:"chakra-switch__input",...d({},n)}),i.jsx(je.span,{...p(),className:"chakra-switch__track",__css:b,children:i.jsx(je.span,{__css:r.thumb,className:"chakra-switch__thumb",...c()})}),s&&i.jsx(je.span,{className:"chakra-switch__label",...m(),__css:w,children:s})]})});Jb.displayName="Switch";var[aF,iF,lF,cF]=fb();function uF(e){var t;const{defaultIndex:n,onChange:r,index:o,isManual:s,isLazy:a,lazyBehavior:c="unmount",orientation:d="horizontal",direction:p="ltr",...h}=e,[m,v]=f.useState(n??0),[b,w]=zc({defaultValue:n??0,value:o,onChange:r});f.useEffect(()=>{o!=null&&v(o)},[o]);const y=lF(),S=f.useId();return{id:`tabs-${(t=e.id)!=null?t:S}`,selectedIndex:b,focusedIndex:m,setSelectedIndex:w,setFocusedIndex:v,isManual:s,isLazy:a,lazyBehavior:c,orientation:d,descendants:y,direction:p,htmlProps:h}}var[dF,Dm]=Dn({name:"TabsContext",errorMessage:"useTabsContext: `context` is undefined. Seems you forgot to wrap all tabs components within "});function fF(e){const{focusedIndex:t,orientation:n,direction:r}=Dm(),o=iF(),s=f.useCallback(a=>{const c=()=>{var _;const P=o.nextEnabled(t);P&&((_=P.node)==null||_.focus())},d=()=>{var _;const P=o.prevEnabled(t);P&&((_=P.node)==null||_.focus())},p=()=>{var _;const P=o.firstEnabled();P&&((_=P.node)==null||_.focus())},h=()=>{var _;const P=o.lastEnabled();P&&((_=P.node)==null||_.focus())},m=n==="horizontal",v=n==="vertical",b=a.key,w=r==="ltr"?"ArrowLeft":"ArrowRight",y=r==="ltr"?"ArrowRight":"ArrowLeft",k={[w]:()=>m&&d(),[y]:()=>m&&c(),ArrowDown:()=>v&&c(),ArrowUp:()=>v&&d(),Home:p,End:h}[b];k&&(a.preventDefault(),k(a))},[o,t,n,r]);return{...e,role:"tablist","aria-orientation":n,onKeyDown:et(e.onKeyDown,s)}}function pF(e){const{isDisabled:t=!1,isFocusable:n=!1,...r}=e,{setSelectedIndex:o,isManual:s,id:a,setFocusedIndex:c,selectedIndex:d}=Dm(),{index:p,register:h}=cF({disabled:t&&!n}),m=p===d,v=()=>{o(p)},b=()=>{c(p),!s&&!(t&&n)&&o(p)},w=s6({...r,ref:cn(h,e.ref),isDisabled:t,isFocusable:n,onClick:et(e.onClick,v)}),y="button";return{...w,id:tP(a,p),role:"tab",tabIndex:m?0:-1,type:y,"aria-selected":m,"aria-controls":nP(a,p),onFocus:t?void 0:et(e.onFocus,b)}}var[hF,mF]=Dn({});function gF(e){const t=Dm(),{id:n,selectedIndex:r}=t,s=_d(e.children).map((a,c)=>f.createElement(hF,{key:c,value:{isSelected:c===r,id:nP(n,c),tabId:tP(n,c),selectedIndex:r}},a));return{...e,children:s}}function vF(e){const{children:t,...n}=e,{isLazy:r,lazyBehavior:o}=Dm(),{isSelected:s,id:a,tabId:c}=mF(),d=f.useRef(!1);s&&(d.current=!0);const p=Vb({wasSelected:d.current,isSelected:s,enabled:r,mode:o});return{tabIndex:0,...n,children:p?t:null,role:"tabpanel","aria-labelledby":c,hidden:!s,id:a}}function tP(e,t){return`${e}--tab-${t}`}function nP(e,t){return`${e}--tabpanel-${t}`}var[bF,Am]=Dn({name:"TabsStylesContext",errorMessage:`useTabsStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),$d=Ae(function(t,n){const r=Fr("Tabs",t),{children:o,className:s,...a}=qn(t),{htmlProps:c,descendants:d,...p}=uF(a),h=f.useMemo(()=>p,[p]),{isFitted:m,...v}=c;return i.jsx(aF,{value:d,children:i.jsx(dF,{value:h,children:i.jsx(bF,{value:r,children:i.jsx(je.div,{className:Ct("chakra-tabs",s),ref:n,...v,__css:r.root,children:o})})})})});$d.displayName="Tabs";var Ld=Ae(function(t,n){const r=fF({...t,ref:n}),s={display:"flex",...Am().tablist};return i.jsx(je.div,{...r,className:Ct("chakra-tabs__tablist",t.className),__css:s})});Ld.displayName="TabList";var Tm=Ae(function(t,n){const r=vF({...t,ref:n}),o=Am();return i.jsx(je.div,{outline:"0",...r,className:Ct("chakra-tabs__tab-panel",t.className),__css:o.tabpanel})});Tm.displayName="TabPanel";var Nm=Ae(function(t,n){const r=gF(t),o=Am();return i.jsx(je.div,{...r,width:"100%",ref:n,className:Ct("chakra-tabs__tab-panels",t.className),__css:o.tabpanels})});Nm.displayName="TabPanels";var kc=Ae(function(t,n){const r=Am(),o=pF({...t,ref:n}),s={outline:"0",display:"flex",alignItems:"center",justifyContent:"center",...r.tab};return i.jsx(je.button,{...o,className:Ct("chakra-tabs__tab",t.className),__css:s})});kc.displayName="Tab";function yF(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var xF=["h","minH","height","minHeight"],Zb=Ae((e,t)=>{const n=ia("Textarea",e),{className:r,rows:o,...s}=qn(e),a=mb(s),c=o?yF(n,xF):n;return i.jsx(je.textarea,{ref:t,rows:o,...a,className:Ct("chakra-textarea",r),__css:c})});Zb.displayName="Textarea";var wF={exit:{scale:.85,opacity:0,transition:{opacity:{duration:.15,easings:"easeInOut"},scale:{duration:.2,easings:"easeInOut"}}},enter:{scale:1,opacity:1,transition:{opacity:{easings:"easeOut",duration:.2},scale:{duration:.2,ease:[.175,.885,.4,1.1]}}}},s1=e=>{var t;return((t=e.current)==null?void 0:t.ownerDocument)||document},Ap=e=>{var t,n;return((n=(t=e.current)==null?void 0:t.ownerDocument)==null?void 0:n.defaultView)||window};function SF(e={}){const{openDelay:t=0,closeDelay:n=0,closeOnClick:r=!0,closeOnMouseDown:o,closeOnScroll:s,closeOnPointerDown:a=o,closeOnEsc:c=!0,onOpen:d,onClose:p,placement:h,id:m,isOpen:v,defaultIsOpen:b,arrowSize:w=10,arrowShadowColor:y,arrowPadding:S,modifiers:k,isDisabled:_,gutter:P,offset:I,direction:E,...O}=e,{isOpen:R,onOpen:M,onClose:D}=Wb({isOpen:v,defaultIsOpen:b,onOpen:d,onClose:p}),{referenceRef:A,getPopperProps:L,getArrowInnerProps:Q,getArrowProps:F}=Hb({enabled:R,placement:h,arrowPadding:S,modifiers:k,gutter:P,offset:I,direction:E}),V=f.useId(),G=`tooltip-${m??V}`,T=f.useRef(null),z=f.useRef(),$=f.useCallback(()=>{z.current&&(clearTimeout(z.current),z.current=void 0)},[]),Y=f.useRef(),ae=f.useCallback(()=>{Y.current&&(clearTimeout(Y.current),Y.current=void 0)},[]),fe=f.useCallback(()=>{ae(),D()},[D,ae]),ie=CF(T,fe),X=f.useCallback(()=>{if(!_&&!z.current){R&&ie();const ge=Ap(T);z.current=ge.setTimeout(M,t)}},[ie,_,R,M,t]),K=f.useCallback(()=>{$();const ge=Ap(T);Y.current=ge.setTimeout(fe,n)},[n,fe,$]),U=f.useCallback(()=>{R&&r&&K()},[r,K,R]),se=f.useCallback(()=>{R&&a&&K()},[a,K,R]),re=f.useCallback(ge=>{R&&ge.key==="Escape"&&K()},[R,K]);Yi(()=>s1(T),"keydown",c?re:void 0),Yi(()=>{const ge=T.current;if(!ge)return null;const ke=q3(ge);return ke.localName==="body"?Ap(T):ke},"scroll",()=>{R&&s&&fe()},{passive:!0,capture:!0}),f.useEffect(()=>{_&&($(),R&&D())},[_,R,D,$]),f.useEffect(()=>()=>{$(),ae()},[$,ae]),Yi(()=>T.current,"pointerleave",K);const oe=f.useCallback((ge={},ke=null)=>({...ge,ref:cn(T,ke,A),onPointerEnter:et(ge.onPointerEnter,de=>{de.pointerType!=="touch"&&X()}),onClick:et(ge.onClick,U),onPointerDown:et(ge.onPointerDown,se),onFocus:et(ge.onFocus,X),onBlur:et(ge.onBlur,K),"aria-describedby":R?G:void 0}),[X,K,se,R,G,U,A]),pe=f.useCallback((ge={},ke=null)=>L({...ge,style:{...ge.style,[Ir.arrowSize.var]:w?`${w}px`:void 0,[Ir.arrowShadowColor.var]:y}},ke),[L,w,y]),le=f.useCallback((ge={},ke=null)=>{const xe={...ge.style,position:"relative",transformOrigin:Ir.transformOrigin.varRef};return{ref:ke,...O,...ge,id:G,role:"tooltip",style:xe}},[O,G]);return{isOpen:R,show:X,hide:K,getTriggerProps:oe,getTooltipProps:le,getTooltipPositionerProps:pe,getArrowProps:F,getArrowInnerProps:Q}}var F0="chakra-ui:close-tooltip";function CF(e,t){return f.useEffect(()=>{const n=s1(e);return n.addEventListener(F0,t),()=>n.removeEventListener(F0,t)},[t,e]),()=>{const n=s1(e),r=Ap(e);n.dispatchEvent(new r.CustomEvent(F0))}}function kF(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function _F(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}var PF=je(Er.div),vn=Ae((e,t)=>{var n,r;const o=ia("Tooltip",e),s=qn(e),a=Nc(),{children:c,label:d,shouldWrapChildren:p,"aria-label":h,hasArrow:m,bg:v,portalProps:b,background:w,backgroundColor:y,bgColor:S,motionProps:k,..._}=s,P=(r=(n=w??y)!=null?n:v)!=null?r:S;if(P){o.bg=P;const L=zR(a,"colors",P);o[Ir.arrowBg.var]=L}const I=SF({..._,direction:a.direction}),E=typeof c=="string"||p;let O;if(E)O=i.jsx(je.span,{display:"inline-block",tabIndex:0,...I.getTriggerProps(),children:c});else{const L=f.Children.only(c);O=f.cloneElement(L,I.getTriggerProps(L.props,L.ref))}const R=!!h,M=I.getTooltipProps({},t),D=R?kF(M,["role","id"]):M,A=_F(M,["role","id"]);return d?i.jsxs(i.Fragment,{children:[O,i.jsx(mo,{children:I.isOpen&&i.jsx(Ju,{...b,children:i.jsx(je.div,{...I.getTooltipPositionerProps(),__css:{zIndex:o.zIndex,pointerEvents:"none"},children:i.jsxs(PF,{variants:wF,initial:"exit",animate:"enter",exit:"exit",...k,...D,__css:o,children:[d,R&&i.jsx(je.span,{srOnly:!0,...A,children:h}),m&&i.jsx(je.div,{"data-popper-arrow":!0,className:"chakra-tooltip__arrow-wrapper",children:i.jsx(je.div,{"data-popper-arrow-inner":!0,className:"chakra-tooltip__arrow",__css:{bg:o.bg}})})]})})})})]}):i.jsx(i.Fragment,{children:c})});vn.displayName="Tooltip";function jF(e,t={}){let n=f.useCallback(o=>t.keys?M9(e,t.keys,o):e.listen(o),[t.keys,e]),r=e.get.bind(e);return f.useSyncExternalStore(n,r,r)}const vo=e=>e.system,IF=e=>e.system.toastQueue,rP=be(vo,e=>e.language,Je),kr=be(e=>e,e=>e.system.isProcessing||!e.system.isConnected),EF=be(vo,e=>{const{consoleLogLevel:t,shouldLogToConsole:n}=e;return{consoleLogLevel:t,shouldLogToConsole:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),OF=()=>{const{consoleLogLevel:e,shouldLogToConsole:t}=B(EF);return f.useEffect(()=>{t?(localStorage.setItem("ROARR_LOG","true"),localStorage.setItem("ROARR_FILTER",`context.logLevel:>=${BR[e]}`)):localStorage.setItem("ROARR_LOG","false"),G2.ROARR.write=FR.createLogWriter()},[e,t]),f.useEffect(()=>{const r={...HR};q2.set(G2.Roarr.child(r))},[]),jF(q2)},RF=()=>{const e=te(),t=B(IF),n=uA();return f.useEffect(()=>{t.forEach(r=>{n(r)}),t.length>0&&e(WR())},[e,n,t]),null},Vc=()=>{const e=te();return f.useCallback(n=>e(On(Mn(n))),[e])};var MF=new Map([["aac","audio/aac"],["abw","application/x-abiword"],["arc","application/x-freearc"],["avif","image/avif"],["avi","video/x-msvideo"],["azw","application/vnd.amazon.ebook"],["bin","application/octet-stream"],["bmp","image/bmp"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["cda","application/x-cdf"],["csh","application/x-csh"],["css","text/css"],["csv","text/csv"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["eot","application/vnd.ms-fontobject"],["epub","application/epub+zip"],["gz","application/gzip"],["gif","image/gif"],["heic","image/heic"],["heif","image/heif"],["htm","text/html"],["html","text/html"],["ico","image/vnd.microsoft.icon"],["ics","text/calendar"],["jar","application/java-archive"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["js","text/javascript"],["json","application/json"],["jsonld","application/ld+json"],["mid","audio/midi"],["midi","audio/midi"],["mjs","text/javascript"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mpeg","video/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["opus","audio/opus"],["otf","font/otf"],["png","image/png"],["pdf","application/pdf"],["php","application/x-httpd-php"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["rar","application/vnd.rar"],["rtf","application/rtf"],["sh","application/x-sh"],["svg","image/svg+xml"],["swf","application/x-shockwave-flash"],["tar","application/x-tar"],["tif","image/tiff"],["tiff","image/tiff"],["ts","video/mp2t"],["ttf","font/ttf"],["txt","text/plain"],["vsd","application/vnd.visio"],["wav","audio/wav"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["woff","font/woff"],["woff2","font/woff2"],["xhtml","application/xhtml+xml"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xml","application/xml"],["xul","application/vnd.mozilla.xul+xml"],["zip","application/zip"],["7z","application/x-7z-compressed"],["mkv","video/x-matroska"],["mov","video/quicktime"],["msg","application/vnd.ms-outlook"]]);function zd(e,t){var n=DF(e);if(typeof n.path!="string"){var r=e.webkitRelativePath;Object.defineProperty(n,"path",{value:typeof t=="string"?t:typeof r=="string"&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}function DF(e){var t=e.name,n=t&&t.lastIndexOf(".")!==-1;if(n&&!e.type){var r=t.split(".").pop().toLowerCase(),o=MF.get(r);o&&Object.defineProperty(e,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return e}var AF=[".DS_Store","Thumbs.db"];function TF(e){return Bc(this,void 0,void 0,function(){return Fc(this,function(t){return oh(e)&&NF(e.dataTransfer)?[2,BF(e.dataTransfer,e.type)]:$F(e)?[2,LF(e)]:Array.isArray(e)&&e.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,zF(e)]:[2,[]]})})}function NF(e){return oh(e)}function $F(e){return oh(e)&&oh(e.target)}function oh(e){return typeof e=="object"&&e!==null}function LF(e){return a1(e.target.files).map(function(t){return zd(t)})}function zF(e){return Bc(this,void 0,void 0,function(){var t;return Fc(this,function(n){switch(n.label){case 0:return[4,Promise.all(e.map(function(r){return r.getFile()}))];case 1:return t=n.sent(),[2,t.map(function(r){return zd(r)})]}})})}function BF(e,t){return Bc(this,void 0,void 0,function(){var n,r;return Fc(this,function(o){switch(o.label){case 0:return e.items?(n=a1(e.items).filter(function(s){return s.kind==="file"}),t!=="drop"?[2,n]:[4,Promise.all(n.map(FF))]):[3,2];case 1:return r=o.sent(),[2,yS(oP(r))];case 2:return[2,yS(a1(e.files).map(function(s){return zd(s)}))]}})})}function yS(e){return e.filter(function(t){return AF.indexOf(t.name)===-1})}function a1(e){if(e===null)return[];for(var t=[],n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nn)return[!1,kS(n)];if(e.sizen)return[!1,kS(n)]}return[!0,null]}function Vi(e){return e!=null}function rH(e){var t=e.files,n=e.accept,r=e.minSize,o=e.maxSize,s=e.multiple,a=e.maxFiles,c=e.validator;return!s&&t.length>1||s&&a>=1&&t.length>a?!1:t.every(function(d){var p=lP(d,n),h=ld(p,1),m=h[0],v=cP(d,r,o),b=ld(v,1),w=b[0],y=c?c(d):null;return m&&w&&!y})}function sh(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function qf(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function PS(e){e.preventDefault()}function oH(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function sH(e){return e.indexOf("Edge/")!==-1}function aH(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return oH(e)||sH(e)}function Gs(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;ae.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function CH(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}var ey=f.forwardRef(function(e,t){var n=e.children,r=ah(e,fH),o=ty(r),s=o.open,a=ah(o,pH);return f.useImperativeHandle(t,function(){return{open:s}},[s]),H.createElement(f.Fragment,null,n(dr(dr({},a),{},{open:s})))});ey.displayName="Dropzone";var pP={disabled:!1,getFilesFromEvent:TF,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!0,autoFocus:!1};ey.defaultProps=pP;ey.propTypes={children:zn.func,accept:zn.objectOf(zn.arrayOf(zn.string)),multiple:zn.bool,preventDropOnDocument:zn.bool,noClick:zn.bool,noKeyboard:zn.bool,noDrag:zn.bool,noDragEventsBubbling:zn.bool,minSize:zn.number,maxSize:zn.number,maxFiles:zn.number,disabled:zn.bool,getFilesFromEvent:zn.func,onFileDialogCancel:zn.func,onFileDialogOpen:zn.func,useFsAccessApi:zn.bool,autoFocus:zn.bool,onDragEnter:zn.func,onDragLeave:zn.func,onDragOver:zn.func,onDrop:zn.func,onDropAccepted:zn.func,onDropRejected:zn.func,onError:zn.func,validator:zn.func};var u1={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function ty(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=dr(dr({},pP),e),n=t.accept,r=t.disabled,o=t.getFilesFromEvent,s=t.maxSize,a=t.minSize,c=t.multiple,d=t.maxFiles,p=t.onDragEnter,h=t.onDragLeave,m=t.onDragOver,v=t.onDrop,b=t.onDropAccepted,w=t.onDropRejected,y=t.onFileDialogCancel,S=t.onFileDialogOpen,k=t.useFsAccessApi,_=t.autoFocus,P=t.preventDropOnDocument,I=t.noClick,E=t.noKeyboard,O=t.noDrag,R=t.noDragEventsBubbling,M=t.onError,D=t.validator,A=f.useMemo(function(){return cH(n)},[n]),L=f.useMemo(function(){return lH(n)},[n]),Q=f.useMemo(function(){return typeof S=="function"?S:IS},[S]),F=f.useMemo(function(){return typeof y=="function"?y:IS},[y]),V=f.useRef(null),q=f.useRef(null),G=f.useReducer(kH,u1),T=H0(G,2),z=T[0],$=T[1],Y=z.isFocused,ae=z.isFileDialogActive,fe=f.useRef(typeof window<"u"&&window.isSecureContext&&k&&iH()),ie=function(){!fe.current&&ae&&setTimeout(function(){if(q.current){var Me=q.current.files;Me.length||($({type:"closeDialog"}),F())}},300)};f.useEffect(function(){return window.addEventListener("focus",ie,!1),function(){window.removeEventListener("focus",ie,!1)}},[q,ae,F,fe]);var X=f.useRef([]),K=function(Me){V.current&&V.current.contains(Me.target)||(Me.preventDefault(),X.current=[])};f.useEffect(function(){return P&&(document.addEventListener("dragover",PS,!1),document.addEventListener("drop",K,!1)),function(){P&&(document.removeEventListener("dragover",PS),document.removeEventListener("drop",K))}},[V,P]),f.useEffect(function(){return!r&&_&&V.current&&V.current.focus(),function(){}},[V,_,r]);var U=f.useCallback(function(Se){M?M(Se):console.error(Se)},[M]),se=f.useCallback(function(Se){Se.preventDefault(),Se.persist(),ct(Se),X.current=[].concat(gH(X.current),[Se.target]),qf(Se)&&Promise.resolve(o(Se)).then(function(Me){if(!(sh(Se)&&!R)){var Pt=Me.length,Tt=Pt>0&&rH({files:Me,accept:A,minSize:a,maxSize:s,multiple:c,maxFiles:d,validator:D}),we=Pt>0&&!Tt;$({isDragAccept:Tt,isDragReject:we,isDragActive:!0,type:"setDraggedFiles"}),p&&p(Se)}}).catch(function(Me){return U(Me)})},[o,p,U,R,A,a,s,c,d,D]),re=f.useCallback(function(Se){Se.preventDefault(),Se.persist(),ct(Se);var Me=qf(Se);if(Me&&Se.dataTransfer)try{Se.dataTransfer.dropEffect="copy"}catch{}return Me&&m&&m(Se),!1},[m,R]),oe=f.useCallback(function(Se){Se.preventDefault(),Se.persist(),ct(Se);var Me=X.current.filter(function(Tt){return V.current&&V.current.contains(Tt)}),Pt=Me.indexOf(Se.target);Pt!==-1&&Me.splice(Pt,1),X.current=Me,!(Me.length>0)&&($({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),qf(Se)&&h&&h(Se))},[V,h,R]),pe=f.useCallback(function(Se,Me){var Pt=[],Tt=[];Se.forEach(function(we){var ht=lP(we,A),$t=H0(ht,2),Lt=$t[0],Le=$t[1],Ge=cP(we,a,s),Pn=H0(Ge,2),Pe=Pn[0],Ye=Pn[1],Ke=D?D(we):null;if(Lt&&Pe&&!Ke)Pt.push(we);else{var dt=[Le,Ye];Ke&&(dt=dt.concat(Ke)),Tt.push({file:we,errors:dt.filter(function(zt){return zt})})}}),(!c&&Pt.length>1||c&&d>=1&&Pt.length>d)&&(Pt.forEach(function(we){Tt.push({file:we,errors:[nH]})}),Pt.splice(0)),$({acceptedFiles:Pt,fileRejections:Tt,type:"setFiles"}),v&&v(Pt,Tt,Me),Tt.length>0&&w&&w(Tt,Me),Pt.length>0&&b&&b(Pt,Me)},[$,c,A,a,s,d,v,b,w,D]),le=f.useCallback(function(Se){Se.preventDefault(),Se.persist(),ct(Se),X.current=[],qf(Se)&&Promise.resolve(o(Se)).then(function(Me){sh(Se)&&!R||pe(Me,Se)}).catch(function(Me){return U(Me)}),$({type:"reset"})},[o,pe,U,R]),ge=f.useCallback(function(){if(fe.current){$({type:"openDialog"}),Q();var Se={multiple:c,types:L};window.showOpenFilePicker(Se).then(function(Me){return o(Me)}).then(function(Me){pe(Me,null),$({type:"closeDialog"})}).catch(function(Me){uH(Me)?(F(Me),$({type:"closeDialog"})):dH(Me)?(fe.current=!1,q.current?(q.current.value=null,q.current.click()):U(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):U(Me)});return}q.current&&($({type:"openDialog"}),Q(),q.current.value=null,q.current.click())},[$,Q,F,k,pe,U,L,c]),ke=f.useCallback(function(Se){!V.current||!V.current.isEqualNode(Se.target)||(Se.key===" "||Se.key==="Enter"||Se.keyCode===32||Se.keyCode===13)&&(Se.preventDefault(),ge())},[V,ge]),xe=f.useCallback(function(){$({type:"focus"})},[]),de=f.useCallback(function(){$({type:"blur"})},[]),Te=f.useCallback(function(){I||(aH()?setTimeout(ge,0):ge())},[I,ge]),Ee=function(Me){return r?null:Me},$e=function(Me){return E?null:Ee(Me)},kt=function(Me){return O?null:Ee(Me)},ct=function(Me){R&&Me.stopPropagation()},on=f.useMemo(function(){return function(){var Se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Me=Se.refKey,Pt=Me===void 0?"ref":Me,Tt=Se.role,we=Se.onKeyDown,ht=Se.onFocus,$t=Se.onBlur,Lt=Se.onClick,Le=Se.onDragEnter,Ge=Se.onDragOver,Pn=Se.onDragLeave,Pe=Se.onDrop,Ye=ah(Se,hH);return dr(dr(c1({onKeyDown:$e(Gs(we,ke)),onFocus:$e(Gs(ht,xe)),onBlur:$e(Gs($t,de)),onClick:Ee(Gs(Lt,Te)),onDragEnter:kt(Gs(Le,se)),onDragOver:kt(Gs(Ge,re)),onDragLeave:kt(Gs(Pn,oe)),onDrop:kt(Gs(Pe,le)),role:typeof Tt=="string"&&Tt!==""?Tt:"presentation"},Pt,V),!r&&!E?{tabIndex:0}:{}),Ye)}},[V,ke,xe,de,Te,se,re,oe,le,E,O,r]),vt=f.useCallback(function(Se){Se.stopPropagation()},[]),bt=f.useMemo(function(){return function(){var Se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Me=Se.refKey,Pt=Me===void 0?"ref":Me,Tt=Se.onChange,we=Se.onClick,ht=ah(Se,mH),$t=c1({accept:A,multiple:c,type:"file",style:{display:"none"},onChange:Ee(Gs(Tt,le)),onClick:Ee(Gs(we,vt)),tabIndex:-1},Pt,q);return dr(dr({},$t),ht)}},[q,n,c,le,r]);return dr(dr({},z),{},{isFocused:Y&&!r,getRootProps:on,getInputProps:bt,rootRef:V,inputRef:q,open:Ee(ge)})}function kH(e,t){switch(t.type){case"focus":return dr(dr({},e),{},{isFocused:!0});case"blur":return dr(dr({},e),{},{isFocused:!1});case"openDialog":return dr(dr({},u1),{},{isFileDialogActive:!0});case"closeDialog":return dr(dr({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return dr(dr({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return dr(dr({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return dr({},u1);default:return e}}function IS(){}function d1(){return d1=Object.assign?Object.assign.bind():function(e){for(var t=1;t'),!0):t?e.some(function(n){return t.includes(n)})||e.includes("*"):!0}var RH=function(t,n,r){r===void 0&&(r=!1);var o=n.alt,s=n.meta,a=n.mod,c=n.shift,d=n.ctrl,p=n.keys,h=t.key,m=t.code,v=t.ctrlKey,b=t.metaKey,w=t.shiftKey,y=t.altKey,S=li(m),k=h.toLowerCase();if(!r){if(o===!y&&k!=="alt"||c===!w&&k!=="shift")return!1;if(a){if(!b&&!v)return!1}else if(s===!b&&k!=="meta"&&k!=="os"||d===!v&&k!=="ctrl"&&k!=="control")return!1}return p&&p.length===1&&(p.includes(k)||p.includes(S))?!0:p?mP(p):!p},MH=f.createContext(void 0),DH=function(){return f.useContext(MH)};function yP(e,t){return e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(e).length===Object.keys(t).length&&Object.keys(e).reduce(function(n,r){return n&&yP(e[r],t[r])},!0):e===t}var AH=f.createContext({hotkeys:[],enabledScopes:[],toggleScope:function(){},enableScope:function(){},disableScope:function(){}}),TH=function(){return f.useContext(AH)};function NH(e){var t=f.useRef(void 0);return yP(t.current,e)||(t.current=e),t.current}var ES=function(t){t.stopPropagation(),t.preventDefault(),t.stopImmediatePropagation()},$H=typeof window<"u"?f.useLayoutEffect:f.useEffect;function tt(e,t,n,r){var o=f.useRef(null),s=f.useRef(!1),a=n instanceof Array?r instanceof Array?void 0:r:n,c=e instanceof Array?e.join(a==null?void 0:a.splitKey):e,d=n instanceof Array?n:r instanceof Array?r:void 0,p=f.useCallback(t,d??[]),h=f.useRef(p);d?h.current=p:h.current=t;var m=NH(a),v=TH(),b=v.enabledScopes,w=DH();return $H(function(){if(!((m==null?void 0:m.enabled)===!1||!OH(b,m==null?void 0:m.scopes))){var y=function(I,E){var O;if(E===void 0&&(E=!1),!(EH(I)&&!bP(I,m==null?void 0:m.enableOnFormTags))&&!(m!=null&&m.ignoreEventWhen!=null&&m.ignoreEventWhen(I))){if(o.current!==null&&document.activeElement!==o.current&&!o.current.contains(document.activeElement)){ES(I);return}(O=I.target)!=null&&O.isContentEditable&&!(m!=null&&m.enableOnContentEditable)||W0(c,m==null?void 0:m.splitKey).forEach(function(R){var M,D=V0(R,m==null?void 0:m.combinationKey);if(RH(I,D,m==null?void 0:m.ignoreModifiers)||(M=D.keys)!=null&&M.includes("*")){if(E&&s.current)return;if(jH(I,D,m==null?void 0:m.preventDefault),!IH(I,D,m==null?void 0:m.enabled)){ES(I);return}h.current(I,D),E||(s.current=!0)}})}},S=function(I){I.key!==void 0&&(gP(li(I.code)),((m==null?void 0:m.keydown)===void 0&&(m==null?void 0:m.keyup)!==!0||m!=null&&m.keydown)&&y(I))},k=function(I){I.key!==void 0&&(vP(li(I.code)),s.current=!1,m!=null&&m.keyup&&y(I,!0))},_=o.current||(a==null?void 0:a.document)||document;return _.addEventListener("keyup",k),_.addEventListener("keydown",S),w&&W0(c,m==null?void 0:m.splitKey).forEach(function(P){return w.addHotkey(V0(P,m==null?void 0:m.combinationKey,m==null?void 0:m.description))}),function(){_.removeEventListener("keyup",k),_.removeEventListener("keydown",S),w&&W0(c,m==null?void 0:m.splitKey).forEach(function(P){return w.removeHotkey(V0(P,m==null?void 0:m.combinationKey,m==null?void 0:m.description))})}}},[c,m,b]),o}const LH=e=>{const{isDragAccept:t,isDragReject:n,setIsHandlingUpload:r}=e;return tt("esc",()=>{r(!1)}),i.jsxs(Re,{sx:{position:"absolute",top:0,insetInlineStart:0,width:"100vw",height:"100vh",zIndex:999,backdropFilter:"blur(20px)"},children:[i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:"base.700",_dark:{bg:"base.900"},opacity:.7,alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,width:"full",height:"full",alignItems:"center",justifyContent:"center",p:4},children:i.jsx(W,{sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",flexDir:"column",gap:4,borderWidth:3,borderRadius:"xl",borderStyle:"dashed",color:"base.100",borderColor:"base.100",_dark:{borderColor:"base.200"}},children:t?i.jsx(Ys,{size:"lg",children:"Drop to Upload"}):i.jsxs(i.Fragment,{children:[i.jsx(Ys,{size:"lg",children:"Invalid Upload"}),i.jsx(Ys,{size:"md",children:"Must be single JPEG or PNG image"})]})})})]})},zH=be([lt,Kn],({gallery:e},t)=>{let n={type:"TOAST"};t==="unifiedCanvas"&&(n={type:"SET_CANVAS_INITIAL_IMAGE"}),t==="img2img"&&(n={type:"SET_INITIAL_IMAGE"});const{autoAddBoardId:r}=e;return{autoAddBoardId:r,postUploadAction:n}},Je),BH=e=>{const{children:t}=e,{autoAddBoardId:n,postUploadAction:r}=B(zH),o=B(kr),s=Vc(),{t:a}=ye(),[c,d]=f.useState(!1),[p]=$_(),h=f.useCallback(P=>{d(!0),s({title:a("toast.uploadFailed"),description:P.errors.map(I=>I.message).join(` +`),status:"error"})},[a,s]),m=f.useCallback(async P=>{p({file:P,image_category:"user",is_intermediate:!1,postUploadAction:r,board_id:n==="none"?void 0:n})},[n,r,p]),v=f.useCallback((P,I)=>{if(I.length>1){s({title:a("toast.uploadFailed"),description:a("toast.uploadFailedInvalidUploadDesc"),status:"error"});return}I.forEach(E=>{h(E)}),P.forEach(E=>{m(E)})},[a,s,m,h]),{getRootProps:b,getInputProps:w,isDragAccept:y,isDragReject:S,isDragActive:k,inputRef:_}=ty({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},noClick:!0,onDrop:v,onDragOver:()=>d(!0),disabled:o,multiple:!1});return f.useEffect(()=>{const P=async I=>{var E,O;_.current&&(E=I.clipboardData)!=null&&E.files&&(_.current.files=I.clipboardData.files,(O=_.current)==null||O.dispatchEvent(new Event("change",{bubbles:!0})))};return document.addEventListener("paste",P),()=>{document.removeEventListener("paste",P)}},[_]),i.jsxs(Re,{...b({style:{}}),onKeyDown:P=>{P.key},children:[i.jsx("input",{...w()}),t,i.jsx(mo,{children:k&&c&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsx(LH,{isDragAccept:y,isDragReject:S,setIsHandlingUpload:d})},"image-upload-overlay")})]})},FH=f.memo(BH),HH=Ae((e,t)=>{const{children:n,tooltip:r="",tooltipProps:{placement:o="top",hasArrow:s=!0,...a}={},isChecked:c,...d}=e;return i.jsx(vn,{label:r,placement:o,hasArrow:s,...a,children:i.jsx(yc,{ref:t,colorScheme:c?"accent":"base",...d,children:n})})}),Yt=f.memo(HH);function WH(e){const t=f.createContext(null);return[({children:o,value:s})=>H.createElement(t.Provider,{value:s},o),()=>{const o=f.useContext(t);if(o===null)throw new Error(e);return o}]}function xP(e){return Array.isArray(e)?e:[e]}const VH=()=>{};function UH(e,t={active:!0}){return typeof e!="function"||!t.active?t.onKeyDown||VH:n=>{var r;n.key==="Escape"&&(e(n),(r=t.onTrigger)==null||r.call(t))}}function wP({data:e}){const t=[],n=[],r=e.reduce((o,s,a)=>(s.group?o[s.group]?o[s.group].push(a):o[s.group]=[a]:n.push(a),o),{});return Object.keys(r).forEach(o=>{t.push(...r[o].map(s=>e[s]))}),t.push(...n.map(o=>e[o])),t}function SP(e){return Array.isArray(e)||e===null?!1:typeof e=="object"?e.type!==H.Fragment:!1}function CP(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;tr===t[o]).indexOf(!1)>=0)&&(n.current={v:e(),prevDeps:[...t]}),n.current.v}const KH=VR({key:"mantine",prepend:!0});function XH(){return $5()||KH}var YH=Object.defineProperty,OS=Object.getOwnPropertySymbols,QH=Object.prototype.hasOwnProperty,JH=Object.prototype.propertyIsEnumerable,RS=(e,t,n)=>t in e?YH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ZH=(e,t)=>{for(var n in t||(t={}))QH.call(t,n)&&RS(e,n,t[n]);if(OS)for(var n of OS(t))JH.call(t,n)&&RS(e,n,t[n]);return e};const U0="ref";function eW(e){let t;if(e.length!==1)return{args:e,ref:t};const[n]=e;if(!(n instanceof Object))return{args:e,ref:t};if(!(U0 in n))return{args:e,ref:t};t=n[U0];const r=ZH({},n);return delete r[U0],{args:[r],ref:t}}const{cssFactory:tW}=(()=>{function e(n,r,o){const s=[],a=qR(n,s,o);return s.length<2?o:a+r(s)}function t(n){const{cache:r}=n,o=(...a)=>{const{ref:c,args:d}=eW(a),p=UR(d,r.registered);return GR(r,p,!1),`${r.key}-${p.name}${c===void 0?"":` ${c}`}`};return{css:o,cx:(...a)=>e(r.registered,o,kP(a))}}return{cssFactory:t}})();function _P(){const e=XH();return qH(()=>tW({cache:e}),[e])}function nW({cx:e,classes:t,context:n,classNames:r,name:o,cache:s}){const a=n.reduce((c,d)=>(Object.keys(d.classNames).forEach(p=>{typeof c[p]!="string"?c[p]=`${d.classNames[p]}`:c[p]=`${c[p]} ${d.classNames[p]}`}),c),{});return Object.keys(t).reduce((c,d)=>(c[d]=e(t[d],a[d],r!=null&&r[d],Array.isArray(o)?o.filter(Boolean).map(p=>`${(s==null?void 0:s.key)||"mantine"}-${p}-${d}`).join(" "):o?`${(s==null?void 0:s.key)||"mantine"}-${o}-${d}`:null),c),{})}var rW=Object.defineProperty,MS=Object.getOwnPropertySymbols,oW=Object.prototype.hasOwnProperty,sW=Object.prototype.propertyIsEnumerable,DS=(e,t,n)=>t in e?rW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,G0=(e,t)=>{for(var n in t||(t={}))oW.call(t,n)&&DS(e,n,t[n]);if(MS)for(var n of MS(t))sW.call(t,n)&&DS(e,n,t[n]);return e};function f1(e,t){return t&&Object.keys(t).forEach(n=>{e[n]?e[n]=G0(G0({},e[n]),t[n]):e[n]=G0({},t[n])}),e}function AS(e,t,n,r){const o=s=>typeof s=="function"?s(t,n||{},r):s||{};return Array.isArray(e)?e.map(s=>o(s.styles)).reduce((s,a)=>f1(s,a),{}):o(e)}function aW({ctx:e,theme:t,params:n,variant:r,size:o}){return e.reduce((s,a)=>(a.variants&&r in a.variants&&f1(s,a.variants[r](t,n,{variant:r,size:o})),a.sizes&&o in a.sizes&&f1(s,a.sizes[o](t,n,{variant:r,size:o})),s),{})}function so(e){const t=typeof e=="function"?e:()=>e;function n(r,o){const s=Ha(),a=o9(o==null?void 0:o.name),c=$5(),d={variant:o==null?void 0:o.variant,size:o==null?void 0:o.size},{css:p,cx:h}=_P(),m=t(s,r,d),v=AS(o==null?void 0:o.styles,s,r,d),b=AS(a,s,r,d),w=aW({ctx:a,theme:s,params:r,variant:o==null?void 0:o.variant,size:o==null?void 0:o.size}),y=Object.fromEntries(Object.keys(m).map(S=>{const k=h({[p(m[S])]:!(o!=null&&o.unstyled)},p(w[S]),p(b[S]),p(v[S]));return[S,k]}));return{classes:nW({cx:h,classes:y,context:a,classNames:o==null?void 0:o.classNames,name:o==null?void 0:o.name,cache:c}),cx:h,theme:s}}return n}function TS(e){return`___ref-${e||""}`}var iW=Object.defineProperty,lW=Object.defineProperties,cW=Object.getOwnPropertyDescriptors,NS=Object.getOwnPropertySymbols,uW=Object.prototype.hasOwnProperty,dW=Object.prototype.propertyIsEnumerable,$S=(e,t,n)=>t in e?iW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gu=(e,t)=>{for(var n in t||(t={}))uW.call(t,n)&&$S(e,n,t[n]);if(NS)for(var n of NS(t))dW.call(t,n)&&$S(e,n,t[n]);return e},vu=(e,t)=>lW(e,cW(t));const bu={in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:`scale(.9) translateY(${Ue(10)})`},transitionProperty:"transform, opacity"},Kf={fade:{in:{opacity:1},out:{opacity:0},transitionProperty:"opacity"},scale:{in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:"scale(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-y":{in:{opacity:1,transform:"scaleY(1)"},out:{opacity:0,transform:"scaleY(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-x":{in:{opacity:1,transform:"scaleX(1)"},out:{opacity:0,transform:"scaleX(0)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"skew-up":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:`translateY(-${Ue(20)}) skew(-10deg, -5deg)`},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"skew-down":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:`translateY(${Ue(20)}) skew(-10deg, -5deg)`},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-left":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:`translateY(${Ue(20)}) rotate(-5deg)`},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-right":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:`translateY(${Ue(20)}) rotate(5deg)`},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-down":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(-100%)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-up":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(100%)"},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"slide-left":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(100%)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"slide-right":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(-100%)"},common:{transformOrigin:"right"},transitionProperty:"transform, opacity"},pop:vu(gu({},bu),{common:{transformOrigin:"center center"}}),"pop-bottom-left":vu(gu({},bu),{common:{transformOrigin:"bottom left"}}),"pop-bottom-right":vu(gu({},bu),{common:{transformOrigin:"bottom right"}}),"pop-top-left":vu(gu({},bu),{common:{transformOrigin:"top left"}}),"pop-top-right":vu(gu({},bu),{common:{transformOrigin:"top right"}})},LS=["mousedown","touchstart"];function fW(e,t,n){const r=f.useRef();return f.useEffect(()=>{const o=s=>{const{target:a}=s??{};if(Array.isArray(n)){const c=(a==null?void 0:a.hasAttribute("data-ignore-outside-clicks"))||!document.body.contains(a)&&a.tagName!=="HTML";n.every(p=>!!p&&!s.composedPath().includes(p))&&!c&&e()}else r.current&&!r.current.contains(a)&&e()};return(t||LS).forEach(s=>document.addEventListener(s,o)),()=>{(t||LS).forEach(s=>document.removeEventListener(s,o))}},[r,e,n]),r}function pW(e,t){try{return e.addEventListener("change",t),()=>e.removeEventListener("change",t)}catch{return e.addListener(t),()=>e.removeListener(t)}}function hW(e,t){return typeof t=="boolean"?t:typeof window<"u"&&"matchMedia"in window?window.matchMedia(e).matches:!1}function mW(e,t,{getInitialValueInEffect:n}={getInitialValueInEffect:!0}){const[r,o]=f.useState(n?t:hW(e,t)),s=f.useRef();return f.useEffect(()=>{if("matchMedia"in window)return s.current=window.matchMedia(e),o(s.current.matches),pW(s.current,a=>o(a.matches))},[e]),r}const PP=typeof document<"u"?f.useLayoutEffect:f.useEffect;function ks(e,t){const n=f.useRef(!1);f.useEffect(()=>()=>{n.current=!1},[]),f.useEffect(()=>{if(n.current)return e();n.current=!0},t)}function gW({opened:e,shouldReturnFocus:t=!0}){const n=f.useRef(),r=()=>{var o;n.current&&"focus"in n.current&&typeof n.current.focus=="function"&&((o=n.current)==null||o.focus({preventScroll:!0}))};return ks(()=>{let o=-1;const s=a=>{a.key==="Tab"&&window.clearTimeout(o)};return document.addEventListener("keydown",s),e?n.current=document.activeElement:t&&(o=window.setTimeout(r,10)),()=>{window.clearTimeout(o),document.removeEventListener("keydown",s)}},[e,t]),r}const vW=/input|select|textarea|button|object/,jP="a, input, select, textarea, button, object, [tabindex]";function bW(e){return e.style.display==="none"}function yW(e){if(e.getAttribute("aria-hidden")||e.getAttribute("hidden")||e.getAttribute("type")==="hidden")return!1;let n=e;for(;n&&!(n===document.body||n.nodeType===11);){if(bW(n))return!1;n=n.parentNode}return!0}function IP(e){let t=e.getAttribute("tabindex");return t===null&&(t=void 0),parseInt(t,10)}function p1(e){const t=e.nodeName.toLowerCase(),n=!Number.isNaN(IP(e));return(vW.test(t)&&!e.disabled||e instanceof HTMLAnchorElement&&e.href||n)&&yW(e)}function EP(e){const t=IP(e);return(Number.isNaN(t)||t>=0)&&p1(e)}function xW(e){return Array.from(e.querySelectorAll(jP)).filter(EP)}function wW(e,t){const n=xW(e);if(!n.length){t.preventDefault();return}const r=n[t.shiftKey?0:n.length-1],o=e.getRootNode();if(!(r===o.activeElement||e===o.activeElement))return;t.preventDefault();const a=n[t.shiftKey?n.length-1:0];a&&a.focus()}function ry(){return`mantine-${Math.random().toString(36).slice(2,11)}`}function SW(e,t="body > :not(script)"){const n=ry(),r=Array.from(document.querySelectorAll(t)).map(o=>{var s;if((s=o==null?void 0:o.shadowRoot)!=null&&s.contains(e)||o.contains(e))return;const a=o.getAttribute("aria-hidden"),c=o.getAttribute("data-hidden"),d=o.getAttribute("data-focus-id");return o.setAttribute("data-focus-id",n),a===null||a==="false"?o.setAttribute("aria-hidden","true"):!c&&!d&&o.setAttribute("data-hidden",a),{node:o,ariaHidden:c||null}});return()=>{r.forEach(o=>{!o||n!==o.node.getAttribute("data-focus-id")||(o.ariaHidden===null?o.node.removeAttribute("aria-hidden"):o.node.setAttribute("aria-hidden",o.ariaHidden),o.node.removeAttribute("data-focus-id"),o.node.removeAttribute("data-hidden"))})}}function CW(e=!0){const t=f.useRef(),n=f.useRef(null),r=s=>{let a=s.querySelector("[data-autofocus]");if(!a){const c=Array.from(s.querySelectorAll(jP));a=c.find(EP)||c.find(p1)||null,!a&&p1(s)&&(a=s)}a&&a.focus({preventScroll:!0})},o=f.useCallback(s=>{if(e){if(s===null){n.current&&(n.current(),n.current=null);return}n.current=SW(s),t.current!==s&&(s?(setTimeout(()=>{s.getRootNode()&&r(s)}),t.current=s):t.current=null)}},[e]);return f.useEffect(()=>{if(!e)return;t.current&&setTimeout(()=>r(t.current));const s=a=>{a.key==="Tab"&&t.current&&wW(t.current,a)};return document.addEventListener("keydown",s),()=>{document.removeEventListener("keydown",s),n.current&&n.current()}},[e]),o}const kW=H["useId".toString()]||(()=>{});function _W(){const e=kW();return e?`mantine-${e.replace(/:/g,"")}`:""}function oy(e){const t=_W(),[n,r]=f.useState(t);return PP(()=>{r(ry())},[]),typeof e=="string"?e:typeof window>"u"?t:n}function zS(e,t,n){f.useEffect(()=>(window.addEventListener(e,t,n),()=>window.removeEventListener(e,t,n)),[e,t])}function OP(e,t){typeof e=="function"?e(t):typeof e=="object"&&e!==null&&"current"in e&&(e.current=t)}function PW(...e){return t=>{e.forEach(n=>OP(n,t))}}function Bd(...e){return f.useCallback(PW(...e),e)}function cd({value:e,defaultValue:t,finalValue:n,onChange:r=()=>{}}){const[o,s]=f.useState(t!==void 0?t:n),a=c=>{s(c),r==null||r(c)};return e!==void 0?[e,r,!0]:[o,a,!1]}function RP(e,t){return mW("(prefers-reduced-motion: reduce)",e,t)}const jW=e=>e<.5?2*e*e:-1+(4-2*e)*e,IW=({axis:e,target:t,parent:n,alignment:r,offset:o,isList:s})=>{if(!t||!n&&typeof document>"u")return 0;const a=!!n,d=(n||document.body).getBoundingClientRect(),p=t.getBoundingClientRect(),h=m=>p[m]-d[m];if(e==="y"){const m=h("top");if(m===0)return 0;if(r==="start"){const b=m-o;return b<=p.height*(s?0:1)||!s?b:0}const v=a?d.height:window.innerHeight;if(r==="end"){const b=m+o-v+p.height;return b>=-p.height*(s?0:1)||!s?b:0}return r==="center"?m-v/2+p.height/2:0}if(e==="x"){const m=h("left");if(m===0)return 0;if(r==="start"){const b=m-o;return b<=p.width||!s?b:0}const v=a?d.width:window.innerWidth;if(r==="end"){const b=m+o-v+p.width;return b>=-p.width||!s?b:0}return r==="center"?m-v/2+p.width/2:0}return 0},EW=({axis:e,parent:t})=>{if(!t&&typeof document>"u")return 0;const n=e==="y"?"scrollTop":"scrollLeft";if(t)return t[n];const{body:r,documentElement:o}=document;return r[n]+o[n]},OW=({axis:e,parent:t,distance:n})=>{if(!t&&typeof document>"u")return;const r=e==="y"?"scrollTop":"scrollLeft";if(t)t[r]=n;else{const{body:o,documentElement:s}=document;o[r]=n,s[r]=n}};function MP({duration:e=1250,axis:t="y",onScrollFinish:n,easing:r=jW,offset:o=0,cancelable:s=!0,isList:a=!1}={}){const c=f.useRef(0),d=f.useRef(0),p=f.useRef(!1),h=f.useRef(null),m=f.useRef(null),v=RP(),b=()=>{c.current&&cancelAnimationFrame(c.current)},w=f.useCallback(({alignment:S="start"}={})=>{var k;p.current=!1,c.current&&b();const _=(k=EW({parent:h.current,axis:t}))!=null?k:0,P=IW({parent:h.current,target:m.current,axis:t,alignment:S,offset:o,isList:a})-(h.current?0:_);function I(){d.current===0&&(d.current=performance.now());const O=performance.now()-d.current,R=v||e===0?1:O/e,M=_+P*r(R);OW({parent:h.current,axis:t,distance:M}),!p.current&&R<1?c.current=requestAnimationFrame(I):(typeof n=="function"&&n(),d.current=0,c.current=0,b())}I()},[t,e,r,a,o,n,v]),y=()=>{s&&(p.current=!0)};return zS("wheel",y,{passive:!0}),zS("touchmove",y,{passive:!0}),f.useEffect(()=>b,[]),{scrollableRef:h,targetRef:m,scrollIntoView:w,cancel:b}}var BS=Object.getOwnPropertySymbols,RW=Object.prototype.hasOwnProperty,MW=Object.prototype.propertyIsEnumerable,DW=(e,t)=>{var n={};for(var r in e)RW.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&BS)for(var r of BS(e))t.indexOf(r)<0&&MW.call(e,r)&&(n[r]=e[r]);return n};function $m(e){const t=e,{m:n,mx:r,my:o,mt:s,mb:a,ml:c,mr:d,p,px:h,py:m,pt:v,pb:b,pl:w,pr:y,bg:S,c:k,opacity:_,ff:P,fz:I,fw:E,lts:O,ta:R,lh:M,fs:D,tt:A,td:L,w:Q,miw:F,maw:V,h:q,mih:G,mah:T,bgsz:z,bgp:$,bgr:Y,bga:ae,pos:fe,top:ie,left:X,bottom:K,right:U,inset:se,display:re}=t,oe=DW(t,["m","mx","my","mt","mb","ml","mr","p","px","py","pt","pb","pl","pr","bg","c","opacity","ff","fz","fw","lts","ta","lh","fs","tt","td","w","miw","maw","h","mih","mah","bgsz","bgp","bgr","bga","pos","top","left","bottom","right","inset","display"]);return{systemStyles:s9({m:n,mx:r,my:o,mt:s,mb:a,ml:c,mr:d,p,px:h,py:m,pt:v,pb:b,pl:w,pr:y,bg:S,c:k,opacity:_,ff:P,fz:I,fw:E,lts:O,ta:R,lh:M,fs:D,tt:A,td:L,w:Q,miw:F,maw:V,h:q,mih:G,mah:T,bgsz:z,bgp:$,bgr:Y,bga:ae,pos:fe,top:ie,left:X,bottom:K,right:U,inset:se,display:re}),rest:oe}}function AW(e,t){const n=Object.keys(e).filter(r=>r!=="base").sort((r,o)=>Pw(Vt({size:r,sizes:t.breakpoints}))-Pw(Vt({size:o,sizes:t.breakpoints})));return"base"in e?["base",...n]:n}function TW({value:e,theme:t,getValue:n,property:r}){if(e==null)return;if(typeof e=="object")return AW(e,t).reduce((a,c)=>{if(c==="base"&&e.base!==void 0){const p=n(e.base,t);return Array.isArray(r)?(r.forEach(h=>{a[h]=p}),a):(a[r]=p,a)}const d=n(e[c],t);return Array.isArray(r)?(a[t.fn.largerThan(c)]={},r.forEach(p=>{a[t.fn.largerThan(c)][p]=d}),a):(a[t.fn.largerThan(c)]={[r]:d},a)},{});const o=n(e,t);return Array.isArray(r)?r.reduce((s,a)=>(s[a]=o,s),{}):{[r]:o}}function NW(e,t){return e==="dimmed"?t.colorScheme==="dark"?t.colors.dark[2]:t.colors.gray[6]:t.fn.variant({variant:"filled",color:e,primaryFallback:!1}).background}function $W(e){return Ue(e)}function LW(e){return e}function zW(e,t){return Vt({size:e,sizes:t.fontSizes})}const BW=["-xs","-sm","-md","-lg","-xl"];function FW(e,t){return BW.includes(e)?`calc(${Vt({size:e.replace("-",""),sizes:t.spacing})} * -1)`:Vt({size:e,sizes:t.spacing})}const HW={identity:LW,color:NW,size:$W,fontSize:zW,spacing:FW},WW={m:{type:"spacing",property:"margin"},mt:{type:"spacing",property:"marginTop"},mb:{type:"spacing",property:"marginBottom"},ml:{type:"spacing",property:"marginLeft"},mr:{type:"spacing",property:"marginRight"},mx:{type:"spacing",property:["marginRight","marginLeft"]},my:{type:"spacing",property:["marginTop","marginBottom"]},p:{type:"spacing",property:"padding"},pt:{type:"spacing",property:"paddingTop"},pb:{type:"spacing",property:"paddingBottom"},pl:{type:"spacing",property:"paddingLeft"},pr:{type:"spacing",property:"paddingRight"},px:{type:"spacing",property:["paddingRight","paddingLeft"]},py:{type:"spacing",property:["paddingTop","paddingBottom"]},bg:{type:"color",property:"background"},c:{type:"color",property:"color"},opacity:{type:"identity",property:"opacity"},ff:{type:"identity",property:"fontFamily"},fz:{type:"fontSize",property:"fontSize"},fw:{type:"identity",property:"fontWeight"},lts:{type:"size",property:"letterSpacing"},ta:{type:"identity",property:"textAlign"},lh:{type:"identity",property:"lineHeight"},fs:{type:"identity",property:"fontStyle"},tt:{type:"identity",property:"textTransform"},td:{type:"identity",property:"textDecoration"},w:{type:"spacing",property:"width"},miw:{type:"spacing",property:"minWidth"},maw:{type:"spacing",property:"maxWidth"},h:{type:"spacing",property:"height"},mih:{type:"spacing",property:"minHeight"},mah:{type:"spacing",property:"maxHeight"},bgsz:{type:"size",property:"backgroundSize"},bgp:{type:"identity",property:"backgroundPosition"},bgr:{type:"identity",property:"backgroundRepeat"},bga:{type:"identity",property:"backgroundAttachment"},pos:{type:"identity",property:"position"},top:{type:"identity",property:"top"},left:{type:"size",property:"left"},bottom:{type:"size",property:"bottom"},right:{type:"size",property:"right"},inset:{type:"size",property:"inset"},display:{type:"identity",property:"display"}};var VW=Object.defineProperty,FS=Object.getOwnPropertySymbols,UW=Object.prototype.hasOwnProperty,GW=Object.prototype.propertyIsEnumerable,HS=(e,t,n)=>t in e?VW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,WS=(e,t)=>{for(var n in t||(t={}))UW.call(t,n)&&HS(e,n,t[n]);if(FS)for(var n of FS(t))GW.call(t,n)&&HS(e,n,t[n]);return e};function VS(e,t,n=WW){return Object.keys(n).reduce((o,s)=>(s in e&&e[s]!==void 0&&o.push(TW({value:e[s],getValue:HW[n[s].type],property:n[s].property,theme:t})),o),[]).reduce((o,s)=>(Object.keys(s).forEach(a=>{typeof s[a]=="object"&&s[a]!==null&&a in o?o[a]=WS(WS({},o[a]),s[a]):o[a]=s[a]}),o),{})}function US(e,t){return typeof e=="function"?e(t):e}function qW(e,t,n){const r=Ha(),{css:o,cx:s}=_P();return Array.isArray(e)?s(n,o(VS(t,r)),e.map(a=>o(US(a,r)))):s(n,o(US(e,r)),o(VS(t,r)))}var KW=Object.defineProperty,ih=Object.getOwnPropertySymbols,DP=Object.prototype.hasOwnProperty,AP=Object.prototype.propertyIsEnumerable,GS=(e,t,n)=>t in e?KW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,XW=(e,t)=>{for(var n in t||(t={}))DP.call(t,n)&&GS(e,n,t[n]);if(ih)for(var n of ih(t))AP.call(t,n)&&GS(e,n,t[n]);return e},YW=(e,t)=>{var n={};for(var r in e)DP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ih)for(var r of ih(e))t.indexOf(r)<0&&AP.call(e,r)&&(n[r]=e[r]);return n};const TP=f.forwardRef((e,t)=>{var n=e,{className:r,component:o,style:s,sx:a}=n,c=YW(n,["className","component","style","sx"]);const{systemStyles:d,rest:p}=$m(c),h=o||"div";return H.createElement(h,XW({ref:t,className:qW(a,d,r),style:s},p))});TP.displayName="@mantine/core/Box";const Io=TP;var QW=Object.defineProperty,JW=Object.defineProperties,ZW=Object.getOwnPropertyDescriptors,qS=Object.getOwnPropertySymbols,eV=Object.prototype.hasOwnProperty,tV=Object.prototype.propertyIsEnumerable,KS=(e,t,n)=>t in e?QW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,XS=(e,t)=>{for(var n in t||(t={}))eV.call(t,n)&&KS(e,n,t[n]);if(qS)for(var n of qS(t))tV.call(t,n)&&KS(e,n,t[n]);return e},nV=(e,t)=>JW(e,ZW(t)),rV=so(e=>({root:nV(XS(XS({},e.fn.focusStyles()),e.fn.fontStyles()),{cursor:"pointer",border:0,padding:0,appearance:"none",fontSize:e.fontSizes.md,backgroundColor:"transparent",textAlign:"left",color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,textDecoration:"none",boxSizing:"border-box"})}));const oV=rV;var sV=Object.defineProperty,lh=Object.getOwnPropertySymbols,NP=Object.prototype.hasOwnProperty,$P=Object.prototype.propertyIsEnumerable,YS=(e,t,n)=>t in e?sV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,aV=(e,t)=>{for(var n in t||(t={}))NP.call(t,n)&&YS(e,n,t[n]);if(lh)for(var n of lh(t))$P.call(t,n)&&YS(e,n,t[n]);return e},iV=(e,t)=>{var n={};for(var r in e)NP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&lh)for(var r of lh(e))t.indexOf(r)<0&&$P.call(e,r)&&(n[r]=e[r]);return n};const LP=f.forwardRef((e,t)=>{const n=Cr("UnstyledButton",{},e),{className:r,component:o="button",unstyled:s,variant:a}=n,c=iV(n,["className","component","unstyled","variant"]),{classes:d,cx:p}=oV(null,{name:"UnstyledButton",unstyled:s,variant:a});return H.createElement(Io,aV({component:o,ref:t,className:p(d.root,r),type:o==="button"?"button":void 0},c))});LP.displayName="@mantine/core/UnstyledButton";const lV=LP;var cV=Object.defineProperty,uV=Object.defineProperties,dV=Object.getOwnPropertyDescriptors,QS=Object.getOwnPropertySymbols,fV=Object.prototype.hasOwnProperty,pV=Object.prototype.propertyIsEnumerable,JS=(e,t,n)=>t in e?cV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,h1=(e,t)=>{for(var n in t||(t={}))fV.call(t,n)&&JS(e,n,t[n]);if(QS)for(var n of QS(t))pV.call(t,n)&&JS(e,n,t[n]);return e},ZS=(e,t)=>uV(e,dV(t));const hV=["subtle","filled","outline","light","default","transparent","gradient"],Xf={xs:Ue(18),sm:Ue(22),md:Ue(28),lg:Ue(34),xl:Ue(44)};function mV({variant:e,theme:t,color:n,gradient:r}){const o=t.fn.variant({color:n,variant:e,gradient:r});return e==="gradient"?{border:0,backgroundImage:o.background,color:o.color,"&:hover":t.fn.hover({backgroundSize:"200%"})}:hV.includes(e)?h1({border:`${Ue(1)} solid ${o.border}`,backgroundColor:o.background,color:o.color},t.fn.hover({backgroundColor:o.hover})):null}var gV=so((e,{radius:t,color:n,gradient:r},{variant:o,size:s})=>({root:ZS(h1({position:"relative",borderRadius:e.fn.radius(t),padding:0,lineHeight:1,display:"flex",alignItems:"center",justifyContent:"center",height:Vt({size:s,sizes:Xf}),minHeight:Vt({size:s,sizes:Xf}),width:Vt({size:s,sizes:Xf}),minWidth:Vt({size:s,sizes:Xf})},mV({variant:o,theme:e,color:n,gradient:r})),{"&:active":e.activeStyles,"& [data-action-icon-loader]":{maxWidth:"70%"},"&:disabled, &[data-disabled]":{color:e.colors.gray[e.colorScheme==="dark"?6:4],cursor:"not-allowed",backgroundColor:o==="transparent"?void 0:e.fn.themeColor("gray",e.colorScheme==="dark"?8:1),borderColor:o==="transparent"?void 0:e.fn.themeColor("gray",e.colorScheme==="dark"?8:1),backgroundImage:"none",pointerEvents:"none","&:active":{transform:"none"}},"&[data-loading]":{pointerEvents:"none","&::before":ZS(h1({content:'""'},e.fn.cover(Ue(-1))),{backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.colors.dark[7],.5):"rgba(255, 255, 255, .5)",borderRadius:e.fn.radius(t),cursor:"not-allowed"})}})}));const vV=gV;var bV=Object.defineProperty,ch=Object.getOwnPropertySymbols,zP=Object.prototype.hasOwnProperty,BP=Object.prototype.propertyIsEnumerable,eC=(e,t,n)=>t in e?bV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tC=(e,t)=>{for(var n in t||(t={}))zP.call(t,n)&&eC(e,n,t[n]);if(ch)for(var n of ch(t))BP.call(t,n)&&eC(e,n,t[n]);return e},nC=(e,t)=>{var n={};for(var r in e)zP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ch)for(var r of ch(e))t.indexOf(r)<0&&BP.call(e,r)&&(n[r]=e[r]);return n};function yV(e){var t=e,{size:n,color:r}=t,o=nC(t,["size","color"]);const s=o,{style:a}=s,c=nC(s,["style"]);return H.createElement("svg",tC({viewBox:"0 0 135 140",xmlns:"http://www.w3.org/2000/svg",fill:r,style:tC({width:n},a)},c),H.createElement("rect",{y:"10",width:"15",height:"120",rx:"6"},H.createElement("animate",{attributeName:"height",begin:"0.5s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"y",begin:"0.5s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("rect",{x:"30",y:"10",width:"15",height:"120",rx:"6"},H.createElement("animate",{attributeName:"height",begin:"0.25s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"y",begin:"0.25s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("rect",{x:"60",width:"15",height:"140",rx:"6"},H.createElement("animate",{attributeName:"height",begin:"0s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"y",begin:"0s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("rect",{x:"90",y:"10",width:"15",height:"120",rx:"6"},H.createElement("animate",{attributeName:"height",begin:"0.25s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"y",begin:"0.25s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("rect",{x:"120",y:"10",width:"15",height:"120",rx:"6"},H.createElement("animate",{attributeName:"height",begin:"0.5s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"y",begin:"0.5s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})))}var xV=Object.defineProperty,uh=Object.getOwnPropertySymbols,FP=Object.prototype.hasOwnProperty,HP=Object.prototype.propertyIsEnumerable,rC=(e,t,n)=>t in e?xV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,oC=(e,t)=>{for(var n in t||(t={}))FP.call(t,n)&&rC(e,n,t[n]);if(uh)for(var n of uh(t))HP.call(t,n)&&rC(e,n,t[n]);return e},sC=(e,t)=>{var n={};for(var r in e)FP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&uh)for(var r of uh(e))t.indexOf(r)<0&&HP.call(e,r)&&(n[r]=e[r]);return n};function wV(e){var t=e,{size:n,color:r}=t,o=sC(t,["size","color"]);const s=o,{style:a}=s,c=sC(s,["style"]);return H.createElement("svg",oC({viewBox:"0 0 38 38",xmlns:"http://www.w3.org/2000/svg",stroke:r,style:oC({width:n,height:n},a)},c),H.createElement("g",{fill:"none",fillRule:"evenodd"},H.createElement("g",{transform:"translate(2.5 2.5)",strokeWidth:"5"},H.createElement("circle",{strokeOpacity:".5",cx:"16",cy:"16",r:"16"}),H.createElement("path",{d:"M32 16c0-9.94-8.06-16-16-16"},H.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 16 16",to:"360 16 16",dur:"1s",repeatCount:"indefinite"})))))}var SV=Object.defineProperty,dh=Object.getOwnPropertySymbols,WP=Object.prototype.hasOwnProperty,VP=Object.prototype.propertyIsEnumerable,aC=(e,t,n)=>t in e?SV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,iC=(e,t)=>{for(var n in t||(t={}))WP.call(t,n)&&aC(e,n,t[n]);if(dh)for(var n of dh(t))VP.call(t,n)&&aC(e,n,t[n]);return e},lC=(e,t)=>{var n={};for(var r in e)WP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&dh)for(var r of dh(e))t.indexOf(r)<0&&VP.call(e,r)&&(n[r]=e[r]);return n};function CV(e){var t=e,{size:n,color:r}=t,o=lC(t,["size","color"]);const s=o,{style:a}=s,c=lC(s,["style"]);return H.createElement("svg",iC({viewBox:"0 0 120 30",xmlns:"http://www.w3.org/2000/svg",fill:r,style:iC({width:n},a)},c),H.createElement("circle",{cx:"15",cy:"15",r:"15"},H.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("circle",{cx:"60",cy:"15",r:"9",fillOpacity:"0.3"},H.createElement("animate",{attributeName:"r",from:"9",to:"9",begin:"0s",dur:"0.8s",values:"9;15;9",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"fill-opacity",from:"0.5",to:"0.5",begin:"0s",dur:"0.8s",values:".5;1;.5",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("circle",{cx:"105",cy:"15",r:"15"},H.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})))}var kV=Object.defineProperty,fh=Object.getOwnPropertySymbols,UP=Object.prototype.hasOwnProperty,GP=Object.prototype.propertyIsEnumerable,cC=(e,t,n)=>t in e?kV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_V=(e,t)=>{for(var n in t||(t={}))UP.call(t,n)&&cC(e,n,t[n]);if(fh)for(var n of fh(t))GP.call(t,n)&&cC(e,n,t[n]);return e},PV=(e,t)=>{var n={};for(var r in e)UP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&fh)for(var r of fh(e))t.indexOf(r)<0&&GP.call(e,r)&&(n[r]=e[r]);return n};const q0={bars:yV,oval:wV,dots:CV},jV={xs:Ue(18),sm:Ue(22),md:Ue(36),lg:Ue(44),xl:Ue(58)},IV={size:"md"};function qP(e){const t=Cr("Loader",IV,e),{size:n,color:r,variant:o}=t,s=PV(t,["size","color","variant"]),a=Ha(),c=o in q0?o:a.loader;return H.createElement(Io,_V({role:"presentation",component:q0[c]||q0.bars,size:Vt({size:n,sizes:jV}),color:a.fn.variant({variant:"filled",primaryFallback:!1,color:r||a.primaryColor}).background},s))}qP.displayName="@mantine/core/Loader";var EV=Object.defineProperty,ph=Object.getOwnPropertySymbols,KP=Object.prototype.hasOwnProperty,XP=Object.prototype.propertyIsEnumerable,uC=(e,t,n)=>t in e?EV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dC=(e,t)=>{for(var n in t||(t={}))KP.call(t,n)&&uC(e,n,t[n]);if(ph)for(var n of ph(t))XP.call(t,n)&&uC(e,n,t[n]);return e},OV=(e,t)=>{var n={};for(var r in e)KP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ph)for(var r of ph(e))t.indexOf(r)<0&&XP.call(e,r)&&(n[r]=e[r]);return n};const RV={color:"gray",size:"md",variant:"subtle"},YP=f.forwardRef((e,t)=>{const n=Cr("ActionIcon",RV,e),{className:r,color:o,children:s,radius:a,size:c,variant:d,gradient:p,disabled:h,loaderProps:m,loading:v,unstyled:b,__staticSelector:w}=n,y=OV(n,["className","color","children","radius","size","variant","gradient","disabled","loaderProps","loading","unstyled","__staticSelector"]),{classes:S,cx:k,theme:_}=vV({radius:a,color:o,gradient:p},{name:["ActionIcon",w],unstyled:b,size:c,variant:d}),P=H.createElement(qP,dC({color:_.fn.variant({color:o,variant:d}).color,size:"100%","data-action-icon-loader":!0},m));return H.createElement(lV,dC({className:k(S.root,r),ref:t,disabled:h,"data-disabled":h||void 0,"data-loading":v||void 0,unstyled:b},y),v?P:s)});YP.displayName="@mantine/core/ActionIcon";const MV=YP;var DV=Object.defineProperty,AV=Object.defineProperties,TV=Object.getOwnPropertyDescriptors,hh=Object.getOwnPropertySymbols,QP=Object.prototype.hasOwnProperty,JP=Object.prototype.propertyIsEnumerable,fC=(e,t,n)=>t in e?DV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,NV=(e,t)=>{for(var n in t||(t={}))QP.call(t,n)&&fC(e,n,t[n]);if(hh)for(var n of hh(t))JP.call(t,n)&&fC(e,n,t[n]);return e},$V=(e,t)=>AV(e,TV(t)),LV=(e,t)=>{var n={};for(var r in e)QP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&hh)for(var r of hh(e))t.indexOf(r)<0&&JP.call(e,r)&&(n[r]=e[r]);return n};function ZP(e){const t=Cr("Portal",{},e),{children:n,target:r,className:o,innerRef:s}=t,a=LV(t,["children","target","className","innerRef"]),c=Ha(),[d,p]=f.useState(!1),h=f.useRef();return PP(()=>(p(!0),h.current=r?typeof r=="string"?document.querySelector(r):r:document.createElement("div"),r||document.body.appendChild(h.current),()=>{!r&&document.body.removeChild(h.current)}),[r]),d?ki.createPortal(H.createElement("div",$V(NV({className:o,dir:c.dir},a),{ref:s}),n),h.current):null}ZP.displayName="@mantine/core/Portal";var zV=Object.defineProperty,mh=Object.getOwnPropertySymbols,ej=Object.prototype.hasOwnProperty,tj=Object.prototype.propertyIsEnumerable,pC=(e,t,n)=>t in e?zV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,BV=(e,t)=>{for(var n in t||(t={}))ej.call(t,n)&&pC(e,n,t[n]);if(mh)for(var n of mh(t))tj.call(t,n)&&pC(e,n,t[n]);return e},FV=(e,t)=>{var n={};for(var r in e)ej.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&mh)for(var r of mh(e))t.indexOf(r)<0&&tj.call(e,r)&&(n[r]=e[r]);return n};function nj(e){var t=e,{withinPortal:n=!0,children:r}=t,o=FV(t,["withinPortal","children"]);return n?H.createElement(ZP,BV({},o),r):H.createElement(H.Fragment,null,r)}nj.displayName="@mantine/core/OptionalPortal";var HV=Object.defineProperty,gh=Object.getOwnPropertySymbols,rj=Object.prototype.hasOwnProperty,oj=Object.prototype.propertyIsEnumerable,hC=(e,t,n)=>t in e?HV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,mC=(e,t)=>{for(var n in t||(t={}))rj.call(t,n)&&hC(e,n,t[n]);if(gh)for(var n of gh(t))oj.call(t,n)&&hC(e,n,t[n]);return e},WV=(e,t)=>{var n={};for(var r in e)rj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&gh)for(var r of gh(e))t.indexOf(r)<0&&oj.call(e,r)&&(n[r]=e[r]);return n};function sj(e){const t=e,{width:n,height:r,style:o}=t,s=WV(t,["width","height","style"]);return H.createElement("svg",mC({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:mC({width:n,height:r},o)},s),H.createElement("path",{d:"M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}sj.displayName="@mantine/core/CloseIcon";var VV=Object.defineProperty,vh=Object.getOwnPropertySymbols,aj=Object.prototype.hasOwnProperty,ij=Object.prototype.propertyIsEnumerable,gC=(e,t,n)=>t in e?VV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,UV=(e,t)=>{for(var n in t||(t={}))aj.call(t,n)&&gC(e,n,t[n]);if(vh)for(var n of vh(t))ij.call(t,n)&&gC(e,n,t[n]);return e},GV=(e,t)=>{var n={};for(var r in e)aj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&vh)for(var r of vh(e))t.indexOf(r)<0&&ij.call(e,r)&&(n[r]=e[r]);return n};const qV={xs:Ue(12),sm:Ue(16),md:Ue(20),lg:Ue(28),xl:Ue(34)},KV={size:"sm"},lj=f.forwardRef((e,t)=>{const n=Cr("CloseButton",KV,e),{iconSize:r,size:o,children:s}=n,a=GV(n,["iconSize","size","children"]),c=Ue(r||qV[o]);return H.createElement(MV,UV({ref:t,__staticSelector:"CloseButton",size:o},a),s||H.createElement(sj,{width:c,height:c}))});lj.displayName="@mantine/core/CloseButton";const cj=lj;var XV=Object.defineProperty,YV=Object.defineProperties,QV=Object.getOwnPropertyDescriptors,vC=Object.getOwnPropertySymbols,JV=Object.prototype.hasOwnProperty,ZV=Object.prototype.propertyIsEnumerable,bC=(e,t,n)=>t in e?XV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Yf=(e,t)=>{for(var n in t||(t={}))JV.call(t,n)&&bC(e,n,t[n]);if(vC)for(var n of vC(t))ZV.call(t,n)&&bC(e,n,t[n]);return e},eU=(e,t)=>YV(e,QV(t));function tU({underline:e,strikethrough:t}){const n=[];return e&&n.push("underline"),t&&n.push("line-through"),n.length>0?n.join(" "):"none"}function nU({theme:e,color:t}){return t==="dimmed"?e.fn.dimmed():typeof t=="string"&&(t in e.colors||t.split(".")[0]in e.colors)?e.fn.variant({variant:"filled",color:t}).background:t||"inherit"}function rU(e){return typeof e=="number"?{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:e,WebkitBoxOrient:"vertical"}:null}function oU({theme:e,truncate:t}){return t==="start"?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",direction:e.dir==="ltr"?"rtl":"ltr",textAlign:e.dir==="ltr"?"right":"left"}:t?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:null}var sU=so((e,{color:t,lineClamp:n,truncate:r,inline:o,inherit:s,underline:a,gradient:c,weight:d,transform:p,align:h,strikethrough:m,italic:v},{size:b})=>{const w=e.fn.variant({variant:"gradient",gradient:c});return{root:eU(Yf(Yf(Yf(Yf({},e.fn.fontStyles()),e.fn.focusStyles()),rU(n)),oU({theme:e,truncate:r})),{color:nU({color:t,theme:e}),fontFamily:s?"inherit":e.fontFamily,fontSize:s||b===void 0?"inherit":Vt({size:b,sizes:e.fontSizes}),lineHeight:s?"inherit":o?1:e.lineHeight,textDecoration:tU({underline:a,strikethrough:m}),WebkitTapHighlightColor:"transparent",fontWeight:s?"inherit":d,textTransform:p,textAlign:h,fontStyle:v?"italic":void 0}),gradient:{backgroundImage:w.background,WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"}}});const aU=sU;var iU=Object.defineProperty,bh=Object.getOwnPropertySymbols,uj=Object.prototype.hasOwnProperty,dj=Object.prototype.propertyIsEnumerable,yC=(e,t,n)=>t in e?iU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lU=(e,t)=>{for(var n in t||(t={}))uj.call(t,n)&&yC(e,n,t[n]);if(bh)for(var n of bh(t))dj.call(t,n)&&yC(e,n,t[n]);return e},cU=(e,t)=>{var n={};for(var r in e)uj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&bh)for(var r of bh(e))t.indexOf(r)<0&&dj.call(e,r)&&(n[r]=e[r]);return n};const uU={variant:"text"},fj=f.forwardRef((e,t)=>{const n=Cr("Text",uU,e),{className:r,size:o,weight:s,transform:a,color:c,align:d,variant:p,lineClamp:h,truncate:m,gradient:v,inline:b,inherit:w,underline:y,strikethrough:S,italic:k,classNames:_,styles:P,unstyled:I,span:E,__staticSelector:O}=n,R=cU(n,["className","size","weight","transform","color","align","variant","lineClamp","truncate","gradient","inline","inherit","underline","strikethrough","italic","classNames","styles","unstyled","span","__staticSelector"]),{classes:M,cx:D}=aU({color:c,lineClamp:h,truncate:m,inline:b,inherit:w,underline:y,strikethrough:S,italic:k,weight:s,transform:a,align:d,gradient:v},{unstyled:I,name:O||"Text",variant:p,size:o});return H.createElement(Io,lU({ref:t,className:D(M.root,{[M.gradient]:p==="gradient"},r),component:E?"span":"div"},R))});fj.displayName="@mantine/core/Text";const _c=fj,Qf={xs:Ue(1),sm:Ue(2),md:Ue(3),lg:Ue(4),xl:Ue(5)};function Jf(e,t){const n=e.fn.variant({variant:"outline",color:t}).border;return typeof t=="string"&&(t in e.colors||t.split(".")[0]in e.colors)?n:t===void 0?e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4]:t}var dU=so((e,{color:t},{size:n,variant:r})=>({root:{},withLabel:{borderTop:"0 !important"},left:{"&::before":{display:"none"}},right:{"&::after":{display:"none"}},label:{display:"flex",alignItems:"center","&::before":{content:'""',flex:1,height:Ue(1),borderTop:`${Vt({size:n,sizes:Qf})} ${r} ${Jf(e,t)}`,marginRight:e.spacing.xs},"&::after":{content:'""',flex:1,borderTop:`${Vt({size:n,sizes:Qf})} ${r} ${Jf(e,t)}`,marginLeft:e.spacing.xs}},labelDefaultStyles:{color:t==="dark"?e.colors.dark[1]:e.fn.themeColor(t,e.colorScheme==="dark"?5:e.fn.primaryShade(),!1)},horizontal:{border:0,borderTopWidth:Ue(Vt({size:n,sizes:Qf})),borderTopColor:Jf(e,t),borderTopStyle:r,margin:0},vertical:{border:0,alignSelf:"stretch",height:"auto",borderLeftWidth:Ue(Vt({size:n,sizes:Qf})),borderLeftColor:Jf(e,t),borderLeftStyle:r}}));const fU=dU;var pU=Object.defineProperty,hU=Object.defineProperties,mU=Object.getOwnPropertyDescriptors,yh=Object.getOwnPropertySymbols,pj=Object.prototype.hasOwnProperty,hj=Object.prototype.propertyIsEnumerable,xC=(e,t,n)=>t in e?pU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,wC=(e,t)=>{for(var n in t||(t={}))pj.call(t,n)&&xC(e,n,t[n]);if(yh)for(var n of yh(t))hj.call(t,n)&&xC(e,n,t[n]);return e},gU=(e,t)=>hU(e,mU(t)),vU=(e,t)=>{var n={};for(var r in e)pj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&yh)for(var r of yh(e))t.indexOf(r)<0&&hj.call(e,r)&&(n[r]=e[r]);return n};const bU={orientation:"horizontal",size:"xs",labelPosition:"left",variant:"solid"},m1=f.forwardRef((e,t)=>{const n=Cr("Divider",bU,e),{className:r,color:o,orientation:s,size:a,label:c,labelPosition:d,labelProps:p,variant:h,styles:m,classNames:v,unstyled:b}=n,w=vU(n,["className","color","orientation","size","label","labelPosition","labelProps","variant","styles","classNames","unstyled"]),{classes:y,cx:S}=fU({color:o},{classNames:v,styles:m,unstyled:b,name:"Divider",variant:h,size:a}),k=s==="vertical",_=s==="horizontal",P=!!c&&_,I=!(p!=null&&p.color);return H.createElement(Io,wC({ref:t,className:S(y.root,{[y.vertical]:k,[y.horizontal]:_,[y.withLabel]:P},r),role:"separator"},w),P&&H.createElement(_c,gU(wC({},p),{size:(p==null?void 0:p.size)||"xs",mt:Ue(2),className:S(y.label,y[d],{[y.labelDefaultStyles]:I})}),c))});m1.displayName="@mantine/core/Divider";var yU=Object.defineProperty,xU=Object.defineProperties,wU=Object.getOwnPropertyDescriptors,SC=Object.getOwnPropertySymbols,SU=Object.prototype.hasOwnProperty,CU=Object.prototype.propertyIsEnumerable,CC=(e,t,n)=>t in e?yU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kC=(e,t)=>{for(var n in t||(t={}))SU.call(t,n)&&CC(e,n,t[n]);if(SC)for(var n of SC(t))CU.call(t,n)&&CC(e,n,t[n]);return e},kU=(e,t)=>xU(e,wU(t)),_U=so((e,t,{size:n})=>({item:kU(kC({},e.fn.fontStyles()),{boxSizing:"border-box",wordBreak:"break-all",textAlign:"left",width:"100%",padding:`calc(${Vt({size:n,sizes:e.spacing})} / 1.5) ${Vt({size:n,sizes:e.spacing})}`,cursor:"pointer",fontSize:Vt({size:n,sizes:e.fontSizes}),color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,borderRadius:e.fn.radius(),"&[data-hovered]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[1]},"&[data-selected]":kC({backgroundColor:e.fn.variant({variant:"filled"}).background,color:e.fn.variant({variant:"filled"}).color},e.fn.hover({backgroundColor:e.fn.variant({variant:"filled"}).hover})),"&[data-disabled]":{cursor:"default",color:e.colors.dark[2]}}),nothingFound:{boxSizing:"border-box",color:e.colors.gray[6],paddingTop:`calc(${Vt({size:n,sizes:e.spacing})} / 2)`,paddingBottom:`calc(${Vt({size:n,sizes:e.spacing})} / 2)`,textAlign:"center"},separator:{boxSizing:"border-box",textAlign:"left",width:"100%",padding:`calc(${Vt({size:n,sizes:e.spacing})} / 1.5) ${Vt({size:n,sizes:e.spacing})}`},separatorLabel:{color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]}}));const PU=_U;var jU=Object.defineProperty,_C=Object.getOwnPropertySymbols,IU=Object.prototype.hasOwnProperty,EU=Object.prototype.propertyIsEnumerable,PC=(e,t,n)=>t in e?jU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,OU=(e,t)=>{for(var n in t||(t={}))IU.call(t,n)&&PC(e,n,t[n]);if(_C)for(var n of _C(t))EU.call(t,n)&&PC(e,n,t[n]);return e};function sy({data:e,hovered:t,classNames:n,styles:r,isItemSelected:o,uuid:s,__staticSelector:a,onItemHover:c,onItemSelect:d,itemsRefs:p,itemComponent:h,size:m,nothingFound:v,creatable:b,createLabel:w,unstyled:y,variant:S}){const{classes:k}=PU(null,{classNames:n,styles:r,unstyled:y,name:a,variant:S,size:m}),_=[],P=[];let I=null;const E=(R,M)=>{const D=typeof o=="function"?o(R.value):!1;return H.createElement(h,OU({key:R.value,className:k.item,"data-disabled":R.disabled||void 0,"data-hovered":!R.disabled&&t===M||void 0,"data-selected":!R.disabled&&D||void 0,selected:D,onMouseEnter:()=>c(M),id:`${s}-${M}`,role:"option",tabIndex:-1,"aria-selected":t===M,ref:A=>{p&&p.current&&(p.current[R.value]=A)},onMouseDown:R.disabled?null:A=>{A.preventDefault(),d(R)},disabled:R.disabled,variant:S},R))};let O=null;if(e.forEach((R,M)=>{R.creatable?I=M:R.group?(O!==R.group&&(O=R.group,P.push(H.createElement("div",{className:k.separator,key:`__mantine-divider-${M}`},H.createElement(m1,{classNames:{label:k.separatorLabel},label:R.group})))),P.push(E(R,M))):_.push(E(R,M))}),b){const R=e[I];_.push(H.createElement("div",{key:ry(),className:k.item,"data-hovered":t===I||void 0,onMouseEnter:()=>c(I),onMouseDown:M=>{M.preventDefault(),d(R)},tabIndex:-1,ref:M=>{p&&p.current&&(p.current[R.value]=M)}},w))}return P.length>0&&_.length>0&&_.unshift(H.createElement("div",{className:k.separator,key:"empty-group-separator"},H.createElement(m1,null))),P.length>0||_.length>0?H.createElement(H.Fragment,null,P,_):H.createElement(_c,{size:m,unstyled:y,className:k.nothingFound},v)}sy.displayName="@mantine/core/SelectItems";var RU=Object.defineProperty,xh=Object.getOwnPropertySymbols,mj=Object.prototype.hasOwnProperty,gj=Object.prototype.propertyIsEnumerable,jC=(e,t,n)=>t in e?RU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,MU=(e,t)=>{for(var n in t||(t={}))mj.call(t,n)&&jC(e,n,t[n]);if(xh)for(var n of xh(t))gj.call(t,n)&&jC(e,n,t[n]);return e},DU=(e,t)=>{var n={};for(var r in e)mj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&xh)for(var r of xh(e))t.indexOf(r)<0&&gj.call(e,r)&&(n[r]=e[r]);return n};const ay=f.forwardRef((e,t)=>{var n=e,{label:r,value:o}=n,s=DU(n,["label","value"]);return H.createElement("div",MU({ref:t},s),r||o)});ay.displayName="@mantine/core/DefaultItem";function AU(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function vj(...e){return t=>e.forEach(n=>AU(n,t))}function vl(...e){return f.useCallback(vj(...e),e)}const bj=f.forwardRef((e,t)=>{const{children:n,...r}=e,o=f.Children.toArray(n),s=o.find(NU);if(s){const a=s.props.children,c=o.map(d=>d===s?f.Children.count(a)>1?f.Children.only(null):f.isValidElement(a)?a.props.children:null:d);return f.createElement(g1,sr({},r,{ref:t}),f.isValidElement(a)?f.cloneElement(a,void 0,c):null)}return f.createElement(g1,sr({},r,{ref:t}),n)});bj.displayName="Slot";const g1=f.forwardRef((e,t)=>{const{children:n,...r}=e;return f.isValidElement(n)?f.cloneElement(n,{...$U(r,n.props),ref:vj(t,n.ref)}):f.Children.count(n)>1?f.Children.only(null):null});g1.displayName="SlotClone";const TU=({children:e})=>f.createElement(f.Fragment,null,e);function NU(e){return f.isValidElement(e)&&e.type===TU}function $U(e,t){const n={...t};for(const r in t){const o=e[r],s=t[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...c)=>{s(...c),o(...c)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...e,...n}}const LU=["a","button","div","h2","h3","img","label","li","nav","ol","p","span","svg","ul"],Fd=LU.reduce((e,t)=>{const n=f.forwardRef((r,o)=>{const{asChild:s,...a}=r,c=s?bj:t;return f.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),f.createElement(c,sr({},a,{ref:o}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),v1=globalThis!=null&&globalThis.document?f.useLayoutEffect:()=>{};function zU(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const Hd=e=>{const{present:t,children:n}=e,r=BU(t),o=typeof n=="function"?n({present:r.isPresent}):f.Children.only(n),s=vl(r.ref,o.ref);return typeof n=="function"||r.isPresent?f.cloneElement(o,{ref:s}):null};Hd.displayName="Presence";function BU(e){const[t,n]=f.useState(),r=f.useRef({}),o=f.useRef(e),s=f.useRef("none"),a=e?"mounted":"unmounted",[c,d]=zU(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return f.useEffect(()=>{const p=Zf(r.current);s.current=c==="mounted"?p:"none"},[c]),v1(()=>{const p=r.current,h=o.current;if(h!==e){const v=s.current,b=Zf(p);e?d("MOUNT"):b==="none"||(p==null?void 0:p.display)==="none"?d("UNMOUNT"):d(h&&v!==b?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,d]),v1(()=>{if(t){const p=m=>{const b=Zf(r.current).includes(m.animationName);m.target===t&&b&&ki.flushSync(()=>d("ANIMATION_END"))},h=m=>{m.target===t&&(s.current=Zf(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else d("ANIMATION_END")},[t,d]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:f.useCallback(p=>{p&&(r.current=getComputedStyle(p)),n(p)},[])}}function Zf(e){return(e==null?void 0:e.animationName)||"none"}function FU(e,t=[]){let n=[];function r(s,a){const c=f.createContext(a),d=n.length;n=[...n,a];function p(m){const{scope:v,children:b,...w}=m,y=(v==null?void 0:v[e][d])||c,S=f.useMemo(()=>w,Object.values(w));return f.createElement(y.Provider,{value:S},b)}function h(m,v){const b=(v==null?void 0:v[e][d])||c,w=f.useContext(b);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${m}\` must be used within \`${s}\``)}return p.displayName=s+"Provider",[p,h]}const o=()=>{const s=n.map(a=>f.createContext(a));return function(c){const d=(c==null?void 0:c[e])||s;return f.useMemo(()=>({[`__scope${e}`]:{...c,[e]:d}}),[c,d])}};return o.scopeName=e,[r,HU(o,...t)]}function HU(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((c,{useScope:d,scopeName:p})=>{const m=d(s)[`__scope${p}`];return{...c,...m}},{});return f.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}function Ui(e){const t=f.useRef(e);return f.useEffect(()=>{t.current=e}),f.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}const WU=f.createContext(void 0);function VU(e){const t=f.useContext(WU);return e||t||"ltr"}function UU(e,[t,n]){return Math.min(n,Math.max(t,e))}function Ji(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function GU(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const yj="ScrollArea",[xj,Qde]=FU(yj),[qU,us]=xj(yj),KU=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:r="hover",dir:o,scrollHideDelay:s=600,...a}=e,[c,d]=f.useState(null),[p,h]=f.useState(null),[m,v]=f.useState(null),[b,w]=f.useState(null),[y,S]=f.useState(null),[k,_]=f.useState(0),[P,I]=f.useState(0),[E,O]=f.useState(!1),[R,M]=f.useState(!1),D=vl(t,L=>d(L)),A=VU(o);return f.createElement(qU,{scope:n,type:r,dir:A,scrollHideDelay:s,scrollArea:c,viewport:p,onViewportChange:h,content:m,onContentChange:v,scrollbarX:b,onScrollbarXChange:w,scrollbarXEnabled:E,onScrollbarXEnabledChange:O,scrollbarY:y,onScrollbarYChange:S,scrollbarYEnabled:R,onScrollbarYEnabledChange:M,onCornerWidthChange:_,onCornerHeightChange:I},f.createElement(Fd.div,sr({dir:A},a,{ref:D,style:{position:"relative","--radix-scroll-area-corner-width":k+"px","--radix-scroll-area-corner-height":P+"px",...e.style}})))}),XU="ScrollAreaViewport",YU=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:r,...o}=e,s=us(XU,n),a=f.useRef(null),c=vl(t,a,s.onViewportChange);return f.createElement(f.Fragment,null,f.createElement("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"}}),f.createElement(Fd.div,sr({"data-radix-scroll-area-viewport":""},o,{ref:c,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style}}),f.createElement("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"}},r)))}),Wa="ScrollAreaScrollbar",QU=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=us(Wa,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:a}=o,c=e.orientation==="horizontal";return f.useEffect(()=>(c?s(!0):a(!0),()=>{c?s(!1):a(!1)}),[c,s,a]),o.type==="hover"?f.createElement(JU,sr({},r,{ref:t,forceMount:n})):o.type==="scroll"?f.createElement(ZU,sr({},r,{ref:t,forceMount:n})):o.type==="auto"?f.createElement(wj,sr({},r,{ref:t,forceMount:n})):o.type==="always"?f.createElement(iy,sr({},r,{ref:t})):null}),JU=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=us(Wa,e.__scopeScrollArea),[s,a]=f.useState(!1);return f.useEffect(()=>{const c=o.scrollArea;let d=0;if(c){const p=()=>{window.clearTimeout(d),a(!0)},h=()=>{d=window.setTimeout(()=>a(!1),o.scrollHideDelay)};return c.addEventListener("pointerenter",p),c.addEventListener("pointerleave",h),()=>{window.clearTimeout(d),c.removeEventListener("pointerenter",p),c.removeEventListener("pointerleave",h)}}},[o.scrollArea,o.scrollHideDelay]),f.createElement(Hd,{present:n||s},f.createElement(wj,sr({"data-state":s?"visible":"hidden"},r,{ref:t})))}),ZU=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=us(Wa,e.__scopeScrollArea),s=e.orientation==="horizontal",a=zm(()=>d("SCROLL_END"),100),[c,d]=GU("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return f.useEffect(()=>{if(c==="idle"){const p=window.setTimeout(()=>d("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(p)}},[c,o.scrollHideDelay,d]),f.useEffect(()=>{const p=o.viewport,h=s?"scrollLeft":"scrollTop";if(p){let m=p[h];const v=()=>{const b=p[h];m!==b&&(d("SCROLL"),a()),m=b};return p.addEventListener("scroll",v),()=>p.removeEventListener("scroll",v)}},[o.viewport,s,d,a]),f.createElement(Hd,{present:n||c!=="hidden"},f.createElement(iy,sr({"data-state":c==="hidden"?"hidden":"visible"},r,{ref:t,onPointerEnter:Ji(e.onPointerEnter,()=>d("POINTER_ENTER")),onPointerLeave:Ji(e.onPointerLeave,()=>d("POINTER_LEAVE"))})))}),wj=f.forwardRef((e,t)=>{const n=us(Wa,e.__scopeScrollArea),{forceMount:r,...o}=e,[s,a]=f.useState(!1),c=e.orientation==="horizontal",d=zm(()=>{if(n.viewport){const p=n.viewport.offsetWidth{const{orientation:n="vertical",...r}=e,o=us(Wa,e.__scopeScrollArea),s=f.useRef(null),a=f.useRef(0),[c,d]=f.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),p=_j(c.viewport,c.content),h={...r,sizes:c,onSizesChange:d,hasThumb:p>0&&p<1,onThumbChange:v=>s.current=v,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:v=>a.current=v};function m(v,b){return iG(v,a.current,c,b)}return n==="horizontal"?f.createElement(eG,sr({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollLeft,b=IC(v,c,o.dir);s.current.style.transform=`translate3d(${b}px, 0, 0)`}},onWheelScroll:v=>{o.viewport&&(o.viewport.scrollLeft=v)},onDragScroll:v=>{o.viewport&&(o.viewport.scrollLeft=m(v,o.dir))}})):n==="vertical"?f.createElement(tG,sr({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollTop,b=IC(v,c);s.current.style.transform=`translate3d(0, ${b}px, 0)`}},onWheelScroll:v=>{o.viewport&&(o.viewport.scrollTop=v)},onDragScroll:v=>{o.viewport&&(o.viewport.scrollTop=m(v))}})):null}),eG=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=us(Wa,e.__scopeScrollArea),[a,c]=f.useState(),d=f.useRef(null),p=vl(t,d,s.onScrollbarXChange);return f.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),f.createElement(Cj,sr({"data-orientation":"horizontal"},o,{ref:p,sizes:n,style:{bottom:0,left:s.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:s.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Lm(n)+"px",...e.style},onThumbPointerDown:h=>e.onThumbPointerDown(h.x),onDragScroll:h=>e.onDragScroll(h.x),onWheelScroll:(h,m)=>{if(s.viewport){const v=s.viewport.scrollLeft+h.deltaX;e.onWheelScroll(v),jj(v,m)&&h.preventDefault()}},onResize:()=>{d.current&&s.viewport&&a&&r({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:wh(a.paddingLeft),paddingEnd:wh(a.paddingRight)}})}}))}),tG=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=us(Wa,e.__scopeScrollArea),[a,c]=f.useState(),d=f.useRef(null),p=vl(t,d,s.onScrollbarYChange);return f.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),f.createElement(Cj,sr({"data-orientation":"vertical"},o,{ref:p,sizes:n,style:{top:0,right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Lm(n)+"px",...e.style},onThumbPointerDown:h=>e.onThumbPointerDown(h.y),onDragScroll:h=>e.onDragScroll(h.y),onWheelScroll:(h,m)=>{if(s.viewport){const v=s.viewport.scrollTop+h.deltaY;e.onWheelScroll(v),jj(v,m)&&h.preventDefault()}},onResize:()=>{d.current&&s.viewport&&a&&r({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:wh(a.paddingTop),paddingEnd:wh(a.paddingBottom)}})}}))}),[nG,Sj]=xj(Wa),Cj=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:o,onThumbChange:s,onThumbPointerUp:a,onThumbPointerDown:c,onThumbPositionChange:d,onDragScroll:p,onWheelScroll:h,onResize:m,...v}=e,b=us(Wa,n),[w,y]=f.useState(null),S=vl(t,D=>y(D)),k=f.useRef(null),_=f.useRef(""),P=b.viewport,I=r.content-r.viewport,E=Ui(h),O=Ui(d),R=zm(m,10);function M(D){if(k.current){const A=D.clientX-k.current.left,L=D.clientY-k.current.top;p({x:A,y:L})}}return f.useEffect(()=>{const D=A=>{const L=A.target;(w==null?void 0:w.contains(L))&&E(A,I)};return document.addEventListener("wheel",D,{passive:!1}),()=>document.removeEventListener("wheel",D,{passive:!1})},[P,w,I,E]),f.useEffect(O,[r,O]),Pc(w,R),Pc(b.content,R),f.createElement(nG,{scope:n,scrollbar:w,hasThumb:o,onThumbChange:Ui(s),onThumbPointerUp:Ui(a),onThumbPositionChange:O,onThumbPointerDown:Ui(c)},f.createElement(Fd.div,sr({},v,{ref:S,style:{position:"absolute",...v.style},onPointerDown:Ji(e.onPointerDown,D=>{D.button===0&&(D.target.setPointerCapture(D.pointerId),k.current=w.getBoundingClientRect(),_.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",M(D))}),onPointerMove:Ji(e.onPointerMove,M),onPointerUp:Ji(e.onPointerUp,D=>{const A=D.target;A.hasPointerCapture(D.pointerId)&&A.releasePointerCapture(D.pointerId),document.body.style.webkitUserSelect=_.current,k.current=null})})))}),b1="ScrollAreaThumb",rG=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Sj(b1,e.__scopeScrollArea);return f.createElement(Hd,{present:n||o.hasThumb},f.createElement(oG,sr({ref:t},r)))}),oG=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:r,...o}=e,s=us(b1,n),a=Sj(b1,n),{onThumbPositionChange:c}=a,d=vl(t,m=>a.onThumbChange(m)),p=f.useRef(),h=zm(()=>{p.current&&(p.current(),p.current=void 0)},100);return f.useEffect(()=>{const m=s.viewport;if(m){const v=()=>{if(h(),!p.current){const b=lG(m,c);p.current=b,c()}};return c(),m.addEventListener("scroll",v),()=>m.removeEventListener("scroll",v)}},[s.viewport,h,c]),f.createElement(Fd.div,sr({"data-state":a.hasThumb?"visible":"hidden"},o,{ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:Ji(e.onPointerDownCapture,m=>{const b=m.target.getBoundingClientRect(),w=m.clientX-b.left,y=m.clientY-b.top;a.onThumbPointerDown({x:w,y})}),onPointerUp:Ji(e.onPointerUp,a.onThumbPointerUp)}))}),kj="ScrollAreaCorner",sG=f.forwardRef((e,t)=>{const n=us(kj,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?f.createElement(aG,sr({},e,{ref:t})):null}),aG=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,...r}=e,o=us(kj,n),[s,a]=f.useState(0),[c,d]=f.useState(0),p=!!(s&&c);return Pc(o.scrollbarX,()=>{var h;const m=((h=o.scrollbarX)===null||h===void 0?void 0:h.offsetHeight)||0;o.onCornerHeightChange(m),d(m)}),Pc(o.scrollbarY,()=>{var h;const m=((h=o.scrollbarY)===null||h===void 0?void 0:h.offsetWidth)||0;o.onCornerWidthChange(m),a(m)}),p?f.createElement(Fd.div,sr({},r,{ref:t,style:{width:s,height:c,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}})):null});function wh(e){return e?parseInt(e,10):0}function _j(e,t){const n=e/t;return isNaN(n)?0:n}function Lm(e){const t=_j(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function iG(e,t,n,r="ltr"){const o=Lm(n),s=o/2,a=t||s,c=o-a,d=n.scrollbar.paddingStart+a,p=n.scrollbar.size-n.scrollbar.paddingEnd-c,h=n.content-n.viewport,m=r==="ltr"?[0,h]:[h*-1,0];return Pj([d,p],m)(e)}function IC(e,t,n="ltr"){const r=Lm(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=t.scrollbar.size-o,a=t.content-t.viewport,c=s-r,d=n==="ltr"?[0,a]:[a*-1,0],p=UU(e,d);return Pj([0,a],[0,c])(p)}function Pj(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function jj(e,t){return e>0&&e{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return function o(){const s={left:e.scrollLeft,top:e.scrollTop},a=n.left!==s.left,c=n.top!==s.top;(a||c)&&t(),n=s,r=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(r)};function zm(e,t){const n=Ui(e),r=f.useRef(0);return f.useEffect(()=>()=>window.clearTimeout(r.current),[]),f.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function Pc(e,t){const n=Ui(t);v1(()=>{let r=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return o.observe(e),()=>{window.cancelAnimationFrame(r),o.unobserve(e)}}},[e,n])}const cG=KU,uG=YU,EC=QU,OC=rG,dG=sG;var fG=so((e,{scrollbarSize:t,offsetScrollbars:n,scrollbarHovered:r,hidden:o})=>({root:{overflow:"hidden"},viewport:{width:"100%",height:"100%",paddingRight:n?Ue(t):void 0,paddingBottom:n?Ue(t):void 0},scrollbar:{display:o?"none":"flex",userSelect:"none",touchAction:"none",boxSizing:"border-box",padding:`calc(${Ue(t)} / 5)`,transition:"background-color 150ms ease, opacity 150ms ease","&:hover":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[8]:e.colors.gray[0],[`& .${TS("thumb")}`]:{backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.white,.5):e.fn.rgba(e.black,.5)}},'&[data-orientation="vertical"]':{width:Ue(t)},'&[data-orientation="horizontal"]':{flexDirection:"column",height:Ue(t)},'&[data-state="hidden"]':{display:"none",opacity:0}},thumb:{ref:TS("thumb"),flex:1,backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.white,.4):e.fn.rgba(e.black,.4),borderRadius:Ue(t),position:"relative",transition:"background-color 150ms ease",display:o?"none":void 0,overflow:"hidden","&::before":{content:'""',position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"100%",height:"100%",minWidth:Ue(44),minHeight:Ue(44)}},corner:{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[0],transition:"opacity 150ms ease",opacity:r?1:0,display:o?"none":void 0}}));const pG=fG;var hG=Object.defineProperty,mG=Object.defineProperties,gG=Object.getOwnPropertyDescriptors,Sh=Object.getOwnPropertySymbols,Ij=Object.prototype.hasOwnProperty,Ej=Object.prototype.propertyIsEnumerable,RC=(e,t,n)=>t in e?hG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,y1=(e,t)=>{for(var n in t||(t={}))Ij.call(t,n)&&RC(e,n,t[n]);if(Sh)for(var n of Sh(t))Ej.call(t,n)&&RC(e,n,t[n]);return e},Oj=(e,t)=>mG(e,gG(t)),Rj=(e,t)=>{var n={};for(var r in e)Ij.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Sh)for(var r of Sh(e))t.indexOf(r)<0&&Ej.call(e,r)&&(n[r]=e[r]);return n};const Mj={scrollbarSize:12,scrollHideDelay:1e3,type:"hover",offsetScrollbars:!1},Bm=f.forwardRef((e,t)=>{const n=Cr("ScrollArea",Mj,e),{children:r,className:o,classNames:s,styles:a,scrollbarSize:c,scrollHideDelay:d,type:p,dir:h,offsetScrollbars:m,viewportRef:v,onScrollPositionChange:b,unstyled:w,variant:y,viewportProps:S}=n,k=Rj(n,["children","className","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","variant","viewportProps"]),[_,P]=f.useState(!1),I=Ha(),{classes:E,cx:O}=pG({scrollbarSize:c,offsetScrollbars:m,scrollbarHovered:_,hidden:p==="never"},{name:"ScrollArea",classNames:s,styles:a,unstyled:w,variant:y});return H.createElement(cG,{type:p==="never"?"always":p,scrollHideDelay:d,dir:h||I.dir,ref:t,asChild:!0},H.createElement(Io,y1({className:O(E.root,o)},k),H.createElement(uG,Oj(y1({},S),{className:E.viewport,ref:v,onScroll:typeof b=="function"?({currentTarget:R})=>b({x:R.scrollLeft,y:R.scrollTop}):void 0}),r),H.createElement(EC,{orientation:"horizontal",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>P(!0),onMouseLeave:()=>P(!1)},H.createElement(OC,{className:E.thumb})),H.createElement(EC,{orientation:"vertical",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>P(!0),onMouseLeave:()=>P(!1)},H.createElement(OC,{className:E.thumb})),H.createElement(dG,{className:E.corner})))}),Dj=f.forwardRef((e,t)=>{const n=Cr("ScrollAreaAutosize",Mj,e),{children:r,classNames:o,styles:s,scrollbarSize:a,scrollHideDelay:c,type:d,dir:p,offsetScrollbars:h,viewportRef:m,onScrollPositionChange:v,unstyled:b,sx:w,variant:y,viewportProps:S}=n,k=Rj(n,["children","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","sx","variant","viewportProps"]);return H.createElement(Io,Oj(y1({},k),{ref:t,sx:[{display:"flex"},...xP(w)]}),H.createElement(Io,{sx:{display:"flex",flexDirection:"column",flex:1}},H.createElement(Bm,{classNames:o,styles:s,scrollHideDelay:c,scrollbarSize:a,type:d,dir:p,offsetScrollbars:h,viewportRef:m,onScrollPositionChange:v,unstyled:b,variant:y,viewportProps:S},r)))});Dj.displayName="@mantine/core/ScrollAreaAutosize";Bm.displayName="@mantine/core/ScrollArea";Bm.Autosize=Dj;const Aj=Bm;var vG=Object.defineProperty,bG=Object.defineProperties,yG=Object.getOwnPropertyDescriptors,Ch=Object.getOwnPropertySymbols,Tj=Object.prototype.hasOwnProperty,Nj=Object.prototype.propertyIsEnumerable,MC=(e,t,n)=>t in e?vG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,DC=(e,t)=>{for(var n in t||(t={}))Tj.call(t,n)&&MC(e,n,t[n]);if(Ch)for(var n of Ch(t))Nj.call(t,n)&&MC(e,n,t[n]);return e},xG=(e,t)=>bG(e,yG(t)),wG=(e,t)=>{var n={};for(var r in e)Tj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ch)for(var r of Ch(e))t.indexOf(r)<0&&Nj.call(e,r)&&(n[r]=e[r]);return n};const Fm=f.forwardRef((e,t)=>{var n=e,{style:r}=n,o=wG(n,["style"]);return H.createElement(Aj,xG(DC({},o),{style:DC({width:"100%"},r),viewportProps:{tabIndex:-1},viewportRef:t}),o.children)});Fm.displayName="@mantine/core/SelectScrollArea";var SG=so(()=>({dropdown:{},itemsWrapper:{padding:Ue(4),display:"flex",width:"100%",boxSizing:"border-box"}}));const CG=SG;function Uc(e){return e.split("-")[1]}function ly(e){return e==="y"?"height":"width"}function _s(e){return e.split("-")[0]}function Ii(e){return["top","bottom"].includes(_s(e))?"x":"y"}function AC(e,t,n){let{reference:r,floating:o}=e;const s=r.x+r.width/2-o.width/2,a=r.y+r.height/2-o.height/2,c=Ii(t),d=ly(c),p=r[d]/2-o[d]/2,h=c==="x";let m;switch(_s(t)){case"top":m={x:s,y:r.y-o.height};break;case"bottom":m={x:s,y:r.y+r.height};break;case"right":m={x:r.x+r.width,y:a};break;case"left":m={x:r.x-o.width,y:a};break;default:m={x:r.x,y:r.y}}switch(Uc(t)){case"start":m[c]-=p*(n&&h?-1:1);break;case"end":m[c]+=p*(n&&h?-1:1)}return m}const kG=async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:s=[],platform:a}=n,c=s.filter(Boolean),d=await(a.isRTL==null?void 0:a.isRTL(t));let p=await a.getElementRects({reference:e,floating:t,strategy:o}),{x:h,y:m}=AC(p,r,d),v=r,b={},w=0;for(let y=0;y({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:o,rects:s,platform:a,elements:c}=t,{element:d,padding:p=0}=Na(e,t)||{};if(d==null)return{};const h=cy(p),m={x:n,y:r},v=Ii(o),b=ly(v),w=await a.getDimensions(d),y=v==="y",S=y?"top":"left",k=y?"bottom":"right",_=y?"clientHeight":"clientWidth",P=s.reference[b]+s.reference[v]-m[v]-s.floating[b],I=m[v]-s.reference[v],E=await(a.getOffsetParent==null?void 0:a.getOffsetParent(d));let O=E?E[_]:0;O&&await(a.isElement==null?void 0:a.isElement(E))||(O=c.floating[_]||s.floating[b]);const R=P/2-I/2,M=O/2-w[b]/2-1,D=gi(h[S],M),A=gi(h[k],M),L=D,Q=O-w[b]-A,F=O/2-w[b]/2+R,V=x1(L,F,Q),q=Uc(o)!=null&&F!=V&&s.reference[b]/2-(Fe.concat(t,t+"-start",t+"-end"),[]);const PG={left:"right",right:"left",bottom:"top",top:"bottom"};function kh(e){return e.replace(/left|right|bottom|top/g,t=>PG[t])}function jG(e,t,n){n===void 0&&(n=!1);const r=Uc(e),o=Ii(e),s=ly(o);let a=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(a=kh(a)),{main:a,cross:kh(a)}}const IG={start:"end",end:"start"};function K0(e){return e.replace(/start|end/g,t=>IG[t])}const EG=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n;const{placement:r,middlewareData:o,rects:s,initialPlacement:a,platform:c,elements:d}=t,{mainAxis:p=!0,crossAxis:h=!0,fallbackPlacements:m,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:w=!0,...y}=Na(e,t),S=_s(r),k=_s(a)===a,_=await(c.isRTL==null?void 0:c.isRTL(d.floating)),P=m||(k||!w?[kh(a)]:function(L){const Q=kh(L);return[K0(L),Q,K0(Q)]}(a));m||b==="none"||P.push(...function(L,Q,F,V){const q=Uc(L);let G=function(T,z,$){const Y=["left","right"],ae=["right","left"],fe=["top","bottom"],ie=["bottom","top"];switch(T){case"top":case"bottom":return $?z?ae:Y:z?Y:ae;case"left":case"right":return z?fe:ie;default:return[]}}(_s(L),F==="start",V);return q&&(G=G.map(T=>T+"-"+q),Q&&(G=G.concat(G.map(K0)))),G}(a,w,b,_));const I=[a,...P],E=await uy(t,y),O=[];let R=((n=o.flip)==null?void 0:n.overflows)||[];if(p&&O.push(E[S]),h){const{main:L,cross:Q}=jG(r,s,_);O.push(E[L],E[Q])}if(R=[...R,{placement:r,overflows:O}],!O.every(L=>L<=0)){var M,D;const L=(((M=o.flip)==null?void 0:M.index)||0)+1,Q=I[L];if(Q)return{data:{index:L,overflows:R},reset:{placement:Q}};let F=(D=R.filter(V=>V.overflows[0]<=0).sort((V,q)=>V.overflows[1]-q.overflows[1])[0])==null?void 0:D.placement;if(!F)switch(v){case"bestFit":{var A;const V=(A=R.map(q=>[q.placement,q.overflows.filter(G=>G>0).reduce((G,T)=>G+T,0)]).sort((q,G)=>q[1]-G[1])[0])==null?void 0:A[0];V&&(F=V);break}case"initialPlacement":F=a}if(r!==F)return{reset:{placement:F}}}return{}}}};function NC(e){const t=gi(...e.map(r=>r.left)),n=gi(...e.map(r=>r.top));return{x:t,y:n,width:Ks(...e.map(r=>r.right))-t,height:Ks(...e.map(r=>r.bottom))-n}}const OG=function(e){return e===void 0&&(e={}),{name:"inline",options:e,async fn(t){const{placement:n,elements:r,rects:o,platform:s,strategy:a}=t,{padding:c=2,x:d,y:p}=Na(e,t),h=Array.from(await(s.getClientRects==null?void 0:s.getClientRects(r.reference))||[]),m=function(y){const S=y.slice().sort((P,I)=>P.y-I.y),k=[];let _=null;for(let P=0;P_.height/2?k.push([I]):k[k.length-1].push(I),_=I}return k.map(P=>jc(NC(P)))}(h),v=jc(NC(h)),b=cy(c),w=await s.getElementRects({reference:{getBoundingClientRect:function(){if(m.length===2&&m[0].left>m[1].right&&d!=null&&p!=null)return m.find(y=>d>y.left-b.left&&dy.top-b.top&&p=2){if(Ii(n)==="x"){const E=m[0],O=m[m.length-1],R=_s(n)==="top",M=E.top,D=O.bottom,A=R?E.left:O.left,L=R?E.right:O.right;return{top:M,bottom:D,left:A,right:L,width:L-A,height:D-M,x:A,y:M}}const y=_s(n)==="left",S=Ks(...m.map(E=>E.right)),k=gi(...m.map(E=>E.left)),_=m.filter(E=>y?E.left===k:E.right===S),P=_[0].top,I=_[_.length-1].bottom;return{top:P,bottom:I,left:k,right:S,width:S-k,height:I-P,x:k,y:P}}return v}},floating:r.floating,strategy:a});return o.reference.x!==w.reference.x||o.reference.y!==w.reference.y||o.reference.width!==w.reference.width||o.reference.height!==w.reference.height?{reset:{rects:w}}:{}}}},RG=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){const{x:n,y:r}=t,o=await async function(s,a){const{placement:c,platform:d,elements:p}=s,h=await(d.isRTL==null?void 0:d.isRTL(p.floating)),m=_s(c),v=Uc(c),b=Ii(c)==="x",w=["left","top"].includes(m)?-1:1,y=h&&b?-1:1,S=Na(a,s);let{mainAxis:k,crossAxis:_,alignmentAxis:P}=typeof S=="number"?{mainAxis:S,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...S};return v&&typeof P=="number"&&(_=v==="end"?-1*P:P),b?{x:_*y,y:k*w}:{x:k*w,y:_*y}}(t,e);return{x:n+o.x,y:r+o.y,data:o}}}};function $j(e){return e==="x"?"y":"x"}const MG=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o}=t,{mainAxis:s=!0,crossAxis:a=!1,limiter:c={fn:S=>{let{x:k,y:_}=S;return{x:k,y:_}}},...d}=Na(e,t),p={x:n,y:r},h=await uy(t,d),m=Ii(_s(o)),v=$j(m);let b=p[m],w=p[v];if(s){const S=m==="y"?"bottom":"right";b=x1(b+h[m==="y"?"top":"left"],b,b-h[S])}if(a){const S=v==="y"?"bottom":"right";w=x1(w+h[v==="y"?"top":"left"],w,w-h[S])}const y=c.fn({...t,[m]:b,[v]:w});return{...y,data:{x:y.x-n,y:y.y-r}}}}},DG=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:o,rects:s,middlewareData:a}=t,{offset:c=0,mainAxis:d=!0,crossAxis:p=!0}=Na(e,t),h={x:n,y:r},m=Ii(o),v=$j(m);let b=h[m],w=h[v];const y=Na(c,t),S=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(d){const P=m==="y"?"height":"width",I=s.reference[m]-s.floating[P]+S.mainAxis,E=s.reference[m]+s.reference[P]-S.mainAxis;bE&&(b=E)}if(p){var k,_;const P=m==="y"?"width":"height",I=["top","left"].includes(_s(o)),E=s.reference[v]-s.floating[P]+(I&&((k=a.offset)==null?void 0:k[v])||0)+(I?0:S.crossAxis),O=s.reference[v]+s.reference[P]+(I?0:((_=a.offset)==null?void 0:_[v])||0)-(I?S.crossAxis:0);wO&&(w=O)}return{[m]:b,[v]:w}}}},AG=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:r,platform:o,elements:s}=t,{apply:a=()=>{},...c}=Na(e,t),d=await uy(t,c),p=_s(n),h=Uc(n),m=Ii(n)==="x",{width:v,height:b}=r.floating;let w,y;p==="top"||p==="bottom"?(w=p,y=h===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?"start":"end")?"left":"right"):(y=p,w=h==="end"?"top":"bottom");const S=b-d[w],k=v-d[y],_=!t.middlewareData.shift;let P=S,I=k;if(m){const O=v-d.left-d.right;I=h||_?gi(k,O):O}else{const O=b-d.top-d.bottom;P=h||_?gi(S,O):O}if(_&&!h){const O=Ks(d.left,0),R=Ks(d.right,0),M=Ks(d.top,0),D=Ks(d.bottom,0);m?I=v-2*(O!==0||R!==0?O+R:Ks(d.left,d.right)):P=b-2*(M!==0||D!==0?M+D:Ks(d.top,d.bottom))}await a({...t,availableWidth:I,availableHeight:P});const E=await o.getDimensions(s.floating);return v!==E.width||b!==E.height?{reset:{rects:!0}}:{}}}};function zo(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function oa(e){return zo(e).getComputedStyle(e)}function Lj(e){return e instanceof zo(e).Node}function vi(e){return Lj(e)?(e.nodeName||"").toLowerCase():"#document"}function Os(e){return e instanceof HTMLElement||e instanceof zo(e).HTMLElement}function $C(e){return typeof ShadowRoot<"u"&&(e instanceof zo(e).ShadowRoot||e instanceof ShadowRoot)}function ud(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=oa(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(o)}function TG(e){return["table","td","th"].includes(vi(e))}function w1(e){const t=dy(),n=oa(e);return n.transform!=="none"||n.perspective!=="none"||!!n.containerType&&n.containerType!=="normal"||!t&&!!n.backdropFilter&&n.backdropFilter!=="none"||!t&&!!n.filter&&n.filter!=="none"||["transform","perspective","filter"].some(r=>(n.willChange||"").includes(r))||["paint","layout","strict","content"].some(r=>(n.contain||"").includes(r))}function dy(){return!(typeof CSS>"u"||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function Hm(e){return["html","body","#document"].includes(vi(e))}const S1=Math.min,fc=Math.max,_h=Math.round,ep=Math.floor,bi=e=>({x:e,y:e});function zj(e){const t=oa(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=Os(e),s=o?e.offsetWidth:n,a=o?e.offsetHeight:r,c=_h(n)!==s||_h(r)!==a;return c&&(n=s,r=a),{width:n,height:r,$:c}}function _a(e){return e instanceof Element||e instanceof zo(e).Element}function fy(e){return _a(e)?e:e.contextElement}function pc(e){const t=fy(e);if(!Os(t))return bi(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:s}=zj(t);let a=(s?_h(n.width):n.width)/r,c=(s?_h(n.height):n.height)/o;return a&&Number.isFinite(a)||(a=1),c&&Number.isFinite(c)||(c=1),{x:a,y:c}}const NG=bi(0);function Bj(e){const t=zo(e);return dy()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:NG}function cl(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),s=fy(e);let a=bi(1);t&&(r?_a(r)&&(a=pc(r)):a=pc(e));const c=function(v,b,w){return b===void 0&&(b=!1),!(!w||b&&w!==zo(v))&&b}(s,n,r)?Bj(s):bi(0);let d=(o.left+c.x)/a.x,p=(o.top+c.y)/a.y,h=o.width/a.x,m=o.height/a.y;if(s){const v=zo(s),b=r&&_a(r)?zo(r):r;let w=v.frameElement;for(;w&&r&&b!==v;){const y=pc(w),S=w.getBoundingClientRect(),k=getComputedStyle(w),_=S.left+(w.clientLeft+parseFloat(k.paddingLeft))*y.x,P=S.top+(w.clientTop+parseFloat(k.paddingTop))*y.y;d*=y.x,p*=y.y,h*=y.x,m*=y.y,d+=_,p+=P,w=zo(w).frameElement}}return jc({width:h,height:m,x:d,y:p})}function Wm(e){return _a(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Pa(e){var t;return(t=(Lj(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Fj(e){return cl(Pa(e)).left+Wm(e).scrollLeft}function Ic(e){if(vi(e)==="html")return e;const t=e.assignedSlot||e.parentNode||$C(e)&&e.host||Pa(e);return $C(t)?t.host:t}function Hj(e){const t=Ic(e);return Hm(t)?e.ownerDocument?e.ownerDocument.body:e.body:Os(t)&&ud(t)?t:Hj(t)}function Ph(e,t){var n;t===void 0&&(t=[]);const r=Hj(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=zo(r);return o?t.concat(s,s.visualViewport||[],ud(r)?r:[]):t.concat(r,Ph(r))}function LC(e,t,n){let r;if(t==="viewport")r=function(o,s){const a=zo(o),c=Pa(o),d=a.visualViewport;let p=c.clientWidth,h=c.clientHeight,m=0,v=0;if(d){p=d.width,h=d.height;const b=dy();(!b||b&&s==="fixed")&&(m=d.offsetLeft,v=d.offsetTop)}return{width:p,height:h,x:m,y:v}}(e,n);else if(t==="document")r=function(o){const s=Pa(o),a=Wm(o),c=o.ownerDocument.body,d=fc(s.scrollWidth,s.clientWidth,c.scrollWidth,c.clientWidth),p=fc(s.scrollHeight,s.clientHeight,c.scrollHeight,c.clientHeight);let h=-a.scrollLeft+Fj(o);const m=-a.scrollTop;return oa(c).direction==="rtl"&&(h+=fc(s.clientWidth,c.clientWidth)-d),{width:d,height:p,x:h,y:m}}(Pa(e));else if(_a(t))r=function(o,s){const a=cl(o,!0,s==="fixed"),c=a.top+o.clientTop,d=a.left+o.clientLeft,p=Os(o)?pc(o):bi(1);return{width:o.clientWidth*p.x,height:o.clientHeight*p.y,x:d*p.x,y:c*p.y}}(t,n);else{const o=Bj(e);r={...t,x:t.x-o.x,y:t.y-o.y}}return jc(r)}function Wj(e,t){const n=Ic(e);return!(n===t||!_a(n)||Hm(n))&&(oa(n).position==="fixed"||Wj(n,t))}function $G(e,t,n){const r=Os(t),o=Pa(t),s=n==="fixed",a=cl(e,!0,s,t);let c={scrollLeft:0,scrollTop:0};const d=bi(0);if(r||!r&&!s)if((vi(t)!=="body"||ud(o))&&(c=Wm(t)),Os(t)){const p=cl(t,!0,s,t);d.x=p.x+t.clientLeft,d.y=p.y+t.clientTop}else o&&(d.x=Fj(o));return{x:a.left+c.scrollLeft-d.x,y:a.top+c.scrollTop-d.y,width:a.width,height:a.height}}function zC(e,t){return Os(e)&&oa(e).position!=="fixed"?t?t(e):e.offsetParent:null}function BC(e,t){const n=zo(e);if(!Os(e))return n;let r=zC(e,t);for(;r&&TG(r)&&oa(r).position==="static";)r=zC(r,t);return r&&(vi(r)==="html"||vi(r)==="body"&&oa(r).position==="static"&&!w1(r))?n:r||function(o){let s=Ic(o);for(;Os(s)&&!Hm(s);){if(w1(s))return s;s=Ic(s)}return null}(e)||n}const LG={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{rect:t,offsetParent:n,strategy:r}=e;const o=Os(n),s=Pa(n);if(n===s)return t;let a={scrollLeft:0,scrollTop:0},c=bi(1);const d=bi(0);if((o||!o&&r!=="fixed")&&((vi(n)!=="body"||ud(s))&&(a=Wm(n)),Os(n))){const p=cl(n);c=pc(n),d.x=p.x+n.clientLeft,d.y=p.y+n.clientTop}return{width:t.width*c.x,height:t.height*c.y,x:t.x*c.x-a.scrollLeft*c.x+d.x,y:t.y*c.y-a.scrollTop*c.y+d.y}},getDocumentElement:Pa,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const s=[...n==="clippingAncestors"?function(d,p){const h=p.get(d);if(h)return h;let m=Ph(d).filter(y=>_a(y)&&vi(y)!=="body"),v=null;const b=oa(d).position==="fixed";let w=b?Ic(d):d;for(;_a(w)&&!Hm(w);){const y=oa(w),S=w1(w);S||y.position!=="fixed"||(v=null),(b?!S&&!v:!S&&y.position==="static"&&v&&["absolute","fixed"].includes(v.position)||ud(w)&&!S&&Wj(d,w))?m=m.filter(k=>k!==w):v=y,w=Ic(w)}return p.set(d,m),m}(t,this._c):[].concat(n),r],a=s[0],c=s.reduce((d,p)=>{const h=LC(t,p,o);return d.top=fc(h.top,d.top),d.right=S1(h.right,d.right),d.bottom=S1(h.bottom,d.bottom),d.left=fc(h.left,d.left),d},LC(t,a,o));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}},getOffsetParent:BC,getElementRects:async function(e){let{reference:t,floating:n,strategy:r}=e;const o=this.getOffsetParent||BC,s=this.getDimensions;return{reference:$G(t,await o(n),r),floating:{x:0,y:0,...await s(n)}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){return zj(e)},getScale:pc,isElement:_a,isRTL:function(e){return getComputedStyle(e).direction==="rtl"}};function zG(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:d=!1}=r,p=fy(e),h=o||s?[...p?Ph(p):[],...Ph(t)]:[];h.forEach(S=>{o&&S.addEventListener("scroll",n,{passive:!0}),s&&S.addEventListener("resize",n)});const m=p&&c?function(S,k){let _,P=null;const I=Pa(S);function E(){clearTimeout(_),P&&P.disconnect(),P=null}return function O(R,M){R===void 0&&(R=!1),M===void 0&&(M=1),E();const{left:D,top:A,width:L,height:Q}=S.getBoundingClientRect();if(R||k(),!L||!Q)return;const F={rootMargin:-ep(A)+"px "+-ep(I.clientWidth-(D+L))+"px "+-ep(I.clientHeight-(A+Q))+"px "+-ep(D)+"px",threshold:fc(0,S1(1,M))||1};let V=!0;function q(G){const T=G[0].intersectionRatio;if(T!==M){if(!V)return O();T?O(!1,T):_=setTimeout(()=>{O(!1,1e-7)},100)}V=!1}try{P=new IntersectionObserver(q,{...F,root:I.ownerDocument})}catch{P=new IntersectionObserver(q,F)}P.observe(S)}(!0),E}(p,n):null;let v,b=-1,w=null;a&&(w=new ResizeObserver(S=>{let[k]=S;k&&k.target===p&&w&&(w.unobserve(t),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{w&&w.observe(t)})),n()}),p&&!d&&w.observe(p),w.observe(t));let y=d?cl(e):null;return d&&function S(){const k=cl(e);!y||k.x===y.x&&k.y===y.y&&k.width===y.width&&k.height===y.height||n(),y=k,v=requestAnimationFrame(S)}(),n(),()=>{h.forEach(S=>{o&&S.removeEventListener("scroll",n),s&&S.removeEventListener("resize",n)}),m&&m(),w&&w.disconnect(),w=null,d&&cancelAnimationFrame(v)}}const BG=(e,t,n)=>{const r=new Map,o={platform:LG,...n},s={...o.platform,_c:r};return kG(e,t,{...o,platform:s})},FG=e=>{const{element:t,padding:n}=e;function r(o){return Object.prototype.hasOwnProperty.call(o,"current")}return{name:"arrow",options:e,fn(o){return r(t)?t.current!=null?TC({element:t.current,padding:n}).fn(o):{}:t?TC({element:t,padding:n}).fn(o):{}}}};var Tp=typeof document<"u"?f.useLayoutEffect:f.useEffect;function jh(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!jh(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){const s=o[r];if(!(s==="_owner"&&e.$$typeof)&&!jh(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function FC(e){const t=f.useRef(e);return Tp(()=>{t.current=e}),t}function HG(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,whileElementsMounted:s,open:a}=e,[c,d]=f.useState({x:null,y:null,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,h]=f.useState(r);jh(p,r)||h(r);const m=f.useRef(null),v=f.useRef(null),b=f.useRef(c),w=FC(s),y=FC(o),[S,k]=f.useState(null),[_,P]=f.useState(null),I=f.useCallback(A=>{m.current!==A&&(m.current=A,k(A))},[]),E=f.useCallback(A=>{v.current!==A&&(v.current=A,P(A))},[]),O=f.useCallback(()=>{if(!m.current||!v.current)return;const A={placement:t,strategy:n,middleware:p};y.current&&(A.platform=y.current),BG(m.current,v.current,A).then(L=>{const Q={...L,isPositioned:!0};R.current&&!jh(b.current,Q)&&(b.current=Q,ki.flushSync(()=>{d(Q)}))})},[p,t,n,y]);Tp(()=>{a===!1&&b.current.isPositioned&&(b.current.isPositioned=!1,d(A=>({...A,isPositioned:!1})))},[a]);const R=f.useRef(!1);Tp(()=>(R.current=!0,()=>{R.current=!1}),[]),Tp(()=>{if(S&&_){if(w.current)return w.current(S,_,O);O()}},[S,_,O,w]);const M=f.useMemo(()=>({reference:m,floating:v,setReference:I,setFloating:E}),[I,E]),D=f.useMemo(()=>({reference:S,floating:_}),[S,_]);return f.useMemo(()=>({...c,update:O,refs:M,elements:D,reference:I,floating:E}),[c,O,M,D,I,E])}var WG=typeof document<"u"?f.useLayoutEffect:f.useEffect;function VG(){const e=new Map;return{emit(t,n){var r;(r=e.get(t))==null||r.forEach(o=>o(n))},on(t,n){e.set(t,[...e.get(t)||[],n])},off(t,n){e.set(t,(e.get(t)||[]).filter(r=>r!==n))}}}const UG=f.createContext(null),GG=()=>f.useContext(UG);function qG(e){return(e==null?void 0:e.ownerDocument)||document}function KG(e){return qG(e).defaultView||window}function tp(e){return e?e instanceof KG(e).Element:!1}const XG=Y1["useInsertionEffect".toString()],YG=XG||(e=>e());function QG(e){const t=f.useRef(()=>{});return YG(()=>{t.current=e}),f.useCallback(function(){for(var n=arguments.length,r=new Array(n),o=0;oVG())[0],[p,h]=f.useState(null),m=f.useCallback(k=>{const _=tp(k)?{getBoundingClientRect:()=>k.getBoundingClientRect(),contextElement:k}:k;o.refs.setReference(_)},[o.refs]),v=f.useCallback(k=>{(tp(k)||k===null)&&(a.current=k,h(k)),(tp(o.refs.reference.current)||o.refs.reference.current===null||k!==null&&!tp(k))&&o.refs.setReference(k)},[o.refs]),b=f.useMemo(()=>({...o.refs,setReference:v,setPositionReference:m,domReference:a}),[o.refs,v,m]),w=f.useMemo(()=>({...o.elements,domReference:p}),[o.elements,p]),y=QG(n),S=f.useMemo(()=>({...o,refs:b,elements:w,dataRef:c,nodeId:r,events:d,open:t,onOpenChange:y}),[o,r,d,t,y,b,w]);return WG(()=>{const k=s==null?void 0:s.nodesRef.current.find(_=>_.id===r);k&&(k.context=S)}),f.useMemo(()=>({...o,context:S,refs:b,reference:v,positionReference:m}),[o,b,S,v,m])}function ZG({opened:e,floating:t,position:n,positionDependencies:r}){const[o,s]=f.useState(0);f.useEffect(()=>{if(t.refs.reference.current&&t.refs.floating.current)return zG(t.refs.reference.current,t.refs.floating.current,t.update)},[t.refs.reference.current,t.refs.floating.current,e,o,n]),ks(()=>{t.update()},r),ks(()=>{s(a=>a+1)},[e])}function eq(e){const t=[RG(e.offset)];return e.middlewares.shift&&t.push(MG({limiter:DG()})),e.middlewares.flip&&t.push(EG()),e.middlewares.inline&&t.push(OG()),t.push(FG({element:e.arrowRef,padding:e.arrowOffset})),t}function tq(e){const[t,n]=cd({value:e.opened,defaultValue:e.defaultOpened,finalValue:!1,onChange:e.onChange}),r=()=>{var a;(a=e.onClose)==null||a.call(e),n(!1)},o=()=>{var a,c;t?((a=e.onClose)==null||a.call(e),n(!1)):((c=e.onOpen)==null||c.call(e),n(!0))},s=JG({placement:e.position,middleware:[...eq(e),...e.width==="target"?[AG({apply({rects:a}){var c,d;Object.assign((d=(c=s.refs.floating.current)==null?void 0:c.style)!=null?d:{},{width:`${a.reference.width}px`})}})]:[]]});return ZG({opened:e.opened,position:e.position,positionDependencies:e.positionDependencies,floating:s}),ks(()=>{var a;(a=e.onPositionChange)==null||a.call(e,s.placement)},[s.placement]),ks(()=>{var a,c;e.opened?(c=e.onOpen)==null||c.call(e):(a=e.onClose)==null||a.call(e)},[e.opened]),{floating:s,controlled:typeof e.opened=="boolean",opened:t,onClose:r,onToggle:o}}const Vj={context:"Popover component was not found in the tree",children:"Popover.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported"},[nq,Uj]=WH(Vj.context);var rq=Object.defineProperty,oq=Object.defineProperties,sq=Object.getOwnPropertyDescriptors,Ih=Object.getOwnPropertySymbols,Gj=Object.prototype.hasOwnProperty,qj=Object.prototype.propertyIsEnumerable,HC=(e,t,n)=>t in e?rq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,np=(e,t)=>{for(var n in t||(t={}))Gj.call(t,n)&&HC(e,n,t[n]);if(Ih)for(var n of Ih(t))qj.call(t,n)&&HC(e,n,t[n]);return e},aq=(e,t)=>oq(e,sq(t)),iq=(e,t)=>{var n={};for(var r in e)Gj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ih)for(var r of Ih(e))t.indexOf(r)<0&&qj.call(e,r)&&(n[r]=e[r]);return n};const lq={refProp:"ref",popupType:"dialog"},Kj=f.forwardRef((e,t)=>{const n=Cr("PopoverTarget",lq,e),{children:r,refProp:o,popupType:s}=n,a=iq(n,["children","refProp","popupType"]);if(!SP(r))throw new Error(Vj.children);const c=a,d=Uj(),p=Bd(d.reference,r.ref,t),h=d.withRoles?{"aria-haspopup":s,"aria-expanded":d.opened,"aria-controls":d.getDropdownId(),id:d.getTargetId()}:{};return f.cloneElement(r,np(aq(np(np(np({},c),h),d.targetProps),{className:kP(d.targetProps.className,c.className,r.props.className),[o]:p}),d.controlled?null:{onClick:d.onToggle}))});Kj.displayName="@mantine/core/PopoverTarget";var cq=so((e,{radius:t,shadow:n})=>({dropdown:{position:"absolute",backgroundColor:e.white,background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,border:`${Ue(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2]}`,padding:`${e.spacing.sm} ${e.spacing.md}`,boxShadow:e.shadows[n]||n||"none",borderRadius:e.fn.radius(t),"&:focus":{outline:0}},arrow:{backgroundColor:"inherit",border:`${Ue(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2]}`,zIndex:1}}));const uq=cq;var dq=Object.defineProperty,WC=Object.getOwnPropertySymbols,fq=Object.prototype.hasOwnProperty,pq=Object.prototype.propertyIsEnumerable,VC=(e,t,n)=>t in e?dq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Hl=(e,t)=>{for(var n in t||(t={}))fq.call(t,n)&&VC(e,n,t[n]);if(WC)for(var n of WC(t))pq.call(t,n)&&VC(e,n,t[n]);return e};const UC={entering:"in",entered:"in",exiting:"out",exited:"out","pre-exiting":"out","pre-entering":"out"};function hq({transition:e,state:t,duration:n,timingFunction:r}){const o={transitionDuration:`${n}ms`,transitionTimingFunction:r};return typeof e=="string"?e in Kf?Hl(Hl(Hl({transitionProperty:Kf[e].transitionProperty},o),Kf[e].common),Kf[e][UC[t]]):null:Hl(Hl(Hl({transitionProperty:e.transitionProperty},o),e.common),e[UC[t]])}function mq({duration:e,exitDuration:t,timingFunction:n,mounted:r,onEnter:o,onExit:s,onEntered:a,onExited:c}){const d=Ha(),p=RP(),h=d.respectReducedMotion?p:!1,[m,v]=f.useState(h?0:e),[b,w]=f.useState(r?"entered":"exited"),y=f.useRef(-1),S=k=>{const _=k?o:s,P=k?a:c;w(k?"pre-entering":"pre-exiting"),window.clearTimeout(y.current);const I=h?0:k?e:t;if(v(I),I===0)typeof _=="function"&&_(),typeof P=="function"&&P(),w(k?"entered":"exited");else{const E=window.setTimeout(()=>{typeof _=="function"&&_(),w(k?"entering":"exiting")},10);y.current=window.setTimeout(()=>{window.clearTimeout(E),typeof P=="function"&&P(),w(k?"entered":"exited")},I)}};return ks(()=>{S(r)},[r]),f.useEffect(()=>()=>window.clearTimeout(y.current),[]),{transitionDuration:m,transitionStatus:b,transitionTimingFunction:n||d.transitionTimingFunction}}function Xj({keepMounted:e,transition:t,duration:n=250,exitDuration:r=n,mounted:o,children:s,timingFunction:a,onExit:c,onEntered:d,onEnter:p,onExited:h}){const{transitionDuration:m,transitionStatus:v,transitionTimingFunction:b}=mq({mounted:o,exitDuration:r,duration:n,timingFunction:a,onExit:c,onEntered:d,onEnter:p,onExited:h});return m===0?o?H.createElement(H.Fragment,null,s({})):e?s({display:"none"}):null:v==="exited"?e?s({display:"none"}):null:H.createElement(H.Fragment,null,s(hq({transition:t,duration:m,state:v,timingFunction:b})))}Xj.displayName="@mantine/core/Transition";function Yj({children:e,active:t=!0,refProp:n="ref"}){const r=CW(t),o=Bd(r,e==null?void 0:e.ref);return SP(e)?f.cloneElement(e,{[n]:o}):e}Yj.displayName="@mantine/core/FocusTrap";var gq=Object.defineProperty,vq=Object.defineProperties,bq=Object.getOwnPropertyDescriptors,GC=Object.getOwnPropertySymbols,yq=Object.prototype.hasOwnProperty,xq=Object.prototype.propertyIsEnumerable,qC=(e,t,n)=>t in e?gq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ei=(e,t)=>{for(var n in t||(t={}))yq.call(t,n)&&qC(e,n,t[n]);if(GC)for(var n of GC(t))xq.call(t,n)&&qC(e,n,t[n]);return e},rp=(e,t)=>vq(e,bq(t));function KC(e,t,n,r){return e==="center"||r==="center"?{top:t}:e==="end"?{bottom:n}:e==="start"?{top:n}:{}}function XC(e,t,n,r,o){return e==="center"||r==="center"?{left:t}:e==="end"?{[o==="ltr"?"right":"left"]:n}:e==="start"?{[o==="ltr"?"left":"right"]:n}:{}}const wq={bottom:"borderTopLeftRadius",left:"borderTopRightRadius",right:"borderBottomLeftRadius",top:"borderBottomRightRadius"};function Sq({position:e,arrowSize:t,arrowOffset:n,arrowRadius:r,arrowPosition:o,arrowX:s,arrowY:a,dir:c}){const[d,p="center"]=e.split("-"),h={width:Ue(t),height:Ue(t),transform:"rotate(45deg)",position:"absolute",[wq[d]]:Ue(r)},m=Ue(-t/2);return d==="left"?rp(ei(ei({},h),KC(p,a,n,o)),{right:m,borderLeftColor:"transparent",borderBottomColor:"transparent"}):d==="right"?rp(ei(ei({},h),KC(p,a,n,o)),{left:m,borderRightColor:"transparent",borderTopColor:"transparent"}):d==="top"?rp(ei(ei({},h),XC(p,s,n,o,c)),{bottom:m,borderTopColor:"transparent",borderLeftColor:"transparent"}):d==="bottom"?rp(ei(ei({},h),XC(p,s,n,o,c)),{top:m,borderBottomColor:"transparent",borderRightColor:"transparent"}):{}}var Cq=Object.defineProperty,kq=Object.defineProperties,_q=Object.getOwnPropertyDescriptors,Eh=Object.getOwnPropertySymbols,Qj=Object.prototype.hasOwnProperty,Jj=Object.prototype.propertyIsEnumerable,YC=(e,t,n)=>t in e?Cq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Pq=(e,t)=>{for(var n in t||(t={}))Qj.call(t,n)&&YC(e,n,t[n]);if(Eh)for(var n of Eh(t))Jj.call(t,n)&&YC(e,n,t[n]);return e},jq=(e,t)=>kq(e,_q(t)),Iq=(e,t)=>{var n={};for(var r in e)Qj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Eh)for(var r of Eh(e))t.indexOf(r)<0&&Jj.call(e,r)&&(n[r]=e[r]);return n};const Zj=f.forwardRef((e,t)=>{var n=e,{position:r,arrowSize:o,arrowOffset:s,arrowRadius:a,arrowPosition:c,visible:d,arrowX:p,arrowY:h}=n,m=Iq(n,["position","arrowSize","arrowOffset","arrowRadius","arrowPosition","visible","arrowX","arrowY"]);const v=Ha();return d?H.createElement("div",jq(Pq({},m),{ref:t,style:Sq({position:r,arrowSize:o,arrowOffset:s,arrowRadius:a,arrowPosition:c,dir:v.dir,arrowX:p,arrowY:h})})):null});Zj.displayName="@mantine/core/FloatingArrow";var Eq=Object.defineProperty,Oq=Object.defineProperties,Rq=Object.getOwnPropertyDescriptors,Oh=Object.getOwnPropertySymbols,eI=Object.prototype.hasOwnProperty,tI=Object.prototype.propertyIsEnumerable,QC=(e,t,n)=>t in e?Eq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Wl=(e,t)=>{for(var n in t||(t={}))eI.call(t,n)&&QC(e,n,t[n]);if(Oh)for(var n of Oh(t))tI.call(t,n)&&QC(e,n,t[n]);return e},op=(e,t)=>Oq(e,Rq(t)),Mq=(e,t)=>{var n={};for(var r in e)eI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Oh)for(var r of Oh(e))t.indexOf(r)<0&&tI.call(e,r)&&(n[r]=e[r]);return n};const Dq={};function nI(e){var t;const n=Cr("PopoverDropdown",Dq,e),{style:r,className:o,children:s,onKeyDownCapture:a}=n,c=Mq(n,["style","className","children","onKeyDownCapture"]),d=Uj(),{classes:p,cx:h}=uq({radius:d.radius,shadow:d.shadow},{name:d.__staticSelector,classNames:d.classNames,styles:d.styles,unstyled:d.unstyled,variant:d.variant}),m=gW({opened:d.opened,shouldReturnFocus:d.returnFocus}),v=d.withRoles?{"aria-labelledby":d.getTargetId(),id:d.getDropdownId(),role:"dialog"}:{};return d.disabled?null:H.createElement(nj,op(Wl({},d.portalProps),{withinPortal:d.withinPortal}),H.createElement(Xj,op(Wl({mounted:d.opened},d.transitionProps),{transition:d.transitionProps.transition||"fade",duration:(t=d.transitionProps.duration)!=null?t:150,keepMounted:d.keepMounted,exitDuration:typeof d.transitionProps.exitDuration=="number"?d.transitionProps.exitDuration:d.transitionProps.duration}),b=>{var w,y;return H.createElement(Yj,{active:d.trapFocus},H.createElement(Io,Wl(op(Wl({},v),{tabIndex:-1,ref:d.floating,style:op(Wl(Wl({},r),b),{zIndex:d.zIndex,top:(w=d.y)!=null?w:0,left:(y=d.x)!=null?y:0,width:d.width==="target"?void 0:Ue(d.width)}),className:h(p.dropdown,o),onKeyDownCapture:UH(d.onClose,{active:d.closeOnEscape,onTrigger:m,onKeyDown:a}),"data-position":d.placement}),c),s,H.createElement(Zj,{ref:d.arrowRef,arrowX:d.arrowX,arrowY:d.arrowY,visible:d.withArrow,position:d.placement,arrowSize:d.arrowSize,arrowRadius:d.arrowRadius,arrowOffset:d.arrowOffset,arrowPosition:d.arrowPosition,className:p.arrow})))}))}nI.displayName="@mantine/core/PopoverDropdown";function Aq(e,t){if(e==="rtl"&&(t.includes("right")||t.includes("left"))){const[n,r]=t.split("-"),o=n==="right"?"left":"right";return r===void 0?o:`${o}-${r}`}return t}var JC=Object.getOwnPropertySymbols,Tq=Object.prototype.hasOwnProperty,Nq=Object.prototype.propertyIsEnumerable,$q=(e,t)=>{var n={};for(var r in e)Tq.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&JC)for(var r of JC(e))t.indexOf(r)<0&&Nq.call(e,r)&&(n[r]=e[r]);return n};const Lq={position:"bottom",offset:8,positionDependencies:[],transitionProps:{transition:"fade",duration:150},middlewares:{flip:!0,shift:!0,inline:!1},arrowSize:7,arrowOffset:5,arrowRadius:0,arrowPosition:"side",closeOnClickOutside:!0,withinPortal:!1,closeOnEscape:!0,trapFocus:!1,withRoles:!0,returnFocus:!1,clickOutsideEvents:["mousedown","touchstart"],zIndex:ny("popover"),__staticSelector:"Popover",width:"max-content"};function Gc(e){var t,n,r,o,s,a;const c=f.useRef(null),d=Cr("Popover",Lq,e),{children:p,position:h,offset:m,onPositionChange:v,positionDependencies:b,opened:w,transitionProps:y,width:S,middlewares:k,withArrow:_,arrowSize:P,arrowOffset:I,arrowRadius:E,arrowPosition:O,unstyled:R,classNames:M,styles:D,closeOnClickOutside:A,withinPortal:L,portalProps:Q,closeOnEscape:F,clickOutsideEvents:V,trapFocus:q,onClose:G,onOpen:T,onChange:z,zIndex:$,radius:Y,shadow:ae,id:fe,defaultOpened:ie,__staticSelector:X,withRoles:K,disabled:U,returnFocus:se,variant:re,keepMounted:oe}=d,pe=$q(d,["children","position","offset","onPositionChange","positionDependencies","opened","transitionProps","width","middlewares","withArrow","arrowSize","arrowOffset","arrowRadius","arrowPosition","unstyled","classNames","styles","closeOnClickOutside","withinPortal","portalProps","closeOnEscape","clickOutsideEvents","trapFocus","onClose","onOpen","onChange","zIndex","radius","shadow","id","defaultOpened","__staticSelector","withRoles","disabled","returnFocus","variant","keepMounted"]),[le,ge]=f.useState(null),[ke,xe]=f.useState(null),de=oy(fe),Te=Ha(),Ee=tq({middlewares:k,width:S,position:Aq(Te.dir,h),offset:typeof m=="number"?m+(_?P/2:0):m,arrowRef:c,arrowOffset:I,onPositionChange:v,positionDependencies:b,opened:w,defaultOpened:ie,onChange:z,onOpen:T,onClose:G});fW(()=>Ee.opened&&A&&Ee.onClose(),V,[le,ke]);const $e=f.useCallback(ct=>{ge(ct),Ee.floating.reference(ct)},[Ee.floating.reference]),kt=f.useCallback(ct=>{xe(ct),Ee.floating.floating(ct)},[Ee.floating.floating]);return H.createElement(nq,{value:{returnFocus:se,disabled:U,controlled:Ee.controlled,reference:$e,floating:kt,x:Ee.floating.x,y:Ee.floating.y,arrowX:(r=(n=(t=Ee.floating)==null?void 0:t.middlewareData)==null?void 0:n.arrow)==null?void 0:r.x,arrowY:(a=(s=(o=Ee.floating)==null?void 0:o.middlewareData)==null?void 0:s.arrow)==null?void 0:a.y,opened:Ee.opened,arrowRef:c,transitionProps:y,width:S,withArrow:_,arrowSize:P,arrowOffset:I,arrowRadius:E,arrowPosition:O,placement:Ee.floating.placement,trapFocus:q,withinPortal:L,portalProps:Q,zIndex:$,radius:Y,shadow:ae,closeOnEscape:F,onClose:Ee.onClose,onToggle:Ee.onToggle,getTargetId:()=>`${de}-target`,getDropdownId:()=>`${de}-dropdown`,withRoles:K,targetProps:pe,__staticSelector:X,classNames:M,styles:D,unstyled:R,variant:re,keepMounted:oe}},p)}Gc.Target=Kj;Gc.Dropdown=nI;Gc.displayName="@mantine/core/Popover";var zq=Object.defineProperty,Rh=Object.getOwnPropertySymbols,rI=Object.prototype.hasOwnProperty,oI=Object.prototype.propertyIsEnumerable,ZC=(e,t,n)=>t in e?zq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Bq=(e,t)=>{for(var n in t||(t={}))rI.call(t,n)&&ZC(e,n,t[n]);if(Rh)for(var n of Rh(t))oI.call(t,n)&&ZC(e,n,t[n]);return e},Fq=(e,t)=>{var n={};for(var r in e)rI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Rh)for(var r of Rh(e))t.indexOf(r)<0&&oI.call(e,r)&&(n[r]=e[r]);return n};function Hq(e){var t=e,{children:n,component:r="div",maxHeight:o=220,direction:s="column",id:a,innerRef:c,__staticSelector:d,styles:p,classNames:h,unstyled:m}=t,v=Fq(t,["children","component","maxHeight","direction","id","innerRef","__staticSelector","styles","classNames","unstyled"]);const{classes:b}=CG(null,{name:d,styles:p,classNames:h,unstyled:m});return H.createElement(Gc.Dropdown,Bq({p:0,onMouseDown:w=>w.preventDefault()},v),H.createElement("div",{style:{maxHeight:Ue(o),display:"flex"}},H.createElement(Io,{component:r||"div",id:`${a}-items`,"aria-labelledby":`${a}-label`,role:"listbox",onMouseDown:w=>w.preventDefault(),style:{flex:1,overflowY:r!==Fm?"auto":void 0},"data-combobox-popover":!0,tabIndex:-1,ref:c},H.createElement("div",{className:b.itemsWrapper,style:{flexDirection:s}},n))))}function pi({opened:e,transitionProps:t={transition:"fade",duration:0},shadow:n,withinPortal:r,portalProps:o,children:s,__staticSelector:a,onDirectionChange:c,switchDirectionOnFlip:d,zIndex:p,dropdownPosition:h,positionDependencies:m=[],classNames:v,styles:b,unstyled:w,readOnly:y,variant:S}){return H.createElement(Gc,{unstyled:w,classNames:v,styles:b,width:"target",withRoles:!1,opened:e,middlewares:{flip:h==="flip",shift:!1},position:h==="flip"?"bottom":h,positionDependencies:m,zIndex:p,__staticSelector:a,withinPortal:r,portalProps:o,transitionProps:t,shadow:n,disabled:y,onPositionChange:k=>d&&(c==null?void 0:c(k==="top"?"column-reverse":"column")),variant:S},s)}pi.Target=Gc.Target;pi.Dropdown=Hq;var Wq=Object.defineProperty,Vq=Object.defineProperties,Uq=Object.getOwnPropertyDescriptors,Mh=Object.getOwnPropertySymbols,sI=Object.prototype.hasOwnProperty,aI=Object.prototype.propertyIsEnumerable,e4=(e,t,n)=>t in e?Wq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,sp=(e,t)=>{for(var n in t||(t={}))sI.call(t,n)&&e4(e,n,t[n]);if(Mh)for(var n of Mh(t))aI.call(t,n)&&e4(e,n,t[n]);return e},Gq=(e,t)=>Vq(e,Uq(t)),qq=(e,t)=>{var n={};for(var r in e)sI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Mh)for(var r of Mh(e))t.indexOf(r)<0&&aI.call(e,r)&&(n[r]=e[r]);return n};function iI(e,t,n){const r=Cr(e,t,n),{label:o,description:s,error:a,required:c,classNames:d,styles:p,className:h,unstyled:m,__staticSelector:v,sx:b,errorProps:w,labelProps:y,descriptionProps:S,wrapperProps:k,id:_,size:P,style:I,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:M}=r,D=qq(r,["label","description","error","required","classNames","styles","className","unstyled","__staticSelector","sx","errorProps","labelProps","descriptionProps","wrapperProps","id","size","style","inputContainer","inputWrapperOrder","withAsterisk","variant"]),A=oy(_),{systemStyles:L,rest:Q}=$m(D),F=sp({label:o,description:s,error:a,required:c,classNames:d,className:h,__staticSelector:v,sx:b,errorProps:w,labelProps:y,descriptionProps:S,unstyled:m,styles:p,id:A,size:P,style:I,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:M},k);return Gq(sp({},Q),{classNames:d,styles:p,unstyled:m,wrapperProps:sp(sp({},F),L),inputProps:{required:c,classNames:d,styles:p,unstyled:m,id:A,size:P,__staticSelector:v,error:a,variant:M}})}var Kq=so((e,t,{size:n})=>({label:{display:"inline-block",fontSize:Vt({size:n,sizes:e.fontSizes}),fontWeight:500,color:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[9],wordBreak:"break-word",cursor:"default",WebkitTapHighlightColor:"transparent"},required:{color:e.fn.variant({variant:"filled",color:"red"}).background}}));const Xq=Kq;var Yq=Object.defineProperty,Dh=Object.getOwnPropertySymbols,lI=Object.prototype.hasOwnProperty,cI=Object.prototype.propertyIsEnumerable,t4=(e,t,n)=>t in e?Yq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Qq=(e,t)=>{for(var n in t||(t={}))lI.call(t,n)&&t4(e,n,t[n]);if(Dh)for(var n of Dh(t))cI.call(t,n)&&t4(e,n,t[n]);return e},Jq=(e,t)=>{var n={};for(var r in e)lI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Dh)for(var r of Dh(e))t.indexOf(r)<0&&cI.call(e,r)&&(n[r]=e[r]);return n};const Zq={labelElement:"label",size:"sm"},py=f.forwardRef((e,t)=>{const n=Cr("InputLabel",Zq,e),{labelElement:r,children:o,required:s,size:a,classNames:c,styles:d,unstyled:p,className:h,htmlFor:m,__staticSelector:v,variant:b,onMouseDown:w}=n,y=Jq(n,["labelElement","children","required","size","classNames","styles","unstyled","className","htmlFor","__staticSelector","variant","onMouseDown"]),{classes:S,cx:k}=Xq(null,{name:["InputWrapper",v],classNames:c,styles:d,unstyled:p,variant:b,size:a});return H.createElement(Io,Qq({component:r,ref:t,className:k(S.label,h),htmlFor:r==="label"?m:void 0,onMouseDown:_=>{w==null||w(_),!_.defaultPrevented&&_.detail>1&&_.preventDefault()}},y),o,s&&H.createElement("span",{className:S.required,"aria-hidden":!0}," *"))});py.displayName="@mantine/core/InputLabel";var eK=so((e,t,{size:n})=>({error:{wordBreak:"break-word",color:e.fn.variant({variant:"filled",color:"red"}).background,fontSize:`calc(${Vt({size:n,sizes:e.fontSizes})} - ${Ue(2)})`,lineHeight:1.2,display:"block"}}));const tK=eK;var nK=Object.defineProperty,Ah=Object.getOwnPropertySymbols,uI=Object.prototype.hasOwnProperty,dI=Object.prototype.propertyIsEnumerable,n4=(e,t,n)=>t in e?nK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,rK=(e,t)=>{for(var n in t||(t={}))uI.call(t,n)&&n4(e,n,t[n]);if(Ah)for(var n of Ah(t))dI.call(t,n)&&n4(e,n,t[n]);return e},oK=(e,t)=>{var n={};for(var r in e)uI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ah)for(var r of Ah(e))t.indexOf(r)<0&&dI.call(e,r)&&(n[r]=e[r]);return n};const sK={size:"sm"},hy=f.forwardRef((e,t)=>{const n=Cr("InputError",sK,e),{children:r,className:o,classNames:s,styles:a,unstyled:c,size:d,__staticSelector:p,variant:h}=n,m=oK(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=tK(null,{name:["InputWrapper",p],classNames:s,styles:a,unstyled:c,variant:h,size:d});return H.createElement(_c,rK({className:b(v.error,o),ref:t},m),r)});hy.displayName="@mantine/core/InputError";var aK=so((e,t,{size:n})=>({description:{wordBreak:"break-word",color:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6],fontSize:`calc(${Vt({size:n,sizes:e.fontSizes})} - ${Ue(2)})`,lineHeight:1.2,display:"block"}}));const iK=aK;var lK=Object.defineProperty,Th=Object.getOwnPropertySymbols,fI=Object.prototype.hasOwnProperty,pI=Object.prototype.propertyIsEnumerable,r4=(e,t,n)=>t in e?lK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cK=(e,t)=>{for(var n in t||(t={}))fI.call(t,n)&&r4(e,n,t[n]);if(Th)for(var n of Th(t))pI.call(t,n)&&r4(e,n,t[n]);return e},uK=(e,t)=>{var n={};for(var r in e)fI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Th)for(var r of Th(e))t.indexOf(r)<0&&pI.call(e,r)&&(n[r]=e[r]);return n};const dK={size:"sm"},my=f.forwardRef((e,t)=>{const n=Cr("InputDescription",dK,e),{children:r,className:o,classNames:s,styles:a,unstyled:c,size:d,__staticSelector:p,variant:h}=n,m=uK(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=iK(null,{name:["InputWrapper",p],classNames:s,styles:a,unstyled:c,variant:h,size:d});return H.createElement(_c,cK({color:"dimmed",className:b(v.description,o),ref:t,unstyled:c},m),r)});my.displayName="@mantine/core/InputDescription";const hI=f.createContext({offsetBottom:!1,offsetTop:!1,describedBy:void 0}),fK=hI.Provider,pK=()=>f.useContext(hI);function hK(e,{hasDescription:t,hasError:n}){const r=e.findIndex(d=>d==="input"),o=e[r-1],s=e[r+1];return{offsetBottom:t&&s==="description"||n&&s==="error",offsetTop:t&&o==="description"||n&&o==="error"}}var mK=Object.defineProperty,gK=Object.defineProperties,vK=Object.getOwnPropertyDescriptors,o4=Object.getOwnPropertySymbols,bK=Object.prototype.hasOwnProperty,yK=Object.prototype.propertyIsEnumerable,s4=(e,t,n)=>t in e?mK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,xK=(e,t)=>{for(var n in t||(t={}))bK.call(t,n)&&s4(e,n,t[n]);if(o4)for(var n of o4(t))yK.call(t,n)&&s4(e,n,t[n]);return e},wK=(e,t)=>gK(e,vK(t)),SK=so(e=>({root:wK(xK({},e.fn.fontStyles()),{lineHeight:e.lineHeight})}));const CK=SK;var kK=Object.defineProperty,_K=Object.defineProperties,PK=Object.getOwnPropertyDescriptors,Nh=Object.getOwnPropertySymbols,mI=Object.prototype.hasOwnProperty,gI=Object.prototype.propertyIsEnumerable,a4=(e,t,n)=>t in e?kK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ti=(e,t)=>{for(var n in t||(t={}))mI.call(t,n)&&a4(e,n,t[n]);if(Nh)for(var n of Nh(t))gI.call(t,n)&&a4(e,n,t[n]);return e},i4=(e,t)=>_K(e,PK(t)),jK=(e,t)=>{var n={};for(var r in e)mI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Nh)for(var r of Nh(e))t.indexOf(r)<0&&gI.call(e,r)&&(n[r]=e[r]);return n};const IK={labelElement:"label",size:"sm",inputContainer:e=>e,inputWrapperOrder:["label","description","input","error"]},vI=f.forwardRef((e,t)=>{const n=Cr("InputWrapper",IK,e),{className:r,label:o,children:s,required:a,id:c,error:d,description:p,labelElement:h,labelProps:m,descriptionProps:v,errorProps:b,classNames:w,styles:y,size:S,inputContainer:k,__staticSelector:_,unstyled:P,inputWrapperOrder:I,withAsterisk:E,variant:O}=n,R=jK(n,["className","label","children","required","id","error","description","labelElement","labelProps","descriptionProps","errorProps","classNames","styles","size","inputContainer","__staticSelector","unstyled","inputWrapperOrder","withAsterisk","variant"]),{classes:M,cx:D}=CK(null,{classNames:w,styles:y,name:["InputWrapper",_],unstyled:P,variant:O,size:S}),A={classNames:w,styles:y,unstyled:P,size:S,variant:O,__staticSelector:_},L=typeof E=="boolean"?E:a,Q=c?`${c}-error`:b==null?void 0:b.id,F=c?`${c}-description`:v==null?void 0:v.id,q=`${!!d&&typeof d!="boolean"?Q:""} ${p?F:""}`,G=q.trim().length>0?q.trim():void 0,T=o&&H.createElement(py,ti(ti({key:"label",labelElement:h,id:c?`${c}-label`:void 0,htmlFor:c,required:L},A),m),o),z=p&&H.createElement(my,i4(ti(ti({key:"description"},v),A),{size:(v==null?void 0:v.size)||A.size,id:(v==null?void 0:v.id)||F}),p),$=H.createElement(f.Fragment,{key:"input"},k(s)),Y=typeof d!="boolean"&&d&&H.createElement(hy,i4(ti(ti({},b),A),{size:(b==null?void 0:b.size)||A.size,key:"error",id:(b==null?void 0:b.id)||Q}),d),ae=I.map(fe=>{switch(fe){case"label":return T;case"input":return $;case"description":return z;case"error":return Y;default:return null}});return H.createElement(fK,{value:ti({describedBy:G},hK(I,{hasDescription:!!z,hasError:!!Y}))},H.createElement(Io,ti({className:D(M.root,r),ref:t},R),ae))});vI.displayName="@mantine/core/InputWrapper";var EK=Object.defineProperty,$h=Object.getOwnPropertySymbols,bI=Object.prototype.hasOwnProperty,yI=Object.prototype.propertyIsEnumerable,l4=(e,t,n)=>t in e?EK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,OK=(e,t)=>{for(var n in t||(t={}))bI.call(t,n)&&l4(e,n,t[n]);if($h)for(var n of $h(t))yI.call(t,n)&&l4(e,n,t[n]);return e},RK=(e,t)=>{var n={};for(var r in e)bI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&$h)for(var r of $h(e))t.indexOf(r)<0&&yI.call(e,r)&&(n[r]=e[r]);return n};const MK={},xI=f.forwardRef((e,t)=>{const n=Cr("InputPlaceholder",MK,e),{sx:r}=n,o=RK(n,["sx"]);return H.createElement(Io,OK({component:"span",sx:[s=>s.fn.placeholderStyles(),...xP(r)],ref:t},o))});xI.displayName="@mantine/core/InputPlaceholder";var DK=Object.defineProperty,AK=Object.defineProperties,TK=Object.getOwnPropertyDescriptors,c4=Object.getOwnPropertySymbols,NK=Object.prototype.hasOwnProperty,$K=Object.prototype.propertyIsEnumerable,u4=(e,t,n)=>t in e?DK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ap=(e,t)=>{for(var n in t||(t={}))NK.call(t,n)&&u4(e,n,t[n]);if(c4)for(var n of c4(t))$K.call(t,n)&&u4(e,n,t[n]);return e},X0=(e,t)=>AK(e,TK(t));const Qo={xs:Ue(30),sm:Ue(36),md:Ue(42),lg:Ue(50),xl:Ue(60)},LK=["default","filled","unstyled"];function zK({theme:e,variant:t}){return LK.includes(t)?t==="default"?{border:`${Ue(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4]}`,backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.white,transition:"border-color 100ms ease","&:focus, &:focus-within":e.focusRingStyles.inputStyles(e)}:t==="filled"?{border:`${Ue(1)} solid transparent`,backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[1],"&:focus, &:focus-within":e.focusRingStyles.inputStyles(e)}:{borderWidth:0,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,backgroundColor:"transparent",minHeight:Ue(28),outline:0,"&:focus, &:focus-within":{outline:"none",borderColor:"transparent"},"&:disabled":{backgroundColor:"transparent","&:focus, &:focus-within":{outline:"none",borderColor:"transparent"}}}:null}var BK=so((e,{multiline:t,radius:n,invalid:r,rightSectionWidth:o,withRightSection:s,iconWidth:a,offsetBottom:c,offsetTop:d,pointer:p},{variant:h,size:m})=>{const v=e.fn.variant({variant:"filled",color:"red"}).background,b=h==="default"||h==="filled"?{minHeight:Vt({size:m,sizes:Qo}),paddingLeft:`calc(${Vt({size:m,sizes:Qo})} / 3)`,paddingRight:s?o||Vt({size:m,sizes:Qo}):`calc(${Vt({size:m,sizes:Qo})} / 3)`,borderRadius:e.fn.radius(n)}:h==="unstyled"&&s?{paddingRight:o||Vt({size:m,sizes:Qo})}:null;return{wrapper:{position:"relative",marginTop:d?`calc(${e.spacing.xs} / 2)`:void 0,marginBottom:c?`calc(${e.spacing.xs} / 2)`:void 0,"&:has(input:disabled)":{"& .mantine-Input-rightSection":{display:"none"}}},input:X0(ap(ap(X0(ap({},e.fn.fontStyles()),{height:t?h==="unstyled"?void 0:"auto":Vt({size:m,sizes:Qo}),WebkitTapHighlightColor:"transparent",lineHeight:t?e.lineHeight:`calc(${Vt({size:m,sizes:Qo})} - ${Ue(2)})`,appearance:"none",resize:"none",boxSizing:"border-box",fontSize:Vt({size:m,sizes:e.fontSizes}),width:"100%",color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,display:"block",textAlign:"left",cursor:p?"pointer":void 0}),zK({theme:e,variant:h})),b),{"&:disabled, &[data-disabled]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[1],color:e.colors.dark[2],opacity:.6,cursor:"not-allowed",pointerEvents:"none","&::placeholder":{color:e.colors.dark[2]}},"&[data-invalid]":{color:v,borderColor:v,"&::placeholder":{opacity:1,color:v}},"&[data-with-icon]":{paddingLeft:typeof a=="number"?Ue(a):Vt({size:m,sizes:Qo})},"&::placeholder":X0(ap({},e.fn.placeholderStyles()),{opacity:1}),"&::-webkit-inner-spin-button, &::-webkit-outer-spin-button, &::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration":{appearance:"none"},"&[type=number]":{MozAppearance:"textfield"}}),icon:{pointerEvents:"none",position:"absolute",zIndex:1,left:0,top:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",width:a?Ue(a):Vt({size:m,sizes:Qo}),color:r?e.colors.red[e.colorScheme==="dark"?6:7]:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[5]},rightSection:{position:"absolute",top:0,bottom:0,right:0,display:"flex",alignItems:"center",justifyContent:"center",width:o||Vt({size:m,sizes:Qo})}}});const FK=BK;var HK=Object.defineProperty,WK=Object.defineProperties,VK=Object.getOwnPropertyDescriptors,Lh=Object.getOwnPropertySymbols,wI=Object.prototype.hasOwnProperty,SI=Object.prototype.propertyIsEnumerable,d4=(e,t,n)=>t in e?HK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ip=(e,t)=>{for(var n in t||(t={}))wI.call(t,n)&&d4(e,n,t[n]);if(Lh)for(var n of Lh(t))SI.call(t,n)&&d4(e,n,t[n]);return e},f4=(e,t)=>WK(e,VK(t)),UK=(e,t)=>{var n={};for(var r in e)wI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Lh)for(var r of Lh(e))t.indexOf(r)<0&&SI.call(e,r)&&(n[r]=e[r]);return n};const GK={size:"sm",variant:"default"},bl=f.forwardRef((e,t)=>{const n=Cr("Input",GK,e),{className:r,error:o,required:s,disabled:a,variant:c,icon:d,style:p,rightSectionWidth:h,iconWidth:m,rightSection:v,rightSectionProps:b,radius:w,size:y,wrapperProps:S,classNames:k,styles:_,__staticSelector:P,multiline:I,sx:E,unstyled:O,pointer:R}=n,M=UK(n,["className","error","required","disabled","variant","icon","style","rightSectionWidth","iconWidth","rightSection","rightSectionProps","radius","size","wrapperProps","classNames","styles","__staticSelector","multiline","sx","unstyled","pointer"]),{offsetBottom:D,offsetTop:A,describedBy:L}=pK(),{classes:Q,cx:F}=FK({radius:w,multiline:I,invalid:!!o,rightSectionWidth:h?Ue(h):void 0,iconWidth:m,withRightSection:!!v,offsetBottom:D,offsetTop:A,pointer:R},{classNames:k,styles:_,name:["Input",P],unstyled:O,variant:c,size:y}),{systemStyles:V,rest:q}=$m(M);return H.createElement(Io,ip(ip({className:F(Q.wrapper,r),sx:E,style:p},V),S),d&&H.createElement("div",{className:Q.icon},d),H.createElement(Io,f4(ip({component:"input"},q),{ref:t,required:s,"aria-invalid":!!o,"aria-describedby":L,disabled:a,"data-disabled":a||void 0,"data-with-icon":!!d||void 0,"data-invalid":!!o||void 0,className:Q.input})),v&&H.createElement("div",f4(ip({},b),{className:Q.rightSection}),v))});bl.displayName="@mantine/core/Input";bl.Wrapper=vI;bl.Label=py;bl.Description=my;bl.Error=hy;bl.Placeholder=xI;const Ec=bl;var qK=Object.defineProperty,zh=Object.getOwnPropertySymbols,CI=Object.prototype.hasOwnProperty,kI=Object.prototype.propertyIsEnumerable,p4=(e,t,n)=>t in e?qK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,h4=(e,t)=>{for(var n in t||(t={}))CI.call(t,n)&&p4(e,n,t[n]);if(zh)for(var n of zh(t))kI.call(t,n)&&p4(e,n,t[n]);return e},KK=(e,t)=>{var n={};for(var r in e)CI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&zh)for(var r of zh(e))t.indexOf(r)<0&&kI.call(e,r)&&(n[r]=e[r]);return n};const XK={multiple:!1},_I=f.forwardRef((e,t)=>{const n=Cr("FileButton",XK,e),{onChange:r,children:o,multiple:s,accept:a,name:c,form:d,resetRef:p,disabled:h,capture:m,inputProps:v}=n,b=KK(n,["onChange","children","multiple","accept","name","form","resetRef","disabled","capture","inputProps"]),w=f.useRef(),y=()=>{!h&&w.current.click()},S=_=>{r(s?Array.from(_.currentTarget.files):_.currentTarget.files[0]||null)};return OP(p,()=>{w.current.value=""}),H.createElement(H.Fragment,null,o(h4({onClick:y},b)),H.createElement("input",h4({style:{display:"none"},type:"file",accept:a,multiple:s,onChange:S,ref:Bd(t,w),name:c,form:d,capture:m},v)))});_I.displayName="@mantine/core/FileButton";const PI={xs:Ue(16),sm:Ue(22),md:Ue(26),lg:Ue(30),xl:Ue(36)},YK={xs:Ue(10),sm:Ue(12),md:Ue(14),lg:Ue(16),xl:Ue(18)};var QK=so((e,{disabled:t,radius:n,readOnly:r},{size:o,variant:s})=>({defaultValue:{display:"flex",alignItems:"center",backgroundColor:t?e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[3]:e.colorScheme==="dark"?e.colors.dark[7]:s==="filled"?e.white:e.colors.gray[1],color:t?e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[7]:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[7],height:Vt({size:o,sizes:PI}),paddingLeft:`calc(${Vt({size:o,sizes:e.spacing})} / 1.5)`,paddingRight:t||r?Vt({size:o,sizes:e.spacing}):0,fontWeight:500,fontSize:Vt({size:o,sizes:YK}),borderRadius:Vt({size:n,sizes:e.radius}),cursor:t?"not-allowed":"default",userSelect:"none",maxWidth:`calc(100% - ${Ue(10)})`},defaultValueRemove:{color:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[7],marginLeft:`calc(${Vt({size:o,sizes:e.spacing})} / 6)`},defaultValueLabel:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}));const JK=QK;var ZK=Object.defineProperty,Bh=Object.getOwnPropertySymbols,jI=Object.prototype.hasOwnProperty,II=Object.prototype.propertyIsEnumerable,m4=(e,t,n)=>t in e?ZK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,eX=(e,t)=>{for(var n in t||(t={}))jI.call(t,n)&&m4(e,n,t[n]);if(Bh)for(var n of Bh(t))II.call(t,n)&&m4(e,n,t[n]);return e},tX=(e,t)=>{var n={};for(var r in e)jI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Bh)for(var r of Bh(e))t.indexOf(r)<0&&II.call(e,r)&&(n[r]=e[r]);return n};const nX={xs:16,sm:22,md:24,lg:26,xl:30};function EI(e){var t=e,{label:n,classNames:r,styles:o,className:s,onRemove:a,disabled:c,readOnly:d,size:p,radius:h="sm",variant:m,unstyled:v}=t,b=tX(t,["label","classNames","styles","className","onRemove","disabled","readOnly","size","radius","variant","unstyled"]);const{classes:w,cx:y}=JK({disabled:c,readOnly:d,radius:h},{name:"MultiSelect",classNames:r,styles:o,unstyled:v,size:p,variant:m});return H.createElement("div",eX({className:y(w.defaultValue,s)},b),H.createElement("span",{className:w.defaultValueLabel},n),!c&&!d&&H.createElement(cj,{"aria-hidden":!0,onMouseDown:a,size:nX[p],radius:2,color:"blue",variant:"transparent",iconSize:"70%",className:w.defaultValueRemove,tabIndex:-1,unstyled:v}))}EI.displayName="@mantine/core/MultiSelect/DefaultValue";function rX({data:e,searchable:t,limit:n,searchValue:r,filter:o,value:s,disableSelectedItemFiltering:a}){if(!t&&s.length===0)return e;if(!t){const d=[];for(let p=0;ph===e[p].value&&!e[p].disabled))&&d.push(e[p]);return d}const c=[];for(let d=0;dp===e[d].value&&!e[d].disabled),e[d])&&c.push(e[d]),!(c.length>=n));d+=1);return c}var oX=Object.defineProperty,Fh=Object.getOwnPropertySymbols,OI=Object.prototype.hasOwnProperty,RI=Object.prototype.propertyIsEnumerable,g4=(e,t,n)=>t in e?oX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,v4=(e,t)=>{for(var n in t||(t={}))OI.call(t,n)&&g4(e,n,t[n]);if(Fh)for(var n of Fh(t))RI.call(t,n)&&g4(e,n,t[n]);return e},sX=(e,t)=>{var n={};for(var r in e)OI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Fh)for(var r of Fh(e))t.indexOf(r)<0&&RI.call(e,r)&&(n[r]=e[r]);return n};const aX={xs:Ue(14),sm:Ue(18),md:Ue(20),lg:Ue(24),xl:Ue(28)};function iX(e){var t=e,{size:n,error:r,style:o}=t,s=sX(t,["size","error","style"]);const a=Ha(),c=Vt({size:n,sizes:aX});return H.createElement("svg",v4({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:v4({color:r?a.colors.red[6]:a.colors.gray[6],width:c,height:c},o),"data-chevron":!0},s),H.createElement("path",{d:"M4.93179 5.43179C4.75605 5.60753 4.75605 5.89245 4.93179 6.06819C5.10753 6.24392 5.39245 6.24392 5.56819 6.06819L7.49999 4.13638L9.43179 6.06819C9.60753 6.24392 9.89245 6.24392 10.0682 6.06819C10.2439 5.89245 10.2439 5.60753 10.0682 5.43179L7.81819 3.18179C7.73379 3.0974 7.61933 3.04999 7.49999 3.04999C7.38064 3.04999 7.26618 3.0974 7.18179 3.18179L4.93179 5.43179ZM10.0682 9.56819C10.2439 9.39245 10.2439 9.10753 10.0682 8.93179C9.89245 8.75606 9.60753 8.75606 9.43179 8.93179L7.49999 10.8636L5.56819 8.93179C5.39245 8.75606 5.10753 8.75606 4.93179 8.93179C4.75605 9.10753 4.75605 9.39245 4.93179 9.56819L7.18179 11.8182C7.35753 11.9939 7.64245 11.9939 7.81819 11.8182L10.0682 9.56819Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}var lX=Object.defineProperty,cX=Object.defineProperties,uX=Object.getOwnPropertyDescriptors,b4=Object.getOwnPropertySymbols,dX=Object.prototype.hasOwnProperty,fX=Object.prototype.propertyIsEnumerable,y4=(e,t,n)=>t in e?lX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,pX=(e,t)=>{for(var n in t||(t={}))dX.call(t,n)&&y4(e,n,t[n]);if(b4)for(var n of b4(t))fX.call(t,n)&&y4(e,n,t[n]);return e},hX=(e,t)=>cX(e,uX(t));function MI({shouldClear:e,clearButtonProps:t,onClear:n,size:r,error:o}){return e?H.createElement(cj,hX(pX({},t),{variant:"transparent",onClick:n,size:r,onMouseDown:s=>s.preventDefault()})):H.createElement(iX,{error:o,size:r})}MI.displayName="@mantine/core/SelectRightSection";var mX=Object.defineProperty,gX=Object.defineProperties,vX=Object.getOwnPropertyDescriptors,Hh=Object.getOwnPropertySymbols,DI=Object.prototype.hasOwnProperty,AI=Object.prototype.propertyIsEnumerable,x4=(e,t,n)=>t in e?mX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Y0=(e,t)=>{for(var n in t||(t={}))DI.call(t,n)&&x4(e,n,t[n]);if(Hh)for(var n of Hh(t))AI.call(t,n)&&x4(e,n,t[n]);return e},w4=(e,t)=>gX(e,vX(t)),bX=(e,t)=>{var n={};for(var r in e)DI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Hh)for(var r of Hh(e))t.indexOf(r)<0&&AI.call(e,r)&&(n[r]=e[r]);return n};function TI(e){var t=e,{styles:n,rightSection:r,rightSectionWidth:o,theme:s}=t,a=bX(t,["styles","rightSection","rightSectionWidth","theme"]);if(r)return{rightSection:r,rightSectionWidth:o,styles:n};const c=typeof n=="function"?n(s):n;return{rightSection:!a.readOnly&&!(a.disabled&&a.shouldClear)&&H.createElement(MI,Y0({},a)),styles:w4(Y0({},c),{rightSection:w4(Y0({},c==null?void 0:c.rightSection),{pointerEvents:a.shouldClear?void 0:"none"})})}}var yX=Object.defineProperty,xX=Object.defineProperties,wX=Object.getOwnPropertyDescriptors,S4=Object.getOwnPropertySymbols,SX=Object.prototype.hasOwnProperty,CX=Object.prototype.propertyIsEnumerable,C4=(e,t,n)=>t in e?yX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kX=(e,t)=>{for(var n in t||(t={}))SX.call(t,n)&&C4(e,n,t[n]);if(S4)for(var n of S4(t))CX.call(t,n)&&C4(e,n,t[n]);return e},_X=(e,t)=>xX(e,wX(t)),PX=so((e,{invalid:t},{size:n})=>({wrapper:{position:"relative","&:has(input:disabled)":{cursor:"not-allowed",pointerEvents:"none","& .mantine-MultiSelect-input":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[1],color:e.colors.dark[2],opacity:.6,"&::placeholder":{color:e.colors.dark[2]}},"& .mantine-MultiSelect-defaultValue":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[3],color:e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[7]}}},values:{minHeight:`calc(${Vt({size:n,sizes:Qo})} - ${Ue(2)})`,display:"flex",alignItems:"center",flexWrap:"wrap",marginLeft:`calc(-${e.spacing.xs} / 2)`,boxSizing:"border-box","&[data-clearable]":{marginRight:Vt({size:n,sizes:Qo})}},value:{margin:`calc(${e.spacing.xs} / 2 - ${Ue(2)}) calc(${e.spacing.xs} / 2)`},searchInput:_X(kX({},e.fn.fontStyles()),{flex:1,minWidth:Ue(60),backgroundColor:"transparent",border:0,outline:0,fontSize:Vt({size:n,sizes:e.fontSizes}),padding:0,marginLeft:`calc(${e.spacing.xs} / 2)`,appearance:"none",color:"inherit",maxHeight:Vt({size:n,sizes:PI}),"&::placeholder":{opacity:1,color:t?e.colors.red[e.fn.primaryShade()]:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]},"&:disabled":{cursor:"not-allowed",pointerEvents:"none"}}),searchInputEmpty:{width:"100%"},searchInputInputHidden:{flex:0,width:0,minWidth:0,margin:0,overflow:"hidden"},searchInputPointer:{cursor:"pointer","&:disabled":{cursor:"not-allowed",pointerEvents:"none"}},input:{cursor:"pointer","&:disabled":{cursor:"not-allowed",pointerEvents:"none"}}}));const jX=PX;var IX=Object.defineProperty,EX=Object.defineProperties,OX=Object.getOwnPropertyDescriptors,Wh=Object.getOwnPropertySymbols,NI=Object.prototype.hasOwnProperty,$I=Object.prototype.propertyIsEnumerable,k4=(e,t,n)=>t in e?IX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Vl=(e,t)=>{for(var n in t||(t={}))NI.call(t,n)&&k4(e,n,t[n]);if(Wh)for(var n of Wh(t))$I.call(t,n)&&k4(e,n,t[n]);return e},_4=(e,t)=>EX(e,OX(t)),RX=(e,t)=>{var n={};for(var r in e)NI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Wh)for(var r of Wh(e))t.indexOf(r)<0&&$I.call(e,r)&&(n[r]=e[r]);return n};function MX(e,t,n){return t?!1:n.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function DX(e,t){return!!e&&!t.some(n=>n.value.toLowerCase()===e.toLowerCase())}function P4(e,t){if(!Array.isArray(e))return;if(t.length===0)return[];const n=t.map(r=>typeof r=="object"?r.value:r);return e.filter(r=>n.includes(r))}const AX={size:"sm",valueComponent:EI,itemComponent:ay,transitionProps:{transition:"fade",duration:0},maxDropdownHeight:220,shadow:"sm",searchable:!1,filter:MX,limit:1/0,clearSearchOnChange:!0,clearable:!1,clearSearchOnBlur:!1,disabled:!1,initiallyOpened:!1,creatable:!1,shouldCreate:DX,switchDirectionOnFlip:!1,zIndex:ny("popover"),selectOnBlur:!1,positionDependencies:[],dropdownPosition:"flip"},LI=f.forwardRef((e,t)=>{const n=Cr("MultiSelect",AX,e),{className:r,style:o,required:s,label:a,description:c,size:d,error:p,classNames:h,styles:m,wrapperProps:v,value:b,defaultValue:w,data:y,onChange:S,valueComponent:k,itemComponent:_,id:P,transitionProps:I,maxDropdownHeight:E,shadow:O,nothingFound:R,onFocus:M,onBlur:D,searchable:A,placeholder:L,filter:Q,limit:F,clearSearchOnChange:V,clearable:q,clearSearchOnBlur:G,variant:T,onSearchChange:z,searchValue:$,disabled:Y,initiallyOpened:ae,radius:fe,icon:ie,rightSection:X,rightSectionWidth:K,creatable:U,getCreateLabel:se,shouldCreate:re,onCreate:oe,sx:pe,dropdownComponent:le,onDropdownClose:ge,onDropdownOpen:ke,maxSelectedValues:xe,withinPortal:de,portalProps:Te,switchDirectionOnFlip:Ee,zIndex:$e,selectOnBlur:kt,name:ct,dropdownPosition:on,errorProps:vt,labelProps:bt,descriptionProps:Se,form:Me,positionDependencies:Pt,onKeyDown:Tt,unstyled:we,inputContainer:ht,inputWrapperOrder:$t,readOnly:Lt,withAsterisk:Le,clearButtonProps:Ge,hoverOnSearchChange:Pn,disableSelectedItemFiltering:Pe}=n,Ye=RX(n,["className","style","required","label","description","size","error","classNames","styles","wrapperProps","value","defaultValue","data","onChange","valueComponent","itemComponent","id","transitionProps","maxDropdownHeight","shadow","nothingFound","onFocus","onBlur","searchable","placeholder","filter","limit","clearSearchOnChange","clearable","clearSearchOnBlur","variant","onSearchChange","searchValue","disabled","initiallyOpened","radius","icon","rightSection","rightSectionWidth","creatable","getCreateLabel","shouldCreate","onCreate","sx","dropdownComponent","onDropdownClose","onDropdownOpen","maxSelectedValues","withinPortal","portalProps","switchDirectionOnFlip","zIndex","selectOnBlur","name","dropdownPosition","errorProps","labelProps","descriptionProps","form","positionDependencies","onKeyDown","unstyled","inputContainer","inputWrapperOrder","readOnly","withAsterisk","clearButtonProps","hoverOnSearchChange","disableSelectedItemFiltering"]),{classes:Ke,cx:dt,theme:zt}=jX({invalid:!!p},{name:"MultiSelect",classNames:h,styles:m,unstyled:we,size:d,variant:T}),{systemStyles:lr,rest:pn}=$m(Ye),ln=f.useRef(),Hr=f.useRef({}),xr=oy(P),[Fn,Hn]=f.useState(ae),[Wn,Nr]=f.useState(-1),[Do,Wr]=f.useState("column"),[Vr,ds]=cd({value:$,defaultValue:"",finalValue:void 0,onChange:z}),[$r,$s]=f.useState(!1),{scrollIntoView:fs,targetRef:da,scrollableRef:Ls}=MP({duration:0,offset:5,cancelable:!1,isList:!0}),J=U&&typeof se=="function";let ee=null;const he=y.map(Be=>typeof Be=="string"?{label:Be,value:Be}:Be),_e=wP({data:he}),[me,ut]=cd({value:P4(b,y),defaultValue:P4(w,y),finalValue:[],onChange:S}),ot=f.useRef(!!xe&&xe{if(!Lt){const yt=me.filter(Mt=>Mt!==Be);ut(yt),xe&&yt.length{ds(Be.currentTarget.value),!Y&&!ot.current&&A&&Hn(!0)},xt=Be=>{typeof M=="function"&&M(Be),!Y&&!ot.current&&A&&Hn(!0)},He=rX({data:_e,searchable:A,searchValue:Vr,limit:F,filter:Q,value:me,disableSelectedItemFiltering:Pe});J&&re(Vr,_e)&&(ee=se(Vr),He.push({label:Vr,value:Vr,creatable:!0}));const Ce=Math.min(Wn,He.length-1),Xe=(Be,yt,Mt)=>{let Wt=Be;for(;Mt(Wt);)if(Wt=yt(Wt),!He[Wt].disabled)return Wt;return Be};ks(()=>{Nr(Pn&&Vr?0:-1)},[Vr,Pn]),ks(()=>{!Y&&me.length>y.length&&Hn(!1),xe&&me.length=xe&&(ot.current=!0,Hn(!1))},[me]);const jt=Be=>{if(!Lt)if(V&&ds(""),me.includes(Be.value))Ht(Be.value);else{if(Be.creatable&&typeof oe=="function"){const yt=oe(Be.value);typeof yt<"u"&&yt!==null&&ut(typeof yt=="string"?[...me,yt]:[...me,yt.value])}else ut([...me,Be.value]);me.length===xe-1&&(ot.current=!0,Hn(!1)),He.length===1&&Hn(!1)}},Et=Be=>{typeof D=="function"&&D(Be),kt&&He[Ce]&&Fn&&jt(He[Ce]),G&&ds(""),Hn(!1)},Nt=Be=>{if($r||(Tt==null||Tt(Be),Lt)||Be.key!=="Backspace"&&xe&&ot.current)return;const yt=Do==="column",Mt=()=>{Nr(jn=>{var Gt;const un=Xe(jn,sn=>sn+1,sn=>sn{Nr(jn=>{var Gt;const un=Xe(jn,sn=>sn-1,sn=>sn>0);return Fn&&(da.current=Hr.current[(Gt=He[un])==null?void 0:Gt.value],fs({alignment:yt?"start":"end"})),un})};switch(Be.key){case"ArrowUp":{Be.preventDefault(),Hn(!0),yt?Wt():Mt();break}case"ArrowDown":{Be.preventDefault(),Hn(!0),yt?Mt():Wt();break}case"Enter":{Be.preventDefault(),He[Ce]&&Fn?jt(He[Ce]):Hn(!0);break}case" ":{A||(Be.preventDefault(),He[Ce]&&Fn?jt(He[Ce]):Hn(!0));break}case"Backspace":{me.length>0&&Vr.length===0&&(ut(me.slice(0,-1)),Hn(!0),xe&&(ot.current=!1));break}case"Home":{if(!A){Be.preventDefault(),Fn||Hn(!0);const jn=He.findIndex(Gt=>!Gt.disabled);Nr(jn),fs({alignment:yt?"end":"start"})}break}case"End":{if(!A){Be.preventDefault(),Fn||Hn(!0);const jn=He.map(Gt=>!!Gt.disabled).lastIndexOf(!1);Nr(jn),fs({alignment:yt?"end":"start"})}break}case"Escape":Hn(!1)}},qt=me.map(Be=>{let yt=_e.find(Mt=>Mt.value===Be&&!Mt.disabled);return!yt&&J&&(yt={value:Be,label:Be}),yt}).filter(Be=>!!Be).map((Be,yt)=>H.createElement(k,_4(Vl({},Be),{variant:T,disabled:Y,className:Ke.value,readOnly:Lt,onRemove:Mt=>{Mt.preventDefault(),Mt.stopPropagation(),Ht(Be.value)},key:Be.value,size:d,styles:m,classNames:h,radius:fe,index:yt}))),tn=Be=>me.includes(Be),en=()=>{var Be;ds(""),ut([]),(Be=ln.current)==null||Be.focus(),xe&&(ot.current=!1)},Ut=!Lt&&(He.length>0?Fn:Fn&&!!R);return ks(()=>{const Be=Ut?ke:ge;typeof Be=="function"&&Be()},[Ut]),H.createElement(Ec.Wrapper,Vl(Vl({required:s,id:xr,label:a,error:p,description:c,size:d,className:r,style:o,classNames:h,styles:m,__staticSelector:"MultiSelect",sx:pe,errorProps:vt,descriptionProps:Se,labelProps:bt,inputContainer:ht,inputWrapperOrder:$t,unstyled:we,withAsterisk:Le,variant:T},lr),v),H.createElement(pi,{opened:Ut,transitionProps:I,shadow:"sm",withinPortal:de,portalProps:Te,__staticSelector:"MultiSelect",onDirectionChange:Wr,switchDirectionOnFlip:Ee,zIndex:$e,dropdownPosition:on,positionDependencies:[...Pt,Vr],classNames:h,styles:m,unstyled:we,variant:T},H.createElement(pi.Target,null,H.createElement("div",{className:Ke.wrapper,role:"combobox","aria-haspopup":"listbox","aria-owns":Fn&&Ut?`${xr}-items`:null,"aria-controls":xr,"aria-expanded":Fn,onMouseLeave:()=>Nr(-1),tabIndex:-1},H.createElement("input",{type:"hidden",name:ct,value:me.join(","),form:Me,disabled:Y}),H.createElement(Ec,Vl({__staticSelector:"MultiSelect",style:{overflow:"hidden"},component:"div",multiline:!0,size:d,variant:T,disabled:Y,error:p,required:s,radius:fe,icon:ie,unstyled:we,onMouseDown:Be=>{var yt;Be.preventDefault(),!Y&&!ot.current&&Hn(!Fn),(yt=ln.current)==null||yt.focus()},classNames:_4(Vl({},h),{input:dt({[Ke.input]:!A},h==null?void 0:h.input)})},TI({theme:zt,rightSection:X,rightSectionWidth:K,styles:m,size:d,shouldClear:q&&me.length>0,onClear:en,error:p,disabled:Y,clearButtonProps:Ge,readOnly:Lt})),H.createElement("div",{className:Ke.values,"data-clearable":q||void 0},qt,H.createElement("input",Vl({ref:Bd(t,ln),type:"search",id:xr,className:dt(Ke.searchInput,{[Ke.searchInputPointer]:!A,[Ke.searchInputInputHidden]:!Fn&&me.length>0||!A&&me.length>0,[Ke.searchInputEmpty]:me.length===0}),onKeyDown:Nt,value:Vr,onChange:ft,onFocus:xt,onBlur:Et,readOnly:!A||ot.current||Lt,placeholder:me.length===0?L:void 0,disabled:Y,"data-mantine-stop-propagation":Fn,autoComplete:"off",onCompositionStart:()=>$s(!0),onCompositionEnd:()=>$s(!1)},pn)))))),H.createElement(pi.Dropdown,{component:le||Fm,maxHeight:E,direction:Do,id:xr,innerRef:Ls,__staticSelector:"MultiSelect",classNames:h,styles:m},H.createElement(sy,{data:He,hovered:Ce,classNames:h,styles:m,uuid:xr,__staticSelector:"MultiSelect",onItemHover:Nr,onItemSelect:jt,itemsRefs:Hr,itemComponent:_,size:d,nothingFound:R,isItemSelected:tn,creatable:U&&!!ee,createLabel:ee,unstyled:we,variant:T}))))});LI.displayName="@mantine/core/MultiSelect";var TX=Object.defineProperty,NX=Object.defineProperties,$X=Object.getOwnPropertyDescriptors,Vh=Object.getOwnPropertySymbols,zI=Object.prototype.hasOwnProperty,BI=Object.prototype.propertyIsEnumerable,j4=(e,t,n)=>t in e?TX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Q0=(e,t)=>{for(var n in t||(t={}))zI.call(t,n)&&j4(e,n,t[n]);if(Vh)for(var n of Vh(t))BI.call(t,n)&&j4(e,n,t[n]);return e},LX=(e,t)=>NX(e,$X(t)),zX=(e,t)=>{var n={};for(var r in e)zI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Vh)for(var r of Vh(e))t.indexOf(r)<0&&BI.call(e,r)&&(n[r]=e[r]);return n};const BX={type:"text",size:"sm",__staticSelector:"TextInput"},FI=f.forwardRef((e,t)=>{const n=iI("TextInput",BX,e),{inputProps:r,wrapperProps:o}=n,s=zX(n,["inputProps","wrapperProps"]);return H.createElement(Ec.Wrapper,Q0({},o),H.createElement(Ec,LX(Q0(Q0({},r),s),{ref:t})))});FI.displayName="@mantine/core/TextInput";function FX({data:e,searchable:t,limit:n,searchValue:r,filter:o,value:s,filterDataOnExactSearchMatch:a}){if(!t)return e;const c=s!=null&&e.find(p=>p.value===s)||null;if(c&&!a&&(c==null?void 0:c.label)===r){if(n){if(n>=e.length)return e;const p=e.indexOf(c),h=p+n,m=h-e.length;return m>0?e.slice(p-m):e.slice(p,h)}return e}const d=[];for(let p=0;p=n));p+=1);return d}var HX=so(()=>({input:{"&:not(:disabled)":{cursor:"pointer","&::selection":{backgroundColor:"transparent"}}}}));const WX=HX;var VX=Object.defineProperty,UX=Object.defineProperties,GX=Object.getOwnPropertyDescriptors,Uh=Object.getOwnPropertySymbols,HI=Object.prototype.hasOwnProperty,WI=Object.prototype.propertyIsEnumerable,I4=(e,t,n)=>t in e?VX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,yu=(e,t)=>{for(var n in t||(t={}))HI.call(t,n)&&I4(e,n,t[n]);if(Uh)for(var n of Uh(t))WI.call(t,n)&&I4(e,n,t[n]);return e},J0=(e,t)=>UX(e,GX(t)),qX=(e,t)=>{var n={};for(var r in e)HI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Uh)for(var r of Uh(e))t.indexOf(r)<0&&WI.call(e,r)&&(n[r]=e[r]);return n};function KX(e,t){return t.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function XX(e,t){return!!e&&!t.some(n=>n.label.toLowerCase()===e.toLowerCase())}const YX={required:!1,size:"sm",shadow:"sm",itemComponent:ay,transitionProps:{transition:"fade",duration:0},initiallyOpened:!1,filter:KX,maxDropdownHeight:220,searchable:!1,clearable:!1,limit:1/0,disabled:!1,creatable:!1,shouldCreate:XX,selectOnBlur:!1,switchDirectionOnFlip:!1,filterDataOnExactSearchMatch:!1,zIndex:ny("popover"),positionDependencies:[],dropdownPosition:"flip"},gy=f.forwardRef((e,t)=>{const n=iI("Select",YX,e),{inputProps:r,wrapperProps:o,shadow:s,data:a,value:c,defaultValue:d,onChange:p,itemComponent:h,onKeyDown:m,onBlur:v,onFocus:b,transitionProps:w,initiallyOpened:y,unstyled:S,classNames:k,styles:_,filter:P,maxDropdownHeight:I,searchable:E,clearable:O,nothingFound:R,limit:M,disabled:D,onSearchChange:A,searchValue:L,rightSection:Q,rightSectionWidth:F,creatable:V,getCreateLabel:q,shouldCreate:G,selectOnBlur:T,onCreate:z,dropdownComponent:$,onDropdownClose:Y,onDropdownOpen:ae,withinPortal:fe,portalProps:ie,switchDirectionOnFlip:X,zIndex:K,name:U,dropdownPosition:se,allowDeselect:re,placeholder:oe,filterDataOnExactSearchMatch:pe,form:le,positionDependencies:ge,readOnly:ke,clearButtonProps:xe,hoverOnSearchChange:de}=n,Te=qX(n,["inputProps","wrapperProps","shadow","data","value","defaultValue","onChange","itemComponent","onKeyDown","onBlur","onFocus","transitionProps","initiallyOpened","unstyled","classNames","styles","filter","maxDropdownHeight","searchable","clearable","nothingFound","limit","disabled","onSearchChange","searchValue","rightSection","rightSectionWidth","creatable","getCreateLabel","shouldCreate","selectOnBlur","onCreate","dropdownComponent","onDropdownClose","onDropdownOpen","withinPortal","portalProps","switchDirectionOnFlip","zIndex","name","dropdownPosition","allowDeselect","placeholder","filterDataOnExactSearchMatch","form","positionDependencies","readOnly","clearButtonProps","hoverOnSearchChange"]),{classes:Ee,cx:$e,theme:kt}=WX(),[ct,on]=f.useState(y),[vt,bt]=f.useState(-1),Se=f.useRef(),Me=f.useRef({}),[Pt,Tt]=f.useState("column"),we=Pt==="column",{scrollIntoView:ht,targetRef:$t,scrollableRef:Lt}=MP({duration:0,offset:5,cancelable:!1,isList:!0}),Le=re===void 0?O:re,Ge=ee=>{if(ct!==ee){on(ee);const he=ee?ae:Y;typeof he=="function"&&he()}},Pn=V&&typeof q=="function";let Pe=null;const Ye=a.map(ee=>typeof ee=="string"?{label:ee,value:ee}:ee),Ke=wP({data:Ye}),[dt,zt,lr]=cd({value:c,defaultValue:d,finalValue:null,onChange:p}),pn=Ke.find(ee=>ee.value===dt),[ln,Hr]=cd({value:L,defaultValue:(pn==null?void 0:pn.label)||"",finalValue:void 0,onChange:A}),xr=ee=>{Hr(ee),E&&typeof A=="function"&&A(ee)},Fn=()=>{var ee;ke||(zt(null),lr||xr(""),(ee=Se.current)==null||ee.focus())};f.useEffect(()=>{const ee=Ke.find(he=>he.value===dt);ee?xr(ee.label):(!Pn||!dt)&&xr("")},[dt]),f.useEffect(()=>{pn&&(!E||!ct)&&xr(pn.label)},[pn==null?void 0:pn.label]);const Hn=ee=>{if(!ke)if(Le&&(pn==null?void 0:pn.value)===ee.value)zt(null),Ge(!1);else{if(ee.creatable&&typeof z=="function"){const he=z(ee.value);typeof he<"u"&&he!==null&&zt(typeof he=="string"?he:he.value)}else zt(ee.value);lr||xr(ee.label),bt(-1),Ge(!1),Se.current.focus()}},Wn=FX({data:Ke,searchable:E,limit:M,searchValue:ln,filter:P,filterDataOnExactSearchMatch:pe,value:dt});Pn&&G(ln,Wn)&&(Pe=q(ln),Wn.push({label:ln,value:ln,creatable:!0}));const Nr=(ee,he,_e)=>{let me=ee;for(;_e(me);)if(me=he(me),!Wn[me].disabled)return me;return ee};ks(()=>{bt(de&&ln?0:-1)},[ln,de]);const Do=dt?Wn.findIndex(ee=>ee.value===dt):0,Wr=!ke&&(Wn.length>0?ct:ct&&!!R),Vr=()=>{bt(ee=>{var he;const _e=Nr(ee,me=>me-1,me=>me>0);return $t.current=Me.current[(he=Wn[_e])==null?void 0:he.value],Wr&&ht({alignment:we?"start":"end"}),_e})},ds=()=>{bt(ee=>{var he;const _e=Nr(ee,me=>me+1,me=>mewindow.setTimeout(()=>{var ee;$t.current=Me.current[(ee=Wn[Do])==null?void 0:ee.value],ht({alignment:we?"end":"start"})},50);ks(()=>{Wr&&$r()},[Wr]);const $s=ee=>{switch(typeof m=="function"&&m(ee),ee.key){case"ArrowUp":{ee.preventDefault(),ct?we?Vr():ds():(bt(Do),Ge(!0),$r());break}case"ArrowDown":{ee.preventDefault(),ct?we?ds():Vr():(bt(Do),Ge(!0),$r());break}case"Home":{if(!E){ee.preventDefault(),ct||Ge(!0);const he=Wn.findIndex(_e=>!_e.disabled);bt(he),Wr&&ht({alignment:we?"end":"start"})}break}case"End":{if(!E){ee.preventDefault(),ct||Ge(!0);const he=Wn.map(_e=>!!_e.disabled).lastIndexOf(!1);bt(he),Wr&&ht({alignment:we?"end":"start"})}break}case"Escape":{ee.preventDefault(),Ge(!1),bt(-1);break}case" ":{E||(ee.preventDefault(),Wn[vt]&&ct?Hn(Wn[vt]):(Ge(!0),bt(Do),$r()));break}case"Enter":E||ee.preventDefault(),Wn[vt]&&ct&&(ee.preventDefault(),Hn(Wn[vt]))}},fs=ee=>{typeof v=="function"&&v(ee);const he=Ke.find(_e=>_e.value===dt);T&&Wn[vt]&&ct&&Hn(Wn[vt]),xr((he==null?void 0:he.label)||""),Ge(!1)},da=ee=>{typeof b=="function"&&b(ee),E&&Ge(!0)},Ls=ee=>{ke||(xr(ee.currentTarget.value),O&&ee.currentTarget.value===""&&zt(null),bt(-1),Ge(!0))},J=()=>{ke||(Ge(!ct),dt&&!ct&&bt(Do))};return H.createElement(Ec.Wrapper,J0(yu({},o),{__staticSelector:"Select"}),H.createElement(pi,{opened:Wr,transitionProps:w,shadow:s,withinPortal:fe,portalProps:ie,__staticSelector:"Select",onDirectionChange:Tt,switchDirectionOnFlip:X,zIndex:K,dropdownPosition:se,positionDependencies:[...ge,ln],classNames:k,styles:_,unstyled:S,variant:r.variant},H.createElement(pi.Target,null,H.createElement("div",{role:"combobox","aria-haspopup":"listbox","aria-owns":Wr?`${r.id}-items`:null,"aria-controls":r.id,"aria-expanded":Wr,onMouseLeave:()=>bt(-1),tabIndex:-1},H.createElement("input",{type:"hidden",name:U,value:dt||"",form:le,disabled:D}),H.createElement(Ec,yu(J0(yu(yu({autoComplete:"off",type:"search"},r),Te),{ref:Bd(t,Se),onKeyDown:$s,__staticSelector:"Select",value:ln,placeholder:oe,onChange:Ls,"aria-autocomplete":"list","aria-controls":Wr?`${r.id}-items`:null,"aria-activedescendant":vt>=0?`${r.id}-${vt}`:null,onMouseDown:J,onBlur:fs,onFocus:da,readOnly:!E||ke,disabled:D,"data-mantine-stop-propagation":Wr,name:null,classNames:J0(yu({},k),{input:$e({[Ee.input]:!E},k==null?void 0:k.input)})}),TI({theme:kt,rightSection:Q,rightSectionWidth:F,styles:_,size:r.size,shouldClear:O&&!!pn,onClear:Fn,error:o.error,clearButtonProps:xe,disabled:D,readOnly:ke}))))),H.createElement(pi.Dropdown,{component:$||Fm,maxHeight:I,direction:Pt,id:r.id,innerRef:Lt,__staticSelector:"Select",classNames:k,styles:_},H.createElement(sy,{data:Wn,hovered:vt,classNames:k,styles:_,isItemSelected:ee=>ee===dt,uuid:r.id,__staticSelector:"Select",onItemHover:bt,onItemSelect:Hn,itemsRefs:Me,itemComponent:h,size:r.size,nothingFound:R,creatable:Pn&&!!Pe,createLabel:Pe,"aria-label":o.label,unstyled:S,variant:r.variant}))))});gy.displayName="@mantine/core/Select";const vy=()=>{const[e,t,n,r,o,s,a,c,d,p,h,m,v,b,w,y,S,k,_,P,I,E,O,R,M,D,A,L,Q,F,V,q,G,T,z,$,Y,ae]=$c("colors",["base.50","base.100","base.150","base.200","base.250","base.300","base.350","base.400","base.450","base.500","base.550","base.600","base.650","base.700","base.750","base.800","base.850","base.900","base.950","accent.50","accent.100","accent.150","accent.200","accent.250","accent.300","accent.350","accent.400","accent.450","accent.500","accent.550","accent.600","accent.650","accent.700","accent.750","accent.800","accent.850","accent.900","accent.950"]);return{base50:e,base100:t,base150:n,base200:r,base250:o,base300:s,base350:a,base400:c,base450:d,base500:p,base550:h,base600:m,base650:v,base700:b,base750:w,base800:y,base850:S,base900:k,base950:_,accent50:P,accent100:I,accent150:E,accent200:O,accent250:R,accent300:M,accent350:D,accent400:A,accent450:L,accent500:Q,accent550:F,accent600:V,accent650:q,accent700:G,accent750:T,accent800:z,accent850:$,accent900:Y,accent950:ae}},Fe=(e,t)=>n=>n==="light"?e:t,VI=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:a,base700:c,base800:d,base900:p,accent200:h,accent300:m,accent400:v,accent500:b,accent600:w}=vy(),{colorMode:y}=Ds(),[S]=$c("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:Fe(c,r)(y)},separatorLabel:{color:Fe(s,s)(y),"::after":{borderTopColor:Fe(r,c)(y)}},input:{backgroundColor:Fe(e,p)(y),borderWidth:"2px",borderColor:Fe(n,d)(y),color:Fe(p,t)(y),paddingRight:24,fontWeight:600,"&:hover":{borderColor:Fe(r,a)(y)},"&:focus":{borderColor:Fe(m,w)(y)},"&:is(:focus, :hover)":{borderColor:Fe(o,s)(y)},"&:focus-within":{borderColor:Fe(h,w)(y)},"&[data-disabled]":{backgroundColor:Fe(r,c)(y),color:Fe(a,o)(y),cursor:"not-allowed"}},value:{backgroundColor:Fe(t,p)(y),color:Fe(p,t)(y),button:{color:Fe(p,t)(y)},"&:hover":{backgroundColor:Fe(r,c)(y),cursor:"pointer"}},dropdown:{backgroundColor:Fe(n,d)(y),borderColor:Fe(n,d)(y),boxShadow:S},item:{backgroundColor:Fe(n,d)(y),color:Fe(d,n)(y),padding:6,"&[data-hovered]":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)},"&[data-active]":{backgroundColor:Fe(r,c)(y),"&:hover":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)}},"&[data-selected]":{backgroundColor:Fe(v,w)(y),color:Fe(e,t)(y),fontWeight:600,"&:hover":{backgroundColor:Fe(b,b)(y),color:Fe("white",e)(y)}},"&[data-disabled]":{color:Fe(s,a)(y),cursor:"not-allowed"}},rightSection:{width:32,button:{color:Fe(p,t)(y)}}}),[h,m,v,b,w,t,n,r,o,e,s,a,c,d,p,S,y])},QX=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,onChange:o,label:s,disabled:a,...c}=e,d=te(),[p,h]=f.useState(""),m=f.useCallback(y=>{y.shiftKey&&d(jo(!0))},[d]),v=f.useCallback(y=>{y.shiftKey||d(jo(!1))},[d]),b=f.useCallback(y=>{o&&o(y)},[o]),w=VI();return i.jsx(vn,{label:n,placement:"top",hasArrow:!0,children:i.jsx(gy,{ref:r,label:s?i.jsx(go,{isDisabled:a,children:i.jsx(Bo,{children:s})}):void 0,disabled:a,searchValue:p,onSearchChange:h,onChange:b,onKeyDown:m,onKeyUp:v,searchable:t,maxDropdownHeight:300,styles:w,...c})})},ar=f.memo(QX),JX=be([lt],({changeBoardModal:e})=>{const{isModalOpen:t,imagesToChange:n}=e;return{isModalOpen:t,imagesToChange:n}},Je),ZX=()=>{const e=te(),[t,n]=f.useState(),{data:r,isFetching:o}=um(),{imagesToChange:s,isModalOpen:a}=B(JX),[c]=KR(),[d]=XR(),p=f.useMemo(()=>{const b=[{label:"Uncategorized",value:"none"}];return(r??[]).forEach(w=>b.push({label:w.board_name,value:w.board_id})),b},[r]),h=f.useCallback(()=>{e(K2()),e(Q1(!1))},[e]),m=f.useCallback(()=>{!s.length||!t||(t==="none"?d({imageDTOs:s}):c({imageDTOs:s,board_id:t}),n(null),e(K2()))},[c,e,s,d,t]),v=f.useRef(null);return i.jsx(Ad,{isOpen:a,onClose:h,leastDestructiveRef:v,isCentered:!0,children:i.jsx(Aa,{children:i.jsxs(Td,{children:[i.jsx(Da,{fontSize:"lg",fontWeight:"bold",children:"Change Board"}),i.jsx(Ta,{children:i.jsxs(W,{sx:{flexDir:"column",gap:4},children:[i.jsxs(Qe,{children:["Moving ",`${s.length}`," image",`${s.length>1?"s":""}`," to board:"]}),i.jsx(ar,{placeholder:o?"Loading...":"Select Board",disabled:o,onChange:b=>n(b),value:t,data:p})]})}),i.jsxs(Ma,{children:[i.jsx(Yt,{ref:v,onClick:h,children:"Cancel"}),i.jsx(Yt,{colorScheme:"accent",onClick:m,ml:3,children:"Move"})]})]})})})},eY=f.memo(ZX),tY=e=>{const{label:t,isDisabled:n=!1,width:r="auto",formControlProps:o,formLabelProps:s,tooltip:a,...c}=e;return i.jsx(vn,{label:a,hasArrow:!0,placement:"top",isDisabled:!a,children:i.jsxs(go,{isDisabled:n,width:r,display:"flex",alignItems:"center",...o,children:[t&&i.jsx(Bo,{my:1,flexGrow:1,sx:{cursor:n?"not-allowed":"pointer",...s==null?void 0:s.sx,pe:4},...s,children:t}),i.jsx(Jb,{...c})]})})},yr=f.memo(tY),nY=e=>{const{imageUsage:t,topMessage:n="This image is currently in use in the following features:",bottomMessage:r="If you delete this image, those features will immediately be reset."}=e;return!t||!wa(t)?null:i.jsxs(i.Fragment,{children:[i.jsx(Qe,{children:n}),i.jsxs(Db,{sx:{paddingInlineStart:6},children:[t.isInitialImage&&i.jsx(Sa,{children:"Image to Image"}),t.isCanvasImage&&i.jsx(Sa,{children:"Unified Canvas"}),t.isControlNetImage&&i.jsx(Sa,{children:"ControlNet"}),t.isNodesImage&&i.jsx(Sa,{children:"Node Editor"})]}),i.jsx(Qe,{children:r})]})},UI=f.memo(nY),rY=be([lt,YR],(e,t)=>{const{system:n,config:r,deleteImageModal:o}=e,{shouldConfirmOnDelete:s}=n,{canRestoreDeletedImagesFromBin:a}=r,{imagesToDelete:c,isModalOpen:d}=o,p=(c??[]).map(({image_name:m})=>L_(e,m)),h={isInitialImage:wa(p,m=>m.isInitialImage),isCanvasImage:wa(p,m=>m.isCanvasImage),isNodesImage:wa(p,m=>m.isNodesImage),isControlNetImage:wa(p,m=>m.isControlNetImage)};return{shouldConfirmOnDelete:s,canRestoreDeletedImagesFromBin:a,imagesToDelete:c,imagesUsage:t,isModalOpen:d,imageUsageSummary:h}},Je),oY=()=>{const e=te(),{t}=ye(),{shouldConfirmOnDelete:n,canRestoreDeletedImagesFromBin:r,imagesToDelete:o,imagesUsage:s,isModalOpen:a,imageUsageSummary:c}=B(rY),d=f.useCallback(v=>e(z_(!v.target.checked)),[e]),p=f.useCallback(()=>{e(X2()),e(QR(!1))},[e]),h=f.useCallback(()=>{!o.length||!s.length||(e(X2()),e(JR({imageDTOs:o,imagesUsage:s})))},[e,o,s]),m=f.useRef(null);return i.jsx(Ad,{isOpen:a,onClose:p,leastDestructiveRef:m,isCentered:!0,children:i.jsx(Aa,{children:i.jsxs(Td,{children:[i.jsx(Da,{fontSize:"lg",fontWeight:"bold",children:t("gallery.deleteImage")}),i.jsx(Ta,{children:i.jsxs(W,{direction:"column",gap:3,children:[i.jsx(UI,{imageUsage:c}),i.jsx(_i,{}),i.jsx(Qe,{children:t(r?"gallery.deleteImageBin":"gallery.deleteImagePermanent")}),i.jsx(Qe,{children:t("common.areYouSure")}),i.jsx(yr,{label:t("common.dontAskMeAgain"),isChecked:!n,onChange:d})]})}),i.jsxs(Ma,{children:[i.jsx(Yt,{ref:m,onClick:p,children:"Cancel"}),i.jsx(Yt,{colorScheme:"error",onClick:h,ml:3,children:"Delete"})]})]})})})},sY=f.memo(oY),mn=e=>e.canvas,ir=be([mn,Kn,vo],(e,t,n)=>e.layerState.stagingArea.images.length>0||t==="unifiedCanvas"&&n.isProcessing),aY=e=>e.canvas.layerState.objects.find(B_),iY=d9(e=>{e(F_(!0))},300),ko=()=>(e,t)=>{Kn(t())==="unifiedCanvas"&&iY(e)};var lY=globalThis&&globalThis.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,o){r.__proto__=o}||function(r,o){for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(r[s]=o[s])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),Pr=globalThis&&globalThis.__assign||function(){return Pr=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"u"?void 0:Number(r),maxHeight:typeof o>"u"?void 0:Number(o),minWidth:typeof s>"u"?void 0:Number(s),minHeight:typeof a>"u"?void 0:Number(a)}},mY=["as","style","className","grid","snap","bounds","boundsByDirection","size","defaultSize","minWidth","minHeight","maxWidth","maxHeight","lockAspectRatio","lockAspectRatioExtraWidth","lockAspectRatioExtraHeight","enable","handleStyles","handleClasses","handleWrapperStyle","handleWrapperClass","children","onResizeStart","onResize","onResizeStop","handleComponent","scale","resizeRatio","snapGap"],D4="__resizable_base__",gY=function(e){dY(t,e);function t(n){var r=e.call(this,n)||this;return r.ratio=1,r.resizable=null,r.parentLeft=0,r.parentTop=0,r.resizableLeft=0,r.resizableRight=0,r.resizableTop=0,r.resizableBottom=0,r.targetLeft=0,r.targetTop=0,r.appendBase=function(){if(!r.resizable||!r.window)return null;var o=r.parentNode;if(!o)return null;var s=r.window.document.createElement("div");return s.style.width="100%",s.style.height="100%",s.style.position="absolute",s.style.transform="scale(0, 0)",s.style.left="0",s.style.flex="0 0 100%",s.classList?s.classList.add(D4):s.className+=D4,o.appendChild(s),s},r.removeBase=function(o){var s=r.parentNode;s&&s.removeChild(o)},r.ref=function(o){o&&(r.resizable=o)},r.state={isResizing:!1,width:typeof(r.propsSize&&r.propsSize.width)>"u"?"auto":r.propsSize&&r.propsSize.width,height:typeof(r.propsSize&&r.propsSize.height)>"u"?"auto":r.propsSize&&r.propsSize.height,direction:"right",original:{x:0,y:0,width:0,height:0},backgroundStyle:{height:"100%",width:"100%",backgroundColor:"rgba(0,0,0,0)",cursor:"auto",opacity:0,position:"fixed",zIndex:9999,top:"0",left:"0",bottom:"0",right:"0"},flexBasis:void 0},r.onResizeStart=r.onResizeStart.bind(r),r.onMouseMove=r.onMouseMove.bind(r),r.onMouseUp=r.onMouseUp.bind(r),r}return Object.defineProperty(t.prototype,"parentNode",{get:function(){return this.resizable?this.resizable.parentNode:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"window",{get:function(){return!this.resizable||!this.resizable.ownerDocument?null:this.resizable.ownerDocument.defaultView},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"propsSize",{get:function(){return this.props.size||this.props.defaultSize||fY},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){var n=0,r=0;if(this.resizable&&this.window){var o=this.resizable.offsetWidth,s=this.resizable.offsetHeight,a=this.resizable.style.position;a!=="relative"&&(this.resizable.style.position="relative"),n=this.resizable.style.width!=="auto"?this.resizable.offsetWidth:o,r=this.resizable.style.height!=="auto"?this.resizable.offsetHeight:s,this.resizable.style.position=a}return{width:n,height:r}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"sizeStyle",{get:function(){var n=this,r=this.props.size,o=function(c){if(typeof n.state[c]>"u"||n.state[c]==="auto")return"auto";if(n.propsSize&&n.propsSize[c]&&n.propsSize[c].toString().endsWith("%")){if(n.state[c].toString().endsWith("%"))return n.state[c].toString();var d=n.getParentSize(),p=Number(n.state[c].toString().replace("px","")),h=p/d[c]*100;return h+"%"}return Z0(n.state[c])},s=r&&typeof r.width<"u"&&!this.state.isResizing?Z0(r.width):o("width"),a=r&&typeof r.height<"u"&&!this.state.isResizing?Z0(r.height):o("height");return{width:s,height:a}},enumerable:!1,configurable:!0}),t.prototype.getParentSize=function(){if(!this.parentNode)return this.window?{width:this.window.innerWidth,height:this.window.innerHeight}:{width:0,height:0};var n=this.appendBase();if(!n)return{width:0,height:0};var r=!1,o=this.parentNode.style.flexWrap;o!=="wrap"&&(r=!0,this.parentNode.style.flexWrap="wrap"),n.style.position="relative",n.style.minWidth="100%",n.style.minHeight="100%";var s={width:n.offsetWidth,height:n.offsetHeight};return r&&(this.parentNode.style.flexWrap=o),this.removeBase(n),s},t.prototype.bindEvents=function(){this.window&&(this.window.addEventListener("mouseup",this.onMouseUp),this.window.addEventListener("mousemove",this.onMouseMove),this.window.addEventListener("mouseleave",this.onMouseUp),this.window.addEventListener("touchmove",this.onMouseMove,{capture:!0,passive:!1}),this.window.addEventListener("touchend",this.onMouseUp))},t.prototype.unbindEvents=function(){this.window&&(this.window.removeEventListener("mouseup",this.onMouseUp),this.window.removeEventListener("mousemove",this.onMouseMove),this.window.removeEventListener("mouseleave",this.onMouseUp),this.window.removeEventListener("touchmove",this.onMouseMove,!0),this.window.removeEventListener("touchend",this.onMouseUp))},t.prototype.componentDidMount=function(){if(!(!this.resizable||!this.window)){var n=this.window.getComputedStyle(this.resizable);this.setState({width:this.state.width||this.size.width,height:this.state.height||this.size.height,flexBasis:n.flexBasis!=="auto"?n.flexBasis:void 0})}},t.prototype.componentWillUnmount=function(){this.window&&this.unbindEvents()},t.prototype.createSizeForCssProperty=function(n,r){var o=this.propsSize&&this.propsSize[r];return this.state[r]==="auto"&&this.state.original[r]===n&&(typeof o>"u"||o==="auto")?"auto":n},t.prototype.calculateNewMaxFromBoundary=function(n,r){var o=this.props.boundsByDirection,s=this.state.direction,a=o&&Ul("left",s),c=o&&Ul("top",s),d,p;if(this.props.bounds==="parent"){var h=this.parentNode;h&&(d=a?this.resizableRight-this.parentLeft:h.offsetWidth+(this.parentLeft-this.resizableLeft),p=c?this.resizableBottom-this.parentTop:h.offsetHeight+(this.parentTop-this.resizableTop))}else this.props.bounds==="window"?this.window&&(d=a?this.resizableRight:this.window.innerWidth-this.resizableLeft,p=c?this.resizableBottom:this.window.innerHeight-this.resizableTop):this.props.bounds&&(d=a?this.resizableRight-this.targetLeft:this.props.bounds.offsetWidth+(this.targetLeft-this.resizableLeft),p=c?this.resizableBottom-this.targetTop:this.props.bounds.offsetHeight+(this.targetTop-this.resizableTop));return d&&Number.isFinite(d)&&(n=n&&n"u"?10:s.width,m=typeof o.width>"u"||o.width<0?n:o.width,v=typeof s.height>"u"?10:s.height,b=typeof o.height>"u"||o.height<0?r:o.height,w=d||0,y=p||0;if(c){var S=(v-w)*this.ratio+y,k=(b-w)*this.ratio+y,_=(h-y)/this.ratio+w,P=(m-y)/this.ratio+w,I=Math.max(h,S),E=Math.min(m,k),O=Math.max(v,_),R=Math.min(b,P);n=cp(n,I,E),r=cp(r,O,R)}else n=cp(n,h,m),r=cp(r,v,b);return{newWidth:n,newHeight:r}},t.prototype.setBoundingClientRect=function(){if(this.props.bounds==="parent"){var n=this.parentNode;if(n){var r=n.getBoundingClientRect();this.parentLeft=r.left,this.parentTop=r.top}}if(this.props.bounds&&typeof this.props.bounds!="string"){var o=this.props.bounds.getBoundingClientRect();this.targetLeft=o.left,this.targetTop=o.top}if(this.resizable){var s=this.resizable.getBoundingClientRect(),a=s.left,c=s.top,d=s.right,p=s.bottom;this.resizableLeft=a,this.resizableRight=d,this.resizableTop=c,this.resizableBottom=p}},t.prototype.onResizeStart=function(n,r){if(!(!this.resizable||!this.window)){var o=0,s=0;if(n.nativeEvent&&pY(n.nativeEvent)?(o=n.nativeEvent.clientX,s=n.nativeEvent.clientY):n.nativeEvent&&up(n.nativeEvent)&&(o=n.nativeEvent.touches[0].clientX,s=n.nativeEvent.touches[0].clientY),this.props.onResizeStart&&this.resizable){var a=this.props.onResizeStart(n,r,this.resizable);if(a===!1)return}this.props.size&&(typeof this.props.size.height<"u"&&this.props.size.height!==this.state.height&&this.setState({height:this.props.size.height}),typeof this.props.size.width<"u"&&this.props.size.width!==this.state.width&&this.setState({width:this.props.size.width})),this.ratio=typeof this.props.lockAspectRatio=="number"?this.props.lockAspectRatio:this.size.width/this.size.height;var c,d=this.window.getComputedStyle(this.resizable);if(d.flexBasis!=="auto"){var p=this.parentNode;if(p){var h=this.window.getComputedStyle(p).flexDirection;this.flexDir=h.startsWith("row")?"row":"column",c=d.flexBasis}}this.setBoundingClientRect(),this.bindEvents();var m={original:{x:o,y:s,width:this.size.width,height:this.size.height},isResizing:!0,backgroundStyle:qs(qs({},this.state.backgroundStyle),{cursor:this.window.getComputedStyle(n.target).cursor||"auto"}),direction:r,flexBasis:c};this.setState(m)}},t.prototype.onMouseMove=function(n){var r=this;if(!(!this.state.isResizing||!this.resizable||!this.window)){if(this.window.TouchEvent&&up(n))try{n.preventDefault(),n.stopPropagation()}catch{}var o=this.props,s=o.maxWidth,a=o.maxHeight,c=o.minWidth,d=o.minHeight,p=up(n)?n.touches[0].clientX:n.clientX,h=up(n)?n.touches[0].clientY:n.clientY,m=this.state,v=m.direction,b=m.original,w=m.width,y=m.height,S=this.getParentSize(),k=hY(S,this.window.innerWidth,this.window.innerHeight,s,a,c,d);s=k.maxWidth,a=k.maxHeight,c=k.minWidth,d=k.minHeight;var _=this.calculateNewSizeFromDirection(p,h),P=_.newHeight,I=_.newWidth,E=this.calculateNewMaxFromBoundary(s,a);this.props.snap&&this.props.snap.x&&(I=M4(I,this.props.snap.x,this.props.snapGap)),this.props.snap&&this.props.snap.y&&(P=M4(P,this.props.snap.y,this.props.snapGap));var O=this.calculateNewSizeFromAspectRatio(I,P,{width:E.maxWidth,height:E.maxHeight},{width:c,height:d});if(I=O.newWidth,P=O.newHeight,this.props.grid){var R=R4(I,this.props.grid[0]),M=R4(P,this.props.grid[1]),D=this.props.snapGap||0;I=D===0||Math.abs(R-I)<=D?R:I,P=D===0||Math.abs(M-P)<=D?M:P}var A={width:I-b.width,height:P-b.height};if(w&&typeof w=="string"){if(w.endsWith("%")){var L=I/S.width*100;I=L+"%"}else if(w.endsWith("vw")){var Q=I/this.window.innerWidth*100;I=Q+"vw"}else if(w.endsWith("vh")){var F=I/this.window.innerHeight*100;I=F+"vh"}}if(y&&typeof y=="string"){if(y.endsWith("%")){var L=P/S.height*100;P=L+"%"}else if(y.endsWith("vw")){var Q=P/this.window.innerWidth*100;P=Q+"vw"}else if(y.endsWith("vh")){var F=P/this.window.innerHeight*100;P=F+"vh"}}var V={width:this.createSizeForCssProperty(I,"width"),height:this.createSizeForCssProperty(P,"height")};this.flexDir==="row"?V.flexBasis=V.width:this.flexDir==="column"&&(V.flexBasis=V.height),ki.flushSync(function(){r.setState(V)}),this.props.onResize&&this.props.onResize(n,v,this.resizable,A)}},t.prototype.onMouseUp=function(n){var r=this.state,o=r.isResizing,s=r.direction,a=r.original;if(!(!o||!this.resizable)){var c={width:this.size.width-a.width,height:this.size.height-a.height};this.props.onResizeStop&&this.props.onResizeStop(n,s,this.resizable,c),this.props.size&&this.setState(this.props.size),this.unbindEvents(),this.setState({isResizing:!1,backgroundStyle:qs(qs({},this.state.backgroundStyle),{cursor:"auto"})})}},t.prototype.updateSize=function(n){this.setState({width:n.width,height:n.height})},t.prototype.renderResizer=function(){var n=this,r=this.props,o=r.enable,s=r.handleStyles,a=r.handleClasses,c=r.handleWrapperStyle,d=r.handleWrapperClass,p=r.handleComponent;if(!o)return null;var h=Object.keys(o).map(function(m){return o[m]!==!1?f.createElement(uY,{key:m,direction:m,onResizeStart:n.onResizeStart,replaceStyles:s&&s[m],className:a&&a[m]},p&&p[m]?p[m]:null):null});return f.createElement("div",{className:d,style:c},h)},t.prototype.render=function(){var n=this,r=Object.keys(this.props).reduce(function(a,c){return mY.indexOf(c)!==-1||(a[c]=n.props[c]),a},{}),o=qs(qs(qs({position:"relative",userSelect:this.state.isResizing?"none":"auto"},this.props.style),this.sizeStyle),{maxWidth:this.props.maxWidth,maxHeight:this.props.maxHeight,minWidth:this.props.minWidth,minHeight:this.props.minHeight,boxSizing:"border-box",flexShrink:0});this.state.flexBasis&&(o.flexBasis=this.state.flexBasis);var s=this.props.as||"div";return f.createElement(s,qs({ref:this.ref,style:o,className:this.props.className},r),this.state.isResizing&&f.createElement("div",{style:this.state.backgroundStyle}),this.props.children,this.renderResizer())},t.defaultProps={as:"div",onResizeStart:function(){},onResize:function(){},onResizeStop:function(){},enable:{top:!0,right:!0,bottom:!0,left:!0,topRight:!0,bottomRight:!0,bottomLeft:!0,topLeft:!0},style:{},grid:[1,1],lockAspectRatio:!1,lockAspectRatioExtraWidth:0,lockAspectRatioExtraHeight:0,scale:1,resizeRatio:1,snapGap:0},t}(f.PureComponent);const vY=({direction:e,langDirection:t})=>({top:e==="bottom",right:t!=="rtl"&&e==="left"||t==="rtl"&&e==="right",bottom:e==="top",left:t!=="rtl"&&e==="right"||t==="rtl"&&e==="left"}),bY=({direction:e,minWidth:t,maxWidth:n,minHeight:r,maxHeight:o})=>{const s=t??(["left","right"].includes(e)?10:void 0),a=n??(["left","right"].includes(e)?"95vw":void 0),c=r??(["top","bottom"].includes(e)?10:void 0),d=o??(["top","bottom"].includes(e)?"95vh":void 0);return{...s?{minWidth:s}:{},...a?{maxWidth:a}:{},...c?{minHeight:c}:{},...d?{maxHeight:d}:{}}},ba="0.75rem",fp="1rem",xu="5px",yY=({isResizable:e,direction:t})=>{const n=`calc((2 * ${ba} + ${xu}) / -2)`;return t==="top"?{containerStyles:{borderBottomWidth:xu,paddingBottom:fp},handleStyles:e?{top:{paddingTop:ba,paddingBottom:ba,bottom:n}}:{}}:t==="left"?{containerStyles:{borderInlineEndWidth:xu,paddingInlineEnd:fp},handleStyles:e?{right:{paddingInlineStart:ba,paddingInlineEnd:ba,insetInlineEnd:n}}:{}}:t==="bottom"?{containerStyles:{borderTopWidth:xu,paddingTop:fp},handleStyles:e?{bottom:{paddingTop:ba,paddingBottom:ba,top:n}}:{}}:t==="right"?{containerStyles:{borderInlineStartWidth:xu,paddingInlineStart:fp},handleStyles:e?{left:{paddingInlineStart:ba,paddingInlineEnd:ba,insetInlineStart:n}}:{}}:{containerStyles:{},handleStyles:{}}},xY=(e,t)=>["top","bottom"].includes(e)?e:e==="left"?t==="rtl"?"right":"left":e==="right"?t==="rtl"?"left":"right":"left",wY=je(gY,{shouldForwardProp:e=>!["sx"].includes(e)}),GI=({direction:e="left",isResizable:t,isOpen:n,onClose:r,children:o,initialWidth:s,minWidth:a,maxWidth:c,initialHeight:d,minHeight:p,maxHeight:h,onResizeStart:m,onResizeStop:v,onResize:b,sx:w={}})=>{const y=Nc().direction,{colorMode:S}=Ds(),k=f.useRef(null),_=f.useMemo(()=>s??a??(["left","right"].includes(e)?"auto":"100%"),[s,a,e]),P=f.useMemo(()=>d??p??(["top","bottom"].includes(e)?"auto":"100%"),[d,p,e]),[I,E]=f.useState(_),[O,R]=f.useState(P);XN({ref:k,handler:()=>{r()},enabled:n});const M=f.useMemo(()=>t?vY({direction:e,langDirection:y}):{},[t,y,e]),D=f.useMemo(()=>bY({direction:e,minWidth:a,maxWidth:c,minHeight:p,maxHeight:h}),[a,c,p,h,e]),{containerStyles:A,handleStyles:L}=f.useMemo(()=>yY({isResizable:t,direction:e}),[t,e]),Q=f.useMemo(()=>xY(e,y),[e,y]);return f.useEffect(()=>{["left","right"].includes(e)&&R("100vh"),["top","bottom"].includes(e)&&E("100vw")},[e]),i.jsx(X5,{direction:Q,in:n,motionProps:{initial:!1},style:{width:"full"},children:i.jsx(Re,{ref:k,sx:{width:"full",height:"full"},children:i.jsx(wY,{size:{width:t?I:_,height:t?O:P},enable:M,handleStyles:L,...D,sx:{borderColor:Fe("base.200","base.800")(S),p:4,bg:Fe("base.50","base.900")(S),height:"full",shadow:n?"dark-lg":void 0,...A,...w},onResizeStart:(F,V,q)=>{m&&m(F,V,q)},onResize:(F,V,q,G)=>{b&&b(F,V,q,G)},onResizeStop:(F,V,q,G)=>{["left","right"].includes(V)&&E(Number(I)+G.width),["top","bottom"].includes(V)&&R(Number(O)+G.height),v&&v(F,V,q,G)},children:o})})})};var qI={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},A4=H.createContext&&H.createContext(qI),hi=globalThis&&globalThis.__assign||function(){return hi=Object.assign||function(e){for(var t,n=1,r=arguments.length;nt(e[n],n,e));return e}function no(e,t){const n=Ei(t);if(Ms(t)||n){let o=n?"":{};if(e){const s=window.getComputedStyle(e,null);o=n?z4(e,s,t):t.reduce((a,c)=>(a[c]=z4(e,s,c),a),o)}return o}e&&_n(Ho(t),o=>SQ(e,o,t[o]))}const ys=(e,t)=>{const{o:n,u:r,_:o}=e;let s=n,a;const c=(h,m)=>{const v=s,b=h,w=m||(r?!r(v,b):v!==b);return(w||o)&&(s=b,a=v),[s,w,a]};return[t?h=>c(t(s,a),h):c,h=>[s,!!h,a]]},Vd=()=>typeof window<"u",uE=Vd()&&Node.ELEMENT_NODE,{toString:iQ,hasOwnProperty:ev}=Object.prototype,Va=e=>e===void 0,Um=e=>e===null,lQ=e=>Va(e)||Um(e)?`${e}`:iQ.call(e).replace(/^\[object (.+)\]$/,"$1").toLowerCase(),mi=e=>typeof e=="number",Ei=e=>typeof e=="string",Cy=e=>typeof e=="boolean",Rs=e=>typeof e=="function",Ms=e=>Array.isArray(e),dd=e=>typeof e=="object"&&!Ms(e)&&!Um(e),Gm=e=>{const t=!!e&&e.length,n=mi(t)&&t>-1&&t%1==0;return Ms(e)||!Rs(e)&&n?t>0&&dd(e)?t-1 in e:!0:!1},C1=e=>{if(!e||!dd(e)||lQ(e)!=="object")return!1;let t;const n="constructor",r=e[n],o=r&&r.prototype,s=ev.call(e,n),a=o&&ev.call(o,"isPrototypeOf");if(r&&!s&&!a)return!1;for(t in e);return Va(t)||ev.call(e,t)},Gh=e=>{const t=HTMLElement;return e?t?e instanceof t:e.nodeType===uE:!1},qm=e=>{const t=Element;return e?t?e instanceof t:e.nodeType===uE:!1},ky=(e,t,n)=>e.indexOf(t,n),An=(e,t,n)=>(!n&&!Ei(t)&&Gm(t)?Array.prototype.push.apply(e,t):e.push(t),e),ul=e=>{const t=Array.from,n=[];return t&&e?t(e):(e instanceof Set?e.forEach(r=>{An(n,r)}):_n(e,r=>{An(n,r)}),n)},_y=e=>!!e&&e.length===0,ca=(e,t,n)=>{_n(e,o=>o&&o.apply(void 0,t||[])),!n&&(e.length=0)},Km=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Ho=e=>e?Object.keys(e):[],pr=(e,t,n,r,o,s,a)=>{const c=[t,n,r,o,s,a];return(typeof e!="object"||Um(e))&&!Rs(e)&&(e={}),_n(c,d=>{_n(Ho(d),p=>{const h=d[p];if(e===h)return!0;const m=Ms(h);if(h&&(C1(h)||m)){const v=e[p];let b=v;m&&!Ms(v)?b=[]:!m&&!C1(v)&&(b={}),e[p]=pr(b,h)}else e[p]=h})}),e},Py=e=>{for(const t in e)return!1;return!0},dE=(e,t,n,r)=>{if(Va(r))return n?n[e]:t;n&&(Ei(r)||mi(r))&&(n[e]=r)},to=(e,t,n)=>{if(Va(n))return e?e.getAttribute(t):null;e&&e.setAttribute(t,n)},So=(e,t)=>{e&&e.removeAttribute(t)},Zi=(e,t,n,r)=>{if(n){const o=to(e,t)||"",s=new Set(o.split(" "));s[r?"add":"delete"](n);const a=ul(s).join(" ").trim();to(e,t,a)}},cQ=(e,t,n)=>{const r=to(e,t)||"";return new Set(r.split(" ")).has(n)},Ps=(e,t)=>dE("scrollLeft",0,e,t),ja=(e,t)=>dE("scrollTop",0,e,t),k1=Vd()&&Element.prototype,fE=(e,t)=>{const n=[],r=t?qm(t)?t:null:document;return r?An(n,r.querySelectorAll(e)):n},uQ=(e,t)=>{const n=t?qm(t)?t:null:document;return n?n.querySelector(e):null},qh=(e,t)=>qm(e)?(k1.matches||k1.msMatchesSelector).call(e,t):!1,jy=e=>e?ul(e.childNodes):[],$a=e=>e?e.parentElement:null,Jl=(e,t)=>{if(qm(e)){const n=k1.closest;if(n)return n.call(e,t);do{if(qh(e,t))return e;e=$a(e)}while(e)}return null},dQ=(e,t,n)=>{const r=e&&Jl(e,t),o=e&&uQ(n,r),s=Jl(o,t)===r;return r&&o?r===e||o===e||s&&Jl(Jl(e,n),t)!==r:!1},Iy=(e,t,n)=>{if(n&&e){let r=t,o;Gm(n)?(o=document.createDocumentFragment(),_n(n,s=>{s===r&&(r=s.previousSibling),o.appendChild(s)})):o=n,t&&(r?r!==t&&(r=r.nextSibling):r=e.firstChild),e.insertBefore(o,r||null)}},ns=(e,t)=>{Iy(e,null,t)},fQ=(e,t)=>{Iy($a(e),e,t)},N4=(e,t)=>{Iy($a(e),e&&e.nextSibling,t)},sa=e=>{if(Gm(e))_n(ul(e),t=>sa(t));else if(e){const t=$a(e);t&&t.removeChild(e)}},el=e=>{const t=document.createElement("div");return e&&to(t,"class",e),t},pE=e=>{const t=el();return t.innerHTML=e.trim(),_n(jy(t),n=>sa(n))},_1=e=>e.charAt(0).toUpperCase()+e.slice(1),pQ=()=>el().style,hQ=["-webkit-","-moz-","-o-","-ms-"],mQ=["WebKit","Moz","O","MS","webkit","moz","o","ms"],tv={},nv={},gQ=e=>{let t=nv[e];if(Km(nv,e))return t;const n=_1(e),r=pQ();return _n(hQ,o=>{const s=o.replace(/-/g,"");return!(t=[e,o+e,s+n,_1(s)+n].find(c=>r[c]!==void 0))}),nv[e]=t||""},Ud=e=>{if(Vd()){let t=tv[e]||window[e];return Km(tv,e)||(_n(mQ,n=>(t=t||window[n+_1(e)],!t)),tv[e]=t),t}},vQ=Ud("MutationObserver"),$4=Ud("IntersectionObserver"),Zl=Ud("ResizeObserver"),hE=Ud("cancelAnimationFrame"),mE=Ud("requestAnimationFrame"),Kh=Vd()&&window.setTimeout,P1=Vd()&&window.clearTimeout,bQ=/[^\x20\t\r\n\f]+/g,gE=(e,t,n)=>{const r=e&&e.classList;let o,s=0,a=!1;if(r&&t&&Ei(t)){const c=t.match(bQ)||[];for(a=c.length>0;o=c[s++];)a=!!n(r,o)&&a}return a},Ey=(e,t)=>{gE(e,t,(n,r)=>n.remove(r))},Ia=(e,t)=>(gE(e,t,(n,r)=>n.add(r)),Ey.bind(0,e,t)),Xm=(e,t,n,r)=>{if(e&&t){let o=!0;return _n(n,s=>{const a=r?r(e[s]):e[s],c=r?r(t[s]):t[s];a!==c&&(o=!1)}),o}return!1},vE=(e,t)=>Xm(e,t,["w","h"]),bE=(e,t)=>Xm(e,t,["x","y"]),yQ=(e,t)=>Xm(e,t,["t","r","b","l"]),L4=(e,t,n)=>Xm(e,t,["width","height"],n&&(r=>Math.round(r))),ts=()=>{},Kl=e=>{let t;const n=e?Kh:mE,r=e?P1:hE;return[o=>{r(t),t=n(o,Rs(e)?e():e)},()=>r(t)]},Oy=(e,t)=>{let n,r,o,s=ts;const{v:a,g:c,p:d}=t||{},p=function(w){s(),P1(n),n=r=void 0,s=ts,e.apply(this,w)},h=b=>d&&r?d(r,b):b,m=()=>{s!==ts&&p(h(o)||o)},v=function(){const w=ul(arguments),y=Rs(a)?a():a;if(mi(y)&&y>=0){const k=Rs(c)?c():c,_=mi(k)&&k>=0,P=y>0?Kh:mE,I=y>0?P1:hE,O=h(w)||w,R=p.bind(0,O);s();const M=P(R,y);s=()=>I(M),_&&!n&&(n=Kh(m,k)),r=o=O}else p(w)};return v.m=m,v},xQ={opacity:1,zindex:1},pp=(e,t)=>{const n=t?parseFloat(e):parseInt(e,10);return n===n?n:0},wQ=(e,t)=>!xQ[e.toLowerCase()]&&mi(t)?`${t}px`:t,z4=(e,t,n)=>t!=null?t[n]||t.getPropertyValue(n):e.style[n],SQ=(e,t,n)=>{try{const{style:r}=e;Va(r[t])?r.setProperty(t,n):r[t]=wQ(t,n)}catch{}},fd=e=>no(e,"direction")==="rtl",B4=(e,t,n)=>{const r=t?`${t}-`:"",o=n?`-${n}`:"",s=`${r}top${o}`,a=`${r}right${o}`,c=`${r}bottom${o}`,d=`${r}left${o}`,p=no(e,[s,a,c,d]);return{t:pp(p[s],!0),r:pp(p[a],!0),b:pp(p[c],!0),l:pp(p[d],!0)}},{round:F4}=Math,Ry={w:0,h:0},pd=e=>e?{w:e.offsetWidth,h:e.offsetHeight}:Ry,Np=e=>e?{w:e.clientWidth,h:e.clientHeight}:Ry,Xh=e=>e?{w:e.scrollWidth,h:e.scrollHeight}:Ry,Yh=e=>{const t=parseFloat(no(e,"height"))||0,n=parseFloat(no(e,"width"))||0;return{w:n-F4(n),h:t-F4(t)}},Zs=e=>e.getBoundingClientRect();let hp;const CQ=()=>{if(Va(hp)){hp=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get(){hp=!0}}))}catch{}}return hp},yE=e=>e.split(" "),kQ=(e,t,n,r)=>{_n(yE(t),o=>{e.removeEventListener(o,n,r)})},Tr=(e,t,n,r)=>{var o;const s=CQ(),a=(o=s&&r&&r.S)!=null?o:s,c=r&&r.$||!1,d=r&&r.C||!1,p=[],h=s?{passive:a,capture:c}:c;return _n(yE(t),m=>{const v=d?b=>{e.removeEventListener(m,v,c),n&&n(b)}:n;An(p,kQ.bind(null,e,m,v,c)),e.addEventListener(m,v,h)}),ca.bind(0,p)},xE=e=>e.stopPropagation(),wE=e=>e.preventDefault(),_Q={x:0,y:0},rv=e=>{const t=e?Zs(e):0;return t?{x:t.left+window.pageYOffset,y:t.top+window.pageXOffset}:_Q},H4=(e,t)=>{_n(Ms(t)?t:[t],e)},My=e=>{const t=new Map,n=(s,a)=>{if(s){const c=t.get(s);H4(d=>{c&&c[d?"delete":"clear"](d)},a)}else t.forEach(c=>{c.clear()}),t.clear()},r=(s,a)=>{if(Ei(s)){const p=t.get(s)||new Set;return t.set(s,p),H4(h=>{Rs(h)&&p.add(h)},a),n.bind(0,s,a)}Cy(a)&&a&&n();const c=Ho(s),d=[];return _n(c,p=>{const h=s[p];h&&An(d,r(p,h))}),ca.bind(0,d)},o=(s,a)=>{const c=t.get(s);_n(ul(c),d=>{a&&!_y(a)?d.apply(0,a):d()})};return r(e||{}),[r,n,o]},W4=e=>JSON.stringify(e,(t,n)=>{if(Rs(n))throw new Error;return n}),PQ={paddingAbsolute:!1,showNativeOverlaidScrollbars:!1,update:{elementEvents:[["img","load"]],debounce:[0,33],attributes:null,ignoreMutation:null},overflow:{x:"scroll",y:"scroll"},scrollbars:{theme:"os-theme-dark",visibility:"auto",autoHide:"never",autoHideDelay:1300,dragScroll:!0,clickScroll:!1,pointers:["mouse","touch","pen"]}},SE=(e,t)=>{const n={},r=Ho(t).concat(Ho(e));return _n(r,o=>{const s=e[o],a=t[o];if(dd(s)&&dd(a))pr(n[o]={},SE(s,a)),Py(n[o])&&delete n[o];else if(Km(t,o)&&a!==s){let c=!0;if(Ms(s)||Ms(a))try{W4(s)===W4(a)&&(c=!1)}catch{}c&&(n[o]=a)}}),n},CE="os-environment",kE=`${CE}-flexbox-glue`,jQ=`${kE}-max`,_E="os-scrollbar-hidden",ov="data-overlayscrollbars-initialize",xs="data-overlayscrollbars",PE=`${xs}-overflow-x`,jE=`${xs}-overflow-y`,hc="overflowVisible",IQ="scrollbarHidden",V4="scrollbarPressed",Qh="updating",si="data-overlayscrollbars-viewport",sv="arrange",IE="scrollbarHidden",mc=hc,j1="data-overlayscrollbars-padding",EQ=mc,U4="data-overlayscrollbars-content",Dy="os-size-observer",OQ=`${Dy}-appear`,RQ=`${Dy}-listener`,MQ="os-trinsic-observer",DQ="os-no-css-vars",AQ="os-theme-none",Oo="os-scrollbar",TQ=`${Oo}-rtl`,NQ=`${Oo}-horizontal`,$Q=`${Oo}-vertical`,EE=`${Oo}-track`,Ay=`${Oo}-handle`,LQ=`${Oo}-visible`,zQ=`${Oo}-cornerless`,G4=`${Oo}-transitionless`,q4=`${Oo}-interaction`,K4=`${Oo}-unusable`,X4=`${Oo}-auto-hidden`,Y4=`${Oo}-wheel`,BQ=`${EE}-interactive`,FQ=`${Ay}-interactive`,OE={},dl=()=>OE,HQ=e=>{const t=[];return _n(Ms(e)?e:[e],n=>{const r=Ho(n);_n(r,o=>{An(t,OE[o]=n[o])})}),t},WQ="__osOptionsValidationPlugin",VQ="__osSizeObserverPlugin",Ty="__osScrollbarsHidingPlugin",UQ="__osClickScrollPlugin";let av;const Q4=(e,t,n,r)=>{ns(e,t);const o=Np(t),s=pd(t),a=Yh(n);return r&&sa(t),{x:s.h-o.h+a.h,y:s.w-o.w+a.w}},GQ=e=>{let t=!1;const n=Ia(e,_E);try{t=no(e,gQ("scrollbar-width"))==="none"||window.getComputedStyle(e,"::-webkit-scrollbar").getPropertyValue("display")==="none"}catch{}return n(),t},qQ=(e,t)=>{const n="hidden";no(e,{overflowX:n,overflowY:n,direction:"rtl"}),Ps(e,0);const r=rv(e),o=rv(t);Ps(e,-999);const s=rv(t);return{i:r.x===o.x,n:o.x!==s.x}},KQ=(e,t)=>{const n=Ia(e,kE),r=Zs(e),o=Zs(t),s=L4(o,r,!0),a=Ia(e,jQ),c=Zs(e),d=Zs(t),p=L4(d,c,!0);return n(),a(),s&&p},XQ=()=>{const{body:e}=document,n=pE(`
`)[0],r=n.firstChild,[o,,s]=My(),[a,c]=ys({o:Q4(e,n,r),u:bE},Q4.bind(0,e,n,r,!0)),[d]=c(),p=GQ(n),h={x:d.x===0,y:d.y===0},m={elements:{host:null,padding:!p,viewport:_=>p&&_===_.ownerDocument.body&&_,content:!1},scrollbars:{slot:!0},cancel:{nativeScrollbarsOverlaid:!1,body:null}},v=pr({},PQ),b=pr.bind(0,{},v),w=pr.bind(0,{},m),y={k:d,A:h,I:p,L:no(n,"zIndex")==="-1",B:qQ(n,r),V:KQ(n,r),Y:o.bind(0,"z"),j:o.bind(0,"r"),N:w,q:_=>pr(m,_)&&w(),F:b,G:_=>pr(v,_)&&b(),X:pr({},m),U:pr({},v)},S=window.addEventListener,k=Oy(_=>s(_?"z":"r"),{v:33,g:99});if(So(n,"style"),sa(n),S("resize",k.bind(0,!1)),!p&&(!h.x||!h.y)){let _;S("resize",()=>{const P=dl()[Ty];_=_||P&&P.R(),_&&_(y,a,k.bind(0,!0))})}return y},Ro=()=>(av||(av=XQ()),av),Ny=(e,t)=>Rs(t)?t.apply(0,e):t,YQ=(e,t,n,r)=>{const o=Va(r)?n:r;return Ny(e,o)||t.apply(0,e)},RE=(e,t,n,r)=>{const o=Va(r)?n:r,s=Ny(e,o);return!!s&&(Gh(s)?s:t.apply(0,e))},QQ=(e,t,n)=>{const{nativeScrollbarsOverlaid:r,body:o}=n||{},{A:s,I:a}=Ro(),{nativeScrollbarsOverlaid:c,body:d}=t,p=r??c,h=Va(o)?d:o,m=(s.x||s.y)&&p,v=e&&(Um(h)?!a:h);return!!m||!!v},$y=new WeakMap,JQ=(e,t)=>{$y.set(e,t)},ZQ=e=>{$y.delete(e)},ME=e=>$y.get(e),J4=(e,t)=>e?t.split(".").reduce((n,r)=>n&&Km(n,r)?n[r]:void 0,e):void 0,I1=(e,t,n)=>r=>[J4(e,r),n||J4(t,r)!==void 0],DE=e=>{let t=e;return[()=>t,n=>{t=pr({},t,n)}]},mp="tabindex",gp=el.bind(0,""),iv=e=>{ns($a(e),jy(e)),sa(e)},eJ=e=>{const t=Ro(),{N:n,I:r}=t,o=dl()[Ty],s=o&&o.T,{elements:a}=n(),{host:c,padding:d,viewport:p,content:h}=a,m=Gh(e),v=m?{}:e,{elements:b}=v,{host:w,padding:y,viewport:S,content:k}=b||{},_=m?e:v.target,P=qh(_,"textarea"),I=_.ownerDocument,E=I.documentElement,O=_===I.body,R=I.defaultView,M=YQ.bind(0,[_]),D=RE.bind(0,[_]),A=Ny.bind(0,[_]),L=M.bind(0,gp,p),Q=D.bind(0,gp,h),F=L(S),V=F===_,q=V&&O,G=!V&&Q(k),T=!V&&Gh(F)&&F===G,z=T&&!!A(h),$=z?L():F,Y=z?G:Q(),fe=q?E:T?$:F,ie=P?M(gp,c,w):_,X=q?fe:ie,K=T?Y:G,U=I.activeElement,se=!V&&R.top===R&&U===_,re={W:_,Z:X,J:fe,K:!V&&D(gp,d,y),tt:K,nt:!V&&!r&&s&&s(t),ot:q?E:fe,st:q?I:fe,et:R,ct:I,rt:P,it:O,lt:m,ut:V,dt:T,ft:(vt,bt)=>cQ(fe,V?xs:si,V?bt:vt),_t:(vt,bt,Se)=>Zi(fe,V?xs:si,V?bt:vt,Se)},oe=Ho(re).reduce((vt,bt)=>{const Se=re[bt];return An(vt,Se&&!$a(Se)?Se:!1)},[]),pe=vt=>vt?ky(oe,vt)>-1:null,{W:le,Z:ge,K:ke,J:xe,tt:de,nt:Te}=re,Ee=[()=>{So(ge,xs),So(ge,ov),So(le,ov),O&&(So(E,xs),So(E,ov))}],$e=P&&pe(ge);let kt=P?le:jy([de,xe,ke,ge,le].find(vt=>pe(vt)===!1));const ct=q?le:de||xe;return[re,()=>{to(ge,xs,V?"viewport":"host"),to(ke,j1,""),to(de,U4,""),V||to(xe,si,"");const vt=O&&!V?Ia($a(_),_E):ts;if($e&&(N4(le,ge),An(Ee,()=>{N4(ge,le),sa(ge)})),ns(ct,kt),ns(ge,ke),ns(ke||ge,!V&&xe),ns(xe,de),An(Ee,()=>{vt(),So(ke,j1),So(de,U4),So(xe,PE),So(xe,jE),So(xe,si),pe(de)&&iv(de),pe(xe)&&iv(xe),pe(ke)&&iv(ke)}),r&&!V&&(Zi(xe,si,IE,!0),An(Ee,So.bind(0,xe,si))),Te&&(fQ(xe,Te),An(Ee,sa.bind(0,Te))),se){const bt=to(xe,mp);to(xe,mp,"-1"),xe.focus();const Se=()=>bt?to(xe,mp,bt):So(xe,mp),Me=Tr(I,"pointerdown keydown",()=>{Se(),Me()});An(Ee,[Se,Me])}else U&&U.focus&&U.focus();kt=0},ca.bind(0,Ee)]},tJ=(e,t)=>{const{tt:n}=e,[r]=t;return o=>{const{V:s}=Ro(),{ht:a}=r(),{vt:c}=o,d=(n||!s)&&c;return d&&no(n,{height:a?"":"100%"}),{gt:d,wt:d}}},nJ=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:a,ut:c}=e,[d,p]=ys({u:yQ,o:B4()},B4.bind(0,o,"padding",""));return(h,m,v)=>{let[b,w]=p(v);const{I:y,V:S}=Ro(),{bt:k}=n(),{gt:_,wt:P,yt:I}=h,[E,O]=m("paddingAbsolute");(_||w||!S&&P)&&([b,w]=d(v));const M=!c&&(O||I||w);if(M){const D=!E||!s&&!y,A=b.r+b.l,L=b.t+b.b,Q={marginRight:D&&!k?-A:0,marginBottom:D?-L:0,marginLeft:D&&k?-A:0,top:D?-b.t:0,right:D?k?-b.r:"auto":0,left:D?k?"auto":-b.l:0,width:D?`calc(100% + ${A}px)`:""},F={paddingTop:D?b.t:0,paddingRight:D?b.r:0,paddingBottom:D?b.b:0,paddingLeft:D?b.l:0};no(s||a,Q),no(a,F),r({K:b,St:!D,P:s?F:pr({},Q,F)})}return{xt:M}}},{max:E1}=Math,ai=E1.bind(0,0),AE="visible",Z4="hidden",rJ=42,vp={u:vE,o:{w:0,h:0}},oJ={u:bE,o:{x:Z4,y:Z4}},sJ=(e,t)=>{const n=window.devicePixelRatio%1!==0?1:0,r={w:ai(e.w-t.w),h:ai(e.h-t.h)};return{w:r.w>n?r.w:0,h:r.h>n?r.h:0}},bp=e=>e.indexOf(AE)===0,aJ=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:a,nt:c,ut:d,_t:p,it:h,et:m}=e,{k:v,V:b,I:w,A:y}=Ro(),S=dl()[Ty],k=!d&&!w&&(y.x||y.y),_=h&&d,[P,I]=ys(vp,Yh.bind(0,a)),[E,O]=ys(vp,Xh.bind(0,a)),[R,M]=ys(vp),[D,A]=ys(vp),[L]=ys(oJ),Q=(z,$)=>{if(no(a,{height:""}),$){const{St:Y,K:ae}=n(),{$t:fe,D:ie}=z,X=Yh(o),K=Np(o),U=no(a,"boxSizing")==="content-box",se=Y||U?ae.b+ae.t:0,re=!(y.x&&U);no(a,{height:K.h+X.h+(fe.x&&re?ie.x:0)-se})}},F=(z,$)=>{const Y=!w&&!z?rJ:0,ae=(pe,le,ge)=>{const ke=no(a,pe),de=($?$[pe]:ke)==="scroll";return[ke,de,de&&!w?le?Y:ge:0,le&&!!Y]},[fe,ie,X,K]=ae("overflowX",y.x,v.x),[U,se,re,oe]=ae("overflowY",y.y,v.y);return{Ct:{x:fe,y:U},$t:{x:ie,y:se},D:{x:X,y:re},M:{x:K,y:oe}}},V=(z,$,Y,ae)=>{const fe=(se,re)=>{const oe=bp(se),pe=re&&oe&&se.replace(`${AE}-`,"")||"";return[re&&!oe?se:"",bp(pe)?"hidden":pe]},[ie,X]=fe(Y.x,$.x),[K,U]=fe(Y.y,$.y);return ae.overflowX=X&&K?X:ie,ae.overflowY=U&&ie?U:K,F(z,ae)},q=(z,$,Y,ae)=>{const{D:fe,M:ie}=z,{x:X,y:K}=ie,{x:U,y:se}=fe,{P:re}=n(),oe=$?"marginLeft":"marginRight",pe=$?"paddingLeft":"paddingRight",le=re[oe],ge=re.marginBottom,ke=re[pe],xe=re.paddingBottom;ae.width=`calc(100% + ${se+-1*le}px)`,ae[oe]=-se+le,ae.marginBottom=-U+ge,Y&&(ae[pe]=ke+(K?se:0),ae.paddingBottom=xe+(X?U:0))},[G,T]=S?S.H(k,b,a,c,n,F,q):[()=>k,()=>[ts]];return(z,$,Y)=>{const{gt:ae,Ot:fe,wt:ie,xt:X,vt:K,yt:U}=z,{ht:se,bt:re}=n(),[oe,pe]=$("showNativeOverlaidScrollbars"),[le,ge]=$("overflow"),ke=oe&&y.x&&y.y,xe=!d&&!b&&(ae||ie||fe||pe||K),de=bp(le.x),Te=bp(le.y),Ee=de||Te;let $e=I(Y),kt=O(Y),ct=M(Y),on=A(Y),vt;if(pe&&w&&p(IE,IQ,!ke),xe&&(vt=F(ke),Q(vt,se)),ae||X||ie||U||pe){Ee&&p(mc,hc,!1);const[Pe,Ye]=T(ke,re,vt),[Ke,dt]=$e=P(Y),[zt,lr]=kt=E(Y),pn=Np(a);let ln=zt,Hr=pn;Pe(),(lr||dt||pe)&&Ye&&!ke&&G(Ye,zt,Ke,re)&&(Hr=Np(a),ln=Xh(a));const xr={w:ai(E1(zt.w,ln.w)+Ke.w),h:ai(E1(zt.h,ln.h)+Ke.h)},Fn={w:ai((_?m.innerWidth:Hr.w+ai(pn.w-zt.w))+Ke.w),h:ai((_?m.innerHeight+Ke.h:Hr.h+ai(pn.h-zt.h))+Ke.h)};on=D(Fn),ct=R(sJ(xr,Fn),Y)}const[bt,Se]=on,[Me,Pt]=ct,[Tt,we]=kt,[ht,$t]=$e,Lt={x:Me.w>0,y:Me.h>0},Le=de&&Te&&(Lt.x||Lt.y)||de&&Lt.x&&!Lt.y||Te&&Lt.y&&!Lt.x;if(X||U||$t||we||Se||Pt||ge||pe||xe){const Pe={marginRight:0,marginBottom:0,marginLeft:0,width:"",overflowY:"",overflowX:""},Ye=V(ke,Lt,le,Pe),Ke=G(Ye,Tt,ht,re);d||q(Ye,re,Ke,Pe),xe&&Q(Ye,se),d?(to(o,PE,Pe.overflowX),to(o,jE,Pe.overflowY)):no(a,Pe)}Zi(o,xs,hc,Le),Zi(s,j1,EQ,Le),d||Zi(a,si,mc,Ee);const[Ge,Pn]=L(F(ke).Ct);return r({Ct:Ge,zt:{x:bt.w,y:bt.h},Tt:{x:Me.w,y:Me.h},Et:Lt}),{It:Pn,At:Se,Lt:Pt}}},ek=(e,t,n)=>{const r={},o=t||{},s=Ho(e).concat(Ho(o));return _n(s,a=>{const c=e[a],d=o[a];r[a]=!!(n||c||d)}),r},iJ=(e,t)=>{const{W:n,J:r,_t:o,ut:s}=e,{I:a,A:c,V:d}=Ro(),p=!a&&(c.x||c.y),h=[tJ(e,t),nJ(e,t),aJ(e,t)];return(m,v,b)=>{const w=ek(pr({gt:!1,xt:!1,yt:!1,vt:!1,At:!1,Lt:!1,It:!1,Ot:!1,wt:!1},v),{},b),y=p||!d,S=y&&Ps(r),k=y&&ja(r);o("",Qh,!0);let _=w;return _n(h,P=>{_=ek(_,P(_,m,!!b)||{},b)}),Ps(r,S),ja(r,k),o("",Qh),s||(Ps(n,0),ja(n,0)),_}},lJ=(e,t,n)=>{let r,o=!1;const s=()=>{o=!0},a=c=>{if(n){const d=n.reduce((p,h)=>{if(h){const[m,v]=h,b=v&&m&&(c?c(m):fE(m,e));b&&b.length&&v&&Ei(v)&&An(p,[b,v.trim()],!0)}return p},[]);_n(d,p=>_n(p[0],h=>{const m=p[1],v=r.get(h)||[];if(e.contains(h)){const w=Tr(h,m,y=>{o?(w(),r.delete(h)):t(y)});r.set(h,An(v,w))}else ca(v),r.delete(h)}))}};return n&&(r=new WeakMap,a()),[s,a]},tk=(e,t,n,r)=>{let o=!1;const{Ht:s,Pt:a,Dt:c,Mt:d,Rt:p,kt:h}=r||{},m=Oy(()=>{o&&n(!0)},{v:33,g:99}),[v,b]=lJ(e,m,c),w=s||[],y=a||[],S=w.concat(y),k=(P,I)=>{const E=p||ts,O=h||ts,R=new Set,M=new Set;let D=!1,A=!1;if(_n(P,L=>{const{attributeName:Q,target:F,type:V,oldValue:q,addedNodes:G,removedNodes:T}=L,z=V==="attributes",$=V==="childList",Y=e===F,ae=z&&Ei(Q)?to(F,Q):0,fe=ae!==0&&q!==ae,ie=ky(y,Q)>-1&&fe;if(t&&($||!Y)){const X=!z,K=z&&fe,U=K&&d&&qh(F,d),re=(U?!E(F,Q,q,ae):X||K)&&!O(L,!!U,e,r);_n(G,oe=>R.add(oe)),_n(T,oe=>R.add(oe)),A=A||re}!t&&Y&&fe&&!E(F,Q,q,ae)&&(M.add(Q),D=D||ie)}),R.size>0&&b(L=>ul(R).reduce((Q,F)=>(An(Q,fE(L,F)),qh(F,L)?An(Q,F):Q),[])),t)return!I&&A&&n(!1),[!1];if(M.size>0||D){const L=[ul(M),D];return!I&&n.apply(0,L),L}},_=new vQ(P=>k(P));return _.observe(e,{attributes:!0,attributeOldValue:!0,attributeFilter:S,subtree:t,childList:t,characterData:t}),o=!0,[()=>{o&&(v(),_.disconnect(),o=!1)},()=>{if(o){m.m();const P=_.takeRecords();return!_y(P)&&k(P,!0)}}]},yp=3333333,xp=e=>e&&(e.height||e.width),TE=(e,t,n)=>{const{Bt:r=!1,Vt:o=!1}=n||{},s=dl()[VQ],{B:a}=Ro(),d=pE(`
`)[0],p=d.firstChild,h=fd.bind(0,e),[m]=ys({o:void 0,_:!0,u:(y,S)=>!(!y||!xp(y)&&xp(S))}),v=y=>{const S=Ms(y)&&y.length>0&&dd(y[0]),k=!S&&Cy(y[0]);let _=!1,P=!1,I=!0;if(S){const[E,,O]=m(y.pop().contentRect),R=xp(E),M=xp(O);_=!O||!R,P=!M&&R,I=!_}else k?[,I]=y:P=y===!0;if(r&&I){const E=k?y[0]:fd(d);Ps(d,E?a.n?-yp:a.i?0:yp:yp),ja(d,yp)}_||t({gt:!k,Yt:k?y:void 0,Vt:!!P})},b=[];let w=o?v:!1;return[()=>{ca(b),sa(d)},()=>{if(Zl){const y=new Zl(v);y.observe(p),An(b,()=>{y.disconnect()})}else if(s){const[y,S]=s.O(p,v,o);w=y,An(b,S)}if(r){const[y]=ys({o:void 0},h);An(b,Tr(d,"scroll",S=>{const k=y(),[_,P,I]=k;P&&(Ey(p,"ltr rtl"),_?Ia(p,"rtl"):Ia(p,"ltr"),v([!!_,P,I])),xE(S)}))}w&&(Ia(d,OQ),An(b,Tr(d,"animationstart",w,{C:!!Zl}))),(Zl||s)&&ns(e,d)}]},cJ=e=>e.h===0||e.isIntersecting||e.intersectionRatio>0,uJ=(e,t)=>{let n;const r=el(MQ),o=[],[s]=ys({o:!1}),a=(d,p)=>{if(d){const h=s(cJ(d)),[,m]=h;if(m)return!p&&t(h),[h]}},c=(d,p)=>{if(d&&d.length>0)return a(d.pop(),p)};return[()=>{ca(o),sa(r)},()=>{if($4)n=new $4(d=>c(d),{root:e}),n.observe(r),An(o,()=>{n.disconnect()});else{const d=()=>{const m=pd(r);a(m)},[p,h]=TE(r,d);An(o,p),h(),d()}ns(e,r)},()=>{if(n)return c(n.takeRecords(),!0)}]},nk=`[${xs}]`,dJ=`[${si}]`,lv=["tabindex"],rk=["wrap","cols","rows"],cv=["id","class","style","open"],fJ=(e,t,n)=>{let r,o,s;const{Z:a,J:c,tt:d,rt:p,ut:h,ft:m,_t:v}=e,{V:b}=Ro(),[w]=ys({u:vE,o:{w:0,h:0}},()=>{const V=m(mc,hc),q=m(sv,""),G=q&&Ps(c),T=q&&ja(c);v(mc,hc),v(sv,""),v("",Qh,!0);const z=Xh(d),$=Xh(c),Y=Yh(c);return v(mc,hc,V),v(sv,"",q),v("",Qh),Ps(c,G),ja(c,T),{w:$.w+z.w+Y.w,h:$.h+z.h+Y.h}}),y=p?rk:cv.concat(rk),S=Oy(n,{v:()=>r,g:()=>o,p(V,q){const[G]=V,[T]=q;return[Ho(G).concat(Ho(T)).reduce((z,$)=>(z[$]=G[$]||T[$],z),{})]}}),k=V=>{_n(V||lv,q=>{if(ky(lv,q)>-1){const G=to(a,q);Ei(G)?to(c,q,G):So(c,q)}})},_=(V,q)=>{const[G,T]=V,z={vt:T};return t({ht:G}),!q&&n(z),z},P=({gt:V,Yt:q,Vt:G})=>{const T=!V||G?n:S;let z=!1;if(q){const[$,Y]=q;z=Y,t({bt:$})}T({gt:V,yt:z})},I=(V,q)=>{const[,G]=w(),T={wt:G};return G&&!q&&(V?n:S)(T),T},E=(V,q,G)=>{const T={Ot:q};return q?!G&&S(T):h||k(V),T},[O,R,M]=d||!b?uJ(a,_):[ts,ts,ts],[D,A]=h?[ts,ts]:TE(a,P,{Vt:!0,Bt:!0}),[L,Q]=tk(a,!1,E,{Pt:cv,Ht:cv.concat(lv)}),F=h&&Zl&&new Zl(P.bind(0,{gt:!0}));return F&&F.observe(a),k(),[()=>{O(),D(),s&&s[0](),F&&F.disconnect(),L()},()=>{A(),R()},()=>{const V={},q=Q(),G=M(),T=s&&s[1]();return q&&pr(V,E.apply(0,An(q,!0))),G&&pr(V,_.apply(0,An(G,!0))),T&&pr(V,I.apply(0,An(T,!0))),V},V=>{const[q]=V("update.ignoreMutation"),[G,T]=V("update.attributes"),[z,$]=V("update.elementEvents"),[Y,ae]=V("update.debounce"),fe=$||T,ie=X=>Rs(q)&&q(X);if(fe&&(s&&(s[1](),s[0]()),s=tk(d||c,!0,I,{Ht:y.concat(G||[]),Dt:z,Mt:nk,kt:(X,K)=>{const{target:U,attributeName:se}=X;return(!K&&se&&!h?dQ(U,nk,dJ):!1)||!!Jl(U,`.${Oo}`)||!!ie(X)}})),ae)if(S.m(),Ms(Y)){const X=Y[0],K=Y[1];r=mi(X)&&X,o=mi(K)&&K}else mi(Y)?(r=Y,o=!1):(r=!1,o=!1)}]},ok={x:0,y:0},pJ=e=>({K:{t:0,r:0,b:0,l:0},St:!1,P:{marginRight:0,marginBottom:0,marginLeft:0,paddingTop:0,paddingRight:0,paddingBottom:0,paddingLeft:0},zt:ok,Tt:ok,Ct:{x:"hidden",y:"hidden"},Et:{x:!1,y:!1},ht:!1,bt:fd(e.Z)}),hJ=(e,t)=>{const n=I1(t,{}),[r,o,s]=My(),[a,c,d]=eJ(e),p=DE(pJ(a)),[h,m]=p,v=iJ(a,p),b=(P,I,E)=>{const R=Ho(P).some(M=>P[M])||!Py(I)||E;return R&&s("u",[P,I,E]),R},[w,y,S,k]=fJ(a,m,P=>b(v(n,P),{},!1)),_=h.bind(0);return _.jt=P=>r("u",P),_.Nt=()=>{const{W:P,J:I}=a,E=Ps(P),O=ja(P);y(),c(),Ps(I,E),ja(I,O)},_.qt=a,[(P,I)=>{const E=I1(t,P,I);return k(E),b(v(E,S(),I),P,!!I)},_,()=>{o(),w(),d()}]},{round:sk}=Math,mJ=e=>{const{width:t,height:n}=Zs(e),{w:r,h:o}=pd(e);return{x:sk(t)/r||1,y:sk(n)/o||1}},gJ=(e,t,n)=>{const r=t.scrollbars,{button:o,isPrimary:s,pointerType:a}=e,{pointers:c}=r;return o===0&&s&&r[n?"dragScroll":"clickScroll"]&&(c||[]).includes(a)},vJ=(e,t)=>Tr(e,"mousedown",Tr.bind(0,t,"click",xE,{C:!0,$:!0}),{$:!0}),ak="pointerup pointerleave pointercancel lostpointercapture",bJ=(e,t,n,r,o,s,a)=>{const{B:c}=Ro(),{Ft:d,Gt:p,Xt:h}=r,m=`scroll${a?"Left":"Top"}`,v=`client${a?"X":"Y"}`,b=a?"width":"height",w=a?"left":"top",y=a?"w":"h",S=a?"x":"y",k=(_,P)=>I=>{const{Tt:E}=s(),O=pd(p)[y]-pd(d)[y],M=P*I/O*E[S],A=fd(h)&&a?c.n||c.i?1:-1:1;o[m]=_+M*A};return Tr(p,"pointerdown",_=>{const P=Jl(_.target,`.${Ay}`)===d,I=P?d:p;if(Zi(t,xs,V4,!0),gJ(_,e,P)){const E=!P&&_.shiftKey,O=()=>Zs(d),R=()=>Zs(p),M=($,Y)=>($||O())[w]-(Y||R())[w],D=k(o[m]||0,1/mJ(o)[S]),A=_[v],L=O(),Q=R(),F=L[b],V=M(L,Q)+F/2,q=A-Q[w],G=P?0:q-V,T=$=>{ca(z),I.releasePointerCapture($.pointerId)},z=[Zi.bind(0,t,xs,V4),Tr(n,ak,T),Tr(n,"selectstart",$=>wE($),{S:!1}),Tr(p,ak,T),Tr(p,"pointermove",$=>{const Y=$[v]-A;(P||E)&&D(G+Y)})];if(E)D(G);else if(!P){const $=dl()[UQ];$&&An(z,$.O(D,M,G,F,q))}I.setPointerCapture(_.pointerId)}})},yJ=(e,t)=>(n,r,o,s,a,c)=>{const{Xt:d}=n,[p,h]=Kl(333),m=!!a.scrollBy;let v=!0;return ca.bind(0,[Tr(d,"pointerenter",()=>{r(q4,!0)}),Tr(d,"pointerleave pointercancel",()=>{r(q4)}),Tr(d,"wheel",b=>{const{deltaX:w,deltaY:y,deltaMode:S}=b;m&&v&&S===0&&$a(d)===s&&a.scrollBy({left:w,top:y,behavior:"smooth"}),v=!1,r(Y4,!0),p(()=>{v=!0,r(Y4)}),wE(b)},{S:!1,$:!0}),vJ(d,o),bJ(e,s,o,n,a,t,c),h])},{min:O1,max:ik,abs:xJ,round:wJ}=Math,NE=(e,t,n,r)=>{if(r){const c=n?"x":"y",{Tt:d,zt:p}=r,h=p[c],m=d[c];return ik(0,O1(1,h/(h+m)))}const o=n?"width":"height",s=Zs(e)[o],a=Zs(t)[o];return ik(0,O1(1,s/a))},SJ=(e,t,n,r,o,s)=>{const{B:a}=Ro(),c=s?"x":"y",d=s?"Left":"Top",{Tt:p}=r,h=wJ(p[c]),m=xJ(n[`scroll${d}`]),v=s&&o,b=a.i?m:h-m,y=O1(1,(v?b:m)/h),S=NE(e,t,s);return 1/S*(1-S)*y},CJ=(e,t,n)=>{const{N:r,L:o}=Ro(),{scrollbars:s}=r(),{slot:a}=s,{ct:c,W:d,Z:p,J:h,lt:m,ot:v,it:b,ut:w}=t,{scrollbars:y}=m?{}:e,{slot:S}=y||{},k=RE([d,p,h],()=>w&&b?d:p,a,S),_=(G,T,z)=>{const $=z?Ia:Ey;_n(G,Y=>{$(Y.Xt,T)})},P=(G,T)=>{_n(G,z=>{const[$,Y]=T(z);no($,Y)})},I=(G,T,z)=>{P(G,$=>{const{Ft:Y,Gt:ae}=$;return[Y,{[z?"width":"height"]:`${(100*NE(Y,ae,z,T)).toFixed(3)}%`}]})},E=(G,T,z)=>{const $=z?"X":"Y";P(G,Y=>{const{Ft:ae,Gt:fe,Xt:ie}=Y,X=SJ(ae,fe,v,T,fd(ie),z);return[ae,{transform:X===X?`translate${$}(${(100*X).toFixed(3)}%)`:""}]})},O=[],R=[],M=[],D=(G,T,z)=>{const $=Cy(z),Y=$?z:!0,ae=$?!z:!0;Y&&_(R,G,T),ae&&_(M,G,T)},A=G=>{I(R,G,!0),I(M,G)},L=G=>{E(R,G,!0),E(M,G)},Q=G=>{const T=G?NQ:$Q,z=G?R:M,$=_y(z)?G4:"",Y=el(`${Oo} ${T} ${$}`),ae=el(EE),fe=el(Ay),ie={Xt:Y,Gt:ae,Ft:fe};return o||Ia(Y,DQ),ns(Y,ae),ns(ae,fe),An(z,ie),An(O,[sa.bind(0,Y),n(ie,D,c,p,v,G)]),ie},F=Q.bind(0,!0),V=Q.bind(0,!1),q=()=>{ns(k,R[0].Xt),ns(k,M[0].Xt),Kh(()=>{D(G4)},300)};return F(),V(),[{Ut:A,Wt:L,Zt:D,Jt:{Kt:R,Qt:F,tn:P.bind(0,R)},nn:{Kt:M,Qt:V,tn:P.bind(0,M)}},q,ca.bind(0,O)]},kJ=(e,t,n,r)=>{let o,s,a,c,d,p=0;const h=DE({}),[m]=h,[v,b]=Kl(),[w,y]=Kl(),[S,k]=Kl(100),[_,P]=Kl(100),[I,E]=Kl(()=>p),[O,R,M]=CJ(e,n.qt,yJ(t,n)),{Z:D,J:A,ot:L,st:Q,ut:F,it:V}=n.qt,{Jt:q,nn:G,Zt:T,Ut:z,Wt:$}=O,{tn:Y}=q,{tn:ae}=G,fe=se=>{const{Xt:re}=se,oe=F&&!V&&$a(re)===A&&re;return[oe,{transform:oe?`translate(${Ps(L)}px, ${ja(L)}px)`:""}]},ie=(se,re)=>{if(E(),se)T(X4);else{const oe=()=>T(X4,!0);p>0&&!re?I(oe):oe()}},X=()=>{c=s,c&&ie(!0)},K=[k,E,P,y,b,M,Tr(D,"pointerover",X,{C:!0}),Tr(D,"pointerenter",X),Tr(D,"pointerleave",()=>{c=!1,s&&ie(!1)}),Tr(D,"pointermove",()=>{o&&v(()=>{k(),ie(!0),_(()=>{o&&ie(!1)})})}),Tr(Q,"scroll",se=>{w(()=>{$(n()),a&&ie(!0),S(()=>{a&&!c&&ie(!1)})}),r(se),F&&Y(fe),F&&ae(fe)})],U=m.bind(0);return U.qt=O,U.Nt=R,[(se,re,oe)=>{const{At:pe,Lt:le,It:ge,yt:ke}=oe,{A:xe}=Ro(),de=I1(t,se,re),Te=n(),{Tt:Ee,Ct:$e,bt:kt}=Te,[ct,on]=de("showNativeOverlaidScrollbars"),[vt,bt]=de("scrollbars.theme"),[Se,Me]=de("scrollbars.visibility"),[Pt,Tt]=de("scrollbars.autoHide"),[we]=de("scrollbars.autoHideDelay"),[ht,$t]=de("scrollbars.dragScroll"),[Lt,Le]=de("scrollbars.clickScroll"),Ge=pe||le||ke,Pn=ge||Me,Pe=ct&&xe.x&&xe.y,Ye=(Ke,dt)=>{const zt=Se==="visible"||Se==="auto"&&Ke==="scroll";return T(LQ,zt,dt),zt};if(p=we,on&&T(AQ,Pe),bt&&(T(d),T(vt,!0),d=vt),Tt&&(o=Pt==="move",s=Pt==="leave",a=Pt!=="never",ie(!a,!0)),$t&&T(FQ,ht),Le&&T(BQ,Lt),Pn){const Ke=Ye($e.x,!0),dt=Ye($e.y,!1);T(zQ,!(Ke&&dt))}Ge&&(z(Te),$(Te),T(K4,!Ee.x,!0),T(K4,!Ee.y,!1),T(TQ,kt&&!V))},U,ca.bind(0,K)]},$E=(e,t,n)=>{Rs(e)&&e(t||void 0,n||void 0)},ui=(e,t,n)=>{const{F:r,N:o,Y:s,j:a}=Ro(),c=dl(),d=Gh(e),p=d?e:e.target,h=ME(p);if(t&&!h){let m=!1;const v=F=>{const V=dl()[WQ],q=V&&V.O;return q?q(F,!0):F},b=pr({},r(),v(t)),[w,y,S]=My(n),[k,_,P]=hJ(e,b),[I,E,O]=kJ(e,b,_,F=>S("scroll",[Q,F])),R=(F,V)=>k(F,!!V),M=R.bind(0,{},!0),D=s(M),A=a(M),L=F=>{ZQ(p),D(),A(),O(),P(),m=!0,S("destroyed",[Q,!!F]),y()},Q={options(F,V){if(F){const q=V?r():{},G=SE(b,pr(q,v(F)));Py(G)||(pr(b,G),R(G))}return pr({},b)},on:w,off:(F,V)=>{F&&V&&y(F,V)},state(){const{zt:F,Tt:V,Ct:q,Et:G,K:T,St:z,bt:$}=_();return pr({},{overflowEdge:F,overflowAmount:V,overflowStyle:q,hasOverflow:G,padding:T,paddingAbsolute:z,directionRTL:$,destroyed:m})},elements(){const{W:F,Z:V,K:q,J:G,tt:T,ot:z,st:$}=_.qt,{Jt:Y,nn:ae}=E.qt,fe=X=>{const{Ft:K,Gt:U,Xt:se}=X;return{scrollbar:se,track:U,handle:K}},ie=X=>{const{Kt:K,Qt:U}=X,se=fe(K[0]);return pr({},se,{clone:()=>{const re=fe(U());return I({},!0,{}),re}})};return pr({},{target:F,host:V,padding:q||G,viewport:G,content:T||G,scrollOffsetElement:z,scrollEventElement:$,scrollbarHorizontal:ie(Y),scrollbarVertical:ie(ae)})},update:F=>R({},F),destroy:L.bind(0)};return _.jt((F,V,q)=>{I(V,q,F)}),JQ(p,Q),_n(Ho(c),F=>$E(c[F],0,Q)),QQ(_.qt.it,o().cancel,!d&&e.cancel)?(L(!0),Q):(_.Nt(),E.Nt(),S("initialized",[Q]),_.jt((F,V,q)=>{const{gt:G,yt:T,vt:z,At:$,Lt:Y,It:ae,wt:fe,Ot:ie}=F;S("updated",[Q,{updateHints:{sizeChanged:G,directionChanged:T,heightIntrinsicChanged:z,overflowEdgeChanged:$,overflowAmountChanged:Y,overflowStyleChanged:ae,contentMutation:fe,hostMutation:ie},changedOptions:V,force:q}])}),Q.update(!0),Q)}return h};ui.plugin=e=>{_n(HQ(e),t=>$E(t,ui))};ui.valid=e=>{const t=e&&e.elements,n=Rs(t)&&t();return C1(n)&&!!ME(n.target)};ui.env=()=>{const{k:e,A:t,I:n,B:r,V:o,L:s,X:a,U:c,N:d,q:p,F:h,G:m}=Ro();return pr({},{scrollbarsSize:e,scrollbarsOverlaid:t,scrollbarsHiding:n,rtlScrollBehavior:r,flexboxGlue:o,cssCustomProperties:s,staticDefaultInitialization:a,staticDefaultOptions:c,getDefaultInitialization:d,setDefaultInitialization:p,getDefaultOptions:h,setDefaultOptions:m})};const _J=()=>{if(typeof window>"u"){const p=()=>{};return[p,p]}let e,t;const n=window,r=typeof n.requestIdleCallback=="function",o=n.requestAnimationFrame,s=n.cancelAnimationFrame,a=r?n.requestIdleCallback:o,c=r?n.cancelIdleCallback:s,d=()=>{c(e),s(t)};return[(p,h)=>{d(),e=a(r?()=>{d(),t=o(p)}:p,typeof h=="object"?h:{timeout:2233})},d]},LE=e=>{const{options:t,events:n,defer:r}=e||{},[o,s]=f.useMemo(_J,[]),a=f.useRef(null),c=f.useRef(r),d=f.useRef(t),p=f.useRef(n);return f.useEffect(()=>{c.current=r},[r]),f.useEffect(()=>{const{current:h}=a;d.current=t,ui.valid(h)&&h.options(t||{},!0)},[t]),f.useEffect(()=>{const{current:h}=a;p.current=n,ui.valid(h)&&h.on(n||{},!0)},[n]),f.useEffect(()=>()=>{var h;s(),(h=a.current)==null||h.destroy()},[]),f.useMemo(()=>[h=>{const m=a.current;if(ui.valid(m))return;const v=c.current,b=d.current||{},w=p.current||{},y=()=>a.current=ui(h,b,w);v?o(y,v):y()},()=>a.current],[])},PJ=(e,t)=>{const{element:n="div",options:r,events:o,defer:s,children:a,...c}=e,d=n,p=f.useRef(null),h=f.useRef(null),[m,v]=LE({options:r,events:o,defer:s});return f.useEffect(()=>{const{current:b}=p,{current:w}=h;return b&&w&&m({target:b,elements:{viewport:w,content:w}}),()=>{var y;return(y=v())==null?void 0:y.destroy()}},[m,n]),f.useImperativeHandle(t,()=>({osInstance:v,getElement:()=>p.current}),[]),H.createElement(d,{"data-overlayscrollbars-initialize":"",ref:p,...c},H.createElement("div",{ref:h},a))},zE=f.forwardRef(PJ);var BE={exports:{}},FE={};const Lo=J1(ZR),wu=J1(e7),jJ=J1(t7);(function(e){var t,n,r=Al&&Al.__generator||function(J,ee){var he,_e,me,ut,ot={label:0,sent:function(){if(1&me[0])throw me[1];return me[1]},trys:[],ops:[]};return ut={next:Ht(0),throw:Ht(1),return:Ht(2)},typeof Symbol=="function"&&(ut[Symbol.iterator]=function(){return this}),ut;function Ht(ft){return function(xt){return function(He){if(he)throw new TypeError("Generator is already executing.");for(;ot;)try{if(he=1,_e&&(me=2&He[0]?_e.return:He[0]?_e.throw||((me=_e.return)&&me.call(_e),0):_e.next)&&!(me=me.call(_e,He[1])).done)return me;switch(_e=0,me&&(He=[2&He[0],me.value]),He[0]){case 0:case 1:me=He;break;case 4:return ot.label++,{value:He[1],done:!1};case 5:ot.label++,_e=He[1],He=[0];continue;case 7:He=ot.ops.pop(),ot.trys.pop();continue;default:if(!((me=(me=ot.trys).length>0&&me[me.length-1])||He[0]!==6&&He[0]!==2)){ot=0;continue}if(He[0]===3&&(!me||He[1]>me[0]&&He[1]=200&&J.status<=299},Q=function(J){return/ion\/(vnd\.api\+)?json/.test(J.get("content-type")||"")};function F(J){if(!(0,D.isPlainObject)(J))return J;for(var ee=S({},J),he=0,_e=Object.entries(ee);he<_e.length;he++){var me=_e[he];me[1]===void 0&&delete ee[me[0]]}return ee}function V(J){var ee=this;J===void 0&&(J={});var he=J.baseUrl,_e=J.prepareHeaders,me=_e===void 0?function(en){return en}:_e,ut=J.fetchFn,ot=ut===void 0?A:ut,Ht=J.paramsSerializer,ft=J.isJsonContentType,xt=ft===void 0?Q:ft,He=J.jsonContentType,Ce=He===void 0?"application/json":He,Xe=J.jsonReplacer,jt=J.timeout,Et=J.responseHandler,Nt=J.validateStatus,qt=P(J,["baseUrl","prepareHeaders","fetchFn","paramsSerializer","isJsonContentType","jsonContentType","jsonReplacer","timeout","responseHandler","validateStatus"]);return typeof fetch>"u"&&ot===A&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(en,Ut){return E(ee,null,function(){var Be,yt,Mt,Wt,jn,Gt,un,sn,Or,Jn,It,In,Rn,Zn,mr,Tn,Nn,dn,Sn,En,bn,yn,qe,Ot,St,st,wt,Bt,mt,rt,Oe,Ie,De,We,Ze,Dt;return r(this,function(Rt){switch(Rt.label){case 0:return Be=Ut.signal,yt=Ut.getState,Mt=Ut.extra,Wt=Ut.endpoint,jn=Ut.forced,Gt=Ut.type,Or=(sn=typeof en=="string"?{url:en}:en).url,It=(Jn=sn.headers)===void 0?new Headers(qt.headers):Jn,Rn=(In=sn.params)===void 0?void 0:In,mr=(Zn=sn.responseHandler)===void 0?Et??"json":Zn,Nn=(Tn=sn.validateStatus)===void 0?Nt??L:Tn,Sn=(dn=sn.timeout)===void 0?jt:dn,En=P(sn,["url","headers","params","responseHandler","validateStatus","timeout"]),bn=S(k(S({},qt),{signal:Be}),En),It=new Headers(F(It)),yn=bn,[4,me(It,{getState:yt,extra:Mt,endpoint:Wt,forced:jn,type:Gt})];case 1:yn.headers=Rt.sent()||It,qe=function(Ve){return typeof Ve=="object"&&((0,D.isPlainObject)(Ve)||Array.isArray(Ve)||typeof Ve.toJSON=="function")},!bn.headers.has("content-type")&&qe(bn.body)&&bn.headers.set("content-type",Ce),qe(bn.body)&&xt(bn.headers)&&(bn.body=JSON.stringify(bn.body,Xe)),Rn&&(Ot=~Or.indexOf("?")?"&":"?",St=Ht?Ht(Rn):new URLSearchParams(F(Rn)),Or+=Ot+St),Or=function(Ve,nn){if(!Ve)return nn;if(!nn)return Ve;if(function(hn){return new RegExp("(^|:)//").test(hn)}(nn))return nn;var xn=Ve.endsWith("/")||!nn.startsWith("?")?"/":"";return Ve=function(hn){return hn.replace(/\/$/,"")}(Ve),""+Ve+xn+function(hn){return hn.replace(/^\//,"")}(nn)}(he,Or),st=new Request(Or,bn),wt=st.clone(),un={request:wt},mt=!1,rt=Sn&&setTimeout(function(){mt=!0,Ut.abort()},Sn),Rt.label=2;case 2:return Rt.trys.push([2,4,5,6]),[4,ot(st)];case 3:return Bt=Rt.sent(),[3,6];case 4:return Oe=Rt.sent(),[2,{error:{status:mt?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(Oe)},meta:un}];case 5:return rt&&clearTimeout(rt),[7];case 6:Ie=Bt.clone(),un.response=Ie,We="",Rt.label=7;case 7:return Rt.trys.push([7,9,,10]),[4,Promise.all([tn(Bt,mr).then(function(Ve){return De=Ve},function(Ve){return Ze=Ve}),Ie.text().then(function(Ve){return We=Ve},function(){})])];case 8:if(Rt.sent(),Ze)throw Ze;return[3,10];case 9:return Dt=Rt.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:Bt.status,data:We,error:String(Dt)},meta:un}];case 10:return[2,Nn(Bt,De)?{data:De,meta:un}:{error:{status:Bt.status,data:De},meta:un}]}})})};function tn(en,Ut){return E(this,null,function(){var Be;return r(this,function(yt){switch(yt.label){case 0:return typeof Ut=="function"?[2,Ut(en)]:(Ut==="content-type"&&(Ut=xt(en.headers)?"json":"text"),Ut!=="json"?[3,2]:[4,en.text()]);case 1:return[2,(Be=yt.sent()).length?JSON.parse(Be):null];case 2:return[2,en.text()]}})})}}var q=function(J,ee){ee===void 0&&(ee=void 0),this.value=J,this.meta=ee};function G(J,ee){return J===void 0&&(J=0),ee===void 0&&(ee=5),E(this,null,function(){var he,_e;return r(this,function(me){switch(me.label){case 0:return he=Math.min(J,ee),_e=~~((Math.random()+.4)*(300<=Ie)}var En=(0,$e.createAsyncThunk)(Rn+"/executeQuery",dn,{getPendingMeta:function(){var qe;return(qe={startedTimeStamp:Date.now()})[$e.SHOULD_AUTOBATCH]=!0,qe},condition:function(qe,Ot){var St,st,wt,Bt=(0,Ot.getState)(),mt=(st=(St=Bt[Rn])==null?void 0:St.queries)==null?void 0:st[qe.queryCacheKey],rt=mt==null?void 0:mt.fulfilledTimeStamp,Oe=qe.originalArgs,Ie=mt==null?void 0:mt.originalArgs,De=mr[qe.endpointName];return!(!de(qe)&&((mt==null?void 0:mt.status)==="pending"||!Sn(qe,Bt)&&(!oe(De)||!((wt=De==null?void 0:De.forceRefetch)!=null&&wt.call(De,{currentArg:Oe,previousArg:Ie,endpointState:mt,state:Bt})))&&rt))},dispatchConditionRejection:!0}),bn=(0,$e.createAsyncThunk)(Rn+"/executeMutation",dn,{getPendingMeta:function(){var qe;return(qe={startedTimeStamp:Date.now()})[$e.SHOULD_AUTOBATCH]=!0,qe}});function yn(qe){return function(Ot){var St,st;return((st=(St=Ot==null?void 0:Ot.meta)==null?void 0:St.arg)==null?void 0:st.endpointName)===qe}}return{queryThunk:En,mutationThunk:bn,prefetch:function(qe,Ot,St){return function(st,wt){var Bt=function(De){return"force"in De}(St)&&St.force,mt=function(De){return"ifOlderThan"in De}(St)&&St.ifOlderThan,rt=function(De){return De===void 0&&(De=!0),Nn.endpoints[qe].initiate(Ot,{forceRefetch:De})},Oe=Nn.endpoints[qe].select(Ot)(wt());if(Bt)st(rt());else if(mt){var Ie=Oe==null?void 0:Oe.fulfilledTimeStamp;if(!Ie)return void st(rt());(Number(new Date)-Number(new Date(Ie)))/1e3>=mt&&st(rt())}else st(rt(!1))}},updateQueryData:function(qe,Ot,St){return function(st,wt){var Bt,mt,rt=Nn.endpoints[qe].select(Ot)(wt()),Oe={patches:[],inversePatches:[],undo:function(){return st(Nn.util.patchQueryData(qe,Ot,Oe.inversePatches))}};if(rt.status===t.uninitialized)return Oe;if("data"in rt)if((0,Ee.isDraftable)(rt.data)){var Ie=(0,Ee.produceWithPatches)(rt.data,St),De=Ie[2];(Bt=Oe.patches).push.apply(Bt,Ie[1]),(mt=Oe.inversePatches).push.apply(mt,De)}else{var We=St(rt.data);Oe.patches.push({op:"replace",path:[],value:We}),Oe.inversePatches.push({op:"replace",path:[],value:rt.data})}return st(Nn.util.patchQueryData(qe,Ot,Oe.patches)),Oe}},upsertQueryData:function(qe,Ot,St){return function(st){var wt;return st(Nn.endpoints[qe].initiate(Ot,((wt={subscribe:!1,forceRefetch:!0})[xe]=function(){return{data:St}},wt)))}},patchQueryData:function(qe,Ot,St){return function(st){st(Nn.internalActions.queryResultPatched({queryCacheKey:Tn({queryArgs:Ot,endpointDefinition:mr[qe],endpointName:qe}),patches:St}))}},buildMatchThunkActions:function(qe,Ot){return{matchPending:(0,Te.isAllOf)((0,Te.isPending)(qe),yn(Ot)),matchFulfilled:(0,Te.isAllOf)((0,Te.isFulfilled)(qe),yn(Ot)),matchRejected:(0,Te.isAllOf)((0,Te.isRejected)(qe),yn(Ot))}}}}({baseQuery:_e,reducerPath:me,context:he,api:J,serializeQueryArgs:ut}),Xe=Ce.queryThunk,jt=Ce.mutationThunk,Et=Ce.patchQueryData,Nt=Ce.updateQueryData,qt=Ce.upsertQueryData,tn=Ce.prefetch,en=Ce.buildMatchThunkActions,Ut=function(It){var In=It.reducerPath,Rn=It.queryThunk,Zn=It.mutationThunk,mr=It.context,Tn=mr.endpointDefinitions,Nn=mr.apiUid,dn=mr.extractRehydrationInfo,Sn=mr.hasRehydrationInfo,En=It.assertTagType,bn=It.config,yn=(0,ge.createAction)(In+"/resetApiState"),qe=(0,ge.createSlice)({name:In+"/queries",initialState:Pt,reducers:{removeQueryResult:{reducer:function(rt,Oe){delete rt[Oe.payload.queryCacheKey]},prepare:(0,ge.prepareAutoBatched)()},queryResultPatched:function(rt,Oe){var Ie=Oe.payload,De=Ie.patches;bt(rt,Ie.queryCacheKey,function(We){We.data=(0,vt.applyPatches)(We.data,De.concat())})}},extraReducers:function(rt){rt.addCase(Rn.pending,function(Oe,Ie){var De,We=Ie.meta,Ze=Ie.meta.arg,Dt=de(Ze);(Ze.subscribe||Dt)&&(Oe[De=Ze.queryCacheKey]!=null||(Oe[De]={status:t.uninitialized,endpointName:Ze.endpointName})),bt(Oe,Ze.queryCacheKey,function(Rt){Rt.status=t.pending,Rt.requestId=Dt&&Rt.requestId?Rt.requestId:We.requestId,Ze.originalArgs!==void 0&&(Rt.originalArgs=Ze.originalArgs),Rt.startedTimeStamp=We.startedTimeStamp})}).addCase(Rn.fulfilled,function(Oe,Ie){var De=Ie.meta,We=Ie.payload;bt(Oe,De.arg.queryCacheKey,function(Ze){var Dt;if(Ze.requestId===De.requestId||de(De.arg)){var Rt=Tn[De.arg.endpointName].merge;if(Ze.status=t.fulfilled,Rt)if(Ze.data!==void 0){var Ve=De.fulfilledTimeStamp,nn=De.arg,xn=De.baseQueryMeta,hn=De.requestId,gr=(0,ge.createNextState)(Ze.data,function(Xn){return Rt(Xn,We,{arg:nn.originalArgs,baseQueryMeta:xn,fulfilledTimeStamp:Ve,requestId:hn})});Ze.data=gr}else Ze.data=We;else Ze.data=(Dt=Tn[De.arg.endpointName].structuralSharing)==null||Dt?M((0,on.isDraft)(Ze.data)?(0,vt.original)(Ze.data):Ze.data,We):We;delete Ze.error,Ze.fulfilledTimeStamp=De.fulfilledTimeStamp}})}).addCase(Rn.rejected,function(Oe,Ie){var De=Ie.meta,We=De.condition,Ze=De.requestId,Dt=Ie.error,Rt=Ie.payload;bt(Oe,De.arg.queryCacheKey,function(Ve){if(!We){if(Ve.requestId!==Ze)return;Ve.status=t.rejected,Ve.error=Rt??Dt}})}).addMatcher(Sn,function(Oe,Ie){for(var De=dn(Ie).queries,We=0,Ze=Object.entries(De);We"u"||navigator.onLine===void 0||navigator.onLine,focused:typeof document>"u"||document.visibilityState!=="hidden",middlewareRegistered:!1},bn),reducers:{middlewareRegistered:function(rt,Oe){rt.middlewareRegistered=rt.middlewareRegistered!=="conflict"&&Nn===Oe.payload||"conflict"}},extraReducers:function(rt){rt.addCase(fe,function(Oe){Oe.online=!0}).addCase(ie,function(Oe){Oe.online=!1}).addCase(Y,function(Oe){Oe.focused=!0}).addCase(ae,function(Oe){Oe.focused=!1}).addMatcher(Sn,function(Oe){return S({},Oe)})}}),mt=(0,ge.combineReducers)({queries:qe.reducer,mutations:Ot.reducer,provided:St.reducer,subscriptions:wt.reducer,config:Bt.reducer});return{reducer:function(rt,Oe){return mt(yn.match(Oe)?void 0:rt,Oe)},actions:k(S(S(S(S(S({},Bt.actions),qe.actions),st.actions),wt.actions),Ot.actions),{unsubscribeMutationResult:Ot.actions.removeMutationResult,resetApiState:yn})}}({context:he,queryThunk:Xe,mutationThunk:jt,reducerPath:me,assertTagType:He,config:{refetchOnFocus:ft,refetchOnReconnect:xt,refetchOnMountOrArgChange:Ht,keepUnusedDataFor:ot,reducerPath:me}}),Be=Ut.reducer,yt=Ut.actions;$r(J.util,{patchQueryData:Et,updateQueryData:Nt,upsertQueryData:qt,prefetch:tn,resetApiState:yt.resetApiState}),$r(J.internalActions,yt);var Mt=function(It){var In=It.reducerPath,Rn=It.queryThunk,Zn=It.api,mr=It.context,Tn=mr.apiUid,Nn={invalidateTags:(0,lr.createAction)(In+"/invalidateTags")},dn=[Wr,pn,Hr,xr,Wn,Do];return{middleware:function(En){var bn=!1,yn=k(S({},It),{internalState:{currentSubscriptions:{}},refetchQuery:Sn}),qe=dn.map(function(st){return st(yn)}),Ot=function(st){var wt=st.api,Bt=st.queryThunk,mt=st.internalState,rt=wt.reducerPath+"/subscriptions",Oe=null,Ie=!1,De=wt.internalActions,We=De.updateSubscriptionOptions,Ze=De.unsubscribeQueryResult;return function(Dt,Rt){var Ve,nn;if(Oe||(Oe=JSON.parse(JSON.stringify(mt.currentSubscriptions))),wt.util.resetApiState.match(Dt))return Oe=mt.currentSubscriptions={},[!0,!1];if(wt.internalActions.internal_probeSubscription.match(Dt)){var xn=Dt.payload;return[!1,!!((Ve=mt.currentSubscriptions[xn.queryCacheKey])!=null&&Ve[xn.requestId])]}var hn=function(gn,Vn){var ao,fn,$n,Ur,Rr,Ua,Jd,Ao,fa;if(We.match(Vn)){var zs=Vn.payload,pa=zs.queryCacheKey,io=zs.requestId;return(ao=gn==null?void 0:gn[pa])!=null&&ao[io]&&(gn[pa][io]=zs.options),!0}if(Ze.match(Vn)){var lo=Vn.payload;return io=lo.requestId,gn[pa=lo.queryCacheKey]&&delete gn[pa][io],!0}if(wt.internalActions.removeQueryResult.match(Vn))return delete gn[Vn.payload.queryCacheKey],!0;if(Bt.pending.match(Vn)){var co=Vn.meta;if(io=co.requestId,(Yr=co.arg).subscribe)return(Wo=($n=gn[fn=Yr.queryCacheKey])!=null?$n:gn[fn]={})[io]=(Rr=(Ur=Yr.subscriptionOptions)!=null?Ur:Wo[io])!=null?Rr:{},!0}if(Bt.rejected.match(Vn)){var Wo,To=Vn.meta,Yr=To.arg;if(io=To.requestId,To.condition&&Yr.subscribe)return(Wo=(Jd=gn[Ua=Yr.queryCacheKey])!=null?Jd:gn[Ua]={})[io]=(fa=(Ao=Yr.subscriptionOptions)!=null?Ao:Wo[io])!=null?fa:{},!0}return!1}(mt.currentSubscriptions,Dt);if(hn){Ie||(ds(function(){var gn=JSON.parse(JSON.stringify(mt.currentSubscriptions)),Vn=(0,Vr.produceWithPatches)(Oe,function(){return gn});Rt.next(wt.internalActions.subscriptionsUpdated(Vn[1])),Oe=gn,Ie=!1}),Ie=!0);var gr=!!((nn=Dt.type)!=null&&nn.startsWith(rt)),Xn=Bt.rejected.match(Dt)&&Dt.meta.condition&&!!Dt.meta.arg.subscribe;return[!gr&&!Xn,!1]}return[!0,!1]}}(yn),St=function(st){var wt=st.reducerPath,Bt=st.context,mt=st.refetchQuery,rt=st.internalState,Oe=st.api.internalActions.removeQueryResult;function Ie(De,We){var Ze=De.getState()[wt],Dt=Ze.queries,Rt=rt.currentSubscriptions;Bt.batch(function(){for(var Ve=0,nn=Object.keys(Rt);Ve{const{boardToDelete:t,setBoardToDelete:n}=e,{t:r}=ye(),o=B(_=>_.config.canRestoreDeletedImagesFromBin),{currentData:s,isFetching:a}=n7((t==null?void 0:t.board_id)??ro.skipToken),c=f.useMemo(()=>be([lt],_=>{const P=(s??[]).map(E=>L_(_,E));return{imageUsageSummary:{isInitialImage:wa(P,E=>E.isInitialImage),isCanvasImage:wa(P,E=>E.isCanvasImage),isNodesImage:wa(P,E=>E.isNodesImage),isControlNetImage:wa(P,E=>E.isControlNetImage)}}}),[s]),[d,{isLoading:p}]=r7(),[h,{isLoading:m}]=o7(),{imageUsageSummary:v}=B(c),b=f.useCallback(()=>{t&&(d(t.board_id),n(void 0))},[t,d,n]),w=f.useCallback(()=>{t&&(h(t.board_id),n(void 0))},[t,h,n]),y=f.useCallback(()=>{n(void 0)},[n]),S=f.useRef(null),k=f.useMemo(()=>m||p||a,[m,p,a]);return t?i.jsx(Ad,{isOpen:!!t,onClose:y,leastDestructiveRef:S,isCentered:!0,children:i.jsx(Aa,{children:i.jsxs(Td,{children:[i.jsxs(Da,{fontSize:"lg",fontWeight:"bold",children:["Delete ",t.board_name]}),i.jsx(Ta,{children:i.jsxs(W,{direction:"column",gap:3,children:[a?i.jsx(Im,{children:i.jsx(W,{sx:{w:"full",h:32}})}):i.jsx(UI,{imageUsage:v,topMessage:"This board contains images used in the following features:",bottomMessage:"Deleting this board and its images will reset any features currently using them."}),i.jsx(Qe,{children:"Deleted boards cannot be restored."}),i.jsx(Qe,{children:r(o?"gallery.deleteImageBin":"gallery.deleteImagePermanent")})]})}),i.jsx(Ma,{children:i.jsxs(W,{sx:{justifyContent:"space-between",width:"full",gap:2},children:[i.jsx(Yt,{ref:S,onClick:y,children:"Cancel"}),i.jsx(Yt,{colorScheme:"warning",isLoading:k,onClick:b,children:"Delete Board Only"}),i.jsx(Yt,{colorScheme:"error",isLoading:k,onClick:w,children:"Delete Board and Images"})]})})]})})}):null},EJ=f.memo(IJ),HE=Ae((e,t)=>{const{role:n,tooltip:r="",tooltipProps:o,isChecked:s,...a}=e;return i.jsx(vn,{label:r,hasArrow:!0,...o,...o!=null&&o.placement?{placement:o.placement}:{placement:"top"},children:i.jsx(ka,{ref:t,role:n,colorScheme:s?"accent":"base",...a})})});HE.displayName="IAIIconButton";const ze=f.memo(HE),OJ="My Board",RJ=()=>{const[e,{isLoading:t}]=s7(),n=f.useCallback(()=>{e(OJ)},[e]);return i.jsx(ze,{icon:i.jsx(yl,{}),isLoading:t,tooltip:"Add Board","aria-label":"Add Board",onClick:n,size:"sm"})};var lk={path:i.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[i.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),i.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),i.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},WE=Ae((e,t)=>{const{as:n,viewBox:r,color:o="currentColor",focusable:s=!1,children:a,className:c,__css:d,...p}=e,h=Ct("chakra-icon",c),m=ia("Icon",e),v={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:o,...d,...m},b={ref:t,focusable:s,className:h,__css:v},w=r??lk.viewBox;if(n&&typeof n!="string")return i.jsx(je.svg,{as:n,...b,...p});const y=a??lk.path;return i.jsx(je.svg,{verticalAlign:"middle",viewBox:w,...b,...p,children:y})});WE.displayName="Icon";function Gd(e){const{viewBox:t="0 0 24 24",d:n,displayName:r,defaultProps:o={}}=e,s=f.Children.toArray(e.path),a=Ae((c,d)=>i.jsx(WE,{ref:d,viewBox:t,...o,...c,children:s.length?s:i.jsx("path",{fill:"currentColor",d:n})}));return a.displayName=r,a}var VE=Gd({displayName:"ExternalLinkIcon",path:i.jsxs("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2",children:[i.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),i.jsx("path",{d:"M15 3h6v6"}),i.jsx("path",{d:"M10 14L21 3"})]})}),Ly=Gd({d:"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z",displayName:"ChevronUpIcon"}),MJ=Gd({displayName:"CloseIcon",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"}),DJ=Gd({displayName:"DeleteIcon",path:i.jsx("g",{fill:"currentColor",children:i.jsx("path",{d:"M19.452 7.5H4.547a.5.5 0 00-.5.545l1.287 14.136A2 2 0 007.326 24h9.347a2 2 0 001.992-1.819L19.95 8.045a.5.5 0 00-.129-.382.5.5 0 00-.369-.163zm-9.2 13a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zm5 0a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zM22 4h-4.75a.25.25 0 01-.25-.25V2.5A2.5 2.5 0 0014.5 0h-5A2.5 2.5 0 007 2.5v1.25a.25.25 0 01-.25.25H2a1 1 0 000 2h20a1 1 0 000-2zM9 3.75V2.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v1.25a.25.25 0 01-.25.25h-5.5A.25.25 0 019 3.75z"})})}),AJ=Gd({displayName:"ChevronDownIcon",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"});const TJ=be([lt],({gallery:e})=>{const{boardSearchText:t}=e;return{boardSearchText:t}},Je),NJ=()=>{const e=te(),{boardSearchText:t}=B(TJ),n=f.useRef(null),r=f.useCallback(c=>{e(Y2(c))},[e]),o=f.useCallback(()=>{e(Y2(""))},[e]),s=f.useCallback(c=>{c.key==="Escape"&&o()},[o]),a=f.useCallback(c=>{r(c.target.value)},[r]);return f.useEffect(()=>{n.current&&n.current.focus()},[]),i.jsxs(Z3,{children:[i.jsx(Id,{ref:n,placeholder:"Search Boards...",value:t,onKeyDown:s,onChange:a}),t&&t.length&&i.jsx(Ob,{children:i.jsx(ka,{onClick:o,size:"xs",variant:"ghost","aria-label":"Clear Search",opacity:.5,icon:i.jsx(MJ,{boxSize:2})})})]})},$J=f.memo(NJ),LJ=e=>{const{isOver:t,label:n="Drop"}=e,r=f.useRef(di()),{colorMode:o}=Ds();return i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsxs(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full"},children:[i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:Fe("base.700","base.900")(o),opacity:.7,borderRadius:"base",alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),i.jsx(W,{sx:{position:"absolute",top:.5,insetInlineStart:.5,insetInlineEnd:.5,bottom:.5,opacity:1,borderWidth:2,borderColor:t?Fe("base.50","base.50")(o):Fe("base.200","base.300")(o),borderRadius:"lg",borderStyle:"dashed",transitionProperty:"common",transitionDuration:"0.1s",alignItems:"center",justifyContent:"center"},children:i.jsx(Re,{sx:{fontSize:"2xl",fontWeight:600,transform:t?"scale(1.1)":"scale(1)",color:t?Fe("base.50","base.50")(o):Fe("base.200","base.300")(o),transitionProperty:"common",transitionDuration:"0.1s"},children:n})})]})},r.current)},Jh=f.memo(LJ),zJ=e=>{const{dropLabel:t,data:n,disabled:r}=e,o=f.useRef(di()),{isOver:s,setNodeRef:a,active:c}=Z1({id:o.current,disabled:r,data:n});return i.jsx(Re,{ref:a,position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",pointerEvents:"none",children:i.jsx(mo,{children:Lp(n,c)&&i.jsx(Jh,{isOver:s,label:t})})})},zy=f.memo(zJ),By=({isSelected:e,isHovered:t})=>i.jsx(Re,{className:"selection-box",sx:{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,borderRadius:"base",opacity:e?1:.7,transitionProperty:"common",transitionDuration:"0.1s",shadow:e?t?"hoverSelected.light":"selected.light":t?"hoverUnselected.light":void 0,_dark:{shadow:e?t?"hoverSelected.dark":"selected.dark":t?"hoverUnselected.dark":void 0}}}),UE=()=>i.jsx(W,{sx:{position:"absolute",insetInlineEnd:0,top:0,p:1},children:i.jsx(gl,{variant:"solid",sx:{bg:"accent.400",_dark:{bg:"accent.500"}},children:"auto"})});var Vu=globalThis&&globalThis.__assign||function(){return Vu=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{const{boardName:t}=um(void 0,{selectFromResult:({data:n})=>{const r=n==null?void 0:n.find(s=>s.board_id===e);return{boardName:(r==null?void 0:r.board_name)||"Uncategorized"}}});return t},BJ=({board:e,setBoardToDelete:t})=>{const n=f.useCallback(()=>{t&&t(e)},[e,t]);return i.jsxs(i.Fragment,{children:[e.image_count>0&&i.jsx(i.Fragment,{}),i.jsx(jr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(Eo,{}),onClick:n,children:"Delete Board"})]})},FJ=f.memo(BJ),HJ=()=>i.jsx(i.Fragment,{}),WJ=f.memo(HJ),Fy=f.memo(({board:e,board_id:t,setBoardToDelete:n,children:r})=>{const o=te(),s=f.useMemo(()=>be(lt,({gallery:v,system:b})=>{const w=v.autoAddBoardId===t,y=b.isProcessing,S=v.autoAssignBoardOnClick;return{isAutoAdd:w,isProcessing:y,autoAssignBoardOnClick:S}}),[t]),{isAutoAdd:a,isProcessing:c,autoAssignBoardOnClick:d}=B(s),p=Ym(t),h=f.useCallback(()=>{o(dm(t))},[t,o]),m=f.useCallback(v=>{v.preventDefault()},[]);return i.jsx(GE,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>i.jsx(il,{sx:{visibility:"visible !important"},motionProps:Zu,onContextMenu:m,children:i.jsxs(sd,{title:p,children:[i.jsx(jr,{icon:i.jsx(yl,{}),isDisabled:a||c||d,onClick:h,children:"Auto-add to this Board"}),!e&&i.jsx(WJ,{}),e&&i.jsx(FJ,{board:e,setBoardToDelete:n})]})}),children:r})});Fy.displayName="HoverableBoard";const qE=f.memo(({board:e,isSelected:t,setBoardToDelete:n})=>{const r=te(),o=f.useMemo(()=>be(lt,({gallery:A,system:L})=>{const Q=e.board_id===A.autoAddBoardId,F=A.autoAssignBoardOnClick,V=L.isProcessing;return{isSelectedForAutoAdd:Q,autoAssignBoardOnClick:F,isProcessing:V}},Je),[e.board_id]),{isSelectedForAutoAdd:s,autoAssignBoardOnClick:a,isProcessing:c}=B(o),[d,p]=f.useState(!1),h=f.useCallback(()=>{p(!0)},[]),m=f.useCallback(()=>{p(!1)},[]),{data:v}=H_(e.board_id),{data:b}=W_(e.board_id),w=f.useMemo(()=>{if(!(!v||!b))return`${v} image${v>1?"s":""}, ${b} asset${b>1?"s":""}`},[b,v]),{currentData:y}=Is(e.cover_image_name??ro.skipToken),{board_name:S,board_id:k}=e,[_,P]=f.useState(S),I=f.useCallback(()=>{r(V_(k)),a&&!c&&r(dm(k))},[k,a,c,r]),[E,{isLoading:O}]=a7(),R=f.useMemo(()=>({id:k,actionType:"ADD_TO_BOARD",context:{boardId:k}}),[k]),M=f.useCallback(async A=>{if(!A.trim()){P(S);return}if(A!==S)try{const{board_name:L}=await E({board_id:k,changes:{board_name:A}}).unwrap();P(L)}catch{P(S)}},[k,S,E]),D=f.useCallback(A=>{P(A)},[]);return i.jsx(Re,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:i.jsx(W,{onMouseOver:h,onMouseOut:m,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",w:"full",h:"full"},children:i.jsx(Fy,{board:e,board_id:k,setBoardToDelete:n,children:A=>i.jsx(vn,{label:w,openDelay:1e3,hasArrow:!0,children:i.jsxs(W,{ref:A,onClick:I,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[y!=null&&y.thumbnail_url?i.jsx(Lc,{src:y==null?void 0:y.thumbnail_url,draggable:!1,sx:{objectFit:"cover",w:"full",h:"full",maxH:"full",borderRadius:"base",borderBottomRadius:"lg"}}):i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:i.jsx(fo,{boxSize:12,as:aQ,sx:{mt:-6,opacity:.7,color:"base.500",_dark:{color:"base.500"}}})}),s&&i.jsx(UE,{}),i.jsx(By,{isSelected:t,isHovered:d}),i.jsx(W,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:t?"accent.400":"base.500",color:t?"base.50":"base.100",_dark:{bg:t?"accent.500":"base.600",color:t?"base.50":"base.100"},lineHeight:"short",fontSize:"xs"},children:i.jsxs(f3,{value:_,isDisabled:O,submitOnBlur:!0,onChange:D,onSubmit:M,sx:{w:"full"},children:[i.jsx(c3,{sx:{p:0,fontWeight:t?700:500,textAlign:"center",overflow:"hidden",textOverflow:"ellipsis"},noOfLines:1}),i.jsx(l3,{sx:{p:0,_focusVisible:{p:0,textAlign:"center",boxShadow:"none"}}})]})}),i.jsx(zy,{data:R,dropLabel:i.jsx(Qe,{fontSize:"md",children:"Move"})})]})})})})})});qE.displayName="HoverableBoard";const VJ=be(lt,({gallery:e,system:t})=>{const{autoAddBoardId:n,autoAssignBoardOnClick:r}=e,{isProcessing:o}=t;return{autoAddBoardId:n,autoAssignBoardOnClick:r,isProcessing:o}},Je),KE=f.memo(({isSelected:e})=>{const t=te(),{autoAddBoardId:n,autoAssignBoardOnClick:r,isProcessing:o}=B(VJ),s=Ym("none"),a=f.useCallback(()=>{t(V_("none")),r&&!o&&t(dm("none"))},[t,r,o]),[c,d]=f.useState(!1),p=f.useCallback(()=>{d(!0)},[]),h=f.useCallback(()=>{d(!1)},[]),m=f.useMemo(()=>({id:"no_board",actionType:"REMOVE_FROM_BOARD"}),[]);return i.jsx(Re,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:i.jsx(W,{onMouseOver:p,onMouseOut:h,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",borderRadius:"base",w:"full",h:"full"},children:i.jsx(Fy,{board_id:"none",children:v=>i.jsxs(W,{ref:v,onClick:a,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:i.jsx(Lc,{src:U_,alt:"invoke-ai-logo",sx:{opacity:.4,filter:"grayscale(1)",mt:-6,w:16,h:16,minW:16,minH:16,userSelect:"none"}})}),n==="none"&&i.jsx(UE,{}),i.jsx(W,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:e?"accent.400":"base.500",color:e?"base.50":"base.100",_dark:{bg:e?"accent.500":"base.600",color:e?"base.50":"base.100"},lineHeight:"short",fontSize:"xs",fontWeight:e?700:500},children:s}),i.jsx(By,{isSelected:e,isHovered:c}),i.jsx(zy,{data:m,dropLabel:i.jsx(Qe,{fontSize:"md",children:"Move"})})]})})})})});KE.displayName="HoverableBoard";const UJ=be([lt],({gallery:e})=>{const{selectedBoardId:t,boardSearchText:n}=e;return{selectedBoardId:t,boardSearchText:n}},Je),GJ=e=>{const{isOpen:t}=e,{selectedBoardId:n,boardSearchText:r}=B(UJ),{data:o}=um(),s=r?o==null?void 0:o.filter(d=>d.board_name.toLowerCase().includes(r.toLowerCase())):o,[a,c]=f.useState();return i.jsxs(i.Fragment,{children:[i.jsx(vm,{in:t,animateOpacity:!0,children:i.jsxs(W,{layerStyle:"first",sx:{flexDir:"column",gap:2,p:2,mt:2,borderRadius:"base"},children:[i.jsxs(W,{sx:{gap:2,alignItems:"center"},children:[i.jsx($J,{}),i.jsx(RJ,{})]}),i.jsx(zE,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:i.jsxs(sl,{className:"list-container",sx:{gridTemplateColumns:"repeat(auto-fill, minmax(108px, 1fr));",maxH:346},children:[i.jsx(Yv,{sx:{p:1.5},children:i.jsx(KE,{isSelected:n==="none"})}),s&&s.map(d=>i.jsx(Yv,{sx:{p:1.5},children:i.jsx(qE,{board:d,isSelected:n===d.board_id,setBoardToDelete:c})},d.board_id))]})})]})}),i.jsx(EJ,{boardToDelete:a,setBoardToDelete:c})]})},qJ=f.memo(GJ),KJ=be([lt],e=>{const{selectedBoardId:t}=e.gallery;return{selectedBoardId:t}},Je),XJ=e=>{const{isOpen:t,onToggle:n}=e,{selectedBoardId:r}=B(KJ),o=Ym(r),s=f.useMemo(()=>o.length>20?`${o.substring(0,20)}...`:o,[o]);return i.jsxs(W,{as:yc,onClick:n,size:"sm",sx:{position:"relative",gap:2,w:"full",justifyContent:"space-between",alignItems:"center",px:2},children:[i.jsx(Qe,{noOfLines:1,sx:{fontWeight:600,w:"100%",textAlign:"center",color:"base.800",_dark:{color:"base.200"}},children:s}),i.jsx(Ly,{sx:{transform:t?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]})},YJ=f.memo(XJ);function XE(e){return nt({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146z"}}]})(e)}function YE(e){return nt({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146zm.122 2.112v-.002.002zm0-.002v.002a.5.5 0 0 1-.122.51L6.293 6.878a.5.5 0 0 1-.511.12H5.78l-.014-.004a4.507 4.507 0 0 0-.288-.076 4.922 4.922 0 0 0-.765-.116c-.422-.028-.836.008-1.175.15l5.51 5.509c.141-.34.177-.753.149-1.175a4.924 4.924 0 0 0-.192-1.054l-.004-.013v-.001a.5.5 0 0 1 .12-.512l3.536-3.535a.5.5 0 0 1 .532-.115l.096.022c.087.017.208.034.344.034.114 0 .23-.011.343-.04L9.927 2.028c-.029.113-.04.23-.04.343a1.779 1.779 0 0 0 .062.46z"}}]})(e)}const QJ=be([lt],e=>{const{shouldPinGallery:t}=e.ui;return{shouldPinGallery:t}},Je),JJ=()=>{const e=te(),{t}=ye(),{shouldPinGallery:n}=B(QJ),r=()=>{e(G_()),e(ko())};return i.jsx(ze,{size:"sm","aria-label":t("gallery.pinGallery"),tooltip:`${t("gallery.pinGallery")} (Shift+G)`,onClick:r,icon:n?i.jsx(XE,{}):i.jsx(YE,{})})},ZJ=e=>{const{triggerComponent:t,children:n,hasArrow:r=!0,isLazy:o=!0,...s}=e;return i.jsxs(Yb,{isLazy:o,...s,children:[i.jsx(Xb,{children:t}),i.jsxs(Qb,{shadow:"dark-lg",children:[r&&i.jsx(D6,{}),n]})]})},xl=f.memo(ZJ);function eZ(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12 16c1.671 0 3-1.331 3-3s-1.329-3-3-3-3 1.331-3 3 1.329 3 3 3z"}},{tag:"path",attr:{d:"M20.817 11.186a8.94 8.94 0 0 0-1.355-3.219 9.053 9.053 0 0 0-2.43-2.43 8.95 8.95 0 0 0-3.219-1.355 9.028 9.028 0 0 0-1.838-.18V2L8 5l3.975 3V6.002c.484-.002.968.044 1.435.14a6.961 6.961 0 0 1 2.502 1.053 7.005 7.005 0 0 1 1.892 1.892A6.967 6.967 0 0 1 19 13a7.032 7.032 0 0 1-.55 2.725 7.11 7.11 0 0 1-.644 1.188 7.2 7.2 0 0 1-.858 1.039 7.028 7.028 0 0 1-3.536 1.907 7.13 7.13 0 0 1-2.822 0 6.961 6.961 0 0 1-2.503-1.054 7.002 7.002 0 0 1-1.89-1.89A6.996 6.996 0 0 1 5 13H3a9.02 9.02 0 0 0 1.539 5.034 9.096 9.096 0 0 0 2.428 2.428A8.95 8.95 0 0 0 12 22a9.09 9.09 0 0 0 1.814-.183 9.014 9.014 0 0 0 3.218-1.355 8.886 8.886 0 0 0 1.331-1.099 9.228 9.228 0 0 0 1.1-1.332A8.952 8.952 0 0 0 21 13a9.09 9.09 0 0 0-.183-1.814z"}}]})(e)}const tZ=e=>{const[t,n]=f.useState(!1),{label:r,value:o,min:s=1,max:a=100,step:c=1,onChange:d,tooltipSuffix:p="",withSliderMarks:h=!1,withInput:m=!1,isInteger:v=!1,inputWidth:b=16,withReset:w=!1,hideTooltip:y=!1,isCompact:S=!1,isDisabled:k=!1,sliderMarks:_,handleReset:P,sliderFormControlProps:I,sliderFormLabelProps:E,sliderMarkProps:O,sliderTrackProps:R,sliderThumbProps:M,sliderNumberInputProps:D,sliderNumberInputFieldProps:A,sliderNumberInputStepperProps:L,sliderTooltipProps:Q,sliderIAIIconButtonProps:F,...V}=e,q=te(),{t:G}=ye(),[T,z]=f.useState(String(o));f.useEffect(()=>{z(o)},[o]);const $=f.useMemo(()=>D!=null&&D.min?D.min:s,[s,D==null?void 0:D.min]),Y=f.useMemo(()=>D!=null&&D.max?D.max:a,[a,D==null?void 0:D.max]),ae=f.useCallback(re=>{d(re)},[d]),fe=f.useCallback(re=>{re.target.value===""&&(re.target.value=String($));const oe=Es(v?Math.floor(Number(re.target.value)):Number(T),$,Y),pe=ju(oe,c);d(pe),z(pe)},[v,T,$,Y,d,c]),ie=f.useCallback(re=>{z(re)},[]),X=f.useCallback(()=>{P&&P()},[P]),K=f.useCallback(re=>{re.target instanceof HTMLDivElement&&re.target.focus()},[]),U=f.useCallback(re=>{re.shiftKey&&q(jo(!0))},[q]),se=f.useCallback(re=>{re.shiftKey||q(jo(!1))},[q]);return i.jsxs(go,{onClick:K,sx:S?{display:"flex",flexDirection:"row",alignItems:"center",columnGap:4,margin:0,padding:0}:{},isDisabled:k,...I,children:[r&&i.jsx(Bo,{sx:m?{mb:-1.5}:{},...E,children:r}),i.jsxs(fi,{w:"100%",gap:2,alignItems:"center",children:[i.jsxs(Q6,{"aria-label":r,value:o,min:s,max:a,step:c,onChange:ae,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),focusThumbOnChange:!1,isDisabled:k,...V,children:[h&&!_&&i.jsxs(i.Fragment,{children:[i.jsx(ql,{value:s,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...O,children:s}),i.jsx(ql,{value:a,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...O,children:a})]}),h&&_&&i.jsx(i.Fragment,{children:_.map((re,oe)=>oe===0?i.jsx(ql,{value:re,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...O,children:re},re):oe===_.length-1?i.jsx(ql,{value:re,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...O,children:re},re):i.jsx(ql,{value:re,sx:{transform:"translateX(-50%)"},...O,children:re},re))}),i.jsx(Z6,{...R,children:i.jsx(eP,{})}),i.jsx(vn,{hasArrow:!0,placement:"top",isOpen:t,label:`${o}${p}`,hidden:y,...Q,children:i.jsx(J6,{...M,zIndex:0})})]}),m&&i.jsxs(Cm,{min:$,max:Y,step:c,value:T,onChange:ie,onBlur:fe,focusInputOnChange:!1,...D,children:[i.jsx(_m,{onKeyDown:U,onKeyUp:se,minWidth:b,...A}),i.jsxs(km,{...L,children:[i.jsx(jm,{onClick:()=>d(Number(T))}),i.jsx(Pm,{onClick:()=>d(Number(T))})]})]}),w&&i.jsx(ze,{size:"sm","aria-label":G("accessibility.reset"),tooltip:G("accessibility.reset"),icon:i.jsx(eZ,{}),isDisabled:k,onClick:X,...F})]})]})},_t=f.memo(tZ),QE=f.forwardRef(({label:e,tooltip:t,description:n,disabled:r,...o},s)=>i.jsx(vn,{label:t,placement:"top",hasArrow:!0,openDelay:500,children:i.jsx(Re,{ref:s,...o,children:i.jsxs(Re,{children:[i.jsx(_c,{children:e}),n&&i.jsx(_c,{size:"xs",color:"base.600",children:n})]})})}));QE.displayName="IAIMantineSelectItemWithTooltip";const Oi=f.memo(QE),nZ=be([lt],({gallery:e,system:t})=>{const{autoAddBoardId:n,autoAssignBoardOnClick:r}=e,{isProcessing:o}=t;return{autoAddBoardId:n,autoAssignBoardOnClick:r,isProcessing:o}},Je),rZ=()=>{const e=te(),{autoAddBoardId:t,autoAssignBoardOnClick:n,isProcessing:r}=B(nZ),o=f.useRef(null),{boards:s,hasBoards:a}=um(void 0,{selectFromResult:({data:d})=>{const p=[{label:"None",value:"none"}];return d==null||d.forEach(({board_id:h,board_name:m})=>{p.push({label:m,value:h})}),{boards:p,hasBoards:p.length>1}}}),c=f.useCallback(d=>{d&&e(dm(d))},[e]);return i.jsx(ar,{label:"Auto-Add Board",inputRef:o,autoFocus:!0,placeholder:"Select a Board",value:t,data:s,nothingFound:"No matching Boards",itemComponent:Oi,disabled:!a||n||r,filter:(d,p)=>{var h;return((h=p.label)==null?void 0:h.toLowerCase().includes(d.toLowerCase().trim()))||p.value.toLowerCase().includes(d.toLowerCase().trim())},onChange:c})},oZ=e=>{const{label:t,...n}=e,{colorMode:r}=Ds();return i.jsx(n3,{colorScheme:"accent",...n,children:i.jsx(Qe,{sx:{fontSize:"sm",color:Fe("base.800","base.200")(r)},children:t})})},Gn=f.memo(oZ),sZ=be([lt],e=>{const{galleryImageMinimumWidth:t,shouldAutoSwitch:n,autoAssignBoardOnClick:r,shouldShowDeleteButton:o}=e.gallery;return{galleryImageMinimumWidth:t,shouldAutoSwitch:n,autoAssignBoardOnClick:r,shouldShowDeleteButton:o}},Je),aZ=()=>{const e=te(),{t}=ye(),{galleryImageMinimumWidth:n,shouldAutoSwitch:r,autoAssignBoardOnClick:o,shouldShowDeleteButton:s}=B(sZ),a=f.useCallback(h=>{e(zp(h))},[e]),c=f.useCallback(()=>{e(zp(64))},[e]),d=f.useCallback(h=>{e(i7(h.target.checked))},[e]),p=f.useCallback(h=>{e(l7(h.target.checked))},[e]);return i.jsx(xl,{triggerComponent:i.jsx(ze,{tooltip:t("gallery.gallerySettings"),"aria-label":t("gallery.gallerySettings"),size:"sm",icon:i.jsx(Sy,{})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(_t,{value:n,onChange:a,min:32,max:256,hideTooltip:!0,label:t("gallery.galleryImageSize"),withReset:!0,handleReset:c}),i.jsx(yr,{label:t("gallery.autoSwitchNewImages"),isChecked:r,onChange:d}),i.jsx(yr,{label:"Show Delete Button",isChecked:s,onChange:p}),i.jsx(Gn,{label:t("gallery.autoAssignBoardOnClick"),isChecked:o,onChange:h=>e(c7(h.target.checked))}),i.jsx(rZ,{})]})})},iZ=e=>e.image?i.jsx(Im,{sx:{w:`${e.image.width}px`,h:"auto",objectFit:"contain",aspectRatio:`${e.image.width}/${e.image.height}`}}):i.jsx(W,{sx:{opacity:.7,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",bg:"base.200",_dark:{bg:"base.900"}},children:i.jsx(hl,{size:"xl"})}),tl=e=>{const{icon:t=Oc,boxSize:n=16}=e;return i.jsxs(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",flexDir:"column",gap:2,userSelect:"none",opacity:.7,color:"base.700",_dark:{color:"base.500"},...e.sx},children:[i.jsx(fo,{as:t,boxSize:n,opacity:.7}),e.label&&i.jsx(Qe,{textAlign:"center",children:e.label})]})},Qm=0,Ri=1,Kc=2,JE=4;function lZ(e,t){return n=>e(t(n))}function cZ(e,t){return t(e)}function ZE(e,t){return n=>e(t,n)}function ck(e,t){return()=>e(t)}function Hy(e,t){return t(e),e}function wl(...e){return e}function uZ(e){e()}function uk(e){return()=>e}function dZ(...e){return()=>{e.map(uZ)}}function Jm(){}function ho(e,t){return e(Ri,t)}function Ar(e,t){e(Qm,t)}function Wy(e){e(Kc)}function Zm(e){return e(JE)}function Un(e,t){return ho(e,ZE(t,Qm))}function dk(e,t){const n=e(Ri,r=>{n(),t(r)});return n}function Sr(){const e=[];return(t,n)=>{switch(t){case Kc:e.splice(0,e.length);return;case Ri:return e.push(n),()=>{const r=e.indexOf(n);r>-1&&e.splice(r,1)};case Qm:e.slice().forEach(r=>{r(n)});return;default:throw new Error(`unrecognized action ${t}`)}}}function Kt(e){let t=e;const n=Sr();return(r,o)=>{switch(r){case Ri:o(t);break;case Qm:t=o;break;case JE:return t}return n(r,o)}}function fZ(e){let t,n;const r=()=>t&&t();return function(o,s){switch(o){case Ri:return s?n===s?void 0:(r(),n=s,t=ho(e,s),t):(r(),Jm);case Kc:r(),n=null;return;default:throw new Error(`unrecognized action ${o}`)}}}function Uu(e){return Hy(Sr(),t=>Un(e,t))}function gc(e,t){return Hy(Kt(t),n=>Un(e,n))}function pZ(...e){return t=>e.reduceRight(cZ,t)}function Xt(e,...t){const n=pZ(...t);return(r,o)=>{switch(r){case Ri:return ho(e,n(o));case Kc:Wy(e);return}}}function eO(e,t){return e===t}function Co(e=eO){let t;return n=>r=>{e(t,r)||(t=r,n(r))}}function Kr(e){return t=>n=>{e(n)&&t(n)}}function nr(e){return t=>lZ(t,e)}function ii(e){return t=>()=>t(e)}function wp(e,t){return n=>r=>n(t=e(t,r))}function R1(e){return t=>n=>{e>0?e--:t(n)}}function Du(e){let t=null,n;return r=>o=>{t=o,!n&&(n=setTimeout(()=>{n=void 0,r(t)},e))}}function fk(e){let t,n;return r=>o=>{t=o,n&&clearTimeout(n),n=setTimeout(()=>{r(t)},e)}}function Xs(...e){const t=new Array(e.length);let n=0,r=null;const o=Math.pow(2,e.length)-1;return e.forEach((s,a)=>{const c=Math.pow(2,a);ho(s,d=>{const p=n;n=n|c,t[a]=d,p!==o&&n===o&&r&&(r(),r=null)})}),s=>a=>{const c=()=>s([a].concat(t));n===o?c():r=c}}function pk(...e){return function(t,n){switch(t){case Ri:return dZ(...e.map(r=>ho(r,n)));case Kc:return;default:throw new Error(`unrecognized action ${t}`)}}}function wn(e,t=eO){return Xt(e,Co(t))}function Ca(...e){const t=Sr(),n=new Array(e.length);let r=0;const o=Math.pow(2,e.length)-1;return e.forEach((s,a)=>{const c=Math.pow(2,a);ho(s,d=>{n[a]=d,r=r|c,r===o&&Ar(t,n)})}),function(s,a){switch(s){case Ri:return r===o&&a(n),ho(t,a);case Kc:return Wy(t);default:throw new Error(`unrecognized action ${s}`)}}}function ua(e,t=[],{singleton:n}={singleton:!0}){return{id:hZ(),constructor:e,dependencies:t,singleton:n}}const hZ=()=>Symbol();function mZ(e){const t=new Map,n=({id:r,constructor:o,dependencies:s,singleton:a})=>{if(a&&t.has(r))return t.get(r);const c=o(s.map(d=>n(d)));return a&&t.set(r,c),c};return n(e)}function gZ(e,t){const n={},r={};let o=0;const s=e.length;for(;o(S[k]=_=>{const P=y[t.methods[k]];Ar(P,_)},S),{})}function h(y){return a.reduce((S,k)=>(S[k]=fZ(y[t.events[k]]),S),{})}return{Component:H.forwardRef((y,S)=>{const{children:k,..._}=y,[P]=H.useState(()=>Hy(mZ(e),E=>d(E,_))),[I]=H.useState(ck(h,P));return Sp(()=>{for(const E of a)E in _&&ho(I[E],_[E]);return()=>{Object.values(I).map(Wy)}},[_,I,P]),Sp(()=>{d(P,_)}),H.useImperativeHandle(S,uk(p(P))),H.createElement(c.Provider,{value:P},n?H.createElement(n,gZ([...r,...o,...a],_),k):k)}),usePublisher:y=>H.useCallback(ZE(Ar,H.useContext(c)[y]),[y]),useEmitterValue:y=>{const k=H.useContext(c)[y],[_,P]=H.useState(ck(Zm,k));return Sp(()=>ho(k,I=>{I!==_&&P(uk(I))}),[k,_]),_},useEmitter:(y,S)=>{const _=H.useContext(c)[y];Sp(()=>ho(_,S),[S,_])}}}const bZ=typeof document<"u"?H.useLayoutEffect:H.useEffect,yZ=bZ;var Vy=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e))(Vy||{});const xZ={0:"debug",1:"log",2:"warn",3:"error"},wZ=()=>typeof globalThis>"u"?window:globalThis,tO=ua(()=>{const e=Kt(3);return{log:Kt((n,r,o=1)=>{var s;const a=(s=wZ().VIRTUOSO_LOG_LEVEL)!=null?s:Zm(e);o>=a&&console[xZ[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",n,r)}),logLevel:e}},[],{singleton:!0});function nO(e,t=!0){const n=H.useRef(null);let r=o=>{};if(typeof ResizeObserver<"u"){const o=H.useMemo(()=>new ResizeObserver(s=>{const a=s[0].target;a.offsetParent!==null&&e(a)}),[e]);r=s=>{s&&t?(o.observe(s),n.current=s):(n.current&&o.unobserve(n.current),n.current=null)}}return{ref:n,callbackRef:r}}function eg(e,t=!0){return nO(e,t).callbackRef}function Zh(e,t){return Math.round(e.getBoundingClientRect()[t])}function rO(e,t){return Math.abs(e-t)<1.01}function oO(e,t,n,r=Jm,o){const s=H.useRef(null),a=H.useRef(null),c=H.useRef(null),d=H.useCallback(m=>{const v=m.target,b=v===window||v===document,w=b?window.pageYOffset||document.documentElement.scrollTop:v.scrollTop,y=b?document.documentElement.scrollHeight:v.scrollHeight,S=b?window.innerHeight:v.offsetHeight,k=()=>{e({scrollTop:Math.max(w,0),scrollHeight:y,viewportHeight:S})};m.suppressFlushSync?k():u7.flushSync(k),a.current!==null&&(w===a.current||w<=0||w===y-S)&&(a.current=null,t(!0),c.current&&(clearTimeout(c.current),c.current=null))},[e,t]);H.useEffect(()=>{const m=o||s.current;return r(o||s.current),d({target:m,suppressFlushSync:!0}),m.addEventListener("scroll",d,{passive:!0}),()=>{r(null),m.removeEventListener("scroll",d)}},[s,d,n,r,o]);function p(m){const v=s.current;if(!v||"offsetHeight"in v&&v.offsetHeight===0)return;const b=m.behavior==="smooth";let w,y,S;v===window?(y=Math.max(Zh(document.documentElement,"height"),document.documentElement.scrollHeight),w=window.innerHeight,S=document.documentElement.scrollTop):(y=v.scrollHeight,w=Zh(v,"height"),S=v.scrollTop);const k=y-w;if(m.top=Math.ceil(Math.max(Math.min(k,m.top),0)),rO(w,y)||m.top===S){e({scrollTop:S,scrollHeight:y,viewportHeight:w}),b&&t(!0);return}b?(a.current=m.top,c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{c.current=null,a.current=null,t(!0)},1e3)):a.current=null,v.scrollTo(m)}function h(m){s.current.scrollBy(m)}return{scrollerRef:s,scrollByCallback:h,scrollToCallback:p}}const tg=ua(()=>{const e=Sr(),t=Sr(),n=Kt(0),r=Sr(),o=Kt(0),s=Sr(),a=Sr(),c=Kt(0),d=Kt(0),p=Kt(0),h=Kt(0),m=Sr(),v=Sr(),b=Kt(!1);return Un(Xt(e,nr(({scrollTop:w})=>w)),t),Un(Xt(e,nr(({scrollHeight:w})=>w)),a),Un(t,o),{scrollContainerState:e,scrollTop:t,viewportHeight:s,headerHeight:c,fixedHeaderHeight:d,fixedFooterHeight:p,footerHeight:h,scrollHeight:a,smoothScrollTargetReached:r,scrollTo:m,scrollBy:v,statefulScrollTop:o,deviation:n,scrollingInProgress:b}},[],{singleton:!0}),SZ=typeof document<"u"&&"scrollBehavior"in document.documentElement.style;function CZ(e){const t=typeof e=="number"?{index:e}:e;return t.align||(t.align="start"),(!t.behavior||!SZ)&&(t.behavior="auto"),t.offset||(t.offset=0),t}const em="up",Gu="down",kZ="none",_Z={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,scrollHeight:0}},PZ=0,sO=ua(([{scrollContainerState:e,scrollTop:t,viewportHeight:n,headerHeight:r,footerHeight:o,scrollBy:s}])=>{const a=Kt(!1),c=Kt(!0),d=Sr(),p=Sr(),h=Kt(4),m=Kt(PZ),v=gc(Xt(pk(Xt(wn(t),R1(1),ii(!0)),Xt(wn(t),R1(1),ii(!1),fk(100))),Co()),!1),b=gc(Xt(pk(Xt(s,ii(!0)),Xt(s,ii(!1),fk(200))),Co()),!1);Un(Xt(Ca(wn(t),wn(m)),nr(([_,P])=>_<=P),Co()),c),Un(Xt(c,Du(50)),p);const w=Uu(Xt(Ca(e,wn(n),wn(r),wn(o),wn(h)),wp((_,[{scrollTop:P,scrollHeight:I},E,O,R,M])=>{const D=P+E-I>-M,A={viewportHeight:E,scrollTop:P,scrollHeight:I};if(D){let Q,F;return P>_.state.scrollTop?(Q="SCROLLED_DOWN",F=_.state.scrollTop-P):(Q="SIZE_DECREASED",F=_.state.scrollTop-P||_.scrollTopDelta),{atBottom:!0,state:A,atBottomBecause:Q,scrollTopDelta:F}}let L;return A.scrollHeight>_.state.scrollHeight?L="SIZE_INCREASED":E<_.state.viewportHeight?L="VIEWPORT_HEIGHT_DECREASING":P<_.state.scrollTop?L="SCROLLING_UPWARDS":L="NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",{atBottom:!1,notAtBottomBecause:L,state:A}},_Z),Co((_,P)=>_&&_.atBottom===P.atBottom))),y=gc(Xt(e,wp((_,{scrollTop:P,scrollHeight:I,viewportHeight:E})=>{if(rO(_.scrollHeight,I))return{scrollTop:P,scrollHeight:I,jump:0,changed:!1};{const O=I-(P+E)<1;return _.scrollTop!==P&&O?{scrollHeight:I,scrollTop:P,jump:_.scrollTop-P,changed:!0}:{scrollHeight:I,scrollTop:P,jump:0,changed:!0}}},{scrollHeight:0,jump:0,scrollTop:0,changed:!1}),Kr(_=>_.changed),nr(_=>_.jump)),0);Un(Xt(w,nr(_=>_.atBottom)),a),Un(Xt(a,Du(50)),d);const S=Kt(Gu);Un(Xt(e,nr(({scrollTop:_})=>_),Co(),wp((_,P)=>Zm(b)?{direction:_.direction,prevScrollTop:P}:{direction:P<_.prevScrollTop?em:Gu,prevScrollTop:P},{direction:Gu,prevScrollTop:0}),nr(_=>_.direction)),S),Un(Xt(e,Du(50),ii(kZ)),S);const k=Kt(0);return Un(Xt(v,Kr(_=>!_),ii(0)),k),Un(Xt(t,Du(100),Xs(v),Kr(([_,P])=>!!P),wp(([_,P],[I])=>[P,I],[0,0]),nr(([_,P])=>P-_)),k),{isScrolling:v,isAtTop:c,isAtBottom:a,atBottomState:w,atTopStateChange:p,atBottomStateChange:d,scrollDirection:S,atBottomThreshold:h,atTopThreshold:m,scrollVelocity:k,lastJumpDueToItemResize:y}},wl(tg)),jZ=ua(([{log:e}])=>{const t=Kt(!1),n=Uu(Xt(t,Kr(r=>r),Co()));return ho(t,r=>{r&&Zm(e)("props updated",{},Vy.DEBUG)}),{propsReady:t,didMount:n}},wl(tO),{singleton:!0});function aO(e,t){e==0?t():requestAnimationFrame(()=>aO(e-1,t))}function IZ(e,t){const n=t-1;return typeof e=="number"?e:e.index==="LAST"?n:e.index}function M1(e,t){return!!(e&&e[0]===t[0]&&e[1]===t[1])}function EZ(e,t){return!!(e&&e.startIndex===t.startIndex&&e.endIndex===t.endIndex)}const tm="top",nm="bottom",hk="none";function mk(e,t,n){return typeof e=="number"?n===em&&t===tm||n===Gu&&t===nm?e:0:n===em?t===tm?e.main:e.reverse:t===nm?e.main:e.reverse}function gk(e,t){return typeof e=="number"?e:e[t]||0}const OZ=ua(([{scrollTop:e,viewportHeight:t,deviation:n,headerHeight:r,fixedHeaderHeight:o}])=>{const s=Sr(),a=Kt(0),c=Kt(0),d=Kt(0),p=gc(Xt(Ca(wn(e),wn(t),wn(r),wn(s,M1),wn(d),wn(a),wn(o),wn(n),wn(c)),nr(([h,m,v,[b,w],y,S,k,_,P])=>{const I=h-_,E=S+k,O=Math.max(v-I,0);let R=hk;const M=gk(P,tm),D=gk(P,nm);return b-=_,b+=v+k,w+=v+k,w-=_,b>h+E-M&&(R=em),wh!=null),Co(M1)),[0,0]);return{listBoundary:s,overscan:d,topListHeight:a,increaseViewportBy:c,visibleRange:p}},wl(tg),{singleton:!0}),RZ=ua(([{scrollVelocity:e}])=>{const t=Kt(!1),n=Sr(),r=Kt(!1);return Un(Xt(e,Xs(r,t,n),Kr(([o,s])=>!!s),nr(([o,s,a,c])=>{const{exit:d,enter:p}=s;if(a){if(d(o,c))return!1}else if(p(o,c))return!0;return a}),Co()),t),ho(Xt(Ca(t,e,n),Xs(r)),([[o,s,a],c])=>o&&c&&c.change&&c.change(s,a)),{isSeeking:t,scrollSeekConfiguration:r,scrollVelocity:e,scrollSeekRangeChanged:n}},wl(sO),{singleton:!0});function MZ(e){let t=!1,n;return()=>(t||(t=!0,n=e()),n)}const DZ=ua(([{scrollTo:e,scrollContainerState:t}])=>{const n=Sr(),r=Sr(),o=Sr(),s=Kt(!1),a=Kt(void 0);return Un(Xt(Ca(n,r),nr(([{viewportHeight:c,scrollTop:d,scrollHeight:p},{offsetTop:h}])=>({scrollTop:Math.max(0,d-h),scrollHeight:p,viewportHeight:c}))),t),Un(Xt(e,Xs(r),nr(([c,{offsetTop:d}])=>({...c,top:c.top+d}))),o),{useWindowScroll:s,customScrollParent:a,windowScrollContainerState:n,windowViewportRect:r,windowScrollTo:o}},wl(tg)),uv="-webkit-sticky",vk="sticky",iO=MZ(()=>{if(typeof document>"u")return vk;const e=document.createElement("div");return e.style.position=uv,e.style.position===uv?uv:vk});function AZ(e,t){const n=H.useRef(null),r=H.useCallback(c=>{if(c===null||!c.offsetParent)return;const d=c.getBoundingClientRect(),p=d.width;let h,m;if(t){const v=t.getBoundingClientRect(),b=d.top-v.top;h=v.height-Math.max(0,b),m=b+t.scrollTop}else h=window.innerHeight-Math.max(0,d.top),m=d.top+window.pageYOffset;n.current={offsetTop:m,visibleHeight:h,visibleWidth:p},e(n.current)},[e,t]),{callbackRef:o,ref:s}=nO(r),a=H.useCallback(()=>{r(s.current)},[r,s]);return H.useEffect(()=>{if(t){t.addEventListener("scroll",a);const c=new ResizeObserver(a);return c.observe(t),()=>{t.removeEventListener("scroll",a),c.unobserve(t)}}else return window.addEventListener("scroll",a),window.addEventListener("resize",a),()=>{window.removeEventListener("scroll",a),window.removeEventListener("resize",a)}},[a,t]),o}H.createContext(void 0);const lO=H.createContext(void 0);function TZ(e){return e}iO();const NZ={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},cO={width:"100%",height:"100%",position:"absolute",top:0};iO();function nl(e,t){if(typeof e!="string")return{context:t}}function $Z({usePublisher:e,useEmitter:t,useEmitterValue:n}){return H.memo(function({style:s,children:a,...c}){const d=e("scrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),m=n("scrollerRef"),v=n("context"),{scrollerRef:b,scrollByCallback:w,scrollToCallback:y}=oO(d,h,p,m);return t("scrollTo",y),t("scrollBy",w),H.createElement(p,{ref:b,style:{...NZ,...s},"data-test-id":"virtuoso-scroller","data-virtuoso-scroller":!0,tabIndex:0,...c,...nl(p,v)},a)})}function LZ({usePublisher:e,useEmitter:t,useEmitterValue:n}){return H.memo(function({style:s,children:a,...c}){const d=e("windowScrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),m=n("totalListHeight"),v=n("deviation"),b=n("customScrollParent"),w=n("context"),{scrollerRef:y,scrollByCallback:S,scrollToCallback:k}=oO(d,h,p,Jm,b);return yZ(()=>(y.current=b||window,()=>{y.current=null}),[y,b]),t("windowScrollTo",k),t("scrollBy",S),H.createElement(p,{style:{position:"relative",...s,...m!==0?{height:m+v}:{}},"data-virtuoso-scroller":!0,...c,...nl(p,w)},a)})}const bk={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},zZ={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},{round:yk,ceil:xk,floor:rm,min:dv,max:qu}=Math;function BZ(e){return{...zZ,items:e}}function wk(e,t,n){return Array.from({length:t-e+1}).map((r,o)=>{const s=n===null?null:n[o+e];return{index:o+e,data:s}})}function FZ(e,t){return e&&e.column===t.column&&e.row===t.row}function Cp(e,t){return e&&e.width===t.width&&e.height===t.height}const HZ=ua(([{overscan:e,visibleRange:t,listBoundary:n},{scrollTop:r,viewportHeight:o,scrollBy:s,scrollTo:a,smoothScrollTargetReached:c,scrollContainerState:d,footerHeight:p,headerHeight:h},m,v,{propsReady:b,didMount:w},{windowViewportRect:y,useWindowScroll:S,customScrollParent:k,windowScrollContainerState:_,windowScrollTo:P},I])=>{const E=Kt(0),O=Kt(0),R=Kt(bk),M=Kt({height:0,width:0}),D=Kt({height:0,width:0}),A=Sr(),L=Sr(),Q=Kt(0),F=Kt(null),V=Kt({row:0,column:0}),q=Sr(),G=Sr(),T=Kt(!1),z=Kt(0),$=Kt(!0),Y=Kt(!1);ho(Xt(w,Xs(z),Kr(([U,se])=>!!se)),()=>{Ar($,!1),Ar(O,0)}),ho(Xt(Ca(w,$,D,M,z,Y),Kr(([U,se,re,oe,,pe])=>U&&!se&&re.height!==0&&oe.height!==0&&!pe)),([,,,,U])=>{Ar(Y,!0),aO(1,()=>{Ar(A,U)}),dk(Xt(r),()=>{Ar(n,[0,0]),Ar($,!0)})}),Un(Xt(G,Kr(U=>U!=null&&U.scrollTop>0),ii(0)),O),ho(Xt(w,Xs(G),Kr(([,U])=>U!=null)),([,U])=>{U&&(Ar(M,U.viewport),Ar(D,U==null?void 0:U.item),Ar(V,U.gap),U.scrollTop>0&&(Ar(T,!0),dk(Xt(r,R1(1)),se=>{Ar(T,!1)}),Ar(a,{top:U.scrollTop})))}),Un(Xt(M,nr(({height:U})=>U)),o),Un(Xt(Ca(wn(M,Cp),wn(D,Cp),wn(V,(U,se)=>U&&U.column===se.column&&U.row===se.row),wn(r)),nr(([U,se,re,oe])=>({viewport:U,item:se,gap:re,scrollTop:oe}))),q),Un(Xt(Ca(wn(E),t,wn(V,FZ),wn(D,Cp),wn(M,Cp),wn(F),wn(O),wn(T),wn($),wn(z)),Kr(([,,,,,,,U])=>!U),nr(([U,[se,re],oe,pe,le,ge,ke,,xe,de])=>{const{row:Te,column:Ee}=oe,{height:$e,width:kt}=pe,{width:ct}=le;if(ke===0&&(U===0||ct===0))return bk;if(kt===0){const $t=IZ(de,U),Lt=$t===0?Math.max(ke-1,0):$t;return BZ(wk($t,Lt,ge))}const on=uO(ct,kt,Ee);let vt,bt;xe?se===0&&re===0&&ke>0?(vt=0,bt=ke-1):(vt=on*rm((se+Te)/($e+Te)),bt=on*xk((re+Te)/($e+Te))-1,bt=dv(U-1,qu(bt,on-1)),vt=dv(bt,qu(0,vt))):(vt=0,bt=-1);const Se=wk(vt,bt,ge),{top:Me,bottom:Pt}=Sk(le,oe,pe,Se),Tt=xk(U/on),ht=Tt*$e+(Tt-1)*Te-Pt;return{items:Se,offsetTop:Me,offsetBottom:ht,top:Me,bottom:Pt,itemHeight:$e,itemWidth:kt}})),R),Un(Xt(F,Kr(U=>U!==null),nr(U=>U.length)),E),Un(Xt(Ca(M,D,R,V),Kr(([U,se,{items:re}])=>re.length>0&&se.height!==0&&U.height!==0),nr(([U,se,{items:re},oe])=>{const{top:pe,bottom:le}=Sk(U,oe,se,re);return[pe,le]}),Co(M1)),n);const ae=Kt(!1);Un(Xt(r,Xs(ae),nr(([U,se])=>se||U!==0)),ae);const fe=Uu(Xt(wn(R),Kr(({items:U})=>U.length>0),Xs(E,ae),Kr(([{items:U},se,re])=>re&&U[U.length-1].index===se-1),nr(([,U])=>U-1),Co())),ie=Uu(Xt(wn(R),Kr(({items:U})=>U.length>0&&U[0].index===0),ii(0),Co())),X=Uu(Xt(wn(R),Xs(T),Kr(([{items:U},se])=>U.length>0&&!se),nr(([{items:U}])=>({startIndex:U[0].index,endIndex:U[U.length-1].index})),Co(EZ),Du(0)));Un(X,v.scrollSeekRangeChanged),Un(Xt(A,Xs(M,D,E,V),nr(([U,se,re,oe,pe])=>{const le=CZ(U),{align:ge,behavior:ke,offset:xe}=le;let de=le.index;de==="LAST"&&(de=oe-1),de=qu(0,de,dv(oe-1,de));let Te=D1(se,pe,re,de);return ge==="end"?Te=yk(Te-se.height+re.height):ge==="center"&&(Te=yk(Te-se.height/2+re.height/2)),xe&&(Te+=xe),{top:Te,behavior:ke}})),a);const K=gc(Xt(R,nr(U=>U.offsetBottom+U.bottom)),0);return Un(Xt(y,nr(U=>({width:U.visibleWidth,height:U.visibleHeight}))),M),{data:F,totalCount:E,viewportDimensions:M,itemDimensions:D,scrollTop:r,scrollHeight:L,overscan:e,scrollBy:s,scrollTo:a,scrollToIndex:A,smoothScrollTargetReached:c,windowViewportRect:y,windowScrollTo:P,useWindowScroll:S,customScrollParent:k,windowScrollContainerState:_,deviation:Q,scrollContainerState:d,footerHeight:p,headerHeight:h,initialItemCount:O,gap:V,restoreStateFrom:G,...v,initialTopMostItemIndex:z,gridState:R,totalListHeight:K,...m,startReached:ie,endReached:fe,rangeChanged:X,stateChanged:q,propsReady:b,stateRestoreInProgress:T,...I}},wl(OZ,tg,sO,RZ,jZ,DZ,tO));function Sk(e,t,n,r){const{height:o}=n;if(o===void 0||r.length===0)return{top:0,bottom:0};const s=D1(e,t,n,r[0].index),a=D1(e,t,n,r[r.length-1].index)+o;return{top:s,bottom:a}}function D1(e,t,n,r){const o=uO(e.width,n.width,t.column),s=rm(r/o),a=s*n.height+qu(0,s-1)*t.row;return a>0?a+t.row:a}function uO(e,t,n){return qu(1,rm((e+n)/(rm(t)+n)))}const WZ=ua(()=>{const e=Kt(p=>`Item ${p}`),t=Kt({}),n=Kt(null),r=Kt("virtuoso-grid-item"),o=Kt("virtuoso-grid-list"),s=Kt(TZ),a=Kt("div"),c=Kt(Jm),d=(p,h=null)=>gc(Xt(t,nr(m=>m[p]),Co()),h);return{context:n,itemContent:e,components:t,computeItemKey:s,itemClassName:r,listClassName:o,headerFooterTag:a,scrollerRef:c,FooterComponent:d("Footer"),HeaderComponent:d("Header"),ListComponent:d("List","div"),ItemComponent:d("Item","div"),ScrollerComponent:d("Scroller","div"),ScrollSeekPlaceholder:d("ScrollSeekPlaceholder","div")}}),VZ=ua(([e,t])=>({...e,...t}),wl(HZ,WZ)),UZ=H.memo(function(){const t=fr("gridState"),n=fr("listClassName"),r=fr("itemClassName"),o=fr("itemContent"),s=fr("computeItemKey"),a=fr("isSeeking"),c=js("scrollHeight"),d=fr("ItemComponent"),p=fr("ListComponent"),h=fr("ScrollSeekPlaceholder"),m=fr("context"),v=js("itemDimensions"),b=js("gap"),w=fr("log"),y=fr("stateRestoreInProgress"),S=eg(k=>{const _=k.parentElement.parentElement.scrollHeight;c(_);const P=k.firstChild;if(P){const{width:I,height:E}=P.getBoundingClientRect();v({width:I,height:E})}b({row:Ck("row-gap",getComputedStyle(k).rowGap,w),column:Ck("column-gap",getComputedStyle(k).columnGap,w)})});return y?null:H.createElement(p,{ref:S,className:n,...nl(p,m),style:{paddingTop:t.offsetTop,paddingBottom:t.offsetBottom},"data-test-id":"virtuoso-item-list"},t.items.map(k=>{const _=s(k.index,k.data,m);return a?H.createElement(h,{key:_,...nl(h,m),index:k.index,height:t.itemHeight,width:t.itemWidth}):H.createElement(d,{...nl(d,m),className:r,"data-index":k.index,key:_},o(k.index,k.data,m))}))}),GZ=H.memo(function(){const t=fr("HeaderComponent"),n=js("headerHeight"),r=fr("headerFooterTag"),o=eg(a=>n(Zh(a,"height"))),s=fr("context");return t?H.createElement(r,{ref:o},H.createElement(t,nl(t,s))):null}),qZ=H.memo(function(){const t=fr("FooterComponent"),n=js("footerHeight"),r=fr("headerFooterTag"),o=eg(a=>n(Zh(a,"height"))),s=fr("context");return t?H.createElement(r,{ref:o},H.createElement(t,nl(t,s))):null}),KZ=({children:e})=>{const t=H.useContext(lO),n=js("itemDimensions"),r=js("viewportDimensions"),o=eg(s=>{r(s.getBoundingClientRect())});return H.useEffect(()=>{t&&(r({height:t.viewportHeight,width:t.viewportWidth}),n({height:t.itemHeight,width:t.itemWidth}))},[t,r,n]),H.createElement("div",{style:cO,ref:o},e)},XZ=({children:e})=>{const t=H.useContext(lO),n=js("windowViewportRect"),r=js("itemDimensions"),o=fr("customScrollParent"),s=AZ(n,o);return H.useEffect(()=>{t&&(r({height:t.itemHeight,width:t.itemWidth}),n({offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:t.viewportWidth}))},[t,n,r]),H.createElement("div",{ref:s,style:cO},e)},YZ=H.memo(function({...t}){const n=fr("useWindowScroll"),r=fr("customScrollParent"),o=r||n?ZZ:JZ,s=r||n?XZ:KZ;return H.createElement(o,{...t},H.createElement(s,null,H.createElement(GZ,null),H.createElement(UZ,null),H.createElement(qZ,null)))}),{Component:QZ,usePublisher:js,useEmitterValue:fr,useEmitter:dO}=vZ(VZ,{optional:{context:"context",totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",data:"data",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",restoreStateFrom:"restoreStateFrom",initialTopMostItemIndex:"initialTopMostItemIndex"},methods:{scrollTo:"scrollTo",scrollBy:"scrollBy",scrollToIndex:"scrollToIndex"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",stateChanged:"stateChanged"}},YZ),JZ=$Z({usePublisher:js,useEmitterValue:fr,useEmitter:dO}),ZZ=LZ({usePublisher:js,useEmitterValue:fr,useEmitter:dO});function Ck(e,t,n){return t!=="normal"&&!(t!=null&&t.endsWith("px"))&&n(`${e} was not resolved to pixel value correctly`,t,Vy.WARN),t==="normal"?0:parseInt(t??"0",10)}const eee=QZ,tee=e=>{const t=B(s=>s.gallery.galleryView),{data:n}=H_(e),{data:r}=W_(e),o=f.useMemo(()=>t==="images"?n:r,[t,r,n]);return{totalImages:n,totalAssets:r,currentViewTotal:o}},nee=({imageDTO:e})=>i.jsx(W,{sx:{pointerEvents:"none",flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,p:2,alignItems:"flex-start",gap:2},children:i.jsxs(gl,{variant:"solid",colorScheme:"base",children:[e.width," × ",e.height]})}),ng=({postUploadAction:e,isDisabled:t})=>{const n=B(d=>d.gallery.autoAddBoardId),[r]=$_(),o=f.useCallback(d=>{const p=d[0];p&&r({file:p,image_category:"user",is_intermediate:!1,postUploadAction:e??{type:"TOAST"},board_id:n==="none"?void 0:n})},[n,e,r]),{getRootProps:s,getInputProps:a,open:c}=ty({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},onDropAccepted:o,disabled:t,noDrag:!0,multiple:!1});return{getUploadButtonProps:s,getUploadInputProps:a,openUploader:c}},Uy=()=>{const e=te(),t=Vc(),{t:n}=ye(),r=f.useCallback(()=>{t({title:n("toast.parameterSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),o=f.useCallback(()=>{t({title:n("toast.parameterNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),s=f.useCallback(()=>{t({title:n("toast.parametersSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),a=f.useCallback(()=>{t({title:n("toast.parametersNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),c=f.useCallback((O,R,M,D)=>{if(Nf(O)||$f(R)||pu(M)||g0(D)){Nf(O)&&e($u(O)),$f(R)&&e(Lu(R)),pu(M)&&e(zu(M)),pu(D)&&e(Bu(D)),r();return}o()},[e,r,o]),d=f.useCallback(O=>{if(!Nf(O)){o();return}e($u(O)),r()},[e,r,o]),p=f.useCallback(O=>{if(!$f(O)){o();return}e(Lu(O)),r()},[e,r,o]),h=f.useCallback(O=>{if(!pu(O)){o();return}e(zu(O)),r()},[e,r,o]),m=f.useCallback(O=>{if(!g0(O)){o();return}e(Bu(O)),r()},[e,r,o]),v=f.useCallback(O=>{if(!Q2(O)){o();return}e(Bp(O)),r()},[e,r,o]),b=f.useCallback(O=>{if(!v0(O)){o();return}e(Fp(O)),r()},[e,r,o]),w=f.useCallback(O=>{if(!J2(O)){o();return}e(jv(O)),r()},[e,r,o]),y=f.useCallback(O=>{if(!b0(O)){o();return}e(Iv(O)),r()},[e,r,o]),S=f.useCallback(O=>{if(!y0(O)){o();return}e(Hp(O)),r()},[e,r,o]),k=f.useCallback(O=>{if(!Z2(O)){o();return}e(vc(O)),r()},[e,r,o]),_=f.useCallback(O=>{if(!ew(O)){o();return}e(bc(O)),r()},[e,r,o]),P=f.useCallback(O=>{if(!tw(O)){o();return}e(Wp(O)),r()},[e,r,o]),I=f.useCallback(O=>{e(eb(O))},[e]),E=f.useCallback(O=>{if(!O){a();return}const{cfg_scale:R,height:M,model:D,positive_prompt:A,negative_prompt:L,scheduler:Q,seed:F,steps:V,width:q,strength:G,positive_style_prompt:T,negative_style_prompt:z,refiner_model:$,refiner_cfg_scale:Y,refiner_steps:ae,refiner_scheduler:fe,refiner_aesthetic_store:ie,refiner_start:X}=O;v0(R)&&e(Fp(R)),J2(D)&&e(jv(D)),Nf(A)&&e($u(A)),$f(L)&&e(Lu(L)),b0(Q)&&e(Iv(Q)),Q2(F)&&e(Bp(F)),y0(V)&&e(Hp(V)),Z2(q)&&e(vc(q)),ew(M)&&e(bc(M)),tw(G)&&e(Wp(G)),pu(T)&&e(zu(T)),g0(z)&&e(Bu(z)),d7($)&&e(q_($)),y0(ae)&&e(Ev(ae)),v0(Y)&&e(Ov(Y)),b0(fe)&&e(K_(fe)),f7(ie)&&e(Rv(ie)),p7(X)&&e(Mv(X)),s()},[a,s,e]);return{recallBothPrompts:c,recallPositivePrompt:d,recallNegativePrompt:p,recallSDXLPositiveStylePrompt:h,recallSDXLNegativeStylePrompt:m,recallSeed:v,recallCfgScale:b,recallModel:w,recallScheduler:y,recallSteps:S,recallWidth:k,recallHeight:_,recallStrength:P,recallAllParameters:E,sendToImageToImage:I}},hr=e=>{const t=B(a=>a.config.disabledTabs),n=B(a=>a.config.disabledFeatures),r=B(a=>a.config.disabledSDFeatures),o=f.useMemo(()=>n.includes(e)||r.includes(e)||t.includes(e),[n,r,t,e]),s=f.useMemo(()=>!(n.includes(e)||r.includes(e)||t.includes(e)),[n,r,t,e]);return{isFeatureDisabled:o,isFeatureEnabled:s}},Gy=()=>{const e=Vc(),{t}=ye(),n=f.useMemo(()=>!!navigator.clipboard&&!!window.ClipboardItem,[]),r=f.useCallback(async o=>{n||e({title:t("toast.problemCopyingImage"),description:"Your browser doesn't support the Clipboard API.",status:"error",duration:2500,isClosable:!0});try{const a=await(await fetch(o)).blob();await navigator.clipboard.write([new ClipboardItem({[a.type]:a})]),e({title:t("toast.imageCopied"),status:"success",duration:2500,isClosable:!0})}catch(s){e({title:t("toast.problemCopyingImage"),description:String(s),status:"error",duration:2500,isClosable:!0})}},[n,t,e]);return{isClipboardAPIAvailable:n,copyImageToClipboard:r}};function ree(e,t,n){var r=this,o=f.useRef(null),s=f.useRef(0),a=f.useRef(null),c=f.useRef([]),d=f.useRef(),p=f.useRef(),h=f.useRef(e),m=f.useRef(!0);f.useEffect(function(){h.current=e},[e]);var v=!t&&t!==0&&typeof window<"u";if(typeof e!="function")throw new TypeError("Expected a function");t=+t||0;var b=!!(n=n||{}).leading,w=!("trailing"in n)||!!n.trailing,y="maxWait"in n,S=y?Math.max(+n.maxWait||0,t):null;f.useEffect(function(){return m.current=!0,function(){m.current=!1}},[]);var k=f.useMemo(function(){var _=function(M){var D=c.current,A=d.current;return c.current=d.current=null,s.current=M,p.current=h.current.apply(A,D)},P=function(M,D){v&&cancelAnimationFrame(a.current),a.current=v?requestAnimationFrame(M):setTimeout(M,D)},I=function(M){if(!m.current)return!1;var D=M-o.current;return!o.current||D>=t||D<0||y&&M-s.current>=S},E=function(M){return a.current=null,w&&c.current?_(M):(c.current=d.current=null,p.current)},O=function M(){var D=Date.now();if(I(D))return E(D);if(m.current){var A=t-(D-o.current),L=y?Math.min(A,S-(D-s.current)):A;P(M,L)}},R=function(){var M=Date.now(),D=I(M);if(c.current=[].slice.call(arguments),d.current=r,o.current=M,D){if(!a.current&&m.current)return s.current=o.current,P(O,t),b?_(o.current):p.current;if(y)return P(O,t),_(o.current)}return a.current||P(O,t),p.current};return R.cancel=function(){a.current&&(v?cancelAnimationFrame(a.current):clearTimeout(a.current)),s.current=0,c.current=o.current=d.current=a.current=null},R.isPending=function(){return!!a.current},R.flush=function(){return a.current?E(Date.now()):p.current},R},[b,y,t,S,w,v]);return k}function oee(e,t){return e===t}function kk(e){return typeof e=="function"?function(){return e}:e}function qy(e,t,n){var r,o,s=n&&n.equalityFn||oee,a=(r=f.useState(kk(e)),o=r[1],[r[0],f.useCallback(function(m){return o(kk(m))},[])]),c=a[0],d=a[1],p=ree(f.useCallback(function(m){return d(m)},[d]),t,n),h=f.useRef(e);return s(h.current,e)||(p(e),h.current=e),[c,p]}tb("gallery/requestedBoardImagesDeletion");const see=tb("gallery/sentImageToCanvas"),fO=tb("gallery/sentImageToImg2Img"),aee=e=>{const{imageDTO:t}=e,n=te(),{t:r}=ye(),o=Vc(),s=hr("unifiedCanvas").isFeatureEnabled,[a,c]=qy(t.image_name,500),{currentData:d}=nb(c.isPending()?ro.skipToken:a??ro.skipToken),{isClipboardAPIAvailable:p,copyImageToClipboard:h}=Gy(),m=d==null?void 0:d.metadata,v=f.useCallback(()=>{t&&n(fm([t]))},[n,t]),{recallBothPrompts:b,recallSeed:w,recallAllParameters:y}=Uy(),S=f.useCallback(()=>{b(m==null?void 0:m.positive_prompt,m==null?void 0:m.negative_prompt,m==null?void 0:m.positive_style_prompt,m==null?void 0:m.negative_style_prompt)},[m==null?void 0:m.negative_prompt,m==null?void 0:m.positive_prompt,m==null?void 0:m.positive_style_prompt,m==null?void 0:m.negative_style_prompt,b]),k=f.useCallback(()=>{w(m==null?void 0:m.seed)},[m==null?void 0:m.seed,w]),_=f.useCallback(()=>{n(fO()),n(eb(t))},[n,t]),P=f.useCallback(()=>{n(see()),n(h7(t)),n(pm()),n(Yl("unifiedCanvas")),o({title:r("toast.sentToUnifiedCanvas"),status:"success",duration:2500,isClosable:!0})},[n,t,r,o]),I=f.useCallback(()=>{console.log(m),y(m)},[m,y]),E=f.useCallback(()=>{n(X_([t])),n(Q1(!0))},[n,t]),O=f.useCallback(()=>{h(t.image_url)},[h,t.image_url]);return i.jsxs(i.Fragment,{children:[i.jsx(jr,{as:"a",href:t.image_url,target:"_blank",icon:i.jsx(BY,{}),children:r("common.openInNewTab")}),p&&i.jsx(jr,{icon:i.jsx(qc,{}),onClickCapture:O,children:r("parameters.copyImage")}),i.jsx(jr,{as:"a",download:!0,href:t.image_url,target:"_blank",icon:i.jsx(yy,{}),w:"100%",children:r("parameters.downloadImage")}),i.jsx(jr,{icon:i.jsx(iE,{}),onClickCapture:S,isDisabled:(m==null?void 0:m.positive_prompt)===void 0&&(m==null?void 0:m.negative_prompt)===void 0,children:r("parameters.usePrompt")}),i.jsx(jr,{icon:i.jsx(lE,{}),onClickCapture:k,isDisabled:(m==null?void 0:m.seed)===void 0,children:r("parameters.useSeed")}),i.jsx(jr,{icon:i.jsx(YI,{}),onClickCapture:I,isDisabled:!m,children:r("parameters.useAll")}),i.jsx(jr,{icon:i.jsx(T4,{}),onClickCapture:_,id:"send-to-img2img",children:r("parameters.sendToImg2Img")}),s&&i.jsx(jr,{icon:i.jsx(T4,{}),onClickCapture:P,id:"send-to-canvas",children:r("parameters.sendToUnifiedCanvas")}),i.jsx(jr,{icon:i.jsx(nE,{}),onClickCapture:E,children:"Change Board"}),i.jsx(jr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(Eo,{}),onClickCapture:v,children:r("gallery.deleteImage")})]})},pO=f.memo(aee),iee=()=>{const e=te(),t=B(o=>o.gallery.selection),n=f.useCallback(()=>{e(X_(t)),e(Q1(!0))},[e,t]),r=f.useCallback(()=>{e(fm(t))},[e,t]);return i.jsxs(i.Fragment,{children:[i.jsx(jr,{icon:i.jsx(nE,{}),onClickCapture:n,children:"Change Board"}),i.jsx(jr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(Eo,{}),onClickCapture:r,children:"Delete Selection"})]})},lee=be([lt],({gallery:e})=>({selectionCount:e.selection.length}),Je),cee=({imageDTO:e,children:t})=>{const{selectionCount:n}=B(lee),r=f.useCallback(o=>{o.preventDefault()},[]);return i.jsx(GE,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>e?n>1?i.jsx(il,{sx:{visibility:"visible !important"},motionProps:Zu,onContextMenu:r,children:i.jsx(iee,{})}):i.jsx(il,{sx:{visibility:"visible !important"},motionProps:Zu,onContextMenu:r,children:i.jsx(pO,{imageDTO:e})}):null,children:t})},uee=f.memo(cee),dee=e=>{const{data:t,disabled:n,onClick:r}=e,o=f.useRef(di()),{attributes:s,listeners:a,setNodeRef:c}=m7({id:o.current,disabled:n,data:t});return i.jsx(Re,{onClick:r,ref:c,position:"absolute",w:"full",h:"full",top:0,insetInlineStart:0,...s,...a})},fee=f.memo(dee),pee=e=>{const{imageDTO:t,onClickReset:n,onError:r,onClick:o,withResetIcon:s=!1,withMetadataOverlay:a=!1,isDropDisabled:c=!1,isDragDisabled:d=!1,isUploadDisabled:p=!1,minSize:h=24,postUploadAction:m,imageSx:v,fitContainer:b=!1,droppableData:w,draggableData:y,dropLabel:S,isSelected:k=!1,thumbnail:_=!1,resetTooltip:P="Reset",resetIcon:I=i.jsx(wy,{}),noContentFallback:E=i.jsx(tl,{icon:Oc}),useThumbailFallback:O,withHoverOverlay:R=!1}=e,{colorMode:M}=Ds(),[D,A]=f.useState(!1),L=f.useCallback(()=>{A(!0)},[]),Q=f.useCallback(()=>{A(!1)},[]),{getUploadButtonProps:F,getUploadInputProps:V}=ng({postUploadAction:m,isDisabled:p}),q=Pp("drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-600))","drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-800))"),G=p?{}:{cursor:"pointer",bg:Fe("base.200","base.800")(M),_hover:{bg:Fe("base.300","base.650")(M),color:Fe("base.500","base.300")(M)}};return i.jsx(uee,{imageDTO:t,children:T=>i.jsxs(W,{ref:T,onMouseOver:L,onMouseOut:Q,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative",minW:h||void 0,minH:h||void 0,userSelect:"none",cursor:d||!t?"default":"pointer"},children:[t&&i.jsxs(W,{sx:{w:"full",h:"full",position:b?"absolute":"relative",alignItems:"center",justifyContent:"center"},children:[i.jsx(Lc,{src:_?t.thumbnail_url:t.image_url,fallbackStrategy:"beforeLoadOrError",fallbackSrc:O?t.thumbnail_url:void 0,fallback:O?void 0:i.jsx(iZ,{image:t}),width:t.width,height:t.height,onError:r,draggable:!1,sx:{objectFit:"contain",maxW:"full",maxH:"full",borderRadius:"base",...v}}),a&&i.jsx(nee,{imageDTO:t}),i.jsx(By,{isSelected:k,isHovered:R?D:!1})]}),!t&&!p&&i.jsx(i.Fragment,{children:i.jsxs(W,{sx:{minH:h,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",transitionProperty:"common",transitionDuration:"0.1s",color:Fe("base.500","base.500")(M),...G},...F(),children:[i.jsx("input",{...V()}),i.jsx(fo,{as:Wd,sx:{boxSize:16}})]})}),!t&&p&&E,t&&!d&&i.jsx(fee,{data:y,disabled:d||!t,onClick:o}),!c&&i.jsx(zy,{data:w,disabled:c,dropLabel:S}),n&&s&&t&&i.jsx(ze,{onClick:n,"aria-label":P,tooltip:P,icon:I,size:"sm",variant:"link",sx:{position:"absolute",top:1,insetInlineEnd:1,p:0,minW:0,svg:{transitionProperty:"common",transitionDuration:"normal",fill:"base.100",_hover:{fill:"base.50"},filter:q}}})]})})},fl=f.memo(pee),hee=()=>i.jsx(Im,{sx:{position:"relative",height:"full",width:"full","::before":{content:"''",display:"block",pt:"100%"}},children:i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineStart:0,height:"full",width:"full"}})}),mee=be([lt,rb],({gallery:e},t)=>{const n=e.selection;return{queryArgs:t,selection:n}},Je),gee=e=>{const t=te(),{queryArgs:n,selection:r}=B(mee),{imageDTOs:o}=Y_(n,{selectFromResult:d=>({imageDTOs:d.data?g7.selectAll(d.data):[]})}),s=f.useCallback(d=>{var p;if(e)if(d.shiftKey){const h=e.image_name,m=(p=r[r.length-1])==null?void 0:p.image_name,v=o.findIndex(w=>w.image_name===m),b=o.findIndex(w=>w.image_name===h);if(v>-1&&b>-1){const w=Math.min(v,b),y=Math.max(v,b),S=o.slice(w,y+1);t(Lf(Ow(r.concat(S))))}}else d.ctrlKey||d.metaKey?r.some(h=>h.image_name===e.image_name)&&r.length>1?t(Lf(r.filter(h=>h.image_name!==e.image_name))):t(Lf(Ow(r.concat(e)))):t(Lf([e]))},[t,e,o,r]),a=f.useMemo(()=>e?r.some(d=>d.image_name===e.image_name):!1,[e,r]),c=f.useMemo(()=>r.length,[r.length]);return{selection:r,selectionCount:c,isSelected:a,handleClick:s}},vee=e=>{const t=te(),{imageName:n}=e,{currentData:r}=Is(n),o=B(m=>m.gallery.shouldShowDeleteButton),{handleClick:s,isSelected:a,selection:c,selectionCount:d}=gee(r),p=f.useCallback(m=>{m.stopPropagation(),r&&t(fm([r]))},[t,r]),h=f.useMemo(()=>{if(d>1)return{id:"gallery-image",payloadType:"IMAGE_DTOS",payload:{imageDTOs:c}};if(r)return{id:"gallery-image",payloadType:"IMAGE_DTO",payload:{imageDTO:r}}},[r,c,d]);return r?i.jsx(Re,{sx:{w:"full",h:"full",touchAction:"none"},children:i.jsx(W,{userSelect:"none",sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1"},children:i.jsx(fl,{onClick:s,imageDTO:r,draggableData:h,isSelected:a,minSize:0,onClickReset:p,imageSx:{w:"full",h:"full"},isDropDisabled:!0,isUploadDisabled:!0,thumbnail:!0,withHoverOverlay:!0,resetIcon:i.jsx(Eo,{}),resetTooltip:"Delete image",withResetIcon:o})})}):i.jsx(hee,{})},bee=f.memo(vee),yee=Ae((e,t)=>i.jsx(Re,{className:"item-container",ref:t,p:1.5,children:e.children})),xee=Ae((e,t)=>{const n=B(r=>r.gallery.galleryImageMinimumWidth);return i.jsx(sl,{...e,className:"list-container",ref:t,sx:{gridTemplateColumns:`repeat(auto-fill, minmax(${n}px, 1fr));`},children:e.children})}),wee={defer:!0,options:{scrollbars:{visibility:"auto",autoHide:"leave",autoHideDelay:1300,theme:"os-theme-dark"},overflow:{x:"hidden"}}},See=()=>{const{t:e}=ye(),t=f.useRef(null),[n,r]=f.useState(null),[o,s]=LE(wee),a=B(S=>S.gallery.selectedBoardId),{currentViewTotal:c}=tee(a),d=B(rb),{currentData:p,isFetching:h,isSuccess:m,isError:v}=Y_(d),[b]=Q_(),w=f.useMemo(()=>!p||!c?!1:p.ids.length{w&&b({...d,offset:(p==null?void 0:p.ids.length)??0,limit:J_})},[w,b,d,p==null?void 0:p.ids.length]);return f.useEffect(()=>{const{current:S}=t;return n&&S&&o({target:S,elements:{viewport:n}}),()=>{var k;return(k=s())==null?void 0:k.destroy()}},[n,o,s]),p?m&&(p==null?void 0:p.ids.length)===0?i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(tl,{label:e("gallery.noImagesInGallery"),icon:Oc})}):m&&p?i.jsxs(i.Fragment,{children:[i.jsx(Re,{ref:t,"data-overlayscrollbars":"",h:"100%",children:i.jsx(eee,{style:{height:"100%"},data:p.ids,endReached:y,components:{Item:yee,List:xee},scrollerRef:r,itemContent:(S,k)=>i.jsx(bee,{imageName:k},k)})}),i.jsx(Yt,{onClick:y,isDisabled:!w,isLoading:h,loadingText:"Loading",flexShrink:0,children:`Load More (${p.ids.length} of ${c})`})]}):v?i.jsx(Re,{sx:{w:"full",h:"full"},children:i.jsx(tl,{label:"Unable to load Gallery",icon:ZI})}):null:i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(tl,{label:"Loading...",icon:Oc})})},Cee=f.memo(See),kee=be([lt],e=>{const{galleryView:t}=e.gallery;return{galleryView:t}},Je),_ee=()=>{const e=f.useRef(null),t=f.useRef(null),{galleryView:n}=B(kee),r=te(),{isOpen:o,onToggle:s}=ss(),a=f.useCallback(()=>{r(nw("images"))},[r]),c=f.useCallback(()=>{r(nw("assets"))},[r]);return i.jsxs(o6,{sx:{flexDirection:"column",h:"full",w:"full",borderRadius:"base"},children:[i.jsxs(Re,{sx:{w:"full"},children:[i.jsxs(W,{ref:e,sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:[i.jsx(YJ,{isOpen:o,onToggle:s}),i.jsx(aZ,{}),i.jsx(JJ,{})]}),i.jsx(Re,{children:i.jsx(qJ,{isOpen:o})})]}),i.jsxs(W,{ref:t,direction:"column",gap:2,h:"full",w:"full",children:[i.jsx(W,{sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:i.jsx($d,{index:n==="images"?0:1,variant:"unstyled",size:"sm",sx:{w:"full"},children:i.jsx(Ld,{children:i.jsxs(rr,{isAttached:!0,sx:{w:"full"},children:[i.jsx(kc,{as:Yt,size:"sm",isChecked:n==="images",onClick:a,sx:{w:"full"},leftIcon:i.jsx(UY,{}),children:"Images"}),i.jsx(kc,{as:Yt,size:"sm",isChecked:n==="assets",onClick:c,sx:{w:"full"},leftIcon:i.jsx(nQ,{}),children:"Assets"})]})})})}),i.jsx(Cee,{})]})]})},hO=f.memo(_ee),Pee=be([Kn,Ba,v7,ir],(e,t,n,r)=>{const{shouldPinGallery:o,shouldShowGallery:s}=t,{galleryImageMinimumWidth:a}=n;return{activeTabName:e,isStaging:r,shouldPinGallery:o,shouldShowGallery:s,galleryImageMinimumWidth:a,isResizable:e!=="unifiedCanvas"}},{memoizeOptions:{resultEqualityCheck:Zt}}),jee=()=>{const e=te(),{shouldPinGallery:t,shouldShowGallery:n,galleryImageMinimumWidth:r}=B(Pee),o=()=>{e(Dv(!1)),t&&e(ko())};tt("esc",()=>{e(Dv(!1))},{enabled:()=>!t,preventDefault:!0},[t]);const s=32;return tt("shift+up",()=>{if(r<256){const a=Es(r+s,32,256);e(zp(a))}},[r]),tt("shift+down",()=>{if(r>32){const a=Es(r-s,32,256);e(zp(a))}},[r]),t?null:i.jsx(GI,{direction:"right",isResizable:!0,isOpen:n,onClose:o,minWidth:400,children:i.jsx(hO,{})})},Iee=f.memo(jee);function Eee(e){const{title:t,hotkey:n,description:r}=e;return i.jsxs(sl,{sx:{gridTemplateColumns:"auto max-content",justifyContent:"space-between",alignItems:"center"},children:[i.jsxs(sl,{children:[i.jsx(Qe,{fontWeight:600,children:t}),r&&i.jsx(Qe,{sx:{fontSize:"sm"},variant:"subtext",children:r})]}),i.jsx(Re,{sx:{fontSize:"sm",fontWeight:600,px:2,py:1},children:n})]})}function Oee({children:e}){const{isOpen:t,onOpen:n,onClose:r}=ss(),{t:o}=ye(),s=[{title:o("hotkeys.invoke.title"),desc:o("hotkeys.invoke.desc"),hotkey:"Ctrl+Enter"},{title:o("hotkeys.cancel.title"),desc:o("hotkeys.cancel.desc"),hotkey:"Shift+X"},{title:o("hotkeys.focusPrompt.title"),desc:o("hotkeys.focusPrompt.desc"),hotkey:"Alt+A"},{title:o("hotkeys.toggleOptions.title"),desc:o("hotkeys.toggleOptions.desc"),hotkey:"O"},{title:o("hotkeys.pinOptions.title"),desc:o("hotkeys.pinOptions.desc"),hotkey:"Shift+O"},{title:o("hotkeys.toggleGallery.title"),desc:o("hotkeys.toggleGallery.desc"),hotkey:"G"},{title:o("hotkeys.maximizeWorkSpace.title"),desc:o("hotkeys.maximizeWorkSpace.desc"),hotkey:"F"},{title:o("hotkeys.changeTabs.title"),desc:o("hotkeys.changeTabs.desc"),hotkey:"1-5"}],a=[{title:o("hotkeys.setPrompt.title"),desc:o("hotkeys.setPrompt.desc"),hotkey:"P"},{title:o("hotkeys.setSeed.title"),desc:o("hotkeys.setSeed.desc"),hotkey:"S"},{title:o("hotkeys.setParameters.title"),desc:o("hotkeys.setParameters.desc"),hotkey:"A"},{title:o("hotkeys.upscale.title"),desc:o("hotkeys.upscale.desc"),hotkey:"Shift+U"},{title:o("hotkeys.showInfo.title"),desc:o("hotkeys.showInfo.desc"),hotkey:"I"},{title:o("hotkeys.sendToImageToImage.title"),desc:o("hotkeys.sendToImageToImage.desc"),hotkey:"Shift+I"},{title:o("hotkeys.deleteImage.title"),desc:o("hotkeys.deleteImage.desc"),hotkey:"Del"},{title:o("hotkeys.closePanels.title"),desc:o("hotkeys.closePanels.desc"),hotkey:"Esc"}],c=[{title:o("hotkeys.previousImage.title"),desc:o("hotkeys.previousImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextImage.title"),desc:o("hotkeys.nextImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.toggleGalleryPin.title"),desc:o("hotkeys.toggleGalleryPin.desc"),hotkey:"Shift+G"},{title:o("hotkeys.increaseGalleryThumbSize.title"),desc:o("hotkeys.increaseGalleryThumbSize.desc"),hotkey:"Shift+Up"},{title:o("hotkeys.decreaseGalleryThumbSize.title"),desc:o("hotkeys.decreaseGalleryThumbSize.desc"),hotkey:"Shift+Down"}],d=[{title:o("hotkeys.selectBrush.title"),desc:o("hotkeys.selectBrush.desc"),hotkey:"B"},{title:o("hotkeys.selectEraser.title"),desc:o("hotkeys.selectEraser.desc"),hotkey:"E"},{title:o("hotkeys.decreaseBrushSize.title"),desc:o("hotkeys.decreaseBrushSize.desc"),hotkey:"["},{title:o("hotkeys.increaseBrushSize.title"),desc:o("hotkeys.increaseBrushSize.desc"),hotkey:"]"},{title:o("hotkeys.decreaseBrushOpacity.title"),desc:o("hotkeys.decreaseBrushOpacity.desc"),hotkey:"Shift + ["},{title:o("hotkeys.increaseBrushOpacity.title"),desc:o("hotkeys.increaseBrushOpacity.desc"),hotkey:"Shift + ]"},{title:o("hotkeys.moveTool.title"),desc:o("hotkeys.moveTool.desc"),hotkey:"V"},{title:o("hotkeys.fillBoundingBox.title"),desc:o("hotkeys.fillBoundingBox.desc"),hotkey:"Shift + F"},{title:o("hotkeys.eraseBoundingBox.title"),desc:o("hotkeys.eraseBoundingBox.desc"),hotkey:"Delete / Backspace"},{title:o("hotkeys.colorPicker.title"),desc:o("hotkeys.colorPicker.desc"),hotkey:"C"},{title:o("hotkeys.toggleSnap.title"),desc:o("hotkeys.toggleSnap.desc"),hotkey:"N"},{title:o("hotkeys.quickToggleMove.title"),desc:o("hotkeys.quickToggleMove.desc"),hotkey:"Hold Space"},{title:o("hotkeys.toggleLayer.title"),desc:o("hotkeys.toggleLayer.desc"),hotkey:"Q"},{title:o("hotkeys.clearMask.title"),desc:o("hotkeys.clearMask.desc"),hotkey:"Shift+C"},{title:o("hotkeys.hideMask.title"),desc:o("hotkeys.hideMask.desc"),hotkey:"H"},{title:o("hotkeys.showHideBoundingBox.title"),desc:o("hotkeys.showHideBoundingBox.desc"),hotkey:"Shift+H"},{title:o("hotkeys.mergeVisible.title"),desc:o("hotkeys.mergeVisible.desc"),hotkey:"Shift+M"},{title:o("hotkeys.saveToGallery.title"),desc:o("hotkeys.saveToGallery.desc"),hotkey:"Shift+S"},{title:o("hotkeys.copyToClipboard.title"),desc:o("hotkeys.copyToClipboard.desc"),hotkey:"Ctrl+C"},{title:o("hotkeys.downloadImage.title"),desc:o("hotkeys.downloadImage.desc"),hotkey:"Shift+D"},{title:o("hotkeys.undoStroke.title"),desc:o("hotkeys.undoStroke.desc"),hotkey:"Ctrl+Z"},{title:o("hotkeys.redoStroke.title"),desc:o("hotkeys.redoStroke.desc"),hotkey:"Ctrl+Shift+Z, Ctrl+Y"},{title:o("hotkeys.resetView.title"),desc:o("hotkeys.resetView.desc"),hotkey:"R"},{title:o("hotkeys.previousStagingImage.title"),desc:o("hotkeys.previousStagingImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextStagingImage.title"),desc:o("hotkeys.nextStagingImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.acceptStagingImage.title"),desc:o("hotkeys.acceptStagingImage.desc"),hotkey:"Enter"}],p=h=>i.jsx(W,{flexDir:"column",gap:4,children:h.map((m,v)=>i.jsxs(W,{flexDir:"column",px:2,gap:4,children:[i.jsx(Eee,{title:m.title,description:m.desc,hotkey:m.hotkey}),v{const{data:t}=b7(),n=f.useRef(null),r=mO(n);return i.jsxs(W,{alignItems:"center",gap:3,ps:1,ref:n,children:[i.jsx(Lc,{src:U_,alt:"invoke-ai-logo",sx:{w:"32px",h:"32px",minW:"32px",minH:"32px",userSelect:"none"}}),i.jsxs(W,{sx:{gap:3,alignItems:"center"},children:[i.jsxs(Qe,{sx:{fontSize:"xl",userSelect:"none"},children:["invoke ",i.jsx("strong",{children:"ai"})]}),i.jsx(mo,{children:e&&r&&t&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:i.jsx(Qe,{sx:{fontWeight:600,marginTop:1,color:"base.300",fontSize:14},variant:"subtext",children:t.version})},"statusText")})]})]})},$ee=e=>{const{tooltip:t,inputRef:n,label:r,disabled:o,required:s,...a}=e,c=VI();return i.jsx(vn,{label:t,placement:"top",hasArrow:!0,children:i.jsx(gy,{label:r?i.jsx(go,{isRequired:s,isDisabled:o,children:i.jsx(Bo,{children:r})}):void 0,disabled:o,ref:n,styles:c,...a})})},Xr=f.memo($ee);function Yo(e){const{t}=ye(),{label:n,textProps:r,useBadge:o=!1,badgeLabel:s=t("settings.experimental"),badgeProps:a,...c}=e;return i.jsxs(W,{justifyContent:"space-between",py:1,children:[i.jsxs(W,{gap:2,alignItems:"center",children:[i.jsx(Qe,{sx:{fontSize:14,_dark:{color:"base.300"}},...r,children:n}),o&&i.jsx(gl,{size:"xs",sx:{px:2,color:"base.700",bg:"accent.200",_dark:{bg:"accent.500",color:"base.200"}},...a,children:s})]}),i.jsx(yr,{...c})]})}const Xl=e=>i.jsx(W,{sx:{flexDirection:"column",gap:2,p:4,borderRadius:"base",bg:"base.100",_dark:{bg:"base.900"}},children:e.children});function Lee(){const e=te(),{data:t,refetch:n}=y7(),[r,{isLoading:o}]=x7(),s=f.useCallback(()=>{r().unwrap().then(c=>{e(w7()),e(ob()),e(On({title:`Cleared ${c} intermediates`,status:"info"}))})},[r,e]);f.useEffect(()=>{n()},[n]);const a=t?`Clear ${t} Intermediate${t>1?"s":""}`:"No Intermediates to Clear";return i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:"Clear Intermediates"}),i.jsx(Yt,{colorScheme:"warning",onClick:s,isLoading:o,isDisabled:!t,children:a}),i.jsx(Qe,{fontWeight:"bold",children:"Clearing intermediates will reset your Canvas and ControlNet state."}),i.jsx(Qe,{variant:"subtext",children:"Intermediate images are byproducts of generation, different from the result images in the gallery. Clearing intermediates will free disk space."}),i.jsx(Qe,{variant:"subtext",children:"Your gallery images will not be deleted."})]})}const zee=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:a,base700:c,base800:d,base900:p,accent200:h,accent300:m,accent400:v,accent500:b,accent600:w}=vy(),{colorMode:y}=Ds(),[S]=$c("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:Fe(c,r)(y)},separatorLabel:{color:Fe(s,s)(y),"::after":{borderTopColor:Fe(r,c)(y)}},searchInput:{":placeholder":{color:Fe(r,c)(y)}},input:{backgroundColor:Fe(e,p)(y),borderWidth:"2px",borderColor:Fe(n,d)(y),color:Fe(p,t)(y),paddingRight:24,fontWeight:600,"&:hover":{borderColor:Fe(r,a)(y)},"&:focus":{borderColor:Fe(m,w)(y)},"&:is(:focus, :hover)":{borderColor:Fe(o,s)(y)},"&:focus-within":{borderColor:Fe(h,w)(y)},"&[data-disabled]":{backgroundColor:Fe(r,c)(y),color:Fe(a,o)(y),cursor:"not-allowed"}},value:{backgroundColor:Fe(n,d)(y),color:Fe(p,t)(y),button:{color:Fe(p,t)(y)},"&:hover":{backgroundColor:Fe(r,c)(y),cursor:"pointer"}},dropdown:{backgroundColor:Fe(n,d)(y),borderColor:Fe(n,d)(y),boxShadow:S},item:{backgroundColor:Fe(n,d)(y),color:Fe(d,n)(y),padding:6,"&[data-hovered]":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)},"&[data-active]":{backgroundColor:Fe(r,c)(y),"&:hover":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)}},"&[data-selected]":{backgroundColor:Fe(v,w)(y),color:Fe(e,t)(y),fontWeight:600,"&:hover":{backgroundColor:Fe(b,b)(y),color:Fe("white",e)(y)}},"&[data-disabled]":{color:Fe(s,a)(y),cursor:"not-allowed"}},rightSection:{width:24,padding:20,button:{color:Fe(p,t)(y)}}}),[h,m,v,b,w,t,n,r,o,e,s,a,c,d,p,S,y])},Bee=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,label:o,disabled:s,...a}=e,c=te(),d=f.useCallback(m=>{m.shiftKey&&c(jo(!0))},[c]),p=f.useCallback(m=>{m.shiftKey||c(jo(!1))},[c]),h=zee();return i.jsx(vn,{label:n,placement:"top",hasArrow:!0,isOpen:!0,children:i.jsx(LI,{label:o?i.jsx(go,{isDisabled:s,children:i.jsx(Bo,{children:o})}):void 0,ref:r,disabled:s,onKeyDown:d,onKeyUp:p,searchable:t,maxDropdownHeight:300,styles:h,...a})})},Fee=f.memo(Bee),Hee=cs(sb,(e,t)=>({value:t,label:e})).sort((e,t)=>e.label.localeCompare(t.label));function Wee(){const e=te(),{t}=ye(),n=B(o=>o.ui.favoriteSchedulers),r=f.useCallback(o=>{e(S7(o))},[e]);return i.jsx(Fee,{label:t("settings.favoriteSchedulers"),value:n,data:Hee,onChange:r,clearable:!0,searchable:!0,maxSelectedValues:99,placeholder:t("settings.favoriteSchedulersPlaceholder")})}const Vee={ar:Bn.t("common.langArabic",{lng:"ar"}),nl:Bn.t("common.langDutch",{lng:"nl"}),en:Bn.t("common.langEnglish",{lng:"en"}),fr:Bn.t("common.langFrench",{lng:"fr"}),de:Bn.t("common.langGerman",{lng:"de"}),he:Bn.t("common.langHebrew",{lng:"he"}),it:Bn.t("common.langItalian",{lng:"it"}),ja:Bn.t("common.langJapanese",{lng:"ja"}),ko:Bn.t("common.langKorean",{lng:"ko"}),pl:Bn.t("common.langPolish",{lng:"pl"}),pt_BR:Bn.t("common.langBrPortuguese",{lng:"pt_BR"}),pt:Bn.t("common.langPortuguese",{lng:"pt"}),ru:Bn.t("common.langRussian",{lng:"ru"}),zh_CN:Bn.t("common.langSimplifiedChinese",{lng:"zh_CN"}),es:Bn.t("common.langSpanish",{lng:"es"}),uk:Bn.t("common.langUkranian",{lng:"ua"})},Uee=be([lt],({system:e,ui:t,generation:n})=>{const{shouldConfirmOnDelete:r,enableImageDebugging:o,consoleLogLevel:s,shouldLogToConsole:a,shouldAntialiasProgressImage:c,isNodesEnabled:d,shouldUseNSFWChecker:p,shouldUseWatermarker:h}=e,{shouldUseCanvasBetaLayout:m,shouldUseSliders:v,shouldShowProgressInViewer:b}=t,{shouldShowAdvancedOptions:w}=n;return{shouldConfirmOnDelete:r,enableImageDebugging:o,shouldUseCanvasBetaLayout:m,shouldUseSliders:v,shouldShowProgressInViewer:b,consoleLogLevel:s,shouldLogToConsole:a,shouldAntialiasProgressImage:c,shouldShowAdvancedOptions:w,isNodesEnabled:d,shouldUseNSFWChecker:p,shouldUseWatermarker:h}},{memoizeOptions:{resultEqualityCheck:Zt}}),Gee=({children:e,config:t})=>{const n=te(),{t:r}=ye(),o=(t==null?void 0:t.shouldShowBetaLayout)??!0,s=(t==null?void 0:t.shouldShowDeveloperSettings)??!0,a=(t==null?void 0:t.shouldShowResetWebUiText)??!0,c=(t==null?void 0:t.shouldShowAdvancedOptionsSettings)??!0,d=(t==null?void 0:t.shouldShowClearIntermediates)??!0,p=(t==null?void 0:t.shouldShowNodesToggle)??!0,h=(t==null?void 0:t.shouldShowLocalizationToggle)??!0;f.useEffect(()=>{s||n(rw(!1))},[s,n]);const{isNSFWCheckerAvailable:m,isWatermarkerAvailable:v}=Z_(void 0,{selectFromResult:({data:X})=>({isNSFWCheckerAvailable:(X==null?void 0:X.nsfw_methods.includes("nsfw_checker"))??!1,isWatermarkerAvailable:(X==null?void 0:X.watermarking_methods.includes("invisible_watermark"))??!1})}),{isOpen:b,onOpen:w,onClose:y}=ss(),{isOpen:S,onOpen:k,onClose:_}=ss(),{shouldConfirmOnDelete:P,enableImageDebugging:I,shouldUseCanvasBetaLayout:E,shouldUseSliders:O,shouldShowProgressInViewer:R,consoleLogLevel:M,shouldLogToConsole:D,shouldAntialiasProgressImage:A,shouldShowAdvancedOptions:L,isNodesEnabled:Q,shouldUseNSFWChecker:F,shouldUseWatermarker:V}=B(Uee),q=f.useCallback(()=>{Object.keys(window.localStorage).forEach(X=>{(C7.includes(X)||X.startsWith(k7))&&localStorage.removeItem(X)}),y(),k()},[y,k]),G=f.useCallback(X=>{n(_7(X))},[n]),T=f.useCallback(X=>{n(P7(X))},[n]),z=f.useCallback(X=>{n(rw(X.target.checked))},[n]),$=f.useCallback(X=>{n(j7(X.target.checked))},[n]),{colorMode:Y,toggleColorMode:ae}=Ds(),fe=hr("localization").isFeatureEnabled,ie=B(rP);return i.jsxs(i.Fragment,{children:[f.cloneElement(e,{onClick:w}),i.jsxs(ad,{isOpen:b,onClose:y,size:"2xl",isCentered:!0,children:[i.jsx(Aa,{}),i.jsxs(id,{children:[i.jsx(Da,{bg:"none",children:r("common.settingsLabel")}),i.jsx(Gb,{}),i.jsx(Ta,{children:i.jsxs(W,{sx:{gap:4,flexDirection:"column"},children:[i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.general")}),i.jsx(Yo,{label:r("settings.confirmOnDelete"),isChecked:P,onChange:X=>n(z_(X.target.checked))}),c&&i.jsx(Yo,{label:r("settings.showAdvancedOptions"),isChecked:L,onChange:X=>n(I7(X.target.checked))})]}),i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.generation")}),i.jsx(Wee,{}),i.jsx(Yo,{label:"Enable NSFW Checker",isDisabled:!m,isChecked:F,onChange:X=>n(E7(X.target.checked))}),i.jsx(Yo,{label:"Enable Invisible Watermark",isDisabled:!v,isChecked:V,onChange:X=>n(O7(X.target.checked))})]}),i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.ui")}),i.jsx(Yo,{label:r("common.darkMode"),isChecked:Y==="dark",onChange:ae}),i.jsx(Yo,{label:r("settings.useSlidersForAll"),isChecked:O,onChange:X=>n(R7(X.target.checked))}),i.jsx(Yo,{label:r("settings.showProgressInViewer"),isChecked:R,onChange:X=>n(e5(X.target.checked))}),i.jsx(Yo,{label:r("settings.antialiasProgressImages"),isChecked:A,onChange:X=>n(M7(X.target.checked))}),o&&i.jsx(Yo,{label:r("settings.alternateCanvasLayout"),useBadge:!0,badgeLabel:r("settings.beta"),isChecked:E,onChange:X=>n(D7(X.target.checked))}),p&&i.jsx(Yo,{label:r("settings.enableNodesEditor"),useBadge:!0,isChecked:Q,onChange:$}),h&&i.jsx(Xr,{disabled:!fe,label:r("common.languagePickerLabel"),value:ie,data:Object.entries(Vee).map(([X,K])=>({value:X,label:K})),onChange:T})]}),s&&i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.developer")}),i.jsx(Yo,{label:r("settings.shouldLogToConsole"),isChecked:D,onChange:z}),i.jsx(Xr,{disabled:!D,label:r("settings.consoleLogLevel"),onChange:G,value:M,data:A7.concat()}),i.jsx(Yo,{label:r("settings.enableImageDebugging"),isChecked:I,onChange:X=>n(T7(X.target.checked))})]}),d&&i.jsx(Lee,{}),i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.resetWebUI")}),i.jsx(Yt,{colorScheme:"error",onClick:q,children:r("settings.resetWebUI")}),a&&i.jsxs(i.Fragment,{children:[i.jsx(Qe,{variant:"subtext",children:r("settings.resetWebUIDesc1")}),i.jsx(Qe,{variant:"subtext",children:r("settings.resetWebUIDesc2")})]})]})]})}),i.jsx(Ma,{children:i.jsx(Yt,{onClick:y,children:r("common.close")})})]})]}),i.jsxs(ad,{closeOnOverlayClick:!1,isOpen:S,onClose:_,isCentered:!0,children:[i.jsx(Aa,{backdropFilter:"blur(40px)"}),i.jsxs(id,{children:[i.jsx(Da,{}),i.jsx(Ta,{children:i.jsx(W,{justifyContent:"center",children:i.jsx(Qe,{fontSize:"lg",children:i.jsx(Qe,{children:r("settings.resetComplete")})})})}),i.jsx(Ma,{})]})]})]})},qee=be(vo,e=>{const{isConnected:t,isProcessing:n,statusTranslationKey:r,currentIteration:o,totalIterations:s,currentStatusHasSteps:a}=e;return{isConnected:t,isProcessing:n,currentIteration:o,totalIterations:s,statusTranslationKey:r,currentStatusHasSteps:a}},Je),jk={ok:"green.400",working:"yellow.400",error:"red.400"},Ik={ok:"green.600",working:"yellow.500",error:"red.500"},Kee=()=>{const{isConnected:e,isProcessing:t,currentIteration:n,totalIterations:r,statusTranslationKey:o}=B(qee),{t:s}=ye(),a=f.useRef(null),c=f.useMemo(()=>t?"working":e?"ok":"error",[t,e]),d=f.useMemo(()=>{if(n&&r)return` (${n}/${r})`},[n,r]),p=mO(a);return i.jsxs(W,{ref:a,h:"full",px:2,alignItems:"center",gap:5,children:[i.jsx(mo,{children:p&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:i.jsxs(Qe,{sx:{fontSize:"sm",fontWeight:"600",pb:"1px",userSelect:"none",color:Ik[c],_dark:{color:jk[c]}},children:[s(o),d]})},"statusText")}),i.jsx(fo,{as:TY,sx:{boxSize:"0.5rem",color:Ik[c],_dark:{color:jk[c]}}})]})},Xee=()=>{const{t:e}=ye(),t=hr("bugLink").isFeatureEnabled,n=hr("discordLink").isFeatureEnabled,r=hr("githubLink").isFeatureEnabled,o="http://github.com/invoke-ai/InvokeAI",s="https://discord.gg/ZmtBAhwWhy";return i.jsxs(W,{sx:{gap:2,alignItems:"center"},children:[i.jsx(gO,{}),i.jsx(ml,{}),i.jsx(Kee,{}),i.jsxs(Md,{children:[i.jsx(Dd,{as:ze,variant:"link","aria-label":e("accessibility.menu"),icon:i.jsx(MY,{}),sx:{boxSize:8}}),i.jsxs(il,{motionProps:Zu,children:[i.jsxs(sd,{title:e("common.communityLabel"),children:[r&&i.jsx(jr,{as:"a",href:o,target:"_blank",icon:i.jsx(_Y,{}),children:e("common.githubLabel")}),t&&i.jsx(jr,{as:"a",href:`${o}/issues`,target:"_blank",icon:i.jsx(DY,{}),children:e("common.reportBugLabel")}),n&&i.jsx(jr,{as:"a",href:s,target:"_blank",icon:i.jsx(kY,{}),children:e("common.discordLabel")})]}),i.jsxs(sd,{title:e("common.settingsLabel"),children:[i.jsx(Oee,{children:i.jsx(jr,{as:"button",icon:i.jsx(KY,{}),children:e("common.hotkeysLabel")})}),i.jsx(Gee,{children:i.jsx(jr,{as:"button",icon:i.jsx(NY,{}),children:e("common.settingsLabel")})})]})]})]})]})},Yee=f.memo(Xee);function Qee(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M16.5 9c-.42 0-.83.04-1.24.11L1.01 3 1 10l9 2-9 2 .01 7 8.07-3.46C9.59 21.19 12.71 24 16.5 24c4.14 0 7.5-3.36 7.5-7.5S20.64 9 16.5 9zm0 13c-3.03 0-5.5-2.47-5.5-5.5s2.47-5.5 5.5-5.5 5.5 2.47 5.5 5.5-2.47 5.5-5.5 5.5z"}},{tag:"path",attr:{d:"M18.27 14.03l-1.77 1.76-1.77-1.76-.7.7 1.76 1.77-1.76 1.77.7.7 1.77-1.76 1.77 1.76.7-.7-1.76-1.77 1.76-1.77z"}}]})(e)}function Jee(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M17 16l-4-4V8.82C14.16 8.4 15 7.3 15 6c0-1.66-1.34-3-3-3S9 4.34 9 6c0 1.3.84 2.4 2 2.82V12l-4 4H3v5h5v-3.05l4-4.2 4 4.2V21h5v-5h-4z"}}]})(e)}function Zee(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 20H4v-4h4v4zm0-6H4v-4h4v4zm0-6H4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4z"}}]})(e)}function ete(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-11-4l2.03 2.71L16 11l4 5H8l3-4zM2 6v14c0 1.1.9 2 2 2h14v-2H4V6H2z"}}]})(e)}function tte(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}}]})(e)}function vO(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3z"}}]})(e)}const nte=be(vo,e=>{const{isUploading:t}=e;let n="";return t&&(n="Uploading..."),{tooltip:n,shouldShow:t}}),rte=()=>{const{shouldShow:e,tooltip:t}=B(nte);return e?i.jsx(W,{sx:{alignItems:"center",justifyContent:"center",color:"base.600"},children:i.jsx(vn,{label:t,placement:"right",hasArrow:!0,children:i.jsx(hl,{})})}):null},ote=f.memo(rte),bO=e=>e.config,{createElement:Rc,createContext:ste,forwardRef:yO,useCallback:oi,useContext:xO,useEffect:Ea,useImperativeHandle:wO,useLayoutEffect:ate,useMemo:ite,useRef:es,useState:Ku}=Y1,Ek=Y1["useId".toString()],lte=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",om=lte?ate:()=>{},cte=typeof Ek=="function"?Ek:()=>null;let ute=0;function Ky(e=null){const t=cte(),n=es(e||t||null);return n.current===null&&(n.current=""+ute++),n.current}const rg=ste(null);rg.displayName="PanelGroupContext";function SO({children:e=null,className:t="",collapsedSize:n=0,collapsible:r=!1,defaultSize:o=null,forwardedRef:s,id:a=null,maxSize:c=100,minSize:d=10,onCollapse:p=null,onResize:h=null,order:m=null,style:v={},tagName:b="div"}){const w=xO(rg);if(w===null)throw Error("Panel components must be rendered within a PanelGroup container");const y=Ky(a),{collapsePanel:S,expandPanel:k,getPanelStyle:_,registerPanel:P,resizePanel:I,unregisterPanel:E}=w,O=es({onCollapse:p,onResize:h});if(Ea(()=>{O.current.onCollapse=p,O.current.onResize=h}),d<0||d>100)throw Error(`Panel minSize must be between 0 and 100, but was ${d}`);if(c<0||c>100)throw Error(`Panel maxSize must be between 0 and 100, but was ${c}`);if(o!==null){if(o<0||o>100)throw Error(`Panel defaultSize must be between 0 and 100, but was ${o}`);d>o&&!r&&(console.error(`Panel minSize ${d} cannot be greater than defaultSize ${o}`),o=d)}const R=_(y,o),M=es({size:Ok(R)}),D=es({callbacksRef:O,collapsedSize:n,collapsible:r,defaultSize:o,id:y,maxSize:c,minSize:d,order:m});return om(()=>{M.current.size=Ok(R),D.current.callbacksRef=O,D.current.collapsedSize=n,D.current.collapsible=r,D.current.defaultSize=o,D.current.id=y,D.current.maxSize=c,D.current.minSize=d,D.current.order=m}),om(()=>(P(y,D),()=>{E(y)}),[m,y,P,E]),wO(s,()=>({collapse:()=>S(y),expand:()=>k(y),getCollapsed(){return M.current.size===0},getSize(){return M.current.size},resize:A=>I(y,A)}),[S,k,y,I]),Rc(b,{children:e,className:t,"data-panel":"","data-panel-collapsible":r||void 0,"data-panel-id":y,"data-panel-size":parseFloat(""+R.flexGrow).toFixed(1),id:`data-panel-id-${y}`,style:{...R,...v}})}const hd=yO((e,t)=>Rc(SO,{...e,forwardedRef:t}));SO.displayName="Panel";hd.displayName="forwardRef(Panel)";function Ok(e){const{flexGrow:t}=e;return typeof t=="string"?parseFloat(t):t}const pl=10;function Au(e,t,n,r,o,s,a,c){const{sizes:d}=c||{},p=d||s;if(o===0)return p;const h=Jo(t),m=p.concat();let v=0;{const y=o<0?r:n,S=h.findIndex(I=>I.current.id===y),k=h[S],_=p[S],P=Rk(k,Math.abs(o),_,e);if(_===P)return p;P===0&&_>0&&a.set(y,_),o=o<0?_-P:P-_}let b=o<0?n:r,w=h.findIndex(y=>y.current.id===b);for(;;){const y=h[w],S=p[w],k=Math.abs(o)-Math.abs(v),_=Rk(y,0-k,S,e);if(S!==_&&(_===0&&S>0&&a.set(y.current.id,S),v+=S-_,m[w]=_,v.toPrecision(pl).localeCompare(Math.abs(o).toPrecision(pl),void 0,{numeric:!0})>=0))break;if(o<0){if(--w<0)break}else if(++w>=h.length)break}return v===0?p:(b=o<0?r:n,w=h.findIndex(y=>y.current.id===b),m[w]=p[w]+v,m)}function Gl(e,t,n){t.forEach((r,o)=>{const{callbacksRef:s,collapsedSize:a,collapsible:c,id:d}=e[o].current,p=n[d];if(p!==r){n[d]=r;const{onCollapse:h,onResize:m}=s.current;m&&m(r,p),c&&h&&((p==null||p===a)&&r!==a?h(!1):p!==a&&r===a&&h(!0))}})}function fv(e,t){if(t.length<2)return[null,null];const n=t.findIndex(a=>a.current.id===e);if(n<0)return[null,null];const r=n===t.length-1,o=r?t[n-1].current.id:e,s=r?e:t[n+1].current.id;return[o,s]}function CO(e,t,n){if(e.size===1)return"100";const o=Jo(e).findIndex(a=>a.current.id===t),s=n[o];return s==null?"0":s.toPrecision(pl)}function dte(e){const t=document.querySelector(`[data-panel-id="${e}"]`);return t||null}function Xy(e){const t=document.querySelector(`[data-panel-group-id="${e}"]`);return t||null}function og(e){const t=document.querySelector(`[data-panel-resize-handle-id="${e}"]`);return t||null}function fte(e){return kO().findIndex(r=>r.getAttribute("data-panel-resize-handle-id")===e)??null}function kO(){return Array.from(document.querySelectorAll("[data-panel-resize-handle-id]"))}function _O(e){return Array.from(document.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`))}function Yy(e,t,n){var d,p,h,m;const r=og(t),o=_O(e),s=r?o.indexOf(r):-1,a=((p=(d=n[s])==null?void 0:d.current)==null?void 0:p.id)??null,c=((m=(h=n[s+1])==null?void 0:h.current)==null?void 0:m.id)??null;return[a,c]}function Jo(e){return Array.from(e.values()).sort((t,n)=>{const r=t.current.order,o=n.current.order;return r==null&&o==null?0:r==null?-1:o==null?1:r-o})}function Rk(e,t,n,r){var h;const o=n+t,{collapsedSize:s,collapsible:a,maxSize:c,minSize:d}=e.current;if(a){if(n>s){if(o<=d/2+s)return s}else if(!((h=r==null?void 0:r.type)==null?void 0:h.startsWith("key"))&&o{const{direction:a,panels:c}=e.current,d=Xy(t),{height:p,width:h}=d.getBoundingClientRect(),v=_O(t).map(b=>{const w=b.getAttribute("data-panel-resize-handle-id"),y=Jo(c),[S,k]=Yy(t,w,y);if(S==null||k==null)return()=>{};let _=0,P=100,I=0,E=0;y.forEach(L=>{L.current.id===S?(P=L.current.maxSize,_=L.current.minSize):(I+=L.current.minSize,E+=L.current.maxSize)});const O=Math.min(P,100-I),R=Math.max(_,(y.length-1)*100-E),M=CO(c,S,o);b.setAttribute("aria-valuemax",""+Math.round(O)),b.setAttribute("aria-valuemin",""+Math.round(R)),b.setAttribute("aria-valuenow",""+Math.round(parseInt(M)));const D=L=>{if(!L.defaultPrevented)switch(L.key){case"Enter":{L.preventDefault();const Q=y.findIndex(F=>F.current.id===S);if(Q>=0){const F=y[Q],V=o[Q];if(V!=null){let q=0;V.toPrecision(pl)<=F.current.minSize.toPrecision(pl)?q=a==="horizontal"?h:p:q=-(a==="horizontal"?h:p);const G=Au(L,c,S,k,q,o,s.current,null);o!==G&&r(G)}}break}}};b.addEventListener("keydown",D);const A=dte(S);return A!=null&&b.setAttribute("aria-controls",A.id),()=>{b.removeAttribute("aria-valuemax"),b.removeAttribute("aria-valuemin"),b.removeAttribute("aria-valuenow"),b.removeEventListener("keydown",D),A!=null&&b.removeAttribute("aria-controls")}});return()=>{v.forEach(b=>b())}},[e,t,n,s,r,o])}function hte({disabled:e,handleId:t,resizeHandler:n}){Ea(()=>{if(e||n==null)return;const r=og(t);if(r==null)return;const o=s=>{if(!s.defaultPrevented)switch(s.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{s.preventDefault(),n(s);break}case"F6":{s.preventDefault();const a=kO(),c=fte(t);PO(c!==null);const d=s.shiftKey?c>0?c-1:a.length-1:c+1{r.removeEventListener("keydown",o)}},[e,t,n])}function mte(e,t){if(e.length!==t.length)return!1;for(let n=0;nR.current.id===I),O=r[E];if(O.current.collapsible){const R=h[E];(R===0||R.toPrecision(pl)===O.current.minSize.toPrecision(pl))&&(k=k<0?-O.current.minSize*w:O.current.minSize*w)}return k}else return jO(e,n,o,c,d)}function vte(e){return e.type==="keydown"}function A1(e){return e.type.startsWith("mouse")}function T1(e){return e.type.startsWith("touch")}let N1=null,Ki=null;function IO(e){switch(e){case"horizontal":return"ew-resize";case"horizontal-max":return"w-resize";case"horizontal-min":return"e-resize";case"vertical":return"ns-resize";case"vertical-max":return"n-resize";case"vertical-min":return"s-resize"}}function bte(){Ki!==null&&(document.head.removeChild(Ki),N1=null,Ki=null)}function pv(e){if(N1===e)return;N1=e;const t=IO(e);Ki===null&&(Ki=document.createElement("style"),document.head.appendChild(Ki)),Ki.innerHTML=`*{cursor: ${t}!important;}`}function yte(e,t=10){let n=null;return(...o)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...o)},t)}}function EO(e){return e.map(t=>{const{minSize:n,order:r}=t.current;return r?`${r}:${n}`:`${n}`}).sort((t,n)=>t.localeCompare(n)).join(",")}function OO(e,t){try{const n=t.getItem(`PanelGroup:sizes:${e}`);if(n){const r=JSON.parse(n);if(typeof r=="object"&&r!=null)return r}}catch{}return null}function xte(e,t,n){const r=OO(e,n);if(r){const o=EO(t);return r[o]??null}return null}function wte(e,t,n,r){const o=EO(t),s=OO(e,r)||{};s[o]=n;try{r.setItem(`PanelGroup:sizes:${e}`,JSON.stringify(s))}catch(a){console.error(a)}}const hv={};function Mk(e){try{if(typeof localStorage<"u")e.getItem=t=>localStorage.getItem(t),e.setItem=(t,n)=>{localStorage.setItem(t,n)};else throw new Error("localStorage not supported in this environment")}catch(t){console.error(t),e.getItem=()=>null,e.setItem=()=>{}}}const Tu={getItem:e=>(Mk(Tu),Tu.getItem(e)),setItem:(e,t)=>{Mk(Tu),Tu.setItem(e,t)}};function RO({autoSaveId:e,children:t=null,className:n="",direction:r,disablePointerEventsDuringResize:o=!1,forwardedRef:s,id:a=null,onLayout:c,storage:d=Tu,style:p={},tagName:h="div"}){const m=Ky(a),[v,b]=Ku(null),[w,y]=Ku(new Map),S=es(null),k=es({onLayout:c});Ea(()=>{k.current.onLayout=c});const _=es({}),[P,I]=Ku([]),E=es(new Map),O=es(0),R=es({direction:r,panels:w,sizes:P});wO(s,()=>({getLayout:()=>{const{sizes:T}=R.current;return T},setLayout:T=>{const z=T.reduce((fe,ie)=>fe+ie,0);PO(z===100,"Panel sizes must add up to 100%");const{panels:$}=R.current,Y=_.current,ae=Jo($);I(T),Gl(ae,T,Y)}}),[]),om(()=>{R.current.direction=r,R.current.panels=w,R.current.sizes=P}),pte({committedValuesRef:R,groupId:m,panels:w,setSizes:I,sizes:P,panelSizeBeforeCollapse:E}),Ea(()=>{const{onLayout:T}=k.current,{panels:z,sizes:$}=R.current;if($.length>0){T&&T($);const Y=_.current,ae=Jo(z);Gl(ae,$,Y)}},[P]),om(()=>{if(R.current.sizes.length===w.size)return;let z=null;if(e){const $=Jo(w);z=xte(e,$,d)}if(z!=null)I(z);else{const $=Jo(w);let Y=0,ae=0,fe=0;if($.forEach(ie=>{fe+=ie.current.minSize,ie.current.defaultSize===null?Y++:ae+=ie.current.defaultSize}),ae>100)throw new Error("Default panel sizes cannot exceed 100%");if($.length>1&&Y===0&&ae!==100)throw new Error("Invalid default sizes specified for panels");if(fe>100)throw new Error("Minimum panel sizes cannot exceed 100%");I($.map(ie=>ie.current.defaultSize===null?(100-ae)/Y:ie.current.defaultSize))}},[e,w,d]),Ea(()=>{if(e){if(P.length===0||P.length!==w.size)return;const T=Jo(w);hv[e]||(hv[e]=yte(wte,100)),hv[e](e,T,P,d)}},[e,w,P,d]);const M=oi((T,z)=>{const{panels:$}=R.current;return $.size===0?{flexBasis:0,flexGrow:z??void 0,flexShrink:1,overflow:"hidden"}:{flexBasis:0,flexGrow:CO($,T,P),flexShrink:1,overflow:"hidden",pointerEvents:o&&v!==null?"none":void 0}},[v,o,P]),D=oi((T,z)=>{y($=>{if($.has(T))return $;const Y=new Map($);return Y.set(T,z),Y})},[]),A=oi(T=>$=>{$.preventDefault();const{direction:Y,panels:ae,sizes:fe}=R.current,ie=Jo(ae),[X,K]=Yy(m,T,ie);if(X==null||K==null)return;let U=gte($,m,T,ie,Y,fe,S.current);if(U===0)return;const re=Xy(m).getBoundingClientRect(),oe=Y==="horizontal";document.dir==="rtl"&&oe&&(U=-U);const pe=oe?re.width:re.height,le=U/pe*100,ge=Au($,ae,X,K,le,fe,E.current,S.current),ke=!mte(fe,ge);if((A1($)||T1($))&&O.current!=le&&pv(ke?oe?"horizontal":"vertical":oe?U<0?"horizontal-min":"horizontal-max":U<0?"vertical-min":"vertical-max"),ke){const xe=_.current;I(ge),Gl(ie,ge,xe)}O.current=le},[m]),L=oi(T=>{y(z=>{if(!z.has(T))return z;const $=new Map(z);return $.delete(T),$})},[]),Q=oi(T=>{const{panels:z,sizes:$}=R.current,Y=z.get(T);if(Y==null)return;const{collapsedSize:ae,collapsible:fe}=Y.current;if(!fe)return;const ie=Jo(z),X=ie.indexOf(Y);if(X<0)return;const K=$[X];if(K===ae)return;E.current.set(T,K);const[U,se]=fv(T,ie);if(U==null||se==null)return;const oe=X===ie.length-1?K:ae-K,pe=Au(null,z,U,se,oe,$,E.current,null);if($!==pe){const le=_.current;I(pe),Gl(ie,pe,le)}},[]),F=oi(T=>{const{panels:z,sizes:$}=R.current,Y=z.get(T);if(Y==null)return;const{collapsedSize:ae,minSize:fe}=Y.current,ie=E.current.get(T)||fe;if(!ie)return;const X=Jo(z),K=X.indexOf(Y);if(K<0||$[K]!==ae)return;const[se,re]=fv(T,X);if(se==null||re==null)return;const pe=K===X.length-1?ae-ie:ie,le=Au(null,z,se,re,pe,$,E.current,null);if($!==le){const ge=_.current;I(le),Gl(X,le,ge)}},[]),V=oi((T,z)=>{const{panels:$,sizes:Y}=R.current,ae=$.get(T);if(ae==null)return;const{collapsedSize:fe,collapsible:ie,maxSize:X,minSize:K}=ae.current,U=Jo($),se=U.indexOf(ae);if(se<0)return;const re=Y[se];if(re===z)return;ie&&z===fe||(z=Math.min(X,Math.max(K,z)));const[oe,pe]=fv(T,U);if(oe==null||pe==null)return;const ge=se===U.length-1?re-z:z-re,ke=Au(null,$,oe,pe,ge,Y,E.current,null);if(Y!==ke){const xe=_.current;I(ke),Gl(U,ke,xe)}},[]),q=ite(()=>({activeHandleId:v,collapsePanel:Q,direction:r,expandPanel:F,getPanelStyle:M,groupId:m,registerPanel:D,registerResizeHandle:A,resizePanel:V,startDragging:(T,z)=>{if(b(T),A1(z)||T1(z)){const $=og(T);S.current={dragHandleRect:$.getBoundingClientRect(),dragOffset:jO(z,T,r),sizes:R.current.sizes}}},stopDragging:()=>{bte(),b(null),S.current=null},unregisterPanel:L}),[v,Q,r,F,M,m,D,A,V,L]),G={display:"flex",flexDirection:r==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return Rc(rg.Provider,{children:Rc(h,{children:t,className:n,"data-panel-group":"","data-panel-group-direction":r,"data-panel-group-id":m,style:{...G,...p}}),value:q})}const Qy=yO((e,t)=>Rc(RO,{...e,forwardedRef:t}));RO.displayName="PanelGroup";Qy.displayName="forwardRef(PanelGroup)";function $1({children:e=null,className:t="",disabled:n=!1,id:r=null,onDragging:o,style:s={},tagName:a="div"}){const c=es(null),d=es({onDragging:o});Ea(()=>{d.current.onDragging=o});const p=xO(rg);if(p===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{activeHandleId:h,direction:m,groupId:v,registerResizeHandle:b,startDragging:w,stopDragging:y}=p,S=Ky(r),k=h===S,[_,P]=Ku(!1),[I,E]=Ku(null),O=oi(()=>{c.current.blur(),y();const{onDragging:D}=d.current;D&&D(!1)},[y]);Ea(()=>{if(n)E(null);else{const M=b(S);E(()=>M)}},[n,S,b]),Ea(()=>{if(n||I==null||!k)return;const M=Q=>{I(Q)},D=Q=>{I(Q)},L=c.current.ownerDocument;return L.body.addEventListener("contextmenu",O),L.body.addEventListener("mousemove",M),L.body.addEventListener("touchmove",M),L.body.addEventListener("mouseleave",D),window.addEventListener("mouseup",O),window.addEventListener("touchend",O),()=>{L.body.removeEventListener("contextmenu",O),L.body.removeEventListener("mousemove",M),L.body.removeEventListener("touchmove",M),L.body.removeEventListener("mouseleave",D),window.removeEventListener("mouseup",O),window.removeEventListener("touchend",O)}},[m,n,k,I,O]),hte({disabled:n,handleId:S,resizeHandler:I});const R={cursor:IO(m),touchAction:"none",userSelect:"none"};return Rc(a,{children:e,className:t,"data-resize-handle-active":k?"pointer":_?"keyboard":void 0,"data-panel-group-direction":m,"data-panel-group-id":v,"data-panel-resize-handle-enabled":!n,"data-panel-resize-handle-id":S,onBlur:()=>P(!1),onFocus:()=>P(!0),onMouseDown:M=>{w(S,M.nativeEvent);const{onDragging:D}=d.current;D&&D(!0)},onMouseUp:O,onTouchCancel:O,onTouchEnd:O,onTouchStart:M=>{w(S,M.nativeEvent);const{onDragging:D}=d.current;D&&D(!0)},ref:c,role:"separator",style:{...R,...s},tabIndex:0})}$1.displayName="PanelResizeHandle";const Ste=(e,t,n,r="horizontal")=>{const o=f.useRef(null),[s,a]=f.useState(t),c=f.useCallback(()=>{var p,h;const d=(p=o.current)==null?void 0:p.getSize();d!==void 0&&d{const d=document.querySelector(`[data-panel-group-id="${n}"]`),p=document.querySelectorAll("[data-panel-resize-handle-id]");if(!d)return;const h=new ResizeObserver(()=>{let m=r==="horizontal"?d.getBoundingClientRect().width:d.getBoundingClientRect().height;p.forEach(v=>{m-=r==="horizontal"?v.getBoundingClientRect().width:v.getBoundingClientRect().height}),a(e/m*100)});return h.observe(d),p.forEach(m=>{h.observe(m)}),window.addEventListener("resize",c),()=>{h.disconnect(),window.removeEventListener("resize",c)}},[n,c,s,e,r]),{ref:o,minSizePct:s}},Cte=be([lt],e=>{const{initialImage:t}=e.generation;return{initialImage:t,isResetButtonDisabled:!t}},Je),kte=()=>{const{initialImage:e}=B(Cte),{currentData:t}=Is((e==null?void 0:e.imageName)??ro.skipToken),n=f.useMemo(()=>{if(t)return{id:"initial-image",payloadType:"IMAGE_DTO",payload:{imageDTO:t}}},[t]),r=f.useMemo(()=>({id:"initial-image",actionType:"SET_INITIAL_IMAGE"}),[]);return i.jsx(fl,{imageDTO:t,droppableData:r,draggableData:n,isUploadDisabled:!0,fitContainer:!0,dropLabel:"Set as Initial Image",noContentFallback:i.jsx(tl,{label:"No initial image selected"})})},_te=be([lt],e=>{const{initialImage:t}=e.generation;return{isResetButtonDisabled:!t}},Je),Pte={type:"SET_INITIAL_IMAGE"},jte=()=>{const{isResetButtonDisabled:e}=B(_te),t=te(),{getUploadButtonProps:n,getUploadInputProps:r}=ng({postUploadAction:Pte}),o=f.useCallback(()=>{t(N7())},[t]);return i.jsxs(W,{layerStyle:"first",sx:{position:"relative",flexDirection:"column",height:"full",width:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",p:4,gap:4},children:[i.jsxs(W,{sx:{w:"full",flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},children:[i.jsx(Qe,{sx:{fontWeight:600,userSelect:"none",color:"base.700",_dark:{color:"base.200"}},children:"Initial Image"}),i.jsx(ml,{}),i.jsx(ze,{tooltip:"Upload Initial Image","aria-label":"Upload Initial Image",icon:i.jsx(Wd,{}),...n()}),i.jsx(ze,{tooltip:"Reset Initial Image","aria-label":"Reset Initial Image",icon:i.jsx(wy,{}),onClick:o,isDisabled:e})]}),i.jsx(kte,{}),i.jsx("input",{...r()})]})},Ite=e=>{const{label:t,activeLabel:n,children:r,defaultIsOpen:o=!1}=e,{isOpen:s,onToggle:a}=ss({defaultIsOpen:o}),{colorMode:c}=Ds();return i.jsxs(Re,{children:[i.jsxs(W,{onClick:a,sx:{alignItems:"center",p:2,px:4,gap:2,borderTopRadius:"base",borderBottomRadius:s?0:"base",bg:s?Fe("base.200","base.750")(c):Fe("base.150","base.800")(c),color:Fe("base.900","base.100")(c),_hover:{bg:s?Fe("base.250","base.700")(c):Fe("base.200","base.750")(c)},fontSize:"sm",fontWeight:600,cursor:"pointer",transitionProperty:"common",transitionDuration:"normal",userSelect:"none"},children:[t,i.jsx(mo,{children:n&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsx(Qe,{sx:{color:"accent.500",_dark:{color:"accent.300"}},children:n})},"statusText")}),i.jsx(ml,{}),i.jsx(Ly,{sx:{w:"1rem",h:"1rem",transform:s?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]}),i.jsx(vm,{in:s,animateOpacity:!0,style:{overflow:"unset"},children:i.jsx(Re,{sx:{p:4,borderBottomRadius:"base",bg:"base.100",_dark:{bg:"base.800"}},children:r})})]})},Mo=f.memo(Ite),Ete=be(lt,e=>{const{combinatorial:t,isEnabled:n}=e.dynamicPrompts;return{combinatorial:t,isDisabled:!n}},Je),Ote=()=>{const{combinatorial:e,isDisabled:t}=B(Ete),n=te(),r=f.useCallback(()=>{n($7())},[n]);return i.jsx(yr,{isDisabled:t,label:"Combinatorial Generation",isChecked:e,onChange:r})},Rte=be(lt,e=>{const{isEnabled:t}=e.dynamicPrompts;return{isEnabled:t}},Je),Mte=()=>{const e=te(),{isEnabled:t}=B(Rte),n=f.useCallback(()=>{e(L7())},[e]);return i.jsx(yr,{label:"Enable Dynamic Prompts",isChecked:t,onChange:n})},Dte=be(lt,e=>{const{maxPrompts:t,combinatorial:n,isEnabled:r}=e.dynamicPrompts,{min:o,sliderMax:s,inputMax:a}=e.config.sd.dynamicPrompts.maxPrompts;return{maxPrompts:t,min:o,sliderMax:s,inputMax:a,isDisabled:!r||!n}},Je),Ate=()=>{const{maxPrompts:e,min:t,sliderMax:n,inputMax:r,isDisabled:o}=B(Dte),s=te(),a=f.useCallback(d=>{s(z7(d))},[s]),c=f.useCallback(()=>{s(B7())},[s]);return i.jsx(_t,{label:"Max Prompts",isDisabled:o,min:t,max:n,value:e,onChange:a,sliderNumberInputProps:{max:r},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:c})},Tte=be(lt,e=>{const{isEnabled:t}=e.dynamicPrompts;return{activeLabel:t?"Enabled":void 0}},Je),qd=()=>{const{activeLabel:e}=B(Tte);return hr("dynamicPrompting").isFeatureEnabled?i.jsx(Mo,{label:"Dynamic Prompts",activeLabel:e,children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(Mte,{}),i.jsx(Ote,{}),i.jsx(Ate,{})]})}):null},Nte=be(lt,e=>{const{shouldUseNoiseSettings:t,shouldUseCpuNoise:n}=e.generation;return{isDisabled:!t,shouldUseCpuNoise:n}},Je),$te=()=>{const e=te(),{isDisabled:t,shouldUseCpuNoise:n}=B(Nte),r=o=>e(F7(o.target.checked));return i.jsx(yr,{isDisabled:t,label:"Use CPU Noise",isChecked:n,onChange:r})},Lte=be(lt,e=>{const{shouldUseNoiseSettings:t,threshold:n}=e.generation;return{isDisabled:!t,threshold:n}},Je);function zte(){const e=te(),{threshold:t,isDisabled:n}=B(Lte),{t:r}=ye();return i.jsx(_t,{isDisabled:n,label:r("parameters.noiseThreshold"),min:0,max:20,step:.1,onChange:o=>e(ow(o)),handleReset:()=>e(ow(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const Bte=()=>{const e=te(),t=B(r=>r.generation.shouldUseNoiseSettings),n=r=>e(H7(r.target.checked));return i.jsx(yr,{label:"Enable Noise Settings",isChecked:t,onChange:n})},Fte=be(lt,e=>{const{shouldUseNoiseSettings:t,perlin:n}=e.generation;return{isDisabled:!t,perlin:n}},Je);function Hte(){const e=te(),{perlin:t,isDisabled:n}=B(Fte),{t:r}=ye();return i.jsx(_t,{isDisabled:n,label:r("parameters.perlinNoise"),min:0,max:1,step:.05,onChange:o=>e(sw(o)),handleReset:()=>e(sw(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const Wte=be(lt,e=>{const{shouldUseNoiseSettings:t}=e.generation;return{activeLabel:t?"Enabled":void 0}},Je),Vte=()=>{const{t:e}=ye(),t=hr("noise").isFeatureEnabled,n=hr("perlinNoise").isFeatureEnabled,r=hr("noiseThreshold").isFeatureEnabled,{activeLabel:o}=B(Wte);return t?i.jsx(Mo,{label:e("parameters.noiseSettings"),activeLabel:o,children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(Bte,{}),i.jsx($te,{}),n&&i.jsx(Hte,{}),r&&i.jsx(zte,{})]})}):null},sg=f.memo(Vte),Ute=be(vo,e=>({isProcessing:e.isProcessing,isConnected:e.isConnected,isCancelable:e.isCancelable,currentIteration:e.currentIteration,totalIterations:e.totalIterations,sessionId:e.sessionId,cancelType:e.cancelType,isCancelScheduled:e.isCancelScheduled}),{memoizeOptions:{resultEqualityCheck:Zt}}),Gte=e=>{const t=te(),{btnGroupWidth:n="auto",...r}=e,{isProcessing:o,isConnected:s,isCancelable:a,cancelType:c,isCancelScheduled:d,sessionId:p}=B(Ute),h=f.useCallback(()=>{if(p){if(c==="scheduled"){t(W7());return}t(V7({session_id:p}))}},[t,p,c]),{t:m}=ye(),v=f.useCallback(y=>{const S=Array.isArray(y)?y[0]:y;t(U7(S))},[t]);tt("shift+x",()=>{(s||o)&&a&&h()},[s,o,a]);const b=f.useMemo(()=>m(d?"parameters.cancel.isScheduled":c==="immediate"?"parameters.cancel.immediate":"parameters.cancel.schedule"),[m,c,d]),w=f.useMemo(()=>d?i.jsx(Xp,{}):c==="immediate"?i.jsx(tte,{}):i.jsx(Qee,{}),[c,d]);return i.jsxs(rr,{isAttached:!0,width:n,children:[i.jsx(ze,{icon:w,tooltip:b,"aria-label":b,isDisabled:!s||!o||!a,onClick:h,colorScheme:"error",id:"cancel-button",...r}),i.jsxs(Md,{closeOnSelect:!1,children:[i.jsx(Dd,{as:ze,tooltip:m("parameters.cancel.setType"),"aria-label":m("parameters.cancel.setType"),icon:i.jsx(AJ,{w:"1em",h:"1em"}),paddingX:0,paddingY:0,colorScheme:"error",minWidth:5,...r}),i.jsx(il,{minWidth:"240px",children:i.jsxs(S6,{value:c,title:"Cancel Type",type:"radio",onChange:v,children:[i.jsx(nh,{value:"immediate",children:m("parameters.cancel.immediate")}),i.jsx(nh,{value:"scheduled",children:m("parameters.cancel.schedule")})]})})]})]})},ag=f.memo(Gte),qte=be([lt,Kn],(e,t)=>{const{generation:n,system:r}=e,{initialImage:o}=n,{isProcessing:s,isConnected:a}=r;let c=!0;const d=[];t==="img2img"&&!o&&(c=!1,d.push("No initial image selected"));const{isSuccess:p}=G7.endpoints.getMainModels.select(Yu)(e);return p||(c=!1,d.push("Models are not loaded")),s&&(c=!1,d.push("System Busy")),a||(c=!1,d.push("System Disconnected")),oo(e.controlNet.controlNets,(h,m)=>{h.model||(c=!1,d.push(`ControlNet ${m} has no model selected.`))}),{isReady:c,reasonsWhyNotReady:d}},Je),Kd=()=>{const{isReady:e}=B(qte);return e},Kte=be(vo,e=>({isProcessing:e.isProcessing,currentStep:e.currentStep,totalSteps:e.totalSteps,currentStatusHasSteps:e.currentStatusHasSteps}),{memoizeOptions:{resultEqualityCheck:Zt}}),Xte=()=>{const{t:e}=ye(),{isProcessing:t,currentStep:n,totalSteps:r,currentStatusHasSteps:o}=B(Kte),s=n?Math.round(n*100/r):0;return i.jsx(N6,{value:s,"aria-label":e("accessibility.invokeProgressBar"),isIndeterminate:t&&!o,height:"full",colorScheme:"accent"})},MO=f.memo(Xte),Dk={_disabled:{bg:"none",color:"base.600",cursor:"not-allowed",_hover:{color:"base.600",bg:"none"}}},Yte=be([lt,Kn,kr],({gallery:e},t,n)=>{const{autoAddBoardId:r}=e;return{isBusy:n,autoAddBoardId:r,activeTabName:t}},Je);function Jy(e){const{iconButton:t=!1,...n}=e,r=te(),o=Kd(),{isBusy:s,autoAddBoardId:a,activeTabName:c}=B(Yte),d=Ym(a),p=f.useCallback(()=>{r(yd()),r(xd(c))},[r,c]),{t:h}=ye();return tt(["ctrl+enter","meta+enter"],p,{enabled:()=>o,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[o,c]),i.jsx(Re,{style:{flexGrow:4},position:"relative",children:i.jsxs(Re,{style:{position:"relative"},children:[!o&&i.jsx(Re,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},...n,children:i.jsx(MO,{})}),i.jsx(vn,{placement:"top",hasArrow:!0,openDelay:500,label:a?`Auto-Adding to ${d}`:void 0,children:t?i.jsx(ze,{"aria-label":h("parameters.invoke"),type:"submit",icon:i.jsx(aE,{}),isDisabled:!o||s,onClick:p,tooltip:h("parameters.invoke"),tooltipProps:{placement:"top"},colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,...s?Dk:{}}}):i.jsx(Yt,{"aria-label":h("parameters.invoke"),type:"submit",isDisabled:!o||s,onClick:p,colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,fontWeight:700,...s?Dk:{}},children:"Invoke"})})]})})}const Xd=()=>i.jsxs(W,{gap:2,children:[i.jsx(Jy,{}),i.jsx(ag,{})]}),Zy=e=>{e.stopPropagation()},Qte=Ae((e,t)=>{const n=te(),r=f.useCallback(s=>{s.shiftKey&&n(jo(!0))},[n]),o=f.useCallback(s=>{s.shiftKey||n(jo(!1))},[n]);return i.jsx(Zb,{ref:t,onPaste:Zy,onKeyDown:r,onKeyUp:o,...e})}),ig=f.memo(Qte),Jte=e=>{const{onClick:t}=e;return i.jsx(ze,{size:"sm","aria-label":"Add Embedding",tooltip:"Add Embedding",icon:i.jsx(by,{}),sx:{p:2,color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}}},variant:"link",onClick:t})},lg=f.memo(Jte),ex="28rem",cg=e=>{const{onSelect:t,isOpen:n,onClose:r,children:o}=e,{data:s}=q7(),a=f.useRef(null),c=B(h=>h.generation.model),d=f.useMemo(()=>{if(!s)return[];const h=[];return oo(s.entities,(m,v)=>{if(!m)return;const b=(c==null?void 0:c.base_model)!==m.base_model;h.push({value:m.model_name,label:m.model_name,group:Qn[m.base_model],disabled:b,tooltip:b?`Incompatible base model: ${m.base_model}`:void 0})}),h.sort((m,v)=>{var b;return m.label&&v.label?(b=m.label)!=null&&b.localeCompare(v.label)?-1:1:-1}),h.sort((m,v)=>m.disabled&&!v.disabled?1:-1)},[s,c==null?void 0:c.base_model]),p=f.useCallback(h=>{h&&t(h)},[t]);return i.jsxs(Yb,{initialFocusRef:a,isOpen:n,onClose:r,placement:"bottom",openDelay:0,closeDelay:0,closeOnBlur:!0,returnFocusOnClose:!0,children:[i.jsx(Xb,{children:o}),i.jsx(Qb,{sx:{p:0,top:-1,shadow:"dark-lg",borderColor:"accent.300",borderWidth:"2px",borderStyle:"solid",_dark:{borderColor:"accent.400"}},children:i.jsx(A6,{sx:{p:0,w:`calc(${ex} - 2rem )`},children:d.length===0?i.jsx(W,{sx:{justifyContent:"center",p:2,fontSize:"sm",color:"base.500",_dark:{color:"base.700"}},children:i.jsx(Qe,{children:"No Embeddings Loaded"})}):i.jsx(ar,{inputRef:a,autoFocus:!0,placeholder:"Add Embedding",value:null,data:d,nothingFound:"No matching Embeddings",itemComponent:Oi,disabled:d.length===0,onDropdownClose:r,filter:(h,m)=>{var v;return((v=m.label)==null?void 0:v.toLowerCase().includes(h.toLowerCase().trim()))||m.value.toLowerCase().includes(h.toLowerCase().trim())},onChange:p})})})]})},DO=()=>{const e=B(m=>m.generation.negativePrompt),t=f.useRef(null),{isOpen:n,onClose:r,onOpen:o}=ss(),s=te(),{t:a}=ye(),c=f.useCallback(m=>{s(Lu(m.target.value))},[s]),d=f.useCallback(m=>{m.key==="<"&&o()},[o]),p=f.useCallback(m=>{if(!t.current)return;const v=t.current.selectionStart;if(v===void 0)return;let b=e.slice(0,v);b[b.length-1]!=="<"&&(b+="<"),b+=`${m}>`;const w=b.length;b+=e.slice(v),ki.flushSync(()=>{s(Lu(b))}),t.current.selectionEnd=w,r()},[s,r,e]),h=hr("embedding").isFeatureEnabled;return i.jsxs(go,{children:[i.jsx(cg,{isOpen:n,onClose:r,onSelect:p,children:i.jsx(ig,{id:"negativePrompt",name:"negativePrompt",ref:t,value:e,placeholder:a("parameters.negativePromptPlaceholder"),onChange:c,resize:"vertical",fontSize:"sm",minH:16,...h&&{onKeyDown:d}})}),!n&&h&&i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(lg,{onClick:o})})]})},Zte=be([lt,Kn],({generation:e,ui:t},n)=>({shouldPinParametersPanel:t.shouldPinParametersPanel,prompt:e.positivePrompt,activeTabName:n}),{memoizeOptions:{resultEqualityCheck:Zt}}),AO=()=>{const e=te(),{prompt:t,shouldPinParametersPanel:n,activeTabName:r}=B(Zte),o=Kd(),s=f.useRef(null),{isOpen:a,onClose:c,onOpen:d}=ss(),{t:p}=ye(),h=f.useCallback(w=>{e($u(w.target.value))},[e]);tt("alt+a",()=>{var w;(w=s.current)==null||w.focus()},[]);const m=f.useCallback(w=>{if(!s.current)return;const y=s.current.selectionStart;if(y===void 0)return;let S=t.slice(0,y);S[S.length-1]!=="<"&&(S+="<"),S+=`${w}>`;const k=S.length;S+=t.slice(y),ki.flushSync(()=>{e($u(S))}),s.current.selectionStart=k,s.current.selectionEnd=k,c()},[e,c,t]),v=hr("embedding").isFeatureEnabled,b=f.useCallback(w=>{w.key==="Enter"&&w.shiftKey===!1&&o&&(w.preventDefault(),e(yd()),e(xd(r))),v&&w.key==="<"&&d()},[o,e,r,d,v]);return i.jsxs(Re,{position:"relative",children:[i.jsx(go,{children:i.jsx(cg,{isOpen:a,onClose:c,onSelect:m,children:i.jsx(ig,{id:"prompt",name:"prompt",ref:s,value:t,placeholder:p("parameters.positivePromptPlaceholder"),onChange:h,onKeyDown:b,resize:"vertical",minH:32})})}),!a&&v&&i.jsx(Re,{sx:{position:"absolute",top:n?5:0,insetInlineEnd:0},children:i.jsx(lg,{onClick:d})})]})};function ene(){const e=B(o=>o.sdxl.shouldConcatSDXLStylePrompt),t=B(o=>o.ui.shouldPinParametersPanel),n=te(),r=()=>{n(K7(!e))};return i.jsx(ze,{"aria-label":"Concatenate Prompt & Style",tooltip:"Concatenate Prompt & Style",variant:"outline",isChecked:e,onClick:r,icon:i.jsx(oE,{}),size:"xs",sx:{position:"absolute",insetInlineEnd:1,top:t?12:20,border:"none",color:e?"accent.500":"base.500",_hover:{bg:"none"}}})}const Ak={position:"absolute",bg:"none",w:"full",minH:2,borderRadius:0,borderLeft:"none",borderRight:"none",zIndex:2,maskImage:"radial-gradient(circle at center, black, black 65%, black 30%, black 15%, transparent)"};function TO(){return i.jsxs(W,{children:[i.jsx(Re,{as:Er.div,initial:{scaleX:0,borderWidth:0,display:"none"},animate:{display:["block","block","block","none"],scaleX:[0,.25,.5,1],borderWidth:[0,3,3,0],transition:{duration:.37,times:[0,.25,.5,1]}},sx:{top:"1px",borderTop:"none",borderColor:"base.400",...Ak,_dark:{borderColor:"accent.500"}}}),i.jsx(Re,{as:Er.div,initial:{opacity:0,scale:0},animate:{opacity:[0,1,1,1],scale:[0,.75,1.5,1],transition:{duration:.42,times:[0,.25,.5,1]}},exit:{opacity:0,scale:0},sx:{zIndex:3,position:"absolute",left:"48%",top:"3px",p:1,borderRadius:4,bg:"accent.400",color:"base.50",_dark:{bg:"accent.500"}},children:i.jsx(oE,{size:12})}),i.jsx(Re,{as:Er.div,initial:{scaleX:0,borderWidth:0,display:"none"},animate:{display:["block","block","block","none"],scaleX:[0,.25,.5,1],borderWidth:[0,3,3,0],transition:{duration:.37,times:[0,.25,.5,1]}},sx:{top:"17px",borderBottom:"none",borderColor:"base.400",...Ak,_dark:{borderColor:"accent.500"}}})]})}const tne=be([lt,Kn],({sdxl:e},t)=>{const{negativeStylePrompt:n,shouldConcatSDXLStylePrompt:r}=e;return{prompt:n,shouldConcatSDXLStylePrompt:r,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),nne=()=>{const e=te(),t=Kd(),n=f.useRef(null),{isOpen:r,onClose:o,onOpen:s}=ss(),{prompt:a,activeTabName:c,shouldConcatSDXLStylePrompt:d}=B(tne),p=f.useCallback(b=>{e(Bu(b.target.value))},[e]),h=f.useCallback(b=>{if(!n.current)return;const w=n.current.selectionStart;if(w===void 0)return;let y=a.slice(0,w);y[y.length-1]!=="<"&&(y+="<"),y+=`${b}>`;const S=y.length;y+=a.slice(w),ki.flushSync(()=>{e(Bu(y))}),n.current.selectionStart=S,n.current.selectionEnd=S,o()},[e,o,a]),m=hr("embedding").isFeatureEnabled,v=f.useCallback(b=>{b.key==="Enter"&&b.shiftKey===!1&&t&&(b.preventDefault(),e(yd()),e(xd(c))),m&&b.key==="<"&&s()},[t,e,c,s,m]);return i.jsxs(Re,{position:"relative",children:[i.jsx(mo,{children:d&&i.jsx(Re,{sx:{position:"absolute",left:"3",w:"94%",top:"-17px"},children:i.jsx(TO,{})})}),i.jsx(go,{children:i.jsx(cg,{isOpen:r,onClose:o,onSelect:h,children:i.jsx(ig,{id:"prompt",name:"prompt",ref:n,value:a,placeholder:"Negative Style Prompt",onChange:p,onKeyDown:v,resize:"vertical",fontSize:"sm",minH:16})})}),!r&&m&&i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(lg,{onClick:s})})]})},rne=be([lt,Kn],({sdxl:e},t)=>{const{positiveStylePrompt:n,shouldConcatSDXLStylePrompt:r}=e;return{prompt:n,shouldConcatSDXLStylePrompt:r,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),one=()=>{const e=te(),t=Kd(),n=f.useRef(null),{isOpen:r,onClose:o,onOpen:s}=ss(),{prompt:a,activeTabName:c,shouldConcatSDXLStylePrompt:d}=B(rne),p=f.useCallback(b=>{e(zu(b.target.value))},[e]),h=f.useCallback(b=>{if(!n.current)return;const w=n.current.selectionStart;if(w===void 0)return;let y=a.slice(0,w);y[y.length-1]!=="<"&&(y+="<"),y+=`${b}>`;const S=y.length;y+=a.slice(w),ki.flushSync(()=>{e(zu(y))}),n.current.selectionStart=S,n.current.selectionEnd=S,o()},[e,o,a]),m=hr("embedding").isFeatureEnabled,v=f.useCallback(b=>{b.key==="Enter"&&b.shiftKey===!1&&t&&(b.preventDefault(),e(yd()),e(xd(c))),m&&b.key==="<"&&s()},[t,e,c,s,m]);return i.jsxs(Re,{position:"relative",children:[i.jsx(mo,{children:d&&i.jsx(Re,{sx:{position:"absolute",left:"3",w:"94%",top:"-17px"},children:i.jsx(TO,{})})}),i.jsx(go,{children:i.jsx(cg,{isOpen:r,onClose:o,onSelect:h,children:i.jsx(ig,{id:"prompt",name:"prompt",ref:n,value:a,placeholder:"Positive Style Prompt",onChange:p,onKeyDown:v,resize:"vertical",minH:16})})}),!r&&m&&i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(lg,{onClick:s})})]})};function NO(){return i.jsxs(W,{sx:{flexDirection:"column",gap:2},children:[i.jsx(AO,{}),i.jsx(ene,{}),i.jsx(one,{}),i.jsx(DO,{}),i.jsx(nne,{})]})}const Xc=()=>{const{isRefinerAvailable:e}=na(ab,{selectFromResult:({data:t})=>({isRefinerAvailable:t?t.ids.length>0:!1})});return e},sne=be([lt],({sdxl:e,hotkeys:t})=>{const{refinerAestheticScore:n}=e,{shift:r}=t;return{refinerAestheticScore:n,shift:r}},Je),ane=()=>{const{refinerAestheticScore:e,shift:t}=B(sne),n=Xc(),r=te(),o=f.useCallback(a=>r(Rv(a)),[r]),s=f.useCallback(()=>r(Rv(6)),[r]);return i.jsx(_t,{label:"Aesthetic Score",step:t?.1:.5,min:1,max:10,onChange:o,handleReset:s,value:e,sliderNumberInputProps:{max:10},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!n})},ine=f.memo(ane),sm=/^-?(0\.)?\.?$/,lne=e=>{const{label:t,isDisabled:n=!1,showStepper:r=!0,isInvalid:o,value:s,onChange:a,min:c,max:d,isInteger:p=!0,formControlProps:h,formLabelProps:m,numberInputFieldProps:v,numberInputStepperProps:b,tooltipProps:w,...y}=e,S=te(),[k,_]=f.useState(String(s));f.useEffect(()=>{!k.match(sm)&&s!==Number(k)&&_(String(s))},[s,k]);const P=R=>{_(R),R.match(sm)||a(p?Math.floor(Number(R)):Number(R))},I=R=>{const M=Es(p?Math.floor(Number(R.target.value)):Number(R.target.value),c,d);_(String(M)),a(M)},E=f.useCallback(R=>{R.shiftKey&&S(jo(!0))},[S]),O=f.useCallback(R=>{R.shiftKey||S(jo(!1))},[S]);return i.jsx(vn,{...w,children:i.jsxs(go,{isDisabled:n,isInvalid:o,...h,children:[t&&i.jsx(Bo,{...m,children:t}),i.jsxs(Cm,{value:k,min:c,max:d,keepWithinRange:!0,clampValueOnBlur:!1,onChange:P,onBlur:I,...y,onPaste:Zy,children:[i.jsx(_m,{...v,onKeyDown:E,onKeyUp:O}),r&&i.jsxs(km,{children:[i.jsx(jm,{...b}),i.jsx(Pm,{...b})]})]})]})})},Yc=f.memo(lne),cne=be([lt],({sdxl:e,ui:t,hotkeys:n})=>{const{refinerCFGScale:r}=e,{shouldUseSliders:o}=t,{shift:s}=n;return{refinerCFGScale:r,shouldUseSliders:o,shift:s}},Je),une=()=>{const{refinerCFGScale:e,shouldUseSliders:t,shift:n}=B(cne),r=Xc(),o=te(),{t:s}=ye(),a=f.useCallback(d=>o(Ov(d)),[o]),c=f.useCallback(()=>o(Ov(7)),[o]);return t?i.jsx(_t,{label:s("parameters.cfgScale"),step:n?.1:.5,min:1,max:20,onChange:a,handleReset:c,value:e,sliderNumberInputProps:{max:200},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!r}):i.jsx(Yc,{label:s("parameters.cfgScale"),step:.5,min:1,max:200,onChange:a,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"},isDisabled:!r})},dne=f.memo(une),fne=e=>{const t=wd("models"),[n,r,o]=e.split("/"),s=X7.safeParse({base_model:n,model_name:o,model_type:r});if(!s.success){t.error({mainModelId:e,errors:s.error.format()},"Failed to parse main model id");return}return s.data};function Yd(e){const{iconMode:t=!1}=e,n=te(),{t:r}=ye(),[o,{isLoading:s}]=Y7(),a=()=>{o().unwrap().then(c=>{n(On(Mn({title:`${r("modelManager.modelsSynced")}`,status:"success"})))}).catch(c=>{c&&n(On(Mn({title:`${r("modelManager.modelSyncFailed")}`,status:"error"})))})};return t?i.jsx(ze,{icon:i.jsx(cE,{}),tooltip:r("modelManager.syncModels"),"aria-label":r("modelManager.syncModels"),isLoading:s,onClick:a,size:"sm"}):i.jsx(Yt,{isLoading:s,onClick:a,minW:"max-content",children:"Sync Models"})}const pne=be(lt,e=>({model:e.sdxl.refinerModel}),Je),hne=()=>{const e=te(),t=hr("syncModels").isFeatureEnabled,{model:n}=B(pne),{data:r,isLoading:o}=na(ab),s=f.useMemo(()=>{if(!r)return[];const d=[];return oo(r.entities,(p,h)=>{p&&d.push({value:h,label:p.model_name,group:Qn[p.base_model]})}),d},[r]),a=f.useMemo(()=>(r==null?void 0:r.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])??null,[r==null?void 0:r.entities,n]),c=f.useCallback(d=>{if(!d)return;const p=fne(d);p&&e(q_(p))},[e]);return o?i.jsx(ar,{label:"Refiner Model",placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(ar,{tooltip:a==null?void 0:a.description,label:"Refiner Model",value:a==null?void 0:a.id,placeholder:s.length>0?"Select a model":"No models available",data:s,error:s.length===0,disabled:s.length===0,onChange:c,w:"100%"}),t&&i.jsx(Re,{mt:7,children:i.jsx(Yd,{iconMode:!0})})]})},mne=f.memo(hne),gne=be(lt,({ui:e,sdxl:t})=>{const{refinerScheduler:n}=t,{favoriteSchedulers:r}=e,o=cs(sb,(s,a)=>({value:a,label:s,group:r.includes(a)?"Favorites":void 0})).sort((s,a)=>s.label.localeCompare(a.label));return{refinerScheduler:n,data:o}},Je),vne=()=>{const e=te(),{t}=ye(),{refinerScheduler:n,data:r}=B(gne),o=Xc(),s=f.useCallback(a=>{a&&e(K_(a))},[e]);return i.jsx(ar,{w:"100%",label:t("parameters.scheduler"),value:n,data:r,onChange:s,disabled:!o})},bne=f.memo(vne),yne=be([lt],({sdxl:e})=>{const{refinerStart:t}=e;return{refinerStart:t}},Je),xne=()=>{const{refinerStart:e}=B(yne),t=te(),n=Xc(),r=f.useCallback(s=>t(Mv(s)),[t]),o=f.useCallback(()=>t(Mv(.7)),[t]);return i.jsx(_t,{label:"Refiner Start",step:.01,min:0,max:1,onChange:r,handleReset:o,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!n})},wne=f.memo(xne),Sne=be([lt],({sdxl:e,ui:t})=>{const{refinerSteps:n}=e,{shouldUseSliders:r}=t;return{refinerSteps:n,shouldUseSliders:r}},Je),Cne=()=>{const{refinerSteps:e,shouldUseSliders:t}=B(Sne),n=Xc(),r=te(),{t:o}=ye(),s=f.useCallback(c=>{r(Ev(c))},[r]),a=f.useCallback(()=>{r(Ev(20))},[r]);return t?i.jsx(_t,{label:o("parameters.steps"),min:1,max:100,step:1,onChange:s,handleReset:a,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:500},isDisabled:!n}):i.jsx(Yc,{label:o("parameters.steps"),min:1,max:500,step:1,onChange:s,value:e,numberInputFieldProps:{textAlign:"center"},isDisabled:!n})},kne=f.memo(Cne);function _ne(){const e=B(o=>o.sdxl.shouldUseSDXLRefiner),t=Xc(),n=te(),r=o=>{n(Q7(o.target.checked))};return i.jsx(yr,{label:"Use Refiner",isChecked:e,onChange:r,isDisabled:!t})}const Pne=be(lt,e=>{const{shouldUseSDXLRefiner:t}=e.sdxl,{shouldUseSliders:n}=e.ui;return{activeLabel:t?"Enabled":void 0,shouldUseSliders:n}},Je),$O=()=>{const{activeLabel:e,shouldUseSliders:t}=B(Pne);return i.jsx(Mo,{label:"Refiner",activeLabel:e,children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(_ne,{}),i.jsx(mne,{}),i.jsxs(W,{gap:2,flexDirection:t?"column":"row",children:[i.jsx(kne,{}),i.jsx(dne,{})]}),i.jsx(bne,{}),i.jsx(ine,{}),i.jsx(wne,{})]})})},jne=be([lt],({generation:e,config:t,ui:n,hotkeys:r})=>{const{initial:o,min:s,sliderMax:a,inputMax:c}=t.sd.guidance,{cfgScale:d}=e,{shouldUseSliders:p}=n,{shift:h}=r;return{cfgScale:d,initial:o,min:s,sliderMax:a,inputMax:c,shouldUseSliders:p,shift:h}},Je),Ine=()=>{const{cfgScale:e,initial:t,min:n,sliderMax:r,inputMax:o,shouldUseSliders:s,shift:a}=B(jne),c=te(),{t:d}=ye(),p=f.useCallback(m=>c(Fp(m)),[c]),h=f.useCallback(()=>c(Fp(t)),[c,t]);return s?i.jsx(_t,{label:d("parameters.cfgScale"),step:a?.1:.5,min:n,max:r,onChange:p,handleReset:h,value:e,sliderNumberInputProps:{max:o},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1}):i.jsx(Yc,{label:d("parameters.cfgScale"),step:.5,min:n,max:o,onChange:p,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"}})},yi=f.memo(Ine),Ene=be([lt],e=>{const{initial:t,min:n,sliderMax:r,inputMax:o,fineStep:s,coarseStep:a}=e.config.sd.iterations,{iterations:c}=e.generation,{shouldUseSliders:d}=e.ui,p=e.dynamicPrompts.isEnabled&&e.dynamicPrompts.combinatorial,h=e.hotkeys.shift?s:a;return{iterations:c,initial:t,min:n,sliderMax:r,inputMax:o,step:h,shouldUseSliders:d,isDisabled:p}},Je),One=()=>{const{iterations:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:a,isDisabled:c}=B(Ene),d=te(),{t:p}=ye(),h=f.useCallback(v=>{d(aw(v))},[d]),m=f.useCallback(()=>{d(aw(t))},[d,t]);return a?i.jsx(_t,{isDisabled:c,label:p("parameters.images"),step:s,min:n,max:r,onChange:h,handleReset:m,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):i.jsx(Yc,{isDisabled:c,label:p("parameters.images"),step:s,min:n,max:o,onChange:h,value:e,numberInputFieldProps:{textAlign:"center"}})},xi=f.memo(One),tx=e=>{const t=wd("models"),[n,r,o]=e.split("/"),s=J7.safeParse({base_model:n,model_name:o,model_type:r});if(!s.success){t.error({mainModelId:e,errors:s.error.format()},"Failed to parse main model id");return}return s.data},Rne=be(lt,e=>({model:e.generation.model}),Je),Mne=()=>{const e=te(),{t}=ye(),{model:n}=B(Rne),r=hr("syncModels").isFeatureEnabled,{data:o,isLoading:s}=na(Yu),{data:a,isLoading:c}=Vp(Yu),d=B(Kn),p=f.useMemo(()=>{if(!o)return[];const v=[];return oo(o.entities,(b,w)=>{!b||d==="unifiedCanvas"&&b.base_model==="sdxl"||v.push({value:w,label:b.model_name,group:Qn[b.base_model]})}),oo(a==null?void 0:a.entities,(b,w)=>{!b||d==="unifiedCanvas"||d==="img2img"||v.push({value:w,label:b.model_name,group:Qn[b.base_model]})}),v},[o,a,d]),h=f.useMemo(()=>((o==null?void 0:o.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])||(a==null?void 0:a.entities[`${n==null?void 0:n.base_model}/onnx/${n==null?void 0:n.model_name}`]))??null,[o==null?void 0:o.entities,n,a==null?void 0:a.entities]),m=f.useCallback(v=>{if(!v)return;const b=tx(v);b&&e(jv(b))},[e]);return s||c?i.jsx(ar,{label:t("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:3,children:[i.jsx(ar,{tooltip:h==null?void 0:h.description,label:t("modelManager.model"),value:h==null?void 0:h.id,placeholder:p.length>0?"Select a model":"No models available",data:p,error:p.length===0,disabled:p.length===0,onChange:m,w:"100%"}),r&&i.jsx(Re,{mt:7,children:i.jsx(Yd,{iconMode:!0})})]})},Dne=f.memo(Mne),LO=e=>{const t=wd("models"),[n,r,o]=e.split("/"),s=Z7.safeParse({base_model:n,model_name:o});if(!s.success){t.error({vaeModelId:e,errors:s.error.format()},"Failed to parse VAE model id");return}return s.data},Ane=be(lt,({generation:e})=>{const{model:t,vae:n}=e;return{model:t,vae:n}},Je),Tne=()=>{const e=te(),{t}=ye(),{model:n,vae:r}=B(Ane),{data:o}=t5(),s=f.useMemo(()=>{if(!o)return[];const d=[{value:"default",label:"Default",group:"Default"}];return oo(o.entities,(p,h)=>{if(!p)return;const m=(n==null?void 0:n.base_model)!==p.base_model;d.push({value:h,label:p.model_name,group:Qn[p.base_model],disabled:m,tooltip:m?`Incompatible base model: ${p.base_model}`:void 0})}),d.sort((p,h)=>p.disabled&&!h.disabled?1:-1)},[o,n==null?void 0:n.base_model]),a=f.useMemo(()=>(o==null?void 0:o.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[o==null?void 0:o.entities,r]),c=f.useCallback(d=>{if(!d||d==="default"){e(iw(null));return}const p=LO(d);p&&e(iw(p))},[e]);return i.jsx(ar,{itemComponent:Oi,tooltip:a==null?void 0:a.description,label:t("modelManager.vae"),value:(a==null?void 0:a.id)??"default",placeholder:"Default",data:s,onChange:c,disabled:s.length===0,clearable:!0})},Nne=f.memo(Tne),Mi=e=>e.generation,$ne=be([Ba,Mi],(e,t)=>{const{scheduler:n}=t,{favoriteSchedulers:r}=e,o=cs(sb,(s,a)=>({value:a,label:s,group:r.includes(a)?"Favorites":void 0})).sort((s,a)=>s.label.localeCompare(a.label));return{scheduler:n,data:o}},Je),Lne=()=>{const e=te(),{t}=ye(),{scheduler:n,data:r}=B($ne),o=f.useCallback(s=>{s&&e(Iv(s))},[e]);return i.jsx(ar,{label:t("parameters.scheduler"),value:n,data:r,onChange:o})},zne=f.memo(Lne),Bne=be(lt,({generation:e})=>{const{vaePrecision:t}=e;return{vaePrecision:t}},Je),Fne=["fp16","fp32"],Hne=()=>{const e=te(),{vaePrecision:t}=B(Bne),n=f.useCallback(r=>{r&&e(eM(r))},[e]);return i.jsx(Xr,{label:"VAE Precision",value:t,data:Fne,onChange:n})},Wne=f.memo(Hne),Vne=()=>{const e=hr("vae").isFeatureEnabled;return i.jsxs(W,{gap:3,w:"full",flexWrap:e?"wrap":"nowrap",children:[i.jsx(Re,{w:"full",children:i.jsx(Dne,{})}),i.jsx(Re,{w:"full",children:i.jsx(zne,{})}),e&&i.jsxs(W,{w:"full",gap:3,children:[i.jsx(Nne,{}),i.jsx(Wne,{})]})]})},wi=f.memo(Vne),Une=[{name:"Free",value:null},{name:"2:3",value:2/3},{name:"16:9",value:16/9},{name:"1:1",value:1/1}];function zO(){const e=B(o=>o.generation.aspectRatio),t=te(),n=B(o=>o.generation.shouldFitToWidthHeight),r=B(Kn);return i.jsx(W,{gap:2,flexGrow:1,children:i.jsx(rr,{isAttached:!0,children:Une.map(o=>i.jsx(Yt,{size:"sm",isChecked:e===o.value,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(tM(o.value)),children:o.name},o.name))})})}const Gne=be([lt],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.height,{height:p}=e,{aspectRatio:h}=e,m=t.shift?c:d;return{height:p,initial:r,min:o,sliderMax:s,inputMax:a,step:m,aspectRatio:h}},Je),qne=e=>{const{height:t,initial:n,min:r,sliderMax:o,inputMax:s,step:a,aspectRatio:c}=B(Gne),d=te(),{t:p}=ye(),h=f.useCallback(v=>{if(d(bc(v)),c){const b=ws(v*c,8);d(vc(b))}},[d,c]),m=f.useCallback(()=>{if(d(bc(n)),c){const v=ws(n*c,8);d(vc(v))}},[d,n,c]);return i.jsx(_t,{label:p("parameters.height"),value:t,min:r,step:a,max:o,onChange:h,handleReset:m,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},Kne=f.memo(qne),Xne=be([lt],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.width,{width:p,aspectRatio:h}=e,m=t.shift?c:d;return{width:p,initial:r,min:o,sliderMax:s,inputMax:a,step:m,aspectRatio:h}},Je),Yne=e=>{const{width:t,initial:n,min:r,sliderMax:o,inputMax:s,step:a,aspectRatio:c}=B(Xne),d=te(),{t:p}=ye(),h=f.useCallback(v=>{if(d(vc(v)),c){const b=ws(v/c,8);d(bc(b))}},[d,c]),m=f.useCallback(()=>{if(d(vc(n)),c){const v=ws(n/c,8);d(bc(v))}},[d,n,c]);return i.jsx(_t,{label:p("parameters.width"),value:t,min:r,step:a,max:o,onChange:h,handleReset:m,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},Qne=f.memo(Yne);function Mc(){const{t:e}=ye(),t=te(),n=B(o=>o.generation.shouldFitToWidthHeight),r=B(Kn);return i.jsxs(W,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[i.jsxs(W,{alignItems:"center",gap:2,children:[i.jsx(Qe,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:e("parameters.aspectRatio")}),i.jsx(ml,{}),i.jsx(zO,{}),i.jsx(ze,{tooltip:e("ui.swapSizes"),"aria-label":e("ui.swapSizes"),size:"sm",icon:i.jsx(vO,{}),fontSize:20,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(nM())})]}),i.jsx(W,{gap:2,alignItems:"center",children:i.jsxs(W,{gap:2,flexDirection:"column",width:"full",children:[i.jsx(Qne,{isDisabled:r==="img2img"?!n:!1}),i.jsx(Kne,{isDisabled:r==="img2img"?!n:!1})]})})]})}const Jne=be([lt],({generation:e,config:t,ui:n,hotkeys:r})=>{const{initial:o,min:s,sliderMax:a,inputMax:c,fineStep:d,coarseStep:p}=t.sd.steps,{steps:h}=e,{shouldUseSliders:m}=n,v=r.shift?d:p;return{steps:h,initial:o,min:s,sliderMax:a,inputMax:c,step:v,shouldUseSliders:m}},Je),Zne=()=>{const{steps:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:a}=B(Jne),c=te(),{t:d}=ye(),p=f.useCallback(v=>{c(Hp(v))},[c]),h=f.useCallback(()=>{c(Hp(t))},[c,t]),m=f.useCallback(()=>{c(yd())},[c]);return a?i.jsx(_t,{label:d("parameters.steps"),min:n,max:r,step:s,onChange:p,handleReset:h,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):i.jsx(Yc,{label:d("parameters.steps"),min:n,max:o,step:s,onChange:p,value:e,numberInputFieldProps:{textAlign:"center"},onBlur:m})},Si=f.memo(Zne);function BO(){const e=te(),t=B(o=>o.generation.shouldFitToWidthHeight),n=o=>e(rM(o.target.checked)),{t:r}=ye();return i.jsx(yr,{label:r("parameters.imageFit"),isChecked:t,onChange:n})}function ere(){const e=B(a=>a.generation.seed),t=B(a=>a.generation.shouldRandomizeSeed),n=B(a=>a.generation.shouldGenerateVariations),{t:r}=ye(),o=te(),s=a=>o(Bp(a));return i.jsx(Yc,{label:r("parameters.seed"),step:1,precision:0,flexGrow:1,min:n5,max:r5,isDisabled:t,isInvalid:e<0&&n,onChange:s,value:e})}const tre=(e,t)=>Math.floor(Math.random()*(t-e+1)+e);function nre(){const e=te(),t=B(o=>o.generation.shouldRandomizeSeed),{t:n}=ye(),r=()=>e(Bp(tre(n5,r5)));return i.jsx(ze,{size:"sm",isDisabled:t,"aria-label":n("parameters.shuffle"),tooltip:n("parameters.shuffle"),onClick:r,icon:i.jsx(ZY,{})})}const rre=()=>{const e=te(),{t}=ye(),n=B(o=>o.generation.shouldRandomizeSeed),r=o=>e(oM(o.target.checked));return i.jsx(yr,{label:t("common.random"),isChecked:n,onChange:r})},ore=f.memo(rre),sre=()=>i.jsxs(W,{sx:{gap:3,alignItems:"flex-end"},children:[i.jsx(ere,{}),i.jsx(nre,{}),i.jsx(ore,{})]}),Ci=f.memo(sre),are=be([lt],({sdxl:e})=>{const{sdxlImg2ImgDenoisingStrength:t}=e;return{sdxlImg2ImgDenoisingStrength:t}},Je),ire=()=>{const{sdxlImg2ImgDenoisingStrength:e}=B(are),t=te(),{t:n}=ye(),r=f.useCallback(s=>t(lw(s)),[t]),o=f.useCallback(()=>{t(lw(.7))},[t]);return i.jsx(_t,{label:`${n("parameters.denoisingStrength")}`,step:.01,min:0,max:1,onChange:r,handleReset:o,value:e,isInteger:!1,withInput:!0,withSliderMarks:!0,withReset:!0})},lre=f.memo(ire),cre=be([Ba,Mi],(e,t)=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Je),ure=()=>{const{shouldUseSliders:e,activeLabel:t}=B(cre);return i.jsx(Mo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(W,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(yi,{}),i.jsx(wi,{}),i.jsx(Re,{pt:2,children:i.jsx(Ci,{})}),i.jsx(Mc,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(yi,{})]}),i.jsx(wi,{}),i.jsx(Re,{pt:2,children:i.jsx(Ci,{})}),i.jsx(Mc,{})]}),i.jsx(lre,{}),i.jsx(BO,{})]})})},dre=f.memo(ure),FO=()=>i.jsxs(i.Fragment,{children:[i.jsx(NO,{}),i.jsx(Xd,{}),i.jsx(dre,{}),i.jsx($O,{}),i.jsx(qd,{}),i.jsx(sg,{})]}),HO=e=>{const{sx:t}=e,n=te(),r=B(a=>a.ui.shouldPinParametersPanel),{t:o}=ye(),s=()=>{n(sM(!r)),n(ko())};return i.jsx(ze,{...e,tooltip:o("common.pinOptionsPanel"),"aria-label":o("common.pinOptionsPanel"),onClick:s,icon:r?i.jsx(XE,{}):i.jsx(YE,{}),variant:"ghost",size:"sm",sx:{color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}},...t}})},fre=be(Ba,e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=e;return{shouldPinParametersPanel:t,shouldShowParametersPanel:n}}),pre=e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=B(fre);return t&&n?i.jsxs(Re,{sx:{position:"relative",h:"full",w:ex,flexShrink:0},children:[i.jsx(W,{sx:{gap:2,flexDirection:"column",h:"full",w:"full",position:"absolute",overflowY:"auto"},children:e.children}),i.jsx(HO,{sx:{position:"absolute",top:0,insetInlineEnd:0}})]}):null},nx=f.memo(pre),hre=e=>{const{direction:t="horizontal",...n}=e,{colorMode:r}=Ds();return t==="horizontal"?i.jsx($1,{children:i.jsx(W,{sx:{w:6,h:"full",justifyContent:"center",alignItems:"center"},...n,children:i.jsx(Re,{sx:{w:.5,h:"calc(100% - 4px)",bg:Fe("base.100","base.850")(r)}})})}):i.jsx($1,{children:i.jsx(W,{sx:{w:"full",h:6,justifyContent:"center",alignItems:"center"},...n,children:i.jsx(Re,{sx:{w:"calc(100% - 4px)",h:.5,bg:Fe("base.100","base.850")(r)}})})})},WO=f.memo(hre),mre=be([lt],({system:e})=>{const{isProcessing:t,isConnected:n}=e;return n&&!t}),gre=e=>{const{onClick:t,isDisabled:n}=e,{t:r}=ye(),o=B(mre);return i.jsx(ze,{onClick:t,icon:i.jsx(Eo,{}),tooltip:`${r("gallery.deleteImage")} (Del)`,"aria-label":`${r("gallery.deleteImage")} (Del)`,isDisabled:n||!o,colorScheme:"error"})},vre=[{label:"RealESRGAN x2 Plus",value:"RealESRGAN_x2plus.pth",tooltip:"Attempts to retain sharpness, low smoothing",group:"x2 Upscalers"},{label:"RealESRGAN x4 Plus",value:"RealESRGAN_x4plus.pth",tooltip:"Best for photos and highly detailed images, medium smoothing",group:"x4 Upscalers"},{label:"RealESRGAN x4 Plus (anime 6B)",value:"RealESRGAN_x4plus_anime_6B.pth",tooltip:"Best for anime/manga, high smoothing",group:"x4 Upscalers"},{label:"ESRGAN SRx4",value:"ESRGAN_SRx4_DF2KOST_official-ff704c30.pth",tooltip:"Retains sharpness, low smoothing",group:"x4 Upscalers"}];function bre(){const e=B(r=>r.postprocessing.esrganModelName),t=te(),n=r=>t(aM(r));return i.jsx(Xr,{label:"ESRGAN Model",value:e,itemComponent:Oi,onChange:n,data:vre})}const yre=e=>{const{imageDTO:t}=e,n=te(),r=B(kr),{t:o}=ye(),{isOpen:s,onOpen:a,onClose:c}=ss(),d=f.useCallback(()=>{c(),t&&n(o5({image_name:t.image_name}))},[n,t,c]);return i.jsx(xl,{isOpen:s,onClose:c,triggerComponent:i.jsx(ze,{onClick:a,icon:i.jsx(LY,{}),"aria-label":o("parameters.upscale")}),children:i.jsxs(W,{sx:{flexDirection:"column",gap:4},children:[i.jsx(bre,{}),i.jsx(Yt,{size:"sm",isDisabled:!t||r,onClick:d,children:o("parameters.upscaleImage")})]})})},xre=be([lt,Kn],({gallery:e,system:t,ui:n},r)=>{const{isProcessing:o,isConnected:s,shouldConfirmOnDelete:a,progressImage:c}=t,{shouldShowImageDetails:d,shouldHidePreview:p,shouldShowProgressInViewer:h}=n,m=e.selection[e.selection.length-1];return{canDeleteImage:s&&!o,shouldConfirmOnDelete:a,isProcessing:o,isConnected:s,shouldDisableToolbarButtons:!!c||!m,shouldShowImageDetails:d,activeTabName:r,shouldHidePreview:p,shouldShowProgressInViewer:h,lastSelectedImage:m}},{memoizeOptions:{resultEqualityCheck:Zt}}),wre=e=>{const t=te(),{isProcessing:n,isConnected:r,shouldDisableToolbarButtons:o,shouldShowImageDetails:s,lastSelectedImage:a,shouldShowProgressInViewer:c}=B(xre),d=hr("upscaling").isFeatureEnabled,p=Vc(),{t:h}=ye(),{recallBothPrompts:m,recallSeed:v,recallAllParameters:b}=Uy(),[w,y]=qy(a,500),{currentData:S}=Is((a==null?void 0:a.image_name)??ro.skipToken),{currentData:k}=nb(y.isPending()?ro.skipToken:(w==null?void 0:w.image_name)??ro.skipToken),_=k==null?void 0:k.metadata,P=f.useCallback(()=>{b(_)},[_,b]);tt("a",()=>{},[_,b]);const I=f.useCallback(()=>{v(_==null?void 0:_.seed)},[_==null?void 0:_.seed,v]);tt("s",I,[S]);const E=f.useCallback(()=>{m(_==null?void 0:_.positive_prompt,_==null?void 0:_.negative_prompt,_==null?void 0:_.positive_style_prompt,_==null?void 0:_.negative_style_prompt)},[_==null?void 0:_.negative_prompt,_==null?void 0:_.positive_prompt,_==null?void 0:_.positive_style_prompt,_==null?void 0:_.negative_style_prompt,m]);tt("p",E,[S]);const O=f.useCallback(()=>{t(fO()),t(eb(S))},[t,S]);tt("shift+i",O,[S]);const R=f.useCallback(()=>{S&&t(o5({image_name:S.image_name}))},[t,S]),M=f.useCallback(()=>{S&&t(fm([S]))},[t,S]);tt("Shift+U",()=>{R()},{enabled:()=>!!(d&&!o&&r&&!n)},[d,S,o,r,n]);const D=f.useCallback(()=>t(iM(!s)),[t,s]);tt("i",()=>{S?D():p({title:h("toast.metadataLoadFailed"),status:"error",duration:2500,isClosable:!0})},[S,s,p]),tt("delete",()=>{M()},[t,S]);const A=f.useCallback(()=>{t(e5(!c))},[t,c]);return i.jsx(i.Fragment,{children:i.jsxs(W,{sx:{flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},...e,children:[i.jsx(rr,{isAttached:!0,isDisabled:o,children:i.jsxs(Md,{children:[i.jsx(Dd,{as:ze,"aria-label":`${h("parameters.sendTo")}...`,tooltip:`${h("parameters.sendTo")}...`,isDisabled:!S,icon:i.jsx(rQ,{})}),i.jsx(il,{motionProps:Zu,children:S&&i.jsx(pO,{imageDTO:S})})]})}),i.jsxs(rr,{isAttached:!0,isDisabled:o,children:[i.jsx(ze,{icon:i.jsx(iE,{}),tooltip:`${h("parameters.usePrompt")} (P)`,"aria-label":`${h("parameters.usePrompt")} (P)`,isDisabled:!(_!=null&&_.positive_prompt),onClick:E}),i.jsx(ze,{icon:i.jsx(lE,{}),tooltip:`${h("parameters.useSeed")} (S)`,"aria-label":`${h("parameters.useSeed")} (S)`,isDisabled:!(_!=null&&_.seed),onClick:I}),i.jsx(ze,{icon:i.jsx(YI,{}),tooltip:`${h("parameters.useAll")} (A)`,"aria-label":`${h("parameters.useAll")} (A)`,isDisabled:!_,onClick:P})]}),d&&i.jsx(rr,{isAttached:!0,isDisabled:o,children:d&&i.jsx(yre,{imageDTO:S})}),i.jsx(rr,{isAttached:!0,isDisabled:o,children:i.jsx(ze,{icon:i.jsx(by,{}),tooltip:`${h("parameters.info")} (I)`,"aria-label":`${h("parameters.info")} (I)`,isChecked:s,onClick:D})}),i.jsx(rr,{isAttached:!0,children:i.jsx(ze,{"aria-label":h("settings.displayInProgress"),tooltip:h("settings.displayInProgress"),icon:i.jsx(VY,{}),isChecked:c,onClick:A})}),i.jsx(rr,{isAttached:!0,children:i.jsx(gre,{onClick:M,isDisabled:o})})]})})},Sre=be([lt,rb],(e,t)=>{var _,P;const{data:n,status:r}=lM.endpoints.listImages.select(t)(e),{data:o}=e.gallery.galleryView==="images"?cw.endpoints.getBoardImagesTotal.select(t.board_id??"none")(e):cw.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(e),s=e.gallery.selection[e.gallery.selection.length-1],a=r==="pending";if(!n||!s||o===0)return{isFetching:a,queryArgs:t,isOnFirstImage:!0,isOnLastImage:!0};const c={...t,offset:n.ids.length,limit:J_},d=cM.getSelectors(),p=d.selectAll(n),h=p.findIndex(I=>I.image_name===s.image_name),m=Es(h+1,0,p.length-1),v=Es(h-1,0,p.length-1),b=(_=p[m])==null?void 0:_.image_name,w=(P=p[v])==null?void 0:P.image_name,y=b?d.selectById(n,b):void 0,S=w?d.selectById(n,w):void 0,k=p.length;return{loadedImagesCount:p.length,currentImageIndex:h,areMoreImagesAvailable:(o??0)>k,isFetching:r==="pending",nextImage:y,prevImage:S,queryArgs:c}},{memoizeOptions:{resultEqualityCheck:Zt}}),VO=()=>{const e=te(),{nextImage:t,prevImage:n,areMoreImagesAvailable:r,isFetching:o,queryArgs:s,loadedImagesCount:a,currentImageIndex:c}=B(Sre),d=f.useCallback(()=>{n&&e(uw(n))},[e,n]),p=f.useCallback(()=>{t&&e(uw(t))},[e,t]),[h]=Q_(),m=f.useCallback(()=>{h(s)},[h,s]);return{handlePrevImage:d,handleNextImage:p,isOnFirstImage:c===0,isOnLastImage:c!==void 0&&c===a-1,nextImage:t,prevImage:n,areMoreImagesAvailable:r,handleLoadMoreImages:m,isFetching:o}};function Cre(e){return nt({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M245.09 327.74v-37.32c57.07 0 84.51 13.47 108.58 38.68 5.4 5.65 15 1.32 14.29-6.43-5.45-61.45-34.14-117.09-122.87-117.09v-37.32a8.32 8.32 0 00-14.05-6L146.58 242a8.2 8.2 0 000 11.94L231 333.71a8.32 8.32 0 0014.09-5.97z"}},{tag:"path",attr:{fill:"none",strokeMiterlimit:"10",strokeWidth:"32",d:"M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64z"}}]})(e)}const bs=({label:e,value:t,onClick:n,isLink:r,labelPosition:o,withCopy:s=!1})=>{const{t:a}=ye();return t?i.jsxs(W,{gap:2,children:[n&&i.jsx(vn,{label:`Recall ${e}`,children:i.jsx(ka,{"aria-label":a("accessibility.useThisParameter"),icon:i.jsx(Cre,{}),size:"xs",variant:"ghost",fontSize:20,onClick:n})}),s&&i.jsx(vn,{label:`Copy ${e}`,children:i.jsx(ka,{"aria-label":`Copy ${e}`,icon:i.jsx(qc,{}),size:"xs",variant:"ghost",fontSize:14,onClick:()=>navigator.clipboard.writeText(t.toString())})}),i.jsxs(W,{direction:o?"column":"row",children:[i.jsxs(Qe,{fontWeight:"semibold",whiteSpace:"pre-wrap",pr:2,children:[e,":"]}),r?i.jsxs(Rb,{href:t.toString(),isExternal:!0,wordBreak:"break-all",children:[t.toString()," ",i.jsx(VE,{mx:"2px"})]}):i.jsx(Qe,{overflowY:"scroll",wordBreak:"break-all",children:t.toString()})]})]}):null},kre=e=>{const{metadata:t}=e,{recallPositivePrompt:n,recallNegativePrompt:r,recallSeed:o,recallCfgScale:s,recallModel:a,recallScheduler:c,recallSteps:d,recallWidth:p,recallHeight:h,recallStrength:m}=Uy(),v=f.useCallback(()=>{n(t==null?void 0:t.positive_prompt)},[t==null?void 0:t.positive_prompt,n]),b=f.useCallback(()=>{r(t==null?void 0:t.negative_prompt)},[t==null?void 0:t.negative_prompt,r]),w=f.useCallback(()=>{o(t==null?void 0:t.seed)},[t==null?void 0:t.seed,o]),y=f.useCallback(()=>{a(t==null?void 0:t.model)},[t==null?void 0:t.model,a]),S=f.useCallback(()=>{p(t==null?void 0:t.width)},[t==null?void 0:t.width,p]),k=f.useCallback(()=>{h(t==null?void 0:t.height)},[t==null?void 0:t.height,h]),_=f.useCallback(()=>{c(t==null?void 0:t.scheduler)},[t==null?void 0:t.scheduler,c]),P=f.useCallback(()=>{d(t==null?void 0:t.steps)},[t==null?void 0:t.steps,d]),I=f.useCallback(()=>{s(t==null?void 0:t.cfg_scale)},[t==null?void 0:t.cfg_scale,s]),E=f.useCallback(()=>{m(t==null?void 0:t.strength)},[t==null?void 0:t.strength,m]);return!t||Object.keys(t).length===0?null:i.jsxs(i.Fragment,{children:[t.generation_mode&&i.jsx(bs,{label:"Generation Mode",value:t.generation_mode}),t.positive_prompt&&i.jsx(bs,{label:"Positive Prompt",labelPosition:"top",value:t.positive_prompt,onClick:v}),t.negative_prompt&&i.jsx(bs,{label:"Negative Prompt",labelPosition:"top",value:t.negative_prompt,onClick:b}),t.seed!==void 0&&i.jsx(bs,{label:"Seed",value:t.seed,onClick:w}),t.model!==void 0&&i.jsx(bs,{label:"Model",value:t.model.model_name,onClick:y}),t.width&&i.jsx(bs,{label:"Width",value:t.width,onClick:S}),t.height&&i.jsx(bs,{label:"Height",value:t.height,onClick:k}),t.scheduler&&i.jsx(bs,{label:"Scheduler",value:t.scheduler,onClick:_}),t.steps&&i.jsx(bs,{label:"Steps",value:t.steps,onClick:P}),t.cfg_scale!==void 0&&i.jsx(bs,{label:"CFG scale",value:t.cfg_scale,onClick:I}),t.strength&&i.jsx(bs,{label:"Image to image strength",value:t.strength,onClick:E})]})},_re=e=>{const{copyTooltip:t,jsonObject:n}=e,r=f.useMemo(()=>JSON.stringify(n,null,2),[n]);return i.jsxs(W,{sx:{borderRadius:"base",bg:"whiteAlpha.500",_dark:{bg:"blackAlpha.500"},flexGrow:1,w:"full",h:"full",position:"relative"},children:[i.jsx(Re,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"auto",p:4},children:i.jsx(zE,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:i.jsx("pre",{children:r})})}),i.jsx(W,{sx:{position:"absolute",top:0,insetInlineEnd:0,p:2},children:i.jsx(vn,{label:t,children:i.jsx(ka,{"aria-label":t,icon:i.jsx(qc,{}),variant:"ghost",onClick:()=>navigator.clipboard.writeText(r)})})})]})},Pre=({image:e})=>{const[t,n]=qy(e.image_name,500),{currentData:r}=nb(n.isPending()?ro.skipToken:t??ro.skipToken),o=r==null?void 0:r.metadata,s=r==null?void 0:r.graph,a=f.useMemo(()=>{const c=[];return o&&c.push({label:"Core Metadata",data:o,copyTooltip:"Copy Core Metadata JSON"}),e&&c.push({label:"Image Details",data:e,copyTooltip:"Copy Image Details JSON"}),s&&c.push({label:"Graph",data:s,copyTooltip:"Copy Graph JSON"}),c},[o,s,e]);return i.jsxs(W,{sx:{padding:4,gap:1,flexDirection:"column",width:"full",height:"full",backdropFilter:"blur(20px)",bg:"baseAlpha.200",_dark:{bg:"blackAlpha.600"},borderRadius:"base",position:"absolute",overflow:"hidden"},children:[i.jsxs(W,{gap:2,children:[i.jsx(Qe,{fontWeight:"semibold",children:"File:"}),i.jsxs(Rb,{href:e.image_url,isExternal:!0,maxW:"calc(100% - 3rem)",children:[e.image_name,i.jsx(VE,{mx:"2px"})]})]}),i.jsx(kre,{metadata:o}),i.jsxs($d,{variant:"line",sx:{display:"flex",flexDir:"column",w:"full",h:"full"},children:[i.jsx(Ld,{children:a.map(c=>i.jsx(kc,{sx:{borderTopRadius:"base"},children:i.jsx(Qe,{sx:{color:"base.700",_dark:{color:"base.300"}},children:c.label})},c.label))}),i.jsx(Nm,{sx:{w:"full",h:"full"},children:a.map(c=>i.jsx(Tm,{sx:{w:"full",h:"full",p:0,pt:4},children:i.jsx(_re,{jsonObject:c.data,copyTooltip:c.copyTooltip})},c.label))})]})]})},jre=f.memo(Pre),mv={color:"base.100",pointerEvents:"auto"},Ire=()=>{const{t:e}=ye(),{handlePrevImage:t,handleNextImage:n,isOnFirstImage:r,isOnLastImage:o,handleLoadMoreImages:s,areMoreImagesAvailable:a,isFetching:c}=VO();return i.jsxs(Re,{sx:{position:"relative",height:"100%",width:"100%"},children:[i.jsx(Re,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineStart:0},children:!r&&i.jsx(ka,{"aria-label":e("accessibility.previousImage"),icon:i.jsx(IY,{size:64}),variant:"unstyled",onClick:t,boxSize:16,sx:mv})}),i.jsxs(Re,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineEnd:0},children:[!o&&i.jsx(ka,{"aria-label":e("accessibility.nextImage"),icon:i.jsx(EY,{size:64}),variant:"unstyled",onClick:n,boxSize:16,sx:mv}),o&&a&&!c&&i.jsx(ka,{"aria-label":e("accessibility.loadMore"),icon:i.jsx(jY,{size:64}),variant:"unstyled",onClick:s,boxSize:16,sx:mv}),o&&a&&c&&i.jsx(W,{sx:{w:16,h:16,alignItems:"center",justifyContent:"center"},children:i.jsx(hl,{opacity:.5,size:"xl"})})]})]})},Ere=f.memo(Ire),Ore=be([lt,uM],({ui:e,system:t},n)=>{const{shouldShowImageDetails:r,shouldHidePreview:o,shouldShowProgressInViewer:s}=e,{progressImage:a,shouldAntialiasProgressImage:c}=t;return{shouldShowImageDetails:r,shouldHidePreview:o,imageName:n==null?void 0:n.image_name,progressImage:a,shouldShowProgressInViewer:s,shouldAntialiasProgressImage:c}},{memoizeOptions:{resultEqualityCheck:Zt}}),Rre=()=>{const{shouldShowImageDetails:e,imageName:t,progressImage:n,shouldShowProgressInViewer:r,shouldAntialiasProgressImage:o}=B(Ore),{handlePrevImage:s,handleNextImage:a,isOnLastImage:c,handleLoadMoreImages:d,areMoreImagesAvailable:p,isFetching:h}=VO();tt("left",()=>{s()},[s]),tt("right",()=>{if(c&&p&&!h){d();return}c||a()},[c,p,d,h,a]);const{currentData:m}=Is(t??ro.skipToken),v=f.useMemo(()=>{if(m)return{id:"current-image",payloadType:"IMAGE_DTO",payload:{imageDTO:m}}},[m]),b=f.useMemo(()=>({id:"current-image",actionType:"SET_CURRENT_IMAGE"}),[]),[w,y]=f.useState(!1),S=f.useRef(0),k=f.useCallback(()=>{y(!0),window.clearTimeout(S.current)},[]),_=f.useCallback(()=>{S.current=window.setTimeout(()=>{y(!1)},500)},[]);return i.jsxs(W,{onMouseOver:k,onMouseOut:_,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative"},children:[n&&r?i.jsx(Lc,{src:n.dataURL,width:n.width,height:n.height,draggable:!1,sx:{objectFit:"contain",maxWidth:"full",maxHeight:"full",height:"auto",position:"absolute",borderRadius:"base",imageRendering:o?"auto":"pixelated"}}):i.jsx(fl,{imageDTO:m,droppableData:b,draggableData:v,isUploadDisabled:!0,fitContainer:!0,useThumbailFallback:!0,dropLabel:"Set as Current Image",noContentFallback:i.jsx(tl,{icon:Oc,label:"No image selected"})}),e&&m&&i.jsx(Re,{sx:{position:"absolute",top:"0",width:"full",height:"full",borderRadius:"base"},children:i.jsx(jre,{image:m})}),i.jsx(mo,{children:!e&&m&&w&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},style:{position:"absolute",top:"0",width:"100%",height:"100%",pointerEvents:"none"},children:i.jsx(Ere,{})},"nextPrevButtons")})]})},Mre=f.memo(Rre),Dre=()=>i.jsxs(W,{sx:{position:"relative",flexDirection:"column",height:"100%",width:"100%",rowGap:4,alignItems:"center",justifyContent:"center"},children:[i.jsx(wre,{}),i.jsx(Mre,{})]}),UO=()=>i.jsx(Re,{layerStyle:"first",sx:{position:"relative",width:"100%",height:"100%",p:4,borderRadius:"base"},children:i.jsx(W,{sx:{width:"100%",height:"100%"},children:i.jsx(Dre,{})})}),Are=e=>{const t=te(),{lora:n}=e,r=f.useCallback(a=>{t(dM({id:n.id,weight:a}))},[t,n.id]),o=f.useCallback(()=>{t(fM(n.id))},[t,n.id]),s=f.useCallback(()=>{t(pM(n.id))},[t,n.id]);return i.jsxs(W,{sx:{gap:2.5,alignItems:"flex-end"},children:[i.jsx(_t,{label:n.model_name,value:n.weight,onChange:r,min:-1,max:2,step:.01,withInput:!0,withReset:!0,handleReset:o,withSliderMarks:!0,sliderMarks:[-1,0,1,2],sliderNumberInputProps:{min:-50,max:50}}),i.jsx(ze,{size:"sm",onClick:s,tooltip:"Remove LoRA","aria-label":"Remove LoRA",icon:i.jsx(Eo,{}),colorScheme:"error"})]})},Tre=f.memo(Are),Nre=be(lt,({lora:e})=>{const{loras:t}=e;return{loras:t}},Je),$re=()=>{const{loras:e}=B(Nre);return i.jsx(i.Fragment,{children:cs(e,t=>i.jsx(Tre,{lora:t},t.model_name))})},Lre=be(lt,({lora:e})=>({loras:e.loras}),Je),zre=()=>{const e=te(),{loras:t}=B(Lre),{data:n}=hm(),r=B(a=>a.generation.model),o=f.useMemo(()=>{if(!n)return[];const a=[];return oo(n.entities,(c,d)=>{if(!c||d in t)return;const p=(r==null?void 0:r.base_model)!==c.base_model;a.push({value:d,label:c.model_name,disabled:p,group:Qn[c.base_model],tooltip:p?`Incompatible base model: ${c.base_model}`:void 0})}),a.sort((c,d)=>{var p;return c.label&&d.label&&(p=c.label)!=null&&p.localeCompare(d.label)?1:-1}),a.sort((c,d)=>c.disabled&&!d.disabled?-1:1)},[t,n,r==null?void 0:r.base_model]),s=f.useCallback(a=>{if(!a)return;const c=n==null?void 0:n.entities[a];c&&e(hM(c))},[e,n==null?void 0:n.entities]);return(n==null?void 0:n.ids.length)===0?i.jsx(W,{sx:{justifyContent:"center",p:2},children:i.jsx(Qe,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):i.jsx(ar,{placeholder:o.length===0?"All LoRAs added":"Add LoRA",value:null,data:o,nothingFound:"No matching LoRAs",itemComponent:Oi,disabled:o.length===0,filter:(a,c)=>{var d;return((d=c.label)==null?void 0:d.toLowerCase().includes(a.toLowerCase().trim()))||c.value.toLowerCase().includes(a.toLowerCase().trim())},onChange:s})},Bre=be(lt,e=>{const t=s5(e.lora.loras);return{activeLabel:t>0?`${t} Active`:void 0}},Je),Fre=()=>{const{activeLabel:e}=B(Bre);return hr("lora").isFeatureEnabled?i.jsx(Mo,{label:"LoRA",activeLabel:e,children:i.jsxs(W,{sx:{flexDir:"column",gap:2},children:[i.jsx(zre,{}),i.jsx($re,{})]})}):null},rx=f.memo(Fre);function Hre(){const e=B(d=>d.generation.clipSkip),{model:t}=B(d=>d.generation),n=te(),{t:r}=ye(),o=f.useCallback(d=>{n(dw(d))},[n]),s=f.useCallback(()=>{n(dw(0))},[n]),a=f.useMemo(()=>t?zf[t.base_model].maxClip:zf["sd-1"].maxClip,[t]),c=f.useMemo(()=>t?zf[t.base_model].markers:zf["sd-1"].markers,[t]);return i.jsx(_t,{label:r("parameters.clipSkip"),"aria-label":r("parameters.clipSkip"),min:0,max:a,step:1,value:e,onChange:o,withSliderMarks:!0,sliderMarks:c,withInput:!0,withReset:!0,handleReset:s})}const Wre=be(lt,e=>({activeLabel:e.generation.clipSkip>0?"Clip Skip":void 0}),Je);function ox(){const{activeLabel:e}=B(Wre);return B(n=>n.generation.shouldShowAdvancedOptions)?i.jsx(Mo,{label:"Advanced",activeLabel:e,children:i.jsx(W,{sx:{flexDir:"column",gap:2},children:i.jsx(Hre,{})})}):null}const GO=e=>{const t=wd("models"),[n,r,o]=e.split("/"),s=mM.safeParse({base_model:n,model_name:o});if(!s.success){t.error({controlNetModelId:e,errors:s.error.format()},"Failed to parse ControlNet model id");return}return s.data},Vre=be(lt,({generation:e})=>{const{model:t}=e;return{mainModel:t}},Je),Ure=e=>{const{controlNetId:t,model:n,isEnabled:r}=e.controlNet,o=te(),s=B(kr),{mainModel:a}=B(Vre),{data:c}=ib(),d=f.useMemo(()=>{if(!c)return[];const m=[];return oo(c.entities,(v,b)=>{if(!v)return;const w=(v==null?void 0:v.base_model)!==(a==null?void 0:a.base_model);m.push({value:b,label:v.model_name,group:Qn[v.base_model],disabled:w,tooltip:w?`Incompatible base model: ${v.base_model}`:void 0})}),m},[c,a==null?void 0:a.base_model]),p=f.useMemo(()=>(c==null?void 0:c.entities[`${n==null?void 0:n.base_model}/controlnet/${n==null?void 0:n.model_name}`])??null,[n==null?void 0:n.base_model,n==null?void 0:n.model_name,c==null?void 0:c.entities]),h=f.useCallback(m=>{if(!m)return;const v=GO(m);v&&o(a5({controlNetId:t,model:v}))},[t,o]);return i.jsx(ar,{itemComponent:Oi,data:d,error:!p||(a==null?void 0:a.base_model)!==p.base_model,placeholder:"Select a model",value:(p==null?void 0:p.id)??null,onChange:h,disabled:s||!r,tooltip:p==null?void 0:p.description})},Gre=f.memo(Ure),qre=e=>{const{weight:t,isEnabled:n,controlNetId:r}=e.controlNet,o=te(),s=f.useCallback(a=>{o(gM({controlNetId:r,weight:a}))},[r,o]);return i.jsx(_t,{isDisabled:!n,label:"Weight",value:t,onChange:s,min:0,max:2,step:.01,withSliderMarks:!0,sliderMarks:[0,1,2]})},Kre=f.memo(qre),Xre=be(lt,({controlNet:e})=>{const{pendingControlImages:t}=e;return{pendingControlImages:t}},Je),Yre=e=>{const{height:t}=e,{controlImage:n,processedControlImage:r,processorType:o,isEnabled:s,controlNetId:a}=e.controlNet,c=te(),{pendingControlImages:d}=B(Xre),[p,h]=f.useState(!1),{currentData:m}=Is(n??ro.skipToken),{currentData:v}=Is(r??ro.skipToken),b=f.useCallback(()=>{c(vM({controlNetId:a,controlImage:null}))},[a,c]),w=f.useCallback(()=>{h(!0)},[]),y=f.useCallback(()=>{h(!1)},[]),S=f.useMemo(()=>{if(m)return{id:a,payloadType:"IMAGE_DTO",payload:{imageDTO:m}}},[m,a]),k=f.useMemo(()=>({id:a,actionType:"SET_CONTROLNET_IMAGE",context:{controlNetId:a}}),[a]),_=f.useMemo(()=>({type:"SET_CONTROLNET_IMAGE",controlNetId:a}),[a]),P=m&&v&&!p&&!d.includes(a)&&o!=="none";return i.jsxs(W,{onMouseEnter:w,onMouseLeave:y,sx:{position:"relative",w:"full",h:t,alignItems:"center",justifyContent:"center",pointerEvents:s?"auto":"none",opacity:s?1:.5},children:[i.jsx(fl,{draggableData:S,droppableData:k,imageDTO:m,isDropDisabled:P||!s,onClickReset:b,postUploadAction:_,resetTooltip:"Reset Control Image",withResetIcon:!!m}),i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",opacity:P?1:0,transitionProperty:"common",transitionDuration:"normal",pointerEvents:"none"},children:i.jsx(fl,{draggableData:S,droppableData:k,imageDTO:v,isUploadDisabled:!0,isDropDisabled:!s,onClickReset:b,resetTooltip:"Reset Control Image",withResetIcon:!!m})}),d.includes(a)&&i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",alignItems:"center",justifyContent:"center",opacity:.8,borderRadius:"base",bg:"base.400",_dark:{bg:"base.900"}},children:i.jsx(hl,{size:"xl",sx:{color:"base.100",_dark:{color:"base.400"}}})})]})},Tk=f.memo(Yre),Ts=()=>{const e=te();return f.useCallback((n,r)=>{e(bM({controlNetId:n,changes:r}))},[e])};function Ns(e){return i.jsx(W,{sx:{flexDirection:"column",gap:2},children:e.children})}const Nk=ls.canny_image_processor.default,Qre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{low_threshold:o,high_threshold:s}=n,a=B(kr),c=Ts(),d=f.useCallback(v=>{c(t,{low_threshold:v})},[t,c]),p=f.useCallback(()=>{c(t,{low_threshold:Nk.low_threshold})},[t,c]),h=f.useCallback(v=>{c(t,{high_threshold:v})},[t,c]),m=f.useCallback(()=>{c(t,{high_threshold:Nk.high_threshold})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{isDisabled:a||!r,label:"Low Threshold",value:o,onChange:d,handleReset:p,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0}),i.jsx(_t,{isDisabled:a||!r,label:"High Threshold",value:s,onChange:h,handleReset:m,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0})]})},Jre=f.memo(Qre),Su=ls.content_shuffle_image_processor.default,Zre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,w:a,h:c,f:d}=n,p=Ts(),h=B(kr),m=f.useCallback(E=>{p(t,{detect_resolution:E})},[t,p]),v=f.useCallback(()=>{p(t,{detect_resolution:Su.detect_resolution})},[t,p]),b=f.useCallback(E=>{p(t,{image_resolution:E})},[t,p]),w=f.useCallback(()=>{p(t,{image_resolution:Su.image_resolution})},[t,p]),y=f.useCallback(E=>{p(t,{w:E})},[t,p]),S=f.useCallback(()=>{p(t,{w:Su.w})},[t,p]),k=f.useCallback(E=>{p(t,{h:E})},[t,p]),_=f.useCallback(()=>{p(t,{h:Su.h})},[t,p]),P=f.useCallback(E=>{p(t,{f:E})},[t,p]),I=f.useCallback(()=>{p(t,{f:Su.f})},[t,p]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:m,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:b,handleReset:w,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"W",value:a,onChange:y,handleReset:S,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"H",value:c,onChange:k,handleReset:_,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"F",value:d,onChange:P,handleReset:I,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r})]})},eoe=f.memo(Zre),$k=ls.hed_image_processor.default,toe=e=>{const{controlNetId:t,processorNode:{detect_resolution:n,image_resolution:r,scribble:o},isEnabled:s}=e,a=B(kr),c=Ts(),d=f.useCallback(b=>{c(t,{detect_resolution:b})},[t,c]),p=f.useCallback(b=>{c(t,{image_resolution:b})},[t,c]),h=f.useCallback(b=>{c(t,{scribble:b.target.checked})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:$k.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:$k.image_resolution})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:n,onChange:d,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:a||!s}),i.jsx(_t,{label:"Image Resolution",value:r,onChange:p,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:a||!s}),i.jsx(yr,{label:"Scribble",isChecked:o,onChange:h,isDisabled:a||!s})]})},noe=f.memo(toe),Lk=ls.lineart_anime_image_processor.default,roe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,a=Ts(),c=B(kr),d=f.useCallback(v=>{a(t,{detect_resolution:v})},[t,a]),p=f.useCallback(v=>{a(t,{image_resolution:v})},[t,a]),h=f.useCallback(()=>{a(t,{detect_resolution:Lk.detect_resolution})},[t,a]),m=f.useCallback(()=>{a(t,{image_resolution:Lk.image_resolution})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},ooe=f.memo(roe),zk=ls.lineart_image_processor.default,soe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,coarse:a}=n,c=Ts(),d=B(kr),p=f.useCallback(w=>{c(t,{detect_resolution:w})},[t,c]),h=f.useCallback(w=>{c(t,{image_resolution:w})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:zk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:zk.image_resolution})},[t,c]),b=f.useCallback(w=>{c(t,{coarse:w.target.checked})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(yr,{label:"Coarse",isChecked:a,onChange:b,isDisabled:d||!r})]})},aoe=f.memo(soe),Bk=ls.mediapipe_face_processor.default,ioe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{max_faces:o,min_confidence:s}=n,a=Ts(),c=B(kr),d=f.useCallback(v=>{a(t,{max_faces:v})},[t,a]),p=f.useCallback(v=>{a(t,{min_confidence:v})},[t,a]),h=f.useCallback(()=>{a(t,{max_faces:Bk.max_faces})},[t,a]),m=f.useCallback(()=>{a(t,{min_confidence:Bk.min_confidence})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Max Faces",value:o,onChange:d,handleReset:h,withReset:!0,min:1,max:20,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Min Confidence",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},loe=f.memo(ioe),Fk=ls.midas_depth_image_processor.default,coe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{a_mult:o,bg_th:s}=n,a=Ts(),c=B(kr),d=f.useCallback(v=>{a(t,{a_mult:v})},[t,a]),p=f.useCallback(v=>{a(t,{bg_th:v})},[t,a]),h=f.useCallback(()=>{a(t,{a_mult:Fk.a_mult})},[t,a]),m=f.useCallback(()=>{a(t,{bg_th:Fk.bg_th})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"a_mult",value:o,onChange:d,handleReset:h,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"bg_th",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},uoe=f.memo(coe),kp=ls.mlsd_image_processor.default,doe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,thr_d:a,thr_v:c}=n,d=Ts(),p=B(kr),h=f.useCallback(_=>{d(t,{detect_resolution:_})},[t,d]),m=f.useCallback(_=>{d(t,{image_resolution:_})},[t,d]),v=f.useCallback(_=>{d(t,{thr_d:_})},[t,d]),b=f.useCallback(_=>{d(t,{thr_v:_})},[t,d]),w=f.useCallback(()=>{d(t,{detect_resolution:kp.detect_resolution})},[t,d]),y=f.useCallback(()=>{d(t,{image_resolution:kp.image_resolution})},[t,d]),S=f.useCallback(()=>{d(t,{thr_d:kp.thr_d})},[t,d]),k=f.useCallback(()=>{d(t,{thr_v:kp.thr_v})},[t,d]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:h,handleReset:w,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:m,handleReset:y,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"W",value:a,onChange:v,handleReset:S,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"H",value:c,onChange:b,handleReset:k,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r})]})},foe=f.memo(doe),Hk=ls.normalbae_image_processor.default,poe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,a=Ts(),c=B(kr),d=f.useCallback(v=>{a(t,{detect_resolution:v})},[t,a]),p=f.useCallback(v=>{a(t,{image_resolution:v})},[t,a]),h=f.useCallback(()=>{a(t,{detect_resolution:Hk.detect_resolution})},[t,a]),m=f.useCallback(()=>{a(t,{image_resolution:Hk.image_resolution})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},hoe=f.memo(poe),Wk=ls.openpose_image_processor.default,moe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,hand_and_face:a}=n,c=Ts(),d=B(kr),p=f.useCallback(w=>{c(t,{detect_resolution:w})},[t,c]),h=f.useCallback(w=>{c(t,{image_resolution:w})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:Wk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:Wk.image_resolution})},[t,c]),b=f.useCallback(w=>{c(t,{hand_and_face:w.target.checked})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(yr,{label:"Hand and Face",isChecked:a,onChange:b,isDisabled:d||!r})]})},goe=f.memo(moe),Vk=ls.pidi_image_processor.default,voe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,scribble:a,safe:c}=n,d=Ts(),p=B(kr),h=f.useCallback(S=>{d(t,{detect_resolution:S})},[t,d]),m=f.useCallback(S=>{d(t,{image_resolution:S})},[t,d]),v=f.useCallback(()=>{d(t,{detect_resolution:Vk.detect_resolution})},[t,d]),b=f.useCallback(()=>{d(t,{image_resolution:Vk.image_resolution})},[t,d]),w=f.useCallback(S=>{d(t,{scribble:S.target.checked})},[t,d]),y=f.useCallback(S=>{d(t,{safe:S.target.checked})},[t,d]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:m,handleReset:b,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(yr,{label:"Scribble",isChecked:a,onChange:w}),i.jsx(yr,{label:"Safe",isChecked:c,onChange:y,isDisabled:p||!r})]})},boe=f.memo(voe),yoe=e=>null,xoe=f.memo(yoe),woe=e=>{const{controlNetId:t,isEnabled:n,processorNode:r}=e.controlNet;return r.type==="canny_image_processor"?i.jsx(Jre,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="hed_image_processor"?i.jsx(noe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="lineart_image_processor"?i.jsx(aoe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="content_shuffle_image_processor"?i.jsx(eoe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="lineart_anime_image_processor"?i.jsx(ooe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="mediapipe_face_processor"?i.jsx(loe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="midas_depth_image_processor"?i.jsx(uoe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="mlsd_image_processor"?i.jsx(foe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="normalbae_image_processor"?i.jsx(hoe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="openpose_image_processor"?i.jsx(goe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="pidi_image_processor"?i.jsx(boe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="zoe_depth_image_processor"?i.jsx(xoe,{controlNetId:t,processorNode:r,isEnabled:n}):null},Soe=f.memo(woe),Coe=e=>{const{controlNetId:t,isEnabled:n,shouldAutoConfig:r}=e.controlNet,o=te(),s=B(kr),a=f.useCallback(()=>{o(yM({controlNetId:t}))},[t,o]);return i.jsx(yr,{label:"Auto configure processor","aria-label":"Auto configure processor",isChecked:r,onChange:a,isDisabled:s||!n})},koe=f.memo(Coe),Uk=e=>`${Math.round(e*100)}%`,_oe=e=>{const{beginStepPct:t,endStepPct:n,isEnabled:r,controlNetId:o}=e.controlNet,s=te(),a=f.useCallback(c=>{s(xM({controlNetId:o,beginStepPct:c[0]})),s(wM({controlNetId:o,endStepPct:c[1]}))},[o,s]);return i.jsxs(go,{isDisabled:!r,children:[i.jsx(Bo,{children:"Begin / End Step Percentage"}),i.jsx(fi,{w:"100%",gap:2,alignItems:"center",children:i.jsxs(K6,{"aria-label":["Begin Step %","End Step %"],value:[t,n],onChange:a,min:0,max:1,step:.01,minStepsBetweenThumbs:5,isDisabled:!r,children:[i.jsx(X6,{children:i.jsx(Y6,{})}),i.jsx(vn,{label:Uk(t),placement:"top",hasArrow:!0,children:i.jsx(o1,{index:0})}),i.jsx(vn,{label:Uk(n),placement:"top",hasArrow:!0,children:i.jsx(o1,{index:1})}),i.jsx(Dp,{value:0,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},children:"0%"}),i.jsx(Dp,{value:.5,sx:{insetInlineStart:"50% !important",transform:"translateX(-50%)"},children:"50%"}),i.jsx(Dp,{value:1,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},children:"100%"})]})})]})},Poe=f.memo(_oe),joe=[{label:"Balanced",value:"balanced"},{label:"Prompt",value:"more_prompt"},{label:"Control",value:"more_control"},{label:"Mega Control",value:"unbalanced"}];function Ioe(e){const{controlMode:t,isEnabled:n,controlNetId:r}=e.controlNet,o=te(),s=f.useCallback(a=>{o(SM({controlNetId:r,controlMode:a}))},[r,o]);return i.jsx(Xr,{disabled:!n,label:"Control Mode",data:joe,value:String(t),onChange:s})}const Eoe=be(bO,e=>cs(ls,n=>({value:n.type,label:n.label})).sort((n,r)=>n.value==="none"?-1:r.value==="none"?1:n.label.localeCompare(r.label)).filter(n=>!e.sd.disabledControlNetProcessors.includes(n.value)),Je),Ooe=e=>{const t=te(),{controlNetId:n,isEnabled:r,processorNode:o}=e.controlNet,s=B(kr),a=B(Eoe),c=f.useCallback(d=>{t(CM({controlNetId:n,processorType:d}))},[n,t]);return i.jsx(ar,{label:"Processor",value:o.type??"canny_image_processor",data:a,onChange:c,disabled:s||!r})},Roe=f.memo(Ooe),Moe=[{label:"Resize",value:"just_resize"},{label:"Crop",value:"crop_resize"},{label:"Fill",value:"fill_resize"}];function Doe(e){const{resizeMode:t,isEnabled:n,controlNetId:r}=e.controlNet,o=te(),s=f.useCallback(a=>{o(kM({controlNetId:r,resizeMode:a}))},[r,o]);return i.jsx(Xr,{disabled:!n,label:"Resize Mode",data:Moe,value:String(t),onChange:s})}const Aoe=e=>{const{controlNet:t}=e,{controlNetId:n}=t,r=te(),o=be(lt,({controlNet:v})=>{const b=v.controlNets[n];if(!b)return{isEnabled:!1,shouldAutoConfig:!1};const{isEnabled:w,shouldAutoConfig:y}=b;return{isEnabled:w,shouldAutoConfig:y}},Je),{isEnabled:s,shouldAutoConfig:a}=B(o),[c,d]=Dee(!1),p=f.useCallback(()=>{r(_M({controlNetId:n}))},[n,r]),h=f.useCallback(()=>{r(PM({sourceControlNetId:n,newControlNetId:di()}))},[n,r]),m=f.useCallback(()=>{r(jM({controlNetId:n}))},[n,r]);return i.jsxs(W,{sx:{flexDir:"column",gap:3,p:3,borderRadius:"base",position:"relative",bg:"base.200",_dark:{bg:"base.850"}},children:[i.jsxs(W,{sx:{gap:2,alignItems:"center"},children:[i.jsx(yr,{tooltip:"Toggle this ControlNet","aria-label":"Toggle this ControlNet",isChecked:s,onChange:m}),i.jsx(Re,{sx:{w:"full",minW:0,opacity:s?1:.5,pointerEvents:s?"auto":"none",transitionProperty:"common",transitionDuration:"0.1s"},children:i.jsx(Gre,{controlNet:t})}),i.jsx(ze,{size:"sm",tooltip:"Duplicate","aria-label":"Duplicate",onClick:h,icon:i.jsx(qc,{})}),i.jsx(ze,{size:"sm",tooltip:"Delete","aria-label":"Delete",colorScheme:"error",onClick:p,icon:i.jsx(Eo,{})}),i.jsx(ze,{size:"sm",tooltip:c?"Hide Advanced":"Show Advanced","aria-label":c?"Hide Advanced":"Show Advanced",onClick:d,variant:"ghost",sx:{_hover:{bg:"none"}},icon:i.jsx(Ly,{sx:{boxSize:4,color:"base.700",transform:c?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal",_dark:{color:"base.300"}}})}),!a&&i.jsx(Re,{sx:{position:"absolute",w:1.5,h:1.5,borderRadius:"full",top:4,insetInlineEnd:4,bg:"accent.700",_dark:{bg:"accent.400"}}})]}),i.jsxs(W,{sx:{w:"full",flexDirection:"column",gap:3},children:[i.jsxs(W,{sx:{gap:4,w:"full",alignItems:"center"},children:[i.jsxs(W,{sx:{flexDir:"column",gap:3,h:28,w:"full",paddingInlineStart:1,paddingInlineEnd:c?1:0,pb:2,justifyContent:"space-between"},children:[i.jsx(Kre,{controlNet:t}),i.jsx(Poe,{controlNet:t})]}),!c&&i.jsx(W,{sx:{alignItems:"center",justifyContent:"center",h:28,w:28,aspectRatio:"1/1"},children:i.jsx(Tk,{controlNet:t,height:28})})]}),i.jsxs(W,{sx:{gap:2},children:[i.jsx(Ioe,{controlNet:t}),i.jsx(Doe,{controlNet:t})]}),i.jsx(Roe,{controlNet:t})]}),c&&i.jsxs(i.Fragment,{children:[i.jsx(Tk,{controlNet:t,height:"392px"}),i.jsx(koe,{controlNet:t}),i.jsx(Soe,{controlNet:t})]})]})},Toe=f.memo(Aoe),Noe=be(lt,e=>{const{isEnabled:t}=e.controlNet;return{isEnabled:t}},Je),$oe=()=>{const{isEnabled:e}=B(Noe),t=te(),n=f.useCallback(()=>{t(IM())},[t]);return i.jsx(yr,{label:"Enable ControlNet",isChecked:e,onChange:n,formControlProps:{width:"100%"}})},Loe=be([lt],({controlNet:e})=>{const{controlNets:t,isEnabled:n}=e,r=EM(t),o=n&&r.length>0?`${r.length} Active`:void 0;return{controlNetsArray:cs(t),activeLabel:o}},Je),zoe=()=>{const{controlNetsArray:e,activeLabel:t}=B(Loe),n=hr("controlNet").isFeatureDisabled,r=te(),{firstModel:o}=ib(void 0,{selectFromResult:a=>({firstModel:a.data?OM.getSelectors().selectAll(a.data)[0]:void 0})}),s=f.useCallback(()=>{if(!o)return;const a=di();r(RM({controlNetId:a})),r(a5({controlNetId:a,model:o}))},[r,o]);return n?null:i.jsx(Mo,{label:"ControlNet",activeLabel:t,children:i.jsxs(W,{sx:{flexDir:"column",gap:3},children:[i.jsxs(W,{gap:2,alignItems:"center",children:[i.jsx(W,{sx:{flexDirection:"column",w:"100%",gap:2,px:4,py:2,borderRadius:4,bg:"base.200",_dark:{bg:"base.850"}},children:i.jsx($oe,{})}),i.jsx(ze,{tooltip:"Add ControlNet","aria-label":"Add ControlNet",icon:i.jsx(yl,{}),isDisabled:!o,flexGrow:1,size:"md",onClick:s})]}),e.map((a,c)=>i.jsxs(f.Fragment,{children:[c>0&&i.jsx(_i,{}),i.jsx(Toe,{controlNet:a})]},a.controlNetId))]})})},sx=f.memo(zoe),Boe=be(Mi,e=>{const{seamlessXAxis:t}=e;return{seamlessXAxis:t}},Je),Foe=()=>{const{t:e}=ye(),{seamlessXAxis:t}=B(Boe),n=te(),r=f.useCallback(o=>{n(MM(o.target.checked))},[n]);return i.jsx(yr,{label:e("parameters.seamlessXAxis"),"aria-label":e("parameters.seamlessXAxis"),isChecked:t,onChange:r})},Hoe=f.memo(Foe),Woe=be(Mi,e=>{const{seamlessYAxis:t}=e;return{seamlessYAxis:t}},Je),Voe=()=>{const{t:e}=ye(),{seamlessYAxis:t}=B(Woe),n=te(),r=f.useCallback(o=>{n(DM(o.target.checked))},[n]);return i.jsx(yr,{label:e("parameters.seamlessYAxis"),"aria-label":e("parameters.seamlessYAxis"),isChecked:t,onChange:r})},Uoe=f.memo(Voe),Goe=(e,t)=>{if(e&&t)return"X & Y";if(e)return"X";if(t)return"Y"},qoe=be(Mi,e=>{const{seamlessXAxis:t,seamlessYAxis:n}=e;return{activeLabel:Goe(t,n)}},Je),Koe=()=>{const{t:e}=ye(),{activeLabel:t}=B(qoe);return hr("seamless").isFeatureEnabled?i.jsx(Mo,{label:e("parameters.seamlessTiling"),activeLabel:t,children:i.jsxs(W,{sx:{gap:5},children:[i.jsx(Re,{flexGrow:1,children:i.jsx(Hoe,{})}),i.jsx(Re,{flexGrow:1,children:i.jsx(Uoe,{})})]})}):null},qO=f.memo(Koe);function Xoe(){const e=B(o=>o.generation.horizontalSymmetrySteps),t=B(o=>o.generation.steps),n=te(),{t:r}=ye();return i.jsx(_t,{label:r("parameters.hSymmetryStep"),value:e,onChange:o=>n(fw(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(fw(0))})}function Yoe(){const e=B(o=>o.generation.verticalSymmetrySteps),t=B(o=>o.generation.steps),n=te(),{t:r}=ye();return i.jsx(_t,{label:r("parameters.vSymmetryStep"),value:e,onChange:o=>n(pw(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(pw(0))})}function Qoe(){const e=B(n=>n.generation.shouldUseSymmetry),t=te();return i.jsx(yr,{label:"Enable Symmetry",isChecked:e,onChange:n=>t(AM(n.target.checked))})}const Joe=be(lt,e=>({activeLabel:e.generation.shouldUseSymmetry?"Enabled":void 0}),Je),Zoe=()=>{const{t:e}=ye(),{activeLabel:t}=B(Joe);return hr("symmetry").isFeatureEnabled?i.jsx(Mo,{label:e("parameters.symmetry"),activeLabel:t,children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(Qoe,{}),i.jsx(Xoe,{}),i.jsx(Yoe,{})]})}):null},ax=f.memo(Zoe);function ix(){return i.jsxs(W,{sx:{flexDirection:"column",gap:2},children:[i.jsx(AO,{}),i.jsx(DO,{})]})}const ese=be([lt],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.img2imgStrength,{img2imgStrength:p}=e,h=t.shift?c:d;return{img2imgStrength:p,initial:r,min:o,sliderMax:s,inputMax:a,step:h}},Je),tse=()=>{const{img2imgStrength:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s}=B(ese),a=te(),{t:c}=ye(),d=f.useCallback(h=>a(Wp(h)),[a]),p=f.useCallback(()=>{a(Wp(t))},[a,t]);return i.jsx(_t,{label:`${c("parameters.denoisingStrength")}`,step:s,min:n,max:r,onChange:d,handleReset:p,value:e,isInteger:!1,withInput:!0,withSliderMarks:!0,withReset:!0,sliderNumberInputProps:{max:o}})},KO=f.memo(tse),nse=be([Ba,Mi],(e,t)=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Je),rse=()=>{const{shouldUseSliders:e,activeLabel:t}=B(nse);return i.jsx(Mo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(W,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(yi,{}),i.jsx(wi,{}),i.jsx(Re,{pt:2,children:i.jsx(Ci,{})}),i.jsx(Mc,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(yi,{})]}),i.jsx(wi,{}),i.jsx(Re,{pt:2,children:i.jsx(Ci,{})}),i.jsx(Mc,{})]}),i.jsx(KO,{}),i.jsx(BO,{})]})})},ose=f.memo(rse),XO=()=>i.jsxs(i.Fragment,{children:[i.jsx(ix,{}),i.jsx(Xd,{}),i.jsx(ose,{}),i.jsx(sx,{}),i.jsx(rx,{}),i.jsx(qd,{}),i.jsx(sg,{}),i.jsx(ax,{}),i.jsx(qO,{}),i.jsx(ox,{})]}),sse=()=>{const e=te(),t=f.useRef(null),n=B(o=>o.generation.model),r=f.useCallback(()=>{t.current&&t.current.setLayout([50,50])},[]);return i.jsxs(W,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(nx,{children:n&&n.base_model==="sdxl"?i.jsx(FO,{}):i.jsx(XO,{})}),i.jsx(Re,{sx:{w:"full",h:"full"},children:i.jsxs(Qy,{ref:t,autoSaveId:"imageTab.content",direction:"horizontal",style:{height:"100%",width:"100%"},children:[i.jsx(hd,{id:"imageTab.content.initImage",order:0,defaultSize:50,minSize:25,style:{position:"relative"},children:i.jsx(jte,{})}),i.jsx(WO,{onDoubleClick:r}),i.jsx(hd,{id:"imageTab.content.selectedImage",order:1,defaultSize:50,minSize:25,onResize:()=>{e(ko())},children:i.jsx(UO,{})})]})})]})},ase=f.memo(sse);var ise=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,o,s;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(o=r;o--!==0;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(s=Object.keys(t),r=s.length,r!==Object.keys(n).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[o]))return!1;for(o=r;o--!==0;){var a=s[o];if(!e(t[a],n[a]))return!1}return!0}return t!==t&&n!==n};const Gk=bd(ise);function L1(e){return e===null||typeof e!="object"?{}:Object.keys(e).reduce((t,n)=>{const r=e[n];return r!=null&&r!==!1&&(t[n]=r),t},{})}var lse=Object.defineProperty,qk=Object.getOwnPropertySymbols,cse=Object.prototype.hasOwnProperty,use=Object.prototype.propertyIsEnumerable,Kk=(e,t,n)=>t in e?lse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dse=(e,t)=>{for(var n in t||(t={}))cse.call(t,n)&&Kk(e,n,t[n]);if(qk)for(var n of qk(t))use.call(t,n)&&Kk(e,n,t[n]);return e};function YO(e,t){if(t===null||typeof t!="object")return{};const n=dse({},t);return Object.keys(t).forEach(r=>{r.includes(`${String(e)}.`)&&delete n[r]}),n}const fse="__MANTINE_FORM_INDEX__";function Xk(e,t){return t?typeof t=="boolean"?t:Array.isArray(t)?t.includes(e.replace(/[.][0-9]/g,`.${fse}`)):!1:!1}function Yk(e,t,n){typeof n.value=="object"&&(n.value=ec(n.value)),!n.enumerable||n.get||n.set||!n.configurable||!n.writable||t==="__proto__"?Object.defineProperty(e,t,n):e[t]=n.value}function ec(e){if(typeof e!="object")return e;var t=0,n,r,o,s=Object.prototype.toString.call(e);if(s==="[object Object]"?o=Object.create(e.__proto__||null):s==="[object Array]"?o=Array(e.length):s==="[object Set]"?(o=new Set,e.forEach(function(a){o.add(ec(a))})):s==="[object Map]"?(o=new Map,e.forEach(function(a,c){o.set(ec(c),ec(a))})):s==="[object Date]"?o=new Date(+e):s==="[object RegExp]"?o=new RegExp(e.source,e.flags):s==="[object DataView]"?o=new e.constructor(ec(e.buffer)):s==="[object ArrayBuffer]"?o=e.slice(0):s.slice(-6)==="Array]"&&(o=new e.constructor(e)),o){for(r=Object.getOwnPropertySymbols(e);t0,errors:t}}function z1(e,t,n="",r={}){return typeof e!="object"||e===null?r:Object.keys(e).reduce((o,s)=>{const a=e[s],c=`${n===""?"":`${n}.`}${s}`,d=xa(c,t);let p=!1;return typeof a=="function"&&(o[c]=a(d,t,c)),typeof a=="object"&&Array.isArray(d)&&(p=!0,d.forEach((h,m)=>z1(a,t,`${c}.${m}`,o))),typeof a=="object"&&typeof d=="object"&&d!==null&&(p||z1(a,t,c,o)),o},r)}function B1(e,t){return Qk(typeof e=="function"?e(t):z1(e,t))}function _p(e,t,n){if(typeof e!="string")return{hasError:!1,error:null};const r=B1(t,n),o=Object.keys(r.errors).find(s=>e.split(".").every((a,c)=>a===s.split(".")[c]));return{hasError:!!o,error:o?r.errors[o]:null}}function pse(e,{from:t,to:n},r){const o=xa(e,r);if(!Array.isArray(o))return r;const s=[...o],a=o[t];return s.splice(t,1),s.splice(n,0,a),ug(e,s,r)}var hse=Object.defineProperty,Jk=Object.getOwnPropertySymbols,mse=Object.prototype.hasOwnProperty,gse=Object.prototype.propertyIsEnumerable,Zk=(e,t,n)=>t in e?hse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vse=(e,t)=>{for(var n in t||(t={}))mse.call(t,n)&&Zk(e,n,t[n]);if(Jk)for(var n of Jk(t))gse.call(t,n)&&Zk(e,n,t[n]);return e};function bse(e,{from:t,to:n},r){const o=`${e}.${t}`,s=`${e}.${n}`,a=vse({},r);return Object.keys(r).every(c=>{let d,p;if(c.startsWith(o)&&(d=c,p=c.replace(o,s)),c.startsWith(s)&&(d=c.replace(s,o),p=c),d&&p){const h=a[d],m=a[p];return m===void 0?delete a[d]:a[d]=m,h===void 0?delete a[p]:a[p]=h,!1}return!0}),a}function yse(e,t,n){const r=xa(e,n);return Array.isArray(r)?ug(e,r.filter((o,s)=>s!==t),n):n}var xse=Object.defineProperty,e_=Object.getOwnPropertySymbols,wse=Object.prototype.hasOwnProperty,Sse=Object.prototype.propertyIsEnumerable,t_=(e,t,n)=>t in e?xse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Cse=(e,t)=>{for(var n in t||(t={}))wse.call(t,n)&&t_(e,n,t[n]);if(e_)for(var n of e_(t))Sse.call(t,n)&&t_(e,n,t[n]);return e};function n_(e,t){const n=e.substring(t.length+1).split(".")[0];return parseInt(n,10)}function r_(e,t,n,r){if(t===void 0)return n;const o=`${String(e)}`;let s=n;r===-1&&(s=YO(`${o}.${t}`,s));const a=Cse({},s),c=new Set;return Object.entries(s).filter(([d])=>{if(!d.startsWith(`${o}.`))return!1;const p=n_(d,o);return Number.isNaN(p)?!1:p>=t}).forEach(([d,p])=>{const h=n_(d,o),m=d.replace(`${o}.${h}`,`${o}.${h+r}`);a[m]=p,c.add(m),c.has(d)||delete a[d]}),a}function kse(e,t,n,r){const o=xa(e,r);if(!Array.isArray(o))return r;const s=[...o];return s.splice(typeof n=="number"?n:s.length,0,t),ug(e,s,r)}function o_(e,t){const n=Object.keys(e);if(typeof t=="string"){const r=n.filter(o=>o.startsWith(`${t}.`));return e[t]||r.some(o=>e[o])||!1}return n.some(r=>e[r])}function _se(e){return t=>{if(!t)e(t);else if(typeof t=="function")e(t);else if(typeof t=="object"&&"nativeEvent"in t){const{currentTarget:n}=t;n instanceof HTMLInputElement?n.type==="checkbox"?e(n.checked):e(n.value):(n instanceof HTMLTextAreaElement||n instanceof HTMLSelectElement)&&e(n.value)}else e(t)}}var Pse=Object.defineProperty,jse=Object.defineProperties,Ise=Object.getOwnPropertyDescriptors,s_=Object.getOwnPropertySymbols,Ese=Object.prototype.hasOwnProperty,Ose=Object.prototype.propertyIsEnumerable,a_=(e,t,n)=>t in e?Pse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ni=(e,t)=>{for(var n in t||(t={}))Ese.call(t,n)&&a_(e,n,t[n]);if(s_)for(var n of s_(t))Ose.call(t,n)&&a_(e,n,t[n]);return e},gv=(e,t)=>jse(e,Ise(t));function Sl({initialValues:e={},initialErrors:t={},initialDirty:n={},initialTouched:r={},clearInputErrorOnChange:o=!0,validateInputOnChange:s=!1,validateInputOnBlur:a=!1,transformValues:c=p=>p,validate:d}={}){const[p,h]=f.useState(r),[m,v]=f.useState(n),[b,w]=f.useState(e),[y,S]=f.useState(L1(t)),k=f.useRef(e),_=K=>{k.current=K},P=f.useCallback(()=>h({}),[]),I=K=>{const U=K?ni(ni({},b),K):b;_(U),v({})},E=f.useCallback(K=>S(U=>L1(typeof K=="function"?K(U):K)),[]),O=f.useCallback(()=>S({}),[]),R=f.useCallback(()=>{w(e),O(),_(e),v({}),P()},[]),M=f.useCallback((K,U)=>E(se=>gv(ni({},se),{[K]:U})),[]),D=f.useCallback(K=>E(U=>{if(typeof K!="string")return U;const se=ni({},U);return delete se[K],se}),[]),A=f.useCallback(K=>v(U=>{if(typeof K!="string")return U;const se=YO(K,U);return delete se[K],se}),[]),L=f.useCallback((K,U)=>{const se=Xk(K,s);A(K),h(re=>gv(ni({},re),{[K]:!0})),w(re=>{const oe=ug(K,U,re);if(se){const pe=_p(K,d,oe);pe.hasError?M(K,pe.error):D(K)}return oe}),!se&&o&&M(K,null)},[]),Q=f.useCallback(K=>{w(U=>{const se=typeof K=="function"?K(U):K;return ni(ni({},U),se)}),o&&O()},[]),F=f.useCallback((K,U)=>{A(K),w(se=>pse(K,U,se)),S(se=>bse(K,U,se))},[]),V=f.useCallback((K,U)=>{A(K),w(se=>yse(K,U,se)),S(se=>r_(K,U,se,-1))},[]),q=f.useCallback((K,U,se)=>{A(K),w(re=>kse(K,U,se,re)),S(re=>r_(K,se,re,1))},[]),G=f.useCallback(()=>{const K=B1(d,b);return S(K.errors),K},[b,d]),T=f.useCallback(K=>{const U=_p(K,d,b);return U.hasError?M(K,U.error):D(K),U},[b,d]),z=(K,{type:U="input",withError:se=!0,withFocus:re=!0}={})=>{const pe={onChange:_se(le=>L(K,le))};return se&&(pe.error=y[K]),U==="checkbox"?pe.checked=xa(K,b):pe.value=xa(K,b),re&&(pe.onFocus=()=>h(le=>gv(ni({},le),{[K]:!0})),pe.onBlur=()=>{if(Xk(K,a)){const le=_p(K,d,b);le.hasError?M(K,le.error):D(K)}}),pe},$=(K,U)=>se=>{se==null||se.preventDefault();const re=G();re.hasErrors?U==null||U(re.errors,b,se):K==null||K(c(b),se)},Y=K=>c(K||b),ae=f.useCallback(K=>{K.preventDefault(),R()},[]),fe=K=>{if(K){const se=xa(K,m);if(typeof se=="boolean")return se;const re=xa(K,b),oe=xa(K,k.current);return!Gk(re,oe)}return Object.keys(m).length>0?o_(m):!Gk(b,k.current)},ie=f.useCallback(K=>o_(p,K),[p]),X=f.useCallback(K=>K?!_p(K,d,b).hasError:!B1(d,b).hasErrors,[b,d]);return{values:b,errors:y,setValues:Q,setErrors:E,setFieldValue:L,setFieldError:M,clearFieldError:D,clearErrors:O,reset:R,validate:G,validateField:T,reorderListItem:F,removeListItem:V,insertListItem:q,getInputProps:z,onSubmit:$,onReset:ae,isDirty:fe,isTouched:ie,setTouched:h,setDirty:v,resetTouched:P,resetDirty:I,isValid:X,getTransformedValues:Y}}function br(e){const{...t}=e,{base50:n,base100:r,base200:o,base300:s,base800:a,base700:c,base900:d,accent500:p,accent300:h}=vy(),{colorMode:m}=Ds();return i.jsx(FI,{styles:()=>({input:{color:Fe(d,r)(m),backgroundColor:Fe(n,d)(m),borderColor:Fe(o,a)(m),borderWidth:2,outline:"none",":focus":{borderColor:Fe(h,p)(m)}},label:{color:Fe(c,s)(m),fontWeight:"normal",marginBottom:4}}),...t})}const Rse=[{value:"sd-1",label:Qn["sd-1"]},{value:"sd-2",label:Qn["sd-2"]},{value:"sdxl",label:Qn.sdxl},{value:"sdxl-refiner",label:Qn["sdxl-refiner"]}];function Qd(e){const{...t}=e,{t:n}=ye();return i.jsx(Xr,{label:n("modelManager.baseModel"),data:Rse,...t})}function JO(e){const{data:t}=i5(),{...n}=e;return i.jsx(Xr,{label:"Config File",placeholder:"Select A Config File",data:t||[],...n})}const Mse=[{value:"normal",label:"Normal"},{value:"inpaint",label:"Inpaint"},{value:"depth",label:"Depth"}];function dg(e){const{...t}=e,{t:n}=ye();return i.jsx(Xr,{label:n("modelManager.variant"),data:Mse,...t})}function ZO(e){var p;const{t}=ye(),n=te(),{model_path:r}=e,o=Sl({initialValues:{model_name:((p=r==null?void 0:r.split("\\").splice(-1)[0])==null?void 0:p.split(".")[0])??"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"checkpoint",error:void 0,vae:"",variant:"normal",config:"configs\\stable-diffusion\\v1-inference.yaml"}}),[s]=l5(),[a,c]=f.useState(!1),d=h=>{s({body:h}).unwrap().then(m=>{n(On(Mn({title:`Model Added: ${h.model_name}`,status:"success"}))),o.reset(),r&&n(Sd(null))}).catch(m=>{m&&n(On(Mn({title:"Model Add Failed",status:"error"})))})};return i.jsx("form",{onSubmit:o.onSubmit(h=>d(h)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsx(br,{label:"Model Name",required:!0,...o.getInputProps("model_name")}),i.jsx(Qd,{...o.getInputProps("base_model")}),i.jsx(br,{label:"Model Location",required:!0,...o.getInputProps("path")}),i.jsx(br,{label:"Description",...o.getInputProps("description")}),i.jsx(br,{label:"VAE Location",...o.getInputProps("vae")}),i.jsx(dg,{...o.getInputProps("variant")}),i.jsxs(W,{flexDirection:"column",width:"100%",gap:2,children:[a?i.jsx(br,{required:!0,label:"Custom Config File Location",...o.getInputProps("config")}):i.jsx(JO,{required:!0,width:"100%",...o.getInputProps("config")}),i.jsx(Gn,{isChecked:a,onChange:()=>c(!a),label:"Use Custom Config"}),i.jsx(Yt,{mt:2,type:"submit",children:t("modelManager.addModel")})]})]})})}function e8(e){const{t}=ye(),n=te(),{model_path:r}=e,[o]=l5(),s=Sl({initialValues:{model_name:(r==null?void 0:r.split("\\").splice(-1)[0])??"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"diffusers",error:void 0,vae:"",variant:"normal"}}),a=c=>{o({body:c}).unwrap().then(d=>{n(On(Mn({title:`Model Added: ${c.model_name}`,status:"success"}))),s.reset(),r&&n(Sd(null))}).catch(d=>{d&&n(On(Mn({title:"Model Add Failed",status:"error"})))})};return i.jsx("form",{onSubmit:s.onSubmit(c=>a(c)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsx(br,{required:!0,label:"Model Name",...s.getInputProps("model_name")}),i.jsx(Qd,{...s.getInputProps("base_model")}),i.jsx(br,{required:!0,label:"Model Location",placeholder:"Provide the path to a local folder where your Diffusers Model is stored",...s.getInputProps("path")}),i.jsx(br,{label:"Description",...s.getInputProps("description")}),i.jsx(br,{label:"VAE Location",...s.getInputProps("vae")}),i.jsx(dg,{...s.getInputProps("variant")}),i.jsx(Yt,{mt:2,type:"submit",children:t("modelManager.addModel")})]})})}const t8=[{label:"Diffusers",value:"diffusers"},{label:"Checkpoint / Safetensors",value:"checkpoint"}];function Dse(){const[e,t]=f.useState("diffusers");return i.jsxs(W,{flexDirection:"column",gap:4,width:"100%",children:[i.jsx(Xr,{label:"Model Type",value:e,data:t8,onChange:n=>{n&&t(n)}}),i.jsxs(W,{sx:{p:4,borderRadius:4,bg:"base.300",_dark:{bg:"base.850"}},children:[e==="diffusers"&&i.jsx(e8,{}),e==="checkpoint"&&i.jsx(ZO,{})]})]})}const Ase=[{label:"None",value:"none"},{label:"v_prediction",value:"v_prediction"},{label:"epsilon",value:"epsilon"},{label:"sample",value:"sample"}];function Tse(){const e=te(),{t}=ye(),n=B(c=>c.system.isProcessing),[r,{isLoading:o}]=c5(),s=Sl({initialValues:{location:"",prediction_type:void 0}}),a=c=>{const d={location:c.location,prediction_type:c.prediction_type==="none"?void 0:c.prediction_type};r({body:d}).unwrap().then(p=>{e(On(Mn({title:"Model Added",status:"success"}))),s.reset()}).catch(p=>{p&&(console.log(p),e(On(Mn({title:`${p.data.detail} `,status:"error"}))))})};return i.jsx("form",{onSubmit:s.onSubmit(c=>a(c)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",width:"100%",gap:4,children:[i.jsx(br,{label:"Model Location",placeholder:"Provide a path to a local Diffusers model, local checkpoint / safetensors model a HuggingFace Repo ID, or a checkpoint/diffusers model URL.",w:"100%",...s.getInputProps("location")}),i.jsx(Xr,{label:"Prediction Type (for Stable Diffusion 2.x Models only)",data:Ase,defaultValue:"none",...s.getInputProps("prediction_type")}),i.jsx(Yt,{type:"submit",isLoading:o,isDisabled:o||n,children:t("modelManager.addModel")})]})})}function Nse(){const[e,t]=f.useState("simple");return i.jsxs(W,{flexDirection:"column",width:"100%",overflow:"scroll",maxHeight:window.innerHeight-250,gap:4,children:[i.jsxs(rr,{isAttached:!0,children:[i.jsx(Yt,{size:"sm",isChecked:e=="simple",onClick:()=>t("simple"),children:"Simple"}),i.jsx(Yt,{size:"sm",isChecked:e=="advanced",onClick:()=>t("advanced"),children:"Advanced"})]}),i.jsxs(W,{sx:{p:4,borderRadius:4,background:"base.200",_dark:{background:"base.800"}},children:[e==="simple"&&i.jsx(Tse,{}),e==="advanced"&&i.jsx(Dse,{})]})]})}const $se={display:"flex",flexDirection:"row",alignItems:"center",gap:10},Lse=e=>{const{label:t="",labelPos:n="top",isDisabled:r=!1,isInvalid:o,formControlProps:s,...a}=e,c=te(),d=f.useCallback(h=>{h.shiftKey&&c(jo(!0))},[c]),p=f.useCallback(h=>{h.shiftKey||c(jo(!1))},[c]);return i.jsxs(go,{isInvalid:o,isDisabled:r,...s,style:n==="side"?$se:void 0,children:[t!==""&&i.jsx(Bo,{children:t}),i.jsx(Id,{...a,onPaste:Zy,onKeyDown:d,onKeyUp:p})]})},Dc=f.memo(Lse);function zse(e){const{...t}=e;return i.jsx(Aj,{w:"100%",...t,children:e.children})}function Bse(){const e=B(y=>y.modelmanager.searchFolder),[t,n]=f.useState(""),{data:r}=na(Gi),{foundModels:o,alreadyInstalled:s,filteredModels:a}=u5({search_path:e||""},{selectFromResult:({data:y})=>{const S=b9(r==null?void 0:r.entities),k=cs(S,"path"),_=m9(y,k),P=C9(y,k);return{foundModels:y,alreadyInstalled:i_(P,t),filteredModels:i_(_,t)}}}),[c,{isLoading:d}]=c5(),p=te(),{t:h}=ye(),m=f.useCallback(y=>{const S=y.currentTarget.id.split("\\").splice(-1)[0];c({body:{location:y.currentTarget.id}}).unwrap().then(k=>{p(On(Mn({title:`Added Model: ${S}`,status:"success"})))}).catch(k=>{k&&p(On(Mn({title:"Failed To Add Model",status:"error"})))})},[p,c]),v=f.useCallback(y=>{n(y.target.value)},[]),b=({models:y,showActions:S=!0})=>y.map(k=>i.jsxs(W,{sx:{p:4,gap:4,alignItems:"center",borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(W,{w:"100%",sx:{flexDirection:"column",minW:"25%"},children:[i.jsx(Qe,{sx:{fontWeight:600},children:k.split("\\").slice(-1)[0]}),i.jsx(Qe,{sx:{fontSize:"sm",color:"base.600",_dark:{color:"base.400"}},children:k})]}),S?i.jsxs(W,{gap:2,children:[i.jsx(Yt,{id:k,onClick:m,isLoading:d,children:"Quick Add"}),i.jsx(Yt,{onClick:()=>p(Sd(k)),isLoading:d,children:"Advanced"})]}):i.jsx(Qe,{sx:{fontWeight:600,p:2,borderRadius:4,color:"accent.50",bg:"accent.400",_dark:{color:"accent.100",bg:"accent.600"}},children:"Installed"})]},k));return(()=>e?!o||o.length===0?i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",height:96,userSelect:"none",bg:"base.200",_dark:{bg:"base.900"}},children:i.jsx(Qe,{variant:"subtext",children:"No Models Found"})}):i.jsxs(W,{sx:{flexDirection:"column",gap:2,w:"100%",minW:"50%"},children:[i.jsx(Dc,{onChange:v,label:h("modelManager.search"),labelPos:"side"}),i.jsxs(W,{p:2,gap:2,children:[i.jsxs(Qe,{sx:{fontWeight:600},children:["Models Found: ",o.length]}),i.jsxs(Qe,{sx:{fontWeight:600,color:"accent.500",_dark:{color:"accent.200"}},children:["Not Installed: ",a.length]})]}),i.jsx(zse,{offsetScrollbars:!0,children:i.jsxs(W,{gap:2,flexDirection:"column",children:[b({models:a}),b({models:s,showActions:!1})]})})]}):null)()}const i_=(e,t)=>{const n=[];return oo(e,r=>{if(!r)return null;r.includes(t)&&n.push(r)}),n};function Fse(){const e=B(a=>a.modelmanager.advancedAddScanModel),[t,n]=f.useState("diffusers"),[r,o]=f.useState(!0);f.useEffect(()=>{e&&[".ckpt",".safetensors",".pth",".pt"].some(a=>e.endsWith(a))?n("checkpoint"):n("diffusers")},[e,n,r]);const s=te();return e?i.jsxs(Re,{as:Er.div,initial:{x:-100,opacity:0},animate:{x:0,opacity:1,transition:{duration:.2}},sx:{display:"flex",flexDirection:"column",minWidth:"40%",maxHeight:window.innerHeight-300,overflow:"scroll",p:4,gap:4,borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(W,{justifyContent:"space-between",alignItems:"center",children:[i.jsx(Qe,{size:"xl",fontWeight:600,children:r||t==="checkpoint"?"Add Checkpoint Model":"Add Diffusers Model"}),i.jsx(ze,{icon:i.jsx(sQ,{}),"aria-label":"Close Advanced",onClick:()=>s(Sd(null)),size:"sm"})]}),i.jsx(Xr,{label:"Model Type",value:t,data:t8,onChange:a=>{a&&(n(a),o(a==="checkpoint"))}}),r?i.jsx(ZO,{model_path:e},e):i.jsx(e8,{model_path:e},e)]}):null}function Hse(){const e=te(),{t}=ye(),n=B(c=>c.modelmanager.searchFolder),{refetch:r}=u5({search_path:n||""}),o=Sl({initialValues:{folder:""}}),s=f.useCallback(c=>{e(hw(c.folder))},[e]),a=()=>{r()};return i.jsx("form",{onSubmit:o.onSubmit(c=>s(c)),style:{width:"100%"},children:i.jsxs(W,{sx:{w:"100%",gap:2,borderRadius:4,alignItems:"center"},children:[i.jsxs(W,{w:"100%",alignItems:"center",gap:4,minH:12,children:[i.jsx(Qe,{sx:{fontSize:"sm",fontWeight:600,color:"base.700",minW:"max-content",_dark:{color:"base.300"}},children:"Folder"}),n?i.jsx(W,{sx:{w:"100%",p:2,px:4,bg:"base.300",borderRadius:4,fontSize:"sm",fontWeight:"bold",_dark:{bg:"base.700"}},children:n}):i.jsx(Dc,{w:"100%",size:"md",...o.getInputProps("folder")})]}),i.jsxs(W,{gap:2,children:[n?i.jsx(ze,{"aria-label":t("modelManager.scanAgain"),tooltip:t("modelManager.scanAgain"),icon:i.jsx(cE,{}),onClick:a,fontSize:18,size:"sm"}):i.jsx(ze,{"aria-label":t("modelManager.findModels"),tooltip:t("modelManager.findModels"),icon:i.jsx(tQ,{}),fontSize:18,size:"sm",type:"submit"}),i.jsx(ze,{"aria-label":t("modelManager.clearCheckpointFolder"),tooltip:t("modelManager.clearCheckpointFolder"),icon:i.jsx(Eo,{}),size:"sm",onClick:()=>{e(hw(null)),e(Sd(null))},isDisabled:!n,colorScheme:"red"})]})]})})}const Wse=f.memo(Hse);function Vse(){return i.jsxs(W,{flexDirection:"column",w:"100%",gap:4,children:[i.jsx(Wse,{}),i.jsxs(W,{gap:4,children:[i.jsx(W,{sx:{maxHeight:window.innerHeight-300,overflow:"scroll",gap:4,w:"100%"},children:i.jsx(Bse,{})}),i.jsx(Fse,{})]})]})}function Use(){const[e,t]=f.useState("add"),{t:n}=ye();return i.jsxs(W,{flexDirection:"column",gap:4,children:[i.jsxs(rr,{isAttached:!0,children:[i.jsx(Yt,{onClick:()=>t("add"),isChecked:e=="add",size:"sm",width:"100%",children:n("modelManager.addModel")}),i.jsx(Yt,{onClick:()=>t("scan"),isChecked:e=="scan",size:"sm",width:"100%",children:n("modelManager.scanForModels")})]}),e=="add"&&i.jsx(Nse,{}),e=="scan"&&i.jsx(Vse,{})]})}const Gse=[{label:"Stable Diffusion 1",value:"sd-1"},{label:"Stable Diffusion 2",value:"sd-2"}];function qse(){var T,z;const{t:e}=ye(),t=te(),{data:n}=na(Gi),[r,{isLoading:o}]=TM(),[s,a]=f.useState("sd-1"),c=Iw(n==null?void 0:n.entities,($,Y)=>($==null?void 0:$.model_format)==="diffusers"&&($==null?void 0:$.base_model)==="sd-1"),d=Iw(n==null?void 0:n.entities,($,Y)=>($==null?void 0:$.model_format)==="diffusers"&&($==null?void 0:$.base_model)==="sd-2"),p=f.useMemo(()=>({"sd-1":c,"sd-2":d}),[c,d]),[h,m]=f.useState(((T=Object.keys(p[s]))==null?void 0:T[0])??null),[v,b]=f.useState(((z=Object.keys(p[s]))==null?void 0:z[1])??null),[w,y]=f.useState(null),[S,k]=f.useState(""),[_,P]=f.useState(.5),[I,E]=f.useState("weighted_sum"),[O,R]=f.useState("root"),[M,D]=f.useState(""),[A,L]=f.useState(!1),Q=Object.keys(p[s]).filter($=>$!==v&&$!==w),F=Object.keys(p[s]).filter($=>$!==h&&$!==w),V=Object.keys(p[s]).filter($=>$!==h&&$!==v),q=$=>{a($),m(null),b(null)},G=()=>{const $=[];let Y=[h,v,w];Y=Y.filter(fe=>fe!==null),Y.forEach(fe=>{var X;const ie=(X=fe==null?void 0:fe.split("/"))==null?void 0:X[2];ie&&$.push(ie)});const ae={model_names:$,merged_model_name:S!==""?S:$.join("-"),alpha:_,interp:I,force:A,merge_dest_directory:O==="root"?void 0:M};r({base_model:s,body:ae}).unwrap().then(fe=>{t(On(Mn({title:e("modelManager.modelsMerged"),status:"success"})))}).catch(fe=>{fe&&t(On(Mn({title:e("modelManager.modelsMergeFailed"),status:"error"})))})};return i.jsxs(W,{flexDirection:"column",rowGap:4,children:[i.jsxs(W,{sx:{flexDirection:"column",rowGap:1},children:[i.jsx(Qe,{children:e("modelManager.modelMergeHeaderHelp1")}),i.jsx(Qe,{fontSize:"sm",variant:"subtext",children:e("modelManager.modelMergeHeaderHelp2")})]}),i.jsxs(W,{columnGap:4,children:[i.jsx(Xr,{label:"Model Type",w:"100%",data:Gse,value:s,onChange:q}),i.jsx(ar,{label:e("modelManager.modelOne"),w:"100%",value:h,placeholder:e("modelManager.selectModel"),data:Q,onChange:$=>m($)}),i.jsx(ar,{label:e("modelManager.modelTwo"),w:"100%",placeholder:e("modelManager.selectModel"),value:v,data:F,onChange:$=>b($)}),i.jsx(ar,{label:e("modelManager.modelThree"),data:V,w:"100%",placeholder:e("modelManager.selectModel"),clearable:!0,onChange:$=>{$?(y($),E("weighted_sum")):(y(null),E("add_difference"))}})]}),i.jsx(Dc,{label:e("modelManager.mergedModelName"),value:S,onChange:$=>k($.target.value)}),i.jsxs(W,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(_t,{label:e("modelManager.alpha"),min:.01,max:.99,step:.01,value:_,onChange:$=>P($),withInput:!0,withReset:!0,handleReset:()=>P(.5),withSliderMarks:!0}),i.jsx(Qe,{variant:"subtext",fontSize:"sm",children:e("modelManager.modelMergeAlphaHelp")})]}),i.jsxs(W,{sx:{padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(Qe,{fontWeight:500,fontSize:"sm",variant:"subtext",children:e("modelManager.interpolationType")}),i.jsx(rh,{value:I,onChange:$=>E($),children:i.jsx(W,{columnGap:4,children:w===null?i.jsxs(i.Fragment,{children:[i.jsx(ya,{value:"weighted_sum",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.weightedSum")})}),i.jsx(ya,{value:"sigmoid",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.sigmoid")})}),i.jsx(ya,{value:"inv_sigmoid",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.inverseSigmoid")})})]}):i.jsx(ya,{value:"add_difference",children:i.jsx(vn,{label:e("modelManager.modelMergeInterpAddDifferenceHelp"),children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.addDifference")})})})})})]}),i.jsxs(W,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.900"}},children:[i.jsxs(W,{columnGap:4,children:[i.jsx(Qe,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:e("modelManager.mergedModelSaveLocation")}),i.jsx(rh,{value:O,onChange:$=>R($),children:i.jsxs(W,{columnGap:4,children:[i.jsx(ya,{value:"root",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.invokeAIFolder")})}),i.jsx(ya,{value:"custom",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.custom")})})]})})]}),O==="custom"&&i.jsx(Dc,{label:e("modelManager.mergedModelCustomSaveLocation"),value:M,onChange:$=>D($.target.value)})]}),i.jsx(Gn,{label:e("modelManager.ignoreMismatch"),isChecked:A,onChange:$=>L($.target.checked),fontWeight:"500"}),i.jsx(Yt,{onClick:G,isLoading:o,isDisabled:h===null||v===null,children:e("modelManager.merge")})]})}const Kse=Ae((e,t)=>{const{t:n}=ye(),{acceptButtonText:r=n("common.accept"),acceptCallback:o,cancelButtonText:s=n("common.cancel"),cancelCallback:a,children:c,title:d,triggerComponent:p}=e,{isOpen:h,onOpen:m,onClose:v}=ss(),b=f.useRef(null),w=()=>{o(),v()},y=()=>{a&&a(),v()};return i.jsxs(i.Fragment,{children:[f.cloneElement(p,{onClick:m,ref:t}),i.jsx(Ad,{isOpen:h,leastDestructiveRef:b,onClose:v,isCentered:!0,children:i.jsx(Aa,{children:i.jsxs(Td,{children:[i.jsx(Da,{fontSize:"lg",fontWeight:"bold",children:d}),i.jsx(Ta,{children:c}),i.jsxs(Ma,{children:[i.jsx(Yt,{ref:b,onClick:y,children:s}),i.jsx(Yt,{colorScheme:"error",onClick:w,ml:3,children:r})]})]})})})]})}),lx=f.memo(Kse);function Xse(e){const{model:t}=e,n=te(),{t:r}=ye(),[o,{isLoading:s}]=NM(),[a,c]=f.useState("InvokeAIRoot"),[d,p]=f.useState("");f.useEffect(()=>{c("InvokeAIRoot")},[t]);const h=()=>{c("InvokeAIRoot")},m=()=>{const v={base_model:t.base_model,model_name:t.model_name,convert_dest_directory:a==="Custom"?d:void 0};if(a==="Custom"&&d===""){n(On(Mn({title:r("modelManager.noCustomLocationProvided"),status:"error"})));return}n(On(Mn({title:`${r("modelManager.convertingModelBegin")}: ${t.model_name}`,status:"info"}))),o(v).unwrap().then(()=>{n(On(Mn({title:`${r("modelManager.modelConverted")}: ${t.model_name}`,status:"success"})))}).catch(()=>{n(On(Mn({title:`${r("modelManager.modelConversionFailed")}: ${t.model_name}`,status:"error"})))})};return i.jsxs(lx,{title:`${r("modelManager.convert")} ${t.model_name}`,acceptCallback:m,cancelCallback:h,acceptButtonText:`${r("modelManager.convert")}`,triggerComponent:i.jsxs(Yt,{size:"sm","aria-label":r("modelManager.convertToDiffusers"),className:" modal-close-btn",isLoading:s,children:["🧨 ",r("modelManager.convertToDiffusers")]}),motionPreset:"slideInBottom",children:[i.jsxs(W,{flexDirection:"column",rowGap:4,children:[i.jsx(Qe,{children:r("modelManager.convertToDiffusersHelpText1")}),i.jsxs(Db,{children:[i.jsx(Sa,{children:r("modelManager.convertToDiffusersHelpText2")}),i.jsx(Sa,{children:r("modelManager.convertToDiffusersHelpText3")}),i.jsx(Sa,{children:r("modelManager.convertToDiffusersHelpText4")}),i.jsx(Sa,{children:r("modelManager.convertToDiffusersHelpText5")})]}),i.jsx(Qe,{children:r("modelManager.convertToDiffusersHelpText6")})]}),i.jsxs(W,{flexDir:"column",gap:2,children:[i.jsxs(W,{marginTop:4,flexDir:"column",gap:2,children:[i.jsx(Qe,{fontWeight:"600",children:r("modelManager.convertToDiffusersSaveLocation")}),i.jsx(rh,{value:a,onChange:v=>c(v),children:i.jsxs(W,{gap:4,children:[i.jsx(ya,{value:"InvokeAIRoot",children:i.jsx(vn,{label:"Save converted model in the InvokeAI root folder",children:r("modelManager.invokeRoot")})}),i.jsx(ya,{value:"Custom",children:i.jsx(vn,{label:"Save converted model in a custom folder",children:r("modelManager.custom")})})]})})]}),a==="Custom"&&i.jsxs(W,{flexDirection:"column",rowGap:2,children:[i.jsx(Qe,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:r("modelManager.customSaveLocation")}),i.jsx(Dc,{value:d,onChange:v=>{p(v.target.value)},width:"full"})]})]})]})}function Yse(e){const t=B(kr),{model:n}=e,[r,{isLoading:o}]=d5(),{data:s}=i5(),[a,c]=f.useState(!1);f.useEffect(()=>{s!=null&&s.includes(n.config)||c(!0)},[s,n.config]);const d=te(),{t:p}=ye(),h=Sl({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"checkpoint",vae:n.vae?n.vae:"",config:n.config?n.config:"",variant:n.variant},validate:{path:v=>v.trim().length===0?"Must provide a path":null}}),m=f.useCallback(v=>{const b={base_model:n.base_model,model_name:n.model_name,body:v};r(b).unwrap().then(w=>{h.setValues(w),d(On(Mn({title:p("modelManager.modelUpdated"),status:"success"})))}).catch(w=>{h.reset(),d(On(Mn({title:p("modelManager.modelUpdateFailed"),status:"error"})))})},[h,d,n.base_model,n.model_name,p,r]);return i.jsxs(W,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(W,{justifyContent:"space-between",alignItems:"center",children:[i.jsxs(W,{flexDirection:"column",children:[i.jsx(Qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(Qe,{fontSize:"sm",color:"base.400",children:[Qn[n.base_model]," Model"]})]}),[""].includes(n.base_model)?i.jsx(gl,{sx:{p:2,borderRadius:4,bg:"error.200",_dark:{bg:"error.400"}},children:"Conversion Not Supported"}):i.jsx(Xse,{model:n})]}),i.jsx(_i,{}),i.jsx(W,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",children:i.jsx("form",{onSubmit:h.onSubmit(v=>m(v)),children:i.jsxs(W,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(br,{label:p("modelManager.name"),...h.getInputProps("model_name")}),i.jsx(br,{label:p("modelManager.description"),...h.getInputProps("description")}),i.jsx(Qd,{required:!0,...h.getInputProps("base_model")}),i.jsx(dg,{required:!0,...h.getInputProps("variant")}),i.jsx(br,{required:!0,label:p("modelManager.modelLocation"),...h.getInputProps("path")}),i.jsx(br,{label:p("modelManager.vaeLocation"),...h.getInputProps("vae")}),i.jsxs(W,{flexDirection:"column",gap:2,children:[a?i.jsx(br,{required:!0,label:p("modelManager.config"),...h.getInputProps("config")}):i.jsx(JO,{required:!0,...h.getInputProps("config")}),i.jsx(Gn,{isChecked:a,onChange:()=>c(!a),label:"Use Custom Config"})]}),i.jsx(Yt,{type:"submit",isDisabled:t||o,isLoading:o,children:p("modelManager.updateModel")})]})})})]})}function Qse(e){const t=B(kr),{model:n}=e,[r,{isLoading:o}]=d5(),s=te(),{t:a}=ye(),c=Sl({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"diffusers",vae:n.vae?n.vae:"",variant:n.variant},validate:{path:p=>p.trim().length===0?"Must provide a path":null}}),d=f.useCallback(p=>{const h={base_model:n.base_model,model_name:n.model_name,body:p};r(h).unwrap().then(m=>{c.setValues(m),s(On(Mn({title:a("modelManager.modelUpdated"),status:"success"})))}).catch(m=>{c.reset(),s(On(Mn({title:a("modelManager.modelUpdateFailed"),status:"error"})))})},[c,s,n.base_model,n.model_name,a,r]);return i.jsxs(W,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(W,{flexDirection:"column",children:[i.jsx(Qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(Qe,{fontSize:"sm",color:"base.400",children:[Qn[n.base_model]," Model"]})]}),i.jsx(_i,{}),i.jsx("form",{onSubmit:c.onSubmit(p=>d(p)),children:i.jsxs(W,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(br,{label:a("modelManager.name"),...c.getInputProps("model_name")}),i.jsx(br,{label:a("modelManager.description"),...c.getInputProps("description")}),i.jsx(Qd,{required:!0,...c.getInputProps("base_model")}),i.jsx(dg,{required:!0,...c.getInputProps("variant")}),i.jsx(br,{required:!0,label:a("modelManager.modelLocation"),...c.getInputProps("path")}),i.jsx(br,{label:a("modelManager.vaeLocation"),...c.getInputProps("vae")}),i.jsx(Yt,{type:"submit",isDisabled:t||o,isLoading:o,children:a("modelManager.updateModel")})]})})]})}function Jse(e){const t=B(kr),{model:n}=e,[r,{isLoading:o}]=$M(),s=te(),{t:a}=ye(),c=Sl({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"lora",path:n.path?n.path:"",description:n.description?n.description:"",model_format:n.model_format},validate:{path:p=>p.trim().length===0?"Must provide a path":null}}),d=f.useCallback(p=>{const h={base_model:n.base_model,model_name:n.model_name,body:p};r(h).unwrap().then(m=>{c.setValues(m),s(On(Mn({title:a("modelManager.modelUpdated"),status:"success"})))}).catch(m=>{c.reset(),s(On(Mn({title:a("modelManager.modelUpdateFailed"),status:"error"})))})},[s,c,n.base_model,n.model_name,a,r]);return i.jsxs(W,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(W,{flexDirection:"column",children:[i.jsx(Qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(Qe,{fontSize:"sm",color:"base.400",children:[Qn[n.base_model]," Model ⋅"," ",LM[n.model_format]," format"]})]}),i.jsx(_i,{}),i.jsx("form",{onSubmit:c.onSubmit(p=>d(p)),children:i.jsxs(W,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(br,{label:a("modelManager.name"),...c.getInputProps("model_name")}),i.jsx(br,{label:a("modelManager.description"),...c.getInputProps("description")}),i.jsx(Qd,{...c.getInputProps("base_model")}),i.jsx(br,{label:a("modelManager.modelLocation"),...c.getInputProps("path")}),i.jsx(Yt,{type:"submit",isDisabled:t||o,isLoading:o,children:a("modelManager.updateModel")})]})})]})}function Zse(e){const t=B(kr),{t:n}=ye(),r=te(),[o]=zM(),[s]=BM(),{model:a,isSelected:c,setSelectedModelId:d}=e,p=f.useCallback(()=>{d(a.id)},[a.id,d]),h=f.useCallback(()=>{const m={main:o,lora:s,onnx:o}[a.model_type];m(a).unwrap().then(v=>{r(On(Mn({title:`${n("modelManager.modelDeleted")}: ${a.model_name}`,status:"success"})))}).catch(v=>{v&&r(On(Mn({title:`${n("modelManager.modelDeleteFailed")}: ${a.model_name}`,status:"error"})))}),d(void 0)},[o,s,a,d,r,n]);return i.jsxs(W,{sx:{gap:2,alignItems:"center",w:"full"},children:[i.jsx(W,{as:Yt,isChecked:c,sx:{justifyContent:"start",p:2,borderRadius:"base",w:"full",alignItems:"center",bg:c?"accent.400":"base.100",color:c?"base.50":"base.800",_hover:{bg:c?"accent.500":"base.300",color:c?"base.50":"base.800"},_dark:{color:c?"base.50":"base.100",bg:c?"accent.600":"base.850",_hover:{color:c?"base.50":"base.100",bg:c?"accent.550":"base.700"}}},onClick:p,children:i.jsxs(W,{gap:4,alignItems:"center",children:[i.jsx(gl,{minWidth:14,p:.5,fontSize:"sm",variant:"solid",children:FM[a.base_model]}),i.jsx(vn,{label:a.description,hasArrow:!0,placement:"bottom",children:i.jsx(Qe,{sx:{fontWeight:500},children:a.model_name})})]})}),i.jsx(lx,{title:n("modelManager.deleteModel"),acceptCallback:h,acceptButtonText:n("modelManager.delete"),triggerComponent:i.jsx(ze,{icon:i.jsx(DJ,{}),"aria-label":n("modelManager.deleteConfig"),isDisabled:t,colorScheme:"error"}),children:i.jsxs(W,{rowGap:4,flexDirection:"column",children:[i.jsx("p",{style:{fontWeight:"bold"},children:n("modelManager.deleteMsg1")}),i.jsx("p",{children:n("modelManager.deleteMsg2")})]})})]})}const eae=e=>{const{selectedModelId:t,setSelectedModelId:n}=e,{t:r}=ye(),[o,s]=f.useState(""),[a,c]=f.useState("all"),{filteredDiffusersModels:d,isLoadingDiffusersModels:p}=na(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredDiffusersModels:Cu(P,"main","diffusers",o),isLoadingDiffusersModels:I})}),{filteredCheckpointModels:h,isLoadingCheckpointModels:m}=na(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredCheckpointModels:Cu(P,"main","checkpoint",o),isLoadingCheckpointModels:I})}),{filteredLoraModels:v,isLoadingLoraModels:b}=hm(void 0,{selectFromResult:({data:P,isLoading:I})=>({filteredLoraModels:Cu(P,"lora",void 0,o),isLoadingLoraModels:I})}),{filteredOnnxModels:w,isLoadingOnnxModels:y}=Vp(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredOnnxModels:Cu(P,"onnx","onnx",o),isLoadingOnnxModels:I})}),{filteredOliveModels:S,isLoadingOliveModels:k}=Vp(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredOliveModels:Cu(P,"onnx","olive",o),isLoadingOliveModels:I})}),_=f.useCallback(P=>{s(P.target.value)},[]);return i.jsx(W,{flexDirection:"column",rowGap:4,width:"50%",minWidth:"50%",children:i.jsxs(W,{flexDirection:"column",gap:4,paddingInlineEnd:4,children:[i.jsxs(rr,{isAttached:!0,children:[i.jsx(Yt,{onClick:()=>c("all"),isChecked:a==="all",size:"sm",children:r("modelManager.allModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("diffusers"),isChecked:a==="diffusers",children:r("modelManager.diffusersModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("checkpoint"),isChecked:a==="checkpoint",children:r("modelManager.checkpointModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("onnx"),isChecked:a==="onnx",children:r("modelManager.onnxModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("olive"),isChecked:a==="olive",children:r("modelManager.oliveModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("lora"),isChecked:a==="lora",children:r("modelManager.loraModels")})]}),i.jsx(Dc,{onChange:_,label:r("modelManager.search"),labelPos:"side"}),i.jsxs(W,{flexDirection:"column",gap:4,maxHeight:window.innerHeight-280,overflow:"scroll",children:[p&&i.jsx(_u,{loadingMessage:"Loading Diffusers..."}),["all","diffusers"].includes(a)&&!p&&d.length>0&&i.jsx(ku,{title:"Diffusers",modelList:d,selected:{selectedModelId:t,setSelectedModelId:n}},"diffusers"),m&&i.jsx(_u,{loadingMessage:"Loading Checkpoints..."}),["all","checkpoint"].includes(a)&&!m&&h.length>0&&i.jsx(ku,{title:"Checkpoints",modelList:h,selected:{selectedModelId:t,setSelectedModelId:n}},"checkpoints"),b&&i.jsx(_u,{loadingMessage:"Loading LoRAs..."}),["all","lora"].includes(a)&&!b&&v.length>0&&i.jsx(ku,{title:"LoRAs",modelList:v,selected:{selectedModelId:t,setSelectedModelId:n}},"loras"),k&&i.jsx(_u,{loadingMessage:"Loading Olives..."}),["all","olive"].includes(a)&&!k&&S.length>0&&i.jsx(ku,{title:"Olives",modelList:S,selected:{selectedModelId:t,setSelectedModelId:n}},"olive"),y&&i.jsx(_u,{loadingMessage:"Loading ONNX..."}),["all","onnx"].includes(a)&&!y&&w.length>0&&i.jsx(ku,{title:"ONNX",modelList:w,selected:{selectedModelId:t,setSelectedModelId:n}},"onnx")]})]})})},Cu=(e,t,n,r)=>{const o=[];return oo(e==null?void 0:e.entities,s=>{if(!s)return;const a=s.model_name.toLowerCase().includes(r.toLowerCase()),c=n===void 0||s.model_format===n,d=s.model_type===t;a&&c&&d&&o.push(s)}),o},n8=e=>i.jsx(W,{flexDirection:"column",gap:4,borderRadius:4,p:4,sx:{bg:"base.200",_dark:{bg:"base.800"}},children:e.children});function ku(e){const{title:t,modelList:n,selected:r}=e;return i.jsx(n8,{children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(Qe,{variant:"subtext",fontSize:"sm",children:t}),n.map(o=>i.jsx(Zse,{model:o,isSelected:r.selectedModelId===o.id,setSelectedModelId:r.setSelectedModelId},o.id))]})})}function _u({loadingMessage:e}){return i.jsx(n8,{children:i.jsxs(W,{justifyContent:"center",alignItems:"center",flexDirection:"column",p:4,gap:8,children:[i.jsx(hl,{}),i.jsx(Qe,{variant:"subtext",children:e||"Fetching..."})]})})}function tae(){const[e,t]=f.useState(),{mainModel:n}=na(Gi,{selectFromResult:({data:s})=>({mainModel:e?s==null?void 0:s.entities[e]:void 0})}),{loraModel:r}=hm(void 0,{selectFromResult:({data:s})=>({loraModel:e?s==null?void 0:s.entities[e]:void 0})}),o=n||r;return i.jsxs(W,{sx:{gap:8,w:"full",h:"full"},children:[i.jsx(eae,{selectedModelId:e,setSelectedModelId:t}),i.jsx(nae,{model:o})]})}const nae=e=>{const{model:t}=e;return(t==null?void 0:t.model_format)==="checkpoint"?i.jsx(Yse,{model:t},t.id):(t==null?void 0:t.model_format)==="diffusers"?i.jsx(Qse,{model:t},t.id):(t==null?void 0:t.model_type)==="lora"?i.jsx(Jse,{model:t},t.id):i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",maxH:96,userSelect:"none"},children:i.jsx(Qe,{variant:"subtext",children:"No Model Selected"})})};function rae(){const{t:e}=ye();return i.jsxs(W,{sx:{w:"full",p:4,borderRadius:4,gap:4,justifyContent:"space-between",alignItems:"center",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(W,{sx:{flexDirection:"column",gap:2},children:[i.jsx(Qe,{sx:{fontWeight:600},children:e("modelManager.syncModels")}),i.jsx(Qe,{fontSize:"sm",sx:{_dark:{color:"base.400"}},children:e("modelManager.syncModelsDesc")})]}),i.jsx(Yd,{})]})}function oae(){return i.jsx(W,{children:i.jsx(rae,{})})}const l_=[{id:"modelManager",label:Bn.t("modelManager.modelManager"),content:i.jsx(tae,{})},{id:"importModels",label:Bn.t("modelManager.importModels"),content:i.jsx(Use,{})},{id:"mergeModels",label:Bn.t("modelManager.mergeModels"),content:i.jsx(qse,{})},{id:"settings",label:Bn.t("modelManager.settings"),content:i.jsx(oae,{})}],sae=()=>i.jsxs($d,{isLazy:!0,variant:"line",layerStyle:"first",sx:{w:"full",h:"full",p:4,gap:4,borderRadius:"base"},children:[i.jsx(Ld,{children:l_.map(e=>i.jsx(kc,{sx:{borderTopRadius:"base"},children:e.label},e.id))}),i.jsx(Nm,{sx:{w:"full",h:"full"},children:l_.map(e=>i.jsx(Tm,{sx:{w:"full",h:"full"},children:e.content},e.id))})]}),aae=f.memo(sae);const iae=e=>be([t=>t.nodes],t=>{const n=t.invocationTemplates[e];if(n)return n},{memoizeOptions:{resultEqualityCheck:(t,n)=>t!==void 0&&n!==void 0&&t.type===n.type}}),lae=(e,t)=>{const n={id:e,name:t.name,type:t.type};return t.inputRequirement!=="never"&&(t.type==="string"&&(n.value=t.default??""),t.type==="integer"&&(n.value=t.default??0),t.type==="float"&&(n.value=t.default??0),t.type==="boolean"&&(n.value=t.default??!1),t.type==="enum"&&(t.enumType==="number"&&(n.value=t.default??0),t.enumType==="string"&&(n.value=t.default??"")),t.type==="array"&&(n.value=t.default??1),t.type==="image"&&(n.value=void 0),t.type==="image_collection"&&(n.value=[]),t.type==="latents"&&(n.value=void 0),t.type==="conditioning"&&(n.value=void 0),t.type==="unet"&&(n.value=void 0),t.type==="clip"&&(n.value=void 0),t.type==="vae"&&(n.value=void 0),t.type==="control"&&(n.value=void 0),t.type==="model"&&(n.value=void 0),t.type==="refiner_model"&&(n.value=void 0),t.type==="vae_model"&&(n.value=void 0),t.type==="lora_model"&&(n.value=void 0),t.type==="controlnet_model"&&(n.value=void 0)),n},cae=be([e=>e.nodes],e=>e.invocationTemplates),cx="node-drag-handle",c_={dragHandle:`.${cx}`},uae=()=>{const e=B(cae),t=lb();return f.useCallback(n=>{if(n==="progress_image"){const{x:h,y:m}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...c_,id:"progress_image",type:"progress_image",position:{x:h,y:m},data:{}}}const r=e[n];if(r===void 0){console.error(`Unable to find template ${n}.`);return}const o=di(),s=mw(r.inputs,(h,m,v)=>{const b=di(),w=lae(b,m);return h[v]=w,h},{}),a=mw(r.outputs,(h,m,v)=>{const w={id:di(),name:v,type:m.type};return h[v]=w,h},{}),{x:c,y:d}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...c_,id:o,type:"invocation",position:{x:c,y:d},data:{id:o,type:n,inputs:s,outputs:a}}},[e,t])},dae=e=>{const{nodeId:t,title:n,description:r}=e;return i.jsxs(W,{className:cx,sx:{borderTopRadius:"md",alignItems:"center",justifyContent:"space-between",px:2,py:1,bg:"base.100",_dark:{bg:"base.900"}},children:[i.jsx(vn,{label:t,children:i.jsx(Ys,{size:"xs",sx:{fontWeight:600,color:"base.900",_dark:{color:"base.200"}},children:n})}),i.jsx(vn,{label:r,placement:"top",hasArrow:!0,shouldWrapChildren:!0,children:i.jsx(fo,{sx:{h:"min-content",color:"base.700",_dark:{color:"base.300"}},as:GY})})]})},r8=f.memo(dae),o8=()=>()=>!0,fae={position:"absolute",width:"1rem",height:"1rem",borderWidth:0},pae={left:"-1rem"},hae={right:"-0.5rem"},mae=e=>{const{field:t,isValidConnection:n,handleType:r,styles:o}=e,{name:s,type:a}=t;return i.jsx(vn,{label:a,placement:r==="target"?"start":"end",hasArrow:!0,openDelay:f5,children:i.jsx(HM,{type:r,id:s,isValidConnection:n,position:r==="target"?gw.Left:gw.Right,style:{backgroundColor:p5[a].colorCssVar,...o,...fae,...r==="target"?pae:hae}})})},s8=f.memo(mae),gae=e=>i.jsx(XY,{}),vae=f.memo(gae),bae=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(As({nodeId:t,fieldName:n.name,value:s.target.checked}))};return i.jsx(Jb,{onChange:o,isChecked:n.value})},yae=f.memo(bae),xae=e=>null,wae=f.memo(xae);function fg(){return(fg=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}function F1(e){var t=f.useRef(e),n=f.useRef(function(r){t.current&&t.current(r)});return t.current=e,n.current}var Ac=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e0:S.buttons>0)&&o.current?s(u_(o.current,S,c.current)):y(!1)},w=function(){return y(!1)};function y(S){var k=d.current,_=H1(o.current),P=S?_.addEventListener:_.removeEventListener;P(k?"touchmove":"mousemove",b),P(k?"touchend":"mouseup",w)}return[function(S){var k=S.nativeEvent,_=o.current;if(_&&(d_(k),!function(I,E){return E&&!Xu(I)}(k,d.current)&&_)){if(Xu(k)){d.current=!0;var P=k.changedTouches||[];P.length&&(c.current=P[0].identifier)}_.focus(),s(u_(_,k,c.current)),y(!0)}},function(S){var k=S.which||S.keyCode;k<37||k>40||(S.preventDefault(),a({left:k===39?.05:k===37?-.05:0,top:k===40?.05:k===38?-.05:0}))},y]},[a,s]),h=p[0],m=p[1],v=p[2];return f.useEffect(function(){return v},[v]),H.createElement("div",fg({},r,{onTouchStart:h,onMouseDown:h,className:"react-colorful__interactive",ref:o,onKeyDown:m,tabIndex:0,role:"slider"}))}),pg=function(e){return e.filter(Boolean).join(" ")},dx=function(e){var t=e.color,n=e.left,r=e.top,o=r===void 0?.5:r,s=pg(["react-colorful__pointer",e.className]);return H.createElement("div",{className:s,style:{top:100*o+"%",left:100*n+"%"}},H.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},po=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=Math.pow(10,t)),Math.round(n*e)/n},i8=function(e){var t=e.s,n=e.v,r=e.a,o=(200-t)*n/100;return{h:po(e.h),s:po(o>0&&o<200?t*n/100/(o<=100?o:200-o)*100:0),l:po(o/2),a:po(r,2)}},W1=function(e){var t=i8(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},vv=function(e){var t=i8(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},Sae=function(e){var t=e.h,n=e.s,r=e.v,o=e.a;t=t/360*6,n/=100,r/=100;var s=Math.floor(t),a=r*(1-n),c=r*(1-(t-s)*n),d=r*(1-(1-t+s)*n),p=s%6;return{r:po(255*[r,c,a,a,d,r][p]),g:po(255*[d,r,r,c,a,a][p]),b:po(255*[a,a,d,r,r,c][p]),a:po(o,2)}},Cae=function(e){var t=e.r,n=e.g,r=e.b,o=e.a,s=Math.max(t,n,r),a=s-Math.min(t,n,r),c=a?s===t?(n-r)/a:s===n?2+(r-t)/a:4+(t-n)/a:0;return{h:po(60*(c<0?c+6:c)),s:po(s?a/s*100:0),v:po(s/255*100),a:o}},kae=H.memo(function(e){var t=e.hue,n=e.onChange,r=pg(["react-colorful__hue",e.className]);return H.createElement("div",{className:r},H.createElement(ux,{onMove:function(o){n({h:360*o.left})},onKey:function(o){n({h:Ac(t+360*o.left,0,360)})},"aria-label":"Hue","aria-valuenow":po(t),"aria-valuemax":"360","aria-valuemin":"0"},H.createElement(dx,{className:"react-colorful__hue-pointer",left:t/360,color:W1({h:t,s:100,v:100,a:1})})))}),_ae=H.memo(function(e){var t=e.hsva,n=e.onChange,r={backgroundColor:W1({h:t.h,s:100,v:100,a:1})};return H.createElement("div",{className:"react-colorful__saturation",style:r},H.createElement(ux,{onMove:function(o){n({s:100*o.left,v:100-100*o.top})},onKey:function(o){n({s:Ac(t.s+100*o.left,0,100),v:Ac(t.v-100*o.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+po(t.s)+"%, Brightness "+po(t.v)+"%"},H.createElement(dx,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:W1(t)})))}),l8=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0};function Pae(e,t,n){var r=F1(n),o=f.useState(function(){return e.toHsva(t)}),s=o[0],a=o[1],c=f.useRef({color:t,hsva:s});f.useEffect(function(){if(!e.equal(t,c.current.color)){var p=e.toHsva(t);c.current={hsva:p,color:t},a(p)}},[t,e]),f.useEffect(function(){var p;l8(s,c.current.hsva)||e.equal(p=e.fromHsva(s),c.current.color)||(c.current={hsva:s,color:p},r(p))},[s,e,r]);var d=f.useCallback(function(p){a(function(h){return Object.assign({},h,p)})},[]);return[s,d]}var jae=typeof window<"u"?f.useLayoutEffect:f.useEffect,Iae=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},f_=new Map,Eae=function(e){jae(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!f_.has(t)){var n=t.createElement("style");n.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,f_.set(t,n);var r=Iae();r&&n.setAttribute("nonce",r),t.head.appendChild(n)}},[])},Oae=function(e){var t=e.className,n=e.hsva,r=e.onChange,o={backgroundImage:"linear-gradient(90deg, "+vv(Object.assign({},n,{a:0}))+", "+vv(Object.assign({},n,{a:1}))+")"},s=pg(["react-colorful__alpha",t]),a=po(100*n.a);return H.createElement("div",{className:s},H.createElement("div",{className:"react-colorful__alpha-gradient",style:o}),H.createElement(ux,{onMove:function(c){r({a:c.left})},onKey:function(c){r({a:Ac(n.a+c.left)})},"aria-label":"Alpha","aria-valuetext":a+"%","aria-valuenow":a,"aria-valuemin":"0","aria-valuemax":"100"},H.createElement(dx,{className:"react-colorful__alpha-pointer",left:n.a,color:vv(n)})))},Rae=function(e){var t=e.className,n=e.colorModel,r=e.color,o=r===void 0?n.defaultColor:r,s=e.onChange,a=a8(e,["className","colorModel","color","onChange"]),c=f.useRef(null);Eae(c);var d=Pae(n,o,s),p=d[0],h=d[1],m=pg(["react-colorful",t]);return H.createElement("div",fg({},a,{ref:c,className:m}),H.createElement(_ae,{hsva:p,onChange:h}),H.createElement(kae,{hue:p.h,onChange:h}),H.createElement(Oae,{hsva:p,onChange:h,className:"react-colorful__last-control"}))},Mae={defaultColor:{r:0,g:0,b:0,a:1},toHsva:Cae,fromHsva:Sae,equal:l8},c8=function(e){return H.createElement(Rae,fg({},e,{colorModel:Mae}))};const Dae=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(As({nodeId:t,fieldName:n.name,value:s}))};return i.jsx(c8,{className:"nodrag",color:n.value,onChange:o})},Aae=f.memo(Dae),Tae=e=>null,Nae=f.memo(Tae),$ae=e=>null,Lae=f.memo($ae),zae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=ib(),a=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/controlnet/${r==null?void 0:r.model_name}`])??null,[r==null?void 0:r.base_model,r==null?void 0:r.model_name,s==null?void 0:s.entities]),c=f.useMemo(()=>{if(!s)return[];const p=[];return oo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:Qn[h.base_model]})}),p},[s]),d=f.useCallback(p=>{if(!p)return;const h=GO(p);h&&o(As({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return i.jsx(Xr,{tooltip:a==null?void 0:a.description,label:(a==null?void 0:a.base_model)&&Qn[a==null?void 0:a.base_model],value:(a==null?void 0:a.id)??null,placeholder:"Pick one",error:!a,data:c,onChange:d})},Bae=f.memo(zae),Fae=e=>{const{nodeId:t,field:n,template:r}=e,o=te(),s=a=>{o(As({nodeId:t,fieldName:n.name,value:a.target.value}))};return i.jsx(z6,{onChange:s,value:n.value,children:r.options.map(a=>i.jsx("option",{children:a},a))})},Hae=f.memo(Fae),Wae=e=>{var c;const{nodeId:t,field:n}=e,r={id:`node-${t}-${n.name}`,actionType:"SET_MULTI_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}},{isOver:o,setNodeRef:s,active:a}=Z1({id:`node_${t}`,data:r});return i.jsxs(W,{ref:s,sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",position:"relative",minH:"10rem"},children:[(c=n.value)==null?void 0:c.map(({image_name:d})=>i.jsx(Uae,{imageName:d},d)),Lp(r,a)&&i.jsx(Jh,{isOver:o})]})},Vae=f.memo(Wae),Uae=e=>{const{currentData:t}=Is(e.imageName);return i.jsx(fl,{imageDTO:t,isDropDisabled:!0,isDragDisabled:!0})},Gae=e=>{var p;const{nodeId:t,field:n}=e,r=te(),{currentData:o}=Is(((p=n.value)==null?void 0:p.image_name)??ro.skipToken),s=f.useCallback(()=>{r(As({nodeId:t,fieldName:n.name,value:void 0}))},[r,n.name,t]),a=f.useMemo(()=>{if(o)return{id:`node-${t}-${n.name}`,payloadType:"IMAGE_DTO",payload:{imageDTO:o}}},[n.name,o,t]),c=f.useMemo(()=>({id:`node-${t}-${n.name}`,actionType:"SET_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}}),[n.name,t]),d=f.useMemo(()=>({type:"SET_NODES_IMAGE",nodeId:t,fieldName:n.name}),[t,n.name]);return i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(fl,{imageDTO:o,droppableData:c,draggableData:a,onClickReset:s,postUploadAction:d})})},qae=f.memo(Gae),Kae=e=>i.jsx(PY,{}),p_=f.memo(Kae),Xae=e=>null,Yae=f.memo(Xae),Qae=e=>{const t=wd("models"),[n,r,o]=e.split("/"),s=WM.safeParse({base_model:n,model_name:o});if(!s.success){t.error({loraModelId:e,errors:s.error.format()},"Failed to parse LoRA model id");return}return s.data},Jae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=hm(),a=f.useMemo(()=>{if(!s)return[];const p=[];return oo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:Qn[h.base_model]})}),p.sort((h,m)=>h.disabled&&!m.disabled?1:-1)},[s]),c=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/lora/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r==null?void 0:r.base_model,r==null?void 0:r.model_name]),d=f.useCallback(p=>{if(!p)return;const h=Qae(p);h&&o(As({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return(s==null?void 0:s.ids.length)===0?i.jsx(W,{sx:{justifyContent:"center",p:2},children:i.jsx(Qe,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):i.jsx(ar,{value:(c==null?void 0:c.id)??null,label:(c==null?void 0:c.base_model)&&Qn[c==null?void 0:c.base_model],placeholder:a.length>0?"Select a LoRA":"No LoRAs available",data:a,nothingFound:"No matching LoRAs",itemComponent:Oi,disabled:a.length===0,filter:(p,h)=>{var m;return((m=h.label)==null?void 0:m.toLowerCase().includes(p.toLowerCase().trim()))||h.value.toLowerCase().includes(p.toLowerCase().trim())},onChange:d})},Zae=f.memo(Jae),eie=e=>{var v,b;const{nodeId:t,field:n}=e,r=te(),{t:o}=ye(),s=hr("syncModels").isFeatureEnabled,{data:a}=Vp(Yu),{data:c,isLoading:d}=na(Yu),p=f.useMemo(()=>{if(!c)return[];const w=[];return oo(c.entities,(y,S)=>{y&&w.push({value:S,label:y.model_name,group:Qn[y.base_model]})}),a&&oo(a.entities,(y,S)=>{y&&w.push({value:S,label:y.model_name,group:Qn[y.base_model]})}),w},[c,a]),h=f.useMemo(()=>{var w,y,S,k;return((c==null?void 0:c.entities[`${(w=n.value)==null?void 0:w.base_model}/main/${(y=n.value)==null?void 0:y.model_name}`])||(a==null?void 0:a.entities[`${(S=n.value)==null?void 0:S.base_model}/onnx/${(k=n.value)==null?void 0:k.model_name}`]))??null},[(v=n.value)==null?void 0:v.base_model,(b=n.value)==null?void 0:b.model_name,c==null?void 0:c.entities,a==null?void 0:a.entities]),m=f.useCallback(w=>{if(!w)return;const y=tx(w);y&&r(As({nodeId:t,fieldName:n.name,value:y}))},[r,n.name,t]);return d?i.jsx(ar,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(ar,{tooltip:h==null?void 0:h.description,label:(h==null?void 0:h.base_model)&&Qn[h==null?void 0:h.base_model],value:h==null?void 0:h.id,placeholder:p.length>0?"Select a model":"No models available",data:p,error:p.length===0,disabled:p.length===0,onChange:m}),s&&i.jsx(Re,{mt:7,children:i.jsx(Yd,{iconMode:!0})})]})},tie=f.memo(eie),nie=e=>{const{nodeId:t,field:n}=e,r=te(),[o,s]=f.useState(String(n.value)),a=c=>{s(c),c.match(sm)||r(As({nodeId:t,fieldName:n.name,value:e.template.type==="integer"?Math.floor(Number(c)):Number(c)}))};return f.useEffect(()=>{!o.match(sm)&&n.value!==Number(o)&&s(String(n.value))},[n.value,o]),i.jsxs(Cm,{onChange:a,value:o,step:e.template.type==="integer"?1:.1,precision:e.template.type==="integer"?0:3,children:[i.jsx(_m,{}),i.jsxs(km,{children:[i.jsx(jm,{}),i.jsx(Pm,{})]})]})},rie=f.memo(nie),oie=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(As({nodeId:t,fieldName:n.name,value:s.target.value}))};return["prompt","style"].includes(n.name.toLowerCase())?i.jsx(Zb,{onChange:o,value:n.value,rows:2}):i.jsx(Id,{onChange:o,value:n.value})},sie=f.memo(oie),aie=e=>null,iie=f.memo(aie),lie=e=>null,cie=f.memo(lie),uie=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=t5(),a=f.useMemo(()=>{if(!s)return[];const p=[{value:"default",label:"Default",group:"Default"}];return oo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:Qn[h.base_model]})}),p.sort((h,m)=>h.disabled&&!m.disabled?1:-1)},[s]),c=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r]),d=f.useCallback(p=>{if(!p)return;const h=LO(p);h&&o(As({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return i.jsx(ar,{itemComponent:Oi,tooltip:c==null?void 0:c.description,label:(c==null?void 0:c.base_model)&&Qn[c==null?void 0:c.base_model],value:(c==null?void 0:c.id)??"default",placeholder:"Default",data:a,onChange:d,disabled:a.length===0,clearable:!0})},die=f.memo(uie),fie=e=>{var m,v;const{nodeId:t,field:n}=e,r=te(),{t:o}=ye(),s=hr("syncModels").isFeatureEnabled,{data:a,isLoading:c}=na(ab),d=f.useMemo(()=>{if(!a)return[];const b=[];return oo(a.entities,(w,y)=>{w&&b.push({value:y,label:w.model_name,group:Qn[w.base_model]})}),b},[a]),p=f.useMemo(()=>{var b,w;return(a==null?void 0:a.entities[`${(b=n.value)==null?void 0:b.base_model}/main/${(w=n.value)==null?void 0:w.model_name}`])??null},[(m=n.value)==null?void 0:m.base_model,(v=n.value)==null?void 0:v.model_name,a==null?void 0:a.entities]),h=f.useCallback(b=>{if(!b)return;const w=tx(b);w&&r(As({nodeId:t,fieldName:n.name,value:w}))},[r,n.name,t]);return c?i.jsx(ar,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(ar,{tooltip:p==null?void 0:p.description,label:(p==null?void 0:p.base_model)&&Qn[p==null?void 0:p.base_model],value:p==null?void 0:p.id,placeholder:d.length>0?"Select a model":"No models available",data:d,error:d.length===0,disabled:d.length===0,onChange:h}),s&&i.jsx(Re,{mt:7,children:i.jsx(Yd,{iconMode:!0})})]})},pie=f.memo(fie),hie=e=>{const{nodeId:t,field:n,template:r}=e,{type:o}=n;return o==="string"&&r.type==="string"?i.jsx(sie,{nodeId:t,field:n,template:r}):o==="boolean"&&r.type==="boolean"?i.jsx(yae,{nodeId:t,field:n,template:r}):o==="integer"&&r.type==="integer"||o==="float"&&r.type==="float"?i.jsx(rie,{nodeId:t,field:n,template:r}):o==="enum"&&r.type==="enum"?i.jsx(Hae,{nodeId:t,field:n,template:r}):o==="image"&&r.type==="image"?i.jsx(qae,{nodeId:t,field:n,template:r}):o==="latents"&&r.type==="latents"?i.jsx(Yae,{nodeId:t,field:n,template:r}):o==="conditioning"&&r.type==="conditioning"?i.jsx(Nae,{nodeId:t,field:n,template:r}):o==="unet"&&r.type==="unet"?i.jsx(iie,{nodeId:t,field:n,template:r}):o==="clip"&&r.type==="clip"?i.jsx(wae,{nodeId:t,field:n,template:r}):o==="vae"&&r.type==="vae"?i.jsx(cie,{nodeId:t,field:n,template:r}):o==="control"&&r.type==="control"?i.jsx(Lae,{nodeId:t,field:n,template:r}):o==="model"&&r.type==="model"?i.jsx(tie,{nodeId:t,field:n,template:r}):o==="refiner_model"&&r.type==="refiner_model"?i.jsx(pie,{nodeId:t,field:n,template:r}):o==="vae_model"&&r.type==="vae_model"?i.jsx(die,{nodeId:t,field:n,template:r}):o==="lora_model"&&r.type==="lora_model"?i.jsx(Zae,{nodeId:t,field:n,template:r}):o==="controlnet_model"&&r.type==="controlnet_model"?i.jsx(Bae,{nodeId:t,field:n,template:r}):o==="array"&&r.type==="array"?i.jsx(vae,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?i.jsx(p_,{nodeId:t,field:n,template:r}):o==="color"&&r.type==="color"?i.jsx(Aae,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?i.jsx(p_,{nodeId:t,field:n,template:r}):o==="image_collection"&&r.type==="image_collection"?i.jsx(Vae,{nodeId:t,field:n,template:r}):i.jsxs(Re,{p:2,children:["Unknown field type: ",o]})},mie=f.memo(hie);function gie(e){const{nodeId:t,input:n,template:r,connected:o}=e,s=o8();return i.jsx(Re,{className:"nopan",position:"relative",borderColor:r?!o&&["always","connectionOnly"].includes(String(r==null?void 0:r.inputRequirement))&&n.value===void 0?"warning.400":void 0:"error.400",children:i.jsx(go,{isDisabled:r?o:!0,pl:2,children:r?i.jsxs(i.Fragment,{children:[i.jsxs(fi,{justifyContent:"space-between",alignItems:"center",children:[i.jsx(fi,{children:i.jsx(vn,{label:r==null?void 0:r.description,placement:"top",hasArrow:!0,shouldWrapChildren:!0,openDelay:f5,children:i.jsx(Bo,{children:r==null?void 0:r.title})})}),i.jsx(mie,{nodeId:t,field:n,template:r})]}),!["never","directOnly"].includes((r==null?void 0:r.inputRequirement)??"")&&i.jsx(s8,{nodeId:t,field:r,isValidConnection:s,handleType:"target"})]}):i.jsx(fi,{justifyContent:"space-between",alignItems:"center",children:i.jsxs(Bo,{children:["Unknown input: ",n.name]})})})})}const vie=e=>{const{nodeId:t,template:n,inputs:r}=e,o=B(a=>a.nodes.edges);return f.useCallback(()=>{const a=[],c=cs(r);return c.forEach((d,p)=>{const h=n.inputs[d.name],m=!!o.filter(v=>v.target===t&&v.targetHandle===d.name).length;p{const{nodeId:t,template:n,outputs:r}=e,o=B(a=>a.nodes.edges);return f.useCallback(()=>{const a=[];return cs(r).forEach(d=>{const p=n.outputs[d.name],h=!!o.filter(m=>m.source===t&&m.sourceHandle===d.name).length;a.push(i.jsx(yie,{nodeId:t,output:d,template:p,connected:h},d.id))}),i.jsx(W,{flexDir:"column",children:a})},[o,t,r,n.outputs])()},wie=f.memo(xie),Sie=e=>{const{...t}=e;return i.jsx(Z9,{style:{position:"absolute",border:"none",background:"transparent",width:15,height:15,bottom:0,right:0},minWidth:h5,...t})},V1=f.memo(Sie),U1=e=>{const[t,n]=$c("shadows",["nodeSelectedOutline","dark-lg"]),r=B(o=>o.hotkeys.shift);return i.jsx(Re,{className:r?cx:"nopan",sx:{position:"relative",borderRadius:"md",minWidth:h5,shadow:e.selected?`${t}, ${n}`:`${n}`},children:e.children})},u8=f.memo(e=>{const{id:t,data:n,selected:r}=e,{type:o,inputs:s,outputs:a}=n,c=f.useMemo(()=>iae(o),[o]),d=B(c);return d?i.jsxs(U1,{selected:r,children:[i.jsx(r8,{nodeId:t,title:d.title,description:d.description}),i.jsxs(W,{className:"nopan",sx:{cursor:"auto",flexDirection:"column",borderBottomRadius:"md",py:2,bg:"base.150",_dark:{bg:"base.800"}},children:[i.jsx(wie,{nodeId:t,outputs:a,template:d}),i.jsx(bie,{nodeId:t,inputs:s,template:d})]}),i.jsx(V1,{})]}):i.jsx(U1,{selected:r,children:i.jsxs(W,{className:"nopan",sx:{alignItems:"center",justifyContent:"center",cursor:"auto"},children:[i.jsx(fo,{as:ZI,sx:{boxSize:32,color:"base.600",_dark:{color:"base.400"}}}),i.jsx(V1,{})]})})});u8.displayName="InvocationComponent";const Cie=e=>{const t=vw(a=>a.system.progressImage),n=vw(a=>a.nodes.progressNodeSize),r=VM(),{selected:o}=e,s=(a,c)=>{r(UM(c))};return i.jsxs(U1,{selected:o,children:[i.jsx(r8,{title:"Progress Image",description:"Displays the progress image in the Node Editor"}),i.jsx(W,{sx:{flexDirection:"column",flexShrink:0,borderBottomRadius:"md",bg:"base.200",_dark:{bg:"base.800"},width:n.width-2,height:n.height-2,minW:250,minH:250,overflow:"hidden"},children:t?i.jsx(Lc,{src:t.dataURL,sx:{w:"full",h:"full",objectFit:"contain"}}):i.jsx(W,{sx:{minW:250,minH:250,width:n.width-2,height:n.height-2},children:i.jsx(tl,{})})}),i.jsx(V1,{onResize:s})]})},kie=f.memo(Cie),_ie=()=>{const{t:e}=ye(),{zoomIn:t,zoomOut:n,fitView:r}=lb(),o=te(),s=B(w=>w.nodes.shouldShowGraphOverlay),a=B(w=>w.nodes.shouldShowFieldTypeLegend),c=B(w=>w.nodes.shouldShowMinimapPanel),d=f.useCallback(()=>{t()},[t]),p=f.useCallback(()=>{n()},[n]),h=f.useCallback(()=>{r()},[r]),m=f.useCallback(()=>{o(GM(!s))},[s,o]),v=f.useCallback(()=>{o(qM(!a))},[a,o]),b=f.useCallback(()=>{o(KM(!c))},[c,o]);return i.jsxs(rr,{isAttached:!0,orientation:"vertical",children:[i.jsx(vn,{label:e("nodes.zoomInNodes"),children:i.jsx(ze,{"aria-label":"Zoom in ",onClick:d,icon:i.jsx(yl,{})})}),i.jsx(vn,{label:e("nodes.zoomOutNodes"),children:i.jsx(ze,{"aria-label":"Zoom out",onClick:p,icon:i.jsx(JY,{})})}),i.jsx(vn,{label:e("nodes.fitViewportNodes"),children:i.jsx(ze,{"aria-label":"Fit viewport",onClick:h,icon:i.jsx(zY,{})})}),i.jsx(vn,{label:e(s?"nodes.hideGraphNodes":"nodes.showGraphNodes"),children:i.jsx(ze,{"aria-label":"Toggle nodes graph overlay",isChecked:s,onClick:m,icon:i.jsx(by,{})})}),i.jsx(vn,{label:e(a?"nodes.hideLegendNodes":"nodes.showLegendNodes"),children:i.jsx(ze,{"aria-label":"Toggle field type legend",isChecked:a,onClick:v,icon:i.jsx(qY,{})})}),i.jsx(vn,{label:e(c?"nodes.hideMinimapnodes":"nodes.showMinimapnodes"),children:i.jsx(ze,{"aria-label":"Toggle minimap",isChecked:c,onClick:b,icon:i.jsx(YY,{})})})]})},Pie=f.memo(_ie),jie=()=>i.jsx(gd,{position:"bottom-left",children:i.jsx(Pie,{})}),Iie=f.memo(jie),Eie=()=>{const e=Pp({background:"var(--invokeai-colors-base-200)"},{background:"var(--invokeai-colors-base-500)"}),t=B(o=>o.nodes.shouldShowMinimapPanel),n=Pp("var(--invokeai-colors-accent-300)","var(--invokeai-colors-accent-700)"),r=Pp("var(--invokeai-colors-blackAlpha-300)","var(--invokeai-colors-blackAlpha-600)");return i.jsx(i.Fragment,{children:t&&i.jsx(W9,{nodeStrokeWidth:3,pannable:!0,zoomable:!0,nodeBorderRadius:30,style:e,nodeColor:n,maskColor:r})})},Oie=f.memo(Eie),Rie=()=>{const{t:e}=ye(),t=te(),{isOpen:n,onOpen:r,onClose:o}=ss(),s=f.useRef(null),a=B(d=>d.nodes.nodes),c=f.useCallback(()=>{t(XM()),t(On(Mn({title:e("toast.nodesCleared"),status:"success"}))),o()},[t,e,o]);return i.jsxs(i.Fragment,{children:[i.jsx(ze,{icon:i.jsx(Eo,{}),tooltip:e("nodes.clearGraph"),"aria-label":e("nodes.clearGraph"),onClick:r,isDisabled:a.length===0}),i.jsxs(Ad,{isOpen:n,onClose:o,leastDestructiveRef:s,isCentered:!0,children:[i.jsx(Aa,{}),i.jsxs(Td,{children:[i.jsx(Da,{fontSize:"lg",fontWeight:"bold",children:e("nodes.clearGraph")}),i.jsx(Ta,{children:i.jsx(Qe,{children:e("nodes.clearGraphDesc")})}),i.jsxs(Ma,{children:[i.jsx(yc,{ref:s,onClick:o,children:e("common.cancel")}),i.jsx(yc,{colorScheme:"red",ml:3,onClick:c,children:e("common.accept")})]})]})]})]})},Mie=f.memo(Rie);function Die(e){const t=["nodes","edges","viewport"];for(const s of t)if(!(s in e))return{isValid:!1,message:Bn.t("toast.nodesNotValidGraph")};if(!Array.isArray(e.nodes)||!Array.isArray(e.edges))return{isValid:!1,message:Bn.t("toast.nodesNotValidGraph")};const n=["data","type"],r=["invocation","progress_image"];if(e.nodes.length>0)for(const s of e.nodes)for(const a of n){if(!(a in s))return{isValid:!1,message:Bn.t("toast.nodesNotValidGraph")};if(a==="type"&&!r.includes(s[a]))return{isValid:!1,message:Bn.t("toast.nodesUnrecognizedTypes")}}const o=["source","sourceHandle","target","targetHandle"];if(e.edges.length>0){for(const s of e.edges)for(const a of o)if(!(a in s))return{isValid:!1,message:Bn.t("toast.nodesBrokenConnections")}}return{isValid:!0,message:Bn.t("toast.nodesLoaded")}}const Aie=()=>{const{t:e}=ye(),t=te(),{fitView:n}=lb(),r=f.useRef(null),o=f.useCallback(s=>{var c;if(!s)return;const a=new FileReader;a.onload=async()=>{const d=a.result;try{const p=await JSON.parse(String(d)),{isValid:h,message:m}=Die(p);h?(t(YM(p.nodes)),t(QM(p.edges)),n(),t(On(Mn({title:m,status:"success"})))):t(On(Mn({title:m,status:"error"}))),a.abort()}catch(p){p&&t(On(Mn({title:e("toast.nodesNotValidJSON"),status:"error"})))}},a.readAsText(s),(c=r.current)==null||c.call(r)},[n,t,e]);return i.jsx(_I,{resetRef:r,accept:"application/json",onChange:o,children:s=>i.jsx(ze,{icon:i.jsx(Wd,{}),tooltip:e("nodes.loadGraph"),"aria-label":e("nodes.loadGraph"),...s})})},Tie=f.memo(Aie);function Nie(e){const{iconButton:t=!1,...n}=e,r=te(),o=B(Kn),s=Kd(),a=f.useCallback(()=>{r(xd("nodes"))},[r]),{t:c}=ye();return tt(["ctrl+enter","meta+enter"],a,{enabled:()=>s,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[s,o]),i.jsx(Re,{style:{flexGrow:4},position:"relative",children:i.jsxs(Re,{style:{position:"relative"},children:[!s&&i.jsx(Re,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},children:i.jsx(MO,{})}),t?i.jsx(ze,{"aria-label":c("parameters.invoke"),type:"submit",icon:i.jsx(aE,{}),isDisabled:!s,onClick:a,flexGrow:1,w:"100%",tooltip:c("parameters.invoke"),tooltipProps:{placement:"bottom"},colorScheme:"accent",id:"invoke-button",_disabled:{background:"none",_hover:{background:"none"}},...n}):i.jsx(Yt,{"aria-label":c("parameters.invoke"),type:"submit",isDisabled:!s,onClick:a,flexGrow:1,w:"100%",colorScheme:"accent",id:"invoke-button",fontWeight:700,_disabled:{background:"none",_hover:{background:"none"}},...n,children:"Invoke"})]})})}function $ie(){const{t:e}=ye(),t=te(),n=f.useCallback(()=>{t(JM())},[t]);return i.jsx(ze,{icon:i.jsx(oQ,{}),tooltip:e("nodes.reloadSchema"),"aria-label":e("nodes.reloadSchema"),onClick:n})}const Lie=()=>{const{t:e}=ye(),t=B(o=>o.nodes.editorInstance),n=B(o=>o.nodes.nodes),r=f.useCallback(()=>{if(t){const o=t.toObject();o.edges=cs(o.edges,c=>ZM(c,["style"]));const s=new Blob([JSON.stringify(o)]),a=document.createElement("a");a.href=URL.createObjectURL(s),a.download="MyNodes.json",document.body.appendChild(a),a.click(),a.remove()}},[t]);return i.jsx(ze,{icon:i.jsx(Vm,{}),fontSize:18,tooltip:e("nodes.saveGraph"),"aria-label":e("nodes.saveGraph"),onClick:r,isDisabled:n.length===0})},zie=f.memo(Lie),Bie=()=>i.jsx(gd,{position:"top-center",children:i.jsxs(fi,{children:[i.jsx(Nie,{}),i.jsx(ag,{}),i.jsx($ie,{}),i.jsx(zie,{}),i.jsx(Tie,{}),i.jsx(Mie,{})]})}),Fie=f.memo(Bie),Hie=be([lt],({nodes:e})=>{const t=cs(e.invocationTemplates,n=>({label:n.title,value:n.type,description:n.description}));return t.push({label:"Progress Image",value:"progress_image",description:"Displays the progress image in the Node Editor"}),{data:t}},Je),Wie=()=>{const e=te(),{data:t}=B(Hie),n=uae(),r=Vc(),o=f.useCallback(a=>{const c=n(a);if(!c){r({status:"error",title:`Unknown Invocation type ${a}`});return}e(eD(c))},[e,n,r]),s=f.useCallback(a=>{a&&o(a)},[o]);return i.jsx(W,{sx:{gap:2,alignItems:"center"},children:i.jsx(ar,{selectOnBlur:!1,placeholder:"Add Node",value:null,data:t,maxDropdownHeight:400,nothingFound:"No matching nodes",itemComponent:d8,filter:(a,c)=>c.label.toLowerCase().includes(a.toLowerCase().trim())||c.value.toLowerCase().includes(a.toLowerCase().trim())||c.description.toLowerCase().includes(a.toLowerCase().trim()),onChange:s,sx:{width:"18rem"}})})},d8=f.forwardRef(({label:e,description:t,...n},r)=>i.jsx("div",{ref:r,...n,children:i.jsxs("div",{children:[i.jsx(Qe,{fontWeight:600,children:e}),i.jsx(Qe,{size:"xs",sx:{color:"base.600",_dark:{color:"base.500"}},children:t})]})}));d8.displayName="SelectItem";const Vie=()=>i.jsx(gd,{position:"top-left",children:i.jsx(Wie,{})}),Uie=f.memo(Vie),Gie=()=>i.jsx(W,{sx:{gap:2,flexDir:"column"},children:cs(p5,({title:e,description:t,color:n},r)=>i.jsx(vn,{label:t,children:i.jsx(gl,{colorScheme:n,sx:{userSelect:"none"},textAlign:"center",children:e})},r))}),qie=f.memo(Gie),Kie=()=>{const e=B(n=>n),t=tD(e);return i.jsx(Re,{as:"pre",sx:{fontFamily:"monospace",position:"absolute",top:2,right:2,opacity:.7,p:2,maxHeight:500,maxWidth:500,overflowY:"scroll",borderRadius:"base",bg:"base.200",_dark:{bg:"base.800"}},children:JSON.stringify(t,null,2)})},Xie=f.memo(Kie),Yie=()=>{const e=B(n=>n.nodes.shouldShowGraphOverlay),t=B(n=>n.nodes.shouldShowFieldTypeLegend);return i.jsxs(gd,{position:"top-right",children:[t&&i.jsx(qie,{}),e&&i.jsx(Xie,{})]})},Qie=f.memo(Yie),Jie={invocation:u8,progress_image:kie},Zie=()=>{const e=te(),t=B(p=>p.nodes.nodes),n=B(p=>p.nodes.edges),r=f.useCallback(p=>{e(nD(p))},[e]),o=f.useCallback(p=>{e(rD(p))},[e]),s=f.useCallback((p,h)=>{e(oD(h))},[e]),a=f.useCallback(p=>{e(sD(p))},[e]),c=f.useCallback(()=>{e(aD())},[e]),d=f.useCallback(p=>{e(iD(p)),p&&p.fitView()},[e]);return i.jsxs(lD,{nodeTypes:Jie,nodes:t,edges:n,onNodesChange:r,onEdgesChange:o,onConnectStart:s,onConnect:a,onConnectEnd:c,onInit:d,defaultEdgeOptions:{style:{strokeWidth:2}},children:[i.jsx(Uie,{}),i.jsx(Fie,{}),i.jsx(Qie,{}),i.jsx(Iie,{}),i.jsx(X9,{}),i.jsx(Oie,{})]})},ele=()=>i.jsx(Re,{layerStyle:"first",sx:{position:"relative",width:"full",height:"full",borderRadius:"base"},children:i.jsx(cD,{children:i.jsx(Zie,{})})}),tle=f.memo(ele),nle=()=>i.jsx(tle,{}),rle=f.memo(nle),ole=be(lt,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Je),sle=()=>{const{shouldUseSliders:e,activeLabel:t}=B(ole);return i.jsx(Mo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsx(W,{sx:{flexDirection:"column",gap:3},children:e?i.jsxs(i.Fragment,{children:[i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(yi,{}),i.jsx(wi,{}),i.jsx(Re,{pt:2,children:i.jsx(Ci,{})}),i.jsx(Mc,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(yi,{})]}),i.jsx(wi,{}),i.jsx(Re,{pt:2,children:i.jsx(Ci,{})}),i.jsx(Mc,{})]})})})},f8=f.memo(sle),p8=()=>i.jsxs(i.Fragment,{children:[i.jsx(NO,{}),i.jsx(Xd,{}),i.jsx(f8,{}),i.jsx($O,{}),i.jsx(qd,{}),i.jsx(sg,{})]}),h8=()=>i.jsxs(i.Fragment,{children:[i.jsx(ix,{}),i.jsx(Xd,{}),i.jsx(f8,{}),i.jsx(sx,{}),i.jsx(rx,{}),i.jsx(qd,{}),i.jsx(sg,{}),i.jsx(ax,{}),i.jsx(qO,{}),i.jsx(ox,{})]}),ale=()=>{const e=B(t=>t.generation.model);return i.jsxs(W,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(nx,{children:e&&e.base_model==="sdxl"?i.jsx(p8,{}):i.jsx(h8,{})}),i.jsx(UO,{})]})},ile=f.memo(ale);var G1={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Konva=void 0;var n=bw;Object.defineProperty(t,"Konva",{enumerable:!0,get:function(){return n.Konva}});const r=bw;e.exports=r.Konva})(G1,G1.exports);var lle=G1.exports;const md=bd(lle);var m8={exports:{}};/** + * @license React + * react-reconciler.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 cle=function(t){var n={},r=f,o=jp,s=Object.assign;function a(l){for(var u="https://reactjs.org/docs/error-decoder.html?invariant="+l,g=1;gZ||C[N]!==j[Z]){var ue=` +`+C[N].replace(" at new "," at ");return l.displayName&&ue.includes("")&&(ue=ue.replace("",l.displayName)),ue}while(1<=N&&0<=Z);break}}}finally{qt=!1,Error.prepareStackTrace=g}return(l=l?l.displayName||l.name:"")?Nt(l):""}var en=Object.prototype.hasOwnProperty,Ut=[],Be=-1;function yt(l){return{current:l}}function Mt(l){0>Be||(l.current=Ut[Be],Ut[Be]=null,Be--)}function Wt(l,u){Be++,Ut[Be]=l.current,l.current=u}var jn={},Gt=yt(jn),un=yt(!1),sn=jn;function Or(l,u){var g=l.type.contextTypes;if(!g)return jn;var x=l.stateNode;if(x&&x.__reactInternalMemoizedUnmaskedChildContext===u)return x.__reactInternalMemoizedMaskedChildContext;var C={},j;for(j in g)C[j]=u[j];return x&&(l=l.stateNode,l.__reactInternalMemoizedUnmaskedChildContext=u,l.__reactInternalMemoizedMaskedChildContext=C),C}function Jn(l){return l=l.childContextTypes,l!=null}function It(){Mt(un),Mt(Gt)}function In(l,u,g){if(Gt.current!==jn)throw Error(a(168));Wt(Gt,u),Wt(un,g)}function Rn(l,u,g){var x=l.stateNode;if(u=u.childContextTypes,typeof x.getChildContext!="function")return g;x=x.getChildContext();for(var C in x)if(!(C in u))throw Error(a(108,M(l)||"Unknown",C));return s({},g,x)}function Zn(l){return l=(l=l.stateNode)&&l.__reactInternalMemoizedMergedChildContext||jn,sn=Gt.current,Wt(Gt,l),Wt(un,un.current),!0}function mr(l,u,g){var x=l.stateNode;if(!x)throw Error(a(169));g?(l=Rn(l,u,sn),x.__reactInternalMemoizedMergedChildContext=l,Mt(un),Mt(Gt),Wt(Gt,l)):Mt(un),Wt(un,g)}var Tn=Math.clz32?Math.clz32:Sn,Nn=Math.log,dn=Math.LN2;function Sn(l){return l>>>=0,l===0?32:31-(Nn(l)/dn|0)|0}var En=64,bn=4194304;function yn(l){switch(l&-l){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 l&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return l&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return l}}function qe(l,u){var g=l.pendingLanes;if(g===0)return 0;var x=0,C=l.suspendedLanes,j=l.pingedLanes,N=g&268435455;if(N!==0){var Z=N&~C;Z!==0?x=yn(Z):(j&=N,j!==0&&(x=yn(j)))}else N=g&~C,N!==0?x=yn(N):j!==0&&(x=yn(j));if(x===0)return 0;if(u!==0&&u!==x&&!(u&C)&&(C=x&-x,j=u&-u,C>=j||C===16&&(j&4194240)!==0))return u;if(x&4&&(x|=g&16),u=l.entangledLanes,u!==0)for(l=l.entanglements,u&=x;0g;g++)u.push(l);return u}function mt(l,u,g){l.pendingLanes|=u,u!==536870912&&(l.suspendedLanes=0,l.pingedLanes=0),l=l.eventTimes,u=31-Tn(u),l[u]=g}function rt(l,u){var g=l.pendingLanes&~u;l.pendingLanes=u,l.suspendedLanes=0,l.pingedLanes=0,l.expiredLanes&=u,l.mutableReadLanes&=u,l.entangledLanes&=u,u=l.entanglements;var x=l.eventTimes;for(l=l.expirationTimes;0>=N,C-=N,To=1<<32-Tn(u)+C|g<Cn?(Br=Jt,Jt=null):Br=Jt.sibling;var kn=at(ce,Jt,ve[Cn],it);if(kn===null){Jt===null&&(Jt=Br);break}l&&Jt&&kn.alternate===null&&u(ce,Jt),ne=j(kn,ne,Cn),rn===null?At=kn:rn.sibling=kn,rn=kn,Jt=Br}if(Cn===ve.length)return g(ce,Jt),er&&Ai(ce,Cn),At;if(Jt===null){for(;CnCn?(Br=Jt,Jt=null):Br=Jt.sibling;var Za=at(ce,Jt,kn.value,it);if(Za===null){Jt===null&&(Jt=Br);break}l&&Jt&&Za.alternate===null&&u(ce,Jt),ne=j(Za,ne,Cn),rn===null?At=Za:rn.sibling=Za,rn=Za,Jt=Br}if(kn.done)return g(ce,Jt),er&&Ai(ce,Cn),At;if(Jt===null){for(;!kn.done;Cn++,kn=ve.next())kn=Qt(ce,kn.value,it),kn!==null&&(ne=j(kn,ne,Cn),rn===null?At=kn:rn.sibling=kn,rn=kn);return er&&Ai(ce,Cn),At}for(Jt=x(ce,Jt);!kn.done;Cn++,kn=ve.next())kn=Yn(Jt,ce,Cn,kn.value,it),kn!==null&&(l&&kn.alternate!==null&&Jt.delete(kn.key===null?Cn:kn.key),ne=j(kn,ne,Cn),rn===null?At=kn:rn.sibling=kn,rn=kn);return l&&Jt.forEach(function(uR){return u(ce,uR)}),er&&Ai(ce,Cn),At}function va(ce,ne,ve,it){if(typeof ve=="object"&&ve!==null&&ve.type===h&&ve.key===null&&(ve=ve.props.children),typeof ve=="object"&&ve!==null){switch(ve.$$typeof){case d:e:{for(var At=ve.key,rn=ne;rn!==null;){if(rn.key===At){if(At=ve.type,At===h){if(rn.tag===7){g(ce,rn.sibling),ne=C(rn,ve.props.children),ne.return=ce,ce=ne;break e}}else if(rn.elementType===At||typeof At=="object"&&At!==null&&At.$$typeof===P&&Ex(At)===rn.type){g(ce,rn.sibling),ne=C(rn,ve.props),ne.ref=Jc(ce,rn,ve),ne.return=ce,ce=ne;break e}g(ce,rn);break}else u(ce,rn);rn=rn.sibling}ve.type===h?(ne=Fi(ve.props.children,ce.mode,it,ve.key),ne.return=ce,ce=ne):(it=Df(ve.type,ve.key,ve.props,null,ce.mode,it),it.ref=Jc(ce,ne,ve),it.return=ce,ce=it)}return N(ce);case p:e:{for(rn=ve.key;ne!==null;){if(ne.key===rn)if(ne.tag===4&&ne.stateNode.containerInfo===ve.containerInfo&&ne.stateNode.implementation===ve.implementation){g(ce,ne.sibling),ne=C(ne,ve.children||[]),ne.return=ce,ce=ne;break e}else{g(ce,ne);break}else u(ce,ne);ne=ne.sibling}ne=m0(ve,ce.mode,it),ne.return=ce,ce=ne}return N(ce);case P:return rn=ve._init,va(ce,ne,rn(ve._payload),it)}if(q(ve))return Ln(ce,ne,ve,it);if(O(ve))return wo(ce,ne,ve,it);af(ce,ve)}return typeof ve=="string"&&ve!==""||typeof ve=="number"?(ve=""+ve,ne!==null&&ne.tag===6?(g(ce,ne.sibling),ne=C(ne,ve),ne.return=ce,ce=ne):(g(ce,ne),ne=h0(ve,ce.mode,it),ne.return=ce,ce=ne),N(ce)):g(ce,ne)}return va}var jl=Ox(!0),Rx=Ox(!1),Zc={},Go=yt(Zc),eu=yt(Zc),Il=yt(Zc);function Fs(l){if(l===Zc)throw Error(a(174));return l}function Ig(l,u){Wt(Il,u),Wt(eu,l),Wt(Go,Zc),l=T(u),Mt(Go),Wt(Go,l)}function El(){Mt(Go),Mt(eu),Mt(Il)}function Mx(l){var u=Fs(Il.current),g=Fs(Go.current);u=z(g,l.type,u),g!==u&&(Wt(eu,l),Wt(Go,u))}function Eg(l){eu.current===l&&(Mt(Go),Mt(eu))}var cr=yt(0);function lf(l){for(var u=l;u!==null;){if(u.tag===13){var g=u.memoizedState;if(g!==null&&(g=g.dehydrated,g===null||$r(g)||$s(g)))return u}else if(u.tag===19&&u.memoizedProps.revealOrder!==void 0){if(u.flags&128)return u}else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===l)break;for(;u.sibling===null;){if(u.return===null||u.return===l)return null;u=u.return}u.sibling.return=u.return,u=u.sibling}return null}var Og=[];function Rg(){for(var l=0;lg?g:4,l(!0);var x=Mg.transition;Mg.transition={};try{l(!1),u()}finally{Ie=g,Mg.transition=x}}function Yx(){return qo().memoizedState}function $8(l,u,g){var x=Ya(l);if(g={lane:x,action:g,hasEagerState:!1,eagerState:null,next:null},Qx(l))Jx(u,g);else if(g=wx(l,u,g,x),g!==null){var C=eo();Ko(g,l,x,C),Zx(g,u,x)}}function L8(l,u,g){var x=Ya(l),C={lane:x,action:g,hasEagerState:!1,eagerState:null,next:null};if(Qx(l))Jx(u,C);else{var j=l.alternate;if(l.lanes===0&&(j===null||j.lanes===0)&&(j=u.lastRenderedReducer,j!==null))try{var N=u.lastRenderedState,Z=j(N,g);if(C.hasEagerState=!0,C.eagerState=Z,fn(Z,N)){var ue=u.interleaved;ue===null?(C.next=C,kg(u)):(C.next=ue.next,ue.next=C),u.interleaved=C;return}}catch{}finally{}g=wx(l,u,C,x),g!==null&&(C=eo(),Ko(g,l,x,C),Zx(g,u,x))}}function Qx(l){var u=l.alternate;return l===ur||u!==null&&u===ur}function Jx(l,u){tu=uf=!0;var g=l.pending;g===null?u.next=u:(u.next=g.next,g.next=u),l.pending=u}function Zx(l,u,g){if(g&4194240){var x=u.lanes;x&=l.pendingLanes,g|=x,u.lanes=g,Oe(l,g)}}var pf={readContext:Uo,useCallback:Qr,useContext:Qr,useEffect:Qr,useImperativeHandle:Qr,useInsertionEffect:Qr,useLayoutEffect:Qr,useMemo:Qr,useReducer:Qr,useRef:Qr,useState:Qr,useDebugValue:Qr,useDeferredValue:Qr,useTransition:Qr,useMutableSource:Qr,useSyncExternalStore:Qr,useId:Qr,unstable_isNewReconciler:!1},z8={readContext:Uo,useCallback:function(l,u){return Hs().memoizedState=[l,u===void 0?null:u],l},useContext:Uo,useEffect:Hx,useImperativeHandle:function(l,u,g){return g=g!=null?g.concat([l]):null,df(4194308,4,Ux.bind(null,u,l),g)},useLayoutEffect:function(l,u){return df(4194308,4,l,u)},useInsertionEffect:function(l,u){return df(4,2,l,u)},useMemo:function(l,u){var g=Hs();return u=u===void 0?null:u,l=l(),g.memoizedState=[l,u],l},useReducer:function(l,u,g){var x=Hs();return u=g!==void 0?g(u):u,x.memoizedState=x.baseState=u,l={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:u},x.queue=l,l=l.dispatch=$8.bind(null,ur,l),[x.memoizedState,l]},useRef:function(l){var u=Hs();return l={current:l},u.memoizedState=l},useState:Bx,useDebugValue:zg,useDeferredValue:function(l){return Hs().memoizedState=l},useTransition:function(){var l=Bx(!1),u=l[0];return l=N8.bind(null,l[1]),Hs().memoizedState=l,[u,l]},useMutableSource:function(){},useSyncExternalStore:function(l,u,g){var x=ur,C=Hs();if(er){if(g===void 0)throw Error(a(407));g=g()}else{if(g=u(),zr===null)throw Error(a(349));Ni&30||Tx(x,u,g)}C.memoizedState=g;var j={value:g,getSnapshot:u};return C.queue=j,Hx($x.bind(null,x,j,l),[l]),x.flags|=2048,ou(9,Nx.bind(null,x,j,g,u),void 0,null),g},useId:function(){var l=Hs(),u=zr.identifierPrefix;if(er){var g=Yr,x=To;g=(x&~(1<<32-Tn(x)-1)).toString(32)+g,u=":"+u+"R"+g,g=nu++,0a0&&(u.flags|=128,x=!0,iu(C,!1),u.lanes=4194304)}else{if(!x)if(l=lf(j),l!==null){if(u.flags|=128,x=!0,l=l.updateQueue,l!==null&&(u.updateQueue=l,u.flags|=4),iu(C,!0),C.tail===null&&C.tailMode==="hidden"&&!j.alternate&&!er)return Jr(u),null}else 2*Ve()-C.renderingStartTime>a0&&g!==1073741824&&(u.flags|=128,x=!0,iu(C,!1),u.lanes=4194304);C.isBackwards?(j.sibling=u.child,u.child=j):(l=C.last,l!==null?l.sibling=j:u.child=j,C.last=j)}return C.tail!==null?(u=C.tail,C.rendering=u,C.tail=u.sibling,C.renderingStartTime=Ve(),u.sibling=null,l=cr.current,Wt(cr,x?l&1|2:l&1),u):(Jr(u),null);case 22:case 23:return d0(),g=u.memoizedState!==null,l!==null&&l.memoizedState!==null!==g&&(u.flags|=8192),g&&u.mode&1?$o&1073741824&&(Jr(u),le&&u.subtreeFlags&6&&(u.flags|=8192)):Jr(u),null;case 24:return null;case 25:return null}throw Error(a(156,u.tag))}function q8(l,u){switch(gg(u),u.tag){case 1:return Jn(u.type)&&It(),l=u.flags,l&65536?(u.flags=l&-65537|128,u):null;case 3:return El(),Mt(un),Mt(Gt),Rg(),l=u.flags,l&65536&&!(l&128)?(u.flags=l&-65537|128,u):null;case 5:return Eg(u),null;case 13:if(Mt(cr),l=u.memoizedState,l!==null&&l.dehydrated!==null){if(u.alternate===null)throw Error(a(340));kl()}return l=u.flags,l&65536?(u.flags=l&-65537|128,u):null;case 19:return Mt(cr),null;case 4:return El(),null;case 10:return Sg(u.type._context),null;case 22:case 23:return d0(),null;case 24:return null;default:return null}}var bf=!1,Zr=!1,K8=typeof WeakSet=="function"?WeakSet:Set,pt=null;function Rl(l,u){var g=l.ref;if(g!==null)if(typeof g=="function")try{g(null)}catch(x){tr(l,u,x)}else g.current=null}function Kg(l,u,g){try{g()}catch(x){tr(l,u,x)}}var b2=!1;function X8(l,u){for($(l.containerInfo),pt=u;pt!==null;)if(l=pt,u=l.child,(l.subtreeFlags&1028)!==0&&u!==null)u.return=l,pt=u;else for(;pt!==null;){l=pt;try{var g=l.alternate;if(l.flags&1024)switch(l.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var x=g.memoizedProps,C=g.memoizedState,j=l.stateNode,N=j.getSnapshotBeforeUpdate(l.elementType===l.type?x:hs(l.type,x),C);j.__reactInternalSnapshotBeforeUpdate=N}break;case 3:le&&ln(l.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(a(163))}}catch(Z){tr(l,l.return,Z)}if(u=l.sibling,u!==null){u.return=l.return,pt=u;break}pt=l.return}return g=b2,b2=!1,g}function lu(l,u,g){var x=u.updateQueue;if(x=x!==null?x.lastEffect:null,x!==null){var C=x=x.next;do{if((C.tag&l)===l){var j=C.destroy;C.destroy=void 0,j!==void 0&&Kg(u,g,j)}C=C.next}while(C!==x)}}function yf(l,u){if(u=u.updateQueue,u=u!==null?u.lastEffect:null,u!==null){var g=u=u.next;do{if((g.tag&l)===l){var x=g.create;g.destroy=x()}g=g.next}while(g!==u)}}function Xg(l){var u=l.ref;if(u!==null){var g=l.stateNode;switch(l.tag){case 5:l=G(g);break;default:l=g}typeof u=="function"?u(l):u.current=l}}function y2(l){var u=l.alternate;u!==null&&(l.alternate=null,y2(u)),l.child=null,l.deletions=null,l.sibling=null,l.tag===5&&(u=l.stateNode,u!==null&&Ee(u)),l.stateNode=null,l.return=null,l.dependencies=null,l.memoizedProps=null,l.memoizedState=null,l.pendingProps=null,l.stateNode=null,l.updateQueue=null}function x2(l){return l.tag===5||l.tag===3||l.tag===4}function w2(l){e:for(;;){for(;l.sibling===null;){if(l.return===null||x2(l.return))return null;l=l.return}for(l.sibling.return=l.return,l=l.sibling;l.tag!==5&&l.tag!==6&&l.tag!==18;){if(l.flags&2||l.child===null||l.tag===4)continue e;l.child.return=l,l=l.child}if(!(l.flags&2))return l.stateNode}}function Yg(l,u,g){var x=l.tag;if(x===5||x===6)l=l.stateNode,u?Pn(g,l,u):ht(g,l);else if(x!==4&&(l=l.child,l!==null))for(Yg(l,u,g),l=l.sibling;l!==null;)Yg(l,u,g),l=l.sibling}function Qg(l,u,g){var x=l.tag;if(x===5||x===6)l=l.stateNode,u?Ge(g,l,u):we(g,l);else if(x!==4&&(l=l.child,l!==null))for(Qg(l,u,g),l=l.sibling;l!==null;)Qg(l,u,g),l=l.sibling}var Gr=null,ms=!1;function Vs(l,u,g){for(g=g.child;g!==null;)Jg(l,u,g),g=g.sibling}function Jg(l,u,g){if(gn&&typeof gn.onCommitFiberUnmount=="function")try{gn.onCommitFiberUnmount(Xn,g)}catch{}switch(g.tag){case 5:Zr||Rl(g,u);case 6:if(le){var x=Gr,C=ms;Gr=null,Vs(l,u,g),Gr=x,ms=C,Gr!==null&&(ms?Ye(Gr,g.stateNode):Pe(Gr,g.stateNode))}else Vs(l,u,g);break;case 18:le&&Gr!==null&&(ms?He(Gr,g.stateNode):xt(Gr,g.stateNode));break;case 4:le?(x=Gr,C=ms,Gr=g.stateNode.containerInfo,ms=!0,Vs(l,u,g),Gr=x,ms=C):(ge&&(x=g.stateNode.containerInfo,C=xr(x),Wn(x,C)),Vs(l,u,g));break;case 0:case 11:case 14:case 15:if(!Zr&&(x=g.updateQueue,x!==null&&(x=x.lastEffect,x!==null))){C=x=x.next;do{var j=C,N=j.destroy;j=j.tag,N!==void 0&&(j&2||j&4)&&Kg(g,u,N),C=C.next}while(C!==x)}Vs(l,u,g);break;case 1:if(!Zr&&(Rl(g,u),x=g.stateNode,typeof x.componentWillUnmount=="function"))try{x.props=g.memoizedProps,x.state=g.memoizedState,x.componentWillUnmount()}catch(Z){tr(g,u,Z)}Vs(l,u,g);break;case 21:Vs(l,u,g);break;case 22:g.mode&1?(Zr=(x=Zr)||g.memoizedState!==null,Vs(l,u,g),Zr=x):Vs(l,u,g);break;default:Vs(l,u,g)}}function S2(l){var u=l.updateQueue;if(u!==null){l.updateQueue=null;var g=l.stateNode;g===null&&(g=l.stateNode=new K8),u.forEach(function(x){var C=oR.bind(null,l,x);g.has(x)||(g.add(x),x.then(C,C))})}}function gs(l,u){var g=u.deletions;if(g!==null)for(var x=0;x";case wf:return":has("+(t0(l)||"")+")";case Sf:return'[role="'+l.value+'"]';case kf:return'"'+l.value+'"';case Cf:return'[data-testname="'+l.value+'"]';default:throw Error(a(365))}}function I2(l,u){var g=[];l=[l,0];for(var x=0;xC&&(C=N),x&=~j}if(x=C,x=Ve()-x,x=(120>x?120:480>x?480:1080>x?1080:1920>x?1920:3e3>x?3e3:4320>x?4320:1960*Q8(x/1960))-x,10l?16:l,Xa===null)var x=!1;else{if(l=Xa,Xa=null,Ef=0,an&6)throw Error(a(331));var C=an;for(an|=4,pt=l.current;pt!==null;){var j=pt,N=j.child;if(pt.flags&16){var Z=j.deletions;if(Z!==null){for(var ue=0;ueVe()-s0?Li(l,0):o0|=g),xo(l,u)}function $2(l,u){u===0&&(l.mode&1?(u=bn,bn<<=1,!(bn&130023424)&&(bn=4194304)):u=1);var g=eo();l=Bs(l,u),l!==null&&(mt(l,u,g),xo(l,g))}function rR(l){var u=l.memoizedState,g=0;u!==null&&(g=u.retryLane),$2(l,g)}function oR(l,u){var g=0;switch(l.tag){case 13:var x=l.stateNode,C=l.memoizedState;C!==null&&(g=C.retryLane);break;case 19:x=l.stateNode;break;default:throw Error(a(314))}x!==null&&x.delete(u),$2(l,g)}var L2;L2=function(l,u,g){if(l!==null)if(l.memoizedProps!==u.pendingProps||un.current)bo=!0;else{if(!(l.lanes&g)&&!(u.flags&128))return bo=!1,U8(l,u,g);bo=!!(l.flags&131072)}else bo=!1,er&&u.flags&1048576&&mx(u,io,u.index);switch(u.lanes=0,u.tag){case 2:var x=u.type;mf(l,u),l=u.pendingProps;var C=Or(u,Gt.current);Pl(u,g),C=Ag(null,u,x,l,C,g);var j=Tg();return u.flags|=1,typeof C=="object"&&C!==null&&typeof C.render=="function"&&C.$$typeof===void 0?(u.tag=1,u.memoizedState=null,u.updateQueue=null,Jn(x)?(j=!0,Zn(u)):j=!1,u.memoizedState=C.state!==null&&C.state!==void 0?C.state:null,_g(u),C.updater=sf,u.stateNode=C,C._reactInternals=u,jg(u,x,l,g),u=Wg(null,u,x,!0,j,g)):(u.tag=0,er&&j&&mg(u),uo(null,u,C,g),u=u.child),u;case 16:x=u.elementType;e:{switch(mf(l,u),l=u.pendingProps,C=x._init,x=C(x._payload),u.type=x,C=u.tag=aR(x),l=hs(x,l),C){case 0:u=Hg(null,u,x,l,g);break e;case 1:u=u2(null,u,x,l,g);break e;case 11:u=s2(null,u,x,l,g);break e;case 14:u=a2(null,u,x,hs(x.type,l),g);break e}throw Error(a(306,x,""))}return u;case 0:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:hs(x,C),Hg(l,u,x,C,g);case 1:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:hs(x,C),u2(l,u,x,C,g);case 3:e:{if(d2(u),l===null)throw Error(a(387));x=u.pendingProps,j=u.memoizedState,C=j.element,Sx(l,u),of(u,x,null,g);var N=u.memoizedState;if(x=N.element,ke&&j.isDehydrated)if(j={element:x,isDehydrated:!1,cache:N.cache,pendingSuspenseBoundaries:N.pendingSuspenseBoundaries,transitions:N.transitions},u.updateQueue.baseState=j,u.memoizedState=j,u.flags&256){C=Ol(Error(a(423)),u),u=f2(l,u,x,g,C);break e}else if(x!==C){C=Ol(Error(a(424)),u),u=f2(l,u,x,g,C);break e}else for(ke&&(Vo=ee(u.stateNode.containerInfo),No=u,er=!0,ps=null,Qc=!1),g=Rx(u,null,x,g),u.child=g;g;)g.flags=g.flags&-3|4096,g=g.sibling;else{if(kl(),x===C){u=ma(l,u,g);break e}uo(l,u,x,g)}u=u.child}return u;case 5:return Mx(u),l===null&&bg(u),x=u.type,C=u.pendingProps,j=l!==null?l.memoizedProps:null,N=C.children,K(x,C)?N=null:j!==null&&K(x,j)&&(u.flags|=32),c2(l,u),uo(l,u,N,g),u.child;case 6:return l===null&&bg(u),null;case 13:return p2(l,u,g);case 4:return Ig(u,u.stateNode.containerInfo),x=u.pendingProps,l===null?u.child=jl(u,null,x,g):uo(l,u,x,g),u.child;case 11:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:hs(x,C),s2(l,u,x,C,g);case 7:return uo(l,u,u.pendingProps,g),u.child;case 8:return uo(l,u,u.pendingProps.children,g),u.child;case 12:return uo(l,u,u.pendingProps.children,g),u.child;case 10:e:{if(x=u.type._context,C=u.pendingProps,j=u.memoizedProps,N=C.value,xx(u,x,N),j!==null)if(fn(j.value,N)){if(j.children===C.children&&!un.current){u=ma(l,u,g);break e}}else for(j=u.child,j!==null&&(j.return=u);j!==null;){var Z=j.dependencies;if(Z!==null){N=j.child;for(var ue=Z.firstContext;ue!==null;){if(ue.context===x){if(j.tag===1){ue=ha(-1,g&-g),ue.tag=2;var Ne=j.updateQueue;if(Ne!==null){Ne=Ne.shared;var gt=Ne.pending;gt===null?ue.next=ue:(ue.next=gt.next,gt.next=ue),Ne.pending=ue}}j.lanes|=g,ue=j.alternate,ue!==null&&(ue.lanes|=g),Cg(j.return,g,u),Z.lanes|=g;break}ue=ue.next}}else if(j.tag===10)N=j.type===u.type?null:j.child;else if(j.tag===18){if(N=j.return,N===null)throw Error(a(341));N.lanes|=g,Z=N.alternate,Z!==null&&(Z.lanes|=g),Cg(N,g,u),N=j.sibling}else N=j.child;if(N!==null)N.return=j;else for(N=j;N!==null;){if(N===u){N=null;break}if(j=N.sibling,j!==null){j.return=N.return,N=j;break}N=N.return}j=N}uo(l,u,C.children,g),u=u.child}return u;case 9:return C=u.type,x=u.pendingProps.children,Pl(u,g),C=Uo(C),x=x(C),u.flags|=1,uo(l,u,x,g),u.child;case 14:return x=u.type,C=hs(x,u.pendingProps),C=hs(x.type,C),a2(l,u,x,C,g);case 15:return i2(l,u,u.type,u.pendingProps,g);case 17:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:hs(x,C),mf(l,u),u.tag=1,Jn(x)?(l=!0,Zn(u)):l=!1,Pl(u,g),jx(u,x,C),jg(u,x,C,g),Wg(null,u,x,!0,l,g);case 19:return m2(l,u,g);case 22:return l2(l,u,g)}throw Error(a(156,u.tag))};function z2(l,u){return We(l,u)}function sR(l,u,g,x){this.tag=l,this.key=g,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=u,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=x,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Xo(l,u,g,x){return new sR(l,u,g,x)}function p0(l){return l=l.prototype,!(!l||!l.isReactComponent)}function aR(l){if(typeof l=="function")return p0(l)?1:0;if(l!=null){if(l=l.$$typeof,l===y)return 11;if(l===_)return 14}return 2}function Ja(l,u){var g=l.alternate;return g===null?(g=Xo(l.tag,u,l.key,l.mode),g.elementType=l.elementType,g.type=l.type,g.stateNode=l.stateNode,g.alternate=l,l.alternate=g):(g.pendingProps=u,g.type=l.type,g.flags=0,g.subtreeFlags=0,g.deletions=null),g.flags=l.flags&14680064,g.childLanes=l.childLanes,g.lanes=l.lanes,g.child=l.child,g.memoizedProps=l.memoizedProps,g.memoizedState=l.memoizedState,g.updateQueue=l.updateQueue,u=l.dependencies,g.dependencies=u===null?null:{lanes:u.lanes,firstContext:u.firstContext},g.sibling=l.sibling,g.index=l.index,g.ref=l.ref,g}function Df(l,u,g,x,C,j){var N=2;if(x=l,typeof l=="function")p0(l)&&(N=1);else if(typeof l=="string")N=5;else e:switch(l){case h:return Fi(g.children,C,j,u);case m:N=8,C|=8;break;case v:return l=Xo(12,g,u,C|2),l.elementType=v,l.lanes=j,l;case S:return l=Xo(13,g,u,C),l.elementType=S,l.lanes=j,l;case k:return l=Xo(19,g,u,C),l.elementType=k,l.lanes=j,l;case I:return Af(g,C,j,u);default:if(typeof l=="object"&&l!==null)switch(l.$$typeof){case b:N=10;break e;case w:N=9;break e;case y:N=11;break e;case _:N=14;break e;case P:N=16,x=null;break e}throw Error(a(130,l==null?l:typeof l,""))}return u=Xo(N,g,u,C),u.elementType=l,u.type=x,u.lanes=j,u}function Fi(l,u,g,x){return l=Xo(7,l,x,u),l.lanes=g,l}function Af(l,u,g,x){return l=Xo(22,l,x,u),l.elementType=I,l.lanes=g,l.stateNode={isHidden:!1},l}function h0(l,u,g){return l=Xo(6,l,null,u),l.lanes=g,l}function m0(l,u,g){return u=Xo(4,l.children!==null?l.children:[],l.key,u),u.lanes=g,u.stateNode={containerInfo:l.containerInfo,pendingChildren:null,implementation:l.implementation},u}function iR(l,u,g,x,C){this.tag=u,this.containerInfo=l,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=oe,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Bt(0),this.expirationTimes=Bt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Bt(0),this.identifierPrefix=x,this.onRecoverableError=C,ke&&(this.mutableSourceEagerHydrationData=null)}function B2(l,u,g,x,C,j,N,Z,ue){return l=new iR(l,u,g,Z,ue),u===1?(u=1,j===!0&&(u|=8)):u=0,j=Xo(3,null,null,u),l.current=j,j.stateNode=l,j.memoizedState={element:x,isDehydrated:g,cache:null,transitions:null,pendingSuspenseBoundaries:null},_g(j),l}function F2(l){if(!l)return jn;l=l._reactInternals;e:{if(D(l)!==l||l.tag!==1)throw Error(a(170));var u=l;do{switch(u.tag){case 3:u=u.stateNode.context;break e;case 1:if(Jn(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break e}}u=u.return}while(u!==null);throw Error(a(171))}if(l.tag===1){var g=l.type;if(Jn(g))return Rn(l,g,u)}return u}function H2(l){var u=l._reactInternals;if(u===void 0)throw typeof l.render=="function"?Error(a(188)):(l=Object.keys(l).join(","),Error(a(268,l)));return l=Q(u),l===null?null:l.stateNode}function W2(l,u){if(l=l.memoizedState,l!==null&&l.dehydrated!==null){var g=l.retryLane;l.retryLane=g!==0&&g=Ne&&j>=Qt&&C<=gt&&N<=at){l.splice(u,1);break}else if(x!==Ne||g.width!==ue.width||atN){if(!(j!==Qt||g.height!==ue.height||gtC)){Ne>x&&(ue.width+=Ne-x,ue.x=x),gtj&&(ue.height+=Qt-j,ue.y=j),atg&&(g=N)),N ")+` + +No matching component was found for: + `)+l.join(" > ")}return null},n.getPublicRootInstance=function(l){if(l=l.current,!l.child)return null;switch(l.child.tag){case 5:return G(l.child.stateNode);default:return l.child.stateNode}},n.injectIntoDevTools=function(l){if(l={bundleType:l.bundleType,version:l.version,rendererPackageName:l.rendererPackageName,rendererConfig:l.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:c.ReactCurrentDispatcher,findHostInstanceByFiber:lR,findFiberByHostInstance:l.findFiberByHostInstance||cR,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")l=!1;else{var u=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(u.isDisabled||!u.supportsFiber)l=!0;else{try{Xn=u.inject(l),gn=u}catch{}l=!!u.checkDCE}}return l},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(l,u,g,x){if(!ct)throw Error(a(363));l=n0(l,u);var C=Tt(l,g,x).disconnect;return{disconnect:function(){C()}}},n.registerMutableSourceForHydration=function(l,u){var g=u._getVersion;g=g(u._source),l.mutableSourceEagerHydrationData==null?l.mutableSourceEagerHydrationData=[u,g]:l.mutableSourceEagerHydrationData.push(u,g)},n.runWithPriority=function(l,u){var g=Ie;try{return Ie=l,u()}finally{Ie=g}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(l,u,g,x){var C=u.current,j=eo(),N=Ya(C);return g=F2(g),u.context===null?u.context=g:u.pendingContext=g,u=ha(j,N),u.payload={element:l},x=x===void 0?null:x,x!==null&&(u.callback=x),l=qa(C,u,N),l!==null&&(Ko(l,C,N,j),rf(l,C,N)),N},n};m8.exports=cle;var ule=m8.exports;const dle=bd(ule);var g8={exports:{}},Cl={};/** + * @license React + * react-reconciler-constants.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. + */Cl.ConcurrentRoot=1;Cl.ContinuousEventPriority=4;Cl.DefaultEventPriority=16;Cl.DiscreteEventPriority=1;Cl.IdleEventPriority=536870912;Cl.LegacyRoot=0;g8.exports=Cl;var v8=g8.exports;const h_={children:!0,ref:!0,key:!0,style:!0,forwardedRef:!0,unstable_applyCache:!0,unstable_applyDrawHitFromCache:!0};let m_=!1,g_=!1;const fx=".react-konva-event",fle=`ReactKonva: You have a Konva node with draggable = true and position defined but no onDragMove or onDragEnd events are handled. +Position of a node will be changed during drag&drop, so you should update state of the react app as well. +Consider to add onDragMove or onDragEnd events. +For more info see: https://github.com/konvajs/react-konva/issues/256 +`,ple=`ReactKonva: You are using "zIndex" attribute for a Konva node. +react-konva may get confused with ordering. Just define correct order of elements in your render function of a component. +For more info see: https://github.com/konvajs/react-konva/issues/194 +`,hle={};function hg(e,t,n=hle){if(!m_&&"zIndex"in t&&(console.warn(ple),m_=!0),!g_&&t.draggable){var r=t.x!==void 0||t.y!==void 0,o=t.onDragEnd||t.onDragMove;r&&!o&&(console.warn(fle),g_=!0)}for(var s in n)if(!h_[s]){var a=s.slice(0,2)==="on",c=n[s]!==t[s];if(a&&c){var d=s.substr(2).toLowerCase();d.substr(0,7)==="content"&&(d="content"+d.substr(7,1).toUpperCase()+d.substr(8)),e.off(d,n[s])}var p=!t.hasOwnProperty(s);p&&e.setAttr(s,void 0)}var h=t._useStrictMode,m={},v=!1;const b={};for(var s in t)if(!h_[s]){var a=s.slice(0,2)==="on",w=n[s]!==t[s];if(a&&w){var d=s.substr(2).toLowerCase();d.substr(0,7)==="content"&&(d="content"+d.substr(7,1).toUpperCase()+d.substr(8)),t[s]&&(b[d]=t[s])}!a&&(t[s]!==n[s]||h&&t[s]!==e.getAttr(s))&&(v=!0,m[s]=t[s])}v&&(e.setAttrs(m),Di(e));for(var d in b)e.on(d+fx,b[d])}function Di(e){if(!uD.Konva.autoDrawEnabled){var t=e.getLayer()||e.getStage();t&&t.batchDraw()}}const b8={},mle={};md.Node.prototype._applyProps=hg;function gle(e,t){if(typeof t=="string"){console.error(`Do not use plain text as child of Konva.Node. You are using text: ${t}`);return}e.add(t),Di(e)}function vle(e,t,n){let r=md[e];r||(console.error(`Konva has no node with the type ${e}. Group will be used instead. If you use minimal version of react-konva, just import required nodes into Konva: "import "konva/lib/shapes/${e}" If you want to render DOM elements as part of canvas tree take a look into this demo: https://konvajs.github.io/docs/react/DOM_Portal.html`),r=md.Group);const o={},s={};for(var a in t){var c=a.slice(0,2)==="on";c?s[a]=t[a]:o[a]=t[a]}const d=new r(o);return hg(d,s),d}function ble(e,t,n){console.error(`Text components are not supported for now in ReactKonva. Your text is: "${e}"`)}function yle(e,t,n){return!1}function xle(e){return e}function wle(){return null}function Sle(){return null}function Cle(e,t,n,r){return mle}function kle(){}function _le(e){}function Ple(e,t){return!1}function jle(){return b8}function Ile(){return b8}const Ele=setTimeout,Ole=clearTimeout,Rle=-1;function Mle(e,t){return!1}const Dle=!1,Ale=!0,Tle=!0;function Nle(e,t){t.parent===e?t.moveToTop():e.add(t),Di(e)}function $le(e,t){t.parent===e?t.moveToTop():e.add(t),Di(e)}function y8(e,t,n){t._remove(),e.add(t),t.setZIndex(n.getZIndex()),Di(e)}function Lle(e,t,n){y8(e,t,n)}function zle(e,t){t.destroy(),t.off(fx),Di(e)}function Ble(e,t){t.destroy(),t.off(fx),Di(e)}function Fle(e,t,n){console.error(`Text components are not yet supported in ReactKonva. You text is: "${n}"`)}function Hle(e,t,n){}function Wle(e,t,n,r,o){hg(e,o,r)}function Vle(e){e.hide(),Di(e)}function Ule(e){}function Gle(e,t){(t.visible==null||t.visible)&&e.show()}function qle(e,t){}function Kle(e){}function Xle(){}const Yle=()=>v8.DefaultEventPriority,Qle=Object.freeze(Object.defineProperty({__proto__:null,appendChild:Nle,appendChildToContainer:$le,appendInitialChild:gle,cancelTimeout:Ole,clearContainer:Kle,commitMount:Hle,commitTextUpdate:Fle,commitUpdate:Wle,createInstance:vle,createTextInstance:ble,detachDeletedInstance:Xle,finalizeInitialChildren:yle,getChildHostContext:Ile,getCurrentEventPriority:Yle,getPublicInstance:xle,getRootHostContext:jle,hideInstance:Vle,hideTextInstance:Ule,idlePriority:jp.unstable_IdlePriority,insertBefore:y8,insertInContainerBefore:Lle,isPrimaryRenderer:Dle,noTimeout:Rle,now:jp.unstable_now,prepareForCommit:wle,preparePortalMount:Sle,prepareUpdate:Cle,removeChild:zle,removeChildFromContainer:Ble,resetAfterCommit:kle,resetTextContent:_le,run:jp.unstable_runWithPriority,scheduleTimeout:Ele,shouldDeprioritizeSubtree:Ple,shouldSetTextContent:Mle,supportsMutation:Tle,unhideInstance:Gle,unhideTextInstance:qle,warnsIfNotActing:Ale},Symbol.toStringTag,{value:"Module"}));var Jle=Object.defineProperty,Zle=Object.defineProperties,ece=Object.getOwnPropertyDescriptors,v_=Object.getOwnPropertySymbols,tce=Object.prototype.hasOwnProperty,nce=Object.prototype.propertyIsEnumerable,b_=(e,t,n)=>t in e?Jle(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,y_=(e,t)=>{for(var n in t||(t={}))tce.call(t,n)&&b_(e,n,t[n]);if(v_)for(var n of v_(t))nce.call(t,n)&&b_(e,n,t[n]);return e},rce=(e,t)=>Zle(e,ece(t));function x8(e,t,n){if(!e)return;if(n(e)===!0)return e;let r=t?e.return:e.child;for(;r;){const o=x8(r,t,n);if(o)return o;r=t?null:r.sibling}}function w8(e){try{return Object.defineProperties(e,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return e}}const px=w8(f.createContext(null));class S8 extends f.Component{render(){return f.createElement(px.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:x_,ReactCurrentDispatcher:w_}=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function oce(){const e=f.useContext(px);if(e===null)throw new Error("its-fine: useFiber must be called within a !");const t=f.useId();return f.useMemo(()=>{for(const r of[x_==null?void 0:x_.current,e,e==null?void 0:e.alternate]){if(!r)continue;const o=x8(r,!1,s=>{let a=s.memoizedState;for(;a;){if(a.memoizedState===t)return!0;a=a.next}});if(o)return o}},[e,t])}function sce(){var e,t;const n=oce(),[r]=f.useState(()=>new Map);r.clear();let o=n;for(;o;){const s=(e=o.type)==null?void 0:e._context;s&&s!==px&&!r.has(s)&&r.set(s,(t=w_==null?void 0:w_.current)==null?void 0:t.readContext(w8(s))),o=o.return}return r}function ace(){const e=sce();return f.useMemo(()=>Array.from(e.keys()).reduce((t,n)=>r=>f.createElement(t,null,f.createElement(n.Provider,rce(y_({},r),{value:e.get(n)}))),t=>f.createElement(S8,y_({},t))),[e])}function ice(e){const t=H.useRef({});return H.useLayoutEffect(()=>{t.current=e}),H.useLayoutEffect(()=>()=>{t.current={}},[]),t.current}const lce=e=>{const t=H.useRef(),n=H.useRef(),r=H.useRef(),o=ice(e),s=ace(),a=c=>{const{forwardedRef:d}=e;d&&(typeof d=="function"?d(c):d.current=c)};return H.useLayoutEffect(()=>(n.current=new md.Stage({width:e.width,height:e.height,container:t.current}),a(n.current),r.current=Nu.createContainer(n.current,v8.LegacyRoot,!1,null),Nu.updateContainer(H.createElement(s,{},e.children),r.current),()=>{md.isBrowser&&(a(null),Nu.updateContainer(null,r.current,null),n.current.destroy())}),[]),H.useLayoutEffect(()=>{a(n.current),hg(n.current,e,o),Nu.updateContainer(H.createElement(s,{},e.children),r.current,null)}),H.createElement("div",{ref:t,id:e.id,accessKey:e.accessKey,className:e.className,role:e.role,style:e.style,tabIndex:e.tabIndex,title:e.title})},Pu="Layer",La="Group",aa="Rect",Hi="Circle",am="Line",C8="Image",cce="Transformer",Nu=dle(Qle);Nu.injectIntoDevTools({findHostInstanceByFiber:()=>null,bundleType:0,version:H.version,rendererPackageName:"react-konva"});const uce=H.forwardRef((e,t)=>H.createElement(S8,{},H.createElement(lce,{...e,forwardedRef:t}))),dce=be([mn,ir],(e,t)=>{const{tool:n,isMovingBoundingBox:r}=e;return{tool:n,isStaging:t,isMovingBoundingBox:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),fce=()=>{const e=te(),{tool:t,isStaging:n,isMovingBoundingBox:r}=B(dce);return{handleDragStart:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Up(!0))},[e,r,n,t]),handleDragMove:f.useCallback(o=>{if(!((t==="move"||n)&&!r))return;const s={x:o.target.x(),y:o.target.y()};e(m5(s))},[e,r,n,t]),handleDragEnd:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Up(!1))},[e,r,n,t])}},pce=be([mn,Kn,ir],(e,t,n)=>{const{cursorPosition:r,shouldLockBoundingBox:o,shouldShowBoundingBox:s,tool:a,isMaskEnabled:c,shouldSnapToGrid:d}=e;return{activeTabName:t,isCursorOnCanvas:!!r,shouldLockBoundingBox:o,shouldShowBoundingBox:s,tool:a,isStaging:n,isMaskEnabled:c,shouldSnapToGrid:d}},{memoizeOptions:{resultEqualityCheck:Zt}}),hce=()=>{const e=te(),{activeTabName:t,shouldShowBoundingBox:n,tool:r,isStaging:o,isMaskEnabled:s,shouldSnapToGrid:a}=B(pce),c=f.useRef(null),d=g5(),p=()=>e(cb());tt(["shift+c"],()=>{p()},{enabled:()=>!o,preventDefault:!0},[]);const h=()=>e(Cd(!s));tt(["h"],()=>{h()},{enabled:()=>!o,preventDefault:!0},[s]),tt(["n"],()=>{e(Qu(!a))},{enabled:!0,preventDefault:!0},[a]),tt("esc",()=>{e(dD())},{enabled:()=>!0,preventDefault:!0}),tt("shift+h",()=>{e(fD(!n))},{enabled:()=>!o,preventDefault:!0},[t,n]),tt(["space"],m=>{m.repeat||(d==null||d.container().focus(),r!=="move"&&(c.current=r,e(ea("move"))),r==="move"&&c.current&&c.current!=="move"&&(e(ea(c.current)),c.current="move"))},{keyup:!0,keydown:!0,preventDefault:!0},[r,c])},hx=e=>{const t=e.getPointerPosition(),n=e.getAbsoluteTransform().copy();if(!t||!n)return;const r=n.invert().point(t);return{x:r.x,y:r.y}},k8=()=>{const e=te(),t=Oa(),n=g5();return{updateColorUnderCursor:()=>{if(!n||!t)return;const r=n.getPointerPosition();if(!r)return;const o=pD.pixelRatio,[s,a,c,d]=t.getContext().getImageData(r.x*o,r.y*o,1,1).data;d&&s&&a&&c&&e(hD({r:s,g:a,b:c,a:d}))},commitColorUnderCursor:()=>{e(mD())}}},mce=be([Kn,mn,ir],(e,t,n)=>{const{tool:r}=t;return{tool:r,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),gce=e=>{const t=te(),{tool:n,isStaging:r}=B(mce),{commitColorUnderCursor:o}=k8();return f.useCallback(s=>{if(!e.current)return;if(e.current.container().focus(),n==="move"||r){t(Up(!0));return}if(n==="colorPicker"){o();return}const a=hx(e.current);a&&(s.evt.preventDefault(),t(v5(!0)),t(gD([a.x,a.y])))},[e,n,r,t,o])},vce=be([Kn,mn,ir],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),bce=(e,t,n)=>{const r=te(),{isDrawing:o,tool:s,isStaging:a}=B(vce),{updateColorUnderCursor:c}=k8();return f.useCallback(()=>{if(!e.current)return;const d=hx(e.current);if(d){if(r(vD(d)),n.current=d,s==="colorPicker"){c();return}!o||s==="move"||a||(t.current=!0,r(b5([d.x,d.y])))}},[t,r,o,a,n,e,s,c])},yce=()=>{const e=te();return f.useCallback(()=>{e(bD())},[e])},xce=be([Kn,mn,ir],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),wce=(e,t)=>{const n=te(),{tool:r,isDrawing:o,isStaging:s}=B(xce);return f.useCallback(()=>{if(r==="move"||s){n(Up(!1));return}if(!t.current&&o&&e.current){const a=hx(e.current);if(!a)return;n(b5([a.x,a.y]))}else t.current=!1;n(v5(!1))},[t,n,o,s,e,r])},Sce=be([mn],e=>{const{isMoveStageKeyHeld:t,stageScale:n}=e;return{isMoveStageKeyHeld:t,stageScale:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),Cce=e=>{const t=te(),{isMoveStageKeyHeld:n,stageScale:r}=B(Sce);return f.useCallback(o=>{if(!e.current||n)return;o.evt.preventDefault();const s=e.current.getPointerPosition();if(!s)return;const a={x:(s.x-e.current.x())/r,y:(s.y-e.current.y())/r};let c=o.evt.deltaY;o.evt.ctrlKey&&(c=-c);const d=Es(r*wD**c,xD,yD),p={x:s.x-a.x*d,y:s.y-a.y*d};t(SD(d)),t(m5(p))},[e,n,r,t])},kce=be(mn,e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,stageDimensions:r,stageScale:o,shouldDarkenOutsideBoundingBox:s,stageCoordinates:a}=e;return{boundingBoxCoordinates:t,boundingBoxDimensions:n,shouldDarkenOutsideBoundingBox:s,stageCoordinates:a,stageDimensions:r,stageScale:o}},{memoizeOptions:{resultEqualityCheck:Zt}}),_ce=()=>{const{boundingBoxCoordinates:e,boundingBoxDimensions:t,shouldDarkenOutsideBoundingBox:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=B(kce);return i.jsxs(La,{children:[i.jsx(aa,{offsetX:r.x/s,offsetY:r.y/s,height:o.height/s,width:o.width/s,fill:"rgba(0,0,0,0.4)",listening:!1,visible:n}),i.jsx(aa,{x:e.x,y:e.y,width:t.width,height:t.height,fill:"rgb(255,255,255)",listening:!1,visible:n,globalCompositeOperation:"destination-out"})]})},Pce=be([mn],e=>{const{stageScale:t,stageCoordinates:n,stageDimensions:r}=e;return{stageScale:t,stageCoordinates:n,stageDimensions:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),jce=()=>{const{stageScale:e,stageCoordinates:t,stageDimensions:n}=B(Pce),{colorMode:r}=Ds(),[o,s]=f.useState([]),[a,c]=$c("colors",["base.800","base.200"]),d=f.useCallback(p=>p/e,[e]);return f.useLayoutEffect(()=>{const{width:p,height:h}=n,{x:m,y:v}=t,b={x1:0,y1:0,x2:p,y2:h,offset:{x:d(m),y:d(v)}},w={x:Math.ceil(d(m)/64)*64,y:Math.ceil(d(v)/64)*64},y={x1:-w.x,y1:-w.y,x2:d(p)-w.x+64,y2:d(h)-w.y+64},k={x1:Math.min(b.x1,y.x1),y1:Math.min(b.y1,y.y1),x2:Math.max(b.x2,y.x2),y2:Math.max(b.y2,y.y2)},_=k.x2-k.x1,P=k.y2-k.y1,I=Math.round(_/64)+1,E=Math.round(P/64)+1,O=Ew(0,I).map(M=>i.jsx(am,{x:k.x1+M*64,y:k.y1,points:[0,0,0,P],stroke:r==="dark"?a:c,strokeWidth:1},`x_${M}`)),R=Ew(0,E).map(M=>i.jsx(am,{x:k.x1,y:k.y1+M*64,points:[0,0,_,0],stroke:r==="dark"?a:c,strokeWidth:1},`y_${M}`));s(O.concat(R))},[e,t,n,d,r,a,c]),i.jsx(La,{children:o})},Ice=be([vo,mn],(e,t)=>{const{progressImage:n,sessionId:r}=e,{sessionId:o,boundingBox:s}=t.layerState.stagingArea;return{boundingBox:s,progressImage:r===o?n:void 0}},{memoizeOptions:{resultEqualityCheck:Zt}}),Ece=e=>{const{...t}=e,{progressImage:n,boundingBox:r}=B(Ice),[o,s]=f.useState(null);return f.useEffect(()=>{if(!n)return;const a=new Image;a.onload=()=>{s(a)},a.src=n.dataURL},[n]),n&&r&&o?i.jsx(C8,{x:r.x,y:r.y,width:r.width,height:r.height,image:o,listening:!1,...t}):null},rl=e=>{const{r:t,g:n,b:r,a:o}=e;return`rgba(${t}, ${n}, ${r}, ${o})`},Oce=be(mn,e=>{const{maskColor:t,stageCoordinates:n,stageDimensions:r,stageScale:o}=e;return{stageCoordinates:n,stageDimensions:r,stageScale:o,maskColorString:rl(t)}}),S_=e=>`data:image/svg+xml;utf8, + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +`.replaceAll("black",e),Rce=e=>{const{...t}=e,{maskColorString:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=B(Oce),[a,c]=f.useState(null),[d,p]=f.useState(0),h=f.useRef(null),m=f.useCallback(()=>{p(d+1),setTimeout(m,500)},[d]);return f.useEffect(()=>{if(a)return;const v=new Image;v.onload=()=>{c(v)},v.src=S_(n)},[a,n]),f.useEffect(()=>{a&&(a.src=S_(n))},[a,n]),f.useEffect(()=>{const v=setInterval(()=>p(b=>(b+1)%5),50);return()=>clearInterval(v)},[]),!a||!Tl(r.x)||!Tl(r.y)||!Tl(s)||!Tl(o.width)||!Tl(o.height)?null:i.jsx(aa,{ref:h,offsetX:r.x/s,offsetY:r.y/s,height:o.height/s,width:o.width/s,fillPatternImage:a,fillPatternOffsetY:Tl(d)?d:0,fillPatternRepeat:"repeat",fillPatternScale:{x:1/s,y:1/s},listening:!0,globalCompositeOperation:"source-in",...t})},Mce=be([mn],e=>({objects:e.layerState.objects}),{memoizeOptions:{resultEqualityCheck:Zt}}),Dce=e=>{const{...t}=e,{objects:n}=B(Mce);return i.jsx(La,{listening:!1,...t,children:n.filter(CD).map((r,o)=>i.jsx(am,{points:r.points,stroke:"rgb(0,0,0)",strokeWidth:r.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:r.tool==="brush"?"source-over":"destination-out"},o))})};var Wi=f,Ace=function(t,n,r){const o=Wi.useRef("loading"),s=Wi.useRef(),[a,c]=Wi.useState(0),d=Wi.useRef(),p=Wi.useRef(),h=Wi.useRef();return(d.current!==t||p.current!==n||h.current!==r)&&(o.current="loading",s.current=void 0,d.current=t,p.current=n,h.current=r),Wi.useLayoutEffect(function(){if(!t)return;var m=document.createElement("img");function v(){o.current="loaded",s.current=m,c(Math.random())}function b(){o.current="failed",s.current=void 0,c(Math.random())}return m.addEventListener("load",v),m.addEventListener("error",b),n&&(m.crossOrigin=n),r&&(m.referrerPolicy=r),m.src=t,function(){m.removeEventListener("load",v),m.removeEventListener("error",b)}},[t,n,r]),[s.current,o.current]};const Tce=bd(Ace),_8=e=>{const{width:t,height:n,x:r,y:o,imageName:s}=e.canvasImage,{currentData:a,isError:c}=Is(s??ro.skipToken),[d]=Tce((a==null?void 0:a.image_url)??"",kD.get()?"use-credentials":"anonymous");return c?i.jsx(aa,{x:r,y:o,width:t,height:n,fill:"red"}):i.jsx(C8,{x:r,y:o,image:d,listening:!1})},Nce=be([mn],e=>{const{layerState:{objects:t}}=e;return{objects:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),$ce=()=>{const{objects:e}=B(Nce);return e?i.jsx(La,{name:"outpainting-objects",listening:!1,children:e.map((t,n)=>{if(B_(t))return i.jsx(_8,{canvasImage:t},n);if(_D(t)){const r=i.jsx(am,{points:t.points,stroke:t.color?rl(t.color):"rgb(0,0,0)",strokeWidth:t.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:t.tool==="brush"?"source-over":"destination-out"},n);return t.clip?i.jsx(La,{clipX:t.clip.x,clipY:t.clip.y,clipWidth:t.clip.width,clipHeight:t.clip.height,children:r},n):r}else{if(PD(t))return i.jsx(aa,{x:t.x,y:t.y,width:t.width,height:t.height,fill:rl(t.color)},n);if(jD(t))return i.jsx(aa,{x:t.x,y:t.y,width:t.width,height:t.height,fill:"rgb(255, 255, 255)",globalCompositeOperation:"destination-out"},n)}})}):null},Lce=be([mn],e=>{const{layerState:t,shouldShowStagingImage:n,shouldShowStagingOutline:r,boundingBoxCoordinates:{x:o,y:s},boundingBoxDimensions:{width:a,height:c}}=e,{selectedImageIndex:d,images:p}=t.stagingArea;return{currentStagingAreaImage:p.length>0&&d!==void 0?p[d]:void 0,isOnFirstImage:d===0,isOnLastImage:d===p.length-1,shouldShowStagingImage:n,shouldShowStagingOutline:r,x:o,y:s,width:a,height:c}},{memoizeOptions:{resultEqualityCheck:Zt}}),zce=e=>{const{...t}=e,{currentStagingAreaImage:n,shouldShowStagingImage:r,shouldShowStagingOutline:o,x:s,y:a,width:c,height:d}=B(Lce);return i.jsxs(La,{...t,children:[r&&n&&i.jsx(_8,{canvasImage:n}),o&&i.jsxs(La,{children:[i.jsx(aa,{x:s,y:a,width:c,height:d,strokeWidth:1,stroke:"white",strokeScaleEnabled:!1}),i.jsx(aa,{x:s,y:a,width:c,height:d,dash:[4,4],strokeWidth:1,stroke:"black",strokeScaleEnabled:!1})]})]})},Bce=be([mn],e=>{const{layerState:{stagingArea:{images:t,selectedImageIndex:n,sessionId:r}},shouldShowStagingOutline:o,shouldShowStagingImage:s}=e;return{currentStagingAreaImage:t.length>0?t[n]:void 0,isOnFirstImage:n===0,isOnLastImage:n===t.length-1,shouldShowStagingImage:s,shouldShowStagingOutline:o,sessionId:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),Fce=()=>{const e=te(),{isOnFirstImage:t,isOnLastImage:n,currentStagingAreaImage:r,shouldShowStagingImage:o,sessionId:s}=B(Bce),{t:a}=ye(),c=f.useCallback(()=>{e(yw(!0))},[e]),d=f.useCallback(()=>{e(yw(!1))},[e]);tt(["left"],()=>{p()},{enabled:()=>!0,preventDefault:!0}),tt(["right"],()=>{h()},{enabled:()=>!0,preventDefault:!0}),tt(["enter"],()=>{m()},{enabled:()=>!0,preventDefault:!0});const p=f.useCallback(()=>e(ID()),[e]),h=f.useCallback(()=>e(ED()),[e]),m=f.useCallback(()=>e(OD(s)),[e,s]),{data:v}=Is((r==null?void 0:r.imageName)??ro.skipToken);return r?i.jsx(W,{pos:"absolute",bottom:4,w:"100%",align:"center",justify:"center",filter:"drop-shadow(0 0.5rem 1rem rgba(0,0,0))",onMouseOver:c,onMouseOut:d,children:i.jsxs(rr,{isAttached:!0,children:[i.jsx(ze,{tooltip:`${a("unifiedCanvas.previous")} (Left)`,"aria-label":`${a("unifiedCanvas.previous")} (Left)`,icon:i.jsx(OY,{}),onClick:p,colorScheme:"accent",isDisabled:t}),i.jsx(ze,{tooltip:`${a("unifiedCanvas.next")} (Right)`,"aria-label":`${a("unifiedCanvas.next")} (Right)`,icon:i.jsx(RY,{}),onClick:h,colorScheme:"accent",isDisabled:n}),i.jsx(ze,{tooltip:`${a("unifiedCanvas.accept")} (Enter)`,"aria-label":`${a("unifiedCanvas.accept")} (Enter)`,icon:i.jsx(AY,{}),onClick:m,colorScheme:"accent"}),i.jsx(ze,{tooltip:a("unifiedCanvas.showHide"),"aria-label":a("unifiedCanvas.showHide"),"data-alert":!o,icon:o?i.jsx(HY,{}):i.jsx(FY,{}),onClick:()=>e(RD(!o)),colorScheme:"accent"}),i.jsx(ze,{tooltip:a("unifiedCanvas.saveToGallery"),"aria-label":a("unifiedCanvas.saveToGallery"),isDisabled:!v||!v.is_intermediate,icon:i.jsx(Vm,{}),onClick:()=>{v&&e(MD({imageDTO:v}))},colorScheme:"accent"}),i.jsx(ze,{tooltip:a("unifiedCanvas.discardAll"),"aria-label":a("unifiedCanvas.discardAll"),icon:i.jsx(yl,{style:{transform:"rotate(45deg)"}}),onClick:()=>e(DD()),colorScheme:"error",fontSize:20})]})}):null},Hce=()=>{const e=B(c=>c.canvas.layerState),t=B(c=>c.canvas.boundingBoxCoordinates),n=B(c=>c.canvas.boundingBoxDimensions),r=B(c=>c.canvas.isMaskEnabled),o=B(c=>c.canvas.shouldPreserveMaskedArea),[s,a]=f.useState();return f.useEffect(()=>{a(void 0)},[e,t,n,r,o]),Tee(async()=>{const c=await AD(e,t,n,r,o);if(!c)return;const{baseImageData:d,maskImageData:p}=c,h=TD(d,p);a(h)},1e3,[e,t,n,r,o]),s},Wce={txt2img:"Text to Image",img2img:"Image to Image",inpaint:"Inpaint",outpaint:"Inpaint"},Vce=()=>{const e=Hce();return i.jsxs(Re,{children:["Mode: ",e?Wce[e]:"..."]})},tc=e=>Math.round(e*100)/100,Uce=be([mn],e=>{const{cursorPosition:t}=e,{cursorX:n,cursorY:r}=t?{cursorX:t.x,cursorY:t.y}:{cursorX:-1,cursorY:-1};return{cursorCoordinatesString:`(${tc(n)}, ${tc(r)})`}},{memoizeOptions:{resultEqualityCheck:Zt}});function Gce(){const{cursorCoordinatesString:e}=B(Uce),{t}=ye();return i.jsx(Re,{children:`${t("unifiedCanvas.cursorPosition")}: ${e}`})}const q1="var(--invokeai-colors-warning-500)",qce=be([mn],e=>{const{stageDimensions:{width:t,height:n},stageCoordinates:{x:r,y:o},boundingBoxDimensions:{width:s,height:a},scaledBoundingBoxDimensions:{width:c,height:d},boundingBoxCoordinates:{x:p,y:h},stageScale:m,shouldShowCanvasDebugInfo:v,layer:b,boundingBoxScaleMethod:w,shouldPreserveMaskedArea:y}=e;let S="inherit";return(w==="none"&&(s<512||a<512)||w==="manual"&&c*d<512*512)&&(S=q1),{activeLayerColor:b==="mask"?q1:"inherit",activeLayerString:b.charAt(0).toUpperCase()+b.slice(1),boundingBoxColor:S,boundingBoxCoordinatesString:`(${tc(p)}, ${tc(h)})`,boundingBoxDimensionsString:`${s}×${a}`,scaledBoundingBoxDimensionsString:`${c}×${d}`,canvasCoordinatesString:`${tc(r)}×${tc(o)}`,canvasDimensionsString:`${t}×${n}`,canvasScaleString:Math.round(m*100),shouldShowCanvasDebugInfo:v,shouldShowBoundingBox:w!=="auto",shouldShowScaledBoundingBox:w!=="none",shouldPreserveMaskedArea:y}},{memoizeOptions:{resultEqualityCheck:Zt}}),Kce=()=>{const{activeLayerColor:e,activeLayerString:t,boundingBoxColor:n,boundingBoxCoordinatesString:r,boundingBoxDimensionsString:o,scaledBoundingBoxDimensionsString:s,shouldShowScaledBoundingBox:a,canvasCoordinatesString:c,canvasDimensionsString:d,canvasScaleString:p,shouldShowCanvasDebugInfo:h,shouldShowBoundingBox:m,shouldPreserveMaskedArea:v}=B(qce),{t:b}=ye();return i.jsxs(W,{sx:{flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,opacity:.65,display:"flex",fontSize:"sm",padding:1,px:2,minWidth:48,margin:1,borderRadius:"base",pointerEvents:"none",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(Vce,{}),i.jsx(Re,{style:{color:e},children:`${b("unifiedCanvas.activeLayer")}: ${t}`}),i.jsx(Re,{children:`${b("unifiedCanvas.canvasScale")}: ${p}%`}),v&&i.jsx(Re,{style:{color:q1},children:"Preserve Masked Area: On"}),m&&i.jsx(Re,{style:{color:n},children:`${b("unifiedCanvas.boundingBox")}: ${o}`}),a&&i.jsx(Re,{style:{color:n},children:`${b("unifiedCanvas.scaledBoundingBox")}: ${s}`}),h&&i.jsxs(i.Fragment,{children:[i.jsx(Re,{children:`${b("unifiedCanvas.boundingBoxPosition")}: ${r}`}),i.jsx(Re,{children:`${b("unifiedCanvas.canvasDimensions")}: ${d}`}),i.jsx(Re,{children:`${b("unifiedCanvas.canvasPosition")}: ${c}`}),i.jsx(Gce,{})]})]})},Xce=be([lt],({canvas:e,generation:t})=>{const{boundingBoxCoordinates:n,boundingBoxDimensions:r,stageScale:o,isDrawing:s,isTransformingBoundingBox:a,isMovingBoundingBox:c,tool:d,shouldSnapToGrid:p}=e,{aspectRatio:h}=t;return{boundingBoxCoordinates:n,boundingBoxDimensions:r,isDrawing:s,isMovingBoundingBox:c,isTransformingBoundingBox:a,stageScale:o,shouldSnapToGrid:p,tool:d,hitStrokeWidth:20/o,aspectRatio:h}},{memoizeOptions:{resultEqualityCheck:Zt}}),Yce=e=>{const{...t}=e,n=te(),{boundingBoxCoordinates:r,boundingBoxDimensions:o,isDrawing:s,isMovingBoundingBox:a,isTransformingBoundingBox:c,stageScale:d,shouldSnapToGrid:p,tool:h,hitStrokeWidth:m,aspectRatio:v}=B(Xce),b=f.useRef(null),w=f.useRef(null),[y,S]=f.useState(!1);f.useEffect(()=>{var F;!b.current||!w.current||(b.current.nodes([w.current]),(F=b.current.getLayer())==null||F.batchDraw())},[]);const k=64*d;tt("N",()=>{n(Qu(!p))});const _=f.useCallback(F=>{if(!p){n(x0({x:Math.floor(F.target.x()),y:Math.floor(F.target.y())}));return}const V=F.target.x(),q=F.target.y(),G=ws(V,64),T=ws(q,64);F.target.x(G),F.target.y(T),n(x0({x:G,y:T}))},[n,p]),P=f.useCallback(()=>{if(!w.current)return;const F=w.current,V=F.scaleX(),q=F.scaleY(),G=Math.round(F.width()*V),T=Math.round(F.height()*q),z=Math.round(F.x()),$=Math.round(F.y());if(v){const Y=ws(G/v,64);n(Js({width:G,height:Y}))}else n(Js({width:G,height:T}));n(x0({x:p?ju(z,64):z,y:p?ju($,64):$})),F.scaleX(1),F.scaleY(1)},[n,p,v]),I=f.useCallback((F,V,q)=>{const G=F.x%k,T=F.y%k;return{x:ju(V.x,k)+G,y:ju(V.y,k)+T}},[k]),E=()=>{n(w0(!0))},O=()=>{n(w0(!1)),n(S0(!1)),n(Bf(!1)),S(!1)},R=()=>{n(S0(!0))},M=()=>{n(w0(!1)),n(S0(!1)),n(Bf(!1)),S(!1)},D=()=>{S(!0)},A=()=>{!c&&!a&&S(!1)},L=()=>{n(Bf(!0))},Q=()=>{n(Bf(!1))};return i.jsxs(La,{...t,children:[i.jsx(aa,{height:o.height,width:o.width,x:r.x,y:r.y,onMouseEnter:L,onMouseOver:L,onMouseLeave:Q,onMouseOut:Q}),i.jsx(aa,{draggable:!0,fillEnabled:!1,height:o.height,hitStrokeWidth:m,listening:!s&&h==="move",onDragStart:R,onDragEnd:M,onDragMove:_,onMouseDown:R,onMouseOut:A,onMouseOver:D,onMouseEnter:D,onMouseUp:M,onTransform:P,onTransformEnd:O,ref:w,stroke:y?"rgba(255,255,255,0.7)":"white",strokeWidth:(y?8:1)/d,width:o.width,x:r.x,y:r.y}),i.jsx(cce,{anchorCornerRadius:3,anchorDragBoundFunc:I,anchorFill:"rgba(212,216,234,1)",anchorSize:15,anchorStroke:"rgb(42,42,42)",borderDash:[4,4],borderEnabled:!0,borderStroke:"black",draggable:!1,enabledAnchors:h==="move"?void 0:[],flipEnabled:!1,ignoreStroke:!0,keepRatio:!1,listening:!s&&h==="move",onDragStart:R,onDragEnd:M,onMouseDown:E,onMouseUp:O,onTransformEnd:O,ref:b,rotateEnabled:!1})]})},Qce=be(mn,e=>{const{cursorPosition:t,brushSize:n,colorPickerColor:r,maskColor:o,brushColor:s,tool:a,layer:c,shouldShowBrush:d,isMovingBoundingBox:p,isTransformingBoundingBox:h,stageScale:m,stageDimensions:v,boundingBoxCoordinates:b,boundingBoxDimensions:w,shouldRestrictStrokesToBox:y}=e,S=y?{clipX:b.x,clipY:b.y,clipWidth:w.width,clipHeight:w.height}:{};return{cursorPosition:t,brushX:t?t.x:v.width/2,brushY:t?t.y:v.height/2,radius:n/2,colorPickerOuterRadius:xw/m,colorPickerInnerRadius:(xw-Av+1)/m,maskColorString:rl({...o,a:.5}),brushColorString:rl(s),colorPickerColorString:rl(r),tool:a,layer:c,shouldShowBrush:d,shouldDrawBrushPreview:!(p||h||!t)&&d,strokeWidth:1.5/m,dotRadius:1.5/m,clip:S}},{memoizeOptions:{resultEqualityCheck:Zt}}),Jce=e=>{const{...t}=e,{brushX:n,brushY:r,radius:o,maskColorString:s,tool:a,layer:c,shouldDrawBrushPreview:d,dotRadius:p,strokeWidth:h,brushColorString:m,colorPickerColorString:v,colorPickerInnerRadius:b,colorPickerOuterRadius:w,clip:y}=B(Qce);return d?i.jsxs(La,{listening:!1,...y,...t,children:[a==="colorPicker"?i.jsxs(i.Fragment,{children:[i.jsx(Hi,{x:n,y:r,radius:w,stroke:m,strokeWidth:Av,strokeScaleEnabled:!1}),i.jsx(Hi,{x:n,y:r,radius:b,stroke:v,strokeWidth:Av,strokeScaleEnabled:!1})]}):i.jsxs(i.Fragment,{children:[i.jsx(Hi,{x:n,y:r,radius:o,fill:c==="mask"?s:m,globalCompositeOperation:a==="eraser"?"destination-out":"source-out"}),i.jsx(Hi,{x:n,y:r,radius:o,stroke:"rgba(255,255,255,0.4)",strokeWidth:h*2,strokeEnabled:!0,listening:!1}),i.jsx(Hi,{x:n,y:r,radius:o,stroke:"rgba(0,0,0,1)",strokeWidth:h,strokeEnabled:!0,listening:!1})]}),i.jsx(Hi,{x:n,y:r,radius:p*2,fill:"rgba(255,255,255,0.4)",listening:!1}),i.jsx(Hi,{x:n,y:r,radius:p,fill:"rgba(0,0,0,1)",listening:!1})]}):null},Zce=be([mn,ir],(e,t)=>{const{isMaskEnabled:n,stageScale:r,shouldShowBoundingBox:o,isTransformingBoundingBox:s,isMouseOverBoundingBox:a,isMovingBoundingBox:c,stageDimensions:d,stageCoordinates:p,tool:h,isMovingStage:m,shouldShowIntermediates:v,shouldShowGrid:b,shouldRestrictStrokesToBox:w,shouldAntialias:y}=e;let S="none";return h==="move"||t?m?S="grabbing":S="grab":s?S=void 0:w&&!a&&(S="default"),{isMaskEnabled:n,isModifyingBoundingBox:s||c,shouldShowBoundingBox:o,shouldShowGrid:b,stageCoordinates:p,stageCursor:S,stageDimensions:d,stageScale:r,tool:h,isStaging:t,shouldShowIntermediates:v,shouldAntialias:y}},Je),eue=je(uce,{shouldForwardProp:e=>!["sx"].includes(e)}),C_=()=>{const{isMaskEnabled:e,isModifyingBoundingBox:t,shouldShowBoundingBox:n,shouldShowGrid:r,stageCoordinates:o,stageCursor:s,stageDimensions:a,stageScale:c,tool:d,isStaging:p,shouldShowIntermediates:h,shouldAntialias:m}=B(Zce);hce();const v=f.useRef(null),b=f.useRef(null),w=f.useCallback(A=>{$D(A),v.current=A},[]),y=f.useCallback(A=>{ND(A),b.current=A},[]),S=f.useRef({x:0,y:0}),k=f.useRef(!1),_=Cce(v),P=gce(v),I=wce(v,k),E=bce(v,k,S),O=yce(),{handleDragStart:R,handleDragMove:M,handleDragEnd:D}=fce();return i.jsx(W,{sx:{position:"relative",height:"100%",width:"100%",borderRadius:"base"},children:i.jsxs(Re,{sx:{position:"relative"},children:[i.jsxs(eue,{tabIndex:-1,ref:w,sx:{outline:"none",overflow:"hidden",cursor:s||void 0,canvas:{outline:"none"}},x:o.x,y:o.y,width:a.width,height:a.height,scale:{x:c,y:c},onTouchStart:P,onTouchMove:E,onTouchEnd:I,onMouseDown:P,onMouseLeave:O,onMouseMove:E,onMouseUp:I,onDragStart:R,onDragMove:M,onDragEnd:D,onContextMenu:A=>A.evt.preventDefault(),onWheel:_,draggable:(d==="move"||p)&&!t,children:[i.jsx(Pu,{id:"grid",visible:r,children:i.jsx(jce,{})}),i.jsx(Pu,{id:"base",ref:y,listening:!1,imageSmoothingEnabled:m,children:i.jsx($ce,{})}),i.jsxs(Pu,{id:"mask",visible:e,listening:!1,children:[i.jsx(Dce,{visible:!0,listening:!1}),i.jsx(Rce,{listening:!1})]}),i.jsx(Pu,{children:i.jsx(_ce,{})}),i.jsxs(Pu,{id:"preview",imageSmoothingEnabled:m,children:[!p&&i.jsx(Jce,{visible:d!=="move",listening:!1}),i.jsx(zce,{visible:p}),h&&i.jsx(Ece,{}),i.jsx(Yce,{visible:n&&!p})]})]}),i.jsx(Kce,{}),i.jsx(Fce,{})]})})},tue=be(mn,aY,Kn,(e,t,n)=>{const{doesCanvasNeedScaling:r,isCanvasInitialized:o}=e;return{doesCanvasNeedScaling:r,activeTabName:n,initialCanvasImage:t,isCanvasInitialized:o}}),k_=()=>{const e=te(),{doesCanvasNeedScaling:t,activeTabName:n,initialCanvasImage:r,isCanvasInitialized:o}=B(tue),s=f.useRef(null);return f.useLayoutEffect(()=>{window.setTimeout(()=>{if(!s.current)return;const{clientWidth:a,clientHeight:c}=s.current;e(LD({width:a,height:c})),e(o?zD():pm()),e(F_(!1))},0)},[e,r,t,n,o]),i.jsx(W,{ref:s,sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,width:"100%",height:"100%"},children:i.jsx(hl,{thickness:"2px",size:"xl"})})};function P8(e,t,n=250){const[r,o]=f.useState(0);return f.useEffect(()=>{const s=setTimeout(()=>{r===1&&e(),o(0)},n);return r===2&&t(),()=>clearTimeout(s)},[r,e,t,n]),()=>o(s=>s+1)}const nue=je(c8,{baseStyle:{paddingInline:4},shouldForwardProp:e=>!["pickerColor"].includes(e)}),bv={width:6,height:6,borderColor:"base.100"},rue=e=>{const{styleClass:t="",...n}=e;return i.jsx(nue,{sx:{".react-colorful__hue-pointer":bv,".react-colorful__saturation-pointer":bv,".react-colorful__alpha-pointer":bv},className:t,...n})},im=f.memo(rue),oue=be([mn,ir],(e,t)=>{const{maskColor:n,layer:r,isMaskEnabled:o,shouldPreserveMaskedArea:s}=e;return{layer:r,maskColor:n,maskColorString:rl(n),isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),sue=()=>{const e=te(),{t}=ye(),{layer:n,maskColor:r,isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:a}=B(oue);tt(["q"],()=>{c()},{enabled:()=>!a,preventDefault:!0},[n]),tt(["shift+c"],()=>{d()},{enabled:()=>!a,preventDefault:!0},[]),tt(["h"],()=>{p()},{enabled:()=>!a,preventDefault:!0},[o]);const c=()=>{e(Gp(n==="mask"?"base":"mask"))},d=()=>e(cb()),p=()=>e(Cd(!o));return i.jsx(xl,{triggerComponent:i.jsx(rr,{children:i.jsx(ze,{"aria-label":t("unifiedCanvas.maskingOptions"),tooltip:t("unifiedCanvas.maskingOptions"),icon:i.jsx(QY,{}),isChecked:n==="mask",isDisabled:a})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(Gn,{label:`${t("unifiedCanvas.enableMask")} (H)`,isChecked:o,onChange:p}),i.jsx(Gn,{label:t("unifiedCanvas.preserveMaskedArea"),isChecked:s,onChange:h=>e(y5(h.target.checked))}),i.jsx(im,{sx:{paddingTop:2,paddingBottom:2},pickerColor:r,onChange:h=>e(x5(h))}),i.jsxs(Yt,{size:"sm",leftIcon:i.jsx(Eo,{}),onClick:d,children:[t("unifiedCanvas.clearMask")," (Shift+C)"]})]})})},aue=be([mn,Kn,vo],(e,t,n)=>{const{futureLayerStates:r}=e;return{canRedo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}});function j8(){const e=te(),{canRedo:t,activeTabName:n}=B(aue),{t:r}=ye(),o=()=>{e(BD())};return tt(["meta+shift+z","ctrl+shift+z","control+y","meta+y"],()=>{o()},{enabled:()=>t,preventDefault:!0},[n,t]),i.jsx(ze,{"aria-label":`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,tooltip:`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,icon:i.jsx(eQ,{}),onClick:o,isDisabled:!t})}const I8=()=>{const e=B(ir),t=te(),{t:n}=ye();return i.jsxs(lx,{title:n("unifiedCanvas.clearCanvasHistory"),acceptCallback:()=>t(FD()),acceptButtonText:n("unifiedCanvas.clearHistory"),triggerComponent:i.jsx(Yt,{size:"sm",leftIcon:i.jsx(Eo,{}),isDisabled:e,children:n("unifiedCanvas.clearCanvasHistory")}),children:[i.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryMessage")}),i.jsx("br",{}),i.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryConfirm")})]})},iue=be([mn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:o,shouldShowGrid:s,shouldShowIntermediates:a,shouldSnapToGrid:c,shouldRestrictStrokesToBox:d,shouldAntialias:p}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:o,shouldShowGrid:s,shouldShowIntermediates:a,shouldSnapToGrid:c,shouldRestrictStrokesToBox:d,shouldAntialias:p}},{memoizeOptions:{resultEqualityCheck:Zt}}),lue=()=>{const e=te(),{t}=ye(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldDarkenOutsideBoundingBox:o,shouldShowCanvasDebugInfo:s,shouldShowGrid:a,shouldShowIntermediates:c,shouldSnapToGrid:d,shouldRestrictStrokesToBox:p,shouldAntialias:h}=B(iue);tt(["n"],()=>{e(Qu(!d))},{enabled:!0,preventDefault:!0},[d]);const m=v=>e(Qu(v.target.checked));return i.jsx(xl,{isLazy:!1,triggerComponent:i.jsx(ze,{tooltip:t("unifiedCanvas.canvasSettings"),"aria-label":t("unifiedCanvas.canvasSettings"),icon:i.jsx(Sy,{})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:c,onChange:v=>e(w5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showGrid"),isChecked:a,onChange:v=>e(S5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.snapToGrid"),isChecked:d,onChange:m}),i.jsx(Gn,{label:t("unifiedCanvas.darkenOutsideSelection"),isChecked:o,onChange:v=>e(C5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:v=>e(k5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:v=>e(_5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.limitStrokesToBox"),isChecked:p,onChange:v=>e(P5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:s,onChange:v=>e(j5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.antialiasing"),isChecked:h,onChange:v=>e(I5(v.target.checked))}),i.jsx(I8,{})]})})},cue=be([mn,ir,vo],(e,t,n)=>{const{isProcessing:r}=n,{tool:o,brushColor:s,brushSize:a}=e;return{tool:o,isStaging:t,isProcessing:r,brushColor:s,brushSize:a}},{memoizeOptions:{resultEqualityCheck:Zt}}),uue=()=>{const e=te(),{tool:t,brushColor:n,brushSize:r,isStaging:o}=B(cue),{t:s}=ye();tt(["b"],()=>{a()},{enabled:()=>!o,preventDefault:!0},[]),tt(["e"],()=>{c()},{enabled:()=>!o,preventDefault:!0},[t]),tt(["c"],()=>{d()},{enabled:()=>!o,preventDefault:!0},[t]),tt(["shift+f"],()=>{p()},{enabled:()=>!o,preventDefault:!0}),tt(["delete","backspace"],()=>{h()},{enabled:()=>!o,preventDefault:!0}),tt(["BracketLeft"],()=>{e(rc(Math.max(r-5,5)))},{enabled:()=>!o,preventDefault:!0},[r]),tt(["BracketRight"],()=>{e(rc(Math.min(r+5,500)))},{enabled:()=>!o,preventDefault:!0},[r]),tt(["Shift+BracketLeft"],()=>{e(oc({...n,a:Es(n.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]),tt(["Shift+BracketRight"],()=>{e(oc({...n,a:Es(n.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]);const a=()=>e(ea("brush")),c=()=>e(ea("eraser")),d=()=>e(ea("colorPicker")),p=()=>e(E5()),h=()=>e(O5());return i.jsxs(rr,{isAttached:!0,children:[i.jsx(ze,{"aria-label":`${s("unifiedCanvas.brush")} (B)`,tooltip:`${s("unifiedCanvas.brush")} (B)`,icon:i.jsx(sE,{}),isChecked:t==="brush"&&!o,onClick:a,isDisabled:o}),i.jsx(ze,{"aria-label":`${s("unifiedCanvas.eraser")} (E)`,tooltip:`${s("unifiedCanvas.eraser")} (E)`,icon:i.jsx(JI,{}),isChecked:t==="eraser"&&!o,isDisabled:o,onClick:c}),i.jsx(ze,{"aria-label":`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:i.jsx(tE,{}),isDisabled:o,onClick:p}),i.jsx(ze,{"aria-label":`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:i.jsx(yl,{style:{transform:"rotate(45deg)"}}),isDisabled:o,onClick:h}),i.jsx(ze,{"aria-label":`${s("unifiedCanvas.colorPicker")} (C)`,tooltip:`${s("unifiedCanvas.colorPicker")} (C)`,icon:i.jsx(eE,{}),isChecked:t==="colorPicker"&&!o,isDisabled:o,onClick:d}),i.jsx(xl,{triggerComponent:i.jsx(ze,{"aria-label":s("unifiedCanvas.brushOptions"),tooltip:s("unifiedCanvas.brushOptions"),icon:i.jsx(xy,{})}),children:i.jsxs(W,{minWidth:60,direction:"column",gap:4,width:"100%",children:[i.jsx(W,{gap:4,justifyContent:"space-between",children:i.jsx(_t,{label:s("unifiedCanvas.brushSize"),value:r,withInput:!0,onChange:m=>e(rc(m)),sliderNumberInputProps:{max:500}})}),i.jsx(im,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:m=>e(oc(m))})]})})]})},due=be([mn,Kn,vo],(e,t,n)=>{const{pastLayerStates:r}=e;return{canUndo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}});function E8(){const e=te(),{t}=ye(),{canUndo:n,activeTabName:r}=B(due),o=()=>{e(HD())};return tt(["meta+z","ctrl+z"],()=>{o()},{enabled:()=>n,preventDefault:!0},[r,n]),i.jsx(ze,{"aria-label":`${t("unifiedCanvas.undo")} (Ctrl+Z)`,tooltip:`${t("unifiedCanvas.undo")} (Ctrl+Z)`,icon:i.jsx(wy,{}),onClick:o,isDisabled:!n})}const fue=be([vo,mn,ir],(e,t,n)=>{const{isProcessing:r}=e,{tool:o,shouldCropToBoundingBoxOnSave:s,layer:a,isMaskEnabled:c}=t;return{isProcessing:r,isStaging:n,isMaskEnabled:c,tool:o,layer:a,shouldCropToBoundingBoxOnSave:s}},{memoizeOptions:{resultEqualityCheck:Zt}}),pue=()=>{const e=te(),{isProcessing:t,isStaging:n,isMaskEnabled:r,layer:o,tool:s}=B(fue),a=Oa(),{t:c}=ye(),{isClipboardAPIAvailable:d}=Gy(),{getUploadButtonProps:p,getUploadInputProps:h}=ng({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}});tt(["v"],()=>{m()},{enabled:()=>!n,preventDefault:!0},[]),tt(["r"],()=>{b()},{enabled:()=>!0,preventDefault:!0},[a]),tt(["shift+m"],()=>{y()},{enabled:()=>!n,preventDefault:!0},[a,t]),tt(["shift+s"],()=>{S()},{enabled:()=>!n,preventDefault:!0},[a,t]),tt(["meta+c","ctrl+c"],()=>{k()},{enabled:()=>!n&&d,preventDefault:!0},[a,t,d]),tt(["shift+d"],()=>{_()},{enabled:()=>!n,preventDefault:!0},[a,t]);const m=()=>e(ea("move")),v=P8(()=>b(!1),()=>b(!0)),b=(I=!1)=>{const E=Oa();if(!E)return;const O=E.getClientRect({skipTransform:!0});e(R5({contentRect:O,shouldScaleTo1:I}))},w=()=>{e(ob()),e(pm())},y=()=>{e(M5())},S=()=>{e(D5())},k=()=>{d&&e(A5())},_=()=>{e(T5())},P=I=>{const E=I;e(Gp(E)),E==="mask"&&!r&&e(Cd(!0))};return i.jsxs(W,{sx:{alignItems:"center",gap:2,flexWrap:"wrap"},children:[i.jsx(Re,{w:24,children:i.jsx(Xr,{tooltip:`${c("unifiedCanvas.layer")} (Q)`,value:o,data:N5,onChange:P,disabled:n})}),i.jsx(sue,{}),i.jsx(uue,{}),i.jsxs(rr,{isAttached:!0,children:[i.jsx(ze,{"aria-label":`${c("unifiedCanvas.move")} (V)`,tooltip:`${c("unifiedCanvas.move")} (V)`,icon:i.jsx(XI,{}),isChecked:s==="move"||n,onClick:m}),i.jsx(ze,{"aria-label":`${c("unifiedCanvas.resetView")} (R)`,tooltip:`${c("unifiedCanvas.resetView")} (R)`,icon:i.jsx(QI,{}),onClick:v})]}),i.jsxs(rr,{isAttached:!0,children:[i.jsx(ze,{"aria-label":`${c("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${c("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:i.jsx(rE,{}),onClick:y,isDisabled:n}),i.jsx(ze,{"aria-label":`${c("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${c("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:i.jsx(Vm,{}),onClick:S,isDisabled:n}),d&&i.jsx(ze,{"aria-label":`${c("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${c("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:i.jsx(qc,{}),onClick:k,isDisabled:n}),i.jsx(ze,{"aria-label":`${c("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${c("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:i.jsx(yy,{}),onClick:_,isDisabled:n})]}),i.jsxs(rr,{isAttached:!0,children:[i.jsx(E8,{}),i.jsx(j8,{})]}),i.jsxs(rr,{isAttached:!0,children:[i.jsx(ze,{"aria-label":`${c("common.upload")}`,tooltip:`${c("common.upload")}`,icon:i.jsx(Wd,{}),isDisabled:n,...p()}),i.jsx("input",{...h()}),i.jsx(ze,{"aria-label":`${c("unifiedCanvas.clearCanvas")}`,tooltip:`${c("unifiedCanvas.clearCanvas")}`,icon:i.jsx(Eo,{}),onClick:w,colorScheme:"error",isDisabled:n})]}),i.jsx(rr,{isAttached:!0,children:i.jsx(lue,{})})]})};function hue(){const e=te(),t=B(o=>o.canvas.brushSize),{t:n}=ye(),r=B(ir);return tt(["BracketLeft"],()=>{e(rc(Math.max(t-5,5)))},{enabled:()=>!r,preventDefault:!0},[t]),tt(["BracketRight"],()=>{e(rc(Math.min(t+5,500)))},{enabled:()=>!r,preventDefault:!0},[t]),i.jsx(_t,{label:n("unifiedCanvas.brushSize"),value:t,withInput:!0,onChange:o=>e(rc(o)),sliderNumberInputProps:{max:500},isCompact:!0})}const mue=be([mn,ir],(e,t)=>{const{brushColor:n,maskColor:r,layer:o}=e;return{brushColor:n,maskColor:r,layer:o,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Zt}});function gue(){const e=te(),{brushColor:t,maskColor:n,layer:r,isStaging:o}=B(mue),s=()=>{if(r==="base")return`rgba(${t.r},${t.g},${t.b},${t.a})`;if(r==="mask")return`rgba(${n.r},${n.g},${n.b},${n.a})`};return tt(["shift+BracketLeft"],()=>{e(oc({...t,a:Es(t.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),tt(["shift+BracketRight"],()=>{e(oc({...t,a:Es(t.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),i.jsx(xl,{triggerComponent:i.jsx(Re,{sx:{width:7,height:7,minWidth:7,minHeight:7,borderRadius:"full",bg:s(),cursor:"pointer"}}),children:i.jsxs(W,{minWidth:60,direction:"column",gap:4,width:"100%",children:[r==="base"&&i.jsx(im,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:t,onChange:a=>e(oc(a))}),r==="mask"&&i.jsx(im,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:a=>e(x5(a))})]})})}function O8(){return i.jsxs(W,{columnGap:4,alignItems:"center",children:[i.jsx(hue,{}),i.jsx(gue,{})]})}function vue(){const e=te(),t=B(r=>r.canvas.shouldRestrictStrokesToBox),{t:n}=ye();return i.jsx(Gn,{label:n("unifiedCanvas.betaLimitToBox"),isChecked:t,onChange:r=>e(P5(r.target.checked))})}function bue(){return i.jsxs(W,{gap:4,alignItems:"center",children:[i.jsx(O8,{}),i.jsx(vue,{})]})}function yue(){const e=te(),{t}=ye(),n=()=>e(cb());return i.jsx(Yt,{size:"sm",leftIcon:i.jsx(Eo,{}),onClick:n,tooltip:`${t("unifiedCanvas.clearMask")} (Shift+C)`,children:t("unifiedCanvas.betaClear")})}function xue(){const e=B(o=>o.canvas.isMaskEnabled),t=te(),{t:n}=ye(),r=()=>t(Cd(!e));return i.jsx(Gn,{label:`${n("unifiedCanvas.enableMask")} (H)`,isChecked:e,onChange:r})}function wue(){const e=te(),{t}=ye(),n=B(r=>r.canvas.shouldPreserveMaskedArea);return i.jsx(Gn,{label:t("unifiedCanvas.betaPreserveMasked"),isChecked:n,onChange:r=>e(y5(r.target.checked))})}function Sue(){return i.jsxs(W,{gap:4,alignItems:"center",children:[i.jsx(O8,{}),i.jsx(xue,{}),i.jsx(wue,{}),i.jsx(yue,{})]})}function Cue(){const e=B(r=>r.canvas.shouldDarkenOutsideBoundingBox),t=te(),{t:n}=ye();return i.jsx(Gn,{label:n("unifiedCanvas.betaDarkenOutside"),isChecked:e,onChange:r=>t(C5(r.target.checked))})}function kue(){const e=B(r=>r.canvas.shouldShowGrid),t=te(),{t:n}=ye();return i.jsx(Gn,{label:n("unifiedCanvas.showGrid"),isChecked:e,onChange:r=>t(S5(r.target.checked))})}function _ue(){const e=B(o=>o.canvas.shouldSnapToGrid),t=te(),{t:n}=ye(),r=o=>t(Qu(o.target.checked));return i.jsx(Gn,{label:`${n("unifiedCanvas.snapToGrid")} (N)`,isChecked:e,onChange:r})}function Pue(){return i.jsxs(W,{alignItems:"center",gap:4,children:[i.jsx(kue,{}),i.jsx(_ue,{}),i.jsx(Cue,{})]})}const jue=be([mn],e=>{const{tool:t,layer:n}=e;return{tool:t,layer:n}},{memoizeOptions:{resultEqualityCheck:Zt}});function Iue(){const{tool:e,layer:t}=B(jue);return i.jsxs(W,{height:8,minHeight:8,maxHeight:8,alignItems:"center",children:[t=="base"&&["brush","eraser","colorPicker"].includes(e)&&i.jsx(bue,{}),t=="mask"&&["brush","eraser","colorPicker"].includes(e)&&i.jsx(Sue,{}),e=="move"&&i.jsx(Pue,{})]})}const Eue=be([mn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:o,shouldAntialias:s}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:o,shouldAntialias:s}},{memoizeOptions:{resultEqualityCheck:Zt}}),Oue=()=>{const e=te(),{t}=ye(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldShowCanvasDebugInfo:o,shouldShowIntermediates:s,shouldAntialias:a}=B(Eue);return i.jsx(xl,{isLazy:!1,triggerComponent:i.jsx(ze,{tooltip:t("unifiedCanvas.canvasSettings"),tooltipProps:{placement:"bottom"},"aria-label":t("unifiedCanvas.canvasSettings"),icon:i.jsx(Sy,{})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:s,onChange:c=>e(w5(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:c=>e(k5(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:c=>e(_5(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:o,onChange:c=>e(j5(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.antialiasing"),isChecked:a,onChange:c=>e(I5(c.target.checked))}),i.jsx(I8,{})]})})};function Rue(){const e=B(ir),t=Oa(),{isClipboardAPIAvailable:n}=Gy(),r=B(c=>c.system.isProcessing),o=te(),{t:s}=ye();tt(["meta+c","ctrl+c"],()=>{a()},{enabled:()=>!e&&n,preventDefault:!0},[t,r,n]);const a=f.useCallback(()=>{n&&o(A5())},[o,n]);return n?i.jsx(ze,{"aria-label":`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:i.jsx(qc,{}),onClick:a,isDisabled:e}):null}function Mue(){const e=te(),{t}=ye(),n=Oa(),r=B(ir);tt(["shift+d"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[n]);const o=()=>{e(T5())};return i.jsx(ze,{"aria-label":`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:i.jsx(yy,{}),onClick:o,isDisabled:r})}function Due(){const e=B(ir),{getUploadButtonProps:t,getUploadInputProps:n}=ng({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}}),{t:r}=ye();return i.jsxs(i.Fragment,{children:[i.jsx(ze,{"aria-label":r("common.upload"),tooltip:r("common.upload"),icon:i.jsx(Wd,{}),isDisabled:e,...t()}),i.jsx("input",{...n()})]})}const Aue=be([mn,ir],(e,t)=>{const{layer:n,isMaskEnabled:r}=e;return{layer:n,isMaskEnabled:r,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Zt}});function Tue(){const e=te(),{t}=ye(),{layer:n,isMaskEnabled:r,isStaging:o}=B(Aue),s=()=>{e(Gp(n==="mask"?"base":"mask"))};tt(["q"],()=>{s()},{enabled:()=>!o,preventDefault:!0},[n]);const a=c=>{const d=c;e(Gp(d)),d==="mask"&&!r&&e(Cd(!0))};return i.jsx(Xr,{tooltip:`${t("unifiedCanvas.layer")} (Q)`,"aria-label":`${t("unifiedCanvas.layer")} (Q)`,value:n,data:N5,onChange:a,disabled:o,w:"full"})}function Nue(){const e=te(),{t}=ye(),n=Oa(),r=B(ir),o=B(a=>a.system.isProcessing);tt(["shift+m"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n,o]);const s=()=>{e(M5())};return i.jsx(ze,{"aria-label":`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:i.jsx(rE,{}),onClick:s,isDisabled:r})}function $ue(){const e=B(s=>s.canvas.tool),t=B(ir),n=te(),{t:r}=ye();tt(["v"],()=>{o()},{enabled:()=>!t,preventDefault:!0},[]);const o=()=>n(ea("move"));return i.jsx(ze,{"aria-label":`${r("unifiedCanvas.move")} (V)`,tooltip:`${r("unifiedCanvas.move")} (V)`,icon:i.jsx(XI,{}),isChecked:e==="move"||t,onClick:o})}function Lue(){const e=B(s=>s.ui.shouldPinParametersPanel),t=B(s=>s.ui.shouldShowParametersPanel),n=te(),{t:r}=ye(),o=()=>{n(ub(!0)),e&&n(ko())};return!e||!t?i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsx(ze,{tooltip:`${r("parameters.showOptionsPanel")} (O)`,tooltipProps:{placement:"top"},"aria-label":r("parameters.showOptionsPanel"),onClick:o,children:i.jsx(xy,{})}),i.jsx(W,{children:i.jsx(Jy,{iconButton:!0})}),i.jsx(W,{children:i.jsx(ag,{width:"100%",height:"40px",btnGroupWidth:"100%"})})]}):null}function zue(){const e=te(),{t}=ye(),n=B(ir),r=()=>{e(ob()),e(pm())};return i.jsx(ze,{"aria-label":t("unifiedCanvas.clearCanvas"),tooltip:t("unifiedCanvas.clearCanvas"),icon:i.jsx(Eo,{}),onClick:r,isDisabled:n,colorScheme:"error"})}function Bue(){const e=Oa(),t=te(),{t:n}=ye();tt(["r"],()=>{o()},{enabled:()=>!0,preventDefault:!0},[e]);const r=P8(()=>o(!1),()=>o(!0)),o=(s=!1)=>{const a=Oa();if(!a)return;const c=a.getClientRect({skipTransform:!0});t(R5({contentRect:c,shouldScaleTo1:s}))};return i.jsx(ze,{"aria-label":`${n("unifiedCanvas.resetView")} (R)`,tooltip:`${n("unifiedCanvas.resetView")} (R)`,icon:i.jsx(QI,{}),onClick:r})}function Fue(){const e=B(ir),t=Oa(),n=B(a=>a.system.isProcessing),r=te(),{t:o}=ye();tt(["shift+s"],()=>{s()},{enabled:()=>!e,preventDefault:!0},[t,n]);const s=()=>{r(D5())};return i.jsx(ze,{"aria-label":`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:i.jsx(Vm,{}),onClick:s,isDisabled:e})}const Hue=be([mn,ir,vo],(e,t,n)=>{const{isProcessing:r}=n,{tool:o}=e;return{tool:o,isStaging:t,isProcessing:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),Wue=()=>{const e=te(),{t}=ye(),{tool:n,isStaging:r}=B(Hue);tt(["b"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[]),tt(["e"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n]),tt(["c"],()=>{a()},{enabled:()=>!r,preventDefault:!0},[n]),tt(["shift+f"],()=>{c()},{enabled:()=>!r,preventDefault:!0}),tt(["delete","backspace"],()=>{d()},{enabled:()=>!r,preventDefault:!0});const o=()=>e(ea("brush")),s=()=>e(ea("eraser")),a=()=>e(ea("colorPicker")),c=()=>e(E5()),d=()=>e(O5());return i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsxs(rr,{children:[i.jsx(ze,{"aria-label":`${t("unifiedCanvas.brush")} (B)`,tooltip:`${t("unifiedCanvas.brush")} (B)`,icon:i.jsx(sE,{}),isChecked:n==="brush"&&!r,onClick:o,isDisabled:r}),i.jsx(ze,{"aria-label":`${t("unifiedCanvas.eraser")} (E)`,tooltip:`${t("unifiedCanvas.eraser")} (B)`,icon:i.jsx(JI,{}),isChecked:n==="eraser"&&!r,isDisabled:r,onClick:s})]}),i.jsxs(rr,{children:[i.jsx(ze,{"aria-label":`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:i.jsx(tE,{}),isDisabled:r,onClick:c}),i.jsx(ze,{"aria-label":`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:i.jsx(yl,{style:{transform:"rotate(45deg)"}}),isDisabled:r,onClick:d})]}),i.jsx(ze,{"aria-label":`${t("unifiedCanvas.colorPicker")} (C)`,tooltip:`${t("unifiedCanvas.colorPicker")} (C)`,icon:i.jsx(eE,{}),isChecked:n==="colorPicker"&&!r,isDisabled:r,onClick:a,width:"max-content"})]})},Vue=()=>i.jsxs(W,{flexDirection:"column",rowGap:2,width:"min-content",children:[i.jsx(Tue,{}),i.jsx(Wue,{}),i.jsxs(W,{gap:2,children:[i.jsx($ue,{}),i.jsx(Bue,{})]}),i.jsxs(W,{columnGap:2,children:[i.jsx(Nue,{}),i.jsx(Fue,{})]}),i.jsxs(W,{columnGap:2,children:[i.jsx(Rue,{}),i.jsx(Mue,{})]}),i.jsxs(W,{gap:2,children:[i.jsx(E8,{}),i.jsx(j8,{})]}),i.jsxs(W,{gap:2,children:[i.jsx(Due,{}),i.jsx(zue,{})]}),i.jsx(Oue,{}),i.jsx(Lue,{})]}),Uue=be([mn,Ba],(e,t)=>{const{doesCanvasNeedScaling:n}=e,{shouldUseCanvasBetaLayout:r}=t;return{doesCanvasNeedScaling:n,shouldUseCanvasBetaLayout:r}},Je),yv={id:"canvas-intial-image",actionType:"SET_CANVAS_INITIAL_IMAGE"},Gue=()=>{const e=te(),{doesCanvasNeedScaling:t,shouldUseCanvasBetaLayout:n}=B(Uue),{isOver:r,setNodeRef:o,active:s}=Z1({id:"unifiedCanvas",data:yv});return f.useLayoutEffect(()=>{const a=()=>{e(ko())};return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[e]),n?i.jsx(Re,{layerStyle:"first",ref:o,tabIndex:0,sx:{w:"full",h:"full",p:4,borderRadius:"base"},children:i.jsxs(W,{sx:{w:"full",h:"full",gap:4},children:[i.jsx(Vue,{}),i.jsxs(W,{sx:{flexDir:"column",w:"full",h:"full",gap:4,position:"relative"},children:[i.jsx(Iue,{}),i.jsxs(Re,{sx:{w:"full",h:"full",position:"relative"},children:[t?i.jsx(k_,{}):i.jsx(C_,{}),Lp(yv,s)&&i.jsx(Jh,{isOver:r,label:"Set Canvas Initial Image"})]})]})]})}):i.jsx(Re,{ref:o,tabIndex:-1,sx:{layerStyle:"first",w:"full",h:"full",p:4,borderRadius:"base"},children:i.jsxs(W,{sx:{flexDirection:"column",alignItems:"center",gap:4,w:"full",h:"full"},children:[i.jsx(pue,{}),i.jsx(W,{sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,w:"full",h:"full"},children:i.jsxs(Re,{sx:{w:"full",h:"full",position:"relative"},children:[t?i.jsx(k_,{}):i.jsx(C_,{}),Lp(yv,s)&&i.jsx(Jh,{isOver:r,label:"Set Canvas Initial Image"})]})})]})})},que=f.memo(Gue),Kue=be([lt],({generation:e})=>{const{infillMethod:t}=e;return{infillMethod:t}},Je),Xue=()=>{const e=te(),{infillMethod:t}=B(Kue),{data:n,isLoading:r}=Z_(),o=n==null?void 0:n.infill_methods,{t:s}=ye(),a=f.useCallback(c=>{e(WD(c))},[e]);return i.jsx(Xr,{disabled:(o==null?void 0:o.length)===0,placeholder:r?"Loading...":void 0,label:s("parameters.infillMethod"),value:t,data:o??[],onChange:a})},Yue=f.memo(Xue),Que=be([Mi],e=>{const{tileSize:t,infillMethod:n}=e;return{tileSize:t,infillMethod:n}},Je),Jue=()=>{const e=te(),{tileSize:t,infillMethod:n}=B(Que),{t:r}=ye(),o=f.useCallback(a=>{e(ww(a))},[e]),s=f.useCallback(()=>{e(ww(32))},[e]);return i.jsx(_t,{isDisabled:n!=="tile",label:r("parameters.tileSize"),min:16,max:64,sliderNumberInputProps:{max:256},value:t,onChange:o,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:s})},Zue=f.memo(Jue),ede=be([mn],e=>{const{boundingBoxScaleMethod:t}=e;return{boundingBoxScale:t}},Je),tde=()=>{const e=te(),{boundingBoxScale:t}=B(ede),{t:n}=ye(),r=o=>{e(UD(o))};return i.jsx(ar,{label:n("parameters.scaleBeforeProcessing"),data:VD,value:t,onChange:r})},nde=f.memo(tde),rde=be([Mi,vo,mn],(e,t,n)=>{const{scaledBoundingBoxDimensions:r,boundingBoxScaleMethod:o}=n;return{scaledBoundingBoxDimensions:r,isManual:o==="manual"}},Je),ode=()=>{const e=te(),{isManual:t,scaledBoundingBoxDimensions:n}=B(rde),{t:r}=ye(),o=a=>{e(qp({...n,height:Math.floor(a)}))},s=()=>{e(qp({...n,height:Math.floor(512)}))};return i.jsx(_t,{isDisabled:!t,label:r("parameters.scaledHeight"),min:64,max:1024,step:64,value:n.height,onChange:o,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:s})},sde=f.memo(ode),ade=be([mn],e=>{const{boundingBoxScaleMethod:t,scaledBoundingBoxDimensions:n}=e;return{scaledBoundingBoxDimensions:n,isManual:t==="manual"}},Je),ide=()=>{const e=te(),{isManual:t,scaledBoundingBoxDimensions:n}=B(ade),{t:r}=ye(),o=a=>{e(qp({...n,width:Math.floor(a)}))},s=()=>{e(qp({...n,width:Math.floor(512)}))};return i.jsx(_t,{isDisabled:!t,label:r("parameters.scaledWidth"),min:64,max:1024,step:64,value:n.width,onChange:o,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:s})},lde=f.memo(ide),cde=()=>{const{t:e}=ye();return i.jsx(Mo,{label:e("parameters.infillScalingHeader"),children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(Yue,{}),i.jsx(Zue,{}),i.jsx(nde,{}),i.jsx(lde,{}),i.jsx(sde,{})]})})},ude=f.memo(cde);function dde(){const e=te(),t=B(r=>r.generation.seamBlur),{t:n}=ye();return i.jsx(_t,{label:n("parameters.seamBlur"),min:0,max:64,sliderNumberInputProps:{max:512},value:t,onChange:r=>{e(Sw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(Sw(16))}})}function fde(){const e=te(),{t}=ye(),n=B(r=>r.generation.seamSize);return i.jsx(_t,{label:t("parameters.seamSize"),min:1,max:256,sliderNumberInputProps:{max:512},value:n,onChange:r=>{e(Cw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>e(Cw(96))})}function pde(){const{t:e}=ye(),t=B(r=>r.generation.seamSteps),n=te();return i.jsx(_t,{label:e("parameters.seamSteps"),min:1,max:100,sliderNumberInputProps:{max:999},value:t,onChange:r=>{n(kw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{n(kw(30))}})}function hde(){const e=te(),{t}=ye(),n=B(r=>r.generation.seamStrength);return i.jsx(_t,{label:t("parameters.seamStrength"),min:.01,max:.99,step:.01,value:n,onChange:r=>{e(_w(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(_w(.7))}})}const mde=()=>{const{t:e}=ye();return i.jsxs(Mo,{label:e("parameters.seamCorrectionHeader"),children:[i.jsx(fde,{}),i.jsx(dde,{}),i.jsx(hde,{}),i.jsx(pde,{})]})},gde=f.memo(mde),vde=be([lt,ir],({canvas:e,generation:t},n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=t;return{boundingBoxDimensions:r,isStaging:n,aspectRatio:o}},Je),bde=()=>{const e=te(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=B(vde),{t:o}=ye(),s=c=>{if(e(Js({...t,height:Math.floor(c)})),r){const d=ws(c*r,64);e(Js({width:d,height:Math.floor(c)}))}},a=()=>{if(e(Js({...t,height:Math.floor(512)})),r){const c=ws(512*r,64);e(Js({width:c,height:Math.floor(512)}))}};return i.jsx(_t,{label:o("parameters.boundingBoxHeight"),min:64,max:1024,step:64,value:t.height,onChange:s,isDisabled:n,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:a})},yde=f.memo(bde),xde=be([lt,ir],({canvas:e,generation:t},n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=t;return{boundingBoxDimensions:r,isStaging:n,aspectRatio:o}},Je),wde=()=>{const e=te(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=B(xde),{t:o}=ye(),s=c=>{if(e(Js({...t,width:Math.floor(c)})),r){const d=ws(c/r,64);e(Js({width:Math.floor(c),height:d}))}},a=()=>{if(e(Js({...t,width:Math.floor(512)})),r){const c=ws(512/r,64);e(Js({width:Math.floor(512),height:c}))}};return i.jsx(_t,{label:o("parameters.boundingBoxWidth"),min:64,max:1024,step:64,value:t.width,onChange:s,isDisabled:n,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:a})},Sde=f.memo(wde);function __(){const e=te(),{t}=ye();return i.jsxs(W,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[i.jsxs(W,{alignItems:"center",gap:2,children:[i.jsx(Qe,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:t("parameters.aspectRatio")}),i.jsx(ml,{}),i.jsx(zO,{}),i.jsx(ze,{tooltip:t("ui.swapSizes"),"aria-label":t("ui.swapSizes"),size:"sm",icon:i.jsx(vO,{}),fontSize:20,onClick:()=>e(GD())})]}),i.jsx(Sde,{}),i.jsx(yde,{})]})}const Cde=be(lt,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Je),kde=()=>{const{shouldUseSliders:e,activeLabel:t}=B(Cde);return i.jsx(Mo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(W,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(yi,{}),i.jsx(wi,{}),i.jsx(Re,{pt:2,children:i.jsx(Ci,{})}),i.jsx(__,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(yi,{})]}),i.jsx(wi,{}),i.jsx(Re,{pt:2,children:i.jsx(Ci,{})}),i.jsx(__,{})]}),i.jsx(KO,{})]})})},_de=f.memo(kde),R8=()=>i.jsxs(i.Fragment,{children:[i.jsx(ix,{}),i.jsx(Xd,{}),i.jsx(_de,{}),i.jsx(sx,{}),i.jsx(rx,{}),i.jsx(qd,{}),i.jsx(ax,{}),i.jsx(gde,{}),i.jsx(ude,{}),i.jsx(ox,{})]}),Pde=()=>i.jsxs(W,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(nx,{children:i.jsx(R8,{})}),i.jsx(que,{})]}),jde=f.memo(Pde),Ide=[{id:"txt2img",translationKey:"common.txt2img",icon:i.jsx(fo,{as:WY,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(ile,{})},{id:"img2img",translationKey:"common.img2img",icon:i.jsx(fo,{as:Oc,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(ase,{})},{id:"unifiedCanvas",translationKey:"common.unifiedCanvas",icon:i.jsx(fo,{as:Zee,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(jde,{})},{id:"nodes",translationKey:"common.nodes",icon:i.jsx(fo,{as:Jee,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(rle,{})},{id:"modelManager",translationKey:"modelManager.modelManager",icon:i.jsx(fo,{as:$Y,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(aae,{})}],Ede=be([bO,vo],(e,t)=>{const{disabledTabs:n}=e,{isNodesEnabled:r}=t;return Ide.filter(s=>s.id==="nodes"?r&&!n.includes(s.id):!n.includes(s.id))},{memoizeOptions:{resultEqualityCheck:Zt}}),Ode=350,xv=20,M8=["modelManager"],Rde=()=>{const e=B(qD),t=B(Kn),n=B(Ede),{shouldPinGallery:r,shouldPinParametersPanel:o,shouldShowGallery:s}=B(y=>y.ui),{t:a}=ye(),c=te();tt("f",()=>{c(KD()),(r||o)&&c(ko())},[r,o]);const d=f.useCallback(()=>{t==="unifiedCanvas"&&c(ko())},[c,t]),p=f.useCallback(y=>{y.target instanceof HTMLElement&&y.target.blur()},[]),h=f.useMemo(()=>n.map(y=>i.jsx(vn,{hasArrow:!0,label:String(a(y.translationKey)),placement:"end",children:i.jsxs(kc,{onClick:p,children:[i.jsx(Z5,{children:String(a(y.translationKey))}),y.icon]})},y.id)),[n,a,p]),m=f.useMemo(()=>n.map(y=>i.jsx(Tm,{children:y.content},y.id)),[n]),{ref:v,minSizePct:b}=Ste(Ode,xv,"app"),w=f.useCallback(y=>{const S=XD[y];S&&c(Yl(S))},[c]);return i.jsxs($d,{defaultIndex:e,index:e,onChange:w,sx:{flexGrow:1,gap:4},isLazy:!0,children:[i.jsxs(Ld,{sx:{pt:2,gap:4,flexDir:"column"},children:[h,i.jsx(ml,{}),i.jsx(ote,{})]}),i.jsxs(Qy,{id:"app",autoSaveId:"app",direction:"horizontal",style:{height:"100%",width:"100%"},children:[i.jsx(hd,{id:"main",children:i.jsx(Nm,{style:{height:"100%",width:"100%"},children:m})}),r&&s&&!M8.includes(t)&&i.jsxs(i.Fragment,{children:[i.jsx(WO,{}),i.jsx(hd,{ref:v,onResize:d,id:"gallery",order:3,defaultSize:b>xv&&b<100?b:xv,minSize:b,maxSize:50,children:i.jsx(hO,{})})]})]})]})},Mde=f.memo(Rde),Dde=be([Kn,Ba],(e,t)=>{const{shouldPinGallery:n,shouldShowGallery:r}=t;return{shouldPinGallery:n,shouldShowGalleryButton:M8.includes(e)?!1:!r}},{memoizeOptions:{resultEqualityCheck:Zt}}),Ade=()=>{const{t:e}=ye(),{shouldPinGallery:t,shouldShowGalleryButton:n}=B(Dde),r=te(),o=()=>{r(Dv(!0)),t&&r(ko())};return n?i.jsx(ze,{tooltip:"Show Gallery (G)",tooltipProps:{placement:"top"},"aria-label":e("accessibility.showGallery"),onClick:o,sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",p:0,insetInlineEnd:0,px:3,h:48,w:8,borderStartEndRadius:0,borderEndEndRadius:0,shadow:"2xl"},children:i.jsx(ete,{})}):null},Tde=f.memo(Ade),wv={borderStartStartRadius:0,borderEndStartRadius:0,shadow:"2xl"},Nde=be([Ba,Kn],(e,t)=>{const{shouldPinParametersPanel:n,shouldUseCanvasBetaLayout:r,shouldShowParametersPanel:o}=e,s=r&&t==="unifiedCanvas",a=!s&&(!n||!o),c=!s&&!o&&["txt2img","img2img","unifiedCanvas"].includes(t);return{shouldPinParametersPanel:n,shouldShowParametersPanelButton:c,shouldShowProcessButtons:a}},{memoizeOptions:{resultEqualityCheck:Zt}}),$de=()=>{const e=te(),{t}=ye(),{shouldShowProcessButtons:n,shouldShowParametersPanelButton:r,shouldPinParametersPanel:o}=B(Nde),s=()=>{e(ub(!0)),o&&e(ko())};return r?i.jsxs(W,{pos:"absolute",transform:"translate(0, -50%)",minW:8,top:"50%",insetInlineStart:"4.5rem",direction:"column",gap:2,children:[i.jsx(ze,{tooltip:"Show Options Panel (O)",tooltipProps:{placement:"top"},"aria-label":t("accessibility.showOptionsPanel"),onClick:s,sx:wv,children:i.jsx(xy,{})}),n&&i.jsxs(i.Fragment,{children:[i.jsx(Jy,{iconButton:!0,sx:wv}),i.jsx(ag,{sx:wv})]})]}):null},Lde=f.memo($de),zde=be([Ba,Kn],(e,t)=>{const{shouldPinParametersPanel:n,shouldShowParametersPanel:r}=e;return{activeTabName:t,shouldPinParametersPanel:n,shouldShowParametersPanel:r}},Je),Bde=()=>{const e=te(),{shouldPinParametersPanel:t,shouldShowParametersPanel:n,activeTabName:r}=B(zde),o=()=>{e(ub(!1))},s=B(c=>c.generation.model),a=f.useMemo(()=>r==="txt2img"?s&&s.base_model==="sdxl"?i.jsx(p8,{}):i.jsx(h8,{}):r==="img2img"?s&&s.base_model==="sdxl"?i.jsx(FO,{}):i.jsx(XO,{}):r==="unifiedCanvas"?i.jsx(R8,{}):null,[r,s]);return t?null:i.jsx(GI,{direction:"left",isResizable:!1,isOpen:n,onClose:o,children:i.jsxs(W,{sx:{flexDir:"column",h:"full",w:ex,gap:2,position:"relative",flexShrink:0,overflowY:"auto"},children:[i.jsxs(W,{paddingBottom:4,justifyContent:"space-between",alignItems:"center",children:[i.jsx(gO,{}),i.jsx(HO,{})]}),i.jsx(W,{sx:{gap:2,flexDirection:"column",h:"full",w:"full"},children:a})]})})},Fde=f.memo(Bde),Hde=be([e=>e.hotkeys,e=>e.ui],(e,t)=>{const{shift:n}=e,{shouldPinParametersPanel:r,shouldPinGallery:o}=t;return{shift:n,shouldPinGallery:o,shouldPinParametersPanel:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),Wde=()=>{const e=te(),{shift:t,shouldPinParametersPanel:n,shouldPinGallery:r}=B(Hde),o=B(Kn);return tt("*",()=>{mP("shift")?!t&&e(jo(!0)):t&&e(jo(!1))},{keyup:!0,keydown:!0},[t]),tt("o",()=>{e(YD()),o==="unifiedCanvas"&&n&&e(ko())}),tt(["shift+o"],()=>{e(QD()),o==="unifiedCanvas"&&e(ko())}),tt("g",()=>{e(JD()),o==="unifiedCanvas"&&r&&e(ko())}),tt(["shift+g"],()=>{e(G_()),o==="unifiedCanvas"&&e(ko())}),tt("1",()=>{e(Yl("txt2img"))}),tt("2",()=>{e(Yl("img2img"))}),tt("3",()=>{e(Yl("unifiedCanvas"))}),tt("4",()=>{e(Yl("nodes"))}),null},Vde=f.memo(Wde),Ude={},Gde=({config:e=Ude,headerComponent:t})=>{const n=B(rP),r=OF(),o=te();return f.useEffect(()=>{Bn.changeLanguage(n)},[n]),f.useEffect(()=>{s5(e)&&(r.info({namespace:"App",config:e},"Received config"),o(ZD(e)))},[o,e,r]),f.useEffect(()=>{o(e9())},[o]),i.jsxs(i.Fragment,{children:[i.jsxs(sl,{w:"100vw",h:"100vh",position:"relative",overflow:"hidden",children:[i.jsx(FH,{children:i.jsxs(sl,{sx:{gap:4,p:4,gridAutoRows:"min-content auto",w:"full",h:"full"},children:[t||i.jsx(Yee,{}),i.jsx(W,{sx:{gap:4,w:"full",h:"full"},children:i.jsx(Mde,{})})]})}),i.jsx(Iee,{}),i.jsx(Fde,{}),i.jsx(Ju,{children:i.jsx(Lde,{})}),i.jsx(Ju,{children:i.jsx(Tde,{})})]}),i.jsx(sY,{}),i.jsx(eY,{}),i.jsx(RF,{}),i.jsx(Vde,{})]})},Jde=f.memo(Gde);export{Jde as default}; diff --git a/invokeai/frontend/web/dist/assets/App-44cdaaf3.js b/invokeai/frontend/web/dist/assets/App-44cdaaf3.js deleted file mode 100644 index 801b048b3a..0000000000 --- a/invokeai/frontend/web/dist/assets/App-44cdaaf3.js +++ /dev/null @@ -1,169 +0,0 @@ -import{t as wv,r as a7,i as Sv,a as Dc,b as x_,S as w_,c as S_,d as C_,e as Cv,f as k_,g as kv,h as i7,j as l7,k as c7,l as u7,m as __,n as d7,o as f7,p as p7,q as P_,s as h7,u as m7,v as g7,w as v7,x as b7,y as y7,z as f,A as i,B as om,C as Ap,D as x7,E as j_,F as I_,G as w7,P as md,H as K1,I as S7,J as C7,K as k7,L as _7,M as P7,N as j7,O as I7,Q as W2,R as E7,T as Ae,U as je,V as Ct,W as nt,X as gd,Y as mo,Z as Ir,_ as Fr,$ as qn,a0 as pl,a1 as ia,a2 as Ft,a3 as ns,a4 as tc,a5 as za,a6 as sm,a7 as X1,a8 as vd,a9 as sr,aa as O7,ab as H,ac as E_,ad as V2,ae as O_,af as _v,ag as Ac,ah as R7,ai as R_,aj as M_,ak as Tc,al as M7,am as fe,an as Ge,ao as Zt,ap as z,aq as D7,ar as U2,as as A7,at as T7,au as G2,av as te,aw as N7,ax as On,ay as Mn,az as Ee,aA as F,aB as Ys,aC as Ye,aD as Kn,aE as D_,aF as A_,aG as T_,aH as _i,aI as Ds,aJ as Y1,aK as $7,aL as z7,aM as L7,aN as Dl,aO as Pu,aP as B7,aQ as F7,aR as H7,aS as W7,aT as V7,aU as q2,aV as ui,aW as Q1,aX as Tp,aY as am,aZ as N_,a_ as os,a$ as $_,b0 as U7,b1 as Nc,b2 as z_,b3 as L_,b4 as Es,b5 as jo,b6 as ju,b7 as G7,b8 as q7,b9 as K7,ba as X7,bb as J1,bc as Np,bd as Y7,be as Q7,bf as Af,bg as Tf,bh as fu,bi as p0,bj as $u,bk as zu,bl as Lu,bm as Bu,bn as K2,bo as $p,bp as h0,bq as zp,br as m0,bs as Pv,bt as g0,bu as jv,bv as v0,bw as Lp,bx as X2,by as gc,bz as Y2,bA as vc,bB as Q2,bC as Bp,bD as Z1,bE as B_,bF as Iv,bG as Ev,bH as F_,bI as J7,bJ as Ov,bK as Z7,bL as Rv,bM as eb,bN as H_,bO as tb,bP as nb,bQ as eR,bR as tR,bS as im,bT as Xl,bU as nR,bV as rR,bW as Cp,bX as oR,bY as sR,bZ as aR,b_ as Mv,b$ as W_,c0 as iR,c1 as V_,c2 as U_,c3 as ss,c4 as J2,c5 as La,c6 as lR,c7 as Dv,c8 as cR,c9 as G_,ca as Z2,cb as uR,cc as dR,cd as fR,ce as pR,cf as hR,cg as mR,ch as rb,ci as ob,cj as gR,ck as Bn,cl as ew,cm as q_,cn as vR,co as bR,cp as yR,cq as xR,cr as wR,cs as SR,ct as CR,cu as kR,cv as _R,cw as K_,cx as PR,cy as jR,cz as IR,cA as ER,cB as OR,cC as RR,cD as MR,cE as DR,cF as AR,cG as TR,cH as tw,cI as NR,cJ as nw,cK as $R,cL as zR,cM as LR,cN as BR,cO as Yu,cP as so,cQ as bd,cR as yd,cS as FR,cT as Qn,cU as HR,cV as na,cW as sb,cX as lm,cY as WR,cZ as VR,c_ as UR,c$ as rw,d0 as Fp,d1 as GR,d2 as X_,d3 as ow,d4 as qR,d5 as KR,d6 as Ss,d7 as XR,d8 as YR,d9 as Y_,da as Q_,db as QR,dc as sw,dd as JR,de as ZR,df as J_,dg as eM,dh as tM,di as nM,dj as rM,dk as oM,dl as sM,dm as aM,dn as cm,dp as iM,dq as Z_,dr as aw,ds as Nf,dt as lM,du as ab,dv as e5,dw as cM,dx as uM,dy as dM,dz as ls,dA as fM,dB as pM,dC as hM,dD as mM,dE as gM,dF as vM,dG as bM,dH as yM,dI as xM,dJ as wM,dK as SM,dL as CM,dM as kM,dN as _M,dO as iw,dP as lw,dQ as PM,dR as t5,dS as n5,dT as xd,dU as r5,dV as qi,dW as o5,dX as cw,dY as jM,dZ as IM,d_ as s5,d$ as EM,e0 as OM,e1 as RM,e2 as MM,e3 as DM,e4 as ib,e5 as uw,e6 as a5,e7 as AM,e8 as dw,e9 as i5,ea as As,eb as TM,ec as l5,ed as fw,ee as NM,ef as $M,eg as zM,eh as LM,ei as BM,ej as FM,ek as HM,el as WM,em as VM,en as UM,eo as GM,ep as qM,eq as KM,er as XM,es as YM,et as QM,eu as JM,ev as ZM,ew as eD,ex as tD,ey as pw,ez as kp,eA as nD,eB as Hp,eC as c5,eD as Qu,eE as rD,eF as oD,eG as ea,eH as u5,eI as lb,eJ as wd,eK as sD,eL as aD,eM as iD,eN as Ea,eO as d5,eP as lD,eQ as cD,eR as f5,eS as uD,eT as dD,eU as fD,eV as pD,eW as hD,eX as mD,eY as gD,eZ as vD,e_ as bD,e$ as yD,f0 as hw,f1 as xD,f2 as wD,f3 as SD,f4 as CD,f5 as kD,f6 as _D,f7 as PD,f8 as jD,f9 as b0,fa as Js,fb as y0,fc as x0,fd as $f,fe as mw,ff as Av,fg as ID,fh as ED,fi as OD,fj as RD,fk as Wp,fl as p5,fm as h5,fn as MD,fo as DD,fp as m5,fq as g5,fr as v5,fs as b5,ft as y5,fu as x5,fv as w5,fw as S5,fx as nc,fy as rc,fz as C5,fA as k5,fB as AD,fC as _5,fD as P5,fE as j5,fF as I5,fG as E5,fH as O5,fI as cb,fJ as TD,fK as gw,fL as ND,fM as $D,fN as Vp,fO as vw,fP as bw,fQ as yw,fR as xw,fS as zD,fT as LD,fU as BD,fV as FD,fW as HD,fX as WD,fY as VD,fZ as UD,f_ as GD}from"./index-18f2f740.js";import{u as qD,c as KD,a as Dn,b as or,I as no,d as Ba,P as Ju,C as XD,e as ye,m as um,f as R5,g as Fa,h as YD,r as Ue,i as QD,j as ww,k as Vt,l as Sr}from"./MantineProvider-b20a2267.js";function JD(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}var Sw=1/0,ZD=17976931348623157e292;function w0(e){if(!e)return e===0?e:0;if(e=wv(e),e===Sw||e===-Sw){var t=e<0?-1:1;return t*ZD}return e===e?e:0}var e9=function(){return a7.Date.now()};const S0=e9;var t9="Expected a function",n9=Math.max,r9=Math.min;function o9(e,t,n){var r,o,s,a,c,d,p=0,h=!1,m=!1,v=!0;if(typeof e!="function")throw new TypeError(t9);t=wv(t)||0,Sv(n)&&(h=!!n.leading,m="maxWait"in n,s=m?n9(wv(n.maxWait)||0,t):s,v="trailing"in n?!!n.trailing:v);function b(O){var R=r,M=o;return r=o=void 0,p=O,a=e.apply(M,R),a}function w(O){return p=O,c=setTimeout(_,t),h?b(O):a}function y(O){var R=O-d,M=O-p,A=t-R;return m?r9(A,s-M):A}function S(O){var R=O-d,M=O-p;return d===void 0||R>=t||R<0||m&&M>=s}function _(){var O=S0();if(S(O))return k(O);c=setTimeout(_,y(O))}function k(O){return c=void 0,v&&r?b(O):(r=o=void 0,a)}function j(){c!==void 0&&clearTimeout(c),p=0,r=d=o=c=void 0}function I(){return c===void 0?a:k(S0())}function E(){var O=S0(),R=S(O);if(r=arguments,o=this,d=O,R){if(c===void 0)return w(d);if(m)return clearTimeout(c),c=setTimeout(_,t),b(d)}return c===void 0&&(c=setTimeout(_,t)),a}return E.cancel=j,E.flush=I,E}var s9=200;function a9(e,t,n,r){var o=-1,s=S_,a=!0,c=e.length,d=[],p=t.length;if(!c)return d;n&&(t=Dc(t,x_(n))),r?(s=C_,a=!1):t.length>=s9&&(s=Cv,a=!1,t=new w_(t));e:for(;++o=120&&h.length>=120)?new w_(a&&h):void 0}h=e[0];var m=-1,v=c[0];e:for(;++m{r.has(s)&&n(o,s)})}const M5=({id:e,x:t,y:n,width:r,height:o,style:s,color:a,strokeColor:c,strokeWidth:d,className:p,borderRadius:h,shapeRendering:m,onClick:v})=>{const{background:b,backgroundColor:w}=s||{},y=a||b||w;return i.jsx("rect",{className:om(["react-flow__minimap-node",p]),x:t,y:n,rx:h,ry:h,width:r,height:o,fill:y,stroke:c,strokeWidth:d,shapeRendering:m,onClick:v?S=>v(S,e):void 0})};M5.displayName="MiniMapNode";var P9=f.memo(M5);const j9=e=>e.nodeOrigin,I9=e=>e.getNodes().filter(t=>!t.hidden&&t.width&&t.height),C0=e=>e instanceof Function?e:()=>e;function E9({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o=2,nodeComponent:s=P9,onClick:a}){const c=Ap(I9,K1),d=Ap(j9),p=C0(t),h=C0(e),m=C0(n),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return i.jsx(i.Fragment,{children:c.map(b=>{const{x:w,y}=x7(b,d).positionAbsolute;return i.jsx(s,{x:w,y,width:b.width,height:b.height,style:b.style,className:m(b),color:p(b),borderRadius:r,strokeColor:h(b),strokeWidth:o,shapeRendering:v,onClick:a,id:b.id},b.id)})})}var O9=f.memo(E9);const R9=200,M9=150,D9=e=>{const t=e.getNodes(),n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:t.length>0?k7(_7(t,e.nodeOrigin),n):n,rfId:e.rfId}},A9="react-flow__minimap-desc";function D5({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:a=2,nodeComponent:c,maskColor:d="rgb(240, 240, 240, 0.6)",maskStrokeColor:p="none",maskStrokeWidth:h=1,position:m="bottom-right",onClick:v,onNodeClick:b,pannable:w=!1,zoomable:y=!1,ariaLabel:S="React Flow mini map",inversePan:_=!1,zoomStep:k=10}){const j=j_(),I=f.useRef(null),{boundingRect:E,viewBB:O,rfId:R}=Ap(D9,K1),M=(e==null?void 0:e.width)??R9,A=(e==null?void 0:e.height)??M9,T=E.width/M,$=E.height/A,Q=Math.max(T,$),B=Q*M,V=Q*A,q=5*Q,G=E.x-(B-E.width)/2-q,D=E.y-(V-E.height)/2-q,L=B+q*2,W=V+q*2,Y=`${A9}-${R}`,ae=f.useRef(0);ae.current=Q,f.useEffect(()=>{if(I.current){const X=I_(I.current),K=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le}=j.getState();if(re.sourceEvent.type!=="wheel"||!pe||!le)return;const ge=-re.sourceEvent.deltaY*(re.sourceEvent.deltaMode===1?.05:re.sourceEvent.deltaMode?1:.002)*k,ke=oe[2]*Math.pow(2,ge);le.scaleTo(pe,ke)},U=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le,translateExtent:ge,width:ke,height:xe}=j.getState();if(re.sourceEvent.type!=="mousemove"||!pe||!le)return;const de=ae.current*Math.max(1,oe[2])*(_?-1:1),Te={x:oe[0]-re.sourceEvent.movementX*de,y:oe[1]-re.sourceEvent.movementY*de},Oe=[[0,0],[ke,xe]],$e=S7.translate(Te.x,Te.y).scale(oe[2]),kt=le.constrain()($e,Oe,ge);le.transform(pe,kt)},se=w7().on("zoom",w?U:null).on("zoom.wheel",y?K:null);return X.call(se),()=>{X.on("zoom",null)}}},[w,y,_,k]);const be=v?X=>{const K=C7(X);v(X,{x:K[0],y:K[1]})}:void 0,ie=b?(X,K)=>{const U=j.getState().nodeInternals.get(K);b(X,U)}:void 0;return i.jsx(md,{position:m,style:e,className:om(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:i.jsxs("svg",{width:M,height:A,viewBox:`${G} ${D} ${L} ${W}`,role:"img","aria-labelledby":Y,ref:I,onClick:be,children:[S&&i.jsx("title",{id:Y,children:S}),i.jsx(O9,{onClick:ie,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:a,nodeComponent:c}),i.jsx("path",{className:"react-flow__minimap-mask",d:`M${G-q},${D-q}h${L+q*2}v${W+q*2}h${-L-q*2}z - M${O.x},${O.y}h${O.width}v${O.height}h${-O.width}z`,fill:d,fillRule:"evenodd",stroke:p,strokeWidth:h,pointerEvents:"none"})]})})}D5.displayName="MiniMap";var T9=f.memo(D5),Cs;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Cs||(Cs={}));function N9({color:e,dimensions:t,lineWidth:n}){return i.jsx("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function $9({color:e,radius:t}){return i.jsx("circle",{cx:t,cy:t,r:t,fill:e})}const z9={[Cs.Dots]:"#91919a",[Cs.Lines]:"#eee",[Cs.Cross]:"#e2e2e2"},L9={[Cs.Dots]:1,[Cs.Lines]:1,[Cs.Cross]:6},B9=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function A5({id:e,variant:t=Cs.Dots,gap:n=20,size:r,lineWidth:o=1,offset:s=2,color:a,style:c,className:d}){const p=f.useRef(null),{transform:h,patternId:m}=Ap(B9,K1),v=a||z9[t],b=r||L9[t],w=t===Cs.Dots,y=t===Cs.Cross,S=Array.isArray(n)?n:[n,n],_=[S[0]*h[2]||1,S[1]*h[2]||1],k=b*h[2],j=y?[k,k]:_,I=w?[k/s,k/s]:[j[0]/s,j[1]/s];return i.jsxs("svg",{className:om(["react-flow__background",d]),style:{...c,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:p,"data-testid":"rf__background",children:[i.jsx("pattern",{id:m+e,x:h[0]%_[0],y:h[1]%_[1],width:_[0],height:_[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${I[0]},-${I[1]})`,children:w?i.jsx($9,{color:v,radius:k/s}):i.jsx(N9,{dimensions:j,color:v,lineWidth:o})}),i.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${m+e})`})]})}A5.displayName="Background";var F9=f.memo(A5),Fu;(function(e){e.Line="line",e.Handle="handle"})(Fu||(Fu={}));function H9({width:e,prevWidth:t,height:n,prevHeight:r,invertX:o,invertY:s}){const a=e-t,c=n-r,d=[a>0?1:a<0?-1:0,c>0?1:c<0?-1:0];return a&&o&&(d[0]=d[0]*-1),c&&s&&(d[1]=d[1]*-1),d}const T5={width:0,height:0,x:0,y:0},W9={...T5,pointerX:0,pointerY:0,aspectRatio:1};function V9({nodeId:e,position:t,variant:n=Fu.Handle,className:r,style:o={},children:s,color:a,minWidth:c=10,minHeight:d=10,maxWidth:p=Number.MAX_VALUE,maxHeight:h=Number.MAX_VALUE,keepAspectRatio:m=!1,shouldResize:v,onResizeStart:b,onResize:w,onResizeEnd:y}){const S=P7(),_=typeof e=="string"?e:S,k=j_(),j=f.useRef(null),I=f.useRef(W9),E=f.useRef(T5),O=j7(),R=n===Fu.Line?"right":"bottom-right",M=t??R;f.useEffect(()=>{if(!j.current||!_)return;const Q=I_(j.current),B=M.includes("right")||M.includes("left"),V=M.includes("bottom")||M.includes("top"),q=M.includes("left"),G=M.includes("top"),D=I7().on("start",L=>{const W=k.getState().nodeInternals.get(_),{xSnapped:Y,ySnapped:ae}=O(L);E.current={width:(W==null?void 0:W.width)??0,height:(W==null?void 0:W.height)??0,x:(W==null?void 0:W.position.x)??0,y:(W==null?void 0:W.position.y)??0},I.current={...E.current,pointerX:Y,pointerY:ae,aspectRatio:E.current.width/E.current.height},b==null||b(L,{...E.current})}).on("drag",L=>{const{nodeInternals:W,triggerNodeChanges:Y}=k.getState(),{xSnapped:ae,ySnapped:be}=O(L),ie=W.get(_);if(ie){const X=[],{pointerX:K,pointerY:U,width:se,height:re,x:oe,y:pe,aspectRatio:le}=I.current,{x:ge,y:ke,width:xe,height:de}=E.current,Te=Math.floor(B?ae-K:0),Oe=Math.floor(V?be-U:0);let $e=W2(se+(q?-Te:Te),c,p),kt=W2(re+(G?-Oe:Oe),d,h);if(m){const Me=$e/kt,Pt=B&&V,Tt=B&&!V,we=V&&!B;$e=Me<=le&&Pt||we?kt*le:$e,kt=Me>le&&Pt||Tt?$e/le:kt,$e>=p?($e=p,kt=p/le):$e<=c&&($e=c,kt=c/le),kt>=h?(kt=h,$e=h*le):kt<=d&&(kt=d,$e=d*le)}const ct=$e!==xe,on=kt!==de;if(q||G){const Me=q?oe-($e-se):oe,Pt=G?pe-(kt-re):pe,Tt=Me!==ge&&ct,we=Pt!==ke&&on;if(Tt||we){const ht={id:ie.id,type:"position",position:{x:Tt?Me:ge,y:we?Pt:ke}};X.push(ht),E.current.x=ht.position.x,E.current.y=ht.position.y}}if(ct||on){const Me={id:_,type:"dimensions",updateStyle:!0,resizing:!0,dimensions:{width:$e,height:kt}};X.push(Me),E.current.width=$e,E.current.height=kt}if(X.length===0)return;const vt=H9({width:E.current.width,prevWidth:xe,height:E.current.height,prevHeight:de,invertX:q,invertY:G}),bt={...E.current,direction:vt};if((v==null?void 0:v(L,bt))===!1)return;w==null||w(L,bt),Y(X)}}).on("end",L=>{const W={id:_,type:"dimensions",resizing:!1};y==null||y(L,{...E.current}),k.getState().triggerNodeChanges([W])});return Q.call(D),()=>{Q.on(".drag",null)}},[_,M,c,d,p,h,m,O,b,w,y]);const A=M.split("-"),T=n===Fu.Line?"borderColor":"backgroundColor",$=a?{...o,[T]:a}:o;return i.jsx("div",{className:om(["react-flow__resize-control","nodrag",...A,n,r]),ref:j,style:$,children:s})}var U9=f.memo(V9);const N5=1/60*1e3,G9=typeof performance<"u"?()=>performance.now():()=>Date.now(),$5=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(G9()),N5);function q9(e){let t=[],n=[],r=0,o=!1,s=!1;const a=new WeakSet,c={schedule:(d,p=!1,h=!1)=>{const m=h&&o,v=m?t:n;return p&&a.add(d),v.indexOf(d)===-1&&(v.push(d),m&&o&&(r=t.length)),d},cancel:d=>{const p=n.indexOf(d);p!==-1&&n.splice(p,1),a.delete(d)},process:d=>{if(o){s=!0;return}if(o=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let p=0;p(e[t]=q9(()=>Zu=!0),e),{}),X9=Sd.reduce((e,t)=>{const n=dm[t];return e[t]=(r,o=!1,s=!1)=>(Zu||J9(),n.schedule(r,o,s)),e},{}),Y9=Sd.reduce((e,t)=>(e[t]=dm[t].cancel,e),{});Sd.reduce((e,t)=>(e[t]=()=>dm[t].process(oc),e),{});const Q9=e=>dm[e].process(oc),z5=e=>{Zu=!1,oc.delta=Tv?N5:Math.max(Math.min(e-oc.timestamp,K9),1),oc.timestamp=e,Nv=!0,Sd.forEach(Q9),Nv=!1,Zu&&(Tv=!1,$5(z5))},J9=()=>{Zu=!0,Tv=!0,Nv||$5(z5)},_w=()=>oc;function ub(e){const t=Object.assign({},e);for(let n in t)t[n]===void 0&&delete t[n];return t}function Z9(e){const{theme:t}=E7(),n=qD();return f.useMemo(()=>KD(t.direction,{...n,...e}),[e,t.direction,n])}var eA=Object.defineProperty,tA=(e,t,n)=>t in e?eA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vr=(e,t,n)=>(tA(e,typeof t!="symbol"?t+"":t,n),n);function Pw(e){return e.sort((t,n)=>{const r=t.compareDocumentPosition(n);if(r&Node.DOCUMENT_POSITION_FOLLOWING||r&Node.DOCUMENT_POSITION_CONTAINED_BY)return-1;if(r&Node.DOCUMENT_POSITION_PRECEDING||r&Node.DOCUMENT_POSITION_CONTAINS)return 1;if(r&Node.DOCUMENT_POSITION_DISCONNECTED||r&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC)throw Error("Cannot sort the given nodes.");return 0})}var nA=e=>typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE;function jw(e,t,n){let r=e+1;return n&&r>=t&&(r=0),r}function Iw(e,t,n){let r=e-1;return n&&r<0&&(r=t),r}var $v=typeof window<"u"?f.useLayoutEffect:f.useEffect,Up=e=>e,rA=class{constructor(){vr(this,"descendants",new Map),vr(this,"register",e=>{if(e!=null)return nA(e)?this.registerNode(e):t=>{this.registerNode(t,e)}}),vr(this,"unregister",e=>{this.descendants.delete(e);const t=Pw(Array.from(this.descendants.keys()));this.assignIndex(t)}),vr(this,"destroy",()=>{this.descendants.clear()}),vr(this,"assignIndex",e=>{this.descendants.forEach(t=>{const n=e.indexOf(t.node);t.index=n,t.node.dataset.index=t.index.toString()})}),vr(this,"count",()=>this.descendants.size),vr(this,"enabledCount",()=>this.enabledValues().length),vr(this,"values",()=>Array.from(this.descendants.values()).sort((t,n)=>t.index-n.index)),vr(this,"enabledValues",()=>this.values().filter(e=>!e.disabled)),vr(this,"item",e=>{if(this.count()!==0)return this.values()[e]}),vr(this,"enabledItem",e=>{if(this.enabledCount()!==0)return this.enabledValues()[e]}),vr(this,"first",()=>this.item(0)),vr(this,"firstEnabled",()=>this.enabledItem(0)),vr(this,"last",()=>this.item(this.descendants.size-1)),vr(this,"lastEnabled",()=>{const e=this.enabledValues().length-1;return this.enabledItem(e)}),vr(this,"indexOf",e=>{var t,n;return e&&(n=(t=this.descendants.get(e))==null?void 0:t.index)!=null?n:-1}),vr(this,"enabledIndexOf",e=>e==null?-1:this.enabledValues().findIndex(t=>t.node.isSameNode(e))),vr(this,"next",(e,t=!0)=>{const n=jw(e,this.count(),t);return this.item(n)}),vr(this,"nextEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=jw(r,this.enabledCount(),t);return this.enabledItem(o)}),vr(this,"prev",(e,t=!0)=>{const n=Iw(e,this.count()-1,t);return this.item(n)}),vr(this,"prevEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=Iw(r,this.enabledCount()-1,t);return this.enabledItem(o)}),vr(this,"registerNode",(e,t)=>{if(!e||this.descendants.has(e))return;const n=Array.from(this.descendants.keys()).concat(e),r=Pw(n);t!=null&&t.disabled&&(t.disabled=!!t.disabled);const o={node:e,index:-1,...t};this.descendants.set(e,o),this.assignIndex(r)})}};function oA(e,t){if(e!=null){if(typeof e=="function"){e(t);return}try{e.current=t}catch{throw new Error(`Cannot assign value '${t}' to ref '${e}'`)}}}function cn(...e){return t=>{e.forEach(n=>{oA(n,t)})}}function sA(...e){return f.useMemo(()=>cn(...e),e)}function aA(){const e=f.useRef(new rA);return $v(()=>()=>e.current.destroy()),e.current}var[iA,L5]=Dn({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function lA(e){const t=L5(),[n,r]=f.useState(-1),o=f.useRef(null);$v(()=>()=>{o.current&&t.unregister(o.current)},[]),$v(()=>{if(!o.current)return;const a=Number(o.current.dataset.index);n!=a&&!Number.isNaN(a)&&r(a)});const s=Up(e?t.register(e):t.register);return{descendants:t,index:n,enabledIndex:t.enabledIndexOf(o.current),register:cn(s,o)}}function db(){return[Up(iA),()=>Up(L5()),()=>aA(),o=>lA(o)]}var[cA,fm]=Dn({name:"AccordionStylesContext",hookName:"useAccordionStyles",providerName:""}),[uA,fb]=Dn({name:"AccordionItemContext",hookName:"useAccordionItemContext",providerName:""}),[dA,Ode,fA,pA]=db(),Iu=Ae(function(t,n){const{getButtonProps:r}=fb(),o=r(t,n),a={display:"flex",alignItems:"center",width:"100%",outline:0,...fm().button};return i.jsx(je.button,{...o,className:Ct("chakra-accordion__button",t.className),__css:a})});Iu.displayName="AccordionButton";function $c(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:o=(v,b)=>v!==b}=e,s=or(r),a=or(o),[c,d]=f.useState(n),p=t!==void 0,h=p?t:c,m=or(v=>{const w=typeof v=="function"?v(h):v;a(h,w)&&(p||d(w),s(w))},[p,s,h,a]);return[h,m]}function hA(e){const{onChange:t,defaultIndex:n,index:r,allowMultiple:o,allowToggle:s,...a}=e;vA(e),bA(e);const c=fA(),[d,p]=f.useState(-1);f.useEffect(()=>()=>{p(-1)},[]);const[h,m]=$c({value:r,defaultValue(){return o?n??[]:n??-1},onChange:t});return{index:h,setIndex:m,htmlProps:a,getAccordionItemProps:b=>{let w=!1;return b!==null&&(w=Array.isArray(h)?h.includes(b):h===b),{isOpen:w,onChange:S=>{if(b!==null)if(o&&Array.isArray(h)){const _=S?h.concat(b):h.filter(k=>k!==b);m(_)}else S?m(b):s&&m(-1)}}},focusedIndex:d,setFocusedIndex:p,descendants:c}}var[mA,pb]=Dn({name:"AccordionContext",hookName:"useAccordionContext",providerName:"Accordion"});function gA(e){const{isDisabled:t,isFocusable:n,id:r,...o}=e,{getAccordionItemProps:s,setFocusedIndex:a}=pb(),c=f.useRef(null),d=f.useId(),p=r??d,h=`accordion-button-${p}`,m=`accordion-panel-${p}`;yA(e);const{register:v,index:b,descendants:w}=pA({disabled:t&&!n}),{isOpen:y,onChange:S}=s(b===-1?null:b);xA({isOpen:y,isDisabled:t});const _=()=>{S==null||S(!0)},k=()=>{S==null||S(!1)},j=f.useCallback(()=>{S==null||S(!y),a(b)},[b,a,y,S]),I=f.useCallback(M=>{const T={ArrowDown:()=>{const $=w.nextEnabled(b);$==null||$.node.focus()},ArrowUp:()=>{const $=w.prevEnabled(b);$==null||$.node.focus()},Home:()=>{const $=w.firstEnabled();$==null||$.node.focus()},End:()=>{const $=w.lastEnabled();$==null||$.node.focus()}}[M.key];T&&(M.preventDefault(),T(M))},[w,b]),E=f.useCallback(()=>{a(b)},[a,b]),O=f.useCallback(function(A={},T=null){return{...A,type:"button",ref:cn(v,c,T),id:h,disabled:!!t,"aria-expanded":!!y,"aria-controls":m,onClick:nt(A.onClick,j),onFocus:nt(A.onFocus,E),onKeyDown:nt(A.onKeyDown,I)}},[h,t,y,j,E,I,m,v]),R=f.useCallback(function(A={},T=null){return{...A,ref:T,role:"region",id:m,"aria-labelledby":h,hidden:!y}},[h,y,m]);return{isOpen:y,isDisabled:t,isFocusable:n,onOpen:_,onClose:k,getButtonProps:O,getPanelProps:R,htmlProps:o}}function vA(e){const t=e.index||e.defaultIndex,n=t!=null&&!Array.isArray(t)&&e.allowMultiple;gd({condition:!!n,message:`If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: ${typeof t},`})}function bA(e){gd({condition:!!(e.allowMultiple&&e.allowToggle),message:"If 'allowMultiple' is passed, 'allowToggle' will be ignored. Either remove 'allowToggle' or 'allowMultiple' depending on whether you want multiple accordions visible or not"})}function yA(e){gd({condition:!!(e.isFocusable&&!e.isDisabled),message:`Using only 'isFocusable', this prop is reserved for situations where you pass 'isDisabled' but you still want the element to receive focus (A11y). Either remove it or pass 'isDisabled' as well. - `})}function xA(e){gd({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}function Eu(e){const{isOpen:t,isDisabled:n}=fb(),{reduceMotion:r}=pb(),o=Ct("chakra-accordion__icon",e.className),s=fm(),a={opacity:n?.4:1,transform:t?"rotate(-180deg)":void 0,transition:r?void 0:"transform 0.2s",transformOrigin:"center",...s.icon};return i.jsx(no,{viewBox:"0 0 24 24","aria-hidden":!0,className:o,__css:a,...e,children:i.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})})}Eu.displayName="AccordionIcon";var Ou=Ae(function(t,n){const{children:r,className:o}=t,{htmlProps:s,...a}=gA(t),d={...fm().container,overflowAnchor:"none"},p=f.useMemo(()=>a,[a]);return i.jsx(uA,{value:p,children:i.jsx(je.div,{ref:n,...s,className:Ct("chakra-accordion__item",o),__css:d,children:typeof r=="function"?r({isExpanded:!!a.isOpen,isDisabled:!!a.isDisabled}):r})})});Ou.displayName="AccordionItem";var Ki={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]},pu={scale:{enter:{scale:1},exit:{scale:.95}},fade:{enter:{opacity:1},exit:{opacity:0}},pushLeft:{enter:{x:"100%"},exit:{x:"-30%"}},pushRight:{enter:{x:"-100%"},exit:{x:"30%"}},pushUp:{enter:{y:"100%"},exit:{y:"-30%"}},pushDown:{enter:{y:"-100%"},exit:{y:"30%"}},slideLeft:{position:{left:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"-100%",y:0}},slideRight:{position:{right:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"100%",y:0}},slideUp:{position:{top:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"-100%"}},slideDown:{position:{bottom:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"100%"}}};function zv(e){var t;switch((t=e==null?void 0:e.direction)!=null?t:"right"){case"right":return pu.slideRight;case"left":return pu.slideLeft;case"bottom":return pu.slideDown;case"top":return pu.slideUp;default:return pu.slideRight}}var Yi={enter:{duration:.2,ease:Ki.easeOut},exit:{duration:.1,ease:Ki.easeIn}},ks={enter:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.enter}),exit:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.exit})},wA=e=>e!=null&&parseInt(e.toString(),10)>0,Ew={exit:{height:{duration:.2,ease:Ki.ease},opacity:{duration:.3,ease:Ki.ease}},enter:{height:{duration:.3,ease:Ki.ease},opacity:{duration:.4,ease:Ki.ease}}},SA={exit:({animateOpacity:e,startingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:wA(t)?1:0},height:t,transitionEnd:r==null?void 0:r.exit,transition:(s=n==null?void 0:n.exit)!=null?s:ks.exit(Ew.exit,o)}},enter:({animateOpacity:e,endingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:1},height:t,transitionEnd:r==null?void 0:r.enter,transition:(s=n==null?void 0:n.enter)!=null?s:ks.enter(Ew.enter,o)}}},pm=f.forwardRef((e,t)=>{const{in:n,unmountOnExit:r,animateOpacity:o=!0,startingHeight:s=0,endingHeight:a="auto",style:c,className:d,transition:p,transitionEnd:h,...m}=e,[v,b]=f.useState(!1);f.useEffect(()=>{const k=setTimeout(()=>{b(!0)});return()=>clearTimeout(k)},[]),gd({condition:Number(s)>0&&!!r,message:"startingHeight and unmountOnExit are mutually exclusive. You can't use them together"});const w=parseFloat(s.toString())>0,y={startingHeight:s,endingHeight:a,animateOpacity:o,transition:v?p:{enter:{duration:0}},transitionEnd:{enter:h==null?void 0:h.enter,exit:r?h==null?void 0:h.exit:{...h==null?void 0:h.exit,display:w?"block":"none"}}},S=r?n:!0,_=n||r?"enter":"exit";return i.jsx(mo,{initial:!1,custom:y,children:S&&i.jsx(Ir.div,{ref:t,...m,className:Ct("chakra-collapse",d),style:{overflow:"hidden",display:"block",...c},custom:y,variants:SA,initial:r?"exit":!1,animate:_,exit:"exit"})})});pm.displayName="Collapse";var CA={enter:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:1,transition:(r=e==null?void 0:e.enter)!=null?r:ks.enter(Yi.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:0,transition:(r=e==null?void 0:e.exit)!=null?r:ks.exit(Yi.exit,n),transitionEnd:t==null?void 0:t.exit}}},B5={initial:"exit",animate:"enter",exit:"exit",variants:CA},kA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,className:s,transition:a,transitionEnd:c,delay:d,...p}=t,h=o||r?"enter":"exit",m=r?o&&r:!0,v={transition:a,transitionEnd:c,delay:d};return i.jsx(mo,{custom:v,children:m&&i.jsx(Ir.div,{ref:n,className:Ct("chakra-fade",s),custom:v,...B5,animate:h,...p})})});kA.displayName="Fade";var _A={exit:({reverse:e,initialScale:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,...e?{scale:t,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{scale:t,...r==null?void 0:r.exit}},transition:(s=n==null?void 0:n.exit)!=null?s:ks.exit(Yi.exit,o)}},enter:({transitionEnd:e,transition:t,delay:n})=>{var r;return{opacity:1,scale:1,transition:(r=t==null?void 0:t.enter)!=null?r:ks.enter(Yi.enter,n),transitionEnd:e==null?void 0:e.enter}}},F5={initial:"exit",animate:"enter",exit:"exit",variants:_A},PA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,initialScale:a=.95,className:c,transition:d,transitionEnd:p,delay:h,...m}=t,v=r?o&&r:!0,b=o||r?"enter":"exit",w={initialScale:a,reverse:s,transition:d,transitionEnd:p,delay:h};return i.jsx(mo,{custom:w,children:v&&i.jsx(Ir.div,{ref:n,className:Ct("chakra-offset-slide",c),...F5,animate:b,custom:w,...m})})});PA.displayName="ScaleFade";var jA={initial:({offsetX:e,offsetY:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,x:e,y:t,transition:(s=n==null?void 0:n.exit)!=null?s:ks.exit(Yi.exit,o),transitionEnd:r==null?void 0:r.exit}},enter:({transition:e,transitionEnd:t,delay:n})=>{var r;return{opacity:1,x:0,y:0,transition:(r=e==null?void 0:e.enter)!=null?r:ks.enter(Yi.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({offsetY:e,offsetX:t,transition:n,transitionEnd:r,reverse:o,delay:s})=>{var a;const c={x:t,y:e};return{opacity:0,transition:(a=n==null?void 0:n.exit)!=null?a:ks.exit(Yi.exit,s),...o?{...c,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{...c,...r==null?void 0:r.exit}}}}},Lv={initial:"initial",animate:"enter",exit:"exit",variants:jA},IA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,className:a,offsetX:c=0,offsetY:d=8,transition:p,transitionEnd:h,delay:m,...v}=t,b=r?o&&r:!0,w=o||r?"enter":"exit",y={offsetX:c,offsetY:d,reverse:s,transition:p,transitionEnd:h,delay:m};return i.jsx(mo,{custom:y,children:b&&i.jsx(Ir.div,{ref:n,className:Ct("chakra-offset-slide",a),custom:y,...Lv,animate:w,...v})})});IA.displayName="SlideFade";var Ow={exit:{duration:.15,ease:Ki.easeInOut},enter:{type:"spring",damping:25,stiffness:180}},EA={exit:({direction:e,transition:t,transitionEnd:n,delay:r})=>{var o;const{exit:s}=zv({direction:e});return{...s,transition:(o=t==null?void 0:t.exit)!=null?o:ks.exit(Ow.exit,r),transitionEnd:n==null?void 0:n.exit}},enter:({direction:e,transitionEnd:t,transition:n,delay:r})=>{var o;const{enter:s}=zv({direction:e});return{...s,transition:(o=n==null?void 0:n.enter)!=null?o:ks.enter(Ow.enter,r),transitionEnd:t==null?void 0:t.enter}}},H5=f.forwardRef(function(t,n){const{direction:r="right",style:o,unmountOnExit:s,in:a,className:c,transition:d,transitionEnd:p,delay:h,motionProps:m,...v}=t,b=zv({direction:r}),w=Object.assign({position:"fixed"},b.position,o),y=s?a&&s:!0,S=a||s?"enter":"exit",_={transitionEnd:p,transition:d,direction:r,delay:h};return i.jsx(mo,{custom:_,children:y&&i.jsx(Ir.div,{...v,ref:n,initial:"exit",className:Ct("chakra-slide",c),animate:S,exit:"exit",custom:_,variants:EA,style:w,...m})})});H5.displayName="Slide";var Ru=Ae(function(t,n){const{className:r,motionProps:o,...s}=t,{reduceMotion:a}=pb(),{getPanelProps:c,isOpen:d}=fb(),p=c(s,n),h=Ct("chakra-accordion__panel",r),m=fm();a||delete p.hidden;const v=i.jsx(je.div,{...p,__css:m.panel,className:h});return a?v:i.jsx(pm,{in:d,...o,children:v})});Ru.displayName="AccordionPanel";var W5=Ae(function({children:t,reduceMotion:n,...r},o){const s=Fr("Accordion",r),a=qn(r),{htmlProps:c,descendants:d,...p}=hA(a),h=f.useMemo(()=>({...p,reduceMotion:!!n}),[p,n]);return i.jsx(dA,{value:d,children:i.jsx(mA,{value:h,children:i.jsx(cA,{value:s,children:i.jsx(je.div,{ref:o,...c,className:Ct("chakra-accordion",r.className),__css:s.root,children:t})})})})});W5.displayName="Accordion";function Cd(e){return f.Children.toArray(e).filter(t=>f.isValidElement(t))}var[OA,RA]=Dn({strict:!1,name:"ButtonGroupContext"}),MA={horizontal:{"> *:first-of-type:not(:last-of-type)":{borderEndRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderStartRadius:0}},vertical:{"> *:first-of-type:not(:last-of-type)":{borderBottomRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderTopRadius:0}}},DA={horizontal:e=>({"& > *:not(style) ~ *:not(style)":{marginStart:e}}),vertical:e=>({"& > *:not(style) ~ *:not(style)":{marginTop:e}})},rr=Ae(function(t,n){const{size:r,colorScheme:o,variant:s,className:a,spacing:c="0.5rem",isAttached:d,isDisabled:p,orientation:h="horizontal",...m}=t,v=Ct("chakra-button__group",a),b=f.useMemo(()=>({size:r,colorScheme:o,variant:s,isDisabled:p}),[r,o,s,p]);let w={display:"inline-flex",...d?MA[h]:DA[h](c)};const y=h==="vertical";return i.jsx(OA,{value:b,children:i.jsx(je.div,{ref:n,role:"group",__css:w,className:v,"data-attached":d?"":void 0,"data-orientation":h,flexDir:y?"column":void 0,...m})})});rr.displayName="ButtonGroup";function AA(e){const[t,n]=f.useState(!e);return{ref:f.useCallback(s=>{s&&n(s.tagName==="BUTTON")},[]),type:t?"button":void 0}}function Bv(e){const{children:t,className:n,...r}=e,o=f.isValidElement(t)?f.cloneElement(t,{"aria-hidden":!0,focusable:!1}):t,s=Ct("chakra-button__icon",n);return i.jsx(je.span,{display:"inline-flex",alignSelf:"center",flexShrink:0,...r,className:s,children:o})}Bv.displayName="ButtonIcon";function Gp(e){const{label:t,placement:n,spacing:r="0.5rem",children:o=i.jsx(pl,{color:"currentColor",width:"1em",height:"1em"}),className:s,__css:a,...c}=e,d=Ct("chakra-button__spinner",s),p=n==="start"?"marginEnd":"marginStart",h=f.useMemo(()=>({display:"flex",alignItems:"center",position:t?"relative":"absolute",[p]:t?r:0,fontSize:"1em",lineHeight:"normal",...a}),[a,t,p,r]);return i.jsx(je.div,{className:d,...c,__css:h,children:o})}Gp.displayName="ButtonSpinner";var bc=Ae((e,t)=>{const n=RA(),r=ia("Button",{...n,...e}),{isDisabled:o=n==null?void 0:n.isDisabled,isLoading:s,isActive:a,children:c,leftIcon:d,rightIcon:p,loadingText:h,iconSpacing:m="0.5rem",type:v,spinner:b,spinnerPlacement:w="start",className:y,as:S,..._}=qn(e),k=f.useMemo(()=>{const O={...r==null?void 0:r._focus,zIndex:1};return{display:"inline-flex",appearance:"none",alignItems:"center",justifyContent:"center",userSelect:"none",position:"relative",whiteSpace:"nowrap",verticalAlign:"middle",outline:"none",...r,...!!n&&{_focus:O}}},[r,n]),{ref:j,type:I}=AA(S),E={rightIcon:p,leftIcon:d,iconSpacing:m,children:c};return i.jsxs(je.button,{ref:sA(t,j),as:S,type:v??I,"data-active":Ft(a),"data-loading":Ft(s),__css:k,className:Ct("chakra-button",y),..._,disabled:o||s,children:[s&&w==="start"&&i.jsx(Gp,{className:"chakra-button__spinner--start",label:h,placement:"start",spacing:m,children:b}),s?h||i.jsx(je.span,{opacity:0,children:i.jsx(Rw,{...E})}):i.jsx(Rw,{...E}),s&&w==="end"&&i.jsx(Gp,{className:"chakra-button__spinner--end",label:h,placement:"end",spacing:m,children:b})]})});bc.displayName="Button";function Rw(e){const{leftIcon:t,rightIcon:n,children:r,iconSpacing:o}=e;return i.jsxs(i.Fragment,{children:[t&&i.jsx(Bv,{marginEnd:o,children:t}),r,n&&i.jsx(Bv,{marginStart:o,children:n})]})}var Ca=Ae((e,t)=>{const{icon:n,children:r,isRound:o,"aria-label":s,...a}=e,c=n||r,d=f.isValidElement(c)?f.cloneElement(c,{"aria-hidden":!0,focusable:!1}):null;return i.jsx(bc,{padding:"0",borderRadius:o?"full":void 0,ref:t,"aria-label":s,...a,children:d})});Ca.displayName="IconButton";var[Rde,TA]=Dn({name:"CheckboxGroupContext",strict:!1});function NA(e){const[t,n]=f.useState(e),[r,o]=f.useState(!1);return e!==t&&(o(!0),n(e)),r}function $A(e){return i.jsx(je.svg,{width:"1.2em",viewBox:"0 0 12 10",style:{fill:"none",strokeWidth:2,stroke:"currentColor",strokeDasharray:16},...e,children:i.jsx("polyline",{points:"1.5 6 4.5 9 10.5 1"})})}function zA(e){return i.jsx(je.svg,{width:"1.2em",viewBox:"0 0 24 24",style:{stroke:"currentColor",strokeWidth:4},...e,children:i.jsx("line",{x1:"21",x2:"3",y1:"12",y2:"12"})})}function LA(e){const{isIndeterminate:t,isChecked:n,...r}=e,o=t?zA:$A;return n||t?i.jsx(je.div,{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:i.jsx(o,{...r})}):null}var[BA,V5]=Dn({name:"FormControlStylesContext",errorMessage:`useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[FA,kd]=Dn({strict:!1,name:"FormControlContext"});function HA(e){const{id:t,isRequired:n,isInvalid:r,isDisabled:o,isReadOnly:s,...a}=e,c=f.useId(),d=t||`field-${c}`,p=`${d}-label`,h=`${d}-feedback`,m=`${d}-helptext`,[v,b]=f.useState(!1),[w,y]=f.useState(!1),[S,_]=f.useState(!1),k=f.useCallback((R={},M=null)=>({id:m,...R,ref:cn(M,A=>{A&&y(!0)})}),[m]),j=f.useCallback((R={},M=null)=>({...R,ref:M,"data-focus":Ft(S),"data-disabled":Ft(o),"data-invalid":Ft(r),"data-readonly":Ft(s),id:R.id!==void 0?R.id:p,htmlFor:R.htmlFor!==void 0?R.htmlFor:d}),[d,o,S,r,s,p]),I=f.useCallback((R={},M=null)=>({id:h,...R,ref:cn(M,A=>{A&&b(!0)}),"aria-live":"polite"}),[h]),E=f.useCallback((R={},M=null)=>({...R,...a,ref:M,role:"group"}),[a]),O=f.useCallback((R={},M=null)=>({...R,ref:M,role:"presentation","aria-hidden":!0,children:R.children||"*"}),[]);return{isRequired:!!n,isInvalid:!!r,isReadOnly:!!s,isDisabled:!!o,isFocused:!!S,onFocus:()=>_(!0),onBlur:()=>_(!1),hasFeedbackText:v,setHasFeedbackText:b,hasHelpText:w,setHasHelpText:y,id:d,labelId:p,feedbackId:h,helpTextId:m,htmlProps:a,getHelpTextProps:k,getErrorMessageProps:I,getRootProps:E,getLabelProps:j,getRequiredIndicatorProps:O}}var go=Ae(function(t,n){const r=Fr("Form",t),o=qn(t),{getRootProps:s,htmlProps:a,...c}=HA(o),d=Ct("chakra-form-control",t.className);return i.jsx(FA,{value:c,children:i.jsx(BA,{value:r,children:i.jsx(je.div,{...s({},n),className:d,__css:r.container})})})});go.displayName="FormControl";var WA=Ae(function(t,n){const r=kd(),o=V5(),s=Ct("chakra-form__helper-text",t.className);return i.jsx(je.div,{...r==null?void 0:r.getHelpTextProps(t,n),__css:o.helperText,className:s})});WA.displayName="FormHelperText";var Lo=Ae(function(t,n){var r;const o=ia("FormLabel",t),s=qn(t),{className:a,children:c,requiredIndicator:d=i.jsx(U5,{}),optionalIndicator:p=null,...h}=s,m=kd(),v=(r=m==null?void 0:m.getLabelProps(h,n))!=null?r:{ref:n,...h};return i.jsxs(je.label,{...v,className:Ct("chakra-form__label",s.className),__css:{display:"block",textAlign:"start",...o},children:[c,m!=null&&m.isRequired?d:p]})});Lo.displayName="FormLabel";var U5=Ae(function(t,n){const r=kd(),o=V5();if(!(r!=null&&r.isRequired))return null;const s=Ct("chakra-form__required-indicator",t.className);return i.jsx(je.span,{...r==null?void 0:r.getRequiredIndicatorProps(t,n),__css:o.requiredIndicator,className:s})});U5.displayName="RequiredIndicator";function hb(e){const{isDisabled:t,isInvalid:n,isReadOnly:r,isRequired:o,...s}=mb(e);return{...s,disabled:t,readOnly:r,required:o,"aria-invalid":ns(n),"aria-required":ns(o),"aria-readonly":ns(r)}}function mb(e){var t,n,r;const o=kd(),{id:s,disabled:a,readOnly:c,required:d,isRequired:p,isInvalid:h,isReadOnly:m,isDisabled:v,onFocus:b,onBlur:w,...y}=e,S=e["aria-describedby"]?[e["aria-describedby"]]:[];return o!=null&&o.hasFeedbackText&&(o!=null&&o.isInvalid)&&S.push(o.feedbackId),o!=null&&o.hasHelpText&&S.push(o.helpTextId),{...y,"aria-describedby":S.join(" ")||void 0,id:s??(o==null?void 0:o.id),isDisabled:(t=a??v)!=null?t:o==null?void 0:o.isDisabled,isReadOnly:(n=c??m)!=null?n:o==null?void 0:o.isReadOnly,isRequired:(r=d??p)!=null?r:o==null?void 0:o.isRequired,isInvalid:h??(o==null?void 0:o.isInvalid),onFocus:nt(o==null?void 0:o.onFocus,b),onBlur:nt(o==null?void 0:o.onBlur,w)}}var gb={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},G5=je("span",{baseStyle:gb});G5.displayName="VisuallyHidden";var VA=je("input",{baseStyle:gb});VA.displayName="VisuallyHiddenInput";const UA=()=>typeof document<"u";let Mw=!1,_d=null,ol=!1,Fv=!1;const Hv=new Set;function vb(e,t){Hv.forEach(n=>n(e,t))}const GA=typeof window<"u"&&window.navigator!=null?/^Mac/.test(window.navigator.platform):!1;function qA(e){return!(e.metaKey||!GA&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function Dw(e){ol=!0,qA(e)&&(_d="keyboard",vb("keyboard",e))}function Tl(e){if(_d="pointer",e.type==="mousedown"||e.type==="pointerdown"){ol=!0;const t=e.composedPath?e.composedPath()[0]:e.target;let n=!1;try{n=t.matches(":focus-visible")}catch{}if(n)return;vb("pointer",e)}}function KA(e){return e.mozInputSource===0&&e.isTrusted?!0:e.detail===0&&!e.pointerType}function XA(e){KA(e)&&(ol=!0,_d="virtual")}function YA(e){e.target===window||e.target===document||(!ol&&!Fv&&(_d="virtual",vb("virtual",e)),ol=!1,Fv=!1)}function QA(){ol=!1,Fv=!0}function Aw(){return _d!=="pointer"}function JA(){if(!UA()||Mw)return;const{focus:e}=HTMLElement.prototype;HTMLElement.prototype.focus=function(...n){ol=!0,e.apply(this,n)},document.addEventListener("keydown",Dw,!0),document.addEventListener("keyup",Dw,!0),document.addEventListener("click",XA,!0),window.addEventListener("focus",YA,!0),window.addEventListener("blur",QA,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",Tl,!0),document.addEventListener("pointermove",Tl,!0),document.addEventListener("pointerup",Tl,!0)):(document.addEventListener("mousedown",Tl,!0),document.addEventListener("mousemove",Tl,!0),document.addEventListener("mouseup",Tl,!0)),Mw=!0}function q5(e){JA(),e(Aw());const t=()=>e(Aw());return Hv.add(t),()=>{Hv.delete(t)}}function ZA(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function K5(e={}){const t=mb(e),{isDisabled:n,isReadOnly:r,isRequired:o,isInvalid:s,id:a,onBlur:c,onFocus:d,"aria-describedby":p}=t,{defaultChecked:h,isChecked:m,isFocusable:v,onChange:b,isIndeterminate:w,name:y,value:S,tabIndex:_=void 0,"aria-label":k,"aria-labelledby":j,"aria-invalid":I,...E}=e,O=ZA(E,["isDisabled","isReadOnly","isRequired","isInvalid","id","onBlur","onFocus","aria-describedby"]),R=or(b),M=or(c),A=or(d),[T,$]=f.useState(!1),[Q,B]=f.useState(!1),[V,q]=f.useState(!1),[G,D]=f.useState(!1);f.useEffect(()=>q5($),[]);const L=f.useRef(null),[W,Y]=f.useState(!0),[ae,be]=f.useState(!!h),ie=m!==void 0,X=ie?m:ae,K=f.useCallback(de=>{if(r||n){de.preventDefault();return}ie||be(X?de.target.checked:w?!0:de.target.checked),R==null||R(de)},[r,n,X,ie,w,R]);tc(()=>{L.current&&(L.current.indeterminate=!!w)},[w]),Ba(()=>{n&&B(!1)},[n,B]),tc(()=>{const de=L.current;if(!(de!=null&&de.form))return;const Te=()=>{be(!!h)};return de.form.addEventListener("reset",Te),()=>{var Oe;return(Oe=de.form)==null?void 0:Oe.removeEventListener("reset",Te)}},[]);const U=n&&!v,se=f.useCallback(de=>{de.key===" "&&D(!0)},[D]),re=f.useCallback(de=>{de.key===" "&&D(!1)},[D]);tc(()=>{if(!L.current)return;L.current.checked!==X&&be(L.current.checked)},[L.current]);const oe=f.useCallback((de={},Te=null)=>{const Oe=$e=>{Q&&$e.preventDefault(),D(!0)};return{...de,ref:Te,"data-active":Ft(G),"data-hover":Ft(V),"data-checked":Ft(X),"data-focus":Ft(Q),"data-focus-visible":Ft(Q&&T),"data-indeterminate":Ft(w),"data-disabled":Ft(n),"data-invalid":Ft(s),"data-readonly":Ft(r),"aria-hidden":!0,onMouseDown:nt(de.onMouseDown,Oe),onMouseUp:nt(de.onMouseUp,()=>D(!1)),onMouseEnter:nt(de.onMouseEnter,()=>q(!0)),onMouseLeave:nt(de.onMouseLeave,()=>q(!1))}},[G,X,n,Q,T,V,w,s,r]),pe=f.useCallback((de={},Te=null)=>({...de,ref:Te,"data-active":Ft(G),"data-hover":Ft(V),"data-checked":Ft(X),"data-focus":Ft(Q),"data-focus-visible":Ft(Q&&T),"data-indeterminate":Ft(w),"data-disabled":Ft(n),"data-invalid":Ft(s),"data-readonly":Ft(r)}),[G,X,n,Q,T,V,w,s,r]),le=f.useCallback((de={},Te=null)=>({...O,...de,ref:cn(Te,Oe=>{Oe&&Y(Oe.tagName==="LABEL")}),onClick:nt(de.onClick,()=>{var Oe;W||((Oe=L.current)==null||Oe.click(),requestAnimationFrame(()=>{var $e;($e=L.current)==null||$e.focus({preventScroll:!0})}))}),"data-disabled":Ft(n),"data-checked":Ft(X),"data-invalid":Ft(s)}),[O,n,X,s,W]),ge=f.useCallback((de={},Te=null)=>({...de,ref:cn(L,Te),type:"checkbox",name:y,value:S,id:a,tabIndex:_,onChange:nt(de.onChange,K),onBlur:nt(de.onBlur,M,()=>B(!1)),onFocus:nt(de.onFocus,A,()=>B(!0)),onKeyDown:nt(de.onKeyDown,se),onKeyUp:nt(de.onKeyUp,re),required:o,checked:X,disabled:U,readOnly:r,"aria-label":k,"aria-labelledby":j,"aria-invalid":I?!!I:s,"aria-describedby":p,"aria-disabled":n,style:gb}),[y,S,a,K,M,A,se,re,o,X,U,r,k,j,I,s,p,n,_]),ke=f.useCallback((de={},Te=null)=>({...de,ref:Te,onMouseDown:nt(de.onMouseDown,eT),"data-disabled":Ft(n),"data-checked":Ft(X),"data-invalid":Ft(s)}),[X,n,s]);return{state:{isInvalid:s,isFocused:Q,isChecked:X,isActive:G,isHovered:V,isIndeterminate:w,isDisabled:n,isReadOnly:r,isRequired:o},getRootProps:le,getCheckboxProps:oe,getIndicatorProps:pe,getInputProps:ge,getLabelProps:ke,htmlProps:O}}function eT(e){e.preventDefault(),e.stopPropagation()}var tT={display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",userSelect:"none",flexShrink:0},nT={cursor:"pointer",display:"inline-flex",alignItems:"center",verticalAlign:"top",position:"relative"},rT=za({from:{opacity:0,strokeDashoffset:16,transform:"scale(0.95)"},to:{opacity:1,strokeDashoffset:0,transform:"scale(1)"}}),oT=za({from:{opacity:0},to:{opacity:1}}),sT=za({from:{transform:"scaleX(0.65)"},to:{transform:"scaleX(1)"}}),X5=Ae(function(t,n){const r=TA(),o={...r,...t},s=Fr("Checkbox",o),a=qn(t),{spacing:c="0.5rem",className:d,children:p,iconColor:h,iconSize:m,icon:v=i.jsx(LA,{}),isChecked:b,isDisabled:w=r==null?void 0:r.isDisabled,onChange:y,inputProps:S,..._}=a;let k=b;r!=null&&r.value&&a.value&&(k=r.value.includes(a.value));let j=y;r!=null&&r.onChange&&a.value&&(j=sm(r.onChange,y));const{state:I,getInputProps:E,getCheckboxProps:O,getLabelProps:R,getRootProps:M}=K5({..._,isDisabled:w,isChecked:k,onChange:j}),A=NA(I.isChecked),T=f.useMemo(()=>({animation:A?I.isIndeterminate?`${oT} 20ms linear, ${sT} 200ms linear`:`${rT} 200ms linear`:void 0,fontSize:m,color:h,...s.icon}),[h,m,A,I.isIndeterminate,s.icon]),$=f.cloneElement(v,{__css:T,isIndeterminate:I.isIndeterminate,isChecked:I.isChecked});return i.jsxs(je.label,{__css:{...nT,...s.container},className:Ct("chakra-checkbox",d),...M(),children:[i.jsx("input",{className:"chakra-checkbox__input",...E(S,n)}),i.jsx(je.span,{__css:{...tT,...s.control},className:"chakra-checkbox__control",...O(),children:$}),p&&i.jsx(je.span,{className:"chakra-checkbox__label",...R(),__css:{marginStart:c,...s.label},children:p})]})});X5.displayName="Checkbox";function aT(e){const t=parseFloat(e);return typeof t!="number"||Number.isNaN(t)?0:t}function bb(e,t){let n=aT(e);const r=10**(t??10);return n=Math.round(n*r)/r,t?n.toFixed(t):n.toString()}function Wv(e){if(!Number.isFinite(e))return 0;let t=1,n=0;for(;Math.round(e*t)/t!==e;)t*=10,n+=1;return n}function qp(e,t,n){return(e-t)*100/(n-t)}function Y5(e,t,n){return(n-t)*e+t}function Vv(e,t,n){const r=Math.round((e-t)/n)*n+t,o=Wv(n);return bb(r,o)}function sc(e,t,n){return e==null?e:(n{var T;return r==null?"":(T=k0(r,s,n))!=null?T:""}),v=typeof o<"u",b=v?o:h,w=Q5(ni(b),s),y=n??w,S=f.useCallback(T=>{T!==b&&(v||m(T.toString()),p==null||p(T.toString(),ni(T)))},[p,v,b]),_=f.useCallback(T=>{let $=T;return d&&($=sc($,a,c)),bb($,y)},[y,d,c,a]),k=f.useCallback((T=s)=>{let $;b===""?$=ni(T):$=ni(b)+T,$=_($),S($)},[_,s,S,b]),j=f.useCallback((T=s)=>{let $;b===""?$=ni(-T):$=ni(b)-T,$=_($),S($)},[_,s,S,b]),I=f.useCallback(()=>{var T;let $;r==null?$="":$=(T=k0(r,s,n))!=null?T:a,S($)},[r,n,s,S,a]),E=f.useCallback(T=>{var $;const Q=($=k0(T,s,y))!=null?$:a;S(Q)},[y,s,S,a]),O=ni(b);return{isOutOfRange:O>c||O" `}),[cT,Z5]=Dn({name:"EditableContext",errorMessage:"useEditableContext: context is undefined. Seems you forgot to wrap the editable components in ``"}),e3={fontSize:"inherit",fontWeight:"inherit",textAlign:"inherit",bg:"transparent"},t3=Ae(function(t,n){const{getInputProps:r}=Z5(),o=J5(),s=r(t,n),a=Ct("chakra-editable__input",t.className);return i.jsx(je.input,{...s,__css:{outline:0,...e3,...o.input},className:a})});t3.displayName="EditableInput";var n3=Ae(function(t,n){const{getPreviewProps:r}=Z5(),o=J5(),s=r(t,n),a=Ct("chakra-editable__preview",t.className);return i.jsx(je.span,{...s,__css:{cursor:"text",display:"inline-block",...e3,...o.preview},className:a})});n3.displayName="EditablePreview";function Qi(e,t,n,r){const o=or(n);return f.useEffect(()=>{const s=typeof e=="function"?e():e??document;if(!(!n||!s))return s.addEventListener(t,o,r),()=>{s.removeEventListener(t,o,r)}},[t,e,r,o,n]),()=>{const s=typeof e=="function"?e():e??document;s==null||s.removeEventListener(t,o,r)}}function uT(e){return"current"in e}var r3=()=>typeof window<"u";function dT(){var e;const t=navigator.userAgentData;return(e=t==null?void 0:t.platform)!=null?e:navigator.platform}var fT=e=>r3()&&e.test(navigator.vendor),pT=e=>r3()&&e.test(dT()),hT=()=>pT(/mac|iphone|ipad|ipod/i),mT=()=>hT()&&fT(/apple/i);function o3(e){const{ref:t,elements:n,enabled:r}=e,o=()=>{var s,a;return(a=(s=t.current)==null?void 0:s.ownerDocument)!=null?a:document};Qi(o,"pointerdown",s=>{if(!mT()||!r)return;const a=s.target,d=(n??[t]).some(p=>{const h=uT(p)?p.current:p;return(h==null?void 0:h.contains(a))||h===a});o().activeElement!==a&&d&&(s.preventDefault(),a.focus())})}function Tw(e,t){return e?e===t||e.contains(t):!1}function gT(e={}){const{onChange:t,onCancel:n,onSubmit:r,onBlur:o,value:s,isDisabled:a,defaultValue:c,startWithEditView:d,isPreviewFocusable:p=!0,submitOnBlur:h=!0,selectAllOnFocus:m=!0,placeholder:v,onEdit:b,finalFocusRef:w,...y}=e,S=or(b),_=!!(d&&!a),[k,j]=f.useState(_),[I,E]=$c({defaultValue:c||"",value:s,onChange:t}),[O,R]=f.useState(I),M=f.useRef(null),A=f.useRef(null),T=f.useRef(null),$=f.useRef(null),Q=f.useRef(null);o3({ref:M,enabled:k,elements:[$,Q]});const B=!k&&!a;tc(()=>{var oe,pe;k&&((oe=M.current)==null||oe.focus(),m&&((pe=M.current)==null||pe.select()))},[]),Ba(()=>{var oe,pe,le,ge;if(!k){w?(oe=w.current)==null||oe.focus():(pe=T.current)==null||pe.focus();return}(le=M.current)==null||le.focus(),m&&((ge=M.current)==null||ge.select()),S==null||S()},[k,S,m]);const V=f.useCallback(()=>{B&&j(!0)},[B]),q=f.useCallback(()=>{R(I)},[I]),G=f.useCallback(()=>{j(!1),E(O),n==null||n(O),o==null||o(O)},[n,o,E,O]),D=f.useCallback(()=>{j(!1),R(I),r==null||r(I),o==null||o(O)},[I,r,o,O]);f.useEffect(()=>{if(k)return;const oe=M.current;(oe==null?void 0:oe.ownerDocument.activeElement)===oe&&(oe==null||oe.blur())},[k]);const L=f.useCallback(oe=>{E(oe.currentTarget.value)},[E]),W=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G,Enter:ke=>{!ke.shiftKey&&!ke.metaKey&&D()}}[pe];ge&&(oe.preventDefault(),ge(oe))},[G,D]),Y=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G}[pe];ge&&(oe.preventDefault(),ge(oe))},[G]),ae=I.length===0,be=f.useCallback(oe=>{var pe;if(!k)return;const le=oe.currentTarget.ownerDocument,ge=(pe=oe.relatedTarget)!=null?pe:le.activeElement,ke=Tw($.current,ge),xe=Tw(Q.current,ge);!ke&&!xe&&(h?D():G())},[h,D,G,k]),ie=f.useCallback((oe={},pe=null)=>{const le=B&&p?0:void 0;return{...oe,ref:cn(pe,A),children:ae?v:I,hidden:k,"aria-disabled":ns(a),tabIndex:le,onFocus:nt(oe.onFocus,V,q)}},[a,k,B,p,ae,V,q,v,I]),X=f.useCallback((oe={},pe=null)=>({...oe,hidden:!k,placeholder:v,ref:cn(pe,M),disabled:a,"aria-disabled":ns(a),value:I,onBlur:nt(oe.onBlur,be),onChange:nt(oe.onChange,L),onKeyDown:nt(oe.onKeyDown,W),onFocus:nt(oe.onFocus,q)}),[a,k,be,L,W,q,v,I]),K=f.useCallback((oe={},pe=null)=>({...oe,hidden:!k,placeholder:v,ref:cn(pe,M),disabled:a,"aria-disabled":ns(a),value:I,onBlur:nt(oe.onBlur,be),onChange:nt(oe.onChange,L),onKeyDown:nt(oe.onKeyDown,Y),onFocus:nt(oe.onFocus,q)}),[a,k,be,L,Y,q,v,I]),U=f.useCallback((oe={},pe=null)=>({"aria-label":"Edit",...oe,type:"button",onClick:nt(oe.onClick,V),ref:cn(pe,T),disabled:a}),[V,a]),se=f.useCallback((oe={},pe=null)=>({...oe,"aria-label":"Submit",ref:cn(Q,pe),type:"button",onClick:nt(oe.onClick,D),disabled:a}),[D,a]),re=f.useCallback((oe={},pe=null)=>({"aria-label":"Cancel",id:"cancel",...oe,ref:cn($,pe),type:"button",onClick:nt(oe.onClick,G),disabled:a}),[G,a]);return{isEditing:k,isDisabled:a,isValueEmpty:ae,value:I,onEdit:V,onCancel:G,onSubmit:D,getPreviewProps:ie,getInputProps:X,getTextareaProps:K,getEditButtonProps:U,getSubmitButtonProps:se,getCancelButtonProps:re,htmlProps:y}}var s3=Ae(function(t,n){const r=Fr("Editable",t),o=qn(t),{htmlProps:s,...a}=gT(o),{isEditing:c,onSubmit:d,onCancel:p,onEdit:h}=a,m=Ct("chakra-editable",t.className),v=X1(t.children,{isEditing:c,onSubmit:d,onCancel:p,onEdit:h});return i.jsx(cT,{value:a,children:i.jsx(lT,{value:r,children:i.jsx(je.div,{ref:n,...s,className:m,children:v})})})});s3.displayName="Editable";var a3={exports:{}},vT="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",bT=vT,yT=bT;function i3(){}function l3(){}l3.resetWarningCache=i3;var xT=function(){function e(r,o,s,a,c,d){if(d!==yT){var p=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw p.name="Invariant Violation",p}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:l3,resetWarningCache:i3};return n.PropTypes=n,n};a3.exports=xT();var wT=a3.exports;const Ln=vd(wT);var Uv="data-focus-lock",c3="data-focus-lock-disabled",ST="data-no-focus-lock",CT="data-autofocus-inside",kT="data-no-autofocus";function _T(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function PT(e,t){var n=f.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}function u3(e,t){return PT(t||null,function(n){return e.forEach(function(r){return _T(r,n)})})}var _0={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"},Qs=function(){return Qs=Object.assign||function(t){for(var n,r=1,o=arguments.length;r0&&s[s.length-1])&&(p[0]===6||p[0]===2)){n=0;continue}if(p[0]===3&&(!s||p[1]>s[0]&&p[1]0)&&!(o=r.next()).done;)s.push(o.value)}catch(c){a={error:c}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return s}function Gv(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,s;r=0}).sort(BT)},FT=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],Sb=FT.join(","),HT="".concat(Sb,", [data-focus-guard]"),I3=function(e,t){return la((e.shadowRoot||e).children).reduce(function(n,r){return n.concat(r.matches(t?HT:Sb)?[r]:[],I3(r))},[])},WT=function(e,t){var n;return e instanceof HTMLIFrameElement&&(!((n=e.contentDocument)===null||n===void 0)&&n.body)?hm([e.contentDocument.body],t):[e]},hm=function(e,t){return e.reduce(function(n,r){var o,s=I3(r,t),a=(o=[]).concat.apply(o,s.map(function(c){return WT(c,t)}));return n.concat(a,r.parentNode?la(r.parentNode.querySelectorAll(Sb)).filter(function(c){return c===r}):[])},[])},VT=function(e){var t=e.querySelectorAll("[".concat(CT,"]"));return la(t).map(function(n){return hm([n])}).reduce(function(n,r){return n.concat(r)},[])},Cb=function(e,t){return la(e).filter(function(n){return S3(t,n)}).filter(function(n){return $T(n)})},$w=function(e,t){return t===void 0&&(t=new Map),la(e).filter(function(n){return C3(t,n)})},Kv=function(e,t,n){return j3(Cb(hm(e,n),t),!0,n)},zw=function(e,t){return j3(Cb(hm(e),t),!1)},UT=function(e,t){return Cb(VT(e),t)},ac=function(e,t){return e.shadowRoot?ac(e.shadowRoot,t):Object.getPrototypeOf(e).contains!==void 0&&Object.getPrototypeOf(e).contains.call(e,t)?!0:la(e.children).some(function(n){var r;if(n instanceof HTMLIFrameElement){var o=(r=n.contentDocument)===null||r===void 0?void 0:r.body;return o?ac(o,t):!1}return ac(n,t)})},GT=function(e){for(var t=new Set,n=e.length,r=0;r0&&t.add(o),(s&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(r)}return e.filter(function(a,c){return!t.has(c)})},E3=function(e){return e.parentNode?E3(e.parentNode):e},kb=function(e){var t=Kp(e);return t.filter(Boolean).reduce(function(n,r){var o=r.getAttribute(Uv);return n.push.apply(n,o?GT(la(E3(r).querySelectorAll("[".concat(Uv,'="').concat(o,'"]:not([').concat(c3,'="disabled"])')))):[r]),n},[])},qT=function(e){try{return e()}catch{return}},ed=function(e){if(e===void 0&&(e=document),!(!e||!e.activeElement)){var t=e.activeElement;return t.shadowRoot?ed(t.shadowRoot):t instanceof HTMLIFrameElement&&qT(function(){return t.contentWindow.document})?ed(t.contentWindow.document):t}},KT=function(e,t){return e===t},XT=function(e,t){return!!la(e.querySelectorAll("iframe")).some(function(n){return KT(n,t)})},O3=function(e,t){return t===void 0&&(t=ed(y3(e).ownerDocument)),!t||t.dataset&&t.dataset.focusGuard?!1:kb(e).some(function(n){return ac(n,t)||XT(n,t)})},YT=function(e){e===void 0&&(e=document);var t=ed(e);return t?la(e.querySelectorAll("[".concat(ST,"]"))).some(function(n){return ac(n,t)}):!1},QT=function(e,t){return t.filter(P3).filter(function(n){return n.name===e.name}).filter(function(n){return n.checked})[0]||e},_b=function(e,t){return P3(e)&&e.name?QT(e,t):e},JT=function(e){var t=new Set;return e.forEach(function(n){return t.add(_b(n,e))}),e.filter(function(n){return t.has(n)})},Lw=function(e){return e[0]&&e.length>1?_b(e[0],e):e[0]},Bw=function(e,t){return e.length>1?e.indexOf(_b(e[t],e)):t},R3="NEW_FOCUS",ZT=function(e,t,n,r){var o=e.length,s=e[0],a=e[o-1],c=wb(n);if(!(n&&e.indexOf(n)>=0)){var d=n!==void 0?t.indexOf(n):-1,p=r?t.indexOf(r):d,h=r?e.indexOf(r):-1,m=d-p,v=t.indexOf(s),b=t.indexOf(a),w=JT(t),y=n!==void 0?w.indexOf(n):-1,S=y-(r?w.indexOf(r):d),_=Bw(e,0),k=Bw(e,o-1);if(d===-1||h===-1)return R3;if(!m&&h>=0)return h;if(d<=v&&c&&Math.abs(m)>1)return k;if(d>=b&&c&&Math.abs(m)>1)return _;if(m&&Math.abs(S)>1)return h;if(d<=v)return k;if(d>b)return _;if(m)return Math.abs(m)>1?h:(o+h+m)%o}},eN=function(e){return function(t){var n,r=(n=k3(t))===null||n===void 0?void 0:n.autofocus;return t.autofocus||r!==void 0&&r!=="false"||e.indexOf(t)>=0}},tN=function(e,t,n){var r=e.map(function(s){var a=s.node;return a}),o=$w(r.filter(eN(n)));return o&&o.length?Lw(o):Lw($w(t))},Xv=function(e,t){return t===void 0&&(t=[]),t.push(e),e.parentNode&&Xv(e.parentNode.host||e.parentNode,t),t},P0=function(e,t){for(var n=Xv(e),r=Xv(t),o=0;o=0)return s}return!1},M3=function(e,t,n){var r=Kp(e),o=Kp(t),s=r[0],a=!1;return o.filter(Boolean).forEach(function(c){a=P0(a||c,c)||a,n.filter(Boolean).forEach(function(d){var p=P0(s,d);p&&(!a||ac(p,a)?a=p:a=P0(p,a))})}),a},nN=function(e,t){return e.reduce(function(n,r){return n.concat(UT(r,t))},[])},rN=function(e,t){var n=new Map;return t.forEach(function(r){return n.set(r.node,r)}),e.map(function(r){return n.get(r)}).filter(LT)},oN=function(e,t){var n=ed(Kp(e).length>0?document:y3(e).ownerDocument),r=kb(e).filter(Xp),o=M3(n||e,e,r),s=new Map,a=zw(r,s),c=Kv(r,s).filter(function(b){var w=b.node;return Xp(w)});if(!(!c[0]&&(c=a,!c[0]))){var d=zw([o],s).map(function(b){var w=b.node;return w}),p=rN(d,c),h=p.map(function(b){var w=b.node;return w}),m=ZT(h,d,n,t);if(m===R3){var v=tN(a,h,nN(r,s));if(v)return{node:v};console.warn("focus-lock: cannot find any node to move focus into");return}return m===void 0?m:p[m]}},sN=function(e){var t=kb(e).filter(Xp),n=M3(e,e,t),r=new Map,o=Kv([n],r,!0),s=Kv(t,r).filter(function(a){var c=a.node;return Xp(c)}).map(function(a){var c=a.node;return c});return o.map(function(a){var c=a.node,d=a.index;return{node:c,index:d,lockItem:s.indexOf(c)>=0,guard:wb(c)}})},aN=function(e,t){"focus"in e&&e.focus(t),"contentWindow"in e&&e.contentWindow&&e.contentWindow.focus()},j0=0,I0=!1,D3=function(e,t,n){n===void 0&&(n={});var r=oN(e,t);if(!I0&&r){if(j0>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),I0=!0,setTimeout(function(){I0=!1},1);return}j0++,aN(r.node,n.focusOptions),j0--}};function Pb(e){setTimeout(e,1)}var iN=function(){return document&&document.activeElement===document.body},lN=function(){return iN()||YT()},ic=null,Yl=null,lc=null,td=!1,cN=function(){return!0},uN=function(t){return(ic.whiteList||cN)(t)},dN=function(t,n){lc={observerNode:t,portaledElement:n}},fN=function(t){return lc&&lc.portaledElement===t};function Fw(e,t,n,r){var o=null,s=e;do{var a=r[s];if(a.guard)a.node.dataset.focusAutoGuard&&(o=a);else if(a.lockItem){if(s!==e)return;o=null}else break}while((s+=n)!==t);o&&(o.node.tabIndex=0)}var pN=function(t){return t&&"current"in t?t.current:t},hN=function(t){return t?!!td:td==="meanwhile"},mN=function e(t,n,r){return n&&(n.host===t&&(!n.activeElement||r.contains(n.activeElement))||n.parentNode&&e(t,n.parentNode,r))},gN=function(t,n){return n.some(function(r){return mN(t,r,r)})},Yp=function(){var t=!1;if(ic){var n=ic,r=n.observed,o=n.persistentFocus,s=n.autoFocus,a=n.shards,c=n.crossFrame,d=n.focusOptions,p=r||lc&&lc.portaledElement,h=document&&document.activeElement;if(p){var m=[p].concat(a.map(pN).filter(Boolean));if((!h||uN(h))&&(o||hN(c)||!lN()||!Yl&&s)&&(p&&!(O3(m)||h&&gN(h,m)||fN(h))&&(document&&!Yl&&h&&!s?(h.blur&&h.blur(),document.body.focus()):(t=D3(m,Yl,{focusOptions:d}),lc={})),td=!1,Yl=document&&document.activeElement),document){var v=document&&document.activeElement,b=sN(m),w=b.map(function(y){var S=y.node;return S}).indexOf(v);w>-1&&(b.filter(function(y){var S=y.guard,_=y.node;return S&&_.dataset.focusAutoGuard}).forEach(function(y){var S=y.node;return S.removeAttribute("tabIndex")}),Fw(w,b.length,1,b),Fw(w,-1,-1,b))}}}return t},A3=function(t){Yp()&&t&&(t.stopPropagation(),t.preventDefault())},jb=function(){return Pb(Yp)},vN=function(t){var n=t.target,r=t.currentTarget;r.contains(n)||dN(r,n)},bN=function(){return null},T3=function(){td="just",Pb(function(){td="meanwhile"})},yN=function(){document.addEventListener("focusin",A3),document.addEventListener("focusout",jb),window.addEventListener("blur",T3)},xN=function(){document.removeEventListener("focusin",A3),document.removeEventListener("focusout",jb),window.removeEventListener("blur",T3)};function wN(e){return e.filter(function(t){var n=t.disabled;return!n})}function SN(e){var t=e.slice(-1)[0];t&&!ic&&yN();var n=ic,r=n&&t&&t.id===n.id;ic=t,n&&!r&&(n.onDeactivation(),e.filter(function(o){var s=o.id;return s===n.id}).length||n.returnFocus(!t)),t?(Yl=null,(!r||n.observed!==t.observed)&&t.onActivation(),Yp(),Pb(Yp)):(xN(),Yl=null)}g3.assignSyncMedium(vN);v3.assignMedium(jb);IT.assignMedium(function(e){return e({moveFocusInside:D3,focusInside:O3})});const CN=MT(wN,SN)(bN);var N3=f.forwardRef(function(t,n){return f.createElement(b3,sr({sideCar:CN,ref:n},t))}),$3=b3.propTypes||{};$3.sideCar;JD($3,["sideCar"]);N3.propTypes={};const Hw=N3;function z3(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function Ib(e){var t;if(!z3(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function kN(e){var t,n;return(n=(t=L3(e))==null?void 0:t.defaultView)!=null?n:window}function L3(e){return z3(e)?e.ownerDocument:document}function _N(e){return L3(e).activeElement}function PN(e){const t=e.ownerDocument.defaultView||window,{overflow:n,overflowX:r,overflowY:o}=t.getComputedStyle(e);return/auto|scroll|overlay|hidden/.test(n+o+r)}function jN(e){return e.localName==="html"?e:e.assignedSlot||e.parentElement||e.ownerDocument.documentElement}function B3(e){return["html","body","#document"].includes(e.localName)?e.ownerDocument.body:Ib(e)&&PN(e)?e:B3(jN(e))}var F3=e=>e.hasAttribute("tabindex"),IN=e=>F3(e)&&e.tabIndex===-1;function EN(e){return!!e.getAttribute("disabled")||!!e.getAttribute("aria-disabled")}function H3(e){return e.parentElement&&H3(e.parentElement)?!0:e.hidden}function ON(e){const t=e.getAttribute("contenteditable");return t!=="false"&&t!=null}function W3(e){if(!Ib(e)||H3(e)||EN(e))return!1;const{localName:t}=e;if(["input","select","textarea","button"].indexOf(t)>=0)return!0;const r={a:()=>e.hasAttribute("href"),audio:()=>e.hasAttribute("controls"),video:()=>e.hasAttribute("controls")};return t in r?r[t]():ON(e)?!0:F3(e)}function RN(e){return e?Ib(e)&&W3(e)&&!IN(e):!1}var MN=["input:not(:disabled):not([disabled])","select:not(:disabled):not([disabled])","textarea:not(:disabled):not([disabled])","embed","iframe","object","a[href]","area[href]","button:not(:disabled):not([disabled])","[tabindex]","audio[controls]","video[controls]","*[tabindex]:not([aria-disabled])","*[contenteditable]"],DN=MN.join(),AN=e=>e.offsetWidth>0&&e.offsetHeight>0;function V3(e){const t=Array.from(e.querySelectorAll(DN));return t.unshift(e),t.filter(n=>W3(n)&&AN(n))}var Ww,TN=(Ww=Hw.default)!=null?Ww:Hw,U3=e=>{const{initialFocusRef:t,finalFocusRef:n,contentRef:r,restoreFocus:o,children:s,isDisabled:a,autoFocus:c,persistentFocus:d,lockFocusAcrossFrames:p}=e,h=f.useCallback(()=>{t!=null&&t.current?t.current.focus():r!=null&&r.current&&V3(r.current).length===0&&requestAnimationFrame(()=>{var w;(w=r.current)==null||w.focus()})},[t,r]),m=f.useCallback(()=>{var b;(b=n==null?void 0:n.current)==null||b.focus()},[n]),v=o&&!n;return i.jsx(TN,{crossFrame:p,persistentFocus:d,autoFocus:c,disabled:a,onActivation:h,onDeactivation:m,returnFocus:v,children:s})};U3.displayName="FocusLock";function NN(e,t,n,r){const o=E_(t);return f.useEffect(()=>{var s;const a=(s=V2(n))!=null?s:document;if(t)return a.addEventListener(e,o,r),()=>{a.removeEventListener(e,o,r)}},[e,n,r,o,t]),()=>{var s;((s=V2(n))!=null?s:document).removeEventListener(e,o,r)}}function $N(e){const{ref:t,handler:n,enabled:r=!0}=e,o=E_(n),a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{E0(m,t)&&(a.isPointerDown=!0)},d=m=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&E0(m,t)&&(a.isPointerDown=!1,o(m))},p=m=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&E0(m,t)&&(a.isPointerDown=!1,o(m))},h=O_(t.current);return h.addEventListener("mousedown",c,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",c,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",c,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",c,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,a,r])}function E0(e,t){var n;const r=e.target;return r&&!O_(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}var[zN,LN]=Dn({name:"InputGroupStylesContext",errorMessage:`useInputGroupStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),G3=Ae(function(t,n){const r=Fr("Input",t),{children:o,className:s,...a}=qn(t),c=Ct("chakra-input__group",s),d={},p=Cd(o),h=r.field;p.forEach(v=>{var b,w;r&&(h&&v.type.id==="InputLeftElement"&&(d.paddingStart=(b=h.height)!=null?b:h.h),h&&v.type.id==="InputRightElement"&&(d.paddingEnd=(w=h.height)!=null?w:h.h),v.type.id==="InputRightAddon"&&(d.borderEndRadius=0),v.type.id==="InputLeftAddon"&&(d.borderStartRadius=0))});const m=p.map(v=>{var b,w;const y=ub({size:((b=v.props)==null?void 0:b.size)||t.size,variant:((w=v.props)==null?void 0:w.variant)||t.variant});return v.type.id!=="Input"?f.cloneElement(v,y):f.cloneElement(v,Object.assign(y,d,v.props))});return i.jsx(je.div,{className:c,ref:n,__css:{width:"100%",display:"flex",position:"relative",isolation:"isolate",...r.group},"data-group":!0,...a,children:i.jsx(zN,{value:r,children:m})})});G3.displayName="InputGroup";var BN=je("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",top:"0",zIndex:2}}),mm=Ae(function(t,n){var r,o;const{placement:s="left",...a}=t,c=LN(),d=c.field,h={[s==="left"?"insetStart":"insetEnd"]:"0",width:(r=d==null?void 0:d.height)!=null?r:d==null?void 0:d.h,height:(o=d==null?void 0:d.height)!=null?o:d==null?void 0:d.h,fontSize:d==null?void 0:d.fontSize,...c.element};return i.jsx(BN,{ref:n,__css:h,...a})});mm.id="InputElement";mm.displayName="InputElement";var q3=Ae(function(t,n){const{className:r,...o}=t,s=Ct("chakra-input__left-element",r);return i.jsx(mm,{ref:n,placement:"left",className:s,...o})});q3.id="InputLeftElement";q3.displayName="InputLeftElement";var Eb=Ae(function(t,n){const{className:r,...o}=t,s=Ct("chakra-input__right-element",r);return i.jsx(mm,{ref:n,placement:"right",className:s,...o})});Eb.id="InputRightElement";Eb.displayName="InputRightElement";var Pd=Ae(function(t,n){const{htmlSize:r,...o}=t,s=Fr("Input",o),a=qn(o),c=hb(a),d=Ct("chakra-input",t.className);return i.jsx(je.input,{size:r,...c,__css:s.field,ref:n,className:d})});Pd.displayName="Input";Pd.id="Input";var Ob=Ae(function(t,n){const r=ia("Link",t),{className:o,isExternal:s,...a}=qn(t);return i.jsx(je.a,{target:s?"_blank":void 0,rel:s?"noopener":void 0,ref:n,className:Ct("chakra-link",o),...a,__css:r})});Ob.displayName="Link";var[FN,K3]=Dn({name:"ListStylesContext",errorMessage:`useListStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Rb=Ae(function(t,n){const r=Fr("List",t),{children:o,styleType:s="none",stylePosition:a,spacing:c,...d}=qn(t),p=Cd(o),m=c?{["& > *:not(style) ~ *:not(style)"]:{mt:c}}:{};return i.jsx(FN,{value:r,children:i.jsx(je.ul,{ref:n,listStyleType:s,listStylePosition:a,role:"list",__css:{...r.container,...m},...d,children:p})})});Rb.displayName="List";var HN=Ae((e,t)=>{const{as:n,...r}=e;return i.jsx(Rb,{ref:t,as:"ol",styleType:"decimal",marginStart:"1em",...r})});HN.displayName="OrderedList";var Mb=Ae(function(t,n){const{as:r,...o}=t;return i.jsx(Rb,{ref:n,as:"ul",styleType:"initial",marginStart:"1em",...o})});Mb.displayName="UnorderedList";var wa=Ae(function(t,n){const r=K3();return i.jsx(je.li,{ref:n,...t,__css:r.item})});wa.displayName="ListItem";var WN=Ae(function(t,n){const r=K3();return i.jsx(no,{ref:n,role:"presentation",...t,__css:r.icon})});WN.displayName="ListIcon";var sl=Ae(function(t,n){const{templateAreas:r,gap:o,rowGap:s,columnGap:a,column:c,row:d,autoFlow:p,autoRows:h,templateRows:m,autoColumns:v,templateColumns:b,...w}=t,y={display:"grid",gridTemplateAreas:r,gridGap:o,gridRowGap:s,gridColumnGap:a,gridAutoColumns:v,gridColumn:c,gridRow:d,gridAutoFlow:p,gridAutoRows:h,gridTemplateRows:m,gridTemplateColumns:b};return i.jsx(je.div,{ref:n,__css:y,...w})});sl.displayName="Grid";function X3(e,t){return Array.isArray(e)?e.map(n=>n===null?null:t(n)):_v(e)?Object.keys(e).reduce((n,r)=>(n[r]=t(e[r]),n),{}):e!=null?t(e):null}var hl=je("div",{baseStyle:{flex:1,justifySelf:"stretch",alignSelf:"stretch"}});hl.displayName="Spacer";var qe=Ae(function(t,n){const r=ia("Text",t),{className:o,align:s,decoration:a,casing:c,...d}=qn(t),p=ub({textAlign:t.align,textDecoration:t.decoration,textTransform:t.casing});return i.jsx(je.p,{ref:n,className:Ct("chakra-text",t.className),...p,...d,__css:r})});qe.displayName="Text";var Y3=e=>i.jsx(je.div,{className:"chakra-stack__item",...e,__css:{display:"inline-block",flex:"0 0 auto",minWidth:0,...e.__css}});Y3.displayName="StackItem";function VN(e){const{spacing:t,direction:n}=e,r={column:{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},"column-reverse":{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},row:{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0},"row-reverse":{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0}};return{"&":X3(n,o=>r[o])}}var Db=Ae((e,t)=>{const{isInline:n,direction:r,align:o,justify:s,spacing:a="0.5rem",wrap:c,children:d,divider:p,className:h,shouldWrapChildren:m,...v}=e,b=n?"row":r??"column",w=f.useMemo(()=>VN({spacing:a,direction:b}),[a,b]),y=!!p,S=!m&&!y,_=f.useMemo(()=>{const j=Cd(d);return S?j:j.map((I,E)=>{const O=typeof I.key<"u"?I.key:E,R=E+1===j.length,A=m?i.jsx(Y3,{children:I},O):I;if(!y)return A;const T=f.cloneElement(p,{__css:w}),$=R?null:T;return i.jsxs(f.Fragment,{children:[A,$]},O)})},[p,w,y,S,m,d]),k=Ct("chakra-stack",h);return i.jsx(je.div,{ref:t,display:"flex",alignItems:o,justifyContent:s,flexDirection:b,flexWrap:c,gap:y?void 0:a,className:k,...v,children:_})});Db.displayName="Stack";var Q3=Ae((e,t)=>i.jsx(Db,{align:"center",...e,direction:"column",ref:t}));Q3.displayName="VStack";var di=Ae((e,t)=>i.jsx(Db,{align:"center",...e,direction:"row",ref:t}));di.displayName="HStack";function Vw(e){return X3(e,t=>t==="auto"?"auto":`span ${t}/span ${t}`)}var Yv=Ae(function(t,n){const{area:r,colSpan:o,colStart:s,colEnd:a,rowEnd:c,rowSpan:d,rowStart:p,...h}=t,m=ub({gridArea:r,gridColumn:Vw(o),gridRow:Vw(d),gridColumnStart:s,gridColumnEnd:a,gridRowStart:p,gridRowEnd:c});return i.jsx(je.div,{ref:n,__css:m,...h})});Yv.displayName="GridItem";var ml=Ae(function(t,n){const r=ia("Badge",t),{className:o,...s}=qn(t);return i.jsx(je.span,{ref:n,className:Ct("chakra-badge",t.className),...s,__css:{display:"inline-block",whiteSpace:"nowrap",verticalAlign:"middle",...r}})});ml.displayName="Badge";var Pi=Ae(function(t,n){const{borderLeftWidth:r,borderBottomWidth:o,borderTopWidth:s,borderRightWidth:a,borderWidth:c,borderStyle:d,borderColor:p,...h}=ia("Divider",t),{className:m,orientation:v="horizontal",__css:b,...w}=qn(t),y={vertical:{borderLeftWidth:r||a||c||"1px",height:"100%"},horizontal:{borderBottomWidth:o||s||c||"1px",width:"100%"}};return i.jsx(je.hr,{ref:n,"aria-orientation":v,...w,__css:{...h,border:"0",borderColor:p,borderStyle:d,...y[v],...b},className:Ct("chakra-divider",m)})});Pi.displayName="Divider";function UN(e){const{key:t}=e;return t.length===1||t.length>1&&/[^a-zA-Z0-9]/.test(t)}function GN(e={}){const{timeout:t=300,preventDefault:n=()=>!0}=e,[r,o]=f.useState([]),s=f.useRef(),a=()=>{s.current&&(clearTimeout(s.current),s.current=null)},c=()=>{a(),s.current=setTimeout(()=>{o([]),s.current=null},t)};f.useEffect(()=>a,[]);function d(p){return h=>{if(h.key==="Backspace"){const m=[...r];m.pop(),o(m);return}if(UN(h)){const m=r.concat(h.key);n(h)&&(h.preventDefault(),h.stopPropagation()),o(m),p(m.join("")),c()}}}return d}function qN(e,t,n,r){if(t==null)return r;if(!r)return e.find(a=>n(a).toLowerCase().startsWith(t.toLowerCase()));const o=e.filter(s=>n(s).toLowerCase().startsWith(t.toLowerCase()));if(o.length>0){let s;return o.includes(r)?(s=o.indexOf(r)+1,s===o.length&&(s=0),o[s]):(s=e.indexOf(o[0]),e[s])}return r}function KN(){const e=f.useRef(new Map),t=e.current,n=f.useCallback((o,s,a,c)=>{e.current.set(a,{type:s,el:o,options:c}),o.addEventListener(s,a,c)},[]),r=f.useCallback((o,s,a,c)=>{o.removeEventListener(s,a,c),e.current.delete(a)},[]);return f.useEffect(()=>()=>{t.forEach((o,s)=>{r(o.el,o.type,s,o.options)})},[r,t]),{add:n,remove:r}}function O0(e){const t=e.target,{tagName:n,isContentEditable:r}=t;return n!=="INPUT"&&n!=="TEXTAREA"&&r!==!0}function J3(e={}){const{ref:t,isDisabled:n,isFocusable:r,clickOnEnter:o=!0,clickOnSpace:s=!0,onMouseDown:a,onMouseUp:c,onClick:d,onKeyDown:p,onKeyUp:h,tabIndex:m,onMouseOver:v,onMouseLeave:b,...w}=e,[y,S]=f.useState(!0),[_,k]=f.useState(!1),j=KN(),I=D=>{D&&D.tagName!=="BUTTON"&&S(!1)},E=y?m:m||0,O=n&&!r,R=f.useCallback(D=>{if(n){D.stopPropagation(),D.preventDefault();return}D.currentTarget.focus(),d==null||d(D)},[n,d]),M=f.useCallback(D=>{_&&O0(D)&&(D.preventDefault(),D.stopPropagation(),k(!1),j.remove(document,"keyup",M,!1))},[_,j]),A=f.useCallback(D=>{if(p==null||p(D),n||D.defaultPrevented||D.metaKey||!O0(D.nativeEvent)||y)return;const L=o&&D.key==="Enter";s&&D.key===" "&&(D.preventDefault(),k(!0)),L&&(D.preventDefault(),D.currentTarget.click()),j.add(document,"keyup",M,!1)},[n,y,p,o,s,j,M]),T=f.useCallback(D=>{if(h==null||h(D),n||D.defaultPrevented||D.metaKey||!O0(D.nativeEvent)||y)return;s&&D.key===" "&&(D.preventDefault(),k(!1),D.currentTarget.click())},[s,y,n,h]),$=f.useCallback(D=>{D.button===0&&(k(!1),j.remove(document,"mouseup",$,!1))},[j]),Q=f.useCallback(D=>{if(D.button!==0)return;if(n){D.stopPropagation(),D.preventDefault();return}y||k(!0),D.currentTarget.focus({preventScroll:!0}),j.add(document,"mouseup",$,!1),a==null||a(D)},[n,y,a,j,$]),B=f.useCallback(D=>{D.button===0&&(y||k(!1),c==null||c(D))},[c,y]),V=f.useCallback(D=>{if(n){D.preventDefault();return}v==null||v(D)},[n,v]),q=f.useCallback(D=>{_&&(D.preventDefault(),k(!1)),b==null||b(D)},[_,b]),G=cn(t,I);return y?{...w,ref:G,type:"button","aria-disabled":O?void 0:n,disabled:O,onClick:R,onMouseDown:a,onMouseUp:c,onKeyUp:h,onKeyDown:p,onMouseOver:v,onMouseLeave:b}:{...w,ref:G,role:"button","data-active":Ft(_),"aria-disabled":n?"true":void 0,tabIndex:O?void 0:E,onClick:R,onMouseDown:Q,onMouseUp:B,onKeyUp:T,onKeyDown:A,onMouseOver:V,onMouseLeave:q}}function XN(e){const t=e.current;if(!t)return!1;const n=_N(t);return!n||t.contains(n)?!1:!!RN(n)}function Z3(e,t){const{shouldFocus:n,visible:r,focusRef:o}=t,s=n&&!r;Ba(()=>{if(!s||XN(e))return;const a=(o==null?void 0:o.current)||e.current;let c;if(a)return c=requestAnimationFrame(()=>{a.focus({preventScroll:!0})}),()=>{cancelAnimationFrame(c)}},[s,e,o])}var YN={preventScroll:!0,shouldFocus:!1};function QN(e,t=YN){const{focusRef:n,preventScroll:r,shouldFocus:o,visible:s}=t,a=JN(e)?e.current:e,c=o&&s,d=f.useRef(c),p=f.useRef(s);tc(()=>{!p.current&&s&&(d.current=c),p.current=s},[s,c]);const h=f.useCallback(()=>{if(!(!s||!a||!d.current)&&(d.current=!1,!a.contains(document.activeElement)))if(n!=null&&n.current)requestAnimationFrame(()=>{var m;(m=n.current)==null||m.focus({preventScroll:r})});else{const m=V3(a);m.length>0&&requestAnimationFrame(()=>{m[0].focus({preventScroll:r})})}},[s,r,a,n]);Ba(()=>{h()},[h]),Qi(a,"transitionend",h)}function JN(e){return"current"in e}var Nl=(e,t)=>({var:e,varRef:t?`var(${e}, ${t})`:`var(${e})`}),jr={arrowShadowColor:Nl("--popper-arrow-shadow-color"),arrowSize:Nl("--popper-arrow-size","8px"),arrowSizeHalf:Nl("--popper-arrow-size-half"),arrowBg:Nl("--popper-arrow-bg"),transformOrigin:Nl("--popper-transform-origin"),arrowOffset:Nl("--popper-arrow-offset")};function ZN(e){if(e.includes("top"))return"1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("bottom"))return"-1px -1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("right"))return"-1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("left"))return"1px -1px 0px 0 var(--popper-arrow-shadow-color)"}var e$={top:"bottom center","top-start":"bottom left","top-end":"bottom right",bottom:"top center","bottom-start":"top left","bottom-end":"top right",left:"right center","left-start":"right top","left-end":"right bottom",right:"left center","right-start":"left top","right-end":"left bottom"},t$=e=>e$[e],Uw={scroll:!0,resize:!0};function n$(e){let t;return typeof e=="object"?t={enabled:!0,options:{...Uw,...e}}:t={enabled:e,options:Uw},t}var r$={name:"matchWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect:({state:e})=>()=>{const t=e.elements.reference;e.elements.popper.style.width=`${t.offsetWidth}px`}},o$={name:"transformOrigin",enabled:!0,phase:"write",fn:({state:e})=>{Gw(e)},effect:({state:e})=>()=>{Gw(e)}},Gw=e=>{e.elements.popper.style.setProperty(jr.transformOrigin.var,t$(e.placement))},s$={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:({state:e})=>{a$(e)}},a$=e=>{var t;if(!e.placement)return;const n=i$(e.placement);if((t=e.elements)!=null&&t.arrow&&n){Object.assign(e.elements.arrow.style,{[n.property]:n.value,width:jr.arrowSize.varRef,height:jr.arrowSize.varRef,zIndex:-1});const r={[jr.arrowSizeHalf.var]:`calc(${jr.arrowSize.varRef} / 2 - 1px)`,[jr.arrowOffset.var]:`calc(${jr.arrowSizeHalf.varRef} * -1)`};for(const o in r)e.elements.arrow.style.setProperty(o,r[o])}},i$=e=>{if(e.startsWith("top"))return{property:"bottom",value:jr.arrowOffset.varRef};if(e.startsWith("bottom"))return{property:"top",value:jr.arrowOffset.varRef};if(e.startsWith("left"))return{property:"right",value:jr.arrowOffset.varRef};if(e.startsWith("right"))return{property:"left",value:jr.arrowOffset.varRef}},l$={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:({state:e})=>{qw(e)},effect:({state:e})=>()=>{qw(e)}},qw=e=>{if(!e.elements.arrow)return;const t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");if(!t)return;const n=ZN(e.placement);n&&t.style.setProperty("--popper-arrow-default-shadow",n),Object.assign(t.style,{transform:"rotate(45deg)",background:jr.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:"var(--popper-arrow-shadow, var(--popper-arrow-default-shadow))"})},c$={"start-start":{ltr:"left-start",rtl:"right-start"},"start-end":{ltr:"left-end",rtl:"right-end"},"end-start":{ltr:"right-start",rtl:"left-start"},"end-end":{ltr:"right-end",rtl:"left-end"},start:{ltr:"left",rtl:"right"},end:{ltr:"right",rtl:"left"}},u$={"auto-start":"auto-end","auto-end":"auto-start","top-start":"top-end","top-end":"top-start","bottom-start":"bottom-end","bottom-end":"bottom-start"};function d$(e,t="ltr"){var n,r;const o=((n=c$[e])==null?void 0:n[t])||e;return t==="ltr"?o:(r=u$[e])!=null?r:o}var _o="top",as="bottom",is="right",Po="left",Ab="auto",jd=[_o,as,is,Po],yc="start",nd="end",f$="clippingParents",e6="viewport",hu="popper",p$="reference",Kw=jd.reduce(function(e,t){return e.concat([t+"-"+yc,t+"-"+nd])},[]),t6=[].concat(jd,[Ab]).reduce(function(e,t){return e.concat([t,t+"-"+yc,t+"-"+nd])},[]),h$="beforeRead",m$="read",g$="afterRead",v$="beforeMain",b$="main",y$="afterMain",x$="beforeWrite",w$="write",S$="afterWrite",C$=[h$,m$,g$,v$,b$,y$,x$,w$,S$];function ra(e){return e?(e.nodeName||"").toLowerCase():null}function Bo(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function al(e){var t=Bo(e).Element;return e instanceof t||e instanceof Element}function rs(e){var t=Bo(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Tb(e){if(typeof ShadowRoot>"u")return!1;var t=Bo(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function k$(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},o=t.attributes[n]||{},s=t.elements[n];!rs(s)||!ra(s)||(Object.assign(s.style,r),Object.keys(o).forEach(function(a){var c=o[a];c===!1?s.removeAttribute(a):s.setAttribute(a,c===!0?"":c)}))})}function _$(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var o=t.elements[r],s=t.attributes[r]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),c=a.reduce(function(d,p){return d[p]="",d},{});!rs(o)||!ra(o)||(Object.assign(o.style,c),Object.keys(s).forEach(function(d){o.removeAttribute(d)}))})}}const P$={name:"applyStyles",enabled:!0,phase:"write",fn:k$,effect:_$,requires:["computeStyles"]};function ta(e){return e.split("-")[0]}var Ji=Math.max,Qp=Math.min,xc=Math.round;function Qv(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function n6(){return!/^((?!chrome|android).)*safari/i.test(Qv())}function wc(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),o=1,s=1;t&&rs(e)&&(o=e.offsetWidth>0&&xc(r.width)/e.offsetWidth||1,s=e.offsetHeight>0&&xc(r.height)/e.offsetHeight||1);var a=al(e)?Bo(e):window,c=a.visualViewport,d=!n6()&&n,p=(r.left+(d&&c?c.offsetLeft:0))/o,h=(r.top+(d&&c?c.offsetTop:0))/s,m=r.width/o,v=r.height/s;return{width:m,height:v,top:h,right:p+m,bottom:h+v,left:p,x:p,y:h}}function Nb(e){var t=wc(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function r6(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Tb(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Oa(e){return Bo(e).getComputedStyle(e)}function j$(e){return["table","td","th"].indexOf(ra(e))>=0}function ji(e){return((al(e)?e.ownerDocument:e.document)||window.document).documentElement}function gm(e){return ra(e)==="html"?e:e.assignedSlot||e.parentNode||(Tb(e)?e.host:null)||ji(e)}function Xw(e){return!rs(e)||Oa(e).position==="fixed"?null:e.offsetParent}function I$(e){var t=/firefox/i.test(Qv()),n=/Trident/i.test(Qv());if(n&&rs(e)){var r=Oa(e);if(r.position==="fixed")return null}var o=gm(e);for(Tb(o)&&(o=o.host);rs(o)&&["html","body"].indexOf(ra(o))<0;){var s=Oa(o);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||t&&s.willChange==="filter"||t&&s.filter&&s.filter!=="none")return o;o=o.parentNode}return null}function Id(e){for(var t=Bo(e),n=Xw(e);n&&j$(n)&&Oa(n).position==="static";)n=Xw(n);return n&&(ra(n)==="html"||ra(n)==="body"&&Oa(n).position==="static")?t:n||I$(e)||t}function $b(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Hu(e,t,n){return Ji(e,Qp(t,n))}function E$(e,t,n){var r=Hu(e,t,n);return r>n?n:r}function o6(){return{top:0,right:0,bottom:0,left:0}}function s6(e){return Object.assign({},o6(),e)}function a6(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var O$=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,s6(typeof t!="number"?t:a6(t,jd))};function R$(e){var t,n=e.state,r=e.name,o=e.options,s=n.elements.arrow,a=n.modifiersData.popperOffsets,c=ta(n.placement),d=$b(c),p=[Po,is].indexOf(c)>=0,h=p?"height":"width";if(!(!s||!a)){var m=O$(o.padding,n),v=Nb(s),b=d==="y"?_o:Po,w=d==="y"?as:is,y=n.rects.reference[h]+n.rects.reference[d]-a[d]-n.rects.popper[h],S=a[d]-n.rects.reference[d],_=Id(s),k=_?d==="y"?_.clientHeight||0:_.clientWidth||0:0,j=y/2-S/2,I=m[b],E=k-v[h]-m[w],O=k/2-v[h]/2+j,R=Hu(I,O,E),M=d;n.modifiersData[r]=(t={},t[M]=R,t.centerOffset=R-O,t)}}function M$(e){var t=e.state,n=e.options,r=n.element,o=r===void 0?"[data-popper-arrow]":r;o!=null&&(typeof o=="string"&&(o=t.elements.popper.querySelector(o),!o)||r6(t.elements.popper,o)&&(t.elements.arrow=o))}const D$={name:"arrow",enabled:!0,phase:"main",fn:R$,effect:M$,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Sc(e){return e.split("-")[1]}var A$={top:"auto",right:"auto",bottom:"auto",left:"auto"};function T$(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:xc(n*o)/o||0,y:xc(r*o)/o||0}}function Yw(e){var t,n=e.popper,r=e.popperRect,o=e.placement,s=e.variation,a=e.offsets,c=e.position,d=e.gpuAcceleration,p=e.adaptive,h=e.roundOffsets,m=e.isFixed,v=a.x,b=v===void 0?0:v,w=a.y,y=w===void 0?0:w,S=typeof h=="function"?h({x:b,y}):{x:b,y};b=S.x,y=S.y;var _=a.hasOwnProperty("x"),k=a.hasOwnProperty("y"),j=Po,I=_o,E=window;if(p){var O=Id(n),R="clientHeight",M="clientWidth";if(O===Bo(n)&&(O=ji(n),Oa(O).position!=="static"&&c==="absolute"&&(R="scrollHeight",M="scrollWidth")),O=O,o===_o||(o===Po||o===is)&&s===nd){I=as;var A=m&&O===E&&E.visualViewport?E.visualViewport.height:O[R];y-=A-r.height,y*=d?1:-1}if(o===Po||(o===_o||o===as)&&s===nd){j=is;var T=m&&O===E&&E.visualViewport?E.visualViewport.width:O[M];b-=T-r.width,b*=d?1:-1}}var $=Object.assign({position:c},p&&A$),Q=h===!0?T$({x:b,y},Bo(n)):{x:b,y};if(b=Q.x,y=Q.y,d){var B;return Object.assign({},$,(B={},B[I]=k?"0":"",B[j]=_?"0":"",B.transform=(E.devicePixelRatio||1)<=1?"translate("+b+"px, "+y+"px)":"translate3d("+b+"px, "+y+"px, 0)",B))}return Object.assign({},$,(t={},t[I]=k?y+"px":"",t[j]=_?b+"px":"",t.transform="",t))}function N$(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=r===void 0?!0:r,s=n.adaptive,a=s===void 0?!0:s,c=n.roundOffsets,d=c===void 0?!0:c,p={placement:ta(t.placement),variation:Sc(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Yw(Object.assign({},p,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:d})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Yw(Object.assign({},p,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:d})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const $$={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:N$,data:{}};var zf={passive:!0};function z$(e){var t=e.state,n=e.instance,r=e.options,o=r.scroll,s=o===void 0?!0:o,a=r.resize,c=a===void 0?!0:a,d=Bo(t.elements.popper),p=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&p.forEach(function(h){h.addEventListener("scroll",n.update,zf)}),c&&d.addEventListener("resize",n.update,zf),function(){s&&p.forEach(function(h){h.removeEventListener("scroll",n.update,zf)}),c&&d.removeEventListener("resize",n.update,zf)}}const L$={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:z$,data:{}};var B$={left:"right",right:"left",bottom:"top",top:"bottom"};function _p(e){return e.replace(/left|right|bottom|top/g,function(t){return B$[t]})}var F$={start:"end",end:"start"};function Qw(e){return e.replace(/start|end/g,function(t){return F$[t]})}function zb(e){var t=Bo(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function Lb(e){return wc(ji(e)).left+zb(e).scrollLeft}function H$(e,t){var n=Bo(e),r=ji(e),o=n.visualViewport,s=r.clientWidth,a=r.clientHeight,c=0,d=0;if(o){s=o.width,a=o.height;var p=n6();(p||!p&&t==="fixed")&&(c=o.offsetLeft,d=o.offsetTop)}return{width:s,height:a,x:c+Lb(e),y:d}}function W$(e){var t,n=ji(e),r=zb(e),o=(t=e.ownerDocument)==null?void 0:t.body,s=Ji(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=Ji(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),c=-r.scrollLeft+Lb(e),d=-r.scrollTop;return Oa(o||n).direction==="rtl"&&(c+=Ji(n.clientWidth,o?o.clientWidth:0)-s),{width:s,height:a,x:c,y:d}}function Bb(e){var t=Oa(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function i6(e){return["html","body","#document"].indexOf(ra(e))>=0?e.ownerDocument.body:rs(e)&&Bb(e)?e:i6(gm(e))}function Wu(e,t){var n;t===void 0&&(t=[]);var r=i6(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=Bo(r),a=o?[s].concat(s.visualViewport||[],Bb(r)?r:[]):r,c=t.concat(a);return o?c:c.concat(Wu(gm(a)))}function Jv(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function V$(e,t){var n=wc(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function Jw(e,t,n){return t===e6?Jv(H$(e,n)):al(t)?V$(t,n):Jv(W$(ji(e)))}function U$(e){var t=Wu(gm(e)),n=["absolute","fixed"].indexOf(Oa(e).position)>=0,r=n&&rs(e)?Id(e):e;return al(r)?t.filter(function(o){return al(o)&&r6(o,r)&&ra(o)!=="body"}):[]}function G$(e,t,n,r){var o=t==="clippingParents"?U$(e):[].concat(t),s=[].concat(o,[n]),a=s[0],c=s.reduce(function(d,p){var h=Jw(e,p,r);return d.top=Ji(h.top,d.top),d.right=Qp(h.right,d.right),d.bottom=Qp(h.bottom,d.bottom),d.left=Ji(h.left,d.left),d},Jw(e,a,r));return c.width=c.right-c.left,c.height=c.bottom-c.top,c.x=c.left,c.y=c.top,c}function l6(e){var t=e.reference,n=e.element,r=e.placement,o=r?ta(r):null,s=r?Sc(r):null,a=t.x+t.width/2-n.width/2,c=t.y+t.height/2-n.height/2,d;switch(o){case _o:d={x:a,y:t.y-n.height};break;case as:d={x:a,y:t.y+t.height};break;case is:d={x:t.x+t.width,y:c};break;case Po:d={x:t.x-n.width,y:c};break;default:d={x:t.x,y:t.y}}var p=o?$b(o):null;if(p!=null){var h=p==="y"?"height":"width";switch(s){case yc:d[p]=d[p]-(t[h]/2-n[h]/2);break;case nd:d[p]=d[p]+(t[h]/2-n[h]/2);break}}return d}function rd(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=r===void 0?e.placement:r,s=n.strategy,a=s===void 0?e.strategy:s,c=n.boundary,d=c===void 0?f$:c,p=n.rootBoundary,h=p===void 0?e6:p,m=n.elementContext,v=m===void 0?hu:m,b=n.altBoundary,w=b===void 0?!1:b,y=n.padding,S=y===void 0?0:y,_=s6(typeof S!="number"?S:a6(S,jd)),k=v===hu?p$:hu,j=e.rects.popper,I=e.elements[w?k:v],E=G$(al(I)?I:I.contextElement||ji(e.elements.popper),d,h,a),O=wc(e.elements.reference),R=l6({reference:O,element:j,strategy:"absolute",placement:o}),M=Jv(Object.assign({},j,R)),A=v===hu?M:O,T={top:E.top-A.top+_.top,bottom:A.bottom-E.bottom+_.bottom,left:E.left-A.left+_.left,right:A.right-E.right+_.right},$=e.modifiersData.offset;if(v===hu&&$){var Q=$[o];Object.keys(T).forEach(function(B){var V=[is,as].indexOf(B)>=0?1:-1,q=[_o,as].indexOf(B)>=0?"y":"x";T[B]+=Q[q]*V})}return T}function q$(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=n.boundary,s=n.rootBoundary,a=n.padding,c=n.flipVariations,d=n.allowedAutoPlacements,p=d===void 0?t6:d,h=Sc(r),m=h?c?Kw:Kw.filter(function(w){return Sc(w)===h}):jd,v=m.filter(function(w){return p.indexOf(w)>=0});v.length===0&&(v=m);var b=v.reduce(function(w,y){return w[y]=rd(e,{placement:y,boundary:o,rootBoundary:s,padding:a})[ta(y)],w},{});return Object.keys(b).sort(function(w,y){return b[w]-b[y]})}function K$(e){if(ta(e)===Ab)return[];var t=_p(e);return[Qw(e),t,Qw(t)]}function X$(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,c=a===void 0?!0:a,d=n.fallbackPlacements,p=n.padding,h=n.boundary,m=n.rootBoundary,v=n.altBoundary,b=n.flipVariations,w=b===void 0?!0:b,y=n.allowedAutoPlacements,S=t.options.placement,_=ta(S),k=_===S,j=d||(k||!w?[_p(S)]:K$(S)),I=[S].concat(j).reduce(function(X,K){return X.concat(ta(K)===Ab?q$(t,{placement:K,boundary:h,rootBoundary:m,padding:p,flipVariations:w,allowedAutoPlacements:y}):K)},[]),E=t.rects.reference,O=t.rects.popper,R=new Map,M=!0,A=I[0],T=0;T=0,q=V?"width":"height",G=rd(t,{placement:$,boundary:h,rootBoundary:m,altBoundary:v,padding:p}),D=V?B?is:Po:B?as:_o;E[q]>O[q]&&(D=_p(D));var L=_p(D),W=[];if(s&&W.push(G[Q]<=0),c&&W.push(G[D]<=0,G[L]<=0),W.every(function(X){return X})){A=$,M=!1;break}R.set($,W)}if(M)for(var Y=w?3:1,ae=function(K){var U=I.find(function(se){var re=R.get(se);if(re)return re.slice(0,K).every(function(oe){return oe})});if(U)return A=U,"break"},be=Y;be>0;be--){var ie=ae(be);if(ie==="break")break}t.placement!==A&&(t.modifiersData[r]._skip=!0,t.placement=A,t.reset=!0)}}const Y$={name:"flip",enabled:!0,phase:"main",fn:X$,requiresIfExists:["offset"],data:{_skip:!1}};function Zw(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function eS(e){return[_o,is,as,Po].some(function(t){return e[t]>=0})}function Q$(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,s=t.modifiersData.preventOverflow,a=rd(t,{elementContext:"reference"}),c=rd(t,{altBoundary:!0}),d=Zw(a,r),p=Zw(c,o,s),h=eS(d),m=eS(p);t.modifiersData[n]={referenceClippingOffsets:d,popperEscapeOffsets:p,isReferenceHidden:h,hasPopperEscaped:m},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":m})}const J$={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Q$};function Z$(e,t,n){var r=ta(e),o=[Po,_o].indexOf(r)>=0?-1:1,s=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=s[0],c=s[1];return a=a||0,c=(c||0)*o,[Po,is].indexOf(r)>=0?{x:c,y:a}:{x:a,y:c}}function ez(e){var t=e.state,n=e.options,r=e.name,o=n.offset,s=o===void 0?[0,0]:o,a=t6.reduce(function(h,m){return h[m]=Z$(m,t.rects,s),h},{}),c=a[t.placement],d=c.x,p=c.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=d,t.modifiersData.popperOffsets.y+=p),t.modifiersData[r]=a}const tz={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:ez};function nz(e){var t=e.state,n=e.name;t.modifiersData[n]=l6({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const rz={name:"popperOffsets",enabled:!0,phase:"read",fn:nz,data:{}};function oz(e){return e==="x"?"y":"x"}function sz(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,c=a===void 0?!1:a,d=n.boundary,p=n.rootBoundary,h=n.altBoundary,m=n.padding,v=n.tether,b=v===void 0?!0:v,w=n.tetherOffset,y=w===void 0?0:w,S=rd(t,{boundary:d,rootBoundary:p,padding:m,altBoundary:h}),_=ta(t.placement),k=Sc(t.placement),j=!k,I=$b(_),E=oz(I),O=t.modifiersData.popperOffsets,R=t.rects.reference,M=t.rects.popper,A=typeof y=="function"?y(Object.assign({},t.rects,{placement:t.placement})):y,T=typeof A=="number"?{mainAxis:A,altAxis:A}:Object.assign({mainAxis:0,altAxis:0},A),$=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,Q={x:0,y:0};if(O){if(s){var B,V=I==="y"?_o:Po,q=I==="y"?as:is,G=I==="y"?"height":"width",D=O[I],L=D+S[V],W=D-S[q],Y=b?-M[G]/2:0,ae=k===yc?R[G]:M[G],be=k===yc?-M[G]:-R[G],ie=t.elements.arrow,X=b&&ie?Nb(ie):{width:0,height:0},K=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:o6(),U=K[V],se=K[q],re=Hu(0,R[G],X[G]),oe=j?R[G]/2-Y-re-U-T.mainAxis:ae-re-U-T.mainAxis,pe=j?-R[G]/2+Y+re+se+T.mainAxis:be+re+se+T.mainAxis,le=t.elements.arrow&&Id(t.elements.arrow),ge=le?I==="y"?le.clientTop||0:le.clientLeft||0:0,ke=(B=$==null?void 0:$[I])!=null?B:0,xe=D+oe-ke-ge,de=D+pe-ke,Te=Hu(b?Qp(L,xe):L,D,b?Ji(W,de):W);O[I]=Te,Q[I]=Te-D}if(c){var Oe,$e=I==="x"?_o:Po,kt=I==="x"?as:is,ct=O[E],on=E==="y"?"height":"width",vt=ct+S[$e],bt=ct-S[kt],Se=[_o,Po].indexOf(_)!==-1,Me=(Oe=$==null?void 0:$[E])!=null?Oe:0,Pt=Se?vt:ct-R[on]-M[on]-Me+T.altAxis,Tt=Se?ct+R[on]+M[on]-Me-T.altAxis:bt,we=b&&Se?E$(Pt,ct,Tt):Hu(b?Pt:vt,ct,b?Tt:bt);O[E]=we,Q[E]=we-ct}t.modifiersData[r]=Q}}const az={name:"preventOverflow",enabled:!0,phase:"main",fn:sz,requiresIfExists:["offset"]};function iz(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function lz(e){return e===Bo(e)||!rs(e)?zb(e):iz(e)}function cz(e){var t=e.getBoundingClientRect(),n=xc(t.width)/e.offsetWidth||1,r=xc(t.height)/e.offsetHeight||1;return n!==1||r!==1}function uz(e,t,n){n===void 0&&(n=!1);var r=rs(t),o=rs(t)&&cz(t),s=ji(t),a=wc(e,o,n),c={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(r||!r&&!n)&&((ra(t)!=="body"||Bb(s))&&(c=lz(t)),rs(t)?(d=wc(t,!0),d.x+=t.clientLeft,d.y+=t.clientTop):s&&(d.x=Lb(s))),{x:a.left+c.scrollLeft-d.x,y:a.top+c.scrollTop-d.y,width:a.width,height:a.height}}function dz(e){var t=new Map,n=new Set,r=[];e.forEach(function(s){t.set(s.name,s)});function o(s){n.add(s.name);var a=[].concat(s.requires||[],s.requiresIfExists||[]);a.forEach(function(c){if(!n.has(c)){var d=t.get(c);d&&o(d)}}),r.push(s)}return e.forEach(function(s){n.has(s.name)||o(s)}),r}function fz(e){var t=dz(e);return C$.reduce(function(n,r){return n.concat(t.filter(function(o){return o.phase===r}))},[])}function pz(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function hz(e){var t=e.reduce(function(n,r){var o=n[r.name];return n[r.name]=o?Object.assign({},o,r,{options:Object.assign({},o.options,r.options),data:Object.assign({},o.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var tS={placement:"bottom",modifiers:[],strategy:"absolute"};function nS(){for(var e=arguments.length,t=new Array(e),n=0;n{}),j=f.useCallback(()=>{var T;!t||!w.current||!y.current||((T=k.current)==null||T.call(k),S.current=vz(w.current,y.current,{placement:_,modifiers:[l$,s$,o$,{...r$,enabled:!!v},{name:"eventListeners",...n$(a)},{name:"arrow",options:{padding:s}},{name:"offset",options:{offset:c??[0,d]}},{name:"flip",enabled:!!p,options:{padding:8}},{name:"preventOverflow",enabled:!!m,options:{boundary:h}},...n??[]],strategy:o}),S.current.forceUpdate(),k.current=S.current.destroy)},[_,t,n,v,a,s,c,d,p,m,h,o]);f.useEffect(()=>()=>{var T;!w.current&&!y.current&&((T=S.current)==null||T.destroy(),S.current=null)},[]);const I=f.useCallback(T=>{w.current=T,j()},[j]),E=f.useCallback((T={},$=null)=>({...T,ref:cn(I,$)}),[I]),O=f.useCallback(T=>{y.current=T,j()},[j]),R=f.useCallback((T={},$=null)=>({...T,ref:cn(O,$),style:{...T.style,position:o,minWidth:v?void 0:"max-content",inset:"0 auto auto 0"}}),[o,O,v]),M=f.useCallback((T={},$=null)=>{const{size:Q,shadowColor:B,bg:V,style:q,...G}=T;return{...G,ref:$,"data-popper-arrow":"",style:bz(T)}},[]),A=f.useCallback((T={},$=null)=>({...T,ref:$,"data-popper-arrow-inner":""}),[]);return{update(){var T;(T=S.current)==null||T.update()},forceUpdate(){var T;(T=S.current)==null||T.forceUpdate()},transformOrigin:jr.transformOrigin.varRef,referenceRef:I,popperRef:O,getPopperProps:R,getArrowProps:M,getArrowInnerProps:A,getReferenceProps:E}}function bz(e){const{size:t,shadowColor:n,bg:r,style:o}=e,s={...o,position:"absolute"};return t&&(s["--popper-arrow-size"]=t),n&&(s["--popper-arrow-shadow-color"]=n),r&&(s["--popper-arrow-bg"]=r),s}function Hb(e={}){const{onClose:t,onOpen:n,isOpen:r,id:o}=e,s=or(n),a=or(t),[c,d]=f.useState(e.defaultIsOpen||!1),p=r!==void 0?r:c,h=r!==void 0,m=f.useId(),v=o??`disclosure-${m}`,b=f.useCallback(()=>{h||d(!1),a==null||a()},[h,a]),w=f.useCallback(()=>{h||d(!0),s==null||s()},[h,s]),y=f.useCallback(()=>{p?b():w()},[p,w,b]);function S(k={}){return{...k,"aria-expanded":p,"aria-controls":v,onClick(j){var I;(I=k.onClick)==null||I.call(k,j),y()}}}function _(k={}){return{...k,hidden:!p,id:v}}return{isOpen:p,onOpen:w,onClose:b,onToggle:y,isControlled:h,getButtonProps:S,getDisclosureProps:_}}function yz(e){const{ref:t,handler:n,enabled:r=!0}=e,o=or(n),a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{R0(m,t)&&(a.isPointerDown=!0)},d=m=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&R0(m,t)&&(a.isPointerDown=!1,o(m))},p=m=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&R0(m,t)&&(a.isPointerDown=!1,o(m))},h=c6(t.current);return h.addEventListener("mousedown",c,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",c,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",c,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",c,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,a,r])}function R0(e,t){var n;const r=e.target;return r&&!c6(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function c6(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function u6(e){const{isOpen:t,ref:n}=e,[r,o]=f.useState(t),[s,a]=f.useState(!1);return f.useEffect(()=>{s||(o(t),a(!0))},[t,s,r]),Qi(()=>n.current,"animationend",()=>{o(t)}),{present:!(t?!1:!r),onComplete(){var d;const p=kN(n.current),h=new p.CustomEvent("animationend",{bubbles:!0});(d=n.current)==null||d.dispatchEvent(h)}}}function Wb(e){const{wasSelected:t,enabled:n,isSelected:r,mode:o="unmount"}=e;return!!(!n||r||o==="keepMounted"&&t)}var[xz,wz,Sz,Cz]=db(),[kz,Ed]=Dn({strict:!1,name:"MenuContext"});function _z(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}function d6(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function rS(e){return d6(e).activeElement===e}function Pz(e={}){const{id:t,closeOnSelect:n=!0,closeOnBlur:r=!0,initialFocusRef:o,autoSelect:s=!0,isLazy:a,isOpen:c,defaultIsOpen:d,onClose:p,onOpen:h,placement:m="bottom-start",lazyBehavior:v="unmount",direction:b,computePositionOnMount:w=!1,...y}=e,S=f.useRef(null),_=f.useRef(null),k=Sz(),j=f.useCallback(()=>{requestAnimationFrame(()=>{var ie;(ie=S.current)==null||ie.focus({preventScroll:!1})})},[]),I=f.useCallback(()=>{const ie=setTimeout(()=>{var X;if(o)(X=o.current)==null||X.focus();else{const K=k.firstEnabled();K&&B(K.index)}});L.current.add(ie)},[k,o]),E=f.useCallback(()=>{const ie=setTimeout(()=>{const X=k.lastEnabled();X&&B(X.index)});L.current.add(ie)},[k]),O=f.useCallback(()=>{h==null||h(),s?I():j()},[s,I,j,h]),{isOpen:R,onOpen:M,onClose:A,onToggle:T}=Hb({isOpen:c,defaultIsOpen:d,onClose:p,onOpen:O});yz({enabled:R&&r,ref:S,handler:ie=>{var X;(X=_.current)!=null&&X.contains(ie.target)||A()}});const $=Fb({...y,enabled:R||w,placement:m,direction:b}),[Q,B]=f.useState(-1);Ba(()=>{R||B(-1)},[R]),Z3(S,{focusRef:_,visible:R,shouldFocus:!0});const V=u6({isOpen:R,ref:S}),[q,G]=_z(t,"menu-button","menu-list"),D=f.useCallback(()=>{M(),j()},[M,j]),L=f.useRef(new Set([]));Az(()=>{L.current.forEach(ie=>clearTimeout(ie)),L.current.clear()});const W=f.useCallback(()=>{M(),I()},[I,M]),Y=f.useCallback(()=>{M(),E()},[M,E]),ae=f.useCallback(()=>{var ie,X;const K=d6(S.current),U=(ie=S.current)==null?void 0:ie.contains(K.activeElement);if(!(R&&!U))return;const re=(X=k.item(Q))==null?void 0:X.node;re==null||re.focus()},[R,Q,k]),be=f.useRef(null);return{openAndFocusMenu:D,openAndFocusFirstItem:W,openAndFocusLastItem:Y,onTransitionEnd:ae,unstable__animationState:V,descendants:k,popper:$,buttonId:q,menuId:G,forceUpdate:$.forceUpdate,orientation:"vertical",isOpen:R,onToggle:T,onOpen:M,onClose:A,menuRef:S,buttonRef:_,focusedIndex:Q,closeOnSelect:n,closeOnBlur:r,autoSelect:s,setFocusedIndex:B,isLazy:a,lazyBehavior:v,initialFocusRef:o,rafId:be}}function jz(e={},t=null){const n=Ed(),{onToggle:r,popper:o,openAndFocusFirstItem:s,openAndFocusLastItem:a}=n,c=f.useCallback(d=>{const p=d.key,m={Enter:s,ArrowDown:s,ArrowUp:a}[p];m&&(d.preventDefault(),d.stopPropagation(),m(d))},[s,a]);return{...e,ref:cn(n.buttonRef,t,o.referenceRef),id:n.buttonId,"data-active":Ft(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:nt(e.onClick,r),onKeyDown:nt(e.onKeyDown,c)}}function Zv(e){var t;return Mz(e)&&!!((t=e==null?void 0:e.getAttribute("role"))!=null&&t.startsWith("menuitem"))}function Iz(e={},t=null){const n=Ed();if(!n)throw new Error("useMenuContext: context is undefined. Seems you forgot to wrap component within ");const{focusedIndex:r,setFocusedIndex:o,menuRef:s,isOpen:a,onClose:c,menuId:d,isLazy:p,lazyBehavior:h,unstable__animationState:m}=n,v=wz(),b=GN({preventDefault:_=>_.key!==" "&&Zv(_.target)}),w=f.useCallback(_=>{if(!_.currentTarget.contains(_.target))return;const k=_.key,I={Tab:O=>O.preventDefault(),Escape:c,ArrowDown:()=>{const O=v.nextEnabled(r);O&&o(O.index)},ArrowUp:()=>{const O=v.prevEnabled(r);O&&o(O.index)}}[k];if(I){_.preventDefault(),I(_);return}const E=b(O=>{const R=qN(v.values(),O,M=>{var A,T;return(T=(A=M==null?void 0:M.node)==null?void 0:A.textContent)!=null?T:""},v.item(r));if(R){const M=v.indexOf(R.node);o(M)}});Zv(_.target)&&E(_)},[v,r,b,c,o]),y=f.useRef(!1);a&&(y.current=!0);const S=Wb({wasSelected:y.current,enabled:p,mode:h,isSelected:m.present});return{...e,ref:cn(s,t),children:S?e.children:null,tabIndex:-1,role:"menu",id:d,style:{...e.style,transformOrigin:"var(--popper-transform-origin)"},"aria-orientation":"vertical",onKeyDown:nt(e.onKeyDown,w)}}function Ez(e={}){const{popper:t,isOpen:n}=Ed();return t.getPopperProps({...e,style:{visibility:n?"visible":"hidden",...e.style}})}function f6(e={},t=null){const{onMouseEnter:n,onMouseMove:r,onMouseLeave:o,onClick:s,onFocus:a,isDisabled:c,isFocusable:d,closeOnSelect:p,type:h,...m}=e,v=Ed(),{setFocusedIndex:b,focusedIndex:w,closeOnSelect:y,onClose:S,menuRef:_,isOpen:k,menuId:j,rafId:I}=v,E=f.useRef(null),O=`${j}-menuitem-${f.useId()}`,{index:R,register:M}=Cz({disabled:c&&!d}),A=f.useCallback(D=>{n==null||n(D),!c&&b(R)},[b,R,c,n]),T=f.useCallback(D=>{r==null||r(D),E.current&&!rS(E.current)&&A(D)},[A,r]),$=f.useCallback(D=>{o==null||o(D),!c&&b(-1)},[b,c,o]),Q=f.useCallback(D=>{s==null||s(D),Zv(D.currentTarget)&&(p??y)&&S()},[S,s,y,p]),B=f.useCallback(D=>{a==null||a(D),b(R)},[b,a,R]),V=R===w,q=c&&!d;Ba(()=>{k&&(V&&!q&&E.current?(I.current&&cancelAnimationFrame(I.current),I.current=requestAnimationFrame(()=>{var D;(D=E.current)==null||D.focus(),I.current=null})):_.current&&!rS(_.current)&&_.current.focus({preventScroll:!0}))},[V,q,_,k]);const G=J3({onClick:Q,onFocus:B,onMouseEnter:A,onMouseMove:T,onMouseLeave:$,ref:cn(M,E,t),isDisabled:c,isFocusable:d});return{...m,...G,type:h??G.type,id:O,role:"menuitem",tabIndex:V?0:-1}}function Oz(e={},t=null){const{type:n="radio",isChecked:r,...o}=e;return{...f6(o,t),role:`menuitem${n}`,"aria-checked":r}}function Rz(e={}){const{children:t,type:n="radio",value:r,defaultValue:o,onChange:s,...a}=e,d=n==="radio"?"":[],[p,h]=$c({defaultValue:o??d,value:r,onChange:s}),m=f.useCallback(w=>{if(n==="radio"&&typeof p=="string"&&h(w),n==="checkbox"&&Array.isArray(p)){const y=p.includes(w)?p.filter(S=>S!==w):p.concat(w);h(y)}},[p,h,n]),b=Cd(t).map(w=>{if(w.type.id!=="MenuItemOption")return w;const y=_=>{var k,j;m(w.props.value),(j=(k=w.props).onClick)==null||j.call(k,_)},S=n==="radio"?w.props.value===p:p.includes(w.props.value);return f.cloneElement(w,{type:n,onClick:y,isChecked:S})});return{...a,children:b}}function Mz(e){var t;if(!Dz(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function Dz(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function Az(e,t=[]){return f.useEffect(()=>()=>e(),t)}var[Tz,Bc]=Dn({name:"MenuStylesContext",errorMessage:`useMenuStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Od=e=>{const{children:t}=e,n=Fr("Menu",e),r=qn(e),{direction:o}=Ac(),{descendants:s,...a}=Pz({...r,direction:o}),c=f.useMemo(()=>a,[a]),{isOpen:d,onClose:p,forceUpdate:h}=c;return i.jsx(xz,{value:s,children:i.jsx(kz,{value:c,children:i.jsx(Tz,{value:n,children:X1(t,{isOpen:d,onClose:p,forceUpdate:h})})})})};Od.displayName="Menu";var p6=Ae((e,t)=>{const n=Bc();return i.jsx(je.span,{ref:t,...e,__css:n.command,className:"chakra-menu__command"})});p6.displayName="MenuCommand";var h6=Ae((e,t)=>{const{type:n,...r}=e,o=Bc(),s=r.as||n?n??void 0:"button",a=f.useMemo(()=>({textDecoration:"none",color:"inherit",userSelect:"none",display:"flex",width:"100%",alignItems:"center",textAlign:"start",flex:"0 0 auto",outline:0,...o.item}),[o.item]);return i.jsx(je.button,{ref:t,type:s,...r,__css:a})}),Vb=e=>{const{className:t,children:n,...r}=e,o=Bc(),s=f.Children.only(n),a=f.isValidElement(s)?f.cloneElement(s,{focusable:"false","aria-hidden":!0,className:Ct("chakra-menu__icon",s.props.className)}):null,c=Ct("chakra-menu__icon-wrapper",t);return i.jsx(je.span,{className:c,...r,__css:o.icon,children:a})};Vb.displayName="MenuIcon";var Pr=Ae((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",command:o,commandSpacing:s="0.75rem",children:a,...c}=e,d=f6(c,t),h=n||o?i.jsx("span",{style:{pointerEvents:"none",flex:1},children:a}):a;return i.jsxs(h6,{...d,className:Ct("chakra-menu__menuitem",d.className),children:[n&&i.jsx(Vb,{fontSize:"0.8em",marginEnd:r,children:n}),h,o&&i.jsx(p6,{marginStart:s,children:o})]})});Pr.displayName="MenuItem";var Nz={enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.2,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.1,easings:"easeOut"}}},$z=je(Ir.div),Fc=Ae(function(t,n){var r,o;const{rootProps:s,motionProps:a,...c}=t,{isOpen:d,onTransitionEnd:p,unstable__animationState:h}=Ed(),m=Iz(c,n),v=Ez(s),b=Bc();return i.jsx(je.div,{...v,__css:{zIndex:(o=t.zIndex)!=null?o:(r=b.list)==null?void 0:r.zIndex},children:i.jsx($z,{variants:Nz,initial:!1,animate:d?"enter":"exit",__css:{outline:0,...b.list},...a,className:Ct("chakra-menu__menu-list",m.className),...m,onUpdate:p,onAnimationComplete:sm(h.onComplete,m.onAnimationComplete)})})});Fc.displayName="MenuList";var od=Ae((e,t)=>{const{title:n,children:r,className:o,...s}=e,a=Ct("chakra-menu__group__title",o),c=Bc();return i.jsxs("div",{ref:t,className:"chakra-menu__group",role:"group",children:[n&&i.jsx(je.p,{className:a,...s,__css:c.groupTitle,children:n}),r]})});od.displayName="MenuGroup";var m6=e=>{const{className:t,title:n,...r}=e,o=Rz(r);return i.jsx(od,{title:n,className:Ct("chakra-menu__option-group",t),...o})};m6.displayName="MenuOptionGroup";var zz=Ae((e,t)=>{const n=Bc();return i.jsx(je.button,{ref:t,...e,__css:{display:"inline-flex",appearance:"none",alignItems:"center",outline:0,...n.button}})}),Rd=Ae((e,t)=>{const{children:n,as:r,...o}=e,s=jz(o,t),a=r||zz;return i.jsx(a,{...s,className:Ct("chakra-menu__menu-button",e.className),children:i.jsx(je.span,{__css:{pointerEvents:"none",flex:"1 1 auto",minW:0},children:e.children})})});Rd.displayName="MenuButton";var Lz=e=>i.jsx("svg",{viewBox:"0 0 14 14",width:"1em",height:"1em",...e,children:i.jsx("polygon",{fill:"currentColor",points:"5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039"})}),Jp=Ae((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",...o}=e,s=Oz(o,t);return i.jsxs(h6,{...s,className:Ct("chakra-menu__menuitem-option",o.className),children:[n!==null&&i.jsx(Vb,{fontSize:"0.8em",marginEnd:r,opacity:e.isChecked?1:0,children:n||i.jsx(Lz,{})}),i.jsx("span",{style:{flex:1},children:s.children})]})});Jp.id="MenuItemOption";Jp.displayName="MenuItemOption";var Bz={slideInBottom:{...Lv,custom:{offsetY:16,reverse:!0}},slideInRight:{...Lv,custom:{offsetX:16,reverse:!0}},scale:{...F5,custom:{initialScale:.95,reverse:!0}},none:{}},Fz=je(Ir.section),Hz=e=>Bz[e||"none"],g6=f.forwardRef((e,t)=>{const{preset:n,motionProps:r=Hz(n),...o}=e;return i.jsx(Fz,{ref:t,...r,...o})});g6.displayName="ModalTransition";var Wz=Object.defineProperty,Vz=(e,t,n)=>t in e?Wz(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Uz=(e,t,n)=>(Vz(e,typeof t!="symbol"?t+"":t,n),n),Gz=class{constructor(){Uz(this,"modals"),this.modals=new Map}add(e){return this.modals.set(e,this.modals.size+1),this.modals.size}remove(e){this.modals.delete(e)}isTopModal(e){return e?this.modals.get(e)===this.modals.size:!1}},e1=new Gz;function v6(e,t){const[n,r]=f.useState(0);return f.useEffect(()=>{const o=e.current;if(o){if(t){const s=e1.add(o);r(s)}return()=>{e1.remove(o),r(0)}}},[t,e]),n}var qz=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},$l=new WeakMap,Lf=new WeakMap,Bf={},M0=0,b6=function(e){return e&&(e.host||b6(e.parentNode))},Kz=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=b6(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Xz=function(e,t,n,r){var o=Kz(t,Array.isArray(e)?e:[e]);Bf[n]||(Bf[n]=new WeakMap);var s=Bf[n],a=[],c=new Set,d=new Set(o),p=function(m){!m||c.has(m)||(c.add(m),p(m.parentNode))};o.forEach(p);var h=function(m){!m||d.has(m)||Array.prototype.forEach.call(m.children,function(v){if(c.has(v))h(v);else{var b=v.getAttribute(r),w=b!==null&&b!=="false",y=($l.get(v)||0)+1,S=(s.get(v)||0)+1;$l.set(v,y),s.set(v,S),a.push(v),y===1&&w&&Lf.set(v,!0),S===1&&v.setAttribute(n,"true"),w||v.setAttribute(r,"true")}})};return h(t),c.clear(),M0++,function(){a.forEach(function(m){var v=$l.get(m)-1,b=s.get(m)-1;$l.set(m,v),s.set(m,b),v||(Lf.has(m)||m.removeAttribute(r),Lf.delete(m)),b||m.removeAttribute(n)}),M0--,M0||($l=new WeakMap,$l=new WeakMap,Lf=new WeakMap,Bf={})}},Yz=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||qz(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),Xz(r,o,n,"aria-hidden")):function(){return null}};function Qz(e){const{isOpen:t,onClose:n,id:r,closeOnOverlayClick:o=!0,closeOnEsc:s=!0,useInert:a=!0,onOverlayClick:c,onEsc:d}=e,p=f.useRef(null),h=f.useRef(null),[m,v,b]=Zz(r,"chakra-modal","chakra-modal--header","chakra-modal--body");Jz(p,t&&a);const w=v6(p,t),y=f.useRef(null),S=f.useCallback(A=>{y.current=A.target},[]),_=f.useCallback(A=>{A.key==="Escape"&&(A.stopPropagation(),s&&(n==null||n()),d==null||d())},[s,n,d]),[k,j]=f.useState(!1),[I,E]=f.useState(!1),O=f.useCallback((A={},T=null)=>({role:"dialog",...A,ref:cn(T,p),id:m,tabIndex:-1,"aria-modal":!0,"aria-labelledby":k?v:void 0,"aria-describedby":I?b:void 0,onClick:nt(A.onClick,$=>$.stopPropagation())}),[b,I,m,v,k]),R=f.useCallback(A=>{A.stopPropagation(),y.current===A.target&&e1.isTopModal(p.current)&&(o&&(n==null||n()),c==null||c())},[n,o,c]),M=f.useCallback((A={},T=null)=>({...A,ref:cn(T,h),onClick:nt(A.onClick,R),onKeyDown:nt(A.onKeyDown,_),onMouseDown:nt(A.onMouseDown,S)}),[_,S,R]);return{isOpen:t,onClose:n,headerId:v,bodyId:b,setBodyMounted:E,setHeaderMounted:j,dialogRef:p,overlayRef:h,getDialogProps:O,getDialogContainerProps:M,index:w}}function Jz(e,t){const n=e.current;f.useEffect(()=>{if(!(!e.current||!t))return Yz(e.current)},[t,e,n])}function Zz(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}var[eL,Hc]=Dn({name:"ModalStylesContext",errorMessage:`useModalStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[tL,il]=Dn({strict:!0,name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap modal components in ``"}),sd=e=>{const t={scrollBehavior:"outside",autoFocus:!0,trapFocus:!0,returnFocusOnClose:!0,blockScrollOnMount:!0,allowPinchZoom:!1,motionPreset:"scale",lockFocusAcrossFrames:!0,...e},{portalProps:n,children:r,autoFocus:o,trapFocus:s,initialFocusRef:a,finalFocusRef:c,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:m,motionPreset:v,lockFocusAcrossFrames:b,onCloseComplete:w}=t,y=Fr("Modal",t),_={...Qz(t),autoFocus:o,trapFocus:s,initialFocusRef:a,finalFocusRef:c,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:m,motionPreset:v,lockFocusAcrossFrames:b};return i.jsx(tL,{value:_,children:i.jsx(eL,{value:y,children:i.jsx(mo,{onExitComplete:w,children:_.isOpen&&i.jsx(Ju,{...n,children:r})})})})};sd.displayName="Modal";var Pp="right-scroll-bar-position",jp="width-before-scroll-bar",nL="with-scroll-bars-hidden",rL="--removed-body-scroll-bar-size",y6=h3(),D0=function(){},vm=f.forwardRef(function(e,t){var n=f.useRef(null),r=f.useState({onScrollCapture:D0,onWheelCapture:D0,onTouchMoveCapture:D0}),o=r[0],s=r[1],a=e.forwardProps,c=e.children,d=e.className,p=e.removeScrollBar,h=e.enabled,m=e.shards,v=e.sideCar,b=e.noIsolation,w=e.inert,y=e.allowPinchZoom,S=e.as,_=S===void 0?"div":S,k=e.gapMode,j=d3(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),I=v,E=u3([n,t]),O=Qs(Qs({},j),o);return f.createElement(f.Fragment,null,h&&f.createElement(I,{sideCar:y6,removeScrollBar:p,shards:m,noIsolation:b,inert:w,setCallbacks:s,allowPinchZoom:!!y,lockRef:n,gapMode:k}),a?f.cloneElement(f.Children.only(c),Qs(Qs({},O),{ref:E})):f.createElement(_,Qs({},O,{className:d,ref:E}),c))});vm.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};vm.classNames={fullWidth:jp,zeroRight:Pp};var oS,oL=function(){if(oS)return oS;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function sL(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=oL();return t&&e.setAttribute("nonce",t),e}function aL(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function iL(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var lL=function(){var e=0,t=null;return{add:function(n){e==0&&(t=sL())&&(aL(t,n),iL(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},cL=function(){var e=lL();return function(t,n){f.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},x6=function(){var e=cL(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},uL={left:0,top:0,right:0,gap:0},A0=function(e){return parseInt(e||"",10)||0},dL=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[A0(n),A0(r),A0(o)]},fL=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return uL;var t=dL(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},pL=x6(),hL=function(e,t,n,r){var o=e.left,s=e.top,a=e.right,c=e.gap;return n===void 0&&(n="margin"),` - .`.concat(nL,` { - overflow: hidden `).concat(r,`; - padding-right: `).concat(c,"px ").concat(r,`; - } - body { - overflow: hidden `).concat(r,`; - overscroll-behavior: contain; - `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` - padding-left: `.concat(o,`px; - padding-top: `).concat(s,`px; - padding-right: `).concat(a,`px; - margin-left:0; - margin-top:0; - margin-right: `).concat(c,"px ").concat(r,`; - `),n==="padding"&&"padding-right: ".concat(c,"px ").concat(r,";")].filter(Boolean).join(""),` - } - - .`).concat(Pp,` { - right: `).concat(c,"px ").concat(r,`; - } - - .`).concat(jp,` { - margin-right: `).concat(c,"px ").concat(r,`; - } - - .`).concat(Pp," .").concat(Pp,` { - right: 0 `).concat(r,`; - } - - .`).concat(jp," .").concat(jp,` { - margin-right: 0 `).concat(r,`; - } - - body { - `).concat(rL,": ").concat(c,`px; - } -`)},mL=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r,s=f.useMemo(function(){return fL(o)},[o]);return f.createElement(pL,{styles:hL(s,!t,o,n?"":"!important")})},t1=!1;if(typeof window<"u")try{var Ff=Object.defineProperty({},"passive",{get:function(){return t1=!0,!0}});window.addEventListener("test",Ff,Ff),window.removeEventListener("test",Ff,Ff)}catch{t1=!1}var zl=t1?{passive:!1}:!1,gL=function(e){return e.tagName==="TEXTAREA"},w6=function(e,t){var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!gL(e)&&n[t]==="visible")},vL=function(e){return w6(e,"overflowY")},bL=function(e){return w6(e,"overflowX")},sS=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=S6(e,r);if(o){var s=C6(e,r),a=s[1],c=s[2];if(a>c)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},yL=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},xL=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},S6=function(e,t){return e==="v"?vL(t):bL(t)},C6=function(e,t){return e==="v"?yL(t):xL(t)},wL=function(e,t){return e==="h"&&t==="rtl"?-1:1},SL=function(e,t,n,r,o){var s=wL(e,window.getComputedStyle(t).direction),a=s*r,c=n.target,d=t.contains(c),p=!1,h=a>0,m=0,v=0;do{var b=C6(e,c),w=b[0],y=b[1],S=b[2],_=y-S-s*w;(w||_)&&S6(e,c)&&(m+=_,v+=w),c=c.parentNode}while(!d&&c!==document.body||d&&(t.contains(c)||t===c));return(h&&(o&&m===0||!o&&a>m)||!h&&(o&&v===0||!o&&-a>v))&&(p=!0),p},Hf=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},aS=function(e){return[e.deltaX,e.deltaY]},iS=function(e){return e&&"current"in e?e.current:e},CL=function(e,t){return e[0]===t[0]&&e[1]===t[1]},kL=function(e){return` - .block-interactivity-`.concat(e,` {pointer-events: none;} - .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},_L=0,Ll=[];function PL(e){var t=f.useRef([]),n=f.useRef([0,0]),r=f.useRef(),o=f.useState(_L++)[0],s=f.useState(x6)[0],a=f.useRef(e);f.useEffect(function(){a.current=e},[e]),f.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var y=Gv([e.lockRef.current],(e.shards||[]).map(iS),!0).filter(Boolean);return y.forEach(function(S){return S.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),y.forEach(function(S){return S.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var c=f.useCallback(function(y,S){if("touches"in y&&y.touches.length===2)return!a.current.allowPinchZoom;var _=Hf(y),k=n.current,j="deltaX"in y?y.deltaX:k[0]-_[0],I="deltaY"in y?y.deltaY:k[1]-_[1],E,O=y.target,R=Math.abs(j)>Math.abs(I)?"h":"v";if("touches"in y&&R==="h"&&O.type==="range")return!1;var M=sS(R,O);if(!M)return!0;if(M?E=R:(E=R==="v"?"h":"v",M=sS(R,O)),!M)return!1;if(!r.current&&"changedTouches"in y&&(j||I)&&(r.current=E),!E)return!0;var A=r.current||E;return SL(A,S,y,A==="h"?j:I,!0)},[]),d=f.useCallback(function(y){var S=y;if(!(!Ll.length||Ll[Ll.length-1]!==s)){var _="deltaY"in S?aS(S):Hf(S),k=t.current.filter(function(E){return E.name===S.type&&E.target===S.target&&CL(E.delta,_)})[0];if(k&&k.should){S.cancelable&&S.preventDefault();return}if(!k){var j=(a.current.shards||[]).map(iS).filter(Boolean).filter(function(E){return E.contains(S.target)}),I=j.length>0?c(S,j[0]):!a.current.noIsolation;I&&S.cancelable&&S.preventDefault()}}},[]),p=f.useCallback(function(y,S,_,k){var j={name:y,delta:S,target:_,should:k};t.current.push(j),setTimeout(function(){t.current=t.current.filter(function(I){return I!==j})},1)},[]),h=f.useCallback(function(y){n.current=Hf(y),r.current=void 0},[]),m=f.useCallback(function(y){p(y.type,aS(y),y.target,c(y,e.lockRef.current))},[]),v=f.useCallback(function(y){p(y.type,Hf(y),y.target,c(y,e.lockRef.current))},[]);f.useEffect(function(){return Ll.push(s),e.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:v}),document.addEventListener("wheel",d,zl),document.addEventListener("touchmove",d,zl),document.addEventListener("touchstart",h,zl),function(){Ll=Ll.filter(function(y){return y!==s}),document.removeEventListener("wheel",d,zl),document.removeEventListener("touchmove",d,zl),document.removeEventListener("touchstart",h,zl)}},[]);var b=e.removeScrollBar,w=e.inert;return f.createElement(f.Fragment,null,w?f.createElement(s,{styles:kL(o)}):null,b?f.createElement(mL,{gapMode:e.gapMode}):null)}const jL=jT(y6,PL);var k6=f.forwardRef(function(e,t){return f.createElement(vm,Qs({},e,{ref:t,sideCar:jL}))});k6.classNames=vm.classNames;const IL=k6;function EL(e){const{autoFocus:t,trapFocus:n,dialogRef:r,initialFocusRef:o,blockScrollOnMount:s,allowPinchZoom:a,finalFocusRef:c,returnFocusOnClose:d,preserveScrollBarGap:p,lockFocusAcrossFrames:h,isOpen:m}=il(),[v,b]=R7();f.useEffect(()=>{!v&&b&&setTimeout(b)},[v,b]);const w=v6(r,m);return i.jsx(U3,{autoFocus:t,isDisabled:!n,initialFocusRef:o,finalFocusRef:c,restoreFocus:d,contentRef:r,lockFocusAcrossFrames:h,children:i.jsx(IL,{removeScrollBar:!p,allowPinchZoom:a,enabled:w===1&&s,forwardProps:!0,children:e.children})})}var ad=Ae((e,t)=>{const{className:n,children:r,containerProps:o,motionProps:s,...a}=e,{getDialogProps:c,getDialogContainerProps:d}=il(),p=c(a,t),h=d(o),m=Ct("chakra-modal__content",n),v=Hc(),b={display:"flex",flexDirection:"column",position:"relative",width:"100%",outline:0,...v.dialog},w={display:"flex",width:"100vw",height:"$100vh",position:"fixed",left:0,top:0,...v.dialogContainer},{motionPreset:y}=il();return i.jsx(EL,{children:i.jsx(je.div,{...h,className:"chakra-modal__content-container",tabIndex:-1,__css:w,children:i.jsx(g6,{preset:y,motionProps:s,className:m,...p,__css:b,children:r})})})});ad.displayName="ModalContent";function Md(e){const{leastDestructiveRef:t,...n}=e;return i.jsx(sd,{...n,initialFocusRef:t})}var Dd=Ae((e,t)=>i.jsx(ad,{ref:t,role:"alertdialog",...e})),Ra=Ae((e,t)=>{const{className:n,...r}=e,o=Ct("chakra-modal__footer",n),a={display:"flex",alignItems:"center",justifyContent:"flex-end",...Hc().footer};return i.jsx(je.footer,{ref:t,...r,__css:a,className:o})});Ra.displayName="ModalFooter";var Ma=Ae((e,t)=>{const{className:n,...r}=e,{headerId:o,setHeaderMounted:s}=il();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const a=Ct("chakra-modal__header",n),d={flex:0,...Hc().header};return i.jsx(je.header,{ref:t,className:a,id:o,...r,__css:d})});Ma.displayName="ModalHeader";var OL=je(Ir.div),Da=Ae((e,t)=>{const{className:n,transition:r,motionProps:o,...s}=e,a=Ct("chakra-modal__overlay",n),d={pos:"fixed",left:"0",top:"0",w:"100vw",h:"100vh",...Hc().overlay},{motionPreset:p}=il(),m=o||(p==="none"?{}:B5);return i.jsx(OL,{...m,__css:d,ref:t,className:a,...s})});Da.displayName="ModalOverlay";var Aa=Ae((e,t)=>{const{className:n,...r}=e,{bodyId:o,setBodyMounted:s}=il();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const a=Ct("chakra-modal__body",n),c=Hc();return i.jsx(je.div,{ref:t,className:a,id:o,...r,__css:c.body})});Aa.displayName="ModalBody";var Ub=Ae((e,t)=>{const{onClick:n,className:r,...o}=e,{onClose:s}=il(),a=Ct("chakra-modal__close-btn",r),c=Hc();return i.jsx(XD,{ref:t,__css:c.closeButton,className:a,onClick:nt(n,d=>{d.stopPropagation(),s()}),...o})});Ub.displayName="ModalCloseButton";var RL=e=>i.jsx(no,{viewBox:"0 0 24 24",...e,children:i.jsx("path",{fill:"currentColor",d:"M21,5H3C2.621,5,2.275,5.214,2.105,5.553C1.937,5.892,1.973,6.297,2.2,6.6l9,12 c0.188,0.252,0.485,0.4,0.8,0.4s0.611-0.148,0.8-0.4l9-12c0.228-0.303,0.264-0.708,0.095-1.047C21.725,5.214,21.379,5,21,5z"})}),ML=e=>i.jsx(no,{viewBox:"0 0 24 24",...e,children:i.jsx("path",{fill:"currentColor",d:"M12.8,5.4c-0.377-0.504-1.223-0.504-1.6,0l-9,12c-0.228,0.303-0.264,0.708-0.095,1.047 C2.275,18.786,2.621,19,3,19h18c0.379,0,0.725-0.214,0.895-0.553c0.169-0.339,0.133-0.744-0.095-1.047L12.8,5.4z"})});function lS(e,t,n,r){f.useEffect(()=>{var o;if(!e.current||!r)return;const s=(o=e.current.ownerDocument.defaultView)!=null?o:window,a=Array.isArray(t)?t:[t],c=new s.MutationObserver(d=>{for(const p of d)p.type==="attributes"&&p.attributeName&&a.includes(p.attributeName)&&n(p)});return c.observe(e.current,{attributes:!0,attributeFilter:a}),()=>c.disconnect()})}function DL(e,t){const n=or(e);f.useEffect(()=>{let r=null;const o=()=>n();return t!==null&&(r=window.setInterval(o,t)),()=>{r&&window.clearInterval(r)}},[t,n])}var AL=50,cS=300;function TL(e,t){const[n,r]=f.useState(!1),[o,s]=f.useState(null),[a,c]=f.useState(!0),d=f.useRef(null),p=()=>clearTimeout(d.current);DL(()=>{o==="increment"&&e(),o==="decrement"&&t()},n?AL:null);const h=f.useCallback(()=>{a&&e(),d.current=setTimeout(()=>{c(!1),r(!0),s("increment")},cS)},[e,a]),m=f.useCallback(()=>{a&&t(),d.current=setTimeout(()=>{c(!1),r(!0),s("decrement")},cS)},[t,a]),v=f.useCallback(()=>{c(!0),r(!1),p()},[]);return f.useEffect(()=>()=>p(),[]),{up:h,down:m,stop:v,isSpinning:n}}var NL=/^[Ee0-9+\-.]$/;function $L(e){return NL.test(e)}function zL(e,t){if(e.key==null)return!0;const n=e.ctrlKey||e.altKey||e.metaKey;return!(e.key.length===1)||n?!0:t(e.key)}function LL(e={}){const{focusInputOnChange:t=!0,clampValueOnBlur:n=!0,keepWithinRange:r=!0,min:o=Number.MIN_SAFE_INTEGER,max:s=Number.MAX_SAFE_INTEGER,step:a=1,isReadOnly:c,isDisabled:d,isRequired:p,isInvalid:h,pattern:m="[0-9]*(.[0-9]+)?",inputMode:v="decimal",allowMouseWheel:b,id:w,onChange:y,precision:S,name:_,"aria-describedby":k,"aria-label":j,"aria-labelledby":I,onFocus:E,onBlur:O,onInvalid:R,getAriaValueText:M,isValidCharacter:A,format:T,parse:$,...Q}=e,B=or(E),V=or(O),q=or(R),G=or(A??$L),D=or(M),L=iT(e),{update:W,increment:Y,decrement:ae}=L,[be,ie]=f.useState(!1),X=!(c||d),K=f.useRef(null),U=f.useRef(null),se=f.useRef(null),re=f.useRef(null),oe=f.useCallback(we=>we.split("").filter(G).join(""),[G]),pe=f.useCallback(we=>{var ht;return(ht=$==null?void 0:$(we))!=null?ht:we},[$]),le=f.useCallback(we=>{var ht;return((ht=T==null?void 0:T(we))!=null?ht:we).toString()},[T]);Ba(()=>{(L.valueAsNumber>s||L.valueAsNumber{if(!K.current)return;if(K.current.value!=L.value){const ht=pe(K.current.value);L.setValue(oe(ht))}},[pe,oe]);const ge=f.useCallback((we=a)=>{X&&Y(we)},[Y,X,a]),ke=f.useCallback((we=a)=>{X&&ae(we)},[ae,X,a]),xe=TL(ge,ke);lS(se,"disabled",xe.stop,xe.isSpinning),lS(re,"disabled",xe.stop,xe.isSpinning);const de=f.useCallback(we=>{if(we.nativeEvent.isComposing)return;const $t=pe(we.currentTarget.value);W(oe($t)),U.current={start:we.currentTarget.selectionStart,end:we.currentTarget.selectionEnd}},[W,oe,pe]),Te=f.useCallback(we=>{var ht,$t,zt;B==null||B(we),U.current&&(we.target.selectionStart=($t=U.current.start)!=null?$t:(ht=we.currentTarget.value)==null?void 0:ht.length,we.currentTarget.selectionEnd=(zt=U.current.end)!=null?zt:we.currentTarget.selectionStart)},[B]),Oe=f.useCallback(we=>{if(we.nativeEvent.isComposing)return;zL(we,G)||we.preventDefault();const ht=$e(we)*a,$t=we.key,ze={ArrowUp:()=>ge(ht),ArrowDown:()=>ke(ht),Home:()=>W(o),End:()=>W(s)}[$t];ze&&(we.preventDefault(),ze(we))},[G,a,ge,ke,W,o,s]),$e=we=>{let ht=1;return(we.metaKey||we.ctrlKey)&&(ht=.1),we.shiftKey&&(ht=10),ht},kt=f.useMemo(()=>{const we=D==null?void 0:D(L.value);if(we!=null)return we;const ht=L.value.toString();return ht||void 0},[L.value,D]),ct=f.useCallback(()=>{let we=L.value;if(L.value==="")return;/^[eE]/.test(L.value.toString())?L.setValue(""):(L.valueAsNumbers&&(we=s),L.cast(we))},[L,s,o]),on=f.useCallback(()=>{ie(!1),n&&ct()},[n,ie,ct]),vt=f.useCallback(()=>{t&&requestAnimationFrame(()=>{var we;(we=K.current)==null||we.focus()})},[t]),bt=f.useCallback(we=>{we.preventDefault(),xe.up(),vt()},[vt,xe]),Se=f.useCallback(we=>{we.preventDefault(),xe.down(),vt()},[vt,xe]);Qi(()=>K.current,"wheel",we=>{var ht,$t;const ze=(($t=(ht=K.current)==null?void 0:ht.ownerDocument)!=null?$t:document).activeElement===K.current;if(!b||!ze)return;we.preventDefault();const Ke=$e(we)*a,Pn=Math.sign(we.deltaY);Pn===-1?ge(Ke):Pn===1&&ke(Ke)},{passive:!1});const Me=f.useCallback((we={},ht=null)=>{const $t=d||r&&L.isAtMax;return{...we,ref:cn(ht,se),role:"button",tabIndex:-1,onPointerDown:nt(we.onPointerDown,zt=>{zt.button!==0||$t||bt(zt)}),onPointerLeave:nt(we.onPointerLeave,xe.stop),onPointerUp:nt(we.onPointerUp,xe.stop),disabled:$t,"aria-disabled":ns($t)}},[L.isAtMax,r,bt,xe.stop,d]),Pt=f.useCallback((we={},ht=null)=>{const $t=d||r&&L.isAtMin;return{...we,ref:cn(ht,re),role:"button",tabIndex:-1,onPointerDown:nt(we.onPointerDown,zt=>{zt.button!==0||$t||Se(zt)}),onPointerLeave:nt(we.onPointerLeave,xe.stop),onPointerUp:nt(we.onPointerUp,xe.stop),disabled:$t,"aria-disabled":ns($t)}},[L.isAtMin,r,Se,xe.stop,d]),Tt=f.useCallback((we={},ht=null)=>{var $t,zt,ze,Ke;return{name:_,inputMode:v,type:"text",pattern:m,"aria-labelledby":I,"aria-label":j,"aria-describedby":k,id:w,disabled:d,...we,readOnly:($t=we.readOnly)!=null?$t:c,"aria-readonly":(zt=we.readOnly)!=null?zt:c,"aria-required":(ze=we.required)!=null?ze:p,required:(Ke=we.required)!=null?Ke:p,ref:cn(K,ht),value:le(L.value),role:"spinbutton","aria-valuemin":o,"aria-valuemax":s,"aria-valuenow":Number.isNaN(L.valueAsNumber)?void 0:L.valueAsNumber,"aria-invalid":ns(h??L.isOutOfRange),"aria-valuetext":kt,autoComplete:"off",autoCorrect:"off",onChange:nt(we.onChange,de),onKeyDown:nt(we.onKeyDown,Oe),onFocus:nt(we.onFocus,Te,()=>ie(!0)),onBlur:nt(we.onBlur,V,on)}},[_,v,m,I,j,le,k,w,d,p,c,h,L.value,L.valueAsNumber,L.isOutOfRange,o,s,kt,de,Oe,Te,V,on]);return{value:le(L.value),valueAsNumber:L.valueAsNumber,isFocused:be,isDisabled:d,isReadOnly:c,getIncrementButtonProps:Me,getDecrementButtonProps:Pt,getInputProps:Tt,htmlProps:Q}}var[BL,bm]=Dn({name:"NumberInputStylesContext",errorMessage:`useNumberInputStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[FL,Gb]=Dn({name:"NumberInputContext",errorMessage:"useNumberInputContext: `context` is undefined. Seems you forgot to wrap number-input's components within "}),ym=Ae(function(t,n){const r=Fr("NumberInput",t),o=qn(t),s=mb(o),{htmlProps:a,...c}=LL(s),d=f.useMemo(()=>c,[c]);return i.jsx(FL,{value:d,children:i.jsx(BL,{value:r,children:i.jsx(je.div,{...a,ref:n,className:Ct("chakra-numberinput",t.className),__css:{position:"relative",zIndex:0,...r.root}})})})});ym.displayName="NumberInput";var xm=Ae(function(t,n){const r=bm();return i.jsx(je.div,{"aria-hidden":!0,ref:n,...t,__css:{display:"flex",flexDirection:"column",position:"absolute",top:"0",insetEnd:"0px",margin:"1px",height:"calc(100% - 2px)",zIndex:1,...r.stepperGroup}})});xm.displayName="NumberInputStepper";var wm=Ae(function(t,n){const{getInputProps:r}=Gb(),o=r(t,n),s=bm();return i.jsx(je.input,{...o,className:Ct("chakra-numberinput__field",t.className),__css:{width:"100%",...s.field}})});wm.displayName="NumberInputField";var _6=je("div",{baseStyle:{display:"flex",justifyContent:"center",alignItems:"center",flex:1,transitionProperty:"common",transitionDuration:"normal",userSelect:"none",cursor:"pointer",lineHeight:"normal"}}),Sm=Ae(function(t,n){var r;const o=bm(),{getDecrementButtonProps:s}=Gb(),a=s(t,n);return i.jsx(_6,{...a,__css:o.stepper,children:(r=t.children)!=null?r:i.jsx(RL,{})})});Sm.displayName="NumberDecrementStepper";var Cm=Ae(function(t,n){var r;const{getIncrementButtonProps:o}=Gb(),s=o(t,n),a=bm();return i.jsx(_6,{...s,__css:a.stepper,children:(r=t.children)!=null?r:i.jsx(ML,{})})});Cm.displayName="NumberIncrementStepper";var[HL,Ad]=Dn({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),[WL,qb]=Dn({name:"PopoverStylesContext",errorMessage:`usePopoverStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `});function Kb(e){const t=f.Children.only(e.children),{getTriggerProps:n}=Ad();return f.cloneElement(t,n(t.props,t.ref))}Kb.displayName="PopoverTrigger";var Bl={click:"click",hover:"hover"};function VL(e={}){const{closeOnBlur:t=!0,closeOnEsc:n=!0,initialFocusRef:r,id:o,returnFocusOnClose:s=!0,autoFocus:a=!0,arrowSize:c,arrowShadowColor:d,trigger:p=Bl.click,openDelay:h=200,closeDelay:m=200,isLazy:v,lazyBehavior:b="unmount",computePositionOnMount:w,...y}=e,{isOpen:S,onClose:_,onOpen:k,onToggle:j}=Hb(e),I=f.useRef(null),E=f.useRef(null),O=f.useRef(null),R=f.useRef(!1),M=f.useRef(!1);S&&(M.current=!0);const[A,T]=f.useState(!1),[$,Q]=f.useState(!1),B=f.useId(),V=o??B,[q,G,D,L]=["popover-trigger","popover-content","popover-header","popover-body"].map(de=>`${de}-${V}`),{referenceRef:W,getArrowProps:Y,getPopperProps:ae,getArrowInnerProps:be,forceUpdate:ie}=Fb({...y,enabled:S||!!w}),X=u6({isOpen:S,ref:O});o3({enabled:S,ref:E}),Z3(O,{focusRef:E,visible:S,shouldFocus:s&&p===Bl.click}),QN(O,{focusRef:r,visible:S,shouldFocus:a&&p===Bl.click});const K=Wb({wasSelected:M.current,enabled:v,mode:b,isSelected:X.present}),U=f.useCallback((de={},Te=null)=>{const Oe={...de,style:{...de.style,transformOrigin:jr.transformOrigin.varRef,[jr.arrowSize.var]:c?`${c}px`:void 0,[jr.arrowShadowColor.var]:d},ref:cn(O,Te),children:K?de.children:null,id:G,tabIndex:-1,role:"dialog",onKeyDown:nt(de.onKeyDown,$e=>{n&&$e.key==="Escape"&&_()}),onBlur:nt(de.onBlur,$e=>{const kt=uS($e),ct=T0(O.current,kt),on=T0(E.current,kt);S&&t&&(!ct&&!on)&&_()}),"aria-labelledby":A?D:void 0,"aria-describedby":$?L:void 0};return p===Bl.hover&&(Oe.role="tooltip",Oe.onMouseEnter=nt(de.onMouseEnter,()=>{R.current=!0}),Oe.onMouseLeave=nt(de.onMouseLeave,$e=>{$e.nativeEvent.relatedTarget!==null&&(R.current=!1,setTimeout(()=>_(),m))})),Oe},[K,G,A,D,$,L,p,n,_,S,t,m,d,c]),se=f.useCallback((de={},Te=null)=>ae({...de,style:{visibility:S?"visible":"hidden",...de.style}},Te),[S,ae]),re=f.useCallback((de,Te=null)=>({...de,ref:cn(Te,I,W)}),[I,W]),oe=f.useRef(),pe=f.useRef(),le=f.useCallback(de=>{I.current==null&&W(de)},[W]),ge=f.useCallback((de={},Te=null)=>{const Oe={...de,ref:cn(E,Te,le),id:q,"aria-haspopup":"dialog","aria-expanded":S,"aria-controls":G};return p===Bl.click&&(Oe.onClick=nt(de.onClick,j)),p===Bl.hover&&(Oe.onFocus=nt(de.onFocus,()=>{oe.current===void 0&&k()}),Oe.onBlur=nt(de.onBlur,$e=>{const kt=uS($e),ct=!T0(O.current,kt);S&&t&&ct&&_()}),Oe.onKeyDown=nt(de.onKeyDown,$e=>{$e.key==="Escape"&&_()}),Oe.onMouseEnter=nt(de.onMouseEnter,()=>{R.current=!0,oe.current=window.setTimeout(()=>k(),h)}),Oe.onMouseLeave=nt(de.onMouseLeave,()=>{R.current=!1,oe.current&&(clearTimeout(oe.current),oe.current=void 0),pe.current=window.setTimeout(()=>{R.current===!1&&_()},m)})),Oe},[q,S,G,p,le,j,k,t,_,h,m]);f.useEffect(()=>()=>{oe.current&&clearTimeout(oe.current),pe.current&&clearTimeout(pe.current)},[]);const ke=f.useCallback((de={},Te=null)=>({...de,id:D,ref:cn(Te,Oe=>{T(!!Oe)})}),[D]),xe=f.useCallback((de={},Te=null)=>({...de,id:L,ref:cn(Te,Oe=>{Q(!!Oe)})}),[L]);return{forceUpdate:ie,isOpen:S,onAnimationComplete:X.onComplete,onClose:_,getAnchorProps:re,getArrowProps:Y,getArrowInnerProps:be,getPopoverPositionerProps:se,getPopoverProps:U,getTriggerProps:ge,getHeaderProps:ke,getBodyProps:xe}}function T0(e,t){return e===t||(e==null?void 0:e.contains(t))}function uS(e){var t;const n=e.currentTarget.ownerDocument.activeElement;return(t=e.relatedTarget)!=null?t:n}function Xb(e){const t=Fr("Popover",e),{children:n,...r}=qn(e),o=Ac(),s=VL({...r,direction:o.direction});return i.jsx(HL,{value:s,children:i.jsx(WL,{value:t,children:X1(n,{isOpen:s.isOpen,onClose:s.onClose,forceUpdate:s.forceUpdate})})})}Xb.displayName="Popover";var N0=(e,t)=>t?`${e}.${t}, ${t}`:void 0;function P6(e){var t;const{bg:n,bgColor:r,backgroundColor:o,shadow:s,boxShadow:a,shadowColor:c}=e,{getArrowProps:d,getArrowInnerProps:p}=Ad(),h=qb(),m=(t=n??r)!=null?t:o,v=s??a;return i.jsx(je.div,{...d(),className:"chakra-popover__arrow-positioner",children:i.jsx(je.div,{className:Ct("chakra-popover__arrow",e.className),...p(e),__css:{"--popper-arrow-shadow-color":N0("colors",c),"--popper-arrow-bg":N0("colors",m),"--popper-arrow-shadow":N0("shadows",v),...h.arrow}})})}P6.displayName="PopoverArrow";var j6=Ae(function(t,n){const{getBodyProps:r}=Ad(),o=qb();return i.jsx(je.div,{...r(t,n),className:Ct("chakra-popover__body",t.className),__css:o.body})});j6.displayName="PopoverBody";function UL(e){if(e)return{enter:{...e.enter,visibility:"visible"},exit:{...e.exit,transitionEnd:{visibility:"hidden"}}}}var GL={exit:{opacity:0,scale:.95,transition:{duration:.1,ease:[.4,0,1,1]}},enter:{scale:1,opacity:1,transition:{duration:.15,ease:[0,0,.2,1]}}},qL=je(Ir.section),I6=Ae(function(t,n){const{variants:r=GL,...o}=t,{isOpen:s}=Ad();return i.jsx(qL,{ref:n,variants:UL(r),initial:!1,animate:s?"enter":"exit",...o})});I6.displayName="PopoverTransition";var Yb=Ae(function(t,n){const{rootProps:r,motionProps:o,...s}=t,{getPopoverProps:a,getPopoverPositionerProps:c,onAnimationComplete:d}=Ad(),p=qb(),h={position:"relative",display:"flex",flexDirection:"column",...p.content};return i.jsx(je.div,{...c(r),__css:p.popper,className:"chakra-popover__popper",children:i.jsx(I6,{...o,...a(s,n),onAnimationComplete:sm(d,s.onAnimationComplete),className:Ct("chakra-popover__content",t.className),__css:h})})});Yb.displayName="PopoverContent";function KL(e,t,n){return(e-t)*100/(n-t)}za({"0%":{strokeDasharray:"1, 400",strokeDashoffset:"0"},"50%":{strokeDasharray:"400, 400",strokeDashoffset:"-100"},"100%":{strokeDasharray:"400, 400",strokeDashoffset:"-260"}});za({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}});var XL=za({"0%":{left:"-40%"},"100%":{left:"100%"}}),YL=za({from:{backgroundPosition:"1rem 0"},to:{backgroundPosition:"0 0"}});function QL(e){const{value:t=0,min:n,max:r,valueText:o,getValueText:s,isIndeterminate:a,role:c="progressbar"}=e,d=KL(t,n,r);return{bind:{"data-indeterminate":a?"":void 0,"aria-valuemax":r,"aria-valuemin":n,"aria-valuenow":a?void 0:t,"aria-valuetext":(()=>{if(t!=null)return typeof s=="function"?s(t,d):o})(),role:c},percent:d,value:t}}var[JL,ZL]=Dn({name:"ProgressStylesContext",errorMessage:`useProgressStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),eB=Ae((e,t)=>{const{min:n,max:r,value:o,isIndeterminate:s,role:a,...c}=e,d=QL({value:o,min:n,max:r,isIndeterminate:s,role:a}),h={height:"100%",...ZL().filledTrack};return i.jsx(je.div,{ref:t,style:{width:`${d.percent}%`,...c.style},...d.bind,...c,__css:h})}),E6=Ae((e,t)=>{var n;const{value:r,min:o=0,max:s=100,hasStripe:a,isAnimated:c,children:d,borderRadius:p,isIndeterminate:h,"aria-label":m,"aria-labelledby":v,"aria-valuetext":b,title:w,role:y,...S}=qn(e),_=Fr("Progress",e),k=p??((n=_.track)==null?void 0:n.borderRadius),j={animation:`${YL} 1s linear infinite`},O={...!h&&a&&c&&j,...h&&{position:"absolute",willChange:"left",minWidth:"50%",animation:`${XL} 1s ease infinite normal none running`}},R={overflow:"hidden",position:"relative",..._.track};return i.jsx(je.div,{ref:t,borderRadius:k,__css:R,...S,children:i.jsxs(JL,{value:_,children:[i.jsx(eB,{"aria-label":m,"aria-labelledby":v,"aria-valuetext":b,min:o,max:s,value:r,isIndeterminate:h,css:O,borderRadius:k,title:w,role:y}),d]})})});E6.displayName="Progress";function tB(e){return e&&_v(e)&&_v(e.target)}function nB(e={}){const{onChange:t,value:n,defaultValue:r,name:o,isDisabled:s,isFocusable:a,isNative:c,...d}=e,[p,h]=f.useState(r||""),m=typeof n<"u",v=m?n:p,b=f.useRef(null),w=f.useCallback(()=>{const E=b.current;if(!E)return;let O="input:not(:disabled):checked";const R=E.querySelector(O);if(R){R.focus();return}O="input:not(:disabled)";const M=E.querySelector(O);M==null||M.focus()},[]),S=`radio-${f.useId()}`,_=o||S,k=f.useCallback(E=>{const O=tB(E)?E.target.value:E;m||h(O),t==null||t(String(O))},[t,m]),j=f.useCallback((E={},O=null)=>({...E,ref:cn(O,b),role:"radiogroup"}),[]),I=f.useCallback((E={},O=null)=>({...E,ref:O,name:_,[c?"checked":"isChecked"]:v!=null?E.value===v:void 0,onChange(M){k(M)},"data-radiogroup":!0}),[c,_,k,v]);return{getRootProps:j,getRadioProps:I,name:_,ref:b,focus:w,setValue:h,value:v,onChange:k,isDisabled:s,isFocusable:a,htmlProps:d}}var[rB,O6]=Dn({name:"RadioGroupContext",strict:!1}),Zp=Ae((e,t)=>{const{colorScheme:n,size:r,variant:o,children:s,className:a,isDisabled:c,isFocusable:d,...p}=e,{value:h,onChange:m,getRootProps:v,name:b,htmlProps:w}=nB(p),y=f.useMemo(()=>({name:b,size:r,onChange:m,colorScheme:n,value:h,variant:o,isDisabled:c,isFocusable:d}),[b,r,m,n,h,o,c,d]);return i.jsx(rB,{value:y,children:i.jsx(je.div,{...v(w,t),className:Ct("chakra-radio-group",a),children:s})})});Zp.displayName="RadioGroup";var oB={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"};function sB(e={}){const{defaultChecked:t,isChecked:n,isFocusable:r,isDisabled:o,isReadOnly:s,isRequired:a,onChange:c,isInvalid:d,name:p,value:h,id:m,"data-radiogroup":v,"aria-describedby":b,...w}=e,y=`radio-${f.useId()}`,S=kd(),k=!!O6()||!!v;let I=!!S&&!k?S.id:y;I=m??I;const E=o??(S==null?void 0:S.isDisabled),O=s??(S==null?void 0:S.isReadOnly),R=a??(S==null?void 0:S.isRequired),M=d??(S==null?void 0:S.isInvalid),[A,T]=f.useState(!1),[$,Q]=f.useState(!1),[B,V]=f.useState(!1),[q,G]=f.useState(!1),[D,L]=f.useState(!!t),W=typeof n<"u",Y=W?n:D;f.useEffect(()=>q5(T),[]);const ae=f.useCallback(le=>{if(O||E){le.preventDefault();return}W||L(le.target.checked),c==null||c(le)},[W,E,O,c]),be=f.useCallback(le=>{le.key===" "&&G(!0)},[G]),ie=f.useCallback(le=>{le.key===" "&&G(!1)},[G]),X=f.useCallback((le={},ge=null)=>({...le,ref:ge,"data-active":Ft(q),"data-hover":Ft(B),"data-disabled":Ft(E),"data-invalid":Ft(M),"data-checked":Ft(Y),"data-focus":Ft($),"data-focus-visible":Ft($&&A),"data-readonly":Ft(O),"aria-hidden":!0,onMouseDown:nt(le.onMouseDown,()=>G(!0)),onMouseUp:nt(le.onMouseUp,()=>G(!1)),onMouseEnter:nt(le.onMouseEnter,()=>V(!0)),onMouseLeave:nt(le.onMouseLeave,()=>V(!1))}),[q,B,E,M,Y,$,O,A]),{onFocus:K,onBlur:U}=S??{},se=f.useCallback((le={},ge=null)=>{const ke=E&&!r;return{...le,id:I,ref:ge,type:"radio",name:p,value:h,onChange:nt(le.onChange,ae),onBlur:nt(U,le.onBlur,()=>Q(!1)),onFocus:nt(K,le.onFocus,()=>Q(!0)),onKeyDown:nt(le.onKeyDown,be),onKeyUp:nt(le.onKeyUp,ie),checked:Y,disabled:ke,readOnly:O,required:R,"aria-invalid":ns(M),"aria-disabled":ns(ke),"aria-required":ns(R),"data-readonly":Ft(O),"aria-describedby":b,style:oB}},[E,r,I,p,h,ae,U,K,be,ie,Y,O,R,M,b]);return{state:{isInvalid:M,isFocused:$,isChecked:Y,isActive:q,isHovered:B,isDisabled:E,isReadOnly:O,isRequired:R},getCheckboxProps:X,getRadioProps:X,getInputProps:se,getLabelProps:(le={},ge=null)=>({...le,ref:ge,onMouseDown:nt(le.onMouseDown,aB),"data-disabled":Ft(E),"data-checked":Ft(Y),"data-invalid":Ft(M)}),getRootProps:(le,ge=null)=>({...le,ref:ge,"data-disabled":Ft(E),"data-checked":Ft(Y),"data-invalid":Ft(M)}),htmlProps:w}}function aB(e){e.preventDefault(),e.stopPropagation()}function iB(e,t){const n={},r={};for(const[o,s]of Object.entries(e))t.includes(o)?n[o]=s:r[o]=s;return[n,r]}var ya=Ae((e,t)=>{var n;const r=O6(),{onChange:o,value:s}=e,a=Fr("Radio",{...r,...e}),c=qn(e),{spacing:d="0.5rem",children:p,isDisabled:h=r==null?void 0:r.isDisabled,isFocusable:m=r==null?void 0:r.isFocusable,inputProps:v,...b}=c;let w=e.isChecked;(r==null?void 0:r.value)!=null&&s!=null&&(w=r.value===s);let y=o;r!=null&&r.onChange&&s!=null&&(y=sm(r.onChange,o));const S=(n=e==null?void 0:e.name)!=null?n:r==null?void 0:r.name,{getInputProps:_,getCheckboxProps:k,getLabelProps:j,getRootProps:I,htmlProps:E}=sB({...b,isChecked:w,isFocusable:m,isDisabled:h,onChange:y,name:S}),[O,R]=iB(E,R_),M=k(R),A=_(v,t),T=j(),$=Object.assign({},O,I()),Q={display:"inline-flex",alignItems:"center",verticalAlign:"top",cursor:"pointer",position:"relative",...a.container},B={display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,...a.control},V={userSelect:"none",marginStart:d,...a.label};return i.jsxs(je.label,{className:"chakra-radio",...$,__css:Q,children:[i.jsx("input",{className:"chakra-radio__input",...A}),i.jsx(je.span,{className:"chakra-radio__control",...M,__css:B}),p&&i.jsx(je.span,{className:"chakra-radio__label",...T,__css:V,children:p})]})});ya.displayName="Radio";var R6=Ae(function(t,n){const{children:r,placeholder:o,className:s,...a}=t;return i.jsxs(je.select,{...a,ref:n,className:Ct("chakra-select",s),children:[o&&i.jsx("option",{value:"",children:o}),r]})});R6.displayName="SelectField";function lB(e,t){const n={},r={};for(const[o,s]of Object.entries(e))t.includes(o)?n[o]=s:r[o]=s;return[n,r]}var M6=Ae((e,t)=>{var n;const r=Fr("Select",e),{rootProps:o,placeholder:s,icon:a,color:c,height:d,h:p,minH:h,minHeight:m,iconColor:v,iconSize:b,...w}=qn(e),[y,S]=lB(w,R_),_=hb(S),k={width:"100%",height:"fit-content",position:"relative",color:c},j={paddingEnd:"2rem",...r.field,_focus:{zIndex:"unset",...(n=r.field)==null?void 0:n._focus}};return i.jsxs(je.div,{className:"chakra-select__wrapper",__css:k,...y,...o,children:[i.jsx(R6,{ref:t,height:p??d,minH:h??m,placeholder:s,..._,__css:j,children:e.children}),i.jsx(D6,{"data-disabled":Ft(_.disabled),...(v||c)&&{color:v||c},__css:r.icon,...b&&{fontSize:b},children:a})]})});M6.displayName="Select";var cB=e=>i.jsx("svg",{viewBox:"0 0 24 24",...e,children:i.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})}),uB=je("div",{baseStyle:{position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",top:"50%",transform:"translateY(-50%)"}}),D6=e=>{const{children:t=i.jsx(cB,{}),...n}=e,r=f.cloneElement(t,{role:"presentation",className:"chakra-select__icon",focusable:!1,"aria-hidden":!0,style:{width:"1em",height:"1em",color:"currentColor"}});return i.jsx(uB,{...n,className:"chakra-select__icon-wrapper",children:f.isValidElement(t)?r:null})};D6.displayName="SelectIcon";function dB(){const e=f.useRef(!0);return f.useEffect(()=>{e.current=!1},[]),e.current}function fB(e){const t=f.useRef();return f.useEffect(()=>{t.current=e},[e]),t.current}var pB=je("div",{baseStyle:{boxShadow:"none",backgroundClip:"padding-box",cursor:"default",color:"transparent",pointerEvents:"none",userSelect:"none","&::before, &::after, *":{visibility:"hidden"}}}),n1=M_("skeleton-start-color"),r1=M_("skeleton-end-color"),hB=za({from:{opacity:0},to:{opacity:1}}),mB=za({from:{borderColor:n1.reference,background:n1.reference},to:{borderColor:r1.reference,background:r1.reference}}),km=Ae((e,t)=>{const n={...e,fadeDuration:typeof e.fadeDuration=="number"?e.fadeDuration:.4,speed:typeof e.speed=="number"?e.speed:.8},r=ia("Skeleton",n),o=dB(),{startColor:s="",endColor:a="",isLoaded:c,fadeDuration:d,speed:p,className:h,fitContent:m,...v}=qn(n),[b,w]=Tc("colors",[s,a]),y=fB(c),S=Ct("chakra-skeleton",h),_={...b&&{[n1.variable]:b},...w&&{[r1.variable]:w}};if(c){const k=o||y?"none":`${hB} ${d}s`;return i.jsx(je.div,{ref:t,className:S,__css:{animation:k},...v})}return i.jsx(pB,{ref:t,className:S,...v,__css:{width:m?"fit-content":void 0,...r,..._,_dark:{...r._dark,..._},animation:`${p}s linear infinite alternate ${mB}`}})});km.displayName="Skeleton";var Jo=e=>e?"":void 0,cc=e=>e?!0:void 0,Ii=(...e)=>e.filter(Boolean).join(" ");function uc(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function gB(e){return{root:`slider-root-${e}`,getThumb:t=>`slider-thumb-${e}-${t}`,getInput:t=>`slider-input-${e}-${t}`,track:`slider-track-${e}`,innerTrack:`slider-filled-track-${e}`,getMarker:t=>`slider-marker-${e}-${t}`,output:`slider-output-${e}`}}function Mu(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}var Ip={width:0,height:0},Wf=e=>e||Ip;function A6(e){const{orientation:t,thumbPercents:n,thumbRects:r,isReversed:o}=e,s=y=>{var S;const _=(S=r[y])!=null?S:Ip;return{position:"absolute",userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",touchAction:"none",...Mu({orientation:t,vertical:{bottom:`calc(${n[y]}% - ${_.height/2}px)`},horizontal:{left:`calc(${n[y]}% - ${_.width/2}px)`}})}},a=t==="vertical"?r.reduce((y,S)=>Wf(y).height>Wf(S).height?y:S,Ip):r.reduce((y,S)=>Wf(y).width>Wf(S).width?y:S,Ip),c={position:"relative",touchAction:"none",WebkitTapHighlightColor:"rgba(0,0,0,0)",userSelect:"none",outline:0,...Mu({orientation:t,vertical:a?{paddingLeft:a.width/2,paddingRight:a.width/2}:{},horizontal:a?{paddingTop:a.height/2,paddingBottom:a.height/2}:{}})},d={position:"absolute",...Mu({orientation:t,vertical:{left:"50%",transform:"translateX(-50%)",height:"100%"},horizontal:{top:"50%",transform:"translateY(-50%)",width:"100%"}})},p=n.length===1,h=[0,o?100-n[0]:n[0]],m=p?h:n;let v=m[0];!p&&o&&(v=100-v);const b=Math.abs(m[m.length-1]-m[0]),w={...d,...Mu({orientation:t,vertical:o?{height:`${b}%`,top:`${v}%`}:{height:`${b}%`,bottom:`${v}%`},horizontal:o?{width:`${b}%`,right:`${v}%`}:{width:`${b}%`,left:`${v}%`}})};return{trackStyle:d,innerTrackStyle:w,rootStyle:c,getThumbStyle:s}}function T6(e){const{isReversed:t,direction:n,orientation:r}=e;return n==="ltr"||r==="vertical"?t:!t}function vB(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function bB(e){const t=xB(e);return typeof t.PointerEvent<"u"&&e instanceof t.PointerEvent?e.pointerType==="mouse":e instanceof t.MouseEvent}function N6(e){return!!e.touches}function yB(e){return N6(e)&&e.touches.length>1}function xB(e){var t;return(t=e.view)!=null?t:window}function wB(e,t="page"){const n=e.touches[0]||e.changedTouches[0];return{x:n[`${t}X`],y:n[`${t}Y`]}}function SB(e,t="page"){return{x:e[`${t}X`],y:e[`${t}Y`]}}function $6(e,t="page"){return N6(e)?wB(e,t):SB(e,t)}function CB(e){return t=>{const n=bB(t);(!n||n&&t.button===0)&&e(t)}}function kB(e,t=!1){function n(o){e(o,{point:$6(o)})}return t?CB(n):n}function Ep(e,t,n,r){return vB(e,t,kB(n,t==="pointerdown"),r)}var _B=Object.defineProperty,PB=(e,t,n)=>t in e?_B(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,bs=(e,t,n)=>(PB(e,typeof t!="symbol"?t+"":t,n),n),jB=class{constructor(e,t,n){bs(this,"history",[]),bs(this,"startEvent",null),bs(this,"lastEvent",null),bs(this,"lastEventInfo",null),bs(this,"handlers",{}),bs(this,"removeListeners",()=>{}),bs(this,"threshold",3),bs(this,"win"),bs(this,"updatePoint",()=>{if(!(this.lastEvent&&this.lastEventInfo))return;const c=$0(this.lastEventInfo,this.history),d=this.startEvent!==null,p=RB(c.offset,{x:0,y:0})>=this.threshold;if(!d&&!p)return;const{timestamp:h}=_w();this.history.push({...c.point,timestamp:h});const{onStart:m,onMove:v}=this.handlers;d||(m==null||m(this.lastEvent,c),this.startEvent=this.lastEvent),v==null||v(this.lastEvent,c)}),bs(this,"onPointerMove",(c,d)=>{this.lastEvent=c,this.lastEventInfo=d,X9.update(this.updatePoint,!0)}),bs(this,"onPointerUp",(c,d)=>{const p=$0(d,this.history),{onEnd:h,onSessionEnd:m}=this.handlers;m==null||m(c,p),this.end(),!(!h||!this.startEvent)&&(h==null||h(c,p))});var r;if(this.win=(r=e.view)!=null?r:window,yB(e))return;this.handlers=t,n&&(this.threshold=n),e.stopPropagation(),e.preventDefault();const o={point:$6(e)},{timestamp:s}=_w();this.history=[{...o.point,timestamp:s}];const{onSessionStart:a}=t;a==null||a(e,$0(o,this.history)),this.removeListeners=OB(Ep(this.win,"pointermove",this.onPointerMove),Ep(this.win,"pointerup",this.onPointerUp),Ep(this.win,"pointercancel",this.onPointerUp))}updateHandlers(e){this.handlers=e}end(){var e;(e=this.removeListeners)==null||e.call(this),Y9.update(this.updatePoint)}};function dS(e,t){return{x:e.x-t.x,y:e.y-t.y}}function $0(e,t){return{point:e.point,delta:dS(e.point,t[t.length-1]),offset:dS(e.point,t[0]),velocity:EB(t,.1)}}var IB=e=>e*1e3;function EB(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const o=e[e.length-1];for(;n>=0&&(r=e[n],!(o.timestamp-r.timestamp>IB(t)));)n--;if(!r)return{x:0,y:0};const s=(o.timestamp-r.timestamp)/1e3;if(s===0)return{x:0,y:0};const a={x:(o.x-r.x)/s,y:(o.y-r.y)/s};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}function OB(...e){return t=>e.reduce((n,r)=>r(n),t)}function z0(e,t){return Math.abs(e-t)}function fS(e){return"x"in e&&"y"in e}function RB(e,t){if(typeof e=="number"&&typeof t=="number")return z0(e,t);if(fS(e)&&fS(t)){const n=z0(e.x,t.x),r=z0(e.y,t.y);return Math.sqrt(n**2+r**2)}return 0}function z6(e){const t=f.useRef(null);return t.current=e,t}function L6(e,t){const{onPan:n,onPanStart:r,onPanEnd:o,onPanSessionStart:s,onPanSessionEnd:a,threshold:c}=t,d=!!(n||r||o||s||a),p=f.useRef(null),h=z6({onSessionStart:s,onSessionEnd:a,onStart:r,onMove:n,onEnd(m,v){p.current=null,o==null||o(m,v)}});f.useEffect(()=>{var m;(m=p.current)==null||m.updateHandlers(h.current)}),f.useEffect(()=>{const m=e.current;if(!m||!d)return;function v(b){p.current=new jB(b,h.current,c)}return Ep(m,"pointerdown",v)},[e,d,h,c]),f.useEffect(()=>()=>{var m;(m=p.current)==null||m.end(),p.current=null},[])}function MB(e,t){if(!e){t(void 0);return}t({width:e.offsetWidth,height:e.offsetHeight});const n=e.ownerDocument.defaultView??window,r=new n.ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const[s]=o;let a,c;if("borderBoxSize"in s){const d=s.borderBoxSize,p=Array.isArray(d)?d[0]:d;a=p.inlineSize,c=p.blockSize}else a=e.offsetWidth,c=e.offsetHeight;t({width:a,height:c})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}var DB=globalThis!=null&&globalThis.document?f.useLayoutEffect:f.useEffect;function AB(e,t){var n,r;if(!e||!e.parentElement)return;const o=(r=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?r:window,s=new o.MutationObserver(()=>{t()});return s.observe(e.parentElement,{childList:!0}),()=>{s.disconnect()}}function B6({getNodes:e,observeMutation:t=!0}){const[n,r]=f.useState([]),[o,s]=f.useState(0);return DB(()=>{const a=e(),c=a.map((d,p)=>MB(d,h=>{r(m=>[...m.slice(0,p),h,...m.slice(p+1)])}));if(t){const d=a[0];c.push(AB(d,()=>{s(p=>p+1)}))}return()=>{c.forEach(d=>{d==null||d()})}},[o]),n}function TB(e){return typeof e=="object"&&e!==null&&"current"in e}function NB(e){const[t]=B6({observeMutation:!1,getNodes(){return[TB(e)?e.current:e]}});return t}function $B(e){const{min:t=0,max:n=100,onChange:r,value:o,defaultValue:s,isReversed:a,direction:c="ltr",orientation:d="horizontal",id:p,isDisabled:h,isReadOnly:m,onChangeStart:v,onChangeEnd:b,step:w=1,getAriaValueText:y,"aria-valuetext":S,"aria-label":_,"aria-labelledby":k,name:j,focusThumbOnChange:I=!0,minStepsBetweenThumbs:E=0,...O}=e,R=or(v),M=or(b),A=or(y),T=T6({isReversed:a,direction:c,orientation:d}),[$,Q]=$c({value:o,defaultValue:s??[25,75],onChange:r});if(!Array.isArray($))throw new TypeError(`[range-slider] You passed an invalid value for \`value\` or \`defaultValue\`, expected \`Array\` but got \`${typeof $}\``);const[B,V]=f.useState(!1),[q,G]=f.useState(!1),[D,L]=f.useState(-1),W=!(h||m),Y=f.useRef($),ae=$.map(Pe=>sc(Pe,t,n)),be=E*w,ie=zB(ae,t,n,be),X=f.useRef({eventSource:null,value:[],valueBounds:[]});X.current.value=ae,X.current.valueBounds=ie;const K=ae.map(Pe=>n-Pe+t),se=(T?K:ae).map(Pe=>qp(Pe,t,n)),re=d==="vertical",oe=f.useRef(null),pe=f.useRef(null),le=B6({getNodes(){const Pe=pe.current,Ze=Pe==null?void 0:Pe.querySelectorAll("[role=slider]");return Ze?Array.from(Ze):[]}}),ge=f.useId(),xe=gB(p??ge),de=f.useCallback(Pe=>{var Ze,Qe;if(!oe.current)return;X.current.eventSource="pointer";const dt=oe.current.getBoundingClientRect(),{clientX:Lt,clientY:cr}=(Qe=(Ze=Pe.touches)==null?void 0:Ze[0])!=null?Qe:Pe,pn=re?dt.bottom-cr:Lt-dt.left,ln=re?dt.height:dt.width;let Hr=pn/ln;return T&&(Hr=1-Hr),Y5(Hr,t,n)},[re,T,n,t]),Te=(n-t)/10,Oe=w||(n-t)/100,$e=f.useMemo(()=>({setValueAtIndex(Pe,Ze){if(!W)return;const Qe=X.current.valueBounds[Pe];Ze=parseFloat(Vv(Ze,Qe.min,Oe)),Ze=sc(Ze,Qe.min,Qe.max);const dt=[...X.current.value];dt[Pe]=Ze,Q(dt)},setActiveIndex:L,stepUp(Pe,Ze=Oe){const Qe=X.current.value[Pe],dt=T?Qe-Ze:Qe+Ze;$e.setValueAtIndex(Pe,dt)},stepDown(Pe,Ze=Oe){const Qe=X.current.value[Pe],dt=T?Qe+Ze:Qe-Ze;$e.setValueAtIndex(Pe,dt)},reset(){Q(Y.current)}}),[Oe,T,Q,W]),kt=f.useCallback(Pe=>{const Ze=Pe.key,dt={ArrowRight:()=>$e.stepUp(D),ArrowUp:()=>$e.stepUp(D),ArrowLeft:()=>$e.stepDown(D),ArrowDown:()=>$e.stepDown(D),PageUp:()=>$e.stepUp(D,Te),PageDown:()=>$e.stepDown(D,Te),Home:()=>{const{min:Lt}=ie[D];$e.setValueAtIndex(D,Lt)},End:()=>{const{max:Lt}=ie[D];$e.setValueAtIndex(D,Lt)}}[Ze];dt&&(Pe.preventDefault(),Pe.stopPropagation(),dt(Pe),X.current.eventSource="keyboard")},[$e,D,Te,ie]),{getThumbStyle:ct,rootStyle:on,trackStyle:vt,innerTrackStyle:bt}=f.useMemo(()=>A6({isReversed:T,orientation:d,thumbRects:le,thumbPercents:se}),[T,d,se,le]),Se=f.useCallback(Pe=>{var Ze;const Qe=Pe??D;if(Qe!==-1&&I){const dt=xe.getThumb(Qe),Lt=(Ze=pe.current)==null?void 0:Ze.ownerDocument.getElementById(dt);Lt&&setTimeout(()=>Lt.focus())}},[I,D,xe]);Ba(()=>{X.current.eventSource==="keyboard"&&(M==null||M(X.current.value))},[ae,M]);const Me=Pe=>{const Ze=de(Pe)||0,Qe=X.current.value.map(ln=>Math.abs(ln-Ze)),dt=Math.min(...Qe);let Lt=Qe.indexOf(dt);const cr=Qe.filter(ln=>ln===dt);cr.length>1&&Ze>X.current.value[Lt]&&(Lt=Lt+cr.length-1),L(Lt),$e.setValueAtIndex(Lt,Ze),Se(Lt)},Pt=Pe=>{if(D==-1)return;const Ze=de(Pe)||0;L(D),$e.setValueAtIndex(D,Ze),Se(D)};L6(pe,{onPanSessionStart(Pe){W&&(V(!0),Me(Pe),R==null||R(X.current.value))},onPanSessionEnd(){W&&(V(!1),M==null||M(X.current.value))},onPan(Pe){W&&Pt(Pe)}});const Tt=f.useCallback((Pe={},Ze=null)=>({...Pe,...O,id:xe.root,ref:cn(Ze,pe),tabIndex:-1,"aria-disabled":cc(h),"data-focused":Jo(q),style:{...Pe.style,...on}}),[O,h,q,on,xe]),we=f.useCallback((Pe={},Ze=null)=>({...Pe,ref:cn(Ze,oe),id:xe.track,"data-disabled":Jo(h),style:{...Pe.style,...vt}}),[h,vt,xe]),ht=f.useCallback((Pe={},Ze=null)=>({...Pe,ref:Ze,id:xe.innerTrack,style:{...Pe.style,...bt}}),[bt,xe]),$t=f.useCallback((Pe,Ze=null)=>{var Qe;const{index:dt,...Lt}=Pe,cr=ae[dt];if(cr==null)throw new TypeError(`[range-slider > thumb] Cannot find value at index \`${dt}\`. The \`value\` or \`defaultValue\` length is : ${ae.length}`);const pn=ie[dt];return{...Lt,ref:Ze,role:"slider",tabIndex:W?0:void 0,id:xe.getThumb(dt),"data-active":Jo(B&&D===dt),"aria-valuetext":(Qe=A==null?void 0:A(cr))!=null?Qe:S==null?void 0:S[dt],"aria-valuemin":pn.min,"aria-valuemax":pn.max,"aria-valuenow":cr,"aria-orientation":d,"aria-disabled":cc(h),"aria-readonly":cc(m),"aria-label":_==null?void 0:_[dt],"aria-labelledby":_!=null&&_[dt]||k==null?void 0:k[dt],style:{...Pe.style,...ct(dt)},onKeyDown:uc(Pe.onKeyDown,kt),onFocus:uc(Pe.onFocus,()=>{G(!0),L(dt)}),onBlur:uc(Pe.onBlur,()=>{G(!1),L(-1)})}},[xe,ae,ie,W,B,D,A,S,d,h,m,_,k,ct,kt,G]),zt=f.useCallback((Pe={},Ze=null)=>({...Pe,ref:Ze,id:xe.output,htmlFor:ae.map((Qe,dt)=>xe.getThumb(dt)).join(" "),"aria-live":"off"}),[xe,ae]),ze=f.useCallback((Pe,Ze=null)=>{const{value:Qe,...dt}=Pe,Lt=!(Qen),cr=Qe>=ae[0]&&Qe<=ae[ae.length-1];let pn=qp(Qe,t,n);pn=T?100-pn:pn;const ln={position:"absolute",pointerEvents:"none",...Mu({orientation:d,vertical:{bottom:`${pn}%`},horizontal:{left:`${pn}%`}})};return{...dt,ref:Ze,id:xe.getMarker(Pe.value),role:"presentation","aria-hidden":!0,"data-disabled":Jo(h),"data-invalid":Jo(!Lt),"data-highlighted":Jo(cr),style:{...Pe.style,...ln}}},[h,T,n,t,d,ae,xe]),Ke=f.useCallback((Pe,Ze=null)=>{const{index:Qe,...dt}=Pe;return{...dt,ref:Ze,id:xe.getInput(Qe),type:"hidden",value:ae[Qe],name:Array.isArray(j)?j[Qe]:`${j}-${Qe}`}},[j,ae,xe]);return{state:{value:ae,isFocused:q,isDragging:B,getThumbPercent:Pe=>se[Pe],getThumbMinValue:Pe=>ie[Pe].min,getThumbMaxValue:Pe=>ie[Pe].max},actions:$e,getRootProps:Tt,getTrackProps:we,getInnerTrackProps:ht,getThumbProps:$t,getMarkerProps:ze,getInputProps:Ke,getOutputProps:zt}}function zB(e,t,n,r){return e.map((o,s)=>{const a=s===0?t:e[s-1]+r,c=s===e.length-1?n:e[s+1]-r;return{min:a,max:c}})}var[LB,_m]=Dn({name:"SliderContext",errorMessage:"useSliderContext: `context` is undefined. Seems you forgot to wrap all slider components within "}),[BB,Pm]=Dn({name:"RangeSliderStylesContext",errorMessage:`useRangeSliderStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),F6=Ae(function(t,n){const r={orientation:"horizontal",...t},o=Fr("Slider",r),s=qn(r),{direction:a}=Ac();s.direction=a;const{getRootProps:c,...d}=$B(s),p=f.useMemo(()=>({...d,name:r.name}),[d,r.name]);return i.jsx(LB,{value:p,children:i.jsx(BB,{value:o,children:i.jsx(je.div,{...c({},n),className:"chakra-slider",__css:o.container,children:r.children})})})});F6.displayName="RangeSlider";var o1=Ae(function(t,n){const{getThumbProps:r,getInputProps:o,name:s}=_m(),a=Pm(),c=r(t,n);return i.jsxs(je.div,{...c,className:Ii("chakra-slider__thumb",t.className),__css:a.thumb,children:[c.children,s&&i.jsx("input",{...o({index:t.index})})]})});o1.displayName="RangeSliderThumb";var H6=Ae(function(t,n){const{getTrackProps:r}=_m(),o=Pm(),s=r(t,n);return i.jsx(je.div,{...s,className:Ii("chakra-slider__track",t.className),__css:o.track,"data-testid":"chakra-range-slider-track"})});H6.displayName="RangeSliderTrack";var W6=Ae(function(t,n){const{getInnerTrackProps:r}=_m(),o=Pm(),s=r(t,n);return i.jsx(je.div,{...s,className:"chakra-slider__filled-track",__css:o.filledTrack})});W6.displayName="RangeSliderFilledTrack";var Op=Ae(function(t,n){const{getMarkerProps:r}=_m(),o=Pm(),s=r(t,n);return i.jsx(je.div,{...s,className:Ii("chakra-slider__marker",t.className),__css:o.mark})});Op.displayName="RangeSliderMark";function FB(e){var t;const{min:n=0,max:r=100,onChange:o,value:s,defaultValue:a,isReversed:c,direction:d="ltr",orientation:p="horizontal",id:h,isDisabled:m,isReadOnly:v,onChangeStart:b,onChangeEnd:w,step:y=1,getAriaValueText:S,"aria-valuetext":_,"aria-label":k,"aria-labelledby":j,name:I,focusThumbOnChange:E=!0,...O}=e,R=or(b),M=or(w),A=or(S),T=T6({isReversed:c,direction:d,orientation:p}),[$,Q]=$c({value:s,defaultValue:a??WB(n,r),onChange:o}),[B,V]=f.useState(!1),[q,G]=f.useState(!1),D=!(m||v),L=(r-n)/10,W=y||(r-n)/100,Y=sc($,n,r),ae=r-Y+n,ie=qp(T?ae:Y,n,r),X=p==="vertical",K=z6({min:n,max:r,step:y,isDisabled:m,value:Y,isInteractive:D,isReversed:T,isVertical:X,eventSource:null,focusThumbOnChange:E,orientation:p}),U=f.useRef(null),se=f.useRef(null),re=f.useRef(null),oe=f.useId(),pe=h??oe,[le,ge]=[`slider-thumb-${pe}`,`slider-track-${pe}`],ke=f.useCallback(ze=>{var Ke,Pn;if(!U.current)return;const Pe=K.current;Pe.eventSource="pointer";const Ze=U.current.getBoundingClientRect(),{clientX:Qe,clientY:dt}=(Pn=(Ke=ze.touches)==null?void 0:Ke[0])!=null?Pn:ze,Lt=X?Ze.bottom-dt:Qe-Ze.left,cr=X?Ze.height:Ze.width;let pn=Lt/cr;T&&(pn=1-pn);let ln=Y5(pn,Pe.min,Pe.max);return Pe.step&&(ln=parseFloat(Vv(ln,Pe.min,Pe.step))),ln=sc(ln,Pe.min,Pe.max),ln},[X,T,K]),xe=f.useCallback(ze=>{const Ke=K.current;Ke.isInteractive&&(ze=parseFloat(Vv(ze,Ke.min,W)),ze=sc(ze,Ke.min,Ke.max),Q(ze))},[W,Q,K]),de=f.useMemo(()=>({stepUp(ze=W){const Ke=T?Y-ze:Y+ze;xe(Ke)},stepDown(ze=W){const Ke=T?Y+ze:Y-ze;xe(Ke)},reset(){xe(a||0)},stepTo(ze){xe(ze)}}),[xe,T,Y,W,a]),Te=f.useCallback(ze=>{const Ke=K.current,Pe={ArrowRight:()=>de.stepUp(),ArrowUp:()=>de.stepUp(),ArrowLeft:()=>de.stepDown(),ArrowDown:()=>de.stepDown(),PageUp:()=>de.stepUp(L),PageDown:()=>de.stepDown(L),Home:()=>xe(Ke.min),End:()=>xe(Ke.max)}[ze.key];Pe&&(ze.preventDefault(),ze.stopPropagation(),Pe(ze),Ke.eventSource="keyboard")},[de,xe,L,K]),Oe=(t=A==null?void 0:A(Y))!=null?t:_,$e=NB(se),{getThumbStyle:kt,rootStyle:ct,trackStyle:on,innerTrackStyle:vt}=f.useMemo(()=>{const ze=K.current,Ke=$e??{width:0,height:0};return A6({isReversed:T,orientation:ze.orientation,thumbRects:[Ke],thumbPercents:[ie]})},[T,$e,ie,K]),bt=f.useCallback(()=>{K.current.focusThumbOnChange&&setTimeout(()=>{var Ke;return(Ke=se.current)==null?void 0:Ke.focus()})},[K]);Ba(()=>{const ze=K.current;bt(),ze.eventSource==="keyboard"&&(M==null||M(ze.value))},[Y,M]);function Se(ze){const Ke=ke(ze);Ke!=null&&Ke!==K.current.value&&Q(Ke)}L6(re,{onPanSessionStart(ze){const Ke=K.current;Ke.isInteractive&&(V(!0),bt(),Se(ze),R==null||R(Ke.value))},onPanSessionEnd(){const ze=K.current;ze.isInteractive&&(V(!1),M==null||M(ze.value))},onPan(ze){K.current.isInteractive&&Se(ze)}});const Me=f.useCallback((ze={},Ke=null)=>({...ze,...O,ref:cn(Ke,re),tabIndex:-1,"aria-disabled":cc(m),"data-focused":Jo(q),style:{...ze.style,...ct}}),[O,m,q,ct]),Pt=f.useCallback((ze={},Ke=null)=>({...ze,ref:cn(Ke,U),id:ge,"data-disabled":Jo(m),style:{...ze.style,...on}}),[m,ge,on]),Tt=f.useCallback((ze={},Ke=null)=>({...ze,ref:Ke,style:{...ze.style,...vt}}),[vt]),we=f.useCallback((ze={},Ke=null)=>({...ze,ref:cn(Ke,se),role:"slider",tabIndex:D?0:void 0,id:le,"data-active":Jo(B),"aria-valuetext":Oe,"aria-valuemin":n,"aria-valuemax":r,"aria-valuenow":Y,"aria-orientation":p,"aria-disabled":cc(m),"aria-readonly":cc(v),"aria-label":k,"aria-labelledby":k?void 0:j,style:{...ze.style,...kt(0)},onKeyDown:uc(ze.onKeyDown,Te),onFocus:uc(ze.onFocus,()=>G(!0)),onBlur:uc(ze.onBlur,()=>G(!1))}),[D,le,B,Oe,n,r,Y,p,m,v,k,j,kt,Te]),ht=f.useCallback((ze,Ke=null)=>{const Pn=!(ze.valuer),Pe=Y>=ze.value,Ze=qp(ze.value,n,r),Qe={position:"absolute",pointerEvents:"none",...HB({orientation:p,vertical:{bottom:T?`${100-Ze}%`:`${Ze}%`},horizontal:{left:T?`${100-Ze}%`:`${Ze}%`}})};return{...ze,ref:Ke,role:"presentation","aria-hidden":!0,"data-disabled":Jo(m),"data-invalid":Jo(!Pn),"data-highlighted":Jo(Pe),style:{...ze.style,...Qe}}},[m,T,r,n,p,Y]),$t=f.useCallback((ze={},Ke=null)=>({...ze,ref:Ke,type:"hidden",value:Y,name:I}),[I,Y]);return{state:{value:Y,isFocused:q,isDragging:B},actions:de,getRootProps:Me,getTrackProps:Pt,getInnerTrackProps:Tt,getThumbProps:we,getMarkerProps:ht,getInputProps:$t}}function HB(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}function WB(e,t){return t"}),[UB,Im]=Dn({name:"SliderStylesContext",hookName:"useSliderStyles",providerName:""}),V6=Ae((e,t)=>{var n;const r={...e,orientation:(n=e==null?void 0:e.orientation)!=null?n:"horizontal"},o=Fr("Slider",r),s=qn(r),{direction:a}=Ac();s.direction=a;const{getInputProps:c,getRootProps:d,...p}=FB(s),h=d(),m=c({},t);return i.jsx(VB,{value:p,children:i.jsx(UB,{value:o,children:i.jsxs(je.div,{...h,className:Ii("chakra-slider",r.className),__css:o.container,children:[r.children,i.jsx("input",{...m})]})})})});V6.displayName="Slider";var U6=Ae((e,t)=>{const{getThumbProps:n}=jm(),r=Im(),o=n(e,t);return i.jsx(je.div,{...o,className:Ii("chakra-slider__thumb",e.className),__css:r.thumb})});U6.displayName="SliderThumb";var G6=Ae((e,t)=>{const{getTrackProps:n}=jm(),r=Im(),o=n(e,t);return i.jsx(je.div,{...o,className:Ii("chakra-slider__track",e.className),__css:r.track})});G6.displayName="SliderTrack";var q6=Ae((e,t)=>{const{getInnerTrackProps:n}=jm(),r=Im(),o=n(e,t);return i.jsx(je.div,{...o,className:Ii("chakra-slider__filled-track",e.className),__css:r.filledTrack})});q6.displayName="SliderFilledTrack";var Gl=Ae((e,t)=>{const{getMarkerProps:n}=jm(),r=Im(),o=n(e,t);return i.jsx(je.div,{...o,className:Ii("chakra-slider__marker",e.className),__css:r.mark})});Gl.displayName="SliderMark";var Qb=Ae(function(t,n){const r=Fr("Switch",t),{spacing:o="0.5rem",children:s,...a}=qn(t),{getIndicatorProps:c,getInputProps:d,getCheckboxProps:p,getRootProps:h,getLabelProps:m}=K5(a),v=f.useMemo(()=>({display:"inline-block",position:"relative",verticalAlign:"middle",lineHeight:0,...r.container}),[r.container]),b=f.useMemo(()=>({display:"inline-flex",flexShrink:0,justifyContent:"flex-start",boxSizing:"content-box",cursor:"pointer",...r.track}),[r.track]),w=f.useMemo(()=>({userSelect:"none",marginStart:o,...r.label}),[o,r.label]);return i.jsxs(je.label,{...h(),className:Ct("chakra-switch",t.className),__css:v,children:[i.jsx("input",{className:"chakra-switch__input",...d({},n)}),i.jsx(je.span,{...p(),className:"chakra-switch__track",__css:b,children:i.jsx(je.span,{__css:r.thumb,className:"chakra-switch__thumb",...c()})}),s&&i.jsx(je.span,{className:"chakra-switch__label",...m(),__css:w,children:s})]})});Qb.displayName="Switch";var[GB,qB,KB,XB]=db();function YB(e){var t;const{defaultIndex:n,onChange:r,index:o,isManual:s,isLazy:a,lazyBehavior:c="unmount",orientation:d="horizontal",direction:p="ltr",...h}=e,[m,v]=f.useState(n??0),[b,w]=$c({defaultValue:n??0,value:o,onChange:r});f.useEffect(()=>{o!=null&&v(o)},[o]);const y=KB(),S=f.useId();return{id:`tabs-${(t=e.id)!=null?t:S}`,selectedIndex:b,focusedIndex:m,setSelectedIndex:w,setFocusedIndex:v,isManual:s,isLazy:a,lazyBehavior:c,orientation:d,descendants:y,direction:p,htmlProps:h}}var[QB,Em]=Dn({name:"TabsContext",errorMessage:"useTabsContext: `context` is undefined. Seems you forgot to wrap all tabs components within "});function JB(e){const{focusedIndex:t,orientation:n,direction:r}=Em(),o=qB(),s=f.useCallback(a=>{const c=()=>{var k;const j=o.nextEnabled(t);j&&((k=j.node)==null||k.focus())},d=()=>{var k;const j=o.prevEnabled(t);j&&((k=j.node)==null||k.focus())},p=()=>{var k;const j=o.firstEnabled();j&&((k=j.node)==null||k.focus())},h=()=>{var k;const j=o.lastEnabled();j&&((k=j.node)==null||k.focus())},m=n==="horizontal",v=n==="vertical",b=a.key,w=r==="ltr"?"ArrowLeft":"ArrowRight",y=r==="ltr"?"ArrowRight":"ArrowLeft",_={[w]:()=>m&&d(),[y]:()=>m&&c(),ArrowDown:()=>v&&c(),ArrowUp:()=>v&&d(),Home:p,End:h}[b];_&&(a.preventDefault(),_(a))},[o,t,n,r]);return{...e,role:"tablist","aria-orientation":n,onKeyDown:nt(e.onKeyDown,s)}}function ZB(e){const{isDisabled:t=!1,isFocusable:n=!1,...r}=e,{setSelectedIndex:o,isManual:s,id:a,setFocusedIndex:c,selectedIndex:d}=Em(),{index:p,register:h}=XB({disabled:t&&!n}),m=p===d,v=()=>{o(p)},b=()=>{c(p),!s&&!(t&&n)&&o(p)},w=J3({...r,ref:cn(h,e.ref),isDisabled:t,isFocusable:n,onClick:nt(e.onClick,v)}),y="button";return{...w,id:K6(a,p),role:"tab",tabIndex:m?0:-1,type:y,"aria-selected":m,"aria-controls":X6(a,p),onFocus:t?void 0:nt(e.onFocus,b)}}var[eF,tF]=Dn({});function nF(e){const t=Em(),{id:n,selectedIndex:r}=t,s=Cd(e.children).map((a,c)=>f.createElement(eF,{key:c,value:{isSelected:c===r,id:X6(n,c),tabId:K6(n,c),selectedIndex:r}},a));return{...e,children:s}}function rF(e){const{children:t,...n}=e,{isLazy:r,lazyBehavior:o}=Em(),{isSelected:s,id:a,tabId:c}=tF(),d=f.useRef(!1);s&&(d.current=!0);const p=Wb({wasSelected:d.current,isSelected:s,enabled:r,mode:o});return{tabIndex:0,...n,children:p?t:null,role:"tabpanel","aria-labelledby":c,hidden:!s,id:a}}function K6(e,t){return`${e}--tab-${t}`}function X6(e,t){return`${e}--tabpanel-${t}`}var[oF,Om]=Dn({name:"TabsStylesContext",errorMessage:`useTabsStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Td=Ae(function(t,n){const r=Fr("Tabs",t),{children:o,className:s,...a}=qn(t),{htmlProps:c,descendants:d,...p}=YB(a),h=f.useMemo(()=>p,[p]),{isFitted:m,...v}=c;return i.jsx(GB,{value:d,children:i.jsx(QB,{value:h,children:i.jsx(oF,{value:r,children:i.jsx(je.div,{className:Ct("chakra-tabs",s),ref:n,...v,__css:r.root,children:o})})})})});Td.displayName="Tabs";var Nd=Ae(function(t,n){const r=JB({...t,ref:n}),s={display:"flex",...Om().tablist};return i.jsx(je.div,{...r,className:Ct("chakra-tabs__tablist",t.className),__css:s})});Nd.displayName="TabList";var Rm=Ae(function(t,n){const r=rF({...t,ref:n}),o=Om();return i.jsx(je.div,{outline:"0",...r,className:Ct("chakra-tabs__tab-panel",t.className),__css:o.tabpanel})});Rm.displayName="TabPanel";var Mm=Ae(function(t,n){const r=nF(t),o=Om();return i.jsx(je.div,{...r,width:"100%",ref:n,className:Ct("chakra-tabs__tab-panels",t.className),__css:o.tabpanels})});Mm.displayName="TabPanels";var Cc=Ae(function(t,n){const r=Om(),o=ZB({...t,ref:n}),s={outline:"0",display:"flex",alignItems:"center",justifyContent:"center",...r.tab};return i.jsx(je.button,{...o,className:Ct("chakra-tabs__tab",t.className),__css:s})});Cc.displayName="Tab";function sF(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var aF=["h","minH","height","minHeight"],Jb=Ae((e,t)=>{const n=ia("Textarea",e),{className:r,rows:o,...s}=qn(e),a=hb(s),c=o?sF(n,aF):n;return i.jsx(je.textarea,{ref:t,rows:o,...a,className:Ct("chakra-textarea",r),__css:c})});Jb.displayName="Textarea";var iF={exit:{scale:.85,opacity:0,transition:{opacity:{duration:.15,easings:"easeInOut"},scale:{duration:.2,easings:"easeInOut"}}},enter:{scale:1,opacity:1,transition:{opacity:{easings:"easeOut",duration:.2},scale:{duration:.2,ease:[.175,.885,.4,1.1]}}}},s1=e=>{var t;return((t=e.current)==null?void 0:t.ownerDocument)||document},Rp=e=>{var t,n;return((n=(t=e.current)==null?void 0:t.ownerDocument)==null?void 0:n.defaultView)||window};function lF(e={}){const{openDelay:t=0,closeDelay:n=0,closeOnClick:r=!0,closeOnMouseDown:o,closeOnScroll:s,closeOnPointerDown:a=o,closeOnEsc:c=!0,onOpen:d,onClose:p,placement:h,id:m,isOpen:v,defaultIsOpen:b,arrowSize:w=10,arrowShadowColor:y,arrowPadding:S,modifiers:_,isDisabled:k,gutter:j,offset:I,direction:E,...O}=e,{isOpen:R,onOpen:M,onClose:A}=Hb({isOpen:v,defaultIsOpen:b,onOpen:d,onClose:p}),{referenceRef:T,getPopperProps:$,getArrowInnerProps:Q,getArrowProps:B}=Fb({enabled:R,placement:h,arrowPadding:S,modifiers:_,gutter:j,offset:I,direction:E}),V=f.useId(),G=`tooltip-${m??V}`,D=f.useRef(null),L=f.useRef(),W=f.useCallback(()=>{L.current&&(clearTimeout(L.current),L.current=void 0)},[]),Y=f.useRef(),ae=f.useCallback(()=>{Y.current&&(clearTimeout(Y.current),Y.current=void 0)},[]),be=f.useCallback(()=>{ae(),A()},[A,ae]),ie=cF(D,be),X=f.useCallback(()=>{if(!k&&!L.current){R&&ie();const ge=Rp(D);L.current=ge.setTimeout(M,t)}},[ie,k,R,M,t]),K=f.useCallback(()=>{W();const ge=Rp(D);Y.current=ge.setTimeout(be,n)},[n,be,W]),U=f.useCallback(()=>{R&&r&&K()},[r,K,R]),se=f.useCallback(()=>{R&&a&&K()},[a,K,R]),re=f.useCallback(ge=>{R&&ge.key==="Escape"&&K()},[R,K]);Qi(()=>s1(D),"keydown",c?re:void 0),Qi(()=>{const ge=D.current;if(!ge)return null;const ke=B3(ge);return ke.localName==="body"?Rp(D):ke},"scroll",()=>{R&&s&&be()},{passive:!0,capture:!0}),f.useEffect(()=>{k&&(W(),R&&A())},[k,R,A,W]),f.useEffect(()=>()=>{W(),ae()},[W,ae]),Qi(()=>D.current,"pointerleave",K);const oe=f.useCallback((ge={},ke=null)=>({...ge,ref:cn(D,ke,T),onPointerEnter:nt(ge.onPointerEnter,de=>{de.pointerType!=="touch"&&X()}),onClick:nt(ge.onClick,U),onPointerDown:nt(ge.onPointerDown,se),onFocus:nt(ge.onFocus,X),onBlur:nt(ge.onBlur,K),"aria-describedby":R?G:void 0}),[X,K,se,R,G,U,T]),pe=f.useCallback((ge={},ke=null)=>$({...ge,style:{...ge.style,[jr.arrowSize.var]:w?`${w}px`:void 0,[jr.arrowShadowColor.var]:y}},ke),[$,w,y]),le=f.useCallback((ge={},ke=null)=>{const xe={...ge.style,position:"relative",transformOrigin:jr.transformOrigin.varRef};return{ref:ke,...O,...ge,id:G,role:"tooltip",style:xe}},[O,G]);return{isOpen:R,show:X,hide:K,getTriggerProps:oe,getTooltipProps:le,getTooltipPositionerProps:pe,getArrowProps:B,getArrowInnerProps:Q}}var L0="chakra-ui:close-tooltip";function cF(e,t){return f.useEffect(()=>{const n=s1(e);return n.addEventListener(L0,t),()=>n.removeEventListener(L0,t)},[t,e]),()=>{const n=s1(e),r=Rp(e);n.dispatchEvent(new r.CustomEvent(L0))}}function uF(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function dF(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}var fF=je(Ir.div),wn=Ae((e,t)=>{var n,r;const o=ia("Tooltip",e),s=qn(e),a=Ac(),{children:c,label:d,shouldWrapChildren:p,"aria-label":h,hasArrow:m,bg:v,portalProps:b,background:w,backgroundColor:y,bgColor:S,motionProps:_,...k}=s,j=(r=(n=w??y)!=null?n:v)!=null?r:S;if(j){o.bg=j;const $=M7(a,"colors",j);o[jr.arrowBg.var]=$}const I=lF({...k,direction:a.direction}),E=typeof c=="string"||p;let O;if(E)O=i.jsx(je.span,{display:"inline-block",tabIndex:0,...I.getTriggerProps(),children:c});else{const $=f.Children.only(c);O=f.cloneElement($,I.getTriggerProps($.props,$.ref))}const R=!!h,M=I.getTooltipProps({},t),A=R?uF(M,["role","id"]):M,T=dF(M,["role","id"]);return d?i.jsxs(i.Fragment,{children:[O,i.jsx(mo,{children:I.isOpen&&i.jsx(Ju,{...b,children:i.jsx(je.div,{...I.getTooltipPositionerProps(),__css:{zIndex:o.zIndex,pointerEvents:"none"},children:i.jsxs(fF,{variants:iF,initial:"exit",animate:"enter",exit:"exit",..._,...A,__css:o,children:[d,R&&i.jsx(je.span,{srOnly:!0,...T,children:h}),m&&i.jsx(je.div,{"data-popper-arrow":!0,className:"chakra-tooltip__arrow-wrapper",children:i.jsx(je.div,{"data-popper-arrow-inner":!0,className:"chakra-tooltip__arrow",__css:{bg:o.bg}})})]})})})})]}):i.jsx(i.Fragment,{children:c})});wn.displayName="Tooltip";function pF(e,t={}){let n=f.useCallback(o=>t.keys?_9(e,t.keys,o):e.listen(o),[t.keys,e]),r=e.get.bind(e);return f.useSyncExternalStore(n,r,r)}const vo=e=>e.system,hF=e=>e.system.toastQueue,Y6=fe(vo,e=>e.language,Ge),Cr=fe(e=>e,e=>e.system.isProcessing||!e.system.isConnected),mF=fe(vo,e=>{const{consoleLogLevel:t,shouldLogToConsole:n}=e;return{consoleLogLevel:t,shouldLogToConsole:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),gF=()=>{const{consoleLogLevel:e,shouldLogToConsole:t}=z(mF);return f.useEffect(()=>{t?(localStorage.setItem("ROARR_LOG","true"),localStorage.setItem("ROARR_FILTER",`context.logLevel:>=${D7[e]}`)):localStorage.setItem("ROARR_LOG","false"),U2.ROARR.write=A7.createLogWriter()},[e,t]),f.useEffect(()=>{const r={...T7};G2.set(U2.Roarr.child(r))},[]),pF(G2)},vF=()=>{const e=te(),t=z(hF),n=Z9();return f.useEffect(()=>{t.forEach(r=>{n(r)}),t.length>0&&e(N7())},[e,n,t]),null},Wc=()=>{const e=te();return f.useCallback(n=>e(On(Mn(n))),[e])};var bF=new Map([["aac","audio/aac"],["abw","application/x-abiword"],["arc","application/x-freearc"],["avif","image/avif"],["avi","video/x-msvideo"],["azw","application/vnd.amazon.ebook"],["bin","application/octet-stream"],["bmp","image/bmp"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["cda","application/x-cdf"],["csh","application/x-csh"],["css","text/css"],["csv","text/csv"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["eot","application/vnd.ms-fontobject"],["epub","application/epub+zip"],["gz","application/gzip"],["gif","image/gif"],["heic","image/heic"],["heif","image/heif"],["htm","text/html"],["html","text/html"],["ico","image/vnd.microsoft.icon"],["ics","text/calendar"],["jar","application/java-archive"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["js","text/javascript"],["json","application/json"],["jsonld","application/ld+json"],["mid","audio/midi"],["midi","audio/midi"],["mjs","text/javascript"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mpeg","video/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["opus","audio/opus"],["otf","font/otf"],["png","image/png"],["pdf","application/pdf"],["php","application/x-httpd-php"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["rar","application/vnd.rar"],["rtf","application/rtf"],["sh","application/x-sh"],["svg","image/svg+xml"],["swf","application/x-shockwave-flash"],["tar","application/x-tar"],["tif","image/tiff"],["tiff","image/tiff"],["ts","video/mp2t"],["ttf","font/ttf"],["txt","text/plain"],["vsd","application/vnd.visio"],["wav","audio/wav"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["woff","font/woff"],["woff2","font/woff2"],["xhtml","application/xhtml+xml"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xml","application/xml"],["xul","application/vnd.mozilla.xul+xml"],["zip","application/zip"],["7z","application/x-7z-compressed"],["mkv","video/x-matroska"],["mov","video/quicktime"],["msg","application/vnd.ms-outlook"]]);function $d(e,t){var n=yF(e);if(typeof n.path!="string"){var r=e.webkitRelativePath;Object.defineProperty(n,"path",{value:typeof t=="string"?t:typeof r=="string"&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}function yF(e){var t=e.name,n=t&&t.lastIndexOf(".")!==-1;if(n&&!e.type){var r=t.split(".").pop().toLowerCase(),o=bF.get(r);o&&Object.defineProperty(e,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return e}var xF=[".DS_Store","Thumbs.db"];function wF(e){return zc(this,void 0,void 0,function(){return Lc(this,function(t){return eh(e)&&SF(e.dataTransfer)?[2,PF(e.dataTransfer,e.type)]:CF(e)?[2,kF(e)]:Array.isArray(e)&&e.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,_F(e)]:[2,[]]})})}function SF(e){return eh(e)}function CF(e){return eh(e)&&eh(e.target)}function eh(e){return typeof e=="object"&&e!==null}function kF(e){return a1(e.target.files).map(function(t){return $d(t)})}function _F(e){return zc(this,void 0,void 0,function(){var t;return Lc(this,function(n){switch(n.label){case 0:return[4,Promise.all(e.map(function(r){return r.getFile()}))];case 1:return t=n.sent(),[2,t.map(function(r){return $d(r)})]}})})}function PF(e,t){return zc(this,void 0,void 0,function(){var n,r;return Lc(this,function(o){switch(o.label){case 0:return e.items?(n=a1(e.items).filter(function(s){return s.kind==="file"}),t!=="drop"?[2,n]:[4,Promise.all(n.map(jF))]):[3,2];case 1:return r=o.sent(),[2,pS(Q6(r))];case 2:return[2,pS(a1(e.files).map(function(s){return $d(s)}))]}})})}function pS(e){return e.filter(function(t){return xF.indexOf(t.name)===-1})}function a1(e){if(e===null)return[];for(var t=[],n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nn)return[!1,bS(n)];if(e.sizen)return[!1,bS(n)]}return[!0,null]}function Ui(e){return e!=null}function WF(e){var t=e.files,n=e.accept,r=e.minSize,o=e.maxSize,s=e.multiple,a=e.maxFiles,c=e.validator;return!s&&t.length>1||s&&a>=1&&t.length>a?!1:t.every(function(d){var p=tP(d,n),h=id(p,1),m=h[0],v=nP(d,r,o),b=id(v,1),w=b[0],y=c?c(d):null;return m&&w&&!y})}function th(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function Vf(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function xS(e){e.preventDefault()}function VF(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function UF(e){return e.indexOf("Edge/")!==-1}function GF(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return VF(e)||UF(e)}function Gs(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;ae.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function cH(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}var Zb=f.forwardRef(function(e,t){var n=e.children,r=nh(e,JF),o=ey(r),s=o.open,a=nh(o,ZF);return f.useImperativeHandle(t,function(){return{open:s}},[s]),H.createElement(f.Fragment,null,n(fr(fr({},a),{},{open:s})))});Zb.displayName="Dropzone";var aP={disabled:!1,getFilesFromEvent:wF,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!0,autoFocus:!1};Zb.defaultProps=aP;Zb.propTypes={children:Ln.func,accept:Ln.objectOf(Ln.arrayOf(Ln.string)),multiple:Ln.bool,preventDropOnDocument:Ln.bool,noClick:Ln.bool,noKeyboard:Ln.bool,noDrag:Ln.bool,noDragEventsBubbling:Ln.bool,minSize:Ln.number,maxSize:Ln.number,maxFiles:Ln.number,disabled:Ln.bool,getFilesFromEvent:Ln.func,onFileDialogCancel:Ln.func,onFileDialogOpen:Ln.func,useFsAccessApi:Ln.bool,autoFocus:Ln.bool,onDragEnter:Ln.func,onDragLeave:Ln.func,onDragOver:Ln.func,onDrop:Ln.func,onDropAccepted:Ln.func,onDropRejected:Ln.func,onError:Ln.func,validator:Ln.func};var u1={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function ey(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=fr(fr({},aP),e),n=t.accept,r=t.disabled,o=t.getFilesFromEvent,s=t.maxSize,a=t.minSize,c=t.multiple,d=t.maxFiles,p=t.onDragEnter,h=t.onDragLeave,m=t.onDragOver,v=t.onDrop,b=t.onDropAccepted,w=t.onDropRejected,y=t.onFileDialogCancel,S=t.onFileDialogOpen,_=t.useFsAccessApi,k=t.autoFocus,j=t.preventDropOnDocument,I=t.noClick,E=t.noKeyboard,O=t.noDrag,R=t.noDragEventsBubbling,M=t.onError,A=t.validator,T=f.useMemo(function(){return XF(n)},[n]),$=f.useMemo(function(){return KF(n)},[n]),Q=f.useMemo(function(){return typeof S=="function"?S:SS},[S]),B=f.useMemo(function(){return typeof y=="function"?y:SS},[y]),V=f.useRef(null),q=f.useRef(null),G=f.useReducer(uH,u1),D=B0(G,2),L=D[0],W=D[1],Y=L.isFocused,ae=L.isFileDialogActive,be=f.useRef(typeof window<"u"&&window.isSecureContext&&_&&qF()),ie=function(){!be.current&&ae&&setTimeout(function(){if(q.current){var Me=q.current.files;Me.length||(W({type:"closeDialog"}),B())}},300)};f.useEffect(function(){return window.addEventListener("focus",ie,!1),function(){window.removeEventListener("focus",ie,!1)}},[q,ae,B,be]);var X=f.useRef([]),K=function(Me){V.current&&V.current.contains(Me.target)||(Me.preventDefault(),X.current=[])};f.useEffect(function(){return j&&(document.addEventListener("dragover",xS,!1),document.addEventListener("drop",K,!1)),function(){j&&(document.removeEventListener("dragover",xS),document.removeEventListener("drop",K))}},[V,j]),f.useEffect(function(){return!r&&k&&V.current&&V.current.focus(),function(){}},[V,k,r]);var U=f.useCallback(function(Se){M?M(Se):console.error(Se)},[M]),se=f.useCallback(function(Se){Se.preventDefault(),Se.persist(),ct(Se),X.current=[].concat(nH(X.current),[Se.target]),Vf(Se)&&Promise.resolve(o(Se)).then(function(Me){if(!(th(Se)&&!R)){var Pt=Me.length,Tt=Pt>0&&WF({files:Me,accept:T,minSize:a,maxSize:s,multiple:c,maxFiles:d,validator:A}),we=Pt>0&&!Tt;W({isDragAccept:Tt,isDragReject:we,isDragActive:!0,type:"setDraggedFiles"}),p&&p(Se)}}).catch(function(Me){return U(Me)})},[o,p,U,R,T,a,s,c,d,A]),re=f.useCallback(function(Se){Se.preventDefault(),Se.persist(),ct(Se);var Me=Vf(Se);if(Me&&Se.dataTransfer)try{Se.dataTransfer.dropEffect="copy"}catch{}return Me&&m&&m(Se),!1},[m,R]),oe=f.useCallback(function(Se){Se.preventDefault(),Se.persist(),ct(Se);var Me=X.current.filter(function(Tt){return V.current&&V.current.contains(Tt)}),Pt=Me.indexOf(Se.target);Pt!==-1&&Me.splice(Pt,1),X.current=Me,!(Me.length>0)&&(W({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),Vf(Se)&&h&&h(Se))},[V,h,R]),pe=f.useCallback(function(Se,Me){var Pt=[],Tt=[];Se.forEach(function(we){var ht=tP(we,T),$t=B0(ht,2),zt=$t[0],ze=$t[1],Ke=nP(we,a,s),Pn=B0(Ke,2),Pe=Pn[0],Ze=Pn[1],Qe=A?A(we):null;if(zt&&Pe&&!Qe)Pt.push(we);else{var dt=[ze,Ze];Qe&&(dt=dt.concat(Qe)),Tt.push({file:we,errors:dt.filter(function(Lt){return Lt})})}}),(!c&&Pt.length>1||c&&d>=1&&Pt.length>d)&&(Pt.forEach(function(we){Tt.push({file:we,errors:[HF]})}),Pt.splice(0)),W({acceptedFiles:Pt,fileRejections:Tt,type:"setFiles"}),v&&v(Pt,Tt,Me),Tt.length>0&&w&&w(Tt,Me),Pt.length>0&&b&&b(Pt,Me)},[W,c,T,a,s,d,v,b,w,A]),le=f.useCallback(function(Se){Se.preventDefault(),Se.persist(),ct(Se),X.current=[],Vf(Se)&&Promise.resolve(o(Se)).then(function(Me){th(Se)&&!R||pe(Me,Se)}).catch(function(Me){return U(Me)}),W({type:"reset"})},[o,pe,U,R]),ge=f.useCallback(function(){if(be.current){W({type:"openDialog"}),Q();var Se={multiple:c,types:$};window.showOpenFilePicker(Se).then(function(Me){return o(Me)}).then(function(Me){pe(Me,null),W({type:"closeDialog"})}).catch(function(Me){YF(Me)?(B(Me),W({type:"closeDialog"})):QF(Me)?(be.current=!1,q.current?(q.current.value=null,q.current.click()):U(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):U(Me)});return}q.current&&(W({type:"openDialog"}),Q(),q.current.value=null,q.current.click())},[W,Q,B,_,pe,U,$,c]),ke=f.useCallback(function(Se){!V.current||!V.current.isEqualNode(Se.target)||(Se.key===" "||Se.key==="Enter"||Se.keyCode===32||Se.keyCode===13)&&(Se.preventDefault(),ge())},[V,ge]),xe=f.useCallback(function(){W({type:"focus"})},[]),de=f.useCallback(function(){W({type:"blur"})},[]),Te=f.useCallback(function(){I||(GF()?setTimeout(ge,0):ge())},[I,ge]),Oe=function(Me){return r?null:Me},$e=function(Me){return E?null:Oe(Me)},kt=function(Me){return O?null:Oe(Me)},ct=function(Me){R&&Me.stopPropagation()},on=f.useMemo(function(){return function(){var Se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Me=Se.refKey,Pt=Me===void 0?"ref":Me,Tt=Se.role,we=Se.onKeyDown,ht=Se.onFocus,$t=Se.onBlur,zt=Se.onClick,ze=Se.onDragEnter,Ke=Se.onDragOver,Pn=Se.onDragLeave,Pe=Se.onDrop,Ze=nh(Se,eH);return fr(fr(c1({onKeyDown:$e(Gs(we,ke)),onFocus:$e(Gs(ht,xe)),onBlur:$e(Gs($t,de)),onClick:Oe(Gs(zt,Te)),onDragEnter:kt(Gs(ze,se)),onDragOver:kt(Gs(Ke,re)),onDragLeave:kt(Gs(Pn,oe)),onDrop:kt(Gs(Pe,le)),role:typeof Tt=="string"&&Tt!==""?Tt:"presentation"},Pt,V),!r&&!E?{tabIndex:0}:{}),Ze)}},[V,ke,xe,de,Te,se,re,oe,le,E,O,r]),vt=f.useCallback(function(Se){Se.stopPropagation()},[]),bt=f.useMemo(function(){return function(){var Se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Me=Se.refKey,Pt=Me===void 0?"ref":Me,Tt=Se.onChange,we=Se.onClick,ht=nh(Se,tH),$t=c1({accept:T,multiple:c,type:"file",style:{display:"none"},onChange:Oe(Gs(Tt,le)),onClick:Oe(Gs(we,vt)),tabIndex:-1},Pt,q);return fr(fr({},$t),ht)}},[q,n,c,le,r]);return fr(fr({},L),{},{isFocused:Y&&!r,getRootProps:on,getInputProps:bt,rootRef:V,inputRef:q,open:Oe(ge)})}function uH(e,t){switch(t.type){case"focus":return fr(fr({},e),{},{isFocused:!0});case"blur":return fr(fr({},e),{},{isFocused:!1});case"openDialog":return fr(fr({},u1),{},{isFileDialogActive:!0});case"closeDialog":return fr(fr({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return fr(fr({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return fr(fr({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return fr({},u1);default:return e}}function SS(){}function d1(){return d1=Object.assign?Object.assign.bind():function(e){for(var t=1;t'),!0):t?e.some(function(n){return t.includes(n)})||e.includes("*"):!0}var vH=function(t,n,r){r===void 0&&(r=!1);var o=n.alt,s=n.meta,a=n.mod,c=n.shift,d=n.ctrl,p=n.keys,h=t.key,m=t.code,v=t.ctrlKey,b=t.metaKey,w=t.shiftKey,y=t.altKey,S=ii(m),_=h.toLowerCase();if(!r){if(o===!y&&_!=="alt"||c===!w&&_!=="shift")return!1;if(a){if(!b&&!v)return!1}else if(s===!b&&_!=="meta"&&_!=="os"||d===!v&&_!=="ctrl"&&_!=="control")return!1}return p&&p.length===1&&(p.includes(_)||p.includes(S))?!0:p?lP(p):!p},bH=f.createContext(void 0),yH=function(){return f.useContext(bH)};function fP(e,t){return e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(e).length===Object.keys(t).length&&Object.keys(e).reduce(function(n,r){return n&&fP(e[r],t[r])},!0):e===t}var xH=f.createContext({hotkeys:[],enabledScopes:[],toggleScope:function(){},enableScope:function(){},disableScope:function(){}}),wH=function(){return f.useContext(xH)};function SH(e){var t=f.useRef(void 0);return fP(t.current,e)||(t.current=e),t.current}var CS=function(t){t.stopPropagation(),t.preventDefault(),t.stopImmediatePropagation()},CH=typeof window<"u"?f.useLayoutEffect:f.useEffect;function rt(e,t,n,r){var o=f.useRef(null),s=f.useRef(!1),a=n instanceof Array?r instanceof Array?void 0:r:n,c=e instanceof Array?e.join(a==null?void 0:a.splitKey):e,d=n instanceof Array?n:r instanceof Array?r:void 0,p=f.useCallback(t,d??[]),h=f.useRef(p);d?h.current=p:h.current=t;var m=SH(a),v=wH(),b=v.enabledScopes,w=yH();return CH(function(){if(!((m==null?void 0:m.enabled)===!1||!gH(b,m==null?void 0:m.scopes))){var y=function(I,E){var O;if(E===void 0&&(E=!1),!(mH(I)&&!dP(I,m==null?void 0:m.enableOnFormTags))&&!(m!=null&&m.ignoreEventWhen!=null&&m.ignoreEventWhen(I))){if(o.current!==null&&document.activeElement!==o.current&&!o.current.contains(document.activeElement)){CS(I);return}(O=I.target)!=null&&O.isContentEditable&&!(m!=null&&m.enableOnContentEditable)||F0(c,m==null?void 0:m.splitKey).forEach(function(R){var M,A=H0(R,m==null?void 0:m.combinationKey);if(vH(I,A,m==null?void 0:m.ignoreModifiers)||(M=A.keys)!=null&&M.includes("*")){if(E&&s.current)return;if(pH(I,A,m==null?void 0:m.preventDefault),!hH(I,A,m==null?void 0:m.enabled)){CS(I);return}h.current(I,A),E||(s.current=!0)}})}},S=function(I){I.key!==void 0&&(cP(ii(I.code)),((m==null?void 0:m.keydown)===void 0&&(m==null?void 0:m.keyup)!==!0||m!=null&&m.keydown)&&y(I))},_=function(I){I.key!==void 0&&(uP(ii(I.code)),s.current=!1,m!=null&&m.keyup&&y(I,!0))},k=o.current||(a==null?void 0:a.document)||document;return k.addEventListener("keyup",_),k.addEventListener("keydown",S),w&&F0(c,m==null?void 0:m.splitKey).forEach(function(j){return w.addHotkey(H0(j,m==null?void 0:m.combinationKey,m==null?void 0:m.description))}),function(){k.removeEventListener("keyup",_),k.removeEventListener("keydown",S),w&&F0(c,m==null?void 0:m.splitKey).forEach(function(j){return w.removeHotkey(H0(j,m==null?void 0:m.combinationKey,m==null?void 0:m.description))})}}},[c,m,b]),o}const kH=e=>{const{isDragAccept:t,isDragReject:n,setIsHandlingUpload:r}=e;return rt("esc",()=>{r(!1)}),i.jsxs(Ee,{sx:{position:"absolute",top:0,insetInlineStart:0,width:"100vw",height:"100vh",zIndex:999,backdropFilter:"blur(20px)"},children:[i.jsx(F,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:"base.700",_dark:{bg:"base.900"},opacity:.7,alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),i.jsx(F,{sx:{position:"absolute",top:0,insetInlineStart:0,width:"full",height:"full",alignItems:"center",justifyContent:"center",p:4},children:i.jsx(F,{sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",flexDir:"column",gap:4,borderWidth:3,borderRadius:"xl",borderStyle:"dashed",color:"base.100",borderColor:"base.100",_dark:{borderColor:"base.200"}},children:t?i.jsx(Ys,{size:"lg",children:"Drop to Upload"}):i.jsxs(i.Fragment,{children:[i.jsx(Ys,{size:"lg",children:"Invalid Upload"}),i.jsx(Ys,{size:"md",children:"Must be single JPEG or PNG image"})]})})})]})},_H=fe([Ye,Kn],({gallery:e},t)=>{let n={type:"TOAST"};t==="unifiedCanvas"&&(n={type:"SET_CANVAS_INITIAL_IMAGE"}),t==="img2img"&&(n={type:"SET_INITIAL_IMAGE"});const{autoAddBoardId:r}=e;return{autoAddBoardId:r,postUploadAction:n}},Ge),PH=e=>{const{children:t}=e,{autoAddBoardId:n,postUploadAction:r}=z(_H),o=z(Cr),s=Wc(),{t:a}=ye(),[c,d]=f.useState(!1),[p]=D_(),h=f.useCallback(j=>{d(!0),s({title:a("toast.uploadFailed"),description:j.errors.map(I=>I.message).join(` -`),status:"error"})},[a,s]),m=f.useCallback(async j=>{p({file:j,image_category:"user",is_intermediate:!1,postUploadAction:r,board_id:n})},[n,r,p]),v=f.useCallback((j,I)=>{if(I.length>1){s({title:a("toast.uploadFailed"),description:a("toast.uploadFailedInvalidUploadDesc"),status:"error"});return}I.forEach(E=>{h(E)}),j.forEach(E=>{m(E)})},[a,s,m,h]),{getRootProps:b,getInputProps:w,isDragAccept:y,isDragReject:S,isDragActive:_,inputRef:k}=ey({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},noClick:!0,onDrop:v,onDragOver:()=>d(!0),disabled:o,multiple:!1});return f.useEffect(()=>{const j=async I=>{var E,O;k.current&&(E=I.clipboardData)!=null&&E.files&&(k.current.files=I.clipboardData.files,(O=k.current)==null||O.dispatchEvent(new Event("change",{bubbles:!0})))};return document.addEventListener("paste",j),()=>{document.removeEventListener("paste",j)}},[k]),i.jsxs(Ee,{...b({style:{}}),onKeyDown:j=>{j.key},children:[i.jsx("input",{...w()}),t,i.jsx(mo,{children:_&&c&&i.jsx(Ir.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsx(kH,{isDragAccept:y,isDragReject:S,setIsHandlingUpload:d})},"image-upload-overlay")})]})},jH=f.memo(PH),mn=e=>e.canvas,lr=fe([mn,Kn,vo],(e,t,n)=>e.layerState.stagingArea.images.length>0||t==="unifiedCanvas"&&n.isProcessing),IH=e=>e.canvas.layerState.objects.find(A_),EH=o9(e=>{e(T_(!0))},300),ko=()=>(e,t)=>{Kn(t())==="unifiedCanvas"&&EH(e)};var OH=globalThis&&globalThis.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,o){r.__proto__=o}||function(r,o){for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(r[s]=o[s])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),_r=globalThis&&globalThis.__assign||function(){return _r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"u"?void 0:Number(r),maxHeight:typeof o>"u"?void 0:Number(o),minWidth:typeof s>"u"?void 0:Number(s),minHeight:typeof a>"u"?void 0:Number(a)}},$H=["as","style","className","grid","snap","bounds","boundsByDirection","size","defaultSize","minWidth","minHeight","maxWidth","maxHeight","lockAspectRatio","lockAspectRatioExtraWidth","lockAspectRatioExtraHeight","enable","handleStyles","handleClasses","handleWrapperStyle","handleWrapperClass","children","onResizeStart","onResize","onResizeStop","handleComponent","scale","resizeRatio","snapGap"],IS="__resizable_base__",zH=function(e){DH(t,e);function t(n){var r=e.call(this,n)||this;return r.ratio=1,r.resizable=null,r.parentLeft=0,r.parentTop=0,r.resizableLeft=0,r.resizableRight=0,r.resizableTop=0,r.resizableBottom=0,r.targetLeft=0,r.targetTop=0,r.appendBase=function(){if(!r.resizable||!r.window)return null;var o=r.parentNode;if(!o)return null;var s=r.window.document.createElement("div");return s.style.width="100%",s.style.height="100%",s.style.position="absolute",s.style.transform="scale(0, 0)",s.style.left="0",s.style.flex="0 0 100%",s.classList?s.classList.add(IS):s.className+=IS,o.appendChild(s),s},r.removeBase=function(o){var s=r.parentNode;s&&s.removeChild(o)},r.ref=function(o){o&&(r.resizable=o)},r.state={isResizing:!1,width:typeof(r.propsSize&&r.propsSize.width)>"u"?"auto":r.propsSize&&r.propsSize.width,height:typeof(r.propsSize&&r.propsSize.height)>"u"?"auto":r.propsSize&&r.propsSize.height,direction:"right",original:{x:0,y:0,width:0,height:0},backgroundStyle:{height:"100%",width:"100%",backgroundColor:"rgba(0,0,0,0)",cursor:"auto",opacity:0,position:"fixed",zIndex:9999,top:"0",left:"0",bottom:"0",right:"0"},flexBasis:void 0},r.onResizeStart=r.onResizeStart.bind(r),r.onMouseMove=r.onMouseMove.bind(r),r.onMouseUp=r.onMouseUp.bind(r),r}return Object.defineProperty(t.prototype,"parentNode",{get:function(){return this.resizable?this.resizable.parentNode:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"window",{get:function(){return!this.resizable||!this.resizable.ownerDocument?null:this.resizable.ownerDocument.defaultView},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"propsSize",{get:function(){return this.props.size||this.props.defaultSize||AH},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){var n=0,r=0;if(this.resizable&&this.window){var o=this.resizable.offsetWidth,s=this.resizable.offsetHeight,a=this.resizable.style.position;a!=="relative"&&(this.resizable.style.position="relative"),n=this.resizable.style.width!=="auto"?this.resizable.offsetWidth:o,r=this.resizable.style.height!=="auto"?this.resizable.offsetHeight:s,this.resizable.style.position=a}return{width:n,height:r}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"sizeStyle",{get:function(){var n=this,r=this.props.size,o=function(c){if(typeof n.state[c]>"u"||n.state[c]==="auto")return"auto";if(n.propsSize&&n.propsSize[c]&&n.propsSize[c].toString().endsWith("%")){if(n.state[c].toString().endsWith("%"))return n.state[c].toString();var d=n.getParentSize(),p=Number(n.state[c].toString().replace("px","")),h=p/d[c]*100;return h+"%"}return W0(n.state[c])},s=r&&typeof r.width<"u"&&!this.state.isResizing?W0(r.width):o("width"),a=r&&typeof r.height<"u"&&!this.state.isResizing?W0(r.height):o("height");return{width:s,height:a}},enumerable:!1,configurable:!0}),t.prototype.getParentSize=function(){if(!this.parentNode)return this.window?{width:this.window.innerWidth,height:this.window.innerHeight}:{width:0,height:0};var n=this.appendBase();if(!n)return{width:0,height:0};var r=!1,o=this.parentNode.style.flexWrap;o!=="wrap"&&(r=!0,this.parentNode.style.flexWrap="wrap"),n.style.position="relative",n.style.minWidth="100%",n.style.minHeight="100%";var s={width:n.offsetWidth,height:n.offsetHeight};return r&&(this.parentNode.style.flexWrap=o),this.removeBase(n),s},t.prototype.bindEvents=function(){this.window&&(this.window.addEventListener("mouseup",this.onMouseUp),this.window.addEventListener("mousemove",this.onMouseMove),this.window.addEventListener("mouseleave",this.onMouseUp),this.window.addEventListener("touchmove",this.onMouseMove,{capture:!0,passive:!1}),this.window.addEventListener("touchend",this.onMouseUp))},t.prototype.unbindEvents=function(){this.window&&(this.window.removeEventListener("mouseup",this.onMouseUp),this.window.removeEventListener("mousemove",this.onMouseMove),this.window.removeEventListener("mouseleave",this.onMouseUp),this.window.removeEventListener("touchmove",this.onMouseMove,!0),this.window.removeEventListener("touchend",this.onMouseUp))},t.prototype.componentDidMount=function(){if(!(!this.resizable||!this.window)){var n=this.window.getComputedStyle(this.resizable);this.setState({width:this.state.width||this.size.width,height:this.state.height||this.size.height,flexBasis:n.flexBasis!=="auto"?n.flexBasis:void 0})}},t.prototype.componentWillUnmount=function(){this.window&&this.unbindEvents()},t.prototype.createSizeForCssProperty=function(n,r){var o=this.propsSize&&this.propsSize[r];return this.state[r]==="auto"&&this.state.original[r]===n&&(typeof o>"u"||o==="auto")?"auto":n},t.prototype.calculateNewMaxFromBoundary=function(n,r){var o=this.props.boundsByDirection,s=this.state.direction,a=o&&Fl("left",s),c=o&&Fl("top",s),d,p;if(this.props.bounds==="parent"){var h=this.parentNode;h&&(d=a?this.resizableRight-this.parentLeft:h.offsetWidth+(this.parentLeft-this.resizableLeft),p=c?this.resizableBottom-this.parentTop:h.offsetHeight+(this.parentTop-this.resizableTop))}else this.props.bounds==="window"?this.window&&(d=a?this.resizableRight:this.window.innerWidth-this.resizableLeft,p=c?this.resizableBottom:this.window.innerHeight-this.resizableTop):this.props.bounds&&(d=a?this.resizableRight-this.targetLeft:this.props.bounds.offsetWidth+(this.targetLeft-this.resizableLeft),p=c?this.resizableBottom-this.targetTop:this.props.bounds.offsetHeight+(this.targetTop-this.resizableTop));return d&&Number.isFinite(d)&&(n=n&&n"u"?10:s.width,m=typeof o.width>"u"||o.width<0?n:o.width,v=typeof s.height>"u"?10:s.height,b=typeof o.height>"u"||o.height<0?r:o.height,w=d||0,y=p||0;if(c){var S=(v-w)*this.ratio+y,_=(b-w)*this.ratio+y,k=(h-y)/this.ratio+w,j=(m-y)/this.ratio+w,I=Math.max(h,S),E=Math.min(m,_),O=Math.max(v,k),R=Math.min(b,j);n=Gf(n,I,E),r=Gf(r,O,R)}else n=Gf(n,h,m),r=Gf(r,v,b);return{newWidth:n,newHeight:r}},t.prototype.setBoundingClientRect=function(){if(this.props.bounds==="parent"){var n=this.parentNode;if(n){var r=n.getBoundingClientRect();this.parentLeft=r.left,this.parentTop=r.top}}if(this.props.bounds&&typeof this.props.bounds!="string"){var o=this.props.bounds.getBoundingClientRect();this.targetLeft=o.left,this.targetTop=o.top}if(this.resizable){var s=this.resizable.getBoundingClientRect(),a=s.left,c=s.top,d=s.right,p=s.bottom;this.resizableLeft=a,this.resizableRight=d,this.resizableTop=c,this.resizableBottom=p}},t.prototype.onResizeStart=function(n,r){if(!(!this.resizable||!this.window)){var o=0,s=0;if(n.nativeEvent&&TH(n.nativeEvent)?(o=n.nativeEvent.clientX,s=n.nativeEvent.clientY):n.nativeEvent&&qf(n.nativeEvent)&&(o=n.nativeEvent.touches[0].clientX,s=n.nativeEvent.touches[0].clientY),this.props.onResizeStart&&this.resizable){var a=this.props.onResizeStart(n,r,this.resizable);if(a===!1)return}this.props.size&&(typeof this.props.size.height<"u"&&this.props.size.height!==this.state.height&&this.setState({height:this.props.size.height}),typeof this.props.size.width<"u"&&this.props.size.width!==this.state.width&&this.setState({width:this.props.size.width})),this.ratio=typeof this.props.lockAspectRatio=="number"?this.props.lockAspectRatio:this.size.width/this.size.height;var c,d=this.window.getComputedStyle(this.resizable);if(d.flexBasis!=="auto"){var p=this.parentNode;if(p){var h=this.window.getComputedStyle(p).flexDirection;this.flexDir=h.startsWith("row")?"row":"column",c=d.flexBasis}}this.setBoundingClientRect(),this.bindEvents();var m={original:{x:o,y:s,width:this.size.width,height:this.size.height},isResizing:!0,backgroundStyle:qs(qs({},this.state.backgroundStyle),{cursor:this.window.getComputedStyle(n.target).cursor||"auto"}),direction:r,flexBasis:c};this.setState(m)}},t.prototype.onMouseMove=function(n){var r=this;if(!(!this.state.isResizing||!this.resizable||!this.window)){if(this.window.TouchEvent&&qf(n))try{n.preventDefault(),n.stopPropagation()}catch{}var o=this.props,s=o.maxWidth,a=o.maxHeight,c=o.minWidth,d=o.minHeight,p=qf(n)?n.touches[0].clientX:n.clientX,h=qf(n)?n.touches[0].clientY:n.clientY,m=this.state,v=m.direction,b=m.original,w=m.width,y=m.height,S=this.getParentSize(),_=NH(S,this.window.innerWidth,this.window.innerHeight,s,a,c,d);s=_.maxWidth,a=_.maxHeight,c=_.minWidth,d=_.minHeight;var k=this.calculateNewSizeFromDirection(p,h),j=k.newHeight,I=k.newWidth,E=this.calculateNewMaxFromBoundary(s,a);this.props.snap&&this.props.snap.x&&(I=jS(I,this.props.snap.x,this.props.snapGap)),this.props.snap&&this.props.snap.y&&(j=jS(j,this.props.snap.y,this.props.snapGap));var O=this.calculateNewSizeFromAspectRatio(I,j,{width:E.maxWidth,height:E.maxHeight},{width:c,height:d});if(I=O.newWidth,j=O.newHeight,this.props.grid){var R=PS(I,this.props.grid[0]),M=PS(j,this.props.grid[1]),A=this.props.snapGap||0;I=A===0||Math.abs(R-I)<=A?R:I,j=A===0||Math.abs(M-j)<=A?M:j}var T={width:I-b.width,height:j-b.height};if(w&&typeof w=="string"){if(w.endsWith("%")){var $=I/S.width*100;I=$+"%"}else if(w.endsWith("vw")){var Q=I/this.window.innerWidth*100;I=Q+"vw"}else if(w.endsWith("vh")){var B=I/this.window.innerHeight*100;I=B+"vh"}}if(y&&typeof y=="string"){if(y.endsWith("%")){var $=j/S.height*100;j=$+"%"}else if(y.endsWith("vw")){var Q=j/this.window.innerWidth*100;j=Q+"vw"}else if(y.endsWith("vh")){var B=j/this.window.innerHeight*100;j=B+"vh"}}var V={width:this.createSizeForCssProperty(I,"width"),height:this.createSizeForCssProperty(j,"height")};this.flexDir==="row"?V.flexBasis=V.width:this.flexDir==="column"&&(V.flexBasis=V.height),_i.flushSync(function(){r.setState(V)}),this.props.onResize&&this.props.onResize(n,v,this.resizable,T)}},t.prototype.onMouseUp=function(n){var r=this.state,o=r.isResizing,s=r.direction,a=r.original;if(!(!o||!this.resizable)){var c={width:this.size.width-a.width,height:this.size.height-a.height};this.props.onResizeStop&&this.props.onResizeStop(n,s,this.resizable,c),this.props.size&&this.setState(this.props.size),this.unbindEvents(),this.setState({isResizing:!1,backgroundStyle:qs(qs({},this.state.backgroundStyle),{cursor:"auto"})})}},t.prototype.updateSize=function(n){this.setState({width:n.width,height:n.height})},t.prototype.renderResizer=function(){var n=this,r=this.props,o=r.enable,s=r.handleStyles,a=r.handleClasses,c=r.handleWrapperStyle,d=r.handleWrapperClass,p=r.handleComponent;if(!o)return null;var h=Object.keys(o).map(function(m){return o[m]!==!1?f.createElement(MH,{key:m,direction:m,onResizeStart:n.onResizeStart,replaceStyles:s&&s[m],className:a&&a[m]},p&&p[m]?p[m]:null):null});return f.createElement("div",{className:d,style:c},h)},t.prototype.render=function(){var n=this,r=Object.keys(this.props).reduce(function(a,c){return $H.indexOf(c)!==-1||(a[c]=n.props[c]),a},{}),o=qs(qs(qs({position:"relative",userSelect:this.state.isResizing?"none":"auto"},this.props.style),this.sizeStyle),{maxWidth:this.props.maxWidth,maxHeight:this.props.maxHeight,minWidth:this.props.minWidth,minHeight:this.props.minHeight,boxSizing:"border-box",flexShrink:0});this.state.flexBasis&&(o.flexBasis=this.state.flexBasis);var s=this.props.as||"div";return f.createElement(s,qs({ref:this.ref,style:o,className:this.props.className},r),this.state.isResizing&&f.createElement("div",{style:this.state.backgroundStyle}),this.props.children,this.renderResizer())},t.defaultProps={as:"div",onResizeStart:function(){},onResize:function(){},onResizeStop:function(){},enable:{top:!0,right:!0,bottom:!0,left:!0,topRight:!0,bottomRight:!0,bottomLeft:!0,topLeft:!0},style:{},grid:[1,1],lockAspectRatio:!1,lockAspectRatioExtraWidth:0,lockAspectRatioExtraHeight:0,scale:1,resizeRatio:1,snapGap:0},t}(f.PureComponent);const LH=({direction:e,langDirection:t})=>({top:e==="bottom",right:t!=="rtl"&&e==="left"||t==="rtl"&&e==="right",bottom:e==="top",left:t!=="rtl"&&e==="right"||t==="rtl"&&e==="left"}),BH=({direction:e,minWidth:t,maxWidth:n,minHeight:r,maxHeight:o})=>{const s=t??(["left","right"].includes(e)?10:void 0),a=n??(["left","right"].includes(e)?"95vw":void 0),c=r??(["top","bottom"].includes(e)?10:void 0),d=o??(["top","bottom"].includes(e)?"95vh":void 0);return{...s?{minWidth:s}:{},...a?{maxWidth:a}:{},...c?{minHeight:c}:{},...d?{maxHeight:d}:{}}},ba="0.75rem",Xf="1rem",mu="5px",FH=({isResizable:e,direction:t})=>{const n=`calc((2 * ${ba} + ${mu}) / -2)`;return t==="top"?{containerStyles:{borderBottomWidth:mu,paddingBottom:Xf},handleStyles:e?{top:{paddingTop:ba,paddingBottom:ba,bottom:n}}:{}}:t==="left"?{containerStyles:{borderInlineEndWidth:mu,paddingInlineEnd:Xf},handleStyles:e?{right:{paddingInlineStart:ba,paddingInlineEnd:ba,insetInlineEnd:n}}:{}}:t==="bottom"?{containerStyles:{borderTopWidth:mu,paddingTop:Xf},handleStyles:e?{bottom:{paddingTop:ba,paddingBottom:ba,top:n}}:{}}:t==="right"?{containerStyles:{borderInlineStartWidth:mu,paddingInlineStart:Xf},handleStyles:e?{left:{paddingInlineStart:ba,paddingInlineEnd:ba,insetInlineStart:n}}:{}}:{containerStyles:{},handleStyles:{}}},HH=(e,t)=>["top","bottom"].includes(e)?e:e==="left"?t==="rtl"?"right":"left":e==="right"?t==="rtl"?"left":"right":"left",Fe=(e,t)=>n=>n==="light"?e:t,WH=je(zH,{shouldForwardProp:e=>!["sx"].includes(e)}),pP=({direction:e="left",isResizable:t,isOpen:n,onClose:r,children:o,initialWidth:s,minWidth:a,maxWidth:c,initialHeight:d,minHeight:p,maxHeight:h,onResizeStart:m,onResizeStop:v,onResize:b,sx:w={}})=>{const y=Ac().direction,{colorMode:S}=Ds(),_=f.useRef(null),k=f.useMemo(()=>s??a??(["left","right"].includes(e)?"auto":"100%"),[s,a,e]),j=f.useMemo(()=>d??p??(["top","bottom"].includes(e)?"auto":"100%"),[d,p,e]),[I,E]=f.useState(k),[O,R]=f.useState(j);$N({ref:_,handler:()=>{r()},enabled:n});const M=f.useMemo(()=>t?LH({direction:e,langDirection:y}):{},[t,y,e]),A=f.useMemo(()=>BH({direction:e,minWidth:a,maxWidth:c,minHeight:p,maxHeight:h}),[a,c,p,h,e]),{containerStyles:T,handleStyles:$}=f.useMemo(()=>FH({isResizable:t,direction:e}),[t,e]),Q=f.useMemo(()=>HH(e,y),[e,y]);return f.useEffect(()=>{["left","right"].includes(e)&&R("100vh"),["top","bottom"].includes(e)&&E("100vw")},[e]),i.jsx(H5,{direction:Q,in:n,motionProps:{initial:!1},style:{width:"full"},children:i.jsx(Ee,{ref:_,sx:{width:"full",height:"full"},children:i.jsx(WH,{size:{width:t?I:k,height:t?O:j},enable:M,handleStyles:$,...A,sx:{borderColor:Fe("base.200","base.800")(S),p:4,bg:Fe("base.50","base.900")(S),height:"full",shadow:n?"dark-lg":void 0,...T,...w},onResizeStart:(B,V,q)=>{m&&m(B,V,q)},onResize:(B,V,q,G)=>{b&&b(B,V,q,G)},onResizeStop:(B,V,q,G)=>{["left","right"].includes(V)&&E(Number(I)+G.width),["top","bottom"].includes(V)&&R(Number(O)+G.height),v&&v(B,V,q,G)},children:o})})})},VH=Ae((e,t)=>{const{children:n,tooltip:r="",tooltipProps:{placement:o="top",hasArrow:s=!0,...a}={},isChecked:c,...d}=e;return i.jsx(wn,{label:r,placement:o,hasArrow:s,...a,children:i.jsx(bc,{ref:t,colorScheme:c?"accent":"base",...d,children:n})})}),Jt=f.memo(VH);var hP={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},ES=H.createContext&&H.createContext(hP),fi=globalThis&&globalThis.__assign||function(){return fi=Object.assign||function(e){for(var t,n=1,r=arguments.length;nt(e[n],n,e));return e}function ro(e,t){const n=Ei(t);if(Rs(t)||n){let o=n?"":{};if(e){const s=window.getComputedStyle(e,null);o=n?AS(e,s,t):t.reduce((a,c)=>(a[c]=AS(e,s,c),a),o)}return o}e&&_n(Fo(t),o=>GW(e,o,t[o]))}const xs=(e,t)=>{const{o:n,u:r,_:o}=e;let s=n,a;const c=(h,m)=>{const v=s,b=h,w=m||(r?!r(v,b):v!==b);return(w||o)&&(s=b,a=v),[s,w,a]};return[t?h=>c(t(s,a),h):c,h=>[s,!!h,a]]},Ld=()=>typeof window<"u",OP=Ld()&&Node.ELEMENT_NODE,{toString:RW,hasOwnProperty:U0}=Object.prototype,Ha=e=>e===void 0,Am=e=>e===null,MW=e=>Ha(e)||Am(e)?`${e}`:RW.call(e).replace(/^\[object (.+)\]$/,"$1").toLowerCase(),pi=e=>typeof e=="number",Ei=e=>typeof e=="string",ay=e=>typeof e=="boolean",Os=e=>typeof e=="function",Rs=e=>Array.isArray(e),ld=e=>typeof e=="object"&&!Rs(e)&&!Am(e),Tm=e=>{const t=!!e&&e.length,n=pi(t)&&t>-1&&t%1==0;return Rs(e)||!Os(e)&&n?t>0&&ld(e)?t-1 in e:!0:!1},f1=e=>{if(!e||!ld(e)||MW(e)!=="object")return!1;let t;const n="constructor",r=e[n],o=r&&r.prototype,s=U0.call(e,n),a=o&&U0.call(o,"isPrototypeOf");if(r&&!s&&!a)return!1;for(t in e);return Ha(t)||U0.call(e,t)},rh=e=>{const t=HTMLElement;return e?t?e instanceof t:e.nodeType===OP:!1},Nm=e=>{const t=Element;return e?t?e instanceof t:e.nodeType===OP:!1},iy=(e,t,n)=>e.indexOf(t,n),An=(e,t,n)=>(!n&&!Ei(t)&&Tm(t)?Array.prototype.push.apply(e,t):e.push(t),e),cl=e=>{const t=Array.from,n=[];return t&&e?t(e):(e instanceof Set?e.forEach(r=>{An(n,r)}):_n(e,r=>{An(n,r)}),n)},ly=e=>!!e&&e.length===0,ca=(e,t,n)=>{_n(e,o=>o&&o.apply(void 0,t||[])),!n&&(e.length=0)},$m=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Fo=e=>e?Object.keys(e):[],hr=(e,t,n,r,o,s,a)=>{const c=[t,n,r,o,s,a];return(typeof e!="object"||Am(e))&&!Os(e)&&(e={}),_n(c,d=>{_n(Fo(d),p=>{const h=d[p];if(e===h)return!0;const m=Rs(h);if(h&&(f1(h)||m)){const v=e[p];let b=v;m&&!Rs(v)?b=[]:!m&&!f1(v)&&(b={}),e[p]=hr(b,h)}else e[p]=h})}),e},cy=e=>{for(const t in e)return!1;return!0},RP=(e,t,n,r)=>{if(Ha(r))return n?n[e]:t;n&&(Ei(r)||pi(r))&&(n[e]=r)},to=(e,t,n)=>{if(Ha(n))return e?e.getAttribute(t):null;e&&e.setAttribute(t,n)},So=(e,t)=>{e&&e.removeAttribute(t)},Zi=(e,t,n,r)=>{if(n){const o=to(e,t)||"",s=new Set(o.split(" "));s[r?"add":"delete"](n);const a=cl(s).join(" ").trim();to(e,t,a)}},DW=(e,t,n)=>{const r=to(e,t)||"";return new Set(r.split(" ")).has(n)},_s=(e,t)=>RP("scrollLeft",0,e,t),ka=(e,t)=>RP("scrollTop",0,e,t),p1=Ld()&&Element.prototype,MP=(e,t)=>{const n=[],r=t?Nm(t)?t:null:document;return r?An(n,r.querySelectorAll(e)):n},AW=(e,t)=>{const n=t?Nm(t)?t:null:document;return n?n.querySelector(e):null},oh=(e,t)=>Nm(e)?(p1.matches||p1.msMatchesSelector).call(e,t):!1,uy=e=>e?cl(e.childNodes):[],Ta=e=>e?e.parentElement:null,Ql=(e,t)=>{if(Nm(e)){const n=p1.closest;if(n)return n.call(e,t);do{if(oh(e,t))return e;e=Ta(e)}while(e)}return null},TW=(e,t,n)=>{const r=e&&Ql(e,t),o=e&&AW(n,r),s=Ql(o,t)===r;return r&&o?r===e||o===e||s&&Ql(Ql(e,n),t)!==r:!1},dy=(e,t,n)=>{if(n&&e){let r=t,o;Tm(n)?(o=document.createDocumentFragment(),_n(n,s=>{s===r&&(r=s.previousSibling),o.appendChild(s)})):o=n,t&&(r?r!==t&&(r=r.nextSibling):r=e.firstChild),e.insertBefore(o,r||null)}},ts=(e,t)=>{dy(e,null,t)},NW=(e,t)=>{dy(Ta(e),e,t)},RS=(e,t)=>{dy(Ta(e),e&&e.nextSibling,t)},oa=e=>{if(Tm(e))_n(cl(e),t=>oa(t));else if(e){const t=Ta(e);t&&t.removeChild(e)}},el=e=>{const t=document.createElement("div");return e&&to(t,"class",e),t},DP=e=>{const t=el();return t.innerHTML=e.trim(),_n(uy(t),n=>oa(n))},h1=e=>e.charAt(0).toUpperCase()+e.slice(1),$W=()=>el().style,zW=["-webkit-","-moz-","-o-","-ms-"],LW=["WebKit","Moz","O","MS","webkit","moz","o","ms"],G0={},q0={},BW=e=>{let t=q0[e];if($m(q0,e))return t;const n=h1(e),r=$W();return _n(zW,o=>{const s=o.replace(/-/g,"");return!(t=[e,o+e,s+n,h1(s)+n].find(c=>r[c]!==void 0))}),q0[e]=t||""},Bd=e=>{if(Ld()){let t=G0[e]||window[e];return $m(G0,e)||(_n(LW,n=>(t=t||window[n+h1(e)],!t)),G0[e]=t),t}},FW=Bd("MutationObserver"),MS=Bd("IntersectionObserver"),Jl=Bd("ResizeObserver"),AP=Bd("cancelAnimationFrame"),TP=Bd("requestAnimationFrame"),sh=Ld()&&window.setTimeout,m1=Ld()&&window.clearTimeout,HW=/[^\x20\t\r\n\f]+/g,NP=(e,t,n)=>{const r=e&&e.classList;let o,s=0,a=!1;if(r&&t&&Ei(t)){const c=t.match(HW)||[];for(a=c.length>0;o=c[s++];)a=!!n(r,o)&&a}return a},fy=(e,t)=>{NP(e,t,(n,r)=>n.remove(r))},_a=(e,t)=>(NP(e,t,(n,r)=>n.add(r)),fy.bind(0,e,t)),zm=(e,t,n,r)=>{if(e&&t){let o=!0;return _n(n,s=>{const a=r?r(e[s]):e[s],c=r?r(t[s]):t[s];a!==c&&(o=!1)}),o}return!1},$P=(e,t)=>zm(e,t,["w","h"]),zP=(e,t)=>zm(e,t,["x","y"]),WW=(e,t)=>zm(e,t,["t","r","b","l"]),DS=(e,t,n)=>zm(e,t,["width","height"],n&&(r=>Math.round(r))),es=()=>{},ql=e=>{let t;const n=e?sh:TP,r=e?m1:AP;return[o=>{r(t),t=n(o,Os(e)?e():e)},()=>r(t)]},py=(e,t)=>{let n,r,o,s=es;const{v:a,g:c,p:d}=t||{},p=function(w){s(),m1(n),n=r=void 0,s=es,e.apply(this,w)},h=b=>d&&r?d(r,b):b,m=()=>{s!==es&&p(h(o)||o)},v=function(){const w=cl(arguments),y=Os(a)?a():a;if(pi(y)&&y>=0){const _=Os(c)?c():c,k=pi(_)&&_>=0,j=y>0?sh:TP,I=y>0?m1:AP,O=h(w)||w,R=p.bind(0,O);s();const M=j(R,y);s=()=>I(M),k&&!n&&(n=sh(m,_)),r=o=O}else p(w)};return v.m=m,v},VW={opacity:1,zindex:1},Yf=(e,t)=>{const n=t?parseFloat(e):parseInt(e,10);return n===n?n:0},UW=(e,t)=>!VW[e.toLowerCase()]&&pi(t)?`${t}px`:t,AS=(e,t,n)=>t!=null?t[n]||t.getPropertyValue(n):e.style[n],GW=(e,t,n)=>{try{const{style:r}=e;Ha(r[t])?r.setProperty(t,n):r[t]=UW(t,n)}catch{}},cd=e=>ro(e,"direction")==="rtl",TS=(e,t,n)=>{const r=t?`${t}-`:"",o=n?`-${n}`:"",s=`${r}top${o}`,a=`${r}right${o}`,c=`${r}bottom${o}`,d=`${r}left${o}`,p=ro(e,[s,a,c,d]);return{t:Yf(p[s],!0),r:Yf(p[a],!0),b:Yf(p[c],!0),l:Yf(p[d],!0)}},{round:NS}=Math,hy={w:0,h:0},ud=e=>e?{w:e.offsetWidth,h:e.offsetHeight}:hy,Mp=e=>e?{w:e.clientWidth,h:e.clientHeight}:hy,ah=e=>e?{w:e.scrollWidth,h:e.scrollHeight}:hy,ih=e=>{const t=parseFloat(ro(e,"height"))||0,n=parseFloat(ro(e,"width"))||0;return{w:n-NS(n),h:t-NS(t)}},Zs=e=>e.getBoundingClientRect();let Qf;const qW=()=>{if(Ha(Qf)){Qf=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get(){Qf=!0}}))}catch{}}return Qf},LP=e=>e.split(" "),KW=(e,t,n,r)=>{_n(LP(t),o=>{e.removeEventListener(o,n,r)})},Tr=(e,t,n,r)=>{var o;const s=qW(),a=(o=s&&r&&r.S)!=null?o:s,c=r&&r.$||!1,d=r&&r.C||!1,p=[],h=s?{passive:a,capture:c}:c;return _n(LP(t),m=>{const v=d?b=>{e.removeEventListener(m,v,c),n&&n(b)}:n;An(p,KW.bind(null,e,m,v,c)),e.addEventListener(m,v,h)}),ca.bind(0,p)},BP=e=>e.stopPropagation(),FP=e=>e.preventDefault(),XW={x:0,y:0},K0=e=>{const t=e?Zs(e):0;return t?{x:t.left+window.pageYOffset,y:t.top+window.pageXOffset}:XW},$S=(e,t)=>{_n(Rs(t)?t:[t],e)},my=e=>{const t=new Map,n=(s,a)=>{if(s){const c=t.get(s);$S(d=>{c&&c[d?"delete":"clear"](d)},a)}else t.forEach(c=>{c.clear()}),t.clear()},r=(s,a)=>{if(Ei(s)){const p=t.get(s)||new Set;return t.set(s,p),$S(h=>{Os(h)&&p.add(h)},a),n.bind(0,s,a)}ay(a)&&a&&n();const c=Fo(s),d=[];return _n(c,p=>{const h=s[p];h&&An(d,r(p,h))}),ca.bind(0,d)},o=(s,a)=>{const c=t.get(s);_n(cl(c),d=>{a&&!ly(a)?d.apply(0,a):d()})};return r(e||{}),[r,n,o]},zS=e=>JSON.stringify(e,(t,n)=>{if(Os(n))throw new Error;return n}),YW={paddingAbsolute:!1,showNativeOverlaidScrollbars:!1,update:{elementEvents:[["img","load"]],debounce:[0,33],attributes:null,ignoreMutation:null},overflow:{x:"scroll",y:"scroll"},scrollbars:{theme:"os-theme-dark",visibility:"auto",autoHide:"never",autoHideDelay:1300,dragScroll:!0,clickScroll:!1,pointers:["mouse","touch","pen"]}},HP=(e,t)=>{const n={},r=Fo(t).concat(Fo(e));return _n(r,o=>{const s=e[o],a=t[o];if(ld(s)&&ld(a))hr(n[o]={},HP(s,a)),cy(n[o])&&delete n[o];else if($m(t,o)&&a!==s){let c=!0;if(Rs(s)||Rs(a))try{zS(s)===zS(a)&&(c=!1)}catch{}c&&(n[o]=a)}}),n},WP="os-environment",VP=`${WP}-flexbox-glue`,QW=`${VP}-max`,UP="os-scrollbar-hidden",X0="data-overlayscrollbars-initialize",ws="data-overlayscrollbars",GP=`${ws}-overflow-x`,qP=`${ws}-overflow-y`,dc="overflowVisible",JW="scrollbarHidden",LS="scrollbarPressed",lh="updating",oi="data-overlayscrollbars-viewport",Y0="arrange",KP="scrollbarHidden",fc=dc,g1="data-overlayscrollbars-padding",ZW=fc,BS="data-overlayscrollbars-content",gy="os-size-observer",eV=`${gy}-appear`,tV=`${gy}-listener`,nV="os-trinsic-observer",rV="os-no-css-vars",oV="os-theme-none",Eo="os-scrollbar",sV=`${Eo}-rtl`,aV=`${Eo}-horizontal`,iV=`${Eo}-vertical`,XP=`${Eo}-track`,vy=`${Eo}-handle`,lV=`${Eo}-visible`,cV=`${Eo}-cornerless`,FS=`${Eo}-transitionless`,HS=`${Eo}-interaction`,WS=`${Eo}-unusable`,VS=`${Eo}-auto-hidden`,US=`${Eo}-wheel`,uV=`${XP}-interactive`,dV=`${vy}-interactive`,YP={},ul=()=>YP,fV=e=>{const t=[];return _n(Rs(e)?e:[e],n=>{const r=Fo(n);_n(r,o=>{An(t,YP[o]=n[o])})}),t},pV="__osOptionsValidationPlugin",hV="__osSizeObserverPlugin",by="__osScrollbarsHidingPlugin",mV="__osClickScrollPlugin";let Q0;const GS=(e,t,n,r)=>{ts(e,t);const o=Mp(t),s=ud(t),a=ih(n);return r&&oa(t),{x:s.h-o.h+a.h,y:s.w-o.w+a.w}},gV=e=>{let t=!1;const n=_a(e,UP);try{t=ro(e,BW("scrollbar-width"))==="none"||window.getComputedStyle(e,"::-webkit-scrollbar").getPropertyValue("display")==="none"}catch{}return n(),t},vV=(e,t)=>{const n="hidden";ro(e,{overflowX:n,overflowY:n,direction:"rtl"}),_s(e,0);const r=K0(e),o=K0(t);_s(e,-999);const s=K0(t);return{i:r.x===o.x,n:o.x!==s.x}},bV=(e,t)=>{const n=_a(e,VP),r=Zs(e),o=Zs(t),s=DS(o,r,!0),a=_a(e,QW),c=Zs(e),d=Zs(t),p=DS(d,c,!0);return n(),a(),s&&p},yV=()=>{const{body:e}=document,n=DP(`
`)[0],r=n.firstChild,[o,,s]=my(),[a,c]=xs({o:GS(e,n,r),u:zP},GS.bind(0,e,n,r,!0)),[d]=c(),p=gV(n),h={x:d.x===0,y:d.y===0},m={elements:{host:null,padding:!p,viewport:k=>p&&k===k.ownerDocument.body&&k,content:!1},scrollbars:{slot:!0},cancel:{nativeScrollbarsOverlaid:!1,body:null}},v=hr({},YW),b=hr.bind(0,{},v),w=hr.bind(0,{},m),y={k:d,A:h,I:p,L:ro(n,"zIndex")==="-1",B:vV(n,r),V:bV(n,r),Y:o.bind(0,"z"),j:o.bind(0,"r"),N:w,q:k=>hr(m,k)&&w(),F:b,G:k=>hr(v,k)&&b(),X:hr({},m),U:hr({},v)},S=window.addEventListener,_=py(k=>s(k?"z":"r"),{v:33,g:99});if(So(n,"style"),oa(n),S("resize",_.bind(0,!1)),!p&&(!h.x||!h.y)){let k;S("resize",()=>{const j=ul()[by];k=k||j&&j.R(),k&&k(y,a,_.bind(0,!0))})}return y},Oo=()=>(Q0||(Q0=yV()),Q0),yy=(e,t)=>Os(t)?t.apply(0,e):t,xV=(e,t,n,r)=>{const o=Ha(r)?n:r;return yy(e,o)||t.apply(0,e)},QP=(e,t,n,r)=>{const o=Ha(r)?n:r,s=yy(e,o);return!!s&&(rh(s)?s:t.apply(0,e))},wV=(e,t,n)=>{const{nativeScrollbarsOverlaid:r,body:o}=n||{},{A:s,I:a}=Oo(),{nativeScrollbarsOverlaid:c,body:d}=t,p=r??c,h=Ha(o)?d:o,m=(s.x||s.y)&&p,v=e&&(Am(h)?!a:h);return!!m||!!v},xy=new WeakMap,SV=(e,t)=>{xy.set(e,t)},CV=e=>{xy.delete(e)},JP=e=>xy.get(e),qS=(e,t)=>e?t.split(".").reduce((n,r)=>n&&$m(n,r)?n[r]:void 0,e):void 0,v1=(e,t,n)=>r=>[qS(e,r),n||qS(t,r)!==void 0],ZP=e=>{let t=e;return[()=>t,n=>{t=hr({},t,n)}]},Jf="tabindex",Zf=el.bind(0,""),J0=e=>{ts(Ta(e),uy(e)),oa(e)},kV=e=>{const t=Oo(),{N:n,I:r}=t,o=ul()[by],s=o&&o.T,{elements:a}=n(),{host:c,padding:d,viewport:p,content:h}=a,m=rh(e),v=m?{}:e,{elements:b}=v,{host:w,padding:y,viewport:S,content:_}=b||{},k=m?e:v.target,j=oh(k,"textarea"),I=k.ownerDocument,E=I.documentElement,O=k===I.body,R=I.defaultView,M=xV.bind(0,[k]),A=QP.bind(0,[k]),T=yy.bind(0,[k]),$=M.bind(0,Zf,p),Q=A.bind(0,Zf,h),B=$(S),V=B===k,q=V&&O,G=!V&&Q(_),D=!V&&rh(B)&&B===G,L=D&&!!T(h),W=L?$():B,Y=L?G:Q(),be=q?E:D?W:B,ie=j?M(Zf,c,w):k,X=q?be:ie,K=D?Y:G,U=I.activeElement,se=!V&&R.top===R&&U===k,re={W:k,Z:X,J:be,K:!V&&A(Zf,d,y),tt:K,nt:!V&&!r&&s&&s(t),ot:q?E:be,st:q?I:be,et:R,ct:I,rt:j,it:O,lt:m,ut:V,dt:D,ft:(vt,bt)=>DW(be,V?ws:oi,V?bt:vt),_t:(vt,bt,Se)=>Zi(be,V?ws:oi,V?bt:vt,Se)},oe=Fo(re).reduce((vt,bt)=>{const Se=re[bt];return An(vt,Se&&!Ta(Se)?Se:!1)},[]),pe=vt=>vt?iy(oe,vt)>-1:null,{W:le,Z:ge,K:ke,J:xe,tt:de,nt:Te}=re,Oe=[()=>{So(ge,ws),So(ge,X0),So(le,X0),O&&(So(E,ws),So(E,X0))}],$e=j&&pe(ge);let kt=j?le:uy([de,xe,ke,ge,le].find(vt=>pe(vt)===!1));const ct=q?le:de||xe;return[re,()=>{to(ge,ws,V?"viewport":"host"),to(ke,g1,""),to(de,BS,""),V||to(xe,oi,"");const vt=O&&!V?_a(Ta(k),UP):es;if($e&&(RS(le,ge),An(Oe,()=>{RS(ge,le),oa(ge)})),ts(ct,kt),ts(ge,ke),ts(ke||ge,!V&&xe),ts(xe,de),An(Oe,()=>{vt(),So(ke,g1),So(de,BS),So(xe,GP),So(xe,qP),So(xe,oi),pe(de)&&J0(de),pe(xe)&&J0(xe),pe(ke)&&J0(ke)}),r&&!V&&(Zi(xe,oi,KP,!0),An(Oe,So.bind(0,xe,oi))),Te&&(NW(xe,Te),An(Oe,oa.bind(0,Te))),se){const bt=to(xe,Jf);to(xe,Jf,"-1"),xe.focus();const Se=()=>bt?to(xe,Jf,bt):So(xe,Jf),Me=Tr(I,"pointerdown keydown",()=>{Se(),Me()});An(Oe,[Se,Me])}else U&&U.focus&&U.focus();kt=0},ca.bind(0,Oe)]},_V=(e,t)=>{const{tt:n}=e,[r]=t;return o=>{const{V:s}=Oo(),{ht:a}=r(),{vt:c}=o,d=(n||!s)&&c;return d&&ro(n,{height:a?"":"100%"}),{gt:d,wt:d}}},PV=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:a,ut:c}=e,[d,p]=xs({u:WW,o:TS()},TS.bind(0,o,"padding",""));return(h,m,v)=>{let[b,w]=p(v);const{I:y,V:S}=Oo(),{bt:_}=n(),{gt:k,wt:j,yt:I}=h,[E,O]=m("paddingAbsolute");(k||w||!S&&j)&&([b,w]=d(v));const M=!c&&(O||I||w);if(M){const A=!E||!s&&!y,T=b.r+b.l,$=b.t+b.b,Q={marginRight:A&&!_?-T:0,marginBottom:A?-$:0,marginLeft:A&&_?-T:0,top:A?-b.t:0,right:A?_?-b.r:"auto":0,left:A?_?"auto":-b.l:0,width:A?`calc(100% + ${T}px)`:""},B={paddingTop:A?b.t:0,paddingRight:A?b.r:0,paddingBottom:A?b.b:0,paddingLeft:A?b.l:0};ro(s||a,Q),ro(a,B),r({K:b,St:!A,P:s?B:hr({},Q,B)})}return{xt:M}}},{max:b1}=Math,si=b1.bind(0,0),ej="visible",KS="hidden",jV=42,ep={u:$P,o:{w:0,h:0}},IV={u:zP,o:{x:KS,y:KS}},EV=(e,t)=>{const n=window.devicePixelRatio%1!==0?1:0,r={w:si(e.w-t.w),h:si(e.h-t.h)};return{w:r.w>n?r.w:0,h:r.h>n?r.h:0}},tp=e=>e.indexOf(ej)===0,OV=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:a,nt:c,ut:d,_t:p,it:h,et:m}=e,{k:v,V:b,I:w,A:y}=Oo(),S=ul()[by],_=!d&&!w&&(y.x||y.y),k=h&&d,[j,I]=xs(ep,ih.bind(0,a)),[E,O]=xs(ep,ah.bind(0,a)),[R,M]=xs(ep),[A,T]=xs(ep),[$]=xs(IV),Q=(L,W)=>{if(ro(a,{height:""}),W){const{St:Y,K:ae}=n(),{$t:be,D:ie}=L,X=ih(o),K=Mp(o),U=ro(a,"boxSizing")==="content-box",se=Y||U?ae.b+ae.t:0,re=!(y.x&&U);ro(a,{height:K.h+X.h+(be.x&&re?ie.x:0)-se})}},B=(L,W)=>{const Y=!w&&!L?jV:0,ae=(pe,le,ge)=>{const ke=ro(a,pe),de=(W?W[pe]:ke)==="scroll";return[ke,de,de&&!w?le?Y:ge:0,le&&!!Y]},[be,ie,X,K]=ae("overflowX",y.x,v.x),[U,se,re,oe]=ae("overflowY",y.y,v.y);return{Ct:{x:be,y:U},$t:{x:ie,y:se},D:{x:X,y:re},M:{x:K,y:oe}}},V=(L,W,Y,ae)=>{const be=(se,re)=>{const oe=tp(se),pe=re&&oe&&se.replace(`${ej}-`,"")||"";return[re&&!oe?se:"",tp(pe)?"hidden":pe]},[ie,X]=be(Y.x,W.x),[K,U]=be(Y.y,W.y);return ae.overflowX=X&&K?X:ie,ae.overflowY=U&&ie?U:K,B(L,ae)},q=(L,W,Y,ae)=>{const{D:be,M:ie}=L,{x:X,y:K}=ie,{x:U,y:se}=be,{P:re}=n(),oe=W?"marginLeft":"marginRight",pe=W?"paddingLeft":"paddingRight",le=re[oe],ge=re.marginBottom,ke=re[pe],xe=re.paddingBottom;ae.width=`calc(100% + ${se+-1*le}px)`,ae[oe]=-se+le,ae.marginBottom=-U+ge,Y&&(ae[pe]=ke+(K?se:0),ae.paddingBottom=xe+(X?U:0))},[G,D]=S?S.H(_,b,a,c,n,B,q):[()=>_,()=>[es]];return(L,W,Y)=>{const{gt:ae,Ot:be,wt:ie,xt:X,vt:K,yt:U}=L,{ht:se,bt:re}=n(),[oe,pe]=W("showNativeOverlaidScrollbars"),[le,ge]=W("overflow"),ke=oe&&y.x&&y.y,xe=!d&&!b&&(ae||ie||be||pe||K),de=tp(le.x),Te=tp(le.y),Oe=de||Te;let $e=I(Y),kt=O(Y),ct=M(Y),on=T(Y),vt;if(pe&&w&&p(KP,JW,!ke),xe&&(vt=B(ke),Q(vt,se)),ae||X||ie||U||pe){Oe&&p(fc,dc,!1);const[Pe,Ze]=D(ke,re,vt),[Qe,dt]=$e=j(Y),[Lt,cr]=kt=E(Y),pn=Mp(a);let ln=Lt,Hr=pn;Pe(),(cr||dt||pe)&&Ze&&!ke&&G(Ze,Lt,Qe,re)&&(Hr=Mp(a),ln=ah(a));const yr={w:si(b1(Lt.w,ln.w)+Qe.w),h:si(b1(Lt.h,ln.h)+Qe.h)},Fn={w:si((k?m.innerWidth:Hr.w+si(pn.w-Lt.w))+Qe.w),h:si((k?m.innerHeight+Qe.h:Hr.h+si(pn.h-Lt.h))+Qe.h)};on=A(Fn),ct=R(EV(yr,Fn),Y)}const[bt,Se]=on,[Me,Pt]=ct,[Tt,we]=kt,[ht,$t]=$e,zt={x:Me.w>0,y:Me.h>0},ze=de&&Te&&(zt.x||zt.y)||de&&zt.x&&!zt.y||Te&&zt.y&&!zt.x;if(X||U||$t||we||Se||Pt||ge||pe||xe){const Pe={marginRight:0,marginBottom:0,marginLeft:0,width:"",overflowY:"",overflowX:""},Ze=V(ke,zt,le,Pe),Qe=G(Ze,Tt,ht,re);d||q(Ze,re,Qe,Pe),xe&&Q(Ze,se),d?(to(o,GP,Pe.overflowX),to(o,qP,Pe.overflowY)):ro(a,Pe)}Zi(o,ws,dc,ze),Zi(s,g1,ZW,ze),d||Zi(a,oi,fc,Oe);const[Ke,Pn]=$(B(ke).Ct);return r({Ct:Ke,zt:{x:bt.w,y:bt.h},Tt:{x:Me.w,y:Me.h},Et:zt}),{It:Pn,At:Se,Lt:Pt}}},XS=(e,t,n)=>{const r={},o=t||{},s=Fo(e).concat(Fo(o));return _n(s,a=>{const c=e[a],d=o[a];r[a]=!!(n||c||d)}),r},RV=(e,t)=>{const{W:n,J:r,_t:o,ut:s}=e,{I:a,A:c,V:d}=Oo(),p=!a&&(c.x||c.y),h=[_V(e,t),PV(e,t),OV(e,t)];return(m,v,b)=>{const w=XS(hr({gt:!1,xt:!1,yt:!1,vt:!1,At:!1,Lt:!1,It:!1,Ot:!1,wt:!1},v),{},b),y=p||!d,S=y&&_s(r),_=y&&ka(r);o("",lh,!0);let k=w;return _n(h,j=>{k=XS(k,j(k,m,!!b)||{},b)}),_s(r,S),ka(r,_),o("",lh),s||(_s(n,0),ka(n,0)),k}},MV=(e,t,n)=>{let r,o=!1;const s=()=>{o=!0},a=c=>{if(n){const d=n.reduce((p,h)=>{if(h){const[m,v]=h,b=v&&m&&(c?c(m):MP(m,e));b&&b.length&&v&&Ei(v)&&An(p,[b,v.trim()],!0)}return p},[]);_n(d,p=>_n(p[0],h=>{const m=p[1],v=r.get(h)||[];if(e.contains(h)){const w=Tr(h,m,y=>{o?(w(),r.delete(h)):t(y)});r.set(h,An(v,w))}else ca(v),r.delete(h)}))}};return n&&(r=new WeakMap,a()),[s,a]},YS=(e,t,n,r)=>{let o=!1;const{Ht:s,Pt:a,Dt:c,Mt:d,Rt:p,kt:h}=r||{},m=py(()=>{o&&n(!0)},{v:33,g:99}),[v,b]=MV(e,m,c),w=s||[],y=a||[],S=w.concat(y),_=(j,I)=>{const E=p||es,O=h||es,R=new Set,M=new Set;let A=!1,T=!1;if(_n(j,$=>{const{attributeName:Q,target:B,type:V,oldValue:q,addedNodes:G,removedNodes:D}=$,L=V==="attributes",W=V==="childList",Y=e===B,ae=L&&Ei(Q)?to(B,Q):0,be=ae!==0&&q!==ae,ie=iy(y,Q)>-1&&be;if(t&&(W||!Y)){const X=!L,K=L&&be,U=K&&d&&oh(B,d),re=(U?!E(B,Q,q,ae):X||K)&&!O($,!!U,e,r);_n(G,oe=>R.add(oe)),_n(D,oe=>R.add(oe)),T=T||re}!t&&Y&&be&&!E(B,Q,q,ae)&&(M.add(Q),A=A||ie)}),R.size>0&&b($=>cl(R).reduce((Q,B)=>(An(Q,MP($,B)),oh(B,$)?An(Q,B):Q),[])),t)return!I&&T&&n(!1),[!1];if(M.size>0||A){const $=[cl(M),A];return!I&&n.apply(0,$),$}},k=new FW(j=>_(j));return k.observe(e,{attributes:!0,attributeOldValue:!0,attributeFilter:S,subtree:t,childList:t,characterData:t}),o=!0,[()=>{o&&(v(),k.disconnect(),o=!1)},()=>{if(o){m.m();const j=k.takeRecords();return!ly(j)&&_(j,!0)}}]},np=3333333,rp=e=>e&&(e.height||e.width),tj=(e,t,n)=>{const{Bt:r=!1,Vt:o=!1}=n||{},s=ul()[hV],{B:a}=Oo(),d=DP(`
`)[0],p=d.firstChild,h=cd.bind(0,e),[m]=xs({o:void 0,_:!0,u:(y,S)=>!(!y||!rp(y)&&rp(S))}),v=y=>{const S=Rs(y)&&y.length>0&&ld(y[0]),_=!S&&ay(y[0]);let k=!1,j=!1,I=!0;if(S){const[E,,O]=m(y.pop().contentRect),R=rp(E),M=rp(O);k=!O||!R,j=!M&&R,I=!k}else _?[,I]=y:j=y===!0;if(r&&I){const E=_?y[0]:cd(d);_s(d,E?a.n?-np:a.i?0:np:np),ka(d,np)}k||t({gt:!_,Yt:_?y:void 0,Vt:!!j})},b=[];let w=o?v:!1;return[()=>{ca(b),oa(d)},()=>{if(Jl){const y=new Jl(v);y.observe(p),An(b,()=>{y.disconnect()})}else if(s){const[y,S]=s.O(p,v,o);w=y,An(b,S)}if(r){const[y]=xs({o:void 0},h);An(b,Tr(d,"scroll",S=>{const _=y(),[k,j,I]=_;j&&(fy(p,"ltr rtl"),k?_a(p,"rtl"):_a(p,"ltr"),v([!!k,j,I])),BP(S)}))}w&&(_a(d,eV),An(b,Tr(d,"animationstart",w,{C:!!Jl}))),(Jl||s)&&ts(e,d)}]},DV=e=>e.h===0||e.isIntersecting||e.intersectionRatio>0,AV=(e,t)=>{let n;const r=el(nV),o=[],[s]=xs({o:!1}),a=(d,p)=>{if(d){const h=s(DV(d)),[,m]=h;if(m)return!p&&t(h),[h]}},c=(d,p)=>{if(d&&d.length>0)return a(d.pop(),p)};return[()=>{ca(o),oa(r)},()=>{if(MS)n=new MS(d=>c(d),{root:e}),n.observe(r),An(o,()=>{n.disconnect()});else{const d=()=>{const m=ud(r);a(m)},[p,h]=tj(r,d);An(o,p),h(),d()}ts(e,r)},()=>{if(n)return c(n.takeRecords(),!0)}]},QS=`[${ws}]`,TV=`[${oi}]`,Z0=["tabindex"],JS=["wrap","cols","rows"],ev=["id","class","style","open"],NV=(e,t,n)=>{let r,o,s;const{Z:a,J:c,tt:d,rt:p,ut:h,ft:m,_t:v}=e,{V:b}=Oo(),[w]=xs({u:$P,o:{w:0,h:0}},()=>{const V=m(fc,dc),q=m(Y0,""),G=q&&_s(c),D=q&&ka(c);v(fc,dc),v(Y0,""),v("",lh,!0);const L=ah(d),W=ah(c),Y=ih(c);return v(fc,dc,V),v(Y0,"",q),v("",lh),_s(c,G),ka(c,D),{w:W.w+L.w+Y.w,h:W.h+L.h+Y.h}}),y=p?JS:ev.concat(JS),S=py(n,{v:()=>r,g:()=>o,p(V,q){const[G]=V,[D]=q;return[Fo(G).concat(Fo(D)).reduce((L,W)=>(L[W]=G[W]||D[W],L),{})]}}),_=V=>{_n(V||Z0,q=>{if(iy(Z0,q)>-1){const G=to(a,q);Ei(G)?to(c,q,G):So(c,q)}})},k=(V,q)=>{const[G,D]=V,L={vt:D};return t({ht:G}),!q&&n(L),L},j=({gt:V,Yt:q,Vt:G})=>{const D=!V||G?n:S;let L=!1;if(q){const[W,Y]=q;L=Y,t({bt:W})}D({gt:V,yt:L})},I=(V,q)=>{const[,G]=w(),D={wt:G};return G&&!q&&(V?n:S)(D),D},E=(V,q,G)=>{const D={Ot:q};return q?!G&&S(D):h||_(V),D},[O,R,M]=d||!b?AV(a,k):[es,es,es],[A,T]=h?[es,es]:tj(a,j,{Vt:!0,Bt:!0}),[$,Q]=YS(a,!1,E,{Pt:ev,Ht:ev.concat(Z0)}),B=h&&Jl&&new Jl(j.bind(0,{gt:!0}));return B&&B.observe(a),_(),[()=>{O(),A(),s&&s[0](),B&&B.disconnect(),$()},()=>{T(),R()},()=>{const V={},q=Q(),G=M(),D=s&&s[1]();return q&&hr(V,E.apply(0,An(q,!0))),G&&hr(V,k.apply(0,An(G,!0))),D&&hr(V,I.apply(0,An(D,!0))),V},V=>{const[q]=V("update.ignoreMutation"),[G,D]=V("update.attributes"),[L,W]=V("update.elementEvents"),[Y,ae]=V("update.debounce"),be=W||D,ie=X=>Os(q)&&q(X);if(be&&(s&&(s[1](),s[0]()),s=YS(d||c,!0,I,{Ht:y.concat(G||[]),Dt:L,Mt:QS,kt:(X,K)=>{const{target:U,attributeName:se}=X;return(!K&&se&&!h?TW(U,QS,TV):!1)||!!Ql(U,`.${Eo}`)||!!ie(X)}})),ae)if(S.m(),Rs(Y)){const X=Y[0],K=Y[1];r=pi(X)&&X,o=pi(K)&&K}else pi(Y)?(r=Y,o=!1):(r=!1,o=!1)}]},ZS={x:0,y:0},$V=e=>({K:{t:0,r:0,b:0,l:0},St:!1,P:{marginRight:0,marginBottom:0,marginLeft:0,paddingTop:0,paddingRight:0,paddingBottom:0,paddingLeft:0},zt:ZS,Tt:ZS,Ct:{x:"hidden",y:"hidden"},Et:{x:!1,y:!1},ht:!1,bt:cd(e.Z)}),zV=(e,t)=>{const n=v1(t,{}),[r,o,s]=my(),[a,c,d]=kV(e),p=ZP($V(a)),[h,m]=p,v=RV(a,p),b=(j,I,E)=>{const R=Fo(j).some(M=>j[M])||!cy(I)||E;return R&&s("u",[j,I,E]),R},[w,y,S,_]=NV(a,m,j=>b(v(n,j),{},!1)),k=h.bind(0);return k.jt=j=>r("u",j),k.Nt=()=>{const{W:j,J:I}=a,E=_s(j),O=ka(j);y(),c(),_s(I,E),ka(I,O)},k.qt=a,[(j,I)=>{const E=v1(t,j,I);return _(E),b(v(E,S(),I),j,!!I)},k,()=>{o(),w(),d()}]},{round:eC}=Math,LV=e=>{const{width:t,height:n}=Zs(e),{w:r,h:o}=ud(e);return{x:eC(t)/r||1,y:eC(n)/o||1}},BV=(e,t,n)=>{const r=t.scrollbars,{button:o,isPrimary:s,pointerType:a}=e,{pointers:c}=r;return o===0&&s&&r[n?"dragScroll":"clickScroll"]&&(c||[]).includes(a)},FV=(e,t)=>Tr(e,"mousedown",Tr.bind(0,t,"click",BP,{C:!0,$:!0}),{$:!0}),tC="pointerup pointerleave pointercancel lostpointercapture",HV=(e,t,n,r,o,s,a)=>{const{B:c}=Oo(),{Ft:d,Gt:p,Xt:h}=r,m=`scroll${a?"Left":"Top"}`,v=`client${a?"X":"Y"}`,b=a?"width":"height",w=a?"left":"top",y=a?"w":"h",S=a?"x":"y",_=(k,j)=>I=>{const{Tt:E}=s(),O=ud(p)[y]-ud(d)[y],M=j*I/O*E[S],T=cd(h)&&a?c.n||c.i?1:-1:1;o[m]=k+M*T};return Tr(p,"pointerdown",k=>{const j=Ql(k.target,`.${vy}`)===d,I=j?d:p;if(Zi(t,ws,LS,!0),BV(k,e,j)){const E=!j&&k.shiftKey,O=()=>Zs(d),R=()=>Zs(p),M=(W,Y)=>(W||O())[w]-(Y||R())[w],A=_(o[m]||0,1/LV(o)[S]),T=k[v],$=O(),Q=R(),B=$[b],V=M($,Q)+B/2,q=T-Q[w],G=j?0:q-V,D=W=>{ca(L),I.releasePointerCapture(W.pointerId)},L=[Zi.bind(0,t,ws,LS),Tr(n,tC,D),Tr(n,"selectstart",W=>FP(W),{S:!1}),Tr(p,tC,D),Tr(p,"pointermove",W=>{const Y=W[v]-T;(j||E)&&A(G+Y)})];if(E)A(G);else if(!j){const W=ul()[mV];W&&An(L,W.O(A,M,G,B,q))}I.setPointerCapture(k.pointerId)}})},WV=(e,t)=>(n,r,o,s,a,c)=>{const{Xt:d}=n,[p,h]=ql(333),m=!!a.scrollBy;let v=!0;return ca.bind(0,[Tr(d,"pointerenter",()=>{r(HS,!0)}),Tr(d,"pointerleave pointercancel",()=>{r(HS)}),Tr(d,"wheel",b=>{const{deltaX:w,deltaY:y,deltaMode:S}=b;m&&v&&S===0&&Ta(d)===s&&a.scrollBy({left:w,top:y,behavior:"smooth"}),v=!1,r(US,!0),p(()=>{v=!0,r(US)}),FP(b)},{S:!1,$:!0}),FV(d,o),HV(e,s,o,n,a,t,c),h])},{min:y1,max:nC,abs:VV,round:UV}=Math,nj=(e,t,n,r)=>{if(r){const c=n?"x":"y",{Tt:d,zt:p}=r,h=p[c],m=d[c];return nC(0,y1(1,h/(h+m)))}const o=n?"width":"height",s=Zs(e)[o],a=Zs(t)[o];return nC(0,y1(1,s/a))},GV=(e,t,n,r,o,s)=>{const{B:a}=Oo(),c=s?"x":"y",d=s?"Left":"Top",{Tt:p}=r,h=UV(p[c]),m=VV(n[`scroll${d}`]),v=s&&o,b=a.i?m:h-m,y=y1(1,(v?b:m)/h),S=nj(e,t,s);return 1/S*(1-S)*y},qV=(e,t,n)=>{const{N:r,L:o}=Oo(),{scrollbars:s}=r(),{slot:a}=s,{ct:c,W:d,Z:p,J:h,lt:m,ot:v,it:b,ut:w}=t,{scrollbars:y}=m?{}:e,{slot:S}=y||{},_=QP([d,p,h],()=>w&&b?d:p,a,S),k=(G,D,L)=>{const W=L?_a:fy;_n(G,Y=>{W(Y.Xt,D)})},j=(G,D)=>{_n(G,L=>{const[W,Y]=D(L);ro(W,Y)})},I=(G,D,L)=>{j(G,W=>{const{Ft:Y,Gt:ae}=W;return[Y,{[L?"width":"height"]:`${(100*nj(Y,ae,L,D)).toFixed(3)}%`}]})},E=(G,D,L)=>{const W=L?"X":"Y";j(G,Y=>{const{Ft:ae,Gt:be,Xt:ie}=Y,X=GV(ae,be,v,D,cd(ie),L);return[ae,{transform:X===X?`translate${W}(${(100*X).toFixed(3)}%)`:""}]})},O=[],R=[],M=[],A=(G,D,L)=>{const W=ay(L),Y=W?L:!0,ae=W?!L:!0;Y&&k(R,G,D),ae&&k(M,G,D)},T=G=>{I(R,G,!0),I(M,G)},$=G=>{E(R,G,!0),E(M,G)},Q=G=>{const D=G?aV:iV,L=G?R:M,W=ly(L)?FS:"",Y=el(`${Eo} ${D} ${W}`),ae=el(XP),be=el(vy),ie={Xt:Y,Gt:ae,Ft:be};return o||_a(Y,rV),ts(Y,ae),ts(ae,be),An(L,ie),An(O,[oa.bind(0,Y),n(ie,A,c,p,v,G)]),ie},B=Q.bind(0,!0),V=Q.bind(0,!1),q=()=>{ts(_,R[0].Xt),ts(_,M[0].Xt),sh(()=>{A(FS)},300)};return B(),V(),[{Ut:T,Wt:$,Zt:A,Jt:{Kt:R,Qt:B,tn:j.bind(0,R)},nn:{Kt:M,Qt:V,tn:j.bind(0,M)}},q,ca.bind(0,O)]},KV=(e,t,n,r)=>{let o,s,a,c,d,p=0;const h=ZP({}),[m]=h,[v,b]=ql(),[w,y]=ql(),[S,_]=ql(100),[k,j]=ql(100),[I,E]=ql(()=>p),[O,R,M]=qV(e,n.qt,WV(t,n)),{Z:A,J:T,ot:$,st:Q,ut:B,it:V}=n.qt,{Jt:q,nn:G,Zt:D,Ut:L,Wt:W}=O,{tn:Y}=q,{tn:ae}=G,be=se=>{const{Xt:re}=se,oe=B&&!V&&Ta(re)===T&&re;return[oe,{transform:oe?`translate(${_s($)}px, ${ka($)}px)`:""}]},ie=(se,re)=>{if(E(),se)D(VS);else{const oe=()=>D(VS,!0);p>0&&!re?I(oe):oe()}},X=()=>{c=s,c&&ie(!0)},K=[_,E,j,y,b,M,Tr(A,"pointerover",X,{C:!0}),Tr(A,"pointerenter",X),Tr(A,"pointerleave",()=>{c=!1,s&&ie(!1)}),Tr(A,"pointermove",()=>{o&&v(()=>{_(),ie(!0),k(()=>{o&&ie(!1)})})}),Tr(Q,"scroll",se=>{w(()=>{W(n()),a&&ie(!0),S(()=>{a&&!c&&ie(!1)})}),r(se),B&&Y(be),B&&ae(be)})],U=m.bind(0);return U.qt=O,U.Nt=R,[(se,re,oe)=>{const{At:pe,Lt:le,It:ge,yt:ke}=oe,{A:xe}=Oo(),de=v1(t,se,re),Te=n(),{Tt:Oe,Ct:$e,bt:kt}=Te,[ct,on]=de("showNativeOverlaidScrollbars"),[vt,bt]=de("scrollbars.theme"),[Se,Me]=de("scrollbars.visibility"),[Pt,Tt]=de("scrollbars.autoHide"),[we]=de("scrollbars.autoHideDelay"),[ht,$t]=de("scrollbars.dragScroll"),[zt,ze]=de("scrollbars.clickScroll"),Ke=pe||le||ke,Pn=ge||Me,Pe=ct&&xe.x&&xe.y,Ze=(Qe,dt)=>{const Lt=Se==="visible"||Se==="auto"&&Qe==="scroll";return D(lV,Lt,dt),Lt};if(p=we,on&&D(oV,Pe),bt&&(D(d),D(vt,!0),d=vt),Tt&&(o=Pt==="move",s=Pt==="leave",a=Pt!=="never",ie(!a,!0)),$t&&D(dV,ht),ze&&D(uV,zt),Pn){const Qe=Ze($e.x,!0),dt=Ze($e.y,!1);D(cV,!(Qe&&dt))}Ke&&(L(Te),W(Te),D(WS,!Oe.x,!0),D(WS,!Oe.y,!1),D(sV,kt&&!V))},U,ca.bind(0,K)]},rj=(e,t,n)=>{Os(e)&&e(t||void 0,n||void 0)},ci=(e,t,n)=>{const{F:r,N:o,Y:s,j:a}=Oo(),c=ul(),d=rh(e),p=d?e:e.target,h=JP(p);if(t&&!h){let m=!1;const v=B=>{const V=ul()[pV],q=V&&V.O;return q?q(B,!0):B},b=hr({},r(),v(t)),[w,y,S]=my(n),[_,k,j]=zV(e,b),[I,E,O]=KV(e,b,k,B=>S("scroll",[Q,B])),R=(B,V)=>_(B,!!V),M=R.bind(0,{},!0),A=s(M),T=a(M),$=B=>{CV(p),A(),T(),O(),j(),m=!0,S("destroyed",[Q,!!B]),y()},Q={options(B,V){if(B){const q=V?r():{},G=HP(b,hr(q,v(B)));cy(G)||(hr(b,G),R(G))}return hr({},b)},on:w,off:(B,V)=>{B&&V&&y(B,V)},state(){const{zt:B,Tt:V,Ct:q,Et:G,K:D,St:L,bt:W}=k();return hr({},{overflowEdge:B,overflowAmount:V,overflowStyle:q,hasOverflow:G,padding:D,paddingAbsolute:L,directionRTL:W,destroyed:m})},elements(){const{W:B,Z:V,K:q,J:G,tt:D,ot:L,st:W}=k.qt,{Jt:Y,nn:ae}=E.qt,be=X=>{const{Ft:K,Gt:U,Xt:se}=X;return{scrollbar:se,track:U,handle:K}},ie=X=>{const{Kt:K,Qt:U}=X,se=be(K[0]);return hr({},se,{clone:()=>{const re=be(U());return I({},!0,{}),re}})};return hr({},{target:B,host:V,padding:q||G,viewport:G,content:D||G,scrollOffsetElement:L,scrollEventElement:W,scrollbarHorizontal:ie(Y),scrollbarVertical:ie(ae)})},update:B=>R({},B),destroy:$.bind(0)};return k.jt((B,V,q)=>{I(V,q,B)}),SV(p,Q),_n(Fo(c),B=>rj(c[B],0,Q)),wV(k.qt.it,o().cancel,!d&&e.cancel)?($(!0),Q):(k.Nt(),E.Nt(),S("initialized",[Q]),k.jt((B,V,q)=>{const{gt:G,yt:D,vt:L,At:W,Lt:Y,It:ae,wt:be,Ot:ie}=B;S("updated",[Q,{updateHints:{sizeChanged:G,directionChanged:D,heightIntrinsicChanged:L,overflowEdgeChanged:W,overflowAmountChanged:Y,overflowStyleChanged:ae,contentMutation:be,hostMutation:ie},changedOptions:V,force:q}])}),Q.update(!0),Q)}return h};ci.plugin=e=>{_n(fV(e),t=>rj(t,ci))};ci.valid=e=>{const t=e&&e.elements,n=Os(t)&&t();return f1(n)&&!!JP(n.target)};ci.env=()=>{const{k:e,A:t,I:n,B:r,V:o,L:s,X:a,U:c,N:d,q:p,F:h,G:m}=Oo();return hr({},{scrollbarsSize:e,scrollbarsOverlaid:t,scrollbarsHiding:n,rtlScrollBehavior:r,flexboxGlue:o,cssCustomProperties:s,staticDefaultInitialization:a,staticDefaultOptions:c,getDefaultInitialization:d,setDefaultInitialization:p,getDefaultOptions:h,setDefaultOptions:m})};const XV=()=>{if(typeof window>"u"){const p=()=>{};return[p,p]}let e,t;const n=window,r=typeof n.requestIdleCallback=="function",o=n.requestAnimationFrame,s=n.cancelAnimationFrame,a=r?n.requestIdleCallback:o,c=r?n.cancelIdleCallback:s,d=()=>{c(e),s(t)};return[(p,h)=>{d(),e=a(r?()=>{d(),t=o(p)}:p,typeof h=="object"?h:{timeout:2233})},d]},wy=e=>{const{options:t,events:n,defer:r}=e||{},[o,s]=f.useMemo(XV,[]),a=f.useRef(null),c=f.useRef(r),d=f.useRef(t),p=f.useRef(n);return f.useEffect(()=>{c.current=r},[r]),f.useEffect(()=>{const{current:h}=a;d.current=t,ci.valid(h)&&h.options(t||{},!0)},[t]),f.useEffect(()=>{const{current:h}=a;p.current=n,ci.valid(h)&&h.on(n||{},!0)},[n]),f.useEffect(()=>()=>{var h;s(),(h=a.current)==null||h.destroy()},[]),f.useMemo(()=>[h=>{const m=a.current;if(ci.valid(m))return;const v=c.current,b=d.current||{},w=p.current||{},y=()=>a.current=ci(h,b,w);v?o(y,v):y()},()=>a.current],[])},YV=(e,t)=>{const{element:n="div",options:r,events:o,defer:s,children:a,...c}=e,d=n,p=f.useRef(null),h=f.useRef(null),[m,v]=wy({options:r,events:o,defer:s});return f.useEffect(()=>{const{current:b}=p,{current:w}=h;return b&&w&&m({target:b,elements:{viewport:w,content:w}}),()=>{var y;return(y=v())==null?void 0:y.destroy()}},[m,n]),f.useImperativeHandle(t,()=>({osInstance:v,getElement:()=>p.current}),[]),H.createElement(d,{"data-overlayscrollbars-initialize":"",ref:p,...c},H.createElement("div",{ref:h},a))},oj=f.forwardRef(YV);var sj={exports:{}},aj={};const $o=Y1($7),gu=Y1(z7),QV=Y1(L7);(function(e){var t,n,r=Dl&&Dl.__generator||function(J,ee){var he,_e,me,ut,st={label:0,sent:function(){if(1&me[0])throw me[1];return me[1]},trys:[],ops:[]};return ut={next:Ht(0),throw:Ht(1),return:Ht(2)},typeof Symbol=="function"&&(ut[Symbol.iterator]=function(){return this}),ut;function Ht(ft){return function(xt){return function(He){if(he)throw new TypeError("Generator is already executing.");for(;st;)try{if(he=1,_e&&(me=2&He[0]?_e.return:He[0]?_e.throw||((me=_e.return)&&me.call(_e),0):_e.next)&&!(me=me.call(_e,He[1])).done)return me;switch(_e=0,me&&(He=[2&He[0],me.value]),He[0]){case 0:case 1:me=He;break;case 4:return st.label++,{value:He[1],done:!1};case 5:st.label++,_e=He[1],He=[0];continue;case 7:He=st.ops.pop(),st.trys.pop();continue;default:if(!((me=(me=st.trys).length>0&&me[me.length-1])||He[0]!==6&&He[0]!==2)){st=0;continue}if(He[0]===3&&(!me||He[1]>me[0]&&He[1]=200&&J.status<=299},Q=function(J){return/ion\/(vnd\.api\+)?json/.test(J.get("content-type")||"")};function B(J){if(!(0,A.isPlainObject)(J))return J;for(var ee=S({},J),he=0,_e=Object.entries(ee);he<_e.length;he++){var me=_e[he];me[1]===void 0&&delete ee[me[0]]}return ee}function V(J){var ee=this;J===void 0&&(J={});var he=J.baseUrl,_e=J.prepareHeaders,me=_e===void 0?function(en){return en}:_e,ut=J.fetchFn,st=ut===void 0?T:ut,Ht=J.paramsSerializer,ft=J.isJsonContentType,xt=ft===void 0?Q:ft,He=J.jsonContentType,Ce=He===void 0?"application/json":He,Je=J.jsonReplacer,jt=J.timeout,Et=J.responseHandler,Nt=J.validateStatus,qt=j(J,["baseUrl","prepareHeaders","fetchFn","paramsSerializer","isJsonContentType","jsonContentType","jsonReplacer","timeout","responseHandler","validateStatus"]);return typeof fetch>"u"&&st===T&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(en,Ut){return E(ee,null,function(){var Be,yt,Mt,Wt,jn,Gt,un,sn,Or,Jn,It,In,Rn,Zn,mr,Tn,Nn,dn,Sn,En,vn,bn,Xe,Ot,St,at,wt,Bt,mt,ot,Re,Ie,De,We,tt,Dt;return r(this,function(Rt){switch(Rt.label){case 0:return Be=Ut.signal,yt=Ut.getState,Mt=Ut.extra,Wt=Ut.endpoint,jn=Ut.forced,Gt=Ut.type,Or=(sn=typeof en=="string"?{url:en}:en).url,It=(Jn=sn.headers)===void 0?new Headers(qt.headers):Jn,Rn=(In=sn.params)===void 0?void 0:In,mr=(Zn=sn.responseHandler)===void 0?Et??"json":Zn,Nn=(Tn=sn.validateStatus)===void 0?Nt??$:Tn,Sn=(dn=sn.timeout)===void 0?jt:dn,En=j(sn,["url","headers","params","responseHandler","validateStatus","timeout"]),vn=S(_(S({},qt),{signal:Be}),En),It=new Headers(B(It)),bn=vn,[4,me(It,{getState:yt,extra:Mt,endpoint:Wt,forced:jn,type:Gt})];case 1:bn.headers=Rt.sent()||It,Xe=function(Ve){return typeof Ve=="object"&&((0,A.isPlainObject)(Ve)||Array.isArray(Ve)||typeof Ve.toJSON=="function")},!vn.headers.has("content-type")&&Xe(vn.body)&&vn.headers.set("content-type",Ce),Xe(vn.body)&&xt(vn.headers)&&(vn.body=JSON.stringify(vn.body,Je)),Rn&&(Ot=~Or.indexOf("?")?"&":"?",St=Ht?Ht(Rn):new URLSearchParams(B(Rn)),Or+=Ot+St),Or=function(Ve,nn){if(!Ve)return nn;if(!nn)return Ve;if(function(hn){return new RegExp("(^|:)//").test(hn)}(nn))return nn;var yn=Ve.endsWith("/")||!nn.startsWith("?")?"/":"";return Ve=function(hn){return hn.replace(/\/$/,"")}(Ve),""+Ve+yn+function(hn){return hn.replace(/^\//,"")}(nn)}(he,Or),at=new Request(Or,vn),wt=at.clone(),un={request:wt},mt=!1,ot=Sn&&setTimeout(function(){mt=!0,Ut.abort()},Sn),Rt.label=2;case 2:return Rt.trys.push([2,4,5,6]),[4,st(at)];case 3:return Bt=Rt.sent(),[3,6];case 4:return Re=Rt.sent(),[2,{error:{status:mt?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(Re)},meta:un}];case 5:return ot&&clearTimeout(ot),[7];case 6:Ie=Bt.clone(),un.response=Ie,We="",Rt.label=7;case 7:return Rt.trys.push([7,9,,10]),[4,Promise.all([tn(Bt,mr).then(function(Ve){return De=Ve},function(Ve){return tt=Ve}),Ie.text().then(function(Ve){return We=Ve},function(){})])];case 8:if(Rt.sent(),tt)throw tt;return[3,10];case 9:return Dt=Rt.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:Bt.status,data:We,error:String(Dt)},meta:un}];case 10:return[2,Nn(Bt,De)?{data:De,meta:un}:{error:{status:Bt.status,data:De},meta:un}]}})})};function tn(en,Ut){return E(this,null,function(){var Be;return r(this,function(yt){switch(yt.label){case 0:return typeof Ut=="function"?[2,Ut(en)]:(Ut==="content-type"&&(Ut=xt(en.headers)?"json":"text"),Ut!=="json"?[3,2]:[4,en.text()]);case 1:return[2,(Be=yt.sent()).length?JSON.parse(Be):null];case 2:return[2,en.text()]}})})}}var q=function(J,ee){ee===void 0&&(ee=void 0),this.value=J,this.meta=ee};function G(J,ee){return J===void 0&&(J=0),ee===void 0&&(ee=5),E(this,null,function(){var he,_e;return r(this,function(me){switch(me.label){case 0:return he=Math.min(J,ee),_e=~~((Math.random()+.4)*(300<=Ie)}var En=(0,$e.createAsyncThunk)(Rn+"/executeQuery",dn,{getPendingMeta:function(){var Xe;return(Xe={startedTimeStamp:Date.now()})[$e.SHOULD_AUTOBATCH]=!0,Xe},condition:function(Xe,Ot){var St,at,wt,Bt=(0,Ot.getState)(),mt=(at=(St=Bt[Rn])==null?void 0:St.queries)==null?void 0:at[Xe.queryCacheKey],ot=mt==null?void 0:mt.fulfilledTimeStamp,Re=Xe.originalArgs,Ie=mt==null?void 0:mt.originalArgs,De=mr[Xe.endpointName];return!(!de(Xe)&&((mt==null?void 0:mt.status)==="pending"||!Sn(Xe,Bt)&&(!oe(De)||!((wt=De==null?void 0:De.forceRefetch)!=null&&wt.call(De,{currentArg:Re,previousArg:Ie,endpointState:mt,state:Bt})))&&ot))},dispatchConditionRejection:!0}),vn=(0,$e.createAsyncThunk)(Rn+"/executeMutation",dn,{getPendingMeta:function(){var Xe;return(Xe={startedTimeStamp:Date.now()})[$e.SHOULD_AUTOBATCH]=!0,Xe}});function bn(Xe){return function(Ot){var St,at;return((at=(St=Ot==null?void 0:Ot.meta)==null?void 0:St.arg)==null?void 0:at.endpointName)===Xe}}return{queryThunk:En,mutationThunk:vn,prefetch:function(Xe,Ot,St){return function(at,wt){var Bt=function(De){return"force"in De}(St)&&St.force,mt=function(De){return"ifOlderThan"in De}(St)&&St.ifOlderThan,ot=function(De){return De===void 0&&(De=!0),Nn.endpoints[Xe].initiate(Ot,{forceRefetch:De})},Re=Nn.endpoints[Xe].select(Ot)(wt());if(Bt)at(ot());else if(mt){var Ie=Re==null?void 0:Re.fulfilledTimeStamp;if(!Ie)return void at(ot());(Number(new Date)-Number(new Date(Ie)))/1e3>=mt&&at(ot())}else at(ot(!1))}},updateQueryData:function(Xe,Ot,St){return function(at,wt){var Bt,mt,ot=Nn.endpoints[Xe].select(Ot)(wt()),Re={patches:[],inversePatches:[],undo:function(){return at(Nn.util.patchQueryData(Xe,Ot,Re.inversePatches))}};if(ot.status===t.uninitialized)return Re;if("data"in ot)if((0,Oe.isDraftable)(ot.data)){var Ie=(0,Oe.produceWithPatches)(ot.data,St),De=Ie[2];(Bt=Re.patches).push.apply(Bt,Ie[1]),(mt=Re.inversePatches).push.apply(mt,De)}else{var We=St(ot.data);Re.patches.push({op:"replace",path:[],value:We}),Re.inversePatches.push({op:"replace",path:[],value:ot.data})}return at(Nn.util.patchQueryData(Xe,Ot,Re.patches)),Re}},upsertQueryData:function(Xe,Ot,St){return function(at){var wt;return at(Nn.endpoints[Xe].initiate(Ot,((wt={subscribe:!1,forceRefetch:!0})[xe]=function(){return{data:St}},wt)))}},patchQueryData:function(Xe,Ot,St){return function(at){at(Nn.internalActions.queryResultPatched({queryCacheKey:Tn({queryArgs:Ot,endpointDefinition:mr[Xe],endpointName:Xe}),patches:St}))}},buildMatchThunkActions:function(Xe,Ot){return{matchPending:(0,Te.isAllOf)((0,Te.isPending)(Xe),bn(Ot)),matchFulfilled:(0,Te.isAllOf)((0,Te.isFulfilled)(Xe),bn(Ot)),matchRejected:(0,Te.isAllOf)((0,Te.isRejected)(Xe),bn(Ot))}}}}({baseQuery:_e,reducerPath:me,context:he,api:J,serializeQueryArgs:ut}),Je=Ce.queryThunk,jt=Ce.mutationThunk,Et=Ce.patchQueryData,Nt=Ce.updateQueryData,qt=Ce.upsertQueryData,tn=Ce.prefetch,en=Ce.buildMatchThunkActions,Ut=function(It){var In=It.reducerPath,Rn=It.queryThunk,Zn=It.mutationThunk,mr=It.context,Tn=mr.endpointDefinitions,Nn=mr.apiUid,dn=mr.extractRehydrationInfo,Sn=mr.hasRehydrationInfo,En=It.assertTagType,vn=It.config,bn=(0,ge.createAction)(In+"/resetApiState"),Xe=(0,ge.createSlice)({name:In+"/queries",initialState:Pt,reducers:{removeQueryResult:{reducer:function(ot,Re){delete ot[Re.payload.queryCacheKey]},prepare:(0,ge.prepareAutoBatched)()},queryResultPatched:function(ot,Re){var Ie=Re.payload,De=Ie.patches;bt(ot,Ie.queryCacheKey,function(We){We.data=(0,vt.applyPatches)(We.data,De.concat())})}},extraReducers:function(ot){ot.addCase(Rn.pending,function(Re,Ie){var De,We=Ie.meta,tt=Ie.meta.arg,Dt=de(tt);(tt.subscribe||Dt)&&(Re[De=tt.queryCacheKey]!=null||(Re[De]={status:t.uninitialized,endpointName:tt.endpointName})),bt(Re,tt.queryCacheKey,function(Rt){Rt.status=t.pending,Rt.requestId=Dt&&Rt.requestId?Rt.requestId:We.requestId,tt.originalArgs!==void 0&&(Rt.originalArgs=tt.originalArgs),Rt.startedTimeStamp=We.startedTimeStamp})}).addCase(Rn.fulfilled,function(Re,Ie){var De=Ie.meta,We=Ie.payload;bt(Re,De.arg.queryCacheKey,function(tt){var Dt;if(tt.requestId===De.requestId||de(De.arg)){var Rt=Tn[De.arg.endpointName].merge;if(tt.status=t.fulfilled,Rt)if(tt.data!==void 0){var Ve=De.fulfilledTimeStamp,nn=De.arg,yn=De.baseQueryMeta,hn=De.requestId,gr=(0,ge.createNextState)(tt.data,function(Xn){return Rt(Xn,We,{arg:nn.originalArgs,baseQueryMeta:yn,fulfilledTimeStamp:Ve,requestId:hn})});tt.data=gr}else tt.data=We;else tt.data=(Dt=Tn[De.arg.endpointName].structuralSharing)==null||Dt?M((0,on.isDraft)(tt.data)?(0,vt.original)(tt.data):tt.data,We):We;delete tt.error,tt.fulfilledTimeStamp=De.fulfilledTimeStamp}})}).addCase(Rn.rejected,function(Re,Ie){var De=Ie.meta,We=De.condition,tt=De.requestId,Dt=Ie.error,Rt=Ie.payload;bt(Re,De.arg.queryCacheKey,function(Ve){if(!We){if(Ve.requestId!==tt)return;Ve.status=t.rejected,Ve.error=Rt??Dt}})}).addMatcher(Sn,function(Re,Ie){for(var De=dn(Ie).queries,We=0,tt=Object.entries(De);We"u"||navigator.onLine===void 0||navigator.onLine,focused:typeof document>"u"||document.visibilityState!=="hidden",middlewareRegistered:!1},vn),reducers:{middlewareRegistered:function(ot,Re){ot.middlewareRegistered=ot.middlewareRegistered!=="conflict"&&Nn===Re.payload||"conflict"}},extraReducers:function(ot){ot.addCase(be,function(Re){Re.online=!0}).addCase(ie,function(Re){Re.online=!1}).addCase(Y,function(Re){Re.focused=!0}).addCase(ae,function(Re){Re.focused=!1}).addMatcher(Sn,function(Re){return S({},Re)})}}),mt=(0,ge.combineReducers)({queries:Xe.reducer,mutations:Ot.reducer,provided:St.reducer,subscriptions:wt.reducer,config:Bt.reducer});return{reducer:function(ot,Re){return mt(bn.match(Re)?void 0:ot,Re)},actions:_(S(S(S(S(S({},Bt.actions),Xe.actions),at.actions),wt.actions),Ot.actions),{unsubscribeMutationResult:Ot.actions.removeMutationResult,resetApiState:bn})}}({context:he,queryThunk:Je,mutationThunk:jt,reducerPath:me,assertTagType:He,config:{refetchOnFocus:ft,refetchOnReconnect:xt,refetchOnMountOrArgChange:Ht,keepUnusedDataFor:st,reducerPath:me}}),Be=Ut.reducer,yt=Ut.actions;$r(J.util,{patchQueryData:Et,updateQueryData:Nt,upsertQueryData:qt,prefetch:tn,resetApiState:yt.resetApiState}),$r(J.internalActions,yt);var Mt=function(It){var In=It.reducerPath,Rn=It.queryThunk,Zn=It.api,mr=It.context,Tn=mr.apiUid,Nn={invalidateTags:(0,cr.createAction)(In+"/invalidateTags")},dn=[Wr,pn,Hr,yr,Wn,Mo];return{middleware:function(En){var vn=!1,bn=_(S({},It),{internalState:{currentSubscriptions:{}},refetchQuery:Sn}),Xe=dn.map(function(at){return at(bn)}),Ot=function(at){var wt=at.api,Bt=at.queryThunk,mt=at.internalState,ot=wt.reducerPath+"/subscriptions",Re=null,Ie=!1,De=wt.internalActions,We=De.updateSubscriptionOptions,tt=De.unsubscribeQueryResult;return function(Dt,Rt){var Ve,nn;if(Re||(Re=JSON.parse(JSON.stringify(mt.currentSubscriptions))),wt.util.resetApiState.match(Dt))return Re=mt.currentSubscriptions={},[!0,!1];if(wt.internalActions.internal_probeSubscription.match(Dt)){var yn=Dt.payload;return[!1,!!((Ve=mt.currentSubscriptions[yn.queryCacheKey])!=null&&Ve[yn.requestId])]}var hn=function(gn,Vn){var io,fn,$n,Ur,Rr,Va,Yd,Do,fa;if(We.match(Vn)){var Ls=Vn.payload,pa=Ls.queryCacheKey,lo=Ls.requestId;return(io=gn==null?void 0:gn[pa])!=null&&io[lo]&&(gn[pa][lo]=Ls.options),!0}if(tt.match(Vn)){var co=Vn.payload;return lo=co.requestId,gn[pa=co.queryCacheKey]&&delete gn[pa][lo],!0}if(wt.internalActions.removeQueryResult.match(Vn))return delete gn[Vn.payload.queryCacheKey],!0;if(Bt.pending.match(Vn)){var uo=Vn.meta;if(lo=uo.requestId,(Yr=uo.arg).subscribe)return(Ho=($n=gn[fn=Yr.queryCacheKey])!=null?$n:gn[fn]={})[lo]=(Rr=(Ur=Yr.subscriptionOptions)!=null?Ur:Ho[lo])!=null?Rr:{},!0}if(Bt.rejected.match(Vn)){var Ho,Ao=Vn.meta,Yr=Ao.arg;if(lo=Ao.requestId,Ao.condition&&Yr.subscribe)return(Ho=(Yd=gn[Va=Yr.queryCacheKey])!=null?Yd:gn[Va]={})[lo]=(fa=(Do=Yr.subscriptionOptions)!=null?Do:Ho[lo])!=null?fa:{},!0}return!1}(mt.currentSubscriptions,Dt);if(hn){Ie||(fs(function(){var gn=JSON.parse(JSON.stringify(mt.currentSubscriptions)),Vn=(0,Vr.produceWithPatches)(Re,function(){return gn});Rt.next(wt.internalActions.subscriptionsUpdated(Vn[1])),Re=gn,Ie=!1}),Ie=!0);var gr=!!((nn=Dt.type)!=null&&nn.startsWith(ot)),Xn=Bt.rejected.match(Dt)&&Dt.meta.condition&&!!Dt.meta.arg.subscribe;return[!gr&&!Xn,!1]}return[!0,!1]}}(bn),St=function(at){var wt=at.reducerPath,Bt=at.context,mt=at.refetchQuery,ot=at.internalState,Re=at.api.internalActions.removeQueryResult;function Ie(De,We){var tt=De.getState()[wt],Dt=tt.queries,Rt=ot.currentSubscriptions;Bt.batch(function(){for(var Ve=0,nn=Object.keys(Rt);Ve{const{imageUsage:t,topMessage:n="This image is currently in use in the following features:",bottomMessage:r="If you delete this image, those features will immediately be reset."}=e;return!t||!Pu(t)?null:i.jsxs(i.Fragment,{children:[i.jsx(qe,{children:n}),i.jsxs(Mb,{sx:{paddingInlineStart:6},children:[t.isInitialImage&&i.jsx(wa,{children:"Image to Image"}),t.isCanvasImage&&i.jsx(wa,{children:"Unified Canvas"}),t.isControlNetImage&&i.jsx(wa,{children:"ControlNet"}),t.isNodesImage&&i.jsx(wa,{children:"Node Editor"})]}),i.jsx(qe,{children:r})]})},ij=f.memo(JV),ZV=e=>{const{boardToDelete:t,setBoardToDelete:n}=e,{t:r}=ye(),o=z(k=>k.config.canRestoreDeletedImagesFromBin),{currentData:s,isFetching:a}=B7((t==null?void 0:t.board_id)??oo.skipToken),c=f.useMemo(()=>fe([Ye],k=>{const j=(s??[]).map(E=>F7(k,E));return{imageUsageSummary:{isInitialImage:Pu(j,E=>E.isInitialImage),isCanvasImage:Pu(j,E=>E.isCanvasImage),isNodesImage:Pu(j,E=>E.isNodesImage),isControlNetImage:Pu(j,E=>E.isControlNetImage)}}}),[s]),[d,{isLoading:p}]=H7(),[h,{isLoading:m}]=W7(),{imageUsageSummary:v}=z(c),b=f.useCallback(()=>{t&&(d(t.board_id),n(void 0))},[t,d,n]),w=f.useCallback(()=>{t&&(h(t.board_id),n(void 0))},[t,h,n]),y=f.useCallback(()=>{n(void 0)},[n]),S=f.useRef(null),_=f.useMemo(()=>m||p||a,[m,p,a]);return t?i.jsx(Md,{isOpen:!!t,onClose:y,leastDestructiveRef:S,isCentered:!0,children:i.jsx(Da,{children:i.jsxs(Dd,{children:[i.jsxs(Ma,{fontSize:"lg",fontWeight:"bold",children:["Delete ",t.board_name]}),i.jsx(Aa,{children:i.jsxs(F,{direction:"column",gap:3,children:[a?i.jsx(km,{children:i.jsx(F,{sx:{w:"full",h:32}})}):i.jsx(ij,{imageUsage:v,topMessage:"This board contains images used in the following features:",bottomMessage:"Deleting this board and its images will reset any features currently using them."}),i.jsx(qe,{children:"Deleted boards cannot be restored."}),i.jsx(qe,{children:r(o?"gallery.deleteImageBin":"gallery.deleteImagePermanent")})]})}),i.jsx(Ra,{children:i.jsxs(F,{sx:{justifyContent:"space-between",width:"full",gap:2},children:[i.jsx(Jt,{ref:S,onClick:y,children:"Cancel"}),i.jsx(Jt,{colorScheme:"warning",isLoading:_,onClick:b,children:"Delete Board Only"}),i.jsx(Jt,{colorScheme:"error",isLoading:_,onClick:w,children:"Delete Board and Images"})]})})]})})}):null},eU=f.memo(ZV),lj=Ae((e,t)=>{const{role:n,tooltip:r="",tooltipProps:o,isChecked:s,...a}=e;return i.jsx(wn,{label:r,hasArrow:!0,...o,...o!=null&&o.placement?{placement:o.placement}:{placement:"top"},children:i.jsx(Ca,{ref:t,role:n,colorScheme:s?"accent":"base",...a})})});lj.displayName="IAIIconButton";const Le=f.memo(lj),tU="My Board",nU=()=>{const[e,{isLoading:t}]=V7(),n=f.useCallback(()=>{e(tU)},[e]);return i.jsx(Le,{icon:i.jsx(gl,{}),isLoading:t,tooltip:"Add Board","aria-label":"Add Board",onClick:n,size:"sm"})};var rC={path:i.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[i.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),i.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),i.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},cj=Ae((e,t)=>{const{as:n,viewBox:r,color:o="currentColor",focusable:s=!1,children:a,className:c,__css:d,...p}=e,h=Ct("chakra-icon",c),m=ia("Icon",e),v={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:o,...d,...m},b={ref:t,focusable:s,className:h,__css:v},w=r??rC.viewBox;if(n&&typeof n!="string")return i.jsx(je.svg,{as:n,...b,...p});const y=a??rC.path;return i.jsx(je.svg,{verticalAlign:"middle",viewBox:w,...b,...p,children:y})});cj.displayName="Icon";function Fd(e){const{viewBox:t="0 0 24 24",d:n,displayName:r,defaultProps:o={}}=e,s=f.Children.toArray(e.path),a=Ae((c,d)=>i.jsx(cj,{ref:d,viewBox:t,...o,...c,children:s.length?s:i.jsx("path",{fill:"currentColor",d:n})}));return a.displayName=r,a}var uj=Fd({displayName:"ExternalLinkIcon",path:i.jsxs("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2",children:[i.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),i.jsx("path",{d:"M15 3h6v6"}),i.jsx("path",{d:"M10 14L21 3"})]})}),Sy=Fd({d:"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z",displayName:"ChevronUpIcon"}),rU=Fd({displayName:"CloseIcon",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"}),oU=Fd({displayName:"DeleteIcon",path:i.jsx("g",{fill:"currentColor",children:i.jsx("path",{d:"M19.452 7.5H4.547a.5.5 0 00-.5.545l1.287 14.136A2 2 0 007.326 24h9.347a2 2 0 001.992-1.819L19.95 8.045a.5.5 0 00-.129-.382.5.5 0 00-.369-.163zm-9.2 13a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zm5 0a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zM22 4h-4.75a.25.25 0 01-.25-.25V2.5A2.5 2.5 0 0014.5 0h-5A2.5 2.5 0 007 2.5v1.25a.25.25 0 01-.25.25H2a1 1 0 000 2h20a1 1 0 000-2zM9 3.75V2.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v1.25a.25.25 0 01-.25.25h-5.5A.25.25 0 019 3.75z"})})}),sU=Fd({displayName:"ChevronDownIcon",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"});const aU=fe([Ye],({boards:e})=>{const{searchText:t}=e;return{searchText:t}},Ge),iU=()=>{const e=te(),{searchText:t}=z(aU),n=f.useRef(null),r=f.useCallback(c=>{e(q2(c))},[e]),o=f.useCallback(()=>{e(q2(""))},[e]),s=f.useCallback(c=>{c.key==="Escape"&&o()},[o]),a=f.useCallback(c=>{r(c.target.value)},[r]);return f.useEffect(()=>{n.current&&n.current.focus()},[]),i.jsxs(G3,{children:[i.jsx(Pd,{ref:n,placeholder:"Search Boards...",value:t,onKeyDown:s,onChange:a}),t&&t.length&&i.jsx(Eb,{children:i.jsx(Ca,{onClick:o,size:"xs",variant:"ghost","aria-label":"Clear Search",opacity:.5,icon:i.jsx(rU,{boxSize:2})})})]})},lU=f.memo(iU),cU=e=>{const{isOver:t,label:n="Drop"}=e,r=f.useRef(ui()),{colorMode:o}=Ds();return i.jsx(Ir.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsxs(F,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full"},children:[i.jsx(F,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:Fe("base.700","base.900")(o),opacity:.7,borderRadius:"base",alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),i.jsx(F,{sx:{position:"absolute",top:.5,insetInlineStart:.5,insetInlineEnd:.5,bottom:.5,opacity:1,borderWidth:2,borderColor:t?Fe("base.50","base.50")(o):Fe("base.200","base.300")(o),borderRadius:"lg",borderStyle:"dashed",transitionProperty:"common",transitionDuration:"0.1s",alignItems:"center",justifyContent:"center"},children:i.jsx(qe,{sx:{fontSize:"2xl",fontWeight:600,transform:t?"scale(1.1)":"scale(1)",color:t?Fe("base.50","base.50")(o):Fe("base.200","base.300")(o),transitionProperty:"common",transitionDuration:"0.1s"},children:n})})]})},r.current)},ch=f.memo(cU),uU=e=>{const{dropLabel:t,data:n,disabled:r}=e,o=f.useRef(ui()),{isOver:s,setNodeRef:a,active:c}=Q1({id:o.current,disabled:r,data:n});return i.jsx(Ee,{ref:a,position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",pointerEvents:"none",children:i.jsx(mo,{children:Tp(n,c)&&i.jsx(ch,{isOver:s,label:t})})})},Cy=f.memo(uU),ky=({isSelected:e,isHovered:t})=>i.jsx(Ee,{className:"selection-box",sx:{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,borderRadius:"base",opacity:e?1:.7,transitionProperty:"common",transitionDuration:"0.1s",shadow:e?t?"hoverSelected.light":"selected.light":t?"hoverUnselected.light":void 0,_dark:{shadow:e?t?"hoverSelected.dark":"selected.dark":t?"hoverUnselected.dark":void 0}}}),dj=()=>i.jsx(F,{sx:{position:"absolute",insetInlineEnd:0,top:0,p:1},children:i.jsx(ml,{variant:"solid",sx:{bg:"accent.400",_dark:{bg:"accent.500"}},children:"auto"})});var Vu=globalThis&&globalThis.__assign||function(){return Vu=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{const{boardName:t}=am(void 0,{selectFromResult:({data:n})=>{const r=n==null?void 0:n.find(s=>s.board_id===e);return{boardName:(r==null?void 0:r.board_name)||"Uncategorized"}}});return t},dU=({board:e,setBoardToDelete:t})=>{const n=f.useCallback(()=>{t&&t(e)},[e,t]);return i.jsxs(i.Fragment,{children:[e.image_count>0&&i.jsx(i.Fragment,{}),i.jsx(Pr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(us,{}),onClick:n,children:"Delete Board"})]})},fU=f.memo(dU),pU=()=>i.jsx(i.Fragment,{}),hU=f.memo(pU),_y=f.memo(({board:e,board_id:t,setBoardToDelete:n,children:r})=>{const o=te(),s=f.useMemo(()=>fe(Ye,({gallery:h})=>({isAutoAdd:h.autoAddBoardId===t})),[t]),{isAutoAdd:a}=z(s),c=Lm(t),d=f.useCallback(()=>{o(N_(t))},[t,o]),p=f.useCallback(h=>{h.preventDefault()},[]);return i.jsx(fj,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>i.jsx(Fc,{sx:{visibility:"visible !important"},motionProps:um,onContextMenu:p,children:i.jsxs(od,{title:c,children:[i.jsx(Pr,{icon:i.jsx(gl,{}),isDisabled:a,onClick:d,children:"Auto-add to this Board"}),!e&&i.jsx(hU,{}),e&&i.jsx(fU,{board:e,setBoardToDelete:n})]})}),children:r})});_y.displayName="HoverableBoard";const pj=f.memo(({board:e,isSelected:t,setBoardToDelete:n})=>{const r=te(),o=f.useMemo(()=>fe(Ye,({gallery:E})=>({isSelectedForAutoAdd:e.board_id===E.autoAddBoardId}),Ge),[e.board_id]),{isSelectedForAutoAdd:s}=z(o),[a,c]=f.useState(!1),d=f.useCallback(()=>{c(!0)},[]),p=f.useCallback(()=>{c(!1)},[]),{currentData:h}=os(e.cover_image_name??oo.skipToken),{board_name:m,board_id:v}=e,[b,w]=f.useState(m),y=f.useCallback(()=>{r($_(v))},[v,r]),[S,{isLoading:_}]=U7(),k=f.useMemo(()=>({id:v,actionType:"MOVE_BOARD",context:{boardId:v}}),[v]),j=f.useCallback(async E=>{if(!E.trim()){w(m);return}if(E!==m)try{const{board_name:O}=await S({board_id:v,changes:{board_name:E}}).unwrap();w(O)}catch{w(m)}},[v,m,S]),I=f.useCallback(E=>{w(E)},[]);return i.jsx(Ee,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:i.jsx(F,{onMouseOver:d,onMouseOut:p,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",w:"full",h:"full"},children:i.jsx(_y,{board:e,board_id:v,setBoardToDelete:n,children:E=>i.jsxs(F,{ref:E,onClick:y,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[h!=null&&h.thumbnail_url?i.jsx(Nc,{src:h==null?void 0:h.thumbnail_url,draggable:!1,sx:{objectFit:"cover",w:"full",h:"full",maxH:"full",borderRadius:"base",borderBottomRadius:"lg"}}):i.jsx(F,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:i.jsx(no,{boxSize:12,as:OW,sx:{mt:-6,opacity:.7,color:"base.500",_dark:{color:"base.500"}}})}),s&&i.jsx(dj,{}),i.jsx(ky,{isSelected:t,isHovered:a}),i.jsx(F,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:t?"accent.400":"base.500",color:t?"base.50":"base.100",_dark:{bg:t?"accent.500":"base.600",color:t?"base.50":"base.100"},lineHeight:"short",fontSize:"xs"},children:i.jsxs(s3,{value:b,isDisabled:_,submitOnBlur:!0,onChange:I,onSubmit:j,sx:{w:"full"},children:[i.jsx(n3,{sx:{p:0,fontWeight:t?700:500,textAlign:"center",overflow:"hidden",textOverflow:"ellipsis"},noOfLines:1}),i.jsx(t3,{sx:{p:0,_focusVisible:{p:0,textAlign:"center",boxShadow:"none"}}})]})}),i.jsx(Cy,{data:k,dropLabel:i.jsx(qe,{fontSize:"md",children:"Move"})})]})})})})});pj.displayName="HoverableBoard";const mU=fe(Ye,({gallery:e})=>{const{autoAddBoardId:t}=e;return{autoAddBoardId:t}},Ge),hj=f.memo(({isSelected:e})=>{const t=te(),{autoAddBoardId:n}=z(mU),r=Lm(void 0),o=f.useCallback(()=>{t($_(void 0))},[t]),[s,a]=f.useState(!1),c=f.useCallback(()=>{a(!0)},[]),d=f.useCallback(()=>{a(!1)},[]),p=f.useMemo(()=>({id:"no_board",actionType:"MOVE_BOARD",context:{boardId:void 0}}),[]);return i.jsx(Ee,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:i.jsx(F,{onMouseOver:c,onMouseOut:d,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",borderRadius:"base",w:"full",h:"full"},children:i.jsx(_y,{children:h=>i.jsxs(F,{ref:h,onClick:o,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(F,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:i.jsx(Nc,{src:z_,alt:"invoke-ai-logo",sx:{opacity:.4,filter:"grayscale(1)",mt:-6,w:16,h:16,minW:16,minH:16,userSelect:"none"}})}),!n&&i.jsx(dj,{}),i.jsx(F,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:e?"accent.400":"base.500",color:e?"base.50":"base.100",_dark:{bg:e?"accent.500":"base.600",color:e?"base.50":"base.100"},lineHeight:"short",fontSize:"xs",fontWeight:e?700:500},children:r}),i.jsx(ky,{isSelected:e,isHovered:s}),i.jsx(Cy,{data:p,dropLabel:i.jsx(qe,{fontSize:"md",children:"Move"})})]})})})})});hj.displayName="HoverableBoard";const gU=fe([Ye],({boards:e,gallery:t})=>{const{searchText:n}=e,{selectedBoardId:r}=t;return{selectedBoardId:r,searchText:n}},Ge),vU=e=>{const{isOpen:t}=e,{selectedBoardId:n,searchText:r}=z(gU),{data:o}=am(),s=r?o==null?void 0:o.filter(d=>d.board_name.toLowerCase().includes(r.toLowerCase())):o,[a,c]=f.useState();return i.jsxs(i.Fragment,{children:[i.jsx(pm,{in:t,animateOpacity:!0,children:i.jsxs(F,{layerStyle:"first",sx:{flexDir:"column",gap:2,p:2,mt:2,borderRadius:"base"},children:[i.jsxs(F,{sx:{gap:2,alignItems:"center"},children:[i.jsx(lU,{}),i.jsx(nU,{})]}),i.jsx(oj,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:i.jsxs(sl,{className:"list-container",sx:{gridTemplateColumns:"repeat(auto-fill, minmax(108px, 1fr));",maxH:346},children:[i.jsx(Yv,{sx:{p:1.5},children:i.jsx(hj,{isSelected:n===void 0})}),s&&s.map(d=>i.jsx(Yv,{sx:{p:1.5},children:i.jsx(pj,{board:d,isSelected:n===d.board_id,setBoardToDelete:c})},d.board_id))]})})]})}),i.jsx(eU,{boardToDelete:a,setBoardToDelete:c})]})},bU=f.memo(vU),yU=fe([Ye],e=>{const{selectedBoardId:t}=e.gallery;return{selectedBoardId:t}},Ge),xU=e=>{const{isOpen:t,onToggle:n}=e,{selectedBoardId:r}=z(yU),o=Lm(r),s=f.useMemo(()=>o.length>20?`${o.substring(0,20)}...`:o,[o]);return i.jsxs(F,{as:bc,onClick:n,size:"sm",sx:{position:"relative",gap:2,w:"full",justifyContent:"space-between",alignItems:"center",px:2},children:[i.jsx(qe,{noOfLines:1,sx:{fontWeight:600,w:"100%",textAlign:"center",color:"base.800",_dark:{color:"base.200"}},children:s}),i.jsx(Sy,{sx:{transform:t?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]})},wU=f.memo(xU);function mj(e){return et({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146z"}}]})(e)}function gj(e){return et({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146zm.122 2.112v-.002.002zm0-.002v.002a.5.5 0 0 1-.122.51L6.293 6.878a.5.5 0 0 1-.511.12H5.78l-.014-.004a4.507 4.507 0 0 0-.288-.076 4.922 4.922 0 0 0-.765-.116c-.422-.028-.836.008-1.175.15l5.51 5.509c.141-.34.177-.753.149-1.175a4.924 4.924 0 0 0-.192-1.054l-.004-.013v-.001a.5.5 0 0 1 .12-.512l3.536-3.535a.5.5 0 0 1 .532-.115l.096.022c.087.017.208.034.344.034.114 0 .23-.011.343-.04L9.927 2.028c-.029.113-.04.23-.04.343a1.779 1.779 0 0 0 .062.46z"}}]})(e)}const SU=fe([Ye],e=>{const{shouldPinGallery:t}=e.ui;return{shouldPinGallery:t}},Ge),CU=()=>{const e=te(),{t}=ye(),{shouldPinGallery:n}=z(SU),r=()=>{e(L_()),e(ko())};return i.jsx(Le,{size:"sm","aria-label":t("gallery.pinGallery"),tooltip:`${t("gallery.pinGallery")} (Shift+G)`,onClick:r,icon:n?i.jsx(mj,{}):i.jsx(gj,{})})},kU=e=>{const{triggerComponent:t,children:n,hasArrow:r=!0,isLazy:o=!0,...s}=e;return i.jsxs(Xb,{isLazy:o,...s,children:[i.jsx(Kb,{children:t}),i.jsxs(Yb,{shadow:"dark-lg",children:[r&&i.jsx(P6,{}),n]})]})},vl=f.memo(kU),_U=e=>{const{label:t,...n}=e,{colorMode:r}=Ds();return i.jsx(X5,{colorScheme:"accent",...n,children:i.jsx(qe,{sx:{fontSize:"sm",color:Fe("base.800","base.200")(r)},children:t})})},Gn=f.memo(_U);function PU(e){return et({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12 16c1.671 0 3-1.331 3-3s-1.329-3-3-3-3 1.331-3 3 1.329 3 3 3z"}},{tag:"path",attr:{d:"M20.817 11.186a8.94 8.94 0 0 0-1.355-3.219 9.053 9.053 0 0 0-2.43-2.43 8.95 8.95 0 0 0-3.219-1.355 9.028 9.028 0 0 0-1.838-.18V2L8 5l3.975 3V6.002c.484-.002.968.044 1.435.14a6.961 6.961 0 0 1 2.502 1.053 7.005 7.005 0 0 1 1.892 1.892A6.967 6.967 0 0 1 19 13a7.032 7.032 0 0 1-.55 2.725 7.11 7.11 0 0 1-.644 1.188 7.2 7.2 0 0 1-.858 1.039 7.028 7.028 0 0 1-3.536 1.907 7.13 7.13 0 0 1-2.822 0 6.961 6.961 0 0 1-2.503-1.054 7.002 7.002 0 0 1-1.89-1.89A6.996 6.996 0 0 1 5 13H3a9.02 9.02 0 0 0 1.539 5.034 9.096 9.096 0 0 0 2.428 2.428A8.95 8.95 0 0 0 12 22a9.09 9.09 0 0 0 1.814-.183 9.014 9.014 0 0 0 3.218-1.355 8.886 8.886 0 0 0 1.331-1.099 9.228 9.228 0 0 0 1.1-1.332A8.952 8.952 0 0 0 21 13a9.09 9.09 0 0 0-.183-1.814z"}}]})(e)}const jU=e=>{const[t,n]=f.useState(!1),{label:r,value:o,min:s=1,max:a=100,step:c=1,onChange:d,tooltipSuffix:p="",withSliderMarks:h=!1,withInput:m=!1,isInteger:v=!1,inputWidth:b=16,withReset:w=!1,hideTooltip:y=!1,isCompact:S=!1,isDisabled:_=!1,sliderMarks:k,handleReset:j,sliderFormControlProps:I,sliderFormLabelProps:E,sliderMarkProps:O,sliderTrackProps:R,sliderThumbProps:M,sliderNumberInputProps:A,sliderNumberInputFieldProps:T,sliderNumberInputStepperProps:$,sliderTooltipProps:Q,sliderIAIIconButtonProps:B,...V}=e,q=te(),{t:G}=ye(),[D,L]=f.useState(String(o));f.useEffect(()=>{L(o)},[o]);const W=f.useMemo(()=>A!=null&&A.min?A.min:s,[s,A==null?void 0:A.min]),Y=f.useMemo(()=>A!=null&&A.max?A.max:a,[a,A==null?void 0:A.max]),ae=f.useCallback(re=>{d(re)},[d]),be=f.useCallback(re=>{re.target.value===""&&(re.target.value=String(W));const oe=Es(v?Math.floor(Number(re.target.value)):Number(D),W,Y),pe=ju(oe,c);d(pe),L(pe)},[v,D,W,Y,d,c]),ie=f.useCallback(re=>{L(re)},[]),X=f.useCallback(()=>{j&&j()},[j]),K=f.useCallback(re=>{re.target instanceof HTMLDivElement&&re.target.focus()},[]),U=f.useCallback(re=>{re.shiftKey&&q(jo(!0))},[q]),se=f.useCallback(re=>{re.shiftKey||q(jo(!1))},[q]);return i.jsxs(go,{onClick:K,sx:S?{display:"flex",flexDirection:"row",alignItems:"center",columnGap:4,margin:0,padding:0}:{},isDisabled:_,...I,children:[r&&i.jsx(Lo,{sx:m?{mb:-1.5}:{},...E,children:r}),i.jsxs(di,{w:"100%",gap:2,alignItems:"center",children:[i.jsxs(V6,{"aria-label":r,value:o,min:s,max:a,step:c,onChange:ae,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),focusThumbOnChange:!1,isDisabled:_,...V,children:[h&&!k&&i.jsxs(i.Fragment,{children:[i.jsx(Gl,{value:s,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...O,children:s}),i.jsx(Gl,{value:a,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...O,children:a})]}),h&&k&&i.jsx(i.Fragment,{children:k.map((re,oe)=>oe===0?i.jsx(Gl,{value:re,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...O,children:re},re):oe===k.length-1?i.jsx(Gl,{value:re,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...O,children:re},re):i.jsx(Gl,{value:re,sx:{transform:"translateX(-50%)"},...O,children:re},re))}),i.jsx(G6,{...R,children:i.jsx(q6,{})}),i.jsx(wn,{hasArrow:!0,placement:"top",isOpen:t,label:`${o}${p}`,hidden:y,...Q,children:i.jsx(U6,{...M,zIndex:0})})]}),m&&i.jsxs(ym,{min:W,max:Y,step:c,value:D,onChange:ie,onBlur:be,focusInputOnChange:!1,...A,children:[i.jsx(wm,{onKeyDown:U,onKeyUp:se,minWidth:b,...T}),i.jsxs(xm,{...$,children:[i.jsx(Cm,{onClick:()=>d(Number(D))}),i.jsx(Sm,{onClick:()=>d(Number(D))})]})]}),w&&i.jsx(Le,{size:"sm","aria-label":G("accessibility.reset"),tooltip:G("accessibility.reset"),icon:i.jsx(PU,{}),isDisabled:_,onClick:X,...B})]})]})},_t=f.memo(jU);function IU(e){const t=f.createContext(null);return[({children:o,value:s})=>H.createElement(t.Provider,{value:s},o),()=>{const o=f.useContext(t);if(o===null)throw new Error(e);return o}]}function vj(e){return Array.isArray(e)?e:[e]}const EU=()=>{};function OU(e,t={active:!0}){return typeof e!="function"||!t.active?t.onKeyDown||EU:n=>{var r;n.key==="Escape"&&(e(n),(r=t.onTrigger)==null||r.call(t))}}function bj({data:e}){const t=[],n=[],r=e.reduce((o,s,a)=>(s.group?o[s.group]?o[s.group].push(a):o[s.group]=[a]:n.push(a),o),{});return Object.keys(r).forEach(o=>{t.push(...r[o].map(s=>e[s]))}),t.push(...n.map(o=>e[o])),t}function yj(e){return Array.isArray(e)||e===null?!1:typeof e=="object"?e.type!==H.Fragment:!1}function xj(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;tr===t[o]).indexOf(!1)>=0)&&(n.current={v:e(),prevDeps:[...t]}),n.current.v}const DU=G7({key:"mantine",prepend:!0});function AU(){return R5()||DU}var TU=Object.defineProperty,oC=Object.getOwnPropertySymbols,NU=Object.prototype.hasOwnProperty,$U=Object.prototype.propertyIsEnumerable,sC=(e,t,n)=>t in e?TU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,zU=(e,t)=>{for(var n in t||(t={}))NU.call(t,n)&&sC(e,n,t[n]);if(oC)for(var n of oC(t))$U.call(t,n)&&sC(e,n,t[n]);return e};const tv="ref";function LU(e){let t;if(e.length!==1)return{args:e,ref:t};const[n]=e;if(!(n instanceof Object))return{args:e,ref:t};if(!(tv in n))return{args:e,ref:t};t=n[tv];const r=zU({},n);return delete r[tv],{args:[r],ref:t}}const{cssFactory:BU}=(()=>{function e(n,r,o){const s=[],a=X7(n,s,o);return s.length<2?o:a+r(s)}function t(n){const{cache:r}=n,o=(...a)=>{const{ref:c,args:d}=LU(a),p=q7(d,r.registered);return K7(r,p,!1),`${r.key}-${p.name}${c===void 0?"":` ${c}`}`};return{css:o,cx:(...a)=>e(r.registered,o,wj(a))}}return{cssFactory:t}})();function Sj(){const e=AU();return MU(()=>BU({cache:e}),[e])}function FU({cx:e,classes:t,context:n,classNames:r,name:o,cache:s}){const a=n.reduce((c,d)=>(Object.keys(d.classNames).forEach(p=>{typeof c[p]!="string"?c[p]=`${d.classNames[p]}`:c[p]=`${c[p]} ${d.classNames[p]}`}),c),{});return Object.keys(t).reduce((c,d)=>(c[d]=e(t[d],a[d],r!=null&&r[d],Array.isArray(o)?o.filter(Boolean).map(p=>`${(s==null?void 0:s.key)||"mantine"}-${p}-${d}`).join(" "):o?`${(s==null?void 0:s.key)||"mantine"}-${o}-${d}`:null),c),{})}var HU=Object.defineProperty,aC=Object.getOwnPropertySymbols,WU=Object.prototype.hasOwnProperty,VU=Object.prototype.propertyIsEnumerable,iC=(e,t,n)=>t in e?HU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,nv=(e,t)=>{for(var n in t||(t={}))WU.call(t,n)&&iC(e,n,t[n]);if(aC)for(var n of aC(t))VU.call(t,n)&&iC(e,n,t[n]);return e};function x1(e,t){return t&&Object.keys(t).forEach(n=>{e[n]?e[n]=nv(nv({},e[n]),t[n]):e[n]=nv({},t[n])}),e}function lC(e,t,n,r){const o=s=>typeof s=="function"?s(t,n||{},r):s||{};return Array.isArray(e)?e.map(s=>o(s.styles)).reduce((s,a)=>x1(s,a),{}):o(e)}function UU({ctx:e,theme:t,params:n,variant:r,size:o}){return e.reduce((s,a)=>(a.variants&&r in a.variants&&x1(s,a.variants[r](t,n,{variant:r,size:o})),a.sizes&&o in a.sizes&&x1(s,a.sizes[o](t,n,{variant:r,size:o})),s),{})}function ao(e){const t=typeof e=="function"?e:()=>e;function n(r,o){const s=Fa(),a=YD(o==null?void 0:o.name),c=R5(),d={variant:o==null?void 0:o.variant,size:o==null?void 0:o.size},{css:p,cx:h}=Sj(),m=t(s,r,d),v=lC(o==null?void 0:o.styles,s,r,d),b=lC(a,s,r,d),w=UU({ctx:a,theme:s,params:r,variant:o==null?void 0:o.variant,size:o==null?void 0:o.size}),y=Object.fromEntries(Object.keys(m).map(S=>{const _=h({[p(m[S])]:!(o!=null&&o.unstyled)},p(w[S]),p(b[S]),p(v[S]));return[S,_]}));return{classes:FU({cx:h,classes:y,context:a,classNames:o==null?void 0:o.classNames,name:o==null?void 0:o.name,cache:c}),cx:h,theme:s}}return n}function cC(e){return`___ref-${e||""}`}var GU=Object.defineProperty,qU=Object.defineProperties,KU=Object.getOwnPropertyDescriptors,uC=Object.getOwnPropertySymbols,XU=Object.prototype.hasOwnProperty,YU=Object.prototype.propertyIsEnumerable,dC=(e,t,n)=>t in e?GU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vu=(e,t)=>{for(var n in t||(t={}))XU.call(t,n)&&dC(e,n,t[n]);if(uC)for(var n of uC(t))YU.call(t,n)&&dC(e,n,t[n]);return e},bu=(e,t)=>qU(e,KU(t));const yu={in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:`scale(.9) translateY(${Ue(10)})`},transitionProperty:"transform, opacity"},op={fade:{in:{opacity:1},out:{opacity:0},transitionProperty:"opacity"},scale:{in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:"scale(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-y":{in:{opacity:1,transform:"scaleY(1)"},out:{opacity:0,transform:"scaleY(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-x":{in:{opacity:1,transform:"scaleX(1)"},out:{opacity:0,transform:"scaleX(0)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"skew-up":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:`translateY(-${Ue(20)}) skew(-10deg, -5deg)`},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"skew-down":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:`translateY(${Ue(20)}) skew(-10deg, -5deg)`},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-left":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:`translateY(${Ue(20)}) rotate(-5deg)`},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-right":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:`translateY(${Ue(20)}) rotate(5deg)`},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-down":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(-100%)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-up":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(100%)"},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"slide-left":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(100%)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"slide-right":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(-100%)"},common:{transformOrigin:"right"},transitionProperty:"transform, opacity"},pop:bu(vu({},yu),{common:{transformOrigin:"center center"}}),"pop-bottom-left":bu(vu({},yu),{common:{transformOrigin:"bottom left"}}),"pop-bottom-right":bu(vu({},yu),{common:{transformOrigin:"bottom right"}}),"pop-top-left":bu(vu({},yu),{common:{transformOrigin:"top left"}}),"pop-top-right":bu(vu({},yu),{common:{transformOrigin:"top right"}})},fC=["mousedown","touchstart"];function QU(e,t,n){const r=f.useRef();return f.useEffect(()=>{const o=s=>{const{target:a}=s??{};if(Array.isArray(n)){const c=(a==null?void 0:a.hasAttribute("data-ignore-outside-clicks"))||!document.body.contains(a)&&a.tagName!=="HTML";n.every(p=>!!p&&!s.composedPath().includes(p))&&!c&&e()}else r.current&&!r.current.contains(a)&&e()};return(t||fC).forEach(s=>document.addEventListener(s,o)),()=>{(t||fC).forEach(s=>document.removeEventListener(s,o))}},[r,e,n]),r}function JU(e,t){try{return e.addEventListener("change",t),()=>e.removeEventListener("change",t)}catch{return e.addListener(t),()=>e.removeListener(t)}}function ZU(e,t){return typeof t=="boolean"?t:typeof window<"u"&&"matchMedia"in window?window.matchMedia(e).matches:!1}function eG(e,t,{getInitialValueInEffect:n}={getInitialValueInEffect:!0}){const[r,o]=f.useState(n?t:ZU(e,t)),s=f.useRef();return f.useEffect(()=>{if("matchMedia"in window)return s.current=window.matchMedia(e),o(s.current.matches),JU(s.current,a=>o(a.matches))},[e]),r}const Cj=typeof document<"u"?f.useLayoutEffect:f.useEffect;function Ps(e,t){const n=f.useRef(!1);f.useEffect(()=>()=>{n.current=!1},[]),f.useEffect(()=>{if(n.current)return e();n.current=!0},t)}function tG({opened:e,shouldReturnFocus:t=!0}){const n=f.useRef(),r=()=>{var o;n.current&&"focus"in n.current&&typeof n.current.focus=="function"&&((o=n.current)==null||o.focus({preventScroll:!0}))};return Ps(()=>{let o=-1;const s=a=>{a.key==="Tab"&&window.clearTimeout(o)};return document.addEventListener("keydown",s),e?n.current=document.activeElement:t&&(o=window.setTimeout(r,10)),()=>{window.clearTimeout(o),document.removeEventListener("keydown",s)}},[e,t]),r}const nG=/input|select|textarea|button|object/,kj="a, input, select, textarea, button, object, [tabindex]";function rG(e){return e.style.display==="none"}function oG(e){if(e.getAttribute("aria-hidden")||e.getAttribute("hidden")||e.getAttribute("type")==="hidden")return!1;let n=e;for(;n&&!(n===document.body||n.nodeType===11);){if(rG(n))return!1;n=n.parentNode}return!0}function _j(e){let t=e.getAttribute("tabindex");return t===null&&(t=void 0),parseInt(t,10)}function w1(e){const t=e.nodeName.toLowerCase(),n=!Number.isNaN(_j(e));return(nG.test(t)&&!e.disabled||e instanceof HTMLAnchorElement&&e.href||n)&&oG(e)}function Pj(e){const t=_j(e);return(Number.isNaN(t)||t>=0)&&w1(e)}function sG(e){return Array.from(e.querySelectorAll(kj)).filter(Pj)}function aG(e,t){const n=sG(e);if(!n.length){t.preventDefault();return}const r=n[t.shiftKey?0:n.length-1],o=e.getRootNode();if(!(r===o.activeElement||e===o.activeElement))return;t.preventDefault();const a=n[t.shiftKey?n.length-1:0];a&&a.focus()}function jy(){return`mantine-${Math.random().toString(36).slice(2,11)}`}function iG(e,t="body > :not(script)"){const n=jy(),r=Array.from(document.querySelectorAll(t)).map(o=>{var s;if((s=o==null?void 0:o.shadowRoot)!=null&&s.contains(e)||o.contains(e))return;const a=o.getAttribute("aria-hidden"),c=o.getAttribute("data-hidden"),d=o.getAttribute("data-focus-id");return o.setAttribute("data-focus-id",n),a===null||a==="false"?o.setAttribute("aria-hidden","true"):!c&&!d&&o.setAttribute("data-hidden",a),{node:o,ariaHidden:c||null}});return()=>{r.forEach(o=>{!o||n!==o.node.getAttribute("data-focus-id")||(o.ariaHidden===null?o.node.removeAttribute("aria-hidden"):o.node.setAttribute("aria-hidden",o.ariaHidden),o.node.removeAttribute("data-focus-id"),o.node.removeAttribute("data-hidden"))})}}function lG(e=!0){const t=f.useRef(),n=f.useRef(null),r=s=>{let a=s.querySelector("[data-autofocus]");if(!a){const c=Array.from(s.querySelectorAll(kj));a=c.find(Pj)||c.find(w1)||null,!a&&w1(s)&&(a=s)}a&&a.focus({preventScroll:!0})},o=f.useCallback(s=>{if(e){if(s===null){n.current&&(n.current(),n.current=null);return}n.current=iG(s),t.current!==s&&(s?(setTimeout(()=>{s.getRootNode()&&r(s)}),t.current=s):t.current=null)}},[e]);return f.useEffect(()=>{if(!e)return;t.current&&setTimeout(()=>r(t.current));const s=a=>{a.key==="Tab"&&t.current&&aG(t.current,a)};return document.addEventListener("keydown",s),()=>{document.removeEventListener("keydown",s),n.current&&n.current()}},[e]),o}const cG=H["useId".toString()]||(()=>{});function uG(){const e=cG();return e?`mantine-${e.replace(/:/g,"")}`:""}function Iy(e){const t=uG(),[n,r]=f.useState(t);return Cj(()=>{r(jy())},[]),typeof e=="string"?e:typeof window>"u"?t:n}function pC(e,t,n){f.useEffect(()=>(window.addEventListener(e,t,n),()=>window.removeEventListener(e,t,n)),[e,t])}function jj(e,t){typeof e=="function"?e(t):typeof e=="object"&&e!==null&&"current"in e&&(e.current=t)}function dG(...e){return t=>{e.forEach(n=>jj(n,t))}}function Hd(...e){return f.useCallback(dG(...e),e)}function dd({value:e,defaultValue:t,finalValue:n,onChange:r=()=>{}}){const[o,s]=f.useState(t!==void 0?t:n),a=c=>{s(c),r==null||r(c)};return e!==void 0?[e,r,!0]:[o,a,!1]}function Ij(e,t){return eG("(prefers-reduced-motion: reduce)",e,t)}const fG=e=>e<.5?2*e*e:-1+(4-2*e)*e,pG=({axis:e,target:t,parent:n,alignment:r,offset:o,isList:s})=>{if(!t||!n&&typeof document>"u")return 0;const a=!!n,d=(n||document.body).getBoundingClientRect(),p=t.getBoundingClientRect(),h=m=>p[m]-d[m];if(e==="y"){const m=h("top");if(m===0)return 0;if(r==="start"){const b=m-o;return b<=p.height*(s?0:1)||!s?b:0}const v=a?d.height:window.innerHeight;if(r==="end"){const b=m+o-v+p.height;return b>=-p.height*(s?0:1)||!s?b:0}return r==="center"?m-v/2+p.height/2:0}if(e==="x"){const m=h("left");if(m===0)return 0;if(r==="start"){const b=m-o;return b<=p.width||!s?b:0}const v=a?d.width:window.innerWidth;if(r==="end"){const b=m+o-v+p.width;return b>=-p.width||!s?b:0}return r==="center"?m-v/2+p.width/2:0}return 0},hG=({axis:e,parent:t})=>{if(!t&&typeof document>"u")return 0;const n=e==="y"?"scrollTop":"scrollLeft";if(t)return t[n];const{body:r,documentElement:o}=document;return r[n]+o[n]},mG=({axis:e,parent:t,distance:n})=>{if(!t&&typeof document>"u")return;const r=e==="y"?"scrollTop":"scrollLeft";if(t)t[r]=n;else{const{body:o,documentElement:s}=document;o[r]=n,s[r]=n}};function Ej({duration:e=1250,axis:t="y",onScrollFinish:n,easing:r=fG,offset:o=0,cancelable:s=!0,isList:a=!1}={}){const c=f.useRef(0),d=f.useRef(0),p=f.useRef(!1),h=f.useRef(null),m=f.useRef(null),v=Ij(),b=()=>{c.current&&cancelAnimationFrame(c.current)},w=f.useCallback(({alignment:S="start"}={})=>{var _;p.current=!1,c.current&&b();const k=(_=hG({parent:h.current,axis:t}))!=null?_:0,j=pG({parent:h.current,target:m.current,axis:t,alignment:S,offset:o,isList:a})-(h.current?0:k);function I(){d.current===0&&(d.current=performance.now());const O=performance.now()-d.current,R=v||e===0?1:O/e,M=k+j*r(R);mG({parent:h.current,axis:t,distance:M}),!p.current&&R<1?c.current=requestAnimationFrame(I):(typeof n=="function"&&n(),d.current=0,c.current=0,b())}I()},[t,e,r,a,o,n,v]),y=()=>{s&&(p.current=!0)};return pC("wheel",y,{passive:!0}),pC("touchmove",y,{passive:!0}),f.useEffect(()=>b,[]),{scrollableRef:h,targetRef:m,scrollIntoView:w,cancel:b}}var hC=Object.getOwnPropertySymbols,gG=Object.prototype.hasOwnProperty,vG=Object.prototype.propertyIsEnumerable,bG=(e,t)=>{var n={};for(var r in e)gG.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&hC)for(var r of hC(e))t.indexOf(r)<0&&vG.call(e,r)&&(n[r]=e[r]);return n};function Bm(e){const t=e,{m:n,mx:r,my:o,mt:s,mb:a,ml:c,mr:d,p,px:h,py:m,pt:v,pb:b,pl:w,pr:y,bg:S,c:_,opacity:k,ff:j,fz:I,fw:E,lts:O,ta:R,lh:M,fs:A,tt:T,td:$,w:Q,miw:B,maw:V,h:q,mih:G,mah:D,bgsz:L,bgp:W,bgr:Y,bga:ae,pos:be,top:ie,left:X,bottom:K,right:U,inset:se,display:re}=t,oe=bG(t,["m","mx","my","mt","mb","ml","mr","p","px","py","pt","pb","pl","pr","bg","c","opacity","ff","fz","fw","lts","ta","lh","fs","tt","td","w","miw","maw","h","mih","mah","bgsz","bgp","bgr","bga","pos","top","left","bottom","right","inset","display"]);return{systemStyles:QD({m:n,mx:r,my:o,mt:s,mb:a,ml:c,mr:d,p,px:h,py:m,pt:v,pb:b,pl:w,pr:y,bg:S,c:_,opacity:k,ff:j,fz:I,fw:E,lts:O,ta:R,lh:M,fs:A,tt:T,td:$,w:Q,miw:B,maw:V,h:q,mih:G,mah:D,bgsz:L,bgp:W,bgr:Y,bga:ae,pos:be,top:ie,left:X,bottom:K,right:U,inset:se,display:re}),rest:oe}}function yG(e,t){const n=Object.keys(e).filter(r=>r!=="base").sort((r,o)=>ww(Vt({size:r,sizes:t.breakpoints}))-ww(Vt({size:o,sizes:t.breakpoints})));return"base"in e?["base",...n]:n}function xG({value:e,theme:t,getValue:n,property:r}){if(e==null)return;if(typeof e=="object")return yG(e,t).reduce((a,c)=>{if(c==="base"&&e.base!==void 0){const p=n(e.base,t);return Array.isArray(r)?(r.forEach(h=>{a[h]=p}),a):(a[r]=p,a)}const d=n(e[c],t);return Array.isArray(r)?(a[t.fn.largerThan(c)]={},r.forEach(p=>{a[t.fn.largerThan(c)][p]=d}),a):(a[t.fn.largerThan(c)]={[r]:d},a)},{});const o=n(e,t);return Array.isArray(r)?r.reduce((s,a)=>(s[a]=o,s),{}):{[r]:o}}function wG(e,t){return e==="dimmed"?t.colorScheme==="dark"?t.colors.dark[2]:t.colors.gray[6]:t.fn.variant({variant:"filled",color:e,primaryFallback:!1}).background}function SG(e){return Ue(e)}function CG(e){return e}function kG(e,t){return Vt({size:e,sizes:t.fontSizes})}const _G=["-xs","-sm","-md","-lg","-xl"];function PG(e,t){return _G.includes(e)?`calc(${Vt({size:e.replace("-",""),sizes:t.spacing})} * -1)`:Vt({size:e,sizes:t.spacing})}const jG={identity:CG,color:wG,size:SG,fontSize:kG,spacing:PG},IG={m:{type:"spacing",property:"margin"},mt:{type:"spacing",property:"marginTop"},mb:{type:"spacing",property:"marginBottom"},ml:{type:"spacing",property:"marginLeft"},mr:{type:"spacing",property:"marginRight"},mx:{type:"spacing",property:["marginRight","marginLeft"]},my:{type:"spacing",property:["marginTop","marginBottom"]},p:{type:"spacing",property:"padding"},pt:{type:"spacing",property:"paddingTop"},pb:{type:"spacing",property:"paddingBottom"},pl:{type:"spacing",property:"paddingLeft"},pr:{type:"spacing",property:"paddingRight"},px:{type:"spacing",property:["paddingRight","paddingLeft"]},py:{type:"spacing",property:["paddingTop","paddingBottom"]},bg:{type:"color",property:"background"},c:{type:"color",property:"color"},opacity:{type:"identity",property:"opacity"},ff:{type:"identity",property:"fontFamily"},fz:{type:"fontSize",property:"fontSize"},fw:{type:"identity",property:"fontWeight"},lts:{type:"size",property:"letterSpacing"},ta:{type:"identity",property:"textAlign"},lh:{type:"identity",property:"lineHeight"},fs:{type:"identity",property:"fontStyle"},tt:{type:"identity",property:"textTransform"},td:{type:"identity",property:"textDecoration"},w:{type:"spacing",property:"width"},miw:{type:"spacing",property:"minWidth"},maw:{type:"spacing",property:"maxWidth"},h:{type:"spacing",property:"height"},mih:{type:"spacing",property:"minHeight"},mah:{type:"spacing",property:"maxHeight"},bgsz:{type:"size",property:"backgroundSize"},bgp:{type:"identity",property:"backgroundPosition"},bgr:{type:"identity",property:"backgroundRepeat"},bga:{type:"identity",property:"backgroundAttachment"},pos:{type:"identity",property:"position"},top:{type:"identity",property:"top"},left:{type:"size",property:"left"},bottom:{type:"size",property:"bottom"},right:{type:"size",property:"right"},inset:{type:"size",property:"inset"},display:{type:"identity",property:"display"}};var EG=Object.defineProperty,mC=Object.getOwnPropertySymbols,OG=Object.prototype.hasOwnProperty,RG=Object.prototype.propertyIsEnumerable,gC=(e,t,n)=>t in e?EG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vC=(e,t)=>{for(var n in t||(t={}))OG.call(t,n)&&gC(e,n,t[n]);if(mC)for(var n of mC(t))RG.call(t,n)&&gC(e,n,t[n]);return e};function bC(e,t,n=IG){return Object.keys(n).reduce((o,s)=>(s in e&&e[s]!==void 0&&o.push(xG({value:e[s],getValue:jG[n[s].type],property:n[s].property,theme:t})),o),[]).reduce((o,s)=>(Object.keys(s).forEach(a=>{typeof s[a]=="object"&&s[a]!==null&&a in o?o[a]=vC(vC({},o[a]),s[a]):o[a]=s[a]}),o),{})}function yC(e,t){return typeof e=="function"?e(t):e}function MG(e,t,n){const r=Fa(),{css:o,cx:s}=Sj();return Array.isArray(e)?s(n,o(bC(t,r)),e.map(a=>o(yC(a,r)))):s(n,o(yC(e,r)),o(bC(t,r)))}var DG=Object.defineProperty,uh=Object.getOwnPropertySymbols,Oj=Object.prototype.hasOwnProperty,Rj=Object.prototype.propertyIsEnumerable,xC=(e,t,n)=>t in e?DG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,AG=(e,t)=>{for(var n in t||(t={}))Oj.call(t,n)&&xC(e,n,t[n]);if(uh)for(var n of uh(t))Rj.call(t,n)&&xC(e,n,t[n]);return e},TG=(e,t)=>{var n={};for(var r in e)Oj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&uh)for(var r of uh(e))t.indexOf(r)<0&&Rj.call(e,r)&&(n[r]=e[r]);return n};const Mj=f.forwardRef((e,t)=>{var n=e,{className:r,component:o,style:s,sx:a}=n,c=TG(n,["className","component","style","sx"]);const{systemStyles:d,rest:p}=Bm(c),h=o||"div";return H.createElement(h,AG({ref:t,className:MG(a,d,r),style:s},p))});Mj.displayName="@mantine/core/Box";const Io=Mj;var NG=Object.defineProperty,$G=Object.defineProperties,zG=Object.getOwnPropertyDescriptors,wC=Object.getOwnPropertySymbols,LG=Object.prototype.hasOwnProperty,BG=Object.prototype.propertyIsEnumerable,SC=(e,t,n)=>t in e?NG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,CC=(e,t)=>{for(var n in t||(t={}))LG.call(t,n)&&SC(e,n,t[n]);if(wC)for(var n of wC(t))BG.call(t,n)&&SC(e,n,t[n]);return e},FG=(e,t)=>$G(e,zG(t)),HG=ao(e=>({root:FG(CC(CC({},e.fn.focusStyles()),e.fn.fontStyles()),{cursor:"pointer",border:0,padding:0,appearance:"none",fontSize:e.fontSizes.md,backgroundColor:"transparent",textAlign:"left",color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,textDecoration:"none",boxSizing:"border-box"})}));const WG=HG;var VG=Object.defineProperty,dh=Object.getOwnPropertySymbols,Dj=Object.prototype.hasOwnProperty,Aj=Object.prototype.propertyIsEnumerable,kC=(e,t,n)=>t in e?VG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,UG=(e,t)=>{for(var n in t||(t={}))Dj.call(t,n)&&kC(e,n,t[n]);if(dh)for(var n of dh(t))Aj.call(t,n)&&kC(e,n,t[n]);return e},GG=(e,t)=>{var n={};for(var r in e)Dj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&dh)for(var r of dh(e))t.indexOf(r)<0&&Aj.call(e,r)&&(n[r]=e[r]);return n};const Tj=f.forwardRef((e,t)=>{const n=Sr("UnstyledButton",{},e),{className:r,component:o="button",unstyled:s,variant:a}=n,c=GG(n,["className","component","unstyled","variant"]),{classes:d,cx:p}=WG(null,{name:"UnstyledButton",unstyled:s,variant:a});return H.createElement(Io,UG({component:o,ref:t,className:p(d.root,r),type:o==="button"?"button":void 0},c))});Tj.displayName="@mantine/core/UnstyledButton";const qG=Tj;var KG=Object.defineProperty,XG=Object.defineProperties,YG=Object.getOwnPropertyDescriptors,_C=Object.getOwnPropertySymbols,QG=Object.prototype.hasOwnProperty,JG=Object.prototype.propertyIsEnumerable,PC=(e,t,n)=>t in e?KG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,S1=(e,t)=>{for(var n in t||(t={}))QG.call(t,n)&&PC(e,n,t[n]);if(_C)for(var n of _C(t))JG.call(t,n)&&PC(e,n,t[n]);return e},jC=(e,t)=>XG(e,YG(t));const ZG=["subtle","filled","outline","light","default","transparent","gradient"],sp={xs:Ue(18),sm:Ue(22),md:Ue(28),lg:Ue(34),xl:Ue(44)};function eq({variant:e,theme:t,color:n,gradient:r}){const o=t.fn.variant({color:n,variant:e,gradient:r});return e==="gradient"?{border:0,backgroundImage:o.background,color:o.color,"&:hover":t.fn.hover({backgroundSize:"200%"})}:ZG.includes(e)?S1({border:`${Ue(1)} solid ${o.border}`,backgroundColor:o.background,color:o.color},t.fn.hover({backgroundColor:o.hover})):null}var tq=ao((e,{radius:t,color:n,gradient:r},{variant:o,size:s})=>({root:jC(S1({position:"relative",borderRadius:e.fn.radius(t),padding:0,lineHeight:1,display:"flex",alignItems:"center",justifyContent:"center",height:Vt({size:s,sizes:sp}),minHeight:Vt({size:s,sizes:sp}),width:Vt({size:s,sizes:sp}),minWidth:Vt({size:s,sizes:sp})},eq({variant:o,theme:e,color:n,gradient:r})),{"&:active":e.activeStyles,"& [data-action-icon-loader]":{maxWidth:"70%"},"&:disabled, &[data-disabled]":{color:e.colors.gray[e.colorScheme==="dark"?6:4],cursor:"not-allowed",backgroundColor:o==="transparent"?void 0:e.fn.themeColor("gray",e.colorScheme==="dark"?8:1),borderColor:o==="transparent"?void 0:e.fn.themeColor("gray",e.colorScheme==="dark"?8:1),backgroundImage:"none",pointerEvents:"none","&:active":{transform:"none"}},"&[data-loading]":{pointerEvents:"none","&::before":jC(S1({content:'""'},e.fn.cover(Ue(-1))),{backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.colors.dark[7],.5):"rgba(255, 255, 255, .5)",borderRadius:e.fn.radius(t),cursor:"not-allowed"})}})}));const nq=tq;var rq=Object.defineProperty,fh=Object.getOwnPropertySymbols,Nj=Object.prototype.hasOwnProperty,$j=Object.prototype.propertyIsEnumerable,IC=(e,t,n)=>t in e?rq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,EC=(e,t)=>{for(var n in t||(t={}))Nj.call(t,n)&&IC(e,n,t[n]);if(fh)for(var n of fh(t))$j.call(t,n)&&IC(e,n,t[n]);return e},OC=(e,t)=>{var n={};for(var r in e)Nj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&fh)for(var r of fh(e))t.indexOf(r)<0&&$j.call(e,r)&&(n[r]=e[r]);return n};function oq(e){var t=e,{size:n,color:r}=t,o=OC(t,["size","color"]);const s=o,{style:a}=s,c=OC(s,["style"]);return H.createElement("svg",EC({viewBox:"0 0 135 140",xmlns:"http://www.w3.org/2000/svg",fill:r,style:EC({width:n},a)},c),H.createElement("rect",{y:"10",width:"15",height:"120",rx:"6"},H.createElement("animate",{attributeName:"height",begin:"0.5s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"y",begin:"0.5s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("rect",{x:"30",y:"10",width:"15",height:"120",rx:"6"},H.createElement("animate",{attributeName:"height",begin:"0.25s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"y",begin:"0.25s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("rect",{x:"60",width:"15",height:"140",rx:"6"},H.createElement("animate",{attributeName:"height",begin:"0s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"y",begin:"0s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("rect",{x:"90",y:"10",width:"15",height:"120",rx:"6"},H.createElement("animate",{attributeName:"height",begin:"0.25s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"y",begin:"0.25s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("rect",{x:"120",y:"10",width:"15",height:"120",rx:"6"},H.createElement("animate",{attributeName:"height",begin:"0.5s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"y",begin:"0.5s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})))}var sq=Object.defineProperty,ph=Object.getOwnPropertySymbols,zj=Object.prototype.hasOwnProperty,Lj=Object.prototype.propertyIsEnumerable,RC=(e,t,n)=>t in e?sq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,MC=(e,t)=>{for(var n in t||(t={}))zj.call(t,n)&&RC(e,n,t[n]);if(ph)for(var n of ph(t))Lj.call(t,n)&&RC(e,n,t[n]);return e},DC=(e,t)=>{var n={};for(var r in e)zj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ph)for(var r of ph(e))t.indexOf(r)<0&&Lj.call(e,r)&&(n[r]=e[r]);return n};function aq(e){var t=e,{size:n,color:r}=t,o=DC(t,["size","color"]);const s=o,{style:a}=s,c=DC(s,["style"]);return H.createElement("svg",MC({viewBox:"0 0 38 38",xmlns:"http://www.w3.org/2000/svg",stroke:r,style:MC({width:n,height:n},a)},c),H.createElement("g",{fill:"none",fillRule:"evenodd"},H.createElement("g",{transform:"translate(2.5 2.5)",strokeWidth:"5"},H.createElement("circle",{strokeOpacity:".5",cx:"16",cy:"16",r:"16"}),H.createElement("path",{d:"M32 16c0-9.94-8.06-16-16-16"},H.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 16 16",to:"360 16 16",dur:"1s",repeatCount:"indefinite"})))))}var iq=Object.defineProperty,hh=Object.getOwnPropertySymbols,Bj=Object.prototype.hasOwnProperty,Fj=Object.prototype.propertyIsEnumerable,AC=(e,t,n)=>t in e?iq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,TC=(e,t)=>{for(var n in t||(t={}))Bj.call(t,n)&&AC(e,n,t[n]);if(hh)for(var n of hh(t))Fj.call(t,n)&&AC(e,n,t[n]);return e},NC=(e,t)=>{var n={};for(var r in e)Bj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&hh)for(var r of hh(e))t.indexOf(r)<0&&Fj.call(e,r)&&(n[r]=e[r]);return n};function lq(e){var t=e,{size:n,color:r}=t,o=NC(t,["size","color"]);const s=o,{style:a}=s,c=NC(s,["style"]);return H.createElement("svg",TC({viewBox:"0 0 120 30",xmlns:"http://www.w3.org/2000/svg",fill:r,style:TC({width:n},a)},c),H.createElement("circle",{cx:"15",cy:"15",r:"15"},H.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("circle",{cx:"60",cy:"15",r:"9",fillOpacity:"0.3"},H.createElement("animate",{attributeName:"r",from:"9",to:"9",begin:"0s",dur:"0.8s",values:"9;15;9",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"fill-opacity",from:"0.5",to:"0.5",begin:"0s",dur:"0.8s",values:".5;1;.5",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("circle",{cx:"105",cy:"15",r:"15"},H.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})))}var cq=Object.defineProperty,mh=Object.getOwnPropertySymbols,Hj=Object.prototype.hasOwnProperty,Wj=Object.prototype.propertyIsEnumerable,$C=(e,t,n)=>t in e?cq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,uq=(e,t)=>{for(var n in t||(t={}))Hj.call(t,n)&&$C(e,n,t[n]);if(mh)for(var n of mh(t))Wj.call(t,n)&&$C(e,n,t[n]);return e},dq=(e,t)=>{var n={};for(var r in e)Hj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&mh)for(var r of mh(e))t.indexOf(r)<0&&Wj.call(e,r)&&(n[r]=e[r]);return n};const rv={bars:oq,oval:aq,dots:lq},fq={xs:Ue(18),sm:Ue(22),md:Ue(36),lg:Ue(44),xl:Ue(58)},pq={size:"md"};function Vj(e){const t=Sr("Loader",pq,e),{size:n,color:r,variant:o}=t,s=dq(t,["size","color","variant"]),a=Fa(),c=o in rv?o:a.loader;return H.createElement(Io,uq({role:"presentation",component:rv[c]||rv.bars,size:Vt({size:n,sizes:fq}),color:a.fn.variant({variant:"filled",primaryFallback:!1,color:r||a.primaryColor}).background},s))}Vj.displayName="@mantine/core/Loader";var hq=Object.defineProperty,gh=Object.getOwnPropertySymbols,Uj=Object.prototype.hasOwnProperty,Gj=Object.prototype.propertyIsEnumerable,zC=(e,t,n)=>t in e?hq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,LC=(e,t)=>{for(var n in t||(t={}))Uj.call(t,n)&&zC(e,n,t[n]);if(gh)for(var n of gh(t))Gj.call(t,n)&&zC(e,n,t[n]);return e},mq=(e,t)=>{var n={};for(var r in e)Uj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&gh)for(var r of gh(e))t.indexOf(r)<0&&Gj.call(e,r)&&(n[r]=e[r]);return n};const gq={color:"gray",size:"md",variant:"subtle"},qj=f.forwardRef((e,t)=>{const n=Sr("ActionIcon",gq,e),{className:r,color:o,children:s,radius:a,size:c,variant:d,gradient:p,disabled:h,loaderProps:m,loading:v,unstyled:b,__staticSelector:w}=n,y=mq(n,["className","color","children","radius","size","variant","gradient","disabled","loaderProps","loading","unstyled","__staticSelector"]),{classes:S,cx:_,theme:k}=nq({radius:a,color:o,gradient:p},{name:["ActionIcon",w],unstyled:b,size:c,variant:d}),j=H.createElement(Vj,LC({color:k.fn.variant({color:o,variant:d}).color,size:"100%","data-action-icon-loader":!0},m));return H.createElement(qG,LC({className:_(S.root,r),ref:t,disabled:h,"data-disabled":h||void 0,"data-loading":v||void 0,unstyled:b},y),v?j:s)});qj.displayName="@mantine/core/ActionIcon";const vq=qj;var bq=Object.defineProperty,yq=Object.defineProperties,xq=Object.getOwnPropertyDescriptors,vh=Object.getOwnPropertySymbols,Kj=Object.prototype.hasOwnProperty,Xj=Object.prototype.propertyIsEnumerable,BC=(e,t,n)=>t in e?bq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,wq=(e,t)=>{for(var n in t||(t={}))Kj.call(t,n)&&BC(e,n,t[n]);if(vh)for(var n of vh(t))Xj.call(t,n)&&BC(e,n,t[n]);return e},Sq=(e,t)=>yq(e,xq(t)),Cq=(e,t)=>{var n={};for(var r in e)Kj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&vh)for(var r of vh(e))t.indexOf(r)<0&&Xj.call(e,r)&&(n[r]=e[r]);return n};function Yj(e){const t=Sr("Portal",{},e),{children:n,target:r,className:o,innerRef:s}=t,a=Cq(t,["children","target","className","innerRef"]),c=Fa(),[d,p]=f.useState(!1),h=f.useRef();return Cj(()=>(p(!0),h.current=r?typeof r=="string"?document.querySelector(r):r:document.createElement("div"),r||document.body.appendChild(h.current),()=>{!r&&document.body.removeChild(h.current)}),[r]),d?_i.createPortal(H.createElement("div",Sq(wq({className:o,dir:c.dir},a),{ref:s}),n),h.current):null}Yj.displayName="@mantine/core/Portal";var kq=Object.defineProperty,bh=Object.getOwnPropertySymbols,Qj=Object.prototype.hasOwnProperty,Jj=Object.prototype.propertyIsEnumerable,FC=(e,t,n)=>t in e?kq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_q=(e,t)=>{for(var n in t||(t={}))Qj.call(t,n)&&FC(e,n,t[n]);if(bh)for(var n of bh(t))Jj.call(t,n)&&FC(e,n,t[n]);return e},Pq=(e,t)=>{var n={};for(var r in e)Qj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&bh)for(var r of bh(e))t.indexOf(r)<0&&Jj.call(e,r)&&(n[r]=e[r]);return n};function Zj(e){var t=e,{withinPortal:n=!0,children:r}=t,o=Pq(t,["withinPortal","children"]);return n?H.createElement(Yj,_q({},o),r):H.createElement(H.Fragment,null,r)}Zj.displayName="@mantine/core/OptionalPortal";var jq=Object.defineProperty,yh=Object.getOwnPropertySymbols,eI=Object.prototype.hasOwnProperty,tI=Object.prototype.propertyIsEnumerable,HC=(e,t,n)=>t in e?jq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,WC=(e,t)=>{for(var n in t||(t={}))eI.call(t,n)&&HC(e,n,t[n]);if(yh)for(var n of yh(t))tI.call(t,n)&&HC(e,n,t[n]);return e},Iq=(e,t)=>{var n={};for(var r in e)eI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&yh)for(var r of yh(e))t.indexOf(r)<0&&tI.call(e,r)&&(n[r]=e[r]);return n};function nI(e){const t=e,{width:n,height:r,style:o}=t,s=Iq(t,["width","height","style"]);return H.createElement("svg",WC({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:WC({width:n,height:r},o)},s),H.createElement("path",{d:"M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}nI.displayName="@mantine/core/CloseIcon";var Eq=Object.defineProperty,xh=Object.getOwnPropertySymbols,rI=Object.prototype.hasOwnProperty,oI=Object.prototype.propertyIsEnumerable,VC=(e,t,n)=>t in e?Eq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Oq=(e,t)=>{for(var n in t||(t={}))rI.call(t,n)&&VC(e,n,t[n]);if(xh)for(var n of xh(t))oI.call(t,n)&&VC(e,n,t[n]);return e},Rq=(e,t)=>{var n={};for(var r in e)rI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&xh)for(var r of xh(e))t.indexOf(r)<0&&oI.call(e,r)&&(n[r]=e[r]);return n};const Mq={xs:Ue(12),sm:Ue(16),md:Ue(20),lg:Ue(28),xl:Ue(34)},Dq={size:"sm"},sI=f.forwardRef((e,t)=>{const n=Sr("CloseButton",Dq,e),{iconSize:r,size:o,children:s}=n,a=Rq(n,["iconSize","size","children"]),c=Ue(r||Mq[o]);return H.createElement(vq,Oq({ref:t,__staticSelector:"CloseButton",size:o},a),s||H.createElement(nI,{width:c,height:c}))});sI.displayName="@mantine/core/CloseButton";const aI=sI;var Aq=Object.defineProperty,Tq=Object.defineProperties,Nq=Object.getOwnPropertyDescriptors,UC=Object.getOwnPropertySymbols,$q=Object.prototype.hasOwnProperty,zq=Object.prototype.propertyIsEnumerable,GC=(e,t,n)=>t in e?Aq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ap=(e,t)=>{for(var n in t||(t={}))$q.call(t,n)&&GC(e,n,t[n]);if(UC)for(var n of UC(t))zq.call(t,n)&&GC(e,n,t[n]);return e},Lq=(e,t)=>Tq(e,Nq(t));function Bq({underline:e,strikethrough:t}){const n=[];return e&&n.push("underline"),t&&n.push("line-through"),n.length>0?n.join(" "):"none"}function Fq({theme:e,color:t}){return t==="dimmed"?e.fn.dimmed():typeof t=="string"&&(t in e.colors||t.split(".")[0]in e.colors)?e.fn.variant({variant:"filled",color:t}).background:t||"inherit"}function Hq(e){return typeof e=="number"?{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:e,WebkitBoxOrient:"vertical"}:null}function Wq({theme:e,truncate:t}){return t==="start"?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",direction:e.dir==="ltr"?"rtl":"ltr",textAlign:e.dir==="ltr"?"right":"left"}:t?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:null}var Vq=ao((e,{color:t,lineClamp:n,truncate:r,inline:o,inherit:s,underline:a,gradient:c,weight:d,transform:p,align:h,strikethrough:m,italic:v},{size:b})=>{const w=e.fn.variant({variant:"gradient",gradient:c});return{root:Lq(ap(ap(ap(ap({},e.fn.fontStyles()),e.fn.focusStyles()),Hq(n)),Wq({theme:e,truncate:r})),{color:Fq({color:t,theme:e}),fontFamily:s?"inherit":e.fontFamily,fontSize:s||b===void 0?"inherit":Vt({size:b,sizes:e.fontSizes}),lineHeight:s?"inherit":o?1:e.lineHeight,textDecoration:Bq({underline:a,strikethrough:m}),WebkitTapHighlightColor:"transparent",fontWeight:s?"inherit":d,textTransform:p,textAlign:h,fontStyle:v?"italic":void 0}),gradient:{backgroundImage:w.background,WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"}}});const Uq=Vq;var Gq=Object.defineProperty,wh=Object.getOwnPropertySymbols,iI=Object.prototype.hasOwnProperty,lI=Object.prototype.propertyIsEnumerable,qC=(e,t,n)=>t in e?Gq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,qq=(e,t)=>{for(var n in t||(t={}))iI.call(t,n)&&qC(e,n,t[n]);if(wh)for(var n of wh(t))lI.call(t,n)&&qC(e,n,t[n]);return e},Kq=(e,t)=>{var n={};for(var r in e)iI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&wh)for(var r of wh(e))t.indexOf(r)<0&&lI.call(e,r)&&(n[r]=e[r]);return n};const Xq={variant:"text"},cI=f.forwardRef((e,t)=>{const n=Sr("Text",Xq,e),{className:r,size:o,weight:s,transform:a,color:c,align:d,variant:p,lineClamp:h,truncate:m,gradient:v,inline:b,inherit:w,underline:y,strikethrough:S,italic:_,classNames:k,styles:j,unstyled:I,span:E,__staticSelector:O}=n,R=Kq(n,["className","size","weight","transform","color","align","variant","lineClamp","truncate","gradient","inline","inherit","underline","strikethrough","italic","classNames","styles","unstyled","span","__staticSelector"]),{classes:M,cx:A}=Uq({color:c,lineClamp:h,truncate:m,inline:b,inherit:w,underline:y,strikethrough:S,italic:_,weight:s,transform:a,align:d,gradient:v},{unstyled:I,name:O||"Text",variant:p,size:o});return H.createElement(Io,qq({ref:t,className:A(M.root,{[M.gradient]:p==="gradient"},r),component:E?"span":"div"},R))});cI.displayName="@mantine/core/Text";const kc=cI,ip={xs:Ue(1),sm:Ue(2),md:Ue(3),lg:Ue(4),xl:Ue(5)};function lp(e,t){const n=e.fn.variant({variant:"outline",color:t}).border;return typeof t=="string"&&(t in e.colors||t.split(".")[0]in e.colors)?n:t===void 0?e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4]:t}var Yq=ao((e,{color:t},{size:n,variant:r})=>({root:{},withLabel:{borderTop:"0 !important"},left:{"&::before":{display:"none"}},right:{"&::after":{display:"none"}},label:{display:"flex",alignItems:"center","&::before":{content:'""',flex:1,height:Ue(1),borderTop:`${Vt({size:n,sizes:ip})} ${r} ${lp(e,t)}`,marginRight:e.spacing.xs},"&::after":{content:'""',flex:1,borderTop:`${Vt({size:n,sizes:ip})} ${r} ${lp(e,t)}`,marginLeft:e.spacing.xs}},labelDefaultStyles:{color:t==="dark"?e.colors.dark[1]:e.fn.themeColor(t,e.colorScheme==="dark"?5:e.fn.primaryShade(),!1)},horizontal:{border:0,borderTopWidth:Ue(Vt({size:n,sizes:ip})),borderTopColor:lp(e,t),borderTopStyle:r,margin:0},vertical:{border:0,alignSelf:"stretch",height:"auto",borderLeftWidth:Ue(Vt({size:n,sizes:ip})),borderLeftColor:lp(e,t),borderLeftStyle:r}}));const Qq=Yq;var Jq=Object.defineProperty,Zq=Object.defineProperties,eK=Object.getOwnPropertyDescriptors,Sh=Object.getOwnPropertySymbols,uI=Object.prototype.hasOwnProperty,dI=Object.prototype.propertyIsEnumerable,KC=(e,t,n)=>t in e?Jq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,XC=(e,t)=>{for(var n in t||(t={}))uI.call(t,n)&&KC(e,n,t[n]);if(Sh)for(var n of Sh(t))dI.call(t,n)&&KC(e,n,t[n]);return e},tK=(e,t)=>Zq(e,eK(t)),nK=(e,t)=>{var n={};for(var r in e)uI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Sh)for(var r of Sh(e))t.indexOf(r)<0&&dI.call(e,r)&&(n[r]=e[r]);return n};const rK={orientation:"horizontal",size:"xs",labelPosition:"left",variant:"solid"},C1=f.forwardRef((e,t)=>{const n=Sr("Divider",rK,e),{className:r,color:o,orientation:s,size:a,label:c,labelPosition:d,labelProps:p,variant:h,styles:m,classNames:v,unstyled:b}=n,w=nK(n,["className","color","orientation","size","label","labelPosition","labelProps","variant","styles","classNames","unstyled"]),{classes:y,cx:S}=Qq({color:o},{classNames:v,styles:m,unstyled:b,name:"Divider",variant:h,size:a}),_=s==="vertical",k=s==="horizontal",j=!!c&&k,I=!(p!=null&&p.color);return H.createElement(Io,XC({ref:t,className:S(y.root,{[y.vertical]:_,[y.horizontal]:k,[y.withLabel]:j},r),role:"separator"},w),j&&H.createElement(kc,tK(XC({},p),{size:(p==null?void 0:p.size)||"xs",mt:Ue(2),className:S(y.label,y[d],{[y.labelDefaultStyles]:I})}),c))});C1.displayName="@mantine/core/Divider";var oK=Object.defineProperty,sK=Object.defineProperties,aK=Object.getOwnPropertyDescriptors,YC=Object.getOwnPropertySymbols,iK=Object.prototype.hasOwnProperty,lK=Object.prototype.propertyIsEnumerable,QC=(e,t,n)=>t in e?oK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,JC=(e,t)=>{for(var n in t||(t={}))iK.call(t,n)&&QC(e,n,t[n]);if(YC)for(var n of YC(t))lK.call(t,n)&&QC(e,n,t[n]);return e},cK=(e,t)=>sK(e,aK(t)),uK=ao((e,t,{size:n})=>({item:cK(JC({},e.fn.fontStyles()),{boxSizing:"border-box",wordBreak:"break-all",textAlign:"left",width:"100%",padding:`calc(${Vt({size:n,sizes:e.spacing})} / 1.5) ${Vt({size:n,sizes:e.spacing})}`,cursor:"pointer",fontSize:Vt({size:n,sizes:e.fontSizes}),color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,borderRadius:e.fn.radius(),"&[data-hovered]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[1]},"&[data-selected]":JC({backgroundColor:e.fn.variant({variant:"filled"}).background,color:e.fn.variant({variant:"filled"}).color},e.fn.hover({backgroundColor:e.fn.variant({variant:"filled"}).hover})),"&[data-disabled]":{cursor:"default",color:e.colors.dark[2]}}),nothingFound:{boxSizing:"border-box",color:e.colors.gray[6],paddingTop:`calc(${Vt({size:n,sizes:e.spacing})} / 2)`,paddingBottom:`calc(${Vt({size:n,sizes:e.spacing})} / 2)`,textAlign:"center"},separator:{boxSizing:"border-box",textAlign:"left",width:"100%",padding:`calc(${Vt({size:n,sizes:e.spacing})} / 1.5) ${Vt({size:n,sizes:e.spacing})}`},separatorLabel:{color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]}}));const dK=uK;var fK=Object.defineProperty,ZC=Object.getOwnPropertySymbols,pK=Object.prototype.hasOwnProperty,hK=Object.prototype.propertyIsEnumerable,e4=(e,t,n)=>t in e?fK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,mK=(e,t)=>{for(var n in t||(t={}))pK.call(t,n)&&e4(e,n,t[n]);if(ZC)for(var n of ZC(t))hK.call(t,n)&&e4(e,n,t[n]);return e};function Ey({data:e,hovered:t,classNames:n,styles:r,isItemSelected:o,uuid:s,__staticSelector:a,onItemHover:c,onItemSelect:d,itemsRefs:p,itemComponent:h,size:m,nothingFound:v,creatable:b,createLabel:w,unstyled:y,variant:S}){const{classes:_}=dK(null,{classNames:n,styles:r,unstyled:y,name:a,variant:S,size:m}),k=[],j=[];let I=null;const E=(R,M)=>{const A=typeof o=="function"?o(R.value):!1;return H.createElement(h,mK({key:R.value,className:_.item,"data-disabled":R.disabled||void 0,"data-hovered":!R.disabled&&t===M||void 0,"data-selected":!R.disabled&&A||void 0,selected:A,onMouseEnter:()=>c(M),id:`${s}-${M}`,role:"option",tabIndex:-1,"aria-selected":t===M,ref:T=>{p&&p.current&&(p.current[R.value]=T)},onMouseDown:R.disabled?null:T=>{T.preventDefault(),d(R)},disabled:R.disabled,variant:S},R))};let O=null;if(e.forEach((R,M)=>{R.creatable?I=M:R.group?(O!==R.group&&(O=R.group,j.push(H.createElement("div",{className:_.separator,key:`__mantine-divider-${M}`},H.createElement(C1,{classNames:{label:_.separatorLabel},label:R.group})))),j.push(E(R,M))):k.push(E(R,M))}),b){const R=e[I];k.push(H.createElement("div",{key:jy(),className:_.item,"data-hovered":t===I||void 0,onMouseEnter:()=>c(I),onMouseDown:M=>{M.preventDefault(),d(R)},tabIndex:-1,ref:M=>{p&&p.current&&(p.current[R.value]=M)}},w))}return j.length>0&&k.length>0&&k.unshift(H.createElement("div",{className:_.separator,key:"empty-group-separator"},H.createElement(C1,null))),j.length>0||k.length>0?H.createElement(H.Fragment,null,j,k):H.createElement(kc,{size:m,unstyled:y,className:_.nothingFound},v)}Ey.displayName="@mantine/core/SelectItems";var gK=Object.defineProperty,Ch=Object.getOwnPropertySymbols,fI=Object.prototype.hasOwnProperty,pI=Object.prototype.propertyIsEnumerable,t4=(e,t,n)=>t in e?gK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vK=(e,t)=>{for(var n in t||(t={}))fI.call(t,n)&&t4(e,n,t[n]);if(Ch)for(var n of Ch(t))pI.call(t,n)&&t4(e,n,t[n]);return e},bK=(e,t)=>{var n={};for(var r in e)fI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ch)for(var r of Ch(e))t.indexOf(r)<0&&pI.call(e,r)&&(n[r]=e[r]);return n};const Oy=f.forwardRef((e,t)=>{var n=e,{label:r,value:o}=n,s=bK(n,["label","value"]);return H.createElement("div",vK({ref:t},s),r||o)});Oy.displayName="@mantine/core/DefaultItem";function yK(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function hI(...e){return t=>e.forEach(n=>yK(n,t))}function bl(...e){return f.useCallback(hI(...e),e)}const mI=f.forwardRef((e,t)=>{const{children:n,...r}=e,o=f.Children.toArray(n),s=o.find(wK);if(s){const a=s.props.children,c=o.map(d=>d===s?f.Children.count(a)>1?f.Children.only(null):f.isValidElement(a)?a.props.children:null:d);return f.createElement(k1,sr({},r,{ref:t}),f.isValidElement(a)?f.cloneElement(a,void 0,c):null)}return f.createElement(k1,sr({},r,{ref:t}),n)});mI.displayName="Slot";const k1=f.forwardRef((e,t)=>{const{children:n,...r}=e;return f.isValidElement(n)?f.cloneElement(n,{...SK(r,n.props),ref:hI(t,n.ref)}):f.Children.count(n)>1?f.Children.only(null):null});k1.displayName="SlotClone";const xK=({children:e})=>f.createElement(f.Fragment,null,e);function wK(e){return f.isValidElement(e)&&e.type===xK}function SK(e,t){const n={...t};for(const r in t){const o=e[r],s=t[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...c)=>{s(...c),o(...c)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...e,...n}}const CK=["a","button","div","h2","h3","img","label","li","nav","ol","p","span","svg","ul"],Wd=CK.reduce((e,t)=>{const n=f.forwardRef((r,o)=>{const{asChild:s,...a}=r,c=s?mI:t;return f.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),f.createElement(c,sr({},a,{ref:o}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),_1=globalThis!=null&&globalThis.document?f.useLayoutEffect:()=>{};function kK(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const Vd=e=>{const{present:t,children:n}=e,r=_K(t),o=typeof n=="function"?n({present:r.isPresent}):f.Children.only(n),s=bl(r.ref,o.ref);return typeof n=="function"||r.isPresent?f.cloneElement(o,{ref:s}):null};Vd.displayName="Presence";function _K(e){const[t,n]=f.useState(),r=f.useRef({}),o=f.useRef(e),s=f.useRef("none"),a=e?"mounted":"unmounted",[c,d]=kK(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return f.useEffect(()=>{const p=cp(r.current);s.current=c==="mounted"?p:"none"},[c]),_1(()=>{const p=r.current,h=o.current;if(h!==e){const v=s.current,b=cp(p);e?d("MOUNT"):b==="none"||(p==null?void 0:p.display)==="none"?d("UNMOUNT"):d(h&&v!==b?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,d]),_1(()=>{if(t){const p=m=>{const b=cp(r.current).includes(m.animationName);m.target===t&&b&&_i.flushSync(()=>d("ANIMATION_END"))},h=m=>{m.target===t&&(s.current=cp(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else d("ANIMATION_END")},[t,d]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:f.useCallback(p=>{p&&(r.current=getComputedStyle(p)),n(p)},[])}}function cp(e){return(e==null?void 0:e.animationName)||"none"}function PK(e,t=[]){let n=[];function r(s,a){const c=f.createContext(a),d=n.length;n=[...n,a];function p(m){const{scope:v,children:b,...w}=m,y=(v==null?void 0:v[e][d])||c,S=f.useMemo(()=>w,Object.values(w));return f.createElement(y.Provider,{value:S},b)}function h(m,v){const b=(v==null?void 0:v[e][d])||c,w=f.useContext(b);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${m}\` must be used within \`${s}\``)}return p.displayName=s+"Provider",[p,h]}const o=()=>{const s=n.map(a=>f.createContext(a));return function(c){const d=(c==null?void 0:c[e])||s;return f.useMemo(()=>({[`__scope${e}`]:{...c,[e]:d}}),[c,d])}};return o.scopeName=e,[r,jK(o,...t)]}function jK(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((c,{useScope:d,scopeName:p})=>{const m=d(s)[`__scope${p}`];return{...c,...m}},{});return f.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}function Gi(e){const t=f.useRef(e);return f.useEffect(()=>{t.current=e}),f.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}const IK=f.createContext(void 0);function EK(e){const t=f.useContext(IK);return e||t||"ltr"}function OK(e,[t,n]){return Math.min(n,Math.max(t,e))}function tl(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function RK(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const gI="ScrollArea",[vI,Mde]=PK(gI),[MK,ds]=vI(gI),DK=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:r="hover",dir:o,scrollHideDelay:s=600,...a}=e,[c,d]=f.useState(null),[p,h]=f.useState(null),[m,v]=f.useState(null),[b,w]=f.useState(null),[y,S]=f.useState(null),[_,k]=f.useState(0),[j,I]=f.useState(0),[E,O]=f.useState(!1),[R,M]=f.useState(!1),A=bl(t,$=>d($)),T=EK(o);return f.createElement(MK,{scope:n,type:r,dir:T,scrollHideDelay:s,scrollArea:c,viewport:p,onViewportChange:h,content:m,onContentChange:v,scrollbarX:b,onScrollbarXChange:w,scrollbarXEnabled:E,onScrollbarXEnabledChange:O,scrollbarY:y,onScrollbarYChange:S,scrollbarYEnabled:R,onScrollbarYEnabledChange:M,onCornerWidthChange:k,onCornerHeightChange:I},f.createElement(Wd.div,sr({dir:T},a,{ref:A,style:{position:"relative","--radix-scroll-area-corner-width":_+"px","--radix-scroll-area-corner-height":j+"px",...e.style}})))}),AK="ScrollAreaViewport",TK=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:r,...o}=e,s=ds(AK,n),a=f.useRef(null),c=bl(t,a,s.onViewportChange);return f.createElement(f.Fragment,null,f.createElement("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"}}),f.createElement(Wd.div,sr({"data-radix-scroll-area-viewport":""},o,{ref:c,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style}}),f.createElement("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"}},r)))}),Wa="ScrollAreaScrollbar",NK=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=ds(Wa,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:a}=o,c=e.orientation==="horizontal";return f.useEffect(()=>(c?s(!0):a(!0),()=>{c?s(!1):a(!1)}),[c,s,a]),o.type==="hover"?f.createElement($K,sr({},r,{ref:t,forceMount:n})):o.type==="scroll"?f.createElement(zK,sr({},r,{ref:t,forceMount:n})):o.type==="auto"?f.createElement(bI,sr({},r,{ref:t,forceMount:n})):o.type==="always"?f.createElement(Ry,sr({},r,{ref:t})):null}),$K=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=ds(Wa,e.__scopeScrollArea),[s,a]=f.useState(!1);return f.useEffect(()=>{const c=o.scrollArea;let d=0;if(c){const p=()=>{window.clearTimeout(d),a(!0)},h=()=>{d=window.setTimeout(()=>a(!1),o.scrollHideDelay)};return c.addEventListener("pointerenter",p),c.addEventListener("pointerleave",h),()=>{window.clearTimeout(d),c.removeEventListener("pointerenter",p),c.removeEventListener("pointerleave",h)}}},[o.scrollArea,o.scrollHideDelay]),f.createElement(Vd,{present:n||s},f.createElement(bI,sr({"data-state":s?"visible":"hidden"},r,{ref:t})))}),zK=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=ds(Wa,e.__scopeScrollArea),s=e.orientation==="horizontal",a=Hm(()=>d("SCROLL_END"),100),[c,d]=RK("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return f.useEffect(()=>{if(c==="idle"){const p=window.setTimeout(()=>d("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(p)}},[c,o.scrollHideDelay,d]),f.useEffect(()=>{const p=o.viewport,h=s?"scrollLeft":"scrollTop";if(p){let m=p[h];const v=()=>{const b=p[h];m!==b&&(d("SCROLL"),a()),m=b};return p.addEventListener("scroll",v),()=>p.removeEventListener("scroll",v)}},[o.viewport,s,d,a]),f.createElement(Vd,{present:n||c!=="hidden"},f.createElement(Ry,sr({"data-state":c==="hidden"?"hidden":"visible"},r,{ref:t,onPointerEnter:tl(e.onPointerEnter,()=>d("POINTER_ENTER")),onPointerLeave:tl(e.onPointerLeave,()=>d("POINTER_LEAVE"))})))}),bI=f.forwardRef((e,t)=>{const n=ds(Wa,e.__scopeScrollArea),{forceMount:r,...o}=e,[s,a]=f.useState(!1),c=e.orientation==="horizontal",d=Hm(()=>{if(n.viewport){const p=n.viewport.offsetWidth{const{orientation:n="vertical",...r}=e,o=ds(Wa,e.__scopeScrollArea),s=f.useRef(null),a=f.useRef(0),[c,d]=f.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),p=SI(c.viewport,c.content),h={...r,sizes:c,onSizesChange:d,hasThumb:p>0&&p<1,onThumbChange:v=>s.current=v,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:v=>a.current=v};function m(v,b){return GK(v,a.current,c,b)}return n==="horizontal"?f.createElement(LK,sr({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollLeft,b=n4(v,c,o.dir);s.current.style.transform=`translate3d(${b}px, 0, 0)`}},onWheelScroll:v=>{o.viewport&&(o.viewport.scrollLeft=v)},onDragScroll:v=>{o.viewport&&(o.viewport.scrollLeft=m(v,o.dir))}})):n==="vertical"?f.createElement(BK,sr({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollTop,b=n4(v,c);s.current.style.transform=`translate3d(0, ${b}px, 0)`}},onWheelScroll:v=>{o.viewport&&(o.viewport.scrollTop=v)},onDragScroll:v=>{o.viewport&&(o.viewport.scrollTop=m(v))}})):null}),LK=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=ds(Wa,e.__scopeScrollArea),[a,c]=f.useState(),d=f.useRef(null),p=bl(t,d,s.onScrollbarXChange);return f.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),f.createElement(xI,sr({"data-orientation":"horizontal"},o,{ref:p,sizes:n,style:{bottom:0,left:s.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:s.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Fm(n)+"px",...e.style},onThumbPointerDown:h=>e.onThumbPointerDown(h.x),onDragScroll:h=>e.onDragScroll(h.x),onWheelScroll:(h,m)=>{if(s.viewport){const v=s.viewport.scrollLeft+h.deltaX;e.onWheelScroll(v),kI(v,m)&&h.preventDefault()}},onResize:()=>{d.current&&s.viewport&&a&&r({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:kh(a.paddingLeft),paddingEnd:kh(a.paddingRight)}})}}))}),BK=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=ds(Wa,e.__scopeScrollArea),[a,c]=f.useState(),d=f.useRef(null),p=bl(t,d,s.onScrollbarYChange);return f.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),f.createElement(xI,sr({"data-orientation":"vertical"},o,{ref:p,sizes:n,style:{top:0,right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Fm(n)+"px",...e.style},onThumbPointerDown:h=>e.onThumbPointerDown(h.y),onDragScroll:h=>e.onDragScroll(h.y),onWheelScroll:(h,m)=>{if(s.viewport){const v=s.viewport.scrollTop+h.deltaY;e.onWheelScroll(v),kI(v,m)&&h.preventDefault()}},onResize:()=>{d.current&&s.viewport&&a&&r({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:kh(a.paddingTop),paddingEnd:kh(a.paddingBottom)}})}}))}),[FK,yI]=vI(Wa),xI=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:o,onThumbChange:s,onThumbPointerUp:a,onThumbPointerDown:c,onThumbPositionChange:d,onDragScroll:p,onWheelScroll:h,onResize:m,...v}=e,b=ds(Wa,n),[w,y]=f.useState(null),S=bl(t,A=>y(A)),_=f.useRef(null),k=f.useRef(""),j=b.viewport,I=r.content-r.viewport,E=Gi(h),O=Gi(d),R=Hm(m,10);function M(A){if(_.current){const T=A.clientX-_.current.left,$=A.clientY-_.current.top;p({x:T,y:$})}}return f.useEffect(()=>{const A=T=>{const $=T.target;(w==null?void 0:w.contains($))&&E(T,I)};return document.addEventListener("wheel",A,{passive:!1}),()=>document.removeEventListener("wheel",A,{passive:!1})},[j,w,I,E]),f.useEffect(O,[r,O]),_c(w,R),_c(b.content,R),f.createElement(FK,{scope:n,scrollbar:w,hasThumb:o,onThumbChange:Gi(s),onThumbPointerUp:Gi(a),onThumbPositionChange:O,onThumbPointerDown:Gi(c)},f.createElement(Wd.div,sr({},v,{ref:S,style:{position:"absolute",...v.style},onPointerDown:tl(e.onPointerDown,A=>{A.button===0&&(A.target.setPointerCapture(A.pointerId),_.current=w.getBoundingClientRect(),k.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",M(A))}),onPointerMove:tl(e.onPointerMove,M),onPointerUp:tl(e.onPointerUp,A=>{const T=A.target;T.hasPointerCapture(A.pointerId)&&T.releasePointerCapture(A.pointerId),document.body.style.webkitUserSelect=k.current,_.current=null})})))}),P1="ScrollAreaThumb",HK=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=yI(P1,e.__scopeScrollArea);return f.createElement(Vd,{present:n||o.hasThumb},f.createElement(WK,sr({ref:t},r)))}),WK=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:r,...o}=e,s=ds(P1,n),a=yI(P1,n),{onThumbPositionChange:c}=a,d=bl(t,m=>a.onThumbChange(m)),p=f.useRef(),h=Hm(()=>{p.current&&(p.current(),p.current=void 0)},100);return f.useEffect(()=>{const m=s.viewport;if(m){const v=()=>{if(h(),!p.current){const b=qK(m,c);p.current=b,c()}};return c(),m.addEventListener("scroll",v),()=>m.removeEventListener("scroll",v)}},[s.viewport,h,c]),f.createElement(Wd.div,sr({"data-state":a.hasThumb?"visible":"hidden"},o,{ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:tl(e.onPointerDownCapture,m=>{const b=m.target.getBoundingClientRect(),w=m.clientX-b.left,y=m.clientY-b.top;a.onThumbPointerDown({x:w,y})}),onPointerUp:tl(e.onPointerUp,a.onThumbPointerUp)}))}),wI="ScrollAreaCorner",VK=f.forwardRef((e,t)=>{const n=ds(wI,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?f.createElement(UK,sr({},e,{ref:t})):null}),UK=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,...r}=e,o=ds(wI,n),[s,a]=f.useState(0),[c,d]=f.useState(0),p=!!(s&&c);return _c(o.scrollbarX,()=>{var h;const m=((h=o.scrollbarX)===null||h===void 0?void 0:h.offsetHeight)||0;o.onCornerHeightChange(m),d(m)}),_c(o.scrollbarY,()=>{var h;const m=((h=o.scrollbarY)===null||h===void 0?void 0:h.offsetWidth)||0;o.onCornerWidthChange(m),a(m)}),p?f.createElement(Wd.div,sr({},r,{ref:t,style:{width:s,height:c,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}})):null});function kh(e){return e?parseInt(e,10):0}function SI(e,t){const n=e/t;return isNaN(n)?0:n}function Fm(e){const t=SI(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function GK(e,t,n,r="ltr"){const o=Fm(n),s=o/2,a=t||s,c=o-a,d=n.scrollbar.paddingStart+a,p=n.scrollbar.size-n.scrollbar.paddingEnd-c,h=n.content-n.viewport,m=r==="ltr"?[0,h]:[h*-1,0];return CI([d,p],m)(e)}function n4(e,t,n="ltr"){const r=Fm(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=t.scrollbar.size-o,a=t.content-t.viewport,c=s-r,d=n==="ltr"?[0,a]:[a*-1,0],p=OK(e,d);return CI([0,a],[0,c])(p)}function CI(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function kI(e,t){return e>0&&e{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return function o(){const s={left:e.scrollLeft,top:e.scrollTop},a=n.left!==s.left,c=n.top!==s.top;(a||c)&&t(),n=s,r=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(r)};function Hm(e,t){const n=Gi(e),r=f.useRef(0);return f.useEffect(()=>()=>window.clearTimeout(r.current),[]),f.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function _c(e,t){const n=Gi(t);_1(()=>{let r=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return o.observe(e),()=>{window.cancelAnimationFrame(r),o.unobserve(e)}}},[e,n])}const KK=DK,XK=TK,r4=NK,o4=HK,YK=VK;var QK=ao((e,{scrollbarSize:t,offsetScrollbars:n,scrollbarHovered:r,hidden:o})=>({root:{overflow:"hidden"},viewport:{width:"100%",height:"100%",paddingRight:n?Ue(t):void 0,paddingBottom:n?Ue(t):void 0},scrollbar:{display:o?"none":"flex",userSelect:"none",touchAction:"none",boxSizing:"border-box",padding:`calc(${Ue(t)} / 5)`,transition:"background-color 150ms ease, opacity 150ms ease","&:hover":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[8]:e.colors.gray[0],[`& .${cC("thumb")}`]:{backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.white,.5):e.fn.rgba(e.black,.5)}},'&[data-orientation="vertical"]':{width:Ue(t)},'&[data-orientation="horizontal"]':{flexDirection:"column",height:Ue(t)},'&[data-state="hidden"]':{display:"none",opacity:0}},thumb:{ref:cC("thumb"),flex:1,backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.white,.4):e.fn.rgba(e.black,.4),borderRadius:Ue(t),position:"relative",transition:"background-color 150ms ease",display:o?"none":void 0,overflow:"hidden","&::before":{content:'""',position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"100%",height:"100%",minWidth:Ue(44),minHeight:Ue(44)}},corner:{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[0],transition:"opacity 150ms ease",opacity:r?1:0,display:o?"none":void 0}}));const JK=QK;var ZK=Object.defineProperty,eX=Object.defineProperties,tX=Object.getOwnPropertyDescriptors,_h=Object.getOwnPropertySymbols,_I=Object.prototype.hasOwnProperty,PI=Object.prototype.propertyIsEnumerable,s4=(e,t,n)=>t in e?ZK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,j1=(e,t)=>{for(var n in t||(t={}))_I.call(t,n)&&s4(e,n,t[n]);if(_h)for(var n of _h(t))PI.call(t,n)&&s4(e,n,t[n]);return e},jI=(e,t)=>eX(e,tX(t)),II=(e,t)=>{var n={};for(var r in e)_I.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&_h)for(var r of _h(e))t.indexOf(r)<0&&PI.call(e,r)&&(n[r]=e[r]);return n};const EI={scrollbarSize:12,scrollHideDelay:1e3,type:"hover",offsetScrollbars:!1},Wm=f.forwardRef((e,t)=>{const n=Sr("ScrollArea",EI,e),{children:r,className:o,classNames:s,styles:a,scrollbarSize:c,scrollHideDelay:d,type:p,dir:h,offsetScrollbars:m,viewportRef:v,onScrollPositionChange:b,unstyled:w,variant:y,viewportProps:S}=n,_=II(n,["children","className","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","variant","viewportProps"]),[k,j]=f.useState(!1),I=Fa(),{classes:E,cx:O}=JK({scrollbarSize:c,offsetScrollbars:m,scrollbarHovered:k,hidden:p==="never"},{name:"ScrollArea",classNames:s,styles:a,unstyled:w,variant:y});return H.createElement(KK,{type:p==="never"?"always":p,scrollHideDelay:d,dir:h||I.dir,ref:t,asChild:!0},H.createElement(Io,j1({className:O(E.root,o)},_),H.createElement(XK,jI(j1({},S),{className:E.viewport,ref:v,onScroll:typeof b=="function"?({currentTarget:R})=>b({x:R.scrollLeft,y:R.scrollTop}):void 0}),r),H.createElement(r4,{orientation:"horizontal",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>j(!0),onMouseLeave:()=>j(!1)},H.createElement(o4,{className:E.thumb})),H.createElement(r4,{orientation:"vertical",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>j(!0),onMouseLeave:()=>j(!1)},H.createElement(o4,{className:E.thumb})),H.createElement(YK,{className:E.corner})))}),OI=f.forwardRef((e,t)=>{const n=Sr("ScrollAreaAutosize",EI,e),{children:r,classNames:o,styles:s,scrollbarSize:a,scrollHideDelay:c,type:d,dir:p,offsetScrollbars:h,viewportRef:m,onScrollPositionChange:v,unstyled:b,sx:w,variant:y,viewportProps:S}=n,_=II(n,["children","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","sx","variant","viewportProps"]);return H.createElement(Io,jI(j1({},_),{ref:t,sx:[{display:"flex"},...vj(w)]}),H.createElement(Io,{sx:{display:"flex",flexDirection:"column",flex:1}},H.createElement(Wm,{classNames:o,styles:s,scrollHideDelay:c,scrollbarSize:a,type:d,dir:p,offsetScrollbars:h,viewportRef:m,onScrollPositionChange:v,unstyled:b,variant:y,viewportProps:S},r)))});OI.displayName="@mantine/core/ScrollAreaAutosize";Wm.displayName="@mantine/core/ScrollArea";Wm.Autosize=OI;const RI=Wm;var nX=Object.defineProperty,rX=Object.defineProperties,oX=Object.getOwnPropertyDescriptors,Ph=Object.getOwnPropertySymbols,MI=Object.prototype.hasOwnProperty,DI=Object.prototype.propertyIsEnumerable,a4=(e,t,n)=>t in e?nX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,i4=(e,t)=>{for(var n in t||(t={}))MI.call(t,n)&&a4(e,n,t[n]);if(Ph)for(var n of Ph(t))DI.call(t,n)&&a4(e,n,t[n]);return e},sX=(e,t)=>rX(e,oX(t)),aX=(e,t)=>{var n={};for(var r in e)MI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ph)for(var r of Ph(e))t.indexOf(r)<0&&DI.call(e,r)&&(n[r]=e[r]);return n};const Vm=f.forwardRef((e,t)=>{var n=e,{style:r}=n,o=aX(n,["style"]);return H.createElement(RI,sX(i4({},o),{style:i4({width:"100%"},r),viewportProps:{tabIndex:-1},viewportRef:t}),o.children)});Vm.displayName="@mantine/core/SelectScrollArea";var iX=ao(()=>({dropdown:{},itemsWrapper:{padding:Ue(4),display:"flex",width:"100%",boxSizing:"border-box"}}));const lX=iX;function Uc(e){return e.split("-")[1]}function My(e){return e==="y"?"height":"width"}function js(e){return e.split("-")[0]}function Oi(e){return["top","bottom"].includes(js(e))?"x":"y"}function l4(e,t,n){let{reference:r,floating:o}=e;const s=r.x+r.width/2-o.width/2,a=r.y+r.height/2-o.height/2,c=Oi(t),d=My(c),p=r[d]/2-o[d]/2,h=c==="x";let m;switch(js(t)){case"top":m={x:s,y:r.y-o.height};break;case"bottom":m={x:s,y:r.y+r.height};break;case"right":m={x:r.x+r.width,y:a};break;case"left":m={x:r.x-o.width,y:a};break;default:m={x:r.x,y:r.y}}switch(Uc(t)){case"start":m[c]-=p*(n&&h?-1:1);break;case"end":m[c]+=p*(n&&h?-1:1)}return m}const cX=async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:s=[],platform:a}=n,c=s.filter(Boolean),d=await(a.isRTL==null?void 0:a.isRTL(t));let p=await a.getElementRects({reference:e,floating:t,strategy:o}),{x:h,y:m}=l4(p,r,d),v=r,b={},w=0;for(let y=0;y({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:o,rects:s,platform:a,elements:c}=t,{element:d,padding:p=0}=Na(e,t)||{};if(d==null)return{};const h=Dy(p),m={x:n,y:r},v=Oi(o),b=My(v),w=await a.getDimensions(d),y=v==="y",S=y?"top":"left",_=y?"bottom":"right",k=y?"clientHeight":"clientWidth",j=s.reference[b]+s.reference[v]-m[v]-s.floating[b],I=m[v]-s.reference[v],E=await(a.getOffsetParent==null?void 0:a.getOffsetParent(d));let O=E?E[k]:0;O&&await(a.isElement==null?void 0:a.isElement(E))||(O=c.floating[k]||s.floating[b]);const R=j/2-I/2,M=O/2-w[b]/2-1,A=gi(h[S],M),T=gi(h[_],M),$=A,Q=O-w[b]-T,B=O/2-w[b]/2+R,V=I1($,B,Q),q=Uc(o)!=null&&B!=V&&s.reference[b]/2-(B<$?A:T)-w[b]/2<0?B<$?$-B:Q-B:0;return{[v]:m[v]-q,data:{[v]:V,centerOffset:B-V+q}}}}),uX=["top","right","bottom","left"];uX.reduce((e,t)=>e.concat(t,t+"-start",t+"-end"),[]);const dX={left:"right",right:"left",bottom:"top",top:"bottom"};function jh(e){return e.replace(/left|right|bottom|top/g,t=>dX[t])}function fX(e,t,n){n===void 0&&(n=!1);const r=Uc(e),o=Oi(e),s=My(o);let a=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(a=jh(a)),{main:a,cross:jh(a)}}const pX={start:"end",end:"start"};function ov(e){return e.replace(/start|end/g,t=>pX[t])}const hX=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n;const{placement:r,middlewareData:o,rects:s,initialPlacement:a,platform:c,elements:d}=t,{mainAxis:p=!0,crossAxis:h=!0,fallbackPlacements:m,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:w=!0,...y}=Na(e,t),S=js(r),_=js(a)===a,k=await(c.isRTL==null?void 0:c.isRTL(d.floating)),j=m||(_||!w?[jh(a)]:function($){const Q=jh($);return[ov($),Q,ov(Q)]}(a));m||b==="none"||j.push(...function($,Q,B,V){const q=Uc($);let G=function(D,L,W){const Y=["left","right"],ae=["right","left"],be=["top","bottom"],ie=["bottom","top"];switch(D){case"top":case"bottom":return W?L?ae:Y:L?Y:ae;case"left":case"right":return L?be:ie;default:return[]}}(js($),B==="start",V);return q&&(G=G.map(D=>D+"-"+q),Q&&(G=G.concat(G.map(ov)))),G}(a,w,b,k));const I=[a,...j],E=await Ay(t,y),O=[];let R=((n=o.flip)==null?void 0:n.overflows)||[];if(p&&O.push(E[S]),h){const{main:$,cross:Q}=fX(r,s,k);O.push(E[$],E[Q])}if(R=[...R,{placement:r,overflows:O}],!O.every($=>$<=0)){var M,A;const $=(((M=o.flip)==null?void 0:M.index)||0)+1,Q=I[$];if(Q)return{data:{index:$,overflows:R},reset:{placement:Q}};let B=(A=R.filter(V=>V.overflows[0]<=0).sort((V,q)=>V.overflows[1]-q.overflows[1])[0])==null?void 0:A.placement;if(!B)switch(v){case"bestFit":{var T;const V=(T=R.map(q=>[q.placement,q.overflows.filter(G=>G>0).reduce((G,D)=>G+D,0)]).sort((q,G)=>q[1]-G[1])[0])==null?void 0:T[0];V&&(B=V);break}case"initialPlacement":B=a}if(r!==B)return{reset:{placement:B}}}return{}}}};function u4(e){const t=gi(...e.map(r=>r.left)),n=gi(...e.map(r=>r.top));return{x:t,y:n,width:Ks(...e.map(r=>r.right))-t,height:Ks(...e.map(r=>r.bottom))-n}}const mX=function(e){return e===void 0&&(e={}),{name:"inline",options:e,async fn(t){const{placement:n,elements:r,rects:o,platform:s,strategy:a}=t,{padding:c=2,x:d,y:p}=Na(e,t),h=Array.from(await(s.getClientRects==null?void 0:s.getClientRects(r.reference))||[]),m=function(y){const S=y.slice().sort((j,I)=>j.y-I.y),_=[];let k=null;for(let j=0;jk.height/2?_.push([I]):_[_.length-1].push(I),k=I}return _.map(j=>Pc(u4(j)))}(h),v=Pc(u4(h)),b=Dy(c),w=await s.getElementRects({reference:{getBoundingClientRect:function(){if(m.length===2&&m[0].left>m[1].right&&d!=null&&p!=null)return m.find(y=>d>y.left-b.left&&dy.top-b.top&&p=2){if(Oi(n)==="x"){const E=m[0],O=m[m.length-1],R=js(n)==="top",M=E.top,A=O.bottom,T=R?E.left:O.left,$=R?E.right:O.right;return{top:M,bottom:A,left:T,right:$,width:$-T,height:A-M,x:T,y:M}}const y=js(n)==="left",S=Ks(...m.map(E=>E.right)),_=gi(...m.map(E=>E.left)),k=m.filter(E=>y?E.left===_:E.right===S),j=k[0].top,I=k[k.length-1].bottom;return{top:j,bottom:I,left:_,right:S,width:S-_,height:I-j,x:_,y:j}}return v}},floating:r.floating,strategy:a});return o.reference.x!==w.reference.x||o.reference.y!==w.reference.y||o.reference.width!==w.reference.width||o.reference.height!==w.reference.height?{reset:{rects:w}}:{}}}},gX=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){const{x:n,y:r}=t,o=await async function(s,a){const{placement:c,platform:d,elements:p}=s,h=await(d.isRTL==null?void 0:d.isRTL(p.floating)),m=js(c),v=Uc(c),b=Oi(c)==="x",w=["left","top"].includes(m)?-1:1,y=h&&b?-1:1,S=Na(a,s);let{mainAxis:_,crossAxis:k,alignmentAxis:j}=typeof S=="number"?{mainAxis:S,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...S};return v&&typeof j=="number"&&(k=v==="end"?-1*j:j),b?{x:k*y,y:_*w}:{x:_*w,y:k*y}}(t,e);return{x:n+o.x,y:r+o.y,data:o}}}};function AI(e){return e==="x"?"y":"x"}const vX=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o}=t,{mainAxis:s=!0,crossAxis:a=!1,limiter:c={fn:S=>{let{x:_,y:k}=S;return{x:_,y:k}}},...d}=Na(e,t),p={x:n,y:r},h=await Ay(t,d),m=Oi(js(o)),v=AI(m);let b=p[m],w=p[v];if(s){const S=m==="y"?"bottom":"right";b=I1(b+h[m==="y"?"top":"left"],b,b-h[S])}if(a){const S=v==="y"?"bottom":"right";w=I1(w+h[v==="y"?"top":"left"],w,w-h[S])}const y=c.fn({...t,[m]:b,[v]:w});return{...y,data:{x:y.x-n,y:y.y-r}}}}},bX=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:o,rects:s,middlewareData:a}=t,{offset:c=0,mainAxis:d=!0,crossAxis:p=!0}=Na(e,t),h={x:n,y:r},m=Oi(o),v=AI(m);let b=h[m],w=h[v];const y=Na(c,t),S=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(d){const j=m==="y"?"height":"width",I=s.reference[m]-s.floating[j]+S.mainAxis,E=s.reference[m]+s.reference[j]-S.mainAxis;bE&&(b=E)}if(p){var _,k;const j=m==="y"?"width":"height",I=["top","left"].includes(js(o)),E=s.reference[v]-s.floating[j]+(I&&((_=a.offset)==null?void 0:_[v])||0)+(I?0:S.crossAxis),O=s.reference[v]+s.reference[j]+(I?0:((k=a.offset)==null?void 0:k[v])||0)-(I?S.crossAxis:0);wO&&(w=O)}return{[m]:b,[v]:w}}}},yX=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:r,platform:o,elements:s}=t,{apply:a=()=>{},...c}=Na(e,t),d=await Ay(t,c),p=js(n),h=Uc(n),m=Oi(n)==="x",{width:v,height:b}=r.floating;let w,y;p==="top"||p==="bottom"?(w=p,y=h===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?"start":"end")?"left":"right"):(y=p,w=h==="end"?"top":"bottom");const S=b-d[w],_=v-d[y],k=!t.middlewareData.shift;let j=S,I=_;if(m){const O=v-d.left-d.right;I=h||k?gi(_,O):O}else{const O=b-d.top-d.bottom;j=h||k?gi(S,O):O}if(k&&!h){const O=Ks(d.left,0),R=Ks(d.right,0),M=Ks(d.top,0),A=Ks(d.bottom,0);m?I=v-2*(O!==0||R!==0?O+R:Ks(d.left,d.right)):j=b-2*(M!==0||A!==0?M+A:Ks(d.top,d.bottom))}await a({...t,availableWidth:I,availableHeight:j});const E=await o.getDimensions(s.floating);return v!==E.width||b!==E.height?{reset:{rects:!0}}:{}}}};function zo(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function sa(e){return zo(e).getComputedStyle(e)}function TI(e){return e instanceof zo(e).Node}function vi(e){return TI(e)?(e.nodeName||"").toLowerCase():"#document"}function Ms(e){return e instanceof HTMLElement||e instanceof zo(e).HTMLElement}function d4(e){return typeof ShadowRoot<"u"&&(e instanceof zo(e).ShadowRoot||e instanceof ShadowRoot)}function fd(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=sa(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(o)}function xX(e){return["table","td","th"].includes(vi(e))}function E1(e){const t=Ty(),n=sa(e);return n.transform!=="none"||n.perspective!=="none"||!!n.containerType&&n.containerType!=="normal"||!t&&!!n.backdropFilter&&n.backdropFilter!=="none"||!t&&!!n.filter&&n.filter!=="none"||["transform","perspective","filter"].some(r=>(n.willChange||"").includes(r))||["paint","layout","strict","content"].some(r=>(n.contain||"").includes(r))}function Ty(){return!(typeof CSS>"u"||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function Um(e){return["html","body","#document"].includes(vi(e))}const O1=Math.min,pc=Math.max,Ih=Math.round,up=Math.floor,bi=e=>({x:e,y:e});function NI(e){const t=sa(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=Ms(e),s=o?e.offsetWidth:n,a=o?e.offsetHeight:r,c=Ih(n)!==s||Ih(r)!==a;return c&&(n=s,r=a),{width:n,height:r,$:c}}function Pa(e){return e instanceof Element||e instanceof zo(e).Element}function Ny(e){return Pa(e)?e:e.contextElement}function hc(e){const t=Ny(e);if(!Ms(t))return bi(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:s}=NI(t);let a=(s?Ih(n.width):n.width)/r,c=(s?Ih(n.height):n.height)/o;return a&&Number.isFinite(a)||(a=1),c&&Number.isFinite(c)||(c=1),{x:a,y:c}}const wX=bi(0);function $I(e){const t=zo(e);return Ty()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:wX}function dl(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),s=Ny(e);let a=bi(1);t&&(r?Pa(r)&&(a=hc(r)):a=hc(e));const c=function(v,b,w){return b===void 0&&(b=!1),!(!w||b&&w!==zo(v))&&b}(s,n,r)?$I(s):bi(0);let d=(o.left+c.x)/a.x,p=(o.top+c.y)/a.y,h=o.width/a.x,m=o.height/a.y;if(s){const v=zo(s),b=r&&Pa(r)?zo(r):r;let w=v.frameElement;for(;w&&r&&b!==v;){const y=hc(w),S=w.getBoundingClientRect(),_=getComputedStyle(w),k=S.left+(w.clientLeft+parseFloat(_.paddingLeft))*y.x,j=S.top+(w.clientTop+parseFloat(_.paddingTop))*y.y;d*=y.x,p*=y.y,h*=y.x,m*=y.y,d+=k,p+=j,w=zo(w).frameElement}}return Pc({width:h,height:m,x:d,y:p})}function Gm(e){return Pa(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function ja(e){var t;return(t=(TI(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function zI(e){return dl(ja(e)).left+Gm(e).scrollLeft}function jc(e){if(vi(e)==="html")return e;const t=e.assignedSlot||e.parentNode||d4(e)&&e.host||ja(e);return d4(t)?t.host:t}function LI(e){const t=jc(e);return Um(t)?e.ownerDocument?e.ownerDocument.body:e.body:Ms(t)&&fd(t)?t:LI(t)}function Eh(e,t){var n;t===void 0&&(t=[]);const r=LI(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=zo(r);return o?t.concat(s,s.visualViewport||[],fd(r)?r:[]):t.concat(r,Eh(r))}function f4(e,t,n){let r;if(t==="viewport")r=function(o,s){const a=zo(o),c=ja(o),d=a.visualViewport;let p=c.clientWidth,h=c.clientHeight,m=0,v=0;if(d){p=d.width,h=d.height;const b=Ty();(!b||b&&s==="fixed")&&(m=d.offsetLeft,v=d.offsetTop)}return{width:p,height:h,x:m,y:v}}(e,n);else if(t==="document")r=function(o){const s=ja(o),a=Gm(o),c=o.ownerDocument.body,d=pc(s.scrollWidth,s.clientWidth,c.scrollWidth,c.clientWidth),p=pc(s.scrollHeight,s.clientHeight,c.scrollHeight,c.clientHeight);let h=-a.scrollLeft+zI(o);const m=-a.scrollTop;return sa(c).direction==="rtl"&&(h+=pc(s.clientWidth,c.clientWidth)-d),{width:d,height:p,x:h,y:m}}(ja(e));else if(Pa(t))r=function(o,s){const a=dl(o,!0,s==="fixed"),c=a.top+o.clientTop,d=a.left+o.clientLeft,p=Ms(o)?hc(o):bi(1);return{width:o.clientWidth*p.x,height:o.clientHeight*p.y,x:d*p.x,y:c*p.y}}(t,n);else{const o=$I(e);r={...t,x:t.x-o.x,y:t.y-o.y}}return Pc(r)}function BI(e,t){const n=jc(e);return!(n===t||!Pa(n)||Um(n))&&(sa(n).position==="fixed"||BI(n,t))}function SX(e,t,n){const r=Ms(t),o=ja(t),s=n==="fixed",a=dl(e,!0,s,t);let c={scrollLeft:0,scrollTop:0};const d=bi(0);if(r||!r&&!s)if((vi(t)!=="body"||fd(o))&&(c=Gm(t)),Ms(t)){const p=dl(t,!0,s,t);d.x=p.x+t.clientLeft,d.y=p.y+t.clientTop}else o&&(d.x=zI(o));return{x:a.left+c.scrollLeft-d.x,y:a.top+c.scrollTop-d.y,width:a.width,height:a.height}}function p4(e,t){return Ms(e)&&sa(e).position!=="fixed"?t?t(e):e.offsetParent:null}function h4(e,t){const n=zo(e);if(!Ms(e))return n;let r=p4(e,t);for(;r&&xX(r)&&sa(r).position==="static";)r=p4(r,t);return r&&(vi(r)==="html"||vi(r)==="body"&&sa(r).position==="static"&&!E1(r))?n:r||function(o){let s=jc(o);for(;Ms(s)&&!Um(s);){if(E1(s))return s;s=jc(s)}return null}(e)||n}const CX={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{rect:t,offsetParent:n,strategy:r}=e;const o=Ms(n),s=ja(n);if(n===s)return t;let a={scrollLeft:0,scrollTop:0},c=bi(1);const d=bi(0);if((o||!o&&r!=="fixed")&&((vi(n)!=="body"||fd(s))&&(a=Gm(n)),Ms(n))){const p=dl(n);c=hc(n),d.x=p.x+n.clientLeft,d.y=p.y+n.clientTop}return{width:t.width*c.x,height:t.height*c.y,x:t.x*c.x-a.scrollLeft*c.x+d.x,y:t.y*c.y-a.scrollTop*c.y+d.y}},getDocumentElement:ja,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const s=[...n==="clippingAncestors"?function(d,p){const h=p.get(d);if(h)return h;let m=Eh(d).filter(y=>Pa(y)&&vi(y)!=="body"),v=null;const b=sa(d).position==="fixed";let w=b?jc(d):d;for(;Pa(w)&&!Um(w);){const y=sa(w),S=E1(w);S||y.position!=="fixed"||(v=null),(b?!S&&!v:!S&&y.position==="static"&&v&&["absolute","fixed"].includes(v.position)||fd(w)&&!S&&BI(d,w))?m=m.filter(_=>_!==w):v=y,w=jc(w)}return p.set(d,m),m}(t,this._c):[].concat(n),r],a=s[0],c=s.reduce((d,p)=>{const h=f4(t,p,o);return d.top=pc(h.top,d.top),d.right=O1(h.right,d.right),d.bottom=O1(h.bottom,d.bottom),d.left=pc(h.left,d.left),d},f4(t,a,o));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}},getOffsetParent:h4,getElementRects:async function(e){let{reference:t,floating:n,strategy:r}=e;const o=this.getOffsetParent||h4,s=this.getDimensions;return{reference:SX(t,await o(n),r),floating:{x:0,y:0,...await s(n)}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){return NI(e)},getScale:hc,isElement:Pa,isRTL:function(e){return getComputedStyle(e).direction==="rtl"}};function kX(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:d=!1}=r,p=Ny(e),h=o||s?[...p?Eh(p):[],...Eh(t)]:[];h.forEach(S=>{o&&S.addEventListener("scroll",n,{passive:!0}),s&&S.addEventListener("resize",n)});const m=p&&c?function(S,_){let k,j=null;const I=ja(S);function E(){clearTimeout(k),j&&j.disconnect(),j=null}return function O(R,M){R===void 0&&(R=!1),M===void 0&&(M=1),E();const{left:A,top:T,width:$,height:Q}=S.getBoundingClientRect();if(R||_(),!$||!Q)return;const B={rootMargin:-up(T)+"px "+-up(I.clientWidth-(A+$))+"px "+-up(I.clientHeight-(T+Q))+"px "+-up(A)+"px",threshold:pc(0,O1(1,M))||1};let V=!0;function q(G){const D=G[0].intersectionRatio;if(D!==M){if(!V)return O();D?O(!1,D):k=setTimeout(()=>{O(!1,1e-7)},100)}V=!1}try{j=new IntersectionObserver(q,{...B,root:I.ownerDocument})}catch{j=new IntersectionObserver(q,B)}j.observe(S)}(!0),E}(p,n):null;let v,b=-1,w=null;a&&(w=new ResizeObserver(S=>{let[_]=S;_&&_.target===p&&w&&(w.unobserve(t),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{w&&w.observe(t)})),n()}),p&&!d&&w.observe(p),w.observe(t));let y=d?dl(e):null;return d&&function S(){const _=dl(e);!y||_.x===y.x&&_.y===y.y&&_.width===y.width&&_.height===y.height||n(),y=_,v=requestAnimationFrame(S)}(),n(),()=>{h.forEach(S=>{o&&S.removeEventListener("scroll",n),s&&S.removeEventListener("resize",n)}),m&&m(),w&&w.disconnect(),w=null,d&&cancelAnimationFrame(v)}}const _X=(e,t,n)=>{const r=new Map,o={platform:CX,...n},s={...o.platform,_c:r};return cX(e,t,{...o,platform:s})},PX=e=>{const{element:t,padding:n}=e;function r(o){return Object.prototype.hasOwnProperty.call(o,"current")}return{name:"arrow",options:e,fn(o){return r(t)?t.current!=null?c4({element:t.current,padding:n}).fn(o):{}:t?c4({element:t,padding:n}).fn(o):{}}}};var Dp=typeof document<"u"?f.useLayoutEffect:f.useEffect;function Oh(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Oh(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){const s=o[r];if(!(s==="_owner"&&e.$$typeof)&&!Oh(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function m4(e){const t=f.useRef(e);return Dp(()=>{t.current=e}),t}function jX(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,whileElementsMounted:s,open:a}=e,[c,d]=f.useState({x:null,y:null,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,h]=f.useState(r);Oh(p,r)||h(r);const m=f.useRef(null),v=f.useRef(null),b=f.useRef(c),w=m4(s),y=m4(o),[S,_]=f.useState(null),[k,j]=f.useState(null),I=f.useCallback(T=>{m.current!==T&&(m.current=T,_(T))},[]),E=f.useCallback(T=>{v.current!==T&&(v.current=T,j(T))},[]),O=f.useCallback(()=>{if(!m.current||!v.current)return;const T={placement:t,strategy:n,middleware:p};y.current&&(T.platform=y.current),_X(m.current,v.current,T).then($=>{const Q={...$,isPositioned:!0};R.current&&!Oh(b.current,Q)&&(b.current=Q,_i.flushSync(()=>{d(Q)}))})},[p,t,n,y]);Dp(()=>{a===!1&&b.current.isPositioned&&(b.current.isPositioned=!1,d(T=>({...T,isPositioned:!1})))},[a]);const R=f.useRef(!1);Dp(()=>(R.current=!0,()=>{R.current=!1}),[]),Dp(()=>{if(S&&k){if(w.current)return w.current(S,k,O);O()}},[S,k,O,w]);const M=f.useMemo(()=>({reference:m,floating:v,setReference:I,setFloating:E}),[I,E]),A=f.useMemo(()=>({reference:S,floating:k}),[S,k]);return f.useMemo(()=>({...c,update:O,refs:M,elements:A,reference:I,floating:E}),[c,O,M,A,I,E])}var IX=typeof document<"u"?f.useLayoutEffect:f.useEffect;function EX(){const e=new Map;return{emit(t,n){var r;(r=e.get(t))==null||r.forEach(o=>o(n))},on(t,n){e.set(t,[...e.get(t)||[],n])},off(t,n){e.set(t,(e.get(t)||[]).filter(r=>r!==n))}}}const OX=f.createContext(null),RX=()=>f.useContext(OX);function MX(e){return(e==null?void 0:e.ownerDocument)||document}function DX(e){return MX(e).defaultView||window}function dp(e){return e?e instanceof DX(e).Element:!1}const AX=J1["useInsertionEffect".toString()],TX=AX||(e=>e());function NX(e){const t=f.useRef(()=>{});return TX(()=>{t.current=e}),f.useCallback(function(){for(var n=arguments.length,r=new Array(n),o=0;oEX())[0],[p,h]=f.useState(null),m=f.useCallback(_=>{const k=dp(_)?{getBoundingClientRect:()=>_.getBoundingClientRect(),contextElement:_}:_;o.refs.setReference(k)},[o.refs]),v=f.useCallback(_=>{(dp(_)||_===null)&&(a.current=_,h(_)),(dp(o.refs.reference.current)||o.refs.reference.current===null||_!==null&&!dp(_))&&o.refs.setReference(_)},[o.refs]),b=f.useMemo(()=>({...o.refs,setReference:v,setPositionReference:m,domReference:a}),[o.refs,v,m]),w=f.useMemo(()=>({...o.elements,domReference:p}),[o.elements,p]),y=NX(n),S=f.useMemo(()=>({...o,refs:b,elements:w,dataRef:c,nodeId:r,events:d,open:t,onOpenChange:y}),[o,r,d,t,y,b,w]);return IX(()=>{const _=s==null?void 0:s.nodesRef.current.find(k=>k.id===r);_&&(_.context=S)}),f.useMemo(()=>({...o,context:S,refs:b,reference:v,positionReference:m}),[o,b,S,v,m])}function zX({opened:e,floating:t,position:n,positionDependencies:r}){const[o,s]=f.useState(0);f.useEffect(()=>{if(t.refs.reference.current&&t.refs.floating.current)return kX(t.refs.reference.current,t.refs.floating.current,t.update)},[t.refs.reference.current,t.refs.floating.current,e,o,n]),Ps(()=>{t.update()},r),Ps(()=>{s(a=>a+1)},[e])}function LX(e){const t=[gX(e.offset)];return e.middlewares.shift&&t.push(vX({limiter:bX()})),e.middlewares.flip&&t.push(hX()),e.middlewares.inline&&t.push(mX()),t.push(PX({element:e.arrowRef,padding:e.arrowOffset})),t}function BX(e){const[t,n]=dd({value:e.opened,defaultValue:e.defaultOpened,finalValue:!1,onChange:e.onChange}),r=()=>{var a;(a=e.onClose)==null||a.call(e),n(!1)},o=()=>{var a,c;t?((a=e.onClose)==null||a.call(e),n(!1)):((c=e.onOpen)==null||c.call(e),n(!0))},s=$X({placement:e.position,middleware:[...LX(e),...e.width==="target"?[yX({apply({rects:a}){var c,d;Object.assign((d=(c=s.refs.floating.current)==null?void 0:c.style)!=null?d:{},{width:`${a.reference.width}px`})}})]:[]]});return zX({opened:e.opened,position:e.position,positionDependencies:e.positionDependencies,floating:s}),Ps(()=>{var a;(a=e.onPositionChange)==null||a.call(e,s.placement)},[s.placement]),Ps(()=>{var a,c;e.opened?(c=e.onOpen)==null||c.call(e):(a=e.onClose)==null||a.call(e)},[e.opened]),{floating:s,controlled:typeof e.opened=="boolean",opened:t,onClose:r,onToggle:o}}const FI={context:"Popover component was not found in the tree",children:"Popover.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported"},[FX,HI]=IU(FI.context);var HX=Object.defineProperty,WX=Object.defineProperties,VX=Object.getOwnPropertyDescriptors,Rh=Object.getOwnPropertySymbols,WI=Object.prototype.hasOwnProperty,VI=Object.prototype.propertyIsEnumerable,g4=(e,t,n)=>t in e?HX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,fp=(e,t)=>{for(var n in t||(t={}))WI.call(t,n)&&g4(e,n,t[n]);if(Rh)for(var n of Rh(t))VI.call(t,n)&&g4(e,n,t[n]);return e},UX=(e,t)=>WX(e,VX(t)),GX=(e,t)=>{var n={};for(var r in e)WI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Rh)for(var r of Rh(e))t.indexOf(r)<0&&VI.call(e,r)&&(n[r]=e[r]);return n};const qX={refProp:"ref",popupType:"dialog"},UI=f.forwardRef((e,t)=>{const n=Sr("PopoverTarget",qX,e),{children:r,refProp:o,popupType:s}=n,a=GX(n,["children","refProp","popupType"]);if(!yj(r))throw new Error(FI.children);const c=a,d=HI(),p=Hd(d.reference,r.ref,t),h=d.withRoles?{"aria-haspopup":s,"aria-expanded":d.opened,"aria-controls":d.getDropdownId(),id:d.getTargetId()}:{};return f.cloneElement(r,fp(UX(fp(fp(fp({},c),h),d.targetProps),{className:wj(d.targetProps.className,c.className,r.props.className),[o]:p}),d.controlled?null:{onClick:d.onToggle}))});UI.displayName="@mantine/core/PopoverTarget";var KX=ao((e,{radius:t,shadow:n})=>({dropdown:{position:"absolute",backgroundColor:e.white,background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,border:`${Ue(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2]}`,padding:`${e.spacing.sm} ${e.spacing.md}`,boxShadow:e.shadows[n]||n||"none",borderRadius:e.fn.radius(t),"&:focus":{outline:0}},arrow:{backgroundColor:"inherit",border:`${Ue(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2]}`,zIndex:1}}));const XX=KX;var YX=Object.defineProperty,v4=Object.getOwnPropertySymbols,QX=Object.prototype.hasOwnProperty,JX=Object.prototype.propertyIsEnumerable,b4=(e,t,n)=>t in e?YX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Hl=(e,t)=>{for(var n in t||(t={}))QX.call(t,n)&&b4(e,n,t[n]);if(v4)for(var n of v4(t))JX.call(t,n)&&b4(e,n,t[n]);return e};const y4={entering:"in",entered:"in",exiting:"out",exited:"out","pre-exiting":"out","pre-entering":"out"};function ZX({transition:e,state:t,duration:n,timingFunction:r}){const o={transitionDuration:`${n}ms`,transitionTimingFunction:r};return typeof e=="string"?e in op?Hl(Hl(Hl({transitionProperty:op[e].transitionProperty},o),op[e].common),op[e][y4[t]]):null:Hl(Hl(Hl({transitionProperty:e.transitionProperty},o),e.common),e[y4[t]])}function eY({duration:e,exitDuration:t,timingFunction:n,mounted:r,onEnter:o,onExit:s,onEntered:a,onExited:c}){const d=Fa(),p=Ij(),h=d.respectReducedMotion?p:!1,[m,v]=f.useState(h?0:e),[b,w]=f.useState(r?"entered":"exited"),y=f.useRef(-1),S=_=>{const k=_?o:s,j=_?a:c;w(_?"pre-entering":"pre-exiting"),window.clearTimeout(y.current);const I=h?0:_?e:t;if(v(I),I===0)typeof k=="function"&&k(),typeof j=="function"&&j(),w(_?"entered":"exited");else{const E=window.setTimeout(()=>{typeof k=="function"&&k(),w(_?"entering":"exiting")},10);y.current=window.setTimeout(()=>{window.clearTimeout(E),typeof j=="function"&&j(),w(_?"entered":"exited")},I)}};return Ps(()=>{S(r)},[r]),f.useEffect(()=>()=>window.clearTimeout(y.current),[]),{transitionDuration:m,transitionStatus:b,transitionTimingFunction:n||d.transitionTimingFunction}}function GI({keepMounted:e,transition:t,duration:n=250,exitDuration:r=n,mounted:o,children:s,timingFunction:a,onExit:c,onEntered:d,onEnter:p,onExited:h}){const{transitionDuration:m,transitionStatus:v,transitionTimingFunction:b}=eY({mounted:o,exitDuration:r,duration:n,timingFunction:a,onExit:c,onEntered:d,onEnter:p,onExited:h});return m===0?o?H.createElement(H.Fragment,null,s({})):e?s({display:"none"}):null:v==="exited"?e?s({display:"none"}):null:H.createElement(H.Fragment,null,s(ZX({transition:t,duration:m,state:v,timingFunction:b})))}GI.displayName="@mantine/core/Transition";function qI({children:e,active:t=!0,refProp:n="ref"}){const r=lG(t),o=Hd(r,e==null?void 0:e.ref);return yj(e)?f.cloneElement(e,{[n]:o}):e}qI.displayName="@mantine/core/FocusTrap";var tY=Object.defineProperty,nY=Object.defineProperties,rY=Object.getOwnPropertyDescriptors,x4=Object.getOwnPropertySymbols,oY=Object.prototype.hasOwnProperty,sY=Object.prototype.propertyIsEnumerable,w4=(e,t,n)=>t in e?tY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Za=(e,t)=>{for(var n in t||(t={}))oY.call(t,n)&&w4(e,n,t[n]);if(x4)for(var n of x4(t))sY.call(t,n)&&w4(e,n,t[n]);return e},pp=(e,t)=>nY(e,rY(t));function S4(e,t,n,r){return e==="center"||r==="center"?{top:t}:e==="end"?{bottom:n}:e==="start"?{top:n}:{}}function C4(e,t,n,r,o){return e==="center"||r==="center"?{left:t}:e==="end"?{[o==="ltr"?"right":"left"]:n}:e==="start"?{[o==="ltr"?"left":"right"]:n}:{}}const aY={bottom:"borderTopLeftRadius",left:"borderTopRightRadius",right:"borderBottomLeftRadius",top:"borderBottomRightRadius"};function iY({position:e,arrowSize:t,arrowOffset:n,arrowRadius:r,arrowPosition:o,arrowX:s,arrowY:a,dir:c}){const[d,p="center"]=e.split("-"),h={width:Ue(t),height:Ue(t),transform:"rotate(45deg)",position:"absolute",[aY[d]]:Ue(r)},m=Ue(-t/2);return d==="left"?pp(Za(Za({},h),S4(p,a,n,o)),{right:m,borderLeftColor:"transparent",borderBottomColor:"transparent"}):d==="right"?pp(Za(Za({},h),S4(p,a,n,o)),{left:m,borderRightColor:"transparent",borderTopColor:"transparent"}):d==="top"?pp(Za(Za({},h),C4(p,s,n,o,c)),{bottom:m,borderTopColor:"transparent",borderLeftColor:"transparent"}):d==="bottom"?pp(Za(Za({},h),C4(p,s,n,o,c)),{top:m,borderBottomColor:"transparent",borderRightColor:"transparent"}):{}}var lY=Object.defineProperty,cY=Object.defineProperties,uY=Object.getOwnPropertyDescriptors,Mh=Object.getOwnPropertySymbols,KI=Object.prototype.hasOwnProperty,XI=Object.prototype.propertyIsEnumerable,k4=(e,t,n)=>t in e?lY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dY=(e,t)=>{for(var n in t||(t={}))KI.call(t,n)&&k4(e,n,t[n]);if(Mh)for(var n of Mh(t))XI.call(t,n)&&k4(e,n,t[n]);return e},fY=(e,t)=>cY(e,uY(t)),pY=(e,t)=>{var n={};for(var r in e)KI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Mh)for(var r of Mh(e))t.indexOf(r)<0&&XI.call(e,r)&&(n[r]=e[r]);return n};const YI=f.forwardRef((e,t)=>{var n=e,{position:r,arrowSize:o,arrowOffset:s,arrowRadius:a,arrowPosition:c,visible:d,arrowX:p,arrowY:h}=n,m=pY(n,["position","arrowSize","arrowOffset","arrowRadius","arrowPosition","visible","arrowX","arrowY"]);const v=Fa();return d?H.createElement("div",fY(dY({},m),{ref:t,style:iY({position:r,arrowSize:o,arrowOffset:s,arrowRadius:a,arrowPosition:c,dir:v.dir,arrowX:p,arrowY:h})})):null});YI.displayName="@mantine/core/FloatingArrow";var hY=Object.defineProperty,mY=Object.defineProperties,gY=Object.getOwnPropertyDescriptors,Dh=Object.getOwnPropertySymbols,QI=Object.prototype.hasOwnProperty,JI=Object.prototype.propertyIsEnumerable,_4=(e,t,n)=>t in e?hY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Wl=(e,t)=>{for(var n in t||(t={}))QI.call(t,n)&&_4(e,n,t[n]);if(Dh)for(var n of Dh(t))JI.call(t,n)&&_4(e,n,t[n]);return e},hp=(e,t)=>mY(e,gY(t)),vY=(e,t)=>{var n={};for(var r in e)QI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Dh)for(var r of Dh(e))t.indexOf(r)<0&&JI.call(e,r)&&(n[r]=e[r]);return n};const bY={};function ZI(e){var t;const n=Sr("PopoverDropdown",bY,e),{style:r,className:o,children:s,onKeyDownCapture:a}=n,c=vY(n,["style","className","children","onKeyDownCapture"]),d=HI(),{classes:p,cx:h}=XX({radius:d.radius,shadow:d.shadow},{name:d.__staticSelector,classNames:d.classNames,styles:d.styles,unstyled:d.unstyled,variant:d.variant}),m=tG({opened:d.opened,shouldReturnFocus:d.returnFocus}),v=d.withRoles?{"aria-labelledby":d.getTargetId(),id:d.getDropdownId(),role:"dialog"}:{};return d.disabled?null:H.createElement(Zj,hp(Wl({},d.portalProps),{withinPortal:d.withinPortal}),H.createElement(GI,hp(Wl({mounted:d.opened},d.transitionProps),{transition:d.transitionProps.transition||"fade",duration:(t=d.transitionProps.duration)!=null?t:150,keepMounted:d.keepMounted,exitDuration:typeof d.transitionProps.exitDuration=="number"?d.transitionProps.exitDuration:d.transitionProps.duration}),b=>{var w,y;return H.createElement(qI,{active:d.trapFocus},H.createElement(Io,Wl(hp(Wl({},v),{tabIndex:-1,ref:d.floating,style:hp(Wl(Wl({},r),b),{zIndex:d.zIndex,top:(w=d.y)!=null?w:0,left:(y=d.x)!=null?y:0,width:d.width==="target"?void 0:Ue(d.width)}),className:h(p.dropdown,o),onKeyDownCapture:OU(d.onClose,{active:d.closeOnEscape,onTrigger:m,onKeyDown:a}),"data-position":d.placement}),c),s,H.createElement(YI,{ref:d.arrowRef,arrowX:d.arrowX,arrowY:d.arrowY,visible:d.withArrow,position:d.placement,arrowSize:d.arrowSize,arrowRadius:d.arrowRadius,arrowOffset:d.arrowOffset,arrowPosition:d.arrowPosition,className:p.arrow})))}))}ZI.displayName="@mantine/core/PopoverDropdown";function yY(e,t){if(e==="rtl"&&(t.includes("right")||t.includes("left"))){const[n,r]=t.split("-"),o=n==="right"?"left":"right";return r===void 0?o:`${o}-${r}`}return t}var P4=Object.getOwnPropertySymbols,xY=Object.prototype.hasOwnProperty,wY=Object.prototype.propertyIsEnumerable,SY=(e,t)=>{var n={};for(var r in e)xY.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&P4)for(var r of P4(e))t.indexOf(r)<0&&wY.call(e,r)&&(n[r]=e[r]);return n};const CY={position:"bottom",offset:8,positionDependencies:[],transitionProps:{transition:"fade",duration:150},middlewares:{flip:!0,shift:!0,inline:!1},arrowSize:7,arrowOffset:5,arrowRadius:0,arrowPosition:"side",closeOnClickOutside:!0,withinPortal:!1,closeOnEscape:!0,trapFocus:!1,withRoles:!0,returnFocus:!1,clickOutsideEvents:["mousedown","touchstart"],zIndex:Py("popover"),__staticSelector:"Popover",width:"max-content"};function Gc(e){var t,n,r,o,s,a;const c=f.useRef(null),d=Sr("Popover",CY,e),{children:p,position:h,offset:m,onPositionChange:v,positionDependencies:b,opened:w,transitionProps:y,width:S,middlewares:_,withArrow:k,arrowSize:j,arrowOffset:I,arrowRadius:E,arrowPosition:O,unstyled:R,classNames:M,styles:A,closeOnClickOutside:T,withinPortal:$,portalProps:Q,closeOnEscape:B,clickOutsideEvents:V,trapFocus:q,onClose:G,onOpen:D,onChange:L,zIndex:W,radius:Y,shadow:ae,id:be,defaultOpened:ie,__staticSelector:X,withRoles:K,disabled:U,returnFocus:se,variant:re,keepMounted:oe}=d,pe=SY(d,["children","position","offset","onPositionChange","positionDependencies","opened","transitionProps","width","middlewares","withArrow","arrowSize","arrowOffset","arrowRadius","arrowPosition","unstyled","classNames","styles","closeOnClickOutside","withinPortal","portalProps","closeOnEscape","clickOutsideEvents","trapFocus","onClose","onOpen","onChange","zIndex","radius","shadow","id","defaultOpened","__staticSelector","withRoles","disabled","returnFocus","variant","keepMounted"]),[le,ge]=f.useState(null),[ke,xe]=f.useState(null),de=Iy(be),Te=Fa(),Oe=BX({middlewares:_,width:S,position:yY(Te.dir,h),offset:typeof m=="number"?m+(k?j/2:0):m,arrowRef:c,arrowOffset:I,onPositionChange:v,positionDependencies:b,opened:w,defaultOpened:ie,onChange:L,onOpen:D,onClose:G});QU(()=>Oe.opened&&T&&Oe.onClose(),V,[le,ke]);const $e=f.useCallback(ct=>{ge(ct),Oe.floating.reference(ct)},[Oe.floating.reference]),kt=f.useCallback(ct=>{xe(ct),Oe.floating.floating(ct)},[Oe.floating.floating]);return H.createElement(FX,{value:{returnFocus:se,disabled:U,controlled:Oe.controlled,reference:$e,floating:kt,x:Oe.floating.x,y:Oe.floating.y,arrowX:(r=(n=(t=Oe.floating)==null?void 0:t.middlewareData)==null?void 0:n.arrow)==null?void 0:r.x,arrowY:(a=(s=(o=Oe.floating)==null?void 0:o.middlewareData)==null?void 0:s.arrow)==null?void 0:a.y,opened:Oe.opened,arrowRef:c,transitionProps:y,width:S,withArrow:k,arrowSize:j,arrowOffset:I,arrowRadius:E,arrowPosition:O,placement:Oe.floating.placement,trapFocus:q,withinPortal:$,portalProps:Q,zIndex:W,radius:Y,shadow:ae,closeOnEscape:B,onClose:Oe.onClose,onToggle:Oe.onToggle,getTargetId:()=>`${de}-target`,getDropdownId:()=>`${de}-dropdown`,withRoles:K,targetProps:pe,__staticSelector:X,classNames:M,styles:A,unstyled:R,variant:re,keepMounted:oe}},p)}Gc.Target=UI;Gc.Dropdown=ZI;Gc.displayName="@mantine/core/Popover";var kY=Object.defineProperty,Ah=Object.getOwnPropertySymbols,eE=Object.prototype.hasOwnProperty,tE=Object.prototype.propertyIsEnumerable,j4=(e,t,n)=>t in e?kY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_Y=(e,t)=>{for(var n in t||(t={}))eE.call(t,n)&&j4(e,n,t[n]);if(Ah)for(var n of Ah(t))tE.call(t,n)&&j4(e,n,t[n]);return e},PY=(e,t)=>{var n={};for(var r in e)eE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ah)for(var r of Ah(e))t.indexOf(r)<0&&tE.call(e,r)&&(n[r]=e[r]);return n};function jY(e){var t=e,{children:n,component:r="div",maxHeight:o=220,direction:s="column",id:a,innerRef:c,__staticSelector:d,styles:p,classNames:h,unstyled:m}=t,v=PY(t,["children","component","maxHeight","direction","id","innerRef","__staticSelector","styles","classNames","unstyled"]);const{classes:b}=lX(null,{name:d,styles:p,classNames:h,unstyled:m});return H.createElement(Gc.Dropdown,_Y({p:0,onMouseDown:w=>w.preventDefault()},v),H.createElement("div",{style:{maxHeight:Ue(o),display:"flex"}},H.createElement(Io,{component:r||"div",id:`${a}-items`,"aria-labelledby":`${a}-label`,role:"listbox",onMouseDown:w=>w.preventDefault(),style:{flex:1,overflowY:r!==Vm?"auto":void 0},"data-combobox-popover":!0,tabIndex:-1,ref:c},H.createElement("div",{className:b.itemsWrapper,style:{flexDirection:s}},n))))}function hi({opened:e,transitionProps:t={transition:"fade",duration:0},shadow:n,withinPortal:r,portalProps:o,children:s,__staticSelector:a,onDirectionChange:c,switchDirectionOnFlip:d,zIndex:p,dropdownPosition:h,positionDependencies:m=[],classNames:v,styles:b,unstyled:w,readOnly:y,variant:S}){return H.createElement(Gc,{unstyled:w,classNames:v,styles:b,width:"target",withRoles:!1,opened:e,middlewares:{flip:h==="flip",shift:!1},position:h==="flip"?"bottom":h,positionDependencies:m,zIndex:p,__staticSelector:a,withinPortal:r,portalProps:o,transitionProps:t,shadow:n,disabled:y,onPositionChange:_=>d&&(c==null?void 0:c(_==="top"?"column-reverse":"column")),variant:S},s)}hi.Target=Gc.Target;hi.Dropdown=jY;var IY=Object.defineProperty,EY=Object.defineProperties,OY=Object.getOwnPropertyDescriptors,Th=Object.getOwnPropertySymbols,nE=Object.prototype.hasOwnProperty,rE=Object.prototype.propertyIsEnumerable,I4=(e,t,n)=>t in e?IY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,mp=(e,t)=>{for(var n in t||(t={}))nE.call(t,n)&&I4(e,n,t[n]);if(Th)for(var n of Th(t))rE.call(t,n)&&I4(e,n,t[n]);return e},RY=(e,t)=>EY(e,OY(t)),MY=(e,t)=>{var n={};for(var r in e)nE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Th)for(var r of Th(e))t.indexOf(r)<0&&rE.call(e,r)&&(n[r]=e[r]);return n};function oE(e,t,n){const r=Sr(e,t,n),{label:o,description:s,error:a,required:c,classNames:d,styles:p,className:h,unstyled:m,__staticSelector:v,sx:b,errorProps:w,labelProps:y,descriptionProps:S,wrapperProps:_,id:k,size:j,style:I,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:M}=r,A=MY(r,["label","description","error","required","classNames","styles","className","unstyled","__staticSelector","sx","errorProps","labelProps","descriptionProps","wrapperProps","id","size","style","inputContainer","inputWrapperOrder","withAsterisk","variant"]),T=Iy(k),{systemStyles:$,rest:Q}=Bm(A),B=mp({label:o,description:s,error:a,required:c,classNames:d,className:h,__staticSelector:v,sx:b,errorProps:w,labelProps:y,descriptionProps:S,unstyled:m,styles:p,id:T,size:j,style:I,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:M},_);return RY(mp({},Q),{classNames:d,styles:p,unstyled:m,wrapperProps:mp(mp({},B),$),inputProps:{required:c,classNames:d,styles:p,unstyled:m,id:T,size:j,__staticSelector:v,error:a,variant:M}})}var DY=ao((e,t,{size:n})=>({label:{display:"inline-block",fontSize:Vt({size:n,sizes:e.fontSizes}),fontWeight:500,color:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[9],wordBreak:"break-word",cursor:"default",WebkitTapHighlightColor:"transparent"},required:{color:e.fn.variant({variant:"filled",color:"red"}).background}}));const AY=DY;var TY=Object.defineProperty,Nh=Object.getOwnPropertySymbols,sE=Object.prototype.hasOwnProperty,aE=Object.prototype.propertyIsEnumerable,E4=(e,t,n)=>t in e?TY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,NY=(e,t)=>{for(var n in t||(t={}))sE.call(t,n)&&E4(e,n,t[n]);if(Nh)for(var n of Nh(t))aE.call(t,n)&&E4(e,n,t[n]);return e},$Y=(e,t)=>{var n={};for(var r in e)sE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Nh)for(var r of Nh(e))t.indexOf(r)<0&&aE.call(e,r)&&(n[r]=e[r]);return n};const zY={labelElement:"label",size:"sm"},$y=f.forwardRef((e,t)=>{const n=Sr("InputLabel",zY,e),{labelElement:r,children:o,required:s,size:a,classNames:c,styles:d,unstyled:p,className:h,htmlFor:m,__staticSelector:v,variant:b,onMouseDown:w}=n,y=$Y(n,["labelElement","children","required","size","classNames","styles","unstyled","className","htmlFor","__staticSelector","variant","onMouseDown"]),{classes:S,cx:_}=AY(null,{name:["InputWrapper",v],classNames:c,styles:d,unstyled:p,variant:b,size:a});return H.createElement(Io,NY({component:r,ref:t,className:_(S.label,h),htmlFor:r==="label"?m:void 0,onMouseDown:k=>{w==null||w(k),!k.defaultPrevented&&k.detail>1&&k.preventDefault()}},y),o,s&&H.createElement("span",{className:S.required,"aria-hidden":!0}," *"))});$y.displayName="@mantine/core/InputLabel";var LY=ao((e,t,{size:n})=>({error:{wordBreak:"break-word",color:e.fn.variant({variant:"filled",color:"red"}).background,fontSize:`calc(${Vt({size:n,sizes:e.fontSizes})} - ${Ue(2)})`,lineHeight:1.2,display:"block"}}));const BY=LY;var FY=Object.defineProperty,$h=Object.getOwnPropertySymbols,iE=Object.prototype.hasOwnProperty,lE=Object.prototype.propertyIsEnumerable,O4=(e,t,n)=>t in e?FY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,HY=(e,t)=>{for(var n in t||(t={}))iE.call(t,n)&&O4(e,n,t[n]);if($h)for(var n of $h(t))lE.call(t,n)&&O4(e,n,t[n]);return e},WY=(e,t)=>{var n={};for(var r in e)iE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&$h)for(var r of $h(e))t.indexOf(r)<0&&lE.call(e,r)&&(n[r]=e[r]);return n};const VY={size:"sm"},zy=f.forwardRef((e,t)=>{const n=Sr("InputError",VY,e),{children:r,className:o,classNames:s,styles:a,unstyled:c,size:d,__staticSelector:p,variant:h}=n,m=WY(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=BY(null,{name:["InputWrapper",p],classNames:s,styles:a,unstyled:c,variant:h,size:d});return H.createElement(kc,HY({className:b(v.error,o),ref:t},m),r)});zy.displayName="@mantine/core/InputError";var UY=ao((e,t,{size:n})=>({description:{wordBreak:"break-word",color:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6],fontSize:`calc(${Vt({size:n,sizes:e.fontSizes})} - ${Ue(2)})`,lineHeight:1.2,display:"block"}}));const GY=UY;var qY=Object.defineProperty,zh=Object.getOwnPropertySymbols,cE=Object.prototype.hasOwnProperty,uE=Object.prototype.propertyIsEnumerable,R4=(e,t,n)=>t in e?qY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,KY=(e,t)=>{for(var n in t||(t={}))cE.call(t,n)&&R4(e,n,t[n]);if(zh)for(var n of zh(t))uE.call(t,n)&&R4(e,n,t[n]);return e},XY=(e,t)=>{var n={};for(var r in e)cE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&zh)for(var r of zh(e))t.indexOf(r)<0&&uE.call(e,r)&&(n[r]=e[r]);return n};const YY={size:"sm"},Ly=f.forwardRef((e,t)=>{const n=Sr("InputDescription",YY,e),{children:r,className:o,classNames:s,styles:a,unstyled:c,size:d,__staticSelector:p,variant:h}=n,m=XY(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=GY(null,{name:["InputWrapper",p],classNames:s,styles:a,unstyled:c,variant:h,size:d});return H.createElement(kc,KY({color:"dimmed",className:b(v.description,o),ref:t,unstyled:c},m),r)});Ly.displayName="@mantine/core/InputDescription";const dE=f.createContext({offsetBottom:!1,offsetTop:!1,describedBy:void 0}),QY=dE.Provider,JY=()=>f.useContext(dE);function ZY(e,{hasDescription:t,hasError:n}){const r=e.findIndex(d=>d==="input"),o=e[r-1],s=e[r+1];return{offsetBottom:t&&s==="description"||n&&s==="error",offsetTop:t&&o==="description"||n&&o==="error"}}var eQ=Object.defineProperty,tQ=Object.defineProperties,nQ=Object.getOwnPropertyDescriptors,M4=Object.getOwnPropertySymbols,rQ=Object.prototype.hasOwnProperty,oQ=Object.prototype.propertyIsEnumerable,D4=(e,t,n)=>t in e?eQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,sQ=(e,t)=>{for(var n in t||(t={}))rQ.call(t,n)&&D4(e,n,t[n]);if(M4)for(var n of M4(t))oQ.call(t,n)&&D4(e,n,t[n]);return e},aQ=(e,t)=>tQ(e,nQ(t)),iQ=ao(e=>({root:aQ(sQ({},e.fn.fontStyles()),{lineHeight:e.lineHeight})}));const lQ=iQ;var cQ=Object.defineProperty,uQ=Object.defineProperties,dQ=Object.getOwnPropertyDescriptors,Lh=Object.getOwnPropertySymbols,fE=Object.prototype.hasOwnProperty,pE=Object.prototype.propertyIsEnumerable,A4=(e,t,n)=>t in e?cQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ei=(e,t)=>{for(var n in t||(t={}))fE.call(t,n)&&A4(e,n,t[n]);if(Lh)for(var n of Lh(t))pE.call(t,n)&&A4(e,n,t[n]);return e},T4=(e,t)=>uQ(e,dQ(t)),fQ=(e,t)=>{var n={};for(var r in e)fE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Lh)for(var r of Lh(e))t.indexOf(r)<0&&pE.call(e,r)&&(n[r]=e[r]);return n};const pQ={labelElement:"label",size:"sm",inputContainer:e=>e,inputWrapperOrder:["label","description","input","error"]},hE=f.forwardRef((e,t)=>{const n=Sr("InputWrapper",pQ,e),{className:r,label:o,children:s,required:a,id:c,error:d,description:p,labelElement:h,labelProps:m,descriptionProps:v,errorProps:b,classNames:w,styles:y,size:S,inputContainer:_,__staticSelector:k,unstyled:j,inputWrapperOrder:I,withAsterisk:E,variant:O}=n,R=fQ(n,["className","label","children","required","id","error","description","labelElement","labelProps","descriptionProps","errorProps","classNames","styles","size","inputContainer","__staticSelector","unstyled","inputWrapperOrder","withAsterisk","variant"]),{classes:M,cx:A}=lQ(null,{classNames:w,styles:y,name:["InputWrapper",k],unstyled:j,variant:O,size:S}),T={classNames:w,styles:y,unstyled:j,size:S,variant:O,__staticSelector:k},$=typeof E=="boolean"?E:a,Q=c?`${c}-error`:b==null?void 0:b.id,B=c?`${c}-description`:v==null?void 0:v.id,q=`${!!d&&typeof d!="boolean"?Q:""} ${p?B:""}`,G=q.trim().length>0?q.trim():void 0,D=o&&H.createElement($y,ei(ei({key:"label",labelElement:h,id:c?`${c}-label`:void 0,htmlFor:c,required:$},T),m),o),L=p&&H.createElement(Ly,T4(ei(ei({key:"description"},v),T),{size:(v==null?void 0:v.size)||T.size,id:(v==null?void 0:v.id)||B}),p),W=H.createElement(f.Fragment,{key:"input"},_(s)),Y=typeof d!="boolean"&&d&&H.createElement(zy,T4(ei(ei({},b),T),{size:(b==null?void 0:b.size)||T.size,key:"error",id:(b==null?void 0:b.id)||Q}),d),ae=I.map(be=>{switch(be){case"label":return D;case"input":return W;case"description":return L;case"error":return Y;default:return null}});return H.createElement(QY,{value:ei({describedBy:G},ZY(I,{hasDescription:!!L,hasError:!!Y}))},H.createElement(Io,ei({className:A(M.root,r),ref:t},R),ae))});hE.displayName="@mantine/core/InputWrapper";var hQ=Object.defineProperty,Bh=Object.getOwnPropertySymbols,mE=Object.prototype.hasOwnProperty,gE=Object.prototype.propertyIsEnumerable,N4=(e,t,n)=>t in e?hQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,mQ=(e,t)=>{for(var n in t||(t={}))mE.call(t,n)&&N4(e,n,t[n]);if(Bh)for(var n of Bh(t))gE.call(t,n)&&N4(e,n,t[n]);return e},gQ=(e,t)=>{var n={};for(var r in e)mE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Bh)for(var r of Bh(e))t.indexOf(r)<0&&gE.call(e,r)&&(n[r]=e[r]);return n};const vQ={},vE=f.forwardRef((e,t)=>{const n=Sr("InputPlaceholder",vQ,e),{sx:r}=n,o=gQ(n,["sx"]);return H.createElement(Io,mQ({component:"span",sx:[s=>s.fn.placeholderStyles(),...vj(r)],ref:t},o))});vE.displayName="@mantine/core/InputPlaceholder";var bQ=Object.defineProperty,yQ=Object.defineProperties,xQ=Object.getOwnPropertyDescriptors,$4=Object.getOwnPropertySymbols,wQ=Object.prototype.hasOwnProperty,SQ=Object.prototype.propertyIsEnumerable,z4=(e,t,n)=>t in e?bQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gp=(e,t)=>{for(var n in t||(t={}))wQ.call(t,n)&&z4(e,n,t[n]);if($4)for(var n of $4(t))SQ.call(t,n)&&z4(e,n,t[n]);return e},sv=(e,t)=>yQ(e,xQ(t));const Yo={xs:Ue(30),sm:Ue(36),md:Ue(42),lg:Ue(50),xl:Ue(60)},CQ=["default","filled","unstyled"];function kQ({theme:e,variant:t}){return CQ.includes(t)?t==="default"?{border:`${Ue(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4]}`,backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.white,transition:"border-color 100ms ease","&:focus, &:focus-within":e.focusRingStyles.inputStyles(e)}:t==="filled"?{border:`${Ue(1)} solid transparent`,backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[1],"&:focus, &:focus-within":e.focusRingStyles.inputStyles(e)}:{borderWidth:0,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,backgroundColor:"transparent",minHeight:Ue(28),outline:0,"&:focus, &:focus-within":{outline:"none",borderColor:"transparent"},"&:disabled":{backgroundColor:"transparent","&:focus, &:focus-within":{outline:"none",borderColor:"transparent"}}}:null}var _Q=ao((e,{multiline:t,radius:n,invalid:r,rightSectionWidth:o,withRightSection:s,iconWidth:a,offsetBottom:c,offsetTop:d,pointer:p},{variant:h,size:m})=>{const v=e.fn.variant({variant:"filled",color:"red"}).background,b=h==="default"||h==="filled"?{minHeight:Vt({size:m,sizes:Yo}),paddingLeft:`calc(${Vt({size:m,sizes:Yo})} / 3)`,paddingRight:s?o||Vt({size:m,sizes:Yo}):`calc(${Vt({size:m,sizes:Yo})} / 3)`,borderRadius:e.fn.radius(n)}:h==="unstyled"&&s?{paddingRight:o||Vt({size:m,sizes:Yo})}:null;return{wrapper:{position:"relative",marginTop:d?`calc(${e.spacing.xs} / 2)`:void 0,marginBottom:c?`calc(${e.spacing.xs} / 2)`:void 0,"&:has(input:disabled)":{"& .mantine-Input-rightSection":{display:"none"}}},input:sv(gp(gp(sv(gp({},e.fn.fontStyles()),{height:t?h==="unstyled"?void 0:"auto":Vt({size:m,sizes:Yo}),WebkitTapHighlightColor:"transparent",lineHeight:t?e.lineHeight:`calc(${Vt({size:m,sizes:Yo})} - ${Ue(2)})`,appearance:"none",resize:"none",boxSizing:"border-box",fontSize:Vt({size:m,sizes:e.fontSizes}),width:"100%",color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,display:"block",textAlign:"left",cursor:p?"pointer":void 0}),kQ({theme:e,variant:h})),b),{"&:disabled, &[data-disabled]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[1],color:e.colors.dark[2],opacity:.6,cursor:"not-allowed",pointerEvents:"none","&::placeholder":{color:e.colors.dark[2]}},"&[data-invalid]":{color:v,borderColor:v,"&::placeholder":{opacity:1,color:v}},"&[data-with-icon]":{paddingLeft:typeof a=="number"?Ue(a):Vt({size:m,sizes:Yo})},"&::placeholder":sv(gp({},e.fn.placeholderStyles()),{opacity:1}),"&::-webkit-inner-spin-button, &::-webkit-outer-spin-button, &::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration":{appearance:"none"},"&[type=number]":{MozAppearance:"textfield"}}),icon:{pointerEvents:"none",position:"absolute",zIndex:1,left:0,top:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",width:a?Ue(a):Vt({size:m,sizes:Yo}),color:r?e.colors.red[e.colorScheme==="dark"?6:7]:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[5]},rightSection:{position:"absolute",top:0,bottom:0,right:0,display:"flex",alignItems:"center",justifyContent:"center",width:o||Vt({size:m,sizes:Yo})}}});const PQ=_Q;var jQ=Object.defineProperty,IQ=Object.defineProperties,EQ=Object.getOwnPropertyDescriptors,Fh=Object.getOwnPropertySymbols,bE=Object.prototype.hasOwnProperty,yE=Object.prototype.propertyIsEnumerable,L4=(e,t,n)=>t in e?jQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vp=(e,t)=>{for(var n in t||(t={}))bE.call(t,n)&&L4(e,n,t[n]);if(Fh)for(var n of Fh(t))yE.call(t,n)&&L4(e,n,t[n]);return e},B4=(e,t)=>IQ(e,EQ(t)),OQ=(e,t)=>{var n={};for(var r in e)bE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Fh)for(var r of Fh(e))t.indexOf(r)<0&&yE.call(e,r)&&(n[r]=e[r]);return n};const RQ={size:"sm",variant:"default"},yl=f.forwardRef((e,t)=>{const n=Sr("Input",RQ,e),{className:r,error:o,required:s,disabled:a,variant:c,icon:d,style:p,rightSectionWidth:h,iconWidth:m,rightSection:v,rightSectionProps:b,radius:w,size:y,wrapperProps:S,classNames:_,styles:k,__staticSelector:j,multiline:I,sx:E,unstyled:O,pointer:R}=n,M=OQ(n,["className","error","required","disabled","variant","icon","style","rightSectionWidth","iconWidth","rightSection","rightSectionProps","radius","size","wrapperProps","classNames","styles","__staticSelector","multiline","sx","unstyled","pointer"]),{offsetBottom:A,offsetTop:T,describedBy:$}=JY(),{classes:Q,cx:B}=PQ({radius:w,multiline:I,invalid:!!o,rightSectionWidth:h?Ue(h):void 0,iconWidth:m,withRightSection:!!v,offsetBottom:A,offsetTop:T,pointer:R},{classNames:_,styles:k,name:["Input",j],unstyled:O,variant:c,size:y}),{systemStyles:V,rest:q}=Bm(M);return H.createElement(Io,vp(vp({className:B(Q.wrapper,r),sx:E,style:p},V),S),d&&H.createElement("div",{className:Q.icon},d),H.createElement(Io,B4(vp({component:"input"},q),{ref:t,required:s,"aria-invalid":!!o,"aria-describedby":$,disabled:a,"data-disabled":a||void 0,"data-with-icon":!!d||void 0,"data-invalid":!!o||void 0,className:Q.input})),v&&H.createElement("div",B4(vp({},b),{className:Q.rightSection}),v))});yl.displayName="@mantine/core/Input";yl.Wrapper=hE;yl.Label=$y;yl.Description=Ly;yl.Error=zy;yl.Placeholder=vE;const Ic=yl;var MQ=Object.defineProperty,Hh=Object.getOwnPropertySymbols,xE=Object.prototype.hasOwnProperty,wE=Object.prototype.propertyIsEnumerable,F4=(e,t,n)=>t in e?MQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,H4=(e,t)=>{for(var n in t||(t={}))xE.call(t,n)&&F4(e,n,t[n]);if(Hh)for(var n of Hh(t))wE.call(t,n)&&F4(e,n,t[n]);return e},DQ=(e,t)=>{var n={};for(var r in e)xE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Hh)for(var r of Hh(e))t.indexOf(r)<0&&wE.call(e,r)&&(n[r]=e[r]);return n};const AQ={multiple:!1},SE=f.forwardRef((e,t)=>{const n=Sr("FileButton",AQ,e),{onChange:r,children:o,multiple:s,accept:a,name:c,form:d,resetRef:p,disabled:h,capture:m,inputProps:v}=n,b=DQ(n,["onChange","children","multiple","accept","name","form","resetRef","disabled","capture","inputProps"]),w=f.useRef(),y=()=>{!h&&w.current.click()},S=k=>{r(s?Array.from(k.currentTarget.files):k.currentTarget.files[0]||null)};return jj(p,()=>{w.current.value=""}),H.createElement(H.Fragment,null,o(H4({onClick:y},b)),H.createElement("input",H4({style:{display:"none"},type:"file",accept:a,multiple:s,onChange:S,ref:Hd(t,w),name:c,form:d,capture:m},v)))});SE.displayName="@mantine/core/FileButton";const CE={xs:Ue(16),sm:Ue(22),md:Ue(26),lg:Ue(30),xl:Ue(36)},TQ={xs:Ue(10),sm:Ue(12),md:Ue(14),lg:Ue(16),xl:Ue(18)};var NQ=ao((e,{disabled:t,radius:n,readOnly:r},{size:o,variant:s})=>({defaultValue:{display:"flex",alignItems:"center",backgroundColor:t?e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[3]:e.colorScheme==="dark"?e.colors.dark[7]:s==="filled"?e.white:e.colors.gray[1],color:t?e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[7]:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[7],height:Vt({size:o,sizes:CE}),paddingLeft:`calc(${Vt({size:o,sizes:e.spacing})} / 1.5)`,paddingRight:t||r?Vt({size:o,sizes:e.spacing}):0,fontWeight:500,fontSize:Vt({size:o,sizes:TQ}),borderRadius:Vt({size:n,sizes:e.radius}),cursor:t?"not-allowed":"default",userSelect:"none",maxWidth:`calc(100% - ${Ue(10)})`},defaultValueRemove:{color:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[7],marginLeft:`calc(${Vt({size:o,sizes:e.spacing})} / 6)`},defaultValueLabel:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}));const $Q=NQ;var zQ=Object.defineProperty,Wh=Object.getOwnPropertySymbols,kE=Object.prototype.hasOwnProperty,_E=Object.prototype.propertyIsEnumerable,W4=(e,t,n)=>t in e?zQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,LQ=(e,t)=>{for(var n in t||(t={}))kE.call(t,n)&&W4(e,n,t[n]);if(Wh)for(var n of Wh(t))_E.call(t,n)&&W4(e,n,t[n]);return e},BQ=(e,t)=>{var n={};for(var r in e)kE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Wh)for(var r of Wh(e))t.indexOf(r)<0&&_E.call(e,r)&&(n[r]=e[r]);return n};const FQ={xs:16,sm:22,md:24,lg:26,xl:30};function PE(e){var t=e,{label:n,classNames:r,styles:o,className:s,onRemove:a,disabled:c,readOnly:d,size:p,radius:h="sm",variant:m,unstyled:v}=t,b=BQ(t,["label","classNames","styles","className","onRemove","disabled","readOnly","size","radius","variant","unstyled"]);const{classes:w,cx:y}=$Q({disabled:c,readOnly:d,radius:h},{name:"MultiSelect",classNames:r,styles:o,unstyled:v,size:p,variant:m});return H.createElement("div",LQ({className:y(w.defaultValue,s)},b),H.createElement("span",{className:w.defaultValueLabel},n),!c&&!d&&H.createElement(aI,{"aria-hidden":!0,onMouseDown:a,size:FQ[p],radius:2,color:"blue",variant:"transparent",iconSize:"70%",className:w.defaultValueRemove,tabIndex:-1,unstyled:v}))}PE.displayName="@mantine/core/MultiSelect/DefaultValue";function HQ({data:e,searchable:t,limit:n,searchValue:r,filter:o,value:s,disableSelectedItemFiltering:a}){if(!t&&s.length===0)return e;if(!t){const d=[];for(let p=0;ph===e[p].value&&!e[p].disabled))&&d.push(e[p]);return d}const c=[];for(let d=0;dp===e[d].value&&!e[d].disabled),e[d])&&c.push(e[d]),!(c.length>=n));d+=1);return c}var WQ=Object.defineProperty,Vh=Object.getOwnPropertySymbols,jE=Object.prototype.hasOwnProperty,IE=Object.prototype.propertyIsEnumerable,V4=(e,t,n)=>t in e?WQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,U4=(e,t)=>{for(var n in t||(t={}))jE.call(t,n)&&V4(e,n,t[n]);if(Vh)for(var n of Vh(t))IE.call(t,n)&&V4(e,n,t[n]);return e},VQ=(e,t)=>{var n={};for(var r in e)jE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Vh)for(var r of Vh(e))t.indexOf(r)<0&&IE.call(e,r)&&(n[r]=e[r]);return n};const UQ={xs:Ue(14),sm:Ue(18),md:Ue(20),lg:Ue(24),xl:Ue(28)};function GQ(e){var t=e,{size:n,error:r,style:o}=t,s=VQ(t,["size","error","style"]);const a=Fa(),c=Vt({size:n,sizes:UQ});return H.createElement("svg",U4({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:U4({color:r?a.colors.red[6]:a.colors.gray[6],width:c,height:c},o),"data-chevron":!0},s),H.createElement("path",{d:"M4.93179 5.43179C4.75605 5.60753 4.75605 5.89245 4.93179 6.06819C5.10753 6.24392 5.39245 6.24392 5.56819 6.06819L7.49999 4.13638L9.43179 6.06819C9.60753 6.24392 9.89245 6.24392 10.0682 6.06819C10.2439 5.89245 10.2439 5.60753 10.0682 5.43179L7.81819 3.18179C7.73379 3.0974 7.61933 3.04999 7.49999 3.04999C7.38064 3.04999 7.26618 3.0974 7.18179 3.18179L4.93179 5.43179ZM10.0682 9.56819C10.2439 9.39245 10.2439 9.10753 10.0682 8.93179C9.89245 8.75606 9.60753 8.75606 9.43179 8.93179L7.49999 10.8636L5.56819 8.93179C5.39245 8.75606 5.10753 8.75606 4.93179 8.93179C4.75605 9.10753 4.75605 9.39245 4.93179 9.56819L7.18179 11.8182C7.35753 11.9939 7.64245 11.9939 7.81819 11.8182L10.0682 9.56819Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}var qQ=Object.defineProperty,KQ=Object.defineProperties,XQ=Object.getOwnPropertyDescriptors,G4=Object.getOwnPropertySymbols,YQ=Object.prototype.hasOwnProperty,QQ=Object.prototype.propertyIsEnumerable,q4=(e,t,n)=>t in e?qQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,JQ=(e,t)=>{for(var n in t||(t={}))YQ.call(t,n)&&q4(e,n,t[n]);if(G4)for(var n of G4(t))QQ.call(t,n)&&q4(e,n,t[n]);return e},ZQ=(e,t)=>KQ(e,XQ(t));function EE({shouldClear:e,clearButtonProps:t,onClear:n,size:r,error:o}){return e?H.createElement(aI,ZQ(JQ({},t),{variant:"transparent",onClick:n,size:r,onMouseDown:s=>s.preventDefault()})):H.createElement(GQ,{error:o,size:r})}EE.displayName="@mantine/core/SelectRightSection";var eJ=Object.defineProperty,tJ=Object.defineProperties,nJ=Object.getOwnPropertyDescriptors,Uh=Object.getOwnPropertySymbols,OE=Object.prototype.hasOwnProperty,RE=Object.prototype.propertyIsEnumerable,K4=(e,t,n)=>t in e?eJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,av=(e,t)=>{for(var n in t||(t={}))OE.call(t,n)&&K4(e,n,t[n]);if(Uh)for(var n of Uh(t))RE.call(t,n)&&K4(e,n,t[n]);return e},X4=(e,t)=>tJ(e,nJ(t)),rJ=(e,t)=>{var n={};for(var r in e)OE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Uh)for(var r of Uh(e))t.indexOf(r)<0&&RE.call(e,r)&&(n[r]=e[r]);return n};function ME(e){var t=e,{styles:n,rightSection:r,rightSectionWidth:o,theme:s}=t,a=rJ(t,["styles","rightSection","rightSectionWidth","theme"]);if(r)return{rightSection:r,rightSectionWidth:o,styles:n};const c=typeof n=="function"?n(s):n;return{rightSection:!a.readOnly&&!(a.disabled&&a.shouldClear)&&H.createElement(EE,av({},a)),styles:X4(av({},c),{rightSection:X4(av({},c==null?void 0:c.rightSection),{pointerEvents:a.shouldClear?void 0:"none"})})}}var oJ=Object.defineProperty,sJ=Object.defineProperties,aJ=Object.getOwnPropertyDescriptors,Y4=Object.getOwnPropertySymbols,iJ=Object.prototype.hasOwnProperty,lJ=Object.prototype.propertyIsEnumerable,Q4=(e,t,n)=>t in e?oJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cJ=(e,t)=>{for(var n in t||(t={}))iJ.call(t,n)&&Q4(e,n,t[n]);if(Y4)for(var n of Y4(t))lJ.call(t,n)&&Q4(e,n,t[n]);return e},uJ=(e,t)=>sJ(e,aJ(t)),dJ=ao((e,{invalid:t},{size:n})=>({wrapper:{position:"relative","&:has(input:disabled)":{cursor:"not-allowed",pointerEvents:"none","& .mantine-MultiSelect-input":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[1],color:e.colors.dark[2],opacity:.6,"&::placeholder":{color:e.colors.dark[2]}},"& .mantine-MultiSelect-defaultValue":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[3],color:e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[7]}}},values:{minHeight:`calc(${Vt({size:n,sizes:Yo})} - ${Ue(2)})`,display:"flex",alignItems:"center",flexWrap:"wrap",marginLeft:`calc(-${e.spacing.xs} / 2)`,boxSizing:"border-box","&[data-clearable]":{marginRight:Vt({size:n,sizes:Yo})}},value:{margin:`calc(${e.spacing.xs} / 2 - ${Ue(2)}) calc(${e.spacing.xs} / 2)`},searchInput:uJ(cJ({},e.fn.fontStyles()),{flex:1,minWidth:Ue(60),backgroundColor:"transparent",border:0,outline:0,fontSize:Vt({size:n,sizes:e.fontSizes}),padding:0,marginLeft:`calc(${e.spacing.xs} / 2)`,appearance:"none",color:"inherit",maxHeight:Vt({size:n,sizes:CE}),"&::placeholder":{opacity:1,color:t?e.colors.red[e.fn.primaryShade()]:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]},"&:disabled":{cursor:"not-allowed",pointerEvents:"none"}}),searchInputEmpty:{width:"100%"},searchInputInputHidden:{flex:0,width:0,minWidth:0,margin:0,overflow:"hidden"},searchInputPointer:{cursor:"pointer","&:disabled":{cursor:"not-allowed",pointerEvents:"none"}},input:{cursor:"pointer","&:disabled":{cursor:"not-allowed",pointerEvents:"none"}}}));const fJ=dJ;var pJ=Object.defineProperty,hJ=Object.defineProperties,mJ=Object.getOwnPropertyDescriptors,Gh=Object.getOwnPropertySymbols,DE=Object.prototype.hasOwnProperty,AE=Object.prototype.propertyIsEnumerable,J4=(e,t,n)=>t in e?pJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Vl=(e,t)=>{for(var n in t||(t={}))DE.call(t,n)&&J4(e,n,t[n]);if(Gh)for(var n of Gh(t))AE.call(t,n)&&J4(e,n,t[n]);return e},Z4=(e,t)=>hJ(e,mJ(t)),gJ=(e,t)=>{var n={};for(var r in e)DE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Gh)for(var r of Gh(e))t.indexOf(r)<0&&AE.call(e,r)&&(n[r]=e[r]);return n};function vJ(e,t,n){return t?!1:n.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function bJ(e,t){return!!e&&!t.some(n=>n.value.toLowerCase()===e.toLowerCase())}function ek(e,t){if(!Array.isArray(e))return;if(t.length===0)return[];const n=t.map(r=>typeof r=="object"?r.value:r);return e.filter(r=>n.includes(r))}const yJ={size:"sm",valueComponent:PE,itemComponent:Oy,transitionProps:{transition:"fade",duration:0},maxDropdownHeight:220,shadow:"sm",searchable:!1,filter:vJ,limit:1/0,clearSearchOnChange:!0,clearable:!1,clearSearchOnBlur:!1,disabled:!1,initiallyOpened:!1,creatable:!1,shouldCreate:bJ,switchDirectionOnFlip:!1,zIndex:Py("popover"),selectOnBlur:!1,positionDependencies:[],dropdownPosition:"flip"},TE=f.forwardRef((e,t)=>{const n=Sr("MultiSelect",yJ,e),{className:r,style:o,required:s,label:a,description:c,size:d,error:p,classNames:h,styles:m,wrapperProps:v,value:b,defaultValue:w,data:y,onChange:S,valueComponent:_,itemComponent:k,id:j,transitionProps:I,maxDropdownHeight:E,shadow:O,nothingFound:R,onFocus:M,onBlur:A,searchable:T,placeholder:$,filter:Q,limit:B,clearSearchOnChange:V,clearable:q,clearSearchOnBlur:G,variant:D,onSearchChange:L,searchValue:W,disabled:Y,initiallyOpened:ae,radius:be,icon:ie,rightSection:X,rightSectionWidth:K,creatable:U,getCreateLabel:se,shouldCreate:re,onCreate:oe,sx:pe,dropdownComponent:le,onDropdownClose:ge,onDropdownOpen:ke,maxSelectedValues:xe,withinPortal:de,portalProps:Te,switchDirectionOnFlip:Oe,zIndex:$e,selectOnBlur:kt,name:ct,dropdownPosition:on,errorProps:vt,labelProps:bt,descriptionProps:Se,form:Me,positionDependencies:Pt,onKeyDown:Tt,unstyled:we,inputContainer:ht,inputWrapperOrder:$t,readOnly:zt,withAsterisk:ze,clearButtonProps:Ke,hoverOnSearchChange:Pn,disableSelectedItemFiltering:Pe}=n,Ze=gJ(n,["className","style","required","label","description","size","error","classNames","styles","wrapperProps","value","defaultValue","data","onChange","valueComponent","itemComponent","id","transitionProps","maxDropdownHeight","shadow","nothingFound","onFocus","onBlur","searchable","placeholder","filter","limit","clearSearchOnChange","clearable","clearSearchOnBlur","variant","onSearchChange","searchValue","disabled","initiallyOpened","radius","icon","rightSection","rightSectionWidth","creatable","getCreateLabel","shouldCreate","onCreate","sx","dropdownComponent","onDropdownClose","onDropdownOpen","maxSelectedValues","withinPortal","portalProps","switchDirectionOnFlip","zIndex","selectOnBlur","name","dropdownPosition","errorProps","labelProps","descriptionProps","form","positionDependencies","onKeyDown","unstyled","inputContainer","inputWrapperOrder","readOnly","withAsterisk","clearButtonProps","hoverOnSearchChange","disableSelectedItemFiltering"]),{classes:Qe,cx:dt,theme:Lt}=fJ({invalid:!!p},{name:"MultiSelect",classNames:h,styles:m,unstyled:we,size:d,variant:D}),{systemStyles:cr,rest:pn}=Bm(Ze),ln=f.useRef(),Hr=f.useRef({}),yr=Iy(j),[Fn,Hn]=f.useState(ae),[Wn,Nr]=f.useState(-1),[Mo,Wr]=f.useState("column"),[Vr,fs]=dd({value:W,defaultValue:"",finalValue:void 0,onChange:L}),[$r,$s]=f.useState(!1),{scrollIntoView:ps,targetRef:da,scrollableRef:zs}=Ej({duration:0,offset:5,cancelable:!1,isList:!0}),J=U&&typeof se=="function";let ee=null;const he=y.map(Be=>typeof Be=="string"?{label:Be,value:Be}:Be),_e=bj({data:he}),[me,ut]=dd({value:ek(b,y),defaultValue:ek(w,y),finalValue:[],onChange:S}),st=f.useRef(!!xe&&xe{if(!zt){const yt=me.filter(Mt=>Mt!==Be);ut(yt),xe&&yt.length{fs(Be.currentTarget.value),!Y&&!st.current&&T&&Hn(!0)},xt=Be=>{typeof M=="function"&&M(Be),!Y&&!st.current&&T&&Hn(!0)},He=HQ({data:_e,searchable:T,searchValue:Vr,limit:B,filter:Q,value:me,disableSelectedItemFiltering:Pe});J&&re(Vr,_e)&&(ee=se(Vr),He.push({label:Vr,value:Vr,creatable:!0}));const Ce=Math.min(Wn,He.length-1),Je=(Be,yt,Mt)=>{let Wt=Be;for(;Mt(Wt);)if(Wt=yt(Wt),!He[Wt].disabled)return Wt;return Be};Ps(()=>{Nr(Pn&&Vr?0:-1)},[Vr,Pn]),Ps(()=>{!Y&&me.length>y.length&&Hn(!1),xe&&me.length=xe&&(st.current=!0,Hn(!1))},[me]);const jt=Be=>{if(!zt)if(V&&fs(""),me.includes(Be.value))Ht(Be.value);else{if(Be.creatable&&typeof oe=="function"){const yt=oe(Be.value);typeof yt<"u"&&yt!==null&&ut(typeof yt=="string"?[...me,yt]:[...me,yt.value])}else ut([...me,Be.value]);me.length===xe-1&&(st.current=!0,Hn(!1)),He.length===1&&Hn(!1)}},Et=Be=>{typeof A=="function"&&A(Be),kt&&He[Ce]&&Fn&&jt(He[Ce]),G&&fs(""),Hn(!1)},Nt=Be=>{if($r||(Tt==null||Tt(Be),zt)||Be.key!=="Backspace"&&xe&&st.current)return;const yt=Mo==="column",Mt=()=>{Nr(jn=>{var Gt;const un=Je(jn,sn=>sn+1,sn=>sn{Nr(jn=>{var Gt;const un=Je(jn,sn=>sn-1,sn=>sn>0);return Fn&&(da.current=Hr.current[(Gt=He[un])==null?void 0:Gt.value],ps({alignment:yt?"start":"end"})),un})};switch(Be.key){case"ArrowUp":{Be.preventDefault(),Hn(!0),yt?Wt():Mt();break}case"ArrowDown":{Be.preventDefault(),Hn(!0),yt?Mt():Wt();break}case"Enter":{Be.preventDefault(),He[Ce]&&Fn?jt(He[Ce]):Hn(!0);break}case" ":{T||(Be.preventDefault(),He[Ce]&&Fn?jt(He[Ce]):Hn(!0));break}case"Backspace":{me.length>0&&Vr.length===0&&(ut(me.slice(0,-1)),Hn(!0),xe&&(st.current=!1));break}case"Home":{if(!T){Be.preventDefault(),Fn||Hn(!0);const jn=He.findIndex(Gt=>!Gt.disabled);Nr(jn),ps({alignment:yt?"end":"start"})}break}case"End":{if(!T){Be.preventDefault(),Fn||Hn(!0);const jn=He.map(Gt=>!!Gt.disabled).lastIndexOf(!1);Nr(jn),ps({alignment:yt?"end":"start"})}break}case"Escape":Hn(!1)}},qt=me.map(Be=>{let yt=_e.find(Mt=>Mt.value===Be&&!Mt.disabled);return!yt&&J&&(yt={value:Be,label:Be}),yt}).filter(Be=>!!Be).map((Be,yt)=>H.createElement(_,Z4(Vl({},Be),{variant:D,disabled:Y,className:Qe.value,readOnly:zt,onRemove:Mt=>{Mt.preventDefault(),Mt.stopPropagation(),Ht(Be.value)},key:Be.value,size:d,styles:m,classNames:h,radius:be,index:yt}))),tn=Be=>me.includes(Be),en=()=>{var Be;fs(""),ut([]),(Be=ln.current)==null||Be.focus(),xe&&(st.current=!1)},Ut=!zt&&(He.length>0?Fn:Fn&&!!R);return Ps(()=>{const Be=Ut?ke:ge;typeof Be=="function"&&Be()},[Ut]),H.createElement(Ic.Wrapper,Vl(Vl({required:s,id:yr,label:a,error:p,description:c,size:d,className:r,style:o,classNames:h,styles:m,__staticSelector:"MultiSelect",sx:pe,errorProps:vt,descriptionProps:Se,labelProps:bt,inputContainer:ht,inputWrapperOrder:$t,unstyled:we,withAsterisk:ze,variant:D},cr),v),H.createElement(hi,{opened:Ut,transitionProps:I,shadow:"sm",withinPortal:de,portalProps:Te,__staticSelector:"MultiSelect",onDirectionChange:Wr,switchDirectionOnFlip:Oe,zIndex:$e,dropdownPosition:on,positionDependencies:[...Pt,Vr],classNames:h,styles:m,unstyled:we,variant:D},H.createElement(hi.Target,null,H.createElement("div",{className:Qe.wrapper,role:"combobox","aria-haspopup":"listbox","aria-owns":Fn&&Ut?`${yr}-items`:null,"aria-controls":yr,"aria-expanded":Fn,onMouseLeave:()=>Nr(-1),tabIndex:-1},H.createElement("input",{type:"hidden",name:ct,value:me.join(","),form:Me,disabled:Y}),H.createElement(Ic,Vl({__staticSelector:"MultiSelect",style:{overflow:"hidden"},component:"div",multiline:!0,size:d,variant:D,disabled:Y,error:p,required:s,radius:be,icon:ie,unstyled:we,onMouseDown:Be=>{var yt;Be.preventDefault(),!Y&&!st.current&&Hn(!Fn),(yt=ln.current)==null||yt.focus()},classNames:Z4(Vl({},h),{input:dt({[Qe.input]:!T},h==null?void 0:h.input)})},ME({theme:Lt,rightSection:X,rightSectionWidth:K,styles:m,size:d,shouldClear:q&&me.length>0,onClear:en,error:p,disabled:Y,clearButtonProps:Ke,readOnly:zt})),H.createElement("div",{className:Qe.values,"data-clearable":q||void 0},qt,H.createElement("input",Vl({ref:Hd(t,ln),type:"search",id:yr,className:dt(Qe.searchInput,{[Qe.searchInputPointer]:!T,[Qe.searchInputInputHidden]:!Fn&&me.length>0||!T&&me.length>0,[Qe.searchInputEmpty]:me.length===0}),onKeyDown:Nt,value:Vr,onChange:ft,onFocus:xt,onBlur:Et,readOnly:!T||st.current||zt,placeholder:me.length===0?$:void 0,disabled:Y,"data-mantine-stop-propagation":Fn,autoComplete:"off",onCompositionStart:()=>$s(!0),onCompositionEnd:()=>$s(!1)},pn)))))),H.createElement(hi.Dropdown,{component:le||Vm,maxHeight:E,direction:Mo,id:yr,innerRef:zs,__staticSelector:"MultiSelect",classNames:h,styles:m},H.createElement(Ey,{data:He,hovered:Ce,classNames:h,styles:m,uuid:yr,__staticSelector:"MultiSelect",onItemHover:Nr,onItemSelect:jt,itemsRefs:Hr,itemComponent:k,size:d,nothingFound:R,isItemSelected:tn,creatable:U&&!!ee,createLabel:ee,unstyled:we,variant:D}))))});TE.displayName="@mantine/core/MultiSelect";var xJ=Object.defineProperty,wJ=Object.defineProperties,SJ=Object.getOwnPropertyDescriptors,qh=Object.getOwnPropertySymbols,NE=Object.prototype.hasOwnProperty,$E=Object.prototype.propertyIsEnumerable,tk=(e,t,n)=>t in e?xJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,iv=(e,t)=>{for(var n in t||(t={}))NE.call(t,n)&&tk(e,n,t[n]);if(qh)for(var n of qh(t))$E.call(t,n)&&tk(e,n,t[n]);return e},CJ=(e,t)=>wJ(e,SJ(t)),kJ=(e,t)=>{var n={};for(var r in e)NE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&qh)for(var r of qh(e))t.indexOf(r)<0&&$E.call(e,r)&&(n[r]=e[r]);return n};const _J={type:"text",size:"sm",__staticSelector:"TextInput"},zE=f.forwardRef((e,t)=>{const n=oE("TextInput",_J,e),{inputProps:r,wrapperProps:o}=n,s=kJ(n,["inputProps","wrapperProps"]);return H.createElement(Ic.Wrapper,iv({},o),H.createElement(Ic,CJ(iv(iv({},r),s),{ref:t})))});zE.displayName="@mantine/core/TextInput";function PJ({data:e,searchable:t,limit:n,searchValue:r,filter:o,value:s,filterDataOnExactSearchMatch:a}){if(!t)return e;const c=s!=null&&e.find(p=>p.value===s)||null;if(c&&!a&&(c==null?void 0:c.label)===r){if(n){if(n>=e.length)return e;const p=e.indexOf(c),h=p+n,m=h-e.length;return m>0?e.slice(p-m):e.slice(p,h)}return e}const d=[];for(let p=0;p=n));p+=1);return d}var jJ=ao(()=>({input:{"&:not(:disabled)":{cursor:"pointer","&::selection":{backgroundColor:"transparent"}}}}));const IJ=jJ;var EJ=Object.defineProperty,OJ=Object.defineProperties,RJ=Object.getOwnPropertyDescriptors,Kh=Object.getOwnPropertySymbols,LE=Object.prototype.hasOwnProperty,BE=Object.prototype.propertyIsEnumerable,nk=(e,t,n)=>t in e?EJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,xu=(e,t)=>{for(var n in t||(t={}))LE.call(t,n)&&nk(e,n,t[n]);if(Kh)for(var n of Kh(t))BE.call(t,n)&&nk(e,n,t[n]);return e},lv=(e,t)=>OJ(e,RJ(t)),MJ=(e,t)=>{var n={};for(var r in e)LE.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Kh)for(var r of Kh(e))t.indexOf(r)<0&&BE.call(e,r)&&(n[r]=e[r]);return n};function DJ(e,t){return t.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function AJ(e,t){return!!e&&!t.some(n=>n.label.toLowerCase()===e.toLowerCase())}const TJ={required:!1,size:"sm",shadow:"sm",itemComponent:Oy,transitionProps:{transition:"fade",duration:0},initiallyOpened:!1,filter:DJ,maxDropdownHeight:220,searchable:!1,clearable:!1,limit:1/0,disabled:!1,creatable:!1,shouldCreate:AJ,selectOnBlur:!1,switchDirectionOnFlip:!1,filterDataOnExactSearchMatch:!1,zIndex:Py("popover"),positionDependencies:[],dropdownPosition:"flip"},By=f.forwardRef((e,t)=>{const n=oE("Select",TJ,e),{inputProps:r,wrapperProps:o,shadow:s,data:a,value:c,defaultValue:d,onChange:p,itemComponent:h,onKeyDown:m,onBlur:v,onFocus:b,transitionProps:w,initiallyOpened:y,unstyled:S,classNames:_,styles:k,filter:j,maxDropdownHeight:I,searchable:E,clearable:O,nothingFound:R,limit:M,disabled:A,onSearchChange:T,searchValue:$,rightSection:Q,rightSectionWidth:B,creatable:V,getCreateLabel:q,shouldCreate:G,selectOnBlur:D,onCreate:L,dropdownComponent:W,onDropdownClose:Y,onDropdownOpen:ae,withinPortal:be,portalProps:ie,switchDirectionOnFlip:X,zIndex:K,name:U,dropdownPosition:se,allowDeselect:re,placeholder:oe,filterDataOnExactSearchMatch:pe,form:le,positionDependencies:ge,readOnly:ke,clearButtonProps:xe,hoverOnSearchChange:de}=n,Te=MJ(n,["inputProps","wrapperProps","shadow","data","value","defaultValue","onChange","itemComponent","onKeyDown","onBlur","onFocus","transitionProps","initiallyOpened","unstyled","classNames","styles","filter","maxDropdownHeight","searchable","clearable","nothingFound","limit","disabled","onSearchChange","searchValue","rightSection","rightSectionWidth","creatable","getCreateLabel","shouldCreate","selectOnBlur","onCreate","dropdownComponent","onDropdownClose","onDropdownOpen","withinPortal","portalProps","switchDirectionOnFlip","zIndex","name","dropdownPosition","allowDeselect","placeholder","filterDataOnExactSearchMatch","form","positionDependencies","readOnly","clearButtonProps","hoverOnSearchChange"]),{classes:Oe,cx:$e,theme:kt}=IJ(),[ct,on]=f.useState(y),[vt,bt]=f.useState(-1),Se=f.useRef(),Me=f.useRef({}),[Pt,Tt]=f.useState("column"),we=Pt==="column",{scrollIntoView:ht,targetRef:$t,scrollableRef:zt}=Ej({duration:0,offset:5,cancelable:!1,isList:!0}),ze=re===void 0?O:re,Ke=ee=>{if(ct!==ee){on(ee);const he=ee?ae:Y;typeof he=="function"&&he()}},Pn=V&&typeof q=="function";let Pe=null;const Ze=a.map(ee=>typeof ee=="string"?{label:ee,value:ee}:ee),Qe=bj({data:Ze}),[dt,Lt,cr]=dd({value:c,defaultValue:d,finalValue:null,onChange:p}),pn=Qe.find(ee=>ee.value===dt),[ln,Hr]=dd({value:$,defaultValue:(pn==null?void 0:pn.label)||"",finalValue:void 0,onChange:T}),yr=ee=>{Hr(ee),E&&typeof T=="function"&&T(ee)},Fn=()=>{var ee;ke||(Lt(null),cr||yr(""),(ee=Se.current)==null||ee.focus())};f.useEffect(()=>{const ee=Qe.find(he=>he.value===dt);ee?yr(ee.label):(!Pn||!dt)&&yr("")},[dt]),f.useEffect(()=>{pn&&(!E||!ct)&&yr(pn.label)},[pn==null?void 0:pn.label]);const Hn=ee=>{if(!ke)if(ze&&(pn==null?void 0:pn.value)===ee.value)Lt(null),Ke(!1);else{if(ee.creatable&&typeof L=="function"){const he=L(ee.value);typeof he<"u"&&he!==null&&Lt(typeof he=="string"?he:he.value)}else Lt(ee.value);cr||yr(ee.label),bt(-1),Ke(!1),Se.current.focus()}},Wn=PJ({data:Qe,searchable:E,limit:M,searchValue:ln,filter:j,filterDataOnExactSearchMatch:pe,value:dt});Pn&&G(ln,Wn)&&(Pe=q(ln),Wn.push({label:ln,value:ln,creatable:!0}));const Nr=(ee,he,_e)=>{let me=ee;for(;_e(me);)if(me=he(me),!Wn[me].disabled)return me;return ee};Ps(()=>{bt(de&&ln?0:-1)},[ln,de]);const Mo=dt?Wn.findIndex(ee=>ee.value===dt):0,Wr=!ke&&(Wn.length>0?ct:ct&&!!R),Vr=()=>{bt(ee=>{var he;const _e=Nr(ee,me=>me-1,me=>me>0);return $t.current=Me.current[(he=Wn[_e])==null?void 0:he.value],Wr&&ht({alignment:we?"start":"end"}),_e})},fs=()=>{bt(ee=>{var he;const _e=Nr(ee,me=>me+1,me=>mewindow.setTimeout(()=>{var ee;$t.current=Me.current[(ee=Wn[Mo])==null?void 0:ee.value],ht({alignment:we?"end":"start"})},50);Ps(()=>{Wr&&$r()},[Wr]);const $s=ee=>{switch(typeof m=="function"&&m(ee),ee.key){case"ArrowUp":{ee.preventDefault(),ct?we?Vr():fs():(bt(Mo),Ke(!0),$r());break}case"ArrowDown":{ee.preventDefault(),ct?we?fs():Vr():(bt(Mo),Ke(!0),$r());break}case"Home":{if(!E){ee.preventDefault(),ct||Ke(!0);const he=Wn.findIndex(_e=>!_e.disabled);bt(he),Wr&&ht({alignment:we?"end":"start"})}break}case"End":{if(!E){ee.preventDefault(),ct||Ke(!0);const he=Wn.map(_e=>!!_e.disabled).lastIndexOf(!1);bt(he),Wr&&ht({alignment:we?"end":"start"})}break}case"Escape":{ee.preventDefault(),Ke(!1),bt(-1);break}case" ":{E||(ee.preventDefault(),Wn[vt]&&ct?Hn(Wn[vt]):(Ke(!0),bt(Mo),$r()));break}case"Enter":E||ee.preventDefault(),Wn[vt]&&ct&&(ee.preventDefault(),Hn(Wn[vt]))}},ps=ee=>{typeof v=="function"&&v(ee);const he=Qe.find(_e=>_e.value===dt);D&&Wn[vt]&&ct&&Hn(Wn[vt]),yr((he==null?void 0:he.label)||""),Ke(!1)},da=ee=>{typeof b=="function"&&b(ee),E&&Ke(!0)},zs=ee=>{ke||(yr(ee.currentTarget.value),O&&ee.currentTarget.value===""&&Lt(null),bt(-1),Ke(!0))},J=()=>{ke||(Ke(!ct),dt&&!ct&&bt(Mo))};return H.createElement(Ic.Wrapper,lv(xu({},o),{__staticSelector:"Select"}),H.createElement(hi,{opened:Wr,transitionProps:w,shadow:s,withinPortal:be,portalProps:ie,__staticSelector:"Select",onDirectionChange:Tt,switchDirectionOnFlip:X,zIndex:K,dropdownPosition:se,positionDependencies:[...ge,ln],classNames:_,styles:k,unstyled:S,variant:r.variant},H.createElement(hi.Target,null,H.createElement("div",{role:"combobox","aria-haspopup":"listbox","aria-owns":Wr?`${r.id}-items`:null,"aria-controls":r.id,"aria-expanded":Wr,onMouseLeave:()=>bt(-1),tabIndex:-1},H.createElement("input",{type:"hidden",name:U,value:dt||"",form:le,disabled:A}),H.createElement(Ic,xu(lv(xu(xu({autoComplete:"off",type:"search"},r),Te),{ref:Hd(t,Se),onKeyDown:$s,__staticSelector:"Select",value:ln,placeholder:oe,onChange:zs,"aria-autocomplete":"list","aria-controls":Wr?`${r.id}-items`:null,"aria-activedescendant":vt>=0?`${r.id}-${vt}`:null,onMouseDown:J,onBlur:ps,onFocus:da,readOnly:!E||ke,disabled:A,"data-mantine-stop-propagation":Wr,name:null,classNames:lv(xu({},_),{input:$e({[Oe.input]:!E},_==null?void 0:_.input)})}),ME({theme:kt,rightSection:Q,rightSectionWidth:B,styles:k,size:r.size,shouldClear:O&&!!pn,onClear:Fn,error:o.error,clearButtonProps:xe,disabled:A,readOnly:ke}))))),H.createElement(hi.Dropdown,{component:W||Vm,maxHeight:I,direction:Pt,id:r.id,innerRef:zt,__staticSelector:"Select",classNames:_,styles:k},H.createElement(Ey,{data:Wn,hovered:vt,classNames:_,styles:k,isItemSelected:ee=>ee===dt,uuid:r.id,__staticSelector:"Select",onItemHover:bt,onItemSelect:Hn,itemsRefs:Me,itemComponent:h,size:r.size,nothingFound:R,creatable:Pn&&!!Pe,createLabel:Pe,"aria-label":o.label,unstyled:S,variant:r.variant}))))});By.displayName="@mantine/core/Select";const Fy=()=>{const[e,t,n,r,o,s,a,c,d,p,h,m,v,b,w,y,S,_,k,j,I,E,O,R,M,A,T,$,Q,B,V,q,G,D,L,W,Y,ae]=Tc("colors",["base.50","base.100","base.150","base.200","base.250","base.300","base.350","base.400","base.450","base.500","base.550","base.600","base.650","base.700","base.750","base.800","base.850","base.900","base.950","accent.50","accent.100","accent.150","accent.200","accent.250","accent.300","accent.350","accent.400","accent.450","accent.500","accent.550","accent.600","accent.650","accent.700","accent.750","accent.800","accent.850","accent.900","accent.950"]);return{base50:e,base100:t,base150:n,base200:r,base250:o,base300:s,base350:a,base400:c,base450:d,base500:p,base550:h,base600:m,base650:v,base700:b,base750:w,base800:y,base850:S,base900:_,base950:k,accent50:j,accent100:I,accent150:E,accent200:O,accent250:R,accent300:M,accent350:A,accent400:T,accent450:$,accent500:Q,accent550:B,accent600:V,accent650:q,accent700:G,accent750:D,accent800:L,accent850:W,accent900:Y,accent950:ae}},FE=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:a,base700:c,base800:d,base900:p,accent200:h,accent300:m,accent400:v,accent500:b,accent600:w}=Fy(),{colorMode:y}=Ds(),[S]=Tc("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:Fe(c,r)(y)},separatorLabel:{color:Fe(s,s)(y),"::after":{borderTopColor:Fe(r,c)(y)}},input:{backgroundColor:Fe(e,p)(y),borderWidth:"2px",borderColor:Fe(n,d)(y),color:Fe(p,t)(y),paddingRight:24,fontWeight:600,"&:hover":{borderColor:Fe(r,a)(y)},"&:focus":{borderColor:Fe(m,w)(y)},"&:is(:focus, :hover)":{borderColor:Fe(o,s)(y)},"&:focus-within":{borderColor:Fe(h,w)(y)},"&[data-disabled]":{backgroundColor:Fe(r,c)(y),color:Fe(a,o)(y),cursor:"not-allowed"}},value:{backgroundColor:Fe(t,p)(y),color:Fe(p,t)(y),button:{color:Fe(p,t)(y)},"&:hover":{backgroundColor:Fe(r,c)(y),cursor:"pointer"}},dropdown:{backgroundColor:Fe(n,d)(y),borderColor:Fe(n,d)(y),boxShadow:S},item:{backgroundColor:Fe(n,d)(y),color:Fe(d,n)(y),padding:6,"&[data-hovered]":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)},"&[data-active]":{backgroundColor:Fe(r,c)(y),"&:hover":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)}},"&[data-selected]":{backgroundColor:Fe(v,w)(y),color:Fe(e,t)(y),fontWeight:600,"&:hover":{backgroundColor:Fe(b,b)(y),color:Fe("white",e)(y)}},"&[data-disabled]":{color:Fe(s,a)(y),cursor:"not-allowed"}},rightSection:{width:32,button:{color:Fe(p,t)(y)}}}),[h,m,v,b,w,t,n,r,o,e,s,a,c,d,p,S,y])},NJ=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,onChange:o,label:s,disabled:a,...c}=e,d=te(),[p,h]=f.useState(""),m=f.useCallback(y=>{y.shiftKey&&d(jo(!0))},[d]),v=f.useCallback(y=>{y.shiftKey||d(jo(!1))},[d]),b=f.useCallback(y=>{h(""),o&&o(y)},[o]),w=FE();return i.jsx(wn,{label:n,placement:"top",hasArrow:!0,children:i.jsx(By,{ref:r,label:s?i.jsx(go,{isDisabled:a,children:i.jsx(Lo,{children:s})}):void 0,disabled:a,searchValue:p,onSearchChange:h,onChange:b,onKeyDown:m,onKeyUp:v,searchable:t,maxDropdownHeight:300,styles:w,...c})})},ar=f.memo(NJ),HE=f.forwardRef(({label:e,tooltip:t,description:n,disabled:r,...o},s)=>i.jsx(wn,{label:t,placement:"top",hasArrow:!0,openDelay:500,children:i.jsx(Ee,{ref:s,...o,children:i.jsxs(Ee,{children:[i.jsx(kc,{children:e}),n&&i.jsx(kc,{size:"xs",color:"base.600",children:n})]})})}));HE.displayName="IAIMantineSelectItemWithTooltip";const Ri=f.memo(HE),$J=fe([Ye],({gallery:e})=>{const{autoAddBoardId:t}=e;return{autoAddBoardId:t}},Ge),zJ=()=>{const e=te(),{autoAddBoardId:t}=z($J),n=f.useRef(null),{boards:r,hasBoards:o}=am(void 0,{selectFromResult:({data:a})=>{const c=[{label:"None",value:"none"}];return a==null||a.forEach(({board_id:d,board_name:p})=>{c.push({label:p,value:d})}),{boards:c,hasBoards:c.length>1}}}),s=f.useCallback(a=>{a&&e(N_(a==="none"?void 0:a))},[e]);return i.jsx(ar,{label:"Auto-Add Board",inputRef:n,autoFocus:!0,placeholder:"Select a Board",value:t,data:r,nothingFound:"No matching Boards",itemComponent:Ri,disabled:!o,filter:(a,c)=>{var d;return((d=c.label)==null?void 0:d.toLowerCase().includes(a.toLowerCase().trim()))||c.value.toLowerCase().includes(a.toLowerCase().trim())},onChange:s})},LJ=fe([Ye],e=>{const{galleryImageMinimumWidth:t,shouldAutoSwitch:n}=e.gallery;return{galleryImageMinimumWidth:t,shouldAutoSwitch:n}},Ge),BJ=()=>{const e=te(),{t}=ye(),{galleryImageMinimumWidth:n,shouldAutoSwitch:r}=z(LJ),o=s=>{e(Np(s))};return i.jsx(vl,{triggerComponent:i.jsx(Le,{tooltip:t("gallery.gallerySettings"),"aria-label":t("gallery.gallerySettings"),size:"sm",icon:i.jsx(sy,{})}),children:i.jsxs(F,{direction:"column",gap:4,children:[i.jsx(_t,{value:n,onChange:o,min:32,max:256,hideTooltip:!0,label:t("gallery.galleryImageSize"),withReset:!0,handleReset:()=>e(Np(64))}),i.jsx(Gn,{label:t("gallery.autoSwitchNewImages"),isChecked:r,onChange:s=>e(Y7(s.target.checked))}),i.jsx(zJ,{})]})})},FJ=e=>e.image?i.jsx(km,{sx:{w:`${e.image.width}px`,h:"auto",objectFit:"contain",aspectRatio:`${e.image.width}/${e.image.height}`}}):i.jsx(F,{sx:{opacity:.7,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",bg:"base.200",_dark:{bg:"base.900"}},children:i.jsx(pl,{size:"xl"})}),mi=e=>{const{icon:t=ll,boxSize:n=16}=e;return i.jsxs(F,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",flexDir:"column",gap:2,userSelect:"none",opacity:.7,color:"base.700",_dark:{color:"base.500"},...e.sx},children:[i.jsx(no,{as:t,boxSize:n,opacity:.7}),e.label&&i.jsx(qe,{textAlign:"center",children:e.label})]})},qm=0,Mi=1,qc=2,WE=4;function HJ(e,t){return n=>e(t(n))}function WJ(e,t){return t(e)}function VE(e,t){return n=>e(t,n)}function rk(e,t){return()=>e(t)}function Hy(e,t){return t(e),e}function xl(...e){return e}function VJ(e){e()}function ok(e){return()=>e}function UJ(...e){return()=>{e.map(VJ)}}function Km(){}function ho(e,t){return e(Mi,t)}function Ar(e,t){e(qm,t)}function Wy(e){e(qc)}function Xm(e){return e(WE)}function Un(e,t){return ho(e,VE(t,qm))}function sk(e,t){const n=e(Mi,r=>{n(),t(r)});return n}function wr(){const e=[];return(t,n)=>{switch(t){case qc:e.splice(0,e.length);return;case Mi:return e.push(n),()=>{const r=e.indexOf(n);r>-1&&e.splice(r,1)};case qm:e.slice().forEach(r=>{r(n)});return;default:throw new Error(`unrecognized action ${t}`)}}}function Kt(e){let t=e;const n=wr();return(r,o)=>{switch(r){case Mi:o(t);break;case qm:t=o;break;case WE:return t}return n(r,o)}}function GJ(e){let t,n;const r=()=>t&&t();return function(o,s){switch(o){case Mi:return s?n===s?void 0:(r(),n=s,t=ho(e,s),t):(r(),Km);case qc:r(),n=null;return;default:throw new Error(`unrecognized action ${o}`)}}}function Uu(e){return Hy(wr(),t=>Un(e,t))}function mc(e,t){return Hy(Kt(t),n=>Un(e,n))}function qJ(...e){return t=>e.reduceRight(WJ,t)}function Xt(e,...t){const n=qJ(...t);return(r,o)=>{switch(r){case Mi:return ho(e,n(o));case qc:Wy(e);return}}}function UE(e,t){return e===t}function Co(e=UE){let t;return n=>r=>{e(t,r)||(t=r,n(r))}}function Kr(e){return t=>n=>{e(n)&&t(n)}}function nr(e){return t=>HJ(t,e)}function ai(e){return t=>()=>t(e)}function bp(e,t){return n=>r=>n(t=e(t,r))}function R1(e){return t=>n=>{e>0?e--:t(n)}}function Du(e){let t=null,n;return r=>o=>{t=o,!n&&(n=setTimeout(()=>{n=void 0,r(t)},e))}}function ak(e){let t,n;return r=>o=>{t=o,n&&clearTimeout(n),n=setTimeout(()=>{r(t)},e)}}function Xs(...e){const t=new Array(e.length);let n=0,r=null;const o=Math.pow(2,e.length)-1;return e.forEach((s,a)=>{const c=Math.pow(2,a);ho(s,d=>{const p=n;n=n|c,t[a]=d,p!==o&&n===o&&r&&(r(),r=null)})}),s=>a=>{const c=()=>s([a].concat(t));n===o?c():r=c}}function ik(...e){return function(t,n){switch(t){case Mi:return UJ(...e.map(r=>ho(r,n)));case qc:return;default:throw new Error(`unrecognized action ${t}`)}}}function xn(e,t=UE){return Xt(e,Co(t))}function Sa(...e){const t=wr(),n=new Array(e.length);let r=0;const o=Math.pow(2,e.length)-1;return e.forEach((s,a)=>{const c=Math.pow(2,a);ho(s,d=>{n[a]=d,r=r|c,r===o&&Ar(t,n)})}),function(s,a){switch(s){case Mi:return r===o&&a(n),ho(t,a);case qc:return Wy(t);default:throw new Error(`unrecognized action ${s}`)}}}function ua(e,t=[],{singleton:n}={singleton:!0}){return{id:KJ(),constructor:e,dependencies:t,singleton:n}}const KJ=()=>Symbol();function XJ(e){const t=new Map,n=({id:r,constructor:o,dependencies:s,singleton:a})=>{if(a&&t.has(r))return t.get(r);const c=o(s.map(d=>n(d)));return a&&t.set(r,c),c};return n(e)}function YJ(e,t){const n={},r={};let o=0;const s=e.length;for(;o(S[_]=k=>{const j=y[t.methods[_]];Ar(j,k)},S),{})}function h(y){return a.reduce((S,_)=>(S[_]=GJ(y[t.events[_]]),S),{})}return{Component:H.forwardRef((y,S)=>{const{children:_,...k}=y,[j]=H.useState(()=>Hy(XJ(e),E=>d(E,k))),[I]=H.useState(rk(h,j));return yp(()=>{for(const E of a)E in k&&ho(I[E],k[E]);return()=>{Object.values(I).map(Wy)}},[k,I,j]),yp(()=>{d(j,k)}),H.useImperativeHandle(S,ok(p(j))),H.createElement(c.Provider,{value:j},n?H.createElement(n,YJ([...r,...o,...a],k),_):_)}),usePublisher:y=>H.useCallback(VE(Ar,H.useContext(c)[y]),[y]),useEmitterValue:y=>{const _=H.useContext(c)[y],[k,j]=H.useState(rk(Xm,_));return yp(()=>ho(_,I=>{I!==k&&j(ok(I))}),[_,k]),k},useEmitter:(y,S)=>{const k=H.useContext(c)[y];yp(()=>ho(k,S),[S,k])}}}const JJ=typeof document<"u"?H.useLayoutEffect:H.useEffect,ZJ=JJ;var Vy=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e))(Vy||{});const eZ={0:"debug",1:"log",2:"warn",3:"error"},tZ=()=>typeof globalThis>"u"?window:globalThis,GE=ua(()=>{const e=Kt(3);return{log:Kt((n,r,o=1)=>{var s;const a=(s=tZ().VIRTUOSO_LOG_LEVEL)!=null?s:Xm(e);o>=a&&console[eZ[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",n,r)}),logLevel:e}},[],{singleton:!0});function qE(e,t=!0){const n=H.useRef(null);let r=o=>{};if(typeof ResizeObserver<"u"){const o=H.useMemo(()=>new ResizeObserver(s=>{const a=s[0].target;a.offsetParent!==null&&e(a)}),[e]);r=s=>{s&&t?(o.observe(s),n.current=s):(n.current&&o.unobserve(n.current),n.current=null)}}return{ref:n,callbackRef:r}}function Ym(e,t=!0){return qE(e,t).callbackRef}function Xh(e,t){return Math.round(e.getBoundingClientRect()[t])}function KE(e,t){return Math.abs(e-t)<1.01}function XE(e,t,n,r=Km,o){const s=H.useRef(null),a=H.useRef(null),c=H.useRef(null),d=H.useCallback(m=>{const v=m.target,b=v===window||v===document,w=b?window.pageYOffset||document.documentElement.scrollTop:v.scrollTop,y=b?document.documentElement.scrollHeight:v.scrollHeight,S=b?window.innerHeight:v.offsetHeight,_=()=>{e({scrollTop:Math.max(w,0),scrollHeight:y,viewportHeight:S})};m.suppressFlushSync?_():Q7.flushSync(_),a.current!==null&&(w===a.current||w<=0||w===y-S)&&(a.current=null,t(!0),c.current&&(clearTimeout(c.current),c.current=null))},[e,t]);H.useEffect(()=>{const m=o||s.current;return r(o||s.current),d({target:m,suppressFlushSync:!0}),m.addEventListener("scroll",d,{passive:!0}),()=>{r(null),m.removeEventListener("scroll",d)}},[s,d,n,r,o]);function p(m){const v=s.current;if(!v||"offsetHeight"in v&&v.offsetHeight===0)return;const b=m.behavior==="smooth";let w,y,S;v===window?(y=Math.max(Xh(document.documentElement,"height"),document.documentElement.scrollHeight),w=window.innerHeight,S=document.documentElement.scrollTop):(y=v.scrollHeight,w=Xh(v,"height"),S=v.scrollTop);const _=y-w;if(m.top=Math.ceil(Math.max(Math.min(_,m.top),0)),KE(w,y)||m.top===S){e({scrollTop:S,scrollHeight:y,viewportHeight:w}),b&&t(!0);return}b?(a.current=m.top,c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{c.current=null,a.current=null,t(!0)},1e3)):a.current=null,v.scrollTo(m)}function h(m){s.current.scrollBy(m)}return{scrollerRef:s,scrollByCallback:h,scrollToCallback:p}}const Qm=ua(()=>{const e=wr(),t=wr(),n=Kt(0),r=wr(),o=Kt(0),s=wr(),a=wr(),c=Kt(0),d=Kt(0),p=Kt(0),h=Kt(0),m=wr(),v=wr(),b=Kt(!1);return Un(Xt(e,nr(({scrollTop:w})=>w)),t),Un(Xt(e,nr(({scrollHeight:w})=>w)),a),Un(t,o),{scrollContainerState:e,scrollTop:t,viewportHeight:s,headerHeight:c,fixedHeaderHeight:d,fixedFooterHeight:p,footerHeight:h,scrollHeight:a,smoothScrollTargetReached:r,scrollTo:m,scrollBy:v,statefulScrollTop:o,deviation:n,scrollingInProgress:b}},[],{singleton:!0}),nZ=typeof document<"u"&&"scrollBehavior"in document.documentElement.style;function rZ(e){const t=typeof e=="number"?{index:e}:e;return t.align||(t.align="start"),(!t.behavior||!nZ)&&(t.behavior="auto"),t.offset||(t.offset=0),t}const Yh="up",Gu="down",oZ="none",sZ={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,scrollHeight:0}},aZ=0,YE=ua(([{scrollContainerState:e,scrollTop:t,viewportHeight:n,headerHeight:r,footerHeight:o,scrollBy:s}])=>{const a=Kt(!1),c=Kt(!0),d=wr(),p=wr(),h=Kt(4),m=Kt(aZ),v=mc(Xt(ik(Xt(xn(t),R1(1),ai(!0)),Xt(xn(t),R1(1),ai(!1),ak(100))),Co()),!1),b=mc(Xt(ik(Xt(s,ai(!0)),Xt(s,ai(!1),ak(200))),Co()),!1);Un(Xt(Sa(xn(t),xn(m)),nr(([k,j])=>k<=j),Co()),c),Un(Xt(c,Du(50)),p);const w=Uu(Xt(Sa(e,xn(n),xn(r),xn(o),xn(h)),bp((k,[{scrollTop:j,scrollHeight:I},E,O,R,M])=>{const A=j+E-I>-M,T={viewportHeight:E,scrollTop:j,scrollHeight:I};if(A){let Q,B;return j>k.state.scrollTop?(Q="SCROLLED_DOWN",B=k.state.scrollTop-j):(Q="SIZE_DECREASED",B=k.state.scrollTop-j||k.scrollTopDelta),{atBottom:!0,state:T,atBottomBecause:Q,scrollTopDelta:B}}let $;return T.scrollHeight>k.state.scrollHeight?$="SIZE_INCREASED":Ek&&k.atBottom===j.atBottom))),y=mc(Xt(e,bp((k,{scrollTop:j,scrollHeight:I,viewportHeight:E})=>{if(KE(k.scrollHeight,I))return{scrollTop:j,scrollHeight:I,jump:0,changed:!1};{const O=I-(j+E)<1;return k.scrollTop!==j&&O?{scrollHeight:I,scrollTop:j,jump:k.scrollTop-j,changed:!0}:{scrollHeight:I,scrollTop:j,jump:0,changed:!0}}},{scrollHeight:0,jump:0,scrollTop:0,changed:!1}),Kr(k=>k.changed),nr(k=>k.jump)),0);Un(Xt(w,nr(k=>k.atBottom)),a),Un(Xt(a,Du(50)),d);const S=Kt(Gu);Un(Xt(e,nr(({scrollTop:k})=>k),Co(),bp((k,j)=>Xm(b)?{direction:k.direction,prevScrollTop:j}:{direction:jk.direction)),S),Un(Xt(e,Du(50),ai(oZ)),S);const _=Kt(0);return Un(Xt(v,Kr(k=>!k),ai(0)),_),Un(Xt(t,Du(100),Xs(v),Kr(([k,j])=>!!j),bp(([k,j],[I])=>[j,I],[0,0]),nr(([k,j])=>j-k)),_),{isScrolling:v,isAtTop:c,isAtBottom:a,atBottomState:w,atTopStateChange:p,atBottomStateChange:d,scrollDirection:S,atBottomThreshold:h,atTopThreshold:m,scrollVelocity:_,lastJumpDueToItemResize:y}},xl(Qm)),iZ=ua(([{log:e}])=>{const t=Kt(!1),n=Uu(Xt(t,Kr(r=>r),Co()));return ho(t,r=>{r&&Xm(e)("props updated",{},Vy.DEBUG)}),{propsReady:t,didMount:n}},xl(GE),{singleton:!0});function QE(e,t){e==0?t():requestAnimationFrame(()=>QE(e-1,t))}function lZ(e,t){const n=t-1;return typeof e=="number"?e:e.index==="LAST"?n:e.index}function M1(e,t){return!!(e&&e[0]===t[0]&&e[1]===t[1])}function cZ(e,t){return!!(e&&e.startIndex===t.startIndex&&e.endIndex===t.endIndex)}const Qh="top",Jh="bottom",lk="none";function ck(e,t,n){return typeof e=="number"?n===Yh&&t===Qh||n===Gu&&t===Jh?e:0:n===Yh?t===Qh?e.main:e.reverse:t===Jh?e.main:e.reverse}function uk(e,t){return typeof e=="number"?e:e[t]||0}const uZ=ua(([{scrollTop:e,viewportHeight:t,deviation:n,headerHeight:r,fixedHeaderHeight:o}])=>{const s=wr(),a=Kt(0),c=Kt(0),d=Kt(0),p=mc(Xt(Sa(xn(e),xn(t),xn(r),xn(s,M1),xn(d),xn(a),xn(o),xn(n),xn(c)),nr(([h,m,v,[b,w],y,S,_,k,j])=>{const I=h-k,E=S+_,O=Math.max(v-I,0);let R=lk;const M=uk(j,Qh),A=uk(j,Jh);return b-=k,b+=v+_,w+=v+_,w-=k,b>h+E-M&&(R=Yh),wh!=null),Co(M1)),[0,0]);return{listBoundary:s,overscan:d,topListHeight:a,increaseViewportBy:c,visibleRange:p}},xl(Qm),{singleton:!0}),dZ=ua(([{scrollVelocity:e}])=>{const t=Kt(!1),n=wr(),r=Kt(!1);return Un(Xt(e,Xs(r,t,n),Kr(([o,s])=>!!s),nr(([o,s,a,c])=>{const{exit:d,enter:p}=s;if(a){if(d(o,c))return!1}else if(p(o,c))return!0;return a}),Co()),t),ho(Xt(Sa(t,e,n),Xs(r)),([[o,s,a],c])=>o&&c&&c.change&&c.change(s,a)),{isSeeking:t,scrollSeekConfiguration:r,scrollVelocity:e,scrollSeekRangeChanged:n}},xl(YE),{singleton:!0});function fZ(e){let t=!1,n;return()=>(t||(t=!0,n=e()),n)}const pZ=ua(([{scrollTo:e,scrollContainerState:t}])=>{const n=wr(),r=wr(),o=wr(),s=Kt(!1),a=Kt(void 0);return Un(Xt(Sa(n,r),nr(([{viewportHeight:c,scrollTop:d,scrollHeight:p},{offsetTop:h}])=>({scrollTop:Math.max(0,d-h),scrollHeight:p,viewportHeight:c}))),t),Un(Xt(e,Xs(r),nr(([c,{offsetTop:d}])=>({...c,top:c.top+d}))),o),{useWindowScroll:s,customScrollParent:a,windowScrollContainerState:n,windowViewportRect:r,windowScrollTo:o}},xl(Qm)),cv="-webkit-sticky",dk="sticky",JE=fZ(()=>{if(typeof document>"u")return dk;const e=document.createElement("div");return e.style.position=cv,e.style.position===cv?cv:dk});function hZ(e,t){const n=H.useRef(null),r=H.useCallback(c=>{if(c===null||!c.offsetParent)return;const d=c.getBoundingClientRect(),p=d.width;let h,m;if(t){const v=t.getBoundingClientRect(),b=d.top-v.top;h=v.height-Math.max(0,b),m=b+t.scrollTop}else h=window.innerHeight-Math.max(0,d.top),m=d.top+window.pageYOffset;n.current={offsetTop:m,visibleHeight:h,visibleWidth:p},e(n.current)},[e,t]),{callbackRef:o,ref:s}=qE(r),a=H.useCallback(()=>{r(s.current)},[r,s]);return H.useEffect(()=>{if(t){t.addEventListener("scroll",a);const c=new ResizeObserver(a);return c.observe(t),()=>{t.removeEventListener("scroll",a),c.unobserve(t)}}else return window.addEventListener("scroll",a),window.addEventListener("resize",a),()=>{window.removeEventListener("scroll",a),window.removeEventListener("resize",a)}},[a,t]),o}H.createContext(void 0);const ZE=H.createContext(void 0);function mZ(e){return e}JE();const gZ={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},eO={width:"100%",height:"100%",position:"absolute",top:0};JE();function nl(e,t){if(typeof e!="string")return{context:t}}function vZ({usePublisher:e,useEmitter:t,useEmitterValue:n}){return H.memo(function({style:s,children:a,...c}){const d=e("scrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),m=n("scrollerRef"),v=n("context"),{scrollerRef:b,scrollByCallback:w,scrollToCallback:y}=XE(d,h,p,m);return t("scrollTo",y),t("scrollBy",w),H.createElement(p,{ref:b,style:{...gZ,...s},"data-test-id":"virtuoso-scroller","data-virtuoso-scroller":!0,tabIndex:0,...c,...nl(p,v)},a)})}function bZ({usePublisher:e,useEmitter:t,useEmitterValue:n}){return H.memo(function({style:s,children:a,...c}){const d=e("windowScrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),m=n("totalListHeight"),v=n("deviation"),b=n("customScrollParent"),w=n("context"),{scrollerRef:y,scrollByCallback:S,scrollToCallback:_}=XE(d,h,p,Km,b);return ZJ(()=>(y.current=b||window,()=>{y.current=null}),[y,b]),t("windowScrollTo",_),t("scrollBy",S),H.createElement(p,{style:{position:"relative",...s,...m!==0?{height:m+v}:{}},"data-virtuoso-scroller":!0,...c,...nl(p,w)},a)})}const fk={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},yZ={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},{round:pk,ceil:hk,floor:Zh,min:uv,max:qu}=Math;function xZ(e){return{...yZ,items:e}}function mk(e,t,n){return Array.from({length:t-e+1}).map((r,o)=>{const s=n===null?null:n[o+e];return{index:o+e,data:s}})}function wZ(e,t){return e&&e.column===t.column&&e.row===t.row}function xp(e,t){return e&&e.width===t.width&&e.height===t.height}const SZ=ua(([{overscan:e,visibleRange:t,listBoundary:n},{scrollTop:r,viewportHeight:o,scrollBy:s,scrollTo:a,smoothScrollTargetReached:c,scrollContainerState:d,footerHeight:p,headerHeight:h},m,v,{propsReady:b,didMount:w},{windowViewportRect:y,useWindowScroll:S,customScrollParent:_,windowScrollContainerState:k,windowScrollTo:j},I])=>{const E=Kt(0),O=Kt(0),R=Kt(fk),M=Kt({height:0,width:0}),A=Kt({height:0,width:0}),T=wr(),$=wr(),Q=Kt(0),B=Kt(null),V=Kt({row:0,column:0}),q=wr(),G=wr(),D=Kt(!1),L=Kt(0),W=Kt(!0),Y=Kt(!1);ho(Xt(w,Xs(L),Kr(([U,se])=>!!se)),()=>{Ar(W,!1),Ar(O,0)}),ho(Xt(Sa(w,W,A,M,L,Y),Kr(([U,se,re,oe,,pe])=>U&&!se&&re.height!==0&&oe.height!==0&&!pe)),([,,,,U])=>{Ar(Y,!0),QE(1,()=>{Ar(T,U)}),sk(Xt(r),()=>{Ar(n,[0,0]),Ar(W,!0)})}),Un(Xt(G,Kr(U=>U!=null&&U.scrollTop>0),ai(0)),O),ho(Xt(w,Xs(G),Kr(([,U])=>U!=null)),([,U])=>{U&&(Ar(M,U.viewport),Ar(A,U==null?void 0:U.item),Ar(V,U.gap),U.scrollTop>0&&(Ar(D,!0),sk(Xt(r,R1(1)),se=>{Ar(D,!1)}),Ar(a,{top:U.scrollTop})))}),Un(Xt(M,nr(({height:U})=>U)),o),Un(Xt(Sa(xn(M,xp),xn(A,xp),xn(V,(U,se)=>U&&U.column===se.column&&U.row===se.row),xn(r)),nr(([U,se,re,oe])=>({viewport:U,item:se,gap:re,scrollTop:oe}))),q),Un(Xt(Sa(xn(E),t,xn(V,wZ),xn(A,xp),xn(M,xp),xn(B),xn(O),xn(D),xn(W),xn(L)),Kr(([,,,,,,,U])=>!U),nr(([U,[se,re],oe,pe,le,ge,ke,,xe,de])=>{const{row:Te,column:Oe}=oe,{height:$e,width:kt}=pe,{width:ct}=le;if(ke===0&&(U===0||ct===0))return fk;if(kt===0){const $t=lZ(de,U),zt=$t===0?Math.max(ke-1,0):$t;return xZ(mk($t,zt,ge))}const on=tO(ct,kt,Oe);let vt,bt;xe?se===0&&re===0&&ke>0?(vt=0,bt=ke-1):(vt=on*Zh((se+Te)/($e+Te)),bt=on*hk((re+Te)/($e+Te))-1,bt=uv(U-1,qu(bt,on-1)),vt=uv(bt,qu(0,vt))):(vt=0,bt=-1);const Se=mk(vt,bt,ge),{top:Me,bottom:Pt}=gk(le,oe,pe,Se),Tt=hk(U/on),ht=Tt*$e+(Tt-1)*Te-Pt;return{items:Se,offsetTop:Me,offsetBottom:ht,top:Me,bottom:Pt,itemHeight:$e,itemWidth:kt}})),R),Un(Xt(B,Kr(U=>U!==null),nr(U=>U.length)),E),Un(Xt(Sa(M,A,R,V),Kr(([U,se,{items:re}])=>re.length>0&&se.height!==0&&U.height!==0),nr(([U,se,{items:re},oe])=>{const{top:pe,bottom:le}=gk(U,oe,se,re);return[pe,le]}),Co(M1)),n);const ae=Kt(!1);Un(Xt(r,Xs(ae),nr(([U,se])=>se||U!==0)),ae);const be=Uu(Xt(xn(R),Kr(({items:U})=>U.length>0),Xs(E,ae),Kr(([{items:U},se,re])=>re&&U[U.length-1].index===se-1),nr(([,U])=>U-1),Co())),ie=Uu(Xt(xn(R),Kr(({items:U})=>U.length>0&&U[0].index===0),ai(0),Co())),X=Uu(Xt(xn(R),Xs(D),Kr(([{items:U},se])=>U.length>0&&!se),nr(([{items:U}])=>({startIndex:U[0].index,endIndex:U[U.length-1].index})),Co(cZ),Du(0)));Un(X,v.scrollSeekRangeChanged),Un(Xt(T,Xs(M,A,E,V),nr(([U,se,re,oe,pe])=>{const le=rZ(U),{align:ge,behavior:ke,offset:xe}=le;let de=le.index;de==="LAST"&&(de=oe-1),de=qu(0,de,uv(oe-1,de));let Te=D1(se,pe,re,de);return ge==="end"?Te=pk(Te-se.height+re.height):ge==="center"&&(Te=pk(Te-se.height/2+re.height/2)),xe&&(Te+=xe),{top:Te,behavior:ke}})),a);const K=mc(Xt(R,nr(U=>U.offsetBottom+U.bottom)),0);return Un(Xt(y,nr(U=>({width:U.visibleWidth,height:U.visibleHeight}))),M),{data:B,totalCount:E,viewportDimensions:M,itemDimensions:A,scrollTop:r,scrollHeight:$,overscan:e,scrollBy:s,scrollTo:a,scrollToIndex:T,smoothScrollTargetReached:c,windowViewportRect:y,windowScrollTo:j,useWindowScroll:S,customScrollParent:_,windowScrollContainerState:k,deviation:Q,scrollContainerState:d,footerHeight:p,headerHeight:h,initialItemCount:O,gap:V,restoreStateFrom:G,...v,initialTopMostItemIndex:L,gridState:R,totalListHeight:K,...m,startReached:ie,endReached:be,rangeChanged:X,stateChanged:q,propsReady:b,stateRestoreInProgress:D,...I}},xl(uZ,Qm,YE,dZ,iZ,pZ,GE));function gk(e,t,n,r){const{height:o}=n;if(o===void 0||r.length===0)return{top:0,bottom:0};const s=D1(e,t,n,r[0].index),a=D1(e,t,n,r[r.length-1].index)+o;return{top:s,bottom:a}}function D1(e,t,n,r){const o=tO(e.width,n.width,t.column),s=Zh(r/o),a=s*n.height+qu(0,s-1)*t.row;return a>0?a+t.row:a}function tO(e,t,n){return qu(1,Zh((e+n)/(Zh(t)+n)))}const CZ=ua(()=>{const e=Kt(p=>`Item ${p}`),t=Kt({}),n=Kt(null),r=Kt("virtuoso-grid-item"),o=Kt("virtuoso-grid-list"),s=Kt(mZ),a=Kt("div"),c=Kt(Km),d=(p,h=null)=>mc(Xt(t,nr(m=>m[p]),Co()),h);return{context:n,itemContent:e,components:t,computeItemKey:s,itemClassName:r,listClassName:o,headerFooterTag:a,scrollerRef:c,FooterComponent:d("Footer"),HeaderComponent:d("Header"),ListComponent:d("List","div"),ItemComponent:d("Item","div"),ScrollerComponent:d("Scroller","div"),ScrollSeekPlaceholder:d("ScrollSeekPlaceholder","div")}}),kZ=ua(([e,t])=>({...e,...t}),xl(SZ,CZ)),_Z=H.memo(function(){const t=pr("gridState"),n=pr("listClassName"),r=pr("itemClassName"),o=pr("itemContent"),s=pr("computeItemKey"),a=pr("isSeeking"),c=Is("scrollHeight"),d=pr("ItemComponent"),p=pr("ListComponent"),h=pr("ScrollSeekPlaceholder"),m=pr("context"),v=Is("itemDimensions"),b=Is("gap"),w=pr("log"),y=pr("stateRestoreInProgress"),S=Ym(_=>{const k=_.parentElement.parentElement.scrollHeight;c(k);const j=_.firstChild;if(j){const{width:I,height:E}=j.getBoundingClientRect();v({width:I,height:E})}b({row:vk("row-gap",getComputedStyle(_).rowGap,w),column:vk("column-gap",getComputedStyle(_).columnGap,w)})});return y?null:H.createElement(p,{ref:S,className:n,...nl(p,m),style:{paddingTop:t.offsetTop,paddingBottom:t.offsetBottom},"data-test-id":"virtuoso-item-list"},t.items.map(_=>{const k=s(_.index,_.data,m);return a?H.createElement(h,{key:k,...nl(h,m),index:_.index,height:t.itemHeight,width:t.itemWidth}):H.createElement(d,{...nl(d,m),className:r,"data-index":_.index,key:k},o(_.index,_.data,m))}))}),PZ=H.memo(function(){const t=pr("HeaderComponent"),n=Is("headerHeight"),r=pr("headerFooterTag"),o=Ym(a=>n(Xh(a,"height"))),s=pr("context");return t?H.createElement(r,{ref:o},H.createElement(t,nl(t,s))):null}),jZ=H.memo(function(){const t=pr("FooterComponent"),n=Is("footerHeight"),r=pr("headerFooterTag"),o=Ym(a=>n(Xh(a,"height"))),s=pr("context");return t?H.createElement(r,{ref:o},H.createElement(t,nl(t,s))):null}),IZ=({children:e})=>{const t=H.useContext(ZE),n=Is("itemDimensions"),r=Is("viewportDimensions"),o=Ym(s=>{r(s.getBoundingClientRect())});return H.useEffect(()=>{t&&(r({height:t.viewportHeight,width:t.viewportWidth}),n({height:t.itemHeight,width:t.itemWidth}))},[t,r,n]),H.createElement("div",{style:eO,ref:o},e)},EZ=({children:e})=>{const t=H.useContext(ZE),n=Is("windowViewportRect"),r=Is("itemDimensions"),o=pr("customScrollParent"),s=hZ(n,o);return H.useEffect(()=>{t&&(r({height:t.itemHeight,width:t.itemWidth}),n({offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:t.viewportWidth}))},[t,n,r]),H.createElement("div",{ref:s,style:eO},e)},OZ=H.memo(function({...t}){const n=pr("useWindowScroll"),r=pr("customScrollParent"),o=r||n?DZ:MZ,s=r||n?EZ:IZ;return H.createElement(o,{...t},H.createElement(s,null,H.createElement(PZ,null),H.createElement(_Z,null),H.createElement(jZ,null)))}),{Component:RZ,usePublisher:Is,useEmitterValue:pr,useEmitter:nO}=QJ(kZ,{optional:{context:"context",totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",data:"data",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",restoreStateFrom:"restoreStateFrom",initialTopMostItemIndex:"initialTopMostItemIndex"},methods:{scrollTo:"scrollTo",scrollBy:"scrollBy",scrollToIndex:"scrollToIndex"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",stateChanged:"stateChanged"}},OZ),MZ=vZ({usePublisher:Is,useEmitterValue:pr,useEmitter:nO}),DZ=bZ({usePublisher:Is,useEmitterValue:pr,useEmitter:nO});function vk(e,t,n){return t!=="normal"&&!(t!=null&&t.endsWith("px"))&&n(`${e} was not resolved to pixel value correctly`,t,Vy.WARN),t==="normal"?0:parseInt(t??"0",10)}const rO=RZ,AZ=({imageDTO:e})=>i.jsx(F,{sx:{pointerEvents:"none",flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,p:2,alignItems:"flex-start",gap:2},children:i.jsxs(ml,{variant:"solid",colorScheme:"base",children:[e.width," × ",e.height]})}),Jm=({postUploadAction:e,isDisabled:t})=>{const n=z(d=>d.gallery.autoAddBoardId),[r]=D_(),o=f.useCallback(d=>{const p=d[0];p&&r({file:p,image_category:"user",is_intermediate:!1,postUploadAction:e??{type:"TOAST"},board_id:n})},[n,e,r]),{getRootProps:s,getInputProps:a,open:c}=ey({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},onDropAccepted:o,disabled:t,noDrag:!0,multiple:!1});return{getUploadButtonProps:s,getUploadInputProps:a,openUploader:c}},Uy=()=>{const e=te(),t=Wc(),{t:n}=ye(),r=f.useCallback(()=>{t({title:n("toast.parameterSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),o=f.useCallback(()=>{t({title:n("toast.parameterNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),s=f.useCallback(()=>{t({title:n("toast.parametersSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),a=f.useCallback(()=>{t({title:n("toast.parametersNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),c=f.useCallback((O,R,M,A)=>{if(Af(O)||Tf(R)||fu(M)||p0(A)){Af(O)&&e($u(O)),Tf(R)&&e(zu(R)),fu(M)&&e(Lu(M)),fu(A)&&e(Bu(A)),r();return}o()},[e,r,o]),d=f.useCallback(O=>{if(!Af(O)){o();return}e($u(O)),r()},[e,r,o]),p=f.useCallback(O=>{if(!Tf(O)){o();return}e(zu(O)),r()},[e,r,o]),h=f.useCallback(O=>{if(!fu(O)){o();return}e(Lu(O)),r()},[e,r,o]),m=f.useCallback(O=>{if(!p0(O)){o();return}e(Bu(O)),r()},[e,r,o]),v=f.useCallback(O=>{if(!K2(O)){o();return}e($p(O)),r()},[e,r,o]),b=f.useCallback(O=>{if(!h0(O)){o();return}e(zp(O)),r()},[e,r,o]),w=f.useCallback(O=>{if(!m0(O)){o();return}e(Pv(O)),r()},[e,r,o]),y=f.useCallback(O=>{if(!g0(O)){o();return}e(jv(O)),r()},[e,r,o]),S=f.useCallback(O=>{if(!v0(O)){o();return}e(Lp(O)),r()},[e,r,o]),_=f.useCallback(O=>{if(!X2(O)){o();return}e(gc(O)),r()},[e,r,o]),k=f.useCallback(O=>{if(!Y2(O)){o();return}e(vc(O)),r()},[e,r,o]),j=f.useCallback(O=>{if(!Q2(O)){o();return}e(Bp(O)),r()},[e,r,o]),I=f.useCallback(O=>{e(Z1(O))},[e]),E=f.useCallback(O=>{if(!O){a();return}const{cfg_scale:R,height:M,model:A,positive_prompt:T,negative_prompt:$,scheduler:Q,seed:B,steps:V,width:q,strength:G,positive_style_prompt:D,negative_style_prompt:L,refiner_model:W,refiner_cfg_scale:Y,refiner_steps:ae,refiner_scheduler:be,refiner_aesthetic_store:ie,refiner_start:X}=O;h0(R)&&e(zp(R)),m0(A)&&e(Pv(A)),Af(T)&&e($u(T)),Tf($)&&e(zu($)),g0(Q)&&e(jv(Q)),K2(B)&&e($p(B)),v0(V)&&e(Lp(V)),X2(q)&&e(gc(q)),Y2(M)&&e(vc(M)),Q2(G)&&e(Bp(G)),fu(D)&&e(Lu(D)),p0(L)&&e(Bu(L)),m0(W)&&e(B_(W)),v0(ae)&&e(Iv(ae)),h0(Y)&&e(Ev(Y)),g0(be)&&e(F_(be)),J7(ie)&&e(Ov(ie)),Z7(X)&&e(Rv(X)),s()},[a,s,e]);return{recallBothPrompts:c,recallPositivePrompt:d,recallNegativePrompt:p,recallSDXLPositiveStylePrompt:h,recallSDXLNegativeStylePrompt:m,recallSeed:v,recallCfgScale:b,recallModel:w,recallScheduler:y,recallSteps:S,recallWidth:_,recallHeight:k,recallStrength:j,recallAllParameters:E,sendToImageToImage:I}},ir=e=>{const t=z(a=>a.config.disabledTabs),n=z(a=>a.config.disabledFeatures),r=z(a=>a.config.disabledSDFeatures),o=f.useMemo(()=>n.includes(e)||r.includes(e)||t.includes(e),[n,r,t,e]),s=f.useMemo(()=>!(n.includes(e)||r.includes(e)||t.includes(e)),[n,r,t,e]);return{isFeatureDisabled:o,isFeatureEnabled:s}},Gy=()=>{const e=Wc(),{t}=ye(),n=f.useMemo(()=>!!navigator.clipboard&&!!window.ClipboardItem,[]),r=f.useCallback(async o=>{n||e({title:t("toast.problemCopyingImage"),description:"Your browser doesn't support the Clipboard API.",status:"error",duration:2500,isClosable:!0});try{const a=await(await fetch(o)).blob();await navigator.clipboard.write([new ClipboardItem({[a.type]:a})]),e({title:t("toast.imageCopied"),status:"success",duration:2500,isClosable:!0})}catch(s){e({title:t("toast.problemCopyingImage"),description:String(s),status:"error",duration:2500,isClosable:!0})}},[n,t,e]);return{isClipboardAPIAvailable:n,copyImageToClipboard:r}};function TZ(e,t,n){var r=this,o=f.useRef(null),s=f.useRef(0),a=f.useRef(null),c=f.useRef([]),d=f.useRef(),p=f.useRef(),h=f.useRef(e),m=f.useRef(!0);f.useEffect(function(){h.current=e},[e]);var v=!t&&t!==0&&typeof window<"u";if(typeof e!="function")throw new TypeError("Expected a function");t=+t||0;var b=!!(n=n||{}).leading,w=!("trailing"in n)||!!n.trailing,y="maxWait"in n,S=y?Math.max(+n.maxWait||0,t):null;f.useEffect(function(){return m.current=!0,function(){m.current=!1}},[]);var _=f.useMemo(function(){var k=function(M){var A=c.current,T=d.current;return c.current=d.current=null,s.current=M,p.current=h.current.apply(T,A)},j=function(M,A){v&&cancelAnimationFrame(a.current),a.current=v?requestAnimationFrame(M):setTimeout(M,A)},I=function(M){if(!m.current)return!1;var A=M-o.current;return!o.current||A>=t||A<0||y&&M-s.current>=S},E=function(M){return a.current=null,w&&c.current?k(M):(c.current=d.current=null,p.current)},O=function M(){var A=Date.now();if(I(A))return E(A);if(m.current){var T=t-(A-o.current),$=y?Math.min(T,S-(A-s.current)):T;j(M,$)}},R=function(){var M=Date.now(),A=I(M);if(c.current=[].slice.call(arguments),d.current=r,o.current=M,A){if(!a.current&&m.current)return s.current=o.current,j(O,t),b?k(o.current):p.current;if(y)return j(O,t),k(o.current)}return a.current||j(O,t),p.current};return R.cancel=function(){a.current&&(v?cancelAnimationFrame(a.current):clearTimeout(a.current)),s.current=0,c.current=o.current=d.current=a.current=null},R.isPending=function(){return!!a.current},R.flush=function(){return a.current?E(Date.now()):p.current},R},[b,y,t,S,w,v]);return _}function NZ(e,t){return e===t}function bk(e){return typeof e=="function"?function(){return e}:e}function qy(e,t,n){var r,o,s=n&&n.equalityFn||NZ,a=(r=f.useState(bk(e)),o=r[1],[r[0],f.useCallback(function(m){return o(bk(m))},[])]),c=a[0],d=a[1],p=TZ(f.useCallback(function(m){return d(m)},[d]),t,n),h=f.useRef(e);return s(h.current,e)||(p(e),h.current=e),[c,p]}eb("gallery/requestedBoardImagesDeletion");const $Z=eb("gallery/sentImageToCanvas"),oO=eb("gallery/sentImageToImg2Img"),zZ=e=>{const{imageDTO:t}=e,n=f.useMemo(()=>fe([Ye],({gallery:V})=>({isInBatch:V.batchImageNames.includes(t.image_name)}),Ge),[t.image_name]),{isInBatch:r}=z(n),o=te(),{t:s}=ye(),a=Wc(),c=ir("unifiedCanvas").isFeatureEnabled,d=ir("batches").isFeatureEnabled,{onClickAddToBoard:p}=f.useContext(H_),[h,m]=qy(t.image_name,500),{currentData:v}=tb(m.isPending()?oo.skipToken:h??oo.skipToken),{isClipboardAPIAvailable:b,copyImageToClipboard:w}=Gy(),y=v==null?void 0:v.metadata,S=f.useCallback(()=>{t&&o(nb(t))},[o,t]),{recallBothPrompts:_,recallSeed:k,recallAllParameters:j}=Uy(),[I]=eR(),E=f.useCallback(()=>{_(y==null?void 0:y.positive_prompt,y==null?void 0:y.negative_prompt,y==null?void 0:y.positive_style_prompt,y==null?void 0:y.negative_style_prompt)},[y==null?void 0:y.negative_prompt,y==null?void 0:y.positive_prompt,y==null?void 0:y.positive_style_prompt,y==null?void 0:y.negative_style_prompt,_]),O=f.useCallback(()=>{k(y==null?void 0:y.seed)},[y==null?void 0:y.seed,k]),R=f.useCallback(()=>{o(oO()),o(Z1(t))},[o,t]),M=f.useCallback(()=>{o($Z()),o(tR(t)),o(im()),o(Xl("unifiedCanvas")),a({title:s("toast.sentToUnifiedCanvas"),status:"success",duration:2500,isClosable:!0})},[o,t,s,a]),A=f.useCallback(()=>{console.log(y),j(y)},[y,j]),T=f.useCallback(()=>{p(t)},[t,p]),$=f.useCallback(()=>{t.board_id&&I({imageDTO:t})},[t,I]),Q=f.useCallback(()=>{o(nR([t.image_name]))},[o,t.image_name]),B=f.useCallback(()=>{w(t.image_url)},[w,t.image_url]);return i.jsxs(i.Fragment,{children:[i.jsx(Pr,{as:"a",href:t.image_url,target:"_blank",icon:i.jsx(uW,{}),children:s("common.openInNewTab")}),b&&i.jsx(Pr,{icon:i.jsx(Vc,{}),onClickCapture:B,children:s("parameters.copyImage")}),i.jsx(Pr,{as:"a",download:!0,href:t.image_url,target:"_blank",icon:i.jsx(ny,{}),w:"100%",children:s("parameters.downloadImage")}),i.jsx(Pr,{icon:i.jsx(jP,{}),onClickCapture:E,isDisabled:(y==null?void 0:y.positive_prompt)===void 0&&(y==null?void 0:y.negative_prompt)===void 0,children:s("parameters.usePrompt")}),i.jsx(Pr,{icon:i.jsx(IP,{}),onClickCapture:O,isDisabled:(y==null?void 0:y.seed)===void 0,children:s("parameters.useSeed")}),i.jsx(Pr,{icon:i.jsx(vP,{}),onClickCapture:A,isDisabled:!y,children:s("parameters.useAll")}),i.jsx(Pr,{icon:i.jsx(OS,{}),onClickCapture:R,id:"send-to-img2img",children:s("parameters.sendToImg2Img")}),c&&i.jsx(Pr,{icon:i.jsx(OS,{}),onClickCapture:M,id:"send-to-canvas",children:s("parameters.sendToUnifiedCanvas")}),d&&i.jsx(Pr,{icon:i.jsx(V0,{}),isDisabled:r,onClickCapture:Q,children:"Add to Batch"}),i.jsx(Pr,{icon:i.jsx(V0,{}),onClickCapture:T,children:t.board_id?"Change Board":"Add to Board"}),t.board_id&&i.jsx(Pr,{icon:i.jsx(V0,{}),onClickCapture:$,children:"Remove from Board"}),i.jsx(Pr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(us,{}),onClickCapture:S,children:s("gallery.deleteImage")})]})},sO=f.memo(zZ),LZ=({imageDTO:e,children:t})=>{const n=f.useCallback(r=>{r.preventDefault()},[]);return i.jsx(fj,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>e?i.jsx(Fc,{sx:{visibility:"visible !important"},motionProps:um,onContextMenu:n,children:i.jsx(sO,{imageDTO:e})}):null,children:t})},aO=f.memo(LZ),BZ=e=>{const{data:t,disabled:n,onClick:r}=e,o=f.useRef(ui()),{attributes:s,listeners:a,setNodeRef:c}=rR({id:o.current,disabled:n,data:t});return i.jsx(Ee,{onClick:r,ref:c,position:"absolute",w:"full",h:"full",top:0,insetInlineStart:0,...s,...a})},FZ=f.memo(BZ),HZ=e=>{const{imageDTO:t,onClickReset:n,onError:r,onClick:o,withResetIcon:s=!1,withMetadataOverlay:a=!1,isDropDisabled:c=!1,isDragDisabled:d=!1,isUploadDisabled:p=!1,minSize:h=24,postUploadAction:m,imageSx:v,fitContainer:b=!1,droppableData:w,draggableData:y,dropLabel:S,isSelected:_=!1,thumbnail:k=!1,resetTooltip:j="Reset",resetIcon:I=i.jsx(oy,{}),noContentFallback:E=i.jsx(mi,{icon:ll}),useThumbailFallback:O,withHoverOverlay:R=!1}=e,{colorMode:M}=Ds(),[A,T]=f.useState(!1),$=f.useCallback(()=>{T(!0)},[]),Q=f.useCallback(()=>{T(!1)},[]),{getUploadButtonProps:B,getUploadInputProps:V}=Jm({postUploadAction:m,isDisabled:p}),q=Cp("drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-600))","drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-800))"),G=p?{}:{cursor:"pointer",bg:Fe("base.200","base.800")(M),_hover:{bg:Fe("base.300","base.650")(M),color:Fe("base.500","base.300")(M)}};return i.jsx(aO,{imageDTO:t,children:D=>i.jsxs(F,{ref:D,onMouseOver:$,onMouseOut:Q,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative",minW:h||void 0,minH:h||void 0,userSelect:"none",cursor:d||!t?"default":"pointer"},children:[t&&i.jsxs(F,{sx:{w:"full",h:"full",position:b?"absolute":"relative",alignItems:"center",justifyContent:"center"},children:[i.jsx(Nc,{src:k?t.thumbnail_url:t.image_url,fallbackStrategy:"beforeLoadOrError",fallbackSrc:O?t.thumbnail_url:void 0,fallback:O?void 0:i.jsx(FJ,{image:t}),width:t.width,height:t.height,onError:r,draggable:!1,sx:{objectFit:"contain",maxW:"full",maxH:"full",borderRadius:"base",...v}}),a&&i.jsx(AZ,{imageDTO:t}),i.jsx(ky,{isSelected:_,isHovered:R?A:!1})]}),!t&&!p&&i.jsx(i.Fragment,{children:i.jsxs(F,{sx:{minH:h,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",transitionProperty:"common",transitionDuration:"0.1s",color:Fe("base.500","base.500")(M),...G},...B(),children:[i.jsx("input",{...V()}),i.jsx(no,{as:zd,sx:{boxSize:16}})]})}),!t&&p&&E,t&&!d&&i.jsx(FZ,{data:y,disabled:d||!t,onClick:o}),!c&&i.jsx(Cy,{data:w,disabled:c,dropLabel:S}),n&&s&&t&&i.jsx(Le,{onClick:n,"aria-label":j,tooltip:j,icon:I,size:"sm",variant:"link",sx:{position:"absolute",top:1,insetInlineEnd:1,p:0,minW:0,svg:{transitionProperty:"common",transitionDuration:"normal",fill:"base.100",_hover:{fill:"base.50"},filter:q}}})]})})},yi=f.memo(HZ),WZ=()=>i.jsx(Ee,{sx:{position:"relative",height:"full",width:"full","::before":{content:"''",display:"block",pt:"100%"}},children:i.jsx(F,{sx:{position:"absolute",top:0,insetInlineStart:0,height:"full",width:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",bg:"base.100",color:"base.500",_dark:{color:"base.700",bg:"base.850"}},children:i.jsx(no,{as:iW,boxSize:16,opacity:.7})})}),iO=()=>i.jsx(km,{sx:{position:"relative",height:"full",width:"full","::before":{content:"''",display:"block",pt:"100%"}},children:i.jsx(Ee,{sx:{position:"absolute",top:0,insetInlineStart:0,height:"full",width:"full"}})}),VZ=e=>fe([Ye],t=>({selectionCount:t.gallery.selection.length,selection:t.gallery.selection,isSelected:t.gallery.selection.includes(e)}),Ge),UZ=e=>{const t=te(),{imageName:n}=e,{currentData:r,isLoading:o,isError:s}=os(n),a=f.useMemo(()=>VZ(n),[n]),{isSelected:c,selectionCount:d,selection:p}=z(a),h=f.useCallback(()=>{t(oR([n]))},[t,n]),m=f.useMemo(()=>{if(d>1)return{id:"batch",payloadType:"IMAGE_NAMES",payload:{image_names:p}};if(r)return{id:"batch",payloadType:"IMAGE_DTO",payload:{imageDTO:r}}},[r,p,d]);return o?i.jsx(iO,{}):s||!r?i.jsx(WZ,{}):i.jsx(Ee,{sx:{w:"full",h:"full",touchAction:"none"},children:i.jsx(aO,{imageDTO:r,children:v=>i.jsx(Ee,{position:"relative",userSelect:"none",ref:v,sx:{display:"flex",justifyContent:"center",alignItems:"center",aspectRatio:"1/1"},children:i.jsx(yi,{imageDTO:r,draggableData:m,isSelected:c,minSize:0,onClickReset:h,isDropDisabled:!0,imageSx:{w:"full",h:"full"},isUploadDisabled:!0,resetTooltip:"Remove from batch",withResetIcon:!0,thumbnail:!0})},n)})})},GZ=f.memo(UZ),lO=Ae((e,t)=>i.jsx(Ee,{className:"item-container",ref:t,p:1.5,children:e.children})),cO=Ae((e,t)=>{const n=z(r=>r.gallery.galleryImageMinimumWidth);return i.jsx(sl,{...e,className:"list-container",ref:t,sx:{gridTemplateColumns:`repeat(auto-fill, minmax(${n}px, 1fr));`},children:e.children})}),qZ=fe([Ye],e=>({imageNames:e.gallery.batchImageNames}),Ge),KZ=()=>{const{t:e}=ye(),t=f.useRef(null),[n,r]=f.useState(null),[o,s]=wy({defer:!0,options:{scrollbars:{visibility:"auto",autoHide:"leave",autoHideDelay:1300,theme:"os-theme-dark"},overflow:{x:"hidden"}}}),{imageNames:a}=z(qZ);return f.useEffect(()=>{const{current:c}=t;return n&&c&&o({target:c,elements:{viewport:n}}),()=>{var d;return(d=s())==null?void 0:d.destroy()}},[n,o,s]),a.length?i.jsx(Ee,{ref:t,"data-overlayscrollbars":"",h:"100%",children:i.jsx(rO,{style:{height:"100%"},data:a,components:{Item:lO,List:cO},scrollerRef:r,itemContent:(c,d)=>i.jsx(GZ,{imageName:d},d)})}):i.jsx(mi,{label:e("gallery.noImagesInGallery"),icon:ll})},XZ=f.memo(KZ),YZ=e=>{const t=z(s=>s.gallery.galleryView),{data:n}=sR(e),{data:r}=aR(e),o=f.useMemo(()=>t==="images"?n:r,[t,r,n]);return{totalImages:n,totalAssets:r,currentViewTotal:o}},QZ=e=>fe([Ye],({gallery:t})=>({isSelected:t.selection.includes(e),selectionCount:t.selection.length,selection:t.selection}),Ge),JZ=e=>{const t=te(),{imageName:n}=e,{currentData:r}=os(n),o=f.useMemo(()=>QZ(n),[n]),{isSelected:s,selectionCount:a,selection:c}=z(o),d=f.useCallback(()=>{t(Mv(n))},[t,n]),p=f.useCallback(m=>{m.stopPropagation(),r&&t(nb(r))},[t,r]),h=f.useMemo(()=>{if(a>1)return{id:"gallery-image",payloadType:"IMAGE_NAMES",payload:{image_names:c}};if(r)return{id:"gallery-image",payloadType:"IMAGE_DTO",payload:{imageDTO:r}}},[r,c,a]);return r?i.jsx(Ee,{sx:{w:"full",h:"full",touchAction:"none"},children:i.jsx(F,{userSelect:"none",sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1"},children:i.jsx(yi,{onClick:d,imageDTO:r,draggableData:h,isSelected:s,minSize:0,onClickReset:p,imageSx:{w:"full",h:"full"},isDropDisabled:!0,isUploadDisabled:!0,thumbnail:!0,withHoverOverlay:!0})})}):i.jsx(iO,{})},ZZ=f.memo(JZ),eee={defer:!0,options:{scrollbars:{visibility:"auto",autoHide:"leave",autoHideDelay:1300,theme:"os-theme-dark"},overflow:{x:"hidden"}}},tee=()=>{const{t:e}=ye(),t=f.useRef(null),[n,r]=f.useState(null),[o,s]=wy(eee),a=z(S=>S.gallery.selectedBoardId),{currentViewTotal:c}=YZ(a),d=z(W_),{currentData:p,isFetching:h,isSuccess:m,isError:v}=iR(d),[b]=V_(),w=f.useMemo(()=>!p||!c?!1:p.ids.length{w&&b({...d,offset:(p==null?void 0:p.ids.length)??0,limit:U_})},[w,b,d,p==null?void 0:p.ids.length]);return f.useEffect(()=>{const{current:S}=t;return n&&S&&o({target:S,elements:{viewport:n}}),()=>{var _;return(_=s())==null?void 0:_.destroy()}},[n,o,s]),p?m&&(p==null?void 0:p.ids.length)===0?i.jsx(F,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(mi,{label:e("gallery.noImagesInGallery"),icon:ll})}):m&&p?i.jsxs(i.Fragment,{children:[i.jsx(Ee,{ref:t,"data-overlayscrollbars":"",h:"100%",children:i.jsx(rO,{style:{height:"100%"},data:p.ids,endReached:y,components:{Item:lO,List:cO},scrollerRef:r,itemContent:(S,_)=>i.jsx(ZZ,{imageName:_},_)})}),i.jsx(Jt,{onClick:y,isDisabled:!w,isLoading:h,loadingText:"Loading",flexShrink:0,children:`Load More (${p.ids.length} of ${c})`})]}):v?i.jsx(Ee,{sx:{w:"full",h:"full"},children:i.jsx(mi,{label:"Unable to load Gallery",icon:xP})}):null:i.jsx(F,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(mi,{label:"Loading...",icon:ll})})},nee=f.memo(tee),ree=fe([Ye],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{selectedBoardId:t,galleryView:n}},Ge),oee=()=>{const e=f.useRef(null),t=f.useRef(null),{selectedBoardId:n,galleryView:r}=z(ree),o=te(),{isOpen:s,onToggle:a}=ss(),c=f.useCallback(()=>{o(J2("images"))},[o]),d=f.useCallback(()=>{o(J2("assets"))},[o]);return i.jsxs(Q3,{sx:{flexDirection:"column",h:"full",w:"full",borderRadius:"base"},children:[i.jsxs(Ee,{sx:{w:"full"},children:[i.jsxs(F,{ref:e,sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:[i.jsx(wU,{isOpen:s,onToggle:a}),i.jsx(BJ,{}),i.jsx(CU,{})]}),i.jsx(Ee,{children:i.jsx(bU,{isOpen:s})})]}),i.jsxs(F,{ref:t,direction:"column",gap:2,h:"full",w:"full",children:[i.jsx(F,{sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:i.jsx(Td,{index:r==="images"?0:1,variant:"unstyled",size:"sm",sx:{w:"full"},children:i.jsx(Nd,{children:i.jsxs(rr,{isAttached:!0,sx:{w:"full"},children:[i.jsx(Cc,{as:Jt,size:"sm",isChecked:r==="images",onClick:c,sx:{w:"full"},leftIcon:i.jsx(mW,{}),children:"Images"}),i.jsx(Cc,{as:Jt,size:"sm",isChecked:r==="assets",onClick:d,sx:{w:"full"},leftIcon:i.jsx(PW,{}),children:"Assets"})]})})})}),n==="batch"?i.jsx(XZ,{}):i.jsx(nee,{})]})]})},uO=f.memo(oee),see=fe([Kn,La,lR,lr],(e,t,n,r)=>{const{shouldPinGallery:o,shouldShowGallery:s}=t,{galleryImageMinimumWidth:a}=n;return{activeTabName:e,isStaging:r,shouldPinGallery:o,shouldShowGallery:s,galleryImageMinimumWidth:a,isResizable:e!=="unifiedCanvas"}},{memoizeOptions:{resultEqualityCheck:Zt}}),aee=()=>{const e=te(),{shouldPinGallery:t,shouldShowGallery:n,galleryImageMinimumWidth:r}=z(see),o=()=>{e(Dv(!1)),t&&e(ko())};rt("esc",()=>{e(Dv(!1))},{enabled:()=>!t,preventDefault:!0},[t]);const s=32;return rt("shift+up",()=>{if(r<256){const a=Es(r+s,32,256);e(Np(a))}},[r]),rt("shift+down",()=>{if(r>32){const a=Es(r-s,32,256);e(Np(a))}},[r]),t?null:i.jsx(pP,{direction:"right",isResizable:!0,isOpen:n,onClose:o,minWidth:400,children:i.jsx(uO,{})})},iee=f.memo(aee),lee=e=>{const{label:t,isDisabled:n=!1,width:r="auto",formControlProps:o,formLabelProps:s,tooltip:a,...c}=e;return i.jsx(wn,{label:a,hasArrow:!0,placement:"top",isDisabled:!a,children:i.jsxs(go,{isDisabled:n,width:r,display:"flex",alignItems:"center",...o,children:[t&&i.jsx(Lo,{my:1,flexGrow:1,sx:{cursor:n?"not-allowed":"pointer",...s==null?void 0:s.sx,pe:4},...s,children:t}),i.jsx(Qb,{...c})]})})},Er=f.memo(lee),cee=fe([Ye,cR],({system:e,config:t,imageDeletion:n},r)=>{const{shouldConfirmOnDelete:o}=e,{canRestoreDeletedImagesFromBin:s}=t,{imageToDelete:a,isModalOpen:c}=n;return{shouldConfirmOnDelete:o,canRestoreDeletedImagesFromBin:s,imageToDelete:a,imageUsage:r,isModalOpen:c}},Ge),uee=()=>{const e=te(),{t}=ye(),{shouldConfirmOnDelete:n,canRestoreDeletedImagesFromBin:r,imageToDelete:o,imageUsage:s,isModalOpen:a}=z(cee),c=f.useCallback(m=>e(G_(!m.target.checked)),[e]),d=f.useCallback(()=>{e(Z2()),e(uR(!1))},[e]),p=f.useCallback(()=>{!o||!s||(e(Z2()),e(dR({imageDTO:o,imageUsage:s})))},[e,o,s]),h=f.useRef(null);return i.jsx(Md,{isOpen:a,onClose:d,leastDestructiveRef:h,isCentered:!0,children:i.jsx(Da,{children:i.jsxs(Dd,{children:[i.jsx(Ma,{fontSize:"lg",fontWeight:"bold",children:t("gallery.deleteImage")}),i.jsx(Aa,{children:i.jsxs(F,{direction:"column",gap:3,children:[i.jsx(ij,{imageUsage:s}),i.jsx(Pi,{}),i.jsx(qe,{children:t(r?"gallery.deleteImageBin":"gallery.deleteImagePermanent")}),i.jsx(qe,{children:t("common.areYouSure")}),i.jsx(Er,{label:t("common.dontAskMeAgain"),isChecked:!n,onChange:c})]})}),i.jsxs(Ra,{children:[i.jsx(Jt,{ref:h,onClick:d,children:"Cancel"}),i.jsx(Jt,{colorScheme:"error",onClick:p,ml:3,children:"Delete"})]})]})})})},dee=f.memo(uee);function fee(e){const{title:t,hotkey:n,description:r}=e;return i.jsxs(sl,{sx:{gridTemplateColumns:"auto max-content",justifyContent:"space-between",alignItems:"center"},children:[i.jsxs(sl,{children:[i.jsx(qe,{fontWeight:600,children:t}),r&&i.jsx(qe,{sx:{fontSize:"sm"},variant:"subtext",children:r})]}),i.jsx(Ee,{sx:{fontSize:"sm",fontWeight:600,px:2,py:1},children:n})]})}function pee({children:e}){const{isOpen:t,onOpen:n,onClose:r}=ss(),{t:o}=ye(),s=[{title:o("hotkeys.invoke.title"),desc:o("hotkeys.invoke.desc"),hotkey:"Ctrl+Enter"},{title:o("hotkeys.cancel.title"),desc:o("hotkeys.cancel.desc"),hotkey:"Shift+X"},{title:o("hotkeys.focusPrompt.title"),desc:o("hotkeys.focusPrompt.desc"),hotkey:"Alt+A"},{title:o("hotkeys.toggleOptions.title"),desc:o("hotkeys.toggleOptions.desc"),hotkey:"O"},{title:o("hotkeys.pinOptions.title"),desc:o("hotkeys.pinOptions.desc"),hotkey:"Shift+O"},{title:o("hotkeys.toggleGallery.title"),desc:o("hotkeys.toggleGallery.desc"),hotkey:"G"},{title:o("hotkeys.maximizeWorkSpace.title"),desc:o("hotkeys.maximizeWorkSpace.desc"),hotkey:"F"},{title:o("hotkeys.changeTabs.title"),desc:o("hotkeys.changeTabs.desc"),hotkey:"1-5"}],a=[{title:o("hotkeys.setPrompt.title"),desc:o("hotkeys.setPrompt.desc"),hotkey:"P"},{title:o("hotkeys.setSeed.title"),desc:o("hotkeys.setSeed.desc"),hotkey:"S"},{title:o("hotkeys.setParameters.title"),desc:o("hotkeys.setParameters.desc"),hotkey:"A"},{title:o("hotkeys.upscale.title"),desc:o("hotkeys.upscale.desc"),hotkey:"Shift+U"},{title:o("hotkeys.showInfo.title"),desc:o("hotkeys.showInfo.desc"),hotkey:"I"},{title:o("hotkeys.sendToImageToImage.title"),desc:o("hotkeys.sendToImageToImage.desc"),hotkey:"Shift+I"},{title:o("hotkeys.deleteImage.title"),desc:o("hotkeys.deleteImage.desc"),hotkey:"Del"},{title:o("hotkeys.closePanels.title"),desc:o("hotkeys.closePanels.desc"),hotkey:"Esc"}],c=[{title:o("hotkeys.previousImage.title"),desc:o("hotkeys.previousImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextImage.title"),desc:o("hotkeys.nextImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.toggleGalleryPin.title"),desc:o("hotkeys.toggleGalleryPin.desc"),hotkey:"Shift+G"},{title:o("hotkeys.increaseGalleryThumbSize.title"),desc:o("hotkeys.increaseGalleryThumbSize.desc"),hotkey:"Shift+Up"},{title:o("hotkeys.decreaseGalleryThumbSize.title"),desc:o("hotkeys.decreaseGalleryThumbSize.desc"),hotkey:"Shift+Down"}],d=[{title:o("hotkeys.selectBrush.title"),desc:o("hotkeys.selectBrush.desc"),hotkey:"B"},{title:o("hotkeys.selectEraser.title"),desc:o("hotkeys.selectEraser.desc"),hotkey:"E"},{title:o("hotkeys.decreaseBrushSize.title"),desc:o("hotkeys.decreaseBrushSize.desc"),hotkey:"["},{title:o("hotkeys.increaseBrushSize.title"),desc:o("hotkeys.increaseBrushSize.desc"),hotkey:"]"},{title:o("hotkeys.decreaseBrushOpacity.title"),desc:o("hotkeys.decreaseBrushOpacity.desc"),hotkey:"Shift + ["},{title:o("hotkeys.increaseBrushOpacity.title"),desc:o("hotkeys.increaseBrushOpacity.desc"),hotkey:"Shift + ]"},{title:o("hotkeys.moveTool.title"),desc:o("hotkeys.moveTool.desc"),hotkey:"V"},{title:o("hotkeys.fillBoundingBox.title"),desc:o("hotkeys.fillBoundingBox.desc"),hotkey:"Shift + F"},{title:o("hotkeys.eraseBoundingBox.title"),desc:o("hotkeys.eraseBoundingBox.desc"),hotkey:"Delete / Backspace"},{title:o("hotkeys.colorPicker.title"),desc:o("hotkeys.colorPicker.desc"),hotkey:"C"},{title:o("hotkeys.toggleSnap.title"),desc:o("hotkeys.toggleSnap.desc"),hotkey:"N"},{title:o("hotkeys.quickToggleMove.title"),desc:o("hotkeys.quickToggleMove.desc"),hotkey:"Hold Space"},{title:o("hotkeys.toggleLayer.title"),desc:o("hotkeys.toggleLayer.desc"),hotkey:"Q"},{title:o("hotkeys.clearMask.title"),desc:o("hotkeys.clearMask.desc"),hotkey:"Shift+C"},{title:o("hotkeys.hideMask.title"),desc:o("hotkeys.hideMask.desc"),hotkey:"H"},{title:o("hotkeys.showHideBoundingBox.title"),desc:o("hotkeys.showHideBoundingBox.desc"),hotkey:"Shift+H"},{title:o("hotkeys.mergeVisible.title"),desc:o("hotkeys.mergeVisible.desc"),hotkey:"Shift+M"},{title:o("hotkeys.saveToGallery.title"),desc:o("hotkeys.saveToGallery.desc"),hotkey:"Shift+S"},{title:o("hotkeys.copyToClipboard.title"),desc:o("hotkeys.copyToClipboard.desc"),hotkey:"Ctrl+C"},{title:o("hotkeys.downloadImage.title"),desc:o("hotkeys.downloadImage.desc"),hotkey:"Shift+D"},{title:o("hotkeys.undoStroke.title"),desc:o("hotkeys.undoStroke.desc"),hotkey:"Ctrl+Z"},{title:o("hotkeys.redoStroke.title"),desc:o("hotkeys.redoStroke.desc"),hotkey:"Ctrl+Shift+Z, Ctrl+Y"},{title:o("hotkeys.resetView.title"),desc:o("hotkeys.resetView.desc"),hotkey:"R"},{title:o("hotkeys.previousStagingImage.title"),desc:o("hotkeys.previousStagingImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextStagingImage.title"),desc:o("hotkeys.nextStagingImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.acceptStagingImage.title"),desc:o("hotkeys.acceptStagingImage.desc"),hotkey:"Enter"}],p=h=>i.jsx(F,{flexDir:"column",gap:4,children:h.map((m,v)=>i.jsxs(F,{flexDir:"column",px:2,gap:4,children:[i.jsx(fee,{title:m.title,description:m.desc,hotkey:m.hotkey}),v{const{data:t}=fR(),n=f.useRef(null),r=dO(n);return i.jsxs(F,{alignItems:"center",gap:3,ps:1,ref:n,children:[i.jsx(Nc,{src:z_,alt:"invoke-ai-logo",sx:{w:"32px",h:"32px",minW:"32px",minH:"32px",userSelect:"none"}}),i.jsxs(F,{sx:{gap:3,alignItems:"center"},children:[i.jsxs(qe,{sx:{fontSize:"xl",userSelect:"none"},children:["invoke ",i.jsx("strong",{children:"ai"})]}),i.jsx(mo,{children:e&&r&&t&&i.jsx(Ir.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:i.jsx(qe,{sx:{fontWeight:600,marginTop:1,color:"base.300",fontSize:14},variant:"subtext",children:t.version})},"statusText")})]})]})},xee=e=>{const{tooltip:t,inputRef:n,label:r,disabled:o,required:s,...a}=e,c=FE();return i.jsx(wn,{label:t,placement:"top",hasArrow:!0,children:i.jsx(By,{label:r?i.jsx(go,{isRequired:s,isDisabled:o,children:i.jsx(Lo,{children:r})}):void 0,disabled:o,ref:n,styles:c,...a})})},Xr=f.memo(xee);function Xo(e){const{t}=ye(),{label:n,textProps:r,useBadge:o=!1,badgeLabel:s=t("settings.experimental"),badgeProps:a,...c}=e;return i.jsxs(F,{justifyContent:"space-between",py:1,children:[i.jsxs(F,{gap:2,alignItems:"center",children:[i.jsx(qe,{sx:{fontSize:14,_dark:{color:"base.300"}},...r,children:n}),o&&i.jsx(ml,{size:"xs",sx:{px:2,color:"base.700",bg:"accent.200",_dark:{bg:"accent.500",color:"base.200"}},...a,children:s})]}),i.jsx(Er,{...c})]})}const Kl=e=>i.jsx(F,{sx:{flexDirection:"column",gap:2,p:4,borderRadius:"base",bg:"base.100",_dark:{bg:"base.900"}},children:e.children});function wee(){const e=te(),{data:t,refetch:n}=pR(),[r,{isLoading:o}]=hR(),s=f.useCallback(()=>{r().unwrap().then(c=>{e(mR()),e(rb()),e(On({title:`Cleared ${c} intermediates`,status:"info"}))})},[r,e]);f.useEffect(()=>{n()},[n]);const a=t?`Clear ${t} Intermediate${t>1?"s":""}`:"No Intermediates to Clear";return i.jsxs(Kl,{children:[i.jsx(Ys,{size:"sm",children:"Clear Intermediates"}),i.jsx(Jt,{colorScheme:"warning",onClick:s,isLoading:o,isDisabled:!t,children:a}),i.jsx(qe,{fontWeight:"bold",children:"Clearing intermediates will reset your Canvas and ControlNet state."}),i.jsx(qe,{variant:"subtext",children:"Intermediate images are byproducts of generation, different from the result images in the gallery. Clearing intermediates will free disk space."}),i.jsx(qe,{variant:"subtext",children:"Your gallery images will not be deleted."})]})}const See=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:a,base700:c,base800:d,base900:p,accent200:h,accent300:m,accent400:v,accent500:b,accent600:w}=Fy(),{colorMode:y}=Ds(),[S]=Tc("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:Fe(c,r)(y)},separatorLabel:{color:Fe(s,s)(y),"::after":{borderTopColor:Fe(r,c)(y)}},searchInput:{":placeholder":{color:Fe(r,c)(y)}},input:{backgroundColor:Fe(e,p)(y),borderWidth:"2px",borderColor:Fe(n,d)(y),color:Fe(p,t)(y),paddingRight:24,fontWeight:600,"&:hover":{borderColor:Fe(r,a)(y)},"&:focus":{borderColor:Fe(m,w)(y)},"&:is(:focus, :hover)":{borderColor:Fe(o,s)(y)},"&:focus-within":{borderColor:Fe(h,w)(y)},"&[data-disabled]":{backgroundColor:Fe(r,c)(y),color:Fe(a,o)(y),cursor:"not-allowed"}},value:{backgroundColor:Fe(n,d)(y),color:Fe(p,t)(y),button:{color:Fe(p,t)(y)},"&:hover":{backgroundColor:Fe(r,c)(y),cursor:"pointer"}},dropdown:{backgroundColor:Fe(n,d)(y),borderColor:Fe(n,d)(y),boxShadow:S},item:{backgroundColor:Fe(n,d)(y),color:Fe(d,n)(y),padding:6,"&[data-hovered]":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)},"&[data-active]":{backgroundColor:Fe(r,c)(y),"&:hover":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)}},"&[data-selected]":{backgroundColor:Fe(v,w)(y),color:Fe(e,t)(y),fontWeight:600,"&:hover":{backgroundColor:Fe(b,b)(y),color:Fe("white",e)(y)}},"&[data-disabled]":{color:Fe(s,a)(y),cursor:"not-allowed"}},rightSection:{width:24,padding:20,button:{color:Fe(p,t)(y)}}}),[h,m,v,b,w,t,n,r,o,e,s,a,c,d,p,S,y])},Cee=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,label:o,disabled:s,...a}=e,c=te(),d=f.useCallback(m=>{m.shiftKey&&c(jo(!0))},[c]),p=f.useCallback(m=>{m.shiftKey||c(jo(!1))},[c]),h=See();return i.jsx(wn,{label:n,placement:"top",hasArrow:!0,isOpen:!0,children:i.jsx(TE,{label:o?i.jsx(go,{isDisabled:s,children:i.jsx(Lo,{children:o})}):void 0,ref:r,disabled:s,onKeyDown:d,onKeyUp:p,searchable:t,maxDropdownHeight:300,styles:h,...a})})},kee=f.memo(Cee),_ee=cs(ob,(e,t)=>({value:t,label:e})).sort((e,t)=>e.label.localeCompare(t.label));function Pee(){const e=te(),{t}=ye(),n=z(o=>o.ui.favoriteSchedulers),r=f.useCallback(o=>{e(gR(o))},[e]);return i.jsx(kee,{label:t("settings.favoriteSchedulers"),value:n,data:_ee,onChange:r,clearable:!0,searchable:!0,maxSelectedValues:99,placeholder:t("settings.favoriteSchedulersPlaceholder")})}const jee={ar:Bn.t("common.langArabic",{lng:"ar"}),nl:Bn.t("common.langDutch",{lng:"nl"}),en:Bn.t("common.langEnglish",{lng:"en"}),fr:Bn.t("common.langFrench",{lng:"fr"}),de:Bn.t("common.langGerman",{lng:"de"}),he:Bn.t("common.langHebrew",{lng:"he"}),it:Bn.t("common.langItalian",{lng:"it"}),ja:Bn.t("common.langJapanese",{lng:"ja"}),ko:Bn.t("common.langKorean",{lng:"ko"}),pl:Bn.t("common.langPolish",{lng:"pl"}),pt_BR:Bn.t("common.langBrPortuguese",{lng:"pt_BR"}),pt:Bn.t("common.langPortuguese",{lng:"pt"}),ru:Bn.t("common.langRussian",{lng:"ru"}),zh_CN:Bn.t("common.langSimplifiedChinese",{lng:"zh_CN"}),es:Bn.t("common.langSpanish",{lng:"es"}),uk:Bn.t("common.langUkranian",{lng:"ua"})},Iee=fe([Ye],({system:e,ui:t,generation:n})=>{const{shouldConfirmOnDelete:r,enableImageDebugging:o,consoleLogLevel:s,shouldLogToConsole:a,shouldAntialiasProgressImage:c,isNodesEnabled:d,shouldUseNSFWChecker:p,shouldUseWatermarker:h}=e,{shouldUseCanvasBetaLayout:m,shouldUseSliders:v,shouldShowProgressInViewer:b}=t,{shouldShowAdvancedOptions:w}=n;return{shouldConfirmOnDelete:r,enableImageDebugging:o,shouldUseCanvasBetaLayout:m,shouldUseSliders:v,shouldShowProgressInViewer:b,consoleLogLevel:s,shouldLogToConsole:a,shouldAntialiasProgressImage:c,shouldShowAdvancedOptions:w,isNodesEnabled:d,shouldUseNSFWChecker:p,shouldUseWatermarker:h}},{memoizeOptions:{resultEqualityCheck:Zt}}),Eee=({children:e,config:t})=>{const n=te(),{t:r}=ye(),o=(t==null?void 0:t.shouldShowBetaLayout)??!0,s=(t==null?void 0:t.shouldShowDeveloperSettings)??!0,a=(t==null?void 0:t.shouldShowResetWebUiText)??!0,c=(t==null?void 0:t.shouldShowAdvancedOptionsSettings)??!0,d=(t==null?void 0:t.shouldShowClearIntermediates)??!0,p=(t==null?void 0:t.shouldShowNodesToggle)??!0,h=(t==null?void 0:t.shouldShowLocalizationToggle)??!0;f.useEffect(()=>{s||n(ew(!1))},[s,n]);const{isNSFWCheckerAvailable:m,isWatermarkerAvailable:v}=q_(void 0,{selectFromResult:({data:X})=>({isNSFWCheckerAvailable:(X==null?void 0:X.nsfw_methods.includes("nsfw_checker"))??!1,isWatermarkerAvailable:(X==null?void 0:X.watermarking_methods.includes("invisible_watermark"))??!1})}),{isOpen:b,onOpen:w,onClose:y}=ss(),{isOpen:S,onOpen:_,onClose:k}=ss(),{shouldConfirmOnDelete:j,enableImageDebugging:I,shouldUseCanvasBetaLayout:E,shouldUseSliders:O,shouldShowProgressInViewer:R,consoleLogLevel:M,shouldLogToConsole:A,shouldAntialiasProgressImage:T,shouldShowAdvancedOptions:$,isNodesEnabled:Q,shouldUseNSFWChecker:B,shouldUseWatermarker:V}=z(Iee),q=f.useCallback(()=>{Object.keys(window.localStorage).forEach(X=>{(vR.includes(X)||X.startsWith(bR))&&localStorage.removeItem(X)}),y(),_()},[y,_]),G=f.useCallback(X=>{n(yR(X))},[n]),D=f.useCallback(X=>{n(xR(X))},[n]),L=f.useCallback(X=>{n(ew(X.target.checked))},[n]),W=f.useCallback(X=>{n(wR(X.target.checked))},[n]),{colorMode:Y,toggleColorMode:ae}=Ds(),be=ir("localization").isFeatureEnabled,ie=z(Y6);return i.jsxs(i.Fragment,{children:[f.cloneElement(e,{onClick:w}),i.jsxs(sd,{isOpen:b,onClose:y,size:"2xl",isCentered:!0,children:[i.jsx(Da,{}),i.jsxs(ad,{children:[i.jsx(Ma,{bg:"none",children:r("common.settingsLabel")}),i.jsx(Ub,{}),i.jsx(Aa,{children:i.jsxs(F,{sx:{gap:4,flexDirection:"column"},children:[i.jsxs(Kl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.general")}),i.jsx(Xo,{label:r("settings.confirmOnDelete"),isChecked:j,onChange:X=>n(G_(X.target.checked))}),c&&i.jsx(Xo,{label:r("settings.showAdvancedOptions"),isChecked:$,onChange:X=>n(SR(X.target.checked))})]}),i.jsxs(Kl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.generation")}),i.jsx(Pee,{}),i.jsx(Xo,{label:"Enable NSFW Checker",isDisabled:!m,isChecked:B,onChange:X=>n(CR(X.target.checked))}),i.jsx(Xo,{label:"Enable Invisible Watermark",isDisabled:!v,isChecked:V,onChange:X=>n(kR(X.target.checked))})]}),i.jsxs(Kl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.ui")}),i.jsx(Xo,{label:r("common.darkMode"),isChecked:Y==="dark",onChange:ae}),i.jsx(Xo,{label:r("settings.useSlidersForAll"),isChecked:O,onChange:X=>n(_R(X.target.checked))}),i.jsx(Xo,{label:r("settings.showProgressInViewer"),isChecked:R,onChange:X=>n(K_(X.target.checked))}),i.jsx(Xo,{label:r("settings.antialiasProgressImages"),isChecked:T,onChange:X=>n(PR(X.target.checked))}),o&&i.jsx(Xo,{label:r("settings.alternateCanvasLayout"),useBadge:!0,badgeLabel:r("settings.beta"),isChecked:E,onChange:X=>n(jR(X.target.checked))}),p&&i.jsx(Xo,{label:r("settings.enableNodesEditor"),useBadge:!0,isChecked:Q,onChange:W}),h&&i.jsx(Xr,{disabled:!be,label:r("common.languagePickerLabel"),value:ie,data:Object.entries(jee).map(([X,K])=>({value:X,label:K})),onChange:D})]}),s&&i.jsxs(Kl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.developer")}),i.jsx(Xo,{label:r("settings.shouldLogToConsole"),isChecked:A,onChange:L}),i.jsx(Xr,{disabled:!A,label:r("settings.consoleLogLevel"),onChange:G,value:M,data:IR.concat()}),i.jsx(Xo,{label:r("settings.enableImageDebugging"),isChecked:I,onChange:X=>n(ER(X.target.checked))})]}),d&&i.jsx(wee,{}),i.jsxs(Kl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.resetWebUI")}),i.jsx(Jt,{colorScheme:"error",onClick:q,children:r("settings.resetWebUI")}),a&&i.jsxs(i.Fragment,{children:[i.jsx(qe,{variant:"subtext",children:r("settings.resetWebUIDesc1")}),i.jsx(qe,{variant:"subtext",children:r("settings.resetWebUIDesc2")})]})]})]})}),i.jsx(Ra,{children:i.jsx(Jt,{onClick:y,children:r("common.close")})})]})]}),i.jsxs(sd,{closeOnOverlayClick:!1,isOpen:S,onClose:k,isCentered:!0,children:[i.jsx(Da,{backdropFilter:"blur(40px)"}),i.jsxs(ad,{children:[i.jsx(Ma,{}),i.jsx(Aa,{children:i.jsx(F,{justifyContent:"center",children:i.jsx(qe,{fontSize:"lg",children:i.jsx(qe,{children:r("settings.resetComplete")})})})}),i.jsx(Ra,{})]})]})]})},Oee=fe(vo,e=>{const{isConnected:t,isProcessing:n,statusTranslationKey:r,currentIteration:o,totalIterations:s,currentStatusHasSteps:a}=e;return{isConnected:t,isProcessing:n,currentIteration:o,totalIterations:s,statusTranslationKey:r,currentStatusHasSteps:a}},Ge),wk={ok:"green.400",working:"yellow.400",error:"red.400"},Sk={ok:"green.600",working:"yellow.500",error:"red.500"},Ree=()=>{const{isConnected:e,isProcessing:t,currentIteration:n,totalIterations:r,statusTranslationKey:o}=z(Oee),{t:s}=ye(),a=f.useRef(null),c=f.useMemo(()=>t?"working":e?"ok":"error",[t,e]),d=f.useMemo(()=>{if(n&&r)return` (${n}/${r})`},[n,r]),p=dO(a);return i.jsxs(F,{ref:a,h:"full",px:2,alignItems:"center",gap:5,children:[i.jsx(mo,{children:p&&i.jsx(Ir.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:i.jsxs(qe,{sx:{fontSize:"sm",fontWeight:"600",pb:"1px",userSelect:"none",color:Sk[c],_dark:{color:wk[c]}},children:[s(o),d]})},"statusText")}),i.jsx(no,{as:oW,sx:{boxSize:"0.5rem",color:Sk[c],_dark:{color:wk[c]}}})]})},Mee=()=>{const{t:e}=ye(),t=ir("bugLink").isFeatureEnabled,n=ir("discordLink").isFeatureEnabled,r=ir("githubLink").isFeatureEnabled,o="http://github.com/invoke-ai/InvokeAI",s="https://discord.gg/ZmtBAhwWhy";return i.jsxs(F,{sx:{gap:2,alignItems:"center"},children:[i.jsx(fO,{}),i.jsx(hl,{}),i.jsx(Ree,{}),i.jsxs(Od,{children:[i.jsx(Rd,{as:Le,variant:"link","aria-label":e("accessibility.menu"),icon:i.jsx(tW,{}),sx:{boxSize:8}}),i.jsxs(Fc,{motionProps:um,children:[i.jsxs(od,{title:e("common.communityLabel"),children:[r&&i.jsx(Pr,{as:"a",href:o,target:"_blank",icon:i.jsx(KH,{}),children:e("common.githubLabel")}),t&&i.jsx(Pr,{as:"a",href:`${o}/issues`,target:"_blank",icon:i.jsx(nW,{}),children:e("common.reportBugLabel")}),n&&i.jsx(Pr,{as:"a",href:s,target:"_blank",icon:i.jsx(qH,{}),children:e("common.discordLabel")})]}),i.jsxs(od,{title:e("common.settingsLabel"),children:[i.jsx(pee,{children:i.jsx(Pr,{as:"button",icon:i.jsx(bW,{}),children:e("common.hotkeysLabel")})}),i.jsx(Eee,{children:i.jsx(Pr,{as:"button",icon:i.jsx(sW,{}),children:e("common.settingsLabel")})})]})]})]})]})},Dee=f.memo(Mee);function Aee(e){return et({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M16.5 9c-.42 0-.83.04-1.24.11L1.01 3 1 10l9 2-9 2 .01 7 8.07-3.46C9.59 21.19 12.71 24 16.5 24c4.14 0 7.5-3.36 7.5-7.5S20.64 9 16.5 9zm0 13c-3.03 0-5.5-2.47-5.5-5.5s2.47-5.5 5.5-5.5 5.5 2.47 5.5 5.5-2.47 5.5-5.5 5.5z"}},{tag:"path",attr:{d:"M18.27 14.03l-1.77 1.76-1.77-1.76-.7.7 1.76 1.77-1.76 1.77.7.7 1.77-1.76 1.77 1.76.7-.7-1.76-1.77 1.76-1.77z"}}]})(e)}function Tee(e){return et({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M17 16l-4-4V8.82C14.16 8.4 15 7.3 15 6c0-1.66-1.34-3-3-3S9 4.34 9 6c0 1.3.84 2.4 2 2.82V12l-4 4H3v5h5v-3.05l4-4.2 4 4.2V21h5v-5h-4z"}}]})(e)}function Nee(e){return et({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 20H4v-4h4v4zm0-6H4v-4h4v4zm0-6H4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4z"}}]})(e)}function $ee(e){return et({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-11-4l2.03 2.71L16 11l4 5H8l3-4zM2 6v14c0 1.1.9 2 2 2h14v-2H4V6H2z"}}]})(e)}function zee(e){return et({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}}]})(e)}function pO(e){return et({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3z"}}]})(e)}const Lee=fe(vo,e=>{const{isUploading:t}=e;let n="";return t&&(n="Uploading..."),{tooltip:n,shouldShow:t}}),Bee=()=>{const{shouldShow:e,tooltip:t}=z(Lee);return e?i.jsx(F,{sx:{alignItems:"center",justifyContent:"center",color:"base.600"},children:i.jsx(wn,{label:t,placement:"right",hasArrow:!0,children:i.jsx(pl,{})})}):null},Fee=f.memo(Bee),hO=e=>e.config,{createElement:Ec,createContext:Hee,forwardRef:mO,useCallback:ri,useContext:gO,useEffect:Ia,useImperativeHandle:vO,useLayoutEffect:Wee,useMemo:Vee,useRef:Zo,useState:Ku}=J1,Ck=J1["useId".toString()],Uee=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",em=Uee?Wee:()=>{},Gee=typeof Ck=="function"?Ck:()=>null;let qee=0;function Ky(e=null){const t=Gee(),n=Zo(e||t||null);return n.current===null&&(n.current=""+qee++),n.current}const Zm=Hee(null);Zm.displayName="PanelGroupContext";function bO({children:e=null,className:t="",collapsedSize:n=0,collapsible:r=!1,defaultSize:o=null,forwardedRef:s,id:a=null,maxSize:c=100,minSize:d=10,onCollapse:p=null,onResize:h=null,order:m=null,style:v={},tagName:b="div"}){const w=gO(Zm);if(w===null)throw Error("Panel components must be rendered within a PanelGroup container");const y=Ky(a),{collapsePanel:S,expandPanel:_,getPanelStyle:k,registerPanel:j,resizePanel:I,unregisterPanel:E}=w,O=Zo({onCollapse:p,onResize:h});if(Ia(()=>{O.current.onCollapse=p,O.current.onResize=h}),d<0||d>100)throw Error(`Panel minSize must be between 0 and 100, but was ${d}`);if(c<0||c>100)throw Error(`Panel maxSize must be between 0 and 100, but was ${c}`);if(o!==null){if(o<0||o>100)throw Error(`Panel defaultSize must be between 0 and 100, but was ${o}`);d>o&&!r&&(console.error(`Panel minSize ${d} cannot be greater than defaultSize ${o}`),o=d)}const R=k(y,o),M=Zo({size:kk(R)}),A=Zo({callbacksRef:O,collapsedSize:n,collapsible:r,defaultSize:o,id:y,maxSize:c,minSize:d,order:m});return em(()=>{M.current.size=kk(R),A.current.callbacksRef=O,A.current.collapsedSize=n,A.current.collapsible=r,A.current.defaultSize=o,A.current.id=y,A.current.maxSize=c,A.current.minSize=d,A.current.order=m}),em(()=>(j(y,A),()=>{E(y)}),[m,y,j,E]),vO(s,()=>({collapse:()=>S(y),expand:()=>_(y),getCollapsed(){return M.current.size===0},getSize(){return M.current.size},resize:T=>I(y,T)}),[S,_,y,I]),Ec(b,{children:e,className:t,"data-panel":"","data-panel-collapsible":r||void 0,"data-panel-id":y,"data-panel-size":parseFloat(""+R.flexGrow).toFixed(1),id:`data-panel-id-${y}`,style:{...R,...v}})}const pd=mO((e,t)=>Ec(bO,{...e,forwardedRef:t}));bO.displayName="Panel";pd.displayName="forwardRef(Panel)";function kk(e){const{flexGrow:t}=e;return typeof t=="string"?parseFloat(t):t}const fl=10;function Au(e,t,n,r,o,s,a,c){const{sizes:d}=c||{},p=d||s;if(o===0)return p;const h=Qo(t),m=p.concat();let v=0;{const y=o<0?r:n,S=h.findIndex(I=>I.current.id===y),_=h[S],k=p[S],j=_k(_,Math.abs(o),k,e);if(k===j)return p;j===0&&k>0&&a.set(y,k),o=o<0?k-j:j-k}let b=o<0?n:r,w=h.findIndex(y=>y.current.id===b);for(;;){const y=h[w],S=p[w],_=Math.abs(o)-Math.abs(v),k=_k(y,0-_,S,e);if(S!==k&&(k===0&&S>0&&a.set(y.current.id,S),v+=S-k,m[w]=k,v.toPrecision(fl).localeCompare(Math.abs(o).toPrecision(fl),void 0,{numeric:!0})>=0))break;if(o<0){if(--w<0)break}else if(++w>=h.length)break}return v===0?p:(b=o<0?r:n,w=h.findIndex(y=>y.current.id===b),m[w]=p[w]+v,m)}function Ul(e,t,n){t.forEach((r,o)=>{const{callbacksRef:s,collapsedSize:a,collapsible:c,id:d}=e[o].current,p=n[d];if(p!==r){n[d]=r;const{onCollapse:h,onResize:m}=s.current;m&&m(r,p),c&&h&&((p==null||p===a)&&r!==a?h(!1):p!==a&&r===a&&h(!0))}})}function dv(e,t){if(t.length<2)return[null,null];const n=t.findIndex(a=>a.current.id===e);if(n<0)return[null,null];const r=n===t.length-1,o=r?t[n-1].current.id:e,s=r?e:t[n+1].current.id;return[o,s]}function yO(e,t,n){if(e.size===1)return"100";const o=Qo(e).findIndex(a=>a.current.id===t),s=n[o];return s==null?"0":s.toPrecision(fl)}function Kee(e){const t=document.querySelector(`[data-panel-id="${e}"]`);return t||null}function Xy(e){const t=document.querySelector(`[data-panel-group-id="${e}"]`);return t||null}function eg(e){const t=document.querySelector(`[data-panel-resize-handle-id="${e}"]`);return t||null}function Xee(e){return xO().findIndex(r=>r.getAttribute("data-panel-resize-handle-id")===e)??null}function xO(){return Array.from(document.querySelectorAll("[data-panel-resize-handle-id]"))}function wO(e){return Array.from(document.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`))}function Yy(e,t,n){var d,p,h,m;const r=eg(t),o=wO(e),s=r?o.indexOf(r):-1,a=((p=(d=n[s])==null?void 0:d.current)==null?void 0:p.id)??null,c=((m=(h=n[s+1])==null?void 0:h.current)==null?void 0:m.id)??null;return[a,c]}function Qo(e){return Array.from(e.values()).sort((t,n)=>{const r=t.current.order,o=n.current.order;return r==null&&o==null?0:r==null?-1:o==null?1:r-o})}function _k(e,t,n,r){var h;const o=n+t,{collapsedSize:s,collapsible:a,maxSize:c,minSize:d}=e.current;if(a){if(n>s){if(o<=d/2+s)return s}else if(!((h=r==null?void 0:r.type)==null?void 0:h.startsWith("key"))&&o{const{direction:a,panels:c}=e.current,d=Xy(t),{height:p,width:h}=d.getBoundingClientRect(),v=wO(t).map(b=>{const w=b.getAttribute("data-panel-resize-handle-id"),y=Qo(c),[S,_]=Yy(t,w,y);if(S==null||_==null)return()=>{};let k=0,j=100,I=0,E=0;y.forEach($=>{$.current.id===S?(j=$.current.maxSize,k=$.current.minSize):(I+=$.current.minSize,E+=$.current.maxSize)});const O=Math.min(j,100-I),R=Math.max(k,(y.length-1)*100-E),M=yO(c,S,o);b.setAttribute("aria-valuemax",""+Math.round(O)),b.setAttribute("aria-valuemin",""+Math.round(R)),b.setAttribute("aria-valuenow",""+Math.round(parseInt(M)));const A=$=>{if(!$.defaultPrevented)switch($.key){case"Enter":{$.preventDefault();const Q=y.findIndex(B=>B.current.id===S);if(Q>=0){const B=y[Q],V=o[Q];if(V!=null){let q=0;V.toPrecision(fl)<=B.current.minSize.toPrecision(fl)?q=a==="horizontal"?h:p:q=-(a==="horizontal"?h:p);const G=Au($,c,S,_,q,o,s.current,null);o!==G&&r(G)}}break}}};b.addEventListener("keydown",A);const T=Kee(S);return T!=null&&b.setAttribute("aria-controls",T.id),()=>{b.removeAttribute("aria-valuemax"),b.removeAttribute("aria-valuemin"),b.removeAttribute("aria-valuenow"),b.removeEventListener("keydown",A),T!=null&&b.removeAttribute("aria-controls")}});return()=>{v.forEach(b=>b())}},[e,t,n,s,r,o])}function Qee({disabled:e,handleId:t,resizeHandler:n}){Ia(()=>{if(e||n==null)return;const r=eg(t);if(r==null)return;const o=s=>{if(!s.defaultPrevented)switch(s.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{s.preventDefault(),n(s);break}case"F6":{s.preventDefault();const a=xO(),c=Xee(t);SO(c!==null);const d=s.shiftKey?c>0?c-1:a.length-1:c+1{r.removeEventListener("keydown",o)}},[e,t,n])}function Jee(e,t){if(e.length!==t.length)return!1;for(let n=0;nR.current.id===I),O=r[E];if(O.current.collapsible){const R=h[E];(R===0||R.toPrecision(fl)===O.current.minSize.toPrecision(fl))&&(_=_<0?-O.current.minSize*w:O.current.minSize*w)}return _}else return CO(e,n,o,c,d)}function ete(e){return e.type==="keydown"}function A1(e){return e.type.startsWith("mouse")}function T1(e){return e.type.startsWith("touch")}let N1=null,Xi=null;function kO(e){switch(e){case"horizontal":return"ew-resize";case"horizontal-max":return"w-resize";case"horizontal-min":return"e-resize";case"vertical":return"ns-resize";case"vertical-max":return"n-resize";case"vertical-min":return"s-resize"}}function tte(){Xi!==null&&(document.head.removeChild(Xi),N1=null,Xi=null)}function fv(e){if(N1===e)return;N1=e;const t=kO(e);Xi===null&&(Xi=document.createElement("style"),document.head.appendChild(Xi)),Xi.innerHTML=`*{cursor: ${t}!important;}`}function nte(e,t=10){let n=null;return(...o)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...o)},t)}}function _O(e){return e.map(t=>{const{minSize:n,order:r}=t.current;return r?`${r}:${n}`:`${n}`}).sort((t,n)=>t.localeCompare(n)).join(",")}function PO(e,t){try{const n=t.getItem(`PanelGroup:sizes:${e}`);if(n){const r=JSON.parse(n);if(typeof r=="object"&&r!=null)return r}}catch{}return null}function rte(e,t,n){const r=PO(e,n);if(r){const o=_O(t);return r[o]??null}return null}function ote(e,t,n,r){const o=_O(t),s=PO(e,r)||{};s[o]=n;try{r.setItem(`PanelGroup:sizes:${e}`,JSON.stringify(s))}catch(a){console.error(a)}}const pv={};function Pk(e){try{if(typeof localStorage<"u")e.getItem=t=>localStorage.getItem(t),e.setItem=(t,n)=>{localStorage.setItem(t,n)};else throw new Error("localStorage not supported in this environment")}catch(t){console.error(t),e.getItem=()=>null,e.setItem=()=>{}}}const Tu={getItem:e=>(Pk(Tu),Tu.getItem(e)),setItem:(e,t)=>{Pk(Tu),Tu.setItem(e,t)}};function jO({autoSaveId:e,children:t=null,className:n="",direction:r,disablePointerEventsDuringResize:o=!1,forwardedRef:s,id:a=null,onLayout:c,storage:d=Tu,style:p={},tagName:h="div"}){const m=Ky(a),[v,b]=Ku(null),[w,y]=Ku(new Map),S=Zo(null),_=Zo({onLayout:c});Ia(()=>{_.current.onLayout=c});const k=Zo({}),[j,I]=Ku([]),E=Zo(new Map),O=Zo(0),R=Zo({direction:r,panels:w,sizes:j});vO(s,()=>({getLayout:()=>{const{sizes:D}=R.current;return D},setLayout:D=>{const L=D.reduce((be,ie)=>be+ie,0);SO(L===100,"Panel sizes must add up to 100%");const{panels:W}=R.current,Y=k.current,ae=Qo(W);I(D),Ul(ae,D,Y)}}),[]),em(()=>{R.current.direction=r,R.current.panels=w,R.current.sizes=j}),Yee({committedValuesRef:R,groupId:m,panels:w,setSizes:I,sizes:j,panelSizeBeforeCollapse:E}),Ia(()=>{const{onLayout:D}=_.current,{panels:L,sizes:W}=R.current;if(W.length>0){D&&D(W);const Y=k.current,ae=Qo(L);Ul(ae,W,Y)}},[j]),em(()=>{if(R.current.sizes.length===w.size)return;let L=null;if(e){const W=Qo(w);L=rte(e,W,d)}if(L!=null)I(L);else{const W=Qo(w);let Y=0,ae=0,be=0;if(W.forEach(ie=>{be+=ie.current.minSize,ie.current.defaultSize===null?Y++:ae+=ie.current.defaultSize}),ae>100)throw new Error("Default panel sizes cannot exceed 100%");if(W.length>1&&Y===0&&ae!==100)throw new Error("Invalid default sizes specified for panels");if(be>100)throw new Error("Minimum panel sizes cannot exceed 100%");I(W.map(ie=>ie.current.defaultSize===null?(100-ae)/Y:ie.current.defaultSize))}},[e,w,d]),Ia(()=>{if(e){if(j.length===0||j.length!==w.size)return;const D=Qo(w);pv[e]||(pv[e]=nte(ote,100)),pv[e](e,D,j,d)}},[e,w,j,d]);const M=ri((D,L)=>{const{panels:W}=R.current;return W.size===0?{flexBasis:0,flexGrow:L??void 0,flexShrink:1,overflow:"hidden"}:{flexBasis:0,flexGrow:yO(W,D,j),flexShrink:1,overflow:"hidden",pointerEvents:o&&v!==null?"none":void 0}},[v,o,j]),A=ri((D,L)=>{y(W=>{if(W.has(D))return W;const Y=new Map(W);return Y.set(D,L),Y})},[]),T=ri(D=>W=>{W.preventDefault();const{direction:Y,panels:ae,sizes:be}=R.current,ie=Qo(ae),[X,K]=Yy(m,D,ie);if(X==null||K==null)return;let U=Zee(W,m,D,ie,Y,be,S.current);if(U===0)return;const re=Xy(m).getBoundingClientRect(),oe=Y==="horizontal";document.dir==="rtl"&&oe&&(U=-U);const pe=oe?re.width:re.height,le=U/pe*100,ge=Au(W,ae,X,K,le,be,E.current,S.current),ke=!Jee(be,ge);if((A1(W)||T1(W))&&O.current!=le&&fv(ke?oe?"horizontal":"vertical":oe?U<0?"horizontal-min":"horizontal-max":U<0?"vertical-min":"vertical-max"),ke){const xe=k.current;I(ge),Ul(ie,ge,xe)}O.current=le},[m]),$=ri(D=>{y(L=>{if(!L.has(D))return L;const W=new Map(L);return W.delete(D),W})},[]),Q=ri(D=>{const{panels:L,sizes:W}=R.current,Y=L.get(D);if(Y==null)return;const{collapsedSize:ae,collapsible:be}=Y.current;if(!be)return;const ie=Qo(L),X=ie.indexOf(Y);if(X<0)return;const K=W[X];if(K===ae)return;E.current.set(D,K);const[U,se]=dv(D,ie);if(U==null||se==null)return;const oe=X===ie.length-1?K:ae-K,pe=Au(null,L,U,se,oe,W,E.current,null);if(W!==pe){const le=k.current;I(pe),Ul(ie,pe,le)}},[]),B=ri(D=>{const{panels:L,sizes:W}=R.current,Y=L.get(D);if(Y==null)return;const{collapsedSize:ae,minSize:be}=Y.current,ie=E.current.get(D)||be;if(!ie)return;const X=Qo(L),K=X.indexOf(Y);if(K<0||W[K]!==ae)return;const[se,re]=dv(D,X);if(se==null||re==null)return;const pe=K===X.length-1?ae-ie:ie,le=Au(null,L,se,re,pe,W,E.current,null);if(W!==le){const ge=k.current;I(le),Ul(X,le,ge)}},[]),V=ri((D,L)=>{const{panels:W,sizes:Y}=R.current,ae=W.get(D);if(ae==null)return;const{collapsedSize:be,collapsible:ie,maxSize:X,minSize:K}=ae.current,U=Qo(W),se=U.indexOf(ae);if(se<0)return;const re=Y[se];if(re===L)return;ie&&L===be||(L=Math.min(X,Math.max(K,L)));const[oe,pe]=dv(D,U);if(oe==null||pe==null)return;const ge=se===U.length-1?re-L:L-re,ke=Au(null,W,oe,pe,ge,Y,E.current,null);if(Y!==ke){const xe=k.current;I(ke),Ul(U,ke,xe)}},[]),q=Vee(()=>({activeHandleId:v,collapsePanel:Q,direction:r,expandPanel:B,getPanelStyle:M,groupId:m,registerPanel:A,registerResizeHandle:T,resizePanel:V,startDragging:(D,L)=>{if(b(D),A1(L)||T1(L)){const W=eg(D);S.current={dragHandleRect:W.getBoundingClientRect(),dragOffset:CO(L,D,r),sizes:R.current.sizes}}},stopDragging:()=>{tte(),b(null),S.current=null},unregisterPanel:$}),[v,Q,r,B,M,m,A,T,V,$]),G={display:"flex",flexDirection:r==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return Ec(Zm.Provider,{children:Ec(h,{children:t,className:n,"data-panel-group":"","data-panel-group-direction":r,"data-panel-group-id":m,style:{...G,...p}}),value:q})}const Qy=mO((e,t)=>Ec(jO,{...e,forwardedRef:t}));jO.displayName="PanelGroup";Qy.displayName="forwardRef(PanelGroup)";function $1({children:e=null,className:t="",disabled:n=!1,id:r=null,onDragging:o,style:s={},tagName:a="div"}){const c=Zo(null),d=Zo({onDragging:o});Ia(()=>{d.current.onDragging=o});const p=gO(Zm);if(p===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{activeHandleId:h,direction:m,groupId:v,registerResizeHandle:b,startDragging:w,stopDragging:y}=p,S=Ky(r),_=h===S,[k,j]=Ku(!1),[I,E]=Ku(null),O=ri(()=>{c.current.blur(),y();const{onDragging:A}=d.current;A&&A(!1)},[y]);Ia(()=>{if(n)E(null);else{const M=b(S);E(()=>M)}},[n,S,b]),Ia(()=>{if(n||I==null||!_)return;const M=Q=>{I(Q)},A=Q=>{I(Q)},$=c.current.ownerDocument;return $.body.addEventListener("contextmenu",O),$.body.addEventListener("mousemove",M),$.body.addEventListener("touchmove",M),$.body.addEventListener("mouseleave",A),window.addEventListener("mouseup",O),window.addEventListener("touchend",O),()=>{$.body.removeEventListener("contextmenu",O),$.body.removeEventListener("mousemove",M),$.body.removeEventListener("touchmove",M),$.body.removeEventListener("mouseleave",A),window.removeEventListener("mouseup",O),window.removeEventListener("touchend",O)}},[m,n,_,I,O]),Qee({disabled:n,handleId:S,resizeHandler:I});const R={cursor:kO(m),touchAction:"none",userSelect:"none"};return Ec(a,{children:e,className:t,"data-resize-handle-active":_?"pointer":k?"keyboard":void 0,"data-panel-group-direction":m,"data-panel-group-id":v,"data-panel-resize-handle-enabled":!n,"data-panel-resize-handle-id":S,onBlur:()=>j(!1),onFocus:()=>j(!0),onMouseDown:M=>{w(S,M.nativeEvent);const{onDragging:A}=d.current;A&&A(!0)},onMouseUp:O,onTouchCancel:O,onTouchEnd:O,onTouchStart:M=>{w(S,M.nativeEvent);const{onDragging:A}=d.current;A&&A(!0)},ref:c,role:"separator",style:{...R,...s},tabIndex:0})}$1.displayName="PanelResizeHandle";const ste=(e,t,n,r="horizontal")=>{const o=f.useRef(null),[s,a]=f.useState(t),c=f.useCallback(()=>{var p,h;const d=(p=o.current)==null?void 0:p.getSize();d!==void 0&&d{const d=document.querySelector(`[data-panel-group-id="${n}"]`),p=document.querySelectorAll("[data-panel-resize-handle-id]");if(!d)return;const h=new ResizeObserver(()=>{let m=r==="horizontal"?d.getBoundingClientRect().width:d.getBoundingClientRect().height;p.forEach(v=>{m-=r==="horizontal"?v.getBoundingClientRect().width:v.getBoundingClientRect().height}),a(e/m*100)});return h.observe(d),p.forEach(m=>{h.observe(m)}),window.addEventListener("resize",c),()=>{h.disconnect(),window.removeEventListener("resize",c)}},[n,c,s,e,r]),{ref:o,minSizePct:s}},ate=fe([Ye],e=>{const{initialImage:t}=e.generation;return{initialImage:t,isResetButtonDisabled:!t}},Ge),ite=()=>{const{initialImage:e}=z(ate),{currentData:t}=os((e==null?void 0:e.imageName)??oo.skipToken),n=f.useMemo(()=>{if(t)return{id:"initial-image",payloadType:"IMAGE_DTO",payload:{imageDTO:t}}},[t]),r=f.useMemo(()=>({id:"initial-image",actionType:"SET_INITIAL_IMAGE"}),[]);return i.jsx(yi,{imageDTO:t,droppableData:r,draggableData:n,isUploadDisabled:!0,fitContainer:!0,dropLabel:"Set as Initial Image",noContentFallback:i.jsx(mi,{label:"No initial image selected"})})},lte=fe([Ye],e=>{const{initialImage:t}=e.generation;return{isResetButtonDisabled:!t}},Ge),cte={type:"SET_INITIAL_IMAGE"},ute=()=>{const{isResetButtonDisabled:e}=z(lte),t=te(),{getUploadButtonProps:n,getUploadInputProps:r}=Jm({postUploadAction:cte}),o=f.useCallback(()=>{t(OR())},[t]);return i.jsxs(F,{layerStyle:"first",sx:{position:"relative",flexDirection:"column",height:"full",width:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",p:4,gap:4},children:[i.jsxs(F,{sx:{w:"full",flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},children:[i.jsx(qe,{sx:{fontWeight:600,userSelect:"none",color:"base.700",_dark:{color:"base.200"}},children:"Initial Image"}),i.jsx(hl,{}),i.jsx(Le,{tooltip:"Upload Initial Image","aria-label":"Upload Initial Image",icon:i.jsx(zd,{}),...n()}),i.jsx(Le,{tooltip:"Reset Initial Image","aria-label":"Reset Initial Image",icon:i.jsx(oy,{}),onClick:o,isDisabled:e})]}),i.jsx(ite,{}),i.jsx("input",{...r()})]})},dte=e=>{const{label:t,activeLabel:n,children:r,defaultIsOpen:o=!1}=e,{isOpen:s,onToggle:a}=ss({defaultIsOpen:o}),{colorMode:c}=Ds();return i.jsxs(Ee,{children:[i.jsxs(F,{onClick:a,sx:{alignItems:"center",p:2,px:4,gap:2,borderTopRadius:"base",borderBottomRadius:s?0:"base",bg:s?Fe("base.200","base.750")(c):Fe("base.150","base.800")(c),color:Fe("base.900","base.100")(c),_hover:{bg:s?Fe("base.250","base.700")(c):Fe("base.200","base.750")(c)},fontSize:"sm",fontWeight:600,cursor:"pointer",transitionProperty:"common",transitionDuration:"normal",userSelect:"none"},children:[t,i.jsx(mo,{children:n&&i.jsx(Ir.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsx(qe,{sx:{color:"accent.500",_dark:{color:"accent.300"}},children:n})},"statusText")}),i.jsx(hl,{}),i.jsx(Sy,{sx:{w:"1rem",h:"1rem",transform:s?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]}),i.jsx(pm,{in:s,animateOpacity:!0,style:{overflow:"unset"},children:i.jsx(Ee,{sx:{p:4,borderBottomRadius:"base",bg:"base.100",_dark:{bg:"base.800"}},children:r})})]})},Ro=f.memo(dte),fte=fe(Ye,e=>{const{combinatorial:t,isEnabled:n}=e.dynamicPrompts;return{combinatorial:t,isDisabled:!n}},Ge),pte=()=>{const{combinatorial:e,isDisabled:t}=z(fte),n=te(),r=f.useCallback(()=>{n(RR())},[n]);return i.jsx(Er,{isDisabled:t,label:"Combinatorial Generation",isChecked:e,onChange:r})},hte=fe(Ye,e=>{const{isEnabled:t}=e.dynamicPrompts;return{isEnabled:t}},Ge),mte=()=>{const e=te(),{isEnabled:t}=z(hte),n=f.useCallback(()=>{e(MR())},[e]);return i.jsx(Er,{label:"Enable Dynamic Prompts",isChecked:t,onChange:n})},gte=fe(Ye,e=>{const{maxPrompts:t,combinatorial:n,isEnabled:r}=e.dynamicPrompts,{min:o,sliderMax:s,inputMax:a}=e.config.sd.dynamicPrompts.maxPrompts;return{maxPrompts:t,min:o,sliderMax:s,inputMax:a,isDisabled:!r||!n}},Ge),vte=()=>{const{maxPrompts:e,min:t,sliderMax:n,inputMax:r,isDisabled:o}=z(gte),s=te(),a=f.useCallback(d=>{s(DR(d))},[s]),c=f.useCallback(()=>{s(AR())},[s]);return i.jsx(_t,{label:"Max Prompts",isDisabled:o,min:t,max:n,value:e,onChange:a,sliderNumberInputProps:{max:r},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:c})},bte=fe(Ye,e=>{const{isEnabled:t}=e.dynamicPrompts;return{activeLabel:t?"Enabled":void 0}},Ge),Ud=()=>{const{activeLabel:e}=z(bte);return ir("dynamicPrompting").isFeatureEnabled?i.jsx(Ro,{label:"Dynamic Prompts",activeLabel:e,children:i.jsxs(F,{sx:{gap:2,flexDir:"column"},children:[i.jsx(mte,{}),i.jsx(pte,{}),i.jsx(vte,{})]})}):null},yte=fe(Ye,e=>{const{shouldUseNoiseSettings:t,shouldUseCpuNoise:n}=e.generation;return{isDisabled:!t,shouldUseCpuNoise:n}},Ge),xte=()=>{const e=te(),{isDisabled:t,shouldUseCpuNoise:n}=z(yte),r=o=>e(TR(o.target.checked));return i.jsx(Er,{isDisabled:t,label:"Use CPU Noise",isChecked:n,onChange:r})},wte=fe(Ye,e=>{const{shouldUseNoiseSettings:t,threshold:n}=e.generation;return{isDisabled:!t,threshold:n}},Ge);function Ste(){const e=te(),{threshold:t,isDisabled:n}=z(wte),{t:r}=ye();return i.jsx(_t,{isDisabled:n,label:r("parameters.noiseThreshold"),min:0,max:20,step:.1,onChange:o=>e(tw(o)),handleReset:()=>e(tw(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const Cte=()=>{const e=te(),t=z(r=>r.generation.shouldUseNoiseSettings),n=r=>e(NR(r.target.checked));return i.jsx(Er,{label:"Enable Noise Settings",isChecked:t,onChange:n})},kte=fe(Ye,e=>{const{shouldUseNoiseSettings:t,perlin:n}=e.generation;return{isDisabled:!t,perlin:n}},Ge);function _te(){const e=te(),{perlin:t,isDisabled:n}=z(kte),{t:r}=ye();return i.jsx(_t,{isDisabled:n,label:r("parameters.perlinNoise"),min:0,max:1,step:.05,onChange:o=>e(nw(o)),handleReset:()=>e(nw(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const Pte=fe(Ye,e=>{const{shouldUseNoiseSettings:t}=e.generation;return{activeLabel:t?"Enabled":void 0}},Ge),jte=()=>{const{t:e}=ye(),t=ir("noise").isFeatureEnabled,n=ir("perlinNoise").isFeatureEnabled,r=ir("noiseThreshold").isFeatureEnabled,{activeLabel:o}=z(Pte);return t?i.jsx(Ro,{label:e("parameters.noiseSettings"),activeLabel:o,children:i.jsxs(F,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(Cte,{}),i.jsx(xte,{}),n&&i.jsx(_te,{}),r&&i.jsx(Ste,{})]})}):null},tg=f.memo(jte),Ite=fe(vo,e=>({isProcessing:e.isProcessing,isConnected:e.isConnected,isCancelable:e.isCancelable,currentIteration:e.currentIteration,totalIterations:e.totalIterations,sessionId:e.sessionId,cancelType:e.cancelType,isCancelScheduled:e.isCancelScheduled}),{memoizeOptions:{resultEqualityCheck:Zt}}),Ete=e=>{const t=te(),{btnGroupWidth:n="auto",...r}=e,{isProcessing:o,isConnected:s,isCancelable:a,cancelType:c,isCancelScheduled:d,sessionId:p}=z(Ite),h=f.useCallback(()=>{if(p){if(c==="scheduled"){t($R());return}t(zR({session_id:p}))}},[t,p,c]),{t:m}=ye(),v=f.useCallback(y=>{const S=Array.isArray(y)?y[0]:y;t(LR(S))},[t]);rt("shift+x",()=>{(s||o)&&a&&h()},[s,o,a]);const b=f.useMemo(()=>m(d?"parameters.cancel.isScheduled":c==="immediate"?"parameters.cancel.immediate":"parameters.cancel.schedule"),[m,c,d]),w=f.useMemo(()=>d?i.jsx(Gp,{}):c==="immediate"?i.jsx(zee,{}):i.jsx(Aee,{}),[c,d]);return i.jsxs(rr,{isAttached:!0,width:n,children:[i.jsx(Le,{icon:w,tooltip:b,"aria-label":b,isDisabled:!s||!o||!a,onClick:h,colorScheme:"error",id:"cancel-button",...r}),i.jsxs(Od,{closeOnSelect:!1,children:[i.jsx(Rd,{as:Le,tooltip:m("parameters.cancel.setType"),"aria-label":m("parameters.cancel.setType"),icon:i.jsx(sU,{w:"1em",h:"1em"}),paddingX:0,paddingY:0,colorScheme:"error",minWidth:5,...r}),i.jsx(Fc,{minWidth:"240px",children:i.jsxs(m6,{value:c,title:"Cancel Type",type:"radio",onChange:v,children:[i.jsx(Jp,{value:"immediate",children:m("parameters.cancel.immediate")}),i.jsx(Jp,{value:"scheduled",children:m("parameters.cancel.schedule")})]})})]})]})},ng=f.memo(Ete),Ote=fe([Ye,Kn],(e,t)=>{const{generation:n,system:r}=e,{initialImage:o}=n,{isProcessing:s,isConnected:a}=r;let c=!0;const d=[];t==="img2img"&&!o&&(c=!1,d.push("No initial image selected"));const{isSuccess:p}=BR.endpoints.getMainModels.select(Yu)(e);return p||(c=!1,d.push("Models are not loaded")),s&&(c=!1,d.push("System Busy")),a||(c=!1,d.push("System Disconnected")),so(e.controlNet.controlNets,(h,m)=>{h.model||(c=!1,d.push(`ControlNet ${m} has no model selected.`))}),{isReady:c,reasonsWhyNotReady:d}},Ge),Gd=()=>{const{isReady:e}=z(Ote);return e},Rte=fe(vo,e=>({isProcessing:e.isProcessing,currentStep:e.currentStep,totalSteps:e.totalSteps,currentStatusHasSteps:e.currentStatusHasSteps}),{memoizeOptions:{resultEqualityCheck:Zt}}),Mte=()=>{const{t:e}=ye(),{isProcessing:t,currentStep:n,totalSteps:r,currentStatusHasSteps:o}=z(Rte),s=n?Math.round(n*100/r):0;return i.jsx(E6,{value:s,"aria-label":e("accessibility.invokeProgressBar"),isIndeterminate:t&&!o,height:"full",colorScheme:"accent"})},IO=f.memo(Mte),jk={_disabled:{bg:"none",color:"base.600",cursor:"not-allowed",_hover:{color:"base.600",bg:"none"}}},Dte=fe([Ye,Kn,Cr],({gallery:e},t,n)=>{const{autoAddBoardId:r}=e;return{isBusy:n,autoAddBoardId:r,activeTabName:t}},Ge);function Jy(e){const{iconButton:t=!1,...n}=e,r=te(),o=Gd(),{isBusy:s,autoAddBoardId:a,activeTabName:c}=z(Dte),d=Lm(a),p=f.useCallback(()=>{r(bd()),r(yd(c))},[r,c]),{t:h}=ye();return rt(["ctrl+enter","meta+enter"],p,{enabled:()=>o,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[o,c]),i.jsx(Ee,{style:{flexGrow:4},position:"relative",children:i.jsxs(Ee,{style:{position:"relative"},children:[!o&&i.jsx(Ee,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},...n,children:i.jsx(IO,{})}),i.jsx(wn,{placement:"top",hasArrow:!0,openDelay:500,label:a?`Auto-Adding to ${d}`:void 0,children:t?i.jsx(Le,{"aria-label":h("parameters.invoke"),type:"submit",icon:i.jsx(PP,{}),isDisabled:!o||s,onClick:p,tooltip:h("parameters.invoke"),tooltipProps:{placement:"top"},colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,...s?jk:{}}}):i.jsx(Jt,{"aria-label":h("parameters.invoke"),type:"submit",isDisabled:!o||s,onClick:p,colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,fontWeight:700,...s?jk:{}},children:"Invoke"})})]})})}const qd=()=>i.jsxs(F,{gap:2,children:[i.jsx(Jy,{}),i.jsx(ng,{})]}),Zy=e=>{e.stopPropagation()},Ate=Ae((e,t)=>{const n=te(),r=f.useCallback(s=>{s.shiftKey&&n(jo(!0))},[n]),o=f.useCallback(s=>{s.shiftKey||n(jo(!1))},[n]);return i.jsx(Jb,{ref:t,onPaste:Zy,onKeyDown:r,onKeyUp:o,...e})}),rg=f.memo(Ate),Tte=e=>{const{onClick:t}=e;return i.jsx(Le,{size:"sm","aria-label":"Add Embedding",tooltip:"Add Embedding",icon:i.jsx(ty,{}),sx:{p:2,color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}}},variant:"link",onClick:t})},og=f.memo(Tte),ex="28rem",sg=e=>{const{onSelect:t,isOpen:n,onClose:r,children:o}=e,{data:s}=FR(),a=f.useRef(null),c=z(h=>h.generation.model),d=f.useMemo(()=>{if(!s)return[];const h=[];return so(s.entities,(m,v)=>{if(!m)return;const b=(c==null?void 0:c.base_model)!==m.base_model;h.push({value:m.model_name,label:m.model_name,group:Qn[m.base_model],disabled:b,tooltip:b?`Incompatible base model: ${m.base_model}`:void 0})}),h.sort((m,v)=>{var b;return m.label&&v.label?(b=m.label)!=null&&b.localeCompare(v.label)?-1:1:-1}),h.sort((m,v)=>m.disabled&&!v.disabled?1:-1)},[s,c==null?void 0:c.base_model]),p=f.useCallback(h=>{h&&t(h)},[t]);return i.jsxs(Xb,{initialFocusRef:a,isOpen:n,onClose:r,placement:"bottom",openDelay:0,closeDelay:0,closeOnBlur:!0,returnFocusOnClose:!0,children:[i.jsx(Kb,{children:o}),i.jsx(Yb,{sx:{p:0,top:-1,shadow:"dark-lg",borderColor:"accent.300",borderWidth:"2px",borderStyle:"solid",_dark:{borderColor:"accent.400"}},children:i.jsx(j6,{sx:{p:0,w:`calc(${ex} - 2rem )`},children:d.length===0?i.jsx(F,{sx:{justifyContent:"center",p:2,fontSize:"sm",color:"base.500",_dark:{color:"base.700"}},children:i.jsx(qe,{children:"No Embeddings Loaded"})}):i.jsx(ar,{inputRef:a,autoFocus:!0,placeholder:"Add Embedding",value:null,data:d,nothingFound:"No matching Embeddings",itemComponent:Ri,disabled:d.length===0,onDropdownClose:r,filter:(h,m)=>{var v;return((v=m.label)==null?void 0:v.toLowerCase().includes(h.toLowerCase().trim()))||m.value.toLowerCase().includes(h.toLowerCase().trim())},onChange:p})})})]})},EO=()=>{const e=z(m=>m.generation.negativePrompt),t=f.useRef(null),{isOpen:n,onClose:r,onOpen:o}=ss(),s=te(),{t:a}=ye(),c=f.useCallback(m=>{s(zu(m.target.value))},[s]),d=f.useCallback(m=>{m.key==="<"&&o()},[o]),p=f.useCallback(m=>{if(!t.current)return;const v=t.current.selectionStart;if(v===void 0)return;let b=e.slice(0,v);b[b.length-1]!=="<"&&(b+="<"),b+=`${m}>`;const w=b.length;b+=e.slice(v),_i.flushSync(()=>{s(zu(b))}),t.current.selectionEnd=w,r()},[s,r,e]),h=ir("embedding").isFeatureEnabled;return i.jsxs(go,{children:[i.jsx(sg,{isOpen:n,onClose:r,onSelect:p,children:i.jsx(rg,{id:"negativePrompt",name:"negativePrompt",ref:t,value:e,placeholder:a("parameters.negativePromptPlaceholder"),onChange:c,resize:"vertical",fontSize:"sm",minH:16,...h&&{onKeyDown:d}})}),!n&&h&&i.jsx(Ee,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(og,{onClick:o})})]})},Nte=fe([Ye,Kn],({generation:e,ui:t},n)=>({shouldPinParametersPanel:t.shouldPinParametersPanel,prompt:e.positivePrompt,activeTabName:n}),{memoizeOptions:{resultEqualityCheck:Zt}}),OO=()=>{const e=te(),{prompt:t,shouldPinParametersPanel:n,activeTabName:r}=z(Nte),o=Gd(),s=f.useRef(null),{isOpen:a,onClose:c,onOpen:d}=ss(),{t:p}=ye(),h=f.useCallback(w=>{e($u(w.target.value))},[e]);rt("alt+a",()=>{var w;(w=s.current)==null||w.focus()},[]);const m=f.useCallback(w=>{if(!s.current)return;const y=s.current.selectionStart;if(y===void 0)return;let S=t.slice(0,y);S[S.length-1]!=="<"&&(S+="<"),S+=`${w}>`;const _=S.length;S+=t.slice(y),_i.flushSync(()=>{e($u(S))}),s.current.selectionStart=_,s.current.selectionEnd=_,c()},[e,c,t]),v=ir("embedding").isFeatureEnabled,b=f.useCallback(w=>{w.key==="Enter"&&w.shiftKey===!1&&o&&(w.preventDefault(),e(bd()),e(yd(r))),v&&w.key==="<"&&d()},[o,e,r,d,v]);return i.jsxs(Ee,{position:"relative",children:[i.jsx(go,{children:i.jsx(sg,{isOpen:a,onClose:c,onSelect:m,children:i.jsx(rg,{id:"prompt",name:"prompt",ref:s,value:t,placeholder:p("parameters.positivePromptPlaceholder"),onChange:h,onKeyDown:b,resize:"vertical",minH:32})})}),!a&&v&&i.jsx(Ee,{sx:{position:"absolute",top:n?5:0,insetInlineEnd:0},children:i.jsx(og,{onClick:d})})]})};function $te(){const e=z(o=>o.sdxl.shouldConcatSDXLStylePrompt),t=z(o=>o.ui.shouldPinParametersPanel),n=te(),r=()=>{n(HR(!e))};return i.jsx(Le,{"aria-label":"Concatenate Prompt & Style",tooltip:"Concatenate Prompt & Style",variant:"outline",isChecked:e,onClick:r,icon:i.jsx(kP,{}),size:"xs",sx:{position:"absolute",insetInlineEnd:1,top:t?12:20,border:"none",color:e?"accent.500":"base.500",_hover:{bg:"none"}}})}const Ik={position:"absolute",bg:"none",w:"full",minH:2,borderRadius:0,borderLeft:"none",borderRight:"none",zIndex:2,maskImage:"radial-gradient(circle at center, black, black 65%, black 30%, black 15%, transparent)"};function RO(){return i.jsxs(F,{children:[i.jsx(Ee,{as:Ir.div,initial:{scaleX:0,borderWidth:0,display:"none"},animate:{display:["block","block","block","none"],scaleX:[0,.25,.5,1],borderWidth:[0,3,3,0],transition:{duration:.37,times:[0,.25,.5,1]}},sx:{top:"1px",borderTop:"none",borderColor:"base.400",...Ik,_dark:{borderColor:"accent.500"}}}),i.jsx(Ee,{as:Ir.div,initial:{opacity:0,scale:0},animate:{opacity:[0,1,1,1],scale:[0,.75,1.5,1],transition:{duration:.42,times:[0,.25,.5,1]}},exit:{opacity:0,scale:0},sx:{zIndex:3,position:"absolute",left:"48%",top:"3px",p:1,borderRadius:4,bg:"accent.400",color:"base.50",_dark:{bg:"accent.500"}},children:i.jsx(kP,{size:12})}),i.jsx(Ee,{as:Ir.div,initial:{scaleX:0,borderWidth:0,display:"none"},animate:{display:["block","block","block","none"],scaleX:[0,.25,.5,1],borderWidth:[0,3,3,0],transition:{duration:.37,times:[0,.25,.5,1]}},sx:{top:"17px",borderBottom:"none",borderColor:"base.400",...Ik,_dark:{borderColor:"accent.500"}}})]})}const zte=fe([Ye,Kn],({sdxl:e},t)=>{const{negativeStylePrompt:n,shouldConcatSDXLStylePrompt:r}=e;return{prompt:n,shouldConcatSDXLStylePrompt:r,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),Lte=()=>{const e=te(),t=Gd(),n=f.useRef(null),{isOpen:r,onClose:o,onOpen:s}=ss(),{prompt:a,activeTabName:c,shouldConcatSDXLStylePrompt:d}=z(zte),p=f.useCallback(b=>{e(Bu(b.target.value))},[e]),h=f.useCallback(b=>{if(!n.current)return;const w=n.current.selectionStart;if(w===void 0)return;let y=a.slice(0,w);y[y.length-1]!=="<"&&(y+="<"),y+=`${b}>`;const S=y.length;y+=a.slice(w),_i.flushSync(()=>{e(Bu(y))}),n.current.selectionStart=S,n.current.selectionEnd=S,o()},[e,o,a]),m=ir("embedding").isFeatureEnabled,v=f.useCallback(b=>{b.key==="Enter"&&b.shiftKey===!1&&t&&(b.preventDefault(),e(bd()),e(yd(c))),m&&b.key==="<"&&s()},[t,e,c,s,m]);return i.jsxs(Ee,{position:"relative",children:[i.jsx(mo,{children:d&&i.jsx(Ee,{sx:{position:"absolute",left:"3",w:"94%",top:"-17px"},children:i.jsx(RO,{})})}),i.jsx(go,{children:i.jsx(sg,{isOpen:r,onClose:o,onSelect:h,children:i.jsx(rg,{id:"prompt",name:"prompt",ref:n,value:a,placeholder:"Negative Style Prompt",onChange:p,onKeyDown:v,resize:"vertical",fontSize:"sm",minH:16})})}),!r&&m&&i.jsx(Ee,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(og,{onClick:s})})]})},Bte=fe([Ye,Kn],({sdxl:e},t)=>{const{positiveStylePrompt:n,shouldConcatSDXLStylePrompt:r}=e;return{prompt:n,shouldConcatSDXLStylePrompt:r,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),Fte=()=>{const e=te(),t=Gd(),n=f.useRef(null),{isOpen:r,onClose:o,onOpen:s}=ss(),{prompt:a,activeTabName:c,shouldConcatSDXLStylePrompt:d}=z(Bte),p=f.useCallback(b=>{e(Lu(b.target.value))},[e]),h=f.useCallback(b=>{if(!n.current)return;const w=n.current.selectionStart;if(w===void 0)return;let y=a.slice(0,w);y[y.length-1]!=="<"&&(y+="<"),y+=`${b}>`;const S=y.length;y+=a.slice(w),_i.flushSync(()=>{e(Lu(y))}),n.current.selectionStart=S,n.current.selectionEnd=S,o()},[e,o,a]),m=ir("embedding").isFeatureEnabled,v=f.useCallback(b=>{b.key==="Enter"&&b.shiftKey===!1&&t&&(b.preventDefault(),e(bd()),e(yd(c))),m&&b.key==="<"&&s()},[t,e,c,s,m]);return i.jsxs(Ee,{position:"relative",children:[i.jsx(mo,{children:d&&i.jsx(Ee,{sx:{position:"absolute",left:"3",w:"94%",top:"-17px"},children:i.jsx(RO,{})})}),i.jsx(go,{children:i.jsx(sg,{isOpen:r,onClose:o,onSelect:h,children:i.jsx(rg,{id:"prompt",name:"prompt",ref:n,value:a,placeholder:"Positive Style Prompt",onChange:p,onKeyDown:v,resize:"vertical",minH:16})})}),!r&&m&&i.jsx(Ee,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(og,{onClick:s})})]})};function MO(){return i.jsxs(F,{sx:{flexDirection:"column",gap:2},children:[i.jsx(OO,{}),i.jsx($te,{}),i.jsx(Fte,{}),i.jsx(EO,{}),i.jsx(Lte,{})]})}const Kc=()=>{const{isRefinerAvailable:e}=na(sb,{selectFromResult:({data:t})=>({isRefinerAvailable:t?t.ids.length>0:!1})});return e},Hte=fe([Ye],({sdxl:e,hotkeys:t})=>{const{refinerAestheticScore:n}=e,{shift:r}=t;return{refinerAestheticScore:n,shift:r}},Ge),Wte=()=>{const{refinerAestheticScore:e,shift:t}=z(Hte),n=Kc(),r=te(),o=f.useCallback(a=>r(Ov(a)),[r]),s=f.useCallback(()=>r(Ov(6)),[r]);return i.jsx(_t,{label:"Aesthetic Score",step:t?.1:.5,min:1,max:10,onChange:o,handleReset:s,value:e,sliderNumberInputProps:{max:10},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!n})},Vte=f.memo(Wte),tm=/^-?(0\.)?\.?$/,Ute=e=>{const{label:t,isDisabled:n=!1,showStepper:r=!0,isInvalid:o,value:s,onChange:a,min:c,max:d,isInteger:p=!0,formControlProps:h,formLabelProps:m,numberInputFieldProps:v,numberInputStepperProps:b,tooltipProps:w,...y}=e,S=te(),[_,k]=f.useState(String(s));f.useEffect(()=>{!_.match(tm)&&s!==Number(_)&&k(String(s))},[s,_]);const j=R=>{k(R),R.match(tm)||a(p?Math.floor(Number(R)):Number(R))},I=R=>{const M=Es(p?Math.floor(Number(R.target.value)):Number(R.target.value),c,d);k(String(M)),a(M)},E=f.useCallback(R=>{R.shiftKey&&S(jo(!0))},[S]),O=f.useCallback(R=>{R.shiftKey||S(jo(!1))},[S]);return i.jsx(wn,{...w,children:i.jsxs(go,{isDisabled:n,isInvalid:o,...h,children:[t&&i.jsx(Lo,{...m,children:t}),i.jsxs(ym,{value:_,min:c,max:d,keepWithinRange:!0,clampValueOnBlur:!1,onChange:j,onBlur:I,...y,onPaste:Zy,children:[i.jsx(wm,{...v,onKeyDown:E,onKeyUp:O}),r&&i.jsxs(xm,{children:[i.jsx(Cm,{...b}),i.jsx(Sm,{...b})]})]})]})})},Xc=f.memo(Ute),Gte=fe([Ye],({sdxl:e,ui:t,hotkeys:n})=>{const{refinerCFGScale:r}=e,{shouldUseSliders:o}=t,{shift:s}=n;return{refinerCFGScale:r,shouldUseSliders:o,shift:s}},Ge),qte=()=>{const{refinerCFGScale:e,shouldUseSliders:t,shift:n}=z(Gte),r=Kc(),o=te(),{t:s}=ye(),a=f.useCallback(d=>o(Ev(d)),[o]),c=f.useCallback(()=>o(Ev(7)),[o]);return t?i.jsx(_t,{label:s("parameters.cfgScale"),step:n?.1:.5,min:1,max:20,onChange:a,handleReset:c,value:e,sliderNumberInputProps:{max:200},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!r}):i.jsx(Xc,{label:s("parameters.cfgScale"),step:.5,min:1,max:200,onChange:a,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"},isDisabled:!r})},Kte=f.memo(qte),ag=e=>{const t=lm("models"),[n,r,o]=e.split("/"),s=WR.safeParse({base_model:n,model_name:o,model_type:r});if(!s.success){t.error({mainModelId:e,errors:s.error.format()},"Failed to parse main model id");return}return s.data};function Kd(e){const{iconMode:t=!1}=e,n=te(),{t:r}=ye(),[o,{isLoading:s}]=VR(),a=()=>{o().unwrap().then(c=>{n(On(Mn({title:`${r("modelManager.modelsSynced")}`,status:"success"})))}).catch(c=>{c&&n(On(Mn({title:`${r("modelManager.modelSyncFailed")}`,status:"error"})))})};return t?i.jsx(Le,{icon:i.jsx(EP,{}),tooltip:r("modelManager.syncModels"),"aria-label":r("modelManager.syncModels"),isLoading:s,onClick:a,size:"sm"}):i.jsx(Jt,{isLoading:s,onClick:a,minW:"max-content",children:"Sync Models"})}const Xte=fe(Ye,e=>({model:e.sdxl.refinerModel}),Ge),Yte=()=>{const e=te(),t=ir("syncModels").isFeatureEnabled,{model:n}=z(Xte),{data:r,isLoading:o}=na(sb),s=f.useMemo(()=>{if(!r)return[];const d=[];return so(r.entities,(p,h)=>{p&&d.push({value:h,label:p.model_name,group:Qn[p.base_model]})}),d},[r]),a=f.useMemo(()=>(r==null?void 0:r.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])??null,[r==null?void 0:r.entities,n]),c=f.useCallback(d=>{if(!d)return;const p=ag(d);p&&e(B_(p))},[e]);return o?i.jsx(ar,{label:"Refiner Model",placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(F,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(ar,{tooltip:a==null?void 0:a.description,label:"Refiner Model",value:a==null?void 0:a.id,placeholder:s.length>0?"Select a model":"No models available",data:s,error:s.length===0,disabled:s.length===0,onChange:c,w:"100%"}),t&&i.jsx(Ee,{mt:7,children:i.jsx(Kd,{iconMode:!0})})]})},Qte=f.memo(Yte),Jte=fe(Ye,({ui:e,sdxl:t})=>{const{refinerScheduler:n}=t,{favoriteSchedulers:r}=e,o=cs(ob,(s,a)=>({value:a,label:s,group:r.includes(a)?"Favorites":void 0})).sort((s,a)=>s.label.localeCompare(a.label));return{refinerScheduler:n,data:o}},Ge),Zte=()=>{const e=te(),{t}=ye(),{refinerScheduler:n,data:r}=z(Jte),o=Kc(),s=f.useCallback(a=>{a&&e(F_(a))},[e]);return i.jsx(ar,{w:"100%",label:t("parameters.scheduler"),value:n,data:r,onChange:s,disabled:!o})},ene=f.memo(Zte),tne=fe([Ye],({sdxl:e})=>{const{refinerStart:t}=e;return{refinerStart:t}},Ge),nne=()=>{const{refinerStart:e}=z(tne),t=te(),n=Kc(),r=f.useCallback(s=>t(Rv(s)),[t]),o=f.useCallback(()=>t(Rv(.7)),[t]);return i.jsx(_t,{label:"Refiner Start",step:.01,min:0,max:1,onChange:r,handleReset:o,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!n})},rne=f.memo(nne),one=fe([Ye],({sdxl:e,ui:t})=>{const{refinerSteps:n}=e,{shouldUseSliders:r}=t;return{refinerSteps:n,shouldUseSliders:r}},Ge),sne=()=>{const{refinerSteps:e,shouldUseSliders:t}=z(one),n=Kc(),r=te(),{t:o}=ye(),s=f.useCallback(c=>{r(Iv(c))},[r]),a=f.useCallback(()=>{r(Iv(20))},[r]);return t?i.jsx(_t,{label:o("parameters.steps"),min:1,max:100,step:1,onChange:s,handleReset:a,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:500},isDisabled:!n}):i.jsx(Xc,{label:o("parameters.steps"),min:1,max:500,step:1,onChange:s,value:e,numberInputFieldProps:{textAlign:"center"},isDisabled:!n})},ane=f.memo(sne);function ine(){const e=z(o=>o.sdxl.shouldUseSDXLRefiner),t=Kc(),n=te(),r=o=>{n(UR(o.target.checked))};return i.jsx(Er,{label:"Use Refiner",isChecked:e,onChange:r,isDisabled:!t})}const lne=fe(Ye,e=>{const{shouldUseSDXLRefiner:t}=e.sdxl,{shouldUseSliders:n}=e.ui;return{activeLabel:t?"Enabled":void 0,shouldUseSliders:n}},Ge),DO=()=>{const{activeLabel:e,shouldUseSliders:t}=z(lne);return i.jsx(Ro,{label:"Refiner",activeLabel:e,children:i.jsxs(F,{sx:{gap:2,flexDir:"column"},children:[i.jsx(ine,{}),i.jsx(Qte,{}),i.jsxs(F,{gap:2,flexDirection:t?"column":"row",children:[i.jsx(ane,{}),i.jsx(Kte,{})]}),i.jsx(ene,{}),i.jsx(Vte,{}),i.jsx(rne,{})]})})},cne=fe([Ye],({generation:e,config:t,ui:n,hotkeys:r})=>{const{initial:o,min:s,sliderMax:a,inputMax:c}=t.sd.guidance,{cfgScale:d}=e,{shouldUseSliders:p}=n,{shift:h}=r;return{cfgScale:d,initial:o,min:s,sliderMax:a,inputMax:c,shouldUseSliders:p,shift:h}},Ge),une=()=>{const{cfgScale:e,initial:t,min:n,sliderMax:r,inputMax:o,shouldUseSliders:s,shift:a}=z(cne),c=te(),{t:d}=ye(),p=f.useCallback(m=>c(zp(m)),[c]),h=f.useCallback(()=>c(zp(t)),[c,t]);return s?i.jsx(_t,{label:d("parameters.cfgScale"),step:a?.1:.5,min:n,max:r,onChange:p,handleReset:h,value:e,sliderNumberInputProps:{max:o},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1}):i.jsx(Xc,{label:d("parameters.cfgScale"),step:.5,min:n,max:o,onChange:p,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"}})},xi=f.memo(une),dne=fe([Ye],e=>{const{initial:t,min:n,sliderMax:r,inputMax:o,fineStep:s,coarseStep:a}=e.config.sd.iterations,{iterations:c}=e.generation,{shouldUseSliders:d}=e.ui,p=e.dynamicPrompts.isEnabled&&e.dynamicPrompts.combinatorial,h=e.hotkeys.shift?s:a;return{iterations:c,initial:t,min:n,sliderMax:r,inputMax:o,step:h,shouldUseSliders:d,isDisabled:p}},Ge),fne=()=>{const{iterations:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:a,isDisabled:c}=z(dne),d=te(),{t:p}=ye(),h=f.useCallback(v=>{d(rw(v))},[d]),m=f.useCallback(()=>{d(rw(t))},[d,t]);return a?i.jsx(_t,{isDisabled:c,label:p("parameters.images"),step:s,min:n,max:r,onChange:h,handleReset:m,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):i.jsx(Xc,{isDisabled:c,label:p("parameters.images"),step:s,min:n,max:o,onChange:h,value:e,numberInputFieldProps:{textAlign:"center"}})},wi=f.memo(fne),pne=fe(Ye,e=>({model:e.generation.model}),Ge),hne=()=>{const e=te(),{t}=ye(),{model:n}=z(pne),r=ir("syncModels").isFeatureEnabled,{data:o,isLoading:s}=na(Yu),{data:a,isLoading:c}=Fp(Yu),d=z(Kn),p=f.useMemo(()=>{if(!o)return[];const v=[];return so(o.entities,(b,w)=>{!b||d==="unifiedCanvas"&&b.base_model==="sdxl"||v.push({value:w,label:b.model_name,group:Qn[b.base_model]})}),so(a==null?void 0:a.entities,(b,w)=>{!b||d==="unifiedCanvas"||d==="img2img"||v.push({value:w,label:b.model_name,group:Qn[b.base_model]})}),v},[o,a,d]),h=f.useMemo(()=>((o==null?void 0:o.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])||(a==null?void 0:a.entities[`${n==null?void 0:n.base_model}/onnx/${n==null?void 0:n.model_name}`]))??null,[o==null?void 0:o.entities,n,a==null?void 0:a.entities]),m=f.useCallback(v=>{if(!v)return;const b=ag(v);b&&e(Pv(b))},[e]);return s||c?i.jsx(ar,{label:t("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(F,{w:"100%",alignItems:"center",gap:3,children:[i.jsx(ar,{tooltip:h==null?void 0:h.description,label:t("modelManager.model"),value:h==null?void 0:h.id,placeholder:p.length>0?"Select a model":"No models available",data:p,error:p.length===0,disabled:p.length===0,onChange:m,w:"100%"}),r&&i.jsx(Ee,{mt:7,children:i.jsx(Kd,{iconMode:!0})})]})},mne=f.memo(hne),AO=e=>{const t=lm("models"),[n,r,o]=e.split("/"),s=GR.safeParse({base_model:n,model_name:o});if(!s.success){t.error({vaeModelId:e,errors:s.error.format()},"Failed to parse VAE model id");return}return s.data},gne=fe(Ye,({generation:e})=>{const{model:t,vae:n}=e;return{model:t,vae:n}},Ge),vne=()=>{const e=te(),{t}=ye(),{model:n,vae:r}=z(gne),{data:o}=X_(),s=f.useMemo(()=>{if(!o)return[];const d=[{value:"default",label:"Default",group:"Default"}];return so(o.entities,(p,h)=>{if(!p)return;const m=(n==null?void 0:n.base_model)!==p.base_model;d.push({value:h,label:p.model_name,group:Qn[p.base_model],disabled:m,tooltip:m?`Incompatible base model: ${p.base_model}`:void 0})}),d.sort((p,h)=>p.disabled&&!h.disabled?1:-1)},[o,n==null?void 0:n.base_model]),a=f.useMemo(()=>(o==null?void 0:o.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[o==null?void 0:o.entities,r]),c=f.useCallback(d=>{if(!d||d==="default"){e(ow(null));return}const p=AO(d);p&&e(ow(p))},[e]);return i.jsx(ar,{itemComponent:Ri,tooltip:a==null?void 0:a.description,label:t("modelManager.vae"),value:(a==null?void 0:a.id)??"default",placeholder:"Default",data:s,onChange:c,disabled:s.length===0,clearable:!0})},bne=f.memo(vne),Di=e=>e.generation,yne=fe([La,Di],(e,t)=>{const{scheduler:n}=t,{favoriteSchedulers:r}=e,o=cs(ob,(s,a)=>({value:a,label:s,group:r.includes(a)?"Favorites":void 0})).sort((s,a)=>s.label.localeCompare(a.label));return{scheduler:n,data:o}},Ge),xne=()=>{const e=te(),{t}=ye(),{scheduler:n,data:r}=z(yne),o=f.useCallback(s=>{s&&e(jv(s))},[e]);return i.jsx(ar,{label:t("parameters.scheduler"),value:n,data:r,onChange:o})},wne=f.memo(xne),Sne=fe(Ye,({generation:e})=>{const{vaePrecision:t}=e;return{vaePrecision:t}},Ge),Cne=["fp16","fp32"],kne=()=>{const e=te(),{vaePrecision:t}=z(Sne),n=f.useCallback(r=>{r&&e(qR(r))},[e]);return i.jsx(Xr,{label:"VAE Precision",value:t,data:Cne,onChange:n})},_ne=f.memo(kne),Pne=()=>{const e=ir("vae").isFeatureEnabled;return i.jsxs(F,{gap:3,w:"full",flexWrap:e?"wrap":"nowrap",children:[i.jsx(Ee,{w:"full",children:i.jsx(mne,{})}),i.jsx(Ee,{w:"full",children:i.jsx(wne,{})}),e&&i.jsxs(F,{w:"full",gap:3,children:[i.jsx(bne,{}),i.jsx(_ne,{})]})]})},Si=f.memo(Pne),jne=[{name:"Free",value:null},{name:"2:3",value:2/3},{name:"16:9",value:16/9},{name:"1:1",value:1/1}];function TO(){const e=z(o=>o.generation.aspectRatio),t=te(),n=z(o=>o.generation.shouldFitToWidthHeight),r=z(Kn);return i.jsx(F,{gap:2,flexGrow:1,children:i.jsx(rr,{isAttached:!0,children:jne.map(o=>i.jsx(Jt,{size:"sm",isChecked:e===o.value,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(KR(o.value)),children:o.name},o.name))})})}const Ine=fe([Ye],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.height,{height:p}=e,{aspectRatio:h}=e,m=t.shift?c:d;return{height:p,initial:r,min:o,sliderMax:s,inputMax:a,step:m,aspectRatio:h}},Ge),Ene=e=>{const{height:t,initial:n,min:r,sliderMax:o,inputMax:s,step:a,aspectRatio:c}=z(Ine),d=te(),{t:p}=ye(),h=f.useCallback(v=>{if(d(vc(v)),c){const b=Ss(v*c,8);d(gc(b))}},[d,c]),m=f.useCallback(()=>{if(d(vc(n)),c){const v=Ss(n*c,8);d(gc(v))}},[d,n,c]);return i.jsx(_t,{label:p("parameters.height"),value:t,min:r,step:a,max:o,onChange:h,handleReset:m,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},One=f.memo(Ene),Rne=fe([Ye],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.width,{width:p,aspectRatio:h}=e,m=t.shift?c:d;return{width:p,initial:r,min:o,sliderMax:s,inputMax:a,step:m,aspectRatio:h}},Ge),Mne=e=>{const{width:t,initial:n,min:r,sliderMax:o,inputMax:s,step:a,aspectRatio:c}=z(Rne),d=te(),{t:p}=ye(),h=f.useCallback(v=>{if(d(gc(v)),c){const b=Ss(v/c,8);d(vc(b))}},[d,c]),m=f.useCallback(()=>{if(d(gc(n)),c){const v=Ss(n/c,8);d(vc(v))}},[d,n,c]);return i.jsx(_t,{label:p("parameters.width"),value:t,min:r,step:a,max:o,onChange:h,handleReset:m,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},Dne=f.memo(Mne);function Oc(){const{t:e}=ye(),t=te(),n=z(o=>o.generation.shouldFitToWidthHeight),r=z(Kn);return i.jsxs(F,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[i.jsxs(F,{alignItems:"center",gap:2,children:[i.jsx(qe,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:e("parameters.aspectRatio")}),i.jsx(hl,{}),i.jsx(TO,{}),i.jsx(Le,{tooltip:e("ui.swapSizes"),"aria-label":e("ui.swapSizes"),size:"sm",icon:i.jsx(pO,{}),fontSize:20,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(XR())})]}),i.jsx(F,{gap:2,alignItems:"center",children:i.jsxs(F,{gap:2,flexDirection:"column",width:"full",children:[i.jsx(Dne,{isDisabled:r==="img2img"?!n:!1}),i.jsx(One,{isDisabled:r==="img2img"?!n:!1})]})})]})}const Ane=fe([Ye],({generation:e,config:t,ui:n,hotkeys:r})=>{const{initial:o,min:s,sliderMax:a,inputMax:c,fineStep:d,coarseStep:p}=t.sd.steps,{steps:h}=e,{shouldUseSliders:m}=n,v=r.shift?d:p;return{steps:h,initial:o,min:s,sliderMax:a,inputMax:c,step:v,shouldUseSliders:m}},Ge),Tne=()=>{const{steps:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:a}=z(Ane),c=te(),{t:d}=ye(),p=f.useCallback(v=>{c(Lp(v))},[c]),h=f.useCallback(()=>{c(Lp(t))},[c,t]),m=f.useCallback(()=>{c(bd())},[c]);return a?i.jsx(_t,{label:d("parameters.steps"),min:n,max:r,step:s,onChange:p,handleReset:h,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):i.jsx(Xc,{label:d("parameters.steps"),min:n,max:o,step:s,onChange:p,value:e,numberInputFieldProps:{textAlign:"center"},onBlur:m})},Ci=f.memo(Tne);function NO(){const e=te(),t=z(o=>o.generation.shouldFitToWidthHeight),n=o=>e(YR(o.target.checked)),{t:r}=ye();return i.jsx(Er,{label:r("parameters.imageFit"),isChecked:t,onChange:n})}function Nne(){const e=z(a=>a.generation.seed),t=z(a=>a.generation.shouldRandomizeSeed),n=z(a=>a.generation.shouldGenerateVariations),{t:r}=ye(),o=te(),s=a=>o($p(a));return i.jsx(Xc,{label:r("parameters.seed"),step:1,precision:0,flexGrow:1,min:Y_,max:Q_,isDisabled:t,isInvalid:e<0&&n,onChange:s,value:e})}const $ne=(e,t)=>Math.floor(Math.random()*(t-e+1)+e);function zne(){const e=te(),t=z(o=>o.generation.shouldRandomizeSeed),{t:n}=ye(),r=()=>e($p($ne(Y_,Q_)));return i.jsx(Le,{size:"sm",isDisabled:t,"aria-label":n("parameters.shuffle"),tooltip:n("parameters.shuffle"),onClick:r,icon:i.jsx(CW,{})})}const Lne=()=>{const e=te(),{t}=ye(),n=z(o=>o.generation.shouldRandomizeSeed),r=o=>e(QR(o.target.checked));return i.jsx(Er,{label:t("common.random"),isChecked:n,onChange:r})},Bne=f.memo(Lne),Fne=()=>i.jsxs(F,{sx:{gap:3,alignItems:"flex-end"},children:[i.jsx(Nne,{}),i.jsx(zne,{}),i.jsx(Bne,{})]}),ki=f.memo(Fne),Hne=fe([Ye],({sdxl:e})=>{const{sdxlImg2ImgDenoisingStrength:t}=e;return{sdxlImg2ImgDenoisingStrength:t}},Ge),Wne=()=>{const{sdxlImg2ImgDenoisingStrength:e}=z(Hne),t=te(),{t:n}=ye(),r=f.useCallback(s=>t(sw(s)),[t]),o=f.useCallback(()=>{t(sw(.7))},[t]);return i.jsx(_t,{label:`${n("parameters.denoisingStrength")}`,step:.01,min:0,max:1,onChange:r,handleReset:o,value:e,isInteger:!1,withInput:!0,withSliderMarks:!0,withReset:!0})},Vne=f.memo(Wne),Une=fe([La,Di],(e,t)=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ge),Gne=()=>{const{shouldUseSliders:e,activeLabel:t}=z(Une);return i.jsx(Ro,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(F,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Ee,{pt:2,children:i.jsx(ki,{})}),i.jsx(Oc,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(F,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Ee,{pt:2,children:i.jsx(ki,{})}),i.jsx(Oc,{})]}),i.jsx(Vne,{}),i.jsx(NO,{})]})})},qne=f.memo(Gne),$O=()=>i.jsxs(i.Fragment,{children:[i.jsx(MO,{}),i.jsx(qd,{}),i.jsx(qne,{}),i.jsx(DO,{}),i.jsx(Ud,{}),i.jsx(tg,{})]}),zO=e=>{const{sx:t}=e,n=te(),r=z(a=>a.ui.shouldPinParametersPanel),{t:o}=ye(),s=()=>{n(JR(!r)),n(ko())};return i.jsx(Le,{...e,tooltip:o("common.pinOptionsPanel"),"aria-label":o("common.pinOptionsPanel"),onClick:s,icon:r?i.jsx(mj,{}):i.jsx(gj,{}),variant:"ghost",size:"sm",sx:{color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}},...t}})},Kne=fe(La,e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=e;return{shouldPinParametersPanel:t,shouldShowParametersPanel:n}}),Xne=e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=z(Kne);return t&&n?i.jsxs(Ee,{sx:{position:"relative",h:"full",w:ex,flexShrink:0},children:[i.jsx(F,{sx:{gap:2,flexDirection:"column",h:"full",w:"full",position:"absolute",overflowY:"auto"},children:e.children}),i.jsx(zO,{sx:{position:"absolute",top:0,insetInlineEnd:0}})]}):null},tx=f.memo(Xne),Yne=e=>{const{direction:t="horizontal",...n}=e,{colorMode:r}=Ds();return t==="horizontal"?i.jsx($1,{children:i.jsx(F,{sx:{w:6,h:"full",justifyContent:"center",alignItems:"center"},...n,children:i.jsx(Ee,{sx:{w:.5,h:"calc(100% - 4px)",bg:Fe("base.100","base.850")(r)}})})}):i.jsx($1,{children:i.jsx(F,{sx:{w:"full",h:6,justifyContent:"center",alignItems:"center"},...n,children:i.jsx(Ee,{sx:{w:"calc(100% - 4px)",h:.5,bg:Fe("base.100","base.850")(r)}})})})},LO=f.memo(Yne),Qne=fe([Ye],({system:e})=>{const{isProcessing:t,isConnected:n}=e;return n&&!t}),Jne=e=>{const{onClick:t,isDisabled:n}=e,{t:r}=ye(),o=z(Qne);return i.jsx(Le,{onClick:t,icon:i.jsx(us,{}),tooltip:`${r("gallery.deleteImage")} (Del)`,"aria-label":`${r("gallery.deleteImage")} (Del)`,isDisabled:n||!o,colorScheme:"error"})},Zne=[{label:"RealESRGAN x2 Plus",value:"RealESRGAN_x2plus.pth",tooltip:"Attempts to retain sharpness, low smoothing",group:"x2 Upscalers"},{label:"RealESRGAN x4 Plus",value:"RealESRGAN_x4plus.pth",tooltip:"Best for photos and highly detailed images, medium smoothing",group:"x4 Upscalers"},{label:"RealESRGAN x4 Plus (anime 6B)",value:"RealESRGAN_x4plus_anime_6B.pth",tooltip:"Best for anime/manga, high smoothing",group:"x4 Upscalers"},{label:"ESRGAN SRx4",value:"ESRGAN_SRx4_DF2KOST_official-ff704c30.pth",tooltip:"Retains sharpness, low smoothing",group:"x4 Upscalers"}];function ere(){const e=z(r=>r.postprocessing.esrganModelName),t=te(),n=r=>t(ZR(r));return i.jsx(Xr,{label:"ESRGAN Model",value:e,itemComponent:Ri,onChange:n,data:Zne})}const tre=e=>{const{imageDTO:t}=e,n=te(),r=z(Cr),{t:o}=ye(),{isOpen:s,onOpen:a,onClose:c}=ss(),d=f.useCallback(()=>{c(),t&&n(J_({image_name:t.image_name}))},[n,t,c]);return i.jsx(vl,{isOpen:s,onClose:c,triggerComponent:i.jsx(Le,{onClick:a,icon:i.jsx(lW,{}),"aria-label":o("parameters.upscale")}),children:i.jsxs(F,{sx:{flexDirection:"column",gap:4},children:[i.jsx(ere,{}),i.jsx(Jt,{size:"sm",isDisabled:!t||r,onClick:d,children:o("parameters.upscaleImage")})]})})},nre=fe([Ye,Kn],({gallery:e,system:t,ui:n},r)=>{const{isProcessing:o,isConnected:s,shouldConfirmOnDelete:a,progressImage:c}=t,{shouldShowImageDetails:d,shouldHidePreview:p,shouldShowProgressInViewer:h}=n,m=e.selection[e.selection.length-1];return{canDeleteImage:s&&!o,shouldConfirmOnDelete:a,isProcessing:o,isConnected:s,shouldDisableToolbarButtons:!!c||!m,shouldShowImageDetails:d,activeTabName:r,shouldHidePreview:p,shouldShowProgressInViewer:h,lastSelectedImage:m}},{memoizeOptions:{resultEqualityCheck:Zt}}),rre=e=>{const t=te(),{isProcessing:n,isConnected:r,shouldDisableToolbarButtons:o,shouldShowImageDetails:s,lastSelectedImage:a,shouldShowProgressInViewer:c}=z(nre),d=ir("upscaling").isFeatureEnabled,p=Wc(),{t:h}=ye(),{recallBothPrompts:m,recallSeed:v,recallAllParameters:b}=Uy(),[w,y]=qy(a,500),{currentData:S}=os(a??oo.skipToken),{currentData:_}=tb(y.isPending()?oo.skipToken:w??oo.skipToken),k=_==null?void 0:_.metadata,j=f.useCallback(()=>{b(k)},[k,b]);rt("a",()=>{},[k,b]);const I=f.useCallback(()=>{v(k==null?void 0:k.seed)},[k==null?void 0:k.seed,v]);rt("s",I,[S]);const E=f.useCallback(()=>{m(k==null?void 0:k.positive_prompt,k==null?void 0:k.negative_prompt,k==null?void 0:k.positive_style_prompt,k==null?void 0:k.negative_style_prompt)},[k==null?void 0:k.negative_prompt,k==null?void 0:k.positive_prompt,k==null?void 0:k.positive_style_prompt,k==null?void 0:k.negative_style_prompt,m]);rt("p",E,[S]);const O=f.useCallback(()=>{t(oO()),t(Z1(S))},[t,S]);rt("shift+i",O,[S]);const R=f.useCallback(()=>{S&&t(J_({image_name:S.image_name}))},[t,S]),M=f.useCallback(()=>{S&&t(nb(S))},[t,S]);rt("Shift+U",()=>{R()},{enabled:()=>!!(d&&!o&&r&&!n)},[d,S,o,r,n]);const A=f.useCallback(()=>t(eM(!s)),[t,s]);rt("i",()=>{S?A():p({title:h("toast.metadataLoadFailed"),status:"error",duration:2500,isClosable:!0})},[S,s,p]),rt("delete",()=>{M()},[t,S]);const T=f.useCallback(()=>{t(K_(!c))},[t,c]);return i.jsx(i.Fragment,{children:i.jsxs(F,{sx:{flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},...e,children:[i.jsx(rr,{isAttached:!0,isDisabled:o,children:i.jsxs(Od,{children:[i.jsx(Rd,{as:Le,"aria-label":`${h("parameters.sendTo")}...`,tooltip:`${h("parameters.sendTo")}...`,isDisabled:!S,icon:i.jsx(jW,{})}),i.jsx(Fc,{motionProps:um,children:S&&i.jsx(sO,{imageDTO:S})})]})}),i.jsxs(rr,{isAttached:!0,isDisabled:o,children:[i.jsx(Le,{icon:i.jsx(jP,{}),tooltip:`${h("parameters.usePrompt")} (P)`,"aria-label":`${h("parameters.usePrompt")} (P)`,isDisabled:!(k!=null&&k.positive_prompt),onClick:E}),i.jsx(Le,{icon:i.jsx(IP,{}),tooltip:`${h("parameters.useSeed")} (S)`,"aria-label":`${h("parameters.useSeed")} (S)`,isDisabled:!(k!=null&&k.seed),onClick:I}),i.jsx(Le,{icon:i.jsx(vP,{}),tooltip:`${h("parameters.useAll")} (A)`,"aria-label":`${h("parameters.useAll")} (A)`,isDisabled:!k,onClick:j})]}),d&&i.jsx(rr,{isAttached:!0,isDisabled:o,children:d&&i.jsx(tre,{imageDTO:S})}),i.jsx(rr,{isAttached:!0,isDisabled:o,children:i.jsx(Le,{icon:i.jsx(ty,{}),tooltip:`${h("parameters.info")} (I)`,"aria-label":`${h("parameters.info")} (I)`,isChecked:s,onClick:A})}),i.jsx(rr,{isAttached:!0,children:i.jsx(Le,{"aria-label":h("settings.displayInProgress"),tooltip:h("settings.displayInProgress"),icon:i.jsx(hW,{}),isChecked:c,onClick:T})}),i.jsx(rr,{isAttached:!0,children:i.jsx(Jne,{onClick:M,isDisabled:o})})]})})},ore=fe([Ye,W_],(e,t)=>{var _,k;const{data:n,status:r}=tM.endpoints.listImages.select(t)(e),o=e.gallery.selection[e.gallery.selection.length-1],s=r==="pending";if(!n||!o||n.total===0)return{isFetching:s,queryArgs:t,isOnFirstImage:!0,isOnLastImage:!0};const a={...t,offset:n.ids.length,limit:U_},c=nM.getSelectors(),d=c.selectAll(n),p=d.findIndex(j=>j.image_name===o),h=Es(p+1,0,d.length-1),m=Es(p-1,0,d.length-1),v=(_=d[h])==null?void 0:_.image_name,b=(k=d[m])==null?void 0:k.image_name,w=c.selectById(n,v),y=c.selectById(n,b),S=d.length;return{isOnFirstImage:p===0,isOnLastImage:!isNaN(p)&&p===S-1,areMoreImagesAvailable:((n==null?void 0:n.total)??0)>S,isFetching:r==="pending",nextImage:w,prevImage:y,nextImageId:v,prevImageId:b,queryArgs:a}},{memoizeOptions:{resultEqualityCheck:Zt}}),BO=()=>{const e=te(),{isOnFirstImage:t,isOnLastImage:n,nextImageId:r,prevImageId:o,areMoreImagesAvailable:s,isFetching:a,queryArgs:c}=z(ore),d=f.useCallback(()=>{o&&e(Mv(o))},[e,o]),p=f.useCallback(()=>{r&&e(Mv(r))},[e,r]),[h]=V_(),m=f.useCallback(()=>{h(c)},[h,c]);return{handlePrevImage:d,handleNextImage:p,isOnFirstImage:t,isOnLastImage:n,nextImageId:r,prevImageId:o,areMoreImagesAvailable:s,handleLoadMoreImages:m,isFetching:a}};function sre(e){return et({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M245.09 327.74v-37.32c57.07 0 84.51 13.47 108.58 38.68 5.4 5.65 15 1.32 14.29-6.43-5.45-61.45-34.14-117.09-122.87-117.09v-37.32a8.32 8.32 0 00-14.05-6L146.58 242a8.2 8.2 0 000 11.94L231 333.71a8.32 8.32 0 0014.09-5.97z"}},{tag:"path",attr:{fill:"none",strokeMiterlimit:"10",strokeWidth:"32",d:"M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64z"}}]})(e)}const ys=({label:e,value:t,onClick:n,isLink:r,labelPosition:o,withCopy:s=!1})=>{const{t:a}=ye();return t?i.jsxs(F,{gap:2,children:[n&&i.jsx(wn,{label:`Recall ${e}`,children:i.jsx(Ca,{"aria-label":a("accessibility.useThisParameter"),icon:i.jsx(sre,{}),size:"xs",variant:"ghost",fontSize:20,onClick:n})}),s&&i.jsx(wn,{label:`Copy ${e}`,children:i.jsx(Ca,{"aria-label":`Copy ${e}`,icon:i.jsx(Vc,{}),size:"xs",variant:"ghost",fontSize:14,onClick:()=>navigator.clipboard.writeText(t.toString())})}),i.jsxs(F,{direction:o?"column":"row",children:[i.jsxs(qe,{fontWeight:"semibold",whiteSpace:"pre-wrap",pr:2,children:[e,":"]}),r?i.jsxs(Ob,{href:t.toString(),isExternal:!0,wordBreak:"break-all",children:[t.toString()," ",i.jsx(uj,{mx:"2px"})]}):i.jsx(qe,{overflowY:"scroll",wordBreak:"break-all",children:t.toString()})]})]}):null},are=e=>{const{metadata:t}=e,{recallPositivePrompt:n,recallNegativePrompt:r,recallSeed:o,recallCfgScale:s,recallModel:a,recallScheduler:c,recallSteps:d,recallWidth:p,recallHeight:h,recallStrength:m}=Uy(),v=f.useCallback(()=>{n(t==null?void 0:t.positive_prompt)},[t==null?void 0:t.positive_prompt,n]),b=f.useCallback(()=>{r(t==null?void 0:t.negative_prompt)},[t==null?void 0:t.negative_prompt,r]),w=f.useCallback(()=>{o(t==null?void 0:t.seed)},[t==null?void 0:t.seed,o]),y=f.useCallback(()=>{a(t==null?void 0:t.model)},[t==null?void 0:t.model,a]),S=f.useCallback(()=>{p(t==null?void 0:t.width)},[t==null?void 0:t.width,p]),_=f.useCallback(()=>{h(t==null?void 0:t.height)},[t==null?void 0:t.height,h]),k=f.useCallback(()=>{c(t==null?void 0:t.scheduler)},[t==null?void 0:t.scheduler,c]),j=f.useCallback(()=>{d(t==null?void 0:t.steps)},[t==null?void 0:t.steps,d]),I=f.useCallback(()=>{s(t==null?void 0:t.cfg_scale)},[t==null?void 0:t.cfg_scale,s]),E=f.useCallback(()=>{m(t==null?void 0:t.strength)},[t==null?void 0:t.strength,m]);return!t||Object.keys(t).length===0?null:i.jsxs(i.Fragment,{children:[t.generation_mode&&i.jsx(ys,{label:"Generation Mode",value:t.generation_mode}),t.positive_prompt&&i.jsx(ys,{label:"Positive Prompt",labelPosition:"top",value:t.positive_prompt,onClick:v}),t.negative_prompt&&i.jsx(ys,{label:"Negative Prompt",labelPosition:"top",value:t.negative_prompt,onClick:b}),t.seed!==void 0&&i.jsx(ys,{label:"Seed",value:t.seed,onClick:w}),t.model!==void 0&&i.jsx(ys,{label:"Model",value:t.model.model_name,onClick:y}),t.width&&i.jsx(ys,{label:"Width",value:t.width,onClick:S}),t.height&&i.jsx(ys,{label:"Height",value:t.height,onClick:_}),t.scheduler&&i.jsx(ys,{label:"Scheduler",value:t.scheduler,onClick:k}),t.steps&&i.jsx(ys,{label:"Steps",value:t.steps,onClick:j}),t.cfg_scale!==void 0&&i.jsx(ys,{label:"CFG scale",value:t.cfg_scale,onClick:I}),t.strength&&i.jsx(ys,{label:"Image to image strength",value:t.strength,onClick:E})]})},ire=e=>{const{copyTooltip:t,jsonObject:n}=e,r=f.useMemo(()=>JSON.stringify(n,null,2),[n]);return i.jsxs(F,{sx:{borderRadius:"base",bg:"whiteAlpha.500",_dark:{bg:"blackAlpha.500"},flexGrow:1,w:"full",h:"full",position:"relative"},children:[i.jsx(Ee,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"auto",p:4},children:i.jsx(oj,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:i.jsx("pre",{children:r})})}),i.jsx(F,{sx:{position:"absolute",top:0,insetInlineEnd:0,p:2},children:i.jsx(wn,{label:t,children:i.jsx(Ca,{"aria-label":t,icon:i.jsx(Vc,{}),variant:"ghost",onClick:()=>navigator.clipboard.writeText(r)})})})]})},lre=({image:e})=>{const[t,n]=qy(e.image_name,500),{currentData:r}=tb(n.isPending()?oo.skipToken:t??oo.skipToken),o=r==null?void 0:r.metadata,s=r==null?void 0:r.graph,a=f.useMemo(()=>{const c=[];return o&&c.push({label:"Core Metadata",data:o,copyTooltip:"Copy Core Metadata JSON"}),e&&c.push({label:"Image Details",data:e,copyTooltip:"Copy Image Details JSON"}),s&&c.push({label:"Graph",data:s,copyTooltip:"Copy Graph JSON"}),c},[o,s,e]);return i.jsxs(F,{sx:{padding:4,gap:1,flexDirection:"column",width:"full",height:"full",backdropFilter:"blur(20px)",bg:"baseAlpha.200",_dark:{bg:"blackAlpha.600"},borderRadius:"base",position:"absolute",overflow:"hidden"},children:[i.jsxs(F,{gap:2,children:[i.jsx(qe,{fontWeight:"semibold",children:"File:"}),i.jsxs(Ob,{href:e.image_url,isExternal:!0,maxW:"calc(100% - 3rem)",children:[e.image_name,i.jsx(uj,{mx:"2px"})]})]}),i.jsx(are,{metadata:o}),i.jsxs(Td,{variant:"line",sx:{display:"flex",flexDir:"column",w:"full",h:"full"},children:[i.jsx(Nd,{children:a.map(c=>i.jsx(Cc,{sx:{borderTopRadius:"base"},children:i.jsx(qe,{sx:{color:"base.700",_dark:{color:"base.300"}},children:c.label})},c.label))}),i.jsx(Mm,{sx:{w:"full",h:"full"},children:a.map(c=>i.jsx(Rm,{sx:{w:"full",h:"full",p:0,pt:4},children:i.jsx(ire,{jsonObject:c.data,copyTooltip:c.copyTooltip})},c.label))})]})]})},cre=f.memo(lre),hv={color:"base.100",pointerEvents:"auto"},ure=()=>{const{t:e}=ye(),{handlePrevImage:t,handleNextImage:n,isOnFirstImage:r,isOnLastImage:o,handleLoadMoreImages:s,areMoreImagesAvailable:a,isFetching:c}=BO();return i.jsxs(Ee,{sx:{position:"relative",height:"100%",width:"100%"},children:[i.jsx(Ee,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineStart:0},children:!r&&i.jsx(Ca,{"aria-label":e("accessibility.previousImage"),icon:i.jsx(QH,{size:64}),variant:"unstyled",onClick:t,boxSize:16,sx:hv})}),i.jsxs(Ee,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineEnd:0},children:[!o&&i.jsx(Ca,{"aria-label":e("accessibility.nextImage"),icon:i.jsx(JH,{size:64}),variant:"unstyled",onClick:n,boxSize:16,sx:hv}),o&&a&&!c&&i.jsx(Ca,{"aria-label":e("accessibility.loadMore"),icon:i.jsx(YH,{size:64}),variant:"unstyled",onClick:s,boxSize:16,sx:hv}),o&&a&&c&&i.jsx(F,{sx:{w:16,h:16,alignItems:"center",justifyContent:"center"},children:i.jsx(pl,{opacity:.5,size:"xl"})})]})]})},dre=f.memo(ure),fre=fe([Ye,rM],({ui:e,system:t},n)=>{const{shouldShowImageDetails:r,shouldHidePreview:o,shouldShowProgressInViewer:s}=e,{progressImage:a,shouldAntialiasProgressImage:c}=t;return{shouldShowImageDetails:r,shouldHidePreview:o,imageName:n,progressImage:a,shouldShowProgressInViewer:s,shouldAntialiasProgressImage:c}},{memoizeOptions:{resultEqualityCheck:Zt}}),pre=()=>{const{shouldShowImageDetails:e,imageName:t,progressImage:n,shouldShowProgressInViewer:r,shouldAntialiasProgressImage:o}=z(fre),{handlePrevImage:s,handleNextImage:a,prevImageId:c,nextImageId:d,isOnLastImage:p,handleLoadMoreImages:h,areMoreImagesAvailable:m,isFetching:v}=BO();rt("left",()=>{s()},[c]),rt("right",()=>{if(p&&m&&!v){h();return}p||a()},[d,p,m,h,v]);const{currentData:b}=os(t??oo.skipToken),w=f.useMemo(()=>{if(b)return{id:"current-image",payloadType:"IMAGE_DTO",payload:{imageDTO:b}}},[b]),y=f.useMemo(()=>({id:"current-image",actionType:"SET_CURRENT_IMAGE"}),[]),[S,_]=f.useState(!1),k=f.useRef(0),j=f.useCallback(()=>{_(!0),window.clearTimeout(k.current)},[]),I=f.useCallback(()=>{k.current=window.setTimeout(()=>{_(!1)},500)},[]);return i.jsxs(F,{onMouseOver:j,onMouseOut:I,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative"},children:[n&&r?i.jsx(Nc,{src:n.dataURL,width:n.width,height:n.height,draggable:!1,sx:{objectFit:"contain",maxWidth:"full",maxHeight:"full",height:"auto",position:"absolute",borderRadius:"base",imageRendering:o?"auto":"pixelated"}}):i.jsx(yi,{imageDTO:b,droppableData:y,draggableData:w,isUploadDisabled:!0,fitContainer:!0,useThumbailFallback:!0,dropLabel:"Set as Current Image",noContentFallback:i.jsx(mi,{icon:ll,label:"No image selected"})}),e&&b&&i.jsx(Ee,{sx:{position:"absolute",top:"0",width:"full",height:"full",borderRadius:"base"},children:i.jsx(cre,{image:b})}),i.jsx(mo,{children:!e&&b&&S&&i.jsx(Ir.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},style:{position:"absolute",top:"0",width:"100%",height:"100%",pointerEvents:"none"},children:i.jsx(dre,{})},"nextPrevButtons")})]})},hre=f.memo(pre),mre=()=>i.jsxs(F,{sx:{position:"relative",flexDirection:"column",height:"100%",width:"100%",rowGap:4,alignItems:"center",justifyContent:"center"},children:[i.jsx(rre,{}),i.jsx(hre,{})]}),FO=()=>i.jsx(Ee,{layerStyle:"first",sx:{position:"relative",width:"100%",height:"100%",p:4,borderRadius:"base"},children:i.jsx(F,{sx:{width:"100%",height:"100%"},children:i.jsx(mre,{})})}),gre=e=>{const t=te(),{lora:n}=e,r=f.useCallback(a=>{t(oM({id:n.id,weight:a}))},[t,n.id]),o=f.useCallback(()=>{t(sM(n.id))},[t,n.id]),s=f.useCallback(()=>{t(aM(n.id))},[t,n.id]);return i.jsxs(F,{sx:{gap:2.5,alignItems:"flex-end"},children:[i.jsx(_t,{label:n.model_name,value:n.weight,onChange:r,min:-1,max:2,step:.01,withInput:!0,withReset:!0,handleReset:o,withSliderMarks:!0,sliderMarks:[-1,0,1,2],sliderNumberInputProps:{min:-50,max:50}}),i.jsx(Le,{size:"sm",onClick:s,tooltip:"Remove LoRA","aria-label":"Remove LoRA",icon:i.jsx(us,{}),colorScheme:"error"})]})},vre=f.memo(gre),bre=fe(Ye,({lora:e})=>{const{loras:t}=e;return{loras:t}},Ge),yre=()=>{const{loras:e}=z(bre);return i.jsx(i.Fragment,{children:cs(e,t=>i.jsx(vre,{lora:t},t.model_name))})},xre=fe(Ye,({lora:e})=>({loras:e.loras}),Ge),wre=()=>{const e=te(),{loras:t}=z(xre),{data:n}=cm(),r=z(a=>a.generation.model),o=f.useMemo(()=>{if(!n)return[];const a=[];return so(n.entities,(c,d)=>{if(!c||d in t)return;const p=(r==null?void 0:r.base_model)!==c.base_model;a.push({value:d,label:c.model_name,disabled:p,group:Qn[c.base_model],tooltip:p?`Incompatible base model: ${c.base_model}`:void 0})}),a.sort((c,d)=>{var p;return c.label&&d.label&&(p=c.label)!=null&&p.localeCompare(d.label)?1:-1}),a.sort((c,d)=>c.disabled&&!d.disabled?-1:1)},[t,n,r==null?void 0:r.base_model]),s=f.useCallback(a=>{if(!a)return;const c=n==null?void 0:n.entities[a];c&&e(iM(c))},[e,n==null?void 0:n.entities]);return(n==null?void 0:n.ids.length)===0?i.jsx(F,{sx:{justifyContent:"center",p:2},children:i.jsx(qe,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):i.jsx(ar,{placeholder:o.length===0?"All LoRAs added":"Add LoRA",value:null,data:o,nothingFound:"No matching LoRAs",itemComponent:Ri,disabled:o.length===0,filter:(a,c)=>{var d;return((d=c.label)==null?void 0:d.toLowerCase().includes(a.toLowerCase().trim()))||c.value.toLowerCase().includes(a.toLowerCase().trim())},onChange:s})},Sre=fe(Ye,e=>{const t=Z_(e.lora.loras);return{activeLabel:t>0?`${t} Active`:void 0}},Ge),Cre=()=>{const{activeLabel:e}=z(Sre);return ir("lora").isFeatureEnabled?i.jsx(Ro,{label:"LoRA",activeLabel:e,children:i.jsxs(F,{sx:{flexDir:"column",gap:2},children:[i.jsx(wre,{}),i.jsx(yre,{})]})}):null},nx=f.memo(Cre);function kre(){const e=z(d=>d.generation.clipSkip),{model:t}=z(d=>d.generation),n=te(),{t:r}=ye(),o=f.useCallback(d=>{n(aw(d))},[n]),s=f.useCallback(()=>{n(aw(0))},[n]),a=f.useMemo(()=>t?Nf[t.base_model].maxClip:Nf["sd-1"].maxClip,[t]),c=f.useMemo(()=>t?Nf[t.base_model].markers:Nf["sd-1"].markers,[t]);return i.jsx(_t,{label:r("parameters.clipSkip"),"aria-label":r("parameters.clipSkip"),min:0,max:a,step:1,value:e,onChange:o,withSliderMarks:!0,sliderMarks:c,withInput:!0,withReset:!0,handleReset:s})}const _re=fe(Ye,e=>({activeLabel:e.generation.clipSkip>0?"Clip Skip":void 0}),Ge);function rx(){const{activeLabel:e}=z(_re);return z(n=>n.generation.shouldShowAdvancedOptions)?i.jsx(Ro,{label:"Advanced",activeLabel:e,children:i.jsx(F,{sx:{flexDir:"column",gap:2},children:i.jsx(kre,{})})}):null}const HO=e=>{const t=lm("models"),[n,r,o]=e.split("/"),s=lM.safeParse({base_model:n,model_name:o});if(!s.success){t.error({controlNetModelId:e,errors:s.error.format()},"Failed to parse ControlNet model id");return}return s.data},Pre=e=>{const{controlNetId:t}=e,n=te(),r=z(Cr),o=f.useMemo(()=>fe(Ye,({generation:v,controlNet:b})=>{var _,k;const{model:w}=v,y=(_=b.controlNets[t])==null?void 0:_.model,S=(k=b.controlNets[t])==null?void 0:k.isEnabled;return{mainModel:w,controlNetModel:y,isEnabled:S}},Ge),[t]),{mainModel:s,controlNetModel:a,isEnabled:c}=z(o),{data:d}=ab(),p=f.useMemo(()=>{if(!d)return[];const v=[];return so(d.entities,(b,w)=>{if(!b)return;const y=(b==null?void 0:b.base_model)!==(s==null?void 0:s.base_model);v.push({value:w,label:b.model_name,group:Qn[b.base_model],disabled:y,tooltip:y?`Incompatible base model: ${b.base_model}`:void 0})}),v},[d,s==null?void 0:s.base_model]),h=f.useMemo(()=>(d==null?void 0:d.entities[`${a==null?void 0:a.base_model}/controlnet/${a==null?void 0:a.model_name}`])??null,[a==null?void 0:a.base_model,a==null?void 0:a.model_name,d==null?void 0:d.entities]),m=f.useCallback(v=>{if(!v)return;const b=HO(v);b&&n(e5({controlNetId:t,model:b}))},[t,n]);return i.jsx(ar,{itemComponent:Ri,data:p,error:!h||(s==null?void 0:s.base_model)!==h.base_model,placeholder:"Select a model",value:(h==null?void 0:h.id)??null,onChange:m,disabled:r||!c,tooltip:h==null?void 0:h.description})},jre=f.memo(Pre),Ire=e=>{const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:c})=>{const{weight:d,isEnabled:p}=c.controlNets[t];return{weight:d,isEnabled:p}},Ge),[t]),{weight:o,isEnabled:s}=z(r),a=f.useCallback(c=>{n(cM({controlNetId:t,weight:c}))},[t,n]);return i.jsx(_t,{isDisabled:!s,label:"Weight",value:o,onChange:a,min:0,max:2,step:.01,withSliderMarks:!0,sliderMarks:[0,1,2]})},Ere=f.memo(Ire),Ore=e=>{const{height:t,controlNetId:n}=e,r=te(),o=f.useMemo(()=>fe(Ye,({controlNet:E})=>{const{pendingControlImages:O}=E,{controlImage:R,processedControlImage:M,processorType:A,isEnabled:T}=E.controlNets[n];return{controlImageName:R,processedControlImageName:M,processorType:A,isEnabled:T,pendingControlImages:O}},Ge),[n]),{controlImageName:s,processedControlImageName:a,processorType:c,pendingControlImages:d,isEnabled:p}=z(o),[h,m]=f.useState(!1),{currentData:v}=os(s??oo.skipToken),{currentData:b}=os(a??oo.skipToken),w=f.useCallback(()=>{r(uM({controlNetId:n,controlImage:null}))},[n,r]),y=f.useCallback(()=>{m(!0)},[]),S=f.useCallback(()=>{m(!1)},[]),_=f.useMemo(()=>{if(v)return{id:n,payloadType:"IMAGE_DTO",payload:{imageDTO:v}}},[v,n]),k=f.useMemo(()=>({id:n,actionType:"SET_CONTROLNET_IMAGE",context:{controlNetId:n}}),[n]),j=f.useMemo(()=>({type:"SET_CONTROLNET_IMAGE",controlNetId:n}),[n]),I=v&&b&&!h&&!d.includes(n)&&c!=="none";return i.jsxs(F,{onMouseEnter:y,onMouseLeave:S,sx:{position:"relative",w:"full",h:t,alignItems:"center",justifyContent:"center",pointerEvents:p?"auto":"none",opacity:p?1:.5},children:[i.jsx(yi,{draggableData:_,droppableData:k,imageDTO:v,isDropDisabled:I||!p,onClickReset:w,postUploadAction:j,resetTooltip:"Reset Control Image",withResetIcon:!!v}),i.jsx(Ee,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",opacity:I?1:0,transitionProperty:"common",transitionDuration:"normal",pointerEvents:"none"},children:i.jsx(yi,{draggableData:_,droppableData:k,imageDTO:b,isUploadDisabled:!0,isDropDisabled:!p,onClickReset:w,resetTooltip:"Reset Control Image",withResetIcon:!!v})}),d.includes(n)&&i.jsx(F,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",alignItems:"center",justifyContent:"center",opacity:.8,borderRadius:"base",bg:"base.400",_dark:{bg:"base.900"}},children:i.jsx(pl,{size:"xl",sx:{color:"base.100",_dark:{color:"base.400"}}})})]})},Ek=f.memo(Ore),Ts=()=>{const e=te();return f.useCallback((n,r)=>{e(dM({controlNetId:n,changes:r}))},[e])};function Ns(e){return i.jsx(F,{sx:{flexDirection:"column",gap:2},children:e.children})}const Ok=ls.canny_image_processor.default,Rre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{low_threshold:o,high_threshold:s}=n,a=z(Cr),c=Ts(),d=f.useCallback(v=>{c(t,{low_threshold:v})},[t,c]),p=f.useCallback(()=>{c(t,{low_threshold:Ok.low_threshold})},[t,c]),h=f.useCallback(v=>{c(t,{high_threshold:v})},[t,c]),m=f.useCallback(()=>{c(t,{high_threshold:Ok.high_threshold})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{isDisabled:a||!r,label:"Low Threshold",value:o,onChange:d,handleReset:p,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0}),i.jsx(_t,{isDisabled:a||!r,label:"High Threshold",value:s,onChange:h,handleReset:m,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0})]})},Mre=f.memo(Rre),wu=ls.content_shuffle_image_processor.default,Dre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,w:a,h:c,f:d}=n,p=Ts(),h=z(Cr),m=f.useCallback(E=>{p(t,{detect_resolution:E})},[t,p]),v=f.useCallback(()=>{p(t,{detect_resolution:wu.detect_resolution})},[t,p]),b=f.useCallback(E=>{p(t,{image_resolution:E})},[t,p]),w=f.useCallback(()=>{p(t,{image_resolution:wu.image_resolution})},[t,p]),y=f.useCallback(E=>{p(t,{w:E})},[t,p]),S=f.useCallback(()=>{p(t,{w:wu.w})},[t,p]),_=f.useCallback(E=>{p(t,{h:E})},[t,p]),k=f.useCallback(()=>{p(t,{h:wu.h})},[t,p]),j=f.useCallback(E=>{p(t,{f:E})},[t,p]),I=f.useCallback(()=>{p(t,{f:wu.f})},[t,p]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:m,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:b,handleReset:w,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"W",value:a,onChange:y,handleReset:S,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"H",value:c,onChange:_,handleReset:k,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"F",value:d,onChange:j,handleReset:I,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r})]})},Are=f.memo(Dre),Rk=ls.hed_image_processor.default,Tre=e=>{const{controlNetId:t,processorNode:{detect_resolution:n,image_resolution:r,scribble:o},isEnabled:s}=e,a=z(Cr),c=Ts(),d=f.useCallback(b=>{c(t,{detect_resolution:b})},[t,c]),p=f.useCallback(b=>{c(t,{image_resolution:b})},[t,c]),h=f.useCallback(b=>{c(t,{scribble:b.target.checked})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:Rk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:Rk.image_resolution})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:n,onChange:d,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:a||!s}),i.jsx(_t,{label:"Image Resolution",value:r,onChange:p,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:a||!s}),i.jsx(Er,{label:"Scribble",isChecked:o,onChange:h,isDisabled:a||!s})]})},Nre=f.memo(Tre),Mk=ls.lineart_anime_image_processor.default,$re=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,a=Ts(),c=z(Cr),d=f.useCallback(v=>{a(t,{detect_resolution:v})},[t,a]),p=f.useCallback(v=>{a(t,{image_resolution:v})},[t,a]),h=f.useCallback(()=>{a(t,{detect_resolution:Mk.detect_resolution})},[t,a]),m=f.useCallback(()=>{a(t,{image_resolution:Mk.image_resolution})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},zre=f.memo($re),Dk=ls.lineart_image_processor.default,Lre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,coarse:a}=n,c=Ts(),d=z(Cr),p=f.useCallback(w=>{c(t,{detect_resolution:w})},[t,c]),h=f.useCallback(w=>{c(t,{image_resolution:w})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:Dk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:Dk.image_resolution})},[t,c]),b=f.useCallback(w=>{c(t,{coarse:w.target.checked})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(Er,{label:"Coarse",isChecked:a,onChange:b,isDisabled:d||!r})]})},Bre=f.memo(Lre),Ak=ls.mediapipe_face_processor.default,Fre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{max_faces:o,min_confidence:s}=n,a=Ts(),c=z(Cr),d=f.useCallback(v=>{a(t,{max_faces:v})},[t,a]),p=f.useCallback(v=>{a(t,{min_confidence:v})},[t,a]),h=f.useCallback(()=>{a(t,{max_faces:Ak.max_faces})},[t,a]),m=f.useCallback(()=>{a(t,{min_confidence:Ak.min_confidence})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Max Faces",value:o,onChange:d,handleReset:h,withReset:!0,min:1,max:20,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Min Confidence",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},Hre=f.memo(Fre),Tk=ls.midas_depth_image_processor.default,Wre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{a_mult:o,bg_th:s}=n,a=Ts(),c=z(Cr),d=f.useCallback(v=>{a(t,{a_mult:v})},[t,a]),p=f.useCallback(v=>{a(t,{bg_th:v})},[t,a]),h=f.useCallback(()=>{a(t,{a_mult:Tk.a_mult})},[t,a]),m=f.useCallback(()=>{a(t,{bg_th:Tk.bg_th})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"a_mult",value:o,onChange:d,handleReset:h,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"bg_th",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},Vre=f.memo(Wre),wp=ls.mlsd_image_processor.default,Ure=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,thr_d:a,thr_v:c}=n,d=Ts(),p=z(Cr),h=f.useCallback(k=>{d(t,{detect_resolution:k})},[t,d]),m=f.useCallback(k=>{d(t,{image_resolution:k})},[t,d]),v=f.useCallback(k=>{d(t,{thr_d:k})},[t,d]),b=f.useCallback(k=>{d(t,{thr_v:k})},[t,d]),w=f.useCallback(()=>{d(t,{detect_resolution:wp.detect_resolution})},[t,d]),y=f.useCallback(()=>{d(t,{image_resolution:wp.image_resolution})},[t,d]),S=f.useCallback(()=>{d(t,{thr_d:wp.thr_d})},[t,d]),_=f.useCallback(()=>{d(t,{thr_v:wp.thr_v})},[t,d]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:h,handleReset:w,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:m,handleReset:y,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"W",value:a,onChange:v,handleReset:S,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"H",value:c,onChange:b,handleReset:_,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r})]})},Gre=f.memo(Ure),Nk=ls.normalbae_image_processor.default,qre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,a=Ts(),c=z(Cr),d=f.useCallback(v=>{a(t,{detect_resolution:v})},[t,a]),p=f.useCallback(v=>{a(t,{image_resolution:v})},[t,a]),h=f.useCallback(()=>{a(t,{detect_resolution:Nk.detect_resolution})},[t,a]),m=f.useCallback(()=>{a(t,{image_resolution:Nk.image_resolution})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},Kre=f.memo(qre),$k=ls.openpose_image_processor.default,Xre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,hand_and_face:a}=n,c=Ts(),d=z(Cr),p=f.useCallback(w=>{c(t,{detect_resolution:w})},[t,c]),h=f.useCallback(w=>{c(t,{image_resolution:w})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:$k.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:$k.image_resolution})},[t,c]),b=f.useCallback(w=>{c(t,{hand_and_face:w.target.checked})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(Er,{label:"Hand and Face",isChecked:a,onChange:b,isDisabled:d||!r})]})},Yre=f.memo(Xre),zk=ls.pidi_image_processor.default,Qre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,scribble:a,safe:c}=n,d=Ts(),p=z(Cr),h=f.useCallback(S=>{d(t,{detect_resolution:S})},[t,d]),m=f.useCallback(S=>{d(t,{image_resolution:S})},[t,d]),v=f.useCallback(()=>{d(t,{detect_resolution:zk.detect_resolution})},[t,d]),b=f.useCallback(()=>{d(t,{image_resolution:zk.image_resolution})},[t,d]),w=f.useCallback(S=>{d(t,{scribble:S.target.checked})},[t,d]),y=f.useCallback(S=>{d(t,{safe:S.target.checked})},[t,d]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:m,handleReset:b,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(Er,{label:"Scribble",isChecked:a,onChange:w}),i.jsx(Er,{label:"Safe",isChecked:c,onChange:y,isDisabled:p||!r})]})},Jre=f.memo(Qre),Zre=e=>null,eoe=f.memo(Zre),toe=e=>{const{controlNetId:t}=e,n=f.useMemo(()=>fe(Ye,({controlNet:s})=>{const{isEnabled:a,processorNode:c}=s.controlNets[t];return{isEnabled:a,processorNode:c}},Ge),[t]),{isEnabled:r,processorNode:o}=z(n);return o.type==="canny_image_processor"?i.jsx(Mre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="hed_image_processor"?i.jsx(Nre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="lineart_image_processor"?i.jsx(Bre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="content_shuffle_image_processor"?i.jsx(Are,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="lineart_anime_image_processor"?i.jsx(zre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="mediapipe_face_processor"?i.jsx(Hre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="midas_depth_image_processor"?i.jsx(Vre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="mlsd_image_processor"?i.jsx(Gre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="normalbae_image_processor"?i.jsx(Kre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="openpose_image_processor"?i.jsx(Yre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="pidi_image_processor"?i.jsx(Jre,{controlNetId:t,processorNode:o,isEnabled:r}):o.type==="zoe_depth_image_processor"?i.jsx(eoe,{controlNetId:t,processorNode:o,isEnabled:r}):null},noe=f.memo(toe),roe=e=>{const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:d})=>{const{isEnabled:p,shouldAutoConfig:h}=d.controlNets[t];return{isEnabled:p,shouldAutoConfig:h}},Ge),[t]),{isEnabled:o,shouldAutoConfig:s}=z(r),a=z(Cr),c=f.useCallback(()=>{n(fM({controlNetId:t}))},[t,n]);return i.jsx(Er,{label:"Auto configure processor","aria-label":"Auto configure processor",isChecked:s,onChange:c,isDisabled:a||!o})},ooe=f.memo(roe),Lk=e=>`${Math.round(e*100)}%`,soe=e=>{const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:d})=>{const{beginStepPct:p,endStepPct:h,isEnabled:m}=d.controlNets[t];return{beginStepPct:p,endStepPct:h,isEnabled:m}},Ge),[t]),{beginStepPct:o,endStepPct:s,isEnabled:a}=z(r),c=f.useCallback(d=>{n(pM({controlNetId:t,beginStepPct:d[0]})),n(hM({controlNetId:t,endStepPct:d[1]}))},[t,n]);return i.jsxs(go,{isDisabled:!a,children:[i.jsx(Lo,{children:"Begin / End Step Percentage"}),i.jsx(di,{w:"100%",gap:2,alignItems:"center",children:i.jsxs(F6,{"aria-label":["Begin Step %","End Step %"],value:[o,s],onChange:c,min:0,max:1,step:.01,minStepsBetweenThumbs:5,isDisabled:!a,children:[i.jsx(H6,{children:i.jsx(W6,{})}),i.jsx(wn,{label:Lk(o),placement:"top",hasArrow:!0,children:i.jsx(o1,{index:0})}),i.jsx(wn,{label:Lk(s),placement:"top",hasArrow:!0,children:i.jsx(o1,{index:1})}),i.jsx(Op,{value:0,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},children:"0%"}),i.jsx(Op,{value:.5,sx:{insetInlineStart:"50% !important",transform:"translateX(-50%)"},children:"50%"}),i.jsx(Op,{value:1,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},children:"100%"})]})})]})},aoe=f.memo(soe),ioe=[{label:"Balanced",value:"balanced"},{label:"Prompt",value:"more_prompt"},{label:"Control",value:"more_control"},{label:"Mega Control",value:"unbalanced"}];function loe(e){const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:c})=>{const{controlMode:d,isEnabled:p}=c.controlNets[t];return{controlMode:d,isEnabled:p}},Ge),[t]),{controlMode:o,isEnabled:s}=z(r),a=f.useCallback(c=>{n(mM({controlNetId:t,controlMode:c}))},[t,n]);return i.jsx(Xr,{disabled:!s,label:"Control Mode",data:ioe,value:String(o),onChange:a})}const coe=fe(hO,e=>cs(ls,n=>({value:n.type,label:n.label})).sort((n,r)=>n.value==="none"?-1:r.value==="none"?1:n.label.localeCompare(r.label)).filter(n=>!e.sd.disabledControlNetProcessors.includes(n.value)),Ge),uoe=e=>{const t=te(),{controlNetId:n}=e,r=f.useMemo(()=>fe(Ye,({controlNet:p})=>{const{isEnabled:h,processorNode:m}=p.controlNets[n];return{isEnabled:h,processorNode:m}},Ge),[n]),o=z(Cr),s=z(coe),{isEnabled:a,processorNode:c}=z(r),d=f.useCallback(p=>{t(gM({controlNetId:n,processorType:p}))},[n,t]);return i.jsx(ar,{label:"Processor",value:c.type??"canny_image_processor",data:s,onChange:d,disabled:o||!a})},doe=f.memo(uoe),foe=[{label:"Resize",value:"just_resize"},{label:"Crop",value:"crop_resize"},{label:"Fill",value:"fill_resize"}];function poe(e){const{controlNetId:t}=e,n=te(),r=f.useMemo(()=>fe(Ye,({controlNet:c})=>{const{resizeMode:d,isEnabled:p}=c.controlNets[t];return{resizeMode:d,isEnabled:p}},Ge),[t]),{resizeMode:o,isEnabled:s}=z(r),a=f.useCallback(c=>{n(vM({controlNetId:t,resizeMode:c}))},[t,n]);return i.jsx(Xr,{disabled:!s,label:"Resize Mode",data:foe,value:String(o),onChange:a})}const hoe=e=>{const{controlNetId:t}=e,n=te(),r=fe(Ye,({controlNet:m})=>{const{isEnabled:v,shouldAutoConfig:b}=m.controlNets[t];return{isEnabled:v,shouldAutoConfig:b}},Ge),{isEnabled:o,shouldAutoConfig:s}=z(r),[a,c]=gee(!1),d=f.useCallback(()=>{n(bM({controlNetId:t}))},[t,n]),p=f.useCallback(()=>{n(yM({sourceControlNetId:t,newControlNetId:ui()}))},[t,n]),h=f.useCallback(()=>{n(xM({controlNetId:t}))},[t,n]);return i.jsxs(F,{sx:{flexDir:"column",gap:3,p:3,borderRadius:"base",position:"relative",bg:"base.200",_dark:{bg:"base.850"}},children:[i.jsxs(F,{sx:{gap:2,alignItems:"center"},children:[i.jsx(Er,{tooltip:"Toggle this ControlNet","aria-label":"Toggle this ControlNet",isChecked:o,onChange:h}),i.jsx(Ee,{sx:{w:"full",minW:0,opacity:o?1:.5,pointerEvents:o?"auto":"none",transitionProperty:"common",transitionDuration:"0.1s"},children:i.jsx(jre,{controlNetId:t})}),i.jsx(Le,{size:"sm",tooltip:"Duplicate","aria-label":"Duplicate",onClick:p,icon:i.jsx(Vc,{})}),i.jsx(Le,{size:"sm",tooltip:"Delete","aria-label":"Delete",colorScheme:"error",onClick:d,icon:i.jsx(us,{})}),i.jsx(Le,{size:"sm",tooltip:a?"Hide Advanced":"Show Advanced","aria-label":a?"Hide Advanced":"Show Advanced",onClick:c,variant:"ghost",sx:{_hover:{bg:"none"}},icon:i.jsx(Sy,{sx:{boxSize:4,color:"base.700",transform:a?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal",_dark:{color:"base.300"}}})}),!s&&i.jsx(Ee,{sx:{position:"absolute",w:1.5,h:1.5,borderRadius:"full",top:4,insetInlineEnd:4,bg:"accent.700",_dark:{bg:"accent.400"}}})]}),i.jsxs(F,{sx:{w:"full",flexDirection:"column",gap:3},children:[i.jsxs(F,{sx:{gap:4,w:"full",alignItems:"center"},children:[i.jsxs(F,{sx:{flexDir:"column",gap:3,h:28,w:"full",paddingInlineStart:1,paddingInlineEnd:a?1:0,pb:2,justifyContent:"space-between"},children:[i.jsx(Ere,{controlNetId:t}),i.jsx(aoe,{controlNetId:t})]}),!a&&i.jsx(F,{sx:{alignItems:"center",justifyContent:"center",h:28,w:28,aspectRatio:"1/1"},children:i.jsx(Ek,{controlNetId:t,height:28})})]}),i.jsxs(F,{sx:{gap:2},children:[i.jsx(loe,{controlNetId:t}),i.jsx(poe,{controlNetId:t})]}),i.jsx(doe,{controlNetId:t})]}),a&&i.jsxs(i.Fragment,{children:[i.jsx(Ek,{controlNetId:t,height:"392px"}),i.jsx(ooe,{controlNetId:t}),i.jsx(noe,{controlNetId:t})]})]})},moe=f.memo(hoe),goe=fe(Ye,e=>{const{isEnabled:t}=e.controlNet;return{isEnabled:t}},Ge),voe=()=>{const{isEnabled:e}=z(goe),t=te(),n=f.useCallback(()=>{t(wM())},[t]);return i.jsx(Er,{label:"Enable ControlNet",isChecked:e,onChange:n,formControlProps:{width:"100%"}})},boe=fe([Ye],({controlNet:e})=>{const{controlNets:t,isEnabled:n}=e,r=SM(t),o=n&&r.length>0?`${r.length} Active`:void 0;return{controlNetsArray:cs(t),activeLabel:o}},Ge),yoe=()=>{const{controlNetsArray:e,activeLabel:t}=z(boe),n=ir("controlNet").isFeatureDisabled,r=te(),{firstModel:o}=ab(void 0,{selectFromResult:a=>{var d,p;return{firstModel:(p=a.data)==null?void 0:p.entities[(d=a.data)==null?void 0:d.ids[0]]}}}),s=f.useCallback(()=>{if(!o)return;const a=ui();r(CM({controlNetId:a})),r(e5({controlNetId:a,model:o}))},[r,o]);return n?null:i.jsx(Ro,{label:"ControlNet",activeLabel:t,children:i.jsxs(F,{sx:{flexDir:"column",gap:3},children:[i.jsxs(F,{gap:2,alignItems:"center",children:[i.jsx(F,{sx:{flexDirection:"column",w:"100%",gap:2,px:4,py:2,borderRadius:4,bg:"base.200",_dark:{bg:"base.850"}},children:i.jsx(voe,{})}),i.jsx(Le,{tooltip:"Add ControlNet","aria-label":"Add ControlNet",icon:i.jsx(gl,{}),isDisabled:!o,flexGrow:1,size:"md",onClick:s})]}),e.map((a,c)=>i.jsxs(f.Fragment,{children:[c>0&&i.jsx(Pi,{}),i.jsx(moe,{controlNetId:a.controlNetId})]},a.controlNetId))]})})},ox=f.memo(yoe),xoe=fe(Di,e=>{const{seamlessXAxis:t}=e;return{seamlessXAxis:t}},Ge),woe=()=>{const{t:e}=ye(),{seamlessXAxis:t}=z(xoe),n=te(),r=f.useCallback(o=>{n(kM(o.target.checked))},[n]);return i.jsx(Er,{label:e("parameters.seamlessXAxis"),"aria-label":e("parameters.seamlessXAxis"),isChecked:t,onChange:r})},Soe=f.memo(woe),Coe=fe(Di,e=>{const{seamlessYAxis:t}=e;return{seamlessYAxis:t}},Ge),koe=()=>{const{t:e}=ye(),{seamlessYAxis:t}=z(Coe),n=te(),r=f.useCallback(o=>{n(_M(o.target.checked))},[n]);return i.jsx(Er,{label:e("parameters.seamlessYAxis"),"aria-label":e("parameters.seamlessYAxis"),isChecked:t,onChange:r})},_oe=f.memo(koe),Poe=(e,t)=>{if(e&&t)return"X & Y";if(e)return"X";if(t)return"Y"},joe=fe(Di,e=>{const{seamlessXAxis:t,seamlessYAxis:n}=e;return{activeLabel:Poe(t,n)}},Ge),Ioe=()=>{const{t:e}=ye(),{activeLabel:t}=z(joe);return ir("seamless").isFeatureEnabled?i.jsx(Ro,{label:e("parameters.seamlessTiling"),activeLabel:t,children:i.jsxs(F,{sx:{gap:5},children:[i.jsx(Ee,{flexGrow:1,children:i.jsx(Soe,{})}),i.jsx(Ee,{flexGrow:1,children:i.jsx(_oe,{})})]})}):null},WO=f.memo(Ioe);function Eoe(){const e=z(o=>o.generation.horizontalSymmetrySteps),t=z(o=>o.generation.steps),n=te(),{t:r}=ye();return i.jsx(_t,{label:r("parameters.hSymmetryStep"),value:e,onChange:o=>n(iw(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(iw(0))})}function Ooe(){const e=z(o=>o.generation.verticalSymmetrySteps),t=z(o=>o.generation.steps),n=te(),{t:r}=ye();return i.jsx(_t,{label:r("parameters.vSymmetryStep"),value:e,onChange:o=>n(lw(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(lw(0))})}function Roe(){const e=z(n=>n.generation.shouldUseSymmetry),t=te();return i.jsx(Er,{label:"Enable Symmetry",isChecked:e,onChange:n=>t(PM(n.target.checked))})}const Moe=fe(Ye,e=>({activeLabel:e.generation.shouldUseSymmetry?"Enabled":void 0}),Ge),Doe=()=>{const{t:e}=ye(),{activeLabel:t}=z(Moe);return ir("symmetry").isFeatureEnabled?i.jsx(Ro,{label:e("parameters.symmetry"),activeLabel:t,children:i.jsxs(F,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(Roe,{}),i.jsx(Eoe,{}),i.jsx(Ooe,{})]})}):null},sx=f.memo(Doe);function ax(){return i.jsxs(F,{sx:{flexDirection:"column",gap:2},children:[i.jsx(OO,{}),i.jsx(EO,{})]})}const Aoe=fe([Ye],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.img2imgStrength,{img2imgStrength:p}=e,h=t.shift?c:d;return{img2imgStrength:p,initial:r,min:o,sliderMax:s,inputMax:a,step:h}},Ge),Toe=()=>{const{img2imgStrength:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s}=z(Aoe),a=te(),{t:c}=ye(),d=f.useCallback(h=>a(Bp(h)),[a]),p=f.useCallback(()=>{a(Bp(t))},[a,t]);return i.jsx(_t,{label:`${c("parameters.denoisingStrength")}`,step:s,min:n,max:r,onChange:d,handleReset:p,value:e,isInteger:!1,withInput:!0,withSliderMarks:!0,withReset:!0,sliderNumberInputProps:{max:o}})},VO=f.memo(Toe),Noe=fe([La,Di],(e,t)=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ge),$oe=()=>{const{shouldUseSliders:e,activeLabel:t}=z(Noe);return i.jsx(Ro,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(F,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Ee,{pt:2,children:i.jsx(ki,{})}),i.jsx(Oc,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(F,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Ee,{pt:2,children:i.jsx(ki,{})}),i.jsx(Oc,{})]}),i.jsx(VO,{}),i.jsx(NO,{})]})})},zoe=f.memo($oe),UO=()=>i.jsxs(i.Fragment,{children:[i.jsx(ax,{}),i.jsx(qd,{}),i.jsx(zoe,{}),i.jsx(ox,{}),i.jsx(nx,{}),i.jsx(Ud,{}),i.jsx(tg,{}),i.jsx(sx,{}),i.jsx(WO,{}),i.jsx(rx,{})]}),Loe=()=>{const e=te(),t=f.useRef(null),n=z(o=>o.generation.model),r=f.useCallback(()=>{t.current&&t.current.setLayout([50,50])},[]);return i.jsxs(F,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(tx,{children:n&&n.base_model==="sdxl"?i.jsx($O,{}):i.jsx(UO,{})}),i.jsx(Ee,{sx:{w:"full",h:"full"},children:i.jsxs(Qy,{ref:t,autoSaveId:"imageTab.content",direction:"horizontal",style:{height:"100%",width:"100%"},children:[i.jsx(pd,{id:"imageTab.content.initImage",order:0,defaultSize:50,minSize:25,style:{position:"relative"},children:i.jsx(ute,{})}),i.jsx(LO,{onDoubleClick:r}),i.jsx(pd,{id:"imageTab.content.selectedImage",order:1,defaultSize:50,minSize:25,onResize:()=>{e(ko())},children:i.jsx(FO,{})})]})})]})},Boe=f.memo(Loe);var Foe=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,o,s;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(o=r;o--!==0;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(s=Object.keys(t),r=s.length,r!==Object.keys(n).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[o]))return!1;for(o=r;o--!==0;){var a=s[o];if(!e(t[a],n[a]))return!1}return!0}return t!==t&&n!==n};const Bk=vd(Foe);function z1(e){return e===null||typeof e!="object"?{}:Object.keys(e).reduce((t,n)=>{const r=e[n];return r!=null&&r!==!1&&(t[n]=r),t},{})}var Hoe=Object.defineProperty,Fk=Object.getOwnPropertySymbols,Woe=Object.prototype.hasOwnProperty,Voe=Object.prototype.propertyIsEnumerable,Hk=(e,t,n)=>t in e?Hoe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Uoe=(e,t)=>{for(var n in t||(t={}))Woe.call(t,n)&&Hk(e,n,t[n]);if(Fk)for(var n of Fk(t))Voe.call(t,n)&&Hk(e,n,t[n]);return e};function GO(e,t){if(t===null||typeof t!="object")return{};const n=Uoe({},t);return Object.keys(t).forEach(r=>{r.includes(`${String(e)}.`)&&delete n[r]}),n}const Goe="__MANTINE_FORM_INDEX__";function Wk(e,t){return t?typeof t=="boolean"?t:Array.isArray(t)?t.includes(e.replace(/[.][0-9]/g,`.${Goe}`)):!1:!1}function Vk(e,t,n){typeof n.value=="object"&&(n.value=Zl(n.value)),!n.enumerable||n.get||n.set||!n.configurable||!n.writable||t==="__proto__"?Object.defineProperty(e,t,n):e[t]=n.value}function Zl(e){if(typeof e!="object")return e;var t=0,n,r,o,s=Object.prototype.toString.call(e);if(s==="[object Object]"?o=Object.create(e.__proto__||null):s==="[object Array]"?o=Array(e.length):s==="[object Set]"?(o=new Set,e.forEach(function(a){o.add(Zl(a))})):s==="[object Map]"?(o=new Map,e.forEach(function(a,c){o.set(Zl(c),Zl(a))})):s==="[object Date]"?o=new Date(+e):s==="[object RegExp]"?o=new RegExp(e.source,e.flags):s==="[object DataView]"?o=new e.constructor(Zl(e.buffer)):s==="[object ArrayBuffer]"?o=e.slice(0):s.slice(-6)==="Array]"&&(o=new e.constructor(e)),o){for(r=Object.getOwnPropertySymbols(e);t0,errors:t}}function L1(e,t,n="",r={}){return typeof e!="object"||e===null?r:Object.keys(e).reduce((o,s)=>{const a=e[s],c=`${n===""?"":`${n}.`}${s}`,d=xa(c,t);let p=!1;return typeof a=="function"&&(o[c]=a(d,t,c)),typeof a=="object"&&Array.isArray(d)&&(p=!0,d.forEach((h,m)=>L1(a,t,`${c}.${m}`,o))),typeof a=="object"&&typeof d=="object"&&d!==null&&(p||L1(a,t,c,o)),o},r)}function B1(e,t){return Uk(typeof e=="function"?e(t):L1(e,t))}function Sp(e,t,n){if(typeof e!="string")return{hasError:!1,error:null};const r=B1(t,n),o=Object.keys(r.errors).find(s=>e.split(".").every((a,c)=>a===s.split(".")[c]));return{hasError:!!o,error:o?r.errors[o]:null}}function qoe(e,{from:t,to:n},r){const o=xa(e,r);if(!Array.isArray(o))return r;const s=[...o],a=o[t];return s.splice(t,1),s.splice(n,0,a),ig(e,s,r)}var Koe=Object.defineProperty,Gk=Object.getOwnPropertySymbols,Xoe=Object.prototype.hasOwnProperty,Yoe=Object.prototype.propertyIsEnumerable,qk=(e,t,n)=>t in e?Koe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Qoe=(e,t)=>{for(var n in t||(t={}))Xoe.call(t,n)&&qk(e,n,t[n]);if(Gk)for(var n of Gk(t))Yoe.call(t,n)&&qk(e,n,t[n]);return e};function Joe(e,{from:t,to:n},r){const o=`${e}.${t}`,s=`${e}.${n}`,a=Qoe({},r);return Object.keys(r).every(c=>{let d,p;if(c.startsWith(o)&&(d=c,p=c.replace(o,s)),c.startsWith(s)&&(d=c.replace(s,o),p=c),d&&p){const h=a[d],m=a[p];return m===void 0?delete a[d]:a[d]=m,h===void 0?delete a[p]:a[p]=h,!1}return!0}),a}function Zoe(e,t,n){const r=xa(e,n);return Array.isArray(r)?ig(e,r.filter((o,s)=>s!==t),n):n}var ese=Object.defineProperty,Kk=Object.getOwnPropertySymbols,tse=Object.prototype.hasOwnProperty,nse=Object.prototype.propertyIsEnumerable,Xk=(e,t,n)=>t in e?ese(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,rse=(e,t)=>{for(var n in t||(t={}))tse.call(t,n)&&Xk(e,n,t[n]);if(Kk)for(var n of Kk(t))nse.call(t,n)&&Xk(e,n,t[n]);return e};function Yk(e,t){const n=e.substring(t.length+1).split(".")[0];return parseInt(n,10)}function Qk(e,t,n,r){if(t===void 0)return n;const o=`${String(e)}`;let s=n;r===-1&&(s=GO(`${o}.${t}`,s));const a=rse({},s),c=new Set;return Object.entries(s).filter(([d])=>{if(!d.startsWith(`${o}.`))return!1;const p=Yk(d,o);return Number.isNaN(p)?!1:p>=t}).forEach(([d,p])=>{const h=Yk(d,o),m=d.replace(`${o}.${h}`,`${o}.${h+r}`);a[m]=p,c.add(m),c.has(d)||delete a[d]}),a}function ose(e,t,n,r){const o=xa(e,r);if(!Array.isArray(o))return r;const s=[...o];return s.splice(typeof n=="number"?n:s.length,0,t),ig(e,s,r)}function Jk(e,t){const n=Object.keys(e);if(typeof t=="string"){const r=n.filter(o=>o.startsWith(`${t}.`));return e[t]||r.some(o=>e[o])||!1}return n.some(r=>e[r])}function sse(e){return t=>{if(!t)e(t);else if(typeof t=="function")e(t);else if(typeof t=="object"&&"nativeEvent"in t){const{currentTarget:n}=t;n instanceof HTMLInputElement?n.type==="checkbox"?e(n.checked):e(n.value):(n instanceof HTMLTextAreaElement||n instanceof HTMLSelectElement)&&e(n.value)}else e(t)}}var ase=Object.defineProperty,ise=Object.defineProperties,lse=Object.getOwnPropertyDescriptors,Zk=Object.getOwnPropertySymbols,cse=Object.prototype.hasOwnProperty,use=Object.prototype.propertyIsEnumerable,e_=(e,t,n)=>t in e?ase(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ti=(e,t)=>{for(var n in t||(t={}))cse.call(t,n)&&e_(e,n,t[n]);if(Zk)for(var n of Zk(t))use.call(t,n)&&e_(e,n,t[n]);return e},mv=(e,t)=>ise(e,lse(t));function wl({initialValues:e={},initialErrors:t={},initialDirty:n={},initialTouched:r={},clearInputErrorOnChange:o=!0,validateInputOnChange:s=!1,validateInputOnBlur:a=!1,transformValues:c=p=>p,validate:d}={}){const[p,h]=f.useState(r),[m,v]=f.useState(n),[b,w]=f.useState(e),[y,S]=f.useState(z1(t)),_=f.useRef(e),k=K=>{_.current=K},j=f.useCallback(()=>h({}),[]),I=K=>{const U=K?ti(ti({},b),K):b;k(U),v({})},E=f.useCallback(K=>S(U=>z1(typeof K=="function"?K(U):K)),[]),O=f.useCallback(()=>S({}),[]),R=f.useCallback(()=>{w(e),O(),k(e),v({}),j()},[]),M=f.useCallback((K,U)=>E(se=>mv(ti({},se),{[K]:U})),[]),A=f.useCallback(K=>E(U=>{if(typeof K!="string")return U;const se=ti({},U);return delete se[K],se}),[]),T=f.useCallback(K=>v(U=>{if(typeof K!="string")return U;const se=GO(K,U);return delete se[K],se}),[]),$=f.useCallback((K,U)=>{const se=Wk(K,s);T(K),h(re=>mv(ti({},re),{[K]:!0})),w(re=>{const oe=ig(K,U,re);if(se){const pe=Sp(K,d,oe);pe.hasError?M(K,pe.error):A(K)}return oe}),!se&&o&&M(K,null)},[]),Q=f.useCallback(K=>{w(U=>{const se=typeof K=="function"?K(U):K;return ti(ti({},U),se)}),o&&O()},[]),B=f.useCallback((K,U)=>{T(K),w(se=>qoe(K,U,se)),S(se=>Joe(K,U,se))},[]),V=f.useCallback((K,U)=>{T(K),w(se=>Zoe(K,U,se)),S(se=>Qk(K,U,se,-1))},[]),q=f.useCallback((K,U,se)=>{T(K),w(re=>ose(K,U,se,re)),S(re=>Qk(K,se,re,1))},[]),G=f.useCallback(()=>{const K=B1(d,b);return S(K.errors),K},[b,d]),D=f.useCallback(K=>{const U=Sp(K,d,b);return U.hasError?M(K,U.error):A(K),U},[b,d]),L=(K,{type:U="input",withError:se=!0,withFocus:re=!0}={})=>{const pe={onChange:sse(le=>$(K,le))};return se&&(pe.error=y[K]),U==="checkbox"?pe.checked=xa(K,b):pe.value=xa(K,b),re&&(pe.onFocus=()=>h(le=>mv(ti({},le),{[K]:!0})),pe.onBlur=()=>{if(Wk(K,a)){const le=Sp(K,d,b);le.hasError?M(K,le.error):A(K)}}),pe},W=(K,U)=>se=>{se==null||se.preventDefault();const re=G();re.hasErrors?U==null||U(re.errors,b,se):K==null||K(c(b),se)},Y=K=>c(K||b),ae=f.useCallback(K=>{K.preventDefault(),R()},[]),be=K=>{if(K){const se=xa(K,m);if(typeof se=="boolean")return se;const re=xa(K,b),oe=xa(K,_.current);return!Bk(re,oe)}return Object.keys(m).length>0?Jk(m):!Bk(b,_.current)},ie=f.useCallback(K=>Jk(p,K),[p]),X=f.useCallback(K=>K?!Sp(K,d,b).hasError:!B1(d,b).hasErrors,[b,d]);return{values:b,errors:y,setValues:Q,setErrors:E,setFieldValue:$,setFieldError:M,clearFieldError:A,clearErrors:O,reset:R,validate:G,validateField:D,reorderListItem:B,removeListItem:V,insertListItem:q,getInputProps:L,onSubmit:W,onReset:ae,isDirty:be,isTouched:ie,setTouched:h,setDirty:v,resetTouched:j,resetDirty:I,isValid:X,getTransformedValues:Y}}function br(e){const{...t}=e,{base50:n,base100:r,base200:o,base300:s,base800:a,base700:c,base900:d,accent500:p,accent300:h}=Fy(),{colorMode:m}=Ds();return i.jsx(zE,{styles:()=>({input:{color:Fe(d,r)(m),backgroundColor:Fe(n,d)(m),borderColor:Fe(o,a)(m),borderWidth:2,outline:"none",":focus":{borderColor:Fe(h,p)(m)}},label:{color:Fe(c,s)(m),fontWeight:"normal",marginBottom:4}}),...t})}const dse=[{value:"sd-1",label:Qn["sd-1"]},{value:"sd-2",label:Qn["sd-2"]},{value:"sdxl",label:Qn.sdxl},{value:"sdxl-refiner",label:Qn["sdxl-refiner"]}];function Xd(e){const{...t}=e,{t:n}=ye();return i.jsx(Xr,{label:n("modelManager.baseModel"),data:dse,...t})}function KO(e){const{data:t}=t5(),{...n}=e;return i.jsx(Xr,{label:"Config File",placeholder:"Select A Config File",data:t||[],...n})}const fse=[{value:"normal",label:"Normal"},{value:"inpaint",label:"Inpaint"},{value:"depth",label:"Depth"}];function lg(e){const{...t}=e,{t:n}=ye();return i.jsx(Xr,{label:n("modelManager.variant"),data:fse,...t})}function XO(e){const{t}=ye(),n=te(),{model_path:r}=e,o=wl({initialValues:{model_name:r?r.split("\\").splice(-1)[0].split(".")[0]:"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"checkpoint",error:void 0,vae:"",variant:"normal",config:"configs\\stable-diffusion\\v1-inference.yaml"}}),[s]=n5(),[a,c]=f.useState(!1),d=p=>{s({body:p}).unwrap().then(h=>{n(On(Mn({title:`Model Added: ${p.model_name}`,status:"success"}))),o.reset(),r&&n(xd(null))}).catch(h=>{h&&n(On(Mn({title:"Model Add Failed",status:"error"})))})};return i.jsx("form",{onSubmit:o.onSubmit(p=>d(p)),style:{width:"100%"},children:i.jsxs(F,{flexDirection:"column",gap:2,children:[i.jsx(br,{label:"Model Name",required:!0,...o.getInputProps("model_name")}),i.jsx(Xd,{...o.getInputProps("base_model")}),i.jsx(br,{label:"Model Location",required:!0,...o.getInputProps("path")}),i.jsx(br,{label:"Description",...o.getInputProps("description")}),i.jsx(br,{label:"VAE Location",...o.getInputProps("vae")}),i.jsx(lg,{...o.getInputProps("variant")}),i.jsxs(F,{flexDirection:"column",width:"100%",gap:2,children:[a?i.jsx(br,{required:!0,label:"Custom Config File Location",...o.getInputProps("config")}):i.jsx(KO,{required:!0,width:"100%",...o.getInputProps("config")}),i.jsx(Gn,{isChecked:a,onChange:()=>c(!a),label:"Use Custom Config"}),i.jsx(Jt,{mt:2,type:"submit",children:t("modelManager.addModel")})]})]})})}function YO(e){const{t}=ye(),n=te(),{model_path:r}=e,[o]=n5(),s=wl({initialValues:{model_name:r?r.split("\\").splice(-1)[0]:"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"diffusers",error:void 0,vae:"",variant:"normal"}}),a=c=>{o({body:c}).unwrap().then(d=>{n(On(Mn({title:`Model Added: ${c.model_name}`,status:"success"}))),s.reset(),r&&n(xd(null))}).catch(d=>{d&&n(On(Mn({title:"Model Add Failed",status:"error"})))})};return i.jsx("form",{onSubmit:s.onSubmit(c=>a(c)),style:{width:"100%"},children:i.jsxs(F,{flexDirection:"column",gap:2,children:[i.jsx(br,{required:!0,label:"Model Name",...s.getInputProps("model_name")}),i.jsx(Xd,{...s.getInputProps("base_model")}),i.jsx(br,{required:!0,label:"Model Location",placeholder:"Provide the path to a local folder where your Diffusers Model is stored",...s.getInputProps("path")}),i.jsx(br,{label:"Description",...s.getInputProps("description")}),i.jsx(br,{label:"VAE Location",...s.getInputProps("vae")}),i.jsx(lg,{...s.getInputProps("variant")}),i.jsx(Jt,{mt:2,type:"submit",children:t("modelManager.addModel")})]})})}const QO=[{label:"Diffusers",value:"diffusers"},{label:"Checkpoint / Safetensors",value:"checkpoint"}];function pse(){const[e,t]=f.useState("diffusers");return i.jsxs(F,{flexDirection:"column",gap:4,width:"100%",children:[i.jsx(Xr,{label:"Model Type",value:e,data:QO,onChange:n=>{n&&t(n)}}),i.jsxs(F,{sx:{p:4,borderRadius:4,bg:"base.300",_dark:{bg:"base.850"}},children:[e==="diffusers"&&i.jsx(YO,{}),e==="checkpoint"&&i.jsx(XO,{})]})]})}const hse=[{label:"None",value:"none"},{label:"v_prediction",value:"v_prediction"},{label:"epsilon",value:"epsilon"},{label:"sample",value:"sample"}];function mse(){const e=te(),{t}=ye(),n=z(c=>c.system.isProcessing),[r,{isLoading:o}]=r5(),s=wl({initialValues:{location:"",prediction_type:void 0}}),a=c=>{const d={location:c.location,prediction_type:c.prediction_type==="none"?void 0:c.prediction_type};r({body:d}).unwrap().then(p=>{e(On(Mn({title:"Model Added",status:"success"}))),s.reset()}).catch(p=>{p&&(console.log(p),e(On(Mn({title:`${p.data.detail} `,status:"error"}))))})};return i.jsx("form",{onSubmit:s.onSubmit(c=>a(c)),style:{width:"100%"},children:i.jsxs(F,{flexDirection:"column",width:"100%",gap:4,children:[i.jsx(br,{label:"Model Location",placeholder:"Provide a path to a local Diffusers model, local checkpoint / safetensors model a HuggingFace Repo ID, or a checkpoint/diffusers model URL.",w:"100%",...s.getInputProps("location")}),i.jsx(Xr,{label:"Prediction Type (for Stable Diffusion 2.x Models only)",data:hse,defaultValue:"none",...s.getInputProps("prediction_type")}),i.jsx(Jt,{type:"submit",isLoading:o,isDisabled:o||n,children:t("modelManager.addModel")})]})})}function gse(){const[e,t]=f.useState("simple");return i.jsxs(F,{flexDirection:"column",width:"100%",overflow:"scroll",maxHeight:window.innerHeight-250,gap:4,children:[i.jsxs(rr,{isAttached:!0,children:[i.jsx(Jt,{size:"sm",isChecked:e=="simple",onClick:()=>t("simple"),children:"Simple"}),i.jsx(Jt,{size:"sm",isChecked:e=="advanced",onClick:()=>t("advanced"),children:"Advanced"})]}),i.jsxs(F,{sx:{p:4,borderRadius:4,background:"base.200",_dark:{background:"base.800"}},children:[e==="simple"&&i.jsx(mse,{}),e==="advanced"&&i.jsx(pse,{})]})]})}const vse={display:"flex",flexDirection:"row",alignItems:"center",gap:10},bse=e=>{const{label:t="",labelPos:n="top",isDisabled:r=!1,isInvalid:o,formControlProps:s,...a}=e,c=te(),d=f.useCallback(h=>{h.shiftKey&&c(jo(!0))},[c]),p=f.useCallback(h=>{h.shiftKey||c(jo(!1))},[c]);return i.jsxs(go,{isInvalid:o,isDisabled:r,...s,style:n==="side"?vse:void 0,children:[t!==""&&i.jsx(Lo,{children:t}),i.jsx(Pd,{...a,onPaste:Zy,onKeyDown:d,onKeyUp:p})]})},Rc=f.memo(bse);function yse(e){const{...t}=e;return i.jsx(RI,{w:"100%",...t,children:e.children})}function xse(){const e=z(y=>y.modelmanager.searchFolder),[t,n]=f.useState(""),{data:r}=na(qi),{foundModels:o,alreadyInstalled:s,filteredModels:a}=o5({search_path:e||""},{selectFromResult:({data:y})=>{const S=d9(r==null?void 0:r.entities),_=cs(S,"path"),k=l9(y,_),j=g9(y,_);return{foundModels:y,alreadyInstalled:t_(j,t),filteredModels:t_(k,t)}}}),[c,{isLoading:d}]=r5(),p=te(),{t:h}=ye(),m=f.useCallback(y=>{const S=y.currentTarget.id.split("\\").splice(-1)[0];c({body:{location:y.currentTarget.id}}).unwrap().then(_=>{p(On(Mn({title:`Added Model: ${S}`,status:"success"})))}).catch(_=>{_&&p(On(Mn({title:"Failed To Add Model",status:"error"})))})},[p,c]),v=f.useCallback(y=>{n(y.target.value)},[]),b=({models:y,showActions:S=!0})=>y.map(_=>i.jsxs(F,{sx:{p:4,gap:4,alignItems:"center",borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(F,{w:"100%",sx:{flexDirection:"column",minW:"25%"},children:[i.jsx(qe,{sx:{fontWeight:600},children:_.split("\\").slice(-1)[0]}),i.jsx(qe,{sx:{fontSize:"sm",color:"base.600",_dark:{color:"base.400"}},children:_})]}),S?i.jsxs(F,{gap:2,children:[i.jsx(Jt,{id:_,onClick:m,isLoading:d,children:"Quick Add"}),i.jsx(Jt,{onClick:()=>p(xd(_)),isLoading:d,children:"Advanced"})]}):i.jsx(qe,{sx:{fontWeight:600,p:2,borderRadius:4,color:"accent.50",bg:"accent.400",_dark:{color:"accent.100",bg:"accent.600"}},children:"Installed"})]},_));return(()=>e?!o||o.length===0?i.jsx(F,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",height:96,userSelect:"none",bg:"base.200",_dark:{bg:"base.900"}},children:i.jsx(qe,{variant:"subtext",children:"No Models Found"})}):i.jsxs(F,{sx:{flexDirection:"column",gap:2,w:"100%",minW:"50%"},children:[i.jsx(Rc,{onChange:v,label:h("modelManager.search"),labelPos:"side"}),i.jsxs(F,{p:2,gap:2,children:[i.jsxs(qe,{sx:{fontWeight:600},children:["Models Found: ",o.length]}),i.jsxs(qe,{sx:{fontWeight:600,color:"accent.500",_dark:{color:"accent.200"}},children:["Not Installed: ",a.length]})]}),i.jsx(yse,{offsetScrollbars:!0,children:i.jsxs(F,{gap:2,flexDirection:"column",children:[b({models:a}),b({models:s,showActions:!1})]})})]}):null)()}const t_=(e,t)=>{const n=[];return so(e,r=>{if(!r)return null;r.includes(t)&&n.push(r)}),n};function wse(){const e=z(a=>a.modelmanager.advancedAddScanModel),[t,n]=f.useState("diffusers"),[r,o]=f.useState(!0);f.useEffect(()=>{e&&[".ckpt",".safetensors",".pth",".pt"].some(a=>e.endsWith(a))?n("checkpoint"):n("diffusers")},[e,n,r]);const s=te();return e?i.jsxs(Ee,{as:Ir.div,initial:{x:-100,opacity:0},animate:{x:0,opacity:1,transition:{duration:.2}},sx:{display:"flex",flexDirection:"column",minWidth:"40%",maxHeight:window.innerHeight-300,overflow:"scroll",p:4,gap:4,borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(F,{justifyContent:"space-between",alignItems:"center",children:[i.jsx(qe,{size:"xl",fontWeight:600,children:r||t==="checkpoint"?"Add Checkpoint Model":"Add Diffusers Model"}),i.jsx(Le,{icon:i.jsx(EW,{}),"aria-label":"Close Advanced",onClick:()=>s(xd(null)),size:"sm"})]}),i.jsx(Xr,{label:"Model Type",value:t,data:QO,onChange:a=>{a&&(n(a),o(a==="checkpoint"))}}),r?i.jsx(XO,{model_path:e},e):i.jsx(YO,{model_path:e},e)]}):null}function Sse(){const e=te(),{t}=ye(),n=z(c=>c.modelmanager.searchFolder),{refetch:r}=o5({search_path:n||""}),o=wl({initialValues:{folder:""}}),s=f.useCallback(c=>{e(cw(c.folder))},[e]),a=()=>{r()};return i.jsx("form",{onSubmit:o.onSubmit(c=>s(c)),style:{width:"100%"},children:i.jsxs(F,{sx:{w:"100%",gap:2,borderRadius:4,alignItems:"center"},children:[i.jsxs(F,{w:"100%",alignItems:"center",gap:4,minH:12,children:[i.jsx(qe,{sx:{fontSize:"sm",fontWeight:600,color:"base.700",minW:"max-content",_dark:{color:"base.300"}},children:"Folder"}),n?i.jsx(F,{sx:{w:"100%",p:2,px:4,bg:"base.300",borderRadius:4,fontSize:"sm",fontWeight:"bold",_dark:{bg:"base.700"}},children:n}):i.jsx(Rc,{w:"100%",size:"md",...o.getInputProps("folder")})]}),i.jsxs(F,{gap:2,children:[n?i.jsx(Le,{"aria-label":t("modelManager.scanAgain"),tooltip:t("modelManager.scanAgain"),icon:i.jsx(EP,{}),onClick:a,fontSize:18,size:"sm"}):i.jsx(Le,{"aria-label":t("modelManager.findModels"),tooltip:t("modelManager.findModels"),icon:i.jsx(_W,{}),fontSize:18,size:"sm",type:"submit"}),i.jsx(Le,{"aria-label":t("modelManager.clearCheckpointFolder"),tooltip:t("modelManager.clearCheckpointFolder"),icon:i.jsx(us,{}),size:"sm",onClick:()=>{e(cw(null)),e(xd(null))},isDisabled:!n,colorScheme:"red"})]})]})})}const Cse=f.memo(Sse);function kse(){return i.jsxs(F,{flexDirection:"column",w:"100%",gap:4,children:[i.jsx(Cse,{}),i.jsxs(F,{gap:4,children:[i.jsx(F,{sx:{maxHeight:window.innerHeight-300,overflow:"scroll",gap:4,w:"100%"},children:i.jsx(xse,{})}),i.jsx(wse,{})]})]})}function _se(){const[e,t]=f.useState("add"),{t:n}=ye();return i.jsxs(F,{flexDirection:"column",gap:4,children:[i.jsxs(rr,{isAttached:!0,children:[i.jsx(Jt,{onClick:()=>t("add"),isChecked:e=="add",size:"sm",width:"100%",children:n("modelManager.addModel")}),i.jsx(Jt,{onClick:()=>t("scan"),isChecked:e=="scan",size:"sm",width:"100%",children:n("modelManager.scanForModels")})]}),e=="add"&&i.jsx(gse,{}),e=="scan"&&i.jsx(kse,{})]})}const Pse=[{label:"Stable Diffusion 1",value:"sd-1"},{label:"Stable Diffusion 2",value:"sd-2"}];function jse(){const{t:e}=ye(),t=te(),{data:n}=na(qi),[r,{isLoading:o}]=jM(),[s,a]=f.useState("sd-1"),c=Cw(n==null?void 0:n.entities,(D,L)=>(D==null?void 0:D.model_format)==="diffusers"&&(D==null?void 0:D.base_model)==="sd-1"),d=Cw(n==null?void 0:n.entities,(D,L)=>(D==null?void 0:D.model_format)==="diffusers"&&(D==null?void 0:D.base_model)==="sd-2"),p=f.useMemo(()=>({"sd-1":c,"sd-2":d}),[c,d]),[h,m]=f.useState(Object.keys(p[s])[0]),[v,b]=f.useState(Object.keys(p[s])[1]),[w,y]=f.useState(null),[S,_]=f.useState(""),[k,j]=f.useState(.5),[I,E]=f.useState("weighted_sum"),[O,R]=f.useState("root"),[M,A]=f.useState(""),[T,$]=f.useState(!1),Q=Object.keys(p[s]).filter(D=>D!==v&&D!==w),B=Object.keys(p[s]).filter(D=>D!==h&&D!==w),V=Object.keys(p[s]).filter(D=>D!==h&&D!==v),q=D=>{a(D),m(null),b(null)},G=()=>{const D=[];let L=[h,v,w];L=L.filter(Y=>Y!==null),L.forEach(Y=>{Y&&D.push(Y==null?void 0:Y.split("/")[2])});const W={model_names:D,merged_model_name:S!==""?S:D.join("-"),alpha:k,interp:I,force:T,merge_dest_directory:O==="root"?void 0:M};r({base_model:s,body:W}).unwrap().then(Y=>{t(On(Mn({title:e("modelManager.modelsMerged"),status:"success"})))}).catch(Y=>{Y&&t(On(Mn({title:e("modelManager.modelsMergeFailed"),status:"error"})))})};return i.jsxs(F,{flexDirection:"column",rowGap:4,children:[i.jsxs(F,{sx:{flexDirection:"column",rowGap:1},children:[i.jsx(qe,{children:e("modelManager.modelMergeHeaderHelp1")}),i.jsx(qe,{fontSize:"sm",variant:"subtext",children:e("modelManager.modelMergeHeaderHelp2")})]}),i.jsxs(F,{columnGap:4,children:[i.jsx(Xr,{label:"Model Type",w:"100%",data:Pse,value:s,onChange:q}),i.jsx(ar,{label:e("modelManager.modelOne"),w:"100%",value:h,placeholder:e("modelManager.selectModel"),data:Q,onChange:D=>m(D)}),i.jsx(ar,{label:e("modelManager.modelTwo"),w:"100%",placeholder:e("modelManager.selectModel"),value:v,data:B,onChange:D=>b(D)}),i.jsx(ar,{label:e("modelManager.modelThree"),data:V,w:"100%",placeholder:e("modelManager.selectModel"),clearable:!0,onChange:D=>{D?(y(D),E("weighted_sum")):(y(null),E("add_difference"))}})]}),i.jsx(Rc,{label:e("modelManager.mergedModelName"),value:S,onChange:D=>_(D.target.value)}),i.jsxs(F,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(_t,{label:e("modelManager.alpha"),min:.01,max:.99,step:.01,value:k,onChange:D=>j(D),withInput:!0,withReset:!0,handleReset:()=>j(.5),withSliderMarks:!0}),i.jsx(qe,{variant:"subtext",fontSize:"sm",children:e("modelManager.modelMergeAlphaHelp")})]}),i.jsxs(F,{sx:{padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(qe,{fontWeight:500,fontSize:"sm",variant:"subtext",children:e("modelManager.interpolationType")}),i.jsx(Zp,{value:I,onChange:D=>E(D),children:i.jsx(F,{columnGap:4,children:w===null?i.jsxs(i.Fragment,{children:[i.jsx(ya,{value:"weighted_sum",children:i.jsx(qe,{fontSize:"sm",children:e("modelManager.weightedSum")})}),i.jsx(ya,{value:"sigmoid",children:i.jsx(qe,{fontSize:"sm",children:e("modelManager.sigmoid")})}),i.jsx(ya,{value:"inv_sigmoid",children:i.jsx(qe,{fontSize:"sm",children:e("modelManager.inverseSigmoid")})})]}):i.jsx(ya,{value:"add_difference",children:i.jsx(wn,{label:e("modelManager.modelMergeInterpAddDifferenceHelp"),children:i.jsx(qe,{fontSize:"sm",children:e("modelManager.addDifference")})})})})})]}),i.jsxs(F,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.900"}},children:[i.jsxs(F,{columnGap:4,children:[i.jsx(qe,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:e("modelManager.mergedModelSaveLocation")}),i.jsx(Zp,{value:O,onChange:D=>R(D),children:i.jsxs(F,{columnGap:4,children:[i.jsx(ya,{value:"root",children:i.jsx(qe,{fontSize:"sm",children:e("modelManager.invokeAIFolder")})}),i.jsx(ya,{value:"custom",children:i.jsx(qe,{fontSize:"sm",children:e("modelManager.custom")})})]})})]}),O==="custom"&&i.jsx(Rc,{label:e("modelManager.mergedModelCustomSaveLocation"),value:M,onChange:D=>A(D.target.value)})]}),i.jsx(Gn,{label:e("modelManager.ignoreMismatch"),isChecked:T,onChange:D=>$(D.target.checked),fontWeight:"500"}),i.jsx(Jt,{onClick:G,isLoading:o,isDisabled:h===null||v===null,children:e("modelManager.merge")})]})}const Ise=Ae((e,t)=>{const{t:n}=ye(),{acceptButtonText:r=n("common.accept"),acceptCallback:o,cancelButtonText:s=n("common.cancel"),cancelCallback:a,children:c,title:d,triggerComponent:p}=e,{isOpen:h,onOpen:m,onClose:v}=ss(),b=f.useRef(null),w=()=>{o(),v()},y=()=>{a&&a(),v()};return i.jsxs(i.Fragment,{children:[f.cloneElement(p,{onClick:m,ref:t}),i.jsx(Md,{isOpen:h,leastDestructiveRef:b,onClose:v,isCentered:!0,children:i.jsx(Da,{children:i.jsxs(Dd,{children:[i.jsx(Ma,{fontSize:"lg",fontWeight:"bold",children:d}),i.jsx(Aa,{children:c}),i.jsxs(Ra,{children:[i.jsx(Jt,{ref:b,onClick:y,children:s}),i.jsx(Jt,{colorScheme:"error",onClick:w,ml:3,children:r})]})]})})})]})}),ix=f.memo(Ise);function Ese(e){const{model:t}=e,n=te(),{t:r}=ye(),[o,{isLoading:s}]=IM(),[a,c]=f.useState("InvokeAIRoot"),[d,p]=f.useState("");f.useEffect(()=>{c("InvokeAIRoot")},[t]);const h=()=>{c("InvokeAIRoot")},m=()=>{const v={base_model:t.base_model,model_name:t.model_name,params:{convert_dest_directory:a==="Custom"?d:void 0}};if(a==="Custom"&&d===""){n(On(Mn({title:r("modelManager.noCustomLocationProvided"),status:"error"})));return}n(On(Mn({title:`${r("modelManager.convertingModelBegin")}: ${t.model_name}`,status:"success"}))),o(v).unwrap().then(b=>{n(On(Mn({title:`${r("modelManager.modelConverted")}: ${t.model_name}`,status:"success"})))}).catch(b=>{n(On(Mn({title:`${r("modelManager.modelConversionFailed")}: ${t.model_name}`,status:"error"})))})};return i.jsxs(ix,{title:`${r("modelManager.convert")} ${t.model_name}`,acceptCallback:m,cancelCallback:h,acceptButtonText:`${r("modelManager.convert")}`,triggerComponent:i.jsxs(Jt,{size:"sm","aria-label":r("modelManager.convertToDiffusers"),className:" modal-close-btn",isLoading:s,children:["🧨 ",r("modelManager.convertToDiffusers")]}),motionPreset:"slideInBottom",children:[i.jsxs(F,{flexDirection:"column",rowGap:4,children:[i.jsx(qe,{children:r("modelManager.convertToDiffusersHelpText1")}),i.jsxs(Mb,{children:[i.jsx(wa,{children:r("modelManager.convertToDiffusersHelpText2")}),i.jsx(wa,{children:r("modelManager.convertToDiffusersHelpText3")}),i.jsx(wa,{children:r("modelManager.convertToDiffusersHelpText4")}),i.jsx(wa,{children:r("modelManager.convertToDiffusersHelpText5")})]}),i.jsx(qe,{children:r("modelManager.convertToDiffusersHelpText6")})]}),i.jsxs(F,{flexDir:"column",gap:2,children:[i.jsxs(F,{marginTop:4,flexDir:"column",gap:2,children:[i.jsx(qe,{fontWeight:"600",children:r("modelManager.convertToDiffusersSaveLocation")}),i.jsx(Zp,{value:a,onChange:v=>c(v),children:i.jsxs(F,{gap:4,children:[i.jsx(ya,{value:"InvokeAIRoot",children:i.jsx(wn,{label:"Save converted model in the InvokeAI root folder",children:r("modelManager.invokeRoot")})}),i.jsx(ya,{value:"Custom",children:i.jsx(wn,{label:"Save converted model in a custom folder",children:r("modelManager.custom")})})]})})]}),a==="Custom"&&i.jsxs(F,{flexDirection:"column",rowGap:2,children:[i.jsx(qe,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:r("modelManager.customSaveLocation")}),i.jsx(Rc,{value:d,onChange:v=>{p(v.target.value)},width:"full"})]})]})]})}function Ose(e){const t=z(Cr),{model:n}=e,[r,{isLoading:o}]=s5(),{data:s}=t5(),[a,c]=f.useState(!1);f.useEffect(()=>{s!=null&&s.includes(n.config)||c(!0)},[s,n.config]);const d=te(),{t:p}=ye(),h=wl({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"checkpoint",vae:n.vae?n.vae:"",config:n.config?n.config:"",variant:n.variant},validate:{path:v=>v.trim().length===0?"Must provide a path":null}}),m=f.useCallback(v=>{const b={base_model:n.base_model,model_name:n.model_name,body:v};r(b).unwrap().then(w=>{h.setValues(w),d(On(Mn({title:p("modelManager.modelUpdated"),status:"success"})))}).catch(w=>{h.reset(),d(On(Mn({title:p("modelManager.modelUpdateFailed"),status:"error"})))})},[h,d,n.base_model,n.model_name,p,r]);return i.jsxs(F,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(F,{justifyContent:"space-between",alignItems:"center",children:[i.jsxs(F,{flexDirection:"column",children:[i.jsx(qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(qe,{fontSize:"sm",color:"base.400",children:[Qn[n.base_model]," Model"]})]}),[""].includes(n.base_model)?i.jsx(ml,{sx:{p:2,borderRadius:4,bg:"error.200",_dark:{bg:"error.400"}},children:"Conversion Not Supported"}):i.jsx(Ese,{model:n})]}),i.jsx(Pi,{}),i.jsx(F,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",children:i.jsx("form",{onSubmit:h.onSubmit(v=>m(v)),children:i.jsxs(F,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(br,{label:p("modelManager.name"),...h.getInputProps("model_name")}),i.jsx(br,{label:p("modelManager.description"),...h.getInputProps("description")}),i.jsx(Xd,{required:!0,...h.getInputProps("base_model")}),i.jsx(lg,{required:!0,...h.getInputProps("variant")}),i.jsx(br,{required:!0,label:p("modelManager.modelLocation"),...h.getInputProps("path")}),i.jsx(br,{label:p("modelManager.vaeLocation"),...h.getInputProps("vae")}),i.jsxs(F,{flexDirection:"column",gap:2,children:[a?i.jsx(br,{required:!0,label:p("modelManager.config"),...h.getInputProps("config")}):i.jsx(KO,{required:!0,...h.getInputProps("config")}),i.jsx(Gn,{isChecked:a,onChange:()=>c(!a),label:"Use Custom Config"})]}),i.jsx(Jt,{type:"submit",isDisabled:t||o,isLoading:o,children:p("modelManager.updateModel")})]})})})]})}function Rse(e){const t=z(Cr),{model:n}=e,[r,{isLoading:o}]=s5(),s=te(),{t:a}=ye(),c=wl({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"diffusers",vae:n.vae?n.vae:"",variant:n.variant},validate:{path:p=>p.trim().length===0?"Must provide a path":null}}),d=f.useCallback(p=>{const h={base_model:n.base_model,model_name:n.model_name,body:p};r(h).unwrap().then(m=>{c.setValues(m),s(On(Mn({title:a("modelManager.modelUpdated"),status:"success"})))}).catch(m=>{c.reset(),s(On(Mn({title:a("modelManager.modelUpdateFailed"),status:"error"})))})},[c,s,n.base_model,n.model_name,a,r]);return i.jsxs(F,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(F,{flexDirection:"column",children:[i.jsx(qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(qe,{fontSize:"sm",color:"base.400",children:[Qn[n.base_model]," Model"]})]}),i.jsx(Pi,{}),i.jsx("form",{onSubmit:c.onSubmit(p=>d(p)),children:i.jsxs(F,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(br,{label:a("modelManager.name"),...c.getInputProps("model_name")}),i.jsx(br,{label:a("modelManager.description"),...c.getInputProps("description")}),i.jsx(Xd,{required:!0,...c.getInputProps("base_model")}),i.jsx(lg,{required:!0,...c.getInputProps("variant")}),i.jsx(br,{required:!0,label:a("modelManager.modelLocation"),...c.getInputProps("path")}),i.jsx(br,{label:a("modelManager.vaeLocation"),...c.getInputProps("vae")}),i.jsx(Jt,{type:"submit",isDisabled:t||o,isLoading:o,children:a("modelManager.updateModel")})]})})]})}function Mse(e){const t=z(Cr),{model:n}=e,[r,{isLoading:o}]=EM(),s=te(),{t:a}=ye(),c=wl({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"lora",path:n.path?n.path:"",description:n.description?n.description:"",model_format:n.model_format},validate:{path:p=>p.trim().length===0?"Must provide a path":null}}),d=f.useCallback(p=>{const h={base_model:n.base_model,model_name:n.model_name,body:p};r(h).unwrap().then(m=>{c.setValues(m),s(On(Mn({title:a("modelManager.modelUpdated"),status:"success"})))}).catch(m=>{c.reset(),s(On(Mn({title:a("modelManager.modelUpdateFailed"),status:"error"})))})},[s,c,n.base_model,n.model_name,a,r]);return i.jsxs(F,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(F,{flexDirection:"column",children:[i.jsx(qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(qe,{fontSize:"sm",color:"base.400",children:[Qn[n.base_model]," Model ⋅"," ",OM[n.model_format]," format"]})]}),i.jsx(Pi,{}),i.jsx("form",{onSubmit:c.onSubmit(p=>d(p)),children:i.jsxs(F,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(br,{label:a("modelManager.name"),...c.getInputProps("model_name")}),i.jsx(br,{label:a("modelManager.description"),...c.getInputProps("description")}),i.jsx(Xd,{...c.getInputProps("base_model")}),i.jsx(br,{label:a("modelManager.modelLocation"),...c.getInputProps("path")}),i.jsx(Jt,{type:"submit",isDisabled:t||o,isLoading:o,children:a("modelManager.updateModel")})]})})]})}function Su(e){const t=z(Cr),{t:n}=ye(),r=te(),[o]=RM(),[s]=MM(),{model:a,isSelected:c,setSelectedModelId:d}=e,p=f.useCallback(()=>{d(a.id)},[a.id,d]),h=f.useCallback(()=>{const m={main:o,lora:s}[a.model_type];m(a).unwrap().then(v=>{r(On(Mn({title:`${n("modelManager.modelDeleted")}: ${a.model_name}`,status:"success"})))}).catch(v=>{v&&r(On(Mn({title:`${n("modelManager.modelDeleteFailed")}: ${a.model_name}`,status:"error"})))}),d(void 0)},[o,s,a,d,r,n]);return i.jsxs(F,{sx:{gap:2,alignItems:"center",w:"full"},children:[i.jsx(F,{as:Jt,isChecked:c,sx:{justifyContent:"start",p:2,borderRadius:"base",w:"full",alignItems:"center",bg:c?"accent.400":"base.100",color:c?"base.50":"base.800",_hover:{bg:c?"accent.500":"base.300",color:c?"base.50":"base.800"},_dark:{color:c?"base.50":"base.100",bg:c?"accent.600":"base.850",_hover:{color:c?"base.50":"base.100",bg:c?"accent.550":"base.700"}}},onClick:p,children:i.jsxs(F,{gap:4,alignItems:"center",children:[i.jsx(ml,{minWidth:14,p:.5,fontSize:"sm",variant:"solid",children:DM[a.base_model]}),i.jsx(wn,{label:a.description,hasArrow:!0,placement:"bottom",children:i.jsx(qe,{sx:{fontWeight:500},children:a.model_name})})]})}),i.jsx(ix,{title:n("modelManager.deleteModel"),acceptCallback:h,acceptButtonText:n("modelManager.delete"),triggerComponent:i.jsx(Le,{icon:i.jsx(oU,{}),"aria-label":n("modelManager.deleteConfig"),isDisabled:t,colorScheme:"error"}),children:i.jsxs(F,{rowGap:4,flexDirection:"column",children:[i.jsx("p",{style:{fontWeight:"bold"},children:n("modelManager.deleteMsg1")}),i.jsx("p",{children:n("modelManager.deleteMsg2")})]})})]})}const Dse=e=>{const{selectedModelId:t,setSelectedModelId:n}=e,{t:r}=ye(),[o,s]=f.useState(""),[a,c]=f.useState("images"),{filteredDiffusersModels:d}=na(qi,{selectFromResult:({data:w})=>({filteredDiffusersModels:Cu(w,"main","diffusers",o)})}),{filteredCheckpointModels:p}=na(qi,{selectFromResult:({data:w})=>({filteredCheckpointModels:Cu(w,"main","checkpoint",o)})}),{filteredLoraModels:h}=cm(void 0,{selectFromResult:({data:w})=>({filteredLoraModels:Cu(w,"lora",void 0,o)})}),{filteredOnnxModels:m}=Fp(qi,{selectFromResult:({data:w})=>({filteredOnnxModels:Cu(w,"onnx","onnx",o)})}),{filteredOliveModels:v}=Fp(qi,{selectFromResult:({data:w})=>({filteredOliveModels:Cu(w,"onnx","olive",o)})}),b=f.useCallback(w=>{s(w.target.value)},[]);return i.jsx(F,{flexDirection:"column",rowGap:4,width:"50%",minWidth:"50%",children:i.jsxs(F,{flexDirection:"column",gap:4,paddingInlineEnd:4,children:[i.jsxs(rr,{isAttached:!0,children:[i.jsx(Jt,{onClick:()=>c("images"),isChecked:a==="images",size:"sm",children:r("modelManager.allModels")}),i.jsx(Jt,{size:"sm",onClick:()=>c("diffusers"),isChecked:a==="diffusers",children:r("modelManager.diffusersModels")}),i.jsx(Jt,{size:"sm",onClick:()=>c("onnx"),isChecked:a==="onnx",children:r("modelManager.onnxModels")}),i.jsx(Jt,{size:"sm",onClick:()=>c("olive"),isChecked:a==="olive",children:r("modelManager.oliveModels")}),i.jsx(Jt,{size:"sm",onClick:()=>c("lora"),isChecked:a==="lora",children:r("modelManager.loraModels")})]}),i.jsx(Rc,{onChange:b,label:r("modelManager.search"),labelPos:"side"}),i.jsxs(F,{flexDirection:"column",gap:4,maxHeight:window.innerHeight-280,overflow:"scroll",children:[["images","diffusers"].includes(a)&&d.length>0&&i.jsx(ku,{children:i.jsxs(F,{sx:{gap:2,flexDir:"column"},children:[i.jsx(qe,{variant:"subtext",fontSize:"sm",children:"Diffusers"}),d.map(w=>i.jsx(Su,{model:w,isSelected:t===w.id,setSelectedModelId:n},w.id))]})}),["images","checkpoint"].includes(a)&&p.length>0&&i.jsx(ku,{children:i.jsxs(F,{sx:{gap:2,flexDir:"column"},children:[i.jsx(qe,{variant:"subtext",fontSize:"sm",children:"Checkpoints"}),p.map(w=>i.jsx(Su,{model:w,isSelected:t===w.id,setSelectedModelId:n},w.id))]})}),["images","olive"].includes(a)&&v.length>0&&i.jsx(ku,{children:i.jsxs(F,{sx:{gap:2,flexDir:"column"},children:[i.jsx(qe,{variant:"subtext",fontSize:"sm",children:"Olives"}),v.map(w=>i.jsx(Su,{model:w,isSelected:t===w.id,setSelectedModelId:n},w.id))]})}),["images","onnx"].includes(a)&&m.length>0&&i.jsx(ku,{children:i.jsxs(F,{sx:{gap:2,flexDir:"column"},children:[i.jsx(qe,{variant:"subtext",fontSize:"sm",children:"Onnx"}),m.map(w=>i.jsx(Su,{model:w,isSelected:t===w.id,setSelectedModelId:n},w.id))]})}),["images","lora"].includes(a)&&h.length>0&&i.jsx(ku,{children:i.jsxs(F,{sx:{gap:2,flexDir:"column"},children:[i.jsx(qe,{variant:"subtext",fontSize:"sm",children:"LoRAs"}),h.map(w=>i.jsx(Su,{model:w,isSelected:t===w.id,setSelectedModelId:n},w.id))]})})]})]})})},Cu=(e,t,n,r)=>{const o=[];return so(e==null?void 0:e.entities,s=>{if(!s)return;const a=s.model_name.toLowerCase().includes(r.toLowerCase()),c=n===void 0||s.model_format===n,d=s.model_type===t;a&&c&&d&&o.push(s)}),o},ku=e=>i.jsx(F,{flexDirection:"column",gap:4,borderRadius:4,p:4,sx:{bg:"base.200",_dark:{bg:"base.800"}},children:e.children});function Ase(){const[e,t]=f.useState(),{mainModel:n}=na(qi,{selectFromResult:({data:s})=>({mainModel:e?s==null?void 0:s.entities[e]:void 0})}),{loraModel:r}=cm(void 0,{selectFromResult:({data:s})=>({loraModel:e?s==null?void 0:s.entities[e]:void 0})}),o=n||r;return i.jsxs(F,{sx:{gap:8,w:"full",h:"full"},children:[i.jsx(Dse,{selectedModelId:e,setSelectedModelId:t}),i.jsx(Tse,{model:o})]})}const Tse=e=>{const{model:t}=e;return(t==null?void 0:t.model_format)==="checkpoint"?i.jsx(Ose,{model:t},t.id):(t==null?void 0:t.model_format)==="diffusers"?i.jsx(Rse,{model:t},t.id):(t==null?void 0:t.model_type)==="lora"?i.jsx(Mse,{model:t},t.id):i.jsx(F,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",maxH:96,userSelect:"none"},children:i.jsx(qe,{variant:"subtext",children:"No Model Selected"})})};function Nse(){const{t:e}=ye();return i.jsxs(F,{sx:{w:"full",p:4,borderRadius:4,gap:4,justifyContent:"space-between",alignItems:"center",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(F,{sx:{flexDirection:"column",gap:2},children:[i.jsx(qe,{sx:{fontWeight:600},children:e("modelManager.syncModels")}),i.jsx(qe,{fontSize:"sm",sx:{_dark:{color:"base.400"}},children:e("modelManager.syncModelsDesc")})]}),i.jsx(Kd,{})]})}function $se(){return i.jsx(F,{children:i.jsx(Nse,{})})}const n_=[{id:"modelManager",label:Bn.t("modelManager.modelManager"),content:i.jsx(Ase,{})},{id:"importModels",label:Bn.t("modelManager.importModels"),content:i.jsx(_se,{})},{id:"mergeModels",label:Bn.t("modelManager.mergeModels"),content:i.jsx(jse,{})},{id:"settings",label:Bn.t("modelManager.settings"),content:i.jsx($se,{})}],zse=()=>i.jsxs(Td,{isLazy:!0,variant:"line",layerStyle:"first",sx:{w:"full",h:"full",p:4,gap:4,borderRadius:"base"},children:[i.jsx(Nd,{children:n_.map(e=>i.jsx(Cc,{sx:{borderTopRadius:"base"},children:e.label},e.id))}),i.jsx(Mm,{sx:{w:"full",h:"full"},children:n_.map(e=>i.jsx(Rm,{sx:{w:"full",h:"full"},children:e.content},e.id))})]}),Lse=f.memo(zse);const Bse=e=>fe([t=>t.nodes],t=>{const n=t.invocationTemplates[e];if(n)return n},{memoizeOptions:{resultEqualityCheck:(t,n)=>t!==void 0&&n!==void 0&&t.type===n.type}}),Fse=(e,t)=>{const n={id:e,name:t.name,type:t.type};return t.inputRequirement!=="never"&&(t.type==="string"&&(n.value=t.default??""),t.type==="integer"&&(n.value=t.default??0),t.type==="float"&&(n.value=t.default??0),t.type==="boolean"&&(n.value=t.default??!1),t.type==="enum"&&(t.enumType==="number"&&(n.value=t.default??0),t.enumType==="string"&&(n.value=t.default??"")),t.type==="array"&&(n.value=t.default??1),t.type==="image"&&(n.value=void 0),t.type==="image_collection"&&(n.value=[]),t.type==="latents"&&(n.value=void 0),t.type==="conditioning"&&(n.value=void 0),t.type==="unet"&&(n.value=void 0),t.type==="clip"&&(n.value=void 0),t.type==="vae"&&(n.value=void 0),t.type==="control"&&(n.value=void 0),t.type==="model"&&(n.value=void 0),t.type==="refiner_model"&&(n.value=void 0),t.type==="vae_model"&&(n.value=void 0),t.type==="lora_model"&&(n.value=void 0),t.type==="controlnet_model"&&(n.value=void 0)),n},Hse=fe([e=>e.nodes],e=>e.invocationTemplates),lx="node-drag-handle",r_={dragHandle:`.${lx}`},Wse=()=>{const e=z(Hse),t=ib();return f.useCallback(n=>{if(n==="progress_image"){const{x:h,y:m}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...r_,id:"progress_image",type:"progress_image",position:{x:h,y:m},data:{}}}const r=e[n];if(r===void 0){console.error(`Unable to find template ${n}.`);return}const o=ui(),s=uw(r.inputs,(h,m,v)=>{const b=ui(),w=Fse(b,m);return h[v]=w,h},{}),a=uw(r.outputs,(h,m,v)=>{const w={id:ui(),name:v,type:m.type};return h[v]=w,h},{}),{x:c,y:d}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...r_,id:o,type:"invocation",position:{x:c,y:d},data:{id:o,type:n,inputs:s,outputs:a}}},[e,t])},Vse=e=>{const{nodeId:t,title:n,description:r}=e;return i.jsxs(F,{className:lx,sx:{borderTopRadius:"md",alignItems:"center",justifyContent:"space-between",px:2,py:1,bg:"base.100",_dark:{bg:"base.900"}},children:[i.jsx(wn,{label:t,children:i.jsx(Ys,{size:"xs",sx:{fontWeight:600,color:"base.900",_dark:{color:"base.200"}},children:n})}),i.jsx(wn,{label:r,placement:"top",hasArrow:!0,shouldWrapChildren:!0,children:i.jsx(no,{sx:{h:"min-content",color:"base.700",_dark:{color:"base.300"}},as:gW})})]})},JO=f.memo(Vse),ZO=()=>()=>!0,Use={position:"absolute",width:"1rem",height:"1rem",borderWidth:0},Gse={left:"-1rem"},qse={right:"-0.5rem"},Kse=e=>{const{field:t,isValidConnection:n,handleType:r,styles:o}=e,{name:s,type:a}=t;return i.jsx(wn,{label:a,placement:r==="target"?"start":"end",hasArrow:!0,openDelay:a5,children:i.jsx(AM,{type:r,id:s,isValidConnection:n,position:r==="target"?dw.Left:dw.Right,style:{backgroundColor:i5[a].colorCssVar,...o,...Use,...r==="target"?Gse:qse}})})},e8=f.memo(Kse),Xse=e=>i.jsx(yW,{}),Yse=f.memo(Xse),Qse=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(As({nodeId:t,fieldName:n.name,value:s.target.checked}))};return i.jsx(Qb,{onChange:o,isChecked:n.value})},Jse=f.memo(Qse),Zse=e=>null,eae=f.memo(Zse);function cg(){return(cg=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}function F1(e){var t=f.useRef(e),n=f.useRef(function(r){t.current&&t.current(r)});return t.current=e,n.current}var Mc=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e0:S.buttons>0)&&o.current?s(o_(o.current,S,c.current)):y(!1)},w=function(){return y(!1)};function y(S){var _=d.current,k=H1(o.current),j=S?k.addEventListener:k.removeEventListener;j(_?"touchmove":"mousemove",b),j(_?"touchend":"mouseup",w)}return[function(S){var _=S.nativeEvent,k=o.current;if(k&&(s_(_),!function(I,E){return E&&!Xu(I)}(_,d.current)&&k)){if(Xu(_)){d.current=!0;var j=_.changedTouches||[];j.length&&(c.current=j[0].identifier)}k.focus(),s(o_(k,_,c.current)),y(!0)}},function(S){var _=S.which||S.keyCode;_<37||_>40||(S.preventDefault(),a({left:_===39?.05:_===37?-.05:0,top:_===40?.05:_===38?-.05:0}))},y]},[a,s]),h=p[0],m=p[1],v=p[2];return f.useEffect(function(){return v},[v]),H.createElement("div",cg({},r,{onTouchStart:h,onMouseDown:h,className:"react-colorful__interactive",ref:o,onKeyDown:m,tabIndex:0,role:"slider"}))}),ug=function(e){return e.filter(Boolean).join(" ")},ux=function(e){var t=e.color,n=e.left,r=e.top,o=r===void 0?.5:r,s=ug(["react-colorful__pointer",e.className]);return H.createElement("div",{className:s,style:{top:100*o+"%",left:100*n+"%"}},H.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},po=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=Math.pow(10,t)),Math.round(n*e)/n},n8=function(e){var t=e.s,n=e.v,r=e.a,o=(200-t)*n/100;return{h:po(e.h),s:po(o>0&&o<200?t*n/100/(o<=100?o:200-o)*100:0),l:po(o/2),a:po(r,2)}},W1=function(e){var t=n8(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},gv=function(e){var t=n8(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},tae=function(e){var t=e.h,n=e.s,r=e.v,o=e.a;t=t/360*6,n/=100,r/=100;var s=Math.floor(t),a=r*(1-n),c=r*(1-(t-s)*n),d=r*(1-(1-t+s)*n),p=s%6;return{r:po(255*[r,c,a,a,d,r][p]),g:po(255*[d,r,r,c,a,a][p]),b:po(255*[a,a,d,r,r,c][p]),a:po(o,2)}},nae=function(e){var t=e.r,n=e.g,r=e.b,o=e.a,s=Math.max(t,n,r),a=s-Math.min(t,n,r),c=a?s===t?(n-r)/a:s===n?2+(r-t)/a:4+(t-n)/a:0;return{h:po(60*(c<0?c+6:c)),s:po(s?a/s*100:0),v:po(s/255*100),a:o}},rae=H.memo(function(e){var t=e.hue,n=e.onChange,r=ug(["react-colorful__hue",e.className]);return H.createElement("div",{className:r},H.createElement(cx,{onMove:function(o){n({h:360*o.left})},onKey:function(o){n({h:Mc(t+360*o.left,0,360)})},"aria-label":"Hue","aria-valuenow":po(t),"aria-valuemax":"360","aria-valuemin":"0"},H.createElement(ux,{className:"react-colorful__hue-pointer",left:t/360,color:W1({h:t,s:100,v:100,a:1})})))}),oae=H.memo(function(e){var t=e.hsva,n=e.onChange,r={backgroundColor:W1({h:t.h,s:100,v:100,a:1})};return H.createElement("div",{className:"react-colorful__saturation",style:r},H.createElement(cx,{onMove:function(o){n({s:100*o.left,v:100-100*o.top})},onKey:function(o){n({s:Mc(t.s+100*o.left,0,100),v:Mc(t.v-100*o.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+po(t.s)+"%, Brightness "+po(t.v)+"%"},H.createElement(ux,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:W1(t)})))}),r8=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0};function sae(e,t,n){var r=F1(n),o=f.useState(function(){return e.toHsva(t)}),s=o[0],a=o[1],c=f.useRef({color:t,hsva:s});f.useEffect(function(){if(!e.equal(t,c.current.color)){var p=e.toHsva(t);c.current={hsva:p,color:t},a(p)}},[t,e]),f.useEffect(function(){var p;r8(s,c.current.hsva)||e.equal(p=e.fromHsva(s),c.current.color)||(c.current={hsva:s,color:p},r(p))},[s,e,r]);var d=f.useCallback(function(p){a(function(h){return Object.assign({},h,p)})},[]);return[s,d]}var aae=typeof window<"u"?f.useLayoutEffect:f.useEffect,iae=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},a_=new Map,lae=function(e){aae(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!a_.has(t)){var n=t.createElement("style");n.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,a_.set(t,n);var r=iae();r&&n.setAttribute("nonce",r),t.head.appendChild(n)}},[])},cae=function(e){var t=e.className,n=e.hsva,r=e.onChange,o={backgroundImage:"linear-gradient(90deg, "+gv(Object.assign({},n,{a:0}))+", "+gv(Object.assign({},n,{a:1}))+")"},s=ug(["react-colorful__alpha",t]),a=po(100*n.a);return H.createElement("div",{className:s},H.createElement("div",{className:"react-colorful__alpha-gradient",style:o}),H.createElement(cx,{onMove:function(c){r({a:c.left})},onKey:function(c){r({a:Mc(n.a+c.left)})},"aria-label":"Alpha","aria-valuetext":a+"%","aria-valuenow":a,"aria-valuemin":"0","aria-valuemax":"100"},H.createElement(ux,{className:"react-colorful__alpha-pointer",left:n.a,color:gv(n)})))},uae=function(e){var t=e.className,n=e.colorModel,r=e.color,o=r===void 0?n.defaultColor:r,s=e.onChange,a=t8(e,["className","colorModel","color","onChange"]),c=f.useRef(null);lae(c);var d=sae(n,o,s),p=d[0],h=d[1],m=ug(["react-colorful",t]);return H.createElement("div",cg({},a,{ref:c,className:m}),H.createElement(oae,{hsva:p,onChange:h}),H.createElement(rae,{hue:p.h,onChange:h}),H.createElement(cae,{hsva:p,onChange:h,className:"react-colorful__last-control"}))},dae={defaultColor:{r:0,g:0,b:0,a:1},toHsva:nae,fromHsva:tae,equal:r8},o8=function(e){return H.createElement(uae,cg({},e,{colorModel:dae}))};const fae=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(As({nodeId:t,fieldName:n.name,value:s}))};return i.jsx(o8,{className:"nodrag",color:n.value,onChange:o})},pae=f.memo(fae),hae=e=>null,mae=f.memo(hae),gae=e=>null,vae=f.memo(gae),bae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=ab(),a=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/controlnet/${r==null?void 0:r.model_name}`])??null,[r==null?void 0:r.base_model,r==null?void 0:r.model_name,s==null?void 0:s.entities]),c=f.useMemo(()=>{if(!s)return[];const p=[];return so(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:Qn[h.base_model]})}),p},[s]),d=f.useCallback(p=>{if(!p)return;const h=HO(p);h&&o(As({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return i.jsx(Xr,{tooltip:a==null?void 0:a.description,label:(a==null?void 0:a.base_model)&&Qn[a==null?void 0:a.base_model],value:(a==null?void 0:a.id)??null,placeholder:"Pick one",error:!a,data:c,onChange:d})},yae=f.memo(bae),xae=e=>{const{nodeId:t,field:n,template:r}=e,o=te(),s=a=>{o(As({nodeId:t,fieldName:n.name,value:a.target.value}))};return i.jsx(M6,{onChange:s,value:n.value,children:r.options.map(a=>i.jsx("option",{children:a},a))})},wae=f.memo(xae),Sae=e=>{var c;const{nodeId:t,field:n}=e,r={id:`node-${t}-${n.name}`,actionType:"SET_MULTI_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}},{isOver:o,setNodeRef:s,active:a}=Q1({id:`node_${t}`,data:r});return i.jsxs(F,{ref:s,sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",position:"relative",minH:"10rem"},children:[(c=n.value)==null?void 0:c.map(({image_name:d})=>i.jsx(kae,{imageName:d},d)),Tp(r,a)&&i.jsx(ch,{isOver:o})]})},Cae=f.memo(Sae),kae=e=>{const{currentData:t}=os(e.imageName);return i.jsx(yi,{imageDTO:t,isDropDisabled:!0,isDragDisabled:!0})},_ae=e=>{var p;const{nodeId:t,field:n}=e,r=te(),{currentData:o}=os(((p=n.value)==null?void 0:p.image_name)??oo.skipToken),s=f.useCallback(()=>{r(As({nodeId:t,fieldName:n.name,value:void 0}))},[r,n.name,t]),a=f.useMemo(()=>{if(o)return{id:`node-${t}-${n.name}`,payloadType:"IMAGE_DTO",payload:{imageDTO:o}}},[n.name,o,t]),c=f.useMemo(()=>({id:`node-${t}-${n.name}`,actionType:"SET_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}}),[n.name,t]),d=f.useMemo(()=>({type:"SET_NODES_IMAGE",nodeId:t,fieldName:n.name}),[t,n.name]);return i.jsx(F,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(yi,{imageDTO:o,droppableData:c,draggableData:a,onClickReset:s,postUploadAction:d})})},Pae=f.memo(_ae),jae=e=>i.jsx(XH,{}),i_=f.memo(jae),Iae=e=>null,Eae=f.memo(Iae),Oae=e=>{const t=lm("models"),[n,r,o]=e.split("/"),s=TM.safeParse({base_model:n,model_name:o});if(!s.success){t.error({loraModelId:e,errors:s.error.format()},"Failed to parse LoRA model id");return}return s.data},Rae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=cm(),a=f.useMemo(()=>{if(!s)return[];const p=[];return so(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:Qn[h.base_model]})}),p.sort((h,m)=>h.disabled&&!m.disabled?1:-1)},[s]),c=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/lora/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r==null?void 0:r.base_model,r==null?void 0:r.model_name]),d=f.useCallback(p=>{if(!p)return;const h=Oae(p);h&&o(As({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return(s==null?void 0:s.ids.length)===0?i.jsx(F,{sx:{justifyContent:"center",p:2},children:i.jsx(qe,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):i.jsx(ar,{value:(c==null?void 0:c.id)??null,label:(c==null?void 0:c.base_model)&&Qn[c==null?void 0:c.base_model],placeholder:a.length>0?"Select a LoRA":"No LoRAs available",data:a,nothingFound:"No matching LoRAs",itemComponent:Ri,disabled:a.length===0,filter:(p,h)=>{var m;return((m=h.label)==null?void 0:m.toLowerCase().includes(p.toLowerCase().trim()))||h.value.toLowerCase().includes(p.toLowerCase().trim())},onChange:d})},Mae=f.memo(Rae),Dae=e=>{var v,b;const{nodeId:t,field:n}=e,r=te(),{t:o}=ye(),s=ir("syncModels").isFeatureEnabled,{data:a}=Fp(Yu),{data:c,isLoading:d}=na(Yu),p=f.useMemo(()=>{if(!c)return[];const w=[];return so(c.entities,(y,S)=>{y&&w.push({value:S,label:y.model_name,group:Qn[y.base_model]})}),a&&so(a.entities,(y,S)=>{y&&w.push({value:S,label:y.model_name,group:Qn[y.base_model]})}),w},[c,a]),h=f.useMemo(()=>{var w,y,S,_;return((c==null?void 0:c.entities[`${(w=n.value)==null?void 0:w.base_model}/main/${(y=n.value)==null?void 0:y.model_name}`])||(a==null?void 0:a.entities[`${(S=n.value)==null?void 0:S.base_model}/onnx/${(_=n.value)==null?void 0:_.model_name}`]))??null},[(v=n.value)==null?void 0:v.base_model,(b=n.value)==null?void 0:b.model_name,c==null?void 0:c.entities,a==null?void 0:a.entities]),m=f.useCallback(w=>{if(!w)return;const y=ag(w);y&&r(As({nodeId:t,fieldName:n.name,value:y}))},[r,n.name,t]);return d?i.jsx(ar,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(F,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(ar,{tooltip:h==null?void 0:h.description,label:(h==null?void 0:h.base_model)&&Qn[h==null?void 0:h.base_model],value:h==null?void 0:h.id,placeholder:p.length>0?"Select a model":"No models available",data:p,error:p.length===0,disabled:p.length===0,onChange:m}),s&&i.jsx(Ee,{mt:7,children:i.jsx(Kd,{iconMode:!0})})]})},Aae=f.memo(Dae),Tae=e=>{const{nodeId:t,field:n}=e,r=te(),[o,s]=f.useState(String(n.value)),a=c=>{s(c),c.match(tm)||r(As({nodeId:t,fieldName:n.name,value:e.template.type==="integer"?Math.floor(Number(c)):Number(c)}))};return f.useEffect(()=>{!o.match(tm)&&n.value!==Number(o)&&s(String(n.value))},[n.value,o]),i.jsxs(ym,{onChange:a,value:o,step:e.template.type==="integer"?1:.1,precision:e.template.type==="integer"?0:3,children:[i.jsx(wm,{}),i.jsxs(xm,{children:[i.jsx(Cm,{}),i.jsx(Sm,{})]})]})},Nae=f.memo(Tae),$ae=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(As({nodeId:t,fieldName:n.name,value:s.target.value}))};return["prompt","style"].includes(n.name.toLowerCase())?i.jsx(Jb,{onChange:o,value:n.value,rows:2}):i.jsx(Pd,{onChange:o,value:n.value})},zae=f.memo($ae),Lae=e=>null,Bae=f.memo(Lae),Fae=e=>null,Hae=f.memo(Fae),Wae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=X_(),a=f.useMemo(()=>{if(!s)return[];const p=[{value:"default",label:"Default",group:"Default"}];return so(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:Qn[h.base_model]})}),p.sort((h,m)=>h.disabled&&!m.disabled?1:-1)},[s]),c=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r]),d=f.useCallback(p=>{if(!p)return;const h=AO(p);h&&o(As({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return i.jsx(ar,{itemComponent:Ri,tooltip:c==null?void 0:c.description,label:(c==null?void 0:c.base_model)&&Qn[c==null?void 0:c.base_model],value:(c==null?void 0:c.id)??"default",placeholder:"Default",data:a,onChange:d,disabled:a.length===0,clearable:!0})},Vae=f.memo(Wae),Uae=e=>{var m,v;const{nodeId:t,field:n}=e,r=te(),{t:o}=ye(),s=ir("syncModels").isFeatureEnabled,{data:a,isLoading:c}=na(sb),d=f.useMemo(()=>{if(!a)return[];const b=[];return so(a.entities,(w,y)=>{w&&b.push({value:y,label:w.model_name,group:Qn[w.base_model]})}),b},[a]),p=f.useMemo(()=>{var b,w;return(a==null?void 0:a.entities[`${(b=n.value)==null?void 0:b.base_model}/main/${(w=n.value)==null?void 0:w.model_name}`])??null},[(m=n.value)==null?void 0:m.base_model,(v=n.value)==null?void 0:v.model_name,a==null?void 0:a.entities]),h=f.useCallback(b=>{if(!b)return;const w=ag(b);w&&r(As({nodeId:t,fieldName:n.name,value:w}))},[r,n.name,t]);return c?i.jsx(ar,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(F,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(ar,{tooltip:p==null?void 0:p.description,label:(p==null?void 0:p.base_model)&&Qn[p==null?void 0:p.base_model],value:p==null?void 0:p.id,placeholder:d.length>0?"Select a model":"No models available",data:d,error:d.length===0,disabled:d.length===0,onChange:h}),s&&i.jsx(Ee,{mt:7,children:i.jsx(Kd,{iconMode:!0})})]})},Gae=f.memo(Uae),qae=e=>{const{nodeId:t,field:n,template:r}=e,{type:o}=n;return o==="string"&&r.type==="string"?i.jsx(zae,{nodeId:t,field:n,template:r}):o==="boolean"&&r.type==="boolean"?i.jsx(Jse,{nodeId:t,field:n,template:r}):o==="integer"&&r.type==="integer"||o==="float"&&r.type==="float"?i.jsx(Nae,{nodeId:t,field:n,template:r}):o==="enum"&&r.type==="enum"?i.jsx(wae,{nodeId:t,field:n,template:r}):o==="image"&&r.type==="image"?i.jsx(Pae,{nodeId:t,field:n,template:r}):o==="latents"&&r.type==="latents"?i.jsx(Eae,{nodeId:t,field:n,template:r}):o==="conditioning"&&r.type==="conditioning"?i.jsx(mae,{nodeId:t,field:n,template:r}):o==="unet"&&r.type==="unet"?i.jsx(Bae,{nodeId:t,field:n,template:r}):o==="clip"&&r.type==="clip"?i.jsx(eae,{nodeId:t,field:n,template:r}):o==="vae"&&r.type==="vae"?i.jsx(Hae,{nodeId:t,field:n,template:r}):o==="control"&&r.type==="control"?i.jsx(vae,{nodeId:t,field:n,template:r}):o==="model"&&r.type==="model"?i.jsx(Aae,{nodeId:t,field:n,template:r}):o==="refiner_model"&&r.type==="refiner_model"?i.jsx(Gae,{nodeId:t,field:n,template:r}):o==="vae_model"&&r.type==="vae_model"?i.jsx(Vae,{nodeId:t,field:n,template:r}):o==="lora_model"&&r.type==="lora_model"?i.jsx(Mae,{nodeId:t,field:n,template:r}):o==="controlnet_model"&&r.type==="controlnet_model"?i.jsx(yae,{nodeId:t,field:n,template:r}):o==="array"&&r.type==="array"?i.jsx(Yse,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?i.jsx(i_,{nodeId:t,field:n,template:r}):o==="color"&&r.type==="color"?i.jsx(pae,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?i.jsx(i_,{nodeId:t,field:n,template:r}):o==="image_collection"&&r.type==="image_collection"?i.jsx(Cae,{nodeId:t,field:n,template:r}):i.jsxs(Ee,{p:2,children:["Unknown field type: ",o]})},Kae=f.memo(qae);function Xae(e){const{nodeId:t,input:n,template:r,connected:o}=e,s=ZO();return i.jsx(Ee,{className:"nopan",position:"relative",borderColor:r?!o&&["always","connectionOnly"].includes(String(r==null?void 0:r.inputRequirement))&&n.value===void 0?"warning.400":void 0:"error.400",children:i.jsx(go,{isDisabled:r?o:!0,pl:2,children:r?i.jsxs(i.Fragment,{children:[i.jsxs(di,{justifyContent:"space-between",alignItems:"center",children:[i.jsx(di,{children:i.jsx(wn,{label:r==null?void 0:r.description,placement:"top",hasArrow:!0,shouldWrapChildren:!0,openDelay:a5,children:i.jsx(Lo,{children:r==null?void 0:r.title})})}),i.jsx(Kae,{nodeId:t,field:n,template:r})]}),!["never","directOnly"].includes((r==null?void 0:r.inputRequirement)??"")&&i.jsx(e8,{nodeId:t,field:r,isValidConnection:s,handleType:"target"})]}):i.jsx(di,{justifyContent:"space-between",alignItems:"center",children:i.jsxs(Lo,{children:["Unknown input: ",n.name]})})})})}const Yae=e=>{const{nodeId:t,template:n,inputs:r}=e,o=z(a=>a.nodes.edges);return f.useCallback(()=>{const a=[],c=cs(r);return c.forEach((d,p)=>{const h=n.inputs[d.name],m=!!o.filter(v=>v.target===t&&v.targetHandle===d.name).length;p{const{nodeId:t,template:n,outputs:r}=e,o=z(a=>a.nodes.edges);return f.useCallback(()=>{const a=[];return cs(r).forEach(d=>{const p=n.outputs[d.name],h=!!o.filter(m=>m.source===t&&m.sourceHandle===d.name).length;a.push(i.jsx(Jae,{nodeId:t,output:d,template:p,connected:h},d.id))}),i.jsx(F,{flexDir:"column",children:a})},[o,t,r,n.outputs])()},eie=f.memo(Zae),tie=e=>{const{...t}=e;return i.jsx(U9,{style:{position:"absolute",border:"none",background:"transparent",width:15,height:15,bottom:0,right:0},minWidth:l5,...t})},V1=f.memo(tie),U1=e=>{const[t,n]=Tc("shadows",["nodeSelectedOutline","dark-lg"]),r=z(o=>o.hotkeys.shift);return i.jsx(Ee,{className:r?lx:"nopan",sx:{position:"relative",borderRadius:"md",minWidth:l5,shadow:e.selected?`${t}, ${n}`:`${n}`},children:e.children})},s8=f.memo(e=>{const{id:t,data:n,selected:r}=e,{type:o,inputs:s,outputs:a}=n,c=f.useMemo(()=>Bse(o),[o]),d=z(c);return d?i.jsxs(U1,{selected:r,children:[i.jsx(JO,{nodeId:t,title:d.title,description:d.description}),i.jsxs(F,{className:"nopan",sx:{cursor:"auto",flexDirection:"column",borderBottomRadius:"md",py:2,bg:"base.150",_dark:{bg:"base.800"}},children:[i.jsx(eie,{nodeId:t,outputs:a,template:d}),i.jsx(Qae,{nodeId:t,inputs:s,template:d})]}),i.jsx(V1,{})]}):i.jsx(U1,{selected:r,children:i.jsxs(F,{className:"nopan",sx:{alignItems:"center",justifyContent:"center",cursor:"auto"},children:[i.jsx(no,{as:xP,sx:{boxSize:32,color:"base.600",_dark:{color:"base.400"}}}),i.jsx(V1,{})]})})});s8.displayName="InvocationComponent";const nie=e=>{const t=fw(a=>a.system.progressImage),n=fw(a=>a.nodes.progressNodeSize),r=NM(),{selected:o}=e,s=(a,c)=>{r($M(c))};return i.jsxs(U1,{selected:o,children:[i.jsx(JO,{title:"Progress Image",description:"Displays the progress image in the Node Editor"}),i.jsx(F,{sx:{flexDirection:"column",flexShrink:0,borderBottomRadius:"md",bg:"base.200",_dark:{bg:"base.800"},width:n.width-2,height:n.height-2,minW:250,minH:250,overflow:"hidden"},children:t?i.jsx(Nc,{src:t.dataURL,sx:{w:"full",h:"full",objectFit:"contain"}}):i.jsx(F,{sx:{minW:250,minH:250,width:n.width-2,height:n.height-2},children:i.jsx(mi,{})})}),i.jsx(V1,{onResize:s})]})},rie=f.memo(nie),oie=()=>{const{t:e}=ye(),{zoomIn:t,zoomOut:n,fitView:r}=ib(),o=te(),s=z(w=>w.nodes.shouldShowGraphOverlay),a=z(w=>w.nodes.shouldShowFieldTypeLegend),c=z(w=>w.nodes.shouldShowMinimapPanel),d=f.useCallback(()=>{t()},[t]),p=f.useCallback(()=>{n()},[n]),h=f.useCallback(()=>{r()},[r]),m=f.useCallback(()=>{o(zM(!s))},[s,o]),v=f.useCallback(()=>{o(LM(!a))},[a,o]),b=f.useCallback(()=>{o(BM(!c))},[c,o]);return i.jsxs(rr,{isAttached:!0,orientation:"vertical",children:[i.jsx(wn,{label:e("nodes.zoomInNodes"),children:i.jsx(Le,{"aria-label":"Zoom in ",onClick:d,icon:i.jsx(gl,{})})}),i.jsx(wn,{label:e("nodes.zoomOutNodes"),children:i.jsx(Le,{"aria-label":"Zoom out",onClick:p,icon:i.jsx(SW,{})})}),i.jsx(wn,{label:e("nodes.fitViewportNodes"),children:i.jsx(Le,{"aria-label":"Fit viewport",onClick:h,icon:i.jsx(cW,{})})}),i.jsx(wn,{label:e(s?"nodes.hideGraphNodes":"nodes.showGraphNodes"),children:i.jsx(Le,{"aria-label":"Toggle nodes graph overlay",isChecked:s,onClick:m,icon:i.jsx(ty,{})})}),i.jsx(wn,{label:e(a?"nodes.hideLegendNodes":"nodes.showLegendNodes"),children:i.jsx(Le,{"aria-label":"Toggle field type legend",isChecked:a,onClick:v,icon:i.jsx(vW,{})})}),i.jsx(wn,{label:e(c?"nodes.hideMinimapnodes":"nodes.showMinimapnodes"),children:i.jsx(Le,{"aria-label":"Toggle minimap",isChecked:c,onClick:b,icon:i.jsx(xW,{})})})]})},sie=f.memo(oie),aie=()=>i.jsx(md,{position:"bottom-left",children:i.jsx(sie,{})}),iie=f.memo(aie),lie=()=>{const e=Cp({background:"var(--invokeai-colors-base-200)"},{background:"var(--invokeai-colors-base-500)"}),t=z(o=>o.nodes.shouldShowMinimapPanel),n=Cp("var(--invokeai-colors-accent-300)","var(--invokeai-colors-accent-700)"),r=Cp("var(--invokeai-colors-blackAlpha-300)","var(--invokeai-colors-blackAlpha-600)");return i.jsx(i.Fragment,{children:t&&i.jsx(T9,{nodeStrokeWidth:3,pannable:!0,zoomable:!0,nodeBorderRadius:30,style:e,nodeColor:n,maskColor:r})})},cie=f.memo(lie),uie=()=>{const{t:e}=ye(),t=te(),{isOpen:n,onOpen:r,onClose:o}=ss(),s=f.useRef(null),a=z(d=>d.nodes.nodes),c=f.useCallback(()=>{t(FM()),t(On(Mn({title:e("toast.nodesCleared"),status:"success"}))),o()},[t,e,o]);return i.jsxs(i.Fragment,{children:[i.jsx(Le,{icon:i.jsx(us,{}),tooltip:e("nodes.clearGraph"),"aria-label":e("nodes.clearGraph"),onClick:r,isDisabled:a.length===0}),i.jsxs(Md,{isOpen:n,onClose:o,leastDestructiveRef:s,isCentered:!0,children:[i.jsx(Da,{}),i.jsxs(Dd,{children:[i.jsx(Ma,{fontSize:"lg",fontWeight:"bold",children:e("nodes.clearGraph")}),i.jsx(Aa,{children:i.jsx(qe,{children:e("nodes.clearGraphDesc")})}),i.jsxs(Ra,{children:[i.jsx(bc,{ref:s,onClick:o,children:e("common.cancel")}),i.jsx(bc,{colorScheme:"red",ml:3,onClick:c,children:e("common.accept")})]})]})]})]})},die=f.memo(uie);function fie(e){const t=["nodes","edges","viewport"];for(const s of t)if(!(s in e))return{isValid:!1,message:Bn.t("toast.nodesNotValidGraph")};if(!Array.isArray(e.nodes)||!Array.isArray(e.edges))return{isValid:!1,message:Bn.t("toast.nodesNotValidGraph")};const n=["data","type"],r=["invocation","progress_image"];if(e.nodes.length>0)for(const s of e.nodes)for(const a of n){if(!(a in s))return{isValid:!1,message:Bn.t("toast.nodesNotValidGraph")};if(a==="type"&&!r.includes(s[a]))return{isValid:!1,message:Bn.t("toast.nodesUnrecognizedTypes")}}const o=["source","sourceHandle","target","targetHandle"];if(e.edges.length>0){for(const s of e.edges)for(const a of o)if(!(a in s))return{isValid:!1,message:Bn.t("toast.nodesBrokenConnections")}}return{isValid:!0,message:Bn.t("toast.nodesLoaded")}}const pie=()=>{const{t:e}=ye(),t=te(),{fitView:n}=ib(),r=f.useRef(null),o=f.useCallback(s=>{var c;if(!s)return;const a=new FileReader;a.onload=async()=>{const d=a.result;try{const p=await JSON.parse(String(d)),{isValid:h,message:m}=fie(p);h?(t(HM(p.nodes)),t(WM(p.edges)),n(),t(On(Mn({title:m,status:"success"})))):t(On(Mn({title:m,status:"error"}))),a.abort()}catch(p){p&&t(On(Mn({title:e("toast.nodesNotValidJSON"),status:"error"})))}},a.readAsText(s),(c=r.current)==null||c.call(r)},[n,t,e]);return i.jsx(SE,{resetRef:r,accept:"application/json",onChange:o,children:s=>i.jsx(Le,{icon:i.jsx(zd,{}),tooltip:e("nodes.loadGraph"),"aria-label":e("nodes.loadGraph"),...s})})},hie=f.memo(pie);function mie(e){const{iconButton:t=!1,...n}=e,r=te(),o=z(Kn),s=Gd(),a=f.useCallback(()=>{r(yd("nodes"))},[r]),{t:c}=ye();return rt(["ctrl+enter","meta+enter"],a,{enabled:()=>s,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[s,o]),i.jsx(Ee,{style:{flexGrow:4},position:"relative",children:i.jsxs(Ee,{style:{position:"relative"},children:[!s&&i.jsx(Ee,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},children:i.jsx(IO,{})}),t?i.jsx(Le,{"aria-label":c("parameters.invoke"),type:"submit",icon:i.jsx(PP,{}),isDisabled:!s,onClick:a,flexGrow:1,w:"100%",tooltip:c("parameters.invoke"),tooltipProps:{placement:"bottom"},colorScheme:"accent",id:"invoke-button",_disabled:{background:"none",_hover:{background:"none"}},...n}):i.jsx(Jt,{"aria-label":c("parameters.invoke"),type:"submit",isDisabled:!s,onClick:a,flexGrow:1,w:"100%",colorScheme:"accent",id:"invoke-button",fontWeight:700,_disabled:{background:"none",_hover:{background:"none"}},...n,children:"Invoke"})]})})}function gie(){const{t:e}=ye(),t=te(),n=f.useCallback(()=>{t(VM())},[t]);return i.jsx(Le,{icon:i.jsx(IW,{}),tooltip:e("nodes.reloadSchema"),"aria-label":e("nodes.reloadSchema"),onClick:n})}const vie=()=>{const{t:e}=ye(),t=z(o=>o.nodes.editorInstance),n=z(o=>o.nodes.nodes),r=f.useCallback(()=>{if(t){const o=t.toObject();o.edges=cs(o.edges,c=>UM(c,["style"]));const s=new Blob([JSON.stringify(o)]),a=document.createElement("a");a.href=URL.createObjectURL(s),a.download="MyNodes.json",document.body.appendChild(a),a.click(),a.remove()}},[t]);return i.jsx(Le,{icon:i.jsx(Dm,{}),fontSize:18,tooltip:e("nodes.saveGraph"),"aria-label":e("nodes.saveGraph"),onClick:r,isDisabled:n.length===0})},bie=f.memo(vie),yie=()=>i.jsx(md,{position:"top-center",children:i.jsxs(di,{children:[i.jsx(mie,{}),i.jsx(ng,{}),i.jsx(gie,{}),i.jsx(bie,{}),i.jsx(hie,{}),i.jsx(die,{})]})}),xie=f.memo(yie),wie=fe([Ye],({nodes:e})=>{const t=cs(e.invocationTemplates,n=>({label:n.title,value:n.type,description:n.description}));return t.push({label:"Progress Image",value:"progress_image",description:"Displays the progress image in the Node Editor"}),{data:t}},Ge),Sie=()=>{const e=te(),{data:t}=z(wie),n=Wse(),r=Wc(),o=f.useCallback(a=>{const c=n(a);if(!c){r({status:"error",title:`Unknown Invocation type ${a}`});return}e(GM(c))},[e,n,r]),s=f.useCallback(a=>{a&&o(a)},[o]);return i.jsx(F,{sx:{gap:2,alignItems:"center"},children:i.jsx(ar,{selectOnBlur:!1,placeholder:"Add Node",value:null,data:t,maxDropdownHeight:400,nothingFound:"No matching nodes",itemComponent:a8,filter:(a,c)=>c.label.toLowerCase().includes(a.toLowerCase().trim())||c.value.toLowerCase().includes(a.toLowerCase().trim())||c.description.toLowerCase().includes(a.toLowerCase().trim()),onChange:s,sx:{width:"18rem"}})})},a8=f.forwardRef(({label:e,description:t,...n},r)=>i.jsx("div",{ref:r,...n,children:i.jsxs("div",{children:[i.jsx(qe,{fontWeight:600,children:e}),i.jsx(qe,{size:"xs",sx:{color:"base.600",_dark:{color:"base.500"}},children:t})]})}));a8.displayName="SelectItem";const Cie=()=>i.jsx(md,{position:"top-left",children:i.jsx(Sie,{})}),kie=f.memo(Cie),_ie=()=>i.jsx(F,{sx:{gap:2,flexDir:"column"},children:cs(i5,({title:e,description:t,color:n},r)=>i.jsx(wn,{label:t,children:i.jsx(ml,{colorScheme:n,sx:{userSelect:"none"},textAlign:"center",children:e})},r))}),Pie=f.memo(_ie),jie=()=>{const e=z(n=>n),t=qM(e);return i.jsx(Ee,{as:"pre",sx:{fontFamily:"monospace",position:"absolute",top:2,right:2,opacity:.7,p:2,maxHeight:500,maxWidth:500,overflowY:"scroll",borderRadius:"base",bg:"base.200",_dark:{bg:"base.800"}},children:JSON.stringify(t,null,2)})},Iie=f.memo(jie),Eie=()=>{const e=z(n=>n.nodes.shouldShowGraphOverlay),t=z(n=>n.nodes.shouldShowFieldTypeLegend);return i.jsxs(md,{position:"top-right",children:[t&&i.jsx(Pie,{}),e&&i.jsx(Iie,{})]})},Oie=f.memo(Eie),Rie={invocation:s8,progress_image:rie},Mie=()=>{const e=te(),t=z(p=>p.nodes.nodes),n=z(p=>p.nodes.edges),r=f.useCallback(p=>{e(KM(p))},[e]),o=f.useCallback(p=>{e(XM(p))},[e]),s=f.useCallback((p,h)=>{e(YM(h))},[e]),a=f.useCallback(p=>{e(QM(p))},[e]),c=f.useCallback(()=>{e(JM())},[e]),d=f.useCallback(p=>{e(ZM(p)),p&&p.fitView()},[e]);return i.jsxs(eD,{nodeTypes:Rie,nodes:t,edges:n,onNodesChange:r,onEdgesChange:o,onConnectStart:s,onConnect:a,onConnectEnd:c,onInit:d,defaultEdgeOptions:{style:{strokeWidth:2}},children:[i.jsx(kie,{}),i.jsx(xie,{}),i.jsx(Oie,{}),i.jsx(iie,{}),i.jsx(F9,{}),i.jsx(cie,{})]})},Die=()=>i.jsx(Ee,{layerStyle:"first",sx:{position:"relative",width:"full",height:"full",borderRadius:"base"},children:i.jsx(tD,{children:i.jsx(Mie,{})})}),Aie=f.memo(Die),Tie=()=>i.jsx(Aie,{}),Nie=f.memo(Tie),$ie=fe(Ye,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ge),zie=()=>{const{shouldUseSliders:e,activeLabel:t}=z($ie);return i.jsx(Ro,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsx(F,{sx:{flexDirection:"column",gap:3},children:e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Ee,{pt:2,children:i.jsx(ki,{})}),i.jsx(Oc,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(F,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Ee,{pt:2,children:i.jsx(ki,{})}),i.jsx(Oc,{})]})})})},i8=f.memo(zie),l8=()=>i.jsxs(i.Fragment,{children:[i.jsx(MO,{}),i.jsx(qd,{}),i.jsx(i8,{}),i.jsx(DO,{}),i.jsx(Ud,{}),i.jsx(tg,{})]}),c8=()=>i.jsxs(i.Fragment,{children:[i.jsx(ax,{}),i.jsx(qd,{}),i.jsx(i8,{}),i.jsx(ox,{}),i.jsx(nx,{}),i.jsx(Ud,{}),i.jsx(tg,{}),i.jsx(sx,{}),i.jsx(WO,{}),i.jsx(rx,{})]}),Lie=()=>{const e=z(t=>t.generation.model);return i.jsxs(F,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(tx,{children:e&&e.base_model==="sdxl"?i.jsx(l8,{}):i.jsx(c8,{})}),i.jsx(FO,{})]})},Bie=f.memo(Lie);var G1={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Konva=void 0;var n=pw;Object.defineProperty(t,"Konva",{enumerable:!0,get:function(){return n.Konva}});const r=pw;e.exports=r.Konva})(G1,G1.exports);var Fie=G1.exports;const hd=vd(Fie);var u8={exports:{}};/** - * @license React - * react-reconciler.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 Hie=function(t){var n={},r=f,o=kp,s=Object.assign;function a(l){for(var u="https://reactjs.org/docs/error-decoder.html?invariant="+l,g=1;gZ||C[N]!==P[Z]){var ue=` -`+C[N].replace(" at new "," at ");return l.displayName&&ue.includes("")&&(ue=ue.replace("",l.displayName)),ue}while(1<=N&&0<=Z);break}}}finally{qt=!1,Error.prepareStackTrace=g}return(l=l?l.displayName||l.name:"")?Nt(l):""}var en=Object.prototype.hasOwnProperty,Ut=[],Be=-1;function yt(l){return{current:l}}function Mt(l){0>Be||(l.current=Ut[Be],Ut[Be]=null,Be--)}function Wt(l,u){Be++,Ut[Be]=l.current,l.current=u}var jn={},Gt=yt(jn),un=yt(!1),sn=jn;function Or(l,u){var g=l.type.contextTypes;if(!g)return jn;var x=l.stateNode;if(x&&x.__reactInternalMemoizedUnmaskedChildContext===u)return x.__reactInternalMemoizedMaskedChildContext;var C={},P;for(P in g)C[P]=u[P];return x&&(l=l.stateNode,l.__reactInternalMemoizedUnmaskedChildContext=u,l.__reactInternalMemoizedMaskedChildContext=C),C}function Jn(l){return l=l.childContextTypes,l!=null}function It(){Mt(un),Mt(Gt)}function In(l,u,g){if(Gt.current!==jn)throw Error(a(168));Wt(Gt,u),Wt(un,g)}function Rn(l,u,g){var x=l.stateNode;if(u=u.childContextTypes,typeof x.getChildContext!="function")return g;x=x.getChildContext();for(var C in x)if(!(C in u))throw Error(a(108,M(l)||"Unknown",C));return s({},g,x)}function Zn(l){return l=(l=l.stateNode)&&l.__reactInternalMemoizedMergedChildContext||jn,sn=Gt.current,Wt(Gt,l),Wt(un,un.current),!0}function mr(l,u,g){var x=l.stateNode;if(!x)throw Error(a(169));g?(l=Rn(l,u,sn),x.__reactInternalMemoizedMergedChildContext=l,Mt(un),Mt(Gt),Wt(Gt,l)):Mt(un),Wt(un,g)}var Tn=Math.clz32?Math.clz32:Sn,Nn=Math.log,dn=Math.LN2;function Sn(l){return l>>>=0,l===0?32:31-(Nn(l)/dn|0)|0}var En=64,vn=4194304;function bn(l){switch(l&-l){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 l&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return l&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return l}}function Xe(l,u){var g=l.pendingLanes;if(g===0)return 0;var x=0,C=l.suspendedLanes,P=l.pingedLanes,N=g&268435455;if(N!==0){var Z=N&~C;Z!==0?x=bn(Z):(P&=N,P!==0&&(x=bn(P)))}else N=g&~C,N!==0?x=bn(N):P!==0&&(x=bn(P));if(x===0)return 0;if(u!==0&&u!==x&&!(u&C)&&(C=x&-x,P=u&-u,C>=P||C===16&&(P&4194240)!==0))return u;if(x&4&&(x|=g&16),u=l.entangledLanes,u!==0)for(l=l.entanglements,u&=x;0g;g++)u.push(l);return u}function mt(l,u,g){l.pendingLanes|=u,u!==536870912&&(l.suspendedLanes=0,l.pingedLanes=0),l=l.eventTimes,u=31-Tn(u),l[u]=g}function ot(l,u){var g=l.pendingLanes&~u;l.pendingLanes=u,l.suspendedLanes=0,l.pingedLanes=0,l.expiredLanes&=u,l.mutableReadLanes&=u,l.entangledLanes&=u,u=l.entanglements;var x=l.eventTimes;for(l=l.expirationTimes;0>=N,C-=N,Ao=1<<32-Tn(u)+C|g<Cn?(Br=Qt,Qt=null):Br=Qt.sibling;var kn=it(ce,Qt,ve[Cn],lt);if(kn===null){Qt===null&&(Qt=Br);break}l&&Qt&&kn.alternate===null&&u(ce,Qt),ne=P(kn,ne,Cn),rn===null?At=kn:rn.sibling=kn,rn=kn,Qt=Br}if(Cn===ve.length)return g(ce,Qt),er&&Ti(ce,Cn),At;if(Qt===null){for(;CnCn?(Br=Qt,Qt=null):Br=Qt.sibling;var Ja=it(ce,Qt,kn.value,lt);if(Ja===null){Qt===null&&(Qt=Br);break}l&&Qt&&Ja.alternate===null&&u(ce,Qt),ne=P(Ja,ne,Cn),rn===null?At=Ja:rn.sibling=Ja,rn=Ja,Qt=Br}if(kn.done)return g(ce,Qt),er&&Ti(ce,Cn),At;if(Qt===null){for(;!kn.done;Cn++,kn=ve.next())kn=Yt(ce,kn.value,lt),kn!==null&&(ne=P(kn,ne,Cn),rn===null?At=kn:rn.sibling=kn,rn=kn);return er&&Ti(ce,Cn),At}for(Qt=x(ce,Qt);!kn.done;Cn++,kn=ve.next())kn=Yn(Qt,ce,Cn,kn.value,lt),kn!==null&&(l&&kn.alternate!==null&&Qt.delete(kn.key===null?Cn:kn.key),ne=P(kn,ne,Cn),rn===null?At=kn:rn.sibling=kn,rn=kn);return l&&Qt.forEach(function(s7){return u(ce,s7)}),er&&Ti(ce,Cn),At}function va(ce,ne,ve,lt){if(typeof ve=="object"&&ve!==null&&ve.type===h&&ve.key===null&&(ve=ve.props.children),typeof ve=="object"&&ve!==null){switch(ve.$$typeof){case d:e:{for(var At=ve.key,rn=ne;rn!==null;){if(rn.key===At){if(At=ve.type,At===h){if(rn.tag===7){g(ce,rn.sibling),ne=C(rn,ve.props.children),ne.return=ce,ce=ne;break e}}else if(rn.elementType===At||typeof At=="object"&&At!==null&&At.$$typeof===j&&Ix(At)===rn.type){g(ce,rn.sibling),ne=C(rn,ve.props),ne.ref=Qc(ce,rn,ve),ne.return=ce,ce=ne;break e}g(ce,rn);break}else u(ce,rn);rn=rn.sibling}ve.type===h?(ne=Hi(ve.props.children,ce.mode,lt,ve.key),ne.return=ce,ce=ne):(lt=Rf(ve.type,ve.key,ve.props,null,ce.mode,lt),lt.ref=Qc(ce,ne,ve),lt.return=ce,ce=lt)}return N(ce);case p:e:{for(rn=ve.key;ne!==null;){if(ne.key===rn)if(ne.tag===4&&ne.stateNode.containerInfo===ve.containerInfo&&ne.stateNode.implementation===ve.implementation){g(ce,ne.sibling),ne=C(ne,ve.children||[]),ne.return=ce,ce=ne;break e}else{g(ce,ne);break}else u(ce,ne);ne=ne.sibling}ne=f0(ve,ce.mode,lt),ne.return=ce,ce=ne}return N(ce);case j:return rn=ve._init,va(ce,ne,rn(ve._payload),lt)}if(q(ve))return zn(ce,ne,ve,lt);if(O(ve))return wo(ce,ne,ve,lt);of(ce,ve)}return typeof ve=="string"&&ve!==""||typeof ve=="number"?(ve=""+ve,ne!==null&&ne.tag===6?(g(ce,ne.sibling),ne=C(ne,ve),ne.return=ce,ce=ne):(g(ce,ne),ne=d0(ve,ce.mode,lt),ne.return=ce,ce=ne),N(ce)):g(ce,ne)}return va}var Pl=Ex(!0),Ox=Ex(!1),Jc={},Uo=yt(Jc),Zc=yt(Jc),jl=yt(Jc);function Fs(l){if(l===Jc)throw Error(a(174));return l}function _g(l,u){Wt(jl,u),Wt(Zc,l),Wt(Uo,Jc),l=D(u),Mt(Uo),Wt(Uo,l)}function Il(){Mt(Uo),Mt(Zc),Mt(jl)}function Rx(l){var u=Fs(jl.current),g=Fs(Uo.current);u=L(g,l.type,u),g!==u&&(Wt(Zc,l),Wt(Uo,u))}function Pg(l){Zc.current===l&&(Mt(Uo),Mt(Zc))}var ur=yt(0);function sf(l){for(var u=l;u!==null;){if(u.tag===13){var g=u.memoizedState;if(g!==null&&(g=g.dehydrated,g===null||$r(g)||$s(g)))return u}else if(u.tag===19&&u.memoizedProps.revealOrder!==void 0){if(u.flags&128)return u}else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===l)break;for(;u.sibling===null;){if(u.return===null||u.return===l)return null;u=u.return}u.sibling.return=u.return,u=u.sibling}return null}var jg=[];function Ig(){for(var l=0;lg?g:4,l(!0);var x=Eg.transition;Eg.transition={};try{l(!1),u()}finally{Ie=g,Eg.transition=x}}function Xx(){return Go().memoizedState}function M8(l,u,g){var x=Xa(l);if(g={lane:x,action:g,hasEagerState:!1,eagerState:null,next:null},Yx(l))Qx(u,g);else if(g=xx(l,u,g,x),g!==null){var C=eo();qo(g,l,x,C),Jx(g,u,x)}}function D8(l,u,g){var x=Xa(l),C={lane:x,action:g,hasEagerState:!1,eagerState:null,next:null};if(Yx(l))Qx(u,C);else{var P=l.alternate;if(l.lanes===0&&(P===null||P.lanes===0)&&(P=u.lastRenderedReducer,P!==null))try{var N=u.lastRenderedState,Z=P(N,g);if(C.hasEagerState=!0,C.eagerState=Z,fn(Z,N)){var ue=u.interleaved;ue===null?(C.next=C,wg(u)):(C.next=ue.next,ue.next=C),u.interleaved=C;return}}catch{}finally{}g=xx(l,u,C,x),g!==null&&(C=eo(),qo(g,l,x,C),Jx(g,u,x))}}function Yx(l){var u=l.alternate;return l===dr||u!==null&&u===dr}function Qx(l,u){eu=lf=!0;var g=l.pending;g===null?u.next=u:(u.next=g.next,g.next=u),l.pending=u}function Jx(l,u,g){if(g&4194240){var x=u.lanes;x&=l.pendingLanes,g|=x,u.lanes=g,Re(l,g)}}var df={readContext:Vo,useCallback:Qr,useContext:Qr,useEffect:Qr,useImperativeHandle:Qr,useInsertionEffect:Qr,useLayoutEffect:Qr,useMemo:Qr,useReducer:Qr,useRef:Qr,useState:Qr,useDebugValue:Qr,useDeferredValue:Qr,useTransition:Qr,useMutableSource:Qr,useSyncExternalStore:Qr,useId:Qr,unstable_isNewReconciler:!1},A8={readContext:Vo,useCallback:function(l,u){return Hs().memoizedState=[l,u===void 0?null:u],l},useContext:Vo,useEffect:Fx,useImperativeHandle:function(l,u,g){return g=g!=null?g.concat([l]):null,cf(4194308,4,Vx.bind(null,u,l),g)},useLayoutEffect:function(l,u){return cf(4194308,4,l,u)},useInsertionEffect:function(l,u){return cf(4,2,l,u)},useMemo:function(l,u){var g=Hs();return u=u===void 0?null:u,l=l(),g.memoizedState=[l,u],l},useReducer:function(l,u,g){var x=Hs();return u=g!==void 0?g(u):u,x.memoizedState=x.baseState=u,l={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:u},x.queue=l,l=l.dispatch=M8.bind(null,dr,l),[x.memoizedState,l]},useRef:function(l){var u=Hs();return l={current:l},u.memoizedState=l},useState:Lx,useDebugValue:Ng,useDeferredValue:function(l){return Hs().memoizedState=l},useTransition:function(){var l=Lx(!1),u=l[0];return l=R8.bind(null,l[1]),Hs().memoizedState=l,[u,l]},useMutableSource:function(){},useSyncExternalStore:function(l,u,g){var x=dr,C=Hs();if(er){if(g===void 0)throw Error(a(407));g=g()}else{if(g=u(),Lr===null)throw Error(a(349));$i&30||Ax(x,u,g)}C.memoizedState=g;var P={value:g,getSnapshot:u};return C.queue=P,Fx(Nx.bind(null,x,P,l),[l]),x.flags|=2048,ru(9,Tx.bind(null,x,P,g,u),void 0,null),g},useId:function(){var l=Hs(),u=Lr.identifierPrefix;if(er){var g=Yr,x=Ao;g=(x&~(1<<32-Tn(x)-1)).toString(32)+g,u=":"+u+"R"+g,g=tu++,0r0&&(u.flags|=128,x=!0,au(C,!1),u.lanes=4194304)}else{if(!x)if(l=sf(P),l!==null){if(u.flags|=128,x=!0,l=l.updateQueue,l!==null&&(u.updateQueue=l,u.flags|=4),au(C,!0),C.tail===null&&C.tailMode==="hidden"&&!P.alternate&&!er)return Jr(u),null}else 2*Ve()-C.renderingStartTime>r0&&g!==1073741824&&(u.flags|=128,x=!0,au(C,!1),u.lanes=4194304);C.isBackwards?(P.sibling=u.child,u.child=P):(l=C.last,l!==null?l.sibling=P:u.child=P,C.last=P)}return C.tail!==null?(u=C.tail,C.rendering=u,C.tail=u.sibling,C.renderingStartTime=Ve(),u.sibling=null,l=ur.current,Wt(ur,x?l&1|2:l&1),u):(Jr(u),null);case 22:case 23:return l0(),g=u.memoizedState!==null,l!==null&&l.memoizedState!==null!==g&&(u.flags|=8192),g&&u.mode&1?No&1073741824&&(Jr(u),le&&u.subtreeFlags&6&&(u.flags|=8192)):Jr(u),null;case 24:return null;case 25:return null}throw Error(a(156,u.tag))}function H8(l,u){switch(pg(u),u.tag){case 1:return Jn(u.type)&&It(),l=u.flags,l&65536?(u.flags=l&-65537|128,u):null;case 3:return Il(),Mt(un),Mt(Gt),Ig(),l=u.flags,l&65536&&!(l&128)?(u.flags=l&-65537|128,u):null;case 5:return Pg(u),null;case 13:if(Mt(ur),l=u.memoizedState,l!==null&&l.dehydrated!==null){if(u.alternate===null)throw Error(a(340));Cl()}return l=u.flags,l&65536?(u.flags=l&-65537|128,u):null;case 19:return Mt(ur),null;case 4:return Il(),null;case 10:return yg(u.type._context),null;case 22:case 23:return l0(),null;case 24:return null;default:return null}}var gf=!1,Zr=!1,W8=typeof WeakSet=="function"?WeakSet:Set,pt=null;function Ol(l,u){var g=l.ref;if(g!==null)if(typeof g=="function")try{g(null)}catch(x){tr(l,u,x)}else g.current=null}function Ug(l,u,g){try{g()}catch(x){tr(l,u,x)}}var v2=!1;function V8(l,u){for(W(l.containerInfo),pt=u;pt!==null;)if(l=pt,u=l.child,(l.subtreeFlags&1028)!==0&&u!==null)u.return=l,pt=u;else for(;pt!==null;){l=pt;try{var g=l.alternate;if(l.flags&1024)switch(l.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var x=g.memoizedProps,C=g.memoizedState,P=l.stateNode,N=P.getSnapshotBeforeUpdate(l.elementType===l.type?x:ms(l.type,x),C);P.__reactInternalSnapshotBeforeUpdate=N}break;case 3:le&&ln(l.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(a(163))}}catch(Z){tr(l,l.return,Z)}if(u=l.sibling,u!==null){u.return=l.return,pt=u;break}pt=l.return}return g=v2,v2=!1,g}function iu(l,u,g){var x=u.updateQueue;if(x=x!==null?x.lastEffect:null,x!==null){var C=x=x.next;do{if((C.tag&l)===l){var P=C.destroy;C.destroy=void 0,P!==void 0&&Ug(u,g,P)}C=C.next}while(C!==x)}}function vf(l,u){if(u=u.updateQueue,u=u!==null?u.lastEffect:null,u!==null){var g=u=u.next;do{if((g.tag&l)===l){var x=g.create;g.destroy=x()}g=g.next}while(g!==u)}}function Gg(l){var u=l.ref;if(u!==null){var g=l.stateNode;switch(l.tag){case 5:l=G(g);break;default:l=g}typeof u=="function"?u(l):u.current=l}}function b2(l){var u=l.alternate;u!==null&&(l.alternate=null,b2(u)),l.child=null,l.deletions=null,l.sibling=null,l.tag===5&&(u=l.stateNode,u!==null&&Oe(u)),l.stateNode=null,l.return=null,l.dependencies=null,l.memoizedProps=null,l.memoizedState=null,l.pendingProps=null,l.stateNode=null,l.updateQueue=null}function y2(l){return l.tag===5||l.tag===3||l.tag===4}function x2(l){e:for(;;){for(;l.sibling===null;){if(l.return===null||y2(l.return))return null;l=l.return}for(l.sibling.return=l.return,l=l.sibling;l.tag!==5&&l.tag!==6&&l.tag!==18;){if(l.flags&2||l.child===null||l.tag===4)continue e;l.child.return=l,l=l.child}if(!(l.flags&2))return l.stateNode}}function qg(l,u,g){var x=l.tag;if(x===5||x===6)l=l.stateNode,u?Pn(g,l,u):ht(g,l);else if(x!==4&&(l=l.child,l!==null))for(qg(l,u,g),l=l.sibling;l!==null;)qg(l,u,g),l=l.sibling}function Kg(l,u,g){var x=l.tag;if(x===5||x===6)l=l.stateNode,u?Ke(g,l,u):we(g,l);else if(x!==4&&(l=l.child,l!==null))for(Kg(l,u,g),l=l.sibling;l!==null;)Kg(l,u,g),l=l.sibling}var Gr=null,gs=!1;function Vs(l,u,g){for(g=g.child;g!==null;)Xg(l,u,g),g=g.sibling}function Xg(l,u,g){if(gn&&typeof gn.onCommitFiberUnmount=="function")try{gn.onCommitFiberUnmount(Xn,g)}catch{}switch(g.tag){case 5:Zr||Ol(g,u);case 6:if(le){var x=Gr,C=gs;Gr=null,Vs(l,u,g),Gr=x,gs=C,Gr!==null&&(gs?Ze(Gr,g.stateNode):Pe(Gr,g.stateNode))}else Vs(l,u,g);break;case 18:le&&Gr!==null&&(gs?He(Gr,g.stateNode):xt(Gr,g.stateNode));break;case 4:le?(x=Gr,C=gs,Gr=g.stateNode.containerInfo,gs=!0,Vs(l,u,g),Gr=x,gs=C):(ge&&(x=g.stateNode.containerInfo,C=yr(x),Wn(x,C)),Vs(l,u,g));break;case 0:case 11:case 14:case 15:if(!Zr&&(x=g.updateQueue,x!==null&&(x=x.lastEffect,x!==null))){C=x=x.next;do{var P=C,N=P.destroy;P=P.tag,N!==void 0&&(P&2||P&4)&&Ug(g,u,N),C=C.next}while(C!==x)}Vs(l,u,g);break;case 1:if(!Zr&&(Ol(g,u),x=g.stateNode,typeof x.componentWillUnmount=="function"))try{x.props=g.memoizedProps,x.state=g.memoizedState,x.componentWillUnmount()}catch(Z){tr(g,u,Z)}Vs(l,u,g);break;case 21:Vs(l,u,g);break;case 22:g.mode&1?(Zr=(x=Zr)||g.memoizedState!==null,Vs(l,u,g),Zr=x):Vs(l,u,g);break;default:Vs(l,u,g)}}function w2(l){var u=l.updateQueue;if(u!==null){l.updateQueue=null;var g=l.stateNode;g===null&&(g=l.stateNode=new W8),u.forEach(function(x){var C=Z8.bind(null,l,x);g.has(x)||(g.add(x),x.then(C,C))})}}function vs(l,u){var g=u.deletions;if(g!==null)for(var x=0;x";case yf:return":has("+(Jg(l)||"")+")";case xf:return'[role="'+l.value+'"]';case Sf:return'"'+l.value+'"';case wf:return'[data-testname="'+l.value+'"]';default:throw Error(a(365))}}function j2(l,u){var g=[];l=[l,0];for(var x=0;xC&&(C=N),x&=~P}if(x=C,x=Ve()-x,x=(120>x?120:480>x?480:1080>x?1080:1920>x?1920:3e3>x?3e3:4320>x?4320:1960*G8(x/1960))-x,10l?16:l,Ka===null)var x=!1;else{if(l=Ka,Ka=null,jf=0,an&6)throw Error(a(331));var C=an;for(an|=4,pt=l.current;pt!==null;){var P=pt,N=P.child;if(pt.flags&16){var Z=P.deletions;if(Z!==null){for(var ue=0;ueVe()-n0?Li(l,0):t0|=g),xo(l,u)}function N2(l,u){u===0&&(l.mode&1?(u=vn,vn<<=1,!(vn&130023424)&&(vn=4194304)):u=1);var g=eo();l=Bs(l,u),l!==null&&(mt(l,u,g),xo(l,g))}function J8(l){var u=l.memoizedState,g=0;u!==null&&(g=u.retryLane),N2(l,g)}function Z8(l,u){var g=0;switch(l.tag){case 13:var x=l.stateNode,C=l.memoizedState;C!==null&&(g=C.retryLane);break;case 19:x=l.stateNode;break;default:throw Error(a(314))}x!==null&&x.delete(u),N2(l,g)}var $2;$2=function(l,u,g){if(l!==null)if(l.memoizedProps!==u.pendingProps||un.current)bo=!0;else{if(!(l.lanes&g)&&!(u.flags&128))return bo=!1,B8(l,u,g);bo=!!(l.flags&131072)}else bo=!1,er&&u.flags&1048576&&hx(u,lo,u.index);switch(u.lanes=0,u.tag){case 2:var x=u.type;pf(l,u),l=u.pendingProps;var C=Or(u,Gt.current);_l(u,g),C=Rg(null,u,x,l,C,g);var P=Mg();return u.flags|=1,typeof C=="object"&&C!==null&&typeof C.render=="function"&&C.$$typeof===void 0?(u.tag=1,u.memoizedState=null,u.updateQueue=null,Jn(x)?(P=!0,Zn(u)):P=!1,u.memoizedState=C.state!==null&&C.state!==void 0?C.state:null,Sg(u),C.updater=rf,u.stateNode=C,C._reactInternals=u,kg(u,x,l,g),u=Bg(null,u,x,!0,P,g)):(u.tag=0,er&&P&&fg(u),fo(null,u,C,g),u=u.child),u;case 16:x=u.elementType;e:{switch(pf(l,u),l=u.pendingProps,C=x._init,x=C(x._payload),u.type=x,C=u.tag=t7(x),l=ms(x,l),C){case 0:u=Lg(null,u,x,l,g);break e;case 1:u=c2(null,u,x,l,g);break e;case 11:u=o2(null,u,x,l,g);break e;case 14:u=s2(null,u,x,ms(x.type,l),g);break e}throw Error(a(306,x,""))}return u;case 0:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:ms(x,C),Lg(l,u,x,C,g);case 1:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:ms(x,C),c2(l,u,x,C,g);case 3:e:{if(u2(u),l===null)throw Error(a(387));x=u.pendingProps,P=u.memoizedState,C=P.element,wx(l,u),nf(u,x,null,g);var N=u.memoizedState;if(x=N.element,ke&&P.isDehydrated)if(P={element:x,isDehydrated:!1,cache:N.cache,pendingSuspenseBoundaries:N.pendingSuspenseBoundaries,transitions:N.transitions},u.updateQueue.baseState=P,u.memoizedState=P,u.flags&256){C=El(Error(a(423)),u),u=d2(l,u,x,g,C);break e}else if(x!==C){C=El(Error(a(424)),u),u=d2(l,u,x,g,C);break e}else for(ke&&(Wo=ee(u.stateNode.containerInfo),To=u,er=!0,hs=null,Yc=!1),g=Ox(u,null,x,g),u.child=g;g;)g.flags=g.flags&-3|4096,g=g.sibling;else{if(Cl(),x===C){u=ma(l,u,g);break e}fo(l,u,x,g)}u=u.child}return u;case 5:return Rx(u),l===null&&mg(u),x=u.type,C=u.pendingProps,P=l!==null?l.memoizedProps:null,N=C.children,K(x,C)?N=null:P!==null&&K(x,P)&&(u.flags|=32),l2(l,u),fo(l,u,N,g),u.child;case 6:return l===null&&mg(u),null;case 13:return f2(l,u,g);case 4:return _g(u,u.stateNode.containerInfo),x=u.pendingProps,l===null?u.child=Pl(u,null,x,g):fo(l,u,x,g),u.child;case 11:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:ms(x,C),o2(l,u,x,C,g);case 7:return fo(l,u,u.pendingProps,g),u.child;case 8:return fo(l,u,u.pendingProps.children,g),u.child;case 12:return fo(l,u,u.pendingProps.children,g),u.child;case 10:e:{if(x=u.type._context,C=u.pendingProps,P=u.memoizedProps,N=C.value,yx(u,x,N),P!==null)if(fn(P.value,N)){if(P.children===C.children&&!un.current){u=ma(l,u,g);break e}}else for(P=u.child,P!==null&&(P.return=u);P!==null;){var Z=P.dependencies;if(Z!==null){N=P.child;for(var ue=Z.firstContext;ue!==null;){if(ue.context===x){if(P.tag===1){ue=ha(-1,g&-g),ue.tag=2;var Ne=P.updateQueue;if(Ne!==null){Ne=Ne.shared;var gt=Ne.pending;gt===null?ue.next=ue:(ue.next=gt.next,gt.next=ue),Ne.pending=ue}}P.lanes|=g,ue=P.alternate,ue!==null&&(ue.lanes|=g),xg(P.return,g,u),Z.lanes|=g;break}ue=ue.next}}else if(P.tag===10)N=P.type===u.type?null:P.child;else if(P.tag===18){if(N=P.return,N===null)throw Error(a(341));N.lanes|=g,Z=N.alternate,Z!==null&&(Z.lanes|=g),xg(N,g,u),N=P.sibling}else N=P.child;if(N!==null)N.return=P;else for(N=P;N!==null;){if(N===u){N=null;break}if(P=N.sibling,P!==null){P.return=N.return,N=P;break}N=N.return}P=N}fo(l,u,C.children,g),u=u.child}return u;case 9:return C=u.type,x=u.pendingProps.children,_l(u,g),C=Vo(C),x=x(C),u.flags|=1,fo(l,u,x,g),u.child;case 14:return x=u.type,C=ms(x,u.pendingProps),C=ms(x.type,C),s2(l,u,x,C,g);case 15:return a2(l,u,u.type,u.pendingProps,g);case 17:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:ms(x,C),pf(l,u),u.tag=1,Jn(x)?(l=!0,Zn(u)):l=!1,_l(u,g),Px(u,x,C),kg(u,x,C,g),Bg(null,u,x,!0,l,g);case 19:return h2(l,u,g);case 22:return i2(l,u,g)}throw Error(a(156,u.tag))};function z2(l,u){return We(l,u)}function e7(l,u,g,x){this.tag=l,this.key=g,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=u,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=x,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ko(l,u,g,x){return new e7(l,u,g,x)}function u0(l){return l=l.prototype,!(!l||!l.isReactComponent)}function t7(l){if(typeof l=="function")return u0(l)?1:0;if(l!=null){if(l=l.$$typeof,l===y)return 11;if(l===k)return 14}return 2}function Qa(l,u){var g=l.alternate;return g===null?(g=Ko(l.tag,u,l.key,l.mode),g.elementType=l.elementType,g.type=l.type,g.stateNode=l.stateNode,g.alternate=l,l.alternate=g):(g.pendingProps=u,g.type=l.type,g.flags=0,g.subtreeFlags=0,g.deletions=null),g.flags=l.flags&14680064,g.childLanes=l.childLanes,g.lanes=l.lanes,g.child=l.child,g.memoizedProps=l.memoizedProps,g.memoizedState=l.memoizedState,g.updateQueue=l.updateQueue,u=l.dependencies,g.dependencies=u===null?null:{lanes:u.lanes,firstContext:u.firstContext},g.sibling=l.sibling,g.index=l.index,g.ref=l.ref,g}function Rf(l,u,g,x,C,P){var N=2;if(x=l,typeof l=="function")u0(l)&&(N=1);else if(typeof l=="string")N=5;else e:switch(l){case h:return Hi(g.children,C,P,u);case m:N=8,C|=8;break;case v:return l=Ko(12,g,u,C|2),l.elementType=v,l.lanes=P,l;case S:return l=Ko(13,g,u,C),l.elementType=S,l.lanes=P,l;case _:return l=Ko(19,g,u,C),l.elementType=_,l.lanes=P,l;case I:return Mf(g,C,P,u);default:if(typeof l=="object"&&l!==null)switch(l.$$typeof){case b:N=10;break e;case w:N=9;break e;case y:N=11;break e;case k:N=14;break e;case j:N=16,x=null;break e}throw Error(a(130,l==null?l:typeof l,""))}return u=Ko(N,g,u,C),u.elementType=l,u.type=x,u.lanes=P,u}function Hi(l,u,g,x){return l=Ko(7,l,x,u),l.lanes=g,l}function Mf(l,u,g,x){return l=Ko(22,l,x,u),l.elementType=I,l.lanes=g,l.stateNode={isHidden:!1},l}function d0(l,u,g){return l=Ko(6,l,null,u),l.lanes=g,l}function f0(l,u,g){return u=Ko(4,l.children!==null?l.children:[],l.key,u),u.lanes=g,u.stateNode={containerInfo:l.containerInfo,pendingChildren:null,implementation:l.implementation},u}function n7(l,u,g,x,C){this.tag=u,this.containerInfo=l,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=oe,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Bt(0),this.expirationTimes=Bt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Bt(0),this.identifierPrefix=x,this.onRecoverableError=C,ke&&(this.mutableSourceEagerHydrationData=null)}function L2(l,u,g,x,C,P,N,Z,ue){return l=new n7(l,u,g,Z,ue),u===1?(u=1,P===!0&&(u|=8)):u=0,P=Ko(3,null,null,u),l.current=P,P.stateNode=l,P.memoizedState={element:x,isDehydrated:g,cache:null,transitions:null,pendingSuspenseBoundaries:null},Sg(P),l}function B2(l){if(!l)return jn;l=l._reactInternals;e:{if(A(l)!==l||l.tag!==1)throw Error(a(170));var u=l;do{switch(u.tag){case 3:u=u.stateNode.context;break e;case 1:if(Jn(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break e}}u=u.return}while(u!==null);throw Error(a(171))}if(l.tag===1){var g=l.type;if(Jn(g))return Rn(l,g,u)}return u}function F2(l){var u=l._reactInternals;if(u===void 0)throw typeof l.render=="function"?Error(a(188)):(l=Object.keys(l).join(","),Error(a(268,l)));return l=Q(u),l===null?null:l.stateNode}function H2(l,u){if(l=l.memoizedState,l!==null&&l.dehydrated!==null){var g=l.retryLane;l.retryLane=g!==0&&g=Ne&&P>=Yt&&C<=gt&&N<=it){l.splice(u,1);break}else if(x!==Ne||g.width!==ue.width||itN){if(!(P!==Yt||g.height!==ue.height||gtC)){Ne>x&&(ue.width+=Ne-x,ue.x=x),gtP&&(ue.height+=Yt-P,ue.y=P),itg&&(g=N)),N ")+` - -No matching component was found for: - `)+l.join(" > ")}return null},n.getPublicRootInstance=function(l){if(l=l.current,!l.child)return null;switch(l.child.tag){case 5:return G(l.child.stateNode);default:return l.child.stateNode}},n.injectIntoDevTools=function(l){if(l={bundleType:l.bundleType,version:l.version,rendererPackageName:l.rendererPackageName,rendererConfig:l.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:c.ReactCurrentDispatcher,findHostInstanceByFiber:r7,findFiberByHostInstance:l.findFiberByHostInstance||o7,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")l=!1;else{var u=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(u.isDisabled||!u.supportsFiber)l=!0;else{try{Xn=u.inject(l),gn=u}catch{}l=!!u.checkDCE}}return l},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(l,u,g,x){if(!ct)throw Error(a(363));l=Zg(l,u);var C=Tt(l,g,x).disconnect;return{disconnect:function(){C()}}},n.registerMutableSourceForHydration=function(l,u){var g=u._getVersion;g=g(u._source),l.mutableSourceEagerHydrationData==null?l.mutableSourceEagerHydrationData=[u,g]:l.mutableSourceEagerHydrationData.push(u,g)},n.runWithPriority=function(l,u){var g=Ie;try{return Ie=l,u()}finally{Ie=g}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(l,u,g,x){var C=u.current,P=eo(),N=Xa(C);return g=B2(g),u.context===null?u.context=g:u.pendingContext=g,u=ha(P,N),u.payload={element:l},x=x===void 0?null:x,x!==null&&(u.callback=x),l=Ga(C,u,N),l!==null&&(qo(l,C,N,P),tf(l,C,N)),N},n};u8.exports=Hie;var Wie=u8.exports;const Vie=vd(Wie);var d8={exports:{}},Sl={};/** - * @license React - * react-reconciler-constants.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. - */Sl.ConcurrentRoot=1;Sl.ContinuousEventPriority=4;Sl.DefaultEventPriority=16;Sl.DiscreteEventPriority=1;Sl.IdleEventPriority=536870912;Sl.LegacyRoot=0;d8.exports=Sl;var f8=d8.exports;const l_={children:!0,ref:!0,key:!0,style:!0,forwardedRef:!0,unstable_applyCache:!0,unstable_applyDrawHitFromCache:!0};let c_=!1,u_=!1;const dx=".react-konva-event",Uie=`ReactKonva: You have a Konva node with draggable = true and position defined but no onDragMove or onDragEnd events are handled. -Position of a node will be changed during drag&drop, so you should update state of the react app as well. -Consider to add onDragMove or onDragEnd events. -For more info see: https://github.com/konvajs/react-konva/issues/256 -`,Gie=`ReactKonva: You are using "zIndex" attribute for a Konva node. -react-konva may get confused with ordering. Just define correct order of elements in your render function of a component. -For more info see: https://github.com/konvajs/react-konva/issues/194 -`,qie={};function dg(e,t,n=qie){if(!c_&&"zIndex"in t&&(console.warn(Gie),c_=!0),!u_&&t.draggable){var r=t.x!==void 0||t.y!==void 0,o=t.onDragEnd||t.onDragMove;r&&!o&&(console.warn(Uie),u_=!0)}for(var s in n)if(!l_[s]){var a=s.slice(0,2)==="on",c=n[s]!==t[s];if(a&&c){var d=s.substr(2).toLowerCase();d.substr(0,7)==="content"&&(d="content"+d.substr(7,1).toUpperCase()+d.substr(8)),e.off(d,n[s])}var p=!t.hasOwnProperty(s);p&&e.setAttr(s,void 0)}var h=t._useStrictMode,m={},v=!1;const b={};for(var s in t)if(!l_[s]){var a=s.slice(0,2)==="on",w=n[s]!==t[s];if(a&&w){var d=s.substr(2).toLowerCase();d.substr(0,7)==="content"&&(d="content"+d.substr(7,1).toUpperCase()+d.substr(8)),t[s]&&(b[d]=t[s])}!a&&(t[s]!==n[s]||h&&t[s]!==e.getAttr(s))&&(v=!0,m[s]=t[s])}v&&(e.setAttrs(m),Ai(e));for(var d in b)e.on(d+dx,b[d])}function Ai(e){if(!nD.Konva.autoDrawEnabled){var t=e.getLayer()||e.getStage();t&&t.batchDraw()}}const p8={},Kie={};hd.Node.prototype._applyProps=dg;function Xie(e,t){if(typeof t=="string"){console.error(`Do not use plain text as child of Konva.Node. You are using text: ${t}`);return}e.add(t),Ai(e)}function Yie(e,t,n){let r=hd[e];r||(console.error(`Konva has no node with the type ${e}. Group will be used instead. If you use minimal version of react-konva, just import required nodes into Konva: "import "konva/lib/shapes/${e}" If you want to render DOM elements as part of canvas tree take a look into this demo: https://konvajs.github.io/docs/react/DOM_Portal.html`),r=hd.Group);const o={},s={};for(var a in t){var c=a.slice(0,2)==="on";c?s[a]=t[a]:o[a]=t[a]}const d=new r(o);return dg(d,s),d}function Qie(e,t,n){console.error(`Text components are not supported for now in ReactKonva. Your text is: "${e}"`)}function Jie(e,t,n){return!1}function Zie(e){return e}function ele(){return null}function tle(){return null}function nle(e,t,n,r){return Kie}function rle(){}function ole(e){}function sle(e,t){return!1}function ale(){return p8}function ile(){return p8}const lle=setTimeout,cle=clearTimeout,ule=-1;function dle(e,t){return!1}const fle=!1,ple=!0,hle=!0;function mle(e,t){t.parent===e?t.moveToTop():e.add(t),Ai(e)}function gle(e,t){t.parent===e?t.moveToTop():e.add(t),Ai(e)}function h8(e,t,n){t._remove(),e.add(t),t.setZIndex(n.getZIndex()),Ai(e)}function vle(e,t,n){h8(e,t,n)}function ble(e,t){t.destroy(),t.off(dx),Ai(e)}function yle(e,t){t.destroy(),t.off(dx),Ai(e)}function xle(e,t,n){console.error(`Text components are not yet supported in ReactKonva. You text is: "${n}"`)}function wle(e,t,n){}function Sle(e,t,n,r,o){dg(e,o,r)}function Cle(e){e.hide(),Ai(e)}function kle(e){}function _le(e,t){(t.visible==null||t.visible)&&e.show()}function Ple(e,t){}function jle(e){}function Ile(){}const Ele=()=>f8.DefaultEventPriority,Ole=Object.freeze(Object.defineProperty({__proto__:null,appendChild:mle,appendChildToContainer:gle,appendInitialChild:Xie,cancelTimeout:cle,clearContainer:jle,commitMount:wle,commitTextUpdate:xle,commitUpdate:Sle,createInstance:Yie,createTextInstance:Qie,detachDeletedInstance:Ile,finalizeInitialChildren:Jie,getChildHostContext:ile,getCurrentEventPriority:Ele,getPublicInstance:Zie,getRootHostContext:ale,hideInstance:Cle,hideTextInstance:kle,idlePriority:kp.unstable_IdlePriority,insertBefore:h8,insertInContainerBefore:vle,isPrimaryRenderer:fle,noTimeout:ule,now:kp.unstable_now,prepareForCommit:ele,preparePortalMount:tle,prepareUpdate:nle,removeChild:ble,removeChildFromContainer:yle,resetAfterCommit:rle,resetTextContent:ole,run:kp.unstable_runWithPriority,scheduleTimeout:lle,shouldDeprioritizeSubtree:sle,shouldSetTextContent:dle,supportsMutation:hle,unhideInstance:_le,unhideTextInstance:Ple,warnsIfNotActing:ple},Symbol.toStringTag,{value:"Module"}));var Rle=Object.defineProperty,Mle=Object.defineProperties,Dle=Object.getOwnPropertyDescriptors,d_=Object.getOwnPropertySymbols,Ale=Object.prototype.hasOwnProperty,Tle=Object.prototype.propertyIsEnumerable,f_=(e,t,n)=>t in e?Rle(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,p_=(e,t)=>{for(var n in t||(t={}))Ale.call(t,n)&&f_(e,n,t[n]);if(d_)for(var n of d_(t))Tle.call(t,n)&&f_(e,n,t[n]);return e},Nle=(e,t)=>Mle(e,Dle(t));function m8(e,t,n){if(!e)return;if(n(e)===!0)return e;let r=t?e.return:e.child;for(;r;){const o=m8(r,t,n);if(o)return o;r=t?null:r.sibling}}function g8(e){try{return Object.defineProperties(e,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return e}}const fx=g8(f.createContext(null));class v8 extends f.Component{render(){return f.createElement(fx.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:h_,ReactCurrentDispatcher:m_}=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function $le(){const e=f.useContext(fx);if(e===null)throw new Error("its-fine: useFiber must be called within a !");const t=f.useId();return f.useMemo(()=>{for(const r of[h_==null?void 0:h_.current,e,e==null?void 0:e.alternate]){if(!r)continue;const o=m8(r,!1,s=>{let a=s.memoizedState;for(;a;){if(a.memoizedState===t)return!0;a=a.next}});if(o)return o}},[e,t])}function zle(){var e,t;const n=$le(),[r]=f.useState(()=>new Map);r.clear();let o=n;for(;o;){const s=(e=o.type)==null?void 0:e._context;s&&s!==fx&&!r.has(s)&&r.set(s,(t=m_==null?void 0:m_.current)==null?void 0:t.readContext(g8(s))),o=o.return}return r}function Lle(){const e=zle();return f.useMemo(()=>Array.from(e.keys()).reduce((t,n)=>r=>f.createElement(t,null,f.createElement(n.Provider,Nle(p_({},r),{value:e.get(n)}))),t=>f.createElement(v8,p_({},t))),[e])}function Ble(e){const t=H.useRef({});return H.useLayoutEffect(()=>{t.current=e}),H.useLayoutEffect(()=>()=>{t.current={}},[]),t.current}const Fle=e=>{const t=H.useRef(),n=H.useRef(),r=H.useRef(),o=Ble(e),s=Lle(),a=c=>{const{forwardedRef:d}=e;d&&(typeof d=="function"?d(c):d.current=c)};return H.useLayoutEffect(()=>(n.current=new hd.Stage({width:e.width,height:e.height,container:t.current}),a(n.current),r.current=Nu.createContainer(n.current,f8.LegacyRoot,!1,null),Nu.updateContainer(H.createElement(s,{},e.children),r.current),()=>{hd.isBrowser&&(a(null),Nu.updateContainer(null,r.current,null),n.current.destroy())}),[]),H.useLayoutEffect(()=>{a(n.current),dg(n.current,e,o),Nu.updateContainer(H.createElement(s,{},e.children),r.current,null)}),H.createElement("div",{ref:t,id:e.id,accessKey:e.accessKey,className:e.className,role:e.role,style:e.style,tabIndex:e.tabIndex,title:e.title})},_u="Layer",$a="Group",aa="Rect",Wi="Circle",nm="Line",b8="Image",Hle="Transformer",Nu=Vie(Ole);Nu.injectIntoDevTools({findHostInstanceByFiber:()=>null,bundleType:0,version:H.version,rendererPackageName:"react-konva"});const Wle=H.forwardRef((e,t)=>H.createElement(v8,{},H.createElement(Fle,{...e,forwardedRef:t}))),Vle=fe([mn,lr],(e,t)=>{const{tool:n,isMovingBoundingBox:r}=e;return{tool:n,isStaging:t,isMovingBoundingBox:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),Ule=()=>{const e=te(),{tool:t,isStaging:n,isMovingBoundingBox:r}=z(Vle);return{handleDragStart:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Hp(!0))},[e,r,n,t]),handleDragMove:f.useCallback(o=>{if(!((t==="move"||n)&&!r))return;const s={x:o.target.x(),y:o.target.y()};e(c5(s))},[e,r,n,t]),handleDragEnd:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Hp(!1))},[e,r,n,t])}},Gle=fe([mn,Kn,lr],(e,t,n)=>{const{cursorPosition:r,shouldLockBoundingBox:o,shouldShowBoundingBox:s,tool:a,isMaskEnabled:c,shouldSnapToGrid:d}=e;return{activeTabName:t,isCursorOnCanvas:!!r,shouldLockBoundingBox:o,shouldShowBoundingBox:s,tool:a,isStaging:n,isMaskEnabled:c,shouldSnapToGrid:d}},{memoizeOptions:{resultEqualityCheck:Zt}}),qle=()=>{const e=te(),{activeTabName:t,shouldShowBoundingBox:n,tool:r,isStaging:o,isMaskEnabled:s,shouldSnapToGrid:a}=z(Gle),c=f.useRef(null),d=u5(),p=()=>e(lb());rt(["shift+c"],()=>{p()},{enabled:()=>!o,preventDefault:!0},[]);const h=()=>e(wd(!s));rt(["h"],()=>{h()},{enabled:()=>!o,preventDefault:!0},[s]),rt(["n"],()=>{e(Qu(!a))},{enabled:!0,preventDefault:!0},[a]),rt("esc",()=>{e(rD())},{enabled:()=>!0,preventDefault:!0}),rt("shift+h",()=>{e(oD(!n))},{enabled:()=>!o,preventDefault:!0},[t,n]),rt(["space"],m=>{m.repeat||(d==null||d.container().focus(),r!=="move"&&(c.current=r,e(ea("move"))),r==="move"&&c.current&&c.current!=="move"&&(e(ea(c.current)),c.current="move"))},{keyup:!0,keydown:!0,preventDefault:!0},[r,c])},px=e=>{const t=e.getPointerPosition(),n=e.getAbsoluteTransform().copy();if(!t||!n)return;const r=n.invert().point(t);return{x:r.x,y:r.y}},y8=()=>{const e=te(),t=Ea(),n=u5();return{updateColorUnderCursor:()=>{if(!n||!t)return;const r=n.getPointerPosition();if(!r)return;const o=sD.pixelRatio,[s,a,c,d]=t.getContext().getImageData(r.x*o,r.y*o,1,1).data;e(aD({r:s,g:a,b:c,a:d}))},commitColorUnderCursor:()=>{e(iD())}}},Kle=fe([Kn,mn,lr],(e,t,n)=>{const{tool:r}=t;return{tool:r,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),Xle=e=>{const t=te(),{tool:n,isStaging:r}=z(Kle),{commitColorUnderCursor:o}=y8();return f.useCallback(s=>{if(!e.current)return;if(e.current.container().focus(),n==="move"||r){t(Hp(!0));return}if(n==="colorPicker"){o();return}const a=px(e.current);a&&(s.evt.preventDefault(),t(d5(!0)),t(lD([a.x,a.y])))},[e,n,r,t,o])},Yle=fe([Kn,mn,lr],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),Qle=(e,t,n)=>{const r=te(),{isDrawing:o,tool:s,isStaging:a}=z(Yle),{updateColorUnderCursor:c}=y8();return f.useCallback(()=>{if(!e.current)return;const d=px(e.current);if(d){if(r(cD(d)),n.current=d,s==="colorPicker"){c();return}!o||s==="move"||a||(t.current=!0,r(f5([d.x,d.y])))}},[t,r,o,a,n,e,s,c])},Jle=()=>{const e=te();return f.useCallback(()=>{e(uD())},[e])},Zle=fe([Kn,mn,lr],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),ece=(e,t)=>{const n=te(),{tool:r,isDrawing:o,isStaging:s}=z(Zle);return f.useCallback(()=>{if(r==="move"||s){n(Hp(!1));return}if(!t.current&&o&&e.current){const a=px(e.current);if(!a)return;n(f5([a.x,a.y]))}else t.current=!1;n(d5(!1))},[t,n,o,s,e,r])},tce=fe([mn],e=>{const{isMoveStageKeyHeld:t,stageScale:n}=e;return{isMoveStageKeyHeld:t,stageScale:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),nce=e=>{const t=te(),{isMoveStageKeyHeld:n,stageScale:r}=z(tce);return f.useCallback(o=>{if(!e.current||n)return;o.evt.preventDefault();const s=e.current.getPointerPosition();if(!s)return;const a={x:(s.x-e.current.x())/r,y:(s.y-e.current.y())/r};let c=o.evt.deltaY;o.evt.ctrlKey&&(c=-c);const d=Es(r*pD**c,fD,dD),p={x:s.x-a.x*d,y:s.y-a.y*d};t(hD(d)),t(c5(p))},[e,n,r,t])},rce=fe(mn,e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,stageDimensions:r,stageScale:o,shouldDarkenOutsideBoundingBox:s,stageCoordinates:a}=e;return{boundingBoxCoordinates:t,boundingBoxDimensions:n,shouldDarkenOutsideBoundingBox:s,stageCoordinates:a,stageDimensions:r,stageScale:o}},{memoizeOptions:{resultEqualityCheck:Zt}}),oce=()=>{const{boundingBoxCoordinates:e,boundingBoxDimensions:t,shouldDarkenOutsideBoundingBox:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=z(rce);return i.jsxs($a,{children:[i.jsx(aa,{offsetX:r.x/s,offsetY:r.y/s,height:o.height/s,width:o.width/s,fill:"rgba(0,0,0,0.4)",listening:!1,visible:n}),i.jsx(aa,{x:e.x,y:e.y,width:t.width,height:t.height,fill:"rgb(255,255,255)",listening:!1,visible:n,globalCompositeOperation:"destination-out"})]})},sce=fe([mn],e=>{const{stageScale:t,stageCoordinates:n,stageDimensions:r}=e;return{stageScale:t,stageCoordinates:n,stageDimensions:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),ace=()=>{const{stageScale:e,stageCoordinates:t,stageDimensions:n}=z(sce),{colorMode:r}=Ds(),[o,s]=f.useState([]),[a,c]=Tc("colors",["base.800","base.200"]),d=f.useCallback(p=>p/e,[e]);return f.useLayoutEffect(()=>{const{width:p,height:h}=n,{x:m,y:v}=t,b={x1:0,y1:0,x2:p,y2:h,offset:{x:d(m),y:d(v)}},w={x:Math.ceil(d(m)/64)*64,y:Math.ceil(d(v)/64)*64},y={x1:-w.x,y1:-w.y,x2:d(p)-w.x+64,y2:d(h)-w.y+64},_={x1:Math.min(b.x1,y.x1),y1:Math.min(b.y1,y.y1),x2:Math.max(b.x2,y.x2),y2:Math.max(b.y2,y.y2)},k=_.x2-_.x1,j=_.y2-_.y1,I=Math.round(k/64)+1,E=Math.round(j/64)+1,O=kw(0,I).map(M=>i.jsx(nm,{x:_.x1+M*64,y:_.y1,points:[0,0,0,j],stroke:r==="dark"?a:c,strokeWidth:1},`x_${M}`)),R=kw(0,E).map(M=>i.jsx(nm,{x:_.x1,y:_.y1+M*64,points:[0,0,k,0],stroke:r==="dark"?a:c,strokeWidth:1},`y_${M}`));s(O.concat(R))},[e,t,n,d,r,a,c]),i.jsx($a,{children:o})},ice=fe([vo,mn],(e,t)=>{const{progressImage:n,sessionId:r}=e,{sessionId:o,boundingBox:s}=t.layerState.stagingArea;return{boundingBox:s,progressImage:r===o?n:void 0}},{memoizeOptions:{resultEqualityCheck:Zt}}),lce=e=>{const{...t}=e,{progressImage:n,boundingBox:r}=z(ice),[o,s]=f.useState(null);return f.useEffect(()=>{if(!n)return;const a=new Image;a.onload=()=>{s(a)},a.src=n.dataURL},[n]),n&&r&&o?i.jsx(b8,{x:r.x,y:r.y,width:r.width,height:r.height,image:o,listening:!1,...t}):null},rl=e=>{const{r:t,g:n,b:r,a:o}=e;return`rgba(${t}, ${n}, ${r}, ${o})`},cce=fe(mn,e=>{const{maskColor:t,stageCoordinates:n,stageDimensions:r,stageScale:o}=e;return{stageCoordinates:n,stageDimensions:r,stageScale:o,maskColorString:rl(t)}}),g_=e=>`data:image/svg+xml;utf8, - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -`.replaceAll("black",e),uce=e=>{const{...t}=e,{maskColorString:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=z(cce),[a,c]=f.useState(null),[d,p]=f.useState(0),h=f.useRef(null),m=f.useCallback(()=>{p(d+1),setTimeout(m,500)},[d]);return f.useEffect(()=>{if(a)return;const v=new Image;v.onload=()=>{c(v)},v.src=g_(n)},[a,n]),f.useEffect(()=>{a&&(a.src=g_(n))},[a,n]),f.useEffect(()=>{const v=setInterval(()=>p(b=>(b+1)%5),50);return()=>clearInterval(v)},[]),!a||!Al(r.x)||!Al(r.y)||!Al(s)||!Al(o.width)||!Al(o.height)?null:i.jsx(aa,{ref:h,offsetX:r.x/s,offsetY:r.y/s,height:o.height/s,width:o.width/s,fillPatternImage:a,fillPatternOffsetY:Al(d)?d:0,fillPatternRepeat:"repeat",fillPatternScale:{x:1/s,y:1/s},listening:!0,globalCompositeOperation:"source-in",...t})},dce=fe([mn],e=>({objects:e.layerState.objects}),{memoizeOptions:{resultEqualityCheck:Zt}}),fce=e=>{const{...t}=e,{objects:n}=z(dce);return i.jsx($a,{listening:!1,...t,children:n.filter(mD).map((r,o)=>i.jsx(nm,{points:r.points,stroke:"rgb(0,0,0)",strokeWidth:r.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:r.tool==="brush"?"source-over":"destination-out"},o))})};var Vi=f,pce=function(t,n,r){const o=Vi.useRef("loading"),s=Vi.useRef(),[a,c]=Vi.useState(0),d=Vi.useRef(),p=Vi.useRef(),h=Vi.useRef();return(d.current!==t||p.current!==n||h.current!==r)&&(o.current="loading",s.current=void 0,d.current=t,p.current=n,h.current=r),Vi.useLayoutEffect(function(){if(!t)return;var m=document.createElement("img");function v(){o.current="loaded",s.current=m,c(Math.random())}function b(){o.current="failed",s.current=void 0,c(Math.random())}return m.addEventListener("load",v),m.addEventListener("error",b),n&&(m.crossOrigin=n),r&&(m.referrerPolicy=r),m.src=t,function(){m.removeEventListener("load",v),m.removeEventListener("error",b)}},[t,n,r]),[s.current,o.current]};const hce=vd(pce),x8=e=>{const{width:t,height:n,x:r,y:o,imageName:s}=e.canvasImage,{currentData:a,isError:c}=os(s??oo.skipToken),[d]=hce((a==null?void 0:a.image_url)??"",gD.get()?"use-credentials":"anonymous");return c?i.jsx(aa,{x:r,y:o,width:t,height:n,fill:"red"}):i.jsx(b8,{x:r,y:o,image:d,listening:!1})},mce=fe([mn],e=>{const{layerState:{objects:t}}=e;return{objects:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),gce=()=>{const{objects:e}=z(mce);return e?i.jsx($a,{name:"outpainting-objects",listening:!1,children:e.map((t,n)=>{if(A_(t))return i.jsx(x8,{canvasImage:t},n);if(vD(t)){const r=i.jsx(nm,{points:t.points,stroke:t.color?rl(t.color):"rgb(0,0,0)",strokeWidth:t.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:t.tool==="brush"?"source-over":"destination-out"},n);return t.clip?i.jsx($a,{clipX:t.clip.x,clipY:t.clip.y,clipWidth:t.clip.width,clipHeight:t.clip.height,children:r},n):r}else{if(bD(t))return i.jsx(aa,{x:t.x,y:t.y,width:t.width,height:t.height,fill:rl(t.color)},n);if(yD(t))return i.jsx(aa,{x:t.x,y:t.y,width:t.width,height:t.height,fill:"rgb(255, 255, 255)",globalCompositeOperation:"destination-out"},n)}})}):null},vce=fe([mn],e=>{const{layerState:t,shouldShowStagingImage:n,shouldShowStagingOutline:r,boundingBoxCoordinates:{x:o,y:s},boundingBoxDimensions:{width:a,height:c}}=e,{selectedImageIndex:d,images:p}=t.stagingArea;return{currentStagingAreaImage:p.length>0&&d!==void 0?p[d]:void 0,isOnFirstImage:d===0,isOnLastImage:d===p.length-1,shouldShowStagingImage:n,shouldShowStagingOutline:r,x:o,y:s,width:a,height:c}},{memoizeOptions:{resultEqualityCheck:Zt}}),bce=e=>{const{...t}=e,{currentStagingAreaImage:n,shouldShowStagingImage:r,shouldShowStagingOutline:o,x:s,y:a,width:c,height:d}=z(vce);return i.jsxs($a,{...t,children:[r&&n&&i.jsx(x8,{canvasImage:n}),o&&i.jsxs($a,{children:[i.jsx(aa,{x:s,y:a,width:c,height:d,strokeWidth:1,stroke:"white",strokeScaleEnabled:!1}),i.jsx(aa,{x:s,y:a,width:c,height:d,dash:[4,4],strokeWidth:1,stroke:"black",strokeScaleEnabled:!1})]})]})},yce=fe([mn],e=>{const{layerState:{stagingArea:{images:t,selectedImageIndex:n,sessionId:r}},shouldShowStagingOutline:o,shouldShowStagingImage:s}=e;return{currentStagingAreaImage:t.length>0?t[n]:void 0,isOnFirstImage:n===0,isOnLastImage:n===t.length-1,shouldShowStagingImage:s,shouldShowStagingOutline:o,sessionId:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),xce=()=>{const e=te(),{isOnFirstImage:t,isOnLastImage:n,currentStagingAreaImage:r,shouldShowStagingImage:o,sessionId:s}=z(yce),{t:a}=ye(),c=f.useCallback(()=>{e(hw(!0))},[e]),d=f.useCallback(()=>{e(hw(!1))},[e]);rt(["left"],()=>{p()},{enabled:()=>!0,preventDefault:!0}),rt(["right"],()=>{h()},{enabled:()=>!0,preventDefault:!0}),rt(["enter"],()=>{m()},{enabled:()=>!0,preventDefault:!0});const p=f.useCallback(()=>e(xD()),[e]),h=f.useCallback(()=>e(wD()),[e]),m=f.useCallback(()=>e(SD(s)),[e,s]),{data:v}=os((r==null?void 0:r.imageName)??oo.skipToken);return r?i.jsx(F,{pos:"absolute",bottom:4,w:"100%",align:"center",justify:"center",filter:"drop-shadow(0 0.5rem 1rem rgba(0,0,0))",onMouseOver:c,onMouseOut:d,children:i.jsxs(rr,{isAttached:!0,children:[i.jsx(Le,{tooltip:`${a("unifiedCanvas.previous")} (Left)`,"aria-label":`${a("unifiedCanvas.previous")} (Left)`,icon:i.jsx(ZH,{}),onClick:p,colorScheme:"accent",isDisabled:t}),i.jsx(Le,{tooltip:`${a("unifiedCanvas.next")} (Right)`,"aria-label":`${a("unifiedCanvas.next")} (Right)`,icon:i.jsx(eW,{}),onClick:h,colorScheme:"accent",isDisabled:n}),i.jsx(Le,{tooltip:`${a("unifiedCanvas.accept")} (Enter)`,"aria-label":`${a("unifiedCanvas.accept")} (Enter)`,icon:i.jsx(rW,{}),onClick:m,colorScheme:"accent"}),i.jsx(Le,{tooltip:a("unifiedCanvas.showHide"),"aria-label":a("unifiedCanvas.showHide"),"data-alert":!o,icon:o?i.jsx(fW,{}):i.jsx(dW,{}),onClick:()=>e(CD(!o)),colorScheme:"accent"}),i.jsx(Le,{tooltip:a("unifiedCanvas.saveToGallery"),"aria-label":a("unifiedCanvas.saveToGallery"),isDisabled:!v||!v.is_intermediate,icon:i.jsx(Dm,{}),onClick:()=>{v&&e(kD({imageDTO:v}))},colorScheme:"accent"}),i.jsx(Le,{tooltip:a("unifiedCanvas.discardAll"),"aria-label":a("unifiedCanvas.discardAll"),icon:i.jsx(gl,{style:{transform:"rotate(45deg)"}}),onClick:()=>e(_D()),colorScheme:"error",fontSize:20})]})}):null},wce=()=>{const e=z(c=>c.canvas.layerState),t=z(c=>c.canvas.boundingBoxCoordinates),n=z(c=>c.canvas.boundingBoxDimensions),r=z(c=>c.canvas.isMaskEnabled),o=z(c=>c.canvas.shouldPreserveMaskedArea),[s,a]=f.useState();return f.useEffect(()=>{a(void 0)},[e,t,n,r,o]),bee(async()=>{const c=await PD(e,t,n,r,o);if(!c)return;const{baseImageData:d,maskImageData:p}=c,h=jD(d,p);a(h)},1e3,[e,t,n,r,o]),s},Sce={txt2img:"Text to Image",img2img:"Image to Image",inpaint:"Inpaint",outpaint:"Inpaint"},Cce=()=>{const e=wce();return i.jsxs(Ee,{children:["Mode: ",e?Sce[e]:"..."]})},ec=e=>Math.round(e*100)/100,kce=fe([mn],e=>{const{cursorPosition:t}=e,{cursorX:n,cursorY:r}=t?{cursorX:t.x,cursorY:t.y}:{cursorX:-1,cursorY:-1};return{cursorCoordinatesString:`(${ec(n)}, ${ec(r)})`}},{memoizeOptions:{resultEqualityCheck:Zt}});function _ce(){const{cursorCoordinatesString:e}=z(kce),{t}=ye();return i.jsx(Ee,{children:`${t("unifiedCanvas.cursorPosition")}: ${e}`})}const q1="var(--invokeai-colors-warning-500)",Pce=fe([mn],e=>{const{stageDimensions:{width:t,height:n},stageCoordinates:{x:r,y:o},boundingBoxDimensions:{width:s,height:a},scaledBoundingBoxDimensions:{width:c,height:d},boundingBoxCoordinates:{x:p,y:h},stageScale:m,shouldShowCanvasDebugInfo:v,layer:b,boundingBoxScaleMethod:w,shouldPreserveMaskedArea:y}=e;let S="inherit";return(w==="none"&&(s<512||a<512)||w==="manual"&&c*d<512*512)&&(S=q1),{activeLayerColor:b==="mask"?q1:"inherit",activeLayerString:b.charAt(0).toUpperCase()+b.slice(1),boundingBoxColor:S,boundingBoxCoordinatesString:`(${ec(p)}, ${ec(h)})`,boundingBoxDimensionsString:`${s}×${a}`,scaledBoundingBoxDimensionsString:`${c}×${d}`,canvasCoordinatesString:`${ec(r)}×${ec(o)}`,canvasDimensionsString:`${t}×${n}`,canvasScaleString:Math.round(m*100),shouldShowCanvasDebugInfo:v,shouldShowBoundingBox:w!=="auto",shouldShowScaledBoundingBox:w!=="none",shouldPreserveMaskedArea:y}},{memoizeOptions:{resultEqualityCheck:Zt}}),jce=()=>{const{activeLayerColor:e,activeLayerString:t,boundingBoxColor:n,boundingBoxCoordinatesString:r,boundingBoxDimensionsString:o,scaledBoundingBoxDimensionsString:s,shouldShowScaledBoundingBox:a,canvasCoordinatesString:c,canvasDimensionsString:d,canvasScaleString:p,shouldShowCanvasDebugInfo:h,shouldShowBoundingBox:m,shouldPreserveMaskedArea:v}=z(Pce),{t:b}=ye();return i.jsxs(F,{sx:{flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,opacity:.65,display:"flex",fontSize:"sm",padding:1,px:2,minWidth:48,margin:1,borderRadius:"base",pointerEvents:"none",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(Cce,{}),i.jsx(Ee,{style:{color:e},children:`${b("unifiedCanvas.activeLayer")}: ${t}`}),i.jsx(Ee,{children:`${b("unifiedCanvas.canvasScale")}: ${p}%`}),v&&i.jsx(Ee,{style:{color:q1},children:"Preserve Masked Area: On"}),m&&i.jsx(Ee,{style:{color:n},children:`${b("unifiedCanvas.boundingBox")}: ${o}`}),a&&i.jsx(Ee,{style:{color:n},children:`${b("unifiedCanvas.scaledBoundingBox")}: ${s}`}),h&&i.jsxs(i.Fragment,{children:[i.jsx(Ee,{children:`${b("unifiedCanvas.boundingBoxPosition")}: ${r}`}),i.jsx(Ee,{children:`${b("unifiedCanvas.canvasDimensions")}: ${d}`}),i.jsx(Ee,{children:`${b("unifiedCanvas.canvasPosition")}: ${c}`}),i.jsx(_ce,{})]})]})},Ice=fe([Ye],({canvas:e,generation:t})=>{const{boundingBoxCoordinates:n,boundingBoxDimensions:r,stageScale:o,isDrawing:s,isTransformingBoundingBox:a,isMovingBoundingBox:c,tool:d,shouldSnapToGrid:p}=e,{aspectRatio:h}=t;return{boundingBoxCoordinates:n,boundingBoxDimensions:r,isDrawing:s,isMovingBoundingBox:c,isTransformingBoundingBox:a,stageScale:o,shouldSnapToGrid:p,tool:d,hitStrokeWidth:20/o,aspectRatio:h}},{memoizeOptions:{resultEqualityCheck:Zt}}),Ece=e=>{const{...t}=e,n=te(),{boundingBoxCoordinates:r,boundingBoxDimensions:o,isDrawing:s,isMovingBoundingBox:a,isTransformingBoundingBox:c,stageScale:d,shouldSnapToGrid:p,tool:h,hitStrokeWidth:m,aspectRatio:v}=z(Ice),b=f.useRef(null),w=f.useRef(null),[y,S]=f.useState(!1);f.useEffect(()=>{var B;!b.current||!w.current||(b.current.nodes([w.current]),(B=b.current.getLayer())==null||B.batchDraw())},[]);const _=64*d;rt("N",()=>{n(Qu(!p))});const k=f.useCallback(B=>{if(!p){n(b0({x:Math.floor(B.target.x()),y:Math.floor(B.target.y())}));return}const V=B.target.x(),q=B.target.y(),G=Ss(V,64),D=Ss(q,64);B.target.x(G),B.target.y(D),n(b0({x:G,y:D}))},[n,p]),j=f.useCallback(()=>{if(!w.current)return;const B=w.current,V=B.scaleX(),q=B.scaleY(),G=Math.round(B.width()*V),D=Math.round(B.height()*q),L=Math.round(B.x()),W=Math.round(B.y());if(v){const Y=Ss(G/v,64);n(Js({width:G,height:Y}))}else n(Js({width:G,height:D}));n(b0({x:p?ju(L,64):L,y:p?ju(W,64):W})),B.scaleX(1),B.scaleY(1)},[n,p,v]),I=f.useCallback((B,V,q)=>{const G=B.x%_,D=B.y%_;return{x:ju(V.x,_)+G,y:ju(V.y,_)+D}},[_]),E=()=>{n(y0(!0))},O=()=>{n(y0(!1)),n(x0(!1)),n($f(!1)),S(!1)},R=()=>{n(x0(!0))},M=()=>{n(y0(!1)),n(x0(!1)),n($f(!1)),S(!1)},A=()=>{S(!0)},T=()=>{!c&&!a&&S(!1)},$=()=>{n($f(!0))},Q=()=>{n($f(!1))};return i.jsxs($a,{...t,children:[i.jsx(aa,{height:o.height,width:o.width,x:r.x,y:r.y,onMouseEnter:$,onMouseOver:$,onMouseLeave:Q,onMouseOut:Q}),i.jsx(aa,{draggable:!0,fillEnabled:!1,height:o.height,hitStrokeWidth:m,listening:!s&&h==="move",onDragStart:R,onDragEnd:M,onDragMove:k,onMouseDown:R,onMouseOut:T,onMouseOver:A,onMouseEnter:A,onMouseUp:M,onTransform:j,onTransformEnd:O,ref:w,stroke:y?"rgba(255,255,255,0.7)":"white",strokeWidth:(y?8:1)/d,width:o.width,x:r.x,y:r.y}),i.jsx(Hle,{anchorCornerRadius:3,anchorDragBoundFunc:I,anchorFill:"rgba(212,216,234,1)",anchorSize:15,anchorStroke:"rgb(42,42,42)",borderDash:[4,4],borderEnabled:!0,borderStroke:"black",draggable:!1,enabledAnchors:h==="move"?void 0:[],flipEnabled:!1,ignoreStroke:!0,keepRatio:!1,listening:!s&&h==="move",onDragStart:R,onDragEnd:M,onMouseDown:E,onMouseUp:O,onTransformEnd:O,ref:b,rotateEnabled:!1})]})},Oce=fe(mn,e=>{const{cursorPosition:t,brushSize:n,colorPickerColor:r,maskColor:o,brushColor:s,tool:a,layer:c,shouldShowBrush:d,isMovingBoundingBox:p,isTransformingBoundingBox:h,stageScale:m,stageDimensions:v,boundingBoxCoordinates:b,boundingBoxDimensions:w,shouldRestrictStrokesToBox:y}=e,S=y?{clipX:b.x,clipY:b.y,clipWidth:w.width,clipHeight:w.height}:{};return{cursorPosition:t,brushX:t?t.x:v.width/2,brushY:t?t.y:v.height/2,radius:n/2,colorPickerOuterRadius:mw/m,colorPickerInnerRadius:(mw-Av+1)/m,maskColorString:rl({...o,a:.5}),brushColorString:rl(s),colorPickerColorString:rl(r),tool:a,layer:c,shouldShowBrush:d,shouldDrawBrushPreview:!(p||h||!t)&&d,strokeWidth:1.5/m,dotRadius:1.5/m,clip:S}},{memoizeOptions:{resultEqualityCheck:Zt}}),Rce=e=>{const{...t}=e,{brushX:n,brushY:r,radius:o,maskColorString:s,tool:a,layer:c,shouldDrawBrushPreview:d,dotRadius:p,strokeWidth:h,brushColorString:m,colorPickerColorString:v,colorPickerInnerRadius:b,colorPickerOuterRadius:w,clip:y}=z(Oce);return d?i.jsxs($a,{listening:!1,...y,...t,children:[a==="colorPicker"?i.jsxs(i.Fragment,{children:[i.jsx(Wi,{x:n,y:r,radius:w,stroke:m,strokeWidth:Av,strokeScaleEnabled:!1}),i.jsx(Wi,{x:n,y:r,radius:b,stroke:v,strokeWidth:Av,strokeScaleEnabled:!1})]}):i.jsxs(i.Fragment,{children:[i.jsx(Wi,{x:n,y:r,radius:o,fill:c==="mask"?s:m,globalCompositeOperation:a==="eraser"?"destination-out":"source-out"}),i.jsx(Wi,{x:n,y:r,radius:o,stroke:"rgba(255,255,255,0.4)",strokeWidth:h*2,strokeEnabled:!0,listening:!1}),i.jsx(Wi,{x:n,y:r,radius:o,stroke:"rgba(0,0,0,1)",strokeWidth:h,strokeEnabled:!0,listening:!1})]}),i.jsx(Wi,{x:n,y:r,radius:p*2,fill:"rgba(255,255,255,0.4)",listening:!1}),i.jsx(Wi,{x:n,y:r,radius:p,fill:"rgba(0,0,0,1)",listening:!1})]}):null},Mce=fe([mn,lr],(e,t)=>{const{isMaskEnabled:n,stageScale:r,shouldShowBoundingBox:o,isTransformingBoundingBox:s,isMouseOverBoundingBox:a,isMovingBoundingBox:c,stageDimensions:d,stageCoordinates:p,tool:h,isMovingStage:m,shouldShowIntermediates:v,shouldShowGrid:b,shouldRestrictStrokesToBox:w,shouldAntialias:y}=e;let S="none";return h==="move"||t?m?S="grabbing":S="grab":s?S=void 0:w&&!a&&(S="default"),{isMaskEnabled:n,isModifyingBoundingBox:s||c,shouldShowBoundingBox:o,shouldShowGrid:b,stageCoordinates:p,stageCursor:S,stageDimensions:d,stageScale:r,tool:h,isStaging:t,shouldShowIntermediates:v,shouldAntialias:y}},Ge),Dce=je(Wle,{shouldForwardProp:e=>!["sx"].includes(e)}),v_=()=>{const{isMaskEnabled:e,isModifyingBoundingBox:t,shouldShowBoundingBox:n,shouldShowGrid:r,stageCoordinates:o,stageCursor:s,stageDimensions:a,stageScale:c,tool:d,isStaging:p,shouldShowIntermediates:h,shouldAntialias:m}=z(Mce);qle();const v=f.useRef(null),b=f.useRef(null),w=f.useCallback(T=>{ED(T),v.current=T},[]),y=f.useCallback(T=>{ID(T),b.current=T},[]),S=f.useRef({x:0,y:0}),_=f.useRef(!1),k=nce(v),j=Xle(v),I=ece(v,_),E=Qle(v,_,S),O=Jle(),{handleDragStart:R,handleDragMove:M,handleDragEnd:A}=Ule();return i.jsx(F,{sx:{position:"relative",height:"100%",width:"100%",borderRadius:"base"},children:i.jsxs(Ee,{sx:{position:"relative"},children:[i.jsxs(Dce,{tabIndex:-1,ref:w,sx:{outline:"none",overflow:"hidden",cursor:s||void 0,canvas:{outline:"none"}},x:o.x,y:o.y,width:a.width,height:a.height,scale:{x:c,y:c},onTouchStart:j,onTouchMove:E,onTouchEnd:I,onMouseDown:j,onMouseLeave:O,onMouseMove:E,onMouseUp:I,onDragStart:R,onDragMove:M,onDragEnd:A,onContextMenu:T=>T.evt.preventDefault(),onWheel:k,draggable:(d==="move"||p)&&!t,children:[i.jsx(_u,{id:"grid",visible:r,children:i.jsx(ace,{})}),i.jsx(_u,{id:"base",ref:y,listening:!1,imageSmoothingEnabled:m,children:i.jsx(gce,{})}),i.jsxs(_u,{id:"mask",visible:e,listening:!1,children:[i.jsx(fce,{visible:!0,listening:!1}),i.jsx(uce,{listening:!1})]}),i.jsx(_u,{children:i.jsx(oce,{})}),i.jsxs(_u,{id:"preview",imageSmoothingEnabled:m,children:[!p&&i.jsx(Rce,{visible:d!=="move",listening:!1}),i.jsx(bce,{visible:p}),h&&i.jsx(lce,{}),i.jsx(Ece,{visible:n&&!p})]})]}),i.jsx(jce,{}),i.jsx(xce,{})]})})},Ace=fe(mn,IH,Kn,(e,t,n)=>{const{doesCanvasNeedScaling:r,isCanvasInitialized:o}=e;return{doesCanvasNeedScaling:r,activeTabName:n,initialCanvasImage:t,isCanvasInitialized:o}}),b_=()=>{const e=te(),{doesCanvasNeedScaling:t,activeTabName:n,initialCanvasImage:r,isCanvasInitialized:o}=z(Ace),s=f.useRef(null);return f.useLayoutEffect(()=>{window.setTimeout(()=>{if(!s.current)return;const{clientWidth:a,clientHeight:c}=s.current;e(OD({width:a,height:c})),e(o?RD():im()),e(T_(!1))},0)},[e,r,t,n,o]),i.jsx(F,{ref:s,sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,width:"100%",height:"100%"},children:i.jsx(pl,{thickness:"2px",size:"xl"})})};function w8(e,t,n=250){const[r,o]=f.useState(0);return f.useEffect(()=>{const s=setTimeout(()=>{r===1&&e(),o(0)},n);return r===2&&t(),()=>clearTimeout(s)},[r,e,t,n]),()=>o(s=>s+1)}const Tce=je(o8,{baseStyle:{paddingInline:4},shouldForwardProp:e=>!["pickerColor"].includes(e)}),vv={width:6,height:6,borderColor:"base.100"},Nce=e=>{const{styleClass:t="",...n}=e;return i.jsx(Tce,{sx:{".react-colorful__hue-pointer":vv,".react-colorful__saturation-pointer":vv,".react-colorful__alpha-pointer":vv},className:t,...n})},rm=f.memo(Nce),$ce=fe([mn,lr],(e,t)=>{const{maskColor:n,layer:r,isMaskEnabled:o,shouldPreserveMaskedArea:s}=e;return{layer:r,maskColor:n,maskColorString:rl(n),isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),zce=()=>{const e=te(),{t}=ye(),{layer:n,maskColor:r,isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:a}=z($ce);rt(["q"],()=>{c()},{enabled:()=>!a,preventDefault:!0},[n]),rt(["shift+c"],()=>{d()},{enabled:()=>!a,preventDefault:!0},[]),rt(["h"],()=>{p()},{enabled:()=>!a,preventDefault:!0},[o]);const c=()=>{e(Wp(n==="mask"?"base":"mask"))},d=()=>e(lb()),p=()=>e(wd(!o));return i.jsx(vl,{triggerComponent:i.jsx(rr,{children:i.jsx(Le,{"aria-label":t("unifiedCanvas.maskingOptions"),tooltip:t("unifiedCanvas.maskingOptions"),icon:i.jsx(wW,{}),isChecked:n==="mask",isDisabled:a})}),children:i.jsxs(F,{direction:"column",gap:2,children:[i.jsx(Gn,{label:`${t("unifiedCanvas.enableMask")} (H)`,isChecked:o,onChange:p}),i.jsx(Gn,{label:t("unifiedCanvas.preserveMaskedArea"),isChecked:s,onChange:h=>e(p5(h.target.checked))}),i.jsx(rm,{sx:{paddingTop:2,paddingBottom:2},pickerColor:r,onChange:h=>e(h5(h))}),i.jsxs(Jt,{size:"sm",leftIcon:i.jsx(us,{}),onClick:d,children:[t("unifiedCanvas.clearMask")," (Shift+C)"]})]})})},Lce=fe([mn,Kn,vo],(e,t,n)=>{const{futureLayerStates:r}=e;return{canRedo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}});function S8(){const e=te(),{canRedo:t,activeTabName:n}=z(Lce),{t:r}=ye(),o=()=>{e(MD())};return rt(["meta+shift+z","ctrl+shift+z","control+y","meta+y"],()=>{o()},{enabled:()=>t,preventDefault:!0},[n,t]),i.jsx(Le,{"aria-label":`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,tooltip:`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,icon:i.jsx(kW,{}),onClick:o,isDisabled:!t})}const C8=()=>{const e=z(lr),t=te(),{t:n}=ye();return i.jsxs(ix,{title:n("unifiedCanvas.clearCanvasHistory"),acceptCallback:()=>t(DD()),acceptButtonText:n("unifiedCanvas.clearHistory"),triggerComponent:i.jsx(Jt,{size:"sm",leftIcon:i.jsx(us,{}),isDisabled:e,children:n("unifiedCanvas.clearCanvasHistory")}),children:[i.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryMessage")}),i.jsx("br",{}),i.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryConfirm")})]})},Bce=fe([mn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:o,shouldShowGrid:s,shouldShowIntermediates:a,shouldSnapToGrid:c,shouldRestrictStrokesToBox:d,shouldAntialias:p}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:o,shouldShowGrid:s,shouldShowIntermediates:a,shouldSnapToGrid:c,shouldRestrictStrokesToBox:d,shouldAntialias:p}},{memoizeOptions:{resultEqualityCheck:Zt}}),Fce=()=>{const e=te(),{t}=ye(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldDarkenOutsideBoundingBox:o,shouldShowCanvasDebugInfo:s,shouldShowGrid:a,shouldShowIntermediates:c,shouldSnapToGrid:d,shouldRestrictStrokesToBox:p,shouldAntialias:h}=z(Bce);rt(["n"],()=>{e(Qu(!d))},{enabled:!0,preventDefault:!0},[d]);const m=v=>e(Qu(v.target.checked));return i.jsx(vl,{isLazy:!1,triggerComponent:i.jsx(Le,{tooltip:t("unifiedCanvas.canvasSettings"),"aria-label":t("unifiedCanvas.canvasSettings"),icon:i.jsx(sy,{})}),children:i.jsxs(F,{direction:"column",gap:2,children:[i.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:c,onChange:v=>e(m5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showGrid"),isChecked:a,onChange:v=>e(g5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.snapToGrid"),isChecked:d,onChange:m}),i.jsx(Gn,{label:t("unifiedCanvas.darkenOutsideSelection"),isChecked:o,onChange:v=>e(v5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:v=>e(b5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:v=>e(y5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.limitStrokesToBox"),isChecked:p,onChange:v=>e(x5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:s,onChange:v=>e(w5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.antialiasing"),isChecked:h,onChange:v=>e(S5(v.target.checked))}),i.jsx(C8,{})]})})},Hce=fe([mn,lr,vo],(e,t,n)=>{const{isProcessing:r}=n,{tool:o,brushColor:s,brushSize:a}=e;return{tool:o,isStaging:t,isProcessing:r,brushColor:s,brushSize:a}},{memoizeOptions:{resultEqualityCheck:Zt}}),Wce=()=>{const e=te(),{tool:t,brushColor:n,brushSize:r,isStaging:o}=z(Hce),{t:s}=ye();rt(["b"],()=>{a()},{enabled:()=>!o,preventDefault:!0},[]),rt(["e"],()=>{c()},{enabled:()=>!o,preventDefault:!0},[t]),rt(["c"],()=>{d()},{enabled:()=>!o,preventDefault:!0},[t]),rt(["shift+f"],()=>{p()},{enabled:()=>!o,preventDefault:!0}),rt(["delete","backspace"],()=>{h()},{enabled:()=>!o,preventDefault:!0}),rt(["BracketLeft"],()=>{e(nc(Math.max(r-5,5)))},{enabled:()=>!o,preventDefault:!0},[r]),rt(["BracketRight"],()=>{e(nc(Math.min(r+5,500)))},{enabled:()=>!o,preventDefault:!0},[r]),rt(["Shift+BracketLeft"],()=>{e(rc({...n,a:Es(n.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]),rt(["Shift+BracketRight"],()=>{e(rc({...n,a:Es(n.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]);const a=()=>e(ea("brush")),c=()=>e(ea("eraser")),d=()=>e(ea("colorPicker")),p=()=>e(C5()),h=()=>e(k5());return i.jsxs(rr,{isAttached:!0,children:[i.jsx(Le,{"aria-label":`${s("unifiedCanvas.brush")} (B)`,tooltip:`${s("unifiedCanvas.brush")} (B)`,icon:i.jsx(_P,{}),isChecked:t==="brush"&&!o,onClick:a,isDisabled:o}),i.jsx(Le,{"aria-label":`${s("unifiedCanvas.eraser")} (E)`,tooltip:`${s("unifiedCanvas.eraser")} (E)`,icon:i.jsx(yP,{}),isChecked:t==="eraser"&&!o,isDisabled:o,onClick:c}),i.jsx(Le,{"aria-label":`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:i.jsx(SP,{}),isDisabled:o,onClick:p}),i.jsx(Le,{"aria-label":`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:i.jsx(gl,{style:{transform:"rotate(45deg)"}}),isDisabled:o,onClick:h}),i.jsx(Le,{"aria-label":`${s("unifiedCanvas.colorPicker")} (C)`,tooltip:`${s("unifiedCanvas.colorPicker")} (C)`,icon:i.jsx(wP,{}),isChecked:t==="colorPicker"&&!o,isDisabled:o,onClick:d}),i.jsx(vl,{triggerComponent:i.jsx(Le,{"aria-label":s("unifiedCanvas.brushOptions"),tooltip:s("unifiedCanvas.brushOptions"),icon:i.jsx(ry,{})}),children:i.jsxs(F,{minWidth:60,direction:"column",gap:4,width:"100%",children:[i.jsx(F,{gap:4,justifyContent:"space-between",children:i.jsx(_t,{label:s("unifiedCanvas.brushSize"),value:r,withInput:!0,onChange:m=>e(nc(m)),sliderNumberInputProps:{max:500}})}),i.jsx(rm,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:m=>e(rc(m))})]})})]})},Vce=fe([mn,Kn,vo],(e,t,n)=>{const{pastLayerStates:r}=e;return{canUndo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}});function k8(){const e=te(),{t}=ye(),{canUndo:n,activeTabName:r}=z(Vce),o=()=>{e(AD())};return rt(["meta+z","ctrl+z"],()=>{o()},{enabled:()=>n,preventDefault:!0},[r,n]),i.jsx(Le,{"aria-label":`${t("unifiedCanvas.undo")} (Ctrl+Z)`,tooltip:`${t("unifiedCanvas.undo")} (Ctrl+Z)`,icon:i.jsx(oy,{}),onClick:o,isDisabled:!n})}const Uce=fe([vo,mn,lr],(e,t,n)=>{const{isProcessing:r}=e,{tool:o,shouldCropToBoundingBoxOnSave:s,layer:a,isMaskEnabled:c}=t;return{isProcessing:r,isStaging:n,isMaskEnabled:c,tool:o,layer:a,shouldCropToBoundingBoxOnSave:s}},{memoizeOptions:{resultEqualityCheck:Zt}}),Gce=()=>{const e=te(),{isProcessing:t,isStaging:n,isMaskEnabled:r,layer:o,tool:s}=z(Uce),a=Ea(),{t:c}=ye(),{isClipboardAPIAvailable:d}=Gy(),{getUploadButtonProps:p,getUploadInputProps:h}=Jm({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}});rt(["v"],()=>{m()},{enabled:()=>!n,preventDefault:!0},[]),rt(["r"],()=>{b()},{enabled:()=>!0,preventDefault:!0},[a]),rt(["shift+m"],()=>{y()},{enabled:()=>!n,preventDefault:!0},[a,t]),rt(["shift+s"],()=>{S()},{enabled:()=>!n,preventDefault:!0},[a,t]),rt(["meta+c","ctrl+c"],()=>{_()},{enabled:()=>!n&&d,preventDefault:!0},[a,t,d]),rt(["shift+d"],()=>{k()},{enabled:()=>!n,preventDefault:!0},[a,t]);const m=()=>e(ea("move")),v=w8(()=>b(!1),()=>b(!0)),b=(I=!1)=>{const E=Ea();if(!E)return;const O=E.getClientRect({skipTransform:!0});e(_5({contentRect:O,shouldScaleTo1:I}))},w=()=>{e(rb()),e(im())},y=()=>{e(P5())},S=()=>{e(j5())},_=()=>{d&&e(I5())},k=()=>{e(E5())},j=I=>{const E=I;e(Wp(E)),E==="mask"&&!r&&e(wd(!0))};return i.jsxs(F,{sx:{alignItems:"center",gap:2,flexWrap:"wrap"},children:[i.jsx(Ee,{w:24,children:i.jsx(Xr,{tooltip:`${c("unifiedCanvas.layer")} (Q)`,value:o,data:O5,onChange:j,disabled:n})}),i.jsx(zce,{}),i.jsx(Wce,{}),i.jsxs(rr,{isAttached:!0,children:[i.jsx(Le,{"aria-label":`${c("unifiedCanvas.move")} (V)`,tooltip:`${c("unifiedCanvas.move")} (V)`,icon:i.jsx(gP,{}),isChecked:s==="move"||n,onClick:m}),i.jsx(Le,{"aria-label":`${c("unifiedCanvas.resetView")} (R)`,tooltip:`${c("unifiedCanvas.resetView")} (R)`,icon:i.jsx(bP,{}),onClick:v})]}),i.jsxs(rr,{isAttached:!0,children:[i.jsx(Le,{"aria-label":`${c("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${c("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:i.jsx(CP,{}),onClick:y,isDisabled:n}),i.jsx(Le,{"aria-label":`${c("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${c("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:i.jsx(Dm,{}),onClick:S,isDisabled:n}),d&&i.jsx(Le,{"aria-label":`${c("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${c("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:i.jsx(Vc,{}),onClick:_,isDisabled:n}),i.jsx(Le,{"aria-label":`${c("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${c("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:i.jsx(ny,{}),onClick:k,isDisabled:n})]}),i.jsxs(rr,{isAttached:!0,children:[i.jsx(k8,{}),i.jsx(S8,{})]}),i.jsxs(rr,{isAttached:!0,children:[i.jsx(Le,{"aria-label":`${c("common.upload")}`,tooltip:`${c("common.upload")}`,icon:i.jsx(zd,{}),isDisabled:n,...p()}),i.jsx("input",{...h()}),i.jsx(Le,{"aria-label":`${c("unifiedCanvas.clearCanvas")}`,tooltip:`${c("unifiedCanvas.clearCanvas")}`,icon:i.jsx(us,{}),onClick:w,colorScheme:"error",isDisabled:n})]}),i.jsx(rr,{isAttached:!0,children:i.jsx(Fce,{})})]})};function qce(){const e=te(),t=z(o=>o.canvas.brushSize),{t:n}=ye(),r=z(lr);return rt(["BracketLeft"],()=>{e(nc(Math.max(t-5,5)))},{enabled:()=>!r,preventDefault:!0},[t]),rt(["BracketRight"],()=>{e(nc(Math.min(t+5,500)))},{enabled:()=>!r,preventDefault:!0},[t]),i.jsx(_t,{label:n("unifiedCanvas.brushSize"),value:t,withInput:!0,onChange:o=>e(nc(o)),sliderNumberInputProps:{max:500},isCompact:!0})}const Kce=fe([mn,lr],(e,t)=>{const{brushColor:n,maskColor:r,layer:o}=e;return{brushColor:n,maskColor:r,layer:o,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Zt}});function Xce(){const e=te(),{brushColor:t,maskColor:n,layer:r,isStaging:o}=z(Kce),s=()=>{if(r==="base")return`rgba(${t.r},${t.g},${t.b},${t.a})`;if(r==="mask")return`rgba(${n.r},${n.g},${n.b},${n.a})`};return rt(["shift+BracketLeft"],()=>{e(rc({...t,a:Es(t.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),rt(["shift+BracketRight"],()=>{e(rc({...t,a:Es(t.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),i.jsx(vl,{triggerComponent:i.jsx(Ee,{sx:{width:7,height:7,minWidth:7,minHeight:7,borderRadius:"full",bg:s(),cursor:"pointer"}}),children:i.jsxs(F,{minWidth:60,direction:"column",gap:4,width:"100%",children:[r==="base"&&i.jsx(rm,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:t,onChange:a=>e(rc(a))}),r==="mask"&&i.jsx(rm,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:a=>e(h5(a))})]})})}function _8(){return i.jsxs(F,{columnGap:4,alignItems:"center",children:[i.jsx(qce,{}),i.jsx(Xce,{})]})}function Yce(){const e=te(),t=z(r=>r.canvas.shouldRestrictStrokesToBox),{t:n}=ye();return i.jsx(Gn,{label:n("unifiedCanvas.betaLimitToBox"),isChecked:t,onChange:r=>e(x5(r.target.checked))})}function Qce(){return i.jsxs(F,{gap:4,alignItems:"center",children:[i.jsx(_8,{}),i.jsx(Yce,{})]})}function Jce(){const e=te(),{t}=ye(),n=()=>e(lb());return i.jsx(Jt,{size:"sm",leftIcon:i.jsx(us,{}),onClick:n,tooltip:`${t("unifiedCanvas.clearMask")} (Shift+C)`,children:t("unifiedCanvas.betaClear")})}function Zce(){const e=z(o=>o.canvas.isMaskEnabled),t=te(),{t:n}=ye(),r=()=>t(wd(!e));return i.jsx(Gn,{label:`${n("unifiedCanvas.enableMask")} (H)`,isChecked:e,onChange:r})}function eue(){const e=te(),{t}=ye(),n=z(r=>r.canvas.shouldPreserveMaskedArea);return i.jsx(Gn,{label:t("unifiedCanvas.betaPreserveMasked"),isChecked:n,onChange:r=>e(p5(r.target.checked))})}function tue(){return i.jsxs(F,{gap:4,alignItems:"center",children:[i.jsx(_8,{}),i.jsx(Zce,{}),i.jsx(eue,{}),i.jsx(Jce,{})]})}function nue(){const e=z(r=>r.canvas.shouldDarkenOutsideBoundingBox),t=te(),{t:n}=ye();return i.jsx(Gn,{label:n("unifiedCanvas.betaDarkenOutside"),isChecked:e,onChange:r=>t(v5(r.target.checked))})}function rue(){const e=z(r=>r.canvas.shouldShowGrid),t=te(),{t:n}=ye();return i.jsx(Gn,{label:n("unifiedCanvas.showGrid"),isChecked:e,onChange:r=>t(g5(r.target.checked))})}function oue(){const e=z(o=>o.canvas.shouldSnapToGrid),t=te(),{t:n}=ye(),r=o=>t(Qu(o.target.checked));return i.jsx(Gn,{label:`${n("unifiedCanvas.snapToGrid")} (N)`,isChecked:e,onChange:r})}function sue(){return i.jsxs(F,{alignItems:"center",gap:4,children:[i.jsx(rue,{}),i.jsx(oue,{}),i.jsx(nue,{})]})}const aue=fe([mn],e=>{const{tool:t,layer:n}=e;return{tool:t,layer:n}},{memoizeOptions:{resultEqualityCheck:Zt}});function iue(){const{tool:e,layer:t}=z(aue);return i.jsxs(F,{height:8,minHeight:8,maxHeight:8,alignItems:"center",children:[t=="base"&&["brush","eraser","colorPicker"].includes(e)&&i.jsx(Qce,{}),t=="mask"&&["brush","eraser","colorPicker"].includes(e)&&i.jsx(tue,{}),e=="move"&&i.jsx(sue,{})]})}const lue=fe([mn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:o,shouldAntialias:s}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:o,shouldAntialias:s}},{memoizeOptions:{resultEqualityCheck:Zt}}),cue=()=>{const e=te(),{t}=ye(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldShowCanvasDebugInfo:o,shouldShowIntermediates:s,shouldAntialias:a}=z(lue);return i.jsx(vl,{isLazy:!1,triggerComponent:i.jsx(Le,{tooltip:t("unifiedCanvas.canvasSettings"),tooltipProps:{placement:"bottom"},"aria-label":t("unifiedCanvas.canvasSettings"),icon:i.jsx(sy,{})}),children:i.jsxs(F,{direction:"column",gap:2,children:[i.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:s,onChange:c=>e(m5(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:c=>e(b5(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:c=>e(y5(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:o,onChange:c=>e(w5(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.antialiasing"),isChecked:a,onChange:c=>e(S5(c.target.checked))}),i.jsx(C8,{})]})})};function uue(){const e=z(lr),t=Ea(),{isClipboardAPIAvailable:n}=Gy(),r=z(c=>c.system.isProcessing),o=te(),{t:s}=ye();rt(["meta+c","ctrl+c"],()=>{a()},{enabled:()=>!e&&n,preventDefault:!0},[t,r,n]);const a=f.useCallback(()=>{n&&o(I5())},[o,n]);return n?i.jsx(Le,{"aria-label":`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:i.jsx(Vc,{}),onClick:a,isDisabled:e}):null}function due(){const e=te(),{t}=ye(),n=Ea(),r=z(lr);rt(["shift+d"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[n]);const o=()=>{e(E5())};return i.jsx(Le,{"aria-label":`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:i.jsx(ny,{}),onClick:o,isDisabled:r})}function fue(){const e=z(lr),{getUploadButtonProps:t,getUploadInputProps:n}=Jm({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}}),{t:r}=ye();return i.jsxs(i.Fragment,{children:[i.jsx(Le,{"aria-label":r("common.upload"),tooltip:r("common.upload"),icon:i.jsx(zd,{}),isDisabled:e,...t()}),i.jsx("input",{...n()})]})}const pue=fe([mn,lr],(e,t)=>{const{layer:n,isMaskEnabled:r}=e;return{layer:n,isMaskEnabled:r,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Zt}});function hue(){const e=te(),{t}=ye(),{layer:n,isMaskEnabled:r,isStaging:o}=z(pue),s=()=>{e(Wp(n==="mask"?"base":"mask"))};rt(["q"],()=>{s()},{enabled:()=>!o,preventDefault:!0},[n]);const a=c=>{const d=c;e(Wp(d)),d==="mask"&&!r&&e(wd(!0))};return i.jsx(Xr,{tooltip:`${t("unifiedCanvas.layer")} (Q)`,"aria-label":`${t("unifiedCanvas.layer")} (Q)`,value:n,data:O5,onChange:a,disabled:o,w:"full"})}function mue(){const e=te(),{t}=ye(),n=Ea(),r=z(lr),o=z(a=>a.system.isProcessing);rt(["shift+m"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n,o]);const s=()=>{e(P5())};return i.jsx(Le,{"aria-label":`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:i.jsx(CP,{}),onClick:s,isDisabled:r})}function gue(){const e=z(s=>s.canvas.tool),t=z(lr),n=te(),{t:r}=ye();rt(["v"],()=>{o()},{enabled:()=>!t,preventDefault:!0},[]);const o=()=>n(ea("move"));return i.jsx(Le,{"aria-label":`${r("unifiedCanvas.move")} (V)`,tooltip:`${r("unifiedCanvas.move")} (V)`,icon:i.jsx(gP,{}),isChecked:e==="move"||t,onClick:o})}function vue(){const e=z(s=>s.ui.shouldPinParametersPanel),t=z(s=>s.ui.shouldShowParametersPanel),n=te(),{t:r}=ye(),o=()=>{n(cb(!0)),e&&n(ko())};return!e||!t?i.jsxs(F,{flexDirection:"column",gap:2,children:[i.jsx(Le,{tooltip:`${r("parameters.showOptionsPanel")} (O)`,tooltipProps:{placement:"top"},"aria-label":r("parameters.showOptionsPanel"),onClick:o,children:i.jsx(ry,{})}),i.jsx(F,{children:i.jsx(Jy,{iconButton:!0})}),i.jsx(F,{children:i.jsx(ng,{width:"100%",height:"40px",btnGroupWidth:"100%"})})]}):null}function bue(){const e=te(),{t}=ye(),n=z(lr),r=()=>{e(rb()),e(im())};return i.jsx(Le,{"aria-label":t("unifiedCanvas.clearCanvas"),tooltip:t("unifiedCanvas.clearCanvas"),icon:i.jsx(us,{}),onClick:r,isDisabled:n,colorScheme:"error"})}function yue(){const e=Ea(),t=te(),{t:n}=ye();rt(["r"],()=>{o()},{enabled:()=>!0,preventDefault:!0},[e]);const r=w8(()=>o(!1),()=>o(!0)),o=(s=!1)=>{const a=Ea();if(!a)return;const c=a.getClientRect({skipTransform:!0});t(_5({contentRect:c,shouldScaleTo1:s}))};return i.jsx(Le,{"aria-label":`${n("unifiedCanvas.resetView")} (R)`,tooltip:`${n("unifiedCanvas.resetView")} (R)`,icon:i.jsx(bP,{}),onClick:r})}function xue(){const e=z(lr),t=Ea(),n=z(a=>a.system.isProcessing),r=te(),{t:o}=ye();rt(["shift+s"],()=>{s()},{enabled:()=>!e,preventDefault:!0},[t,n]);const s=()=>{r(j5())};return i.jsx(Le,{"aria-label":`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:i.jsx(Dm,{}),onClick:s,isDisabled:e})}const wue=fe([mn,lr,vo],(e,t,n)=>{const{isProcessing:r}=n,{tool:o}=e;return{tool:o,isStaging:t,isProcessing:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),Sue=()=>{const e=te(),{t}=ye(),{tool:n,isStaging:r}=z(wue);rt(["b"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[]),rt(["e"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n]),rt(["c"],()=>{a()},{enabled:()=>!r,preventDefault:!0},[n]),rt(["shift+f"],()=>{c()},{enabled:()=>!r,preventDefault:!0}),rt(["delete","backspace"],()=>{d()},{enabled:()=>!r,preventDefault:!0});const o=()=>e(ea("brush")),s=()=>e(ea("eraser")),a=()=>e(ea("colorPicker")),c=()=>e(C5()),d=()=>e(k5());return i.jsxs(F,{flexDirection:"column",gap:2,children:[i.jsxs(rr,{children:[i.jsx(Le,{"aria-label":`${t("unifiedCanvas.brush")} (B)`,tooltip:`${t("unifiedCanvas.brush")} (B)`,icon:i.jsx(_P,{}),isChecked:n==="brush"&&!r,onClick:o,isDisabled:r}),i.jsx(Le,{"aria-label":`${t("unifiedCanvas.eraser")} (E)`,tooltip:`${t("unifiedCanvas.eraser")} (B)`,icon:i.jsx(yP,{}),isChecked:n==="eraser"&&!r,isDisabled:r,onClick:s})]}),i.jsxs(rr,{children:[i.jsx(Le,{"aria-label":`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:i.jsx(SP,{}),isDisabled:r,onClick:c}),i.jsx(Le,{"aria-label":`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:i.jsx(gl,{style:{transform:"rotate(45deg)"}}),isDisabled:r,onClick:d})]}),i.jsx(Le,{"aria-label":`${t("unifiedCanvas.colorPicker")} (C)`,tooltip:`${t("unifiedCanvas.colorPicker")} (C)`,icon:i.jsx(wP,{}),isChecked:n==="colorPicker"&&!r,isDisabled:r,onClick:a,width:"max-content"})]})},Cue=()=>i.jsxs(F,{flexDirection:"column",rowGap:2,width:"min-content",children:[i.jsx(hue,{}),i.jsx(Sue,{}),i.jsxs(F,{gap:2,children:[i.jsx(gue,{}),i.jsx(yue,{})]}),i.jsxs(F,{columnGap:2,children:[i.jsx(mue,{}),i.jsx(xue,{})]}),i.jsxs(F,{columnGap:2,children:[i.jsx(uue,{}),i.jsx(due,{})]}),i.jsxs(F,{gap:2,children:[i.jsx(k8,{}),i.jsx(S8,{})]}),i.jsxs(F,{gap:2,children:[i.jsx(fue,{}),i.jsx(bue,{})]}),i.jsx(cue,{}),i.jsx(vue,{})]}),kue=fe([mn,La],(e,t)=>{const{doesCanvasNeedScaling:n}=e,{shouldUseCanvasBetaLayout:r}=t;return{doesCanvasNeedScaling:n,shouldUseCanvasBetaLayout:r}},Ge),bv={id:"canvas-intial-image",actionType:"SET_CANVAS_INITIAL_IMAGE"},_ue=()=>{const e=te(),{doesCanvasNeedScaling:t,shouldUseCanvasBetaLayout:n}=z(kue),{isOver:r,setNodeRef:o,active:s}=Q1({id:"unifiedCanvas",data:bv});return f.useLayoutEffect(()=>{const a=()=>{e(ko())};return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[e]),n?i.jsx(Ee,{layerStyle:"first",ref:o,tabIndex:0,sx:{w:"full",h:"full",p:4,borderRadius:"base"},children:i.jsxs(F,{sx:{w:"full",h:"full",gap:4},children:[i.jsx(Cue,{}),i.jsxs(F,{sx:{flexDir:"column",w:"full",h:"full",gap:4,position:"relative"},children:[i.jsx(iue,{}),i.jsxs(Ee,{sx:{w:"full",h:"full",position:"relative"},children:[t?i.jsx(b_,{}):i.jsx(v_,{}),Tp(bv,s)&&i.jsx(ch,{isOver:r,label:"Set Canvas Initial Image"})]})]})]})}):i.jsx(Ee,{ref:o,tabIndex:-1,sx:{layerStyle:"first",w:"full",h:"full",p:4,borderRadius:"base"},children:i.jsxs(F,{sx:{flexDirection:"column",alignItems:"center",gap:4,w:"full",h:"full"},children:[i.jsx(Gce,{}),i.jsx(F,{sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,w:"full",h:"full"},children:i.jsxs(Ee,{sx:{w:"full",h:"full",position:"relative"},children:[t?i.jsx(b_,{}):i.jsx(v_,{}),Tp(bv,s)&&i.jsx(ch,{isOver:r,label:"Set Canvas Initial Image"})]})})]})})},Pue=f.memo(_ue),jue=fe([Ye],({generation:e})=>{const{infillMethod:t}=e;return{infillMethod:t}},Ge),Iue=()=>{const e=te(),{infillMethod:t}=z(jue),{data:n,isLoading:r}=q_(),o=n==null?void 0:n.infill_methods,{t:s}=ye(),a=f.useCallback(c=>{e(TD(c))},[e]);return i.jsx(Xr,{disabled:(o==null?void 0:o.length)===0,placeholder:r?"Loading...":void 0,label:s("parameters.infillMethod"),value:t,data:o??[],onChange:a})},Eue=f.memo(Iue),Oue=fe([Di],e=>{const{tileSize:t,infillMethod:n}=e;return{tileSize:t,infillMethod:n}},Ge),Rue=()=>{const e=te(),{tileSize:t,infillMethod:n}=z(Oue),{t:r}=ye(),o=f.useCallback(a=>{e(gw(a))},[e]),s=f.useCallback(()=>{e(gw(32))},[e]);return i.jsx(_t,{isDisabled:n!=="tile",label:r("parameters.tileSize"),min:16,max:64,sliderNumberInputProps:{max:256},value:t,onChange:o,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:s})},Mue=f.memo(Rue),Due=fe([mn],e=>{const{boundingBoxScaleMethod:t}=e;return{boundingBoxScale:t}},Ge),Aue=()=>{const e=te(),{boundingBoxScale:t}=z(Due),{t:n}=ye(),r=o=>{e($D(o))};return i.jsx(ar,{label:n("parameters.scaleBeforeProcessing"),data:ND,value:t,onChange:r})},Tue=f.memo(Aue),Nue=fe([Di,vo,mn],(e,t,n)=>{const{scaledBoundingBoxDimensions:r,boundingBoxScaleMethod:o}=n;return{scaledBoundingBoxDimensions:r,isManual:o==="manual"}},Ge),$ue=()=>{const e=te(),{isManual:t,scaledBoundingBoxDimensions:n}=z(Nue),{t:r}=ye(),o=a=>{e(Vp({...n,height:Math.floor(a)}))},s=()=>{e(Vp({...n,height:Math.floor(512)}))};return i.jsx(_t,{isDisabled:!t,label:r("parameters.scaledHeight"),min:64,max:1024,step:64,value:n.height,onChange:o,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:s})},zue=f.memo($ue),Lue=fe([mn],e=>{const{boundingBoxScaleMethod:t,scaledBoundingBoxDimensions:n}=e;return{scaledBoundingBoxDimensions:n,isManual:t==="manual"}},Ge),Bue=()=>{const e=te(),{isManual:t,scaledBoundingBoxDimensions:n}=z(Lue),{t:r}=ye(),o=a=>{e(Vp({...n,width:Math.floor(a)}))},s=()=>{e(Vp({...n,width:Math.floor(512)}))};return i.jsx(_t,{isDisabled:!t,label:r("parameters.scaledWidth"),min:64,max:1024,step:64,value:n.width,onChange:o,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:s})},Fue=f.memo(Bue),Hue=()=>{const{t:e}=ye();return i.jsx(Ro,{label:e("parameters.infillScalingHeader"),children:i.jsxs(F,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(Eue,{}),i.jsx(Mue,{}),i.jsx(Tue,{}),i.jsx(Fue,{}),i.jsx(zue,{})]})})},Wue=f.memo(Hue);function Vue(){const e=te(),t=z(r=>r.generation.seamBlur),{t:n}=ye();return i.jsx(_t,{label:n("parameters.seamBlur"),min:0,max:64,sliderNumberInputProps:{max:512},value:t,onChange:r=>{e(vw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(vw(16))}})}function Uue(){const e=te(),{t}=ye(),n=z(r=>r.generation.seamSize);return i.jsx(_t,{label:t("parameters.seamSize"),min:1,max:256,sliderNumberInputProps:{max:512},value:n,onChange:r=>{e(bw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>e(bw(96))})}function Gue(){const{t:e}=ye(),t=z(r=>r.generation.seamSteps),n=te();return i.jsx(_t,{label:e("parameters.seamSteps"),min:1,max:100,sliderNumberInputProps:{max:999},value:t,onChange:r=>{n(yw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{n(yw(30))}})}function que(){const e=te(),{t}=ye(),n=z(r=>r.generation.seamStrength);return i.jsx(_t,{label:t("parameters.seamStrength"),min:.01,max:.99,step:.01,value:n,onChange:r=>{e(xw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(xw(.7))}})}const Kue=()=>{const{t:e}=ye();return i.jsxs(Ro,{label:e("parameters.seamCorrectionHeader"),children:[i.jsx(Uue,{}),i.jsx(Vue,{}),i.jsx(que,{}),i.jsx(Gue,{})]})},Xue=f.memo(Kue),Yue=fe([Ye,lr],({canvas:e,generation:t},n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=t;return{boundingBoxDimensions:r,isStaging:n,aspectRatio:o}},Ge),Que=()=>{const e=te(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=z(Yue),{t:o}=ye(),s=c=>{if(e(Js({...t,height:Math.floor(c)})),r){const d=Ss(c*r,64);e(Js({width:d,height:Math.floor(c)}))}},a=()=>{if(e(Js({...t,height:Math.floor(512)})),r){const c=Ss(512*r,64);e(Js({width:c,height:Math.floor(512)}))}};return i.jsx(_t,{label:o("parameters.boundingBoxHeight"),min:64,max:1024,step:64,value:t.height,onChange:s,isDisabled:n,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:a})},Jue=f.memo(Que),Zue=fe([Ye,lr],({canvas:e,generation:t},n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=t;return{boundingBoxDimensions:r,isStaging:n,aspectRatio:o}},Ge),ede=()=>{const e=te(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=z(Zue),{t:o}=ye(),s=c=>{if(e(Js({...t,width:Math.floor(c)})),r){const d=Ss(c/r,64);e(Js({width:Math.floor(c),height:d}))}},a=()=>{if(e(Js({...t,width:Math.floor(512)})),r){const c=Ss(512/r,64);e(Js({width:Math.floor(512),height:c}))}};return i.jsx(_t,{label:o("parameters.boundingBoxWidth"),min:64,max:1024,step:64,value:t.width,onChange:s,isDisabled:n,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:a})},tde=f.memo(ede);function y_(){const e=te(),{t}=ye();return i.jsxs(F,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[i.jsxs(F,{alignItems:"center",gap:2,children:[i.jsx(qe,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:t("parameters.aspectRatio")}),i.jsx(hl,{}),i.jsx(TO,{}),i.jsx(Le,{tooltip:t("ui.swapSizes"),"aria-label":t("ui.swapSizes"),size:"sm",icon:i.jsx(pO,{}),fontSize:20,onClick:()=>e(zD())})]}),i.jsx(tde,{}),i.jsx(Jue,{})]})}const nde=fe(Ye,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Ge),rde=()=>{const{shouldUseSliders:e,activeLabel:t}=z(nde);return i.jsx(Ro,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(F,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Ee,{pt:2,children:i.jsx(ki,{})}),i.jsx(y_,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(F,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Ee,{pt:2,children:i.jsx(ki,{})}),i.jsx(y_,{})]}),i.jsx(VO,{})]})})},ode=f.memo(rde),P8=()=>i.jsxs(i.Fragment,{children:[i.jsx(ax,{}),i.jsx(qd,{}),i.jsx(ode,{}),i.jsx(ox,{}),i.jsx(nx,{}),i.jsx(Ud,{}),i.jsx(sx,{}),i.jsx(Xue,{}),i.jsx(Wue,{}),i.jsx(rx,{})]}),sde=()=>i.jsxs(F,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(tx,{children:i.jsx(P8,{})}),i.jsx(Pue,{})]}),ade=f.memo(sde),ide=[{id:"txt2img",translationKey:"common.txt2img",icon:i.jsx(no,{as:pW,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(Bie,{})},{id:"img2img",translationKey:"common.img2img",icon:i.jsx(no,{as:ll,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(Boe,{})},{id:"unifiedCanvas",translationKey:"common.unifiedCanvas",icon:i.jsx(no,{as:Nee,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(ade,{})},{id:"nodes",translationKey:"common.nodes",icon:i.jsx(no,{as:Tee,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(Nie,{})},{id:"modelManager",translationKey:"modelManager.modelManager",icon:i.jsx(no,{as:aW,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(Lse,{})}],lde=fe([hO,vo],(e,t)=>{const{disabledTabs:n}=e,{isNodesEnabled:r}=t;return ide.filter(s=>s.id==="nodes"?r&&!n.includes(s.id):!n.includes(s.id))},{memoizeOptions:{resultEqualityCheck:Zt}}),cde=350,yv=20,j8=["modelManager"],ude=()=>{const e=z(LD),t=z(Kn),n=z(lde),{shouldPinGallery:r,shouldPinParametersPanel:o,shouldShowGallery:s}=z(y=>y.ui),{t:a}=ye(),c=te();rt("f",()=>{c(BD()),(r||o)&&c(ko())},[r,o]);const d=f.useCallback(()=>{t==="unifiedCanvas"&&c(ko())},[c,t]),p=f.useCallback(y=>{y.target instanceof HTMLElement&&y.target.blur()},[]),h=f.useMemo(()=>n.map(y=>i.jsx(wn,{hasArrow:!0,label:String(a(y.translationKey)),placement:"end",children:i.jsxs(Cc,{onClick:p,children:[i.jsx(G5,{children:String(a(y.translationKey))}),y.icon]})},y.id)),[n,a,p]),m=f.useMemo(()=>n.map(y=>i.jsx(Rm,{children:y.content},y.id)),[n]),{ref:v,minSizePct:b}=ste(cde,yv,"app"),w=f.useCallback(y=>{const S=FD[y];S&&c(Xl(S))},[c]);return i.jsxs(Td,{defaultIndex:e,index:e,onChange:w,sx:{flexGrow:1,gap:4},isLazy:!0,children:[i.jsxs(Nd,{sx:{pt:2,gap:4,flexDir:"column"},children:[h,i.jsx(hl,{}),i.jsx(Fee,{})]}),i.jsxs(Qy,{id:"app",autoSaveId:"app",direction:"horizontal",style:{height:"100%",width:"100%"},children:[i.jsx(pd,{id:"main",children:i.jsx(Mm,{style:{height:"100%",width:"100%"},children:m})}),r&&s&&!j8.includes(t)&&i.jsxs(i.Fragment,{children:[i.jsx(LO,{}),i.jsx(pd,{ref:v,onResize:d,id:"gallery",order:3,defaultSize:b>yv&&b<100?b:yv,minSize:b,maxSize:50,children:i.jsx(uO,{})})]})]})]})},dde=f.memo(ude),fde=fe([Kn,La],(e,t)=>{const{shouldPinGallery:n,shouldShowGallery:r}=t;return{shouldPinGallery:n,shouldShowGalleryButton:j8.includes(e)?!1:!r}},{memoizeOptions:{resultEqualityCheck:Zt}}),pde=()=>{const{t:e}=ye(),{shouldPinGallery:t,shouldShowGalleryButton:n}=z(fde),r=te(),o=()=>{r(Dv(!0)),t&&r(ko())};return n?i.jsx(Le,{tooltip:"Show Gallery (G)",tooltipProps:{placement:"top"},"aria-label":e("accessibility.showGallery"),onClick:o,sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",p:0,insetInlineEnd:0,px:3,h:48,w:8,borderStartEndRadius:0,borderEndEndRadius:0,shadow:"2xl"},children:i.jsx($ee,{})}):null},hde=f.memo(pde),xv={borderStartStartRadius:0,borderEndStartRadius:0,shadow:"2xl"},mde=fe([La,Kn],(e,t)=>{const{shouldPinParametersPanel:n,shouldUseCanvasBetaLayout:r,shouldShowParametersPanel:o}=e,s=r&&t==="unifiedCanvas",a=!s&&(!n||!o),c=!s&&!o&&["txt2img","img2img","unifiedCanvas"].includes(t);return{shouldPinParametersPanel:n,shouldShowParametersPanelButton:c,shouldShowProcessButtons:a}},{memoizeOptions:{resultEqualityCheck:Zt}}),gde=()=>{const e=te(),{t}=ye(),{shouldShowProcessButtons:n,shouldShowParametersPanelButton:r,shouldPinParametersPanel:o}=z(mde),s=()=>{e(cb(!0)),o&&e(ko())};return r?i.jsxs(F,{pos:"absolute",transform:"translate(0, -50%)",minW:8,top:"50%",insetInlineStart:"4.5rem",direction:"column",gap:2,children:[i.jsx(Le,{tooltip:"Show Options Panel (O)",tooltipProps:{placement:"top"},"aria-label":t("accessibility.showOptionsPanel"),onClick:s,sx:xv,children:i.jsx(ry,{})}),n&&i.jsxs(i.Fragment,{children:[i.jsx(Jy,{iconButton:!0,sx:xv}),i.jsx(ng,{sx:xv})]})]}):null},vde=f.memo(gde),bde=fe([La,Kn],(e,t)=>{const{shouldPinParametersPanel:n,shouldShowParametersPanel:r}=e;return{activeTabName:t,shouldPinParametersPanel:n,shouldShowParametersPanel:r}},Ge),yde=()=>{const e=te(),{shouldPinParametersPanel:t,shouldShowParametersPanel:n,activeTabName:r}=z(bde),o=()=>{e(cb(!1))},s=z(c=>c.generation.model),a=f.useMemo(()=>r==="txt2img"?s&&s.base_model==="sdxl"?i.jsx(l8,{}):i.jsx(c8,{}):r==="img2img"?s&&s.base_model==="sdxl"?i.jsx($O,{}):i.jsx(UO,{}):r==="unifiedCanvas"?i.jsx(P8,{}):null,[r,s]);return t?null:i.jsx(pP,{direction:"left",isResizable:!1,isOpen:n,onClose:o,children:i.jsxs(F,{sx:{flexDir:"column",h:"full",w:ex,gap:2,position:"relative",flexShrink:0,overflowY:"auto"},children:[i.jsxs(F,{paddingBottom:4,justifyContent:"space-between",alignItems:"center",children:[i.jsx(fO,{}),i.jsx(zO,{})]}),i.jsx(F,{sx:{gap:2,flexDirection:"column",h:"full",w:"full"},children:a})]})})},xde=f.memo(yde),wde=()=>{const{data:e,isFetching:t}=am(),{isOpen:n,onClose:r,handleAddToBoard:o,image:s}=f.useContext(H_),[a,c]=f.useState(),d=f.useRef(null),p=e==null?void 0:e.find(h=>h.board_id===(s==null?void 0:s.board_id));return i.jsx(Md,{isOpen:n,leastDestructiveRef:d,onClose:r,isCentered:!0,children:i.jsx(Da,{children:i.jsxs(Dd,{children:[i.jsx(Ma,{fontSize:"lg",fontWeight:"bold",children:p?"Move Image to Board":"Add Image to Board"}),i.jsx(Aa,{children:i.jsx(Ee,{children:i.jsxs(F,{direction:"column",gap:3,children:[p&&i.jsxs(qe,{children:["Moving this image from"," ",i.jsx("strong",{children:p.board_name})," to"]}),t?i.jsx(pl,{}):i.jsx(ar,{placeholder:"Select Board",onChange:h=>c(h),value:a,data:(e??[]).map(h=>({label:h.board_name,value:h.board_id}))})]})})}),i.jsxs(Ra,{children:[i.jsx(Jt,{onClick:r,children:"Cancel"}),i.jsx(Jt,{isDisabled:!a,colorScheme:"accent",onClick:()=>{a&&o(a)},ml:3,children:p?"Move":"Add"})]})]})})})},Sde=f.memo(wde),Cde=fe([e=>e.hotkeys,e=>e.ui],(e,t)=>{const{shift:n}=e,{shouldPinParametersPanel:r,shouldPinGallery:o}=t;return{shift:n,shouldPinGallery:o,shouldPinParametersPanel:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),kde=()=>{const e=te(),{shift:t,shouldPinParametersPanel:n,shouldPinGallery:r}=z(Cde),o=z(Kn);return rt("*",()=>{lP("shift")?!t&&e(jo(!0)):t&&e(jo(!1))},{keyup:!0,keydown:!0},[t]),rt("o",()=>{e(HD()),o==="unifiedCanvas"&&n&&e(ko())}),rt(["shift+o"],()=>{e(WD()),o==="unifiedCanvas"&&e(ko())}),rt("g",()=>{e(VD()),o==="unifiedCanvas"&&r&&e(ko())}),rt(["shift+g"],()=>{e(L_()),o==="unifiedCanvas"&&e(ko())}),rt("1",()=>{e(Xl("txt2img"))}),rt("2",()=>{e(Xl("img2img"))}),rt("3",()=>{e(Xl("unifiedCanvas"))}),rt("4",()=>{e(Xl("nodes"))}),null},_de=f.memo(kde),Pde={},jde=({config:e=Pde,headerComponent:t})=>{const n=z(Y6),r=gF(),o=te();return f.useEffect(()=>{Bn.changeLanguage(n)},[n]),f.useEffect(()=>{Z_(e)&&(r.info({namespace:"App",config:e},"Received config"),o(UD(e)))},[o,e,r]),f.useEffect(()=>{o(GD())},[o]),i.jsxs(i.Fragment,{children:[i.jsxs(sl,{w:"100vw",h:"100vh",position:"relative",overflow:"hidden",children:[i.jsx(jH,{children:i.jsxs(sl,{sx:{gap:4,p:4,gridAutoRows:"min-content auto",w:"full",h:"full"},children:[t||i.jsx(Dee,{}),i.jsx(F,{sx:{gap:4,w:"full",h:"full"},children:i.jsx(dde,{})})]})}),i.jsx(iee,{}),i.jsx(xde,{}),i.jsx(Ju,{children:i.jsx(vde,{})}),i.jsx(Ju,{children:i.jsx(hde,{})})]}),i.jsx(dee,{}),i.jsx(Sde,{}),i.jsx(vF,{}),i.jsx(_de,{})]})},Dde=f.memo(jde);export{Dde as default}; diff --git a/invokeai/frontend/web/dist/assets/MantineProvider-b20a2267.js b/invokeai/frontend/web/dist/assets/MantineProvider-b20a2267.js deleted file mode 100644 index 644c027f81..0000000000 --- a/invokeai/frontend/web/dist/assets/MantineProvider-b20a2267.js +++ /dev/null @@ -1 +0,0 @@ -import{z as p,A as d,a4 as Z,aH as xe,ga as We,Z as De,U as j,a7 as q,T as z,V as R,a1 as _e,a0 as Be,$ as Ce,_ as Ge,Y as Ue,gb as Ve,gc as Ze,g1 as qe,ab as A,f$ as B,g7 as Xe}from"./index-18f2f740.js";function Je(e,t){return`${e} returned \`undefined\`. Seems you forgot to wrap component within ${t}`}function M(e={}){const{name:t,strict:r=!0,hookName:o="useContext",providerName:a="Provider",errorMessage:n,defaultValue:s}=e,i=p.createContext(s);i.displayName=t;function l(){var c;const u=p.useContext(i);if(!u&&r){const f=new Error(n??Je(o,a));throw f.name="ContextError",(c=Error.captureStackTrace)==null||c.call(Error,f,l),f}return u}return[i.Provider,l,i]}var[Ke,Ye]=M({strict:!1,name:"PortalManagerContext"});function Qe(e){const{children:t,zIndex:r}=e;return d.jsx(Ke,{value:{zIndex:r},children:t})}Qe.displayName="PortalManager";var[ke,et]=M({strict:!1,name:"PortalContext"}),J="chakra-portal",tt=".chakra-portal",rt=e=>d.jsx("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0},children:e.children}),nt=e=>{const{appendToParentPortal:t,children:r}=e,[o,a]=p.useState(null),n=p.useRef(null),[,s]=p.useState({});p.useEffect(()=>s({}),[]);const i=et(),l=Ye();Z(()=>{if(!o)return;const u=o.ownerDocument,f=t?i??u.body:u.body;if(!f)return;n.current=u.createElement("div"),n.current.className=J,f.appendChild(n.current),s({});const y=n.current;return()=>{f.contains(y)&&f.removeChild(y)}},[o]);const c=l!=null&&l.zIndex?d.jsx(rt,{zIndex:l==null?void 0:l.zIndex,children:r}):r;return n.current?xe.createPortal(d.jsx(ke,{value:n.current,children:c}),n.current):d.jsx("span",{ref:u=>{u&&a(u)}})},ot=e=>{const{children:t,containerRef:r,appendToParentPortal:o}=e,a=r.current,n=a??(typeof window<"u"?document.body:void 0),s=p.useMemo(()=>{const l=a==null?void 0:a.ownerDocument.createElement("div");return l&&(l.className=J),l},[a]),[,i]=p.useState({});return Z(()=>i({}),[]),Z(()=>{if(!(!s||!n))return n.appendChild(s),()=>{n.removeChild(s)}},[s,n]),n&&s?xe.createPortal(d.jsx(ke,{value:o?s:null,children:t}),s):null};function G(e){const t={appendToParentPortal:!0,...e},{containerRef:r,...o}=t;return r?d.jsx(ot,{containerRef:r,...o}):d.jsx(nt,{...o})}G.className=J;G.selector=tt;G.displayName="Portal";function m(e,t={}){let r=!1;function o(){if(!r){r=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function a(...u){o();for(const f of u)t[f]=l(f);return m(e,t)}function n(...u){for(const f of u)f in t||(t[f]=l(f));return m(e,t)}function s(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.selector]))}function i(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.className]))}function l(u){const g=`chakra-${(["container","root"].includes(u??"")?[e]:[e,u]).filter(Boolean).join("__")}`;return{className:g,selector:`.${g}`,toString:()=>u}}return{parts:a,toPart:l,extend:n,selectors:s,classnames:i,get keys(){return Object.keys(t)},__type:{}}}var Or=m("accordion").parts("root","container","button","panel").extend("icon"),zr=m("alert").parts("title","description","container").extend("icon","spinner"),Rr=m("avatar").parts("label","badge","container").extend("excessLabel","group"),Mr=m("breadcrumb").parts("link","item","container").extend("separator");m("button").parts();var Lr=m("checkbox").parts("control","icon","container").extend("label");m("progress").parts("track","filledTrack").extend("label");var Fr=m("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Hr=m("editable").parts("preview","input","textarea"),Wr=m("form").parts("container","requiredIndicator","helperText"),Dr=m("formError").parts("text","icon"),Br=m("input").parts("addon","field","element","group"),Gr=m("list").parts("container","item","icon"),at=m("menu").parts("button","list","item").extend("groupTitle","icon","command","divider"),Ur=m("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Vr=m("numberinput").parts("root","field","stepperGroup","stepper");m("pininput").parts("field");var Zr=m("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),qr=m("progress").parts("label","filledTrack","track"),Xr=m("radio").parts("container","control","label"),Jr=m("select").parts("field","icon"),Kr=m("slider").parts("container","track","thumb","filledTrack","mark"),Yr=m("stat").parts("container","label","helpText","number","icon"),Qr=m("switch").parts("container","track","thumb"),en=m("table").parts("table","thead","tbody","tr","th","td","tfoot","caption"),tn=m("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator"),rn=m("tag").parts("container","label","closeButton"),nn=m("card").parts("container","header","body","footer");function P(e,t){return r=>r.colorMode==="dark"?t:e}function on(e){const{orientation:t,vertical:r,horizontal:o}=e;return t?t==="vertical"?r:o:{}}var st=(e,t)=>e.find(r=>r.id===t);function re(e,t){const r=we(e,t),o=r?e[r].findIndex(a=>a.id===t):-1;return{position:r,index:o}}function we(e,t){for(const[r,o]of Object.entries(e))if(st(o,t))return r}function it(e){const t=e.includes("right"),r=e.includes("left");let o="center";return t&&(o="flex-end"),r&&(o="flex-start"),{display:"flex",flexDirection:"column",alignItems:o}}function lt(e){const r=e==="top"||e==="bottom"?"0 auto":void 0,o=e.includes("top")?"env(safe-area-inset-top, 0px)":void 0,a=e.includes("bottom")?"env(safe-area-inset-bottom, 0px)":void 0,n=e.includes("left")?void 0:"env(safe-area-inset-right, 0px)",s=e.includes("right")?void 0:"env(safe-area-inset-left, 0px)";return{position:"fixed",zIndex:"var(--toast-z-index, 5500)",pointerEvents:"none",display:"flex",flexDirection:"column",margin:r,top:o,bottom:a,right:n,left:s}}function ct(e,t=[]){const r=p.useRef(e);return p.useEffect(()=>{r.current=e}),p.useCallback((...o)=>{var a;return(a=r.current)==null?void 0:a.call(r,...o)},t)}function ut(e,t){const r=ct(e);p.useEffect(()=>{if(t==null)return;let o=null;return o=window.setTimeout(()=>{r()},t),()=>{o&&window.clearTimeout(o)}},[t,r])}function ne(e,t){const r=p.useRef(!1),o=p.useRef(!1);p.useEffect(()=>{if(r.current&&o.current)return e();o.current=!0},t),p.useEffect(()=>(r.current=!0,()=>{r.current=!1}),[])}var dt={initial:e=>{const{position:t}=e,r=["top","bottom"].includes(t)?"y":"x";let o=["top-right","bottom-right"].includes(t)?1:-1;return t==="bottom"&&(o=1),{opacity:0,[r]:o*24}},animate:{opacity:1,y:0,x:0,scale:1,transition:{duration:.4,ease:[.4,0,.2,1]}},exit:{opacity:0,scale:.85,transition:{duration:.2,ease:[.4,0,1,1]}}},Pe=p.memo(e=>{const{id:t,message:r,onCloseComplete:o,onRequestRemove:a,requestClose:n=!1,position:s="bottom",duration:i=5e3,containerStyle:l,motionVariants:c=dt,toastSpacing:u="0.5rem"}=e,[f,y]=p.useState(i),g=We();ne(()=>{g||o==null||o()},[g]),ne(()=>{y(i)},[i]);const h=()=>y(null),$=()=>y(i),S=()=>{g&&a()};p.useEffect(()=>{g&&n&&a()},[g,n,a]),ut(S,f);const H=p.useMemo(()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:u,...l}),[l,u]),N=p.useMemo(()=>it(s),[s]);return d.jsx(De.div,{layout:!0,className:"chakra-toast",variants:c,initial:"initial",animate:"animate",exit:"exit",onHoverStart:h,onHoverEnd:$,custom:{position:s},style:N,children:d.jsx(j.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:H,children:q(r,{id:t,onClose:S})})})});Pe.displayName="ToastComponent";function ft(e,t){var r;const o=e??"bottom",n={"top-start":{ltr:"top-left",rtl:"top-right"},"top-end":{ltr:"top-right",rtl:"top-left"},"bottom-start":{ltr:"bottom-left",rtl:"bottom-right"},"bottom-end":{ltr:"bottom-right",rtl:"bottom-left"}}[o];return(r=n==null?void 0:n[t])!=null?r:o}var oe={path:d.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[d.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),d.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),d.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},L=z((e,t)=>{const{as:r,viewBox:o,color:a="currentColor",focusable:n=!1,children:s,className:i,__css:l,...c}=e,u=R("chakra-icon",i),f=_e("Icon",e),y={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:a,...l,...f},g={ref:t,focusable:n,className:u,__css:y},h=o??oe.viewBox;if(r&&typeof r!="string")return d.jsx(j.svg,{as:r,...g,...c});const $=s??oe.path;return d.jsx(j.svg,{verticalAlign:"middle",viewBox:h,...g,...c,children:$})});L.displayName="Icon";function pt(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm6.927,8.2-6.845,9.289a1.011,1.011,0,0,1-1.43.188L5.764,13.769a1,1,0,1,1,1.25-1.562l4.076,3.261,6.227-8.451A1,1,0,1,1,18.927,8.2Z"})})}function mt(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm.25,5a1.5,1.5,0,1,1-1.5,1.5A1.5,1.5,0,0,1,12.25,5ZM14.5,18.5h-4a1,1,0,0,1,0-2h.75a.25.25,0,0,0,.25-.25v-4.5a.25.25,0,0,0-.25-.25H10.5a1,1,0,0,1,0-2h1a2,2,0,0,1,2,2v4.75a.25.25,0,0,0,.25.25h.75a1,1,0,1,1,0,2Z"})})}function ae(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})}var[gt,K]=M({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[bt,Y]=M({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),Ae={info:{icon:mt,colorScheme:"blue"},warning:{icon:ae,colorScheme:"orange"},success:{icon:pt,colorScheme:"green"},error:{icon:ae,colorScheme:"red"},loading:{icon:Be,colorScheme:"blue"}};function yt(e){return Ae[e].colorScheme}function vt(e){return Ae[e].icon}var je=z(function(t,r){const o=Y(),{status:a}=K(),n={display:"inline",...o.description};return d.jsx(j.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__desc",t.className),__css:n})});je.displayName="AlertDescription";function Ee(e){const{status:t}=K(),r=vt(t),o=Y(),a=t==="loading"?o.spinner:o.icon;return d.jsx(j.span,{display:"inherit","data-status":t,...e,className:R("chakra-alert__icon",e.className),__css:a,children:e.children||d.jsx(r,{h:"100%",w:"100%"})})}Ee.displayName="AlertIcon";var Ne=z(function(t,r){const o=Y(),{status:a}=K();return d.jsx(j.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__title",t.className),__css:o.title})});Ne.displayName="AlertTitle";var $e=z(function(t,r){var o;const{status:a="info",addRole:n=!0,...s}=Ce(t),i=(o=t.colorScheme)!=null?o:yt(a),l=Ge("Alert",{...t,colorScheme:i}),c={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...l.container};return d.jsx(gt,{value:{status:a},children:d.jsx(bt,{value:l,children:d.jsx(j.div,{"data-status":a,role:n?"alert":void 0,ref:r,...s,className:R("chakra-alert",t.className),__css:c})})})});$e.displayName="Alert";function ht(e){return d.jsx(L,{focusable:"false","aria-hidden":!0,...e,children:d.jsx("path",{fill:"currentColor",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"})})}var Te=z(function(t,r){const o=_e("CloseButton",t),{children:a,isDisabled:n,__css:s,...i}=Ce(t),l={outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0};return d.jsx(j.button,{type:"button","aria-label":"Close",ref:r,disabled:n,__css:{...l,...o,...s},...i,children:a||d.jsx(ht,{width:"1em",height:"1em"})})});Te.displayName="CloseButton";var St={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},C=xt(St);function xt(e){let t=e;const r=new Set,o=a=>{t=a(t),r.forEach(n=>n())};return{getState:()=>t,subscribe:a=>(r.add(a),()=>{o(()=>e),r.delete(a)}),removeToast:(a,n)=>{o(s=>({...s,[n]:s[n].filter(i=>i.id!=a)}))},notify:(a,n)=>{const s=_t(a,n),{position:i,id:l}=s;return o(c=>{var u,f;const g=i.includes("top")?[s,...(u=c[i])!=null?u:[]]:[...(f=c[i])!=null?f:[],s];return{...c,[i]:g}}),l},update:(a,n)=>{a&&o(s=>{const i={...s},{position:l,index:c}=re(i,a);return l&&c!==-1&&(i[l][c]={...i[l][c],...n,message:Ie(n)}),i})},closeAll:({positions:a}={})=>{o(n=>(a??["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce((l,c)=>(l[c]=n[c].map(u=>({...u,requestClose:!0})),l),{...n}))},close:a=>{o(n=>{const s=we(n,a);return s?{...n,[s]:n[s].map(i=>i.id==a?{...i,requestClose:!0}:i)}:n})},isActive:a=>!!re(C.getState(),a).position}}var se=0;function _t(e,t={}){var r,o;se+=1;const a=(r=t.id)!=null?r:se,n=(o=t.position)!=null?o:"bottom";return{id:a,message:e,position:n,duration:t.duration,onCloseComplete:t.onCloseComplete,onRequestRemove:()=>C.removeToast(String(a),n),status:t.status,requestClose:!1,containerStyle:t.containerStyle}}var Ct=e=>{const{status:t,variant:r="solid",id:o,title:a,isClosable:n,onClose:s,description:i,colorScheme:l,icon:c}=e,u=o?{root:`toast-${o}`,title:`toast-${o}-title`,description:`toast-${o}-description`}:void 0;return d.jsxs($e,{addRole:!1,status:t,variant:r,id:u==null?void 0:u.root,alignItems:"start",borderRadius:"md",boxShadow:"lg",paddingEnd:8,textAlign:"start",width:"auto",colorScheme:l,children:[d.jsx(Ee,{children:c}),d.jsxs(j.div,{flex:"1",maxWidth:"100%",children:[a&&d.jsx(Ne,{id:u==null?void 0:u.title,children:a}),i&&d.jsx(je,{id:u==null?void 0:u.description,display:"block",children:i})]}),n&&d.jsx(Te,{size:"sm",onClick:s,position:"absolute",insetEnd:1,top:1})]})};function Ie(e={}){const{render:t,toastComponent:r=Ct}=e;return a=>typeof t=="function"?t({...a,...e}):d.jsx(r,{...a,...e})}function an(e,t){const r=a=>{var n;return{...t,...a,position:ft((n=a==null?void 0:a.position)!=null?n:t==null?void 0:t.position,e)}},o=a=>{const n=r(a),s=Ie(n);return C.notify(s,n)};return o.update=(a,n)=>{C.update(a,r(n))},o.promise=(a,n)=>{const s=o({...n.loading,status:"loading",duration:null});a.then(i=>o.update(s,{status:"success",duration:5e3,...q(n.success,i)})).catch(i=>o.update(s,{status:"error",duration:5e3,...q(n.error,i)}))},o.closeAll=C.closeAll,o.close=C.close,o.isActive=C.isActive,o}var[sn,ln]=M({name:"ToastOptionsContext",strict:!1}),cn=e=>{const t=p.useSyncExternalStore(C.subscribe,C.getState,C.getState),{motionVariants:r,component:o=Pe,portalProps:a}=e,s=Object.keys(t).map(i=>{const l=t[i];return d.jsx("div",{role:"region","aria-live":"polite","aria-label":"Notifications",id:`chakra-toast-manager-${i}`,style:lt(i),children:d.jsx(Ue,{initial:!1,children:l.map(c=>d.jsx(o,{motionVariants:r,...c},c.id))})},i)});return d.jsx(G,{...a,children:s})};function kt(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),r=0;r()=>{if(e.isInitialized)t();else{const r=()=>{setTimeout(()=>{e.off("initialized",r)},0),t()};e.on("initialized",r)}};function le(e,t,r){e.loadNamespaces(t,Oe(e,r))}function ce(e,t,r,o){typeof r=="string"&&(r=[r]),r.forEach(a=>{e.options.ns.indexOf(a)<0&&e.options.ns.push(a)}),e.loadLanguages(t,Oe(e,o))}function wt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const o=t.languages[0],a=t.options?t.options.fallbackLng:!1,n=t.languages[t.languages.length-1];if(o.toLowerCase()==="cimode")return!0;const s=(i,l)=>{const c=t.services.backendConnector.state[`${i}|${l}`];return c===-1||c===2};return r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!s(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(o,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||s(o,e)&&(!a||s(n,e)))}function Pt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!t.languages||!t.languages.length?(X("i18n.languages were undefined or empty",t.languages),!0):t.options.ignoreJSONStructure!==void 0?t.hasLoadedNamespace(e,{lng:r.lng,precheck:(a,n)=>{if(r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&a.services.backendConnector.backend&&a.isLanguageChangingTo&&!n(a.isLanguageChangingTo,e))return!1}}):wt(e,t,r)}const At=p.createContext();class jt{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(r=>{this.usedNamespaces[r]||(this.usedNamespaces[r]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Et=(e,t)=>{const r=p.useRef();return p.useEffect(()=>{r.current=t?r.current:e},[e,t]),r.current};function un(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:r}=t,{i18n:o,defaultNS:a}=p.useContext(At)||{},n=r||o||Ze();if(n&&!n.reportNamespaces&&(n.reportNamespaces=new jt),!n){X("You will need to pass in an i18next instance by using initReactI18next");const v=(w,x)=>typeof x=="string"?x:x&&typeof x=="object"&&typeof x.defaultValue=="string"?x.defaultValue:Array.isArray(w)?w[w.length-1]:w,k=[v,{},!1];return k.t=v,k.i18n={},k.ready=!1,k}n.options.react&&n.options.react.wait!==void 0&&X("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...Ve(),...n.options.react,...t},{useSuspense:i,keyPrefix:l}=s;let c=e||a||n.options&&n.options.defaultNS;c=typeof c=="string"?[c]:c||["translation"],n.reportNamespaces.addUsedNamespaces&&n.reportNamespaces.addUsedNamespaces(c);const u=(n.isInitialized||n.initializedStoreOnce)&&c.every(v=>Pt(v,n,s));function f(){return n.getFixedT(t.lng||null,s.nsMode==="fallback"?c:c[0],l)}const[y,g]=p.useState(f);let h=c.join();t.lng&&(h=`${t.lng}${h}`);const $=Et(h),S=p.useRef(!0);p.useEffect(()=>{const{bindI18n:v,bindI18nStore:k}=s;S.current=!0,!u&&!i&&(t.lng?ce(n,t.lng,c,()=>{S.current&&g(f)}):le(n,c,()=>{S.current&&g(f)})),u&&$&&$!==h&&S.current&&g(f);function w(){S.current&&g(f)}return v&&n&&n.on(v,w),k&&n&&n.store.on(k,w),()=>{S.current=!1,v&&n&&v.split(" ").forEach(x=>n.off(x,w)),k&&n&&k.split(" ").forEach(x=>n.store.off(x,w))}},[n,h]);const H=p.useRef(!0);p.useEffect(()=>{S.current&&!H.current&&g(f),H.current=!1},[n,l]);const N=[y,n,u];if(N.t=y,N.i18n=n,N.ready=u,u||!u&&!i)return N;throw new Promise(v=>{t.lng?ce(n,t.lng,c,()=>v()):le(n,c,()=>v())})}const{definePartsStyle:Nt,defineMultiStyleConfig:$t}=qe(at.keys),Tt=Nt(e=>({button:{fontWeight:500,bg:P("base.300","base.500")(e),color:P("base.900","base.100")(e),_hover:{bg:P("base.400","base.600")(e),color:P("base.900","base.50")(e),fontWeight:600}},list:{zIndex:9999,color:P("base.900","base.150")(e),bg:P("base.200","base.800")(e),shadow:"dark-lg",border:"none"},item:{fontSize:"sm",bg:P("base.200","base.800")(e),_hover:{bg:P("base.300","base.700")(e),svg:{opacity:1}},_focus:{bg:P("base.400","base.600")(e)},svg:{opacity:.7,fontSize:14}}})),dn=$t({variants:{invokeAI:Tt},defaultProps:{variant:"invokeAI"}}),fn={variants:{enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.07,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.07,easings:"easeOut"}}}},It={dark:["#C1C2C5","#A6A7AB","#909296","#5c5f66","#373A40","#2C2E33","#25262b","#1A1B1E","#141517","#101113"],gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]};function Ot(e){return()=>({fontFamily:e.fontFamily||"sans-serif"})}var zt=Object.defineProperty,ue=Object.getOwnPropertySymbols,Rt=Object.prototype.hasOwnProperty,Mt=Object.prototype.propertyIsEnumerable,de=(e,t,r)=>t in e?zt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fe=(e,t)=>{for(var r in t||(t={}))Rt.call(t,r)&&de(e,r,t[r]);if(ue)for(var r of ue(t))Mt.call(t,r)&&de(e,r,t[r]);return e};function Lt(e){return t=>({WebkitTapHighlightColor:"transparent",[t||"&:focus"]:fe({},e.focusRing==="always"||e.focusRing==="auto"?e.focusRingStyles.styles(e):e.focusRingStyles.resetStyles(e)),[t?t.replace(":focus",":focus:not(:focus-visible)"):"&:focus:not(:focus-visible)"]:fe({},e.focusRing==="auto"||e.focusRing==="never"?e.focusRingStyles.resetStyles(e):null)})}function F(e){return t=>typeof e.primaryShade=="number"?e.primaryShade:e.primaryShade[t||e.colorScheme]}function Q(e){const t=F(e);return(r,o,a=!0,n=!0)=>{if(typeof r=="string"&&r.includes(".")){const[i,l]=r.split("."),c=parseInt(l,10);if(i in e.colors&&c>=0&&c<10)return e.colors[i][typeof o=="number"&&!n?o:c]}const s=typeof o=="number"?o:t();return r in e.colors?e.colors[r][s]:a?e.colors[e.primaryColor][s]:r}}function ze(e){let t="";for(let r=1;r{const a={from:(o==null?void 0:o.from)||e.defaultGradient.from,to:(o==null?void 0:o.to)||e.defaultGradient.to,deg:(o==null?void 0:o.deg)||e.defaultGradient.deg};return`linear-gradient(${a.deg}deg, ${t(a.from,r(),!1)} 0%, ${t(a.to,r(),!1)} 100%)`}}function Me(e){return t=>{if(typeof t=="number")return`${t/16}${e}`;if(typeof t=="string"){const r=t.replace("px","");if(!Number.isNaN(Number(r)))return`${Number(r)/16}${e}`}return t}}const E=Me("rem"),U=Me("em");function Le({size:e,sizes:t,units:r}){return e in t?t[e]:typeof e=="number"?r==="em"?U(e):E(e):e||t.md}function W(e){return typeof e=="number"?e:typeof e=="string"&&e.includes("rem")?Number(e.replace("rem",""))*16:typeof e=="string"&&e.includes("em")?Number(e.replace("em",""))*16:Number(e)}function Wt(e){return t=>`@media (min-width: ${U(W(Le({size:t,sizes:e.breakpoints})))})`}function Dt(e){return t=>`@media (max-width: ${U(W(Le({size:t,sizes:e.breakpoints}))-1)})`}function Bt(e){return/^#?([0-9A-F]{3}){1,2}$/i.test(e)}function Gt(e){let t=e.replace("#","");if(t.length===3){const s=t.split("");t=[s[0],s[0],s[1],s[1],s[2],s[2]].join("")}const r=parseInt(t,16),o=r>>16&255,a=r>>8&255,n=r&255;return{r:o,g:a,b:n,a:1}}function Ut(e){const[t,r,o,a]=e.replace(/[^0-9,.]/g,"").split(",").map(Number);return{r:t,g:r,b:o,a:a||1}}function ee(e){return Bt(e)?Gt(e):e.startsWith("rgb")?Ut(e):{r:0,g:0,b:0,a:1}}function T(e,t){if(typeof e!="string"||t>1||t<0)return"rgba(0, 0, 0, 1)";if(e.startsWith("var(--"))return e;const{r,g:o,b:a}=ee(e);return`rgba(${r}, ${o}, ${a}, ${t})`}function Vt(e=0){return{position:"absolute",top:E(e),right:E(e),left:E(e),bottom:E(e)}}function Zt(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=1-t,i=l=>Math.round(l*s);return`rgba(${i(r)}, ${i(o)}, ${i(a)}, ${n})`}function qt(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=i=>Math.round(i+(255-i)*t);return`rgba(${s(r)}, ${s(o)}, ${s(a)}, ${n})`}function Xt(e){return t=>{if(typeof t=="number")return E(t);const r=typeof e.defaultRadius=="number"?e.defaultRadius:e.radius[e.defaultRadius]||e.defaultRadius;return e.radius[t]||t||r}}function Jt(e,t){if(typeof e=="string"&&e.includes(".")){const[r,o]=e.split("."),a=parseInt(o,10);if(r in t.colors&&a>=0&&a<10)return{isSplittedColor:!0,key:r,shade:a}}return{isSplittedColor:!1}}function Kt(e){const t=Q(e),r=F(e),o=Re(e);return({variant:a,color:n,gradient:s,primaryFallback:i})=>{const l=Jt(n,e);switch(a){case"light":return{border:"transparent",background:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1),color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?7:1,i,!1),e.colorScheme==="dark"?.25:.65)};case"subtle":return{border:"transparent",background:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1)};case"outline":return{border:t(n,e.colorScheme==="dark"?5:r("light")),background:"transparent",color:t(n,e.colorScheme==="dark"?5:r("light")),hover:e.colorScheme==="dark"?T(t(n,5,i,!1),.05):T(t(n,0,i,!1),.35)};case"default":return{border:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4],background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,color:e.colorScheme==="dark"?e.white:e.black,hover:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[0]};case"white":return{border:"transparent",background:e.white,color:t(n,r()),hover:null};case"transparent":return{border:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),background:"transparent",hover:null};case"gradient":return{background:o(s),color:e.white,border:"transparent",hover:null};default:{const c=r(),u=l.isSplittedColor?l.shade:c,f=l.isSplittedColor?l.key:n;return{border:"transparent",background:t(f,u,i),color:e.white,hover:t(f,u===9?8:u+1)}}}}}function Yt(e){return t=>{const r=F(e)(t);return e.colors[e.primaryColor][r]}}function Qt(e){return{"@media (hover: hover)":{"&:hover":e},"@media (hover: none)":{"&:active":e}}}function er(e){return()=>({userSelect:"none",color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]})}function tr(e){return()=>e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6]}const b={fontStyles:Ot,themeColor:Q,focusStyles:Lt,linearGradient:Ft,radialGradient:Ht,smallerThan:Dt,largerThan:Wt,rgba:T,cover:Vt,darken:Zt,lighten:qt,radius:Xt,variant:Kt,primaryShade:F,hover:Qt,gradient:Re,primaryColor:Yt,placeholderStyles:er,dimmed:tr};var rr=Object.defineProperty,nr=Object.defineProperties,or=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,ar=Object.prototype.hasOwnProperty,sr=Object.prototype.propertyIsEnumerable,me=(e,t,r)=>t in e?rr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ir=(e,t)=>{for(var r in t||(t={}))ar.call(t,r)&&me(e,r,t[r]);if(pe)for(var r of pe(t))sr.call(t,r)&&me(e,r,t[r]);return e},lr=(e,t)=>nr(e,or(t));function Fe(e){return lr(ir({},e),{fn:{fontStyles:b.fontStyles(e),themeColor:b.themeColor(e),focusStyles:b.focusStyles(e),largerThan:b.largerThan(e),smallerThan:b.smallerThan(e),radialGradient:b.radialGradient,linearGradient:b.linearGradient,gradient:b.gradient(e),rgba:b.rgba,cover:b.cover,lighten:b.lighten,darken:b.darken,primaryShade:b.primaryShade(e),radius:b.radius(e),variant:b.variant(e),hover:b.hover,primaryColor:b.primaryColor(e),placeholderStyles:b.placeholderStyles(e),dimmed:b.dimmed(e)}})}const cr={dir:"ltr",primaryShade:{light:6,dark:8},focusRing:"auto",loader:"oval",colorScheme:"light",white:"#fff",black:"#000",defaultRadius:"sm",transitionTimingFunction:"ease",colors:It,lineHeight:1.55,fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontFamilyMonospace:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace",primaryColor:"blue",respectReducedMotion:!0,cursorType:"default",defaultGradient:{from:"indigo",to:"cyan",deg:45},shadows:{xs:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.1)",sm:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 0.625rem 0.9375rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.4375rem 0.4375rem -0.3125rem",md:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.25rem 1.5625rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.625rem 0.625rem -0.3125rem",lg:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.75rem 1.4375rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 0.75rem 0.75rem -0.4375rem",xl:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 2.25rem 1.75rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 1.0625rem 1.0625rem -0.4375rem"},fontSizes:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},radius:{xs:"0.125rem",sm:"0.25rem",md:"0.5rem",lg:"1rem",xl:"2rem"},spacing:{xs:"0.625rem",sm:"0.75rem",md:"1rem",lg:"1.25rem",xl:"1.5rem"},breakpoints:{xs:"36em",sm:"48em",md:"62em",lg:"75em",xl:"88em"},headings:{fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontWeight:700,sizes:{h1:{fontSize:"2.125rem",lineHeight:1.3,fontWeight:void 0},h2:{fontSize:"1.625rem",lineHeight:1.35,fontWeight:void 0},h3:{fontSize:"1.375rem",lineHeight:1.4,fontWeight:void 0},h4:{fontSize:"1.125rem",lineHeight:1.45,fontWeight:void 0},h5:{fontSize:"1rem",lineHeight:1.5,fontWeight:void 0},h6:{fontSize:"0.875rem",lineHeight:1.5,fontWeight:void 0}}},other:{},components:{},activeStyles:{transform:"translateY(0.0625rem)"},datesLocale:"en",globalStyles:void 0,focusRingStyles:{styles:e=>({outlineOffset:"0.125rem",outline:`0.125rem solid ${e.colors[e.primaryColor][e.colorScheme==="dark"?7:5]}`}),resetStyles:()=>({outline:"none"}),inputStyles:e=>({outline:"none",borderColor:e.colors[e.primaryColor][typeof e.primaryShade=="object"?e.primaryShade[e.colorScheme]:e.primaryShade]})}},te=Fe(cr);var ur=Object.defineProperty,dr=Object.defineProperties,fr=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,pr=Object.prototype.hasOwnProperty,mr=Object.prototype.propertyIsEnumerable,be=(e,t,r)=>t in e?ur(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,gr=(e,t)=>{for(var r in t||(t={}))pr.call(t,r)&&be(e,r,t[r]);if(ge)for(var r of ge(t))mr.call(t,r)&&be(e,r,t[r]);return e},br=(e,t)=>dr(e,fr(t));function yr({theme:e}){return A.createElement(B,{styles:{"*, *::before, *::after":{boxSizing:"border-box"},html:{colorScheme:e.colorScheme==="dark"?"dark":"light"},body:br(gr({},e.fn.fontStyles()),{backgroundColor:e.colorScheme==="dark"?e.colors.dark[7]:e.white,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,lineHeight:e.lineHeight,fontSize:e.fontSizes.md,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"})}})}function I(e,t,r,o=E){Object.keys(t).forEach(a=>{e[`--mantine-${r}-${a}`]=o(t[a])})}function vr({theme:e}){const t={"--mantine-color-white":e.white,"--mantine-color-black":e.black,"--mantine-transition-timing-function":e.transitionTimingFunction,"--mantine-line-height":`${e.lineHeight}`,"--mantine-font-family":e.fontFamily,"--mantine-font-family-monospace":e.fontFamilyMonospace,"--mantine-font-family-headings":e.headings.fontFamily,"--mantine-heading-font-weight":`${e.headings.fontWeight}`};I(t,e.shadows,"shadow"),I(t,e.fontSizes,"font-size"),I(t,e.radius,"radius"),I(t,e.spacing,"spacing"),I(t,e.breakpoints,"breakpoints",U),Object.keys(e.colors).forEach(o=>{e.colors[o].forEach((a,n)=>{t[`--mantine-color-${o}-${n}`]=a})});const r=e.headings.sizes;return Object.keys(r).forEach(o=>{t[`--mantine-${o}-font-size`]=r[o].fontSize,t[`--mantine-${o}-line-height`]=`${r[o].lineHeight}`}),A.createElement(B,{styles:{":root":t}})}var hr=Object.defineProperty,Sr=Object.defineProperties,xr=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,_r=Object.prototype.hasOwnProperty,Cr=Object.prototype.propertyIsEnumerable,ve=(e,t,r)=>t in e?hr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_=(e,t)=>{for(var r in t||(t={}))_r.call(t,r)&&ve(e,r,t[r]);if(ye)for(var r of ye(t))Cr.call(t,r)&&ve(e,r,t[r]);return e},V=(e,t)=>Sr(e,xr(t));function kr(e,t){var r;if(!t)return e;const o=Object.keys(e).reduce((a,n)=>{if(n==="headings"&&t.headings){const s=t.headings.sizes?Object.keys(e.headings.sizes).reduce((i,l)=>(i[l]=_(_({},e.headings.sizes[l]),t.headings.sizes[l]),i),{}):e.headings.sizes;return V(_({},a),{headings:V(_(_({},e.headings),t.headings),{sizes:s})})}if(n==="breakpoints"&&t.breakpoints){const s=_(_({},e.breakpoints),t.breakpoints);return V(_({},a),{breakpoints:Object.fromEntries(Object.entries(s).sort((i,l)=>W(i[1])-W(l[1])))})}return a[n]=typeof t[n]=="object"?_(_({},e[n]),t[n]):typeof t[n]=="number"||typeof t[n]=="boolean"||typeof t[n]=="function"?t[n]:t[n]||e[n],a},{});if(t!=null&&t.fontFamily&&!((r=t==null?void 0:t.headings)!=null&&r.fontFamily)&&(o.headings.fontFamily=t.fontFamily),!(o.primaryColor in o.colors))throw new Error("MantineProvider: Invalid theme.primaryColor, it accepts only key of theme.colors, learn more – https://mantine.dev/theming/colors/#primary-color");return o}function wr(e,t){return Fe(kr(e,t))}function Pr(e){return Object.keys(e).reduce((t,r)=>(e[r]!==void 0&&(t[r]=e[r]),t),{})}const Ar={html:{fontFamily:"sans-serif",lineHeight:"1.15",textSizeAdjust:"100%"},body:{margin:0},"article, aside, footer, header, nav, section, figcaption, figure, main":{display:"block"},h1:{fontSize:"2em"},hr:{boxSizing:"content-box",height:0,overflow:"visible"},pre:{fontFamily:"monospace, monospace",fontSize:"1em"},a:{background:"transparent",textDecorationSkip:"objects"},"a:active, a:hover":{outlineWidth:0},"abbr[title]":{borderBottom:"none",textDecoration:"underline"},"b, strong":{fontWeight:"bolder"},"code, kbp, samp":{fontFamily:"monospace, monospace",fontSize:"1em"},dfn:{fontStyle:"italic"},mark:{backgroundColor:"#ff0",color:"#000"},small:{fontSize:"80%"},"sub, sup":{fontSize:"75%",lineHeight:0,position:"relative",verticalAlign:"baseline"},sup:{top:"-0.5em"},sub:{bottom:"-0.25em"},"audio, video":{display:"inline-block"},"audio:not([controls])":{display:"none",height:0},img:{borderStyle:"none",verticalAlign:"middle"},"svg:not(:root)":{overflow:"hidden"},"button, input, optgroup, select, textarea":{fontFamily:"sans-serif",fontSize:"100%",lineHeight:"1.15",margin:0},"button, input":{overflow:"visible"},"button, select":{textTransform:"none"},"button, [type=reset], [type=submit]":{WebkitAppearance:"button"},"button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner":{borderStyle:"none",padding:0},"button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring":{outline:`${E(1)} dotted ButtonText`},legend:{boxSizing:"border-box",color:"inherit",display:"table",maxWidth:"100%",padding:0,whiteSpace:"normal"},progress:{display:"inline-block",verticalAlign:"baseline"},textarea:{overflow:"auto"},"[type=checkbox], [type=radio]":{boxSizing:"border-box",padding:0},"[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button":{height:"auto"},"[type=search]":{appearance:"none"},"[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration":{appearance:"none"},"::-webkit-file-upload-button":{appearance:"button",font:"inherit"},"details, menu":{display:"block"},summary:{display:"list-item"},canvas:{display:"inline-block"},template:{display:"none"}};function jr(){return A.createElement(B,{styles:Ar})}var Er=Object.defineProperty,he=Object.getOwnPropertySymbols,Nr=Object.prototype.hasOwnProperty,$r=Object.prototype.propertyIsEnumerable,Se=(e,t,r)=>t in e?Er(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,O=(e,t)=>{for(var r in t||(t={}))Nr.call(t,r)&&Se(e,r,t[r]);if(he)for(var r of he(t))$r.call(t,r)&&Se(e,r,t[r]);return e};const D=p.createContext({theme:te});function He(){var e;return((e=p.useContext(D))==null?void 0:e.theme)||te}function pn(e){const t=He(),r=o=>{var a,n,s,i;return{styles:((a=t.components[o])==null?void 0:a.styles)||{},classNames:((n=t.components[o])==null?void 0:n.classNames)||{},variants:(s=t.components[o])==null?void 0:s.variants,sizes:(i=t.components[o])==null?void 0:i.sizes}};return Array.isArray(e)?e.map(r):[r(e)]}function mn(){var e;return(e=p.useContext(D))==null?void 0:e.emotionCache}function gn(e,t,r){var o;const a=He(),n=(o=a.components[e])==null?void 0:o.defaultProps,s=typeof n=="function"?n(a):n;return O(O(O({},t),s),Pr(r))}function Tr({theme:e,emotionCache:t,withNormalizeCSS:r=!1,withGlobalStyles:o=!1,withCSSVariables:a=!1,inherit:n=!1,children:s}){const i=p.useContext(D),l=wr(te,n?O(O({},i.theme),e):e);return A.createElement(Xe,{theme:l},A.createElement(D.Provider,{value:{theme:l,emotionCache:t}},r&&A.createElement(jr,null),o&&A.createElement(yr,{theme:l}),a&&A.createElement(vr,{theme:l}),typeof l.globalStyles=="function"&&A.createElement(B,{styles:l.globalStyles(l)}),s))}Tr.displayName="@mantine/core/MantineProvider";export{on as A,Yr as B,Te as C,Gr as D,at as E,Ur as F,Vr as G,Zr as H,L as I,Fr as J,Hr as K,Wr as L,Dr as M,Mr as N,nn as O,G as P,Or as Q,zr as R,Rr as S,Qe as T,sn as U,cn as V,dn as W,Tr as X,M as a,ct as b,an as c,ne as d,un as e,mn as f,He as g,pn as h,Pr as i,W as j,Le as k,gn as l,fn as m,P as n,tn as o,rn as p,Br as q,E as r,Qr as s,en as t,ln as u,qr as v,Lr as w,Xr as x,Jr as y,Kr as z}; diff --git a/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-a4dc3f38.js b/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-31ab5c15.js similarity index 99% rename from invokeai/frontend/web/dist/assets/ThemeLocaleProvider-a4dc3f38.js rename to invokeai/frontend/web/dist/assets/ThemeLocaleProvider-31ab5c15.js index 9336be16fa..b069480c3f 100644 --- a/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-a4dc3f38.js +++ b/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-31ab5c15.js @@ -1,4 +1,4 @@ -import{A as m,f$ as Je,z as y,a4 as Ka,g0 as Xa,af as va,aj as d,g1 as b,g2 as t,g3 as Ya,g4 as h,g5 as ua,g6 as Ja,g7 as Qa,aI as Za,g8 as et,ad as rt,g9 as at}from"./index-18f2f740.js";import{s as fa,n as o,t as tt,o as ha,p as ot,q as ma,v as ga,w as ya,x as it,y as Sa,z as pa,A as xr,B as nt,D as lt,E as st,F as xa,G as $a,H as ka,J as dt,K as _a,L as ct,M as bt,N as vt,O as ut,Q as wa,R as ft,S as ht,T as mt,U as gt,V as yt,W as St,e as pt,X as xt}from"./MantineProvider-b20a2267.js";var za=String.raw,Ca=za` +import{B as m,g7 as Je,A as y,a5 as Ka,g8 as Xa,af as va,aj as d,g9 as b,ga as t,gb as Ya,gc as h,gd as ua,ge as Ja,gf as Qa,aL as Za,gg as et,ad as rt,gh as at}from"./index-de589048.js";import{s as fa,n as o,t as tt,o as ha,p as ot,q as ma,v as ga,w as ya,x as it,y as Sa,z as pa,A as xr,B as nt,D as lt,E as st,F as xa,G as $a,H as ka,J as dt,K as _a,L as ct,M as bt,N as vt,O as ut,Q as wa,R as ft,S as ht,T as mt,U as gt,V as yt,W as St,e as pt,X as xt}from"./menu-11348abc.js";var za=String.raw,Ca=za` :root, :host { --chakra-vh: 100vh; diff --git a/invokeai/frontend/web/dist/assets/index-18f2f740.js b/invokeai/frontend/web/dist/assets/index-18f2f740.js deleted file mode 100644 index 9b01908490..0000000000 --- a/invokeai/frontend/web/dist/assets/index-18f2f740.js +++ /dev/null @@ -1,125 +0,0 @@ -function M8(e,t){for(var n=0;nr[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();var Ee=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ll(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function iF(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){if(this instanceof r){var i=[null];i.push.apply(i,arguments);var o=Function.bind.apply(t,i);return new o}return t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}),n}var I8={exports:{}},_y={},N8={exports:{}},Oe={};/** - * @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 Jf=Symbol.for("react.element"),oF=Symbol.for("react.portal"),sF=Symbol.for("react.fragment"),aF=Symbol.for("react.strict_mode"),lF=Symbol.for("react.profiler"),uF=Symbol.for("react.provider"),cF=Symbol.for("react.context"),dF=Symbol.for("react.forward_ref"),fF=Symbol.for("react.suspense"),hF=Symbol.for("react.memo"),pF=Symbol.for("react.lazy"),D3=Symbol.iterator;function gF(e){return e===null||typeof e!="object"?null:(e=D3&&e[D3]||e["@@iterator"],typeof e=="function"?e:null)}var D8={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},L8=Object.assign,$8={};function fc(e,t,n){this.props=e,this.context=t,this.refs=$8,this.updater=n||D8}fc.prototype.isReactComponent={};fc.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)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")};fc.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function F8(){}F8.prototype=fc.prototype;function uw(e,t,n){this.props=e,this.context=t,this.refs=$8,this.updater=n||D8}var cw=uw.prototype=new F8;cw.constructor=uw;L8(cw,fc.prototype);cw.isPureReactComponent=!0;var L3=Array.isArray,B8=Object.prototype.hasOwnProperty,dw={current:null},j8={key:!0,ref:!0,__self:!0,__source:!0};function V8(e,t,n){var r,i={},o=null,s=null;if(t!=null)for(r in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(o=""+t.key),t)B8.call(t,r)&&!j8.hasOwnProperty(r)&&(i[r]=t[r]);var a=arguments.length-2;if(a===1)i.children=n;else if(1>>1,U=O[j];if(0>>1;ji(X,L))Yi(B,X)?(O[j]=B,O[Y]=L,j=Y):(O[j]=X,O[W]=L,j=W);else if(Yi(B,L))O[j]=B,O[Y]=L,j=Y;else break e}}return D}function i(O,D){var L=O.sortIndex-D.sortIndex;return L!==0?L:O.id-D.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var s=Date,a=s.now();e.unstable_now=function(){return s.now()-a}}var l=[],u=[],c=1,d=null,f=3,h=!1,p=!1,m=!1,S=typeof setTimeout=="function"?setTimeout:null,y=typeof clearTimeout=="function"?clearTimeout:null,v=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function g(O){for(var D=n(u);D!==null;){if(D.callback===null)r(u);else if(D.startTime<=O)r(u),D.sortIndex=D.expirationTime,t(l,D);else break;D=n(u)}}function b(O){if(m=!1,g(O),!p)if(n(l)!==null)p=!0,M(_);else{var D=n(u);D!==null&&N(b,D.startTime-O)}}function _(O,D){p=!1,m&&(m=!1,y(T),T=-1),h=!0;var L=f;try{for(g(D),d=n(l);d!==null&&(!(d.expirationTime>D)||O&&!A());){var j=d.callback;if(typeof j=="function"){d.callback=null,f=d.priorityLevel;var U=j(d.expirationTime<=D);D=e.unstable_now(),typeof U=="function"?d.callback=U:d===n(l)&&r(l),g(D)}else r(l);d=n(l)}if(d!==null)var G=!0;else{var W=n(u);W!==null&&N(b,W.startTime-D),G=!1}return G}finally{d=null,f=L,h=!1}}var w=!1,x=null,T=-1,P=5,E=-1;function A(){return!(e.unstable_now()-EO||125j?(O.sortIndex=L,t(u,O),n(l)===null&&O===n(u)&&(m?(y(T),T=-1):m=!0,N(b,L-j))):(O.sortIndex=U,t(l,O),p||h||(p=!0,M(_))),O},e.unstable_shouldYield=A,e.unstable_wrapCallback=function(O){var D=f;return function(){var L=f;f=D;try{return O.apply(this,arguments)}finally{f=L}}}})(H8);G8.exports=H8;var EF=G8.exports;/** - * @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. - */var q8=k,kr=EF;function Z(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"),ES=Object.prototype.hasOwnProperty,PF=/^[: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]*$/,B3={},j3={};function AF(e){return ES.call(j3,e)?!0:ES.call(B3,e)?!1:PF.test(e)?j3[e]=!0:(B3[e]=!0,!1)}function kF(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function RF(e,t,n,r){if(t===null||typeof t>"u"||kF(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function rr(e,t,n,r,i,o,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=s}var kn={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){kn[e]=new rr(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];kn[t]=new rr(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){kn[e]=new rr(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){kn[e]=new rr(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){kn[e]=new rr(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){kn[e]=new rr(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){kn[e]=new rr(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){kn[e]=new rr(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){kn[e]=new rr(e,5,!1,e.toLowerCase(),null,!1,!1)});var hw=/[\-:]([a-z])/g;function pw(e){return e[1].toUpperCase()}"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(hw,pw);kn[t]=new rr(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(hw,pw);kn[t]=new rr(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(hw,pw);kn[t]=new rr(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){kn[e]=new rr(e,1,!1,e.toLowerCase(),null,!1,!1)});kn.xlinkHref=new rr("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){kn[e]=new rr(e,1,!1,e.toLowerCase(),null,!0,!0)});function gw(e,t,n,r){var i=kn.hasOwnProperty(t)?kn[t]:null;(i!==null?i.type!==0:r||!(2a||i[s]!==o[a]){var l=` -`+i[s].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=s&&0<=a);break}}}finally{$1=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?ad(e):""}function OF(e){switch(e.tag){case 5:return ad(e.type);case 16:return ad("Lazy");case 13:return ad("Suspense");case 19:return ad("SuspenseList");case 0:case 2:case 15:return e=F1(e.type,!1),e;case 11:return e=F1(e.type.render,!1),e;case 1:return e=F1(e.type,!0),e;default:return""}}function RS(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case tu:return"Fragment";case eu:return"Portal";case PS:return"Profiler";case mw:return"StrictMode";case AS:return"Suspense";case kS:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case X8:return(e.displayName||"Context")+".Consumer";case K8:return(e._context.displayName||"Context")+".Provider";case yw:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case vw:return t=e.displayName||null,t!==null?t:RS(e.type)||"Memo";case ls:t=e._payload,e=e._init;try{return RS(e(t))}catch{}}return null}function MF(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=t.render,e=e.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 RS(t);case 8:return t===mw?"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(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ls(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Q8(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function IF(e){var t=Q8(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){r=""+s,o.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]}}}}function Qh(e){e._valueTracker||(e._valueTracker=IF(e))}function Z8(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Q8(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Ng(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function OS(e,t){var n=t.checked;return Rt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function z3(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Ls(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function J8(e,t){t=t.checked,t!=null&&gw(e,"checked",t,!1)}function MS(e,t){J8(e,t);var n=Ls(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?IS(e,t.type,n):t.hasOwnProperty("defaultValue")&&IS(e,t.type,Ls(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function U3(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function IS(e,t,n){(t!=="number"||Ng(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var ld=Array.isArray;function vu(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=Zh.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Bd(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var yd={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},NF=["Webkit","ms","Moz","O"];Object.keys(yd).forEach(function(e){NF.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),yd[t]=yd[e]})});function rA(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||yd.hasOwnProperty(e)&&yd[e]?(""+t).trim():t+"px"}function iA(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=rA(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var DF=Rt({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 LS(e,t){if(t){if(DF[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Z(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Z(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(Z(61))}if(t.style!=null&&typeof t.style!="object")throw Error(Z(62))}}function $S(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";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 FS=null;function bw(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var BS=null,bu=null,Su=null;function q3(e){if(e=nh(e)){if(typeof BS!="function")throw Error(Z(280));var t=e.stateNode;t&&(t=Ey(t),BS(e.stateNode,e.type,t))}}function oA(e){bu?Su?Su.push(e):Su=[e]:bu=e}function sA(){if(bu){var e=bu,t=Su;if(Su=bu=null,q3(e),t)for(e=0;e>>=0,e===0?32:31-(qF(e)/WF|0)|0}var Jh=64,ep=4194304;function ud(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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Fg(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,s=n&268435455;if(s!==0){var a=s&~i;a!==0?r=ud(a):(o&=s,o!==0&&(r=ud(o)))}else s=n&~i,s!==0?r=ud(s):o!==0&&(r=ud(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function eh(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-mi(t),e[t]=n}function QF(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=bd),t5=String.fromCharCode(32),n5=!1;function EA(e,t){switch(e){case"keyup":return TB.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function PA(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var nu=!1;function PB(e,t){switch(e){case"compositionend":return PA(t);case"keypress":return t.which!==32?null:(n5=!0,t5);case"textInput":return e=t.data,e===t5&&n5?null:e;default:return null}}function AB(e,t){if(nu)return e==="compositionend"||!Pw&&EA(e,t)?(e=CA(),eg=Cw=vs=null,nu=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=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=s5(n)}}function OA(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?OA(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function MA(){for(var e=window,t=Ng();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Ng(e.document)}return t}function Aw(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function $B(e){var t=MA(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&OA(n.ownerDocument.documentElement,n)){if(r!==null&&Aw(n)){if(t=r.start,e=r.end,e===void 0&&(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,e.getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=r.end===void 0?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=a5(n,o);var s=a5(n,r);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>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;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,ru=null,HS=null,_d=null,qS=!1;function l5(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;qS||ru==null||ru!==Ng(r)||(r=ru,"selectionStart"in r&&Aw(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),_d&&Hd(_d,r)||(_d=r,r=Vg(HS,"onSelect"),0su||(e.current=ZS[su],ZS[su]=null,su--)}function lt(e,t){su++,ZS[su]=e.current,e.current=t}var $s={},Bn=Qs($s),pr=Qs(!1),qa=$s;function Vu(e,t){var n=e.type.contextTypes;if(!n)return $s;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function gr(e){return e=e.childContextTypes,e!=null}function Ug(){ht(pr),ht(Bn)}function g5(e,t,n){if(Bn.current!==$s)throw Error(Z(168));lt(Bn,t),lt(pr,n)}function VA(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(Z(108,MF(e)||"Unknown",i));return Rt({},n,r)}function Gg(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||$s,qa=Bn.current,lt(Bn,e),lt(pr,pr.current),!0}function m5(e,t,n){var r=e.stateNode;if(!r)throw Error(Z(169));n?(e=VA(e,t,qa),r.__reactInternalMemoizedMergedChildContext=e,ht(pr),ht(Bn),lt(Bn,e)):ht(pr),lt(pr,n)}var _o=null,Py=!1,Z1=!1;function zA(e){_o===null?_o=[e]:_o.push(e)}function XB(e){Py=!0,zA(e)}function Zs(){if(!Z1&&_o!==null){Z1=!0;var e=0,t=Ye;try{var n=_o;for(Ye=1;e>=s,i-=s,To=1<<32-mi(t)+i|n<T?(P=x,x=null):P=x.sibling;var E=f(y,x,g[T],b);if(E===null){x===null&&(x=P);break}e&&x&&E.alternate===null&&t(y,x),v=o(E,v,T),w===null?_=E:w.sibling=E,w=E,x=P}if(T===g.length)return n(y,x),bt&&_a(y,T),_;if(x===null){for(;TT?(P=x,x=null):P=x.sibling;var A=f(y,x,E.value,b);if(A===null){x===null&&(x=P);break}e&&x&&A.alternate===null&&t(y,x),v=o(A,v,T),w===null?_=A:w.sibling=A,w=A,x=P}if(E.done)return n(y,x),bt&&_a(y,T),_;if(x===null){for(;!E.done;T++,E=g.next())E=d(y,E.value,b),E!==null&&(v=o(E,v,T),w===null?_=E:w.sibling=E,w=E);return bt&&_a(y,T),_}for(x=r(y,x);!E.done;T++,E=g.next())E=h(x,y,T,E.value,b),E!==null&&(e&&E.alternate!==null&&x.delete(E.key===null?T:E.key),v=o(E,v,T),w===null?_=E:w.sibling=E,w=E);return e&&x.forEach(function($){return t(y,$)}),bt&&_a(y,T),_}function S(y,v,g,b){if(typeof g=="object"&&g!==null&&g.type===tu&&g.key===null&&(g=g.props.children),typeof g=="object"&&g!==null){switch(g.$$typeof){case Yh:e:{for(var _=g.key,w=v;w!==null;){if(w.key===_){if(_=g.type,_===tu){if(w.tag===7){n(y,w.sibling),v=i(w,g.props.children),v.return=y,y=v;break e}}else if(w.elementType===_||typeof _=="object"&&_!==null&&_.$$typeof===ls&&x5(_)===w.type){n(y,w.sibling),v=i(w,g.props),v.ref=Fc(y,w,g),v.return=y,y=v;break e}n(y,w);break}else t(y,w);w=w.sibling}g.type===tu?(v=Fa(g.props.children,y.mode,b,g.key),v.return=y,y=v):(b=lg(g.type,g.key,g.props,null,y.mode,b),b.ref=Fc(y,v,g),b.return=y,y=b)}return s(y);case eu:e:{for(w=g.key;v!==null;){if(v.key===w)if(v.tag===4&&v.stateNode.containerInfo===g.containerInfo&&v.stateNode.implementation===g.implementation){n(y,v.sibling),v=i(v,g.children||[]),v.return=y,y=v;break e}else{n(y,v);break}else t(y,v);v=v.sibling}v=sb(g,y.mode,b),v.return=y,y=v}return s(y);case ls:return w=g._init,S(y,v,w(g._payload),b)}if(ld(g))return p(y,v,g,b);if(Ic(g))return m(y,v,g,b);ap(y,g)}return typeof g=="string"&&g!==""||typeof g=="number"?(g=""+g,v!==null&&v.tag===6?(n(y,v.sibling),v=i(v,g),v.return=y,y=v):(n(y,v),v=ob(g,y.mode,b),v.return=y,y=v),s(y)):n(y,v)}return S}var Uu=YA(!0),QA=YA(!1),rh={},Xi=Qs(rh),Xd=Qs(rh),Yd=Qs(rh);function Oa(e){if(e===rh)throw Error(Z(174));return e}function $w(e,t){switch(lt(Yd,t),lt(Xd,e),lt(Xi,rh),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:DS(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=DS(t,e)}ht(Xi),lt(Xi,t)}function Gu(){ht(Xi),ht(Xd),ht(Yd)}function ZA(e){Oa(Yd.current);var t=Oa(Xi.current),n=DS(t,e.type);t!==n&&(lt(Xd,e),lt(Xi,n))}function Fw(e){Xd.current===e&&(ht(Xi),ht(Xd))}var Et=Qs(0);function Yg(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var J1=[];function Bw(){for(var e=0;en?n:4,e(!0);var r=eb.transition;eb.transition={};try{e(!1),t()}finally{Ye=n,eb.transition=r}}function p9(){return Qr().memoizedState}function JB(e,t,n){var r=As(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},g9(e))m9(t,n);else if(n=qA(e,t,n,r),n!==null){var i=Zn();yi(n,e,r,i),y9(n,t,r)}}function ej(e,t,n){var r=As(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(g9(e))m9(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var s=t.lastRenderedState,a=o(s,n);if(i.hasEagerState=!0,i.eagerState=a,wi(a,s)){var l=t.interleaved;l===null?(i.next=i,Dw(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=qA(e,t,i,r),n!==null&&(i=Zn(),yi(n,e,r,i),y9(n,t,r))}}function g9(e){var t=e.alternate;return e===kt||t!==null&&t===kt}function m9(e,t){wd=Qg=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function y9(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,_w(e,n)}}var Zg={readContext:Yr,useCallback:In,useContext:In,useEffect:In,useImperativeHandle:In,useInsertionEffect:In,useLayoutEffect:In,useMemo:In,useReducer:In,useRef:In,useState:In,useDebugValue:In,useDeferredValue:In,useTransition:In,useMutableSource:In,useSyncExternalStore:In,useId:In,unstable_isNewReconciler:!1},tj={readContext:Yr,useCallback:function(e,t){return Di().memoizedState=[e,t===void 0?null:t],e},useContext:Yr,useEffect:T5,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,ig(4194308,4,u9.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ig(4194308,4,e,t)},useInsertionEffect:function(e,t){return ig(4,2,e,t)},useMemo:function(e,t){var n=Di();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Di();return t=n!==void 0?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=JB.bind(null,kt,e),[r.memoizedState,e]},useRef:function(e){var t=Di();return e={current:e},t.memoizedState=e},useState:C5,useDebugValue:Gw,useDeferredValue:function(e){return Di().memoizedState=e},useTransition:function(){var e=C5(!1),t=e[0];return e=ZB.bind(null,e[1]),Di().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=kt,i=Di();if(bt){if(n===void 0)throw Error(Z(407));n=n()}else{if(n=t(),pn===null)throw Error(Z(349));Ka&30||t9(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,T5(r9.bind(null,r,o,e),[e]),r.flags|=2048,Jd(9,n9.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Di(),t=pn.identifierPrefix;if(bt){var n=Eo,r=To;n=(r&~(1<<32-mi(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Qd++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[Vi]=t,e[Kd]=r,E9(e,t,!1,!1),t.stateNode=e;e:{switch(s=$S(n,r),n){case"dialog":ct("cancel",e),ct("close",e),i=r;break;case"iframe":case"object":case"embed":ct("load",e),i=r;break;case"video":case"audio":for(i=0;iqu&&(t.flags|=128,r=!0,Bc(o,!1),t.lanes=4194304)}else{if(!r)if(e=Yg(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Bc(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!bt)return Nn(t),null}else 2*Bt()-o.renderingStartTime>qu&&n!==1073741824&&(t.flags|=128,r=!0,Bc(o,!1),t.lanes=4194304);o.isBackwards?(s.sibling=t.child,t.child=s):(n=o.last,n!==null?n.sibling=s:t.child=s,o.last=s)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Bt(),t.sibling=null,n=Et.current,lt(Et,r?n&1|2:n&1),t):(Nn(t),null);case 22:case 23:return Yw(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Cr&1073741824&&(Nn(t),t.subtreeFlags&6&&(t.flags|=8192)):Nn(t),null;case 24:return null;case 25:return null}throw Error(Z(156,t.tag))}function uj(e,t){switch(Rw(t),t.tag){case 1:return gr(t.type)&&Ug(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Gu(),ht(pr),ht(Bn),Bw(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Fw(t),null;case 13:if(ht(Et),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Z(340));zu()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ht(Et),null;case 4:return Gu(),null;case 10:return Nw(t.type._context),null;case 22:case 23:return Yw(),null;case 24:return null;default:return null}}var up=!1,Fn=!1,cj=typeof WeakSet=="function"?WeakSet:Set,ae=null;function cu(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){It(e,t,r)}else n.current=null}function c_(e,t,n){try{n()}catch(r){It(e,t,r)}}var N5=!1;function dj(e,t){if(WS=Bg,e=MA(),Aw(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,a=-1,l=-1,u=0,c=0,d=e,f=null;t:for(;;){for(var h;d!==n||i!==0&&d.nodeType!==3||(a=s+i),d!==o||r!==0&&d.nodeType!==3||(l=s+r),d.nodeType===3&&(s+=d.nodeValue.length),(h=d.firstChild)!==null;)f=d,d=h;for(;;){if(d===e)break t;if(f===n&&++u===i&&(a=s),f===o&&++c===r&&(l=s),(h=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=h}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(KS={focusedElem:e,selectionRange:n},Bg=!1,ae=t;ae!==null;)if(t=ae,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ae=e;else for(;ae!==null;){t=ae;try{var p=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(p!==null){var m=p.memoizedProps,S=p.memoizedState,y=t.stateNode,v=y.getSnapshotBeforeUpdate(t.elementType===t.type?m:ai(t.type,m),S);y.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var g=t.stateNode.containerInfo;g.nodeType===1?g.textContent="":g.nodeType===9&&g.documentElement&&g.removeChild(g.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Z(163))}}catch(b){It(t,t.return,b)}if(e=t.sibling,e!==null){e.return=t.return,ae=e;break}ae=t.return}return p=N5,N5=!1,p}function xd(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&c_(t,n,o)}i=i.next}while(i!==r)}}function Ry(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==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 d_(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function k9(e){var t=e.alternate;t!==null&&(e.alternate=null,k9(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Vi],delete t[Kd],delete t[QS],delete t[WB],delete t[KB])),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 R9(e){return e.tag===5||e.tag===3||e.tag===4}function D5(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||R9(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function f_(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=zg));else if(r!==4&&(e=e.child,e!==null))for(f_(e,t,n),e=e.sibling;e!==null;)f_(e,t,n),e=e.sibling}function h_(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(h_(e,t,n),e=e.sibling;e!==null;)h_(e,t,n),e=e.sibling}var Cn=null,li=!1;function ts(e,t,n){for(n=n.child;n!==null;)O9(e,t,n),n=n.sibling}function O9(e,t,n){if(Ki&&typeof Ki.onCommitFiberUnmount=="function")try{Ki.onCommitFiberUnmount(wy,n)}catch{}switch(n.tag){case 5:Fn||cu(n,t);case 6:var r=Cn,i=li;Cn=null,ts(e,t,n),Cn=r,li=i,Cn!==null&&(li?(e=Cn,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Cn.removeChild(n.stateNode));break;case 18:Cn!==null&&(li?(e=Cn,n=n.stateNode,e.nodeType===8?Q1(e.parentNode,n):e.nodeType===1&&Q1(e,n),Ud(e)):Q1(Cn,n.stateNode));break;case 4:r=Cn,i=li,Cn=n.stateNode.containerInfo,li=!0,ts(e,t,n),Cn=r,li=i;break;case 0:case 11:case 14:case 15:if(!Fn&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,s=o.destroy;o=o.tag,s!==void 0&&(o&2||o&4)&&c_(n,t,s),i=i.next}while(i!==r)}ts(e,t,n);break;case 1:if(!Fn&&(cu(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){It(n,t,a)}ts(e,t,n);break;case 21:ts(e,t,n);break;case 22:n.mode&1?(Fn=(r=Fn)||n.memoizedState!==null,ts(e,t,n),Fn=r):ts(e,t,n);break;default:ts(e,t,n)}}function L5(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new cj),t.forEach(function(r){var i=Sj.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function oi(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~o}if(r=i,r=Bt()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*hj(r/1960))-r,10e?16:e,bs===null)var r=!1;else{if(e=bs,bs=null,tm=0,Fe&6)throw Error(Z(331));var i=Fe;for(Fe|=4,ae=e.current;ae!==null;){var o=ae,s=o.child;if(ae.flags&16){var a=o.deletions;if(a!==null){for(var l=0;lBt()-Kw?$a(e,0):Ww|=n),mr(e,t)}function B9(e,t){t===0&&(e.mode&1?(t=ep,ep<<=1,!(ep&130023424)&&(ep=4194304)):t=1);var n=Zn();e=Fo(e,t),e!==null&&(eh(e,t,n),mr(e,n))}function bj(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),B9(e,n)}function Sj(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(Z(314))}r!==null&&r.delete(t),B9(e,n)}var j9;j9=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||pr.current)dr=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return dr=!1,aj(e,t,n);dr=!!(e.flags&131072)}else dr=!1,bt&&t.flags&1048576&&UA(t,qg,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;og(e,t),e=t.pendingProps;var i=Vu(t,Bn.current);wu(t,n),i=Vw(null,t,r,e,i,n);var o=zw();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,gr(r)?(o=!0,Gg(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Lw(t),i.updater=Ay,t.stateNode=i,i._reactInternals=t,r_(t,r,e,n),t=s_(null,t,r,!0,o,n)):(t.tag=0,bt&&o&&kw(t),Yn(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(og(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=wj(r),e=ai(r,e),i){case 0:t=o_(null,t,r,e,n);break e;case 1:t=O5(null,t,r,e,n);break e;case 11:t=k5(null,t,r,e,n);break e;case 14:t=R5(null,t,r,ai(r.type,e),n);break e}throw Error(Z(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),o_(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),O5(e,t,r,i,n);case 3:e:{if(x9(t),e===null)throw Error(Z(387));r=t.pendingProps,o=t.memoizedState,i=o.element,WA(e,t),Xg(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=Hu(Error(Z(423)),t),t=M5(e,t,r,n,i);break e}else if(r!==i){i=Hu(Error(Z(424)),t),t=M5(e,t,r,n,i);break e}else for(Er=Ts(t.stateNode.containerInfo.firstChild),Pr=t,bt=!0,ci=null,n=QA(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(zu(),r===i){t=Bo(e,t,n);break e}Yn(e,t,r,n)}t=t.child}return t;case 5:return ZA(t),e===null&&e_(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,s=i.children,XS(r,i)?s=null:o!==null&&XS(r,o)&&(t.flags|=32),w9(e,t),Yn(e,t,s,n),t.child;case 6:return e===null&&e_(t),null;case 13:return C9(e,t,n);case 4:return $w(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Uu(t,null,r,n):Yn(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),k5(e,t,r,i,n);case 7:return Yn(e,t,t.pendingProps,n),t.child;case 8:return Yn(e,t,t.pendingProps.children,n),t.child;case 12:return Yn(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,s=i.value,lt(Wg,r._currentValue),r._currentValue=s,o!==null)if(wi(o.value,s)){if(o.children===i.children&&!pr.current){t=Bo(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var a=o.dependencies;if(a!==null){s=o.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=ko(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?l.next=l:(l.next=c.next,c.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),t_(o.return,n,t),a.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(Z(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),t_(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}Yn(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,wu(t,n),i=Yr(i),r=r(i),t.flags|=1,Yn(e,t,r,n),t.child;case 14:return r=t.type,i=ai(r,t.pendingProps),i=ai(r.type,i),R5(e,t,r,i,n);case 15:return S9(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ai(r,i),og(e,t),t.tag=1,gr(r)?(e=!0,Gg(t)):e=!1,wu(t,n),XA(t,r,i),r_(t,r,i,n),s_(null,t,r,!0,e,n);case 19:return T9(e,t,n);case 22:return _9(e,t,n)}throw Error(Z(156,t.tag))};function V9(e,t){return hA(e,t)}function _j(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 Wr(e,t,n,r){return new _j(e,t,n,r)}function Zw(e){return e=e.prototype,!(!e||!e.isReactComponent)}function wj(e){if(typeof e=="function")return Zw(e)?1:0;if(e!=null){if(e=e.$$typeof,e===yw)return 11;if(e===vw)return 14}return 2}function ks(e,t){var n=e.alternate;return n===null?(n=Wr(e.tag,t,e.key,e.mode),n.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=e.flags&14680064,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=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function lg(e,t,n,r,i,o){var s=2;if(r=e,typeof e=="function")Zw(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case tu:return Fa(n.children,i,o,t);case mw:s=8,i|=8;break;case PS:return e=Wr(12,n,t,i|2),e.elementType=PS,e.lanes=o,e;case AS:return e=Wr(13,n,t,i),e.elementType=AS,e.lanes=o,e;case kS:return e=Wr(19,n,t,i),e.elementType=kS,e.lanes=o,e;case Y8:return My(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case K8:s=10;break e;case X8:s=9;break e;case yw:s=11;break e;case vw:s=14;break e;case ls:s=16,r=null;break e}throw Error(Z(130,e==null?e:typeof e,""))}return t=Wr(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function Fa(e,t,n,r){return e=Wr(7,e,r,t),e.lanes=n,e}function My(e,t,n,r){return e=Wr(22,e,r,t),e.elementType=Y8,e.lanes=n,e.stateNode={isHidden:!1},e}function ob(e,t,n){return e=Wr(6,e,null,t),e.lanes=n,e}function sb(e,t,n){return t=Wr(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function xj(e,t,n,r,i){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=j1(0),this.expirationTimes=j1(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=j1(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Jw(e,t,n,r,i,o,s,a,l){return e=new xj(e,t,n,a,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=Wr(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Lw(o),e}function Cj(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(H9)}catch(e){console.error(e)}}H9(),U8.exports=Ir;var zi=U8.exports;const ywe=ll(zi);var G5=zi;TS.createRoot=G5.createRoot,TS.hydrateRoot=G5.hydrateRoot;const kj="modulepreload",Rj=function(e,t){return new URL(e,t).href},H5={},q9=function(t,n,r){if(!n||n.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=Rj(o,r),o in H5)return;H5[o]=!0;const s=o.endsWith(".css"),a=s?'[rel="stylesheet"]':"";if(!!r)for(let c=i.length-1;c>=0;c--){const d=i[c];if(d.href===o&&(!s||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${a}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":kj,s||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),s)return new Promise((c,d)=>{u.addEventListener("load",c),u.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t()).catch(o=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o})};var W9={exports:{}},K9={};/** - * @license React - * use-sync-external-store-shim.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 Wu=k;function Oj(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Mj=typeof Object.is=="function"?Object.is:Oj,Ij=Wu.useState,Nj=Wu.useEffect,Dj=Wu.useLayoutEffect,Lj=Wu.useDebugValue;function $j(e,t){var n=t(),r=Ij({inst:{value:n,getSnapshot:t}}),i=r[0].inst,o=r[1];return Dj(function(){i.value=n,i.getSnapshot=t,ab(i)&&o({inst:i})},[e,n,t]),Nj(function(){return ab(i)&&o({inst:i}),e(function(){ab(i)&&o({inst:i})})},[e]),Lj(n),n}function ab(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Mj(e,n)}catch{return!0}}function Fj(e,t){return t()}var Bj=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?Fj:$j;K9.useSyncExternalStore=Wu.useSyncExternalStore!==void 0?Wu.useSyncExternalStore:Bj;W9.exports=K9;var jj=W9.exports,X9={exports:{}},Y9={};/** - * @license React - * use-sync-external-store-shim/with-selector.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 $y=k,Vj=jj;function zj(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Uj=typeof Object.is=="function"?Object.is:zj,Gj=Vj.useSyncExternalStore,Hj=$y.useRef,qj=$y.useEffect,Wj=$y.useMemo,Kj=$y.useDebugValue;Y9.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=Hj(null);if(o.current===null){var s={hasValue:!1,value:null};o.current=s}else s=o.current;o=Wj(function(){function l(h){if(!u){if(u=!0,c=h,h=r(h),i!==void 0&&s.hasValue){var p=s.value;if(i(p,h))return d=p}return d=h}if(p=d,Uj(c,h))return p;var m=r(h);return i!==void 0&&i(p,m)?p:(c=h,d=m)}var u=!1,c,d,f=n===void 0?null:n;return[function(){return l(t())},f===null?void 0:function(){return l(f())}]},[t,n,r,i]);var a=Gj(e,o[0],o[1]);return qj(function(){s.hasValue=!0,s.value=a},[a]),Kj(a),a};X9.exports=Y9;var Q9=X9.exports;const Xj=ll(Q9);function Yj(e){e()}let Z9=Yj;const Qj=e=>Z9=e,Zj=()=>Z9,q5=Symbol.for(`react-redux-context-${k.version}`),W5=globalThis;function Jj(){let e=W5[q5];return e||(e=k.createContext(null),W5[q5]=e),e}const Fs=new Proxy({},new Proxy({},{get(e,t){const n=Jj();return(r,...i)=>Reflect[t](n,...i)}}));function rx(e=Fs){return function(){return k.useContext(e)}}const J9=rx(),eV=()=>{throw new Error("uSES not initialized!")};let ek=eV;const tV=e=>{ek=e},nV=(e,t)=>e===t;function rV(e=Fs){const t=e===Fs?J9:rx(e);return function(r,i={}){const{equalityFn:o=nV,stabilityCheck:s=void 0,noopCheck:a=void 0}=typeof i=="function"?{equalityFn:i}:i,{store:l,subscription:u,getServerState:c,stabilityCheck:d,noopCheck:f}=t();k.useRef(!0);const h=k.useCallback({[r.name](m){return r(m)}}[r.name],[r,d,s]),p=ek(u.addNestedSub,l.getState,c||l.getState,h,o);return k.useDebugValue(p),p}}const tk=rV();function im(){return im=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let r=t;for(;r;)r.callback(),r=r.next})},get(){let r=[],i=t;for(;i;)r.push(i),i=i.next;return r},subscribe(r){let i=!0,o=n={callback:r,next:null,prev:n};return o.prev?o.prev.next=o:t=o,function(){!i||t===null||(i=!1,o.next?o.next.prev=o.prev:n=o.prev,o.prev?o.prev.next=o.next:t=o.next)}}}}const K5={notify(){},get:()=>[]};function gV(e,t){let n,r=K5;function i(d){return l(),r.subscribe(d)}function o(){r.notify()}function s(){c.onStateChange&&c.onStateChange()}function a(){return!!n}function l(){n||(n=t?t.addNestedSub(s):e.subscribe(s),r=pV())}function u(){n&&(n(),n=void 0,r.clear(),r=K5)}const c={addNestedSub:i,notifyNestedSubs:o,handleChangeWrapper:s,isSubscribed:a,trySubscribe:l,tryUnsubscribe:u,getListeners:()=>r};return c}const mV=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",yV=mV?k.useLayoutEffect:k.useEffect;function X5(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function om(e,t){if(X5(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;i{const u=gV(e);return{store:e,subscription:u,getServerState:r?()=>r:void 0,stabilityCheck:i,noopCheck:o}},[e,r,i,o]),a=k.useMemo(()=>e.getState(),[e]);yV(()=>{const{subscription:u}=s;return u.onStateChange=u.notifyNestedSubs,u.trySubscribe(),a!==e.getState()&&u.notifyNestedSubs(),()=>{u.tryUnsubscribe(),u.onStateChange=void 0}},[s,a]);const l=t||Fs;return Xe.createElement(l.Provider,{value:s},n)}function ak(e=Fs){const t=e===Fs?J9:rx(e);return function(){const{store:r}=t();return r}}const lk=ak();function bV(e=Fs){const t=e===Fs?lk:ak(e);return function(){return t().dispatch}}const uk=bV();tV(Q9.useSyncExternalStoreWithSelector);Qj(zi.unstable_batchedUpdates);function hn(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:i0(e)?2:o0(e)?3:0}function Rs(e,t){return Bs(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function ug(e,t){return Bs(e)===2?e.get(t):e[t]}function ck(e,t,n){var r=Bs(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function dk(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function i0(e){return TV&&e instanceof Map}function o0(e){return EV&&e instanceof Set}function ln(e){return e.o||e.t}function cx(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=hk(e);delete t[_e];for(var n=Tu(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=SV),Object.freeze(e),t&&jo(e,function(n,r){return ih(r,!0)},!0)),e}function SV(){hn(2)}function dx(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function Yi(e){var t=b_[e];return t||hn(18,e),t}function fx(e,t){b_[e]||(b_[e]=t)}function tf(){return rf}function lb(e,t){t&&(Yi("Patches"),e.u=[],e.s=[],e.v=t)}function sm(e){v_(e),e.p.forEach(_V),e.p=null}function v_(e){e===rf&&(rf=e.l)}function Y5(e){return rf={p:[],l:rf,h:e,m:!0,_:0}}function _V(e){var t=e[_e];t.i===0||t.i===1?t.j():t.g=!0}function ub(e,t){t._=t.p.length;var n=t.p[0],r=e!==void 0&&e!==n;return t.h.O||Yi("ES5").S(t,e,r),r?(n[_e].P&&(sm(t),hn(4)),yr(e)&&(e=am(t,e),t.l||lm(t,e)),t.u&&Yi("Patches").M(n[_e].t,e,t.u,t.s)):e=am(t,n,[]),sm(t),t.u&&t.v(t.u,t.s),e!==a0?e:void 0}function am(e,t,n){if(dx(t))return t;var r=t[_e];if(!r)return jo(t,function(a,l){return Q5(e,r,t,a,l,n)},!0),t;if(r.A!==e)return t;if(!r.P)return lm(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=r.i===4||r.i===5?r.o=cx(r.k):r.o,o=i,s=!1;r.i===3&&(o=new Set(i),i.clear(),s=!0),jo(o,function(a,l){return Q5(e,r,i,a,l,n,s)}),lm(e,i,!1),n&&e.u&&Yi("Patches").N(r,n,e.u,e.s)}return r.o}function Q5(e,t,n,r,i,o,s){if(er(i)){var a=am(e,i,o&&t&&t.i!==3&&!Rs(t.R,r)?o.concat(r):void 0);if(ck(n,r,a),!er(a))return;e.m=!1}else s&&n.add(i);if(yr(i)&&!dx(i)){if(!e.h.D&&e._<1)return;am(e,i),t&&t.A.l||lm(e,i)}}function lm(e,t,n){n===void 0&&(n=!1),!e.l&&e.h.D&&e.m&&ih(t,n)}function cb(e,t){var n=e[_e];return(n?ln(n):e)[t]}function Z5(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function cr(e){e.P||(e.P=!0,e.l&&cr(e.l))}function db(e){e.o||(e.o=cx(e.t))}function nf(e,t,n){var r=i0(t)?Yi("MapSet").F(t,n):o0(t)?Yi("MapSet").T(t,n):e.O?function(i,o){var s=Array.isArray(i),a={i:s?1:0,A:o?o.A:tf(),P:!1,I:!1,R:{},l:o,t:i,k:null,o:null,j:null,C:!1},l=a,u=of;s&&(l=[a],u=dd);var c=Proxy.revocable(l,u),d=c.revoke,f=c.proxy;return a.k=f,a.j=d,f}(t,n):Yi("ES5").J(t,n);return(n?n.A:tf()).p.push(r),r}function s0(e){return er(e)||hn(22,e),function t(n){if(!yr(n))return n;var r,i=n[_e],o=Bs(n);if(i){if(!i.P&&(i.i<4||!Yi("ES5").K(i)))return i.t;i.I=!0,r=J5(n,o),i.I=!1}else r=J5(n,o);return jo(r,function(s,a){i&&ug(i.t,s)===a||ck(r,s,t(a))}),o===3?new Set(r):r}(e)}function J5(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return cx(e)}function hx(){function e(o,s){var a=i[o];return a?a.enumerable=s:i[o]=a={configurable:!0,enumerable:s,get:function(){var l=this[_e];return of.get(l,o)},set:function(l){var u=this[_e];of.set(u,o,l)}},a}function t(o){for(var s=o.length-1;s>=0;s--){var a=o[s][_e];if(!a.P)switch(a.i){case 5:r(a)&&cr(a);break;case 4:n(a)&&cr(a)}}}function n(o){for(var s=o.t,a=o.k,l=Tu(a),u=l.length-1;u>=0;u--){var c=l[u];if(c!==_e){var d=s[c];if(d===void 0&&!Rs(s,c))return!0;var f=a[c],h=f&&f[_e];if(h?h.t!==d:!dk(f,d))return!0}}var p=!!s[_e];return l.length!==Tu(s).length+(p?0:1)}function r(o){var s=o.k;if(s.length!==o.t.length)return!0;var a=Object.getOwnPropertyDescriptor(s,s.length-1);if(a&&!a.get)return!0;for(var l=0;l1?y-1:0),g=1;g1?c-1:0),f=1;f=0;i--){var o=r[i];if(o.path.length===0&&o.op==="replace"){n=o.value;break}}i>-1&&(r=r.slice(i+1));var s=Yi("Patches").$;return er(n)?s(n,r):this.produce(n,function(a){return s(a,r)})},e}(),Rr=new pk,gk=Rr.produce,mx=Rr.produceWithPatches.bind(Rr),AV=Rr.setAutoFreeze.bind(Rr),kV=Rr.setUseProxies.bind(Rr),S_=Rr.applyPatches.bind(Rr),RV=Rr.createDraft.bind(Rr),OV=Rr.finishDraft.bind(Rr);const Js=gk,vwe=Object.freeze(Object.defineProperty({__proto__:null,Immer:pk,applyPatches:S_,castDraft:xV,castImmutable:CV,createDraft:RV,current:s0,default:Js,enableAllPlugins:wV,enableES5:hx,enableMapSet:fk,enablePatches:px,finishDraft:OV,freeze:ih,immerable:Cu,isDraft:er,isDraftable:yr,nothing:a0,original:ux,produce:gk,produceWithPatches:mx,setAutoFreeze:AV,setUseProxies:kV},Symbol.toStringTag,{value:"Module"}));function sf(e){"@babel/helpers - typeof";return sf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},sf(e)}function MV(e,t){if(sf(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(sf(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function IV(e){var t=MV(e,"string");return sf(t)==="symbol"?t:String(t)}function NV(e,t,n){return t=IV(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function n4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function r4(e){for(var t=1;t"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(Tn(1));return n(oh)(e,t)}if(typeof e!="function")throw new Error(Tn(2));var i=e,o=t,s=[],a=s,l=!1;function u(){a===s&&(a=s.slice())}function c(){if(l)throw new Error(Tn(3));return o}function d(m){if(typeof m!="function")throw new Error(Tn(4));if(l)throw new Error(Tn(5));var S=!0;return u(),a.push(m),function(){if(S){if(l)throw new Error(Tn(6));S=!1,u();var v=a.indexOf(m);a.splice(v,1),s=null}}}function f(m){if(!DV(m))throw new Error(Tn(7));if(typeof m.type>"u")throw new Error(Tn(8));if(l)throw new Error(Tn(9));try{l=!0,o=i(o,m)}finally{l=!1}for(var S=s=a,y=0;y"u")throw new Error(Tn(12));if(typeof n(void 0,{type:Ku.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Tn(13))})}function gc(e){for(var t=Object.keys(e),n={},r=0;r"u")throw u&&u.type,new Error(Tn(14));d[h]=S,c=c||S!==m}return c=c||o.length!==Object.keys(l).length,c?d:l}}function o4(e,t){return function(){return t(e.apply(this,arguments))}}function yk(e,t){if(typeof e=="function")return o4(e,t);if(typeof e!="object"||e===null)throw new Error(Tn(16));var n={};for(var r in e){var i=e[r];typeof i=="function"&&(n[r]=o4(i,t))}return n}function Xu(){for(var e=arguments.length,t=new Array(e),n=0;n-1){var u=n[l];return l>0&&(n.splice(l,1),n.unshift(u)),u.value}return um}function i(a,l){r(a)===um&&(n.unshift({key:a,value:l}),n.length>e&&n.pop())}function o(){return n}function s(){n=[]}return{get:r,put:i,getEntries:o,clear:s}}var vk=function(t,n){return t===n};function jV(e){return function(n,r){if(n===null||r===null||n.length!==r.length)return!1;for(var i=n.length,o=0;o1?t-1:0),r=1;r0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]",value:e};if(typeof e!="object"||e===null||o!=null&&o.has(e))return!1;for(var a=r!=null?r(e):Object.entries(e),l=i.length>0,u=function(S,y){var v=t?t+"."+S:S;if(l){var g=i.some(function(b){return b instanceof RegExp?b.test(v):v===b});if(g)return"continue"}if(!n(y))return{value:{keyPath:v,value:y}};if(typeof y=="object"&&(s=Ek(y,v,n,r,i,o),s))return{value:s}},c=0,d=a;c-1}function nz(e){return""+e}function Ok(e){var t={},n=[],r,i={addCase:function(o,s){var a=typeof o=="string"?o:o.type;if(a in t)throw new Error("addCase cannot be called with two reducers for the same action type");return t[a]=s,i},addMatcher:function(o,s){return n.push({matcher:o,reducer:s}),i},addDefaultCase:function(o){return r=o,i}};return e(i),[t,n,r]}function rz(e){return typeof e=="function"}function Mk(e,t,n,r){n===void 0&&(n=[]);var i=typeof t=="function"?Ok(t):[t,n,r],o=i[0],s=i[1],a=i[2],l;if(rz(e))l=function(){return __(e())};else{var u=__(e);l=function(){return u}}function c(d,f){d===void 0&&(d=l());var h=js([o[f.type]],s.filter(function(p){var m=p.matcher;return m(f)}).map(function(p){var m=p.reducer;return m}));return h.filter(function(p){return!!p}).length===0&&(h=[a]),h.reduce(function(p,m){if(m)if(er(p)){var S=p,y=m(S,f);return y===void 0?p:y}else{if(yr(p))return Js(p,function(v){return m(v,f)});var y=m(p,f);if(y===void 0){if(p===null)return p;throw Error("A case reducer on a non-draftable value must not return undefined")}return y}return p},d)}return c.getInitialState=l,c}function iz(e,t){return e+"/"+t}function Pt(e){var t=e.name;if(!t)throw new Error("`name` is a required option for createSlice");typeof process<"u";var n=typeof e.initialState=="function"?e.initialState:__(e.initialState),r=e.reducers||{},i=Object.keys(r),o={},s={},a={};i.forEach(function(c){var d=r[c],f=iz(t,c),h,p;"reducer"in d?(h=d.reducer,p=d.prepare):h=d,o[c]=h,s[f]=h,a[c]=p?ue(f,p):ue(f)});function l(){var c=typeof e.extraReducers=="function"?Ok(e.extraReducers):[e.extraReducers],d=c[0],f=d===void 0?{}:d,h=c[1],p=h===void 0?[]:h,m=c[2],S=m===void 0?void 0:m,y=fr(fr({},f),s);return Mk(n,function(v){for(var g in y)v.addCase(g,y[g]);for(var b=0,_=p;b<_.length;b++){var w=_[b];v.addMatcher(w.matcher,w.reducer)}S&&v.addDefaultCase(S)})}var u;return{name:t,reducer:function(c,d){return u||(u=l()),u(c,d)},actions:a,caseReducers:o,getInitialState:function(){return u||(u=l()),u.getInitialState()}}}function oz(){return{ids:[],entities:{}}}function sz(){function e(t){return t===void 0&&(t={}),Object.assign(oz(),t)}return{getInitialState:e}}function az(){function e(t){var n=function(u){return u.ids},r=function(u){return u.entities},i=yo(n,r,function(u,c){return u.map(function(d){return c[d]})}),o=function(u,c){return c},s=function(u,c){return u[c]},a=yo(n,function(u){return u.length});if(!t)return{selectIds:n,selectEntities:r,selectAll:i,selectTotal:a,selectById:yo(r,o,s)};var l=yo(t,r);return{selectIds:yo(t,n),selectEntities:l,selectAll:yo(t,i),selectTotal:yo(t,a),selectById:yo(l,o,s)}}return{getSelectors:e}}function lz(e){var t=Lt(function(n,r){return e(r)});return function(r){return t(r,void 0)}}function Lt(e){return function(n,r){function i(s){return Rk(s)}var o=function(s){i(r)?e(r.payload,s):e(r,s)};return er(n)?(o(n),n):Js(n,o)}}function Ed(e,t){var n=t(e);return n}function Ba(e){return Array.isArray(e)||(e=Object.values(e)),e}function Ik(e,t,n){e=Ba(e);for(var r=[],i=[],o=0,s=e;o0;if(v){var g=p.filter(function(b){return u(S,b,m)}).length>0;g&&(m.ids=Object.keys(m.entities))}}function f(p,m){return h([p],m)}function h(p,m){var S=Ik(p,e,m),y=S[0],v=S[1];d(v,m),n(y,m)}return{removeAll:lz(l),addOne:Lt(t),addMany:Lt(n),setOne:Lt(r),setMany:Lt(i),setAll:Lt(o),updateOne:Lt(c),updateMany:Lt(d),upsertOne:Lt(f),upsertMany:Lt(h),removeOne:Lt(s),removeMany:Lt(a)}}function uz(e,t){var n=Nk(e),r=n.removeOne,i=n.removeMany,o=n.removeAll;function s(v,g){return a([v],g)}function a(v,g){v=Ba(v);var b=v.filter(function(_){return!(Ed(_,e)in g.entities)});b.length!==0&&S(b,g)}function l(v,g){return u([v],g)}function u(v,g){v=Ba(v),v.length!==0&&S(v,g)}function c(v,g){v=Ba(v),g.entities={},g.ids=[],a(v,g)}function d(v,g){return f([v],g)}function f(v,g){for(var b=!1,_=0,w=v;_-1;return n&&r}function lh(e){return typeof e[0]=="function"&&"pending"in e[0]&&"fulfilled"in e[0]&&"rejected"in e[0]}function c0(){for(var e=[],t=0;t0)for(var g=h.getState(),b=Array.from(n.values()),_=0,w=b;_Math.floor(e/t)*t,Ui=(e,t)=>Math.round(e/t)*t;var Pz=typeof global=="object"&&global&&global.Object===Object&&global;const Zk=Pz;var Az=typeof self=="object"&&self&&self.Object===Object&&self,kz=Zk||Az||Function("return this")();const oo=kz;var Rz=oo.Symbol;const Zr=Rz;var Jk=Object.prototype,Oz=Jk.hasOwnProperty,Mz=Jk.toString,Vc=Zr?Zr.toStringTag:void 0;function Iz(e){var t=Oz.call(e,Vc),n=e[Vc];try{e[Vc]=void 0;var r=!0}catch{}var i=Mz.call(e);return r&&(t?e[Vc]=n:delete e[Vc]),i}var Nz=Object.prototype,Dz=Nz.toString;function Lz(e){return Dz.call(e)}var $z="[object Null]",Fz="[object Undefined]",h4=Zr?Zr.toStringTag:void 0;function na(e){return e==null?e===void 0?Fz:$z:h4&&h4 in Object(e)?Iz(e):Lz(e)}function Ci(e){return e!=null&&typeof e=="object"}var Bz="[object Symbol]";function d0(e){return typeof e=="symbol"||Ci(e)&&na(e)==Bz}function eR(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n0){if(++t>=yU)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function _U(e){return function(){return e}}var wU=function(){try{var e=fl(Object,"defineProperty");return e({},"",{}),e}catch{}}();const hm=wU;var xU=hm?function(e,t){return hm(e,"toString",{configurable:!0,enumerable:!1,value:_U(t),writable:!0})}:f0;const CU=xU;var TU=SU(CU);const iR=TU;function oR(e,t){for(var n=-1,r=e==null?0:e.length;++n-1}var OU=9007199254740991,MU=/^(?:0|[1-9]\d*)$/;function wx(e,t){var n=typeof e;return t=t??OU,!!t&&(n=="number"||n!="symbol"&&MU.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=DU}function yc(e){return e!=null&&Cx(e.length)&&!_x(e)}function uR(e,t,n){if(!vr(n))return!1;var r=typeof t;return(r=="number"?yc(n)&&wx(t,n.length):r=="string"&&t in n)?fh(n[t],e):!1}function cR(e){return lR(function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(o=e.length>3&&typeof o=="function"?(i--,o):void 0,s&&uR(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),t=Object(t);++r-1}function YG(e,t){var n=this.__data__,r=h0(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function Ho(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(a)?t>1?yR(a,t-1,n,r,i):Ox(i,a):r||(i[i.length]=a)}return i}function pH(e){var t=e==null?0:e.length;return t?yR(e,1):[]}function gH(e){return iR(aR(e,void 0,pH),e+"")}var mH=gR(Object.getPrototypeOf,Object);const Mx=mH;var yH="[object Object]",vH=Function.prototype,bH=Object.prototype,vR=vH.toString,SH=bH.hasOwnProperty,_H=vR.call(Object);function bR(e){if(!Ci(e)||na(e)!=yH)return!1;var t=Mx(e);if(t===null)return!0;var n=SH.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&vR.call(n)==_H}function SR(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(i);++r=r?e:SR(e,t,n)}var xH="\\ud800-\\udfff",CH="\\u0300-\\u036f",TH="\\ufe20-\\ufe2f",EH="\\u20d0-\\u20ff",PH=CH+TH+EH,AH="\\ufe0e\\ufe0f",kH="\\u200d",RH=RegExp("["+kH+xH+PH+AH+"]");function Ix(e){return RH.test(e)}function OH(e){return e.split("")}var _R="\\ud800-\\udfff",MH="\\u0300-\\u036f",IH="\\ufe20-\\ufe2f",NH="\\u20d0-\\u20ff",DH=MH+IH+NH,LH="\\ufe0e\\ufe0f",$H="["+_R+"]",T_="["+DH+"]",E_="\\ud83c[\\udffb-\\udfff]",FH="(?:"+T_+"|"+E_+")",wR="[^"+_R+"]",xR="(?:\\ud83c[\\udde6-\\uddff]){2}",CR="[\\ud800-\\udbff][\\udc00-\\udfff]",BH="\\u200d",TR=FH+"?",ER="["+LH+"]?",jH="(?:"+BH+"(?:"+[wR,xR,CR].join("|")+")"+ER+TR+")*",VH=ER+TR+jH,zH="(?:"+[wR+T_+"?",T_,xR,CR,$H].join("|")+")",UH=RegExp(E_+"(?="+E_+")|"+zH+VH,"g");function GH(e){return e.match(UH)||[]}function HH(e){return Ix(e)?GH(e):OH(e)}function qH(e){return function(t){t=g0(t);var n=Ix(t)?HH(t):void 0,r=n?n[0]:t.charAt(0),i=n?wH(n,1).join(""):t.slice(1);return r[e]()+i}}var WH=qH("toUpperCase");const KH=WH;function PR(e,t,n,r){var i=-1,o=e==null?0:e.length;for(r&&o&&(n=e[++i]);++i=t?e:t)),e}function Ss(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=gb(n),n=n===n?n:0),t!==void 0&&(t=gb(t),t=t===t?t:0),Fq(gb(e),t,n)}function Bq(){this.__data__=new Ho,this.size=0}function jq(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Vq(e){return this.__data__.get(e)}function zq(e){return this.__data__.has(e)}var Uq=200;function Gq(e,t){var n=this.__data__;if(n instanceof Ho){var r=n.__data__;if(!cf||r.lengtha))return!1;var u=o.get(e),c=o.get(t);if(u&&c)return u==t&&c==e;var d=-1,f=!0,h=n&CK?new df:void 0;for(o.set(e,t),o.set(t,e);++d1),o}),mc(e,WR(e),n),r&&(n=Ad(n,AX|kX|RX,PX));for(var i=t.length;i--;)lO(n,t[i]);return n});const w0=OX;var MX=iO("length");const IX=MX;var uO="\\ud800-\\udfff",NX="\\u0300-\\u036f",DX="\\ufe20-\\ufe2f",LX="\\u20d0-\\u20ff",$X=NX+DX+LX,FX="\\ufe0e\\ufe0f",BX="["+uO+"]",M_="["+$X+"]",I_="\\ud83c[\\udffb-\\udfff]",jX="(?:"+M_+"|"+I_+")",cO="[^"+uO+"]",dO="(?:\\ud83c[\\udde6-\\uddff]){2}",fO="[\\ud800-\\udbff][\\udc00-\\udfff]",VX="\\u200d",hO=jX+"?",pO="["+FX+"]?",zX="(?:"+VX+"(?:"+[cO,dO,fO].join("|")+")"+pO+hO+")*",UX=pO+hO+zX,GX="(?:"+[cO+M_+"?",M_,dO,fO,BX].join("|")+")",q4=RegExp(I_+"(?="+I_+")|"+GX+UX,"g");function HX(e){for(var t=q4.lastIndex=0;q4.test(e);)++t;return t}function qX(e){return Ix(e)?HX(e):IX(e)}function WX(e,t,n,r,i){return i(e,function(o,s,a){n=r?(r=!1,o):t(n,o,s,a)}),n}function $x(e,t,n){var r=gn(e)?PR:WX,i=arguments.length<3;return r(e,v0(t),n,i,b0)}var KX="[object Map]",XX="[object Set]";function gO(e){if(e==null)return 0;if(yc(e))return xX(e)?qX(e):e.length;var t=Zu(e);return t==KX||t==XX?e.size:mR(e).length}function YX(e,t){var n;return b0(e,function(r,i,o){return n=t(r,i,o),!n}),!!n}function Pa(e,t,n){var r=gn(e)?JR:YX;return n&&uR(e,t,n)&&(t=void 0),r(e,v0(t))}var QX=$q(function(e,t,n){return e+(n?" ":"")+KH(t)});const ZX=QX;var JX=1/0,eY=ku&&1/Lx(new ku([,-0]))[1]==JX?function(e){return new ku(e)}:mU;const tY=eY;var nY=200;function mO(e,t,n){var r=-1,i=RU,o=e.length,s=!0,a=[],l=a;if(n)s=!1,i=vX;else if(o>=nY){var u=t?null:tY(e);if(u)return Lx(u);s=!1,i=eO,l=new df}else l=t?[]:a;e:for(;++r{EX(e,t.payload)}}}),{configChanged:sY}=vO.actions,aY=vO.reducer,_we={"sd-1":"Stable Diffusion 1.x","sd-2":"Stable Diffusion 2.x",sdxl:"Stable Diffusion XL","sdxl-refiner":"Stable Diffusion XL Refiner"},wwe={"sd-1":"SD1","sd-2":"SD2",sdxl:"SDXL","sdxl-refiner":"SDXLR"},lY={"sd-1":{maxClip:12,markers:[0,1,2,3,4,8,12]},"sd-2":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},sdxl:{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},"sdxl-refiner":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]}},xwe={lycoris:"LyCORIS",diffusers:"Diffusers"},Cwe=0,uY=4294967295;var Ve;(function(e){e.assertEqual=i=>i;function t(i){}e.assertIs=t;function n(i){throw new Error}e.assertNever=n,e.arrayToEnum=i=>{const o={};for(const s of i)o[s]=s;return o},e.getValidEnumValues=i=>{const o=e.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),s={};for(const a of o)s[a]=i[a];return e.objectValues(s)},e.objectValues=i=>e.objectKeys(i).map(function(o){return i[o]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const o=[];for(const s in i)Object.prototype.hasOwnProperty.call(i,s)&&o.push(s);return o},e.find=(i,o)=>{for(const s of i)if(o(s))return s},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&isFinite(i)&&Math.floor(i)===i;function r(i,o=" | "){return i.map(s=>typeof s=="string"?`'${s}'`:s).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(i,o)=>typeof o=="bigint"?o.toString():o})(Ve||(Ve={}));var N_;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(N_||(N_={}));const re=Ve.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ms=e=>{switch(typeof e){case"undefined":return re.undefined;case"string":return re.string;case"number":return isNaN(e)?re.nan:re.number;case"boolean":return re.boolean;case"function":return re.function;case"bigint":return re.bigint;case"symbol":return re.symbol;case"object":return Array.isArray(e)?re.array:e===null?re.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?re.promise:typeof Map<"u"&&e instanceof Map?re.map:typeof Set<"u"&&e instanceof Set?re.set:typeof Date<"u"&&e instanceof Date?re.date:re.object;default:return re.unknown}},ee=Ve.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),cY=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class bi extends Error{constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}get errors(){return this.issues}format(t){const n=t||function(o){return o.message},r={_errors:[]},i=o=>{for(const s of o.issues)if(s.code==="invalid_union")s.unionErrors.map(i);else if(s.code==="invalid_return_type")i(s.returnTypeError);else if(s.code==="invalid_arguments")i(s.argumentsError);else if(s.path.length===0)r._errors.push(n(s));else{let a=r,l=0;for(;ln.message){const n={},r=[];for(const i of this.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}bi.create=e=>new bi(e);const ff=(e,t)=>{let n;switch(e.code){case ee.invalid_type:e.received===re.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case ee.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Ve.jsonStringifyReplacer)}`;break;case ee.unrecognized_keys:n=`Unrecognized key(s) in object: ${Ve.joinValues(e.keys,", ")}`;break;case ee.invalid_union:n="Invalid input";break;case ee.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Ve.joinValues(e.options)}`;break;case ee.invalid_enum_value:n=`Invalid enum value. Expected ${Ve.joinValues(e.options)}, received '${e.received}'`;break;case ee.invalid_arguments:n="Invalid function arguments";break;case ee.invalid_return_type:n="Invalid function return type";break;case ee.invalid_date:n="Invalid date";break;case ee.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Ve.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case ee.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case ee.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case ee.custom:n="Invalid input";break;case ee.invalid_intersection_types:n="Intersection results could not be merged";break;case ee.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case ee.not_finite:n="Number must be finite";break;default:n=t.defaultError,Ve.assertNever(e)}return{message:n}};let bO=ff;function dY(e){bO=e}function gm(){return bO}const mm=e=>{const{data:t,path:n,errorMaps:r,issueData:i}=e,o=[...n,...i.path||[]],s={...i,path:o};let a="";const l=r.filter(u=>!!u).slice().reverse();for(const u of l)a=u(s,{data:t,defaultError:a}).message;return{...i,path:o,message:i.message||a}},fY=[];function oe(e,t){const n=mm({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,gm(),ff].filter(r=>!!r)});e.common.issues.push(n)}class jn{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){const r=[];for(const i of n){if(i.status==="aborted")return be;i.status==="dirty"&&t.dirty(),r.push(i.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){const r=[];for(const i of n)r.push({key:await i.key,value:await i.value});return jn.mergeObjectSync(t,r)}static mergeObjectSync(t,n){const r={};for(const i of n){const{key:o,value:s}=i;if(o.status==="aborted"||s.status==="aborted")return be;o.status==="dirty"&&t.dirty(),s.status==="dirty"&&t.dirty(),(typeof s.value<"u"||i.alwaysSet)&&(r[o.value]=s.value)}return{status:t.value,value:r}}}const be=Object.freeze({status:"aborted"}),SO=e=>({status:"dirty",value:e}),tr=e=>({status:"valid",value:e}),D_=e=>e.status==="aborted",L_=e=>e.status==="dirty",ym=e=>e.status==="valid",vm=e=>typeof Promise<"u"&&e instanceof Promise;var ge;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(ge||(ge={}));class eo{constructor(t,n,r,i){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=i}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const W4=(e,t)=>{if(ym(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new bi(e.common.issues);return this._error=n,this._error}}};function we(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(s,a)=>s.code!=="invalid_type"?{message:a.defaultError}:typeof a.data>"u"?{message:r??a.defaultError}:{message:n??a.defaultError},description:i}}class Ce{constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(t){return ms(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ms(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new jn,ctx:{common:t.parent.common,data:t.data,parsedType:ms(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(vm(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){const n=this._parse(t);return Promise.resolve(n)}parse(t,n){const r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){var r;const i={common:{issues:[],async:(r=n==null?void 0:n.async)!==null&&r!==void 0?r:!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ms(t)},o=this._parseSync({data:t,path:i.path,parent:i});return W4(i,o)}async parseAsync(t,n){const r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){const r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ms(t)},i=this._parse({data:t,path:r.path,parent:r}),o=await(vm(i)?i:Promise.resolve(i));return W4(r,o)}refine(t,n){const r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,o)=>{const s=t(i),a=()=>o.addIssue({code:ee.custom,...r(i)});return typeof Promise<"u"&&s instanceof Promise?s.then(l=>l?!0:(a(),!1)):s?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(t){return new Ti({schema:this,typeName:ye.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}optional(){return Ro.create(this,this._def)}nullable(){return tl.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Si.create(this,this._def)}promise(){return ec.create(this,this._def)}or(t){return mf.create([this,t],this._def)}and(t){return yf.create(this,t,this._def)}transform(t){return new Ti({...we(this._def),schema:this,typeName:ye.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new wf({...we(this._def),innerType:this,defaultValue:n,typeName:ye.ZodDefault})}brand(){return new wO({typeName:ye.ZodBranded,type:this,...we(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new wm({...we(this._def),innerType:this,catchValue:n,typeName:ye.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return mh.create(this,t)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const hY=/^c[^\s-]{8,}$/i,pY=/^[a-z][a-z0-9]*$/,gY=/[0-9A-HJKMNP-TV-Z]{26}/,mY=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,yY=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\])|(\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\.[A-Za-z]{2,})+))$/,vY=/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,bY=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,SY=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,_Y=e=>e.precision?e.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}Z$`):e.precision===0?e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function wY(e,t){return!!((t==="v4"||!t)&&bY.test(e)||(t==="v6"||!t)&&SY.test(e))}class pi extends Ce{constructor(){super(...arguments),this._regex=(t,n,r)=>this.refinement(i=>t.test(i),{validation:n,code:ee.invalid_string,...ge.errToObj(r)}),this.nonempty=t=>this.min(1,ge.errToObj(t)),this.trim=()=>new pi({...this._def,checks:[...this._def.checks,{kind:"trim"}]}),this.toLowerCase=()=>new pi({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]}),this.toUpperCase=()=>new pi({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==re.string){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_type,expected:re.string,received:o.parsedType}),be}const r=new jn;let i;for(const o of this._def.checks)if(o.kind==="min")t.data.lengtho.value&&(i=this._getOrReturnCtx(t,i),oe(i,{code:ee.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){const s=t.data.length>o.value,a=t.data.length"u"?null:t==null?void 0:t.precision,offset:(n=t==null?void 0:t.offset)!==null&&n!==void 0?n:!1,...ge.errToObj(t==null?void 0:t.message)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...ge.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...ge.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...ge.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...ge.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...ge.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...ge.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...ge.errToObj(n)})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get minLength(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new pi({checks:[],typeName:ye.ZodString,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...we(e)})};function xY(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r,o=parseInt(e.toFixed(i).replace(".","")),s=parseInt(t.toFixed(i).replace(".",""));return o%s/Math.pow(10,i)}class zs extends Ce{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==re.number){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_type,expected:re.number,received:o.parsedType}),be}let r;const i=new jn;for(const o of this._def.checks)o.kind==="int"?Ve.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.invalid_type,expected:"integer",received:"float",message:o.message}),i.dirty()):o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="multipleOf"?xY(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.not_finite,message:o.message}),i.dirty()):Ve.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,ge.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ge.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ge.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ge.toString(n))}setLimit(t,n,r,i){return new zs({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ge.toString(i)}]})}_addCheck(t){return new zs({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:ge.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ge.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ge.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ge.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ge.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ge.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:ge.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ge.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ge.toString(t)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuet.kind==="int"||t.kind==="multipleOf"&&Ve.isInteger(t.value))}get isFinite(){let t=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.valuenew zs({checks:[],typeName:ye.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...we(e)});class Us extends Ce{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce&&(t.data=BigInt(t.data)),this._getType(t)!==re.bigint){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_type,expected:re.bigint,received:o.parsedType}),be}let r;const i=new jn;for(const o of this._def.checks)o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),oe(r,{code:ee.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):Ve.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,ge.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ge.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ge.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ge.toString(n))}setLimit(t,n,r,i){return new Us({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ge.toString(i)}]})}_addCheck(t){return new Us({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ge.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ge.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ge.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ge.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ge.toString(n)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new Us({checks:[],typeName:ye.ZodBigInt,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...we(e)})};class hf extends Ce{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==re.boolean){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.boolean,received:r.parsedType}),be}return tr(t.data)}}hf.create=e=>new hf({typeName:ye.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...we(e)});class Ja extends Ce{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==re.date){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_type,expected:re.date,received:o.parsedType}),be}if(isNaN(t.data.getTime())){const o=this._getOrReturnCtx(t);return oe(o,{code:ee.invalid_date}),be}const r=new jn;let i;for(const o of this._def.checks)o.kind==="min"?t.data.getTime()o.value&&(i=this._getOrReturnCtx(t,i),oe(i,{code:ee.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):Ve.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new Ja({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:ge.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:ge.toString(n)})}get minDate(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuenew Ja({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:ye.ZodDate,...we(e)});class bm extends Ce{_parse(t){if(this._getType(t)!==re.symbol){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.symbol,received:r.parsedType}),be}return tr(t.data)}}bm.create=e=>new bm({typeName:ye.ZodSymbol,...we(e)});class pf extends Ce{_parse(t){if(this._getType(t)!==re.undefined){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.undefined,received:r.parsedType}),be}return tr(t.data)}}pf.create=e=>new pf({typeName:ye.ZodUndefined,...we(e)});class gf extends Ce{_parse(t){if(this._getType(t)!==re.null){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.null,received:r.parsedType}),be}return tr(t.data)}}gf.create=e=>new gf({typeName:ye.ZodNull,...we(e)});class Ju extends Ce{constructor(){super(...arguments),this._any=!0}_parse(t){return tr(t.data)}}Ju.create=e=>new Ju({typeName:ye.ZodAny,...we(e)});class ja extends Ce{constructor(){super(...arguments),this._unknown=!0}_parse(t){return tr(t.data)}}ja.create=e=>new ja({typeName:ye.ZodUnknown,...we(e)});class Vo extends Ce{_parse(t){const n=this._getOrReturnCtx(t);return oe(n,{code:ee.invalid_type,expected:re.never,received:n.parsedType}),be}}Vo.create=e=>new Vo({typeName:ye.ZodNever,...we(e)});class Sm extends Ce{_parse(t){if(this._getType(t)!==re.undefined){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.void,received:r.parsedType}),be}return tr(t.data)}}Sm.create=e=>new Sm({typeName:ye.ZodVoid,...we(e)});class Si extends Ce{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==re.array)return oe(n,{code:ee.invalid_type,expected:re.array,received:n.parsedType}),be;if(i.exactLength!==null){const s=n.data.length>i.exactLength.value,a=n.data.lengthi.maxLength.value&&(oe(n,{code:ee.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((s,a)=>i.type._parseAsync(new eo(n,s,n.path,a)))).then(s=>jn.mergeArray(r,s));const o=[...n.data].map((s,a)=>i.type._parseSync(new eo(n,s,n.path,a)));return jn.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new Si({...this._def,minLength:{value:t,message:ge.toString(n)}})}max(t,n){return new Si({...this._def,maxLength:{value:t,message:ge.toString(n)}})}length(t,n){return new Si({...this._def,exactLength:{value:t,message:ge.toString(n)}})}nonempty(t){return this.min(1,t)}}Si.create=(e,t)=>new Si({type:e,minLength:null,maxLength:null,exactLength:null,typeName:ye.ZodArray,...we(t)});function Kl(e){if(e instanceof Tt){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=Ro.create(Kl(r))}return new Tt({...e._def,shape:()=>t})}else return e instanceof Si?new Si({...e._def,type:Kl(e.element)}):e instanceof Ro?Ro.create(Kl(e.unwrap())):e instanceof tl?tl.create(Kl(e.unwrap())):e instanceof to?to.create(e.items.map(t=>Kl(t))):e}class Tt extends Ce{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),n=Ve.objectKeys(t);return this._cached={shape:t,keys:n}}_parse(t){if(this._getType(t)!==re.object){const u=this._getOrReturnCtx(t);return oe(u,{code:ee.invalid_type,expected:re.object,received:u.parsedType}),be}const{status:r,ctx:i}=this._processInputParams(t),{shape:o,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof Vo&&this._def.unknownKeys==="strip"))for(const u in i.data)s.includes(u)||a.push(u);const l=[];for(const u of s){const c=o[u],d=i.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new eo(i,d,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof Vo){const u=this._def.unknownKeys;if(u==="passthrough")for(const c of a)l.push({key:{status:"valid",value:c},value:{status:"valid",value:i.data[c]}});else if(u==="strict")a.length>0&&(oe(i,{code:ee.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const u=this._def.catchall;for(const c of a){const d=i.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new eo(i,d,i.path,c)),alwaysSet:c in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const u=[];for(const c of l){const d=await c.key;u.push({key:d,value:await c.value,alwaysSet:c.alwaysSet})}return u}).then(u=>jn.mergeObjectSync(r,u)):jn.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return ge.errToObj,new Tt({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{var i,o,s,a;const l=(s=(o=(i=this._def).errorMap)===null||o===void 0?void 0:o.call(i,n,r).message)!==null&&s!==void 0?s:r.defaultError;return n.code==="unrecognized_keys"?{message:(a=ge.errToObj(t).message)!==null&&a!==void 0?a:l}:{message:l}}}:{}})}strip(){return new Tt({...this._def,unknownKeys:"strip"})}passthrough(){return new Tt({...this._def,unknownKeys:"passthrough"})}extend(t){return new Tt({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new Tt({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:ye.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new Tt({...this._def,catchall:t})}pick(t){const n={};return Ve.objectKeys(t).forEach(r=>{t[r]&&this.shape[r]&&(n[r]=this.shape[r])}),new Tt({...this._def,shape:()=>n})}omit(t){const n={};return Ve.objectKeys(this.shape).forEach(r=>{t[r]||(n[r]=this.shape[r])}),new Tt({...this._def,shape:()=>n})}deepPartial(){return Kl(this)}partial(t){const n={};return Ve.objectKeys(this.shape).forEach(r=>{const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}),new Tt({...this._def,shape:()=>n})}required(t){const n={};return Ve.objectKeys(this.shape).forEach(r=>{if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof Ro;)o=o._def.innerType;n[r]=o}}),new Tt({...this._def,shape:()=>n})}keyof(){return _O(Ve.objectKeys(this.shape))}}Tt.create=(e,t)=>new Tt({shape:()=>e,unknownKeys:"strip",catchall:Vo.create(),typeName:ye.ZodObject,...we(t)});Tt.strictCreate=(e,t)=>new Tt({shape:()=>e,unknownKeys:"strict",catchall:Vo.create(),typeName:ye.ZodObject,...we(t)});Tt.lazycreate=(e,t)=>new Tt({shape:e,unknownKeys:"strip",catchall:Vo.create(),typeName:ye.ZodObject,...we(t)});class mf extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t),r=this._def.options;function i(o){for(const a of o)if(a.result.status==="valid")return a.result;for(const a of o)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;const s=o.map(a=>new bi(a.ctx.common.issues));return oe(n,{code:ee.invalid_union,unionErrors:s}),be}if(n.common.async)return Promise.all(r.map(async o=>{const s={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:s}),ctx:s}})).then(i);{let o;const s=[];for(const l of r){const u={...n,common:{...n.common,issues:[]},parent:null},c=l._parseSync({data:n.data,path:n.path,parent:u});if(c.status==="valid")return c;c.status==="dirty"&&!o&&(o={result:c,ctx:u}),u.common.issues.length&&s.push(u.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;const a=s.map(l=>new bi(l));return oe(n,{code:ee.invalid_union,unionErrors:a}),be}}get options(){return this._def.options}}mf.create=(e,t)=>new mf({options:e,typeName:ye.ZodUnion,...we(t)});const dg=e=>e instanceof bf?dg(e.schema):e instanceof Ti?dg(e.innerType()):e instanceof Sf?[e.value]:e instanceof Gs?e.options:e instanceof _f?Object.keys(e.enum):e instanceof wf?dg(e._def.innerType):e instanceof pf?[void 0]:e instanceof gf?[null]:null;class x0 extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==re.object)return oe(n,{code:ee.invalid_type,expected:re.object,received:n.parsedType}),be;const r=this.discriminator,i=n.data[r],o=this.optionsMap.get(i);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(oe(n,{code:ee.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),be)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){const i=new Map;for(const o of n){const s=dg(o.shape[t]);if(!s)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(const a of s){if(i.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);i.set(a,o)}}return new x0({typeName:ye.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...we(r)})}}function $_(e,t){const n=ms(e),r=ms(t);if(e===t)return{valid:!0,data:e};if(n===re.object&&r===re.object){const i=Ve.objectKeys(t),o=Ve.objectKeys(e).filter(a=>i.indexOf(a)!==-1),s={...e,...t};for(const a of o){const l=$_(e[a],t[a]);if(!l.valid)return{valid:!1};s[a]=l.data}return{valid:!0,data:s}}else if(n===re.array&&r===re.array){if(e.length!==t.length)return{valid:!1};const i=[];for(let o=0;o{if(D_(o)||D_(s))return be;const a=$_(o.value,s.value);return a.valid?((L_(o)||L_(s))&&n.dirty(),{status:n.value,value:a.data}):(oe(r,{code:ee.invalid_intersection_types}),be)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,s])=>i(o,s)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}yf.create=(e,t,n)=>new yf({left:e,right:t,typeName:ye.ZodIntersection,...we(n)});class to extends Ce{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.array)return oe(r,{code:ee.invalid_type,expected:re.array,received:r.parsedType}),be;if(r.data.lengththis._def.items.length&&(oe(r,{code:ee.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const o=[...r.data].map((s,a)=>{const l=this._def.items[a]||this._def.rest;return l?l._parse(new eo(r,s,r.path,a)):null}).filter(s=>!!s);return r.common.async?Promise.all(o).then(s=>jn.mergeArray(n,s)):jn.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new to({...this._def,rest:t})}}to.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new to({items:e,typeName:ye.ZodTuple,rest:null,...we(t)})};class vf extends Ce{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.object)return oe(r,{code:ee.invalid_type,expected:re.object,received:r.parsedType}),be;const i=[],o=this._def.keyType,s=this._def.valueType;for(const a in r.data)i.push({key:o._parse(new eo(r,a,r.path,a)),value:s._parse(new eo(r,r.data[a],r.path,a))});return r.common.async?jn.mergeObjectAsync(n,i):jn.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof Ce?new vf({keyType:t,valueType:n,typeName:ye.ZodRecord,...we(r)}):new vf({keyType:pi.create(),valueType:t,typeName:ye.ZodRecord,...we(n)})}}class _m extends Ce{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.map)return oe(r,{code:ee.invalid_type,expected:re.map,received:r.parsedType}),be;const i=this._def.keyType,o=this._def.valueType,s=[...r.data.entries()].map(([a,l],u)=>({key:i._parse(new eo(r,a,r.path,[u,"key"])),value:o._parse(new eo(r,l,r.path,[u,"value"]))}));if(r.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const l of s){const u=await l.key,c=await l.value;if(u.status==="aborted"||c.status==="aborted")return be;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}})}else{const a=new Map;for(const l of s){const u=l.key,c=l.value;if(u.status==="aborted"||c.status==="aborted")return be;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}}}}_m.create=(e,t,n)=>new _m({valueType:t,keyType:e,typeName:ye.ZodMap,...we(n)});class el extends Ce{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.set)return oe(r,{code:ee.invalid_type,expected:re.set,received:r.parsedType}),be;const i=this._def;i.minSize!==null&&r.data.sizei.maxSize.value&&(oe(r,{code:ee.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());const o=this._def.valueType;function s(l){const u=new Set;for(const c of l){if(c.status==="aborted")return be;c.status==="dirty"&&n.dirty(),u.add(c.value)}return{status:n.value,value:u}}const a=[...r.data.values()].map((l,u)=>o._parse(new eo(r,l,r.path,u)));return r.common.async?Promise.all(a).then(l=>s(l)):s(a)}min(t,n){return new el({...this._def,minSize:{value:t,message:ge.toString(n)}})}max(t,n){return new el({...this._def,maxSize:{value:t,message:ge.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}el.create=(e,t)=>new el({valueType:e,minSize:null,maxSize:null,typeName:ye.ZodSet,...we(t)});class Ru extends Ce{constructor(){super(...arguments),this.validate=this.implement}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==re.function)return oe(n,{code:ee.invalid_type,expected:re.function,received:n.parsedType}),be;function r(a,l){return mm({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,gm(),ff].filter(u=>!!u),issueData:{code:ee.invalid_arguments,argumentsError:l}})}function i(a,l){return mm({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,gm(),ff].filter(u=>!!u),issueData:{code:ee.invalid_return_type,returnTypeError:l}})}const o={errorMap:n.common.contextualErrorMap},s=n.data;return this._def.returns instanceof ec?tr(async(...a)=>{const l=new bi([]),u=await this._def.args.parseAsync(a,o).catch(f=>{throw l.addIssue(r(a,f)),l}),c=await s(...u);return await this._def.returns._def.type.parseAsync(c,o).catch(f=>{throw l.addIssue(i(c,f)),l})}):tr((...a)=>{const l=this._def.args.safeParse(a,o);if(!l.success)throw new bi([r(a,l.error)]);const u=s(...l.data),c=this._def.returns.safeParse(u,o);if(!c.success)throw new bi([i(u,c.error)]);return c.data})}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new Ru({...this._def,args:to.create(t).rest(ja.create())})}returns(t){return new Ru({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new Ru({args:t||to.create([]).rest(ja.create()),returns:n||ja.create(),typeName:ye.ZodFunction,...we(r)})}}class bf extends Ce{get schema(){return this._def.getter()}_parse(t){const{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}bf.create=(e,t)=>new bf({getter:e,typeName:ye.ZodLazy,...we(t)});class Sf extends Ce{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return oe(n,{received:n.data,code:ee.invalid_literal,expected:this._def.value}),be}return{status:"valid",value:t.data}}get value(){return this._def.value}}Sf.create=(e,t)=>new Sf({value:e,typeName:ye.ZodLiteral,...we(t)});function _O(e,t){return new Gs({values:e,typeName:ye.ZodEnum,...we(t)})}class Gs extends Ce{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return oe(n,{expected:Ve.joinValues(r),received:n.parsedType,code:ee.invalid_type}),be}if(this._def.values.indexOf(t.data)===-1){const n=this._getOrReturnCtx(t),r=this._def.values;return oe(n,{received:n.data,code:ee.invalid_enum_value,options:r}),be}return tr(t.data)}get options(){return this._def.values}get enum(){const t={};for(const n of this._def.values)t[n]=n;return t}get Values(){const t={};for(const n of this._def.values)t[n]=n;return t}get Enum(){const t={};for(const n of this._def.values)t[n]=n;return t}extract(t){return Gs.create(t)}exclude(t){return Gs.create(this.options.filter(n=>!t.includes(n)))}}Gs.create=_O;class _f extends Ce{_parse(t){const n=Ve.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==re.string&&r.parsedType!==re.number){const i=Ve.objectValues(n);return oe(r,{expected:Ve.joinValues(i),received:r.parsedType,code:ee.invalid_type}),be}if(n.indexOf(t.data)===-1){const i=Ve.objectValues(n);return oe(r,{received:r.data,code:ee.invalid_enum_value,options:i}),be}return tr(t.data)}get enum(){return this._def.values}}_f.create=(e,t)=>new _f({values:e,typeName:ye.ZodNativeEnum,...we(t)});class ec extends Ce{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==re.promise&&n.common.async===!1)return oe(n,{code:ee.invalid_type,expected:re.promise,received:n.parsedType}),be;const r=n.parsedType===re.promise?n.data:Promise.resolve(n.data);return tr(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}ec.create=(e,t)=>new ec({type:e,typeName:ye.ZodPromise,...we(t)});class Ti extends Ce{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ye.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=this._def.effect||null;if(i.type==="preprocess"){const s=i.transform(r.data);return r.common.async?Promise.resolve(s).then(a=>this._def.schema._parseAsync({data:a,path:r.path,parent:r})):this._def.schema._parseSync({data:s,path:r.path,parent:r})}const o={addIssue:s=>{oe(r,s),s.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),i.type==="refinement"){const s=a=>{const l=i.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?be:(a.status==="dirty"&&n.dirty(),s(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?be:(a.status==="dirty"&&n.dirty(),s(a.value).then(()=>({status:n.value,value:a.value}))))}if(i.type==="transform")if(r.common.async===!1){const s=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!ym(s))return s;const a=i.transform(s.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(s=>ym(s)?Promise.resolve(i.transform(s.value,o)).then(a=>({status:n.value,value:a})):s);Ve.assertNever(i)}}Ti.create=(e,t,n)=>new Ti({schema:e,typeName:ye.ZodEffects,effect:t,...we(n)});Ti.createWithPreprocess=(e,t,n)=>new Ti({schema:t,effect:{type:"preprocess",transform:e},typeName:ye.ZodEffects,...we(n)});class Ro extends Ce{_parse(t){return this._getType(t)===re.undefined?tr(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Ro.create=(e,t)=>new Ro({innerType:e,typeName:ye.ZodOptional,...we(t)});class tl extends Ce{_parse(t){return this._getType(t)===re.null?tr(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}tl.create=(e,t)=>new tl({innerType:e,typeName:ye.ZodNullable,...we(t)});class wf extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===re.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}wf.create=(e,t)=>new wf({innerType:e,typeName:ye.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...we(t)});class wm extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return vm(i)?i.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new bi(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new bi(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}wm.create=(e,t)=>new wm({innerType:e,typeName:ye.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...we(t)});class xm extends Ce{_parse(t){if(this._getType(t)!==re.nan){const r=this._getOrReturnCtx(t);return oe(r,{code:ee.invalid_type,expected:re.nan,received:r.parsedType}),be}return{status:"valid",value:t.data}}}xm.create=e=>new xm({typeName:ye.ZodNaN,...we(e)});const CY=Symbol("zod_brand");class wO extends Ce{_parse(t){const{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class mh extends Ce{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{const o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?be:o.status==="dirty"?(n.dirty(),SO(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{const i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?be:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(t,n){return new mh({in:t,out:n,typeName:ye.ZodPipeline})}}const xO=(e,t={},n)=>e?Ju.create().superRefine((r,i)=>{var o,s;if(!e(r)){const a=typeof t=="function"?t(r):typeof t=="string"?{message:t}:t,l=(s=(o=a.fatal)!==null&&o!==void 0?o:n)!==null&&s!==void 0?s:!0,u=typeof a=="string"?{message:a}:a;i.addIssue({code:"custom",...u,fatal:l})}}):Ju.create(),TY={object:Tt.lazycreate};var ye;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline"})(ye||(ye={}));const EY=(e,t={message:`Input not instance of ${e.name}`})=>xO(n=>n instanceof e,t),CO=pi.create,TO=zs.create,PY=xm.create,AY=Us.create,EO=hf.create,kY=Ja.create,RY=bm.create,OY=pf.create,MY=gf.create,IY=Ju.create,NY=ja.create,DY=Vo.create,LY=Sm.create,$Y=Si.create,FY=Tt.create,BY=Tt.strictCreate,jY=mf.create,VY=x0.create,zY=yf.create,UY=to.create,GY=vf.create,HY=_m.create,qY=el.create,WY=Ru.create,KY=bf.create,XY=Sf.create,YY=Gs.create,QY=_f.create,ZY=ec.create,K4=Ti.create,JY=Ro.create,eQ=tl.create,tQ=Ti.createWithPreprocess,nQ=mh.create,rQ=()=>CO().optional(),iQ=()=>TO().optional(),oQ=()=>EO().optional(),sQ={string:e=>pi.create({...e,coerce:!0}),number:e=>zs.create({...e,coerce:!0}),boolean:e=>hf.create({...e,coerce:!0}),bigint:e=>Us.create({...e,coerce:!0}),date:e=>Ja.create({...e,coerce:!0})},aQ=be;var _t=Object.freeze({__proto__:null,defaultErrorMap:ff,setErrorMap:dY,getErrorMap:gm,makeIssue:mm,EMPTY_PATH:fY,addIssueToContext:oe,ParseStatus:jn,INVALID:be,DIRTY:SO,OK:tr,isAborted:D_,isDirty:L_,isValid:ym,isAsync:vm,get util(){return Ve},get objectUtil(){return N_},ZodParsedType:re,getParsedType:ms,ZodType:Ce,ZodString:pi,ZodNumber:zs,ZodBigInt:Us,ZodBoolean:hf,ZodDate:Ja,ZodSymbol:bm,ZodUndefined:pf,ZodNull:gf,ZodAny:Ju,ZodUnknown:ja,ZodNever:Vo,ZodVoid:Sm,ZodArray:Si,ZodObject:Tt,ZodUnion:mf,ZodDiscriminatedUnion:x0,ZodIntersection:yf,ZodTuple:to,ZodRecord:vf,ZodMap:_m,ZodSet:el,ZodFunction:Ru,ZodLazy:bf,ZodLiteral:Sf,ZodEnum:Gs,ZodNativeEnum:_f,ZodPromise:ec,ZodEffects:Ti,ZodTransformer:Ti,ZodOptional:Ro,ZodNullable:tl,ZodDefault:wf,ZodCatch:wm,ZodNaN:xm,BRAND:CY,ZodBranded:wO,ZodPipeline:mh,custom:xO,Schema:Ce,ZodSchema:Ce,late:TY,get ZodFirstPartyTypeKind(){return ye},coerce:sQ,any:IY,array:$Y,bigint:AY,boolean:EO,date:kY,discriminatedUnion:VY,effect:K4,enum:YY,function:WY,instanceof:EY,intersection:zY,lazy:KY,literal:XY,map:HY,nan:PY,nativeEnum:QY,never:DY,null:MY,nullable:eQ,number:TO,object:FY,oboolean:oQ,onumber:iQ,optional:JY,ostring:rQ,pipeline:nQ,preprocess:tQ,promise:ZY,record:GY,set:qY,strictObject:BY,string:CO,symbol:RY,transformer:K4,tuple:UY,undefined:OY,union:jY,unknown:NY,void:LY,NEVER:aQ,ZodIssueCode:ee,quotelessJson:cY,ZodError:bi});const lQ=_t.string(),Twe=e=>lQ.safeParse(e).success,uQ=_t.string(),Ewe=e=>uQ.safeParse(e).success,cQ=_t.string(),Pwe=e=>cQ.safeParse(e).success,dQ=_t.string(),Awe=e=>dQ.safeParse(e).success,fQ=_t.number().int().min(1),kwe=e=>fQ.safeParse(e).success,hQ=_t.number().min(1),Rwe=e=>hQ.safeParse(e).success,pQ=_t.enum(["euler","deis","ddim","ddpm","dpmpp_2s","dpmpp_2m","dpmpp_2m_sde","dpmpp_sde","heun","kdpm_2","lms","pndm","unipc","euler_k","dpmpp_2s_k","dpmpp_2m_k","dpmpp_2m_sde_k","dpmpp_sde_k","heun_k","lms_k","euler_a","kdpm_2_a"]),Owe=e=>pQ.safeParse(e).success,Mwe={euler:"Euler",deis:"DEIS",ddim:"DDIM",ddpm:"DDPM",dpmpp_sde:"DPM++ SDE",dpmpp_2s:"DPM++ 2S",dpmpp_2m:"DPM++ 2M",dpmpp_2m_sde:"DPM++ 2M SDE",heun:"Heun",kdpm_2:"KDPM 2",lms:"LMS",pndm:"PNDM",unipc:"UniPC",euler_k:"Euler Karras",dpmpp_sde_k:"DPM++ SDE Karras",dpmpp_2s_k:"DPM++ 2S Karras",dpmpp_2m_k:"DPM++ 2M Karras",dpmpp_2m_sde_k:"DPM++ 2M SDE Karras",heun_k:"Heun Karras",lms_k:"LMS Karras",euler_a:"Euler Ancestral",kdpm_2_a:"KDPM 2 Ancestral"},gQ=_t.number().int().min(0).max(uY),Iwe=e=>gQ.safeParse(e).success,mQ=_t.number().multipleOf(8).min(64),Nwe=e=>mQ.safeParse(e).success,yQ=_t.number().multipleOf(8).min(64),Dwe=e=>yQ.safeParse(e).success,vQ=_t.enum(["vae","lora","onnx","main","controlnet","embedding"]),C0=_t.enum(["sd-1","sd-2","sdxl","sdxl-refiner"]),xf=_t.object({model_name:_t.string().min(1),base_model:C0,model_type:vQ}),Lwe=e=>xf.safeParse(e).success,bQ=_t.object({model_name:_t.string().min(1),base_model:C0}),$we=_t.object({model_name:_t.string().min(1),base_model:C0}),Fwe=_t.object({model_name:_t.string().min(1),base_model:C0}),SQ=_t.number().min(0).max(1),Bwe=e=>SQ.safeParse(e).success;_t.enum(["fp16","fp32"]);const _Q=_t.number().min(1).max(10),jwe=e=>_Q.safeParse(e).success,wQ=_t.number().min(0).max(1),Vwe=e=>wQ.safeParse(e).success,Wo={cfgScale:7.5,height:512,img2imgStrength:.75,infillMethod:"patchmatch",iterations:1,perlin:0,positivePrompt:"",negativePrompt:"",scheduler:"euler",seamBlur:16,seamSize:96,seamSteps:30,seamStrength:.7,seed:0,seedWeights:"",shouldFitToWidthHeight:!0,shouldGenerateVariations:!1,shouldRandomizeSeed:!0,shouldUseNoiseSettings:!1,steps:50,threshold:0,tileSize:32,variationAmount:.1,width:512,shouldUseSymmetry:!1,horizontalSymmetrySteps:0,verticalSymmetrySteps:0,model:null,vae:null,vaePrecision:"fp32",seamlessXAxis:!1,seamlessYAxis:!1,clipSkip:0,shouldUseCpuNoise:!0,shouldShowAdvancedOptions:!1,aspectRatio:null},xQ=Wo,PO=Pt({name:"generation",initialState:xQ,reducers:{setPositivePrompt:(e,t)=>{e.positivePrompt=t.payload},setNegativePrompt:(e,t)=>{e.negativePrompt=t.payload},setIterations:(e,t)=>{e.iterations=t.payload},setSteps:(e,t)=>{e.steps=t.payload},clampSymmetrySteps:e=>{e.horizontalSymmetrySteps=Ss(e.horizontalSymmetrySteps,0,e.steps),e.verticalSymmetrySteps=Ss(e.verticalSymmetrySteps,0,e.steps)},setCfgScale:(e,t)=>{e.cfgScale=t.payload},setThreshold:(e,t)=>{e.threshold=t.payload},setPerlin:(e,t)=>{e.perlin=t.payload},setHeight:(e,t)=>{e.height=t.payload},setWidth:(e,t)=>{e.width=t.payload},toggleSize:e=>{const[t,n]=[e.width,e.height];e.width=n,e.height=t},setScheduler:(e,t)=>{e.scheduler=t.payload},setSeed:(e,t)=>{e.seed=t.payload,e.shouldRandomizeSeed=!1},setImg2imgStrength:(e,t)=>{e.img2imgStrength=t.payload},setSeamlessXAxis:(e,t)=>{e.seamlessXAxis=t.payload},setSeamlessYAxis:(e,t)=>{e.seamlessYAxis=t.payload},setShouldFitToWidthHeight:(e,t)=>{e.shouldFitToWidthHeight=t.payload},resetSeed:e=>{e.seed=-1},setShouldGenerateVariations:(e,t)=>{e.shouldGenerateVariations=t.payload},setVariationAmount:(e,t)=>{e.variationAmount=t.payload},setSeedWeights:(e,t)=>{e.seedWeights=t.payload,e.shouldGenerateVariations=!0,e.variationAmount=0},resetParametersState:e=>({...e,...Wo}),setShouldRandomizeSeed:(e,t)=>{e.shouldRandomizeSeed=t.payload},clearInitialImage:e=>{e.initialImage=void 0},setSeamSize:(e,t)=>{e.seamSize=t.payload},setSeamBlur:(e,t)=>{e.seamBlur=t.payload},setSeamStrength:(e,t)=>{e.seamStrength=t.payload},setSeamSteps:(e,t)=>{e.seamSteps=t.payload},setTileSize:(e,t)=>{e.tileSize=t.payload},setInfillMethod:(e,t)=>{e.infillMethod=t.payload},setShouldUseSymmetry:(e,t)=>{e.shouldUseSymmetry=t.payload},setHorizontalSymmetrySteps:(e,t)=>{e.horizontalSymmetrySteps=t.payload},setVerticalSymmetrySteps:(e,t)=>{e.verticalSymmetrySteps=t.payload},setShouldUseNoiseSettings:(e,t)=>{e.shouldUseNoiseSettings=t.payload},initialImageChanged:(e,t)=>{const{image_name:n,width:r,height:i}=t.payload;e.initialImage={imageName:n,width:r,height:i}},modelChanged:(e,t)=>{if(e.model=t.payload,e.model===null)return;const{maxClip:n}=lY[e.model.base_model];e.clipSkip=Ss(e.clipSkip,0,n)},vaeSelected:(e,t)=>{e.vae=t.payload},vaePrecisionChanged:(e,t)=>{e.vaePrecision=t.payload},setClipSkip:(e,t)=>{e.clipSkip=t.payload},shouldUseCpuNoiseChanged:(e,t)=>{e.shouldUseCpuNoise=t.payload},setShouldShowAdvancedOptions:(e,t)=>{e.shouldShowAdvancedOptions=t.payload,t.payload||(e.clipSkip=0)},setAspectRatio:(e,t)=>{const n=t.payload;e.aspectRatio=n,n&&(e.height=Ui(e.width/n,8))}},extraReducers:e=>{e.addCase(sY,(t,n)=>{var i;const r=(i=n.payload.sd)==null?void 0:i.defaultModel;if(r&&!t.model){const[o,s,a]=r.split("/"),l=xf.safeParse({model_name:a,base_model:o,model_type:s});l.success&&(t.model=l.data)}}),e.addCase(TQ,(t,n)=>{n.payload||(t.clipSkip=0)})}}),{clampSymmetrySteps:zwe,clearInitialImage:AO,resetParametersState:Uwe,resetSeed:Gwe,setCfgScale:Hwe,setWidth:qwe,setHeight:Wwe,toggleSize:Kwe,setImg2imgStrength:Xwe,setInfillMethod:CQ,setIterations:Ywe,setPerlin:Qwe,setPositivePrompt:Zwe,setNegativePrompt:Jwe,setScheduler:exe,setSeamBlur:txe,setSeamSize:nxe,setSeamSteps:rxe,setSeamStrength:ixe,setSeed:oxe,setSeedWeights:sxe,setShouldFitToWidthHeight:axe,setShouldGenerateVariations:lxe,setShouldRandomizeSeed:uxe,setSteps:cxe,setThreshold:dxe,setTileSize:fxe,setVariationAmount:hxe,setShouldUseSymmetry:pxe,setHorizontalSymmetrySteps:gxe,setVerticalSymmetrySteps:mxe,initialImageChanged:T0,modelChanged:Va,vaeSelected:kO,setShouldUseNoiseSettings:yxe,setSeamlessXAxis:vxe,setSeamlessYAxis:bxe,setClipSkip:Sxe,shouldUseCpuNoiseChanged:_xe,setShouldShowAdvancedOptions:TQ,setAspectRatio:EQ,vaePrecisionChanged:wxe}=PO.actions,PQ=PO.reducer,RO=["txt2img","img2img","unifiedCanvas","nodes","modelManager","batch"],X4=(e,t)=>{typeof t=="number"?e.activeTab=t:e.activeTab=RO.indexOf(t)},OO={activeTab:0,shouldPinParametersPanel:!0,shouldShowParametersPanel:!0,shouldShowImageDetails:!1,shouldUseCanvasBetaLayout:!1,shouldShowExistingModelsInSearch:!1,shouldUseSliders:!1,shouldPinGallery:!0,shouldShowGallery:!0,shouldHidePreview:!1,shouldShowProgressInViewer:!0,shouldShowEmbeddingPicker:!1,favoriteSchedulers:[]},MO=Pt({name:"ui",initialState:OO,reducers:{setActiveTab:(e,t)=>{X4(e,t.payload)},setShouldPinParametersPanel:(e,t)=>{e.shouldPinParametersPanel=t.payload,e.shouldShowParametersPanel=!0},setShouldShowParametersPanel:(e,t)=>{e.shouldShowParametersPanel=t.payload},setShouldShowImageDetails:(e,t)=>{e.shouldShowImageDetails=t.payload},setShouldUseCanvasBetaLayout:(e,t)=>{e.shouldUseCanvasBetaLayout=t.payload},setShouldHidePreview:(e,t)=>{e.shouldHidePreview=t.payload},setShouldShowExistingModelsInSearch:(e,t)=>{e.shouldShowExistingModelsInSearch=t.payload},setShouldUseSliders:(e,t)=>{e.shouldUseSliders=t.payload},setShouldShowGallery:(e,t)=>{e.shouldShowGallery=t.payload},togglePinGalleryPanel:e=>{e.shouldPinGallery=!e.shouldPinGallery,e.shouldPinGallery||(e.shouldShowGallery=!0)},togglePinParametersPanel:e=>{e.shouldPinParametersPanel=!e.shouldPinParametersPanel,e.shouldPinParametersPanel||(e.shouldShowParametersPanel=!0)},toggleParametersPanel:e=>{e.shouldShowParametersPanel=!e.shouldShowParametersPanel},toggleGalleryPanel:e=>{e.shouldShowGallery=!e.shouldShowGallery},togglePanels:e=>{e.shouldShowGallery||e.shouldShowParametersPanel?(e.shouldShowGallery=!1,e.shouldShowParametersPanel=!1):(e.shouldShowGallery=!0,e.shouldShowParametersPanel=!0)},setShouldShowProgressInViewer:(e,t)=>{e.shouldShowProgressInViewer=t.payload},favoriteSchedulersChanged:(e,t)=>{e.favoriteSchedulers=t.payload},toggleEmbeddingPicker:e=>{e.shouldShowEmbeddingPicker=!e.shouldShowEmbeddingPicker}},extraReducers(e){e.addCase(T0,t=>{X4(t,"img2img")})}}),{setActiveTab:IO,setShouldPinParametersPanel:xxe,setShouldShowParametersPanel:Cxe,setShouldShowImageDetails:Txe,setShouldUseCanvasBetaLayout:AQ,setShouldShowExistingModelsInSearch:Exe,setShouldUseSliders:Pxe,setShouldHidePreview:Axe,setShouldShowGallery:kxe,togglePanels:Rxe,togglePinGalleryPanel:Oxe,togglePinParametersPanel:Mxe,toggleParametersPanel:Ixe,toggleGalleryPanel:Nxe,setShouldShowProgressInViewer:Dxe,favoriteSchedulersChanged:Lxe,toggleEmbeddingPicker:$xe}=MO.actions,kQ=MO.reducer;let Wn=[],E0=(e,t)=>{let n=[],r={get(){return r.lc||r.listen(()=>{})(),r.value},l:t||0,lc:0,listen(i,o){return r.lc=n.push(i,o||r.l)/2,()=>{let s=n.indexOf(i);~s&&(n.splice(s,2),r.lc--,r.lc||r.off())}},notify(i){let o=!Wn.length;for(let s=0;s(e.events=e.events||{},e.events[n+mp]||(e.events[n+mp]=r(i=>{e.events[n].reduceRight((o,s)=>(s(o),o),{shared:{},...i})})),e.events[n]=e.events[n]||[],e.events[n].push(t),()=>{let i=e.events[n],o=i.indexOf(t);i.splice(o,1),i.length||(delete e.events[n],e.events[n+mp](),delete e.events[n+mp])}),MQ=1e3,IQ=(e,t)=>OQ(e,r=>{let i=t(r);i&&e.events[gp].push(i)},RQ,r=>{let i=e.listen;e.listen=(...s)=>(!e.lc&&!e.active&&(e.active=!0,r()),i(...s));let o=e.off;return e.events[gp]=[],e.off=()=>{o(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let s of e.events[gp])s();e.events[gp]=[]}},MQ)},()=>{e.listen=i,e.off=o}}),NQ=(e,t)=>{Array.isArray(e)||(e=[e]);let n,r=()=>{let o=e.map(s=>s.get());(n===void 0||o.some((s,a)=>s!==n[a]))&&(n=o,i.set(t(...o)))},i=E0(void 0,Math.max(...e.map(o=>o.l))+1);return IQ(i,()=>{let o=e.map(s=>s.listen(r,i.l));return r(),()=>{for(let s of o)s()}}),i};const DQ={"Content-Type":"application/json"},LQ=/\/*$/;function $Q(e){const t=new URLSearchParams;if(e&&typeof e=="object")for(const[n,r]of Object.entries(e))r!=null&&t.set(n,r);return t.toString()}function FQ(e){return JSON.stringify(e)}function BQ(e,t){let n=`${t.baseUrl?t.baseUrl.replace(LQ,""):""}${e}`;if(t.params.path)for(const[r,i]of Object.entries(t.params.path))n=n.replace(`{${r}}`,encodeURIComponent(String(i)));if(t.params.query){const r=t.querySerializer(t.params.query);r&&(n+=`?${r}`)}return n}function jQ(e={}){const{fetch:t=globalThis.fetch,querySerializer:n,bodySerializer:r,...i}=e,o=new Headers({...DQ,...i.headers??{}});async function s(a,l){const{headers:u,body:c,params:d={},parseAs:f="json",querySerializer:h=n??$Q,bodySerializer:p=r??FQ,...m}=l||{},S=BQ(a,{baseUrl:i.baseUrl,params:d,querySerializer:h}),y=new Headers(o),v=new Headers(u);for(const[w,x]of v.entries())x==null?y.delete(w):y.set(w,x);const g={redirect:"follow",...i,...m,headers:y};c&&(g.body=p(c)),g.body instanceof FormData&&y.delete("Content-Type");const b=await t(S,g);if(b.status===204||b.headers.get("Content-Length")==="0")return b.ok?{data:{},response:b}:{error:{},response:b};if(b.ok){let w=b.body;if(f!=="stream"){const x=b.clone();w=typeof x[f]=="function"?await x[f]():await x.text()}return{data:w,response:b}}let _={};try{_=await b.clone().json()}catch{_=await b.clone().text()}return{error:_,response:b}}return{async get(a,l){return s(a,{...l,method:"GET"})},async put(a,l){return s(a,{...l,method:"PUT"})},async post(a,l){return s(a,{...l,method:"POST"})},async del(a,l){return s(a,{...l,method:"DELETE"})},async options(a,l){return s(a,{...l,method:"OPTIONS"})},async head(a,l){return s(a,{...l,method:"HEAD"})},async patch(a,l){return s(a,{...l,method:"PATCH"})},async trace(a,l){return s(a,{...l,method:"TRACE"})}}}const Cf=E0(),Tf=E0(),P0=NQ([Cf,Tf],(e,t)=>jQ({headers:e?{Authorization:`Bearer ${e}`}:{},baseUrl:`${t??""}`})),Rn=Vs("api/sessionCreated",async(e,{rejectWithValue:t})=>{const{graph:n}=e,{post:r}=P0.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{body:n});return o?t({arg:e,status:s.status,error:o}):i}),VQ=e=>vr(e)&&"status"in e,yh=Vs("api/sessionInvoked",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{put:r}=P0.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{query:{all:!0},path:{session_id:n}}});if(o)return VQ(o)&&o.status===403?t({arg:e,status:s.status,error:o.body.detail}):t({arg:e,status:s.status,error:o})}),hl=Vs("api/sessionCanceled",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{del:r}=P0.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{path:{session_id:n}}});return o?t({arg:e,error:o}):i});Vs("api/listSessions",async(e,{rejectWithValue:t})=>{const{params:n}=e,{get:r}=P0.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{params:n});return o?t({arg:e,error:o}):i});const NO=ei(Rn.rejected,yh.rejected),Il=(e,t,n,r,i,o,s)=>{const a=Math.floor(e/2-(n+i/2)*s),l=Math.floor(t/2-(r+o/2)*s);return{x:a,y:l}},Nl=(e,t,n,r,i=.95)=>{const o=e*i/n,s=t*i/r;return Math.min(1,Math.min(o,s))},Fxe=.999,Bxe=.1,jxe=20,zc=.95,Vxe=30,zxe=10,Y4=e=>({x:Math.floor(e.x),y:Math.floor(e.y)}),ga=e=>{const{width:t,height:n}=e,r={width:t,height:n},i=512*512,o=t/n;let s=t*n,a=448;for(;s1?(r.width=a,r.height=Ui(a/o,64)):o<1&&(r.height=a,r.width=Ui(a*o,64)),s=r.width*r.height;return r},zQ=e=>({width:Ui(e.width,64),height:Ui(e.height,64)}),Uxe=[{label:"Base",value:"base"},{label:"Mask",value:"mask"}],Gxe=[{label:"Auto",value:"auto"},{label:"Manual",value:"manual"},{label:"None",value:"none"}],DO=e=>e.kind==="line"&&e.layer==="mask",Hxe=e=>e.kind==="line"&&e.layer==="base",Q4=e=>e.kind==="image"&&e.layer==="base",qxe=e=>e.kind==="fillRect"&&e.layer==="base",Wxe=e=>e.kind==="eraseRect"&&e.layer==="base",UQ=e=>e.kind==="line",Xl={objects:[],stagingArea:{images:[],selectedImageIndex:-1}},LO={boundingBoxCoordinates:{x:0,y:0},boundingBoxDimensions:{width:512,height:512},boundingBoxPreviewFill:{r:0,g:0,b:0,a:.5},boundingBoxScaleMethod:"auto",brushColor:{r:90,g:90,b:255,a:1},brushSize:50,canvasContainerDimensions:{width:0,height:0},colorPickerColor:{r:90,g:90,b:255,a:1},cursorPosition:null,doesCanvasNeedScaling:!1,futureLayerStates:[],isCanvasInitialized:!1,isDrawing:!1,isMaskEnabled:!0,isMouseOverBoundingBox:!1,isMoveBoundingBoxKeyHeld:!1,isMoveStageKeyHeld:!1,isMovingBoundingBox:!1,isMovingStage:!1,isTransformingBoundingBox:!1,layer:"base",layerState:Xl,maskColor:{r:255,g:90,b:90,a:1},maxHistory:128,minimumStageScale:1,pastLayerStates:[],scaledBoundingBoxDimensions:{width:512,height:512},shouldAntialias:!0,shouldAutoSave:!1,shouldCropToBoundingBoxOnSave:!1,shouldDarkenOutsideBoundingBox:!1,shouldLockBoundingBox:!1,shouldPreserveMaskedArea:!1,shouldRestrictStrokesToBox:!0,shouldShowBoundingBox:!0,shouldShowBrush:!0,shouldShowBrushPreview:!1,shouldShowCanvasDebugInfo:!1,shouldShowCheckboardTransparency:!1,shouldShowGrid:!0,shouldShowIntermediates:!0,shouldShowStagingImage:!0,shouldShowStagingOutline:!0,shouldSnapToGrid:!0,stageCoordinates:{x:0,y:0},stageDimensions:{width:0,height:0},stageScale:1,tool:"brush"},$O=Pt({name:"canvas",initialState:LO,reducers:{setTool:(e,t)=>{const n=t.payload;e.tool=t.payload,n!=="move"&&(e.isTransformingBoundingBox=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1)},setLayer:(e,t)=>{e.layer=t.payload},toggleTool:e=>{const t=e.tool;t!=="move"&&(e.tool=t==="brush"?"eraser":"brush")},setMaskColor:(e,t)=>{e.maskColor=t.payload},setBrushColor:(e,t)=>{e.brushColor=t.payload},setBrushSize:(e,t)=>{e.brushSize=t.payload},clearMask:e=>{e.pastLayerStates.push(Ln(e.layerState)),e.layerState.objects=e.layerState.objects.filter(t=>!DO(t)),e.futureLayerStates=[],e.shouldPreserveMaskedArea=!1},toggleShouldInvertMask:e=>{e.shouldPreserveMaskedArea=!e.shouldPreserveMaskedArea},toggleShouldShowMask:e=>{e.isMaskEnabled=!e.isMaskEnabled},setShouldPreserveMaskedArea:(e,t)=>{e.shouldPreserveMaskedArea=t.payload},setIsMaskEnabled:(e,t)=>{e.isMaskEnabled=t.payload,e.layer=t.payload?"mask":"base"},setShouldShowCheckboardTransparency:(e,t)=>{e.shouldShowCheckboardTransparency=t.payload},setShouldShowBrushPreview:(e,t)=>{e.shouldShowBrushPreview=t.payload},setShouldShowBrush:(e,t)=>{e.shouldShowBrush=t.payload},setCursorPosition:(e,t)=>{e.cursorPosition=t.payload},setInitialCanvasImage:(e,t)=>{const n=t.payload,{width:r,height:i}=n,{stageDimensions:o}=e,s={width:hp(Ss(r,64,512),64),height:hp(Ss(i,64,512),64)},a={x:Ui(r/2-s.width/2,64),y:Ui(i/2-s.height/2,64)};if(e.boundingBoxScaleMethod==="auto"){const c=ga(s);e.scaledBoundingBoxDimensions=c}e.boundingBoxDimensions=s,e.boundingBoxCoordinates=a,e.pastLayerStates.push(Ln(e.layerState)),e.layerState={...Xl,objects:[{kind:"image",layer:"base",x:0,y:0,width:r,height:i,imageName:n.image_name}]},e.futureLayerStates=[],e.isCanvasInitialized=!1;const l=Nl(o.width,o.height,r,i,zc),u=Il(o.width,o.height,0,0,r,i,l);e.stageScale=l,e.stageCoordinates=u,e.doesCanvasNeedScaling=!0},setBoundingBoxDimensions:(e,t)=>{const n=zQ(t.payload);if(e.boundingBoxDimensions=n,e.boundingBoxScaleMethod==="auto"){const r=ga(n);e.scaledBoundingBoxDimensions=r}},flipBoundingBoxAxes:e=>{const[t,n]=[e.boundingBoxDimensions.width,e.boundingBoxDimensions.height];e.boundingBoxDimensions={width:n,height:t}},setBoundingBoxCoordinates:(e,t)=>{e.boundingBoxCoordinates=Y4(t.payload)},setStageCoordinates:(e,t)=>{e.stageCoordinates=t.payload},setBoundingBoxPreviewFill:(e,t)=>{e.boundingBoxPreviewFill=t.payload},setDoesCanvasNeedScaling:(e,t)=>{e.doesCanvasNeedScaling=t.payload},setStageScale:(e,t)=>{e.stageScale=t.payload},setShouldDarkenOutsideBoundingBox:(e,t)=>{e.shouldDarkenOutsideBoundingBox=t.payload},setIsDrawing:(e,t)=>{e.isDrawing=t.payload},clearCanvasHistory:e=>{e.pastLayerStates=[],e.futureLayerStates=[]},setShouldLockBoundingBox:(e,t)=>{e.shouldLockBoundingBox=t.payload},toggleShouldLockBoundingBox:e=>{e.shouldLockBoundingBox=!e.shouldLockBoundingBox},setShouldShowBoundingBox:(e,t)=>{e.shouldShowBoundingBox=t.payload},setIsTransformingBoundingBox:(e,t)=>{e.isTransformingBoundingBox=t.payload},setIsMovingBoundingBox:(e,t)=>{e.isMovingBoundingBox=t.payload},setIsMouseOverBoundingBox:(e,t)=>{e.isMouseOverBoundingBox=t.payload},setIsMoveBoundingBoxKeyHeld:(e,t)=>{e.isMoveBoundingBoxKeyHeld=t.payload},setIsMoveStageKeyHeld:(e,t)=>{e.isMoveStageKeyHeld=t.payload},canvasSessionIdChanged:(e,t)=>{e.layerState.stagingArea.sessionId=t.payload},stagingAreaInitialized:(e,t)=>{const{sessionId:n,boundingBox:r}=t.payload;e.layerState.stagingArea={boundingBox:r,sessionId:n,images:[],selectedImageIndex:-1}},addImageToStagingArea:(e,t)=>{const n=t.payload;!n||!e.layerState.stagingArea.boundingBox||(e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea.images.push({kind:"image",layer:"base",...e.layerState.stagingArea.boundingBox,imageName:n.image_name}),e.layerState.stagingArea.selectedImageIndex=e.layerState.stagingArea.images.length-1,e.futureLayerStates=[])},discardStagedImages:e=>{e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea={...Xl.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingOutline=!0},addFillRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,brushColor:r}=e;e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"fillRect",layer:"base",...t,...n,color:r}),e.futureLayerStates=[]},addEraseRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n}=e;e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"eraseRect",layer:"base",...t,...n}),e.futureLayerStates=[]},addLine:(e,t)=>{const{tool:n,layer:r,brushColor:i,brushSize:o,shouldRestrictStrokesToBox:s}=e;if(n==="move"||n==="colorPicker")return;const a=o/2,l=r==="base"&&n==="brush"?{color:i}:{};e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const u={kind:"line",layer:r,tool:n,strokeWidth:a,points:t.payload,...l};s&&(u.clip={...e.boundingBoxCoordinates,...e.boundingBoxDimensions}),e.layerState.objects.push(u),e.futureLayerStates=[]},addPointToCurrentLine:(e,t)=>{const n=e.layerState.objects.findLast(UQ);n&&n.points.push(...t.payload)},undo:e=>{const t=e.pastLayerStates.pop();t&&(e.futureLayerStates.unshift(Ln(e.layerState)),e.futureLayerStates.length>e.maxHistory&&e.futureLayerStates.pop(),e.layerState=t)},redo:e=>{const t=e.futureLayerStates.shift();t&&(e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState=t)},setShouldShowGrid:(e,t)=>{e.shouldShowGrid=t.payload},setIsMovingStage:(e,t)=>{e.isMovingStage=t.payload},setShouldSnapToGrid:(e,t)=>{e.shouldSnapToGrid=t.payload},setShouldAutoSave:(e,t)=>{e.shouldAutoSave=t.payload},setShouldShowIntermediates:(e,t)=>{e.shouldShowIntermediates=t.payload},resetCanvas:e=>{e.pastLayerStates.push(Ln(e.layerState)),e.layerState=Xl,e.futureLayerStates=[]},setCanvasContainerDimensions:(e,t)=>{e.canvasContainerDimensions=t.payload},resizeAndScaleCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r=e.layerState.objects.find(Q4),i={width:Math.floor(t),height:Math.floor(n)};if(!r){const c=Nl(i.width,i.height,512,512,zc),d=Il(i.width,i.height,0,0,512,512,c),f={width:512,height:512};if(e.stageScale=c,e.stageCoordinates=d,e.stageDimensions=i,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=f,e.boundingBoxScaleMethod==="auto"){const h=ga(f);e.scaledBoundingBoxDimensions=h}return}const{width:o,height:s}=r,l=Nl(t,n,o,s,.95),u=Il(i.width,i.height,0,0,o,s,l);e.minimumStageScale=l,e.stageScale=l,e.stageCoordinates=Y4(u),e.stageDimensions=i,e.isCanvasInitialized=!0},resizeCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r={width:Math.floor(t),height:Math.floor(n)};if(e.stageDimensions=r,!e.layerState.objects.find(Q4)){const i=Nl(r.width,r.height,512,512,zc),o=Il(r.width,r.height,0,0,512,512,i),s={width:512,height:512};if(e.stageScale=i,e.stageCoordinates=o,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=s,e.boundingBoxScaleMethod==="auto"){const a=ga(s);e.scaledBoundingBoxDimensions=a}}},resetCanvasView:(e,t)=>{const{contentRect:n,shouldScaleTo1:r}=t.payload,{stageDimensions:{width:i,height:o}}=e,{x:s,y:a,width:l,height:u}=n;if(l!==0&&u!==0){const c=r?1:Nl(i,o,l,u,zc),d=Il(i,o,s,a,l,u,c);e.stageScale=c,e.stageCoordinates=d}else{const c=Nl(i,o,512,512,zc),d=Il(i,o,0,0,512,512,c),f={width:512,height:512};if(e.stageScale=c,e.stageCoordinates=d,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=f,e.boundingBoxScaleMethod==="auto"){const h=ga(f);e.scaledBoundingBoxDimensions=h}}},nextStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex,n=e.layerState.stagingArea.images.length;e.layerState.stagingArea.selectedImageIndex=Math.min(t+1,n-1)},prevStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex;e.layerState.stagingArea.selectedImageIndex=Math.max(t-1,0)},commitStagingAreaImage:(e,t)=>{if(!e.layerState.stagingArea.images.length)return;const{images:n,selectedImageIndex:r}=e.layerState.stagingArea;e.pastLayerStates.push(Ln(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({...n[r]}),e.layerState.stagingArea={...Xl.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingImage=!0},fitBoundingBoxToStage:e=>{const{boundingBoxDimensions:t,boundingBoxCoordinates:n,stageDimensions:r,stageScale:i}=e,o=r.width/i,s=r.height/i;if(n.x<0||n.x+t.width>o||n.y<0||n.y+t.height>s){const a={width:hp(Ss(o,64,512),64),height:hp(Ss(s,64,512),64)},l={x:Ui(o/2-a.width/2,64),y:Ui(s/2-a.height/2,64)};if(e.boundingBoxDimensions=a,e.boundingBoxCoordinates=l,e.boundingBoxScaleMethod==="auto"){const u=ga(a);e.scaledBoundingBoxDimensions=u}}},setBoundingBoxScaleMethod:(e,t)=>{if(e.boundingBoxScaleMethod=t.payload,t.payload==="auto"){const n=ga(e.boundingBoxDimensions);e.scaledBoundingBoxDimensions=n}},setScaledBoundingBoxDimensions:(e,t)=>{e.scaledBoundingBoxDimensions=t.payload},setShouldShowStagingImage:(e,t)=>{e.shouldShowStagingImage=t.payload},setShouldShowStagingOutline:(e,t)=>{e.shouldShowStagingOutline=t.payload},setShouldShowCanvasDebugInfo:(e,t)=>{e.shouldShowCanvasDebugInfo=t.payload},setShouldRestrictStrokesToBox:(e,t)=>{e.shouldRestrictStrokesToBox=t.payload},setShouldAntialias:(e,t)=>{e.shouldAntialias=t.payload},setShouldCropToBoundingBoxOnSave:(e,t)=>{e.shouldCropToBoundingBoxOnSave=t.payload},setColorPickerColor:(e,t)=>{e.colorPickerColor=t.payload},commitColorPickerColor:e=>{e.brushColor={...e.colorPickerColor,a:e.brushColor.a},e.tool="brush"},setMergedCanvas:(e,t)=>{e.pastLayerStates.push(Ln(e.layerState)),e.futureLayerStates=[],e.layerState.objects=[t.payload]},resetCanvasInteractionState:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMoveBoundingBoxKeyHeld=!1,e.isMoveStageKeyHeld=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1,e.isTransformingBoundingBox=!1},mouseLeftCanvas:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isTransformingBoundingBox=!1}},extraReducers:e=>{e.addCase(hl.pending,t=>{t.layerState.stagingArea.images.length||(t.layerState.stagingArea=Xl.stagingArea)}),e.addCase(AQ,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(IO,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(EQ,(t,n)=>{const r=n.payload;r&&(t.boundingBoxDimensions.height=Ui(t.boundingBoxDimensions.width/r,64))})}}),{addEraseRect:Kxe,addFillRect:Xxe,addImageToStagingArea:GQ,addLine:Yxe,addPointToCurrentLine:Qxe,clearCanvasHistory:Zxe,clearMask:Jxe,commitColorPickerColor:eCe,commitStagingAreaImage:HQ,discardStagedImages:tCe,fitBoundingBoxToStage:nCe,mouseLeftCanvas:rCe,nextStagingAreaImage:iCe,prevStagingAreaImage:oCe,redo:sCe,resetCanvas:FO,resetCanvasInteractionState:aCe,resetCanvasView:lCe,resizeAndScaleCanvas:uCe,resizeCanvas:cCe,setBoundingBoxCoordinates:dCe,setBoundingBoxDimensions:fCe,setBoundingBoxPreviewFill:hCe,setBoundingBoxScaleMethod:pCe,flipBoundingBoxAxes:gCe,setBrushColor:mCe,setBrushSize:yCe,setCanvasContainerDimensions:vCe,setColorPickerColor:bCe,setCursorPosition:SCe,setDoesCanvasNeedScaling:_Ce,setInitialCanvasImage:BO,setIsDrawing:wCe,setIsMaskEnabled:xCe,setIsMouseOverBoundingBox:CCe,setIsMoveBoundingBoxKeyHeld:TCe,setIsMoveStageKeyHeld:ECe,setIsMovingBoundingBox:PCe,setIsMovingStage:ACe,setIsTransformingBoundingBox:kCe,setLayer:RCe,setMaskColor:OCe,setMergedCanvas:qQ,setShouldAutoSave:MCe,setShouldCropToBoundingBoxOnSave:ICe,setShouldDarkenOutsideBoundingBox:NCe,setShouldLockBoundingBox:DCe,setShouldPreserveMaskedArea:LCe,setShouldShowBoundingBox:$Ce,setShouldShowBrush:FCe,setShouldShowBrushPreview:BCe,setShouldShowCanvasDebugInfo:jCe,setShouldShowCheckboardTransparency:VCe,setShouldShowGrid:zCe,setShouldShowIntermediates:UCe,setShouldShowStagingImage:GCe,setShouldShowStagingOutline:HCe,setShouldSnapToGrid:qCe,setStageCoordinates:WCe,setStageScale:KCe,setTool:XCe,toggleShouldLockBoundingBox:YCe,toggleTool:QCe,undo:ZCe,setScaledBoundingBoxDimensions:JCe,setShouldRestrictStrokesToBox:e3e,stagingAreaInitialized:WQ,canvasSessionIdChanged:KQ,setShouldAntialias:t3e}=$O.actions,XQ=$O.reducer,YQ=(e,t)=>{const n=new Date(e),r=new Date(t);return n>r?1:ne==null,rZ=e=>encodeURIComponent(e).replace(/[!'()*]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),B_=Symbol("encodeFragmentIdentifier");function iZ(e){switch(e.arrayFormat){case"index":return t=>(n,r)=>{const i=n.length;return r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Ht(t,e),"[",i,"]"].join("")]:[...n,[Ht(t,e),"[",Ht(i,e),"]=",Ht(r,e)].join("")]};case"bracket":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Ht(t,e),"[]"].join("")]:[...n,[Ht(t,e),"[]=",Ht(r,e)].join("")];case"colon-list-separator":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Ht(t,e),":list="].join("")]:[...n,[Ht(t,e),":list=",Ht(r,e)].join("")];case"comma":case"separator":case"bracket-separator":{const t=e.arrayFormat==="bracket-separator"?"[]=":"=";return n=>(r,i)=>i===void 0||e.skipNull&&i===null||e.skipEmptyString&&i===""?r:(i=i===null?"":i,r.length===0?[[Ht(n,e),t,Ht(i,e)].join("")]:[[r,Ht(i,e)].join(e.arrayFormatSeparator)])}default:return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,Ht(t,e)]:[...n,[Ht(t,e),"=",Ht(r,e)].join("")]}}function oZ(e){let t;switch(e.arrayFormat){case"index":return(n,r,i)=>{if(t=/\[(\d*)]$/.exec(n),n=n.replace(/\[\d*]$/,""),!t){i[n]=r;return}i[n]===void 0&&(i[n]={}),i[n][t[1]]=r};case"bracket":return(n,r,i)=>{if(t=/(\[])$/.exec(n),n=n.replace(/\[]$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"colon-list-separator":return(n,r,i)=>{if(t=/(:list)$/.exec(n),n=n.replace(/:list$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"comma":case"separator":return(n,r,i)=>{const o=typeof r=="string"&&r.includes(e.arrayFormatSeparator),s=typeof r=="string"&&!o&&wo(r,e).includes(e.arrayFormatSeparator);r=s?wo(r,e):r;const a=o||s?r.split(e.arrayFormatSeparator).map(l=>wo(l,e)):r===null?r:wo(r,e);i[n]=a};case"bracket-separator":return(n,r,i)=>{const o=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!o){i[n]=r&&wo(r,e);return}const s=r===null?[]:r.split(e.arrayFormatSeparator).map(a=>wo(a,e));if(i[n]===void 0){i[n]=s;return}i[n]=[...i[n],...s]};default:return(n,r,i)=>{if(i[n]===void 0){i[n]=r;return}i[n]=[...[i[n]].flat(),r]}}}function zO(e){if(typeof e!="string"||e.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function Ht(e,t){return t.encode?t.strict?rZ(e):encodeURIComponent(e):e}function wo(e,t){return t.decode?eZ(e):e}function UO(e){return Array.isArray(e)?e.sort():typeof e=="object"?UO(Object.keys(e)).sort((t,n)=>Number(t)-Number(n)).map(t=>e[t]):e}function GO(e){const t=e.indexOf("#");return t!==-1&&(e=e.slice(0,t)),e}function sZ(e){let t="";const n=e.indexOf("#");return n!==-1&&(t=e.slice(n)),t}function eT(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""?e=Number(e):t.parseBooleans&&e!==null&&(e.toLowerCase()==="true"||e.toLowerCase()==="false")&&(e=e.toLowerCase()==="true"),e}function Fx(e){e=GO(e);const t=e.indexOf("?");return t===-1?"":e.slice(t+1)}function Bx(e,t){t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...t},zO(t.arrayFormatSeparator);const n=oZ(t),r=Object.create(null);if(typeof e!="string"||(e=e.trim().replace(/^[?#&]/,""),!e))return r;for(const i of e.split("&")){if(i==="")continue;const o=t.decode?i.replace(/\+/g," "):i;let[s,a]=VO(o,"=");s===void 0&&(s=o),a=a===void 0?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?a:wo(a,t),n(wo(s,t),a,r)}for(const[i,o]of Object.entries(r))if(typeof o=="object"&&o!==null)for(const[s,a]of Object.entries(o))o[s]=eT(a,t);else r[i]=eT(o,t);return t.sort===!1?r:(t.sort===!0?Object.keys(r).sort():Object.keys(r).sort(t.sort)).reduce((i,o)=>{const s=r[o];return s&&typeof s=="object"&&!Array.isArray(s)?i[o]=UO(s):i[o]=s,i},Object.create(null))}function HO(e,t){if(!e)return"";t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t},zO(t.arrayFormatSeparator);const n=s=>t.skipNull&&nZ(e[s])||t.skipEmptyString&&e[s]==="",r=iZ(t),i={};for(const[s,a]of Object.entries(e))n(s)||(i[s]=a);const o=Object.keys(i);return t.sort!==!1&&o.sort(t.sort),o.map(s=>{const a=e[s];return a===void 0?"":a===null?Ht(s,t):Array.isArray(a)?a.length===0&&t.arrayFormat==="bracket-separator"?Ht(s,t)+"[]":a.reduce(r(s),[]).join("&"):Ht(s,t)+"="+Ht(a,t)}).filter(s=>s.length>0).join("&")}function qO(e,t){var i;t={decode:!0,...t};let[n,r]=VO(e,"#");return n===void 0&&(n=e),{url:((i=n==null?void 0:n.split("?"))==null?void 0:i[0])??"",query:Bx(Fx(e),t),...t&&t.parseFragmentIdentifier&&r?{fragmentIdentifier:wo(r,t)}:{}}}function WO(e,t){t={encode:!0,strict:!0,[B_]:!0,...t};const n=GO(e.url).split("?")[0]||"",r=Fx(e.url),i={...Bx(r,{sort:!1}),...e.query};let o=HO(i,t);o&&(o=`?${o}`);let s=sZ(e.url);if(e.fragmentIdentifier){const a=new URL(n);a.hash=e.fragmentIdentifier,s=t[B_]?a.hash:`#${e.fragmentIdentifier}`}return`${n}${o}${s}`}function KO(e,t,n){n={parseFragmentIdentifier:!0,[B_]:!1,...n};const{url:r,query:i,fragmentIdentifier:o}=qO(e,n);return WO({url:r,query:tZ(i,t),fragmentIdentifier:o},n)}function aZ(e,t,n){const r=Array.isArray(t)?i=>!t.includes(i):(i,o)=>!t(i,o);return KO(e,r,n)}const fg=Object.freeze(Object.defineProperty({__proto__:null,exclude:aZ,extract:Fx,parse:Bx,parseUrl:qO,pick:KO,stringify:HO,stringifyUrl:WO},Symbol.toStringTag,{value:"Module"}));var Cm=globalThis&&globalThis.__generator||function(e,t){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(u){return function(c){return l([u,c])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(o=u[0]&2?i.return:u[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,u[1])).done)return o;switch(i=0,o&&(u=[u[0]&2,o.value]),u[0]){case 0:case 1:o=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,i=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]"u"||navigator.onLine===void 0?!0:navigator.onLine}function yZ(){return typeof document>"u"?!0:document.visibilityState!=="hidden"}var iT=xi;function QO(e,t){if(e===t||!(iT(e)&&iT(t)||Array.isArray(e)&&Array.isArray(t)))return t;for(var n=Object.keys(t),r=Object.keys(e),i=n.length===r.length,o=Array.isArray(t)?[]:{},s=0,a=n;s=200&&e.status<=299},bZ=function(e){return/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"")};function sT(e){if(!xi(e))return e;for(var t=$t({},e),n=0,r=Object.entries(t);n"u"&&a===oT&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(g,b){return Pm(t,null,function(){var _,w,x,T,P,E,A,$,I,C,R,M,N,O,D,L,j,U,G,W,X,Y,B,H,Q,J,ne,te,xe,ve,ce,De,se,pt,yn,Mt;return Cm(this,function(ut){switch(ut.label){case 0:return _=b.signal,w=b.getState,x=b.extra,T=b.endpoint,P=b.forced,E=b.type,$=typeof g=="string"?{url:g}:g,I=$.url,C=$.headers,R=C===void 0?new Headers(y.headers):C,M=$.params,N=M===void 0?void 0:M,O=$.responseHandler,D=O===void 0?m??"json":O,L=$.validateStatus,j=L===void 0?S??vZ:L,U=$.timeout,G=U===void 0?p:U,W=nT($,["url","headers","params","responseHandler","validateStatus","timeout"]),X=$t(Hi($t({},y),{signal:_}),W),R=new Headers(sT(R)),Y=X,[4,o(R,{getState:w,extra:x,endpoint:T,forced:P,type:E})];case 1:Y.headers=ut.sent()||R,B=function(tt){return typeof tt=="object"&&(xi(tt)||Array.isArray(tt)||typeof tt.toJSON=="function")},!X.headers.has("content-type")&&B(X.body)&&X.headers.set("content-type",f),B(X.body)&&c(X.headers)&&(X.body=JSON.stringify(X.body,h)),N&&(H=~I.indexOf("?")?"&":"?",Q=l?l(N):new URLSearchParams(sT(N)),I+=H+Q),I=gZ(r,I),J=new Request(I,X),ne=J.clone(),A={request:ne},xe=!1,ve=G&&setTimeout(function(){xe=!0,b.abort()},G),ut.label=2;case 2:return ut.trys.push([2,4,5,6]),[4,a(J)];case 3:return te=ut.sent(),[3,6];case 4:return ce=ut.sent(),[2,{error:{status:xe?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(ce)},meta:A}];case 5:return ve&&clearTimeout(ve),[7];case 6:De=te.clone(),A.response=De,pt="",ut.label=7;case 7:return ut.trys.push([7,9,,10]),[4,Promise.all([v(te,D).then(function(tt){return se=tt},function(tt){return yn=tt}),De.text().then(function(tt){return pt=tt},function(){})])];case 8:if(ut.sent(),yn)throw yn;return[3,10];case 9:return Mt=ut.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:te.status,data:pt,error:String(Mt)},meta:A}];case 10:return[2,j(te,se)?{data:se,meta:A}:{error:{status:te.status,data:se},meta:A}]}})})};function v(g,b){return Pm(this,null,function(){var _;return Cm(this,function(w){switch(w.label){case 0:return typeof b=="function"?[2,b(g)]:(b==="content-type"&&(b=c(g.headers)?"json":"text"),b!=="json"?[3,2]:[4,g.text()]);case 1:return _=w.sent(),[2,_.length?JSON.parse(_):null];case 2:return[2,g.text()]}})})}}var aT=function(){function e(t,n){n===void 0&&(n=void 0),this.value=t,this.meta=n}return e}(),jx=ue("__rtkq/focused"),ZO=ue("__rtkq/unfocused"),Vx=ue("__rtkq/online"),JO=ue("__rtkq/offline"),no;(function(e){e.query="query",e.mutation="mutation"})(no||(no={}));function e7(e){return e.type===no.query}function _Z(e){return e.type===no.mutation}function t7(e,t,n,r,i,o){return wZ(e)?e(t,n,r,i).map(j_).map(o):Array.isArray(e)?e.map(j_).map(o):[]}function wZ(e){return typeof e=="function"}function j_(e){return typeof e=="string"?{type:e}:e}function bb(e){return e!=null}var Ef=Symbol("forceQueryFn"),V_=function(e){return typeof e[Ef]=="function"};function xZ(e){var t=e.serializeQueryArgs,n=e.queryThunk,r=e.mutationThunk,i=e.api,o=e.context,s=new Map,a=new Map,l=i.internalActions,u=l.unsubscribeQueryResult,c=l.removeMutationResult,d=l.updateSubscriptionOptions;return{buildInitiateQuery:v,buildInitiateMutation:g,getRunningQueryThunk:p,getRunningMutationThunk:m,getRunningQueriesThunk:S,getRunningMutationsThunk:y,getRunningOperationPromises:h,removalWarning:f};function f(){throw new Error(`This method had to be removed due to a conceptual bug in RTK. - Please see https://github.com/reduxjs/redux-toolkit/pull/2481 for details. - See https://redux-toolkit.js.org/rtk-query/usage/server-side-rendering for new guidance on SSR.`)}function h(){typeof process<"u";var b=function(_){return Array.from(_.values()).flatMap(function(w){return w?Object.values(w):[]})};return Tm(Tm([],b(s)),b(a)).filter(bb)}function p(b,_){return function(w){var x,T=o.endpointDefinitions[b],P=t({queryArgs:_,endpointDefinition:T,endpointName:b});return(x=s.get(w))==null?void 0:x[P]}}function m(b,_){return function(w){var x;return(x=a.get(w))==null?void 0:x[_]}}function S(){return function(b){return Object.values(s.get(b)||{}).filter(bb)}}function y(){return function(b){return Object.values(a.get(b)||{}).filter(bb)}}function v(b,_){var w=function(x,T){var P=T===void 0?{}:T,E=P.subscribe,A=E===void 0?!0:E,$=P.forceRefetch,I=P.subscriptionOptions,C=Ef,R=P[C];return function(M,N){var O,D,L=t({queryArgs:x,endpointDefinition:_,endpointName:b}),j=n((O={type:"query",subscribe:A,forceRefetch:$,subscriptionOptions:I,endpointName:b,originalArgs:x,queryCacheKey:L},O[Ef]=R,O)),U=i.endpoints[b].select(x),G=M(j),W=U(N()),X=G.requestId,Y=G.abort,B=W.requestId!==X,H=(D=s.get(M))==null?void 0:D[L],Q=function(){return U(N())},J=Object.assign(R?G.then(Q):B&&!H?Promise.resolve(W):Promise.all([H,G]).then(Q),{arg:x,requestId:X,subscriptionOptions:I,queryCacheKey:L,abort:Y,unwrap:function(){return Pm(this,null,function(){var te;return Cm(this,function(xe){switch(xe.label){case 0:return[4,J];case 1:if(te=xe.sent(),te.isError)throw te.error;return[2,te.data]}})})},refetch:function(){return M(w(x,{subscribe:!1,forceRefetch:!0}))},unsubscribe:function(){A&&M(u({queryCacheKey:L,requestId:X}))},updateSubscriptionOptions:function(te){J.subscriptionOptions=te,M(d({endpointName:b,requestId:X,queryCacheKey:L,options:te}))}});if(!H&&!B&&!R){var ne=s.get(M)||{};ne[L]=J,s.set(M,ne),J.then(function(){delete ne[L],Object.keys(ne).length||s.delete(M)})}return J}};return w}function g(b){return function(_,w){var x=w===void 0?{}:w,T=x.track,P=T===void 0?!0:T,E=x.fixedCacheKey;return function(A,$){var I=r({type:"mutation",endpointName:b,originalArgs:_,track:P,fixedCacheKey:E}),C=A(I),R=C.requestId,M=C.abort,N=C.unwrap,O=C.unwrap().then(function(U){return{data:U}}).catch(function(U){return{error:U}}),D=function(){A(c({requestId:R,fixedCacheKey:E}))},L=Object.assign(O,{arg:C.arg,requestId:R,abort:M,unwrap:N,unsubscribe:D,reset:D}),j=a.get(A)||{};return a.set(A,j),j[R]=L,L.then(function(){delete j[R],Object.keys(j).length||a.delete(A)}),E&&(j[E]=L,L.then(function(){j[E]===L&&(delete j[E],Object.keys(j).length||a.delete(A))})),L}}}}function lT(e){return e}function CZ(e){var t=this,n=e.reducerPath,r=e.baseQuery,i=e.context.endpointDefinitions,o=e.serializeQueryArgs,s=e.api,a=function(g,b,_){return function(w){var x=i[g];w(s.internalActions.queryResultPatched({queryCacheKey:o({queryArgs:b,endpointDefinition:x,endpointName:g}),patches:_}))}},l=function(g,b,_){return function(w,x){var T,P,E=s.endpoints[g].select(b)(x()),A={patches:[],inversePatches:[],undo:function(){return w(s.util.patchQueryData(g,b,A.inversePatches))}};if(E.status===yt.uninitialized)return A;if("data"in E)if(yr(E.data)){var $=mx(E.data,_),I=$[1],C=$[2];(T=A.patches).push.apply(T,I),(P=A.inversePatches).push.apply(P,C)}else{var R=_(E.data);A.patches.push({op:"replace",path:[],value:R}),A.inversePatches.push({op:"replace",path:[],value:E.data})}return w(s.util.patchQueryData(g,b,A.patches)),A}},u=function(g,b,_){return function(w){var x;return w(s.endpoints[g].initiate(b,(x={subscribe:!1,forceRefetch:!0},x[Ef]=function(){return{data:_}},x)))}},c=function(g,b){return Pm(t,[g,b],function(_,w){var x,T,P,E,A,$,I,C,R,M,N,O,D,L,j,U,G,W,X=w.signal,Y=w.abort,B=w.rejectWithValue,H=w.fulfillWithValue,Q=w.dispatch,J=w.getState,ne=w.extra;return Cm(this,function(te){switch(te.label){case 0:x=i[_.endpointName],te.label=1;case 1:return te.trys.push([1,8,,13]),T=lT,P=void 0,E={signal:X,abort:Y,dispatch:Q,getState:J,extra:ne,endpoint:_.endpointName,type:_.type,forced:_.type==="query"?d(_,J()):void 0},A=_.type==="query"?_[Ef]:void 0,A?(P=A(),[3,6]):[3,2];case 2:return x.query?[4,r(x.query(_.originalArgs),E,x.extraOptions)]:[3,4];case 3:return P=te.sent(),x.transformResponse&&(T=x.transformResponse),[3,6];case 4:return[4,x.queryFn(_.originalArgs,E,x.extraOptions,function(xe){return r(xe,E,x.extraOptions)})];case 5:P=te.sent(),te.label=6;case 6:if(typeof process<"u",P.error)throw new aT(P.error,P.meta);return N=H,[4,T(P.data,P.meta,_.originalArgs)];case 7:return[2,N.apply(void 0,[te.sent(),(G={fulfilledTimeStamp:Date.now(),baseQueryMeta:P.meta},G[Ma]=!0,G)])];case 8:if(O=te.sent(),D=O,!(D instanceof aT))return[3,12];L=lT,x.query&&x.transformErrorResponse&&(L=x.transformErrorResponse),te.label=9;case 9:return te.trys.push([9,11,,12]),j=B,[4,L(D.value,D.meta,_.originalArgs)];case 10:return[2,j.apply(void 0,[te.sent(),(W={baseQueryMeta:D.meta},W[Ma]=!0,W)])];case 11:return U=te.sent(),D=U,[3,12];case 12:throw typeof process<"u",console.error(D),D;case 13:return[2]}})})};function d(g,b){var _,w,x,T,P=(w=(_=b[n])==null?void 0:_.queries)==null?void 0:w[g.queryCacheKey],E=(x=b[n])==null?void 0:x.config.refetchOnMountOrArgChange,A=P==null?void 0:P.fulfilledTimeStamp,$=(T=g.forceRefetch)!=null?T:g.subscribe&&E;return $?$===!0||(Number(new Date)-Number(A))/1e3>=$:!1}var f=Vs(n+"/executeQuery",c,{getPendingMeta:function(){var g;return g={startedTimeStamp:Date.now()},g[Ma]=!0,g},condition:function(g,b){var _=b.getState,w,x,T,P=_(),E=(x=(w=P[n])==null?void 0:w.queries)==null?void 0:x[g.queryCacheKey],A=E==null?void 0:E.fulfilledTimeStamp,$=g.originalArgs,I=E==null?void 0:E.originalArgs,C=i[g.endpointName];return V_(g)?!0:(E==null?void 0:E.status)==="pending"?!1:d(g,P)||e7(C)&&((T=C==null?void 0:C.forceRefetch)!=null&&T.call(C,{currentArg:$,previousArg:I,endpointState:E,state:P}))?!0:!A},dispatchConditionRejection:!0}),h=Vs(n+"/executeMutation",c,{getPendingMeta:function(){var g;return g={startedTimeStamp:Date.now()},g[Ma]=!0,g}}),p=function(g){return"force"in g},m=function(g){return"ifOlderThan"in g},S=function(g,b,_){return function(w,x){var T=p(_)&&_.force,P=m(_)&&_.ifOlderThan,E=function(C){return C===void 0&&(C=!0),s.endpoints[g].initiate(b,{forceRefetch:C})},A=s.endpoints[g].select(b)(x());if(T)w(E());else if(P){var $=A==null?void 0:A.fulfilledTimeStamp;if(!$){w(E());return}var I=(Number(new Date)-Number(new Date($)))/1e3>=P;I&&w(E())}else w(E(!1))}};function y(g){return function(b){var _,w;return((w=(_=b==null?void 0:b.meta)==null?void 0:_.arg)==null?void 0:w.endpointName)===g}}function v(g,b){return{matchPending:Eu(c0(g),y(b)),matchFulfilled:Eu(ta(g),y(b)),matchRejected:Eu(Yu(g),y(b))}}return{queryThunk:f,mutationThunk:h,prefetch:S,updateQueryData:l,upsertQueryData:u,patchQueryData:a,buildMatchThunkActions:v}}function n7(e,t,n,r){return t7(n[e.meta.arg.endpointName][t],ta(e)?e.payload:void 0,uh(e)?e.payload:void 0,e.meta.arg.originalArgs,"baseQueryMeta"in e.meta?e.meta.baseQueryMeta:void 0,r)}function yp(e,t,n){var r=e[t];r&&n(r)}function Pf(e){var t;return(t="arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)!=null?t:e.requestId}function uT(e,t,n){var r=e[Pf(t)];r&&n(r)}var Uc={};function TZ(e){var t=e.reducerPath,n=e.queryThunk,r=e.mutationThunk,i=e.context,o=i.endpointDefinitions,s=i.apiUid,a=i.extractRehydrationInfo,l=i.hasRehydrationInfo,u=e.assertTagType,c=e.config,d=ue(t+"/resetApiState"),f=Pt({name:t+"/queries",initialState:Uc,reducers:{removeQueryResult:{reducer:function(_,w){var x=w.payload.queryCacheKey;delete _[x]},prepare:cg()},queryResultPatched:function(_,w){var x=w.payload,T=x.queryCacheKey,P=x.patches;yp(_,T,function(E){E.data=S_(E.data,P.concat())})}},extraReducers:function(_){_.addCase(n.pending,function(w,x){var T=x.meta,P=x.meta.arg,E,A,$=V_(P);(P.subscribe||$)&&((A=w[E=P.queryCacheKey])!=null||(w[E]={status:yt.uninitialized,endpointName:P.endpointName})),yp(w,P.queryCacheKey,function(I){I.status=yt.pending,I.requestId=$&&I.requestId?I.requestId:T.requestId,P.originalArgs!==void 0&&(I.originalArgs=P.originalArgs),I.startedTimeStamp=T.startedTimeStamp})}).addCase(n.fulfilled,function(w,x){var T=x.meta,P=x.payload;yp(w,T.arg.queryCacheKey,function(E){var A;if(!(E.requestId!==T.requestId&&!V_(T.arg))){var $=o[T.arg.endpointName].merge;if(E.status=yt.fulfilled,$)if(E.data!==void 0){var I=T.fulfilledTimeStamp,C=T.arg,R=T.baseQueryMeta,M=T.requestId,N=Js(E.data,function(O){return $(O,P,{arg:C.originalArgs,baseQueryMeta:R,fulfilledTimeStamp:I,requestId:M})});E.data=N}else E.data=P;else E.data=(A=o[T.arg.endpointName].structuralSharing)==null||A?QO(er(E.data)?ux(E.data):E.data,P):P;delete E.error,E.fulfilledTimeStamp=T.fulfilledTimeStamp}})}).addCase(n.rejected,function(w,x){var T=x.meta,P=T.condition,E=T.arg,A=T.requestId,$=x.error,I=x.payload;yp(w,E.queryCacheKey,function(C){if(!P){if(C.requestId!==A)return;C.status=yt.rejected,C.error=I??$}})}).addMatcher(l,function(w,x){for(var T=a(x).queries,P=0,E=Object.entries(T);P{const r=Tf.get(),i=Cf.get();return SZ({baseUrl:`${r??""}/api/v1`,prepareHeaders:s=>(i&&s.set("Authorization",`Bearer ${i}`),s)})(e,t,n)},Hs=nJ({baseQuery:iJ,reducerPath:"api",tagTypes:rJ,endpoints:()=>({})}),xb=(e,t)=>{if(!e)return!1;const n=z_.selectAll(e);if(n.length>1){const r=new Date(t.created_at),i=new Date(n[n.length-1].created_at);return r>=i}else if([0,1].includes(n.length))return!0;return!1},Gc=e=>gi.includes(e.image_category)?gi:_s,Kn=ea({selectId:e=>e.image_name,sortComparer:(e,t)=>YQ(t.updated_at,e.updated_at)}),z_=Kn.getSelectors(),di=e=>`images/?${fg.stringify(e,{arrayFormat:"none"})}`,he=Hs.injectEndpoints({endpoints:e=>({listImages:e.query({query:t=>({url:di(t),method:"GET"}),providesTags:(t,n,{board_id:r,categories:i})=>[{type:"ImageList",id:di({board_id:r,categories:i})}],serializeQueryArgs:({queryArgs:t})=>{const{board_id:n,categories:r}=t;return di({board_id:n,categories:r})},transformResponse(t){const{total:n,items:r}=t;return Kn.addMany(Kn.getInitialState({total:n}),r)},merge:(t,n)=>{Kn.addMany(t,z_.selectAll(n)),t.total=n.total},forceRefetch({currentArg:t,previousArg:n}){return(t==null?void 0:t.offset)!==(n==null?void 0:n.offset)},async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){try{const{data:i}=await r;z_.selectAll(i).forEach(o=>{n(he.util.upsertQueryData("getImageDTO",o.image_name,o))})}catch{}},keepUnusedDataFor:86400}),getIntermediatesCount:e.query({query:()=>({url:di({is_intermediate:!0})}),providesTags:["IntermediatesCount"],transformResponse:t=>t.total}),getImageDTO:e.query({query:t=>({url:`images/${t}`}),providesTags:(t,n,r)=>{const i=[{type:"Image",id:r}];return t!=null&&t.board_id&&i.push({type:"Board",id:t.board_id}),i},keepUnusedDataFor:86400}),getImageMetadata:e.query({query:t=>({url:`images/${t}/metadata`}),providesTags:(t,n,r)=>[{type:"ImageMetadata",id:r}],keepUnusedDataFor:86400}),getBoardImagesTotal:e.query({query:t=>({url:di({board_id:t??"none",categories:gi,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardImagesTotal",id:r??"none"}],transformResponse:t=>t.total}),getBoardAssetsTotal:e.query({query:t=>({url:di({board_id:t??"none",categories:_s,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardAssetsTotal",id:r??"none"}],transformResponse:t=>t.total}),clearIntermediates:e.mutation({query:()=>({url:"images/clear-intermediates",method:"POST"}),invalidatesTags:["IntermediatesCount"]}),deleteImage:e.mutation({query:({image_name:t})=>({url:`images/${t}`,method:"DELETE"}),invalidatesTags:(t,n,{board_id:r})=>[{type:"BoardImagesTotal",id:r??"none"},{type:"BoardAssetsTotal",id:r??"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){const{image_name:i,board_id:o}=t,s=[],a=Gc(t);s.push(n(he.util.updateQueryData("listImages",{board_id:o??"none",categories:a},l=>{const u=l.total,d=Kn.removeOne(l,i).total-u;l.total=l.total+d})));try{await r}catch{s.forEach(l=>l.undo())}}}),changeImageIsIntermediate:e.mutation({query:({imageDTO:t,is_intermediate:n})=>({url:`images/${t.image_name}`,method:"PATCH",body:{is_intermediate:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,is_intermediate:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(he.util.updateQueryData("getImageDTO",t.image_name,l=>{Object.assign(l,{is_intermediate:n})})));const a=Gc(t);if(n)s.push(r(he.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:a},l=>{const u=l.total,d=Kn.removeOne(l,t.image_name).total-u;l.total=l.total+d})));else{console.log(t);const l={board_id:t.board_id??"none",categories:a},u=he.endpoints.listImages.select(l)(o()),c=u.data&&u.data.ids.length>=u.data.total,d=xb(u.data,t);(c||d)&&s.push(r(he.util.updateQueryData("listImages",l,f=>{const h=f.total,m=Kn.upsertOne(f,t).total-h;f.total=f.total+m})))}try{await i}catch{s.forEach(l=>l.undo())}}}),changeImageSessionId:e.mutation({query:({imageDTO:t,session_id:n})=>({url:`images/${t.image_name}`,method:"PATCH",body:{session_id:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,session_id:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(he.util.updateQueryData("getImageDTO",t.image_name,a=>{Object.assign(a,{session_id:n})})));try{await i}catch{s.forEach(a=>a.undo())}}}),uploadImage:e.mutation({query:({file:t,image_category:n,is_intermediate:r,session_id:i,board_id:o,crop_visible:s})=>{const a=new FormData;return a.append("file",t),{url:"images/",method:"POST",body:a,params:{image_category:n,is_intermediate:r,session_id:i,board_id:o,crop_visible:s}}},async onQueryStarted({file:t,image_category:n,is_intermediate:r,postUploadAction:i,session_id:o,board_id:s},{dispatch:a,queryFulfilled:l}){try{const{data:u}=await l;if(u.is_intermediate)return;a(he.util.upsertQueryData("getImageDTO",u.image_name,u));const c=Gc(u);a(he.util.updateQueryData("listImages",{board_id:u.board_id??"none",categories:c},d=>{const f=d.total,p=Kn.addOne(d,u).total-f;d.total=d.total+p})),a(he.util.invalidateTags([{type:"BoardImagesTotal",id:u.board_id??"none"},{type:"BoardAssetsTotal",id:u.board_id??"none"}]))}catch{}}}),addImageToBoard:e.mutation({query:({board_id:t,imageDTO:n})=>{const{image_name:r}=n;return{url:"board_images/",method:"POST",body:{board_id:t,image_name:r}}},invalidatesTags:(t,n,{board_id:r,imageDTO:i})=>[{type:"Board",id:r},{type:"BoardImagesTotal",id:r},{type:"BoardImagesTotal",id:i.board_id??"none"},{type:"BoardAssetsTotal",id:r},{type:"BoardAssetsTotal",id:i.board_id??"none"}],async onQueryStarted({board_id:t,imageDTO:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[],a=Gc(n);if(s.push(r(he.util.updateQueryData("getImageDTO",n.image_name,l=>{Object.assign(l,{board_id:t})}))),!n.is_intermediate){s.push(r(he.util.updateQueryData("listImages",{board_id:n.board_id??"none",categories:a},f=>{const h=f.total,m=Kn.removeOne(f,n.image_name).total-h;f.total=f.total+m})));const l={board_id:t??"none",categories:a},u=he.endpoints.listImages.select(l)(o()),c=u.data&&u.data.ids.length>=u.data.total,d=xb(u.data,n);(c||d)&&s.push(r(he.util.updateQueryData("listImages",l,f=>{const h=f.total,m=Kn.addOne(f,n).total-h;f.total=f.total+m})))}try{await i}catch{s.forEach(l=>l.undo())}}}),removeImageFromBoard:e.mutation({query:({imageDTO:t})=>{const{board_id:n,image_name:r}=t;return{url:"board_images/",method:"DELETE",body:{board_id:n,image_name:r}}},invalidatesTags:(t,n,{imageDTO:r})=>[{type:"Board",id:r.board_id},{type:"BoardImagesTotal",id:r.board_id},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:r.board_id},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted({imageDTO:t},{dispatch:n,queryFulfilled:r,getState:i}){const o=Gc(t),s=[];s.push(n(he.util.updateQueryData("getImageDTO",t.image_name,d=>{Object.assign(d,{board_id:void 0})}))),s.push(n(he.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:o},d=>{const f=d.total,p=Kn.removeOne(d,t.image_name).total-f;d.total=d.total+p})));const a={board_id:"none",categories:o},l=he.endpoints.listImages.select(a)(i()),u=l.data&&l.data.ids.length>=l.data.total,c=xb(l.data,t);(u||c)&&s.push(n(he.util.updateQueryData("listImages",a,d=>{const f=d.total,p=Kn.upsertOne(d,t).total-f;d.total=d.total+p})));try{await r}catch{s.forEach(d=>d.undo())}}})})}),{useGetIntermediatesCountQuery:r3e,useListImagesQuery:i3e,useLazyListImagesQuery:o3e,useGetImageDTOQuery:s3e,useGetImageMetadataQuery:a3e,useDeleteImageMutation:l3e,useGetBoardImagesTotalQuery:u3e,useGetBoardAssetsTotalQuery:c3e,useUploadImageMutation:d3e,useAddImageToBoardMutation:f3e,useRemoveImageFromBoardMutation:h3e,useClearIntermediatesMutation:p3e}=he,i7=ue("socket/socketConnected"),o7=ue("socket/appSocketConnected"),s7=ue("socket/socketDisconnected"),a7=ue("socket/appSocketDisconnected"),zx=ue("socket/socketSubscribed"),l7=ue("socket/appSocketSubscribed"),u7=ue("socket/socketUnsubscribed"),c7=ue("socket/appSocketUnsubscribed"),d7=ue("socket/socketInvocationStarted"),f7=ue("socket/appSocketInvocationStarted"),Ux=ue("socket/socketInvocationComplete"),h7=ue("socket/appSocketInvocationComplete"),p7=ue("socket/socketInvocationError"),Gx=ue("socket/appSocketInvocationError"),g7=ue("socket/socketGraphExecutionStateComplete"),m7=ue("socket/appSocketGraphExecutionStateComplete"),y7=ue("socket/socketGeneratorProgress"),v7=ue("socket/appSocketGeneratorProgress"),b7=ue("socket/socketModelLoadStarted"),oJ=ue("socket/appSocketModelLoadStarted"),S7=ue("socket/socketModelLoadCompleted"),sJ=ue("socket/appSocketModelLoadCompleted"),_7=ue("socket/socketSessionRetrievalError"),w7=ue("socket/appSocketSessionRetrievalError"),x7=ue("socket/socketInvocationRetrievalError"),C7=ue("socket/appSocketInvocationRetrievalError"),Hx=ue("controlNet/imageProcessed"),Yl={none:{type:"none",label:"none",description:"",default:{type:"none"}},canny_image_processor:{type:"canny_image_processor",label:"Canny",description:"",default:{id:"canny_image_processor",type:"canny_image_processor",low_threshold:100,high_threshold:200}},content_shuffle_image_processor:{type:"content_shuffle_image_processor",label:"Content Shuffle",description:"",default:{id:"content_shuffle_image_processor",type:"content_shuffle_image_processor",detect_resolution:512,image_resolution:512,h:512,w:512,f:256}},hed_image_processor:{type:"hed_image_processor",label:"HED",description:"",default:{id:"hed_image_processor",type:"hed_image_processor",detect_resolution:512,image_resolution:512,scribble:!1}},lineart_anime_image_processor:{type:"lineart_anime_image_processor",label:"Lineart Anime",description:"",default:{id:"lineart_anime_image_processor",type:"lineart_anime_image_processor",detect_resolution:512,image_resolution:512}},lineart_image_processor:{type:"lineart_image_processor",label:"Lineart",description:"",default:{id:"lineart_image_processor",type:"lineart_image_processor",detect_resolution:512,image_resolution:512,coarse:!1}},mediapipe_face_processor:{type:"mediapipe_face_processor",label:"Mediapipe Face",description:"",default:{id:"mediapipe_face_processor",type:"mediapipe_face_processor",max_faces:1,min_confidence:.5}},midas_depth_image_processor:{type:"midas_depth_image_processor",label:"Depth (Midas)",description:"",default:{id:"midas_depth_image_processor",type:"midas_depth_image_processor",a_mult:2,bg_th:.1}},mlsd_image_processor:{type:"mlsd_image_processor",label:"M-LSD",description:"",default:{id:"mlsd_image_processor",type:"mlsd_image_processor",detect_resolution:512,image_resolution:512,thr_d:.1,thr_v:.1}},normalbae_image_processor:{type:"normalbae_image_processor",label:"Normal BAE",description:"",default:{id:"normalbae_image_processor",type:"normalbae_image_processor",detect_resolution:512,image_resolution:512}},openpose_image_processor:{type:"openpose_image_processor",label:"Openpose",description:"",default:{id:"openpose_image_processor",type:"openpose_image_processor",detect_resolution:512,image_resolution:512,hand_and_face:!1}},pidi_image_processor:{type:"pidi_image_processor",label:"PIDI",description:"",default:{id:"pidi_image_processor",type:"pidi_image_processor",detect_resolution:512,image_resolution:512,scribble:!1,safe:!1}},zoe_depth_image_processor:{type:"zoe_depth_image_processor",label:"Depth (Zoe)",description:"",default:{id:"zoe_depth_image_processor",type:"zoe_depth_image_processor"}}},_p={canny:"canny_image_processor",mlsd:"mlsd_image_processor",depth:"midas_depth_image_processor",bae:"normalbae_image_processor",lineart:"lineart_image_processor",lineart_anime:"lineart_anime_image_processor",softedge:"hed_image_processor",shuffle:"content_shuffle_image_processor",openpose:"openpose_image_processor",mediapipe:"mediapipe_face_processor"},bT={isEnabled:!0,model:null,weight:1,beginStepPct:0,endStepPct:1,controlMode:"balanced",resizeMode:"just_resize",controlImage:null,processedControlImage:null,processorType:"canny_image_processor",processorNode:Yl.canny_image_processor.default,shouldAutoConfig:!0},U_={controlNets:{},isEnabled:!1,pendingControlImages:[]},T7=Pt({name:"controlNet",initialState:U_,reducers:{isControlNetEnabledToggled:e=>{e.isEnabled=!e.isEnabled},controlNetAdded:(e,t)=>{const{controlNetId:n,controlNet:r}=t.payload;e.controlNets[n]={...r??bT,controlNetId:n}},controlNetDuplicated:(e,t)=>{const{sourceControlNetId:n,newControlNetId:r}=t.payload,i=Ln(e.controlNets[n]);i.controlNetId=r,e.controlNets[r]=i},controlNetAddedFromImage:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n]={...bT,controlNetId:n,controlImage:r}},controlNetRemoved:(e,t)=>{const{controlNetId:n}=t.payload;delete e.controlNets[n]},controlNetToggled:(e,t)=>{const{controlNetId:n}=t.payload;e.controlNets[n].isEnabled=!e.controlNets[n].isEnabled},controlNetImageChanged:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n].controlImage=r,e.controlNets[n].processedControlImage=null,r!==null&&e.controlNets[n].processorType!=="none"&&e.pendingControlImages.push(n)},controlNetProcessedImageChanged:(e,t)=>{const{controlNetId:n,processedControlImage:r}=t.payload;e.controlNets[n].processedControlImage=r,e.pendingControlImages=e.pendingControlImages.filter(i=>i!==n)},controlNetModelChanged:(e,t)=>{const{controlNetId:n,model:r}=t.payload;if(e.controlNets[n].model=r,e.controlNets[n].processedControlImage=null,e.controlNets[n].shouldAutoConfig){let i;for(const o in _p)if(r.model_name.includes(o)){i=_p[o];break}i?(e.controlNets[n].processorType=i,e.controlNets[n].processorNode=Yl[i].default):(e.controlNets[n].processorType="none",e.controlNets[n].processorNode=Yl.none.default)}},controlNetWeightChanged:(e,t)=>{const{controlNetId:n,weight:r}=t.payload;e.controlNets[n].weight=r},controlNetBeginStepPctChanged:(e,t)=>{const{controlNetId:n,beginStepPct:r}=t.payload;e.controlNets[n].beginStepPct=r},controlNetEndStepPctChanged:(e,t)=>{const{controlNetId:n,endStepPct:r}=t.payload;e.controlNets[n].endStepPct=r},controlNetControlModeChanged:(e,t)=>{const{controlNetId:n,controlMode:r}=t.payload;e.controlNets[n].controlMode=r},controlNetResizeModeChanged:(e,t)=>{const{controlNetId:n,resizeMode:r}=t.payload;e.controlNets[n].resizeMode=r},controlNetProcessorParamsChanged:(e,t)=>{const{controlNetId:n,changes:r}=t.payload,i=e.controlNets[n].processorNode;e.controlNets[n].processorNode={...i,...r},e.controlNets[n].shouldAutoConfig=!1},controlNetProcessorTypeChanged:(e,t)=>{const{controlNetId:n,processorType:r}=t.payload;e.controlNets[n].processedControlImage=null,e.controlNets[n].processorType=r,e.controlNets[n].processorNode=Yl[r].default,e.controlNets[n].shouldAutoConfig=!1},controlNetAutoConfigToggled:(e,t)=>{var i;const{controlNetId:n}=t.payload,r=!e.controlNets[n].shouldAutoConfig;if(r){let o;for(const s in _p)if((i=e.controlNets[n].model)!=null&&i.model_name.includes(s)){o=_p[s];break}o?(e.controlNets[n].processorType=o,e.controlNets[n].processorNode=Yl[o].default):(e.controlNets[n].processorType="none",e.controlNets[n].processorNode=Yl.none.default)}e.controlNets[n].shouldAutoConfig=r},controlNetReset:()=>({...U_})},extraReducers:e=>{e.addCase(Hx,(t,n)=>{t.controlNets[n.payload.controlNetId].controlImage!==null&&t.pendingControlImages.push(n.payload.controlNetId)}),e.addCase(Gx,t=>{t.pendingControlImages=[]}),e.addMatcher(NO,t=>{t.pendingControlImages=[]}),e.addMatcher(he.endpoints.deleteImage.matchFulfilled,(t,n)=>{const{image_name:r}=n.meta.arg.originalArgs;Za(t.controlNets,i=>{i.controlImage===r&&(i.controlImage=null,i.processedControlImage=null),i.processedControlImage===r&&(i.processedControlImage=null)})})}}),{isControlNetEnabledToggled:g3e,controlNetAdded:m3e,controlNetDuplicated:y3e,controlNetAddedFromImage:v3e,controlNetRemoved:E7,controlNetImageChanged:qx,controlNetProcessedImageChanged:aJ,controlNetToggled:b3e,controlNetModelChanged:ST,controlNetWeightChanged:S3e,controlNetBeginStepPctChanged:_3e,controlNetEndStepPctChanged:w3e,controlNetControlModeChanged:x3e,controlNetResizeModeChanged:C3e,controlNetProcessorParamsChanged:lJ,controlNetProcessorTypeChanged:uJ,controlNetReset:P7,controlNetAutoConfigToggled:_T}=T7.actions,cJ=T7.reducer,A7={isEnabled:!1,maxPrompts:100,combinatorial:!0},dJ=A7,k7=Pt({name:"dynamicPrompts",initialState:dJ,reducers:{maxPromptsChanged:(e,t)=>{e.maxPrompts=t.payload},maxPromptsReset:e=>{e.maxPrompts=A7.maxPrompts},combinatorialToggled:e=>{e.combinatorial=!e.combinatorial},isEnabledToggled:e=>{e.isEnabled=!e.isEnabled}}}),{isEnabledToggled:T3e,maxPromptsChanged:E3e,maxPromptsReset:P3e,combinatorialToggled:A3e}=k7.actions,fJ=k7.reducer,hJ={updateBoardModalOpen:!1,searchText:""},R7=Pt({name:"boards",initialState:hJ,reducers:{setBoardSearchText:(e,t)=>{e.searchText=t.payload},setUpdateBoardModalOpen:(e,t)=>{e.updateBoardModalOpen=t.payload}}}),{setBoardSearchText:k3e,setUpdateBoardModalOpen:R3e}=R7.actions,pJ=R7.reducer,tc=Hs.injectEndpoints({endpoints:e=>({listBoards:e.query({query:t=>({url:"boards/",params:t}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Ie}];return t&&i.push(...t.items.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllBoards:e.query({query:()=>({url:"boards/",params:{all:!0}}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Ie}];return t&&i.push(...t.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllImageNamesForBoard:e.query({query:t=>({url:`boards/${t}/image_names`}),providesTags:(t,n,r)=>[{type:"ImageNameList",id:r}],keepUnusedDataFor:0}),createBoard:e.mutation({query:t=>({url:"boards/",method:"POST",params:{board_name:t}}),invalidatesTags:[{type:"Board",id:Ie}]}),updateBoard:e.mutation({query:({board_id:t,changes:n})=>({url:`boards/${t}`,method:"PATCH",body:n}),invalidatesTags:(t,n,r)=>[{type:"Board",id:r.board_id}]}),deleteBoard:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE"}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Ie},{type:"ImageList",id:di({board_id:"none",categories:gi})},{type:"ImageList",id:di({board_id:"none",categories:_s})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_board_images:s}=o;s.forEach(u=>{n(he.util.updateQueryData("getImageDTO",u,c=>{c.board_id=void 0}))});const a=[{categories:gi},{categories:_s}],l=s.map(u=>({id:u,changes:{board_id:void 0}}));a.forEach(u=>{n(he.util.updateQueryData("listImages",u,c=>{const d=c.total,h=Kn.updateMany(c,l).total-d;c.total=c.total+h}))})}catch{}}}),deleteBoardAndImages:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE",params:{include_images:!0}}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Ie},{type:"ImageList",id:di({board_id:"none",categories:gi})},{type:"ImageList",id:di({board_id:"none",categories:_s})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_images:s}=o;[{categories:gi},{categories:_s}].forEach(l=>{n(he.util.updateQueryData("listImages",l,u=>{const c=u.total,f=Kn.removeMany(u,s).total-c;u.total=u.total+f}))})}catch{}}})})}),{useListBoardsQuery:O3e,useListAllBoardsQuery:M3e,useCreateBoardMutation:I3e,useUpdateBoardMutation:N3e,useDeleteBoardMutation:D3e,useDeleteBoardAndImagesMutation:L3e,useListAllImageNamesForBoardQuery:$3e}=tc,O7={selection:[],shouldAutoSwitch:!0,autoAddBoardId:void 0,galleryImageMinimumWidth:96,selectedBoardId:void 0,galleryView:"images",batchImageNames:[],isBatchEnabled:!1},M7=Pt({name:"gallery",initialState:O7,reducers:{imageRangeEndSelected:()=>{},imageSelectionToggled:()=>{},imageSelected:(e,t)=>{e.selection=t.payload?[t.payload]:[]},shouldAutoSwitchChanged:(e,t)=>{e.shouldAutoSwitch=t.payload},setGalleryImageMinimumWidth:(e,t)=>{e.galleryImageMinimumWidth=t.payload},boardIdSelected:(e,t)=>{e.selectedBoardId=t.payload,e.galleryView="images"},isBatchEnabledChanged:(e,t)=>{e.isBatchEnabled=t.payload},imagesAddedToBatch:(e,t)=>{e.batchImageNames=rY(e.batchImageNames.concat(t.payload))},imagesRemovedFromBatch:(e,t)=>{e.batchImageNames=e.batchImageNames.filter(r=>!t.payload.includes(r));const n=e.selection.filter(r=>!t.payload.includes(r));if(n.length){e.selection=n;return}e.selection=[e.batchImageNames[0]]},batchReset:e=>{e.batchImageNames=[],e.selection=[]},autoAddBoardIdChanged:(e,t)=>{e.autoAddBoardId=t.payload},galleryViewChanged:(e,t)=>{e.galleryView=t.payload}},extraReducers:e=>{e.addMatcher(mJ,(t,n)=>{const r=n.meta.arg.originalArgs;r===t.selectedBoardId&&(t.selectedBoardId=void 0,t.galleryView="images"),r===t.autoAddBoardId&&(t.autoAddBoardId=void 0)}),e.addMatcher(tc.endpoints.listAllBoards.matchFulfilled,(t,n)=>{const r=n.payload;t.autoAddBoardId&&(r.map(i=>i.board_id).includes(t.autoAddBoardId)||(t.autoAddBoardId=void 0))})}}),{imageRangeEndSelected:F3e,imageSelectionToggled:B3e,imageSelected:Os,shouldAutoSwitchChanged:j3e,setGalleryImageMinimumWidth:V3e,boardIdSelected:G_,isBatchEnabledChanged:z3e,imagesAddedToBatch:H_,imagesRemovedFromBatch:U3e,autoAddBoardIdChanged:G3e,galleryViewChanged:km}=M7.actions,gJ=M7.reducer,mJ=ei(tc.endpoints.deleteBoard.matchFulfilled,tc.endpoints.deleteBoardAndImages.matchFulfilled),yJ={imageToDelete:null,isModalOpen:!1},I7=Pt({name:"imageDeletion",initialState:yJ,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imageToDeleteSelected:(e,t)=>{e.imageToDelete=t.payload},imageToDeleteCleared:e=>{e.imageToDelete=null,e.isModalOpen=!1}}}),{isModalOpenChanged:N7,imageToDeleteSelected:vJ,imageToDeleteCleared:H3e}=I7.actions,bJ=I7.reducer,wT={weight:.75},SJ={loras:{}},D7=Pt({name:"lora",initialState:SJ,reducers:{loraAdded:(e,t)=>{const{model_name:n,id:r,base_model:i}=t.payload;e.loras[r]={id:r,model_name:n,base_model:i,...wT}},loraRemoved:(e,t)=>{const n=t.payload;delete e.loras[n]},lorasCleared:e=>{e.loras={}},loraWeightChanged:(e,t)=>{const{id:n,weight:r}=t.payload;e.loras[n].weight=r},loraWeightReset:(e,t)=>{const n=t.payload;e.loras[n].weight=wT.weight}}}),{loraAdded:q3e,loraRemoved:L7,loraWeightChanged:W3e,loraWeightReset:K3e,lorasCleared:X3e}=D7.actions,_J=D7.reducer;function ti(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n{let t;const n=new Set,r=(l,u)=>{const c=typeof l=="function"?l(t):l;if(!Object.is(c,t)){const d=t;t=u??typeof c!="object"?c:Object.assign({},t,c),n.forEach(f=>f(t,d))}},i=()=>t,a={setState:r,getState:i,subscribe:l=>(n.add(l),()=>n.delete(l)),destroy:()=>{n.clear()}};return t=e(r,i,a),a},wJ=e=>e?xT(e):xT,{useSyncExternalStoreWithSelector:xJ}=Xj;function CJ(e,t=e.getState,n){const r=xJ(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return k.useDebugValue(r),r}function br(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,i]of e)if(!Object.is(i,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r=0;r{}};function A0(){for(var e=0,t=arguments.length,n={},r;e=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}pg.prototype=A0.prototype={constructor:pg,on:function(e,t){var n=this._,r=EJ(e+"",n),i,o=-1,s=r.length;if(arguments.length<2){for(;++o0)for(var n=new Array(i),r=0,i,o;r=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),TT.hasOwnProperty(t)?{space:TT[t],local:e}:e}function AJ(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===q_&&t.documentElement.namespaceURI===q_?t.createElement(e):t.createElementNS(n,e)}}function kJ(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function $7(e){var t=k0(e);return(t.local?kJ:AJ)(t)}function RJ(){}function Wx(e){return e==null?RJ:function(){return this.querySelector(e)}}function OJ(e){typeof e!="function"&&(e=Wx(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i=g&&(g=v+1);!(_=S[g])&&++g=0;)(s=r[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function nee(e){e||(e=ree);function t(d,f){return d&&f?e(d.__data__,f.__data__):!d-!f}for(var n=this._groups,r=n.length,i=new Array(r),o=0;ot?1:e>=t?0:NaN}function iee(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function oee(){return Array.from(this)}function see(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?yee:typeof t=="function"?bee:vee)(e,t,n??"")):nc(this.node(),e)}function nc(e,t){return e.style.getPropertyValue(t)||z7(e).getComputedStyle(e,null).getPropertyValue(t)}function _ee(e){return function(){delete this[e]}}function wee(e,t){return function(){this[e]=t}}function xee(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Cee(e,t){return arguments.length>1?this.each((t==null?_ee:typeof t=="function"?xee:wee)(e,t)):this.node()[e]}function U7(e){return e.trim().split(/^|\s+/)}function Kx(e){return e.classList||new G7(e)}function G7(e){this._node=e,this._names=U7(e.getAttribute("class")||"")}G7.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function H7(e,t){for(var n=Kx(e),r=-1,i=t.length;++r=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function Zee(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,o;n()=>e;function W_(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:s,y:a,dx:l,dy:u,dispatch:c}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}W_.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function lte(e){return!e.ctrlKey&&!e.button}function ute(){return this.parentNode}function cte(e,t){return t??{x:e.x,y:e.y}}function dte(){return navigator.maxTouchPoints||"ontouchstart"in this}function fte(){var e=lte,t=ute,n=cte,r=dte,i={},o=A0("start","drag","end"),s=0,a,l,u,c,d=0;function f(b){b.on("mousedown.drag",h).filter(r).on("touchstart.drag",S).on("touchmove.drag",y,ate).on("touchend.drag touchcancel.drag",v).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(b,_){if(!(c||!e.call(this,b,_))){var w=g(this,t.call(this,b,_),b,_,"mouse");w&&(fi(b.view).on("mousemove.drag",p,Af).on("mouseup.drag",m,Af),X7(b.view),Cb(b),u=!1,a=b.clientX,l=b.clientY,w("start",b))}}function p(b){if(Ou(b),!u){var _=b.clientX-a,w=b.clientY-l;u=_*_+w*w>d}i.mouse("drag",b)}function m(b){fi(b.view).on("mousemove.drag mouseup.drag",null),Y7(b.view,u),Ou(b),i.mouse("end",b)}function S(b,_){if(e.call(this,b,_)){var w=b.changedTouches,x=t.call(this,b,_),T=w.length,P,E;for(P=0;P>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?xp(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?xp(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=pte.exec(e))?new hr(t[1],t[2],t[3],1):(t=gte.exec(e))?new hr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=mte.exec(e))?xp(t[1],t[2],t[3],t[4]):(t=yte.exec(e))?xp(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=vte.exec(e))?MT(t[1],t[2]/100,t[3]/100,1):(t=bte.exec(e))?MT(t[1],t[2]/100,t[3]/100,t[4]):ET.hasOwnProperty(e)?kT(ET[e]):e==="transparent"?new hr(NaN,NaN,NaN,0):null}function kT(e){return new hr(e>>16&255,e>>8&255,e&255,1)}function xp(e,t,n,r){return r<=0&&(e=t=n=NaN),new hr(e,t,n,r)}function wte(e){return e instanceof bh||(e=Of(e)),e?(e=e.rgb(),new hr(e.r,e.g,e.b,e.opacity)):new hr}function K_(e,t,n,r){return arguments.length===1?wte(e):new hr(e,t,n,r??1)}function hr(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Xx(hr,K_,Q7(bh,{brighter(e){return e=e==null?Om:Math.pow(Om,e),new hr(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?kf:Math.pow(kf,e),new hr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new hr(za(this.r),za(this.g),za(this.b),Mm(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:RT,formatHex:RT,formatHex8:xte,formatRgb:OT,toString:OT}));function RT(){return`#${Na(this.r)}${Na(this.g)}${Na(this.b)}`}function xte(){return`#${Na(this.r)}${Na(this.g)}${Na(this.b)}${Na((isNaN(this.opacity)?1:this.opacity)*255)}`}function OT(){const e=Mm(this.opacity);return`${e===1?"rgb(":"rgba("}${za(this.r)}, ${za(this.g)}, ${za(this.b)}${e===1?")":`, ${e})`}`}function Mm(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function za(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Na(e){return e=za(e),(e<16?"0":"")+e.toString(16)}function MT(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new hi(e,t,n,r)}function Z7(e){if(e instanceof hi)return new hi(e.h,e.s,e.l,e.opacity);if(e instanceof bh||(e=Of(e)),!e)return new hi;if(e instanceof hi)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),s=NaN,a=o-i,l=(o+i)/2;return a?(t===o?s=(n-r)/a+(n0&&l<1?0:s,new hi(s,a,l,e.opacity)}function Cte(e,t,n,r){return arguments.length===1?Z7(e):new hi(e,t,n,r??1)}function hi(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Xx(hi,Cte,Q7(bh,{brighter(e){return e=e==null?Om:Math.pow(Om,e),new hi(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?kf:Math.pow(kf,e),new hi(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new hr(Tb(e>=240?e-240:e+120,i,r),Tb(e,i,r),Tb(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new hi(IT(this.h),Cp(this.s),Cp(this.l),Mm(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Mm(this.opacity);return`${e===1?"hsl(":"hsla("}${IT(this.h)}, ${Cp(this.s)*100}%, ${Cp(this.l)*100}%${e===1?")":`, ${e})`}`}}));function IT(e){return e=(e||0)%360,e<0?e+360:e}function Cp(e){return Math.max(0,Math.min(1,e||0))}function Tb(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const J7=e=>()=>e;function Tte(e,t){return function(n){return e+n*t}}function Ete(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function Pte(e){return(e=+e)==1?eM:function(t,n){return n-t?Ete(t,n,e):J7(isNaN(t)?n:t)}}function eM(e,t){var n=t-e;return n?Tte(e,n):J7(isNaN(e)?t:e)}const NT=function e(t){var n=Pte(t);function r(i,o){var s=n((i=K_(i)).r,(o=K_(o)).r),a=n(i.g,o.g),l=n(i.b,o.b),u=eM(i.opacity,o.opacity);return function(c){return i.r=s(c),i.g=a(c),i.b=l(c),i.opacity=u(c),i+""}}return r.gamma=e,r}(1);function cs(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var X_=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Eb=new RegExp(X_.source,"g");function Ate(e){return function(){return e}}function kte(e){return function(t){return e(t)+""}}function Rte(e,t){var n=X_.lastIndex=Eb.lastIndex=0,r,i,o,s=-1,a=[],l=[];for(e=e+"",t=t+"";(r=X_.exec(e))&&(i=Eb.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),a[s]?a[s]+=o:a[++s]=o),(r=r[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,l.push({i:s,x:cs(r,i)})),n=Eb.lastIndex;return n180?c+=360:c-u>180&&(u+=360),f.push({i:d.push(i(d)+"rotate(",null,r)-2,x:cs(u,c)})):c&&d.push(i(d)+"rotate("+c+r)}function a(u,c,d,f){u!==c?f.push({i:d.push(i(d)+"skewX(",null,r)-2,x:cs(u,c)}):c&&d.push(i(d)+"skewX("+c+r)}function l(u,c,d,f,h,p){if(u!==d||c!==f){var m=h.push(i(h)+"scale(",null,",",null,")");p.push({i:m-4,x:cs(u,d)},{i:m-2,x:cs(c,f)})}else(d!==1||f!==1)&&h.push(i(h)+"scale("+d+","+f+")")}return function(u,c){var d=[],f=[];return u=e(u),c=e(c),o(u.translateX,u.translateY,c.translateX,c.translateY,d,f),s(u.rotate,c.rotate,d,f),a(u.skewX,c.skewX,d,f),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,d,f),u=c=null,function(h){for(var p=-1,m=f.length,S;++p=0&&e._call.call(void 0,t),e=e._next;--rc}function $T(){nl=(Nm=Mf.now())+R0,rc=fd=0;try{jte()}finally{rc=0,zte(),nl=0}}function Vte(){var e=Mf.now(),t=e-Nm;t>rM&&(R0-=t,Nm=e)}function zte(){for(var e,t=Im,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Im=n);hd=e,Q_(r)}function Q_(e){if(!rc){fd&&(fd=clearTimeout(fd));var t=e-nl;t>24?(e<1/0&&(fd=setTimeout($T,e-Mf.now()-R0)),Hc&&(Hc=clearInterval(Hc))):(Hc||(Nm=Mf.now(),Hc=setInterval(Vte,rM)),rc=1,iM($T))}}function FT(e,t,n){var r=new Dm;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var Ute=A0("start","end","cancel","interrupt"),Gte=[],sM=0,BT=1,Z_=2,gg=3,jT=4,J_=5,mg=6;function O0(e,t,n,r,i,o){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;Hte(e,n,{name:t,index:r,group:i,on:Ute,tween:Gte,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:sM})}function Qx(e,t){var n=Pi(e,t);if(n.state>sM)throw new Error("too late; already scheduled");return n}function so(e,t){var n=Pi(e,t);if(n.state>gg)throw new Error("too late; already running");return n}function Pi(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Hte(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=oM(o,0,n.time);function o(u){n.state=BT,n.timer.restart(s,n.delay,n.time),n.delay<=u&&s(u-n.delay)}function s(u){var c,d,f,h;if(n.state!==BT)return l();for(c in r)if(h=r[c],h.name===n.name){if(h.state===gg)return FT(s);h.state===jT?(h.state=mg,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[c]):+cZ_&&r.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function _ne(e,t,n){var r,i,o=Sne(t)?Qx:so;return function(){var s=o(this,e),a=s.on;a!==r&&(i=(r=a).copy()).on(t,n),s.on=i}}function wne(e,t){var n=this._id;return arguments.length<2?Pi(this.node(),n).on.on(e):this.each(_ne(n,e,t))}function xne(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function Cne(){return this.on("end.remove",xne(this._id))}function Tne(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Wx(e));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s()=>e;function Yne(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Po(e,t,n){this.k=e,this.x=t,this.y=n}Po.prototype={constructor:Po,scale:function(e){return e===1?this:new Po(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Po(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Ms=new Po(1,0,0);Po.prototype;function Pb(e){e.stopImmediatePropagation()}function qc(e){e.preventDefault(),e.stopImmediatePropagation()}function Qne(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Zne(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function VT(){return this.__zoom||Ms}function Jne(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function ere(){return navigator.maxTouchPoints||"ontouchstart"in this}function tre(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function nre(){var e=Qne,t=Zne,n=tre,r=Jne,i=ere,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,l=Fte,u=A0("start","zoom","end"),c,d,f,h=500,p=150,m=0,S=10;function y(C){C.property("__zoom",VT).on("wheel.zoom",T,{passive:!1}).on("mousedown.zoom",P).on("dblclick.zoom",E).filter(i).on("touchstart.zoom",A).on("touchmove.zoom",$).on("touchend.zoom touchcancel.zoom",I).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}y.transform=function(C,R,M,N){var O=C.selection?C.selection():C;O.property("__zoom",VT),C!==O?_(C,R,M,N):O.interrupt().each(function(){w(this,arguments).event(N).start().zoom(null,typeof R=="function"?R.apply(this,arguments):R).end()})},y.scaleBy=function(C,R,M,N){y.scaleTo(C,function(){var O=this.__zoom.k,D=typeof R=="function"?R.apply(this,arguments):R;return O*D},M,N)},y.scaleTo=function(C,R,M,N){y.transform(C,function(){var O=t.apply(this,arguments),D=this.__zoom,L=M==null?b(O):typeof M=="function"?M.apply(this,arguments):M,j=D.invert(L),U=typeof R=="function"?R.apply(this,arguments):R;return n(g(v(D,U),L,j),O,s)},M,N)},y.translateBy=function(C,R,M,N){y.transform(C,function(){return n(this.__zoom.translate(typeof R=="function"?R.apply(this,arguments):R,typeof M=="function"?M.apply(this,arguments):M),t.apply(this,arguments),s)},null,N)},y.translateTo=function(C,R,M,N,O){y.transform(C,function(){var D=t.apply(this,arguments),L=this.__zoom,j=N==null?b(D):typeof N=="function"?N.apply(this,arguments):N;return n(Ms.translate(j[0],j[1]).scale(L.k).translate(typeof R=="function"?-R.apply(this,arguments):-R,typeof M=="function"?-M.apply(this,arguments):-M),D,s)},N,O)};function v(C,R){return R=Math.max(o[0],Math.min(o[1],R)),R===C.k?C:new Po(R,C.x,C.y)}function g(C,R,M){var N=R[0]-M[0]*C.k,O=R[1]-M[1]*C.k;return N===C.x&&O===C.y?C:new Po(C.k,N,O)}function b(C){return[(+C[0][0]+ +C[1][0])/2,(+C[0][1]+ +C[1][1])/2]}function _(C,R,M,N){C.on("start.zoom",function(){w(this,arguments).event(N).start()}).on("interrupt.zoom end.zoom",function(){w(this,arguments).event(N).end()}).tween("zoom",function(){var O=this,D=arguments,L=w(O,D).event(N),j=t.apply(O,D),U=M==null?b(j):typeof M=="function"?M.apply(O,D):M,G=Math.max(j[1][0]-j[0][0],j[1][1]-j[0][1]),W=O.__zoom,X=typeof R=="function"?R.apply(O,D):R,Y=l(W.invert(U).concat(G/W.k),X.invert(U).concat(G/X.k));return function(B){if(B===1)B=X;else{var H=Y(B),Q=G/H[2];B=new Po(Q,U[0]-H[0]*Q,U[1]-H[1]*Q)}L.zoom(null,B)}})}function w(C,R,M){return!M&&C.__zooming||new x(C,R)}function x(C,R){this.that=C,this.args=R,this.active=0,this.sourceEvent=null,this.extent=t.apply(C,R),this.taps=0}x.prototype={event:function(C){return C&&(this.sourceEvent=C),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(C,R){return this.mouse&&C!=="mouse"&&(this.mouse[1]=R.invert(this.mouse[0])),this.touch0&&C!=="touch"&&(this.touch0[1]=R.invert(this.touch0[0])),this.touch1&&C!=="touch"&&(this.touch1[1]=R.invert(this.touch1[0])),this.that.__zoom=R,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(C){var R=fi(this.that).datum();u.call(C,this.that,new Yne(C,{sourceEvent:this.sourceEvent,target:y,type:C,transform:this.that.__zoom,dispatch:u}),R)}};function T(C,...R){if(!e.apply(this,arguments))return;var M=w(this,R).event(C),N=this.__zoom,O=Math.max(o[0],Math.min(o[1],N.k*Math.pow(2,r.apply(this,arguments)))),D=$i(C);if(M.wheel)(M.mouse[0][0]!==D[0]||M.mouse[0][1]!==D[1])&&(M.mouse[1]=N.invert(M.mouse[0]=D)),clearTimeout(M.wheel);else{if(N.k===O)return;M.mouse=[D,N.invert(D)],yg(this),M.start()}qc(C),M.wheel=setTimeout(L,p),M.zoom("mouse",n(g(v(N,O),M.mouse[0],M.mouse[1]),M.extent,s));function L(){M.wheel=null,M.end()}}function P(C,...R){if(f||!e.apply(this,arguments))return;var M=C.currentTarget,N=w(this,R,!0).event(C),O=fi(C.view).on("mousemove.zoom",U,!0).on("mouseup.zoom",G,!0),D=$i(C,M),L=C.clientX,j=C.clientY;X7(C.view),Pb(C),N.mouse=[D,this.__zoom.invert(D)],yg(this),N.start();function U(W){if(qc(W),!N.moved){var X=W.clientX-L,Y=W.clientY-j;N.moved=X*X+Y*Y>m}N.event(W).zoom("mouse",n(g(N.that.__zoom,N.mouse[0]=$i(W,M),N.mouse[1]),N.extent,s))}function G(W){O.on("mousemove.zoom mouseup.zoom",null),Y7(W.view,N.moved),qc(W),N.event(W).end()}}function E(C,...R){if(e.apply(this,arguments)){var M=this.__zoom,N=$i(C.changedTouches?C.changedTouches[0]:C,this),O=M.invert(N),D=M.k*(C.shiftKey?.5:2),L=n(g(v(M,D),N,O),t.apply(this,R),s);qc(C),a>0?fi(this).transition().duration(a).call(_,L,N,C):fi(this).call(y.transform,L,N,C)}}function A(C,...R){if(e.apply(this,arguments)){var M=C.touches,N=M.length,O=w(this,R,C.changedTouches.length===N).event(C),D,L,j,U;for(Pb(C),L=0;L"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`},cM=qs.error001();function jt(e,t){const n=k.useContext(M0);if(n===null)throw new Error(cM);return CJ(n,e,t)}const Vn=()=>{const e=k.useContext(M0);if(e===null)throw new Error(cM);return k.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},ire=e=>e.userSelectionActive?"none":"all";function ore({position:e,children:t,className:n,style:r,...i}){const o=jt(ire),s=`${e}`.split("-");return K.jsx("div",{className:ti(["react-flow__panel",n,...s]),style:{...r,pointerEvents:o},...i,children:t})}function sre({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:K.jsx(ore,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:K.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const are=({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:s=[2,4],labelBgBorderRadius:a=2,children:l,className:u,...c})=>{const d=k.useRef(null),[f,h]=k.useState({x:0,y:0,width:0,height:0}),p=ti(["react-flow__edge-textwrapper",u]);return k.useEffect(()=>{if(d.current){const m=d.current.getBBox();h({x:m.x,y:m.y,width:m.width,height:m.height})}},[n]),typeof n>"u"||!n?null:K.jsxs("g",{transform:`translate(${e-f.width/2} ${t-f.height/2})`,className:p,visibility:f.width?"visible":"hidden",...c,children:[i&&K.jsx("rect",{width:f.width+2*s[0],x:-s[0],y:-s[1],height:f.height+2*s[1],className:"react-flow__edge-textbg",style:o,rx:a,ry:a}),K.jsx("text",{className:"react-flow__edge-text",y:f.height/2,dy:"0.3em",ref:d,style:r,children:n}),l]})};var lre=k.memo(are);const Jx=e=>({width:e.offsetWidth,height:e.offsetHeight}),ic=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),eC=(e={x:0,y:0},t)=>({x:ic(e.x,t[0][0],t[1][0]),y:ic(e.y,t[0][1],t[1][1])}),zT=(e,t,n)=>en?-ic(Math.abs(e-n),1,50)/50:0,dM=(e,t)=>{const n=zT(e.x,35,t.width-35)*20,r=zT(e.y,35,t.height-35)*20;return[n,r]},fM=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},hM=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),Lm=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),pM=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),UT=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),Y3e=(e,t)=>pM(hM(Lm(e),Lm(t))),e2=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},ure=e=>Kr(e.width)&&Kr(e.height)&&Kr(e.x)&&Kr(e.y),Kr=e=>!isNaN(e)&&isFinite(e),rn=Symbol.for("internals"),gM=["Enter"," ","Escape"],cre=(e,t)=>{},dre=e=>"nativeEvent"in e;function t2(e){var i,o;const t=dre(e)?e.nativeEvent:e,n=((o=(i=t.composedPath)==null?void 0:i.call(t))==null?void 0:o[0])||e.target;return["INPUT","SELECT","TEXTAREA"].includes(n==null?void 0:n.nodeName)||(n==null?void 0:n.hasAttribute("contenteditable"))||!!(n!=null&&n.closest(".nokey"))}const mM=e=>"clientX"in e,Is=(e,t)=>{var o,s;const n=mM(e),r=n?e.clientX:(o=e.touches)==null?void 0:o[0].clientX,i=n?e.clientY:(s=e.touches)==null?void 0:s[0].clientY;return{x:r-((t==null?void 0:t.left)??0),y:i-((t==null?void 0:t.top)??0)}},Sh=({id:e,path:t,labelX:n,labelY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h=20})=>K.jsxs(K.Fragment,{children:[K.jsx("path",{id:e,style:c,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:d,markerStart:f}),h&&K.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}),i&&Kr(n)&&Kr(r)?K.jsx(lre,{x:n,y:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u}):null]});Sh.displayName="BaseEdge";function Wc(e,t,n){return n===void 0?n:r=>{const i=t().edges.find(o=>o.id===e);i&&n(r,{...i})}}function yM({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,o=n{const[S,y,v]=bM({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return K.jsx(Sh,{path:S,labelX:y,labelY:v,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,interactionWidth:m})});tC.displayName="SimpleBezierEdge";const HT={[pe.Left]:{x:-1,y:0},[pe.Right]:{x:1,y:0},[pe.Top]:{x:0,y:-1},[pe.Bottom]:{x:0,y:1}},fre=({source:e,sourcePosition:t=pe.Bottom,target:n})=>t===pe.Left||t===pe.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function hre({source:e,sourcePosition:t=pe.Bottom,target:n,targetPosition:r=pe.Top,center:i,offset:o}){const s=HT[t],a=HT[r],l={x:e.x+s.x*o,y:e.y+s.y*o},u={x:n.x+a.x*o,y:n.y+a.y*o},c=fre({source:l,sourcePosition:t,target:u}),d=c.x!==0?"x":"y",f=c[d];let h=[],p,m;const[S,y,v,g]=yM({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[d]*a[d]===-1){p=i.x||S,m=i.y||y;const _=[{x:p,y:l.y},{x:p,y:u.y}],w=[{x:l.x,y:m},{x:u.x,y:m}];s[d]===f?h=d==="x"?_:w:h=d==="x"?w:_}else{const _=[{x:l.x,y:u.y}],w=[{x:u.x,y:l.y}];if(d==="x"?h=s.x===f?w:_:h=s.y===f?_:w,t!==r){const x=d==="x"?"y":"x",T=s[d]===a[x],P=l[x]>u[x],E=l[x]{let g="";return v>0&&v{const[y,v,g]=n2({sourceX:e,sourceY:t,sourcePosition:d,targetX:n,targetY:r,targetPosition:f,borderRadius:m==null?void 0:m.borderRadius,offset:m==null?void 0:m.offset});return K.jsx(Sh,{path:y,labelX:v,labelY:g,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:h,markerStart:p,interactionWidth:S})});I0.displayName="SmoothStepEdge";const nC=k.memo(e=>{var t;return K.jsx(I0,{...e,pathOptions:k.useMemo(()=>{var n;return{borderRadius:0,offset:(n=e.pathOptions)==null?void 0:n.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});nC.displayName="StepEdge";function gre({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,s,a]=yM({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,s,a]}const rC=k.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h})=>{const[p,m,S]=gre({sourceX:e,sourceY:t,targetX:n,targetY:r});return K.jsx(Sh,{path:p,labelX:m,labelY:S,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:c,markerEnd:d,markerStart:f,interactionWidth:h})});rC.displayName="StraightEdge";function Pp(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function WT({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case pe.Left:return[t-Pp(t-r,o),n];case pe.Right:return[t+Pp(r-t,o),n];case pe.Top:return[t,n-Pp(n-i,o)];case pe.Bottom:return[t,n+Pp(i-n,o)]}}function SM({sourceX:e,sourceY:t,sourcePosition:n=pe.Bottom,targetX:r,targetY:i,targetPosition:o=pe.Top,curvature:s=.25}){const[a,l]=WT({pos:n,x1:e,y1:t,x2:r,y2:i,c:s}),[u,c]=WT({pos:o,x1:r,y1:i,x2:e,y2:t,c:s}),[d,f,h,p]=vM({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:l,targetControlX:u,targetControlY:c});return[`M${e},${t} C${a},${l} ${u},${c} ${r},${i}`,d,f,h,p]}const Fm=k.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=pe.Bottom,targetPosition:o=pe.Top,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,pathOptions:m,interactionWidth:S})=>{const[y,v,g]=SM({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:m==null?void 0:m.curvature});return K.jsx(Sh,{path:y,labelX:v,labelY:g,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:p,interactionWidth:S})});Fm.displayName="BezierEdge";const iC=k.createContext(null),mre=iC.Provider;iC.Consumer;const yre=()=>k.useContext(iC),vre=e=>"id"in e&&"source"in e&&"target"in e,bre=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,r2=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`,Sre=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),_M=(e,t)=>{if(!e.source||!e.target)return t;let n;return vre(e)?n={...e}:n={...e,id:bre(e)},Sre(n,t)?t:t.concat(n)},wM=({x:e,y:t},[n,r,i],o,[s,a])=>{const l={x:(e-n)/i,y:(t-r)/i};return o?{x:s*Math.round(l.x/s),y:a*Math.round(l.y/a)}:l},_re=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),Nu=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=(e.width??0)*t[0],r=(e.height??0)*t[1],i={x:e.position.x-n,y:e.position.y-r};return{...i,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:i}},xM=(e,t=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,i)=>{const{x:o,y:s}=Nu(i,t).positionAbsolute;return hM(r,Lm({x:o,y:s,width:i.width||0,height:i.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return pM(n)},CM=(e,t,[n,r,i]=[0,0,1],o=!1,s=!1,a=[0,0])=>{const l={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},u=[];return e.forEach(c=>{const{width:d,height:f,selectable:h=!0,hidden:p=!1}=c;if(s&&!h||p)return!1;const{positionAbsolute:m}=Nu(c,a),S={x:m.x,y:m.y,width:d||0,height:f||0},y=e2(l,S),v=typeof d>"u"||typeof f>"u"||d===null||f===null,g=o&&y>0,b=(d||0)*(f||0);(v||g||y>=b||c.dragging)&&u.push(c)}),u},TM=(e,t)=>{const n=e.map(r=>r.id);return t.filter(r=>n.includes(r.source)||n.includes(r.target))},EM=(e,t,n,r,i,o=.1)=>{const s=t/(e.width*(1+o)),a=n/(e.height*(1+o)),l=Math.min(s,a),u=ic(l,r,i),c=e.x+e.width/2,d=e.y+e.height/2,f=t/2-c*u,h=n/2-d*u;return[f,h,u]},Ca=(e,t=0)=>e.transition().duration(t);function KT(e,t,n,r){return(t[n]||[]).reduce((i,o)=>{var s,a;return`${e.id}-${o.id}-${n}`!==r&&i.push({id:o.id||null,type:n,nodeId:e.id,x:(((s=e.positionAbsolute)==null?void 0:s.x)??0)+o.x+o.width/2,y:(((a=e.positionAbsolute)==null?void 0:a.y)??0)+o.y+o.height/2}),i},[])}function wre(e,t,n,r,i,o){const{x:s,y:a}=Is(e),u=t.elementsFromPoint(s,a).find(p=>p.classList.contains("react-flow__handle"));if(u){const p=u.getAttribute("data-nodeid");if(p){const m=oC(void 0,u),S=u.getAttribute("data-handleid"),y=o({nodeId:p,id:S,type:m});if(y)return{handle:{id:S,type:m,nodeId:p,x:n.x,y:n.y},validHandleResult:y}}}let c=[],d=1/0;if(i.forEach(p=>{const m=Math.sqrt((p.x-n.x)**2+(p.y-n.y)**2);if(m<=r){const S=o(p);m<=d&&(mp.isValid),h=c.some(({handle:p})=>p.type==="target");return c.find(({handle:p,validHandleResult:m})=>h?p.type==="target":f?m.isValid:!0)||c[0]}const xre={source:null,target:null,sourceHandle:null,targetHandle:null},PM=()=>({handleDomNode:null,isValid:!1,connection:xre,endHandle:null});function AM(e,t,n,r,i,o,s){const a=i==="target",l=s.querySelector(`.react-flow__handle[data-id="${e==null?void 0:e.nodeId}-${e==null?void 0:e.id}-${e==null?void 0:e.type}"]`),u={...PM(),handleDomNode:l};if(l){const c=oC(void 0,l),d=l.getAttribute("data-nodeid"),f=l.getAttribute("data-handleid"),h=l.classList.contains("connectable"),p=l.classList.contains("connectableend"),m={source:a?d:n,sourceHandle:a?f:r,target:a?n:d,targetHandle:a?r:f};u.connection=m,h&&p&&(t===rl.Strict?a&&c==="source"||!a&&c==="target":d!==n||f!==r)&&(u.endHandle={nodeId:d,handleId:f,type:c},u.isValid=o(m))}return u}function Cre({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((i,o)=>{if(o[rn]){const{handleBounds:s}=o[rn];let a=[],l=[];s&&(a=KT(o,s,"source",`${t}-${n}-${r}`),l=KT(o,s,"target",`${t}-${n}-${r}`)),i.push(...a,...l)}return i},[])}function oC(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function Ab(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function Tre(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function kM({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:s,isValidConnection:a,edgeUpdaterType:l,onEdgeUpdateEnd:u}){const c=fM(e.target),{connectionMode:d,domNode:f,autoPanOnConnect:h,connectionRadius:p,onConnectStart:m,panBy:S,getNodes:y,cancelConnection:v}=o();let g=0,b;const{x:_,y:w}=Is(e),x=c==null?void 0:c.elementFromPoint(_,w),T=oC(l,x),P=f==null?void 0:f.getBoundingClientRect();if(!P||!T)return;let E,A=Is(e,P),$=!1,I=null,C=!1,R=null;const M=Cre({nodes:y(),nodeId:n,handleId:t,handleType:T}),N=()=>{if(!h)return;const[L,j]=dM(A,P);S({x:L,y:j}),g=requestAnimationFrame(N)};s({connectionPosition:A,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:T,connectionStartHandle:{nodeId:n,handleId:t,type:T},connectionEndHandle:null}),m==null||m(e,{nodeId:n,handleId:t,handleType:T});function O(L){const{transform:j}=o();A=Is(L,P);const{handle:U,validHandleResult:G}=wre(L,c,wM(A,j,!1,[1,1]),p,M,W=>AM(W,d,n,t,i?"target":"source",a,c));if(b=U,$||(N(),$=!0),R=G.handleDomNode,I=G.connection,C=G.isValid,s({connectionPosition:b&&C?_re({x:b.x,y:b.y},j):A,connectionStatus:Tre(!!b,C),connectionEndHandle:G.endHandle}),!b&&!C&&!R)return Ab(E);I.source!==I.target&&R&&(Ab(E),E=R,R.classList.add("connecting","react-flow__handle-connecting"),R.classList.toggle("valid",C),R.classList.toggle("react-flow__handle-valid",C))}function D(L){var j,U;(b||R)&&I&&C&&(r==null||r(I)),(U=(j=o()).onConnectEnd)==null||U.call(j,L),l&&(u==null||u(L)),Ab(E),v(),cancelAnimationFrame(g),$=!1,C=!1,I=null,R=null,c.removeEventListener("mousemove",O),c.removeEventListener("mouseup",D),c.removeEventListener("touchmove",O),c.removeEventListener("touchend",D)}c.addEventListener("mousemove",O),c.addEventListener("mouseup",D),c.addEventListener("touchmove",O),c.addEventListener("touchend",D)}const XT=()=>!0,Ere=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),Pre=(e,t,n)=>r=>{const{connectionStartHandle:i,connectionEndHandle:o,connectionClickStartHandle:s}=r;return{connecting:(i==null?void 0:i.nodeId)===e&&(i==null?void 0:i.handleId)===t&&(i==null?void 0:i.type)===n||(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.handleId)===t&&(o==null?void 0:o.type)===n,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.handleId)===t&&(s==null?void 0:s.type)===n}},RM=k.forwardRef(({type:e="source",position:t=pe.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:o=!0,id:s,onConnect:a,children:l,className:u,onMouseDown:c,onTouchStart:d,...f},h)=>{var P,E;const p=s||null,m=e==="target",S=Vn(),y=yre(),{connectOnClick:v,noPanClassName:g}=jt(Ere,br),{connecting:b,clickConnecting:_}=jt(Pre(y,p,e),br);y||(E=(P=S.getState()).onError)==null||E.call(P,"010",qs.error010());const w=A=>{const{defaultEdgeOptions:$,onConnect:I,hasDefaultEdges:C}=S.getState(),R={...$,...A};if(C){const{edges:M,setEdges:N}=S.getState();N(_M(R,M))}I==null||I(R),a==null||a(R)},x=A=>{if(!y)return;const $=mM(A);i&&($&&A.button===0||!$)&&kM({event:A,handleId:p,nodeId:y,onConnect:w,isTarget:m,getState:S.getState,setState:S.setState,isValidConnection:n||S.getState().isValidConnection||XT}),$?c==null||c(A):d==null||d(A)},T=A=>{const{onClickConnectStart:$,onClickConnectEnd:I,connectionClickStartHandle:C,connectionMode:R,isValidConnection:M}=S.getState();if(!y||!C&&!i)return;if(!C){$==null||$(A,{nodeId:y,handleId:p,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:y,type:e,handleId:p}});return}const N=fM(A.target),O=n||M||XT,{connection:D,isValid:L}=AM({nodeId:y,id:p,type:e},R,C.nodeId,C.handleId||null,C.type,O,N);L&&w(D),I==null||I(A),S.setState({connectionClickStartHandle:null})};return K.jsx("div",{"data-handleid":p,"data-nodeid":y,"data-handlepos":t,"data-id":`${y}-${p}-${e}`,className:ti(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",g,u,{source:!m,target:m,connectable:r,connectablestart:i,connectableend:o,connecting:_,connectionindicator:r&&(i&&!b||o&&b)}]),onMouseDown:x,onTouchStart:x,onClick:v?T:void 0,ref:h,...f,children:l})});RM.displayName="Handle";var Bm=k.memo(RM);const OM=({data:e,isConnectable:t,targetPosition:n=pe.Top,sourcePosition:r=pe.Bottom})=>K.jsxs(K.Fragment,{children:[K.jsx(Bm,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,K.jsx(Bm,{type:"source",position:r,isConnectable:t})]});OM.displayName="DefaultNode";var i2=k.memo(OM);const MM=({data:e,isConnectable:t,sourcePosition:n=pe.Bottom})=>K.jsxs(K.Fragment,{children:[e==null?void 0:e.label,K.jsx(Bm,{type:"source",position:n,isConnectable:t})]});MM.displayName="InputNode";var IM=k.memo(MM);const NM=({data:e,isConnectable:t,targetPosition:n=pe.Top})=>K.jsxs(K.Fragment,{children:[K.jsx(Bm,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]});NM.displayName="OutputNode";var DM=k.memo(NM);const sC=()=>null;sC.displayName="GroupNode";const Are=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected)}),Ap=e=>e.id;function kre(e,t){return br(e.selectedNodes.map(Ap),t.selectedNodes.map(Ap))&&br(e.selectedEdges.map(Ap),t.selectedEdges.map(Ap))}const LM=k.memo(({onSelectionChange:e})=>{const t=Vn(),{selectedNodes:n,selectedEdges:r}=jt(Are,kre);return k.useEffect(()=>{var o,s;const i={nodes:n,edges:r};e==null||e(i),(s=(o=t.getState()).onSelectionChange)==null||s.call(o,i)},[n,r,e]),null});LM.displayName="SelectionListener";const Rre=e=>!!e.onSelectionChange;function Ore({onSelectionChange:e}){const t=jt(Rre);return e||t?K.jsx(LM,{onSelectionChange:e}):null}const Mre=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function Dl(e,t){k.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function Ae(e,t,n){k.useEffect(()=>{typeof t<"u"&&n({[e]:t})},[t])}const Ire=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:s,onClickConnectStart:a,onClickConnectEnd:l,nodesDraggable:u,nodesConnectable:c,nodesFocusable:d,edgesFocusable:f,edgesUpdatable:h,elevateNodesOnSelect:p,minZoom:m,maxZoom:S,nodeExtent:y,onNodesChange:v,onEdgesChange:g,elementsSelectable:b,connectionMode:_,snapGrid:w,snapToGrid:x,translateExtent:T,connectOnClick:P,defaultEdgeOptions:E,fitView:A,fitViewOptions:$,onNodesDelete:I,onEdgesDelete:C,onNodeDrag:R,onNodeDragStart:M,onNodeDragStop:N,onSelectionDrag:O,onSelectionDragStart:D,onSelectionDragStop:L,noPanClassName:j,nodeOrigin:U,rfId:G,autoPanOnConnect:W,autoPanOnNodeDrag:X,onError:Y,connectionRadius:B,isValidConnection:H})=>{const{setNodes:Q,setEdges:J,setDefaultNodesAndEdges:ne,setMinZoom:te,setMaxZoom:xe,setTranslateExtent:ve,setNodeExtent:ce,reset:De}=jt(Mre,br),se=Vn();return k.useEffect(()=>{const pt=r==null?void 0:r.map(yn=>({...yn,...E}));return ne(n,pt),()=>{De()}},[]),Ae("defaultEdgeOptions",E,se.setState),Ae("connectionMode",_,se.setState),Ae("onConnect",i,se.setState),Ae("onConnectStart",o,se.setState),Ae("onConnectEnd",s,se.setState),Ae("onClickConnectStart",a,se.setState),Ae("onClickConnectEnd",l,se.setState),Ae("nodesDraggable",u,se.setState),Ae("nodesConnectable",c,se.setState),Ae("nodesFocusable",d,se.setState),Ae("edgesFocusable",f,se.setState),Ae("edgesUpdatable",h,se.setState),Ae("elementsSelectable",b,se.setState),Ae("elevateNodesOnSelect",p,se.setState),Ae("snapToGrid",x,se.setState),Ae("snapGrid",w,se.setState),Ae("onNodesChange",v,se.setState),Ae("onEdgesChange",g,se.setState),Ae("connectOnClick",P,se.setState),Ae("fitViewOnInit",A,se.setState),Ae("fitViewOnInitOptions",$,se.setState),Ae("onNodesDelete",I,se.setState),Ae("onEdgesDelete",C,se.setState),Ae("onNodeDrag",R,se.setState),Ae("onNodeDragStart",M,se.setState),Ae("onNodeDragStop",N,se.setState),Ae("onSelectionDrag",O,se.setState),Ae("onSelectionDragStart",D,se.setState),Ae("onSelectionDragStop",L,se.setState),Ae("noPanClassName",j,se.setState),Ae("nodeOrigin",U,se.setState),Ae("rfId",G,se.setState),Ae("autoPanOnConnect",W,se.setState),Ae("autoPanOnNodeDrag",X,se.setState),Ae("onError",Y,se.setState),Ae("connectionRadius",B,se.setState),Ae("isValidConnection",H,se.setState),Dl(e,Q),Dl(t,J),Dl(m,te),Dl(S,xe),Dl(T,ve),Dl(y,ce),null},YT={display:"none"},Nre={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},$M="react-flow__node-desc",FM="react-flow__edge-desc",Dre="react-flow__aria-live",Lre=e=>e.ariaLiveMessage;function $re({rfId:e}){const t=jt(Lre);return K.jsx("div",{id:`${Dre}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Nre,children:t})}function Fre({rfId:e,disableKeyboardA11y:t}){return K.jsxs(K.Fragment,{children:[K.jsxs("div",{id:`${$M}-${e}`,style:YT,children:["Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "]}),K.jsx("div",{id:`${FM}-${e}`,style:YT,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!t&&K.jsx($re,{rfId:e})]})}const Bre=(e,t,n)=>n===pe.Left?e-t:n===pe.Right?e+t:e,jre=(e,t,n)=>n===pe.Top?e-t:n===pe.Bottom?e+t:e,QT="react-flow__edgeupdater",ZT=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:s,type:a})=>K.jsx("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:s,className:ti([QT,`${QT}-${a}`]),cx:Bre(t,r,e),cy:jre(n,r,e),r,stroke:"transparent",fill:"transparent"}),Vre=()=>!0;var Ll=e=>{const t=({id:n,className:r,type:i,data:o,onClick:s,onEdgeDoubleClick:a,selected:l,animated:u,label:c,labelStyle:d,labelShowBg:f,labelBgStyle:h,labelBgPadding:p,labelBgBorderRadius:m,style:S,source:y,target:v,sourceX:g,sourceY:b,targetX:_,targetY:w,sourcePosition:x,targetPosition:T,elementsSelectable:P,hidden:E,sourceHandleId:A,targetHandleId:$,onContextMenu:I,onMouseEnter:C,onMouseMove:R,onMouseLeave:M,edgeUpdaterRadius:N,onEdgeUpdate:O,onEdgeUpdateStart:D,onEdgeUpdateEnd:L,markerEnd:j,markerStart:U,rfId:G,ariaLabel:W,isFocusable:X,isUpdatable:Y,pathOptions:B,interactionWidth:H})=>{const Q=k.useRef(null),[J,ne]=k.useState(!1),[te,xe]=k.useState(!1),ve=Vn(),ce=k.useMemo(()=>`url(#${r2(U,G)})`,[U,G]),De=k.useMemo(()=>`url(#${r2(j,G)})`,[j,G]);if(E)return null;const se=Gt=>{const{edges:xt,addSelectedEdges:wr}=ve.getState();if(P&&(ve.setState({nodesSelectionActive:!1}),wr([n])),s){const $r=xt.find(ri=>ri.id===n);s(Gt,$r)}},pt=Wc(n,ve.getState,a),yn=Wc(n,ve.getState,I),Mt=Wc(n,ve.getState,C),ut=Wc(n,ve.getState,R),tt=Wc(n,ve.getState,M),Ut=(Gt,xt)=>{if(Gt.button!==0)return;const{edges:wr,isValidConnection:$r}=ve.getState(),ri=xt?v:y,uo=(xt?$:A)||null,bn=xt?"target":"source",ii=$r||Vre,da=xt,ki=wr.find(nt=>nt.id===n);xe(!0),D==null||D(Gt,ki,bn);const fa=nt=>{xe(!1),L==null||L(nt,ki,bn)};kM({event:Gt,handleId:uo,nodeId:ri,onConnect:nt=>O==null?void 0:O(ki,nt),isTarget:da,getState:ve.getState,setState:ve.setState,isValidConnection:ii,edgeUpdaterType:bn,onEdgeUpdateEnd:fa})},sr=Gt=>Ut(Gt,!0),ni=Gt=>Ut(Gt,!1),Lr=()=>ne(!0),On=()=>ne(!1),vn=!P&&!s,Un=Gt=>{var xt;if(gM.includes(Gt.key)&&P){const{unselectNodesAndEdges:wr,addSelectedEdges:$r,edges:ri}=ve.getState();Gt.key==="Escape"?((xt=Q.current)==null||xt.blur(),wr({edges:[ri.find(bn=>bn.id===n)]})):$r([n])}};return K.jsxs("g",{className:ti(["react-flow__edge",`react-flow__edge-${i}`,r,{selected:l,animated:u,inactive:vn,updating:J}]),onClick:se,onDoubleClick:pt,onContextMenu:yn,onMouseEnter:Mt,onMouseMove:ut,onMouseLeave:tt,onKeyDown:X?Un:void 0,tabIndex:X?0:void 0,role:X?"button":void 0,"data-testid":`rf__edge-${n}`,"aria-label":W===null?void 0:W||`Edge from ${y} to ${v}`,"aria-describedby":X?`${FM}-${G}`:void 0,ref:Q,children:[!te&&K.jsx(e,{id:n,source:y,target:v,selected:l,animated:u,label:c,labelStyle:d,labelShowBg:f,labelBgStyle:h,labelBgPadding:p,labelBgBorderRadius:m,data:o,style:S,sourceX:g,sourceY:b,targetX:_,targetY:w,sourcePosition:x,targetPosition:T,sourceHandleId:A,targetHandleId:$,markerStart:ce,markerEnd:De,pathOptions:B,interactionWidth:H}),Y&&K.jsxs(K.Fragment,{children:[(Y==="source"||Y===!0)&&K.jsx(ZT,{position:x,centerX:g,centerY:b,radius:N,onMouseDown:sr,onMouseEnter:Lr,onMouseOut:On,type:"source"}),(Y==="target"||Y===!0)&&K.jsx(ZT,{position:T,centerX:_,centerY:w,radius:N,onMouseDown:ni,onMouseEnter:Lr,onMouseOut:On,type:"target"})]})]})};return t.displayName="EdgeWrapper",k.memo(t)};function zre(e){const t={default:Ll(e.default||Fm),straight:Ll(e.bezier||rC),step:Ll(e.step||nC),smoothstep:Ll(e.step||I0),simplebezier:Ll(e.simplebezier||tC)},n={},r=Object.keys(e).filter(i=>!["default","bezier"].includes(i)).reduce((i,o)=>(i[o]=Ll(e[o]||Fm),i),n);return{...t,...r}}function JT(e,t,n=null){const r=((n==null?void 0:n.x)||0)+t.x,i=((n==null?void 0:n.y)||0)+t.y,o=(n==null?void 0:n.width)||t.width,s=(n==null?void 0:n.height)||t.height;switch(e){case pe.Top:return{x:r+o/2,y:i};case pe.Right:return{x:r+o,y:i+s/2};case pe.Bottom:return{x:r+o/2,y:i+s};case pe.Left:return{x:r,y:i+s/2}}}function eE(e,t){return e?e.length===1||!t?e[0]:t&&e.find(n=>n.id===t)||null:null}const Ure=(e,t,n,r,i,o)=>{const s=JT(n,e,t),a=JT(o,r,i);return{sourceX:s.x,sourceY:s.y,targetX:a.x,targetY:a.y}};function Gre({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:o,width:s,height:a,transform:l}){const u={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+r,t.y+o)};u.x===u.x2&&(u.x2+=1),u.y===u.y2&&(u.y2+=1);const c=Lm({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:s/l[2],height:a/l[2]}),d=Math.max(0,Math.min(c.x2,u.x2)-Math.max(c.x,u.x)),f=Math.max(0,Math.min(c.y2,u.y2)-Math.max(c.y,u.y));return Math.ceil(d*f)>0}function tE(e){var r,i,o,s,a;const t=((r=e==null?void 0:e[rn])==null?void 0:r.handleBounds)||null,n=t&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((i=e==null?void 0:e.positionAbsolute)==null?void 0:i.x)<"u"&&typeof((o=e==null?void 0:e.positionAbsolute)==null?void 0:o.y)<"u";return[{x:((s=e==null?void 0:e.positionAbsolute)==null?void 0:s.x)||0,y:((a=e==null?void 0:e.positionAbsolute)==null?void 0:a.y)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0},t,!!n]}function BM(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return n?n.selected?!0:BM(n,t):!1}function nE(e,t,n){let r=e;do{if(r!=null&&r.matches(t))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function Hre(e,t,n,r){return Array.from(e.values()).filter(i=>(i.selected||i.id===r)&&(!i.parentNode||!BM(i,e))&&(i.draggable||t&&typeof i.draggable>"u")).map(i=>{var o,s;return{id:i.id,position:i.position||{x:0,y:0},positionAbsolute:i.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((o=i.positionAbsolute)==null?void 0:o.x)??0),y:n.y-(((s=i.positionAbsolute)==null?void 0:s.y)??0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode,width:i.width,height:i.height}})}function qre(e,t){return!t||t==="parent"?t:[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]}function jM(e,t,n,r,i=[0,0],o){const s=qre(e,e.extent||r);let a=s;if(e.extent==="parent")if(e.parentNode&&e.width&&e.height){const c=n.get(e.parentNode),{x:d,y:f}=Nu(c,i).positionAbsolute;a=c&&Kr(d)&&Kr(f)&&Kr(c.width)&&Kr(c.height)?[[d+e.width*i[0],f+e.height*i[1]],[d+c.width-e.width+e.width*i[0],f+c.height-e.height+e.height*i[1]]]:a}else o==null||o("005",qs.error005()),a=s;else if(e.extent&&e.parentNode){const c=n.get(e.parentNode),{x:d,y:f}=Nu(c,i).positionAbsolute;a=[[e.extent[0][0]+d,e.extent[0][1]+f],[e.extent[1][0]+d,e.extent[1][1]+f]]}let l={x:0,y:0};if(e.parentNode){const c=n.get(e.parentNode);l=Nu(c,i).positionAbsolute}const u=a?eC(t,a):t;return{position:{x:u.x-l.x,y:u.y-l.y},positionAbsolute:u}}function kb({nodeId:e,dragItems:t,nodeInternals:n}){const r=t.map(i=>({...n.get(i.id),position:i.position,positionAbsolute:i.positionAbsolute}));return[e?r.find(i=>i.id===e):r[0],r]}const rE=(e,t,n,r)=>{const i=t.querySelectorAll(e);if(!i||!i.length)return null;const o=Array.from(i),s=t.getBoundingClientRect(),a={x:s.width*r[0],y:s.height*r[1]};return o.map(l=>{const u=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),position:l.getAttribute("data-handlepos"),x:(u.left-s.left-a.x)/n,y:(u.top-s.top-a.y)/n,...Jx(l)}})};function Kc(e,t,n){return n===void 0?n:r=>{const i=t().nodeInternals.get(e);n(r,{...i})}}function o2({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:i,unselectNodesAndEdges:o,multiSelectionActive:s,nodeInternals:a}=t.getState(),l=a.get(e);t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&s)&&(o({nodes:[l]}),requestAnimationFrame(()=>{var u;return(u=r==null?void 0:r.current)==null?void 0:u.blur()})):i([e])}function Wre(){const e=Vn();return k.useCallback(({sourceEvent:n})=>{const{transform:r,snapGrid:i,snapToGrid:o}=e.getState(),s=n.touches?n.touches[0].clientX:n.clientX,a=n.touches?n.touches[0].clientY:n.clientY,l={x:(s-r[0])/r[2],y:(a-r[1])/r[2]};return{xSnapped:o?i[0]*Math.round(l.x/i[0]):l.x,ySnapped:o?i[1]*Math.round(l.y/i[1]):l.y,...l}},[])}function Rb(e){return(t,n,r)=>e==null?void 0:e(t,r)}function VM({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:s}){const a=Vn(),[l,u]=k.useState(!1),c=k.useRef([]),d=k.useRef({x:null,y:null}),f=k.useRef(0),h=k.useRef(null),p=k.useRef({x:0,y:0}),m=k.useRef(null),S=k.useRef(!1),y=Wre();return k.useEffect(()=>{if(e!=null&&e.current){const v=fi(e.current),g=({x:_,y:w})=>{const{nodeInternals:x,onNodeDrag:T,onSelectionDrag:P,updateNodePositions:E,nodeExtent:A,snapGrid:$,snapToGrid:I,nodeOrigin:C,onError:R}=a.getState();d.current={x:_,y:w};let M=!1;if(c.current=c.current.map(O=>{const D={x:_-O.distance.x,y:w-O.distance.y};I&&(D.x=$[0]*Math.round(D.x/$[0]),D.y=$[1]*Math.round(D.y/$[1]));const L=jM(O,D,x,A,C,R);return M=M||O.position.x!==L.position.x||O.position.y!==L.position.y,O.position=L.position,O.positionAbsolute=L.positionAbsolute,O}),!M)return;E(c.current,!0,!0),u(!0);const N=i?T:Rb(P);if(N&&m.current){const[O,D]=kb({nodeId:i,dragItems:c.current,nodeInternals:x});N(m.current,O,D)}},b=()=>{if(!h.current)return;const[_,w]=dM(p.current,h.current);if(_!==0||w!==0){const{transform:x,panBy:T}=a.getState();d.current.x=(d.current.x??0)-_/x[2],d.current.y=(d.current.y??0)-w/x[2],T({x:_,y:w})&&g(d.current)}f.current=requestAnimationFrame(b)};if(t)v.on(".drag",null);else{const _=fte().on("start",w=>{var M;const{nodeInternals:x,multiSelectionActive:T,domNode:P,nodesDraggable:E,unselectNodesAndEdges:A,onNodeDragStart:$,onSelectionDragStart:I}=a.getState(),C=i?$:Rb(I);!s&&!T&&i&&((M=x.get(i))!=null&&M.selected||A()),i&&o&&s&&o2({id:i,store:a,nodeRef:e});const R=y(w);if(d.current=R,c.current=Hre(x,E,R,i),C&&c.current){const[N,O]=kb({nodeId:i,dragItems:c.current,nodeInternals:x});C(w.sourceEvent,N,O)}h.current=(P==null?void 0:P.getBoundingClientRect())||null,p.current=Is(w.sourceEvent,h.current)}).on("drag",w=>{const x=y(w),{autoPanOnNodeDrag:T}=a.getState();!S.current&&T&&(S.current=!0,b()),(d.current.x!==x.xSnapped||d.current.y!==x.ySnapped)&&c.current&&(m.current=w.sourceEvent,p.current=Is(w.sourceEvent,h.current),g(x))}).on("end",w=>{if(u(!1),S.current=!1,cancelAnimationFrame(f.current),c.current){const{updateNodePositions:x,nodeInternals:T,onNodeDragStop:P,onSelectionDragStop:E}=a.getState(),A=i?P:Rb(E);if(x(c.current,!1,!1),A){const[$,I]=kb({nodeId:i,dragItems:c.current,nodeInternals:T});A(w.sourceEvent,$,I)}}}).filter(w=>{const x=w.target;return!w.button&&(!n||!nE(x,`.${n}`,e))&&(!r||nE(x,r,e))});return v.call(_),()=>{v.on(".drag",null)}}}},[e,t,n,r,o,a,i,s,y]),l}function zM(){const e=Vn();return k.useCallback(n=>{const{nodeInternals:r,nodeExtent:i,updateNodePositions:o,getNodes:s,snapToGrid:a,snapGrid:l,onError:u,nodesDraggable:c}=e.getState(),d=s().filter(v=>v.selected&&(v.draggable||c&&typeof v.draggable>"u")),f=a?l[0]:5,h=a?l[1]:5,p=n.isShiftPressed?4:1,m=n.x*f*p,S=n.y*h*p,y=d.map(v=>{if(v.positionAbsolute){const g={x:v.positionAbsolute.x+m,y:v.positionAbsolute.y+S};a&&(g.x=l[0]*Math.round(g.x/l[0]),g.y=l[1]*Math.round(g.y/l[1]));const{positionAbsolute:b,position:_}=jM(v,g,r,i,void 0,u);v.position=_,v.positionAbsolute=b}return v});o(y,!0,!1)},[])}const Du={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var Xc=e=>{const t=({id:n,type:r,data:i,xPos:o,yPos:s,xPosOrigin:a,yPosOrigin:l,selected:u,onClick:c,onMouseEnter:d,onMouseMove:f,onMouseLeave:h,onContextMenu:p,onDoubleClick:m,style:S,className:y,isDraggable:v,isSelectable:g,isConnectable:b,isFocusable:_,selectNodesOnDrag:w,sourcePosition:x,targetPosition:T,hidden:P,resizeObserver:E,dragHandle:A,zIndex:$,isParent:I,noDragClassName:C,noPanClassName:R,initialized:M,disableKeyboardA11y:N,ariaLabel:O,rfId:D})=>{const L=Vn(),j=k.useRef(null),U=k.useRef(x),G=k.useRef(T),W=k.useRef(r),X=g||v||c||d||f||h,Y=zM(),B=Kc(n,L.getState,d),H=Kc(n,L.getState,f),Q=Kc(n,L.getState,h),J=Kc(n,L.getState,p),ne=Kc(n,L.getState,m),te=ce=>{if(g&&(!w||!v)&&o2({id:n,store:L,nodeRef:j}),c){const De=L.getState().nodeInternals.get(n);c(ce,{...De})}},xe=ce=>{if(!t2(ce))if(gM.includes(ce.key)&&g){const De=ce.key==="Escape";o2({id:n,store:L,unselect:De,nodeRef:j})}else!N&&v&&u&&Object.prototype.hasOwnProperty.call(Du,ce.key)&&(L.setState({ariaLiveMessage:`Moved selected node ${ce.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~s}`}),Y({x:Du[ce.key].x,y:Du[ce.key].y,isShiftPressed:ce.shiftKey}))};k.useEffect(()=>{if(j.current&&!P){const ce=j.current;return E==null||E.observe(ce),()=>E==null?void 0:E.unobserve(ce)}},[P]),k.useEffect(()=>{const ce=W.current!==r,De=U.current!==x,se=G.current!==T;j.current&&(ce||De||se)&&(ce&&(W.current=r),De&&(U.current=x),se&&(G.current=T),L.getState().updateNodeDimensions([{id:n,nodeElement:j.current,forceUpdate:!0}]))},[n,r,x,T]);const ve=VM({nodeRef:j,disabled:P||!v,noDragClassName:C,handleSelector:A,nodeId:n,isSelectable:g,selectNodesOnDrag:w});return P?null:K.jsx("div",{className:ti(["react-flow__node",`react-flow__node-${r}`,{[R]:v},y,{selected:u,selectable:g,parent:I,dragging:ve}]),ref:j,style:{zIndex:$,transform:`translate(${a}px,${l}px)`,pointerEvents:X?"all":"none",visibility:M?"visible":"hidden",...S},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:B,onMouseMove:H,onMouseLeave:Q,onContextMenu:J,onClick:te,onDoubleClick:ne,onKeyDown:_?xe:void 0,tabIndex:_?0:void 0,role:_?"button":void 0,"aria-describedby":N?void 0:`${$M}-${D}`,"aria-label":O,children:K.jsx(mre,{value:n,children:K.jsx(e,{id:n,data:i,type:r,xPos:o,yPos:s,selected:u,isConnectable:b,sourcePosition:x,targetPosition:T,dragging:ve,dragHandle:A,zIndex:$})})})};return t.displayName="NodeWrapper",k.memo(t)};function Kre(e){const t={input:Xc(e.input||IM),default:Xc(e.default||i2),output:Xc(e.output||DM),group:Xc(e.group||sC)},n={},r=Object.keys(e).filter(i=>!["input","default","output","group"].includes(i)).reduce((i,o)=>(i[o]=Xc(e[o]||i2),i),n);return{...t,...r}}const Xre=({x:e,y:t,width:n,height:r,origin:i})=>!n||!r?{x:e,y:t}:i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:e,y:t}:{x:e-n*i[0],y:t-r*i[1]},Yre=typeof document<"u"?document:null;var Nf=(e=null,t={target:Yre})=>{const[n,r]=k.useState(!1),i=k.useRef(!1),o=k.useRef(new Set([])),[s,a]=k.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(d=>typeof d=="string").map(d=>d.split("+")),c=u.reduce((d,f)=>d.concat(...f),[]);return[u,c]}return[[],[]]},[e]);return k.useEffect(()=>{var l,u;if(e!==null){const c=h=>{if(i.current=h.ctrlKey||h.metaKey||h.shiftKey,!i.current&&t2(h))return!1;const p=oE(h.code,a);o.current.add(h[p]),iE(s,o.current,!1)&&(h.preventDefault(),r(!0))},d=h=>{if(!i.current&&t2(h))return!1;const p=oE(h.code,a);iE(s,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(h[p]),i.current=!1},f=()=>{o.current.clear(),r(!1)};return(l=t==null?void 0:t.target)==null||l.addEventListener("keydown",c),(u=t==null?void 0:t.target)==null||u.addEventListener("keyup",d),window.addEventListener("blur",f),()=>{var h,p;(h=t==null?void 0:t.target)==null||h.removeEventListener("keydown",c),(p=t==null?void 0:t.target)==null||p.removeEventListener("keyup",d),window.removeEventListener("blur",f)}}},[e,r]),n};function iE(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function oE(e,t){return t.includes(e)?"code":"key"}function UM(e,t,n,r){var s,a;if(!e.parentNode)return n;const i=t.get(e.parentNode),o=Nu(i,r);return UM(i,t,{x:(n.x??0)+o.x,y:(n.y??0)+o.y,z:(((s=i[rn])==null?void 0:s.z)??0)>(n.z??0)?((a=i[rn])==null?void 0:a.z)??0:n.z??0},r)}function GM(e,t,n){e.forEach(r=>{var i;if(r.parentNode&&!e.has(r.parentNode))throw new Error(`Parent node ${r.parentNode} not found`);if(r.parentNode||n!=null&&n[r.id]){const{x:o,y:s,z:a}=UM(r,e,{...r.position,z:((i=r[rn])==null?void 0:i.z)??0},t);r.positionAbsolute={x:o,y:s},r[rn].z=a,n!=null&&n[r.id]&&(r[rn].isParent=!0)}})}function Ob(e,t,n,r){const i=new Map,o={},s=r?1e3:0;return e.forEach(a=>{var d;const l=(Kr(a.zIndex)?a.zIndex:0)+(a.selected?s:0),u=t.get(a.id),c={width:u==null?void 0:u.width,height:u==null?void 0:u.height,...a,positionAbsolute:{x:a.position.x,y:a.position.y}};a.parentNode&&(c.parentNode=a.parentNode,o[a.parentNode]=!0),Object.defineProperty(c,rn,{enumerable:!1,value:{handleBounds:(d=u==null?void 0:u[rn])==null?void 0:d.handleBounds,z:l}}),i.set(a.id,c)}),GM(i,n,o),i}function HM(e,t={}){const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:s,d3Zoom:a,d3Selection:l,fitViewOnInitDone:u,fitViewOnInit:c,nodeOrigin:d}=e(),f=t.initial&&!u&&c;if(a&&l&&(f||!t.initial)){const p=n().filter(S=>{var v;const y=t.includeHiddenNodes?S.width&&S.height:!S.hidden;return(v=t.nodes)!=null&&v.length?y&&t.nodes.some(g=>g.id===S.id):y}),m=p.every(S=>S.width&&S.height);if(p.length>0&&m){const S=xM(p,d),[y,v,g]=EM(S,r,i,t.minZoom??o,t.maxZoom??s,t.padding??.1),b=Ms.translate(y,v).scale(g);return typeof t.duration=="number"&&t.duration>0?a.transform(Ca(l,t.duration),b):a.transform(l,b),!0}}return!1}function Qre(e,t){return e.forEach(n=>{const r=t.get(n.id);r&&t.set(r.id,{...r,[rn]:r[rn],selected:n.selected})}),new Map(t)}function Zre(e,t){return t.map(n=>{const r=e.find(i=>i.id===n.id);return r&&(n.selected=r.selected),n})}function kp({changedNodes:e,changedEdges:t,get:n,set:r}){const{nodeInternals:i,edges:o,onNodesChange:s,onEdgesChange:a,hasDefaultNodes:l,hasDefaultEdges:u}=n();e!=null&&e.length&&(l&&r({nodeInternals:Qre(e,i)}),s==null||s(e)),t!=null&&t.length&&(u&&r({edges:Zre(t,o)}),a==null||a(t))}const $l=()=>{},Jre={zoomIn:$l,zoomOut:$l,zoomTo:$l,getZoom:()=>1,setViewport:$l,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:$l,fitBounds:$l,project:e=>e,viewportInitialized:!1},eie=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),tie=()=>{const e=Vn(),{d3Zoom:t,d3Selection:n}=jt(eie,br);return k.useMemo(()=>n&&t?{zoomIn:i=>t.scaleBy(Ca(n,i==null?void 0:i.duration),1.2),zoomOut:i=>t.scaleBy(Ca(n,i==null?void 0:i.duration),1/1.2),zoomTo:(i,o)=>t.scaleTo(Ca(n,o==null?void 0:o.duration),i),getZoom:()=>e.getState().transform[2],setViewport:(i,o)=>{const[s,a,l]=e.getState().transform,u=Ms.translate(i.x??s,i.y??a).scale(i.zoom??l);t.transform(Ca(n,o==null?void 0:o.duration),u)},getViewport:()=>{const[i,o,s]=e.getState().transform;return{x:i,y:o,zoom:s}},fitView:i=>HM(e.getState,i),setCenter:(i,o,s)=>{const{width:a,height:l,maxZoom:u}=e.getState(),c=typeof(s==null?void 0:s.zoom)<"u"?s.zoom:u,d=a/2-i*c,f=l/2-o*c,h=Ms.translate(d,f).scale(c);t.transform(Ca(n,s==null?void 0:s.duration),h)},fitBounds:(i,o)=>{const{width:s,height:a,minZoom:l,maxZoom:u}=e.getState(),[c,d,f]=EM(i,s,a,l,u,(o==null?void 0:o.padding)??.1),h=Ms.translate(c,d).scale(f);t.transform(Ca(n,o==null?void 0:o.duration),h)},project:i=>{const{transform:o,snapToGrid:s,snapGrid:a}=e.getState();return wM(i,o,s,a)},viewportInitialized:!0}:Jre,[t,n])};function qM(){const e=tie(),t=Vn(),n=k.useCallback(()=>t.getState().getNodes().map(m=>({...m})),[]),r=k.useCallback(m=>t.getState().nodeInternals.get(m),[]),i=k.useCallback(()=>{const{edges:m=[]}=t.getState();return m.map(S=>({...S}))},[]),o=k.useCallback(m=>{const{edges:S=[]}=t.getState();return S.find(y=>y.id===m)},[]),s=k.useCallback(m=>{const{getNodes:S,setNodes:y,hasDefaultNodes:v,onNodesChange:g}=t.getState(),b=S(),_=typeof m=="function"?m(b):m;if(v)y(_);else if(g){const w=_.length===0?b.map(x=>({type:"remove",id:x.id})):_.map(x=>({item:x,type:"reset"}));g(w)}},[]),a=k.useCallback(m=>{const{edges:S=[],setEdges:y,hasDefaultEdges:v,onEdgesChange:g}=t.getState(),b=typeof m=="function"?m(S):m;if(v)y(b);else if(g){const _=b.length===0?S.map(w=>({type:"remove",id:w.id})):b.map(w=>({item:w,type:"reset"}));g(_)}},[]),l=k.useCallback(m=>{const S=Array.isArray(m)?m:[m],{getNodes:y,setNodes:v,hasDefaultNodes:g,onNodesChange:b}=t.getState();if(g){const w=[...y(),...S];v(w)}else if(b){const _=S.map(w=>({item:w,type:"add"}));b(_)}},[]),u=k.useCallback(m=>{const S=Array.isArray(m)?m:[m],{edges:y=[],setEdges:v,hasDefaultEdges:g,onEdgesChange:b}=t.getState();if(g)v([...y,...S]);else if(b){const _=S.map(w=>({item:w,type:"add"}));b(_)}},[]),c=k.useCallback(()=>{const{getNodes:m,edges:S=[],transform:y}=t.getState(),[v,g,b]=y;return{nodes:m().map(_=>({..._})),edges:S.map(_=>({..._})),viewport:{x:v,y:g,zoom:b}}},[]),d=k.useCallback(({nodes:m,edges:S})=>{const{nodeInternals:y,getNodes:v,edges:g,hasDefaultNodes:b,hasDefaultEdges:_,onNodesDelete:w,onEdgesDelete:x,onNodesChange:T,onEdgesChange:P}=t.getState(),E=(m||[]).map(R=>R.id),A=(S||[]).map(R=>R.id),$=v().reduce((R,M)=>{const N=!E.includes(M.id)&&M.parentNode&&R.find(D=>D.id===M.parentNode);return(typeof M.deletable=="boolean"?M.deletable:!0)&&(E.includes(M.id)||N)&&R.push(M),R},[]),I=g.filter(R=>typeof R.deletable=="boolean"?R.deletable:!0),C=I.filter(R=>A.includes(R.id));if($||C){const R=TM($,I),M=[...C,...R],N=M.reduce((O,D)=>(O.includes(D.id)||O.push(D.id),O),[]);if((_||b)&&(_&&t.setState({edges:g.filter(O=>!N.includes(O.id))}),b&&($.forEach(O=>{y.delete(O.id)}),t.setState({nodeInternals:new Map(y)}))),N.length>0&&(x==null||x(M),P&&P(N.map(O=>({id:O,type:"remove"})))),$.length>0&&(w==null||w($),T)){const O=$.map(D=>({id:D.id,type:"remove"}));T(O)}}},[]),f=k.useCallback(m=>{const S=ure(m),y=S?null:t.getState().nodeInternals.get(m.id);return[S?m:UT(y),y,S]},[]),h=k.useCallback((m,S=!0,y)=>{const[v,g,b]=f(m);return v?(y||t.getState().getNodes()).filter(_=>{if(!b&&(_.id===g.id||!_.positionAbsolute))return!1;const w=UT(_),x=e2(w,v);return S&&x>0||x>=m.width*m.height}):[]},[]),p=k.useCallback((m,S,y=!0)=>{const[v]=f(m);if(!v)return!1;const g=e2(v,S);return y&&g>0||g>=m.width*m.height},[]);return k.useMemo(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:s,setEdges:a,addNodes:l,addEdges:u,toObject:c,deleteElements:d,getIntersectingNodes:h,isNodeIntersecting:p}),[e,n,r,i,o,s,a,l,u,c,d,h,p])}var nie=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=Vn(),{deleteElements:r}=qM(),i=Nf(e),o=Nf(t);k.useEffect(()=>{if(i){const{edges:s,getNodes:a}=n.getState(),l=a().filter(c=>c.selected),u=s.filter(c=>c.selected);r({nodes:l,edges:u}),n.setState({nodesSelectionActive:!1})}},[i]),k.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])};function rie(e){const t=Vn();k.useEffect(()=>{let n;const r=()=>{var o,s;if(!e.current)return;const i=Jx(e.current);(i.height===0||i.width===0)&&((s=(o=t.getState()).onError)==null||s.call(o,"004",qs.error004())),t.setState({width:i.width||500,height:i.height||500})};return r(),window.addEventListener("resize",r),e.current&&(n=new ResizeObserver(()=>r()),n.observe(e.current)),()=>{window.removeEventListener("resize",r),n&&e.current&&n.unobserve(e.current)}},[])}const aC={position:"absolute",width:"100%",height:"100%",top:0,left:0},iie=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,Mb=e=>({x:e.x,y:e.y,zoom:e.k}),Fl=(e,t)=>e.target.closest(`.${t}`),sE=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),oie=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),sie=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:s=!1,panOnScrollSpeed:a=.5,panOnScrollMode:l=Iu.Free,zoomOnDoubleClick:u=!0,elementsSelectable:c,panOnDrag:d=!0,defaultViewport:f,translateExtent:h,minZoom:p,maxZoom:m,zoomActivationKeyCode:S,preventScrolling:y=!0,children:v,noWheelClassName:g,noPanClassName:b})=>{const _=k.useRef(),w=Vn(),x=k.useRef(!1),T=k.useRef(!1),P=k.useRef(null),E=k.useRef({x:0,y:0,zoom:0}),{d3Zoom:A,d3Selection:$,d3ZoomHandler:I,userSelectionActive:C}=jt(oie,br),R=Nf(S),M=k.useRef(0);return rie(P),k.useEffect(()=>{if(P.current){const N=P.current.getBoundingClientRect(),O=nre().scaleExtent([p,m]).translateExtent(h),D=fi(P.current).call(O),L=Ms.translate(f.x,f.y).scale(ic(f.zoom,p,m)),j=[[0,0],[N.width,N.height]],U=O.constrain()(L,j,h);O.transform(D,U),w.setState({d3Zoom:O,d3Selection:D,d3ZoomHandler:D.on("wheel.zoom"),transform:[U.x,U.y,U.k],domNode:P.current.closest(".react-flow")})}},[]),k.useEffect(()=>{$&&A&&(s&&!R&&!C?$.on("wheel.zoom",N=>{if(Fl(N,g))return!1;N.preventDefault(),N.stopImmediatePropagation();const O=$.property("__zoom").k||1;if(N.ctrlKey&&o){const U=$i(N),G=-N.deltaY*(N.deltaMode===1?.05:N.deltaMode?1:.002)*10,W=O*Math.pow(2,G);A.scaleTo($,W,U);return}const D=N.deltaMode===1?20:1,L=l===Iu.Vertical?0:N.deltaX*D,j=l===Iu.Horizontal?0:N.deltaY*D;A.translateBy($,-(L/O)*a,-(j/O)*a)},{passive:!1}):typeof I<"u"&&$.on("wheel.zoom",function(N,O){if(!y||Fl(N,g))return null;N.preventDefault(),I.call(this,N,O)},{passive:!1}))},[C,s,l,$,A,I,R,o,y,g]),k.useEffect(()=>{A&&A.on("start",N=>{var D;if(!N.sourceEvent)return null;M.current=N.sourceEvent.button;const{onViewportChangeStart:O}=w.getState();if(x.current=!0,((D=N.sourceEvent)==null?void 0:D.type)==="mousedown"&&w.setState({paneDragging:!0}),t||O){const L=Mb(N.transform);E.current=L,O==null||O(L),t==null||t(N.sourceEvent,L)}})},[A,t]),k.useEffect(()=>{A&&(C&&!x.current?A.on("zoom",null):C||A.on("zoom",N=>{const{onViewportChange:O}=w.getState();if(w.setState({transform:[N.transform.x,N.transform.y,N.transform.k]}),T.current=!!(r&&sE(d,M.current??0)),e||O){const D=Mb(N.transform);O==null||O(D),e==null||e(N.sourceEvent,D)}}))},[C,A,e,d,r]),k.useEffect(()=>{A&&A.on("end",N=>{if(!N.sourceEvent)return null;const{onViewportChangeEnd:O}=w.getState();if(x.current=!1,w.setState({paneDragging:!1}),r&&sE(d,M.current??0)&&!T.current&&r(N.sourceEvent),T.current=!1,(n||O)&&iie(E.current,N.transform)){const D=Mb(N.transform);E.current=D,clearTimeout(_.current),_.current=setTimeout(()=>{O==null||O(D),n==null||n(N.sourceEvent,D)},s?150:0)}})},[A,s,d,n,r]),k.useEffect(()=>{A&&A.filter(N=>{const O=R||i,D=o&&N.ctrlKey;if(N.button===1&&N.type==="mousedown"&&(Fl(N,"react-flow__node")||Fl(N,"react-flow__edge")))return!0;if(!d&&!O&&!s&&!u&&!o||C||!u&&N.type==="dblclick"||Fl(N,g)&&N.type==="wheel"||Fl(N,b)&&N.type!=="wheel"||!o&&N.ctrlKey&&N.type==="wheel"||!O&&!s&&!D&&N.type==="wheel"||!d&&(N.type==="mousedown"||N.type==="touchstart")||Array.isArray(d)&&!d.includes(N.button)&&(N.type==="mousedown"||N.type==="touchstart"))return!1;const L=Array.isArray(d)&&d.includes(N.button)||!N.button||N.button<=1;return(!N.ctrlKey||N.type==="wheel")&&L})},[C,A,i,o,s,u,d,c,R]),K.jsx("div",{className:"react-flow__renderer",ref:P,style:aC,children:v})},aie=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function lie(){const{userSelectionActive:e,userSelectionRect:t}=jt(aie,br);return e&&t?K.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function aE(e,t){const n=e.find(r=>r.id===t.parentNode);if(n){const r=t.position.x+t.width-n.width,i=t.position.y+t.height-n.height;if(r>0||i>0||t.position.x<0||t.position.y<0){if(n.style={...n.style},n.style.width=n.style.width??n.width,n.style.height=n.style.height??n.height,r>0&&(n.style.width+=r),i>0&&(n.style.height+=i),t.position.x<0){const o=Math.abs(t.position.x);n.position.x=n.position.x-o,n.style.width+=o,t.position.x=0}if(t.position.y<0){const o=Math.abs(t.position.y);n.position.y=n.position.y-o,n.style.height+=o,t.position.y=0}n.width=n.style.width,n.height=n.style.height}}}function WM(e,t){if(e.some(r=>r.type==="reset"))return e.filter(r=>r.type==="reset").map(r=>r.item);const n=e.filter(r=>r.type==="add").map(r=>r.item);return t.reduce((r,i)=>{const o=e.filter(a=>a.id===i.id);if(o.length===0)return r.push(i),r;const s={...i};for(const a of o)if(a)switch(a.type){case"select":{s.selected=a.selected;break}case"position":{typeof a.position<"u"&&(s.position=a.position),typeof a.positionAbsolute<"u"&&(s.positionAbsolute=a.positionAbsolute),typeof a.dragging<"u"&&(s.dragging=a.dragging),s.expandParent&&aE(r,s);break}case"dimensions":{typeof a.dimensions<"u"&&(s.width=a.dimensions.width,s.height=a.dimensions.height),typeof a.updateStyle<"u"&&(s.style={...s.style||{},...a.dimensions}),typeof a.resizing=="boolean"&&(s.resizing=a.resizing),s.expandParent&&aE(r,s);break}case"remove":return r}return r.push(s),r},n)}function KM(e,t){return WM(e,t)}function uie(e,t){return WM(e,t)}const ds=(e,t)=>({id:e,type:"select",selected:t});function fu(e,t){return e.reduce((n,r)=>{const i=t.includes(r.id);return!r.selected&&i?(r.selected=!0,n.push(ds(r.id,!0))):r.selected&&!i&&(r.selected=!1,n.push(ds(r.id,!1))),n},[])}const Ib=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},cie=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),XM=k.memo(({isSelecting:e,selectionMode:t=If.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:s,onPaneScroll:a,onPaneMouseEnter:l,onPaneMouseMove:u,onPaneMouseLeave:c,children:d})=>{const f=k.useRef(null),h=Vn(),p=k.useRef(0),m=k.useRef(0),S=k.useRef(),{userSelectionActive:y,elementsSelectable:v,dragging:g}=jt(cie,br),b=()=>{h.setState({userSelectionActive:!1,userSelectionRect:null}),p.current=0,m.current=0},_=I=>{o==null||o(I),h.getState().resetSelectedElements(),h.setState({nodesSelectionActive:!1})},w=I=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){I.preventDefault();return}s==null||s(I)},x=a?I=>a(I):void 0,T=I=>{const{resetSelectedElements:C,domNode:R}=h.getState();if(S.current=R==null?void 0:R.getBoundingClientRect(),!v||!e||I.button!==0||I.target!==f.current||!S.current)return;const{x:M,y:N}=Is(I,S.current);C(),h.setState({userSelectionRect:{width:0,height:0,startX:M,startY:N,x:M,y:N}}),r==null||r(I)},P=I=>{const{userSelectionRect:C,nodeInternals:R,edges:M,transform:N,onNodesChange:O,onEdgesChange:D,nodeOrigin:L,getNodes:j}=h.getState();if(!e||!S.current||!C)return;h.setState({userSelectionActive:!0,nodesSelectionActive:!1});const U=Is(I,S.current),G=C.startX??0,W=C.startY??0,X={...C,x:U.xJ.id),Q=B.map(J=>J.id);if(p.current!==Q.length){p.current=Q.length;const J=fu(Y,Q);J.length&&(O==null||O(J))}if(m.current!==H.length){m.current=H.length;const J=fu(M,H);J.length&&(D==null||D(J))}h.setState({userSelectionRect:X})},E=I=>{if(I.button!==0)return;const{userSelectionRect:C}=h.getState();!y&&C&&I.target===f.current&&(_==null||_(I)),h.setState({nodesSelectionActive:p.current>0}),b(),i==null||i(I)},A=I=>{y&&(h.setState({nodesSelectionActive:p.current>0}),i==null||i(I)),b()},$=v&&(e||y);return K.jsxs("div",{className:ti(["react-flow__pane",{dragging:g,selection:e}]),onClick:$?void 0:Ib(_,f),onContextMenu:Ib(w,f),onWheel:Ib(x,f),onMouseEnter:$?void 0:l,onMouseDown:$?T:void 0,onMouseMove:$?P:u,onMouseUp:$?E:void 0,onMouseLeave:$?A:c,ref:f,style:aC,children:[d,K.jsx(lie,{})]})});XM.displayName="Pane";const die=e=>{const t=e.getNodes().filter(n=>n.selected);return{...xM(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function fie({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=Vn(),{width:i,height:o,x:s,y:a,transformString:l,userSelectionActive:u}=jt(die,br),c=zM(),d=k.useRef(null);if(k.useEffect(()=>{var p;n||(p=d.current)==null||p.focus({preventScroll:!0})},[n]),VM({nodeRef:d}),u||!i||!o)return null;const f=e?p=>{const m=r.getState().getNodes().filter(S=>S.selected);e(p,m)}:void 0,h=p=>{Object.prototype.hasOwnProperty.call(Du,p.key)&&c({x:Du[p.key].x,y:Du[p.key].y,isShiftPressed:p.shiftKey})};return K.jsx("div",{className:ti(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l},children:K.jsx("div",{ref:d,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:n?void 0:-1,onKeyDown:n?void 0:h,style:{width:i,height:o,top:a,left:s}})})}var hie=k.memo(fie);const pie=e=>e.nodesSelectionActive,YM=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,deleteKeyCode:a,onMove:l,onMoveStart:u,onMoveEnd:c,selectionKeyCode:d,selectionOnDrag:f,selectionMode:h,onSelectionStart:p,onSelectionEnd:m,multiSelectionKeyCode:S,panActivationKeyCode:y,zoomActivationKeyCode:v,elementsSelectable:g,zoomOnScroll:b,zoomOnPinch:_,panOnScroll:w,panOnScrollSpeed:x,panOnScrollMode:T,zoomOnDoubleClick:P,panOnDrag:E,defaultViewport:A,translateExtent:$,minZoom:I,maxZoom:C,preventScrolling:R,onSelectionContextMenu:M,noWheelClassName:N,noPanClassName:O,disableKeyboardA11y:D})=>{const L=jt(pie),j=Nf(d),G=Nf(y)||E,W=j||f&&G!==!0;return nie({deleteKeyCode:a,multiSelectionKeyCode:S}),K.jsx(sie,{onMove:l,onMoveStart:u,onMoveEnd:c,onPaneContextMenu:o,elementsSelectable:g,zoomOnScroll:b,zoomOnPinch:_,panOnScroll:w,panOnScrollSpeed:x,panOnScrollMode:T,zoomOnDoubleClick:P,panOnDrag:!j&&G,defaultViewport:A,translateExtent:$,minZoom:I,maxZoom:C,zoomActivationKeyCode:v,preventScrolling:R,noWheelClassName:N,noPanClassName:O,children:K.jsxs(XM,{onSelectionStart:p,onSelectionEnd:m,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,panOnDrag:G,isSelecting:!!W,selectionMode:h,children:[e,L&&K.jsx(hie,{onSelectionContextMenu:M,noPanClassName:O,disableKeyboardA11y:D})]})})};YM.displayName="FlowRenderer";var gie=k.memo(YM);function mie(e){return jt(k.useCallback(n=>e?CM(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[e]))}const yie=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),QM=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:s}=jt(yie,br),a=mie(e.onlyRenderVisibleElements),l=k.useRef(),u=k.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const c=new ResizeObserver(d=>{const f=d.map(h=>({id:h.target.getAttribute("data-id"),nodeElement:h.target,forceUpdate:!0}));o(f)});return l.current=c,c},[]);return k.useEffect(()=>()=>{var c;(c=l==null?void 0:l.current)==null||c.disconnect()},[]),K.jsx("div",{className:"react-flow__nodes",style:aC,children:a.map(c=>{var _,w;let d=c.type||"default";e.nodeTypes[d]||(s==null||s("003",qs.error003(d)),d="default");const f=e.nodeTypes[d]||e.nodeTypes.default,h=!!(c.draggable||t&&typeof c.draggable>"u"),p=!!(c.selectable||i&&typeof c.selectable>"u"),m=!!(c.connectable||n&&typeof c.connectable>"u"),S=!!(c.focusable||r&&typeof c.focusable>"u"),y=e.nodeExtent?eC(c.positionAbsolute,e.nodeExtent):c.positionAbsolute,v=(y==null?void 0:y.x)??0,g=(y==null?void 0:y.y)??0,b=Xre({x:v,y:g,width:c.width??0,height:c.height??0,origin:e.nodeOrigin});return K.jsx(f,{id:c.id,className:c.className,style:c.style,type:d,data:c.data,sourcePosition:c.sourcePosition||pe.Bottom,targetPosition:c.targetPosition||pe.Top,hidden:c.hidden,xPos:v,yPos:g,xPosOrigin:b.x,yPosOrigin:b.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!c.selected,isDraggable:h,isSelectable:p,isConnectable:m,isFocusable:S,resizeObserver:u,dragHandle:c.dragHandle,zIndex:((_=c[rn])==null?void 0:_.z)??0,isParent:!!((w=c[rn])!=null&&w.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!c.width&&!!c.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:c.ariaLabel},c.id)})})};QM.displayName="NodeRenderer";var vie=k.memo(QM);const bie=[{level:0,isMaxLevel:!0,edges:[]}];function Sie(e,t,n=!1){let r=-1;const i=e.reduce((s,a)=>{var c,d;const l=Kr(a.zIndex);let u=l?a.zIndex:0;if(n){const f=t.get(a.target),h=t.get(a.source),p=a.selected||(f==null?void 0:f.selected)||(h==null?void 0:h.selected),m=Math.max(((c=h==null?void 0:h[rn])==null?void 0:c.z)||0,((d=f==null?void 0:f[rn])==null?void 0:d.z)||0,1e3);u=(l?a.zIndex:0)+(p?m:0)}return s[u]?s[u].push(a):s[u]=[a],r=u>r?u:r,s},{}),o=Object.entries(i).map(([s,a])=>{const l=+s;return{edges:a,level:l,isMaxLevel:l===r}});return o.length===0?bie:o}function _ie(e,t,n){const r=jt(k.useCallback(i=>e?i.edges.filter(o=>{const s=t.get(o.source),a=t.get(o.target);return(s==null?void 0:s.width)&&(s==null?void 0:s.height)&&(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&Gre({sourcePos:s.positionAbsolute||{x:0,y:0},targetPos:a.positionAbsolute||{x:0,y:0},sourceWidth:s.width,sourceHeight:s.height,targetWidth:a.width,targetHeight:a.height,width:i.width,height:i.height,transform:i.transform})}):i.edges,[e,t]));return Sie(r,t,n)}const wie=({color:e="none",strokeWidth:t=1})=>K.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:"none",points:"-5,-4 0,0 -5,4"}),xie=({color:e="none",strokeWidth:t=1})=>K.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:e,points:"-5,-4 0,0 -5,4 -5,-4"}),lE={[$m.Arrow]:wie,[$m.ArrowClosed]:xie};function Cie(e){const t=Vn();return k.useMemo(()=>{var i,o;return Object.prototype.hasOwnProperty.call(lE,e)?lE[e]:((o=(i=t.getState()).onError)==null||o.call(i,"009",qs.error009(e)),null)},[e])}const Tie=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:o="strokeWidth",strokeWidth:s,orient:a="auto-start-reverse"})=>{const l=Cie(t);return l?K.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:a,refX:"0",refY:"0",children:K.jsx(l,{color:n,strokeWidth:s})}):null},Eie=({defaultColor:e,rfId:t})=>n=>{const r=[];return n.edges.reduce((i,o)=>([o.markerStart,o.markerEnd].forEach(s=>{if(s&&typeof s=="object"){const a=r2(s,t);r.includes(a)||(i.push({id:a,color:s.color||e,...s}),r.push(a))}}),i),[]).sort((i,o)=>i.id.localeCompare(o.id))},ZM=({defaultColor:e,rfId:t})=>{const n=jt(k.useCallback(Eie({defaultColor:e,rfId:t}),[e,t]),(r,i)=>!(r.length!==i.length||r.some((o,s)=>o.id!==i[s].id)));return K.jsx("defs",{children:n.map(r=>K.jsx(Tie,{id:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient},r.id))})};ZM.displayName="MarkerDefinitions";var Pie=k.memo(ZM);const Aie=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),JM=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeUpdate:s,onEdgeContextMenu:a,onEdgeMouseEnter:l,onEdgeMouseMove:u,onEdgeMouseLeave:c,onEdgeClick:d,edgeUpdaterRadius:f,onEdgeDoubleClick:h,onEdgeUpdateStart:p,onEdgeUpdateEnd:m,children:S})=>{const{edgesFocusable:y,edgesUpdatable:v,elementsSelectable:g,width:b,height:_,connectionMode:w,nodeInternals:x,onError:T}=jt(Aie,br),P=_ie(t,x,n);return b?K.jsxs(K.Fragment,{children:[P.map(({level:E,edges:A,isMaxLevel:$})=>K.jsxs("svg",{style:{zIndex:E},width:b,height:_,className:"react-flow__edges react-flow__container",children:[$&&K.jsx(Pie,{defaultColor:e,rfId:r}),K.jsx("g",{children:A.map(I=>{const[C,R,M]=tE(x.get(I.source)),[N,O,D]=tE(x.get(I.target));if(!M||!D)return null;let L=I.type||"default";i[L]||(T==null||T("011",qs.error011(L)),L="default");const j=i[L]||i.default,U=w===rl.Strict?O.target:(O.target??[]).concat(O.source??[]),G=eE(R.source,I.sourceHandle),W=eE(U,I.targetHandle),X=(G==null?void 0:G.position)||pe.Bottom,Y=(W==null?void 0:W.position)||pe.Top,B=!!(I.focusable||y&&typeof I.focusable>"u"),H=typeof s<"u"&&(I.updatable||v&&typeof I.updatable>"u");if(!G||!W)return T==null||T("008",qs.error008(G,I)),null;const{sourceX:Q,sourceY:J,targetX:ne,targetY:te}=Ure(C,G,X,N,W,Y);return K.jsx(j,{id:I.id,className:ti([I.className,o]),type:L,data:I.data,selected:!!I.selected,animated:!!I.animated,hidden:!!I.hidden,label:I.label,labelStyle:I.labelStyle,labelShowBg:I.labelShowBg,labelBgStyle:I.labelBgStyle,labelBgPadding:I.labelBgPadding,labelBgBorderRadius:I.labelBgBorderRadius,style:I.style,source:I.source,target:I.target,sourceHandleId:I.sourceHandle,targetHandleId:I.targetHandle,markerEnd:I.markerEnd,markerStart:I.markerStart,sourceX:Q,sourceY:J,targetX:ne,targetY:te,sourcePosition:X,targetPosition:Y,elementsSelectable:g,onEdgeUpdate:s,onContextMenu:a,onMouseEnter:l,onMouseMove:u,onMouseLeave:c,onClick:d,edgeUpdaterRadius:f,onEdgeDoubleClick:h,onEdgeUpdateStart:p,onEdgeUpdateEnd:m,rfId:r,ariaLabel:I.ariaLabel,isFocusable:B,isUpdatable:H,pathOptions:"pathOptions"in I?I.pathOptions:void 0,interactionWidth:I.interactionWidth},I.id)})})]},E)),S]}):null};JM.displayName="EdgeRenderer";var kie=k.memo(JM);const Rie=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Oie({children:e}){const t=jt(Rie);return K.jsx("div",{className:"react-flow__viewport react-flow__container",style:{transform:t},children:e})}function Mie(e){const t=qM(),n=k.useRef(!1);k.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const Iie={[pe.Left]:pe.Right,[pe.Right]:pe.Left,[pe.Top]:pe.Bottom,[pe.Bottom]:pe.Top},eI=({nodeId:e,handleType:t,style:n,type:r=ys.Bezier,CustomComponent:i,connectionStatus:o})=>{var w,x,T;const{fromNode:s,handleId:a,toX:l,toY:u,connectionMode:c}=jt(k.useCallback(P=>({fromNode:P.nodeInternals.get(e),handleId:P.connectionHandleId,toX:(P.connectionPosition.x-P.transform[0])/P.transform[2],toY:(P.connectionPosition.y-P.transform[1])/P.transform[2],connectionMode:P.connectionMode}),[e]),br),d=(w=s==null?void 0:s[rn])==null?void 0:w.handleBounds;let f=d==null?void 0:d[t];if(c===rl.Loose&&(f=f||(d==null?void 0:d[t==="source"?"target":"source"])),!s||!f)return null;const h=a?f.find(P=>P.id===a):f[0],p=h?h.x+h.width/2:(s.width??0)/2,m=h?h.y+h.height/2:s.height??0,S=(((x=s.positionAbsolute)==null?void 0:x.x)??0)+p,y=(((T=s.positionAbsolute)==null?void 0:T.y)??0)+m,v=h==null?void 0:h.position,g=v?Iie[v]:null;if(!v||!g)return null;if(i)return K.jsx(i,{connectionLineType:r,connectionLineStyle:n,fromNode:s,fromHandle:h,fromX:S,fromY:y,toX:l,toY:u,fromPosition:v,toPosition:g,connectionStatus:o});let b="";const _={sourceX:S,sourceY:y,sourcePosition:v,targetX:l,targetY:u,targetPosition:g};return r===ys.Bezier?[b]=SM(_):r===ys.Step?[b]=n2({..._,borderRadius:0}):r===ys.SmoothStep?[b]=n2(_):r===ys.SimpleBezier?[b]=bM(_):b=`M${S},${y} ${l},${u}`,K.jsx("path",{d:b,fill:"none",className:"react-flow__connection-path",style:n})};eI.displayName="ConnectionLine";const Nie=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function Die({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:s,width:a,height:l,connectionStatus:u}=jt(Nie,br);return!(i&&o&&a&&s)?null:K.jsx("svg",{style:e,width:a,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container",children:K.jsx("g",{className:ti(["react-flow__connection",u]),children:K.jsx(eI,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:u})})})}const tI=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:s,onEdgeClick:a,onNodeDoubleClick:l,onEdgeDoubleClick:u,onNodeMouseEnter:c,onNodeMouseMove:d,onNodeMouseLeave:f,onNodeContextMenu:h,onSelectionContextMenu:p,onSelectionStart:m,onSelectionEnd:S,connectionLineType:y,connectionLineStyle:v,connectionLineComponent:g,connectionLineContainerStyle:b,selectionKeyCode:_,selectionOnDrag:w,selectionMode:x,multiSelectionKeyCode:T,panActivationKeyCode:P,zoomActivationKeyCode:E,deleteKeyCode:A,onlyRenderVisibleElements:$,elementsSelectable:I,selectNodesOnDrag:C,defaultViewport:R,translateExtent:M,minZoom:N,maxZoom:O,preventScrolling:D,defaultMarkerColor:L,zoomOnScroll:j,zoomOnPinch:U,panOnScroll:G,panOnScrollSpeed:W,panOnScrollMode:X,zoomOnDoubleClick:Y,panOnDrag:B,onPaneClick:H,onPaneMouseEnter:Q,onPaneMouseMove:J,onPaneMouseLeave:ne,onPaneScroll:te,onPaneContextMenu:xe,onEdgeUpdate:ve,onEdgeContextMenu:ce,onEdgeMouseEnter:De,onEdgeMouseMove:se,onEdgeMouseLeave:pt,edgeUpdaterRadius:yn,onEdgeUpdateStart:Mt,onEdgeUpdateEnd:ut,noDragClassName:tt,noWheelClassName:Ut,noPanClassName:sr,elevateEdgesOnSelect:ni,disableKeyboardA11y:Lr,nodeOrigin:On,nodeExtent:vn,rfId:Un})=>(Mie(o),K.jsx(gie,{onPaneClick:H,onPaneMouseEnter:Q,onPaneMouseMove:J,onPaneMouseLeave:ne,onPaneContextMenu:xe,onPaneScroll:te,deleteKeyCode:A,selectionKeyCode:_,selectionOnDrag:w,selectionMode:x,onSelectionStart:m,onSelectionEnd:S,multiSelectionKeyCode:T,panActivationKeyCode:P,zoomActivationKeyCode:E,elementsSelectable:I,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:j,zoomOnPinch:U,zoomOnDoubleClick:Y,panOnScroll:G,panOnScrollSpeed:W,panOnScrollMode:X,panOnDrag:B,defaultViewport:R,translateExtent:M,minZoom:N,maxZoom:O,onSelectionContextMenu:p,preventScrolling:D,noDragClassName:tt,noWheelClassName:Ut,noPanClassName:sr,disableKeyboardA11y:Lr,children:K.jsxs(Oie,{children:[K.jsx(kie,{edgeTypes:t,onEdgeClick:a,onEdgeDoubleClick:u,onEdgeUpdate:ve,onlyRenderVisibleElements:$,onEdgeContextMenu:ce,onEdgeMouseEnter:De,onEdgeMouseMove:se,onEdgeMouseLeave:pt,onEdgeUpdateStart:Mt,onEdgeUpdateEnd:ut,edgeUpdaterRadius:yn,defaultMarkerColor:L,noPanClassName:sr,elevateEdgesOnSelect:!!ni,disableKeyboardA11y:Lr,rfId:Un,children:K.jsx(Die,{style:v,type:y,component:g,containerStyle:b})}),K.jsx("div",{className:"react-flow__edgelabel-renderer"}),K.jsx(vie,{nodeTypes:e,onNodeClick:s,onNodeDoubleClick:l,onNodeMouseEnter:c,onNodeMouseMove:d,onNodeMouseLeave:f,onNodeContextMenu:h,selectNodesOnDrag:C,onlyRenderVisibleElements:$,noPanClassName:sr,noDragClassName:tt,disableKeyboardA11y:Lr,nodeOrigin:On,nodeExtent:vn,rfId:Un})]})}));tI.displayName="GraphView";var Lie=k.memo(tI);const s2=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],rs={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:s2,nodeExtent:s2,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:rl.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:cre,isValidConnection:void 0},$ie=()=>wJ((e,t)=>({...rs,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:Ob(n,r,i,o)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:r={}}=t();e({edges:n.map(i=>({...r,...i}))})},setDefaultNodesAndEdges:(n,r)=>{const i=typeof n<"u",o=typeof r<"u",s=i?Ob(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:s,edges:o?r:[],hasDefaultNodes:i,hasDefaultEdges:o})},updateNodeDimensions:n=>{const{onNodesChange:r,nodeInternals:i,fitViewOnInit:o,fitViewOnInitDone:s,fitViewOnInitOptions:a,domNode:l,nodeOrigin:u}=t(),c=l==null?void 0:l.querySelector(".react-flow__viewport");if(!c)return;const d=window.getComputedStyle(c),{m22:f}=new window.DOMMatrixReadOnly(d.transform),h=n.reduce((m,S)=>{const y=i.get(S.id);if(y){const v=Jx(S.nodeElement);!!(v.width&&v.height&&(y.width!==v.width||y.height!==v.height||S.forceUpdate))&&(i.set(y.id,{...y,[rn]:{...y[rn],handleBounds:{source:rE(".source",S.nodeElement,f,u),target:rE(".target",S.nodeElement,f,u)}},...v}),m.push({id:y.id,type:"dimensions",dimensions:v}))}return m},[]);GM(i,u);const p=s||o&&!s&&HM(t,{initial:!0,...a});e({nodeInternals:new Map(i),fitViewOnInitDone:p}),(h==null?void 0:h.length)>0&&(r==null||r(h))},updateNodePositions:(n,r=!0,i=!1)=>{const{triggerNodeChanges:o}=t(),s=n.map(a=>{const l={id:a.id,type:"position",dragging:i};return r&&(l.positionAbsolute=a.positionAbsolute,l.position=a.position),l});o(s)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:i,hasDefaultNodes:o,nodeOrigin:s,getNodes:a,elevateNodesOnSelect:l}=t();if(n!=null&&n.length){if(o){const u=KM(n,a()),c=Ob(u,i,s,l);e({nodeInternals:c})}r==null||r(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>ds(l,!0)):(s=fu(o(),n),a=fu(i,[])),kp({changedNodes:s,changedEdges:a,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>ds(l,!0)):(s=fu(i,n),a=fu(o(),[])),kp({changedNodes:a,changedEdges:s,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:i,getNodes:o}=t(),s=n||o(),a=r||i,l=s.map(c=>(c.selected=!1,ds(c.id,!1))),u=a.map(c=>ds(c.id,!1));kp({changedNodes:l,changedEdges:u,get:t,set:e})},setMinZoom:n=>{const{d3Zoom:r,maxZoom:i}=t();r==null||r.scaleExtent([n,i]),e({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:r,minZoom:i}=t();r==null||r.scaleExtent([i,n]),e({maxZoom:n})},setTranslateExtent:n=>{var r;(r=t().d3Zoom)==null||r.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:r}=t(),o=r().filter(a=>a.selected).map(a=>ds(a.id,!1)),s=n.filter(a=>a.selected).map(a=>ds(a.id,!1));kp({changedNodes:o,changedEdges:s,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(i=>{i.positionAbsolute=eC(i.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:n=>{const{transform:r,width:i,height:o,d3Zoom:s,d3Selection:a,translateExtent:l}=t();if(!s||!a||!n.x&&!n.y)return!1;const u=Ms.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),c=[[0,0],[i,o]],d=s==null?void 0:s.constrain()(u,c,l);return s.transform(a,d),r[0]!==d.x||r[1]!==d.y||r[2]!==d.k},cancelConnection:()=>e({connectionNodeId:rs.connectionNodeId,connectionHandleId:rs.connectionHandleId,connectionHandleType:rs.connectionHandleType,connectionStatus:rs.connectionStatus,connectionStartHandle:rs.connectionStartHandle,connectionEndHandle:rs.connectionEndHandle}),reset:()=>e({...rs})})),nI=({children:e})=>{const t=k.useRef(null);return t.current||(t.current=$ie()),K.jsx(rre,{value:t.current,children:e})};nI.displayName="ReactFlowProvider";const rI=({children:e})=>k.useContext(M0)?K.jsx(K.Fragment,{children:e}):K.jsx(nI,{children:e});rI.displayName="ReactFlowWrapper";function uE(e,t){return k.useRef(null),k.useMemo(()=>t(e),[e])}const Fie={input:IM,default:i2,output:DM,group:sC},Bie={default:Fm,straight:rC,step:nC,smoothstep:I0,simplebezier:tC},jie=[0,0],Vie=[15,15],zie={x:0,y:0,zoom:1},Uie={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},Gie=k.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=Fie,edgeTypes:s=Bie,onNodeClick:a,onEdgeClick:l,onInit:u,onMove:c,onMoveStart:d,onMoveEnd:f,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:S,onClickConnectEnd:y,onNodeMouseEnter:v,onNodeMouseMove:g,onNodeMouseLeave:b,onNodeContextMenu:_,onNodeDoubleClick:w,onNodeDragStart:x,onNodeDrag:T,onNodeDragStop:P,onNodesDelete:E,onEdgesDelete:A,onSelectionChange:$,onSelectionDragStart:I,onSelectionDrag:C,onSelectionDragStop:R,onSelectionContextMenu:M,onSelectionStart:N,onSelectionEnd:O,connectionMode:D=rl.Strict,connectionLineType:L=ys.Bezier,connectionLineStyle:j,connectionLineComponent:U,connectionLineContainerStyle:G,deleteKeyCode:W="Backspace",selectionKeyCode:X="Shift",selectionOnDrag:Y=!1,selectionMode:B=If.Full,panActivationKeyCode:H="Space",multiSelectionKeyCode:Q="Meta",zoomActivationKeyCode:J="Meta",snapToGrid:ne=!1,snapGrid:te=Vie,onlyRenderVisibleElements:xe=!1,selectNodesOnDrag:ve=!0,nodesDraggable:ce,nodesConnectable:De,nodesFocusable:se,nodeOrigin:pt=jie,edgesFocusable:yn,edgesUpdatable:Mt,elementsSelectable:ut,defaultViewport:tt=zie,minZoom:Ut=.5,maxZoom:sr=2,translateExtent:ni=s2,preventScrolling:Lr=!0,nodeExtent:On,defaultMarkerColor:vn="#b1b1b7",zoomOnScroll:Un=!0,zoomOnPinch:Gt=!0,panOnScroll:xt=!1,panOnScrollSpeed:wr=.5,panOnScrollMode:$r=Iu.Free,zoomOnDoubleClick:ri=!0,panOnDrag:uo=!0,onPaneClick:bn,onPaneMouseEnter:ii,onPaneMouseMove:da,onPaneMouseLeave:ki,onPaneScroll:fa,onPaneContextMenu:Ct,children:nt,onEdgeUpdate:Sn,onEdgeContextMenu:an,onEdgeDoubleClick:Mn,onEdgeMouseEnter:Gn,onEdgeMouseMove:ar,onEdgeMouseLeave:Ri,onEdgeUpdateStart:Hn,onEdgeUpdateEnd:_n,edgeUpdaterRadius:co=10,onNodesChange:Zo,onEdgesChange:Jo,noDragClassName:Al="nodrag",noWheelClassName:fo="nowheel",noPanClassName:qn="nopan",fitView:ha=!1,fitViewOptions:g1,connectOnClick:m1=!0,attributionPosition:y1,proOptions:v1,defaultEdgeOptions:es,elevateNodesOnSelect:b1=!0,elevateEdgesOnSelect:S1=!1,disableKeyboardA11y:Hh=!1,autoPanOnConnect:_1=!0,autoPanOnNodeDrag:w1=!0,connectionRadius:x1=20,isValidConnection:kc,onError:C1,style:kl,id:Rl,...T1},Ol)=>{const qh=uE(o,Kre),E1=uE(s,zre),Rc=Rl||"1";return K.jsx("div",{...T1,style:{...kl,...Uie},ref:Ol,className:ti(["react-flow",i]),"data-testid":"rf__wrapper",id:Rl,children:K.jsxs(rI,{children:[K.jsx(Lie,{onInit:u,onMove:c,onMoveStart:d,onMoveEnd:f,onNodeClick:a,onEdgeClick:l,onNodeMouseEnter:v,onNodeMouseMove:g,onNodeMouseLeave:b,onNodeContextMenu:_,onNodeDoubleClick:w,nodeTypes:qh,edgeTypes:E1,connectionLineType:L,connectionLineStyle:j,connectionLineComponent:U,connectionLineContainerStyle:G,selectionKeyCode:X,selectionOnDrag:Y,selectionMode:B,deleteKeyCode:W,multiSelectionKeyCode:Q,panActivationKeyCode:H,zoomActivationKeyCode:J,onlyRenderVisibleElements:xe,selectNodesOnDrag:ve,defaultViewport:tt,translateExtent:ni,minZoom:Ut,maxZoom:sr,preventScrolling:Lr,zoomOnScroll:Un,zoomOnPinch:Gt,zoomOnDoubleClick:ri,panOnScroll:xt,panOnScrollSpeed:wr,panOnScrollMode:$r,panOnDrag:uo,onPaneClick:bn,onPaneMouseEnter:ii,onPaneMouseMove:da,onPaneMouseLeave:ki,onPaneScroll:fa,onPaneContextMenu:Ct,onSelectionContextMenu:M,onSelectionStart:N,onSelectionEnd:O,onEdgeUpdate:Sn,onEdgeContextMenu:an,onEdgeDoubleClick:Mn,onEdgeMouseEnter:Gn,onEdgeMouseMove:ar,onEdgeMouseLeave:Ri,onEdgeUpdateStart:Hn,onEdgeUpdateEnd:_n,edgeUpdaterRadius:co,defaultMarkerColor:vn,noDragClassName:Al,noWheelClassName:fo,noPanClassName:qn,elevateEdgesOnSelect:S1,rfId:Rc,disableKeyboardA11y:Hh,nodeOrigin:pt,nodeExtent:On}),K.jsx(Ire,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:S,onClickConnectEnd:y,nodesDraggable:ce,nodesConnectable:De,nodesFocusable:se,edgesFocusable:yn,edgesUpdatable:Mt,elementsSelectable:ut,elevateNodesOnSelect:b1,minZoom:Ut,maxZoom:sr,nodeExtent:On,onNodesChange:Zo,onEdgesChange:Jo,snapToGrid:ne,snapGrid:te,connectionMode:D,translateExtent:ni,connectOnClick:m1,defaultEdgeOptions:es,fitView:ha,fitViewOptions:g1,onNodesDelete:E,onEdgesDelete:A,onNodeDragStart:x,onNodeDrag:T,onNodeDragStop:P,onSelectionDrag:C,onSelectionDragStart:I,onSelectionDragStop:R,noPanClassName:qn,nodeOrigin:pt,rfId:Rc,autoPanOnConnect:_1,autoPanOnNodeDrag:w1,onError:C1,connectionRadius:x1,isValidConnection:kc}),K.jsx(Ore,{onSelectionChange:$}),nt,K.jsx(sre,{proOptions:v1,position:y1}),K.jsx(Fre,{rfId:Rc,disableKeyboardA11y:Hh})]})})});Gie.displayName="ReactFlow";var iI={},N0={},D0={};Object.defineProperty(D0,"__esModule",{value:!0});D0.createLogMethods=void 0;var Hie=function(){return{debug:console.debug.bind(console),error:console.error.bind(console),fatal:console.error.bind(console),info:console.info.bind(console),trace:console.debug.bind(console),warn:console.warn.bind(console)}};D0.createLogMethods=Hie;var lC={},L0={};Object.defineProperty(L0,"__esModule",{value:!0});L0.boolean=void 0;const qie=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1"].includes(e.trim().toLowerCase());case"[object Number]":return e.valueOf()===1;case"[object Boolean]":return e.valueOf();default:return!1}};L0.boolean=qie;var $0={};Object.defineProperty($0,"__esModule",{value:!0});$0.isBooleanable=void 0;const Wie=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1","false","f","no","n","off","0"].includes(e.trim().toLowerCase());case"[object Number]":return[0,1].includes(e.valueOf());case"[object Boolean]":return!0;default:return!1}};$0.isBooleanable=Wie;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isBooleanable=e.boolean=void 0;const t=L0;Object.defineProperty(e,"boolean",{enumerable:!0,get:function(){return t.boolean}});const n=$0;Object.defineProperty(e,"isBooleanable",{enumerable:!0,get:function(){return n.isBooleanable}})})(lC);var cE=Object.prototype.toString,oI=function(t){var n=cE.call(t),r=n==="[object Arguments]";return r||(r=n!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&cE.call(t.callee)==="[object Function]"),r},Nb,dE;function Kie(){if(dE)return Nb;dE=1;var e;if(!Object.keys){var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=oI,i=Object.prototype.propertyIsEnumerable,o=!i.call({toString:null},"toString"),s=i.call(function(){},"prototype"),a=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],l=function(f){var h=f.constructor;return h&&h.prototype===f},u={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},c=function(){if(typeof window>"u")return!1;for(var f in window)try{if(!u["$"+f]&&t.call(window,f)&&window[f]!==null&&typeof window[f]=="object")try{l(window[f])}catch{return!0}}catch{return!0}return!1}(),d=function(f){if(typeof window>"u"||!c)return l(f);try{return l(f)}catch{return!1}};e=function(h){var p=h!==null&&typeof h=="object",m=n.call(h)==="[object Function]",S=r(h),y=p&&n.call(h)==="[object String]",v=[];if(!p&&!m&&!S)throw new TypeError("Object.keys called on a non-object");var g=s&&m;if(y&&h.length>0&&!t.call(h,0))for(var b=0;b0)for(var _=0;_"u"||!un?Re:un(Uint8Array),Ga={"%AggregateError%":typeof AggregateError>"u"?Re:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?Re:ArrayBuffer,"%ArrayIteratorPrototype%":Bl&&un?un([][Symbol.iterator]()):Re,"%AsyncFromSyncIteratorPrototype%":Re,"%AsyncFunction%":Ql,"%AsyncGenerator%":Ql,"%AsyncGeneratorFunction%":Ql,"%AsyncIteratorPrototype%":Ql,"%Atomics%":typeof Atomics>"u"?Re:Atomics,"%BigInt%":typeof BigInt>"u"?Re:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?Re:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?Re:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?Re:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?Re:Float32Array,"%Float64Array%":typeof Float64Array>"u"?Re:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?Re:FinalizationRegistry,"%Function%":aI,"%GeneratorFunction%":Ql,"%Int8Array%":typeof Int8Array>"u"?Re:Int8Array,"%Int16Array%":typeof Int16Array>"u"?Re:Int16Array,"%Int32Array%":typeof Int32Array>"u"?Re:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Bl&&un?un(un([][Symbol.iterator]())):Re,"%JSON%":typeof JSON=="object"?JSON:Re,"%Map%":typeof Map>"u"?Re:Map,"%MapIteratorPrototype%":typeof Map>"u"||!Bl||!un?Re:un(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?Re:Promise,"%Proxy%":typeof Proxy>"u"?Re:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?Re:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?Re:Set,"%SetIteratorPrototype%":typeof Set>"u"||!Bl||!un?Re:un(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?Re:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Bl&&un?un(""[Symbol.iterator]()):Re,"%Symbol%":Bl?Symbol:Re,"%SyntaxError%":oc,"%ThrowTypeError%":coe,"%TypedArray%":foe,"%TypeError%":Lu,"%Uint8Array%":typeof Uint8Array>"u"?Re:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?Re:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?Re:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?Re:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?Re:WeakMap,"%WeakRef%":typeof WeakRef>"u"?Re:WeakRef,"%WeakSet%":typeof WeakSet>"u"?Re:WeakSet};if(un)try{null.error}catch(e){var hoe=un(un(e));Ga["%Error.prototype%"]=hoe}var poe=function e(t){var n;if(t==="%AsyncFunction%")n=Lb("async function () {}");else if(t==="%GeneratorFunction%")n=Lb("function* () {}");else if(t==="%AsyncGeneratorFunction%")n=Lb("async function* () {}");else if(t==="%AsyncGenerator%"){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if(t==="%AsyncIteratorPrototype%"){var i=e("%AsyncGenerator%");i&&un&&(n=un(i.prototype))}return Ga[t]=n,n},mE={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},_h=sI,jm=uoe,goe=_h.call(Function.call,Array.prototype.concat),moe=_h.call(Function.apply,Array.prototype.splice),yE=_h.call(Function.call,String.prototype.replace),Vm=_h.call(Function.call,String.prototype.slice),yoe=_h.call(Function.call,RegExp.prototype.exec),voe=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,boe=/\\(\\)?/g,Soe=function(t){var n=Vm(t,0,1),r=Vm(t,-1);if(n==="%"&&r!=="%")throw new oc("invalid intrinsic syntax, expected closing `%`");if(r==="%"&&n!=="%")throw new oc("invalid intrinsic syntax, expected opening `%`");var i=[];return yE(t,voe,function(o,s,a,l){i[i.length]=a?yE(l,boe,"$1"):s||o}),i},_oe=function(t,n){var r=t,i;if(jm(mE,r)&&(i=mE[r],r="%"+i[0]+"%"),jm(Ga,r)){var o=Ga[r];if(o===Ql&&(o=poe(r)),typeof o>"u"&&!n)throw new Lu("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:r,value:o}}throw new oc("intrinsic "+t+" does not exist!")},woe=function(t,n){if(typeof t!="string"||t.length===0)throw new Lu("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof n!="boolean")throw new Lu('"allowMissing" argument must be a boolean');if(yoe(/^%?[^%]*%?$/,t)===null)throw new oc("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=Soe(t),i=r.length>0?r[0]:"",o=_oe("%"+i+"%",n),s=o.name,a=o.value,l=!1,u=o.alias;u&&(i=u[0],moe(r,goe([0,1],u)));for(var c=1,d=!0;c=r.length){var m=Ua(a,f);d=!!m,d&&"get"in m&&!("originalValue"in m.get)?a=m.get:a=a[f]}else d=jm(a,f),a=a[f];d&&!l&&(Ga[s]=a)}}return a},xoe=woe,a2=xoe("%Object.defineProperty%",!0),l2=function(){if(a2)try{return a2({},"a",{value:1}),!0}catch{return!1}return!1};l2.hasArrayLengthDefineBug=function(){if(!l2())return null;try{return a2([],"length",{value:1}).length!==1}catch{return!0}};var Coe=l2,Toe=Qie,Eoe=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",Poe=Object.prototype.toString,Aoe=Array.prototype.concat,lI=Object.defineProperty,koe=function(e){return typeof e=="function"&&Poe.call(e)==="[object Function]"},Roe=Coe(),uI=lI&&Roe,Ooe=function(e,t,n,r){if(t in e){if(r===!0){if(e[t]===n)return}else if(!koe(r)||!r())return}uI?lI(e,t,{configurable:!0,enumerable:!1,value:n,writable:!0}):e[t]=n},cI=function(e,t){var n=arguments.length>2?arguments[2]:{},r=Toe(t);Eoe&&(r=Aoe.call(r,Object.getOwnPropertySymbols(t)));for(var i=0;i":return t>e;case":<":return t=":return t>=e;case":<=":return t<=e;default:throw new Error("Unimplemented comparison operator: ".concat(n))}};V0.testComparisonRange=Zoe;var z0={};Object.defineProperty(z0,"__esModule",{value:!0});z0.testRange=void 0;var Joe=function(e,t){return typeof e=="number"?!(et.max||e===t.max&&!t.maxInclusive):!1};z0.testRange=Joe;(function(e){var t=Ee&&Ee.__assign||function(){return t=Object.assign||function(c){for(var d,f=1,h=arguments.length;f0?{path:l.path,query:new RegExp("("+l.keywords.map(function(u){return(0,nse.escapeRegexString)(u.trim())}).join("|")+")")}:{path:l.path}})};U0.highlight=ise;var G0={},yI={exports:{}};(function(e){(function(t,n){e.exports?e.exports=n():t.nearley=n()})(Ee,function(){function t(u,c,d){return this.id=++t.highestId,this.name=u,this.symbols=c,this.postprocess=d,this}t.highestId=0,t.prototype.toString=function(u){var c=typeof u>"u"?this.symbols.map(l).join(" "):this.symbols.slice(0,u).map(l).join(" ")+" ● "+this.symbols.slice(u).map(l).join(" ");return this.name+" → "+c};function n(u,c,d,f){this.rule=u,this.dot=c,this.reference=d,this.data=[],this.wantedBy=f,this.isComplete=this.dot===u.symbols.length}n.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},n.prototype.nextState=function(u){var c=new n(this.rule,this.dot+1,this.reference,this.wantedBy);return c.left=this,c.right=u,c.isComplete&&(c.data=c.build(),c.right=void 0),c},n.prototype.build=function(){var u=[],c=this;do u.push(c.right.data),c=c.left;while(c.left);return u.reverse(),u},n.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))};function r(u,c){this.grammar=u,this.index=c,this.states=[],this.wants={},this.scannable=[],this.completed={}}r.prototype.process=function(u){for(var c=this.states,d=this.wants,f=this.completed,h=0;h0&&c.push(" ^ "+f+" more lines identical to this"),f=0,c.push(" "+m)),d=m}},s.prototype.getSymbolDisplay=function(u){return a(u)},s.prototype.buildFirstStateStack=function(u,c){if(c.indexOf(u)!==-1)return null;if(u.wantedBy.length===0)return[u];var d=u.wantedBy[0],f=[u].concat(c),h=this.buildFirstStateStack(d,f);return h===null?null:[u].concat(h)},s.prototype.save=function(){var u=this.table[this.current];return u.lexerState=this.lexerState,u},s.prototype.restore=function(u){var c=u.index;this.current=c,this.table[c]=u,this.table.splice(c+1),this.lexerState=u.lexerState,this.results=this.finish()},s.prototype.rewind=function(u){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[u])},s.prototype.finish=function(){var u=[],c=this.grammar.start,d=this.table[this.table.length-1];return d.states.forEach(function(f){f.rule.name===c&&f.dot===f.rule.symbols.length&&f.reference===0&&f.data!==s.fail&&u.push(f)}),u.map(function(f){return f.data})};function a(u){var c=typeof u;if(c==="string")return u;if(c==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return"character matching "+u;if(u.type)return u.type+" token";if(u.test)return"token matching "+String(u.test);throw new Error("Unknown symbol type: "+u)}}function l(u){var c=typeof u;if(c==="string")return u;if(c==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return u.toString();if(u.type)return"%"+u.type;if(u.test)return"<"+String(u.test)+">";throw new Error("Unknown symbol type: "+u)}}return{Parser:s,Grammar:i,Rule:t}})})(yI);var ose=yI.exports,il={},vI={},ra={};ra.__esModule=void 0;ra.__esModule=!0;var sse=typeof Object.setPrototypeOf=="function",ase=typeof Object.getPrototypeOf=="function",lse=typeof Object.defineProperty=="function",use=typeof Object.create=="function",cse=typeof Object.prototype.hasOwnProperty=="function",dse=function(t,n){sse?Object.setPrototypeOf(t,n):t.__proto__=n};ra.setPrototypeOf=dse;var fse=function(t){return ase?Object.getPrototypeOf(t):t.__proto__||t.prototype};ra.getPrototypeOf=fse;var vE=!1,hse=function e(t,n,r){if(lse&&!vE)try{Object.defineProperty(t,n,r)}catch{vE=!0,e(t,n,r)}else t[n]=r.value};ra.defineProperty=hse;var bI=function(t,n){return cse?t.hasOwnProperty(t,n):t[n]===void 0};ra.hasOwnProperty=bI;var pse=function(t,n){if(use)return Object.create(t,n);var r=function(){};r.prototype=t;var i=new r;if(typeof n>"u")return i;if(typeof n=="null")throw new Error("PropertyDescriptors must not be null.");if(typeof n=="object")for(var o in n)bI(n,o)&&(i[o]=n[o].value);return i};ra.objectCreate=pse;(function(e){e.__esModule=void 0,e.__esModule=!0;var t=ra,n=t.setPrototypeOf,r=t.getPrototypeOf,i=t.defineProperty,o=t.objectCreate,s=new Error().toString()==="[object Error]",a="";function l(u){var c=this.constructor,d=c.name||function(){var S=c.toString().match(/^function\s*([^\s(]+)/);return S===null?a||"Error":S[1]}(),f=d==="Error",h=f?a:d,p=Error.apply(this,arguments);if(n(p,r(this)),!(p instanceof c)||!(p instanceof l)){var p=this;Error.apply(this,arguments),i(p,"message",{configurable:!0,enumerable:!1,value:u,writable:!0})}if(i(p,"name",{configurable:!0,enumerable:!1,value:h,writable:!0}),Error.captureStackTrace&&Error.captureStackTrace(p,f?l:c),p.stack===void 0){var m=new Error(u);m.name=p.name,p.stack=m.stack}return s&&i(p,"toString",{configurable:!0,enumerable:!1,value:function(){return(this.name||"Error")+(typeof this.message>"u"?"":": "+this.message)},writable:!0}),p}a=l.name||"ExtendableError",l.prototype=o(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),e.ExtendableError=l,e.default=e.ExtendableError})(vI);var SI=Ee&&Ee.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(r[o]=i[o])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(il,"__esModule",{value:!0});il.SyntaxError=il.LiqeError=void 0;var gse=vI,_I=function(e){SI(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(gse.ExtendableError);il.LiqeError=_I;var mse=function(e){SI(t,e);function t(n,r,i,o){var s=e.call(this,n)||this;return s.message=n,s.offset=r,s.line=i,s.column=o,s}return t}(_I);il.SyntaxError=mse;var dC={},zm=Ee&&Ee.__assign||function(){return zm=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$2"]},{name:"comparison_operator$subexpression$1$string$3",symbols:[{literal:":"},{literal:"<"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$3"]},{name:"comparison_operator$subexpression$1$string$4",symbols:[{literal:":"},{literal:">"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$4"]},{name:"comparison_operator$subexpression$1$string$5",symbols:[{literal:":"},{literal:"<"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$5"]},{name:"comparison_operator",symbols:["comparison_operator$subexpression$1"],postprocess:function(e,t){return{location:{start:t,end:t+e[0][0].length},type:"ComparisonOperator",operator:e[0][0]}}},{name:"regex",symbols:["regex_body","regex_flags"],postprocess:function(e){return e.join("")}},{name:"regex_body$ebnf$1",symbols:[]},{name:"regex_body$ebnf$1",symbols:["regex_body$ebnf$1","regex_body_char"],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_body",symbols:[{literal:"/"},"regex_body$ebnf$1",{literal:"/"}],postprocess:function(e){return"/"+e[1].join("")+"/"}},{name:"regex_body_char",symbols:[/[^\\]/],postprocess:po},{name:"regex_body_char",symbols:[{literal:"\\"},/[^\\]/],postprocess:function(e){return"\\"+e[1]}},{name:"regex_flags",symbols:[]},{name:"regex_flags$ebnf$1",symbols:[/[gmiyusd]/]},{name:"regex_flags$ebnf$1",symbols:["regex_flags$ebnf$1",/[gmiyusd]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_flags",symbols:["regex_flags$ebnf$1"],postprocess:function(e){return e[0].join("")}},{name:"unquoted_value$ebnf$1",symbols:[]},{name:"unquoted_value$ebnf$1",symbols:["unquoted_value$ebnf$1",/[a-zA-Z\.\-_*@#$]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"unquoted_value",symbols:[/[a-zA-Z_*@#$]/,"unquoted_value$ebnf$1"],postprocess:function(e){return e[0]+e[1].join("")}}],ParserStart:"main"};dC.default=yse;var wI={},H0={},Ch={};Object.defineProperty(Ch,"__esModule",{value:!0});Ch.isSafePath=void 0;var vse=/^(\.(?:[_a-zA-Z][a-zA-Z\d_]*|\0|[1-9]\d*))+$/u,bse=function(e){return vse.test(e)};Ch.isSafePath=bse;Object.defineProperty(H0,"__esModule",{value:!0});H0.createGetValueFunctionBody=void 0;var Sse=Ch,_se=function(e){if(!(0,Sse.isSafePath)(e))throw new Error("Unsafe path.");var t="return subject"+e;return t.replace(/(\.(\d+))/g,".[$2]").replace(/\./g,"?.")};H0.createGetValueFunctionBody=_se;(function(e){var t=Ee&&Ee.__assign||function(){return t=Object.assign||function(o){for(var s,a=1,l=arguments.length;a\d+) col (?\d+)/,Pse=function(e){if(e.trim()==="")return{location:{end:0,start:0},type:"EmptyExpression"};var t=new CI.default.Parser(Tse),n;try{n=t.feed(e).results}catch(o){if(typeof(o==null?void 0:o.message)=="string"&&typeof(o==null?void 0:o.offset)=="number"){var r=o.message.match(Ese);throw r?new wse.SyntaxError("Syntax error at line ".concat(r.groups.line," column ").concat(r.groups.column),o.offset,Number(r.groups.line),Number(r.groups.column)):o}throw o}if(n.length===0)throw new Error("Found no parsings.");if(n.length>1)throw new Error("Ambiguous results.");var i=(0,Cse.hydrateAst)(n[0]);return i};G0.parse=Pse;var q0={};Object.defineProperty(q0,"__esModule",{value:!0});q0.test=void 0;var Ase=wh,kse=function(e,t){return(0,Ase.filter)(e,[t]).length===1};q0.test=kse;var TI={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.serialize=void 0;var t=function(o,s){return s==="double"?'"'.concat(o,'"'):s==="single"?"'".concat(o,"'"):o},n=function(o){if(o.type==="LiteralExpression")return o.quoted&&typeof o.value=="string"?t(o.value,o.quotes):String(o.value);if(o.type==="RegexExpression")return String(o.value);if(o.type==="RangeExpression"){var s=o.range,a=s.min,l=s.max,u=s.minInclusive,c=s.maxInclusive;return"".concat(u?"[":"{").concat(a," TO ").concat(l).concat(c?"]":"}")}if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")},r=function(o){if(o.type!=="Tag")throw new Error("Expected a tag expression.");var s=o.field,a=o.expression,l=o.operator;if(s.type==="ImplicitField")return n(a);var u=s.quoted?t(s.name,s.quotes):s.name,c=" ".repeat(a.location.start-l.location.end);return u+l.operator+c+n(a)},i=function(o){if(o.type==="ParenthesizedExpression"){if(!("location"in o.expression))throw new Error("Expected location in expression.");if(!o.location.end)throw new Error("Expected location end.");var s=" ".repeat(o.expression.location.start-(o.location.start+1)),a=" ".repeat(o.location.end-o.expression.location.end-1);return"(".concat(s).concat((0,e.serialize)(o.expression)).concat(a,")")}if(o.type==="Tag")return r(o);if(o.type==="LogicalExpression"){var l="";return o.operator.type==="BooleanOperator"?(l+=" ".repeat(o.operator.location.start-o.left.location.end),l+=o.operator.operator,l+=" ".repeat(o.right.location.start-o.operator.location.end)):l=" ".repeat(o.right.location.start-o.left.location.end),"".concat((0,e.serialize)(o.left)).concat(l).concat((0,e.serialize)(o.right))}if(o.type==="UnaryOperator")return(o.operator==="NOT"?"NOT ":o.operator)+(0,e.serialize)(o.operand);if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")};e.serialize=i})(TI);var W0={};Object.defineProperty(W0,"__esModule",{value:!0});W0.isSafeUnquotedExpression=void 0;var Rse=function(e){return/^[#$*@A-Z_a-z][#$*.@A-Z_a-z-]*$/.test(e)};W0.isSafeUnquotedExpression=Rse;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isSafeUnquotedExpression=e.serialize=e.SyntaxError=e.LiqeError=e.test=e.parse=e.highlight=e.filter=void 0;var t=wh;Object.defineProperty(e,"filter",{enumerable:!0,get:function(){return t.filter}});var n=U0;Object.defineProperty(e,"highlight",{enumerable:!0,get:function(){return n.highlight}});var r=G0;Object.defineProperty(e,"parse",{enumerable:!0,get:function(){return r.parse}});var i=q0;Object.defineProperty(e,"test",{enumerable:!0,get:function(){return i.test}});var o=il;Object.defineProperty(e,"LiqeError",{enumerable:!0,get:function(){return o.LiqeError}}),Object.defineProperty(e,"SyntaxError",{enumerable:!0,get:function(){return o.SyntaxError}});var s=TI;Object.defineProperty(e,"serialize",{enumerable:!0,get:function(){return s.serialize}});var a=W0;Object.defineProperty(e,"isSafeUnquotedExpression",{enumerable:!0,get:function(){return a.isSafeUnquotedExpression}})})(mI);var Th={},EI={},ol={};Object.defineProperty(ol,"__esModule",{value:!0});ol.ROARR_LOG_FORMAT_VERSION=ol.ROARR_VERSION=void 0;ol.ROARR_VERSION="5.0.0";ol.ROARR_LOG_FORMAT_VERSION="2.0.0";var Eh={};Object.defineProperty(Eh,"__esModule",{value:!0});Eh.logLevels=void 0;Eh.logLevels={debug:20,error:50,fatal:60,info:30,trace:10,warn:40};var PI={},K0={};Object.defineProperty(K0,"__esModule",{value:!0});K0.hasOwnProperty=void 0;const Ose=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);K0.hasOwnProperty=Ose;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.hasOwnProperty=void 0;var t=K0;Object.defineProperty(e,"hasOwnProperty",{enumerable:!0,get:function(){return t.hasOwnProperty}})})(PI);var AI={},X0={},Y0={};Object.defineProperty(Y0,"__esModule",{value:!0});Y0.tokenize=void 0;const Mse=/(?:%(?([+0-]|-\+))?(?\d+)?(?\d+\$)?(?\.\d+)?(?[%BCESb-iosux]))|(\\%)/g,Ise=e=>{let t;const n=[];let r=0,i=0,o=null;for(;(t=Mse.exec(e))!==null;){t.index>i&&(o={literal:e.slice(i,t.index),type:"literal"},n.push(o));const s=t[0];i=t.index+s.length,s==="\\%"||s==="%%"?o&&o.type==="literal"?o.literal+="%":(o={literal:"%",type:"literal"},n.push(o)):t.groups&&(o={conversion:t.groups.conversion,flag:t.groups.flag||null,placeholder:s,position:t.groups.position?Number.parseInt(t.groups.position,10)-1:r++,precision:t.groups.precision?Number.parseInt(t.groups.precision.slice(1),10):null,type:"placeholder",width:t.groups.width?Number.parseInt(t.groups.width,10):null},n.push(o))}return i<=e.length-1&&(o&&o.type==="literal"?o.literal+=e.slice(i):n.push({literal:e.slice(i),type:"literal"})),n};Y0.tokenize=Ise;Object.defineProperty(X0,"__esModule",{value:!0});X0.createPrintf=void 0;const bE=lC,Nse=Y0,Dse=(e,t)=>t.placeholder,Lse=e=>{var t;const n=(o,s,a)=>a==="-"?o.padEnd(s," "):a==="-+"?((Number(o)>=0?"+":"")+o).padEnd(s," "):a==="+"?((Number(o)>=0?"+":"")+o).padStart(s," "):a==="0"?o.padStart(s,"0"):o.padStart(s," "),r=(t=e==null?void 0:e.formatUnboundExpression)!==null&&t!==void 0?t:Dse,i={};return(o,...s)=>{let a=i[o];a||(a=i[o]=Nse.tokenize(o));let l="";for(const u of a)if(u.type==="literal")l+=u.literal;else{let c=s[u.position];if(c===void 0)l+=r(o,u,s);else if(u.conversion==="b")l+=bE.boolean(c)?"true":"false";else if(u.conversion==="B")l+=bE.boolean(c)?"TRUE":"FALSE";else if(u.conversion==="c")l+=c;else if(u.conversion==="C")l+=String(c).toUpperCase();else if(u.conversion==="i"||u.conversion==="d")c=String(Math.trunc(c)),u.width!==null&&(c=n(c,u.width,u.flag)),l+=c;else if(u.conversion==="e")l+=Number(c).toExponential();else if(u.conversion==="E")l+=Number(c).toExponential().toUpperCase();else if(u.conversion==="f")u.precision!==null&&(c=Number(c).toFixed(u.precision)),u.width!==null&&(c=n(String(c),u.width,u.flag)),l+=c;else if(u.conversion==="o")l+=(Number.parseInt(String(c),10)>>>0).toString(8);else if(u.conversion==="s")u.width!==null&&(c=n(String(c),u.width,u.flag)),l+=c;else if(u.conversion==="S")u.width!==null&&(c=n(String(c),u.width,u.flag)),l+=String(c).toUpperCase();else if(u.conversion==="u")l+=Number.parseInt(String(c),10)>>>0;else if(u.conversion==="x")c=(Number.parseInt(String(c),10)>>>0).toString(16),u.width!==null&&(c=n(String(c),u.width,u.flag)),l+=c;else throw new Error("Unknown format specifier.")}return l}};X0.createPrintf=Lse;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.printf=e.createPrintf=void 0;const t=X0;Object.defineProperty(e,"createPrintf",{enumerable:!0,get:function(){return t.createPrintf}}),e.printf=t.createPrintf()})(AI);var u2={exports:{}};(function(e,t){const{hasOwnProperty:n}=Object.prototype,r=S();r.configure=S,r.stringify=r,r.default=r,t.stringify=r,t.configure=S,e.exports=r;const i=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?:[^\ud800-\udbff]|^)[\udc00-\udfff]/;function o(y){return y.length<5e3&&!i.test(y)?`"${y}"`:JSON.stringify(y)}function s(y){if(y.length>200)return y.sort();for(let v=1;vg;)y[b]=y[b-1],b--;y[b]=g}return y}const a=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function l(y){return a.call(y)!==void 0&&y.length!==0}function u(y,v,g){y.length= 1`)}return g===void 0?1/0:g}function h(y){return y===1?"1 item":`${y} items`}function p(y){const v=new Set;for(const g of y)(typeof g=="string"||typeof g=="number")&&v.add(String(g));return v}function m(y){if(n.call(y,"strict")){const v=y.strict;if(typeof v!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(v)return g=>{let b=`Object can not safely be stringified. Received type ${typeof g}`;throw typeof g!="function"&&(b+=` (${g.toString()})`),new Error(b)}}}function S(y){y={...y};const v=m(y);v&&(y.bigint===void 0&&(y.bigint=!1),"circularValue"in y||(y.circularValue=Error));const g=c(y),b=d(y,"bigint"),_=d(y,"deterministic"),w=f(y,"maximumDepth"),x=f(y,"maximumBreadth");function T(I,C,R,M,N,O){let D=C[I];switch(typeof D=="object"&&D!==null&&typeof D.toJSON=="function"&&(D=D.toJSON(I)),D=M.call(C,I,D),typeof D){case"string":return o(D);case"object":{if(D===null)return"null";if(R.indexOf(D)!==-1)return g;let L="",j=",";const U=O;if(Array.isArray(D)){if(D.length===0)return"[]";if(wx){const ne=D.length-x-1;L+=`${j}"... ${h(ne)} not stringified"`}return N!==""&&(L+=` -${U}`),R.pop(),`[${L}]`}let G=Object.keys(D);const W=G.length;if(W===0)return"{}";if(wx){const H=W-x;L+=`${Y}"...":${X}"${h(H)} not stringified"`,Y=j}return N!==""&&Y.length>1&&(L=` -${O}${L} -${U}`),R.pop(),`{${L}}`}case"number":return isFinite(D)?String(D):v?v(D):"null";case"boolean":return D===!0?"true":"false";case"undefined":return;case"bigint":if(b)return String(D);default:return v?v(D):void 0}}function P(I,C,R,M,N,O){switch(typeof C=="object"&&C!==null&&typeof C.toJSON=="function"&&(C=C.toJSON(I)),typeof C){case"string":return o(C);case"object":{if(C===null)return"null";if(R.indexOf(C)!==-1)return g;const D=O;let L="",j=",";if(Array.isArray(C)){if(C.length===0)return"[]";if(wx){const B=C.length-x-1;L+=`${j}"... ${h(B)} not stringified"`}return N!==""&&(L+=` -${D}`),R.pop(),`[${L}]`}R.push(C);let U="";N!==""&&(O+=N,j=`, -${O}`,U=" ");let G="";for(const W of M){const X=P(W,C[W],R,M,N,O);X!==void 0&&(L+=`${G}${o(W)}:${U}${X}`,G=j)}return N!==""&&G.length>1&&(L=` -${O}${L} -${D}`),R.pop(),`{${L}}`}case"number":return isFinite(C)?String(C):v?v(C):"null";case"boolean":return C===!0?"true":"false";case"undefined":return;case"bigint":if(b)return String(C);default:return v?v(C):void 0}}function E(I,C,R,M,N){switch(typeof C){case"string":return o(C);case"object":{if(C===null)return"null";if(typeof C.toJSON=="function"){if(C=C.toJSON(I),typeof C!="object")return E(I,C,R,M,N);if(C===null)return"null"}if(R.indexOf(C)!==-1)return g;const O=N;if(Array.isArray(C)){if(C.length===0)return"[]";if(wx){const J=C.length-x-1;X+=`${Y}"... ${h(J)} not stringified"`}return X+=` -${O}`,R.pop(),`[${X}]`}let D=Object.keys(C);const L=D.length;if(L===0)return"{}";if(wx){const X=L-x;U+=`${G}"...": "${h(X)} not stringified"`,G=j}return G!==""&&(U=` -${N}${U} -${O}`),R.pop(),`{${U}}`}case"number":return isFinite(C)?String(C):v?v(C):"null";case"boolean":return C===!0?"true":"false";case"undefined":return;case"bigint":if(b)return String(C);default:return v?v(C):void 0}}function A(I,C,R){switch(typeof C){case"string":return o(C);case"object":{if(C===null)return"null";if(typeof C.toJSON=="function"){if(C=C.toJSON(I),typeof C!="object")return A(I,C,R);if(C===null)return"null"}if(R.indexOf(C)!==-1)return g;let M="";if(Array.isArray(C)){if(C.length===0)return"[]";if(wx){const W=C.length-x-1;M+=`,"... ${h(W)} not stringified"`}return R.pop(),`[${M}]`}let N=Object.keys(C);const O=N.length;if(O===0)return"{}";if(wx){const j=O-x;M+=`${D}"...":"${h(j)} not stringified"`}return R.pop(),`{${M}}`}case"number":return isFinite(C)?String(C):v?v(C):"null";case"boolean":return C===!0?"true":"false";case"undefined":return;case"bigint":if(b)return String(C);default:return v?v(C):void 0}}function $(I,C,R){if(arguments.length>1){let M="";if(typeof R=="number"?M=" ".repeat(Math.min(R,10)):typeof R=="string"&&(M=R.slice(0,10)),C!=null){if(typeof C=="function")return T("",{"":I},[],C,M,"");if(Array.isArray(C))return P("",I,[],p(C),M,"")}if(M.length!==0)return E("",I,[],M,"")}return A("",I,[])}return $}})(u2,u2.exports);var $se=u2.exports;(function(e){var t=Ee&&Ee.__importDefault||function(g){return g&&g.__esModule?g:{default:g}};Object.defineProperty(e,"__esModule",{value:!0}),e.createLogger=void 0;const n=ol,r=Eh,i=PI,o=AI,s=t(uC),a=t($se);let l=!1;const u=(0,s.default)(),c=()=>u.ROARR,d=()=>({messageContext:{},transforms:[]}),f=()=>{const g=c().asyncLocalStorage;if(!g)throw new Error("AsyncLocalContext is unavailable.");const b=g.getStore();return b||d()},h=()=>!!c().asyncLocalStorage,p=()=>{if(h()){const g=f();return(0,i.hasOwnProperty)(g,"sequenceRoot")&&(0,i.hasOwnProperty)(g,"sequence")&&typeof g.sequence=="number"?String(g.sequenceRoot)+"."+String(g.sequence++):String(c().sequence++)}return String(c().sequence++)},m=(g,b)=>(_,w,x,T,P,E,A,$,I,C)=>{g.child({logLevel:b})(_,w,x,T,P,E,A,$,I,C)},S=1e3,y=(g,b)=>(_,w,x,T,P,E,A,$,I,C)=>{const R=(0,a.default)({a:_,b:w,c:x,d:T,e:P,f:E,g:A,h:$,i:I,j:C,logLevel:b});if(!R)throw new Error("Expected key to be a string");const M=c().onceLog;M.has(R)||(M.add(R),M.size>S&&M.clear(),g.child({logLevel:b})(_,w,x,T,P,E,A,$,I,C))},v=(g,b={},_=[])=>{const w=(x,T,P,E,A,$,I,C,R,M)=>{const N=Date.now(),O=p();let D;h()?D=f():D=d();let L,j;if(typeof x=="string"?L={...D.messageContext,...b}:L={...D.messageContext,...b,...x},typeof x=="string"&&T===void 0)j=x;else if(typeof x=="string"){if(!x.includes("%"))throw new Error("When a string parameter is followed by other arguments, then it is assumed that you are attempting to format a message using printf syntax. You either forgot to add printf bindings or if you meant to add context to the log message, pass them in an object as the first parameter.");j=(0,o.printf)(x,T,P,E,A,$,I,C,R,M)}else{let G=T;if(typeof T!="string")if(T===void 0)G="";else throw new TypeError("Message must be a string. Received "+typeof T+".");j=(0,o.printf)(G,P,E,A,$,I,C,R,M)}let U={context:L,message:j,sequence:O,time:N,version:n.ROARR_LOG_FORMAT_VERSION};for(const G of[...D.transforms,..._])if(U=G(U),typeof U!="object"||U===null)throw new Error("Message transform function must return a message object.");g(U)};return w.child=x=>{let T;return h()?T=f():T=d(),typeof x=="function"?(0,e.createLogger)(g,{...T.messageContext,...b,...x},[x,..._]):(0,e.createLogger)(g,{...T.messageContext,...b,...x},_)},w.getContext=()=>{let x;return h()?x=f():x=d(),{...x.messageContext,...b}},w.adopt=async(x,T)=>{if(!h())return l===!1&&(l=!0,g({context:{logLevel:r.logLevels.warn,package:"roarr"},message:"async_hooks are unavailable; Roarr.adopt will not function as expected",sequence:p(),time:Date.now(),version:n.ROARR_LOG_FORMAT_VERSION})),x();const P=f();let E;(0,i.hasOwnProperty)(P,"sequenceRoot")&&(0,i.hasOwnProperty)(P,"sequence")&&typeof P.sequence=="number"?E=P.sequenceRoot+"."+String(P.sequence++):E=String(c().sequence++);let A={...P.messageContext};const $=[...P.transforms];typeof T=="function"?$.push(T):A={...A,...T};const I=c().asyncLocalStorage;if(!I)throw new Error("Async local context unavailable.");return I.run({messageContext:A,sequence:0,sequenceRoot:E,transforms:$},()=>x())},w.debug=m(w,r.logLevels.debug),w.debugOnce=y(w,r.logLevels.debug),w.error=m(w,r.logLevels.error),w.errorOnce=y(w,r.logLevels.error),w.fatal=m(w,r.logLevels.fatal),w.fatalOnce=y(w,r.logLevels.fatal),w.info=m(w,r.logLevels.info),w.infoOnce=y(w,r.logLevels.info),w.trace=m(w,r.logLevels.trace),w.traceOnce=y(w,r.logLevels.trace),w.warn=m(w,r.logLevels.warn),w.warnOnce=y(w,r.logLevels.warn),w};e.createLogger=v})(EI);var Q0={},Fse=function(t,n){for(var r=t.split("."),i=n.split("."),o=0;o<3;o++){var s=Number(r[o]),a=Number(i[o]);if(s>a)return 1;if(a>s)return-1;if(!isNaN(s)&&isNaN(a))return 1;if(isNaN(s)&&!isNaN(a))return-1}return 0},Bse=Ee&&Ee.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Q0,"__esModule",{value:!0});Q0.createRoarrInitialGlobalStateBrowser=void 0;const SE=ol,_E=Bse(Fse),jse=e=>{const t=(e.versions||[]).concat();return t.length>1&&t.sort(_E.default),t.includes(SE.ROARR_VERSION)||t.push(SE.ROARR_VERSION),t.sort(_E.default),{sequence:0,...e,versions:t}};Q0.createRoarrInitialGlobalStateBrowser=jse;var Z0={};Object.defineProperty(Z0,"__esModule",{value:!0});Z0.getLogLevelName=void 0;const Vse=e=>e<=10?"trace":e<=20?"debug":e<=30?"info":e<=40?"warn":e<=50?"error":"fatal";Z0.getLogLevelName=Vse;(function(e){var t=Ee&&Ee.__importDefault||function(d){return d&&d.__esModule?d:{default:d}};Object.defineProperty(e,"__esModule",{value:!0}),e.getLogLevelName=e.logLevels=e.Roarr=e.ROARR=void 0;const n=EI,r=Q0,o=(0,t(uC).default)(),s=(0,r.createRoarrInitialGlobalStateBrowser)(o.ROARR||{});e.ROARR=s,o.ROARR=s;const a=d=>JSON.stringify(d),l=(0,n.createLogger)(d=>{var f;s.write&&s.write(((f=s.serializeMessage)!==null&&f!==void 0?f:a)(d))});e.Roarr=l;var u=Eh;Object.defineProperty(e,"logLevels",{enumerable:!0,get:function(){return u.logLevels}});var c=Z0;Object.defineProperty(e,"getLogLevelName",{enumerable:!0,get:function(){return c.getLogLevelName}})})(Th);var zse=Ee&&Ee.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i0?h("%c ".concat(f," %c").concat(c?" [".concat(String(c),"]:"):"","%c ").concat(a.message," %O"),m,S,y,d):h("%c ".concat(f," %c").concat(c?" [".concat(String(c),"]:"):"","%c ").concat(a.message),m,S,y)}}};N0.createLogWriter=Qse;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createLogWriter=void 0;var t=N0;Object.defineProperty(e,"createLogWriter",{enumerable:!0,get:function(){return t.createLogWriter}})})(iI);Th.ROARR.write=iI.createLogWriter();const RI={};Th.Roarr.child(RI);const J0=E0(Th.Roarr.child(RI)),fe=e=>J0.get().child({namespace:e}),Q3e=["trace","debug","info","warn","error","fatal"],Z3e={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function Zse(){const e=[];return function(t,n){if(typeof n!="object"||n===null)return n;for(;e.length>0&&e.at(-1)!==this;)e.pop();return e.includes(n)?"[Circular]":(e.push(n),n)}}const Df=Vs("nodes/receivedOpenAPISchema",async(e,{dispatch:t,rejectWithValue:n})=>{const r=fe("system");try{const o=await(await fetch("openapi.json")).json();return r.info({openAPISchema:o},"Received OpenAPI schema"),JSON.parse(JSON.stringify(o,Zse()))}catch(i){return n({error:i})}}),OI={nodes:[],edges:[],schema:null,invocationTemplates:{},connectionStartParams:null,shouldShowGraphOverlay:!1,shouldShowFieldTypeLegend:!1,shouldShowMinimapPanel:!0,editorInstance:void 0,progressNodeSize:{width:512,height:512}},MI=Pt({name:"nodes",initialState:OI,reducers:{nodesChanged:(e,t)=>{e.nodes=KM(t.payload,e.nodes)},nodeAdded:(e,t)=>{e.nodes.push(t.payload)},edgesChanged:(e,t)=>{e.edges=uie(t.payload,e.edges)},connectionStarted:(e,t)=>{e.connectionStartParams=t.payload},connectionMade:(e,t)=>{e.edges=_M(t.payload,e.edges)},connectionEnded:e=>{e.connectionStartParams=null},fieldValueChanged:(e,t)=>{const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(s=>s.id===n);o>-1&&(e.nodes[o].data.inputs[r].value=i)},imageCollectionFieldValueChanged:(e,t)=>{const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(a=>a.id===n);if(o===-1)return;const s=Ln(e.nodes[o].data.inputs[r].value);if(!s){e.nodes[o].data.inputs[r].value=i;return}e.nodes[o].data.inputs[r].value=iY(s.concat(i),"image_name")},shouldShowGraphOverlayChanged:(e,t)=>{e.shouldShowGraphOverlay=t.payload},shouldShowFieldTypeLegendChanged:(e,t)=>{e.shouldShowFieldTypeLegend=t.payload},shouldShowMinimapPanelChanged:(e,t)=>{e.shouldShowMinimapPanel=t.payload},nodeTemplatesBuilt:(e,t)=>{e.invocationTemplates=t.payload},nodeEditorReset:e=>{e.nodes=[],e.edges=[]},setEditorInstance:(e,t)=>{e.editorInstance=t.payload},loadFileNodes:(e,t)=>{e.nodes=t.payload},loadFileEdges:(e,t)=>{e.edges=t.payload},setProgressNodeSize:(e,t)=>{e.progressNodeSize=t.payload}},extraReducers:e=>{e.addCase(Df.fulfilled,(t,n)=>{t.schema=n.payload})}}),{nodesChanged:J3e,edgesChanged:e5e,nodeAdded:t5e,fieldValueChanged:c2,connectionMade:n5e,connectionStarted:r5e,connectionEnded:i5e,shouldShowGraphOverlayChanged:o5e,shouldShowFieldTypeLegendChanged:s5e,shouldShowMinimapPanelChanged:a5e,nodeTemplatesBuilt:fC,nodeEditorReset:II,imageCollectionFieldValueChanged:l5e,setEditorInstance:u5e,loadFileNodes:c5e,loadFileEdges:d5e,setProgressNodeSize:f5e}=MI.actions,Jse=MI.reducer,NI={esrganModelName:"RealESRGAN_x4plus.pth"},DI=Pt({name:"postprocessing",initialState:NI,reducers:{esrganModelNameChanged:(e,t)=>{e.esrganModelName=t.payload}}}),{esrganModelNameChanged:h5e}=DI.actions,eae=DI.reducer,tae={positiveStylePrompt:"",negativeStylePrompt:"",shouldConcatSDXLStylePrompt:!0,shouldUseSDXLRefiner:!1,sdxlImg2ImgDenoisingStrength:.7,refinerModel:null,refinerSteps:20,refinerCFGScale:7.5,refinerScheduler:"euler",refinerAestheticScore:6,refinerStart:.7},LI=Pt({name:"sdxl",initialState:tae,reducers:{setPositiveStylePromptSDXL:(e,t)=>{e.positiveStylePrompt=t.payload},setNegativeStylePromptSDXL:(e,t)=>{e.negativeStylePrompt=t.payload},setShouldConcatSDXLStylePrompt:(e,t)=>{e.shouldConcatSDXLStylePrompt=t.payload},setShouldUseSDXLRefiner:(e,t)=>{e.shouldUseSDXLRefiner=t.payload},setSDXLImg2ImgDenoisingStrength:(e,t)=>{e.sdxlImg2ImgDenoisingStrength=t.payload},refinerModelChanged:(e,t)=>{e.refinerModel=t.payload},setRefinerSteps:(e,t)=>{e.refinerSteps=t.payload},setRefinerCFGScale:(e,t)=>{e.refinerCFGScale=t.payload},setRefinerScheduler:(e,t)=>{e.refinerScheduler=t.payload},setRefinerAestheticScore:(e,t)=>{e.refinerAestheticScore=t.payload},setRefinerStart:(e,t)=>{e.refinerStart=t.payload}}}),{setPositiveStylePromptSDXL:p5e,setNegativeStylePromptSDXL:g5e,setShouldConcatSDXLStylePrompt:m5e,setShouldUseSDXLRefiner:nae,setSDXLImg2ImgDenoisingStrength:y5e,refinerModelChanged:xE,setRefinerSteps:v5e,setRefinerCFGScale:b5e,setRefinerScheduler:S5e,setRefinerAestheticScore:_5e,setRefinerStart:w5e}=LI.actions,rae=LI.reducer,Ph=ue("app/userInvoked"),iae={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class Um{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||iae,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]=this.observers[r]||[],this.observers[r].push(n)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t]=this.observers[t].filter(r=>r!==n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{s(...r)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(s=>{s.apply(s,[t,...r])})}}function Yc(){let e,t;const n=new Promise((r,i)=>{e=r,t=i});return n.resolve=e,n.reject=t,n}function CE(e){return e==null?"":""+e}function oae(e,t,n){e.forEach(r=>{t[r]&&(n[r]=t[r])})}function hC(e,t,n){function r(s){return s&&s.indexOf("###")>-1?s.replace(/###/g,"."):s}function i(){return!e||typeof e=="string"}const o=typeof t!="string"?[].concat(t):t.split(".");for(;o.length>1;){if(i())return{};const s=r(o.shift());!e[s]&&n&&(e[s]=new n),Object.prototype.hasOwnProperty.call(e,s)?e=e[s]:e={}}return i()?{}:{obj:e,k:r(o.shift())}}function TE(e,t,n){const{obj:r,k:i}=hC(e,t,Object);r[i]=n}function sae(e,t,n,r){const{obj:i,k:o}=hC(e,t,Object);i[o]=i[o]||[],r&&(i[o]=i[o].concat(n)),r||i[o].push(n)}function Gm(e,t){const{obj:n,k:r}=hC(e,t);if(n)return n[r]}function aae(e,t,n){const r=Gm(e,n);return r!==void 0?r:Gm(t,n)}function $I(e,t,n){for(const r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?typeof e[r]=="string"||e[r]instanceof String||typeof t[r]=="string"||t[r]instanceof String?n&&(e[r]=t[r]):$I(e[r],t[r],n):e[r]=t[r]);return e}function jl(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var lae={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function uae(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,t=>lae[t]):e}const cae=[" ",",","?","!",";"];function dae(e,t,n){t=t||"",n=n||"";const r=cae.filter(s=>t.indexOf(s)<0&&n.indexOf(s)<0);if(r.length===0)return!0;const i=new RegExp(`(${r.map(s=>s==="?"?"\\?":s).join("|")})`);let o=!i.test(e);if(!o){const s=e.indexOf(n);s>0&&!i.test(e.substring(0,s))&&(o=!0)}return o}function Hm(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let i=e;for(let o=0;oo+s;)s++,a=r.slice(o,o+s).join(n),l=i[a];if(l===void 0)return;if(l===null)return null;if(t.endsWith(a)){if(typeof l=="string")return l;if(a&&typeof l[a]=="string")return l[a]}const u=r.slice(o+s).join(n);return u?Hm(l,u,n):void 0}i=i[r[o]]}return i}function qm(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class EE extends ev{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const o=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,s=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let a=[t,n];r&&typeof r!="string"&&(a=a.concat(r)),r&&typeof r=="string"&&(a=a.concat(o?r.split(o):r)),t.indexOf(".")>-1&&(a=t.split("."));const l=Gm(this.data,a);return l||!s||typeof r!="string"?l:Hm(this.data&&this.data[t]&&this.data[t][n],r,o)}addResource(t,n,r,i){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator;let a=[t,n];r&&(a=a.concat(s?r.split(s):r)),t.indexOf(".")>-1&&(a=t.split("."),i=n,n=a[1]),this.addNamespaces(n),TE(this.data,a,i),o.silent||this.emit("added",t,n,r,i)}addResources(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const o in r)(typeof r[o]=="string"||Object.prototype.toString.apply(r[o])==="[object Array]")&&this.addResource(t,n,o,r[o],{silent:!0});i.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},a=[t,n];t.indexOf(".")>-1&&(a=t.split("."),i=r,r=n,n=a[1]),this.addNamespaces(n);let l=Gm(this.data,a)||{};i?$I(l,r,o):l={...l,...r},TE(this.data,a,l),s.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,n)}:this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var FI={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(o=>{this.processors[o]&&(t=this.processors[o].process(t,n,r,i))}),t}};const PE={};class Wm extends ev{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),oae(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=qi.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const r=this.resolve(t,n);return r&&r.res!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let o=n.ns||this.options.defaultNS||[];const s=r&&t.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!dae(t,r,i);if(s&&!a){const l=t.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:t,namespaces:o};const u=t.split(r);(r!==i||r===i&&this.options.ns.indexOf(u[0])>-1)&&(o=u.shift()),t=u.join(i)}return typeof o=="string"&&(o=[o]),{key:t,namespaces:o}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:s,namespaces:a}=this.extractFromKey(t[t.length-1],n),l=a[a.length-1],u=n.lng||this.language,c=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(c){const b=n.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${b}${s}`,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:`${l}${b}${s}`}return i?{res:s,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:s}const d=this.resolve(t,n);let f=d&&d.res;const h=d&&d.usedKey||s,p=d&&d.exactUsedKey||s,m=Object.prototype.toString.apply(f),S=["[object Number]","[object Function]","[object RegExp]"],y=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,v=!this.i18nFormat||this.i18nFormat.handleAsObject;if(v&&f&&(typeof f!="string"&&typeof f!="boolean"&&typeof f!="number")&&S.indexOf(m)<0&&!(typeof y=="string"&&m==="[object Array]")){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const b=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,f,{...n,ns:a}):`key '${s} (${this.language})' returned an object instead of string.`;return i?(d.res=b,d):b}if(o){const b=m==="[object Array]",_=b?[]:{},w=b?p:h;for(const x in f)if(Object.prototype.hasOwnProperty.call(f,x)){const T=`${w}${o}${x}`;_[x]=this.translate(T,{...n,joinArrays:!1,ns:a}),_[x]===T&&(_[x]=f[x])}f=_}}else if(v&&typeof y=="string"&&m==="[object Array]")f=f.join(y),f&&(f=this.extendTranslation(f,t,n,r));else{let b=!1,_=!1;const w=n.count!==void 0&&typeof n.count!="string",x=Wm.hasDefaultValue(n),T=w?this.pluralResolver.getSuffix(u,n.count,n):"",P=n.ordinal&&w?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",E=n[`defaultValue${T}`]||n[`defaultValue${P}`]||n.defaultValue;!this.isValidLookup(f)&&x&&(b=!0,f=E),this.isValidLookup(f)||(_=!0,f=s);const $=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&_?void 0:f,I=x&&E!==f&&this.options.updateMissing;if(_||b||I){if(this.logger.log(I?"updateKey":"missingKey",u,l,s,I?E:f),o){const N=this.resolve(s,{...n,keySeparator:!1});N&&N.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let C=[];const R=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&R&&R[0])for(let N=0;N{const L=x&&D!==f?D:$;this.options.missingKeyHandler?this.options.missingKeyHandler(N,l,O,L,I,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(N,l,O,L,I,n),this.emit("missingKey",N,l,O,f)};this.options.saveMissing&&(this.options.saveMissingPlurals&&w?C.forEach(N=>{this.pluralResolver.getSuffixes(N,n).forEach(O=>{M([N],s+O,n[`defaultValue${O}`]||E)})}):M(C,s,E))}f=this.extendTranslation(f,t,n,d,r),_&&f===s&&this.options.appendNamespaceToMissingKey&&(f=`${l}:${s}`),(_||b)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${s}`:s,b?f:void 0):f=this.options.parseMissingKeyHandler(f))}return i?(d.res=f,d):f}extendTranslation(t,n,r,i,o){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const u=typeof t=="string"&&(r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let c;if(u){const f=t.match(this.interpolator.nestingRegexp);c=f&&f.length}let d=r.replace&&typeof r.replace!="string"?r.replace:r;if(this.options.interpolation.defaultVariables&&(d={...this.options.interpolation.defaultVariables,...d}),t=this.interpolator.interpolate(t,d,r.lng||this.language,r),u){const f=t.match(this.interpolator.nestingRegexp),h=f&&f.length;c1&&arguments[1]!==void 0?arguments[1]:{},r,i,o,s,a;return typeof t=="string"&&(t=[t]),t.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),c=u.key;i=c;let d=u.namespaces;this.options.fallbackNS&&(d=d.concat(this.options.fallbackNS));const f=n.count!==void 0&&typeof n.count!="string",h=f&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),p=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",m=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);d.forEach(S=>{this.isValidLookup(r)||(a=S,!PE[`${m[0]}-${S}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(PE[`${m[0]}-${S}`]=!0,this.logger.warn(`key "${i}" for languages "${m.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),m.forEach(y=>{if(this.isValidLookup(r))return;s=y;const v=[c];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(v,c,y,S,n);else{let b;f&&(b=this.pluralResolver.getSuffix(y,n.count,n));const _=`${this.options.pluralSeparator}zero`,w=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(f&&(v.push(c+b),n.ordinal&&b.indexOf(w)===0&&v.push(c+b.replace(w,this.options.pluralSeparator)),h&&v.push(c+_)),p){const x=`${c}${this.options.contextSeparator}${n.context}`;v.push(x),f&&(v.push(x+b),n.ordinal&&b.indexOf(w)===0&&v.push(x+b.replace(w,this.options.pluralSeparator)),h&&v.push(x+_))}}let g;for(;g=v.pop();)this.isValidLookup(r)||(o=g,r=this.getResource(y,S,g,n))}))})}),{res:r,usedKey:i,exactUsedKey:o,usedLng:s,usedNS:a}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,n,r,i):this.resourceStore.getResource(t,n,r,i)}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}function Bb(e){return e.charAt(0).toUpperCase()+e.slice(1)}class AE{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=qi.create("languageUtils")}getScriptPartFromCode(t){if(t=qm(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=qm(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(typeof t=="string"&&t.indexOf("-")>-1){const n=["hans","hant","latn","cyrl","cans","mong","arab"];let r=t.split("-");return this.options.lowerCaseLng?r=r.map(i=>i.toLowerCase()):r.length===2?(r[0]=r[0].toLowerCase(),r[1]=r[1].toUpperCase(),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=Bb(r[1].toLowerCase()))):r.length===3&&(r[0]=r[0].toLowerCase(),r[1].length===2&&(r[1]=r[1].toUpperCase()),r[0]!=="sgn"&&r[2].length===2&&(r[2]=r[2].toUpperCase()),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=Bb(r[1].toLowerCase())),n.indexOf(r[2].toLowerCase())>-1&&(r[2]=Bb(r[2].toLowerCase()))),r.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const i=this.getLanguagePartFromCode(r);if(this.isSupportedCode(i))return n=i;n=this.options.supportedLngs.find(o=>{if(o===i)return o;if(!(o.indexOf("-")<0&&i.indexOf("-")<0)&&o.indexOf(i)===0)return o})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),typeof t=="string"&&(t=[t]),Object.prototype.toString.apply(t)==="[object Array]")return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),i=[],o=s=>{s&&(this.isSupportedCode(s)?i.push(s):this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`))};return typeof t=="string"&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(t))):typeof t=="string"&&o(this.formatLanguageCode(t)),r.forEach(s=>{i.indexOf(s)<0&&o(this.formatLanguageCode(s))}),i}}let fae=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],hae={1:function(e){return+(e>1)},2:function(e){return+(e!=1)},3:function(e){return 0},4:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},5:function(e){return e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},6:function(e){return e==1?0:e>=2&&e<=4?1:2},7:function(e){return e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},8:function(e){return e==1?0:e==2?1:e!=8&&e!=11?2:3},9:function(e){return+(e>=2)},10:function(e){return e==1?0:e==2?1:e<7?2:e<11?3:4},11:function(e){return e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3},12:function(e){return+(e%10!=1||e%100==11)},13:function(e){return+(e!==0)},14:function(e){return e==1?0:e==2?1:e==3?2:3},15:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2},16:function(e){return e%10==1&&e%100!=11?0:e!==0?1:2},17:function(e){return e==1||e%10==1&&e%100!=11?0:1},18:function(e){return e==0?0:e==1?1:2},19:function(e){return e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3},20:function(e){return e==1?0:e==0||e%100>0&&e%100<20?1:2},21:function(e){return e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0},22:function(e){return e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3}};const pae=["v1","v2","v3"],gae=["v4"],kE={zero:0,one:1,two:2,few:3,many:4,other:5};function mae(){const e={};return fae.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:hae[t.fc]}})}),e}class yae{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=qi.create("pluralResolver"),(!this.options.compatibilityJSON||gae.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=mae()}addRule(t,n){this.rules[t]=n}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(qm(t),{type:n.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return this.shouldUseIntlApi()?r&&r.resolvedOptions().pluralCategories.length>1:r&&r.numbers.length>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(i=>`${n}${i}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((i,o)=>kE[i]-kE[o]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):r.numbers.map(i=>this.getSuffix(t,i,n)):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(t,r);return i?this.shouldUseIntlApi()?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:this.getSuffixRetroCompatible(i,n):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,n){const r=t.noAbs?t.plurals(n):t.plurals(Math.abs(n));let i=t.numbers[r];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(i===2?i="plural":i===1&&(i=""));const o=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return this.options.compatibilityJSON==="v1"?i===1?"":typeof i=="number"?`_plural_${i.toString()}`:o():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?o():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}shouldUseIntlApi(){return!pae.includes(this.options.compatibilityJSON)}}function RE(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=aae(e,t,n);return!o&&i&&typeof n=="string"&&(o=Hm(e,n,r),o===void 0&&(o=Hm(t,n,r))),o}class vae{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=qi.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(n=>n),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const n=t.interpolation;this.escape=n.escape!==void 0?n.escape:uae,this.escapeValue=n.escapeValue!==void 0?n.escapeValue:!0,this.useRawValueToEscape=n.useRawValueToEscape!==void 0?n.useRawValueToEscape:!1,this.prefix=n.prefix?jl(n.prefix):n.prefixEscaped||"{{",this.suffix=n.suffix?jl(n.suffix):n.suffixEscaped||"}}",this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||",",this.unescapePrefix=n.unescapeSuffix?"":n.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":n.unescapeSuffix||"",this.nestingPrefix=n.nestingPrefix?jl(n.nestingPrefix):n.nestingPrefixEscaped||jl("$t("),this.nestingSuffix=n.nestingSuffix?jl(n.nestingSuffix):n.nestingSuffixEscaped||jl(")"),this.nestingOptionsSeparator=n.nestingOptionsSeparator?n.nestingOptionsSeparator:n.nestingOptionsSeparator||",",this.maxReplaces=n.maxReplaces?n.maxReplaces:1e3,this.alwaysFormat=n.alwaysFormat!==void 0?n.alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=`${this.prefix}(.+?)${this.suffix}`;this.regexp=new RegExp(t,"g");const n=`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;this.regexpUnescape=new RegExp(n,"g");const r=`${this.nestingPrefix}(.+?)${this.nestingSuffix}`;this.nestingRegexp=new RegExp(r,"g")}interpolate(t,n,r,i){let o,s,a;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(p){return p.replace(/\$/g,"$$$$")}const c=p=>{if(p.indexOf(this.formatSeparator)<0){const v=RE(n,l,p,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(v,void 0,r,{...i,...n,interpolationkey:p}):v}const m=p.split(this.formatSeparator),S=m.shift().trim(),y=m.join(this.formatSeparator).trim();return this.format(RE(n,l,S,this.options.keySeparator,this.options.ignoreJSONStructure),y,r,{...i,...n,interpolationkey:S})};this.resetRegExp();const d=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,f=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:p=>u(p)},{regex:this.regexp,safeValue:p=>this.escapeValue?u(this.escape(p)):u(p)}].forEach(p=>{for(a=0;o=p.regex.exec(t);){const m=o[1].trim();if(s=c(m),s===void 0)if(typeof d=="function"){const y=d(t,o,i);s=typeof y=="string"?y:""}else if(i&&Object.prototype.hasOwnProperty.call(i,m))s="";else if(f){s=o[0];continue}else this.logger.warn(`missed to pass in variable ${m} for interpolating ${t}`),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=CE(s));const S=p.safeValue(s);if(t=t.replace(o[0],S),f?(p.regex.lastIndex+=s.length,p.regex.lastIndex-=o[0].length):p.regex.lastIndex=0,a++,a>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,o,s;function a(l,u){const c=this.nestingOptionsSeparator;if(l.indexOf(c)<0)return l;const d=l.split(new RegExp(`${c}[ ]*{`));let f=`{${d[1]}`;l=d[0],f=this.interpolate(f,s);const h=f.match(/'/g),p=f.match(/"/g);(h&&h.length%2===0&&!p||p.length%2!==0)&&(f=f.replace(/'/g,'"'));try{s=JSON.parse(f),u&&(s={...u,...s})}catch(m){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,m),`${l}${c}${f}`}return delete s.defaultValue,l}for(;i=this.nestingRegexp.exec(t);){let l=[];s={...r},s=s.replace&&typeof s.replace!="string"?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let u=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const c=i[1].split(this.formatSeparator).map(d=>d.trim());i[1]=c.shift(),l=c,u=!0}if(o=n(a.call(this,i[1].trim(),s),s),o&&i[0]===t&&typeof o!="string")return o;typeof o!="string"&&(o=CE(o)),o||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${t}`),o=""),u&&(o=l.reduce((c,d)=>this.format(c,d,r.lng,{...r,interpolationkey:i[1].trim()}),o.trim())),t=t.replace(i[0],o),this.regexp.lastIndex=0}return t}}function bae(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);t==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):t==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(s=>{if(!s)return;const[a,...l]=s.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,"");n[a.trim()]||(n[a.trim()]=u),u==="false"&&(n[a.trim()]=!1),u==="true"&&(n[a.trim()]=!0),isNaN(u)||(n[a.trim()]=parseInt(u,10))})}return{formatName:t,formatOptions:n}}function Vl(e){const t={};return function(r,i,o){const s=i+JSON.stringify(o);let a=t[s];return a||(a=e(qm(i),o),t[s]=a),a(r)}}class Sae{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=qi.create("formatter"),this.options=t,this.formats={number:Vl((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return o=>i.format(o)}),currency:Vl((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return o=>i.format(o)}),datetime:Vl((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return o=>i.format(o)}),relativetime:Vl((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return o=>i.format(o,r.range||"day")}),list:Vl((n,r)=>{const i=new Intl.ListFormat(n,{...r});return o=>i.format(o)})},this.init(t)}init(t){const r=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=Vl(n)}format(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return n.split(this.formatSeparator).reduce((a,l)=>{const{formatName:u,formatOptions:c}=bae(l);if(this.formats[u]){let d=a;try{const f=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},h=f.locale||f.lng||i.locale||i.lng||r;d=this.formats[u](a,h,{...c,...i,...f})}catch(f){this.logger.warn(f)}return d}else this.logger.warn(`there was no format function for ${u}`);return a},t)}}function _ae(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}class wae extends ev{constructor(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=qi.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(r,i.backend,i)}queueLoad(t,n,r,i){const o={},s={},a={},l={};return t.forEach(u=>{let c=!0;n.forEach(d=>{const f=`${u}|${d}`;!r.reload&&this.store.hasResourceBundle(u,d)?this.state[f]=2:this.state[f]<0||(this.state[f]===1?s[f]===void 0&&(s[f]=!0):(this.state[f]=1,c=!1,s[f]===void 0&&(s[f]=!0),o[f]===void 0&&(o[f]=!0),l[d]===void 0&&(l[d]=!0)))}),c||(a[u]=!0)}),(Object.keys(o).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(s),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(l)}}loaded(t,n,r){const i=t.split("|"),o=i[0],s=i[1];n&&this.emit("failedLoading",o,s,n),r&&this.store.addResourceBundle(o,s,r),this.state[t]=n?-1:2;const a={};this.queue.forEach(l=>{sae(l.loaded,[o],s),_ae(l,t),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{a[u]||(a[u]={});const c=l.loaded[u];c.length&&c.forEach(d=>{a[u][d]===void 0&&(a[u][d]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(l=>!l.done)}read(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!t.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:i,wait:o,callback:s});return}this.readingCalls++;const a=(u,c)=>{if(this.readingCalls--,this.waitingReads.length>0){const d=this.waitingReads.shift();this.read(d.lng,d.ns,d.fcName,d.tried,d.wait,d.callback)}if(u&&c&&i{this.read.call(this,t,n,r,i+1,o*2,s)},o);return}s(u,c)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(t,n);u&&typeof u.then=="function"?u.then(c=>a(null,c)).catch(a):a(null,u)}catch(u){a(u)}return}return l(t,n,a)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();typeof t=="string"&&(t=this.languageUtils.toResolveHierarchy(t)),typeof n=="string"&&(n=[n]);const o=this.queueLoad(t,n,r,i);if(!o.toLoad.length)return o.pending.length||i(),null;o.toLoad.forEach(s=>{this.loadOne(s)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),i=r[0],o=r[1];this.read(i,o,"read",void 0,void 0,(s,a)=>{s&&this.logger.warn(`${n}loading namespace ${o} for language ${i} failed`,s),!s&&a&&this.logger.log(`${n}loaded namespace ${o} for language ${i}`,a),this.loaded(t,s,a)})}saveMissing(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend&&this.backend.create){const l={...s,isUpdate:o},u=this.backend.create.bind(this.backend);if(u.length<6)try{let c;u.length===5?c=u(t,n,r,i,l):c=u(t,n,r,i),c&&typeof c.then=="function"?c.then(d=>a(null,d)).catch(a):a(null,c)}catch(c){a(c)}else u(t,n,r,i,a,l)}!t||!t[0]||this.store.addResource(t[0],n,r,i)}}}function OE(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let n={};if(typeof t[1]=="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const r=t[3]||t[2];Object.keys(r).forEach(i=>{n[i]=r[i]})}return n},interpolation:{escapeValue:!0,format:(e,t,n,r)=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function ME(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function Rp(){}function xae(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}class Lf extends ev{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=ME(t),this.services={},this.logger=qi,this.modules={external:[]},xae(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(typeof n.ns=="string"?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const i=OE();this.options={...i,...this.options,...ME(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);function o(c){return c?typeof c=="function"?new c:c:null}if(!this.options.isClone){this.modules.logger?qi.init(o(this.modules.logger),this.options):qi.init(null,this.options);let c;this.modules.formatter?c=this.modules.formatter:typeof Intl<"u"&&(c=Sae);const d=new AE(this.options);this.store=new EE(this.options.resources,this.options);const f=this.services;f.logger=qi,f.resourceStore=this.store,f.languageUtils=d,f.pluralResolver=new yae(d,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),c&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(f.formatter=o(c),f.formatter.init(f,this.options),this.options.interpolation.format=f.formatter.format.bind(f.formatter)),f.interpolator=new vae(this.options),f.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},f.backendConnector=new wae(o(this.modules.backend),f.resourceStore,f,this.options),f.backendConnector.on("*",function(h){for(var p=arguments.length,m=new Array(p>1?p-1:0),S=1;S1?p-1:0),S=1;S{h.init&&h.init(this)})}if(this.format=this.options.interpolation.format,r||(r=Rp),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const c=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);c.length>0&&c[0]!=="dev"&&(this.options.lng=c[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(c=>{this[c]=function(){return t.store[c](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(c=>{this[c]=function(){return t.store[c](...arguments),t}});const l=Yc(),u=()=>{const c=(d,f)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(f),r(d,f)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return c(null,this.t.bind(this));this.changeLanguage(this.options.lng,c)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),l}loadResources(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Rp;const i=typeof t=="string"?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(i&&i.toLowerCase()==="cimode")return r();const o=[],s=a=>{if(!a)return;this.services.languageUtils.toResolveHierarchy(a).forEach(u=>{o.indexOf(u)<0&&o.push(u)})};i?s(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>s(l)),this.options.preload&&this.options.preload.forEach(a=>s(a)),this.services.backendConnector.load(o,this.options.ns,a=>{!a&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(a)})}else r(null)}reloadResources(t,n,r){const i=Yc();return t||(t=this.languages),n||(n=this.options.ns),r||(r=Rp),this.services.backendConnector.reload(t,n,o=>{i.resolve(),r(o)}),i}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&FI.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const i=Yc();this.emit("languageChanging",t);const o=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},s=(l,u)=>{u?(o(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,i.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},a=l=>{!t&&!l&&this.services.languageDetector&&(l=[]);const u=typeof l=="string"?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||o(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,c=>{s(c,u)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(t),i}getFixedT(t,n,r){var i=this;const o=function(s,a){let l;if(typeof a!="object"){for(var u=arguments.length,c=new Array(u>2?u-2:0),d=2;d`${l.keyPrefix}${f}${p}`):h=l.keyPrefix?`${l.keyPrefix}${f}${s}`:s,i.t(h,l)};return typeof t=="string"?o.lng=t:o.lngs=t,o.ns=n,o.keyPrefix=r,o}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=this.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};if(n.precheck){const a=n.precheck(this,s);if(a!==void 0)return a}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(r,t)&&(!i||s(o,t)))}loadNamespaces(t,n){const r=Yc();return this.options.ns?(typeof t=="string"&&(t=[t]),t.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),n&&n(i)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=Yc();typeof t=="string"&&(t=[t]);const i=this.options.preload||[],o=t.filter(s=>i.indexOf(s)<0);return o.length?(this.options.preload=i.concat(o),this.loadResources(s=>{r.resolve(),n&&n(s)}),r):(n&&n(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services&&this.services.languageUtils||new AE(OE());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new Lf(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Rp;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const i={...this.options,...t,isClone:!0},o=new Lf(i);return(t.debug!==void 0||t.prefix!==void 0)&&(o.logger=o.logger.clone(t)),["store","services","language"].forEach(a=>{o[a]=this[a]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new EE(this.store.data,i),o.services.resourceStore=o.store),o.translator=new Wm(o.services,i),o.translator.on("*",function(a){for(var l=arguments.length,u=new Array(l>1?l-1:0),c=1;ctypeof e=="string"?{title:e,status:"info",isClosable:!0,duration:2500}:{status:"info",isClosable:!0,duration:2500,...e},BI={isConnected:!1,isProcessing:!1,isGFPGANAvailable:!0,isESRGANAvailable:!0,shouldConfirmOnDelete:!0,currentStep:0,totalSteps:0,currentIteration:0,totalIterations:0,currentStatusHasSteps:!1,isCancelable:!0,enableImageDebugging:!1,toastQueue:[],progressImage:null,shouldAntialiasProgressImage:!1,sessionId:null,cancelType:"immediate",isCancelScheduled:!1,subscribedNodeIds:[],wereModelsReceived:!1,wasSchemaParsed:!1,consoleLogLevel:"debug",shouldLogToConsole:!0,statusTranslationKey:"common.statusDisconnected",canceledSession:"",isPersisted:!1,language:"en",isUploading:!1,isNodesEnabled:!1,shouldUseNSFWChecker:!1,shouldUseWatermarker:!1},jI=Pt({name:"system",initialState:BI,reducers:{setIsProcessing:(e,t)=>{e.isProcessing=t.payload},setCurrentStatus:(e,t)=>{e.statusTranslationKey=t.payload},setShouldConfirmOnDelete:(e,t)=>{e.shouldConfirmOnDelete=t.payload},setIsCancelable:(e,t)=>{e.isCancelable=t.payload},setEnableImageDebugging:(e,t)=>{e.enableImageDebugging=t.payload},addToast:(e,t)=>{e.toastQueue.push(t.payload)},clearToastQueue:e=>{e.toastQueue=[]},cancelScheduled:e=>{e.isCancelScheduled=!0},scheduledCancelAborted:e=>{e.isCancelScheduled=!1},cancelTypeChanged:(e,t)=>{e.cancelType=t.payload},subscribedNodeIdsSet:(e,t)=>{e.subscribedNodeIds=t.payload},consoleLogLevelChanged:(e,t)=>{e.consoleLogLevel=t.payload},shouldLogToConsoleChanged:(e,t)=>{e.shouldLogToConsole=t.payload},shouldAntialiasProgressImageChanged:(e,t)=>{e.shouldAntialiasProgressImage=t.payload},isPersistedChanged:(e,t)=>{e.isPersisted=t.payload},languageChanged:(e,t)=>{e.language=t.payload},progressImageSet(e,t){e.progressImage=t.payload},setIsNodesEnabled(e,t){e.isNodesEnabled=t.payload},shouldUseNSFWCheckerChanged(e,t){e.shouldUseNSFWChecker=t.payload},shouldUseWatermarkerChanged(e,t){e.shouldUseWatermarker=t.payload}},extraReducers(e){e.addCase(l7,(t,n)=>{t.sessionId=n.payload.sessionId,t.canceledSession=""}),e.addCase(c7,t=>{t.sessionId=null}),e.addCase(o7,t=>{t.isConnected=!0,t.isCancelable=!0,t.isProcessing=!1,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.currentIteration=0,t.totalIterations=0,t.statusTranslationKey="common.statusConnected"}),e.addCase(a7,t=>{t.isConnected=!1,t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusDisconnected"}),e.addCase(f7,t=>{t.isCancelable=!0,t.isProcessing=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusGenerating"}),e.addCase(v7,(t,n)=>{const{step:r,total_steps:i,progress_image:o}=n.payload.data;t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!0,t.currentStep=r+1,t.totalSteps=i,t.progressImage=o??null,t.statusTranslationKey="common.statusGenerating"}),e.addCase(h7,(t,n)=>{const{data:r}=n.payload;t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusProcessingComplete",t.canceledSession===r.graph_execution_state_id&&(t.isProcessing=!1,t.isCancelable=!0)}),e.addCase(m7,t=>{t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null}),e.addCase(Ph,t=>{t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.statusTranslationKey="common.statusPreparing"}),e.addCase(hl.fulfilled,(t,n)=>{t.canceledSession=n.meta.arg.session_id,t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Ha({title:kd("toast.canceled"),status:"warning"}))}),e.addCase(fC,t=>{t.wasSchemaParsed=!0}),e.addMatcher(NO,(t,n)=>{var r;t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Ha({title:kd("toast.serverError"),status:"error",description:((r=n.payload)==null?void 0:r.status)===422?"Validation Error":void 0}))}),e.addMatcher(Aae,(t,n)=>{t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusError",t.progressImage=null,t.toastQueue.push(Ha({title:kd("toast.serverError"),status:"error",description:ZX(n.payload.data.error_type)}))})}}),{setIsProcessing:x5e,setShouldConfirmOnDelete:C5e,setCurrentStatus:T5e,setIsCancelable:E5e,setEnableImageDebugging:P5e,addToast:Ft,clearToastQueue:A5e,cancelScheduled:k5e,scheduledCancelAborted:R5e,cancelTypeChanged:O5e,subscribedNodeIdsSet:M5e,consoleLogLevelChanged:I5e,shouldLogToConsoleChanged:N5e,isPersistedChanged:D5e,shouldAntialiasProgressImageChanged:L5e,languageChanged:$5e,progressImageSet:Cae,setIsNodesEnabled:F5e,shouldUseNSFWCheckerChanged:Tae,shouldUseWatermarkerChanged:Eae}=jI.actions,Pae=jI.reducer,Aae=ei(Gx,w7,C7),kae={searchFolder:null,advancedAddScanModel:null},VI=Pt({name:"modelmanager",initialState:kae,reducers:{setSearchFolder:(e,t)=>{e.searchFolder=t.payload},setAdvancedAddScanModel:(e,t)=>{e.advancedAddScanModel=t.payload}}}),{setSearchFolder:B5e,setAdvancedAddScanModel:j5e}=VI.actions,Rae=VI.reducer,zI={shift:!1},UI=Pt({name:"hotkeys",initialState:zI,reducers:{shiftKeyPressed:(e,t)=>{e.shift=t.payload}}}),{shiftKeyPressed:V5e}=UI.actions,Oae=UI.reducer,Mae=iF($V);GI=d2=void 0;var Iae=Mae,Nae=function(){var t=[],n=[],r=void 0,i=function(u){return r=u,function(c){return function(d){return Iae.compose.apply(void 0,n)(c)(d)}}},o=function(){for(var u,c,d=arguments.length,f=Array(d),h=0;h=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){n=n.call(e)},n:function(){var u=n.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(s)throw a}}}}function qI(e,t){if(e){if(typeof e=="string")return NE(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return NE(e,t)}}function NE(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,i=r.prefix,o=r.driver,s=r.persistWholeStore,a=r.serialize;try{var l=s?Kae:Xae;yield l(t,n,{prefix:i,driver:o,serialize:a})}catch(u){console.warn("redux-remember: persist error",u)}});return function(){return e.apply(this,arguments)}}();function FE(e,t,n,r,i,o,s){try{var a=e[o](s),l=a.value}catch(u){n(u);return}a.done?t(l):Promise.resolve(l).then(r,i)}function BE(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function s(l){FE(o,r,i,s,a,"next",l)}function a(l){FE(o,r,i,s,a,"throw",l)}s(void 0)})}}var Qae=function(){var e=BE(function*(t,n,r){var i=r.prefix,o=r.driver,s=r.serialize,a=r.unserialize,l=r.persistThrottle,u=r.persistDebounce,c=r.persistWholeStore;yield Uae(t,n,{prefix:i,driver:o,unserialize:a,persistWholeStore:c});var d={},f=function(){var h=BE(function*(){var p=HI(t.getState(),n);yield Yae(p,d,{prefix:i,driver:o,serialize:s,persistWholeStore:c}),gC(p,d)||t.dispatch({type:Fae,payload:p}),d=p});return function(){return h.apply(this,arguments)}}();u&&u>0?t.subscribe(jae(f,u)):t.subscribe(Bae(f,l))});return function(n,r,i){return e.apply(this,arguments)}}();const Zae=Qae;function $f(e){"@babel/helpers - typeof";return $f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$f(e)}function jE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function zb(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:n.state,i=arguments.length>1?arguments[1]:void 0;i.type&&(i.type==="@@INIT"||i.type.startsWith("@@redux/INIT"))&&(n.state=zb({},r));var o=typeof t=="function"?t:gc(t);switch(i.type){case f2:return n.state=o(zb(zb({},n.state),i.payload||{}),{type:f2}),n.state;default:return o(r,i)}}},rle=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r.prefix,o=i===void 0?"@@remember-":i,s=r.serialize,a=s===void 0?function(S,y){return JSON.stringify(S)}:s,l=r.unserialize,u=l===void 0?function(S,y){return JSON.parse(S)}:l,c=r.persistThrottle,d=c===void 0?100:c,f=r.persistDebounce,h=r.persistWholeStore,p=h===void 0?!1:h;if(!t)throw Error("redux-remember error: driver required");if(!Array.isArray(n))throw Error("redux-remember error: rememberedKeys needs to be an array");var m=function(y){return function(v,g,b){var _=y(v,g,b);return Zae(_,n,{driver:t,prefix:o,serialize:a,unserialize:u,persistThrottle:d,persistDebounce:f,persistWholeStore:p}),_}};return m};const z5e=["chakra-ui-color-mode","i18nextLng","ROARR_FILTER","ROARR_LOG"],ile="@@invokeai-",ole=["cursorPosition","isCanvasInitialized","doesCanvasNeedScaling"],sle=["pendingControlImages"],ale=["selection","selectedBoardId","galleryView"],lle=["schema","invocationTemplates"],ule=[],cle=[],dle=["currentIteration","currentStep","isCancelable","isConnected","isESRGANAvailable","isGFPGANAvailable","isProcessing","totalIterations","totalSteps","isCancelScheduled","progressImage","wereModelsReceived","wasSchemaParsed","isPersisted","isUploading"],fle=["shouldShowImageDetails"],hle={canvas:ole,gallery:ale,generation:ule,nodes:lle,postprocessing:cle,system:dle,ui:fle,controlNet:sle},ple=(e,t)=>{const n=w0(e,hle[t]);return JSON.stringify(n)},gle={canvas:LO,gallery:O7,generation:Wo,nodes:OI,postprocessing:NI,system:BI,config:yO,ui:OO,hotkeys:zI,controlNet:U_},mle=(e,t)=>yX(JSON.parse(e),gle[t]),KI=ue("nodes/textToImageGraphBuilt"),XI=ue("nodes/imageToImageGraphBuilt"),YI=ue("nodes/canvasGraphBuilt"),QI=ue("nodes/nodesGraphBuilt"),yle=ei(KI,XI,YI,QI),vle=e=>{if(yle(e)&&e.payload.nodes){const t={};return{...e,payload:{...e.payload,nodes:t}}}return Df.fulfilled.match(e)?{...e,payload:""}:fC.match(e)?{...e,payload:""}:e},ble=["canvas/setCursorPosition","canvas/setStageCoordinates","canvas/setStageScale","canvas/setIsDrawing","canvas/setBoundingBoxCoordinates","canvas/setBoundingBoxDimensions","canvas/setIsDrawing","canvas/addPointToCurrentLine","socket/socketGeneratorProgress","socket/appSocketGeneratorProgress","hotkeys/shiftKeyPressed","@@REMEMBER_PERSISTED"],Sle=e=>e,_le=()=>{le({actionCreator:HQ,effect:async(e,{dispatch:t,getState:n})=>{const r=fe("canvas"),i=n(),{sessionId:o,isProcessing:s}=i.system,a=e.payload;if(s){if(!a){r.debug("No canvas session, skipping cancel");return}if(a!==o){r.debug({canvasSessionId:a,session_id:o},"Canvas session does not match global session, skipping cancel");return}t(hl({session_id:o}))}}})};ue("app/appStarted");const wle=()=>{le({matcher:he.endpoints.listImages.matchFulfilled,effect:async(e,{dispatch:t,unsubscribe:n,cancelActiveListeners:r})=>{if(e.meta.arg.queryCacheKey!==di({board_id:"none",categories:gi}))return;r(),n();const i=e.payload;i.ids.length>0&&t(Os(i.ids[0]))}})},mC=Hs.injectEndpoints({endpoints:e=>({getAppVersion:e.query({query:()=>({url:"app/version",method:"GET"}),providesTags:["AppVersion"],keepUnusedDataFor:864e5}),getAppConfig:e.query({query:()=>({url:"app/config",method:"GET"}),providesTags:["AppConfig"],keepUnusedDataFor:864e5})})}),{useGetAppVersionQuery:U5e,useGetAppConfigQuery:G5e}=mC,xle=()=>{le({matcher:mC.endpoints.getAppConfig.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const{infill_methods:r=[],nsfw_methods:i=[],watermarking_methods:o=[]}=e.payload,s=t().generation.infillMethod;r.includes(s)||n(CQ(r[0])),i.includes("nsfw_checker")||n(Tae(!1)),o.includes("invisible_watermark")||n(Eae(!1))}})},Cle=ue("app/appStarted"),Tle=()=>{le({actionCreator:Cle,effect:async(e,{unsubscribe:t,cancelActiveListeners:n})=>{n(),t()}})},yC={memoizeOptions:{resultEqualityCheck:_0}},ZI=(e,t)=>{var d;const{generation:n,canvas:r,nodes:i,controlNet:o}=e,s=((d=n.initialImage)==null?void 0:d.imageName)===t,a=r.layerState.objects.some(f=>f.kind==="image"&&f.imageName===t),l=i.nodes.some(f=>Pa(f.data.inputs,h=>{var p;return h.type==="image"&&((p=h.value)==null?void 0:p.image_name)===t})),u=Pa(o.controlNets,f=>f.controlImage===t||f.processedControlImage===t);return{isInitialImage:s,isCanvasImage:a,isNodesImage:l,isControlNetImage:u}},Ele=Jn([e=>e],e=>{const{imageToDelete:t}=e.imageDeletion;if(!t)return;const{image_name:n}=t;return ZI(e,n)},yC),Ple=()=>{le({matcher:tc.endpoints.deleteBoardAndImages.matchFulfilled,effect:async(e,{dispatch:t,getState:n})=>{const{deleted_images:r}=e.payload;let i=!1,o=!1,s=!1,a=!1;const l=n();r.forEach(u=>{const c=ZI(l,u);c.isInitialImage&&!i&&(t(AO()),i=!0),c.isCanvasImage&&!o&&(t(FO()),o=!0),c.isNodesImage&&!s&&(t(II()),s=!0),c.isControlNetImage&&!a&&(t(P7()),a=!0)})}})},Ale=()=>{le({matcher:ei(G_,km),effect:async(e,{getState:t,dispatch:n,condition:r,cancelActiveListeners:i})=>{i();const o=t(),s=G_.match(e)?e.payload:o.gallery.selectedBoardId,l=(km.match(e)?e.payload:o.gallery.galleryView)==="images"?gi:_s,u={board_id:s??"none",categories:l};if(await r(()=>he.endpoints.listImages.select(u)(t()).isSuccess,5e3)){const{data:d}=he.endpoints.listImages.select(u)(t());d!=null&&d.ids.length?n(Os(d.ids[0]??null)):n(Os(null))}else n(Os(null))}})},kle=ue("canvas/canvasSavedToGallery"),Rle=ue("canvas/canvasCopiedToClipboard"),Ole=ue("canvas/canvasDownloadedAsImage"),Mle=ue("canvas/canvasMerged"),Ile=ue("canvas/stagingAreaImageSaved");let JI=null,eN=null;const H5e=e=>{JI=e},nv=()=>JI,q5e=e=>{eN=e},Nle=()=>eN,Dle=async e=>new Promise((t,n)=>{e.toBlob(r=>{if(r){t(r);return}n("Unable to create Blob")})}),Xm=async(e,t)=>await Dle(e.toCanvas(t)),vC=async e=>{const t=nv();if(!t)return;const{shouldCropToBoundingBoxOnSave:n,boundingBoxCoordinates:r,boundingBoxDimensions:i}=e.canvas,o=t.clone();o.scale({x:1,y:1});const s=o.getAbsolutePosition(),a=n?{x:r.x+s.x,y:r.y+s.y,width:i.width,height:i.height}:o.getClientRect();return Xm(o,a)},Lle=e=>{navigator.clipboard.write([new ClipboardItem({[e.type]:e})])},$le=()=>{le({actionCreator:Rle,effect:async(e,{dispatch:t,getState:n})=>{const r=J0.get().child({namespace:"canvasCopiedToClipboardListener"}),i=n(),o=await vC(i);if(!o){r.error("Problem getting base layer blob"),t(Ft({title:"Problem Copying Canvas",description:"Unable to export base layer",status:"error"}));return}Lle(o),t(Ft({title:"Canvas Copied to Clipboard",status:"success"}))}})},Fle=(e,t)=>{const n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),r.remove()},Ble=()=>{le({actionCreator:Ole,effect:async(e,{dispatch:t,getState:n})=>{const r=J0.get().child({namespace:"canvasSavedToGalleryListener"}),i=n(),o=await vC(i);if(!o){r.error("Problem getting base layer blob"),t(Ft({title:"Problem Downloading Canvas",description:"Unable to export base layer",status:"error"}));return}Fle(o,"canvas.png"),t(Ft({title:"Canvas Downloaded",status:"success"}))}})},jle=async()=>{const e=nv();if(!e)return;const t=e.clone();return t.scale({x:1,y:1}),Xm(t,t.getClientRect())},Vle=()=>{le({actionCreator:Mle,effect:async(e,{dispatch:t})=>{const n=J0.get().child({namespace:"canvasCopiedToClipboardListener"}),r=await jle();if(!r){n.error("Problem getting base layer blob"),t(Ft({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const i=nv();if(!i){n.error("Problem getting canvas base layer"),t(Ft({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const o=i.getClientRect({relativeTo:i.getParent()}),s=await t(he.endpoints.uploadImage.initiate({file:new File([r],"mergedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Merged"}}})).unwrap(),{image_name:a}=s;t(qQ({kind:"image",layer:"base",imageName:a,...o}))}})},zle=()=>{le({actionCreator:kle,effect:async(e,{dispatch:t,getState:n})=>{const r=fe("canvas"),i=n(),o=await vC(i);if(!o){r.error("Problem getting base layer blob"),t(Ft({title:"Problem Saving Canvas",description:"Unable to export base layer",status:"error"}));return}t(he.endpoints.uploadImage.initiate({file:new File([o],"savedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!1,board_id:i.gallery.autoAddBoardId,crop_visible:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Saved to Gallery"}}}))}})},Ule=(e,t,n)=>{if(!(lJ.match(e)||ST.match(e)||qx.match(e)||uJ.match(e)||_T.match(e))||_T.match(e)&&n.controlNet.controlNets[e.payload.controlNetId].shouldAutoConfig===!0)return!1;const{controlImage:i,processorType:o,shouldAutoConfig:s}=t.controlNet.controlNets[e.payload.controlNetId];if(ST.match(e)&&!s)return!1;const a=o!=="none",l=t.system.isProcessing;return a&&!l&&!!i},Gle=()=>{le({predicate:Ule,effect:async(e,{dispatch:t,cancelActiveListeners:n,delay:r})=>{const i=fe("session"),{controlNetId:o}=e.payload;n(),i.trace("ControlNet auto-process triggered"),await r(300),t(Hx({controlNetId:o}))}})},pl=ue("system/sessionReadyToInvoke"),tN=e=>(e==null?void 0:e.type)==="image_output",Hle=()=>{le({actionCreator:Hx,effect:async(e,{dispatch:t,getState:n,take:r})=>{const i=fe("session"),{controlNetId:o}=e.payload,s=n().controlNet.controlNets[o];if(!s.controlImage){i.error("Unable to process ControlNet image");return}const a={nodes:{[s.processorNode.id]:{...s.processorNode,is_intermediate:!0,image:{image_name:s.controlImage}}}},l=t(Rn({graph:a})),[u]=await r(f=>Rn.fulfilled.match(f)&&f.meta.requestId===l.requestId),c=u.payload.id;t(pl());const[d]=await r(f=>Ux.match(f)&&f.payload.data.graph_execution_state_id===c);if(tN(d.payload.data.result)){const{image_name:f}=d.payload.data.result.image,[{payload:h}]=await r(m=>he.endpoints.getImageDTO.matchFulfilled(m)&&m.payload.image_name===f),p=h;i.debug({controlNetId:e.payload,processedControlImage:p},"ControlNet image processed"),t(aJ({controlNetId:o,processedControlImage:p.image_name}))}}})},qle=()=>{le({matcher:he.endpoints.addImageToBoard.matchFulfilled,effect:e=>{const t=fe("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Image added to board")}})},Wle=()=>{le({matcher:he.endpoints.addImageToBoard.matchRejected,effect:e=>{const t=fe("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Problem adding image to board")}})},W5e=e=>e.gallery,K5e=Jn(e=>e,e=>e.gallery.selection[e.gallery.selection.length-1],yC),Kle=Jn([e=>e],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{board_id:t??"none",categories:n==="images"?gi:_s,offset:0,limit:QQ,is_intermediate:!1}},yC),nN=ue("imageDeletion/imageDeletionConfirmed"),Xle=()=>{le({actionCreator:nN,effect:async(e,{dispatch:t,getState:n,condition:r})=>{const{imageDTO:i,imageUsage:o}=e.payload;t(N7(!1));const{image_name:s}=i,a=n();if(a.gallery.selection[a.gallery.selection.length-1]===s){const d=Kle(a),{data:f}=he.endpoints.listImages.select(d)(a),h=(f==null?void 0:f.ids)??[],p=h.findIndex(v=>v.toString()===s),m=h.filter(v=>v.toString()!==s),S=Ss(p,0,m.length-1),y=m[S];t(Os(y||null))}o.isCanvasImage&&t(FO()),o.isControlNetImage&&t(P7()),o.isInitialImage&&t(AO()),o.isNodesImage&&t(II());const{requestId:u}=t(he.endpoints.deleteImage.initiate(i));await r(d=>he.endpoints.deleteImage.matchFulfilled(d)&&d.meta.requestId===u,3e4)&&t(Hs.util.invalidateTags([{type:"Board",id:i.board_id}]))}})},Yle=()=>{le({matcher:he.endpoints.deleteImage.matchPending,effect:()=>{}})},Qle=()=>{le({matcher:he.endpoints.deleteImage.matchFulfilled,effect:e=>{fe("images").debug({imageDTO:e.meta.arg.originalArgs},"Image deleted")}})},Zle=()=>{le({matcher:he.endpoints.deleteImage.matchRejected,effect:e=>{fe("images").debug({imageDTO:e.meta.arg.originalArgs},"Unable to delete image")}})},rN=ue("dnd/dndDropped"),Jle=()=>{le({actionCreator:rN,effect:async(e,{dispatch:t})=>{const n=fe("images"),{activeData:r,overData:i}=e.payload;if(n.debug({activeData:r,overData:i},"Image or selection dropped"),i.actionType==="SET_CURRENT_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(Os(r.payload.imageDTO.image_name));return}if(i.actionType==="SET_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(T0(r.payload.imageDTO));return}if(i.actionType==="ADD_TO_BATCH"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(H_([r.payload.imageDTO.image_name]));return}if(i.actionType==="ADD_TO_BATCH"&&r.payloadType==="IMAGE_NAMES"){t(H_(r.payload.image_names));return}if(i.actionType==="SET_CONTROLNET_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{controlNetId:o}=i.context;t(qx({controlImage:r.payload.imageDTO.image_name,controlNetId:o}));return}if(i.actionType==="SET_CANVAS_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(BO(r.payload.imageDTO));return}if(i.actionType==="SET_NODES_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{fieldName:o,nodeId:s}=i.context;t(c2({nodeId:s,fieldName:o,value:r.payload.imageDTO}));return}if(i.actionType==="SET_MULTI_NODES_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{fieldName:o,nodeId:s}=i.context;t(c2({nodeId:s,fieldName:o,value:[r.payload.imageDTO]}));return}if(i.actionType==="MOVE_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload,{boardId:s}=i.context;if(!s){t(he.endpoints.removeImageFromBoard.initiate({imageDTO:o}));return}t(he.endpoints.addImageToBoard.initiate({imageDTO:o,board_id:s}));return}}})},eue=()=>{le({matcher:he.endpoints.removeImageFromBoard.matchFulfilled,effect:e=>{const t=fe("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Image removed from board")}})},tue=()=>{le({matcher:he.endpoints.removeImageFromBoard.matchRejected,effect:e=>{const t=fe("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Problem removing image from board")}})},nue=()=>{le({actionCreator:vJ,effect:async(e,{dispatch:t,getState:n})=>{const r=e.payload,i=n(),{shouldConfirmOnDelete:o}=i.system,s=Ele(n());if(!s)return;const a=s.isCanvasImage||s.isInitialImage||s.isControlNetImage||s.isNodesImage;if(o||a){t(N7(!0));return}t(nN({imageDTO:r,imageUsage:s}))}})},ma={title:"Image Uploaded",status:"success"},rue=()=>{le({matcher:he.endpoints.uploadImage.matchFulfilled,effect:(e,{dispatch:t,getState:n})=>{const r=fe("images"),i=e.payload,o=n(),{autoAddBoardId:s}=o.gallery;r.debug({imageDTO:i},"Image uploaded");const{postUploadAction:a}=e.meta.arg.originalArgs;if(!(e.payload.is_intermediate&&!a)){if((a==null?void 0:a.type)==="TOAST"){const{toastOptions:l}=a;if(!s)t(Ft({...ma,...l}));else{t(he.endpoints.addImageToBoard.initiate({board_id:s,imageDTO:i}));const{data:u}=tc.endpoints.listAllBoards.select()(o),c=u==null?void 0:u.find(f=>f.board_id===s),d=c?`Added to board ${c.board_name}`:`Added to board ${s}`;t(Ft({...ma,description:d}))}return}if((a==null?void 0:a.type)==="SET_CANVAS_INITIAL_IMAGE"){t(BO(i)),t(Ft({...ma,description:"Set as canvas initial image"}));return}if((a==null?void 0:a.type)==="SET_CONTROLNET_IMAGE"){const{controlNetId:l}=a;t(qx({controlNetId:l,controlImage:i.image_name})),t(Ft({...ma,description:"Set as control image"}));return}if((a==null?void 0:a.type)==="SET_INITIAL_IMAGE"){t(T0(i)),t(Ft({...ma,description:"Set as initial image"}));return}if((a==null?void 0:a.type)==="SET_NODES_IMAGE"){const{nodeId:l,fieldName:u}=a;t(c2({nodeId:l,fieldName:u,value:i})),t(Ft({...ma,description:`Set as node field ${u}`}));return}if((a==null?void 0:a.type)==="ADD_TO_BATCH"){t(H_([i.image_name])),t(Ft({...ma,description:"Added to batch"}));return}}}})},iue=()=>{le({matcher:he.endpoints.uploadImage.matchRejected,effect:(e,{dispatch:t})=>{const n=fe("images"),r={arg:{...w0(e.meta.arg.originalArgs,["file","postUploadAction"]),file:""}};n.error({...r},"Image upload failed"),t(Ft({title:"Image Upload Failed",description:e.error.message,status:"error"}))}})},oue=ue("generation/initialImageSelected"),sue=ue("generation/modelSelected"),aue=()=>{le({actionCreator:oue,effect:(e,{dispatch:t})=>{if(!e.payload){t(Ft(Ha({title:kd("toast.imageNotLoadedDesc"),status:"error"})));return}t(T0(e.payload)),t(Ft(Ha(kd("toast.sentToImageToImage"))))}})},lue=()=>{le({actionCreator:sue,effect:(e,{getState:t,dispatch:n})=>{var l;const r=fe("models"),i=t(),o=xf.safeParse(e.payload);if(!o.success){r.error({error:o.error.format()},"Failed to parse main model");return}const s=o.data,{base_model:a}=s;if(((l=i.generation.model)==null?void 0:l.base_model)!==a){let u=0;Za(i.lora.loras,(f,h)=>{f.base_model!==a&&(n(L7(h)),u+=1)});const{vae:c}=i.generation;c&&c.base_model!==a&&(n(kO(null)),u+=1);const{controlNets:d}=i.controlNet;Za(d,(f,h)=>{var p;((p=f.model)==null?void 0:p.base_model)!==a&&(n(E7({controlNetId:h})),u+=1)}),u>0&&n(Ft(Ha({title:`Base model changed, cleared ${u} incompatible submodel${u===1?"":"s"}`,status:"warning"})))}n(Va(s))}})},VE=ea({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),zE=ea({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),UE=ea({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),GE=ea({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),HE=ea({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),qE=ea({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),uue=({base_model:e,model_type:t,model_name:n})=>`${e}/${t}/${n}`,zl=e=>{const t=[];return e.forEach(n=>{const r={...Ln(n),id:uue(n)};t.push(r)}),t},xo=Hs.injectEndpoints({endpoints:e=>({getOnnxModels:e.query({query:t=>{const n={model_type:"onnx",base_models:t};return`models/?${fg.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{id:"OnnxModel",type:Ie}];return t&&i.push(...t.ids.map(o=>({type:"OnnxModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=zl(t.models);return zE.setAll(zE.getInitialState(),i)}}),getMainModels:e.query({query:t=>{const n={model_type:"main",base_models:t};return`models/?${fg.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"MainModel",id:Ie}];return t&&i.push(...t.ids.map(o=>({type:"MainModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=zl(t.models);return VE.setAll(VE.getInitialState(),i)}}),updateMainModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/main/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"MainModel",id:Ie},{type:"SDXLRefinerModel",id:Ie}]}),importMainModels:e.mutation({query:({body:t})=>({url:"models/import",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Ie},{type:"SDXLRefinerModel",id:Ie}]}),addMainModels:e.mutation({query:({body:t})=>({url:"models/add",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Ie},{type:"SDXLRefinerModel",id:Ie}]}),deleteMainModels:e.mutation({query:({base_model:t,model_name:n,model_type:r})=>({url:`models/${t}/${r}/${n}`,method:"DELETE"}),invalidatesTags:[{type:"MainModel",id:Ie},{type:"SDXLRefinerModel",id:Ie}]}),convertMainModels:e.mutation({query:({base_model:t,model_name:n,params:r})=>({url:`models/convert/${t}/main/${n}`,method:"PUT",params:r}),invalidatesTags:[{type:"MainModel",id:Ie},{type:"SDXLRefinerModel",id:Ie}]}),mergeMainModels:e.mutation({query:({base_model:t,body:n})=>({url:`models/merge/${t}`,method:"PUT",body:n}),invalidatesTags:[{type:"MainModel",id:Ie},{type:"SDXLRefinerModel",id:Ie}]}),syncModels:e.mutation({query:()=>({url:"models/sync",method:"POST"}),invalidatesTags:[{type:"MainModel",id:Ie},{type:"SDXLRefinerModel",id:Ie}]}),getLoRAModels:e.query({query:()=>({url:"models/",params:{model_type:"lora"}}),providesTags:(t,n,r)=>{const i=[{type:"LoRAModel",id:Ie}];return t&&i.push(...t.ids.map(o=>({type:"LoRAModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=zl(t.models);return UE.setAll(UE.getInitialState(),i)}}),updateLoRAModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/lora/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"LoRAModel",id:Ie}]}),deleteLoRAModels:e.mutation({query:({base_model:t,model_name:n})=>({url:`models/${t}/lora/${n}`,method:"DELETE"}),invalidatesTags:[{type:"LoRAModel",id:Ie}]}),getControlNetModels:e.query({query:()=>({url:"models/",params:{model_type:"controlnet"}}),providesTags:(t,n,r)=>{const i=[{type:"ControlNetModel",id:Ie}];return t&&i.push(...t.ids.map(o=>({type:"ControlNetModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=zl(t.models);return GE.setAll(GE.getInitialState(),i)}}),getVaeModels:e.query({query:()=>({url:"models/",params:{model_type:"vae"}}),providesTags:(t,n,r)=>{const i=[{type:"VaeModel",id:Ie}];return t&&i.push(...t.ids.map(o=>({type:"VaeModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=zl(t.models);return qE.setAll(qE.getInitialState(),i)}}),getTextualInversionModels:e.query({query:()=>({url:"models/",params:{model_type:"embedding"}}),providesTags:(t,n,r)=>{const i=[{type:"TextualInversionModel",id:Ie}];return t&&i.push(...t.ids.map(o=>({type:"TextualInversionModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=zl(t.models);return HE.setAll(HE.getInitialState(),i)}}),getModelsInFolder:e.query({query:t=>({url:`/models/search?${fg.stringify(t,{})}`}),providesTags:(t,n,r)=>{const i=[{type:"ScannedModels",id:Ie}];return t&&i.push(...t.map(o=>({type:"ScannedModels",id:o}))),i}}),getCheckpointConfigs:e.query({query:()=>({url:"/models/ckpt_confs"})})})}),{useGetMainModelsQuery:X5e,useGetOnnxModelsQuery:Y5e,useGetControlNetModelsQuery:Q5e,useGetLoRAModelsQuery:Z5e,useGetTextualInversionModelsQuery:J5e,useGetVaeModelsQuery:e4e,useUpdateMainModelsMutation:t4e,useDeleteMainModelsMutation:n4e,useImportMainModelsMutation:r4e,useAddMainModelsMutation:i4e,useConvertMainModelsMutation:o4e,useMergeMainModelsMutation:s4e,useDeleteLoRAModelsMutation:a4e,useUpdateLoRAModelsMutation:l4e,useSyncModelsMutation:u4e,useGetModelsInFolderQuery:c4e,useGetCheckpointConfigsQuery:d4e}=xo,cue=()=>{le({predicate:(e,t)=>xo.endpoints.getMainModels.matchFulfilled(t)&&!t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=fe("models");r.info({models:e.payload.entities},`Main models loaded (${e.payload.ids.length})`);const i=t().generation.model;if(Pa(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)&&(u==null?void 0:u.model_type)===(i==null?void 0:i.model_type)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(Va(null));return}const l=xf.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse main model");return}n(Va(l.data))}}),le({predicate:(e,t)=>xo.endpoints.getMainModels.matchFulfilled(t)&&t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=fe("models");r.info({models:e.payload.entities},`SDXL Refiner models loaded (${e.payload.ids.length})`);const i=t().sdxl.refinerModel;if(Pa(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)&&(u==null?void 0:u.model_type)===(i==null?void 0:i.model_type)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(xE(null)),n(nae(!1));return}const l=xf.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse SDXL Refiner Model");return}n(xE(l.data))}}),le({matcher:xo.endpoints.getVaeModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=fe("models");r.info({models:e.payload.entities},`VAEs loaded (${e.payload.ids.length})`);const i=t().generation.vae;if(i===null||Pa(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(Va(null));return}const l=bQ.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse VAE model");return}n(kO(l.data))}}),le({matcher:xo.endpoints.getLoRAModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{fe("models").info({models:e.payload.entities},`LoRAs loaded (${e.payload.ids.length})`);const i=t().lora.loras;Za(i,(o,s)=>{Pa(e.payload.entities,l=>(l==null?void 0:l.model_name)===(o==null?void 0:o.model_name)&&(l==null?void 0:l.base_model)===(o==null?void 0:o.base_model))||n(L7(s))})}}),le({matcher:xo.endpoints.getControlNetModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{fe("models").info({models:e.payload.entities},`ControlNet models loaded (${e.payload.ids.length})`);const i=t().controlNet.controlNets;Za(i,(o,s)=>{Pa(e.payload.entities,l=>{var u,c;return(l==null?void 0:l.model_name)===((u=o==null?void 0:o.model)==null?void 0:u.model_name)&&(l==null?void 0:l.base_model)===((c=o==null?void 0:o.model)==null?void 0:c.base_model)})||n(E7({controlNetId:s}))})}}),le({matcher:xo.endpoints.getTextualInversionModels.matchFulfilled,effect:async e=>{fe("models").info({models:e.payload.entities},`Embeddings loaded (${e.payload.ids.length})`)}})},ia=e=>JSON.parse(JSON.stringify(e)),p2=e=>!("$ref"in e),due=e=>!("$ref"in e),f4e=500,fue={integer:"integer",float:"float",number:"float",string:"string",boolean:"boolean",enum:"enum",ImageField:"image",image_collection:"image_collection",LatentsField:"latents",ConditioningField:"conditioning",UNetField:"unet",ClipField:"clip",VaeField:"vae",model:"model",refiner_model:"refiner_model",vae_model:"vae_model",lora_model:"lora_model",controlnet_model:"controlnet_model",ControlNetModelField:"controlnet_model",array:"array",item:"item",ColorField:"color",ControlField:"control",control:"control",cfg_scale:"float",control_weight:"float"},hue=500,Dt=e=>`var(--invokeai-colors-${e}-${hue})`,h4e={integer:{color:"red",colorCssVar:Dt("red"),title:"Integer",description:"Integers are whole numbers, without a decimal point."},float:{color:"orange",colorCssVar:Dt("orange"),title:"Float",description:"Floats are numbers with a decimal point."},string:{color:"yellow",colorCssVar:Dt("yellow"),title:"String",description:"Strings are text."},boolean:{color:"green",colorCssVar:Dt("green"),title:"Boolean",description:"Booleans are true or false."},enum:{color:"blue",colorCssVar:Dt("blue"),title:"Enum",description:"Enums are values that may be one of a number of options."},image:{color:"purple",colorCssVar:Dt("purple"),title:"Image",description:"Images may be passed between nodes."},image_collection:{color:"purple",colorCssVar:Dt("purple"),title:"Image Collection",description:"A collection of images."},latents:{color:"pink",colorCssVar:Dt("pink"),title:"Latents",description:"Latents may be passed between nodes."},conditioning:{color:"cyan",colorCssVar:Dt("cyan"),title:"Conditioning",description:"Conditioning may be passed between nodes."},unet:{color:"red",colorCssVar:Dt("red"),title:"UNet",description:"UNet submodel."},clip:{color:"green",colorCssVar:Dt("green"),title:"Clip",description:"Tokenizer and text_encoder submodels."},vae:{color:"blue",colorCssVar:Dt("blue"),title:"Vae",description:"Vae submodel."},control:{color:"cyan",colorCssVar:Dt("cyan"),title:"Control",description:"Control info passed between nodes."},model:{color:"teal",colorCssVar:Dt("teal"),title:"Model",description:"Models are models."},refiner_model:{color:"teal",colorCssVar:Dt("teal"),title:"Refiner Model",description:"Models are models."},vae_model:{color:"teal",colorCssVar:Dt("teal"),title:"VAE",description:"Models are models."},lora_model:{color:"teal",colorCssVar:Dt("teal"),title:"LoRA",description:"Models are models."},controlnet_model:{color:"teal",colorCssVar:Dt("teal"),title:"ControlNet",description:"Models are models."},array:{color:"gray",colorCssVar:Dt("gray"),title:"Array",description:"TODO: Array type description."},item:{color:"gray",colorCssVar:Dt("gray"),title:"Collection Item",description:"TODO: Collection Item type description."},color:{color:"gray",colorCssVar:Dt("gray"),title:"Color",description:"A RGBA color."}},p4e=250,Ub=e=>e.$ref.split("/").slice(-1)[0],pue=({schemaObject:e,baseField:t})=>{const n={...t,type:"integer",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},gue=({schemaObject:e,baseField:t})=>{const n={...t,type:"float",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},mue=({schemaObject:e,baseField:t})=>{const n={...t,type:"string",inputRequirement:"always",inputKind:"any",default:e.default??""};return e.minLength!==void 0&&(n.minLength=e.minLength),e.maxLength!==void 0&&(n.maxLength=e.maxLength),e.pattern!==void 0&&(n.pattern=e.pattern),n},yue=({schemaObject:e,baseField:t})=>({...t,type:"boolean",inputRequirement:"always",inputKind:"any",default:e.default??!1}),vue=({schemaObject:e,baseField:t})=>({...t,type:"model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),bue=({schemaObject:e,baseField:t})=>({...t,type:"refiner_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),Sue=({schemaObject:e,baseField:t})=>({...t,type:"vae_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),_ue=({schemaObject:e,baseField:t})=>({...t,type:"lora_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),wue=({schemaObject:e,baseField:t})=>({...t,type:"controlnet_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),xue=({schemaObject:e,baseField:t})=>({...t,type:"image",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),Cue=({schemaObject:e,baseField:t})=>({...t,type:"image_collection",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),Tue=({schemaObject:e,baseField:t})=>({...t,type:"latents",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Eue=({schemaObject:e,baseField:t})=>({...t,type:"conditioning",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Pue=({schemaObject:e,baseField:t})=>({...t,type:"unet",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Aue=({schemaObject:e,baseField:t})=>({...t,type:"clip",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),kue=({schemaObject:e,baseField:t})=>({...t,type:"vae",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Rue=({schemaObject:e,baseField:t})=>({...t,type:"control",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Oue=({schemaObject:e,baseField:t})=>{const n=e.enum??[];return{...t,type:"enum",enumType:e.type??"string",options:n,inputRequirement:"always",inputKind:"direct",default:e.default??n[0]}},WE=({baseField:e})=>({...e,type:"array",inputRequirement:"always",inputKind:"direct",default:[]}),KE=({baseField:e})=>({...e,type:"item",inputRequirement:"always",inputKind:"direct",default:void 0}),Mue=({schemaObject:e,baseField:t})=>({...t,type:"color",inputRequirement:"always",inputKind:"direct",default:e.default??{r:127,g:127,b:127,a:255}}),iN=(e,t,n)=>{let r="";n&&t in n?r=n[t]:e.type?e.enum?r="enum":e.type&&(r=e.type):e.allOf?r=Ub(e.allOf[0]):e.anyOf?r=Ub(e.anyOf[0]):e.oneOf&&(r=Ub(e.oneOf[0]));const i=fue[r];if(!i)throw`Field type "${r}" is unknown!`;return i},Iue=(e,t,n)=>{const r=iN(e,t,n),i={name:t,title:e.title??"",description:e.description??""};if(["image"].includes(r))return xue({schemaObject:e,baseField:i});if(["image_collection"].includes(r))return Cue({schemaObject:e,baseField:i});if(["latents"].includes(r))return Tue({schemaObject:e,baseField:i});if(["conditioning"].includes(r))return Eue({schemaObject:e,baseField:i});if(["unet"].includes(r))return Pue({schemaObject:e,baseField:i});if(["clip"].includes(r))return Aue({schemaObject:e,baseField:i});if(["vae"].includes(r))return kue({schemaObject:e,baseField:i});if(["control"].includes(r))return Rue({schemaObject:e,baseField:i});if(["model"].includes(r))return vue({schemaObject:e,baseField:i});if(["refiner_model"].includes(r))return bue({schemaObject:e,baseField:i});if(["vae_model"].includes(r))return Sue({schemaObject:e,baseField:i});if(["lora_model"].includes(r))return _ue({schemaObject:e,baseField:i});if(["controlnet_model"].includes(r))return wue({schemaObject:e,baseField:i});if(["enum"].includes(r))return Oue({schemaObject:e,baseField:i});if(["integer"].includes(r))return pue({schemaObject:e,baseField:i});if(["number","float"].includes(r))return gue({schemaObject:e,baseField:i});if(["string"].includes(r))return mue({schemaObject:e,baseField:i});if(["boolean"].includes(r))return yue({schemaObject:e,baseField:i});if(["array"].includes(r))return WE({schemaObject:e,baseField:i});if(["item"].includes(r))return KE({schemaObject:e,baseField:i});if(["color"].includes(r))return Mue({schemaObject:e,baseField:i});if(["array"].includes(r))return WE({schemaObject:e,baseField:i});if(["item"].includes(r))return KE({schemaObject:e,baseField:i})},Nue=(e,t,n)=>{const r=e.$ref.split("/").slice(-1)[0],i=t.components.schemas[r];return p2(i)?$x(i.properties,(s,a,l)=>{if(!["type","id"].includes(l)&&!["object"].includes(a.type)&&p2(a)){const u=iN(a,l,n);s[l]={name:l,title:a.title??"",description:a.description??"",type:u}}return s},{}):{}},Due=e=>e==="l2i"?["id","type","metadata"]:["id","type","is_intermediate","metadata"],Lue=["Graph","InvocationMeta","MetadataAccumulatorInvocation"],$ue=e=>{var r;return aO((r=e.components)==null?void 0:r.schemas,(i,o)=>o.includes("Invocation")&&!o.includes("InvocationOutput")&&!Lue.some(s=>o.includes(s))).reduce((i,o)=>{var s,a,l,u,c;if(due(o)){const d=o.properties.type.default,f=Due(d),h=((s=o.ui)==null?void 0:s.title)??o.title.replace("Invocation",""),p=(a=o.ui)==null?void 0:a.type_hints,m={};if(d==="collect"){const g=o.properties.item;m.item={type:"item",name:"item",description:g.description??"",title:"Collection Item",inputKind:"connection",inputRequirement:"always",default:void 0}}else if(d==="iterate"){const g=o.properties.collection;m.collection={type:"array",name:"collection",title:g.title??"",default:[],description:g.description??"",inputRequirement:"always",inputKind:"connection"}}else $x(o.properties,(g,b,_)=>{if(!f.includes(_)&&p2(b)){const w=Iue(b,_,p);w&&(g[_]=w)}return g},m);const S=o.output;let y;if(d==="iterate"){const g=(u=(l=e.components)==null?void 0:l.schemas)==null?void 0:u.IterateInvocationOutput;y={item:{name:"item",title:(g==null?void 0:g.title)??"",description:(g==null?void 0:g.description)??"",type:"array"}}}else y=Nue(S,e,p);const v={title:h,type:d,tags:((c=o.ui)==null?void 0:c.tags)??[],description:o.description??"",inputs:m,outputs:y};Object.assign(i,{[d]:v})}return i},{})},Fue=()=>{le({actionCreator:Df.fulfilled,effect:(e,{dispatch:t})=>{const n=fe("system"),r=e.payload;n.debug({schemaJSON:r},"Dereferenced OpenAPI schema");const i=$ue(r);n.debug({nodeTemplates:ia(i)},`Built ${gO(i)} node templates`),t(fC(i))}}),le({actionCreator:Df.rejected,effect:()=>{fe("system").error("Problem dereferencing OpenAPI Schema")}})},Bue=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(Boolean).map(e=>[e.name,e]),jue=new Map(Bue),Vue=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],g2=Symbol(".toJSON was called"),zue=e=>{e[g2]=!0;const t=e.toJSON();return delete e[g2],t},Uue=e=>jue.get(e)??Error,oN=({from:e,seen:t,to:n,forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a})=>{if(!n)if(Array.isArray(e))n=[];else if(!a&&XE(e)){const u=Uue(e.name);n=new u}else n={};if(t.push(e),o>=i)return n;if(s&&typeof e.toJSON=="function"&&e[g2]!==!0)return zue(e);const l=u=>oN({from:u,seen:[...t],forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a});for(const[u,c]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(c)){n[u]="[object Buffer]";continue}if(c!==null&&typeof c=="object"&&typeof c.pipe=="function"){n[u]="[object Stream]";continue}if(typeof c!="function"){if(!c||typeof c!="object"){n[u]=c;continue}if(!t.includes(e[u])){o++,n[u]=l(e[u]);continue}n[u]="[Circular]"}}for(const{property:u,enumerable:c}of Vue)typeof e[u]<"u"&&e[u]!==null&&Object.defineProperty(n,u,{value:XE(e[u])?l(e[u]):e[u],enumerable:r?!0:c,configurable:!0,writable:!0});return n};function bC(e,t={}){const{maxDepth:n=Number.POSITIVE_INFINITY,useToJSON:r=!0}=t;return typeof e=="object"&&e!==null?oN({from:e,seen:[],forceEnumerable:!0,maxDepth:n,depth:0,useToJSON:r,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}function XE(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}const Gue=()=>{le({actionCreator:hl.pending,effect:()=>{}})},Hue=()=>{le({actionCreator:hl.fulfilled,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session canceled (${n})`)}})},que=()=>{le({actionCreator:hl.rejected,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:bC(r)},"Problem canceling session")}}})},Wue=()=>{le({actionCreator:Rn.pending,effect:()=>{}})},Kue=()=>{le({actionCreator:Rn.fulfilled,effect:e=>{const t=fe("session"),n=e.payload;t.debug({session:ia(n)},`Session created (${n.id})`)}})},Xue=()=>{le({actionCreator:Rn.rejected,effect:e=>{const t=fe("session");if(e.payload){const{error:n,status:r}=e.payload,i=ia(e.meta.arg);t.error({graph:i,status:r,error:bC(n)},"Problem creating session")}}})},Yue=()=>{le({actionCreator:yh.pending,effect:()=>{}})},Que=()=>{le({actionCreator:yh.fulfilled,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session invoked (${n})`)}})},Zue=()=>{le({actionCreator:yh.rejected,effect:e=>{const t=fe("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:bC(r)},"Problem invoking session")}}})},Jue=()=>{le({actionCreator:pl,effect:(e,{getState:t,dispatch:n})=>{const r=fe("session"),{sessionId:i}=t().system;i&&(r.debug({session_id:i},`Session ready to invoke (${i})})`),n(yh({session_id:i})))}})},ece=()=>{le({actionCreator:i7,effect:(e,{dispatch:t,getState:n})=>{fe("socketio").debug("Connected");const{nodes:i,config:o}=n(),{disabledTabs:s}=o;!i.schema&&!s.includes("nodes")&&t(Df()),t(o7(e.payload)),t(xo.util.invalidateTags([{type:"MainModel",id:Ie},{type:"SDXLRefinerModel",id:Ie},{type:"LoRAModel",id:Ie},{type:"ControlNetModel",id:Ie},{type:"VaeModel",id:Ie},{type:"TextualInversionModel",id:Ie},{type:"ScannedModels",id:Ie}])),t(mC.util.invalidateTags(["AppConfig","AppVersion"]))}})},tce=()=>{le({actionCreator:s7,effect:(e,{dispatch:t})=>{fe("socketio").debug("Disconnected"),t(a7(e.payload))}})},nce=()=>{le({actionCreator:y7,effect:(e,{dispatch:t,getState:n})=>{const r=fe("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored generator progress for canceled session");return}r.trace(e.payload,`Generator progress (${e.payload.data.node.type})`),t(v7(e.payload))}})},rce=()=>{le({actionCreator:g7,effect:(e,{dispatch:t})=>{fe("socketio").debug(e.payload,"Session complete"),t(m7(e.payload))}})},ice=["dataURL_image"],oce=()=>{le({actionCreator:Ux,effect:async(e,{dispatch:t,getState:n})=>{const r=fe("socketio"),{data:i}=e.payload;r.debug({data:ia(i)},`Invocation complete (${e.payload.data.node.type})`);const o=e.payload.data.graph_execution_state_id,{cancelType:s,isCancelScheduled:a}=n().system;s==="scheduled"&&a&&t(hl({session_id:o}));const{result:l,node:u,graph_execution_state_id:c}=i;if(tN(l)&&!ice.includes(u.type)){const{image_name:d}=l.image,{canvas:f,gallery:h}=n(),p=await t(he.endpoints.getImageDTO.initiate(d)).unwrap();if(c===f.layerState.stagingArea.sessionId&&t(GQ(p)),!p.is_intermediate){const{autoAddBoardId:m}=h;t(m?he.endpoints.addImageToBoard.initiate({board_id:m,imageDTO:p}):he.util.updateQueryData("listImages",{board_id:"none",categories:gi},v=>{const g=v.total,_=Kn.addOne(v,p).total-g;v.total=v.total+_})),t(he.util.invalidateTags([{type:"BoardImagesTotal",id:m??"none"},{type:"BoardAssetsTotal",id:m??"none"}]));const{selectedBoardId:S,shouldAutoSwitch:y}=h;y&&(m&&m!==S?(t(G_(m)),t(km("images"))):m||t(km("images")),t(Os(p.image_name)))}t(Cae(null))}t(h7(e.payload))}})},sce=()=>{le({actionCreator:p7,effect:(e,{dispatch:t})=>{fe("socketio").error(e.payload,`Invocation error (${e.payload.data.node.type})`),t(Gx(e.payload))}})},ace=()=>{le({actionCreator:x7,effect:(e,{dispatch:t})=>{fe("socketio").error(e.payload,`Invocation retrieval error (${e.payload.data.graph_execution_state_id})`),t(C7(e.payload))}})},lce=()=>{le({actionCreator:d7,effect:(e,{dispatch:t,getState:n})=>{const r=fe("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored invocation started for canceled session");return}r.debug(e.payload,`Invocation started (${e.payload.data.node.type})`),t(f7(e.payload))}})},uce=()=>{le({actionCreator:b7,effect:(e,{dispatch:t})=>{const n=fe("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load started: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(oJ(e.payload))}}),le({actionCreator:S7,effect:(e,{dispatch:t})=>{const n=fe("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load complete: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(sJ(e.payload))}})},cce=()=>{le({actionCreator:_7,effect:(e,{dispatch:t})=>{fe("socketio").error(e.payload,`Session retrieval error (${e.payload.data.graph_execution_state_id})`),t(w7(e.payload))}})},dce=()=>{le({actionCreator:zx,effect:(e,{dispatch:t})=>{fe("socketio").debug(e.payload,"Subscribed"),t(l7(e.payload))}})},fce=()=>{le({actionCreator:u7,effect:(e,{dispatch:t})=>{fe("socketio").debug(e.payload,"Unsubscribed"),t(c7(e.payload))}})},hce=()=>{le({actionCreator:Ile,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTO:r}=e.payload;try{const i=await t(he.endpoints.changeImageIsIntermediate.initiate({imageDTO:r,is_intermediate:!1})).unwrap(),{autoAddBoardId:o}=n().gallery;o&&await t(he.endpoints.addImageToBoard.initiate({imageDTO:i,board_id:o})),t(Ft({title:"Image Saved",status:"success"}))}catch(i){t(Ft({title:"Image Saving Failed",description:i==null?void 0:i.message,status:"error"}))}}})},g4e=["sd-1","sd-2","sdxl","sdxl-refiner"],pce=["sd-1","sd-2","sdxl"],m4e=["sdxl-refiner"],gce=()=>{le({actionCreator:IO,effect:(e,{getState:t,dispatch:n})=>{if(e.payload==="unifiedCanvas"){const{data:i}=xo.endpoints.getMainModels.select(pce)(t());if(!i){n(Va(null));return}const o=[];Za(i.entities,c=>{c&&["sd-1","sd-2"].includes(c.base_model)&&o.push(c)});const s=o[0];if(!s){n(Va(null));return}const{base_model:a,model_name:l,model_type:u}=s;n(Va({base_model:a,model_name:l,model_type:u}))}}})},Be="positive_conditioning",qe="negative_conditioning",cn="text_to_latents",We="latents_to_image",hu="nsfw_checker",Qc="invisible_watermark",$e="noise",Fi="rand_int",Co="range_of_size",lr="iterate",Pn="main_model_loader",rv="onnx_model_loader",Zc="vae_loader",mce="lora_loader",it="clip_skip",vt="image_to_latents",Wt="latents_to_latents",Qn="resize_image",Ii="inpaint",Op="control_net_collect",Gb="dynamic_prompt",Ke="metadata_accumulator",YE="esrgan",Jt="sdxl_model_loader",is="t2l_sdxl",Ni="l2l_sdxl",Ul="sdxl_refiner_model_loader",Mp="sdxl_refiner_positive_conditioning",Ip="sdxl_refiner_negative_conditioning",ya="l2l_sdxl_refiner",SC="text_to_image_graph",yce="sdxl_text_to_image_graph",vce="sxdl_image_to_image_graph",Ym="image_to_image_graph",sN="inpaint_graph",bce=({image_name:e,esrganModelName:t})=>{const n={id:YE,type:"esrgan",image:{image_name:e},model_name:t,is_intermediate:!1};return{id:"adhoc-esrgan-graph",nodes:{[YE]:n},edges:[]}},Sce=ue("upscale/upscaleRequested"),_ce=()=>{le({actionCreator:Sce,effect:async(e,{dispatch:t,getState:n,take:r})=>{const{image_name:i}=e.payload,{esrganModelName:o}=n().postprocessing,s=bce({image_name:i,esrganModelName:o});t(Rn({graph:s})),await r(Rn.fulfilled.match),t(pl())}})},wce=e=>{const t=window.open("");t&&e.forEach(n=>{const r=new Image;r.src=n.base64,t.document.write(n.caption),t.document.write("
"),t.document.write(r.outerHTML),t.document.write("

")})},QE=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=i=>t(r.result),r.onerror=i=>n(r.error),r.onabort=i=>n(new Error("Read aborted")),r.readAsDataURL(e)});var _C={exports:{}},iv={},aN={},Pe={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e._registerNode=e.Konva=e.glob=void 0;var t=Math.PI/180;function n(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}e.glob=typeof Ee<"u"?Ee:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},e.Konva={_global:e.glob,version:"9.2.0",isBrowser:n(),isUnminified:/param/.test((function(i){}).toString()),dblClickWindow:400,getAngle(i){return e.Konva.angleDeg?i*t:i},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,pixelRatio:typeof window<"u"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return e.Konva.DD.isDragging},isDragReady(){return!!e.Konva.DD.node},releaseCanvasOnDestroy:!0,document:e.glob.document,_injectGlobal(i){e.glob.Konva=i}};const r=i=>{e.Konva[i.prototype.getClassName()]=i};e._registerNode=r,e.Konva._injectGlobal(e.Konva)})(Pe);var Ot={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Util=e.Transform=void 0;const t=Pe;class n{constructor(b=[1,0,0,1,0,0]){this.dirty=!1,this.m=b&&b.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new n(this.m)}copyInto(b){b.m[0]=this.m[0],b.m[1]=this.m[1],b.m[2]=this.m[2],b.m[3]=this.m[3],b.m[4]=this.m[4],b.m[5]=this.m[5]}point(b){var _=this.m;return{x:_[0]*b.x+_[2]*b.y+_[4],y:_[1]*b.x+_[3]*b.y+_[5]}}translate(b,_){return this.m[4]+=this.m[0]*b+this.m[2]*_,this.m[5]+=this.m[1]*b+this.m[3]*_,this}scale(b,_){return this.m[0]*=b,this.m[1]*=b,this.m[2]*=_,this.m[3]*=_,this}rotate(b){var _=Math.cos(b),w=Math.sin(b),x=this.m[0]*_+this.m[2]*w,T=this.m[1]*_+this.m[3]*w,P=this.m[0]*-w+this.m[2]*_,E=this.m[1]*-w+this.m[3]*_;return this.m[0]=x,this.m[1]=T,this.m[2]=P,this.m[3]=E,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(b,_){var w=this.m[0]+this.m[2]*_,x=this.m[1]+this.m[3]*_,T=this.m[2]+this.m[0]*b,P=this.m[3]+this.m[1]*b;return this.m[0]=w,this.m[1]=x,this.m[2]=T,this.m[3]=P,this}multiply(b){var _=this.m[0]*b.m[0]+this.m[2]*b.m[1],w=this.m[1]*b.m[0]+this.m[3]*b.m[1],x=this.m[0]*b.m[2]+this.m[2]*b.m[3],T=this.m[1]*b.m[2]+this.m[3]*b.m[3],P=this.m[0]*b.m[4]+this.m[2]*b.m[5]+this.m[4],E=this.m[1]*b.m[4]+this.m[3]*b.m[5]+this.m[5];return this.m[0]=_,this.m[1]=w,this.m[2]=x,this.m[3]=T,this.m[4]=P,this.m[5]=E,this}invert(){var b=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),_=this.m[3]*b,w=-this.m[1]*b,x=-this.m[2]*b,T=this.m[0]*b,P=b*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),E=b*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=_,this.m[1]=w,this.m[2]=x,this.m[3]=T,this.m[4]=P,this.m[5]=E,this}getMatrix(){return this.m}decompose(){var b=this.m[0],_=this.m[1],w=this.m[2],x=this.m[3],T=this.m[4],P=this.m[5],E=b*x-_*w;let A={x:T,y:P,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(b!=0||_!=0){var $=Math.sqrt(b*b+_*_);A.rotation=_>0?Math.acos(b/$):-Math.acos(b/$),A.scaleX=$,A.scaleY=E/$,A.skewX=(b*w+_*x)/E,A.skewY=0}else if(w!=0||x!=0){var I=Math.sqrt(w*w+x*x);A.rotation=Math.PI/2-(x>0?Math.acos(-w/I):-Math.acos(w/I)),A.scaleX=E/I,A.scaleY=I,A.skewX=0,A.skewY=(b*w+_*x)/E}return A.rotation=e.Util._getRotation(A.rotation),A}}e.Transform=n;var r="[object Array]",i="[object Number]",o="[object String]",s="[object Boolean]",a=Math.PI/180,l=180/Math.PI,u="#",c="",d="0",f="Konva warning: ",h="Konva error: ",p="rgb(",m={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,132,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,255,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,203],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:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],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,5]},S=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,y=[];const v=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(g){setTimeout(g,60)};e.Util={_isElement(g){return!!(g&&g.nodeType==1)},_isFunction(g){return!!(g&&g.constructor&&g.call&&g.apply)},_isPlainObject(g){return!!g&&g.constructor===Object},_isArray(g){return Object.prototype.toString.call(g)===r},_isNumber(g){return Object.prototype.toString.call(g)===i&&!isNaN(g)&&isFinite(g)},_isString(g){return Object.prototype.toString.call(g)===o},_isBoolean(g){return Object.prototype.toString.call(g)===s},isObject(g){return g instanceof Object},isValidSelector(g){if(typeof g!="string")return!1;var b=g[0];return b==="#"||b==="."||b===b.toUpperCase()},_sign(g){return g===0||g>0?1:-1},requestAnimFrame(g){y.push(g),y.length===1&&v(function(){const b=y;y=[],b.forEach(function(_){_()})})},createCanvasElement(){var g=document.createElement("canvas");try{g.style=g.style||{}}catch{}return g},createImageElement(){return document.createElement("img")},_isInDocument(g){for(;g=g.parentNode;)if(g==document)return!0;return!1},_urlToImage(g,b){var _=e.Util.createImageElement();_.onload=function(){b(_)},_.src=g},_rgbToHex(g,b,_){return((1<<24)+(g<<16)+(b<<8)+_).toString(16).slice(1)},_hexToRgb(g){g=g.replace(u,c);var b=parseInt(g,16);return{r:b>>16&255,g:b>>8&255,b:b&255}},getRandomColor(){for(var g=(Math.random()*16777215<<0).toString(16);g.length<6;)g=d+g;return u+g},getRGB(g){var b;return g in m?(b=m[g],{r:b[0],g:b[1],b:b[2]}):g[0]===u?this._hexToRgb(g.substring(1)):g.substr(0,4)===p?(b=S.exec(g.replace(/ /g,"")),{r:parseInt(b[1],10),g:parseInt(b[2],10),b:parseInt(b[3],10)}):{r:0,g:0,b:0}},colorToRGBA(g){return g=g||"black",e.Util._namedColorToRBA(g)||e.Util._hex3ColorToRGBA(g)||e.Util._hex4ColorToRGBA(g)||e.Util._hex6ColorToRGBA(g)||e.Util._hex8ColorToRGBA(g)||e.Util._rgbColorToRGBA(g)||e.Util._rgbaColorToRGBA(g)||e.Util._hslColorToRGBA(g)},_namedColorToRBA(g){var b=m[g.toLowerCase()];return b?{r:b[0],g:b[1],b:b[2],a:1}:null},_rgbColorToRGBA(g){if(g.indexOf("rgb(")===0){g=g.match(/rgb\(([^)]+)\)/)[1];var b=g.split(/ *, */).map(Number);return{r:b[0],g:b[1],b:b[2],a:1}}},_rgbaColorToRGBA(g){if(g.indexOf("rgba(")===0){g=g.match(/rgba\(([^)]+)\)/)[1];var b=g.split(/ *, */).map((_,w)=>_.slice(-1)==="%"?w===3?parseInt(_)/100:parseInt(_)/100*255:Number(_));return{r:b[0],g:b[1],b:b[2],a:b[3]}}},_hex8ColorToRGBA(g){if(g[0]==="#"&&g.length===9)return{r:parseInt(g.slice(1,3),16),g:parseInt(g.slice(3,5),16),b:parseInt(g.slice(5,7),16),a:parseInt(g.slice(7,9),16)/255}},_hex6ColorToRGBA(g){if(g[0]==="#"&&g.length===7)return{r:parseInt(g.slice(1,3),16),g:parseInt(g.slice(3,5),16),b:parseInt(g.slice(5,7),16),a:1}},_hex4ColorToRGBA(g){if(g[0]==="#"&&g.length===5)return{r:parseInt(g[1]+g[1],16),g:parseInt(g[2]+g[2],16),b:parseInt(g[3]+g[3],16),a:parseInt(g[4]+g[4],16)/255}},_hex3ColorToRGBA(g){if(g[0]==="#"&&g.length===4)return{r:parseInt(g[1]+g[1],16),g:parseInt(g[2]+g[2],16),b:parseInt(g[3]+g[3],16),a:1}},_hslColorToRGBA(g){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(g)){const[b,..._]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(g),w=Number(_[0])/360,x=Number(_[1])/100,T=Number(_[2])/100;let P,E,A;if(x===0)return A=T*255,{r:Math.round(A),g:Math.round(A),b:Math.round(A),a:1};T<.5?P=T*(1+x):P=T+x-T*x;const $=2*T-P,I=[0,0,0];for(let C=0;C<3;C++)E=w+1/3*-(C-1),E<0&&E++,E>1&&E--,6*E<1?A=$+(P-$)*6*E:2*E<1?A=P:3*E<2?A=$+(P-$)*(2/3-E)*6:A=$,I[C]=A*255;return{r:Math.round(I[0]),g:Math.round(I[1]),b:Math.round(I[2]),a:1}}},haveIntersection(g,b){return!(b.x>g.x+g.width||b.x+b.widthg.y+g.height||b.y+b.height1?(P=_,E=w,A=(_-x)*(_-x)+(w-T)*(w-T)):(P=g+I*(_-g),E=b+I*(w-b),A=(P-x)*(P-x)+(E-T)*(E-T))}return[P,E,A]},_getProjectionToLine(g,b,_){var w=e.Util.cloneObject(g),x=Number.MAX_VALUE;return b.forEach(function(T,P){if(!(!_&&P===b.length-1)){var E=b[(P+1)%b.length],A=e.Util._getProjectionToSegment(T.x,T.y,E.x,E.y,g.x,g.y),$=A[0],I=A[1],C=A[2];Cb.length){var P=b;b=g,g=P}for(w=0;w{b.width=0,b.height=0})},drawRoundedRectPath(g,b,_,w){let x=0,T=0,P=0,E=0;typeof w=="number"?x=T=P=E=Math.min(w,b/2,_/2):(x=Math.min(w[0]||0,b/2,_/2),T=Math.min(w[1]||0,b/2,_/2),E=Math.min(w[2]||0,b/2,_/2),P=Math.min(w[3]||0,b/2,_/2)),g.moveTo(x,0),g.lineTo(b-T,0),g.arc(b-T,T,T,Math.PI*3/2,0,!1),g.lineTo(b,_-E),g.arc(b-E,_-E,E,0,Math.PI/2,!1),g.lineTo(P,_),g.arc(P,_-P,P,Math.PI/2,Math.PI,!1),g.lineTo(0,x),g.arc(x,x,x,Math.PI,Math.PI*3/2,!1)}}})(Ot);var wt={},Te={},de={};Object.defineProperty(de,"__esModule",{value:!0});de.getComponentValidator=de.getBooleanValidator=de.getNumberArrayValidator=de.getFunctionValidator=de.getStringOrGradientValidator=de.getStringValidator=de.getNumberOrAutoValidator=de.getNumberOrArrayOfNumbersValidator=de.getNumberValidator=de.alphaComponent=de.RGBComponent=void 0;const Ko=Pe,Nt=Ot;function Xo(e){return Nt.Util._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||Nt.Util._isBoolean(e)?e:Object.prototype.toString.call(e)}function xce(e){return e>255?255:e<0?0:Math.round(e)}de.RGBComponent=xce;function Cce(e){return e>1?1:e<1e-4?1e-4:e}de.alphaComponent=Cce;function Tce(){if(Ko.Konva.isUnminified)return function(e,t){return Nt.Util._isNumber(e)||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}de.getNumberValidator=Tce;function Ece(e){if(Ko.Konva.isUnminified)return function(t,n){let r=Nt.Util._isNumber(t),i=Nt.Util._isArray(t)&&t.length==e;return!r&&!i&&Nt.Util.warn(Xo(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}de.getNumberOrArrayOfNumbersValidator=Ece;function Pce(){if(Ko.Konva.isUnminified)return function(e,t){var n=Nt.Util._isNumber(e),r=e==="auto";return n||r||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}de.getNumberOrAutoValidator=Pce;function Ace(){if(Ko.Konva.isUnminified)return function(e,t){return Nt.Util._isString(e)||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}de.getStringValidator=Ace;function kce(){if(Ko.Konva.isUnminified)return function(e,t){const n=Nt.Util._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}de.getStringOrGradientValidator=kce;function Rce(){if(Ko.Konva.isUnminified)return function(e,t){return Nt.Util._isFunction(e)||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a function.'),e}}de.getFunctionValidator=Rce;function Oce(){if(Ko.Konva.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(Nt.Util._isArray(e)?e.forEach(function(r){Nt.Util._isNumber(r)||Nt.Util.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}de.getNumberArrayValidator=Oce;function Mce(){if(Ko.Konva.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||Nt.Util.warn(Xo(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}de.getBooleanValidator=Mce;function Ice(e){if(Ko.Konva.isUnminified)return function(t,n){return t==null||Nt.Util.isObject(t)||Nt.Util.warn(Xo(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}de.getComponentValidator=Ice;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Factory=void 0;const t=Ot,n=de;var r="get",i="set";e.Factory={addGetterSetter(o,s,a,l,u){e.Factory.addGetter(o,s,a),e.Factory.addSetter(o,s,l,u),e.Factory.addOverloadedGetterSetter(o,s)},addGetter(o,s,a){var l=r+t.Util._capitalize(s);o.prototype[l]=o.prototype[l]||function(){var u=this.attrs[s];return u===void 0?a:u}},addSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]||e.Factory.overWriteSetter(o,s,a,l)},overWriteSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]=function(c){return a&&c!==void 0&&c!==null&&(c=a.call(this,c,s)),this._setAttr(s,c),l&&l.call(this),this}},addComponentsGetterSetter(o,s,a,l,u){var c=a.length,d=t.Util._capitalize,f=r+d(s),h=i+d(s),p,m;o.prototype[f]=function(){var y={};for(p=0;p{this._setAttr(s+d(b),void 0)}),this._fireChangeEvent(s,v,y),u&&u.call(this),this},e.Factory.addOverloadedGetterSetter(o,s)},addOverloadedGetterSetter(o,s){var a=t.Util._capitalize(s),l=i+a,u=r+a;o.prototype[s]=function(){return arguments.length?(this[l](arguments[0]),this):this[u]()}},addDeprecatedGetterSetter(o,s,a,l){t.Util.error("Adding deprecated "+s);var u=r+t.Util._capitalize(s),c=s+" property is deprecated and will be removed soon. Look at Konva change log for more information.";o.prototype[u]=function(){t.Util.error(c);var d=this.attrs[s];return d===void 0?a:d},e.Factory.addSetter(o,s,l,function(){t.Util.error(c)}),e.Factory.addOverloadedGetterSetter(o,s)},backCompat(o,s){t.Util.each(s,function(a,l){var u=o.prototype[l],c=r+t.Util._capitalize(a),d=i+t.Util._capitalize(a);function f(){u.apply(this,arguments),t.Util.error('"'+a+'" method is deprecated and will be removed soon. Use ""'+l+'" instead.')}o.prototype[a]=f,o.prototype[c]=f,o.prototype[d]=f})},afterSetFilter(){this._filterUpToDate=!1}}})(Te);var _i={},Oo={};Object.defineProperty(Oo,"__esModule",{value:!0});Oo.HitContext=Oo.SceneContext=Oo.Context=void 0;const lN=Ot,Nce=Pe;function Dce(e){var t=[],n=e.length,r=lN.Util,i,o;for(i=0;itypeof c=="number"?Math.floor(c):c)),o+=Lce+u.join(ZE)+$ce)):(o+=a.property,t||(o+=zce+a.val)),o+=jce;return o}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=Gce&&n.shift()}reset(){var t=this.getCanvas().getPixelRatio();this.setTransform(1*t,0,0,1*t,0,0)}getCanvas(){return this.canvas}clear(t){var n=this.getCanvas();t?this.clearRect(t.x||0,t.y||0,t.width||0,t.height||0):this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(t){const n=t.attrs.lineCap;n&&this.setAttr("lineCap",n)}_applyOpacity(t){var n=t.getAbsoluteOpacity();n!==1&&this.setAttr("globalAlpha",n)}_applyLineJoin(t){const n=t.attrs.lineJoin;n&&this.setAttr("lineJoin",n)}setAttr(t,n){this._context[t]=n}arc(t,n,r,i,o,s){this._context.arc(t,n,r,i,o,s)}arcTo(t,n,r,i,o){this._context.arcTo(t,n,r,i,o)}beginPath(){this._context.beginPath()}bezierCurveTo(t,n,r,i,o,s){this._context.bezierCurveTo(t,n,r,i,o,s)}clearRect(t,n,r,i){this._context.clearRect(t,n,r,i)}clip(...t){this._context.clip.apply(this._context,t)}closePath(){this._context.closePath()}createImageData(t,n){var r=arguments;if(r.length===2)return this._context.createImageData(t,n);if(r.length===1)return this._context.createImageData(t)}createLinearGradient(t,n,r,i){return this._context.createLinearGradient(t,n,r,i)}createPattern(t,n){return this._context.createPattern(t,n)}createRadialGradient(t,n,r,i,o,s){return this._context.createRadialGradient(t,n,r,i,o,s)}drawImage(t,n,r,i,o,s,a,l,u){var c=arguments,d=this._context;c.length===3?d.drawImage(t,n,r):c.length===5?d.drawImage(t,n,r,i,o):c.length===9&&d.drawImage(t,n,r,i,o,s,a,l,u)}ellipse(t,n,r,i,o,s,a,l){this._context.ellipse(t,n,r,i,o,s,a,l)}isPointInPath(t,n,r,i){return r?this._context.isPointInPath(r,t,n,i):this._context.isPointInPath(t,n,i)}fill(...t){this._context.fill.apply(this._context,t)}fillRect(t,n,r,i){this._context.fillRect(t,n,r,i)}strokeRect(t,n,r,i){this._context.strokeRect(t,n,r,i)}fillText(t,n,r,i){i?this._context.fillText(t,n,r,i):this._context.fillText(t,n,r)}measureText(t){return this._context.measureText(t)}getImageData(t,n,r,i){return this._context.getImageData(t,n,r,i)}lineTo(t,n){this._context.lineTo(t,n)}moveTo(t,n){this._context.moveTo(t,n)}rect(t,n,r,i){this._context.rect(t,n,r,i)}putImageData(t,n,r){this._context.putImageData(t,n,r)}quadraticCurveTo(t,n,r,i){this._context.quadraticCurveTo(t,n,r,i)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,n){this._context.scale(t,n)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(t,n,r,i,o,s){this._context.setTransform(t,n,r,i,o,s)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,n,r,i){this._context.strokeText(t,n,r,i)}transform(t,n,r,i,o,s){this._context.transform(t,n,r,i,o,s)}translate(t,n){this._context.translate(t,n)}_enableTrace(){var t=this,n=JE.length,r=this.setAttr,i,o,s=function(a){var l=t[a],u;t[a]=function(){return o=Dce(Array.prototype.slice.call(arguments,0)),u=l.apply(t,arguments),t._trace({method:a,args:o}),u}};for(i=0;i{i.dragStatus==="dragging"&&(r=!0)}),r},justDragged:!1,get node(){var r;return e.DD._dragElements.forEach(i=>{r=i.node}),r},_dragElements:new Map,_drag(r){const i=[];e.DD._dragElements.forEach((o,s)=>{const{node:a}=o,l=a.getStage();l.setPointersPositions(r),o.pointerId===void 0&&(o.pointerId=n.Util._getFirstPointerId(r));const u=l._changedPointerPositions.find(f=>f.id===o.pointerId);if(u){if(o.dragStatus!=="dragging"){var c=a.dragDistance(),d=Math.max(Math.abs(u.x-o.startPointerPos.x),Math.abs(u.y-o.startPointerPos.y));if(d{o.fire("dragmove",{type:"dragmove",target:o,evt:r},!0)})},_endDragBefore(r){const i=[];e.DD._dragElements.forEach(o=>{const{node:s}=o,a=s.getStage();if(r&&a.setPointersPositions(r),!a._changedPointerPositions.find(c=>c.id===o.pointerId))return;(o.dragStatus==="dragging"||o.dragStatus==="stopped")&&(e.DD.justDragged=!0,t.Konva._mouseListenClick=!1,t.Konva._touchListenClick=!1,t.Konva._pointerListenClick=!1,o.dragStatus="stopped");const u=o.node.getLayer()||o.node instanceof t.Konva.Stage&&o.node;u&&i.indexOf(u)===-1&&i.push(u)}),i.forEach(o=>{o.draw()})},_endDragAfter(r){e.DD._dragElements.forEach((i,o)=>{i.dragStatus==="stopped"&&i.node.fire("dragend",{type:"dragend",target:i.node,evt:r},!0),i.dragStatus!=="dragging"&&e.DD._dragElements.delete(o)})}},t.Konva.isBrowser&&(window.addEventListener("mouseup",e.DD._endDragBefore,!0),window.addEventListener("touchend",e.DD._endDragBefore,!0),window.addEventListener("mousemove",e.DD._drag),window.addEventListener("touchmove",e.DD._drag),window.addEventListener("mouseup",e.DD._endDragAfter,!1),window.addEventListener("touchend",e.DD._endDragAfter,!1))})(av);Object.defineProperty(wt,"__esModule",{value:!0});wt.Node=void 0;const ke=Ot,Ah=Te,Dp=_i,va=Pe,Br=av,Vt=de;var Sg="absoluteOpacity",Lp="allEventListeners",bo="absoluteTransform",e6="absoluteScale",ba="canvas",Zce="Change",Jce="children",ede="konva",m2="listening",t6="mouseenter",n6="mouseleave",r6="set",i6="Shape",_g=" ",o6="stage",ss="transform",tde="Stage",y2="visible",nde=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(_g);let rde=1,Se=class v2{constructor(t){this._id=rde++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===ss||t===bo)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){var r=this._cache.get(t),i=t===ss||t===bo,o=r===void 0||i&&r.dirty===!0;return o&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const i=n.map(o=>o+"Change.konva").join(_g);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(ba)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===bo&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(ba)){const{scene:t,filter:n,hit:r}=this._cache.get(ba);ke.Util.releaseCanvas(t,n,r),this._cache.delete(ba)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){var n=t||{},r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()}));var i=Math.ceil(n.width||r.width),o=Math.ceil(n.height||r.height),s=n.pixelRatio,a=n.x===void 0?Math.floor(r.x):n.x,l=n.y===void 0?Math.floor(r.y):n.y,u=n.offset||0,c=n.drawBorder||!1,d=n.hitCanvasPixelRatio||1;if(!i||!o){ke.Util.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}i+=u*2+1,o+=u*2+1,a-=u,l-=u;var f=new Dp.SceneCanvas({pixelRatio:s,width:i,height:o}),h=new Dp.SceneCanvas({pixelRatio:s,width:0,height:0,willReadFrequently:!0}),p=new Dp.HitCanvas({pixelRatio:d,width:i,height:o}),m=f.getContext(),S=p.getContext();return p.isCache=!0,f.isCache=!0,this._cache.delete(ba),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(f.getContext()._context.imageSmoothingEnabled=!1,h.getContext()._context.imageSmoothingEnabled=!1),m.save(),S.save(),m.translate(-a,-l),S.translate(-a,-l),this._isUnderCache=!0,this._clearSelfAndDescendantCache(Sg),this._clearSelfAndDescendantCache(e6),this.drawScene(f,this),this.drawHit(p,this),this._isUnderCache=!1,m.restore(),S.restore(),c&&(m.save(),m.beginPath(),m.rect(0,0,i,o),m.closePath(),m.setAttr("strokeStyle","red"),m.setAttr("lineWidth",5),m.stroke(),m.restore()),this._cache.set(ba,{scene:f,filter:h,hit:p,x:a,y:l}),this._requestDraw(),this}isCached(){return this._cache.has(ba)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){var r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}],i,o,s,a,l=this.getAbsoluteTransform(n);return r.forEach(function(u){var c=l.point(u);i===void 0&&(i=s=c.x,o=a=c.y),i=Math.min(i,c.x),o=Math.min(o,c.y),s=Math.max(s,c.x),a=Math.max(a,c.y)}),{x:i,y:o,width:s-i,height:a-o}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);var r=this._getCachedSceneCanvas(),i=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/i,r.height/i),t.restore()}_drawCachedHitCanvas(t){var n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){var t=this.filters(),n=this._getCanvasCache(),r=n.scene,i=n.filter,o=i.getContext(),s,a,l,u;if(t){if(!this._filterUpToDate){var c=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(s=t.length,o.clear(),o.drawImage(r._canvas,0,0,r.getWidth()/c,r.getHeight()/c),a=o.getImageData(0,0,i.getWidth(),i.getHeight()),l=0;l{var n,r;if(!t)return this;for(n in t)n!==Jce&&(r=r6+ke.Util._capitalize(n),ke.Util._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(m2,this._isListening)}_isListening(t){if(!this.listening())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isListening(t):!0}isVisible(){return this._getCache(y2,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);var r=this.getLayer(),i=!1;Br.DD._dragElements.forEach(s=>{s.dragStatus==="dragging"&&(s.node.nodeType==="Stage"||s.node.getLayer()===r)&&(i=!0)});var o=!n&&!va.Konva.hitOnDragEnabled&&i;return this.isListening()&&this.isVisible()&&!o}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){var t=this.getDepth(),n=this,r=0,i,o,s,a;function l(u){for(i=[],o=u.length,s=0;s0&&i[0].getDepth()<=t&&l(i)}return n.nodeType!==tde&&l(n.getStage().getChildren()),r}getDepth(){for(var t=0,n=this.parent;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(ss),this._clearSelfAndDescendantCache(bo)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){if(!this.getStage())return null;var t=this.getStage().getPointerPosition();if(!t)return null;var n=this.getAbsoluteTransform().copy();return n.invert(),n.point(t)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);var i=this.getAbsoluteTransform(t).getMatrix(),o=new ke.Transform,s=this.offset();return o.m=i.slice(),o.translate(s.x,s.y),o.getTranslation()}setAbsolutePosition(t){var n=this._clearTransform();this.attrs.x=n.x,this.attrs.y=n.y,delete n.x,delete n.y,this._clearCache(ss);var r=this._getAbsoluteTransform().copy();return r.invert(),r.translate(t.x,t.y),t={x:this.attrs.x+r.getTranslation().x,y:this.attrs.y+r.getTranslation().y},this._setTransform(n),this.setPosition({x:t.x,y:t.y}),this._clearCache(ss),this._clearSelfAndDescendantCache(bo),this}_setTransform(t){var n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){var t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){var n=t.x,r=t.y,i=this.x(),o=this.y();return n!==void 0&&(i+=n),r!==void 0&&(o+=r),this.setPosition({x:i,y:o}),this}_eachAncestorReverse(t,n){var r=[],i=this.getParent(),o,s;if(!(n&&n._id===this._id)){for(r.unshift(this);i&&(!n||i._id!==n._id);)r.unshift(i),i=i.parent;for(o=r.length,s=0;s0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return ke.Util.warn("Node has no parent. moveToBottom function is ignored."),!1;var t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return ke.Util.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&ke.Util.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");var n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(Sg,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){var t=this.opacity(),n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){var t={},n=this.getAttrs(),r,i,o,s,a;t.attrs={};for(r in n)i=n[r],a=ke.Util.isObject(i)&&!ke.Util._isPlainObject(i)&&!ke.Util._isArray(i),!a&&(o=typeof this[r]=="function"&&this[r],delete n[r],s=o?o.call(this):null,n[r]=i,s!==i&&(t.attrs[r]=i));return t.className=this.getClassName(),ke.Util._prepareToStringify(t)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){var i=[];n&&this._isMatch(t)&&i.push(this);for(var o=this.parent;o;){if(o===r)return i;o._isMatch(t)&&i.push(o),o=o.parent}return i}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);var n=t.replace(/ /g,"").split(","),r=n.length,i,o;for(i=0;i{try{const i=t==null?void 0:t.callback;i&&delete t.callback,ke.Util._urlToImage(this.toDataURL(t),function(o){n(o),i==null||i(o)})}catch(i){r(i)}})}toBlob(t){return new Promise((n,r)=>{try{const i=t==null?void 0:t.callback;i&&delete t.callback,this.toCanvas(t).toBlob(o=>{n(o),i==null||i(o)})}catch(i){r(i)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():va.Konva.dragDistance}_off(t,n,r){var i=this.eventListeners[t],o,s,a;for(o=0;o=0;if(r&&!this.isDragging()){var i=!1;Br.DD._dragElements.forEach(o=>{this.isAncestorOf(o.node)&&(i=!0)}),i||this._createDragElement(t)}})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{this._dragCleanup();var t=this.getStage();if(!t)return;const n=Br.DD._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&Br.DD._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return ke.Util.haveIntersection(r,this.getClientRect())}static create(t,n){return ke.Util._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=v2.prototype.getClassName.call(t),i=t.children,o,s,a;n&&(t.attrs.container=n),va.Konva[r]||(ke.Util.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=va.Konva[r];if(o=new l(t.attrs),i)for(s=i.length,a=0;a0}removeChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.destroy()}),this.children=[],this._requestDraw(),this}add(...t){if(t.length===0)return this;if(t.length>1){for(var n=0;n0?n[0]:void 0}_generalFind(t,n){var r=[];return this._descendants(i=>{const o=i._isMatch(t);return o&&r.push(i),!!(o&&n)}),r}_descendants(t){let n=!1;const r=this.getChildren();for(const i of r){if(n=t(i),n)return!0;if(i.hasChildren()&&(n=i._descendants(t),n))return!0}return!1}toObject(){var t=Hb.Node.prototype.toObject.call(this);return t.children=[],this.getChildren().forEach(n=>{t.children.push(n.toObject())}),t}isAncestorOf(t){for(var n=t.getParent();n;){if(n._id===this._id)return!0;n=n.getParent()}return!1}clone(t){var n=Hb.Node.prototype.clone.call(this,t);return this.getChildren().forEach(function(r){n.add(r.clone())}),n}getAllIntersections(t){var n=[];return this.find("Shape").forEach(function(r){r.isVisible()&&r.intersects(t)&&n.push(r)}),n}_clearSelfAndDescendantCache(t){var n;super._clearSelfAndDescendantCache(t),!this.isCached()&&((n=this.children)===null||n===void 0||n.forEach(function(r){r._clearSelfAndDescendantCache(t)}))}_setChildrenIndices(){var t;(t=this.children)===null||t===void 0||t.forEach(function(n,r){n.index=r}),this._requestDraw()}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas(),o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.scene,l=i&&i.isCache;if(!this.isVisible()&&!l)return this;if(a){o.save();var u=this.getAbsoluteTransform(n).getMatrix();o.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this._drawCachedSceneCanvas(o),o.restore()}else this._drawChildren("drawScene",i,n);return this}drawHit(t,n){if(!this.shouldDrawHit(n))return this;var r=this.getLayer(),i=t||r&&r.hitCanvas,o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.hit;if(a){o.save();var l=this.getAbsoluteTransform(n).getMatrix();o.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawCachedHitCanvas(o),o.restore()}else this._drawChildren("drawHit",i,n);return this}_drawChildren(t,n,r){var i,o=n&&n.getContext(),s=this.clipWidth(),a=this.clipHeight(),l=this.clipFunc(),u=s&&a||l;const c=r===this;if(u){o.save();var d=this.getAbsoluteTransform(r),f=d.getMatrix();o.transform(f[0],f[1],f[2],f[3],f[4],f[5]),o.beginPath();let S;if(l)S=l.call(this,o,this);else{var h=this.clipX(),p=this.clipY();o.rect(h,p,s,a)}o.clip.apply(o,S),f=d.copy().invert().getMatrix(),o.transform(f[0],f[1],f[2],f[3],f[4],f[5])}var m=!c&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";m&&(o.save(),o._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(S){S[t](n,r)}),m&&o.restore(),u&&o.restore()}getClientRect(t){var n;t=t||{};var r=t.skipTransform,i=t.relativeTo,o,s,a,l,u={x:1/0,y:1/0,width:0,height:0},c=this;(n=this.children)===null||n===void 0||n.forEach(function(m){if(m.visible()){var S=m.getClientRect({relativeTo:c,skipShadow:t.skipShadow,skipStroke:t.skipStroke});S.width===0&&S.height===0||(o===void 0?(o=S.x,s=S.y,a=S.x+S.width,l=S.y+S.height):(o=Math.min(o,S.x),s=Math.min(s,S.y),a=Math.max(a,S.x+S.width),l=Math.max(l,S.y+S.height)))}});for(var d=this.find("Shape"),f=!1,h=0;hY.indexOf("pointer")>=0?"pointer":Y.indexOf("touch")>=0?"touch":"mouse",U=Y=>{const B=j(Y);if(B==="pointer")return i.Konva.pointerEventsEnabled&&L.pointer;if(B==="touch")return L.touch;if(B==="mouse")return L.mouse};function G(Y={}){return(Y.clipFunc||Y.clipWidth||Y.clipHeight)&&t.Util.warn("Stage does not support clipping. Please use clip for Layers or Groups."),Y}const W="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);";e.stages=[];class X extends r.Container{constructor(B){super(G(B)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),e.stages.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{G(this.attrs)}),this._checkVisibility()}_validateAdd(B){const H=B.getType()==="Layer",Q=B.getType()==="FastLayer";H||Q||t.Util.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const B=this.visible()?"":"none";this.content.style.display=B}setContainer(B){if(typeof B===c){if(B.charAt(0)==="."){var H=B.slice(1);B=document.getElementsByClassName(H)[0]}else{var Q;B.charAt(0)!=="#"?Q=B:Q=B.slice(1),B=document.getElementById(Q)}if(!B)throw"Can not find container in document with id "+Q}return this._setAttr("container",B),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),B.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var B=this.children,H=B.length,Q;for(Q=0;Q-1&&e.stages.splice(H,1),t.Util.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const B=this._pointerPositions[0]||this._changedPointerPositions[0];return B?{x:B.x,y:B.y}:(t.Util.warn(W),null)}_getPointerById(B){return this._pointerPositions.find(H=>H.id===B)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(B){B=B||{},B.x=B.x||0,B.y=B.y||0,B.width=B.width||this.width(),B.height=B.height||this.height();var H=new o.SceneCanvas({width:B.width,height:B.height,pixelRatio:B.pixelRatio||1}),Q=H.getContext()._context,J=this.children;return(B.x||B.y)&&Q.translate(-1*B.x,-1*B.y),J.forEach(function(ne){if(ne.isVisible()){var te=ne._toKonvaCanvas(B);Q.drawImage(te._canvas,B.x,B.y,te.getWidth()/te.getPixelRatio(),te.getHeight()/te.getPixelRatio())}}),H}getIntersection(B){if(!B)return null;var H=this.children,Q=H.length,J=Q-1,ne;for(ne=J;ne>=0;ne--){const te=H[ne].getIntersection(B);if(te)return te}return null}_resizeDOM(){var B=this.width(),H=this.height();this.content&&(this.content.style.width=B+d,this.content.style.height=H+d),this.bufferCanvas.setSize(B,H),this.bufferHitCanvas.setSize(B,H),this.children.forEach(Q=>{Q.setSize({width:B,height:H}),Q.draw()})}add(B,...H){if(arguments.length>1){for(var Q=0;QO&&t.Util.warn("The stage has "+J+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),B.setSize({width:this.width(),height:this.height()}),B.draw(),i.Konva.isBrowser&&this.content.appendChild(B.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(B){return l.hasPointerCapture(B,this)}setPointerCapture(B){l.setPointerCapture(B,this)}releaseCapture(B){l.releaseCapture(B,this)}getLayers(){return this.children}_bindContentEvents(){i.Konva.isBrowser&&D.forEach(([B,H])=>{this.content.addEventListener(B,Q=>{this[H](Q)},{passive:!1})})}_pointerenter(B){this.setPointersPositions(B);const H=U(B.type);this._fire(H.pointerenter,{evt:B,target:this,currentTarget:this})}_pointerover(B){this.setPointersPositions(B);const H=U(B.type);this._fire(H.pointerover,{evt:B,target:this,currentTarget:this})}_getTargetShape(B){let H=this[B+"targetShape"];return H&&!H.getStage()&&(H=null),H}_pointerleave(B){const H=U(B.type),Q=j(B.type);if(H){this.setPointersPositions(B);var J=this._getTargetShape(Q),ne=!s.DD.isDragging||i.Konva.hitOnDragEnabled;J&&ne?(J._fireAndBubble(H.pointerout,{evt:B}),J._fireAndBubble(H.pointerleave,{evt:B}),this._fire(H.pointerleave,{evt:B,target:this,currentTarget:this}),this[Q+"targetShape"]=null):ne&&(this._fire(H.pointerleave,{evt:B,target:this,currentTarget:this}),this._fire(H.pointerout,{evt:B,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(B){const H=U(B.type),Q=j(B.type);if(H){this.setPointersPositions(B);var J=!1;this._changedPointerPositions.forEach(ne=>{var te=this.getIntersection(ne);if(s.DD.justDragged=!1,i.Konva["_"+Q+"ListenClick"]=!0,!(te&&te.isListening()))return;i.Konva.capturePointerEventsEnabled&&te.setPointerCapture(ne.id),this[Q+"ClickStartShape"]=te,te._fireAndBubble(H.pointerdown,{evt:B,pointerId:ne.id}),J=!0;const ve=B.type.indexOf("touch")>=0;te.preventDefault()&&B.cancelable&&ve&&B.preventDefault()}),J||this._fire(H.pointerdown,{evt:B,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(B){const H=U(B.type),Q=j(B.type);if(!H)return;s.DD.isDragging&&s.DD.node.preventDefault()&&B.cancelable&&B.preventDefault(),this.setPointersPositions(B);var J=!s.DD.isDragging||i.Konva.hitOnDragEnabled;if(!J)return;var ne={};let te=!1;var xe=this._getTargetShape(Q);this._changedPointerPositions.forEach(ve=>{const ce=l.getCapturedShape(ve.id)||this.getIntersection(ve),De=ve.id,se={evt:B,pointerId:De};var pt=xe!==ce;if(pt&&xe&&(xe._fireAndBubble(H.pointerout,Object.assign({},se),ce),xe._fireAndBubble(H.pointerleave,Object.assign({},se),ce)),ce){if(ne[ce._id])return;ne[ce._id]=!0}ce&&ce.isListening()?(te=!0,pt&&(ce._fireAndBubble(H.pointerover,Object.assign({},se),xe),ce._fireAndBubble(H.pointerenter,Object.assign({},se),xe),this[Q+"targetShape"]=ce),ce._fireAndBubble(H.pointermove,Object.assign({},se))):xe&&(this._fire(H.pointerover,{evt:B,target:this,currentTarget:this,pointerId:De}),this[Q+"targetShape"]=null)}),te||this._fire(H.pointermove,{evt:B,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(B){const H=U(B.type),Q=j(B.type);if(!H)return;this.setPointersPositions(B);const J=this[Q+"ClickStartShape"],ne=this[Q+"ClickEndShape"];var te={};let xe=!1;this._changedPointerPositions.forEach(ve=>{const ce=l.getCapturedShape(ve.id)||this.getIntersection(ve);if(ce){if(ce.releaseCapture(ve.id),te[ce._id])return;te[ce._id]=!0}const De=ve.id,se={evt:B,pointerId:De};let pt=!1;i.Konva["_"+Q+"InDblClickWindow"]?(pt=!0,clearTimeout(this[Q+"DblTimeout"])):s.DD.justDragged||(i.Konva["_"+Q+"InDblClickWindow"]=!0,clearTimeout(this[Q+"DblTimeout"])),this[Q+"DblTimeout"]=setTimeout(function(){i.Konva["_"+Q+"InDblClickWindow"]=!1},i.Konva.dblClickWindow),ce&&ce.isListening()?(xe=!0,this[Q+"ClickEndShape"]=ce,ce._fireAndBubble(H.pointerup,Object.assign({},se)),i.Konva["_"+Q+"ListenClick"]&&J&&J===ce&&(ce._fireAndBubble(H.pointerclick,Object.assign({},se)),pt&&ne&&ne===ce&&ce._fireAndBubble(H.pointerdblclick,Object.assign({},se)))):(this[Q+"ClickEndShape"]=null,i.Konva["_"+Q+"ListenClick"]&&this._fire(H.pointerclick,{evt:B,target:this,currentTarget:this,pointerId:De}),pt&&this._fire(H.pointerdblclick,{evt:B,target:this,currentTarget:this,pointerId:De}))}),xe||this._fire(H.pointerup,{evt:B,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),i.Konva["_"+Q+"ListenClick"]=!1,B.cancelable&&Q!=="touch"&&B.preventDefault()}_contextmenu(B){this.setPointersPositions(B);var H=this.getIntersection(this.getPointerPosition());H&&H.isListening()?H._fireAndBubble($,{evt:B}):this._fire($,{evt:B,target:this,currentTarget:this})}_wheel(B){this.setPointersPositions(B);var H=this.getIntersection(this.getPointerPosition());H&&H.isListening()?H._fireAndBubble(N,{evt:B}):this._fire(N,{evt:B,target:this,currentTarget:this})}_pointercancel(B){this.setPointersPositions(B);const H=l.getCapturedShape(B.pointerId)||this.getIntersection(this.getPointerPosition());H&&H._fireAndBubble(_,l.createEvent(B)),l.releaseCapture(B.pointerId)}_lostpointercapture(B){l.releaseCapture(B.pointerId)}setPointersPositions(B){var H=this._getContentPosition(),Q=null,J=null;B=B||window.event,B.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(B.touches,ne=>{this._pointerPositions.push({id:ne.identifier,x:(ne.clientX-H.left)/H.scaleX,y:(ne.clientY-H.top)/H.scaleY})}),Array.prototype.forEach.call(B.changedTouches||B.touches,ne=>{this._changedPointerPositions.push({id:ne.identifier,x:(ne.clientX-H.left)/H.scaleX,y:(ne.clientY-H.top)/H.scaleY})})):(Q=(B.clientX-H.left)/H.scaleX,J=(B.clientY-H.top)/H.scaleY,this.pointerPos={x:Q,y:J},this._pointerPositions=[{x:Q,y:J,id:t.Util._getFirstPointerId(B)}],this._changedPointerPositions=[{x:Q,y:J,id:t.Util._getFirstPointerId(B)}])}_setPointerPosition(B){t.Util.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(B)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var B=this.content.getBoundingClientRect();return{top:B.top,left:B.left,scaleX:B.width/this.content.clientWidth||1,scaleY:B.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new o.SceneCanvas({width:this.width(),height:this.height()}),this.bufferHitCanvas=new o.HitCanvas({pixelRatio:1,width:this.width(),height:this.height()}),!!i.Konva.isBrowser){var B=this.container();if(!B)throw"Stage has no container. A container is required.";B.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),B.appendChild(this.content),this._resizeDOM()}}cache(){return t.Util.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(B){B.batchDraw()}),this}}e.Stage=X,X.prototype.nodeType=u,(0,a._registerNode)(X),n.Factory.addGetterSetter(X,"container")})(dN);var kh={},on={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.shapes=void 0;const t=Pe,n=Ot,r=Te,i=wt,o=de,s=Pe,a=Tr;var l="hasShadow",u="shadowRGBA",c="patternImage",d="linearGradient",f="radialGradient";let h;function p(){return h||(h=n.Util.createCanvasElement().getContext("2d"),h)}e.shapes={};function m(P){const E=this.attrs.fillRule;E?P.fill(E):P.fill()}function S(P){P.stroke()}function y(P){P.fill()}function v(P){P.stroke()}function g(){this._clearCache(l)}function b(){this._clearCache(u)}function _(){this._clearCache(c)}function w(){this._clearCache(d)}function x(){this._clearCache(f)}class T extends i.Node{constructor(E){super(E);let A;for(;A=n.Util.getRandomColor(),!(A&&!(A in e.shapes)););this.colorKey=A,e.shapes[A]=this}getContext(){return n.Util.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return n.Util.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(l,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(c,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var E=p();const A=E.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(A&&A.setTransform){const $=new n.Transform;$.translate(this.fillPatternX(),this.fillPatternY()),$.rotate(t.Konva.getAngle(this.fillPatternRotation())),$.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),$.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const I=$.getMatrix(),C=typeof DOMMatrix>"u"?{a:I[0],b:I[1],c:I[2],d:I[3],e:I[4],f:I[5]}:new DOMMatrix(I);A.setTransform(C)}return A}}_getLinearGradient(){return this._getCache(d,this.__getLinearGradient)}__getLinearGradient(){var E=this.fillLinearGradientColorStops();if(E){for(var A=p(),$=this.fillLinearGradientStartPoint(),I=this.fillLinearGradientEndPoint(),C=A.createLinearGradient($.x,$.y,I.x,I.y),R=0;Rthis.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const E=this.hitStrokeWidth();return E==="auto"?this.hasStroke():this.strokeEnabled()&&!!E}intersects(E){var A=this.getStage(),$=A.bufferHitCanvas,I;return $.getContext().clear(),this.drawHit($,null,!0),I=$.context.getImageData(Math.round(E.x),Math.round(E.y),1,1).data,I[3]>0}destroy(){return i.Node.prototype.destroy.call(this),delete e.shapes[this.colorKey],delete this.colorKey,this}_useBufferCanvas(E){var A;if(!this.getStage()||!((A=this.attrs.perfectDrawEnabled)!==null&&A!==void 0?A:!0))return!1;const I=E||this.hasFill(),C=this.hasStroke(),R=this.getAbsoluteOpacity()!==1;if(I&&C&&R)return!0;const M=this.hasShadow(),N=this.shadowForStrokeEnabled();return!!(I&&C&&M&&N)}setStrokeHitEnabled(E){n.Util.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),E?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var E=this.size();return{x:this._centroid?-E.width/2:0,y:this._centroid?-E.height/2:0,width:E.width,height:E.height}}getClientRect(E={}){const A=E.skipTransform,$=E.relativeTo,I=this.getSelfRect(),R=!E.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,M=I.width+R,N=I.height+R,O=!E.skipShadow&&this.hasShadow(),D=O?this.shadowOffsetX():0,L=O?this.shadowOffsetY():0,j=M+Math.abs(D),U=N+Math.abs(L),G=O&&this.shadowBlur()||0,W=j+G*2,X=U+G*2,Y={width:W,height:X,x:-(R/2+G)+Math.min(D,0)+I.x,y:-(R/2+G)+Math.min(L,0)+I.y};return A?Y:this._transformedRect(Y,$)}drawScene(E,A){var $=this.getLayer(),I=E||$.getCanvas(),C=I.getContext(),R=this._getCanvasCache(),M=this.getSceneFunc(),N=this.hasShadow(),O,D,L,j=I.isCache,U=A===this;if(!this.isVisible()&&!U)return this;if(R){C.save();var G=this.getAbsoluteTransform(A).getMatrix();return C.transform(G[0],G[1],G[2],G[3],G[4],G[5]),this._drawCachedSceneCanvas(C),C.restore(),this}if(!M)return this;if(C.save(),this._useBufferCanvas()&&!j){O=this.getStage(),D=O.bufferCanvas,L=D.getContext(),L.clear(),L.save(),L._applyLineJoin(this);var W=this.getAbsoluteTransform(A).getMatrix();L.transform(W[0],W[1],W[2],W[3],W[4],W[5]),M.call(this,L,this),L.restore();var X=D.pixelRatio;N&&C._applyShadow(this),C._applyOpacity(this),C._applyGlobalCompositeOperation(this),C.drawImage(D._canvas,0,0,D.width/X,D.height/X)}else{if(C._applyLineJoin(this),!U){var W=this.getAbsoluteTransform(A).getMatrix();C.transform(W[0],W[1],W[2],W[3],W[4],W[5]),C._applyOpacity(this),C._applyGlobalCompositeOperation(this)}N&&C._applyShadow(this),M.call(this,C,this)}return C.restore(),this}drawHit(E,A,$=!1){if(!this.shouldDrawHit(A,$))return this;var I=this.getLayer(),C=E||I.hitCanvas,R=C&&C.getContext(),M=this.hitFunc()||this.sceneFunc(),N=this._getCanvasCache(),O=N&&N.hit;if(this.colorKey||n.Util.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),O){R.save();var D=this.getAbsoluteTransform(A).getMatrix();return R.transform(D[0],D[1],D[2],D[3],D[4],D[5]),this._drawCachedHitCanvas(R),R.restore(),this}if(!M)return this;if(R.save(),R._applyLineJoin(this),!(this===A)){var j=this.getAbsoluteTransform(A).getMatrix();R.transform(j[0],j[1],j[2],j[3],j[4],j[5])}return M.call(this,R,this),R.restore(),this}drawHitFromCache(E=0){var A=this._getCanvasCache(),$=this._getCachedSceneCanvas(),I=A.hit,C=I.getContext(),R=I.getWidth(),M=I.getHeight(),N,O,D,L,j,U;C.clear(),C.drawImage($._canvas,0,0,R,M);try{for(N=C.getImageData(0,0,R,M),O=N.data,D=O.length,L=n.Util._hexToRgb(this.colorKey),j=0;jE?(O[j]=L.r,O[j+1]=L.g,O[j+2]=L.b,O[j+3]=255):O[j+3]=0;C.putImageData(N,0,0)}catch(G){n.Util.error("Unable to draw hit graph from cached scene canvas. "+G.message)}return this}hasPointerCapture(E){return a.hasPointerCapture(E,this)}setPointerCapture(E){a.setPointerCapture(E,this)}releaseCapture(E){a.releaseCapture(E,this)}}e.Shape=T,T.prototype._fillFunc=m,T.prototype._strokeFunc=S,T.prototype._fillFuncHit=y,T.prototype._strokeFuncHit=v,T.prototype._centroid=!1,T.prototype.nodeType="Shape",(0,s._registerNode)(T),T.prototype.eventListeners={},T.prototype.on.call(T.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",g),T.prototype.on.call(T.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",b),T.prototype.on.call(T.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",_),T.prototype.on.call(T.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",w),T.prototype.on.call(T.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",x),r.Factory.addGetterSetter(T,"stroke",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(T,"strokeWidth",2,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillAfterStrokeEnabled",!1),r.Factory.addGetterSetter(T,"hitStrokeWidth","auto",(0,o.getNumberOrAutoValidator)()),r.Factory.addGetterSetter(T,"strokeHitEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(T,"perfectDrawEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(T,"shadowForStrokeEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(T,"lineJoin"),r.Factory.addGetterSetter(T,"lineCap"),r.Factory.addGetterSetter(T,"sceneFunc"),r.Factory.addGetterSetter(T,"hitFunc"),r.Factory.addGetterSetter(T,"dash"),r.Factory.addGetterSetter(T,"dashOffset",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"shadowColor",void 0,(0,o.getStringValidator)()),r.Factory.addGetterSetter(T,"shadowBlur",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"shadowOpacity",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(T,"shadowOffset",["x","y"]),r.Factory.addGetterSetter(T,"shadowOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"shadowOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternImage"),r.Factory.addGetterSetter(T,"fill",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(T,"fillPatternX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillLinearGradientColorStops"),r.Factory.addGetterSetter(T,"strokeLinearGradientColorStops"),r.Factory.addGetterSetter(T,"fillRadialGradientStartRadius",0),r.Factory.addGetterSetter(T,"fillRadialGradientEndRadius",0),r.Factory.addGetterSetter(T,"fillRadialGradientColorStops"),r.Factory.addGetterSetter(T,"fillPatternRepeat","repeat"),r.Factory.addGetterSetter(T,"fillEnabled",!0),r.Factory.addGetterSetter(T,"strokeEnabled",!0),r.Factory.addGetterSetter(T,"shadowEnabled",!0),r.Factory.addGetterSetter(T,"dashEnabled",!0),r.Factory.addGetterSetter(T,"strokeScaleEnabled",!0),r.Factory.addGetterSetter(T,"fillPriority","color"),r.Factory.addComponentsGetterSetter(T,"fillPatternOffset",["x","y"]),r.Factory.addGetterSetter(T,"fillPatternOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(T,"fillPatternScale",["x","y"]),r.Factory.addGetterSetter(T,"fillPatternScaleX",1,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(T,"fillPatternScaleY",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(T,"fillLinearGradientStartPoint",["x","y"]),r.Factory.addComponentsGetterSetter(T,"strokeLinearGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillLinearGradientStartPointX",0),r.Factory.addGetterSetter(T,"strokeLinearGradientStartPointX",0),r.Factory.addGetterSetter(T,"fillLinearGradientStartPointY",0),r.Factory.addGetterSetter(T,"strokeLinearGradientStartPointY",0),r.Factory.addComponentsGetterSetter(T,"fillLinearGradientEndPoint",["x","y"]),r.Factory.addComponentsGetterSetter(T,"strokeLinearGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillLinearGradientEndPointX",0),r.Factory.addGetterSetter(T,"strokeLinearGradientEndPointX",0),r.Factory.addGetterSetter(T,"fillLinearGradientEndPointY",0),r.Factory.addGetterSetter(T,"strokeLinearGradientEndPointY",0),r.Factory.addComponentsGetterSetter(T,"fillRadialGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillRadialGradientStartPointX",0),r.Factory.addGetterSetter(T,"fillRadialGradientStartPointY",0),r.Factory.addComponentsGetterSetter(T,"fillRadialGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(T,"fillRadialGradientEndPointX",0),r.Factory.addGetterSetter(T,"fillRadialGradientEndPointY",0),r.Factory.addGetterSetter(T,"fillPatternRotation",0),r.Factory.addGetterSetter(T,"fillRule",void 0,(0,o.getStringValidator)()),r.Factory.backCompat(T,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"})})(on);Object.defineProperty(kh,"__esModule",{value:!0});kh.Layer=void 0;const go=Ot,qb=gl,Gl=wt,xC=Te,s6=_i,lde=de,ude=on,cde=Pe;var dde="#",fde="beforeDraw",hde="draw",pN=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],pde=pN.length;class bc extends qb.Container{constructor(t){super(t),this.canvas=new s6.SceneCanvas,this.hitCanvas=new s6.HitCanvas({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(t){return this.getContext().clear(t),this.getHitCanvas().getContext().clear(t),this}setZIndex(t){super.setZIndex(t);var n=this.getStage();return n&&n.content&&(n.content.removeChild(this.getNativeCanvasElement()),t{this.draw(),this._waitingForDraw=!1})),this}getIntersection(t){if(!this.isListening()||!this.isVisible())return null;for(var n=1,r=!1;;){for(let i=0;i0)return{antialiased:!0};return{}}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas();return this._fire(fde,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),qb.Container.prototype.drawScene.call(this,i,n),this._fire(hde,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),qb.Container.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){go.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return go.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!(!this.parent||!this.parent.content)){var t=this.parent,n=!!this.hitCanvas._canvas.parentNode;n?t.content.removeChild(this.hitCanvas._canvas):t.content.appendChild(this.hitCanvas._canvas)}}destroy(){return go.Util.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}kh.Layer=bc;bc.prototype.nodeType="Layer";(0,cde._registerNode)(bc);xC.Factory.addGetterSetter(bc,"imageSmoothingEnabled",!0);xC.Factory.addGetterSetter(bc,"clearBeforeDraw",!0);xC.Factory.addGetterSetter(bc,"hitGraphEnabled",!0,(0,lde.getBooleanValidator)());var uv={};Object.defineProperty(uv,"__esModule",{value:!0});uv.FastLayer=void 0;const gde=Ot,mde=kh,yde=Pe;class CC extends mde.Layer{constructor(t){super(t),this.listening(!1),gde.Util.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}uv.FastLayer=CC;CC.prototype.nodeType="FastLayer";(0,yde._registerNode)(CC);var Sc={};Object.defineProperty(Sc,"__esModule",{value:!0});Sc.Group=void 0;const vde=Ot,bde=gl,Sde=Pe;class TC extends bde.Container{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&vde.Util.throw("You may only add groups and shapes to groups.")}}Sc.Group=TC;TC.prototype.nodeType="Group";(0,Sde._registerNode)(TC);var _c={};Object.defineProperty(_c,"__esModule",{value:!0});_c.Animation=void 0;const Wb=Pe,a6=Ot;var Kb=function(){return Wb.glob.performance&&Wb.glob.performance.now?function(){return Wb.glob.performance.now()}:function(){return new Date().getTime()}}();class Gi{constructor(t,n){this.id=Gi.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:Kb(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){var n=[];return t?t.length>0?n=t:n=[t]:n=[],this.layers=n,this}getLayers(){return this.layers}addLayer(t){var n=this.layers,r=n.length,i;for(i=0;ithis.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():p<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=p,this.update())}getTime(){return this._time}setPosition(p){this.prevPos=this._pos,this.propFunc(p),this._pos=p}getPosition(p){return p===void 0&&(p=this._time),this.func(p,this.begin,this._change,this.duration)}play(){this.state=a,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=l,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(p){this.pause(),this._time=p,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){var p=this.getTimer()-this._startTime;this.state===a?this.setTime(p):this.state===l&&this.setTime(this.duration-p)}pause(){this.state=s,this.fire("onPause")}getTimer(){return new Date().getTime()}}class f{constructor(p){var m=this,S=p.node,y=S._id,v,g=p.easing||e.Easings.Linear,b=!!p.yoyo,_;typeof p.duration>"u"?v=.3:p.duration===0?v=.001:v=p.duration,this.node=S,this._id=u++;var w=S.getLayer()||(S instanceof i.Konva.Stage?S.getLayers():null);w||t.Util.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new n.Animation(function(){m.tween.onEnterFrame()},w),this.tween=new d(_,function(x){m._tweenFunc(x)},g,0,1,v*1e3,b),this._addListeners(),f.attrs[y]||(f.attrs[y]={}),f.attrs[y][this._id]||(f.attrs[y][this._id]={}),f.tweens[y]||(f.tweens[y]={});for(_ in p)o[_]===void 0&&this._addAttr(_,p[_]);this.reset(),this.onFinish=p.onFinish,this.onReset=p.onReset,this.onUpdate=p.onUpdate}_addAttr(p,m){var S=this.node,y=S._id,v,g,b,_,w,x,T,P;if(b=f.tweens[y][p],b&&delete f.attrs[y][b][p],v=S.getAttr(p),t.Util._isArray(m))if(g=[],w=Math.max(m.length,v.length),p==="points"&&m.length!==v.length&&(m.length>v.length?(T=v,v=t.Util._prepareArrayForTween(v,m,S.closed())):(x=m,m=t.Util._prepareArrayForTween(m,v,S.closed()))),p.indexOf("fill")===0)for(_=0;_{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var p=this.node,m=f.attrs[p._id][this._id];m.points&&m.points.trueEnd&&p.setAttr("points",m.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var p=this.node,m=f.attrs[p._id][this._id];m.points&&m.points.trueStart&&p.points(m.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(p){return this.tween.seek(p*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var p=this.node._id,m=this._id,S=f.tweens[p],y;this.pause();for(y in S)delete f.tweens[p][y];delete f.attrs[p][m]}}e.Tween=f,f.attrs={},f.tweens={},r.Node.prototype.to=function(h){var p=h.onFinish;h.node=this,h.onFinish=function(){this.destroy(),p&&p()};var m=new f(h);m.play()},e.Easings={BackEaseIn(h,p,m,S){var y=1.70158;return m*(h/=S)*h*((y+1)*h-y)+p},BackEaseOut(h,p,m,S){var y=1.70158;return m*((h=h/S-1)*h*((y+1)*h+y)+1)+p},BackEaseInOut(h,p,m,S){var y=1.70158;return(h/=S/2)<1?m/2*(h*h*(((y*=1.525)+1)*h-y))+p:m/2*((h-=2)*h*(((y*=1.525)+1)*h+y)+2)+p},ElasticEaseIn(h,p,m,S,y,v){var g=0;return h===0?p:(h/=S)===1?p+m:(v||(v=S*.3),!y||y0?t:n),c=s*n,d=a*(a>0?t:n),f=l*(l>0?n:t);return{x:u,y:r?-1*f:d,width:c-u,height:f-d}}}cv.Arc=Yo;Yo.prototype._centroid=!0;Yo.prototype.className="Arc";Yo.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,wde._registerNode)(Yo);dv.Factory.addGetterSetter(Yo,"innerRadius",0,(0,fv.getNumberValidator)());dv.Factory.addGetterSetter(Yo,"outerRadius",0,(0,fv.getNumberValidator)());dv.Factory.addGetterSetter(Yo,"angle",0,(0,fv.getNumberValidator)());dv.Factory.addGetterSetter(Yo,"clockwise",!1,(0,fv.getBooleanValidator)());var hv={},Rh={};Object.defineProperty(Rh,"__esModule",{value:!0});Rh.Line=void 0;const pv=Te,xde=on,mN=de,Cde=Pe;function b2(e,t,n,r,i,o,s){var a=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),l=Math.sqrt(Math.pow(i-n,2)+Math.pow(o-r,2)),u=s*a/(a+l),c=s*l/(a+l),d=n-u*(i-e),f=r-u*(o-t),h=n+c*(i-e),p=r+c*(o-t);return[d,f,h,p]}function u6(e,t){var n=e.length,r=[],i,o;for(i=2;i4){for(a=this.getTensionPoints(),l=a.length,u=o?0:4,o||t.quadraticCurveTo(a[0],a[1],a[2],a[3]);u{let u,c,d;u=l/2,c=0;for(let h=0;h<20;h++)d=u*e.tValues[20][h]+u,c+=e.cValues[20][h]*r(s,a,d);return u*c};e.getCubicArcLength=t;const n=(s,a,l)=>{l===void 0&&(l=1);const u=s[0]-2*s[1]+s[2],c=a[0]-2*a[1]+a[2],d=2*s[1]-2*s[0],f=2*a[1]-2*a[0],h=4*(u*u+c*c),p=4*(u*d+c*f),m=d*d+f*f;if(h===0)return l*Math.sqrt(Math.pow(s[2]-s[0],2)+Math.pow(a[2]-a[0],2));const S=p/(2*h),y=m/h,v=l+S,g=y-S*S,b=v*v+g>0?Math.sqrt(v*v+g):0,_=S*S+g>0?Math.sqrt(S*S+g):0,w=S+Math.sqrt(S*S+g)!==0?g*Math.log(Math.abs((v+b)/(S+_))):0;return Math.sqrt(h)/2*(v*b-S*_+w)};e.getQuadraticArcLength=n;function r(s,a,l){const u=i(1,l,s),c=i(1,l,a),d=u*u+c*c;return Math.sqrt(d)}const i=(s,a,l)=>{const u=l.length-1;let c,d;if(u===0)return 0;if(s===0){d=0;for(let f=0;f<=u;f++)d+=e.binomialCoefficients[u][f]*Math.pow(1-a,u-f)*Math.pow(a,f)*l[f];return d}else{c=new Array(u);for(let f=0;f{let u=1,c=s/a,d=(s-l(c))/a,f=0;for(;u>.001;){const h=l(c+d),p=Math.abs(s-h)/a;if(p500)break}return c};e.t2length=o})(yN);Object.defineProperty(wc,"__esModule",{value:!0});wc.Path=void 0;const Tde=Te,Ede=on,Pde=Pe,Hl=yN;class Zt extends Ede.Shape{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=Zt.parsePathData(this.data()),this.pathLength=Zt.getPathLength(this.dataArray)}_sceneFunc(t){var n=this.dataArray;t.beginPath();for(var r=!1,i=0;ic?u:c,S=u>c?1:u/c,y=u>c?c/u:1;t.translate(a,l),t.rotate(h),t.scale(S,y),t.arc(0,0,m,d,d+f,1-p),t.scale(1/S,1/y),t.rotate(-h),t.translate(-a,-l);break;case"z":r=!0,t.closePath();break}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){var t=[];this.dataArray.forEach(function(u){if(u.command==="A"){var c=u.points[4],d=u.points[5],f=u.points[4]+d,h=Math.PI/180;if(Math.abs(c-f)f;p-=h){const m=Zt.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],p,0);t.push(m.x,m.y)}else for(let p=c+h;pn[i].pathLength;)t-=n[i].pathLength,++i;if(i===o)return r=n[i-1].points.slice(-2),{x:r[0],y:r[1]};if(t<.01)return r=n[i].points.slice(0,2),{x:r[0],y:r[1]};var s=n[i],a=s.points;switch(s.command){case"L":return Zt.getPointOnLine(t,s.start.x,s.start.y,a[0],a[1]);case"C":return Zt.getPointOnCubicBezier((0,Hl.t2length)(t,Zt.getPathLength(n),m=>(0,Hl.getCubicArcLength)([s.start.x,a[0],a[2],a[4]],[s.start.y,a[1],a[3],a[5]],m)),s.start.x,s.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return Zt.getPointOnQuadraticBezier((0,Hl.t2length)(t,Zt.getPathLength(n),m=>(0,Hl.getQuadraticArcLength)([s.start.x,a[0],a[2]],[s.start.y,a[1],a[3]],m)),s.start.x,s.start.y,a[0],a[1],a[2],a[3]);case"A":var l=a[0],u=a[1],c=a[2],d=a[3],f=a[4],h=a[5],p=a[6];return f+=h*t/s.pathLength,Zt.getPointOnEllipticalArc(l,u,c,d,f,p)}return null}static getPointOnLine(t,n,r,i,o,s,a){s===void 0&&(s=n),a===void 0&&(a=r);var l=(o-r)/(i-n+1e-8),u=Math.sqrt(t*t/(1+l*l));i0&&!isNaN(p[0]);){var v=null,g=[],b=l,_=u,w,x,T,P,E,A,$,I,C,R;switch(h){case"l":l+=p.shift(),u+=p.shift(),v="L",g.push(l,u);break;case"L":l=p.shift(),u=p.shift(),g.push(l,u);break;case"m":var M=p.shift(),N=p.shift();if(l+=M,u+=N,v="M",s.length>2&&s[s.length-1].command==="z"){for(var O=s.length-2;O>=0;O--)if(s[O].command==="M"){l=s[O].points[0]+M,u=s[O].points[1]+N;break}}g.push(l,u),h="l";break;case"M":l=p.shift(),u=p.shift(),v="M",g.push(l,u),h="L";break;case"h":l+=p.shift(),v="L",g.push(l,u);break;case"H":l=p.shift(),v="L",g.push(l,u);break;case"v":u+=p.shift(),v="L",g.push(l,u);break;case"V":u=p.shift(),v="L",g.push(l,u);break;case"C":g.push(p.shift(),p.shift(),p.shift(),p.shift()),l=p.shift(),u=p.shift(),g.push(l,u);break;case"c":g.push(l+p.shift(),u+p.shift(),l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),v="C",g.push(l,u);break;case"S":x=l,T=u,w=s[s.length-1],w.command==="C"&&(x=l+(l-w.points[2]),T=u+(u-w.points[3])),g.push(x,T,p.shift(),p.shift()),l=p.shift(),u=p.shift(),v="C",g.push(l,u);break;case"s":x=l,T=u,w=s[s.length-1],w.command==="C"&&(x=l+(l-w.points[2]),T=u+(u-w.points[3])),g.push(x,T,l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),v="C",g.push(l,u);break;case"Q":g.push(p.shift(),p.shift()),l=p.shift(),u=p.shift(),g.push(l,u);break;case"q":g.push(l+p.shift(),u+p.shift()),l+=p.shift(),u+=p.shift(),v="Q",g.push(l,u);break;case"T":x=l,T=u,w=s[s.length-1],w.command==="Q"&&(x=l+(l-w.points[0]),T=u+(u-w.points[1])),l=p.shift(),u=p.shift(),v="Q",g.push(x,T,l,u);break;case"t":x=l,T=u,w=s[s.length-1],w.command==="Q"&&(x=l+(l-w.points[0]),T=u+(u-w.points[1])),l+=p.shift(),u+=p.shift(),v="Q",g.push(x,T,l,u);break;case"A":P=p.shift(),E=p.shift(),A=p.shift(),$=p.shift(),I=p.shift(),C=l,R=u,l=p.shift(),u=p.shift(),v="A",g=this.convertEndpointToCenterParameterization(C,R,l,u,$,I,P,E,A);break;case"a":P=p.shift(),E=p.shift(),A=p.shift(),$=p.shift(),I=p.shift(),C=l,R=u,l+=p.shift(),u+=p.shift(),v="A",g=this.convertEndpointToCenterParameterization(C,R,l,u,$,I,P,E,A);break}s.push({command:v||h,points:g,start:{x:b,y:_},pathLength:this.calcLength(b,_,v||h,g)})}(h==="z"||h==="Z")&&s.push({command:"z",points:[],start:void 0,pathLength:0})}return s}static calcLength(t,n,r,i){var o,s,a,l,u=Zt;switch(r){case"L":return u.getLineLength(t,n,i[0],i[1]);case"C":return(0,Hl.getCubicArcLength)([t,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return(0,Hl.getQuadraticArcLength)([t,i[0],i[2]],[n,i[1],i[3]],1);case"A":o=0;var c=i[4],d=i[5],f=i[4]+d,h=Math.PI/180;if(Math.abs(c-f)f;l-=h)a=u.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=u.getLineLength(s.x,s.y,a.x,a.y),s=a;else for(l=c+h;l1&&(a*=Math.sqrt(h),l*=Math.sqrt(h));var p=Math.sqrt((a*a*(l*l)-a*a*(f*f)-l*l*(d*d))/(a*a*(f*f)+l*l*(d*d)));o===s&&(p*=-1),isNaN(p)&&(p=0);var m=p*a*f/l,S=p*-l*d/a,y=(t+r)/2+Math.cos(c)*m-Math.sin(c)*S,v=(n+i)/2+Math.sin(c)*m+Math.cos(c)*S,g=function(E){return Math.sqrt(E[0]*E[0]+E[1]*E[1])},b=function(E,A){return(E[0]*A[0]+E[1]*A[1])/(g(E)*g(A))},_=function(E,A){return(E[0]*A[1]=1&&(P=0),s===0&&P>0&&(P=P-2*Math.PI),s===1&&P<0&&(P=P+2*Math.PI),[y,v,a,l,w,P,c,s]}}wc.Path=Zt;Zt.prototype.className="Path";Zt.prototype._attrsAffectingSize=["data"];(0,Pde._registerNode)(Zt);Tde.Factory.addGetterSetter(Zt,"data");Object.defineProperty(hv,"__esModule",{value:!0});hv.Arrow=void 0;const gv=Te,Ade=Rh,vN=de,kde=Pe,c6=wc;class yl extends Ade.Line{_sceneFunc(t){super._sceneFunc(t);var n=Math.PI*2,r=this.points(),i=r,o=this.tension()!==0&&r.length>4;o&&(i=this.getTensionPoints());var s=this.pointerLength(),a=r.length,l,u;if(o){const f=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],r[a-2],r[a-1]],h=c6.Path.calcLength(i[i.length-4],i[i.length-3],"C",f),p=c6.Path.getPointOnQuadraticBezier(Math.min(1,1-s/h),f[0],f[1],f[2],f[3],f[4],f[5]);l=r[a-2]-p.x,u=r[a-1]-p.y}else l=r[a-2]-r[a-4],u=r[a-1]-r[a-3];var c=(Math.atan2(u,l)+n)%n,d=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[a-2],r[a-1]),t.rotate(c),t.moveTo(0,0),t.lineTo(-s,d/2),t.lineTo(-s,-d/2),t.closePath(),t.restore(),this.__fillStroke(t)),this.pointerAtBeginning()&&(t.save(),t.beginPath(),t.translate(r[0],r[1]),o?(l=(i[0]+i[2])/2-r[0],u=(i[1]+i[3])/2-r[1]):(l=r[2]-r[0],u=r[3]-r[1]),t.rotate((Math.atan2(-u,-l)+n)%n),t.moveTo(0,0),t.lineTo(-s,d/2),t.lineTo(-s,-d/2),t.closePath(),t.restore(),this.__fillStroke(t))}__fillStroke(t){var n=this.dashEnabled();n&&(this.attrs.dashEnabled=!1,t.setLineDash([])),t.fillStrokeShape(this),n&&(this.attrs.dashEnabled=!0)}getSelfRect(){const t=super.getSelfRect(),n=this.pointerWidth()/2;return{x:t.x-n,y:t.y-n,width:t.width+n*2,height:t.height+n*2}}}hv.Arrow=yl;yl.prototype.className="Arrow";(0,kde._registerNode)(yl);gv.Factory.addGetterSetter(yl,"pointerLength",10,(0,vN.getNumberValidator)());gv.Factory.addGetterSetter(yl,"pointerWidth",10,(0,vN.getNumberValidator)());gv.Factory.addGetterSetter(yl,"pointerAtBeginning",!1);gv.Factory.addGetterSetter(yl,"pointerAtEnding",!0);var mv={};Object.defineProperty(mv,"__esModule",{value:!0});mv.Circle=void 0;const Rde=Te,Ode=on,Mde=de,Ide=Pe;let xc=class extends Ode.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius()!==t/2&&this.radius(t/2)}setHeight(t){this.radius()!==t/2&&this.radius(t/2)}};mv.Circle=xc;xc.prototype._centroid=!0;xc.prototype.className="Circle";xc.prototype._attrsAffectingSize=["radius"];(0,Ide._registerNode)(xc);Rde.Factory.addGetterSetter(xc,"radius",0,(0,Mde.getNumberValidator)());var yv={};Object.defineProperty(yv,"__esModule",{value:!0});yv.Ellipse=void 0;const EC=Te,Nde=on,bN=de,Dde=Pe;class sa extends Nde.Shape{_sceneFunc(t){var n=this.radiusX(),r=this.radiusY();t.beginPath(),t.save(),n!==r&&t.scale(1,r/n),t.arc(0,0,n,0,Math.PI*2,!1),t.restore(),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(t){this.radiusX(t/2)}setHeight(t){this.radiusY(t/2)}}yv.Ellipse=sa;sa.prototype.className="Ellipse";sa.prototype._centroid=!0;sa.prototype._attrsAffectingSize=["radiusX","radiusY"];(0,Dde._registerNode)(sa);EC.Factory.addComponentsGetterSetter(sa,"radius",["x","y"]);EC.Factory.addGetterSetter(sa,"radiusX",0,(0,bN.getNumberValidator)());EC.Factory.addGetterSetter(sa,"radiusY",0,(0,bN.getNumberValidator)());var vv={};Object.defineProperty(vv,"__esModule",{value:!0});vv.Image=void 0;const Xb=Ot,vl=Te,Lde=on,$de=Pe,Oh=de;let ao=class SN extends Lde.Shape{constructor(t){super(t),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){return super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),i=this.cornerRadius(),o=this.attrs.image;let s;if(o){const a=this.attrs.cropWidth,l=this.attrs.cropHeight;a&&l?s=[o,this.cropX(),this.cropY(),a,l,0,0,n,r]:s=[o,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?Xb.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),o&&(i&&t.clip(),t.drawImage.apply(t,s))}_hitFunc(t){var n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?Xb.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n;return(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width}getHeight(){var t,n;return(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height}static fromURL(t,n,r=null){var i=Xb.Util.createImageElement();i.onload=function(){var o=new SN({image:i});n(o)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};vv.Image=ao;ao.prototype.className="Image";(0,$de._registerNode)(ao);vl.Factory.addGetterSetter(ao,"cornerRadius",0,(0,Oh.getNumberOrArrayOfNumbersValidator)(4));vl.Factory.addGetterSetter(ao,"image");vl.Factory.addComponentsGetterSetter(ao,"crop",["x","y","width","height"]);vl.Factory.addGetterSetter(ao,"cropX",0,(0,Oh.getNumberValidator)());vl.Factory.addGetterSetter(ao,"cropY",0,(0,Oh.getNumberValidator)());vl.Factory.addGetterSetter(ao,"cropWidth",0,(0,Oh.getNumberValidator)());vl.Factory.addGetterSetter(ao,"cropHeight",0,(0,Oh.getNumberValidator)());var sc={};Object.defineProperty(sc,"__esModule",{value:!0});sc.Tag=sc.Label=void 0;const bv=Te,Fde=on,Bde=Sc,PC=de,_N=Pe;var wN=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],jde="Change.konva",Vde="none",S2="up",_2="right",w2="down",x2="left",zde=wN.length;class AC extends Bde.Group{constructor(t){super(t),this.on("add.konva",function(n){this._addListeners(n.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(t){var n=this,r,i=function(){n._sync()};for(r=0;r{n=Math.min(n,s.x),r=Math.max(r,s.x),i=Math.min(i,s.y),o=Math.max(o,s.y)}),{x:n,y:i,width:r-n,height:o-i}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}_v.RegularPolygon=Sl;Sl.prototype.className="RegularPolygon";Sl.prototype._centroid=!0;Sl.prototype._attrsAffectingSize=["radius"];(0,Xde._registerNode)(Sl);xN.Factory.addGetterSetter(Sl,"radius",0,(0,CN.getNumberValidator)());xN.Factory.addGetterSetter(Sl,"sides",0,(0,CN.getNumberValidator)());var wv={};Object.defineProperty(wv,"__esModule",{value:!0});wv.Ring=void 0;const TN=Te,Yde=on,EN=de,Qde=Pe;var d6=Math.PI*2;class _l extends Yde.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,d6,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),d6,0,!0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(t){this.outerRadius(t/2)}setHeight(t){this.outerRadius(t/2)}}wv.Ring=_l;_l.prototype.className="Ring";_l.prototype._centroid=!0;_l.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,Qde._registerNode)(_l);TN.Factory.addGetterSetter(_l,"innerRadius",0,(0,EN.getNumberValidator)());TN.Factory.addGetterSetter(_l,"outerRadius",0,(0,EN.getNumberValidator)());var xv={};Object.defineProperty(xv,"__esModule",{value:!0});xv.Sprite=void 0;const wl=Te,Zde=on,Jde=_c,PN=de,efe=Pe;class lo extends Zde.Shape{constructor(t){super(t),this._updated=!0,this.anim=new Jde.Animation(()=>{var n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+0],l=o[i+1],u=o[i+2],c=o[i+3],d=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,u,c),t.closePath(),t.fillStrokeShape(this)),d)if(s){var f=s[n],h=r*2;t.drawImage(d,a,l,u,c,f[h+0],f[h+1],u,c)}else t.drawImage(d,a,l,u,c,0,0,u,c)}_hitFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+2],l=o[i+3];if(t.beginPath(),s){var u=s[n],c=r*2;t.rect(u[c+0],u[c+1],a,l)}else t.rect(0,0,a,l);t.closePath(),t.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){var t=this;this.interval=setInterval(function(){t._updateIndex()},1e3/this.frameRate())}start(){if(!this.isRunning()){var t=this.getLayer();this.anim.setLayers(t),this._setInterval(),this.anim.start()}}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){var t=this.frameIndex(),n=this.animation(),r=this.animations(),i=r[n],o=i.length/4;t{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t=`"${t}"`),t}).join(", ")}var Fp;function Qb(){return Fp||(Fp=C2.Util.createCanvasElement().getContext(afe),Fp)}function vfe(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function bfe(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function Sfe(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class zt extends rfe.Shape{constructor(t){super(Sfe(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n1&&(y+=s)}}}_hitFunc(t){var n=this.getWidth(),r=this.getHeight();t.beginPath(),t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}setText(t){var n=C2.Util._isString(t)?t:t==null?"":t+"";return this._setAttr(lfe,n),this}getWidth(){var t=this.attrs.width===ql||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===ql||this.attrs.height===void 0;return t?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return C2.Util.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(t){var n=Qb(),r=this.fontSize(),i;return n.save(),n.font=this._getContextFont(),i=n.measureText(t),n.restore(),{width:i.width,height:r}}_getContextFont(){return this.fontStyle()+$p+this.fontVariant()+$p+(this.fontSize()+ffe)+yfe(this.fontFamily())}_addTextLine(t){this.align()===Jc&&(t=t.trim());var r=this._getTextWidth(t);return this.textArr.push({text:t,width:r,lastInParagraph:!1})}_getTextWidth(t){var n=this.letterSpacing(),r=t.length;return Qb().measureText(t).width+(r?n*(r-1):0)}_setTextData(){var t=this.text().split(` -`),n=+this.fontSize(),r=0,i=this.lineHeight()*n,o=this.attrs.width,s=this.attrs.height,a=o!==ql&&o!==void 0,l=s!==ql&&s!==void 0,u=this.padding(),c=o-u*2,d=s-u*2,f=0,h=this.wrap(),p=h!==p6,m=h!==gfe&&p,S=this.ellipsis();this.textArr=[],Qb().font=this._getContextFont();for(var y=S?this._getTextWidth(Yb):0,v=0,g=t.length;vc)for(;b.length>0;){for(var w=0,x=b.length,T="",P=0;w>>1,A=b.slice(0,E+1),$=this._getTextWidth(A)+y;$<=c?(w=E+1,T=A,P=$):x=E}if(T){if(m){var I,C=b[T.length],R=C===$p||C===f6;R&&P<=c?I=T.length:I=Math.max(T.lastIndexOf($p),T.lastIndexOf(f6))+1,I>0&&(w=I,T=T.slice(0,w),P=this._getTextWidth(T))}T=T.trimRight(),this._addTextLine(T),r=Math.max(r,P),f+=i;var M=this._shouldHandleEllipsis(f);if(M){this._tryToAddEllipsisToLastLine();break}if(b=b.slice(w),b=b.trimLeft(),b.length>0&&(_=this._getTextWidth(b),_<=c)){this._addTextLine(b),f+=i,r=Math.max(r,_);break}}else break}else this._addTextLine(b),f+=i,r=Math.max(r,_),this._shouldHandleEllipsis(f)&&vd)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,i=this.attrs.height,o=i!==ql&&i!==void 0,s=this.padding(),a=i-s*2,l=this.wrap(),u=l!==p6;return!u||o&&t+r>a}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==ql&&t!==void 0,r=this.padding(),i=t-r*2,o=this.ellipsis(),s=this.textArr[this.textArr.length-1];if(!(!s||!o)){if(n){var a=this._getTextWidth(s.text+Yb)n?null:ed.Path.getPointAtLengthOfDataArray(t,this.dataArray)}_readDataAttribute(){this.dataArray=ed.Path.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(t){t.setAttr("font",this._getContextFont()),t.setAttr("textBaseline",this.textBaseline()),t.setAttr("textAlign","left"),t.save();var n=this.textDecoration(),r=this.fill(),i=this.fontSize(),o=this.glyphInfo;n==="underline"&&t.beginPath();for(var s=0;s=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var i=0;ie+`.${LN}`).join(" "),y6="nodesRect",Afe=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],kfe={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const Rfe="ontouchstart"in si.Konva._global;function Ofe(e,t){if(e==="rotater")return"crosshair";t+=Je.Util.degToRad(kfe[e]||0);var n=(Je.Util.radToDeg(t)%360+360)%360;return Je.Util._inRange(n,315+22.5,360)||Je.Util._inRange(n,0,22.5)?"ns-resize":Je.Util._inRange(n,45-22.5,45+22.5)?"nesw-resize":Je.Util._inRange(n,90-22.5,90+22.5)?"ew-resize":Je.Util._inRange(n,135-22.5,135+22.5)?"nwse-resize":Je.Util._inRange(n,180-22.5,180+22.5)?"ns-resize":Je.Util._inRange(n,225-22.5,225+22.5)?"nesw-resize":Je.Util._inRange(n,270-22.5,270+22.5)?"ew-resize":Je.Util._inRange(n,315-22.5,315+22.5)?"nwse-resize":(Je.Util.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var Zm=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],v6=1e8;function Mfe(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function $N(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),i=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return Object.assign(Object.assign({},e),{rotation:e.rotation+t,x:r,y:i})}function Ife(e,t){const n=Mfe(e);return $N(e,t,n)}function Nfe(e,t,n){let r=t;for(let i=0;ii.isAncestorOf(this)?(Je.Util.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1):!0);this._nodes=t=n,t.length===1&&this.useSingleNodeRotation()?this.rotation(t[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(i=>{const o=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},s=i._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");i.on(s,o),i.on(Afe.map(a=>a+`.${this._getEventNamespace()}`).join(" "),o),i.on(`absoluteTransformChange.${this._getEventNamespace()}`,o),this._proxyDrag(i)}),this._resetTransformCache();var r=!!this.findOne(".top-left");return r&&this.update(),this}_proxyDrag(t){let n;t.on(`dragstart.${this._getEventNamespace()}`,r=>{n=t.getAbsolutePosition(),!this.isDragging()&&t!==this.findOne(".back")&&this.startDrag(r,!1)}),t.on(`dragmove.${this._getEventNamespace()}`,r=>{if(!n)return;const i=t.getAbsolutePosition(),o=i.x-n.x,s=i.y-n.y;this.nodes().forEach(a=>{if(a===t||a.isDragging())return;const l=a.getAbsolutePosition();a.setAbsolutePosition({x:l.x+o,y:l.y+s}),a.startDrag(r)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(t=>{t.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(y6),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(y6,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var i=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),o=t.getAbsoluteScale(r),s=t.getAbsolutePosition(r),a=i.x*o.x-t.offsetX()*o.x,l=i.y*o.y-t.offsetY()*o.y;const u=(si.Konva.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),c={x:s.x+a*Math.cos(u)+l*Math.sin(-u),y:s.y+l*Math.cos(u)+a*Math.sin(u),width:i.width*o.x,height:i.height*o.y,rotation:u};return $N(c,-si.Konva.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-v6,y:-v6,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const c=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var d=[{x:c.x,y:c.y},{x:c.x+c.width,y:c.y},{x:c.x+c.width,y:c.y+c.height},{x:c.x,y:c.y+c.height}],f=u.getAbsoluteTransform();d.forEach(function(h){var p=f.point(h);n.push(p)})});const r=new Je.Transform;r.rotate(-si.Konva.getAngle(this.rotation()));var i,o,s,a;n.forEach(function(u){var c=r.point(u);i===void 0&&(i=s=c.x,o=a=c.y),i=Math.min(i,c.x),o=Math.min(o,c.y),s=Math.max(s,c.x),a=Math.max(a,c.y)}),r.invert();const l=r.point({x:i,y:o});return{x:l.x,y:l.y,width:s-i,height:a-o,rotation:si.Konva.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),Zm.forEach((function(t){this._createAnchor(t)}).bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new Tfe.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:Rfe?10:"auto"}),r=this;n.on("mousedown touchstart",function(i){r._handleMouseDown(i)}),n.on("dragstart",i=>{n.stopDrag(),i.cancelBubble=!0}),n.on("dragend",i=>{i.cancelBubble=!0}),n.on("mouseenter",()=>{var i=si.Konva.getAngle(this.rotation()),o=Ofe(t,i);n.getStage().content&&(n.getStage().content.style.cursor=o),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){var t=new Cfe.Shape({name:"back",width:0,height:0,draggable:!0,sceneFunc(n){var r=this.getParent(),i=r.padding();n.beginPath(),n.rect(-i,-i,this.width()+i*2,this.height()+i*2),n.moveTo(this.width()/2,-i),r.rotateEnabled()&&n.lineTo(this.width()/2,-r.rotateAnchorOffset()*Je.Util._sign(this.height())-i),n.fillStrokeShape(this)},hitFunc:(n,r)=>{if(this.shouldOverdrawWholeArea()){var i=this.padding();n.beginPath(),n.rect(-i,-i,r.width()+i*2,r.height()+i*2),n.fillStrokeShape(r)}}});this.add(t),this._proxyDrag(t),t.on("dragstart",n=>{n.cancelBubble=!0}),t.on("dragmove",n=>{n.cancelBubble=!0}),t.on("dragend",n=>{n.cancelBubble=!0}),this.on("dragmove",n=>{this.update()})}_handleMouseDown(t){this._movingAnchorName=t.target.name().split(" ")[0];var n=this._getNodeRect(),r=n.width,i=n.height,o=Math.sqrt(Math.pow(r,2)+Math.pow(i,2));this.sin=Math.abs(i/o),this.cos=Math.abs(r/o),typeof window<"u"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;var s=t.target.getAbsolutePosition(),a=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:a.x-s.x,y:a.y-s.y},this._fire("transformstart",{evt:t.evt,target:this.getNode()}),this._nodes.forEach(l=>{l._fire("transformstart",{evt:t.evt,target:l})})}_handleMouseMove(t){var n,r,i,o=this.findOne("."+this._movingAnchorName),s=o.getStage();s.setPointersPositions(t);const a=s.getPointerPosition();let l={x:a.x-this._anchorDragOffset.x,y:a.y-this._anchorDragOffset.y};const u=o.getAbsolutePosition();this.anchorDragBoundFunc()&&(l=this.anchorDragBoundFunc()(u,l,t)),o.setAbsolutePosition(l);const c=o.getAbsolutePosition();if(!(u.x===c.x&&u.y===c.y)){if(this._movingAnchorName==="rotater"){var d=this._getNodeRect();n=o.x()-d.width/2,r=-o.y()+d.height/2;let I=Math.atan2(-r,n)+Math.PI/2;d.height<0&&(I-=Math.PI);var f=si.Konva.getAngle(this.rotation());const C=f+I,R=si.Konva.getAngle(this.rotationSnapTolerance()),N=Nfe(this.rotationSnaps(),C,R)-d.rotation,O=Ife(d,N);this._fitNodesInto(O,t);return}var h=this.shiftBehavior(),p;h==="inverted"?p=this.keepRatio()&&!t.shiftKey:h==="none"?p=this.keepRatio():p=this.keepRatio()||t.shiftKey;var g=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};i=Math.sqrt(Math.pow(m.x-o.x(),2)+Math.pow(m.y-o.y(),2));var S=this.findOne(".top-left").x()>m.x?-1:1,y=this.findOne(".top-left").y()>m.y?-1:1;n=i*this.cos*S,r=i*this.sin*y,this.findOne(".top-left").x(m.x-n),this.findOne(".top-left").y(m.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(o.y());else if(this._movingAnchorName==="top-right"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};i=Math.sqrt(Math.pow(o.x()-m.x,2)+Math.pow(m.y-o.y(),2));var S=this.findOne(".top-right").x()m.y?-1:1;n=i*this.cos*S,r=i*this.sin*y,this.findOne(".top-right").x(m.x+n),this.findOne(".top-right").y(m.y-r)}var v=o.position();this.findOne(".top-left").y(v.y),this.findOne(".bottom-right").x(v.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(o.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(o.x());else if(this._movingAnchorName==="bottom-left"){if(p){var m=g?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};i=Math.sqrt(Math.pow(m.x-o.x(),2)+Math.pow(o.y()-m.y,2));var S=m.x{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(Je.Util._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(Je.Util._inRange(t.height,-this.padding()*2-i,i)){this.update();return}const o=this.flipEnabled();var s=new Je.Transform;if(s.rotate(si.Konva.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const d=s.point({x:-this.padding()*2,y:0});if(t.x+=d.x,t.y+=d.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,!o){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const d=s.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.width+=this.padding()*2,!o){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const d=s.point({x:0,y:-this.padding()*2});if(t.x+=d.x,t.y+=d.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.height+=this.padding()*2,!o){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const d=s.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=d.x,this._anchorDragOffset.y-=d.y,t.height+=this.padding()*2,!o){this.update();return}}if(this.boundBoxFunc()){const d=this.boundBoxFunc()(r,t);d?t=d:Je.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const a=1e7,l=new Je.Transform;l.translate(r.x,r.y),l.rotate(r.rotation),l.scale(r.width/a,r.height/a);const u=new Je.Transform;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/a,t.height/a);const c=u.multiply(l.invert());this._nodes.forEach(d=>{var f;const h=d.getParent().getAbsoluteTransform(),p=d.getTransform().copy();p.translate(d.offsetX(),d.offsetY());const m=new Je.Transform;m.multiply(h.copy().invert()).multiply(c).multiply(h).multiply(p);const S=m.decompose();d.setAttrs(S),this._fire("transform",{evt:n,target:d}),d._fire("transform",{evt:n,target:d}),(f=d.getLayer())===null||f===void 0||f.batchDraw()}),this.rotation(Je.Util._getRotation(t.rotation)),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(t,n){this.findOne(t).setAttrs(n)}update(){var t,n=this._getNodeRect();this.rotation(Je.Util._getRotation(n.rotation));var r=n.width,i=n.height,o=this.enabledAnchors(),s=this.resizeEnabled(),a=this.padding(),l=this.anchorSize();const u=this.find("._anchor");u.forEach(d=>{d.setAttrs({width:l,height:l,offsetX:l/2,offsetY:l/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:l/2+a,offsetY:l/2+a,visible:s&&o.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:l/2+a,visible:s&&o.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:l/2-a,offsetY:l/2+a,visible:s&&o.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:l/2+a,visible:s&&o.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:i/2,offsetX:l/2-a,visible:s&&o.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:l/2+a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:i,offsetY:l/2-a,visible:s&&o.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:i,offsetX:l/2-a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*Je.Util._sign(i)-a,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:r,height:i,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0});const c=this.anchorStyleFunc();c&&u.forEach(d=>{c(d)}),(t=this.getLayer())===null||t===void 0||t.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var t=this.findOne("."+this._movingAnchorName);t&&t.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),m6.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return g6.Node.prototype.toObject.call(this)}clone(t){var n=g6.Node.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}Ev.Transformer=ze;function Dfe(e){return e instanceof Array||Je.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){Zm.indexOf(t)===-1&&Je.Util.warn("Unknown anchor name: "+t+". Available names are: "+Zm.join(", "))}),e||[]}ze.prototype.className="Transformer";(0,Efe._registerNode)(ze);Ze.Factory.addGetterSetter(ze,"enabledAnchors",Zm,Dfe);Ze.Factory.addGetterSetter(ze,"flipEnabled",!0,(0,ua.getBooleanValidator)());Ze.Factory.addGetterSetter(ze,"resizeEnabled",!0);Ze.Factory.addGetterSetter(ze,"anchorSize",10,(0,ua.getNumberValidator)());Ze.Factory.addGetterSetter(ze,"rotateEnabled",!0);Ze.Factory.addGetterSetter(ze,"rotationSnaps",[]);Ze.Factory.addGetterSetter(ze,"rotateAnchorOffset",50,(0,ua.getNumberValidator)());Ze.Factory.addGetterSetter(ze,"rotationSnapTolerance",5,(0,ua.getNumberValidator)());Ze.Factory.addGetterSetter(ze,"borderEnabled",!0);Ze.Factory.addGetterSetter(ze,"anchorStroke","rgb(0, 161, 255)");Ze.Factory.addGetterSetter(ze,"anchorStrokeWidth",1,(0,ua.getNumberValidator)());Ze.Factory.addGetterSetter(ze,"anchorFill","white");Ze.Factory.addGetterSetter(ze,"anchorCornerRadius",0,(0,ua.getNumberValidator)());Ze.Factory.addGetterSetter(ze,"borderStroke","rgb(0, 161, 255)");Ze.Factory.addGetterSetter(ze,"borderStrokeWidth",1,(0,ua.getNumberValidator)());Ze.Factory.addGetterSetter(ze,"borderDash");Ze.Factory.addGetterSetter(ze,"keepRatio",!0);Ze.Factory.addGetterSetter(ze,"shiftBehavior","default");Ze.Factory.addGetterSetter(ze,"centeredScaling",!1);Ze.Factory.addGetterSetter(ze,"ignoreStroke",!1);Ze.Factory.addGetterSetter(ze,"padding",0,(0,ua.getNumberValidator)());Ze.Factory.addGetterSetter(ze,"node");Ze.Factory.addGetterSetter(ze,"nodes");Ze.Factory.addGetterSetter(ze,"boundBoxFunc");Ze.Factory.addGetterSetter(ze,"anchorDragBoundFunc");Ze.Factory.addGetterSetter(ze,"anchorStyleFunc");Ze.Factory.addGetterSetter(ze,"shouldOverdrawWholeArea",!1);Ze.Factory.addGetterSetter(ze,"useSingleNodeRotation",!0);Ze.Factory.backCompat(ze,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var Pv={};Object.defineProperty(Pv,"__esModule",{value:!0});Pv.Wedge=void 0;const Av=Te,Lfe=on,$fe=Pe,FN=de,Ffe=Pe;class Qo extends Lfe.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,$fe.Konva.getAngle(this.angle()),this.clockwise()),t.lineTo(0,0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}Pv.Wedge=Qo;Qo.prototype.className="Wedge";Qo.prototype._centroid=!0;Qo.prototype._attrsAffectingSize=["radius"];(0,Ffe._registerNode)(Qo);Av.Factory.addGetterSetter(Qo,"radius",0,(0,FN.getNumberValidator)());Av.Factory.addGetterSetter(Qo,"angle",0,(0,FN.getNumberValidator)());Av.Factory.addGetterSetter(Qo,"clockwise",!1);Av.Factory.backCompat(Qo,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var kv={};Object.defineProperty(kv,"__esModule",{value:!0});kv.Blur=void 0;const b6=Te,Bfe=wt,jfe=de;function S6(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var Vfe=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],zfe=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function Ufe(e,t){var n=e.data,r=e.width,i=e.height,o,s,a,l,u,c,d,f,h,p,m,S,y,v,g,b,_,w,x,T,P,E,A,$,I=t+t+1,C=r-1,R=i-1,M=t+1,N=M*(M+1)/2,O=new S6,D=null,L=O,j=null,U=null,G=Vfe[t],W=zfe[t];for(a=1;a>W,A!==0?(A=255/A,n[c]=(f*G>>W)*A,n[c+1]=(h*G>>W)*A,n[c+2]=(p*G>>W)*A):n[c]=n[c+1]=n[c+2]=0,f-=S,h-=y,p-=v,m-=g,S-=j.r,y-=j.g,v-=j.b,g-=j.a,l=d+((l=o+t+1)>W,A>0?(A=255/A,n[l]=(f*G>>W)*A,n[l+1]=(h*G>>W)*A,n[l+2]=(p*G>>W)*A):n[l]=n[l+1]=n[l+2]=0,f-=S,h-=y,p-=v,m-=g,S-=j.r,y-=j.g,v-=j.b,g-=j.a,l=o+((l=s+M)0&&Ufe(t,n)};kv.Blur=Gfe;b6.Factory.addGetterSetter(Bfe.Node,"blurRadius",0,(0,jfe.getNumberValidator)(),b6.Factory.afterSetFilter);var Rv={};Object.defineProperty(Rv,"__esModule",{value:!0});Rv.Brighten=void 0;const _6=Te,Hfe=wt,qfe=de,Wfe=function(e){var t=this.brightness()*255,n=e.data,r=n.length,i;for(i=0;i255?255:i,o=o<0?0:o>255?255:o,s=s<0?0:s>255?255:s,n[a]=i,n[a+1]=o,n[a+2]=s};Ov.Contrast=Yfe;w6.Factory.addGetterSetter(Kfe.Node,"contrast",0,(0,Xfe.getNumberValidator)(),w6.Factory.afterSetFilter);var Mv={};Object.defineProperty(Mv,"__esModule",{value:!0});Mv.Emboss=void 0;const Ws=Te,Iv=wt,Qfe=Ot,BN=de,Zfe=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),o=0,s=0,a=e.data,l=e.width,u=e.height,c=l*4,d=u;switch(r){case"top-left":o=-1,s=-1;break;case"top":o=-1,s=0;break;case"top-right":o=-1,s=1;break;case"right":o=0,s=1;break;case"bottom-right":o=1,s=1;break;case"bottom":o=1,s=0;break;case"bottom-left":o=1,s=-1;break;case"left":o=0,s=-1;break;default:Qfe.Util.error("Unknown emboss direction: "+r)}do{var f=(d-1)*c,h=o;d+h<1&&(h=0),d+h>u&&(h=0);var p=(d-1+h)*l*4,m=l;do{var S=f+(m-1)*4,y=s;m+y<1&&(y=0),m+y>l&&(y=0);var v=p+(m-1+y)*4,g=a[S]-a[v],b=a[S+1]-a[v+1],_=a[S+2]-a[v+2],w=g,x=w>0?w:-w,T=b>0?b:-b,P=_>0?_:-_;if(T>x&&(w=b),P>x&&(w=_),w*=t,i){var E=a[S]+w,A=a[S+1]+w,$=a[S+2]+w;a[S]=E>255?255:E<0?0:E,a[S+1]=A>255?255:A<0?0:A,a[S+2]=$>255?255:$<0?0:$}else{var I=n-w;I<0?I=0:I>255&&(I=255),a[S]=a[S+1]=a[S+2]=I}}while(--m)}while(--d)};Mv.Emboss=Zfe;Ws.Factory.addGetterSetter(Iv.Node,"embossStrength",.5,(0,BN.getNumberValidator)(),Ws.Factory.afterSetFilter);Ws.Factory.addGetterSetter(Iv.Node,"embossWhiteLevel",.5,(0,BN.getNumberValidator)(),Ws.Factory.afterSetFilter);Ws.Factory.addGetterSetter(Iv.Node,"embossDirection","top-left",null,Ws.Factory.afterSetFilter);Ws.Factory.addGetterSetter(Iv.Node,"embossBlend",!1,null,Ws.Factory.afterSetFilter);var Nv={};Object.defineProperty(Nv,"__esModule",{value:!0});Nv.Enhance=void 0;const x6=Te,Jfe=wt,ehe=de;function eS(e,t,n,r,i){var o=n-t,s=i-r,a;return o===0?r+s/2:s===0?r:(a=(e-t)/o,a=s*a+r,a)}const the=function(e){var t=e.data,n=t.length,r=t[0],i=r,o,s=t[1],a=s,l,u=t[2],c=u,d,f,h=this.enhance();if(h!==0){for(f=0;fi&&(i=o),l=t[f+1],la&&(a=l),d=t[f+2],dc&&(c=d);i===r&&(i=255,r=0),a===s&&(a=255,s=0),c===u&&(c=255,u=0);var p,m,S,y,v,g,b,_,w;for(h>0?(m=i+h*(255-i),S=r-h*(r-0),v=a+h*(255-a),g=s-h*(s-0),_=c+h*(255-c),w=u-h*(u-0)):(p=(i+r)*.5,m=i+h*(i-p),S=r+h*(r-p),y=(a+s)*.5,v=a+h*(a-y),g=s+h*(s-y),b=(c+u)*.5,_=c+h*(c-b),w=u+h*(u-b)),f=0;fy?S:y;var v=s,g=o,b,_,w=360/g*Math.PI/180,x,T;for(_=0;_g?v:g;var b=s,_=o,w,x,T=n.polarRotation||0,P,E;for(c=0;ct&&(b=g,_=0,w=-1),i=0;i=0&&h=0&&p=0&&h=0&&p=255*4?255:0}return s}function mhe(e,t,n){for(var r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],i=Math.round(Math.sqrt(r.length)),o=Math.floor(i/2),s=[],a=0;a=0&&h=0&&p=n))for(o=m;o=r||(s=(n*o+i)*4,a+=b[s+0],l+=b[s+1],u+=b[s+2],c+=b[s+3],g+=1);for(a=a/g,l=l/g,u=u/g,c=c/g,i=h;i=n))for(o=m;o=r||(s=(n*o+i)*4,b[s+0]=a,b[s+1]=l,b[s+2]=u,b[s+3]=c)}};zv.Pixelate=Che;P6.Factory.addGetterSetter(whe.Node,"pixelSize",8,(0,xhe.getNumberValidator)(),P6.Factory.afterSetFilter);var Uv={};Object.defineProperty(Uv,"__esModule",{value:!0});Uv.Posterize=void 0;const A6=Te,The=wt,Ehe=de,Phe=function(e){var t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,i=255/t,o;for(o=0;o255?255:e<0?0:Math.round(e)});ey.Factory.addGetterSetter(DC.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});ey.Factory.addGetterSetter(DC.Node,"blue",0,Ahe.RGBComponent,ey.Factory.afterSetFilter);var Hv={};Object.defineProperty(Hv,"__esModule",{value:!0});Hv.RGBA=void 0;const Bf=Te,qv=wt,Rhe=de,Ohe=function(e){var t=e.data,n=t.length,r=this.red(),i=this.green(),o=this.blue(),s=this.alpha(),a,l;for(a=0;a255?255:e<0?0:Math.round(e)});Bf.Factory.addGetterSetter(qv.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Bf.Factory.addGetterSetter(qv.Node,"blue",0,Rhe.RGBComponent,Bf.Factory.afterSetFilter);Bf.Factory.addGetterSetter(qv.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var Wv={};Object.defineProperty(Wv,"__esModule",{value:!0});Wv.Sepia=void 0;const Mhe=function(e){var t=e.data,n=t.length,r,i,o,s;for(r=0;r127&&(u=255-u),c>127&&(c=255-c),d>127&&(d=255-d),t[l]=u,t[l+1]=c,t[l+2]=d}while(--a)}while(--o)};Kv.Solarize=Ihe;var Xv={};Object.defineProperty(Xv,"__esModule",{value:!0});Xv.Threshold=void 0;const k6=Te,Nhe=wt,Dhe=de,Lhe=function(e){var t=this.threshold()*255,n=e.data,r=n.length,i;for(i=0;i{const{width:r,height:i}=t,o=document.createElement("div"),s=new nd.Stage({container:o,width:r,height:i}),a=new nd.Layer,l=new nd.Layer;return a.add(new nd.Rect({...t,fill:n?"black":"white"})),e.forEach(u=>l.add(new nd.Line({points:u.points,stroke:n?"white":"black",strokeWidth:u.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,globalCompositeOperation:u.tool==="brush"?"source-over":"destination-out"}))),s.add(a),s.add(l),o.remove(),s},wpe=async(e,t,n)=>new Promise((r,i)=>{const o=document.createElement("canvas");o.width=t,o.height=n;const s=o.getContext("2d"),a=new Image;if(!s){o.remove(),i("Unable to get context");return}a.onload=function(){s.drawImage(a,0,0),o.remove(),r(s.getImageData(0,0,t,n))},a.src=e}),M6=async(e,t)=>{const n=e.toDataURL(t);return await wpe(n,t.width,t.height)},xpe=async(e,t,n,r,i)=>{const o=fe("canvas"),s=nv(),a=Nle();if(!s||!a){o.error("Unable to find canvas / stage");return}const l={...t,...n},u=s.clone();u.scale({x:1,y:1});const c=u.getAbsolutePosition(),d={x:l.x+c.x,y:l.y+c.y,width:l.width,height:l.height},f=await Xm(u,d),h=await M6(u,d),p=await _pe(r?e.objects.filter(DO):[],l,i),m=await Xm(p,l),S=await M6(p,l);return{baseBlob:f,baseImageData:h,maskBlob:m,maskImageData:S}},Cpe=e=>{let t=!0,n=!1;const r=e.length;let i=3;for(i;i{const t=e.length;let n=0;for(n;n{const{isPartiallyTransparent:n,isFullyTransparent:r}=Cpe(e.data),i=Tpe(t.data);return n?r?"txt2img":"outpaint":i?"inpaint":"img2img"},Ppe=e=>aO(e,n=>n.isEnabled&&(!!n.processedControlImage||n.processorType==="none"&&!!n.controlImage)),Yv=(e,t,n)=>{const{isEnabled:r,controlNets:i}=e.controlNet,o=Ppe(i),s=t.nodes[Ke];if(r&&o.length&&o.length){const a={id:Op,type:"collect",is_intermediate:!0};t.nodes[Op]=a,t.edges.push({source:{node_id:Op,field:"collection"},destination:{node_id:n,field:"control"}}),o.forEach(l=>{const{controlNetId:u,controlImage:c,processedControlImage:d,beginStepPct:f,endStepPct:h,controlMode:p,resizeMode:m,model:S,processorType:y,weight:v}=l,g={id:`control_net_${u}`,type:"controlnet",is_intermediate:!0,begin_step_percent:f,end_step_percent:h,control_mode:p,resize_mode:m,control_model:S,control_weight:v};if(d&&y!=="none")g.image={image_name:d};else if(c)g.image={image_name:c};else return;if(t.nodes[g.id]=g,s){const b=w0(g,["id","type"]);s.controlnets.push(b)}t.edges.push({source:{node_id:g.id,field:"control"},destination:{node_id:Op,field:"item"}})})}},Cc=(e,t)=>{const{positivePrompt:n,iterations:r,seed:i,shouldRandomizeSeed:o}=e.generation,{combinatorial:s,isEnabled:a,maxPrompts:l}=e.dynamicPrompts,u=t.nodes[Ke];if(a){oY(t.nodes[Be],"prompt");const c={id:Gb,type:"dynamic_prompt",is_intermediate:!0,max_prompts:s?l:r,combinatorial:s,prompt:n},d={id:lr,type:"iterate",is_intermediate:!0};if(t.nodes[Gb]=c,t.nodes[lr]=d,t.edges.push({source:{node_id:Gb,field:"prompt_collection"},destination:{node_id:lr,field:"collection"}},{source:{node_id:lr,field:"item"},destination:{node_id:Be,field:"prompt"}}),u&&t.edges.push({source:{node_id:lr,field:"item"},destination:{node_id:Ke,field:"positive_prompt"}}),o){const f={id:Fi,type:"rand_int",is_intermediate:!0};t.nodes[Fi]=f,t.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:$e,field:"seed"}}),u&&t.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:Ke,field:"seed"}})}else t.nodes[$e].seed=i,u&&(u.seed=i)}else{u&&(u.positive_prompt=n);const c={id:Co,type:"range_of_size",is_intermediate:!0,size:r,step:1},d={id:lr,type:"iterate",is_intermediate:!0};if(t.nodes[lr]=d,t.nodes[Co]=c,t.edges.push({source:{node_id:Co,field:"collection"},destination:{node_id:lr,field:"collection"}}),t.edges.push({source:{node_id:lr,field:"item"},destination:{node_id:$e,field:"seed"}}),u&&t.edges.push({source:{node_id:lr,field:"item"},destination:{node_id:Ke,field:"seed"}}),o){const f={id:Fi,type:"rand_int",is_intermediate:!0};t.nodes[Fi]=f,t.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:Co,field:"start"}})}else c.start=i}},Ih=(e,t,n,r=Pn)=>{const{loras:i}=e.lora,o=gO(i),s=t.nodes[Ke];o>0&&(t.edges=t.edges.filter(u=>!(u.source.node_id===Pn&&["unet"].includes(u.source.field))&&!(u.source.node_id===rv&&["unet"].includes(u.source.field))),t.edges=t.edges.filter(u=>!(u.source.node_id===it&&["clip"].includes(u.source.field))));let a="",l=0;Za(i,u=>{const{model_name:c,base_model:d,weight:f}=u,h=`${mce}_${c.replace(".","_")}`,p={type:"lora_loader",id:h,is_intermediate:!0,lora:{model_name:c,base_model:d},weight:f};s&&s.loras.push({lora:{model_name:c,base_model:d},weight:f}),t.nodes[h]=p,l===0?(t.edges.push({source:{node_id:r,field:"unet"},destination:{node_id:h,field:"unet"}}),t.edges.push({source:{node_id:it,field:"clip"},destination:{node_id:h,field:"clip"}})):(t.edges.push({source:{node_id:a,field:"unet"},destination:{node_id:h,field:"unet"}}),t.edges.push({source:{node_id:a,field:"clip"},destination:{node_id:h,field:"clip"}})),l===o-1&&(t.edges.push({source:{node_id:h,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:h,field:"clip"},destination:{node_id:Be,field:"clip"}}),t.edges.push({source:{node_id:h,field:"clip"},destination:{node_id:qe,field:"clip"}})),a=h,l+=1})},zN=Jn(e=>e.ui,e=>RO[e.activeTab],{memoizeOptions:{equalityCheck:_0}}),b4e=Jn(e=>e.ui,e=>e.activeTab,{memoizeOptions:{equalityCheck:_0}}),S4e=Jn(e=>e.ui,e=>e,{memoizeOptions:{equalityCheck:_0}}),xl=(e,t,n=We)=>{const i=zN(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[Ke];if(!o)return;o.is_intermediate=!0;const a={id:hu,type:"img_nsfw",is_intermediate:i};t.nodes[hu]=a,t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:hu,field:"image"}}),s&&t.edges.push({source:{node_id:Ke,field:"metadata"},destination:{node_id:hu,field:"metadata"}})},Nh=(e,t,n=Pn)=>{const{vae:r}=e.generation,i=!r,o=t.nodes[Ke];i||(t.nodes[Zc]={type:"vae_loader",id:Zc,is_intermediate:!0,vae_model:r});const s=n==rv;(t.id===SC||t.id===Ym)&&t.edges.push({source:{node_id:i?n:Zc,field:i&&s?"vae_decoder":"vae"},destination:{node_id:We,field:"vae"}}),t.id===Ym&&t.edges.push({source:{node_id:i?n:Zc,field:i&&s?"vae_decoder":"vae"},destination:{node_id:vt,field:"vae"}}),t.id===sN&&t.edges.push({source:{node_id:i?n:Zc,field:i&&s?"vae_decoder":"vae"},destination:{node_id:Ii,field:"vae"}}),r&&o&&(o.vae=r)},Cl=(e,t,n=We)=>{const i=zN(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[hu],a=t.nodes[Ke];if(!o)return;const l={id:Qc,type:"img_watermark",is_intermediate:i};t.nodes[Qc]=l,o.is_intermediate=!0,s?(s.is_intermediate=!0,t.edges.push({source:{node_id:hu,field:"image"},destination:{node_id:Qc,field:"image"}})):t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:Qc,field:"image"}}),a&&t.edges.push({source:{node_id:Ke,field:"metadata"},destination:{node_id:Qc,field:"metadata"}})},Ape=(e,t)=>{const n=fe("nodes"),{positivePrompt:r,negativePrompt:i,model:o,cfgScale:s,scheduler:a,steps:l,img2imgStrength:u,clipSkip:c,shouldUseCpuNoise:d,shouldUseNoiseSettings:f}=e.generation,{width:h,height:p}=e.canvas.boundingBoxDimensions,{shouldAutoSave:m}=e.canvas;if(!o)throw n.error("No model found in state"),new Error("No model found in state");const S=f?d:Wo.shouldUseCpuNoise,y={id:Ym,nodes:{[Be]:{type:"compel",id:Be,is_intermediate:!0,prompt:r},[qe]:{type:"compel",id:qe,is_intermediate:!0,prompt:i},[$e]:{type:"noise",id:$e,is_intermediate:!0,use_cpu:S},[Pn]:{type:"main_model_loader",id:Pn,is_intermediate:!0,model:o},[it]:{type:"clip_skip",id:it,is_intermediate:!0,skipped_layers:c},[Wt]:{type:"l2l",id:Wt,is_intermediate:!0,cfg_scale:s,scheduler:a,steps:l,strength:u},[vt]:{type:"i2l",id:vt,is_intermediate:!0},[We]:{type:"l2i",id:We,is_intermediate:!m}},edges:[{source:{node_id:Pn,field:"clip"},destination:{node_id:it,field:"clip"}},{source:{node_id:it,field:"clip"},destination:{node_id:Be,field:"clip"}},{source:{node_id:it,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:Wt,field:"latents"},destination:{node_id:We,field:"latents"}},{source:{node_id:vt,field:"latents"},destination:{node_id:Wt,field:"latents"}},{source:{node_id:$e,field:"noise"},destination:{node_id:Wt,field:"noise"}},{source:{node_id:Pn,field:"unet"},destination:{node_id:Wt,field:"unet"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Wt,field:"negative_conditioning"}},{source:{node_id:Be,field:"conditioning"},destination:{node_id:Wt,field:"positive_conditioning"}}]};if(t.width!==h||t.height!==p){const v={id:Qn,type:"img_resize",image:{image_name:t.image_name},is_intermediate:!0,width:h,height:p};y.nodes[Qn]=v,y.edges.push({source:{node_id:Qn,field:"image"},destination:{node_id:vt,field:"image"}}),y.edges.push({source:{node_id:Qn,field:"width"},destination:{node_id:$e,field:"width"}}),y.edges.push({source:{node_id:Qn,field:"height"},destination:{node_id:$e,field:"height"}})}else y.nodes[vt].image={image_name:t.image_name},y.edges.push({source:{node_id:vt,field:"width"},destination:{node_id:$e,field:"width"}}),y.edges.push({source:{node_id:vt,field:"height"},destination:{node_id:$e,field:"height"}});return y.nodes[Ke]={id:Ke,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:s,height:p,width:h,positive_prompt:"",negative_prompt:i,model:o,seed:0,steps:l,rand_device:S?"cpu":"cuda",scheduler:a,vae:void 0,controlnets:[],loras:[],clip_skip:c,strength:u,init_image:t.image_name},y.edges.push({source:{node_id:Ke,field:"metadata"},destination:{node_id:We,field:"metadata"}}),Ih(e,y,Wt),Nh(e,y),Cc(e,y),Yv(e,y,Wt),e.system.shouldUseNSFWChecker&&xl(e,y),e.system.shouldUseWatermarker&&Cl(e,y),y},kpe=(e,t,n)=>{const r=fe("nodes"),{positivePrompt:i,negativePrompt:o,model:s,cfgScale:a,scheduler:l,steps:u,img2imgStrength:c,shouldFitToWidthHeight:d,iterations:f,seed:h,shouldRandomizeSeed:p,seamSize:m,seamBlur:S,seamSteps:y,seamStrength:v,tileSize:g,infillMethod:b,clipSkip:_}=e.generation;if(!s)throw r.error("No model found in state"),new Error("No model found in state");const{width:w,height:x}=e.canvas.boundingBoxDimensions,{scaledBoundingBoxDimensions:T,boundingBoxScaleMethod:P,shouldAutoSave:E}=e.canvas,A={id:sN,nodes:{[Ii]:{is_intermediate:!E,type:"inpaint",id:Ii,steps:u,width:w,height:x,cfg_scale:a,scheduler:l,image:{image_name:t.image_name},strength:c,fit:d,mask:{image_name:n.image_name},seam_size:m,seam_blur:S,seam_strength:v,seam_steps:y,tile_size:b==="tile"?g:void 0,infill_method:b,inpaint_width:P!=="none"?T.width:void 0,inpaint_height:P!=="none"?T.height:void 0},[Be]:{type:"compel",id:Be,is_intermediate:!0,prompt:i},[qe]:{type:"compel",id:qe,is_intermediate:!0,prompt:o},[Pn]:{type:"main_model_loader",id:Pn,is_intermediate:!0,model:s},[it]:{type:"clip_skip",id:it,is_intermediate:!0,skipped_layers:_},[Co]:{type:"range_of_size",id:Co,is_intermediate:!0,size:f,step:1},[lr]:{type:"iterate",id:lr,is_intermediate:!0}},edges:[{source:{node_id:Pn,field:"unet"},destination:{node_id:Ii,field:"unet"}},{source:{node_id:Pn,field:"clip"},destination:{node_id:it,field:"clip"}},{source:{node_id:it,field:"clip"},destination:{node_id:Be,field:"clip"}},{source:{node_id:it,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Ii,field:"negative_conditioning"}},{source:{node_id:Be,field:"conditioning"},destination:{node_id:Ii,field:"positive_conditioning"}},{source:{node_id:Co,field:"collection"},destination:{node_id:lr,field:"collection"}},{source:{node_id:lr,field:"item"},destination:{node_id:Ii,field:"seed"}}]};if(Ih(e,A,Ii),Nh(e,A),p){const $={id:Fi,type:"rand_int"};A.nodes[Fi]=$,A.edges.push({source:{node_id:Fi,field:"a"},destination:{node_id:Co,field:"start"}})}else A.nodes[Co].start=h;return e.system.shouldUseNSFWChecker&&xl(e,A,Ii),e.system.shouldUseWatermarker&&Cl(e,A,Ii),A},Rpe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,clipSkip:l,shouldUseCpuNoise:u,shouldUseNoiseSettings:c}=e.generation,{width:d,height:f}=e.canvas.boundingBoxDimensions,{shouldAutoSave:h}=e.canvas;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const p=c?u:Wo.shouldUseCpuNoise,m=i.model_type.includes("onnx"),S=m?rv:Pn,y={id:SC,nodes:{[Be]:{type:m?"prompt_onnx":"compel",id:Be,is_intermediate:!0,prompt:n},[qe]:{type:m?"prompt_onnx":"compel",id:qe,is_intermediate:!0,prompt:r},[$e]:{type:"noise",id:$e,is_intermediate:!0,width:d,height:f,use_cpu:p},[cn]:{type:m?"t2l_onnx":"t2l",id:cn,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a},[S]:{type:S,id:S,is_intermediate:!0,model:i},[it]:{type:"clip_skip",id:it,is_intermediate:!0,skipped_layers:l},[We]:{type:m?"l2i_onnx":"l2i",id:We,is_intermediate:!h}},edges:[{source:{node_id:qe,field:"conditioning"},destination:{node_id:cn,field:"negative_conditioning"}},{source:{node_id:Be,field:"conditioning"},destination:{node_id:cn,field:"positive_conditioning"}},{source:{node_id:S,field:"clip"},destination:{node_id:it,field:"clip"}},{source:{node_id:it,field:"clip"},destination:{node_id:Be,field:"clip"}},{source:{node_id:it,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:S,field:"unet"},destination:{node_id:cn,field:"unet"}},{source:{node_id:cn,field:"latents"},destination:{node_id:We,field:"latents"}},{source:{node_id:$e,field:"noise"},destination:{node_id:cn,field:"noise"}}]};return y.nodes[Ke]={id:Ke,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:f,width:d,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:p?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:l},y.edges.push({source:{node_id:Ke,field:"metadata"},destination:{node_id:We,field:"metadata"}}),Ih(e,y,cn,S),Nh(e,y,S),Cc(e,y),Yv(e,y,cn),e.system.shouldUseNSFWChecker&&xl(e,y),e.system.shouldUseWatermarker&&Cl(e,y),y},Ope=(e,t,n,r)=>{let i;if(t==="txt2img")i=Rpe(e);else if(t==="img2img"){if(!n)throw new Error("Missing canvas init image");i=Ape(e,n)}else{if(!n||!r)throw new Error("Missing canvas init and mask images");i=kpe(e,n,r)}return i},Mpe=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="unifiedCanvas",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),{layerState:s,boundingBoxCoordinates:a,boundingBoxDimensions:l,isMaskEnabled:u,shouldPreserveMaskedArea:c}=o.canvas,d=await xpe(s,a,l,u,c);if(!d){i.error("Unable to create canvas data");return}const{baseBlob:f,baseImageData:h,maskBlob:p,maskImageData:m}=d,S=Epe(h,m);if(o.system.enableImageDebugging){const x=await QE(f),T=await QE(p);wce([{base64:T,caption:"mask b64"},{base64:x,caption:"image b64"}])}i.debug(`Generation mode: ${S}`);let y,v;["img2img","inpaint","outpaint"].includes(S)&&(y=await n(he.endpoints.uploadImage.initiate({file:new File([f],"canvasInitImage.png",{type:"image/png"}),image_category:"general",is_intermediate:!0})).unwrap()),["inpaint","outpaint"].includes(S)&&(v=await n(he.endpoints.uploadImage.initiate({file:new File([p],"canvasMaskImage.png",{type:"image/png"}),image_category:"mask",is_intermediate:!0})).unwrap());const g=Ope(o,S,y,v);i.debug({graph:ia(g)},"Canvas graph built"),n(YI(g));const{requestId:b}=n(Rn({graph:g})),[_]=await r(x=>Rn.fulfilled.match(x)&&x.meta.requestId===b),w=_.payload.id;["img2img","inpaint"].includes(S)&&y&&n(he.endpoints.changeImageSessionId.initiate({imageDTO:y,session_id:w})),["inpaint"].includes(S)&&v&&n(he.endpoints.changeImageSessionId.initiate({imageDTO:v,session_id:w})),o.canvas.layerState.stagingArea.boundingBox||n(WQ({sessionId:w,boundingBox:{...o.canvas.boundingBoxCoordinates,...o.canvas.boundingBoxDimensions}})),n(KQ(w)),n(pl())}})},Ipe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,img2imgStrength:u,shouldFitToWidthHeight:c,width:d,height:f,clipSkip:h,shouldUseCpuNoise:p,shouldUseNoiseSettings:m,vaePrecision:S}=e.generation;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const y=m?p:Wo.shouldUseCpuNoise,v={id:Ym,nodes:{[Pn]:{type:"main_model_loader",id:Pn,model:i},[it]:{type:"clip_skip",id:it,skipped_layers:h},[Be]:{type:"compel",id:Be,prompt:n},[qe]:{type:"compel",id:qe,prompt:r},[$e]:{type:"noise",id:$e,use_cpu:y},[We]:{type:"l2i",id:We,fp32:S==="fp32"},[Wt]:{type:"l2l",id:Wt,cfg_scale:o,scheduler:s,steps:a,strength:u},[vt]:{type:"i2l",id:vt,fp32:S==="fp32"}},edges:[{source:{node_id:Pn,field:"unet"},destination:{node_id:Wt,field:"unet"}},{source:{node_id:Pn,field:"clip"},destination:{node_id:it,field:"clip"}},{source:{node_id:it,field:"clip"},destination:{node_id:Be,field:"clip"}},{source:{node_id:it,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:Wt,field:"latents"},destination:{node_id:We,field:"latents"}},{source:{node_id:vt,field:"latents"},destination:{node_id:Wt,field:"latents"}},{source:{node_id:$e,field:"noise"},destination:{node_id:Wt,field:"noise"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Wt,field:"negative_conditioning"}},{source:{node_id:Be,field:"conditioning"},destination:{node_id:Wt,field:"positive_conditioning"}}]};if(c&&(l.width!==d||l.height!==f)){const g={id:Qn,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:d,height:f};v.nodes[Qn]=g,v.edges.push({source:{node_id:Qn,field:"image"},destination:{node_id:vt,field:"image"}}),v.edges.push({source:{node_id:Qn,field:"width"},destination:{node_id:$e,field:"width"}}),v.edges.push({source:{node_id:Qn,field:"height"},destination:{node_id:$e,field:"height"}})}else v.nodes[vt].image={image_name:l.imageName},v.edges.push({source:{node_id:vt,field:"width"},destination:{node_id:$e,field:"width"}}),v.edges.push({source:{node_id:vt,field:"height"},destination:{node_id:$e,field:"height"}});return v.nodes[Ke]={id:Ke,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:o,height:f,width:d,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:y?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:h,strength:u,init_image:l.imageName},v.edges.push({source:{node_id:Ke,field:"metadata"},destination:{node_id:We,field:"metadata"}}),Ih(e,v,Wt),Nh(e,v),Cc(e,v),Yv(e,v,Wt),e.system.shouldUseNSFWChecker&&xl(e,v),e.system.shouldUseWatermarker&&Cl(e,v),v},UN=(e,t,n)=>{const{positivePrompt:r,negativePrompt:i}=e.generation,{refinerModel:o,refinerAestheticScore:s,positiveStylePrompt:a,negativeStylePrompt:l,refinerSteps:u,refinerScheduler:c,refinerCFGScale:d,refinerStart:f}=e.sdxl;if(!o)return;const h=t.nodes[Ke];h&&(h.refiner_model=o,h.refiner_aesthetic_store=s,h.refiner_cfg_scale=d,h.refiner_scheduler=c,h.refiner_start=f,h.refiner_steps=u),t.edges=t.edges.filter(p=>!(p.source.node_id===n&&["latents"].includes(p.source.field))),t.edges=t.edges.filter(p=>!(p.source.node_id===Jt&&["vae"].includes(p.source.field))),n===Ni&&t.edges.push({source:{node_id:Jt,field:"vae"},destination:{node_id:vt,field:"vae"}}),t.nodes[Ul]={type:"sdxl_refiner_model_loader",id:Ul,model:o},t.nodes[Mp]={type:"sdxl_refiner_compel_prompt",id:Mp,style:`${r} ${a}`,aesthetic_score:s},t.nodes[Ip]={type:"sdxl_refiner_compel_prompt",id:Ip,style:`${i} ${l}`,aesthetic_score:s},t.nodes[ya]={type:"l2l_sdxl",id:ya,cfg_scale:d,steps:u/(1-Math.min(f,.99)),scheduler:c,denoising_start:f,denoising_end:1},t.edges.push({source:{node_id:Ul,field:"unet"},destination:{node_id:ya,field:"unet"}},{source:{node_id:Ul,field:"vae"},destination:{node_id:We,field:"vae"}},{source:{node_id:Ul,field:"clip2"},destination:{node_id:Mp,field:"clip2"}},{source:{node_id:Ul,field:"clip2"},destination:{node_id:Ip,field:"clip2"}},{source:{node_id:Mp,field:"conditioning"},destination:{node_id:ya,field:"positive_conditioning"}},{source:{node_id:Ip,field:"conditioning"},destination:{node_id:ya,field:"negative_conditioning"}},{source:{node_id:n,field:"latents"},destination:{node_id:ya,field:"latents"}},{source:{node_id:ya,field:"latents"},destination:{node_id:We,field:"latents"}})},Npe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,shouldFitToWidthHeight:u,width:c,height:d,clipSkip:f,shouldUseCpuNoise:h,shouldUseNoiseSettings:p,vaePrecision:m}=e.generation,{positiveStylePrompt:S,negativeStylePrompt:y,shouldConcatSDXLStylePrompt:v,shouldUseSDXLRefiner:g,refinerStart:b,sdxlImg2ImgDenoisingStrength:_}=e.sdxl;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const w=p?h:Wo.shouldUseCpuNoise,x={id:vce,nodes:{[Jt]:{type:"sdxl_model_loader",id:Jt,model:i},[Be]:{type:"sdxl_compel_prompt",id:Be,prompt:n,style:v?`${n} ${S}`:S},[qe]:{type:"sdxl_compel_prompt",id:qe,prompt:r,style:v?`${r} ${y}`:y},[$e]:{type:"noise",id:$e,use_cpu:w},[We]:{type:"l2i",id:We,fp32:m==="fp32"},[Ni]:{type:"l2l_sdxl",id:Ni,cfg_scale:o,scheduler:s,steps:a,denoising_start:g?Math.min(b,1-_):1-_,denoising_end:g?b:1},[vt]:{type:"i2l",id:vt,fp32:m==="fp32"}},edges:[{source:{node_id:Jt,field:"unet"},destination:{node_id:Ni,field:"unet"}},{source:{node_id:Jt,field:"vae"},destination:{node_id:We,field:"vae"}},{source:{node_id:Jt,field:"vae"},destination:{node_id:vt,field:"vae"}},{source:{node_id:Jt,field:"clip"},destination:{node_id:Be,field:"clip"}},{source:{node_id:Jt,field:"clip2"},destination:{node_id:Be,field:"clip2"}},{source:{node_id:Jt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:Jt,field:"clip2"},destination:{node_id:qe,field:"clip2"}},{source:{node_id:Ni,field:"latents"},destination:{node_id:We,field:"latents"}},{source:{node_id:vt,field:"latents"},destination:{node_id:Ni,field:"latents"}},{source:{node_id:$e,field:"noise"},destination:{node_id:Ni,field:"noise"}},{source:{node_id:Be,field:"conditioning"},destination:{node_id:Ni,field:"positive_conditioning"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:Ni,field:"negative_conditioning"}}]};if(u&&(l.width!==c||l.height!==d)){const T={id:Qn,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:c,height:d};x.nodes[Qn]=T,x.edges.push({source:{node_id:Qn,field:"image"},destination:{node_id:vt,field:"image"}}),x.edges.push({source:{node_id:Qn,field:"width"},destination:{node_id:$e,field:"width"}}),x.edges.push({source:{node_id:Qn,field:"height"},destination:{node_id:$e,field:"height"}})}else x.nodes[vt].image={image_name:l.imageName},x.edges.push({source:{node_id:vt,field:"width"},destination:{node_id:$e,field:"width"}}),x.edges.push({source:{node_id:vt,field:"height"},destination:{node_id:$e,field:"height"}});return x.nodes[Ke]={id:Ke,type:"metadata_accumulator",generation_mode:"sdxl_img2img",cfg_scale:o,height:d,width:c,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:w?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:f,strength:_,init_image:l.imageName,positive_style_prompt:S,negative_style_prompt:y},x.edges.push({source:{node_id:Ke,field:"metadata"},destination:{node_id:We,field:"metadata"}}),g&&UN(e,x,Ni),Cc(e,x),e.system.shouldUseNSFWChecker&&xl(e,x),e.system.shouldUseWatermarker&&Cl(e,x),x},Dpe=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="img2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=Npe(o):a=Ipe(o),n(XI(a)),i.debug({graph:ia(a)},"Image to Image graph built"),n(Rn({graph:a})),await r(Rn.fulfilled.match),n(pl())}})};let jp;const Lpe=new Uint8Array(16);function $pe(){if(!jp&&(jp=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!jp))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return jp(Lpe)}const xn=[];for(let e=0;e<256;++e)xn.push((e+256).toString(16).slice(1));function Fpe(e,t=0){return(xn[e[t+0]]+xn[e[t+1]]+xn[e[t+2]]+xn[e[t+3]]+"-"+xn[e[t+4]]+xn[e[t+5]]+"-"+xn[e[t+6]]+xn[e[t+7]]+"-"+xn[e[t+8]]+xn[e[t+9]]+"-"+xn[e[t+10]]+xn[e[t+11]]+xn[e[t+12]]+xn[e[t+13]]+xn[e[t+14]]+xn[e[t+15]]).toLowerCase()}const Bpe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),I6={randomUUID:Bpe};function jpe(e,t,n){if(I6.randomUUID&&!t&&!e)return I6.randomUUID();e=e||{};const r=e.random||(e.rng||$pe)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=r[i];return t}return Fpe(r)}const Vpe=e=>{if(e.type==="color"&&e.value){const t=Ln(e.value),{r:n,g:r,b:i,a:o}=e.value,s=Math.max(0,Math.min(o*255,255));return Object.assign(t,{r:n,g:r,b:i,a:s}),t}return e.value},zpe=e=>{const{nodes:t,edges:n}=e.nodes,i=t.filter(a=>a.type!=="progress_image").reduce((a,l)=>{const{id:u,data:c}=l,{type:d,inputs:f}=c,h=$x(f,(m,S,y)=>{const v=Vpe(S);return m[y]=v,m},{}),p={type:d,id:u,...h};return Object.assign(a,{[u]:p}),a},{}),o=n.reduce((a,l)=>{const{source:u,target:c,sourceHandle:d,targetHandle:f}=l;return a.push({source:{node_id:u,field:d},destination:{node_id:c,field:f}}),a},[]);return o.forEach(a=>{const l=i[a.destination.node_id],u=a.destination.field;i[a.destination.node_id]=w0(l,u)}),{id:jpe(),nodes:i,edges:o}},Upe=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="nodes",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),s=zpe(o);n(QI(s)),i.debug({graph:ia(s)},"Nodes graph built"),n(Rn({graph:s})),await r(Rn.fulfilled.match),n(pl())}})},Gpe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:c,shouldUseCpuNoise:d,shouldUseNoiseSettings:f,vaePrecision:h}=e.generation,{positiveStylePrompt:p,negativeStylePrompt:m,shouldConcatSDXLStylePrompt:S,shouldUseSDXLRefiner:y,refinerStart:v}=e.sdxl,g=f?d:Wo.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const b={id:yce,nodes:{[Jt]:{type:"sdxl_model_loader",id:Jt,model:i},[Be]:{type:"sdxl_compel_prompt",id:Be,prompt:n,style:S?`${n} ${p}`:p},[qe]:{type:"sdxl_compel_prompt",id:qe,prompt:r,style:S?`${r} ${m}`:m},[$e]:{type:"noise",id:$e,width:l,height:u,use_cpu:g},[is]:{type:"t2l_sdxl",id:is,cfg_scale:o,scheduler:s,steps:a,denoising_end:y?v:1},[We]:{type:"l2i",id:We,fp32:h==="fp32"}},edges:[{source:{node_id:Jt,field:"unet"},destination:{node_id:is,field:"unet"}},{source:{node_id:Jt,field:"vae"},destination:{node_id:We,field:"vae"}},{source:{node_id:Jt,field:"clip"},destination:{node_id:Be,field:"clip"}},{source:{node_id:Jt,field:"clip2"},destination:{node_id:Be,field:"clip2"}},{source:{node_id:Jt,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:Jt,field:"clip2"},destination:{node_id:qe,field:"clip2"}},{source:{node_id:Be,field:"conditioning"},destination:{node_id:is,field:"positive_conditioning"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:is,field:"negative_conditioning"}},{source:{node_id:$e,field:"noise"},destination:{node_id:is,field:"noise"}},{source:{node_id:is,field:"latents"},destination:{node_id:We,field:"latents"}}]};return b.nodes[Ke]={id:Ke,type:"metadata_accumulator",generation_mode:"sdxl_txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:g?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:c,positive_style_prompt:p,negative_style_prompt:m},b.edges.push({source:{node_id:Ke,field:"metadata"},destination:{node_id:We,field:"metadata"}}),y&&UN(e,b,is),Cc(e,b),e.system.shouldUseNSFWChecker&&xl(e,b),e.system.shouldUseWatermarker&&Cl(e,b),b},Hpe=e=>{const t=fe("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:c,shouldUseCpuNoise:d,shouldUseNoiseSettings:f,vaePrecision:h}=e.generation,p=f?d:Wo.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const m=i.model_type.includes("onnx"),S=m?rv:Pn,y={id:SC,nodes:{[S]:{type:S,id:S,model:i},[it]:{type:"clip_skip",id:it,skipped_layers:c},[Be]:{type:m?"prompt_onnx":"compel",id:Be,prompt:n},[qe]:{type:m?"prompt_onnx":"compel",id:qe,prompt:r},[$e]:{type:"noise",id:$e,width:l,height:u,use_cpu:p},[cn]:{type:m?"t2l_onnx":"t2l",id:cn,cfg_scale:o,scheduler:s,steps:a},[We]:{type:m?"l2i_onnx":"l2i",id:We,fp32:h==="fp32"}},edges:[{source:{node_id:S,field:"clip"},destination:{node_id:it,field:"clip"}},{source:{node_id:S,field:"unet"},destination:{node_id:cn,field:"unet"}},{source:{node_id:it,field:"clip"},destination:{node_id:Be,field:"clip"}},{source:{node_id:it,field:"clip"},destination:{node_id:qe,field:"clip"}},{source:{node_id:Be,field:"conditioning"},destination:{node_id:cn,field:"positive_conditioning"}},{source:{node_id:qe,field:"conditioning"},destination:{node_id:cn,field:"negative_conditioning"}},{source:{node_id:cn,field:"latents"},destination:{node_id:We,field:"latents"}},{source:{node_id:$e,field:"noise"},destination:{node_id:cn,field:"noise"}}]};return y.nodes[Ke]={id:Ke,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:p?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:c},y.edges.push({source:{node_id:Ke,field:"metadata"},destination:{node_id:We,field:"metadata"}}),Ih(e,y,cn,S),Nh(e,y,S),Cc(e,y),Yv(e,y,cn),e.system.shouldUseNSFWChecker&&xl(e,y),e.system.shouldUseWatermarker&&Cl(e,y),y},qpe=()=>{le({predicate:e=>Ph.match(e)&&e.payload==="txt2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=fe("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=Gpe(o):a=Hpe(o),n(KI(a)),i.debug({graph:ia(a)},"Text to Image graph built"),n(Rn({graph:a})),await r(Rn.fulfilled.match),n(pl())}})},GN=Xk(),le=GN.startListening;rue();iue();aue();Xle();Yle();Qle();Zle();Ple();nue();Mpe();Upe();qpe();Dpe();Jue();zle();Ble();$le();Vle();hce();_le();nce();rce();oce();sce();lce();ece();tce();dce();fce();uce();cce();ace();Wue();Kue();Xue();Yue();Que();Zue();Gue();Hue();que();Hle();Gle();qle();Wle();eue();tue();Ale();Fue();Jle();lue();Tle();cue();xle();wle();_ce();gce();const Wpe={canvas:XQ,gallery:gJ,generation:PQ,nodes:Jse,postprocessing:eae,system:Pae,config:aY,ui:kQ,hotkeys:Oae,controlNet:cJ,boards:pJ,dynamicPrompts:fJ,imageDeletion:bJ,lora:_J,modelmanager:Rae,sdxl:rae,[Hs.reducerPath]:Hs.reducer},Kpe=gc(Wpe),Xpe=nle(Kpe),Ype=["canvas","gallery","generation","sdxl","nodes","postprocessing","system","ui","controlNet","dynamicPrompts","lora","modelmanager"],Qpe=kk({reducer:Xpe,enhancers:e=>e.concat(rle(window.localStorage,Ype,{persistDebounce:300,serialize:ple,unserialize:mle,prefix:ile})).concat(Qk()),middleware:e=>e({immutableCheck:!1,serializableCheck:!1}).concat(Hs.middleware).concat(Dae).prepend(GN.middleware),devTools:{actionSanitizer:vle,stateSanitizer:Sle,trace:!0,predicate:(e,t)=>!ble.includes(t.type)}}),_4e=e=>e;function Zpe(e){if(e.sheet)return e.sheet;for(var t=0;t0?En(Tc,--Sr):0,uc--,Kt===10&&(uc=1,Zv--),Kt}function Ar(){return Kt=Sr2||Vf(Kt)>3?"":" "}function dge(e,t){for(;--t&&Ar()&&!(Kt<48||Kt>102||Kt>57&&Kt<65||Kt>70&&Kt<97););return Dh(e,wg()+(t<6&&Zi()==32&&Ar()==32))}function E2(e){for(;Ar();)switch(Kt){case e:return Sr;case 34:case 39:e!==34&&e!==39&&E2(Kt);break;case 40:e===41&&E2(e);break;case 92:Ar();break}return Sr}function fge(e,t){for(;Ar()&&e+Kt!==47+10;)if(e+Kt===42+42&&Zi()===47)break;return"/*"+Dh(t,Sr-1)+"*"+Qv(e===47?e:Ar())}function hge(e){for(;!Vf(Zi());)Ar();return Dh(e,Sr)}function pge(e){return YN(Cg("",null,null,null,[""],e=XN(e),0,[0],e))}function Cg(e,t,n,r,i,o,s,a,l){for(var u=0,c=0,d=s,f=0,h=0,p=0,m=1,S=1,y=1,v=0,g="",b=i,_=o,w=r,x=g;S;)switch(p=v,v=Ar()){case 40:if(p!=108&&En(x,d-1)==58){T2(x+=He(xg(v),"&","&\f"),"&\f")!=-1&&(y=-1);break}case 34:case 39:case 91:x+=xg(v);break;case 9:case 10:case 13:case 32:x+=cge(p);break;case 92:x+=dge(wg()-1,7);continue;case 47:switch(Zi()){case 42:case 47:Vp(gge(fge(Ar(),wg()),t,n),l);break;default:x+="/"}break;case 123*m:a[u++]=Bi(x)*y;case 125*m:case 59:case 0:switch(v){case 0:case 125:S=0;case 59+c:y==-1&&(x=He(x,/\f/g,"")),h>0&&Bi(x)-d&&Vp(h>32?D6(x+";",r,n,d-1):D6(He(x," ","")+";",r,n,d-2),l);break;case 59:x+=";";default:if(Vp(w=N6(x,t,n,u,c,i,a,g,b=[],_=[],d),o),v===123)if(c===0)Cg(x,t,w,w,b,o,d,a,_);else switch(f===99&&En(x,3)===110?100:f){case 100:case 108:case 109:case 115:Cg(e,w,w,r&&Vp(N6(e,w,w,0,0,i,a,g,i,b=[],d),_),i,_,d,a,r?b:_);break;default:Cg(x,w,w,w,[""],_,0,a,_)}}u=c=h=0,m=y=1,g=x="",d=s;break;case 58:d=1+Bi(x),h=p;default:if(m<1){if(v==123)--m;else if(v==125&&m++==0&&uge()==125)continue}switch(x+=Qv(v),v*m){case 38:y=c>0?1:(x+="\f",-1);break;case 44:a[u++]=(Bi(x)-1)*y,y=1;break;case 64:Zi()===45&&(x+=xg(Ar())),f=Zi(),c=d=Bi(g=x+=hge(wg())),v++;break;case 45:p===45&&Bi(x)==2&&(m=0)}}return o}function N6(e,t,n,r,i,o,s,a,l,u,c){for(var d=i-1,f=i===0?o:[""],h=FC(f),p=0,m=0,S=0;p0?f[y]+" "+v:He(v,/&\f/g,f[y])))&&(l[S++]=g);return Jv(e,t,n,i===0?LC:a,l,u,c)}function gge(e,t,n){return Jv(e,t,n,HN,Qv(lge()),jf(e,2,-2),0)}function D6(e,t,n,r){return Jv(e,t,n,$C,jf(e,0,r),jf(e,r+1,-1),r)}function $u(e,t){for(var n="",r=FC(e),i=0;i6)switch(En(e,t+1)){case 109:if(En(e,t+4)!==45)break;case 102:return He(e,/(.+:)(.+)-([^]+)/,"$1"+Ge+"$2-$3$1"+ty+(En(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~T2(e,"stretch")?ZN(He(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(En(e,t+1)!==115)break;case 6444:switch(En(e,Bi(e)-3-(~T2(e,"!important")&&10))){case 107:return He(e,":",":"+Ge)+e;case 101:return He(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Ge+(En(e,14)===45?"inline-":"")+"box$3$1"+Ge+"$2$3$1"+Dn+"$2box$3")+e}break;case 5936:switch(En(e,t+11)){case 114:return Ge+e+Dn+He(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Ge+e+Dn+He(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Ge+e+Dn+He(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Ge+e+Dn+e+e}return e}var Cge=function(t,n,r,i){if(t.length>-1&&!t.return)switch(t.type){case $C:t.return=ZN(t.value,t.length);break;case qN:return $u([rd(t,{value:He(t.value,"@","@"+Ge)})],i);case LC:if(t.length)return age(t.props,function(o){switch(sge(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return $u([rd(t,{props:[He(o,/:(read-\w+)/,":"+ty+"$1")]})],i);case"::placeholder":return $u([rd(t,{props:[He(o,/:(plac\w+)/,":"+Ge+"input-$1")]}),rd(t,{props:[He(o,/:(plac\w+)/,":"+ty+"$1")]}),rd(t,{props:[He(o,/:(plac\w+)/,Dn+"input-$1")]})],i)}return""})}},Tge=[Cge],Ege=function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(m){var S=m.getAttribute("data-emotion");S.indexOf(" ")!==-1&&(document.head.appendChild(m),m.setAttribute("data-s",""))})}var i=t.stylisPlugins||Tge,o={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(m){for(var S=m.getAttribute("data-emotion").split(" "),y=1;y=4;++r,i-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(i){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var Rge={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},Oge=/[A-Z]|^ms/g,Mge=/_EMO_([^_]+?)_([^]*?)_EMO_/g,tD=function(t){return t.charCodeAt(1)===45},F6=function(t){return t!=null&&typeof t!="boolean"},tS=QN(function(e){return tD(e)?e:e.replace(Oge,"-$&").toLowerCase()}),B6=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(Mge,function(r,i,o){return ji={name:i,styles:o,next:ji},i})}return Rge[t]!==1&&!tD(t)&&typeof n=="number"&&n!==0?n+"px":n};function zf(e,t,n){if(n==null)return"";if(n.__emotion_styles!==void 0)return n;switch(typeof n){case"boolean":return"";case"object":{if(n.anim===1)return ji={name:n.name,styles:n.styles,next:ji},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)ji={name:r.name,styles:r.styles,next:ji},r=r.next;var i=n.styles+";";return i}return Ige(e,t,n)}case"function":{if(e!==void 0){var o=ji,s=n(e);return ji=o,zf(e,t,s)}break}}if(t==null)return n;var a=t[n];return a!==void 0?a:n}function Ige(e,t,n){var r="";if(Array.isArray(n))for(var i=0;i` or ``");return e}var sD=k.createContext({});sD.displayName="ColorModeContext";function jC(){const e=k.useContext(sD);if(e===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return e}function C4e(e,t){const{colorMode:n}=jC();return n==="dark"?t:e}function Vge(){const e=jC(),t=oD();return{...e,theme:t}}function zge(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__breakpoints)==null?void 0:a.asArray)==null?void 0:l[s]};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function Uge(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__cssMap)==null?void 0:a[s])==null?void 0:l.value};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function T4e(e,t,n){const r=oD();return Gge(e,t,n)(r)}function Gge(e,t,n){const r=Array.isArray(t)?t:[t],i=Array.isArray(n)?n:[n];return o=>{const s=i.filter(Boolean),a=r.map((l,u)=>{var c,d;if(e==="breakpoints")return zge(o,l,(c=s[u])!=null?c:l);const f=`${e}.${l}`;return Uge(o,f,(d=s[u])!=null?d:l)});return Array.isArray(t)?a:a[0]}}var aD=(...e)=>e.filter(Boolean).join(" ");function Hge(){return!1}function Mo(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}var E4e=e=>{const{condition:t,message:n}=e;t&&Hge()&&console.warn(n)};function Da(e,...t){return qge(e)?e(...t):e}var qge=e=>typeof e=="function",P4e=e=>e?"":void 0,A4e=e=>e?!0:void 0;function k4e(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function R4e(...e){return function(n){e.forEach(r=>{r==null||r(n)})}}var ny={exports:{}};ny.exports;(function(e,t){var n=200,r="__lodash_hash_undefined__",i=800,o=16,s=9007199254740991,a="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",c="[object Boolean]",d="[object Date]",f="[object Error]",h="[object Function]",p="[object GeneratorFunction]",m="[object Map]",S="[object Number]",y="[object Null]",v="[object Object]",g="[object Proxy]",b="[object RegExp]",_="[object Set]",w="[object String]",x="[object Undefined]",T="[object WeakMap]",P="[object ArrayBuffer]",E="[object DataView]",A="[object Float32Array]",$="[object Float64Array]",I="[object Int8Array]",C="[object Int16Array]",R="[object Int32Array]",M="[object Uint8Array]",N="[object Uint8ClampedArray]",O="[object Uint16Array]",D="[object Uint32Array]",L=/[\\^$.*+?()[\]{}|]/g,j=/^\[object .+?Constructor\]$/,U=/^(?:0|[1-9]\d*)$/,G={};G[A]=G[$]=G[I]=G[C]=G[R]=G[M]=G[N]=G[O]=G[D]=!0,G[a]=G[l]=G[P]=G[c]=G[E]=G[d]=G[f]=G[h]=G[m]=G[S]=G[v]=G[b]=G[_]=G[w]=G[T]=!1;var W=typeof Ee=="object"&&Ee&&Ee.Object===Object&&Ee,X=typeof self=="object"&&self&&self.Object===Object&&self,Y=W||X||Function("return this")(),B=t&&!t.nodeType&&t,H=B&&!0&&e&&!e.nodeType&&e,Q=H&&H.exports===B,J=Q&&W.process,ne=function(){try{var F=H&&H.require&&H.require("util").types;return F||J&&J.binding&&J.binding("util")}catch{}}(),te=ne&&ne.isTypedArray;function xe(F,V,q){switch(q.length){case 0:return F.call(V);case 1:return F.call(V,q[0]);case 2:return F.call(V,q[0],q[1]);case 3:return F.call(V,q[0],q[1],q[2])}return F.apply(V,q)}function ve(F,V){for(var q=-1,ie=Array(F);++q-1}function fo(F,V){var q=this.__data__,ie=kl(q,F);return ie<0?(++this.size,q.push([F,V])):q[ie][1]=V,this}_n.prototype.clear=co,_n.prototype.delete=Zo,_n.prototype.get=Jo,_n.prototype.has=Al,_n.prototype.set=fo;function qn(F){var V=-1,q=F==null?0:F.length;for(this.clear();++V1?q[Le-1]:void 0,gt=Le>2?q[2]:void 0;for(rt=F.length>3&&typeof rt=="function"?(Le--,rt):void 0,gt&&U$(q[0],q[1],gt)&&(rt=Le<3?void 0:rt,Le=1),V=Object(V);++ie-1&&F%1==0&&F0){if(++V>=i)return arguments[0]}else V=0;return F.apply(void 0,arguments)}}function Q$(F){if(F!=null){try{return tt.call(F)}catch{}try{return F+""}catch{}}return""}function Kh(F,V){return F===V||F!==F&&V!==V}var k1=qh(function(){return arguments}())?qh:function(F){return Oc(F)&&Ut.call(F,"callee")&&!ri.call(F,"callee")},R1=Array.isArray;function O1(F){return F!=null&&R3(F.length)&&!M1(F)}function Z$(F){return Oc(F)&&O1(F)}var k3=da||rF;function M1(F){if(!pa(F))return!1;var V=Ol(F);return V==h||V==p||V==u||V==g}function R3(F){return typeof F=="number"&&F>-1&&F%1==0&&F<=s}function pa(F){var V=typeof F;return F!=null&&(V=="object"||V=="function")}function Oc(F){return F!=null&&typeof F=="object"}function J$(F){if(!Oc(F)||Ol(F)!=v)return!1;var V=wr(F);if(V===null)return!0;var q=Ut.call(V,"constructor")&&V.constructor;return typeof q=="function"&&q instanceof q&&tt.call(q)==Lr}var O3=te?ce(te):Rc;function eF(F){return F$(F,M3(F))}function M3(F){return O1(F)?x1(F,!0):R$(F)}var tF=B$(function(F,V,q,ie){E3(F,V,q,ie)});function nF(F){return function(){return F}}function I3(F){return F}function rF(){return!1}e.exports=tF})(ny,ny.exports);var Wge=ny.exports;const Wi=ll(Wge);var Kge=e=>/!(important)?$/.test(e),z6=e=>typeof e=="string"?e.replace(/!(important)?$/,"").trim():e,Xge=(e,t)=>n=>{const r=String(t),i=Kge(r),o=z6(r),s=e?`${e}.${o}`:o;let a=Mo(n.__cssMap)&&s in n.__cssMap?n.__cssMap[s].varRef:t;return a=z6(a),i?`${a} !important`:a};function VC(e){const{scale:t,transform:n,compose:r}=e;return(o,s)=>{var a;const l=Xge(t,o)(s);let u=(a=n==null?void 0:n(l,s))!=null?a:l;return r&&(u=r(u,s)),u}}var zp=(...e)=>t=>e.reduce((n,r)=>r(n),t);function jr(e,t){return n=>{const r={property:n,scale:e};return r.transform=VC({scale:e,transform:t}),r}}var Yge=({rtl:e,ltr:t})=>n=>n.direction==="rtl"?e:t;function Qge(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:Yge(t),transform:n?VC({scale:n,compose:r}):r}}var lD=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"];function Zge(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...lD].join(" ")}function Jge(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...lD].join(" ")}var eme={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},tme={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"};function nme(e){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":e,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}var rme={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},P2={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},ime=new Set(Object.values(P2)),A2=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),ome=e=>e.trim();function sme(e,t){if(e==null||A2.has(e))return e;if(!(k2(e)||A2.has(e)))return`url('${e}')`;const i=/(^[a-z-A-Z]+)\((.*)\)/g.exec(e),o=i==null?void 0:i[1],s=i==null?void 0:i[2];if(!o||!s)return e;const a=o.includes("-gradient")?o:`${o}-gradient`,[l,...u]=s.split(",").map(ome).filter(Boolean);if((u==null?void 0:u.length)===0)return e;const c=l in P2?P2[l]:l;u.unshift(c);const d=u.map(f=>{if(ime.has(f))return f;const h=f.indexOf(" "),[p,m]=h!==-1?[f.substr(0,h),f.substr(h+1)]:[f],S=k2(m)?m:m&&m.split(" "),y=`colors.${p}`,v=y in t.__cssMap?t.__cssMap[y].varRef:p;return S?[v,...Array.isArray(S)?S:[S]].join(" "):v});return`${a}(${d.join(", ")})`}var k2=e=>typeof e=="string"&&e.includes("(")&&e.includes(")"),ame=(e,t)=>sme(e,t??{});function lme(e){return/^var\(--.+\)$/.test(e)}var ume=e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}},Mi=e=>t=>`${e}(${t})`,je={filter(e){return e!=="auto"?e:eme},backdropFilter(e){return e!=="auto"?e:tme},ring(e){return nme(je.px(e))},bgClip(e){return e==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform(e){return e==="auto"?Zge():e==="auto-gpu"?Jge():e},vh(e){return e==="$100vh"?"var(--chakra-vh)":e},px(e){if(e==null)return e;const{unitless:t}=ume(e);return t||typeof e=="number"?`${e}px`:e},fraction(e){return typeof e!="number"||e>1?e:`${e*100}%`},float(e,t){const n={left:"right",right:"left"};return t.direction==="rtl"?n[e]:e},degree(e){if(lme(e)||e==null)return e;const t=typeof e=="string"&&!e.endsWith("deg");return typeof e=="number"||t?`${e}deg`:e},gradient:ame,blur:Mi("blur"),opacity:Mi("opacity"),brightness:Mi("brightness"),contrast:Mi("contrast"),dropShadow:Mi("drop-shadow"),grayscale:Mi("grayscale"),hueRotate:Mi("hue-rotate"),invert:Mi("invert"),saturate:Mi("saturate"),sepia:Mi("sepia"),bgImage(e){return e==null||k2(e)||A2.has(e)?e:`url(${e})`},outline(e){const t=String(e)==="0"||String(e)==="none";return e!==null&&t?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:e}},flexDirection(e){var t;const{space:n,divide:r}=(t=rme[e])!=null?t:{},i={flexDirection:e};return n&&(i[n]=1),r&&(i[r]=1),i}},z={borderWidths:jr("borderWidths"),borderStyles:jr("borderStyles"),colors:jr("colors"),borders:jr("borders"),gradients:jr("gradients",je.gradient),radii:jr("radii",je.px),space:jr("space",zp(je.vh,je.px)),spaceT:jr("space",zp(je.vh,je.px)),degreeT(e){return{property:e,transform:je.degree}},prop(e,t,n){return{property:e,scale:t,...t&&{transform:VC({scale:t,transform:n})}}},propT(e,t){return{property:e,transform:t}},sizes:jr("sizes",zp(je.vh,je.px)),sizesT:jr("sizes",zp(je.vh,je.fraction)),shadows:jr("shadows"),logical:Qge,blur:jr("blur",je.blur)},Tg={background:z.colors("background"),backgroundColor:z.colors("backgroundColor"),backgroundImage:z.gradients("backgroundImage"),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:je.bgClip},bgSize:z.prop("backgroundSize"),bgPosition:z.prop("backgroundPosition"),bg:z.colors("background"),bgColor:z.colors("backgroundColor"),bgPos:z.prop("backgroundPosition"),bgRepeat:z.prop("backgroundRepeat"),bgAttachment:z.prop("backgroundAttachment"),bgGradient:z.gradients("backgroundImage"),bgClip:{transform:je.bgClip}};Object.assign(Tg,{bgImage:Tg.backgroundImage,bgImg:Tg.backgroundImage});var Ue={border:z.borders("border"),borderWidth:z.borderWidths("borderWidth"),borderStyle:z.borderStyles("borderStyle"),borderColor:z.colors("borderColor"),borderRadius:z.radii("borderRadius"),borderTop:z.borders("borderTop"),borderBlockStart:z.borders("borderBlockStart"),borderTopLeftRadius:z.radii("borderTopLeftRadius"),borderStartStartRadius:z.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:z.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:z.radii("borderTopRightRadius"),borderStartEndRadius:z.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:z.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:z.borders("borderRight"),borderInlineEnd:z.borders("borderInlineEnd"),borderBottom:z.borders("borderBottom"),borderBlockEnd:z.borders("borderBlockEnd"),borderBottomLeftRadius:z.radii("borderBottomLeftRadius"),borderBottomRightRadius:z.radii("borderBottomRightRadius"),borderLeft:z.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:z.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:z.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:z.borders(["borderLeft","borderRight"]),borderInline:z.borders("borderInline"),borderY:z.borders(["borderTop","borderBottom"]),borderBlock:z.borders("borderBlock"),borderTopWidth:z.borderWidths("borderTopWidth"),borderBlockStartWidth:z.borderWidths("borderBlockStartWidth"),borderTopColor:z.colors("borderTopColor"),borderBlockStartColor:z.colors("borderBlockStartColor"),borderTopStyle:z.borderStyles("borderTopStyle"),borderBlockStartStyle:z.borderStyles("borderBlockStartStyle"),borderBottomWidth:z.borderWidths("borderBottomWidth"),borderBlockEndWidth:z.borderWidths("borderBlockEndWidth"),borderBottomColor:z.colors("borderBottomColor"),borderBlockEndColor:z.colors("borderBlockEndColor"),borderBottomStyle:z.borderStyles("borderBottomStyle"),borderBlockEndStyle:z.borderStyles("borderBlockEndStyle"),borderLeftWidth:z.borderWidths("borderLeftWidth"),borderInlineStartWidth:z.borderWidths("borderInlineStartWidth"),borderLeftColor:z.colors("borderLeftColor"),borderInlineStartColor:z.colors("borderInlineStartColor"),borderLeftStyle:z.borderStyles("borderLeftStyle"),borderInlineStartStyle:z.borderStyles("borderInlineStartStyle"),borderRightWidth:z.borderWidths("borderRightWidth"),borderInlineEndWidth:z.borderWidths("borderInlineEndWidth"),borderRightColor:z.colors("borderRightColor"),borderInlineEndColor:z.colors("borderInlineEndColor"),borderRightStyle:z.borderStyles("borderRightStyle"),borderInlineEndStyle:z.borderStyles("borderInlineEndStyle"),borderTopRadius:z.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:z.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:z.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:z.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(Ue,{rounded:Ue.borderRadius,roundedTop:Ue.borderTopRadius,roundedTopLeft:Ue.borderTopLeftRadius,roundedTopRight:Ue.borderTopRightRadius,roundedTopStart:Ue.borderStartStartRadius,roundedTopEnd:Ue.borderStartEndRadius,roundedBottom:Ue.borderBottomRadius,roundedBottomLeft:Ue.borderBottomLeftRadius,roundedBottomRight:Ue.borderBottomRightRadius,roundedBottomStart:Ue.borderEndStartRadius,roundedBottomEnd:Ue.borderEndEndRadius,roundedLeft:Ue.borderLeftRadius,roundedRight:Ue.borderRightRadius,roundedStart:Ue.borderInlineStartRadius,roundedEnd:Ue.borderInlineEndRadius,borderStart:Ue.borderInlineStart,borderEnd:Ue.borderInlineEnd,borderTopStartRadius:Ue.borderStartStartRadius,borderTopEndRadius:Ue.borderStartEndRadius,borderBottomStartRadius:Ue.borderEndStartRadius,borderBottomEndRadius:Ue.borderEndEndRadius,borderStartRadius:Ue.borderInlineStartRadius,borderEndRadius:Ue.borderInlineEndRadius,borderStartWidth:Ue.borderInlineStartWidth,borderEndWidth:Ue.borderInlineEndWidth,borderStartColor:Ue.borderInlineStartColor,borderEndColor:Ue.borderInlineEndColor,borderStartStyle:Ue.borderInlineStartStyle,borderEndStyle:Ue.borderInlineEndStyle});var cme={color:z.colors("color"),textColor:z.colors("color"),fill:z.colors("fill"),stroke:z.colors("stroke")},R2={boxShadow:z.shadows("boxShadow"),mixBlendMode:!0,blendMode:z.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:z.prop("backgroundBlendMode"),opacity:!0};Object.assign(R2,{shadow:R2.boxShadow});var dme={filter:{transform:je.filter},blur:z.blur("--chakra-blur"),brightness:z.propT("--chakra-brightness",je.brightness),contrast:z.propT("--chakra-contrast",je.contrast),hueRotate:z.degreeT("--chakra-hue-rotate"),invert:z.propT("--chakra-invert",je.invert),saturate:z.propT("--chakra-saturate",je.saturate),dropShadow:z.propT("--chakra-drop-shadow",je.dropShadow),backdropFilter:{transform:je.backdropFilter},backdropBlur:z.blur("--chakra-backdrop-blur"),backdropBrightness:z.propT("--chakra-backdrop-brightness",je.brightness),backdropContrast:z.propT("--chakra-backdrop-contrast",je.contrast),backdropHueRotate:z.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:z.propT("--chakra-backdrop-invert",je.invert),backdropSaturate:z.propT("--chakra-backdrop-saturate",je.saturate)},ry={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:je.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:z.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:z.space("gap"),rowGap:z.space("rowGap"),columnGap:z.space("columnGap")};Object.assign(ry,{flexDir:ry.flexDirection});var uD={gridGap:z.space("gridGap"),gridColumnGap:z.space("gridColumnGap"),gridRowGap:z.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},fme={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:je.outline},outlineOffset:!0,outlineColor:z.colors("outlineColor")},zr={width:z.sizesT("width"),inlineSize:z.sizesT("inlineSize"),height:z.sizes("height"),blockSize:z.sizes("blockSize"),boxSize:z.sizes(["width","height"]),minWidth:z.sizes("minWidth"),minInlineSize:z.sizes("minInlineSize"),minHeight:z.sizes("minHeight"),minBlockSize:z.sizes("minBlockSize"),maxWidth:z.sizes("maxWidth"),maxInlineSize:z.sizes("maxInlineSize"),maxHeight:z.sizes("maxHeight"),maxBlockSize:z.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,aspectRatio:!0,hideFrom:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (min-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.minW)!=null?i:e})`]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (max-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r._minW)!=null?i:e})`]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:z.propT("float",je.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(zr,{w:zr.width,h:zr.height,minW:zr.minWidth,maxW:zr.maxWidth,minH:zr.minHeight,maxH:zr.maxHeight,overscroll:zr.overscrollBehavior,overscrollX:zr.overscrollBehaviorX,overscrollY:zr.overscrollBehaviorY});var hme={listStyleType:!0,listStylePosition:!0,listStylePos:z.prop("listStylePosition"),listStyleImage:!0,listStyleImg:z.prop("listStyleImage")};function pme(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},mme=gme(pme),yme={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},vme={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},nS=(e,t,n)=>{const r={},i=mme(e,t,{});for(const o in i)o in n&&n[o]!=null||(r[o]=i[o]);return r},bme={srOnly:{transform(e){return e===!0?yme:e==="focusable"?vme:{}}},layerStyle:{processResult:!0,transform:(e,t,n)=>nS(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>nS(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>nS(t,e,n)}},Rd={position:!0,pos:z.prop("position"),zIndex:z.prop("zIndex","zIndices"),inset:z.spaceT("inset"),insetX:z.spaceT(["left","right"]),insetInline:z.spaceT("insetInline"),insetY:z.spaceT(["top","bottom"]),insetBlock:z.spaceT("insetBlock"),top:z.spaceT("top"),insetBlockStart:z.spaceT("insetBlockStart"),bottom:z.spaceT("bottom"),insetBlockEnd:z.spaceT("insetBlockEnd"),left:z.spaceT("left"),insetInlineStart:z.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:z.spaceT("right"),insetInlineEnd:z.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(Rd,{insetStart:Rd.insetInlineStart,insetEnd:Rd.insetInlineEnd});var Sme={ring:{transform:je.ring},ringColor:z.colors("--chakra-ring-color"),ringOffset:z.prop("--chakra-ring-offset-width"),ringOffsetColor:z.colors("--chakra-ring-offset-color"),ringInset:z.prop("--chakra-ring-inset")},dt={margin:z.spaceT("margin"),marginTop:z.spaceT("marginTop"),marginBlockStart:z.spaceT("marginBlockStart"),marginRight:z.spaceT("marginRight"),marginInlineEnd:z.spaceT("marginInlineEnd"),marginBottom:z.spaceT("marginBottom"),marginBlockEnd:z.spaceT("marginBlockEnd"),marginLeft:z.spaceT("marginLeft"),marginInlineStart:z.spaceT("marginInlineStart"),marginX:z.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:z.spaceT("marginInline"),marginY:z.spaceT(["marginTop","marginBottom"]),marginBlock:z.spaceT("marginBlock"),padding:z.space("padding"),paddingTop:z.space("paddingTop"),paddingBlockStart:z.space("paddingBlockStart"),paddingRight:z.space("paddingRight"),paddingBottom:z.space("paddingBottom"),paddingBlockEnd:z.space("paddingBlockEnd"),paddingLeft:z.space("paddingLeft"),paddingInlineStart:z.space("paddingInlineStart"),paddingInlineEnd:z.space("paddingInlineEnd"),paddingX:z.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:z.space("paddingInline"),paddingY:z.space(["paddingTop","paddingBottom"]),paddingBlock:z.space("paddingBlock")};Object.assign(dt,{m:dt.margin,mt:dt.marginTop,mr:dt.marginRight,me:dt.marginInlineEnd,marginEnd:dt.marginInlineEnd,mb:dt.marginBottom,ml:dt.marginLeft,ms:dt.marginInlineStart,marginStart:dt.marginInlineStart,mx:dt.marginX,my:dt.marginY,p:dt.padding,pt:dt.paddingTop,py:dt.paddingY,px:dt.paddingX,pb:dt.paddingBottom,pl:dt.paddingLeft,ps:dt.paddingInlineStart,paddingStart:dt.paddingInlineStart,pr:dt.paddingRight,pe:dt.paddingInlineEnd,paddingEnd:dt.paddingInlineEnd});var _me={textDecorationColor:z.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:z.shadows("textShadow")},wme={clipPath:!0,transform:z.propT("transform",je.transform),transformOrigin:!0,translateX:z.spaceT("--chakra-translate-x"),translateY:z.spaceT("--chakra-translate-y"),skewX:z.degreeT("--chakra-skew-x"),skewY:z.degreeT("--chakra-skew-y"),scaleX:z.prop("--chakra-scale-x"),scaleY:z.prop("--chakra-scale-y"),scale:z.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:z.degreeT("--chakra-rotate")},xme={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:z.prop("transitionDuration","transition.duration"),transitionProperty:z.prop("transitionProperty","transition.property"),transitionTimingFunction:z.prop("transitionTimingFunction","transition.easing")},Cme={fontFamily:z.prop("fontFamily","fonts"),fontSize:z.prop("fontSize","fontSizes",je.px),fontWeight:z.prop("fontWeight","fontWeights"),lineHeight:z.prop("lineHeight","lineHeights"),letterSpacing:z.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,textIndent:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,isTruncated:{transform(e){if(e===!0)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},Tme={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:z.spaceT("scrollMargin"),scrollMarginTop:z.spaceT("scrollMarginTop"),scrollMarginBottom:z.spaceT("scrollMarginBottom"),scrollMarginLeft:z.spaceT("scrollMarginLeft"),scrollMarginRight:z.spaceT("scrollMarginRight"),scrollMarginX:z.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:z.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:z.spaceT("scrollPadding"),scrollPaddingTop:z.spaceT("scrollPaddingTop"),scrollPaddingBottom:z.spaceT("scrollPaddingBottom"),scrollPaddingLeft:z.spaceT("scrollPaddingLeft"),scrollPaddingRight:z.spaceT("scrollPaddingRight"),scrollPaddingX:z.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:z.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function cD(e){return Mo(e)&&e.reference?e.reference:String(e)}var e1=(e,...t)=>t.map(cD).join(` ${e} `).replace(/calc/g,""),U6=(...e)=>`calc(${e1("+",...e)})`,G6=(...e)=>`calc(${e1("-",...e)})`,O2=(...e)=>`calc(${e1("*",...e)})`,H6=(...e)=>`calc(${e1("/",...e)})`,q6=e=>{const t=cD(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:O2(t,-1)},Aa=Object.assign(e=>({add:(...t)=>Aa(U6(e,...t)),subtract:(...t)=>Aa(G6(e,...t)),multiply:(...t)=>Aa(O2(e,...t)),divide:(...t)=>Aa(H6(e,...t)),negate:()=>Aa(q6(e)),toString:()=>e.toString()}),{add:U6,subtract:G6,multiply:O2,divide:H6,negate:q6});function Eme(e,t="-"){return e.replace(/\s+/g,t)}function Pme(e){const t=Eme(e.toString());return kme(Ame(t))}function Ame(e){return e.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?e.replace(".","\\."):e}function kme(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}function Rme(e,t=""){return[t,e].filter(Boolean).join("-")}function Ome(e,t){return`var(${e}${t?`, ${t}`:""})`}function Mme(e,t=""){return Pme(`--${Rme(e,t)}`)}function M2(e,t,n){const r=Mme(e,n);return{variable:r,reference:Ome(r,t)}}function O4e(e,t){const n={};for(const r of t){if(Array.isArray(r)){const[i,o]=r;n[i]=M2(`${e}-${i}`,o);continue}n[r]=M2(`${e}-${r}`)}return n}function Ime(e){const t=e==null?0:e.length;return t?e[t-1]:void 0}function Nme(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}function I2(e){if(e==null)return e;const{unitless:t}=Nme(e);return t||typeof e=="number"?`${e}px`:e}var dD=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,zC=e=>Object.fromEntries(Object.entries(e).sort(dD));function W6(e){const t=zC(e);return Object.assign(Object.values(t),t)}function Dme(e){const t=Object.keys(zC(e));return new Set(t)}function K6(e){var t;if(!e)return e;e=(t=I2(e))!=null?t:e;const n=-.02;return typeof e=="number"?`${e+n}`:e.replace(/(\d+\.?\d*)/u,r=>`${parseFloat(r)+n}`)}function pd(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${I2(e)})`),t&&n.push("and",`(max-width: ${I2(t)})`),n.join(" ")}function Lme(e){var t;if(!e)return null;e.base=(t=e.base)!=null?t:"0px";const n=W6(e),r=Object.entries(e).sort(dD).map(([s,a],l,u)=>{var c;let[,d]=(c=u[l+1])!=null?c:[];return d=parseFloat(d)>0?K6(d):void 0,{_minW:K6(a),breakpoint:s,minW:a,maxW:d,maxWQuery:pd(null,d),minWQuery:pd(a),minMaxQuery:pd(a,d)}}),i=Dme(e),o=Array.from(i.values());return{keys:i,normalized:n,isResponsive(s){const a=Object.keys(s);return a.length>0&&a.every(l=>i.has(l))},asObject:zC(e),asArray:W6(e),details:r,get(s){return r.find(a=>a.breakpoint===s)},media:[null,...n.map(s=>pd(s)).slice(1)],toArrayValue(s){if(!Mo(s))throw new Error("toArrayValue: value must be an object");const a=o.map(l=>{var u;return(u=s[l])!=null?u:null});for(;Ime(a)===null;)a.pop();return a},toObjectValue(s){if(!Array.isArray(s))throw new Error("toObjectValue: value must be an array");return s.reduce((a,l,u)=>{const c=o[u];return c!=null&&l!=null&&(a[c]=l),a},{})}}}var wn={hover:(e,t)=>`${e}:hover ${t}, ${e}[data-hover] ${t}`,focus:(e,t)=>`${e}:focus ${t}, ${e}[data-focus] ${t}`,focusVisible:(e,t)=>`${e}:focus-visible ${t}`,focusWithin:(e,t)=>`${e}:focus-within ${t}`,active:(e,t)=>`${e}:active ${t}, ${e}[data-active] ${t}`,disabled:(e,t)=>`${e}:disabled ${t}, ${e}[data-disabled] ${t}`,invalid:(e,t)=>`${e}:invalid ${t}, ${e}[data-invalid] ${t}`,checked:(e,t)=>`${e}:checked ${t}, ${e}[data-checked] ${t}`,indeterminate:(e,t)=>`${e}:indeterminate ${t}, ${e}[aria-checked=mixed] ${t}, ${e}[data-indeterminate] ${t}`,readOnly:(e,t)=>`${e}:read-only ${t}, ${e}[readonly] ${t}, ${e}[data-read-only] ${t}`,expanded:(e,t)=>`${e}:read-only ${t}, ${e}[aria-expanded=true] ${t}, ${e}[data-expanded] ${t}`,placeholderShown:(e,t)=>`${e}:placeholder-shown ${t}`},os=e=>fD(t=>e(t,"&"),"[role=group]","[data-group]",".group"),mo=e=>fD(t=>e(t,"~ &"),"[data-peer]",".peer"),fD=(e,...t)=>t.map(e).join(", "),t1={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible, &[data-focus-visible]",_disabled:"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_firstLetter:"&::first-letter",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:os(wn.hover),_peerHover:mo(wn.hover),_groupFocus:os(wn.focus),_peerFocus:mo(wn.focus),_groupFocusVisible:os(wn.focusVisible),_peerFocusVisible:mo(wn.focusVisible),_groupActive:os(wn.active),_peerActive:mo(wn.active),_groupDisabled:os(wn.disabled),_peerDisabled:mo(wn.disabled),_groupInvalid:os(wn.invalid),_peerInvalid:mo(wn.invalid),_groupChecked:os(wn.checked),_peerChecked:mo(wn.checked),_groupFocusWithin:os(wn.focusWithin),_peerFocusWithin:mo(wn.focusWithin),_peerPlaceholderShown:mo(wn.placeholderShown),_placeholder:"&::placeholder",_placeholderShown:"&:placeholder-shown",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &, &[dir=rtl]",_ltr:"[dir=ltr] &, &[dir=ltr]",_mediaDark:"@media (prefers-color-scheme: dark)",_mediaReduceMotion:"@media (prefers-reduced-motion: reduce)",_dark:".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",_light:".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]",_horizontal:"&[data-orientation=horizontal]",_vertical:"&[data-orientation=vertical]"},hD=Object.keys(t1);function X6(e,t){return M2(String(e).replace(/\./g,"-"),void 0,t)}function $me(e,t){let n={};const r={};for(const[i,o]of Object.entries(e)){const{isSemantic:s,value:a}=o,{variable:l,reference:u}=X6(i,t==null?void 0:t.cssVarPrefix);if(!s){if(i.startsWith("space")){const f=i.split("."),[h,...p]=f,m=`${h}.-${p.join(".")}`,S=Aa.negate(a),y=Aa.negate(u);r[m]={value:S,var:l,varRef:y}}n[l]=a,r[i]={value:a,var:l,varRef:u};continue}const c=f=>{const p=[String(i).split(".")[0],f].join(".");if(!e[p])return f;const{reference:S}=X6(p,t==null?void 0:t.cssVarPrefix);return S},d=Mo(a)?a:{default:a};n=Wi(n,Object.entries(d).reduce((f,[h,p])=>{var m,S;if(!p)return f;const y=c(`${p}`);if(h==="default")return f[l]=y,f;const v=(S=(m=t1)==null?void 0:m[h])!=null?S:h;return f[v]={[l]:y},f},{})),r[i]={value:u,var:l,varRef:u}}return{cssVars:n,cssMap:r}}function Fme(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function Bme(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function jme(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}function Y6(e,t,n={}){const{stop:r,getKey:i}=n;function o(s,a=[]){var l;if(jme(s)||Array.isArray(s)){const u={};for(const[c,d]of Object.entries(s)){const f=(l=i==null?void 0:i(c))!=null?l:c,h=[...a,f];if(r!=null&&r(s,h))return t(s,a);u[f]=o(d,h)}return u}return t(s,a)}return o(e)}var Vme=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","gradients","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur","breakpoints"];function zme(e){return Bme(e,Vme)}function Ume(e){return e.semanticTokens}function Gme(e){const{__cssMap:t,__cssVars:n,__breakpoints:r,...i}=e;return i}var Hme=e=>hD.includes(e)||e==="default";function qme({tokens:e,semanticTokens:t}){const n={};return Y6(e,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!1,value:r})}),Y6(t,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!0,value:r})},{stop:r=>Object.keys(r).every(Hme)}),n}function M4e(e){var t;const n=Gme(e),r=zme(n),i=Ume(n),o=qme({tokens:r,semanticTokens:i}),s=(t=n.config)==null?void 0:t.cssVarPrefix,{cssMap:a,cssVars:l}=$me(o,{cssVarPrefix:s});return Object.assign(n,{__cssVars:{...{"--chakra-ring-inset":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-ring-offset-width":"0px","--chakra-ring-offset-color":"#fff","--chakra-ring-color":"rgba(66, 153, 225, 0.6)","--chakra-ring-offset-shadow":"0 0 #0000","--chakra-ring-shadow":"0 0 #0000","--chakra-space-x-reverse":"0","--chakra-space-y-reverse":"0"},...l},__cssMap:a,__breakpoints:Lme(n.breakpoints)}),n}var UC=Wi({},Tg,Ue,cme,ry,zr,dme,Sme,fme,uD,bme,Rd,R2,dt,Tme,Cme,_me,wme,hme,xme),Wme=Object.assign({},dt,zr,ry,uD,Rd),I4e=Object.keys(Wme),Kme=[...Object.keys(UC),...hD],Xme={...UC,...t1},Yme=e=>e in Xme,Qme=e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:i}=t.__breakpoints,o={};for(const s in e){let a=Da(e[s],t);if(a==null)continue;if(a=Mo(a)&&n(a)?r(a):a,!Array.isArray(a)){o[s]=a;continue}const l=a.slice(0,i.length).length;for(let u=0;ue.startsWith("--")&&typeof t=="string"&&!Jme(t),tye=(e,t)=>{var n,r;if(t==null)return t;const i=l=>{var u,c;return(c=(u=e.__cssMap)==null?void 0:u[l])==null?void 0:c.varRef},o=l=>{var u;return(u=i(l))!=null?u:l},[s,a]=Zme(t);return t=(r=(n=i(s))!=null?n:o(a))!=null?r:o(t),t};function nye(e){const{configs:t={},pseudos:n={},theme:r}=e,i=(o,s=!1)=>{var a,l,u;const c=Da(o,r),d=Qme(c)(r);let f={};for(let h in d){const p=d[h];let m=Da(p,r);h in n&&(h=n[h]),eye(h,m)&&(m=tye(r,m));let S=t[h];if(S===!0&&(S={property:h}),Mo(m)){f[h]=(a=f[h])!=null?a:{},f[h]=Wi({},f[h],i(m,!0));continue}let y=(u=(l=S==null?void 0:S.transform)==null?void 0:l.call(S,m,r,c))!=null?u:m;y=S!=null&&S.processResult?i(y,!0):y;const v=Da(S==null?void 0:S.property,r);if(!s&&(S!=null&&S.static)){const g=Da(S.static,r);f=Wi({},f,g)}if(v&&Array.isArray(v)){for(const g of v)f[g]=y;continue}if(v){v==="&"&&Mo(y)?f=Wi({},f,y):f[v]=y;continue}if(Mo(y)){f=Wi({},f,y);continue}f[h]=y}return f};return i}var rye=e=>t=>nye({theme:t,pseudos:t1,configs:UC})(e);function N4e(e){return e}function D4e(e){return e}function L4e(e){return{definePartsStyle(t){return t},defineMultiStyleConfig(t){return{parts:e,...t}}}}function iye(e,t){if(Array.isArray(e))return e;if(Mo(e))return t(e);if(e!=null)return[e]}function oye(e,t){for(let n=t+1;n{Wi(u,{[g]:f?v[g]:{[y]:v[g]}})});continue}if(!h){f?Wi(u,v):u[y]=v;continue}u[y]=v}}return u}}function aye(e){return t=>{var n;const{variant:r,size:i,theme:o}=t,s=sye(o);return Wi({},Da((n=e.baseStyle)!=null?n:{},t),s(e,"sizes",i,t),s(e,"variants",r,t))}}function $4e(e,t,n){var r,i,o;return(o=(i=(r=e.__cssMap)==null?void 0:r[`${t}.${n}`])==null?void 0:i.varRef)!=null?o:n}function pD(e){return Fme(e,["styleConfig","size","variant","colorScheme"])}function lye(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function F4e(e){var t;return lye(e)&&(t=e.ownerDocument)!=null?t:document}function uye(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var cye=uye();function dye(e,t){const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}function fye(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},pye=hye(fye);function gD(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r];t(i,r,e)&&(n[r]=i)}),n}var mD=e=>gD(e,t=>t!=null);function gye(e){return typeof e=="function"}function mye(e,...t){return gye(e)?e(...t):e}function yye(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}var vye=typeof Element<"u",bye=typeof Map=="function",Sye=typeof Set=="function",_ye=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Eg(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,r,i;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Eg(e[r],t[r]))return!1;return!0}var o;if(bye&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;for(o=e.entries();!(r=o.next()).done;)if(!Eg(r.value[1],t.get(r.value[0])))return!1;return!0}if(Sye&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(_ye&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;if(vye&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!Eg(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var wye=function(t,n){try{return Eg(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const xye=ll(wye);function yD(e,t={}){var n;const{styleConfig:r,...i}=t,{theme:o,colorMode:s}=Vge(),a=e?pye(o,`components.${e}`):void 0,l=r||a,u=Wi({theme:o,colorMode:s},(n=l==null?void 0:l.defaultProps)!=null?n:{},mD(dye(i,["children"]))),c=k.useRef({});if(l){const f=aye(l)(u);xye(c.current,f)||(c.current=f)}return c.current}function vD(e,t={}){return yD(e,t)}function B4e(e,t={}){return yD(e,t)}var Cye=new Set([...Kme,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),Tye=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function Eye(e){return Tye.has(e)||!Cye.has(e)}function Pye(e,...t){if(e==null)throw new TypeError("Cannot convert undefined or null to object");const n={...e};for(const r of t)if(r!=null)for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&(i in n&&delete n[i],n[i]=r[i]);return n}var Aye=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,kye=QN(function(e){return Aye.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),Rye=kye,Oye=function(t){return t!=="theme"},Q6=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?Rye:Oye},Z6=function(t,n,r){var i;if(n){var o=n.shouldForwardProp;i=t.__emotion_forwardProp&&o?function(s){return t.__emotion_forwardProp(s)&&o(s)}:o}return typeof i!="function"&&r&&(i=t.__emotion_forwardProp),i},Mye=function(t){var n=t.cache,r=t.serialized,i=t.isStringTag;return JN(n,r,i),Dge(function(){return eD(n,r,i)}),null},Iye=function e(t,n){var r=t.__emotion_real===t,i=r&&t.__emotion_base||t,o,s;n!==void 0&&(o=n.label,s=n.target);var a=Z6(t,n,r),l=a||Q6(i),u=!l("as");return function(){var c=arguments,d=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&d.push("label:"+o+";"),c[0]==null||c[0].raw===void 0)d.push.apply(d,c);else{d.push(c[0][0]);for(var f=c.length,h=1;ht=>{const{theme:n,css:r,__css:i,sx:o,...s}=t,a=gD(s,(d,f)=>Yme(f)),l=mye(e,t),u=Pye({},i,l,mD(a),o),c=rye(u)(t.theme);return r?[c,r]:c};function rS(e,t){const{baseStyle:n,...r}=t??{};r.shouldForwardProp||(r.shouldForwardProp=Eye);const i=Lye({baseStyle:n}),o=Dye(e,r)(i);return Xe.forwardRef(function(l,u){const{colorMode:c,forced:d}=jC();return Xe.createElement(o,{ref:u,"data-theme":d?c:void 0,...l})})}function $ye(){const e=new Map;return new Proxy(rS,{apply(t,n,r){return rS(...r)},get(t,n){return e.has(n)||e.set(n,rS(n)),e.get(n)}})}var al=$ye();function Tl(e){return k.forwardRef(e)}const bD=k.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),n1=k.createContext({}),Lh=k.createContext(null),r1=typeof document<"u",oy=r1?k.useLayoutEffect:k.useEffect,SD=k.createContext({strict:!1});function Fye(e,t,n,r){const{visualElement:i}=k.useContext(n1),o=k.useContext(SD),s=k.useContext(Lh),a=k.useContext(bD).reducedMotion,l=k.useRef();r=r||o.renderer,!l.current&&r&&(l.current=r(e,{visualState:t,parent:i,props:n,presenceContext:s,blockInitialAnimation:s?s.initial===!1:!1,reducedMotionConfig:a}));const u=l.current;return k.useInsertionEffect(()=>{u&&u.update(n,s)}),oy(()=>{u&&u.render()}),k.useEffect(()=>{u&&u.updateFeatures()}),(window.HandoffAppearAnimations?oy:k.useEffect)(()=>{u&&u.animationState&&u.animationState.animateChanges()}),u}function pu(e){return typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function Bye(e,t,n){return k.useCallback(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):pu(n)&&(n.current=r))},[t])}function Gf(e){return typeof e=="string"||Array.isArray(e)}function i1(e){return typeof e=="object"&&typeof e.start=="function"}const GC=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],HC=["initial",...GC];function o1(e){return i1(e.animate)||HC.some(t=>Gf(e[t]))}function _D(e){return!!(o1(e)||e.variants)}function jye(e,t){if(o1(e)){const{initial:n,animate:r}=e;return{initial:n===!1||Gf(n)?n:void 0,animate:Gf(r)?r:void 0}}return e.inherit!==!1?t:{}}function Vye(e){const{initial:t,animate:n}=jye(e,k.useContext(n1));return k.useMemo(()=>({initial:t,animate:n}),[eP(t),eP(n)])}function eP(e){return Array.isArray(e)?e.join(" "):e}const tP={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},Hf={};for(const e in tP)Hf[e]={isEnabled:t=>tP[e].some(n=>!!t[n])};function zye(e){for(const t in e)Hf[t]={...Hf[t],...e[t]}}const qC=k.createContext({}),wD=k.createContext({}),Uye=Symbol.for("motionComponentSymbol");function Gye({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:i}){e&&zye(e);function o(a,l){let u;const c={...k.useContext(bD),...a,layoutId:Hye(a)},{isStatic:d}=c,f=Vye(a),h=r(a,d);if(!d&&r1){f.visualElement=Fye(i,h,c,t);const p=k.useContext(wD),m=k.useContext(SD).strict;f.visualElement&&(u=f.visualElement.loadFeatures(c,m,e,p))}return k.createElement(n1.Provider,{value:f},u&&f.visualElement?k.createElement(u,{visualElement:f.visualElement,...c}):null,n(i,a,Bye(h,f.visualElement,l),h,d,f.visualElement))}const s=k.forwardRef(o);return s[Uye]=i,s}function Hye({layoutId:e}){const t=k.useContext(qC).id;return t&&e!==void 0?t+"-"+e:e}function qye(e){function t(r,i={}){return Gye(e(r,i))}if(typeof Proxy>"u")return t;const n=new Map;return new Proxy(t,{get:(r,i)=>(n.has(i)||n.set(i,t(i)),n.get(i))})}const Wye=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function WC(e){return typeof e!="string"||e.includes("-")?!1:!!(Wye.indexOf(e)>-1||/[A-Z]/.test(e))}const sy={};function Kye(e){Object.assign(sy,e)}const $h=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],El=new Set($h);function xD(e,{layout:t,layoutId:n}){return El.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!sy[e]||e==="opacity")}const _r=e=>!!(e&&e.getVelocity),Xye={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},Yye=$h.length;function Qye(e,{enableHardwareAcceleration:t=!0,allowTransformNone:n=!0},r,i){let o="";for(let s=0;st=>typeof t=="string"&&t.startsWith(e),TD=CD("--"),N2=CD("var(--"),Zye=/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,Jye=(e,t)=>t&&typeof e=="number"?t.transform(e):e,Ks=(e,t,n)=>Math.min(Math.max(n,e),t),Pl={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Od={...Pl,transform:e=>Ks(0,1,e)},Up={...Pl,default:1},Md=e=>Math.round(e*1e5)/1e5,s1=/(-)?([\d]*\.?[\d])+/g,ED=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,e0e=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function Fh(e){return typeof e=="string"}const Bh=e=>({test:t=>Fh(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),as=Bh("deg"),Ji=Bh("%"),me=Bh("px"),t0e=Bh("vh"),n0e=Bh("vw"),nP={...Ji,parse:e=>Ji.parse(e)/100,transform:e=>Ji.transform(e*100)},rP={...Pl,transform:Math.round},PD={borderWidth:me,borderTopWidth:me,borderRightWidth:me,borderBottomWidth:me,borderLeftWidth:me,borderRadius:me,radius:me,borderTopLeftRadius:me,borderTopRightRadius:me,borderBottomRightRadius:me,borderBottomLeftRadius:me,width:me,maxWidth:me,height:me,maxHeight:me,size:me,top:me,right:me,bottom:me,left:me,padding:me,paddingTop:me,paddingRight:me,paddingBottom:me,paddingLeft:me,margin:me,marginTop:me,marginRight:me,marginBottom:me,marginLeft:me,rotate:as,rotateX:as,rotateY:as,rotateZ:as,scale:Up,scaleX:Up,scaleY:Up,scaleZ:Up,skew:as,skewX:as,skewY:as,distance:me,translateX:me,translateY:me,translateZ:me,x:me,y:me,z:me,perspective:me,transformPerspective:me,opacity:Od,originX:nP,originY:nP,originZ:me,zIndex:rP,fillOpacity:Od,strokeOpacity:Od,numOctaves:rP};function KC(e,t,n,r){const{style:i,vars:o,transform:s,transformOrigin:a}=e;let l=!1,u=!1,c=!0;for(const d in t){const f=t[d];if(TD(d)){o[d]=f;continue}const h=PD[d],p=Jye(f,h);if(El.has(d)){if(l=!0,s[d]=p,!c)continue;f!==(h.default||0)&&(c=!1)}else d.startsWith("origin")?(u=!0,a[d]=p):i[d]=p}if(t.transform||(l||r?i.transform=Qye(e.transform,n,c,r):i.transform&&(i.transform="none")),u){const{originX:d="50%",originY:f="50%",originZ:h=0}=a;i.transformOrigin=`${d} ${f} ${h}`}}const XC=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function AD(e,t,n){for(const r in t)!_r(t[r])&&!xD(r,n)&&(e[r]=t[r])}function r0e({transformTemplate:e},t,n){return k.useMemo(()=>{const r=XC();return KC(r,t,{enableHardwareAcceleration:!n},e),Object.assign({},r.vars,r.style)},[t])}function i0e(e,t,n){const r=e.style||{},i={};return AD(i,r,e),Object.assign(i,r0e(e,t,n)),e.transformValues?e.transformValues(i):i}function o0e(e,t,n){const r={},i=i0e(e,t,n);return e.drag&&e.dragListener!==!1&&(r.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(r.tabIndex=0),r.style=i,r}const s0e=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","ignoreStrict","viewport"]);function ay(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||s0e.has(e)}let kD=e=>!ay(e);function a0e(e){e&&(kD=t=>t.startsWith("on")?!ay(t):e(t))}try{a0e(require("@emotion/is-prop-valid").default)}catch{}function l0e(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(kD(i)||n===!0&&ay(i)||!t&&!ay(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function iP(e,t,n){return typeof e=="string"?e:me.transform(t+n*e)}function u0e(e,t,n){const r=iP(t,e.x,e.width),i=iP(n,e.y,e.height);return`${r} ${i}`}const c0e={offset:"stroke-dashoffset",array:"stroke-dasharray"},d0e={offset:"strokeDashoffset",array:"strokeDasharray"};function f0e(e,t,n=1,r=0,i=!0){e.pathLength=1;const o=i?c0e:d0e;e[o.offset]=me.transform(-r);const s=me.transform(t),a=me.transform(n);e[o.array]=`${s} ${a}`}function YC(e,{attrX:t,attrY:n,attrScale:r,originX:i,originY:o,pathLength:s,pathSpacing:a=1,pathOffset:l=0,...u},c,d,f){if(KC(e,u,c,f),d){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:h,style:p,dimensions:m}=e;h.transform&&(m&&(p.transform=h.transform),delete h.transform),m&&(i!==void 0||o!==void 0||p.transform)&&(p.transformOrigin=u0e(m,i!==void 0?i:.5,o!==void 0?o:.5)),t!==void 0&&(h.x=t),n!==void 0&&(h.y=n),r!==void 0&&(h.scale=r),s!==void 0&&f0e(h,s,a,l,!1)}const RD=()=>({...XC(),attrs:{}}),QC=e=>typeof e=="string"&&e.toLowerCase()==="svg";function h0e(e,t,n,r){const i=k.useMemo(()=>{const o=RD();return YC(o,t,{enableHardwareAcceleration:!1},QC(r),e.transformTemplate),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};AD(o,e.style,e),i.style={...o,...i.style}}return i}function p0e(e=!1){return(n,r,i,{latestValues:o},s)=>{const l=(WC(n)?h0e:o0e)(r,o,s,n),c={...l0e(r,typeof n=="string",e),...l,ref:i},{children:d}=r,f=k.useMemo(()=>_r(d)?d.get():d,[d]);return k.createElement(n,{...c,children:f})}}const ZC=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function OD(e,{style:t,vars:n},r,i){Object.assign(e.style,t,i&&i.getProjectionStyles(r));for(const o in n)e.style.setProperty(o,n[o])}const MD=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function ID(e,t,n,r){OD(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(MD.has(i)?i:ZC(i),t.attrs[i])}function JC(e,t){const{style:n}=e,r={};for(const i in n)(_r(n[i])||t.style&&_r(t.style[i])||xD(i,e))&&(r[i]=n[i]);return r}function ND(e,t){const n=JC(e,t);for(const r in e)if(_r(e[r])||_r(t[r])){const i=$h.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;n[i]=e[r]}return n}function e3(e,t,n,r={},i={}){return typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),t}function DD(e){const t=k.useRef(null);return t.current===null&&(t.current=e()),t.current}const ly=e=>Array.isArray(e),g0e=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),m0e=e=>ly(e)?e[e.length-1]||0:e;function Pg(e){const t=_r(e)?e.get():e;return g0e(t)?t.toValue():t}function y0e({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,o){const s={latestValues:v0e(r,i,o,e),renderState:t()};return n&&(s.mount=a=>n(r,a,s)),s}const LD=e=>(t,n)=>{const r=k.useContext(n1),i=k.useContext(Lh),o=()=>y0e(e,t,r,i);return n?o():DD(o)};function v0e(e,t,n,r){const i={},o=r(e,{});for(const f in o)i[f]=Pg(o[f]);let{initial:s,animate:a}=e;const l=o1(e),u=_D(e);t&&u&&!l&&e.inherit!==!1&&(s===void 0&&(s=t.initial),a===void 0&&(a=t.animate));let c=n?n.initial===!1:!1;c=c||s===!1;const d=c?a:s;return d&&typeof d!="boolean"&&!i1(d)&&(Array.isArray(d)?d:[d]).forEach(h=>{const p=e3(e,h);if(!p)return;const{transitionEnd:m,transition:S,...y}=p;for(const v in y){let g=y[v];if(Array.isArray(g)){const b=c?g.length-1:0;g=g[b]}g!==null&&(i[v]=g)}for(const v in m)i[v]=m[v]}),i}const b0e={useVisualState:LD({scrapeMotionValuesFromProps:ND,createRenderState:RD,onMount:(e,t,{renderState:n,latestValues:r})=>{try{n.dimensions=typeof t.getBBox=="function"?t.getBBox():t.getBoundingClientRect()}catch{n.dimensions={x:0,y:0,width:0,height:0}}YC(n,r,{enableHardwareAcceleration:!1},QC(t.tagName),e.transformTemplate),ID(t,n)}})},S0e={useVisualState:LD({scrapeMotionValuesFromProps:JC,createRenderState:XC})};function _0e(e,{forwardMotionProps:t=!1},n,r){return{...WC(e)?b0e:S0e,preloadedFeatures:n,useRender:p0e(t),createVisualElement:r,Component:e}}function Ao(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const $D=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function a1(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const w0e=e=>t=>$D(t)&&e(t,a1(t));function Io(e,t,n,r){return Ao(e,t,w0e(n),r)}const x0e=(e,t)=>n=>t(e(n)),Ns=(...e)=>e.reduce(x0e);function FD(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const oP=FD("dragHorizontal"),sP=FD("dragVertical");function BD(e){let t=!1;if(e==="y")t=sP();else if(e==="x")t=oP();else{const n=oP(),r=sP();n&&r?t=()=>{n(),r()}:(n&&n(),r&&r())}return t}function jD(){const e=BD(!0);return e?(e(),!1):!0}class ca{constructor(t){this.isMounted=!1,this.node=t}update(){}}const Yt=e=>e;function C0e(e){let t=[],n=[],r=0,i=!1,o=!1;const s=new WeakSet,a={schedule:(l,u=!1,c=!1)=>{const d=c&&i,f=d?t:n;return u&&s.add(l),f.indexOf(l)===-1&&(f.push(l),d&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),s.delete(l)},process:l=>{if(i){o=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let u=0;u(d[f]=C0e(()=>n=!0),d),{}),s=d=>o[d].process(i),a=d=>{n=!1,i.delta=r?1e3/60:Math.max(Math.min(d-i.timestamp,T0e),1),i.timestamp=d,i.isProcessing=!0,Gp.forEach(s),i.isProcessing=!1,n&&t&&(r=!1,e(a))},l=()=>{n=!0,r=!0,i.isProcessing||e(a)};return{schedule:Gp.reduce((d,f)=>{const h=o[f];return d[f]=(p,m=!1,S=!1)=>(n||l(),h.schedule(p,m,S)),d},{}),cancel:d=>Gp.forEach(f=>o[f].cancel(d)),state:i,steps:o}}const{schedule:St,cancel:Uo,state:$n,steps:iS}=E0e(typeof requestAnimationFrame<"u"?requestAnimationFrame:Yt,!0);function aP(e,t){const n="pointer"+(t?"enter":"leave"),r="onHover"+(t?"Start":"End"),i=(o,s)=>{if(o.type==="touch"||jD())return;const a=e.getProps();e.animationState&&a.whileHover&&e.animationState.setActive("whileHover",t),a[r]&&St.update(()=>a[r](o,s))};return Io(e.current,n,i,{passive:!e.getProps()[r]})}class P0e extends ca{mount(){this.unmount=Ns(aP(this.node,!0),aP(this.node,!1))}unmount(){}}class A0e extends ca{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Ns(Ao(this.node.current,"focus",()=>this.onFocus()),Ao(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const VD=(e,t)=>t?e===t?!0:VD(e,t.parentElement):!1;function oS(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,a1(n))}class k0e extends ca{constructor(){super(...arguments),this.removeStartListeners=Yt,this.removeEndListeners=Yt,this.removeAccessibleListeners=Yt,this.startPointerPress=(t,n)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),o=Io(window,"pointerup",(a,l)=>{if(!this.checkPressEnd())return;const{onTap:u,onTapCancel:c}=this.node.getProps();St.update(()=>{VD(this.node.current,a.target)?u&&u(a,l):c&&c(a,l)})},{passive:!(r.onTap||r.onPointerUp)}),s=Io(window,"pointercancel",(a,l)=>this.cancelPress(a,l),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=Ns(o,s),this.startPress(t,n)},this.startAccessiblePress=()=>{const t=o=>{if(o.key!=="Enter"||this.isPressing)return;const s=a=>{a.key!=="Enter"||!this.checkPressEnd()||oS("up",(l,u)=>{const{onTap:c}=this.node.getProps();c&&St.update(()=>c(l,u))})};this.removeEndListeners(),this.removeEndListeners=Ao(this.node.current,"keyup",s),oS("down",(a,l)=>{this.startPress(a,l)})},n=Ao(this.node.current,"keydown",t),r=()=>{this.isPressing&&oS("cancel",(o,s)=>this.cancelPress(o,s))},i=Ao(this.node.current,"blur",r);this.removeAccessibleListeners=Ns(n,i)}}startPress(t,n){this.isPressing=!0;const{onTapStart:r,whileTap:i}=this.node.getProps();i&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),r&&St.update(()=>r(t,n))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!jD()}cancelPress(t,n){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&St.update(()=>r(t,n))}mount(){const t=this.node.getProps(),n=Io(this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),r=Ao(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=Ns(n,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const D2=new WeakMap,sS=new WeakMap,R0e=e=>{const t=D2.get(e.target);t&&t(e)},O0e=e=>{e.forEach(R0e)};function M0e({root:e,...t}){const n=e||document;sS.has(n)||sS.set(n,{});const r=sS.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(O0e,{root:e,...t})),r[i]}function I0e(e,t,n){const r=M0e(t);return D2.set(e,n),r.observe(e),()=>{D2.delete(e),r.unobserve(e)}}const N0e={some:0,all:1};class D0e extends ca{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:o}=t,s={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:N0e[i]},a=l=>{const{isIntersecting:u}=l;if(this.isInView===u||(this.isInView=u,o&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:c,onViewportLeave:d}=this.node.getProps(),f=u?c:d;f&&f(l)};return I0e(this.node.current,s,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(L0e(t,n))&&this.startObserver()}unmount(){}}function L0e({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const $0e={inView:{Feature:D0e},tap:{Feature:k0e},focus:{Feature:A0e},hover:{Feature:P0e}};function zD(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;rt[r]=n.get()),t}function B0e(e){const t={};return e.values.forEach((n,r)=>t[r]=n.getVelocity()),t}function l1(e,t,n){const r=e.getProps();return e3(r,t,n!==void 0?n:r.custom,F0e(e),B0e(e))}const j0e="framerAppearId",V0e="data-"+ZC(j0e);let z0e=Yt,t3=Yt;const Ds=e=>e*1e3,No=e=>e/1e3,U0e={current:!1},UD=e=>Array.isArray(e)&&typeof e[0]=="number";function GD(e){return!!(!e||typeof e=="string"&&HD[e]||UD(e)||Array.isArray(e)&&e.every(GD))}const gd=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,HD={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:gd([0,.65,.55,1]),circOut:gd([.55,0,1,.45]),backIn:gd([.31,.01,.66,-.59]),backOut:gd([.33,1.53,.69,.99])};function qD(e){if(e)return UD(e)?gd(e):Array.isArray(e)?e.map(qD):HD[e]}function G0e(e,t,n,{delay:r=0,duration:i,repeat:o=0,repeatType:s="loop",ease:a,times:l}={}){const u={[t]:n};l&&(u.offset=l);const c=qD(a);return Array.isArray(c)&&(u.easing=c),e.animate(u,{delay:r,duration:i,easing:Array.isArray(c)?"linear":c,fill:"both",iterations:o+1,direction:s==="reverse"?"alternate":"normal"})}const lP={waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate")},aS={},WD={};for(const e in lP)WD[e]=()=>(aS[e]===void 0&&(aS[e]=lP[e]()),aS[e]);function H0e(e,{repeat:t,repeatType:n="loop"}){const r=t&&n!=="loop"&&t%2===1?0:e.length-1;return e[r]}const KD=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,q0e=1e-7,W0e=12;function K0e(e,t,n,r,i){let o,s,a=0;do s=t+(n-t)/2,o=KD(s,r,i)-e,o>0?n=s:t=s;while(Math.abs(o)>q0e&&++aK0e(o,0,1,e,n);return o=>o===0||o===1?o:KD(i(o),t,r)}const X0e=jh(.42,0,1,1),Y0e=jh(0,0,.58,1),XD=jh(.42,0,.58,1),Q0e=e=>Array.isArray(e)&&typeof e[0]!="number",YD=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,QD=e=>t=>1-e(1-t),ZD=e=>1-Math.sin(Math.acos(e)),n3=QD(ZD),Z0e=YD(n3),JD=jh(.33,1.53,.69,.99),r3=QD(JD),J0e=YD(r3),eve=e=>(e*=2)<1?.5*r3(e):.5*(2-Math.pow(2,-10*(e-1))),tve={linear:Yt,easeIn:X0e,easeInOut:XD,easeOut:Y0e,circIn:ZD,circInOut:Z0e,circOut:n3,backIn:r3,backInOut:J0e,backOut:JD,anticipate:eve},uP=e=>{if(Array.isArray(e)){t3(e.length===4);const[t,n,r,i]=e;return jh(t,n,r,i)}else if(typeof e=="string")return tve[e];return e},i3=(e,t)=>n=>!!(Fh(n)&&e0e.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),eL=(e,t,n)=>r=>{if(!Fh(r))return r;const[i,o,s,a]=r.match(s1);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(s),alpha:a!==void 0?parseFloat(a):1}},nve=e=>Ks(0,255,e),lS={...Pl,transform:e=>Math.round(nve(e))},La={test:i3("rgb","red"),parse:eL("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+lS.transform(e)+", "+lS.transform(t)+", "+lS.transform(n)+", "+Md(Od.transform(r))+")"};function rve(e){let t="",n="",r="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const L2={test:i3("#"),parse:rve,transform:La.transform},gu={test:i3("hsl","hue"),parse:eL("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+Ji.transform(Md(t))+", "+Ji.transform(Md(n))+", "+Md(Od.transform(r))+")"},Xn={test:e=>La.test(e)||L2.test(e)||gu.test(e),parse:e=>La.test(e)?La.parse(e):gu.test(e)?gu.parse(e):L2.parse(e),transform:e=>Fh(e)?e:e.hasOwnProperty("red")?La.transform(e):gu.transform(e)},At=(e,t,n)=>-n*e+n*t+e;function uS(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function ive({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,o=0,s=0;if(!t)i=o=s=n;else{const a=n<.5?n*(1+t):n+t-n*t,l=2*n-a;i=uS(l,a,e+1/3),o=uS(l,a,e),s=uS(l,a,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(s*255),alpha:r}}const cS=(e,t,n)=>{const r=e*e;return Math.sqrt(Math.max(0,n*(t*t-r)+r))},ove=[L2,La,gu],sve=e=>ove.find(t=>t.test(e));function cP(e){const t=sve(e);let n=t.parse(e);return t===gu&&(n=ive(n)),n}const tL=(e,t)=>{const n=cP(e),r=cP(t),i={...n};return o=>(i.red=cS(n.red,r.red,o),i.green=cS(n.green,r.green,o),i.blue=cS(n.blue,r.blue,o),i.alpha=At(n.alpha,r.alpha,o),La.transform(i))};function ave(e){var t,n;return isNaN(e)&&Fh(e)&&(((t=e.match(s1))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(ED))===null||n===void 0?void 0:n.length)||0)>0}const nL={regex:Zye,countKey:"Vars",token:"${v}",parse:Yt},rL={regex:ED,countKey:"Colors",token:"${c}",parse:Xn.parse},iL={regex:s1,countKey:"Numbers",token:"${n}",parse:Pl.parse};function dS(e,{regex:t,countKey:n,token:r,parse:i}){const o=e.tokenised.match(t);o&&(e["num"+n]=o.length,e.tokenised=e.tokenised.replace(t,r),e.values.push(...o.map(i)))}function uy(e){const t=e.toString(),n={value:t,tokenised:t,values:[],numVars:0,numColors:0,numNumbers:0};return n.value.includes("var(--")&&dS(n,nL),dS(n,rL),dS(n,iL),n}function oL(e){return uy(e).values}function sL(e){const{values:t,numColors:n,numVars:r,tokenised:i}=uy(e),o=t.length;return s=>{let a=i;for(let l=0;ltypeof e=="number"?0:e;function uve(e){const t=oL(e);return sL(e)(t.map(lve))}const Xs={test:ave,parse:oL,createTransformer:sL,getAnimatableNone:uve},aL=(e,t)=>n=>`${n>0?t:e}`;function lL(e,t){return typeof e=="number"?n=>At(e,t,n):Xn.test(e)?tL(e,t):e.startsWith("var(")?aL(e,t):cL(e,t)}const uL=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,s)=>lL(o,t[s]));return o=>{for(let s=0;s{const n={...e,...t},r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=lL(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}},cL=(e,t)=>{const n=Xs.createTransformer(t),r=uy(e),i=uy(t);return r.numVars===i.numVars&&r.numColors===i.numColors&&r.numNumbers>=i.numNumbers?Ns(uL(r.values,i.values),n):aL(e,t)},qf=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},dP=(e,t)=>n=>At(e,t,n);function dve(e){return typeof e=="number"?dP:typeof e=="string"?Xn.test(e)?tL:cL:Array.isArray(e)?uL:typeof e=="object"?cve:dP}function fve(e,t,n){const r=[],i=n||dve(e[0]),o=e.length-1;for(let s=0;st[0];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const s=fve(t,r,i),a=s.length,l=u=>{let c=0;if(a>1)for(;cl(Ks(e[0],e[o-1],u)):l}function hve(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const i=qf(0,t,r);e.push(At(n,1,i))}}function pve(e){const t=[0];return hve(t,e.length-1),t}function gve(e,t){return e.map(n=>n*t)}function mve(e,t){return e.map(()=>t||XD).splice(0,e.length-1)}function cy({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const i=Q0e(r)?r.map(uP):uP(r),o={done:!1,value:t[0]},s=gve(n&&n.length===t.length?n:pve(t),e),a=dL(s,t,{ease:Array.isArray(i)?i:mve(t,i)});return{calculatedDuration:e,next:l=>(o.value=a(l),o.done=l>=e,o)}}function fL(e,t){return t?e*(1e3/t):0}const yve=5;function hL(e,t,n){const r=Math.max(t-yve,0);return fL(n-e(r),t-r)}const fS=.001,vve=.01,fP=10,bve=.05,Sve=1;function _ve({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,o;z0e(e<=Ds(fP));let s=1-t;s=Ks(bve,Sve,s),e=Ks(vve,fP,No(e)),s<1?(i=u=>{const c=u*s,d=c*e,f=c-n,h=$2(u,s),p=Math.exp(-d);return fS-f/h*p},o=u=>{const d=u*s*e,f=d*n+n,h=Math.pow(s,2)*Math.pow(u,2)*e,p=Math.exp(-d),m=$2(Math.pow(u,2),s);return(-i(u)+fS>0?-1:1)*((f-h)*p)/m}):(i=u=>{const c=Math.exp(-u*e),d=(u-n)*e+1;return-fS+c*d},o=u=>{const c=Math.exp(-u*e),d=(n-u)*(e*e);return c*d});const a=5/e,l=xve(i,o,a);if(e=Ds(e),isNaN(l))return{stiffness:100,damping:10,duration:e};{const u=Math.pow(l,2)*r;return{stiffness:u,damping:s*2*Math.sqrt(r*u),duration:e}}}const wve=12;function xve(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function Eve(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!hP(e,Tve)&&hP(e,Cve)){const n=_ve(e);t={...t,...n,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}function pL({keyframes:e,restDelta:t,restSpeed:n,...r}){const i=e[0],o=e[e.length-1],s={done:!1,value:i},{stiffness:a,damping:l,mass:u,velocity:c,duration:d,isResolvedFromDuration:f}=Eve(r),h=c?-No(c):0,p=l/(2*Math.sqrt(a*u)),m=o-i,S=No(Math.sqrt(a/u)),y=Math.abs(m)<5;n||(n=y?.01:2),t||(t=y?.005:.5);let v;if(p<1){const g=$2(S,p);v=b=>{const _=Math.exp(-p*S*b);return o-_*((h+p*S*m)/g*Math.sin(g*b)+m*Math.cos(g*b))}}else if(p===1)v=g=>o-Math.exp(-S*g)*(m+(h+S*m)*g);else{const g=S*Math.sqrt(p*p-1);v=b=>{const _=Math.exp(-p*S*b),w=Math.min(g*b,300);return o-_*((h+p*S*m)*Math.sinh(w)+g*m*Math.cosh(w))/g}}return{calculatedDuration:f&&d||null,next:g=>{const b=v(g);if(f)s.done=g>=d;else{let _=h;g!==0&&(p<1?_=hL(v,g,b):_=0);const w=Math.abs(_)<=n,x=Math.abs(o-b)<=t;s.done=w&&x}return s.value=s.done?o:b,s}}}function pP({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:o=500,modifyTarget:s,min:a,max:l,restDelta:u=.5,restSpeed:c}){const d=e[0],f={done:!1,value:d},h=T=>a!==void 0&&Tl,p=T=>a===void 0?l:l===void 0||Math.abs(a-T)-m*Math.exp(-T/r),g=T=>y+v(T),b=T=>{const P=v(T),E=g(T);f.done=Math.abs(P)<=u,f.value=f.done?y:E};let _,w;const x=T=>{h(f.value)&&(_=T,w=pL({keyframes:[f.value,p(f.value)],velocity:hL(g,T,f.value),damping:i,stiffness:o,restDelta:u,restSpeed:c}))};return x(0),{calculatedDuration:null,next:T=>{let P=!1;return!w&&_===void 0&&(P=!0,b(T),x(T)),_!==void 0&&T>_?w.next(T-_):(!P&&b(T),f)}}}const Pve=e=>{const t=({timestamp:n})=>e(n);return{start:()=>St.update(t,!0),stop:()=>Uo(t),now:()=>$n.isProcessing?$n.timestamp:performance.now()}},gP=2e4;function mP(e){let t=0;const n=50;let r=e.next(t);for(;!r.done&&t=gP?1/0:t}const Ave={decay:pP,inertia:pP,tween:cy,keyframes:cy,spring:pL};function dy({autoplay:e=!0,delay:t=0,driver:n=Pve,keyframes:r,type:i="keyframes",repeat:o=0,repeatDelay:s=0,repeatType:a="loop",onPlay:l,onStop:u,onComplete:c,onUpdate:d,...f}){let h=1,p=!1,m,S;const y=()=>{S=new Promise(j=>{m=j})};y();let v;const g=Ave[i]||cy;let b;g!==cy&&typeof r[0]!="number"&&(b=dL([0,100],r,{clamp:!1}),r=[0,100]);const _=g({...f,keyframes:r});let w;a==="mirror"&&(w=g({...f,keyframes:[...r].reverse(),velocity:-(f.velocity||0)}));let x="idle",T=null,P=null,E=null;_.calculatedDuration===null&&o&&(_.calculatedDuration=mP(_));const{calculatedDuration:A}=_;let $=1/0,I=1/0;A!==null&&($=A+s,I=$*(o+1)-s);let C=0;const R=j=>{if(P===null)return;h>0&&(P=Math.min(P,j)),h<0&&(P=Math.min(j-I/h,P)),T!==null?C=T:C=Math.round(j-P)*h;const U=C-t*(h>=0?1:-1),G=h>=0?U<0:U>I;C=Math.max(U,0),x==="finished"&&T===null&&(C=I);let W=C,X=_;if(o){const Q=C/$;let J=Math.floor(Q),ne=Q%1;!ne&&Q>=1&&(ne=1),ne===1&&J--,J=Math.min(J,o+1);const te=!!(J%2);te&&(a==="reverse"?(ne=1-ne,s&&(ne-=s/$)):a==="mirror"&&(X=w));let xe=Ks(0,1,ne);C>I&&(xe=a==="reverse"&&te?1:0),W=xe*$}const Y=G?{done:!1,value:r[0]}:X.next(W);b&&(Y.value=b(Y.value));let{done:B}=Y;!G&&A!==null&&(B=h>=0?C>=I:C<=0);const H=T===null&&(x==="finished"||x==="running"&&B);return d&&d(Y.value),H&&O(),Y},M=()=>{v&&v.stop(),v=void 0},N=()=>{x="idle",M(),m(),y(),P=E=null},O=()=>{x="finished",c&&c(),M(),m()},D=()=>{if(p)return;v||(v=n(R));const j=v.now();l&&l(),T!==null?P=j-T:(!P||x==="finished")&&(P=j),x==="finished"&&y(),E=P,T=null,x="running",v.start()};e&&D();const L={then(j,U){return S.then(j,U)},get time(){return No(C)},set time(j){j=Ds(j),C=j,T!==null||!v||h===0?T=j:P=v.now()-j/h},get duration(){const j=_.calculatedDuration===null?mP(_):_.calculatedDuration;return No(j)},get speed(){return h},set speed(j){j===h||!v||(h=j,L.time=No(C))},get state(){return x},play:D,pause:()=>{x="paused",T=C},stop:()=>{p=!0,x!=="idle"&&(x="idle",u&&u(),N())},cancel:()=>{E!==null&&R(E),N()},complete:()=>{x="finished"},sample:j=>(P=0,R(j))};return L}const kve=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),Hp=10,Rve=2e4,Ove=(e,t)=>t.type==="spring"||e==="backgroundColor"||!GD(t.ease);function Mve(e,t,{onUpdate:n,onComplete:r,...i}){if(!(WD.waapi()&&kve.has(t)&&!i.repeatDelay&&i.repeatType!=="mirror"&&i.damping!==0&&i.type!=="inertia"))return!1;let s=!1,a,l;const u=()=>{l=new Promise(y=>{a=y})};u();let{keyframes:c,duration:d=300,ease:f,times:h}=i;if(Ove(t,i)){const y=dy({...i,repeat:0,delay:0});let v={done:!1,value:c[0]};const g=[];let b=0;for(;!v.done&&bp.cancel(),S=()=>{St.update(m),a(),u()};return p.onfinish=()=>{e.set(H0e(c,i)),r&&r(),S()},{then(y,v){return l.then(y,v)},get time(){return No(p.currentTime||0)},set time(y){p.currentTime=Ds(y)},get speed(){return p.playbackRate},set speed(y){p.playbackRate=y},get duration(){return No(d)},play:()=>{s||(p.play(),Uo(m))},pause:()=>p.pause(),stop:()=>{if(s=!0,p.playState==="idle")return;const{currentTime:y}=p;if(y){const v=dy({...i,autoplay:!1});e.setWithVelocity(v.sample(y-Hp).value,v.sample(y).value,Hp)}S()},complete:()=>p.finish(),cancel:S}}function Ive({keyframes:e,delay:t,onUpdate:n,onComplete:r}){const i=()=>(n&&n(e[e.length-1]),r&&r(),{time:0,speed:1,duration:0,play:Yt,pause:Yt,stop:Yt,then:o=>(o(),Promise.resolve()),cancel:Yt,complete:Yt});return t?dy({keyframes:[0,1],duration:0,delay:t,onComplete:i}):i()}const Nve={type:"spring",stiffness:500,damping:25,restSpeed:10},Dve=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),Lve={type:"keyframes",duration:.8},$ve={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Fve=(e,{keyframes:t})=>t.length>2?Lve:El.has(e)?e.startsWith("scale")?Dve(t[1]):Nve:$ve,F2=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(Xs.test(t)||t==="0")&&!t.startsWith("url(")),Bve=new Set(["brightness","contrast","saturate","opacity"]);function jve(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(s1)||[];if(!r)return e;const i=n.replace(r,"");let o=Bve.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+i+")"}const Vve=/([a-z-]*)\(.*?\)/g,B2={...Xs,getAnimatableNone:e=>{const t=e.match(Vve);return t?t.map(jve).join(" "):e}},zve={...PD,color:Xn,backgroundColor:Xn,outlineColor:Xn,fill:Xn,stroke:Xn,borderColor:Xn,borderTopColor:Xn,borderRightColor:Xn,borderBottomColor:Xn,borderLeftColor:Xn,filter:B2,WebkitFilter:B2},o3=e=>zve[e];function gL(e,t){let n=o3(e);return n!==B2&&(n=Xs),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const mL=e=>/^0[^.\s]+$/.test(e);function Uve(e){if(typeof e=="number")return e===0;if(e!==null)return e==="none"||e==="0"||mL(e)}function Gve(e,t,n,r){const i=F2(t,n);let o;Array.isArray(n)?o=[...n]:o=[null,n];const s=r.from!==void 0?r.from:e.get();let a;const l=[];for(let u=0;ui=>{const o=yL(r,e)||{},s=o.delay||r.delay||0;let{elapsed:a=0}=r;a=a-Ds(s);const l=Gve(t,e,n,o),u=l[0],c=l[l.length-1],d=F2(e,u),f=F2(e,c);let h={keyframes:l,velocity:t.getVelocity(),ease:"easeOut",...o,delay:-a,onUpdate:p=>{t.set(p),o.onUpdate&&o.onUpdate(p)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(Hve(o)||(h={...h,...Fve(e,h)}),h.duration&&(h.duration=Ds(h.duration)),h.repeatDelay&&(h.repeatDelay=Ds(h.repeatDelay)),!d||!f||U0e.current||o.type===!1)return Ive(h);if(t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const p=Mve(t,e,h);if(p)return p}return dy(h)};function fy(e){return!!(_r(e)&&e.add)}const qve=e=>/^\-?\d*\.?\d+$/.test(e);function a3(e,t){e.indexOf(t)===-1&&e.push(t)}function l3(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class u3{constructor(){this.subscriptions=[]}add(t){return a3(this.subscriptions,t),()=>l3(this.subscriptions,t)}notify(t,n,r){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,r);else for(let o=0;o!isNaN(parseFloat(e));class Kve{constructor(t,n={}){this.version="10.12.22",this.timeDelta=0,this.lastUpdated=0,this.canTrackVelocity=!1,this.events={},this.updateAndNotify=(r,i=!0)=>{this.prev=this.current,this.current=r;const{delta:o,timestamp:s}=$n;this.lastUpdated!==s&&(this.timeDelta=o,this.lastUpdated=s,St.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),i&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>St.postRender(this.velocityCheck),this.velocityCheck=({timestamp:r})=>{r!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=t,this.canTrackVelocity=Wve(this.current),this.owner=n.owner}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new u3);const r=this.events[t].add(n);return t==="change"?()=>{r(),St.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,r){this.set(n),this.prev=t,this.timeDelta=r}jump(t){this.updateAndNotify(t),this.prev=t,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?fL(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function cc(e,t){return new Kve(e,t)}const vL=e=>t=>t.test(e),Xve={test:e=>e==="auto",parse:e=>e},bL=[Pl,me,Ji,as,n0e,t0e,Xve],id=e=>bL.find(vL(e)),Yve=[...bL,Xn,Xs],Qve=e=>Yve.find(vL(e));function Zve(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,cc(n))}function Jve(e,t){const n=l1(e,t);let{transitionEnd:r={},transition:i={},...o}=n?e.makeTargetAnimatable(n,!1):{};o={...o,...r};for(const s in o){const a=m0e(o[s]);Zve(e,s,a)}}function e1e(e,t,n){var r,i;const o=Object.keys(t).filter(a=>!e.hasValue(a)),s=o.length;if(s)for(let a=0;al.remove(d))),u.push(m)}return s&&Promise.all(u).then(()=>{s&&Jve(e,s)}),u}function j2(e,t,n={}){const r=l1(e,t,n.custom);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const o=r?()=>Promise.all(SL(e,r,n)):()=>Promise.resolve(),s=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:c,staggerDirection:d}=i;return i1e(e,t,u+l,c,d,n)}:()=>Promise.resolve(),{when:a}=i;if(a){const[l,u]=a==="beforeChildren"?[o,s]:[s,o];return l().then(()=>u())}else return Promise.all([o(),s(n.delay)])}function i1e(e,t,n=0,r=0,i=1,o){const s=[],a=(e.variantChildren.size-1)*r,l=i===1?(u=0)=>u*r:(u=0)=>a-u*r;return Array.from(e.variantChildren).sort(o1e).forEach((u,c)=>{u.notify("AnimationStart",t),s.push(j2(u,t,{...o,delay:n+l(c)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(s)}function o1e(e,t){return e.sortNodePosition(t)}function s1e(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(o=>j2(e,o,n));r=Promise.all(i)}else if(typeof t=="string")r=j2(e,t,n);else{const i=typeof t=="function"?l1(e,t,n.custom):t;r=Promise.all(SL(e,i,n))}return r.then(()=>e.notify("AnimationComplete",t))}const a1e=[...GC].reverse(),l1e=GC.length;function u1e(e){return t=>Promise.all(t.map(({animation:n,options:r})=>s1e(e,n,r)))}function c1e(e){let t=u1e(e);const n=f1e();let r=!0;const i=(l,u)=>{const c=l1(e,u);if(c){const{transition:d,transitionEnd:f,...h}=c;l={...l,...h,...f}}return l};function o(l){t=l(e)}function s(l,u){const c=e.getProps(),d=e.getVariantContext(!0)||{},f=[],h=new Set;let p={},m=1/0;for(let y=0;ym&&_;const E=Array.isArray(b)?b:[b];let A=E.reduce(i,{});w===!1&&(A={});const{prevResolvedValues:$={}}=g,I={...$,...A},C=R=>{P=!0,h.delete(R),g.needsAnimating[R]=!0};for(const R in I){const M=A[R],N=$[R];p.hasOwnProperty(R)||(M!==N?ly(M)&&ly(N)?!zD(M,N)||T?C(R):g.protectedKeys[R]=!0:M!==void 0?C(R):h.add(R):M!==void 0&&h.has(R)?C(R):g.protectedKeys[R]=!0)}g.prevProp=b,g.prevResolvedValues=A,g.isActive&&(p={...p,...A}),r&&e.blockInitialAnimation&&(P=!1),P&&!x&&f.push(...E.map(R=>({animation:R,options:{type:v,...l}})))}if(h.size){const y={};h.forEach(v=>{const g=e.getBaseTarget(v);g!==void 0&&(y[v]=g)}),f.push({animation:y})}let S=!!f.length;return r&&c.initial===!1&&!e.manuallyAnimateOnMount&&(S=!1),r=!1,S?t(f):Promise.resolve()}function a(l,u,c){var d;if(n[l].isActive===u)return Promise.resolve();(d=e.variantChildren)===null||d===void 0||d.forEach(h=>{var p;return(p=h.animationState)===null||p===void 0?void 0:p.setActive(l,u)}),n[l].isActive=u;const f=s(c,l);for(const h in n)n[h].protectedKeys={};return f}return{animateChanges:s,setActive:a,setAnimateFunction:o,getState:()=>n}}function d1e(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!zD(t,e):!1}function Sa(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function f1e(){return{animate:Sa(!0),whileInView:Sa(),whileHover:Sa(),whileTap:Sa(),whileDrag:Sa(),whileFocus:Sa(),exit:Sa()}}class h1e extends ca{constructor(t){super(t),t.animationState||(t.animationState=c1e(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();this.unmount(),i1(t)&&(this.unmount=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){}}let p1e=0;class g1e extends ca{constructor(){super(...arguments),this.id=p1e++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n,custom:r}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;const o=this.node.animationState.setActive("exit",!t,{custom:r??this.node.getProps().custom});n&&!t&&o.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const m1e={animation:{Feature:h1e},exit:{Feature:g1e}},yP=(e,t)=>Math.abs(e-t);function y1e(e,t){const n=yP(e.x,t.x),r=yP(e.y,t.y);return Math.sqrt(n**2+r**2)}class _L{constructor(t,n,{transformPagePoint:r}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const u=pS(this.lastMoveEventInfo,this.history),c=this.startEvent!==null,d=y1e(u.offset,{x:0,y:0})>=3;if(!c&&!d)return;const{point:f}=u,{timestamp:h}=$n;this.history.push({...f,timestamp:h});const{onStart:p,onMove:m}=this.handlers;c||(p&&p(this.lastMoveEvent,u),this.startEvent=this.lastMoveEvent),m&&m(this.lastMoveEvent,u)},this.handlePointerMove=(u,c)=>{this.lastMoveEvent=u,this.lastMoveEventInfo=hS(c,this.transformPagePoint),St.update(this.updatePoint,!0)},this.handlePointerUp=(u,c)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:d,onSessionEnd:f}=this.handlers,h=pS(u.type==="pointercancel"?this.lastMoveEventInfo:hS(c,this.transformPagePoint),this.history);this.startEvent&&d&&d(u,h),f&&f(u,h)},!$D(t))return;this.handlers=n,this.transformPagePoint=r;const i=a1(t),o=hS(i,this.transformPagePoint),{point:s}=o,{timestamp:a}=$n;this.history=[{...s,timestamp:a}];const{onSessionStart:l}=n;l&&l(t,pS(o,this.history)),this.removeListeners=Ns(Io(window,"pointermove",this.handlePointerMove),Io(window,"pointerup",this.handlePointerUp),Io(window,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),Uo(this.updatePoint)}}function hS(e,t){return t?{point:t(e.point)}:e}function vP(e,t){return{x:e.x-t.x,y:e.y-t.y}}function pS({point:e},t){return{point:e,delta:vP(e,wL(t)),offset:vP(e,v1e(t)),velocity:b1e(t,.1)}}function v1e(e){return e[0]}function wL(e){return e[e.length-1]}function b1e(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=wL(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Ds(t)));)n--;if(!r)return{x:0,y:0};const o=No(i.timestamp-r.timestamp);if(o===0)return{x:0,y:0};const s={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function Mr(e){return e.max-e.min}function V2(e,t=0,n=.01){return Math.abs(e-t)<=n}function bP(e,t,n,r=.5){e.origin=r,e.originPoint=At(t.min,t.max,e.origin),e.scale=Mr(n)/Mr(t),(V2(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=At(n.min,n.max,e.origin)-e.originPoint,(V2(e.translate)||isNaN(e.translate))&&(e.translate=0)}function Id(e,t,n,r){bP(e.x,t.x,n.x,r?r.originX:void 0),bP(e.y,t.y,n.y,r?r.originY:void 0)}function SP(e,t,n){e.min=n.min+t.min,e.max=e.min+Mr(t)}function S1e(e,t,n){SP(e.x,t.x,n.x),SP(e.y,t.y,n.y)}function _P(e,t,n){e.min=t.min-n.min,e.max=e.min+Mr(t)}function Nd(e,t,n){_P(e.x,t.x,n.x),_P(e.y,t.y,n.y)}function _1e(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?At(n,e,r.max):Math.min(e,n)),e}function wP(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function w1e(e,{top:t,left:n,bottom:r,right:i}){return{x:wP(e.x,n,i),y:wP(e.y,t,r)}}function xP(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=qf(t.min,t.max-r,e.min):r>i&&(n=qf(e.min,e.max-i,t.min)),Ks(0,1,n)}function T1e(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const z2=.35;function E1e(e=z2){return e===!1?e=0:e===!0&&(e=z2),{x:CP(e,"left","right"),y:CP(e,"top","bottom")}}function CP(e,t,n){return{min:TP(e,t),max:TP(e,n)}}function TP(e,t){return typeof e=="number"?e:e[t]||0}const EP=()=>({translate:0,scale:1,origin:0,originPoint:0}),mu=()=>({x:EP(),y:EP()}),PP=()=>({min:0,max:0}),qt=()=>({x:PP(),y:PP()});function Li(e){return[e("x"),e("y")]}function xL({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function P1e({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function A1e(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function gS(e){return e===void 0||e===1}function U2({scale:e,scaleX:t,scaleY:n}){return!gS(e)||!gS(t)||!gS(n)}function Ta(e){return U2(e)||CL(e)||e.z||e.rotate||e.rotateX||e.rotateY}function CL(e){return AP(e.x)||AP(e.y)}function AP(e){return e&&e!=="0%"}function hy(e,t,n){const r=e-n,i=t*r;return n+i}function kP(e,t,n,r,i){return i!==void 0&&(e=hy(e,i,r)),hy(e,n,r)+t}function G2(e,t=0,n=1,r,i){e.min=kP(e.min,t,n,r,i),e.max=kP(e.max,t,n,r,i)}function TL(e,{x:t,y:n}){G2(e.x,t.translate,t.scale,t.originPoint),G2(e.y,n.translate,n.scale,n.originPoint)}function k1e(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let o,s;for(let a=0;a1.0000000000001||e<.999999999999?e:1}function fs(e,t){e.min=e.min+t,e.max=e.max+t}function OP(e,t,[n,r,i]){const o=t[i]!==void 0?t[i]:.5,s=At(e.min,e.max,o);G2(e,t[n],t[r],s,t.scale)}const R1e=["x","scaleX","originX"],O1e=["y","scaleY","originY"];function yu(e,t){OP(e.x,t,R1e),OP(e.y,t,O1e)}function EL(e,t){return xL(A1e(e.getBoundingClientRect(),t))}function M1e(e,t,n){const r=EL(e,n),{scroll:i}=t;return i&&(fs(r.x,i.offset.x),fs(r.y,i.offset.y)),r}const I1e=new WeakMap;class N1e{constructor(t){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=qt(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const i=l=>{this.stopAnimation(),n&&this.snapToCursor(a1(l,"page").point)},o=(l,u)=>{const{drag:c,dragPropagation:d,onDragStart:f}=this.getProps();if(c&&!d&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=BD(c),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Li(p=>{let m=this.getAxisMotionValue(p).get()||0;if(Ji.test(m)){const{projection:S}=this.visualElement;if(S&&S.layout){const y=S.layout.layoutBox[p];y&&(m=Mr(y)*(parseFloat(m)/100))}}this.originPoint[p]=m}),f&&St.update(()=>f(l,u),!1,!0);const{animationState:h}=this.visualElement;h&&h.setActive("whileDrag",!0)},s=(l,u)=>{const{dragPropagation:c,dragDirectionLock:d,onDirectionLock:f,onDrag:h}=this.getProps();if(!c&&!this.openGlobalLock)return;const{offset:p}=u;if(d&&this.currentDirection===null){this.currentDirection=D1e(p),this.currentDirection!==null&&f&&f(this.currentDirection);return}this.updateAxis("x",u.point,p),this.updateAxis("y",u.point,p),this.visualElement.render(),h&&h(l,u)},a=(l,u)=>this.stop(l,u);this.panSession=new _L(t,{onSessionStart:i,onStart:o,onMove:s,onSessionEnd:a},{transformPagePoint:this.visualElement.getTransformPagePoint()})}stop(t,n){const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:i}=n;this.startAnimation(i);const{onDragEnd:o}=this.getProps();o&&St.update(()=>o(t,n))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!qp(t,i,this.currentDirection))return;const o=this.getAxisMotionValue(t);let s=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(s=_1e(s,this.constraints[t],this.elastic[t])),o.set(s)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),{layout:r}=this.visualElement.projection||{},i=this.constraints;t&&pu(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=w1e(r.layoutBox,t):this.constraints=!1,this.elastic=E1e(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&Li(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=T1e(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!pu(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=M1e(r,i.root,this.visualElement.getTransformPagePoint());let s=x1e(i.layout.layoutBox,o);if(n){const a=n(P1e(s));this.hasMutatedConstraints=!!a,a&&(s=xL(a))}return s}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:o,dragSnapToOrigin:s,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},u=Li(c=>{if(!qp(c,n,this.currentDirection))return;let d=l&&l[c]||{};s&&(d={min:0,max:0});const f=i?200:1e6,h=i?40:1e7,p={type:"inertia",velocity:r?t[c]:0,bounceStiffness:f,bounceDamping:h,timeConstant:750,restDelta:1,restSpeed:10,...o,...d};return this.startAxisValueAnimation(c,p)});return Promise.all(u).then(a)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return r.start(s3(t,r,0,n))}stopAnimation(){Li(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const n="_drag"+t.toUpperCase(),r=this.visualElement.getProps(),i=r[n];return i||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){Li(n=>{const{drag:r}=this.getProps();if(!qp(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,o=this.getAxisMotionValue(n);if(i&&i.layout){const{min:s,max:a}=i.layout.layoutBox[n];o.set(t[n]-At(s,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!pu(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Li(s=>{const a=this.getAxisMotionValue(s);if(a){const l=a.get();i[s]=C1e({min:l,max:l},this.constraints[s])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),Li(s=>{if(!qp(s,t,null))return;const a=this.getAxisMotionValue(s),{min:l,max:u}=this.constraints[s];a.set(At(l,u,i[s]))})}addListeners(){if(!this.visualElement.current)return;I1e.set(this.visualElement,this);const t=this.visualElement.current,n=Io(t,"pointerdown",l=>{const{drag:u,dragListener:c=!0}=this.getProps();u&&c&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();pu(l)&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,o=i.addEventListener("measure",r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),r();const s=Ao(window,"resize",()=>this.scalePositionWithinConstraints()),a=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(Li(c=>{const d=this.getAxisMotionValue(c);d&&(this.originPoint[c]+=l[c].translate,d.set(d.get()+l[c].translate))}),this.visualElement.render())});return()=>{s(),n(),o(),a&&a()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:o=!1,dragElastic:s=z2,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:o,dragElastic:s,dragMomentum:a}}}function qp(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function D1e(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class L1e extends ca{constructor(t){super(t),this.removeGroupControls=Yt,this.removeListeners=Yt,this.controls=new N1e(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Yt}unmount(){this.removeGroupControls(),this.removeListeners()}}const MP=e=>(t,n)=>{e&&St.update(()=>e(t,n))};class $1e extends ca{constructor(){super(...arguments),this.removePointerDownListener=Yt}onPointerDown(t){this.session=new _L(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:MP(t),onStart:MP(n),onMove:r,onEnd:(o,s)=>{delete this.session,i&&St.update(()=>i(o,s))}}}mount(){this.removePointerDownListener=Io(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}function F1e(){const e=k.useContext(Lh);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,i=k.useId();return k.useEffect(()=>r(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}function j4e(){return B1e(k.useContext(Lh))}function B1e(e){return e===null?!0:e.isPresent}const Ag={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function IP(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const od={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(me.test(e))e=parseFloat(e);else return e;const n=IP(e,t.target.x),r=IP(e,t.target.y);return`${n}% ${r}%`}},j1e={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=Xs.parse(e);if(i.length>5)return r;const o=Xs.createTransformer(e),s=typeof i[0]!="number"?1:0,a=n.x.scale*t.x,l=n.y.scale*t.y;i[0+s]/=a,i[1+s]/=l;const u=At(a,l,.5);return typeof i[2+s]=="number"&&(i[2+s]/=u),typeof i[3+s]=="number"&&(i[3+s]/=u),o(i)}};class V1e extends Xe.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:o}=t;Kye(z1e),o&&(n.group&&n.group.add(o),r&&r.register&&i&&r.register(o),o.root.didUpdate(),o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),Ag.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:o}=this.props,s=r.projection;return s&&(s.isPresent=o,i||t.layoutDependency!==n||n===void 0?s.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?s.promote():s.relegate()||St.postRender(()=>{const a=s.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),queueMicrotask(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:i}=t;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),r&&r.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function PL(e){const[t,n]=F1e(),r=k.useContext(qC);return Xe.createElement(V1e,{...e,layoutGroup:r,switchLayoutGroup:k.useContext(wD),isPresent:t,safeToRemove:n})}const z1e={borderRadius:{...od,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:od,borderTopRightRadius:od,borderBottomLeftRadius:od,borderBottomRightRadius:od,boxShadow:j1e},AL=["TopLeft","TopRight","BottomLeft","BottomRight"],U1e=AL.length,NP=e=>typeof e=="string"?parseFloat(e):e,DP=e=>typeof e=="number"||me.test(e);function G1e(e,t,n,r,i,o){i?(e.opacity=At(0,n.opacity!==void 0?n.opacity:1,H1e(r)),e.opacityExit=At(t.opacity!==void 0?t.opacity:1,0,q1e(r))):o&&(e.opacity=At(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,r));for(let s=0;srt?1:n(qf(e,t,r))}function $P(e,t){e.min=t.min,e.max=t.max}function Vr(e,t){$P(e.x,t.x),$P(e.y,t.y)}function FP(e,t,n,r,i){return e-=t,e=hy(e,1/n,r),i!==void 0&&(e=hy(e,1/i,r)),e}function W1e(e,t=0,n=1,r=.5,i,o=e,s=e){if(Ji.test(t)&&(t=parseFloat(t),t=At(s.min,s.max,t/100)-s.min),typeof t!="number")return;let a=At(o.min,o.max,r);e===o&&(a-=t),e.min=FP(e.min,t,n,a,i),e.max=FP(e.max,t,n,a,i)}function BP(e,t,[n,r,i],o,s){W1e(e,t[n],t[r],t[i],t.scale,o,s)}const K1e=["x","scaleX","originX"],X1e=["y","scaleY","originY"];function jP(e,t,n,r){BP(e.x,t,K1e,n?n.x:void 0,r?r.x:void 0),BP(e.y,t,X1e,n?n.y:void 0,r?r.y:void 0)}function VP(e){return e.translate===0&&e.scale===1}function RL(e){return VP(e.x)&&VP(e.y)}function H2(e,t){return e.x.min===t.x.min&&e.x.max===t.x.max&&e.y.min===t.y.min&&e.y.max===t.y.max}function zP(e){return Mr(e.x)/Mr(e.y)}class Y1e{constructor(){this.members=[]}add(t){a3(this.members,t),t.scheduleRender()}remove(t){if(l3(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(i=>t===i);if(n===0)return!1;let r;for(let i=n;i>=0;i--){const o=this.members[i];if(o.isPresent!==!1){r=o;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender(),t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function UP(e,t,n){let r="";const i=e.x.translate/t.x,o=e.y.translate/t.y;if((i||o)&&(r=`translate3d(${i}px, ${o}px, 0) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{rotate:l,rotateX:u,rotateY:c}=n;l&&(r+=`rotate(${l}deg) `),u&&(r+=`rotateX(${u}deg) `),c&&(r+=`rotateY(${c}deg) `)}const s=e.x.scale*t.x,a=e.y.scale*t.y;return(s!==1||a!==1)&&(r+=`scale(${s}, ${a})`),r||"none"}const Q1e=(e,t)=>e.depth-t.depth;class Z1e{constructor(){this.children=[],this.isDirty=!1}add(t){a3(this.children,t),this.isDirty=!0}remove(t){l3(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(Q1e),this.isDirty=!1,this.children.forEach(t)}}function J1e(e,t){const n=performance.now(),r=({timestamp:i})=>{const o=i-n;o>=t&&(Uo(r),e(o-t))};return St.read(r,!0),()=>Uo(r)}function ebe(e){window.MotionDebug&&window.MotionDebug.record(e)}function tbe(e){return e instanceof SVGElement&&e.tagName!=="svg"}function nbe(e,t,n){const r=_r(e)?e:cc(e);return r.start(s3("",r,t,n)),r.animation}const GP=["","X","Y","Z"],HP=1e3;let rbe=0;const Ea={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function OL({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(s={},a=t==null?void 0:t()){this.id=rbe++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{Ea.totalNodes=Ea.resolvedTargetDeltas=Ea.recalculatedProjection=0,this.nodes.forEach(sbe),this.nodes.forEach(dbe),this.nodes.forEach(fbe),this.nodes.forEach(abe),ebe(Ea)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=s,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;lthis.root.updateBlockedByResize=!1;e(s,()=>{this.root.updateBlockedByResize=!0,d&&d(),d=J1e(f,250),Ag.hasAnimatedSinceResize&&(Ag.hasAnimatedSinceResize=!1,this.nodes.forEach(WP))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&c&&(l||u)&&this.addEventListener("didUpdate",({delta:d,hasLayoutChanged:f,hasRelativeTargetChanged:h,layout:p})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const m=this.options.transition||c.getDefaultTransition()||ybe,{onLayoutAnimationStart:S,onLayoutAnimationComplete:y}=c.getProps(),v=!this.targetLayout||!H2(this.targetLayout,p)||h,g=!f&&h;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||g||f&&(v||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(d,g);const b={...yL(m,"layout"),onPlay:S,onComplete:y};(c.shouldReduceMotion||this.options.layoutRoot)&&(b.delay=0,b.type=!1),this.startAnimation(b)}else f||WP(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=p})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const s=this.getStack();s&&s.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,Uo(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(hbe),this.animationId++)}getTransformTemplate(){const{visualElement:s}=this.options;return s&&s.getProps().transformTemplate}willUpdate(s=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let c=0;cthis.update()))}clearAllSnapshots(){this.nodes.forEach(lbe),this.sharedNodes.forEach(pbe)}scheduleUpdateProjection(){St.preRender(this.updateProjection,!1,!0)}scheduleCheckAfterUnmount(){St.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l{const _=b/1e3;KP(d.x,s.x,_),KP(d.y,s.y,_),this.setTargetDelta(d),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Nd(f,this.layout.layoutBox,this.relativeParent.layout.layoutBox),gbe(this.relativeTarget,this.relativeTargetOrigin,f,_),g&&H2(this.relativeTarget,g)&&(this.isProjectionDirty=!1),g||(g=qt()),Vr(g,this.relativeTarget)),m&&(this.animationValues=c,G1e(c,u,this.latestValues,_,v,y)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=_},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(s){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(Uo(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=St.update(()=>{Ag.hasAnimatedSinceResize=!0,this.currentAnimation=nbe(0,HP,{...s,onUpdate:a=>{this.mixTargetDelta(a),s.onUpdate&&s.onUpdate(a)},onComplete:()=>{s.onComplete&&s.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const s=this.getStack();s&&s.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(HP),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const s=this.getLead();let{targetWithTransforms:a,target:l,layout:u,latestValues:c}=s;if(!(!a||!l||!u)){if(this!==s&&this.layout&&u&&ML(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||qt();const d=Mr(this.layout.layoutBox.x);l.x.min=s.target.x.min,l.x.max=l.x.min+d;const f=Mr(this.layout.layoutBox.y);l.y.min=s.target.y.min,l.y.max=l.y.min+f}Vr(a,l),yu(a,c),Id(this.projectionDeltaWithTransform,this.layoutCorrected,a,c)}}registerSharedNode(s,a){this.sharedNodes.has(s)||this.sharedNodes.set(s,new Y1e),this.sharedNodes.get(s).add(a);const u=a.options.initialPromotionConfig;a.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(a):void 0})}isLead(){const s=this.getStack();return s?s.lead===this:!0}getLead(){var s;const{layoutId:a}=this.options;return a?((s=this.getStack())===null||s===void 0?void 0:s.lead)||this:this}getPrevLead(){var s;const{layoutId:a}=this.options;return a?(s=this.getStack())===null||s===void 0?void 0:s.prevLead:void 0}getStack(){const{layoutId:s}=this.options;if(s)return this.root.sharedNodes.get(s)}promote({needsReset:s,transition:a,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),s&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const s=this.getStack();return s?s.relegate(this):!1}resetRotation(){const{visualElement:s}=this.options;if(!s)return;let a=!1;const{latestValues:l}=s;if((l.rotate||l.rotateX||l.rotateY||l.rotateZ)&&(a=!0),!a)return;const u={};for(let c=0;c{var a;return(a=s.currentAnimation)===null||a===void 0?void 0:a.stop()}),this.root.nodes.forEach(qP),this.root.sharedNodes.clear()}}}function ibe(e){e.updateLayout()}function obe(e){var t;const n=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:i}=e.layout,{animationType:o}=e.options,s=n.source!==e.layout.source;o==="size"?Li(d=>{const f=s?n.measuredBox[d]:n.layoutBox[d],h=Mr(f);f.min=r[d].min,f.max=f.min+h}):ML(o,n.layoutBox,r)&&Li(d=>{const f=s?n.measuredBox[d]:n.layoutBox[d],h=Mr(r[d]);f.max=f.min+h,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[d].max=e.relativeTarget[d].min+h)});const a=mu();Id(a,r,n.layoutBox);const l=mu();s?Id(l,e.applyTransform(i,!0),n.measuredBox):Id(l,r,n.layoutBox);const u=!RL(a);let c=!1;if(!e.resumeFrom){const d=e.getClosestProjectingParent();if(d&&!d.resumeFrom){const{snapshot:f,layout:h}=d;if(f&&h){const p=qt();Nd(p,n.layoutBox,f.layoutBox);const m=qt();Nd(m,r,h.layoutBox),H2(p,m)||(c=!0),d.options.layoutRoot&&(e.relativeTarget=m,e.relativeTargetOrigin=p,e.relativeParent=d)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:l,layoutDelta:a,hasLayoutChanged:u,hasRelativeTargetChanged:c})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function sbe(e){Ea.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function abe(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function lbe(e){e.clearSnapshot()}function qP(e){e.clearMeasurements()}function ube(e){e.isLayoutDirty=!1}function cbe(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function WP(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function dbe(e){e.resolveTargetDelta()}function fbe(e){e.calcProjection()}function hbe(e){e.resetRotation()}function pbe(e){e.removeLeadSnapshot()}function KP(e,t,n){e.translate=At(t.translate,0,n),e.scale=At(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function XP(e,t,n,r){e.min=At(t.min,n.min,r),e.max=At(t.max,n.max,r)}function gbe(e,t,n,r){XP(e.x,t.x,n.x,r),XP(e.y,t.y,n.y,r)}function mbe(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const ybe={duration:.45,ease:[.4,0,.1,1]};function YP(e){e.min=Math.round(e.min*2)/2,e.max=Math.round(e.max*2)/2}function vbe(e){YP(e.x),YP(e.y)}function ML(e,t,n){return e==="position"||e==="preserve-aspect"&&!V2(zP(t),zP(n),.2)}const bbe=OL({attachResizeListener:(e,t)=>Ao(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),mS={current:void 0},IL=OL({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!mS.current){const e=new bbe({});e.mount(window),e.setOptions({layoutScroll:!0}),mS.current=e}return mS.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),Sbe={pan:{Feature:$1e},drag:{Feature:L1e,ProjectionNode:IL,MeasureLayout:PL}},_be=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function wbe(e){const t=_be.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]}function q2(e,t,n=1){const[r,i]=wbe(e);if(!r)return;const o=window.getComputedStyle(t).getPropertyValue(r);return o?o.trim():N2(i)?q2(i,t,n+1):i}function xbe(e,{...t},n){const r=e.current;if(!(r instanceof Element))return{target:t,transitionEnd:n};n&&(n={...n}),e.values.forEach(i=>{const o=i.get();if(!N2(o))return;const s=q2(o,r);s&&i.set(s)});for(const i in t){const o=t[i];if(!N2(o))continue;const s=q2(o,r);s&&(t[i]=s,n||(n={}),n[i]===void 0&&(n[i]=o))}return{target:t,transitionEnd:n}}const Cbe=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),NL=e=>Cbe.has(e),Tbe=e=>Object.keys(e).some(NL),QP=e=>e===Pl||e===me,ZP=(e,t)=>parseFloat(e.split(", ")[t]),JP=(e,t)=>(n,{transform:r})=>{if(r==="none"||!r)return 0;const i=r.match(/^matrix3d\((.+)\)$/);if(i)return ZP(i[1],t);{const o=r.match(/^matrix\((.+)\)$/);return o?ZP(o[1],e):0}},Ebe=new Set(["x","y","z"]),Pbe=$h.filter(e=>!Ebe.has(e));function Abe(e){const t=[];return Pbe.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t.length&&e.render(),t}const dc={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:JP(4,13),y:JP(5,14)};dc.translateX=dc.x;dc.translateY=dc.y;const kbe=(e,t,n)=>{const r=t.measureViewportBox(),i=t.current,o=getComputedStyle(i),{display:s}=o,a={};s==="none"&&t.setStaticValue("display",e.display||"block"),n.forEach(u=>{a[u]=dc[u](r,o)}),t.render();const l=t.measureViewportBox();return n.forEach(u=>{const c=t.getValue(u);c&&c.jump(a[u]),e[u]=dc[u](l,o)}),e},Rbe=(e,t,n={},r={})=>{t={...t},r={...r};const i=Object.keys(t).filter(NL);let o=[],s=!1;const a=[];if(i.forEach(l=>{const u=e.getValue(l);if(!e.hasValue(l))return;let c=n[l],d=id(c);const f=t[l];let h;if(ly(f)){const p=f.length,m=f[0]===null?1:0;c=f[m],d=id(c);for(let S=m;S=0?window.pageYOffset:null,u=kbe(t,e,a);return o.length&&o.forEach(([c,d])=>{e.getValue(c).set(d)}),e.render(),r1&&l!==null&&window.scrollTo({top:l}),{target:u,transitionEnd:r}}else return{target:t,transitionEnd:r}};function Obe(e,t,n,r){return Tbe(t)?Rbe(e,t,n,r):{target:t,transitionEnd:r}}const Mbe=(e,t,n,r)=>{const i=xbe(e,t,r);return t=i.target,r=i.transitionEnd,Obe(e,t,n,r)},W2={current:null},DL={current:!1};function Ibe(){if(DL.current=!0,!!r1)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>W2.current=e.matches;e.addListener(t),t()}else W2.current=!1}function Nbe(e,t,n){const{willChange:r}=t;for(const i in t){const o=t[i],s=n[i];if(_r(o))e.addValue(i,o),fy(r)&&r.add(i);else if(_r(s))e.addValue(i,cc(o,{owner:e})),fy(r)&&r.remove(i);else if(s!==o)if(e.hasValue(i)){const a=e.getValue(i);!a.hasAnimated&&a.set(o)}else{const a=e.getStaticValue(i);e.addValue(i,cc(a!==void 0?a:o,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const e8=new WeakMap,LL=Object.keys(Hf),Dbe=LL.length,t8=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],Lbe=HC.length;class $be{constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,visualState:o},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>St.render(this.render,!1,!0);const{latestValues:a,renderState:l}=o;this.latestValues=a,this.baseTarget={...a},this.initialValues=n.initial?{...a}:{},this.renderState=l,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=s,this.isControllingVariants=o1(n),this.isVariantNode=_D(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:u,...c}=this.scrapeMotionValuesFromProps(n,{});for(const d in c){const f=c[d];a[d]!==void 0&&_r(f)&&(f.set(a[d],!1),fy(u)&&u.add(d))}}scrapeMotionValuesFromProps(t,n){return{}}mount(t){this.current=t,e8.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,r)=>this.bindToMotionValue(r,n)),DL.current||Ibe(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:W2.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){e8.delete(this.current),this.projection&&this.projection.unmount(),Uo(this.notifyUpdate),Uo(this.render),this.valueSubscriptions.forEach(t=>t()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features)this.features[t].unmount();this.current=null}bindToMotionValue(t,n){const r=El.has(t),i=n.on("change",s=>{this.latestValues[t]=s,this.props.onUpdate&&St.update(this.notifyUpdate,!1,!0),r&&this.projection&&(this.projection.isTransformDirty=!0)}),o=n.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(t,()=>{i(),o()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}loadFeatures({children:t,...n},r,i,o){let s,a;for(let l=0;lthis.scheduleRender(),animationType:typeof u=="string"?u:"both",initialPromotionConfig:o,layoutScroll:f,layoutRoot:h})}return a}updateFeatures(){for(const t in this.features){const n=this.features[t];n.isMounted?n.update():(n.mount(),n.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):qt()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}makeTargetAnimatable(t,n=!0){return this.makeTargetAnimatableFromInstance(t,this.props,n)}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let r=0;rn.variantChildren.delete(t)}addValue(t,n){n!==this.values.get(t)&&(this.removeValue(t),this.bindToMotionValue(t,n)),this.values.set(t,n),this.latestValues[t]=n.get()}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let r=this.values.get(t);return r===void 0&&n!==void 0&&(r=cc(n,{owner:this}),this.addValue(t,r)),r}readValue(t){var n;return this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(n=this.getBaseTargetFromProps(this.props,t))!==null&&n!==void 0?n:this.readValueFromInstance(this.current,t,this.options)}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:r}=this.props,i=typeof r=="string"||typeof r=="object"?(n=e3(this.props,r))===null||n===void 0?void 0:n[t]:void 0;if(r&&i!==void 0)return i;const o=this.getBaseTargetFromProps(this.props,t);return o!==void 0&&!_r(o)?o:this.initialValues[t]!==void 0&&i===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new u3),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class $L extends $be{sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:r}){delete n[t],delete r[t]}makeTargetAnimatableFromInstance({transition:t,transitionEnd:n,...r},{transformValues:i},o){let s=n1e(r,t||{},this);if(i&&(n&&(n=i(n)),r&&(r=i(r)),s&&(s=i(s))),o){e1e(this,r,s);const a=Mbe(this,r,s,n);n=a.transitionEnd,r=a.target}return{transition:t,transitionEnd:n,...r}}}function Fbe(e){return window.getComputedStyle(e)}class Bbe extends $L{readValueFromInstance(t,n){if(El.has(n)){const r=o3(n);return r&&r.default||0}else{const r=Fbe(t),i=(TD(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return EL(t,n)}build(t,n,r,i){KC(t,n,r,i.transformTemplate)}scrapeMotionValuesFromProps(t,n){return JC(t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;_r(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(t,n,r,i){OD(t,n,r,i)}}class jbe extends $L{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(El.has(n)){const r=o3(n);return r&&r.default||0}return n=MD.has(n)?n:ZC(n),t.getAttribute(n)}measureInstanceViewportBox(){return qt()}scrapeMotionValuesFromProps(t,n){return ND(t,n)}build(t,n,r,i){YC(t,n,r,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,r,i){ID(t,n,r,i)}mount(t){this.isSVGTag=QC(t.tagName),super.mount(t)}}const Vbe=(e,t)=>WC(e)?new jbe(t,{enableHardwareAcceleration:!1}):new Bbe(t,{enableHardwareAcceleration:!0}),zbe={layout:{ProjectionNode:IL,MeasureLayout:PL}},Ube={...m1e,...$0e,...Sbe,...zbe},Gbe=qye((e,t)=>_0e(e,t,Ube,Vbe));function FL(){const e=k.useRef(!1);return oy(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function Hbe(){const e=FL(),[t,n]=k.useState(0),r=k.useCallback(()=>{e.current&&n(t+1)},[t]);return[k.useCallback(()=>St.postRender(r),[r]),t]}class qbe extends k.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function Wbe({children:e,isPresent:t}){const n=k.useId(),r=k.useRef(null),i=k.useRef({width:0,height:0,top:0,left:0});return k.useInsertionEffect(()=>{const{width:o,height:s,top:a,left:l}=i.current;if(t||!r.current||!o||!s)return;r.current.dataset.motionPopId=n;const u=document.createElement("style");return document.head.appendChild(u),u.sheet&&u.sheet.insertRule(` - [data-motion-pop-id="${n}"] { - position: absolute !important; - width: ${o}px !important; - height: ${s}px !important; - top: ${a}px !important; - left: ${l}px !important; - } - `),()=>{document.head.removeChild(u)}},[t]),k.createElement(qbe,{isPresent:t,childRef:r,sizeRef:i},k.cloneElement(e,{ref:r}))}const yS=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:s})=>{const a=DD(Kbe),l=k.useId(),u=k.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:c=>{a.set(c,!0);for(const d of a.values())if(!d)return;r&&r()},register:c=>(a.set(c,!1),()=>a.delete(c))}),o?void 0:[n]);return k.useMemo(()=>{a.forEach((c,d)=>a.set(d,!1))},[n]),k.useEffect(()=>{!n&&!a.size&&r&&r()},[n]),s==="popLayout"&&(e=k.createElement(Wbe,{isPresent:n},e)),k.createElement(Lh.Provider,{value:u},e)};function Kbe(){return new Map}function Xbe(e){return k.useEffect(()=>()=>e(),[])}const Zl=e=>e.key||"";function Ybe(e,t){e.forEach(n=>{const r=Zl(n);t.set(r,n)})}function Qbe(e){const t=[];return k.Children.forEach(e,n=>{k.isValidElement(n)&&t.push(n)}),t}const Zbe=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:s="sync"})=>{const a=k.useContext(qC).forceRender||Hbe()[0],l=FL(),u=Qbe(e);let c=u;const d=k.useRef(new Map).current,f=k.useRef(c),h=k.useRef(new Map).current,p=k.useRef(!0);if(oy(()=>{p.current=!1,Ybe(u,h),f.current=c}),Xbe(()=>{p.current=!0,h.clear(),d.clear()}),p.current)return k.createElement(k.Fragment,null,c.map(v=>k.createElement(yS,{key:Zl(v),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:s},v)));c=[...c];const m=f.current.map(Zl),S=u.map(Zl),y=m.length;for(let v=0;v{if(S.indexOf(g)!==-1)return;const b=h.get(g);if(!b)return;const _=m.indexOf(g);let w=v;if(!w){const x=()=>{h.delete(g),d.delete(g);const T=f.current.findIndex(P=>P.key===g);if(f.current.splice(T,1),!d.size){if(f.current=u,l.current===!1)return;a(),r&&r()}};w=k.createElement(yS,{key:Zl(b),isPresent:!1,onExitComplete:x,custom:t,presenceAffectsLayout:o,mode:s},b),d.set(g,w)}c.splice(_,0,w)}),c=c.map(v=>{const g=v.key;return d.has(g)?v:k.createElement(yS,{key:Zl(v),isPresent:!0,presenceAffectsLayout:o,mode:s},v)}),k.createElement(k.Fragment,null,d.size?c:c.map(v=>k.cloneElement(v)))};var Jbe=Bge({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),BL=Tl((e,t)=>{const n=vD("Spinner",e),{label:r="Loading...",thickness:i="2px",speed:o="0.45s",emptyColor:s="transparent",className:a,...l}=pD(e),u=aD("chakra-spinner",a),c={display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:s,borderLeftColor:s,animation:`${Jbe} ${o} linear infinite`,...n};return K.jsx(al.div,{ref:t,__css:c,className:u,...l,children:r&&K.jsx(al.span,{srOnly:!0,children:r})})});BL.displayName="Spinner";var K2=Tl(function(t,n){const{htmlWidth:r,htmlHeight:i,alt:o,...s}=t;return K.jsx("img",{width:r,height:i,ref:n,alt:o,...s})});K2.displayName="NativeImage";function eSe(e){const{loading:t,src:n,srcSet:r,onLoad:i,onError:o,crossOrigin:s,sizes:a,ignoreFallback:l}=e,[u,c]=k.useState("pending");k.useEffect(()=>{c(n?"loading":"pending")},[n]);const d=k.useRef(),f=k.useCallback(()=>{if(!n)return;h();const p=new Image;p.src=n,s&&(p.crossOrigin=s),r&&(p.srcset=r),a&&(p.sizes=a),t&&(p.loading=t),p.onload=m=>{h(),c("loaded"),i==null||i(m)},p.onerror=m=>{h(),c("failed"),o==null||o(m)},d.current=p},[n,s,r,a,i,o,t]),h=()=>{d.current&&(d.current.onload=null,d.current.onerror=null,d.current=null)};return jge(()=>{if(!l)return u==="loading"&&f(),()=>{h()}},[u,f,l]),l?"loaded":u}var tSe=(e,t)=>e!=="loaded"&&t==="beforeLoadOrError"||e==="failed"&&t==="onError";function nSe(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var c3=Tl(function(t,n){const{fallbackSrc:r,fallback:i,src:o,srcSet:s,align:a,fit:l,loading:u,ignoreFallback:c,crossOrigin:d,fallbackStrategy:f="beforeLoadOrError",referrerPolicy:h,...p}=t,m=r!==void 0||i!==void 0,S=u!=null||c||!m,y=eSe({...t,crossOrigin:d,ignoreFallback:S}),v=tSe(y,f),g={ref:n,objectFit:l,objectPosition:a,...S?p:nSe(p,["onError","onLoad"])};return v?i||K.jsx(al.img,{as:K2,className:"chakra-image__placeholder",src:r,...g}):K.jsx(al.img,{as:K2,src:o,srcSet:s,crossOrigin:d,loading:u,referrerPolicy:h,className:"chakra-image",...g})});c3.displayName="Image";var rSe=cye?k.useLayoutEffect:k.useEffect;function n8(e,t=[]){const n=k.useRef(e);return rSe(()=>{n.current=e}),k.useCallback((...r)=>{var i;return(i=n.current)==null?void 0:i.call(n,...r)},t)}function iSe(e,t){const n=k.useId();return k.useMemo(()=>e||[t,n].filter(Boolean).join("-"),[e,t,n])}function oSe(e,t){const n=e!==void 0;return[n,n&&typeof e<"u"?e:t]}function sSe(e={}){const{onClose:t,onOpen:n,isOpen:r,id:i}=e,o=n8(n),s=n8(t),[a,l]=k.useState(e.defaultIsOpen||!1),[u,c]=oSe(r,a),d=iSe(i,"disclosure"),f=k.useCallback(()=>{u||l(!1),s==null||s()},[u,s]),h=k.useCallback(()=>{u||l(!0),o==null||o()},[u,o]),p=k.useCallback(()=>{(c?f:h)()},[c,h,f]);return{isOpen:!!c,onOpen:h,onClose:f,onToggle:p,isControlled:u,getButtonProps:(m={})=>({...m,"aria-expanded":c,"aria-controls":d,onClick:yye(m.onClick,p)}),getDisclosureProps:(m={})=>({...m,hidden:!c,id:d})}}var X2=Tl(function(t,n){const r=vD("Heading",t),{className:i,...o}=pD(t);return K.jsx(al.h2,{ref:n,className:aD("chakra-heading",t.className),...o,__css:r})});X2.displayName="Heading";var d3=al("div");d3.displayName="Box";var jL=Tl(function(t,n){const{size:r,centerContent:i=!0,...o}=t,s=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return K.jsx(d3,{ref:n,boxSize:r,__css:{...s,flexShrink:0,flexGrow:0},...o})});jL.displayName="Square";var aSe=Tl(function(t,n){const{size:r,...i}=t;return K.jsx(jL,{size:r,ref:n,borderRadius:"9999px",...i})});aSe.displayName="Circle";var f3=Tl(function(t,n){const{direction:r,align:i,justify:o,wrap:s,basis:a,grow:l,shrink:u,...c}=t,d={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:s,flexBasis:a,flexGrow:l,flexShrink:u};return K.jsx(al.div,{ref:n,__css:d,...c})});f3.displayName="Flex";const lSe=""+new URL("logo-13003d72.png",import.meta.url).href,uSe=()=>K.jsxs(f3,{position:"relative",width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",bg:"#151519",children:[K.jsx(c3,{src:lSe,w:"8rem",h:"8rem"}),K.jsx(BL,{label:"Loading",color:"grey",position:"absolute",size:"sm",width:"24px !important",height:"24px !important",right:"1.5rem",bottom:"1.5rem"})]}),cSe=k.memo(uSe);function Y2(e){"@babel/helpers - typeof";return Y2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Y2(e)}var VL=[],dSe=VL.forEach,fSe=VL.slice;function Q2(e){return dSe.call(fSe.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}function zL(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":Y2(XMLHttpRequest))==="object"}function hSe(e){return!!e&&typeof e.then=="function"}function pSe(e){return hSe(e)?e:Promise.resolve(e)}function gSe(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Z2={exports:{}},Wp={exports:{}},r8;function mSe(){return r8||(r8=1,function(e,t){var n=typeof self<"u"?self:Ee,r=function(){function o(){this.fetch=!1,this.DOMException=n.DOMException}return o.prototype=n,new o}();(function(o){(function(s){var a={searchParams:"URLSearchParams"in o,iterable:"Symbol"in o&&"iterator"in Symbol,blob:"FileReader"in o&&"Blob"in o&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in o,arrayBuffer:"ArrayBuffer"in o};function l(C){return C&&DataView.prototype.isPrototypeOf(C)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(C){return C&&u.indexOf(Object.prototype.toString.call(C))>-1};function d(C){if(typeof C!="string"&&(C=String(C)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(C))throw new TypeError("Invalid character in header field name");return C.toLowerCase()}function f(C){return typeof C!="string"&&(C=String(C)),C}function h(C){var R={next:function(){var M=C.shift();return{done:M===void 0,value:M}}};return a.iterable&&(R[Symbol.iterator]=function(){return R}),R}function p(C){this.map={},C instanceof p?C.forEach(function(R,M){this.append(M,R)},this):Array.isArray(C)?C.forEach(function(R){this.append(R[0],R[1])},this):C&&Object.getOwnPropertyNames(C).forEach(function(R){this.append(R,C[R])},this)}p.prototype.append=function(C,R){C=d(C),R=f(R);var M=this.map[C];this.map[C]=M?M+", "+R:R},p.prototype.delete=function(C){delete this.map[d(C)]},p.prototype.get=function(C){return C=d(C),this.has(C)?this.map[C]:null},p.prototype.has=function(C){return this.map.hasOwnProperty(d(C))},p.prototype.set=function(C,R){this.map[d(C)]=f(R)},p.prototype.forEach=function(C,R){for(var M in this.map)this.map.hasOwnProperty(M)&&C.call(R,this.map[M],M,this)},p.prototype.keys=function(){var C=[];return this.forEach(function(R,M){C.push(M)}),h(C)},p.prototype.values=function(){var C=[];return this.forEach(function(R){C.push(R)}),h(C)},p.prototype.entries=function(){var C=[];return this.forEach(function(R,M){C.push([M,R])}),h(C)},a.iterable&&(p.prototype[Symbol.iterator]=p.prototype.entries);function m(C){if(C.bodyUsed)return Promise.reject(new TypeError("Already read"));C.bodyUsed=!0}function S(C){return new Promise(function(R,M){C.onload=function(){R(C.result)},C.onerror=function(){M(C.error)}})}function y(C){var R=new FileReader,M=S(R);return R.readAsArrayBuffer(C),M}function v(C){var R=new FileReader,M=S(R);return R.readAsText(C),M}function g(C){for(var R=new Uint8Array(C),M=new Array(R.length),N=0;N-1?R:C}function T(C,R){R=R||{};var M=R.body;if(C instanceof T){if(C.bodyUsed)throw new TypeError("Already read");this.url=C.url,this.credentials=C.credentials,R.headers||(this.headers=new p(C.headers)),this.method=C.method,this.mode=C.mode,this.signal=C.signal,!M&&C._bodyInit!=null&&(M=C._bodyInit,C.bodyUsed=!0)}else this.url=String(C);if(this.credentials=R.credentials||this.credentials||"same-origin",(R.headers||!this.headers)&&(this.headers=new p(R.headers)),this.method=x(R.method||this.method||"GET"),this.mode=R.mode||this.mode||null,this.signal=R.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&M)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(M)}T.prototype.clone=function(){return new T(this,{body:this._bodyInit})};function P(C){var R=new FormData;return C.trim().split("&").forEach(function(M){if(M){var N=M.split("="),O=N.shift().replace(/\+/g," "),D=N.join("=").replace(/\+/g," ");R.append(decodeURIComponent(O),decodeURIComponent(D))}}),R}function E(C){var R=new p,M=C.replace(/\r?\n[\t ]+/g," ");return M.split(/\r?\n/).forEach(function(N){var O=N.split(":"),D=O.shift().trim();if(D){var L=O.join(":").trim();R.append(D,L)}}),R}_.call(T.prototype);function A(C,R){R||(R={}),this.type="default",this.status=R.status===void 0?200:R.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in R?R.statusText:"OK",this.headers=new p(R.headers),this.url=R.url||"",this._initBody(C)}_.call(A.prototype),A.prototype.clone=function(){return new A(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},A.error=function(){var C=new A(null,{status:0,statusText:""});return C.type="error",C};var $=[301,302,303,307,308];A.redirect=function(C,R){if($.indexOf(R)===-1)throw new RangeError("Invalid status code");return new A(null,{status:R,headers:{location:C}})},s.DOMException=o.DOMException;try{new s.DOMException}catch{s.DOMException=function(R,M){this.message=R,this.name=M;var N=Error(R);this.stack=N.stack},s.DOMException.prototype=Object.create(Error.prototype),s.DOMException.prototype.constructor=s.DOMException}function I(C,R){return new Promise(function(M,N){var O=new T(C,R);if(O.signal&&O.signal.aborted)return N(new s.DOMException("Aborted","AbortError"));var D=new XMLHttpRequest;function L(){D.abort()}D.onload=function(){var j={status:D.status,statusText:D.statusText,headers:E(D.getAllResponseHeaders()||"")};j.url="responseURL"in D?D.responseURL:j.headers.get("X-Request-URL");var U="response"in D?D.response:D.responseText;M(new A(U,j))},D.onerror=function(){N(new TypeError("Network request failed"))},D.ontimeout=function(){N(new TypeError("Network request failed"))},D.onabort=function(){N(new s.DOMException("Aborted","AbortError"))},D.open(O.method,O.url,!0),O.credentials==="include"?D.withCredentials=!0:O.credentials==="omit"&&(D.withCredentials=!1),"responseType"in D&&a.blob&&(D.responseType="blob"),O.headers.forEach(function(j,U){D.setRequestHeader(U,j)}),O.signal&&(O.signal.addEventListener("abort",L),D.onreadystatechange=function(){D.readyState===4&&O.signal.removeEventListener("abort",L)}),D.send(typeof O._bodyInit>"u"?null:O._bodyInit)})}return I.polyfill=!0,o.fetch||(o.fetch=I,o.Headers=p,o.Request=T,o.Response=A),s.Headers=p,s.Request=T,s.Response=A,s.fetch=I,Object.defineProperty(s,"__esModule",{value:!0}),s})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var i=r;t=i.fetch,t.default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t}(Wp,Wp.exports)),Wp.exports}(function(e,t){var n;if(typeof fetch=="function"&&(typeof Ee<"u"&&Ee.fetch?n=Ee.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof gSe<"u"&&(typeof window>"u"||typeof window.document>"u")){var r=n||mSe();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(Z2,Z2.exports);var UL=Z2.exports;const GL=ll(UL),i8=M8({__proto__:null,default:GL},[UL]);function py(e){"@babel/helpers - typeof";return py=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},py(e)}var Do;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?Do=global.fetch:typeof window<"u"&&window.fetch?Do=window.fetch:Do=fetch);var Wf;zL()&&(typeof global<"u"&&global.XMLHttpRequest?Wf=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(Wf=window.XMLHttpRequest));var gy;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?gy=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(gy=window.ActiveXObject));!Do&&i8&&!Wf&&!gy&&(Do=GL||i8);typeof Do!="function"&&(Do=void 0);var J2=function(t,n){if(n&&py(n)==="object"){var r="";for(var i in n)r+="&"+encodeURIComponent(i)+"="+encodeURIComponent(n[i]);if(!r)return t;t=t+(t.indexOf("?")!==-1?"&":"?")+r.slice(1)}return t},o8=function(t,n,r){Do(t,n).then(function(i){if(!i.ok)return r(i.statusText||"Error",{status:i.status});i.text().then(function(o){r(null,{status:i.status,data:o})}).catch(r)}).catch(r)},s8=!1,ySe=function(t,n,r,i){t.queryStringParams&&(n=J2(n,t.queryStringParams));var o=Q2({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);r&&(o["Content-Type"]="application/json");var s=typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions,a=Q2({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:o},s8?{}:s);try{o8(n,a,i)}catch(l){if(!s||Object.keys(s).length===0||!l.message||l.message.indexOf("not implemented")<0)return i(l);try{Object.keys(s).forEach(function(u){delete a[u]}),o8(n,a,i),s8=!0}catch(u){i(u)}}},vSe=function(t,n,r,i){r&&py(r)==="object"&&(r=J2("",r).slice(1)),t.queryStringParams&&(n=J2(n,t.queryStringParams));try{var o;Wf?o=new Wf:o=new gy("MSXML2.XMLHTTP.3.0"),o.open(r?"POST":"GET",n,1),t.crossDomain||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.withCredentials=!!t.withCredentials,r&&o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.overrideMimeType&&o.overrideMimeType("application/json");var s=t.customHeaders;if(s=typeof s=="function"?s():s,s)for(var a in s)o.setRequestHeader(a,s[a]);o.onreadystatechange=function(){o.readyState>3&&i(o.status>=400?o.statusText:null,{status:o.status,data:o.responseText})},o.send(r)}catch(l){console&&console.log(l)}},bSe=function(t,n,r,i){if(typeof r=="function"&&(i=r,r=void 0),i=i||function(){},Do&&n.indexOf("file:")!==0)return ySe(t,n,r,i);if(zL()||typeof ActiveXObject=="function")return vSe(t,n,r,i);i(new Error("No fetch and no xhr implementation found!"))};function Kf(e){"@babel/helpers - typeof";return Kf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Kf(e)}function SSe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a8(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};SSe(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return _Se(e,[{key:"init",value:function(n){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=Q2(i,this.options||{},CSe()),this.allOptions=o,this.services&&this.options.reloadInterval&&setInterval(function(){return r.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(n,r,i){this._readAny(n,n,r,r,i)}},{key:"read",value:function(n,r,i){this._readAny([n],n,[r],r,i)}},{key:"_readAny",value:function(n,r,i,o,s){var a=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,i)),l=pSe(l),l.then(function(u){if(!u)return s(null,{});var c=a.services.interpolator.interpolate(u,{lng:n.join("+"),ns:i.join("+")});a.loadUrl(c,s,r,o)})}},{key:"loadUrl",value:function(n,r,i,o){var s=this,a=typeof i=="string"?[i]:i,l=typeof o=="string"?[o]:o,u=this.options.parseLoadPayload(a,l);this.options.request(this.options,n,u,function(c,d){if(d&&(d.status>=500&&d.status<600||!d.status))return r("failed loading "+n+"; status code: "+d.status,!0);if(d&&d.status>=400&&d.status<500)return r("failed loading "+n+"; status code: "+d.status,!1);if(!d&&c&&c.message&&c.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+c.message,!0);if(c)return r(c,!1);var f,h;try{typeof d.data=="string"?f=s.options.parse(d.data,i,o):f=d.data}catch{h="failed parsing "+n+" to json"}if(h)return r(h,!1);r(null,f)})}},{key:"create",value:function(n,r,i,o,s){var a=this;if(this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,i,o),u=0,c=[],d=[];n.forEach(function(f){var h=a.options.addPath;typeof a.options.addPath=="function"&&(h=a.options.addPath(f,r));var p=a.services.interpolator.interpolate(h,{lng:f,ns:r});a.options.request(a.options,p,l,function(m,S){u+=1,c.push(m),d.push(S),u===n.length&&typeof s=="function"&&s(c,d)})})}}},{key:"reload",value:function(){var n=this,r=this.services,i=r.backendConnector,o=r.languageUtils,s=r.logger,a=i.language;if(!(a&&a.toLowerCase()==="cimode")){var l=[],u=function(d){var f=o.toResolveHierarchy(d);f.forEach(function(h){l.indexOf(h)<0&&l.push(h)})};u(a),this.allOptions.preload&&this.allOptions.preload.forEach(function(c){return u(c)}),l.forEach(function(c){n.allOptions.ns.forEach(function(d){i.read(c,d,"read",null,null,function(f,h){f&&s.warn("loading namespace ".concat(d," for language ").concat(c," failed"),f),!f&&h&&s.log("loaded namespace ".concat(d," for language ").concat(c),h),i.loaded("".concat(c,"|").concat(d),f,h)})})})}}}]),e}();qL.type="backend";const TSe=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,ESe={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},PSe=e=>ESe[e],ASe=e=>e.replace(TSe,PSe);let ew={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:ASe};function kSe(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};ew={...ew,...e}}function z4e(){return ew}let WL;function RSe(e){WL=e}function U4e(){return WL}const OSe={type:"3rdParty",init(e){kSe(e.options.react),RSe(e)}};zn.use(qL).use(OSe).init({fallbackLng:"en",debug:!1,backend:{loadPath:"/locales/{{lng}}.json"},interpolation:{escapeValue:!1},returnNull:!1});const MSe=e=>{const{socket:t,storeApi:n}=e,{dispatch:r,getState:i}=n;t.on("connect",()=>{fe("socketio").debug("Connected"),r(i7());const{sessionId:s}=i().system;s&&(t.emit("subscribe",{session:s}),r(zx({sessionId:s})))}),t.on("connect_error",o=>{o&&o.message&&o.data==="ERR_UNAUTHENTICATED"&&r(Ft(Ha({title:o.message,status:"error",duration:1e4})))}),t.on("disconnect",()=>{r(s7())}),t.on("invocation_started",o=>{r(d7({data:o}))}),t.on("generator_progress",o=>{r(y7({data:o}))}),t.on("invocation_error",o=>{r(p7({data:o}))}),t.on("invocation_complete",o=>{r(Ux({data:o}))}),t.on("graph_execution_state_complete",o=>{r(g7({data:o}))}),t.on("model_load_started",o=>{r(b7({data:o}))}),t.on("model_load_completed",o=>{r(S7({data:o}))}),t.on("session_retrieval_error",o=>{r(_7({data:o}))}),t.on("invocation_retrieval_error",o=>{r(x7({data:o}))})},ro=Object.create(null);ro.open="0";ro.close="1";ro.ping="2";ro.pong="3";ro.message="4";ro.upgrade="5";ro.noop="6";const kg=Object.create(null);Object.keys(ro).forEach(e=>{kg[ro[e]]=e});const ISe={type:"error",data:"parser error"},KL=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",XL=typeof ArrayBuffer=="function",YL=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,h3=({type:e,data:t},n,r)=>KL&&t instanceof Blob?n?r(t):l8(t,r):XL&&(t instanceof ArrayBuffer||YL(t))?n?r(t):l8(new Blob([t]),r):r(ro[e]+(t||"")),l8=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)};function u8(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let vS;function NSe(e,t){if(KL&&e.data instanceof Blob)return e.data.arrayBuffer().then(u8).then(t);if(XL&&(e.data instanceof ArrayBuffer||YL(e.data)))return t(u8(e.data));h3(e,!1,n=>{vS||(vS=new TextEncoder),t(vS.encode(n))})}const c8="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",md=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,n=e.length,r,i=0,o,s,a,l;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);const u=new ArrayBuffer(t),c=new Uint8Array(u);for(r=0;r>4,c[i++]=(s&15)<<4|a>>2,c[i++]=(a&3)<<6|l&63;return u},LSe=typeof ArrayBuffer=="function",p3=(e,t)=>{if(typeof e!="string")return{type:"message",data:QL(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:$Se(e.substring(1),t)}:kg[n]?e.length>1?{type:kg[n],data:e.substring(1)}:{type:kg[n]}:ISe},$Se=(e,t)=>{if(LSe){const n=DSe(e);return QL(n,t)}else return{base64:!0,data:e}},QL=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},ZL=String.fromCharCode(30),FSe=(e,t)=>{const n=e.length,r=new Array(n);let i=0;e.forEach((o,s)=>{h3(o,!1,a=>{r[s]=a,++i===n&&t(r.join(ZL))})})},BSe=(e,t)=>{const n=e.split(ZL),r=[];for(let i=0;i54;return p3(r?e:bS.decode(e),n)}const JL=4;function Qt(e){if(e)return VSe(e)}function VSe(e){for(var t in Qt.prototype)e[t]=Qt.prototype[t];return e}Qt.prototype.on=Qt.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this};Qt.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this};Qt.prototype.off=Qt.prototype.removeListener=Qt.prototype.removeAllListeners=Qt.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var n=this._callbacks["$"+e];if(!n)return this;if(arguments.length==1)return delete this._callbacks["$"+e],this;for(var r,i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function e$(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const zSe=qr.setTimeout,USe=qr.clearTimeout;function u1(e,t){t.useNativeTimers?(e.setTimeoutFn=zSe.bind(qr),e.clearTimeoutFn=USe.bind(qr)):(e.setTimeoutFn=qr.setTimeout.bind(qr),e.clearTimeoutFn=qr.clearTimeout.bind(qr))}const GSe=1.33;function HSe(e){return typeof e=="string"?qSe(e):Math.ceil((e.byteLength||e.size)*GSe)}function qSe(e){let t=0,n=0;for(let r=0,i=e.length;r=57344?n+=3:(r++,n+=4);return n}function WSe(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}function KSe(e){let t={},n=e.split("&");for(let r=0,i=n.length;r0);return t}function n$(){const e=h8(+new Date);return e!==f8?(d8=0,f8=e):e+"."+h8(d8++)}for(;Kp{this.readyState="paused",t()};if(this.polling||!this.writable){let r=0;this.polling&&(r++,this.once("pollComplete",function(){--r||n()})),this.writable||(r++,this.once("drain",function(){--r||n()}))}else n()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(t){const n=r=>{if(this.readyState==="opening"&&r.type==="open"&&this.onOpen(),r.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(r)};BSe(t,this.socket.binaryType).forEach(n),this.readyState!=="closed"&&(this.polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this.poll())}doClose(){const t=()=>{this.write([{type:"close"}])};this.readyState==="open"?t():this.once("open",t)}write(t){this.writable=!1,FSe(t,n=>{this.doWrite(n,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const t=this.opts.secure?"https":"http",n=this.query||{};return this.opts.timestampRequests!==!1&&(n[this.opts.timestampParam]=n$()),!this.supportsBinary&&!n.sid&&(n.b64=1),this.createUri(t,n)}request(t={}){return Object.assign(t,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new Fu(this.uri(),t)}doWrite(t,n){const r=this.request({method:"POST",data:t});r.on("success",n),r.on("error",(i,o)=>{this.onError("xhr post error",i,o)})}doPoll(){const t=this.request();t.on("data",this.onData.bind(this)),t.on("error",(n,r)=>{this.onError("xhr poll error",n,r)}),this.pollXhr=t}}let Fu=class Rg extends Qt{constructor(t,n){super(),u1(this,n),this.opts=n,this.method=n.method||"GET",this.uri=t,this.data=n.data!==void 0?n.data:null,this.create()}create(){var t;const n=e$(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this.opts.xd;const r=this.xhr=new i$(n);try{r.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let i in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&r.setRequestHeader(i,this.opts.extraHeaders[i])}}catch{}if(this.method==="POST")try{r.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{r.setRequestHeader("Accept","*/*")}catch{}(t=this.opts.cookieJar)===null||t===void 0||t.addCookies(r),"withCredentials"in r&&(r.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(r.timeout=this.opts.requestTimeout),r.onreadystatechange=()=>{var i;r.readyState===3&&((i=this.opts.cookieJar)===null||i===void 0||i.parseCookies(r)),r.readyState===4&&(r.status===200||r.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof r.status=="number"?r.status:0)},0))},r.send(this.data)}catch(i){this.setTimeoutFn(()=>{this.onError(i)},0);return}typeof document<"u"&&(this.index=Rg.requestsCount++,Rg.requests[this.index]=this)}onError(t){this.emitReserved("error",t,this.xhr),this.cleanup(!0)}cleanup(t){if(!(typeof this.xhr>"u"||this.xhr===null)){if(this.xhr.onreadystatechange=ZSe,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete Rg.requests[this.index],this.xhr=null}}onLoad(){const t=this.xhr.responseText;t!==null&&(this.emitReserved("data",t),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}};Fu.requestsCount=0;Fu.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",p8);else if(typeof addEventListener=="function"){const e="onpagehide"in qr?"pagehide":"unload";addEventListener(e,p8,!1)}}function p8(){for(let e in Fu.requests)Fu.requests.hasOwnProperty(e)&&Fu.requests[e].abort()}const m3=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),Xp=qr.WebSocket||qr.MozWebSocket,g8=!0,t_e="arraybuffer",m8=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class n_e extends g3{constructor(t){super(t),this.supportsBinary=!t.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const t=this.uri(),n=this.opts.protocols,r=m8?{}:e$(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(r.headers=this.opts.extraHeaders);try{this.ws=g8&&!m8?n?new Xp(t,n):new Xp(t):new Xp(t,n,r)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType||t_e,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=t=>this.onClose({description:"websocket connection closed",context:t}),this.ws.onmessage=t=>this.onData(t.data),this.ws.onerror=t=>this.onError("websocket error",t)}write(t){this.writable=!1;for(let n=0;n{const s={};try{g8&&this.ws.send(o)}catch{}i&&m3(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){const t=this.opts.secure?"wss":"ws",n=this.query||{};return this.opts.timestampRequests&&(n[this.opts.timestampParam]=n$()),this.supportsBinary||(n.b64=1),this.createUri(t,n)}check(){return!!Xp}}function r_e(e,t){return e.type==="message"&&typeof e.data!="string"&&t[0]>=48&&t[0]<=54}class i_e extends g3{get name(){return"webtransport"}doOpen(){typeof WebTransport=="function"&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then(()=>{this.onClose()}).catch(t=>{this.onError("webtransport error",t)}),this.transport.ready.then(()=>{this.transport.createBidirectionalStream().then(t=>{const n=t.readable.getReader();this.writer=t.writable.getWriter();let r;const i=()=>{n.read().then(({done:s,value:a})=>{s||(!r&&a.byteLength===1&&a[0]===54?r=!0:(this.onPacket(jSe(a,r,"arraybuffer")),r=!1),i())}).catch(s=>{})};i();const o=this.query.sid?`0{"sid":"${this.query.sid}"}`:"0";this.writer.write(new TextEncoder().encode(o)).then(()=>this.onOpen())})}))}write(t){this.writable=!1;for(let n=0;n{r_e(r,o)&&this.writer.write(Uint8Array.of(54)),this.writer.write(o).then(()=>{i&&m3(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})})}}doClose(){var t;(t=this.transport)===null||t===void 0||t.close()}}const o_e={websocket:n_e,webtransport:i_e,polling:e_e},s_e=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,a_e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function nw(e){const t=e,n=e.indexOf("["),r=e.indexOf("]");n!=-1&&r!=-1&&(e=e.substring(0,n)+e.substring(n,r).replace(/:/g,";")+e.substring(r,e.length));let i=s_e.exec(e||""),o={},s=14;for(;s--;)o[a_e[s]]=i[s]||"";return n!=-1&&r!=-1&&(o.source=t,o.host=o.host.substring(1,o.host.length-1).replace(/;/g,":"),o.authority=o.authority.replace("[","").replace("]","").replace(/;/g,":"),o.ipv6uri=!0),o.pathNames=l_e(o,o.path),o.queryKey=u_e(o,o.query),o}function l_e(e,t){const n=/\/{2,9}/g,r=t.replace(n,"/").split("/");return(t.slice(0,1)=="/"||t.length===0)&&r.splice(0,1),t.slice(-1)=="/"&&r.splice(r.length-1,1),r}function u_e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,i,o){i&&(n[i]=o)}),n}let o$=class Jl extends Qt{constructor(t,n={}){super(),this.writeBuffer=[],t&&typeof t=="object"&&(n=t,t=null),t?(t=nw(t),n.hostname=t.host,n.secure=t.protocol==="https"||t.protocol==="wss",n.port=t.port,t.query&&(n.query=t.query)):n.host&&(n.hostname=nw(n.host).host),u1(this,n),this.secure=n.secure!=null?n.secure:typeof location<"u"&&location.protocol==="https:",n.hostname&&!n.port&&(n.port=this.secure?"443":"80"),this.hostname=n.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=n.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=n.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},n),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=KSe(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,typeof addEventListener=="function"&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(t){const n=Object.assign({},this.opts.query);n.EIO=JL,n.transport=t,this.id&&(n.sid=this.id);const r=Object.assign({},this.opts,{query:n,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[t]);return new o_e[t](r)}open(){let t;if(this.opts.rememberUpgrade&&Jl.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)t="websocket";else if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}else t=this.transports[0];this.readyState="opening";try{t=this.createTransport(t)}catch{this.transports.shift(),this.open();return}t.open(),this.setTransport(t)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",n=>this.onClose("transport close",n))}probe(t){let n=this.createTransport(t),r=!1;Jl.priorWebsocketSuccess=!1;const i=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",d=>{if(!r)if(d.type==="pong"&&d.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Jl.priorWebsocketSuccess=n.name==="websocket",this.transport.pause(()=>{r||this.readyState!=="closed"&&(c(),this.setTransport(n),n.send([{type:"upgrade"}]),this.emitReserved("upgrade",n),n=null,this.upgrading=!1,this.flush())})}else{const f=new Error("probe error");f.transport=n.name,this.emitReserved("upgradeError",f)}}))};function o(){r||(r=!0,c(),n.close(),n=null)}const s=d=>{const f=new Error("probe error: "+d);f.transport=n.name,o(),this.emitReserved("upgradeError",f)};function a(){s("transport closed")}function l(){s("socket closed")}function u(d){n&&d.name!==n.name&&o()}const c=()=>{n.removeListener("open",i),n.removeListener("error",s),n.removeListener("close",a),this.off("close",l),this.off("upgrading",u)};n.once("open",i),n.once("error",s),n.once("close",a),this.once("close",l),this.once("upgrading",u),this.upgrades.indexOf("webtransport")!==-1&&t!=="webtransport"?this.setTimeoutFn(()=>{r||n.open()},200):n.open()}onOpen(){if(this.readyState="open",Jl.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade){let t=0;const n=this.upgrades.length;for(;t{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const t=this.getWritablePackets();this.transport.send(t),this.prevBufferLen=t.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let n=1;for(let r=0;r0&&n>this.maxPayload)return this.writeBuffer.slice(0,r);n+=2}return this.writeBuffer}write(t,n,r){return this.sendPacket("message",t,n,r),this}send(t,n,r){return this.sendPacket("message",t,n,r),this}sendPacket(t,n,r,i){if(typeof n=="function"&&(i=n,n=void 0),typeof r=="function"&&(i=r,r=null),this.readyState==="closing"||this.readyState==="closed")return;r=r||{},r.compress=r.compress!==!1;const o={type:t,data:n,options:r};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),i&&this.once("flush",i),this.flush()}close(){const t=()=>{this.onClose("forced close"),this.transport.close()},n=()=>{this.off("upgrade",n),this.off("upgradeError",n),t()},r=()=>{this.once("upgrade",n),this.once("upgradeError",n)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?r():t()}):this.upgrading?r():t()),this}onError(t){Jl.priorWebsocketSuccess=!1,this.emitReserved("error",t),this.onClose("transport error",t)}onClose(t,n){(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")&&(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),typeof removeEventListener=="function"&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",t,n),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(t){const n=[];let r=0;const i=t.length;for(;rtypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,s$=Object.prototype.toString,h_e=typeof Blob=="function"||typeof Blob<"u"&&s$.call(Blob)==="[object BlobConstructor]",p_e=typeof File=="function"||typeof File<"u"&&s$.call(File)==="[object FileConstructor]";function y3(e){return d_e&&(e instanceof ArrayBuffer||f_e(e))||h_e&&e instanceof Blob||p_e&&e instanceof File}function Og(e,t){if(!e||typeof e!="object")return!1;if(Array.isArray(e)){for(let n=0,r=e.length;n=0&&e.num{delete this.acks[t];for(let s=0;s{this.io.clearTimeoutFn(o),n.apply(this,[null,...s])}}emitWithAck(t,...n){const r=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((i,o)=>{n.push((s,a)=>r?s?o(s):i(a):i(s)),this.emit(t,...n)})}_addToQueue(t){let n;typeof t[t.length-1]=="function"&&(n=t.pop());const r={id:this._queueSeq++,tryCount:0,pending:!1,args:t,flags:Object.assign({fromQueue:!0},this.flags)};t.push((i,...o)=>r!==this._queue[0]?void 0:(i!==null?r.tryCount>this._opts.retries&&(this._queue.shift(),n&&n(i)):(this._queue.shift(),n&&n(null,...o)),r.pending=!1,this._drainQueue())),this._queue.push(r),this._drainQueue()}_drainQueue(t=!1){if(!this.connected||this._queue.length===0)return;const n=this._queue[0];n.pending&&!t||(n.pending=!0,n.tryCount++,this.flags=n.flags,this.emit.apply(this,n.args))}packet(t){t.nsp=this.nsp,this.io._packet(t)}onopen(){typeof this.auth=="function"?this.auth(t=>{this._sendConnectPacket(t)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(t){this.packet({type:Ne.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},t):t})}onerror(t){this.connected||this.emitReserved("connect_error",t)}onclose(t,n){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,n)}onpacket(t){if(t.nsp===this.nsp)switch(t.type){case Ne.CONNECT:t.data&&t.data.sid?this.onconnect(t.data.sid,t.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case Ne.EVENT:case Ne.BINARY_EVENT:this.onevent(t);break;case Ne.ACK:case Ne.BINARY_ACK:this.onack(t);break;case Ne.DISCONNECT:this.ondisconnect();break;case Ne.CONNECT_ERROR:this.destroy();const r=new Error(t.data.message);r.data=t.data.data,this.emitReserved("connect_error",r);break}}onevent(t){const n=t.data||[];t.id!=null&&n.push(this.ack(t.id)),this.connected?this.emitEvent(n):this.receiveBuffer.push(Object.freeze(n))}emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const n=this._anyListeners.slice();for(const r of n)r.apply(this,t)}super.emit.apply(this,t),this._pid&&t.length&&typeof t[t.length-1]=="string"&&(this._lastOffset=t[t.length-1])}ack(t){const n=this;let r=!1;return function(...i){r||(r=!0,n.packet({type:Ne.ACK,id:t,data:i}))}}onack(t){const n=this.acks[t.id];typeof n=="function"&&(n.apply(this,t.data),delete this.acks[t.id])}onconnect(t,n){this.id=t,this.recovered=n&&this._pid===n,this._pid=n,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.receiveBuffer=[],this.sendBuffer.forEach(t=>{this.notifyOutgoingListeners(t),this.packet(t)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:Ne.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(t){return this.flags.compress=t,this}get volatile(){return this.flags.volatile=!0,this}timeout(t){return this.flags.timeout=t,this}onAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(t),this}prependAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(t),this}offAny(t){if(!this._anyListeners)return this;if(t){const n=this._anyListeners;for(let r=0;r0&&e.jitter<=1?e.jitter:0,this.attempts=0}Ec.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=Math.floor(t*10)&1?e+n:e-n}return Math.min(e,this.max)|0};Ec.prototype.reset=function(){this.attempts=0};Ec.prototype.setMin=function(e){this.ms=e};Ec.prototype.setMax=function(e){this.max=e};Ec.prototype.setJitter=function(e){this.jitter=e};class ow extends Qt{constructor(t,n){var r;super(),this.nsps={},this.subs=[],t&&typeof t=="object"&&(n=t,t=void 0),n=n||{},n.path=n.path||"/socket.io",this.opts=n,u1(this,n),this.reconnection(n.reconnection!==!1),this.reconnectionAttempts(n.reconnectionAttempts||1/0),this.reconnectionDelay(n.reconnectionDelay||1e3),this.reconnectionDelayMax(n.reconnectionDelayMax||5e3),this.randomizationFactor((r=n.randomizationFactor)!==null&&r!==void 0?r:.5),this.backoff=new Ec({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=t;const i=n.parser||__e;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=n.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(t){return arguments.length?(this._reconnection=!!t,this):this._reconnection}reconnectionAttempts(t){return t===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}reconnectionDelay(t){var n;return t===void 0?this._reconnectionDelay:(this._reconnectionDelay=t,(n=this.backoff)===null||n===void 0||n.setMin(t),this)}randomizationFactor(t){var n;return t===void 0?this._randomizationFactor:(this._randomizationFactor=t,(n=this.backoff)===null||n===void 0||n.setJitter(t),this)}reconnectionDelayMax(t){var n;return t===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,(n=this.backoff)===null||n===void 0||n.setMax(t),this)}timeout(t){return arguments.length?(this._timeout=t,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(t){if(~this._readyState.indexOf("open"))return this;this.engine=new o$(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const i=ui(n,"open",function(){r.onopen(),t&&t()}),o=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),t?t(a):this.maybeReconnectOnOpen()},s=ui(n,"error",o);if(this._timeout!==!1){const a=this._timeout,l=this.setTimeoutFn(()=>{i(),o(new Error("timeout")),n.close()},a);this.opts.autoUnref&&l.unref(),this.subs.push(()=>{this.clearTimeoutFn(l)})}return this.subs.push(i),this.subs.push(s),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(ui(t,"ping",this.onping.bind(this)),ui(t,"data",this.ondata.bind(this)),ui(t,"error",this.onerror.bind(this)),ui(t,"close",this.onclose.bind(this)),ui(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(t){try{this.decoder.add(t)}catch(n){this.onclose("parse error",n)}}ondecoded(t){m3(()=>{this.emitReserved("packet",t)},this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,n){let r=this.nsps[t];return r?this._autoConnect&&!r.active&&r.connect():(r=new a$(this,t,n),this.nsps[t]=r),r}_destroy(t){const n=Object.keys(this.nsps);for(const r of n)if(this.nsps[r].active)return;this._close()}_packet(t){const n=this.encoder.encode(t);for(let r=0;rt()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(t,n){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",t,n),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const n=this.backoff.duration();this._reconnecting=!0;const r=this.setTimeoutFn(()=>{t.skipReconnect||(this.emitReserved("reconnect_attempt",t.backoff.attempts),!t.skipReconnect&&t.open(i=>{i?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",i)):t.onreconnect()}))},n);this.opts.autoUnref&&r.unref(),this.subs.push(()=>{this.clearTimeoutFn(r)})}}onreconnect(){const t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const sd={};function Mg(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=c_e(e,t.path||"/socket.io"),r=n.source,i=n.id,o=n.path,s=sd[i]&&o in sd[i].nsps,a=t.forceNew||t["force new connection"]||t.multiplex===!1||s;let l;return a?l=new ow(r,t):(sd[i]||(sd[i]=new ow(r,t)),l=sd[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign(Mg,{Manager:ow,Socket:a$,io:Mg,connect:Mg});const v8=()=>{let e=!1,t=`ws://${window.location.host}`;const n={timeout:6e4,path:"/ws/socket.io",autoConnect:!1};if(["nodes","package"].includes("production")){const o=Tf.get();o&&(t=o.replace(/^https?\:\/\//i,""));const s=Cf.get();s&&(n.auth={token:s}),n.transports=["websocket","polling"]}const r=Mg(t,n);return o=>s=>a=>{const{dispatch:l,getState:u}=o;if(e||(MSe({storeApi:o,socket:r}),e=!0,r.connect()),Rn.fulfilled.match(a)){const c=a.payload.id,d=u().system.sessionId;d&&(r.emit("unsubscribe",{session:d}),l(u7({sessionId:d}))),r.emit("subscribe",{session:c}),l(zx({sessionId:c}))}s(a)}},c1=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Pc(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function b3(e){return"nodeType"in e}function or(e){var t,n;return e?Pc(e)?e:b3(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function S3(e){const{Document:t}=or(e);return e instanceof t}function Vh(e){return Pc(e)?!1:e instanceof or(e).HTMLElement}function x_e(e){return e instanceof or(e).SVGElement}function Ac(e){return e?Pc(e)?e.document:b3(e)?S3(e)?e:Vh(e)?e.ownerDocument:document:document:document}const io=c1?k.useLayoutEffect:k.useEffect;function d1(e){const t=k.useRef(e);return io(()=>{t.current=e}),k.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i{e.current=setInterval(r,i)},[]),n=k.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function Xf(e,t){t===void 0&&(t=[e]);const n=k.useRef(e);return io(()=>{n.current!==e&&(n.current=e)},t),n}function zh(e,t){const n=k.useRef();return k.useMemo(()=>{const r=e(n.current);return n.current=r,r},[...t])}function my(e){const t=d1(e),n=k.useRef(null),r=k.useCallback(i=>{i!==n.current&&(t==null||t(i,n.current)),n.current=i},[]);return[n,r]}function yy(e){const t=k.useRef();return k.useEffect(()=>{t.current=e},[e]),t.current}let SS={};function f1(e,t){return k.useMemo(()=>{if(t)return t;const n=SS[e]==null?0:SS[e]+1;return SS[e]=n,e+"-"+n},[e,t])}function l$(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{const a=Object.entries(s);for(const[l,u]of a){const c=o[l];c!=null&&(o[l]=c+e*u)}return o},{...t})}}const Bu=l$(1),vy=l$(-1);function T_e(e){return"clientX"in e&&"clientY"in e}function _3(e){if(!e)return!1;const{KeyboardEvent:t}=or(e.target);return t&&e instanceof t}function E_e(e){if(!e)return!1;const{TouchEvent:t}=or(e.target);return t&&e instanceof t}function Yf(e){if(E_e(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return T_e(e)?{x:e.clientX,y:e.clientY}:null}const Qf=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[Qf.Translate.toString(e),Qf.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),b8="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function P_e(e){return e.matches(b8)?e:e.querySelector(b8)}const A_e={display:"none"};function k_e(e){let{id:t,value:n}=e;return Xe.createElement("div",{id:t,style:A_e},n)}const R_e={position:"fixed",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};function O_e(e){let{id:t,announcement:n}=e;return Xe.createElement("div",{id:t,style:R_e,role:"status","aria-live":"assertive","aria-atomic":!0},n)}function M_e(){const[e,t]=k.useState("");return{announce:k.useCallback(r=>{r!=null&&t(r)},[]),announcement:e}}const u$=k.createContext(null);function I_e(e){const t=k.useContext(u$);k.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of ");return t(e)},[e,t])}function N_e(){const[e]=k.useState(()=>new Set),t=k.useCallback(r=>(e.add(r),()=>e.delete(r)),[e]);return[k.useCallback(r=>{let{type:i,event:o}=r;e.forEach(s=>{var a;return(a=s[i])==null?void 0:a.call(s,o)})},[e]),t]}const D_e={draggable:` - To pick up a draggable item, press the space bar. - While dragging, use the arrow keys to move the item. - Press space again to drop the item in its new position, or press escape to cancel. - `},L_e={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function $_e(e){let{announcements:t=L_e,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=D_e}=e;const{announce:o,announcement:s}=M_e(),a=f1("DndLiveRegion"),[l,u]=k.useState(!1);if(k.useEffect(()=>{u(!0)},[]),I_e(k.useMemo(()=>({onDragStart(d){let{active:f}=d;o(t.onDragStart({active:f}))},onDragMove(d){let{active:f,over:h}=d;t.onDragMove&&o(t.onDragMove({active:f,over:h}))},onDragOver(d){let{active:f,over:h}=d;o(t.onDragOver({active:f,over:h}))},onDragEnd(d){let{active:f,over:h}=d;o(t.onDragEnd({active:f,over:h}))},onDragCancel(d){let{active:f,over:h}=d;o(t.onDragCancel({active:f,over:h}))}}),[o,t])),!l)return null;const c=Xe.createElement(Xe.Fragment,null,Xe.createElement(k_e,{id:r,value:i.draggable}),Xe.createElement(O_e,{id:a,announcement:s}));return n?zi.createPortal(c,n):c}var tn;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(tn||(tn={}));function by(){}function S8(e,t){return k.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function F_e(){for(var e=arguments.length,t=new Array(e),n=0;n[...t].filter(r=>r!=null),[...t])}const Ei=Object.freeze({x:0,y:0});function B_e(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function j_e(e,t){const n=Yf(e);if(!n)return"0 0";const r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}function V_e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function z_e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function U_e(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function G_e(e,t){if(!e||e.length===0)return null;const[n]=e;return t?n[t]:n}function H_e(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),o=Math.min(t.top+t.height,e.top+e.height),s=i-r,a=o-n;if(r{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=[];for(const o of r){const{id:s}=o,a=n.get(s);if(a){const l=H_e(a,t);l>0&&i.push({id:s,data:{droppableContainer:o,value:l}})}}return i.sort(z_e)};function W_e(e,t){const{top:n,left:r,bottom:i,right:o}=t;return n<=e.y&&e.y<=i&&r<=e.x&&e.x<=o}const K_e=e=>{let{droppableContainers:t,droppableRects:n,pointerCoordinates:r}=e;if(!r)return[];const i=[];for(const o of t){const{id:s}=o,a=n.get(s);if(a&&W_e(r,a)){const u=U_e(a).reduce((d,f)=>d+B_e(r,f),0),c=Number((u/4).toFixed(4));i.push({id:s,data:{droppableContainer:o,value:c}})}}return i.sort(V_e)};function X_e(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function c$(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Ei}function Y_e(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o({...s,top:s.top+e*a.y,bottom:s.bottom+e*a.y,left:s.left+e*a.x,right:s.right+e*a.x}),{...n})}}const Q_e=Y_e(1);function d$(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function Z_e(e,t,n){const r=d$(t);if(!r)return e;const{scaleX:i,scaleY:o,x:s,y:a}=r,l=e.left-s-(1-i)*parseFloat(n),u=e.top-a-(1-o)*parseFloat(n.slice(n.indexOf(" ")+1)),c=i?e.width/i:e.width,d=o?e.height/o:e.height;return{width:c,height:d,top:u,right:l+c,bottom:u+d,left:l}}const J_e={ignoreTransform:!1};function Uh(e,t){t===void 0&&(t=J_e);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:u,transformOrigin:c}=or(e).getComputedStyle(e);u&&(n=Z_e(n,u,c))}const{top:r,left:i,width:o,height:s,bottom:a,right:l}=n;return{top:r,left:i,width:o,height:s,bottom:a,right:l}}function _8(e){return Uh(e,{ignoreTransform:!0})}function e2e(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function t2e(e,t){return t===void 0&&(t=or(e).getComputedStyle(e)),t.position==="fixed"}function n2e(e,t){t===void 0&&(t=or(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const o=t[i];return typeof o=="string"?n.test(o):!1})}function w3(e,t){const n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(S3(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Vh(i)||x_e(i)||n.includes(i))return n;const o=or(e).getComputedStyle(i);return i!==e&&n2e(i,o)&&n.push(i),t2e(i,o)?n:r(i.parentNode)}return e?r(e):n}function f$(e){const[t]=w3(e,1);return t??null}function _S(e){return!c1||!e?null:Pc(e)?e:b3(e)?S3(e)||e===Ac(e).scrollingElement?window:Vh(e)?e:null:null}function h$(e){return Pc(e)?e.scrollX:e.scrollLeft}function p$(e){return Pc(e)?e.scrollY:e.scrollTop}function sw(e){return{x:h$(e),y:p$(e)}}var fn;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(fn||(fn={}));function g$(e){return!c1||!e?!1:e===document.scrollingElement}function m$(e){const t={x:0,y:0},n=g$(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},i=e.scrollTop<=t.y,o=e.scrollLeft<=t.x,s=e.scrollTop>=r.y,a=e.scrollLeft>=r.x;return{isTop:i,isLeft:o,isBottom:s,isRight:a,maxScroll:r,minScroll:t}}const r2e={x:.2,y:.2};function i2e(e,t,n,r,i){let{top:o,left:s,right:a,bottom:l}=n;r===void 0&&(r=10),i===void 0&&(i=r2e);const{isTop:u,isBottom:c,isLeft:d,isRight:f}=m$(e),h={x:0,y:0},p={x:0,y:0},m={height:t.height*i.y,width:t.width*i.x};return!u&&o<=t.top+m.height?(h.y=fn.Backward,p.y=r*Math.abs((t.top+m.height-o)/m.height)):!c&&l>=t.bottom-m.height&&(h.y=fn.Forward,p.y=r*Math.abs((t.bottom-m.height-l)/m.height)),!f&&a>=t.right-m.width?(h.x=fn.Forward,p.x=r*Math.abs((t.right-m.width-a)/m.width)):!d&&s<=t.left+m.width&&(h.x=fn.Backward,p.x=r*Math.abs((t.left+m.width-s)/m.width)),{direction:h,speed:p}}function o2e(e){if(e===document.scrollingElement){const{innerWidth:o,innerHeight:s}=window;return{top:0,left:0,right:o,bottom:s,width:o,height:s}}const{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function y$(e){return e.reduce((t,n)=>Bu(t,sw(n)),Ei)}function s2e(e){return e.reduce((t,n)=>t+h$(n),0)}function a2e(e){return e.reduce((t,n)=>t+p$(n),0)}function v$(e,t){if(t===void 0&&(t=Uh),!e)return;const{top:n,left:r,bottom:i,right:o}=t(e);f$(e)&&(i<=0||o<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const l2e=[["x",["left","right"],s2e],["y",["top","bottom"],a2e]];class x3{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=w3(n),i=y$(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,s,a]of l2e)for(const l of s)Object.defineProperty(this,l,{get:()=>{const u=a(r),c=i[o]-u;return this.rect[l]+c},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Dd{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=t}add(t,n,r){var i;(i=this.target)==null||i.addEventListener(t,n,r),this.listeners.push([t,n,r])}}function u2e(e){const{EventTarget:t}=or(e);return e instanceof t?e:Ac(e)}function wS(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return typeof t=="number"?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t?r>t.y:!1}var Ur;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(Ur||(Ur={}));function w8(e){e.preventDefault()}function c2e(e){e.stopPropagation()}var at;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter"})(at||(at={}));const b$={start:[at.Space,at.Enter],cancel:[at.Esc],end:[at.Space,at.Enter]},d2e=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case at.Right:return{...n,x:n.x+25};case at.Left:return{...n,x:n.x-25};case at.Down:return{...n,y:n.y+25};case at.Up:return{...n,y:n.y-25}}};class S${constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:n}}=t;this.props=t,this.listeners=new Dd(Ac(n)),this.windowListeners=new Dd(or(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Ur.Resize,this.handleCancel),this.windowListeners.add(Ur.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Ur.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&v$(r),n(Ei)}handleKeyDown(t){if(_3(t)){const{active:n,context:r,options:i}=this.props,{keyboardCodes:o=b$,coordinateGetter:s=d2e,scrollBehavior:a="smooth"}=i,{code:l}=t;if(o.end.includes(l)){this.handleEnd(t);return}if(o.cancel.includes(l)){this.handleCancel(t);return}const{collisionRect:u}=r.current,c=u?{x:u.left,y:u.top}:Ei;this.referenceCoordinates||(this.referenceCoordinates=c);const d=s(t,{active:n,context:r.current,currentCoordinates:c});if(d){const f=vy(d,c),h={x:0,y:0},{scrollableAncestors:p}=r.current;for(const m of p){const S=t.code,{isTop:y,isRight:v,isLeft:g,isBottom:b,maxScroll:_,minScroll:w}=m$(m),x=o2e(m),T={x:Math.min(S===at.Right?x.right-x.width/2:x.right,Math.max(S===at.Right?x.left:x.left+x.width/2,d.x)),y:Math.min(S===at.Down?x.bottom-x.height/2:x.bottom,Math.max(S===at.Down?x.top:x.top+x.height/2,d.y))},P=S===at.Right&&!v||S===at.Left&&!g,E=S===at.Down&&!b||S===at.Up&&!y;if(P&&T.x!==d.x){const A=m.scrollLeft+f.x,$=S===at.Right&&A<=_.x||S===at.Left&&A>=w.x;if($&&!f.y){m.scrollTo({left:A,behavior:a});return}$?h.x=m.scrollLeft-A:h.x=S===at.Right?m.scrollLeft-_.x:m.scrollLeft-w.x,h.x&&m.scrollBy({left:-h.x,behavior:a});break}else if(E&&T.y!==d.y){const A=m.scrollTop+f.y,$=S===at.Down&&A<=_.y||S===at.Up&&A>=w.y;if($&&!f.x){m.scrollTo({top:A,behavior:a});return}$?h.y=m.scrollTop-A:h.y=S===at.Down?m.scrollTop-_.y:m.scrollTop-w.y,h.y&&m.scrollBy({top:-h.y,behavior:a});break}}this.handleMove(t,Bu(vy(d,this.referenceCoordinates),h))}}}handleMove(t,n){const{onMove:r}=this.props;t.preventDefault(),r(n)}handleEnd(t){const{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){const{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}S$.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=b$,onActivation:i}=t,{active:o}=n;const{code:s}=e.nativeEvent;if(r.start.includes(s)){const a=o.activatorNode.current;return a&&e.target!==a?!1:(e.preventDefault(),i==null||i({event:e.nativeEvent}),!0)}return!1}}];function x8(e){return!!(e&&"distance"in e)}function C8(e){return!!(e&&"delay"in e)}class C3{constructor(t,n,r){var i;r===void 0&&(r=u2e(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;const{event:o}=t,{target:s}=o;this.props=t,this.events=n,this.document=Ac(s),this.documentListeners=new Dd(this.document),this.listeners=new Dd(r),this.windowListeners=new Dd(or(s)),this.initialCoordinates=(i=Yf(o))!=null?i:Ei,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:n}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),this.windowListeners.add(Ur.Resize,this.handleCancel),this.windowListeners.add(Ur.DragStart,w8),this.windowListeners.add(Ur.VisibilityChange,this.handleCancel),this.windowListeners.add(Ur.ContextMenu,w8),this.documentListeners.add(Ur.Keydown,this.handleKeydown),n){if(x8(n))return;if(C8(n)){this.timeoutId=setTimeout(this.handleStart,n.delay);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(Ur.Click,c2e,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Ur.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:r,initialCoordinates:i,props:o}=this,{onMove:s,options:{activationConstraint:a}}=o;if(!i)return;const l=(n=Yf(t))!=null?n:Ei,u=vy(i,l);if(!r&&a){if(C8(a))return wS(u,a.tolerance)?this.handleCancel():void 0;if(x8(a))return a.tolerance!=null&&wS(u,a.tolerance)?this.handleCancel():wS(u,a.distance)?this.handleStart():void 0}t.cancelable&&t.preventDefault(),s(l)}handleEnd(){const{onEnd:t}=this.props;this.detach(),t()}handleCancel(){const{onCancel:t}=this.props;this.detach(),t()}handleKeydown(t){t.code===at.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const f2e={move:{name:"pointermove"},end:{name:"pointerup"}};class _$ extends C3{constructor(t){const{event:n}=t,r=Ac(n.target);super(t,f2e,r)}}_$.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r==null||r({event:n}),!0)}}];const h2e={move:{name:"mousemove"},end:{name:"mouseup"}};var aw;(function(e){e[e.RightClick=2]="RightClick"})(aw||(aw={}));class w$ extends C3{constructor(t){super(t,h2e,Ac(t.event.target))}}w$.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===aw.RightClick?!1:(r==null||r({event:n}),!0)}}];const xS={move:{name:"touchmove"},end:{name:"touchend"}};class x$ extends C3{constructor(t){super(t,xS)}static setup(){return window.addEventListener(xS.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(xS.move.name,t)};function t(){}}}x$.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:i}=n;return i.length>1?!1:(r==null||r({event:n}),!0)}}];var Ld;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(Ld||(Ld={}));var Sy;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(Sy||(Sy={}));function p2e(e){let{acceleration:t,activator:n=Ld.Pointer,canScroll:r,draggingRect:i,enabled:o,interval:s=5,order:a=Sy.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:c,delta:d,threshold:f}=e;const h=m2e({delta:d,disabled:!o}),[p,m]=C_e(),S=k.useRef({x:0,y:0}),y=k.useRef({x:0,y:0}),v=k.useMemo(()=>{switch(n){case Ld.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Ld.DraggableRect:return i}},[n,i,l]),g=k.useRef(null),b=k.useCallback(()=>{const w=g.current;if(!w)return;const x=S.current.x*y.current.x,T=S.current.y*y.current.y;w.scrollBy(x,T)},[]),_=k.useMemo(()=>a===Sy.TreeOrder?[...u].reverse():u,[a,u]);k.useEffect(()=>{if(!o||!u.length||!v){m();return}for(const w of _){if((r==null?void 0:r(w))===!1)continue;const x=u.indexOf(w),T=c[x];if(!T)continue;const{direction:P,speed:E}=i2e(w,T,v,t,f);for(const A of["x","y"])h[A][P[A]]||(E[A]=0,P[A]=0);if(E.x>0||E.y>0){m(),g.current=w,p(b,s),S.current=E,y.current=P;return}}S.current={x:0,y:0},y.current={x:0,y:0},m()},[t,b,r,m,o,s,JSON.stringify(v),JSON.stringify(h),p,u,_,c,JSON.stringify(f)])}const g2e={x:{[fn.Backward]:!1,[fn.Forward]:!1},y:{[fn.Backward]:!1,[fn.Forward]:!1}};function m2e(e){let{delta:t,disabled:n}=e;const r=yy(t);return zh(i=>{if(n||!r||!i)return g2e;const o={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[fn.Backward]:i.x[fn.Backward]||o.x===-1,[fn.Forward]:i.x[fn.Forward]||o.x===1},y:{[fn.Backward]:i.y[fn.Backward]||o.y===-1,[fn.Forward]:i.y[fn.Forward]||o.y===1}}},[n,t,r])}function y2e(e,t){const n=t!==null?e.get(t):void 0,r=n?n.node.current:null;return zh(i=>{var o;return t===null?null:(o=r??i)!=null?o:null},[r,t])}function v2e(e,t){return k.useMemo(()=>e.reduce((n,r)=>{const{sensor:i}=r,o=i.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,r)}));return[...n,...o]},[]),[e,t])}var Zf;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(Zf||(Zf={}));var lw;(function(e){e.Optimized="optimized"})(lw||(lw={}));const T8=new Map;function b2e(e,t){let{dragging:n,dependencies:r,config:i}=t;const[o,s]=k.useState(null),{frequency:a,measure:l,strategy:u}=i,c=k.useRef(e),d=S(),f=Xf(d),h=k.useCallback(function(y){y===void 0&&(y=[]),!f.current&&s(v=>v===null?y:v.concat(y.filter(g=>!v.includes(g))))},[f]),p=k.useRef(null),m=zh(y=>{if(d&&!n)return T8;if(!y||y===T8||c.current!==e||o!=null){const v=new Map;for(let g of e){if(!g)continue;if(o&&o.length>0&&!o.includes(g.id)&&g.rect.current){v.set(g.id,g.rect.current);continue}const b=g.node.current,_=b?new x3(l(b),b):null;g.rect.current=_,_&&v.set(g.id,_)}return v}return y},[e,o,n,d,l]);return k.useEffect(()=>{c.current=e},[e]),k.useEffect(()=>{d||h()},[n,d]),k.useEffect(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),k.useEffect(()=>{d||typeof a!="number"||p.current!==null||(p.current=setTimeout(()=>{h(),p.current=null},a))},[a,d,h,...r]),{droppableRects:m,measureDroppableContainers:h,measuringScheduled:o!=null};function S(){switch(u){case Zf.Always:return!1;case Zf.BeforeDragging:return n;default:return!n}}}function T3(e,t){return zh(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function S2e(e,t){return T3(e,t)}function _2e(e){let{callback:t,disabled:n}=e;const r=d1(t),i=k.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(r)},[r,n]);return k.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function h1(e){let{callback:t,disabled:n}=e;const r=d1(t),i=k.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return k.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function w2e(e){return new x3(Uh(e),e)}function E8(e,t,n){t===void 0&&(t=w2e);const[r,i]=k.useReducer(a,null),o=_2e({callback(l){if(e)for(const u of l){const{type:c,target:d}=u;if(c==="childList"&&d instanceof HTMLElement&&d.contains(e)){i();break}}}}),s=h1({callback:i});return io(()=>{i(),e?(s==null||s.observe(e),o==null||o.observe(document.body,{childList:!0,subtree:!0})):(s==null||s.disconnect(),o==null||o.disconnect())},[e]),r;function a(l){if(!e)return null;if(e.isConnected===!1){var u;return(u=l??n)!=null?u:null}const c=t(e);return JSON.stringify(l)===JSON.stringify(c)?l:c}}function x2e(e){const t=T3(e);return c$(e,t)}const P8=[];function C2e(e){const t=k.useRef(e),n=zh(r=>e?r&&r!==P8&&e&&t.current&&e.parentNode===t.current.parentNode?r:w3(e):P8,[e]);return k.useEffect(()=>{t.current=e},[e]),n}function T2e(e){const[t,n]=k.useState(null),r=k.useRef(e),i=k.useCallback(o=>{const s=_S(o.target);s&&n(a=>a?(a.set(s,sw(s)),new Map(a)):null)},[]);return k.useEffect(()=>{const o=r.current;if(e!==o){s(o);const a=e.map(l=>{const u=_S(l);return u?(u.addEventListener("scroll",i,{passive:!0}),[u,sw(u)]):null}).filter(l=>l!=null);n(a.length?new Map(a):null),r.current=e}return()=>{s(e),s(o)};function s(a){a.forEach(l=>{const u=_S(l);u==null||u.removeEventListener("scroll",i)})}},[i,e]),k.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,s)=>Bu(o,s),Ei):y$(e):Ei,[e,t])}function A8(e,t){t===void 0&&(t=[]);const n=k.useRef(null);return k.useEffect(()=>{n.current=null},t),k.useEffect(()=>{const r=e!==Ei;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?vy(e,n.current):Ei}function E2e(e){k.useEffect(()=>{if(!c1)return;const t=e.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of t)n==null||n()}},e.map(t=>{let{sensor:n}=t;return n}))}function P2e(e,t){return k.useMemo(()=>e.reduce((n,r)=>{let{eventName:i,handler:o}=r;return n[i]=s=>{o(s,t)},n},{}),[e,t])}function C$(e){return k.useMemo(()=>e?e2e(e):null,[e])}const CS=[];function A2e(e,t){t===void 0&&(t=Uh);const[n]=e,r=C$(n?or(n):null),[i,o]=k.useReducer(a,CS),s=h1({callback:o});return e.length>0&&i===CS&&o(),io(()=>{e.length?e.forEach(l=>s==null?void 0:s.observe(l)):(s==null||s.disconnect(),o())},[e]),i;function a(){return e.length?e.map(l=>g$(l)?r:new x3(t(l),l)):CS}}function T$(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Vh(t)?t:e}function k2e(e){let{measure:t}=e;const[n,r]=k.useState(null),i=k.useCallback(u=>{for(const{target:c}of u)if(Vh(c)){r(d=>{const f=t(c);return d?{...d,width:f.width,height:f.height}:f});break}},[t]),o=h1({callback:i}),s=k.useCallback(u=>{const c=T$(u);o==null||o.disconnect(),c&&(o==null||o.observe(c)),r(c?t(c):null)},[t,o]),[a,l]=my(s);return k.useMemo(()=>({nodeRef:a,rect:n,setRef:l}),[n,a,l])}const R2e=[{sensor:_$,options:{}},{sensor:S$,options:{}}],O2e={current:{}},Ig={draggable:{measure:_8},droppable:{measure:_8,strategy:Zf.WhileDragging,frequency:lw.Optimized},dragOverlay:{measure:Uh}};class $d extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,r;return(n=(r=this.get(t))==null?void 0:r.node.current)!=null?n:void 0}}const M2e={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new $d,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:by},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Ig,measureDroppableContainers:by,windowRect:null,measuringScheduled:!1},E$={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:by,draggableNodes:new Map,over:null,measureDroppableContainers:by},Gh=k.createContext(E$),P$=k.createContext(M2e);function I2e(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new $d}}}function N2e(e,t){switch(t.type){case tn.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case tn.DragMove:return e.draggable.active?{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}}:e;case tn.DragEnd:case tn.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case tn.RegisterDroppable:{const{element:n}=t,{id:r}=n,i=new $d(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case tn.SetDroppableDisabled:{const{id:n,key:r,disabled:i}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const s=new $d(e.droppable.containers);return s.set(n,{...o,disabled:i}),{...e,droppable:{...e.droppable,containers:s}}}case tn.UnregisterDroppable:{const{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const o=new $d(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function D2e(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:i}=k.useContext(Gh),o=yy(r),s=yy(n==null?void 0:n.id);return k.useEffect(()=>{if(!t&&!r&&o&&s!=null){if(!_3(o)||document.activeElement===o.target)return;const a=i.get(s);if(!a)return;const{activatorNode:l,node:u}=a;if(!l.current&&!u.current)return;requestAnimationFrame(()=>{for(const c of[l.current,u.current]){if(!c)continue;const d=P_e(c);if(d){d.focus();break}}})}},[r,t,i,s,o]),null}function A$(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((i,o)=>o({transform:i,...r}),n):n}function L2e(e){return k.useMemo(()=>({draggable:{...Ig.draggable,...e==null?void 0:e.draggable},droppable:{...Ig.droppable,...e==null?void 0:e.droppable},dragOverlay:{...Ig.dragOverlay,...e==null?void 0:e.dragOverlay}}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function $2e(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e;const o=k.useRef(!1),{x:s,y:a}=typeof i=="boolean"?{x:i,y:i}:i;io(()=>{if(!s&&!a||!t){o.current=!1;return}if(o.current||!r)return;const u=t==null?void 0:t.node.current;if(!u||u.isConnected===!1)return;const c=n(u),d=c$(c,r);if(s||(d.x=0),a||(d.y=0),o.current=!0,Math.abs(d.x)>0||Math.abs(d.y)>0){const f=f$(u);f&&f.scrollBy({top:d.y,left:d.x})}},[t,s,a,r,n])}const p1=k.createContext({...Ei,scaleX:1,scaleY:1});var hs;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(hs||(hs={}));const F2e=k.memo(function(t){var n,r,i,o;let{id:s,accessibility:a,autoScroll:l=!0,children:u,sensors:c=R2e,collisionDetection:d=q_e,measuring:f,modifiers:h,...p}=t;const m=k.useReducer(N2e,void 0,I2e),[S,y]=m,[v,g]=N_e(),[b,_]=k.useState(hs.Uninitialized),w=b===hs.Initialized,{draggable:{active:x,nodes:T,translate:P},droppable:{containers:E}}=S,A=x?T.get(x):null,$=k.useRef({initial:null,translated:null}),I=k.useMemo(()=>{var Ct;return x!=null?{id:x,data:(Ct=A==null?void 0:A.data)!=null?Ct:O2e,rect:$}:null},[x,A]),C=k.useRef(null),[R,M]=k.useState(null),[N,O]=k.useState(null),D=Xf(p,Object.values(p)),L=f1("DndDescribedBy",s),j=k.useMemo(()=>E.getEnabled(),[E]),U=L2e(f),{droppableRects:G,measureDroppableContainers:W,measuringScheduled:X}=b2e(j,{dragging:w,dependencies:[P.x,P.y],config:U.droppable}),Y=y2e(T,x),B=k.useMemo(()=>N?Yf(N):null,[N]),H=fa(),Q=S2e(Y,U.draggable.measure);$2e({activeNode:x?T.get(x):null,config:H.layoutShiftCompensation,initialRect:Q,measure:U.draggable.measure});const J=E8(Y,U.draggable.measure,Q),ne=E8(Y?Y.parentElement:null),te=k.useRef({activatorEvent:null,active:null,activeNode:Y,collisionRect:null,collisions:null,droppableRects:G,draggableNodes:T,draggingNode:null,draggingNodeRect:null,droppableContainers:E,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),xe=E.getNodeFor((n=te.current.over)==null?void 0:n.id),ve=k2e({measure:U.dragOverlay.measure}),ce=(r=ve.nodeRef.current)!=null?r:Y,De=w?(i=ve.rect)!=null?i:J:null,se=!!(ve.nodeRef.current&&ve.rect),pt=x2e(se?null:J),yn=C$(ce?or(ce):null),Mt=C2e(w?xe??Y:null),ut=A2e(Mt),tt=A$(h,{transform:{x:P.x-pt.x,y:P.y-pt.y,scaleX:1,scaleY:1},activatorEvent:N,active:I,activeNodeRect:J,containerNodeRect:ne,draggingNodeRect:De,over:te.current.over,overlayNodeRect:ve.rect,scrollableAncestors:Mt,scrollableAncestorRects:ut,windowRect:yn}),Ut=B?Bu(B,P):null,sr=T2e(Mt),ni=A8(sr),Lr=A8(sr,[J]),On=Bu(tt,ni),vn=De?Q_e(De,tt):null,Un=I&&vn?d({active:I,collisionRect:vn,droppableRects:G,droppableContainers:j,pointerCoordinates:Ut}):null,Gt=G_e(Un,"id"),[xt,wr]=k.useState(null),$r=se?tt:Bu(tt,Lr),ri=X_e($r,(o=xt==null?void 0:xt.rect)!=null?o:null,J),uo=k.useCallback((Ct,nt)=>{let{sensor:Sn,options:an}=nt;if(C.current==null)return;const Mn=T.get(C.current);if(!Mn)return;const Gn=Ct.nativeEvent,ar=new Sn({active:C.current,activeNode:Mn,event:Gn,options:an,context:te,onStart(Hn){const _n=C.current;if(_n==null)return;const co=T.get(_n);if(!co)return;const{onDragStart:Zo}=D.current,Jo={active:{id:_n,data:co.data,rect:$}};zi.unstable_batchedUpdates(()=>{Zo==null||Zo(Jo),_(hs.Initializing),y({type:tn.DragStart,initialCoordinates:Hn,active:_n}),v({type:"onDragStart",event:Jo})})},onMove(Hn){y({type:tn.DragMove,coordinates:Hn})},onEnd:Ri(tn.DragEnd),onCancel:Ri(tn.DragCancel)});zi.unstable_batchedUpdates(()=>{M(ar),O(Ct.nativeEvent)});function Ri(Hn){return async function(){const{active:co,collisions:Zo,over:Jo,scrollAdjustedTranslate:Al}=te.current;let fo=null;if(co&&Al){const{cancelDrop:qn}=D.current;fo={activatorEvent:Gn,active:co,collisions:Zo,delta:Al,over:Jo},Hn===tn.DragEnd&&typeof qn=="function"&&await Promise.resolve(qn(fo))&&(Hn=tn.DragCancel)}C.current=null,zi.unstable_batchedUpdates(()=>{y({type:Hn}),_(hs.Uninitialized),wr(null),M(null),O(null);const qn=Hn===tn.DragEnd?"onDragEnd":"onDragCancel";if(fo){const ha=D.current[qn];ha==null||ha(fo),v({type:qn,event:fo})}})}}},[T]),bn=k.useCallback((Ct,nt)=>(Sn,an)=>{const Mn=Sn.nativeEvent,Gn=T.get(an);if(C.current!==null||!Gn||Mn.dndKit||Mn.defaultPrevented)return;const ar={active:Gn};Ct(Sn,nt.options,ar)===!0&&(Mn.dndKit={capturedBy:nt.sensor},C.current=an,uo(Sn,nt))},[T,uo]),ii=v2e(c,bn);E2e(c),io(()=>{J&&b===hs.Initializing&&_(hs.Initialized)},[J,b]),k.useEffect(()=>{const{onDragMove:Ct}=D.current,{active:nt,activatorEvent:Sn,collisions:an,over:Mn}=te.current;if(!nt||!Sn)return;const Gn={active:nt,activatorEvent:Sn,collisions:an,delta:{x:On.x,y:On.y},over:Mn};zi.unstable_batchedUpdates(()=>{Ct==null||Ct(Gn),v({type:"onDragMove",event:Gn})})},[On.x,On.y]),k.useEffect(()=>{const{active:Ct,activatorEvent:nt,collisions:Sn,droppableContainers:an,scrollAdjustedTranslate:Mn}=te.current;if(!Ct||C.current==null||!nt||!Mn)return;const{onDragOver:Gn}=D.current,ar=an.get(Gt),Ri=ar&&ar.rect.current?{id:ar.id,rect:ar.rect.current,data:ar.data,disabled:ar.disabled}:null,Hn={active:Ct,activatorEvent:nt,collisions:Sn,delta:{x:Mn.x,y:Mn.y},over:Ri};zi.unstable_batchedUpdates(()=>{wr(Ri),Gn==null||Gn(Hn),v({type:"onDragOver",event:Hn})})},[Gt]),io(()=>{te.current={activatorEvent:N,active:I,activeNode:Y,collisionRect:vn,collisions:Un,droppableRects:G,draggableNodes:T,draggingNode:ce,draggingNodeRect:De,droppableContainers:E,over:xt,scrollableAncestors:Mt,scrollAdjustedTranslate:On},$.current={initial:De,translated:vn}},[I,Y,Un,vn,T,ce,De,G,E,xt,Mt,On]),p2e({...H,delta:P,draggingRect:vn,pointerCoordinates:Ut,scrollableAncestors:Mt,scrollableAncestorRects:ut});const da=k.useMemo(()=>({active:I,activeNode:Y,activeNodeRect:J,activatorEvent:N,collisions:Un,containerNodeRect:ne,dragOverlay:ve,draggableNodes:T,droppableContainers:E,droppableRects:G,over:xt,measureDroppableContainers:W,scrollableAncestors:Mt,scrollableAncestorRects:ut,measuringConfiguration:U,measuringScheduled:X,windowRect:yn}),[I,Y,J,N,Un,ne,ve,T,E,G,xt,W,Mt,ut,U,X,yn]),ki=k.useMemo(()=>({activatorEvent:N,activators:ii,active:I,activeNodeRect:J,ariaDescribedById:{draggable:L},dispatch:y,draggableNodes:T,over:xt,measureDroppableContainers:W}),[N,ii,I,J,y,L,T,xt,W]);return Xe.createElement(u$.Provider,{value:g},Xe.createElement(Gh.Provider,{value:ki},Xe.createElement(P$.Provider,{value:da},Xe.createElement(p1.Provider,{value:ri},u)),Xe.createElement(D2e,{disabled:(a==null?void 0:a.restoreFocus)===!1})),Xe.createElement($_e,{...a,hiddenTextDescribedById:L}));function fa(){const Ct=(R==null?void 0:R.autoScrollEnabled)===!1,nt=typeof l=="object"?l.enabled===!1:l===!1,Sn=w&&!Ct&&!nt;return typeof l=="object"?{...l,enabled:Sn}:{enabled:Sn}}}),B2e=k.createContext(null),k8="button",j2e="Droppable";function V2e(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e;const o=f1(j2e),{activators:s,activatorEvent:a,active:l,activeNodeRect:u,ariaDescribedById:c,draggableNodes:d,over:f}=k.useContext(Gh),{role:h=k8,roleDescription:p="draggable",tabIndex:m=0}=i??{},S=(l==null?void 0:l.id)===t,y=k.useContext(S?p1:B2e),[v,g]=my(),[b,_]=my(),w=P2e(s,t),x=Xf(n);io(()=>(d.set(t,{id:t,key:o,node:v,activatorNode:b,data:x}),()=>{const P=d.get(t);P&&P.key===o&&d.delete(t)}),[d,t]);const T=k.useMemo(()=>({role:h,tabIndex:m,"aria-disabled":r,"aria-pressed":S&&h===k8?!0:void 0,"aria-roledescription":p,"aria-describedby":c.draggable}),[r,h,m,S,p,c.draggable]);return{active:l,activatorEvent:a,activeNodeRect:u,attributes:T,isDragging:S,listeners:r?void 0:w,node:v,over:f,setNodeRef:g,setActivatorNodeRef:_,transform:y}}function z2e(){return k.useContext(P$)}const U2e="Droppable",G2e={timeout:25};function H2e(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e;const o=f1(U2e),{active:s,dispatch:a,over:l,measureDroppableContainers:u}=k.useContext(Gh),c=k.useRef({disabled:n}),d=k.useRef(!1),f=k.useRef(null),h=k.useRef(null),{disabled:p,updateMeasurementsFor:m,timeout:S}={...G2e,...i},y=Xf(m??r),v=k.useCallback(()=>{if(!d.current){d.current=!0;return}h.current!=null&&clearTimeout(h.current),h.current=setTimeout(()=>{u(Array.isArray(y.current)?y.current:[y.current]),h.current=null},S)},[S]),g=h1({callback:v,disabled:p||!s}),b=k.useCallback((T,P)=>{g&&(P&&(g.unobserve(P),d.current=!1),T&&g.observe(T))},[g]),[_,w]=my(b),x=Xf(t);return k.useEffect(()=>{!g||!_.current||(g.disconnect(),d.current=!1,g.observe(_.current))},[_,g]),io(()=>(a({type:tn.RegisterDroppable,element:{id:r,key:o,disabled:n,node:_,rect:f,data:x}}),()=>a({type:tn.UnregisterDroppable,key:o,id:r})),[r]),k.useEffect(()=>{n!==c.current.disabled&&(a({type:tn.SetDroppableDisabled,id:r,key:o,disabled:n}),c.current.disabled=n)},[r,o,n,a]),{active:s,rect:f,isOver:(l==null?void 0:l.id)===r,node:_,over:l,setNodeRef:w}}function q2e(e){let{animation:t,children:n}=e;const[r,i]=k.useState(null),[o,s]=k.useState(null),a=yy(n);return!n&&!r&&a&&i(a),io(()=>{if(!o)return;const l=r==null?void 0:r.key,u=r==null?void 0:r.props.id;if(l==null||u==null){i(null);return}Promise.resolve(t(u,o)).then(()=>{i(null)})},[t,r,o]),Xe.createElement(Xe.Fragment,null,n,r?k.cloneElement(r,{ref:s}):null)}const W2e={x:0,y:0,scaleX:1,scaleY:1};function K2e(e){let{children:t}=e;return Xe.createElement(Gh.Provider,{value:E$},Xe.createElement(p1.Provider,{value:W2e},t))}const X2e={position:"fixed",touchAction:"none"},Y2e=e=>_3(e)?"transform 250ms ease":void 0,Q2e=k.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:o,className:s,rect:a,style:l,transform:u,transition:c=Y2e}=e;if(!a)return null;const d=i?u:{...u,scaleX:1,scaleY:1},f={...X2e,width:a.width,height:a.height,top:a.top,left:a.left,transform:Qf.Transform.toString(d),transformOrigin:i&&r?j_e(r,a):void 0,transition:typeof c=="function"?c(r):c,...l};return Xe.createElement(n,{className:s,style:f,ref:t},o)}),Z2e=e=>t=>{let{active:n,dragOverlay:r}=t;const i={},{styles:o,className:s}=e;if(o!=null&&o.active)for(const[a,l]of Object.entries(o.active))l!==void 0&&(i[a]=n.node.style.getPropertyValue(a),n.node.style.setProperty(a,l));if(o!=null&&o.dragOverlay)for(const[a,l]of Object.entries(o.dragOverlay))l!==void 0&&r.node.style.setProperty(a,l);return s!=null&&s.active&&n.node.classList.add(s.active),s!=null&&s.dragOverlay&&r.node.classList.add(s.dragOverlay),function(){for(const[l,u]of Object.entries(i))n.node.style.setProperty(l,u);s!=null&&s.active&&n.node.classList.remove(s.active)}},J2e=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Qf.Transform.toString(t)},{transform:Qf.Transform.toString(n)}]},ewe={duration:250,easing:"ease",keyframes:J2e,sideEffects:Z2e({styles:{active:{opacity:"0"}}})};function twe(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return d1((o,s)=>{if(t===null)return;const a=n.get(o);if(!a)return;const l=a.node.current;if(!l)return;const u=T$(s);if(!u)return;const{transform:c}=or(s).getComputedStyle(s),d=d$(c);if(!d)return;const f=typeof t=="function"?t:nwe(t);return v$(l,i.draggable.measure),f({active:{id:o,data:a.data,node:l,rect:i.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:s,rect:i.dragOverlay.measure(u)},droppableContainers:r,measuringConfiguration:i,transform:d})})}function nwe(e){const{duration:t,easing:n,sideEffects:r,keyframes:i}={...ewe,...e};return o=>{let{active:s,dragOverlay:a,transform:l,...u}=o;if(!t)return;const c={x:a.rect.left-s.rect.left,y:a.rect.top-s.rect.top},d={scaleX:l.scaleX!==1?s.rect.width*l.scaleX/a.rect.width:1,scaleY:l.scaleY!==1?s.rect.height*l.scaleY/a.rect.height:1},f={x:l.x-c.x,y:l.y-c.y,...d},h=i({...u,active:s,dragOverlay:a,transform:{initial:l,final:f}}),[p]=h,m=h[h.length-1];if(JSON.stringify(p)===JSON.stringify(m))return;const S=r==null?void 0:r({active:s,dragOverlay:a,...u}),y=a.node.animate(h,{duration:t,easing:n,fill:"forwards"});return new Promise(v=>{y.onfinish=()=>{S==null||S(),v()}})}}let R8=0;function rwe(e){return k.useMemo(()=>{if(e!=null)return R8++,R8},[e])}const iwe=Xe.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:o,modifiers:s,wrapperElement:a="div",className:l,zIndex:u=999}=e;const{activatorEvent:c,active:d,activeNodeRect:f,containerNodeRect:h,draggableNodes:p,droppableContainers:m,dragOverlay:S,over:y,measuringConfiguration:v,scrollableAncestors:g,scrollableAncestorRects:b,windowRect:_}=z2e(),w=k.useContext(p1),x=rwe(d==null?void 0:d.id),T=A$(s,{activatorEvent:c,active:d,activeNodeRect:f,containerNodeRect:h,draggingNodeRect:S.rect,over:y,overlayNodeRect:S.rect,scrollableAncestors:g,scrollableAncestorRects:b,transform:w,windowRect:_}),P=T3(f),E=twe({config:r,draggableNodes:p,droppableContainers:m,measuringConfiguration:v}),A=P?S.setRef:void 0;return Xe.createElement(K2e,null,Xe.createElement(q2e,{animation:E},d&&x?Xe.createElement(Q2e,{key:x,id:d.id,ref:A,as:a,activatorEvent:c,adjustScale:t,className:l,transition:o,rect:P,style:{zIndex:u,...i},transform:T},n):null))}),owe=e=>{let{activatorEvent:t,draggingNodeRect:n,transform:r}=e;if(n&&t){const i=Yf(t);if(!i)return r;const o=i.x-n.left,s=i.y-n.top;return{...r,x:r.x+o-n.width/2,y:r.y+s-n.height/2}}return r},k$=()=>uk(),G4e=tk,Yp=28,O8={w:Yp,h:Yp,maxW:Yp,maxH:Yp,shadow:"dark-lg",borderRadius:"lg",opacity:.3,bg:"base.800",color:"base.50",_dark:{borderColor:"base.200",bg:"base.900",color:"base.100"}},swe=e=>{if(!e.dragData)return null;if(e.dragData.payloadType==="IMAGE_DTO"){const{thumbnail_url:t,width:n,height:r}=e.dragData.payload.imageDTO;return K.jsx(d3,{sx:{position:"relative",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",userSelect:"none",cursor:"none"},children:K.jsx(c3,{sx:{...O8},objectFit:"contain",src:t,width:n,height:r})})}return e.dragData.payloadType==="IMAGE_NAMES"?K.jsxs(f3,{sx:{cursor:"none",userSelect:"none",position:"relative",alignItems:"center",justifyContent:"center",flexDir:"column",...O8},children:[K.jsx(X2,{children:e.dragData.payload.image_names.length}),K.jsx(X2,{size:"sm",children:"Images"})]}):null},awe=k.memo(swe);function H4e(e){return H2e(e)}function q4e(e){return V2e(e)}const W4e=(e,t)=>{if(!e||!(t!=null&&t.data.current))return!1;const{actionType:n}=e,{payloadType:r}=t.data.current;if(e.id===t.data.current.id)return!1;switch(n){case"SET_CURRENT_IMAGE":return r==="IMAGE_DTO";case"SET_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_CONTROLNET_IMAGE":return r==="IMAGE_DTO";case"SET_CANVAS_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_NODES_IMAGE":return r==="IMAGE_DTO";case"SET_MULTI_NODES_IMAGE":return r==="IMAGE_DTO"||"IMAGE_NAMES";case"ADD_TO_BATCH":return r==="IMAGE_DTO"||"IMAGE_NAMES";case"MOVE_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_NAMES"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload,s=o.board_id,a=e.context.boardId;return!(s===a)&&(s?!0:a)}return r!=="IMAGE_NAMES"}default:return!1}};function lwe(e){return K.jsx(F2e,{...e})}const uwe=e=>{const[t,n]=k.useState(null),r=k$(),i=k.useCallback(u=>{console.log("dragStart",u.active.data.current);const c=u.active.data.current;c&&n(c)},[]),o=k.useCallback(u=>{var d;console.log("dragEnd",u.active.data.current);const c=(d=u.over)==null?void 0:d.data.current;!t||!c||(r(rN({overData:c,activeData:t})),n(null))},[t,r]),s=S8(w$,{activationConstraint:{distance:10}}),a=S8(x$,{activationConstraint:{distance:10}}),l=F_e(s,a);return K.jsxs(lwe,{onDragStart:i,onDragEnd:o,sensors:l,collisionDetection:K_e,children:[e.children,K.jsx(iwe,{dropAnimation:null,modifiers:[owe],children:K.jsx(Zbe,{children:t&&K.jsx(Gbe.div,{layout:!0,initial:{opacity:0,scale:.7},animate:{opacity:1,scale:1,transition:{duration:.1}},children:K.jsx(awe,{dragData:t})},"overlay-drag-image")})})]})},cwe=k.memo(uwe),dwe=k.createContext({isOpen:!1,onClose:()=>{},onClickAddToBoard:()=>{},handleAddToBoard:()=>{}}),fwe=e=>{const[t,n]=k.useState(),{isOpen:r,onOpen:i,onClose:o}=sSe(),s=k$(),a=k.useCallback(()=>{n(void 0),o()},[o]),l=k.useCallback(c=>{c&&(n(c),i())},[n,i]),u=k.useCallback(c=>{t&&(s(he.endpoints.addImageToBoard.initiate({imageDTO:t,board_id:c})),a())},[s,a,t]);return K.jsx(dwe.Provider,{value:{isOpen:r,image:t,onClose:a,onClickAddToBoard:l,handleAddToBoard:u},children:e.children})},hwe=k.lazy(()=>q9(()=>import("./App-44cdaaf3.js"),["./App-44cdaaf3.js","./MantineProvider-b20a2267.js","./App-6125620a.css"],import.meta.url)),pwe=k.lazy(()=>q9(()=>import("./ThemeLocaleProvider-a4dc3f38.js"),["./ThemeLocaleProvider-a4dc3f38.js","./MantineProvider-b20a2267.js","./ThemeLocaleProvider-5b992bc7.css"],import.meta.url)),gwe=({apiUrl:e,token:t,config:n,headerComponent:r,middleware:i})=>(k.useEffect(()=>(t&&Cf.set(t),e&&Tf.set(e),GI(),i&&i.length>0?d2(v8(),...i):d2(v8()),()=>{Tf.set(void 0),Cf.set(void 0)}),[e,t,i]),K.jsx(Xe.StrictMode,{children:K.jsx(vV,{store:Qpe,children:K.jsx(Xe.Suspense,{fallback:K.jsx(cSe,{}),children:K.jsx(pwe,{children:K.jsx(cwe,{children:K.jsx(fwe,{children:K.jsx(hwe,{config:n,headerComponent:r})})})})})})})),mwe=k.memo(gwe);TS.createRoot(document.getElementById("root")).render(K.jsx(mwe,{}));export{pD as $,K as A,ti as B,jt as C,Nu as D,Vn as E,fi as F,nre as G,br as H,Ms as I,$i as J,Y3e as K,xM as L,yre as M,Wre as N,fte as O,ore as P,ic as Q,Vge as R,df as S,Tl as T,al as U,aD as V,k4e as W,E4e as X,Zbe as Y,Gbe as Z,B4e as _,eR as a,G_ as a$,BL as a0,vD as a1,P4e as a2,A4e as a3,jge as a4,Bge as a5,R4e as a6,Da as a7,ll as a8,im as a9,f3 as aA,X2 as aB,_4e as aC,zN as aD,d3e as aE,Q4 as aF,_Ce as aG,zi as aH,jC as aI,iF as aJ,Swe as aK,vwe as aL,bwe as aM,Ee as aN,Pa as aO,$3e as aP,ZI as aQ,D3e as aR,L3e as aS,I3e as aT,k3e as aU,jpe as aV,H4e as aW,W4e as aX,M3e as aY,G3e as aZ,s3e as a_,NV as aa,Xe as ab,n8 as ac,mye as ad,F4e as ae,Mo as af,oD as ag,F1e as ah,I4e as ai,M2 as aj,T4e as ak,$4e as al,Jn as am,yC as an,_0 as ao,G4e as ap,Z3e as aq,Th as ar,iI as as,RI as at,J0 as au,k$ as av,A5e as aw,Ft as ax,Ha as ay,d3 as az,Ex as b,Kle as b$,N3e as b0,c3 as b1,lSe as b2,Oxe as b3,Ss as b4,V5e as b5,hp as b6,Ege as b7,BC as b8,eD as b9,Wwe as bA,Bwe as bB,Xwe as bC,oue as bD,xE as bE,v5e as bF,b5e as bG,S5e as bH,jwe as bI,_5e as bJ,Vwe as bK,w5e as bL,ue as bM,dwe as bN,a3e as bO,vJ as bP,h3e as bQ,BO as bR,uCe as bS,IO as bT,H_ as bU,q4e as bV,C4e as bW,U3e as bX,u3e as bY,c3e as bZ,Os as b_,Age as ba,F3 as bb,V3e as bc,j3e as bd,ywe as be,Twe as bf,Ewe as bg,Pwe as bh,Awe as bi,Zwe as bj,Jwe as bk,p5e as bl,g5e as bm,Iwe as bn,oxe as bo,Rwe as bp,Hwe as bq,Lwe as br,sue as bs,Owe as bt,exe as bu,kwe as bv,cxe as bw,Nwe as bx,qwe as by,Dwe as bz,RU as c,Ywe as c$,i3e as c0,o3e as c1,n3e as c2,sSe as c3,km as c4,S4e as c5,W5e as c6,kxe as c7,Ele as c8,C5e as c9,P5e as cA,AO as cB,A3e as cC,T3e as cD,E3e as cE,P3e as cF,_xe as cG,dxe as cH,yxe as cI,Qwe as cJ,k5e as cK,hl as cL,O5e as cM,xo as cN,pce as cO,Za as cP,zwe as cQ,Ph as cR,J5e as cS,_we as cT,m5e as cU,X5e as cV,m4e as cW,fe as cX,xf as cY,u4e as cZ,nae as c_,H3e as ca,N7 as cb,nN as cc,U5e as cd,r3e as ce,p3e as cf,P7 as cg,FO as ch,Mwe as ci,Lxe as cj,zn as ck,N5e as cl,G5e as cm,z5e as cn,ile as co,I5e as cp,$5e as cq,F5e as cr,TQ as cs,Tae as ct,Eae as cu,Pxe as cv,Dxe as cw,L5e as cx,AQ as cy,Q3e as cz,vX as d,l4e as d$,Y5e as d0,bQ as d1,e4e as d2,kO as d3,wxe as d4,EQ as d5,Ui as d6,Kwe as d7,axe as d8,Cwe as d9,_T as dA,_3e as dB,w3e as dC,x3e as dD,uJ as dE,C3e as dF,E7 as dG,y3e as dH,b3e as dI,g3e as dJ,Ppe as dK,m3e as dL,vxe as dM,bxe as dN,gxe as dO,mxe as dP,pxe as dQ,d4e as dR,i4e as dS,j5e as dT,r4e as dU,g4e as dV,c4e as dW,B5e as dX,s4e as dY,o4e as dZ,t4e as d_,uY as da,uxe as db,y5e as dc,xxe as dd,h5e as de,Sce as df,Txe as dg,he as dh,Kn as di,K5e as dj,W3e as dk,K3e as dl,L7 as dm,Z5e as dn,q3e as dp,gO as dq,Sxe as dr,lY as ds,Fwe as dt,Q5e as du,ST as dv,S3e as dw,qx as dx,lJ as dy,Yl as dz,eO as e,Wxe as e$,xwe as e0,n4e as e1,a4e as e2,wwe as e3,qM as e4,$x as e5,f4e as e6,Bm as e7,pe as e8,h4e as e9,Pe as eA,ACe as eB,WCe as eC,qCe as eD,aCe as eE,$Ce as eF,XCe as eG,Nle as eH,Jxe as eI,xCe as eJ,nd as eK,bCe as eL,eCe as eM,nv as eN,wCe as eO,Yxe as eP,SCe as eQ,Qxe as eR,rCe as eS,jxe as eT,Bxe as eU,Fxe as eV,KCe as eW,DO as eX,Cf as eY,Hxe as eZ,qxe as e_,c2 as ea,$we as eb,p4e as ec,tk as ed,uk as ee,f5e as ef,o5e as eg,s5e as eh,a5e as ei,II as ej,c5e as ek,d5e as el,Df as em,w0 as en,t5e as eo,zpe as ep,J3e as eq,e5e as er,r5e as es,n5e as et,i5e as eu,u5e as ev,Gie as ew,nI as ex,aN as ey,EF as ez,lR as f,x4e as f$,HCe as f0,oCe as f1,iCe as f2,HQ as f3,GCe as f4,Ile as f5,tCe as f6,xpe as f7,Epe as f8,dCe as f9,Kxe as fA,ZCe as fB,lCe as fC,Mle as fD,kle as fE,Rle as fF,Ole as fG,Uxe as fH,Cxe as fI,CQ as fJ,fxe as fK,Gxe as fL,pCe as fM,JCe as fN,txe as fO,nxe as fP,rxe as fQ,ixe as fR,gCe as fS,b4e as fT,Rxe as fU,RO as fV,Ixe as fW,Mxe as fX,Nxe as fY,sY as fZ,Cle as f_,fCe as fa,kCe as fb,PCe as fc,CCe as fd,Vxe as fe,zxe as ff,H5e as fg,q5e as fh,vCe as fi,cCe as fj,RCe as fk,LCe as fl,OCe as fm,sCe as fn,Zxe as fo,UCe as fp,zCe as fq,NCe as fr,MCe as fs,ICe as ft,e3e as fu,jCe as fv,t3e as fw,yCe as fx,mCe as fy,Xxe as fz,dX as g,sD as g0,L4e as g1,N4e as g2,O4e as g3,D4e as g4,Wi as g5,M4e as g6,w4e as g7,pye as g8,rye as g9,j4e as ga,z4e as gb,U4e as gc,yR as h,vr as i,yc as j,b0 as k,gn as l,v0 as m,hh as n,Ci as o,na as p,m0 as q,oo as r,gh as s,gb as t,wx as u,sR as v,Rx as w,WR as x,uR as y,k as z}; diff --git a/invokeai/frontend/web/dist/assets/index-de589048.js b/invokeai/frontend/web/dist/assets/index-de589048.js new file mode 100644 index 0000000000..e7d24e43fd --- /dev/null +++ b/invokeai/frontend/web/dist/assets/index-de589048.js @@ -0,0 +1,151 @@ +function v7(e,t){for(var n=0;nr[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();var He=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function dc(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function jY(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){if(this instanceof r){var i=[null];i.push.apply(i,arguments);var o=Function.bind.apply(t,i);return new o}return t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}),n}var _7={exports:{}},x_={},b7={exports:{}},ft={};/** + * @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 Yg=Symbol.for("react.element"),GY=Symbol.for("react.portal"),HY=Symbol.for("react.fragment"),WY=Symbol.for("react.strict_mode"),qY=Symbol.for("react.profiler"),KY=Symbol.for("react.provider"),XY=Symbol.for("react.context"),YY=Symbol.for("react.forward_ref"),QY=Symbol.for("react.suspense"),ZY=Symbol.for("react.memo"),JY=Symbol.for("react.lazy"),xP=Symbol.iterator;function eQ(e){return e===null||typeof e!="object"?null:(e=xP&&e[xP]||e["@@iterator"],typeof e=="function"?e:null)}var S7={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},w7=Object.assign,x7={};function Lf(e,t,n){this.props=e,this.context=t,this.refs=x7,this.updater=n||S7}Lf.prototype.isReactComponent={};Lf.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)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")};Lf.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function C7(){}C7.prototype=Lf.prototype;function Q5(e,t,n){this.props=e,this.context=t,this.refs=x7,this.updater=n||S7}var Z5=Q5.prototype=new C7;Z5.constructor=Q5;w7(Z5,Lf.prototype);Z5.isPureReactComponent=!0;var CP=Array.isArray,T7=Object.prototype.hasOwnProperty,J5={current:null},E7={key:!0,ref:!0,__self:!0,__source:!0};function A7(e,t,n){var r,i={},o=null,s=null;if(t!=null)for(r in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(o=""+t.key),t)T7.call(t,r)&&!E7.hasOwnProperty(r)&&(i[r]=t[r]);var a=arguments.length-2;if(a===1)i.children=n;else if(1>>1,Z=D[q];if(0>>1;qi(se,j))lei(W,se)?(D[q]=W,D[le]=j,q=le):(D[q]=se,D[ie]=j,q=ie);else if(lei(W,j))D[q]=W,D[le]=j,q=le;else break e}}return V}function i(D,V){var j=D.sortIndex-V.sortIndex;return j!==0?j:D.id-V.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var s=Date,a=s.now();e.unstable_now=function(){return s.now()-a}}var l=[],u=[],d=1,f=null,p=3,g=!1,m=!1,v=!1,x=typeof setTimeout=="function"?setTimeout:null,_=typeof clearTimeout=="function"?clearTimeout:null,b=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(D){for(var V=n(u);V!==null;){if(V.callback===null)r(u);else if(V.startTime<=D)r(u),V.sortIndex=V.expirationTime,t(l,V);else break;V=n(u)}}function S(D){if(v=!1,y(D),!m)if(n(l)!==null)m=!0,F(C);else{var V=n(u);V!==null&&B(S,V.startTime-D)}}function C(D,V){m=!1,v&&(v=!1,_(P),P=-1),g=!0;var j=p;try{for(y(V),f=n(l);f!==null&&(!(f.expirationTime>V)||D&&!M());){var q=f.callback;if(typeof q=="function"){f.callback=null,p=f.priorityLevel;var Z=q(f.expirationTime<=V);V=e.unstable_now(),typeof Z=="function"?f.callback=Z:f===n(l)&&r(l),y(V)}else r(l);f=n(l)}if(f!==null)var ee=!0;else{var ie=n(u);ie!==null&&B(S,ie.startTime-V),ee=!1}return ee}finally{f=null,p=j,g=!1}}var T=!1,E=null,P=-1,k=5,O=-1;function M(){return!(e.unstable_now()-OD||125q?(D.sortIndex=j,t(u,D),n(l)===null&&D===n(u)&&(v?(_(P),P=-1):v=!0,B(S,j-q))):(D.sortIndex=Z,t(l,D),m||g||(m=!0,F(C))),D},e.unstable_shouldYield=M,e.unstable_wrapCallback=function(D){var V=p;return function(){var j=p;p=V;try{return D.apply(this,arguments)}finally{p=j}}}})(k7);O7.exports=k7;var dQ=O7.exports;/** + * @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. + */var I7=L,Wi=dQ;function ge(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"),yC=Object.prototype.hasOwnProperty,fQ=/^[: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]*$/,AP={},PP={};function hQ(e){return yC.call(PP,e)?!0:yC.call(AP,e)?!1:fQ.test(e)?PP[e]=!0:(AP[e]=!0,!1)}function pQ(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function gQ(e,t,n,r){if(t===null||typeof t>"u"||pQ(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function ci(e,t,n,r,i,o,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=s}var Ir={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Ir[e]=new ci(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Ir[t]=new ci(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Ir[e]=new ci(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Ir[e]=new ci(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){Ir[e]=new ci(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Ir[e]=new ci(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Ir[e]=new ci(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Ir[e]=new ci(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Ir[e]=new ci(e,5,!1,e.toLowerCase(),null,!1,!1)});var t4=/[\-:]([a-z])/g;function n4(e){return e[1].toUpperCase()}"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(t4,n4);Ir[t]=new ci(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(t4,n4);Ir[t]=new ci(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(t4,n4);Ir[t]=new ci(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Ir[e]=new ci(e,1,!1,e.toLowerCase(),null,!1,!1)});Ir.xlinkHref=new ci("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Ir[e]=new ci(e,1,!1,e.toLowerCase(),null,!0,!0)});function r4(e,t,n,r){var i=Ir.hasOwnProperty(t)?Ir[t]:null;(i!==null?i.type!==0:r||!(2a||i[s]!==o[a]){var l=` +`+i[s].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=s&&0<=a);break}}}finally{Rw=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?sp(e):""}function mQ(e){switch(e.tag){case 5:return sp(e.type);case 16:return sp("Lazy");case 13:return sp("Suspense");case 19:return sp("SuspenseList");case 0:case 2:case 15:return e=Ow(e.type,!1),e;case 11:return e=Ow(e.type.render,!1),e;case 1:return e=Ow(e.type,!0),e;default:return""}}function SC(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Cd:return"Fragment";case xd:return"Portal";case vC:return"Profiler";case i4:return"StrictMode";case _C:return"Suspense";case bC:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case L7:return(e.displayName||"Context")+".Consumer";case N7:return(e._context.displayName||"Context")+".Provider";case o4:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case s4:return t=e.displayName||null,t!==null?t:SC(e.type)||"Memo";case ll:t=e._payload,e=e._init;try{return SC(e(t))}catch{}}return null}function yQ(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=t.render,e=e.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 SC(t);case 8:return t===i4?"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(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ll(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function $7(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function vQ(e){var t=$7(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){r=""+s,o.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]}}}}function Yy(e){e._valueTracker||(e._valueTracker=vQ(e))}function F7(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=$7(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Mv(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function wC(e,t){var n=t.checked;return bn({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function OP(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Ll(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function B7(e,t){t=t.checked,t!=null&&r4(e,"checked",t,!1)}function xC(e,t){B7(e,t);var n=Ll(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?CC(e,t.type,n):t.hasOwnProperty("defaultValue")&&CC(e,t.type,Ll(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function kP(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function CC(e,t,n){(t!=="number"||Mv(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var ap=Array.isArray;function zd(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=Qy.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Fp(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var mp={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},_Q=["Webkit","ms","Moz","O"];Object.keys(mp).forEach(function(e){_Q.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),mp[t]=mp[e]})});function j7(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||mp.hasOwnProperty(e)&&mp[e]?(""+t).trim():t+"px"}function G7(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=j7(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var bQ=bn({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 AC(e,t){if(t){if(bQ[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(ge(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(ge(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(ge(61))}if(t.style!=null&&typeof t.style!="object")throw Error(ge(62))}}function PC(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";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 RC=null;function a4(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var OC=null,Vd=null,jd=null;function NP(e){if(e=Jg(e)){if(typeof OC!="function")throw Error(ge(280));var t=e.stateNode;t&&(t=P_(t),OC(e.stateNode,e.type,t))}}function H7(e){Vd?jd?jd.push(e):jd=[e]:Vd=e}function W7(){if(Vd){var e=Vd,t=jd;if(jd=Vd=null,NP(e),t)for(e=0;e>>=0,e===0?32:31-(kQ(e)/IQ|0)|0}var Zy=64,Jy=4194304;function lp(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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function $v(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,s=n&268435455;if(s!==0){var a=s&~i;a!==0?r=lp(a):(o&=s,o!==0&&(r=lp(o)))}else s=n&~i,s!==0?r=lp(s):o!==0&&(r=lp(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Qg(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ho(t),e[t]=n}function DQ(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=vp),jP=String.fromCharCode(32),GP=!1;function fM(e,t){switch(e){case"keyup":return cZ.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function hM(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Td=!1;function fZ(e,t){switch(e){case"compositionend":return hM(t);case"keypress":return t.which!==32?null:(GP=!0,jP);case"textInput":return e=t.data,e===jP&&GP?null:e;default:return null}}function hZ(e,t){if(Td)return e==="compositionend"||!g4&&fM(e,t)?(e=cM(),J0=f4=vl=null,Td=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=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=KP(n)}}function yM(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?yM(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function vM(){for(var e=window,t=Mv();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Mv(e.document)}return t}function m4(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function wZ(e){var t=vM(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&yM(n.ownerDocument.documentElement,n)){if(r!==null&&m4(n)){if(t=r.start,e=r.end,e===void 0&&(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,e.getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=r.end===void 0?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=XP(n,o);var s=XP(n,r);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>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;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Ed=null,DC=null,bp=null,$C=!1;function YP(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;$C||Ed==null||Ed!==Mv(r)||(r=Ed,"selectionStart"in r&&m4(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),bp&&Gp(bp,r)||(bp=r,r=Uv(DC,"onSelect"),0Rd||(e.current=jC[Rd],jC[Rd]=null,Rd--)}function Zt(e,t){Rd++,jC[Rd]=e.current,e.current=t}var Dl={},Hr=Yl(Dl),Ci=Yl(!1),Xu=Dl;function df(e,t){var n=e.type.contextTypes;if(!n)return Dl;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Ti(e){return e=e.childContextTypes,e!=null}function Vv(){rn(Ci),rn(Hr)}function r8(e,t,n){if(Hr.current!==Dl)throw Error(ge(168));Zt(Hr,t),Zt(Ci,n)}function AM(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(ge(108,yQ(e)||"Unknown",i));return bn({},n,r)}function jv(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Dl,Xu=Hr.current,Zt(Hr,e),Zt(Ci,Ci.current),!0}function i8(e,t,n){var r=e.stateNode;if(!r)throw Error(ge(169));n?(e=AM(e,t,Xu),r.__reactInternalMemoizedMergedChildContext=e,rn(Ci),rn(Hr),Zt(Hr,e)):rn(Ci),Zt(Ci,n)}var ua=null,R_=!1,Gw=!1;function PM(e){ua===null?ua=[e]:ua.push(e)}function NZ(e){R_=!0,PM(e)}function Ql(){if(!Gw&&ua!==null){Gw=!0;var e=0,t=Dt;try{var n=ua;for(Dt=1;e>=s,i-=s,ha=1<<32-Ho(t)+i|n<P?(k=E,E=null):k=E.sibling;var O=p(_,E,y[P],S);if(O===null){E===null&&(E=k);break}e&&E&&O.alternate===null&&t(_,E),b=o(O,b,P),T===null?C=O:T.sibling=O,T=O,E=k}if(P===y.length)return n(_,E),cn&&Cu(_,P),C;if(E===null){for(;PP?(k=E,E=null):k=E.sibling;var M=p(_,E,O.value,S);if(M===null){E===null&&(E=k);break}e&&E&&M.alternate===null&&t(_,E),b=o(M,b,P),T===null?C=M:T.sibling=M,T=M,E=k}if(O.done)return n(_,E),cn&&Cu(_,P),C;if(E===null){for(;!O.done;P++,O=y.next())O=f(_,O.value,S),O!==null&&(b=o(O,b,P),T===null?C=O:T.sibling=O,T=O);return cn&&Cu(_,P),C}for(E=r(_,E);!O.done;P++,O=y.next())O=g(E,_,P,O.value,S),O!==null&&(e&&O.alternate!==null&&E.delete(O.key===null?P:O.key),b=o(O,b,P),T===null?C=O:T.sibling=O,T=O);return e&&E.forEach(function(G){return t(_,G)}),cn&&Cu(_,P),C}function x(_,b,y,S){if(typeof y=="object"&&y!==null&&y.type===Cd&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case Xy:e:{for(var C=y.key,T=b;T!==null;){if(T.key===C){if(C=y.type,C===Cd){if(T.tag===7){n(_,T.sibling),b=i(T,y.props.children),b.return=_,_=b;break e}}else if(T.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===ll&&d8(C)===T.type){n(_,T.sibling),b=i(T,y.props),b.ref=$h(_,T,y),b.return=_,_=b;break e}n(_,T);break}else t(_,T);T=T.sibling}y.type===Cd?(b=zu(y.props.children,_.mode,S,y.key),b.return=_,_=b):(S=av(y.type,y.key,y.props,null,_.mode,S),S.ref=$h(_,b,y),S.return=_,_=S)}return s(_);case xd:e:{for(T=y.key;b!==null;){if(b.key===T)if(b.tag===4&&b.stateNode.containerInfo===y.containerInfo&&b.stateNode.implementation===y.implementation){n(_,b.sibling),b=i(b,y.children||[]),b.return=_,_=b;break e}else{n(_,b);break}else t(_,b);b=b.sibling}b=Zw(y,_.mode,S),b.return=_,_=b}return s(_);case ll:return T=y._init,x(_,b,T(y._payload),S)}if(ap(y))return m(_,b,y,S);if(Ih(y))return v(_,b,y,S);s0(_,y)}return typeof y=="string"&&y!==""||typeof y=="number"?(y=""+y,b!==null&&b.tag===6?(n(_,b.sibling),b=i(b,y),b.return=_,_=b):(n(_,b),b=Qw(y,_.mode,S),b.return=_,_=b),s(_)):n(_,b)}return x}var hf=DM(!0),$M=DM(!1),em={},As=Yl(em),Kp=Yl(em),Xp=Yl(em);function Nu(e){if(e===em)throw Error(ge(174));return e}function T4(e,t){switch(Zt(Xp,t),Zt(Kp,e),Zt(As,em),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:EC(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=EC(t,e)}rn(As),Zt(As,t)}function pf(){rn(As),rn(Kp),rn(Xp)}function FM(e){Nu(Xp.current);var t=Nu(As.current),n=EC(t,e.type);t!==n&&(Zt(Kp,e),Zt(As,n))}function E4(e){Kp.current===e&&(rn(As),rn(Kp))}var mn=Yl(0);function Xv(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Hw=[];function A4(){for(var e=0;en?n:4,e(!0);var r=Ww.transition;Ww.transition={};try{e(!1),t()}finally{Dt=n,Ww.transition=r}}function eN(){return wo().memoizedState}function FZ(e,t,n){var r=Pl(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},tN(e))nN(t,n);else if(n=IM(e,t,n,r),n!==null){var i=oi();Wo(n,e,r,i),rN(n,t,r)}}function BZ(e,t,n){var r=Pl(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(tN(e))nN(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var s=t.lastRenderedState,a=o(s,n);if(i.hasEagerState=!0,i.eagerState=a,Qo(a,s)){var l=t.interleaved;l===null?(i.next=i,x4(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=IM(e,t,i,r),n!==null&&(i=oi(),Wo(n,e,r,i),rN(n,t,r))}}function tN(e){var t=e.alternate;return e===_n||t!==null&&t===_n}function nN(e,t){Sp=Yv=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function rN(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,u4(e,n)}}var Qv={readContext:So,useCallback:Fr,useContext:Fr,useEffect:Fr,useImperativeHandle:Fr,useInsertionEffect:Fr,useLayoutEffect:Fr,useMemo:Fr,useReducer:Fr,useRef:Fr,useState:Fr,useDebugValue:Fr,useDeferredValue:Fr,useTransition:Fr,useMutableSource:Fr,useSyncExternalStore:Fr,useId:Fr,unstable_isNewReconciler:!1},UZ={readContext:So,useCallback:function(e,t){return hs().memoizedState=[e,t===void 0?null:t],e},useContext:So,useEffect:h8,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,rv(4194308,4,XM.bind(null,t,e),n)},useLayoutEffect:function(e,t){return rv(4194308,4,e,t)},useInsertionEffect:function(e,t){return rv(4,2,e,t)},useMemo:function(e,t){var n=hs();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=hs();return t=n!==void 0?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=FZ.bind(null,_n,e),[r.memoizedState,e]},useRef:function(e){var t=hs();return e={current:e},t.memoizedState=e},useState:f8,useDebugValue:I4,useDeferredValue:function(e){return hs().memoizedState=e},useTransition:function(){var e=f8(!1),t=e[0];return e=$Z.bind(null,e[1]),hs().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=_n,i=hs();if(cn){if(n===void 0)throw Error(ge(407));n=n()}else{if(n=t(),pr===null)throw Error(ge(349));Qu&30||zM(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,h8(jM.bind(null,r,o,e),[e]),r.flags|=2048,Zp(9,VM.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=hs(),t=pr.identifierPrefix;if(cn){var n=pa,r=ha;n=(r&~(1<<32-Ho(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Yp++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[_s]=t,e[qp]=r,fN(e,t,!1,!1),t.stateNode=e;e:{switch(s=PC(n,r),n){case"dialog":en("cancel",e),en("close",e),i=r;break;case"iframe":case"object":case"embed":en("load",e),i=r;break;case"video":case"audio":for(i=0;imf&&(t.flags|=128,r=!0,Fh(o,!1),t.lanes=4194304)}else{if(!r)if(e=Xv(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Fh(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!cn)return Br(t),null}else 2*In()-o.renderingStartTime>mf&&n!==1073741824&&(t.flags|=128,r=!0,Fh(o,!1),t.lanes=4194304);o.isBackwards?(s.sibling=t.child,t.child=s):(n=o.last,n!==null?n.sibling=s:t.child=s,o.last=s)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=In(),t.sibling=null,n=mn.current,Zt(mn,r?n&1|2:n&1),t):(Br(t),null);case 22:case 23:return F4(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?zi&1073741824&&(Br(t),t.subtreeFlags&6&&(t.flags|=8192)):Br(t),null;case 24:return null;case 25:return null}throw Error(ge(156,t.tag))}function KZ(e,t){switch(v4(t),t.tag){case 1:return Ti(t.type)&&Vv(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return pf(),rn(Ci),rn(Hr),A4(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return E4(t),null;case 13:if(rn(mn),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(ge(340));ff()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return rn(mn),null;case 4:return pf(),null;case 10:return w4(t.type._context),null;case 22:case 23:return F4(),null;case 24:return null;default:return null}}var l0=!1,Gr=!1,XZ=typeof WeakSet=="function"?WeakSet:Set,Ae=null;function Md(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Cn(e,t,r)}else n.current=null}function t3(e,t,n){try{n()}catch(r){Cn(e,t,r)}}var w8=!1;function YZ(e,t){if(FC=Fv,e=vM(),m4(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,a=-1,l=-1,u=0,d=0,f=e,p=null;t:for(;;){for(var g;f!==n||i!==0&&f.nodeType!==3||(a=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(g=f.firstChild)!==null;)p=f,f=g;for(;;){if(f===e)break t;if(p===n&&++u===i&&(a=s),p===o&&++d===r&&(l=s),(g=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=g}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(BC={focusedElem:e,selectionRange:n},Fv=!1,Ae=t;Ae!==null;)if(t=Ae,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Ae=e;else for(;Ae!==null;){t=Ae;try{var m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var v=m.memoizedProps,x=m.memoizedState,_=t.stateNode,b=_.getSnapshotBeforeUpdate(t.elementType===t.type?v:$o(t.type,v),x);_.__reactInternalSnapshotBeforeUpdate=b}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent="":y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(ge(163))}}catch(S){Cn(t,t.return,S)}if(e=t.sibling,e!==null){e.return=t.return,Ae=e;break}Ae=t.return}return m=w8,w8=!1,m}function wp(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&t3(t,n,o)}i=i.next}while(i!==r)}}function I_(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==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 n3(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function gN(e){var t=e.alternate;t!==null&&(e.alternate=null,gN(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[_s],delete t[qp],delete t[VC],delete t[IZ],delete t[MZ])),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 mN(e){return e.tag===5||e.tag===3||e.tag===4}function x8(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||mN(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function r3(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=zv));else if(r!==4&&(e=e.child,e!==null))for(r3(e,t,n),e=e.sibling;e!==null;)r3(e,t,n),e=e.sibling}function i3(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(i3(e,t,n),e=e.sibling;e!==null;)i3(e,t,n),e=e.sibling}var Ar=null,Bo=!1;function el(e,t,n){for(n=n.child;n!==null;)yN(e,t,n),n=n.sibling}function yN(e,t,n){if(Es&&typeof Es.onCommitFiberUnmount=="function")try{Es.onCommitFiberUnmount(C_,n)}catch{}switch(n.tag){case 5:Gr||Md(n,t);case 6:var r=Ar,i=Bo;Ar=null,el(e,t,n),Ar=r,Bo=i,Ar!==null&&(Bo?(e=Ar,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Ar.removeChild(n.stateNode));break;case 18:Ar!==null&&(Bo?(e=Ar,n=n.stateNode,e.nodeType===8?jw(e.parentNode,n):e.nodeType===1&&jw(e,n),Vp(e)):jw(Ar,n.stateNode));break;case 4:r=Ar,i=Bo,Ar=n.stateNode.containerInfo,Bo=!0,el(e,t,n),Ar=r,Bo=i;break;case 0:case 11:case 14:case 15:if(!Gr&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,s=o.destroy;o=o.tag,s!==void 0&&(o&2||o&4)&&t3(n,t,s),i=i.next}while(i!==r)}el(e,t,n);break;case 1:if(!Gr&&(Md(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){Cn(n,t,a)}el(e,t,n);break;case 21:el(e,t,n);break;case 22:n.mode&1?(Gr=(r=Gr)||n.memoizedState!==null,el(e,t,n),Gr=r):el(e,t,n);break;default:el(e,t,n)}}function C8(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new XZ),t.forEach(function(r){var i=oJ.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Lo(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~o}if(r=i,r=In()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*ZZ(r/1960))-r,10e?16:e,_l===null)var r=!1;else{if(e=_l,_l=null,e1=0,yt&6)throw Error(ge(331));var i=yt;for(yt|=4,Ae=e.current;Ae!==null;){var o=Ae,s=o.child;if(Ae.flags&16){var a=o.deletions;if(a!==null){for(var l=0;lIn()-D4?Uu(e,0):L4|=n),Ei(e,t)}function TN(e,t){t===0&&(e.mode&1?(t=Jy,Jy<<=1,!(Jy&130023424)&&(Jy=4194304)):t=1);var n=oi();e=Ea(e,t),e!==null&&(Qg(e,t,n),Ei(e,n))}function iJ(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),TN(e,n)}function oJ(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(ge(314))}r!==null&&r.delete(t),TN(e,n)}var EN;EN=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Ci.current)Si=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Si=!1,WZ(e,t,n);Si=!!(e.flags&131072)}else Si=!1,cn&&t.flags&1048576&&RM(t,Hv,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;iv(e,t),e=t.pendingProps;var i=df(t,Hr.current);Hd(t,n),i=R4(null,t,r,e,i,n);var o=O4();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ti(r)?(o=!0,jv(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,C4(t),i.updater=O_,t.stateNode=i,i._reactInternals=t,KC(t,r,e,n),t=QC(null,t,r,!0,o,n)):(t.tag=0,cn&&o&&y4(t),ri(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(iv(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=aJ(r),e=$o(r,e),i){case 0:t=YC(null,t,r,e,n);break e;case 1:t=_8(null,t,r,e,n);break e;case 11:t=y8(null,t,r,e,n);break e;case 14:t=v8(null,t,r,$o(r.type,e),n);break e}throw Error(ge(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:$o(r,i),YC(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:$o(r,i),_8(e,t,r,i,n);case 3:e:{if(uN(t),e===null)throw Error(ge(387));r=t.pendingProps,o=t.memoizedState,i=o.element,MM(e,t),Kv(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=gf(Error(ge(423)),t),t=b8(e,t,r,n,i);break e}else if(r!==i){i=gf(Error(ge(424)),t),t=b8(e,t,r,n,i);break e}else for(ji=Tl(t.stateNode.containerInfo.firstChild),Gi=t,cn=!0,zo=null,n=$M(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(ff(),r===i){t=Aa(e,t,n);break e}ri(e,t,r,n)}t=t.child}return t;case 5:return FM(t),e===null&&HC(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,s=i.children,UC(r,i)?s=null:o!==null&&UC(r,o)&&(t.flags|=32),lN(e,t),ri(e,t,s,n),t.child;case 6:return e===null&&HC(t),null;case 13:return cN(e,t,n);case 4:return T4(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=hf(t,null,r,n):ri(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:$o(r,i),y8(e,t,r,i,n);case 7:return ri(e,t,t.pendingProps,n),t.child;case 8:return ri(e,t,t.pendingProps.children,n),t.child;case 12:return ri(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,s=i.value,Zt(Wv,r._currentValue),r._currentValue=s,o!==null)if(Qo(o.value,s)){if(o.children===i.children&&!Ci.current){t=Aa(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var a=o.dependencies;if(a!==null){s=o.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=ya(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),WC(o.return,n,t),a.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(ge(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),WC(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}ri(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Hd(t,n),i=So(i),r=r(i),t.flags|=1,ri(e,t,r,n),t.child;case 14:return r=t.type,i=$o(r,t.pendingProps),i=$o(r.type,i),v8(e,t,r,i,n);case 15:return sN(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:$o(r,i),iv(e,t),t.tag=1,Ti(r)?(e=!0,jv(t)):e=!1,Hd(t,n),LM(t,r,i),KC(t,r,i,n),QC(null,t,r,!0,e,n);case 19:return dN(e,t,n);case 22:return aN(e,t,n)}throw Error(ge(156,t.tag))};function AN(e,t){return J7(e,t)}function sJ(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 vo(e,t,n,r){return new sJ(e,t,n,r)}function U4(e){return e=e.prototype,!(!e||!e.isReactComponent)}function aJ(e){if(typeof e=="function")return U4(e)?1:0;if(e!=null){if(e=e.$$typeof,e===o4)return 11;if(e===s4)return 14}return 2}function Rl(e,t){var n=e.alternate;return n===null?(n=vo(e.tag,t,e.key,e.mode),n.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=e.flags&14680064,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=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function av(e,t,n,r,i,o){var s=2;if(r=e,typeof e=="function")U4(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case Cd:return zu(n.children,i,o,t);case i4:s=8,i|=8;break;case vC:return e=vo(12,n,t,i|2),e.elementType=vC,e.lanes=o,e;case _C:return e=vo(13,n,t,i),e.elementType=_C,e.lanes=o,e;case bC:return e=vo(19,n,t,i),e.elementType=bC,e.lanes=o,e;case D7:return N_(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case N7:s=10;break e;case L7:s=9;break e;case o4:s=11;break e;case s4:s=14;break e;case ll:s=16,r=null;break e}throw Error(ge(130,e==null?e:typeof e,""))}return t=vo(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function zu(e,t,n,r){return e=vo(7,e,r,t),e.lanes=n,e}function N_(e,t,n,r){return e=vo(22,e,r,t),e.elementType=D7,e.lanes=n,e.stateNode={isHidden:!1},e}function Qw(e,t,n){return e=vo(6,e,null,t),e.lanes=n,e}function Zw(e,t,n){return t=vo(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function lJ(e,t,n,r,i){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=Iw(0),this.expirationTimes=Iw(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Iw(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function z4(e,t,n,r,i,o,s,a,l){return e=new lJ(e,t,n,a,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=vo(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},C4(o),e}function uJ(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(kN)}catch(e){console.error(e)}}kN(),R7.exports=Yi;var bs=R7.exports;const K9e=dc(bs);var I8=bs;mC.createRoot=I8.createRoot,mC.hydrateRoot=I8.hydrateRoot;const pJ="modulepreload",gJ=function(e,t){return new URL(e,t).href},M8={},IN=function(t,n,r){if(!n||n.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=gJ(o,r),o in M8)return;M8[o]=!0;const s=o.endsWith(".css"),a=s?'[rel="stylesheet"]':"";if(!!r)for(let d=i.length-1;d>=0;d--){const f=i[d];if(f.href===o&&(!s||f.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${a}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":pJ,s||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),s)return new Promise((d,f)=>{u.addEventListener("load",d),u.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t()).catch(o=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o})};function hr(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:B_(e)?2:U_(e)?3:0}function Ol(e,t){return $l(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function lv(e,t){return $l(e)===2?e.get(t):e[t]}function MN(e,t,n){var r=$l(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function NN(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function B_(e){return SJ&&e instanceof Map}function U_(e){return wJ&&e instanceof Set}function lr(e){return e.o||e.t}function W4(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=DN(e);delete t[Xe];for(var n=Kd(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=mJ),Object.freeze(e),t&&Pa(e,function(n,r){return tm(r,!0)},!0)),e}function mJ(){hr(2)}function q4(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function Ps(e){var t=c3[e];return t||hr(18,e),t}function K4(e,t){c3[e]||(c3[e]=t)}function eg(){return ng}function Jw(e,t){t&&(Ps("Patches"),e.u=[],e.s=[],e.v=t)}function r1(e){u3(e),e.p.forEach(yJ),e.p=null}function u3(e){e===ng&&(ng=e.l)}function N8(e){return ng={p:[],l:ng,h:e,m:!0,_:0}}function yJ(e){var t=e[Xe];t.i===0||t.i===1?t.j():t.g=!0}function ex(e,t){t._=t.p.length;var n=t.p[0],r=e!==void 0&&e!==n;return t.h.O||Ps("ES5").S(t,e,r),r?(n[Xe].P&&(r1(t),hr(4)),Ai(e)&&(e=i1(t,e),t.l||o1(t,e)),t.u&&Ps("Patches").M(n[Xe].t,e,t.u,t.s)):e=i1(t,n,[]),r1(t),t.u&&t.v(t.u,t.s),e!==V_?e:void 0}function i1(e,t,n){if(q4(t))return t;var r=t[Xe];if(!r)return Pa(t,function(a,l){return L8(e,r,t,a,l,n)},!0),t;if(r.A!==e)return t;if(!r.P)return o1(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=r.i===4||r.i===5?r.o=W4(r.k):r.o,o=i,s=!1;r.i===3&&(o=new Set(i),i.clear(),s=!0),Pa(o,function(a,l){return L8(e,r,i,a,l,n,s)}),o1(e,i,!1),n&&e.u&&Ps("Patches").N(r,n,e.u,e.s)}return r.o}function L8(e,t,n,r,i,o,s){if(ai(i)){var a=i1(e,i,o&&t&&t.i!==3&&!Ol(t.R,r)?o.concat(r):void 0);if(MN(n,r,a),!ai(a))return;e.m=!1}else s&&n.add(i);if(Ai(i)&&!q4(i)){if(!e.h.D&&e._<1)return;i1(e,i),t&&t.A.l||o1(e,i)}}function o1(e,t,n){n===void 0&&(n=!1),!e.l&&e.h.D&&e.m&&tm(t,n)}function tx(e,t){var n=e[Xe];return(n?lr(n):e)[t]}function D8(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function bi(e){e.P||(e.P=!0,e.l&&bi(e.l))}function nx(e){e.o||(e.o=W4(e.t))}function tg(e,t,n){var r=B_(t)?Ps("MapSet").F(t,n):U_(t)?Ps("MapSet").T(t,n):e.O?function(i,o){var s=Array.isArray(i),a={i:s?1:0,A:o?o.A:eg(),P:!1,I:!1,R:{},l:o,t:i,k:null,o:null,j:null,C:!1},l=a,u=rg;s&&(l=[a],u=cp);var d=Proxy.revocable(l,u),f=d.revoke,p=d.proxy;return a.k=p,a.j=f,p}(t,n):Ps("ES5").J(t,n);return(n?n.A:eg()).p.push(r),r}function z_(e){return ai(e)||hr(22,e),function t(n){if(!Ai(n))return n;var r,i=n[Xe],o=$l(n);if(i){if(!i.P&&(i.i<4||!Ps("ES5").K(i)))return i.t;i.I=!0,r=$8(n,o),i.I=!1}else r=$8(n,o);return Pa(r,function(s,a){i&&lv(i.t,s)===a||MN(r,s,t(a))}),o===3?new Set(r):r}(e)}function $8(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return W4(e)}function X4(){function e(o,s){var a=i[o];return a?a.enumerable=s:i[o]=a={configurable:!0,enumerable:s,get:function(){var l=this[Xe];return rg.get(l,o)},set:function(l){var u=this[Xe];rg.set(u,o,l)}},a}function t(o){for(var s=o.length-1;s>=0;s--){var a=o[s][Xe];if(!a.P)switch(a.i){case 5:r(a)&&bi(a);break;case 4:n(a)&&bi(a)}}}function n(o){for(var s=o.t,a=o.k,l=Kd(a),u=l.length-1;u>=0;u--){var d=l[u];if(d!==Xe){var f=s[d];if(f===void 0&&!Ol(s,d))return!0;var p=a[d],g=p&&p[Xe];if(g?g.t!==f:!NN(p,f))return!0}}var m=!!s[Xe];return l.length!==Kd(s).length+(m?0:1)}function r(o){var s=o.k;if(s.length!==o.t.length)return!0;var a=Object.getOwnPropertyDescriptor(s,s.length-1);if(a&&!a.get)return!0;for(var l=0;l1?_-1:0),y=1;y<_;y++)b[y-1]=arguments[y];return l.produce(v,function(S){var C;return(C=o).call.apply(C,[x,S].concat(b))})}}var u;if(typeof o!="function"&&hr(6),s!==void 0&&typeof s!="function"&&hr(7),Ai(i)){var d=N8(r),f=tg(r,i,void 0),p=!0;try{u=o(f),p=!1}finally{p?r1(d):u3(d)}return typeof Promise<"u"&&u instanceof Promise?u.then(function(v){return Jw(d,s),ex(v,d)},function(v){throw r1(d),v}):(Jw(d,s),ex(u,d))}if(!i||typeof i!="object"){if((u=o(i))===void 0&&(u=i),u===V_&&(u=void 0),r.D&&tm(u,!0),s){var g=[],m=[];Ps("Patches").M(i,u,g,m),s(g,m)}return u}hr(21,i)},this.produceWithPatches=function(i,o){if(typeof i=="function")return function(u){for(var d=arguments.length,f=Array(d>1?d-1:0),p=1;p=0;i--){var o=r[i];if(o.path.length===0&&o.op==="replace"){n=o.value;break}}i>-1&&(r=r.slice(i+1));var s=Ps("Patches").$;return ai(n)?s(n,r):this.produce(n,function(a){return s(a,r)})},e}(),qi=new $N,FN=qi.produce,Z4=qi.produceWithPatches.bind(qi),CJ=qi.setAutoFreeze.bind(qi),TJ=qi.setUseProxies.bind(qi),d3=qi.applyPatches.bind(qi),EJ=qi.createDraft.bind(qi),AJ=qi.finishDraft.bind(qi);const Zl=FN,X9e=Object.freeze(Object.defineProperty({__proto__:null,Immer:$N,applyPatches:d3,castDraft:_J,castImmutable:bJ,createDraft:EJ,current:z_,default:Zl,enableAllPlugins:vJ,enableES5:X4,enableMapSet:LN,enablePatches:Y4,finishDraft:AJ,freeze:tm,immerable:qd,isDraft:ai,isDraftable:Ai,nothing:V_,original:H4,produce:FN,produceWithPatches:Z4,setAutoFreeze:CJ,setUseProxies:TJ},Symbol.toStringTag,{value:"Module"}));function ig(e){"@babel/helpers - typeof";return ig=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ig(e)}function PJ(e,t){if(ig(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(ig(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function RJ(e){var t=PJ(e,"string");return ig(t)==="symbol"?t:String(t)}function OJ(e,t,n){return t=RJ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function U8(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function z8(e){for(var t=1;t"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(Pr(1));return n(nm)(e,t)}if(typeof e!="function")throw new Error(Pr(2));var i=e,o=t,s=[],a=s,l=!1;function u(){a===s&&(a=s.slice())}function d(){if(l)throw new Error(Pr(3));return o}function f(v){if(typeof v!="function")throw new Error(Pr(4));if(l)throw new Error(Pr(5));var x=!0;return u(),a.push(v),function(){if(x){if(l)throw new Error(Pr(6));x=!1,u();var b=a.indexOf(v);a.splice(b,1),s=null}}}function p(v){if(!kJ(v))throw new Error(Pr(7));if(typeof v.type>"u")throw new Error(Pr(8));if(l)throw new Error(Pr(9));try{l=!0,o=i(o,v)}finally{l=!1}for(var x=s=a,_=0;_"u")throw new Error(Pr(12));if(typeof n(void 0,{type:yf.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Pr(13))})}function Ff(e){for(var t=Object.keys(e),n={},r=0;r"u")throw u&&u.type,new Error(Pr(14));f[g]=x,d=d||x!==v}return d=d||o.length!==Object.keys(l).length,d?f:l}}function j8(e,t){return function(){return t(e.apply(this,arguments))}}function UN(e,t){if(typeof e=="function")return j8(e,t);if(typeof e!="object"||e===null)throw new Error(Pr(16));var n={};for(var r in e){var i=e[r];typeof i=="function"&&(n[r]=j8(i,t))}return n}function vf(){for(var e=arguments.length,t=new Array(e),n=0;n-1){var u=n[l];return l>0&&(n.splice(l,1),n.unshift(u)),u.value}return s1}function i(a,l){r(a)===s1&&(n.unshift({key:a,value:l}),n.length>e&&n.pop())}function o(){return n}function s(){n=[]}return{get:r,put:i,getEntries:o,clear:s}}var zN=function(t,n){return t===n};function DJ(e){return function(n,r){if(n===null||r===null||n.length!==r.length)return!1;for(var i=n.length,o=0;o1?t-1:0),r=1;r0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]",value:e};if(typeof e!="object"||e===null||o!=null&&o.has(e))return!1;for(var a=r!=null?r(e):Object.entries(e),l=i.length>0,u=function(x,_){var b=t?t+"."+x:x;if(l){var y=i.some(function(S){return S instanceof RegExp?S.test(b):b===S});if(y)return"continue"}if(!n(_))return{value:{keyPath:b,value:_}};if(typeof _=="object"&&(s=XN(_,b,n,r,i,o),s))return{value:s}},d=0,f=a;d-1}function ZJ(e){return""+e}function eL(e){var t={},n=[],r,i={addCase:function(o,s){var a=typeof o=="string"?o:o.type;if(a in t)throw new Error("addCase cannot be called with two reducers for the same action type");return t[a]=s,i},addMatcher:function(o,s){return n.push({matcher:o,reducer:s}),i},addDefaultCase:function(o){return r=o,i}};return e(i),[t,n,r]}function JJ(e){return typeof e=="function"}function tL(e,t,n,r){n===void 0&&(n=[]);var i=typeof t=="function"?eL(t):[t,n,r],o=i[0],s=i[1],a=i[2],l;if(JJ(e))l=function(){return f3(e())};else{var u=f3(e);l=function(){return u}}function d(f,p){f===void 0&&(f=l());var g=Fl([o[p.type]],s.filter(function(m){var v=m.matcher;return v(p)}).map(function(m){var v=m.reducer;return v}));return g.filter(function(m){return!!m}).length===0&&(g=[a]),g.reduce(function(m,v){if(v)if(ai(m)){var x=m,_=v(x,p);return _===void 0?m:_}else{if(Ai(m))return Zl(m,function(b){return v(b,p)});var _=v(m,p);if(_===void 0){if(m===null)return m;throw Error("A case reducer on a non-draftable value must not return undefined")}return _}return m},f)}return d.getInitialState=l,d}function eee(e,t){return e+"/"+t}function yn(e){var t=e.name;if(!t)throw new Error("`name` is a required option for createSlice");typeof process<"u";var n=typeof e.initialState=="function"?e.initialState:f3(e.initialState),r=e.reducers||{},i=Object.keys(r),o={},s={},a={};i.forEach(function(d){var f=r[d],p=eee(t,d),g,m;"reducer"in f?(g=f.reducer,m=f.prepare):g=f,o[d]=g,s[p]=g,a[d]=m?Re(p,m):Re(p)});function l(){var d=typeof e.extraReducers=="function"?eL(e.extraReducers):[e.extraReducers],f=d[0],p=f===void 0?{}:f,g=d[1],m=g===void 0?[]:g,v=d[2],x=v===void 0?void 0:v,_=wi(wi({},p),s);return tL(n,function(b){for(var y in _)b.addCase(y,_[y]);for(var S=0,C=m;S0;if(b){var y=m.filter(function(S){return u(x,S,v)}).length>0;y&&(v.ids=Object.keys(v.entities))}}function p(m,v){return g([m],v)}function g(m,v){var x=nL(m,e,v),_=x[0],b=x[1];f(b,v),n(_,v)}return{removeAll:iee(l),addOne:On(t),addMany:On(n),setOne:On(r),setMany:On(i),setAll:On(o),updateOne:On(d),updateMany:On(f),upsertOne:On(p),upsertMany:On(g),removeOne:On(s),removeMany:On(a)}}function oee(e,t){var n=rL(e),r=n.removeOne,i=n.removeMany,o=n.removeAll;function s(b,y){return a([b],y)}function a(b,y){b=Vu(b);var S=b.filter(function(C){return!(Tp(C,e)in y.entities)});S.length!==0&&x(S,y)}function l(b,y){return u([b],y)}function u(b,y){b=Vu(b),b.length!==0&&x(b,y)}function d(b,y){b=Vu(b),y.entities={},y.ids=[],a(b,y)}function f(b,y){return p([b],y)}function p(b,y){for(var S=!1,C=0,T=b;C-1;return n&&r}function om(e){return typeof e[0]=="function"&&"pending"in e[0]&&"fulfilled"in e[0]&&"rejected"in e[0]}function H_(){for(var e=[],t=0;t0)for(var y=g.getState(),S=Array.from(n.values()),C=0,T=S;CMath.floor(e/t)*t,Ss=(e,t)=>Math.round(e/t)*t;var xee=typeof global=="object"&&global&&global.Object===Object&&global;const SL=xee;var Cee=typeof self=="object"&&self&&self.Object===Object&&self,Tee=SL||Cee||Function("return this")();const Fs=Tee;var Eee=Fs.Symbol;const xo=Eee;var wL=Object.prototype,Aee=wL.hasOwnProperty,Pee=wL.toString,Uh=xo?xo.toStringTag:void 0;function Ree(e){var t=Aee.call(e,Uh),n=e[Uh];try{e[Uh]=void 0;var r=!0}catch{}var i=Pee.call(e);return r&&(t?e[Uh]=n:delete e[Uh]),i}var Oee=Object.prototype,kee=Oee.toString;function Iee(e){return kee.call(e)}var Mee="[object Null]",Nee="[object Undefined]",Q8=xo?xo.toStringTag:void 0;function tu(e){return e==null?e===void 0?Nee:Mee:Q8&&Q8 in Object(e)?Ree(e):Iee(e)}function Jo(e){return e!=null&&typeof e=="object"}var Lee="[object Symbol]";function W_(e){return typeof e=="symbol"||Jo(e)&&tu(e)==Lee}function xL(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n0){if(++t>=hte)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function yte(e){return function(){return e}}var vte=function(){try{var e=gc(Object,"defineProperty");return e({},"",{}),e}catch{}}();const c1=vte;var _te=c1?function(e,t){return c1(e,"toString",{configurable:!0,enumerable:!1,value:yte(t),writable:!0})}:q_;const bte=_te;var Ste=mte(bte);const AL=Ste;function PL(e,t){for(var n=-1,r=e==null?0:e.length;++n-1}var Ate=9007199254740991,Pte=/^(?:0|[1-9]\d*)$/;function iT(e,t){var n=typeof e;return t=t??Ate,!!t&&(n=="number"||n!="symbol"&&Pte.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=kte}function Uf(e){return e!=null&&sT(e.length)&&!rT(e)}function IL(e,t,n){if(!Pi(n))return!1;var r=typeof t;return(r=="number"?Uf(n)&&iT(t,n.length):r=="string"&&t in n)?um(n[t],e):!1}function ML(e){return kL(function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(o=e.length>3&&typeof o=="function"?(i--,o):void 0,s&&IL(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),t=Object(t);++r-1}function Wne(e,t){var n=this.__data__,r=K_(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function Ma(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(a)?t>1?UL(a,t-1,n,r,i):hT(i,a):r||(i[i.length]=a)}return i}function cre(e){var t=e==null?0:e.length;return t?UL(e,1):[]}function dre(e){return AL(OL(e,void 0,cre),e+"")}var fre=FL(Object.getPrototypeOf,Object);const pT=fre;var hre="[object Object]",pre=Function.prototype,gre=Object.prototype,zL=pre.toString,mre=gre.hasOwnProperty,yre=zL.call(Object);function VL(e){if(!Jo(e)||tu(e)!=hre)return!1;var t=pT(e);if(t===null)return!0;var n=mre.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&zL.call(n)==yre}function jL(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(i);++r=r?e:jL(e,t,n)}var _re="\\ud800-\\udfff",bre="\\u0300-\\u036f",Sre="\\ufe20-\\ufe2f",wre="\\u20d0-\\u20ff",xre=bre+Sre+wre,Cre="\\ufe0e\\ufe0f",Tre="\\u200d",Ere=RegExp("["+Tre+_re+xre+Cre+"]");function gT(e){return Ere.test(e)}function Are(e){return e.split("")}var GL="\\ud800-\\udfff",Pre="\\u0300-\\u036f",Rre="\\ufe20-\\ufe2f",Ore="\\u20d0-\\u20ff",kre=Pre+Rre+Ore,Ire="\\ufe0e\\ufe0f",Mre="["+GL+"]",m3="["+kre+"]",y3="\\ud83c[\\udffb-\\udfff]",Nre="(?:"+m3+"|"+y3+")",HL="[^"+GL+"]",WL="(?:\\ud83c[\\udde6-\\uddff]){2}",qL="[\\ud800-\\udbff][\\udc00-\\udfff]",Lre="\\u200d",KL=Nre+"?",XL="["+Ire+"]?",Dre="(?:"+Lre+"(?:"+[HL,WL,qL].join("|")+")"+XL+KL+")*",$re=XL+KL+Dre,Fre="(?:"+[HL+m3+"?",m3,WL,qL,Mre].join("|")+")",Bre=RegExp(y3+"(?="+y3+")|"+Fre+$re,"g");function Ure(e){return e.match(Bre)||[]}function zre(e){return gT(e)?Ure(e):Are(e)}function Vre(e){return function(t){t=Y_(t);var n=gT(t)?zre(t):void 0,r=n?n[0]:t.charAt(0),i=n?vre(n,1).join(""):t.slice(1);return r[e]()+i}}var jre=Vre("toUpperCase");const Gre=jre;function YL(e,t,n,r){var i=-1,o=e==null?0:e.length;for(r&&o&&(n=e[++i]);++i=t?e:t)),e}function bl(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=sx(n),n=n===n?n:0),t!==void 0&&(t=sx(t),t=t===t?t:0),Nie(sx(e),t,n)}function Lie(){this.__data__=new Ma,this.size=0}function Die(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function $ie(e){return this.__data__.get(e)}function Fie(e){return this.__data__.has(e)}var Bie=200;function Uie(e,t){var n=this.__data__;if(n instanceof Ma){var r=n.__data__;if(!lg||r.lengtha))return!1;var u=o.get(e),d=o.get(t);if(u&&d)return u==t&&d==e;var f=-1,p=!0,g=n&bse?new ug:void 0;for(o.set(e,t),o.set(t,e);++f1),o}),Bf(e,mD(e),n),r&&(n=Ap(n,Cae|Tae|Eae,xae));for(var i=t.length;i--;)kD(n,t[i]);return n});const rb=Aae;var Pae=AD("length");const Rae=Pae;var ID="\\ud800-\\udfff",Oae="\\u0300-\\u036f",kae="\\ufe20-\\ufe2f",Iae="\\u20d0-\\u20ff",Mae=Oae+kae+Iae,Nae="\\ufe0e\\ufe0f",Lae="["+ID+"]",x3="["+Mae+"]",C3="\\ud83c[\\udffb-\\udfff]",Dae="(?:"+x3+"|"+C3+")",MD="[^"+ID+"]",ND="(?:\\ud83c[\\udde6-\\uddff]){2}",LD="[\\ud800-\\udbff][\\udc00-\\udfff]",$ae="\\u200d",DD=Dae+"?",$D="["+Nae+"]?",Fae="(?:"+$ae+"(?:"+[MD,ND,LD].join("|")+")"+$D+DD+")*",Bae=$D+DD+Fae,Uae="(?:"+[MD+x3+"?",x3,ND,LD,Lae].join("|")+")",O9=RegExp(C3+"(?="+C3+")|"+Uae+Bae,"g");function zae(e){for(var t=O9.lastIndex=0;O9.test(e);)++t;return t}function Vae(e){return gT(e)?zae(e):Rae(e)}function jae(e,t,n,r,i){return i(e,function(o,s,a){n=r?(r=!1,o):t(n,o,s,a)}),n}function _T(e,t,n){var r=gr(e)?YL:jae,i=arguments.length<3;return r(e,J_(t),n,i,eb)}var Gae="[object Map]",Hae="[object Set]";function FD(e){if(e==null)return 0;if(Uf(e))return _ae(e)?Vae(e):e.length;var t=Sf(e);return t==Gae||t==Hae?e.size:BL(e).length}function Wae(e,t){var n;return eb(e,function(r,i,o){return n=t(r,i,o),!n}),!!n}function Ou(e,t,n){var r=gr(e)?wD:Wae;return n&&IL(e,t,n)&&(t=void 0),r(e,J_(t))}var qae=Mie(function(e,t,n){return e+(n?" ":"")+Gre(t)});const Kae=qae;var Xae=1/0,Yae=Zd&&1/vT(new Zd([,-0]))[1]==Xae?function(e){return new Zd(e)}:fte;const Qae=Yae;var Zae=200;function Jae(e,t,n){var r=-1,i=Ete,o=e.length,s=!0,a=[],l=a;if(n)s=!1,i=pae;else if(o>=Zae){var u=t?null:Qae(e);if(u)return vT(u);s=!1,i=xD,l=new ug}else l=t?[]:a;e:for(;++r{wae(e,t.payload)}}}),{configChanged:nle}=UD.actions,rle=UD.reducer,Z9e={"sd-1":"Stable Diffusion 1.x","sd-2":"Stable Diffusion 2.x",sdxl:"Stable Diffusion XL","sdxl-refiner":"Stable Diffusion XL Refiner"},J9e={"sd-1":"SD1","sd-2":"SD2",sdxl:"SDXL","sdxl-refiner":"SDXLR"},ile={"sd-1":{maxClip:12,markers:[0,1,2,3,4,8,12]},"sd-2":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},sdxl:{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},"sdxl-refiner":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]}},eRe={lycoris:"LyCORIS",diffusers:"Diffusers"},tRe=0,ole=4294967295;var St;(function(e){e.assertEqual=i=>i;function t(i){}e.assertIs=t;function n(i){throw new Error}e.assertNever=n,e.arrayToEnum=i=>{const o={};for(const s of i)o[s]=s;return o},e.getValidEnumValues=i=>{const o=e.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),s={};for(const a of o)s[a]=i[a];return e.objectValues(s)},e.objectValues=i=>e.objectKeys(i).map(function(o){return i[o]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const o=[];for(const s in i)Object.prototype.hasOwnProperty.call(i,s)&&o.push(s);return o},e.find=(i,o)=>{for(const s of i)if(o(s))return s},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&isFinite(i)&&Math.floor(i)===i;function r(i,o=" | "){return i.map(s=>typeof s=="string"?`'${s}'`:s).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(i,o)=>typeof o=="bigint"?o.toString():o})(St||(St={}));var T3;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(T3||(T3={}));const xe=St.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ml=e=>{switch(typeof e){case"undefined":return xe.undefined;case"string":return xe.string;case"number":return isNaN(e)?xe.nan:xe.number;case"boolean":return xe.boolean;case"function":return xe.function;case"bigint":return xe.bigint;case"symbol":return xe.symbol;case"object":return Array.isArray(e)?xe.array:e===null?xe.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?xe.promise:typeof Map<"u"&&e instanceof Map?xe.map:typeof Set<"u"&&e instanceof Set?xe.set:typeof Date<"u"&&e instanceof Date?xe.date:xe.object;default:return xe.unknown}},me=St.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),sle=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class Ko extends Error{constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}get errors(){return this.issues}format(t){const n=t||function(o){return o.message},r={_errors:[]},i=o=>{for(const s of o.issues)if(s.code==="invalid_union")s.unionErrors.map(i);else if(s.code==="invalid_return_type")i(s.returnTypeError);else if(s.code==="invalid_arguments")i(s.argumentsError);else if(s.path.length===0)r._errors.push(n(s));else{let a=r,l=0;for(;ln.message){const n={},r=[];for(const i of this.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}Ko.create=e=>new Ko(e);const cg=(e,t)=>{let n;switch(e.code){case me.invalid_type:e.received===xe.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case me.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,St.jsonStringifyReplacer)}`;break;case me.unrecognized_keys:n=`Unrecognized key(s) in object: ${St.joinValues(e.keys,", ")}`;break;case me.invalid_union:n="Invalid input";break;case me.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${St.joinValues(e.options)}`;break;case me.invalid_enum_value:n=`Invalid enum value. Expected ${St.joinValues(e.options)}, received '${e.received}'`;break;case me.invalid_arguments:n="Invalid function arguments";break;case me.invalid_return_type:n="Invalid function return type";break;case me.invalid_date:n="Invalid date";break;case me.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:St.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case me.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case me.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case me.custom:n="Invalid input";break;case me.invalid_intersection_types:n="Intersection results could not be merged";break;case me.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case me.not_finite:n="Number must be finite";break;default:n=t.defaultError,St.assertNever(e)}return{message:n}};let zD=cg;function ale(e){zD=e}function f1(){return zD}const h1=e=>{const{data:t,path:n,errorMaps:r,issueData:i}=e,o=[...n,...i.path||[]],s={...i,path:o};let a="";const l=r.filter(u=>!!u).slice().reverse();for(const u of l)a=u(s,{data:t,defaultError:a}).message;return{...i,path:o,message:i.message||a}},lle=[];function Te(e,t){const n=h1({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,f1(),cg].filter(r=>!!r)});e.common.issues.push(n)}class Wr{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){const r=[];for(const i of n){if(i.status==="aborted")return je;i.status==="dirty"&&t.dirty(),r.push(i.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){const r=[];for(const i of n)r.push({key:await i.key,value:await i.value});return Wr.mergeObjectSync(t,r)}static mergeObjectSync(t,n){const r={};for(const i of n){const{key:o,value:s}=i;if(o.status==="aborted"||s.status==="aborted")return je;o.status==="dirty"&&t.dirty(),s.status==="dirty"&&t.dirty(),(typeof s.value<"u"||i.alwaysSet)&&(r[o.value]=s.value)}return{status:t.value,value:r}}}const je=Object.freeze({status:"aborted"}),VD=e=>({status:"dirty",value:e}),li=e=>({status:"valid",value:e}),E3=e=>e.status==="aborted",A3=e=>e.status==="dirty",p1=e=>e.status==="valid",g1=e=>typeof Promise<"u"&&e instanceof Promise;var Le;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(Le||(Le={}));class Ms{constructor(t,n,r,i){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=i}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const k9=(e,t)=>{if(p1(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new Ko(e.common.issues);return this._error=n,this._error}}};function Qe(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(s,a)=>s.code!=="invalid_type"?{message:a.defaultError}:typeof a.data>"u"?{message:r??a.defaultError}:{message:n??a.defaultError},description:i}}class tt{constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(t){return ml(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ml(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Wr,ctx:{common:t.parent.common,data:t.data,parsedType:ml(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(g1(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){const n=this._parse(t);return Promise.resolve(n)}parse(t,n){const r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){var r;const i={common:{issues:[],async:(r=n==null?void 0:n.async)!==null&&r!==void 0?r:!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ml(t)},o=this._parseSync({data:t,path:i.path,parent:i});return k9(i,o)}async parseAsync(t,n){const r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){const r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ml(t)},i=this._parse({data:t,path:r.path,parent:r}),o=await(g1(i)?i:Promise.resolve(i));return k9(r,o)}refine(t,n){const r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,o)=>{const s=t(i),a=()=>o.addIssue({code:me.custom,...r(i)});return typeof Promise<"u"&&s instanceof Promise?s.then(l=>l?!0:(a(),!1)):s?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(t){return new es({schema:this,typeName:Ue.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}optional(){return va.create(this,this._def)}nullable(){return ic.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Xo.create(this,this._def)}promise(){return xf.create(this,this._def)}or(t){return pg.create([this,t],this._def)}and(t){return gg.create(this,t,this._def)}transform(t){return new es({...Qe(this._def),schema:this,typeName:Ue.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new bg({...Qe(this._def),innerType:this,defaultValue:n,typeName:Ue.ZodDefault})}brand(){return new GD({typeName:Ue.ZodBranded,type:this,...Qe(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new _1({...Qe(this._def),innerType:this,catchValue:n,typeName:Ue.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return hm.create(this,t)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const ule=/^c[^\s-]{8,}$/i,cle=/^[a-z][a-z0-9]*$/,dle=/[0-9A-HJKMNP-TV-Z]{26}/,fle=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,hle=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\])|(\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\.[A-Za-z]{2,})+))$/,ple=/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,gle=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,mle=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,yle=e=>e.precision?e.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}Z$`):e.precision===0?e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function vle(e,t){return!!((t==="v4"||!t)&&gle.test(e)||(t==="v6"||!t)&&mle.test(e))}class Go extends tt{constructor(){super(...arguments),this._regex=(t,n,r)=>this.refinement(i=>t.test(i),{validation:n,code:me.invalid_string,...Le.errToObj(r)}),this.nonempty=t=>this.min(1,Le.errToObj(t)),this.trim=()=>new Go({...this._def,checks:[...this._def.checks,{kind:"trim"}]}),this.toLowerCase=()=>new Go({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]}),this.toUpperCase=()=>new Go({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==xe.string){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.string,received:o.parsedType}),je}const r=new Wr;let i;for(const o of this._def.checks)if(o.kind==="min")t.data.lengtho.value&&(i=this._getOrReturnCtx(t,i),Te(i,{code:me.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){const s=t.data.length>o.value,a=t.data.length"u"?null:t==null?void 0:t.precision,offset:(n=t==null?void 0:t.offset)!==null&&n!==void 0?n:!1,...Le.errToObj(t==null?void 0:t.message)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...Le.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...Le.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...Le.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...Le.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...Le.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...Le.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...Le.errToObj(n)})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get minLength(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new Go({checks:[],typeName:Ue.ZodString,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...Qe(e)})};function _le(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r,o=parseInt(e.toFixed(i).replace(".","")),s=parseInt(t.toFixed(i).replace(".",""));return o%s/Math.pow(10,i)}class Ul extends tt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==xe.number){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.number,received:o.parsedType}),je}let r;const i=new Wr;for(const o of this._def.checks)o.kind==="int"?St.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),Te(r,{code:me.invalid_type,expected:"integer",received:"float",message:o.message}),i.dirty()):o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="multipleOf"?_le(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),Te(r,{code:me.not_finite,message:o.message}),i.dirty()):St.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,Le.toString(n))}gt(t,n){return this.setLimit("min",t,!1,Le.toString(n))}lte(t,n){return this.setLimit("max",t,!0,Le.toString(n))}lt(t,n){return this.setLimit("max",t,!1,Le.toString(n))}setLimit(t,n,r,i){return new Ul({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:Le.toString(i)}]})}_addCheck(t){return new Ul({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:Le.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Le.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Le.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Le.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Le.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:Le.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:Le.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Le.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Le.toString(t)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuet.kind==="int"||t.kind==="multipleOf"&&St.isInteger(t.value))}get isFinite(){let t=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.valuenew Ul({checks:[],typeName:Ue.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...Qe(e)});class zl extends tt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce&&(t.data=BigInt(t.data)),this._getType(t)!==xe.bigint){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.bigint,received:o.parsedType}),je}let r;const i=new Wr;for(const o of this._def.checks)o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):St.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,Le.toString(n))}gt(t,n){return this.setLimit("min",t,!1,Le.toString(n))}lte(t,n){return this.setLimit("max",t,!0,Le.toString(n))}lt(t,n){return this.setLimit("max",t,!1,Le.toString(n))}setLimit(t,n,r,i){return new zl({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:Le.toString(i)}]})}_addCheck(t){return new zl({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Le.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Le.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Le.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Le.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:Le.toString(n)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new zl({checks:[],typeName:Ue.ZodBigInt,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...Qe(e)})};class dg extends tt{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==xe.boolean){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.boolean,received:r.parsedType}),je}return li(t.data)}}dg.create=e=>new dg({typeName:Ue.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...Qe(e)});class nc extends tt{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==xe.date){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.date,received:o.parsedType}),je}if(isNaN(t.data.getTime())){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_date}),je}const r=new Wr;let i;for(const o of this._def.checks)o.kind==="min"?t.data.getTime()o.value&&(i=this._getOrReturnCtx(t,i),Te(i,{code:me.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):St.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new nc({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:Le.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:Le.toString(n)})}get minDate(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuenew nc({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:Ue.ZodDate,...Qe(e)});class m1 extends tt{_parse(t){if(this._getType(t)!==xe.symbol){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.symbol,received:r.parsedType}),je}return li(t.data)}}m1.create=e=>new m1({typeName:Ue.ZodSymbol,...Qe(e)});class fg extends tt{_parse(t){if(this._getType(t)!==xe.undefined){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.undefined,received:r.parsedType}),je}return li(t.data)}}fg.create=e=>new fg({typeName:Ue.ZodUndefined,...Qe(e)});class hg extends tt{_parse(t){if(this._getType(t)!==xe.null){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.null,received:r.parsedType}),je}return li(t.data)}}hg.create=e=>new hg({typeName:Ue.ZodNull,...Qe(e)});class wf extends tt{constructor(){super(...arguments),this._any=!0}_parse(t){return li(t.data)}}wf.create=e=>new wf({typeName:Ue.ZodAny,...Qe(e)});class ju extends tt{constructor(){super(...arguments),this._unknown=!0}_parse(t){return li(t.data)}}ju.create=e=>new ju({typeName:Ue.ZodUnknown,...Qe(e)});class Ra extends tt{_parse(t){const n=this._getOrReturnCtx(t);return Te(n,{code:me.invalid_type,expected:xe.never,received:n.parsedType}),je}}Ra.create=e=>new Ra({typeName:Ue.ZodNever,...Qe(e)});class y1 extends tt{_parse(t){if(this._getType(t)!==xe.undefined){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.void,received:r.parsedType}),je}return li(t.data)}}y1.create=e=>new y1({typeName:Ue.ZodVoid,...Qe(e)});class Xo extends tt{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==xe.array)return Te(n,{code:me.invalid_type,expected:xe.array,received:n.parsedType}),je;if(i.exactLength!==null){const s=n.data.length>i.exactLength.value,a=n.data.lengthi.maxLength.value&&(Te(n,{code:me.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((s,a)=>i.type._parseAsync(new Ms(n,s,n.path,a)))).then(s=>Wr.mergeArray(r,s));const o=[...n.data].map((s,a)=>i.type._parseSync(new Ms(n,s,n.path,a)));return Wr.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new Xo({...this._def,minLength:{value:t,message:Le.toString(n)}})}max(t,n){return new Xo({...this._def,maxLength:{value:t,message:Le.toString(n)}})}length(t,n){return new Xo({...this._def,exactLength:{value:t,message:Le.toString(n)}})}nonempty(t){return this.min(1,t)}}Xo.create=(e,t)=>new Xo({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Ue.ZodArray,...Qe(t)});function yd(e){if(e instanceof gn){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=va.create(yd(r))}return new gn({...e._def,shape:()=>t})}else return e instanceof Xo?new Xo({...e._def,type:yd(e.element)}):e instanceof va?va.create(yd(e.unwrap())):e instanceof ic?ic.create(yd(e.unwrap())):e instanceof Ns?Ns.create(e.items.map(t=>yd(t))):e}class gn extends tt{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),n=St.objectKeys(t);return this._cached={shape:t,keys:n}}_parse(t){if(this._getType(t)!==xe.object){const u=this._getOrReturnCtx(t);return Te(u,{code:me.invalid_type,expected:xe.object,received:u.parsedType}),je}const{status:r,ctx:i}=this._processInputParams(t),{shape:o,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof Ra&&this._def.unknownKeys==="strip"))for(const u in i.data)s.includes(u)||a.push(u);const l=[];for(const u of s){const d=o[u],f=i.data[u];l.push({key:{status:"valid",value:u},value:d._parse(new Ms(i,f,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof Ra){const u=this._def.unknownKeys;if(u==="passthrough")for(const d of a)l.push({key:{status:"valid",value:d},value:{status:"valid",value:i.data[d]}});else if(u==="strict")a.length>0&&(Te(i,{code:me.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const u=this._def.catchall;for(const d of a){const f=i.data[d];l.push({key:{status:"valid",value:d},value:u._parse(new Ms(i,f,i.path,d)),alwaysSet:d in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const u=[];for(const d of l){const f=await d.key;u.push({key:f,value:await d.value,alwaysSet:d.alwaysSet})}return u}).then(u=>Wr.mergeObjectSync(r,u)):Wr.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return Le.errToObj,new gn({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{var i,o,s,a;const l=(s=(o=(i=this._def).errorMap)===null||o===void 0?void 0:o.call(i,n,r).message)!==null&&s!==void 0?s:r.defaultError;return n.code==="unrecognized_keys"?{message:(a=Le.errToObj(t).message)!==null&&a!==void 0?a:l}:{message:l}}}:{}})}strip(){return new gn({...this._def,unknownKeys:"strip"})}passthrough(){return new gn({...this._def,unknownKeys:"passthrough"})}extend(t){return new gn({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new gn({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Ue.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new gn({...this._def,catchall:t})}pick(t){const n={};return St.objectKeys(t).forEach(r=>{t[r]&&this.shape[r]&&(n[r]=this.shape[r])}),new gn({...this._def,shape:()=>n})}omit(t){const n={};return St.objectKeys(this.shape).forEach(r=>{t[r]||(n[r]=this.shape[r])}),new gn({...this._def,shape:()=>n})}deepPartial(){return yd(this)}partial(t){const n={};return St.objectKeys(this.shape).forEach(r=>{const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}),new gn({...this._def,shape:()=>n})}required(t){const n={};return St.objectKeys(this.shape).forEach(r=>{if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof va;)o=o._def.innerType;n[r]=o}}),new gn({...this._def,shape:()=>n})}keyof(){return jD(St.objectKeys(this.shape))}}gn.create=(e,t)=>new gn({shape:()=>e,unknownKeys:"strip",catchall:Ra.create(),typeName:Ue.ZodObject,...Qe(t)});gn.strictCreate=(e,t)=>new gn({shape:()=>e,unknownKeys:"strict",catchall:Ra.create(),typeName:Ue.ZodObject,...Qe(t)});gn.lazycreate=(e,t)=>new gn({shape:e,unknownKeys:"strip",catchall:Ra.create(),typeName:Ue.ZodObject,...Qe(t)});class pg extends tt{_parse(t){const{ctx:n}=this._processInputParams(t),r=this._def.options;function i(o){for(const a of o)if(a.result.status==="valid")return a.result;for(const a of o)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;const s=o.map(a=>new Ko(a.ctx.common.issues));return Te(n,{code:me.invalid_union,unionErrors:s}),je}if(n.common.async)return Promise.all(r.map(async o=>{const s={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:s}),ctx:s}})).then(i);{let o;const s=[];for(const l of r){const u={...n,common:{...n.common,issues:[]},parent:null},d=l._parseSync({data:n.data,path:n.path,parent:u});if(d.status==="valid")return d;d.status==="dirty"&&!o&&(o={result:d,ctx:u}),u.common.issues.length&&s.push(u.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;const a=s.map(l=>new Ko(l));return Te(n,{code:me.invalid_union,unionErrors:a}),je}}get options(){return this._def.options}}pg.create=(e,t)=>new pg({options:e,typeName:Ue.ZodUnion,...Qe(t)});const cv=e=>e instanceof yg?cv(e.schema):e instanceof es?cv(e.innerType()):e instanceof vg?[e.value]:e instanceof Vl?e.options:e instanceof _g?Object.keys(e.enum):e instanceof bg?cv(e._def.innerType):e instanceof fg?[void 0]:e instanceof hg?[null]:null;class ib extends tt{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==xe.object)return Te(n,{code:me.invalid_type,expected:xe.object,received:n.parsedType}),je;const r=this.discriminator,i=n.data[r],o=this.optionsMap.get(i);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(Te(n,{code:me.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),je)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){const i=new Map;for(const o of n){const s=cv(o.shape[t]);if(!s)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(const a of s){if(i.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);i.set(a,o)}}return new ib({typeName:Ue.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...Qe(r)})}}function P3(e,t){const n=ml(e),r=ml(t);if(e===t)return{valid:!0,data:e};if(n===xe.object&&r===xe.object){const i=St.objectKeys(t),o=St.objectKeys(e).filter(a=>i.indexOf(a)!==-1),s={...e,...t};for(const a of o){const l=P3(e[a],t[a]);if(!l.valid)return{valid:!1};s[a]=l.data}return{valid:!0,data:s}}else if(n===xe.array&&r===xe.array){if(e.length!==t.length)return{valid:!1};const i=[];for(let o=0;o{if(E3(o)||E3(s))return je;const a=P3(o.value,s.value);return a.valid?((A3(o)||A3(s))&&n.dirty(),{status:n.value,value:a.data}):(Te(r,{code:me.invalid_intersection_types}),je)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,s])=>i(o,s)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}gg.create=(e,t,n)=>new gg({left:e,right:t,typeName:Ue.ZodIntersection,...Qe(n)});class Ns extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.array)return Te(r,{code:me.invalid_type,expected:xe.array,received:r.parsedType}),je;if(r.data.lengththis._def.items.length&&(Te(r,{code:me.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const o=[...r.data].map((s,a)=>{const l=this._def.items[a]||this._def.rest;return l?l._parse(new Ms(r,s,r.path,a)):null}).filter(s=>!!s);return r.common.async?Promise.all(o).then(s=>Wr.mergeArray(n,s)):Wr.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new Ns({...this._def,rest:t})}}Ns.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ns({items:e,typeName:Ue.ZodTuple,rest:null,...Qe(t)})};class mg extends tt{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.object)return Te(r,{code:me.invalid_type,expected:xe.object,received:r.parsedType}),je;const i=[],o=this._def.keyType,s=this._def.valueType;for(const a in r.data)i.push({key:o._parse(new Ms(r,a,r.path,a)),value:s._parse(new Ms(r,r.data[a],r.path,a))});return r.common.async?Wr.mergeObjectAsync(n,i):Wr.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof tt?new mg({keyType:t,valueType:n,typeName:Ue.ZodRecord,...Qe(r)}):new mg({keyType:Go.create(),valueType:t,typeName:Ue.ZodRecord,...Qe(n)})}}class v1 extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.map)return Te(r,{code:me.invalid_type,expected:xe.map,received:r.parsedType}),je;const i=this._def.keyType,o=this._def.valueType,s=[...r.data.entries()].map(([a,l],u)=>({key:i._parse(new Ms(r,a,r.path,[u,"key"])),value:o._parse(new Ms(r,l,r.path,[u,"value"]))}));if(r.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const l of s){const u=await l.key,d=await l.value;if(u.status==="aborted"||d.status==="aborted")return je;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}})}else{const a=new Map;for(const l of s){const u=l.key,d=l.value;if(u.status==="aborted"||d.status==="aborted")return je;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}}}}v1.create=(e,t,n)=>new v1({valueType:t,keyType:e,typeName:Ue.ZodMap,...Qe(n)});class rc extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.set)return Te(r,{code:me.invalid_type,expected:xe.set,received:r.parsedType}),je;const i=this._def;i.minSize!==null&&r.data.sizei.maxSize.value&&(Te(r,{code:me.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());const o=this._def.valueType;function s(l){const u=new Set;for(const d of l){if(d.status==="aborted")return je;d.status==="dirty"&&n.dirty(),u.add(d.value)}return{status:n.value,value:u}}const a=[...r.data.values()].map((l,u)=>o._parse(new Ms(r,l,r.path,u)));return r.common.async?Promise.all(a).then(l=>s(l)):s(a)}min(t,n){return new rc({...this._def,minSize:{value:t,message:Le.toString(n)}})}max(t,n){return new rc({...this._def,maxSize:{value:t,message:Le.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}rc.create=(e,t)=>new rc({valueType:e,minSize:null,maxSize:null,typeName:Ue.ZodSet,...Qe(t)});class Jd extends tt{constructor(){super(...arguments),this.validate=this.implement}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==xe.function)return Te(n,{code:me.invalid_type,expected:xe.function,received:n.parsedType}),je;function r(a,l){return h1({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,f1(),cg].filter(u=>!!u),issueData:{code:me.invalid_arguments,argumentsError:l}})}function i(a,l){return h1({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,f1(),cg].filter(u=>!!u),issueData:{code:me.invalid_return_type,returnTypeError:l}})}const o={errorMap:n.common.contextualErrorMap},s=n.data;return this._def.returns instanceof xf?li(async(...a)=>{const l=new Ko([]),u=await this._def.args.parseAsync(a,o).catch(p=>{throw l.addIssue(r(a,p)),l}),d=await s(...u);return await this._def.returns._def.type.parseAsync(d,o).catch(p=>{throw l.addIssue(i(d,p)),l})}):li((...a)=>{const l=this._def.args.safeParse(a,o);if(!l.success)throw new Ko([r(a,l.error)]);const u=s(...l.data),d=this._def.returns.safeParse(u,o);if(!d.success)throw new Ko([i(u,d.error)]);return d.data})}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new Jd({...this._def,args:Ns.create(t).rest(ju.create())})}returns(t){return new Jd({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new Jd({args:t||Ns.create([]).rest(ju.create()),returns:n||ju.create(),typeName:Ue.ZodFunction,...Qe(r)})}}class yg extends tt{get schema(){return this._def.getter()}_parse(t){const{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}yg.create=(e,t)=>new yg({getter:e,typeName:Ue.ZodLazy,...Qe(t)});class vg extends tt{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return Te(n,{received:n.data,code:me.invalid_literal,expected:this._def.value}),je}return{status:"valid",value:t.data}}get value(){return this._def.value}}vg.create=(e,t)=>new vg({value:e,typeName:Ue.ZodLiteral,...Qe(t)});function jD(e,t){return new Vl({values:e,typeName:Ue.ZodEnum,...Qe(t)})}class Vl extends tt{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return Te(n,{expected:St.joinValues(r),received:n.parsedType,code:me.invalid_type}),je}if(this._def.values.indexOf(t.data)===-1){const n=this._getOrReturnCtx(t),r=this._def.values;return Te(n,{received:n.data,code:me.invalid_enum_value,options:r}),je}return li(t.data)}get options(){return this._def.values}get enum(){const t={};for(const n of this._def.values)t[n]=n;return t}get Values(){const t={};for(const n of this._def.values)t[n]=n;return t}get Enum(){const t={};for(const n of this._def.values)t[n]=n;return t}extract(t){return Vl.create(t)}exclude(t){return Vl.create(this.options.filter(n=>!t.includes(n)))}}Vl.create=jD;class _g extends tt{_parse(t){const n=St.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==xe.string&&r.parsedType!==xe.number){const i=St.objectValues(n);return Te(r,{expected:St.joinValues(i),received:r.parsedType,code:me.invalid_type}),je}if(n.indexOf(t.data)===-1){const i=St.objectValues(n);return Te(r,{received:r.data,code:me.invalid_enum_value,options:i}),je}return li(t.data)}get enum(){return this._def.values}}_g.create=(e,t)=>new _g({values:e,typeName:Ue.ZodNativeEnum,...Qe(t)});class xf extends tt{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==xe.promise&&n.common.async===!1)return Te(n,{code:me.invalid_type,expected:xe.promise,received:n.parsedType}),je;const r=n.parsedType===xe.promise?n.data:Promise.resolve(n.data);return li(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}xf.create=(e,t)=>new xf({type:e,typeName:Ue.ZodPromise,...Qe(t)});class es extends tt{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Ue.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=this._def.effect||null;if(i.type==="preprocess"){const s=i.transform(r.data);return r.common.async?Promise.resolve(s).then(a=>this._def.schema._parseAsync({data:a,path:r.path,parent:r})):this._def.schema._parseSync({data:s,path:r.path,parent:r})}const o={addIssue:s=>{Te(r,s),s.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),i.type==="refinement"){const s=a=>{const l=i.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?je:(a.status==="dirty"&&n.dirty(),s(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?je:(a.status==="dirty"&&n.dirty(),s(a.value).then(()=>({status:n.value,value:a.value}))))}if(i.type==="transform")if(r.common.async===!1){const s=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!p1(s))return s;const a=i.transform(s.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(s=>p1(s)?Promise.resolve(i.transform(s.value,o)).then(a=>({status:n.value,value:a})):s);St.assertNever(i)}}es.create=(e,t,n)=>new es({schema:e,typeName:Ue.ZodEffects,effect:t,...Qe(n)});es.createWithPreprocess=(e,t,n)=>new es({schema:t,effect:{type:"preprocess",transform:e},typeName:Ue.ZodEffects,...Qe(n)});class va extends tt{_parse(t){return this._getType(t)===xe.undefined?li(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}va.create=(e,t)=>new va({innerType:e,typeName:Ue.ZodOptional,...Qe(t)});class ic extends tt{_parse(t){return this._getType(t)===xe.null?li(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}ic.create=(e,t)=>new ic({innerType:e,typeName:Ue.ZodNullable,...Qe(t)});class bg extends tt{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===xe.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}bg.create=(e,t)=>new bg({innerType:e,typeName:Ue.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Qe(t)});class _1 extends tt{_parse(t){const{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return g1(i)?i.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Ko(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Ko(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}_1.create=(e,t)=>new _1({innerType:e,typeName:Ue.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Qe(t)});class b1 extends tt{_parse(t){if(this._getType(t)!==xe.nan){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.nan,received:r.parsedType}),je}return{status:"valid",value:t.data}}}b1.create=e=>new b1({typeName:Ue.ZodNaN,...Qe(e)});const ble=Symbol("zod_brand");class GD extends tt{_parse(t){const{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class hm extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{const o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?je:o.status==="dirty"?(n.dirty(),VD(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{const i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?je:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(t,n){return new hm({in:t,out:n,typeName:Ue.ZodPipeline})}}const HD=(e,t={},n)=>e?wf.create().superRefine((r,i)=>{var o,s;if(!e(r)){const a=typeof t=="function"?t(r):typeof t=="string"?{message:t}:t,l=(s=(o=a.fatal)!==null&&o!==void 0?o:n)!==null&&s!==void 0?s:!0,u=typeof a=="string"?{message:a}:a;i.addIssue({code:"custom",...u,fatal:l})}}):wf.create(),Sle={object:gn.lazycreate};var Ue;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline"})(Ue||(Ue={}));const wle=(e,t={message:`Input not instance of ${e.name}`})=>HD(n=>n instanceof e,t),WD=Go.create,qD=Ul.create,xle=b1.create,Cle=zl.create,KD=dg.create,Tle=nc.create,Ele=m1.create,Ale=fg.create,Ple=hg.create,Rle=wf.create,Ole=ju.create,kle=Ra.create,Ile=y1.create,Mle=Xo.create,Nle=gn.create,Lle=gn.strictCreate,Dle=pg.create,$le=ib.create,Fle=gg.create,Ble=Ns.create,Ule=mg.create,zle=v1.create,Vle=rc.create,jle=Jd.create,Gle=yg.create,Hle=vg.create,Wle=Vl.create,qle=_g.create,Kle=xf.create,I9=es.create,Xle=va.create,Yle=ic.create,Qle=es.createWithPreprocess,Zle=hm.create,Jle=()=>WD().optional(),eue=()=>qD().optional(),tue=()=>KD().optional(),nue={string:e=>Go.create({...e,coerce:!0}),number:e=>Ul.create({...e,coerce:!0}),boolean:e=>dg.create({...e,coerce:!0}),bigint:e=>zl.create({...e,coerce:!0}),date:e=>nc.create({...e,coerce:!0})},rue=je;var wt=Object.freeze({__proto__:null,defaultErrorMap:cg,setErrorMap:ale,getErrorMap:f1,makeIssue:h1,EMPTY_PATH:lle,addIssueToContext:Te,ParseStatus:Wr,INVALID:je,DIRTY:VD,OK:li,isAborted:E3,isDirty:A3,isValid:p1,isAsync:g1,get util(){return St},get objectUtil(){return T3},ZodParsedType:xe,getParsedType:ml,ZodType:tt,ZodString:Go,ZodNumber:Ul,ZodBigInt:zl,ZodBoolean:dg,ZodDate:nc,ZodSymbol:m1,ZodUndefined:fg,ZodNull:hg,ZodAny:wf,ZodUnknown:ju,ZodNever:Ra,ZodVoid:y1,ZodArray:Xo,ZodObject:gn,ZodUnion:pg,ZodDiscriminatedUnion:ib,ZodIntersection:gg,ZodTuple:Ns,ZodRecord:mg,ZodMap:v1,ZodSet:rc,ZodFunction:Jd,ZodLazy:yg,ZodLiteral:vg,ZodEnum:Vl,ZodNativeEnum:_g,ZodPromise:xf,ZodEffects:es,ZodTransformer:es,ZodOptional:va,ZodNullable:ic,ZodDefault:bg,ZodCatch:_1,ZodNaN:b1,BRAND:ble,ZodBranded:GD,ZodPipeline:hm,custom:HD,Schema:tt,ZodSchema:tt,late:Sle,get ZodFirstPartyTypeKind(){return Ue},coerce:nue,any:Rle,array:Mle,bigint:Cle,boolean:KD,date:Tle,discriminatedUnion:$le,effect:I9,enum:Wle,function:jle,instanceof:wle,intersection:Fle,lazy:Gle,literal:Hle,map:zle,nan:xle,nativeEnum:qle,never:kle,null:Ple,nullable:Yle,number:qD,object:Nle,oboolean:tue,onumber:eue,optional:Xle,ostring:Jle,pipeline:Zle,preprocess:Qle,promise:Kle,record:Ule,set:Vle,strictObject:Lle,string:WD,symbol:Ele,transformer:I9,tuple:Ble,undefined:Ale,union:Dle,unknown:Ole,void:Ile,NEVER:rue,ZodIssueCode:me,quotelessJson:sle,ZodError:Ko});const iue=wt.string(),nRe=e=>iue.safeParse(e).success,oue=wt.string(),rRe=e=>oue.safeParse(e).success,sue=wt.string(),iRe=e=>sue.safeParse(e).success,aue=wt.string(),oRe=e=>aue.safeParse(e).success,lue=wt.number().int().min(1),sRe=e=>lue.safeParse(e).success,uue=wt.number().min(1),aRe=e=>uue.safeParse(e).success,cue=wt.enum(["euler","deis","ddim","ddpm","dpmpp_2s","dpmpp_2m","dpmpp_2m_sde","dpmpp_sde","heun","kdpm_2","lms","pndm","unipc","euler_k","dpmpp_2s_k","dpmpp_2m_k","dpmpp_2m_sde_k","dpmpp_sde_k","heun_k","lms_k","euler_a","kdpm_2_a"]),lRe=e=>cue.safeParse(e).success,uRe={euler:"Euler",deis:"DEIS",ddim:"DDIM",ddpm:"DDPM",dpmpp_sde:"DPM++ SDE",dpmpp_2s:"DPM++ 2S",dpmpp_2m:"DPM++ 2M",dpmpp_2m_sde:"DPM++ 2M SDE",heun:"Heun",kdpm_2:"KDPM 2",lms:"LMS",pndm:"PNDM",unipc:"UniPC",euler_k:"Euler Karras",dpmpp_sde_k:"DPM++ SDE Karras",dpmpp_2s_k:"DPM++ 2S Karras",dpmpp_2m_k:"DPM++ 2M Karras",dpmpp_2m_sde_k:"DPM++ 2M SDE Karras",heun_k:"Heun Karras",lms_k:"LMS Karras",euler_a:"Euler Ancestral",kdpm_2_a:"KDPM 2 Ancestral"},due=wt.number().int().min(0).max(ole),cRe=e=>due.safeParse(e).success,fue=wt.number().multipleOf(8).min(64),dRe=e=>fue.safeParse(e).success,hue=wt.number().multipleOf(8).min(64),fRe=e=>hue.safeParse(e).success,pm=wt.enum(["sd-1","sd-2","sdxl","sdxl-refiner"]),bT=wt.object({model_name:wt.string().min(1),base_model:pm,model_type:wt.literal("main")}),hRe=e=>bT.safeParse(e).success,XD=wt.object({model_name:wt.string().min(1),base_model:wt.literal("sdxl-refiner"),model_type:wt.literal("main")}),pRe=e=>XD.safeParse(e).success,pue=wt.object({model_name:wt.string().min(1),base_model:pm,model_type:wt.literal("onnx")}),YD=wt.union([bT,pue]),gue=wt.object({model_name:wt.string().min(1),base_model:pm}),gRe=wt.object({model_name:wt.string().min(1),base_model:pm}),mRe=wt.object({model_name:wt.string().min(1),base_model:pm}),mue=wt.number().min(0).max(1),yRe=e=>mue.safeParse(e).success;wt.enum(["fp16","fp32"]);const yue=wt.number().min(1).max(10),vRe=e=>yue.safeParse(e).success,vue=wt.number().min(0).max(1),_Re=e=>vue.safeParse(e).success,La={cfgScale:7.5,height:512,img2imgStrength:.75,infillMethod:"patchmatch",iterations:1,perlin:0,positivePrompt:"",negativePrompt:"",scheduler:"euler",seamBlur:16,seamSize:96,seamSteps:30,seamStrength:.7,seed:0,seedWeights:"",shouldFitToWidthHeight:!0,shouldGenerateVariations:!1,shouldRandomizeSeed:!0,shouldUseNoiseSettings:!1,steps:50,threshold:0,tileSize:32,variationAmount:.1,width:512,shouldUseSymmetry:!1,horizontalSymmetrySteps:0,verticalSymmetrySteps:0,model:null,vae:null,vaePrecision:"fp32",seamlessXAxis:!1,seamlessYAxis:!1,clipSkip:0,shouldUseCpuNoise:!0,shouldShowAdvancedOptions:!1,aspectRatio:null},_ue=La,QD=yn({name:"generation",initialState:_ue,reducers:{setPositivePrompt:(e,t)=>{e.positivePrompt=t.payload},setNegativePrompt:(e,t)=>{e.negativePrompt=t.payload},setIterations:(e,t)=>{e.iterations=t.payload},setSteps:(e,t)=>{e.steps=t.payload},clampSymmetrySteps:e=>{e.horizontalSymmetrySteps=bl(e.horizontalSymmetrySteps,0,e.steps),e.verticalSymmetrySteps=bl(e.verticalSymmetrySteps,0,e.steps)},setCfgScale:(e,t)=>{e.cfgScale=t.payload},setThreshold:(e,t)=>{e.threshold=t.payload},setPerlin:(e,t)=>{e.perlin=t.payload},setHeight:(e,t)=>{e.height=t.payload},setWidth:(e,t)=>{e.width=t.payload},toggleSize:e=>{const[t,n]=[e.width,e.height];e.width=n,e.height=t},setScheduler:(e,t)=>{e.scheduler=t.payload},setSeed:(e,t)=>{e.seed=t.payload,e.shouldRandomizeSeed=!1},setImg2imgStrength:(e,t)=>{e.img2imgStrength=t.payload},setSeamlessXAxis:(e,t)=>{e.seamlessXAxis=t.payload},setSeamlessYAxis:(e,t)=>{e.seamlessYAxis=t.payload},setShouldFitToWidthHeight:(e,t)=>{e.shouldFitToWidthHeight=t.payload},resetSeed:e=>{e.seed=-1},setShouldGenerateVariations:(e,t)=>{e.shouldGenerateVariations=t.payload},setVariationAmount:(e,t)=>{e.variationAmount=t.payload},setSeedWeights:(e,t)=>{e.seedWeights=t.payload,e.shouldGenerateVariations=!0,e.variationAmount=0},resetParametersState:e=>({...e,...La}),setShouldRandomizeSeed:(e,t)=>{e.shouldRandomizeSeed=t.payload},clearInitialImage:e=>{e.initialImage=void 0},setSeamSize:(e,t)=>{e.seamSize=t.payload},setSeamBlur:(e,t)=>{e.seamBlur=t.payload},setSeamStrength:(e,t)=>{e.seamStrength=t.payload},setSeamSteps:(e,t)=>{e.seamSteps=t.payload},setTileSize:(e,t)=>{e.tileSize=t.payload},setInfillMethod:(e,t)=>{e.infillMethod=t.payload},setShouldUseSymmetry:(e,t)=>{e.shouldUseSymmetry=t.payload},setHorizontalSymmetrySteps:(e,t)=>{e.horizontalSymmetrySteps=t.payload},setVerticalSymmetrySteps:(e,t)=>{e.verticalSymmetrySteps=t.payload},setShouldUseNoiseSettings:(e,t)=>{e.shouldUseNoiseSettings=t.payload},initialImageChanged:(e,t)=>{const{image_name:n,width:r,height:i}=t.payload;e.initialImage={imageName:n,width:r,height:i}},modelChanged:(e,t)=>{if(e.model=t.payload,e.model===null)return;const{maxClip:n}=ile[e.model.base_model];e.clipSkip=bl(e.clipSkip,0,n)},vaeSelected:(e,t)=>{e.vae=t.payload},vaePrecisionChanged:(e,t)=>{e.vaePrecision=t.payload},setClipSkip:(e,t)=>{e.clipSkip=t.payload},shouldUseCpuNoiseChanged:(e,t)=>{e.shouldUseCpuNoise=t.payload},setShouldShowAdvancedOptions:(e,t)=>{e.shouldShowAdvancedOptions=t.payload,t.payload||(e.clipSkip=0)},setAspectRatio:(e,t)=>{const n=t.payload;e.aspectRatio=n,n&&(e.height=Ss(e.width/n,8))}},extraReducers:e=>{e.addCase(nle,(t,n)=>{var i;const r=(i=n.payload.sd)==null?void 0:i.defaultModel;if(r&&!t.model){const[o,s,a]=r.split("/"),l=bT.safeParse({model_name:a,base_model:o,model_type:s});l.success&&(t.model=l.data)}}),e.addCase(Sue,(t,n)=>{n.payload||(t.clipSkip=0)})}}),{clampSymmetrySteps:bRe,clearInitialImage:ST,resetParametersState:SRe,resetSeed:wRe,setCfgScale:xRe,setWidth:CRe,setHeight:TRe,toggleSize:ERe,setImg2imgStrength:ARe,setInfillMethod:bue,setIterations:PRe,setPerlin:RRe,setPositivePrompt:ORe,setNegativePrompt:kRe,setScheduler:IRe,setSeamBlur:MRe,setSeamSize:NRe,setSeamSteps:LRe,setSeamStrength:DRe,setSeed:$Re,setSeedWeights:FRe,setShouldFitToWidthHeight:BRe,setShouldGenerateVariations:URe,setShouldRandomizeSeed:zRe,setSteps:VRe,setThreshold:jRe,setTileSize:GRe,setVariationAmount:HRe,setShouldUseSymmetry:WRe,setHorizontalSymmetrySteps:qRe,setVerticalSymmetrySteps:KRe,initialImageChanged:ob,modelChanged:Gu,vaeSelected:ZD,setShouldUseNoiseSettings:XRe,setSeamlessXAxis:YRe,setSeamlessYAxis:QRe,setClipSkip:ZRe,shouldUseCpuNoiseChanged:JRe,setShouldShowAdvancedOptions:Sue,setAspectRatio:wue,vaePrecisionChanged:eOe}=QD.actions,xue=QD.reducer,JD=["txt2img","img2img","unifiedCanvas","nodes","modelManager","batch"],M9=(e,t)=>{typeof t=="number"?e.activeTab=t:e.activeTab=JD.indexOf(t)},e$={activeTab:0,shouldPinParametersPanel:!0,shouldShowParametersPanel:!0,shouldShowImageDetails:!1,shouldUseCanvasBetaLayout:!1,shouldShowExistingModelsInSearch:!1,shouldUseSliders:!1,shouldPinGallery:!0,shouldShowGallery:!0,shouldHidePreview:!1,shouldShowProgressInViewer:!0,shouldShowEmbeddingPicker:!1,favoriteSchedulers:[]},t$=yn({name:"ui",initialState:e$,reducers:{setActiveTab:(e,t)=>{M9(e,t.payload)},setShouldPinParametersPanel:(e,t)=>{e.shouldPinParametersPanel=t.payload,e.shouldShowParametersPanel=!0},setShouldShowParametersPanel:(e,t)=>{e.shouldShowParametersPanel=t.payload},setShouldShowImageDetails:(e,t)=>{e.shouldShowImageDetails=t.payload},setShouldUseCanvasBetaLayout:(e,t)=>{e.shouldUseCanvasBetaLayout=t.payload},setShouldHidePreview:(e,t)=>{e.shouldHidePreview=t.payload},setShouldShowExistingModelsInSearch:(e,t)=>{e.shouldShowExistingModelsInSearch=t.payload},setShouldUseSliders:(e,t)=>{e.shouldUseSliders=t.payload},setShouldShowGallery:(e,t)=>{e.shouldShowGallery=t.payload},togglePinGalleryPanel:e=>{e.shouldPinGallery=!e.shouldPinGallery,e.shouldPinGallery||(e.shouldShowGallery=!0)},togglePinParametersPanel:e=>{e.shouldPinParametersPanel=!e.shouldPinParametersPanel,e.shouldPinParametersPanel||(e.shouldShowParametersPanel=!0)},toggleParametersPanel:e=>{e.shouldShowParametersPanel=!e.shouldShowParametersPanel},toggleGalleryPanel:e=>{e.shouldShowGallery=!e.shouldShowGallery},togglePanels:e=>{e.shouldShowGallery||e.shouldShowParametersPanel?(e.shouldShowGallery=!1,e.shouldShowParametersPanel=!1):(e.shouldShowGallery=!0,e.shouldShowParametersPanel=!0)},setShouldShowProgressInViewer:(e,t)=>{e.shouldShowProgressInViewer=t.payload},favoriteSchedulersChanged:(e,t)=>{e.favoriteSchedulers=t.payload},toggleEmbeddingPicker:e=>{e.shouldShowEmbeddingPicker=!e.shouldShowEmbeddingPicker}},extraReducers(e){e.addCase(ob,t=>{M9(t,"img2img")})}}),{setActiveTab:n$,setShouldPinParametersPanel:tOe,setShouldShowParametersPanel:nOe,setShouldShowImageDetails:rOe,setShouldUseCanvasBetaLayout:Cue,setShouldShowExistingModelsInSearch:iOe,setShouldUseSliders:oOe,setShouldHidePreview:sOe,setShouldShowGallery:aOe,togglePanels:lOe,togglePinGalleryPanel:uOe,togglePinParametersPanel:cOe,toggleParametersPanel:dOe,toggleGalleryPanel:fOe,setShouldShowProgressInViewer:hOe,favoriteSchedulersChanged:pOe,toggleEmbeddingPicker:gOe}=t$.actions,Tue=t$.reducer;let ti=[],gm=(e,t)=>{let n=[],r={get(){return r.lc||r.listen(()=>{})(),r.value},l:t||0,lc:0,listen(i,o){return r.lc=n.push(i,o||r.l)/2,()=>{let s=n.indexOf(i);~s&&(n.splice(s,2),r.lc--,r.lc||r.off())}},notify(i){let o=!ti.length;for(let s=0;s(e.events=e.events||{},e.events[n+g0]||(e.events[n+g0]=r(i=>{e.events[n].reduceRight((o,s)=>(s(o),o),{shared:{},...i})})),e.events[n]=e.events[n]||[],e.events[n].push(t),()=>{let i=e.events[n],o=i.indexOf(t);i.splice(o,1),i.length||(delete e.events[n],e.events[n+g0](),delete e.events[n+g0])}),Pue=1e3,Rue=(e,t)=>Aue(e,r=>{let i=t(r);i&&e.events[p0].push(i)},Eue,r=>{let i=e.listen;e.listen=(...s)=>(!e.lc&&!e.active&&(e.active=!0,r()),i(...s));let o=e.off;return e.events[p0]=[],e.off=()=>{o(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let s of e.events[p0])s();e.events[p0]=[]}},Pue)},()=>{e.listen=i,e.off=o}}),Oue=(e,t)=>{Array.isArray(e)||(e=[e]);let n,r=()=>{let o=e.map(s=>s.get());(n===void 0||o.some((s,a)=>s!==n[a]))&&(n=o,i.set(t(...o)))},i=gm(void 0,Math.max(...e.map(o=>o.l))+1);return Rue(i,()=>{let o=e.map(s=>s.listen(r,i.l));return r(),()=>{for(let s of o)s()}}),i};const kue={"Content-Type":"application/json"},Iue=/\/*$/;function Mue(e){const t=new URLSearchParams;if(e&&typeof e=="object")for(const[n,r]of Object.entries(e))r!=null&&t.set(n,r);return t.toString()}function Nue(e){return JSON.stringify(e)}function Lue(e,t){let n=`${t.baseUrl?t.baseUrl.replace(Iue,""):""}${e}`;if(t.params.path)for(const[r,i]of Object.entries(t.params.path))n=n.replace(`{${r}}`,encodeURIComponent(String(i)));if(t.params.query){const r=t.querySerializer(t.params.query);r&&(n+=`?${r}`)}return n}function Due(e={}){const{fetch:t=globalThis.fetch,querySerializer:n,bodySerializer:r,...i}=e,o=new Headers({...kue,...i.headers??{}});async function s(a,l){const{headers:u,body:d,params:f={},parseAs:p="json",querySerializer:g=n??Mue,bodySerializer:m=r??Nue,...v}=l||{},x=Lue(a,{baseUrl:i.baseUrl,params:f,querySerializer:g}),_=new Headers(o),b=new Headers(u);for(const[T,E]of b.entries())E==null?_.delete(T):_.set(T,E);const y={redirect:"follow",...i,...v,headers:_};d&&(y.body=m(d)),y.body instanceof FormData&&_.delete("Content-Type");const S=await t(x,y);if(S.status===204||S.headers.get("Content-Length")==="0")return S.ok?{data:{},response:S}:{error:{},response:S};if(S.ok){let T=S.body;if(p!=="stream"){const E=S.clone();T=typeof E[p]=="function"?await E[p]():await E.text()}return{data:T,response:S}}let C={};try{C=await S.clone().json()}catch{C=await S.clone().text()}return{error:C,response:S}}return{async get(a,l){return s(a,{...l,method:"GET"})},async put(a,l){return s(a,{...l,method:"PUT"})},async post(a,l){return s(a,{...l,method:"POST"})},async del(a,l){return s(a,{...l,method:"DELETE"})},async options(a,l){return s(a,{...l,method:"OPTIONS"})},async head(a,l){return s(a,{...l,method:"HEAD"})},async patch(a,l){return s(a,{...l,method:"PATCH"})},async trace(a,l){return s(a,{...l,method:"TRACE"})}}}const Sg=gm(),wg=gm(),S1=gm(),sb=Oue([Sg,wg,S1],(e,t,n)=>Due({headers:{...e?{Authorization:`Bearer ${e}`}:{},...n?{"project-id":n}:{}},baseUrl:`${t??""}`})),Mr=Bl("api/sessionCreated",async(e,{rejectWithValue:t})=>{const{graph:n}=e,{post:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{body:n});return o?t({arg:e,status:s.status,error:o}):i}),$ue=e=>Pi(e)&&"status"in e,mm=Bl("api/sessionInvoked",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{put:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{query:{all:!0},path:{session_id:n}}});if(o)return $ue(o)&&o.status===403?t({arg:e,status:s.status,error:o.body.detail}):t({arg:e,status:s.status,error:o})}),mc=Bl("api/sessionCanceled",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{del:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{path:{session_id:n}}});return o?t({arg:e,error:o}):i});Bl("api/listSessions",async(e,{rejectWithValue:t})=>{const{params:n}=e,{get:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{params:n});return o?t({arg:e,error:o}):i});const r$=Co(Mr.rejected,mm.rejected),td=(e,t,n,r,i,o,s)=>{const a=Math.floor(e/2-(n+i/2)*s),l=Math.floor(t/2-(r+o/2)*s);return{x:a,y:l}},nd=(e,t,n,r,i=.95)=>{const o=e*i/n,s=t*i/r;return Math.min(1,Math.min(o,s))},mOe=.999,yOe=.1,vOe=20,zh=.95,_Oe=30,bOe=10,N9=e=>({x:Math.floor(e.x),y:Math.floor(e.y)}),_u=e=>{const{width:t,height:n}=e,r={width:t,height:n},i=512*512,o=t/n;let s=t*n,a=448;for(;s1?(r.width=a,r.height=Ss(a/o,64)):o<1&&(r.height=a,r.width=Ss(a*o,64)),s=r.width*r.height;return r},Fue=e=>({width:Ss(e.width,64),height:Ss(e.height,64)}),SOe=[{label:"Base",value:"base"},{label:"Mask",value:"mask"}],wOe=[{label:"Auto",value:"auto"},{label:"Manual",value:"manual"},{label:"None",value:"none"}],i$=e=>e.kind==="line"&&e.layer==="mask",xOe=e=>e.kind==="line"&&e.layer==="base",L9=e=>e.kind==="image"&&e.layer==="base",COe=e=>e.kind==="fillRect"&&e.layer==="base",TOe=e=>e.kind==="eraseRect"&&e.layer==="base",Bue=e=>e.kind==="line",vd={objects:[],stagingArea:{images:[],selectedImageIndex:-1}},o$={boundingBoxCoordinates:{x:0,y:0},boundingBoxDimensions:{width:512,height:512},boundingBoxPreviewFill:{r:0,g:0,b:0,a:.5},boundingBoxScaleMethod:"auto",brushColor:{r:90,g:90,b:255,a:1},brushSize:50,canvasContainerDimensions:{width:0,height:0},colorPickerColor:{r:90,g:90,b:255,a:1},cursorPosition:null,doesCanvasNeedScaling:!1,futureLayerStates:[],isCanvasInitialized:!1,isDrawing:!1,isMaskEnabled:!0,isMouseOverBoundingBox:!1,isMoveBoundingBoxKeyHeld:!1,isMoveStageKeyHeld:!1,isMovingBoundingBox:!1,isMovingStage:!1,isTransformingBoundingBox:!1,layer:"base",layerState:vd,maskColor:{r:255,g:90,b:90,a:1},maxHistory:128,minimumStageScale:1,pastLayerStates:[],scaledBoundingBoxDimensions:{width:512,height:512},shouldAntialias:!0,shouldAutoSave:!1,shouldCropToBoundingBoxOnSave:!1,shouldDarkenOutsideBoundingBox:!1,shouldLockBoundingBox:!1,shouldPreserveMaskedArea:!1,shouldRestrictStrokesToBox:!0,shouldShowBoundingBox:!0,shouldShowBrush:!0,shouldShowBrushPreview:!1,shouldShowCanvasDebugInfo:!1,shouldShowCheckboardTransparency:!1,shouldShowGrid:!0,shouldShowIntermediates:!0,shouldShowStagingImage:!0,shouldShowStagingOutline:!0,shouldSnapToGrid:!0,stageCoordinates:{x:0,y:0},stageDimensions:{width:0,height:0},stageScale:1,tool:"brush"},s$=yn({name:"canvas",initialState:o$,reducers:{setTool:(e,t)=>{const n=t.payload;e.tool=t.payload,n!=="move"&&(e.isTransformingBoundingBox=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1)},setLayer:(e,t)=>{e.layer=t.payload},toggleTool:e=>{const t=e.tool;t!=="move"&&(e.tool=t==="brush"?"eraser":"brush")},setMaskColor:(e,t)=>{e.maskColor=t.payload},setBrushColor:(e,t)=>{e.brushColor=t.payload},setBrushSize:(e,t)=>{e.brushSize=t.payload},clearMask:e=>{e.pastLayerStates.push(zr(e.layerState)),e.layerState.objects=e.layerState.objects.filter(t=>!i$(t)),e.futureLayerStates=[],e.shouldPreserveMaskedArea=!1},toggleShouldInvertMask:e=>{e.shouldPreserveMaskedArea=!e.shouldPreserveMaskedArea},toggleShouldShowMask:e=>{e.isMaskEnabled=!e.isMaskEnabled},setShouldPreserveMaskedArea:(e,t)=>{e.shouldPreserveMaskedArea=t.payload},setIsMaskEnabled:(e,t)=>{e.isMaskEnabled=t.payload,e.layer=t.payload?"mask":"base"},setShouldShowCheckboardTransparency:(e,t)=>{e.shouldShowCheckboardTransparency=t.payload},setShouldShowBrushPreview:(e,t)=>{e.shouldShowBrushPreview=t.payload},setShouldShowBrush:(e,t)=>{e.shouldShowBrush=t.payload},setCursorPosition:(e,t)=>{e.cursorPosition=t.payload},setInitialCanvasImage:(e,t)=>{const n=t.payload,{width:r,height:i}=n,{stageDimensions:o}=e,s={width:f0(bl(r,64,512),64),height:f0(bl(i,64,512),64)},a={x:Ss(r/2-s.width/2,64),y:Ss(i/2-s.height/2,64)};if(e.boundingBoxScaleMethod==="auto"){const d=_u(s);e.scaledBoundingBoxDimensions=d}e.boundingBoxDimensions=s,e.boundingBoxCoordinates=a,e.pastLayerStates.push(zr(e.layerState)),e.layerState={...vd,objects:[{kind:"image",layer:"base",x:0,y:0,width:r,height:i,imageName:n.image_name}]},e.futureLayerStates=[],e.isCanvasInitialized=!1;const l=nd(o.width,o.height,r,i,zh),u=td(o.width,o.height,0,0,r,i,l);e.stageScale=l,e.stageCoordinates=u,e.doesCanvasNeedScaling=!0},setBoundingBoxDimensions:(e,t)=>{const n=Fue(t.payload);if(e.boundingBoxDimensions=n,e.boundingBoxScaleMethod==="auto"){const r=_u(n);e.scaledBoundingBoxDimensions=r}},flipBoundingBoxAxes:e=>{const[t,n]=[e.boundingBoxDimensions.width,e.boundingBoxDimensions.height];e.boundingBoxDimensions={width:n,height:t}},setBoundingBoxCoordinates:(e,t)=>{e.boundingBoxCoordinates=N9(t.payload)},setStageCoordinates:(e,t)=>{e.stageCoordinates=t.payload},setBoundingBoxPreviewFill:(e,t)=>{e.boundingBoxPreviewFill=t.payload},setDoesCanvasNeedScaling:(e,t)=>{e.doesCanvasNeedScaling=t.payload},setStageScale:(e,t)=>{e.stageScale=t.payload},setShouldDarkenOutsideBoundingBox:(e,t)=>{e.shouldDarkenOutsideBoundingBox=t.payload},setIsDrawing:(e,t)=>{e.isDrawing=t.payload},clearCanvasHistory:e=>{e.pastLayerStates=[],e.futureLayerStates=[]},setShouldLockBoundingBox:(e,t)=>{e.shouldLockBoundingBox=t.payload},toggleShouldLockBoundingBox:e=>{e.shouldLockBoundingBox=!e.shouldLockBoundingBox},setShouldShowBoundingBox:(e,t)=>{e.shouldShowBoundingBox=t.payload},setIsTransformingBoundingBox:(e,t)=>{e.isTransformingBoundingBox=t.payload},setIsMovingBoundingBox:(e,t)=>{e.isMovingBoundingBox=t.payload},setIsMouseOverBoundingBox:(e,t)=>{e.isMouseOverBoundingBox=t.payload},setIsMoveBoundingBoxKeyHeld:(e,t)=>{e.isMoveBoundingBoxKeyHeld=t.payload},setIsMoveStageKeyHeld:(e,t)=>{e.isMoveStageKeyHeld=t.payload},canvasSessionIdChanged:(e,t)=>{e.layerState.stagingArea.sessionId=t.payload},stagingAreaInitialized:(e,t)=>{const{sessionId:n,boundingBox:r}=t.payload;e.layerState.stagingArea={boundingBox:r,sessionId:n,images:[],selectedImageIndex:-1}},addImageToStagingArea:(e,t)=>{const n=t.payload;!n||!e.layerState.stagingArea.boundingBox||(e.pastLayerStates.push(zr(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea.images.push({kind:"image",layer:"base",...e.layerState.stagingArea.boundingBox,imageName:n.image_name}),e.layerState.stagingArea.selectedImageIndex=e.layerState.stagingArea.images.length-1,e.futureLayerStates=[])},discardStagedImages:e=>{e.pastLayerStates.push(zr(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea={...vd.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingOutline=!0},addFillRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,brushColor:r}=e;e.pastLayerStates.push(zr(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"fillRect",layer:"base",...t,...n,color:r}),e.futureLayerStates=[]},addEraseRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n}=e;e.pastLayerStates.push(zr(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"eraseRect",layer:"base",...t,...n}),e.futureLayerStates=[]},addLine:(e,t)=>{const{tool:n,layer:r,brushColor:i,brushSize:o,shouldRestrictStrokesToBox:s}=e;if(n==="move"||n==="colorPicker")return;const a=o/2,l=r==="base"&&n==="brush"?{color:i}:{};e.pastLayerStates.push(zr(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const u={kind:"line",layer:r,tool:n,strokeWidth:a,points:t.payload,...l};s&&(u.clip={...e.boundingBoxCoordinates,...e.boundingBoxDimensions}),e.layerState.objects.push(u),e.futureLayerStates=[]},addPointToCurrentLine:(e,t)=>{const n=e.layerState.objects.findLast(Bue);n&&n.points.push(...t.payload)},undo:e=>{const t=e.pastLayerStates.pop();t&&(e.futureLayerStates.unshift(zr(e.layerState)),e.futureLayerStates.length>e.maxHistory&&e.futureLayerStates.pop(),e.layerState=t)},redo:e=>{const t=e.futureLayerStates.shift();t&&(e.pastLayerStates.push(zr(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState=t)},setShouldShowGrid:(e,t)=>{e.shouldShowGrid=t.payload},setIsMovingStage:(e,t)=>{e.isMovingStage=t.payload},setShouldSnapToGrid:(e,t)=>{e.shouldSnapToGrid=t.payload},setShouldAutoSave:(e,t)=>{e.shouldAutoSave=t.payload},setShouldShowIntermediates:(e,t)=>{e.shouldShowIntermediates=t.payload},resetCanvas:e=>{e.pastLayerStates.push(zr(e.layerState)),e.layerState=vd,e.futureLayerStates=[]},setCanvasContainerDimensions:(e,t)=>{e.canvasContainerDimensions=t.payload},resizeAndScaleCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r=e.layerState.objects.find(L9),i={width:Math.floor(t),height:Math.floor(n)};if(!r){const d=nd(i.width,i.height,512,512,zh),f=td(i.width,i.height,0,0,512,512,d),p={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=f,e.stageDimensions=i,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=p,e.boundingBoxScaleMethod==="auto"){const g=_u(p);e.scaledBoundingBoxDimensions=g}return}const{width:o,height:s}=r,l=nd(t,n,o,s,.95),u=td(i.width,i.height,0,0,o,s,l);e.minimumStageScale=l,e.stageScale=l,e.stageCoordinates=N9(u),e.stageDimensions=i,e.isCanvasInitialized=!0},resizeCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r={width:Math.floor(t),height:Math.floor(n)};if(e.stageDimensions=r,!e.layerState.objects.find(L9)){const i=nd(r.width,r.height,512,512,zh),o=td(r.width,r.height,0,0,512,512,i),s={width:512,height:512};if(e.stageScale=i,e.stageCoordinates=o,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=s,e.boundingBoxScaleMethod==="auto"){const a=_u(s);e.scaledBoundingBoxDimensions=a}}},resetCanvasView:(e,t)=>{const{contentRect:n,shouldScaleTo1:r}=t.payload,{stageDimensions:{width:i,height:o}}=e,{x:s,y:a,width:l,height:u}=n;if(l!==0&&u!==0){const d=r?1:nd(i,o,l,u,zh),f=td(i,o,s,a,l,u,d);e.stageScale=d,e.stageCoordinates=f}else{const d=nd(i,o,512,512,zh),f=td(i,o,0,0,512,512,d),p={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=f,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=p,e.boundingBoxScaleMethod==="auto"){const g=_u(p);e.scaledBoundingBoxDimensions=g}}},nextStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex,n=e.layerState.stagingArea.images.length;e.layerState.stagingArea.selectedImageIndex=Math.min(t+1,n-1)},prevStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex;e.layerState.stagingArea.selectedImageIndex=Math.max(t-1,0)},commitStagingAreaImage:(e,t)=>{if(!e.layerState.stagingArea.images.length)return;const{images:n,selectedImageIndex:r}=e.layerState.stagingArea;e.pastLayerStates.push(zr(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const i=n[r];i&&e.layerState.objects.push({...i}),e.layerState.stagingArea={...vd.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingImage=!0},fitBoundingBoxToStage:e=>{const{boundingBoxDimensions:t,boundingBoxCoordinates:n,stageDimensions:r,stageScale:i}=e,o=r.width/i,s=r.height/i;if(n.x<0||n.x+t.width>o||n.y<0||n.y+t.height>s){const a={width:f0(bl(o,64,512),64),height:f0(bl(s,64,512),64)},l={x:Ss(o/2-a.width/2,64),y:Ss(s/2-a.height/2,64)};if(e.boundingBoxDimensions=a,e.boundingBoxCoordinates=l,e.boundingBoxScaleMethod==="auto"){const u=_u(a);e.scaledBoundingBoxDimensions=u}}},setBoundingBoxScaleMethod:(e,t)=>{if(e.boundingBoxScaleMethod=t.payload,t.payload==="auto"){const n=_u(e.boundingBoxDimensions);e.scaledBoundingBoxDimensions=n}},setScaledBoundingBoxDimensions:(e,t)=>{e.scaledBoundingBoxDimensions=t.payload},setShouldShowStagingImage:(e,t)=>{e.shouldShowStagingImage=t.payload},setShouldShowStagingOutline:(e,t)=>{e.shouldShowStagingOutline=t.payload},setShouldShowCanvasDebugInfo:(e,t)=>{e.shouldShowCanvasDebugInfo=t.payload},setShouldRestrictStrokesToBox:(e,t)=>{e.shouldRestrictStrokesToBox=t.payload},setShouldAntialias:(e,t)=>{e.shouldAntialias=t.payload},setShouldCropToBoundingBoxOnSave:(e,t)=>{e.shouldCropToBoundingBoxOnSave=t.payload},setColorPickerColor:(e,t)=>{e.colorPickerColor=t.payload},commitColorPickerColor:e=>{e.brushColor={...e.colorPickerColor,a:e.brushColor.a},e.tool="brush"},setMergedCanvas:(e,t)=>{e.pastLayerStates.push(zr(e.layerState)),e.futureLayerStates=[],e.layerState.objects=[t.payload]},resetCanvasInteractionState:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMoveBoundingBoxKeyHeld=!1,e.isMoveStageKeyHeld=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1,e.isTransformingBoundingBox=!1},mouseLeftCanvas:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isTransformingBoundingBox=!1}},extraReducers:e=>{e.addCase(mc.pending,t=>{t.layerState.stagingArea.images.length||(t.layerState.stagingArea=vd.stagingArea)}),e.addCase(Cue,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(n$,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(wue,(t,n)=>{const r=n.payload;r&&(t.boundingBoxDimensions.height=Ss(t.boundingBoxDimensions.width/r,64))})}}),{addEraseRect:EOe,addFillRect:AOe,addImageToStagingArea:Uue,addLine:POe,addPointToCurrentLine:ROe,clearCanvasHistory:OOe,clearMask:kOe,commitColorPickerColor:IOe,commitStagingAreaImage:zue,discardStagedImages:MOe,fitBoundingBoxToStage:NOe,mouseLeftCanvas:LOe,nextStagingAreaImage:DOe,prevStagingAreaImage:$Oe,redo:FOe,resetCanvas:wT,resetCanvasInteractionState:BOe,resetCanvasView:UOe,resizeAndScaleCanvas:zOe,resizeCanvas:VOe,setBoundingBoxCoordinates:jOe,setBoundingBoxDimensions:GOe,setBoundingBoxPreviewFill:HOe,setBoundingBoxScaleMethod:WOe,flipBoundingBoxAxes:qOe,setBrushColor:KOe,setBrushSize:XOe,setCanvasContainerDimensions:YOe,setColorPickerColor:QOe,setCursorPosition:ZOe,setDoesCanvasNeedScaling:JOe,setInitialCanvasImage:a$,setIsDrawing:eke,setIsMaskEnabled:tke,setIsMouseOverBoundingBox:nke,setIsMoveBoundingBoxKeyHeld:rke,setIsMoveStageKeyHeld:ike,setIsMovingBoundingBox:oke,setIsMovingStage:ske,setIsTransformingBoundingBox:ake,setLayer:lke,setMaskColor:uke,setMergedCanvas:Vue,setShouldAutoSave:cke,setShouldCropToBoundingBoxOnSave:dke,setShouldDarkenOutsideBoundingBox:fke,setShouldLockBoundingBox:hke,setShouldPreserveMaskedArea:pke,setShouldShowBoundingBox:gke,setShouldShowBrush:mke,setShouldShowBrushPreview:yke,setShouldShowCanvasDebugInfo:vke,setShouldShowCheckboardTransparency:_ke,setShouldShowGrid:bke,setShouldShowIntermediates:Ske,setShouldShowStagingImage:wke,setShouldShowStagingOutline:xke,setShouldSnapToGrid:Cke,setStageCoordinates:Tke,setStageScale:Eke,setTool:Ake,toggleShouldLockBoundingBox:Pke,toggleTool:Rke,undo:Oke,setScaledBoundingBoxDimensions:kke,setShouldRestrictStrokesToBox:Ike,stagingAreaInitialized:jue,canvasSessionIdChanged:Gue,setShouldAntialias:Mke}=s$.actions,Hue=s$.reducer,jr=["general"],Sl=["control","mask","user","other"],Wue=100,Nke=20;var w1={exports:{}};/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */w1.exports;(function(e,t){(function(){var n,r="4.17.21",i=200,o="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",s="Expected a function",a="Invalid `variable` option passed into `_.template`",l="__lodash_hash_undefined__",u=500,d="__lodash_placeholder__",f=1,p=2,g=4,m=1,v=2,x=1,_=2,b=4,y=8,S=16,C=32,T=64,E=128,P=256,k=512,O=30,M="...",G=800,U=16,A=1,N=2,F=3,B=1/0,D=9007199254740991,V=17976931348623157e292,j=0/0,q=4294967295,Z=q-1,ee=q>>>1,ie=[["ary",E],["bind",x],["bindKey",_],["curry",y],["curryRight",S],["flip",k],["partial",C],["partialRight",T],["rearg",P]],se="[object Arguments]",le="[object Array]",W="[object AsyncFunction]",ne="[object Boolean]",fe="[object Date]",pe="[object DOMException]",ve="[object Error]",ye="[object Function]",We="[object GeneratorFunction]",Me="[object Map]",Ee="[object Number]",lt="[object Null]",_e="[object Object]",jt="[object Promise]",Hn="[object Proxy]",Bt="[object RegExp]",it="[object Set]",gt="[object String]",Jt="[object Symbol]",Nr="[object Undefined]",yr="[object WeakMap]",hi="[object WeakSet]",wn="[object ArrayBuffer]",on="[object DataView]",Wn="[object Float32Array]",sn="[object Float64Array]",Gt="[object Int8Array]",vr="[object Int16Array]",Lr="[object Int32Array]",Xr="[object Uint8Array]",Ii="[object Uint8ClampedArray]",En="[object Uint16Array]",Yr="[object Uint32Array]",Vs=/\b__p \+= '';/g,Ji=/\b(__p \+=) '' \+/g,js=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Xt=/&(?:amp|lt|gt|quot|#39);/g,Ot=/[&<>"']/g,qn=RegExp(Xt.source),Dn=RegExp(Ot.source),or=/<%-([\s\S]+?)%>/g,_r=/<%([\s\S]+?)%>/g,br=/<%=([\s\S]+?)%>/g,eo=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Sr=/^\w*$/,Kn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Mi=/[\\^$.*+?()[\]{}|]/g,is=RegExp(Mi.source),to=/^\s+/,za=/\s/,Ao=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,wr=/\{\n\/\* \[wrapped with (.+)\] \*/,Gs=/,? & /,Zf=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Jf=/[()=,{}\[\]\/\s]/,eh=/\\(\\)?/g,th=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Po=/\w*$/,nh=/^[-+]0x[0-9a-f]+$/i,rh=/^0b[01]+$/i,kc=/^\[object .+?Constructor\]$/,ih=/^0o[0-7]+$/i,oh=/^(?:0|[1-9]\d*)$/,sh=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,os=/($^)/,ah=/['\n\r\u2028\u2029\\]/g,Ro="\\ud800-\\udfff",Va="\\u0300-\\u036f",lh="\\ufe20-\\ufe2f",ja="\\u20d0-\\u20ff",uu=Va+lh+ja,Ic="\\u2700-\\u27bf",Ga="a-z\\xdf-\\xf6\\xf8-\\xff",g2="\\xac\\xb1\\xd7\\xf7",Gm="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",m2="\\u2000-\\u206f",y2=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Hm="A-Z\\xc0-\\xd6\\xd8-\\xde",Wm="\\ufe0e\\ufe0f",qm=g2+Gm+m2+y2,uh="['’]",v2="["+Ro+"]",Km="["+qm+"]",Mc="["+uu+"]",Xm="\\d+",Nc="["+Ic+"]",Lc="["+Ga+"]",Ym="[^"+Ro+qm+Xm+Ic+Ga+Hm+"]",ch="\\ud83c[\\udffb-\\udfff]",Qm="(?:"+Mc+"|"+ch+")",Zm="[^"+Ro+"]",dh="(?:\\ud83c[\\udde6-\\uddff]){2}",fh="[\\ud800-\\udbff][\\udc00-\\udfff]",Hs="["+Hm+"]",Jm="\\u200d",ey="(?:"+Lc+"|"+Ym+")",_2="(?:"+Hs+"|"+Ym+")",Dc="(?:"+uh+"(?:d|ll|m|re|s|t|ve))?",ty="(?:"+uh+"(?:D|LL|M|RE|S|T|VE))?",ny=Qm+"?",ry="["+Wm+"]?",$c="(?:"+Jm+"(?:"+[Zm,dh,fh].join("|")+")"+ry+ny+")*",hh="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ph="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Fc=ry+ny+$c,b2="(?:"+[Nc,dh,fh].join("|")+")"+Fc,iy="(?:"+[Zm+Mc+"?",Mc,dh,fh,v2].join("|")+")",gh=RegExp(uh,"g"),oy=RegExp(Mc,"g"),Oo=RegExp(ch+"(?="+ch+")|"+iy+Fc,"g"),cu=RegExp([Hs+"?"+Lc+"+"+Dc+"(?="+[Km,Hs,"$"].join("|")+")",_2+"+"+ty+"(?="+[Km,Hs+ey,"$"].join("|")+")",Hs+"?"+ey+"+"+Dc,Hs+"+"+ty,ph,hh,Xm,b2].join("|"),"g"),S2=RegExp("["+Jm+Ro+uu+Wm+"]"),sy=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,w2=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ay=-1,Ht={};Ht[Wn]=Ht[sn]=Ht[Gt]=Ht[vr]=Ht[Lr]=Ht[Xr]=Ht[Ii]=Ht[En]=Ht[Yr]=!0,Ht[se]=Ht[le]=Ht[wn]=Ht[ne]=Ht[on]=Ht[fe]=Ht[ve]=Ht[ye]=Ht[Me]=Ht[Ee]=Ht[_e]=Ht[Bt]=Ht[it]=Ht[gt]=Ht[yr]=!1;var Ut={};Ut[se]=Ut[le]=Ut[wn]=Ut[on]=Ut[ne]=Ut[fe]=Ut[Wn]=Ut[sn]=Ut[Gt]=Ut[vr]=Ut[Lr]=Ut[Me]=Ut[Ee]=Ut[_e]=Ut[Bt]=Ut[it]=Ut[gt]=Ut[Jt]=Ut[Xr]=Ut[Ii]=Ut[En]=Ut[Yr]=!0,Ut[ve]=Ut[ye]=Ut[yr]=!1;var ly={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},x2={"&":"&","<":"<",">":">",'"':""","'":"'"},H={"&":"&","<":"<",">":">",""":'"',"'":"'"},Y={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},re=parseFloat,we=parseInt,ot=typeof He=="object"&&He&&He.Object===Object&&He,Mt=typeof self=="object"&&self&&self.Object===Object&&self,qe=ot||Mt||Function("return this")(),Je=t&&!t.nodeType&&t,_t=Je&&!0&&e&&!e.nodeType&&e,Qr=_t&&_t.exports===Je,xr=Qr&&ot.process,sr=function(){try{var J=_t&&_t.require&&_t.require("util").types;return J||xr&&xr.binding&&xr.binding("util")}catch{}}(),Bc=sr&&sr.isArrayBuffer,Uc=sr&&sr.isDate,mh=sr&&sr.isMap,S6=sr&&sr.isRegExp,w6=sr&&sr.isSet,x6=sr&&sr.isTypedArray;function Ni(J,ae,oe){switch(oe.length){case 0:return J.call(ae);case 1:return J.call(ae,oe[0]);case 2:return J.call(ae,oe[0],oe[1]);case 3:return J.call(ae,oe[0],oe[1],oe[2])}return J.apply(ae,oe)}function fG(J,ae,oe,Ce){for(var Ve=-1,Ct=J==null?0:J.length;++Ve-1}function C2(J,ae,oe){for(var Ce=-1,Ve=J==null?0:J.length;++Ce-1;);return oe}function k6(J,ae){for(var oe=J.length;oe--&&zc(ae,J[oe],0)>-1;);return oe}function SG(J,ae){for(var oe=J.length,Ce=0;oe--;)J[oe]===ae&&++Ce;return Ce}var wG=P2(ly),xG=P2(x2);function CG(J){return"\\"+Y[J]}function TG(J,ae){return J==null?n:J[ae]}function Vc(J){return S2.test(J)}function EG(J){return sy.test(J)}function AG(J){for(var ae,oe=[];!(ae=J.next()).done;)oe.push(ae.value);return oe}function I2(J){var ae=-1,oe=Array(J.size);return J.forEach(function(Ce,Ve){oe[++ae]=[Ve,Ce]}),oe}function I6(J,ae){return function(oe){return J(ae(oe))}}function qa(J,ae){for(var oe=-1,Ce=J.length,Ve=0,Ct=[];++oe-1}function pH(c,h){var w=this.__data__,R=Ey(w,c);return R<0?(++this.size,w.push([c,h])):w[R][1]=h,this}Ws.prototype.clear=cH,Ws.prototype.delete=dH,Ws.prototype.get=fH,Ws.prototype.has=hH,Ws.prototype.set=pH;function qs(c){var h=-1,w=c==null?0:c.length;for(this.clear();++h=h?c:h)),c}function oo(c,h,w,R,I,z){var K,X=h&f,te=h&p,ce=h&g;if(w&&(K=I?w(c,R,I,z):w(c)),K!==n)return K;if(!hn(c))return c;var de=Ge(c);if(de){if(K=vW(c),!X)return pi(c,K)}else{var he=$r(c),be=he==ye||he==We;if(Ja(c))return pA(c,X);if(he==_e||he==se||be&&!I){if(K=te||be?{}:MA(c),!X)return te?aW(c,OH(K,c)):sW(c,G6(K,c))}else{if(!Ut[he])return I?c:{};K=_W(c,he,X)}}z||(z=new Io);var Oe=z.get(c);if(Oe)return Oe;z.set(c,K),lP(c)?c.forEach(function(Fe){K.add(oo(Fe,h,w,Fe,c,z))}):sP(c)&&c.forEach(function(Fe,st){K.set(st,oo(Fe,h,w,st,c,z))});var $e=ce?te?iw:rw:te?mi:ar,Ze=de?n:$e(c);return no(Ze||c,function(Fe,st){Ze&&(st=Fe,Fe=c[st]),xh(K,st,oo(Fe,h,w,st,c,z))}),K}function kH(c){var h=ar(c);return function(w){return H6(w,c,h)}}function H6(c,h,w){var R=w.length;if(c==null)return!R;for(c=Wt(c);R--;){var I=w[R],z=h[I],K=c[I];if(K===n&&!(I in c)||!z(K))return!1}return!0}function W6(c,h,w){if(typeof c!="function")throw new ro(s);return Oh(function(){c.apply(n,w)},h)}function Ch(c,h,w,R){var I=-1,z=uy,K=!0,X=c.length,te=[],ce=h.length;if(!X)return te;w&&(h=an(h,Li(w))),R?(z=C2,K=!1):h.length>=i&&(z=yh,K=!1,h=new hu(h));e:for(;++II?0:I+w),R=R===n||R>I?I:Ye(R),R<0&&(R+=I),R=w>R?0:cP(R);w0&&w(X)?h>1?Cr(X,h-1,w,R,I):Wa(I,X):R||(I[I.length]=X)}return I}var B2=bA(),X6=bA(!0);function ss(c,h){return c&&B2(c,h,ar)}function U2(c,h){return c&&X6(c,h,ar)}function Py(c,h){return Ha(h,function(w){return Zs(c[w])})}function gu(c,h){h=Qa(h,c);for(var w=0,R=h.length;c!=null&&wh}function NH(c,h){return c!=null&&Nt.call(c,h)}function LH(c,h){return c!=null&&h in Wt(c)}function DH(c,h,w){return c>=Dr(h,w)&&c=120&&de.length>=120)?new hu(K&&de):n}de=c[0];var he=-1,be=X[0];e:for(;++he-1;)X!==c&&_y.call(X,te,1),_y.call(c,te,1);return c}function sA(c,h){for(var w=c?h.length:0,R=w-1;w--;){var I=h[w];if(w==R||I!==z){var z=I;Qs(I)?_y.call(c,I,1):Y2(c,I)}}return c}function q2(c,h){return c+wy(U6()*(h-c+1))}function XH(c,h,w,R){for(var I=-1,z=Yn(Sy((h-c)/(w||1)),0),K=oe(z);z--;)K[R?z:++I]=c,c+=w;return K}function K2(c,h){var w="";if(!c||h<1||h>D)return w;do h%2&&(w+=c),h=wy(h/2),h&&(c+=c);while(h);return w}function et(c,h){return dw(DA(c,h,yi),c+"")}function YH(c){return j6(Jc(c))}function QH(c,h){var w=Jc(c);return By(w,pu(h,0,w.length))}function Ah(c,h,w,R){if(!hn(c))return c;h=Qa(h,c);for(var I=-1,z=h.length,K=z-1,X=c;X!=null&&++II?0:I+h),w=w>I?I:w,w<0&&(w+=I),I=h>w?0:w-h>>>0,h>>>=0;for(var z=oe(I);++R>>1,K=c[z];K!==null&&!$i(K)&&(w?K<=h:K=i){var ce=h?null:dW(c);if(ce)return dy(ce);K=!1,I=yh,te=new hu}else te=h?[]:X;e:for(;++R=R?c:so(c,h,w)}var hA=VG||function(c){return qe.clearTimeout(c)};function pA(c,h){if(h)return c.slice();var w=c.length,R=L6?L6(w):new c.constructor(w);return c.copy(R),R}function ew(c){var h=new c.constructor(c.byteLength);return new yy(h).set(new yy(c)),h}function nW(c,h){var w=h?ew(c.buffer):c.buffer;return new c.constructor(w,c.byteOffset,c.byteLength)}function rW(c){var h=new c.constructor(c.source,Po.exec(c));return h.lastIndex=c.lastIndex,h}function iW(c){return wh?Wt(wh.call(c)):{}}function gA(c,h){var w=h?ew(c.buffer):c.buffer;return new c.constructor(w,c.byteOffset,c.length)}function mA(c,h){if(c!==h){var w=c!==n,R=c===null,I=c===c,z=$i(c),K=h!==n,X=h===null,te=h===h,ce=$i(h);if(!X&&!ce&&!z&&c>h||z&&K&&te&&!X&&!ce||R&&K&&te||!w&&te||!I)return 1;if(!R&&!z&&!ce&&c=X)return te;var ce=w[R];return te*(ce=="desc"?-1:1)}}return c.index-h.index}function yA(c,h,w,R){for(var I=-1,z=c.length,K=w.length,X=-1,te=h.length,ce=Yn(z-K,0),de=oe(te+ce),he=!R;++X1?w[I-1]:n,K=I>2?w[2]:n;for(z=c.length>3&&typeof z=="function"?(I--,z):n,K&&Jr(w[0],w[1],K)&&(z=I<3?n:z,I=1),h=Wt(h);++R-1?I[z?h[K]:K]:n}}function xA(c){return Ys(function(h){var w=h.length,R=w,I=io.prototype.thru;for(c&&h.reverse();R--;){var z=h[R];if(typeof z!="function")throw new ro(s);if(I&&!K&&$y(z)=="wrapper")var K=new io([],!0)}for(R=K?R:w;++R1&&ht.reverse(),de&&teX))return!1;var ce=z.get(c),de=z.get(h);if(ce&&de)return ce==h&&de==c;var he=-1,be=!0,Oe=w&v?new hu:n;for(z.set(c,h),z.set(h,c);++he1?"& ":"")+h[R],h=h.join(w>2?", ":" "),c.replace(Ao,`{ +/* [wrapped with `+h+`] */ +`)}function SW(c){return Ge(c)||vu(c)||!!(F6&&c&&c[F6])}function Qs(c,h){var w=typeof c;return h=h??D,!!h&&(w=="number"||w!="symbol"&&oh.test(c))&&c>-1&&c%1==0&&c0){if(++h>=G)return arguments[0]}else h=0;return c.apply(n,arguments)}}function By(c,h){var w=-1,R=c.length,I=R-1;for(h=h===n?R:h;++w1?c[h-1]:n;return w=typeof w=="function"?(c.pop(),w):n,KA(c,w)});function XA(c){var h=$(c);return h.__chain__=!0,h}function Iq(c,h){return h(c),c}function Uy(c,h){return h(c)}var Mq=Ys(function(c){var h=c.length,w=h?c[0]:0,R=this.__wrapped__,I=function(z){return F2(z,c)};return h>1||this.__actions__.length||!(R instanceof ut)||!Qs(w)?this.thru(I):(R=R.slice(w,+w+(h?1:0)),R.__actions__.push({func:Uy,args:[I],thisArg:n}),new io(R,this.__chain__).thru(function(z){return h&&!z.length&&z.push(n),z}))});function Nq(){return XA(this)}function Lq(){return new io(this.value(),this.__chain__)}function Dq(){this.__values__===n&&(this.__values__=uP(this.value()));var c=this.__index__>=this.__values__.length,h=c?n:this.__values__[this.__index__++];return{done:c,value:h}}function $q(){return this}function Fq(c){for(var h,w=this;w instanceof Ty;){var R=VA(w);R.__index__=0,R.__values__=n,h?I.__wrapped__=R:h=R;var I=R;w=w.__wrapped__}return I.__wrapped__=c,h}function Bq(){var c=this.__wrapped__;if(c instanceof ut){var h=c;return this.__actions__.length&&(h=new ut(this)),h=h.reverse(),h.__actions__.push({func:Uy,args:[fw],thisArg:n}),new io(h,this.__chain__)}return this.thru(fw)}function Uq(){return dA(this.__wrapped__,this.__actions__)}var zq=Iy(function(c,h,w){Nt.call(c,w)?++c[w]:Ks(c,w,1)});function Vq(c,h,w){var R=Ge(c)?C6:IH;return w&&Jr(c,h,w)&&(h=n),R(c,De(h,3))}function jq(c,h){var w=Ge(c)?Ha:K6;return w(c,De(h,3))}var Gq=wA(jA),Hq=wA(GA);function Wq(c,h){return Cr(zy(c,h),1)}function qq(c,h){return Cr(zy(c,h),B)}function Kq(c,h,w){return w=w===n?1:Ye(w),Cr(zy(c,h),w)}function YA(c,h){var w=Ge(c)?no:Xa;return w(c,De(h,3))}function QA(c,h){var w=Ge(c)?hG:q6;return w(c,De(h,3))}var Xq=Iy(function(c,h,w){Nt.call(c,w)?c[w].push(h):Ks(c,w,[h])});function Yq(c,h,w,R){c=gi(c)?c:Jc(c),w=w&&!R?Ye(w):0;var I=c.length;return w<0&&(w=Yn(I+w,0)),Wy(c)?w<=I&&c.indexOf(h,w)>-1:!!I&&zc(c,h,w)>-1}var Qq=et(function(c,h,w){var R=-1,I=typeof h=="function",z=gi(c)?oe(c.length):[];return Xa(c,function(K){z[++R]=I?Ni(h,K,w):Th(K,h,w)}),z}),Zq=Iy(function(c,h,w){Ks(c,w,h)});function zy(c,h){var w=Ge(c)?an:eA;return w(c,De(h,3))}function Jq(c,h,w,R){return c==null?[]:(Ge(h)||(h=h==null?[]:[h]),w=R?n:w,Ge(w)||(w=w==null?[]:[w]),iA(c,h,w))}var eK=Iy(function(c,h,w){c[w?0:1].push(h)},function(){return[[],[]]});function tK(c,h,w){var R=Ge(c)?T2:P6,I=arguments.length<3;return R(c,De(h,4),w,I,Xa)}function nK(c,h,w){var R=Ge(c)?pG:P6,I=arguments.length<3;return R(c,De(h,4),w,I,q6)}function rK(c,h){var w=Ge(c)?Ha:K6;return w(c,Gy(De(h,3)))}function iK(c){var h=Ge(c)?j6:YH;return h(c)}function oK(c,h,w){(w?Jr(c,h,w):h===n)?h=1:h=Ye(h);var R=Ge(c)?AH:QH;return R(c,h)}function sK(c){var h=Ge(c)?PH:JH;return h(c)}function aK(c){if(c==null)return 0;if(gi(c))return Wy(c)?jc(c):c.length;var h=$r(c);return h==Me||h==it?c.size:G2(c).length}function lK(c,h,w){var R=Ge(c)?E2:eW;return w&&Jr(c,h,w)&&(h=n),R(c,De(h,3))}var uK=et(function(c,h){if(c==null)return[];var w=h.length;return w>1&&Jr(c,h[0],h[1])?h=[]:w>2&&Jr(h[0],h[1],h[2])&&(h=[h[0]]),iA(c,Cr(h,1),[])}),Vy=jG||function(){return qe.Date.now()};function cK(c,h){if(typeof h!="function")throw new ro(s);return c=Ye(c),function(){if(--c<1)return h.apply(this,arguments)}}function ZA(c,h,w){return h=w?n:h,h=c&&h==null?c.length:h,Xs(c,E,n,n,n,n,h)}function JA(c,h){var w;if(typeof h!="function")throw new ro(s);return c=Ye(c),function(){return--c>0&&(w=h.apply(this,arguments)),c<=1&&(h=n),w}}var pw=et(function(c,h,w){var R=x;if(w.length){var I=qa(w,Qc(pw));R|=C}return Xs(c,R,h,w,I)}),eP=et(function(c,h,w){var R=x|_;if(w.length){var I=qa(w,Qc(eP));R|=C}return Xs(h,R,c,w,I)});function tP(c,h,w){h=w?n:h;var R=Xs(c,y,n,n,n,n,n,h);return R.placeholder=tP.placeholder,R}function nP(c,h,w){h=w?n:h;var R=Xs(c,S,n,n,n,n,n,h);return R.placeholder=nP.placeholder,R}function rP(c,h,w){var R,I,z,K,X,te,ce=0,de=!1,he=!1,be=!0;if(typeof c!="function")throw new ro(s);h=lo(h)||0,hn(w)&&(de=!!w.leading,he="maxWait"in w,z=he?Yn(lo(w.maxWait)||0,h):z,be="trailing"in w?!!w.trailing:be);function Oe(Pn){var No=R,ea=I;return R=I=n,ce=Pn,K=c.apply(ea,No),K}function $e(Pn){return ce=Pn,X=Oh(st,h),de?Oe(Pn):K}function Ze(Pn){var No=Pn-te,ea=Pn-ce,wP=h-No;return he?Dr(wP,z-ea):wP}function Fe(Pn){var No=Pn-te,ea=Pn-ce;return te===n||No>=h||No<0||he&&ea>=z}function st(){var Pn=Vy();if(Fe(Pn))return ht(Pn);X=Oh(st,Ze(Pn))}function ht(Pn){return X=n,be&&R?Oe(Pn):(R=I=n,K)}function Fi(){X!==n&&hA(X),ce=0,R=te=I=X=n}function ei(){return X===n?K:ht(Vy())}function Bi(){var Pn=Vy(),No=Fe(Pn);if(R=arguments,I=this,te=Pn,No){if(X===n)return $e(te);if(he)return hA(X),X=Oh(st,h),Oe(te)}return X===n&&(X=Oh(st,h)),K}return Bi.cancel=Fi,Bi.flush=ei,Bi}var dK=et(function(c,h){return W6(c,1,h)}),fK=et(function(c,h,w){return W6(c,lo(h)||0,w)});function hK(c){return Xs(c,k)}function jy(c,h){if(typeof c!="function"||h!=null&&typeof h!="function")throw new ro(s);var w=function(){var R=arguments,I=h?h.apply(this,R):R[0],z=w.cache;if(z.has(I))return z.get(I);var K=c.apply(this,R);return w.cache=z.set(I,K)||z,K};return w.cache=new(jy.Cache||qs),w}jy.Cache=qs;function Gy(c){if(typeof c!="function")throw new ro(s);return function(){var h=arguments;switch(h.length){case 0:return!c.call(this);case 1:return!c.call(this,h[0]);case 2:return!c.call(this,h[0],h[1]);case 3:return!c.call(this,h[0],h[1],h[2])}return!c.apply(this,h)}}function pK(c){return JA(2,c)}var gK=tW(function(c,h){h=h.length==1&&Ge(h[0])?an(h[0],Li(De())):an(Cr(h,1),Li(De()));var w=h.length;return et(function(R){for(var I=-1,z=Dr(R.length,w);++I=h}),vu=Q6(function(){return arguments}())?Q6:function(c){return xn(c)&&Nt.call(c,"callee")&&!$6.call(c,"callee")},Ge=oe.isArray,OK=Bc?Li(Bc):FH;function gi(c){return c!=null&&Hy(c.length)&&!Zs(c)}function An(c){return xn(c)&&gi(c)}function kK(c){return c===!0||c===!1||xn(c)&&Zr(c)==ne}var Ja=HG||Ew,IK=Uc?Li(Uc):BH;function MK(c){return xn(c)&&c.nodeType===1&&!kh(c)}function NK(c){if(c==null)return!0;if(gi(c)&&(Ge(c)||typeof c=="string"||typeof c.splice=="function"||Ja(c)||Zc(c)||vu(c)))return!c.length;var h=$r(c);if(h==Me||h==it)return!c.size;if(Rh(c))return!G2(c).length;for(var w in c)if(Nt.call(c,w))return!1;return!0}function LK(c,h){return Eh(c,h)}function DK(c,h,w){w=typeof w=="function"?w:n;var R=w?w(c,h):n;return R===n?Eh(c,h,n,w):!!R}function mw(c){if(!xn(c))return!1;var h=Zr(c);return h==ve||h==pe||typeof c.message=="string"&&typeof c.name=="string"&&!kh(c)}function $K(c){return typeof c=="number"&&B6(c)}function Zs(c){if(!hn(c))return!1;var h=Zr(c);return h==ye||h==We||h==W||h==Hn}function oP(c){return typeof c=="number"&&c==Ye(c)}function Hy(c){return typeof c=="number"&&c>-1&&c%1==0&&c<=D}function hn(c){var h=typeof c;return c!=null&&(h=="object"||h=="function")}function xn(c){return c!=null&&typeof c=="object"}var sP=mh?Li(mh):zH;function FK(c,h){return c===h||j2(c,h,sw(h))}function BK(c,h,w){return w=typeof w=="function"?w:n,j2(c,h,sw(h),w)}function UK(c){return aP(c)&&c!=+c}function zK(c){if(CW(c))throw new Ve(o);return Z6(c)}function VK(c){return c===null}function jK(c){return c==null}function aP(c){return typeof c=="number"||xn(c)&&Zr(c)==Ee}function kh(c){if(!xn(c)||Zr(c)!=_e)return!1;var h=vy(c);if(h===null)return!0;var w=Nt.call(h,"constructor")&&h.constructor;return typeof w=="function"&&w instanceof w&&py.call(w)==BG}var yw=S6?Li(S6):VH;function GK(c){return oP(c)&&c>=-D&&c<=D}var lP=w6?Li(w6):jH;function Wy(c){return typeof c=="string"||!Ge(c)&&xn(c)&&Zr(c)==gt}function $i(c){return typeof c=="symbol"||xn(c)&&Zr(c)==Jt}var Zc=x6?Li(x6):GH;function HK(c){return c===n}function WK(c){return xn(c)&&$r(c)==yr}function qK(c){return xn(c)&&Zr(c)==hi}var KK=Dy(H2),XK=Dy(function(c,h){return c<=h});function uP(c){if(!c)return[];if(gi(c))return Wy(c)?ko(c):pi(c);if(vh&&c[vh])return AG(c[vh]());var h=$r(c),w=h==Me?I2:h==it?dy:Jc;return w(c)}function Js(c){if(!c)return c===0?c:0;if(c=lo(c),c===B||c===-B){var h=c<0?-1:1;return h*V}return c===c?c:0}function Ye(c){var h=Js(c),w=h%1;return h===h?w?h-w:h:0}function cP(c){return c?pu(Ye(c),0,q):0}function lo(c){if(typeof c=="number")return c;if($i(c))return j;if(hn(c)){var h=typeof c.valueOf=="function"?c.valueOf():c;c=hn(h)?h+"":h}if(typeof c!="string")return c===0?c:+c;c=R6(c);var w=rh.test(c);return w||ih.test(c)?we(c.slice(2),w?2:8):nh.test(c)?j:+c}function dP(c){return as(c,mi(c))}function YK(c){return c?pu(Ye(c),-D,D):c===0?c:0}function kt(c){return c==null?"":Di(c)}var QK=Xc(function(c,h){if(Rh(h)||gi(h)){as(h,ar(h),c);return}for(var w in h)Nt.call(h,w)&&xh(c,w,h[w])}),fP=Xc(function(c,h){as(h,mi(h),c)}),qy=Xc(function(c,h,w,R){as(h,mi(h),c,R)}),ZK=Xc(function(c,h,w,R){as(h,ar(h),c,R)}),JK=Ys(F2);function eX(c,h){var w=Kc(c);return h==null?w:G6(w,h)}var tX=et(function(c,h){c=Wt(c);var w=-1,R=h.length,I=R>2?h[2]:n;for(I&&Jr(h[0],h[1],I)&&(R=1);++w1),z}),as(c,iw(c),w),R&&(w=oo(w,f|p|g,fW));for(var I=h.length;I--;)Y2(w,h[I]);return w});function _X(c,h){return pP(c,Gy(De(h)))}var bX=Ys(function(c,h){return c==null?{}:qH(c,h)});function pP(c,h){if(c==null)return{};var w=an(iw(c),function(R){return[R]});return h=De(h),oA(c,w,function(R,I){return h(R,I[0])})}function SX(c,h,w){h=Qa(h,c);var R=-1,I=h.length;for(I||(I=1,c=n);++Rh){var R=c;c=h,h=R}if(w||c%1||h%1){var I=U6();return Dr(c+I*(h-c+re("1e-"+((I+"").length-1))),h)}return q2(c,h)}var IX=Yc(function(c,h,w){return h=h.toLowerCase(),c+(w?yP(h):h)});function yP(c){return bw(kt(c).toLowerCase())}function vP(c){return c=kt(c),c&&c.replace(sh,wG).replace(oy,"")}function MX(c,h,w){c=kt(c),h=Di(h);var R=c.length;w=w===n?R:pu(Ye(w),0,R);var I=w;return w-=h.length,w>=0&&c.slice(w,I)==h}function NX(c){return c=kt(c),c&&Dn.test(c)?c.replace(Ot,xG):c}function LX(c){return c=kt(c),c&&is.test(c)?c.replace(Mi,"\\$&"):c}var DX=Yc(function(c,h,w){return c+(w?"-":"")+h.toLowerCase()}),$X=Yc(function(c,h,w){return c+(w?" ":"")+h.toLowerCase()}),FX=SA("toLowerCase");function BX(c,h,w){c=kt(c),h=Ye(h);var R=h?jc(c):0;if(!h||R>=h)return c;var I=(h-R)/2;return Ly(wy(I),w)+c+Ly(Sy(I),w)}function UX(c,h,w){c=kt(c),h=Ye(h);var R=h?jc(c):0;return h&&R>>0,w?(c=kt(c),c&&(typeof h=="string"||h!=null&&!yw(h))&&(h=Di(h),!h&&Vc(c))?Za(ko(c),0,w):c.split(h,w)):[]}var qX=Yc(function(c,h,w){return c+(w?" ":"")+bw(h)});function KX(c,h,w){return c=kt(c),w=w==null?0:pu(Ye(w),0,c.length),h=Di(h),c.slice(w,w+h.length)==h}function XX(c,h,w){var R=$.templateSettings;w&&Jr(c,h,w)&&(h=n),c=kt(c),h=qy({},h,R,PA);var I=qy({},h.imports,R.imports,PA),z=ar(I),K=k2(I,z),X,te,ce=0,de=h.interpolate||os,he="__p += '",be=M2((h.escape||os).source+"|"+de.source+"|"+(de===br?th:os).source+"|"+(h.evaluate||os).source+"|$","g"),Oe="//# sourceURL="+(Nt.call(h,"sourceURL")?(h.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++ay+"]")+` +`;c.replace(be,function(Fe,st,ht,Fi,ei,Bi){return ht||(ht=Fi),he+=c.slice(ce,Bi).replace(ah,CG),st&&(X=!0,he+=`' + +__e(`+st+`) + +'`),ei&&(te=!0,he+=`'; +`+ei+`; +__p += '`),ht&&(he+=`' + +((__t = (`+ht+`)) == null ? '' : __t) + +'`),ce=Bi+Fe.length,Fe}),he+=`'; +`;var $e=Nt.call(h,"variable")&&h.variable;if(!$e)he=`with (obj) { +`+he+` +} +`;else if(Jf.test($e))throw new Ve(a);he=(te?he.replace(Vs,""):he).replace(Ji,"$1").replace(js,"$1;"),he="function("+($e||"obj")+`) { +`+($e?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(X?", __e = _.escape":"")+(te?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+he+`return __p +}`;var Ze=bP(function(){return Ct(z,Oe+"return "+he).apply(n,K)});if(Ze.source=he,mw(Ze))throw Ze;return Ze}function YX(c){return kt(c).toLowerCase()}function QX(c){return kt(c).toUpperCase()}function ZX(c,h,w){if(c=kt(c),c&&(w||h===n))return R6(c);if(!c||!(h=Di(h)))return c;var R=ko(c),I=ko(h),z=O6(R,I),K=k6(R,I)+1;return Za(R,z,K).join("")}function JX(c,h,w){if(c=kt(c),c&&(w||h===n))return c.slice(0,M6(c)+1);if(!c||!(h=Di(h)))return c;var R=ko(c),I=k6(R,ko(h))+1;return Za(R,0,I).join("")}function eY(c,h,w){if(c=kt(c),c&&(w||h===n))return c.replace(to,"");if(!c||!(h=Di(h)))return c;var R=ko(c),I=O6(R,ko(h));return Za(R,I).join("")}function tY(c,h){var w=O,R=M;if(hn(h)){var I="separator"in h?h.separator:I;w="length"in h?Ye(h.length):w,R="omission"in h?Di(h.omission):R}c=kt(c);var z=c.length;if(Vc(c)){var K=ko(c);z=K.length}if(w>=z)return c;var X=w-jc(R);if(X<1)return R;var te=K?Za(K,0,X).join(""):c.slice(0,X);if(I===n)return te+R;if(K&&(X+=te.length-X),yw(I)){if(c.slice(X).search(I)){var ce,de=te;for(I.global||(I=M2(I.source,kt(Po.exec(I))+"g")),I.lastIndex=0;ce=I.exec(de);)var he=ce.index;te=te.slice(0,he===n?X:he)}}else if(c.indexOf(Di(I),X)!=X){var be=te.lastIndexOf(I);be>-1&&(te=te.slice(0,be))}return te+R}function nY(c){return c=kt(c),c&&qn.test(c)?c.replace(Xt,kG):c}var rY=Yc(function(c,h,w){return c+(w?" ":"")+h.toUpperCase()}),bw=SA("toUpperCase");function _P(c,h,w){return c=kt(c),h=w?n:h,h===n?EG(c)?NG(c):yG(c):c.match(h)||[]}var bP=et(function(c,h){try{return Ni(c,n,h)}catch(w){return mw(w)?w:new Ve(w)}}),iY=Ys(function(c,h){return no(h,function(w){w=ls(w),Ks(c,w,pw(c[w],c))}),c});function oY(c){var h=c==null?0:c.length,w=De();return c=h?an(c,function(R){if(typeof R[1]!="function")throw new ro(s);return[w(R[0]),R[1]]}):[],et(function(R){for(var I=-1;++ID)return[];var w=q,R=Dr(c,q);h=De(h),c-=q;for(var I=O2(R,h);++w0||h<0)?new ut(w):(c<0?w=w.takeRight(-c):c&&(w=w.drop(c)),h!==n&&(h=Ye(h),w=h<0?w.dropRight(-h):w.take(h-c)),w)},ut.prototype.takeRightWhile=function(c){return this.reverse().takeWhile(c).reverse()},ut.prototype.toArray=function(){return this.take(q)},ss(ut.prototype,function(c,h){var w=/^(?:filter|find|map|reject)|While$/.test(h),R=/^(?:head|last)$/.test(h),I=$[R?"take"+(h=="last"?"Right":""):h],z=R||/^find/.test(h);I&&($.prototype[h]=function(){var K=this.__wrapped__,X=R?[1]:arguments,te=K instanceof ut,ce=X[0],de=te||Ge(K),he=function(st){var ht=I.apply($,Wa([st],X));return R&&be?ht[0]:ht};de&&w&&typeof ce=="function"&&ce.length!=1&&(te=de=!1);var be=this.__chain__,Oe=!!this.__actions__.length,$e=z&&!be,Ze=te&&!Oe;if(!z&&de){K=Ze?K:new ut(this);var Fe=c.apply(K,X);return Fe.__actions__.push({func:Uy,args:[he],thisArg:n}),new io(Fe,be)}return $e&&Ze?c.apply(this,X):(Fe=this.thru(he),$e?R?Fe.value()[0]:Fe.value():Fe)})}),no(["pop","push","shift","sort","splice","unshift"],function(c){var h=fy[c],w=/^(?:push|sort|unshift)$/.test(c)?"tap":"thru",R=/^(?:pop|shift)$/.test(c);$.prototype[c]=function(){var I=arguments;if(R&&!this.__chain__){var z=this.value();return h.apply(Ge(z)?z:[],I)}return this[w](function(K){return h.apply(Ge(K)?K:[],I)})}}),ss(ut.prototype,function(c,h){var w=$[h];if(w){var R=w.name+"";Nt.call(qc,R)||(qc[R]=[]),qc[R].push({name:h,func:w})}}),qc[My(n,_).name]=[{name:"wrapper",func:n}],ut.prototype.clone=nH,ut.prototype.reverse=rH,ut.prototype.value=iH,$.prototype.at=Mq,$.prototype.chain=Nq,$.prototype.commit=Lq,$.prototype.next=Dq,$.prototype.plant=Fq,$.prototype.reverse=Bq,$.prototype.toJSON=$.prototype.valueOf=$.prototype.value=Uq,$.prototype.first=$.prototype.head,vh&&($.prototype[vh]=$q),$},Gc=LG();_t?((_t.exports=Gc)._=Gc,Je._=Gc):qe._=Gc}).call(He)})(w1,w1.exports);var que=w1.exports,x1=globalThis&&globalThis.__generator||function(e,t){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(u){return function(d){return l([u,d])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(o=u[0]&2?i.return:u[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,u[1])).done)return o;switch(i=0,o&&(u=[u[0]&2,o.value]),u[0]){case 0:case 1:o=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,i=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]"u"||navigator.onLine===void 0?!0:navigator.onLine}function rce(){return typeof document>"u"?!0:document.visibilityState!=="hidden"}var B9=Zo;function c$(e,t){if(e===t||!(B9(e)&&B9(t)||Array.isArray(e)&&Array.isArray(t)))return t;for(var n=Object.keys(t),r=Object.keys(e),i=n.length===r.length,o=Array.isArray(t)?[]:{},s=0,a=n;s=200&&e.status<=299},oce=function(e){return/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"")};function z9(e){if(!Zo(e))return e;for(var t=kn({},e),n=0,r=Object.entries(t);n"u"&&a===U9&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(y,S){return E1(t,null,function(){var C,T,E,P,k,O,M,G,U,A,N,F,B,D,V,j,q,Z,ee,ie,se,le,W,ne,fe,pe,ve,ye,We,Me,Ee,lt,_e,jt,Hn,Bt;return x1(this,function(it){switch(it.label){case 0:return C=S.signal,T=S.getState,E=S.extra,P=S.endpoint,k=S.forced,O=S.type,G=typeof y=="string"?{url:y}:y,U=G.url,A=G.headers,N=A===void 0?new Headers(_.headers):A,F=G.params,B=F===void 0?void 0:F,D=G.responseHandler,V=D===void 0?v??"json":D,j=G.validateStatus,q=j===void 0?x??ice:j,Z=G.timeout,ee=Z===void 0?m:Z,ie=$9(G,["url","headers","params","responseHandler","validateStatus","timeout"]),se=kn(xs(kn({},_),{signal:C}),ie),N=new Headers(z9(N)),le=se,[4,o(N,{getState:T,extra:E,endpoint:P,forced:k,type:O})];case 1:le.headers=it.sent()||N,W=function(gt){return typeof gt=="object"&&(Zo(gt)||Array.isArray(gt)||typeof gt.toJSON=="function")},!se.headers.has("content-type")&&W(se.body)&&se.headers.set("content-type",p),W(se.body)&&d(se.headers)&&(se.body=JSON.stringify(se.body,g)),B&&(ne=~U.indexOf("?")?"&":"?",fe=l?l(B):new URLSearchParams(z9(B)),U+=ne+fe),U=tce(r,U),pe=new Request(U,se),ve=pe.clone(),M={request:ve},We=!1,Me=ee&&setTimeout(function(){We=!0,S.abort()},ee),it.label=2;case 2:return it.trys.push([2,4,5,6]),[4,a(pe)];case 3:return ye=it.sent(),[3,6];case 4:return Ee=it.sent(),[2,{error:{status:We?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(Ee)},meta:M}];case 5:return Me&&clearTimeout(Me),[7];case 6:lt=ye.clone(),M.response=lt,jt="",it.label=7;case 7:return it.trys.push([7,9,,10]),[4,Promise.all([b(ye,V).then(function(gt){return _e=gt},function(gt){return Hn=gt}),lt.text().then(function(gt){return jt=gt},function(){})])];case 8:if(it.sent(),Hn)throw Hn;return[3,10];case 9:return Bt=it.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:ye.status,data:jt,error:String(Bt)},meta:M}];case 10:return[2,q(ye,_e)?{data:_e,meta:M}:{error:{status:ye.status,data:_e},meta:M}]}})})};function b(y,S){return E1(this,null,function(){var C;return x1(this,function(T){switch(T.label){case 0:return typeof S=="function"?[2,S(y)]:(S==="content-type"&&(S=d(y.headers)?"json":"text"),S!=="json"?[3,2]:[4,y.text()]);case 1:return C=T.sent(),[2,C.length?JSON.parse(C):null];case 2:return[2,y.text()]}})})}}var V9=function(){function e(t,n){n===void 0&&(n=void 0),this.value=t,this.meta=n}return e}(),xT=Re("__rtkq/focused"),d$=Re("__rtkq/unfocused"),CT=Re("__rtkq/online"),f$=Re("__rtkq/offline"),Ls;(function(e){e.query="query",e.mutation="mutation"})(Ls||(Ls={}));function h$(e){return e.type===Ls.query}function ace(e){return e.type===Ls.mutation}function p$(e,t,n,r,i,o){return lce(e)?e(t,n,r,i).map(R3).map(o):Array.isArray(e)?e.map(R3).map(o):[]}function lce(e){return typeof e=="function"}function R3(e){return typeof e=="string"?{type:e}:e}function cx(e){return e!=null}var xg=Symbol("forceQueryFn"),O3=function(e){return typeof e[xg]=="function"};function uce(e){var t=e.serializeQueryArgs,n=e.queryThunk,r=e.mutationThunk,i=e.api,o=e.context,s=new Map,a=new Map,l=i.internalActions,u=l.unsubscribeQueryResult,d=l.removeMutationResult,f=l.updateSubscriptionOptions;return{buildInitiateQuery:b,buildInitiateMutation:y,getRunningQueryThunk:m,getRunningMutationThunk:v,getRunningQueriesThunk:x,getRunningMutationsThunk:_,getRunningOperationPromises:g,removalWarning:p};function p(){throw new Error(`This method had to be removed due to a conceptual bug in RTK. + Please see https://github.com/reduxjs/redux-toolkit/pull/2481 for details. + See https://redux-toolkit.js.org/rtk-query/usage/server-side-rendering for new guidance on SSR.`)}function g(){typeof process<"u";var S=function(C){return Array.from(C.values()).flatMap(function(T){return T?Object.values(T):[]})};return C1(C1([],S(s)),S(a)).filter(cx)}function m(S,C){return function(T){var E,P=o.endpointDefinitions[S],k=t({queryArgs:C,endpointDefinition:P,endpointName:S});return(E=s.get(T))==null?void 0:E[k]}}function v(S,C){return function(T){var E;return(E=a.get(T))==null?void 0:E[C]}}function x(){return function(S){return Object.values(s.get(S)||{}).filter(cx)}}function _(){return function(S){return Object.values(a.get(S)||{}).filter(cx)}}function b(S,C){var T=function(E,P){var k=P===void 0?{}:P,O=k.subscribe,M=O===void 0?!0:O,G=k.forceRefetch,U=k.subscriptionOptions,A=xg,N=k[A];return function(F,B){var D,V,j=t({queryArgs:E,endpointDefinition:C,endpointName:S}),q=n((D={type:"query",subscribe:M,forceRefetch:G,subscriptionOptions:U,endpointName:S,originalArgs:E,queryCacheKey:j},D[xg]=N,D)),Z=i.endpoints[S].select(E),ee=F(q),ie=Z(B()),se=ee.requestId,le=ee.abort,W=ie.requestId!==se,ne=(V=s.get(F))==null?void 0:V[j],fe=function(){return Z(B())},pe=Object.assign(N?ee.then(fe):W&&!ne?Promise.resolve(ie):Promise.all([ne,ee]).then(fe),{arg:E,requestId:se,subscriptionOptions:U,queryCacheKey:j,abort:le,unwrap:function(){return E1(this,null,function(){var ye;return x1(this,function(We){switch(We.label){case 0:return[4,pe];case 1:if(ye=We.sent(),ye.isError)throw ye.error;return[2,ye.data]}})})},refetch:function(){return F(T(E,{subscribe:!1,forceRefetch:!0}))},unsubscribe:function(){M&&F(u({queryCacheKey:j,requestId:se}))},updateSubscriptionOptions:function(ye){pe.subscriptionOptions=ye,F(f({endpointName:S,requestId:se,queryCacheKey:j,options:ye}))}});if(!ne&&!W&&!N){var ve=s.get(F)||{};ve[j]=pe,s.set(F,ve),pe.then(function(){delete ve[j],Object.keys(ve).length||s.delete(F)})}return pe}};return T}function y(S){return function(C,T){var E=T===void 0?{}:T,P=E.track,k=P===void 0?!0:P,O=E.fixedCacheKey;return function(M,G){var U=r({type:"mutation",endpointName:S,originalArgs:C,track:k,fixedCacheKey:O}),A=M(U),N=A.requestId,F=A.abort,B=A.unwrap,D=A.unwrap().then(function(Z){return{data:Z}}).catch(function(Z){return{error:Z}}),V=function(){M(d({requestId:N,fixedCacheKey:O}))},j=Object.assign(D,{arg:A.arg,requestId:N,abort:F,unwrap:B,unsubscribe:V,reset:V}),q=a.get(M)||{};return a.set(M,q),q[N]=j,j.then(function(){delete q[N],Object.keys(q).length||a.delete(M)}),O&&(q[O]=j,j.then(function(){q[O]===j&&(delete q[O],Object.keys(q).length||a.delete(M))})),j}}}}function j9(e){return e}function cce(e){var t=this,n=e.reducerPath,r=e.baseQuery,i=e.context.endpointDefinitions,o=e.serializeQueryArgs,s=e.api,a=function(y,S,C){return function(T){var E=i[y];T(s.internalActions.queryResultPatched({queryCacheKey:o({queryArgs:S,endpointDefinition:E,endpointName:y}),patches:C}))}},l=function(y,S,C){return function(T,E){var P,k,O=s.endpoints[y].select(S)(E()),M={patches:[],inversePatches:[],undo:function(){return T(s.util.patchQueryData(y,S,M.inversePatches))}};if(O.status===ln.uninitialized)return M;if("data"in O)if(Ai(O.data)){var G=Z4(O.data,C),U=G[1],A=G[2];(P=M.patches).push.apply(P,U),(k=M.inversePatches).push.apply(k,A)}else{var N=C(O.data);M.patches.push({op:"replace",path:[],value:N}),M.inversePatches.push({op:"replace",path:[],value:O.data})}return T(s.util.patchQueryData(y,S,M.patches)),M}},u=function(y,S,C){return function(T){var E;return T(s.endpoints[y].initiate(S,(E={subscribe:!1,forceRefetch:!0},E[xg]=function(){return{data:C}},E)))}},d=function(y,S){return E1(t,[y,S],function(C,T){var E,P,k,O,M,G,U,A,N,F,B,D,V,j,q,Z,ee,ie,se=T.signal,le=T.abort,W=T.rejectWithValue,ne=T.fulfillWithValue,fe=T.dispatch,pe=T.getState,ve=T.extra;return x1(this,function(ye){switch(ye.label){case 0:E=i[C.endpointName],ye.label=1;case 1:return ye.trys.push([1,8,,13]),P=j9,k=void 0,O={signal:se,abort:le,dispatch:fe,getState:pe,extra:ve,endpoint:C.endpointName,type:C.type,forced:C.type==="query"?f(C,pe()):void 0},M=C.type==="query"?C[xg]:void 0,M?(k=M(),[3,6]):[3,2];case 2:return E.query?[4,r(E.query(C.originalArgs),O,E.extraOptions)]:[3,4];case 3:return k=ye.sent(),E.transformResponse&&(P=E.transformResponse),[3,6];case 4:return[4,E.queryFn(C.originalArgs,O,E.extraOptions,function(We){return r(We,O,E.extraOptions)})];case 5:k=ye.sent(),ye.label=6;case 6:if(typeof process<"u",k.error)throw new V9(k.error,k.meta);return B=ne,[4,P(k.data,k.meta,C.originalArgs)];case 7:return[2,B.apply(void 0,[ye.sent(),(ee={fulfilledTimeStamp:Date.now(),baseQueryMeta:k.meta},ee[Lu]=!0,ee)])];case 8:if(D=ye.sent(),V=D,!(V instanceof V9))return[3,12];j=j9,E.query&&E.transformErrorResponse&&(j=E.transformErrorResponse),ye.label=9;case 9:return ye.trys.push([9,11,,12]),q=W,[4,j(V.value,V.meta,C.originalArgs)];case 10:return[2,q.apply(void 0,[ye.sent(),(ie={baseQueryMeta:V.meta},ie[Lu]=!0,ie)])];case 11:return Z=ye.sent(),V=Z,[3,12];case 12:throw typeof process<"u",console.error(V),V;case 13:return[2]}})})};function f(y,S){var C,T,E,P,k=(T=(C=S[n])==null?void 0:C.queries)==null?void 0:T[y.queryCacheKey],O=(E=S[n])==null?void 0:E.config.refetchOnMountOrArgChange,M=k==null?void 0:k.fulfilledTimeStamp,G=(P=y.forceRefetch)!=null?P:y.subscribe&&O;return G?G===!0||(Number(new Date)-Number(M))/1e3>=G:!1}var p=Bl(n+"/executeQuery",d,{getPendingMeta:function(){var y;return y={startedTimeStamp:Date.now()},y[Lu]=!0,y},condition:function(y,S){var C=S.getState,T,E,P,k=C(),O=(E=(T=k[n])==null?void 0:T.queries)==null?void 0:E[y.queryCacheKey],M=O==null?void 0:O.fulfilledTimeStamp,G=y.originalArgs,U=O==null?void 0:O.originalArgs,A=i[y.endpointName];return O3(y)?!0:(O==null?void 0:O.status)==="pending"?!1:f(y,k)||h$(A)&&((P=A==null?void 0:A.forceRefetch)!=null&&P.call(A,{currentArg:G,previousArg:U,endpointState:O,state:k}))?!0:!M},dispatchConditionRejection:!0}),g=Bl(n+"/executeMutation",d,{getPendingMeta:function(){var y;return y={startedTimeStamp:Date.now()},y[Lu]=!0,y}}),m=function(y){return"force"in y},v=function(y){return"ifOlderThan"in y},x=function(y,S,C){return function(T,E){var P=m(C)&&C.force,k=v(C)&&C.ifOlderThan,O=function(A){return A===void 0&&(A=!0),s.endpoints[y].initiate(S,{forceRefetch:A})},M=s.endpoints[y].select(S)(E());if(P)T(O());else if(k){var G=M==null?void 0:M.fulfilledTimeStamp;if(!G){T(O());return}var U=(Number(new Date)-Number(new Date(G)))/1e3>=k;U&&T(O())}else T(O(!1))}};function _(y){return function(S){var C,T;return((T=(C=S==null?void 0:S.meta)==null?void 0:C.arg)==null?void 0:T.endpointName)===y}}function b(y,S){return{matchPending:Xd(H_(y),_(S)),matchFulfilled:Xd(eu(y),_(S)),matchRejected:Xd(_f(y),_(S))}}return{queryThunk:p,mutationThunk:g,prefetch:x,updateQueryData:l,upsertQueryData:u,patchQueryData:a,buildMatchThunkActions:b}}function g$(e,t,n,r){return p$(n[e.meta.arg.endpointName][t],eu(e)?e.payload:void 0,sm(e)?e.payload:void 0,e.meta.arg.originalArgs,"baseQueryMeta"in e.meta?e.meta.baseQueryMeta:void 0,r)}function m0(e,t,n){var r=e[t];r&&n(r)}function Cg(e){var t;return(t="arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)!=null?t:e.requestId}function G9(e,t,n){var r=e[Cg(t)];r&&n(r)}var Vh={};function dce(e){var t=e.reducerPath,n=e.queryThunk,r=e.mutationThunk,i=e.context,o=i.endpointDefinitions,s=i.apiUid,a=i.extractRehydrationInfo,l=i.hasRehydrationInfo,u=e.assertTagType,d=e.config,f=Re(t+"/resetApiState"),p=yn({name:t+"/queries",initialState:Vh,reducers:{removeQueryResult:{reducer:function(C,T){var E=T.payload.queryCacheKey;delete C[E]},prepare:uv()},queryResultPatched:function(C,T){var E=T.payload,P=E.queryCacheKey,k=E.patches;m0(C,P,function(O){O.data=d3(O.data,k.concat())})}},extraReducers:function(C){C.addCase(n.pending,function(T,E){var P=E.meta,k=E.meta.arg,O,M,G=O3(k);(k.subscribe||G)&&((M=T[O=k.queryCacheKey])!=null||(T[O]={status:ln.uninitialized,endpointName:k.endpointName})),m0(T,k.queryCacheKey,function(U){U.status=ln.pending,U.requestId=G&&U.requestId?U.requestId:P.requestId,k.originalArgs!==void 0&&(U.originalArgs=k.originalArgs),U.startedTimeStamp=P.startedTimeStamp})}).addCase(n.fulfilled,function(T,E){var P=E.meta,k=E.payload;m0(T,P.arg.queryCacheKey,function(O){var M;if(!(O.requestId!==P.requestId&&!O3(P.arg))){var G=o[P.arg.endpointName].merge;if(O.status=ln.fulfilled,G)if(O.data!==void 0){var U=P.fulfilledTimeStamp,A=P.arg,N=P.baseQueryMeta,F=P.requestId,B=Zl(O.data,function(D){return G(D,k,{arg:A.originalArgs,baseQueryMeta:N,fulfilledTimeStamp:U,requestId:F})});O.data=B}else O.data=k;else O.data=(M=o[P.arg.endpointName].structuralSharing)==null||M?c$(ai(O.data)?H4(O.data):O.data,k):k;delete O.error,O.fulfilledTimeStamp=P.fulfilledTimeStamp}})}).addCase(n.rejected,function(T,E){var P=E.meta,k=P.condition,O=P.arg,M=P.requestId,G=E.error,U=E.payload;m0(T,O.queryCacheKey,function(A){if(!k){if(A.requestId!==M)return;A.status=ln.rejected,A.error=U??G}})}).addMatcher(l,function(T,E){for(var P=a(E).queries,k=0,O=Object.entries(P);k"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?Nce:Mce;v$.useSyncExternalStore=Cf.useSyncExternalStore!==void 0?Cf.useSyncExternalStore:Lce;y$.exports=v$;var Dce=y$.exports,_$={exports:{}},b$={};/** + * @license React + * use-sync-external-store-shim/with-selector.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 ab=L,$ce=Dce;function Fce(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Bce=typeof Object.is=="function"?Object.is:Fce,Uce=$ce.useSyncExternalStore,zce=ab.useRef,Vce=ab.useEffect,jce=ab.useMemo,Gce=ab.useDebugValue;b$.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=zce(null);if(o.current===null){var s={hasValue:!1,value:null};o.current=s}else s=o.current;o=jce(function(){function l(g){if(!u){if(u=!0,d=g,g=r(g),i!==void 0&&s.hasValue){var m=s.value;if(i(m,g))return f=m}return f=g}if(m=f,Bce(d,g))return m;var v=r(g);return i!==void 0&&i(m,v)?m:(d=g,f=v)}var u=!1,d,f,p=n===void 0?null:n;return[function(){return l(t())},p===null?void 0:function(){return l(p())}]},[t,n,r,i]);var a=Uce(e,o[0],o[1]);return Vce(function(){s.hasValue=!0,s.value=a},[a]),Gce(a),a};_$.exports=b$;var S$=_$.exports;const Hce=dc(S$);function Wce(e){e()}let w$=Wce;const qce=e=>w$=e,Kce=()=>w$,Q9=Symbol.for(`react-redux-context-${L.version}`),Z9=globalThis;function Xce(){let e=Z9[Q9];return e||(e=L.createContext(null),Z9[Q9]=e),e}const jl=new Proxy({},new Proxy({},{get(e,t){const n=Xce();return(r,...i)=>Reflect[t](n,...i)}}));function TT(e=jl){return function(){return L.useContext(e)}}const x$=TT(),Yce=()=>{throw new Error("uSES not initialized!")};let C$=Yce;const Qce=e=>{C$=e},Zce=(e,t)=>e===t;function Jce(e=jl){const t=e===jl?x$:TT(e);return function(r,i={}){const{equalityFn:o=Zce,stabilityCheck:s=void 0,noopCheck:a=void 0}=typeof i=="function"?{equalityFn:i}:i,{store:l,subscription:u,getServerState:d,stabilityCheck:f,noopCheck:p}=t();L.useRef(!0);const g=L.useCallback({[r.name](v){return r(v)}}[r.name],[r,f,s]),m=C$(u.addNestedSub,l.getState,d||l.getState,g,o);return L.useDebugValue(m),m}}const T$=Jce();function A1(){return A1=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let r=t;for(;r;)r.callback(),r=r.next})},get(){let r=[],i=t;for(;i;)r.push(i),i=i.next;return r},subscribe(r){let i=!0,o=n={callback:r,next:null,prev:n};return o.prev?o.prev.next=o:t=o,function(){!i||t===null||(i=!1,o.next?o.next.prev=o.prev:n=o.prev,o.prev?o.prev.next=o.next:t=o.next)}}}}const J9={notify(){},get:()=>[]};function dde(e,t){let n,r=J9;function i(f){return l(),r.subscribe(f)}function o(){r.notify()}function s(){d.onStateChange&&d.onStateChange()}function a(){return!!n}function l(){n||(n=t?t.addNestedSub(s):e.subscribe(s),r=cde())}function u(){n&&(n(),n=void 0,r.clear(),r=J9)}const d={addNestedSub:i,notifyNestedSubs:o,handleChangeWrapper:s,isSubscribed:a,trySubscribe:l,tryUnsubscribe:u,getListeners:()=>r};return d}const fde=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",hde=fde?L.useLayoutEffect:L.useEffect;function eR(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function P1(e,t){if(eR(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;i{const u=dde(e);return{store:e,subscription:u,getServerState:r?()=>r:void 0,stabilityCheck:i,noopCheck:o}},[e,r,i,o]),a=L.useMemo(()=>e.getState(),[e]);hde(()=>{const{subscription:u}=s;return u.onStateChange=u.notifyNestedSubs,u.trySubscribe(),a!==e.getState()&&u.notifyNestedSubs(),()=>{u.tryUnsubscribe(),u.onStateChange=void 0}},[s,a]);const l=t||jl;return Lt.createElement(l.Provider,{value:s},n)}function k$(e=jl){const t=e===jl?x$:TT(e);return function(){const{store:r}=t();return r}}const I$=k$();function gde(e=jl){const t=e===jl?I$:k$(e);return function(){return t().dispatch}}const M$=gde();Qce(S$.useSyncExternalStoreWithSelector);qce(bs.unstable_batchedUpdates);var mde=globalThis&&globalThis.__spreadArray||function(e,t){for(var n=0,r=t.length,i=e.length;n{const r=wg.get(),i=Sg.get(),o=S1.get();return sce({baseUrl:`${r??""}/api/v1`,prepareHeaders:a=>(i&&a.set("Authorization",`Bearer ${i}`),o&&a.set("project-id",o),a)})(e,t,n)},Gl=kde({baseQuery:Mde,reducerPath:"api",tagTypes:Ide,endpoints:()=>({})}),Nde=(e,t)=>{const n=new Date(e),r=new Date(t);return n>r?1:ne==null,Ude=e=>encodeURIComponent(e).replace(/[!'()*]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),I3=Symbol("encodeFragmentIdentifier");function zde(e){switch(e.arrayFormat){case"index":return t=>(n,r)=>{const i=n.length;return r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[$n(t,e),"[",i,"]"].join("")]:[...n,[$n(t,e),"[",$n(i,e),"]=",$n(r,e)].join("")]};case"bracket":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[$n(t,e),"[]"].join("")]:[...n,[$n(t,e),"[]=",$n(r,e)].join("")];case"colon-list-separator":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[$n(t,e),":list="].join("")]:[...n,[$n(t,e),":list=",$n(r,e)].join("")];case"comma":case"separator":case"bracket-separator":{const t=e.arrayFormat==="bracket-separator"?"[]=":"=";return n=>(r,i)=>i===void 0||e.skipNull&&i===null||e.skipEmptyString&&i===""?r:(i=i===null?"":i,r.length===0?[[$n(n,e),t,$n(i,e)].join("")]:[[r,$n(i,e)].join(e.arrayFormatSeparator)])}default:return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,$n(t,e)]:[...n,[$n(t,e),"=",$n(r,e)].join("")]}}function Vde(e){let t;switch(e.arrayFormat){case"index":return(n,r,i)=>{if(t=/\[(\d*)]$/.exec(n),n=n.replace(/\[\d*]$/,""),!t){i[n]=r;return}i[n]===void 0&&(i[n]={}),i[n][t[1]]=r};case"bracket":return(n,r,i)=>{if(t=/(\[])$/.exec(n),n=n.replace(/\[]$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"colon-list-separator":return(n,r,i)=>{if(t=/(:list)$/.exec(n),n=n.replace(/:list$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"comma":case"separator":return(n,r,i)=>{const o=typeof r=="string"&&r.includes(e.arrayFormatSeparator),s=typeof r=="string"&&!o&&ca(r,e).includes(e.arrayFormatSeparator);r=s?ca(r,e):r;const a=o||s?r.split(e.arrayFormatSeparator).map(l=>ca(l,e)):r===null?r:ca(r,e);i[n]=a};case"bracket-separator":return(n,r,i)=>{const o=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!o){i[n]=r&&ca(r,e);return}const s=r===null?[]:r.split(e.arrayFormatSeparator).map(a=>ca(a,e));if(i[n]===void 0){i[n]=s;return}i[n]=[...i[n],...s]};default:return(n,r,i)=>{if(i[n]===void 0){i[n]=r;return}i[n]=[...[i[n]].flat(),r]}}}function D$(e){if(typeof e!="string"||e.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function $n(e,t){return t.encode?t.strict?Ude(e):encodeURIComponent(e):e}function ca(e,t){return t.decode?$de(e):e}function $$(e){return Array.isArray(e)?e.sort():typeof e=="object"?$$(Object.keys(e)).sort((t,n)=>Number(t)-Number(n)).map(t=>e[t]):e}function F$(e){const t=e.indexOf("#");return t!==-1&&(e=e.slice(0,t)),e}function jde(e){let t="";const n=e.indexOf("#");return n!==-1&&(t=e.slice(n)),t}function sR(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""?e=Number(e):t.parseBooleans&&e!==null&&(e.toLowerCase()==="true"||e.toLowerCase()==="false")&&(e=e.toLowerCase()==="true"),e}function kT(e){e=F$(e);const t=e.indexOf("?");return t===-1?"":e.slice(t+1)}function IT(e,t){t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...t},D$(t.arrayFormatSeparator);const n=Vde(t),r=Object.create(null);if(typeof e!="string"||(e=e.trim().replace(/^[?#&]/,""),!e))return r;for(const i of e.split("&")){if(i==="")continue;const o=t.decode?i.replace(/\+/g," "):i;let[s,a]=L$(o,"=");s===void 0&&(s=o),a=a===void 0?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?a:ca(a,t),n(ca(s,t),a,r)}for(const[i,o]of Object.entries(r))if(typeof o=="object"&&o!==null)for(const[s,a]of Object.entries(o))o[s]=sR(a,t);else r[i]=sR(o,t);return t.sort===!1?r:(t.sort===!0?Object.keys(r).sort():Object.keys(r).sort(t.sort)).reduce((i,o)=>{const s=r[o];return s&&typeof s=="object"&&!Array.isArray(s)?i[o]=$$(s):i[o]=s,i},Object.create(null))}function B$(e,t){if(!e)return"";t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t},D$(t.arrayFormatSeparator);const n=s=>t.skipNull&&Bde(e[s])||t.skipEmptyString&&e[s]==="",r=zde(t),i={};for(const[s,a]of Object.entries(e))n(s)||(i[s]=a);const o=Object.keys(i);return t.sort!==!1&&o.sort(t.sort),o.map(s=>{const a=e[s];return a===void 0?"":a===null?$n(s,t):Array.isArray(a)?a.length===0&&t.arrayFormat==="bracket-separator"?$n(s,t)+"[]":a.reduce(r(s),[]).join("&"):$n(s,t)+"="+$n(a,t)}).filter(s=>s.length>0).join("&")}function U$(e,t){var i;t={decode:!0,...t};let[n,r]=L$(e,"#");return n===void 0&&(n=e),{url:((i=n==null?void 0:n.split("?"))==null?void 0:i[0])??"",query:IT(kT(e),t),...t&&t.parseFragmentIdentifier&&r?{fragmentIdentifier:ca(r,t)}:{}}}function z$(e,t){t={encode:!0,strict:!0,[I3]:!0,...t};const n=F$(e.url).split("?")[0]||"",r=kT(e.url),i={...IT(r,{sort:!1}),...e.query};let o=B$(i,t);o&&(o=`?${o}`);let s=jde(e.url);if(e.fragmentIdentifier){const a=new URL(n);a.hash=e.fragmentIdentifier,s=t[I3]?a.hash:`#${e.fragmentIdentifier}`}return`${n}${o}${s}`}function V$(e,t,n){n={parseFragmentIdentifier:!0,[I3]:!1,...n};const{url:r,query:i,fragmentIdentifier:o}=U$(e,n);return z$({url:r,query:Fde(i,t),fragmentIdentifier:o},n)}function Gde(e,t,n){const r=Array.isArray(t)?i=>!t.includes(i):(i,o)=>!t(i,o);return V$(e,r,n)}const fv=Object.freeze(Object.defineProperty({__proto__:null,exclude:Gde,extract:kT,parse:IT,parseUrl:U$,pick:V$,stringify:B$,stringifyUrl:z$},Symbol.toStringTag,{value:"Module"})),jh=(e,t)=>{if(!e)return!1;const n=O1.selectAll(e);if(n.length>1){const r=new Date(t.created_at),i=n[n.length-1];if(!i)return!1;const o=new Date(i.created_at);return r>=o}else if([0,1].includes(n.length))return!0;return!1},nl=e=>jr.includes(e.image_category)?jr:Sl,pn=Jl({selectId:e=>e.image_name,sortComparer:(e,t)=>Nde(t.updated_at,e.updated_at)}),O1=pn.getSelectors(),Fo=e=>`images/?${fv.stringify(e,{arrayFormat:"none"})}`,Ui=Gl.injectEndpoints({endpoints:e=>({listBoards:e.query({query:t=>({url:"boards/",params:t}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Ke}];return t&&i.push(...t.items.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllBoards:e.query({query:()=>({url:"boards/",params:{all:!0}}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Ke}];return t&&i.push(...t.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllImageNamesForBoard:e.query({query:t=>({url:`boards/${t}/image_names`}),providesTags:(t,n,r)=>[{type:"ImageNameList",id:r}],keepUnusedDataFor:0}),getBoardImagesTotal:e.query({query:t=>({url:Fo({board_id:t??"none",categories:jr,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardImagesTotal",id:r??"none"}],transformResponse:t=>t.total}),getBoardAssetsTotal:e.query({query:t=>({url:Fo({board_id:t??"none",categories:Sl,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardAssetsTotal",id:r??"none"}],transformResponse:t=>t.total}),createBoard:e.mutation({query:t=>({url:"boards/",method:"POST",params:{board_name:t}}),invalidatesTags:[{type:"Board",id:Ke}]}),updateBoard:e.mutation({query:({board_id:t,changes:n})=>({url:`boards/${t}`,method:"PATCH",body:n}),invalidatesTags:(t,n,r)=>[{type:"Board",id:r.board_id}]})})}),{useListBoardsQuery:Lke,useListAllBoardsQuery:Dke,useGetBoardImagesTotalQuery:$ke,useGetBoardAssetsTotalQuery:Fke,useCreateBoardMutation:Bke,useUpdateBoardMutation:Uke,useListAllImageNamesForBoardQuery:zke}=Ui,Se=Gl.injectEndpoints({endpoints:e=>({listImages:e.query({query:t=>({url:Fo(t),method:"GET"}),providesTags:(t,n,{board_id:r,categories:i})=>[{type:"ImageList",id:Fo({board_id:r,categories:i})}],serializeQueryArgs:({queryArgs:t})=>{const{board_id:n,categories:r}=t;return Fo({board_id:n,categories:r})},transformResponse(t){const{items:n}=t;return pn.addMany(pn.getInitialState(),n)},merge:(t,n)=>{pn.addMany(t,O1.selectAll(n))},forceRefetch({currentArg:t,previousArg:n}){return(t==null?void 0:t.offset)!==(n==null?void 0:n.offset)},async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){try{const{data:i}=await r;O1.selectAll(i).forEach(o=>{n(Se.util.upsertQueryData("getImageDTO",o.image_name,o))})}catch{}},keepUnusedDataFor:86400}),getIntermediatesCount:e.query({query:()=>({url:Fo({is_intermediate:!0})}),providesTags:["IntermediatesCount"],transformResponse:t=>t.total}),getImageDTO:e.query({query:t=>({url:`images/i/${t}`}),providesTags:(t,n,r)=>[{type:"Image",id:r}],keepUnusedDataFor:86400}),getImageMetadata:e.query({query:t=>({url:`images/i/${t}/metadata`}),providesTags:(t,n,r)=>[{type:"ImageMetadata",id:r}],keepUnusedDataFor:86400}),clearIntermediates:e.mutation({query:()=>({url:"images/clear-intermediates",method:"POST"}),invalidatesTags:["IntermediatesCount"]}),deleteImage:e.mutation({query:({image_name:t})=>({url:`images/i/${t}`,method:"DELETE"}),invalidatesTags:(t,n,{board_id:r})=>[{type:"BoardImagesTotal",id:r??"none"},{type:"BoardAssetsTotal",id:r??"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){const{image_name:i,board_id:o}=t,s={board_id:o??"none",categories:nl(t)},a=n(Se.util.updateQueryData("listImages",s,l=>{pn.removeOne(l,i)}));try{await r}catch{a.undo()}}}),deleteImages:e.mutation({query:({imageDTOs:t})=>({url:"images/delete",method:"POST",body:{image_names:t.map(r=>r.image_name)}}),invalidatesTags:(t,n,r)=>[],async onQueryStarted({imageDTOs:t},{dispatch:n,queryFulfilled:r}){try{const{data:i}=await r,o=que.keyBy(t,"image_name");i.deleted_images.forEach(s=>{const a=o[s];if(a){const l={board_id:a.board_id??"none",categories:nl(a)};n(Se.util.updateQueryData("listImages",l,u=>{pn.removeOne(u,s)}))}})}catch{}}}),changeImageIsIntermediate:e.mutation({query:({imageDTO:t,is_intermediate:n})=>({url:`images/i/${t.image_name}`,method:"PATCH",body:{is_intermediate:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,is_intermediate:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(Se.util.updateQueryData("getImageDTO",t.image_name,l=>{Object.assign(l,{is_intermediate:n})})));const a=nl(t);if(n)s.push(r(Se.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:a},l=>{pn.removeOne(l,t.image_name)})));else{const l={board_id:t.board_id??"none",categories:a},u=Se.endpoints.listImages.select(l)(o()),{data:d}=jr.includes(t.image_category)?Ui.endpoints.getBoardImagesTotal.select(t.board_id??"none")(o()):Ui.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(o()),f=u.data&&u.data.ids.length>=(d??0),p=jh(u.data,t);(f||p)&&s.push(r(Se.util.updateQueryData("listImages",l,g=>{pn.upsertOne(g,t)})))}try{await i}catch{s.forEach(l=>l.undo())}}}),changeImageSessionId:e.mutation({query:({imageDTO:t,session_id:n})=>({url:`images/i/${t.image_name}`,method:"PATCH",body:{session_id:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,session_id:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(Se.util.updateQueryData("getImageDTO",t.image_name,a=>{Object.assign(a,{session_id:n})})));try{await i}catch{s.forEach(a=>a.undo())}}}),uploadImage:e.mutation({query:({file:t,image_category:n,is_intermediate:r,session_id:i,board_id:o,crop_visible:s})=>{const a=new FormData;return a.append("file",t),{url:"images/upload",method:"POST",body:a,params:{image_category:n,is_intermediate:r,session_id:i,board_id:o==="none"?void 0:o,crop_visible:s}}},async onQueryStarted({file:t,image_category:n,is_intermediate:r,postUploadAction:i,session_id:o,board_id:s},{dispatch:a,queryFulfilled:l}){try{const{data:u}=await l;if(u.is_intermediate)return;a(Se.util.upsertQueryData("getImageDTO",u.image_name,u));const d=nl(u);a(Se.util.updateQueryData("listImages",{board_id:u.board_id??"none",categories:d},f=>{pn.addOne(f,u)})),a(Se.util.invalidateTags([{type:"BoardImagesTotal",id:u.board_id??"none"},{type:"BoardAssetsTotal",id:u.board_id??"none"}]))}catch{}}}),deleteBoard:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE"}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Ke},{type:"ImageList",id:Fo({board_id:"none",categories:jr})},{type:"ImageList",id:Fo({board_id:"none",categories:Sl})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_board_images:s}=o;s.forEach(u=>{n(Se.util.updateQueryData("getImageDTO",u,d=>{d.board_id=void 0}))});const a=[{categories:jr},{categories:Sl}],l=s.map(u=>({id:u,changes:{board_id:void 0}}));a.forEach(u=>{n(Se.util.updateQueryData("listImages",u,d=>{pn.updateMany(d,l)}))})}catch{}}}),deleteBoardAndImages:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE",params:{include_images:!0}}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Ke},{type:"ImageList",id:Fo({board_id:"none",categories:jr})},{type:"ImageList",id:Fo({board_id:"none",categories:Sl})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_images:s}=o;[{categories:jr},{categories:Sl}].forEach(l=>{n(Se.util.updateQueryData("listImages",l,u=>{pn.removeMany(u,s)}))})}catch{}}}),addImageToBoard:e.mutation({query:({board_id:t,imageDTO:n})=>{const{image_name:r}=n;return{url:"board_images/",method:"POST",body:{board_id:t,image_name:r}}},invalidatesTags:(t,n,{board_id:r,imageDTO:i})=>[{type:"Board",id:r},{type:"BoardImagesTotal",id:r},{type:"BoardAssetsTotal",id:r},{type:"BoardImagesTotal",id:i.board_id??"none"},{type:"BoardAssetsTotal",id:i.board_id??"none"}],async onQueryStarted({board_id:t,imageDTO:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[],a=nl(n);if(s.push(r(Se.util.updateQueryData("getImageDTO",n.image_name,l=>{l.board_id=t}))),!n.is_intermediate){s.push(r(Se.util.updateQueryData("listImages",{board_id:n.board_id??"none",categories:a},g=>{pn.removeOne(g,n.image_name)})));const l={board_id:t??"none",categories:a},u=Se.endpoints.listImages.select(l)(o()),{data:d}=jr.includes(n.image_category)?Ui.endpoints.getBoardImagesTotal.select(n.board_id??"none")(o()):Ui.endpoints.getBoardAssetsTotal.select(n.board_id??"none")(o()),f=u.data&&u.data.ids.length>=(d??0),p=jh(u.data,n);(f||p)&&s.push(r(Se.util.updateQueryData("listImages",l,g=>{pn.addOne(g,n)})))}try{await i}catch{s.forEach(l=>l.undo())}}}),removeImageFromBoard:e.mutation({query:({imageDTO:t})=>{const{image_name:n}=t;return{url:"board_images/",method:"DELETE",body:{image_name:n}}},invalidatesTags:(t,n,{imageDTO:r})=>{const{board_id:i}=r;return[{type:"Board",id:i??"none"},{type:"BoardImagesTotal",id:i??"none"},{type:"BoardAssetsTotal",id:i??"none"},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}]},async onQueryStarted({imageDTO:t},{dispatch:n,queryFulfilled:r,getState:i}){const o=nl(t),s=[];s.push(n(Se.util.updateQueryData("getImageDTO",t.image_name,p=>{p.board_id=void 0}))),s.push(n(Se.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:o},p=>{pn.removeOne(p,t.image_name)})));const a={board_id:"none",categories:o},l=Se.endpoints.listImages.select(a)(i()),{data:u}=jr.includes(t.image_category)?Ui.endpoints.getBoardImagesTotal.select(t.board_id??"none")(i()):Ui.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(i()),d=l.data&&l.data.ids.length>=(u??0),f=jh(l.data,t);(d||f)&&s.push(n(Se.util.updateQueryData("listImages",a,p=>{pn.upsertOne(p,t)})));try{await r}catch{s.forEach(p=>p.undo())}}}),addImagesToBoard:e.mutation({query:({board_id:t,imageDTOs:n})=>({url:"board_images/batch",method:"POST",body:{image_names:n.map(r=>r.image_name),board_id:t}}),invalidatesTags:(t,n,{board_id:r})=>[{type:"Board",id:r??"none"},{type:"BoardImagesTotal",id:r??"none"},{type:"BoardAssetsTotal",id:r??"none"},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted({board_id:t,imageDTOs:n},{dispatch:r,queryFulfilled:i,getState:o}){try{const{data:s}=await i,{added_image_names:a}=s;a.forEach(l=>{r(Se.util.updateQueryData("getImageDTO",l,_=>{_.board_id=t}));const u=n.find(_=>_.image_name===l);if(!u)return;const d=nl(u),f=u.board_id;r(Se.util.updateQueryData("listImages",{board_id:f??"none",categories:d},_=>{pn.removeOne(_,u.image_name)}));const p={board_id:t,categories:d},g=Se.endpoints.listImages.select(p)(o()),{data:m}=jr.includes(u.image_category)?Ui.endpoints.getBoardImagesTotal.select(u.board_id??"none")(o()):Ui.endpoints.getBoardAssetsTotal.select(u.board_id??"none")(o()),v=g.data&&g.data.ids.length>=(m??0),x=jh(g.data,u);(v||x)&&r(Se.util.updateQueryData("listImages",p,_=>{pn.upsertOne(_,{...u,board_id:t})}))})}catch{}}}),removeImagesFromBoard:e.mutation({query:({imageDTOs:t})=>({url:"board_images/batch/delete",method:"POST",body:{image_names:t.map(n=>n.image_name)}}),invalidatesTags:(t,n,{imageDTOs:r})=>{const i=[],o=[{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}];return t==null||t.removed_image_names.forEach(s=>{var l;const a=(l=r.find(u=>u.image_name===s))==null?void 0:l.board_id;!a||i.includes(a)||(o.push({type:"Board",id:a}),o.push({type:"BoardImagesTotal",id:a}),o.push({type:"BoardAssetsTotal",id:a}))}),o},async onQueryStarted({imageDTOs:t},{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{removed_image_names:s}=o;s.forEach(a=>{n(Se.util.updateQueryData("getImageDTO",a,v=>{v.board_id=void 0}));const l=t.find(v=>v.image_name===a);if(!l)return;const u=nl(l);n(Se.util.updateQueryData("listImages",{board_id:l.board_id??"none",categories:u},v=>{pn.removeOne(v,l.image_name)}));const d={board_id:"none",categories:u},f=Se.endpoints.listImages.select(d)(i()),{data:p}=jr.includes(l.image_category)?Ui.endpoints.getBoardImagesTotal.select(l.board_id??"none")(i()):Ui.endpoints.getBoardAssetsTotal.select(l.board_id??"none")(i()),g=f.data&&f.data.ids.length>=(p??0),m=jh(f.data,l);(g||m)&&n(Se.util.updateQueryData("listImages",d,v=>{pn.upsertOne(v,{...l,board_id:void 0})}))})}catch{}}})})}),{useGetIntermediatesCountQuery:Vke,useListImagesQuery:jke,useLazyListImagesQuery:Gke,useGetImageDTOQuery:Hke,useGetImageMetadataQuery:Wke,useDeleteImageMutation:qke,useDeleteImagesMutation:Kke,useUploadImageMutation:Xke,useClearIntermediatesMutation:Yke,useAddImagesToBoardMutation:Qke,useRemoveImagesFromBoardMutation:Zke,useAddImageToBoardMutation:Jke,useRemoveImageFromBoardMutation:eIe,useChangeImageIsIntermediateMutation:tIe,useChangeImageSessionIdMutation:nIe,useDeleteBoardAndImagesMutation:rIe,useDeleteBoardMutation:iIe}=Se,j$=Re("socket/socketConnected"),G$=Re("socket/appSocketConnected"),H$=Re("socket/socketDisconnected"),W$=Re("socket/appSocketDisconnected"),MT=Re("socket/socketSubscribed"),q$=Re("socket/appSocketSubscribed"),K$=Re("socket/socketUnsubscribed"),X$=Re("socket/appSocketUnsubscribed"),Y$=Re("socket/socketInvocationStarted"),Q$=Re("socket/appSocketInvocationStarted"),NT=Re("socket/socketInvocationComplete"),Z$=Re("socket/appSocketInvocationComplete"),J$=Re("socket/socketInvocationError"),LT=Re("socket/appSocketInvocationError"),eF=Re("socket/socketGraphExecutionStateComplete"),tF=Re("socket/appSocketGraphExecutionStateComplete"),nF=Re("socket/socketGeneratorProgress"),rF=Re("socket/appSocketGeneratorProgress"),iF=Re("socket/socketModelLoadStarted"),Hde=Re("socket/appSocketModelLoadStarted"),oF=Re("socket/socketModelLoadCompleted"),Wde=Re("socket/appSocketModelLoadCompleted"),sF=Re("socket/socketSessionRetrievalError"),aF=Re("socket/appSocketSessionRetrievalError"),lF=Re("socket/socketInvocationRetrievalError"),uF=Re("socket/appSocketInvocationRetrievalError"),DT=Re("controlNet/imageProcessed"),_d={none:{type:"none",label:"none",description:"",default:{type:"none"}},canny_image_processor:{type:"canny_image_processor",label:"Canny",description:"",default:{id:"canny_image_processor",type:"canny_image_processor",low_threshold:100,high_threshold:200}},content_shuffle_image_processor:{type:"content_shuffle_image_processor",label:"Content Shuffle",description:"",default:{id:"content_shuffle_image_processor",type:"content_shuffle_image_processor",detect_resolution:512,image_resolution:512,h:512,w:512,f:256}},hed_image_processor:{type:"hed_image_processor",label:"HED",description:"",default:{id:"hed_image_processor",type:"hed_image_processor",detect_resolution:512,image_resolution:512,scribble:!1}},lineart_anime_image_processor:{type:"lineart_anime_image_processor",label:"Lineart Anime",description:"",default:{id:"lineart_anime_image_processor",type:"lineart_anime_image_processor",detect_resolution:512,image_resolution:512}},lineart_image_processor:{type:"lineart_image_processor",label:"Lineart",description:"",default:{id:"lineart_image_processor",type:"lineart_image_processor",detect_resolution:512,image_resolution:512,coarse:!1}},mediapipe_face_processor:{type:"mediapipe_face_processor",label:"Mediapipe Face",description:"",default:{id:"mediapipe_face_processor",type:"mediapipe_face_processor",max_faces:1,min_confidence:.5}},midas_depth_image_processor:{type:"midas_depth_image_processor",label:"Depth (Midas)",description:"",default:{id:"midas_depth_image_processor",type:"midas_depth_image_processor",a_mult:2,bg_th:.1}},mlsd_image_processor:{type:"mlsd_image_processor",label:"M-LSD",description:"",default:{id:"mlsd_image_processor",type:"mlsd_image_processor",detect_resolution:512,image_resolution:512,thr_d:.1,thr_v:.1}},normalbae_image_processor:{type:"normalbae_image_processor",label:"Normal BAE",description:"",default:{id:"normalbae_image_processor",type:"normalbae_image_processor",detect_resolution:512,image_resolution:512}},openpose_image_processor:{type:"openpose_image_processor",label:"Openpose",description:"",default:{id:"openpose_image_processor",type:"openpose_image_processor",detect_resolution:512,image_resolution:512,hand_and_face:!1}},pidi_image_processor:{type:"pidi_image_processor",label:"PIDI",description:"",default:{id:"pidi_image_processor",type:"pidi_image_processor",detect_resolution:512,image_resolution:512,scribble:!1,safe:!1}},zoe_depth_image_processor:{type:"zoe_depth_image_processor",label:"Depth (Zoe)",description:"",default:{id:"zoe_depth_image_processor",type:"zoe_depth_image_processor"}}},b0={canny:"canny_image_processor",mlsd:"mlsd_image_processor",depth:"midas_depth_image_processor",bae:"normalbae_image_processor",lineart:"lineart_image_processor",lineart_anime:"lineart_anime_image_processor",softedge:"hed_image_processor",shuffle:"content_shuffle_image_processor",openpose:"openpose_image_processor",mediapipe:"mediapipe_face_processor"},aR={isEnabled:!0,model:null,weight:1,beginStepPct:0,endStepPct:1,controlMode:"balanced",resizeMode:"just_resize",controlImage:null,processedControlImage:null,processorType:"canny_image_processor",processorNode:_d.canny_image_processor.default,shouldAutoConfig:!0},M3={controlNets:{},isEnabled:!1,pendingControlImages:[]},cF=yn({name:"controlNet",initialState:M3,reducers:{isControlNetEnabledToggled:e=>{e.isEnabled=!e.isEnabled},controlNetAdded:(e,t)=>{const{controlNetId:n,controlNet:r}=t.payload;e.controlNets[n]={...r??aR,controlNetId:n}},controlNetDuplicated:(e,t)=>{const{sourceControlNetId:n,newControlNetId:r}=t.payload,i=e.controlNets[n];if(!i)return;const o=zr(i);o.controlNetId=r,e.controlNets[r]=o},controlNetAddedFromImage:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n]={...aR,controlNetId:n,controlImage:r}},controlNetRemoved:(e,t)=>{const{controlNetId:n}=t.payload;delete e.controlNets[n]},controlNetToggled:(e,t)=>{const{controlNetId:n}=t.payload,r=e.controlNets[n];r&&(r.isEnabled=!r.isEnabled)},controlNetImageChanged:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload,i=e.controlNets[n];i&&(i.controlImage=r,i.processedControlImage=null,r!==null&&i.processorType!=="none"&&e.pendingControlImages.push(n))},controlNetProcessedImageChanged:(e,t)=>{const{controlNetId:n,processedControlImage:r}=t.payload,i=e.controlNets[n];i&&(i.processedControlImage=r,e.pendingControlImages=e.pendingControlImages.filter(o=>o!==n))},controlNetModelChanged:(e,t)=>{const{controlNetId:n,model:r}=t.payload,i=e.controlNets[n];if(i&&(i.model=r,i.processedControlImage=null,i.shouldAutoConfig)){let o;for(const s in b0)if(r.model_name.includes(s)){o=b0[s];break}o?(i.processorType=o,i.processorNode=_d[o].default):(i.processorType="none",i.processorNode=_d.none.default)}},controlNetWeightChanged:(e,t)=>{const{controlNetId:n,weight:r}=t.payload,i=e.controlNets[n];i&&(i.weight=r)},controlNetBeginStepPctChanged:(e,t)=>{const{controlNetId:n,beginStepPct:r}=t.payload,i=e.controlNets[n];i&&(i.beginStepPct=r)},controlNetEndStepPctChanged:(e,t)=>{const{controlNetId:n,endStepPct:r}=t.payload,i=e.controlNets[n];i&&(i.endStepPct=r)},controlNetControlModeChanged:(e,t)=>{const{controlNetId:n,controlMode:r}=t.payload,i=e.controlNets[n];i&&(i.controlMode=r)},controlNetResizeModeChanged:(e,t)=>{const{controlNetId:n,resizeMode:r}=t.payload,i=e.controlNets[n];i&&(i.resizeMode=r)},controlNetProcessorParamsChanged:(e,t)=>{const{controlNetId:n,changes:r}=t.payload,i=e.controlNets[n];if(!i)return;const o=i.processorNode;i.processorNode={...o,...r},i.shouldAutoConfig=!1},controlNetProcessorTypeChanged:(e,t)=>{const{controlNetId:n,processorType:r}=t.payload,i=e.controlNets[n];i&&(i.processedControlImage=null,i.processorType=r,i.processorNode=_d[r].default,i.shouldAutoConfig=!1)},controlNetAutoConfigToggled:(e,t)=>{var o;const{controlNetId:n}=t.payload,r=e.controlNets[n];if(!r)return;const i=!r.shouldAutoConfig;if(i){let s;for(const a in b0)if((o=r.model)!=null&&o.model_name.includes(a)){s=b0[a];break}s?(r.processorType=s,r.processorNode=_d[s].default):(r.processorType="none",r.processorNode=_d.none.default)}r.shouldAutoConfig=i},controlNetReset:()=>({...M3})},extraReducers:e=>{e.addCase(DT,(t,n)=>{const r=t.controlNets[n.payload.controlNetId];r&&r.controlImage!==null&&t.pendingControlImages.push(n.payload.controlNetId)}),e.addCase(LT,t=>{t.pendingControlImages=[]}),e.addMatcher(r$,t=>{t.pendingControlImages=[]}),e.addMatcher(Se.endpoints.deleteImage.matchFulfilled,(t,n)=>{const{image_name:r}=n.meta.arg.originalArgs;tc(t.controlNets,i=>{i.controlImage===r&&(i.controlImage=null,i.processedControlImage=null),i.processedControlImage===r&&(i.processedControlImage=null)})})}}),{isControlNetEnabledToggled:oIe,controlNetAdded:sIe,controlNetDuplicated:aIe,controlNetAddedFromImage:lIe,controlNetRemoved:dF,controlNetImageChanged:$T,controlNetProcessedImageChanged:qde,controlNetToggled:uIe,controlNetModelChanged:lR,controlNetWeightChanged:cIe,controlNetBeginStepPctChanged:dIe,controlNetEndStepPctChanged:fIe,controlNetControlModeChanged:hIe,controlNetResizeModeChanged:pIe,controlNetProcessorParamsChanged:Kde,controlNetProcessorTypeChanged:Xde,controlNetReset:FT,controlNetAutoConfigToggled:uR}=cF.actions,Yde=cF.reducer,fF={isEnabled:!1,maxPrompts:100,combinatorial:!0},Qde=fF,hF=yn({name:"dynamicPrompts",initialState:Qde,reducers:{maxPromptsChanged:(e,t)=>{e.maxPrompts=t.payload},maxPromptsReset:e=>{e.maxPrompts=fF.maxPrompts},combinatorialToggled:e=>{e.combinatorial=!e.combinatorial},isEnabledToggled:e=>{e.isEnabled=!e.isEnabled}}}),{isEnabledToggled:gIe,maxPromptsChanged:mIe,maxPromptsReset:yIe,combinatorialToggled:vIe}=hF.actions,Zde=hF.reducer,pF={selection:[],shouldAutoSwitch:!0,autoAssignBoardOnClick:!0,autoAddBoardId:"none",galleryImageMinimumWidth:96,selectedBoardId:"none",galleryView:"images",shouldShowDeleteButton:!1,boardSearchText:""},gF=yn({name:"gallery",initialState:pF,reducers:{imageSelected:(e,t)=>{e.selection=t.payload?[t.payload]:[]},selectionChanged:(e,t)=>{e.selection=t.payload},shouldAutoSwitchChanged:(e,t)=>{e.shouldAutoSwitch=t.payload},setGalleryImageMinimumWidth:(e,t)=>{e.galleryImageMinimumWidth=t.payload},autoAssignBoardOnClickChanged:(e,t)=>{e.autoAssignBoardOnClick=t.payload},boardIdSelected:(e,t)=>{e.selectedBoardId=t.payload,e.galleryView="images"},autoAddBoardIdChanged:(e,t)=>{if(!t.payload){e.autoAddBoardId="none";return}e.autoAddBoardId=t.payload},galleryViewChanged:(e,t)=>{e.galleryView=t.payload},shouldShowDeleteButtonChanged:(e,t)=>{e.shouldShowDeleteButton=t.payload},boardSearchTextChanged:(e,t)=>{e.boardSearchText=t.payload}},extraReducers:e=>{e.addMatcher(efe,(t,n)=>{const r=n.meta.arg.originalArgs;r===t.selectedBoardId&&(t.selectedBoardId="none",t.galleryView="images"),r===t.autoAddBoardId&&(t.autoAddBoardId="none")}),e.addMatcher(Ui.endpoints.listAllBoards.matchFulfilled,(t,n)=>{const r=n.payload;t.autoAddBoardId&&(r.map(i=>i.board_id).includes(t.autoAddBoardId)||(t.autoAddBoardId="none"))})}}),{imageSelected:Rs,shouldAutoSwitchChanged:_Ie,autoAssignBoardOnClickChanged:bIe,setGalleryImageMinimumWidth:SIe,boardIdSelected:N3,autoAddBoardIdChanged:wIe,galleryViewChanged:k1,selectionChanged:xIe,shouldShowDeleteButtonChanged:CIe,boardSearchTextChanged:TIe}=gF.actions,Jde=gF.reducer,efe=Co(Se.endpoints.deleteBoard.matchFulfilled,Se.endpoints.deleteBoardAndImages.matchFulfilled),tfe={imagesToDelete:[],isModalOpen:!1},mF=yn({name:"deleteImageModal",initialState:tfe,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imagesToDeleteSelected:(e,t)=>{e.imagesToDelete=t.payload},imageDeletionCanceled:e=>{e.imagesToDelete=[],e.isModalOpen=!1}}}),{isModalOpenChanged:BT,imagesToDeleteSelected:nfe,imageDeletionCanceled:EIe}=mF.actions,rfe=mF.reducer,ife={isModalOpen:!1,imagesToChange:[]},yF=yn({name:"changeBoardModal",initialState:ife,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imagesToChangeSelected:(e,t)=>{e.imagesToChange=t.payload},changeBoardReset:e=>{e.imagesToChange=[],e.isModalOpen=!1}}}),{isModalOpenChanged:AIe,imagesToChangeSelected:PIe,changeBoardReset:RIe}=yF.actions,ofe=yF.reducer,cR={weight:.75},sfe={loras:{}},vF=yn({name:"lora",initialState:sfe,reducers:{loraAdded:(e,t)=>{const{model_name:n,id:r,base_model:i}=t.payload;e.loras[r]={id:r,model_name:n,base_model:i,...cR}},loraRemoved:(e,t)=>{const n=t.payload;delete e.loras[n]},lorasCleared:e=>{e.loras={}},loraWeightChanged:(e,t)=>{const{id:n,weight:r}=t.payload,i=e.loras[n];i&&(i.weight=r)},loraWeightReset:(e,t)=>{const n=t.payload,r=e.loras[n];r&&(r.weight=cR.weight)}}}),{loraAdded:OIe,loraRemoved:_F,loraWeightChanged:kIe,loraWeightReset:IIe,lorasCleared:MIe}=vF.actions,afe=vF.reducer;function Eo(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n{let t;const n=new Set,r=(l,u)=>{const d=typeof l=="function"?l(t):l;if(!Object.is(d,t)){const f=t;t=u??typeof d!="object"?d:Object.assign({},t,d),n.forEach(p=>p(t,f))}},i=()=>t,a={setState:r,getState:i,subscribe:l=>(n.add(l),()=>n.delete(l)),destroy:()=>{n.clear()}};return t=e(r,i,a),a},lfe=e=>e?dR(e):dR,{useSyncExternalStoreWithSelector:ufe}=Hce;function cfe(e,t=e.getState,n){const r=ufe(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return L.useDebugValue(r),r}function Ri(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,i]of e)if(!Object.is(i,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r=0;r{}};function Pb(){for(var e=0,t=arguments.length,n={},r;e=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}hv.prototype=Pb.prototype={constructor:hv,on:function(e,t){var n=this._,r=ffe(e+"",n),i,o=-1,s=r.length;if(arguments.length<2){for(;++o0)for(var n=new Array(i),r=0,i,o;r=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),hR.hasOwnProperty(t)?{space:hR[t],local:e}:e}function pfe(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===L3&&t.documentElement.namespaceURI===L3?t.createElement(e):t.createElementNS(n,e)}}function gfe(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function bF(e){var t=Rb(e);return(t.local?gfe:pfe)(t)}function mfe(){}function UT(e){return e==null?mfe:function(){return this.querySelector(e)}}function yfe(e){typeof e!="function"&&(e=UT(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i=y&&(y=b+1);!(C=x[y])&&++y=0;)(s=r[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function Vfe(e){e||(e=jfe);function t(f,p){return f&&p?e(f.__data__,p.__data__):!f-!p}for(var n=this._groups,r=n.length,i=new Array(r),o=0;ot?1:e>=t?0:NaN}function Gfe(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Hfe(){return Array.from(this)}function Wfe(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?rhe:typeof t=="function"?ohe:ihe)(e,t,n??"")):Tf(this.node(),e)}function Tf(e,t){return e.style.getPropertyValue(t)||TF(e).getComputedStyle(e,null).getPropertyValue(t)}function ahe(e){return function(){delete this[e]}}function lhe(e,t){return function(){this[e]=t}}function uhe(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function che(e,t){return arguments.length>1?this.each((t==null?ahe:typeof t=="function"?uhe:lhe)(e,t)):this.node()[e]}function EF(e){return e.trim().split(/^|\s+/)}function zT(e){return e.classList||new AF(e)}function AF(e){this._node=e,this._names=EF(e.getAttribute("class")||"")}AF.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function PF(e,t){for(var n=zT(e),r=-1,i=t.length;++r=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function Fhe(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,o;n()=>e;function D3(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:s,y:a,dx:l,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}D3.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Khe(e){return!e.ctrlKey&&!e.button}function Xhe(){return this.parentNode}function Yhe(e,t){return t??{x:e.x,y:e.y}}function Qhe(){return navigator.maxTouchPoints||"ontouchstart"in this}function Zhe(){var e=Khe,t=Xhe,n=Yhe,r=Qhe,i={},o=Pb("start","drag","end"),s=0,a,l,u,d,f=0;function p(S){S.on("mousedown.drag",g).filter(r).on("touchstart.drag",x).on("touchmove.drag",_,qhe).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(S,C){if(!(d||!e.call(this,S,C))){var T=y(this,t.call(this,S,C),S,C,"mouse");T&&(Vo(S.view).on("mousemove.drag",m,Tg).on("mouseup.drag",v,Tg),IF(S.view),gx(S),u=!1,a=S.clientX,l=S.clientY,T("start",S))}}function m(S){if(ef(S),!u){var C=S.clientX-a,T=S.clientY-l;u=C*C+T*T>f}i.mouse("drag",S)}function v(S){Vo(S.view).on("mousemove.drag mouseup.drag",null),MF(S.view,u),ef(S),i.mouse("end",S)}function x(S,C){if(e.call(this,S,C)){var T=S.changedTouches,E=t.call(this,S,C),P=T.length,k,O;for(k=0;k>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?w0(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?w0(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=epe.exec(e))?new xi(t[1],t[2],t[3],1):(t=tpe.exec(e))?new xi(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=npe.exec(e))?w0(t[1],t[2],t[3],t[4]):(t=rpe.exec(e))?w0(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=ipe.exec(e))?bR(t[1],t[2]/100,t[3]/100,1):(t=ope.exec(e))?bR(t[1],t[2]/100,t[3]/100,t[4]):pR.hasOwnProperty(e)?yR(pR[e]):e==="transparent"?new xi(NaN,NaN,NaN,0):null}function yR(e){return new xi(e>>16&255,e>>8&255,e&255,1)}function w0(e,t,n,r){return r<=0&&(e=t=n=NaN),new xi(e,t,n,r)}function lpe(e){return e instanceof vm||(e=Pg(e)),e?(e=e.rgb(),new xi(e.r,e.g,e.b,e.opacity)):new xi}function $3(e,t,n,r){return arguments.length===1?lpe(e):new xi(e,t,n,r??1)}function xi(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}VT(xi,$3,NF(vm,{brighter(e){return e=e==null?M1:Math.pow(M1,e),new xi(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Eg:Math.pow(Eg,e),new xi(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new xi(Hu(this.r),Hu(this.g),Hu(this.b),N1(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:vR,formatHex:vR,formatHex8:upe,formatRgb:_R,toString:_R}));function vR(){return`#${$u(this.r)}${$u(this.g)}${$u(this.b)}`}function upe(){return`#${$u(this.r)}${$u(this.g)}${$u(this.b)}${$u((isNaN(this.opacity)?1:this.opacity)*255)}`}function _R(){const e=N1(this.opacity);return`${e===1?"rgb(":"rgba("}${Hu(this.r)}, ${Hu(this.g)}, ${Hu(this.b)}${e===1?")":`, ${e})`}`}function N1(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Hu(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function $u(e){return e=Hu(e),(e<16?"0":"")+e.toString(16)}function bR(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new jo(e,t,n,r)}function LF(e){if(e instanceof jo)return new jo(e.h,e.s,e.l,e.opacity);if(e instanceof vm||(e=Pg(e)),!e)return new jo;if(e instanceof jo)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),s=NaN,a=o-i,l=(o+i)/2;return a?(t===o?s=(n-r)/a+(n0&&l<1?0:s,new jo(s,a,l,e.opacity)}function cpe(e,t,n,r){return arguments.length===1?LF(e):new jo(e,t,n,r??1)}function jo(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}VT(jo,cpe,NF(vm,{brighter(e){return e=e==null?M1:Math.pow(M1,e),new jo(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Eg:Math.pow(Eg,e),new jo(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new xi(mx(e>=240?e-240:e+120,i,r),mx(e,i,r),mx(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new jo(SR(this.h),x0(this.s),x0(this.l),N1(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=N1(this.opacity);return`${e===1?"hsl(":"hsla("}${SR(this.h)}, ${x0(this.s)*100}%, ${x0(this.l)*100}%${e===1?")":`, ${e})`}`}}));function SR(e){return e=(e||0)%360,e<0?e+360:e}function x0(e){return Math.max(0,Math.min(1,e||0))}function mx(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const DF=e=>()=>e;function dpe(e,t){return function(n){return e+n*t}}function fpe(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function hpe(e){return(e=+e)==1?$F:function(t,n){return n-t?fpe(t,n,e):DF(isNaN(t)?n:t)}}function $F(e,t){var n=t-e;return n?dpe(e,n):DF(isNaN(e)?t:e)}const wR=function e(t){var n=hpe(t);function r(i,o){var s=n((i=$3(i)).r,(o=$3(o)).r),a=n(i.g,o.g),l=n(i.b,o.b),u=$F(i.opacity,o.opacity);return function(d){return i.r=s(d),i.g=a(d),i.b=l(d),i.opacity=u(d),i+""}}return r.gamma=e,r}(1);function cl(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var F3=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,yx=new RegExp(F3.source,"g");function ppe(e){return function(){return e}}function gpe(e){return function(t){return e(t)+""}}function mpe(e,t){var n=F3.lastIndex=yx.lastIndex=0,r,i,o,s=-1,a=[],l=[];for(e=e+"",t=t+"";(r=F3.exec(e))&&(i=yx.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),a[s]?a[s]+=o:a[++s]=o),(r=r[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,l.push({i:s,x:cl(r,i)})),n=yx.lastIndex;return n180?d+=360:d-u>180&&(u+=360),p.push({i:f.push(i(f)+"rotate(",null,r)-2,x:cl(u,d)})):d&&f.push(i(f)+"rotate("+d+r)}function a(u,d,f,p){u!==d?p.push({i:f.push(i(f)+"skewX(",null,r)-2,x:cl(u,d)}):d&&f.push(i(f)+"skewX("+d+r)}function l(u,d,f,p,g,m){if(u!==f||d!==p){var v=g.push(i(g)+"scale(",null,",",null,")");m.push({i:v-4,x:cl(u,f)},{i:v-2,x:cl(d,p)})}else(f!==1||p!==1)&&g.push(i(g)+"scale("+f+","+p+")")}return function(u,d){var f=[],p=[];return u=e(u),d=e(d),o(u.translateX,u.translateY,d.translateX,d.translateY,f,p),s(u.rotate,d.rotate,f,p),a(u.skewX,d.skewX,f,p),l(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,p),u=d=null,function(g){for(var m=-1,v=p.length,x;++m=0&&e._call.call(void 0,t),e=e._next;--Ef}function TR(){oc=(D1=Rg.now())+Ob,Ef=dp=0;try{Epe()}finally{Ef=0,Ppe(),oc=0}}function Ape(){var e=Rg.now(),t=e-D1;t>UF&&(Ob-=t,D1=e)}function Ppe(){for(var e,t=L1,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:L1=n);fp=e,U3(r)}function U3(e){if(!Ef){dp&&(dp=clearTimeout(dp));var t=e-oc;t>24?(e<1/0&&(dp=setTimeout(TR,e-Rg.now()-Ob)),Gh&&(Gh=clearInterval(Gh))):(Gh||(D1=Rg.now(),Gh=setInterval(Ape,UF)),Ef=1,zF(TR))}}function ER(e,t,n){var r=new $1;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var Rpe=Pb("start","end","cancel","interrupt"),Ope=[],jF=0,AR=1,z3=2,pv=3,PR=4,V3=5,gv=6;function kb(e,t,n,r,i,o){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;kpe(e,n,{name:t,index:r,group:i,on:Rpe,tween:Ope,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:jF})}function GT(e,t){var n=ns(e,t);if(n.state>jF)throw new Error("too late; already scheduled");return n}function Bs(e,t){var n=ns(e,t);if(n.state>pv)throw new Error("too late; already running");return n}function ns(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function kpe(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=VF(o,0,n.time);function o(u){n.state=AR,n.timer.restart(s,n.delay,n.time),n.delay<=u&&s(u-n.delay)}function s(u){var d,f,p,g;if(n.state!==AR)return l();for(d in r)if(g=r[d],g.name===n.name){if(g.state===pv)return ER(s);g.state===PR?(g.state=gv,g.timer.stop(),g.on.call("interrupt",e,e.__data__,g.index,g.group),delete r[d]):+dz3&&r.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function age(e,t,n){var r,i,o=sge(t)?GT:Bs;return function(){var s=o(this,e),a=s.on;a!==r&&(i=(r=a).copy()).on(t,n),s.on=i}}function lge(e,t){var n=this._id;return arguments.length<2?ns(this.node(),n).on.on(e):this.each(age(n,e,t))}function uge(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function cge(){return this.on("end.remove",uge(this._id))}function dge(e){var t=this._name,n=this._id;typeof e!="function"&&(e=UT(e));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s()=>e;function Dge(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function ga(e,t,n){this.k=e,this.x=t,this.y=n}ga.prototype={constructor:ga,scale:function(e){return e===1?this:new ga(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new ga(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var kl=new ga(1,0,0);ga.prototype;function vx(e){e.stopImmediatePropagation()}function Hh(e){e.preventDefault(),e.stopImmediatePropagation()}function $ge(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Fge(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function RR(){return this.__zoom||kl}function Bge(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Uge(){return navigator.maxTouchPoints||"ontouchstart"in this}function zge(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function Vge(){var e=$ge,t=Fge,n=zge,r=Bge,i=Uge,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,l=Cpe,u=Pb("start","zoom","end"),d,f,p,g=500,m=150,v=0,x=10;function _(A){A.property("__zoom",RR).on("wheel.zoom",P,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",O).filter(i).on("touchstart.zoom",M).on("touchmove.zoom",G).on("touchend.zoom touchcancel.zoom",U).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}_.transform=function(A,N,F,B){var D=A.selection?A.selection():A;D.property("__zoom",RR),A!==D?C(A,N,F,B):D.interrupt().each(function(){T(this,arguments).event(B).start().zoom(null,typeof N=="function"?N.apply(this,arguments):N).end()})},_.scaleBy=function(A,N,F,B){_.scaleTo(A,function(){var D=this.__zoom.k,V=typeof N=="function"?N.apply(this,arguments):N;return D*V},F,B)},_.scaleTo=function(A,N,F,B){_.transform(A,function(){var D=t.apply(this,arguments),V=this.__zoom,j=F==null?S(D):typeof F=="function"?F.apply(this,arguments):F,q=V.invert(j),Z=typeof N=="function"?N.apply(this,arguments):N;return n(y(b(V,Z),j,q),D,s)},F,B)},_.translateBy=function(A,N,F,B){_.transform(A,function(){return n(this.__zoom.translate(typeof N=="function"?N.apply(this,arguments):N,typeof F=="function"?F.apply(this,arguments):F),t.apply(this,arguments),s)},null,B)},_.translateTo=function(A,N,F,B,D){_.transform(A,function(){var V=t.apply(this,arguments),j=this.__zoom,q=B==null?S(V):typeof B=="function"?B.apply(this,arguments):B;return n(kl.translate(q[0],q[1]).scale(j.k).translate(typeof N=="function"?-N.apply(this,arguments):-N,typeof F=="function"?-F.apply(this,arguments):-F),V,s)},B,D)};function b(A,N){return N=Math.max(o[0],Math.min(o[1],N)),N===A.k?A:new ga(N,A.x,A.y)}function y(A,N,F){var B=N[0]-F[0]*A.k,D=N[1]-F[1]*A.k;return B===A.x&&D===A.y?A:new ga(A.k,B,D)}function S(A){return[(+A[0][0]+ +A[1][0])/2,(+A[0][1]+ +A[1][1])/2]}function C(A,N,F,B){A.on("start.zoom",function(){T(this,arguments).event(B).start()}).on("interrupt.zoom end.zoom",function(){T(this,arguments).event(B).end()}).tween("zoom",function(){var D=this,V=arguments,j=T(D,V).event(B),q=t.apply(D,V),Z=F==null?S(q):typeof F=="function"?F.apply(D,V):F,ee=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),ie=D.__zoom,se=typeof N=="function"?N.apply(D,V):N,le=l(ie.invert(Z).concat(ee/ie.k),se.invert(Z).concat(ee/se.k));return function(W){if(W===1)W=se;else{var ne=le(W),fe=ee/ne[2];W=new ga(fe,Z[0]-ne[0]*fe,Z[1]-ne[1]*fe)}j.zoom(null,W)}})}function T(A,N,F){return!F&&A.__zooming||new E(A,N)}function E(A,N){this.that=A,this.args=N,this.active=0,this.sourceEvent=null,this.extent=t.apply(A,N),this.taps=0}E.prototype={event:function(A){return A&&(this.sourceEvent=A),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(A,N){return this.mouse&&A!=="mouse"&&(this.mouse[1]=N.invert(this.mouse[0])),this.touch0&&A!=="touch"&&(this.touch0[1]=N.invert(this.touch0[0])),this.touch1&&A!=="touch"&&(this.touch1[1]=N.invert(this.touch1[0])),this.that.__zoom=N,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(A){var N=Vo(this.that).datum();u.call(A,this.that,new Dge(A,{sourceEvent:this.sourceEvent,target:_,type:A,transform:this.that.__zoom,dispatch:u}),N)}};function P(A,...N){if(!e.apply(this,arguments))return;var F=T(this,N).event(A),B=this.__zoom,D=Math.max(o[0],Math.min(o[1],B.k*Math.pow(2,r.apply(this,arguments)))),V=gs(A);if(F.wheel)(F.mouse[0][0]!==V[0]||F.mouse[0][1]!==V[1])&&(F.mouse[1]=B.invert(F.mouse[0]=V)),clearTimeout(F.wheel);else{if(B.k===D)return;F.mouse=[V,B.invert(V)],mv(this),F.start()}Hh(A),F.wheel=setTimeout(j,m),F.zoom("mouse",n(y(b(B,D),F.mouse[0],F.mouse[1]),F.extent,s));function j(){F.wheel=null,F.end()}}function k(A,...N){if(p||!e.apply(this,arguments))return;var F=A.currentTarget,B=T(this,N,!0).event(A),D=Vo(A.view).on("mousemove.zoom",Z,!0).on("mouseup.zoom",ee,!0),V=gs(A,F),j=A.clientX,q=A.clientY;IF(A.view),vx(A),B.mouse=[V,this.__zoom.invert(V)],mv(this),B.start();function Z(ie){if(Hh(ie),!B.moved){var se=ie.clientX-j,le=ie.clientY-q;B.moved=se*se+le*le>v}B.event(ie).zoom("mouse",n(y(B.that.__zoom,B.mouse[0]=gs(ie,F),B.mouse[1]),B.extent,s))}function ee(ie){D.on("mousemove.zoom mouseup.zoom",null),MF(ie.view,B.moved),Hh(ie),B.event(ie).end()}}function O(A,...N){if(e.apply(this,arguments)){var F=this.__zoom,B=gs(A.changedTouches?A.changedTouches[0]:A,this),D=F.invert(B),V=F.k*(A.shiftKey?.5:2),j=n(y(b(F,V),B,D),t.apply(this,N),s);Hh(A),a>0?Vo(this).transition().duration(a).call(C,j,B,A):Vo(this).call(_.transform,j,B,A)}}function M(A,...N){if(e.apply(this,arguments)){var F=A.touches,B=F.length,D=T(this,N,A.changedTouches.length===B).event(A),V,j,q,Z;for(vx(A),j=0;j"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`},qF=Hl.error001();function Mn(e,t){const n=L.useContext(Ib);if(n===null)throw new Error(qF);return cfe(n,e,t)}const qr=()=>{const e=L.useContext(Ib);if(e===null)throw new Error(qF);return L.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},Gge=e=>e.userSelectionActive?"none":"all";function Hge({position:e,children:t,className:n,style:r,...i}){const o=Mn(Gge),s=`${e}`.split("-");return ue.jsx("div",{className:Eo(["react-flow__panel",n,...s]),style:{...r,pointerEvents:o},...i,children:t})}function Wge({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:ue.jsx(Hge,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:ue.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const qge=({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:s=[2,4],labelBgBorderRadius:a=2,children:l,className:u,...d})=>{const f=L.useRef(null),[p,g]=L.useState({x:0,y:0,width:0,height:0}),m=Eo(["react-flow__edge-textwrapper",u]);return L.useEffect(()=>{if(f.current){const v=f.current.getBBox();g({x:v.x,y:v.y,width:v.width,height:v.height})}},[n]),typeof n>"u"||!n?null:ue.jsxs("g",{transform:`translate(${e-p.width/2} ${t-p.height/2})`,className:m,visibility:p.width?"visible":"hidden",...d,children:[i&&ue.jsx("rect",{width:p.width+2*s[0],x:-s[0],y:-s[1],height:p.height+2*s[1],className:"react-flow__edge-textbg",style:o,rx:a,ry:a}),ue.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:f,style:r,children:n}),l]})};var Kge=L.memo(qge);const WT=e=>({width:e.offsetWidth,height:e.offsetHeight}),Af=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),qT=(e={x:0,y:0},t)=>({x:Af(e.x,t[0][0],t[1][0]),y:Af(e.y,t[0][1],t[1][1])}),OR=(e,t,n)=>en?-Af(Math.abs(e-n),1,50)/50:0,KF=(e,t)=>{const n=OR(e.x,35,t.width-35)*20,r=OR(e.y,35,t.height-35)*20;return[n,r]},XF=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},YF=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),F1=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),QF=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),kR=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),NIe=(e,t)=>QF(YF(F1(e),F1(t))),j3=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},Xge=e=>_o(e.width)&&_o(e.height)&&_o(e.x)&&_o(e.y),_o=e=>!isNaN(e)&&isFinite(e),nr=Symbol.for("internals"),ZF=["Enter"," ","Escape"],Yge=(e,t)=>{},Qge=e=>"nativeEvent"in e;function G3(e){var i,o;const t=Qge(e)?e.nativeEvent:e,n=((o=(i=t.composedPath)==null?void 0:i.call(t))==null?void 0:o[0])||e.target;return["INPUT","SELECT","TEXTAREA"].includes(n==null?void 0:n.nodeName)||(n==null?void 0:n.hasAttribute("contenteditable"))||!!(n!=null&&n.closest(".nokey"))}const JF=e=>"clientX"in e,Il=(e,t)=>{var o,s;const n=JF(e),r=n?e.clientX:(o=e.touches)==null?void 0:o[0].clientX,i=n?e.clientY:(s=e.touches)==null?void 0:s[0].clientY;return{x:r-((t==null?void 0:t.left)??0),y:i-((t==null?void 0:t.top)??0)}},_m=({id:e,path:t,labelX:n,labelY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:g=20})=>ue.jsxs(ue.Fragment,{children:[ue.jsx("path",{id:e,style:d,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:f,markerStart:p}),g&&ue.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:g,className:"react-flow__edge-interaction"}),i&&_o(n)&&_o(r)?ue.jsx(Kge,{x:n,y:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u}):null]});_m.displayName="BaseEdge";function Wh(e,t,n){return n===void 0?n:r=>{const i=t().edges.find(o=>o.id===e);i&&n(r,{...i})}}function eB({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,o=n{const[x,_,b]=nB({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return ue.jsx(_m,{path:x,labelX:_,labelY:b,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,interactionWidth:v})});KT.displayName="SimpleBezierEdge";const MR={[Ne.Left]:{x:-1,y:0},[Ne.Right]:{x:1,y:0},[Ne.Top]:{x:0,y:-1},[Ne.Bottom]:{x:0,y:1}},Zge=({source:e,sourcePosition:t=Ne.Bottom,target:n})=>t===Ne.Left||t===Ne.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function Jge({source:e,sourcePosition:t=Ne.Bottom,target:n,targetPosition:r=Ne.Top,center:i,offset:o}){const s=MR[t],a=MR[r],l={x:e.x+s.x*o,y:e.y+s.y*o},u={x:n.x+a.x*o,y:n.y+a.y*o},d=Zge({source:l,sourcePosition:t,target:u}),f=d.x!==0?"x":"y",p=d[f];let g=[],m,v;const[x,_,b,y]=eB({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[f]*a[f]===-1){m=i.x||x,v=i.y||_;const C=[{x:m,y:l.y},{x:m,y:u.y}],T=[{x:l.x,y:v},{x:u.x,y:v}];s[f]===p?g=f==="x"?C:T:g=f==="x"?T:C}else{const C=[{x:l.x,y:u.y}],T=[{x:u.x,y:l.y}];if(f==="x"?g=s.x===p?T:C:g=s.y===p?C:T,t!==r){const E=f==="x"?"y":"x",P=s[f]===a[E],k=l[E]>u[E],O=l[E]{let y="";return b>0&&b{const[_,b,y]=H3({sourceX:e,sourceY:t,sourcePosition:f,targetX:n,targetY:r,targetPosition:p,borderRadius:v==null?void 0:v.borderRadius,offset:v==null?void 0:v.offset});return ue.jsx(_m,{path:_,labelX:b,labelY:y,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:g,markerStart:m,interactionWidth:x})});Mb.displayName="SmoothStepEdge";const XT=L.memo(e=>{var t;return ue.jsx(Mb,{...e,pathOptions:L.useMemo(()=>{var n;return{borderRadius:0,offset:(n=e.pathOptions)==null?void 0:n.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});XT.displayName="StepEdge";function tme({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,s,a]=eB({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,s,a]}const YT=L.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:g})=>{const[m,v,x]=tme({sourceX:e,sourceY:t,targetX:n,targetY:r});return ue.jsx(_m,{path:m,labelX:v,labelY:x,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:g})});YT.displayName="StraightEdge";function E0(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function LR({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case Ne.Left:return[t-E0(t-r,o),n];case Ne.Right:return[t+E0(r-t,o),n];case Ne.Top:return[t,n-E0(n-i,o)];case Ne.Bottom:return[t,n+E0(i-n,o)]}}function rB({sourceX:e,sourceY:t,sourcePosition:n=Ne.Bottom,targetX:r,targetY:i,targetPosition:o=Ne.Top,curvature:s=.25}){const[a,l]=LR({pos:n,x1:e,y1:t,x2:r,y2:i,c:s}),[u,d]=LR({pos:o,x1:r,y1:i,x2:e,y2:t,c:s}),[f,p,g,m]=tB({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:l,targetControlX:u,targetControlY:d});return[`M${e},${t} C${a},${l} ${u},${d} ${r},${i}`,f,p,g,m]}const U1=L.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=Ne.Bottom,targetPosition:o=Ne.Top,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,pathOptions:v,interactionWidth:x})=>{const[_,b,y]=rB({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:v==null?void 0:v.curvature});return ue.jsx(_m,{path:_,labelX:b,labelY:y,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,interactionWidth:x})});U1.displayName="BezierEdge";const QT=L.createContext(null),nme=QT.Provider;QT.Consumer;const rme=()=>L.useContext(QT),ime=e=>"id"in e&&"source"in e&&"target"in e,ome=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,W3=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`,sme=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),iB=(e,t)=>{if(!e.source||!e.target)return t;let n;return ime(e)?n={...e}:n={...e,id:ome(e)},sme(n,t)?t:t.concat(n)},oB=({x:e,y:t},[n,r,i],o,[s,a])=>{const l={x:(e-n)/i,y:(t-r)/i};return o?{x:s*Math.round(l.x/s),y:a*Math.round(l.y/a)}:l},ame=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),rf=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=(e.width??0)*t[0],r=(e.height??0)*t[1],i={x:e.position.x-n,y:e.position.y-r};return{...i,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:i}},sB=(e,t=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,i)=>{const{x:o,y:s}=rf(i,t).positionAbsolute;return YF(r,F1({x:o,y:s,width:i.width||0,height:i.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return QF(n)},aB=(e,t,[n,r,i]=[0,0,1],o=!1,s=!1,a=[0,0])=>{const l={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},u=[];return e.forEach(d=>{const{width:f,height:p,selectable:g=!0,hidden:m=!1}=d;if(s&&!g||m)return!1;const{positionAbsolute:v}=rf(d,a),x={x:v.x,y:v.y,width:f||0,height:p||0},_=j3(l,x),b=typeof f>"u"||typeof p>"u"||f===null||p===null,y=o&&_>0,S=(f||0)*(p||0);(b||y||_>=S||d.dragging)&&u.push(d)}),u},lB=(e,t)=>{const n=e.map(r=>r.id);return t.filter(r=>n.includes(r.source)||n.includes(r.target))},uB=(e,t,n,r,i,o=.1)=>{const s=t/(e.width*(1+o)),a=n/(e.height*(1+o)),l=Math.min(s,a),u=Af(l,r,i),d=e.x+e.width/2,f=e.y+e.height/2,p=t/2-d*u,g=n/2-f*u;return[p,g,u]},Au=(e,t=0)=>e.transition().duration(t);function DR(e,t,n,r){return(t[n]||[]).reduce((i,o)=>{var s,a;return`${e.id}-${o.id}-${n}`!==r&&i.push({id:o.id||null,type:n,nodeId:e.id,x:(((s=e.positionAbsolute)==null?void 0:s.x)??0)+o.x+o.width/2,y:(((a=e.positionAbsolute)==null?void 0:a.y)??0)+o.y+o.height/2}),i},[])}function lme(e,t,n,r,i,o){const{x:s,y:a}=Il(e),u=t.elementsFromPoint(s,a).find(m=>m.classList.contains("react-flow__handle"));if(u){const m=u.getAttribute("data-nodeid");if(m){const v=ZT(void 0,u),x=u.getAttribute("data-handleid"),_=o({nodeId:m,id:x,type:v});if(_)return{handle:{id:x,type:v,nodeId:m,x:n.x,y:n.y},validHandleResult:_}}}let d=[],f=1/0;if(i.forEach(m=>{const v=Math.sqrt((m.x-n.x)**2+(m.y-n.y)**2);if(v<=r){const x=o(m);v<=f&&(vm.isValid),g=d.some(({handle:m})=>m.type==="target");return d.find(({handle:m,validHandleResult:v})=>g?m.type==="target":p?v.isValid:!0)||d[0]}const ume={source:null,target:null,sourceHandle:null,targetHandle:null},cB=()=>({handleDomNode:null,isValid:!1,connection:ume,endHandle:null});function dB(e,t,n,r,i,o,s){const a=i==="target",l=s.querySelector(`.react-flow__handle[data-id="${e==null?void 0:e.nodeId}-${e==null?void 0:e.id}-${e==null?void 0:e.type}"]`),u={...cB(),handleDomNode:l};if(l){const d=ZT(void 0,l),f=l.getAttribute("data-nodeid"),p=l.getAttribute("data-handleid"),g=l.classList.contains("connectable"),m=l.classList.contains("connectableend"),v={source:a?f:n,sourceHandle:a?p:r,target:a?n:f,targetHandle:a?r:p};u.connection=v,g&&m&&(t===sc.Strict?a&&d==="source"||!a&&d==="target":f!==n||p!==r)&&(u.endHandle={nodeId:f,handleId:p,type:d},u.isValid=o(v))}return u}function cme({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((i,o)=>{if(o[nr]){const{handleBounds:s}=o[nr];let a=[],l=[];s&&(a=DR(o,s,"source",`${t}-${n}-${r}`),l=DR(o,s,"target",`${t}-${n}-${r}`)),i.push(...a,...l)}return i},[])}function ZT(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function _x(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function dme(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function fB({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:s,isValidConnection:a,edgeUpdaterType:l,onEdgeUpdateEnd:u}){const d=XF(e.target),{connectionMode:f,domNode:p,autoPanOnConnect:g,connectionRadius:m,onConnectStart:v,panBy:x,getNodes:_,cancelConnection:b}=o();let y=0,S;const{x:C,y:T}=Il(e),E=d==null?void 0:d.elementFromPoint(C,T),P=ZT(l,E),k=p==null?void 0:p.getBoundingClientRect();if(!k||!P)return;let O,M=Il(e,k),G=!1,U=null,A=!1,N=null;const F=cme({nodes:_(),nodeId:n,handleId:t,handleType:P}),B=()=>{if(!g)return;const[j,q]=KF(M,k);x({x:j,y:q}),y=requestAnimationFrame(B)};s({connectionPosition:M,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:P,connectionStartHandle:{nodeId:n,handleId:t,type:P},connectionEndHandle:null}),v==null||v(e,{nodeId:n,handleId:t,handleType:P});function D(j){const{transform:q}=o();M=Il(j,k);const{handle:Z,validHandleResult:ee}=lme(j,d,oB(M,q,!1,[1,1]),m,F,ie=>dB(ie,f,n,t,i?"target":"source",a,d));if(S=Z,G||(B(),G=!0),N=ee.handleDomNode,U=ee.connection,A=ee.isValid,s({connectionPosition:S&&A?ame({x:S.x,y:S.y},q):M,connectionStatus:dme(!!S,A),connectionEndHandle:ee.endHandle}),!S&&!A&&!N)return _x(O);U.source!==U.target&&N&&(_x(O),O=N,N.classList.add("connecting","react-flow__handle-connecting"),N.classList.toggle("valid",A),N.classList.toggle("react-flow__handle-valid",A))}function V(j){var q,Z;(S||N)&&U&&A&&(r==null||r(U)),(Z=(q=o()).onConnectEnd)==null||Z.call(q,j),l&&(u==null||u(j)),_x(O),b(),cancelAnimationFrame(y),G=!1,A=!1,U=null,N=null,d.removeEventListener("mousemove",D),d.removeEventListener("mouseup",V),d.removeEventListener("touchmove",D),d.removeEventListener("touchend",V)}d.addEventListener("mousemove",D),d.addEventListener("mouseup",V),d.addEventListener("touchmove",D),d.addEventListener("touchend",V)}const $R=()=>!0,fme=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),hme=(e,t,n)=>r=>{const{connectionStartHandle:i,connectionEndHandle:o,connectionClickStartHandle:s}=r;return{connecting:(i==null?void 0:i.nodeId)===e&&(i==null?void 0:i.handleId)===t&&(i==null?void 0:i.type)===n||(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.handleId)===t&&(o==null?void 0:o.type)===n,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.handleId)===t&&(s==null?void 0:s.type)===n}},hB=L.forwardRef(({type:e="source",position:t=Ne.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:o=!0,id:s,onConnect:a,children:l,className:u,onMouseDown:d,onTouchStart:f,...p},g)=>{var k,O;const m=s||null,v=e==="target",x=qr(),_=rme(),{connectOnClick:b,noPanClassName:y}=Mn(fme,Ri),{connecting:S,clickConnecting:C}=Mn(hme(_,m,e),Ri);_||(O=(k=x.getState()).onError)==null||O.call(k,"010",Hl.error010());const T=M=>{const{defaultEdgeOptions:G,onConnect:U,hasDefaultEdges:A}=x.getState(),N={...G,...M};if(A){const{edges:F,setEdges:B}=x.getState();B(iB(N,F))}U==null||U(N),a==null||a(N)},E=M=>{if(!_)return;const G=JF(M);i&&(G&&M.button===0||!G)&&fB({event:M,handleId:m,nodeId:_,onConnect:T,isTarget:v,getState:x.getState,setState:x.setState,isValidConnection:n||x.getState().isValidConnection||$R}),G?d==null||d(M):f==null||f(M)},P=M=>{const{onClickConnectStart:G,onClickConnectEnd:U,connectionClickStartHandle:A,connectionMode:N,isValidConnection:F}=x.getState();if(!_||!A&&!i)return;if(!A){G==null||G(M,{nodeId:_,handleId:m,handleType:e}),x.setState({connectionClickStartHandle:{nodeId:_,type:e,handleId:m}});return}const B=XF(M.target),D=n||F||$R,{connection:V,isValid:j}=dB({nodeId:_,id:m,type:e},N,A.nodeId,A.handleId||null,A.type,D,B);j&&T(V),U==null||U(M),x.setState({connectionClickStartHandle:null})};return ue.jsx("div",{"data-handleid":m,"data-nodeid":_,"data-handlepos":t,"data-id":`${_}-${m}-${e}`,className:Eo(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",y,u,{source:!v,target:v,connectable:r,connectablestart:i,connectableend:o,connecting:C,connectionindicator:r&&(i&&!S||o&&S)}]),onMouseDown:E,onTouchStart:E,onClick:b?P:void 0,ref:g,...p,children:l})});hB.displayName="Handle";var z1=L.memo(hB);const pB=({data:e,isConnectable:t,targetPosition:n=Ne.Top,sourcePosition:r=Ne.Bottom})=>ue.jsxs(ue.Fragment,{children:[ue.jsx(z1,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,ue.jsx(z1,{type:"source",position:r,isConnectable:t})]});pB.displayName="DefaultNode";var q3=L.memo(pB);const gB=({data:e,isConnectable:t,sourcePosition:n=Ne.Bottom})=>ue.jsxs(ue.Fragment,{children:[e==null?void 0:e.label,ue.jsx(z1,{type:"source",position:n,isConnectable:t})]});gB.displayName="InputNode";var mB=L.memo(gB);const yB=({data:e,isConnectable:t,targetPosition:n=Ne.Top})=>ue.jsxs(ue.Fragment,{children:[ue.jsx(z1,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]});yB.displayName="OutputNode";var vB=L.memo(yB);const JT=()=>null;JT.displayName="GroupNode";const pme=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected)}),A0=e=>e.id;function gme(e,t){return Ri(e.selectedNodes.map(A0),t.selectedNodes.map(A0))&&Ri(e.selectedEdges.map(A0),t.selectedEdges.map(A0))}const _B=L.memo(({onSelectionChange:e})=>{const t=qr(),{selectedNodes:n,selectedEdges:r}=Mn(pme,gme);return L.useEffect(()=>{var o,s;const i={nodes:n,edges:r};e==null||e(i),(s=(o=t.getState()).onSelectionChange)==null||s.call(o,i)},[n,r,e]),null});_B.displayName="SelectionListener";const mme=e=>!!e.onSelectionChange;function yme({onSelectionChange:e}){const t=Mn(mme);return e||t?ue.jsx(_B,{onSelectionChange:e}):null}const vme=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function rd(e,t){L.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function at(e,t,n){L.useEffect(()=>{typeof t<"u"&&n({[e]:t})},[t])}const _me=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:s,onClickConnectStart:a,onClickConnectEnd:l,nodesDraggable:u,nodesConnectable:d,nodesFocusable:f,edgesFocusable:p,edgesUpdatable:g,elevateNodesOnSelect:m,minZoom:v,maxZoom:x,nodeExtent:_,onNodesChange:b,onEdgesChange:y,elementsSelectable:S,connectionMode:C,snapGrid:T,snapToGrid:E,translateExtent:P,connectOnClick:k,defaultEdgeOptions:O,fitView:M,fitViewOptions:G,onNodesDelete:U,onEdgesDelete:A,onNodeDrag:N,onNodeDragStart:F,onNodeDragStop:B,onSelectionDrag:D,onSelectionDragStart:V,onSelectionDragStop:j,noPanClassName:q,nodeOrigin:Z,rfId:ee,autoPanOnConnect:ie,autoPanOnNodeDrag:se,onError:le,connectionRadius:W,isValidConnection:ne})=>{const{setNodes:fe,setEdges:pe,setDefaultNodesAndEdges:ve,setMinZoom:ye,setMaxZoom:We,setTranslateExtent:Me,setNodeExtent:Ee,reset:lt}=Mn(vme,Ri),_e=qr();return L.useEffect(()=>{const jt=r==null?void 0:r.map(Hn=>({...Hn,...O}));return ve(n,jt),()=>{lt()}},[]),at("defaultEdgeOptions",O,_e.setState),at("connectionMode",C,_e.setState),at("onConnect",i,_e.setState),at("onConnectStart",o,_e.setState),at("onConnectEnd",s,_e.setState),at("onClickConnectStart",a,_e.setState),at("onClickConnectEnd",l,_e.setState),at("nodesDraggable",u,_e.setState),at("nodesConnectable",d,_e.setState),at("nodesFocusable",f,_e.setState),at("edgesFocusable",p,_e.setState),at("edgesUpdatable",g,_e.setState),at("elementsSelectable",S,_e.setState),at("elevateNodesOnSelect",m,_e.setState),at("snapToGrid",E,_e.setState),at("snapGrid",T,_e.setState),at("onNodesChange",b,_e.setState),at("onEdgesChange",y,_e.setState),at("connectOnClick",k,_e.setState),at("fitViewOnInit",M,_e.setState),at("fitViewOnInitOptions",G,_e.setState),at("onNodesDelete",U,_e.setState),at("onEdgesDelete",A,_e.setState),at("onNodeDrag",N,_e.setState),at("onNodeDragStart",F,_e.setState),at("onNodeDragStop",B,_e.setState),at("onSelectionDrag",D,_e.setState),at("onSelectionDragStart",V,_e.setState),at("onSelectionDragStop",j,_e.setState),at("noPanClassName",q,_e.setState),at("nodeOrigin",Z,_e.setState),at("rfId",ee,_e.setState),at("autoPanOnConnect",ie,_e.setState),at("autoPanOnNodeDrag",se,_e.setState),at("onError",le,_e.setState),at("connectionRadius",W,_e.setState),at("isValidConnection",ne,_e.setState),rd(e,fe),rd(t,pe),rd(v,ye),rd(x,We),rd(P,Me),rd(_,Ee),null},FR={display:"none"},bme={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},bB="react-flow__node-desc",SB="react-flow__edge-desc",Sme="react-flow__aria-live",wme=e=>e.ariaLiveMessage;function xme({rfId:e}){const t=Mn(wme);return ue.jsx("div",{id:`${Sme}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:bme,children:t})}function Cme({rfId:e,disableKeyboardA11y:t}){return ue.jsxs(ue.Fragment,{children:[ue.jsxs("div",{id:`${bB}-${e}`,style:FR,children:["Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "]}),ue.jsx("div",{id:`${SB}-${e}`,style:FR,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!t&&ue.jsx(xme,{rfId:e})]})}const Tme=(e,t,n)=>n===Ne.Left?e-t:n===Ne.Right?e+t:e,Eme=(e,t,n)=>n===Ne.Top?e-t:n===Ne.Bottom?e+t:e,BR="react-flow__edgeupdater",UR=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:s,type:a})=>ue.jsx("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:s,className:Eo([BR,`${BR}-${a}`]),cx:Tme(t,r,e),cy:Eme(n,r,e),r,stroke:"transparent",fill:"transparent"}),Ame=()=>!0;var id=e=>{const t=({id:n,className:r,type:i,data:o,onClick:s,onEdgeDoubleClick:a,selected:l,animated:u,label:d,labelStyle:f,labelShowBg:p,labelBgStyle:g,labelBgPadding:m,labelBgBorderRadius:v,style:x,source:_,target:b,sourceX:y,sourceY:S,targetX:C,targetY:T,sourcePosition:E,targetPosition:P,elementsSelectable:k,hidden:O,sourceHandleId:M,targetHandleId:G,onContextMenu:U,onMouseEnter:A,onMouseMove:N,onMouseLeave:F,edgeUpdaterRadius:B,onEdgeUpdate:D,onEdgeUpdateStart:V,onEdgeUpdateEnd:j,markerEnd:q,markerStart:Z,rfId:ee,ariaLabel:ie,isFocusable:se,isUpdatable:le,pathOptions:W,interactionWidth:ne})=>{const fe=L.useRef(null),[pe,ve]=L.useState(!1),[ye,We]=L.useState(!1),Me=qr(),Ee=L.useMemo(()=>`url(#${W3(Z,ee)})`,[Z,ee]),lt=L.useMemo(()=>`url(#${W3(q,ee)})`,[q,ee]);if(O)return null;const _e=sn=>{const{edges:Gt,addSelectedEdges:vr}=Me.getState();if(k&&(Me.setState({nodesSelectionActive:!1}),vr([n])),s){const Lr=Gt.find(Xr=>Xr.id===n);s(sn,Lr)}},jt=Wh(n,Me.getState,a),Hn=Wh(n,Me.getState,U),Bt=Wh(n,Me.getState,A),it=Wh(n,Me.getState,N),gt=Wh(n,Me.getState,F),Jt=(sn,Gt)=>{if(sn.button!==0)return;const{edges:vr,isValidConnection:Lr}=Me.getState(),Xr=Gt?b:_,Ii=(Gt?G:M)||null,En=Gt?"target":"source",Yr=Lr||Ame,Vs=Gt,Ji=vr.find(Ot=>Ot.id===n);We(!0),V==null||V(sn,Ji,En);const js=Ot=>{We(!1),j==null||j(Ot,Ji,En)};fB({event:sn,handleId:Ii,nodeId:Xr,onConnect:Ot=>D==null?void 0:D(Ji,Ot),isTarget:Vs,getState:Me.getState,setState:Me.setState,isValidConnection:Yr,edgeUpdaterType:En,onEdgeUpdateEnd:js})},Nr=sn=>Jt(sn,!0),yr=sn=>Jt(sn,!1),hi=()=>ve(!0),wn=()=>ve(!1),on=!k&&!s,Wn=sn=>{var Gt;if(ZF.includes(sn.key)&&k){const{unselectNodesAndEdges:vr,addSelectedEdges:Lr,edges:Xr}=Me.getState();sn.key==="Escape"?((Gt=fe.current)==null||Gt.blur(),vr({edges:[Xr.find(En=>En.id===n)]})):Lr([n])}};return ue.jsxs("g",{className:Eo(["react-flow__edge",`react-flow__edge-${i}`,r,{selected:l,animated:u,inactive:on,updating:pe}]),onClick:_e,onDoubleClick:jt,onContextMenu:Hn,onMouseEnter:Bt,onMouseMove:it,onMouseLeave:gt,onKeyDown:se?Wn:void 0,tabIndex:se?0:void 0,role:se?"button":void 0,"data-testid":`rf__edge-${n}`,"aria-label":ie===null?void 0:ie||`Edge from ${_} to ${b}`,"aria-describedby":se?`${SB}-${ee}`:void 0,ref:fe,children:[!ye&&ue.jsx(e,{id:n,source:_,target:b,selected:l,animated:u,label:d,labelStyle:f,labelShowBg:p,labelBgStyle:g,labelBgPadding:m,labelBgBorderRadius:v,data:o,style:x,sourceX:y,sourceY:S,targetX:C,targetY:T,sourcePosition:E,targetPosition:P,sourceHandleId:M,targetHandleId:G,markerStart:Ee,markerEnd:lt,pathOptions:W,interactionWidth:ne}),le&&ue.jsxs(ue.Fragment,{children:[(le==="source"||le===!0)&&ue.jsx(UR,{position:E,centerX:y,centerY:S,radius:B,onMouseDown:Nr,onMouseEnter:hi,onMouseOut:wn,type:"source"}),(le==="target"||le===!0)&&ue.jsx(UR,{position:P,centerX:C,centerY:T,radius:B,onMouseDown:yr,onMouseEnter:hi,onMouseOut:wn,type:"target"})]})]})};return t.displayName="EdgeWrapper",L.memo(t)};function Pme(e){const t={default:id(e.default||U1),straight:id(e.bezier||YT),step:id(e.step||XT),smoothstep:id(e.step||Mb),simplebezier:id(e.simplebezier||KT)},n={},r=Object.keys(e).filter(i=>!["default","bezier"].includes(i)).reduce((i,o)=>(i[o]=id(e[o]||U1),i),n);return{...t,...r}}function zR(e,t,n=null){const r=((n==null?void 0:n.x)||0)+t.x,i=((n==null?void 0:n.y)||0)+t.y,o=(n==null?void 0:n.width)||t.width,s=(n==null?void 0:n.height)||t.height;switch(e){case Ne.Top:return{x:r+o/2,y:i};case Ne.Right:return{x:r+o,y:i+s/2};case Ne.Bottom:return{x:r+o/2,y:i+s};case Ne.Left:return{x:r,y:i+s/2}}}function VR(e,t){return e?e.length===1||!t?e[0]:t&&e.find(n=>n.id===t)||null:null}const Rme=(e,t,n,r,i,o)=>{const s=zR(n,e,t),a=zR(o,r,i);return{sourceX:s.x,sourceY:s.y,targetX:a.x,targetY:a.y}};function Ome({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:o,width:s,height:a,transform:l}){const u={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+r,t.y+o)};u.x===u.x2&&(u.x2+=1),u.y===u.y2&&(u.y2+=1);const d=F1({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:s/l[2],height:a/l[2]}),f=Math.max(0,Math.min(d.x2,u.x2)-Math.max(d.x,u.x)),p=Math.max(0,Math.min(d.y2,u.y2)-Math.max(d.y,u.y));return Math.ceil(f*p)>0}function jR(e){var r,i,o,s,a;const t=((r=e==null?void 0:e[nr])==null?void 0:r.handleBounds)||null,n=t&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((i=e==null?void 0:e.positionAbsolute)==null?void 0:i.x)<"u"&&typeof((o=e==null?void 0:e.positionAbsolute)==null?void 0:o.y)<"u";return[{x:((s=e==null?void 0:e.positionAbsolute)==null?void 0:s.x)||0,y:((a=e==null?void 0:e.positionAbsolute)==null?void 0:a.y)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0},t,!!n]}function wB(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return n?n.selected?!0:wB(n,t):!1}function GR(e,t,n){let r=e;do{if(r!=null&&r.matches(t))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function kme(e,t,n,r){return Array.from(e.values()).filter(i=>(i.selected||i.id===r)&&(!i.parentNode||!wB(i,e))&&(i.draggable||t&&typeof i.draggable>"u")).map(i=>{var o,s;return{id:i.id,position:i.position||{x:0,y:0},positionAbsolute:i.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((o=i.positionAbsolute)==null?void 0:o.x)??0),y:n.y-(((s=i.positionAbsolute)==null?void 0:s.y)??0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode,width:i.width,height:i.height}})}function Ime(e,t){return!t||t==="parent"?t:[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]}function xB(e,t,n,r,i=[0,0],o){const s=Ime(e,e.extent||r);let a=s;if(e.extent==="parent")if(e.parentNode&&e.width&&e.height){const d=n.get(e.parentNode),{x:f,y:p}=rf(d,i).positionAbsolute;a=d&&_o(f)&&_o(p)&&_o(d.width)&&_o(d.height)?[[f+e.width*i[0],p+e.height*i[1]],[f+d.width-e.width+e.width*i[0],p+d.height-e.height+e.height*i[1]]]:a}else o==null||o("005",Hl.error005()),a=s;else if(e.extent&&e.parentNode){const d=n.get(e.parentNode),{x:f,y:p}=rf(d,i).positionAbsolute;a=[[e.extent[0][0]+f,e.extent[0][1]+p],[e.extent[1][0]+f,e.extent[1][1]+p]]}let l={x:0,y:0};if(e.parentNode){const d=n.get(e.parentNode);l=rf(d,i).positionAbsolute}const u=a?qT(t,a):t;return{position:{x:u.x-l.x,y:u.y-l.y},positionAbsolute:u}}function bx({nodeId:e,dragItems:t,nodeInternals:n}){const r=t.map(i=>({...n.get(i.id),position:i.position,positionAbsolute:i.positionAbsolute}));return[e?r.find(i=>i.id===e):r[0],r]}const HR=(e,t,n,r)=>{const i=t.querySelectorAll(e);if(!i||!i.length)return null;const o=Array.from(i),s=t.getBoundingClientRect(),a={x:s.width*r[0],y:s.height*r[1]};return o.map(l=>{const u=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),position:l.getAttribute("data-handlepos"),x:(u.left-s.left-a.x)/n,y:(u.top-s.top-a.y)/n,...WT(l)}})};function qh(e,t,n){return n===void 0?n:r=>{const i=t().nodeInternals.get(e);n(r,{...i})}}function K3({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:i,unselectNodesAndEdges:o,multiSelectionActive:s,nodeInternals:a}=t.getState(),l=a.get(e);t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&s)&&(o({nodes:[l]}),requestAnimationFrame(()=>{var u;return(u=r==null?void 0:r.current)==null?void 0:u.blur()})):i([e])}function Mme(){const e=qr();return L.useCallback(({sourceEvent:n})=>{const{transform:r,snapGrid:i,snapToGrid:o}=e.getState(),s=n.touches?n.touches[0].clientX:n.clientX,a=n.touches?n.touches[0].clientY:n.clientY,l={x:(s-r[0])/r[2],y:(a-r[1])/r[2]};return{xSnapped:o?i[0]*Math.round(l.x/i[0]):l.x,ySnapped:o?i[1]*Math.round(l.y/i[1]):l.y,...l}},[])}function Sx(e){return(t,n,r)=>e==null?void 0:e(t,r)}function CB({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:s}){const a=qr(),[l,u]=L.useState(!1),d=L.useRef([]),f=L.useRef({x:null,y:null}),p=L.useRef(0),g=L.useRef(null),m=L.useRef({x:0,y:0}),v=L.useRef(null),x=L.useRef(!1),_=Mme();return L.useEffect(()=>{if(e!=null&&e.current){const b=Vo(e.current),y=({x:C,y:T})=>{const{nodeInternals:E,onNodeDrag:P,onSelectionDrag:k,updateNodePositions:O,nodeExtent:M,snapGrid:G,snapToGrid:U,nodeOrigin:A,onError:N}=a.getState();f.current={x:C,y:T};let F=!1;if(d.current=d.current.map(D=>{const V={x:C-D.distance.x,y:T-D.distance.y};U&&(V.x=G[0]*Math.round(V.x/G[0]),V.y=G[1]*Math.round(V.y/G[1]));const j=xB(D,V,E,M,A,N);return F=F||D.position.x!==j.position.x||D.position.y!==j.position.y,D.position=j.position,D.positionAbsolute=j.positionAbsolute,D}),!F)return;O(d.current,!0,!0),u(!0);const B=i?P:Sx(k);if(B&&v.current){const[D,V]=bx({nodeId:i,dragItems:d.current,nodeInternals:E});B(v.current,D,V)}},S=()=>{if(!g.current)return;const[C,T]=KF(m.current,g.current);if(C!==0||T!==0){const{transform:E,panBy:P}=a.getState();f.current.x=(f.current.x??0)-C/E[2],f.current.y=(f.current.y??0)-T/E[2],P({x:C,y:T})&&y(f.current)}p.current=requestAnimationFrame(S)};if(t)b.on(".drag",null);else{const C=Zhe().on("start",T=>{var F;const{nodeInternals:E,multiSelectionActive:P,domNode:k,nodesDraggable:O,unselectNodesAndEdges:M,onNodeDragStart:G,onSelectionDragStart:U}=a.getState(),A=i?G:Sx(U);!s&&!P&&i&&((F=E.get(i))!=null&&F.selected||M()),i&&o&&s&&K3({id:i,store:a,nodeRef:e});const N=_(T);if(f.current=N,d.current=kme(E,O,N,i),A&&d.current){const[B,D]=bx({nodeId:i,dragItems:d.current,nodeInternals:E});A(T.sourceEvent,B,D)}g.current=(k==null?void 0:k.getBoundingClientRect())||null,m.current=Il(T.sourceEvent,g.current)}).on("drag",T=>{const E=_(T),{autoPanOnNodeDrag:P}=a.getState();!x.current&&P&&(x.current=!0,S()),(f.current.x!==E.xSnapped||f.current.y!==E.ySnapped)&&d.current&&(v.current=T.sourceEvent,m.current=Il(T.sourceEvent,g.current),y(E))}).on("end",T=>{if(u(!1),x.current=!1,cancelAnimationFrame(p.current),d.current){const{updateNodePositions:E,nodeInternals:P,onNodeDragStop:k,onSelectionDragStop:O}=a.getState(),M=i?k:Sx(O);if(E(d.current,!1,!1),M){const[G,U]=bx({nodeId:i,dragItems:d.current,nodeInternals:P});M(T.sourceEvent,G,U)}}}).filter(T=>{const E=T.target;return!T.button&&(!n||!GR(E,`.${n}`,e))&&(!r||GR(E,r,e))});return b.call(C),()=>{b.on(".drag",null)}}}},[e,t,n,r,o,a,i,s,_]),l}function TB(){const e=qr();return L.useCallback(n=>{const{nodeInternals:r,nodeExtent:i,updateNodePositions:o,getNodes:s,snapToGrid:a,snapGrid:l,onError:u,nodesDraggable:d}=e.getState(),f=s().filter(b=>b.selected&&(b.draggable||d&&typeof b.draggable>"u")),p=a?l[0]:5,g=a?l[1]:5,m=n.isShiftPressed?4:1,v=n.x*p*m,x=n.y*g*m,_=f.map(b=>{if(b.positionAbsolute){const y={x:b.positionAbsolute.x+v,y:b.positionAbsolute.y+x};a&&(y.x=l[0]*Math.round(y.x/l[0]),y.y=l[1]*Math.round(y.y/l[1]));const{positionAbsolute:S,position:C}=xB(b,y,r,i,void 0,u);b.position=C,b.positionAbsolute=S}return b});o(_,!0,!1)},[])}const of={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var Kh=e=>{const t=({id:n,type:r,data:i,xPos:o,yPos:s,xPosOrigin:a,yPosOrigin:l,selected:u,onClick:d,onMouseEnter:f,onMouseMove:p,onMouseLeave:g,onContextMenu:m,onDoubleClick:v,style:x,className:_,isDraggable:b,isSelectable:y,isConnectable:S,isFocusable:C,selectNodesOnDrag:T,sourcePosition:E,targetPosition:P,hidden:k,resizeObserver:O,dragHandle:M,zIndex:G,isParent:U,noDragClassName:A,noPanClassName:N,initialized:F,disableKeyboardA11y:B,ariaLabel:D,rfId:V})=>{const j=qr(),q=L.useRef(null),Z=L.useRef(E),ee=L.useRef(P),ie=L.useRef(r),se=y||b||d||f||p||g,le=TB(),W=qh(n,j.getState,f),ne=qh(n,j.getState,p),fe=qh(n,j.getState,g),pe=qh(n,j.getState,m),ve=qh(n,j.getState,v),ye=Ee=>{if(y&&(!T||!b)&&K3({id:n,store:j,nodeRef:q}),d){const lt=j.getState().nodeInternals.get(n);d(Ee,{...lt})}},We=Ee=>{if(!G3(Ee))if(ZF.includes(Ee.key)&&y){const lt=Ee.key==="Escape";K3({id:n,store:j,unselect:lt,nodeRef:q})}else!B&&b&&u&&Object.prototype.hasOwnProperty.call(of,Ee.key)&&(j.setState({ariaLiveMessage:`Moved selected node ${Ee.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~s}`}),le({x:of[Ee.key].x,y:of[Ee.key].y,isShiftPressed:Ee.shiftKey}))};L.useEffect(()=>{if(q.current&&!k){const Ee=q.current;return O==null||O.observe(Ee),()=>O==null?void 0:O.unobserve(Ee)}},[k]),L.useEffect(()=>{const Ee=ie.current!==r,lt=Z.current!==E,_e=ee.current!==P;q.current&&(Ee||lt||_e)&&(Ee&&(ie.current=r),lt&&(Z.current=E),_e&&(ee.current=P),j.getState().updateNodeDimensions([{id:n,nodeElement:q.current,forceUpdate:!0}]))},[n,r,E,P]);const Me=CB({nodeRef:q,disabled:k||!b,noDragClassName:A,handleSelector:M,nodeId:n,isSelectable:y,selectNodesOnDrag:T});return k?null:ue.jsx("div",{className:Eo(["react-flow__node",`react-flow__node-${r}`,{[N]:b},_,{selected:u,selectable:y,parent:U,dragging:Me}]),ref:q,style:{zIndex:G,transform:`translate(${a}px,${l}px)`,pointerEvents:se?"all":"none",visibility:F?"visible":"hidden",...x},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:W,onMouseMove:ne,onMouseLeave:fe,onContextMenu:pe,onClick:ye,onDoubleClick:ve,onKeyDown:C?We:void 0,tabIndex:C?0:void 0,role:C?"button":void 0,"aria-describedby":B?void 0:`${bB}-${V}`,"aria-label":D,children:ue.jsx(nme,{value:n,children:ue.jsx(e,{id:n,data:i,type:r,xPos:o,yPos:s,selected:u,isConnectable:S,sourcePosition:E,targetPosition:P,dragging:Me,dragHandle:M,zIndex:G})})})};return t.displayName="NodeWrapper",L.memo(t)};function Nme(e){const t={input:Kh(e.input||mB),default:Kh(e.default||q3),output:Kh(e.output||vB),group:Kh(e.group||JT)},n={},r=Object.keys(e).filter(i=>!["input","default","output","group"].includes(i)).reduce((i,o)=>(i[o]=Kh(e[o]||q3),i),n);return{...t,...r}}const Lme=({x:e,y:t,width:n,height:r,origin:i})=>!n||!r?{x:e,y:t}:i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:e,y:t}:{x:e-n*i[0],y:t-r*i[1]},Dme=typeof document<"u"?document:null;var kg=(e=null,t={target:Dme})=>{const[n,r]=L.useState(!1),i=L.useRef(!1),o=L.useRef(new Set([])),[s,a]=L.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.split("+")),d=u.reduce((f,p)=>f.concat(...p),[]);return[u,d]}return[[],[]]},[e]);return L.useEffect(()=>{var l,u;if(e!==null){const d=g=>{if(i.current=g.ctrlKey||g.metaKey||g.shiftKey,!i.current&&G3(g))return!1;const m=qR(g.code,a);o.current.add(g[m]),WR(s,o.current,!1)&&(g.preventDefault(),r(!0))},f=g=>{if(!i.current&&G3(g))return!1;const m=qR(g.code,a);WR(s,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(g[m]),i.current=!1},p=()=>{o.current.clear(),r(!1)};return(l=t==null?void 0:t.target)==null||l.addEventListener("keydown",d),(u=t==null?void 0:t.target)==null||u.addEventListener("keyup",f),window.addEventListener("blur",p),()=>{var g,m;(g=t==null?void 0:t.target)==null||g.removeEventListener("keydown",d),(m=t==null?void 0:t.target)==null||m.removeEventListener("keyup",f),window.removeEventListener("blur",p)}}},[e,r]),n};function WR(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function qR(e,t){return t.includes(e)?"code":"key"}function EB(e,t,n,r){var s,a;if(!e.parentNode)return n;const i=t.get(e.parentNode),o=rf(i,r);return EB(i,t,{x:(n.x??0)+o.x,y:(n.y??0)+o.y,z:(((s=i[nr])==null?void 0:s.z)??0)>(n.z??0)?((a=i[nr])==null?void 0:a.z)??0:n.z??0},r)}function AB(e,t,n){e.forEach(r=>{var i;if(r.parentNode&&!e.has(r.parentNode))throw new Error(`Parent node ${r.parentNode} not found`);if(r.parentNode||n!=null&&n[r.id]){const{x:o,y:s,z:a}=EB(r,e,{...r.position,z:((i=r[nr])==null?void 0:i.z)??0},t);r.positionAbsolute={x:o,y:s},r[nr].z=a,n!=null&&n[r.id]&&(r[nr].isParent=!0)}})}function wx(e,t,n,r){const i=new Map,o={},s=r?1e3:0;return e.forEach(a=>{var f;const l=(_o(a.zIndex)?a.zIndex:0)+(a.selected?s:0),u=t.get(a.id),d={width:u==null?void 0:u.width,height:u==null?void 0:u.height,...a,positionAbsolute:{x:a.position.x,y:a.position.y}};a.parentNode&&(d.parentNode=a.parentNode,o[a.parentNode]=!0),Object.defineProperty(d,nr,{enumerable:!1,value:{handleBounds:(f=u==null?void 0:u[nr])==null?void 0:f.handleBounds,z:l}}),i.set(a.id,d)}),AB(i,n,o),i}function PB(e,t={}){const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:s,d3Zoom:a,d3Selection:l,fitViewOnInitDone:u,fitViewOnInit:d,nodeOrigin:f}=e(),p=t.initial&&!u&&d;if(a&&l&&(p||!t.initial)){const m=n().filter(x=>{var b;const _=t.includeHiddenNodes?x.width&&x.height:!x.hidden;return(b=t.nodes)!=null&&b.length?_&&t.nodes.some(y=>y.id===x.id):_}),v=m.every(x=>x.width&&x.height);if(m.length>0&&v){const x=sB(m,f),[_,b,y]=uB(x,r,i,t.minZoom??o,t.maxZoom??s,t.padding??.1),S=kl.translate(_,b).scale(y);return typeof t.duration=="number"&&t.duration>0?a.transform(Au(l,t.duration),S):a.transform(l,S),!0}}return!1}function $me(e,t){return e.forEach(n=>{const r=t.get(n.id);r&&t.set(r.id,{...r,[nr]:r[nr],selected:n.selected})}),new Map(t)}function Fme(e,t){return t.map(n=>{const r=e.find(i=>i.id===n.id);return r&&(n.selected=r.selected),n})}function P0({changedNodes:e,changedEdges:t,get:n,set:r}){const{nodeInternals:i,edges:o,onNodesChange:s,onEdgesChange:a,hasDefaultNodes:l,hasDefaultEdges:u}=n();e!=null&&e.length&&(l&&r({nodeInternals:$me(e,i)}),s==null||s(e)),t!=null&&t.length&&(u&&r({edges:Fme(t,o)}),a==null||a(t))}const od=()=>{},Bme={zoomIn:od,zoomOut:od,zoomTo:od,getZoom:()=>1,setViewport:od,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:od,fitBounds:od,project:e=>e,viewportInitialized:!1},Ume=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),zme=()=>{const e=qr(),{d3Zoom:t,d3Selection:n}=Mn(Ume,Ri);return L.useMemo(()=>n&&t?{zoomIn:i=>t.scaleBy(Au(n,i==null?void 0:i.duration),1.2),zoomOut:i=>t.scaleBy(Au(n,i==null?void 0:i.duration),1/1.2),zoomTo:(i,o)=>t.scaleTo(Au(n,o==null?void 0:o.duration),i),getZoom:()=>e.getState().transform[2],setViewport:(i,o)=>{const[s,a,l]=e.getState().transform,u=kl.translate(i.x??s,i.y??a).scale(i.zoom??l);t.transform(Au(n,o==null?void 0:o.duration),u)},getViewport:()=>{const[i,o,s]=e.getState().transform;return{x:i,y:o,zoom:s}},fitView:i=>PB(e.getState,i),setCenter:(i,o,s)=>{const{width:a,height:l,maxZoom:u}=e.getState(),d=typeof(s==null?void 0:s.zoom)<"u"?s.zoom:u,f=a/2-i*d,p=l/2-o*d,g=kl.translate(f,p).scale(d);t.transform(Au(n,s==null?void 0:s.duration),g)},fitBounds:(i,o)=>{const{width:s,height:a,minZoom:l,maxZoom:u}=e.getState(),[d,f,p]=uB(i,s,a,l,u,(o==null?void 0:o.padding)??.1),g=kl.translate(d,f).scale(p);t.transform(Au(n,o==null?void 0:o.duration),g)},project:i=>{const{transform:o,snapToGrid:s,snapGrid:a}=e.getState();return oB(i,o,s,a)},viewportInitialized:!0}:Bme,[t,n])};function RB(){const e=zme(),t=qr(),n=L.useCallback(()=>t.getState().getNodes().map(v=>({...v})),[]),r=L.useCallback(v=>t.getState().nodeInternals.get(v),[]),i=L.useCallback(()=>{const{edges:v=[]}=t.getState();return v.map(x=>({...x}))},[]),o=L.useCallback(v=>{const{edges:x=[]}=t.getState();return x.find(_=>_.id===v)},[]),s=L.useCallback(v=>{const{getNodes:x,setNodes:_,hasDefaultNodes:b,onNodesChange:y}=t.getState(),S=x(),C=typeof v=="function"?v(S):v;if(b)_(C);else if(y){const T=C.length===0?S.map(E=>({type:"remove",id:E.id})):C.map(E=>({item:E,type:"reset"}));y(T)}},[]),a=L.useCallback(v=>{const{edges:x=[],setEdges:_,hasDefaultEdges:b,onEdgesChange:y}=t.getState(),S=typeof v=="function"?v(x):v;if(b)_(S);else if(y){const C=S.length===0?x.map(T=>({type:"remove",id:T.id})):S.map(T=>({item:T,type:"reset"}));y(C)}},[]),l=L.useCallback(v=>{const x=Array.isArray(v)?v:[v],{getNodes:_,setNodes:b,hasDefaultNodes:y,onNodesChange:S}=t.getState();if(y){const T=[..._(),...x];b(T)}else if(S){const C=x.map(T=>({item:T,type:"add"}));S(C)}},[]),u=L.useCallback(v=>{const x=Array.isArray(v)?v:[v],{edges:_=[],setEdges:b,hasDefaultEdges:y,onEdgesChange:S}=t.getState();if(y)b([..._,...x]);else if(S){const C=x.map(T=>({item:T,type:"add"}));S(C)}},[]),d=L.useCallback(()=>{const{getNodes:v,edges:x=[],transform:_}=t.getState(),[b,y,S]=_;return{nodes:v().map(C=>({...C})),edges:x.map(C=>({...C})),viewport:{x:b,y,zoom:S}}},[]),f=L.useCallback(({nodes:v,edges:x})=>{const{nodeInternals:_,getNodes:b,edges:y,hasDefaultNodes:S,hasDefaultEdges:C,onNodesDelete:T,onEdgesDelete:E,onNodesChange:P,onEdgesChange:k}=t.getState(),O=(v||[]).map(N=>N.id),M=(x||[]).map(N=>N.id),G=b().reduce((N,F)=>{const B=!O.includes(F.id)&&F.parentNode&&N.find(V=>V.id===F.parentNode);return(typeof F.deletable=="boolean"?F.deletable:!0)&&(O.includes(F.id)||B)&&N.push(F),N},[]),U=y.filter(N=>typeof N.deletable=="boolean"?N.deletable:!0),A=U.filter(N=>M.includes(N.id));if(G||A){const N=lB(G,U),F=[...A,...N],B=F.reduce((D,V)=>(D.includes(V.id)||D.push(V.id),D),[]);if((C||S)&&(C&&t.setState({edges:y.filter(D=>!B.includes(D.id))}),S&&(G.forEach(D=>{_.delete(D.id)}),t.setState({nodeInternals:new Map(_)}))),B.length>0&&(E==null||E(F),k&&k(B.map(D=>({id:D,type:"remove"})))),G.length>0&&(T==null||T(G),P)){const D=G.map(V=>({id:V.id,type:"remove"}));P(D)}}},[]),p=L.useCallback(v=>{const x=Xge(v),_=x?null:t.getState().nodeInternals.get(v.id);return[x?v:kR(_),_,x]},[]),g=L.useCallback((v,x=!0,_)=>{const[b,y,S]=p(v);return b?(_||t.getState().getNodes()).filter(C=>{if(!S&&(C.id===y.id||!C.positionAbsolute))return!1;const T=kR(C),E=j3(T,b);return x&&E>0||E>=v.width*v.height}):[]},[]),m=L.useCallback((v,x,_=!0)=>{const[b]=p(v);if(!b)return!1;const y=j3(b,x);return _&&y>0||y>=v.width*v.height},[]);return L.useMemo(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:s,setEdges:a,addNodes:l,addEdges:u,toObject:d,deleteElements:f,getIntersectingNodes:g,isNodeIntersecting:m}),[e,n,r,i,o,s,a,l,u,d,f,g,m])}var Vme=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=qr(),{deleteElements:r}=RB(),i=kg(e),o=kg(t);L.useEffect(()=>{if(i){const{edges:s,getNodes:a}=n.getState(),l=a().filter(d=>d.selected),u=s.filter(d=>d.selected);r({nodes:l,edges:u}),n.setState({nodesSelectionActive:!1})}},[i]),L.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])};function jme(e){const t=qr();L.useEffect(()=>{let n;const r=()=>{var o,s;if(!e.current)return;const i=WT(e.current);(i.height===0||i.width===0)&&((s=(o=t.getState()).onError)==null||s.call(o,"004",Hl.error004())),t.setState({width:i.width||500,height:i.height||500})};return r(),window.addEventListener("resize",r),e.current&&(n=new ResizeObserver(()=>r()),n.observe(e.current)),()=>{window.removeEventListener("resize",r),n&&e.current&&n.unobserve(e.current)}},[])}const eE={position:"absolute",width:"100%",height:"100%",top:0,left:0},Gme=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,xx=e=>({x:e.x,y:e.y,zoom:e.k}),sd=(e,t)=>e.target.closest(`.${t}`),KR=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),Hme=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),Wme=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:s=!1,panOnScrollSpeed:a=.5,panOnScrollMode:l=nf.Free,zoomOnDoubleClick:u=!0,elementsSelectable:d,panOnDrag:f=!0,defaultViewport:p,translateExtent:g,minZoom:m,maxZoom:v,zoomActivationKeyCode:x,preventScrolling:_=!0,children:b,noWheelClassName:y,noPanClassName:S})=>{const C=L.useRef(),T=qr(),E=L.useRef(!1),P=L.useRef(!1),k=L.useRef(null),O=L.useRef({x:0,y:0,zoom:0}),{d3Zoom:M,d3Selection:G,d3ZoomHandler:U,userSelectionActive:A}=Mn(Hme,Ri),N=kg(x),F=L.useRef(0);return jme(k),L.useEffect(()=>{if(k.current){const B=k.current.getBoundingClientRect(),D=Vge().scaleExtent([m,v]).translateExtent(g),V=Vo(k.current).call(D),j=kl.translate(p.x,p.y).scale(Af(p.zoom,m,v)),q=[[0,0],[B.width,B.height]],Z=D.constrain()(j,q,g);D.transform(V,Z),T.setState({d3Zoom:D,d3Selection:V,d3ZoomHandler:V.on("wheel.zoom"),transform:[Z.x,Z.y,Z.k],domNode:k.current.closest(".react-flow")})}},[]),L.useEffect(()=>{G&&M&&(s&&!N&&!A?G.on("wheel.zoom",B=>{if(sd(B,y))return!1;B.preventDefault(),B.stopImmediatePropagation();const D=G.property("__zoom").k||1;if(B.ctrlKey&&o){const Z=gs(B),ee=-B.deltaY*(B.deltaMode===1?.05:B.deltaMode?1:.002)*10,ie=D*Math.pow(2,ee);M.scaleTo(G,ie,Z);return}const V=B.deltaMode===1?20:1,j=l===nf.Vertical?0:B.deltaX*V,q=l===nf.Horizontal?0:B.deltaY*V;M.translateBy(G,-(j/D)*a,-(q/D)*a)},{passive:!1}):typeof U<"u"&&G.on("wheel.zoom",function(B,D){if(!_||sd(B,y))return null;B.preventDefault(),U.call(this,B,D)},{passive:!1}))},[A,s,l,G,M,U,N,o,_,y]),L.useEffect(()=>{M&&M.on("start",B=>{var V;if(!B.sourceEvent)return null;F.current=B.sourceEvent.button;const{onViewportChangeStart:D}=T.getState();if(E.current=!0,((V=B.sourceEvent)==null?void 0:V.type)==="mousedown"&&T.setState({paneDragging:!0}),t||D){const j=xx(B.transform);O.current=j,D==null||D(j),t==null||t(B.sourceEvent,j)}})},[M,t]),L.useEffect(()=>{M&&(A&&!E.current?M.on("zoom",null):A||M.on("zoom",B=>{const{onViewportChange:D}=T.getState();if(T.setState({transform:[B.transform.x,B.transform.y,B.transform.k]}),P.current=!!(r&&KR(f,F.current??0)),e||D){const V=xx(B.transform);D==null||D(V),e==null||e(B.sourceEvent,V)}}))},[A,M,e,f,r]),L.useEffect(()=>{M&&M.on("end",B=>{if(!B.sourceEvent)return null;const{onViewportChangeEnd:D}=T.getState();if(E.current=!1,T.setState({paneDragging:!1}),r&&KR(f,F.current??0)&&!P.current&&r(B.sourceEvent),P.current=!1,(n||D)&&Gme(O.current,B.transform)){const V=xx(B.transform);O.current=V,clearTimeout(C.current),C.current=setTimeout(()=>{D==null||D(V),n==null||n(B.sourceEvent,V)},s?150:0)}})},[M,s,f,n,r]),L.useEffect(()=>{M&&M.filter(B=>{const D=N||i,V=o&&B.ctrlKey;if(B.button===1&&B.type==="mousedown"&&(sd(B,"react-flow__node")||sd(B,"react-flow__edge")))return!0;if(!f&&!D&&!s&&!u&&!o||A||!u&&B.type==="dblclick"||sd(B,y)&&B.type==="wheel"||sd(B,S)&&B.type!=="wheel"||!o&&B.ctrlKey&&B.type==="wheel"||!D&&!s&&!V&&B.type==="wheel"||!f&&(B.type==="mousedown"||B.type==="touchstart")||Array.isArray(f)&&!f.includes(B.button)&&(B.type==="mousedown"||B.type==="touchstart"))return!1;const j=Array.isArray(f)&&f.includes(B.button)||!B.button||B.button<=1;return(!B.ctrlKey||B.type==="wheel")&&j})},[A,M,i,o,s,u,f,d,N]),ue.jsx("div",{className:"react-flow__renderer",ref:k,style:eE,children:b})},qme=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function Kme(){const{userSelectionActive:e,userSelectionRect:t}=Mn(qme,Ri);return e&&t?ue.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function XR(e,t){const n=e.find(r=>r.id===t.parentNode);if(n){const r=t.position.x+t.width-n.width,i=t.position.y+t.height-n.height;if(r>0||i>0||t.position.x<0||t.position.y<0){if(n.style={...n.style},n.style.width=n.style.width??n.width,n.style.height=n.style.height??n.height,r>0&&(n.style.width+=r),i>0&&(n.style.height+=i),t.position.x<0){const o=Math.abs(t.position.x);n.position.x=n.position.x-o,n.style.width+=o,t.position.x=0}if(t.position.y<0){const o=Math.abs(t.position.y);n.position.y=n.position.y-o,n.style.height+=o,t.position.y=0}n.width=n.style.width,n.height=n.style.height}}}function OB(e,t){if(e.some(r=>r.type==="reset"))return e.filter(r=>r.type==="reset").map(r=>r.item);const n=e.filter(r=>r.type==="add").map(r=>r.item);return t.reduce((r,i)=>{const o=e.filter(a=>a.id===i.id);if(o.length===0)return r.push(i),r;const s={...i};for(const a of o)if(a)switch(a.type){case"select":{s.selected=a.selected;break}case"position":{typeof a.position<"u"&&(s.position=a.position),typeof a.positionAbsolute<"u"&&(s.positionAbsolute=a.positionAbsolute),typeof a.dragging<"u"&&(s.dragging=a.dragging),s.expandParent&&XR(r,s);break}case"dimensions":{typeof a.dimensions<"u"&&(s.width=a.dimensions.width,s.height=a.dimensions.height),typeof a.updateStyle<"u"&&(s.style={...s.style||{},...a.dimensions}),typeof a.resizing=="boolean"&&(s.resizing=a.resizing),s.expandParent&&XR(r,s);break}case"remove":return r}return r.push(s),r},n)}function kB(e,t){return OB(e,t)}function Xme(e,t){return OB(e,t)}const dl=(e,t)=>({id:e,type:"select",selected:t});function Ld(e,t){return e.reduce((n,r)=>{const i=t.includes(r.id);return!r.selected&&i?(r.selected=!0,n.push(dl(r.id,!0))):r.selected&&!i&&(r.selected=!1,n.push(dl(r.id,!1))),n},[])}const Cx=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},Yme=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),IB=L.memo(({isSelecting:e,selectionMode:t=Og.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:s,onPaneScroll:a,onPaneMouseEnter:l,onPaneMouseMove:u,onPaneMouseLeave:d,children:f})=>{const p=L.useRef(null),g=qr(),m=L.useRef(0),v=L.useRef(0),x=L.useRef(),{userSelectionActive:_,elementsSelectable:b,dragging:y}=Mn(Yme,Ri),S=()=>{g.setState({userSelectionActive:!1,userSelectionRect:null}),m.current=0,v.current=0},C=U=>{o==null||o(U),g.getState().resetSelectedElements(),g.setState({nodesSelectionActive:!1})},T=U=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){U.preventDefault();return}s==null||s(U)},E=a?U=>a(U):void 0,P=U=>{const{resetSelectedElements:A,domNode:N}=g.getState();if(x.current=N==null?void 0:N.getBoundingClientRect(),!b||!e||U.button!==0||U.target!==p.current||!x.current)return;const{x:F,y:B}=Il(U,x.current);A(),g.setState({userSelectionRect:{width:0,height:0,startX:F,startY:B,x:F,y:B}}),r==null||r(U)},k=U=>{const{userSelectionRect:A,nodeInternals:N,edges:F,transform:B,onNodesChange:D,onEdgesChange:V,nodeOrigin:j,getNodes:q}=g.getState();if(!e||!x.current||!A)return;g.setState({userSelectionActive:!0,nodesSelectionActive:!1});const Z=Il(U,x.current),ee=A.startX??0,ie=A.startY??0,se={...A,x:Z.xpe.id),fe=W.map(pe=>pe.id);if(m.current!==fe.length){m.current=fe.length;const pe=Ld(le,fe);pe.length&&(D==null||D(pe))}if(v.current!==ne.length){v.current=ne.length;const pe=Ld(F,ne);pe.length&&(V==null||V(pe))}g.setState({userSelectionRect:se})},O=U=>{if(U.button!==0)return;const{userSelectionRect:A}=g.getState();!_&&A&&U.target===p.current&&(C==null||C(U)),g.setState({nodesSelectionActive:m.current>0}),S(),i==null||i(U)},M=U=>{_&&(g.setState({nodesSelectionActive:m.current>0}),i==null||i(U)),S()},G=b&&(e||_);return ue.jsxs("div",{className:Eo(["react-flow__pane",{dragging:y,selection:e}]),onClick:G?void 0:Cx(C,p),onContextMenu:Cx(T,p),onWheel:Cx(E,p),onMouseEnter:G?void 0:l,onMouseDown:G?P:void 0,onMouseMove:G?k:u,onMouseUp:G?O:void 0,onMouseLeave:G?M:d,ref:p,style:eE,children:[f,ue.jsx(Kme,{})]})});IB.displayName="Pane";const Qme=e=>{const t=e.getNodes().filter(n=>n.selected);return{...sB(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function Zme({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=qr(),{width:i,height:o,x:s,y:a,transformString:l,userSelectionActive:u}=Mn(Qme,Ri),d=TB(),f=L.useRef(null);if(L.useEffect(()=>{var m;n||(m=f.current)==null||m.focus({preventScroll:!0})},[n]),CB({nodeRef:f}),u||!i||!o)return null;const p=e?m=>{const v=r.getState().getNodes().filter(x=>x.selected);e(m,v)}:void 0,g=m=>{Object.prototype.hasOwnProperty.call(of,m.key)&&d({x:of[m.key].x,y:of[m.key].y,isShiftPressed:m.shiftKey})};return ue.jsx("div",{className:Eo(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l},children:ue.jsx("div",{ref:f,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:n?void 0:-1,onKeyDown:n?void 0:g,style:{width:i,height:o,top:a,left:s}})})}var Jme=L.memo(Zme);const eye=e=>e.nodesSelectionActive,MB=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,deleteKeyCode:a,onMove:l,onMoveStart:u,onMoveEnd:d,selectionKeyCode:f,selectionOnDrag:p,selectionMode:g,onSelectionStart:m,onSelectionEnd:v,multiSelectionKeyCode:x,panActivationKeyCode:_,zoomActivationKeyCode:b,elementsSelectable:y,zoomOnScroll:S,zoomOnPinch:C,panOnScroll:T,panOnScrollSpeed:E,panOnScrollMode:P,zoomOnDoubleClick:k,panOnDrag:O,defaultViewport:M,translateExtent:G,minZoom:U,maxZoom:A,preventScrolling:N,onSelectionContextMenu:F,noWheelClassName:B,noPanClassName:D,disableKeyboardA11y:V})=>{const j=Mn(eye),q=kg(f),ee=kg(_)||O,ie=q||p&&ee!==!0;return Vme({deleteKeyCode:a,multiSelectionKeyCode:x}),ue.jsx(Wme,{onMove:l,onMoveStart:u,onMoveEnd:d,onPaneContextMenu:o,elementsSelectable:y,zoomOnScroll:S,zoomOnPinch:C,panOnScroll:T,panOnScrollSpeed:E,panOnScrollMode:P,zoomOnDoubleClick:k,panOnDrag:!q&&ee,defaultViewport:M,translateExtent:G,minZoom:U,maxZoom:A,zoomActivationKeyCode:b,preventScrolling:N,noWheelClassName:B,noPanClassName:D,children:ue.jsxs(IB,{onSelectionStart:m,onSelectionEnd:v,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,panOnDrag:ee,isSelecting:!!ie,selectionMode:g,children:[e,j&&ue.jsx(Jme,{onSelectionContextMenu:F,noPanClassName:D,disableKeyboardA11y:V})]})})};MB.displayName="FlowRenderer";var tye=L.memo(MB);function nye(e){return Mn(L.useCallback(n=>e?aB(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[e]))}const rye=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),NB=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:s}=Mn(rye,Ri),a=nye(e.onlyRenderVisibleElements),l=L.useRef(),u=L.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const d=new ResizeObserver(f=>{const p=f.map(g=>({id:g.target.getAttribute("data-id"),nodeElement:g.target,forceUpdate:!0}));o(p)});return l.current=d,d},[]);return L.useEffect(()=>()=>{var d;(d=l==null?void 0:l.current)==null||d.disconnect()},[]),ue.jsx("div",{className:"react-flow__nodes",style:eE,children:a.map(d=>{var C,T;let f=d.type||"default";e.nodeTypes[f]||(s==null||s("003",Hl.error003(f)),f="default");const p=e.nodeTypes[f]||e.nodeTypes.default,g=!!(d.draggable||t&&typeof d.draggable>"u"),m=!!(d.selectable||i&&typeof d.selectable>"u"),v=!!(d.connectable||n&&typeof d.connectable>"u"),x=!!(d.focusable||r&&typeof d.focusable>"u"),_=e.nodeExtent?qT(d.positionAbsolute,e.nodeExtent):d.positionAbsolute,b=(_==null?void 0:_.x)??0,y=(_==null?void 0:_.y)??0,S=Lme({x:b,y,width:d.width??0,height:d.height??0,origin:e.nodeOrigin});return ue.jsx(p,{id:d.id,className:d.className,style:d.style,type:f,data:d.data,sourcePosition:d.sourcePosition||Ne.Bottom,targetPosition:d.targetPosition||Ne.Top,hidden:d.hidden,xPos:b,yPos:y,xPosOrigin:S.x,yPosOrigin:S.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!d.selected,isDraggable:g,isSelectable:m,isConnectable:v,isFocusable:x,resizeObserver:u,dragHandle:d.dragHandle,zIndex:((C=d[nr])==null?void 0:C.z)??0,isParent:!!((T=d[nr])!=null&&T.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!d.width&&!!d.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:d.ariaLabel},d.id)})})};NB.displayName="NodeRenderer";var iye=L.memo(NB);const oye=[{level:0,isMaxLevel:!0,edges:[]}];function sye(e,t,n=!1){let r=-1;const i=e.reduce((s,a)=>{var d,f;const l=_o(a.zIndex);let u=l?a.zIndex:0;if(n){const p=t.get(a.target),g=t.get(a.source),m=a.selected||(p==null?void 0:p.selected)||(g==null?void 0:g.selected),v=Math.max(((d=g==null?void 0:g[nr])==null?void 0:d.z)||0,((f=p==null?void 0:p[nr])==null?void 0:f.z)||0,1e3);u=(l?a.zIndex:0)+(m?v:0)}return s[u]?s[u].push(a):s[u]=[a],r=u>r?u:r,s},{}),o=Object.entries(i).map(([s,a])=>{const l=+s;return{edges:a,level:l,isMaxLevel:l===r}});return o.length===0?oye:o}function aye(e,t,n){const r=Mn(L.useCallback(i=>e?i.edges.filter(o=>{const s=t.get(o.source),a=t.get(o.target);return(s==null?void 0:s.width)&&(s==null?void 0:s.height)&&(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&Ome({sourcePos:s.positionAbsolute||{x:0,y:0},targetPos:a.positionAbsolute||{x:0,y:0},sourceWidth:s.width,sourceHeight:s.height,targetWidth:a.width,targetHeight:a.height,width:i.width,height:i.height,transform:i.transform})}):i.edges,[e,t]));return sye(r,t,n)}const lye=({color:e="none",strokeWidth:t=1})=>ue.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:"none",points:"-5,-4 0,0 -5,4"}),uye=({color:e="none",strokeWidth:t=1})=>ue.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:e,points:"-5,-4 0,0 -5,4 -5,-4"}),YR={[B1.Arrow]:lye,[B1.ArrowClosed]:uye};function cye(e){const t=qr();return L.useMemo(()=>{var i,o;return Object.prototype.hasOwnProperty.call(YR,e)?YR[e]:((o=(i=t.getState()).onError)==null||o.call(i,"009",Hl.error009(e)),null)},[e])}const dye=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:o="strokeWidth",strokeWidth:s,orient:a="auto-start-reverse"})=>{const l=cye(t);return l?ue.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:a,refX:"0",refY:"0",children:ue.jsx(l,{color:n,strokeWidth:s})}):null},fye=({defaultColor:e,rfId:t})=>n=>{const r=[];return n.edges.reduce((i,o)=>([o.markerStart,o.markerEnd].forEach(s=>{if(s&&typeof s=="object"){const a=W3(s,t);r.includes(a)||(i.push({id:a,color:s.color||e,...s}),r.push(a))}}),i),[]).sort((i,o)=>i.id.localeCompare(o.id))},LB=({defaultColor:e,rfId:t})=>{const n=Mn(L.useCallback(fye({defaultColor:e,rfId:t}),[e,t]),(r,i)=>!(r.length!==i.length||r.some((o,s)=>o.id!==i[s].id)));return ue.jsx("defs",{children:n.map(r=>ue.jsx(dye,{id:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient},r.id))})};LB.displayName="MarkerDefinitions";var hye=L.memo(LB);const pye=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),DB=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeUpdate:s,onEdgeContextMenu:a,onEdgeMouseEnter:l,onEdgeMouseMove:u,onEdgeMouseLeave:d,onEdgeClick:f,edgeUpdaterRadius:p,onEdgeDoubleClick:g,onEdgeUpdateStart:m,onEdgeUpdateEnd:v,children:x})=>{const{edgesFocusable:_,edgesUpdatable:b,elementsSelectable:y,width:S,height:C,connectionMode:T,nodeInternals:E,onError:P}=Mn(pye,Ri),k=aye(t,E,n);return S?ue.jsxs(ue.Fragment,{children:[k.map(({level:O,edges:M,isMaxLevel:G})=>ue.jsxs("svg",{style:{zIndex:O},width:S,height:C,className:"react-flow__edges react-flow__container",children:[G&&ue.jsx(hye,{defaultColor:e,rfId:r}),ue.jsx("g",{children:M.map(U=>{const[A,N,F]=jR(E.get(U.source)),[B,D,V]=jR(E.get(U.target));if(!F||!V)return null;let j=U.type||"default";i[j]||(P==null||P("011",Hl.error011(j)),j="default");const q=i[j]||i.default,Z=T===sc.Strict?D.target:(D.target??[]).concat(D.source??[]),ee=VR(N.source,U.sourceHandle),ie=VR(Z,U.targetHandle),se=(ee==null?void 0:ee.position)||Ne.Bottom,le=(ie==null?void 0:ie.position)||Ne.Top,W=!!(U.focusable||_&&typeof U.focusable>"u"),ne=typeof s<"u"&&(U.updatable||b&&typeof U.updatable>"u");if(!ee||!ie)return P==null||P("008",Hl.error008(ee,U)),null;const{sourceX:fe,sourceY:pe,targetX:ve,targetY:ye}=Rme(A,ee,se,B,ie,le);return ue.jsx(q,{id:U.id,className:Eo([U.className,o]),type:j,data:U.data,selected:!!U.selected,animated:!!U.animated,hidden:!!U.hidden,label:U.label,labelStyle:U.labelStyle,labelShowBg:U.labelShowBg,labelBgStyle:U.labelBgStyle,labelBgPadding:U.labelBgPadding,labelBgBorderRadius:U.labelBgBorderRadius,style:U.style,source:U.source,target:U.target,sourceHandleId:U.sourceHandle,targetHandleId:U.targetHandle,markerEnd:U.markerEnd,markerStart:U.markerStart,sourceX:fe,sourceY:pe,targetX:ve,targetY:ye,sourcePosition:se,targetPosition:le,elementsSelectable:y,onEdgeUpdate:s,onContextMenu:a,onMouseEnter:l,onMouseMove:u,onMouseLeave:d,onClick:f,edgeUpdaterRadius:p,onEdgeDoubleClick:g,onEdgeUpdateStart:m,onEdgeUpdateEnd:v,rfId:r,ariaLabel:U.ariaLabel,isFocusable:W,isUpdatable:ne,pathOptions:"pathOptions"in U?U.pathOptions:void 0,interactionWidth:U.interactionWidth},U.id)})})]},O)),x]}):null};DB.displayName="EdgeRenderer";var gye=L.memo(DB);const mye=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function yye({children:e}){const t=Mn(mye);return ue.jsx("div",{className:"react-flow__viewport react-flow__container",style:{transform:t},children:e})}function vye(e){const t=RB(),n=L.useRef(!1);L.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const _ye={[Ne.Left]:Ne.Right,[Ne.Right]:Ne.Left,[Ne.Top]:Ne.Bottom,[Ne.Bottom]:Ne.Top},$B=({nodeId:e,handleType:t,style:n,type:r=yl.Bezier,CustomComponent:i,connectionStatus:o})=>{var T,E,P;const{fromNode:s,handleId:a,toX:l,toY:u,connectionMode:d}=Mn(L.useCallback(k=>({fromNode:k.nodeInternals.get(e),handleId:k.connectionHandleId,toX:(k.connectionPosition.x-k.transform[0])/k.transform[2],toY:(k.connectionPosition.y-k.transform[1])/k.transform[2],connectionMode:k.connectionMode}),[e]),Ri),f=(T=s==null?void 0:s[nr])==null?void 0:T.handleBounds;let p=f==null?void 0:f[t];if(d===sc.Loose&&(p=p||(f==null?void 0:f[t==="source"?"target":"source"])),!s||!p)return null;const g=a?p.find(k=>k.id===a):p[0],m=g?g.x+g.width/2:(s.width??0)/2,v=g?g.y+g.height/2:s.height??0,x=(((E=s.positionAbsolute)==null?void 0:E.x)??0)+m,_=(((P=s.positionAbsolute)==null?void 0:P.y)??0)+v,b=g==null?void 0:g.position,y=b?_ye[b]:null;if(!b||!y)return null;if(i)return ue.jsx(i,{connectionLineType:r,connectionLineStyle:n,fromNode:s,fromHandle:g,fromX:x,fromY:_,toX:l,toY:u,fromPosition:b,toPosition:y,connectionStatus:o});let S="";const C={sourceX:x,sourceY:_,sourcePosition:b,targetX:l,targetY:u,targetPosition:y};return r===yl.Bezier?[S]=rB(C):r===yl.Step?[S]=H3({...C,borderRadius:0}):r===yl.SmoothStep?[S]=H3(C):r===yl.SimpleBezier?[S]=nB(C):S=`M${x},${_} ${l},${u}`,ue.jsx("path",{d:S,fill:"none",className:"react-flow__connection-path",style:n})};$B.displayName="ConnectionLine";const bye=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function Sye({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:s,width:a,height:l,connectionStatus:u}=Mn(bye,Ri);return!(i&&o&&a&&s)?null:ue.jsx("svg",{style:e,width:a,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container",children:ue.jsx("g",{className:Eo(["react-flow__connection",u]),children:ue.jsx($B,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:u})})})}const FB=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:s,onEdgeClick:a,onNodeDoubleClick:l,onEdgeDoubleClick:u,onNodeMouseEnter:d,onNodeMouseMove:f,onNodeMouseLeave:p,onNodeContextMenu:g,onSelectionContextMenu:m,onSelectionStart:v,onSelectionEnd:x,connectionLineType:_,connectionLineStyle:b,connectionLineComponent:y,connectionLineContainerStyle:S,selectionKeyCode:C,selectionOnDrag:T,selectionMode:E,multiSelectionKeyCode:P,panActivationKeyCode:k,zoomActivationKeyCode:O,deleteKeyCode:M,onlyRenderVisibleElements:G,elementsSelectable:U,selectNodesOnDrag:A,defaultViewport:N,translateExtent:F,minZoom:B,maxZoom:D,preventScrolling:V,defaultMarkerColor:j,zoomOnScroll:q,zoomOnPinch:Z,panOnScroll:ee,panOnScrollSpeed:ie,panOnScrollMode:se,zoomOnDoubleClick:le,panOnDrag:W,onPaneClick:ne,onPaneMouseEnter:fe,onPaneMouseMove:pe,onPaneMouseLeave:ve,onPaneScroll:ye,onPaneContextMenu:We,onEdgeUpdate:Me,onEdgeContextMenu:Ee,onEdgeMouseEnter:lt,onEdgeMouseMove:_e,onEdgeMouseLeave:jt,edgeUpdaterRadius:Hn,onEdgeUpdateStart:Bt,onEdgeUpdateEnd:it,noDragClassName:gt,noWheelClassName:Jt,noPanClassName:Nr,elevateEdgesOnSelect:yr,disableKeyboardA11y:hi,nodeOrigin:wn,nodeExtent:on,rfId:Wn})=>(vye(o),ue.jsx(tye,{onPaneClick:ne,onPaneMouseEnter:fe,onPaneMouseMove:pe,onPaneMouseLeave:ve,onPaneContextMenu:We,onPaneScroll:ye,deleteKeyCode:M,selectionKeyCode:C,selectionOnDrag:T,selectionMode:E,onSelectionStart:v,onSelectionEnd:x,multiSelectionKeyCode:P,panActivationKeyCode:k,zoomActivationKeyCode:O,elementsSelectable:U,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:q,zoomOnPinch:Z,zoomOnDoubleClick:le,panOnScroll:ee,panOnScrollSpeed:ie,panOnScrollMode:se,panOnDrag:W,defaultViewport:N,translateExtent:F,minZoom:B,maxZoom:D,onSelectionContextMenu:m,preventScrolling:V,noDragClassName:gt,noWheelClassName:Jt,noPanClassName:Nr,disableKeyboardA11y:hi,children:ue.jsxs(yye,{children:[ue.jsx(gye,{edgeTypes:t,onEdgeClick:a,onEdgeDoubleClick:u,onEdgeUpdate:Me,onlyRenderVisibleElements:G,onEdgeContextMenu:Ee,onEdgeMouseEnter:lt,onEdgeMouseMove:_e,onEdgeMouseLeave:jt,onEdgeUpdateStart:Bt,onEdgeUpdateEnd:it,edgeUpdaterRadius:Hn,defaultMarkerColor:j,noPanClassName:Nr,elevateEdgesOnSelect:!!yr,disableKeyboardA11y:hi,rfId:Wn,children:ue.jsx(Sye,{style:b,type:_,component:y,containerStyle:S})}),ue.jsx("div",{className:"react-flow__edgelabel-renderer"}),ue.jsx(iye,{nodeTypes:e,onNodeClick:s,onNodeDoubleClick:l,onNodeMouseEnter:d,onNodeMouseMove:f,onNodeMouseLeave:p,onNodeContextMenu:g,selectNodesOnDrag:A,onlyRenderVisibleElements:G,noPanClassName:Nr,noDragClassName:gt,disableKeyboardA11y:hi,nodeOrigin:wn,nodeExtent:on,rfId:Wn})]})}));FB.displayName="GraphView";var wye=L.memo(FB);const X3=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],rl={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:X3,nodeExtent:X3,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:sc.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:Yge,isValidConnection:void 0},xye=()=>lfe((e,t)=>({...rl,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:wx(n,r,i,o)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:r={}}=t();e({edges:n.map(i=>({...r,...i}))})},setDefaultNodesAndEdges:(n,r)=>{const i=typeof n<"u",o=typeof r<"u",s=i?wx(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:s,edges:o?r:[],hasDefaultNodes:i,hasDefaultEdges:o})},updateNodeDimensions:n=>{const{onNodesChange:r,nodeInternals:i,fitViewOnInit:o,fitViewOnInitDone:s,fitViewOnInitOptions:a,domNode:l,nodeOrigin:u}=t(),d=l==null?void 0:l.querySelector(".react-flow__viewport");if(!d)return;const f=window.getComputedStyle(d),{m22:p}=new window.DOMMatrixReadOnly(f.transform),g=n.reduce((v,x)=>{const _=i.get(x.id);if(_){const b=WT(x.nodeElement);!!(b.width&&b.height&&(_.width!==b.width||_.height!==b.height||x.forceUpdate))&&(i.set(_.id,{..._,[nr]:{..._[nr],handleBounds:{source:HR(".source",x.nodeElement,p,u),target:HR(".target",x.nodeElement,p,u)}},...b}),v.push({id:_.id,type:"dimensions",dimensions:b}))}return v},[]);AB(i,u);const m=s||o&&!s&&PB(t,{initial:!0,...a});e({nodeInternals:new Map(i),fitViewOnInitDone:m}),(g==null?void 0:g.length)>0&&(r==null||r(g))},updateNodePositions:(n,r=!0,i=!1)=>{const{triggerNodeChanges:o}=t(),s=n.map(a=>{const l={id:a.id,type:"position",dragging:i};return r&&(l.positionAbsolute=a.positionAbsolute,l.position=a.position),l});o(s)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:i,hasDefaultNodes:o,nodeOrigin:s,getNodes:a,elevateNodesOnSelect:l}=t();if(n!=null&&n.length){if(o){const u=kB(n,a()),d=wx(u,i,s,l);e({nodeInternals:d})}r==null||r(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>dl(l,!0)):(s=Ld(o(),n),a=Ld(i,[])),P0({changedNodes:s,changedEdges:a,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>dl(l,!0)):(s=Ld(i,n),a=Ld(o(),[])),P0({changedNodes:a,changedEdges:s,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:i,getNodes:o}=t(),s=n||o(),a=r||i,l=s.map(d=>(d.selected=!1,dl(d.id,!1))),u=a.map(d=>dl(d.id,!1));P0({changedNodes:l,changedEdges:u,get:t,set:e})},setMinZoom:n=>{const{d3Zoom:r,maxZoom:i}=t();r==null||r.scaleExtent([n,i]),e({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:r,minZoom:i}=t();r==null||r.scaleExtent([i,n]),e({maxZoom:n})},setTranslateExtent:n=>{var r;(r=t().d3Zoom)==null||r.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:r}=t(),o=r().filter(a=>a.selected).map(a=>dl(a.id,!1)),s=n.filter(a=>a.selected).map(a=>dl(a.id,!1));P0({changedNodes:o,changedEdges:s,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(i=>{i.positionAbsolute=qT(i.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:n=>{const{transform:r,width:i,height:o,d3Zoom:s,d3Selection:a,translateExtent:l}=t();if(!s||!a||!n.x&&!n.y)return!1;const u=kl.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),d=[[0,0],[i,o]],f=s==null?void 0:s.constrain()(u,d,l);return s.transform(a,f),r[0]!==f.x||r[1]!==f.y||r[2]!==f.k},cancelConnection:()=>e({connectionNodeId:rl.connectionNodeId,connectionHandleId:rl.connectionHandleId,connectionHandleType:rl.connectionHandleType,connectionStatus:rl.connectionStatus,connectionStartHandle:rl.connectionStartHandle,connectionEndHandle:rl.connectionEndHandle}),reset:()=>e({...rl})})),BB=({children:e})=>{const t=L.useRef(null);return t.current||(t.current=xye()),ue.jsx(jge,{value:t.current,children:e})};BB.displayName="ReactFlowProvider";const UB=({children:e})=>L.useContext(Ib)?ue.jsx(ue.Fragment,{children:e}):ue.jsx(BB,{children:e});UB.displayName="ReactFlowWrapper";function QR(e,t){return L.useRef(null),L.useMemo(()=>t(e),[e])}const Cye={input:mB,default:q3,output:vB,group:JT},Tye={default:U1,straight:YT,step:XT,smoothstep:Mb,simplebezier:KT},Eye=[0,0],Aye=[15,15],Pye={x:0,y:0,zoom:1},Rye={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},Oye=L.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=Cye,edgeTypes:s=Tye,onNodeClick:a,onEdgeClick:l,onInit:u,onMove:d,onMoveStart:f,onMoveEnd:p,onConnect:g,onConnectStart:m,onConnectEnd:v,onClickConnectStart:x,onClickConnectEnd:_,onNodeMouseEnter:b,onNodeMouseMove:y,onNodeMouseLeave:S,onNodeContextMenu:C,onNodeDoubleClick:T,onNodeDragStart:E,onNodeDrag:P,onNodeDragStop:k,onNodesDelete:O,onEdgesDelete:M,onSelectionChange:G,onSelectionDragStart:U,onSelectionDrag:A,onSelectionDragStop:N,onSelectionContextMenu:F,onSelectionStart:B,onSelectionEnd:D,connectionMode:V=sc.Strict,connectionLineType:j=yl.Bezier,connectionLineStyle:q,connectionLineComponent:Z,connectionLineContainerStyle:ee,deleteKeyCode:ie="Backspace",selectionKeyCode:se="Shift",selectionOnDrag:le=!1,selectionMode:W=Og.Full,panActivationKeyCode:ne="Space",multiSelectionKeyCode:fe="Meta",zoomActivationKeyCode:pe="Meta",snapToGrid:ve=!1,snapGrid:ye=Aye,onlyRenderVisibleElements:We=!1,selectNodesOnDrag:Me=!0,nodesDraggable:Ee,nodesConnectable:lt,nodesFocusable:_e,nodeOrigin:jt=Eye,edgesFocusable:Hn,edgesUpdatable:Bt,elementsSelectable:it,defaultViewport:gt=Pye,minZoom:Jt=.5,maxZoom:Nr=2,translateExtent:yr=X3,preventScrolling:hi=!0,nodeExtent:wn,defaultMarkerColor:on="#b1b1b7",zoomOnScroll:Wn=!0,zoomOnPinch:sn=!0,panOnScroll:Gt=!1,panOnScrollSpeed:vr=.5,panOnScrollMode:Lr=nf.Free,zoomOnDoubleClick:Xr=!0,panOnDrag:Ii=!0,onPaneClick:En,onPaneMouseEnter:Yr,onPaneMouseMove:Vs,onPaneMouseLeave:Ji,onPaneScroll:js,onPaneContextMenu:Xt,children:Ot,onEdgeUpdate:qn,onEdgeContextMenu:Dn,onEdgeDoubleClick:or,onEdgeMouseEnter:_r,onEdgeMouseMove:br,onEdgeMouseLeave:eo,onEdgeUpdateStart:Sr,onEdgeUpdateEnd:Kn,edgeUpdaterRadius:Mi=10,onNodesChange:is,onEdgesChange:to,noDragClassName:za="nodrag",noWheelClassName:Ao="nowheel",noPanClassName:wr="nopan",fitView:Gs=!1,fitViewOptions:Zf,connectOnClick:Jf=!0,attributionPosition:eh,proOptions:th,defaultEdgeOptions:Po,elevateNodesOnSelect:nh=!0,elevateEdgesOnSelect:rh=!1,disableKeyboardA11y:kc=!1,autoPanOnConnect:ih=!0,autoPanOnNodeDrag:oh=!0,connectionRadius:sh=20,isValidConnection:os,onError:ah,style:Ro,id:Va,...lh},ja)=>{const uu=QR(o,Nme),Ic=QR(s,Pme),Ga=Va||"1";return ue.jsx("div",{...lh,style:{...Ro,...Rye},ref:ja,className:Eo(["react-flow",i]),"data-testid":"rf__wrapper",id:Va,children:ue.jsxs(UB,{children:[ue.jsx(wye,{onInit:u,onMove:d,onMoveStart:f,onMoveEnd:p,onNodeClick:a,onEdgeClick:l,onNodeMouseEnter:b,onNodeMouseMove:y,onNodeMouseLeave:S,onNodeContextMenu:C,onNodeDoubleClick:T,nodeTypes:uu,edgeTypes:Ic,connectionLineType:j,connectionLineStyle:q,connectionLineComponent:Z,connectionLineContainerStyle:ee,selectionKeyCode:se,selectionOnDrag:le,selectionMode:W,deleteKeyCode:ie,multiSelectionKeyCode:fe,panActivationKeyCode:ne,zoomActivationKeyCode:pe,onlyRenderVisibleElements:We,selectNodesOnDrag:Me,defaultViewport:gt,translateExtent:yr,minZoom:Jt,maxZoom:Nr,preventScrolling:hi,zoomOnScroll:Wn,zoomOnPinch:sn,zoomOnDoubleClick:Xr,panOnScroll:Gt,panOnScrollSpeed:vr,panOnScrollMode:Lr,panOnDrag:Ii,onPaneClick:En,onPaneMouseEnter:Yr,onPaneMouseMove:Vs,onPaneMouseLeave:Ji,onPaneScroll:js,onPaneContextMenu:Xt,onSelectionContextMenu:F,onSelectionStart:B,onSelectionEnd:D,onEdgeUpdate:qn,onEdgeContextMenu:Dn,onEdgeDoubleClick:or,onEdgeMouseEnter:_r,onEdgeMouseMove:br,onEdgeMouseLeave:eo,onEdgeUpdateStart:Sr,onEdgeUpdateEnd:Kn,edgeUpdaterRadius:Mi,defaultMarkerColor:on,noDragClassName:za,noWheelClassName:Ao,noPanClassName:wr,elevateEdgesOnSelect:rh,rfId:Ga,disableKeyboardA11y:kc,nodeOrigin:jt,nodeExtent:wn}),ue.jsx(_me,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:g,onConnectStart:m,onConnectEnd:v,onClickConnectStart:x,onClickConnectEnd:_,nodesDraggable:Ee,nodesConnectable:lt,nodesFocusable:_e,edgesFocusable:Hn,edgesUpdatable:Bt,elementsSelectable:it,elevateNodesOnSelect:nh,minZoom:Jt,maxZoom:Nr,nodeExtent:wn,onNodesChange:is,onEdgesChange:to,snapToGrid:ve,snapGrid:ye,connectionMode:V,translateExtent:yr,connectOnClick:Jf,defaultEdgeOptions:Po,fitView:Gs,fitViewOptions:Zf,onNodesDelete:O,onEdgesDelete:M,onNodeDragStart:E,onNodeDrag:P,onNodeDragStop:k,onSelectionDrag:A,onSelectionDragStart:U,onSelectionDragStop:N,noPanClassName:wr,nodeOrigin:jt,rfId:Ga,autoPanOnConnect:ih,autoPanOnNodeDrag:oh,onError:ah,connectionRadius:sh,isValidConnection:os}),ue.jsx(yme,{onSelectionChange:G}),Ot,ue.jsx(Wge,{proOptions:th,position:eh}),ue.jsx(Cme,{rfId:Ga,disableKeyboardA11y:kc})]})})});Oye.displayName="ReactFlow";var zB={},Nb={},Lb={};Object.defineProperty(Lb,"__esModule",{value:!0});Lb.createLogMethods=void 0;var kye=function(){return{debug:console.debug.bind(console),error:console.error.bind(console),fatal:console.error.bind(console),info:console.info.bind(console),trace:console.debug.bind(console),warn:console.warn.bind(console)}};Lb.createLogMethods=kye;var tE={},Db={};Object.defineProperty(Db,"__esModule",{value:!0});Db.boolean=void 0;const Iye=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1"].includes(e.trim().toLowerCase());case"[object Number]":return e.valueOf()===1;case"[object Boolean]":return e.valueOf();default:return!1}};Db.boolean=Iye;var $b={};Object.defineProperty($b,"__esModule",{value:!0});$b.isBooleanable=void 0;const Mye=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1","false","f","no","n","off","0"].includes(e.trim().toLowerCase());case"[object Number]":return[0,1].includes(e.valueOf());case"[object Boolean]":return!0;default:return!1}};$b.isBooleanable=Mye;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isBooleanable=e.boolean=void 0;const t=Db;Object.defineProperty(e,"boolean",{enumerable:!0,get:function(){return t.boolean}});const n=$b;Object.defineProperty(e,"isBooleanable",{enumerable:!0,get:function(){return n.isBooleanable}})})(tE);var ZR=Object.prototype.toString,VB=function(t){var n=ZR.call(t),r=n==="[object Arguments]";return r||(r=n!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&ZR.call(t.callee)==="[object Function]"),r},Tx,JR;function Nye(){if(JR)return Tx;JR=1;var e;if(!Object.keys){var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=VB,i=Object.prototype.propertyIsEnumerable,o=!i.call({toString:null},"toString"),s=i.call(function(){},"prototype"),a=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],l=function(p){var g=p.constructor;return g&&g.prototype===p},u={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},d=function(){if(typeof window>"u")return!1;for(var p in window)try{if(!u["$"+p]&&t.call(window,p)&&window[p]!==null&&typeof window[p]=="object")try{l(window[p])}catch{return!0}}catch{return!0}return!1}(),f=function(p){if(typeof window>"u"||!d)return l(p);try{return l(p)}catch{return!1}};e=function(g){var m=g!==null&&typeof g=="object",v=n.call(g)==="[object Function]",x=r(g),_=m&&n.call(g)==="[object String]",b=[];if(!m&&!v&&!x)throw new TypeError("Object.keys called on a non-object");var y=s&&v;if(_&&g.length>0&&!t.call(g,0))for(var S=0;S0)for(var C=0;C"u"||!ur?dt:ur(Uint8Array),qu={"%AggregateError%":typeof AggregateError>"u"?dt:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?dt:ArrayBuffer,"%ArrayIteratorPrototype%":ad&&ur?ur([][Symbol.iterator]()):dt,"%AsyncFromSyncIteratorPrototype%":dt,"%AsyncFunction%":bd,"%AsyncGenerator%":bd,"%AsyncGeneratorFunction%":bd,"%AsyncIteratorPrototype%":bd,"%Atomics%":typeof Atomics>"u"?dt:Atomics,"%BigInt%":typeof BigInt>"u"?dt:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?dt:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?dt:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?dt:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?dt:Float32Array,"%Float64Array%":typeof Float64Array>"u"?dt:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?dt:FinalizationRegistry,"%Function%":GB,"%GeneratorFunction%":bd,"%Int8Array%":typeof Int8Array>"u"?dt:Int8Array,"%Int16Array%":typeof Int16Array>"u"?dt:Int16Array,"%Int32Array%":typeof Int32Array>"u"?dt:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":ad&&ur?ur(ur([][Symbol.iterator]())):dt,"%JSON%":typeof JSON=="object"?JSON:dt,"%Map%":typeof Map>"u"?dt:Map,"%MapIteratorPrototype%":typeof Map>"u"||!ad||!ur?dt:ur(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?dt:Promise,"%Proxy%":typeof Proxy>"u"?dt:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?dt:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?dt:Set,"%SetIteratorPrototype%":typeof Set>"u"||!ad||!ur?dt:ur(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?dt:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":ad&&ur?ur(""[Symbol.iterator]()):dt,"%Symbol%":ad?Symbol:dt,"%SyntaxError%":Pf,"%ThrowTypeError%":Yye,"%TypedArray%":Zye,"%TypeError%":sf,"%Uint8Array%":typeof Uint8Array>"u"?dt:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?dt:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?dt:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?dt:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?dt:WeakMap,"%WeakRef%":typeof WeakRef>"u"?dt:WeakRef,"%WeakSet%":typeof WeakSet>"u"?dt:WeakSet};if(ur)try{null.error}catch(e){var Jye=ur(ur(e));qu["%Error.prototype%"]=Jye}var e0e=function e(t){var n;if(t==="%AsyncFunction%")n=Ax("async function () {}");else if(t==="%GeneratorFunction%")n=Ax("function* () {}");else if(t==="%AsyncGeneratorFunction%")n=Ax("async function* () {}");else if(t==="%AsyncGenerator%"){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if(t==="%AsyncIteratorPrototype%"){var i=e("%AsyncGenerator%");i&&ur&&(n=ur(i.prototype))}return qu[t]=n,n},iO={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},bm=jB,V1=Xye,t0e=bm.call(Function.call,Array.prototype.concat),n0e=bm.call(Function.apply,Array.prototype.splice),oO=bm.call(Function.call,String.prototype.replace),j1=bm.call(Function.call,String.prototype.slice),r0e=bm.call(Function.call,RegExp.prototype.exec),i0e=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,o0e=/\\(\\)?/g,s0e=function(t){var n=j1(t,0,1),r=j1(t,-1);if(n==="%"&&r!=="%")throw new Pf("invalid intrinsic syntax, expected closing `%`");if(r==="%"&&n!=="%")throw new Pf("invalid intrinsic syntax, expected opening `%`");var i=[];return oO(t,i0e,function(o,s,a,l){i[i.length]=a?oO(l,o0e,"$1"):s||o}),i},a0e=function(t,n){var r=t,i;if(V1(iO,r)&&(i=iO[r],r="%"+i[0]+"%"),V1(qu,r)){var o=qu[r];if(o===bd&&(o=e0e(r)),typeof o>"u"&&!n)throw new sf("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:r,value:o}}throw new Pf("intrinsic "+t+" does not exist!")},l0e=function(t,n){if(typeof t!="string"||t.length===0)throw new sf("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof n!="boolean")throw new sf('"allowMissing" argument must be a boolean');if(r0e(/^%?[^%]*%?$/,t)===null)throw new Pf("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=s0e(t),i=r.length>0?r[0]:"",o=a0e("%"+i+"%",n),s=o.name,a=o.value,l=!1,u=o.alias;u&&(i=u[0],n0e(r,t0e([0,1],u)));for(var d=1,f=!0;d=r.length){var v=Wu(a,p);f=!!v,f&&"get"in v&&!("originalValue"in v.get)?a=v.get:a=a[p]}else f=V1(a,p),a=a[p];f&&!l&&(qu[s]=a)}}return a},u0e=l0e,Y3=u0e("%Object.defineProperty%",!0),Q3=function(){if(Y3)try{return Y3({},"a",{value:1}),!0}catch{return!1}return!1};Q3.hasArrayLengthDefineBug=function(){if(!Q3())return null;try{return Y3([],"length",{value:1}).length!==1}catch{return!0}};var c0e=Q3,d0e=$ye,f0e=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",h0e=Object.prototype.toString,p0e=Array.prototype.concat,HB=Object.defineProperty,g0e=function(e){return typeof e=="function"&&h0e.call(e)==="[object Function]"},m0e=c0e(),WB=HB&&m0e,y0e=function(e,t,n,r){if(t in e){if(r===!0){if(e[t]===n)return}else if(!g0e(r)||!r())return}WB?HB(e,t,{configurable:!0,enumerable:!1,value:n,writable:!0}):e[t]=n},qB=function(e,t){var n=arguments.length>2?arguments[2]:{},r=d0e(t);f0e&&(r=p0e.call(r,Object.getOwnPropertySymbols(t)));for(var i=0;i":return t>e;case":<":return t=":return t>=e;case":<=":return t<=e;default:throw new Error("Unimplemented comparison operator: ".concat(n))}};zb.testComparisonRange=F0e;var Vb={};Object.defineProperty(Vb,"__esModule",{value:!0});Vb.testRange=void 0;var B0e=function(e,t){return typeof e=="number"?!(et.max||e===t.max&&!t.maxInclusive):!1};Vb.testRange=B0e;(function(e){var t=He&&He.__assign||function(){return t=Object.assign||function(d){for(var f,p=1,g=arguments.length;p0?{path:l.path,query:new RegExp("("+l.keywords.map(function(u){return(0,V0e.escapeRegexString)(u.trim())}).join("|")+")")}:{path:l.path}})};jb.highlight=G0e;var Gb={},eU={exports:{}};(function(e){(function(t,n){e.exports?e.exports=n():t.nearley=n()})(He,function(){function t(u,d,f){return this.id=++t.highestId,this.name=u,this.symbols=d,this.postprocess=f,this}t.highestId=0,t.prototype.toString=function(u){var d=typeof u>"u"?this.symbols.map(l).join(" "):this.symbols.slice(0,u).map(l).join(" ")+" ● "+this.symbols.slice(u).map(l).join(" ");return this.name+" → "+d};function n(u,d,f,p){this.rule=u,this.dot=d,this.reference=f,this.data=[],this.wantedBy=p,this.isComplete=this.dot===u.symbols.length}n.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},n.prototype.nextState=function(u){var d=new n(this.rule,this.dot+1,this.reference,this.wantedBy);return d.left=this,d.right=u,d.isComplete&&(d.data=d.build(),d.right=void 0),d},n.prototype.build=function(){var u=[],d=this;do u.push(d.right.data),d=d.left;while(d.left);return u.reverse(),u},n.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))};function r(u,d){this.grammar=u,this.index=d,this.states=[],this.wants={},this.scannable=[],this.completed={}}r.prototype.process=function(u){for(var d=this.states,f=this.wants,p=this.completed,g=0;g0&&d.push(" ^ "+p+" more lines identical to this"),p=0,d.push(" "+v)),f=v}},s.prototype.getSymbolDisplay=function(u){return a(u)},s.prototype.buildFirstStateStack=function(u,d){if(d.indexOf(u)!==-1)return null;if(u.wantedBy.length===0)return[u];var f=u.wantedBy[0],p=[u].concat(d),g=this.buildFirstStateStack(f,p);return g===null?null:[u].concat(g)},s.prototype.save=function(){var u=this.table[this.current];return u.lexerState=this.lexerState,u},s.prototype.restore=function(u){var d=u.index;this.current=d,this.table[d]=u,this.table.splice(d+1),this.lexerState=u.lexerState,this.results=this.finish()},s.prototype.rewind=function(u){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[u])},s.prototype.finish=function(){var u=[],d=this.grammar.start,f=this.table[this.table.length-1];return f.states.forEach(function(p){p.rule.name===d&&p.dot===p.rule.symbols.length&&p.reference===0&&p.data!==s.fail&&u.push(p)}),u.map(function(p){return p.data})};function a(u){var d=typeof u;if(d==="string")return u;if(d==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return"character matching "+u;if(u.type)return u.type+" token";if(u.test)return"token matching "+String(u.test);throw new Error("Unknown symbol type: "+u)}}function l(u){var d=typeof u;if(d==="string")return u;if(d==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return u.toString();if(u.type)return"%"+u.type;if(u.test)return"<"+String(u.test)+">";throw new Error("Unknown symbol type: "+u)}}return{Parser:s,Grammar:i,Rule:t}})})(eU);var H0e=eU.exports,ac={},tU={},nu={};nu.__esModule=void 0;nu.__esModule=!0;var W0e=typeof Object.setPrototypeOf=="function",q0e=typeof Object.getPrototypeOf=="function",K0e=typeof Object.defineProperty=="function",X0e=typeof Object.create=="function",Y0e=typeof Object.prototype.hasOwnProperty=="function",Q0e=function(t,n){W0e?Object.setPrototypeOf(t,n):t.__proto__=n};nu.setPrototypeOf=Q0e;var Z0e=function(t){return q0e?Object.getPrototypeOf(t):t.__proto__||t.prototype};nu.getPrototypeOf=Z0e;var sO=!1,J0e=function e(t,n,r){if(K0e&&!sO)try{Object.defineProperty(t,n,r)}catch{sO=!0,e(t,n,r)}else t[n]=r.value};nu.defineProperty=J0e;var nU=function(t,n){return Y0e?t.hasOwnProperty(t,n):t[n]===void 0};nu.hasOwnProperty=nU;var eve=function(t,n){if(X0e)return Object.create(t,n);var r=function(){};r.prototype=t;var i=new r;if(typeof n>"u")return i;if(typeof n=="null")throw new Error("PropertyDescriptors must not be null.");if(typeof n=="object")for(var o in n)nU(n,o)&&(i[o]=n[o].value);return i};nu.objectCreate=eve;(function(e){e.__esModule=void 0,e.__esModule=!0;var t=nu,n=t.setPrototypeOf,r=t.getPrototypeOf,i=t.defineProperty,o=t.objectCreate,s=new Error().toString()==="[object Error]",a="";function l(u){var d=this.constructor,f=d.name||function(){var x=d.toString().match(/^function\s*([^\s(]+)/);return x===null?a||"Error":x[1]}(),p=f==="Error",g=p?a:f,m=Error.apply(this,arguments);if(n(m,r(this)),!(m instanceof d)||!(m instanceof l)){var m=this;Error.apply(this,arguments),i(m,"message",{configurable:!0,enumerable:!1,value:u,writable:!0})}if(i(m,"name",{configurable:!0,enumerable:!1,value:g,writable:!0}),Error.captureStackTrace&&Error.captureStackTrace(m,p?l:d),m.stack===void 0){var v=new Error(u);v.name=m.name,m.stack=v.stack}return s&&i(m,"toString",{configurable:!0,enumerable:!1,value:function(){return(this.name||"Error")+(typeof this.message>"u"?"":": "+this.message)},writable:!0}),m}a=l.name||"ExtendableError",l.prototype=o(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),e.ExtendableError=l,e.default=e.ExtendableError})(tU);var rU=He&&He.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(r[o]=i[o])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(ac,"__esModule",{value:!0});ac.SyntaxError=ac.LiqeError=void 0;var tve=tU,iU=function(e){rU(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(tve.ExtendableError);ac.LiqeError=iU;var nve=function(e){rU(t,e);function t(n,r,i,o){var s=e.call(this,n)||this;return s.message=n,s.offset=r,s.line=i,s.column=o,s}return t}(iU);ac.SyntaxError=nve;var iE={},G1=He&&He.__assign||function(){return G1=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$2"]},{name:"comparison_operator$subexpression$1$string$3",symbols:[{literal:":"},{literal:"<"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$3"]},{name:"comparison_operator$subexpression$1$string$4",symbols:[{literal:":"},{literal:">"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$4"]},{name:"comparison_operator$subexpression$1$string$5",symbols:[{literal:":"},{literal:"<"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$5"]},{name:"comparison_operator",symbols:["comparison_operator$subexpression$1"],postprocess:function(e,t){return{location:{start:t,end:t+e[0][0].length},type:"ComparisonOperator",operator:e[0][0]}}},{name:"regex",symbols:["regex_body","regex_flags"],postprocess:function(e){return e.join("")}},{name:"regex_body$ebnf$1",symbols:[]},{name:"regex_body$ebnf$1",symbols:["regex_body$ebnf$1","regex_body_char"],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_body",symbols:[{literal:"/"},"regex_body$ebnf$1",{literal:"/"}],postprocess:function(e){return"/"+e[1].join("")+"/"}},{name:"regex_body_char",symbols:[/[^\\]/],postprocess:na},{name:"regex_body_char",symbols:[{literal:"\\"},/[^\\]/],postprocess:function(e){return"\\"+e[1]}},{name:"regex_flags",symbols:[]},{name:"regex_flags$ebnf$1",symbols:[/[gmiyusd]/]},{name:"regex_flags$ebnf$1",symbols:["regex_flags$ebnf$1",/[gmiyusd]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_flags",symbols:["regex_flags$ebnf$1"],postprocess:function(e){return e[0].join("")}},{name:"unquoted_value$ebnf$1",symbols:[]},{name:"unquoted_value$ebnf$1",symbols:["unquoted_value$ebnf$1",/[a-zA-Z\.\-_*@#$]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"unquoted_value",symbols:[/[a-zA-Z_*@#$]/,"unquoted_value$ebnf$1"],postprocess:function(e){return e[0]+e[1].join("")}}],ParserStart:"main"};iE.default=rve;var oU={},Hb={},xm={};Object.defineProperty(xm,"__esModule",{value:!0});xm.isSafePath=void 0;var ive=/^(\.(?:[_a-zA-Z][a-zA-Z\d_]*|\0|[1-9]\d*))+$/u,ove=function(e){return ive.test(e)};xm.isSafePath=ove;Object.defineProperty(Hb,"__esModule",{value:!0});Hb.createGetValueFunctionBody=void 0;var sve=xm,ave=function(e){if(!(0,sve.isSafePath)(e))throw new Error("Unsafe path.");var t="return subject"+e;return t.replace(/(\.(\d+))/g,".[$2]").replace(/\./g,"?.")};Hb.createGetValueFunctionBody=ave;(function(e){var t=He&&He.__assign||function(){return t=Object.assign||function(o){for(var s,a=1,l=arguments.length;a\d+) col (?\d+)/,hve=function(e){if(e.trim()==="")return{location:{end:0,start:0},type:"EmptyExpression"};var t=new aU.default.Parser(dve),n;try{n=t.feed(e).results}catch(o){if(typeof(o==null?void 0:o.message)=="string"&&typeof(o==null?void 0:o.offset)=="number"){var r=o.message.match(fve);throw r?new lve.SyntaxError("Syntax error at line ".concat(r.groups.line," column ").concat(r.groups.column),o.offset,Number(r.groups.line),Number(r.groups.column)):o}throw o}if(n.length===0)throw new Error("Found no parsings.");if(n.length>1)throw new Error("Ambiguous results.");var i=(0,cve.hydrateAst)(n[0]);return i};Gb.parse=hve;var Wb={};Object.defineProperty(Wb,"__esModule",{value:!0});Wb.test=void 0;var pve=Sm,gve=function(e,t){return(0,pve.filter)(e,[t]).length===1};Wb.test=gve;var lU={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.serialize=void 0;var t=function(o,s){return s==="double"?'"'.concat(o,'"'):s==="single"?"'".concat(o,"'"):o},n=function(o){if(o.type==="LiteralExpression")return o.quoted&&typeof o.value=="string"?t(o.value,o.quotes):String(o.value);if(o.type==="RegexExpression")return String(o.value);if(o.type==="RangeExpression"){var s=o.range,a=s.min,l=s.max,u=s.minInclusive,d=s.maxInclusive;return"".concat(u?"[":"{").concat(a," TO ").concat(l).concat(d?"]":"}")}if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")},r=function(o){if(o.type!=="Tag")throw new Error("Expected a tag expression.");var s=o.field,a=o.expression,l=o.operator;if(s.type==="ImplicitField")return n(a);var u=s.quoted?t(s.name,s.quotes):s.name,d=" ".repeat(a.location.start-l.location.end);return u+l.operator+d+n(a)},i=function(o){if(o.type==="ParenthesizedExpression"){if(!("location"in o.expression))throw new Error("Expected location in expression.");if(!o.location.end)throw new Error("Expected location end.");var s=" ".repeat(o.expression.location.start-(o.location.start+1)),a=" ".repeat(o.location.end-o.expression.location.end-1);return"(".concat(s).concat((0,e.serialize)(o.expression)).concat(a,")")}if(o.type==="Tag")return r(o);if(o.type==="LogicalExpression"){var l="";return o.operator.type==="BooleanOperator"?(l+=" ".repeat(o.operator.location.start-o.left.location.end),l+=o.operator.operator,l+=" ".repeat(o.right.location.start-o.operator.location.end)):l=" ".repeat(o.right.location.start-o.left.location.end),"".concat((0,e.serialize)(o.left)).concat(l).concat((0,e.serialize)(o.right))}if(o.type==="UnaryOperator")return(o.operator==="NOT"?"NOT ":o.operator)+(0,e.serialize)(o.operand);if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")};e.serialize=i})(lU);var qb={};Object.defineProperty(qb,"__esModule",{value:!0});qb.isSafeUnquotedExpression=void 0;var mve=function(e){return/^[#$*@A-Z_a-z][#$*.@A-Z_a-z-]*$/.test(e)};qb.isSafeUnquotedExpression=mve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isSafeUnquotedExpression=e.serialize=e.SyntaxError=e.LiqeError=e.test=e.parse=e.highlight=e.filter=void 0;var t=Sm;Object.defineProperty(e,"filter",{enumerable:!0,get:function(){return t.filter}});var n=jb;Object.defineProperty(e,"highlight",{enumerable:!0,get:function(){return n.highlight}});var r=Gb;Object.defineProperty(e,"parse",{enumerable:!0,get:function(){return r.parse}});var i=Wb;Object.defineProperty(e,"test",{enumerable:!0,get:function(){return i.test}});var o=ac;Object.defineProperty(e,"LiqeError",{enumerable:!0,get:function(){return o.LiqeError}}),Object.defineProperty(e,"SyntaxError",{enumerable:!0,get:function(){return o.SyntaxError}});var s=lU;Object.defineProperty(e,"serialize",{enumerable:!0,get:function(){return s.serialize}});var a=qb;Object.defineProperty(e,"isSafeUnquotedExpression",{enumerable:!0,get:function(){return a.isSafeUnquotedExpression}})})(JB);var Cm={},uU={},lc={};Object.defineProperty(lc,"__esModule",{value:!0});lc.ROARR_LOG_FORMAT_VERSION=lc.ROARR_VERSION=void 0;lc.ROARR_VERSION="5.0.0";lc.ROARR_LOG_FORMAT_VERSION="2.0.0";var Tm={};Object.defineProperty(Tm,"__esModule",{value:!0});Tm.logLevels=void 0;Tm.logLevels={debug:20,error:50,fatal:60,info:30,trace:10,warn:40};var cU={},Kb={};Object.defineProperty(Kb,"__esModule",{value:!0});Kb.hasOwnProperty=void 0;const yve=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);Kb.hasOwnProperty=yve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.hasOwnProperty=void 0;var t=Kb;Object.defineProperty(e,"hasOwnProperty",{enumerable:!0,get:function(){return t.hasOwnProperty}})})(cU);var dU={},Xb={},Yb={};Object.defineProperty(Yb,"__esModule",{value:!0});Yb.tokenize=void 0;const vve=/(?:%(?([+0-]|-\+))?(?\d+)?(?\d+\$)?(?\.\d+)?(?[%BCESb-iosux]))|(\\%)/g,_ve=e=>{let t;const n=[];let r=0,i=0,o=null;for(;(t=vve.exec(e))!==null;){t.index>i&&(o={literal:e.slice(i,t.index),type:"literal"},n.push(o));const s=t[0];i=t.index+s.length,s==="\\%"||s==="%%"?o&&o.type==="literal"?o.literal+="%":(o={literal:"%",type:"literal"},n.push(o)):t.groups&&(o={conversion:t.groups.conversion,flag:t.groups.flag||null,placeholder:s,position:t.groups.position?Number.parseInt(t.groups.position,10)-1:r++,precision:t.groups.precision?Number.parseInt(t.groups.precision.slice(1),10):null,type:"placeholder",width:t.groups.width?Number.parseInt(t.groups.width,10):null},n.push(o))}return i<=e.length-1&&(o&&o.type==="literal"?o.literal+=e.slice(i):n.push({literal:e.slice(i),type:"literal"})),n};Yb.tokenize=_ve;Object.defineProperty(Xb,"__esModule",{value:!0});Xb.createPrintf=void 0;const aO=tE,bve=Yb,Sve=(e,t)=>t.placeholder,wve=e=>{var t;const n=(o,s,a)=>a==="-"?o.padEnd(s," "):a==="-+"?((Number(o)>=0?"+":"")+o).padEnd(s," "):a==="+"?((Number(o)>=0?"+":"")+o).padStart(s," "):a==="0"?o.padStart(s,"0"):o.padStart(s," "),r=(t=e==null?void 0:e.formatUnboundExpression)!==null&&t!==void 0?t:Sve,i={};return(o,...s)=>{let a=i[o];a||(a=i[o]=bve.tokenize(o));let l="";for(const u of a)if(u.type==="literal")l+=u.literal;else{let d=s[u.position];if(d===void 0)l+=r(o,u,s);else if(u.conversion==="b")l+=aO.boolean(d)?"true":"false";else if(u.conversion==="B")l+=aO.boolean(d)?"TRUE":"FALSE";else if(u.conversion==="c")l+=d;else if(u.conversion==="C")l+=String(d).toUpperCase();else if(u.conversion==="i"||u.conversion==="d")d=String(Math.trunc(d)),u.width!==null&&(d=n(d,u.width,u.flag)),l+=d;else if(u.conversion==="e")l+=Number(d).toExponential();else if(u.conversion==="E")l+=Number(d).toExponential().toUpperCase();else if(u.conversion==="f")u.precision!==null&&(d=Number(d).toFixed(u.precision)),u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else if(u.conversion==="o")l+=(Number.parseInt(String(d),10)>>>0).toString(8);else if(u.conversion==="s")u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else if(u.conversion==="S")u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=String(d).toUpperCase();else if(u.conversion==="u")l+=Number.parseInt(String(d),10)>>>0;else if(u.conversion==="x")d=(Number.parseInt(String(d),10)>>>0).toString(16),u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else throw new Error("Unknown format specifier.")}return l}};Xb.createPrintf=wve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.printf=e.createPrintf=void 0;const t=Xb;Object.defineProperty(e,"createPrintf",{enumerable:!0,get:function(){return t.createPrintf}}),e.printf=t.createPrintf()})(dU);var Z3={exports:{}};(function(e,t){const{hasOwnProperty:n}=Object.prototype,r=x();r.configure=x,r.stringify=r,r.default=r,t.stringify=r,t.configure=x,e.exports=r;const i=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?:[^\ud800-\udbff]|^)[\udc00-\udfff]/;function o(_){return _.length<5e3&&!i.test(_)?`"${_}"`:JSON.stringify(_)}function s(_){if(_.length>200)return _.sort();for(let b=1;b<_.length;b++){const y=_[b];let S=b;for(;S!==0&&_[S-1]>y;)_[S]=_[S-1],S--;_[S]=y}return _}const a=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function l(_){return a.call(_)!==void 0&&_.length!==0}function u(_,b,y){_.length= 1`)}return y===void 0?1/0:y}function g(_){return _===1?"1 item":`${_} items`}function m(_){const b=new Set;for(const y of _)(typeof y=="string"||typeof y=="number")&&b.add(String(y));return b}function v(_){if(n.call(_,"strict")){const b=_.strict;if(typeof b!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(b)return y=>{let S=`Object can not safely be stringified. Received type ${typeof y}`;throw typeof y!="function"&&(S+=` (${y.toString()})`),new Error(S)}}}function x(_){_={..._};const b=v(_);b&&(_.bigint===void 0&&(_.bigint=!1),"circularValue"in _||(_.circularValue=Error));const y=d(_),S=f(_,"bigint"),C=f(_,"deterministic"),T=p(_,"maximumDepth"),E=p(_,"maximumBreadth");function P(U,A,N,F,B,D){let V=A[U];switch(typeof V=="object"&&V!==null&&typeof V.toJSON=="function"&&(V=V.toJSON(U)),V=F.call(A,U,V),typeof V){case"string":return o(V);case"object":{if(V===null)return"null";if(N.indexOf(V)!==-1)return y;let j="",q=",";const Z=D;if(Array.isArray(V)){if(V.length===0)return"[]";if(TE){const ve=V.length-E-1;j+=`${q}"... ${g(ve)} not stringified"`}return B!==""&&(j+=` +${Z}`),N.pop(),`[${j}]`}let ee=Object.keys(V);const ie=ee.length;if(ie===0)return"{}";if(TE){const ne=ie-E;j+=`${le}"...":${se}"${g(ne)} not stringified"`,le=q}return B!==""&&le.length>1&&(j=` +${D}${j} +${Z}`),N.pop(),`{${j}}`}case"number":return isFinite(V)?String(V):b?b(V):"null";case"boolean":return V===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(V);default:return b?b(V):void 0}}function k(U,A,N,F,B,D){switch(typeof A=="object"&&A!==null&&typeof A.toJSON=="function"&&(A=A.toJSON(U)),typeof A){case"string":return o(A);case"object":{if(A===null)return"null";if(N.indexOf(A)!==-1)return y;const V=D;let j="",q=",";if(Array.isArray(A)){if(A.length===0)return"[]";if(TE){const W=A.length-E-1;j+=`${q}"... ${g(W)} not stringified"`}return B!==""&&(j+=` +${V}`),N.pop(),`[${j}]`}N.push(A);let Z="";B!==""&&(D+=B,q=`, +${D}`,Z=" ");let ee="";for(const ie of F){const se=k(ie,A[ie],N,F,B,D);se!==void 0&&(j+=`${ee}${o(ie)}:${Z}${se}`,ee=q)}return B!==""&&ee.length>1&&(j=` +${D}${j} +${V}`),N.pop(),`{${j}}`}case"number":return isFinite(A)?String(A):b?b(A):"null";case"boolean":return A===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(A);default:return b?b(A):void 0}}function O(U,A,N,F,B){switch(typeof A){case"string":return o(A);case"object":{if(A===null)return"null";if(typeof A.toJSON=="function"){if(A=A.toJSON(U),typeof A!="object")return O(U,A,N,F,B);if(A===null)return"null"}if(N.indexOf(A)!==-1)return y;const D=B;if(Array.isArray(A)){if(A.length===0)return"[]";if(TE){const pe=A.length-E-1;se+=`${le}"... ${g(pe)} not stringified"`}return se+=` +${D}`,N.pop(),`[${se}]`}let V=Object.keys(A);const j=V.length;if(j===0)return"{}";if(TE){const se=j-E;Z+=`${ee}"...": "${g(se)} not stringified"`,ee=q}return ee!==""&&(Z=` +${B}${Z} +${D}`),N.pop(),`{${Z}}`}case"number":return isFinite(A)?String(A):b?b(A):"null";case"boolean":return A===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(A);default:return b?b(A):void 0}}function M(U,A,N){switch(typeof A){case"string":return o(A);case"object":{if(A===null)return"null";if(typeof A.toJSON=="function"){if(A=A.toJSON(U),typeof A!="object")return M(U,A,N);if(A===null)return"null"}if(N.indexOf(A)!==-1)return y;let F="";if(Array.isArray(A)){if(A.length===0)return"[]";if(TE){const ie=A.length-E-1;F+=`,"... ${g(ie)} not stringified"`}return N.pop(),`[${F}]`}let B=Object.keys(A);const D=B.length;if(D===0)return"{}";if(TE){const q=D-E;F+=`${V}"...":"${g(q)} not stringified"`}return N.pop(),`{${F}}`}case"number":return isFinite(A)?String(A):b?b(A):"null";case"boolean":return A===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(A);default:return b?b(A):void 0}}function G(U,A,N){if(arguments.length>1){let F="";if(typeof N=="number"?F=" ".repeat(Math.min(N,10)):typeof N=="string"&&(F=N.slice(0,10)),A!=null){if(typeof A=="function")return P("",{"":U},[],A,F,"");if(Array.isArray(A))return k("",U,[],m(A),F,"")}if(F.length!==0)return O("",U,[],F,"")}return M("",U,[])}return G}})(Z3,Z3.exports);var xve=Z3.exports;(function(e){var t=He&&He.__importDefault||function(y){return y&&y.__esModule?y:{default:y}};Object.defineProperty(e,"__esModule",{value:!0}),e.createLogger=void 0;const n=lc,r=Tm,i=cU,o=dU,s=t(nE),a=t(xve);let l=!1;const u=(0,s.default)(),d=()=>u.ROARR,f=()=>({messageContext:{},transforms:[]}),p=()=>{const y=d().asyncLocalStorage;if(!y)throw new Error("AsyncLocalContext is unavailable.");const S=y.getStore();return S||f()},g=()=>!!d().asyncLocalStorage,m=()=>{if(g()){const y=p();return(0,i.hasOwnProperty)(y,"sequenceRoot")&&(0,i.hasOwnProperty)(y,"sequence")&&typeof y.sequence=="number"?String(y.sequenceRoot)+"."+String(y.sequence++):String(d().sequence++)}return String(d().sequence++)},v=(y,S)=>(C,T,E,P,k,O,M,G,U,A)=>{y.child({logLevel:S})(C,T,E,P,k,O,M,G,U,A)},x=1e3,_=(y,S)=>(C,T,E,P,k,O,M,G,U,A)=>{const N=(0,a.default)({a:C,b:T,c:E,d:P,e:k,f:O,g:M,h:G,i:U,j:A,logLevel:S});if(!N)throw new Error("Expected key to be a string");const F=d().onceLog;F.has(N)||(F.add(N),F.size>x&&F.clear(),y.child({logLevel:S})(C,T,E,P,k,O,M,G,U,A))},b=(y,S={},C=[])=>{const T=(E,P,k,O,M,G,U,A,N,F)=>{const B=Date.now(),D=m();let V;g()?V=p():V=f();let j,q;if(typeof E=="string"?j={...V.messageContext,...S}:j={...V.messageContext,...S,...E},typeof E=="string"&&P===void 0)q=E;else if(typeof E=="string"){if(!E.includes("%"))throw new Error("When a string parameter is followed by other arguments, then it is assumed that you are attempting to format a message using printf syntax. You either forgot to add printf bindings or if you meant to add context to the log message, pass them in an object as the first parameter.");q=(0,o.printf)(E,P,k,O,M,G,U,A,N,F)}else{let ee=P;if(typeof P!="string")if(P===void 0)ee="";else throw new TypeError("Message must be a string. Received "+typeof P+".");q=(0,o.printf)(ee,k,O,M,G,U,A,N,F)}let Z={context:j,message:q,sequence:D,time:B,version:n.ROARR_LOG_FORMAT_VERSION};for(const ee of[...V.transforms,...C])if(Z=ee(Z),typeof Z!="object"||Z===null)throw new Error("Message transform function must return a message object.");y(Z)};return T.child=E=>{let P;return g()?P=p():P=f(),typeof E=="function"?(0,e.createLogger)(y,{...P.messageContext,...S,...E},[E,...C]):(0,e.createLogger)(y,{...P.messageContext,...S,...E},C)},T.getContext=()=>{let E;return g()?E=p():E=f(),{...E.messageContext,...S}},T.adopt=async(E,P)=>{if(!g())return l===!1&&(l=!0,y({context:{logLevel:r.logLevels.warn,package:"roarr"},message:"async_hooks are unavailable; Roarr.adopt will not function as expected",sequence:m(),time:Date.now(),version:n.ROARR_LOG_FORMAT_VERSION})),E();const k=p();let O;(0,i.hasOwnProperty)(k,"sequenceRoot")&&(0,i.hasOwnProperty)(k,"sequence")&&typeof k.sequence=="number"?O=k.sequenceRoot+"."+String(k.sequence++):O=String(d().sequence++);let M={...k.messageContext};const G=[...k.transforms];typeof P=="function"?G.push(P):M={...M,...P};const U=d().asyncLocalStorage;if(!U)throw new Error("Async local context unavailable.");return U.run({messageContext:M,sequence:0,sequenceRoot:O,transforms:G},()=>E())},T.debug=v(T,r.logLevels.debug),T.debugOnce=_(T,r.logLevels.debug),T.error=v(T,r.logLevels.error),T.errorOnce=_(T,r.logLevels.error),T.fatal=v(T,r.logLevels.fatal),T.fatalOnce=_(T,r.logLevels.fatal),T.info=v(T,r.logLevels.info),T.infoOnce=_(T,r.logLevels.info),T.trace=v(T,r.logLevels.trace),T.traceOnce=_(T,r.logLevels.trace),T.warn=v(T,r.logLevels.warn),T.warnOnce=_(T,r.logLevels.warn),T};e.createLogger=b})(uU);var Qb={},Cve=function(t,n){for(var r=t.split("."),i=n.split("."),o=0;o<3;o++){var s=Number(r[o]),a=Number(i[o]);if(s>a)return 1;if(a>s)return-1;if(!isNaN(s)&&isNaN(a))return 1;if(isNaN(s)&&!isNaN(a))return-1}return 0},Tve=He&&He.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Qb,"__esModule",{value:!0});Qb.createRoarrInitialGlobalStateBrowser=void 0;const lO=lc,uO=Tve(Cve),Eve=e=>{const t=(e.versions||[]).concat();return t.length>1&&t.sort(uO.default),t.includes(lO.ROARR_VERSION)||t.push(lO.ROARR_VERSION),t.sort(uO.default),{sequence:0,...e,versions:t}};Qb.createRoarrInitialGlobalStateBrowser=Eve;var Zb={};Object.defineProperty(Zb,"__esModule",{value:!0});Zb.getLogLevelName=void 0;const Ave=e=>e<=10?"trace":e<=20?"debug":e<=30?"info":e<=40?"warn":e<=50?"error":"fatal";Zb.getLogLevelName=Ave;(function(e){var t=He&&He.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0}),e.getLogLevelName=e.logLevels=e.Roarr=e.ROARR=void 0;const n=uU,r=Qb,o=(0,t(nE).default)(),s=(0,r.createRoarrInitialGlobalStateBrowser)(o.ROARR||{});e.ROARR=s,o.ROARR=s;const a=f=>JSON.stringify(f),l=(0,n.createLogger)(f=>{var p;s.write&&s.write(((p=s.serializeMessage)!==null&&p!==void 0?p:a)(f))});e.Roarr=l;var u=Tm;Object.defineProperty(e,"logLevels",{enumerable:!0,get:function(){return u.logLevels}});var d=Zb;Object.defineProperty(e,"getLogLevelName",{enumerable:!0,get:function(){return d.getLogLevelName}})})(Cm);var Pve=He&&He.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i0?g("%c ".concat(p," %c").concat(d?" [".concat(String(d),"]:"):"","%c ").concat(a.message," %O"),v,x,_,f):g("%c ".concat(p," %c").concat(d?" [".concat(String(d),"]:"):"","%c ").concat(a.message),v,x,_)}}};Nb.createLogWriter=$ve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createLogWriter=void 0;var t=Nb;Object.defineProperty(e,"createLogWriter",{enumerable:!0,get:function(){return t.createLogWriter}})})(zB);Cm.ROARR.write=zB.createLogWriter();const hU={};Cm.Roarr.child(hU);const Jb=gm(Cm.Roarr.child(hU)),Ie=e=>Jb.get().child({namespace:e}),LIe=["trace","debug","info","warn","error","fatal"],DIe={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function Fve(){const e=[];return function(t,n){if(typeof n!="object"||n===null)return n;for(;e.length>0&&e.at(-1)!==this;)e.pop();return e.includes(n)?"[Circular]":(e.push(n),n)}}const Ig=Bl("nodes/receivedOpenAPISchema",async(e,{dispatch:t,rejectWithValue:n})=>{const r=Ie("system");try{const o=await(await fetch("openapi.json")).json();return r.info({openAPISchema:o},"Received OpenAPI schema"),JSON.parse(JSON.stringify(o,Fve()))}catch(i){return n({error:i})}}),pU={nodes:[],edges:[],schema:null,invocationTemplates:{},connectionStartParams:null,shouldShowGraphOverlay:!1,shouldShowFieldTypeLegend:!1,shouldShowMinimapPanel:!0,editorInstance:void 0,progressNodeSize:{width:512,height:512}},gU=yn({name:"nodes",initialState:pU,reducers:{nodesChanged:(e,t)=>{e.nodes=kB(t.payload,e.nodes)},nodeAdded:(e,t)=>{e.nodes.push(t.payload)},edgesChanged:(e,t)=>{e.edges=Xme(t.payload,e.edges)},connectionStarted:(e,t)=>{e.connectionStartParams=t.payload},connectionMade:(e,t)=>{e.edges=iB(t.payload,e.edges)},connectionEnded:e=>{e.connectionStartParams=null},fieldValueChanged:(e,t)=>{var a,l,u;const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(d=>d.id===n),s=(u=(l=(a=e.nodes)==null?void 0:a[o])==null?void 0:l.data)==null?void 0:u.inputs[r];s&&o>-1&&(s.value=i)},imageCollectionFieldValueChanged:(e,t)=>{var l,u,d;const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(f=>f.id===n);if(o===-1)return;const s=(d=(u=(l=e.nodes)==null?void 0:l[o])==null?void 0:u.data)==null?void 0:d.inputs[r];if(!s)return;const a=zr(s.value);if(!a){s.value=i;return}s.value=ele(a.concat(i),"image_name")},shouldShowGraphOverlayChanged:(e,t)=>{e.shouldShowGraphOverlay=t.payload},shouldShowFieldTypeLegendChanged:(e,t)=>{e.shouldShowFieldTypeLegend=t.payload},shouldShowMinimapPanelChanged:(e,t)=>{e.shouldShowMinimapPanel=t.payload},nodeTemplatesBuilt:(e,t)=>{e.invocationTemplates=t.payload},nodeEditorReset:e=>{e.nodes=[],e.edges=[]},setEditorInstance:(e,t)=>{e.editorInstance=t.payload},loadFileNodes:(e,t)=>{e.nodes=t.payload},loadFileEdges:(e,t)=>{e.edges=t.payload},setProgressNodeSize:(e,t)=>{e.progressNodeSize=t.payload}},extraReducers:e=>{e.addCase(Ig.fulfilled,(t,n)=>{t.schema=n.payload})}}),{nodesChanged:$Ie,edgesChanged:FIe,nodeAdded:BIe,fieldValueChanged:mU,connectionMade:UIe,connectionStarted:zIe,connectionEnded:VIe,shouldShowGraphOverlayChanged:jIe,shouldShowFieldTypeLegendChanged:GIe,shouldShowMinimapPanelChanged:HIe,nodeTemplatesBuilt:oE,nodeEditorReset:sE,imageCollectionFieldValueChanged:WIe,setEditorInstance:qIe,loadFileNodes:KIe,loadFileEdges:XIe,setProgressNodeSize:YIe}=gU.actions,Bve=gU.reducer,yU={esrganModelName:"RealESRGAN_x4plus.pth"},vU=yn({name:"postprocessing",initialState:yU,reducers:{esrganModelNameChanged:(e,t)=>{e.esrganModelName=t.payload}}}),{esrganModelNameChanged:QIe}=vU.actions,Uve=vU.reducer,zve={positiveStylePrompt:"",negativeStylePrompt:"",shouldConcatSDXLStylePrompt:!0,shouldUseSDXLRefiner:!1,sdxlImg2ImgDenoisingStrength:.7,refinerModel:null,refinerSteps:20,refinerCFGScale:7.5,refinerScheduler:"euler",refinerAestheticScore:6,refinerStart:.7},_U=yn({name:"sdxl",initialState:zve,reducers:{setPositiveStylePromptSDXL:(e,t)=>{e.positiveStylePrompt=t.payload},setNegativeStylePromptSDXL:(e,t)=>{e.negativeStylePrompt=t.payload},setShouldConcatSDXLStylePrompt:(e,t)=>{e.shouldConcatSDXLStylePrompt=t.payload},setShouldUseSDXLRefiner:(e,t)=>{e.shouldUseSDXLRefiner=t.payload},setSDXLImg2ImgDenoisingStrength:(e,t)=>{e.sdxlImg2ImgDenoisingStrength=t.payload},refinerModelChanged:(e,t)=>{e.refinerModel=t.payload},setRefinerSteps:(e,t)=>{e.refinerSteps=t.payload},setRefinerCFGScale:(e,t)=>{e.refinerCFGScale=t.payload},setRefinerScheduler:(e,t)=>{e.refinerScheduler=t.payload},setRefinerAestheticScore:(e,t)=>{e.refinerAestheticScore=t.payload},setRefinerStart:(e,t)=>{e.refinerStart=t.payload}}}),{setPositiveStylePromptSDXL:ZIe,setNegativeStylePromptSDXL:JIe,setShouldConcatSDXLStylePrompt:e7e,setShouldUseSDXLRefiner:Vve,setSDXLImg2ImgDenoisingStrength:t7e,refinerModelChanged:dO,setRefinerSteps:n7e,setRefinerCFGScale:r7e,setRefinerScheduler:i7e,setRefinerAestheticScore:o7e,setRefinerStart:s7e}=_U.actions,jve=_U.reducer,Em=Re("app/userInvoked"),Gve={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class H1{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||Gve,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]=this.observers[r]||[],this.observers[r].push(n)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t]=this.observers[t].filter(r=>r!==n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{s(...r)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(s=>{s.apply(s,[t,...r])})}}function Xh(){let e,t;const n=new Promise((r,i)=>{e=r,t=i});return n.resolve=e,n.reject=t,n}function fO(e){return e==null?"":""+e}function Hve(e,t,n){e.forEach(r=>{t[r]&&(n[r]=t[r])})}function aE(e,t,n){function r(s){return s&&s.indexOf("###")>-1?s.replace(/###/g,"."):s}function i(){return!e||typeof e=="string"}const o=typeof t!="string"?[].concat(t):t.split(".");for(;o.length>1;){if(i())return{};const s=r(o.shift());!e[s]&&n&&(e[s]=new n),Object.prototype.hasOwnProperty.call(e,s)?e=e[s]:e={}}return i()?{}:{obj:e,k:r(o.shift())}}function hO(e,t,n){const{obj:r,k:i}=aE(e,t,Object);r[i]=n}function Wve(e,t,n,r){const{obj:i,k:o}=aE(e,t,Object);i[o]=i[o]||[],r&&(i[o]=i[o].concat(n)),r||i[o].push(n)}function W1(e,t){const{obj:n,k:r}=aE(e,t);if(n)return n[r]}function qve(e,t,n){const r=W1(e,n);return r!==void 0?r:W1(t,n)}function bU(e,t,n){for(const r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?typeof e[r]=="string"||e[r]instanceof String||typeof t[r]=="string"||t[r]instanceof String?n&&(e[r]=t[r]):bU(e[r],t[r],n):e[r]=t[r]);return e}function ld(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var Kve={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function Xve(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,t=>Kve[t]):e}const Yve=[" ",",","?","!",";"];function Qve(e,t,n){t=t||"",n=n||"";const r=Yve.filter(s=>t.indexOf(s)<0&&n.indexOf(s)<0);if(r.length===0)return!0;const i=new RegExp(`(${r.map(s=>s==="?"?"\\?":s).join("|")})`);let o=!i.test(e);if(!o){const s=e.indexOf(n);s>0&&!i.test(e.substring(0,s))&&(o=!0)}return o}function q1(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let i=e;for(let o=0;oo+s;)s++,a=r.slice(o,o+s).join(n),l=i[a];if(l===void 0)return;if(l===null)return null;if(t.endsWith(a)){if(typeof l=="string")return l;if(a&&typeof l[a]=="string")return l[a]}const u=r.slice(o+s).join(n);return u?q1(l,u,n):void 0}i=i[r[o]]}return i}function K1(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class pO extends eS{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const o=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,s=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let a=[t,n];r&&typeof r!="string"&&(a=a.concat(r)),r&&typeof r=="string"&&(a=a.concat(o?r.split(o):r)),t.indexOf(".")>-1&&(a=t.split("."));const l=W1(this.data,a);return l||!s||typeof r!="string"?l:q1(this.data&&this.data[t]&&this.data[t][n],r,o)}addResource(t,n,r,i){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator;let a=[t,n];r&&(a=a.concat(s?r.split(s):r)),t.indexOf(".")>-1&&(a=t.split("."),i=n,n=a[1]),this.addNamespaces(n),hO(this.data,a,i),o.silent||this.emit("added",t,n,r,i)}addResources(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const o in r)(typeof r[o]=="string"||Object.prototype.toString.apply(r[o])==="[object Array]")&&this.addResource(t,n,o,r[o],{silent:!0});i.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},a=[t,n];t.indexOf(".")>-1&&(a=t.split("."),i=r,r=n,n=a[1]),this.addNamespaces(n);let l=W1(this.data,a)||{};i?bU(l,r,o):l={...l,...r},hO(this.data,a,l),s.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,n)}:this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var SU={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(o=>{this.processors[o]&&(t=this.processors[o].process(t,n,r,i))}),t}};const gO={};class X1 extends eS{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Hve(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=Cs.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const r=this.resolve(t,n);return r&&r.res!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let o=n.ns||this.options.defaultNS||[];const s=r&&t.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!Qve(t,r,i);if(s&&!a){const l=t.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:t,namespaces:o};const u=t.split(r);(r!==i||r===i&&this.options.ns.indexOf(u[0])>-1)&&(o=u.shift()),t=u.join(i)}return typeof o=="string"&&(o=[o]),{key:t,namespaces:o}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:s,namespaces:a}=this.extractFromKey(t[t.length-1],n),l=a[a.length-1],u=n.lng||this.language,d=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(d){const S=n.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${S}${s}`,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:`${l}${S}${s}`}return i?{res:s,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:s}const f=this.resolve(t,n);let p=f&&f.res;const g=f&&f.usedKey||s,m=f&&f.exactUsedKey||s,v=Object.prototype.toString.apply(p),x=["[object Number]","[object Function]","[object RegExp]"],_=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,b=!this.i18nFormat||this.i18nFormat.handleAsObject;if(b&&p&&(typeof p!="string"&&typeof p!="boolean"&&typeof p!="number")&&x.indexOf(v)<0&&!(typeof _=="string"&&v==="[object Array]")){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const S=this.options.returnedObjectHandler?this.options.returnedObjectHandler(g,p,{...n,ns:a}):`key '${s} (${this.language})' returned an object instead of string.`;return i?(f.res=S,f):S}if(o){const S=v==="[object Array]",C=S?[]:{},T=S?m:g;for(const E in p)if(Object.prototype.hasOwnProperty.call(p,E)){const P=`${T}${o}${E}`;C[E]=this.translate(P,{...n,joinArrays:!1,ns:a}),C[E]===P&&(C[E]=p[E])}p=C}}else if(b&&typeof _=="string"&&v==="[object Array]")p=p.join(_),p&&(p=this.extendTranslation(p,t,n,r));else{let S=!1,C=!1;const T=n.count!==void 0&&typeof n.count!="string",E=X1.hasDefaultValue(n),P=T?this.pluralResolver.getSuffix(u,n.count,n):"",k=n.ordinal&&T?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",O=n[`defaultValue${P}`]||n[`defaultValue${k}`]||n.defaultValue;!this.isValidLookup(p)&&E&&(S=!0,p=O),this.isValidLookup(p)||(C=!0,p=s);const G=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&C?void 0:p,U=E&&O!==p&&this.options.updateMissing;if(C||S||U){if(this.logger.log(U?"updateKey":"missingKey",u,l,s,U?O:p),o){const B=this.resolve(s,{...n,keySeparator:!1});B&&B.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let A=[];const N=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&N&&N[0])for(let B=0;B{const j=E&&V!==p?V:G;this.options.missingKeyHandler?this.options.missingKeyHandler(B,l,D,j,U,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(B,l,D,j,U,n),this.emit("missingKey",B,l,D,p)};this.options.saveMissing&&(this.options.saveMissingPlurals&&T?A.forEach(B=>{this.pluralResolver.getSuffixes(B,n).forEach(D=>{F([B],s+D,n[`defaultValue${D}`]||O)})}):F(A,s,O))}p=this.extendTranslation(p,t,n,f,r),C&&p===s&&this.options.appendNamespaceToMissingKey&&(p=`${l}:${s}`),(C||S)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?p=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${s}`:s,S?p:void 0):p=this.options.parseMissingKeyHandler(p))}return i?(f.res=p,f):p}extendTranslation(t,n,r,i,o){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const u=typeof t=="string"&&(r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let d;if(u){const p=t.match(this.interpolator.nestingRegexp);d=p&&p.length}let f=r.replace&&typeof r.replace!="string"?r.replace:r;if(this.options.interpolation.defaultVariables&&(f={...this.options.interpolation.defaultVariables,...f}),t=this.interpolator.interpolate(t,f,r.lng||this.language,r),u){const p=t.match(this.interpolator.nestingRegexp),g=p&&p.length;d1&&arguments[1]!==void 0?arguments[1]:{},r,i,o,s,a;return typeof t=="string"&&(t=[t]),t.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),d=u.key;i=d;let f=u.namespaces;this.options.fallbackNS&&(f=f.concat(this.options.fallbackNS));const p=n.count!==void 0&&typeof n.count!="string",g=p&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),m=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",v=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);f.forEach(x=>{this.isValidLookup(r)||(a=x,!gO[`${v[0]}-${x}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(gO[`${v[0]}-${x}`]=!0,this.logger.warn(`key "${i}" for languages "${v.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),v.forEach(_=>{if(this.isValidLookup(r))return;s=_;const b=[d];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(b,d,_,x,n);else{let S;p&&(S=this.pluralResolver.getSuffix(_,n.count,n));const C=`${this.options.pluralSeparator}zero`,T=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(p&&(b.push(d+S),n.ordinal&&S.indexOf(T)===0&&b.push(d+S.replace(T,this.options.pluralSeparator)),g&&b.push(d+C)),m){const E=`${d}${this.options.contextSeparator}${n.context}`;b.push(E),p&&(b.push(E+S),n.ordinal&&S.indexOf(T)===0&&b.push(E+S.replace(T,this.options.pluralSeparator)),g&&b.push(E+C))}}let y;for(;y=b.pop();)this.isValidLookup(r)||(o=y,r=this.getResource(_,x,y,n))}))})}),{res:r,usedKey:i,exactUsedKey:o,usedLng:s,usedNS:a}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,n,r,i):this.resourceStore.getResource(t,n,r,i)}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}function Ox(e){return e.charAt(0).toUpperCase()+e.slice(1)}class mO{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Cs.create("languageUtils")}getScriptPartFromCode(t){if(t=K1(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=K1(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(typeof t=="string"&&t.indexOf("-")>-1){const n=["hans","hant","latn","cyrl","cans","mong","arab"];let r=t.split("-");return this.options.lowerCaseLng?r=r.map(i=>i.toLowerCase()):r.length===2?(r[0]=r[0].toLowerCase(),r[1]=r[1].toUpperCase(),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=Ox(r[1].toLowerCase()))):r.length===3&&(r[0]=r[0].toLowerCase(),r[1].length===2&&(r[1]=r[1].toUpperCase()),r[0]!=="sgn"&&r[2].length===2&&(r[2]=r[2].toUpperCase()),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=Ox(r[1].toLowerCase())),n.indexOf(r[2].toLowerCase())>-1&&(r[2]=Ox(r[2].toLowerCase()))),r.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const i=this.getLanguagePartFromCode(r);if(this.isSupportedCode(i))return n=i;n=this.options.supportedLngs.find(o=>{if(o===i)return o;if(!(o.indexOf("-")<0&&i.indexOf("-")<0)&&o.indexOf(i)===0)return o})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),typeof t=="string"&&(t=[t]),Object.prototype.toString.apply(t)==="[object Array]")return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),i=[],o=s=>{s&&(this.isSupportedCode(s)?i.push(s):this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`))};return typeof t=="string"&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(t))):typeof t=="string"&&o(this.formatLanguageCode(t)),r.forEach(s=>{i.indexOf(s)<0&&o(this.formatLanguageCode(s))}),i}}let Zve=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],Jve={1:function(e){return+(e>1)},2:function(e){return+(e!=1)},3:function(e){return 0},4:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},5:function(e){return e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},6:function(e){return e==1?0:e>=2&&e<=4?1:2},7:function(e){return e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},8:function(e){return e==1?0:e==2?1:e!=8&&e!=11?2:3},9:function(e){return+(e>=2)},10:function(e){return e==1?0:e==2?1:e<7?2:e<11?3:4},11:function(e){return e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3},12:function(e){return+(e%10!=1||e%100==11)},13:function(e){return+(e!==0)},14:function(e){return e==1?0:e==2?1:e==3?2:3},15:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2},16:function(e){return e%10==1&&e%100!=11?0:e!==0?1:2},17:function(e){return e==1||e%10==1&&e%100!=11?0:1},18:function(e){return e==0?0:e==1?1:2},19:function(e){return e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3},20:function(e){return e==1?0:e==0||e%100>0&&e%100<20?1:2},21:function(e){return e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0},22:function(e){return e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3}};const e1e=["v1","v2","v3"],t1e=["v4"],yO={zero:0,one:1,two:2,few:3,many:4,other:5};function n1e(){const e={};return Zve.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:Jve[t.fc]}})}),e}class r1e{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=Cs.create("pluralResolver"),(!this.options.compatibilityJSON||t1e.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=n1e()}addRule(t,n){this.rules[t]=n}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(K1(t),{type:n.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return this.shouldUseIntlApi()?r&&r.resolvedOptions().pluralCategories.length>1:r&&r.numbers.length>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(i=>`${n}${i}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((i,o)=>yO[i]-yO[o]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):r.numbers.map(i=>this.getSuffix(t,i,n)):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(t,r);return i?this.shouldUseIntlApi()?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:this.getSuffixRetroCompatible(i,n):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,n){const r=t.noAbs?t.plurals(n):t.plurals(Math.abs(n));let i=t.numbers[r];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(i===2?i="plural":i===1&&(i=""));const o=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return this.options.compatibilityJSON==="v1"?i===1?"":typeof i=="number"?`_plural_${i.toString()}`:o():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?o():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}shouldUseIntlApi(){return!e1e.includes(this.options.compatibilityJSON)}}function vO(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=qve(e,t,n);return!o&&i&&typeof n=="string"&&(o=q1(e,n,r),o===void 0&&(o=q1(t,n,r))),o}class i1e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Cs.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(n=>n),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const n=t.interpolation;this.escape=n.escape!==void 0?n.escape:Xve,this.escapeValue=n.escapeValue!==void 0?n.escapeValue:!0,this.useRawValueToEscape=n.useRawValueToEscape!==void 0?n.useRawValueToEscape:!1,this.prefix=n.prefix?ld(n.prefix):n.prefixEscaped||"{{",this.suffix=n.suffix?ld(n.suffix):n.suffixEscaped||"}}",this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||",",this.unescapePrefix=n.unescapeSuffix?"":n.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":n.unescapeSuffix||"",this.nestingPrefix=n.nestingPrefix?ld(n.nestingPrefix):n.nestingPrefixEscaped||ld("$t("),this.nestingSuffix=n.nestingSuffix?ld(n.nestingSuffix):n.nestingSuffixEscaped||ld(")"),this.nestingOptionsSeparator=n.nestingOptionsSeparator?n.nestingOptionsSeparator:n.nestingOptionsSeparator||",",this.maxReplaces=n.maxReplaces?n.maxReplaces:1e3,this.alwaysFormat=n.alwaysFormat!==void 0?n.alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=`${this.prefix}(.+?)${this.suffix}`;this.regexp=new RegExp(t,"g");const n=`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;this.regexpUnescape=new RegExp(n,"g");const r=`${this.nestingPrefix}(.+?)${this.nestingSuffix}`;this.nestingRegexp=new RegExp(r,"g")}interpolate(t,n,r,i){let o,s,a;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(m){return m.replace(/\$/g,"$$$$")}const d=m=>{if(m.indexOf(this.formatSeparator)<0){const b=vO(n,l,m,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(b,void 0,r,{...i,...n,interpolationkey:m}):b}const v=m.split(this.formatSeparator),x=v.shift().trim(),_=v.join(this.formatSeparator).trim();return this.format(vO(n,l,x,this.options.keySeparator,this.options.ignoreJSONStructure),_,r,{...i,...n,interpolationkey:x})};this.resetRegExp();const f=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,p=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:m=>u(m)},{regex:this.regexp,safeValue:m=>this.escapeValue?u(this.escape(m)):u(m)}].forEach(m=>{for(a=0;o=m.regex.exec(t);){const v=o[1].trim();if(s=d(v),s===void 0)if(typeof f=="function"){const _=f(t,o,i);s=typeof _=="string"?_:""}else if(i&&Object.prototype.hasOwnProperty.call(i,v))s="";else if(p){s=o[0];continue}else this.logger.warn(`missed to pass in variable ${v} for interpolating ${t}`),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=fO(s));const x=m.safeValue(s);if(t=t.replace(o[0],x),p?(m.regex.lastIndex+=s.length,m.regex.lastIndex-=o[0].length):m.regex.lastIndex=0,a++,a>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,o,s;function a(l,u){const d=this.nestingOptionsSeparator;if(l.indexOf(d)<0)return l;const f=l.split(new RegExp(`${d}[ ]*{`));let p=`{${f[1]}`;l=f[0],p=this.interpolate(p,s);const g=p.match(/'/g),m=p.match(/"/g);(g&&g.length%2===0&&!m||m.length%2!==0)&&(p=p.replace(/'/g,'"'));try{s=JSON.parse(p),u&&(s={...u,...s})}catch(v){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,v),`${l}${d}${p}`}return delete s.defaultValue,l}for(;i=this.nestingRegexp.exec(t);){let l=[];s={...r},s=s.replace&&typeof s.replace!="string"?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let u=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const d=i[1].split(this.formatSeparator).map(f=>f.trim());i[1]=d.shift(),l=d,u=!0}if(o=n(a.call(this,i[1].trim(),s),s),o&&i[0]===t&&typeof o!="string")return o;typeof o!="string"&&(o=fO(o)),o||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${t}`),o=""),u&&(o=l.reduce((d,f)=>this.format(d,f,r.lng,{...r,interpolationkey:i[1].trim()}),o.trim())),t=t.replace(i[0],o),this.regexp.lastIndex=0}return t}}function o1e(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);t==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):t==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(s=>{if(!s)return;const[a,...l]=s.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,"");n[a.trim()]||(n[a.trim()]=u),u==="false"&&(n[a.trim()]=!1),u==="true"&&(n[a.trim()]=!0),isNaN(u)||(n[a.trim()]=parseInt(u,10))})}return{formatName:t,formatOptions:n}}function ud(e){const t={};return function(r,i,o){const s=i+JSON.stringify(o);let a=t[s];return a||(a=e(K1(i),o),t[s]=a),a(r)}}class s1e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Cs.create("formatter"),this.options=t,this.formats={number:ud((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return o=>i.format(o)}),currency:ud((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return o=>i.format(o)}),datetime:ud((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return o=>i.format(o)}),relativetime:ud((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return o=>i.format(o,r.range||"day")}),list:ud((n,r)=>{const i=new Intl.ListFormat(n,{...r});return o=>i.format(o)})},this.init(t)}init(t){const r=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=ud(n)}format(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return n.split(this.formatSeparator).reduce((a,l)=>{const{formatName:u,formatOptions:d}=o1e(l);if(this.formats[u]){let f=a;try{const p=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},g=p.locale||p.lng||i.locale||i.lng||r;f=this.formats[u](a,g,{...d,...i,...p})}catch(p){this.logger.warn(p)}return f}else this.logger.warn(`there was no format function for ${u}`);return a},t)}}function a1e(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}class l1e extends eS{constructor(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=Cs.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(r,i.backend,i)}queueLoad(t,n,r,i){const o={},s={},a={},l={};return t.forEach(u=>{let d=!0;n.forEach(f=>{const p=`${u}|${f}`;!r.reload&&this.store.hasResourceBundle(u,f)?this.state[p]=2:this.state[p]<0||(this.state[p]===1?s[p]===void 0&&(s[p]=!0):(this.state[p]=1,d=!1,s[p]===void 0&&(s[p]=!0),o[p]===void 0&&(o[p]=!0),l[f]===void 0&&(l[f]=!0)))}),d||(a[u]=!0)}),(Object.keys(o).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(s),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(l)}}loaded(t,n,r){const i=t.split("|"),o=i[0],s=i[1];n&&this.emit("failedLoading",o,s,n),r&&this.store.addResourceBundle(o,s,r),this.state[t]=n?-1:2;const a={};this.queue.forEach(l=>{Wve(l.loaded,[o],s),a1e(l,t),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{a[u]||(a[u]={});const d=l.loaded[u];d.length&&d.forEach(f=>{a[u][f]===void 0&&(a[u][f]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(l=>!l.done)}read(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!t.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:i,wait:o,callback:s});return}this.readingCalls++;const a=(u,d)=>{if(this.readingCalls--,this.waitingReads.length>0){const f=this.waitingReads.shift();this.read(f.lng,f.ns,f.fcName,f.tried,f.wait,f.callback)}if(u&&d&&i{this.read.call(this,t,n,r,i+1,o*2,s)},o);return}s(u,d)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(t,n);u&&typeof u.then=="function"?u.then(d=>a(null,d)).catch(a):a(null,u)}catch(u){a(u)}return}return l(t,n,a)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();typeof t=="string"&&(t=this.languageUtils.toResolveHierarchy(t)),typeof n=="string"&&(n=[n]);const o=this.queueLoad(t,n,r,i);if(!o.toLoad.length)return o.pending.length||i(),null;o.toLoad.forEach(s=>{this.loadOne(s)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),i=r[0],o=r[1];this.read(i,o,"read",void 0,void 0,(s,a)=>{s&&this.logger.warn(`${n}loading namespace ${o} for language ${i} failed`,s),!s&&a&&this.logger.log(`${n}loaded namespace ${o} for language ${i}`,a),this.loaded(t,s,a)})}saveMissing(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend&&this.backend.create){const l={...s,isUpdate:o},u=this.backend.create.bind(this.backend);if(u.length<6)try{let d;u.length===5?d=u(t,n,r,i,l):d=u(t,n,r,i),d&&typeof d.then=="function"?d.then(f=>a(null,f)).catch(a):a(null,d)}catch(d){a(d)}else u(t,n,r,i,a,l)}!t||!t[0]||this.store.addResource(t[0],n,r,i)}}}function _O(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let n={};if(typeof t[1]=="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const r=t[3]||t[2];Object.keys(r).forEach(i=>{n[i]=r[i]})}return n},interpolation:{escapeValue:!0,format:(e,t,n,r)=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function bO(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function R0(){}function u1e(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}class Mg extends eS{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=bO(t),this.services={},this.logger=Cs,this.modules={external:[]},u1e(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(typeof n.ns=="string"?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const i=_O();this.options={...i,...this.options,...bO(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);function o(d){return d?typeof d=="function"?new d:d:null}if(!this.options.isClone){this.modules.logger?Cs.init(o(this.modules.logger),this.options):Cs.init(null,this.options);let d;this.modules.formatter?d=this.modules.formatter:typeof Intl<"u"&&(d=s1e);const f=new mO(this.options);this.store=new pO(this.options.resources,this.options);const p=this.services;p.logger=Cs,p.resourceStore=this.store,p.languageUtils=f,p.pluralResolver=new r1e(f,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),d&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(p.formatter=o(d),p.formatter.init(p,this.options),this.options.interpolation.format=p.formatter.format.bind(p.formatter)),p.interpolator=new i1e(this.options),p.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},p.backendConnector=new l1e(o(this.modules.backend),p.resourceStore,p,this.options),p.backendConnector.on("*",function(g){for(var m=arguments.length,v=new Array(m>1?m-1:0),x=1;x1?m-1:0),x=1;x{g.init&&g.init(this)})}if(this.format=this.options.interpolation.format,r||(r=R0),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const d=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);d.length>0&&d[0]!=="dev"&&(this.options.lng=d[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(d=>{this[d]=function(){return t.store[d](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(d=>{this[d]=function(){return t.store[d](...arguments),t}});const l=Xh(),u=()=>{const d=(f,p)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(p),r(f,p)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return d(null,this.t.bind(this));this.changeLanguage(this.options.lng,d)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),l}loadResources(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:R0;const i=typeof t=="string"?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(i&&i.toLowerCase()==="cimode")return r();const o=[],s=a=>{if(!a)return;this.services.languageUtils.toResolveHierarchy(a).forEach(u=>{o.indexOf(u)<0&&o.push(u)})};i?s(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>s(l)),this.options.preload&&this.options.preload.forEach(a=>s(a)),this.services.backendConnector.load(o,this.options.ns,a=>{!a&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(a)})}else r(null)}reloadResources(t,n,r){const i=Xh();return t||(t=this.languages),n||(n=this.options.ns),r||(r=R0),this.services.backendConnector.reload(t,n,o=>{i.resolve(),r(o)}),i}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&SU.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const i=Xh();this.emit("languageChanging",t);const o=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},s=(l,u)=>{u?(o(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,i.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},a=l=>{!t&&!l&&this.services.languageDetector&&(l=[]);const u=typeof l=="string"?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||o(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,d=>{s(d,u)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(t),i}getFixedT(t,n,r){var i=this;const o=function(s,a){let l;if(typeof a!="object"){for(var u=arguments.length,d=new Array(u>2?u-2:0),f=2;f`${l.keyPrefix}${p}${m}`):g=l.keyPrefix?`${l.keyPrefix}${p}${s}`:s,i.t(g,l)};return typeof t=="string"?o.lng=t:o.lngs=t,o.ns=n,o.keyPrefix=r,o}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=this.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};if(n.precheck){const a=n.precheck(this,s);if(a!==void 0)return a}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(r,t)&&(!i||s(o,t)))}loadNamespaces(t,n){const r=Xh();return this.options.ns?(typeof t=="string"&&(t=[t]),t.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),n&&n(i)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=Xh();typeof t=="string"&&(t=[t]);const i=this.options.preload||[],o=t.filter(s=>i.indexOf(s)<0);return o.length?(this.options.preload=i.concat(o),this.loadResources(s=>{r.resolve(),n&&n(s)}),r):(n&&n(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services&&this.services.languageUtils||new mO(_O());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new Mg(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:R0;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const i={...this.options,...t,isClone:!0},o=new Mg(i);return(t.debug!==void 0||t.prefix!==void 0)&&(o.logger=o.logger.clone(t)),["store","services","language"].forEach(a=>{o[a]=this[a]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new pO(this.store.data,i),o.services.resourceStore=o.store),o.translator=new X1(o.services,i),o.translator.on("*",function(a){for(var l=arguments.length,u=new Array(l>1?l-1:0),d=1;dtypeof e=="string"?{title:e,status:"info",isClosable:!0,duration:2500}:{status:"info",isClosable:!0,duration:2500,...e},wU={isConnected:!1,isProcessing:!1,isGFPGANAvailable:!0,isESRGANAvailable:!0,shouldConfirmOnDelete:!0,currentStep:0,totalSteps:0,currentIteration:0,totalIterations:0,currentStatusHasSteps:!1,isCancelable:!0,enableImageDebugging:!1,toastQueue:[],progressImage:null,shouldAntialiasProgressImage:!1,sessionId:null,cancelType:"immediate",isCancelScheduled:!1,subscribedNodeIds:[],wereModelsReceived:!1,wasSchemaParsed:!1,consoleLogLevel:"debug",shouldLogToConsole:!0,statusTranslationKey:"common.statusDisconnected",canceledSession:"",isPersisted:!1,language:"en",isUploading:!1,isNodesEnabled:!1,shouldUseNSFWChecker:!1,shouldUseWatermarker:!1},xU=yn({name:"system",initialState:wU,reducers:{setIsProcessing:(e,t)=>{e.isProcessing=t.payload},setCurrentStatus:(e,t)=>{e.statusTranslationKey=t.payload},setShouldConfirmOnDelete:(e,t)=>{e.shouldConfirmOnDelete=t.payload},setIsCancelable:(e,t)=>{e.isCancelable=t.payload},setEnableImageDebugging:(e,t)=>{e.enableImageDebugging=t.payload},addToast:(e,t)=>{e.toastQueue.push(t.payload)},clearToastQueue:e=>{e.toastQueue=[]},cancelScheduled:e=>{e.isCancelScheduled=!0},scheduledCancelAborted:e=>{e.isCancelScheduled=!1},cancelTypeChanged:(e,t)=>{e.cancelType=t.payload},subscribedNodeIdsSet:(e,t)=>{e.subscribedNodeIds=t.payload},consoleLogLevelChanged:(e,t)=>{e.consoleLogLevel=t.payload},shouldLogToConsoleChanged:(e,t)=>{e.shouldLogToConsole=t.payload},shouldAntialiasProgressImageChanged:(e,t)=>{e.shouldAntialiasProgressImage=t.payload},isPersistedChanged:(e,t)=>{e.isPersisted=t.payload},languageChanged:(e,t)=>{e.language=t.payload},progressImageSet(e,t){e.progressImage=t.payload},setIsNodesEnabled(e,t){e.isNodesEnabled=t.payload},shouldUseNSFWCheckerChanged(e,t){e.shouldUseNSFWChecker=t.payload},shouldUseWatermarkerChanged(e,t){e.shouldUseWatermarker=t.payload}},extraReducers(e){e.addCase(q$,(t,n)=>{t.sessionId=n.payload.sessionId,t.canceledSession=""}),e.addCase(X$,t=>{t.sessionId=null}),e.addCase(G$,t=>{t.isConnected=!0,t.isCancelable=!0,t.isProcessing=!1,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.currentIteration=0,t.totalIterations=0,t.statusTranslationKey="common.statusConnected"}),e.addCase(W$,t=>{t.isConnected=!1,t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusDisconnected"}),e.addCase(Q$,t=>{t.isCancelable=!0,t.isProcessing=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusGenerating"}),e.addCase(rF,(t,n)=>{const{step:r,total_steps:i,progress_image:o}=n.payload.data;t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!0,t.currentStep=r+1,t.totalSteps=i,t.progressImage=o??null,t.statusTranslationKey="common.statusGenerating"}),e.addCase(Z$,(t,n)=>{const{data:r}=n.payload;t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusProcessingComplete",t.canceledSession===r.graph_execution_state_id&&(t.isProcessing=!1,t.isCancelable=!0)}),e.addCase(tF,t=>{t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null}),e.addCase(Em,t=>{t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.statusTranslationKey="common.statusPreparing"}),e.addCase(mc.fulfilled,(t,n)=>{t.canceledSession=n.meta.arg.session_id,t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Ku({title:Pp("toast.canceled"),status:"warning"}))}),e.addCase(oE,t=>{t.wasSchemaParsed=!0}),e.addMatcher(r$,(t,n)=>{var r;t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Ku({title:Pp("toast.serverError"),status:"error",description:((r=n.payload)==null?void 0:r.status)===422?"Validation Error":void 0}))}),e.addMatcher(p1e,(t,n)=>{t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusError",t.progressImage=null,t.toastQueue.push(Ku({title:Pp("toast.serverError"),status:"error",description:Kae(n.payload.data.error_type)}))})}}),{setIsProcessing:a7e,setShouldConfirmOnDelete:l7e,setCurrentStatus:u7e,setIsCancelable:c7e,setEnableImageDebugging:d7e,addToast:Un,clearToastQueue:f7e,cancelScheduled:h7e,scheduledCancelAborted:p7e,cancelTypeChanged:g7e,subscribedNodeIdsSet:m7e,consoleLogLevelChanged:y7e,shouldLogToConsoleChanged:v7e,isPersistedChanged:_7e,shouldAntialiasProgressImageChanged:b7e,languageChanged:S7e,progressImageSet:c1e,setIsNodesEnabled:w7e,shouldUseNSFWCheckerChanged:d1e,shouldUseWatermarkerChanged:f1e}=xU.actions,h1e=xU.reducer,p1e=Co(LT,aF,uF),g1e={searchFolder:null,advancedAddScanModel:null},CU=yn({name:"modelmanager",initialState:g1e,reducers:{setSearchFolder:(e,t)=>{e.searchFolder=t.payload},setAdvancedAddScanModel:(e,t)=>{e.advancedAddScanModel=t.payload}}}),{setSearchFolder:x7e,setAdvancedAddScanModel:C7e}=CU.actions,m1e=CU.reducer,TU={shift:!1},EU=yn({name:"hotkeys",initialState:TU,reducers:{shiftKeyPressed:(e,t)=>{e.shift=t.payload}}}),{shiftKeyPressed:T7e}=EU.actions,y1e=EU.reducer,v1e=jY(MJ);AU=J3=void 0;var _1e=v1e,b1e=function(){var t=[],n=[],r=void 0,i=function(u){return r=u,function(d){return function(f){return _1e.compose.apply(void 0,n)(d)(f)}}},o=function(){for(var u,d,f=arguments.length,p=Array(f),g=0;g=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){n=n.call(e)},n:function(){var u=n.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(s)throw a}}}}function RU(e,t){if(e){if(typeof e=="string")return wO(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return wO(e,t)}}function wO(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,i=r.prefix,o=r.driver,s=r.persistWholeStore,a=r.serialize;try{var l=s?N1e:L1e;yield l(t,n,{prefix:i,driver:o,serialize:a})}catch(u){console.warn("redux-remember: persist error",u)}});return function(){return e.apply(this,arguments)}}();function EO(e,t,n,r,i,o,s){try{var a=e[o](s),l=a.value}catch(u){n(u);return}a.done?t(l):Promise.resolve(l).then(r,i)}function AO(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function s(l){EO(o,r,i,s,a,"next",l)}function a(l){EO(o,r,i,s,a,"throw",l)}s(void 0)})}}var $1e=function(){var e=AO(function*(t,n,r){var i=r.prefix,o=r.driver,s=r.serialize,a=r.unserialize,l=r.persistThrottle,u=r.persistDebounce,d=r.persistWholeStore;yield R1e(t,n,{prefix:i,driver:o,unserialize:a,persistWholeStore:d});var f={},p=function(){var g=AO(function*(){var m=PU(t.getState(),n);yield D1e(m,f,{prefix:i,driver:o,serialize:s,persistWholeStore:d}),uE(m,f)||t.dispatch({type:C1e,payload:m}),f=m});return function(){return g.apply(this,arguments)}}();u&&u>0?t.subscribe(E1e(p,u)):t.subscribe(T1e(p,l))});return function(n,r,i){return e.apply(this,arguments)}}();const F1e=$1e;function Ng(e){"@babel/helpers - typeof";return Ng=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ng(e)}function PO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Mx(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:n.state,i=arguments.length>1?arguments[1]:void 0;i.type&&(i.type==="@@INIT"||i.type.startsWith("@@redux/INIT"))&&(n.state=Mx({},r));var o=typeof t=="function"?t:Ff(t);switch(i.type){case e5:return n.state=o(Mx(Mx({},n.state),i.payload||{}),{type:e5}),n.state;default:return o(r,i)}}},j1e=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r.prefix,o=i===void 0?"@@remember-":i,s=r.serialize,a=s===void 0?function(x,_){return JSON.stringify(x)}:s,l=r.unserialize,u=l===void 0?function(x,_){return JSON.parse(x)}:l,d=r.persistThrottle,f=d===void 0?100:d,p=r.persistDebounce,g=r.persistWholeStore,m=g===void 0?!1:g;if(!t)throw Error("redux-remember error: driver required");if(!Array.isArray(n))throw Error("redux-remember error: rememberedKeys needs to be an array");var v=function(_){return function(b,y,S){var C=_(b,y,S);return F1e(C,n,{driver:t,prefix:o,serialize:a,unserialize:u,persistThrottle:f,persistDebounce:p,persistWholeStore:m}),C}};return v};const E7e=["chakra-ui-color-mode","i18nextLng","ROARR_FILTER","ROARR_LOG"],G1e="@@invokeai-",H1e=["cursorPosition","isCanvasInitialized","doesCanvasNeedScaling"],W1e=["pendingControlImages"],q1e=["selection","selectedBoardId","galleryView"],K1e=["schema","invocationTemplates"],X1e=[],Y1e=[],Q1e=["currentIteration","currentStep","isCancelable","isConnected","isESRGANAvailable","isGFPGANAvailable","isProcessing","totalIterations","totalSteps","isCancelScheduled","progressImage","wereModelsReceived","wasSchemaParsed","isPersisted","isUploading"],Z1e=["shouldShowImageDetails"],J1e={canvas:H1e,gallery:q1e,generation:X1e,nodes:K1e,postprocessing:Y1e,system:Q1e,ui:Z1e,controlNet:W1e},e_e=(e,t)=>{const n=rb(e,J1e[t]??[]);return JSON.stringify(n)},t_e={canvas:o$,gallery:pF,generation:La,nodes:pU,postprocessing:yU,system:wU,config:BD,ui:e$,hotkeys:TU,controlNet:M3},n_e=(e,t)=>hae(JSON.parse(e),t_e[t]),kU=Re("nodes/textToImageGraphBuilt"),IU=Re("nodes/imageToImageGraphBuilt"),MU=Re("nodes/canvasGraphBuilt"),NU=Re("nodes/nodesGraphBuilt"),r_e=Co(kU,IU,MU,NU),i_e=e=>{if(r_e(e)&&e.payload.nodes){const t={};return{...e,payload:{...e.payload,nodes:t}}}return Ig.fulfilled.match(e)?{...e,payload:""}:oE.match(e)?{...e,payload:""}:e},o_e=["canvas/setCursorPosition","canvas/setStageCoordinates","canvas/setStageScale","canvas/setIsDrawing","canvas/setBoundingBoxCoordinates","canvas/setBoundingBoxDimensions","canvas/setIsDrawing","canvas/addPointToCurrentLine","socket/socketGeneratorProgress","socket/appSocketGeneratorProgress","hotkeys/shiftKeyPressed","@@REMEMBER_PERSISTED"],s_e=e=>e,a_e=()=>{Pe({actionCreator:zue,effect:async(e,{dispatch:t,getState:n})=>{const r=Ie("canvas"),i=n(),{sessionId:o,isProcessing:s}=i.system,a=e.payload;if(s){if(!a){r.debug("No canvas session, skipping cancel");return}if(a!==o){r.debug({canvasSessionId:a,session_id:o},"Canvas session does not match global session, skipping cancel");return}t(mc({session_id:o}))}}})};Re("app/appStarted");const l_e=()=>{Pe({matcher:Se.endpoints.listImages.matchFulfilled,effect:async(e,{dispatch:t,unsubscribe:n,cancelActiveListeners:r})=>{if(e.meta.arg.queryCacheKey!==Fo({board_id:"none",categories:jr}))return;r(),n();const i=e.payload;if(i.ids.length>0){const o=pn.getSelectors().selectAll(i)[0];t(Rs(o??null))}}})},cE=Gl.injectEndpoints({endpoints:e=>({getAppVersion:e.query({query:()=>({url:"app/version",method:"GET"}),providesTags:["AppVersion"],keepUnusedDataFor:864e5}),getAppConfig:e.query({query:()=>({url:"app/config",method:"GET"}),providesTags:["AppConfig"],keepUnusedDataFor:864e5})})}),{useGetAppVersionQuery:A7e,useGetAppConfigQuery:P7e}=cE,u_e=()=>{Pe({matcher:cE.endpoints.getAppConfig.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const{infill_methods:r=[],nsfw_methods:i=[],watermarking_methods:o=[]}=e.payload,s=t().generation.infillMethod;r.includes(s)||n(bue(r[0])),i.includes("nsfw_checker")||n(d1e(!1)),o.includes("invisible_watermark")||n(f1e(!1))}})},c_e=Re("app/appStarted"),d_e=()=>{Pe({actionCreator:c_e,effect:async(e,{unsubscribe:t,cancelActiveListeners:n})=>{n(),t()}})},dE={memoizeOptions:{resultEqualityCheck:nb}},LU=(e,t)=>{var f;const{generation:n,canvas:r,nodes:i,controlNet:o}=e,s=((f=n.initialImage)==null?void 0:f.imageName)===t,a=r.layerState.objects.some(p=>p.kind==="image"&&p.imageName===t),l=i.nodes.some(p=>Ou(p.data.inputs,g=>{var m;return g.type==="image"&&((m=g.value)==null?void 0:m.image_name)===t})),u=Ou(o.controlNets,p=>p.controlImage===t||p.processedControlImage===t);return{isInitialImage:s,isCanvasImage:a,isNodesImage:l,isControlNetImage:u}},f_e=si([e=>e],e=>{const{imagesToDelete:t}=e.deleteImageModal;return t.length?t.map(r=>LU(e,r.image_name)):[]},dE),h_e=()=>{Pe({matcher:Se.endpoints.deleteBoardAndImages.matchFulfilled,effect:async(e,{dispatch:t,getState:n})=>{const{deleted_images:r}=e.payload;let i=!1,o=!1,s=!1,a=!1;const l=n();r.forEach(u=>{const d=LU(l,u);d.isInitialImage&&!i&&(t(ST()),i=!0),d.isCanvasImage&&!o&&(t(wT()),o=!0),d.isNodesImage&&!s&&(t(sE()),s=!0),d.isControlNetImage&&!a&&(t(FT()),a=!0)})}})},p_e=()=>{Pe({matcher:Co(N3,k1),effect:async(e,{getState:t,dispatch:n,condition:r,cancelActiveListeners:i})=>{i();const o=t(),s=N3.match(e)?e.payload:o.gallery.selectedBoardId,l=(k1.match(e)?e.payload:o.gallery.galleryView)==="images"?jr:Sl,u={board_id:s??"none",categories:l};if(await r(()=>Se.endpoints.listImages.select(u)(t()).isSuccess,5e3)){const{data:f}=Se.endpoints.listImages.select(u)(t());if(f){const p=O1.selectAll(f)[0];n(Rs(p??null))}else n(Rs(null))}else n(Rs(null))}})},g_e=Re("canvas/canvasSavedToGallery"),m_e=Re("canvas/canvasCopiedToClipboard"),y_e=Re("canvas/canvasDownloadedAsImage"),v_e=Re("canvas/canvasMerged"),__e=Re("canvas/stagingAreaImageSaved");let DU=null,$U=null;const R7e=e=>{DU=e},nS=()=>DU,O7e=e=>{$U=e},b_e=()=>$U,S_e=async e=>new Promise((t,n)=>{e.toBlob(r=>{if(r){t(r);return}n("Unable to create Blob")})}),Q1=async(e,t)=>await S_e(e.toCanvas(t)),fE=async e=>{const t=nS();if(!t)return;const{shouldCropToBoundingBoxOnSave:n,boundingBoxCoordinates:r,boundingBoxDimensions:i}=e.canvas,o=t.clone();o.scale({x:1,y:1});const s=o.getAbsolutePosition(),a=n?{x:r.x+s.x,y:r.y+s.y,width:i.width,height:i.height}:o.getClientRect();return Q1(o,a)},w_e=e=>{navigator.clipboard.write([new ClipboardItem({[e.type]:e})])},x_e=()=>{Pe({actionCreator:m_e,effect:async(e,{dispatch:t,getState:n})=>{const r=Jb.get().child({namespace:"canvasCopiedToClipboardListener"}),i=n(),o=await fE(i);if(!o){r.error("Problem getting base layer blob"),t(Un({title:"Problem Copying Canvas",description:"Unable to export base layer",status:"error"}));return}w_e(o),t(Un({title:"Canvas Copied to Clipboard",status:"success"}))}})},C_e=(e,t)=>{const n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),r.remove()},T_e=()=>{Pe({actionCreator:y_e,effect:async(e,{dispatch:t,getState:n})=>{const r=Jb.get().child({namespace:"canvasSavedToGalleryListener"}),i=n(),o=await fE(i);if(!o){r.error("Problem getting base layer blob"),t(Un({title:"Problem Downloading Canvas",description:"Unable to export base layer",status:"error"}));return}C_e(o,"canvas.png"),t(Un({title:"Canvas Downloaded",status:"success"}))}})},E_e=async()=>{const e=nS();if(!e)return;const t=e.clone();return t.scale({x:1,y:1}),Q1(t,t.getClientRect())},A_e=()=>{Pe({actionCreator:v_e,effect:async(e,{dispatch:t})=>{const n=Jb.get().child({namespace:"canvasCopiedToClipboardListener"}),r=await E_e();if(!r){n.error("Problem getting base layer blob"),t(Un({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const i=nS();if(!i){n.error("Problem getting canvas base layer"),t(Un({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const o=i.getClientRect({relativeTo:i.getParent()}),s=await t(Se.endpoints.uploadImage.initiate({file:new File([r],"mergedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Merged"}}})).unwrap(),{image_name:a}=s;t(Vue({kind:"image",layer:"base",imageName:a,...o}))}})},P_e=()=>{Pe({actionCreator:g_e,effect:async(e,{dispatch:t,getState:n})=>{const r=Ie("canvas"),i=n(),o=await fE(i);if(!o){r.error("Problem getting base layer blob"),t(Un({title:"Problem Saving Canvas",description:"Unable to export base layer",status:"error"}));return}const{autoAddBoardId:s}=i.gallery;t(Se.endpoints.uploadImage.initiate({file:new File([o],"savedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!1,board_id:s==="none"?void 0:s,crop_visible:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Saved to Gallery"}}}))}})},R_e=(e,t,n)=>{var f;if(!(Kde.match(e)||lR.match(e)||$T.match(e)||Xde.match(e)||uR.match(e))||uR.match(e)&&((f=n.controlNet.controlNets[e.payload.controlNetId])==null?void 0:f.shouldAutoConfig)===!0)return!1;const i=t.controlNet.controlNets[e.payload.controlNetId];if(!i)return!1;const{controlImage:o,processorType:s,shouldAutoConfig:a}=i;if(lR.match(e)&&!a)return!1;const l=s!=="none",u=t.system.isProcessing;return l&&!u&&!!o},O_e=()=>{Pe({predicate:R_e,effect:async(e,{dispatch:t,cancelActiveListeners:n,delay:r})=>{const i=Ie("session"),{controlNetId:o}=e.payload;n(),i.trace("ControlNet auto-process triggered"),await r(300),t(DT({controlNetId:o}))}})},yc=Re("system/sessionReadyToInvoke"),FU=e=>(e==null?void 0:e.type)==="image_output",k_e=()=>{Pe({actionCreator:DT,effect:async(e,{dispatch:t,getState:n,take:r})=>{const i=Ie("session"),{controlNetId:o}=e.payload,s=n().controlNet.controlNets[o];if(!(s!=null&&s.controlImage)){i.error("Unable to process ControlNet image");return}const a={nodes:{[s.processorNode.id]:{...s.processorNode,is_intermediate:!0,image:{image_name:s.controlImage}}}},l=t(Mr({graph:a})),[u]=await r(p=>Mr.fulfilled.match(p)&&p.meta.requestId===l.requestId),d=u.payload.id;t(yc());const[f]=await r(p=>NT.match(p)&&p.payload.data.graph_execution_state_id===d);if(FU(f.payload.data.result)){const{image_name:p}=f.payload.data.result.image,[{payload:g}]=await r(v=>Se.endpoints.getImageDTO.matchFulfilled(v)&&v.payload.image_name===p),m=g;i.debug({controlNetId:e.payload,processedControlImage:m},"ControlNet image processed"),t(qde({controlNetId:o,processedControlImage:m.image_name}))}}})},I_e=()=>{Pe({matcher:Se.endpoints.addImageToBoard.matchFulfilled,effect:e=>{const t=Ie("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Image added to board")}})},M_e=()=>{Pe({matcher:Se.endpoints.addImageToBoard.matchRejected,effect:e=>{const t=Ie("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Problem adding image to board")}})},hE=Re("deleteImageModal/imageDeletionConfirmed"),k7e=e=>e.gallery,I7e=si(e=>e,e=>e.gallery.selection[e.gallery.selection.length-1],dE),BU=si([e=>e],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{board_id:t,categories:n==="images"?jr:Sl,offset:0,limit:Wue,is_intermediate:!1}},dE),N_e=()=>{Pe({actionCreator:hE,effect:async(e,{dispatch:t,getState:n,condition:r})=>{var p;const{imageDTOs:i,imagesUsage:o}=e.payload;if(i.length!==1||o.length!==1)return;const s=i[0],a=o[0];if(!s||!a)return;t(BT(!1));const l=n(),u=(p=l.gallery.selection[l.gallery.selection.length-1])==null?void 0:p.image_name;if(s&&(s==null?void 0:s.image_name)===u){const{image_name:g}=s,m=BU(l),{data:v}=Se.endpoints.listImages.select(m)(l),x=v?pn.getSelectors().selectAll(v):[],_=x.findIndex(C=>C.image_name===g),b=x.filter(C=>C.image_name!==g),y=bl(_,0,b.length-1),S=b[y];t(Rs(S||null))}a.isCanvasImage&&t(wT()),a.isControlNetImage&&t(FT()),a.isInitialImage&&t(ST()),a.isNodesImage&&t(sE());const{requestId:d}=t(Se.endpoints.deleteImage.initiate(s));await r(g=>Se.endpoints.deleteImage.matchFulfilled(g)&&g.meta.requestId===d,3e4)&&t(Gl.util.invalidateTags([{type:"Board",id:s.board_id}]))}})},L_e=()=>{Pe({actionCreator:hE,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTOs:r,imagesUsage:i}=e.payload;if(!(r.length<1||i.length<1))try{await t(Se.endpoints.deleteImages.initiate({imageDTOs:r})).unwrap();const o=n(),s=BU(o),{data:a}=Se.endpoints.listImages.select(s)(o),l=a?pn.getSelectors().selectAll(a)[0]:void 0;t(Rs(l||null)),t(BT(!1)),i.some(u=>u.isCanvasImage)&&t(wT()),i.some(u=>u.isControlNetImage)&&t(FT()),i.some(u=>u.isInitialImage)&&t(ST()),i.some(u=>u.isNodesImage)&&t(sE())}catch{}}})},D_e=()=>{Pe({matcher:Se.endpoints.deleteImage.matchPending,effect:()=>{}})},$_e=()=>{Pe({matcher:Se.endpoints.deleteImage.matchFulfilled,effect:e=>{Ie("images").debug({imageDTO:e.meta.arg.originalArgs},"Image deleted")}})},F_e=()=>{Pe({matcher:Se.endpoints.deleteImage.matchRejected,effect:e=>{Ie("images").debug({imageDTO:e.meta.arg.originalArgs},"Unable to delete image")}})},UU=Re("dnd/dndDropped"),B_e=()=>{Pe({actionCreator:UU,effect:async(e,{dispatch:t})=>{const n=Ie("images"),{activeData:r,overData:i}=e.payload;if(r.payloadType==="IMAGE_DTO"?n.debug({activeData:r,overData:i},"Image dropped"):r.payloadType==="IMAGE_DTOS"?n.debug({activeData:r,overData:i},`Images (${r.payload.imageDTOs.length}) dropped`):n.debug({activeData:r,overData:i},"Unknown payload dropped"),i.actionType==="SET_CURRENT_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(Rs(r.payload.imageDTO));return}if(i.actionType==="SET_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(ob(r.payload.imageDTO));return}if(i.actionType==="SET_CONTROLNET_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{controlNetId:o}=i.context;t($T({controlImage:r.payload.imageDTO.image_name,controlNetId:o}));return}if(i.actionType==="SET_CANVAS_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(a$(r.payload.imageDTO));return}if(i.actionType==="SET_NODES_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{fieldName:o,nodeId:s}=i.context;t(mU({nodeId:s,fieldName:o,value:r.payload.imageDTO}));return}if(i.actionType==="ADD_TO_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload,{boardId:s}=i.context;t(Se.endpoints.addImageToBoard.initiate({imageDTO:o,board_id:s}));return}if(i.actionType==="REMOVE_FROM_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload;t(Se.endpoints.removeImageFromBoard.initiate({imageDTO:o}));return}if(i.actionType==="ADD_TO_BOARD"&&r.payloadType==="IMAGE_DTOS"&&r.payload.imageDTOs){const{imageDTOs:o}=r.payload,{boardId:s}=i.context;t(Se.endpoints.addImagesToBoard.initiate({imageDTOs:o,board_id:s}));return}if(i.actionType==="REMOVE_FROM_BOARD"&&r.payloadType==="IMAGE_DTOS"&&r.payload.imageDTOs){const{imageDTOs:o}=r.payload;t(Se.endpoints.removeImagesFromBoard.initiate({imageDTOs:o}));return}}})},U_e=()=>{Pe({matcher:Se.endpoints.removeImageFromBoard.matchFulfilled,effect:e=>{const t=Ie("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Image removed from board")}})},z_e=()=>{Pe({matcher:Se.endpoints.removeImageFromBoard.matchRejected,effect:e=>{const t=Ie("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Problem removing image from board")}})},V_e=()=>{Pe({actionCreator:nfe,effect:async(e,{dispatch:t,getState:n})=>{const r=e.payload,i=n(),{shouldConfirmOnDelete:o}=i.system,s=f_e(n()),a=s.some(l=>l.isCanvasImage)||s.some(l=>l.isInitialImage)||s.some(l=>l.isControlNetImage)||s.some(l=>l.isNodesImage);if(o||a){t(BT(!0));return}t(hE({imageDTOs:r,imagesUsage:s}))}})},cd={title:"Image Uploaded",status:"success"},j_e=()=>{Pe({matcher:Se.endpoints.uploadImage.matchFulfilled,effect:(e,{dispatch:t,getState:n})=>{const r=Ie("images"),i=e.payload,o=n(),{autoAddBoardId:s}=o.gallery;r.debug({imageDTO:i},"Image uploaded");const{postUploadAction:a}=e.meta.arg.originalArgs;if(!(e.payload.is_intermediate&&!a)){if((a==null?void 0:a.type)==="TOAST"){const{toastOptions:l}=a;if(!s||s==="none")t(Un({...cd,...l}));else{t(Se.endpoints.addImageToBoard.initiate({board_id:s,imageDTO:i}));const{data:u}=Ui.endpoints.listAllBoards.select()(o),d=u==null?void 0:u.find(p=>p.board_id===s),f=d?`Added to board ${d.board_name}`:`Added to board ${s}`;t(Un({...cd,description:f}))}return}if((a==null?void 0:a.type)==="SET_CANVAS_INITIAL_IMAGE"){t(a$(i)),t(Un({...cd,description:"Set as canvas initial image"}));return}if((a==null?void 0:a.type)==="SET_CONTROLNET_IMAGE"){const{controlNetId:l}=a;t($T({controlNetId:l,controlImage:i.image_name})),t(Un({...cd,description:"Set as control image"}));return}if((a==null?void 0:a.type)==="SET_INITIAL_IMAGE"){t(ob(i)),t(Un({...cd,description:"Set as initial image"}));return}if((a==null?void 0:a.type)==="SET_NODES_IMAGE"){const{nodeId:l,fieldName:u}=a;t(mU({nodeId:l,fieldName:u,value:i})),t(Un({...cd,description:`Set as node field ${u}`}));return}}}})},G_e=()=>{Pe({matcher:Se.endpoints.uploadImage.matchRejected,effect:(e,{dispatch:t})=>{const n=Ie("images"),r={arg:{...rb(e.meta.arg.originalArgs,["file","postUploadAction"]),file:""}};n.error({...r},"Image upload failed"),t(Un({title:"Image Upload Failed",description:e.error.message,status:"error"}))}})},H_e=Re("generation/initialImageSelected"),W_e=Re("generation/modelSelected"),q_e=()=>{Pe({actionCreator:H_e,effect:(e,{dispatch:t})=>{if(!e.payload){t(Un(Ku({title:Pp("toast.imageNotLoadedDesc"),status:"error"})));return}t(ob(e.payload)),t(Un(Ku(Pp("toast.sentToImageToImage"))))}})},K_e=()=>{Pe({actionCreator:W_e,effect:(e,{getState:t,dispatch:n})=>{var l;const r=Ie("models"),i=t(),o=YD.safeParse(e.payload);if(!o.success){r.error({error:o.error.format()},"Failed to parse main model");return}const s=o.data,{base_model:a}=s;if(((l=i.generation.model)==null?void 0:l.base_model)!==a){let u=0;tc(i.lora.loras,(p,g)=>{p.base_model!==a&&(n(_F(g)),u+=1)});const{vae:d}=i.generation;d&&d.base_model!==a&&(n(ZD(null)),u+=1);const{controlNets:f}=i.controlNet;tc(f,(p,g)=>{var m;((m=p.model)==null?void 0:m.base_model)!==a&&(n(dF({controlNetId:g})),u+=1)}),u>0&&n(Un(Ku({title:`Base model changed, cleared ${u} incompatible submodel${u===1?"":"s"}`,status:"warning"})))}n(Gu(s))}})},RO=Jl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),OO=Jl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),kO=Jl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),IO=Jl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),MO=Jl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),n5=Jl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),X_e=({base_model:e,model_type:t,model_name:n})=>`${e}/${t}/${n}`,dd=e=>{const t=[];return e.forEach(n=>{const r={...zr(n),id:X_e(n)};t.push(r)}),t},da=Gl.injectEndpoints({endpoints:e=>({getOnnxModels:e.query({query:t=>{const n={model_type:"onnx",base_models:t};return`models/?${fv.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"OnnxModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"OnnxModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return OO.setAll(OO.getInitialState(),i)}}),getMainModels:e.query({query:t=>{const n={model_type:"main",base_models:t};return`models/?${fv.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"MainModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"MainModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return RO.setAll(RO.getInitialState(),i)}}),updateMainModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/main/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),importMainModels:e.mutation({query:({body:t})=>({url:"models/import",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),addMainModels:e.mutation({query:({body:t})=>({url:"models/add",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),deleteMainModels:e.mutation({query:({base_model:t,model_name:n,model_type:r})=>({url:`models/${t}/${r}/${n}`,method:"DELETE"}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),convertMainModels:e.mutation({query:({base_model:t,model_name:n,convert_dest_directory:r})=>({url:`models/convert/${t}/main/${n}`,method:"PUT",params:{convert_dest_directory:r}}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),mergeMainModels:e.mutation({query:({base_model:t,body:n})=>({url:`models/merge/${t}`,method:"PUT",body:n}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),syncModels:e.mutation({query:()=>({url:"models/sync",method:"POST"}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),getLoRAModels:e.query({query:()=>({url:"models/",params:{model_type:"lora"}}),providesTags:(t,n,r)=>{const i=[{type:"LoRAModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"LoRAModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return kO.setAll(kO.getInitialState(),i)}}),updateLoRAModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/lora/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"LoRAModel",id:Ke}]}),deleteLoRAModels:e.mutation({query:({base_model:t,model_name:n})=>({url:`models/${t}/lora/${n}`,method:"DELETE"}),invalidatesTags:[{type:"LoRAModel",id:Ke}]}),getControlNetModels:e.query({query:()=>({url:"models/",params:{model_type:"controlnet"}}),providesTags:(t,n,r)=>{const i=[{type:"ControlNetModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"ControlNetModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return IO.setAll(IO.getInitialState(),i)}}),getVaeModels:e.query({query:()=>({url:"models/",params:{model_type:"vae"}}),providesTags:(t,n,r)=>{const i=[{type:"VaeModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"VaeModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return n5.setAll(n5.getInitialState(),i)}}),getTextualInversionModels:e.query({query:()=>({url:"models/",params:{model_type:"embedding"}}),providesTags:(t,n,r)=>{const i=[{type:"TextualInversionModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"TextualInversionModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return MO.setAll(MO.getInitialState(),i)}}),getModelsInFolder:e.query({query:t=>({url:`/models/search?${fv.stringify(t,{})}`}),providesTags:(t,n,r)=>{const i=[{type:"ScannedModels",id:Ke}];return t&&i.push(...t.map(o=>({type:"ScannedModels",id:o}))),i}}),getCheckpointConfigs:e.query({query:()=>({url:"/models/ckpt_confs"})})})}),{useGetMainModelsQuery:M7e,useGetOnnxModelsQuery:N7e,useGetControlNetModelsQuery:L7e,useGetLoRAModelsQuery:D7e,useGetTextualInversionModelsQuery:$7e,useGetVaeModelsQuery:F7e,useUpdateMainModelsMutation:B7e,useDeleteMainModelsMutation:U7e,useImportMainModelsMutation:z7e,useAddMainModelsMutation:V7e,useConvertMainModelsMutation:j7e,useMergeMainModelsMutation:G7e,useDeleteLoRAModelsMutation:H7e,useUpdateLoRAModelsMutation:W7e,useSyncModelsMutation:q7e,useGetModelsInFolderQuery:K7e,useGetCheckpointConfigsQuery:X7e}=da,Y_e=()=>{Pe({predicate:(e,t)=>da.endpoints.getMainModels.matchFulfilled(t)&&!t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=Ie("models");r.info({models:e.payload.entities},`Main models loaded (${e.payload.ids.length})`);const i=t().generation.model;if(Ou(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)&&(u==null?void 0:u.model_type)===(i==null?void 0:i.model_type)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(Gu(null));return}const l=YD.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse main model");return}n(Gu(l.data))}}),Pe({predicate:(e,t)=>da.endpoints.getMainModels.matchFulfilled(t)&&t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=Ie("models");r.info({models:e.payload.entities},`SDXL Refiner models loaded (${e.payload.ids.length})`);const i=t().sdxl.refinerModel;if(Ou(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)&&(u==null?void 0:u.model_type)===(i==null?void 0:i.model_type)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(dO(null)),n(Vve(!1));return}const l=XD.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse SDXL Refiner Model");return}n(dO(l.data))}}),Pe({matcher:da.endpoints.getVaeModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=Ie("models");r.info({models:e.payload.entities},`VAEs loaded (${e.payload.ids.length})`);const i=t().generation.vae;if(i===null||Ou(e.payload.entities,l=>(l==null?void 0:l.model_name)===(i==null?void 0:i.model_name)&&(l==null?void 0:l.base_model)===(i==null?void 0:i.base_model)))return;const s=n5.getSelectors().selectAll(e.payload)[0];if(!s){n(Gu(null));return}const a=gue.safeParse(s);if(!a.success){r.error({error:a.error.format()},"Failed to parse VAE model");return}n(ZD(a.data))}}),Pe({matcher:da.endpoints.getLoRAModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{Ie("models").info({models:e.payload.entities},`LoRAs loaded (${e.payload.ids.length})`);const i=t().lora.loras;tc(i,(o,s)=>{Ou(e.payload.entities,l=>(l==null?void 0:l.model_name)===(o==null?void 0:o.model_name)&&(l==null?void 0:l.base_model)===(o==null?void 0:o.base_model))||n(_F(s))})}}),Pe({matcher:da.endpoints.getControlNetModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{Ie("models").info({models:e.payload.entities},`ControlNet models loaded (${e.payload.ids.length})`);const i=t().controlNet.controlNets;tc(i,(o,s)=>{Ou(e.payload.entities,l=>{var u,d;return(l==null?void 0:l.model_name)===((u=o==null?void 0:o.model)==null?void 0:u.model_name)&&(l==null?void 0:l.base_model)===((d=o==null?void 0:o.model)==null?void 0:d.base_model)})||n(dF({controlNetId:s}))})}}),Pe({matcher:da.endpoints.getTextualInversionModels.matchFulfilled,effect:async e=>{Ie("models").info({models:e.payload.entities},`Embeddings loaded (${e.payload.ids.length})`)}})},Da=e=>JSON.parse(JSON.stringify(e)),r5=e=>!("$ref"in e),Q_e=e=>!("$ref"in e),Y7e=500,Z_e={integer:"integer",float:"float",number:"float",string:"string",boolean:"boolean",enum:"enum",ImageField:"image",image_collection:"image_collection",LatentsField:"latents",ConditioningField:"conditioning",UNetField:"unet",ClipField:"clip",VaeField:"vae",model:"model",refiner_model:"refiner_model",vae_model:"vae_model",lora_model:"lora_model",controlnet_model:"controlnet_model",ControlNetModelField:"controlnet_model",array:"array",item:"item",ColorField:"color",ControlField:"control",control:"control",cfg_scale:"float",control_weight:"float"},J_e=500,Rn=e=>`var(--invokeai-colors-${e}-${J_e})`,Q7e={integer:{color:"red",colorCssVar:Rn("red"),title:"Integer",description:"Integers are whole numbers, without a decimal point."},float:{color:"orange",colorCssVar:Rn("orange"),title:"Float",description:"Floats are numbers with a decimal point."},string:{color:"yellow",colorCssVar:Rn("yellow"),title:"String",description:"Strings are text."},boolean:{color:"green",colorCssVar:Rn("green"),title:"Boolean",description:"Booleans are true or false."},enum:{color:"blue",colorCssVar:Rn("blue"),title:"Enum",description:"Enums are values that may be one of a number of options."},image:{color:"purple",colorCssVar:Rn("purple"),title:"Image",description:"Images may be passed between nodes."},image_collection:{color:"purple",colorCssVar:Rn("purple"),title:"Image Collection",description:"A collection of images."},latents:{color:"pink",colorCssVar:Rn("pink"),title:"Latents",description:"Latents may be passed between nodes."},conditioning:{color:"cyan",colorCssVar:Rn("cyan"),title:"Conditioning",description:"Conditioning may be passed between nodes."},unet:{color:"red",colorCssVar:Rn("red"),title:"UNet",description:"UNet submodel."},clip:{color:"green",colorCssVar:Rn("green"),title:"Clip",description:"Tokenizer and text_encoder submodels."},vae:{color:"blue",colorCssVar:Rn("blue"),title:"Vae",description:"Vae submodel."},control:{color:"cyan",colorCssVar:Rn("cyan"),title:"Control",description:"Control info passed between nodes."},model:{color:"teal",colorCssVar:Rn("teal"),title:"Model",description:"Models are models."},refiner_model:{color:"teal",colorCssVar:Rn("teal"),title:"Refiner Model",description:"Models are models."},vae_model:{color:"teal",colorCssVar:Rn("teal"),title:"VAE",description:"Models are models."},lora_model:{color:"teal",colorCssVar:Rn("teal"),title:"LoRA",description:"Models are models."},controlnet_model:{color:"teal",colorCssVar:Rn("teal"),title:"ControlNet",description:"Models are models."},array:{color:"gray",colorCssVar:Rn("gray"),title:"Array",description:"TODO: Array type description."},item:{color:"gray",colorCssVar:Rn("gray"),title:"Collection Item",description:"TODO: Collection Item type description."},color:{color:"gray",colorCssVar:Rn("gray"),title:"Color",description:"A RGBA color."}},Z7e=250,Nx=e=>{const t=e.$ref.split("/").slice(-1)[0];return t||"UNKNOWN FIELD TYPE"},ebe=({schemaObject:e,baseField:t})=>{const n={...t,type:"integer",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},tbe=({schemaObject:e,baseField:t})=>{const n={...t,type:"float",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},nbe=({schemaObject:e,baseField:t})=>{const n={...t,type:"string",inputRequirement:"always",inputKind:"any",default:e.default??""};return e.minLength!==void 0&&(n.minLength=e.minLength),e.maxLength!==void 0&&(n.maxLength=e.maxLength),e.pattern!==void 0&&(n.pattern=e.pattern),n},rbe=({schemaObject:e,baseField:t})=>({...t,type:"boolean",inputRequirement:"always",inputKind:"any",default:e.default??!1}),ibe=({schemaObject:e,baseField:t})=>({...t,type:"model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),obe=({schemaObject:e,baseField:t})=>({...t,type:"refiner_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),sbe=({schemaObject:e,baseField:t})=>({...t,type:"vae_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),abe=({schemaObject:e,baseField:t})=>({...t,type:"lora_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),lbe=({schemaObject:e,baseField:t})=>({...t,type:"controlnet_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),ube=({schemaObject:e,baseField:t})=>({...t,type:"image",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),cbe=({schemaObject:e,baseField:t})=>({...t,type:"image_collection",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),dbe=({schemaObject:e,baseField:t})=>({...t,type:"latents",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),fbe=({schemaObject:e,baseField:t})=>({...t,type:"conditioning",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),hbe=({schemaObject:e,baseField:t})=>({...t,type:"unet",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),pbe=({schemaObject:e,baseField:t})=>({...t,type:"clip",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),gbe=({schemaObject:e,baseField:t})=>({...t,type:"vae",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),mbe=({schemaObject:e,baseField:t})=>({...t,type:"control",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),ybe=({schemaObject:e,baseField:t})=>{const n=e.enum??[];return{...t,type:"enum",enumType:e.type??"string",options:n,inputRequirement:"always",inputKind:"direct",default:e.default??n[0]}},NO=({baseField:e})=>({...e,type:"array",inputRequirement:"always",inputKind:"direct",default:[]}),LO=({baseField:e})=>({...e,type:"item",inputRequirement:"always",inputKind:"direct",default:void 0}),vbe=({schemaObject:e,baseField:t})=>({...t,type:"color",inputRequirement:"always",inputKind:"direct",default:e.default??{r:127,g:127,b:127,a:255}}),zU=(e,t,n)=>{let r="";n&&t in n?r=n[t]??"UNKNOWN FIELD TYPE":e.type?e.enum?r="enum":e.type&&(r=e.type):e.allOf?r=Nx(e.allOf[0]):e.anyOf?r=Nx(e.anyOf[0]):e.oneOf&&(r=Nx(e.oneOf[0]));const i=Z_e[r];if(!i)throw`Field type "${r}" is unknown!`;return i},_be=(e,t,n)=>{const r=zU(e,t,n),i={name:t,title:e.title??"",description:e.description??""};if(["image"].includes(r))return ube({schemaObject:e,baseField:i});if(["image_collection"].includes(r))return cbe({schemaObject:e,baseField:i});if(["latents"].includes(r))return dbe({schemaObject:e,baseField:i});if(["conditioning"].includes(r))return fbe({schemaObject:e,baseField:i});if(["unet"].includes(r))return hbe({schemaObject:e,baseField:i});if(["clip"].includes(r))return pbe({schemaObject:e,baseField:i});if(["vae"].includes(r))return gbe({schemaObject:e,baseField:i});if(["control"].includes(r))return mbe({schemaObject:e,baseField:i});if(["model"].includes(r))return ibe({schemaObject:e,baseField:i});if(["refiner_model"].includes(r))return obe({schemaObject:e,baseField:i});if(["vae_model"].includes(r))return sbe({schemaObject:e,baseField:i});if(["lora_model"].includes(r))return abe({schemaObject:e,baseField:i});if(["controlnet_model"].includes(r))return lbe({schemaObject:e,baseField:i});if(["enum"].includes(r))return ybe({schemaObject:e,baseField:i});if(["integer"].includes(r))return ebe({schemaObject:e,baseField:i});if(["number","float"].includes(r))return tbe({schemaObject:e,baseField:i});if(["string"].includes(r))return nbe({schemaObject:e,baseField:i});if(["boolean"].includes(r))return rbe({schemaObject:e,baseField:i});if(["array"].includes(r))return NO({schemaObject:e,baseField:i});if(["item"].includes(r))return LO({schemaObject:e,baseField:i});if(["color"].includes(r))return vbe({schemaObject:e,baseField:i});if(["array"].includes(r))return NO({schemaObject:e,baseField:i});if(["item"].includes(r))return LO({schemaObject:e,baseField:i})},bbe=(e,t,n)=>{const r=e.$ref.split("/").slice(-1)[0];if(!r)throw Ie("nodes").error({refObject:Da(e)},"No output schema name found in ref object"),"No output schema name found in ref object";const i=t.components.schemas[r];if(!i)throw Ie("nodes").error({outputSchemaName:r},"Output schema not found"),"Output schema not found";return r5(i)?_T(i.properties,(s,a,l)=>{if(!["type","id"].includes(l)&&!["object"].includes(a.type)&&r5(a)){const u=zU(a,l,n);s[l]={name:l,title:a.title??"",description:a.description??"",type:u}}return s},{}):{}},Sbe=e=>e==="l2i"?["id","type","metadata"]:["id","type","is_intermediate","metadata"],wbe=["Graph","InvocationMeta","MetadataAccumulatorInvocation"],xbe=e=>{var r;return OD((r=e.components)==null?void 0:r.schemas,(i,o)=>o.includes("Invocation")&&!o.includes("InvocationOutput")&&!wbe.some(s=>o.includes(s))).reduce((i,o)=>{var s,a,l,u,d;if(Q_e(o)){const f=o.properties.type.default,p=Sbe(f),g=((s=o.ui)==null?void 0:s.title)??o.title.replace("Invocation",""),m=(a=o.ui)==null?void 0:a.type_hints,v={};if(f==="collect"){const y=o.properties.item;v.item={type:"item",name:"item",description:y.description??"",title:"Collection Item",inputKind:"connection",inputRequirement:"always",default:void 0}}else if(f==="iterate"){const y=o.properties.collection;v.collection={type:"array",name:"collection",title:y.title??"",default:[],description:y.description??"",inputRequirement:"always",inputKind:"connection"}}else _T(o.properties,(y,S,C)=>{if(!p.includes(C)&&r5(S)){const T=_be(S,C,m);T&&(y[C]=T)}return y},v);const x=o.output;let _;if(f==="iterate"){const y=(u=(l=e.components)==null?void 0:l.schemas)==null?void 0:u.IterateInvocationOutput;_={item:{name:"item",title:(y==null?void 0:y.title)??"",description:(y==null?void 0:y.description)??"",type:"array"}}}else _=bbe(x,e,m);const b={title:g,type:f,tags:((d=o.ui)==null?void 0:d.tags)??[],description:o.description??"",inputs:v,outputs:_};Object.assign(i,{[f]:b})}return i},{})},Cbe=()=>{Pe({actionCreator:Ig.fulfilled,effect:(e,{dispatch:t})=>{const n=Ie("system"),r=e.payload;n.debug({schemaJSON:r},"Dereferenced OpenAPI schema");const i=xbe(r);n.debug({nodeTemplates:Da(i)},`Built ${FD(i)} node templates`),t(oE(i))}}),Pe({actionCreator:Ig.rejected,effect:()=>{Ie("system").error("Problem dereferencing OpenAPI Schema")}})},Tbe=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(Boolean).map(e=>[e.name,e]),Ebe=new Map(Tbe),Abe=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],i5=Symbol(".toJSON was called"),Pbe=e=>{e[i5]=!0;const t=e.toJSON();return delete e[i5],t},Rbe=e=>Ebe.get(e)??Error,VU=({from:e,seen:t,to:n,forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a})=>{if(!n)if(Array.isArray(e))n=[];else if(!a&&DO(e)){const u=Rbe(e.name);n=new u}else n={};if(t.push(e),o>=i)return n;if(s&&typeof e.toJSON=="function"&&e[i5]!==!0)return Pbe(e);const l=u=>VU({from:u,seen:[...t],forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a});for(const[u,d]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(d)){n[u]="[object Buffer]";continue}if(d!==null&&typeof d=="object"&&typeof d.pipe=="function"){n[u]="[object Stream]";continue}if(typeof d!="function"){if(!d||typeof d!="object"){n[u]=d;continue}if(!t.includes(e[u])){o++,n[u]=l(e[u]);continue}n[u]="[Circular]"}}for(const{property:u,enumerable:d}of Abe)typeof e[u]<"u"&&e[u]!==null&&Object.defineProperty(n,u,{value:DO(e[u])?l(e[u]):e[u],enumerable:r?!0:d,configurable:!0,writable:!0});return n};function pE(e,t={}){const{maxDepth:n=Number.POSITIVE_INFINITY,useToJSON:r=!0}=t;return typeof e=="object"&&e!==null?VU({from:e,seen:[],forceEnumerable:!0,maxDepth:n,depth:0,useToJSON:r,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}function DO(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}const Obe=()=>{Pe({actionCreator:mc.pending,effect:()=>{}})},kbe=()=>{Pe({actionCreator:mc.fulfilled,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session canceled (${n})`)}})},Ibe=()=>{Pe({actionCreator:mc.rejected,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:pE(r)},"Problem canceling session")}}})},Mbe=()=>{Pe({actionCreator:Mr.pending,effect:()=>{}})},Nbe=()=>{Pe({actionCreator:Mr.fulfilled,effect:e=>{const t=Ie("session"),n=e.payload;t.debug({session:Da(n)},`Session created (${n.id})`)}})},Lbe=()=>{Pe({actionCreator:Mr.rejected,effect:e=>{const t=Ie("session");if(e.payload){const{error:n,status:r}=e.payload,i=Da(e.meta.arg);t.error({graph:i,status:r,error:pE(n)},"Problem creating session")}}})},Dbe=()=>{Pe({actionCreator:mm.pending,effect:()=>{}})},$be=()=>{Pe({actionCreator:mm.fulfilled,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session invoked (${n})`)}})},Fbe=()=>{Pe({actionCreator:mm.rejected,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:pE(r)},"Problem invoking session")}}})},Bbe=()=>{Pe({actionCreator:yc,effect:(e,{getState:t,dispatch:n})=>{const r=Ie("session"),{sessionId:i}=t().system;i&&(r.debug({session_id:i},`Session ready to invoke (${i})})`),n(mm({session_id:i})))}})},Ube=()=>{Pe({actionCreator:j$,effect:(e,{dispatch:t,getState:n})=>{Ie("socketio").debug("Connected");const{nodes:i,config:o}=n(),{disabledTabs:s}=o;!i.schema&&!s.includes("nodes")&&t(Ig()),t(G$(e.payload)),t(da.util.invalidateTags([{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"LoRAModel",id:Ke},{type:"ControlNetModel",id:Ke},{type:"VaeModel",id:Ke},{type:"TextualInversionModel",id:Ke},{type:"ScannedModels",id:Ke}])),t(cE.util.invalidateTags(["AppConfig","AppVersion"]))}})},zbe=()=>{Pe({actionCreator:H$,effect:(e,{dispatch:t})=>{Ie("socketio").debug("Disconnected"),t(W$(e.payload))}})},Vbe=()=>{Pe({actionCreator:nF,effect:(e,{dispatch:t,getState:n})=>{const r=Ie("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored generator progress for canceled session");return}r.trace(e.payload,`Generator progress (${e.payload.data.node.type})`),t(rF(e.payload))}})},jbe=()=>{Pe({actionCreator:eF,effect:(e,{dispatch:t})=>{Ie("socketio").debug(e.payload,"Session complete"),t(tF(e.payload))}})},Gbe=["dataURL_image"],Hbe=()=>{Pe({actionCreator:NT,effect:async(e,{dispatch:t,getState:n})=>{const r=Ie("socketio"),{data:i}=e.payload;r.debug({data:Da(i)},`Invocation complete (${e.payload.data.node.type})`);const o=e.payload.data.graph_execution_state_id,{cancelType:s,isCancelScheduled:a}=n().system;s==="scheduled"&&a&&t(mc({session_id:o}));const{result:l,node:u,graph_execution_state_id:d}=i;if(FU(l)&&!Gbe.includes(u.type)){const{image_name:f}=l.image,{canvas:p,gallery:g}=n(),m=await t(Se.endpoints.getImageDTO.initiate(f)).unwrap();if(d===p.layerState.stagingArea.sessionId&&t(Uue(m)),!m.is_intermediate){const{autoAddBoardId:v}=g;t(v&&v!=="none"?Se.endpoints.addImageToBoard.initiate({board_id:v,imageDTO:m}):Se.util.updateQueryData("listImages",{board_id:"none",categories:jr},b=>{pn.addOne(b,m)})),t(Se.util.invalidateTags([{type:"BoardImagesTotal",id:v},{type:"BoardAssetsTotal",id:v}]));const{selectedBoardId:x,shouldAutoSwitch:_}=g;_&&(v&&v!==x?(t(N3(v)),t(k1("images"))):v||t(k1("images")),t(Rs(m)))}t(c1e(null))}t(Z$(e.payload))}})},Wbe=()=>{Pe({actionCreator:J$,effect:(e,{dispatch:t})=>{Ie("socketio").error(e.payload,`Invocation error (${e.payload.data.node.type})`),t(LT(e.payload))}})},qbe=()=>{Pe({actionCreator:lF,effect:(e,{dispatch:t})=>{Ie("socketio").error(e.payload,`Invocation retrieval error (${e.payload.data.graph_execution_state_id})`),t(uF(e.payload))}})},Kbe=()=>{Pe({actionCreator:Y$,effect:(e,{dispatch:t,getState:n})=>{const r=Ie("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored invocation started for canceled session");return}r.debug(e.payload,`Invocation started (${e.payload.data.node.type})`),t(Q$(e.payload))}})},Xbe=()=>{Pe({actionCreator:iF,effect:(e,{dispatch:t})=>{const n=Ie("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load started: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(Hde(e.payload))}}),Pe({actionCreator:oF,effect:(e,{dispatch:t})=>{const n=Ie("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load complete: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(Wde(e.payload))}})},Ybe=()=>{Pe({actionCreator:sF,effect:(e,{dispatch:t})=>{Ie("socketio").error(e.payload,`Session retrieval error (${e.payload.data.graph_execution_state_id})`),t(aF(e.payload))}})},Qbe=()=>{Pe({actionCreator:MT,effect:(e,{dispatch:t})=>{Ie("socketio").debug(e.payload,"Subscribed"),t(q$(e.payload))}})},Zbe=()=>{Pe({actionCreator:K$,effect:(e,{dispatch:t})=>{Ie("socketio").debug(e.payload,"Unsubscribed"),t(X$(e.payload))}})},Jbe=()=>{Pe({actionCreator:__e,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTO:r}=e.payload;try{const i=await t(Se.endpoints.changeImageIsIntermediate.initiate({imageDTO:r,is_intermediate:!1})).unwrap(),{autoAddBoardId:o}=n().gallery;o&&await t(Se.endpoints.addImageToBoard.initiate({imageDTO:i,board_id:o})),t(Un({title:"Image Saved",status:"success"}))}catch(i){t(Un({title:"Image Saving Failed",description:i==null?void 0:i.message,status:"error"}))}}})},J7e=["sd-1","sd-2","sdxl","sdxl-refiner"],eSe=["sd-1","sd-2","sdxl"],eMe=["sdxl-refiner"],tSe=()=>{Pe({actionCreator:n$,effect:(e,{getState:t,dispatch:n})=>{if(e.payload==="unifiedCanvas"){const{data:i}=da.endpoints.getMainModels.select(eSe)(t());if(!i){n(Gu(null));return}const o=[];tc(i.entities,d=>{d&&["sd-1","sd-2"].includes(d.base_model)&&o.push(d)});const s=o[0];if(!s){n(Gu(null));return}const{base_model:a,model_name:l,model_type:u}=s;n(Gu({base_model:a,model_name:l,model_type:u}))}}})},vt="positive_conditioning",Pt="negative_conditioning",cr="text_to_latents",Rt="latents_to_image",Dd="nsfw_checker",Yh="invisible_watermark",mt="noise",ms="rand_int",fa="range_of_size",vi="iterate",Or="main_model_loader",rS="onnx_model_loader",Qh="vae_loader",nSe="lora_loader",qt="clip_skip",un="image_to_latents",Bn="latents_to_latents",ii="resize_image",ds="inpaint",O0="control_net_collect",Lx="dynamic_prompt",It="metadata_accumulator",$O="esrgan",Zn="sdxl_model_loader",il="t2l_sdxl",fs="l2l_sdxl",fd="sdxl_refiner_model_loader",k0="sdxl_refiner_positive_conditioning",I0="sdxl_refiner_negative_conditioning",bu="l2l_sdxl_refiner",gE="text_to_image_graph",rSe="sdxl_text_to_image_graph",iSe="sxdl_image_to_image_graph",Z1="image_to_image_graph",jU="inpaint_graph",oSe=({image_name:e,esrganModelName:t})=>{const n={id:$O,type:"esrgan",image:{image_name:e},model_name:t,is_intermediate:!1};return{id:"adhoc-esrgan-graph",nodes:{[$O]:n},edges:[]}},sSe=Re("upscale/upscaleRequested"),aSe=()=>{Pe({actionCreator:sSe,effect:async(e,{dispatch:t,getState:n,take:r})=>{const{image_name:i}=e.payload,{esrganModelName:o}=n().postprocessing,s=oSe({image_name:i,esrganModelName:o});t(Mr({graph:s})),await r(Mr.fulfilled.match),t(yc())}})},lSe=e=>{const t=window.open("");t&&e.forEach(n=>{const r=new Image;r.src=n.base64,t.document.write(n.caption),t.document.write("
"),t.document.write(r.outerHTML),t.document.write("

")})},FO=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=i=>t(r.result),r.onerror=i=>n(r.error),r.onabort=i=>n(new Error("Read aborted")),r.readAsDataURL(e)});var mE={exports:{}},iS={},GU={},rt={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e._registerNode=e.Konva=e.glob=void 0;var t=Math.PI/180;function n(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}e.glob=typeof He<"u"?He:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},e.Konva={_global:e.glob,version:"9.2.0",isBrowser:n(),isUnminified:/param/.test((function(i){}).toString()),dblClickWindow:400,getAngle(i){return e.Konva.angleDeg?i*t:i},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,pixelRatio:typeof window<"u"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return e.Konva.DD.isDragging},isDragReady(){return!!e.Konva.DD.node},releaseCanvasOnDestroy:!0,document:e.glob.document,_injectGlobal(i){e.glob.Konva=i}};const r=i=>{e.Konva[i.prototype.getClassName()]=i};e._registerNode=r,e.Konva._injectGlobal(e.Konva)})(rt);var Sn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Util=e.Transform=void 0;const t=rt;class n{constructor(S=[1,0,0,1,0,0]){this.dirty=!1,this.m=S&&S.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new n(this.m)}copyInto(S){S.m[0]=this.m[0],S.m[1]=this.m[1],S.m[2]=this.m[2],S.m[3]=this.m[3],S.m[4]=this.m[4],S.m[5]=this.m[5]}point(S){var C=this.m;return{x:C[0]*S.x+C[2]*S.y+C[4],y:C[1]*S.x+C[3]*S.y+C[5]}}translate(S,C){return this.m[4]+=this.m[0]*S+this.m[2]*C,this.m[5]+=this.m[1]*S+this.m[3]*C,this}scale(S,C){return this.m[0]*=S,this.m[1]*=S,this.m[2]*=C,this.m[3]*=C,this}rotate(S){var C=Math.cos(S),T=Math.sin(S),E=this.m[0]*C+this.m[2]*T,P=this.m[1]*C+this.m[3]*T,k=this.m[0]*-T+this.m[2]*C,O=this.m[1]*-T+this.m[3]*C;return this.m[0]=E,this.m[1]=P,this.m[2]=k,this.m[3]=O,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(S,C){var T=this.m[0]+this.m[2]*C,E=this.m[1]+this.m[3]*C,P=this.m[2]+this.m[0]*S,k=this.m[3]+this.m[1]*S;return this.m[0]=T,this.m[1]=E,this.m[2]=P,this.m[3]=k,this}multiply(S){var C=this.m[0]*S.m[0]+this.m[2]*S.m[1],T=this.m[1]*S.m[0]+this.m[3]*S.m[1],E=this.m[0]*S.m[2]+this.m[2]*S.m[3],P=this.m[1]*S.m[2]+this.m[3]*S.m[3],k=this.m[0]*S.m[4]+this.m[2]*S.m[5]+this.m[4],O=this.m[1]*S.m[4]+this.m[3]*S.m[5]+this.m[5];return this.m[0]=C,this.m[1]=T,this.m[2]=E,this.m[3]=P,this.m[4]=k,this.m[5]=O,this}invert(){var S=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),C=this.m[3]*S,T=-this.m[1]*S,E=-this.m[2]*S,P=this.m[0]*S,k=S*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),O=S*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=C,this.m[1]=T,this.m[2]=E,this.m[3]=P,this.m[4]=k,this.m[5]=O,this}getMatrix(){return this.m}decompose(){var S=this.m[0],C=this.m[1],T=this.m[2],E=this.m[3],P=this.m[4],k=this.m[5],O=S*E-C*T;let M={x:P,y:k,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(S!=0||C!=0){var G=Math.sqrt(S*S+C*C);M.rotation=C>0?Math.acos(S/G):-Math.acos(S/G),M.scaleX=G,M.scaleY=O/G,M.skewX=(S*T+C*E)/O,M.skewY=0}else if(T!=0||E!=0){var U=Math.sqrt(T*T+E*E);M.rotation=Math.PI/2-(E>0?Math.acos(-T/U):-Math.acos(T/U)),M.scaleX=O/U,M.scaleY=U,M.skewX=0,M.skewY=(S*T+C*E)/O}return M.rotation=e.Util._getRotation(M.rotation),M}}e.Transform=n;var r="[object Array]",i="[object Number]",o="[object String]",s="[object Boolean]",a=Math.PI/180,l=180/Math.PI,u="#",d="",f="0",p="Konva warning: ",g="Konva error: ",m="rgb(",v={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,132,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,255,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,203],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:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],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,5]},x=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,_=[];const b=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(y){setTimeout(y,60)};e.Util={_isElement(y){return!!(y&&y.nodeType==1)},_isFunction(y){return!!(y&&y.constructor&&y.call&&y.apply)},_isPlainObject(y){return!!y&&y.constructor===Object},_isArray(y){return Object.prototype.toString.call(y)===r},_isNumber(y){return Object.prototype.toString.call(y)===i&&!isNaN(y)&&isFinite(y)},_isString(y){return Object.prototype.toString.call(y)===o},_isBoolean(y){return Object.prototype.toString.call(y)===s},isObject(y){return y instanceof Object},isValidSelector(y){if(typeof y!="string")return!1;var S=y[0];return S==="#"||S==="."||S===S.toUpperCase()},_sign(y){return y===0||y>0?1:-1},requestAnimFrame(y){_.push(y),_.length===1&&b(function(){const S=_;_=[],S.forEach(function(C){C()})})},createCanvasElement(){var y=document.createElement("canvas");try{y.style=y.style||{}}catch{}return y},createImageElement(){return document.createElement("img")},_isInDocument(y){for(;y=y.parentNode;)if(y==document)return!0;return!1},_urlToImage(y,S){var C=e.Util.createImageElement();C.onload=function(){S(C)},C.src=y},_rgbToHex(y,S,C){return((1<<24)+(y<<16)+(S<<8)+C).toString(16).slice(1)},_hexToRgb(y){y=y.replace(u,d);var S=parseInt(y,16);return{r:S>>16&255,g:S>>8&255,b:S&255}},getRandomColor(){for(var y=(Math.random()*16777215<<0).toString(16);y.length<6;)y=f+y;return u+y},getRGB(y){var S;return y in v?(S=v[y],{r:S[0],g:S[1],b:S[2]}):y[0]===u?this._hexToRgb(y.substring(1)):y.substr(0,4)===m?(S=x.exec(y.replace(/ /g,"")),{r:parseInt(S[1],10),g:parseInt(S[2],10),b:parseInt(S[3],10)}):{r:0,g:0,b:0}},colorToRGBA(y){return y=y||"black",e.Util._namedColorToRBA(y)||e.Util._hex3ColorToRGBA(y)||e.Util._hex4ColorToRGBA(y)||e.Util._hex6ColorToRGBA(y)||e.Util._hex8ColorToRGBA(y)||e.Util._rgbColorToRGBA(y)||e.Util._rgbaColorToRGBA(y)||e.Util._hslColorToRGBA(y)},_namedColorToRBA(y){var S=v[y.toLowerCase()];return S?{r:S[0],g:S[1],b:S[2],a:1}:null},_rgbColorToRGBA(y){if(y.indexOf("rgb(")===0){y=y.match(/rgb\(([^)]+)\)/)[1];var S=y.split(/ *, */).map(Number);return{r:S[0],g:S[1],b:S[2],a:1}}},_rgbaColorToRGBA(y){if(y.indexOf("rgba(")===0){y=y.match(/rgba\(([^)]+)\)/)[1];var S=y.split(/ *, */).map((C,T)=>C.slice(-1)==="%"?T===3?parseInt(C)/100:parseInt(C)/100*255:Number(C));return{r:S[0],g:S[1],b:S[2],a:S[3]}}},_hex8ColorToRGBA(y){if(y[0]==="#"&&y.length===9)return{r:parseInt(y.slice(1,3),16),g:parseInt(y.slice(3,5),16),b:parseInt(y.slice(5,7),16),a:parseInt(y.slice(7,9),16)/255}},_hex6ColorToRGBA(y){if(y[0]==="#"&&y.length===7)return{r:parseInt(y.slice(1,3),16),g:parseInt(y.slice(3,5),16),b:parseInt(y.slice(5,7),16),a:1}},_hex4ColorToRGBA(y){if(y[0]==="#"&&y.length===5)return{r:parseInt(y[1]+y[1],16),g:parseInt(y[2]+y[2],16),b:parseInt(y[3]+y[3],16),a:parseInt(y[4]+y[4],16)/255}},_hex3ColorToRGBA(y){if(y[0]==="#"&&y.length===4)return{r:parseInt(y[1]+y[1],16),g:parseInt(y[2]+y[2],16),b:parseInt(y[3]+y[3],16),a:1}},_hslColorToRGBA(y){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(y)){const[S,...C]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(y),T=Number(C[0])/360,E=Number(C[1])/100,P=Number(C[2])/100;let k,O,M;if(E===0)return M=P*255,{r:Math.round(M),g:Math.round(M),b:Math.round(M),a:1};P<.5?k=P*(1+E):k=P+E-P*E;const G=2*P-k,U=[0,0,0];for(let A=0;A<3;A++)O=T+1/3*-(A-1),O<0&&O++,O>1&&O--,6*O<1?M=G+(k-G)*6*O:2*O<1?M=k:3*O<2?M=G+(k-G)*(2/3-O)*6:M=G,U[A]=M*255;return{r:Math.round(U[0]),g:Math.round(U[1]),b:Math.round(U[2]),a:1}}},haveIntersection(y,S){return!(S.x>y.x+y.width||S.x+S.widthy.y+y.height||S.y+S.height1?(k=C,O=T,M=(C-E)*(C-E)+(T-P)*(T-P)):(k=y+U*(C-y),O=S+U*(T-S),M=(k-E)*(k-E)+(O-P)*(O-P))}return[k,O,M]},_getProjectionToLine(y,S,C){var T=e.Util.cloneObject(y),E=Number.MAX_VALUE;return S.forEach(function(P,k){if(!(!C&&k===S.length-1)){var O=S[(k+1)%S.length],M=e.Util._getProjectionToSegment(P.x,P.y,O.x,O.y,y.x,y.y),G=M[0],U=M[1],A=M[2];AS.length){var k=S;S=y,y=k}for(T=0;T{S.width=0,S.height=0})},drawRoundedRectPath(y,S,C,T){let E=0,P=0,k=0,O=0;typeof T=="number"?E=P=k=O=Math.min(T,S/2,C/2):(E=Math.min(T[0]||0,S/2,C/2),P=Math.min(T[1]||0,S/2,C/2),O=Math.min(T[2]||0,S/2,C/2),k=Math.min(T[3]||0,S/2,C/2)),y.moveTo(E,0),y.lineTo(S-P,0),y.arc(S-P,P,P,Math.PI*3/2,0,!1),y.lineTo(S,C-O),y.arc(S-O,C-O,O,0,Math.PI/2,!1),y.lineTo(k,C),y.arc(k,C-k,k,Math.PI/2,Math.PI,!1),y.lineTo(0,E),y.arc(E,E,E,Math.PI,Math.PI*3/2,!1)}}})(Sn);var fn={},nt={},ke={};Object.defineProperty(ke,"__esModule",{value:!0});ke.getComponentValidator=ke.getBooleanValidator=ke.getNumberArrayValidator=ke.getFunctionValidator=ke.getStringOrGradientValidator=ke.getStringValidator=ke.getNumberOrAutoValidator=ke.getNumberOrArrayOfNumbersValidator=ke.getNumberValidator=ke.alphaComponent=ke.RGBComponent=void 0;const $a=rt,Tn=Sn;function Fa(e){return Tn.Util._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||Tn.Util._isBoolean(e)?e:Object.prototype.toString.call(e)}function uSe(e){return e>255?255:e<0?0:Math.round(e)}ke.RGBComponent=uSe;function cSe(e){return e>1?1:e<1e-4?1e-4:e}ke.alphaComponent=cSe;function dSe(){if($a.Konva.isUnminified)return function(e,t){return Tn.Util._isNumber(e)||Tn.Util.warn(Fa(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}ke.getNumberValidator=dSe;function fSe(e){if($a.Konva.isUnminified)return function(t,n){let r=Tn.Util._isNumber(t),i=Tn.Util._isArray(t)&&t.length==e;return!r&&!i&&Tn.Util.warn(Fa(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}ke.getNumberOrArrayOfNumbersValidator=fSe;function hSe(){if($a.Konva.isUnminified)return function(e,t){var n=Tn.Util._isNumber(e),r=e==="auto";return n||r||Tn.Util.warn(Fa(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}ke.getNumberOrAutoValidator=hSe;function pSe(){if($a.Konva.isUnminified)return function(e,t){return Tn.Util._isString(e)||Tn.Util.warn(Fa(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}ke.getStringValidator=pSe;function gSe(){if($a.Konva.isUnminified)return function(e,t){const n=Tn.Util._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||Tn.Util.warn(Fa(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}ke.getStringOrGradientValidator=gSe;function mSe(){if($a.Konva.isUnminified)return function(e,t){return Tn.Util._isFunction(e)||Tn.Util.warn(Fa(e)+' is a not valid value for "'+t+'" attribute. The value should be a function.'),e}}ke.getFunctionValidator=mSe;function ySe(){if($a.Konva.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(Tn.Util._isArray(e)?e.forEach(function(r){Tn.Util._isNumber(r)||Tn.Util.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):Tn.Util.warn(Fa(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}ke.getNumberArrayValidator=ySe;function vSe(){if($a.Konva.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||Tn.Util.warn(Fa(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}ke.getBooleanValidator=vSe;function _Se(e){if($a.Konva.isUnminified)return function(t,n){return t==null||Tn.Util.isObject(t)||Tn.Util.warn(Fa(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}ke.getComponentValidator=_Se;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Factory=void 0;const t=Sn,n=ke;var r="get",i="set";e.Factory={addGetterSetter(o,s,a,l,u){e.Factory.addGetter(o,s,a),e.Factory.addSetter(o,s,l,u),e.Factory.addOverloadedGetterSetter(o,s)},addGetter(o,s,a){var l=r+t.Util._capitalize(s);o.prototype[l]=o.prototype[l]||function(){var u=this.attrs[s];return u===void 0?a:u}},addSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]||e.Factory.overWriteSetter(o,s,a,l)},overWriteSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]=function(d){return a&&d!==void 0&&d!==null&&(d=a.call(this,d,s)),this._setAttr(s,d),l&&l.call(this),this}},addComponentsGetterSetter(o,s,a,l,u){var d=a.length,f=t.Util._capitalize,p=r+f(s),g=i+f(s),m,v;o.prototype[p]=function(){var _={};for(m=0;m{this._setAttr(s+f(S),void 0)}),this._fireChangeEvent(s,b,_),u&&u.call(this),this},e.Factory.addOverloadedGetterSetter(o,s)},addOverloadedGetterSetter(o,s){var a=t.Util._capitalize(s),l=i+a,u=r+a;o.prototype[s]=function(){return arguments.length?(this[l](arguments[0]),this):this[u]()}},addDeprecatedGetterSetter(o,s,a,l){t.Util.error("Adding deprecated "+s);var u=r+t.Util._capitalize(s),d=s+" property is deprecated and will be removed soon. Look at Konva change log for more information.";o.prototype[u]=function(){t.Util.error(d);var f=this.attrs[s];return f===void 0?a:f},e.Factory.addSetter(o,s,l,function(){t.Util.error(d)}),e.Factory.addOverloadedGetterSetter(o,s)},backCompat(o,s){t.Util.each(s,function(a,l){var u=o.prototype[l],d=r+t.Util._capitalize(a),f=i+t.Util._capitalize(a);function p(){u.apply(this,arguments),t.Util.error('"'+a+'" method is deprecated and will be removed soon. Use ""'+l+'" instead.')}o.prototype[a]=p,o.prototype[d]=p,o.prototype[f]=p})},afterSetFilter(){this._filterUpToDate=!1}}})(nt);var Yo={},_a={};Object.defineProperty(_a,"__esModule",{value:!0});_a.HitContext=_a.SceneContext=_a.Context=void 0;const HU=Sn,bSe=rt;function SSe(e){var t=[],n=e.length,r=HU.Util,i,o;for(i=0;itypeof d=="number"?Math.floor(d):d)),o+=wSe+u.join(BO)+xSe)):(o+=a.property,t||(o+=PSe+a.val)),o+=ESe;return o}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=OSe&&n.shift()}reset(){var t=this.getCanvas().getPixelRatio();this.setTransform(1*t,0,0,1*t,0,0)}getCanvas(){return this.canvas}clear(t){var n=this.getCanvas();t?this.clearRect(t.x||0,t.y||0,t.width||0,t.height||0):this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(t){const n=t.attrs.lineCap;n&&this.setAttr("lineCap",n)}_applyOpacity(t){var n=t.getAbsoluteOpacity();n!==1&&this.setAttr("globalAlpha",n)}_applyLineJoin(t){const n=t.attrs.lineJoin;n&&this.setAttr("lineJoin",n)}setAttr(t,n){this._context[t]=n}arc(t,n,r,i,o,s){this._context.arc(t,n,r,i,o,s)}arcTo(t,n,r,i,o){this._context.arcTo(t,n,r,i,o)}beginPath(){this._context.beginPath()}bezierCurveTo(t,n,r,i,o,s){this._context.bezierCurveTo(t,n,r,i,o,s)}clearRect(t,n,r,i){this._context.clearRect(t,n,r,i)}clip(...t){this._context.clip.apply(this._context,t)}closePath(){this._context.closePath()}createImageData(t,n){var r=arguments;if(r.length===2)return this._context.createImageData(t,n);if(r.length===1)return this._context.createImageData(t)}createLinearGradient(t,n,r,i){return this._context.createLinearGradient(t,n,r,i)}createPattern(t,n){return this._context.createPattern(t,n)}createRadialGradient(t,n,r,i,o,s){return this._context.createRadialGradient(t,n,r,i,o,s)}drawImage(t,n,r,i,o,s,a,l,u){var d=arguments,f=this._context;d.length===3?f.drawImage(t,n,r):d.length===5?f.drawImage(t,n,r,i,o):d.length===9&&f.drawImage(t,n,r,i,o,s,a,l,u)}ellipse(t,n,r,i,o,s,a,l){this._context.ellipse(t,n,r,i,o,s,a,l)}isPointInPath(t,n,r,i){return r?this._context.isPointInPath(r,t,n,i):this._context.isPointInPath(t,n,i)}fill(...t){this._context.fill.apply(this._context,t)}fillRect(t,n,r,i){this._context.fillRect(t,n,r,i)}strokeRect(t,n,r,i){this._context.strokeRect(t,n,r,i)}fillText(t,n,r,i){i?this._context.fillText(t,n,r,i):this._context.fillText(t,n,r)}measureText(t){return this._context.measureText(t)}getImageData(t,n,r,i){return this._context.getImageData(t,n,r,i)}lineTo(t,n){this._context.lineTo(t,n)}moveTo(t,n){this._context.moveTo(t,n)}rect(t,n,r,i){this._context.rect(t,n,r,i)}putImageData(t,n,r){this._context.putImageData(t,n,r)}quadraticCurveTo(t,n,r,i){this._context.quadraticCurveTo(t,n,r,i)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,n){this._context.scale(t,n)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(t,n,r,i,o,s){this._context.setTransform(t,n,r,i,o,s)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,n,r,i){this._context.strokeText(t,n,r,i)}transform(t,n,r,i,o,s){this._context.transform(t,n,r,i,o,s)}translate(t,n){this._context.translate(t,n)}_enableTrace(){var t=this,n=UO.length,r=this.setAttr,i,o,s=function(a){var l=t[a],u;t[a]=function(){return o=SSe(Array.prototype.slice.call(arguments,0)),u=l.apply(t,arguments),t._trace({method:a,args:o}),u}};for(i=0;i{i.dragStatus==="dragging"&&(r=!0)}),r},justDragged:!1,get node(){var r;return e.DD._dragElements.forEach(i=>{r=i.node}),r},_dragElements:new Map,_drag(r){const i=[];e.DD._dragElements.forEach((o,s)=>{const{node:a}=o,l=a.getStage();l.setPointersPositions(r),o.pointerId===void 0&&(o.pointerId=n.Util._getFirstPointerId(r));const u=l._changedPointerPositions.find(p=>p.id===o.pointerId);if(u){if(o.dragStatus!=="dragging"){var d=a.dragDistance(),f=Math.max(Math.abs(u.x-o.startPointerPos.x),Math.abs(u.y-o.startPointerPos.y));if(f{o.fire("dragmove",{type:"dragmove",target:o,evt:r},!0)})},_endDragBefore(r){const i=[];e.DD._dragElements.forEach(o=>{const{node:s}=o,a=s.getStage();if(r&&a.setPointersPositions(r),!a._changedPointerPositions.find(d=>d.id===o.pointerId))return;(o.dragStatus==="dragging"||o.dragStatus==="stopped")&&(e.DD.justDragged=!0,t.Konva._mouseListenClick=!1,t.Konva._touchListenClick=!1,t.Konva._pointerListenClick=!1,o.dragStatus="stopped");const u=o.node.getLayer()||o.node instanceof t.Konva.Stage&&o.node;u&&i.indexOf(u)===-1&&i.push(u)}),i.forEach(o=>{o.draw()})},_endDragAfter(r){e.DD._dragElements.forEach((i,o)=>{i.dragStatus==="stopped"&&i.node.fire("dragend",{type:"dragend",target:i.node,evt:r},!0),i.dragStatus!=="dragging"&&e.DD._dragElements.delete(o)})}},t.Konva.isBrowser&&(window.addEventListener("mouseup",e.DD._endDragBefore,!0),window.addEventListener("touchend",e.DD._endDragBefore,!0),window.addEventListener("mousemove",e.DD._drag),window.addEventListener("touchmove",e.DD._drag),window.addEventListener("mouseup",e.DD._endDragAfter,!1),window.addEventListener("touchend",e.DD._endDragAfter,!1))})(aS);Object.defineProperty(fn,"__esModule",{value:!0});fn.Node=void 0;const ct=Sn,Am=nt,N0=Yo,Su=rt,uo=aS,Nn=ke;var _v="absoluteOpacity",L0="allEventListeners",aa="absoluteTransform",zO="absoluteScale",wu="canvas",FSe="Change",BSe="children",USe="konva",o5="listening",VO="mouseenter",jO="mouseleave",GO="set",HO="Shape",bv=" ",WO="stage",sl="transform",zSe="Stage",s5="visible",VSe=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(bv);let jSe=1;class ze{constructor(t){this._id=jSe++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===sl||t===aa)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){var r=this._cache.get(t),i=t===sl||t===aa,o=r===void 0||i&&r.dirty===!0;return o&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const i=n.map(o=>o+"Change.konva").join(bv);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(wu)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===aa&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(wu)){const{scene:t,filter:n,hit:r}=this._cache.get(wu);ct.Util.releaseCanvas(t,n,r),this._cache.delete(wu)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){var n=t||{},r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()}));var i=Math.ceil(n.width||r.width),o=Math.ceil(n.height||r.height),s=n.pixelRatio,a=n.x===void 0?Math.floor(r.x):n.x,l=n.y===void 0?Math.floor(r.y):n.y,u=n.offset||0,d=n.drawBorder||!1,f=n.hitCanvasPixelRatio||1;if(!i||!o){ct.Util.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}i+=u*2+1,o+=u*2+1,a-=u,l-=u;var p=new N0.SceneCanvas({pixelRatio:s,width:i,height:o}),g=new N0.SceneCanvas({pixelRatio:s,width:0,height:0,willReadFrequently:!0}),m=new N0.HitCanvas({pixelRatio:f,width:i,height:o}),v=p.getContext(),x=m.getContext();return m.isCache=!0,p.isCache=!0,this._cache.delete(wu),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(p.getContext()._context.imageSmoothingEnabled=!1,g.getContext()._context.imageSmoothingEnabled=!1),v.save(),x.save(),v.translate(-a,-l),x.translate(-a,-l),this._isUnderCache=!0,this._clearSelfAndDescendantCache(_v),this._clearSelfAndDescendantCache(zO),this.drawScene(p,this),this.drawHit(m,this),this._isUnderCache=!1,v.restore(),x.restore(),d&&(v.save(),v.beginPath(),v.rect(0,0,i,o),v.closePath(),v.setAttr("strokeStyle","red"),v.setAttr("lineWidth",5),v.stroke(),v.restore()),this._cache.set(wu,{scene:p,filter:g,hit:m,x:a,y:l}),this._requestDraw(),this}isCached(){return this._cache.has(wu)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){var r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}],i,o,s,a,l=this.getAbsoluteTransform(n);return r.forEach(function(u){var d=l.point(u);i===void 0&&(i=s=d.x,o=a=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),s=Math.max(s,d.x),a=Math.max(a,d.y)}),{x:i,y:o,width:s-i,height:a-o}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);var r=this._getCachedSceneCanvas(),i=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/i,r.height/i),t.restore()}_drawCachedHitCanvas(t){var n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){var t=this.filters(),n=this._getCanvasCache(),r=n.scene,i=n.filter,o=i.getContext(),s,a,l,u;if(t){if(!this._filterUpToDate){var d=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(s=t.length,o.clear(),o.drawImage(r._canvas,0,0,r.getWidth()/d,r.getHeight()/d),a=o.getImageData(0,0,i.getWidth(),i.getHeight()),l=0;l{var n,r;if(!t)return this;for(n in t)n!==BSe&&(r=GO+ct.Util._capitalize(n),ct.Util._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(o5,this._isListening)}_isListening(t){if(!this.listening())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isListening(t):!0}isVisible(){return this._getCache(s5,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);var r=this.getLayer(),i=!1;uo.DD._dragElements.forEach(s=>{s.dragStatus==="dragging"&&(s.node.nodeType==="Stage"||s.node.getLayer()===r)&&(i=!0)});var o=!n&&!Su.Konva.hitOnDragEnabled&&i;return this.isListening()&&this.isVisible()&&!o}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){var t=this.getDepth(),n=this,r=0,i,o,s,a;function l(u){for(i=[],o=u.length,s=0;s0&&i[0].getDepth()<=t&&l(i)}return n.nodeType!==zSe&&l(n.getStage().getChildren()),r}getDepth(){for(var t=0,n=this.parent;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(sl),this._clearSelfAndDescendantCache(aa)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){if(!this.getStage())return null;var t=this.getStage().getPointerPosition();if(!t)return null;var n=this.getAbsoluteTransform().copy();return n.invert(),n.point(t)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);var i=this.getAbsoluteTransform(t).getMatrix(),o=new ct.Transform,s=this.offset();return o.m=i.slice(),o.translate(s.x,s.y),o.getTranslation()}setAbsolutePosition(t){var n=this._clearTransform();this.attrs.x=n.x,this.attrs.y=n.y,delete n.x,delete n.y,this._clearCache(sl);var r=this._getAbsoluteTransform().copy();return r.invert(),r.translate(t.x,t.y),t={x:this.attrs.x+r.getTranslation().x,y:this.attrs.y+r.getTranslation().y},this._setTransform(n),this.setPosition({x:t.x,y:t.y}),this._clearCache(sl),this._clearSelfAndDescendantCache(aa),this}_setTransform(t){var n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){var t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){var n=t.x,r=t.y,i=this.x(),o=this.y();return n!==void 0&&(i+=n),r!==void 0&&(o+=r),this.setPosition({x:i,y:o}),this}_eachAncestorReverse(t,n){var r=[],i=this.getParent(),o,s;if(!(n&&n._id===this._id)){for(r.unshift(this);i&&(!n||i._id!==n._id);)r.unshift(i),i=i.parent;for(o=r.length,s=0;s0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return ct.Util.warn("Node has no parent. moveToBottom function is ignored."),!1;var t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return ct.Util.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&ct.Util.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");var n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(_v,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){var t=this.opacity(),n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){var t={},n=this.getAttrs(),r,i,o,s,a;t.attrs={};for(r in n)i=n[r],a=ct.Util.isObject(i)&&!ct.Util._isPlainObject(i)&&!ct.Util._isArray(i),!a&&(o=typeof this[r]=="function"&&this[r],delete n[r],s=o?o.call(this):null,n[r]=i,s!==i&&(t.attrs[r]=i));return t.className=this.getClassName(),ct.Util._prepareToStringify(t)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){var i=[];n&&this._isMatch(t)&&i.push(this);for(var o=this.parent;o;){if(o===r)return i;o._isMatch(t)&&i.push(o),o=o.parent}return i}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);var n=t.replace(/ /g,"").split(","),r=n.length,i,o;for(i=0;i{try{const i=t==null?void 0:t.callback;i&&delete t.callback,ct.Util._urlToImage(this.toDataURL(t),function(o){n(o),i==null||i(o)})}catch(i){r(i)}})}toBlob(t){return new Promise((n,r)=>{try{const i=t==null?void 0:t.callback;i&&delete t.callback,this.toCanvas(t).toBlob(o=>{n(o),i==null||i(o)})}catch(i){r(i)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():Su.Konva.dragDistance}_off(t,n,r){var i=this.eventListeners[t],o,s,a;for(o=0;o=0;if(r&&!this.isDragging()){var i=!1;uo.DD._dragElements.forEach(o=>{this.isAncestorOf(o.node)&&(i=!0)}),i||this._createDragElement(t)}})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{this._dragCleanup();var t=this.getStage();if(!t)return;const n=uo.DD._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&uo.DD._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return ct.Util.haveIntersection(r,this.getClientRect())}static create(t,n){return ct.Util._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=ze.prototype.getClassName.call(t),i=t.children,o,s,a;n&&(t.attrs.container=n),Su.Konva[r]||(ct.Util.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=Su.Konva[r];if(o=new l(t.attrs),i)for(s=i.length,a=0;a0}removeChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.destroy()}),this.children=[],this._requestDraw(),this}add(...t){if(t.length===0)return this;if(t.length>1){for(var n=0;n0?n[0]:void 0}_generalFind(t,n){var r=[];return this._descendants(i=>{const o=i._isMatch(t);return o&&r.push(i),!!(o&&n)}),r}_descendants(t){let n=!1;const r=this.getChildren();for(const i of r){if(n=t(i),n)return!0;if(i.hasChildren()&&(n=i._descendants(t),n))return!0}return!1}toObject(){var t=Dx.Node.prototype.toObject.call(this);return t.children=[],this.getChildren().forEach(n=>{t.children.push(n.toObject())}),t}isAncestorOf(t){for(var n=t.getParent();n;){if(n._id===this._id)return!0;n=n.getParent()}return!1}clone(t){var n=Dx.Node.prototype.clone.call(this,t);return this.getChildren().forEach(function(r){n.add(r.clone())}),n}getAllIntersections(t){var n=[];return this.find("Shape").forEach(function(r){r.isVisible()&&r.intersects(t)&&n.push(r)}),n}_clearSelfAndDescendantCache(t){var n;super._clearSelfAndDescendantCache(t),!this.isCached()&&((n=this.children)===null||n===void 0||n.forEach(function(r){r._clearSelfAndDescendantCache(t)}))}_setChildrenIndices(){var t;(t=this.children)===null||t===void 0||t.forEach(function(n,r){n.index=r}),this._requestDraw()}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas(),o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.scene,l=i&&i.isCache;if(!this.isVisible()&&!l)return this;if(a){o.save();var u=this.getAbsoluteTransform(n).getMatrix();o.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this._drawCachedSceneCanvas(o),o.restore()}else this._drawChildren("drawScene",i,n);return this}drawHit(t,n){if(!this.shouldDrawHit(n))return this;var r=this.getLayer(),i=t||r&&r.hitCanvas,o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.hit;if(a){o.save();var l=this.getAbsoluteTransform(n).getMatrix();o.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawCachedHitCanvas(o),o.restore()}else this._drawChildren("drawHit",i,n);return this}_drawChildren(t,n,r){var i,o=n&&n.getContext(),s=this.clipWidth(),a=this.clipHeight(),l=this.clipFunc(),u=s&&a||l;const d=r===this;if(u){o.save();var f=this.getAbsoluteTransform(r),p=f.getMatrix();o.transform(p[0],p[1],p[2],p[3],p[4],p[5]),o.beginPath();let x;if(l)x=l.call(this,o,this);else{var g=this.clipX(),m=this.clipY();o.rect(g,m,s,a)}o.clip.apply(o,x),p=f.copy().invert().getMatrix(),o.transform(p[0],p[1],p[2],p[3],p[4],p[5])}var v=!d&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";v&&(o.save(),o._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(x){x[t](n,r)}),v&&o.restore(),u&&o.restore()}getClientRect(t){var n;t=t||{};var r=t.skipTransform,i=t.relativeTo,o,s,a,l,u={x:1/0,y:1/0,width:0,height:0},d=this;(n=this.children)===null||n===void 0||n.forEach(function(v){if(v.visible()){var x=v.getClientRect({relativeTo:d,skipShadow:t.skipShadow,skipStroke:t.skipStroke});x.width===0&&x.height===0||(o===void 0?(o=x.x,s=x.y,a=x.x+x.width,l=x.y+x.height):(o=Math.min(o,x.x),s=Math.min(s,x.y),a=Math.max(a,x.x+x.width),l=Math.max(l,x.y+x.height)))}});for(var f=this.find("Shape"),p=!1,g=0;gle.indexOf("pointer")>=0?"pointer":le.indexOf("touch")>=0?"touch":"mouse",Z=le=>{const W=q(le);if(W==="pointer")return i.Konva.pointerEventsEnabled&&j.pointer;if(W==="touch")return j.touch;if(W==="mouse")return j.mouse};function ee(le={}){return(le.clipFunc||le.clipWidth||le.clipHeight)&&t.Util.warn("Stage does not support clipping. Please use clip for Layers or Groups."),le}const ie="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);";e.stages=[];class se extends r.Container{constructor(W){super(ee(W)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),e.stages.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{ee(this.attrs)}),this._checkVisibility()}_validateAdd(W){const ne=W.getType()==="Layer",fe=W.getType()==="FastLayer";ne||fe||t.Util.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const W=this.visible()?"":"none";this.content.style.display=W}setContainer(W){if(typeof W===d){if(W.charAt(0)==="."){var ne=W.slice(1);W=document.getElementsByClassName(ne)[0]}else{var fe;W.charAt(0)!=="#"?fe=W:fe=W.slice(1),W=document.getElementById(fe)}if(!W)throw"Can not find container in document with id "+fe}return this._setAttr("container",W),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),W.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var W=this.children,ne=W.length,fe;for(fe=0;fe-1&&e.stages.splice(ne,1),t.Util.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const W=this._pointerPositions[0]||this._changedPointerPositions[0];return W?{x:W.x,y:W.y}:(t.Util.warn(ie),null)}_getPointerById(W){return this._pointerPositions.find(ne=>ne.id===W)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(W){W=W||{},W.x=W.x||0,W.y=W.y||0,W.width=W.width||this.width(),W.height=W.height||this.height();var ne=new o.SceneCanvas({width:W.width,height:W.height,pixelRatio:W.pixelRatio||1}),fe=ne.getContext()._context,pe=this.children;return(W.x||W.y)&&fe.translate(-1*W.x,-1*W.y),pe.forEach(function(ve){if(ve.isVisible()){var ye=ve._toKonvaCanvas(W);fe.drawImage(ye._canvas,W.x,W.y,ye.getWidth()/ye.getPixelRatio(),ye.getHeight()/ye.getPixelRatio())}}),ne}getIntersection(W){if(!W)return null;var ne=this.children,fe=ne.length,pe=fe-1,ve;for(ve=pe;ve>=0;ve--){const ye=ne[ve].getIntersection(W);if(ye)return ye}return null}_resizeDOM(){var W=this.width(),ne=this.height();this.content&&(this.content.style.width=W+f,this.content.style.height=ne+f),this.bufferCanvas.setSize(W,ne),this.bufferHitCanvas.setSize(W,ne),this.children.forEach(fe=>{fe.setSize({width:W,height:ne}),fe.draw()})}add(W,...ne){if(arguments.length>1){for(var fe=0;feD&&t.Util.warn("The stage has "+pe+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),W.setSize({width:this.width(),height:this.height()}),W.draw(),i.Konva.isBrowser&&this.content.appendChild(W.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(W){return l.hasPointerCapture(W,this)}setPointerCapture(W){l.setPointerCapture(W,this)}releaseCapture(W){l.releaseCapture(W,this)}getLayers(){return this.children}_bindContentEvents(){i.Konva.isBrowser&&V.forEach(([W,ne])=>{this.content.addEventListener(W,fe=>{this[ne](fe)},{passive:!1})})}_pointerenter(W){this.setPointersPositions(W);const ne=Z(W.type);this._fire(ne.pointerenter,{evt:W,target:this,currentTarget:this})}_pointerover(W){this.setPointersPositions(W);const ne=Z(W.type);this._fire(ne.pointerover,{evt:W,target:this,currentTarget:this})}_getTargetShape(W){let ne=this[W+"targetShape"];return ne&&!ne.getStage()&&(ne=null),ne}_pointerleave(W){const ne=Z(W.type),fe=q(W.type);if(ne){this.setPointersPositions(W);var pe=this._getTargetShape(fe),ve=!s.DD.isDragging||i.Konva.hitOnDragEnabled;pe&&ve?(pe._fireAndBubble(ne.pointerout,{evt:W}),pe._fireAndBubble(ne.pointerleave,{evt:W}),this._fire(ne.pointerleave,{evt:W,target:this,currentTarget:this}),this[fe+"targetShape"]=null):ve&&(this._fire(ne.pointerleave,{evt:W,target:this,currentTarget:this}),this._fire(ne.pointerout,{evt:W,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(W){const ne=Z(W.type),fe=q(W.type);if(ne){this.setPointersPositions(W);var pe=!1;this._changedPointerPositions.forEach(ve=>{var ye=this.getIntersection(ve);if(s.DD.justDragged=!1,i.Konva["_"+fe+"ListenClick"]=!0,!(ye&&ye.isListening()))return;i.Konva.capturePointerEventsEnabled&&ye.setPointerCapture(ve.id),this[fe+"ClickStartShape"]=ye,ye._fireAndBubble(ne.pointerdown,{evt:W,pointerId:ve.id}),pe=!0;const Me=W.type.indexOf("touch")>=0;ye.preventDefault()&&W.cancelable&&Me&&W.preventDefault()}),pe||this._fire(ne.pointerdown,{evt:W,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(W){const ne=Z(W.type),fe=q(W.type);if(!ne)return;s.DD.isDragging&&s.DD.node.preventDefault()&&W.cancelable&&W.preventDefault(),this.setPointersPositions(W);var pe=!s.DD.isDragging||i.Konva.hitOnDragEnabled;if(!pe)return;var ve={};let ye=!1;var We=this._getTargetShape(fe);this._changedPointerPositions.forEach(Me=>{const Ee=l.getCapturedShape(Me.id)||this.getIntersection(Me),lt=Me.id,_e={evt:W,pointerId:lt};var jt=We!==Ee;if(jt&&We&&(We._fireAndBubble(ne.pointerout,Object.assign({},_e),Ee),We._fireAndBubble(ne.pointerleave,Object.assign({},_e),Ee)),Ee){if(ve[Ee._id])return;ve[Ee._id]=!0}Ee&&Ee.isListening()?(ye=!0,jt&&(Ee._fireAndBubble(ne.pointerover,Object.assign({},_e),We),Ee._fireAndBubble(ne.pointerenter,Object.assign({},_e),We),this[fe+"targetShape"]=Ee),Ee._fireAndBubble(ne.pointermove,Object.assign({},_e))):We&&(this._fire(ne.pointerover,{evt:W,target:this,currentTarget:this,pointerId:lt}),this[fe+"targetShape"]=null)}),ye||this._fire(ne.pointermove,{evt:W,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(W){const ne=Z(W.type),fe=q(W.type);if(!ne)return;this.setPointersPositions(W);const pe=this[fe+"ClickStartShape"],ve=this[fe+"ClickEndShape"];var ye={};let We=!1;this._changedPointerPositions.forEach(Me=>{const Ee=l.getCapturedShape(Me.id)||this.getIntersection(Me);if(Ee){if(Ee.releaseCapture(Me.id),ye[Ee._id])return;ye[Ee._id]=!0}const lt=Me.id,_e={evt:W,pointerId:lt};let jt=!1;i.Konva["_"+fe+"InDblClickWindow"]?(jt=!0,clearTimeout(this[fe+"DblTimeout"])):s.DD.justDragged||(i.Konva["_"+fe+"InDblClickWindow"]=!0,clearTimeout(this[fe+"DblTimeout"])),this[fe+"DblTimeout"]=setTimeout(function(){i.Konva["_"+fe+"InDblClickWindow"]=!1},i.Konva.dblClickWindow),Ee&&Ee.isListening()?(We=!0,this[fe+"ClickEndShape"]=Ee,Ee._fireAndBubble(ne.pointerup,Object.assign({},_e)),i.Konva["_"+fe+"ListenClick"]&&pe&&pe===Ee&&(Ee._fireAndBubble(ne.pointerclick,Object.assign({},_e)),jt&&ve&&ve===Ee&&Ee._fireAndBubble(ne.pointerdblclick,Object.assign({},_e)))):(this[fe+"ClickEndShape"]=null,i.Konva["_"+fe+"ListenClick"]&&this._fire(ne.pointerclick,{evt:W,target:this,currentTarget:this,pointerId:lt}),jt&&this._fire(ne.pointerdblclick,{evt:W,target:this,currentTarget:this,pointerId:lt}))}),We||this._fire(ne.pointerup,{evt:W,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),i.Konva["_"+fe+"ListenClick"]=!1,W.cancelable&&fe!=="touch"&&W.preventDefault()}_contextmenu(W){this.setPointersPositions(W);var ne=this.getIntersection(this.getPointerPosition());ne&&ne.isListening()?ne._fireAndBubble(G,{evt:W}):this._fire(G,{evt:W,target:this,currentTarget:this})}_wheel(W){this.setPointersPositions(W);var ne=this.getIntersection(this.getPointerPosition());ne&&ne.isListening()?ne._fireAndBubble(B,{evt:W}):this._fire(B,{evt:W,target:this,currentTarget:this})}_pointercancel(W){this.setPointersPositions(W);const ne=l.getCapturedShape(W.pointerId)||this.getIntersection(this.getPointerPosition());ne&&ne._fireAndBubble(C,l.createEvent(W)),l.releaseCapture(W.pointerId)}_lostpointercapture(W){l.releaseCapture(W.pointerId)}setPointersPositions(W){var ne=this._getContentPosition(),fe=null,pe=null;W=W||window.event,W.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(W.touches,ve=>{this._pointerPositions.push({id:ve.identifier,x:(ve.clientX-ne.left)/ne.scaleX,y:(ve.clientY-ne.top)/ne.scaleY})}),Array.prototype.forEach.call(W.changedTouches||W.touches,ve=>{this._changedPointerPositions.push({id:ve.identifier,x:(ve.clientX-ne.left)/ne.scaleX,y:(ve.clientY-ne.top)/ne.scaleY})})):(fe=(W.clientX-ne.left)/ne.scaleX,pe=(W.clientY-ne.top)/ne.scaleY,this.pointerPos={x:fe,y:pe},this._pointerPositions=[{x:fe,y:pe,id:t.Util._getFirstPointerId(W)}],this._changedPointerPositions=[{x:fe,y:pe,id:t.Util._getFirstPointerId(W)}])}_setPointerPosition(W){t.Util.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(W)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var W=this.content.getBoundingClientRect();return{top:W.top,left:W.left,scaleX:W.width/this.content.clientWidth||1,scaleY:W.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new o.SceneCanvas({width:this.width(),height:this.height()}),this.bufferHitCanvas=new o.HitCanvas({pixelRatio:1,width:this.width(),height:this.height()}),!!i.Konva.isBrowser){var W=this.container();if(!W)throw"Stage has no container. A container is required.";W.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),W.appendChild(this.content),this._resizeDOM()}}cache(){return t.Util.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(W){W.batchDraw()}),this}}e.Stage=se,se.prototype.nodeType=u,(0,a._registerNode)(se),n.Factory.addGetterSetter(se,"container")})(KU);var Pm={},rr={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.shapes=void 0;const t=rt,n=Sn,r=nt,i=fn,o=ke,s=rt,a=Vi;var l="hasShadow",u="shadowRGBA",d="patternImage",f="linearGradient",p="radialGradient";let g;function m(){return g||(g=n.Util.createCanvasElement().getContext("2d"),g)}e.shapes={};function v(k){const O=this.attrs.fillRule;O?k.fill(O):k.fill()}function x(k){k.stroke()}function _(k){k.fill()}function b(k){k.stroke()}function y(){this._clearCache(l)}function S(){this._clearCache(u)}function C(){this._clearCache(d)}function T(){this._clearCache(f)}function E(){this._clearCache(p)}class P extends i.Node{constructor(O){super(O);let M;for(;M=n.Util.getRandomColor(),!(M&&!(M in e.shapes)););this.colorKey=M,e.shapes[M]=this}getContext(){return n.Util.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return n.Util.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(l,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(d,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var O=m();const M=O.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(M&&M.setTransform){const G=new n.Transform;G.translate(this.fillPatternX(),this.fillPatternY()),G.rotate(t.Konva.getAngle(this.fillPatternRotation())),G.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),G.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const U=G.getMatrix(),A=typeof DOMMatrix>"u"?{a:U[0],b:U[1],c:U[2],d:U[3],e:U[4],f:U[5]}:new DOMMatrix(U);M.setTransform(A)}return M}}_getLinearGradient(){return this._getCache(f,this.__getLinearGradient)}__getLinearGradient(){var O=this.fillLinearGradientColorStops();if(O){for(var M=m(),G=this.fillLinearGradientStartPoint(),U=this.fillLinearGradientEndPoint(),A=M.createLinearGradient(G.x,G.y,U.x,U.y),N=0;Nthis.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const O=this.hitStrokeWidth();return O==="auto"?this.hasStroke():this.strokeEnabled()&&!!O}intersects(O){var M=this.getStage(),G=M.bufferHitCanvas,U;return G.getContext().clear(),this.drawHit(G,null,!0),U=G.context.getImageData(Math.round(O.x),Math.round(O.y),1,1).data,U[3]>0}destroy(){return i.Node.prototype.destroy.call(this),delete e.shapes[this.colorKey],delete this.colorKey,this}_useBufferCanvas(O){var M;if(!this.getStage()||!((M=this.attrs.perfectDrawEnabled)!==null&&M!==void 0?M:!0))return!1;const U=O||this.hasFill(),A=this.hasStroke(),N=this.getAbsoluteOpacity()!==1;if(U&&A&&N)return!0;const F=this.hasShadow(),B=this.shadowForStrokeEnabled();return!!(U&&A&&F&&B)}setStrokeHitEnabled(O){n.Util.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),O?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var O=this.size();return{x:this._centroid?-O.width/2:0,y:this._centroid?-O.height/2:0,width:O.width,height:O.height}}getClientRect(O={}){const M=O.skipTransform,G=O.relativeTo,U=this.getSelfRect(),N=!O.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,F=U.width+N,B=U.height+N,D=!O.skipShadow&&this.hasShadow(),V=D?this.shadowOffsetX():0,j=D?this.shadowOffsetY():0,q=F+Math.abs(V),Z=B+Math.abs(j),ee=D&&this.shadowBlur()||0,ie=q+ee*2,se=Z+ee*2,le={width:ie,height:se,x:-(N/2+ee)+Math.min(V,0)+U.x,y:-(N/2+ee)+Math.min(j,0)+U.y};return M?le:this._transformedRect(le,G)}drawScene(O,M){var G=this.getLayer(),U=O||G.getCanvas(),A=U.getContext(),N=this._getCanvasCache(),F=this.getSceneFunc(),B=this.hasShadow(),D,V,j,q=U.isCache,Z=M===this;if(!this.isVisible()&&!Z)return this;if(N){A.save();var ee=this.getAbsoluteTransform(M).getMatrix();return A.transform(ee[0],ee[1],ee[2],ee[3],ee[4],ee[5]),this._drawCachedSceneCanvas(A),A.restore(),this}if(!F)return this;if(A.save(),this._useBufferCanvas()&&!q){D=this.getStage(),V=D.bufferCanvas,j=V.getContext(),j.clear(),j.save(),j._applyLineJoin(this);var ie=this.getAbsoluteTransform(M).getMatrix();j.transform(ie[0],ie[1],ie[2],ie[3],ie[4],ie[5]),F.call(this,j,this),j.restore();var se=V.pixelRatio;B&&A._applyShadow(this),A._applyOpacity(this),A._applyGlobalCompositeOperation(this),A.drawImage(V._canvas,0,0,V.width/se,V.height/se)}else{if(A._applyLineJoin(this),!Z){var ie=this.getAbsoluteTransform(M).getMatrix();A.transform(ie[0],ie[1],ie[2],ie[3],ie[4],ie[5]),A._applyOpacity(this),A._applyGlobalCompositeOperation(this)}B&&A._applyShadow(this),F.call(this,A,this)}return A.restore(),this}drawHit(O,M,G=!1){if(!this.shouldDrawHit(M,G))return this;var U=this.getLayer(),A=O||U.hitCanvas,N=A&&A.getContext(),F=this.hitFunc()||this.sceneFunc(),B=this._getCanvasCache(),D=B&&B.hit;if(this.colorKey||n.Util.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),D){N.save();var V=this.getAbsoluteTransform(M).getMatrix();return N.transform(V[0],V[1],V[2],V[3],V[4],V[5]),this._drawCachedHitCanvas(N),N.restore(),this}if(!F)return this;if(N.save(),N._applyLineJoin(this),!(this===M)){var q=this.getAbsoluteTransform(M).getMatrix();N.transform(q[0],q[1],q[2],q[3],q[4],q[5])}return F.call(this,N,this),N.restore(),this}drawHitFromCache(O=0){var M=this._getCanvasCache(),G=this._getCachedSceneCanvas(),U=M.hit,A=U.getContext(),N=U.getWidth(),F=U.getHeight(),B,D,V,j,q,Z;A.clear(),A.drawImage(G._canvas,0,0,N,F);try{for(B=A.getImageData(0,0,N,F),D=B.data,V=D.length,j=n.Util._hexToRgb(this.colorKey),q=0;qO?(D[q]=j.r,D[q+1]=j.g,D[q+2]=j.b,D[q+3]=255):D[q+3]=0;A.putImageData(B,0,0)}catch(ee){n.Util.error("Unable to draw hit graph from cached scene canvas. "+ee.message)}return this}hasPointerCapture(O){return a.hasPointerCapture(O,this)}setPointerCapture(O){a.setPointerCapture(O,this)}releaseCapture(O){a.releaseCapture(O,this)}}e.Shape=P,P.prototype._fillFunc=v,P.prototype._strokeFunc=x,P.prototype._fillFuncHit=_,P.prototype._strokeFuncHit=b,P.prototype._centroid=!1,P.prototype.nodeType="Shape",(0,s._registerNode)(P),P.prototype.eventListeners={},P.prototype.on.call(P.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",y),P.prototype.on.call(P.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",S),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",C),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",T),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",E),r.Factory.addGetterSetter(P,"stroke",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(P,"strokeWidth",2,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillAfterStrokeEnabled",!1),r.Factory.addGetterSetter(P,"hitStrokeWidth","auto",(0,o.getNumberOrAutoValidator)()),r.Factory.addGetterSetter(P,"strokeHitEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"perfectDrawEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"shadowForStrokeEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"lineJoin"),r.Factory.addGetterSetter(P,"lineCap"),r.Factory.addGetterSetter(P,"sceneFunc"),r.Factory.addGetterSetter(P,"hitFunc"),r.Factory.addGetterSetter(P,"dash"),r.Factory.addGetterSetter(P,"dashOffset",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowColor",void 0,(0,o.getStringValidator)()),r.Factory.addGetterSetter(P,"shadowBlur",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowOpacity",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"shadowOffset",["x","y"]),r.Factory.addGetterSetter(P,"shadowOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternImage"),r.Factory.addGetterSetter(P,"fill",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(P,"fillPatternX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillLinearGradientColorStops"),r.Factory.addGetterSetter(P,"strokeLinearGradientColorStops"),r.Factory.addGetterSetter(P,"fillRadialGradientStartRadius",0),r.Factory.addGetterSetter(P,"fillRadialGradientEndRadius",0),r.Factory.addGetterSetter(P,"fillRadialGradientColorStops"),r.Factory.addGetterSetter(P,"fillPatternRepeat","repeat"),r.Factory.addGetterSetter(P,"fillEnabled",!0),r.Factory.addGetterSetter(P,"strokeEnabled",!0),r.Factory.addGetterSetter(P,"shadowEnabled",!0),r.Factory.addGetterSetter(P,"dashEnabled",!0),r.Factory.addGetterSetter(P,"strokeScaleEnabled",!0),r.Factory.addGetterSetter(P,"fillPriority","color"),r.Factory.addComponentsGetterSetter(P,"fillPatternOffset",["x","y"]),r.Factory.addGetterSetter(P,"fillPatternOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"fillPatternScale",["x","y"]),r.Factory.addGetterSetter(P,"fillPatternScaleX",1,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternScaleY",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"fillLinearGradientStartPoint",["x","y"]),r.Factory.addComponentsGetterSetter(P,"strokeLinearGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillLinearGradientStartPointX",0),r.Factory.addGetterSetter(P,"strokeLinearGradientStartPointX",0),r.Factory.addGetterSetter(P,"fillLinearGradientStartPointY",0),r.Factory.addGetterSetter(P,"strokeLinearGradientStartPointY",0),r.Factory.addComponentsGetterSetter(P,"fillLinearGradientEndPoint",["x","y"]),r.Factory.addComponentsGetterSetter(P,"strokeLinearGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillLinearGradientEndPointX",0),r.Factory.addGetterSetter(P,"strokeLinearGradientEndPointX",0),r.Factory.addGetterSetter(P,"fillLinearGradientEndPointY",0),r.Factory.addGetterSetter(P,"strokeLinearGradientEndPointY",0),r.Factory.addComponentsGetterSetter(P,"fillRadialGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillRadialGradientStartPointX",0),r.Factory.addGetterSetter(P,"fillRadialGradientStartPointY",0),r.Factory.addComponentsGetterSetter(P,"fillRadialGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillRadialGradientEndPointX",0),r.Factory.addGetterSetter(P,"fillRadialGradientEndPointY",0),r.Factory.addGetterSetter(P,"fillPatternRotation",0),r.Factory.addGetterSetter(P,"fillRule",void 0,(0,o.getStringValidator)()),r.Factory.backCompat(P,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"})})(rr);Object.defineProperty(Pm,"__esModule",{value:!0});Pm.Layer=void 0;const ra=Sn,$x=vc,hd=fn,vE=nt,qO=Yo,KSe=ke,XSe=rr,YSe=rt;var QSe="#",ZSe="beforeDraw",JSe="draw",QU=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],e2e=QU.length;class Vf extends $x.Container{constructor(t){super(t),this.canvas=new qO.SceneCanvas,this.hitCanvas=new qO.HitCanvas({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(t){return this.getContext().clear(t),this.getHitCanvas().getContext().clear(t),this}setZIndex(t){super.setZIndex(t);var n=this.getStage();return n&&n.content&&(n.content.removeChild(this.getNativeCanvasElement()),t{this.draw(),this._waitingForDraw=!1})),this}getIntersection(t){if(!this.isListening()||!this.isVisible())return null;for(var n=1,r=!1;;){for(let i=0;i0)return{antialiased:!0};return{}}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas();return this._fire(ZSe,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),$x.Container.prototype.drawScene.call(this,i,n),this._fire(JSe,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),$x.Container.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){ra.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return ra.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!(!this.parent||!this.parent.content)){var t=this.parent,n=!!this.hitCanvas._canvas.parentNode;n?t.content.removeChild(this.hitCanvas._canvas):t.content.appendChild(this.hitCanvas._canvas)}}destroy(){return ra.Util.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}Pm.Layer=Vf;Vf.prototype.nodeType="Layer";(0,YSe._registerNode)(Vf);vE.Factory.addGetterSetter(Vf,"imageSmoothingEnabled",!0);vE.Factory.addGetterSetter(Vf,"clearBeforeDraw",!0);vE.Factory.addGetterSetter(Vf,"hitGraphEnabled",!0,(0,KSe.getBooleanValidator)());var uS={};Object.defineProperty(uS,"__esModule",{value:!0});uS.FastLayer=void 0;const t2e=Sn,n2e=Pm,r2e=rt;class _E extends n2e.Layer{constructor(t){super(t),this.listening(!1),t2e.Util.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}uS.FastLayer=_E;_E.prototype.nodeType="FastLayer";(0,r2e._registerNode)(_E);var jf={};Object.defineProperty(jf,"__esModule",{value:!0});jf.Group=void 0;const i2e=Sn,o2e=vc,s2e=rt;class bE extends o2e.Container{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&i2e.Util.throw("You may only add groups and shapes to groups.")}}jf.Group=bE;bE.prototype.nodeType="Group";(0,s2e._registerNode)(bE);var Gf={};Object.defineProperty(Gf,"__esModule",{value:!0});Gf.Animation=void 0;const Fx=rt,KO=Sn;var Bx=function(){return Fx.glob.performance&&Fx.glob.performance.now?function(){return Fx.glob.performance.now()}:function(){return new Date().getTime()}}();class ws{constructor(t,n){this.id=ws.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:Bx(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){var n=[];return t?t.length>0?n=t:n=[t]:n=[],this.layers=n,this}getLayers(){return this.layers}addLayer(t){var n=this.layers,r=n.length,i;for(i=0;ithis.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():m<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=m,this.update())}getTime(){return this._time}setPosition(m){this.prevPos=this._pos,this.propFunc(m),this._pos=m}getPosition(m){return m===void 0&&(m=this._time),this.func(m,this.begin,this._change,this.duration)}play(){this.state=a,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=l,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(m){this.pause(),this._time=m,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){var m=this.getTimer()-this._startTime;this.state===a?this.setTime(m):this.state===l&&this.setTime(this.duration-m)}pause(){this.state=s,this.fire("onPause")}getTimer(){return new Date().getTime()}}class p{constructor(m){var v=this,x=m.node,_=x._id,b,y=m.easing||e.Easings.Linear,S=!!m.yoyo,C;typeof m.duration>"u"?b=.3:m.duration===0?b=.001:b=m.duration,this.node=x,this._id=u++;var T=x.getLayer()||(x instanceof i.Konva.Stage?x.getLayers():null);T||t.Util.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new n.Animation(function(){v.tween.onEnterFrame()},T),this.tween=new f(C,function(E){v._tweenFunc(E)},y,0,1,b*1e3,S),this._addListeners(),p.attrs[_]||(p.attrs[_]={}),p.attrs[_][this._id]||(p.attrs[_][this._id]={}),p.tweens[_]||(p.tweens[_]={});for(C in m)o[C]===void 0&&this._addAttr(C,m[C]);this.reset(),this.onFinish=m.onFinish,this.onReset=m.onReset,this.onUpdate=m.onUpdate}_addAttr(m,v){var x=this.node,_=x._id,b,y,S,C,T,E,P,k;if(S=p.tweens[_][m],S&&delete p.attrs[_][S][m],b=x.getAttr(m),t.Util._isArray(v))if(y=[],T=Math.max(v.length,b.length),m==="points"&&v.length!==b.length&&(v.length>b.length?(P=b,b=t.Util._prepareArrayForTween(b,v,x.closed())):(E=v,v=t.Util._prepareArrayForTween(v,b,x.closed()))),m.indexOf("fill")===0)for(C=0;C{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var m=this.node,v=p.attrs[m._id][this._id];v.points&&v.points.trueEnd&&m.setAttr("points",v.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var m=this.node,v=p.attrs[m._id][this._id];v.points&&v.points.trueStart&&m.points(v.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(m){return this.tween.seek(m*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var m=this.node._id,v=this._id,x=p.tweens[m],_;this.pause();for(_ in x)delete p.tweens[m][_];delete p.attrs[m][v]}}e.Tween=p,p.attrs={},p.tweens={},r.Node.prototype.to=function(g){var m=g.onFinish;g.node=this,g.onFinish=function(){this.destroy(),m&&m()};var v=new p(g);v.play()},e.Easings={BackEaseIn(g,m,v,x){var _=1.70158;return v*(g/=x)*g*((_+1)*g-_)+m},BackEaseOut(g,m,v,x){var _=1.70158;return v*((g=g/x-1)*g*((_+1)*g+_)+1)+m},BackEaseInOut(g,m,v,x){var _=1.70158;return(g/=x/2)<1?v/2*(g*g*(((_*=1.525)+1)*g-_))+m:v/2*((g-=2)*g*(((_*=1.525)+1)*g+_)+2)+m},ElasticEaseIn(g,m,v,x,_,b){var y=0;return g===0?m:(g/=x)===1?m+v:(b||(b=x*.3),!_||_0?t:n),d=s*n,f=a*(a>0?t:n),p=l*(l>0?n:t);return{x:u,y:r?-1*p:f,width:d-u,height:p-f}}}cS.Arc=Ba;Ba.prototype._centroid=!0;Ba.prototype.className="Arc";Ba.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,l2e._registerNode)(Ba);dS.Factory.addGetterSetter(Ba,"innerRadius",0,(0,fS.getNumberValidator)());dS.Factory.addGetterSetter(Ba,"outerRadius",0,(0,fS.getNumberValidator)());dS.Factory.addGetterSetter(Ba,"angle",0,(0,fS.getNumberValidator)());dS.Factory.addGetterSetter(Ba,"clockwise",!1,(0,fS.getBooleanValidator)());var hS={},Rm={};Object.defineProperty(Rm,"__esModule",{value:!0});Rm.Line=void 0;const pS=nt,u2e=rr,JU=ke,c2e=rt;function a5(e,t,n,r,i,o,s){var a=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),l=Math.sqrt(Math.pow(i-n,2)+Math.pow(o-r,2)),u=s*a/(a+l),d=s*l/(a+l),f=n-u*(i-e),p=r-u*(o-t),g=n+d*(i-e),m=r+d*(o-t);return[f,p,g,m]}function YO(e,t){var n=e.length,r=[],i,o;for(i=2;i4){for(a=this.getTensionPoints(),l=a.length,u=o?0:4,o||t.quadraticCurveTo(a[0],a[1],a[2],a[3]);u{let u,d,f;u=l/2,d=0;for(let g=0;g<20;g++)f=u*e.tValues[20][g]+u,d+=e.cValues[20][g]*r(s,a,f);return u*d};e.getCubicArcLength=t;const n=(s,a,l)=>{l===void 0&&(l=1);const u=s[0]-2*s[1]+s[2],d=a[0]-2*a[1]+a[2],f=2*s[1]-2*s[0],p=2*a[1]-2*a[0],g=4*(u*u+d*d),m=4*(u*f+d*p),v=f*f+p*p;if(g===0)return l*Math.sqrt(Math.pow(s[2]-s[0],2)+Math.pow(a[2]-a[0],2));const x=m/(2*g),_=v/g,b=l+x,y=_-x*x,S=b*b+y>0?Math.sqrt(b*b+y):0,C=x*x+y>0?Math.sqrt(x*x+y):0,T=x+Math.sqrt(x*x+y)!==0?y*Math.log(Math.abs((b+S)/(x+C))):0;return Math.sqrt(g)/2*(b*S-x*C+T)};e.getQuadraticArcLength=n;function r(s,a,l){const u=i(1,l,s),d=i(1,l,a),f=u*u+d*d;return Math.sqrt(f)}const i=(s,a,l)=>{const u=l.length-1;let d,f;if(u===0)return 0;if(s===0){f=0;for(let p=0;p<=u;p++)f+=e.binomialCoefficients[u][p]*Math.pow(1-a,u-p)*Math.pow(a,p)*l[p];return f}else{d=new Array(u);for(let p=0;p{let u=1,d=s/a,f=(s-l(d))/a,p=0;for(;u>.001;){const g=l(d+f),m=Math.abs(s-g)/a;if(m500)break}return d};e.t2length=o})(ez);Object.defineProperty(Hf,"__esModule",{value:!0});Hf.Path=void 0;const d2e=nt,f2e=rr,h2e=rt,pd=ez;class Qn extends f2e.Shape{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=Qn.parsePathData(this.data()),this.pathLength=Qn.getPathLength(this.dataArray)}_sceneFunc(t){var n=this.dataArray;t.beginPath();for(var r=!1,i=0;id?u:d,x=u>d?1:u/d,_=u>d?d/u:1;t.translate(a,l),t.rotate(g),t.scale(x,_),t.arc(0,0,v,f,f+p,1-m),t.scale(1/x,1/_),t.rotate(-g),t.translate(-a,-l);break;case"z":r=!0,t.closePath();break}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){var t=[];this.dataArray.forEach(function(u){if(u.command==="A"){var d=u.points[4],f=u.points[5],p=u.points[4]+f,g=Math.PI/180;if(Math.abs(d-p)p;m-=g){const v=Qn.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],m,0);t.push(v.x,v.y)}else for(let m=d+g;mn[i].pathLength;)t-=n[i].pathLength,++i;if(i===o)return r=n[i-1].points.slice(-2),{x:r[0],y:r[1]};if(t<.01)return r=n[i].points.slice(0,2),{x:r[0],y:r[1]};var s=n[i],a=s.points;switch(s.command){case"L":return Qn.getPointOnLine(t,s.start.x,s.start.y,a[0],a[1]);case"C":return Qn.getPointOnCubicBezier((0,pd.t2length)(t,Qn.getPathLength(n),v=>(0,pd.getCubicArcLength)([s.start.x,a[0],a[2],a[4]],[s.start.y,a[1],a[3],a[5]],v)),s.start.x,s.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return Qn.getPointOnQuadraticBezier((0,pd.t2length)(t,Qn.getPathLength(n),v=>(0,pd.getQuadraticArcLength)([s.start.x,a[0],a[2]],[s.start.y,a[1],a[3]],v)),s.start.x,s.start.y,a[0],a[1],a[2],a[3]);case"A":var l=a[0],u=a[1],d=a[2],f=a[3],p=a[4],g=a[5],m=a[6];return p+=g*t/s.pathLength,Qn.getPointOnEllipticalArc(l,u,d,f,p,m)}return null}static getPointOnLine(t,n,r,i,o,s,a){s===void 0&&(s=n),a===void 0&&(a=r);var l=(o-r)/(i-n+1e-8),u=Math.sqrt(t*t/(1+l*l));i0&&!isNaN(m[0]);){var b=null,y=[],S=l,C=u,T,E,P,k,O,M,G,U,A,N;switch(g){case"l":l+=m.shift(),u+=m.shift(),b="L",y.push(l,u);break;case"L":l=m.shift(),u=m.shift(),y.push(l,u);break;case"m":var F=m.shift(),B=m.shift();if(l+=F,u+=B,b="M",s.length>2&&s[s.length-1].command==="z"){for(var D=s.length-2;D>=0;D--)if(s[D].command==="M"){l=s[D].points[0]+F,u=s[D].points[1]+B;break}}y.push(l,u),g="l";break;case"M":l=m.shift(),u=m.shift(),b="M",y.push(l,u),g="L";break;case"h":l+=m.shift(),b="L",y.push(l,u);break;case"H":l=m.shift(),b="L",y.push(l,u);break;case"v":u+=m.shift(),b="L",y.push(l,u);break;case"V":u=m.shift(),b="L",y.push(l,u);break;case"C":y.push(m.shift(),m.shift(),m.shift(),m.shift()),l=m.shift(),u=m.shift(),y.push(l,u);break;case"c":y.push(l+m.shift(),u+m.shift(),l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="C",y.push(l,u);break;case"S":E=l,P=u,T=s[s.length-1],T.command==="C"&&(E=l+(l-T.points[2]),P=u+(u-T.points[3])),y.push(E,P,m.shift(),m.shift()),l=m.shift(),u=m.shift(),b="C",y.push(l,u);break;case"s":E=l,P=u,T=s[s.length-1],T.command==="C"&&(E=l+(l-T.points[2]),P=u+(u-T.points[3])),y.push(E,P,l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="C",y.push(l,u);break;case"Q":y.push(m.shift(),m.shift()),l=m.shift(),u=m.shift(),y.push(l,u);break;case"q":y.push(l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="Q",y.push(l,u);break;case"T":E=l,P=u,T=s[s.length-1],T.command==="Q"&&(E=l+(l-T.points[0]),P=u+(u-T.points[1])),l=m.shift(),u=m.shift(),b="Q",y.push(E,P,l,u);break;case"t":E=l,P=u,T=s[s.length-1],T.command==="Q"&&(E=l+(l-T.points[0]),P=u+(u-T.points[1])),l+=m.shift(),u+=m.shift(),b="Q",y.push(E,P,l,u);break;case"A":k=m.shift(),O=m.shift(),M=m.shift(),G=m.shift(),U=m.shift(),A=l,N=u,l=m.shift(),u=m.shift(),b="A",y=this.convertEndpointToCenterParameterization(A,N,l,u,G,U,k,O,M);break;case"a":k=m.shift(),O=m.shift(),M=m.shift(),G=m.shift(),U=m.shift(),A=l,N=u,l+=m.shift(),u+=m.shift(),b="A",y=this.convertEndpointToCenterParameterization(A,N,l,u,G,U,k,O,M);break}s.push({command:b||g,points:y,start:{x:S,y:C},pathLength:this.calcLength(S,C,b||g,y)})}(g==="z"||g==="Z")&&s.push({command:"z",points:[],start:void 0,pathLength:0})}return s}static calcLength(t,n,r,i){var o,s,a,l,u=Qn;switch(r){case"L":return u.getLineLength(t,n,i[0],i[1]);case"C":return(0,pd.getCubicArcLength)([t,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return(0,pd.getQuadraticArcLength)([t,i[0],i[2]],[n,i[1],i[3]],1);case"A":o=0;var d=i[4],f=i[5],p=i[4]+f,g=Math.PI/180;if(Math.abs(d-p)p;l-=g)a=u.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=u.getLineLength(s.x,s.y,a.x,a.y),s=a;else for(l=d+g;l1&&(a*=Math.sqrt(g),l*=Math.sqrt(g));var m=Math.sqrt((a*a*(l*l)-a*a*(p*p)-l*l*(f*f))/(a*a*(p*p)+l*l*(f*f)));o===s&&(m*=-1),isNaN(m)&&(m=0);var v=m*a*p/l,x=m*-l*f/a,_=(t+r)/2+Math.cos(d)*v-Math.sin(d)*x,b=(n+i)/2+Math.sin(d)*v+Math.cos(d)*x,y=function(O){return Math.sqrt(O[0]*O[0]+O[1]*O[1])},S=function(O,M){return(O[0]*M[0]+O[1]*M[1])/(y(O)*y(M))},C=function(O,M){return(O[0]*M[1]=1&&(k=0),s===0&&k>0&&(k=k-2*Math.PI),s===1&&k<0&&(k=k+2*Math.PI),[_,b,a,l,T,k,d,s]}}Hf.Path=Qn;Qn.prototype.className="Path";Qn.prototype._attrsAffectingSize=["data"];(0,h2e._registerNode)(Qn);d2e.Factory.addGetterSetter(Qn,"data");Object.defineProperty(hS,"__esModule",{value:!0});hS.Arrow=void 0;const gS=nt,p2e=Rm,tz=ke,g2e=rt,QO=Hf;class bc extends p2e.Line{_sceneFunc(t){super._sceneFunc(t);var n=Math.PI*2,r=this.points(),i=r,o=this.tension()!==0&&r.length>4;o&&(i=this.getTensionPoints());var s=this.pointerLength(),a=r.length,l,u;if(o){const p=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],r[a-2],r[a-1]],g=QO.Path.calcLength(i[i.length-4],i[i.length-3],"C",p),m=QO.Path.getPointOnQuadraticBezier(Math.min(1,1-s/g),p[0],p[1],p[2],p[3],p[4],p[5]);l=r[a-2]-m.x,u=r[a-1]-m.y}else l=r[a-2]-r[a-4],u=r[a-1]-r[a-3];var d=(Math.atan2(u,l)+n)%n,f=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[a-2],r[a-1]),t.rotate(d),t.moveTo(0,0),t.lineTo(-s,f/2),t.lineTo(-s,-f/2),t.closePath(),t.restore(),this.__fillStroke(t)),this.pointerAtBeginning()&&(t.save(),t.beginPath(),t.translate(r[0],r[1]),o?(l=(i[0]+i[2])/2-r[0],u=(i[1]+i[3])/2-r[1]):(l=r[2]-r[0],u=r[3]-r[1]),t.rotate((Math.atan2(-u,-l)+n)%n),t.moveTo(0,0),t.lineTo(-s,f/2),t.lineTo(-s,-f/2),t.closePath(),t.restore(),this.__fillStroke(t))}__fillStroke(t){var n=this.dashEnabled();n&&(this.attrs.dashEnabled=!1,t.setLineDash([])),t.fillStrokeShape(this),n&&(this.attrs.dashEnabled=!0)}getSelfRect(){const t=super.getSelfRect(),n=this.pointerWidth()/2;return{x:t.x-n,y:t.y-n,width:t.width+n*2,height:t.height+n*2}}}hS.Arrow=bc;bc.prototype.className="Arrow";(0,g2e._registerNode)(bc);gS.Factory.addGetterSetter(bc,"pointerLength",10,(0,tz.getNumberValidator)());gS.Factory.addGetterSetter(bc,"pointerWidth",10,(0,tz.getNumberValidator)());gS.Factory.addGetterSetter(bc,"pointerAtBeginning",!1);gS.Factory.addGetterSetter(bc,"pointerAtEnding",!0);var mS={};Object.defineProperty(mS,"__esModule",{value:!0});mS.Circle=void 0;const m2e=nt,y2e=rr,v2e=ke,_2e=rt;let Wf=class extends y2e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius()!==t/2&&this.radius(t/2)}setHeight(t){this.radius()!==t/2&&this.radius(t/2)}};mS.Circle=Wf;Wf.prototype._centroid=!0;Wf.prototype.className="Circle";Wf.prototype._attrsAffectingSize=["radius"];(0,_2e._registerNode)(Wf);m2e.Factory.addGetterSetter(Wf,"radius",0,(0,v2e.getNumberValidator)());var yS={};Object.defineProperty(yS,"__esModule",{value:!0});yS.Ellipse=void 0;const SE=nt,b2e=rr,nz=ke,S2e=rt;class iu extends b2e.Shape{_sceneFunc(t){var n=this.radiusX(),r=this.radiusY();t.beginPath(),t.save(),n!==r&&t.scale(1,r/n),t.arc(0,0,n,0,Math.PI*2,!1),t.restore(),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(t){this.radiusX(t/2)}setHeight(t){this.radiusY(t/2)}}yS.Ellipse=iu;iu.prototype.className="Ellipse";iu.prototype._centroid=!0;iu.prototype._attrsAffectingSize=["radiusX","radiusY"];(0,S2e._registerNode)(iu);SE.Factory.addComponentsGetterSetter(iu,"radius",["x","y"]);SE.Factory.addGetterSetter(iu,"radiusX",0,(0,nz.getNumberValidator)());SE.Factory.addGetterSetter(iu,"radiusY",0,(0,nz.getNumberValidator)());var vS={};Object.defineProperty(vS,"__esModule",{value:!0});vS.Image=void 0;const Ux=Sn,Sc=nt,w2e=rr,x2e=rt,Om=ke;let Us=class rz extends w2e.Shape{constructor(t){super(t),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){return super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),i=this.cornerRadius(),o=this.attrs.image;let s;if(o){const a=this.attrs.cropWidth,l=this.attrs.cropHeight;a&&l?s=[o,this.cropX(),this.cropY(),a,l,0,0,n,r]:s=[o,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?Ux.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),o&&(i&&t.clip(),t.drawImage.apply(t,s))}_hitFunc(t){var n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?Ux.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n;return(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width}getHeight(){var t,n;return(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height}static fromURL(t,n,r=null){var i=Ux.Util.createImageElement();i.onload=function(){var o=new rz({image:i});n(o)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};vS.Image=Us;Us.prototype.className="Image";(0,x2e._registerNode)(Us);Sc.Factory.addGetterSetter(Us,"cornerRadius",0,(0,Om.getNumberOrArrayOfNumbersValidator)(4));Sc.Factory.addGetterSetter(Us,"image");Sc.Factory.addComponentsGetterSetter(Us,"crop",["x","y","width","height"]);Sc.Factory.addGetterSetter(Us,"cropX",0,(0,Om.getNumberValidator)());Sc.Factory.addGetterSetter(Us,"cropY",0,(0,Om.getNumberValidator)());Sc.Factory.addGetterSetter(Us,"cropWidth",0,(0,Om.getNumberValidator)());Sc.Factory.addGetterSetter(Us,"cropHeight",0,(0,Om.getNumberValidator)());var Rf={};Object.defineProperty(Rf,"__esModule",{value:!0});Rf.Tag=Rf.Label=void 0;const _S=nt,C2e=rr,T2e=jf,wE=ke,iz=rt;var oz=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],E2e="Change.konva",A2e="none",l5="up",u5="right",c5="down",d5="left",P2e=oz.length;class xE extends T2e.Group{constructor(t){super(t),this.on("add.konva",function(n){this._addListeners(n.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(t){var n=this,r,i=function(){n._sync()};for(r=0;r{n=Math.min(n,s.x),r=Math.max(r,s.x),i=Math.min(i,s.y),o=Math.max(o,s.y)}),{x:n,y:i,width:r-n,height:o-i}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}SS.RegularPolygon=xc;xc.prototype.className="RegularPolygon";xc.prototype._centroid=!0;xc.prototype._attrsAffectingSize=["radius"];(0,L2e._registerNode)(xc);sz.Factory.addGetterSetter(xc,"radius",0,(0,az.getNumberValidator)());sz.Factory.addGetterSetter(xc,"sides",0,(0,az.getNumberValidator)());var wS={};Object.defineProperty(wS,"__esModule",{value:!0});wS.Ring=void 0;const lz=nt,D2e=rr,uz=ke,$2e=rt;var ZO=Math.PI*2;class Cc extends D2e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,ZO,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),ZO,0,!0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(t){this.outerRadius(t/2)}setHeight(t){this.outerRadius(t/2)}}wS.Ring=Cc;Cc.prototype.className="Ring";Cc.prototype._centroid=!0;Cc.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,$2e._registerNode)(Cc);lz.Factory.addGetterSetter(Cc,"innerRadius",0,(0,uz.getNumberValidator)());lz.Factory.addGetterSetter(Cc,"outerRadius",0,(0,uz.getNumberValidator)());var xS={};Object.defineProperty(xS,"__esModule",{value:!0});xS.Sprite=void 0;const Tc=nt,F2e=rr,B2e=Gf,cz=ke,U2e=rt;class zs extends F2e.Shape{constructor(t){super(t),this._updated=!0,this.anim=new B2e.Animation(()=>{var n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+0],l=o[i+1],u=o[i+2],d=o[i+3],f=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,u,d),t.closePath(),t.fillStrokeShape(this)),f)if(s){var p=s[n],g=r*2;t.drawImage(f,a,l,u,d,p[g+0],p[g+1],u,d)}else t.drawImage(f,a,l,u,d,0,0,u,d)}_hitFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+2],l=o[i+3];if(t.beginPath(),s){var u=s[n],d=r*2;t.rect(u[d+0],u[d+1],a,l)}else t.rect(0,0,a,l);t.closePath(),t.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){var t=this;this.interval=setInterval(function(){t._updateIndex()},1e3/this.frameRate())}start(){if(!this.isRunning()){var t=this.getLayer();this.anim.setLayers(t),this._setInterval(),this.anim.start()}}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){var t=this.frameIndex(),n=this.animation(),r=this.animations(),i=r[n],o=i.length/4;t{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t=`"${t}"`),t}).join(", ")}var $0;function Vx(){return $0||($0=f5.Util.createCanvasElement().getContext(q2e),$0)}function iwe(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function owe(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function swe(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class Ln extends j2e.Shape{constructor(t){super(swe(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n1&&(_+=s)}}}_hitFunc(t){var n=this.getWidth(),r=this.getHeight();t.beginPath(),t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}setText(t){var n=f5.Util._isString(t)?t:t==null?"":t+"";return this._setAttr(K2e,n),this}getWidth(){var t=this.attrs.width===gd||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===gd||this.attrs.height===void 0;return t?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return f5.Util.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(t){var n=Vx(),r=this.fontSize(),i;return n.save(),n.font=this._getContextFont(),i=n.measureText(t),n.restore(),{width:i.width,height:r}}_getContextFont(){return this.fontStyle()+D0+this.fontVariant()+D0+(this.fontSize()+Z2e)+rwe(this.fontFamily())}_addTextLine(t){this.align()===Zh&&(t=t.trim());var r=this._getTextWidth(t);return this.textArr.push({text:t,width:r,lastInParagraph:!1})}_getTextWidth(t){var n=this.letterSpacing(),r=t.length;return Vx().measureText(t).width+(r?n*(r-1):0)}_setTextData(){var t=this.text().split(` +`),n=+this.fontSize(),r=0,i=this.lineHeight()*n,o=this.attrs.width,s=this.attrs.height,a=o!==gd&&o!==void 0,l=s!==gd&&s!==void 0,u=this.padding(),d=o-u*2,f=s-u*2,p=0,g=this.wrap(),m=g!==tk,v=g!==twe&&m,x=this.ellipsis();this.textArr=[],Vx().font=this._getContextFont();for(var _=x?this._getTextWidth(zx):0,b=0,y=t.length;bd)for(;S.length>0;){for(var T=0,E=S.length,P="",k=0;T>>1,M=S.slice(0,O+1),G=this._getTextWidth(M)+_;G<=d?(T=O+1,P=M,k=G):E=O}if(P){if(v){var U,A=S[P.length],N=A===D0||A===JO;N&&k<=d?U=P.length:U=Math.max(P.lastIndexOf(D0),P.lastIndexOf(JO))+1,U>0&&(T=U,P=P.slice(0,T),k=this._getTextWidth(P))}P=P.trimRight(),this._addTextLine(P),r=Math.max(r,k),p+=i;var F=this._shouldHandleEllipsis(p);if(F){this._tryToAddEllipsisToLastLine();break}if(S=S.slice(T),S=S.trimLeft(),S.length>0&&(C=this._getTextWidth(S),C<=d)){this._addTextLine(S),p+=i,r=Math.max(r,C);break}}else break}else this._addTextLine(S),p+=i,r=Math.max(r,C),this._shouldHandleEllipsis(p)&&bf)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,i=this.attrs.height,o=i!==gd&&i!==void 0,s=this.padding(),a=i-s*2,l=this.wrap(),u=l!==tk;return!u||o&&t+r>a}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==gd&&t!==void 0,r=this.padding(),i=t-r*2,o=this.ellipsis(),s=this.textArr[this.textArr.length-1];if(!(!s||!o)){if(n){var a=this._getTextWidth(s.text+zx)n?null:Jh.Path.getPointAtLengthOfDataArray(t,this.dataArray)}_readDataAttribute(){this.dataArray=Jh.Path.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(t){t.setAttr("font",this._getContextFont()),t.setAttr("textBaseline",this.textBaseline()),t.setAttr("textAlign","left"),t.save();var n=this.textDecoration(),r=this.fill(),i=this.fontSize(),o=this.glyphInfo;n==="underline"&&t.beginPath();for(var s=0;s=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var i=0;ie+`.${_z}`).join(" "),ik="nodesRect",pwe=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],gwe={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const mwe="ontouchstart"in Do.Konva._global;function ywe(e,t){if(e==="rotater")return"crosshair";t+=zt.Util.degToRad(gwe[e]||0);var n=(zt.Util.radToDeg(t)%360+360)%360;return zt.Util._inRange(n,315+22.5,360)||zt.Util._inRange(n,0,22.5)?"ns-resize":zt.Util._inRange(n,45-22.5,45+22.5)?"nesw-resize":zt.Util._inRange(n,90-22.5,90+22.5)?"ew-resize":zt.Util._inRange(n,135-22.5,135+22.5)?"nwse-resize":zt.Util._inRange(n,180-22.5,180+22.5)?"ns-resize":zt.Util._inRange(n,225-22.5,225+22.5)?"nesw-resize":zt.Util._inRange(n,270-22.5,270+22.5)?"ew-resize":zt.Util._inRange(n,315-22.5,315+22.5)?"nwse-resize":(zt.Util.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var e_=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],ok=1e8;function vwe(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function bz(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),i=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return Object.assign(Object.assign({},e),{rotation:e.rotation+t,x:r,y:i})}function _we(e,t){const n=vwe(e);return bz(e,t,n)}function bwe(e,t,n){let r=t;for(let i=0;ii.isAncestorOf(this)?(zt.Util.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1):!0);this._nodes=t=n,t.length===1&&this.useSingleNodeRotation()?this.rotation(t[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(i=>{const o=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},s=i._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");i.on(s,o),i.on(pwe.map(a=>a+`.${this._getEventNamespace()}`).join(" "),o),i.on(`absoluteTransformChange.${this._getEventNamespace()}`,o),this._proxyDrag(i)}),this._resetTransformCache();var r=!!this.findOne(".top-left");return r&&this.update(),this}_proxyDrag(t){let n;t.on(`dragstart.${this._getEventNamespace()}`,r=>{n=t.getAbsolutePosition(),!this.isDragging()&&t!==this.findOne(".back")&&this.startDrag(r,!1)}),t.on(`dragmove.${this._getEventNamespace()}`,r=>{if(!n)return;const i=t.getAbsolutePosition(),o=i.x-n.x,s=i.y-n.y;this.nodes().forEach(a=>{if(a===t||a.isDragging())return;const l=a.getAbsolutePosition();a.setAbsolutePosition({x:l.x+o,y:l.y+s}),a.startDrag(r)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(t=>{t.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(ik),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(ik,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var i=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),o=t.getAbsoluteScale(r),s=t.getAbsolutePosition(r),a=i.x*o.x-t.offsetX()*o.x,l=i.y*o.y-t.offsetY()*o.y;const u=(Do.Konva.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),d={x:s.x+a*Math.cos(u)+l*Math.sin(-u),y:s.y+l*Math.cos(u)+a*Math.sin(u),width:i.width*o.x,height:i.height*o.y,rotation:u};return bz(d,-Do.Konva.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-ok,y:-ok,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const d=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var f=[{x:d.x,y:d.y},{x:d.x+d.width,y:d.y},{x:d.x+d.width,y:d.y+d.height},{x:d.x,y:d.y+d.height}],p=u.getAbsoluteTransform();f.forEach(function(g){var m=p.point(g);n.push(m)})});const r=new zt.Transform;r.rotate(-Do.Konva.getAngle(this.rotation()));var i,o,s,a;n.forEach(function(u){var d=r.point(u);i===void 0&&(i=s=d.x,o=a=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),s=Math.max(s,d.x),a=Math.max(a,d.y)}),r.invert();const l=r.point({x:i,y:o});return{x:l.x,y:l.y,width:s-i,height:a-o,rotation:Do.Konva.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),e_.forEach((function(t){this._createAnchor(t)}).bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new dwe.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:mwe?10:"auto"}),r=this;n.on("mousedown touchstart",function(i){r._handleMouseDown(i)}),n.on("dragstart",i=>{n.stopDrag(),i.cancelBubble=!0}),n.on("dragend",i=>{i.cancelBubble=!0}),n.on("mouseenter",()=>{var i=Do.Konva.getAngle(this.rotation()),o=ywe(t,i);n.getStage().content&&(n.getStage().content.style.cursor=o),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){var t=new cwe.Shape({name:"back",width:0,height:0,draggable:!0,sceneFunc(n){var r=this.getParent(),i=r.padding();n.beginPath(),n.rect(-i,-i,this.width()+i*2,this.height()+i*2),n.moveTo(this.width()/2,-i),r.rotateEnabled()&&n.lineTo(this.width()/2,-r.rotateAnchorOffset()*zt.Util._sign(this.height())-i),n.fillStrokeShape(this)},hitFunc:(n,r)=>{if(this.shouldOverdrawWholeArea()){var i=this.padding();n.beginPath(),n.rect(-i,-i,r.width()+i*2,r.height()+i*2),n.fillStrokeShape(r)}}});this.add(t),this._proxyDrag(t),t.on("dragstart",n=>{n.cancelBubble=!0}),t.on("dragmove",n=>{n.cancelBubble=!0}),t.on("dragend",n=>{n.cancelBubble=!0}),this.on("dragmove",n=>{this.update()})}_handleMouseDown(t){this._movingAnchorName=t.target.name().split(" ")[0];var n=this._getNodeRect(),r=n.width,i=n.height,o=Math.sqrt(Math.pow(r,2)+Math.pow(i,2));this.sin=Math.abs(i/o),this.cos=Math.abs(r/o),typeof window<"u"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;var s=t.target.getAbsolutePosition(),a=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:a.x-s.x,y:a.y-s.y},this._fire("transformstart",{evt:t.evt,target:this.getNode()}),this._nodes.forEach(l=>{l._fire("transformstart",{evt:t.evt,target:l})})}_handleMouseMove(t){var n,r,i,o=this.findOne("."+this._movingAnchorName),s=o.getStage();s.setPointersPositions(t);const a=s.getPointerPosition();let l={x:a.x-this._anchorDragOffset.x,y:a.y-this._anchorDragOffset.y};const u=o.getAbsolutePosition();this.anchorDragBoundFunc()&&(l=this.anchorDragBoundFunc()(u,l,t)),o.setAbsolutePosition(l);const d=o.getAbsolutePosition();if(!(u.x===d.x&&u.y===d.y)){if(this._movingAnchorName==="rotater"){var f=this._getNodeRect();n=o.x()-f.width/2,r=-o.y()+f.height/2;let U=Math.atan2(-r,n)+Math.PI/2;f.height<0&&(U-=Math.PI);var p=Do.Konva.getAngle(this.rotation());const A=p+U,N=Do.Konva.getAngle(this.rotationSnapTolerance()),B=bwe(this.rotationSnaps(),A,N)-f.rotation,D=_we(f,B);this._fitNodesInto(D,t);return}var g=this.shiftBehavior(),m;g==="inverted"?m=this.keepRatio()&&!t.shiftKey:g==="none"?m=this.keepRatio():m=this.keepRatio()||t.shiftKey;var y=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(m){var v=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};i=Math.sqrt(Math.pow(v.x-o.x(),2)+Math.pow(v.y-o.y(),2));var x=this.findOne(".top-left").x()>v.x?-1:1,_=this.findOne(".top-left").y()>v.y?-1:1;n=i*this.cos*x,r=i*this.sin*_,this.findOne(".top-left").x(v.x-n),this.findOne(".top-left").y(v.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(o.y());else if(this._movingAnchorName==="top-right"){if(m){var v=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};i=Math.sqrt(Math.pow(o.x()-v.x,2)+Math.pow(v.y-o.y(),2));var x=this.findOne(".top-right").x()v.y?-1:1;n=i*this.cos*x,r=i*this.sin*_,this.findOne(".top-right").x(v.x+n),this.findOne(".top-right").y(v.y-r)}var b=o.position();this.findOne(".top-left").y(b.y),this.findOne(".bottom-right").x(b.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(o.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(o.x());else if(this._movingAnchorName==="bottom-left"){if(m){var v=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};i=Math.sqrt(Math.pow(v.x-o.x(),2)+Math.pow(o.y()-v.y,2));var x=v.x{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(zt.Util._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(zt.Util._inRange(t.height,-this.padding()*2-i,i)){this.update();return}const o=this.flipEnabled();var s=new zt.Transform;if(s.rotate(Do.Konva.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const f=s.point({x:-this.padding()*2,y:0});if(t.x+=f.x,t.y+=f.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,!o){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const f=s.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.width+=this.padding()*2,!o){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const f=s.point({x:0,y:-this.padding()*2});if(t.x+=f.x,t.y+=f.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.height+=this.padding()*2,!o){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const f=s.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.height+=this.padding()*2,!o){this.update();return}}if(this.boundBoxFunc()){const f=this.boundBoxFunc()(r,t);f?t=f:zt.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const a=1e7,l=new zt.Transform;l.translate(r.x,r.y),l.rotate(r.rotation),l.scale(r.width/a,r.height/a);const u=new zt.Transform;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/a,t.height/a);const d=u.multiply(l.invert());this._nodes.forEach(f=>{var p;const g=f.getParent().getAbsoluteTransform(),m=f.getTransform().copy();m.translate(f.offsetX(),f.offsetY());const v=new zt.Transform;v.multiply(g.copy().invert()).multiply(d).multiply(g).multiply(m);const x=v.decompose();f.setAttrs(x),this._fire("transform",{evt:n,target:f}),f._fire("transform",{evt:n,target:f}),(p=f.getLayer())===null||p===void 0||p.batchDraw()}),this.rotation(zt.Util._getRotation(t.rotation)),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(t,n){this.findOne(t).setAttrs(n)}update(){var t,n=this._getNodeRect();this.rotation(zt.Util._getRotation(n.rotation));var r=n.width,i=n.height,o=this.enabledAnchors(),s=this.resizeEnabled(),a=this.padding(),l=this.anchorSize();const u=this.find("._anchor");u.forEach(f=>{f.setAttrs({width:l,height:l,offsetX:l/2,offsetY:l/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:l/2+a,offsetY:l/2+a,visible:s&&o.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:l/2+a,visible:s&&o.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:l/2-a,offsetY:l/2+a,visible:s&&o.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:l/2+a,visible:s&&o.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:i/2,offsetX:l/2-a,visible:s&&o.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:l/2+a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:i,offsetY:l/2-a,visible:s&&o.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:i,offsetX:l/2-a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*zt.Util._sign(i)-a,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:r,height:i,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0});const d=this.anchorStyleFunc();d&&u.forEach(f=>{d(f)}),(t=this.getLayer())===null||t===void 0||t.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var t=this.findOne("."+this._movingAnchorName);t&&t.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),rk.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return nk.Node.prototype.toObject.call(this)}clone(t){var n=nk.Node.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}ES.Transformer=xt;function Swe(e){return e instanceof Array||zt.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){e_.indexOf(t)===-1&&zt.Util.warn("Unknown anchor name: "+t+". Available names are: "+e_.join(", "))}),e||[]}xt.prototype.className="Transformer";(0,fwe._registerNode)(xt);Ft.Factory.addGetterSetter(xt,"enabledAnchors",e_,Swe);Ft.Factory.addGetterSetter(xt,"flipEnabled",!0,(0,au.getBooleanValidator)());Ft.Factory.addGetterSetter(xt,"resizeEnabled",!0);Ft.Factory.addGetterSetter(xt,"anchorSize",10,(0,au.getNumberValidator)());Ft.Factory.addGetterSetter(xt,"rotateEnabled",!0);Ft.Factory.addGetterSetter(xt,"rotationSnaps",[]);Ft.Factory.addGetterSetter(xt,"rotateAnchorOffset",50,(0,au.getNumberValidator)());Ft.Factory.addGetterSetter(xt,"rotationSnapTolerance",5,(0,au.getNumberValidator)());Ft.Factory.addGetterSetter(xt,"borderEnabled",!0);Ft.Factory.addGetterSetter(xt,"anchorStroke","rgb(0, 161, 255)");Ft.Factory.addGetterSetter(xt,"anchorStrokeWidth",1,(0,au.getNumberValidator)());Ft.Factory.addGetterSetter(xt,"anchorFill","white");Ft.Factory.addGetterSetter(xt,"anchorCornerRadius",0,(0,au.getNumberValidator)());Ft.Factory.addGetterSetter(xt,"borderStroke","rgb(0, 161, 255)");Ft.Factory.addGetterSetter(xt,"borderStrokeWidth",1,(0,au.getNumberValidator)());Ft.Factory.addGetterSetter(xt,"borderDash");Ft.Factory.addGetterSetter(xt,"keepRatio",!0);Ft.Factory.addGetterSetter(xt,"shiftBehavior","default");Ft.Factory.addGetterSetter(xt,"centeredScaling",!1);Ft.Factory.addGetterSetter(xt,"ignoreStroke",!1);Ft.Factory.addGetterSetter(xt,"padding",0,(0,au.getNumberValidator)());Ft.Factory.addGetterSetter(xt,"node");Ft.Factory.addGetterSetter(xt,"nodes");Ft.Factory.addGetterSetter(xt,"boundBoxFunc");Ft.Factory.addGetterSetter(xt,"anchorDragBoundFunc");Ft.Factory.addGetterSetter(xt,"anchorStyleFunc");Ft.Factory.addGetterSetter(xt,"shouldOverdrawWholeArea",!1);Ft.Factory.addGetterSetter(xt,"useSingleNodeRotation",!0);Ft.Factory.backCompat(xt,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var AS={};Object.defineProperty(AS,"__esModule",{value:!0});AS.Wedge=void 0;const PS=nt,wwe=rr,xwe=rt,Sz=ke,Cwe=rt;class Ua extends wwe.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,xwe.Konva.getAngle(this.angle()),this.clockwise()),t.lineTo(0,0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}AS.Wedge=Ua;Ua.prototype.className="Wedge";Ua.prototype._centroid=!0;Ua.prototype._attrsAffectingSize=["radius"];(0,Cwe._registerNode)(Ua);PS.Factory.addGetterSetter(Ua,"radius",0,(0,Sz.getNumberValidator)());PS.Factory.addGetterSetter(Ua,"angle",0,(0,Sz.getNumberValidator)());PS.Factory.addGetterSetter(Ua,"clockwise",!1);PS.Factory.backCompat(Ua,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var RS={};Object.defineProperty(RS,"__esModule",{value:!0});RS.Blur=void 0;const sk=nt,Twe=fn,Ewe=ke;function ak(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var Awe=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],Pwe=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function Rwe(e,t){var n=e.data,r=e.width,i=e.height,o,s,a,l,u,d,f,p,g,m,v,x,_,b,y,S,C,T,E,P,k,O,M,G,U=t+t+1,A=r-1,N=i-1,F=t+1,B=F*(F+1)/2,D=new ak,V=null,j=D,q=null,Z=null,ee=Awe[t],ie=Pwe[t];for(a=1;a>ie,M!==0?(M=255/M,n[d]=(p*ee>>ie)*M,n[d+1]=(g*ee>>ie)*M,n[d+2]=(m*ee>>ie)*M):n[d]=n[d+1]=n[d+2]=0,p-=x,g-=_,m-=b,v-=y,x-=q.r,_-=q.g,b-=q.b,y-=q.a,l=f+((l=o+t+1)>ie,M>0?(M=255/M,n[l]=(p*ee>>ie)*M,n[l+1]=(g*ee>>ie)*M,n[l+2]=(m*ee>>ie)*M):n[l]=n[l+1]=n[l+2]=0,p-=x,g-=_,m-=b,v-=y,x-=q.r,_-=q.g,b-=q.b,y-=q.a,l=o+((l=s+F)0&&Rwe(t,n)};RS.Blur=Owe;sk.Factory.addGetterSetter(Twe.Node,"blurRadius",0,(0,Ewe.getNumberValidator)(),sk.Factory.afterSetFilter);var OS={};Object.defineProperty(OS,"__esModule",{value:!0});OS.Brighten=void 0;const lk=nt,kwe=fn,Iwe=ke,Mwe=function(e){var t=this.brightness()*255,n=e.data,r=n.length,i;for(i=0;i255?255:i,o=o<0?0:o>255?255:o,s=s<0?0:s>255?255:s,n[a]=i,n[a+1]=o,n[a+2]=s};kS.Contrast=Dwe;uk.Factory.addGetterSetter(Nwe.Node,"contrast",0,(0,Lwe.getNumberValidator)(),uk.Factory.afterSetFilter);var IS={};Object.defineProperty(IS,"__esModule",{value:!0});IS.Emboss=void 0;const Wl=nt,MS=fn,$we=Sn,wz=ke,Fwe=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),o=0,s=0,a=e.data,l=e.width,u=e.height,d=l*4,f=u;switch(r){case"top-left":o=-1,s=-1;break;case"top":o=-1,s=0;break;case"top-right":o=-1,s=1;break;case"right":o=0,s=1;break;case"bottom-right":o=1,s=1;break;case"bottom":o=1,s=0;break;case"bottom-left":o=1,s=-1;break;case"left":o=0,s=-1;break;default:$we.Util.error("Unknown emboss direction: "+r)}do{var p=(f-1)*d,g=o;f+g<1&&(g=0),f+g>u&&(g=0);var m=(f-1+g)*l*4,v=l;do{var x=p+(v-1)*4,_=s;v+_<1&&(_=0),v+_>l&&(_=0);var b=m+(v-1+_)*4,y=a[x]-a[b],S=a[x+1]-a[b+1],C=a[x+2]-a[b+2],T=y,E=T>0?T:-T,P=S>0?S:-S,k=C>0?C:-C;if(P>E&&(T=S),k>E&&(T=C),T*=t,i){var O=a[x]+T,M=a[x+1]+T,G=a[x+2]+T;a[x]=O>255?255:O<0?0:O,a[x+1]=M>255?255:M<0?0:M,a[x+2]=G>255?255:G<0?0:G}else{var U=n-T;U<0?U=0:U>255&&(U=255),a[x]=a[x+1]=a[x+2]=U}}while(--v)}while(--f)};IS.Emboss=Fwe;Wl.Factory.addGetterSetter(MS.Node,"embossStrength",.5,(0,wz.getNumberValidator)(),Wl.Factory.afterSetFilter);Wl.Factory.addGetterSetter(MS.Node,"embossWhiteLevel",.5,(0,wz.getNumberValidator)(),Wl.Factory.afterSetFilter);Wl.Factory.addGetterSetter(MS.Node,"embossDirection","top-left",null,Wl.Factory.afterSetFilter);Wl.Factory.addGetterSetter(MS.Node,"embossBlend",!1,null,Wl.Factory.afterSetFilter);var NS={};Object.defineProperty(NS,"__esModule",{value:!0});NS.Enhance=void 0;const ck=nt,Bwe=fn,Uwe=ke;function Hx(e,t,n,r,i){var o=n-t,s=i-r,a;return o===0?r+s/2:s===0?r:(a=(e-t)/o,a=s*a+r,a)}const zwe=function(e){var t=e.data,n=t.length,r=t[0],i=r,o,s=t[1],a=s,l,u=t[2],d=u,f,p,g=this.enhance();if(g!==0){for(p=0;pi&&(i=o),l=t[p+1],la&&(a=l),f=t[p+2],fd&&(d=f);i===r&&(i=255,r=0),a===s&&(a=255,s=0),d===u&&(d=255,u=0);var m,v,x,_,b,y,S,C,T;for(g>0?(v=i+g*(255-i),x=r-g*(r-0),b=a+g*(255-a),y=s-g*(s-0),C=d+g*(255-d),T=u-g*(u-0)):(m=(i+r)*.5,v=i+g*(i-m),x=r+g*(r-m),_=(a+s)*.5,b=a+g*(a-_),y=s+g*(s-_),S=(d+u)*.5,C=d+g*(d-S),T=u+g*(u-S)),p=0;p_?x:_;var b=s,y=o,S,C,T=360/y*Math.PI/180,E,P;for(C=0;Cy?b:y;var S=s,C=o,T,E,P=n.polarRotation||0,k,O;for(d=0;dt&&(S=y,C=0,T=-1),i=0;i=0&&g=0&&m=0&&g=0&&m=255*4?255:0}return s}function nxe(e,t,n){for(var r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],i=Math.round(Math.sqrt(r.length)),o=Math.floor(i/2),s=[],a=0;a=0&&g=0&&m=n))for(o=v;o=r||(s=(n*o+i)*4,a+=S[s+0],l+=S[s+1],u+=S[s+2],d+=S[s+3],y+=1);for(a=a/y,l=l/y,u=u/y,d=d/y,i=g;i=n))for(o=v;o=r||(s=(n*o+i)*4,S[s+0]=a,S[s+1]=l,S[s+2]=u,S[s+3]=d)}};VS.Pixelate=cxe;pk.Factory.addGetterSetter(lxe.Node,"pixelSize",8,(0,uxe.getNumberValidator)(),pk.Factory.afterSetFilter);var jS={};Object.defineProperty(jS,"__esModule",{value:!0});jS.Posterize=void 0;const gk=nt,dxe=fn,fxe=ke,hxe=function(e){var t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,i=255/t,o;for(o=0;o255?255:e<0?0:Math.round(e)});n_.Factory.addGetterSetter(OE.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});n_.Factory.addGetterSetter(OE.Node,"blue",0,pxe.RGBComponent,n_.Factory.afterSetFilter);var HS={};Object.defineProperty(HS,"__esModule",{value:!0});HS.RGBA=void 0;const Dg=nt,WS=fn,mxe=ke,yxe=function(e){var t=e.data,n=t.length,r=this.red(),i=this.green(),o=this.blue(),s=this.alpha(),a,l;for(a=0;a255?255:e<0?0:Math.round(e)});Dg.Factory.addGetterSetter(WS.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Dg.Factory.addGetterSetter(WS.Node,"blue",0,mxe.RGBComponent,Dg.Factory.afterSetFilter);Dg.Factory.addGetterSetter(WS.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var qS={};Object.defineProperty(qS,"__esModule",{value:!0});qS.Sepia=void 0;const vxe=function(e){var t=e.data,n=t.length,r,i,o,s;for(r=0;r127&&(u=255-u),d>127&&(d=255-d),f>127&&(f=255-f),t[l]=u,t[l+1]=d,t[l+2]=f}while(--a)}while(--o)};KS.Solarize=_xe;var XS={};Object.defineProperty(XS,"__esModule",{value:!0});XS.Threshold=void 0;const mk=nt,bxe=fn,Sxe=ke,wxe=function(e){var t=this.threshold()*255,n=e.data,r=n.length,i;for(i=0;i{const{width:r,height:i}=t,o=document.createElement("div"),s=new tp.Stage({container:o,width:r,height:i}),a=new tp.Layer,l=new tp.Layer;return a.add(new tp.Rect({...t,fill:n?"black":"white"})),e.forEach(u=>l.add(new tp.Line({points:u.points,stroke:n?"white":"black",strokeWidth:u.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,globalCompositeOperation:u.tool==="brush"?"source-over":"destination-out"}))),s.add(a),s.add(l),o.remove(),s},lCe=async(e,t,n)=>new Promise((r,i)=>{const o=document.createElement("canvas");o.width=t,o.height=n;const s=o.getContext("2d"),a=new Image;if(!s){o.remove(),i("Unable to get context");return}a.onload=function(){s.drawImage(a,0,0),o.remove(),r(s.getImageData(0,0,t,n))},a.src=e}),_k=async(e,t)=>{const n=e.toDataURL(t);return await lCe(n,t.width,t.height)},uCe=async(e,t,n,r,i)=>{const o=Ie("canvas"),s=nS(),a=b_e();if(!s||!a){o.error("Unable to find canvas / stage");return}const l={...t,...n},u=s.clone();u.scale({x:1,y:1});const d=u.getAbsolutePosition(),f={x:l.x+d.x,y:l.y+d.y,width:l.width,height:l.height},p=await Q1(u,f),g=await _k(u,f),m=await aCe(r?e.objects.filter(i$):[],l,i),v=await Q1(m,l),x=await _k(m,l);return{baseBlob:p,baseImageData:g,maskBlob:v,maskImageData:x}},cCe=e=>{let t=!0,n=!1;const r=e.length;let i=3;for(i;i{const t=e.length;let n=0;for(n;n{const{isPartiallyTransparent:n,isFullyTransparent:r}=cCe(e.data),i=dCe(t.data);return n?r?"txt2img":"outpaint":i?"inpaint":"img2img"},hCe=e=>OD(e,n=>n.isEnabled&&(!!n.processedControlImage||n.processorType==="none"&&!!n.controlImage)),YS=(e,t,n)=>{const{isEnabled:r,controlNets:i}=e.controlNet,o=hCe(i),s=t.nodes[It];if(r&&o.length&&o.length){const a={id:O0,type:"collect",is_intermediate:!0};t.nodes[O0]=a,t.edges.push({source:{node_id:O0,field:"collection"},destination:{node_id:n,field:"control"}}),o.forEach(l=>{const{controlNetId:u,controlImage:d,processedControlImage:f,beginStepPct:p,endStepPct:g,controlMode:m,resizeMode:v,model:x,processorType:_,weight:b}=l,y={id:`control_net_${u}`,type:"controlnet",is_intermediate:!0,begin_step_percent:p,end_step_percent:g,control_mode:m,resize_mode:v,control_model:x,control_weight:b};if(f&&_!=="none")y.image={image_name:f};else if(d)y.image={image_name:d};else return;if(t.nodes[y.id]=y,s){const S=rb(y,["id","type"]);s.controlnets.push(S)}t.edges.push({source:{node_id:y.id,field:"control"},destination:{node_id:O0,field:"item"}})})}},qf=(e,t)=>{const{positivePrompt:n,iterations:r,seed:i,shouldRandomizeSeed:o}=e.generation,{combinatorial:s,isEnabled:a,maxPrompts:l}=e.dynamicPrompts,u=t.nodes[It];if(a){tle(t.nodes[vt],"prompt");const d={id:Lx,type:"dynamic_prompt",is_intermediate:!0,max_prompts:s?l:r,combinatorial:s,prompt:n},f={id:vi,type:"iterate",is_intermediate:!0};if(t.nodes[Lx]=d,t.nodes[vi]=f,t.edges.push({source:{node_id:Lx,field:"prompt_collection"},destination:{node_id:vi,field:"collection"}},{source:{node_id:vi,field:"item"},destination:{node_id:vt,field:"prompt"}}),u&&t.edges.push({source:{node_id:vi,field:"item"},destination:{node_id:It,field:"positive_prompt"}}),o){const p={id:ms,type:"rand_int",is_intermediate:!0};t.nodes[ms]=p,t.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:mt,field:"seed"}}),u&&t.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:It,field:"seed"}})}else t.nodes[mt].seed=i,u&&(u.seed=i)}else{u&&(u.positive_prompt=n);const d={id:fa,type:"range_of_size",is_intermediate:!0,size:r,step:1},f={id:vi,type:"iterate",is_intermediate:!0};if(t.nodes[vi]=f,t.nodes[fa]=d,t.edges.push({source:{node_id:fa,field:"collection"},destination:{node_id:vi,field:"collection"}}),t.edges.push({source:{node_id:vi,field:"item"},destination:{node_id:mt,field:"seed"}}),u&&t.edges.push({source:{node_id:vi,field:"item"},destination:{node_id:It,field:"seed"}}),o){const p={id:ms,type:"rand_int",is_intermediate:!0};t.nodes[ms]=p,t.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:fa,field:"start"}})}else d.start=i}},Im=(e,t,n,r=Or)=>{const{loras:i}=e.lora,o=FD(i),s=t.nodes[It];o>0&&(t.edges=t.edges.filter(u=>!(u.source.node_id===Or&&["unet"].includes(u.source.field))&&!(u.source.node_id===rS&&["unet"].includes(u.source.field))),t.edges=t.edges.filter(u=>!(u.source.node_id===qt&&["clip"].includes(u.source.field))));let a="",l=0;tc(i,u=>{const{model_name:d,base_model:f,weight:p}=u,g=`${nSe}_${d.replace(".","_")}`,m={type:"lora_loader",id:g,is_intermediate:!0,lora:{model_name:d,base_model:f},weight:p};s&&s.loras.push({lora:{model_name:d,base_model:f},weight:p}),t.nodes[g]=m,l===0?(t.edges.push({source:{node_id:r,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:qt,field:"clip"},destination:{node_id:g,field:"clip"}})):(t.edges.push({source:{node_id:a,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:a,field:"clip"},destination:{node_id:g,field:"clip"}})),l===o-1&&(t.edges.push({source:{node_id:g,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:vt,field:"clip"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:Pt,field:"clip"}})),a=g,l+=1})},Tz=si(e=>e.ui,e=>JD[e.activeTab],{memoizeOptions:{equalityCheck:nb}}),rMe=si(e=>e.ui,e=>e.activeTab,{memoizeOptions:{equalityCheck:nb}}),iMe=si(e=>e.ui,e=>e,{memoizeOptions:{equalityCheck:nb}}),Ec=(e,t,n=Rt)=>{const i=Tz(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[It];if(!o)return;o.is_intermediate=!0;const a={id:Dd,type:"img_nsfw",is_intermediate:i};t.nodes[Dd]=a,t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:Dd,field:"image"}}),s&&t.edges.push({source:{node_id:It,field:"metadata"},destination:{node_id:Dd,field:"metadata"}})},Mm=(e,t,n=Or)=>{const{vae:r}=e.generation,i=!r,o=t.nodes[It];i||(t.nodes[Qh]={type:"vae_loader",id:Qh,is_intermediate:!0,vae_model:r});const s=n==rS;(t.id===gE||t.id===Z1)&&t.edges.push({source:{node_id:i?n:Qh,field:i&&s?"vae_decoder":"vae"},destination:{node_id:Rt,field:"vae"}}),t.id===Z1&&t.edges.push({source:{node_id:i?n:Qh,field:i&&s?"vae_decoder":"vae"},destination:{node_id:un,field:"vae"}}),t.id===jU&&t.edges.push({source:{node_id:i?n:Qh,field:i&&s?"vae_decoder":"vae"},destination:{node_id:ds,field:"vae"}}),r&&o&&(o.vae=r)},Ac=(e,t,n=Rt)=>{const i=Tz(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[Dd],a=t.nodes[It];if(!o)return;const l={id:Yh,type:"img_watermark",is_intermediate:i};t.nodes[Yh]=l,o.is_intermediate=!0,s?(s.is_intermediate=!0,t.edges.push({source:{node_id:Dd,field:"image"},destination:{node_id:Yh,field:"image"}})):t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:Yh,field:"image"}}),a&&t.edges.push({source:{node_id:It,field:"metadata"},destination:{node_id:Yh,field:"metadata"}})},pCe=(e,t)=>{const n=Ie("nodes"),{positivePrompt:r,negativePrompt:i,model:o,cfgScale:s,scheduler:a,steps:l,img2imgStrength:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:p}=e.generation,{width:g,height:m}=e.canvas.boundingBoxDimensions,{shouldAutoSave:v}=e.canvas;if(!o)throw n.error("No model found in state"),new Error("No model found in state");const x=p?f:La.shouldUseCpuNoise,_={id:Z1,nodes:{[vt]:{type:"compel",id:vt,is_intermediate:!0,prompt:r},[Pt]:{type:"compel",id:Pt,is_intermediate:!0,prompt:i},[mt]:{type:"noise",id:mt,is_intermediate:!0,use_cpu:x},[Or]:{type:"main_model_loader",id:Or,is_intermediate:!0,model:o},[qt]:{type:"clip_skip",id:qt,is_intermediate:!0,skipped_layers:d},[Bn]:{type:"l2l",id:Bn,is_intermediate:!0,cfg_scale:s,scheduler:a,steps:l,strength:u},[un]:{type:"i2l",id:un,is_intermediate:!0},[Rt]:{type:"l2i",id:Rt,is_intermediate:!v}},edges:[{source:{node_id:Or,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:vt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:Pt,field:"clip"}},{source:{node_id:Bn,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:un,field:"latents"},destination:{node_id:Bn,field:"latents"}},{source:{node_id:mt,field:"noise"},destination:{node_id:Bn,field:"noise"}},{source:{node_id:Or,field:"unet"},destination:{node_id:Bn,field:"unet"}},{source:{node_id:Pt,field:"conditioning"},destination:{node_id:Bn,field:"negative_conditioning"}},{source:{node_id:vt,field:"conditioning"},destination:{node_id:Bn,field:"positive_conditioning"}}]};if(t.width!==g||t.height!==m){const b={id:ii,type:"img_resize",image:{image_name:t.image_name},is_intermediate:!0,width:g,height:m};_.nodes[ii]=b,_.edges.push({source:{node_id:ii,field:"image"},destination:{node_id:un,field:"image"}}),_.edges.push({source:{node_id:ii,field:"width"},destination:{node_id:mt,field:"width"}}),_.edges.push({source:{node_id:ii,field:"height"},destination:{node_id:mt,field:"height"}})}else _.nodes[un].image={image_name:t.image_name},_.edges.push({source:{node_id:un,field:"width"},destination:{node_id:mt,field:"width"}}),_.edges.push({source:{node_id:un,field:"height"},destination:{node_id:mt,field:"height"}});return _.nodes[It]={id:It,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:s,height:m,width:g,positive_prompt:"",negative_prompt:i,model:o,seed:0,steps:l,rand_device:x?"cpu":"cuda",scheduler:a,vae:void 0,controlnets:[],loras:[],clip_skip:d,strength:u,init_image:t.image_name},_.edges.push({source:{node_id:It,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,_,Bn),Mm(e,_),qf(e,_),YS(e,_,Bn),e.system.shouldUseNSFWChecker&&Ec(e,_),e.system.shouldUseWatermarker&&Ac(e,_),_},gCe=(e,t,n)=>{const r=Ie("nodes"),{positivePrompt:i,negativePrompt:o,model:s,cfgScale:a,scheduler:l,steps:u,img2imgStrength:d,shouldFitToWidthHeight:f,iterations:p,seed:g,shouldRandomizeSeed:m,seamSize:v,seamBlur:x,seamSteps:_,seamStrength:b,tileSize:y,infillMethod:S,clipSkip:C}=e.generation;if(!s)throw r.error("No model found in state"),new Error("No model found in state");const{width:T,height:E}=e.canvas.boundingBoxDimensions,{scaledBoundingBoxDimensions:P,boundingBoxScaleMethod:k,shouldAutoSave:O}=e.canvas,M={id:jU,nodes:{[ds]:{is_intermediate:!O,type:"inpaint",id:ds,steps:u,width:T,height:E,cfg_scale:a,scheduler:l,image:{image_name:t.image_name},strength:d,fit:f,mask:{image_name:n.image_name},seam_size:v,seam_blur:x,seam_strength:b,seam_steps:_,tile_size:S==="tile"?y:void 0,infill_method:S,inpaint_width:k!=="none"?P.width:void 0,inpaint_height:k!=="none"?P.height:void 0},[vt]:{type:"compel",id:vt,is_intermediate:!0,prompt:i},[Pt]:{type:"compel",id:Pt,is_intermediate:!0,prompt:o},[Or]:{type:"main_model_loader",id:Or,is_intermediate:!0,model:s},[qt]:{type:"clip_skip",id:qt,is_intermediate:!0,skipped_layers:C},[fa]:{type:"range_of_size",id:fa,is_intermediate:!0,size:p,step:1},[vi]:{type:"iterate",id:vi,is_intermediate:!0}},edges:[{source:{node_id:Or,field:"unet"},destination:{node_id:ds,field:"unet"}},{source:{node_id:Or,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:vt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:Pt,field:"clip"}},{source:{node_id:Pt,field:"conditioning"},destination:{node_id:ds,field:"negative_conditioning"}},{source:{node_id:vt,field:"conditioning"},destination:{node_id:ds,field:"positive_conditioning"}},{source:{node_id:fa,field:"collection"},destination:{node_id:vi,field:"collection"}},{source:{node_id:vi,field:"item"},destination:{node_id:ds,field:"seed"}}]};if(Im(e,M,ds),Mm(e,M),m){const G={id:ms,type:"rand_int"};M.nodes[ms]=G,M.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:fa,field:"start"}})}else M.nodes[fa].start=g;return e.system.shouldUseNSFWChecker&&Ec(e,M,ds),e.system.shouldUseWatermarker&&Ac(e,M,ds),M},mCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,clipSkip:l,shouldUseCpuNoise:u,shouldUseNoiseSettings:d}=e.generation,{width:f,height:p}=e.canvas.boundingBoxDimensions,{shouldAutoSave:g}=e.canvas;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const m=d?u:La.shouldUseCpuNoise,v=i.model_type==="onnx",x=v?rS:Or,_=v?"onnx_model_loader":"main_model_loader",b=v?{type:"t2l_onnx",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a}:{type:"t2l",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a},y={id:gE,nodes:{[vt]:{type:v?"prompt_onnx":"compel",id:vt,is_intermediate:!0,prompt:n},[Pt]:{type:v?"prompt_onnx":"compel",id:Pt,is_intermediate:!0,prompt:r},[mt]:{type:"noise",id:mt,is_intermediate:!0,width:f,height:p,use_cpu:m},[b.id]:b,[x]:{type:_,id:x,is_intermediate:!0,model:i},[qt]:{type:"clip_skip",id:qt,is_intermediate:!0,skipped_layers:l},[Rt]:{type:v?"l2i_onnx":"l2i",id:Rt,is_intermediate:!g}},edges:[{source:{node_id:Pt,field:"conditioning"},destination:{node_id:cr,field:"negative_conditioning"}},{source:{node_id:vt,field:"conditioning"},destination:{node_id:cr,field:"positive_conditioning"}},{source:{node_id:x,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:vt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:Pt,field:"clip"}},{source:{node_id:x,field:"unet"},destination:{node_id:cr,field:"unet"}},{source:{node_id:cr,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:mt,field:"noise"},destination:{node_id:cr,field:"noise"}}]};return y.nodes[It]={id:It,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:p,width:f,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:m?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:l},y.edges.push({source:{node_id:It,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,y,cr,x),Mm(e,y,x),qf(e,y),YS(e,y,cr),e.system.shouldUseNSFWChecker&&Ec(e,y),e.system.shouldUseWatermarker&&Ac(e,y),y},yCe=(e,t,n,r)=>{let i;if(t==="txt2img")i=mCe(e);else if(t==="img2img"){if(!n)throw new Error("Missing canvas init image");i=pCe(e,n)}else{if(!n||!r)throw new Error("Missing canvas init and mask images");i=gCe(e,n,r)}return i},vCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="unifiedCanvas",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),{layerState:s,boundingBoxCoordinates:a,boundingBoxDimensions:l,isMaskEnabled:u,shouldPreserveMaskedArea:d}=o.canvas,f=await uCe(s,a,l,u,d);if(!f){i.error("Unable to create canvas data");return}const{baseBlob:p,baseImageData:g,maskBlob:m,maskImageData:v}=f,x=fCe(g,v);if(o.system.enableImageDebugging){const E=await FO(p),P=await FO(m);lSe([{base64:P,caption:"mask b64"},{base64:E,caption:"image b64"}])}i.debug(`Generation mode: ${x}`);let _,b;["img2img","inpaint","outpaint"].includes(x)&&(_=await n(Se.endpoints.uploadImage.initiate({file:new File([p],"canvasInitImage.png",{type:"image/png"}),image_category:"general",is_intermediate:!0})).unwrap()),["inpaint","outpaint"].includes(x)&&(b=await n(Se.endpoints.uploadImage.initiate({file:new File([m],"canvasMaskImage.png",{type:"image/png"}),image_category:"mask",is_intermediate:!0})).unwrap());const y=yCe(o,x,_,b);i.debug({graph:Da(y)},"Canvas graph built"),n(MU(y));const{requestId:S}=n(Mr({graph:y})),[C]=await r(E=>Mr.fulfilled.match(E)&&E.meta.requestId===S),T=C.payload.id;["img2img","inpaint"].includes(x)&&_&&n(Se.endpoints.changeImageSessionId.initiate({imageDTO:_,session_id:T})),["inpaint"].includes(x)&&b&&n(Se.endpoints.changeImageSessionId.initiate({imageDTO:b,session_id:T})),o.canvas.layerState.stagingArea.boundingBox||n(jue({sessionId:T,boundingBox:{...o.canvas.boundingBoxCoordinates,...o.canvas.boundingBoxDimensions}})),n(Gue(T)),n(yc())}})},_Ce=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,img2imgStrength:u,shouldFitToWidthHeight:d,width:f,height:p,clipSkip:g,shouldUseCpuNoise:m,shouldUseNoiseSettings:v,vaePrecision:x}=e.generation;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const _=v?m:La.shouldUseCpuNoise,b={id:Z1,nodes:{[Or]:{type:"main_model_loader",id:Or,model:i},[qt]:{type:"clip_skip",id:qt,skipped_layers:g},[vt]:{type:"compel",id:vt,prompt:n},[Pt]:{type:"compel",id:Pt,prompt:r},[mt]:{type:"noise",id:mt,use_cpu:_},[Rt]:{type:"l2i",id:Rt,fp32:x==="fp32"},[Bn]:{type:"l2l",id:Bn,cfg_scale:o,scheduler:s,steps:a,strength:u},[un]:{type:"i2l",id:un,fp32:x==="fp32"}},edges:[{source:{node_id:Or,field:"unet"},destination:{node_id:Bn,field:"unet"}},{source:{node_id:Or,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:vt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:Pt,field:"clip"}},{source:{node_id:Bn,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:un,field:"latents"},destination:{node_id:Bn,field:"latents"}},{source:{node_id:mt,field:"noise"},destination:{node_id:Bn,field:"noise"}},{source:{node_id:Pt,field:"conditioning"},destination:{node_id:Bn,field:"negative_conditioning"}},{source:{node_id:vt,field:"conditioning"},destination:{node_id:Bn,field:"positive_conditioning"}}]};if(d&&(l.width!==f||l.height!==p)){const y={id:ii,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:f,height:p};b.nodes[ii]=y,b.edges.push({source:{node_id:ii,field:"image"},destination:{node_id:un,field:"image"}}),b.edges.push({source:{node_id:ii,field:"width"},destination:{node_id:mt,field:"width"}}),b.edges.push({source:{node_id:ii,field:"height"},destination:{node_id:mt,field:"height"}})}else b.nodes[un].image={image_name:l.imageName},b.edges.push({source:{node_id:un,field:"width"},destination:{node_id:mt,field:"width"}}),b.edges.push({source:{node_id:un,field:"height"},destination:{node_id:mt,field:"height"}});return b.nodes[It]={id:It,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:o,height:p,width:f,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:_?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:g,strength:u,init_image:l.imageName},b.edges.push({source:{node_id:It,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,b,Bn),Mm(e,b),qf(e,b),YS(e,b,Bn),e.system.shouldUseNSFWChecker&&Ec(e,b),e.system.shouldUseWatermarker&&Ac(e,b),b},Ez=(e,t,n)=>{const{positivePrompt:r,negativePrompt:i}=e.generation,{refinerModel:o,refinerAestheticScore:s,positiveStylePrompt:a,negativeStylePrompt:l,refinerSteps:u,refinerScheduler:d,refinerCFGScale:f,refinerStart:p}=e.sdxl;if(!o)return;const g=t.nodes[It];g&&(g.refiner_model=o,g.refiner_aesthetic_store=s,g.refiner_cfg_scale=f,g.refiner_scheduler=d,g.refiner_start=p,g.refiner_steps=u),t.edges=t.edges.filter(m=>!(m.source.node_id===n&&["latents"].includes(m.source.field))),t.edges=t.edges.filter(m=>!(m.source.node_id===Zn&&["vae"].includes(m.source.field))),n===fs&&t.edges.push({source:{node_id:Zn,field:"vae"},destination:{node_id:un,field:"vae"}}),t.nodes[fd]={type:"sdxl_refiner_model_loader",id:fd,model:o},t.nodes[k0]={type:"sdxl_refiner_compel_prompt",id:k0,style:`${r} ${a}`,aesthetic_score:s},t.nodes[I0]={type:"sdxl_refiner_compel_prompt",id:I0,style:`${i} ${l}`,aesthetic_score:s},t.nodes[bu]={type:"l2l_sdxl",id:bu,cfg_scale:f,steps:u/(1-Math.min(p,.99)),scheduler:d,denoising_start:p,denoising_end:1},t.edges.push({source:{node_id:fd,field:"unet"},destination:{node_id:bu,field:"unet"}},{source:{node_id:fd,field:"vae"},destination:{node_id:Rt,field:"vae"}},{source:{node_id:fd,field:"clip2"},destination:{node_id:k0,field:"clip2"}},{source:{node_id:fd,field:"clip2"},destination:{node_id:I0,field:"clip2"}},{source:{node_id:k0,field:"conditioning"},destination:{node_id:bu,field:"positive_conditioning"}},{source:{node_id:I0,field:"conditioning"},destination:{node_id:bu,field:"negative_conditioning"}},{source:{node_id:n,field:"latents"},destination:{node_id:bu,field:"latents"}},{source:{node_id:bu,field:"latents"},destination:{node_id:Rt,field:"latents"}})},bCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,shouldFitToWidthHeight:u,width:d,height:f,clipSkip:p,shouldUseCpuNoise:g,shouldUseNoiseSettings:m,vaePrecision:v}=e.generation,{positiveStylePrompt:x,negativeStylePrompt:_,shouldConcatSDXLStylePrompt:b,shouldUseSDXLRefiner:y,refinerStart:S,sdxlImg2ImgDenoisingStrength:C}=e.sdxl;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const T=m?g:La.shouldUseCpuNoise,E={id:iSe,nodes:{[Zn]:{type:"sdxl_model_loader",id:Zn,model:i},[vt]:{type:"sdxl_compel_prompt",id:vt,prompt:n,style:b?`${n} ${x}`:x},[Pt]:{type:"sdxl_compel_prompt",id:Pt,prompt:r,style:b?`${r} ${_}`:_},[mt]:{type:"noise",id:mt,use_cpu:T},[Rt]:{type:"l2i",id:Rt,fp32:v==="fp32"},[fs]:{type:"l2l_sdxl",id:fs,cfg_scale:o,scheduler:s,steps:a,denoising_start:y?Math.min(S,1-C):1-C,denoising_end:y?S:1},[un]:{type:"i2l",id:un,fp32:v==="fp32"}},edges:[{source:{node_id:Zn,field:"unet"},destination:{node_id:fs,field:"unet"}},{source:{node_id:Zn,field:"vae"},destination:{node_id:Rt,field:"vae"}},{source:{node_id:Zn,field:"vae"},destination:{node_id:un,field:"vae"}},{source:{node_id:Zn,field:"clip"},destination:{node_id:vt,field:"clip"}},{source:{node_id:Zn,field:"clip2"},destination:{node_id:vt,field:"clip2"}},{source:{node_id:Zn,field:"clip"},destination:{node_id:Pt,field:"clip"}},{source:{node_id:Zn,field:"clip2"},destination:{node_id:Pt,field:"clip2"}},{source:{node_id:fs,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:un,field:"latents"},destination:{node_id:fs,field:"latents"}},{source:{node_id:mt,field:"noise"},destination:{node_id:fs,field:"noise"}},{source:{node_id:vt,field:"conditioning"},destination:{node_id:fs,field:"positive_conditioning"}},{source:{node_id:Pt,field:"conditioning"},destination:{node_id:fs,field:"negative_conditioning"}}]};if(u&&(l.width!==d||l.height!==f)){const P={id:ii,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:d,height:f};E.nodes[ii]=P,E.edges.push({source:{node_id:ii,field:"image"},destination:{node_id:un,field:"image"}}),E.edges.push({source:{node_id:ii,field:"width"},destination:{node_id:mt,field:"width"}}),E.edges.push({source:{node_id:ii,field:"height"},destination:{node_id:mt,field:"height"}})}else E.nodes[un].image={image_name:l.imageName},E.edges.push({source:{node_id:un,field:"width"},destination:{node_id:mt,field:"width"}}),E.edges.push({source:{node_id:un,field:"height"},destination:{node_id:mt,field:"height"}});return E.nodes[It]={id:It,type:"metadata_accumulator",generation_mode:"sdxl_img2img",cfg_scale:o,height:f,width:d,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:T?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:p,strength:C,init_image:l.imageName,positive_style_prompt:x,negative_style_prompt:_},E.edges.push({source:{node_id:It,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),y&&Ez(e,E,fs),qf(e,E),e.system.shouldUseNSFWChecker&&Ec(e,E),e.system.shouldUseWatermarker&&Ac(e,E),E},SCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="img2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=bCe(o):a=_Ce(o),n(IU(a)),i.debug({graph:Da(a)},"Image to Image graph built"),n(Mr({graph:a})),await r(Mr.fulfilled.match),n(yc())}})};let B0;const wCe=new Uint8Array(16);function xCe(){if(!B0&&(B0=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!B0))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return B0(wCe)}const Er=[];for(let e=0;e<256;++e)Er.push((e+256).toString(16).slice(1));function CCe(e,t=0){return(Er[e[t+0]]+Er[e[t+1]]+Er[e[t+2]]+Er[e[t+3]]+"-"+Er[e[t+4]]+Er[e[t+5]]+"-"+Er[e[t+6]]+Er[e[t+7]]+"-"+Er[e[t+8]]+Er[e[t+9]]+"-"+Er[e[t+10]]+Er[e[t+11]]+Er[e[t+12]]+Er[e[t+13]]+Er[e[t+14]]+Er[e[t+15]]).toLowerCase()}const TCe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),bk={randomUUID:TCe};function ECe(e,t,n){if(bk.randomUUID&&!t&&!e)return bk.randomUUID();e=e||{};const r=e.random||(e.rng||xCe)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=r[i];return t}return CCe(r)}const ACe=e=>{if(e.type==="color"&&e.value){const t=zr(e.value),{r:n,g:r,b:i,a:o}=e.value,s=Math.max(0,Math.min(o*255,255));return Object.assign(t,{r:n,g:r,b:i,a:s}),t}return e.value},PCe=e=>{const{nodes:t,edges:n}=e.nodes,i=t.filter(a=>a.type!=="progress_image").reduce((a,l)=>{const{id:u,data:d}=l,{type:f,inputs:p}=d,g=_T(p,(v,x,_)=>{const b=ACe(x);return v[_]=b,v},{}),m={type:f,id:u,...g};return Object.assign(a,{[u]:m}),a},{}),o=n.reduce((a,l)=>{const{source:u,target:d,sourceHandle:f,targetHandle:p}=l;return a.push({source:{node_id:u,field:f},destination:{node_id:d,field:p}}),a},[]);return o.forEach(a=>{const l=i[a.destination.node_id],u=a.destination.field;i[a.destination.node_id]=rb(l,u)}),{id:ECe(),nodes:i,edges:o}},RCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="nodes",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),s=PCe(o);n(NU(s)),i.debug({graph:Da(s)},"Nodes graph built"),n(Mr({graph:s})),await r(Mr.fulfilled.match),n(yc())}})},OCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:p,vaePrecision:g}=e.generation,{positiveStylePrompt:m,negativeStylePrompt:v,shouldConcatSDXLStylePrompt:x,shouldUseSDXLRefiner:_,refinerStart:b}=e.sdxl,y=p?f:La.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const S={id:rSe,nodes:{[Zn]:{type:"sdxl_model_loader",id:Zn,model:i},[vt]:{type:"sdxl_compel_prompt",id:vt,prompt:n,style:x?`${n} ${m}`:m},[Pt]:{type:"sdxl_compel_prompt",id:Pt,prompt:r,style:x?`${r} ${v}`:v},[mt]:{type:"noise",id:mt,width:l,height:u,use_cpu:y},[il]:{type:"t2l_sdxl",id:il,cfg_scale:o,scheduler:s,steps:a,denoising_end:_?b:1},[Rt]:{type:"l2i",id:Rt,fp32:g==="fp32"}},edges:[{source:{node_id:Zn,field:"unet"},destination:{node_id:il,field:"unet"}},{source:{node_id:Zn,field:"vae"},destination:{node_id:Rt,field:"vae"}},{source:{node_id:Zn,field:"clip"},destination:{node_id:vt,field:"clip"}},{source:{node_id:Zn,field:"clip2"},destination:{node_id:vt,field:"clip2"}},{source:{node_id:Zn,field:"clip"},destination:{node_id:Pt,field:"clip"}},{source:{node_id:Zn,field:"clip2"},destination:{node_id:Pt,field:"clip2"}},{source:{node_id:vt,field:"conditioning"},destination:{node_id:il,field:"positive_conditioning"}},{source:{node_id:Pt,field:"conditioning"},destination:{node_id:il,field:"negative_conditioning"}},{source:{node_id:mt,field:"noise"},destination:{node_id:il,field:"noise"}},{source:{node_id:il,field:"latents"},destination:{node_id:Rt,field:"latents"}}]};return S.nodes[It]={id:It,type:"metadata_accumulator",generation_mode:"sdxl_txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:y?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:d,positive_style_prompt:m,negative_style_prompt:v},S.edges.push({source:{node_id:It,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),_&&Ez(e,S,il),qf(e,S),e.system.shouldUseNSFWChecker&&Ec(e,S),e.system.shouldUseWatermarker&&Ac(e,S),S},kCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:p,vaePrecision:g}=e.generation,m=p?f:La.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const v=i.model_type==="onnx",x=v?rS:Or,_=v?"onnx_model_loader":"main_model_loader",b=v?{type:"t2l_onnx",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a}:{type:"t2l",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a},y={id:gE,nodes:{[vt]:{type:v?"prompt_onnx":"compel",id:vt,prompt:n,is_intermediate:!0},[Pt]:{type:v?"prompt_onnx":"compel",id:Pt,prompt:r,is_intermediate:!0},[mt]:{type:"noise",id:mt,width:l,height:u,use_cpu:m,is_intermediate:!0},[b.id]:b,[x]:{type:_,id:x,is_intermediate:!0,model:i},[qt]:{type:"clip_skip",id:qt,skipped_layers:d,is_intermediate:!0},[Rt]:{type:v?"l2i_onnx":"l2i",id:Rt,fp32:g==="fp32"}},edges:[{source:{node_id:x,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:x,field:"unet"},destination:{node_id:cr,field:"unet"}},{source:{node_id:qt,field:"clip"},destination:{node_id:vt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:Pt,field:"clip"}},{source:{node_id:vt,field:"conditioning"},destination:{node_id:cr,field:"positive_conditioning"}},{source:{node_id:Pt,field:"conditioning"},destination:{node_id:cr,field:"negative_conditioning"}},{source:{node_id:cr,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:mt,field:"noise"},destination:{node_id:cr,field:"noise"}}]};return y.nodes[It]={id:It,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:m?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:d},y.edges.push({source:{node_id:It,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,y,cr,x),Mm(e,y,x),qf(e,y),YS(e,y,cr),e.system.shouldUseNSFWChecker&&Ec(e,y),e.system.shouldUseWatermarker&&Ac(e,y),y},ICe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="txt2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=OCe(o):a=kCe(o),n(kU(a)),i.debug({graph:Da(a)},"Text to Image graph built"),n(Mr({graph:a})),await r(Mr.fulfilled.match),n(yc())}})},Az=vL(),Pe=Az.startListening;j_e();G_e();q_e();N_e();L_e();D_e();$_e();F_e();h_e();V_e();vCe();RCe();ICe();SCe();Bbe();P_e();T_e();x_e();A_e();Jbe();a_e();Vbe();jbe();Hbe();Wbe();Kbe();Ube();zbe();Qbe();Zbe();Xbe();Ybe();qbe();Mbe();Nbe();Lbe();Dbe();$be();Fbe();Obe();kbe();Ibe();k_e();O_e();I_e();M_e();U_e();z_e();p_e();Cbe();B_e();K_e();d_e();Y_e();u_e();l_e();aSe();tSe();const MCe={canvas:Hue,gallery:Jde,generation:xue,nodes:Bve,postprocessing:Uve,system:h1e,config:rle,ui:Tue,hotkeys:y1e,controlNet:Yde,dynamicPrompts:Zde,deleteImageModal:rfe,changeBoardModal:ofe,lora:afe,modelmanager:m1e,sdxl:jve,[Gl.reducerPath]:Gl.reducer},NCe=Ff(MCe),LCe=V1e(NCe),DCe=["canvas","gallery","generation","sdxl","nodes","postprocessing","system","ui","controlNet","dynamicPrompts","lora","modelmanager"],$Ce=ZN({reducer:LCe,enhancers:e=>e.concat(j1e(window.localStorage,DCe,{persistDebounce:300,serialize:e_e,unserialize:n_e,prefix:G1e})).concat(bL()),middleware:e=>e({immutableCheck:!1,serializableCheck:!1}).concat(Gl.middleware).concat(S1e).prepend(Az.middleware),devTools:{actionSanitizer:i_e,stateSanitizer:s_e,trace:!0,predicate:(e,t)=>!o_e.includes(t.type)}}),oMe=e=>e,FCe=e=>{const{socket:t,storeApi:n}=e,{dispatch:r,getState:i}=n;t.on("connect",()=>{Ie("socketio").debug("Connected"),r(j$());const{sessionId:s}=i().system;s&&(t.emit("subscribe",{session:s}),r(MT({sessionId:s})))}),t.on("connect_error",o=>{o&&o.message&&o.data==="ERR_UNAUTHENTICATED"&&r(Un(Ku({title:o.message,status:"error",duration:1e4})))}),t.on("disconnect",()=>{r(H$())}),t.on("invocation_started",o=>{r(Y$({data:o}))}),t.on("generator_progress",o=>{r(nF({data:o}))}),t.on("invocation_error",o=>{r(J$({data:o}))}),t.on("invocation_complete",o=>{r(NT({data:o}))}),t.on("graph_execution_state_complete",o=>{r(eF({data:o}))}),t.on("model_load_started",o=>{r(iF({data:o}))}),t.on("model_load_completed",o=>{r(oF({data:o}))}),t.on("session_retrieval_error",o=>{r(sF({data:o}))}),t.on("invocation_retrieval_error",o=>{r(lF({data:o}))})},Ds=Object.create(null);Ds.open="0";Ds.close="1";Ds.ping="2";Ds.pong="3";Ds.message="4";Ds.upgrade="5";Ds.noop="6";const Sv=Object.create(null);Object.keys(Ds).forEach(e=>{Sv[Ds[e]]=e});const BCe={type:"error",data:"parser error"},Pz=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",Rz=typeof ArrayBuffer=="function",Oz=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,kE=({type:e,data:t},n,r)=>Pz&&t instanceof Blob?n?r(t):Sk(t,r):Rz&&(t instanceof ArrayBuffer||Oz(t))?n?r(t):Sk(new Blob([t]),r):r(Ds[e]+(t||"")),Sk=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)};function wk(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let Wx;function UCe(e,t){if(Pz&&e.data instanceof Blob)return e.data.arrayBuffer().then(wk).then(t);if(Rz&&(e.data instanceof ArrayBuffer||Oz(e.data)))return t(wk(e.data));kE(e,!1,n=>{Wx||(Wx=new TextEncoder),t(Wx.encode(n))})}const xk="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",hp=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,n=e.length,r,i=0,o,s,a,l;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);const u=new ArrayBuffer(t),d=new Uint8Array(u);for(r=0;r>4,d[i++]=(s&15)<<4|a>>2,d[i++]=(a&3)<<6|l&63;return u},VCe=typeof ArrayBuffer=="function",IE=(e,t)=>{if(typeof e!="string")return{type:"message",data:kz(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:jCe(e.substring(1),t)}:Sv[n]?e.length>1?{type:Sv[n],data:e.substring(1)}:{type:Sv[n]}:BCe},jCe=(e,t)=>{if(VCe){const n=zCe(e);return kz(n,t)}else return{base64:!0,data:e}},kz=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},Iz=String.fromCharCode(30),GCe=(e,t)=>{const n=e.length,r=new Array(n);let i=0;e.forEach((o,s)=>{kE(o,!1,a=>{r[s]=a,++i===n&&t(r.join(Iz))})})},HCe=(e,t)=>{const n=e.split(Iz),r=[];for(let i=0;i54;return IE(r?e:qx.decode(e),n)}const Mz=4;function Gn(e){if(e)return qCe(e)}function qCe(e){for(var t in Gn.prototype)e[t]=Gn.prototype[t];return e}Gn.prototype.on=Gn.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this};Gn.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this};Gn.prototype.off=Gn.prototype.removeListener=Gn.prototype.removeAllListeners=Gn.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var n=this._callbacks["$"+e];if(!n)return this;if(arguments.length==1)return delete this._callbacks["$"+e],this;for(var r,i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function Nz(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const KCe=yo.setTimeout,XCe=yo.clearTimeout;function QS(e,t){t.useNativeTimers?(e.setTimeoutFn=KCe.bind(yo),e.clearTimeoutFn=XCe.bind(yo)):(e.setTimeoutFn=yo.setTimeout.bind(yo),e.clearTimeoutFn=yo.clearTimeout.bind(yo))}const YCe=1.33;function QCe(e){return typeof e=="string"?ZCe(e):Math.ceil((e.byteLength||e.size)*YCe)}function ZCe(e){let t=0,n=0;for(let r=0,i=e.length;r=57344?n+=3:(r++,n+=4);return n}function JCe(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}function e3e(e){let t={},n=e.split("&");for(let r=0,i=n.length;r0);return t}function Dz(){const e=Ek(+new Date);return e!==Tk?(Ck=0,Tk=e):e+"."+Ek(Ck++)}for(;U0{this.readyState="paused",t()};if(this.polling||!this.writable){let r=0;this.polling&&(r++,this.once("pollComplete",function(){--r||n()})),this.writable||(r++,this.once("drain",function(){--r||n()}))}else n()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(t){const n=r=>{if(this.readyState==="opening"&&r.type==="open"&&this.onOpen(),r.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(r)};HCe(t,this.socket.binaryType).forEach(n),this.readyState!=="closed"&&(this.polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this.poll())}doClose(){const t=()=>{this.write([{type:"close"}])};this.readyState==="open"?t():this.once("open",t)}write(t){this.writable=!1,GCe(t,n=>{this.doWrite(n,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const t=this.opts.secure?"https":"http",n=this.query||{};return this.opts.timestampRequests!==!1&&(n[this.opts.timestampParam]=Dz()),!this.supportsBinary&&!n.sid&&(n.b64=1),this.createUri(t,n)}request(t={}){return Object.assign(t,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new af(this.uri(),t)}doWrite(t,n){const r=this.request({method:"POST",data:t});r.on("success",n),r.on("error",(i,o)=>{this.onError("xhr post error",i,o)})}doPoll(){const t=this.request();t.on("data",this.onData.bind(this)),t.on("error",(n,r)=>{this.onError("xhr poll error",n,r)}),this.pollXhr=t}}let af=class wv extends Gn{constructor(t,n){super(),QS(this,n),this.opts=n,this.method=n.method||"GET",this.uri=t,this.data=n.data!==void 0?n.data:null,this.create()}create(){var t;const n=Nz(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this.opts.xd;const r=this.xhr=new Fz(n);try{r.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let i in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&r.setRequestHeader(i,this.opts.extraHeaders[i])}}catch{}if(this.method==="POST")try{r.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{r.setRequestHeader("Accept","*/*")}catch{}(t=this.opts.cookieJar)===null||t===void 0||t.addCookies(r),"withCredentials"in r&&(r.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(r.timeout=this.opts.requestTimeout),r.onreadystatechange=()=>{var i;r.readyState===3&&((i=this.opts.cookieJar)===null||i===void 0||i.parseCookies(r)),r.readyState===4&&(r.status===200||r.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof r.status=="number"?r.status:0)},0))},r.send(this.data)}catch(i){this.setTimeoutFn(()=>{this.onError(i)},0);return}typeof document<"u"&&(this.index=wv.requestsCount++,wv.requests[this.index]=this)}onError(t){this.emitReserved("error",t,this.xhr),this.cleanup(!0)}cleanup(t){if(!(typeof this.xhr>"u"||this.xhr===null)){if(this.xhr.onreadystatechange=i3e,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete wv.requests[this.index],this.xhr=null}}onLoad(){const t=this.xhr.responseText;t!==null&&(this.emitReserved("data",t),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}};af.requestsCount=0;af.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",Ak);else if(typeof addEventListener=="function"){const e="onpagehide"in yo?"pagehide":"unload";addEventListener(e,Ak,!1)}}function Ak(){for(let e in af.requests)af.requests.hasOwnProperty(e)&&af.requests[e].abort()}const NE=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),z0=yo.WebSocket||yo.MozWebSocket,Pk=!0,a3e="arraybuffer",Rk=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class l3e extends ME{constructor(t){super(t),this.supportsBinary=!t.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const t=this.uri(),n=this.opts.protocols,r=Rk?{}:Nz(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(r.headers=this.opts.extraHeaders);try{this.ws=Pk&&!Rk?n?new z0(t,n):new z0(t):new z0(t,n,r)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType||a3e,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=t=>this.onClose({description:"websocket connection closed",context:t}),this.ws.onmessage=t=>this.onData(t.data),this.ws.onerror=t=>this.onError("websocket error",t)}write(t){this.writable=!1;for(let n=0;n{const s={};try{Pk&&this.ws.send(o)}catch{}i&&NE(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){const t=this.opts.secure?"wss":"ws",n=this.query||{};return this.opts.timestampRequests&&(n[this.opts.timestampParam]=Dz()),this.supportsBinary||(n.b64=1),this.createUri(t,n)}check(){return!!z0}}function u3e(e,t){return e.type==="message"&&typeof e.data!="string"&&t[0]>=48&&t[0]<=54}class c3e extends ME{get name(){return"webtransport"}doOpen(){typeof WebTransport=="function"&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then(()=>{this.onClose()}).catch(t=>{this.onError("webtransport error",t)}),this.transport.ready.then(()=>{this.transport.createBidirectionalStream().then(t=>{const n=t.readable.getReader();this.writer=t.writable.getWriter();let r;const i=()=>{n.read().then(({done:s,value:a})=>{s||(!r&&a.byteLength===1&&a[0]===54?r=!0:(this.onPacket(WCe(a,r,"arraybuffer")),r=!1),i())}).catch(s=>{})};i();const o=this.query.sid?`0{"sid":"${this.query.sid}"}`:"0";this.writer.write(new TextEncoder().encode(o)).then(()=>this.onOpen())})}))}write(t){this.writable=!1;for(let n=0;n{u3e(r,o)&&this.writer.write(Uint8Array.of(54)),this.writer.write(o).then(()=>{i&&NE(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})})}}doClose(){var t;(t=this.transport)===null||t===void 0||t.close()}}const d3e={websocket:l3e,webtransport:c3e,polling:s3e},f3e=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,h3e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function p5(e){const t=e,n=e.indexOf("["),r=e.indexOf("]");n!=-1&&r!=-1&&(e=e.substring(0,n)+e.substring(n,r).replace(/:/g,";")+e.substring(r,e.length));let i=f3e.exec(e||""),o={},s=14;for(;s--;)o[h3e[s]]=i[s]||"";return n!=-1&&r!=-1&&(o.source=t,o.host=o.host.substring(1,o.host.length-1).replace(/;/g,":"),o.authority=o.authority.replace("[","").replace("]","").replace(/;/g,":"),o.ipv6uri=!0),o.pathNames=p3e(o,o.path),o.queryKey=g3e(o,o.query),o}function p3e(e,t){const n=/\/{2,9}/g,r=t.replace(n,"/").split("/");return(t.slice(0,1)=="/"||t.length===0)&&r.splice(0,1),t.slice(-1)=="/"&&r.splice(r.length-1,1),r}function g3e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,i,o){i&&(n[i]=o)}),n}let Bz=class Sd extends Gn{constructor(t,n={}){super(),this.writeBuffer=[],t&&typeof t=="object"&&(n=t,t=null),t?(t=p5(t),n.hostname=t.host,n.secure=t.protocol==="https"||t.protocol==="wss",n.port=t.port,t.query&&(n.query=t.query)):n.host&&(n.hostname=p5(n.host).host),QS(this,n),this.secure=n.secure!=null?n.secure:typeof location<"u"&&location.protocol==="https:",n.hostname&&!n.port&&(n.port=this.secure?"443":"80"),this.hostname=n.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=n.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=n.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},n),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=e3e(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,typeof addEventListener=="function"&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(t){const n=Object.assign({},this.opts.query);n.EIO=Mz,n.transport=t,this.id&&(n.sid=this.id);const r=Object.assign({},this.opts,{query:n,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[t]);return new d3e[t](r)}open(){let t;if(this.opts.rememberUpgrade&&Sd.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)t="websocket";else if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}else t=this.transports[0];this.readyState="opening";try{t=this.createTransport(t)}catch{this.transports.shift(),this.open();return}t.open(),this.setTransport(t)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",n=>this.onClose("transport close",n))}probe(t){let n=this.createTransport(t),r=!1;Sd.priorWebsocketSuccess=!1;const i=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",f=>{if(!r)if(f.type==="pong"&&f.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Sd.priorWebsocketSuccess=n.name==="websocket",this.transport.pause(()=>{r||this.readyState!=="closed"&&(d(),this.setTransport(n),n.send([{type:"upgrade"}]),this.emitReserved("upgrade",n),n=null,this.upgrading=!1,this.flush())})}else{const p=new Error("probe error");p.transport=n.name,this.emitReserved("upgradeError",p)}}))};function o(){r||(r=!0,d(),n.close(),n=null)}const s=f=>{const p=new Error("probe error: "+f);p.transport=n.name,o(),this.emitReserved("upgradeError",p)};function a(){s("transport closed")}function l(){s("socket closed")}function u(f){n&&f.name!==n.name&&o()}const d=()=>{n.removeListener("open",i),n.removeListener("error",s),n.removeListener("close",a),this.off("close",l),this.off("upgrading",u)};n.once("open",i),n.once("error",s),n.once("close",a),this.once("close",l),this.once("upgrading",u),this.upgrades.indexOf("webtransport")!==-1&&t!=="webtransport"?this.setTimeoutFn(()=>{r||n.open()},200):n.open()}onOpen(){if(this.readyState="open",Sd.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade){let t=0;const n=this.upgrades.length;for(;t{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const t=this.getWritablePackets();this.transport.send(t),this.prevBufferLen=t.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let n=1;for(let r=0;r0&&n>this.maxPayload)return this.writeBuffer.slice(0,r);n+=2}return this.writeBuffer}write(t,n,r){return this.sendPacket("message",t,n,r),this}send(t,n,r){return this.sendPacket("message",t,n,r),this}sendPacket(t,n,r,i){if(typeof n=="function"&&(i=n,n=void 0),typeof r=="function"&&(i=r,r=null),this.readyState==="closing"||this.readyState==="closed")return;r=r||{},r.compress=r.compress!==!1;const o={type:t,data:n,options:r};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),i&&this.once("flush",i),this.flush()}close(){const t=()=>{this.onClose("forced close"),this.transport.close()},n=()=>{this.off("upgrade",n),this.off("upgradeError",n),t()},r=()=>{this.once("upgrade",n),this.once("upgradeError",n)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?r():t()}):this.upgrading?r():t()),this}onError(t){Sd.priorWebsocketSuccess=!1,this.emitReserved("error",t),this.onClose("transport error",t)}onClose(t,n){(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")&&(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),typeof removeEventListener=="function"&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",t,n),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(t){const n=[];let r=0;const i=t.length;for(;rtypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,Uz=Object.prototype.toString,_3e=typeof Blob=="function"||typeof Blob<"u"&&Uz.call(Blob)==="[object BlobConstructor]",b3e=typeof File=="function"||typeof File<"u"&&Uz.call(File)==="[object FileConstructor]";function LE(e){return y3e&&(e instanceof ArrayBuffer||v3e(e))||_3e&&e instanceof Blob||b3e&&e instanceof File}function xv(e,t){if(!e||typeof e!="object")return!1;if(Array.isArray(e)){for(let n=0,r=e.length;n=0&&e.num{delete this.acks[t];for(let s=0;s{this.io.clearTimeoutFn(o),n.apply(this,[null,...s])}}emitWithAck(t,...n){const r=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((i,o)=>{n.push((s,a)=>r?s?o(s):i(a):i(s)),this.emit(t,...n)})}_addToQueue(t){let n;typeof t[t.length-1]=="function"&&(n=t.pop());const r={id:this._queueSeq++,tryCount:0,pending:!1,args:t,flags:Object.assign({fromQueue:!0},this.flags)};t.push((i,...o)=>r!==this._queue[0]?void 0:(i!==null?r.tryCount>this._opts.retries&&(this._queue.shift(),n&&n(i)):(this._queue.shift(),n&&n(null,...o)),r.pending=!1,this._drainQueue())),this._queue.push(r),this._drainQueue()}_drainQueue(t=!1){if(!this.connected||this._queue.length===0)return;const n=this._queue[0];n.pending&&!t||(n.pending=!0,n.tryCount++,this.flags=n.flags,this.emit.apply(this,n.args))}packet(t){t.nsp=this.nsp,this.io._packet(t)}onopen(){typeof this.auth=="function"?this.auth(t=>{this._sendConnectPacket(t)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(t){this.packet({type:pt.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},t):t})}onerror(t){this.connected||this.emitReserved("connect_error",t)}onclose(t,n){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,n)}onpacket(t){if(t.nsp===this.nsp)switch(t.type){case pt.CONNECT:t.data&&t.data.sid?this.onconnect(t.data.sid,t.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case pt.EVENT:case pt.BINARY_EVENT:this.onevent(t);break;case pt.ACK:case pt.BINARY_ACK:this.onack(t);break;case pt.DISCONNECT:this.ondisconnect();break;case pt.CONNECT_ERROR:this.destroy();const r=new Error(t.data.message);r.data=t.data.data,this.emitReserved("connect_error",r);break}}onevent(t){const n=t.data||[];t.id!=null&&n.push(this.ack(t.id)),this.connected?this.emitEvent(n):this.receiveBuffer.push(Object.freeze(n))}emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const n=this._anyListeners.slice();for(const r of n)r.apply(this,t)}super.emit.apply(this,t),this._pid&&t.length&&typeof t[t.length-1]=="string"&&(this._lastOffset=t[t.length-1])}ack(t){const n=this;let r=!1;return function(...i){r||(r=!0,n.packet({type:pt.ACK,id:t,data:i}))}}onack(t){const n=this.acks[t.id];typeof n=="function"&&(n.apply(this,t.data),delete this.acks[t.id])}onconnect(t,n){this.id=t,this.recovered=n&&this._pid===n,this._pid=n,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.receiveBuffer=[],this.sendBuffer.forEach(t=>{this.notifyOutgoingListeners(t),this.packet(t)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:pt.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(t){return this.flags.compress=t,this}get volatile(){return this.flags.volatile=!0,this}timeout(t){return this.flags.timeout=t,this}onAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(t),this}prependAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(t),this}offAny(t){if(!this._anyListeners)return this;if(t){const n=this._anyListeners;for(let r=0;r0&&e.jitter<=1?e.jitter:0,this.attempts=0}Kf.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=Math.floor(t*10)&1?e+n:e-n}return Math.min(e,this.max)|0};Kf.prototype.reset=function(){this.attempts=0};Kf.prototype.setMin=function(e){this.ms=e};Kf.prototype.setMax=function(e){this.max=e};Kf.prototype.setJitter=function(e){this.jitter=e};class y5 extends Gn{constructor(t,n){var r;super(),this.nsps={},this.subs=[],t&&typeof t=="object"&&(n=t,t=void 0),n=n||{},n.path=n.path||"/socket.io",this.opts=n,QS(this,n),this.reconnection(n.reconnection!==!1),this.reconnectionAttempts(n.reconnectionAttempts||1/0),this.reconnectionDelay(n.reconnectionDelay||1e3),this.reconnectionDelayMax(n.reconnectionDelayMax||5e3),this.randomizationFactor((r=n.randomizationFactor)!==null&&r!==void 0?r:.5),this.backoff=new Kf({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=t;const i=n.parser||A3e;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=n.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(t){return arguments.length?(this._reconnection=!!t,this):this._reconnection}reconnectionAttempts(t){return t===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}reconnectionDelay(t){var n;return t===void 0?this._reconnectionDelay:(this._reconnectionDelay=t,(n=this.backoff)===null||n===void 0||n.setMin(t),this)}randomizationFactor(t){var n;return t===void 0?this._randomizationFactor:(this._randomizationFactor=t,(n=this.backoff)===null||n===void 0||n.setJitter(t),this)}reconnectionDelayMax(t){var n;return t===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,(n=this.backoff)===null||n===void 0||n.setMax(t),this)}timeout(t){return arguments.length?(this._timeout=t,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(t){if(~this._readyState.indexOf("open"))return this;this.engine=new Bz(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const i=Uo(n,"open",function(){r.onopen(),t&&t()}),o=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),t?t(a):this.maybeReconnectOnOpen()},s=Uo(n,"error",o);if(this._timeout!==!1){const a=this._timeout,l=this.setTimeoutFn(()=>{i(),o(new Error("timeout")),n.close()},a);this.opts.autoUnref&&l.unref(),this.subs.push(()=>{this.clearTimeoutFn(l)})}return this.subs.push(i),this.subs.push(s),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(Uo(t,"ping",this.onping.bind(this)),Uo(t,"data",this.ondata.bind(this)),Uo(t,"error",this.onerror.bind(this)),Uo(t,"close",this.onclose.bind(this)),Uo(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(t){try{this.decoder.add(t)}catch(n){this.onclose("parse error",n)}}ondecoded(t){NE(()=>{this.emitReserved("packet",t)},this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,n){let r=this.nsps[t];return r?this._autoConnect&&!r.active&&r.connect():(r=new zz(this,t,n),this.nsps[t]=r),r}_destroy(t){const n=Object.keys(this.nsps);for(const r of n)if(this.nsps[r].active)return;this._close()}_packet(t){const n=this.encoder.encode(t);for(let r=0;rt()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(t,n){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",t,n),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const n=this.backoff.duration();this._reconnecting=!0;const r=this.setTimeoutFn(()=>{t.skipReconnect||(this.emitReserved("reconnect_attempt",t.backoff.attempts),!t.skipReconnect&&t.open(i=>{i?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",i)):t.onreconnect()}))},n);this.opts.autoUnref&&r.unref(),this.subs.push(()=>{this.clearTimeoutFn(r)})}}onreconnect(){const t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const np={};function Cv(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=m3e(e,t.path||"/socket.io"),r=n.source,i=n.id,o=n.path,s=np[i]&&o in np[i].nsps,a=t.forceNew||t["force new connection"]||t.multiplex===!1||s;let l;return a?l=new y5(r,t):(np[i]||(np[i]=new y5(r,t)),l=np[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign(Cv,{Manager:y5,Socket:zz,io:Cv,connect:Cv});const kk=()=>{let e=!1,n=`${window.location.protocol==="https:"?"wss":"ws"}://${window.location.host}`;const r={timeout:6e4,path:"/ws/socket.io",autoConnect:!1};if(["nodes","package"].includes("production")){const s=wg.get();s&&(n=s.replace(/^https?\:\/\//i,""));const a=Sg.get();a&&(r.auth={token:a}),r.transports=["websocket","polling"]}const i=Cv(n,r);return s=>a=>l=>{const{dispatch:u,getState:d}=s;if(e||(FCe({storeApi:s,socket:i}),e=!0,i.connect()),Mr.fulfilled.match(l)){const f=l.payload.id,p=d().system.sessionId;p&&(i.emit("unsubscribe",{session:p}),u(K$({sessionId:p}))),i.emit("subscribe",{session:f}),u(MT({sessionId:f}))}a(l)}};function R3e(e){if(e.sheet)return e.sheet;for(var t=0;t0?Rr(Xf,--Oi):0,If--,zn===10&&(If=1,JS--),zn}function Hi(){return zn=Oi2||Fg(zn)>3?"":" "}function V3e(e,t){for(;--t&&Hi()&&!(zn<48||zn>102||zn>57&&zn<65||zn>70&&zn<97););return Nm(e,Tv()+(t<6&&ks()==32&&Hi()==32))}function _5(e){for(;Hi();)switch(zn){case e:return Oi;case 34:case 39:e!==34&&e!==39&&_5(zn);break;case 40:e===41&&_5(e);break;case 92:Hi();break}return Oi}function j3e(e,t){for(;Hi()&&e+zn!==47+10;)if(e+zn===42+42&&ks()===47)break;return"/*"+Nm(t,Oi-1)+"*"+ZS(e===47?e:Hi())}function G3e(e){for(;!Fg(ks());)Hi();return Nm(e,Oi)}function H3e(e){return qz(Av("",null,null,null,[""],e=Wz(e),0,[0],e))}function Av(e,t,n,r,i,o,s,a,l){for(var u=0,d=0,f=s,p=0,g=0,m=0,v=1,x=1,_=1,b=0,y="",S=i,C=o,T=r,E=y;x;)switch(m=b,b=Hi()){case 40:if(m!=108&&Rr(E,f-1)==58){v5(E+=At(Ev(b),"&","&\f"),"&\f")!=-1&&(_=-1);break}case 34:case 39:case 91:E+=Ev(b);break;case 9:case 10:case 13:case 32:E+=z3e(m);break;case 92:E+=V3e(Tv()-1,7);continue;case 47:switch(ks()){case 42:case 47:V0(W3e(j3e(Hi(),Tv()),t,n),l);break;default:E+="/"}break;case 123*v:a[u++]=ys(E)*_;case 125*v:case 59:case 0:switch(b){case 0:case 125:x=0;case 59+d:_==-1&&(E=At(E,/\f/g,"")),g>0&&ys(E)-f&&V0(g>32?Mk(E+";",r,n,f-1):Mk(At(E," ","")+";",r,n,f-2),l);break;case 59:E+=";";default:if(V0(T=Ik(E,t,n,u,d,i,a,y,S=[],C=[],f),o),b===123)if(d===0)Av(E,t,T,T,S,o,f,a,C);else switch(p===99&&Rr(E,3)===110?100:p){case 100:case 108:case 109:case 115:Av(e,T,T,r&&V0(Ik(e,T,T,0,0,i,a,y,i,S=[],f),C),i,C,f,a,r?S:C);break;default:Av(E,T,T,T,[""],C,0,a,C)}}u=d=g=0,v=_=1,y=E="",f=s;break;case 58:f=1+ys(E),g=m;default:if(v<1){if(b==123)--v;else if(b==125&&v++==0&&U3e()==125)continue}switch(E+=ZS(b),b*v){case 38:_=d>0?1:(E+="\f",-1);break;case 44:a[u++]=(ys(E)-1)*_,_=1;break;case 64:ks()===45&&(E+=Ev(Hi())),p=ks(),d=f=ys(y=E+=G3e(Tv())),b++;break;case 45:m===45&&ys(E)==2&&(v=0)}}return o}function Ik(e,t,n,r,i,o,s,a,l,u,d){for(var f=i-1,p=i===0?o:[""],g=BE(p),m=0,v=0,x=0;m0?p[_]+" "+b:At(b,/&\f/g,p[_])))&&(l[x++]=y);return e2(e,t,n,i===0?$E:a,l,u,d)}function W3e(e,t,n){return e2(e,t,n,Vz,ZS(B3e()),$g(e,2,-2),0)}function Mk(e,t,n,r){return e2(e,t,n,FE,$g(e,0,r),$g(e,r+1,-1),r)}function lf(e,t){for(var n="",r=BE(e),i=0;i6)switch(Rr(e,t+1)){case 109:if(Rr(e,t+4)!==45)break;case 102:return At(e,/(.+:)(.+)-([^]+)/,"$1"+Et+"$2-$3$1"+r_+(Rr(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~v5(e,"stretch")?Xz(At(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Rr(e,t+1)!==115)break;case 6444:switch(Rr(e,ys(e)-3-(~v5(e,"!important")&&10))){case 107:return At(e,":",":"+Et)+e;case 101:return At(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Et+(Rr(e,14)===45?"inline-":"")+"box$3$1"+Et+"$2$3$1"+Ur+"$2box$3")+e}break;case 5936:switch(Rr(e,t+11)){case 114:return Et+e+Ur+At(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Et+e+Ur+At(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Et+e+Ur+At(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Et+e+Ur+e+e}return e}var t5e=function(t,n,r,i){if(t.length>-1&&!t.return)switch(t.type){case FE:t.return=Xz(t.value,t.length);break;case jz:return lf([rp(t,{value:At(t.value,"@","@"+Et)})],i);case $E:if(t.length)return F3e(t.props,function(o){switch($3e(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return lf([rp(t,{props:[At(o,/:(read-\w+)/,":"+r_+"$1")]})],i);case"::placeholder":return lf([rp(t,{props:[At(o,/:(plac\w+)/,":"+Et+"input-$1")]}),rp(t,{props:[At(o,/:(plac\w+)/,":"+r_+"$1")]}),rp(t,{props:[At(o,/:(plac\w+)/,Ur+"input-$1")]})],i)}return""})}},n5e=[t5e],r5e=function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(v){var x=v.getAttribute("data-emotion");x.indexOf(" ")!==-1&&(document.head.appendChild(v),v.setAttribute("data-s",""))})}var i=t.stylisPlugins||n5e,o={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(v){for(var x=v.getAttribute("data-emotion").split(" "),_=1;_=4;++r,i-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(i){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var a5e={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},l5e=/[A-Z]|^ms/g,u5e=/_EMO_([^_]+?)_([^]*?)_EMO_/g,Zz=function(t){return t.charCodeAt(1)===45},Dk=function(t){return t!=null&&typeof t!="boolean"},Kx=Kz(function(e){return Zz(e)?e:e.replace(l5e,"-$&").toLowerCase()}),$k=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(u5e,function(r,i,o){return vs={name:i,styles:o,next:vs},i})}return a5e[t]!==1&&!Zz(t)&&typeof n=="number"&&n!==0?n+"px":n};function Bg(e,t,n){if(n==null)return"";if(n.__emotion_styles!==void 0)return n;switch(typeof n){case"boolean":return"";case"object":{if(n.anim===1)return vs={name:n.name,styles:n.styles,next:vs},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)vs={name:r.name,styles:r.styles,next:vs},r=r.next;var i=n.styles+";";return i}return c5e(e,t,n)}case"function":{if(e!==void 0){var o=vs,s=n(e);return vs=o,Bg(e,t,s)}break}}if(t==null)return n;var a=t[n];return a!==void 0?a:n}function c5e(e,t,n){var r="";if(Array.isArray(n))for(var i=0;i` or ``");return e}var rV=L.createContext({});rV.displayName="ColorModeContext";function zE(){const e=L.useContext(rV);if(e===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return e}function lMe(e,t){const{colorMode:n}=zE();return n==="dark"?t:e}function v5e(){const e=zE(),t=nV();return{...e,theme:t}}function _5e(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__breakpoints)==null?void 0:a.asArray)==null?void 0:l[s]};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function b5e(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__cssMap)==null?void 0:a[s])==null?void 0:l.value};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function uMe(e,t,n){const r=nV();return S5e(e,t,n)(r)}function S5e(e,t,n){const r=Array.isArray(t)?t:[t],i=Array.isArray(n)?n:[n];return o=>{const s=i.filter(Boolean),a=r.map((l,u)=>{var d,f;if(e==="breakpoints")return _5e(o,l,(d=s[u])!=null?d:l);const p=`${e}.${l}`;return b5e(o,p,(f=s[u])!=null?f:l)});return Array.isArray(t)?a:a[0]}}var iV=(...e)=>e.filter(Boolean).join(" ");function w5e(){return!1}function ba(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}var cMe=e=>{const{condition:t,message:n}=e;t&&w5e()&&console.warn(n)};function Fu(e,...t){return x5e(e)?e(...t):e}var x5e=e=>typeof e=="function",dMe=e=>e?"":void 0,fMe=e=>e?!0:void 0;function hMe(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function pMe(...e){return function(n){e.forEach(r=>{r==null||r(n)})}}var i_={exports:{}};i_.exports;(function(e,t){var n=200,r="__lodash_hash_undefined__",i=800,o=16,s=9007199254740991,a="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",d="[object Boolean]",f="[object Date]",p="[object Error]",g="[object Function]",m="[object GeneratorFunction]",v="[object Map]",x="[object Number]",_="[object Null]",b="[object Object]",y="[object Proxy]",S="[object RegExp]",C="[object Set]",T="[object String]",E="[object Undefined]",P="[object WeakMap]",k="[object ArrayBuffer]",O="[object DataView]",M="[object Float32Array]",G="[object Float64Array]",U="[object Int8Array]",A="[object Int16Array]",N="[object Int32Array]",F="[object Uint8Array]",B="[object Uint8ClampedArray]",D="[object Uint16Array]",V="[object Uint32Array]",j=/[\\^$.*+?()[\]{}|]/g,q=/^\[object .+?Constructor\]$/,Z=/^(?:0|[1-9]\d*)$/,ee={};ee[M]=ee[G]=ee[U]=ee[A]=ee[N]=ee[F]=ee[B]=ee[D]=ee[V]=!0,ee[a]=ee[l]=ee[k]=ee[d]=ee[O]=ee[f]=ee[p]=ee[g]=ee[v]=ee[x]=ee[b]=ee[S]=ee[C]=ee[T]=ee[P]=!1;var ie=typeof He=="object"&&He&&He.Object===Object&&He,se=typeof self=="object"&&self&&self.Object===Object&&self,le=ie||se||Function("return this")(),W=t&&!t.nodeType&&t,ne=W&&!0&&e&&!e.nodeType&&e,fe=ne&&ne.exports===W,pe=fe&&ie.process,ve=function(){try{var H=ne&&ne.require&&ne.require("util").types;return H||pe&&pe.binding&&pe.binding("util")}catch{}}(),ye=ve&&ve.isTypedArray;function We(H,Y,re){switch(re.length){case 0:return H.call(Y);case 1:return H.call(Y,re[0]);case 2:return H.call(Y,re[0],re[1]);case 3:return H.call(Y,re[0],re[1],re[2])}return H.apply(Y,re)}function Me(H,Y){for(var re=-1,we=Array(H);++re-1}function Ao(H,Y){var re=this.__data__,we=Ro(re,H);return we<0?(++this.size,re.push([H,Y])):re[we][1]=Y,this}Kn.prototype.clear=Mi,Kn.prototype.delete=is,Kn.prototype.get=to,Kn.prototype.has=za,Kn.prototype.set=Ao;function wr(H){var Y=-1,re=H==null?0:H.length;for(this.clear();++Y1?re[ot-1]:void 0,qe=ot>2?re[2]:void 0;for(Mt=H.length>3&&typeof Mt=="function"?(ot--,Mt):void 0,qe&&Zm(re[0],re[1],qe)&&(Mt=ot<3?void 0:Mt,ot=1),Y=Object(Y);++we-1&&H%1==0&&H0){if(++Y>=i)return arguments[0]}else Y=0;return H.apply(void 0,arguments)}}function ry(H){if(H!=null){try{return gt.call(H)}catch{}try{return H+""}catch{}}return""}function $c(H,Y){return H===Y||H!==H&&Y!==Y}var hh=uu(function(){return arguments}())?uu:function(H){return cu(H)&&Jt.call(H,"callee")&&!Xr.call(H,"callee")},ph=Array.isArray;function Fc(H){return H!=null&&oy(H.length)&&!gh(H)}function b2(H){return cu(H)&&Fc(H)}var iy=Vs||x2;function gh(H){if(!Oo(H))return!1;var Y=ja(H);return Y==g||Y==m||Y==u||Y==y}function oy(H){return typeof H=="number"&&H>-1&&H%1==0&&H<=s}function Oo(H){var Y=typeof H;return H!=null&&(Y=="object"||Y=="function")}function cu(H){return H!=null&&typeof H=="object"}function S2(H){if(!cu(H)||ja(H)!=b)return!1;var Y=vr(H);if(Y===null)return!0;var re=Jt.call(Y,"constructor")&&Y.constructor;return typeof re=="function"&&re instanceof re&>.call(re)==hi}var sy=ye?Ee(ye):Ga;function w2(H){return Km(H,ay(H))}function ay(H){return Fc(H)?sh(H,!0):g2(H)}var Ht=Mc(function(H,Y,re,we){Gm(H,Y,re,we)});function Ut(H){return function(){return H}}function ly(H){return H}function x2(){return!1}e.exports=Ht})(i_,i_.exports);var C5e=i_.exports;const Ts=dc(C5e);var T5e=e=>/!(important)?$/.test(e),Uk=e=>typeof e=="string"?e.replace(/!(important)?$/,"").trim():e,E5e=(e,t)=>n=>{const r=String(t),i=T5e(r),o=Uk(r),s=e?`${e}.${o}`:o;let a=ba(n.__cssMap)&&s in n.__cssMap?n.__cssMap[s].varRef:t;return a=Uk(a),i?`${a} !important`:a};function VE(e){const{scale:t,transform:n,compose:r}=e;return(o,s)=>{var a;const l=E5e(t,o)(s);let u=(a=n==null?void 0:n(l,s))!=null?a:l;return r&&(u=r(u,s)),u}}var j0=(...e)=>t=>e.reduce((n,r)=>r(n),t);function co(e,t){return n=>{const r={property:n,scale:e};return r.transform=VE({scale:e,transform:t}),r}}var A5e=({rtl:e,ltr:t})=>n=>n.direction==="rtl"?e:t;function P5e(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:A5e(t),transform:n?VE({scale:n,compose:r}):r}}var oV=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"];function R5e(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...oV].join(" ")}function O5e(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...oV].join(" ")}var k5e={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},I5e={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"};function M5e(e){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":e,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}var N5e={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},b5={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},L5e=new Set(Object.values(b5)),S5=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),D5e=e=>e.trim();function $5e(e,t){if(e==null||S5.has(e))return e;if(!(w5(e)||S5.has(e)))return`url('${e}')`;const i=/(^[a-z-A-Z]+)\((.*)\)/g.exec(e),o=i==null?void 0:i[1],s=i==null?void 0:i[2];if(!o||!s)return e;const a=o.includes("-gradient")?o:`${o}-gradient`,[l,...u]=s.split(",").map(D5e).filter(Boolean);if((u==null?void 0:u.length)===0)return e;const d=l in b5?b5[l]:l;u.unshift(d);const f=u.map(p=>{if(L5e.has(p))return p;const g=p.indexOf(" "),[m,v]=g!==-1?[p.substr(0,g),p.substr(g+1)]:[p],x=w5(v)?v:v&&v.split(" "),_=`colors.${m}`,b=_ in t.__cssMap?t.__cssMap[_].varRef:m;return x?[b,...Array.isArray(x)?x:[x]].join(" "):b});return`${a}(${f.join(", ")})`}var w5=e=>typeof e=="string"&&e.includes("(")&&e.includes(")"),F5e=(e,t)=>$5e(e,t??{});function B5e(e){return/^var\(--.+\)$/.test(e)}var U5e=e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}},cs=e=>t=>`${e}(${t})`,bt={filter(e){return e!=="auto"?e:k5e},backdropFilter(e){return e!=="auto"?e:I5e},ring(e){return M5e(bt.px(e))},bgClip(e){return e==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform(e){return e==="auto"?R5e():e==="auto-gpu"?O5e():e},vh(e){return e==="$100vh"?"var(--chakra-vh)":e},px(e){if(e==null)return e;const{unitless:t}=U5e(e);return t||typeof e=="number"?`${e}px`:e},fraction(e){return typeof e!="number"||e>1?e:`${e*100}%`},float(e,t){const n={left:"right",right:"left"};return t.direction==="rtl"?n[e]:e},degree(e){if(B5e(e)||e==null)return e;const t=typeof e=="string"&&!e.endsWith("deg");return typeof e=="number"||t?`${e}deg`:e},gradient:F5e,blur:cs("blur"),opacity:cs("opacity"),brightness:cs("brightness"),contrast:cs("contrast"),dropShadow:cs("drop-shadow"),grayscale:cs("grayscale"),hueRotate:cs("hue-rotate"),invert:cs("invert"),saturate:cs("saturate"),sepia:cs("sepia"),bgImage(e){return e==null||w5(e)||S5.has(e)?e:`url(${e})`},outline(e){const t=String(e)==="0"||String(e)==="none";return e!==null&&t?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:e}},flexDirection(e){var t;const{space:n,divide:r}=(t=N5e[e])!=null?t:{},i={flexDirection:e};return n&&(i[n]=1),r&&(i[r]=1),i}},Q={borderWidths:co("borderWidths"),borderStyles:co("borderStyles"),colors:co("colors"),borders:co("borders"),gradients:co("gradients",bt.gradient),radii:co("radii",bt.px),space:co("space",j0(bt.vh,bt.px)),spaceT:co("space",j0(bt.vh,bt.px)),degreeT(e){return{property:e,transform:bt.degree}},prop(e,t,n){return{property:e,scale:t,...t&&{transform:VE({scale:t,transform:n})}}},propT(e,t){return{property:e,transform:t}},sizes:co("sizes",j0(bt.vh,bt.px)),sizesT:co("sizes",j0(bt.vh,bt.fraction)),shadows:co("shadows"),logical:P5e,blur:co("blur",bt.blur)},Pv={background:Q.colors("background"),backgroundColor:Q.colors("backgroundColor"),backgroundImage:Q.gradients("backgroundImage"),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:bt.bgClip},bgSize:Q.prop("backgroundSize"),bgPosition:Q.prop("backgroundPosition"),bg:Q.colors("background"),bgColor:Q.colors("backgroundColor"),bgPos:Q.prop("backgroundPosition"),bgRepeat:Q.prop("backgroundRepeat"),bgAttachment:Q.prop("backgroundAttachment"),bgGradient:Q.gradients("backgroundImage"),bgClip:{transform:bt.bgClip}};Object.assign(Pv,{bgImage:Pv.backgroundImage,bgImg:Pv.backgroundImage});var Tt={border:Q.borders("border"),borderWidth:Q.borderWidths("borderWidth"),borderStyle:Q.borderStyles("borderStyle"),borderColor:Q.colors("borderColor"),borderRadius:Q.radii("borderRadius"),borderTop:Q.borders("borderTop"),borderBlockStart:Q.borders("borderBlockStart"),borderTopLeftRadius:Q.radii("borderTopLeftRadius"),borderStartStartRadius:Q.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:Q.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:Q.radii("borderTopRightRadius"),borderStartEndRadius:Q.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:Q.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:Q.borders("borderRight"),borderInlineEnd:Q.borders("borderInlineEnd"),borderBottom:Q.borders("borderBottom"),borderBlockEnd:Q.borders("borderBlockEnd"),borderBottomLeftRadius:Q.radii("borderBottomLeftRadius"),borderBottomRightRadius:Q.radii("borderBottomRightRadius"),borderLeft:Q.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:Q.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:Q.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:Q.borders(["borderLeft","borderRight"]),borderInline:Q.borders("borderInline"),borderY:Q.borders(["borderTop","borderBottom"]),borderBlock:Q.borders("borderBlock"),borderTopWidth:Q.borderWidths("borderTopWidth"),borderBlockStartWidth:Q.borderWidths("borderBlockStartWidth"),borderTopColor:Q.colors("borderTopColor"),borderBlockStartColor:Q.colors("borderBlockStartColor"),borderTopStyle:Q.borderStyles("borderTopStyle"),borderBlockStartStyle:Q.borderStyles("borderBlockStartStyle"),borderBottomWidth:Q.borderWidths("borderBottomWidth"),borderBlockEndWidth:Q.borderWidths("borderBlockEndWidth"),borderBottomColor:Q.colors("borderBottomColor"),borderBlockEndColor:Q.colors("borderBlockEndColor"),borderBottomStyle:Q.borderStyles("borderBottomStyle"),borderBlockEndStyle:Q.borderStyles("borderBlockEndStyle"),borderLeftWidth:Q.borderWidths("borderLeftWidth"),borderInlineStartWidth:Q.borderWidths("borderInlineStartWidth"),borderLeftColor:Q.colors("borderLeftColor"),borderInlineStartColor:Q.colors("borderInlineStartColor"),borderLeftStyle:Q.borderStyles("borderLeftStyle"),borderInlineStartStyle:Q.borderStyles("borderInlineStartStyle"),borderRightWidth:Q.borderWidths("borderRightWidth"),borderInlineEndWidth:Q.borderWidths("borderInlineEndWidth"),borderRightColor:Q.colors("borderRightColor"),borderInlineEndColor:Q.colors("borderInlineEndColor"),borderRightStyle:Q.borderStyles("borderRightStyle"),borderInlineEndStyle:Q.borderStyles("borderInlineEndStyle"),borderTopRadius:Q.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:Q.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:Q.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:Q.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(Tt,{rounded:Tt.borderRadius,roundedTop:Tt.borderTopRadius,roundedTopLeft:Tt.borderTopLeftRadius,roundedTopRight:Tt.borderTopRightRadius,roundedTopStart:Tt.borderStartStartRadius,roundedTopEnd:Tt.borderStartEndRadius,roundedBottom:Tt.borderBottomRadius,roundedBottomLeft:Tt.borderBottomLeftRadius,roundedBottomRight:Tt.borderBottomRightRadius,roundedBottomStart:Tt.borderEndStartRadius,roundedBottomEnd:Tt.borderEndEndRadius,roundedLeft:Tt.borderLeftRadius,roundedRight:Tt.borderRightRadius,roundedStart:Tt.borderInlineStartRadius,roundedEnd:Tt.borderInlineEndRadius,borderStart:Tt.borderInlineStart,borderEnd:Tt.borderInlineEnd,borderTopStartRadius:Tt.borderStartStartRadius,borderTopEndRadius:Tt.borderStartEndRadius,borderBottomStartRadius:Tt.borderEndStartRadius,borderBottomEndRadius:Tt.borderEndEndRadius,borderStartRadius:Tt.borderInlineStartRadius,borderEndRadius:Tt.borderInlineEndRadius,borderStartWidth:Tt.borderInlineStartWidth,borderEndWidth:Tt.borderInlineEndWidth,borderStartColor:Tt.borderInlineStartColor,borderEndColor:Tt.borderInlineEndColor,borderStartStyle:Tt.borderInlineStartStyle,borderEndStyle:Tt.borderInlineEndStyle});var z5e={color:Q.colors("color"),textColor:Q.colors("color"),fill:Q.colors("fill"),stroke:Q.colors("stroke")},x5={boxShadow:Q.shadows("boxShadow"),mixBlendMode:!0,blendMode:Q.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:Q.prop("backgroundBlendMode"),opacity:!0};Object.assign(x5,{shadow:x5.boxShadow});var V5e={filter:{transform:bt.filter},blur:Q.blur("--chakra-blur"),brightness:Q.propT("--chakra-brightness",bt.brightness),contrast:Q.propT("--chakra-contrast",bt.contrast),hueRotate:Q.degreeT("--chakra-hue-rotate"),invert:Q.propT("--chakra-invert",bt.invert),saturate:Q.propT("--chakra-saturate",bt.saturate),dropShadow:Q.propT("--chakra-drop-shadow",bt.dropShadow),backdropFilter:{transform:bt.backdropFilter},backdropBlur:Q.blur("--chakra-backdrop-blur"),backdropBrightness:Q.propT("--chakra-backdrop-brightness",bt.brightness),backdropContrast:Q.propT("--chakra-backdrop-contrast",bt.contrast),backdropHueRotate:Q.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:Q.propT("--chakra-backdrop-invert",bt.invert),backdropSaturate:Q.propT("--chakra-backdrop-saturate",bt.saturate)},o_={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:bt.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:Q.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:Q.space("gap"),rowGap:Q.space("rowGap"),columnGap:Q.space("columnGap")};Object.assign(o_,{flexDir:o_.flexDirection});var sV={gridGap:Q.space("gridGap"),gridColumnGap:Q.space("gridColumnGap"),gridRowGap:Q.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},j5e={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:bt.outline},outlineOffset:!0,outlineColor:Q.colors("outlineColor")},ho={width:Q.sizesT("width"),inlineSize:Q.sizesT("inlineSize"),height:Q.sizes("height"),blockSize:Q.sizes("blockSize"),boxSize:Q.sizes(["width","height"]),minWidth:Q.sizes("minWidth"),minInlineSize:Q.sizes("minInlineSize"),minHeight:Q.sizes("minHeight"),minBlockSize:Q.sizes("minBlockSize"),maxWidth:Q.sizes("maxWidth"),maxInlineSize:Q.sizes("maxInlineSize"),maxHeight:Q.sizes("maxHeight"),maxBlockSize:Q.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,aspectRatio:!0,hideFrom:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (min-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.minW)!=null?i:e})`]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (max-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r._minW)!=null?i:e})`]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:Q.propT("float",bt.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(ho,{w:ho.width,h:ho.height,minW:ho.minWidth,maxW:ho.maxWidth,minH:ho.minHeight,maxH:ho.maxHeight,overscroll:ho.overscrollBehavior,overscrollX:ho.overscrollBehaviorX,overscrollY:ho.overscrollBehaviorY});var G5e={listStyleType:!0,listStylePosition:!0,listStylePos:Q.prop("listStylePosition"),listStyleImage:!0,listStyleImg:Q.prop("listStyleImage")};function H5e(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},q5e=W5e(H5e),K5e={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},X5e={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},Xx=(e,t,n)=>{const r={},i=q5e(e,t,{});for(const o in i)o in n&&n[o]!=null||(r[o]=i[o]);return r},Y5e={srOnly:{transform(e){return e===!0?K5e:e==="focusable"?X5e:{}}},layerStyle:{processResult:!0,transform:(e,t,n)=>Xx(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>Xx(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>Xx(t,e,n)}},Rp={position:!0,pos:Q.prop("position"),zIndex:Q.prop("zIndex","zIndices"),inset:Q.spaceT("inset"),insetX:Q.spaceT(["left","right"]),insetInline:Q.spaceT("insetInline"),insetY:Q.spaceT(["top","bottom"]),insetBlock:Q.spaceT("insetBlock"),top:Q.spaceT("top"),insetBlockStart:Q.spaceT("insetBlockStart"),bottom:Q.spaceT("bottom"),insetBlockEnd:Q.spaceT("insetBlockEnd"),left:Q.spaceT("left"),insetInlineStart:Q.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:Q.spaceT("right"),insetInlineEnd:Q.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(Rp,{insetStart:Rp.insetInlineStart,insetEnd:Rp.insetInlineEnd});var Q5e={ring:{transform:bt.ring},ringColor:Q.colors("--chakra-ring-color"),ringOffset:Q.prop("--chakra-ring-offset-width"),ringOffsetColor:Q.colors("--chakra-ring-offset-color"),ringInset:Q.prop("--chakra-ring-inset")},tn={margin:Q.spaceT("margin"),marginTop:Q.spaceT("marginTop"),marginBlockStart:Q.spaceT("marginBlockStart"),marginRight:Q.spaceT("marginRight"),marginInlineEnd:Q.spaceT("marginInlineEnd"),marginBottom:Q.spaceT("marginBottom"),marginBlockEnd:Q.spaceT("marginBlockEnd"),marginLeft:Q.spaceT("marginLeft"),marginInlineStart:Q.spaceT("marginInlineStart"),marginX:Q.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:Q.spaceT("marginInline"),marginY:Q.spaceT(["marginTop","marginBottom"]),marginBlock:Q.spaceT("marginBlock"),padding:Q.space("padding"),paddingTop:Q.space("paddingTop"),paddingBlockStart:Q.space("paddingBlockStart"),paddingRight:Q.space("paddingRight"),paddingBottom:Q.space("paddingBottom"),paddingBlockEnd:Q.space("paddingBlockEnd"),paddingLeft:Q.space("paddingLeft"),paddingInlineStart:Q.space("paddingInlineStart"),paddingInlineEnd:Q.space("paddingInlineEnd"),paddingX:Q.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:Q.space("paddingInline"),paddingY:Q.space(["paddingTop","paddingBottom"]),paddingBlock:Q.space("paddingBlock")};Object.assign(tn,{m:tn.margin,mt:tn.marginTop,mr:tn.marginRight,me:tn.marginInlineEnd,marginEnd:tn.marginInlineEnd,mb:tn.marginBottom,ml:tn.marginLeft,ms:tn.marginInlineStart,marginStart:tn.marginInlineStart,mx:tn.marginX,my:tn.marginY,p:tn.padding,pt:tn.paddingTop,py:tn.paddingY,px:tn.paddingX,pb:tn.paddingBottom,pl:tn.paddingLeft,ps:tn.paddingInlineStart,paddingStart:tn.paddingInlineStart,pr:tn.paddingRight,pe:tn.paddingInlineEnd,paddingEnd:tn.paddingInlineEnd});var Z5e={textDecorationColor:Q.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:Q.shadows("textShadow")},J5e={clipPath:!0,transform:Q.propT("transform",bt.transform),transformOrigin:!0,translateX:Q.spaceT("--chakra-translate-x"),translateY:Q.spaceT("--chakra-translate-y"),skewX:Q.degreeT("--chakra-skew-x"),skewY:Q.degreeT("--chakra-skew-y"),scaleX:Q.prop("--chakra-scale-x"),scaleY:Q.prop("--chakra-scale-y"),scale:Q.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:Q.degreeT("--chakra-rotate")},e4e={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:Q.prop("transitionDuration","transition.duration"),transitionProperty:Q.prop("transitionProperty","transition.property"),transitionTimingFunction:Q.prop("transitionTimingFunction","transition.easing")},t4e={fontFamily:Q.prop("fontFamily","fonts"),fontSize:Q.prop("fontSize","fontSizes",bt.px),fontWeight:Q.prop("fontWeight","fontWeights"),lineHeight:Q.prop("lineHeight","lineHeights"),letterSpacing:Q.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,textIndent:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,isTruncated:{transform(e){if(e===!0)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},n4e={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:Q.spaceT("scrollMargin"),scrollMarginTop:Q.spaceT("scrollMarginTop"),scrollMarginBottom:Q.spaceT("scrollMarginBottom"),scrollMarginLeft:Q.spaceT("scrollMarginLeft"),scrollMarginRight:Q.spaceT("scrollMarginRight"),scrollMarginX:Q.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:Q.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:Q.spaceT("scrollPadding"),scrollPaddingTop:Q.spaceT("scrollPaddingTop"),scrollPaddingBottom:Q.spaceT("scrollPaddingBottom"),scrollPaddingLeft:Q.spaceT("scrollPaddingLeft"),scrollPaddingRight:Q.spaceT("scrollPaddingRight"),scrollPaddingX:Q.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:Q.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function aV(e){return ba(e)&&e.reference?e.reference:String(e)}var t2=(e,...t)=>t.map(aV).join(` ${e} `).replace(/calc/g,""),zk=(...e)=>`calc(${t2("+",...e)})`,Vk=(...e)=>`calc(${t2("-",...e)})`,C5=(...e)=>`calc(${t2("*",...e)})`,jk=(...e)=>`calc(${t2("/",...e)})`,Gk=e=>{const t=aV(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:C5(t,-1)},ku=Object.assign(e=>({add:(...t)=>ku(zk(e,...t)),subtract:(...t)=>ku(Vk(e,...t)),multiply:(...t)=>ku(C5(e,...t)),divide:(...t)=>ku(jk(e,...t)),negate:()=>ku(Gk(e)),toString:()=>e.toString()}),{add:zk,subtract:Vk,multiply:C5,divide:jk,negate:Gk});function r4e(e,t="-"){return e.replace(/\s+/g,t)}function i4e(e){const t=r4e(e.toString());return s4e(o4e(t))}function o4e(e){return e.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?e.replace(".","\\."):e}function s4e(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}function a4e(e,t=""){return[t,e].filter(Boolean).join("-")}function l4e(e,t){return`var(${e}${t?`, ${t}`:""})`}function u4e(e,t=""){return i4e(`--${a4e(e,t)}`)}function T5(e,t,n){const r=u4e(e,n);return{variable:r,reference:l4e(r,t)}}function gMe(e,t){const n={};for(const r of t){if(Array.isArray(r)){const[i,o]=r;n[i]=T5(`${e}-${i}`,o);continue}n[r]=T5(`${e}-${r}`)}return n}function c4e(e){const t=e==null?0:e.length;return t?e[t-1]:void 0}function d4e(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}function E5(e){if(e==null)return e;const{unitless:t}=d4e(e);return t||typeof e=="number"?`${e}px`:e}var lV=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,jE=e=>Object.fromEntries(Object.entries(e).sort(lV));function Hk(e){const t=jE(e);return Object.assign(Object.values(t),t)}function f4e(e){const t=Object.keys(jE(e));return new Set(t)}function Wk(e){var t;if(!e)return e;e=(t=E5(e))!=null?t:e;const n=-.02;return typeof e=="number"?`${e+n}`:e.replace(/(\d+\.?\d*)/u,r=>`${parseFloat(r)+n}`)}function pp(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${E5(e)})`),t&&n.push("and",`(max-width: ${E5(t)})`),n.join(" ")}function h4e(e){var t;if(!e)return null;e.base=(t=e.base)!=null?t:"0px";const n=Hk(e),r=Object.entries(e).sort(lV).map(([s,a],l,u)=>{var d;let[,f]=(d=u[l+1])!=null?d:[];return f=parseFloat(f)>0?Wk(f):void 0,{_minW:Wk(a),breakpoint:s,minW:a,maxW:f,maxWQuery:pp(null,f),minWQuery:pp(a),minMaxQuery:pp(a,f)}}),i=f4e(e),o=Array.from(i.values());return{keys:i,normalized:n,isResponsive(s){const a=Object.keys(s);return a.length>0&&a.every(l=>i.has(l))},asObject:jE(e),asArray:Hk(e),details:r,get(s){return r.find(a=>a.breakpoint===s)},media:[null,...n.map(s=>pp(s)).slice(1)],toArrayValue(s){if(!ba(s))throw new Error("toArrayValue: value must be an object");const a=o.map(l=>{var u;return(u=s[l])!=null?u:null});for(;c4e(a)===null;)a.pop();return a},toObjectValue(s){if(!Array.isArray(s))throw new Error("toObjectValue: value must be an array");return s.reduce((a,l,u)=>{const d=o[u];return d!=null&&l!=null&&(a[d]=l),a},{})}}}var Tr={hover:(e,t)=>`${e}:hover ${t}, ${e}[data-hover] ${t}`,focus:(e,t)=>`${e}:focus ${t}, ${e}[data-focus] ${t}`,focusVisible:(e,t)=>`${e}:focus-visible ${t}`,focusWithin:(e,t)=>`${e}:focus-within ${t}`,active:(e,t)=>`${e}:active ${t}, ${e}[data-active] ${t}`,disabled:(e,t)=>`${e}:disabled ${t}, ${e}[data-disabled] ${t}`,invalid:(e,t)=>`${e}:invalid ${t}, ${e}[data-invalid] ${t}`,checked:(e,t)=>`${e}:checked ${t}, ${e}[data-checked] ${t}`,indeterminate:(e,t)=>`${e}:indeterminate ${t}, ${e}[aria-checked=mixed] ${t}, ${e}[data-indeterminate] ${t}`,readOnly:(e,t)=>`${e}:read-only ${t}, ${e}[readonly] ${t}, ${e}[data-read-only] ${t}`,expanded:(e,t)=>`${e}:read-only ${t}, ${e}[aria-expanded=true] ${t}, ${e}[data-expanded] ${t}`,placeholderShown:(e,t)=>`${e}:placeholder-shown ${t}`},ol=e=>uV(t=>e(t,"&"),"[role=group]","[data-group]",".group"),ia=e=>uV(t=>e(t,"~ &"),"[data-peer]",".peer"),uV=(e,...t)=>t.map(e).join(", "),n2={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible, &[data-focus-visible]",_disabled:"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_firstLetter:"&::first-letter",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:ol(Tr.hover),_peerHover:ia(Tr.hover),_groupFocus:ol(Tr.focus),_peerFocus:ia(Tr.focus),_groupFocusVisible:ol(Tr.focusVisible),_peerFocusVisible:ia(Tr.focusVisible),_groupActive:ol(Tr.active),_peerActive:ia(Tr.active),_groupDisabled:ol(Tr.disabled),_peerDisabled:ia(Tr.disabled),_groupInvalid:ol(Tr.invalid),_peerInvalid:ia(Tr.invalid),_groupChecked:ol(Tr.checked),_peerChecked:ia(Tr.checked),_groupFocusWithin:ol(Tr.focusWithin),_peerFocusWithin:ia(Tr.focusWithin),_peerPlaceholderShown:ia(Tr.placeholderShown),_placeholder:"&::placeholder",_placeholderShown:"&:placeholder-shown",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &, &[dir=rtl]",_ltr:"[dir=ltr] &, &[dir=ltr]",_mediaDark:"@media (prefers-color-scheme: dark)",_mediaReduceMotion:"@media (prefers-reduced-motion: reduce)",_dark:".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",_light:".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]",_horizontal:"&[data-orientation=horizontal]",_vertical:"&[data-orientation=vertical]"},cV=Object.keys(n2);function qk(e,t){return T5(String(e).replace(/\./g,"-"),void 0,t)}function p4e(e,t){let n={};const r={};for(const[i,o]of Object.entries(e)){const{isSemantic:s,value:a}=o,{variable:l,reference:u}=qk(i,t==null?void 0:t.cssVarPrefix);if(!s){if(i.startsWith("space")){const p=i.split("."),[g,...m]=p,v=`${g}.-${m.join(".")}`,x=ku.negate(a),_=ku.negate(u);r[v]={value:x,var:l,varRef:_}}n[l]=a,r[i]={value:a,var:l,varRef:u};continue}const d=p=>{const m=[String(i).split(".")[0],p].join(".");if(!e[m])return p;const{reference:x}=qk(m,t==null?void 0:t.cssVarPrefix);return x},f=ba(a)?a:{default:a};n=Ts(n,Object.entries(f).reduce((p,[g,m])=>{var v,x;if(!m)return p;const _=d(`${m}`);if(g==="default")return p[l]=_,p;const b=(x=(v=n2)==null?void 0:v[g])!=null?x:g;return p[b]={[l]:_},p},{})),r[i]={value:u,var:l,varRef:u}}return{cssVars:n,cssMap:r}}function g4e(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function m4e(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function y4e(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}function Kk(e,t,n={}){const{stop:r,getKey:i}=n;function o(s,a=[]){var l;if(y4e(s)||Array.isArray(s)){const u={};for(const[d,f]of Object.entries(s)){const p=(l=i==null?void 0:i(d))!=null?l:d,g=[...a,p];if(r!=null&&r(s,g))return t(s,a);u[p]=o(f,g)}return u}return t(s,a)}return o(e)}var v4e=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","gradients","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur","breakpoints"];function _4e(e){return m4e(e,v4e)}function b4e(e){return e.semanticTokens}function S4e(e){const{__cssMap:t,__cssVars:n,__breakpoints:r,...i}=e;return i}var w4e=e=>cV.includes(e)||e==="default";function x4e({tokens:e,semanticTokens:t}){const n={};return Kk(e,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!1,value:r})}),Kk(t,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!0,value:r})},{stop:r=>Object.keys(r).every(w4e)}),n}function mMe(e){var t;const n=S4e(e),r=_4e(n),i=b4e(n),o=x4e({tokens:r,semanticTokens:i}),s=(t=n.config)==null?void 0:t.cssVarPrefix,{cssMap:a,cssVars:l}=p4e(o,{cssVarPrefix:s});return Object.assign(n,{__cssVars:{...{"--chakra-ring-inset":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-ring-offset-width":"0px","--chakra-ring-offset-color":"#fff","--chakra-ring-color":"rgba(66, 153, 225, 0.6)","--chakra-ring-offset-shadow":"0 0 #0000","--chakra-ring-shadow":"0 0 #0000","--chakra-space-x-reverse":"0","--chakra-space-y-reverse":"0"},...l},__cssMap:a,__breakpoints:h4e(n.breakpoints)}),n}var GE=Ts({},Pv,Tt,z5e,o_,ho,V5e,Q5e,j5e,sV,Y5e,Rp,x5,tn,n4e,t4e,Z5e,J5e,G5e,e4e),C4e=Object.assign({},tn,ho,o_,sV,Rp),yMe=Object.keys(C4e),T4e=[...Object.keys(GE),...cV],E4e={...GE,...n2},A4e=e=>e in E4e,P4e=e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:i}=t.__breakpoints,o={};for(const s in e){let a=Fu(e[s],t);if(a==null)continue;if(a=ba(a)&&n(a)?r(a):a,!Array.isArray(a)){o[s]=a;continue}const l=a.slice(0,i.length).length;for(let u=0;ue.startsWith("--")&&typeof t=="string"&&!O4e(t),I4e=(e,t)=>{var n,r;if(t==null)return t;const i=l=>{var u,d;return(d=(u=e.__cssMap)==null?void 0:u[l])==null?void 0:d.varRef},o=l=>{var u;return(u=i(l))!=null?u:l},[s,a]=R4e(t);return t=(r=(n=i(s))!=null?n:o(a))!=null?r:o(t),t};function M4e(e){const{configs:t={},pseudos:n={},theme:r}=e,i=(o,s=!1)=>{var a,l,u;const d=Fu(o,r),f=P4e(d)(r);let p={};for(let g in f){const m=f[g];let v=Fu(m,r);g in n&&(g=n[g]),k4e(g,v)&&(v=I4e(r,v));let x=t[g];if(x===!0&&(x={property:g}),ba(v)){p[g]=(a=p[g])!=null?a:{},p[g]=Ts({},p[g],i(v,!0));continue}let _=(u=(l=x==null?void 0:x.transform)==null?void 0:l.call(x,v,r,d))!=null?u:v;_=x!=null&&x.processResult?i(_,!0):_;const b=Fu(x==null?void 0:x.property,r);if(!s&&(x!=null&&x.static)){const y=Fu(x.static,r);p=Ts({},p,y)}if(b&&Array.isArray(b)){for(const y of b)p[y]=_;continue}if(b){b==="&"&&ba(_)?p=Ts({},p,_):p[b]=_;continue}if(ba(_)){p=Ts({},p,_);continue}p[g]=_}return p};return i}var N4e=e=>t=>M4e({theme:t,pseudos:n2,configs:GE})(e);function vMe(e){return e}function _Me(e){return e}function bMe(e){return{definePartsStyle(t){return t},defineMultiStyleConfig(t){return{parts:e,...t}}}}function L4e(e,t){if(Array.isArray(e))return e;if(ba(e))return t(e);if(e!=null)return[e]}function D4e(e,t){for(let n=t+1;n{Ts(u,{[y]:p?b[y]:{[_]:b[y]}})});continue}if(!g){p?Ts(u,b):u[_]=b;continue}u[_]=b}}return u}}function F4e(e){return t=>{var n;const{variant:r,size:i,theme:o}=t,s=$4e(o);return Ts({},Fu((n=e.baseStyle)!=null?n:{},t),s(e,"sizes",i,t),s(e,"variants",r,t))}}function SMe(e,t,n){var r,i,o;return(o=(i=(r=e.__cssMap)==null?void 0:r[`${t}.${n}`])==null?void 0:i.varRef)!=null?o:n}function dV(e){return g4e(e,["styleConfig","size","variant","colorScheme"])}function B4e(e,t){const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}function U4e(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},V4e=z4e(U4e);function fV(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r];t(i,r,e)&&(n[r]=i)}),n}var hV=e=>fV(e,t=>t!=null);function j4e(e){return typeof e=="function"}function G4e(e,...t){return j4e(e)?e(...t):e}function wMe(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}var H4e=typeof Element<"u",W4e=typeof Map=="function",q4e=typeof Set=="function",K4e=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Rv(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,r,i;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Rv(e[r],t[r]))return!1;return!0}var o;if(W4e&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;for(o=e.entries();!(r=o.next()).done;)if(!Rv(r.value[1],t.get(r.value[0])))return!1;return!0}if(q4e&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(K4e&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;if(H4e&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!Rv(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var X4e=function(t,n){try{return Rv(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const Y4e=dc(X4e);function pV(e,t={}){var n;const{styleConfig:r,...i}=t,{theme:o,colorMode:s}=v5e(),a=e?V4e(o,`components.${e}`):void 0,l=r||a,u=Ts({theme:o,colorMode:s},(n=l==null?void 0:l.defaultProps)!=null?n:{},hV(B4e(i,["children"]))),d=L.useRef({});if(l){const p=F4e(l)(u);Y4e(d.current,p)||(d.current=p)}return d.current}function gV(e,t={}){return pV(e,t)}function xMe(e,t={}){return pV(e,t)}var Q4e=new Set([...T4e,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),Z4e=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function J4e(e){return Z4e.has(e)||!Q4e.has(e)}function eTe(e,...t){if(e==null)throw new TypeError("Cannot convert undefined or null to object");const n={...e};for(const r of t)if(r!=null)for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&(i in n&&delete n[i],n[i]=r[i]);return n}var tTe=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,nTe=Kz(function(e){return tTe.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),rTe=nTe,iTe=function(t){return t!=="theme"},Xk=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?rTe:iTe},Yk=function(t,n,r){var i;if(n){var o=n.shouldForwardProp;i=t.__emotion_forwardProp&&o?function(s){return t.__emotion_forwardProp(s)&&o(s)}:o}return typeof i!="function"&&r&&(i=t.__emotion_forwardProp),i},oTe=function(t){var n=t.cache,r=t.serialized,i=t.isStringTag;return Yz(n,r,i),f5e(function(){return Qz(n,r,i)}),null},sTe=function e(t,n){var r=t.__emotion_real===t,i=r&&t.__emotion_base||t,o,s;n!==void 0&&(o=n.label,s=n.target);var a=Yk(t,n,r),l=a||Xk(i),u=!l("as");return function(){var d=arguments,f=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&f.push("label:"+o+";"),d[0]==null||d[0].raw===void 0)f.push.apply(f,d);else{f.push(d[0][0]);for(var p=d.length,g=1;gt=>{const{theme:n,css:r,__css:i,sx:o,...s}=t,a=fV(s,(f,p)=>A4e(p)),l=G4e(e,t),u=eTe({},i,l,hV(a),o),d=N4e(u)(t.theme);return r?[d,r]:d};function Yx(e,t){const{baseStyle:n,...r}=t??{};r.shouldForwardProp||(r.shouldForwardProp=J4e);const i=uTe({baseStyle:n}),o=lTe(e,r)(i);return Lt.forwardRef(function(l,u){const{colorMode:d,forced:f}=zE();return Lt.createElement(o,{ref:u,"data-theme":f?d:void 0,...l})})}function cTe(){const e=new Map;return new Proxy(Yx,{apply(t,n,r){return Yx(...r)},get(t,n){return e.has(n)||e.set(n,Yx(n)),e.get(n)}})}var cc=cTe();function Pc(e){return L.forwardRef(e)}const mV=L.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),r2=L.createContext({}),Lm=L.createContext(null),i2=typeof document<"u",a_=i2?L.useLayoutEffect:L.useEffect,yV=L.createContext({strict:!1});function dTe(e,t,n,r){const{visualElement:i}=L.useContext(r2),o=L.useContext(yV),s=L.useContext(Lm),a=L.useContext(mV).reducedMotion,l=L.useRef();r=r||o.renderer,!l.current&&r&&(l.current=r(e,{visualState:t,parent:i,props:n,presenceContext:s,blockInitialAnimation:s?s.initial===!1:!1,reducedMotionConfig:a}));const u=l.current;return L.useInsertionEffect(()=>{u&&u.update(n,s)}),a_(()=>{u&&u.render()}),L.useEffect(()=>{u&&u.updateFeatures()}),(window.HandoffAppearAnimations?a_:L.useEffect)(()=>{u&&u.animationState&&u.animationState.animateChanges()}),u}function $d(e){return typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function fTe(e,t,n){return L.useCallback(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):$d(n)&&(n.current=r))},[t])}function zg(e){return typeof e=="string"||Array.isArray(e)}function o2(e){return typeof e=="object"&&typeof e.start=="function"}const HE=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],WE=["initial",...HE];function s2(e){return o2(e.animate)||WE.some(t=>zg(e[t]))}function vV(e){return!!(s2(e)||e.variants)}function hTe(e,t){if(s2(e)){const{initial:n,animate:r}=e;return{initial:n===!1||zg(n)?n:void 0,animate:zg(r)?r:void 0}}return e.inherit!==!1?t:{}}function pTe(e){const{initial:t,animate:n}=hTe(e,L.useContext(r2));return L.useMemo(()=>({initial:t,animate:n}),[Zk(t),Zk(n)])}function Zk(e){return Array.isArray(e)?e.join(" "):e}const Jk={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},Vg={};for(const e in Jk)Vg[e]={isEnabled:t=>Jk[e].some(n=>!!t[n])};function gTe(e){for(const t in e)Vg[t]={...Vg[t],...e[t]}}const qE=L.createContext({}),_V=L.createContext({}),mTe=Symbol.for("motionComponentSymbol");function yTe({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:i}){e&&gTe(e);function o(a,l){let u;const d={...L.useContext(mV),...a,layoutId:vTe(a)},{isStatic:f}=d,p=pTe(a),g=r(a,f);if(!f&&i2){p.visualElement=dTe(i,g,d,t);const m=L.useContext(_V),v=L.useContext(yV).strict;p.visualElement&&(u=p.visualElement.loadFeatures(d,v,e,m))}return L.createElement(r2.Provider,{value:p},u&&p.visualElement?L.createElement(u,{visualElement:p.visualElement,...d}):null,n(i,a,fTe(g,p.visualElement,l),g,f,p.visualElement))}const s=L.forwardRef(o);return s[mTe]=i,s}function vTe({layoutId:e}){const t=L.useContext(qE).id;return t&&e!==void 0?t+"-"+e:e}function _Te(e){function t(r,i={}){return yTe(e(r,i))}if(typeof Proxy>"u")return t;const n=new Map;return new Proxy(t,{get:(r,i)=>(n.has(i)||n.set(i,t(i)),n.get(i))})}const bTe=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function KE(e){return typeof e!="string"||e.includes("-")?!1:!!(bTe.indexOf(e)>-1||/[A-Z]/.test(e))}const l_={};function STe(e){Object.assign(l_,e)}const Dm=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Rc=new Set(Dm);function bV(e,{layout:t,layoutId:n}){return Rc.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!l_[e]||e==="opacity")}const ki=e=>!!(e&&e.getVelocity),wTe={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},xTe=Dm.length;function CTe(e,{enableHardwareAcceleration:t=!0,allowTransformNone:n=!0},r,i){let o="";for(let s=0;st=>typeof t=="string"&&t.startsWith(e),wV=SV("--"),A5=SV("var(--"),TTe=/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,ETe=(e,t)=>t&&typeof e=="number"?t.transform(e):e,ql=(e,t,n)=>Math.min(Math.max(n,e),t),Oc={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Op={...Oc,transform:e=>ql(0,1,e)},G0={...Oc,default:1},kp=e=>Math.round(e*1e5)/1e5,a2=/(-)?([\d]*\.?[\d])+/g,xV=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,ATe=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function $m(e){return typeof e=="string"}const Fm=e=>({test:t=>$m(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),al=Fm("deg"),Is=Fm("%"),Be=Fm("px"),PTe=Fm("vh"),RTe=Fm("vw"),eI={...Is,parse:e=>Is.parse(e)/100,transform:e=>Is.transform(e*100)},tI={...Oc,transform:Math.round},CV={borderWidth:Be,borderTopWidth:Be,borderRightWidth:Be,borderBottomWidth:Be,borderLeftWidth:Be,borderRadius:Be,radius:Be,borderTopLeftRadius:Be,borderTopRightRadius:Be,borderBottomRightRadius:Be,borderBottomLeftRadius:Be,width:Be,maxWidth:Be,height:Be,maxHeight:Be,size:Be,top:Be,right:Be,bottom:Be,left:Be,padding:Be,paddingTop:Be,paddingRight:Be,paddingBottom:Be,paddingLeft:Be,margin:Be,marginTop:Be,marginRight:Be,marginBottom:Be,marginLeft:Be,rotate:al,rotateX:al,rotateY:al,rotateZ:al,scale:G0,scaleX:G0,scaleY:G0,scaleZ:G0,skew:al,skewX:al,skewY:al,distance:Be,translateX:Be,translateY:Be,translateZ:Be,x:Be,y:Be,z:Be,perspective:Be,transformPerspective:Be,opacity:Op,originX:eI,originY:eI,originZ:Be,zIndex:tI,fillOpacity:Op,strokeOpacity:Op,numOctaves:tI};function XE(e,t,n,r){const{style:i,vars:o,transform:s,transformOrigin:a}=e;let l=!1,u=!1,d=!0;for(const f in t){const p=t[f];if(wV(f)){o[f]=p;continue}const g=CV[f],m=ETe(p,g);if(Rc.has(f)){if(l=!0,s[f]=m,!d)continue;p!==(g.default||0)&&(d=!1)}else f.startsWith("origin")?(u=!0,a[f]=m):i[f]=m}if(t.transform||(l||r?i.transform=CTe(e.transform,n,d,r):i.transform&&(i.transform="none")),u){const{originX:f="50%",originY:p="50%",originZ:g=0}=a;i.transformOrigin=`${f} ${p} ${g}`}}const YE=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function TV(e,t,n){for(const r in t)!ki(t[r])&&!bV(r,n)&&(e[r]=t[r])}function OTe({transformTemplate:e},t,n){return L.useMemo(()=>{const r=YE();return XE(r,t,{enableHardwareAcceleration:!n},e),Object.assign({},r.vars,r.style)},[t])}function kTe(e,t,n){const r=e.style||{},i={};return TV(i,r,e),Object.assign(i,OTe(e,t,n)),e.transformValues?e.transformValues(i):i}function ITe(e,t,n){const r={},i=kTe(e,t,n);return e.drag&&e.dragListener!==!1&&(r.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(r.tabIndex=0),r.style=i,r}const MTe=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","ignoreStrict","viewport"]);function u_(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||MTe.has(e)}let EV=e=>!u_(e);function NTe(e){e&&(EV=t=>t.startsWith("on")?!u_(t):e(t))}try{NTe(require("@emotion/is-prop-valid").default)}catch{}function LTe(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(EV(i)||n===!0&&u_(i)||!t&&!u_(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function nI(e,t,n){return typeof e=="string"?e:Be.transform(t+n*e)}function DTe(e,t,n){const r=nI(t,e.x,e.width),i=nI(n,e.y,e.height);return`${r} ${i}`}const $Te={offset:"stroke-dashoffset",array:"stroke-dasharray"},FTe={offset:"strokeDashoffset",array:"strokeDasharray"};function BTe(e,t,n=1,r=0,i=!0){e.pathLength=1;const o=i?$Te:FTe;e[o.offset]=Be.transform(-r);const s=Be.transform(t),a=Be.transform(n);e[o.array]=`${s} ${a}`}function QE(e,{attrX:t,attrY:n,attrScale:r,originX:i,originY:o,pathLength:s,pathSpacing:a=1,pathOffset:l=0,...u},d,f,p){if(XE(e,u,d,p),f){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:g,style:m,dimensions:v}=e;g.transform&&(v&&(m.transform=g.transform),delete g.transform),v&&(i!==void 0||o!==void 0||m.transform)&&(m.transformOrigin=DTe(v,i!==void 0?i:.5,o!==void 0?o:.5)),t!==void 0&&(g.x=t),n!==void 0&&(g.y=n),r!==void 0&&(g.scale=r),s!==void 0&&BTe(g,s,a,l,!1)}const AV=()=>({...YE(),attrs:{}}),ZE=e=>typeof e=="string"&&e.toLowerCase()==="svg";function UTe(e,t,n,r){const i=L.useMemo(()=>{const o=AV();return QE(o,t,{enableHardwareAcceleration:!1},ZE(r),e.transformTemplate),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};TV(o,e.style,e),i.style={...o,...i.style}}return i}function zTe(e=!1){return(n,r,i,{latestValues:o},s)=>{const l=(KE(n)?UTe:ITe)(r,o,s,n),d={...LTe(r,typeof n=="string",e),...l,ref:i},{children:f}=r,p=L.useMemo(()=>ki(f)?f.get():f,[f]);return L.createElement(n,{...d,children:p})}}const JE=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function PV(e,{style:t,vars:n},r,i){Object.assign(e.style,t,i&&i.getProjectionStyles(r));for(const o in n)e.style.setProperty(o,n[o])}const RV=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function OV(e,t,n,r){PV(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(RV.has(i)?i:JE(i),t.attrs[i])}function e6(e,t){const{style:n}=e,r={};for(const i in n)(ki(n[i])||t.style&&ki(t.style[i])||bV(i,e))&&(r[i]=n[i]);return r}function kV(e,t){const n=e6(e,t);for(const r in e)if(ki(e[r])||ki(t[r])){const i=Dm.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;n[i]=e[r]}return n}function t6(e,t,n,r={},i={}){return typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),t}function IV(e){const t=L.useRef(null);return t.current===null&&(t.current=e()),t.current}const c_=e=>Array.isArray(e),VTe=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),jTe=e=>c_(e)?e[e.length-1]||0:e;function Ov(e){const t=ki(e)?e.get():e;return VTe(t)?t.toValue():t}function GTe({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,o){const s={latestValues:HTe(r,i,o,e),renderState:t()};return n&&(s.mount=a=>n(r,a,s)),s}const MV=e=>(t,n)=>{const r=L.useContext(r2),i=L.useContext(Lm),o=()=>GTe(e,t,r,i);return n?o():IV(o)};function HTe(e,t,n,r){const i={},o=r(e,{});for(const p in o)i[p]=Ov(o[p]);let{initial:s,animate:a}=e;const l=s2(e),u=vV(e);t&&u&&!l&&e.inherit!==!1&&(s===void 0&&(s=t.initial),a===void 0&&(a=t.animate));let d=n?n.initial===!1:!1;d=d||s===!1;const f=d?a:s;return f&&typeof f!="boolean"&&!o2(f)&&(Array.isArray(f)?f:[f]).forEach(g=>{const m=t6(e,g);if(!m)return;const{transitionEnd:v,transition:x,..._}=m;for(const b in _){let y=_[b];if(Array.isArray(y)){const S=d?y.length-1:0;y=y[S]}y!==null&&(i[b]=y)}for(const b in v)i[b]=v[b]}),i}const WTe={useVisualState:MV({scrapeMotionValuesFromProps:kV,createRenderState:AV,onMount:(e,t,{renderState:n,latestValues:r})=>{try{n.dimensions=typeof t.getBBox=="function"?t.getBBox():t.getBoundingClientRect()}catch{n.dimensions={x:0,y:0,width:0,height:0}}QE(n,r,{enableHardwareAcceleration:!1},ZE(t.tagName),e.transformTemplate),OV(t,n)}})},qTe={useVisualState:MV({scrapeMotionValuesFromProps:e6,createRenderState:YE})};function KTe(e,{forwardMotionProps:t=!1},n,r){return{...KE(e)?WTe:qTe,preloadedFeatures:n,useRender:zTe(t),createVisualElement:r,Component:e}}function ma(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const NV=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function l2(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const XTe=e=>t=>NV(t)&&e(t,l2(t));function Sa(e,t,n,r){return ma(e,t,XTe(n),r)}const YTe=(e,t)=>n=>t(e(n)),Ml=(...e)=>e.reduce(YTe);function LV(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const rI=LV("dragHorizontal"),iI=LV("dragVertical");function DV(e){let t=!1;if(e==="y")t=iI();else if(e==="x")t=rI();else{const n=rI(),r=iI();n&&r?t=()=>{n(),r()}:(n&&n(),r&&r())}return t}function $V(){const e=DV(!0);return e?(e(),!1):!0}class lu{constructor(t){this.isMounted=!1,this.node=t}update(){}}const jn=e=>e;function QTe(e){let t=[],n=[],r=0,i=!1,o=!1;const s=new WeakSet,a={schedule:(l,u=!1,d=!1)=>{const f=d&&i,p=f?t:n;return u&&s.add(l),p.indexOf(l)===-1&&(p.push(l),f&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),s.delete(l)},process:l=>{if(i){o=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let u=0;u(f[p]=QTe(()=>n=!0),f),{}),s=f=>o[f].process(i),a=f=>{n=!1,i.delta=r?1e3/60:Math.max(Math.min(f-i.timestamp,ZTe),1),i.timestamp=f,i.isProcessing=!0,H0.forEach(s),i.isProcessing=!1,n&&t&&(r=!1,e(a))},l=()=>{n=!0,r=!0,i.isProcessing||e(a)};return{schedule:H0.reduce((f,p)=>{const g=o[p];return f[p]=(m,v=!1,x=!1)=>(n||l(),g.schedule(m,v,x)),f},{}),cancel:f=>H0.forEach(p=>o[p].cancel(f)),state:i,steps:o}}const{schedule:dn,cancel:ka,state:Vr,steps:Qx}=JTe(typeof requestAnimationFrame<"u"?requestAnimationFrame:jn,!0);function oI(e,t){const n="pointer"+(t?"enter":"leave"),r="onHover"+(t?"Start":"End"),i=(o,s)=>{if(o.type==="touch"||$V())return;const a=e.getProps();e.animationState&&a.whileHover&&e.animationState.setActive("whileHover",t),a[r]&&dn.update(()=>a[r](o,s))};return Sa(e.current,n,i,{passive:!e.getProps()[r]})}class eEe extends lu{mount(){this.unmount=Ml(oI(this.node,!0),oI(this.node,!1))}unmount(){}}class tEe extends lu{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Ml(ma(this.node.current,"focus",()=>this.onFocus()),ma(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const FV=(e,t)=>t?e===t?!0:FV(e,t.parentElement):!1;function Zx(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,l2(n))}class nEe extends lu{constructor(){super(...arguments),this.removeStartListeners=jn,this.removeEndListeners=jn,this.removeAccessibleListeners=jn,this.startPointerPress=(t,n)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),o=Sa(window,"pointerup",(a,l)=>{if(!this.checkPressEnd())return;const{onTap:u,onTapCancel:d}=this.node.getProps();dn.update(()=>{FV(this.node.current,a.target)?u&&u(a,l):d&&d(a,l)})},{passive:!(r.onTap||r.onPointerUp)}),s=Sa(window,"pointercancel",(a,l)=>this.cancelPress(a,l),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=Ml(o,s),this.startPress(t,n)},this.startAccessiblePress=()=>{const t=o=>{if(o.key!=="Enter"||this.isPressing)return;const s=a=>{a.key!=="Enter"||!this.checkPressEnd()||Zx("up",(l,u)=>{const{onTap:d}=this.node.getProps();d&&dn.update(()=>d(l,u))})};this.removeEndListeners(),this.removeEndListeners=ma(this.node.current,"keyup",s),Zx("down",(a,l)=>{this.startPress(a,l)})},n=ma(this.node.current,"keydown",t),r=()=>{this.isPressing&&Zx("cancel",(o,s)=>this.cancelPress(o,s))},i=ma(this.node.current,"blur",r);this.removeAccessibleListeners=Ml(n,i)}}startPress(t,n){this.isPressing=!0;const{onTapStart:r,whileTap:i}=this.node.getProps();i&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),r&&dn.update(()=>r(t,n))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!$V()}cancelPress(t,n){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&dn.update(()=>r(t,n))}mount(){const t=this.node.getProps(),n=Sa(this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),r=ma(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=Ml(n,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const P5=new WeakMap,Jx=new WeakMap,rEe=e=>{const t=P5.get(e.target);t&&t(e)},iEe=e=>{e.forEach(rEe)};function oEe({root:e,...t}){const n=e||document;Jx.has(n)||Jx.set(n,{});const r=Jx.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(iEe,{root:e,...t})),r[i]}function sEe(e,t,n){const r=oEe(t);return P5.set(e,n),r.observe(e),()=>{P5.delete(e),r.unobserve(e)}}const aEe={some:0,all:1};class lEe extends lu{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:o}=t,s={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:aEe[i]},a=l=>{const{isIntersecting:u}=l;if(this.isInView===u||(this.isInView=u,o&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:d,onViewportLeave:f}=this.node.getProps(),p=u?d:f;p&&p(l)};return sEe(this.node.current,s,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(uEe(t,n))&&this.startObserver()}unmount(){}}function uEe({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const cEe={inView:{Feature:lEe},tap:{Feature:nEe},focus:{Feature:tEe},hover:{Feature:eEe}};function BV(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;rt[r]=n.get()),t}function fEe(e){const t={};return e.values.forEach((n,r)=>t[r]=n.getVelocity()),t}function u2(e,t,n){const r=e.getProps();return t6(r,t,n!==void 0?n:r.custom,dEe(e),fEe(e))}const hEe="framerAppearId",pEe="data-"+JE(hEe);let gEe=jn,n6=jn;const Nl=e=>e*1e3,wa=e=>e/1e3,mEe={current:!1},UV=e=>Array.isArray(e)&&typeof e[0]=="number";function zV(e){return!!(!e||typeof e=="string"&&VV[e]||UV(e)||Array.isArray(e)&&e.every(zV))}const gp=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,VV={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:gp([0,.65,.55,1]),circOut:gp([.55,0,1,.45]),backIn:gp([.31,.01,.66,-.59]),backOut:gp([.33,1.53,.69,.99])};function jV(e){if(e)return UV(e)?gp(e):Array.isArray(e)?e.map(jV):VV[e]}function yEe(e,t,n,{delay:r=0,duration:i,repeat:o=0,repeatType:s="loop",ease:a,times:l}={}){const u={[t]:n};l&&(u.offset=l);const d=jV(a);return Array.isArray(d)&&(u.easing=d),e.animate(u,{delay:r,duration:i,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:o+1,direction:s==="reverse"?"alternate":"normal"})}const sI={waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate")},eC={},GV={};for(const e in sI)GV[e]=()=>(eC[e]===void 0&&(eC[e]=sI[e]()),eC[e]);function vEe(e,{repeat:t,repeatType:n="loop"}){const r=t&&n!=="loop"&&t%2===1?0:e.length-1;return e[r]}const HV=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,_Ee=1e-7,bEe=12;function SEe(e,t,n,r,i){let o,s,a=0;do s=t+(n-t)/2,o=HV(s,r,i)-e,o>0?n=s:t=s;while(Math.abs(o)>_Ee&&++aSEe(o,0,1,e,n);return o=>o===0||o===1?o:HV(i(o),t,r)}const wEe=Bm(.42,0,1,1),xEe=Bm(0,0,.58,1),WV=Bm(.42,0,.58,1),CEe=e=>Array.isArray(e)&&typeof e[0]!="number",qV=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,KV=e=>t=>1-e(1-t),XV=e=>1-Math.sin(Math.acos(e)),r6=KV(XV),TEe=qV(r6),YV=Bm(.33,1.53,.69,.99),i6=KV(YV),EEe=qV(i6),AEe=e=>(e*=2)<1?.5*i6(e):.5*(2-Math.pow(2,-10*(e-1))),PEe={linear:jn,easeIn:wEe,easeInOut:WV,easeOut:xEe,circIn:XV,circInOut:TEe,circOut:r6,backIn:i6,backInOut:EEe,backOut:YV,anticipate:AEe},aI=e=>{if(Array.isArray(e)){n6(e.length===4);const[t,n,r,i]=e;return Bm(t,n,r,i)}else if(typeof e=="string")return PEe[e];return e},o6=(e,t)=>n=>!!($m(n)&&ATe.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),QV=(e,t,n)=>r=>{if(!$m(r))return r;const[i,o,s,a]=r.match(a2);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(s),alpha:a!==void 0?parseFloat(a):1}},REe=e=>ql(0,255,e),tC={...Oc,transform:e=>Math.round(REe(e))},Bu={test:o6("rgb","red"),parse:QV("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+tC.transform(e)+", "+tC.transform(t)+", "+tC.transform(n)+", "+kp(Op.transform(r))+")"};function OEe(e){let t="",n="",r="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const R5={test:o6("#"),parse:OEe,transform:Bu.transform},Fd={test:o6("hsl","hue"),parse:QV("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+Is.transform(kp(t))+", "+Is.transform(kp(n))+", "+kp(Op.transform(r))+")"},ni={test:e=>Bu.test(e)||R5.test(e)||Fd.test(e),parse:e=>Bu.test(e)?Bu.parse(e):Fd.test(e)?Fd.parse(e):R5.parse(e),transform:e=>$m(e)?e:e.hasOwnProperty("red")?Bu.transform(e):Fd.transform(e)},vn=(e,t,n)=>-n*e+n*t+e;function nC(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function kEe({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,o=0,s=0;if(!t)i=o=s=n;else{const a=n<.5?n*(1+t):n+t-n*t,l=2*n-a;i=nC(l,a,e+1/3),o=nC(l,a,e),s=nC(l,a,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(s*255),alpha:r}}const rC=(e,t,n)=>{const r=e*e;return Math.sqrt(Math.max(0,n*(t*t-r)+r))},IEe=[R5,Bu,Fd],MEe=e=>IEe.find(t=>t.test(e));function lI(e){const t=MEe(e);let n=t.parse(e);return t===Fd&&(n=kEe(n)),n}const ZV=(e,t)=>{const n=lI(e),r=lI(t),i={...n};return o=>(i.red=rC(n.red,r.red,o),i.green=rC(n.green,r.green,o),i.blue=rC(n.blue,r.blue,o),i.alpha=vn(n.alpha,r.alpha,o),Bu.transform(i))};function NEe(e){var t,n;return isNaN(e)&&$m(e)&&(((t=e.match(a2))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(xV))===null||n===void 0?void 0:n.length)||0)>0}const JV={regex:TTe,countKey:"Vars",token:"${v}",parse:jn},ej={regex:xV,countKey:"Colors",token:"${c}",parse:ni.parse},tj={regex:a2,countKey:"Numbers",token:"${n}",parse:Oc.parse};function iC(e,{regex:t,countKey:n,token:r,parse:i}){const o=e.tokenised.match(t);o&&(e["num"+n]=o.length,e.tokenised=e.tokenised.replace(t,r),e.values.push(...o.map(i)))}function d_(e){const t=e.toString(),n={value:t,tokenised:t,values:[],numVars:0,numColors:0,numNumbers:0};return n.value.includes("var(--")&&iC(n,JV),iC(n,ej),iC(n,tj),n}function nj(e){return d_(e).values}function rj(e){const{values:t,numColors:n,numVars:r,tokenised:i}=d_(e),o=t.length;return s=>{let a=i;for(let l=0;ltypeof e=="number"?0:e;function DEe(e){const t=nj(e);return rj(e)(t.map(LEe))}const Kl={test:NEe,parse:nj,createTransformer:rj,getAnimatableNone:DEe},ij=(e,t)=>n=>`${n>0?t:e}`;function oj(e,t){return typeof e=="number"?n=>vn(e,t,n):ni.test(e)?ZV(e,t):e.startsWith("var(")?ij(e,t):aj(e,t)}const sj=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,s)=>oj(o,t[s]));return o=>{for(let s=0;s{const n={...e,...t},r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=oj(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}},aj=(e,t)=>{const n=Kl.createTransformer(t),r=d_(e),i=d_(t);return r.numVars===i.numVars&&r.numColors===i.numColors&&r.numNumbers>=i.numNumbers?Ml(sj(r.values,i.values),n):ij(e,t)},jg=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},uI=(e,t)=>n=>vn(e,t,n);function FEe(e){return typeof e=="number"?uI:typeof e=="string"?ni.test(e)?ZV:aj:Array.isArray(e)?sj:typeof e=="object"?$Ee:uI}function BEe(e,t,n){const r=[],i=n||FEe(e[0]),o=e.length-1;for(let s=0;st[0];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const s=BEe(t,r,i),a=s.length,l=u=>{let d=0;if(a>1)for(;dl(ql(e[0],e[o-1],u)):l}function UEe(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const i=jg(0,t,r);e.push(vn(n,1,i))}}function zEe(e){const t=[0];return UEe(t,e.length-1),t}function VEe(e,t){return e.map(n=>n*t)}function jEe(e,t){return e.map(()=>t||WV).splice(0,e.length-1)}function f_({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const i=CEe(r)?r.map(aI):aI(r),o={done:!1,value:t[0]},s=VEe(n&&n.length===t.length?n:zEe(t),e),a=lj(s,t,{ease:Array.isArray(i)?i:jEe(t,i)});return{calculatedDuration:e,next:l=>(o.value=a(l),o.done=l>=e,o)}}function uj(e,t){return t?e*(1e3/t):0}const GEe=5;function cj(e,t,n){const r=Math.max(t-GEe,0);return uj(n-e(r),t-r)}const oC=.001,HEe=.01,cI=10,WEe=.05,qEe=1;function KEe({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,o;gEe(e<=Nl(cI));let s=1-t;s=ql(WEe,qEe,s),e=ql(HEe,cI,wa(e)),s<1?(i=u=>{const d=u*s,f=d*e,p=d-n,g=O5(u,s),m=Math.exp(-f);return oC-p/g*m},o=u=>{const f=u*s*e,p=f*n+n,g=Math.pow(s,2)*Math.pow(u,2)*e,m=Math.exp(-f),v=O5(Math.pow(u,2),s);return(-i(u)+oC>0?-1:1)*((p-g)*m)/v}):(i=u=>{const d=Math.exp(-u*e),f=(u-n)*e+1;return-oC+d*f},o=u=>{const d=Math.exp(-u*e),f=(n-u)*(e*e);return d*f});const a=5/e,l=YEe(i,o,a);if(e=Nl(e),isNaN(l))return{stiffness:100,damping:10,duration:e};{const u=Math.pow(l,2)*r;return{stiffness:u,damping:s*2*Math.sqrt(r*u),duration:e}}}const XEe=12;function YEe(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function JEe(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!dI(e,ZEe)&&dI(e,QEe)){const n=KEe(e);t={...t,...n,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}function dj({keyframes:e,restDelta:t,restSpeed:n,...r}){const i=e[0],o=e[e.length-1],s={done:!1,value:i},{stiffness:a,damping:l,mass:u,velocity:d,duration:f,isResolvedFromDuration:p}=JEe(r),g=d?-wa(d):0,m=l/(2*Math.sqrt(a*u)),v=o-i,x=wa(Math.sqrt(a/u)),_=Math.abs(v)<5;n||(n=_?.01:2),t||(t=_?.005:.5);let b;if(m<1){const y=O5(x,m);b=S=>{const C=Math.exp(-m*x*S);return o-C*((g+m*x*v)/y*Math.sin(y*S)+v*Math.cos(y*S))}}else if(m===1)b=y=>o-Math.exp(-x*y)*(v+(g+x*v)*y);else{const y=x*Math.sqrt(m*m-1);b=S=>{const C=Math.exp(-m*x*S),T=Math.min(y*S,300);return o-C*((g+m*x*v)*Math.sinh(T)+y*v*Math.cosh(T))/y}}return{calculatedDuration:p&&f||null,next:y=>{const S=b(y);if(p)s.done=y>=f;else{let C=g;y!==0&&(m<1?C=cj(b,y,S):C=0);const T=Math.abs(C)<=n,E=Math.abs(o-S)<=t;s.done=T&&E}return s.value=s.done?o:S,s}}}function fI({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:o=500,modifyTarget:s,min:a,max:l,restDelta:u=.5,restSpeed:d}){const f=e[0],p={done:!1,value:f},g=P=>a!==void 0&&Pl,m=P=>a===void 0?l:l===void 0||Math.abs(a-P)-v*Math.exp(-P/r),y=P=>_+b(P),S=P=>{const k=b(P),O=y(P);p.done=Math.abs(k)<=u,p.value=p.done?_:O};let C,T;const E=P=>{g(p.value)&&(C=P,T=dj({keyframes:[p.value,m(p.value)],velocity:cj(y,P,p.value),damping:i,stiffness:o,restDelta:u,restSpeed:d}))};return E(0),{calculatedDuration:null,next:P=>{let k=!1;return!T&&C===void 0&&(k=!0,S(P),E(P)),C!==void 0&&P>C?T.next(P-C):(!k&&S(P),p)}}}const e6e=e=>{const t=({timestamp:n})=>e(n);return{start:()=>dn.update(t,!0),stop:()=>ka(t),now:()=>Vr.isProcessing?Vr.timestamp:performance.now()}},hI=2e4;function pI(e){let t=0;const n=50;let r=e.next(t);for(;!r.done&&t=hI?1/0:t}const t6e={decay:fI,inertia:fI,tween:f_,keyframes:f_,spring:dj};function h_({autoplay:e=!0,delay:t=0,driver:n=e6e,keyframes:r,type:i="keyframes",repeat:o=0,repeatDelay:s=0,repeatType:a="loop",onPlay:l,onStop:u,onComplete:d,onUpdate:f,...p}){let g=1,m=!1,v,x;const _=()=>{x=new Promise(q=>{v=q})};_();let b;const y=t6e[i]||f_;let S;y!==f_&&typeof r[0]!="number"&&(S=lj([0,100],r,{clamp:!1}),r=[0,100]);const C=y({...p,keyframes:r});let T;a==="mirror"&&(T=y({...p,keyframes:[...r].reverse(),velocity:-(p.velocity||0)}));let E="idle",P=null,k=null,O=null;C.calculatedDuration===null&&o&&(C.calculatedDuration=pI(C));const{calculatedDuration:M}=C;let G=1/0,U=1/0;M!==null&&(G=M+s,U=G*(o+1)-s);let A=0;const N=q=>{if(k===null)return;g>0&&(k=Math.min(k,q)),g<0&&(k=Math.min(q-U/g,k)),P!==null?A=P:A=Math.round(q-k)*g;const Z=A-t*(g>=0?1:-1),ee=g>=0?Z<0:Z>U;A=Math.max(Z,0),E==="finished"&&P===null&&(A=U);let ie=A,se=C;if(o){const fe=A/G;let pe=Math.floor(fe),ve=fe%1;!ve&&fe>=1&&(ve=1),ve===1&&pe--,pe=Math.min(pe,o+1);const ye=!!(pe%2);ye&&(a==="reverse"?(ve=1-ve,s&&(ve-=s/G)):a==="mirror"&&(se=T));let We=ql(0,1,ve);A>U&&(We=a==="reverse"&&ye?1:0),ie=We*G}const le=ee?{done:!1,value:r[0]}:se.next(ie);S&&(le.value=S(le.value));let{done:W}=le;!ee&&M!==null&&(W=g>=0?A>=U:A<=0);const ne=P===null&&(E==="finished"||E==="running"&&W);return f&&f(le.value),ne&&D(),le},F=()=>{b&&b.stop(),b=void 0},B=()=>{E="idle",F(),v(),_(),k=O=null},D=()=>{E="finished",d&&d(),F(),v()},V=()=>{if(m)return;b||(b=n(N));const q=b.now();l&&l(),P!==null?k=q-P:(!k||E==="finished")&&(k=q),E==="finished"&&_(),O=k,P=null,E="running",b.start()};e&&V();const j={then(q,Z){return x.then(q,Z)},get time(){return wa(A)},set time(q){q=Nl(q),A=q,P!==null||!b||g===0?P=q:k=b.now()-q/g},get duration(){const q=C.calculatedDuration===null?pI(C):C.calculatedDuration;return wa(q)},get speed(){return g},set speed(q){q===g||!b||(g=q,j.time=wa(A))},get state(){return E},play:V,pause:()=>{E="paused",P=A},stop:()=>{m=!0,E!=="idle"&&(E="idle",u&&u(),B())},cancel:()=>{O!==null&&N(O),B()},complete:()=>{E="finished"},sample:q=>(k=0,N(q))};return j}const n6e=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),W0=10,r6e=2e4,i6e=(e,t)=>t.type==="spring"||e==="backgroundColor"||!zV(t.ease);function o6e(e,t,{onUpdate:n,onComplete:r,...i}){if(!(GV.waapi()&&n6e.has(t)&&!i.repeatDelay&&i.repeatType!=="mirror"&&i.damping!==0&&i.type!=="inertia"))return!1;let s=!1,a,l;const u=()=>{l=new Promise(_=>{a=_})};u();let{keyframes:d,duration:f=300,ease:p,times:g}=i;if(i6e(t,i)){const _=h_({...i,repeat:0,delay:0});let b={done:!1,value:d[0]};const y=[];let S=0;for(;!b.done&&Sm.cancel(),x=()=>{dn.update(v),a(),u()};return m.onfinish=()=>{e.set(vEe(d,i)),r&&r(),x()},{then(_,b){return l.then(_,b)},get time(){return wa(m.currentTime||0)},set time(_){m.currentTime=Nl(_)},get speed(){return m.playbackRate},set speed(_){m.playbackRate=_},get duration(){return wa(f)},play:()=>{s||(m.play(),ka(v))},pause:()=>m.pause(),stop:()=>{if(s=!0,m.playState==="idle")return;const{currentTime:_}=m;if(_){const b=h_({...i,autoplay:!1});e.setWithVelocity(b.sample(_-W0).value,b.sample(_).value,W0)}x()},complete:()=>m.finish(),cancel:x}}function s6e({keyframes:e,delay:t,onUpdate:n,onComplete:r}){const i=()=>(n&&n(e[e.length-1]),r&&r(),{time:0,speed:1,duration:0,play:jn,pause:jn,stop:jn,then:o=>(o(),Promise.resolve()),cancel:jn,complete:jn});return t?h_({keyframes:[0,1],duration:0,delay:t,onComplete:i}):i()}const a6e={type:"spring",stiffness:500,damping:25,restSpeed:10},l6e=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),u6e={type:"keyframes",duration:.8},c6e={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},d6e=(e,{keyframes:t})=>t.length>2?u6e:Rc.has(e)?e.startsWith("scale")?l6e(t[1]):a6e:c6e,k5=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(Kl.test(t)||t==="0")&&!t.startsWith("url(")),f6e=new Set(["brightness","contrast","saturate","opacity"]);function h6e(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(a2)||[];if(!r)return e;const i=n.replace(r,"");let o=f6e.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+i+")"}const p6e=/([a-z-]*)\(.*?\)/g,I5={...Kl,getAnimatableNone:e=>{const t=e.match(p6e);return t?t.map(h6e).join(" "):e}},g6e={...CV,color:ni,backgroundColor:ni,outlineColor:ni,fill:ni,stroke:ni,borderColor:ni,borderTopColor:ni,borderRightColor:ni,borderBottomColor:ni,borderLeftColor:ni,filter:I5,WebkitFilter:I5},s6=e=>g6e[e];function fj(e,t){let n=s6(e);return n!==I5&&(n=Kl),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const hj=e=>/^0[^.\s]+$/.test(e);function m6e(e){if(typeof e=="number")return e===0;if(e!==null)return e==="none"||e==="0"||hj(e)}function y6e(e,t,n,r){const i=k5(t,n);let o;Array.isArray(n)?o=[...n]:o=[null,n];const s=r.from!==void 0?r.from:e.get();let a;const l=[];for(let u=0;ui=>{const o=pj(r,e)||{},s=o.delay||r.delay||0;let{elapsed:a=0}=r;a=a-Nl(s);const l=y6e(t,e,n,o),u=l[0],d=l[l.length-1],f=k5(e,u),p=k5(e,d);let g={keyframes:l,velocity:t.getVelocity(),ease:"easeOut",...o,delay:-a,onUpdate:m=>{t.set(m),o.onUpdate&&o.onUpdate(m)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(v6e(o)||(g={...g,...d6e(e,g)}),g.duration&&(g.duration=Nl(g.duration)),g.repeatDelay&&(g.repeatDelay=Nl(g.repeatDelay)),!f||!p||mEe.current||o.type===!1)return s6e(g);if(t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const m=o6e(t,e,g);if(m)return m}return h_(g)};function p_(e){return!!(ki(e)&&e.add)}const _6e=e=>/^\-?\d*\.?\d+$/.test(e);function l6(e,t){e.indexOf(t)===-1&&e.push(t)}function u6(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class c6{constructor(){this.subscriptions=[]}add(t){return l6(this.subscriptions,t),()=>u6(this.subscriptions,t)}notify(t,n,r){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,r);else for(let o=0;o!isNaN(parseFloat(e));class S6e{constructor(t,n={}){this.version="10.12.22",this.timeDelta=0,this.lastUpdated=0,this.canTrackVelocity=!1,this.events={},this.updateAndNotify=(r,i=!0)=>{this.prev=this.current,this.current=r;const{delta:o,timestamp:s}=Vr;this.lastUpdated!==s&&(this.timeDelta=o,this.lastUpdated=s,dn.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),i&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>dn.postRender(this.velocityCheck),this.velocityCheck=({timestamp:r})=>{r!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=t,this.canTrackVelocity=b6e(this.current),this.owner=n.owner}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new c6);const r=this.events[t].add(n);return t==="change"?()=>{r(),dn.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,r){this.set(n),this.prev=t,this.timeDelta=r}jump(t){this.updateAndNotify(t),this.prev=t,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?uj(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function Mf(e,t){return new S6e(e,t)}const gj=e=>t=>t.test(e),w6e={test:e=>e==="auto",parse:e=>e},mj=[Oc,Be,Is,al,RTe,PTe,w6e],ip=e=>mj.find(gj(e)),x6e=[...mj,ni,Kl],C6e=e=>x6e.find(gj(e));function T6e(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,Mf(n))}function E6e(e,t){const n=u2(e,t);let{transitionEnd:r={},transition:i={},...o}=n?e.makeTargetAnimatable(n,!1):{};o={...o,...r};for(const s in o){const a=jTe(o[s]);T6e(e,s,a)}}function A6e(e,t,n){var r,i;const o=Object.keys(t).filter(a=>!e.hasValue(a)),s=o.length;if(s)for(let a=0;al.remove(f))),u.push(v)}return s&&Promise.all(u).then(()=>{s&&E6e(e,s)}),u}function M5(e,t,n={}){const r=u2(e,t,n.custom);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const o=r?()=>Promise.all(yj(e,r,n)):()=>Promise.resolve(),s=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:d,staggerDirection:f}=i;return k6e(e,t,u+l,d,f,n)}:()=>Promise.resolve(),{when:a}=i;if(a){const[l,u]=a==="beforeChildren"?[o,s]:[s,o];return l().then(()=>u())}else return Promise.all([o(),s(n.delay)])}function k6e(e,t,n=0,r=0,i=1,o){const s=[],a=(e.variantChildren.size-1)*r,l=i===1?(u=0)=>u*r:(u=0)=>a-u*r;return Array.from(e.variantChildren).sort(I6e).forEach((u,d)=>{u.notify("AnimationStart",t),s.push(M5(u,t,{...o,delay:n+l(d)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(s)}function I6e(e,t){return e.sortNodePosition(t)}function M6e(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(o=>M5(e,o,n));r=Promise.all(i)}else if(typeof t=="string")r=M5(e,t,n);else{const i=typeof t=="function"?u2(e,t,n.custom):t;r=Promise.all(yj(e,i,n))}return r.then(()=>e.notify("AnimationComplete",t))}const N6e=[...HE].reverse(),L6e=HE.length;function D6e(e){return t=>Promise.all(t.map(({animation:n,options:r})=>M6e(e,n,r)))}function $6e(e){let t=D6e(e);const n=B6e();let r=!0;const i=(l,u)=>{const d=u2(e,u);if(d){const{transition:f,transitionEnd:p,...g}=d;l={...l,...g,...p}}return l};function o(l){t=l(e)}function s(l,u){const d=e.getProps(),f=e.getVariantContext(!0)||{},p=[],g=new Set;let m={},v=1/0;for(let _=0;_v&&C;const O=Array.isArray(S)?S:[S];let M=O.reduce(i,{});T===!1&&(M={});const{prevResolvedValues:G={}}=y,U={...G,...M},A=N=>{k=!0,g.delete(N),y.needsAnimating[N]=!0};for(const N in U){const F=M[N],B=G[N];m.hasOwnProperty(N)||(F!==B?c_(F)&&c_(B)?!BV(F,B)||P?A(N):y.protectedKeys[N]=!0:F!==void 0?A(N):g.add(N):F!==void 0&&g.has(N)?A(N):y.protectedKeys[N]=!0)}y.prevProp=S,y.prevResolvedValues=M,y.isActive&&(m={...m,...M}),r&&e.blockInitialAnimation&&(k=!1),k&&!E&&p.push(...O.map(N=>({animation:N,options:{type:b,...l}})))}if(g.size){const _={};g.forEach(b=>{const y=e.getBaseTarget(b);y!==void 0&&(_[b]=y)}),p.push({animation:_})}let x=!!p.length;return r&&d.initial===!1&&!e.manuallyAnimateOnMount&&(x=!1),r=!1,x?t(p):Promise.resolve()}function a(l,u,d){var f;if(n[l].isActive===u)return Promise.resolve();(f=e.variantChildren)===null||f===void 0||f.forEach(g=>{var m;return(m=g.animationState)===null||m===void 0?void 0:m.setActive(l,u)}),n[l].isActive=u;const p=s(d,l);for(const g in n)n[g].protectedKeys={};return p}return{animateChanges:s,setActive:a,setAnimateFunction:o,getState:()=>n}}function F6e(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!BV(t,e):!1}function xu(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function B6e(){return{animate:xu(!0),whileInView:xu(),whileHover:xu(),whileTap:xu(),whileDrag:xu(),whileFocus:xu(),exit:xu()}}class U6e extends lu{constructor(t){super(t),t.animationState||(t.animationState=$6e(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();this.unmount(),o2(t)&&(this.unmount=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){}}let z6e=0;class V6e extends lu{constructor(){super(...arguments),this.id=z6e++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n,custom:r}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;const o=this.node.animationState.setActive("exit",!t,{custom:r??this.node.getProps().custom});n&&!t&&o.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const j6e={animation:{Feature:U6e},exit:{Feature:V6e}},gI=(e,t)=>Math.abs(e-t);function G6e(e,t){const n=gI(e.x,t.x),r=gI(e.y,t.y);return Math.sqrt(n**2+r**2)}class vj{constructor(t,n,{transformPagePoint:r}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const u=aC(this.lastMoveEventInfo,this.history),d=this.startEvent!==null,f=G6e(u.offset,{x:0,y:0})>=3;if(!d&&!f)return;const{point:p}=u,{timestamp:g}=Vr;this.history.push({...p,timestamp:g});const{onStart:m,onMove:v}=this.handlers;d||(m&&m(this.lastMoveEvent,u),this.startEvent=this.lastMoveEvent),v&&v(this.lastMoveEvent,u)},this.handlePointerMove=(u,d)=>{this.lastMoveEvent=u,this.lastMoveEventInfo=sC(d,this.transformPagePoint),dn.update(this.updatePoint,!0)},this.handlePointerUp=(u,d)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:f,onSessionEnd:p}=this.handlers,g=aC(u.type==="pointercancel"?this.lastMoveEventInfo:sC(d,this.transformPagePoint),this.history);this.startEvent&&f&&f(u,g),p&&p(u,g)},!NV(t))return;this.handlers=n,this.transformPagePoint=r;const i=l2(t),o=sC(i,this.transformPagePoint),{point:s}=o,{timestamp:a}=Vr;this.history=[{...s,timestamp:a}];const{onSessionStart:l}=n;l&&l(t,aC(o,this.history)),this.removeListeners=Ml(Sa(window,"pointermove",this.handlePointerMove),Sa(window,"pointerup",this.handlePointerUp),Sa(window,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),ka(this.updatePoint)}}function sC(e,t){return t?{point:t(e.point)}:e}function mI(e,t){return{x:e.x-t.x,y:e.y-t.y}}function aC({point:e},t){return{point:e,delta:mI(e,_j(t)),offset:mI(e,H6e(t)),velocity:W6e(t,.1)}}function H6e(e){return e[0]}function _j(e){return e[e.length-1]}function W6e(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=_j(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Nl(t)));)n--;if(!r)return{x:0,y:0};const o=wa(i.timestamp-r.timestamp);if(o===0)return{x:0,y:0};const s={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function Xi(e){return e.max-e.min}function N5(e,t=0,n=.01){return Math.abs(e-t)<=n}function yI(e,t,n,r=.5){e.origin=r,e.originPoint=vn(t.min,t.max,e.origin),e.scale=Xi(n)/Xi(t),(N5(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=vn(n.min,n.max,e.origin)-e.originPoint,(N5(e.translate)||isNaN(e.translate))&&(e.translate=0)}function Ip(e,t,n,r){yI(e.x,t.x,n.x,r?r.originX:void 0),yI(e.y,t.y,n.y,r?r.originY:void 0)}function vI(e,t,n){e.min=n.min+t.min,e.max=e.min+Xi(t)}function q6e(e,t,n){vI(e.x,t.x,n.x),vI(e.y,t.y,n.y)}function _I(e,t,n){e.min=t.min-n.min,e.max=e.min+Xi(t)}function Mp(e,t,n){_I(e.x,t.x,n.x),_I(e.y,t.y,n.y)}function K6e(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?vn(n,e,r.max):Math.min(e,n)),e}function bI(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function X6e(e,{top:t,left:n,bottom:r,right:i}){return{x:bI(e.x,n,i),y:bI(e.y,t,r)}}function SI(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=jg(t.min,t.max-r,e.min):r>i&&(n=jg(e.min,e.max-i,t.min)),ql(0,1,n)}function Z6e(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const L5=.35;function J6e(e=L5){return e===!1?e=0:e===!0&&(e=L5),{x:wI(e,"left","right"),y:wI(e,"top","bottom")}}function wI(e,t,n){return{min:xI(e,t),max:xI(e,n)}}function xI(e,t){return typeof e=="number"?e:e[t]||0}const CI=()=>({translate:0,scale:1,origin:0,originPoint:0}),Bd=()=>({x:CI(),y:CI()}),TI=()=>({min:0,max:0}),Fn=()=>({x:TI(),y:TI()});function ps(e){return[e("x"),e("y")]}function bj({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function eAe({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function tAe(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function lC(e){return e===void 0||e===1}function D5({scale:e,scaleX:t,scaleY:n}){return!lC(e)||!lC(t)||!lC(n)}function Pu(e){return D5(e)||Sj(e)||e.z||e.rotate||e.rotateX||e.rotateY}function Sj(e){return EI(e.x)||EI(e.y)}function EI(e){return e&&e!=="0%"}function g_(e,t,n){const r=e-n,i=t*r;return n+i}function AI(e,t,n,r,i){return i!==void 0&&(e=g_(e,i,r)),g_(e,n,r)+t}function $5(e,t=0,n=1,r,i){e.min=AI(e.min,t,n,r,i),e.max=AI(e.max,t,n,r,i)}function wj(e,{x:t,y:n}){$5(e.x,t.translate,t.scale,t.originPoint),$5(e.y,n.translate,n.scale,n.originPoint)}function nAe(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let o,s;for(let a=0;a1.0000000000001||e<.999999999999?e:1}function fl(e,t){e.min=e.min+t,e.max=e.max+t}function RI(e,t,[n,r,i]){const o=t[i]!==void 0?t[i]:.5,s=vn(e.min,e.max,o);$5(e,t[n],t[r],s,t.scale)}const rAe=["x","scaleX","originX"],iAe=["y","scaleY","originY"];function Ud(e,t){RI(e.x,t,rAe),RI(e.y,t,iAe)}function xj(e,t){return bj(tAe(e.getBoundingClientRect(),t))}function oAe(e,t,n){const r=xj(e,n),{scroll:i}=t;return i&&(fl(r.x,i.offset.x),fl(r.y,i.offset.y)),r}const sAe=new WeakMap;class aAe{constructor(t){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Fn(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const i=l=>{this.stopAnimation(),n&&this.snapToCursor(l2(l,"page").point)},o=(l,u)=>{const{drag:d,dragPropagation:f,onDragStart:p}=this.getProps();if(d&&!f&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=DV(d),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),ps(m=>{let v=this.getAxisMotionValue(m).get()||0;if(Is.test(v)){const{projection:x}=this.visualElement;if(x&&x.layout){const _=x.layout.layoutBox[m];_&&(v=Xi(_)*(parseFloat(v)/100))}}this.originPoint[m]=v}),p&&dn.update(()=>p(l,u),!1,!0);const{animationState:g}=this.visualElement;g&&g.setActive("whileDrag",!0)},s=(l,u)=>{const{dragPropagation:d,dragDirectionLock:f,onDirectionLock:p,onDrag:g}=this.getProps();if(!d&&!this.openGlobalLock)return;const{offset:m}=u;if(f&&this.currentDirection===null){this.currentDirection=lAe(m),this.currentDirection!==null&&p&&p(this.currentDirection);return}this.updateAxis("x",u.point,m),this.updateAxis("y",u.point,m),this.visualElement.render(),g&&g(l,u)},a=(l,u)=>this.stop(l,u);this.panSession=new vj(t,{onSessionStart:i,onStart:o,onMove:s,onSessionEnd:a},{transformPagePoint:this.visualElement.getTransformPagePoint()})}stop(t,n){const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:i}=n;this.startAnimation(i);const{onDragEnd:o}=this.getProps();o&&dn.update(()=>o(t,n))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!q0(t,i,this.currentDirection))return;const o=this.getAxisMotionValue(t);let s=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(s=K6e(s,this.constraints[t],this.elastic[t])),o.set(s)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),{layout:r}=this.visualElement.projection||{},i=this.constraints;t&&$d(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=X6e(r.layoutBox,t):this.constraints=!1,this.elastic=J6e(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&ps(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=Z6e(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!$d(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=oAe(r,i.root,this.visualElement.getTransformPagePoint());let s=Y6e(i.layout.layoutBox,o);if(n){const a=n(eAe(s));this.hasMutatedConstraints=!!a,a&&(s=bj(a))}return s}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:o,dragSnapToOrigin:s,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},u=ps(d=>{if(!q0(d,n,this.currentDirection))return;let f=l&&l[d]||{};s&&(f={min:0,max:0});const p=i?200:1e6,g=i?40:1e7,m={type:"inertia",velocity:r?t[d]:0,bounceStiffness:p,bounceDamping:g,timeConstant:750,restDelta:1,restSpeed:10,...o,...f};return this.startAxisValueAnimation(d,m)});return Promise.all(u).then(a)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return r.start(a6(t,r,0,n))}stopAnimation(){ps(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const n="_drag"+t.toUpperCase(),r=this.visualElement.getProps(),i=r[n];return i||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){ps(n=>{const{drag:r}=this.getProps();if(!q0(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,o=this.getAxisMotionValue(n);if(i&&i.layout){const{min:s,max:a}=i.layout.layoutBox[n];o.set(t[n]-vn(s,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!$d(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};ps(s=>{const a=this.getAxisMotionValue(s);if(a){const l=a.get();i[s]=Q6e({min:l,max:l},this.constraints[s])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),ps(s=>{if(!q0(s,t,null))return;const a=this.getAxisMotionValue(s),{min:l,max:u}=this.constraints[s];a.set(vn(l,u,i[s]))})}addListeners(){if(!this.visualElement.current)return;sAe.set(this.visualElement,this);const t=this.visualElement.current,n=Sa(t,"pointerdown",l=>{const{drag:u,dragListener:d=!0}=this.getProps();u&&d&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();$d(l)&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,o=i.addEventListener("measure",r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),r();const s=ma(window,"resize",()=>this.scalePositionWithinConstraints()),a=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(ps(d=>{const f=this.getAxisMotionValue(d);f&&(this.originPoint[d]+=l[d].translate,f.set(f.get()+l[d].translate))}),this.visualElement.render())});return()=>{s(),n(),o(),a&&a()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:o=!1,dragElastic:s=L5,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:o,dragElastic:s,dragMomentum:a}}}function q0(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function lAe(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class uAe extends lu{constructor(t){super(t),this.removeGroupControls=jn,this.removeListeners=jn,this.controls=new aAe(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||jn}unmount(){this.removeGroupControls(),this.removeListeners()}}const OI=e=>(t,n)=>{e&&dn.update(()=>e(t,n))};class cAe extends lu{constructor(){super(...arguments),this.removePointerDownListener=jn}onPointerDown(t){this.session=new vj(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:OI(t),onStart:OI(n),onMove:r,onEnd:(o,s)=>{delete this.session,i&&dn.update(()=>i(o,s))}}}mount(){this.removePointerDownListener=Sa(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}function dAe(){const e=L.useContext(Lm);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,i=L.useId();return L.useEffect(()=>r(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}function CMe(){return fAe(L.useContext(Lm))}function fAe(e){return e===null?!0:e.isPresent}const kv={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function kI(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const op={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(Be.test(e))e=parseFloat(e);else return e;const n=kI(e,t.target.x),r=kI(e,t.target.y);return`${n}% ${r}%`}},hAe={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=Kl.parse(e);if(i.length>5)return r;const o=Kl.createTransformer(e),s=typeof i[0]!="number"?1:0,a=n.x.scale*t.x,l=n.y.scale*t.y;i[0+s]/=a,i[1+s]/=l;const u=vn(a,l,.5);return typeof i[2+s]=="number"&&(i[2+s]/=u),typeof i[3+s]=="number"&&(i[3+s]/=u),o(i)}};class pAe extends Lt.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:o}=t;STe(gAe),o&&(n.group&&n.group.add(o),r&&r.register&&i&&r.register(o),o.root.didUpdate(),o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),kv.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:o}=this.props,s=r.projection;return s&&(s.isPresent=o,i||t.layoutDependency!==n||n===void 0?s.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?s.promote():s.relegate()||dn.postRender(()=>{const a=s.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),queueMicrotask(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:i}=t;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),r&&r.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function Cj(e){const[t,n]=dAe(),r=L.useContext(qE);return Lt.createElement(pAe,{...e,layoutGroup:r,switchLayoutGroup:L.useContext(_V),isPresent:t,safeToRemove:n})}const gAe={borderRadius:{...op,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:op,borderTopRightRadius:op,borderBottomLeftRadius:op,borderBottomRightRadius:op,boxShadow:hAe},Tj=["TopLeft","TopRight","BottomLeft","BottomRight"],mAe=Tj.length,II=e=>typeof e=="string"?parseFloat(e):e,MI=e=>typeof e=="number"||Be.test(e);function yAe(e,t,n,r,i,o){i?(e.opacity=vn(0,n.opacity!==void 0?n.opacity:1,vAe(r)),e.opacityExit=vn(t.opacity!==void 0?t.opacity:1,0,_Ae(r))):o&&(e.opacity=vn(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,r));for(let s=0;srt?1:n(jg(e,t,r))}function LI(e,t){e.min=t.min,e.max=t.max}function fo(e,t){LI(e.x,t.x),LI(e.y,t.y)}function DI(e,t,n,r,i){return e-=t,e=g_(e,1/n,r),i!==void 0&&(e=g_(e,1/i,r)),e}function bAe(e,t=0,n=1,r=.5,i,o=e,s=e){if(Is.test(t)&&(t=parseFloat(t),t=vn(s.min,s.max,t/100)-s.min),typeof t!="number")return;let a=vn(o.min,o.max,r);e===o&&(a-=t),e.min=DI(e.min,t,n,a,i),e.max=DI(e.max,t,n,a,i)}function $I(e,t,[n,r,i],o,s){bAe(e,t[n],t[r],t[i],t.scale,o,s)}const SAe=["x","scaleX","originX"],wAe=["y","scaleY","originY"];function FI(e,t,n,r){$I(e.x,t,SAe,n?n.x:void 0,r?r.x:void 0),$I(e.y,t,wAe,n?n.y:void 0,r?r.y:void 0)}function BI(e){return e.translate===0&&e.scale===1}function Aj(e){return BI(e.x)&&BI(e.y)}function F5(e,t){return e.x.min===t.x.min&&e.x.max===t.x.max&&e.y.min===t.y.min&&e.y.max===t.y.max}function UI(e){return Xi(e.x)/Xi(e.y)}class xAe{constructor(){this.members=[]}add(t){l6(this.members,t),t.scheduleRender()}remove(t){if(u6(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(i=>t===i);if(n===0)return!1;let r;for(let i=n;i>=0;i--){const o=this.members[i];if(o.isPresent!==!1){r=o;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender(),t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function zI(e,t,n){let r="";const i=e.x.translate/t.x,o=e.y.translate/t.y;if((i||o)&&(r=`translate3d(${i}px, ${o}px, 0) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{rotate:l,rotateX:u,rotateY:d}=n;l&&(r+=`rotate(${l}deg) `),u&&(r+=`rotateX(${u}deg) `),d&&(r+=`rotateY(${d}deg) `)}const s=e.x.scale*t.x,a=e.y.scale*t.y;return(s!==1||a!==1)&&(r+=`scale(${s}, ${a})`),r||"none"}const CAe=(e,t)=>e.depth-t.depth;class TAe{constructor(){this.children=[],this.isDirty=!1}add(t){l6(this.children,t),this.isDirty=!0}remove(t){u6(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(CAe),this.isDirty=!1,this.children.forEach(t)}}function EAe(e,t){const n=performance.now(),r=({timestamp:i})=>{const o=i-n;o>=t&&(ka(r),e(o-t))};return dn.read(r,!0),()=>ka(r)}function AAe(e){window.MotionDebug&&window.MotionDebug.record(e)}function PAe(e){return e instanceof SVGElement&&e.tagName!=="svg"}function RAe(e,t,n){const r=ki(e)?e:Mf(e);return r.start(a6("",r,t,n)),r.animation}const VI=["","X","Y","Z"],jI=1e3;let OAe=0;const Ru={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function Pj({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(s={},a=t==null?void 0:t()){this.id=OAe++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{Ru.totalNodes=Ru.resolvedTargetDeltas=Ru.recalculatedProjection=0,this.nodes.forEach(MAe),this.nodes.forEach(FAe),this.nodes.forEach(BAe),this.nodes.forEach(NAe),AAe(Ru)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=s,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;lthis.root.updateBlockedByResize=!1;e(s,()=>{this.root.updateBlockedByResize=!0,f&&f(),f=EAe(p,250),kv.hasAnimatedSinceResize&&(kv.hasAnimatedSinceResize=!1,this.nodes.forEach(HI))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&d&&(l||u)&&this.addEventListener("didUpdate",({delta:f,hasLayoutChanged:p,hasRelativeTargetChanged:g,layout:m})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const v=this.options.transition||d.getDefaultTransition()||GAe,{onLayoutAnimationStart:x,onLayoutAnimationComplete:_}=d.getProps(),b=!this.targetLayout||!F5(this.targetLayout,m)||g,y=!p&&g;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||y||p&&(b||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(f,y);const S={...pj(v,"layout"),onPlay:x,onComplete:_};(d.shouldReduceMotion||this.options.layoutRoot)&&(S.delay=0,S.type=!1),this.startAnimation(S)}else p||HI(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=m})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const s=this.getStack();s&&s.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,ka(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(UAe),this.animationId++)}getTransformTemplate(){const{visualElement:s}=this.options;return s&&s.getProps().transformTemplate}willUpdate(s=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let d=0;dthis.update()))}clearAllSnapshots(){this.nodes.forEach(LAe),this.sharedNodes.forEach(zAe)}scheduleUpdateProjection(){dn.preRender(this.updateProjection,!1,!0)}scheduleCheckAfterUnmount(){dn.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l{const C=S/1e3;WI(f.x,s.x,C),WI(f.y,s.y,C),this.setTargetDelta(f),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Mp(p,this.layout.layoutBox,this.relativeParent.layout.layoutBox),VAe(this.relativeTarget,this.relativeTargetOrigin,p,C),y&&F5(this.relativeTarget,y)&&(this.isProjectionDirty=!1),y||(y=Fn()),fo(y,this.relativeTarget)),v&&(this.animationValues=d,yAe(d,u,this.latestValues,C,b,_)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=C},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(s){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(ka(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=dn.update(()=>{kv.hasAnimatedSinceResize=!0,this.currentAnimation=RAe(0,jI,{...s,onUpdate:a=>{this.mixTargetDelta(a),s.onUpdate&&s.onUpdate(a)},onComplete:()=>{s.onComplete&&s.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const s=this.getStack();s&&s.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(jI),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const s=this.getLead();let{targetWithTransforms:a,target:l,layout:u,latestValues:d}=s;if(!(!a||!l||!u)){if(this!==s&&this.layout&&u&&Rj(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||Fn();const f=Xi(this.layout.layoutBox.x);l.x.min=s.target.x.min,l.x.max=l.x.min+f;const p=Xi(this.layout.layoutBox.y);l.y.min=s.target.y.min,l.y.max=l.y.min+p}fo(a,l),Ud(a,d),Ip(this.projectionDeltaWithTransform,this.layoutCorrected,a,d)}}registerSharedNode(s,a){this.sharedNodes.has(s)||this.sharedNodes.set(s,new xAe),this.sharedNodes.get(s).add(a);const u=a.options.initialPromotionConfig;a.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(a):void 0})}isLead(){const s=this.getStack();return s?s.lead===this:!0}getLead(){var s;const{layoutId:a}=this.options;return a?((s=this.getStack())===null||s===void 0?void 0:s.lead)||this:this}getPrevLead(){var s;const{layoutId:a}=this.options;return a?(s=this.getStack())===null||s===void 0?void 0:s.prevLead:void 0}getStack(){const{layoutId:s}=this.options;if(s)return this.root.sharedNodes.get(s)}promote({needsReset:s,transition:a,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),s&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const s=this.getStack();return s?s.relegate(this):!1}resetRotation(){const{visualElement:s}=this.options;if(!s)return;let a=!1;const{latestValues:l}=s;if((l.rotate||l.rotateX||l.rotateY||l.rotateZ)&&(a=!0),!a)return;const u={};for(let d=0;d{var a;return(a=s.currentAnimation)===null||a===void 0?void 0:a.stop()}),this.root.nodes.forEach(GI),this.root.sharedNodes.clear()}}}function kAe(e){e.updateLayout()}function IAe(e){var t;const n=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:i}=e.layout,{animationType:o}=e.options,s=n.source!==e.layout.source;o==="size"?ps(f=>{const p=s?n.measuredBox[f]:n.layoutBox[f],g=Xi(p);p.min=r[f].min,p.max=p.min+g}):Rj(o,n.layoutBox,r)&&ps(f=>{const p=s?n.measuredBox[f]:n.layoutBox[f],g=Xi(r[f]);p.max=p.min+g,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[f].max=e.relativeTarget[f].min+g)});const a=Bd();Ip(a,r,n.layoutBox);const l=Bd();s?Ip(l,e.applyTransform(i,!0),n.measuredBox):Ip(l,r,n.layoutBox);const u=!Aj(a);let d=!1;if(!e.resumeFrom){const f=e.getClosestProjectingParent();if(f&&!f.resumeFrom){const{snapshot:p,layout:g}=f;if(p&&g){const m=Fn();Mp(m,n.layoutBox,p.layoutBox);const v=Fn();Mp(v,r,g.layoutBox),F5(m,v)||(d=!0),f.options.layoutRoot&&(e.relativeTarget=v,e.relativeTargetOrigin=m,e.relativeParent=f)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:l,layoutDelta:a,hasLayoutChanged:u,hasRelativeTargetChanged:d})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function MAe(e){Ru.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function NAe(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function LAe(e){e.clearSnapshot()}function GI(e){e.clearMeasurements()}function DAe(e){e.isLayoutDirty=!1}function $Ae(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function HI(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function FAe(e){e.resolveTargetDelta()}function BAe(e){e.calcProjection()}function UAe(e){e.resetRotation()}function zAe(e){e.removeLeadSnapshot()}function WI(e,t,n){e.translate=vn(t.translate,0,n),e.scale=vn(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function qI(e,t,n,r){e.min=vn(t.min,n.min,r),e.max=vn(t.max,n.max,r)}function VAe(e,t,n,r){qI(e.x,t.x,n.x,r),qI(e.y,t.y,n.y,r)}function jAe(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const GAe={duration:.45,ease:[.4,0,.1,1]};function KI(e){e.min=Math.round(e.min*2)/2,e.max=Math.round(e.max*2)/2}function HAe(e){KI(e.x),KI(e.y)}function Rj(e,t,n){return e==="position"||e==="preserve-aspect"&&!N5(UI(t),UI(n),.2)}const WAe=Pj({attachResizeListener:(e,t)=>ma(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),uC={current:void 0},Oj=Pj({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!uC.current){const e=new WAe({});e.mount(window),e.setOptions({layoutScroll:!0}),uC.current=e}return uC.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),qAe={pan:{Feature:cAe},drag:{Feature:uAe,ProjectionNode:Oj,MeasureLayout:Cj}},KAe=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function XAe(e){const t=KAe.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]}function B5(e,t,n=1){const[r,i]=XAe(e);if(!r)return;const o=window.getComputedStyle(t).getPropertyValue(r);return o?o.trim():A5(i)?B5(i,t,n+1):i}function YAe(e,{...t},n){const r=e.current;if(!(r instanceof Element))return{target:t,transitionEnd:n};n&&(n={...n}),e.values.forEach(i=>{const o=i.get();if(!A5(o))return;const s=B5(o,r);s&&i.set(s)});for(const i in t){const o=t[i];if(!A5(o))continue;const s=B5(o,r);s&&(t[i]=s,n||(n={}),n[i]===void 0&&(n[i]=o))}return{target:t,transitionEnd:n}}const QAe=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),kj=e=>QAe.has(e),ZAe=e=>Object.keys(e).some(kj),XI=e=>e===Oc||e===Be,YI=(e,t)=>parseFloat(e.split(", ")[t]),QI=(e,t)=>(n,{transform:r})=>{if(r==="none"||!r)return 0;const i=r.match(/^matrix3d\((.+)\)$/);if(i)return YI(i[1],t);{const o=r.match(/^matrix\((.+)\)$/);return o?YI(o[1],e):0}},JAe=new Set(["x","y","z"]),ePe=Dm.filter(e=>!JAe.has(e));function tPe(e){const t=[];return ePe.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t.length&&e.render(),t}const Nf={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:QI(4,13),y:QI(5,14)};Nf.translateX=Nf.x;Nf.translateY=Nf.y;const nPe=(e,t,n)=>{const r=t.measureViewportBox(),i=t.current,o=getComputedStyle(i),{display:s}=o,a={};s==="none"&&t.setStaticValue("display",e.display||"block"),n.forEach(u=>{a[u]=Nf[u](r,o)}),t.render();const l=t.measureViewportBox();return n.forEach(u=>{const d=t.getValue(u);d&&d.jump(a[u]),e[u]=Nf[u](l,o)}),e},rPe=(e,t,n={},r={})=>{t={...t},r={...r};const i=Object.keys(t).filter(kj);let o=[],s=!1;const a=[];if(i.forEach(l=>{const u=e.getValue(l);if(!e.hasValue(l))return;let d=n[l],f=ip(d);const p=t[l];let g;if(c_(p)){const m=p.length,v=p[0]===null?1:0;d=p[v],f=ip(d);for(let x=v;x=0?window.pageYOffset:null,u=nPe(t,e,a);return o.length&&o.forEach(([d,f])=>{e.getValue(d).set(f)}),e.render(),i2&&l!==null&&window.scrollTo({top:l}),{target:u,transitionEnd:r}}else return{target:t,transitionEnd:r}};function iPe(e,t,n,r){return ZAe(t)?rPe(e,t,n,r):{target:t,transitionEnd:r}}const oPe=(e,t,n,r)=>{const i=YAe(e,t,r);return t=i.target,r=i.transitionEnd,iPe(e,t,n,r)},U5={current:null},Ij={current:!1};function sPe(){if(Ij.current=!0,!!i2)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>U5.current=e.matches;e.addListener(t),t()}else U5.current=!1}function aPe(e,t,n){const{willChange:r}=t;for(const i in t){const o=t[i],s=n[i];if(ki(o))e.addValue(i,o),p_(r)&&r.add(i);else if(ki(s))e.addValue(i,Mf(o,{owner:e})),p_(r)&&r.remove(i);else if(s!==o)if(e.hasValue(i)){const a=e.getValue(i);!a.hasAnimated&&a.set(o)}else{const a=e.getStaticValue(i);e.addValue(i,Mf(a!==void 0?a:o,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const ZI=new WeakMap,Mj=Object.keys(Vg),lPe=Mj.length,JI=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],uPe=WE.length;class cPe{constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,visualState:o},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>dn.render(this.render,!1,!0);const{latestValues:a,renderState:l}=o;this.latestValues=a,this.baseTarget={...a},this.initialValues=n.initial?{...a}:{},this.renderState=l,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=s,this.isControllingVariants=s2(n),this.isVariantNode=vV(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:u,...d}=this.scrapeMotionValuesFromProps(n,{});for(const f in d){const p=d[f];a[f]!==void 0&&ki(p)&&(p.set(a[f],!1),p_(u)&&u.add(f))}}scrapeMotionValuesFromProps(t,n){return{}}mount(t){this.current=t,ZI.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,r)=>this.bindToMotionValue(r,n)),Ij.current||sPe(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:U5.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){ZI.delete(this.current),this.projection&&this.projection.unmount(),ka(this.notifyUpdate),ka(this.render),this.valueSubscriptions.forEach(t=>t()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features)this.features[t].unmount();this.current=null}bindToMotionValue(t,n){const r=Rc.has(t),i=n.on("change",s=>{this.latestValues[t]=s,this.props.onUpdate&&dn.update(this.notifyUpdate,!1,!0),r&&this.projection&&(this.projection.isTransformDirty=!0)}),o=n.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(t,()=>{i(),o()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}loadFeatures({children:t,...n},r,i,o){let s,a;for(let l=0;lthis.scheduleRender(),animationType:typeof u=="string"?u:"both",initialPromotionConfig:o,layoutScroll:p,layoutRoot:g})}return a}updateFeatures(){for(const t in this.features){const n=this.features[t];n.isMounted?n.update():(n.mount(),n.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Fn()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}makeTargetAnimatable(t,n=!0){return this.makeTargetAnimatableFromInstance(t,this.props,n)}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let r=0;rn.variantChildren.delete(t)}addValue(t,n){n!==this.values.get(t)&&(this.removeValue(t),this.bindToMotionValue(t,n)),this.values.set(t,n),this.latestValues[t]=n.get()}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let r=this.values.get(t);return r===void 0&&n!==void 0&&(r=Mf(n,{owner:this}),this.addValue(t,r)),r}readValue(t){var n;return this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(n=this.getBaseTargetFromProps(this.props,t))!==null&&n!==void 0?n:this.readValueFromInstance(this.current,t,this.options)}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:r}=this.props,i=typeof r=="string"||typeof r=="object"?(n=t6(this.props,r))===null||n===void 0?void 0:n[t]:void 0;if(r&&i!==void 0)return i;const o=this.getBaseTargetFromProps(this.props,t);return o!==void 0&&!ki(o)?o:this.initialValues[t]!==void 0&&i===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new c6),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class Nj extends cPe{sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:r}){delete n[t],delete r[t]}makeTargetAnimatableFromInstance({transition:t,transitionEnd:n,...r},{transformValues:i},o){let s=R6e(r,t||{},this);if(i&&(n&&(n=i(n)),r&&(r=i(r)),s&&(s=i(s))),o){A6e(this,r,s);const a=oPe(this,r,s,n);n=a.transitionEnd,r=a.target}return{transition:t,transitionEnd:n,...r}}}function dPe(e){return window.getComputedStyle(e)}class fPe extends Nj{readValueFromInstance(t,n){if(Rc.has(n)){const r=s6(n);return r&&r.default||0}else{const r=dPe(t),i=(wV(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return xj(t,n)}build(t,n,r,i){XE(t,n,r,i.transformTemplate)}scrapeMotionValuesFromProps(t,n){return e6(t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;ki(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(t,n,r,i){PV(t,n,r,i)}}class hPe extends Nj{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(Rc.has(n)){const r=s6(n);return r&&r.default||0}return n=RV.has(n)?n:JE(n),t.getAttribute(n)}measureInstanceViewportBox(){return Fn()}scrapeMotionValuesFromProps(t,n){return kV(t,n)}build(t,n,r,i){QE(t,n,r,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,r,i){OV(t,n,r,i)}mount(t){this.isSVGTag=ZE(t.tagName),super.mount(t)}}const pPe=(e,t)=>KE(e)?new hPe(t,{enableHardwareAcceleration:!1}):new fPe(t,{enableHardwareAcceleration:!0}),gPe={layout:{ProjectionNode:Oj,MeasureLayout:Cj}},mPe={...j6e,...cEe,...qAe,...gPe},yPe=_Te((e,t)=>KTe(e,t,mPe,pPe));function Lj(){const e=L.useRef(!1);return a_(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function vPe(){const e=Lj(),[t,n]=L.useState(0),r=L.useCallback(()=>{e.current&&n(t+1)},[t]);return[L.useCallback(()=>dn.postRender(r),[r]),t]}class _Pe extends L.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function bPe({children:e,isPresent:t}){const n=L.useId(),r=L.useRef(null),i=L.useRef({width:0,height:0,top:0,left:0});return L.useInsertionEffect(()=>{const{width:o,height:s,top:a,left:l}=i.current;if(t||!r.current||!o||!s)return;r.current.dataset.motionPopId=n;const u=document.createElement("style");return document.head.appendChild(u),u.sheet&&u.sheet.insertRule(` + [data-motion-pop-id="${n}"] { + position: absolute !important; + width: ${o}px !important; + height: ${s}px !important; + top: ${a}px !important; + left: ${l}px !important; + } + `),()=>{document.head.removeChild(u)}},[t]),L.createElement(_Pe,{isPresent:t,childRef:r,sizeRef:i},L.cloneElement(e,{ref:r}))}const cC=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:s})=>{const a=IV(SPe),l=L.useId(),u=L.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:d=>{a.set(d,!0);for(const f of a.values())if(!f)return;r&&r()},register:d=>(a.set(d,!1),()=>a.delete(d))}),o?void 0:[n]);return L.useMemo(()=>{a.forEach((d,f)=>a.set(f,!1))},[n]),L.useEffect(()=>{!n&&!a.size&&r&&r()},[n]),s==="popLayout"&&(e=L.createElement(bPe,{isPresent:n},e)),L.createElement(Lm.Provider,{value:u},e)};function SPe(){return new Map}function wPe(e){return L.useEffect(()=>()=>e(),[])}const wd=e=>e.key||"";function xPe(e,t){e.forEach(n=>{const r=wd(n);t.set(r,n)})}function CPe(e){const t=[];return L.Children.forEach(e,n=>{L.isValidElement(n)&&t.push(n)}),t}const TPe=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:s="sync"})=>{const a=L.useContext(qE).forceRender||vPe()[0],l=Lj(),u=CPe(e);let d=u;const f=L.useRef(new Map).current,p=L.useRef(d),g=L.useRef(new Map).current,m=L.useRef(!0);if(a_(()=>{m.current=!1,xPe(u,g),p.current=d}),wPe(()=>{m.current=!0,g.clear(),f.clear()}),m.current)return L.createElement(L.Fragment,null,d.map(b=>L.createElement(cC,{key:wd(b),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:s},b)));d=[...d];const v=p.current.map(wd),x=u.map(wd),_=v.length;for(let b=0;b<_;b++){const y=v[b];x.indexOf(y)===-1&&!f.has(y)&&f.set(y,void 0)}return s==="wait"&&f.size&&(d=[]),f.forEach((b,y)=>{if(x.indexOf(y)!==-1)return;const S=g.get(y);if(!S)return;const C=v.indexOf(y);let T=b;if(!T){const E=()=>{g.delete(y),f.delete(y);const P=p.current.findIndex(k=>k.key===y);if(p.current.splice(P,1),!f.size){if(p.current=u,l.current===!1)return;a(),r&&r()}};T=L.createElement(cC,{key:wd(S),isPresent:!1,onExitComplete:E,custom:t,presenceAffectsLayout:o,mode:s},S),f.set(y,T)}d.splice(C,0,T)}),d=d.map(b=>{const y=b.key;return f.has(y)?b:L.createElement(cC,{key:wd(b),isPresent:!0,presenceAffectsLayout:o,mode:s},b)}),L.createElement(L.Fragment,null,f.size?d:d.map(b=>L.cloneElement(b)))};var EPe=m5e({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),Dj=Pc((e,t)=>{const n=gV("Spinner",e),{label:r="Loading...",thickness:i="2px",speed:o="0.45s",emptyColor:s="transparent",className:a,...l}=dV(e),u=iV("chakra-spinner",a),d={display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:s,borderLeftColor:s,animation:`${EPe} ${o} linear infinite`,...n};return ue.jsx(cc.div,{ref:t,__css:d,className:u,...l,children:r&&ue.jsx(cc.span,{srOnly:!0,children:r})})});Dj.displayName="Spinner";var z5=Pc(function(t,n){const{htmlWidth:r,htmlHeight:i,alt:o,...s}=t;return ue.jsx("img",{width:r,height:i,ref:n,alt:o,...s})});z5.displayName="NativeImage";function APe(e){const{loading:t,src:n,srcSet:r,onLoad:i,onError:o,crossOrigin:s,sizes:a,ignoreFallback:l}=e,[u,d]=L.useState("pending");L.useEffect(()=>{d(n?"loading":"pending")},[n]);const f=L.useRef(),p=L.useCallback(()=>{if(!n)return;g();const m=new Image;m.src=n,s&&(m.crossOrigin=s),r&&(m.srcset=r),a&&(m.sizes=a),t&&(m.loading=t),m.onload=v=>{g(),d("loaded"),i==null||i(v)},m.onerror=v=>{g(),d("failed"),o==null||o(v)},f.current=m},[n,s,r,a,i,o,t]),g=()=>{f.current&&(f.current.onload=null,f.current.onerror=null,f.current=null)};return y5e(()=>{if(!l)return u==="loading"&&p(),()=>{g()}},[u,p,l]),l?"loaded":u}var PPe=(e,t)=>e!=="loaded"&&t==="beforeLoadOrError"||e==="failed"&&t==="onError";function RPe(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var d6=Pc(function(t,n){const{fallbackSrc:r,fallback:i,src:o,srcSet:s,align:a,fit:l,loading:u,ignoreFallback:d,crossOrigin:f,fallbackStrategy:p="beforeLoadOrError",referrerPolicy:g,...m}=t,v=r!==void 0||i!==void 0,x=u!=null||d||!v,_=APe({...t,crossOrigin:f,ignoreFallback:x}),b=PPe(_,p),y={ref:n,objectFit:l,objectPosition:a,...x?m:RPe(m,["onError","onLoad"])};return b?i||ue.jsx(cc.img,{as:z5,className:"chakra-image__placeholder",src:r,...y}):ue.jsx(cc.img,{as:z5,src:o,srcSet:s,crossOrigin:f,loading:u,referrerPolicy:g,className:"chakra-image",...y})});d6.displayName="Image";var V5=Pc(function(t,n){const r=gV("Heading",t),{className:i,...o}=dV(t);return ue.jsx(cc.h2,{ref:n,className:iV("chakra-heading",t.className),...o,__css:r})});V5.displayName="Heading";var f6=cc("div");f6.displayName="Box";var $j=Pc(function(t,n){const{size:r,centerContent:i=!0,...o}=t,s=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return ue.jsx(f6,{ref:n,boxSize:r,__css:{...s,flexShrink:0,flexGrow:0},...o})});$j.displayName="Square";var OPe=Pc(function(t,n){const{size:r,...i}=t;return ue.jsx($j,{size:r,ref:n,borderRadius:"9999px",...i})});OPe.displayName="Circle";var h6=Pc(function(t,n){const{direction:r,align:i,justify:o,wrap:s,basis:a,grow:l,shrink:u,...d}=t,f={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:s,flexBasis:a,flexGrow:l,flexShrink:u};return ue.jsx(cc.div,{ref:n,__css:f,...d})});h6.displayName="Flex";const kPe=""+new URL("logo-13003d72.png",import.meta.url).href,IPe=()=>ue.jsxs(h6,{position:"relative",width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",bg:"#151519",children:[ue.jsx(d6,{src:kPe,w:"8rem",h:"8rem"}),ue.jsx(Dj,{label:"Loading",color:"grey",position:"absolute",size:"sm",width:"24px !important",height:"24px !important",right:"1.5rem",bottom:"1.5rem"})]}),MPe=L.memo(IPe);function j5(e){"@babel/helpers - typeof";return j5=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},j5(e)}var Fj=[],NPe=Fj.forEach,LPe=Fj.slice;function G5(e){return NPe.call(LPe.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}function Bj(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":j5(XMLHttpRequest))==="object"}function DPe(e){return!!e&&typeof e.then=="function"}function $Pe(e){return DPe(e)?e:Promise.resolve(e)}function FPe(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var H5={exports:{}},K0={exports:{}},e7;function BPe(){return e7||(e7=1,function(e,t){var n=typeof self<"u"?self:He,r=function(){function o(){this.fetch=!1,this.DOMException=n.DOMException}return o.prototype=n,new o}();(function(o){(function(s){var a={searchParams:"URLSearchParams"in o,iterable:"Symbol"in o&&"iterator"in Symbol,blob:"FileReader"in o&&"Blob"in o&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in o,arrayBuffer:"ArrayBuffer"in o};function l(A){return A&&DataView.prototype.isPrototypeOf(A)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],d=ArrayBuffer.isView||function(A){return A&&u.indexOf(Object.prototype.toString.call(A))>-1};function f(A){if(typeof A!="string"&&(A=String(A)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(A))throw new TypeError("Invalid character in header field name");return A.toLowerCase()}function p(A){return typeof A!="string"&&(A=String(A)),A}function g(A){var N={next:function(){var F=A.shift();return{done:F===void 0,value:F}}};return a.iterable&&(N[Symbol.iterator]=function(){return N}),N}function m(A){this.map={},A instanceof m?A.forEach(function(N,F){this.append(F,N)},this):Array.isArray(A)?A.forEach(function(N){this.append(N[0],N[1])},this):A&&Object.getOwnPropertyNames(A).forEach(function(N){this.append(N,A[N])},this)}m.prototype.append=function(A,N){A=f(A),N=p(N);var F=this.map[A];this.map[A]=F?F+", "+N:N},m.prototype.delete=function(A){delete this.map[f(A)]},m.prototype.get=function(A){return A=f(A),this.has(A)?this.map[A]:null},m.prototype.has=function(A){return this.map.hasOwnProperty(f(A))},m.prototype.set=function(A,N){this.map[f(A)]=p(N)},m.prototype.forEach=function(A,N){for(var F in this.map)this.map.hasOwnProperty(F)&&A.call(N,this.map[F],F,this)},m.prototype.keys=function(){var A=[];return this.forEach(function(N,F){A.push(F)}),g(A)},m.prototype.values=function(){var A=[];return this.forEach(function(N){A.push(N)}),g(A)},m.prototype.entries=function(){var A=[];return this.forEach(function(N,F){A.push([F,N])}),g(A)},a.iterable&&(m.prototype[Symbol.iterator]=m.prototype.entries);function v(A){if(A.bodyUsed)return Promise.reject(new TypeError("Already read"));A.bodyUsed=!0}function x(A){return new Promise(function(N,F){A.onload=function(){N(A.result)},A.onerror=function(){F(A.error)}})}function _(A){var N=new FileReader,F=x(N);return N.readAsArrayBuffer(A),F}function b(A){var N=new FileReader,F=x(N);return N.readAsText(A),F}function y(A){for(var N=new Uint8Array(A),F=new Array(N.length),B=0;B-1?N:A}function P(A,N){N=N||{};var F=N.body;if(A instanceof P){if(A.bodyUsed)throw new TypeError("Already read");this.url=A.url,this.credentials=A.credentials,N.headers||(this.headers=new m(A.headers)),this.method=A.method,this.mode=A.mode,this.signal=A.signal,!F&&A._bodyInit!=null&&(F=A._bodyInit,A.bodyUsed=!0)}else this.url=String(A);if(this.credentials=N.credentials||this.credentials||"same-origin",(N.headers||!this.headers)&&(this.headers=new m(N.headers)),this.method=E(N.method||this.method||"GET"),this.mode=N.mode||this.mode||null,this.signal=N.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&F)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(F)}P.prototype.clone=function(){return new P(this,{body:this._bodyInit})};function k(A){var N=new FormData;return A.trim().split("&").forEach(function(F){if(F){var B=F.split("="),D=B.shift().replace(/\+/g," "),V=B.join("=").replace(/\+/g," ");N.append(decodeURIComponent(D),decodeURIComponent(V))}}),N}function O(A){var N=new m,F=A.replace(/\r?\n[\t ]+/g," ");return F.split(/\r?\n/).forEach(function(B){var D=B.split(":"),V=D.shift().trim();if(V){var j=D.join(":").trim();N.append(V,j)}}),N}C.call(P.prototype);function M(A,N){N||(N={}),this.type="default",this.status=N.status===void 0?200:N.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in N?N.statusText:"OK",this.headers=new m(N.headers),this.url=N.url||"",this._initBody(A)}C.call(M.prototype),M.prototype.clone=function(){return new M(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new m(this.headers),url:this.url})},M.error=function(){var A=new M(null,{status:0,statusText:""});return A.type="error",A};var G=[301,302,303,307,308];M.redirect=function(A,N){if(G.indexOf(N)===-1)throw new RangeError("Invalid status code");return new M(null,{status:N,headers:{location:A}})},s.DOMException=o.DOMException;try{new s.DOMException}catch{s.DOMException=function(N,F){this.message=N,this.name=F;var B=Error(N);this.stack=B.stack},s.DOMException.prototype=Object.create(Error.prototype),s.DOMException.prototype.constructor=s.DOMException}function U(A,N){return new Promise(function(F,B){var D=new P(A,N);if(D.signal&&D.signal.aborted)return B(new s.DOMException("Aborted","AbortError"));var V=new XMLHttpRequest;function j(){V.abort()}V.onload=function(){var q={status:V.status,statusText:V.statusText,headers:O(V.getAllResponseHeaders()||"")};q.url="responseURL"in V?V.responseURL:q.headers.get("X-Request-URL");var Z="response"in V?V.response:V.responseText;F(new M(Z,q))},V.onerror=function(){B(new TypeError("Network request failed"))},V.ontimeout=function(){B(new TypeError("Network request failed"))},V.onabort=function(){B(new s.DOMException("Aborted","AbortError"))},V.open(D.method,D.url,!0),D.credentials==="include"?V.withCredentials=!0:D.credentials==="omit"&&(V.withCredentials=!1),"responseType"in V&&a.blob&&(V.responseType="blob"),D.headers.forEach(function(q,Z){V.setRequestHeader(Z,q)}),D.signal&&(D.signal.addEventListener("abort",j),V.onreadystatechange=function(){V.readyState===4&&D.signal.removeEventListener("abort",j)}),V.send(typeof D._bodyInit>"u"?null:D._bodyInit)})}return U.polyfill=!0,o.fetch||(o.fetch=U,o.Headers=m,o.Request=P,o.Response=M),s.Headers=m,s.Request=P,s.Response=M,s.fetch=U,Object.defineProperty(s,"__esModule",{value:!0}),s})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var i=r;t=i.fetch,t.default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t}(K0,K0.exports)),K0.exports}(function(e,t){var n;if(typeof fetch=="function"&&(typeof He<"u"&&He.fetch?n=He.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof FPe<"u"&&(typeof window>"u"||typeof window.document>"u")){var r=n||BPe();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(H5,H5.exports);var Uj=H5.exports;const zj=dc(Uj),t7=v7({__proto__:null,default:zj},[Uj]);function m_(e){"@babel/helpers - typeof";return m_=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},m_(e)}var xa;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?xa=global.fetch:typeof window<"u"&&window.fetch?xa=window.fetch:xa=fetch);var Gg;Bj()&&(typeof global<"u"&&global.XMLHttpRequest?Gg=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(Gg=window.XMLHttpRequest));var y_;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?y_=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(y_=window.ActiveXObject));!xa&&t7&&!Gg&&!y_&&(xa=zj||t7);typeof xa!="function"&&(xa=void 0);var W5=function(t,n){if(n&&m_(n)==="object"){var r="";for(var i in n)r+="&"+encodeURIComponent(i)+"="+encodeURIComponent(n[i]);if(!r)return t;t=t+(t.indexOf("?")!==-1?"&":"?")+r.slice(1)}return t},n7=function(t,n,r){xa(t,n).then(function(i){if(!i.ok)return r(i.statusText||"Error",{status:i.status});i.text().then(function(o){r(null,{status:i.status,data:o})}).catch(r)}).catch(r)},r7=!1,UPe=function(t,n,r,i){t.queryStringParams&&(n=W5(n,t.queryStringParams));var o=G5({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);r&&(o["Content-Type"]="application/json");var s=typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions,a=G5({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:o},r7?{}:s);try{n7(n,a,i)}catch(l){if(!s||Object.keys(s).length===0||!l.message||l.message.indexOf("not implemented")<0)return i(l);try{Object.keys(s).forEach(function(u){delete a[u]}),n7(n,a,i),r7=!0}catch(u){i(u)}}},zPe=function(t,n,r,i){r&&m_(r)==="object"&&(r=W5("",r).slice(1)),t.queryStringParams&&(n=W5(n,t.queryStringParams));try{var o;Gg?o=new Gg:o=new y_("MSXML2.XMLHTTP.3.0"),o.open(r?"POST":"GET",n,1),t.crossDomain||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.withCredentials=!!t.withCredentials,r&&o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.overrideMimeType&&o.overrideMimeType("application/json");var s=t.customHeaders;if(s=typeof s=="function"?s():s,s)for(var a in s)o.setRequestHeader(a,s[a]);o.onreadystatechange=function(){o.readyState>3&&i(o.status>=400?o.statusText:null,{status:o.status,data:o.responseText})},o.send(r)}catch(l){console&&console.log(l)}},VPe=function(t,n,r,i){if(typeof r=="function"&&(i=r,r=void 0),i=i||function(){},xa&&n.indexOf("file:")!==0)return UPe(t,n,r,i);if(Bj()||typeof ActiveXObject=="function")return zPe(t,n,r,i);i(new Error("No fetch and no xhr implementation found!"))};function Hg(e){"@babel/helpers - typeof";return Hg=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Hg(e)}function jPe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i7(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};jPe(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return GPe(e,[{key:"init",value:function(n){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=G5(i,this.options||{},qPe()),this.allOptions=o,this.services&&this.options.reloadInterval&&setInterval(function(){return r.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(n,r,i){this._readAny(n,n,r,r,i)}},{key:"read",value:function(n,r,i){this._readAny([n],n,[r],r,i)}},{key:"_readAny",value:function(n,r,i,o,s){var a=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,i)),l=$Pe(l),l.then(function(u){if(!u)return s(null,{});var d=a.services.interpolator.interpolate(u,{lng:n.join("+"),ns:i.join("+")});a.loadUrl(d,s,r,o)})}},{key:"loadUrl",value:function(n,r,i,o){var s=this,a=typeof i=="string"?[i]:i,l=typeof o=="string"?[o]:o,u=this.options.parseLoadPayload(a,l);this.options.request(this.options,n,u,function(d,f){if(f&&(f.status>=500&&f.status<600||!f.status))return r("failed loading "+n+"; status code: "+f.status,!0);if(f&&f.status>=400&&f.status<500)return r("failed loading "+n+"; status code: "+f.status,!1);if(!f&&d&&d.message&&d.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+d.message,!0);if(d)return r(d,!1);var p,g;try{typeof f.data=="string"?p=s.options.parse(f.data,i,o):p=f.data}catch{g="failed parsing "+n+" to json"}if(g)return r(g,!1);r(null,p)})}},{key:"create",value:function(n,r,i,o,s){var a=this;if(this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,i,o),u=0,d=[],f=[];n.forEach(function(p){var g=a.options.addPath;typeof a.options.addPath=="function"&&(g=a.options.addPath(p,r));var m=a.services.interpolator.interpolate(g,{lng:p,ns:r});a.options.request(a.options,m,l,function(v,x){u+=1,d.push(v),f.push(x),u===n.length&&typeof s=="function"&&s(d,f)})})}}},{key:"reload",value:function(){var n=this,r=this.services,i=r.backendConnector,o=r.languageUtils,s=r.logger,a=i.language;if(!(a&&a.toLowerCase()==="cimode")){var l=[],u=function(f){var p=o.toResolveHierarchy(f);p.forEach(function(g){l.indexOf(g)<0&&l.push(g)})};u(a),this.allOptions.preload&&this.allOptions.preload.forEach(function(d){return u(d)}),l.forEach(function(d){n.allOptions.ns.forEach(function(f){i.read(d,f,"read",null,null,function(p,g){p&&s.warn("loading namespace ".concat(f," for language ").concat(d," failed"),p),!p&&g&&s.log("loaded namespace ".concat(f," for language ").concat(d),g),i.loaded("".concat(d,"|").concat(f),p,g)})})})}}}]),e}();jj.type="backend";const KPe=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,XPe={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},YPe=e=>XPe[e],QPe=e=>e.replace(KPe,YPe);let q5={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:QPe};function ZPe(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};q5={...q5,...e}}function EMe(){return q5}let Gj;function JPe(e){Gj=e}function AMe(){return Gj}const e8e={type:"3rdParty",init(e){ZPe(e.options.react),JPe(e)}};Kr.use(jj).use(e8e).init({fallbackLng:"en",debug:!1,backend:{loadPath:"/locales/{{lng}}.json"},interpolation:{escapeValue:!1},returnNull:!1});const c2=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Yf(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function p6(e){return"nodeType"in e}function fi(e){var t,n;return e?Yf(e)?e:p6(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function g6(e){const{Document:t}=fi(e);return e instanceof t}function Um(e){return Yf(e)?!1:e instanceof fi(e).HTMLElement}function t8e(e){return e instanceof fi(e).SVGElement}function Qf(e){return e?Yf(e)?e.document:p6(e)?g6(e)?e:Um(e)?e.ownerDocument:document:document:document}const $s=c2?L.useLayoutEffect:L.useEffect;function d2(e){const t=L.useRef(e);return $s(()=>{t.current=e}),L.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i{e.current=setInterval(r,i)},[]),n=L.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function Wg(e,t){t===void 0&&(t=[e]);const n=L.useRef(e);return $s(()=>{n.current!==e&&(n.current=e)},t),n}function zm(e,t){const n=L.useRef();return L.useMemo(()=>{const r=e(n.current);return n.current=r,r},[...t])}function v_(e){const t=d2(e),n=L.useRef(null),r=L.useCallback(i=>{i!==n.current&&(t==null||t(i,n.current)),n.current=i},[]);return[n,r]}function __(e){const t=L.useRef();return L.useEffect(()=>{t.current=e},[e]),t.current}let dC={};function f2(e,t){return L.useMemo(()=>{if(t)return t;const n=dC[e]==null?0:dC[e]+1;return dC[e]=n,e+"-"+n},[e,t])}function Hj(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{const a=Object.entries(s);for(const[l,u]of a){const d=o[l];d!=null&&(o[l]=d+e*u)}return o},{...t})}}const uf=Hj(1),b_=Hj(-1);function r8e(e){return"clientX"in e&&"clientY"in e}function m6(e){if(!e)return!1;const{KeyboardEvent:t}=fi(e.target);return t&&e instanceof t}function i8e(e){if(!e)return!1;const{TouchEvent:t}=fi(e.target);return t&&e instanceof t}function qg(e){if(i8e(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return r8e(e)?{x:e.clientX,y:e.clientY}:null}const Kg=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[Kg.Translate.toString(e),Kg.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),o7="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function o8e(e){return e.matches(o7)?e:e.querySelector(o7)}const s8e={display:"none"};function a8e(e){let{id:t,value:n}=e;return Lt.createElement("div",{id:t,style:s8e},n)}const l8e={position:"fixed",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};function u8e(e){let{id:t,announcement:n}=e;return Lt.createElement("div",{id:t,style:l8e,role:"status","aria-live":"assertive","aria-atomic":!0},n)}function c8e(){const[e,t]=L.useState("");return{announce:L.useCallback(r=>{r!=null&&t(r)},[]),announcement:e}}const Wj=L.createContext(null);function d8e(e){const t=L.useContext(Wj);L.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of ");return t(e)},[e,t])}function f8e(){const[e]=L.useState(()=>new Set),t=L.useCallback(r=>(e.add(r),()=>e.delete(r)),[e]);return[L.useCallback(r=>{let{type:i,event:o}=r;e.forEach(s=>{var a;return(a=s[i])==null?void 0:a.call(s,o)})},[e]),t]}const h8e={draggable:` + To pick up a draggable item, press the space bar. + While dragging, use the arrow keys to move the item. + Press space again to drop the item in its new position, or press escape to cancel. + `},p8e={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function g8e(e){let{announcements:t=p8e,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=h8e}=e;const{announce:o,announcement:s}=c8e(),a=f2("DndLiveRegion"),[l,u]=L.useState(!1);if(L.useEffect(()=>{u(!0)},[]),d8e(L.useMemo(()=>({onDragStart(f){let{active:p}=f;o(t.onDragStart({active:p}))},onDragMove(f){let{active:p,over:g}=f;t.onDragMove&&o(t.onDragMove({active:p,over:g}))},onDragOver(f){let{active:p,over:g}=f;o(t.onDragOver({active:p,over:g}))},onDragEnd(f){let{active:p,over:g}=f;o(t.onDragEnd({active:p,over:g}))},onDragCancel(f){let{active:p,over:g}=f;o(t.onDragCancel({active:p,over:g}))}}),[o,t])),!l)return null;const d=Lt.createElement(Lt.Fragment,null,Lt.createElement(a8e,{id:r,value:i.draggable}),Lt.createElement(u8e,{id:a,announcement:s}));return n?bs.createPortal(d,n):d}var er;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(er||(er={}));function S_(){}function s7(e,t){return L.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function m8e(){for(var e=arguments.length,t=new Array(e),n=0;n[...t].filter(r=>r!=null),[...t])}const ts=Object.freeze({x:0,y:0});function y8e(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function v8e(e,t){const n=qg(e);if(!n)return"0 0";const r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}function _8e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function b8e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function S8e(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function w8e(e,t){if(!e||e.length===0)return null;const[n]=e;return t?n[t]:n}function x8e(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),o=Math.min(t.top+t.height,e.top+e.height),s=i-r,a=o-n;if(r{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=[];for(const o of r){const{id:s}=o,a=n.get(s);if(a){const l=x8e(a,t);l>0&&i.push({id:s,data:{droppableContainer:o,value:l}})}}return i.sort(b8e)};function T8e(e,t){const{top:n,left:r,bottom:i,right:o}=t;return n<=e.y&&e.y<=i&&r<=e.x&&e.x<=o}const E8e=e=>{let{droppableContainers:t,droppableRects:n,pointerCoordinates:r}=e;if(!r)return[];const i=[];for(const o of t){const{id:s}=o,a=n.get(s);if(a&&T8e(r,a)){const u=S8e(a).reduce((f,p)=>f+y8e(r,p),0),d=Number((u/4).toFixed(4));i.push({id:s,data:{droppableContainer:o,value:d}})}}return i.sort(_8e)};function A8e(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function qj(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:ts}function P8e(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o({...s,top:s.top+e*a.y,bottom:s.bottom+e*a.y,left:s.left+e*a.x,right:s.right+e*a.x}),{...n})}}const R8e=P8e(1);function Kj(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function O8e(e,t,n){const r=Kj(t);if(!r)return e;const{scaleX:i,scaleY:o,x:s,y:a}=r,l=e.left-s-(1-i)*parseFloat(n),u=e.top-a-(1-o)*parseFloat(n.slice(n.indexOf(" ")+1)),d=i?e.width/i:e.width,f=o?e.height/o:e.height;return{width:d,height:f,top:u,right:l+d,bottom:u+f,left:l}}const k8e={ignoreTransform:!1};function Vm(e,t){t===void 0&&(t=k8e);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:u,transformOrigin:d}=fi(e).getComputedStyle(e);u&&(n=O8e(n,u,d))}const{top:r,left:i,width:o,height:s,bottom:a,right:l}=n;return{top:r,left:i,width:o,height:s,bottom:a,right:l}}function a7(e){return Vm(e,{ignoreTransform:!0})}function I8e(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function M8e(e,t){return t===void 0&&(t=fi(e).getComputedStyle(e)),t.position==="fixed"}function N8e(e,t){t===void 0&&(t=fi(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const o=t[i];return typeof o=="string"?n.test(o):!1})}function y6(e,t){const n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(g6(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Um(i)||t8e(i)||n.includes(i))return n;const o=fi(e).getComputedStyle(i);return i!==e&&N8e(i,o)&&n.push(i),M8e(i,o)?n:r(i.parentNode)}return e?r(e):n}function Xj(e){const[t]=y6(e,1);return t??null}function fC(e){return!c2||!e?null:Yf(e)?e:p6(e)?g6(e)||e===Qf(e).scrollingElement?window:Um(e)?e:null:null}function Yj(e){return Yf(e)?e.scrollX:e.scrollLeft}function Qj(e){return Yf(e)?e.scrollY:e.scrollTop}function K5(e){return{x:Yj(e),y:Qj(e)}}var fr;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(fr||(fr={}));function Zj(e){return!c2||!e?!1:e===document.scrollingElement}function Jj(e){const t={x:0,y:0},n=Zj(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},i=e.scrollTop<=t.y,o=e.scrollLeft<=t.x,s=e.scrollTop>=r.y,a=e.scrollLeft>=r.x;return{isTop:i,isLeft:o,isBottom:s,isRight:a,maxScroll:r,minScroll:t}}const L8e={x:.2,y:.2};function D8e(e,t,n,r,i){let{top:o,left:s,right:a,bottom:l}=n;r===void 0&&(r=10),i===void 0&&(i=L8e);const{isTop:u,isBottom:d,isLeft:f,isRight:p}=Jj(e),g={x:0,y:0},m={x:0,y:0},v={height:t.height*i.y,width:t.width*i.x};return!u&&o<=t.top+v.height?(g.y=fr.Backward,m.y=r*Math.abs((t.top+v.height-o)/v.height)):!d&&l>=t.bottom-v.height&&(g.y=fr.Forward,m.y=r*Math.abs((t.bottom-v.height-l)/v.height)),!p&&a>=t.right-v.width?(g.x=fr.Forward,m.x=r*Math.abs((t.right-v.width-a)/v.width)):!f&&s<=t.left+v.width&&(g.x=fr.Backward,m.x=r*Math.abs((t.left+v.width-s)/v.width)),{direction:g,speed:m}}function $8e(e){if(e===document.scrollingElement){const{innerWidth:o,innerHeight:s}=window;return{top:0,left:0,right:o,bottom:s,width:o,height:s}}const{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function eG(e){return e.reduce((t,n)=>uf(t,K5(n)),ts)}function F8e(e){return e.reduce((t,n)=>t+Yj(n),0)}function B8e(e){return e.reduce((t,n)=>t+Qj(n),0)}function tG(e,t){if(t===void 0&&(t=Vm),!e)return;const{top:n,left:r,bottom:i,right:o}=t(e);Xj(e)&&(i<=0||o<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const U8e=[["x",["left","right"],F8e],["y",["top","bottom"],B8e]];class v6{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=y6(n),i=eG(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,s,a]of U8e)for(const l of s)Object.defineProperty(this,l,{get:()=>{const u=a(r),d=i[o]-u;return this.rect[l]+d},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Np{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=t}add(t,n,r){var i;(i=this.target)==null||i.addEventListener(t,n,r),this.listeners.push([t,n,r])}}function z8e(e){const{EventTarget:t}=fi(e);return e instanceof t?e:Qf(e)}function hC(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return typeof t=="number"?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t?r>t.y:!1}var po;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(po||(po={}));function l7(e){e.preventDefault()}function V8e(e){e.stopPropagation()}var Qt;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter"})(Qt||(Qt={}));const nG={start:[Qt.Space,Qt.Enter],cancel:[Qt.Esc],end:[Qt.Space,Qt.Enter]},j8e=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case Qt.Right:return{...n,x:n.x+25};case Qt.Left:return{...n,x:n.x-25};case Qt.Down:return{...n,y:n.y+25};case Qt.Up:return{...n,y:n.y-25}}};class rG{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:n}}=t;this.props=t,this.listeners=new Np(Qf(n)),this.windowListeners=new Np(fi(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(po.Resize,this.handleCancel),this.windowListeners.add(po.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(po.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&tG(r),n(ts)}handleKeyDown(t){if(m6(t)){const{active:n,context:r,options:i}=this.props,{keyboardCodes:o=nG,coordinateGetter:s=j8e,scrollBehavior:a="smooth"}=i,{code:l}=t;if(o.end.includes(l)){this.handleEnd(t);return}if(o.cancel.includes(l)){this.handleCancel(t);return}const{collisionRect:u}=r.current,d=u?{x:u.left,y:u.top}:ts;this.referenceCoordinates||(this.referenceCoordinates=d);const f=s(t,{active:n,context:r.current,currentCoordinates:d});if(f){const p=b_(f,d),g={x:0,y:0},{scrollableAncestors:m}=r.current;for(const v of m){const x=t.code,{isTop:_,isRight:b,isLeft:y,isBottom:S,maxScroll:C,minScroll:T}=Jj(v),E=$8e(v),P={x:Math.min(x===Qt.Right?E.right-E.width/2:E.right,Math.max(x===Qt.Right?E.left:E.left+E.width/2,f.x)),y:Math.min(x===Qt.Down?E.bottom-E.height/2:E.bottom,Math.max(x===Qt.Down?E.top:E.top+E.height/2,f.y))},k=x===Qt.Right&&!b||x===Qt.Left&&!y,O=x===Qt.Down&&!S||x===Qt.Up&&!_;if(k&&P.x!==f.x){const M=v.scrollLeft+p.x,G=x===Qt.Right&&M<=C.x||x===Qt.Left&&M>=T.x;if(G&&!p.y){v.scrollTo({left:M,behavior:a});return}G?g.x=v.scrollLeft-M:g.x=x===Qt.Right?v.scrollLeft-C.x:v.scrollLeft-T.x,g.x&&v.scrollBy({left:-g.x,behavior:a});break}else if(O&&P.y!==f.y){const M=v.scrollTop+p.y,G=x===Qt.Down&&M<=C.y||x===Qt.Up&&M>=T.y;if(G&&!p.x){v.scrollTo({top:M,behavior:a});return}G?g.y=v.scrollTop-M:g.y=x===Qt.Down?v.scrollTop-C.y:v.scrollTop-T.y,g.y&&v.scrollBy({top:-g.y,behavior:a});break}}this.handleMove(t,uf(b_(f,this.referenceCoordinates),g))}}}handleMove(t,n){const{onMove:r}=this.props;t.preventDefault(),r(n)}handleEnd(t){const{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){const{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}rG.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=nG,onActivation:i}=t,{active:o}=n;const{code:s}=e.nativeEvent;if(r.start.includes(s)){const a=o.activatorNode.current;return a&&e.target!==a?!1:(e.preventDefault(),i==null||i({event:e.nativeEvent}),!0)}return!1}}];function u7(e){return!!(e&&"distance"in e)}function c7(e){return!!(e&&"delay"in e)}class _6{constructor(t,n,r){var i;r===void 0&&(r=z8e(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;const{event:o}=t,{target:s}=o;this.props=t,this.events=n,this.document=Qf(s),this.documentListeners=new Np(this.document),this.listeners=new Np(r),this.windowListeners=new Np(fi(s)),this.initialCoordinates=(i=qg(o))!=null?i:ts,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:n}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),this.windowListeners.add(po.Resize,this.handleCancel),this.windowListeners.add(po.DragStart,l7),this.windowListeners.add(po.VisibilityChange,this.handleCancel),this.windowListeners.add(po.ContextMenu,l7),this.documentListeners.add(po.Keydown,this.handleKeydown),n){if(u7(n))return;if(c7(n)){this.timeoutId=setTimeout(this.handleStart,n.delay);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(po.Click,V8e,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(po.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:r,initialCoordinates:i,props:o}=this,{onMove:s,options:{activationConstraint:a}}=o;if(!i)return;const l=(n=qg(t))!=null?n:ts,u=b_(i,l);if(!r&&a){if(c7(a))return hC(u,a.tolerance)?this.handleCancel():void 0;if(u7(a))return a.tolerance!=null&&hC(u,a.tolerance)?this.handleCancel():hC(u,a.distance)?this.handleStart():void 0}t.cancelable&&t.preventDefault(),s(l)}handleEnd(){const{onEnd:t}=this.props;this.detach(),t()}handleCancel(){const{onCancel:t}=this.props;this.detach(),t()}handleKeydown(t){t.code===Qt.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const G8e={move:{name:"pointermove"},end:{name:"pointerup"}};class iG extends _6{constructor(t){const{event:n}=t,r=Qf(n.target);super(t,G8e,r)}}iG.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r==null||r({event:n}),!0)}}];const H8e={move:{name:"mousemove"},end:{name:"mouseup"}};var X5;(function(e){e[e.RightClick=2]="RightClick"})(X5||(X5={}));class oG extends _6{constructor(t){super(t,H8e,Qf(t.event.target))}}oG.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===X5.RightClick?!1:(r==null||r({event:n}),!0)}}];const pC={move:{name:"touchmove"},end:{name:"touchend"}};class sG extends _6{constructor(t){super(t,pC)}static setup(){return window.addEventListener(pC.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(pC.move.name,t)};function t(){}}}sG.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:i}=n;return i.length>1?!1:(r==null||r({event:n}),!0)}}];var Lp;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(Lp||(Lp={}));var w_;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(w_||(w_={}));function W8e(e){let{acceleration:t,activator:n=Lp.Pointer,canScroll:r,draggingRect:i,enabled:o,interval:s=5,order:a=w_.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:d,delta:f,threshold:p}=e;const g=K8e({delta:f,disabled:!o}),[m,v]=n8e(),x=L.useRef({x:0,y:0}),_=L.useRef({x:0,y:0}),b=L.useMemo(()=>{switch(n){case Lp.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Lp.DraggableRect:return i}},[n,i,l]),y=L.useRef(null),S=L.useCallback(()=>{const T=y.current;if(!T)return;const E=x.current.x*_.current.x,P=x.current.y*_.current.y;T.scrollBy(E,P)},[]),C=L.useMemo(()=>a===w_.TreeOrder?[...u].reverse():u,[a,u]);L.useEffect(()=>{if(!o||!u.length||!b){v();return}for(const T of C){if((r==null?void 0:r(T))===!1)continue;const E=u.indexOf(T),P=d[E];if(!P)continue;const{direction:k,speed:O}=D8e(T,P,b,t,p);for(const M of["x","y"])g[M][k[M]]||(O[M]=0,k[M]=0);if(O.x>0||O.y>0){v(),y.current=T,m(S,s),x.current=O,_.current=k;return}}x.current={x:0,y:0},_.current={x:0,y:0},v()},[t,S,r,v,o,s,JSON.stringify(b),JSON.stringify(g),m,u,C,d,JSON.stringify(p)])}const q8e={x:{[fr.Backward]:!1,[fr.Forward]:!1},y:{[fr.Backward]:!1,[fr.Forward]:!1}};function K8e(e){let{delta:t,disabled:n}=e;const r=__(t);return zm(i=>{if(n||!r||!i)return q8e;const o={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[fr.Backward]:i.x[fr.Backward]||o.x===-1,[fr.Forward]:i.x[fr.Forward]||o.x===1},y:{[fr.Backward]:i.y[fr.Backward]||o.y===-1,[fr.Forward]:i.y[fr.Forward]||o.y===1}}},[n,t,r])}function X8e(e,t){const n=t!==null?e.get(t):void 0,r=n?n.node.current:null;return zm(i=>{var o;return t===null?null:(o=r??i)!=null?o:null},[r,t])}function Y8e(e,t){return L.useMemo(()=>e.reduce((n,r)=>{const{sensor:i}=r,o=i.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,r)}));return[...n,...o]},[]),[e,t])}var Xg;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(Xg||(Xg={}));var Y5;(function(e){e.Optimized="optimized"})(Y5||(Y5={}));const d7=new Map;function Q8e(e,t){let{dragging:n,dependencies:r,config:i}=t;const[o,s]=L.useState(null),{frequency:a,measure:l,strategy:u}=i,d=L.useRef(e),f=x(),p=Wg(f),g=L.useCallback(function(_){_===void 0&&(_=[]),!p.current&&s(b=>b===null?_:b.concat(_.filter(y=>!b.includes(y))))},[p]),m=L.useRef(null),v=zm(_=>{if(f&&!n)return d7;if(!_||_===d7||d.current!==e||o!=null){const b=new Map;for(let y of e){if(!y)continue;if(o&&o.length>0&&!o.includes(y.id)&&y.rect.current){b.set(y.id,y.rect.current);continue}const S=y.node.current,C=S?new v6(l(S),S):null;y.rect.current=C,C&&b.set(y.id,C)}return b}return _},[e,o,n,f,l]);return L.useEffect(()=>{d.current=e},[e]),L.useEffect(()=>{f||g()},[n,f]),L.useEffect(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),L.useEffect(()=>{f||typeof a!="number"||m.current!==null||(m.current=setTimeout(()=>{g(),m.current=null},a))},[a,f,g,...r]),{droppableRects:v,measureDroppableContainers:g,measuringScheduled:o!=null};function x(){switch(u){case Xg.Always:return!1;case Xg.BeforeDragging:return n;default:return!n}}}function b6(e,t){return zm(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function Z8e(e,t){return b6(e,t)}function J8e(e){let{callback:t,disabled:n}=e;const r=d2(t),i=L.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(r)},[r,n]);return L.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function h2(e){let{callback:t,disabled:n}=e;const r=d2(t),i=L.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return L.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function e9e(e){return new v6(Vm(e),e)}function f7(e,t,n){t===void 0&&(t=e9e);const[r,i]=L.useReducer(a,null),o=J8e({callback(l){if(e)for(const u of l){const{type:d,target:f}=u;if(d==="childList"&&f instanceof HTMLElement&&f.contains(e)){i();break}}}}),s=h2({callback:i});return $s(()=>{i(),e?(s==null||s.observe(e),o==null||o.observe(document.body,{childList:!0,subtree:!0})):(s==null||s.disconnect(),o==null||o.disconnect())},[e]),r;function a(l){if(!e)return null;if(e.isConnected===!1){var u;return(u=l??n)!=null?u:null}const d=t(e);return JSON.stringify(l)===JSON.stringify(d)?l:d}}function t9e(e){const t=b6(e);return qj(e,t)}const h7=[];function n9e(e){const t=L.useRef(e),n=zm(r=>e?r&&r!==h7&&e&&t.current&&e.parentNode===t.current.parentNode?r:y6(e):h7,[e]);return L.useEffect(()=>{t.current=e},[e]),n}function r9e(e){const[t,n]=L.useState(null),r=L.useRef(e),i=L.useCallback(o=>{const s=fC(o.target);s&&n(a=>a?(a.set(s,K5(s)),new Map(a)):null)},[]);return L.useEffect(()=>{const o=r.current;if(e!==o){s(o);const a=e.map(l=>{const u=fC(l);return u?(u.addEventListener("scroll",i,{passive:!0}),[u,K5(u)]):null}).filter(l=>l!=null);n(a.length?new Map(a):null),r.current=e}return()=>{s(e),s(o)};function s(a){a.forEach(l=>{const u=fC(l);u==null||u.removeEventListener("scroll",i)})}},[i,e]),L.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,s)=>uf(o,s),ts):eG(e):ts,[e,t])}function p7(e,t){t===void 0&&(t=[]);const n=L.useRef(null);return L.useEffect(()=>{n.current=null},t),L.useEffect(()=>{const r=e!==ts;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?b_(e,n.current):ts}function i9e(e){L.useEffect(()=>{if(!c2)return;const t=e.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of t)n==null||n()}},e.map(t=>{let{sensor:n}=t;return n}))}function o9e(e,t){return L.useMemo(()=>e.reduce((n,r)=>{let{eventName:i,handler:o}=r;return n[i]=s=>{o(s,t)},n},{}),[e,t])}function aG(e){return L.useMemo(()=>e?I8e(e):null,[e])}const gC=[];function s9e(e,t){t===void 0&&(t=Vm);const[n]=e,r=aG(n?fi(n):null),[i,o]=L.useReducer(a,gC),s=h2({callback:o});return e.length>0&&i===gC&&o(),$s(()=>{e.length?e.forEach(l=>s==null?void 0:s.observe(l)):(s==null||s.disconnect(),o())},[e]),i;function a(){return e.length?e.map(l=>Zj(l)?r:new v6(t(l),l)):gC}}function lG(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Um(t)?t:e}function a9e(e){let{measure:t}=e;const[n,r]=L.useState(null),i=L.useCallback(u=>{for(const{target:d}of u)if(Um(d)){r(f=>{const p=t(d);return f?{...f,width:p.width,height:p.height}:p});break}},[t]),o=h2({callback:i}),s=L.useCallback(u=>{const d=lG(u);o==null||o.disconnect(),d&&(o==null||o.observe(d)),r(d?t(d):null)},[t,o]),[a,l]=v_(s);return L.useMemo(()=>({nodeRef:a,rect:n,setRef:l}),[n,a,l])}const l9e=[{sensor:iG,options:{}},{sensor:rG,options:{}}],u9e={current:{}},Iv={draggable:{measure:a7},droppable:{measure:a7,strategy:Xg.WhileDragging,frequency:Y5.Optimized},dragOverlay:{measure:Vm}};class Dp extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,r;return(n=(r=this.get(t))==null?void 0:r.node.current)!=null?n:void 0}}const c9e={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Dp,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:S_},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Iv,measureDroppableContainers:S_,windowRect:null,measuringScheduled:!1},uG={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:S_,draggableNodes:new Map,over:null,measureDroppableContainers:S_},jm=L.createContext(uG),cG=L.createContext(c9e);function d9e(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Dp}}}function f9e(e,t){switch(t.type){case er.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case er.DragMove:return e.draggable.active?{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}}:e;case er.DragEnd:case er.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case er.RegisterDroppable:{const{element:n}=t,{id:r}=n,i=new Dp(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case er.SetDroppableDisabled:{const{id:n,key:r,disabled:i}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const s=new Dp(e.droppable.containers);return s.set(n,{...o,disabled:i}),{...e,droppable:{...e.droppable,containers:s}}}case er.UnregisterDroppable:{const{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const o=new Dp(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function h9e(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:i}=L.useContext(jm),o=__(r),s=__(n==null?void 0:n.id);return L.useEffect(()=>{if(!t&&!r&&o&&s!=null){if(!m6(o)||document.activeElement===o.target)return;const a=i.get(s);if(!a)return;const{activatorNode:l,node:u}=a;if(!l.current&&!u.current)return;requestAnimationFrame(()=>{for(const d of[l.current,u.current]){if(!d)continue;const f=o8e(d);if(f){f.focus();break}}})}},[r,t,i,s,o]),null}function dG(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((i,o)=>o({transform:i,...r}),n):n}function p9e(e){return L.useMemo(()=>({draggable:{...Iv.draggable,...e==null?void 0:e.draggable},droppable:{...Iv.droppable,...e==null?void 0:e.droppable},dragOverlay:{...Iv.dragOverlay,...e==null?void 0:e.dragOverlay}}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function g9e(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e;const o=L.useRef(!1),{x:s,y:a}=typeof i=="boolean"?{x:i,y:i}:i;$s(()=>{if(!s&&!a||!t){o.current=!1;return}if(o.current||!r)return;const u=t==null?void 0:t.node.current;if(!u||u.isConnected===!1)return;const d=n(u),f=qj(d,r);if(s||(f.x=0),a||(f.y=0),o.current=!0,Math.abs(f.x)>0||Math.abs(f.y)>0){const p=Xj(u);p&&p.scrollBy({top:f.y,left:f.x})}},[t,s,a,r,n])}const p2=L.createContext({...ts,scaleX:1,scaleY:1});var hl;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(hl||(hl={}));const m9e=L.memo(function(t){var n,r,i,o;let{id:s,accessibility:a,autoScroll:l=!0,children:u,sensors:d=l9e,collisionDetection:f=C8e,measuring:p,modifiers:g,...m}=t;const v=L.useReducer(f9e,void 0,d9e),[x,_]=v,[b,y]=f8e(),[S,C]=L.useState(hl.Uninitialized),T=S===hl.Initialized,{draggable:{active:E,nodes:P,translate:k},droppable:{containers:O}}=x,M=E?P.get(E):null,G=L.useRef({initial:null,translated:null}),U=L.useMemo(()=>{var Xt;return E!=null?{id:E,data:(Xt=M==null?void 0:M.data)!=null?Xt:u9e,rect:G}:null},[E,M]),A=L.useRef(null),[N,F]=L.useState(null),[B,D]=L.useState(null),V=Wg(m,Object.values(m)),j=f2("DndDescribedBy",s),q=L.useMemo(()=>O.getEnabled(),[O]),Z=p9e(p),{droppableRects:ee,measureDroppableContainers:ie,measuringScheduled:se}=Q8e(q,{dragging:T,dependencies:[k.x,k.y],config:Z.droppable}),le=X8e(P,E),W=L.useMemo(()=>B?qg(B):null,[B]),ne=js(),fe=Z8e(le,Z.draggable.measure);g9e({activeNode:E?P.get(E):null,config:ne.layoutShiftCompensation,initialRect:fe,measure:Z.draggable.measure});const pe=f7(le,Z.draggable.measure,fe),ve=f7(le?le.parentElement:null),ye=L.useRef({activatorEvent:null,active:null,activeNode:le,collisionRect:null,collisions:null,droppableRects:ee,draggableNodes:P,draggingNode:null,draggingNodeRect:null,droppableContainers:O,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),We=O.getNodeFor((n=ye.current.over)==null?void 0:n.id),Me=a9e({measure:Z.dragOverlay.measure}),Ee=(r=Me.nodeRef.current)!=null?r:le,lt=T?(i=Me.rect)!=null?i:pe:null,_e=!!(Me.nodeRef.current&&Me.rect),jt=t9e(_e?null:pe),Hn=aG(Ee?fi(Ee):null),Bt=n9e(T?We??le:null),it=s9e(Bt),gt=dG(g,{transform:{x:k.x-jt.x,y:k.y-jt.y,scaleX:1,scaleY:1},activatorEvent:B,active:U,activeNodeRect:pe,containerNodeRect:ve,draggingNodeRect:lt,over:ye.current.over,overlayNodeRect:Me.rect,scrollableAncestors:Bt,scrollableAncestorRects:it,windowRect:Hn}),Jt=W?uf(W,k):null,Nr=r9e(Bt),yr=p7(Nr),hi=p7(Nr,[pe]),wn=uf(gt,yr),on=lt?R8e(lt,gt):null,Wn=U&&on?f({active:U,collisionRect:on,droppableRects:ee,droppableContainers:q,pointerCoordinates:Jt}):null,sn=w8e(Wn,"id"),[Gt,vr]=L.useState(null),Lr=_e?gt:uf(gt,hi),Xr=A8e(Lr,(o=Gt==null?void 0:Gt.rect)!=null?o:null,pe),Ii=L.useCallback((Xt,Ot)=>{let{sensor:qn,options:Dn}=Ot;if(A.current==null)return;const or=P.get(A.current);if(!or)return;const _r=Xt.nativeEvent,br=new qn({active:A.current,activeNode:or,event:_r,options:Dn,context:ye,onStart(Sr){const Kn=A.current;if(Kn==null)return;const Mi=P.get(Kn);if(!Mi)return;const{onDragStart:is}=V.current,to={active:{id:Kn,data:Mi.data,rect:G}};bs.unstable_batchedUpdates(()=>{is==null||is(to),C(hl.Initializing),_({type:er.DragStart,initialCoordinates:Sr,active:Kn}),b({type:"onDragStart",event:to})})},onMove(Sr){_({type:er.DragMove,coordinates:Sr})},onEnd:eo(er.DragEnd),onCancel:eo(er.DragCancel)});bs.unstable_batchedUpdates(()=>{F(br),D(Xt.nativeEvent)});function eo(Sr){return async function(){const{active:Mi,collisions:is,over:to,scrollAdjustedTranslate:za}=ye.current;let Ao=null;if(Mi&&za){const{cancelDrop:wr}=V.current;Ao={activatorEvent:_r,active:Mi,collisions:is,delta:za,over:to},Sr===er.DragEnd&&typeof wr=="function"&&await Promise.resolve(wr(Ao))&&(Sr=er.DragCancel)}A.current=null,bs.unstable_batchedUpdates(()=>{_({type:Sr}),C(hl.Uninitialized),vr(null),F(null),D(null);const wr=Sr===er.DragEnd?"onDragEnd":"onDragCancel";if(Ao){const Gs=V.current[wr];Gs==null||Gs(Ao),b({type:wr,event:Ao})}})}}},[P]),En=L.useCallback((Xt,Ot)=>(qn,Dn)=>{const or=qn.nativeEvent,_r=P.get(Dn);if(A.current!==null||!_r||or.dndKit||or.defaultPrevented)return;const br={active:_r};Xt(qn,Ot.options,br)===!0&&(or.dndKit={capturedBy:Ot.sensor},A.current=Dn,Ii(qn,Ot))},[P,Ii]),Yr=Y8e(d,En);i9e(d),$s(()=>{pe&&S===hl.Initializing&&C(hl.Initialized)},[pe,S]),L.useEffect(()=>{const{onDragMove:Xt}=V.current,{active:Ot,activatorEvent:qn,collisions:Dn,over:or}=ye.current;if(!Ot||!qn)return;const _r={active:Ot,activatorEvent:qn,collisions:Dn,delta:{x:wn.x,y:wn.y},over:or};bs.unstable_batchedUpdates(()=>{Xt==null||Xt(_r),b({type:"onDragMove",event:_r})})},[wn.x,wn.y]),L.useEffect(()=>{const{active:Xt,activatorEvent:Ot,collisions:qn,droppableContainers:Dn,scrollAdjustedTranslate:or}=ye.current;if(!Xt||A.current==null||!Ot||!or)return;const{onDragOver:_r}=V.current,br=Dn.get(sn),eo=br&&br.rect.current?{id:br.id,rect:br.rect.current,data:br.data,disabled:br.disabled}:null,Sr={active:Xt,activatorEvent:Ot,collisions:qn,delta:{x:or.x,y:or.y},over:eo};bs.unstable_batchedUpdates(()=>{vr(eo),_r==null||_r(Sr),b({type:"onDragOver",event:Sr})})},[sn]),$s(()=>{ye.current={activatorEvent:B,active:U,activeNode:le,collisionRect:on,collisions:Wn,droppableRects:ee,draggableNodes:P,draggingNode:Ee,draggingNodeRect:lt,droppableContainers:O,over:Gt,scrollableAncestors:Bt,scrollAdjustedTranslate:wn},G.current={initial:lt,translated:on}},[U,le,Wn,on,P,Ee,lt,ee,O,Gt,Bt,wn]),W8e({...ne,delta:k,draggingRect:on,pointerCoordinates:Jt,scrollableAncestors:Bt,scrollableAncestorRects:it});const Vs=L.useMemo(()=>({active:U,activeNode:le,activeNodeRect:pe,activatorEvent:B,collisions:Wn,containerNodeRect:ve,dragOverlay:Me,draggableNodes:P,droppableContainers:O,droppableRects:ee,over:Gt,measureDroppableContainers:ie,scrollableAncestors:Bt,scrollableAncestorRects:it,measuringConfiguration:Z,measuringScheduled:se,windowRect:Hn}),[U,le,pe,B,Wn,ve,Me,P,O,ee,Gt,ie,Bt,it,Z,se,Hn]),Ji=L.useMemo(()=>({activatorEvent:B,activators:Yr,active:U,activeNodeRect:pe,ariaDescribedById:{draggable:j},dispatch:_,draggableNodes:P,over:Gt,measureDroppableContainers:ie}),[B,Yr,U,pe,_,j,P,Gt,ie]);return Lt.createElement(Wj.Provider,{value:y},Lt.createElement(jm.Provider,{value:Ji},Lt.createElement(cG.Provider,{value:Vs},Lt.createElement(p2.Provider,{value:Xr},u)),Lt.createElement(h9e,{disabled:(a==null?void 0:a.restoreFocus)===!1})),Lt.createElement(g8e,{...a,hiddenTextDescribedById:j}));function js(){const Xt=(N==null?void 0:N.autoScrollEnabled)===!1,Ot=typeof l=="object"?l.enabled===!1:l===!1,qn=T&&!Xt&&!Ot;return typeof l=="object"?{...l,enabled:qn}:{enabled:qn}}}),y9e=L.createContext(null),g7="button",v9e="Droppable";function _9e(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e;const o=f2(v9e),{activators:s,activatorEvent:a,active:l,activeNodeRect:u,ariaDescribedById:d,draggableNodes:f,over:p}=L.useContext(jm),{role:g=g7,roleDescription:m="draggable",tabIndex:v=0}=i??{},x=(l==null?void 0:l.id)===t,_=L.useContext(x?p2:y9e),[b,y]=v_(),[S,C]=v_(),T=o9e(s,t),E=Wg(n);$s(()=>(f.set(t,{id:t,key:o,node:b,activatorNode:S,data:E}),()=>{const k=f.get(t);k&&k.key===o&&f.delete(t)}),[f,t]);const P=L.useMemo(()=>({role:g,tabIndex:v,"aria-disabled":r,"aria-pressed":x&&g===g7?!0:void 0,"aria-roledescription":m,"aria-describedby":d.draggable}),[r,g,v,x,m,d.draggable]);return{active:l,activatorEvent:a,activeNodeRect:u,attributes:P,isDragging:x,listeners:r?void 0:T,node:b,over:p,setNodeRef:y,setActivatorNodeRef:C,transform:_}}function b9e(){return L.useContext(cG)}const S9e="Droppable",w9e={timeout:25};function x9e(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e;const o=f2(S9e),{active:s,dispatch:a,over:l,measureDroppableContainers:u}=L.useContext(jm),d=L.useRef({disabled:n}),f=L.useRef(!1),p=L.useRef(null),g=L.useRef(null),{disabled:m,updateMeasurementsFor:v,timeout:x}={...w9e,...i},_=Wg(v??r),b=L.useCallback(()=>{if(!f.current){f.current=!0;return}g.current!=null&&clearTimeout(g.current),g.current=setTimeout(()=>{u(Array.isArray(_.current)?_.current:[_.current]),g.current=null},x)},[x]),y=h2({callback:b,disabled:m||!s}),S=L.useCallback((P,k)=>{y&&(k&&(y.unobserve(k),f.current=!1),P&&y.observe(P))},[y]),[C,T]=v_(S),E=Wg(t);return L.useEffect(()=>{!y||!C.current||(y.disconnect(),f.current=!1,y.observe(C.current))},[C,y]),$s(()=>(a({type:er.RegisterDroppable,element:{id:r,key:o,disabled:n,node:C,rect:p,data:E}}),()=>a({type:er.UnregisterDroppable,key:o,id:r})),[r]),L.useEffect(()=>{n!==d.current.disabled&&(a({type:er.SetDroppableDisabled,id:r,key:o,disabled:n}),d.current.disabled=n)},[r,o,n,a]),{active:s,rect:p,isOver:(l==null?void 0:l.id)===r,node:C,over:l,setNodeRef:T}}function C9e(e){let{animation:t,children:n}=e;const[r,i]=L.useState(null),[o,s]=L.useState(null),a=__(n);return!n&&!r&&a&&i(a),$s(()=>{if(!o)return;const l=r==null?void 0:r.key,u=r==null?void 0:r.props.id;if(l==null||u==null){i(null);return}Promise.resolve(t(u,o)).then(()=>{i(null)})},[t,r,o]),Lt.createElement(Lt.Fragment,null,n,r?L.cloneElement(r,{ref:s}):null)}const T9e={x:0,y:0,scaleX:1,scaleY:1};function E9e(e){let{children:t}=e;return Lt.createElement(jm.Provider,{value:uG},Lt.createElement(p2.Provider,{value:T9e},t))}const A9e={position:"fixed",touchAction:"none"},P9e=e=>m6(e)?"transform 250ms ease":void 0,R9e=L.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:o,className:s,rect:a,style:l,transform:u,transition:d=P9e}=e;if(!a)return null;const f=i?u:{...u,scaleX:1,scaleY:1},p={...A9e,width:a.width,height:a.height,top:a.top,left:a.left,transform:Kg.Transform.toString(f),transformOrigin:i&&r?v8e(r,a):void 0,transition:typeof d=="function"?d(r):d,...l};return Lt.createElement(n,{className:s,style:p,ref:t},o)}),O9e=e=>t=>{let{active:n,dragOverlay:r}=t;const i={},{styles:o,className:s}=e;if(o!=null&&o.active)for(const[a,l]of Object.entries(o.active))l!==void 0&&(i[a]=n.node.style.getPropertyValue(a),n.node.style.setProperty(a,l));if(o!=null&&o.dragOverlay)for(const[a,l]of Object.entries(o.dragOverlay))l!==void 0&&r.node.style.setProperty(a,l);return s!=null&&s.active&&n.node.classList.add(s.active),s!=null&&s.dragOverlay&&r.node.classList.add(s.dragOverlay),function(){for(const[l,u]of Object.entries(i))n.node.style.setProperty(l,u);s!=null&&s.active&&n.node.classList.remove(s.active)}},k9e=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Kg.Transform.toString(t)},{transform:Kg.Transform.toString(n)}]},I9e={duration:250,easing:"ease",keyframes:k9e,sideEffects:O9e({styles:{active:{opacity:"0"}}})};function M9e(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return d2((o,s)=>{if(t===null)return;const a=n.get(o);if(!a)return;const l=a.node.current;if(!l)return;const u=lG(s);if(!u)return;const{transform:d}=fi(s).getComputedStyle(s),f=Kj(d);if(!f)return;const p=typeof t=="function"?t:N9e(t);return tG(l,i.draggable.measure),p({active:{id:o,data:a.data,node:l,rect:i.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:s,rect:i.dragOverlay.measure(u)},droppableContainers:r,measuringConfiguration:i,transform:f})})}function N9e(e){const{duration:t,easing:n,sideEffects:r,keyframes:i}={...I9e,...e};return o=>{let{active:s,dragOverlay:a,transform:l,...u}=o;if(!t)return;const d={x:a.rect.left-s.rect.left,y:a.rect.top-s.rect.top},f={scaleX:l.scaleX!==1?s.rect.width*l.scaleX/a.rect.width:1,scaleY:l.scaleY!==1?s.rect.height*l.scaleY/a.rect.height:1},p={x:l.x-d.x,y:l.y-d.y,...f},g=i({...u,active:s,dragOverlay:a,transform:{initial:l,final:p}}),[m]=g,v=g[g.length-1];if(JSON.stringify(m)===JSON.stringify(v))return;const x=r==null?void 0:r({active:s,dragOverlay:a,...u}),_=a.node.animate(g,{duration:t,easing:n,fill:"forwards"});return new Promise(b=>{_.onfinish=()=>{x==null||x(),b()}})}}let m7=0;function L9e(e){return L.useMemo(()=>{if(e!=null)return m7++,m7},[e])}const D9e=Lt.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:o,modifiers:s,wrapperElement:a="div",className:l,zIndex:u=999}=e;const{activatorEvent:d,active:f,activeNodeRect:p,containerNodeRect:g,draggableNodes:m,droppableContainers:v,dragOverlay:x,over:_,measuringConfiguration:b,scrollableAncestors:y,scrollableAncestorRects:S,windowRect:C}=b9e(),T=L.useContext(p2),E=L9e(f==null?void 0:f.id),P=dG(s,{activatorEvent:d,active:f,activeNodeRect:p,containerNodeRect:g,draggingNodeRect:x.rect,over:_,overlayNodeRect:x.rect,scrollableAncestors:y,scrollableAncestorRects:S,transform:T,windowRect:C}),k=b6(p),O=M9e({config:r,draggableNodes:m,droppableContainers:v,measuringConfiguration:b}),M=k?x.setRef:void 0;return Lt.createElement(E9e,null,Lt.createElement(C9e,{animation:O},f&&E?Lt.createElement(R9e,{key:E,id:f.id,ref:M,as:a,activatorEvent:d,adjustScale:t,className:l,transition:o,rect:k,style:{zIndex:u,...i},transform:P},n):null))}),$9e=e=>{let{activatorEvent:t,draggingNodeRect:n,transform:r}=e;if(n&&t){const i=qg(t);if(!i)return r;const o=i.x-n.left,s=i.y-n.top;return{...r,x:r.x+o-n.width/2,y:r.y+s-n.height/2}}return r},F9e=()=>M$(),PMe=T$,X0=28,y7={w:X0,h:X0,maxW:X0,maxH:X0,shadow:"dark-lg",borderRadius:"lg",opacity:.3,bg:"base.800",color:"base.50",_dark:{borderColor:"base.200",bg:"base.900",color:"base.100"}},B9e=e=>{if(!e.dragData)return null;if(e.dragData.payloadType==="IMAGE_DTO"){const{thumbnail_url:t,width:n,height:r}=e.dragData.payload.imageDTO;return ue.jsx(f6,{sx:{position:"relative",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",userSelect:"none",cursor:"none"},children:ue.jsx(d6,{sx:{...y7},objectFit:"contain",src:t,width:n,height:r})})}return e.dragData.payloadType==="IMAGE_DTOS"?ue.jsxs(h6,{sx:{cursor:"none",userSelect:"none",position:"relative",alignItems:"center",justifyContent:"center",flexDir:"column",...y7},children:[ue.jsx(V5,{children:e.dragData.payload.imageDTOs.length}),ue.jsx(V5,{size:"sm",children:"Images"})]}):null},U9e=L.memo(B9e);function RMe(e){return x9e(e)}function OMe(e){return _9e(e)}const kMe=(e,t)=>{if(!e||!(t!=null&&t.data.current))return!1;const{actionType:n}=e,{payloadType:r}=t.data.current;if(e.id===t.data.current.id)return!1;switch(n){case"SET_CURRENT_IMAGE":return r==="IMAGE_DTO";case"SET_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_CONTROLNET_IMAGE":return r==="IMAGE_DTO";case"SET_CANVAS_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_NODES_IMAGE":return r==="IMAGE_DTO";case"SET_MULTI_NODES_IMAGE":return r==="IMAGE_DTO"||"IMAGE_DTOS";case"ADD_TO_BATCH":return r==="IMAGE_DTO"||"IMAGE_DTOS";case"ADD_TO_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_DTOS"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload,s=o.board_id??"none",a=e.context.boardId;return s!==a}return r==="IMAGE_DTOS"}case"REMOVE_FROM_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_DTOS"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload;return o.board_id!=="none"}return r==="IMAGE_DTOS"}default:return!1}};function z9e(e){return ue.jsx(m9e,{...e})}const V9e=e=>{const[t,n]=L.useState(null),r=Ie("images"),i=F9e(),o=L.useCallback(d=>{r.trace({dragData:d.active.data.current},"Drag started");const f=d.active.data.current;f&&n(f)},[r]),s=L.useCallback(d=>{var p;r.trace({dragData:d.active.data.current},"Drag ended");const f=(p=d.over)==null?void 0:p.data.current;!t||!f||(i(UU({overData:f,activeData:t})),n(null))},[t,i,r]),a=s7(oG,{activationConstraint:{distance:10}}),l=s7(sG,{activationConstraint:{distance:10}}),u=m8e(a,l);return ue.jsxs(z9e,{onDragStart:o,onDragEnd:s,sensors:u,collisionDetection:E8e,children:[e.children,ue.jsx(D9e,{dropAnimation:null,modifiers:[$9e],children:ue.jsx(TPe,{children:t&&ue.jsx(yPe.div,{layout:!0,initial:{opacity:0,scale:.7},animate:{opacity:1,scale:1,transition:{duration:.1}},children:ue.jsx(U9e,{dragData:t})},"overlay-drag-image")})})]})},j9e=L.memo(V9e),G9e=L.lazy(()=>IN(()=>import("./App-3594329a.js"),["./App-3594329a.js","./menu-11348abc.js","./App-6125620a.css"],import.meta.url)),H9e=L.lazy(()=>IN(()=>import("./ThemeLocaleProvider-31ab5c15.js"),["./ThemeLocaleProvider-31ab5c15.js","./menu-11348abc.js","./ThemeLocaleProvider-5b992bc7.css"],import.meta.url)),W9e=({apiUrl:e,token:t,config:n,headerComponent:r,middleware:i,projectId:o})=>(L.useEffect(()=>(t&&Sg.set(t),e&&wg.set(e),o&&S1.set(o),AU(),i&&i.length>0?J3(kk(),...i):J3(kk()),()=>{wg.set(void 0),Sg.set(void 0),S1.set(void 0)}),[e,t,i,o]),ue.jsx(Lt.StrictMode,{children:ue.jsx(pde,{store:$Ce,children:ue.jsx(Lt.Suspense,{fallback:ue.jsx(MPe,{}),children:ue.jsx(H9e,{children:ue.jsx(j9e,{children:ue.jsx(G9e,{config:n,headerComponent:r})})})})})})),q9e=L.memo(W9e);mC.createRoot(document.getElementById("root")).render(ue.jsx(q9e,{}));export{xMe as $,L as A,ue as B,Eo as C,Mn as D,rf as E,qr as F,Vo as G,Vge as H,Ri as I,kl as J,gs as K,NIe as L,sB as M,rme as N,Mme as O,Hge as P,Zhe as Q,Af as R,ug as S,v5e as T,Pc as U,cc as V,iV as W,hMe as X,cMe as Y,TPe as Z,yPe as _,xL as a,jY as a$,dV as a0,Dj as a1,gV as a2,dMe as a3,fMe as a4,y5e as a5,m5e as a6,pMe as a7,Fu as a8,dc as a9,h6 as aA,V5 as aB,oMe as aC,Tz as aD,Xke as aE,r5e as aF,UE as aG,Qz as aH,o5e as aI,bs as aJ,EP as aK,zE as aL,T7e as aM,Dke as aN,Qke as aO,Zke as aP,RIe as aQ,AIe as aR,Ou as aS,f_e as aT,LU as aU,l7e as aV,EIe as aW,BT as aX,hE as aY,L9 as aZ,JOe as a_,A1 as aa,OJ as ab,Lt as ac,G4e as ad,wMe as ae,ba as af,nV as ag,dAe as ah,yMe as ai,T5 as aj,uMe as ak,SMe as al,si as am,dE as an,nb as ao,PMe as ap,DIe as aq,Cm as ar,zB as as,hU as at,Jb as au,F9e as av,f7e as aw,Un as ax,Ku as ay,f6 as az,lT as b,Wke as b$,Q9e as b0,X9e as b1,Y9e as b2,He as b3,zke as b4,iIe as b5,rIe as b6,Bke as b7,TIe as b8,ECe as b9,cRe as bA,$Re as bB,aRe as bC,xRe as bD,hRe as bE,W_e as bF,lRe as bG,IRe as bH,sRe as bI,VRe as bJ,dRe as bK,CRe as bL,fRe as bM,TRe as bN,yRe as bO,ARe as bP,H_e as bQ,pRe as bR,dO as bS,n7e as bT,r7e as bU,i7e as bV,vRe as bW,o7e as bX,_Re as bY,s7e as bZ,Re as b_,RMe as ba,kMe as bb,wIe as bc,$ke as bd,Fke as be,Hke as bf,N3 as bg,Uke as bh,d6 as bi,kPe as bj,uOe as bk,bl,f0 as bm,SIe as bn,_Ie as bo,CIe as bp,bIe as bq,K9e as br,nRe as bs,rRe as bt,iRe as bu,oRe as bv,ORe as bw,kRe as bx,ZIe as by,JIe as bz,Ete as c,Ie as c$,nfe as c0,a$ as c1,zOe as c2,n$ as c3,PIe as c4,OMe as c5,lMe as c6,BU as c7,jke as c8,O1 as c9,hOe as cA,b7e as cB,Cue as cC,LIe as cD,d7e as cE,ST as cF,vIe as cG,gIe as cH,mIe as cI,yIe as cJ,JRe as cK,jRe as cL,XRe as cM,RRe as cN,h7e as cO,mc as cP,g7e as cQ,da as cR,eSe as cS,tc as cT,bRe as cU,Em as cV,$7e as cW,Z9e as cX,e7e as cY,M7e as cZ,eMe as c_,xIe as ca,Gke as cb,Nke as cc,k1 as cd,iMe as ce,k7e as cf,aOe as cg,A7e as ch,Vke as ci,Yke as cj,FT as ck,wT as cl,uRe as cm,pOe as cn,Kr as co,v7e as cp,P7e as cq,E7e as cr,G1e as cs,y7e as ct,S7e as cu,w7e as cv,Sue as cw,d1e as cx,f1e as cy,oOe as cz,pae as d,C7e as d$,XD as d0,q7e as d1,Vve as d2,PRe as d3,YD as d4,N7e as d5,gue as d6,F7e as d7,ZD as d8,eOe as d9,mRe as dA,L7e as dB,lR as dC,cIe as dD,$T as dE,Kde as dF,_d as dG,uR as dH,dIe as dI,fIe as dJ,hIe as dK,Xde as dL,pIe as dM,dF as dN,aIe as dO,uIe as dP,oIe as dQ,hCe as dR,IO as dS,sIe as dT,YRe as dU,QRe as dV,qRe as dW,KRe as dX,WRe as dY,X7e as dZ,V7e as d_,wue as da,Ss as db,ERe as dc,BRe as dd,tRe as de,ole as df,zRe as dg,t7e as dh,tOe as di,QIe as dj,sSe as dk,rOe as dl,Se as dm,Ui as dn,pn as dp,Rs as dq,I7e as dr,kIe as ds,IIe as dt,_F as du,D7e as dv,OIe as dw,FD as dx,ZRe as dy,ile as dz,xD as e,vOe as e$,z7e as e0,J7e as e1,K7e as e2,x7e as e3,G7e as e4,j7e as e5,B7e as e6,W7e as e7,eRe as e8,U7e as e9,zIe as eA,UIe as eB,VIe as eC,qIe as eD,Oye as eE,BB as eF,GU as eG,dQ as eH,rt as eI,ske as eJ,Tke as eK,Cke as eL,BOe as eM,gke as eN,Ake as eO,b_e as eP,kOe as eQ,tke as eR,tp as eS,QOe as eT,IOe as eU,nS as eV,eke as eW,POe as eX,ZOe as eY,ROe as eZ,LOe as e_,H7e as ea,J9e as eb,RB as ec,_T as ed,Y7e as ee,z1 as ef,Ne as eg,Q7e as eh,mU as ei,gRe as ej,Z7e as ek,T$ as el,M$ as em,YIe as en,jIe as eo,GIe as ep,HIe as eq,sE as er,KIe as es,XIe as et,Ig as eu,rb as ev,BIe as ew,PCe as ex,$Ie as ey,FIe as ez,kL as f,rMe as f$,yOe as f0,mOe as f1,Eke as f2,i$ as f3,Sg as f4,xOe as f5,COe as f6,TOe as f7,xke as f8,$Oe as f9,cke as fA,dke as fB,Ike as fC,vke as fD,Mke as fE,XOe as fF,KOe as fG,AOe as fH,EOe as fI,Oke as fJ,UOe as fK,v_e as fL,g_e as fM,m_e as fN,y_e as fO,SOe as fP,nOe as fQ,bue as fR,GRe as fS,wOe as fT,WOe as fU,kke as fV,MRe as fW,NRe as fX,LRe as fY,DRe as fZ,qOe as f_,DOe as fa,zue as fb,wke as fc,__e as fd,MOe as fe,uCe as ff,fCe as fg,jOe as fh,GOe as fi,ake as fj,oke as fk,nke as fl,_Oe as fm,bOe as fn,R7e as fo,O7e as fp,YOe as fq,VOe as fr,lke as fs,pke as ft,uke as fu,FOe as fv,OOe as fw,Ske as fx,bke as fy,fke as fz,aae as g,lOe as g0,JD as g1,dOe as g2,cOe as g3,fOe as g4,nle as g5,c_e as g6,aMe as g7,rV as g8,bMe as g9,vMe as ga,gMe as gb,_Me as gc,Ts as gd,mMe as ge,sMe as gf,V4e as gg,N4e as gh,CMe as gi,EMe as gj,AMe as gk,UL as h,Pi as i,Uf as j,eb as k,gr as l,J_ as m,cm as n,Jo as o,tu as p,Q_ as q,Fs as r,fm as s,sx as t,iT as u,RL as v,fT as w,mD as x,IL as y,Jae as z}; diff --git a/invokeai/frontend/web/dist/assets/menu-11348abc.js b/invokeai/frontend/web/dist/assets/menu-11348abc.js new file mode 100644 index 0000000000..bfcf7978dc --- /dev/null +++ b/invokeai/frontend/web/dist/assets/menu-11348abc.js @@ -0,0 +1 @@ +import{A as p,B as d,a5 as Z,aJ as xe,gi as We,_ as Be,V as j,a8 as q,U as z,W as R,a2 as _e,a1 as De,a0 as Ce,$ as Ge,Z as Ue,gj as Ve,gk as Ze,ac as A,g7 as D,gf as qe,g9 as Xe}from"./index-de589048.js";function Je(e,t){return`${e} returned \`undefined\`. Seems you forgot to wrap component within ${t}`}function M(e={}){const{name:t,strict:r=!0,hookName:o="useContext",providerName:a="Provider",errorMessage:n,defaultValue:s}=e,i=p.createContext(s);i.displayName=t;function l(){var c;const u=p.useContext(i);if(!u&&r){const f=new Error(n??Je(o,a));throw f.name="ContextError",(c=Error.captureStackTrace)==null||c.call(Error,f,l),f}return u}return[i.Provider,l,i]}var[Ke,Ye]=M({strict:!1,name:"PortalManagerContext"});function Qe(e){const{children:t,zIndex:r}=e;return d.jsx(Ke,{value:{zIndex:r},children:t})}Qe.displayName="PortalManager";var[ke,et]=M({strict:!1,name:"PortalContext"}),J="chakra-portal",tt=".chakra-portal",rt=e=>d.jsx("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0},children:e.children}),nt=e=>{const{appendToParentPortal:t,children:r}=e,[o,a]=p.useState(null),n=p.useRef(null),[,s]=p.useState({});p.useEffect(()=>s({}),[]);const i=et(),l=Ye();Z(()=>{if(!o)return;const u=o.ownerDocument,f=t?i??u.body:u.body;if(!f)return;n.current=u.createElement("div"),n.current.className=J,f.appendChild(n.current),s({});const y=n.current;return()=>{f.contains(y)&&f.removeChild(y)}},[o]);const c=l!=null&&l.zIndex?d.jsx(rt,{zIndex:l==null?void 0:l.zIndex,children:r}):r;return n.current?xe.createPortal(d.jsx(ke,{value:n.current,children:c}),n.current):d.jsx("span",{ref:u=>{u&&a(u)}})},ot=e=>{const{children:t,containerRef:r,appendToParentPortal:o}=e,a=r.current,n=a??(typeof window<"u"?document.body:void 0),s=p.useMemo(()=>{const l=a==null?void 0:a.ownerDocument.createElement("div");return l&&(l.className=J),l},[a]),[,i]=p.useState({});return Z(()=>i({}),[]),Z(()=>{if(!(!s||!n))return n.appendChild(s),()=>{n.removeChild(s)}},[s,n]),n&&s?xe.createPortal(d.jsx(ke,{value:o?s:null,children:t}),s):null};function G(e){const t={appendToParentPortal:!0,...e},{containerRef:r,...o}=t;return r?d.jsx(ot,{containerRef:r,...o}):d.jsx(nt,{...o})}G.className=J;G.selector=tt;G.displayName="Portal";function m(e,t={}){let r=!1;function o(){if(!r){r=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function a(...u){o();for(const f of u)t[f]=l(f);return m(e,t)}function n(...u){for(const f of u)f in t||(t[f]=l(f));return m(e,t)}function s(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.selector]))}function i(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.className]))}function l(u){const g=`chakra-${(["container","root"].includes(u??"")?[e]:[e,u]).filter(Boolean).join("__")}`;return{className:g,selector:`.${g}`,toString:()=>u}}return{parts:a,toPart:l,extend:n,selectors:s,classnames:i,get keys(){return Object.keys(t)},__type:{}}}var Or=m("accordion").parts("root","container","button","panel").extend("icon"),zr=m("alert").parts("title","description","container").extend("icon","spinner"),Rr=m("avatar").parts("label","badge","container").extend("excessLabel","group"),Mr=m("breadcrumb").parts("link","item","container").extend("separator");m("button").parts();var Lr=m("checkbox").parts("control","icon","container").extend("label");m("progress").parts("track","filledTrack").extend("label");var Fr=m("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Hr=m("editable").parts("preview","input","textarea"),Wr=m("form").parts("container","requiredIndicator","helperText"),Br=m("formError").parts("text","icon"),Dr=m("input").parts("addon","field","element","group"),Gr=m("list").parts("container","item","icon"),at=m("menu").parts("button","list","item").extend("groupTitle","icon","command","divider"),Ur=m("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Vr=m("numberinput").parts("root","field","stepperGroup","stepper");m("pininput").parts("field");var Zr=m("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),qr=m("progress").parts("label","filledTrack","track"),Xr=m("radio").parts("container","control","label"),Jr=m("select").parts("field","icon"),Kr=m("slider").parts("container","track","thumb","filledTrack","mark"),Yr=m("stat").parts("container","label","helpText","number","icon"),Qr=m("switch").parts("container","track","thumb"),en=m("table").parts("table","thead","tbody","tr","th","td","tfoot","caption"),tn=m("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator"),rn=m("tag").parts("container","label","closeButton"),nn=m("card").parts("container","header","body","footer");function P(e,t){return r=>r.colorMode==="dark"?t:e}function on(e){const{orientation:t,vertical:r,horizontal:o}=e;return t?t==="vertical"?r:o:{}}var st=(e,t)=>e.find(r=>r.id===t);function re(e,t){const r=we(e,t),o=r?e[r].findIndex(a=>a.id===t):-1;return{position:r,index:o}}function we(e,t){for(const[r,o]of Object.entries(e))if(st(o,t))return r}function it(e){const t=e.includes("right"),r=e.includes("left");let o="center";return t&&(o="flex-end"),r&&(o="flex-start"),{display:"flex",flexDirection:"column",alignItems:o}}function lt(e){const r=e==="top"||e==="bottom"?"0 auto":void 0,o=e.includes("top")?"env(safe-area-inset-top, 0px)":void 0,a=e.includes("bottom")?"env(safe-area-inset-bottom, 0px)":void 0,n=e.includes("left")?void 0:"env(safe-area-inset-right, 0px)",s=e.includes("right")?void 0:"env(safe-area-inset-left, 0px)";return{position:"fixed",zIndex:"var(--toast-z-index, 5500)",pointerEvents:"none",display:"flex",flexDirection:"column",margin:r,top:o,bottom:a,right:n,left:s}}function ct(e,t=[]){const r=p.useRef(e);return p.useEffect(()=>{r.current=e}),p.useCallback((...o)=>{var a;return(a=r.current)==null?void 0:a.call(r,...o)},t)}function ut(e,t){const r=ct(e);p.useEffect(()=>{if(t==null)return;let o=null;return o=window.setTimeout(()=>{r()},t),()=>{o&&window.clearTimeout(o)}},[t,r])}function ne(e,t){const r=p.useRef(!1),o=p.useRef(!1);p.useEffect(()=>{if(r.current&&o.current)return e();o.current=!0},t),p.useEffect(()=>(r.current=!0,()=>{r.current=!1}),[])}var dt={initial:e=>{const{position:t}=e,r=["top","bottom"].includes(t)?"y":"x";let o=["top-right","bottom-right"].includes(t)?1:-1;return t==="bottom"&&(o=1),{opacity:0,[r]:o*24}},animate:{opacity:1,y:0,x:0,scale:1,transition:{duration:.4,ease:[.4,0,.2,1]}},exit:{opacity:0,scale:.85,transition:{duration:.2,ease:[.4,0,1,1]}}},Pe=p.memo(e=>{const{id:t,message:r,onCloseComplete:o,onRequestRemove:a,requestClose:n=!1,position:s="bottom",duration:i=5e3,containerStyle:l,motionVariants:c=dt,toastSpacing:u="0.5rem"}=e,[f,y]=p.useState(i),g=We();ne(()=>{g||o==null||o()},[g]),ne(()=>{y(i)},[i]);const h=()=>y(null),$=()=>y(i),S=()=>{g&&a()};p.useEffect(()=>{g&&n&&a()},[g,n,a]),ut(S,f);const H=p.useMemo(()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:u,...l}),[l,u]),N=p.useMemo(()=>it(s),[s]);return d.jsx(Be.div,{layout:!0,className:"chakra-toast",variants:c,initial:"initial",animate:"animate",exit:"exit",onHoverStart:h,onHoverEnd:$,custom:{position:s},style:N,children:d.jsx(j.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:H,children:q(r,{id:t,onClose:S})})})});Pe.displayName="ToastComponent";function ft(e,t){var r;const o=e??"bottom",n={"top-start":{ltr:"top-left",rtl:"top-right"},"top-end":{ltr:"top-right",rtl:"top-left"},"bottom-start":{ltr:"bottom-left",rtl:"bottom-right"},"bottom-end":{ltr:"bottom-right",rtl:"bottom-left"}}[o];return(r=n==null?void 0:n[t])!=null?r:o}var oe={path:d.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[d.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),d.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),d.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},L=z((e,t)=>{const{as:r,viewBox:o,color:a="currentColor",focusable:n=!1,children:s,className:i,__css:l,...c}=e,u=R("chakra-icon",i),f=_e("Icon",e),y={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:a,...l,...f},g={ref:t,focusable:n,className:u,__css:y},h=o??oe.viewBox;if(r&&typeof r!="string")return d.jsx(j.svg,{as:r,...g,...c});const $=s??oe.path;return d.jsx(j.svg,{verticalAlign:"middle",viewBox:h,...g,...c,children:$})});L.displayName="Icon";function pt(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm6.927,8.2-6.845,9.289a1.011,1.011,0,0,1-1.43.188L5.764,13.769a1,1,0,1,1,1.25-1.562l4.076,3.261,6.227-8.451A1,1,0,1,1,18.927,8.2Z"})})}function mt(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm.25,5a1.5,1.5,0,1,1-1.5,1.5A1.5,1.5,0,0,1,12.25,5ZM14.5,18.5h-4a1,1,0,0,1,0-2h.75a.25.25,0,0,0,.25-.25v-4.5a.25.25,0,0,0-.25-.25H10.5a1,1,0,0,1,0-2h1a2,2,0,0,1,2,2v4.75a.25.25,0,0,0,.25.25h.75a1,1,0,1,1,0,2Z"})})}function ae(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})}var[gt,K]=M({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[bt,Y]=M({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),Ae={info:{icon:mt,colorScheme:"blue"},warning:{icon:ae,colorScheme:"orange"},success:{icon:pt,colorScheme:"green"},error:{icon:ae,colorScheme:"red"},loading:{icon:De,colorScheme:"blue"}};function yt(e){return Ae[e].colorScheme}function vt(e){return Ae[e].icon}var je=z(function(t,r){const o=Y(),{status:a}=K(),n={display:"inline",...o.description};return d.jsx(j.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__desc",t.className),__css:n})});je.displayName="AlertDescription";function Ee(e){const{status:t}=K(),r=vt(t),o=Y(),a=t==="loading"?o.spinner:o.icon;return d.jsx(j.span,{display:"inherit","data-status":t,...e,className:R("chakra-alert__icon",e.className),__css:a,children:e.children||d.jsx(r,{h:"100%",w:"100%"})})}Ee.displayName="AlertIcon";var Ne=z(function(t,r){const o=Y(),{status:a}=K();return d.jsx(j.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__title",t.className),__css:o.title})});Ne.displayName="AlertTitle";var $e=z(function(t,r){var o;const{status:a="info",addRole:n=!0,...s}=Ce(t),i=(o=t.colorScheme)!=null?o:yt(a),l=Ge("Alert",{...t,colorScheme:i}),c={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...l.container};return d.jsx(gt,{value:{status:a},children:d.jsx(bt,{value:l,children:d.jsx(j.div,{"data-status":a,role:n?"alert":void 0,ref:r,...s,className:R("chakra-alert",t.className),__css:c})})})});$e.displayName="Alert";function ht(e){return d.jsx(L,{focusable:"false","aria-hidden":!0,...e,children:d.jsx("path",{fill:"currentColor",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"})})}var Te=z(function(t,r){const o=_e("CloseButton",t),{children:a,isDisabled:n,__css:s,...i}=Ce(t),l={outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0};return d.jsx(j.button,{type:"button","aria-label":"Close",ref:r,disabled:n,__css:{...l,...o,...s},...i,children:a||d.jsx(ht,{width:"1em",height:"1em"})})});Te.displayName="CloseButton";var St={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},C=xt(St);function xt(e){let t=e;const r=new Set,o=a=>{t=a(t),r.forEach(n=>n())};return{getState:()=>t,subscribe:a=>(r.add(a),()=>{o(()=>e),r.delete(a)}),removeToast:(a,n)=>{o(s=>({...s,[n]:s[n].filter(i=>i.id!=a)}))},notify:(a,n)=>{const s=_t(a,n),{position:i,id:l}=s;return o(c=>{var u,f;const g=i.includes("top")?[s,...(u=c[i])!=null?u:[]]:[...(f=c[i])!=null?f:[],s];return{...c,[i]:g}}),l},update:(a,n)=>{a&&o(s=>{const i={...s},{position:l,index:c}=re(i,a);return l&&c!==-1&&(i[l][c]={...i[l][c],...n,message:Ie(n)}),i})},closeAll:({positions:a}={})=>{o(n=>(a??["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce((l,c)=>(l[c]=n[c].map(u=>({...u,requestClose:!0})),l),{...n}))},close:a=>{o(n=>{const s=we(n,a);return s?{...n,[s]:n[s].map(i=>i.id==a?{...i,requestClose:!0}:i)}:n})},isActive:a=>!!re(C.getState(),a).position}}var se=0;function _t(e,t={}){var r,o;se+=1;const a=(r=t.id)!=null?r:se,n=(o=t.position)!=null?o:"bottom";return{id:a,message:e,position:n,duration:t.duration,onCloseComplete:t.onCloseComplete,onRequestRemove:()=>C.removeToast(String(a),n),status:t.status,requestClose:!1,containerStyle:t.containerStyle}}var Ct=e=>{const{status:t,variant:r="solid",id:o,title:a,isClosable:n,onClose:s,description:i,colorScheme:l,icon:c}=e,u=o?{root:`toast-${o}`,title:`toast-${o}-title`,description:`toast-${o}-description`}:void 0;return d.jsxs($e,{addRole:!1,status:t,variant:r,id:u==null?void 0:u.root,alignItems:"start",borderRadius:"md",boxShadow:"lg",paddingEnd:8,textAlign:"start",width:"auto",colorScheme:l,children:[d.jsx(Ee,{children:c}),d.jsxs(j.div,{flex:"1",maxWidth:"100%",children:[a&&d.jsx(Ne,{id:u==null?void 0:u.title,children:a}),i&&d.jsx(je,{id:u==null?void 0:u.description,display:"block",children:i})]}),n&&d.jsx(Te,{size:"sm",onClick:s,position:"absolute",insetEnd:1,top:1})]})};function Ie(e={}){const{render:t,toastComponent:r=Ct}=e;return a=>typeof t=="function"?t({...a,...e}):d.jsx(r,{...a,...e})}function an(e,t){const r=a=>{var n;return{...t,...a,position:ft((n=a==null?void 0:a.position)!=null?n:t==null?void 0:t.position,e)}},o=a=>{const n=r(a),s=Ie(n);return C.notify(s,n)};return o.update=(a,n)=>{C.update(a,r(n))},o.promise=(a,n)=>{const s=o({...n.loading,status:"loading",duration:null});a.then(i=>o.update(s,{status:"success",duration:5e3,...q(n.success,i)})).catch(i=>o.update(s,{status:"error",duration:5e3,...q(n.error,i)}))},o.closeAll=C.closeAll,o.close=C.close,o.isActive=C.isActive,o}var[sn,ln]=M({name:"ToastOptionsContext",strict:!1}),cn=e=>{const t=p.useSyncExternalStore(C.subscribe,C.getState,C.getState),{motionVariants:r,component:o=Pe,portalProps:a}=e,s=Object.keys(t).map(i=>{const l=t[i];return d.jsx("div",{role:"region","aria-live":"polite","aria-label":"Notifications",id:`chakra-toast-manager-${i}`,style:lt(i),children:d.jsx(Ue,{initial:!1,children:l.map(c=>d.jsx(o,{motionVariants:r,...c},c.id))})},i)});return d.jsx(G,{...a,children:s})};function kt(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),r=0;r()=>{if(e.isInitialized)t();else{const r=()=>{setTimeout(()=>{e.off("initialized",r)},0),t()};e.on("initialized",r)}};function le(e,t,r){e.loadNamespaces(t,Oe(e,r))}function ce(e,t,r,o){typeof r=="string"&&(r=[r]),r.forEach(a=>{e.options.ns.indexOf(a)<0&&e.options.ns.push(a)}),e.loadLanguages(t,Oe(e,o))}function wt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const o=t.languages[0],a=t.options?t.options.fallbackLng:!1,n=t.languages[t.languages.length-1];if(o.toLowerCase()==="cimode")return!0;const s=(i,l)=>{const c=t.services.backendConnector.state[`${i}|${l}`];return c===-1||c===2};return r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!s(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(o,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||s(o,e)&&(!a||s(n,e)))}function Pt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!t.languages||!t.languages.length?(X("i18n.languages were undefined or empty",t.languages),!0):t.options.ignoreJSONStructure!==void 0?t.hasLoadedNamespace(e,{lng:r.lng,precheck:(a,n)=>{if(r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&a.services.backendConnector.backend&&a.isLanguageChangingTo&&!n(a.isLanguageChangingTo,e))return!1}}):wt(e,t,r)}const At=p.createContext();class jt{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(r=>{this.usedNamespaces[r]||(this.usedNamespaces[r]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Et=(e,t)=>{const r=p.useRef();return p.useEffect(()=>{r.current=t?r.current:e},[e,t]),r.current};function un(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:r}=t,{i18n:o,defaultNS:a}=p.useContext(At)||{},n=r||o||Ze();if(n&&!n.reportNamespaces&&(n.reportNamespaces=new jt),!n){X("You will need to pass in an i18next instance by using initReactI18next");const v=(w,x)=>typeof x=="string"?x:x&&typeof x=="object"&&typeof x.defaultValue=="string"?x.defaultValue:Array.isArray(w)?w[w.length-1]:w,k=[v,{},!1];return k.t=v,k.i18n={},k.ready=!1,k}n.options.react&&n.options.react.wait!==void 0&&X("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...Ve(),...n.options.react,...t},{useSuspense:i,keyPrefix:l}=s;let c=e||a||n.options&&n.options.defaultNS;c=typeof c=="string"?[c]:c||["translation"],n.reportNamespaces.addUsedNamespaces&&n.reportNamespaces.addUsedNamespaces(c);const u=(n.isInitialized||n.initializedStoreOnce)&&c.every(v=>Pt(v,n,s));function f(){return n.getFixedT(t.lng||null,s.nsMode==="fallback"?c:c[0],l)}const[y,g]=p.useState(f);let h=c.join();t.lng&&(h=`${t.lng}${h}`);const $=Et(h),S=p.useRef(!0);p.useEffect(()=>{const{bindI18n:v,bindI18nStore:k}=s;S.current=!0,!u&&!i&&(t.lng?ce(n,t.lng,c,()=>{S.current&&g(f)}):le(n,c,()=>{S.current&&g(f)})),u&&$&&$!==h&&S.current&&g(f);function w(){S.current&&g(f)}return v&&n&&n.on(v,w),k&&n&&n.store.on(k,w),()=>{S.current=!1,v&&n&&v.split(" ").forEach(x=>n.off(x,w)),k&&n&&k.split(" ").forEach(x=>n.store.off(x,w))}},[n,h]);const H=p.useRef(!0);p.useEffect(()=>{S.current&&!H.current&&g(f),H.current=!1},[n,l]);const N=[y,n,u];if(N.t=y,N.i18n=n,N.ready=u,u||!u&&!i)return N;throw new Promise(v=>{t.lng?ce(n,t.lng,c,()=>v()):le(n,c,()=>v())})}const Nt={dark:["#C1C2C5","#A6A7AB","#909296","#5c5f66","#373A40","#2C2E33","#25262b","#1A1B1E","#141517","#101113"],gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]};function $t(e){return()=>({fontFamily:e.fontFamily||"sans-serif"})}var Tt=Object.defineProperty,ue=Object.getOwnPropertySymbols,It=Object.prototype.hasOwnProperty,Ot=Object.prototype.propertyIsEnumerable,de=(e,t,r)=>t in e?Tt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fe=(e,t)=>{for(var r in t||(t={}))It.call(t,r)&&de(e,r,t[r]);if(ue)for(var r of ue(t))Ot.call(t,r)&&de(e,r,t[r]);return e};function zt(e){return t=>({WebkitTapHighlightColor:"transparent",[t||"&:focus"]:fe({},e.focusRing==="always"||e.focusRing==="auto"?e.focusRingStyles.styles(e):e.focusRingStyles.resetStyles(e)),[t?t.replace(":focus",":focus:not(:focus-visible)"):"&:focus:not(:focus-visible)"]:fe({},e.focusRing==="auto"||e.focusRing==="never"?e.focusRingStyles.resetStyles(e):null)})}function F(e){return t=>typeof e.primaryShade=="number"?e.primaryShade:e.primaryShade[t||e.colorScheme]}function Q(e){const t=F(e);return(r,o,a=!0,n=!0)=>{if(typeof r=="string"&&r.includes(".")){const[i,l]=r.split("."),c=parseInt(l,10);if(i in e.colors&&c>=0&&c<10)return e.colors[i][typeof o=="number"&&!n?o:c]}const s=typeof o=="number"?o:t();return r in e.colors?e.colors[r][s]:a?e.colors[e.primaryColor][s]:r}}function ze(e){let t="";for(let r=1;r{const a={from:(o==null?void 0:o.from)||e.defaultGradient.from,to:(o==null?void 0:o.to)||e.defaultGradient.to,deg:(o==null?void 0:o.deg)||e.defaultGradient.deg};return`linear-gradient(${a.deg}deg, ${t(a.from,r(),!1)} 0%, ${t(a.to,r(),!1)} 100%)`}}function Me(e){return t=>{if(typeof t=="number")return`${t/16}${e}`;if(typeof t=="string"){const r=t.replace("px","");if(!Number.isNaN(Number(r)))return`${Number(r)/16}${e}`}return t}}const E=Me("rem"),U=Me("em");function Le({size:e,sizes:t,units:r}){return e in t?t[e]:typeof e=="number"?r==="em"?U(e):E(e):e||t.md}function W(e){return typeof e=="number"?e:typeof e=="string"&&e.includes("rem")?Number(e.replace("rem",""))*16:typeof e=="string"&&e.includes("em")?Number(e.replace("em",""))*16:Number(e)}function Lt(e){return t=>`@media (min-width: ${U(W(Le({size:t,sizes:e.breakpoints})))})`}function Ft(e){return t=>`@media (max-width: ${U(W(Le({size:t,sizes:e.breakpoints}))-1)})`}function Ht(e){return/^#?([0-9A-F]{3}){1,2}$/i.test(e)}function Wt(e){let t=e.replace("#","");if(t.length===3){const s=t.split("");t=[s[0],s[0],s[1],s[1],s[2],s[2]].join("")}const r=parseInt(t,16),o=r>>16&255,a=r>>8&255,n=r&255;return{r:o,g:a,b:n,a:1}}function Bt(e){const[t,r,o,a]=e.replace(/[^0-9,.]/g,"").split(",").map(Number);return{r:t,g:r,b:o,a:a||1}}function ee(e){return Ht(e)?Wt(e):e.startsWith("rgb")?Bt(e):{r:0,g:0,b:0,a:1}}function T(e,t){if(typeof e!="string"||t>1||t<0)return"rgba(0, 0, 0, 1)";if(e.startsWith("var(--"))return e;const{r,g:o,b:a}=ee(e);return`rgba(${r}, ${o}, ${a}, ${t})`}function Dt(e=0){return{position:"absolute",top:E(e),right:E(e),left:E(e),bottom:E(e)}}function Gt(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=1-t,i=l=>Math.round(l*s);return`rgba(${i(r)}, ${i(o)}, ${i(a)}, ${n})`}function Ut(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=i=>Math.round(i+(255-i)*t);return`rgba(${s(r)}, ${s(o)}, ${s(a)}, ${n})`}function Vt(e){return t=>{if(typeof t=="number")return E(t);const r=typeof e.defaultRadius=="number"?e.defaultRadius:e.radius[e.defaultRadius]||e.defaultRadius;return e.radius[t]||t||r}}function Zt(e,t){if(typeof e=="string"&&e.includes(".")){const[r,o]=e.split("."),a=parseInt(o,10);if(r in t.colors&&a>=0&&a<10)return{isSplittedColor:!0,key:r,shade:a}}return{isSplittedColor:!1}}function qt(e){const t=Q(e),r=F(e),o=Re(e);return({variant:a,color:n,gradient:s,primaryFallback:i})=>{const l=Zt(n,e);switch(a){case"light":return{border:"transparent",background:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1),color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?7:1,i,!1),e.colorScheme==="dark"?.25:.65)};case"subtle":return{border:"transparent",background:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1)};case"outline":return{border:t(n,e.colorScheme==="dark"?5:r("light")),background:"transparent",color:t(n,e.colorScheme==="dark"?5:r("light")),hover:e.colorScheme==="dark"?T(t(n,5,i,!1),.05):T(t(n,0,i,!1),.35)};case"default":return{border:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4],background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,color:e.colorScheme==="dark"?e.white:e.black,hover:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[0]};case"white":return{border:"transparent",background:e.white,color:t(n,r()),hover:null};case"transparent":return{border:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),background:"transparent",hover:null};case"gradient":return{background:o(s),color:e.white,border:"transparent",hover:null};default:{const c=r(),u=l.isSplittedColor?l.shade:c,f=l.isSplittedColor?l.key:n;return{border:"transparent",background:t(f,u,i),color:e.white,hover:t(f,u===9?8:u+1)}}}}}function Xt(e){return t=>{const r=F(e)(t);return e.colors[e.primaryColor][r]}}function Jt(e){return{"@media (hover: hover)":{"&:hover":e},"@media (hover: none)":{"&:active":e}}}function Kt(e){return()=>({userSelect:"none",color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]})}function Yt(e){return()=>e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6]}const b={fontStyles:$t,themeColor:Q,focusStyles:zt,linearGradient:Rt,radialGradient:Mt,smallerThan:Ft,largerThan:Lt,rgba:T,cover:Dt,darken:Gt,lighten:Ut,radius:Vt,variant:qt,primaryShade:F,hover:Jt,gradient:Re,primaryColor:Xt,placeholderStyles:Kt,dimmed:Yt};var Qt=Object.defineProperty,er=Object.defineProperties,tr=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,rr=Object.prototype.hasOwnProperty,nr=Object.prototype.propertyIsEnumerable,me=(e,t,r)=>t in e?Qt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,or=(e,t)=>{for(var r in t||(t={}))rr.call(t,r)&&me(e,r,t[r]);if(pe)for(var r of pe(t))nr.call(t,r)&&me(e,r,t[r]);return e},ar=(e,t)=>er(e,tr(t));function Fe(e){return ar(or({},e),{fn:{fontStyles:b.fontStyles(e),themeColor:b.themeColor(e),focusStyles:b.focusStyles(e),largerThan:b.largerThan(e),smallerThan:b.smallerThan(e),radialGradient:b.radialGradient,linearGradient:b.linearGradient,gradient:b.gradient(e),rgba:b.rgba,cover:b.cover,lighten:b.lighten,darken:b.darken,primaryShade:b.primaryShade(e),radius:b.radius(e),variant:b.variant(e),hover:b.hover,primaryColor:b.primaryColor(e),placeholderStyles:b.placeholderStyles(e),dimmed:b.dimmed(e)}})}const sr={dir:"ltr",primaryShade:{light:6,dark:8},focusRing:"auto",loader:"oval",colorScheme:"light",white:"#fff",black:"#000",defaultRadius:"sm",transitionTimingFunction:"ease",colors:Nt,lineHeight:1.55,fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontFamilyMonospace:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace",primaryColor:"blue",respectReducedMotion:!0,cursorType:"default",defaultGradient:{from:"indigo",to:"cyan",deg:45},shadows:{xs:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.1)",sm:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 0.625rem 0.9375rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.4375rem 0.4375rem -0.3125rem",md:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.25rem 1.5625rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.625rem 0.625rem -0.3125rem",lg:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.75rem 1.4375rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 0.75rem 0.75rem -0.4375rem",xl:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 2.25rem 1.75rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 1.0625rem 1.0625rem -0.4375rem"},fontSizes:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},radius:{xs:"0.125rem",sm:"0.25rem",md:"0.5rem",lg:"1rem",xl:"2rem"},spacing:{xs:"0.625rem",sm:"0.75rem",md:"1rem",lg:"1.25rem",xl:"1.5rem"},breakpoints:{xs:"36em",sm:"48em",md:"62em",lg:"75em",xl:"88em"},headings:{fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontWeight:700,sizes:{h1:{fontSize:"2.125rem",lineHeight:1.3,fontWeight:void 0},h2:{fontSize:"1.625rem",lineHeight:1.35,fontWeight:void 0},h3:{fontSize:"1.375rem",lineHeight:1.4,fontWeight:void 0},h4:{fontSize:"1.125rem",lineHeight:1.45,fontWeight:void 0},h5:{fontSize:"1rem",lineHeight:1.5,fontWeight:void 0},h6:{fontSize:"0.875rem",lineHeight:1.5,fontWeight:void 0}}},other:{},components:{},activeStyles:{transform:"translateY(0.0625rem)"},datesLocale:"en",globalStyles:void 0,focusRingStyles:{styles:e=>({outlineOffset:"0.125rem",outline:`0.125rem solid ${e.colors[e.primaryColor][e.colorScheme==="dark"?7:5]}`}),resetStyles:()=>({outline:"none"}),inputStyles:e=>({outline:"none",borderColor:e.colors[e.primaryColor][typeof e.primaryShade=="object"?e.primaryShade[e.colorScheme]:e.primaryShade]})}},te=Fe(sr);var ir=Object.defineProperty,lr=Object.defineProperties,cr=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,ur=Object.prototype.hasOwnProperty,dr=Object.prototype.propertyIsEnumerable,be=(e,t,r)=>t in e?ir(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fr=(e,t)=>{for(var r in t||(t={}))ur.call(t,r)&&be(e,r,t[r]);if(ge)for(var r of ge(t))dr.call(t,r)&&be(e,r,t[r]);return e},pr=(e,t)=>lr(e,cr(t));function mr({theme:e}){return A.createElement(D,{styles:{"*, *::before, *::after":{boxSizing:"border-box"},html:{colorScheme:e.colorScheme==="dark"?"dark":"light"},body:pr(fr({},e.fn.fontStyles()),{backgroundColor:e.colorScheme==="dark"?e.colors.dark[7]:e.white,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,lineHeight:e.lineHeight,fontSize:e.fontSizes.md,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"})}})}function I(e,t,r,o=E){Object.keys(t).forEach(a=>{e[`--mantine-${r}-${a}`]=o(t[a])})}function gr({theme:e}){const t={"--mantine-color-white":e.white,"--mantine-color-black":e.black,"--mantine-transition-timing-function":e.transitionTimingFunction,"--mantine-line-height":`${e.lineHeight}`,"--mantine-font-family":e.fontFamily,"--mantine-font-family-monospace":e.fontFamilyMonospace,"--mantine-font-family-headings":e.headings.fontFamily,"--mantine-heading-font-weight":`${e.headings.fontWeight}`};I(t,e.shadows,"shadow"),I(t,e.fontSizes,"font-size"),I(t,e.radius,"radius"),I(t,e.spacing,"spacing"),I(t,e.breakpoints,"breakpoints",U),Object.keys(e.colors).forEach(o=>{e.colors[o].forEach((a,n)=>{t[`--mantine-color-${o}-${n}`]=a})});const r=e.headings.sizes;return Object.keys(r).forEach(o=>{t[`--mantine-${o}-font-size`]=r[o].fontSize,t[`--mantine-${o}-line-height`]=`${r[o].lineHeight}`}),A.createElement(D,{styles:{":root":t}})}var br=Object.defineProperty,yr=Object.defineProperties,vr=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,hr=Object.prototype.hasOwnProperty,Sr=Object.prototype.propertyIsEnumerable,ve=(e,t,r)=>t in e?br(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_=(e,t)=>{for(var r in t||(t={}))hr.call(t,r)&&ve(e,r,t[r]);if(ye)for(var r of ye(t))Sr.call(t,r)&&ve(e,r,t[r]);return e},V=(e,t)=>yr(e,vr(t));function xr(e,t){var r;if(!t)return e;const o=Object.keys(e).reduce((a,n)=>{if(n==="headings"&&t.headings){const s=t.headings.sizes?Object.keys(e.headings.sizes).reduce((i,l)=>(i[l]=_(_({},e.headings.sizes[l]),t.headings.sizes[l]),i),{}):e.headings.sizes;return V(_({},a),{headings:V(_(_({},e.headings),t.headings),{sizes:s})})}if(n==="breakpoints"&&t.breakpoints){const s=_(_({},e.breakpoints),t.breakpoints);return V(_({},a),{breakpoints:Object.fromEntries(Object.entries(s).sort((i,l)=>W(i[1])-W(l[1])))})}return a[n]=typeof t[n]=="object"?_(_({},e[n]),t[n]):typeof t[n]=="number"||typeof t[n]=="boolean"||typeof t[n]=="function"?t[n]:t[n]||e[n],a},{});if(t!=null&&t.fontFamily&&!((r=t==null?void 0:t.headings)!=null&&r.fontFamily)&&(o.headings.fontFamily=t.fontFamily),!(o.primaryColor in o.colors))throw new Error("MantineProvider: Invalid theme.primaryColor, it accepts only key of theme.colors, learn more – https://mantine.dev/theming/colors/#primary-color");return o}function _r(e,t){return Fe(xr(e,t))}function Cr(e){return Object.keys(e).reduce((t,r)=>(e[r]!==void 0&&(t[r]=e[r]),t),{})}const kr={html:{fontFamily:"sans-serif",lineHeight:"1.15",textSizeAdjust:"100%"},body:{margin:0},"article, aside, footer, header, nav, section, figcaption, figure, main":{display:"block"},h1:{fontSize:"2em"},hr:{boxSizing:"content-box",height:0,overflow:"visible"},pre:{fontFamily:"monospace, monospace",fontSize:"1em"},a:{background:"transparent",textDecorationSkip:"objects"},"a:active, a:hover":{outlineWidth:0},"abbr[title]":{borderBottom:"none",textDecoration:"underline"},"b, strong":{fontWeight:"bolder"},"code, kbp, samp":{fontFamily:"monospace, monospace",fontSize:"1em"},dfn:{fontStyle:"italic"},mark:{backgroundColor:"#ff0",color:"#000"},small:{fontSize:"80%"},"sub, sup":{fontSize:"75%",lineHeight:0,position:"relative",verticalAlign:"baseline"},sup:{top:"-0.5em"},sub:{bottom:"-0.25em"},"audio, video":{display:"inline-block"},"audio:not([controls])":{display:"none",height:0},img:{borderStyle:"none",verticalAlign:"middle"},"svg:not(:root)":{overflow:"hidden"},"button, input, optgroup, select, textarea":{fontFamily:"sans-serif",fontSize:"100%",lineHeight:"1.15",margin:0},"button, input":{overflow:"visible"},"button, select":{textTransform:"none"},"button, [type=reset], [type=submit]":{WebkitAppearance:"button"},"button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner":{borderStyle:"none",padding:0},"button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring":{outline:`${E(1)} dotted ButtonText`},legend:{boxSizing:"border-box",color:"inherit",display:"table",maxWidth:"100%",padding:0,whiteSpace:"normal"},progress:{display:"inline-block",verticalAlign:"baseline"},textarea:{overflow:"auto"},"[type=checkbox], [type=radio]":{boxSizing:"border-box",padding:0},"[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button":{height:"auto"},"[type=search]":{appearance:"none"},"[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration":{appearance:"none"},"::-webkit-file-upload-button":{appearance:"button",font:"inherit"},"details, menu":{display:"block"},summary:{display:"list-item"},canvas:{display:"inline-block"},template:{display:"none"}};function wr(){return A.createElement(D,{styles:kr})}var Pr=Object.defineProperty,he=Object.getOwnPropertySymbols,Ar=Object.prototype.hasOwnProperty,jr=Object.prototype.propertyIsEnumerable,Se=(e,t,r)=>t in e?Pr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,O=(e,t)=>{for(var r in t||(t={}))Ar.call(t,r)&&Se(e,r,t[r]);if(he)for(var r of he(t))jr.call(t,r)&&Se(e,r,t[r]);return e};const B=p.createContext({theme:te});function He(){var e;return((e=p.useContext(B))==null?void 0:e.theme)||te}function dn(e){const t=He(),r=o=>{var a,n,s,i;return{styles:((a=t.components[o])==null?void 0:a.styles)||{},classNames:((n=t.components[o])==null?void 0:n.classNames)||{},variants:(s=t.components[o])==null?void 0:s.variants,sizes:(i=t.components[o])==null?void 0:i.sizes}};return Array.isArray(e)?e.map(r):[r(e)]}function fn(){var e;return(e=p.useContext(B))==null?void 0:e.emotionCache}function pn(e,t,r){var o;const a=He(),n=(o=a.components[e])==null?void 0:o.defaultProps,s=typeof n=="function"?n(a):n;return O(O(O({},t),s),Cr(r))}function Er({theme:e,emotionCache:t,withNormalizeCSS:r=!1,withGlobalStyles:o=!1,withCSSVariables:a=!1,inherit:n=!1,children:s}){const i=p.useContext(B),l=_r(te,n?O(O({},i.theme),e):e);return A.createElement(qe,{theme:l},A.createElement(B.Provider,{value:{theme:l,emotionCache:t}},r&&A.createElement(wr,null),o&&A.createElement(mr,{theme:l}),a&&A.createElement(gr,{theme:l}),typeof l.globalStyles=="function"&&A.createElement(D,{styles:l.globalStyles(l)}),s))}Er.displayName="@mantine/core/MantineProvider";const{definePartsStyle:Nr,defineMultiStyleConfig:$r}=Xe(at.keys),Tr=Nr(e=>({button:{fontWeight:500,bg:P("base.300","base.500")(e),color:P("base.900","base.100")(e),_hover:{bg:P("base.400","base.600")(e),color:P("base.900","base.50")(e),fontWeight:600}},list:{zIndex:9999,color:P("base.900","base.150")(e),bg:P("base.200","base.800")(e),shadow:"dark-lg",border:"none"},item:{fontSize:"sm",bg:P("base.200","base.800")(e),_hover:{bg:P("base.300","base.700")(e),svg:{opacity:1}},_focus:{bg:P("base.400","base.600")(e)},svg:{opacity:.7,fontSize:14}}})),mn=$r({variants:{invokeAI:Tr},defaultProps:{variant:"invokeAI"}}),gn={variants:{enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.07,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.07,easings:"easeOut"}}}};export{on as A,Yr as B,Te as C,Gr as D,at as E,Ur as F,Vr as G,Zr as H,L as I,Fr as J,Hr as K,Wr as L,Br as M,Mr as N,nn as O,G as P,Or as Q,zr as R,Rr as S,Qe as T,sn as U,cn as V,mn as W,Er as X,M as a,ct as b,an as c,ne as d,un as e,fn as f,He as g,dn as h,Cr as i,W as j,Le as k,pn as l,gn as m,P as n,tn as o,rn as p,Dr as q,E as r,Qr as s,en as t,ln as u,qr as v,Lr as w,Xr as x,Jr as y,Kr as z}; diff --git a/invokeai/frontend/web/dist/index.html b/invokeai/frontend/web/dist/index.html index d4024bc0c8..d9c398de7c 100644 --- a/invokeai/frontend/web/dist/index.html +++ b/invokeai/frontend/web/dist/index.html @@ -12,7 +12,7 @@ margin: 0; } - + diff --git a/invokeai/frontend/web/dist/locales/en.json b/invokeai/frontend/web/dist/locales/en.json index cf84e4d773..63380a19fa 100644 --- a/invokeai/frontend/web/dist/locales/en.json +++ b/invokeai/frontend/web/dist/locales/en.json @@ -124,7 +124,8 @@ "deleteImageBin": "Deleted images will be sent to your operating system's Bin.", "deleteImagePermanent": "Deleted images cannot be restored.", "images": "Images", - "assets": "Assets" + "assets": "Assets", + "autoAssignBoardOnClick": "Auto-Assign Board on Click" }, "hotkeys": { "keyboardShortcuts": "Keyboard Shortcuts", From dc96a3e79dacb04650d316f63df78b6a2e2432be Mon Sep 17 00:00:00 2001 From: Jonathan <34005131+JPPhoto@users.noreply.github.com> Date: Fri, 4 Aug 2023 22:31:20 -0500 Subject: [PATCH 075/287] Fix random number generator Passing in seed=0 is not equivalent to seed=None. The latter will get a new seed from entropy in the OS, and that's what we should be using. --- invokeai/app/util/misc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/app/util/misc.py b/invokeai/app/util/misc.py index 503f3af4c8..8702d86c67 100644 --- a/invokeai/app/util/misc.py +++ b/invokeai/app/util/misc.py @@ -18,5 +18,5 @@ SEED_MAX = np.iinfo(np.uint32).max def get_random_seed(): - rng = np.random.default_rng(seed=0) + rng = np.random.default_rng(seed=None) return int(rng.integers(0, SEED_MAX)) From 83f75750a9979f2a25bf55a749b0a9ff49304ebf Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sat, 5 Aug 2023 12:19:24 -0400 Subject: [PATCH 076/287] add techjedi's import script, with some filecompletion tweaks --- invokeai/frontend/install/import_images.py | 739 +++++++++++++++++++++ pyproject.toml | 1 + 2 files changed, 740 insertions(+) create mode 100644 invokeai/frontend/install/import_images.py diff --git a/invokeai/frontend/install/import_images.py b/invokeai/frontend/install/import_images.py new file mode 100644 index 0000000000..1870fafbf8 --- /dev/null +++ b/invokeai/frontend/install/import_images.py @@ -0,0 +1,739 @@ +# Copyright (c) 2023 - The InvokeAI Team +# Author: techjedi + +# pylint: disable=line-too-long +# pylint: disable=broad-exception-caught +"""Script to import images into the new database system for 3.0.0""" + +import os +import datetime +import shutil +import locale +import sqlite3 +import json +import glob +import re +import uuid +import yaml +import PIL +import PIL.ImageOps +import PIL.PngImagePlugin + +from pathlib import Path +from prompt_toolkit import prompt +from prompt_toolkit.shortcuts import yes_no_dialog, message_dialog, input_dialog, button_dialog +from prompt_toolkit.completion import PathCompleter +from prompt_toolkit.key_binding import KeyBindings + +from invokeai.app.services.config import InvokeAIAppConfig +app_config = InvokeAIAppConfig.get_config() + +bindings = KeyBindings() +@bindings.add('c-c') +def _(event): + raise KeyboardInterrupt + +# release notes +# "Use All" with size dimensions not selectable in the UI will not load dimensions + +class Config: + """Configuration loader.""" + def __init__(self): + pass + + TIMESTAMP_STRING= datetime.datetime.utcnow().strftime("%Y%m%dT%H%M%SZ") + + INVOKE_DIRNAME = "invokeai" + YAML_FILENAME = "invokeai.yaml" + DATABASE_FILENAME = "invokeai.db" + + database_path = None + database_backup_dir = None + outputs_path = None + thumbnail_path = None + + def find_and_load(self): + """find the yaml config file and load""" + root = app_config.root_path + if not self.confirm_and_load(os.path.abspath(root)): + print ("\r\nSpecify custom database and outputs paths:") + self.confirm_and_load_from_user() + + self.database_backup_dir = os.path.join(os.path.dirname(self.database_path),"backup") + self.thumbnail_path = os.path.join(self.outputs_path,"thumbnails") + + def confirm_and_load(self, invoke_root): + """Validates a yaml path exists, confirms the user wants to use it and loads config.""" + yaml_path = os.path.join(invoke_root,self.YAML_FILENAME) + if os.path.exists(yaml_path): + db_dir, outdir = self.load_paths_from_yaml(yaml_path) + if os.path.isabs(db_dir): + database_path = os.path.join(db_dir,self.DATABASE_FILENAME) + else: + database_path = os.path.join(invoke_root,db_dir,self.DATABASE_FILENAME) + + if os.path.isabs(outdir): + outputs_path = os.path.join(outdir, "images") + else: + outputs_path = os.path.join(invoke_root, outdir, "images") + + db_exists = os.path.exists(database_path) + outdir_exists = os.path.exists(outputs_path) + + text = f"Found {self.YAML_FILENAME} file at {yaml_path}:" + text += f"\n Database : {database_path}" + text += f"\n Outputs : {outputs_path}" + text += "\n\nUse these paths for import (yes) or choose different ones (no) [Yn]: " + + if db_exists and outdir_exists: + if (prompt(text).strip() or 'Y').upper().startswith('Y'): + self.database_path = database_path + self.outputs_path = outputs_path + return True + else: + return False + else: + print(" Invalid: One or more paths in this config did not exist and cannot be used.") + + else: + message_dialog( + title="Path not found", + text=f"Auto-discovery of configuration failed! Could not find ({yaml_path}), Custom paths can be specified." + ).run() + return False + + def confirm_and_load_from_user(self): + default = '' + while True: + database_path = os.path.expanduser( + prompt( + "Database: Specify absolute path to the database to import into: ", + completer=PathCompleter(expanduser=True, file_filter=lambda x: Path(x).is_dir() or x.endswith(('.db'))), + default = default, + )) + if database_path.endswith(".db") and os.path.isabs(database_path) and os.path.exists(database_path): + break + default = database_path + '/' if Path(database_path).is_dir() else database_path + + default = '' + while True: + outputs_path = os.path.expanduser( + prompt( + "Outputs: Specify absolute path to outputs/images directory to import into: ", + completer = PathCompleter(expanduser=True, only_directories=True), + default = default, + )) + + if outputs_path.endswith("images") and os.path.isabs(outputs_path) and os.path.exists(outputs_path): + break + default = outputs_path + '/' if Path(outputs_path).is_dir() else outputs_path + + self.database_path = database_path + self.outputs_path = outputs_path + + return + + def load_paths_from_yaml(self, yaml_path): + """Load an Invoke AI yaml file and get the database and outputs paths.""" + try: + with open(yaml_path, 'rt', encoding=locale.getpreferredencoding()) as file: + yamlinfo = yaml.safe_load(file) + db_dir = yamlinfo.get("InvokeAI",{}).get("Paths",{}).get("db_dir", None) + outdir = yamlinfo.get("InvokeAI",{}).get("Paths",{}).get("outdir", None) + return db_dir, outdir + except Exception: + print(f"Failed to load paths from yaml file! {yaml_path}!") + return None, None + +class ImportStats: + """DTO for tracking work progress.""" + def __init__(self): + pass + + time_start = datetime.datetime.utcnow() + count_source_files = 0 + count_skipped_file_exists = 0 + count_skipped_db_exists = 0 + count_imported = 0 + count_imported_by_version = {} + count_file_errors = 0 + + @staticmethod + def get_elapsed_time_string(): + """Get a friendly time string for the time elapsed since processing start.""" + time_now = datetime.datetime.utcnow() + total_seconds = (time_now - ImportStats.time_start).total_seconds() + hours = int((total_seconds) / 3600) + minutes = int(((total_seconds) % 3600) / 60) + seconds = total_seconds % 60 + out_str = f"{hours} hour(s) -" if hours > 0 else "" + out_str += f"{minutes} minute(s) -" if minutes > 0 else "" + out_str += f"{seconds:.2f} second(s)" + return out_str + +class InvokeAIMetadata: + """DTO for core Invoke AI generation properties parsed from metadata.""" + def __init__(self): + pass + + def __str__(self): + formatted_str = f"{self.generation_mode}~{self.steps}~{self.cfg_scale}~{self.model_name}~{self.scheduler}~{self.seed}~{self.width}~{self.height}~{self.rand_device}~{self.strength}~{self.init_image}" + formatted_str += f"\r\npositive_prompt: {self.positive_prompt}" + formatted_str += f"\r\nnegative_prompt: {self.negative_prompt}" + return formatted_str + + generation_mode = None + steps = None + cfg_scale = None + model_name = None + scheduler = None + seed = None + width = None + height = None + rand_device = None + strength = None + init_image = None + positive_prompt = None + negative_prompt = None + imported_app_version = None + + def to_json(self): + """Convert the active instance to json format.""" + prop_dict = {} + prop_dict["generation_mode"] = self.generation_mode + prop_dict["positive_prompt"] = self.positive_prompt + prop_dict["negative_prompt"] = self.negative_prompt + prop_dict["width"] = self.width + prop_dict["height"] = self.height + prop_dict["seed"] = self.seed + prop_dict["rand_device"] = self.rand_device + prop_dict["cfg_scale"] = self.cfg_scale + prop_dict["steps"] = self.steps + prop_dict["scheduler"] = self.scheduler + prop_dict["clip_skip"] = 0 + prop_dict["model"] = {} + prop_dict["model"]["model_name"] = self.model_name + prop_dict["model"]["base_model"] = None + prop_dict["controlnets"] = [] + prop_dict["loras"] = [] + prop_dict["vae"] = None + prop_dict["strength"] = self.strength + prop_dict["init_image"] = self.init_image + prop_dict["positive_style_prompt"] = None + prop_dict["negative_style_prompt"] = None + prop_dict["refiner_model"] = None + prop_dict["refiner_cfg_scale"] = None + prop_dict["refiner_steps"] = None + prop_dict["refiner_scheduler"] = None + prop_dict["refiner_aesthetic_store"] = None + prop_dict["refiner_start"] = None + prop_dict["imported_app_version"] = self.imported_app_version + + return json.dumps(prop_dict) + + +class InvokeAIMetadataParser: + """Parses strings with json data to find Invoke AI core metadata properties.""" + def __init__(self): + pass + + def parse_meta_tag_dream(self, dream_string): + """Take as input an png metadata json node for the 'dream' field variant from prior to 1.15""" + props = InvokeAIMetadata() + + props.imported_app_version = "pre1.15" + seed_match = re.search("-S\\s*(\\d+)", dream_string) + if seed_match is not None: + try: + props.seed = int(seed_match[1]) + except ValueError: + props.seed = None + raw_prompt = re.sub("(-S\\s*\\d+)", "", dream_string) + else: + raw_prompt = dream_string + + pos_prompt, neg_prompt = self.split_prompt(raw_prompt) + + props.positive_prompt = pos_prompt + props.negative_prompt = neg_prompt + + return props + + def parse_meta_tag_sd_metadata(self, tag_value): + """Take as input an png metadata json node for the 'sd-metadata' field variant from 1.15 through 2.3.5 post 2""" + props = InvokeAIMetadata() + + props.imported_app_version = tag_value.get("app_version") + props.model_name = tag_value.get("model_weights") + img_node = tag_value.get("image") + if img_node is not None: + props.generation_mode = img_node.get("type") + props.width = img_node.get("width") + props.height = img_node.get("height") + props.seed = img_node.get("seed") + props.rand_device = "cuda" #hardcoded since all generations pre 3.0 used cuda random noise instead of cpu + props.cfg_scale = img_node.get("cfg_scale") + props.steps = img_node.get("steps") + props.scheduler = self.map_scheduler(img_node.get("sampler")) + props.strength = img_node.get("strength") + if props.strength is None: + props.strength = img_node.get("strength_steps") # try second name for this property + props.init_image = img_node.get("init_image_path") + if props.init_image is None: # try second name for this property + props.init_image = img_node.get("init_img") + # remove the path info from init_image so if we move the init image, it will be correctly relative in the new location + if props.init_image is not None: + props.init_image = os.path.basename(props.init_image) + raw_prompt = img_node.get("prompt") + if isinstance(raw_prompt, list): + raw_prompt = raw_prompt[0].get("prompt") + + props.positive_prompt, props.negative_prompt = self.split_prompt(raw_prompt) + + return props + + def parse_meta_tag_invokeai(self, tag_value): + """Take as input an png metadata json node for the 'invokeai' field variant from 3.0.0 beta 1 through 5""" + props = InvokeAIMetadata() + + props.imported_app_version = "3.0.0 or later" + props.generation_mode = tag_value.get("type") + if props.generation_mode is not None: + props.generation_mode = props.generation_mode.replace("t2l","txt2img").replace("l2l","img2img") + + props.width = tag_value.get("width") + props.height = tag_value.get("height") + props.seed = tag_value.get("seed") + props.cfg_scale = tag_value.get("cfg_scale") + props.steps = tag_value.get("steps") + props.scheduler = tag_value.get("scheduler") + props.strength = tag_value.get("strength") + props.positive_prompt = tag_value.get("positive_conditioning") + props.negative_prompt = tag_value.get("negative_conditioning") + + return props + + def map_scheduler(self, old_scheduler): + """Convert the legacy sampler names to matching 3.0 schedulers""" + if old_scheduler is None: + return None + + match(old_scheduler): + case "ddim" : return "ddim" + case "plms" : return "pnmd" + case "k_lms" : return "lms" + case "k_dpm_2" : return "kdpm_2" + case "k_dpm_2_a" : return "kdpm_2_a" + case "dpmpp_2" : return "dpmpp_2s" + case "k_dpmpp_2" : return "dpmpp_2m" + case "k_dpmpp_2_a" : return None #invalid, in 2.3.x, selecting this sample would just fallback to last run or plms if new session + case "k_euler" : return "euler" + case "k_euler_a" : return "euler_a" + case "k_heun" : return "heun" + return None + + def split_prompt(self, raw_prompt: str): + """Split the unified prompt strings by extracting all negative prompt blocks out into the negative prompt.""" + if raw_prompt is None: + return "", "" + raw_prompt_search = raw_prompt.replace("\r","").replace("\n","") + matches = re.findall(r"\[(.+?)\]", raw_prompt_search) + if len(matches) > 0: + negative_prompt = "" + if len(matches) == 1: + negative_prompt = matches[0].strip().strip(',') + else: + for match in matches: + negative_prompt += f"({match.strip().strip(',')})" + positive_prompt = re.sub(r"(\[.+?\])", "", raw_prompt_search).strip() + else: + positive_prompt = raw_prompt_search.strip() + negative_prompt = "" + + return positive_prompt,negative_prompt + +class DatabaseMapper: + """Class to abstract database functionality.""" + def __init__(self, database_path, database_backup_dir): + self.database_path = database_path + self.database_backup_dir = database_backup_dir + self.connection = None + self.cursor = None + + def connect(self): + """Open connection to the database.""" + self.connection = sqlite3.connect(self.database_path) + self.cursor = self.connection.cursor() + + def get_board_names(self): + """Get a list of the current board names from the database.""" + sql_get_board_name = "SELECT board_name FROM boards" + self.cursor.execute(sql_get_board_name) + rows = self.cursor.fetchall() + return [row[0] for row in rows] + + def does_image_exist(self, image_name): + """Check database if a image name already exists and return a boolean.""" + sql_get_image_by_name = f"SELECT image_name FROM images WHERE image_name='{image_name}'" + self.cursor.execute(sql_get_image_by_name) + rows = self.cursor.fetchall() + return True if len(rows) > 0 else False + + def add_new_image_to_database(self, filename, width, height, metadata, modified_date_string): + """Add an image to the database.""" + sql_add_image = f"""INSERT INTO images (image_name, image_origin, image_category, width, height, session_id, node_id, metadata, is_intermediate, created_at, updated_at) +VALUES ('{filename}', 'internal', 'general', {width}, {height}, null, null, '{metadata}', 0, '{modified_date_string}', '{modified_date_string}')""" + self.cursor.execute(sql_add_image) + self.connection.commit() + + def get_board_id_with_create(self, board_name): + """Get the board id for supplied name, and create the board if one does not exist.""" + sql_find_board = f"SELECT board_id FROM boards WHERE board_name='{board_name}' COLLATE NOCASE" + self.cursor.execute(sql_find_board) + rows = self.cursor.fetchall() + if len(rows)>0: + return rows[0][0] + else: + board_date_string = datetime.datetime.utcnow().date().isoformat() + new_board_id = str(uuid.uuid4()) + sql_insert_board = f"INSERT INTO boards (board_id, board_name, created_at, updated_at) VALUES ('{new_board_id}', '{board_name}', '{board_date_string}', '{board_date_string}')" + self.cursor.execute(sql_insert_board) + self.connection.commit() + return new_board_id + + def add_image_to_board(self, filename, board_id): + """Add an image mapping to a board.""" + add_datetime_str = datetime.datetime.utcnow().isoformat() + sql_add_image_to_board = f"""INSERT INTO board_images (board_id, image_name, created_at, updated_at) + VALUES ('{board_id}', '{filename}', '{add_datetime_str}', '{add_datetime_str}')""" + self.cursor.execute(sql_add_image_to_board) + self.connection.commit() + + def disconnect(self): + """Disconnect from the db, cleaning up connections and cursors.""" + if self.cursor is not None: + self.cursor.close() + if self.connection is not None: + self.connection.close() + + def backup(self, timestamp_string): + """Take a backup of the database.""" + if not os.path.exists(self.database_backup_dir): + print (f"Database backup directory {self.database_backup_dir} does not exist -> creating...", end="") + os.makedirs(self.database_backup_dir) + print ("Done!") + database_backup_path = os.path.join(self.database_backup_dir, f"backup-{timestamp_string}-invokeai.db") + print (f"Making DB Backup at {database_backup_path}...", end="") + shutil.copy2(self.database_path, database_backup_path) + print ("Done!") + +class MediaImportProcessor: + """Containing class for script functionality.""" + def __init__(self): + pass + + board_name_id_map = {} + + def get_import_file_list(self): + """Ask the user for the import folder and scan for the list of files to return.""" + while True: + default = '' + while True: + import_dir = os.path.expanduser( + prompt( + "Inputs: Specify absolute path containing InvokeAI .png images to import: ", + completer = PathCompleter(expanduser=True, only_directories=True), + default = default, + )) + if len(import_dir)>0 and Path(import_dir).is_dir(): + break + default = import_dir + + recurse_directories = (prompt("Include files from subfolders recursively [yN]? ").strip() or 'N').upper().startswith('N') + if recurse_directories: + is_recurse = False + matching_file_list = glob.glob(import_dir + '/*.png', recursive=False) + else: + is_recurse = True + matching_file_list = glob.glob(import_dir + '/**/*.png', recursive=True) + + if len(matching_file_list) > 0: + return import_dir, is_recurse, matching_file_list + else: + print(f"The specific path {import_dir} exists, but does not contain .png files!") + + def get_file_details(self, filepath): + """Retrieve the embedded metedata fields and dimensions from an image file.""" + with PIL.Image.open(filepath) as img: + img.load() + png_width, png_height = img.size + img_info = img.info + return img_info, png_width, png_height + + def select_board_option(self, board_names, timestamp_string): + """Allow the user to choose how a board is selected for imported files.""" + while True: + print("\r\nOptions for board selection for imported images:") + print(f"1) Select an existing board name. (found {len(board_names)})") + print( "2) Specify a board name to create/add to.") + print( "3) Create/add to board named 'IMPORT'.") + print(f"4) Create/add to board named 'IMPORT' with the current datetime string appended (.e.g IMPORT_{timestamp_string}).") + print( "5) Create/add to board named 'IMPORT' with a the original file app_version appended (.e.g IMPORT_2.2.5).") + input_option = input("Specify desired board option: ") + match(input_option): + case "1" : + if len(board_names) < 1: + print("\r\nThere are no existing board names to choose from. Select another option!") + continue + board_name = self.select_item_from_list(board_names, "board name", True, "Cancel, go back and choose a different board option.") + if board_name is not None: + return board_name + case "2": + while True: + board_name = input("Specify new/existing board name: ") + if board_name: + return board_name + case "3" : + return "IMPORT" + case "4": + return f"IMPORT_{timestamp_string}" + case "5": + return "IMPORT_APPVERSION" + + def select_item_from_list(self, items, entity_name, allow_cancel, cancel_string): + """A general function to render a list of items to select in the console, prompt the user for a selection and ensure a valid entry is selected.""" + print (f"Select a {entity_name.lower()} from the following list:") + index = 1 + for item in items: + print(f"{index}) {item}") + index += 1 + if allow_cancel: + print(f"{index}) {cancel_string}") + while True: + try: + option_number = int(input("Specify number of selection: ")) + except ValueError: + continue + if allow_cancel and option_number == index: + return None + if option_number >=1 and option_number <= len(items): + return items[option_number-1] + + def import_image(self, filepath: str, board_name_option: str, db_mapper: DatabaseMapper, config: Config): + """Import a single file by its path""" + parser = InvokeAIMetadataParser() + file_name = os.path.basename(filepath) + file_destination_path = os.path.join(config.outputs_path, file_name) + + print("===============================================================================") + print(f"Importing {filepath}") + + # check destination to see if the file was previously imported + if os.path.exists(file_destination_path): + print("File already exists in the destination, skipping!") + ImportStats.count_skipped_file_exists += 1 + return + + # check if file name is already referenced in the database + if db_mapper.does_image_exist(file_name): + print("A reference to a file with this name already exists in the database, skipping!") + ImportStats.count_skipped_db_exists += 1 + return + + # load image info and dimensions + img_info, png_width, png_height = self.get_file_details(filepath) + + # parse metadata + destination_needs_meta_update = True + log_version_note = "(Unknown)" + if "invokeai_metadata" in img_info: + # for the latest, we will just re-emit the same json, no need to parse/modify + converted_field = None + latest_json_string = img_info.get("invokeai_metadata") + log_version_note = "3.0.0+" + destination_needs_meta_update = False + else: + if "sd-metadata" in img_info: + converted_field = parser.parse_meta_tag_sd_metadata(json.loads(img_info.get("sd-metadata"))) + elif "invokeai" in img_info: + converted_field = parser.parse_meta_tag_invokeai(json.loads(img_info.get("invokeai"))) + elif "dream" in img_info: + converted_field = parser.parse_meta_tag_dream(img_info.get("dream")) + elif "Dream" in img_info: + converted_field = parser.parse_meta_tag_dream(img_info.get("Dream")) + else: + converted_field = InvokeAIMetadata() + destination_needs_meta_update = False + print("File does not have metadata from known Invoke AI versions, add only, no update!") + + # use the loaded img dimensions if the metadata didnt have them + if converted_field.width is None: + converted_field.width = png_width + if converted_field.height is None: + converted_field.height = png_height + + log_version_note = converted_field.imported_app_version if converted_field else "NoVersion" + log_version_note = log_version_note or "NoVersion" + + latest_json_string = converted_field.to_json() + + print (f"From Invoke AI Version {log_version_note} with dimensions {png_width} x {png_height}.") + + # if metadata needs update, then update metdata and copy in one shot + if destination_needs_meta_update: + print("Updating metadata while copying...", end="") + self.update_file_metadata_while_copying(filepath, file_destination_path, "invokeai_metadata", latest_json_string) + print("Done!") + else: + print("No metadata update necessary, copying only...", end="") + shutil.copy2(filepath, file_destination_path) + print("Done!") + + # create thumbnail + print("Creating thumbnail...", end="") + thumbnail_path = os.path.join(config.thumbnail_path, os.path.splitext(file_name)[0]) + ".webp" + thumbnail_size = 256, 256 + with PIL.Image.open(filepath) as source_image: + source_image.thumbnail(thumbnail_size) + source_image.save(thumbnail_path, "webp") + print("Done!") + + # finalize the dynamic board name if there is an APPVERSION token in it. + if converted_field is not None: + board_name = board_name_option.replace("APPVERSION", converted_field.imported_app_version or "NoVersion") + else: + board_name = board_name_option.replace("APPVERSION", "Latest") + + # maintain a map of alrady created/looked up ids to avoid DB queries + print("Finding/Creating board...", end="") + if board_name in self.board_name_id_map: + board_id = self.board_name_id_map[board_name] + else: + board_id = db_mapper.get_board_id_with_create(board_name) + self.board_name_id_map[board_name] = board_id + print("Done!") + + # add image to db + print("Adding image to database......", end="") + modified_time = datetime.datetime.utcfromtimestamp(os.path.getmtime(filepath)) + db_mapper.add_new_image_to_database(file_name, png_width, png_height, latest_json_string, modified_time) + print("Done!") + + #add image to board + print("Adding image to board......", end="") + db_mapper.add_image_to_board(file_name, board_id) + print("Done!") + + ImportStats.count_imported += 1 + if log_version_note in ImportStats.count_imported_by_version: + ImportStats.count_imported_by_version[log_version_note] += 1 + else: + ImportStats.count_imported_by_version[log_version_note] = 1 + + def update_file_metadata_while_copying(self, filepath, file_destination_path, tag_name, tag_value): + """Perform a metadata update with save to a new destination which accomplishes a copy while updating metadata.""" + with PIL.Image.open(filepath) as target_image: + existing_img_info = target_image.info + metadata = PIL.PngImagePlugin.PngInfo() + # re-add any existing invoke ai tags unless they are the one we are trying to add + for key in existing_img_info: + if key != tag_name and key in ("dream", "Dream", "sd-metadata", "invokeai", "invokeai_metadata"): + metadata.add_text(key,existing_img_info[key]) + metadata.add_text(tag_name, tag_value) + target_image.save(file_destination_path, pnginfo=metadata) + + def process(self): + """Begin main processing.""" + + print("===============================================================================") + print("This script will import images generated by earlier versions of") + print("InvokeAI into the currently installed root directory:") + print(f' {app_config.root_path}') + print("If this is not what you want to do, type ctrl-C now to cancel.") + + # load config + print("===============================================================================") + print("= Configuration & Settings") + + config = Config() + config.find_and_load() + db_mapper = DatabaseMapper(config.database_path, config.database_backup_dir) + db_mapper.connect() + + import_dir, is_recurse, import_file_list = self.get_import_file_list() + ImportStats.count_source_files = len(import_file_list) + + board_names = db_mapper.get_board_names() + board_name_option = self.select_board_option(board_names, config.TIMESTAMP_STRING) + + print("\r\n===============================================================================") + print("= Import Settings Confirmation") + + print() + print(f"Database File Path : {config.database_path}") + print(f"Outputs/Images Directory : {config.outputs_path}") + print(f"Import Image Source Directory : {import_dir}") + print(f" Recurse Source SubDirectories : {'Yes' if is_recurse else 'No'}") + print(f"Count of .png file(s) found : {len(import_file_list)}") + print(f"Board name option specified : {board_name_option}") + print(f"Database backup will be taken at : {config.database_backup_dir}") + + print("\r\nNotes about the import process:") + print("- Source image files will not be modified, only copied to the outputs directory.") + print("- If the same file name already exists in the destination, the file will be skipped.") + print("- If the same file name already has a record in the database, the file will be skipped.") + print("- Invoke AI metadata tags will be updated/written into the imported copy only.") + print("- On the imported copy, only Invoke AI known tags (latest and legacy) will be retained (dream, sd-metadata, invokeai, invokeai_metadata)") + print("- A property 'imported_app_version' will be added to metadata that can be viewed in the UI's metadata viewer.") + print("- The new 3.x InvokeAI outputs folder structure is flat so recursively found source imges will all be placed into the single outputs/images folder.") + + while True: + should_continue = prompt("\nDo you wish to continue with the import [Yn] ? ").lower() or 'y' + if should_continue=='n': + print("\r\nCancelling Import") + return + elif should_continue=='y': + print() + break + + db_mapper.backup(config.TIMESTAMP_STRING) + + print() + ImportStats.time_start = datetime.datetime.utcnow() + + for filepath in import_file_list: + try: + self.import_image(filepath, board_name_option, db_mapper, config) + except sqlite3.Error as sql_ex: + print(f"A database related exception was found processing {filepath}, will continue to next file. ") + print("Exception detail:") + print(sql_ex) + ImportStats.count_file_errors += 1 + except Exception as ex: + print(f"Exception processing {filepath}, will continue to next file. ") + print("Exception detail:") + print(ex) + ImportStats.count_file_errors += 1 + + print("\r\n===============================================================================") + print(f"= Import Complete - Elpased Time: {ImportStats.get_elapsed_time_string()}") + print() + print(f"Source File(s) : {ImportStats.count_source_files}") + print(f"Total Imported : {ImportStats.count_imported}") + print(f"Skipped b/c file already exists on disk : {ImportStats.count_skipped_file_exists}") + print(f"Skipped b/c file already exists in db : {ImportStats.count_skipped_db_exists}") + print(f"Errors during import : {ImportStats.count_file_errors}") + if ImportStats.count_imported > 0: + print("\r\nBreakdown of imported files by version:") + for key,version in ImportStats.count_imported_by_version.items(): + print(f" {key:20} : {version}") + +def main(): + try: + processor = MediaImportProcessor() + processor.process() + except KeyboardInterrupt: + print("\r\n\r\nUser cancelled execution.") + +if __name__ == "__main__": + main() diff --git a/pyproject.toml b/pyproject.toml index b3f12481a8..d5aa3f37aa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -139,6 +139,7 @@ dependencies = [ "invokeai-metadata" = "invokeai.frontend.CLI.sd_metadata:print_metadata" "invokeai-node-cli" = "invokeai.app.cli_app:invoke_cli" "invokeai-node-web" = "invokeai.app.api_app:invoke_api" +"invokeai-import-images" = "invokeai.frontend.install.import_images:main" [project.urls] "Homepage" = "https://invoke-ai.github.io/InvokeAI/" From c8ceb9609147390e5e5407ad7ebf0d5148a639ce Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sat, 5 Aug 2023 12:26:52 -0400 Subject: [PATCH 077/287] add docs --- README.md | 23 +++++++++++++++++++--- docs/installation/010_INSTALL_AUTOMATED.md | 2 +- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 2efaacd031..7b3f95ab10 100644 --- a/README.md +++ b/README.md @@ -306,13 +306,30 @@ InvokeAI. The second will prepare the 2.3 directory for use with 3.0. You may now launch the WebUI in the usual way, by selecting option [1] from the launcher script -#### Migration Caveats +#### Migrating Images The migration script will migrate your invokeai settings and models, including textual inversion models, LoRAs and merges that you may have installed previously. However it does **not** migrate the generated -images stored in your 2.3-format outputs directory. You will need to -manually import selected images into the 3.0 gallery via drag-and-drop. +images stored in your 2.3-format outputs directory. To do this, you +need to run an additional step: + +1. From a working InvokeAI 3.0 root directory, start the launcher and +enter menu option [8] to open the "developer's console". + +2. At the developer's console command line, type the command: + +```bash +invokeai-import-images +``` + +3. This will lead you through the process of confirming the desired + source and destination for the imported images. The images will + appear in the gallery board of your choice, and contain the + original prompt, model name, and other parameters used to generate + the image. + +(Many kudos to **techjedi** for contributing this script.) ## Hardware Requirements diff --git a/docs/installation/010_INSTALL_AUTOMATED.md b/docs/installation/010_INSTALL_AUTOMATED.md index 9b66fcbd83..07a88d5d1b 100644 --- a/docs/installation/010_INSTALL_AUTOMATED.md +++ b/docs/installation/010_INSTALL_AUTOMATED.md @@ -264,7 +264,7 @@ experimental versions later. you can create several levels of subfolders and drop your models into whichever ones you want. - - ***Autoimport FolderLICENSE*** + - ***LICENSE*** At the bottom of the screen you will see a checkbox for accepting the CreativeML Responsible AI Licenses. You need to accept the license From 4043a4c21cde6156b9c6710e81da79b741bd8b19 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sat, 5 Aug 2023 12:44:58 -0400 Subject: [PATCH 078/287] blackified --- invokeai/frontend/install/import_images.py | 213 +++++++++++++-------- 1 file changed, 131 insertions(+), 82 deletions(-) diff --git a/invokeai/frontend/install/import_images.py b/invokeai/frontend/install/import_images.py index 1870fafbf8..fe0f20c830 100644 --- a/invokeai/frontend/install/import_images.py +++ b/invokeai/frontend/install/import_images.py @@ -26,22 +26,28 @@ from prompt_toolkit.completion import PathCompleter from prompt_toolkit.key_binding import KeyBindings from invokeai.app.services.config import InvokeAIAppConfig + app_config = InvokeAIAppConfig.get_config() bindings = KeyBindings() -@bindings.add('c-c') + + +@bindings.add("c-c") def _(event): raise KeyboardInterrupt + # release notes # "Use All" with size dimensions not selectable in the UI will not load dimensions + class Config: """Configuration loader.""" + def __init__(self): pass - TIMESTAMP_STRING= datetime.datetime.utcnow().strftime("%Y%m%dT%H%M%SZ") + TIMESTAMP_STRING = datetime.datetime.utcnow().strftime("%Y%m%dT%H%M%SZ") INVOKE_DIRNAME = "invokeai" YAML_FILENAME = "invokeai.yaml" @@ -56,21 +62,21 @@ class Config: """find the yaml config file and load""" root = app_config.root_path if not self.confirm_and_load(os.path.abspath(root)): - print ("\r\nSpecify custom database and outputs paths:") + print("\r\nSpecify custom database and outputs paths:") self.confirm_and_load_from_user() - self.database_backup_dir = os.path.join(os.path.dirname(self.database_path),"backup") - self.thumbnail_path = os.path.join(self.outputs_path,"thumbnails") + self.database_backup_dir = os.path.join(os.path.dirname(self.database_path), "backup") + self.thumbnail_path = os.path.join(self.outputs_path, "thumbnails") def confirm_and_load(self, invoke_root): """Validates a yaml path exists, confirms the user wants to use it and loads config.""" - yaml_path = os.path.join(invoke_root,self.YAML_FILENAME) + yaml_path = os.path.join(invoke_root, self.YAML_FILENAME) if os.path.exists(yaml_path): db_dir, outdir = self.load_paths_from_yaml(yaml_path) if os.path.isabs(db_dir): - database_path = os.path.join(db_dir,self.DATABASE_FILENAME) + database_path = os.path.join(db_dir, self.DATABASE_FILENAME) else: - database_path = os.path.join(invoke_root,db_dir,self.DATABASE_FILENAME) + database_path = os.path.join(invoke_root, db_dir, self.DATABASE_FILENAME) if os.path.isabs(outdir): outputs_path = os.path.join(outdir, "images") @@ -86,7 +92,7 @@ class Config: text += "\n\nUse these paths for import (yes) or choose different ones (no) [Yn]: " if db_exists and outdir_exists: - if (prompt(text).strip() or 'Y').upper().startswith('Y'): + if (prompt(text).strip() or "Y").upper().startswith("Y"): self.database_path = database_path self.outputs_path = outputs_path return True @@ -98,36 +104,40 @@ class Config: else: message_dialog( title="Path not found", - text=f"Auto-discovery of configuration failed! Could not find ({yaml_path}), Custom paths can be specified." + text=f"Auto-discovery of configuration failed! Could not find ({yaml_path}), Custom paths can be specified.", ).run() return False def confirm_and_load_from_user(self): - default = '' + default = "" while True: database_path = os.path.expanduser( prompt( "Database: Specify absolute path to the database to import into: ", - completer=PathCompleter(expanduser=True, file_filter=lambda x: Path(x).is_dir() or x.endswith(('.db'))), - default = default, - )) + completer=PathCompleter( + expanduser=True, file_filter=lambda x: Path(x).is_dir() or x.endswith((".db")) + ), + default=default, + ) + ) if database_path.endswith(".db") and os.path.isabs(database_path) and os.path.exists(database_path): break - default = database_path + '/' if Path(database_path).is_dir() else database_path + default = database_path + "/" if Path(database_path).is_dir() else database_path - default = '' + default = "" while True: outputs_path = os.path.expanduser( prompt( "Outputs: Specify absolute path to outputs/images directory to import into: ", - completer = PathCompleter(expanduser=True, only_directories=True), - default = default, - )) + completer=PathCompleter(expanduser=True, only_directories=True), + default=default, + ) + ) if outputs_path.endswith("images") and os.path.isabs(outputs_path) and os.path.exists(outputs_path): break - default = outputs_path + '/' if Path(outputs_path).is_dir() else outputs_path - + default = outputs_path + "/" if Path(outputs_path).is_dir() else outputs_path + self.database_path = database_path self.outputs_path = outputs_path @@ -136,17 +146,19 @@ class Config: def load_paths_from_yaml(self, yaml_path): """Load an Invoke AI yaml file and get the database and outputs paths.""" try: - with open(yaml_path, 'rt', encoding=locale.getpreferredencoding()) as file: + with open(yaml_path, "rt", encoding=locale.getpreferredencoding()) as file: yamlinfo = yaml.safe_load(file) - db_dir = yamlinfo.get("InvokeAI",{}).get("Paths",{}).get("db_dir", None) - outdir = yamlinfo.get("InvokeAI",{}).get("Paths",{}).get("outdir", None) + db_dir = yamlinfo.get("InvokeAI", {}).get("Paths", {}).get("db_dir", None) + outdir = yamlinfo.get("InvokeAI", {}).get("Paths", {}).get("outdir", None) return db_dir, outdir except Exception: print(f"Failed to load paths from yaml file! {yaml_path}!") return None, None + class ImportStats: """DTO for tracking work progress.""" + def __init__(self): pass @@ -171,8 +183,10 @@ class ImportStats: out_str += f"{seconds:.2f} second(s)" return out_str + class InvokeAIMetadata: """DTO for core Invoke AI generation properties parsed from metadata.""" + def __init__(self): pass @@ -234,6 +248,7 @@ class InvokeAIMetadata: class InvokeAIMetadataParser: """Parses strings with json data to find Invoke AI core metadata properties.""" + def __init__(self): pass @@ -271,15 +286,15 @@ class InvokeAIMetadataParser: props.width = img_node.get("width") props.height = img_node.get("height") props.seed = img_node.get("seed") - props.rand_device = "cuda" #hardcoded since all generations pre 3.0 used cuda random noise instead of cpu + props.rand_device = "cuda" # hardcoded since all generations pre 3.0 used cuda random noise instead of cpu props.cfg_scale = img_node.get("cfg_scale") props.steps = img_node.get("steps") props.scheduler = self.map_scheduler(img_node.get("sampler")) props.strength = img_node.get("strength") if props.strength is None: - props.strength = img_node.get("strength_steps") # try second name for this property + props.strength = img_node.get("strength_steps") # try second name for this property props.init_image = img_node.get("init_image_path") - if props.init_image is None: # try second name for this property + if props.init_image is None: # try second name for this property props.init_image = img_node.get("init_img") # remove the path info from init_image so if we move the init image, it will be correctly relative in the new location if props.init_image is not None: @@ -299,7 +314,7 @@ class InvokeAIMetadataParser: props.imported_app_version = "3.0.0 or later" props.generation_mode = tag_value.get("type") if props.generation_mode is not None: - props.generation_mode = props.generation_mode.replace("t2l","txt2img").replace("l2l","img2img") + props.generation_mode = props.generation_mode.replace("t2l", "txt2img").replace("l2l", "img2img") props.width = tag_value.get("width") props.height = tag_value.get("height") @@ -318,30 +333,41 @@ class InvokeAIMetadataParser: if old_scheduler is None: return None - match(old_scheduler): - case "ddim" : return "ddim" - case "plms" : return "pnmd" - case "k_lms" : return "lms" - case "k_dpm_2" : return "kdpm_2" - case "k_dpm_2_a" : return "kdpm_2_a" - case "dpmpp_2" : return "dpmpp_2s" - case "k_dpmpp_2" : return "dpmpp_2m" - case "k_dpmpp_2_a" : return None #invalid, in 2.3.x, selecting this sample would just fallback to last run or plms if new session - case "k_euler" : return "euler" - case "k_euler_a" : return "euler_a" - case "k_heun" : return "heun" + match (old_scheduler): + case "ddim": + return "ddim" + case "plms": + return "pnmd" + case "k_lms": + return "lms" + case "k_dpm_2": + return "kdpm_2" + case "k_dpm_2_a": + return "kdpm_2_a" + case "dpmpp_2": + return "dpmpp_2s" + case "k_dpmpp_2": + return "dpmpp_2m" + case "k_dpmpp_2_a": + return None # invalid, in 2.3.x, selecting this sample would just fallback to last run or plms if new session + case "k_euler": + return "euler" + case "k_euler_a": + return "euler_a" + case "k_heun": + return "heun" return None def split_prompt(self, raw_prompt: str): """Split the unified prompt strings by extracting all negative prompt blocks out into the negative prompt.""" if raw_prompt is None: return "", "" - raw_prompt_search = raw_prompt.replace("\r","").replace("\n","") + raw_prompt_search = raw_prompt.replace("\r", "").replace("\n", "") matches = re.findall(r"\[(.+?)\]", raw_prompt_search) if len(matches) > 0: negative_prompt = "" if len(matches) == 1: - negative_prompt = matches[0].strip().strip(',') + negative_prompt = matches[0].strip().strip(",") else: for match in matches: negative_prompt += f"({match.strip().strip(',')})" @@ -350,10 +376,12 @@ class InvokeAIMetadataParser: positive_prompt = raw_prompt_search.strip() negative_prompt = "" - return positive_prompt,negative_prompt + return positive_prompt, negative_prompt + class DatabaseMapper: """Class to abstract database functionality.""" + def __init__(self, database_path, database_backup_dir): self.database_path = database_path self.database_backup_dir = database_backup_dir @@ -380,7 +408,7 @@ class DatabaseMapper: return True if len(rows) > 0 else False def add_new_image_to_database(self, filename, width, height, metadata, modified_date_string): - """Add an image to the database.""" + """Add an image to the database.""" sql_add_image = f"""INSERT INTO images (image_name, image_origin, image_category, width, height, session_id, node_id, metadata, is_intermediate, created_at, updated_at) VALUES ('{filename}', 'internal', 'general', {width}, {height}, null, null, '{metadata}', 0, '{modified_date_string}', '{modified_date_string}')""" self.cursor.execute(sql_add_image) @@ -391,7 +419,7 @@ VALUES ('{filename}', 'internal', 'general', {width}, {height}, null, null, '{me sql_find_board = f"SELECT board_id FROM boards WHERE board_name='{board_name}' COLLATE NOCASE" self.cursor.execute(sql_find_board) rows = self.cursor.fetchall() - if len(rows)>0: + if len(rows) > 0: return rows[0][0] else: board_date_string = datetime.datetime.utcnow().date().isoformat() @@ -417,18 +445,20 @@ VALUES ('{filename}', 'internal', 'general', {width}, {height}, null, null, '{me self.connection.close() def backup(self, timestamp_string): - """Take a backup of the database.""" + """Take a backup of the database.""" if not os.path.exists(self.database_backup_dir): - print (f"Database backup directory {self.database_backup_dir} does not exist -> creating...", end="") + print(f"Database backup directory {self.database_backup_dir} does not exist -> creating...", end="") os.makedirs(self.database_backup_dir) - print ("Done!") + print("Done!") database_backup_path = os.path.join(self.database_backup_dir, f"backup-{timestamp_string}-invokeai.db") - print (f"Making DB Backup at {database_backup_path}...", end="") + print(f"Making DB Backup at {database_backup_path}...", end="") shutil.copy2(self.database_path, database_backup_path) - print ("Done!") + print("Done!") + class MediaImportProcessor: """Containing class for script functionality.""" + def __init__(self): pass @@ -437,25 +467,28 @@ class MediaImportProcessor: def get_import_file_list(self): """Ask the user for the import folder and scan for the list of files to return.""" while True: - default = '' + default = "" while True: import_dir = os.path.expanduser( prompt( "Inputs: Specify absolute path containing InvokeAI .png images to import: ", - completer = PathCompleter(expanduser=True, only_directories=True), - default = default, - )) - if len(import_dir)>0 and Path(import_dir).is_dir(): + completer=PathCompleter(expanduser=True, only_directories=True), + default=default, + ) + ) + if len(import_dir) > 0 and Path(import_dir).is_dir(): break default = import_dir - recurse_directories = (prompt("Include files from subfolders recursively [yN]? ").strip() or 'N').upper().startswith('N') + recurse_directories = ( + (prompt("Include files from subfolders recursively [yN]? ").strip() or "N").upper().startswith("N") + ) if recurse_directories: is_recurse = False - matching_file_list = glob.glob(import_dir + '/*.png', recursive=False) + matching_file_list = glob.glob(import_dir + "/*.png", recursive=False) else: is_recurse = True - matching_file_list = glob.glob(import_dir + '/**/*.png', recursive=True) + matching_file_list = glob.glob(import_dir + "/**/*.png", recursive=True) if len(matching_file_list) > 0: return import_dir, is_recurse, matching_file_list @@ -475,17 +508,23 @@ class MediaImportProcessor: while True: print("\r\nOptions for board selection for imported images:") print(f"1) Select an existing board name. (found {len(board_names)})") - print( "2) Specify a board name to create/add to.") - print( "3) Create/add to board named 'IMPORT'.") - print(f"4) Create/add to board named 'IMPORT' with the current datetime string appended (.e.g IMPORT_{timestamp_string}).") - print( "5) Create/add to board named 'IMPORT' with a the original file app_version appended (.e.g IMPORT_2.2.5).") + print("2) Specify a board name to create/add to.") + print("3) Create/add to board named 'IMPORT'.") + print( + f"4) Create/add to board named 'IMPORT' with the current datetime string appended (.e.g IMPORT_{timestamp_string})." + ) + print( + "5) Create/add to board named 'IMPORT' with a the original file app_version appended (.e.g IMPORT_2.2.5)." + ) input_option = input("Specify desired board option: ") - match(input_option): - case "1" : + match (input_option): + case "1": if len(board_names) < 1: print("\r\nThere are no existing board names to choose from. Select another option!") continue - board_name = self.select_item_from_list(board_names, "board name", True, "Cancel, go back and choose a different board option.") + board_name = self.select_item_from_list( + board_names, "board name", True, "Cancel, go back and choose a different board option." + ) if board_name is not None: return board_name case "2": @@ -493,7 +532,7 @@ class MediaImportProcessor: board_name = input("Specify new/existing board name: ") if board_name: return board_name - case "3" : + case "3": return "IMPORT" case "4": return f"IMPORT_{timestamp_string}" @@ -502,7 +541,7 @@ class MediaImportProcessor: def select_item_from_list(self, items, entity_name, allow_cancel, cancel_string): """A general function to render a list of items to select in the console, prompt the user for a selection and ensure a valid entry is selected.""" - print (f"Select a {entity_name.lower()} from the following list:") + print(f"Select a {entity_name.lower()} from the following list:") index = 1 for item in items: print(f"{index}) {item}") @@ -516,8 +555,8 @@ class MediaImportProcessor: continue if allow_cancel and option_number == index: return None - if option_number >=1 and option_number <= len(items): - return items[option_number-1] + if option_number >= 1 and option_number <= len(items): + return items[option_number - 1] def import_image(self, filepath: str, board_name_option: str, db_mapper: DatabaseMapper, config: Config): """Import a single file by its path""" @@ -577,12 +616,14 @@ class MediaImportProcessor: latest_json_string = converted_field.to_json() - print (f"From Invoke AI Version {log_version_note} with dimensions {png_width} x {png_height}.") + print(f"From Invoke AI Version {log_version_note} with dimensions {png_width} x {png_height}.") # if metadata needs update, then update metdata and copy in one shot if destination_needs_meta_update: print("Updating metadata while copying...", end="") - self.update_file_metadata_while_copying(filepath, file_destination_path, "invokeai_metadata", latest_json_string) + self.update_file_metadata_while_copying( + filepath, file_destination_path, "invokeai_metadata", latest_json_string + ) print("Done!") else: print("No metadata update necessary, copying only...", end="") @@ -591,7 +632,7 @@ class MediaImportProcessor: # create thumbnail print("Creating thumbnail...", end="") - thumbnail_path = os.path.join(config.thumbnail_path, os.path.splitext(file_name)[0]) + ".webp" + thumbnail_path = os.path.join(config.thumbnail_path, os.path.splitext(file_name)[0]) + ".webp" thumbnail_size = 256, 256 with PIL.Image.open(filepath) as source_image: source_image.thumbnail(thumbnail_size) @@ -619,7 +660,7 @@ class MediaImportProcessor: db_mapper.add_new_image_to_database(file_name, png_width, png_height, latest_json_string, modified_time) print("Done!") - #add image to board + # add image to board print("Adding image to board......", end="") db_mapper.add_image_to_board(file_name, board_id) print("Done!") @@ -638,7 +679,7 @@ class MediaImportProcessor: # re-add any existing invoke ai tags unless they are the one we are trying to add for key in existing_img_info: if key != tag_name and key in ("dream", "Dream", "sd-metadata", "invokeai", "invokeai_metadata"): - metadata.add_text(key,existing_img_info[key]) + metadata.add_text(key, existing_img_info[key]) metadata.add_text(tag_name, tag_value) target_image.save(file_destination_path, pnginfo=metadata) @@ -648,7 +689,7 @@ class MediaImportProcessor: print("===============================================================================") print("This script will import images generated by earlier versions of") print("InvokeAI into the currently installed root directory:") - print(f' {app_config.root_path}') + print(f" {app_config.root_path}") print("If this is not what you want to do, type ctrl-C now to cancel.") # load config @@ -683,16 +724,22 @@ class MediaImportProcessor: print("- If the same file name already exists in the destination, the file will be skipped.") print("- If the same file name already has a record in the database, the file will be skipped.") print("- Invoke AI metadata tags will be updated/written into the imported copy only.") - print("- On the imported copy, only Invoke AI known tags (latest and legacy) will be retained (dream, sd-metadata, invokeai, invokeai_metadata)") - print("- A property 'imported_app_version' will be added to metadata that can be viewed in the UI's metadata viewer.") - print("- The new 3.x InvokeAI outputs folder structure is flat so recursively found source imges will all be placed into the single outputs/images folder.") + print( + "- On the imported copy, only Invoke AI known tags (latest and legacy) will be retained (dream, sd-metadata, invokeai, invokeai_metadata)" + ) + print( + "- A property 'imported_app_version' will be added to metadata that can be viewed in the UI's metadata viewer." + ) + print( + "- The new 3.x InvokeAI outputs folder structure is flat so recursively found source imges will all be placed into the single outputs/images folder." + ) while True: - should_continue = prompt("\nDo you wish to continue with the import [Yn] ? ").lower() or 'y' - if should_continue=='n': + should_continue = prompt("\nDo you wish to continue with the import [Yn] ? ").lower() or "y" + if should_continue == "n": print("\r\nCancelling Import") return - elif should_continue=='y': + elif should_continue == "y": print() break @@ -725,9 +772,10 @@ class MediaImportProcessor: print(f"Errors during import : {ImportStats.count_file_errors}") if ImportStats.count_imported > 0: print("\r\nBreakdown of imported files by version:") - for key,version in ImportStats.count_imported_by_version.items(): + for key, version in ImportStats.count_imported_by_version.items(): print(f" {key:20} : {version}") + def main(): try: processor = MediaImportProcessor() @@ -735,5 +783,6 @@ def main(): except KeyboardInterrupt: print("\r\n\r\nUser cancelled execution.") + if __name__ == "__main__": main() From 0ccc3b509e252b15f628bb0494ac01727a8d3372 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sat, 5 Aug 2023 12:19:24 -0400 Subject: [PATCH 079/287] add techjedi's import script, with some filecompletion tweaks --- invokeai/frontend/install/import_images.py | 739 +++++++++++++++++++++ pyproject.toml | 1 + 2 files changed, 740 insertions(+) create mode 100644 invokeai/frontend/install/import_images.py diff --git a/invokeai/frontend/install/import_images.py b/invokeai/frontend/install/import_images.py new file mode 100644 index 0000000000..1870fafbf8 --- /dev/null +++ b/invokeai/frontend/install/import_images.py @@ -0,0 +1,739 @@ +# Copyright (c) 2023 - The InvokeAI Team +# Author: techjedi + +# pylint: disable=line-too-long +# pylint: disable=broad-exception-caught +"""Script to import images into the new database system for 3.0.0""" + +import os +import datetime +import shutil +import locale +import sqlite3 +import json +import glob +import re +import uuid +import yaml +import PIL +import PIL.ImageOps +import PIL.PngImagePlugin + +from pathlib import Path +from prompt_toolkit import prompt +from prompt_toolkit.shortcuts import yes_no_dialog, message_dialog, input_dialog, button_dialog +from prompt_toolkit.completion import PathCompleter +from prompt_toolkit.key_binding import KeyBindings + +from invokeai.app.services.config import InvokeAIAppConfig +app_config = InvokeAIAppConfig.get_config() + +bindings = KeyBindings() +@bindings.add('c-c') +def _(event): + raise KeyboardInterrupt + +# release notes +# "Use All" with size dimensions not selectable in the UI will not load dimensions + +class Config: + """Configuration loader.""" + def __init__(self): + pass + + TIMESTAMP_STRING= datetime.datetime.utcnow().strftime("%Y%m%dT%H%M%SZ") + + INVOKE_DIRNAME = "invokeai" + YAML_FILENAME = "invokeai.yaml" + DATABASE_FILENAME = "invokeai.db" + + database_path = None + database_backup_dir = None + outputs_path = None + thumbnail_path = None + + def find_and_load(self): + """find the yaml config file and load""" + root = app_config.root_path + if not self.confirm_and_load(os.path.abspath(root)): + print ("\r\nSpecify custom database and outputs paths:") + self.confirm_and_load_from_user() + + self.database_backup_dir = os.path.join(os.path.dirname(self.database_path),"backup") + self.thumbnail_path = os.path.join(self.outputs_path,"thumbnails") + + def confirm_and_load(self, invoke_root): + """Validates a yaml path exists, confirms the user wants to use it and loads config.""" + yaml_path = os.path.join(invoke_root,self.YAML_FILENAME) + if os.path.exists(yaml_path): + db_dir, outdir = self.load_paths_from_yaml(yaml_path) + if os.path.isabs(db_dir): + database_path = os.path.join(db_dir,self.DATABASE_FILENAME) + else: + database_path = os.path.join(invoke_root,db_dir,self.DATABASE_FILENAME) + + if os.path.isabs(outdir): + outputs_path = os.path.join(outdir, "images") + else: + outputs_path = os.path.join(invoke_root, outdir, "images") + + db_exists = os.path.exists(database_path) + outdir_exists = os.path.exists(outputs_path) + + text = f"Found {self.YAML_FILENAME} file at {yaml_path}:" + text += f"\n Database : {database_path}" + text += f"\n Outputs : {outputs_path}" + text += "\n\nUse these paths for import (yes) or choose different ones (no) [Yn]: " + + if db_exists and outdir_exists: + if (prompt(text).strip() or 'Y').upper().startswith('Y'): + self.database_path = database_path + self.outputs_path = outputs_path + return True + else: + return False + else: + print(" Invalid: One or more paths in this config did not exist and cannot be used.") + + else: + message_dialog( + title="Path not found", + text=f"Auto-discovery of configuration failed! Could not find ({yaml_path}), Custom paths can be specified." + ).run() + return False + + def confirm_and_load_from_user(self): + default = '' + while True: + database_path = os.path.expanduser( + prompt( + "Database: Specify absolute path to the database to import into: ", + completer=PathCompleter(expanduser=True, file_filter=lambda x: Path(x).is_dir() or x.endswith(('.db'))), + default = default, + )) + if database_path.endswith(".db") and os.path.isabs(database_path) and os.path.exists(database_path): + break + default = database_path + '/' if Path(database_path).is_dir() else database_path + + default = '' + while True: + outputs_path = os.path.expanduser( + prompt( + "Outputs: Specify absolute path to outputs/images directory to import into: ", + completer = PathCompleter(expanduser=True, only_directories=True), + default = default, + )) + + if outputs_path.endswith("images") and os.path.isabs(outputs_path) and os.path.exists(outputs_path): + break + default = outputs_path + '/' if Path(outputs_path).is_dir() else outputs_path + + self.database_path = database_path + self.outputs_path = outputs_path + + return + + def load_paths_from_yaml(self, yaml_path): + """Load an Invoke AI yaml file and get the database and outputs paths.""" + try: + with open(yaml_path, 'rt', encoding=locale.getpreferredencoding()) as file: + yamlinfo = yaml.safe_load(file) + db_dir = yamlinfo.get("InvokeAI",{}).get("Paths",{}).get("db_dir", None) + outdir = yamlinfo.get("InvokeAI",{}).get("Paths",{}).get("outdir", None) + return db_dir, outdir + except Exception: + print(f"Failed to load paths from yaml file! {yaml_path}!") + return None, None + +class ImportStats: + """DTO for tracking work progress.""" + def __init__(self): + pass + + time_start = datetime.datetime.utcnow() + count_source_files = 0 + count_skipped_file_exists = 0 + count_skipped_db_exists = 0 + count_imported = 0 + count_imported_by_version = {} + count_file_errors = 0 + + @staticmethod + def get_elapsed_time_string(): + """Get a friendly time string for the time elapsed since processing start.""" + time_now = datetime.datetime.utcnow() + total_seconds = (time_now - ImportStats.time_start).total_seconds() + hours = int((total_seconds) / 3600) + minutes = int(((total_seconds) % 3600) / 60) + seconds = total_seconds % 60 + out_str = f"{hours} hour(s) -" if hours > 0 else "" + out_str += f"{minutes} minute(s) -" if minutes > 0 else "" + out_str += f"{seconds:.2f} second(s)" + return out_str + +class InvokeAIMetadata: + """DTO for core Invoke AI generation properties parsed from metadata.""" + def __init__(self): + pass + + def __str__(self): + formatted_str = f"{self.generation_mode}~{self.steps}~{self.cfg_scale}~{self.model_name}~{self.scheduler}~{self.seed}~{self.width}~{self.height}~{self.rand_device}~{self.strength}~{self.init_image}" + formatted_str += f"\r\npositive_prompt: {self.positive_prompt}" + formatted_str += f"\r\nnegative_prompt: {self.negative_prompt}" + return formatted_str + + generation_mode = None + steps = None + cfg_scale = None + model_name = None + scheduler = None + seed = None + width = None + height = None + rand_device = None + strength = None + init_image = None + positive_prompt = None + negative_prompt = None + imported_app_version = None + + def to_json(self): + """Convert the active instance to json format.""" + prop_dict = {} + prop_dict["generation_mode"] = self.generation_mode + prop_dict["positive_prompt"] = self.positive_prompt + prop_dict["negative_prompt"] = self.negative_prompt + prop_dict["width"] = self.width + prop_dict["height"] = self.height + prop_dict["seed"] = self.seed + prop_dict["rand_device"] = self.rand_device + prop_dict["cfg_scale"] = self.cfg_scale + prop_dict["steps"] = self.steps + prop_dict["scheduler"] = self.scheduler + prop_dict["clip_skip"] = 0 + prop_dict["model"] = {} + prop_dict["model"]["model_name"] = self.model_name + prop_dict["model"]["base_model"] = None + prop_dict["controlnets"] = [] + prop_dict["loras"] = [] + prop_dict["vae"] = None + prop_dict["strength"] = self.strength + prop_dict["init_image"] = self.init_image + prop_dict["positive_style_prompt"] = None + prop_dict["negative_style_prompt"] = None + prop_dict["refiner_model"] = None + prop_dict["refiner_cfg_scale"] = None + prop_dict["refiner_steps"] = None + prop_dict["refiner_scheduler"] = None + prop_dict["refiner_aesthetic_store"] = None + prop_dict["refiner_start"] = None + prop_dict["imported_app_version"] = self.imported_app_version + + return json.dumps(prop_dict) + + +class InvokeAIMetadataParser: + """Parses strings with json data to find Invoke AI core metadata properties.""" + def __init__(self): + pass + + def parse_meta_tag_dream(self, dream_string): + """Take as input an png metadata json node for the 'dream' field variant from prior to 1.15""" + props = InvokeAIMetadata() + + props.imported_app_version = "pre1.15" + seed_match = re.search("-S\\s*(\\d+)", dream_string) + if seed_match is not None: + try: + props.seed = int(seed_match[1]) + except ValueError: + props.seed = None + raw_prompt = re.sub("(-S\\s*\\d+)", "", dream_string) + else: + raw_prompt = dream_string + + pos_prompt, neg_prompt = self.split_prompt(raw_prompt) + + props.positive_prompt = pos_prompt + props.negative_prompt = neg_prompt + + return props + + def parse_meta_tag_sd_metadata(self, tag_value): + """Take as input an png metadata json node for the 'sd-metadata' field variant from 1.15 through 2.3.5 post 2""" + props = InvokeAIMetadata() + + props.imported_app_version = tag_value.get("app_version") + props.model_name = tag_value.get("model_weights") + img_node = tag_value.get("image") + if img_node is not None: + props.generation_mode = img_node.get("type") + props.width = img_node.get("width") + props.height = img_node.get("height") + props.seed = img_node.get("seed") + props.rand_device = "cuda" #hardcoded since all generations pre 3.0 used cuda random noise instead of cpu + props.cfg_scale = img_node.get("cfg_scale") + props.steps = img_node.get("steps") + props.scheduler = self.map_scheduler(img_node.get("sampler")) + props.strength = img_node.get("strength") + if props.strength is None: + props.strength = img_node.get("strength_steps") # try second name for this property + props.init_image = img_node.get("init_image_path") + if props.init_image is None: # try second name for this property + props.init_image = img_node.get("init_img") + # remove the path info from init_image so if we move the init image, it will be correctly relative in the new location + if props.init_image is not None: + props.init_image = os.path.basename(props.init_image) + raw_prompt = img_node.get("prompt") + if isinstance(raw_prompt, list): + raw_prompt = raw_prompt[0].get("prompt") + + props.positive_prompt, props.negative_prompt = self.split_prompt(raw_prompt) + + return props + + def parse_meta_tag_invokeai(self, tag_value): + """Take as input an png metadata json node for the 'invokeai' field variant from 3.0.0 beta 1 through 5""" + props = InvokeAIMetadata() + + props.imported_app_version = "3.0.0 or later" + props.generation_mode = tag_value.get("type") + if props.generation_mode is not None: + props.generation_mode = props.generation_mode.replace("t2l","txt2img").replace("l2l","img2img") + + props.width = tag_value.get("width") + props.height = tag_value.get("height") + props.seed = tag_value.get("seed") + props.cfg_scale = tag_value.get("cfg_scale") + props.steps = tag_value.get("steps") + props.scheduler = tag_value.get("scheduler") + props.strength = tag_value.get("strength") + props.positive_prompt = tag_value.get("positive_conditioning") + props.negative_prompt = tag_value.get("negative_conditioning") + + return props + + def map_scheduler(self, old_scheduler): + """Convert the legacy sampler names to matching 3.0 schedulers""" + if old_scheduler is None: + return None + + match(old_scheduler): + case "ddim" : return "ddim" + case "plms" : return "pnmd" + case "k_lms" : return "lms" + case "k_dpm_2" : return "kdpm_2" + case "k_dpm_2_a" : return "kdpm_2_a" + case "dpmpp_2" : return "dpmpp_2s" + case "k_dpmpp_2" : return "dpmpp_2m" + case "k_dpmpp_2_a" : return None #invalid, in 2.3.x, selecting this sample would just fallback to last run or plms if new session + case "k_euler" : return "euler" + case "k_euler_a" : return "euler_a" + case "k_heun" : return "heun" + return None + + def split_prompt(self, raw_prompt: str): + """Split the unified prompt strings by extracting all negative prompt blocks out into the negative prompt.""" + if raw_prompt is None: + return "", "" + raw_prompt_search = raw_prompt.replace("\r","").replace("\n","") + matches = re.findall(r"\[(.+?)\]", raw_prompt_search) + if len(matches) > 0: + negative_prompt = "" + if len(matches) == 1: + negative_prompt = matches[0].strip().strip(',') + else: + for match in matches: + negative_prompt += f"({match.strip().strip(',')})" + positive_prompt = re.sub(r"(\[.+?\])", "", raw_prompt_search).strip() + else: + positive_prompt = raw_prompt_search.strip() + negative_prompt = "" + + return positive_prompt,negative_prompt + +class DatabaseMapper: + """Class to abstract database functionality.""" + def __init__(self, database_path, database_backup_dir): + self.database_path = database_path + self.database_backup_dir = database_backup_dir + self.connection = None + self.cursor = None + + def connect(self): + """Open connection to the database.""" + self.connection = sqlite3.connect(self.database_path) + self.cursor = self.connection.cursor() + + def get_board_names(self): + """Get a list of the current board names from the database.""" + sql_get_board_name = "SELECT board_name FROM boards" + self.cursor.execute(sql_get_board_name) + rows = self.cursor.fetchall() + return [row[0] for row in rows] + + def does_image_exist(self, image_name): + """Check database if a image name already exists and return a boolean.""" + sql_get_image_by_name = f"SELECT image_name FROM images WHERE image_name='{image_name}'" + self.cursor.execute(sql_get_image_by_name) + rows = self.cursor.fetchall() + return True if len(rows) > 0 else False + + def add_new_image_to_database(self, filename, width, height, metadata, modified_date_string): + """Add an image to the database.""" + sql_add_image = f"""INSERT INTO images (image_name, image_origin, image_category, width, height, session_id, node_id, metadata, is_intermediate, created_at, updated_at) +VALUES ('{filename}', 'internal', 'general', {width}, {height}, null, null, '{metadata}', 0, '{modified_date_string}', '{modified_date_string}')""" + self.cursor.execute(sql_add_image) + self.connection.commit() + + def get_board_id_with_create(self, board_name): + """Get the board id for supplied name, and create the board if one does not exist.""" + sql_find_board = f"SELECT board_id FROM boards WHERE board_name='{board_name}' COLLATE NOCASE" + self.cursor.execute(sql_find_board) + rows = self.cursor.fetchall() + if len(rows)>0: + return rows[0][0] + else: + board_date_string = datetime.datetime.utcnow().date().isoformat() + new_board_id = str(uuid.uuid4()) + sql_insert_board = f"INSERT INTO boards (board_id, board_name, created_at, updated_at) VALUES ('{new_board_id}', '{board_name}', '{board_date_string}', '{board_date_string}')" + self.cursor.execute(sql_insert_board) + self.connection.commit() + return new_board_id + + def add_image_to_board(self, filename, board_id): + """Add an image mapping to a board.""" + add_datetime_str = datetime.datetime.utcnow().isoformat() + sql_add_image_to_board = f"""INSERT INTO board_images (board_id, image_name, created_at, updated_at) + VALUES ('{board_id}', '{filename}', '{add_datetime_str}', '{add_datetime_str}')""" + self.cursor.execute(sql_add_image_to_board) + self.connection.commit() + + def disconnect(self): + """Disconnect from the db, cleaning up connections and cursors.""" + if self.cursor is not None: + self.cursor.close() + if self.connection is not None: + self.connection.close() + + def backup(self, timestamp_string): + """Take a backup of the database.""" + if not os.path.exists(self.database_backup_dir): + print (f"Database backup directory {self.database_backup_dir} does not exist -> creating...", end="") + os.makedirs(self.database_backup_dir) + print ("Done!") + database_backup_path = os.path.join(self.database_backup_dir, f"backup-{timestamp_string}-invokeai.db") + print (f"Making DB Backup at {database_backup_path}...", end="") + shutil.copy2(self.database_path, database_backup_path) + print ("Done!") + +class MediaImportProcessor: + """Containing class for script functionality.""" + def __init__(self): + pass + + board_name_id_map = {} + + def get_import_file_list(self): + """Ask the user for the import folder and scan for the list of files to return.""" + while True: + default = '' + while True: + import_dir = os.path.expanduser( + prompt( + "Inputs: Specify absolute path containing InvokeAI .png images to import: ", + completer = PathCompleter(expanduser=True, only_directories=True), + default = default, + )) + if len(import_dir)>0 and Path(import_dir).is_dir(): + break + default = import_dir + + recurse_directories = (prompt("Include files from subfolders recursively [yN]? ").strip() or 'N').upper().startswith('N') + if recurse_directories: + is_recurse = False + matching_file_list = glob.glob(import_dir + '/*.png', recursive=False) + else: + is_recurse = True + matching_file_list = glob.glob(import_dir + '/**/*.png', recursive=True) + + if len(matching_file_list) > 0: + return import_dir, is_recurse, matching_file_list + else: + print(f"The specific path {import_dir} exists, but does not contain .png files!") + + def get_file_details(self, filepath): + """Retrieve the embedded metedata fields and dimensions from an image file.""" + with PIL.Image.open(filepath) as img: + img.load() + png_width, png_height = img.size + img_info = img.info + return img_info, png_width, png_height + + def select_board_option(self, board_names, timestamp_string): + """Allow the user to choose how a board is selected for imported files.""" + while True: + print("\r\nOptions for board selection for imported images:") + print(f"1) Select an existing board name. (found {len(board_names)})") + print( "2) Specify a board name to create/add to.") + print( "3) Create/add to board named 'IMPORT'.") + print(f"4) Create/add to board named 'IMPORT' with the current datetime string appended (.e.g IMPORT_{timestamp_string}).") + print( "5) Create/add to board named 'IMPORT' with a the original file app_version appended (.e.g IMPORT_2.2.5).") + input_option = input("Specify desired board option: ") + match(input_option): + case "1" : + if len(board_names) < 1: + print("\r\nThere are no existing board names to choose from. Select another option!") + continue + board_name = self.select_item_from_list(board_names, "board name", True, "Cancel, go back and choose a different board option.") + if board_name is not None: + return board_name + case "2": + while True: + board_name = input("Specify new/existing board name: ") + if board_name: + return board_name + case "3" : + return "IMPORT" + case "4": + return f"IMPORT_{timestamp_string}" + case "5": + return "IMPORT_APPVERSION" + + def select_item_from_list(self, items, entity_name, allow_cancel, cancel_string): + """A general function to render a list of items to select in the console, prompt the user for a selection and ensure a valid entry is selected.""" + print (f"Select a {entity_name.lower()} from the following list:") + index = 1 + for item in items: + print(f"{index}) {item}") + index += 1 + if allow_cancel: + print(f"{index}) {cancel_string}") + while True: + try: + option_number = int(input("Specify number of selection: ")) + except ValueError: + continue + if allow_cancel and option_number == index: + return None + if option_number >=1 and option_number <= len(items): + return items[option_number-1] + + def import_image(self, filepath: str, board_name_option: str, db_mapper: DatabaseMapper, config: Config): + """Import a single file by its path""" + parser = InvokeAIMetadataParser() + file_name = os.path.basename(filepath) + file_destination_path = os.path.join(config.outputs_path, file_name) + + print("===============================================================================") + print(f"Importing {filepath}") + + # check destination to see if the file was previously imported + if os.path.exists(file_destination_path): + print("File already exists in the destination, skipping!") + ImportStats.count_skipped_file_exists += 1 + return + + # check if file name is already referenced in the database + if db_mapper.does_image_exist(file_name): + print("A reference to a file with this name already exists in the database, skipping!") + ImportStats.count_skipped_db_exists += 1 + return + + # load image info and dimensions + img_info, png_width, png_height = self.get_file_details(filepath) + + # parse metadata + destination_needs_meta_update = True + log_version_note = "(Unknown)" + if "invokeai_metadata" in img_info: + # for the latest, we will just re-emit the same json, no need to parse/modify + converted_field = None + latest_json_string = img_info.get("invokeai_metadata") + log_version_note = "3.0.0+" + destination_needs_meta_update = False + else: + if "sd-metadata" in img_info: + converted_field = parser.parse_meta_tag_sd_metadata(json.loads(img_info.get("sd-metadata"))) + elif "invokeai" in img_info: + converted_field = parser.parse_meta_tag_invokeai(json.loads(img_info.get("invokeai"))) + elif "dream" in img_info: + converted_field = parser.parse_meta_tag_dream(img_info.get("dream")) + elif "Dream" in img_info: + converted_field = parser.parse_meta_tag_dream(img_info.get("Dream")) + else: + converted_field = InvokeAIMetadata() + destination_needs_meta_update = False + print("File does not have metadata from known Invoke AI versions, add only, no update!") + + # use the loaded img dimensions if the metadata didnt have them + if converted_field.width is None: + converted_field.width = png_width + if converted_field.height is None: + converted_field.height = png_height + + log_version_note = converted_field.imported_app_version if converted_field else "NoVersion" + log_version_note = log_version_note or "NoVersion" + + latest_json_string = converted_field.to_json() + + print (f"From Invoke AI Version {log_version_note} with dimensions {png_width} x {png_height}.") + + # if metadata needs update, then update metdata and copy in one shot + if destination_needs_meta_update: + print("Updating metadata while copying...", end="") + self.update_file_metadata_while_copying(filepath, file_destination_path, "invokeai_metadata", latest_json_string) + print("Done!") + else: + print("No metadata update necessary, copying only...", end="") + shutil.copy2(filepath, file_destination_path) + print("Done!") + + # create thumbnail + print("Creating thumbnail...", end="") + thumbnail_path = os.path.join(config.thumbnail_path, os.path.splitext(file_name)[0]) + ".webp" + thumbnail_size = 256, 256 + with PIL.Image.open(filepath) as source_image: + source_image.thumbnail(thumbnail_size) + source_image.save(thumbnail_path, "webp") + print("Done!") + + # finalize the dynamic board name if there is an APPVERSION token in it. + if converted_field is not None: + board_name = board_name_option.replace("APPVERSION", converted_field.imported_app_version or "NoVersion") + else: + board_name = board_name_option.replace("APPVERSION", "Latest") + + # maintain a map of alrady created/looked up ids to avoid DB queries + print("Finding/Creating board...", end="") + if board_name in self.board_name_id_map: + board_id = self.board_name_id_map[board_name] + else: + board_id = db_mapper.get_board_id_with_create(board_name) + self.board_name_id_map[board_name] = board_id + print("Done!") + + # add image to db + print("Adding image to database......", end="") + modified_time = datetime.datetime.utcfromtimestamp(os.path.getmtime(filepath)) + db_mapper.add_new_image_to_database(file_name, png_width, png_height, latest_json_string, modified_time) + print("Done!") + + #add image to board + print("Adding image to board......", end="") + db_mapper.add_image_to_board(file_name, board_id) + print("Done!") + + ImportStats.count_imported += 1 + if log_version_note in ImportStats.count_imported_by_version: + ImportStats.count_imported_by_version[log_version_note] += 1 + else: + ImportStats.count_imported_by_version[log_version_note] = 1 + + def update_file_metadata_while_copying(self, filepath, file_destination_path, tag_name, tag_value): + """Perform a metadata update with save to a new destination which accomplishes a copy while updating metadata.""" + with PIL.Image.open(filepath) as target_image: + existing_img_info = target_image.info + metadata = PIL.PngImagePlugin.PngInfo() + # re-add any existing invoke ai tags unless they are the one we are trying to add + for key in existing_img_info: + if key != tag_name and key in ("dream", "Dream", "sd-metadata", "invokeai", "invokeai_metadata"): + metadata.add_text(key,existing_img_info[key]) + metadata.add_text(tag_name, tag_value) + target_image.save(file_destination_path, pnginfo=metadata) + + def process(self): + """Begin main processing.""" + + print("===============================================================================") + print("This script will import images generated by earlier versions of") + print("InvokeAI into the currently installed root directory:") + print(f' {app_config.root_path}') + print("If this is not what you want to do, type ctrl-C now to cancel.") + + # load config + print("===============================================================================") + print("= Configuration & Settings") + + config = Config() + config.find_and_load() + db_mapper = DatabaseMapper(config.database_path, config.database_backup_dir) + db_mapper.connect() + + import_dir, is_recurse, import_file_list = self.get_import_file_list() + ImportStats.count_source_files = len(import_file_list) + + board_names = db_mapper.get_board_names() + board_name_option = self.select_board_option(board_names, config.TIMESTAMP_STRING) + + print("\r\n===============================================================================") + print("= Import Settings Confirmation") + + print() + print(f"Database File Path : {config.database_path}") + print(f"Outputs/Images Directory : {config.outputs_path}") + print(f"Import Image Source Directory : {import_dir}") + print(f" Recurse Source SubDirectories : {'Yes' if is_recurse else 'No'}") + print(f"Count of .png file(s) found : {len(import_file_list)}") + print(f"Board name option specified : {board_name_option}") + print(f"Database backup will be taken at : {config.database_backup_dir}") + + print("\r\nNotes about the import process:") + print("- Source image files will not be modified, only copied to the outputs directory.") + print("- If the same file name already exists in the destination, the file will be skipped.") + print("- If the same file name already has a record in the database, the file will be skipped.") + print("- Invoke AI metadata tags will be updated/written into the imported copy only.") + print("- On the imported copy, only Invoke AI known tags (latest and legacy) will be retained (dream, sd-metadata, invokeai, invokeai_metadata)") + print("- A property 'imported_app_version' will be added to metadata that can be viewed in the UI's metadata viewer.") + print("- The new 3.x InvokeAI outputs folder structure is flat so recursively found source imges will all be placed into the single outputs/images folder.") + + while True: + should_continue = prompt("\nDo you wish to continue with the import [Yn] ? ").lower() or 'y' + if should_continue=='n': + print("\r\nCancelling Import") + return + elif should_continue=='y': + print() + break + + db_mapper.backup(config.TIMESTAMP_STRING) + + print() + ImportStats.time_start = datetime.datetime.utcnow() + + for filepath in import_file_list: + try: + self.import_image(filepath, board_name_option, db_mapper, config) + except sqlite3.Error as sql_ex: + print(f"A database related exception was found processing {filepath}, will continue to next file. ") + print("Exception detail:") + print(sql_ex) + ImportStats.count_file_errors += 1 + except Exception as ex: + print(f"Exception processing {filepath}, will continue to next file. ") + print("Exception detail:") + print(ex) + ImportStats.count_file_errors += 1 + + print("\r\n===============================================================================") + print(f"= Import Complete - Elpased Time: {ImportStats.get_elapsed_time_string()}") + print() + print(f"Source File(s) : {ImportStats.count_source_files}") + print(f"Total Imported : {ImportStats.count_imported}") + print(f"Skipped b/c file already exists on disk : {ImportStats.count_skipped_file_exists}") + print(f"Skipped b/c file already exists in db : {ImportStats.count_skipped_db_exists}") + print(f"Errors during import : {ImportStats.count_file_errors}") + if ImportStats.count_imported > 0: + print("\r\nBreakdown of imported files by version:") + for key,version in ImportStats.count_imported_by_version.items(): + print(f" {key:20} : {version}") + +def main(): + try: + processor = MediaImportProcessor() + processor.process() + except KeyboardInterrupt: + print("\r\n\r\nUser cancelled execution.") + +if __name__ == "__main__": + main() diff --git a/pyproject.toml b/pyproject.toml index b3f12481a8..d5aa3f37aa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -139,6 +139,7 @@ dependencies = [ "invokeai-metadata" = "invokeai.frontend.CLI.sd_metadata:print_metadata" "invokeai-node-cli" = "invokeai.app.cli_app:invoke_cli" "invokeai-node-web" = "invokeai.app.api_app:invoke_api" +"invokeai-import-images" = "invokeai.frontend.install.import_images:main" [project.urls] "Homepage" = "https://invoke-ai.github.io/InvokeAI/" From b2eb83deff8d525ca9799b0c0251aa0f26b9b5d2 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sat, 5 Aug 2023 12:26:52 -0400 Subject: [PATCH 080/287] add docs --- README.md | 23 +++++++++++++++++++--- docs/installation/010_INSTALL_AUTOMATED.md | 2 +- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 2efaacd031..7b3f95ab10 100644 --- a/README.md +++ b/README.md @@ -306,13 +306,30 @@ InvokeAI. The second will prepare the 2.3 directory for use with 3.0. You may now launch the WebUI in the usual way, by selecting option [1] from the launcher script -#### Migration Caveats +#### Migrating Images The migration script will migrate your invokeai settings and models, including textual inversion models, LoRAs and merges that you may have installed previously. However it does **not** migrate the generated -images stored in your 2.3-format outputs directory. You will need to -manually import selected images into the 3.0 gallery via drag-and-drop. +images stored in your 2.3-format outputs directory. To do this, you +need to run an additional step: + +1. From a working InvokeAI 3.0 root directory, start the launcher and +enter menu option [8] to open the "developer's console". + +2. At the developer's console command line, type the command: + +```bash +invokeai-import-images +``` + +3. This will lead you through the process of confirming the desired + source and destination for the imported images. The images will + appear in the gallery board of your choice, and contain the + original prompt, model name, and other parameters used to generate + the image. + +(Many kudos to **techjedi** for contributing this script.) ## Hardware Requirements diff --git a/docs/installation/010_INSTALL_AUTOMATED.md b/docs/installation/010_INSTALL_AUTOMATED.md index 9b66fcbd83..07a88d5d1b 100644 --- a/docs/installation/010_INSTALL_AUTOMATED.md +++ b/docs/installation/010_INSTALL_AUTOMATED.md @@ -264,7 +264,7 @@ experimental versions later. you can create several levels of subfolders and drop your models into whichever ones you want. - - ***Autoimport FolderLICENSE*** + - ***LICENSE*** At the bottom of the screen you will see a checkbox for accepting the CreativeML Responsible AI Licenses. You need to accept the license From 12e51c84ae290fe4fec2a3343e448c06841a8faf Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sat, 5 Aug 2023 12:44:58 -0400 Subject: [PATCH 081/287] blackified --- invokeai/frontend/install/import_images.py | 213 +++++++++++++-------- 1 file changed, 131 insertions(+), 82 deletions(-) diff --git a/invokeai/frontend/install/import_images.py b/invokeai/frontend/install/import_images.py index 1870fafbf8..fe0f20c830 100644 --- a/invokeai/frontend/install/import_images.py +++ b/invokeai/frontend/install/import_images.py @@ -26,22 +26,28 @@ from prompt_toolkit.completion import PathCompleter from prompt_toolkit.key_binding import KeyBindings from invokeai.app.services.config import InvokeAIAppConfig + app_config = InvokeAIAppConfig.get_config() bindings = KeyBindings() -@bindings.add('c-c') + + +@bindings.add("c-c") def _(event): raise KeyboardInterrupt + # release notes # "Use All" with size dimensions not selectable in the UI will not load dimensions + class Config: """Configuration loader.""" + def __init__(self): pass - TIMESTAMP_STRING= datetime.datetime.utcnow().strftime("%Y%m%dT%H%M%SZ") + TIMESTAMP_STRING = datetime.datetime.utcnow().strftime("%Y%m%dT%H%M%SZ") INVOKE_DIRNAME = "invokeai" YAML_FILENAME = "invokeai.yaml" @@ -56,21 +62,21 @@ class Config: """find the yaml config file and load""" root = app_config.root_path if not self.confirm_and_load(os.path.abspath(root)): - print ("\r\nSpecify custom database and outputs paths:") + print("\r\nSpecify custom database and outputs paths:") self.confirm_and_load_from_user() - self.database_backup_dir = os.path.join(os.path.dirname(self.database_path),"backup") - self.thumbnail_path = os.path.join(self.outputs_path,"thumbnails") + self.database_backup_dir = os.path.join(os.path.dirname(self.database_path), "backup") + self.thumbnail_path = os.path.join(self.outputs_path, "thumbnails") def confirm_and_load(self, invoke_root): """Validates a yaml path exists, confirms the user wants to use it and loads config.""" - yaml_path = os.path.join(invoke_root,self.YAML_FILENAME) + yaml_path = os.path.join(invoke_root, self.YAML_FILENAME) if os.path.exists(yaml_path): db_dir, outdir = self.load_paths_from_yaml(yaml_path) if os.path.isabs(db_dir): - database_path = os.path.join(db_dir,self.DATABASE_FILENAME) + database_path = os.path.join(db_dir, self.DATABASE_FILENAME) else: - database_path = os.path.join(invoke_root,db_dir,self.DATABASE_FILENAME) + database_path = os.path.join(invoke_root, db_dir, self.DATABASE_FILENAME) if os.path.isabs(outdir): outputs_path = os.path.join(outdir, "images") @@ -86,7 +92,7 @@ class Config: text += "\n\nUse these paths for import (yes) or choose different ones (no) [Yn]: " if db_exists and outdir_exists: - if (prompt(text).strip() or 'Y').upper().startswith('Y'): + if (prompt(text).strip() or "Y").upper().startswith("Y"): self.database_path = database_path self.outputs_path = outputs_path return True @@ -98,36 +104,40 @@ class Config: else: message_dialog( title="Path not found", - text=f"Auto-discovery of configuration failed! Could not find ({yaml_path}), Custom paths can be specified." + text=f"Auto-discovery of configuration failed! Could not find ({yaml_path}), Custom paths can be specified.", ).run() return False def confirm_and_load_from_user(self): - default = '' + default = "" while True: database_path = os.path.expanduser( prompt( "Database: Specify absolute path to the database to import into: ", - completer=PathCompleter(expanduser=True, file_filter=lambda x: Path(x).is_dir() or x.endswith(('.db'))), - default = default, - )) + completer=PathCompleter( + expanduser=True, file_filter=lambda x: Path(x).is_dir() or x.endswith((".db")) + ), + default=default, + ) + ) if database_path.endswith(".db") and os.path.isabs(database_path) and os.path.exists(database_path): break - default = database_path + '/' if Path(database_path).is_dir() else database_path + default = database_path + "/" if Path(database_path).is_dir() else database_path - default = '' + default = "" while True: outputs_path = os.path.expanduser( prompt( "Outputs: Specify absolute path to outputs/images directory to import into: ", - completer = PathCompleter(expanduser=True, only_directories=True), - default = default, - )) + completer=PathCompleter(expanduser=True, only_directories=True), + default=default, + ) + ) if outputs_path.endswith("images") and os.path.isabs(outputs_path) and os.path.exists(outputs_path): break - default = outputs_path + '/' if Path(outputs_path).is_dir() else outputs_path - + default = outputs_path + "/" if Path(outputs_path).is_dir() else outputs_path + self.database_path = database_path self.outputs_path = outputs_path @@ -136,17 +146,19 @@ class Config: def load_paths_from_yaml(self, yaml_path): """Load an Invoke AI yaml file and get the database and outputs paths.""" try: - with open(yaml_path, 'rt', encoding=locale.getpreferredencoding()) as file: + with open(yaml_path, "rt", encoding=locale.getpreferredencoding()) as file: yamlinfo = yaml.safe_load(file) - db_dir = yamlinfo.get("InvokeAI",{}).get("Paths",{}).get("db_dir", None) - outdir = yamlinfo.get("InvokeAI",{}).get("Paths",{}).get("outdir", None) + db_dir = yamlinfo.get("InvokeAI", {}).get("Paths", {}).get("db_dir", None) + outdir = yamlinfo.get("InvokeAI", {}).get("Paths", {}).get("outdir", None) return db_dir, outdir except Exception: print(f"Failed to load paths from yaml file! {yaml_path}!") return None, None + class ImportStats: """DTO for tracking work progress.""" + def __init__(self): pass @@ -171,8 +183,10 @@ class ImportStats: out_str += f"{seconds:.2f} second(s)" return out_str + class InvokeAIMetadata: """DTO for core Invoke AI generation properties parsed from metadata.""" + def __init__(self): pass @@ -234,6 +248,7 @@ class InvokeAIMetadata: class InvokeAIMetadataParser: """Parses strings with json data to find Invoke AI core metadata properties.""" + def __init__(self): pass @@ -271,15 +286,15 @@ class InvokeAIMetadataParser: props.width = img_node.get("width") props.height = img_node.get("height") props.seed = img_node.get("seed") - props.rand_device = "cuda" #hardcoded since all generations pre 3.0 used cuda random noise instead of cpu + props.rand_device = "cuda" # hardcoded since all generations pre 3.0 used cuda random noise instead of cpu props.cfg_scale = img_node.get("cfg_scale") props.steps = img_node.get("steps") props.scheduler = self.map_scheduler(img_node.get("sampler")) props.strength = img_node.get("strength") if props.strength is None: - props.strength = img_node.get("strength_steps") # try second name for this property + props.strength = img_node.get("strength_steps") # try second name for this property props.init_image = img_node.get("init_image_path") - if props.init_image is None: # try second name for this property + if props.init_image is None: # try second name for this property props.init_image = img_node.get("init_img") # remove the path info from init_image so if we move the init image, it will be correctly relative in the new location if props.init_image is not None: @@ -299,7 +314,7 @@ class InvokeAIMetadataParser: props.imported_app_version = "3.0.0 or later" props.generation_mode = tag_value.get("type") if props.generation_mode is not None: - props.generation_mode = props.generation_mode.replace("t2l","txt2img").replace("l2l","img2img") + props.generation_mode = props.generation_mode.replace("t2l", "txt2img").replace("l2l", "img2img") props.width = tag_value.get("width") props.height = tag_value.get("height") @@ -318,30 +333,41 @@ class InvokeAIMetadataParser: if old_scheduler is None: return None - match(old_scheduler): - case "ddim" : return "ddim" - case "plms" : return "pnmd" - case "k_lms" : return "lms" - case "k_dpm_2" : return "kdpm_2" - case "k_dpm_2_a" : return "kdpm_2_a" - case "dpmpp_2" : return "dpmpp_2s" - case "k_dpmpp_2" : return "dpmpp_2m" - case "k_dpmpp_2_a" : return None #invalid, in 2.3.x, selecting this sample would just fallback to last run or plms if new session - case "k_euler" : return "euler" - case "k_euler_a" : return "euler_a" - case "k_heun" : return "heun" + match (old_scheduler): + case "ddim": + return "ddim" + case "plms": + return "pnmd" + case "k_lms": + return "lms" + case "k_dpm_2": + return "kdpm_2" + case "k_dpm_2_a": + return "kdpm_2_a" + case "dpmpp_2": + return "dpmpp_2s" + case "k_dpmpp_2": + return "dpmpp_2m" + case "k_dpmpp_2_a": + return None # invalid, in 2.3.x, selecting this sample would just fallback to last run or plms if new session + case "k_euler": + return "euler" + case "k_euler_a": + return "euler_a" + case "k_heun": + return "heun" return None def split_prompt(self, raw_prompt: str): """Split the unified prompt strings by extracting all negative prompt blocks out into the negative prompt.""" if raw_prompt is None: return "", "" - raw_prompt_search = raw_prompt.replace("\r","").replace("\n","") + raw_prompt_search = raw_prompt.replace("\r", "").replace("\n", "") matches = re.findall(r"\[(.+?)\]", raw_prompt_search) if len(matches) > 0: negative_prompt = "" if len(matches) == 1: - negative_prompt = matches[0].strip().strip(',') + negative_prompt = matches[0].strip().strip(",") else: for match in matches: negative_prompt += f"({match.strip().strip(',')})" @@ -350,10 +376,12 @@ class InvokeAIMetadataParser: positive_prompt = raw_prompt_search.strip() negative_prompt = "" - return positive_prompt,negative_prompt + return positive_prompt, negative_prompt + class DatabaseMapper: """Class to abstract database functionality.""" + def __init__(self, database_path, database_backup_dir): self.database_path = database_path self.database_backup_dir = database_backup_dir @@ -380,7 +408,7 @@ class DatabaseMapper: return True if len(rows) > 0 else False def add_new_image_to_database(self, filename, width, height, metadata, modified_date_string): - """Add an image to the database.""" + """Add an image to the database.""" sql_add_image = f"""INSERT INTO images (image_name, image_origin, image_category, width, height, session_id, node_id, metadata, is_intermediate, created_at, updated_at) VALUES ('{filename}', 'internal', 'general', {width}, {height}, null, null, '{metadata}', 0, '{modified_date_string}', '{modified_date_string}')""" self.cursor.execute(sql_add_image) @@ -391,7 +419,7 @@ VALUES ('{filename}', 'internal', 'general', {width}, {height}, null, null, '{me sql_find_board = f"SELECT board_id FROM boards WHERE board_name='{board_name}' COLLATE NOCASE" self.cursor.execute(sql_find_board) rows = self.cursor.fetchall() - if len(rows)>0: + if len(rows) > 0: return rows[0][0] else: board_date_string = datetime.datetime.utcnow().date().isoformat() @@ -417,18 +445,20 @@ VALUES ('{filename}', 'internal', 'general', {width}, {height}, null, null, '{me self.connection.close() def backup(self, timestamp_string): - """Take a backup of the database.""" + """Take a backup of the database.""" if not os.path.exists(self.database_backup_dir): - print (f"Database backup directory {self.database_backup_dir} does not exist -> creating...", end="") + print(f"Database backup directory {self.database_backup_dir} does not exist -> creating...", end="") os.makedirs(self.database_backup_dir) - print ("Done!") + print("Done!") database_backup_path = os.path.join(self.database_backup_dir, f"backup-{timestamp_string}-invokeai.db") - print (f"Making DB Backup at {database_backup_path}...", end="") + print(f"Making DB Backup at {database_backup_path}...", end="") shutil.copy2(self.database_path, database_backup_path) - print ("Done!") + print("Done!") + class MediaImportProcessor: """Containing class for script functionality.""" + def __init__(self): pass @@ -437,25 +467,28 @@ class MediaImportProcessor: def get_import_file_list(self): """Ask the user for the import folder and scan for the list of files to return.""" while True: - default = '' + default = "" while True: import_dir = os.path.expanduser( prompt( "Inputs: Specify absolute path containing InvokeAI .png images to import: ", - completer = PathCompleter(expanduser=True, only_directories=True), - default = default, - )) - if len(import_dir)>0 and Path(import_dir).is_dir(): + completer=PathCompleter(expanduser=True, only_directories=True), + default=default, + ) + ) + if len(import_dir) > 0 and Path(import_dir).is_dir(): break default = import_dir - recurse_directories = (prompt("Include files from subfolders recursively [yN]? ").strip() or 'N').upper().startswith('N') + recurse_directories = ( + (prompt("Include files from subfolders recursively [yN]? ").strip() or "N").upper().startswith("N") + ) if recurse_directories: is_recurse = False - matching_file_list = glob.glob(import_dir + '/*.png', recursive=False) + matching_file_list = glob.glob(import_dir + "/*.png", recursive=False) else: is_recurse = True - matching_file_list = glob.glob(import_dir + '/**/*.png', recursive=True) + matching_file_list = glob.glob(import_dir + "/**/*.png", recursive=True) if len(matching_file_list) > 0: return import_dir, is_recurse, matching_file_list @@ -475,17 +508,23 @@ class MediaImportProcessor: while True: print("\r\nOptions for board selection for imported images:") print(f"1) Select an existing board name. (found {len(board_names)})") - print( "2) Specify a board name to create/add to.") - print( "3) Create/add to board named 'IMPORT'.") - print(f"4) Create/add to board named 'IMPORT' with the current datetime string appended (.e.g IMPORT_{timestamp_string}).") - print( "5) Create/add to board named 'IMPORT' with a the original file app_version appended (.e.g IMPORT_2.2.5).") + print("2) Specify a board name to create/add to.") + print("3) Create/add to board named 'IMPORT'.") + print( + f"4) Create/add to board named 'IMPORT' with the current datetime string appended (.e.g IMPORT_{timestamp_string})." + ) + print( + "5) Create/add to board named 'IMPORT' with a the original file app_version appended (.e.g IMPORT_2.2.5)." + ) input_option = input("Specify desired board option: ") - match(input_option): - case "1" : + match (input_option): + case "1": if len(board_names) < 1: print("\r\nThere are no existing board names to choose from. Select another option!") continue - board_name = self.select_item_from_list(board_names, "board name", True, "Cancel, go back and choose a different board option.") + board_name = self.select_item_from_list( + board_names, "board name", True, "Cancel, go back and choose a different board option." + ) if board_name is not None: return board_name case "2": @@ -493,7 +532,7 @@ class MediaImportProcessor: board_name = input("Specify new/existing board name: ") if board_name: return board_name - case "3" : + case "3": return "IMPORT" case "4": return f"IMPORT_{timestamp_string}" @@ -502,7 +541,7 @@ class MediaImportProcessor: def select_item_from_list(self, items, entity_name, allow_cancel, cancel_string): """A general function to render a list of items to select in the console, prompt the user for a selection and ensure a valid entry is selected.""" - print (f"Select a {entity_name.lower()} from the following list:") + print(f"Select a {entity_name.lower()} from the following list:") index = 1 for item in items: print(f"{index}) {item}") @@ -516,8 +555,8 @@ class MediaImportProcessor: continue if allow_cancel and option_number == index: return None - if option_number >=1 and option_number <= len(items): - return items[option_number-1] + if option_number >= 1 and option_number <= len(items): + return items[option_number - 1] def import_image(self, filepath: str, board_name_option: str, db_mapper: DatabaseMapper, config: Config): """Import a single file by its path""" @@ -577,12 +616,14 @@ class MediaImportProcessor: latest_json_string = converted_field.to_json() - print (f"From Invoke AI Version {log_version_note} with dimensions {png_width} x {png_height}.") + print(f"From Invoke AI Version {log_version_note} with dimensions {png_width} x {png_height}.") # if metadata needs update, then update metdata and copy in one shot if destination_needs_meta_update: print("Updating metadata while copying...", end="") - self.update_file_metadata_while_copying(filepath, file_destination_path, "invokeai_metadata", latest_json_string) + self.update_file_metadata_while_copying( + filepath, file_destination_path, "invokeai_metadata", latest_json_string + ) print("Done!") else: print("No metadata update necessary, copying only...", end="") @@ -591,7 +632,7 @@ class MediaImportProcessor: # create thumbnail print("Creating thumbnail...", end="") - thumbnail_path = os.path.join(config.thumbnail_path, os.path.splitext(file_name)[0]) + ".webp" + thumbnail_path = os.path.join(config.thumbnail_path, os.path.splitext(file_name)[0]) + ".webp" thumbnail_size = 256, 256 with PIL.Image.open(filepath) as source_image: source_image.thumbnail(thumbnail_size) @@ -619,7 +660,7 @@ class MediaImportProcessor: db_mapper.add_new_image_to_database(file_name, png_width, png_height, latest_json_string, modified_time) print("Done!") - #add image to board + # add image to board print("Adding image to board......", end="") db_mapper.add_image_to_board(file_name, board_id) print("Done!") @@ -638,7 +679,7 @@ class MediaImportProcessor: # re-add any existing invoke ai tags unless they are the one we are trying to add for key in existing_img_info: if key != tag_name and key in ("dream", "Dream", "sd-metadata", "invokeai", "invokeai_metadata"): - metadata.add_text(key,existing_img_info[key]) + metadata.add_text(key, existing_img_info[key]) metadata.add_text(tag_name, tag_value) target_image.save(file_destination_path, pnginfo=metadata) @@ -648,7 +689,7 @@ class MediaImportProcessor: print("===============================================================================") print("This script will import images generated by earlier versions of") print("InvokeAI into the currently installed root directory:") - print(f' {app_config.root_path}') + print(f" {app_config.root_path}") print("If this is not what you want to do, type ctrl-C now to cancel.") # load config @@ -683,16 +724,22 @@ class MediaImportProcessor: print("- If the same file name already exists in the destination, the file will be skipped.") print("- If the same file name already has a record in the database, the file will be skipped.") print("- Invoke AI metadata tags will be updated/written into the imported copy only.") - print("- On the imported copy, only Invoke AI known tags (latest and legacy) will be retained (dream, sd-metadata, invokeai, invokeai_metadata)") - print("- A property 'imported_app_version' will be added to metadata that can be viewed in the UI's metadata viewer.") - print("- The new 3.x InvokeAI outputs folder structure is flat so recursively found source imges will all be placed into the single outputs/images folder.") + print( + "- On the imported copy, only Invoke AI known tags (latest and legacy) will be retained (dream, sd-metadata, invokeai, invokeai_metadata)" + ) + print( + "- A property 'imported_app_version' will be added to metadata that can be viewed in the UI's metadata viewer." + ) + print( + "- The new 3.x InvokeAI outputs folder structure is flat so recursively found source imges will all be placed into the single outputs/images folder." + ) while True: - should_continue = prompt("\nDo you wish to continue with the import [Yn] ? ").lower() or 'y' - if should_continue=='n': + should_continue = prompt("\nDo you wish to continue with the import [Yn] ? ").lower() or "y" + if should_continue == "n": print("\r\nCancelling Import") return - elif should_continue=='y': + elif should_continue == "y": print() break @@ -725,9 +772,10 @@ class MediaImportProcessor: print(f"Errors during import : {ImportStats.count_file_errors}") if ImportStats.count_imported > 0: print("\r\nBreakdown of imported files by version:") - for key,version in ImportStats.count_imported_by_version.items(): + for key, version in ImportStats.count_imported_by_version.items(): print(f" {key:20} : {version}") + def main(): try: processor = MediaImportProcessor() @@ -735,5 +783,6 @@ def main(): except KeyboardInterrupt: print("\r\n\r\nUser cancelled execution.") + if __name__ == "__main__": main() From 44bf308192629a6e91a26d38e6814a2a2f6b068e Mon Sep 17 00:00:00 2001 From: Kevin Turner <83819+keturn@users.noreply.github.com> Date: Sat, 5 Aug 2023 15:22:23 -0700 Subject: [PATCH 082/287] test(model_management): add a couple tests for _get_model_path --- .../backend/model_management/model_manager.py | 2 +- pyproject.toml | 2 +- tests/test_model_manager.py | 36 +++++++++++++++++++ .../configs/relative_sub.models.yaml | 15 ++++++++ .../sdxl/main/SDXL base 1_0/model_index.json | 0 .../sdxl/vae/sdxl-vae-fp16-fix/config.json | 0 6 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 tests/test_model_manager.py create mode 100644 tests/test_model_manager/configs/relative_sub.models.yaml create mode 100644 tests/test_model_manager/models/sdxl/main/SDXL base 1_0/model_index.json create mode 100644 tests/test_model_manager/models/sdxl/vae/sdxl-vae-fp16-fix/config.json diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index 3e8888be24..ebe7ffbbd0 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -533,7 +533,7 @@ class ModelManager(object): model_path = self.resolve_model_path(model_path) return model_path, is_submodel_override - def _get_model_config(self, base_model, model_name, model_type) -> ModelConfigBase: + def _get_model_config(self, base_model: BaseModelType, model_name: str, model_type: ModelType) -> ModelConfigBase: """Get a model's config object.""" model_key = self.create_key(model_name, base_model, model_type) try: diff --git a/pyproject.toml b/pyproject.toml index b3f12481a8..2ae297a6da 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -100,7 +100,7 @@ dependencies = [ "dev" = [ "pudb", ] -"test" = ["pytest>6.0.0", "pytest-cov", "black"] +"test" = ["pytest>6.0.0", "pytest-cov", "pytest-datadir", "black"] "xformers" = [ "xformers~=0.0.19; sys_platform!='darwin'", "triton; sys_platform=='linux'", diff --git a/tests/test_model_manager.py b/tests/test_model_manager.py new file mode 100644 index 0000000000..af0394eac2 --- /dev/null +++ b/tests/test_model_manager.py @@ -0,0 +1,36 @@ +from pathlib import Path + +import pytest + +from invokeai.app.services.config import InvokeAIAppConfig +from invokeai.backend import ModelManager, BaseModelType, ModelType, SubModelType + + +@pytest.fixture +def model_manager(datadir) -> ModelManager: + InvokeAIAppConfig.get_config(root=datadir) + return ModelManager(datadir / "configs" / "relative_sub.models.yaml") + + +def test_get_model_names(model_manager: ModelManager): + names = model_manager.model_names() + assert names[:2] == [ + ("SDXL base", BaseModelType.StableDiffusionXL, ModelType.Main), + ("SDXL with VAE", BaseModelType.StableDiffusionXL, ModelType.Main), + ] + + +def test_get_model_path_for_diffusers(model_manager: ModelManager, datadir: Path): + model_config = model_manager._get_model_config(BaseModelType.StableDiffusionXL, "SDXL base", ModelType.Main) + top_model_path, is_override = model_manager._get_model_path(model_config) + expected_model_path = datadir / "models" / "sdxl" / "main" / "SDXL base 1_0" + assert top_model_path == expected_model_path + assert not is_override + + +def test_get_model_path_for_overridden_vae(model_manager: ModelManager, datadir: Path): + model_config = model_manager._get_model_config(BaseModelType.StableDiffusionXL, "SDXL with VAE", ModelType.Main) + vae_model_path, is_override = model_manager._get_model_path(model_config, SubModelType.Vae) + expected_vae_path = datadir / "models" / "sdxl" / "vae" / "sdxl-vae-fp16-fix" + assert vae_model_path == expected_vae_path + assert is_override diff --git a/tests/test_model_manager/configs/relative_sub.models.yaml b/tests/test_model_manager/configs/relative_sub.models.yaml new file mode 100644 index 0000000000..757c50e3b5 --- /dev/null +++ b/tests/test_model_manager/configs/relative_sub.models.yaml @@ -0,0 +1,15 @@ +__metadata__: + version: 3.0.0 + +sdxl/main/SDXL base: + path: sdxl/main/SDXL base 1_0 + description: SDXL base v1.0 + variant: normal + format: diffusers + +sdxl/main/SDXL with VAE: + path: sdxl/main/SDXL base 1_0 + description: SDXL base v1.0 + vae: sdxl/vae/sdxl-vae-fp16-fix/ + variant: normal + format: diffusers diff --git a/tests/test_model_manager/models/sdxl/main/SDXL base 1_0/model_index.json b/tests/test_model_manager/models/sdxl/main/SDXL base 1_0/model_index.json new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/test_model_manager/models/sdxl/vae/sdxl-vae-fp16-fix/config.json b/tests/test_model_manager/models/sdxl/vae/sdxl-vae-fp16-fix/config.json new file mode 100644 index 0000000000..e69de29bb2 From 7f4c3870808541746e4f4bc51fdc601b8e19056f Mon Sep 17 00:00:00 2001 From: Kevin Turner <83819+keturn@users.noreply.github.com> Date: Sat, 5 Aug 2023 15:46:46 -0700 Subject: [PATCH 083/287] test(model_management): factor out name strings --- tests/test_model_manager.py | 14 ++++++++------ .../configs/relative_sub.models.yaml | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/tests/test_model_manager.py b/tests/test_model_manager.py index af0394eac2..4314bad595 100644 --- a/tests/test_model_manager.py +++ b/tests/test_model_manager.py @@ -5,6 +5,9 @@ import pytest from invokeai.app.services.config import InvokeAIAppConfig from invokeai.backend import ModelManager, BaseModelType, ModelType, SubModelType +BASIC_MODEL_NAME = ("SDXL base", BaseModelType.StableDiffusionXL, ModelType.Main) +VAE_OVERRIDE_MODEL_NAME = ("SDXL with VAE", BaseModelType.StableDiffusionXL, ModelType.Main) + @pytest.fixture def model_manager(datadir) -> ModelManager: @@ -14,14 +17,11 @@ def model_manager(datadir) -> ModelManager: def test_get_model_names(model_manager: ModelManager): names = model_manager.model_names() - assert names[:2] == [ - ("SDXL base", BaseModelType.StableDiffusionXL, ModelType.Main), - ("SDXL with VAE", BaseModelType.StableDiffusionXL, ModelType.Main), - ] + assert names[:2] == [BASIC_MODEL_NAME, VAE_OVERRIDE_MODEL_NAME] def test_get_model_path_for_diffusers(model_manager: ModelManager, datadir: Path): - model_config = model_manager._get_model_config(BaseModelType.StableDiffusionXL, "SDXL base", ModelType.Main) + model_config = model_manager._get_model_config(BASIC_MODEL_NAME[1], BASIC_MODEL_NAME[0], BASIC_MODEL_NAME[2]) top_model_path, is_override = model_manager._get_model_path(model_config) expected_model_path = datadir / "models" / "sdxl" / "main" / "SDXL base 1_0" assert top_model_path == expected_model_path @@ -29,7 +29,9 @@ def test_get_model_path_for_diffusers(model_manager: ModelManager, datadir: Path def test_get_model_path_for_overridden_vae(model_manager: ModelManager, datadir: Path): - model_config = model_manager._get_model_config(BaseModelType.StableDiffusionXL, "SDXL with VAE", ModelType.Main) + model_config = model_manager._get_model_config( + VAE_OVERRIDE_MODEL_NAME[1], VAE_OVERRIDE_MODEL_NAME[0], VAE_OVERRIDE_MODEL_NAME[2] + ) vae_model_path, is_override = model_manager._get_model_path(model_config, SubModelType.Vae) expected_vae_path = datadir / "models" / "sdxl" / "vae" / "sdxl-vae-fp16-fix" assert vae_model_path == expected_vae_path diff --git a/tests/test_model_manager/configs/relative_sub.models.yaml b/tests/test_model_manager/configs/relative_sub.models.yaml index 757c50e3b5..3ec7a3adff 100644 --- a/tests/test_model_manager/configs/relative_sub.models.yaml +++ b/tests/test_model_manager/configs/relative_sub.models.yaml @@ -9,7 +9,7 @@ sdxl/main/SDXL base: sdxl/main/SDXL with VAE: path: sdxl/main/SDXL base 1_0 - description: SDXL base v1.0 + description: SDXL with customized VAE vae: sdxl/vae/sdxl-vae-fp16-fix/ variant: normal format: diffusers From d93900a8de3927281f450d0efdcee9b310a97be3 Mon Sep 17 00:00:00 2001 From: Kent Keirsey <31807370+hipsterusername@users.noreply.github.com> Date: Wed, 24 May 2023 21:02:40 -0400 Subject: [PATCH 084/287] Added HSL Nodes --- invokeai/app/invocations/image.py | 148 ++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index 3f40ea3cbe..59375a13f4 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -3,6 +3,7 @@ from typing import Literal, Optional import numpy +import cv2 from PIL import Image, ImageFilter, ImageOps, ImageChops from pydantic import Field from pathlib import Path @@ -650,3 +651,150 @@ class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): width=image_dto.width, height=image_dto.height, ) + +class HueAdjustmentInvocation(BaseInvocation): + """Adjusts the Hue of an image.""" + + # fmt: off + type: Literal["hue_adjust"] = "hue_adjust" + + # Inputs + image: ImageField = Field(default=None, description="The image to adjust") + hue: float = Field(default=0, description="The degrees by which to rotate the hue") + # fmt: on + + def invoke(self, context: InvocationContext) -> ImageOutput: + pil_image = context.services.images.get_pil_image( + self.image.image_type, self.image.image_name + ) + + # Convert PIL image to OpenCV format (numpy array), note color channel + # ordering is changed from RGB to BGR + image = numpy.array(pil_image.convert('RGB'))[:, :, ::-1] + + # Convert image to HSV color space + hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) + + # Adjust the hue + hsv_image[:, :, 0] = (hsv_image[:, :, 0] + self.hue) % 180 + + # Convert image back to BGR color space + image = cv2.cvtColor(hsv_image, cv2.COLOR_HSV2BGR) + + # Convert back to PIL format and to original color mode + pil_image = Image.fromarray(image[:, :, ::-1], 'RGB').convert('RGBA') + + image_dto = context.services.images.create( + image=pil_image, + image_type=ImageType.RESULT, + image_category=ImageCategory.GENERAL, + node_id=self.id, + session_id=context.graph_execution_state_id, + ) + + return ImageOutput( + image=ImageField( + image_name=image_dto.image_name, + image_type=image_dto.image_type, + ), + width=image_dto.width, + height=image_dto.height, + ) + +class LuminosityAdjustmentInvocation(BaseInvocation): + """Adjusts the Luminosity (Value) of an image.""" + + # fmt: off + type: Literal["luminosity_adjust"] = "luminosity_adjust" + + # Inputs + image: ImageField = Field(default=None, description="The image to adjust") + luminosity: float = Field(default=1.0, description="The factor by which to adjust the luminosity (value)") + # fmt: on + + def invoke(self, context: InvocationContext) -> ImageOutput: + pil_image = context.services.images.get_pil_image( + self.image.image_type, self.image.image_name + ) + + # Convert PIL image to OpenCV format (numpy array), note color channel + # ordering is changed from RGB to BGR + image = numpy.array(pil_image.convert('RGB'))[:, :, ::-1] + + # Convert image to HSV color space + hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) + + # Adjust the luminosity (value) + hsv_image[:, :, 2] = numpy.clip(hsv_image[:, :, 2] * self.luminosity, 0, 255) + + # Convert image back to BGR color space + image = cv2.cvtColor(hsv_image, cv2.COLOR_HSV2BGR) + + # Convert back to PIL format and to original color mode + pil_image = Image.fromarray(image[:, :, ::-1], 'RGB').convert('RGBA') + + image_dto = context.services.images.create( + image=pil_image, + image_type=ImageType.RESULT, + image_category=ImageCategory.GENERAL, + node_id=self.id, + session_id=context.graph_execution_state_id, + ) + + return ImageOutput( + image=ImageField( + image_name=image_dto.image_name, + image_type=image_dto.image_type, + ), + width=image_dto.width, + height=image_dto.height, + ) + +class SaturationAdjustmentInvocation(BaseInvocation): + """Adjusts the Saturation of an image.""" + + # fmt: off + type: Literal["saturation_adjust"] = "saturation_adjust" + + # Inputs + image: ImageField = Field(default=None, description="The image to adjust") + saturation: float = Field(default=1.0, description="The factor by which to adjust the saturation") + # fmt: on + + def invoke(self, context: InvocationContext) -> ImageOutput: + pil_image = context.services.images.get_pil_image( + self.image.image_type, self.image.image_name + ) + + # Convert PIL image to OpenCV format (numpy array), note color channel + # ordering is changed from RGB to BGR + image = numpy.array(pil_image.convert('RGB'))[:, :, ::-1] + + # Convert image to HSV color space + hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) + + # Adjust the saturation + hsv_image[:, :, 1] = numpy.clip(hsv_image[:, :, 1] * self.saturation, 0, 255) + + # Convert image back to BGR color space + image = cv2.cvtColor(hsv_image, cv2.COLOR_HSV2BGR) + + # Convert back to PIL format and to original color mode + pil_image = Image.fromarray(image[:, :, ::-1], 'RGB').convert('RGBA') + + image_dto = context.services.images.create( + image=pil_image, + image_type=ImageType.RESULT, + image_category=ImageCategory.GENERAL, + node_id=self.id, + session_id=context.graph_execution_state_id, + ) + + return ImageOutput( + image=ImageField( + image_name=image_dto.image_name, + image_type=image_dto.image_type, + ), + width=image_dto.width, + height=image_dto.height, + ) From b8b589c150ba2d77f65a4fad6b0e9cd4991d266c Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Sat, 5 Aug 2023 12:34:47 +1000 Subject: [PATCH 085/287] fix(nodes): fix hsl nodes rebase conflict --- invokeai/app/invocations/image.py | 57 +++++++++++++++---------------- 1 file changed, 27 insertions(+), 30 deletions(-) diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index 59375a13f4..9f60cb620a 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -652,25 +652,24 @@ class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): height=image_dto.height, ) -class HueAdjustmentInvocation(BaseInvocation): + +class ImageHueAdjustmentInvocation(BaseInvocation): """Adjusts the Hue of an image.""" # fmt: off - type: Literal["hue_adjust"] = "hue_adjust" + type: Literal["img_hue_adjust"] = "img_hue_adjust" # Inputs image: ImageField = Field(default=None, description="The image to adjust") - hue: float = Field(default=0, description="The degrees by which to rotate the hue") + hue: int = Field(default=0, description="The degrees by which to rotate the hue") # fmt: on def invoke(self, context: InvocationContext) -> ImageOutput: - pil_image = context.services.images.get_pil_image( - self.image.image_type, self.image.image_name - ) + pil_image = context.services.images.get_pil_image(self.image.image_name) # Convert PIL image to OpenCV format (numpy array), note color channel # ordering is changed from RGB to BGR - image = numpy.array(pil_image.convert('RGB'))[:, :, ::-1] + image = numpy.array(pil_image.convert("RGB"))[:, :, ::-1] # Convert image to HSV color space hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) @@ -682,44 +681,43 @@ class HueAdjustmentInvocation(BaseInvocation): image = cv2.cvtColor(hsv_image, cv2.COLOR_HSV2BGR) # Convert back to PIL format and to original color mode - pil_image = Image.fromarray(image[:, :, ::-1], 'RGB').convert('RGBA') + pil_image = Image.fromarray(image[:, :, ::-1], "RGB").convert("RGBA") image_dto = context.services.images.create( image=pil_image, - image_type=ImageType.RESULT, + image_origin=ResourceOrigin.INTERNAL, image_category=ImageCategory.GENERAL, node_id=self.id, + is_intermediate=self.is_intermediate, session_id=context.graph_execution_state_id, ) return ImageOutput( image=ImageField( image_name=image_dto.image_name, - image_type=image_dto.image_type, ), width=image_dto.width, height=image_dto.height, ) -class LuminosityAdjustmentInvocation(BaseInvocation): + +class ImageLuminosityAdjustmentInvocation(BaseInvocation): """Adjusts the Luminosity (Value) of an image.""" # fmt: off - type: Literal["luminosity_adjust"] = "luminosity_adjust" + type: Literal["img_luminosity_adjust"] = "img_luminosity_adjust" # Inputs image: ImageField = Field(default=None, description="The image to adjust") - luminosity: float = Field(default=1.0, description="The factor by which to adjust the luminosity (value)") + luminosity: float = Field(default=1.0, ge=0, le=1, description="The factor by which to adjust the luminosity (value)") # fmt: on def invoke(self, context: InvocationContext) -> ImageOutput: - pil_image = context.services.images.get_pil_image( - self.image.image_type, self.image.image_name - ) + pil_image = context.services.images.get_pil_image(self.image.image_name) # Convert PIL image to OpenCV format (numpy array), note color channel # ordering is changed from RGB to BGR - image = numpy.array(pil_image.convert('RGB'))[:, :, ::-1] + image = numpy.array(pil_image.convert("RGB"))[:, :, ::-1] # Convert image to HSV color space hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) @@ -731,44 +729,43 @@ class LuminosityAdjustmentInvocation(BaseInvocation): image = cv2.cvtColor(hsv_image, cv2.COLOR_HSV2BGR) # Convert back to PIL format and to original color mode - pil_image = Image.fromarray(image[:, :, ::-1], 'RGB').convert('RGBA') + pil_image = Image.fromarray(image[:, :, ::-1], "RGB").convert("RGBA") image_dto = context.services.images.create( image=pil_image, - image_type=ImageType.RESULT, + image_origin=ResourceOrigin.INTERNAL, image_category=ImageCategory.GENERAL, node_id=self.id, + is_intermediate=self.is_intermediate, session_id=context.graph_execution_state_id, ) return ImageOutput( image=ImageField( image_name=image_dto.image_name, - image_type=image_dto.image_type, ), width=image_dto.width, height=image_dto.height, ) -class SaturationAdjustmentInvocation(BaseInvocation): + +class ImageSaturationAdjustmentInvocation(BaseInvocation): """Adjusts the Saturation of an image.""" # fmt: off - type: Literal["saturation_adjust"] = "saturation_adjust" + type: Literal["img_saturation_adjust"] = "img_saturation_adjust" # Inputs image: ImageField = Field(default=None, description="The image to adjust") - saturation: float = Field(default=1.0, description="The factor by which to adjust the saturation") + saturation: float = Field(default=1.0, ge=0, le=1, description="The factor by which to adjust the saturation") # fmt: on def invoke(self, context: InvocationContext) -> ImageOutput: - pil_image = context.services.images.get_pil_image( - self.image.image_type, self.image.image_name - ) + pil_image = context.services.images.get_pil_image(self.image.image_name) # Convert PIL image to OpenCV format (numpy array), note color channel # ordering is changed from RGB to BGR - image = numpy.array(pil_image.convert('RGB'))[:, :, ::-1] + image = numpy.array(pil_image.convert("RGB"))[:, :, ::-1] # Convert image to HSV color space hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) @@ -780,20 +777,20 @@ class SaturationAdjustmentInvocation(BaseInvocation): image = cv2.cvtColor(hsv_image, cv2.COLOR_HSV2BGR) # Convert back to PIL format and to original color mode - pil_image = Image.fromarray(image[:, :, ::-1], 'RGB').convert('RGBA') + pil_image = Image.fromarray(image[:, :, ::-1], "RGB").convert("RGBA") image_dto = context.services.images.create( image=pil_image, - image_type=ImageType.RESULT, + image_origin=ResourceOrigin.INTERNAL, image_category=ImageCategory.GENERAL, node_id=self.id, + is_intermediate=self.is_intermediate, session_id=context.graph_execution_state_id, ) return ImageOutput( image=ImageField( image_name=image_dto.image_name, - image_type=image_dto.image_type, ), width=image_dto.width, height=image_dto.height, From 9aaf67c5b41458aba815d9ce58ce796fb4d941be Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Sun, 6 Aug 2023 05:05:25 +0300 Subject: [PATCH 086/287] wip --- invokeai/app/invocations/compel.py | 9 + invokeai/app/invocations/latent.py | 6 +- .../stable_diffusion/diffusers_pipeline.py | 209 +++----------- .../diffusion/shared_invokeai_diffusion.py | 265 ++++++++++++------ 4 files changed, 232 insertions(+), 257 deletions(-) diff --git a/invokeai/app/invocations/compel.py b/invokeai/app/invocations/compel.py index 7c3ce7a819..d0b55cd185 100644 --- a/invokeai/app/invocations/compel.py +++ b/invokeai/app/invocations/compel.py @@ -37,6 +37,10 @@ class BasicConditioningInfo: # weight: float # mode: ConditioningAlgo + def to(self, device, dtype=None): + self.embeds = self.embeds.to(device=device, dtype=dtype) + return self + @dataclass class SDXLConditioningInfo(BasicConditioningInfo): @@ -44,6 +48,11 @@ class SDXLConditioningInfo(BasicConditioningInfo): pooled_embeds: torch.Tensor add_time_ids: torch.Tensor + def to(self, device, dtype=None): + self.pooled_embeds = self.pooled_embeds.to(device=device, dtype=dtype) + self.add_time_ids = self.add_time_ids.to(device=device, dtype=dtype) + return super().to(device=device, dtype=dtype) + ConditioningInfoType = Annotated[Union[BasicConditioningInfo, SDXLConditioningInfo], Field(discriminator="type")] diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index 6e2e0838bc..a63f98de24 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -174,11 +174,11 @@ class TextToLatentsInvocation(BaseInvocation): unet, ) -> ConditioningData: positive_cond_data = context.services.latents.get(self.positive_conditioning.conditioning_name) - c = positive_cond_data.conditionings[0].embeds.to(device=unet.device, dtype=unet.dtype) - extra_conditioning_info = positive_cond_data.conditionings[0].extra_conditioning + c = positive_cond_data.conditionings[0].to(device=unet.device, dtype=unet.dtype) + extra_conditioning_info = c.extra_conditioning negative_cond_data = context.services.latents.get(self.negative_conditioning.conditioning_name) - uc = negative_cond_data.conditionings[0].embeds.to(device=unet.device, dtype=unet.dtype) + uc = negative_cond_data.conditionings[0].to(device=unet.device, dtype=unet.dtype) conditioning_data = ConditioningData( unconditioned_embeddings=uc, diff --git a/invokeai/backend/stable_diffusion/diffusers_pipeline.py b/invokeai/backend/stable_diffusion/diffusers_pipeline.py index 624d47ff64..8a7616f1f1 100644 --- a/invokeai/backend/stable_diffusion/diffusers_pipeline.py +++ b/invokeai/backend/stable_diffusion/diffusers_pipeline.py @@ -212,8 +212,8 @@ class ControlNetData: @dataclass class ConditioningData: - unconditioned_embeddings: torch.Tensor - text_embeddings: torch.Tensor + unconditioned_embeddings: Any # TODO: type + text_embeddings: Any # TODO: type guidance_scale: Union[float, List[float]] """ Guidance scale as defined in [Classifier-Free Diffusion Guidance](https://arxiv.org/abs/2207.12598). @@ -392,48 +392,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): submodels.append(value) return submodels - def image_from_embeddings( - self, - latents: torch.Tensor, - num_inference_steps: int, - conditioning_data: ConditioningData, - *, - noise: torch.Tensor, - callback: Callable[[PipelineIntermediateState], None] = None, - run_id=None, - ) -> InvokeAIStableDiffusionPipelineOutput: - r""" - Function invoked when calling the pipeline for generation. - - :param conditioning_data: - :param latents: Pre-generated un-noised latents, to be used as inputs for - image generation. Can be used to tweak the same generation with different prompts. - :param num_inference_steps: The number of denoising steps. More denoising steps usually lead to a higher quality - image at the expense of slower inference. - :param noise: Noise to add to the latents, sampled from a Gaussian distribution. - :param callback: - :param run_id: - """ - result_latents, result_attention_map_saver = self.latents_from_embeddings( - latents, - num_inference_steps, - conditioning_data, - noise=noise, - run_id=run_id, - callback=callback, - ) - # https://discuss.huggingface.co/t/memory-usage-by-later-pipeline-stages/23699 - torch.cuda.empty_cache() - - with torch.inference_mode(): - image = self.decode_latents(result_latents) - output = InvokeAIStableDiffusionPipelineOutput( - images=image, - nsfw_content_detected=[], - attention_map_saver=result_attention_map_saver, - ) - return self.check_for_safety(output, dtype=conditioning_data.dtype) - def latents_from_embeddings( self, latents: torch.Tensor, @@ -492,13 +450,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): extra_conditioning_info=extra_conditioning_info, step_count=len(self.scheduler.timesteps), ): - yield PipelineIntermediateState( - run_id=run_id, - step=-1, - timestep=self.scheduler.config.num_train_timesteps, - latents=latents, - ) - batch_size = latents.shape[0] batched_t = torch.full( (batch_size,), @@ -506,8 +457,16 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): dtype=timesteps.dtype, device=self._model_group.device_for(self.unet), ) + #latents = noise * self.scheduler.init_noise_sigma # it's like in t2l according to diffusers latents = self.scheduler.add_noise(latents, noise, batched_t) + yield PipelineIntermediateState( + run_id=run_id, + step=-1, + timestep=self.scheduler.config.num_train_timesteps, + latents=latents, + ) + attention_map_saver: Optional[AttentionMapSaver] = None # print("timesteps:", timesteps) for i, t in enumerate(self.progress_bar(timesteps)): @@ -569,95 +528,40 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): # TODO: should this scaling happen here or inside self._unet_forward? # i.e. before or after passing it to InvokeAIDiffuserComponent - unet_latent_input = self.scheduler.scale_model_input(latents, timestep) + latent_model_input = self.scheduler.scale_model_input(latents, timestep) # default is no controlnet, so set controlnet processing output to None - down_block_res_samples, mid_block_res_sample = None, None - + controlnet_down_block_samples, controlnet_mid_block_sample = None, None if control_data is not None: - # control_data should be type List[ControlNetData] - # this loop covers both ControlNet (one ControlNetData in list) - # and MultiControlNet (multiple ControlNetData in list) - for i, control_datum in enumerate(control_data): - control_mode = control_datum.control_mode - # soft_injection and cfg_injection are the two ControlNet control_mode booleans - # that are combined at higher level to make control_mode enum - # soft_injection determines whether to do per-layer re-weighting adjustment (if True) - # or default weighting (if False) - soft_injection = control_mode == "more_prompt" or control_mode == "more_control" - # cfg_injection = determines whether to apply ControlNet to only the conditional (if True) - # or the default both conditional and unconditional (if False) - cfg_injection = control_mode == "more_control" or control_mode == "unbalanced" + controlnet_down_block_samples, controlnet_mid_block_sample = self.invokeai_diffuser.do_controlnet_step( + control_data=control_data, + sample=latent_model_input, + timestep=timestep, + step_index=step_index, + total_step_count=total_step_count, + conditioning_data=conditioning_data, + ) - first_control_step = math.floor(control_datum.begin_step_percent * total_step_count) - last_control_step = math.ceil(control_datum.end_step_percent * total_step_count) - # only apply controlnet if current step is within the controlnet's begin/end step range - if step_index >= first_control_step and step_index <= last_control_step: - if cfg_injection: - control_latent_input = unet_latent_input - else: - # expand the latents input to control model if doing classifier free guidance - # (which I think for now is always true, there is conditional elsewhere that stops execution if - # classifier_free_guidance is <= 1.0 ?) - control_latent_input = torch.cat([unet_latent_input] * 2) - - if cfg_injection: # only applying ControlNet to conditional instead of in unconditioned - encoder_hidden_states = conditioning_data.text_embeddings - encoder_attention_mask = None - else: - ( - encoder_hidden_states, - encoder_attention_mask, - ) = self.invokeai_diffuser._concat_conditionings_for_batch( - conditioning_data.unconditioned_embeddings, - conditioning_data.text_embeddings, - ) - if isinstance(control_datum.weight, list): - # if controlnet has multiple weights, use the weight for the current step - controlnet_weight = control_datum.weight[step_index] - else: - # if controlnet has a single weight, use it for all steps - controlnet_weight = control_datum.weight - - # controlnet(s) inference - down_samples, mid_sample = control_datum.model( - sample=control_latent_input, - timestep=timestep, - encoder_hidden_states=encoder_hidden_states, - controlnet_cond=control_datum.image_tensor, - conditioning_scale=controlnet_weight, # controlnet specific, NOT the guidance scale - encoder_attention_mask=encoder_attention_mask, - guess_mode=soft_injection, # this is still called guess_mode in diffusers ControlNetModel - return_dict=False, - ) - if cfg_injection: - # Inferred ControlNet only for the conditional batch. - # To apply the output of ControlNet to both the unconditional and conditional batches, - # prepend zeros for unconditional batch - down_samples = [torch.cat([torch.zeros_like(d), d]) for d in down_samples] - mid_sample = torch.cat([torch.zeros_like(mid_sample), mid_sample]) - - if down_block_res_samples is None and mid_block_res_sample is None: - down_block_res_samples, mid_block_res_sample = down_samples, mid_sample - else: - # add controlnet outputs together if have multiple controlnets - down_block_res_samples = [ - samples_prev + samples_curr - for samples_prev, samples_curr in zip(down_block_res_samples, down_samples) - ] - mid_block_res_sample += mid_sample - - # predict the noise residual - noise_pred = self.invokeai_diffuser.do_diffusion_step( - x=unet_latent_input, - sigma=t, - unconditioning=conditioning_data.unconditioned_embeddings, - conditioning=conditioning_data.text_embeddings, - unconditional_guidance_scale=conditioning_data.guidance_scale, + uc_noise_pred, c_noise_pred = self.invokeai_diffuser.do_unet_step( + sample=latent_model_input, + timestep=t, # TODO: debug how handled batched and non batched timesteps step_index=step_index, total_step_count=total_step_count, - down_block_additional_residuals=down_block_res_samples, # from controlnet(s) - mid_block_additional_residual=mid_block_res_sample, # from controlnet(s) + conditioning_data=conditioning_data, + + # extra: + down_block_additional_residuals=controlnet_down_block_samples, # from controlnet(s) + mid_block_additional_residual=controlnet_mid_block_sample, # from controlnet(s) + ) + + guidance_scale = conditioning_data.guidance_scale + if isinstance(guidance_scale, list): + guidance_scale = guidance_scale[step_index] + + noise_pred = self.invokeai_diffuser._combine( + uc_noise_pred, + c_noise_pred, + guidance_scale, ) # compute the previous noisy sample x_t -> x_t-1 @@ -738,41 +642,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): callback, ) - def img2img_from_latents_and_embeddings( - self, - initial_latents, - num_inference_steps, - conditioning_data: ConditioningData, - strength, - noise: torch.Tensor, - run_id=None, - callback=None, - ) -> InvokeAIStableDiffusionPipelineOutput: - timesteps, _ = self.get_img2img_timesteps(num_inference_steps, strength) - result_latents, result_attention_maps = self.latents_from_embeddings( - latents=initial_latents - if strength < 1.0 - else torch.zeros_like(initial_latents, device=initial_latents.device, dtype=initial_latents.dtype), - num_inference_steps=num_inference_steps, - conditioning_data=conditioning_data, - timesteps=timesteps, - noise=noise, - run_id=run_id, - callback=callback, - ) - - # https://discuss.huggingface.co/t/memory-usage-by-later-pipeline-stages/23699 - torch.cuda.empty_cache() - - with torch.inference_mode(): - image = self.decode_latents(result_latents) - output = InvokeAIStableDiffusionPipelineOutput( - images=image, - nsfw_content_detected=[], - attention_map_saver=result_attention_maps, - ) - return self.check_for_safety(output, dtype=conditioning_data.dtype) - def get_img2img_timesteps(self, num_inference_steps: int, strength: float, device=None) -> (torch.Tensor, int): img2img_pipeline = StableDiffusionImg2ImgPipeline(**self.components) assert img2img_pipeline.scheduler is self.scheduler @@ -877,7 +746,7 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): nsfw_content_detected=[], attention_map_saver=result_attention_maps, ) - return self.check_for_safety(output, dtype=conditioning_data.dtype) + return self.check_for_safety(output, dtype=self.unet.dtype) def non_noised_latents_from_image(self, init_image, *, device: torch.device, dtype): init_image = init_image.to(device=device, dtype=dtype) diff --git a/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py b/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py index c01cf82c57..b906719923 100644 --- a/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py +++ b/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py @@ -1,6 +1,6 @@ from contextlib import contextmanager from dataclasses import dataclass -from math import ceil +import math from typing import Any, Callable, Dict, Optional, Union, List import numpy as np @@ -127,33 +127,119 @@ class InvokeAIDiffuserComponent: for _, module in tokens_cross_attention_modules: module.set_attention_slice_calculated_callback(None) - def do_diffusion_step( + def do_controlnet_step( self, - x: torch.Tensor, - sigma: torch.Tensor, - unconditioning: Union[torch.Tensor, dict], - conditioning: Union[torch.Tensor, dict], - # unconditional_guidance_scale: float, - unconditional_guidance_scale: Union[float, List[float]], - step_index: Optional[int] = None, - total_step_count: Optional[int] = None, + control_data, + sample: torch.Tensor, + timestep: torch.Tensor, + step_index: int, + total_step_count: int, + conditioning_data, + ): + down_block_res_samples, mid_block_res_sample = None, None + + # control_data should be type List[ControlNetData] + # this loop covers both ControlNet (one ControlNetData in list) + # and MultiControlNet (multiple ControlNetData in list) + for i, control_datum in enumerate(control_data): + control_mode = control_datum.control_mode + # soft_injection and cfg_injection are the two ControlNet control_mode booleans + # that are combined at higher level to make control_mode enum + # soft_injection determines whether to do per-layer re-weighting adjustment (if True) + # or default weighting (if False) + soft_injection = control_mode == "more_prompt" or control_mode == "more_control" + # cfg_injection = determines whether to apply ControlNet to only the conditional (if True) + # or the default both conditional and unconditional (if False) + cfg_injection = control_mode == "more_control" or control_mode == "unbalanced" + + first_control_step = math.floor(control_datum.begin_step_percent * total_step_count) + last_control_step = math.ceil(control_datum.end_step_percent * total_step_count) + # only apply controlnet if current step is within the controlnet's begin/end step range + if step_index >= first_control_step and step_index <= last_control_step: + if cfg_injection: + sample_model_input = sample + else: + # expand the latents input to control model if doing classifier free guidance + # (which I think for now is always true, there is conditional elsewhere that stops execution if + # classifier_free_guidance is <= 1.0 ?) + sample_model_input = torch.cat([sample] * 2) + + added_cond_kwargs = None + + if cfg_injection: # only applying ControlNet to conditional instead of in unconditioned + if type(conditioning_data.text_embeddings).__name__ == "SDXLConditioningInfo": + added_cond_kwargs = { + "text_embeds": conditioning_data.text_embeddings.pooled_embeds, + "time_ids": conditioning_data.text_embeddings.add_time_ids, + } + encoder_hidden_states = conditioning_data.text_embeddings.embeds + encoder_attention_mask = None + else: + if type(conditioning_data.text_embeddings).__name__ == "SDXLConditioningInfo": + added_cond_kwargs = { + "text_embeds": torch.cat([ + # TODO: how to pad? just by zeros? or even truncate? + conditioning_data.unconditioned_embeddings.pooled_embeds, + conditioning_data.text_embeddings.pooled_embeds, + ], dim=0), + "time_ids": torch.cat([ + conditioning_data.unconditioned_embeddings.add_time_ids, + conditioning_data.text_embeddings.add_time_ids, + ], dim=0), + } + ( + encoder_hidden_states, + encoder_attention_mask, + ) = self._concat_conditionings_for_batch( + conditioning_data.unconditioned_embeddings.embeds, + conditioning_data.text_embeddings.embeds, + ) + if isinstance(control_datum.weight, list): + # if controlnet has multiple weights, use the weight for the current step + controlnet_weight = control_datum.weight[step_index] + else: + # if controlnet has a single weight, use it for all steps + controlnet_weight = control_datum.weight + + # controlnet(s) inference + down_samples, mid_sample = control_datum.model( + sample=sample_model_input, + timestep=timestep, + encoder_hidden_states=encoder_hidden_states, + controlnet_cond=control_datum.image_tensor, + conditioning_scale=controlnet_weight, # controlnet specific, NOT the guidance scale + encoder_attention_mask=encoder_attention_mask, + guess_mode=soft_injection, # this is still called guess_mode in diffusers ControlNetModel + return_dict=False, + ) + if cfg_injection: + # Inferred ControlNet only for the conditional batch. + # To apply the output of ControlNet to both the unconditional and conditional batches, + # prepend zeros for unconditional batch + down_samples = [torch.cat([torch.zeros_like(d), d]) for d in down_samples] + mid_sample = torch.cat([torch.zeros_like(mid_sample), mid_sample]) + + if down_block_res_samples is None and mid_block_res_sample is None: + down_block_res_samples, mid_block_res_sample = down_samples, mid_sample + else: + # add controlnet outputs together if have multiple controlnets + down_block_res_samples = [ + samples_prev + samples_curr + for samples_prev, samples_curr in zip(down_block_res_samples, down_samples) + ] + mid_block_res_sample += mid_sample + + return down_block_res_samples, mid_block_res_sample + + def do_unet_step( + self, + sample: torch.Tensor, + timestep: torch.Tensor, + conditioning_data, # TODO: type + step_index: int, + total_step_count: int, **kwargs, ): - """ - :param x: current latents - :param sigma: aka t, passed to the internal model to control how much denoising will occur - :param unconditioning: embeddings for unconditioned output. for hybrid conditioning this is a dict of tensors [B x 77 x 768], otherwise a single tensor [B x 77 x 768] - :param conditioning: embeddings for conditioned output. for hybrid conditioning this is a dict of tensors [B x 77 x 768], otherwise a single tensor [B x 77 x 768] - :param unconditional_guidance_scale: aka CFG scale, controls how much effect the conditioning tensor has - :param step_index: counts upwards from 0 to (step_count-1) (as passed to setup_cross_attention_control, if using). May be called multiple times for a single step, therefore do not assume that its value will monotically increase. If None, will be estimated by comparing sigma against self.model.sigmas . - :return: the new latents after applying the model to x using unscaled unconditioning and CFG-scaled conditioning. - """ - - if isinstance(unconditional_guidance_scale, list): - guidance_scale = unconditional_guidance_scale[step_index] - else: - guidance_scale = unconditional_guidance_scale - cross_attention_control_types_to_do = [] context: Context = self.cross_attention_control_context if self.cross_attention_control_context is not None: @@ -163,25 +249,15 @@ class InvokeAIDiffuserComponent: ) wants_cross_attention_control = len(cross_attention_control_types_to_do) > 0 - wants_hybrid_conditioning = isinstance(conditioning, dict) - if wants_hybrid_conditioning: - unconditioned_next_x, conditioned_next_x = self._apply_hybrid_conditioning( - x, - sigma, - unconditioning, - conditioning, - **kwargs, - ) - elif wants_cross_attention_control: + if wants_cross_attention_control: ( unconditioned_next_x, conditioned_next_x, ) = self._apply_cross_attention_controlled_conditioning( - x, - sigma, - unconditioning, - conditioning, + sample, + timestep, + conditioning_data, cross_attention_control_types_to_do, **kwargs, ) @@ -190,10 +266,9 @@ class InvokeAIDiffuserComponent: unconditioned_next_x, conditioned_next_x, ) = self._apply_standard_conditioning_sequentially( - x, - sigma, - unconditioning, - conditioning, + sample, + timestep, + conditioning_data, **kwargs, ) @@ -202,21 +277,13 @@ class InvokeAIDiffuserComponent: unconditioned_next_x, conditioned_next_x, ) = self._apply_standard_conditioning( - x, - sigma, - unconditioning, - conditioning, + sample, + timestep, + conditioning_data, **kwargs, ) - combined_next_x = self._combine( - # unconditioned_next_x, conditioned_next_x, unconditional_guidance_scale - unconditioned_next_x, - conditioned_next_x, - guidance_scale, - ) - - return combined_next_x + return unconditioned_next_x, conditioned_next_x def do_latent_postprocessing( self, @@ -281,17 +348,35 @@ class InvokeAIDiffuserComponent: # methods below are called from do_diffusion_step and should be considered private to this class. - def _apply_standard_conditioning(self, x, sigma, unconditioning, conditioning, **kwargs): + def _apply_standard_conditioning(self, x, sigma, conditioning_data, **kwargs): # fast batched path x_twice = torch.cat([x] * 2) sigma_twice = torch.cat([sigma] * 2) - both_conditionings, encoder_attention_mask = self._concat_conditionings_for_batch(unconditioning, conditioning) + added_cond_kwargs = None + if type(conditioning_data.text_embeddings).__name__ == "SDXLConditioningInfo": + added_cond_kwargs = { + "text_embeds": torch.cat([ + # TODO: how to pad? just by zeros? or even truncate? + conditioning_data.unconditioned_embeddings.pooled_embeds, + conditioning_data.text_embeddings.pooled_embeds, + ], dim=0), + "time_ids": torch.cat([ + conditioning_data.unconditioned_embeddings.add_time_ids, + conditioning_data.text_embeddings.add_time_ids, + ], dim=0), + } + + both_conditionings, encoder_attention_mask = self._concat_conditionings_for_batch( + conditioning_data.unconditioned_embeddings.embeds, + conditioning_data.text_embeddings.embeds + ) both_results = self.model_forward_callback( x_twice, sigma_twice, both_conditionings, encoder_attention_mask=encoder_attention_mask, + added_cond_kwargs=added_cond_kwargs, **kwargs, ) unconditioned_next_x, conditioned_next_x = both_results.chunk(2) @@ -320,46 +405,41 @@ class InvokeAIDiffuserComponent: if mid_block_additional_residual is not None: uncond_mid_block, cond_mid_block = mid_block_additional_residual.chunk(2) + added_cond_kwargs = None + is_sdxl = type(conditioning_data.text_embeddings).__name__ == "SDXLConditioningInfo" + if is_sdxl: + added_cond_kwargs = { + "text_embeds": conditioning_data.unconditioned_embeddings.pooled_embeds, + "time_ids": conditioning_data.unconditioned_embeddings.add_time_ids, + } + unconditioned_next_x = self.model_forward_callback( x, sigma, - unconditioning, + conditioning_data.unconditioned_embeddings.embeds, down_block_additional_residuals=uncond_down_block, mid_block_additional_residual=uncond_mid_block, + added_cond_kwargs=added_cond_kwargs, **kwargs, ) + + if is_sdxl: + added_cond_kwargs = { + "text_embeds": conditioning_data.text_embeddings.pooled_embeds, + "time_ids": conditioning_data.text_embeddings.add_time_ids, + } + conditioned_next_x = self.model_forward_callback( x, sigma, - conditioning, + conditioning_data.text_embeddings.embeds, down_block_additional_residuals=cond_down_block, mid_block_additional_residual=cond_mid_block, + added_cond_kwargs=added_cond_kwargs, **kwargs, ) return unconditioned_next_x, conditioned_next_x - # TODO: looks unused - def _apply_hybrid_conditioning(self, x, sigma, unconditioning, conditioning, **kwargs): - assert isinstance(conditioning, dict) - assert isinstance(unconditioning, dict) - x_twice = torch.cat([x] * 2) - sigma_twice = torch.cat([sigma] * 2) - both_conditionings = dict() - for k in conditioning: - if isinstance(conditioning[k], list): - both_conditionings[k] = [ - torch.cat([unconditioning[k][i], conditioning[k][i]]) for i in range(len(conditioning[k])) - ] - else: - both_conditionings[k] = torch.cat([unconditioning[k], conditioning[k]]) - unconditioned_next_x, conditioned_next_x = self.model_forward_callback( - x_twice, - sigma_twice, - both_conditionings, - **kwargs, - ).chunk(2) - return unconditioned_next_x, conditioned_next_x - def _apply_cross_attention_controlled_conditioning( self, x: torch.Tensor, @@ -391,26 +471,43 @@ class InvokeAIDiffuserComponent: mask=context.cross_attention_mask, cross_attention_types_to_do=[], ) + + added_cond_kwargs = None + is_sdxl = type(conditioning_data.text_embeddings).__name__ == "SDXLConditioningInfo" + if is_sdxl: + added_cond_kwargs = { + "text_embeds": conditioning_data.unconditioned_embeddings.pooled_embeds, + "time_ids": conditioning_data.unconditioned_embeddings.add_time_ids, + } + # no cross attention for unconditioning (negative prompt) unconditioned_next_x = self.model_forward_callback( x, sigma, - unconditioning, + conditioning_data.unconditioned_embeddings.embeds, {"swap_cross_attn_context": cross_attn_processor_context}, down_block_additional_residuals=uncond_down_block, mid_block_additional_residual=uncond_mid_block, + added_cond_kwargs=added_cond_kwargs, **kwargs, ) + if is_sdxl: + added_cond_kwargs = { + "text_embeds": conditioning_data.text_embeddings.pooled_embeds, + "time_ids": conditioning_data.text_embeddings.add_time_ids, + } + # do requested cross attention types for conditioning (positive prompt) cross_attn_processor_context.cross_attention_types_to_do = cross_attention_control_types_to_do conditioned_next_x = self.model_forward_callback( x, sigma, - conditioning, + conditioning_data.text_embeddings.embeds, {"swap_cross_attn_context": cross_attn_processor_context}, down_block_additional_residuals=cond_down_block, mid_block_additional_residual=cond_mid_block, + added_cond_kwargs=added_cond_kwargs, **kwargs, ) return unconditioned_next_x, conditioned_next_x @@ -564,7 +661,7 @@ class InvokeAIDiffuserComponent: # below is fugly omg conditionings = [uc] + [c for c, weight in weighted_cond_list] weights = [1] + [weight for c, weight in weighted_cond_list] - chunk_count = ceil(len(conditionings) / 2) + chunk_count = math.ceil(len(conditionings) / 2) deltas = None for chunk_index in range(chunk_count): offset = chunk_index * 2 From d4cf2d266663ae412360037255b7bdec98216927 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue, 1 Aug 2023 17:28:05 +1000 Subject: [PATCH 087/287] fix(api): fix `ApiDependencies.invoker` types ApiDependencies.invoker` provides typing for the API's services layer. Marking it `Optional` results in all the routes seeing it as optional, which is not good. Instead of marking it optional to satisfy the initial assignment to `None`, we can just skip the initial assignment. This preserves the IDE hinting in API layer and is types-legal. --- invokeai/app/api/dependencies.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/app/api/dependencies.py b/invokeai/app/api/dependencies.py index b25009c8c9..8d4ec2e0ce 100644 --- a/invokeai/app/api/dependencies.py +++ b/invokeai/app/api/dependencies.py @@ -55,7 +55,7 @@ logger = InvokeAILogger.getLogger() class ApiDependencies: """Contains and initializes all dependencies for the API""" - invoker: Optional[Invoker] = None + invoker: Invoker @staticmethod def initialize(config: InvokeAIAppConfig, event_handler_id: int, logger: Logger = logger): From 9ba50130a1f0e490892143e734010132f8c7b010 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue, 1 Aug 2023 17:29:33 +1000 Subject: [PATCH 088/287] fix(api): fix db location types The services all want strings instead of `Path`s; create variable for the string representation of the path provided by the config services. --- invokeai/app/api/dependencies.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/invokeai/app/api/dependencies.py b/invokeai/app/api/dependencies.py index 8d4ec2e0ce..a102782566 100644 --- a/invokeai/app/api/dependencies.py +++ b/invokeai/app/api/dependencies.py @@ -68,21 +68,22 @@ class ApiDependencies: output_folder = config.output_path # TODO: build a file/path manager? - db_location = config.db_path - db_location.parent.mkdir(parents=True, exist_ok=True) + db_path = config.db_path + db_path.parent.mkdir(parents=True, exist_ok=True) + db_path_string = str(db_path) graph_execution_manager = SqliteItemStorage[GraphExecutionState]( - filename=db_location, table_name="graph_executions" + filename=db_path_string, table_name="graph_executions" ) urls = LocalUrlService() - image_record_storage = SqliteImageRecordStorage(db_location) + image_record_storage = SqliteImageRecordStorage(db_path_string) image_file_storage = DiskImageFileStorage(f"{output_folder}/images") names = SimpleNameService() latents = ForwardCacheLatentsStorage(DiskLatentsStorage(f"{output_folder}/latents")) - board_record_storage = SqliteBoardRecordStorage(db_location) - board_image_record_storage = SqliteBoardImageRecordStorage(db_location) + board_record_storage = SqliteBoardRecordStorage(db_path_string) + board_image_record_storage = SqliteBoardImageRecordStorage(db_path_string) boards = BoardService( services=BoardServiceDependencies( @@ -124,7 +125,7 @@ class ApiDependencies: boards=boards, board_images=board_images, queue=MemoryInvocationQueue(), - graph_library=SqliteItemStorage[LibraryGraph](filename=db_location, table_name="graphs"), + graph_library=SqliteItemStorage[LibraryGraph](filename=db_path_string, table_name="graphs"), graph_execution_manager=graph_execution_manager, processor=DefaultInvocationProcessor(), configuration=config, From 66f524cae7c890f05fb1ff7644cf5bcab54edb11 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue, 1 Aug 2023 17:55:13 +1000 Subject: [PATCH 089/287] fix(mm): fix a lot of typing issues Most fixes are just things being typed as `str` but having default values of `None`, but there are some minor logic changes. --- .../app/services/model_manager_service.py | 23 +++++++------- .../backend/install/model_install_backend.py | 6 ++-- .../backend/model_management/model_manager.py | 30 +++++++++++-------- .../backend/model_management/model_merge.py | 6 ++-- 4 files changed, 36 insertions(+), 29 deletions(-) diff --git a/invokeai/app/services/model_manager_service.py b/invokeai/app/services/model_manager_service.py index c84cc3d189..fd14e26364 100644 --- a/invokeai/app/services/model_manager_service.py +++ b/invokeai/app/services/model_manager_service.py @@ -3,9 +3,10 @@ from __future__ import annotations from abc import ABC, abstractmethod +from logging import Logger from pathlib import Path from pydantic import Field -from typing import Optional, Union, Callable, List, Tuple, TYPE_CHECKING +from typing import Literal, Optional, Union, Callable, List, Tuple, TYPE_CHECKING from types import ModuleType from invokeai.backend.model_management import ( @@ -193,7 +194,7 @@ class ModelManagerServiceBase(ABC): self, model_name: str, base_model: BaseModelType, - model_type: Union[ModelType.Main, ModelType.Vae], + model_type: Literal[ModelType.Main, ModelType.Vae], ) -> AddModelResult: """ Convert a checkpoint file into a diffusers folder, deleting the cached @@ -292,7 +293,7 @@ class ModelManagerService(ModelManagerServiceBase): def __init__( self, config: InvokeAIAppConfig, - logger: ModuleType, + logger: Logger, ): """ Initialize with the path to the models.yaml config file. @@ -396,7 +397,7 @@ class ModelManagerService(ModelManagerServiceBase): model_type, ) - def model_info(self, model_name: str, base_model: BaseModelType, model_type: ModelType) -> dict: + def model_info(self, model_name: str, base_model: BaseModelType, model_type: ModelType) -> Union[dict, None]: """ Given a model name returns a dict-like (OmegaConf) object describing it. """ @@ -416,7 +417,7 @@ class ModelManagerService(ModelManagerServiceBase): """ return self.mgr.list_models(base_model, model_type) - def list_model(self, model_name: str, base_model: BaseModelType, model_type: ModelType) -> dict: + def list_model(self, model_name: str, base_model: BaseModelType, model_type: ModelType) -> Union[dict, None]: """ Return information about the model using the same format as list_models() """ @@ -429,7 +430,7 @@ class ModelManagerService(ModelManagerServiceBase): model_type: ModelType, model_attributes: dict, clobber: bool = False, - ) -> None: + ) -> AddModelResult: """ Update the named model with a dictionary of attributes. Will fail with an assertion error if the name already exists. Pass clobber=True to overwrite. @@ -478,7 +479,7 @@ class ModelManagerService(ModelManagerServiceBase): self, model_name: str, base_model: BaseModelType, - model_type: Union[ModelType.Main, ModelType.Vae], + model_type: Literal[ModelType.Main, ModelType.Vae], convert_dest_directory: Optional[Path] = Field( default=None, description="Optional directory location for merged model" ), @@ -573,9 +574,9 @@ class ModelManagerService(ModelManagerServiceBase): default=None, description="Base model shared by all models to be merged" ), merged_model_name: str = Field(default=None, description="Name of destination model after merging"), - alpha: Optional[float] = 0.5, + alpha: float = 0.5, interp: Optional[MergeInterpolationMethod] = None, - force: Optional[bool] = False, + force: bool = False, merge_dest_directory: Optional[Path] = Field( default=None, description="Optional directory location for merged model" ), @@ -633,8 +634,8 @@ class ModelManagerService(ModelManagerServiceBase): model_name: str, base_model: BaseModelType, model_type: ModelType, - new_name: str = None, - new_base: BaseModelType = None, + new_name: Optional[str] = None, + new_base: Optional[BaseModelType] = None, ): """ Rename the indicated model. Can provide a new name and/or a new base. diff --git a/invokeai/backend/install/model_install_backend.py b/invokeai/backend/install/model_install_backend.py index fa640719d0..3a6d879bee 100644 --- a/invokeai/backend/install/model_install_backend.py +++ b/invokeai/backend/install/model_install_backend.py @@ -101,9 +101,9 @@ class ModelInstall(object): def __init__( self, config: InvokeAIAppConfig, - prediction_type_helper: Callable[[Path], SchedulerPredictionType] = None, - model_manager: ModelManager = None, - access_token: str = None, + prediction_type_helper: Optional[Callable[[Path], SchedulerPredictionType]] = None, + model_manager: Optional[ModelManager] = None, + access_token: Optional[str] = None, ): self.config = config self.mgr = model_manager or ModelManager(config.model_conf_path) diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index a3b0d4e04a..0bad714a17 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -234,7 +234,7 @@ import textwrap import yaml from dataclasses import dataclass from pathlib import Path -from typing import Optional, List, Tuple, Union, Dict, Set, Callable, types +from typing import Literal, Optional, List, Tuple, Union, Dict, Set, Callable, types from shutil import rmtree, move import torch @@ -518,7 +518,7 @@ class ModelManager(object): model_name: str, base_model: BaseModelType, model_type: ModelType, - ) -> dict: + ) -> Union[dict, None]: """ Given a model name returns the OmegaConf (dict-like) object describing it. """ @@ -540,13 +540,15 @@ class ModelManager(object): model_name: str, base_model: BaseModelType, model_type: ModelType, - ) -> dict: + ) -> Union[dict, None]: """ Returns a dict describing one installed model, using the combined format of the list_models() method. """ models = self.list_models(base_model, model_type, model_name) - return models[0] if models else None + if len(models) > 1: + return models[0] + return None def list_models( self, @@ -560,7 +562,7 @@ class ModelManager(object): model_keys = ( [self.create_key(model_name, base_model, model_type)] - if model_name + if model_name and base_model and model_type else sorted(self.models, key=str.casefold) ) models = [] @@ -596,7 +598,7 @@ class ModelManager(object): Print a table of models and their descriptions. This needs to be redone """ # TODO: redo - for model_type, model_dict in self.list_models().items(): + for model_dict in self.list_models(): for model_name, model_info in model_dict.items(): line = f'{model_info["name"]:25s} {model_info["type"]:10s} {model_info["description"]}' print(line) @@ -699,8 +701,8 @@ class ModelManager(object): model_name: str, base_model: BaseModelType, model_type: ModelType, - new_name: str = None, - new_base: BaseModelType = None, + new_name: Optional[str] = None, + new_base: Optional[BaseModelType] = None, ): """ Rename or rebase a model. @@ -753,7 +755,7 @@ class ModelManager(object): self, model_name: str, base_model: BaseModelType, - model_type: Union[ModelType.Main, ModelType.Vae], + model_type: Literal[ModelType.Main, ModelType.Vae], dest_directory: Optional[Path] = None, ) -> AddModelResult: """ @@ -767,6 +769,10 @@ class ModelManager(object): This will raise a ValueError unless the model is a checkpoint. """ info = self.model_info(model_name, base_model, model_type) + + if info is None: + raise FileNotFoundError(f"model not found: {model_name}") + if info["model_format"] != "checkpoint": raise ValueError(f"not a checkpoint format model: {model_name}") @@ -836,7 +842,7 @@ class ModelManager(object): return search_folder, found_models - def commit(self, conf_file: Path = None) -> None: + def commit(self, conf_file: Optional[Path] = None) -> None: """ Write current configuration out to the indicated file. """ @@ -983,7 +989,7 @@ class ModelManager(object): # LS: hacky # Patch in the SD VAE from core so that it is available for use by the UI try: - self.heuristic_import({self.resolve_model_path("core/convert/sd-vae-ft-mse")}) + self.heuristic_import({str(self.resolve_model_path("core/convert/sd-vae-ft-mse"))}) except: pass @@ -1011,7 +1017,7 @@ class ModelManager(object): def heuristic_import( self, items_to_import: Set[str], - prediction_type_helper: Callable[[Path], SchedulerPredictionType] = None, + prediction_type_helper: Optional[Callable[[Path], SchedulerPredictionType]] = None, ) -> Dict[str, AddModelResult]: """Import a list of paths, repo_ids or URLs. Returns the set of successfully imported items. diff --git a/invokeai/backend/model_management/model_merge.py b/invokeai/backend/model_management/model_merge.py index 8cf3ce4ad0..74419a4433 100644 --- a/invokeai/backend/model_management/model_merge.py +++ b/invokeai/backend/model_management/model_merge.py @@ -33,7 +33,7 @@ class ModelMerger(object): self, model_paths: List[Path], alpha: float = 0.5, - interp: MergeInterpolationMethod = None, + interp: Optional[MergeInterpolationMethod] = None, force: bool = False, **kwargs, ) -> DiffusionPipeline: @@ -73,7 +73,7 @@ class ModelMerger(object): base_model: Union[BaseModelType, str], merged_model_name: str, alpha: float = 0.5, - interp: MergeInterpolationMethod = None, + interp: Optional[MergeInterpolationMethod] = None, force: bool = False, merge_dest_directory: Optional[Path] = None, **kwargs, @@ -122,7 +122,7 @@ class ModelMerger(object): dump_path.mkdir(parents=True, exist_ok=True) dump_path = dump_path / merged_model_name - merged_pipe.save_pretrained(dump_path, safe_serialization=1) + merged_pipe.save_pretrained(dump_path, safe_serialization=True) attributes = dict( path=str(dump_path), description=f"Merge of models {', '.join(model_names)}", From d09dfc3e9bdbd9a8522559fb8bd0bc70d205fd94 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Thu, 3 Aug 2023 10:08:44 +1000 Subject: [PATCH 090/287] fix(api): use `db_location` instead of `db_path_string` This may just be the SQLite memory sentinel value. --- invokeai/app/api/dependencies.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/invokeai/app/api/dependencies.py b/invokeai/app/api/dependencies.py index a102782566..4aaf7a0272 100644 --- a/invokeai/app/api/dependencies.py +++ b/invokeai/app/api/dependencies.py @@ -70,20 +70,20 @@ class ApiDependencies: # TODO: build a file/path manager? db_path = config.db_path db_path.parent.mkdir(parents=True, exist_ok=True) - db_path_string = str(db_path) + db_location = str(db_path) graph_execution_manager = SqliteItemStorage[GraphExecutionState]( - filename=db_path_string, table_name="graph_executions" + filename=db_location, table_name="graph_executions" ) urls = LocalUrlService() - image_record_storage = SqliteImageRecordStorage(db_path_string) + image_record_storage = SqliteImageRecordStorage(db_location) image_file_storage = DiskImageFileStorage(f"{output_folder}/images") names = SimpleNameService() latents = ForwardCacheLatentsStorage(DiskLatentsStorage(f"{output_folder}/latents")) - board_record_storage = SqliteBoardRecordStorage(db_path_string) - board_image_record_storage = SqliteBoardImageRecordStorage(db_path_string) + board_record_storage = SqliteBoardRecordStorage(db_location) + board_image_record_storage = SqliteBoardImageRecordStorage(db_location) boards = BoardService( services=BoardServiceDependencies( @@ -125,7 +125,7 @@ class ApiDependencies: boards=boards, board_images=board_images, queue=MemoryInvocationQueue(), - graph_library=SqliteItemStorage[LibraryGraph](filename=db_path_string, table_name="graphs"), + graph_library=SqliteItemStorage[LibraryGraph](filename=db_location, table_name="graphs"), graph_execution_manager=graph_execution_manager, processor=DefaultInvocationProcessor(), configuration=config, From 006d782cc8bcca9be8410dd4e68ec0d61efaef77 Mon Sep 17 00:00:00 2001 From: Kevin Turner <83819+keturn@users.noreply.github.com> Date: Sat, 5 Aug 2023 20:35:38 -0700 Subject: [PATCH 091/287] =?UTF-8?q?refactor(diffusers=5Fpipeline):=20tidy?= =?UTF-8?q?=20imports=20=F0=9F=9A=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../backend/stable_diffusion/diffusers_pipeline.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/invokeai/backend/stable_diffusion/diffusers_pipeline.py b/invokeai/backend/stable_diffusion/diffusers_pipeline.py index 624d47ff64..2c35245a6a 100644 --- a/invokeai/backend/stable_diffusion/diffusers_pipeline.py +++ b/invokeai/backend/stable_diffusion/diffusers_pipeline.py @@ -7,22 +7,19 @@ import secrets from collections.abc import Sequence from dataclasses import dataclass, field from typing import Any, Callable, Generic, List, Optional, Type, TypeVar, Union -from pydantic import Field -import einops import PIL.Image -import numpy as np -from accelerate.utils import set_seed +import einops import psutil import torch import torchvision.transforms as T +from accelerate.utils import set_seed from diffusers.models import AutoencoderKL, UNet2DConditionModel from diffusers.models.controlnet import ControlNetModel from diffusers.pipelines.stable_diffusion import StableDiffusionPipelineOutput from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion import ( StableDiffusionPipeline, ) - from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion_img2img import ( StableDiffusionImg2ImgPipeline, ) @@ -31,21 +28,21 @@ from diffusers.pipelines.stable_diffusion.safety_checker import ( ) from diffusers.schedulers import KarrasDiffusionSchedulers from diffusers.schedulers.scheduling_utils import SchedulerMixin, SchedulerOutput -from diffusers.utils import PIL_INTERPOLATION from diffusers.utils.import_utils import is_xformers_available from diffusers.utils.outputs import BaseOutput +from pydantic import Field from torchvision.transforms.functional import resize as tv_resize from transformers import CLIPFeatureExtractor, CLIPTextModel, CLIPTokenizer from typing_extensions import ParamSpec from invokeai.app.services.config import InvokeAIAppConfig -from ..util import CPU_DEVICE, normalize_device from .diffusion import ( AttentionMapSaver, InvokeAIDiffuserComponent, PostprocessingSettings, ) from .offloading import FullyLoadedModelGroup, ModelGroup +from ..util import normalize_device @dataclass From b80abdd10161000155b1aa088fbd550fc50f61a5 Mon Sep 17 00:00:00 2001 From: Kevin Turner <83819+keturn@users.noreply.github.com> Date: Sat, 5 Aug 2023 20:37:17 -0700 Subject: [PATCH 092/287] =?UTF-8?q?refactor(diffusers=5Fpipeline):=20remov?= =?UTF-8?q?e=20unused=20image=5Ffrom=5Fembeddings=20=F0=9F=9A=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../stable_diffusion/diffusers_pipeline.py | 42 ------------------- 1 file changed, 42 deletions(-) diff --git a/invokeai/backend/stable_diffusion/diffusers_pipeline.py b/invokeai/backend/stable_diffusion/diffusers_pipeline.py index 2c35245a6a..eaafc834ed 100644 --- a/invokeai/backend/stable_diffusion/diffusers_pipeline.py +++ b/invokeai/backend/stable_diffusion/diffusers_pipeline.py @@ -389,48 +389,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): submodels.append(value) return submodels - def image_from_embeddings( - self, - latents: torch.Tensor, - num_inference_steps: int, - conditioning_data: ConditioningData, - *, - noise: torch.Tensor, - callback: Callable[[PipelineIntermediateState], None] = None, - run_id=None, - ) -> InvokeAIStableDiffusionPipelineOutput: - r""" - Function invoked when calling the pipeline for generation. - - :param conditioning_data: - :param latents: Pre-generated un-noised latents, to be used as inputs for - image generation. Can be used to tweak the same generation with different prompts. - :param num_inference_steps: The number of denoising steps. More denoising steps usually lead to a higher quality - image at the expense of slower inference. - :param noise: Noise to add to the latents, sampled from a Gaussian distribution. - :param callback: - :param run_id: - """ - result_latents, result_attention_map_saver = self.latents_from_embeddings( - latents, - num_inference_steps, - conditioning_data, - noise=noise, - run_id=run_id, - callback=callback, - ) - # https://discuss.huggingface.co/t/memory-usage-by-later-pipeline-stages/23699 - torch.cuda.empty_cache() - - with torch.inference_mode(): - image = self.decode_latents(result_latents) - output = InvokeAIStableDiffusionPipelineOutput( - images=image, - nsfw_content_detected=[], - attention_map_saver=result_attention_map_saver, - ) - return self.check_for_safety(output, dtype=conditioning_data.dtype) - def latents_from_embeddings( self, latents: torch.Tensor, From 77033eabd314d78a6f6064e4d938c94787431d14 Mon Sep 17 00:00:00 2001 From: Kevin Turner <83819+keturn@users.noreply.github.com> Date: Sat, 5 Aug 2023 20:41:47 -0700 Subject: [PATCH 093/287] =?UTF-8?q?refactor(diffusers=5Fpipeline):=20remov?= =?UTF-8?q?e=20unused=20`precision`=20=F0=9F=9A=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- invokeai/app/invocations/generate.py | 20 +++++------- invokeai/app/invocations/latent.py | 32 ++++++++----------- .../stable_diffusion/diffusers_pipeline.py | 1 - 3 files changed, 21 insertions(+), 32 deletions(-) diff --git a/invokeai/app/invocations/generate.py b/invokeai/app/invocations/generate.py index d48c9f922e..f8d240e45c 100644 --- a/invokeai/app/invocations/generate.py +++ b/invokeai/app/invocations/generate.py @@ -1,26 +1,23 @@ # Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) +from contextlib import contextmanager, ContextDecorator from functools import partial from typing import Literal, Optional, get_args -import torch from pydantic import Field from invokeai.app.models.image import ColorField, ImageCategory, ImageField, ResourceOrigin from invokeai.app.util.misc import SEED_MAX, get_random_seed from invokeai.backend.generator.inpaint import infill_methods - -from ...backend.generator import Inpaint, InvokeAIGenerator -from ...backend.stable_diffusion import PipelineIntermediateState -from ..util.step_callback import stable_diffusion_step_callback from .baseinvocation import BaseInvocation, InvocationConfig, InvocationContext -from .image import ImageOutput - -from ...backend.model_management.lora import ModelPatcher -from ...backend.stable_diffusion.diffusers_pipeline import StableDiffusionGeneratorPipeline -from .model import UNetField, VaeField from .compel import ConditioningField -from contextlib import contextmanager, ExitStack, ContextDecorator +from .image import ImageOutput +from .model import UNetField, VaeField +from ..util.step_callback import stable_diffusion_step_callback +from ...backend.generator import Inpaint, InvokeAIGenerator +from ...backend.model_management.lora import ModelPatcher +from ...backend.stable_diffusion import PipelineIntermediateState +from ...backend.stable_diffusion.diffusers_pipeline import StableDiffusionGeneratorPipeline SAMPLER_NAME_VALUES = Literal[tuple(InvokeAIGenerator.schedulers())] INFILL_METHODS = Literal[tuple(infill_methods())] @@ -193,7 +190,6 @@ class InpaintInvocation(BaseInvocation): safety_checker=None, feature_extractor=None, requires_safety_checker=False, - precision="float16" if dtype == torch.float16 else "float32", execution_device=device, ) diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index 6e2e0838bc..c15f84ddd0 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -5,15 +5,26 @@ from typing import List, Literal, Optional, Union import einops import torch -from diffusers import ControlNetModel from diffusers.image_processor import VaeImageProcessor +from diffusers.models.attention_processor import ( + AttnProcessor2_0, + LoRAAttnProcessor2_0, + LoRAXFormersAttnProcessor, + XFormersAttnProcessor, +) from diffusers.schedulers import SchedulerMixin as Scheduler from pydantic import BaseModel, Field, validator from invokeai.app.invocations.metadata import CoreMetadata +from invokeai.app.util.controlnet_utils import prepare_control_image from invokeai.app.util.step_callback import stable_diffusion_step_callback from invokeai.backend.model_management.models import ModelType, SilenceWarnings - +from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext +from .compel import ConditioningField +from .controlnet_image_processors import ControlField +from .image import ImageOutput +from .model import ModelInfo, UNetField, VaeField +from ..models.image import ImageCategory, ImageField, ResourceOrigin from ...backend.model_management import ModelPatcher from ...backend.stable_diffusion import PipelineIntermediateState from ...backend.stable_diffusion.diffusers_pipeline import ( @@ -24,23 +35,7 @@ from ...backend.stable_diffusion.diffusers_pipeline import ( ) from ...backend.stable_diffusion.diffusion.shared_invokeai_diffusion import PostprocessingSettings from ...backend.stable_diffusion.schedulers import SCHEDULER_MAP -from ...backend.model_management import ModelPatcher from ...backend.util.devices import choose_torch_device, torch_dtype, choose_precision -from ..models.image import ImageCategory, ImageField, ResourceOrigin -from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext -from .compel import ConditioningField -from .controlnet_image_processors import ControlField -from .image import ImageOutput -from .model import ModelInfo, UNetField, VaeField -from invokeai.app.util.controlnet_utils import prepare_control_image - -from diffusers.models.attention_processor import ( - AttnProcessor2_0, - LoRAAttnProcessor2_0, - LoRAXFormersAttnProcessor, - XFormersAttnProcessor, -) - DEFAULT_PRECISION = choose_precision(choose_torch_device()) @@ -231,7 +226,6 @@ class TextToLatentsInvocation(BaseInvocation): safety_checker=None, feature_extractor=None, requires_safety_checker=False, - precision="float16" if unet.dtype == torch.float16 else "float32", ) def prep_control_data( diff --git a/invokeai/backend/stable_diffusion/diffusers_pipeline.py b/invokeai/backend/stable_diffusion/diffusers_pipeline.py index eaafc834ed..48182a6be2 100644 --- a/invokeai/backend/stable_diffusion/diffusers_pipeline.py +++ b/invokeai/backend/stable_diffusion/diffusers_pipeline.py @@ -300,7 +300,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): safety_checker: Optional[StableDiffusionSafetyChecker], feature_extractor: Optional[CLIPFeatureExtractor], requires_safety_checker: bool = False, - precision: str = "float32", control_model: ControlNetModel = None, execution_device: Optional[torch.device] = None, ): From 6487e7d9064217dcc735db208f246d14477beff3 Mon Sep 17 00:00:00 2001 From: Kevin Turner <83819+keturn@users.noreply.github.com> Date: Sat, 5 Aug 2023 21:19:29 -0700 Subject: [PATCH 094/287] =?UTF-8?q?refactor(diffusers=5Fpipeline):=20remov?= =?UTF-8?q?e=20unused=20ModelGroup=20=F0=9F=9A=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit orphaned since #3550 removed the LazilyLoadedModelGroup code, probably unused since ModelCache took over responsibility for sequential offload somewhere around #3335. --- invokeai/app/invocations/generate.py | 1 - .../stable_diffusion/diffusers_pipeline.py | 71 +---- .../backend/stable_diffusion/offloading.py | 253 ------------------ 3 files changed, 7 insertions(+), 318 deletions(-) delete mode 100644 invokeai/backend/stable_diffusion/offloading.py diff --git a/invokeai/app/invocations/generate.py b/invokeai/app/invocations/generate.py index f8d240e45c..88a76e930c 100644 --- a/invokeai/app/invocations/generate.py +++ b/invokeai/app/invocations/generate.py @@ -190,7 +190,6 @@ class InpaintInvocation(BaseInvocation): safety_checker=None, feature_extractor=None, requires_safety_checker=False, - execution_device=device, ) yield OldModelInfo( diff --git a/invokeai/backend/stable_diffusion/diffusers_pipeline.py b/invokeai/backend/stable_diffusion/diffusers_pipeline.py index 48182a6be2..6891c726dc 100644 --- a/invokeai/backend/stable_diffusion/diffusers_pipeline.py +++ b/invokeai/backend/stable_diffusion/diffusers_pipeline.py @@ -4,7 +4,6 @@ import dataclasses import inspect import math import secrets -from collections.abc import Sequence from dataclasses import dataclass, field from typing import Any, Callable, Generic, List, Optional, Type, TypeVar, Union @@ -41,7 +40,6 @@ from .diffusion import ( InvokeAIDiffuserComponent, PostprocessingSettings, ) -from .offloading import FullyLoadedModelGroup, ModelGroup from ..util import normalize_device @@ -286,8 +284,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): feature_extractor ([`CLIPFeatureExtractor`]): Model that extracts features from generated images to be used as inputs for the `safety_checker`. """ - _model_group: ModelGroup - ID_LENGTH = 8 def __init__( @@ -301,7 +297,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): feature_extractor: Optional[CLIPFeatureExtractor], requires_safety_checker: bool = False, control_model: ControlNetModel = None, - execution_device: Optional[torch.device] = None, ): super().__init__( vae, @@ -326,9 +321,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): # control_model=control_model, ) self.invokeai_diffuser = InvokeAIDiffuserComponent(self.unet, self._unet_forward) - - self._model_group = FullyLoadedModelGroup(execution_device or self.unet.device) - self._model_group.install(*self._submodels) self.control_model = control_model def _adjust_memory_efficient_attention(self, latents: torch.Tensor): @@ -364,30 +356,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): else: self.disable_attention_slicing() - def to(self, torch_device: Optional[Union[str, torch.device]] = None, silence_dtype_warnings=False): - # overridden method; types match the superclass. - if torch_device is None: - return self - self._model_group.set_device(torch.device(torch_device)) - self._model_group.ready() - - @property - def device(self) -> torch.device: - return self._model_group.execution_device - - @property - def _submodels(self) -> Sequence[torch.nn.Module]: - module_names, _, _ = self.extract_init_dict(dict(self.config)) - submodels = [] - for name in module_names.keys(): - if hasattr(self, name): - value = getattr(self, name) - else: - value = getattr(self.config, name) - if isinstance(value, torch.nn.Module): - submodels.append(value) - return submodels - def latents_from_embeddings( self, latents: torch.Tensor, @@ -404,7 +372,7 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): if self.scheduler.config.get("cpu_only", False): scheduler_device = torch.device("cpu") else: - scheduler_device = self._model_group.device_for(self.unet) + scheduler_device = self.unet.device if timesteps is None: self.scheduler.set_timesteps(num_inference_steps, device=scheduler_device) @@ -458,7 +426,7 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): (batch_size,), timesteps[0], dtype=timesteps.dtype, - device=self._model_group.device_for(self.unet), + device=self.unet.device, ) latents = self.scheduler.add_noise(latents, noise, batched_t) @@ -675,7 +643,7 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): # 6. Prepare latent variables initial_latents = self.non_noised_latents_from_image( init_image, - device=self._model_group.device_for(self.unet), + device=self.unet.device, dtype=self.unet.dtype, ) if seed is not None: @@ -725,7 +693,7 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): nsfw_content_detected=[], attention_map_saver=result_attention_maps, ) - return self.check_for_safety(output, dtype=conditioning_data.dtype) + return output def get_img2img_timesteps(self, num_inference_steps: int, strength: float, device=None) -> (torch.Tensor, int): img2img_pipeline = StableDiffusionImg2ImgPipeline(**self.components) @@ -734,7 +702,7 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): if self.scheduler.config.get("cpu_only", False): scheduler_device = torch.device("cpu") else: - scheduler_device = self._model_group.device_for(self.unet) + scheduler_device = self.unet.device img2img_pipeline.scheduler.set_timesteps(num_inference_steps, device=scheduler_device) timesteps, adjusted_steps = img2img_pipeline.get_timesteps( @@ -760,7 +728,7 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): noise_func=None, seed=None, ) -> InvokeAIStableDiffusionPipelineOutput: - device = self._model_group.device_for(self.unet) + device = self.unet.device latents_dtype = self.unet.dtype if isinstance(init_image, PIL.Image.Image): @@ -831,42 +799,17 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): nsfw_content_detected=[], attention_map_saver=result_attention_maps, ) - return self.check_for_safety(output, dtype=conditioning_data.dtype) + return output def non_noised_latents_from_image(self, init_image, *, device: torch.device, dtype): init_image = init_image.to(device=device, dtype=dtype) with torch.inference_mode(): - self._model_group.load(self.vae) init_latent_dist = self.vae.encode(init_image).latent_dist init_latents = init_latent_dist.sample().to(dtype=dtype) # FIXME: uses torch.randn. make reproducible! init_latents = 0.18215 * init_latents return init_latents - def check_for_safety(self, output, dtype): - with torch.inference_mode(): - screened_images, has_nsfw_concept = self.run_safety_checker(output.images, dtype=dtype) - screened_attention_map_saver = None - if has_nsfw_concept is None or not has_nsfw_concept: - screened_attention_map_saver = output.attention_map_saver - return InvokeAIStableDiffusionPipelineOutput( - screened_images, - has_nsfw_concept, - # block the attention maps if NSFW content is detected - attention_map_saver=screened_attention_map_saver, - ) - - def run_safety_checker(self, image, device=None, dtype=None): - # overriding to use the model group for device info instead of requiring the caller to know. - if self.safety_checker is not None: - device = self._model_group.device_for(self.safety_checker) - return super().run_safety_checker(image, device, dtype) - - def decode_latents(self, latents): - # Explicit call to get the vae loaded, since `decode` isn't the forward method. - self._model_group.load(self.vae) - return super().decode_latents(latents) - def debug_latents(self, latents, msg): from invokeai.backend.image_util import debug_image diff --git a/invokeai/backend/stable_diffusion/offloading.py b/invokeai/backend/stable_diffusion/offloading.py deleted file mode 100644 index aa2426d514..0000000000 --- a/invokeai/backend/stable_diffusion/offloading.py +++ /dev/null @@ -1,253 +0,0 @@ -from __future__ import annotations - -import warnings -import weakref -from abc import ABCMeta, abstractmethod -from collections.abc import MutableMapping -from typing import Callable, Union - -import torch -from accelerate.utils import send_to_device -from torch.utils.hooks import RemovableHandle - -OFFLOAD_DEVICE = torch.device("cpu") - - -class _NoModel: - """Symbol that indicates no model is loaded. - - (We can't weakref.ref(None), so this was my best idea at the time to come up with something - type-checkable.) - """ - - def __bool__(self): - return False - - def to(self, device: torch.device): - pass - - def __repr__(self): - return "" - - -NO_MODEL = _NoModel() - - -class ModelGroup(metaclass=ABCMeta): - """ - A group of models. - - The use case I had in mind when writing this is the sub-models used by a DiffusionPipeline, - e.g. its text encoder, U-net, VAE, etc. - - Those models are :py:class:`diffusers.ModelMixin`, but "model" is interchangeable with - :py:class:`torch.nn.Module` here. - """ - - def __init__(self, execution_device: torch.device): - self.execution_device = execution_device - - @abstractmethod - def install(self, *models: torch.nn.Module): - """Add models to this group.""" - pass - - @abstractmethod - def uninstall(self, models: torch.nn.Module): - """Remove models from this group.""" - pass - - @abstractmethod - def uninstall_all(self): - """Remove all models from this group.""" - - @abstractmethod - def load(self, model: torch.nn.Module): - """Load this model to the execution device.""" - pass - - @abstractmethod - def offload_current(self): - """Offload the current model(s) from the execution device.""" - pass - - @abstractmethod - def ready(self): - """Ready this group for use.""" - pass - - @abstractmethod - def set_device(self, device: torch.device): - """Change which device models from this group will execute on.""" - pass - - @abstractmethod - def device_for(self, model) -> torch.device: - """Get the device the given model will execute on. - - The model should already be a member of this group. - """ - pass - - @abstractmethod - def __contains__(self, model): - """Check if the model is a member of this group.""" - pass - - def __repr__(self) -> str: - return f"<{self.__class__.__name__} object at {id(self):x}: " f"device={self.execution_device} >" - - -class LazilyLoadedModelGroup(ModelGroup): - """ - Only one model from this group is loaded on the GPU at a time. - - Running the forward method of a model will displace the previously-loaded model, - offloading it to CPU. - - If you call other methods on the model, e.g. ``model.encode(x)`` instead of ``model(x)``, - you will need to explicitly load it with :py:method:`.load(model)`. - - This implementation relies on pytorch forward-pre-hooks, and it will copy forward arguments - to the appropriate execution device, as long as they are positional arguments and not keyword - arguments. (I didn't make the rules; that's the way the pytorch 1.13 API works for hooks.) - """ - - _hooks: MutableMapping[torch.nn.Module, RemovableHandle] - _current_model_ref: Callable[[], Union[torch.nn.Module, _NoModel]] - - def __init__(self, execution_device: torch.device): - super().__init__(execution_device) - self._hooks = weakref.WeakKeyDictionary() - self._current_model_ref = weakref.ref(NO_MODEL) - - def install(self, *models: torch.nn.Module): - for model in models: - self._hooks[model] = model.register_forward_pre_hook(self._pre_hook) - - def uninstall(self, *models: torch.nn.Module): - for model in models: - hook = self._hooks.pop(model) - hook.remove() - if self.is_current_model(model): - # no longer hooked by this object, so don't claim to manage it - self.clear_current_model() - - def uninstall_all(self): - self.uninstall(*self._hooks.keys()) - - def _pre_hook(self, module: torch.nn.Module, forward_input): - self.load(module) - if len(forward_input) == 0: - warnings.warn( - f"Hook for {module.__class__.__name__} got no input. " f"Inputs must be positional, not keywords.", - stacklevel=3, - ) - return send_to_device(forward_input, self.execution_device) - - def load(self, module): - if not self.is_current_model(module): - self.offload_current() - self._load(module) - - def offload_current(self): - module = self._current_model_ref() - if module is not NO_MODEL: - module.to(OFFLOAD_DEVICE) - self.clear_current_model() - - def _load(self, module: torch.nn.Module) -> torch.nn.Module: - assert self.is_empty(), f"A model is already loaded: {self._current_model_ref()}" - module = module.to(self.execution_device) - self.set_current_model(module) - return module - - def is_current_model(self, model: torch.nn.Module) -> bool: - """Is the given model the one currently loaded on the execution device?""" - return self._current_model_ref() is model - - def is_empty(self): - """Are none of this group's models loaded on the execution device?""" - return self._current_model_ref() is NO_MODEL - - def set_current_model(self, value): - self._current_model_ref = weakref.ref(value) - - def clear_current_model(self): - self._current_model_ref = weakref.ref(NO_MODEL) - - def set_device(self, device: torch.device): - if device == self.execution_device: - return - self.execution_device = device - current = self._current_model_ref() - if current is not NO_MODEL: - current.to(device) - - def device_for(self, model): - if model not in self: - raise KeyError(f"This does not manage this model {type(model).__name__}", model) - return self.execution_device # this implementation only dispatches to one device - - def ready(self): - pass # always ready to load on-demand - - def __contains__(self, model): - return model in self._hooks - - def __repr__(self) -> str: - return ( - f"<{self.__class__.__name__} object at {id(self):x}: " - f"current_model={type(self._current_model_ref()).__name__} >" - ) - - -class FullyLoadedModelGroup(ModelGroup): - """ - A group of models without any implicit loading or unloading. - - :py:meth:`.ready` loads _all_ the models to the execution device at once. - """ - - _models: weakref.WeakSet - - def __init__(self, execution_device: torch.device): - super().__init__(execution_device) - self._models = weakref.WeakSet() - - def install(self, *models: torch.nn.Module): - for model in models: - self._models.add(model) - model.to(self.execution_device) - - def uninstall(self, *models: torch.nn.Module): - for model in models: - self._models.remove(model) - - def uninstall_all(self): - self.uninstall(*self._models) - - def load(self, model): - model.to(self.execution_device) - - def offload_current(self): - for model in self._models: - model.to(OFFLOAD_DEVICE) - - def ready(self): - for model in self._models: - self.load(model) - - def set_device(self, device: torch.device): - self.execution_device = device - for model in self._models: - if model.device != OFFLOAD_DEVICE: - model.to(device) - - def device_for(self, model): - if model not in self: - raise KeyError("This does not manage this model f{type(model).__name__}", model) - return self.execution_device # this implementation only dispatches to one device - - def __contains__(self, model): - return model in self._models From 59caff7ff09d1d78e8fe7786d1ca9f4f0c10ab71 Mon Sep 17 00:00:00 2001 From: Kevin Turner <83819+keturn@users.noreply.github.com> Date: Sat, 5 Aug 2023 21:43:55 -0700 Subject: [PATCH 095/287] =?UTF-8?q?refactor(diffusers=5Fpipeline):=20remov?= =?UTF-8?q?e=20unused=20img2img=20wrappers=20=F0=9F=9A=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit invokeai.app no longer needs this as a single method, as it builds on latents2latents instead. --- invokeai/backend/generator/img2img.py | 63 +--------------- invokeai/backend/generator/inpaint.py | 8 ++ .../stable_diffusion/diffusers_pipeline.py | 73 ------------------- 3 files changed, 9 insertions(+), 135 deletions(-) diff --git a/invokeai/backend/generator/img2img.py b/invokeai/backend/generator/img2img.py index 5490b2325c..8aaaff5deb 100644 --- a/invokeai/backend/generator/img2img.py +++ b/invokeai/backend/generator/img2img.py @@ -1,25 +1,11 @@ """ invokeai.backend.generator.img2img descends from .generator """ -from typing import Optional -import torch -from accelerate.utils import set_seed -from diffusers import logging - -from ..stable_diffusion import ( - ConditioningData, - PostprocessingSettings, - StableDiffusionGeneratorPipeline, -) from .base import Generator class Img2Img(Generator): - def __init__(self, model, precision): - super().__init__(model, precision) - self.init_latent = None # by get_noise() - def get_make_image( self, sampler, @@ -42,51 +28,4 @@ class Img2Img(Generator): Returns a function returning an image derived from the prompt and the initial image Return value depends on the seed at the time you call it. """ - self.perlin = perlin - - # noinspection PyTypeChecker - pipeline: StableDiffusionGeneratorPipeline = self.model - pipeline.scheduler = sampler - - uc, c, extra_conditioning_info = conditioning - conditioning_data = ConditioningData( - uc, - c, - cfg_scale, - extra_conditioning_info, - postprocessing_settings=PostprocessingSettings( - threshold=threshold, - warmup=warmup, - h_symmetry_time_pct=h_symmetry_time_pct, - v_symmetry_time_pct=v_symmetry_time_pct, - ), - ).add_scheduler_args_if_applicable(pipeline.scheduler, eta=ddim_eta) - - def make_image(x_T: torch.Tensor, seed: int): - # FIXME: use x_T for initial seeded noise - # We're not at the moment because the pipeline automatically resizes init_image if - # necessary, which the x_T input might not match. - # In the meantime, reset the seed prior to generating pipeline output so we at least get the same result. - logging.set_verbosity_error() # quench safety check warnings - pipeline_output = pipeline.img2img_from_embeddings( - init_image, - strength, - steps, - conditioning_data, - noise_func=self.get_noise_like, - callback=step_callback, - seed=seed, - ) - if pipeline_output.attention_map_saver is not None and attention_maps_callback is not None: - attention_maps_callback(pipeline_output.attention_map_saver) - return pipeline.numpy_to_pil(pipeline_output.images)[0] - - return make_image - - def get_noise_like(self, like: torch.Tensor): - device = like.device - x = torch.randn_like(like, device=device) - if self.perlin > 0.0: - shape = like.shape - x = (1 - self.perlin) * x + self.perlin * self.get_perlin_noise(shape[3], shape[2]) - return x + raise NotImplementedError("replaced by invokeai.app.invocations.latent.LatentsToLatentsInvocation") diff --git a/invokeai/backend/generator/inpaint.py b/invokeai/backend/generator/inpaint.py index 7aeb3d4809..494f213d11 100644 --- a/invokeai/backend/generator/inpaint.py +++ b/invokeai/backend/generator/inpaint.py @@ -377,3 +377,11 @@ class Inpaint(Img2Img): ) return corrected_result + + def get_noise_like(self, like: torch.Tensor): + device = like.device + x = torch.randn_like(like, device=device) + if self.perlin > 0.0: + shape = like.shape + x = (1 - self.perlin) * x + self.perlin * self.get_perlin_noise(shape[3], shape[2]) + return x diff --git a/invokeai/backend/stable_diffusion/diffusers_pipeline.py b/invokeai/backend/stable_diffusion/diffusers_pipeline.py index 6891c726dc..c2c8165d02 100644 --- a/invokeai/backend/stable_diffusion/diffusers_pipeline.py +++ b/invokeai/backend/stable_diffusion/diffusers_pipeline.py @@ -622,79 +622,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): **kwargs, ).sample - def img2img_from_embeddings( - self, - init_image: Union[torch.FloatTensor, PIL.Image.Image], - strength: float, - num_inference_steps: int, - conditioning_data: ConditioningData, - *, - callback: Callable[[PipelineIntermediateState], None] = None, - run_id=None, - noise_func=None, - seed=None, - ) -> InvokeAIStableDiffusionPipelineOutput: - if isinstance(init_image, PIL.Image.Image): - init_image = image_resized_to_grid_as_tensor(init_image.convert("RGB")) - - if init_image.dim() == 3: - init_image = einops.rearrange(init_image, "c h w -> 1 c h w") - - # 6. Prepare latent variables - initial_latents = self.non_noised_latents_from_image( - init_image, - device=self.unet.device, - dtype=self.unet.dtype, - ) - if seed is not None: - set_seed(seed) - noise = noise_func(initial_latents) - - return self.img2img_from_latents_and_embeddings( - initial_latents, - num_inference_steps, - conditioning_data, - strength, - noise, - run_id, - callback, - ) - - def img2img_from_latents_and_embeddings( - self, - initial_latents, - num_inference_steps, - conditioning_data: ConditioningData, - strength, - noise: torch.Tensor, - run_id=None, - callback=None, - ) -> InvokeAIStableDiffusionPipelineOutput: - timesteps, _ = self.get_img2img_timesteps(num_inference_steps, strength) - result_latents, result_attention_maps = self.latents_from_embeddings( - latents=initial_latents - if strength < 1.0 - else torch.zeros_like(initial_latents, device=initial_latents.device, dtype=initial_latents.dtype), - num_inference_steps=num_inference_steps, - conditioning_data=conditioning_data, - timesteps=timesteps, - noise=noise, - run_id=run_id, - callback=callback, - ) - - # https://discuss.huggingface.co/t/memory-usage-by-later-pipeline-stages/23699 - torch.cuda.empty_cache() - - with torch.inference_mode(): - image = self.decode_latents(result_latents) - output = InvokeAIStableDiffusionPipelineOutput( - images=image, - nsfw_content_detected=[], - attention_map_saver=result_attention_maps, - ) - return output - def get_img2img_timesteps(self, num_inference_steps: int, strength: float, device=None) -> (torch.Tensor, int): img2img_pipeline = StableDiffusionImg2ImgPipeline(**self.components) assert img2img_pipeline.scheduler is self.scheduler From 1a6f5f0860169569115f689350f5247f1787877c Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sun, 6 Aug 2023 12:29:31 -0400 Subject: [PATCH 096/287] use backslash on Windows systems for autoadded delimiter --- invokeai/frontend/install/import_images.py | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/invokeai/frontend/install/import_images.py b/invokeai/frontend/install/import_images.py index fe0f20c830..c56dd2e105 100644 --- a/invokeai/frontend/install/import_images.py +++ b/invokeai/frontend/install/import_images.py @@ -6,6 +6,7 @@ """Script to import images into the new database system for 3.0.0""" import os +import platform import datetime import shutil import locale @@ -21,21 +22,14 @@ import PIL.PngImagePlugin from pathlib import Path from prompt_toolkit import prompt -from prompt_toolkit.shortcuts import yes_no_dialog, message_dialog, input_dialog, button_dialog +from prompt_toolkit.shortcuts import message_dialog from prompt_toolkit.completion import PathCompleter -from prompt_toolkit.key_binding import KeyBindings from invokeai.app.services.config import InvokeAIAppConfig app_config = InvokeAIAppConfig.get_config() - -bindings = KeyBindings() - - -@bindings.add("c-c") -def _(event): - raise KeyboardInterrupt - +path_delimiter = '\\' if platform.uname().system=='Windows' else '/' +print(path_delimiter) # release notes # "Use All" with size dimensions not selectable in the UI will not load dimensions @@ -122,7 +116,7 @@ class Config: ) if database_path.endswith(".db") and os.path.isabs(database_path) and os.path.exists(database_path): break - default = database_path + "/" if Path(database_path).is_dir() else database_path + default = database_path + path_delimiter if Path(database_path).is_dir() else database_path default = "" while True: @@ -136,7 +130,7 @@ class Config: if outputs_path.endswith("images") and os.path.isabs(outputs_path) and os.path.exists(outputs_path): break - default = outputs_path + "/" if Path(outputs_path).is_dir() else outputs_path + default = outputs_path + path_delimiter if Path(outputs_path).is_dir() else outputs_path self.database_path = database_path self.outputs_path = outputs_path From f3d3316558d29bed477776876c940fe52b1118ef Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Sun, 6 Aug 2023 16:00:53 -0400 Subject: [PATCH 097/287] probe LoRAs that do not have the text encoder --- invokeai/backend/model_management/model_probe.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/invokeai/backend/model_management/model_probe.py b/invokeai/backend/model_management/model_probe.py index 21462cf6e6..1fcb5334df 100644 --- a/invokeai/backend/model_management/model_probe.py +++ b/invokeai/backend/model_management/model_probe.py @@ -345,6 +345,8 @@ class LoRACheckpointProbe(CheckpointProbeBase): return BaseModelType.StableDiffusion1 elif lora_token_vector_length == 1024: return BaseModelType.StableDiffusion2 + elif lora_token_vector_length is None: # variant w/o the text encoder! + return BaseModelType.StableDiffusion1 else: raise InvalidModelException(f"Unknown LoRA type") From ae17d01e1d2b4f2ef85a5df6c6e4d7ce0f378ca9 Mon Sep 17 00:00:00 2001 From: Jonathan <34005131+JPPhoto@users.noreply.github.com> Date: Sun, 6 Aug 2023 18:23:51 -0500 Subject: [PATCH 098/287] Fix hue adjustment (#4182) * Fix hue adjustment Hue adjustment wasn't working correctly because color channels got swapped. This has now been fixed and we're using PIL rather than cv2 to do the RGBA->HSV->RGBA conversion. The range of hue adjustment is also the more typical 0..360 degrees. --- invokeai/app/invocations/image.py | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index 9f60cb620a..c0aa7ad5ef 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -661,27 +661,23 @@ class ImageHueAdjustmentInvocation(BaseInvocation): # Inputs image: ImageField = Field(default=None, description="The image to adjust") - hue: int = Field(default=0, description="The degrees by which to rotate the hue") + hue: int = Field(default=0, description="The degrees by which to rotate the hue, 0-360") # fmt: on def invoke(self, context: InvocationContext) -> ImageOutput: pil_image = context.services.images.get_pil_image(self.image.image_name) - # Convert PIL image to OpenCV format (numpy array), note color channel - # ordering is changed from RGB to BGR - image = numpy.array(pil_image.convert("RGB"))[:, :, ::-1] - # Convert image to HSV color space - hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) + hsv_image = numpy.array(pil_image.convert("HSV")) - # Adjust the hue - hsv_image[:, :, 0] = (hsv_image[:, :, 0] + self.hue) % 180 + # Convert hue from 0..360 to 0..256 + hue = int(256 * ((self.hue % 360) / 360)) - # Convert image back to BGR color space - image = cv2.cvtColor(hsv_image, cv2.COLOR_HSV2BGR) + # Increment each hue and wrap around at 255 + hsv_image[:, :, 0] = (hsv_image[:, :, 0] + hue) % 256 # Convert back to PIL format and to original color mode - pil_image = Image.fromarray(image[:, :, ::-1], "RGB").convert("RGBA") + pil_image = Image.fromarray(hsv_image, mode="HSV").convert("RGBA") image_dto = context.services.images.create( image=pil_image, From 8469d3e95a7c5533508094ff1fcfa20ab1bcd22d Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Mon, 7 Aug 2023 10:05:52 +1000 Subject: [PATCH 099/287] chore: black --- invokeai/frontend/install/import_images.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/install/import_images.py b/invokeai/frontend/install/import_images.py index 71bef34f26..befef58744 100644 --- a/invokeai/frontend/install/import_images.py +++ b/invokeai/frontend/install/import_images.py @@ -116,7 +116,11 @@ class Config: ) if database_path.endswith(".db") and os.path.isabs(database_path) and os.path.exists(database_path): break - default = database_path + path_delimiter if Path(database_path).is_dir() and not database_path.endswith(('\\','/')) else database_path + default = ( + database_path + path_delimiter + if Path(database_path).is_dir() and not database_path.endswith(("\\", "/")) + else database_path + ) default = "" while True: @@ -130,7 +134,11 @@ class Config: if outputs_path.endswith("images") and os.path.isabs(outputs_path) and os.path.exists(outputs_path): break - default = outputs_path + path_delimiter if Path(outputs_path).is_dir() and not database_path.endswith(('\\','/')) else outputs_path + default = ( + outputs_path + path_delimiter + if Path(outputs_path).is_dir() and not database_path.endswith(("\\", "/")) + else outputs_path + ) self.database_path = database_path self.outputs_path = outputs_path From b0738b7f701bf001a99b769a959bcf88eda0c62c Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Mon, 7 Aug 2023 18:37:06 +0300 Subject: [PATCH 100/287] Fixes, zero tensor for empty negative prompt, remove raw prompt node --- invokeai/app/invocations/compel.py | 206 ++---------------- .../diffusion/shared_invokeai_diffusion.py | 6 +- 2 files changed, 20 insertions(+), 192 deletions(-) diff --git a/invokeai/app/invocations/compel.py b/invokeai/app/invocations/compel.py index d0b55cd185..7fd101a3a0 100644 --- a/invokeai/app/invocations/compel.py +++ b/invokeai/app/invocations/compel.py @@ -185,7 +185,7 @@ class CompelInvocation(BaseInvocation): class SDXLPromptInvocationBase: - def run_clip_raw(self, context, clip_field, prompt, get_pooled, lora_prefix): + def run_clip_compel(self, context, clip_field, prompt, get_pooled, lora_prefix, zero_on_empty): tokenizer_info = context.services.model_manager.get_model( **clip_field.tokenizer.dict(), context=context, @@ -195,82 +195,21 @@ class SDXLPromptInvocationBase: context=context, ) - def _lora_loader(): - for lora in clip_field.loras: - lora_info = context.services.model_manager.get_model(**lora.dict(exclude={"weight"}), context=context) - yield (lora_info.context.model, lora.weight) - del lora_info - return - - # loras = [(context.services.model_manager.get_model(**lora.dict(exclude={"weight"})).context.model, lora.weight) for lora in self.clip.loras] - - ti_list = [] - for trigger in re.findall(r"<[a-zA-Z0-9., _-]+>", prompt): - name = trigger[1:-1] - try: - ti_list.append( - ( - name, - context.services.model_manager.get_model( - model_name=name, - base_model=clip_field.text_encoder.base_model, - model_type=ModelType.TextualInversion, - context=context, - ).context.model, - ) - ) - except ModelNotFoundException: - # print(e) - # import traceback - # print(traceback.format_exc()) - print(f'Warn: trigger: "{trigger}" not found') - - with ModelPatcher.apply_lora( - text_encoder_info.context.model, _lora_loader(), lora_prefix - ), ModelPatcher.apply_ti(tokenizer_info.context.model, text_encoder_info.context.model, ti_list) as ( - tokenizer, - ti_manager, - ), ModelPatcher.apply_clip_skip( - text_encoder_info.context.model, clip_field.skipped_layers - ), text_encoder_info as text_encoder: - text_inputs = tokenizer( - prompt, - padding="max_length", - max_length=tokenizer.model_max_length, - truncation=True, - return_tensors="pt", - ) - text_input_ids = text_inputs.input_ids - prompt_embeds = text_encoder( - text_input_ids.to(text_encoder.device), - output_hidden_states=True, + # return zero on empty + if prompt == "" and zero_on_empty: + cpu_text_encoder = text_encoder_info.context.model + c = torch.zeros( + (1, cpu_text_encoder.config.max_position_embeddings, cpu_text_encoder.config.hidden_size), + dtype=text_encoder_info.context.cache.precision, ) if get_pooled: - c_pooled = prompt_embeds[0] + c_pooled = torch.zeros( + (1, cpu_text_encoder.config.hidden_size), + dtype=c.dtype, + ) else: c_pooled = None - c = prompt_embeds.hidden_states[-2] - - del tokenizer - del text_encoder - del tokenizer_info - del text_encoder_info - - c = c.detach().to("cpu") - if c_pooled is not None: - c_pooled = c_pooled.detach().to("cpu") - - return c, c_pooled, None - - def run_clip_compel(self, context, clip_field, prompt, get_pooled, lora_prefix): - tokenizer_info = context.services.model_manager.get_model( - **clip_field.tokenizer.dict(), - context=context, - ) - text_encoder_info = context.services.model_manager.get_model( - **clip_field.text_encoder.dict(), - context=context, - ) + return c, c_pooled, None def _lora_loader(): for lora in clip_field.loras: @@ -375,11 +314,13 @@ class SDXLCompelPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): @torch.no_grad() def invoke(self, context: InvocationContext) -> CompelOutput: - c1, c1_pooled, ec1 = self.run_clip_compel(context, self.clip, self.prompt, False, "lora_te1_") + c1, c1_pooled, ec1 = self.run_clip_compel(context, self.clip, self.prompt, False, "lora_te1_", zero_on_empty=False) if self.style.strip() == "": - c2, c2_pooled, ec2 = self.run_clip_compel(context, self.clip2, self.prompt, True, "lora_te2_") + c2, c2_pooled, ec2 = self.run_clip_compel(context, self.clip2, self.prompt, True, "lora_te2_", zero_on_empty=True) else: - c2, c2_pooled, ec2 = self.run_clip_compel(context, self.clip2, self.style, True, "lora_te2_") + c2, c2_pooled, ec2 = self.run_clip_compel(context, self.clip2, self.style, True, "lora_te2_", zero_on_empty=True) + + print(f"{c1.shape=} {c2.shape=} {c2_pooled.shape=} {self.prompt=}") original_size = (self.original_height, self.original_width) crop_coords = (self.crop_top, self.crop_left) @@ -434,118 +375,7 @@ class SDXLRefinerCompelPromptInvocation(BaseInvocation, SDXLPromptInvocationBase @torch.no_grad() def invoke(self, context: InvocationContext) -> CompelOutput: # TODO: if there will appear lora for refiner - write proper prefix - c2, c2_pooled, ec2 = self.run_clip_compel(context, self.clip2, self.style, True, "") - - original_size = (self.original_height, self.original_width) - crop_coords = (self.crop_top, self.crop_left) - - add_time_ids = torch.tensor([original_size + crop_coords + (self.aesthetic_score,)]) - - conditioning_data = ConditioningFieldData( - conditionings=[ - SDXLConditioningInfo( - embeds=c2, - pooled_embeds=c2_pooled, - add_time_ids=add_time_ids, - extra_conditioning=ec2, # or None - ) - ] - ) - - conditioning_name = f"{context.graph_execution_state_id}_{self.id}_conditioning" - context.services.latents.save(conditioning_name, conditioning_data) - - return CompelOutput( - conditioning=ConditioningField( - conditioning_name=conditioning_name, - ), - ) - - -class SDXLRawPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): - """Pass unmodified prompt to conditioning without compel processing.""" - - type: Literal["sdxl_raw_prompt"] = "sdxl_raw_prompt" - - prompt: str = Field(default="", description="Prompt") - style: str = Field(default="", description="Style prompt") - original_width: int = Field(1024, description="") - original_height: int = Field(1024, description="") - crop_top: int = Field(0, description="") - crop_left: int = Field(0, description="") - target_width: int = Field(1024, description="") - target_height: int = Field(1024, description="") - clip: ClipField = Field(None, description="Clip to use") - clip2: ClipField = Field(None, description="Clip2 to use") - - # Schema customisation - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "SDXL Prompt (Raw)", "tags": ["prompt", "compel"], "type_hints": {"model": "model"}}, - } - - @torch.no_grad() - def invoke(self, context: InvocationContext) -> CompelOutput: - c1, c1_pooled, ec1 = self.run_clip_raw(context, self.clip, self.prompt, False, "lora_te1_") - if self.style.strip() == "": - c2, c2_pooled, ec2 = self.run_clip_raw(context, self.clip2, self.prompt, True, "lora_te2_") - else: - c2, c2_pooled, ec2 = self.run_clip_raw(context, self.clip2, self.style, True, "lora_te2_") - - original_size = (self.original_height, self.original_width) - crop_coords = (self.crop_top, self.crop_left) - target_size = (self.target_height, self.target_width) - - add_time_ids = torch.tensor([original_size + crop_coords + target_size]) - - conditioning_data = ConditioningFieldData( - conditionings=[ - SDXLConditioningInfo( - embeds=torch.cat([c1, c2], dim=-1), - pooled_embeds=c2_pooled, - add_time_ids=add_time_ids, - extra_conditioning=ec1, - ) - ] - ) - - conditioning_name = f"{context.graph_execution_state_id}_{self.id}_conditioning" - context.services.latents.save(conditioning_name, conditioning_data) - - return CompelOutput( - conditioning=ConditioningField( - conditioning_name=conditioning_name, - ), - ) - - -class SDXLRefinerRawPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): - """Parse prompt using compel package to conditioning.""" - - type: Literal["sdxl_refiner_raw_prompt"] = "sdxl_refiner_raw_prompt" - - style: str = Field(default="", description="Style prompt") # TODO: ? - original_width: int = Field(1024, description="") - original_height: int = Field(1024, description="") - crop_top: int = Field(0, description="") - crop_left: int = Field(0, description="") - aesthetic_score: float = Field(6.0, description="") - clip2: ClipField = Field(None, description="Clip to use") - - # Schema customisation - class Config(InvocationConfig): - schema_extra = { - "ui": { - "title": "SDXL Refiner Prompt (Raw)", - "tags": ["prompt", "compel"], - "type_hints": {"model": "model"}, - }, - } - - @torch.no_grad() - def invoke(self, context: InvocationContext) -> CompelOutput: - # TODO: if there will appear lora for refiner - write proper prefix - c2, c2_pooled, ec2 = self.run_clip_raw(context, self.clip2, self.style, True, "") + c2, c2_pooled, ec2 = self.run_clip_compel(context, self.clip2, self.style, True, "", zero_on_empty=False) original_size = (self.original_height, self.original_width) crop_coords = (self.crop_top, self.crop_left) diff --git a/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py b/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py index b906719923..4ff8c5abc7 100644 --- a/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py +++ b/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py @@ -386,8 +386,7 @@ class InvokeAIDiffuserComponent: self, x: torch.Tensor, sigma, - unconditioning: torch.Tensor, - conditioning: torch.Tensor, + conditioning_data, **kwargs, ): # low-memory sequential path @@ -444,8 +443,7 @@ class InvokeAIDiffuserComponent: self, x: torch.Tensor, sigma, - unconditioning, - conditioning, + conditioning_data, cross_attention_control_types_to_do, **kwargs, ): From 2539e26c18e8ff156e5f6722be3d71f5c00812de Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Mon, 7 Aug 2023 19:57:11 +0300 Subject: [PATCH 101/287] Apply denoising_start/end, add torch-sdp to memory effictiend attention func --- invokeai/app/invocations/compel.py | 2 - invokeai/app/invocations/latent.py | 64 ++++++++++++++---- .../stable_diffusion/diffusers_pipeline.py | 67 ++++++++++--------- 3 files changed, 88 insertions(+), 45 deletions(-) diff --git a/invokeai/app/invocations/compel.py b/invokeai/app/invocations/compel.py index 7fd101a3a0..41be7f7138 100644 --- a/invokeai/app/invocations/compel.py +++ b/invokeai/app/invocations/compel.py @@ -320,8 +320,6 @@ class SDXLCompelPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): else: c2, c2_pooled, ec2 = self.run_clip_compel(context, self.clip2, self.style, True, "lora_te2_", zero_on_empty=True) - print(f"{c1.shape=} {c2.shape=} {c2_pooled.shape=} {self.prompt=}") - original_size = (self.original_height, self.original_width) crop_coords = (self.crop_top, self.crop_left) target_size = (self.target_height, self.target_width) diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index a63f98de24..fef3bcbf6f 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -122,6 +122,7 @@ class TextToLatentsInvocation(BaseInvocation): scheduler: SAMPLER_NAME_VALUES = Field(default="euler", description="The scheduler to use" ) unet: UNetField = Field(default=None, description="UNet submodel") control: Union[ControlField, list[ControlField]] = Field(default=None, description="The control to use") + denoising_end: float = Field(default=1.0, ge=0, le=1, description="") # seamless: bool = Field(default=False, description="Whether or not to generate an image that can tile without seams", ) # seamless_axes: str = Field(default="", description="The axes to tile the image on, 'x' and/or 'y'") # fmt: on @@ -310,6 +311,25 @@ class TextToLatentsInvocation(BaseInvocation): # MultiControlNetModel has been refactored out, just need list[ControlNetData] return control_data + def init_scheduler(self, scheduler, device, steps, denoising_start, denoising_end): + # apply denoising_start + num_inference_steps = steps + scheduler.set_timesteps(num_inference_steps, device=device) + + t_start = int(round(denoising_start * num_inference_steps)) + timesteps = scheduler.timesteps[t_start * scheduler.order :] + num_inference_steps = num_inference_steps - t_start + + # apply denoising_end + num_warmup_steps = max(len(timesteps) - num_inference_steps * scheduler.order, 0) + + skipped_final_steps = int(round((1 - denoising_end) * steps)) + num_inference_steps = num_inference_steps - skipped_final_steps + timesteps = timesteps[: num_warmup_steps + scheduler.order * num_inference_steps] + + return num_inference_steps, timesteps + + @torch.no_grad() def invoke(self, context: InvocationContext) -> LatentsOutput: with SilenceWarnings(): @@ -359,12 +379,21 @@ class TextToLatentsInvocation(BaseInvocation): do_classifier_free_guidance=True, exit_stack=exit_stack, ) + + num_inference_steps, timesteps = self.init_scheduler( + scheduler, + device=unet.device, + steps=self.steps, + denoising_start=0.0, + denoising_end=self.denoising_end, + ) # TODO: Verify the noise is the right size result_latents, result_attention_map_saver = pipeline.latents_from_embeddings( latents=torch.zeros_like(noise, dtype=torch_dtype(unet.device)), noise=noise, - num_inference_steps=self.steps, + timesteps=timesteps, + num_inference_steps=num_inference_steps, conditioning_data=conditioning_data, control_data=control_data, # list[ControlNetData] callback=step_callback, @@ -385,8 +414,12 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): type: Literal["l2l"] = "l2l" # Inputs - latents: Optional[LatentsField] = Field(description="The latents to use as a base image") - strength: float = Field(default=0.7, ge=0, le=1, description="The strength of the latents to use") + noise: Optional[LatentsField] = Field(description="The noise to use (test override for future optional)") + + denoising_start: float = Field(default=0.0, ge=0, le=1, description="") + #denoising_end: float = Field(default=1.0, ge=0, le=1, description="") + + latents: Optional[LatentsField] = Field(description="The latents to use as a base image") # Schema customisation class Config(InvocationConfig): @@ -405,7 +438,9 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): @torch.no_grad() def invoke(self, context: InvocationContext) -> LatentsOutput: with SilenceWarnings(): # this quenches NSFW nag from diffusers - noise = context.services.latents.get(self.noise.latents_name) + noise = None + if self.noise is not None: + noise = context.services.latents.get(self.noise.latents_name) latent = context.services.latents.get(self.latents.latents_name) # Get the source node id (we are invoking the prepared node) @@ -432,7 +467,8 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): with ExitStack() as exit_stack, ModelPatcher.apply_lora_unet( unet_info.context.model, _lora_loader() ), unet_info as unet: - noise = noise.to(device=unet.device, dtype=unet.dtype) + if noise is not None: + noise = noise.to(device=unet.device, dtype=unet.dtype) latent = latent.to(device=unet.device, dtype=unet.dtype) scheduler = get_scheduler( @@ -448,28 +484,30 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): model=pipeline, context=context, control_input=self.control, - latents_shape=noise.shape, + latents_shape=latent.shape, # do_classifier_free_guidance=(self.cfg_scale >= 1.0)) do_classifier_free_guidance=True, exit_stack=exit_stack, ) # TODO: Verify the noise is the right size - initial_latents = ( - latent if self.strength < 1.0 else torch.zeros_like(latent, device=unet.device, dtype=latent.dtype) - ) + initial_latents = latent + if self.denoising_start <= 0.0: + initial_latents = torch.zeros_like(latent, device=unet.device, dtype=latent.dtype) - timesteps, _ = pipeline.get_img2img_timesteps( - self.steps, - self.strength, + num_inference_steps, timesteps = self.init_scheduler( + scheduler, device=unet.device, + steps=self.steps, + denoising_start=self.denoising_start, + denoising_end=self.denoising_end, ) result_latents, result_attention_map_saver = pipeline.latents_from_embeddings( latents=initial_latents, timesteps=timesteps, noise=noise, - num_inference_steps=self.steps, + num_inference_steps=num_inference_steps, conditioning_data=conditioning_data, control_data=control_data, # list[ControlNetData] callback=step_callback, diff --git a/invokeai/backend/stable_diffusion/diffusers_pipeline.py b/invokeai/backend/stable_diffusion/diffusers_pipeline.py index 8a7616f1f1..ed1c8deeb5 100644 --- a/invokeai/backend/stable_diffusion/diffusers_pipeline.py +++ b/invokeai/backend/stable_diffusion/diffusers_pipeline.py @@ -340,33 +340,39 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): if xformers is available, use it, otherwise use sliced attention. """ config = InvokeAIAppConfig.get_config() - if torch.cuda.is_available() and is_xformers_available() and not config.disable_xformers: - self.enable_xformers_memory_efficient_attention() + if self.unet.device.type == "cuda": + if is_xformers_available() and not config.disable_xformers: + self.enable_xformers_memory_efficient_attention() + return + elif hasattr(torch.nn.functional, "scaled_dot_product_attention"): + # diffusers enable sdp automatically + return + + + if self.device.type == "cpu" or self.device.type == "mps": + mem_free = psutil.virtual_memory().free + elif self.device.type == "cuda": + mem_free, _ = torch.cuda.mem_get_info(normalize_device(self.device)) else: - if self.device.type == "cpu" or self.device.type == "mps": - mem_free = psutil.virtual_memory().free - elif self.device.type == "cuda": - mem_free, _ = torch.cuda.mem_get_info(normalize_device(self.device)) - else: - raise ValueError(f"unrecognized device {self.device}") - # input tensor of [1, 4, h/8, w/8] - # output tensor of [16, (h/8 * w/8), (h/8 * w/8)] - bytes_per_element_needed_for_baddbmm_duplication = latents.element_size() + 4 - max_size_required_for_baddbmm = ( - 16 - * latents.size(dim=2) - * latents.size(dim=3) - * latents.size(dim=2) - * latents.size(dim=3) - * bytes_per_element_needed_for_baddbmm_duplication - ) - if max_size_required_for_baddbmm > (mem_free * 3.0 / 4.0): # 3.3 / 4.0 is from old Invoke code - self.enable_attention_slicing(slice_size="max") - elif torch.backends.mps.is_available(): - # diffusers recommends always enabling for mps - self.enable_attention_slicing(slice_size="max") - else: - self.disable_attention_slicing() + raise ValueError(f"unrecognized device {self.device}") + # input tensor of [1, 4, h/8, w/8] + # output tensor of [16, (h/8 * w/8), (h/8 * w/8)] + bytes_per_element_needed_for_baddbmm_duplication = latents.element_size() + 4 + max_size_required_for_baddbmm = ( + 16 + * latents.size(dim=2) + * latents.size(dim=3) + * latents.size(dim=2) + * latents.size(dim=3) + * bytes_per_element_needed_for_baddbmm_duplication + ) + if max_size_required_for_baddbmm > (mem_free * 3.0 / 4.0): # 3.3 / 4.0 is from old Invoke code + self.enable_attention_slicing(slice_size="max") + elif torch.backends.mps.is_available(): + # diffusers recommends always enabling for mps + self.enable_attention_slicing(slice_size="max") + else: + self.disable_attention_slicing() def to(self, torch_device: Optional[Union[str, torch.device]] = None, silence_dtype_warnings=False): # overridden method; types match the superclass. @@ -398,7 +404,7 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): num_inference_steps: int, conditioning_data: ConditioningData, *, - noise: torch.Tensor, + noise: Optional[torch.Tensor], timesteps=None, additional_guidance: List[Callable] = None, run_id=None, @@ -434,7 +440,7 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): timesteps, conditioning_data: ConditioningData, *, - noise: torch.Tensor, + noise: Optional[torch.Tensor], run_id: str = None, additional_guidance: List[Callable] = None, control_data: List[ControlNetData] = None, @@ -457,8 +463,9 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): dtype=timesteps.dtype, device=self._model_group.device_for(self.unet), ) - #latents = noise * self.scheduler.init_noise_sigma # it's like in t2l according to diffusers - latents = self.scheduler.add_noise(latents, noise, batched_t) + if noise is not None: + #latents = noise * self.scheduler.init_noise_sigma # it's like in t2l according to diffusers + latents = self.scheduler.add_noise(latents, noise, batched_t) yield PipelineIntermediateState( run_id=run_id, From 1db2c93f754ca4506e6cd0a5d1eaed0c6d059095 Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Mon, 7 Aug 2023 21:27:32 +0300 Subject: [PATCH 102/287] Fix preview, inpaint --- invokeai/app/invocations/generate.py | 12 ++-- invokeai/app/invocations/latent.py | 10 ++-- invokeai/app/util/step_callback.py | 60 ++++++++++++++----- .../stable_diffusion/diffusers_pipeline.py | 12 ---- 4 files changed, 58 insertions(+), 36 deletions(-) diff --git a/invokeai/app/invocations/generate.py b/invokeai/app/invocations/generate.py index d48c9f922e..1239d578d9 100644 --- a/invokeai/app/invocations/generate.py +++ b/invokeai/app/invocations/generate.py @@ -16,7 +16,7 @@ from ..util.step_callback import stable_diffusion_step_callback from .baseinvocation import BaseInvocation, InvocationConfig, InvocationContext from .image import ImageOutput -from ...backend.model_management.lora import ModelPatcher +from ...backend.model_management import ModelPatcher, BaseModelType from ...backend.stable_diffusion.diffusers_pipeline import StableDiffusionGeneratorPipeline from .model import UNetField, VaeField from .compel import ConditioningField @@ -140,6 +140,7 @@ class InpaintInvocation(BaseInvocation): self, context: InvocationContext, source_node_id: str, + base_model: BaseModelType, intermediate_state: PipelineIntermediateState, ) -> None: stable_diffusion_step_callback( @@ -147,15 +148,16 @@ class InpaintInvocation(BaseInvocation): intermediate_state=intermediate_state, node=self.dict(), source_node_id=source_node_id, + base_model=base_model, ) def get_conditioning(self, context, unet): positive_cond_data = context.services.latents.get(self.positive_conditioning.conditioning_name) - c = positive_cond_data.conditionings[0].embeds.to(device=unet.device, dtype=unet.dtype) - extra_conditioning_info = positive_cond_data.conditionings[0].extra_conditioning + c = positive_cond_data.conditionings[0].to(device=unet.device, dtype=unet.dtype) + extra_conditioning_info = c.extra_conditioning negative_cond_data = context.services.latents.get(self.negative_conditioning.conditioning_name) - uc = negative_cond_data.conditionings[0].embeds.to(device=unet.device, dtype=unet.dtype) + uc = negative_cond_data.conditionings[0].to(device=unet.device, dtype=unet.dtype) return (uc, c, extra_conditioning_info) @@ -225,7 +227,7 @@ class InpaintInvocation(BaseInvocation): scheduler=scheduler, init_image=image, mask_image=mask, - step_callback=partial(self.dispatch_progress, context, source_node_id), + step_callback=partial(self.dispatch_progress, context, source_node_id, self.unet.unet.base_model), **self.dict( exclude={"positive_conditioning", "negative_conditioning", "scheduler", "image", "mask"} ), # Shorthand for passing all of the parameters above manually diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index fef3bcbf6f..25e411074a 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -24,7 +24,7 @@ from ...backend.stable_diffusion.diffusers_pipeline import ( ) from ...backend.stable_diffusion.diffusion.shared_invokeai_diffusion import PostprocessingSettings from ...backend.stable_diffusion.schedulers import SCHEDULER_MAP -from ...backend.model_management import ModelPatcher +from ...backend.model_management import ModelPatcher, BaseModelType from ...backend.util.devices import choose_torch_device, torch_dtype, choose_precision from ..models.image import ImageCategory, ImageField, ResourceOrigin from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext @@ -160,12 +160,14 @@ class TextToLatentsInvocation(BaseInvocation): context: InvocationContext, source_node_id: str, intermediate_state: PipelineIntermediateState, + base_model: BaseModelType, ) -> None: stable_diffusion_step_callback( context=context, intermediate_state=intermediate_state, node=self.dict(), source_node_id=source_node_id, + base_model=base_model, ) def get_conditioning_data( @@ -340,7 +342,7 @@ class TextToLatentsInvocation(BaseInvocation): source_node_id = graph_execution_state.prepared_source_mapping[self.id] def step_callback(state: PipelineIntermediateState): - self.dispatch_progress(context, source_node_id, state) + self.dispatch_progress(context, source_node_id, state, self.unet.unet.base_model) def _lora_loader(): for lora in self.unet.loras: @@ -379,7 +381,7 @@ class TextToLatentsInvocation(BaseInvocation): do_classifier_free_guidance=True, exit_stack=exit_stack, ) - + num_inference_steps, timesteps = self.init_scheduler( scheduler, device=unet.device, @@ -448,7 +450,7 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): source_node_id = graph_execution_state.prepared_source_mapping[self.id] def step_callback(state: PipelineIntermediateState): - self.dispatch_progress(context, source_node_id, state) + self.dispatch_progress(context, source_node_id, state, self.unet.unet.base_model) def _lora_loader(): for lora in self.unet.loras: diff --git a/invokeai/app/util/step_callback.py b/invokeai/app/util/step_callback.py index 994d83e705..aae06913fd 100644 --- a/invokeai/app/util/step_callback.py +++ b/invokeai/app/util/step_callback.py @@ -7,6 +7,7 @@ from ...backend.util.util import image_to_dataURL from ...backend.generator.base import Generator from ...backend.stable_diffusion import PipelineIntermediateState from invokeai.app.services.config import InvokeAIAppConfig +from ...backend.model_management.models import BaseModelType def sample_to_lowres_estimated_image(samples, latent_rgb_factors, smooth_matrix=None): @@ -29,6 +30,7 @@ def stable_diffusion_step_callback( intermediate_state: PipelineIntermediateState, node: dict, source_node_id: str, + base_model: BaseModelType, ): if context.services.queue.is_canceled(context.graph_execution_state_id): raise CanceledException @@ -56,23 +58,51 @@ def stable_diffusion_step_callback( # TODO: only output a preview image when requested - # origingally adapted from code by @erucipe and @keturn here: - # https://discuss.huggingface.co/t/decoding-latents-to-rgb-without-upscaling/23204/7 + if base_model in [BaseModelType.StableDiffusionXL, BaseModelType.StableDiffusionXLRefiner]: + sdxl_latent_rgb_factors = torch.tensor( + [ + # R G B + [0.3816, 0.4930, 0.5320], + [-0.3753, 0.1631, 0.1739], + [0.1770, 0.3588, -0.2048], + [-0.4350, -0.2644, -0.4289], + ], + dtype=sample.dtype, + device=sample.device, + ) - # these updated numbers for v1.5 are from @torridgristle - v1_5_latent_rgb_factors = torch.tensor( - [ - # R G B - [0.3444, 0.1385, 0.0670], # L1 - [0.1247, 0.4027, 0.1494], # L2 - [-0.3192, 0.2513, 0.2103], # L3 - [-0.1307, -0.1874, -0.7445], # L4 - ], - dtype=sample.dtype, - device=sample.device, - ) + sdxl_smooth_matrix = torch.tensor( + [ + # [ 0.0478, 0.1285, 0.0478], + # [ 0.1285, 0.2948, 0.1285], + # [ 0.0478, 0.1285, 0.0478], + [0.0358, 0.0964, 0.0358], + [0.0964, 0.4711, 0.0964], + [0.0358, 0.0964, 0.0358], + ], + dtype=sample.dtype, + device=sample.device, + ) - image = sample_to_lowres_estimated_image(sample, v1_5_latent_rgb_factors) + image = sample_to_lowres_estimated_image(sample, sdxl_latent_rgb_factors, sdxl_smooth_matrix) + else: + # origingally adapted from code by @erucipe and @keturn here: + # https://discuss.huggingface.co/t/decoding-latents-to-rgb-without-upscaling/23204/7 + + # these updated numbers for v1.5 are from @torridgristle + v1_5_latent_rgb_factors = torch.tensor( + [ + # R G B + [0.3444, 0.1385, 0.0670], # L1 + [0.1247, 0.4027, 0.1494], # L2 + [-0.3192, 0.2513, 0.2103], # L3 + [-0.1307, -0.1874, -0.7445], # L4 + ], + dtype=sample.dtype, + device=sample.device, + ) + + image = sample_to_lowres_estimated_image(sample, v1_5_latent_rgb_factors) (width, height) = image.size width *= 8 diff --git a/invokeai/backend/stable_diffusion/diffusers_pipeline.py b/invokeai/backend/stable_diffusion/diffusers_pipeline.py index ed1c8deeb5..9d080e648d 100644 --- a/invokeai/backend/stable_diffusion/diffusers_pipeline.py +++ b/invokeai/backend/stable_diffusion/diffusers_pipeline.py @@ -50,7 +50,6 @@ from .offloading import FullyLoadedModelGroup, ModelGroup @dataclass class PipelineIntermediateState: - run_id: str step: int timestep: int latents: torch.Tensor @@ -407,7 +406,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): noise: Optional[torch.Tensor], timesteps=None, additional_guidance: List[Callable] = None, - run_id=None, callback: Callable[[PipelineIntermediateState], None] = None, control_data: List[ControlNetData] = None, ) -> tuple[torch.Tensor, Optional[AttentionMapSaver]]: @@ -427,7 +425,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): timesteps, conditioning_data, noise=noise, - run_id=run_id, additional_guidance=additional_guidance, control_data=control_data, callback=callback, @@ -441,13 +438,10 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): conditioning_data: ConditioningData, *, noise: Optional[torch.Tensor], - run_id: str = None, additional_guidance: List[Callable] = None, control_data: List[ControlNetData] = None, ): self._adjust_memory_efficient_attention(latents) - if run_id is None: - run_id = secrets.token_urlsafe(self.ID_LENGTH) if additional_guidance is None: additional_guidance = [] extra_conditioning_info = conditioning_data.extra @@ -468,7 +462,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): latents = self.scheduler.add_noise(latents, noise, batched_t) yield PipelineIntermediateState( - run_id=run_id, step=-1, timestep=self.scheduler.config.num_train_timesteps, latents=latents, @@ -507,7 +500,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): # self.invokeai_diffuser.setup_attention_map_saving(attention_map_saver) yield PipelineIntermediateState( - run_id=run_id, step=i, timestep=int(t), latents=latents, @@ -619,7 +611,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): conditioning_data: ConditioningData, *, callback: Callable[[PipelineIntermediateState], None] = None, - run_id=None, noise_func=None, seed=None, ) -> InvokeAIStableDiffusionPipelineOutput: @@ -645,7 +636,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): conditioning_data, strength, noise, - run_id, callback, ) @@ -678,7 +668,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): conditioning_data: ConditioningData, *, callback: Callable[[PipelineIntermediateState], None] = None, - run_id=None, noise_func=None, seed=None, ) -> InvokeAIStableDiffusionPipelineOutput: @@ -737,7 +726,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): noise=noise, timesteps=timesteps, additional_guidance=guidance, - run_id=run_id, callback=callback, ) finally: From af044007d56a181d0878ea8d07ebb9160236b368 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 7 Aug 2023 15:19:49 -0400 Subject: [PATCH 103/287] pick correct config file for sdxl models --- invokeai/backend/model_management/model_manager.py | 4 +++- invokeai/backend/model_management/models/sdxl.py | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index 0bad714a17..961980ffd0 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -941,7 +941,9 @@ class ModelManager(object): raise DuplicateModelException(f"Model with key {model_key} added twice") model_path = self.relative_model_path(model_path) - model_config: ModelConfigBase = model_class.probe_config(str(model_path)) + model_config: ModelConfigBase = model_class.probe_config( + str(model_path), model_base=cur_base_model + ) self.models[model_key] = model_config new_models_found = True except DuplicateModelException as e: diff --git a/invokeai/backend/model_management/models/sdxl.py b/invokeai/backend/model_management/models/sdxl.py index 7fc3efb77c..1b5d252cb9 100644 --- a/invokeai/backend/model_management/models/sdxl.py +++ b/invokeai/backend/model_management/models/sdxl.py @@ -80,8 +80,10 @@ class StableDiffusionXLModel(DiffusersModel): raise Exception("Unkown stable diffusion 2.* model format") if ckpt_config_path is None: - # TO DO: implement picking - pass + # avoid circular import + from .stable_diffusion import _select_ckpt_config + + ckpt_config_path = _select_ckpt_config(kwargs.get("model_base", BaseModelType.StableDiffusionXL), variant) return cls.create_config( path=path, From 72a3e776b2ce323b1c2b04ba75288a386399e6a7 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 7 Aug 2023 15:38:22 -0400 Subject: [PATCH 104/287] fix logic error introduced in PR 4109 --- invokeai/backend/model_management/model_manager.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index 0bad714a17..ee2e3b8076 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -546,9 +546,10 @@ class ModelManager(object): the combined format of the list_models() method. """ models = self.list_models(base_model, model_type, model_name) - if len(models) > 1: + if len(models) >= 1: return models[0] - return None + else: + return None def list_models( self, From 22f7cf063854d4cf252b31ef15d3544ba325680a Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 7 Aug 2023 16:19:57 -0400 Subject: [PATCH 105/287] add stalker's complicated but effective code for finding token vector length in LoRAs --- .../backend/model_management/model_manager.py | 2 +- .../backend/model_management/model_probe.py | 35 +----- invokeai/backend/model_management/util.py | 118 ++++++++++++++++++ 3 files changed, 125 insertions(+), 30 deletions(-) create mode 100644 invokeai/backend/model_management/util.py diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index 0bad714a17..ea8865ede4 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -472,7 +472,7 @@ class ModelManager(object): if submodel_type is not None and hasattr(model_config, submodel_type): override_path = getattr(model_config, submodel_type) if override_path: - model_path = self.resolve_path(override_path) + model_path = self.resolve_model_path(override_path) model_type = submodel_type submodel_type = None model_class = MODEL_CLASSES[base_model][model_type] diff --git a/invokeai/backend/model_management/model_probe.py b/invokeai/backend/model_management/model_probe.py index 1fcb5334df..4c5d48bf9c 100644 --- a/invokeai/backend/model_management/model_probe.py +++ b/invokeai/backend/model_management/model_probe.py @@ -17,6 +17,7 @@ from .models import ( SilenceWarnings, InvalidModelException, ) +from .util import lora_token_vector_length from .models.base import read_checkpoint_meta @@ -315,38 +316,14 @@ class LoRACheckpointProbe(CheckpointProbeBase): def get_base_type(self) -> BaseModelType: checkpoint = self.checkpoint + token_vector_length = lora_token_vector_length(checkpoint) - # SD-2 models are very hard to probe. These probes are brittle and likely to fail in the future - # There are also some "SD-2 LoRAs" that have identical keys and shapes to SD-1 and will be - # misclassified as SD-1 - key = "lora_te_text_model_encoder_layers_0_mlp_fc1.lora_down.weight" - if key in checkpoint and checkpoint[key].shape[0] == 320: + if token_vector_length == 768: + return BaseModelType.StableDiffusion1 + elif token_vector_length == 1024: return BaseModelType.StableDiffusion2 - - key = "lora_unet_output_blocks_5_1_transformer_blocks_1_ff_net_2.lora_up.weight" - if key in checkpoint: + elif token_vector_length == 2048: # variant w/o the text encoder! return BaseModelType.StableDiffusionXL - - key1 = "lora_te_text_model_encoder_layers_0_mlp_fc1.lora_down.weight" - key2 = "lora_te_text_model_encoder_layers_0_self_attn_k_proj.lora_down.weight" - key3 = "lora_te_text_model_encoder_layers_0_self_attn_k_proj.hada_w1_a" - - lora_token_vector_length = ( - checkpoint[key1].shape[1] - if key1 in checkpoint - else checkpoint[key2].shape[1] - if key2 in checkpoint - else checkpoint[key3].shape[0] - if key3 in checkpoint - else None - ) - - if lora_token_vector_length == 768: - return BaseModelType.StableDiffusion1 - elif lora_token_vector_length == 1024: - return BaseModelType.StableDiffusion2 - elif lora_token_vector_length is None: # variant w/o the text encoder! - return BaseModelType.StableDiffusion1 else: raise InvalidModelException(f"Unknown LoRA type") diff --git a/invokeai/backend/model_management/util.py b/invokeai/backend/model_management/util.py new file mode 100644 index 0000000000..ece9c96d4c --- /dev/null +++ b/invokeai/backend/model_management/util.py @@ -0,0 +1,118 @@ +# Copyright (c) 2023 The InvokeAI Development Team +"""Utilities used by the Model Manager""" + + +def lora_token_vector_length(checkpoint: dict) -> int: + """ + Given a checkpoint in memory, return the lora token vector length + + :param checkpoint: The checkpoint + """ + + def _handle_unet_key(key, tensor, checkpoint): + lora_token_vector_length = None + if "_attn2_to_k." not in key and "_attn2_to_v." not in key: + return lora_token_vector_length + + # check lora/locon + if ".lora_up.weight" in key: + lora_token_vector_length = tensor.shape[0] + elif ".lora_down.weight" in key: + lora_token_vector_length = tensor.shape[1] + + # check loha (don't worry about hada_t1/hada_t2 as it used only in 4d shapes) + elif ".hada_w1_b" in key or ".hada_w2_b" in key: + lora_token_vector_length = tensor.shape[1] + + # check lokr (don't worry about lokr_t2 as it used only in 4d shapes) + elif ".lokr_" in key: + _lokr_key = key.split(".")[0] + + if _lokr_key + ".lokr_w1" in checkpoint: + _lokr_w1 = checkpoint[_lokr_key + ".lokr_w1"] + elif _lokr_key + "lokr_w1_b" in checkpoint: + _lokr_w1 = checkpoint[_lokr_key + ".lokr_w1_b"] + else: + return lora_token_vector_length # unknown format + + if _lokr_key + ".lokr_w2" in checkpoint: + _lokr_w2 = checkpoint[_lokr_key + ".lokr_w2"] + elif _lokr_key + "lokr_w2_b" in checkpoint: + _lokr_w2 = checkpoint[_lokr_key + ".lokr_w2_b"] + else: + return lora_token_vector_length # unknown format + + lora_token_vector_length = _lokr_w1.shape[1] * _lokr_w2.shape[1] + + elif ".diff" in key: + lora_token_vector_length = tensor.shape[1] + + return lora_token_vector_length + + def _handle_te_key(key, tensor, checkpoint): + lora_token_vector_length = None + if "text_model_encoder_layers_" not in key: + return lora_token_vector_length + + # skip detect by mlp + if "_self_attn_" not in key: + return lora_token_vector_length + + # check lora/locon + if ".lora_up.weight" in key: + lora_token_vector_length = tensor.shape[0] + elif ".lora_down.weight" in key: + lora_token_vector_length = tensor.shape[1] + + # check loha (don't worry about hada_t1/hada_t2 as it used only in 4d shapes) + elif ".hada_w1_a" in key or ".hada_w2_a" in key: + lora_token_vector_length = tensor.shape[0] + elif ".hada_w1_b" in key or ".hada_w2_b" in key: + lora_token_vector_length = tensor.shape[1] + + # check lokr (don't worry about lokr_t2 as it used only in 4d shapes) + elif ".lokr_" in key: + _lokr_key = key.split(".")[0] + + if _lokr_key + ".lokr_w1" in checkpoint: + _lokr_w1 = checkpoint[_lokr_key + ".lokr_w1"] + elif _lokr_key + "lokr_w1_b" in checkpoint: + _lokr_w1 = checkpoint[_lokr_key + ".lokr_w1_b"] + else: + return lora_token_vector_length # unknown format + + if _lokr_key + ".lokr_w2" in checkpoint: + _lokr_w2 = checkpoint[_lokr_key + ".lokr_w2"] + elif _lokr_key + "lokr_w2_b" in checkpoint: + _lokr_w2 = checkpoint[_lokr_key + ".lokr_w2_b"] + else: + return lora_token_vector_length # unknown format + + lora_token_vector_length = _lokr_w1.shape[1] * _lokr_w2.shape[1] + + elif ".diff" in key: + lora_token_vector_length = tensor.shape[1] + + return lora_token_vector_length + + lora_token_vector_length = None + lora_te1_length = None + lora_te2_length = None + for key, tensor in checkpoint.items(): + if key.startswith("lora_unet_"): + lora_token_vector_length = _handle_unet_key(key, tensor, checkpoint) + elif key.startswith("lora_te_"): + lora_token_vector_length = _handle_te_key(key, tensor, checkpoint) + + elif key.startswith("lora_te1_"): + lora_te1_length = _handle_te_key(key, tensor, checkpoint) + elif key.startswith("lora_te2_"): + lora_te2_length = _handle_te_key(key, tensor, checkpoint) + + if lora_te1_length is not None and lora_te2_length is not None: + lora_token_vector_length = lora_te1_length + lora_te2_length + + if lora_token_vector_length is not None: + break + + return lora_token_vector_length From a846d82fa1e0de8525088db40f847379d07777f6 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 7 Aug 2023 16:29:46 -0400 Subject: [PATCH 106/287] Add techedi code to avoid rendering prompt/seed with null - Added techjedi github and real names --- invokeai/frontend/install/import_images.py | 39 ++++++++++++---------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/invokeai/frontend/install/import_images.py b/invokeai/frontend/install/import_images.py index befef58744..ea5a9d2d97 100644 --- a/invokeai/frontend/install/import_images.py +++ b/invokeai/frontend/install/import_images.py @@ -1,12 +1,12 @@ # Copyright (c) 2023 - The InvokeAI Team -# Author: techjedi +# Primary Author: David Lovell (github @f412design, discord @techedi) +# co-author, minor tweaks - Lincoln Stein # pylint: disable=line-too-long # pylint: disable=broad-exception-caught """Script to import images into the new database system for 3.0.0""" import os -import platform import datetime import shutil import locale @@ -24,12 +24,19 @@ from pathlib import Path from prompt_toolkit import prompt from prompt_toolkit.shortcuts import message_dialog from prompt_toolkit.completion import PathCompleter +from prompt_toolkit.key_binding import KeyBindings from invokeai.app.services.config import InvokeAIAppConfig app_config = InvokeAIAppConfig.get_config() -path_delimiter = "\\" if platform.uname().system == "Windows" else "/" -print(path_delimiter) + +bindings = KeyBindings() + + +@bindings.add("c-c") +def _(event): + raise KeyboardInterrupt + # release notes # "Use All" with size dimensions not selectable in the UI will not load dimensions @@ -116,11 +123,7 @@ class Config: ) if database_path.endswith(".db") and os.path.isabs(database_path) and os.path.exists(database_path): break - default = ( - database_path + path_delimiter - if Path(database_path).is_dir() and not database_path.endswith(("\\", "/")) - else database_path - ) + default = database_path + "/" if Path(database_path).is_dir() else database_path default = "" while True: @@ -134,11 +137,7 @@ class Config: if outputs_path.endswith("images") and os.path.isabs(outputs_path) and os.path.exists(outputs_path): break - default = ( - outputs_path + path_delimiter - if Path(outputs_path).is_dir() and not database_path.endswith(("\\", "/")) - else outputs_path - ) + default = outputs_path + "/" if Path(outputs_path).is_dir() else outputs_path self.database_path = database_path self.outputs_path = outputs_path @@ -217,11 +216,17 @@ class InvokeAIMetadata: """Convert the active instance to json format.""" prop_dict = {} prop_dict["generation_mode"] = self.generation_mode - prop_dict["positive_prompt"] = self.positive_prompt - prop_dict["negative_prompt"] = self.negative_prompt + # dont render prompt nodes if neither are set to avoid the ui thinking it can set them + # if at least one exists, render them both, but use empty string instead of None if one of them is empty + # this allows the field that is empty to actually be cleared byt he UI instead of leaving the previous value + if self.positive_prompt or self.negative_prompt: + prop_dict["positive_prompt"] = "" if self.positive_prompt is None else self.positive_prompt + prop_dict["negative_prompt"] = "" if self.negative_prompt is None else self.negative_prompt prop_dict["width"] = self.width prop_dict["height"] = self.height - prop_dict["seed"] = self.seed + # only render seed if it has a value to avoid ui thinking it can set this and then error + if self.seed: + prop_dict["seed"] = self.seed prop_dict["rand_device"] = self.rand_device prop_dict["cfg_scale"] = self.cfg_scale prop_dict["steps"] = self.steps From f0918edf98b29066280f8192a53f61874fb4fd0b Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 7 Aug 2023 16:38:58 -0400 Subject: [PATCH 107/287] improve error reporting on unrecognized lora models --- invokeai/backend/model_management/model_probe.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/invokeai/backend/model_management/model_probe.py b/invokeai/backend/model_management/model_probe.py index 4c5d48bf9c..145c56c273 100644 --- a/invokeai/backend/model_management/model_probe.py +++ b/invokeai/backend/model_management/model_probe.py @@ -322,10 +322,10 @@ class LoRACheckpointProbe(CheckpointProbeBase): return BaseModelType.StableDiffusion1 elif token_vector_length == 1024: return BaseModelType.StableDiffusion2 - elif token_vector_length == 2048: # variant w/o the text encoder! + elif token_vector_length == 2048: return BaseModelType.StableDiffusionXL else: - raise InvalidModelException(f"Unknown LoRA type") + raise InvalidModelException(f"Unknown LoRA type: {self.checkpoint_path}") class TextualInversionCheckpointProbe(CheckpointProbeBase): From 809705c30d2e1ef99a66b377aa1462b7791c650e Mon Sep 17 00:00:00 2001 From: Kevin Turner <83819+keturn@users.noreply.github.com> Date: Mon, 7 Aug 2023 15:11:47 -0700 Subject: [PATCH 108/287] api(images): allow HEAD request on image/full --- invokeai/app/api/routers/images.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/invokeai/app/api/routers/images.py b/invokeai/app/api/routers/images.py index aff409e9e5..21fd09e051 100644 --- a/invokeai/app/api/routers/images.py +++ b/invokeai/app/api/routers/images.py @@ -1,22 +1,20 @@ import io from typing import Optional +from PIL import Image from fastapi import Body, HTTPException, Path, Query, Request, Response, UploadFile from fastapi.responses import FileResponse from fastapi.routing import APIRouter -from PIL import Image -from pydantic import BaseModel, Field +from pydantic import BaseModel from invokeai.app.invocations.metadata import ImageMetadata from invokeai.app.models.image import ImageCategory, ResourceOrigin from invokeai.app.services.image_record_storage import OffsetPaginatedResults -from invokeai.app.services.item_storage import PaginatedResults from invokeai.app.services.models.image_record import ( ImageDTO, ImageRecordChanges, ImageUrlsDTO, ) - from ..dependencies import ApiDependencies images_router = APIRouter(prefix="/v1/images", tags=["images"]) @@ -152,8 +150,9 @@ async def get_image_metadata( raise HTTPException(status_code=404) -@images_router.get( +@images_router.api_route( "/i/{image_name}/full", + methods=["GET", "HEAD"], operation_id="get_image_full", response_class=Response, responses={ From 492bfe002a092e7ec3a5c892ddbb5e84213cdf81 Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Tue, 8 Aug 2023 03:38:42 +0300 Subject: [PATCH 109/287] Remove sdxl t2l/l2l nodes --- invokeai/app/invocations/sdxl.py | 536 +------------------------------ 1 file changed, 3 insertions(+), 533 deletions(-) diff --git a/invokeai/app/invocations/sdxl.py b/invokeai/app/invocations/sdxl.py index 5bcd85db28..a5a1c2c641 100644 --- a/invokeai/app/invocations/sdxl.py +++ b/invokeai/app/invocations/sdxl.py @@ -1,17 +1,10 @@ import torch -import inspect -from tqdm import tqdm -from typing import List, Literal, Optional, Union +from typing import Literal +from pydantic import Field -from pydantic import Field, validator - -from ...backend.model_management import ModelType, SubModelType, ModelPatcher -from invokeai.app.util.step_callback import stable_diffusion_xl_step_callback +from ...backend.model_management import ModelType, SubModelType from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext - from .model import UNetField, ClipField, VaeField, MainModelField, ModelInfo -from .compel import ConditioningField -from .latent import LatentsField, SAMPLER_NAME_VALUES, LatentsOutput, get_scheduler, build_latents_output class SDXLModelLoaderOutput(BaseInvocationOutput): @@ -201,526 +194,3 @@ class SDXLRefinerModelLoaderInvocation(BaseInvocation): ), ), ) - - -# Text to image -class SDXLTextToLatentsInvocation(BaseInvocation): - """Generates latents from conditionings.""" - - type: Literal["t2l_sdxl"] = "t2l_sdxl" - - # Inputs - # fmt: off - positive_conditioning: Optional[ConditioningField] = Field(description="Positive conditioning for generation") - negative_conditioning: Optional[ConditioningField] = Field(description="Negative conditioning for generation") - noise: Optional[LatentsField] = Field(description="The noise to use") - steps: int = Field(default=10, gt=0, description="The number of steps to use to generate the image") - cfg_scale: Union[float, List[float]] = Field(default=7.5, ge=1, description="The Classifier-Free Guidance, higher values may result in a result closer to the prompt", ) - scheduler: SAMPLER_NAME_VALUES = Field(default="euler", description="The scheduler to use" ) - unet: UNetField = Field(default=None, description="UNet submodel") - denoising_end: float = Field(default=1.0, gt=0, le=1, description="") - # control: Union[ControlField, list[ControlField]] = Field(default=None, description="The control to use") - # seamless: bool = Field(default=False, description="Whether or not to generate an image that can tile without seams", ) - # seamless_axes: str = Field(default="", description="The axes to tile the image on, 'x' and/or 'y'") - # fmt: on - - @validator("cfg_scale") - def ge_one(cls, v): - """validate that all cfg_scale values are >= 1""" - if isinstance(v, list): - for i in v: - if i < 1: - raise ValueError("cfg_scale must be greater than 1") - else: - if v < 1: - raise ValueError("cfg_scale must be greater than 1") - return v - - # Schema customisation - class Config(InvocationConfig): - schema_extra = { - "ui": { - "title": "SDXL Text To Latents", - "tags": ["latents"], - "type_hints": { - "model": "model", - # "cfg_scale": "float", - "cfg_scale": "number", - }, - }, - } - - def dispatch_progress( - self, - context: InvocationContext, - source_node_id: str, - sample, - step, - total_steps, - ) -> None: - stable_diffusion_xl_step_callback( - context=context, - node=self.dict(), - source_node_id=source_node_id, - sample=sample, - step=step, - total_steps=total_steps, - ) - - # based on - # https://github.com/huggingface/diffusers/blob/3ebbaf7c96801271f9e6c21400033b6aa5ffcf29/src/diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion.py#L375 - @torch.no_grad() - def invoke(self, context: InvocationContext) -> LatentsOutput: - graph_execution_state = context.services.graph_execution_manager.get(context.graph_execution_state_id) - source_node_id = graph_execution_state.prepared_source_mapping[self.id] - latents = context.services.latents.get(self.noise.latents_name) - - positive_cond_data = context.services.latents.get(self.positive_conditioning.conditioning_name) - prompt_embeds = positive_cond_data.conditionings[0].embeds - pooled_prompt_embeds = positive_cond_data.conditionings[0].pooled_embeds - add_time_ids = positive_cond_data.conditionings[0].add_time_ids - - negative_cond_data = context.services.latents.get(self.negative_conditioning.conditioning_name) - negative_prompt_embeds = negative_cond_data.conditionings[0].embeds - negative_pooled_prompt_embeds = negative_cond_data.conditionings[0].pooled_embeds - add_neg_time_ids = negative_cond_data.conditionings[0].add_time_ids - - scheduler = get_scheduler( - context=context, - scheduler_info=self.unet.scheduler, - scheduler_name=self.scheduler, - ) - - num_inference_steps = self.steps - - def _lora_loader(): - for lora in self.unet.loras: - lora_info = context.services.model_manager.get_model( - **lora.dict(exclude={"weight"}), - context=context, - ) - yield (lora_info.context.model, lora.weight) - del lora_info - return - - unet_info = context.services.model_manager.get_model(**self.unet.unet.dict(), context=context) - do_classifier_free_guidance = True - cross_attention_kwargs = None - with ModelPatcher.apply_lora_unet(unet_info.context.model, _lora_loader()), unet_info as unet: - scheduler.set_timesteps(num_inference_steps, device=unet.device) - timesteps = scheduler.timesteps - - latents = latents.to(device=unet.device, dtype=unet.dtype) * scheduler.init_noise_sigma - - extra_step_kwargs = dict() - if "eta" in set(inspect.signature(scheduler.step).parameters.keys()): - extra_step_kwargs.update( - eta=0.0, - ) - if "generator" in set(inspect.signature(scheduler.step).parameters.keys()): - extra_step_kwargs.update( - generator=torch.Generator(device=unet.device).manual_seed(0), - ) - - num_warmup_steps = len(timesteps) - self.steps * scheduler.order - - # apply denoising_end - skipped_final_steps = int(round((1 - self.denoising_end) * self.steps)) - num_inference_steps = num_inference_steps - skipped_final_steps - timesteps = timesteps[: num_warmup_steps + scheduler.order * num_inference_steps] - - if not context.services.configuration.sequential_guidance: - prompt_embeds = torch.cat([negative_prompt_embeds, prompt_embeds], dim=0) - add_text_embeds = torch.cat([negative_pooled_prompt_embeds, pooled_prompt_embeds], dim=0) - add_time_ids = torch.cat([add_neg_time_ids, add_time_ids], dim=0) - - prompt_embeds = prompt_embeds.to(device=unet.device, dtype=unet.dtype) - add_text_embeds = add_text_embeds.to(device=unet.device, dtype=unet.dtype) - add_time_ids = add_time_ids.to(device=unet.device, dtype=unet.dtype) - latents = latents.to(device=unet.device, dtype=unet.dtype) - - with tqdm(total=num_inference_steps) as progress_bar: - for i, t in enumerate(timesteps): - # expand the latents if we are doing classifier free guidance - latent_model_input = torch.cat([latents] * 2) if do_classifier_free_guidance else latents - - latent_model_input = scheduler.scale_model_input(latent_model_input, t) - - # predict the noise residual - added_cond_kwargs = {"text_embeds": add_text_embeds, "time_ids": add_time_ids} - noise_pred = unet( - latent_model_input, - t, - encoder_hidden_states=prompt_embeds, - cross_attention_kwargs=cross_attention_kwargs, - added_cond_kwargs=added_cond_kwargs, - return_dict=False, - )[0] - - # perform guidance - if do_classifier_free_guidance: - noise_pred_uncond, noise_pred_text = noise_pred.chunk(2) - noise_pred = noise_pred_uncond + self.cfg_scale * (noise_pred_text - noise_pred_uncond) - # del noise_pred_uncond - # del noise_pred_text - - # if do_classifier_free_guidance and guidance_rescale > 0.0: - # # Based on 3.4. in https://arxiv.org/pdf/2305.08891.pdf - # noise_pred = rescale_noise_cfg(noise_pred, noise_pred_text, guidance_rescale=guidance_rescale) - - # compute the previous noisy sample x_t -> x_t-1 - latents = scheduler.step(noise_pred, t, latents, **extra_step_kwargs, return_dict=False)[0] - - # call the callback, if provided - if i == len(timesteps) - 1 or ((i + 1) > num_warmup_steps and (i + 1) % scheduler.order == 0): - progress_bar.update() - self.dispatch_progress(context, source_node_id, latents, i, num_inference_steps) - # if callback is not None and i % callback_steps == 0: - # callback(i, t, latents) - else: - negative_pooled_prompt_embeds = negative_pooled_prompt_embeds.to(device=unet.device, dtype=unet.dtype) - negative_prompt_embeds = negative_prompt_embeds.to(device=unet.device, dtype=unet.dtype) - add_neg_time_ids = add_neg_time_ids.to(device=unet.device, dtype=unet.dtype) - pooled_prompt_embeds = pooled_prompt_embeds.to(device=unet.device, dtype=unet.dtype) - prompt_embeds = prompt_embeds.to(device=unet.device, dtype=unet.dtype) - add_time_ids = add_time_ids.to(device=unet.device, dtype=unet.dtype) - latents = latents.to(device=unet.device, dtype=unet.dtype) - - with tqdm(total=num_inference_steps) as progress_bar: - for i, t in enumerate(timesteps): - # expand the latents if we are doing classifier free guidance - # latent_model_input = torch.cat([latents] * 2) if do_classifier_free_guidance else latents - - latent_model_input = scheduler.scale_model_input(latents, t) - - # import gc - # gc.collect() - # torch.cuda.empty_cache() - - # predict the noise residual - - added_cond_kwargs = {"text_embeds": negative_pooled_prompt_embeds, "time_ids": add_neg_time_ids} - noise_pred_uncond = unet( - latent_model_input, - t, - encoder_hidden_states=negative_prompt_embeds, - cross_attention_kwargs=cross_attention_kwargs, - added_cond_kwargs=added_cond_kwargs, - return_dict=False, - )[0] - - added_cond_kwargs = {"text_embeds": pooled_prompt_embeds, "time_ids": add_time_ids} - noise_pred_text = unet( - latent_model_input, - t, - encoder_hidden_states=prompt_embeds, - cross_attention_kwargs=cross_attention_kwargs, - added_cond_kwargs=added_cond_kwargs, - return_dict=False, - )[0] - - # perform guidance - noise_pred = noise_pred_uncond + self.cfg_scale * (noise_pred_text - noise_pred_uncond) - - # del noise_pred_text - # del noise_pred_uncond - # import gc - # gc.collect() - # torch.cuda.empty_cache() - - # if do_classifier_free_guidance and guidance_rescale > 0.0: - # # Based on 3.4. in https://arxiv.org/pdf/2305.08891.pdf - # noise_pred = rescale_noise_cfg(noise_pred, noise_pred_text, guidance_rescale=guidance_rescale) - - # compute the previous noisy sample x_t -> x_t-1 - latents = scheduler.step(noise_pred, t, latents, **extra_step_kwargs, return_dict=False)[0] - - # del noise_pred - # import gc - # gc.collect() - # torch.cuda.empty_cache() - - # call the callback, if provided - if i == len(timesteps) - 1 or ((i + 1) > num_warmup_steps and (i + 1) % scheduler.order == 0): - progress_bar.update() - self.dispatch_progress(context, source_node_id, latents, i, num_inference_steps) - # if callback is not None and i % callback_steps == 0: - # callback(i, t, latents) - - ################# - - latents = latents.to("cpu") - torch.cuda.empty_cache() - - name = f"{context.graph_execution_state_id}__{self.id}" - context.services.latents.save(name, latents) - return build_latents_output(latents_name=name, latents=latents) - - -class SDXLLatentsToLatentsInvocation(BaseInvocation): - """Generates latents from conditionings.""" - - type: Literal["l2l_sdxl"] = "l2l_sdxl" - - # Inputs - # fmt: off - positive_conditioning: Optional[ConditioningField] = Field(description="Positive conditioning for generation") - negative_conditioning: Optional[ConditioningField] = Field(description="Negative conditioning for generation") - noise: Optional[LatentsField] = Field(description="The noise to use") - steps: int = Field(default=10, gt=0, description="The number of steps to use to generate the image") - cfg_scale: Union[float, List[float]] = Field(default=7.5, ge=1, description="The Classifier-Free Guidance, higher values may result in a result closer to the prompt", ) - scheduler: SAMPLER_NAME_VALUES = Field(default="euler", description="The scheduler to use" ) - unet: UNetField = Field(default=None, description="UNet submodel") - latents: Optional[LatentsField] = Field(description="Initial latents") - - denoising_start: float = Field(default=0.0, ge=0, le=1, description="") - denoising_end: float = Field(default=1.0, ge=0, le=1, description="") - - # control: Union[ControlField, list[ControlField]] = Field(default=None, description="The control to use") - # seamless: bool = Field(default=False, description="Whether or not to generate an image that can tile without seams", ) - # seamless_axes: str = Field(default="", description="The axes to tile the image on, 'x' and/or 'y'") - # fmt: on - - @validator("cfg_scale") - def ge_one(cls, v): - """validate that all cfg_scale values are >= 1""" - if isinstance(v, list): - for i in v: - if i < 1: - raise ValueError("cfg_scale must be greater than 1") - else: - if v < 1: - raise ValueError("cfg_scale must be greater than 1") - return v - - # Schema customisation - class Config(InvocationConfig): - schema_extra = { - "ui": { - "title": "SDXL Latents to Latents", - "tags": ["latents"], - "type_hints": { - "model": "model", - # "cfg_scale": "float", - "cfg_scale": "number", - }, - }, - } - - def dispatch_progress( - self, - context: InvocationContext, - source_node_id: str, - sample, - step, - total_steps, - ) -> None: - stable_diffusion_xl_step_callback( - context=context, - node=self.dict(), - source_node_id=source_node_id, - sample=sample, - step=step, - total_steps=total_steps, - ) - - # based on - # https://github.com/huggingface/diffusers/blob/3ebbaf7c96801271f9e6c21400033b6aa5ffcf29/src/diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion.py#L375 - @torch.no_grad() - def invoke(self, context: InvocationContext) -> LatentsOutput: - graph_execution_state = context.services.graph_execution_manager.get(context.graph_execution_state_id) - source_node_id = graph_execution_state.prepared_source_mapping[self.id] - latents = context.services.latents.get(self.latents.latents_name) - - positive_cond_data = context.services.latents.get(self.positive_conditioning.conditioning_name) - prompt_embeds = positive_cond_data.conditionings[0].embeds - pooled_prompt_embeds = positive_cond_data.conditionings[0].pooled_embeds - add_time_ids = positive_cond_data.conditionings[0].add_time_ids - - negative_cond_data = context.services.latents.get(self.negative_conditioning.conditioning_name) - negative_prompt_embeds = negative_cond_data.conditionings[0].embeds - negative_pooled_prompt_embeds = negative_cond_data.conditionings[0].pooled_embeds - add_neg_time_ids = negative_cond_data.conditionings[0].add_time_ids - - scheduler = get_scheduler( - context=context, - scheduler_info=self.unet.scheduler, - scheduler_name=self.scheduler, - ) - - unet_info = context.services.model_manager.get_model( - **self.unet.unet.dict(), - context=context, - ) - - def _lora_loader(): - for lora in self.unet.loras: - lora_info = context.services.model_manager.get_model( - **lora.dict(exclude={"weight"}), - context=context, - ) - yield (lora_info.context.model, lora.weight) - del lora_info - return - - do_classifier_free_guidance = True - cross_attention_kwargs = None - with ModelPatcher.apply_lora_unet(unet_info.context.model, _lora_loader()), unet_info as unet: - # apply denoising_start - num_inference_steps = self.steps - scheduler.set_timesteps(num_inference_steps, device=unet.device) - - t_start = int(round(self.denoising_start * num_inference_steps)) - timesteps = scheduler.timesteps[t_start * scheduler.order :] - num_inference_steps = num_inference_steps - t_start - - # apply noise(if provided) - if self.noise is not None and timesteps.shape[0] > 0: - noise = context.services.latents.get(self.noise.latents_name) - latents = scheduler.add_noise(latents, noise, timesteps[:1]) - del noise - - # apply scheduler extra args - extra_step_kwargs = dict() - if "eta" in set(inspect.signature(scheduler.step).parameters.keys()): - extra_step_kwargs.update( - eta=0.0, - ) - if "generator" in set(inspect.signature(scheduler.step).parameters.keys()): - extra_step_kwargs.update( - generator=torch.Generator(device=unet.device).manual_seed(0), - ) - - num_warmup_steps = max(len(timesteps) - num_inference_steps * scheduler.order, 0) - - # apply denoising_end - skipped_final_steps = int(round((1 - self.denoising_end) * self.steps)) - num_inference_steps = num_inference_steps - skipped_final_steps - timesteps = timesteps[: num_warmup_steps + scheduler.order * num_inference_steps] - - if not context.services.configuration.sequential_guidance: - prompt_embeds = torch.cat([negative_prompt_embeds, prompt_embeds], dim=0) - add_text_embeds = torch.cat([negative_pooled_prompt_embeds, pooled_prompt_embeds], dim=0) - add_time_ids = torch.cat([add_neg_time_ids, add_time_ids], dim=0) - - prompt_embeds = prompt_embeds.to(device=unet.device, dtype=unet.dtype) - add_text_embeds = add_text_embeds.to(device=unet.device, dtype=unet.dtype) - add_time_ids = add_time_ids.to(device=unet.device, dtype=unet.dtype) - latents = latents.to(device=unet.device, dtype=unet.dtype) - - with tqdm(total=num_inference_steps) as progress_bar: - for i, t in enumerate(timesteps): - # expand the latents if we are doing classifier free guidance - latent_model_input = torch.cat([latents] * 2) if do_classifier_free_guidance else latents - - latent_model_input = scheduler.scale_model_input(latent_model_input, t) - - # predict the noise residual - added_cond_kwargs = {"text_embeds": add_text_embeds, "time_ids": add_time_ids} - noise_pred = unet( - latent_model_input, - t, - encoder_hidden_states=prompt_embeds, - cross_attention_kwargs=cross_attention_kwargs, - added_cond_kwargs=added_cond_kwargs, - return_dict=False, - )[0] - - # perform guidance - if do_classifier_free_guidance: - noise_pred_uncond, noise_pred_text = noise_pred.chunk(2) - noise_pred = noise_pred_uncond + self.cfg_scale * (noise_pred_text - noise_pred_uncond) - # del noise_pred_uncond - # del noise_pred_text - - # if do_classifier_free_guidance and guidance_rescale > 0.0: - # # Based on 3.4. in https://arxiv.org/pdf/2305.08891.pdf - # noise_pred = rescale_noise_cfg(noise_pred, noise_pred_text, guidance_rescale=guidance_rescale) - - # compute the previous noisy sample x_t -> x_t-1 - latents = scheduler.step(noise_pred, t, latents, **extra_step_kwargs, return_dict=False)[0] - - # call the callback, if provided - if i == len(timesteps) - 1 or ((i + 1) > num_warmup_steps and (i + 1) % scheduler.order == 0): - progress_bar.update() - self.dispatch_progress(context, source_node_id, latents, i, num_inference_steps) - # if callback is not None and i % callback_steps == 0: - # callback(i, t, latents) - else: - negative_pooled_prompt_embeds = negative_pooled_prompt_embeds.to(device=unet.device, dtype=unet.dtype) - negative_prompt_embeds = negative_prompt_embeds.to(device=unet.device, dtype=unet.dtype) - add_neg_time_ids = add_neg_time_ids.to(device=unet.device, dtype=unet.dtype) - pooled_prompt_embeds = pooled_prompt_embeds.to(device=unet.device, dtype=unet.dtype) - prompt_embeds = prompt_embeds.to(device=unet.device, dtype=unet.dtype) - add_time_ids = add_time_ids.to(device=unet.device, dtype=unet.dtype) - latents = latents.to(device=unet.device, dtype=unet.dtype) - - with tqdm(total=num_inference_steps) as progress_bar: - for i, t in enumerate(timesteps): - # expand the latents if we are doing classifier free guidance - # latent_model_input = torch.cat([latents] * 2) if do_classifier_free_guidance else latents - - latent_model_input = scheduler.scale_model_input(latents, t) - - # import gc - # gc.collect() - # torch.cuda.empty_cache() - - # predict the noise residual - - added_cond_kwargs = {"text_embeds": negative_pooled_prompt_embeds, "time_ids": add_time_ids} - noise_pred_uncond = unet( - latent_model_input, - t, - encoder_hidden_states=negative_prompt_embeds, - cross_attention_kwargs=cross_attention_kwargs, - added_cond_kwargs=added_cond_kwargs, - return_dict=False, - )[0] - - added_cond_kwargs = {"text_embeds": pooled_prompt_embeds, "time_ids": add_time_ids} - noise_pred_text = unet( - latent_model_input, - t, - encoder_hidden_states=prompt_embeds, - cross_attention_kwargs=cross_attention_kwargs, - added_cond_kwargs=added_cond_kwargs, - return_dict=False, - )[0] - - # perform guidance - noise_pred = noise_pred_uncond + self.cfg_scale * (noise_pred_text - noise_pred_uncond) - - # del noise_pred_text - # del noise_pred_uncond - # import gc - # gc.collect() - # torch.cuda.empty_cache() - - # if do_classifier_free_guidance and guidance_rescale > 0.0: - # # Based on 3.4. in https://arxiv.org/pdf/2305.08891.pdf - # noise_pred = rescale_noise_cfg(noise_pred, noise_pred_text, guidance_rescale=guidance_rescale) - - # compute the previous noisy sample x_t -> x_t-1 - latents = scheduler.step(noise_pred, t, latents, **extra_step_kwargs, return_dict=False)[0] - - # del noise_pred - # import gc - # gc.collect() - # torch.cuda.empty_cache() - - # call the callback, if provided - if i == len(timesteps) - 1 or ((i + 1) > num_warmup_steps and (i + 1) % scheduler.order == 0): - progress_bar.update() - self.dispatch_progress(context, source_node_id, latents, i, num_inference_steps) - # if callback is not None and i % callback_steps == 0: - # callback(i, t, latents) - - ################# - - latents = latents.to("cpu") - torch.cuda.empty_cache() - - name = f"{context.graph_execution_state_id}__{self.id}" - context.services.latents.save(name, latents) - return build_latents_output(latents_name=name, latents=latents) From 5f29526a8e7bfa99ad45f6c3845cff08e47f4fa0 Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Tue, 8 Aug 2023 04:00:33 +0300 Subject: [PATCH 110/287] Add seed to latents field --- invokeai/app/invocations/latent.py | 29 ++++++++++++++++++----------- invokeai/app/invocations/noise.py | 6 +++--- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index 25e411074a..1fbcb2941a 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -49,6 +49,7 @@ class LatentsField(BaseModel): """A latents field used for passing latents between invocations""" latents_name: Optional[str] = Field(default=None, description="The name of the latents") + seed: Optional[int] = Field(description="Seed used to generate this latents") class Config: schema_extra = {"required": ["latents_name"]} @@ -67,9 +68,9 @@ class LatentsOutput(BaseInvocationOutput): # fmt: on -def build_latents_output(latents_name: str, latents: torch.Tensor): +def build_latents_output(latents_name: str, latents: torch.Tensor, seed: Optional[int]): return LatentsOutput( - latents=LatentsField(latents_name=latents_name), + latents=LatentsField(latents_name=latents_name, seed=seed), width=latents.size()[3] * 8, height=latents.size()[2] * 8, ) @@ -175,6 +176,7 @@ class TextToLatentsInvocation(BaseInvocation): context: InvocationContext, scheduler, unet, + seed, ) -> ConditioningData: positive_cond_data = context.services.latents.get(self.positive_conditioning.conditioning_name) c = positive_cond_data.conditionings[0].to(device=unet.device, dtype=unet.dtype) @@ -201,7 +203,7 @@ class TextToLatentsInvocation(BaseInvocation): # for ddim scheduler eta=0.0, # ddim_eta # for ancestral and sde schedulers - generator=torch.Generator(device=unet.device).manual_seed(0), + generator=torch.Generator(device=unet.device).manual_seed(seed), ) return conditioning_data @@ -336,6 +338,7 @@ class TextToLatentsInvocation(BaseInvocation): def invoke(self, context: InvocationContext) -> LatentsOutput: with SilenceWarnings(): noise = context.services.latents.get(self.noise.latents_name) + seed = self.noise.seed or 0 # Get the source node id (we are invoking the prepared node) graph_execution_state = context.services.graph_execution_manager.get(context.graph_execution_state_id) @@ -370,7 +373,7 @@ class TextToLatentsInvocation(BaseInvocation): ) pipeline = self.create_pipeline(unet, scheduler) - conditioning_data = self.get_conditioning_data(context, scheduler, unet) + conditioning_data = self.get_conditioning_data(context, scheduler, unet, seed) control_data = self.prep_control_data( model=pipeline, @@ -407,7 +410,7 @@ class TextToLatentsInvocation(BaseInvocation): name = f"{context.graph_execution_state_id}__{self.id}" context.services.latents.save(name, result_latents) - return build_latents_output(latents_name=name, latents=result_latents) + return build_latents_output(latents_name=name, latents=result_latents, seed=seed) class LatentsToLatentsInvocation(TextToLatentsInvocation): @@ -440,10 +443,14 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): @torch.no_grad() def invoke(self, context: InvocationContext) -> LatentsOutput: with SilenceWarnings(): # this quenches NSFW nag from diffusers + latent = context.services.latents.get(self.latents.latents_name) + seed = self.latents.seed or 0 + noise = None if self.noise is not None: noise = context.services.latents.get(self.noise.latents_name) - latent = context.services.latents.get(self.latents.latents_name) + if self.noise.seed is not None: + seed = self.noise.seed # Get the source node id (we are invoking the prepared node) graph_execution_state = context.services.graph_execution_manager.get(context.graph_execution_state_id) @@ -480,7 +487,7 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): ) pipeline = self.create_pipeline(unet, scheduler) - conditioning_data = self.get_conditioning_data(context, scheduler, unet) + conditioning_data = self.get_conditioning_data(context, scheduler, unet, seed) control_data = self.prep_control_data( model=pipeline, @@ -521,7 +528,7 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): name = f"{context.graph_execution_state_id}__{self.id}" context.services.latents.save(name, result_latents) - return build_latents_output(latents_name=name, latents=result_latents) + return build_latents_output(latents_name=name, latents=result_latents, seed=seed) # Latent to image @@ -663,7 +670,7 @@ class ResizeLatentsInvocation(BaseInvocation): name = f"{context.graph_execution_state_id}__{self.id}" # context.services.latents.set(name, resized_latents) context.services.latents.save(name, resized_latents) - return build_latents_output(latents_name=name, latents=resized_latents) + return build_latents_output(latents_name=name, latents=resized_latents, seed=self.latents.seed) class ScaleLatentsInvocation(BaseInvocation): @@ -705,7 +712,7 @@ class ScaleLatentsInvocation(BaseInvocation): name = f"{context.graph_execution_state_id}__{self.id}" # context.services.latents.set(name, resized_latents) context.services.latents.save(name, resized_latents) - return build_latents_output(latents_name=name, latents=resized_latents) + return build_latents_output(latents_name=name, latents=resized_latents, seed=self.latents.seed) class ImageToLatentsInvocation(BaseInvocation): @@ -786,4 +793,4 @@ class ImageToLatentsInvocation(BaseInvocation): name = f"{context.graph_execution_state_id}__{self.id}" latents = latents.to("cpu") context.services.latents.save(name, latents) - return build_latents_output(latents_name=name, latents=latents) + return build_latents_output(latents_name=name, latents=latents, seed=None) diff --git a/invokeai/app/invocations/noise.py b/invokeai/app/invocations/noise.py index fff0f29f14..db64e5b6e5 100644 --- a/invokeai/app/invocations/noise.py +++ b/invokeai/app/invocations/noise.py @@ -71,9 +71,9 @@ class NoiseOutput(BaseInvocationOutput): # fmt: on -def build_noise_output(latents_name: str, latents: torch.Tensor): +def build_noise_output(latents_name: str, latents: torch.Tensor, seed: int): return NoiseOutput( - noise=LatentsField(latents_name=latents_name), + noise=LatentsField(latents_name=latents_name, seed=seed), width=latents.size()[3] * 8, height=latents.size()[2] * 8, ) @@ -132,4 +132,4 @@ class NoiseInvocation(BaseInvocation): ) name = f"{context.graph_execution_state_id}__{self.id}" context.services.latents.save(name, noise) - return build_noise_output(latents_name=name, latents=noise) + return build_noise_output(latents_name=name, latents=noise, seed=self.seed) From eb70bc2ae4c12f128148147e02b6aefd45874bff Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 7 Aug 2023 21:00:47 -0400 Subject: [PATCH 111/287] add scripts to create model templates and check whether they match --- scripts/create_checkpoint_template.py | 48 +++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100755 scripts/create_checkpoint_template.py diff --git a/scripts/create_checkpoint_template.py b/scripts/create_checkpoint_template.py new file mode 100755 index 0000000000..5b8fca8b58 --- /dev/null +++ b/scripts/create_checkpoint_template.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python +""" +Read a checkpoint/safetensors file and write out a template .json file containing +its metadata for use in fast model probing. +""" + +import sys +import argparse +import json + +from pathlib import Path + +from invokeai.backend.model_management.models.base import read_checkpoint_meta + +parser = argparse.ArgumentParser(description="Create a .json template from checkpoint/safetensors model") +parser.add_argument( + "--checkpoint", + "--in", + type=Path, + help="Path to the input checkpoint/safetensors file" +) +parser.add_argument( + "--template", + "--out", + type=Path, + help="Path to the output .json file" +) + +opt = parser.parse_args() +ckpt = read_checkpoint_meta(opt.checkpoint) +while "state_dict" in ckpt: + ckpt = ckpt["state_dict"] + +tmpl = {} + +for key, tensor in ckpt.items(): + tmpl[key] = list(tensor.shape) + +try: + with open(opt.template,'w') as f: + json.dump(tmpl, f) + print(f"Template written out as {opt.template}") +except Exception as e: + print(f"An exception occurred while writing template: {str(e)}") + + + + From 4df581811ea77ac6081ebe55fc4b59fd494a140c Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 7 Aug 2023 21:01:48 -0400 Subject: [PATCH 112/287] add template verification script --- scripts/verify_checkpoint_template.py | 51 +++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100755 scripts/verify_checkpoint_template.py diff --git a/scripts/verify_checkpoint_template.py b/scripts/verify_checkpoint_template.py new file mode 100755 index 0000000000..42c7acca3a --- /dev/null +++ b/scripts/verify_checkpoint_template.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python +""" +Read a checkpoint/safetensors file and compare it to a template .json. +Returns True if their metadata match. +""" + +import sys +import argparse +import json + +from pathlib import Path + +from invokeai.backend.model_management.models.base import read_checkpoint_meta + +parser = argparse.ArgumentParser(description="Create a .json template from checkpoint/safetensors model") +parser.add_argument( + "--checkpoint", + "--in", + type=Path, + help="Path to the input checkpoint/safetensors file" +) +parser.add_argument( + "--template", + "--out", + type=Path, + help="Path to the template .json file to match against" +) + +opt = parser.parse_args() +ckpt = read_checkpoint_meta(opt.checkpoint) +while "state_dict" in ckpt: + ckpt = ckpt["state_dict"] + +checkpoint_metadata = {} + +for key, tensor in ckpt.items(): + checkpoint_metadata[key] = list(tensor.shape) + +with open(opt.template,'r') as f: + template = json.load(f) + +if checkpoint_metadata == template: + print('True') + sys.exit(0) +else: + print('False') + sys.exit(-1) + + + + From 750f09fbed98a4a8bd663f5be0cdc836d77b787d Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 7 Aug 2023 21:01:59 -0400 Subject: [PATCH 113/287] blackify --- scripts/create_checkpoint_template.py | 20 +++----------------- scripts/verify_checkpoint_template.py | 24 +++++------------------- 2 files changed, 8 insertions(+), 36 deletions(-) diff --git a/scripts/create_checkpoint_template.py b/scripts/create_checkpoint_template.py index 5b8fca8b58..7ff201c841 100755 --- a/scripts/create_checkpoint_template.py +++ b/scripts/create_checkpoint_template.py @@ -13,18 +13,8 @@ from pathlib import Path from invokeai.backend.model_management.models.base import read_checkpoint_meta parser = argparse.ArgumentParser(description="Create a .json template from checkpoint/safetensors model") -parser.add_argument( - "--checkpoint", - "--in", - type=Path, - help="Path to the input checkpoint/safetensors file" -) -parser.add_argument( - "--template", - "--out", - type=Path, - help="Path to the output .json file" -) +parser.add_argument("--checkpoint", "--in", type=Path, help="Path to the input checkpoint/safetensors file") +parser.add_argument("--template", "--out", type=Path, help="Path to the output .json file") opt = parser.parse_args() ckpt = read_checkpoint_meta(opt.checkpoint) @@ -37,12 +27,8 @@ for key, tensor in ckpt.items(): tmpl[key] = list(tensor.shape) try: - with open(opt.template,'w') as f: + with open(opt.template, "w") as f: json.dump(tmpl, f) print(f"Template written out as {opt.template}") except Exception as e: print(f"An exception occurred while writing template: {str(e)}") - - - - diff --git a/scripts/verify_checkpoint_template.py b/scripts/verify_checkpoint_template.py index 42c7acca3a..68ed72037e 100755 --- a/scripts/verify_checkpoint_template.py +++ b/scripts/verify_checkpoint_template.py @@ -13,18 +13,8 @@ from pathlib import Path from invokeai.backend.model_management.models.base import read_checkpoint_meta parser = argparse.ArgumentParser(description="Create a .json template from checkpoint/safetensors model") -parser.add_argument( - "--checkpoint", - "--in", - type=Path, - help="Path to the input checkpoint/safetensors file" -) -parser.add_argument( - "--template", - "--out", - type=Path, - help="Path to the template .json file to match against" -) +parser.add_argument("--checkpoint", "--in", type=Path, help="Path to the input checkpoint/safetensors file") +parser.add_argument("--template", "--out", type=Path, help="Path to the template .json file to match against") opt = parser.parse_args() ckpt = read_checkpoint_meta(opt.checkpoint) @@ -36,16 +26,12 @@ checkpoint_metadata = {} for key, tensor in ckpt.items(): checkpoint_metadata[key] = list(tensor.shape) -with open(opt.template,'r') as f: +with open(opt.template, "r") as f: template = json.load(f) if checkpoint_metadata == template: - print('True') + print("True") sys.exit(0) else: - print('False') + print("False") sys.exit(-1) - - - - From fe924daee38cfd16d34bf68502235639ebfec2ca Mon Sep 17 00:00:00 2001 From: Mary Hipp Date: Mon, 7 Aug 2023 10:22:12 -0400 Subject: [PATCH 114/287] add option to disable multiselect --- invokeai/frontend/web/src/app/types/invokeai.ts | 3 ++- .../src/features/gallery/hooks/useMultiselect.ts.ts | 10 +++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/web/src/app/types/invokeai.ts b/invokeai/frontend/web/src/app/types/invokeai.ts index b38790e0c9..827424fa7f 100644 --- a/invokeai/frontend/web/src/app/types/invokeai.ts +++ b/invokeai/frontend/web/src/app/types/invokeai.ts @@ -96,7 +96,8 @@ export type AppFeature = | 'consoleLogging' | 'dynamicPrompting' | 'batches' - | 'syncModels'; + | 'syncModels' + | 'multiselect'; /** * A disable-able Stable Diffusion feature diff --git a/invokeai/frontend/web/src/features/gallery/hooks/useMultiselect.ts.ts b/invokeai/frontend/web/src/features/gallery/hooks/useMultiselect.ts.ts index b59a2f3d6f..a162c6788d 100644 --- a/invokeai/frontend/web/src/features/gallery/hooks/useMultiselect.ts.ts +++ b/invokeai/frontend/web/src/features/gallery/hooks/useMultiselect.ts.ts @@ -9,6 +9,7 @@ import { useListImagesQuery } from 'services/api/endpoints/images'; import { ImageDTO } from 'services/api/types'; import { selectionChanged } from '../store/gallerySlice'; import { imagesSelectors } from 'services/api/util'; +import { useFeatureStatus } from '../../system/hooks/useFeatureStatus'; const selector = createSelector( [stateSelector, selectListImagesBaseQueryArgs], @@ -33,11 +34,18 @@ export const useMultiselect = (imageDTO?: ImageDTO) => { }), }); + const isMultiSelectEnabled = useFeatureStatus('multiselect').isFeatureEnabled; + const handleClick = useCallback( (e: MouseEvent) => { if (!imageDTO) { return; } + if (!isMultiSelectEnabled) { + dispatch(selectionChanged([imageDTO])); + return; + } + if (e.shiftKey) { const rangeEndImageName = imageDTO.image_name; const lastSelectedImage = selection[selection.length - 1]?.image_name; @@ -71,7 +79,7 @@ export const useMultiselect = (imageDTO?: ImageDTO) => { dispatch(selectionChanged([imageDTO])); } }, - [dispatch, imageDTO, imageDTOs, selection] + [dispatch, imageDTO, imageDTOs, selection, isMultiSelectEnabled] ); const isSelected = useMemo( From 734a9e42717a91cd0142f31bed4c133254ebc32d Mon Sep 17 00:00:00 2001 From: Mary Hipp Date: Mon, 7 Aug 2023 10:23:02 -0400 Subject: [PATCH 115/287] invalidate board total when images deleted, only run date range logic if board has less than 20 images --- .../web/src/services/api/endpoints/images.ts | 101 ++++++++++-------- 1 file changed, 59 insertions(+), 42 deletions(-) diff --git a/invokeai/frontend/web/src/services/api/endpoints/images.ts b/invokeai/frontend/web/src/services/api/endpoints/images.ts index e093c1c33a..26c2268ca5 100644 --- a/invokeai/frontend/web/src/services/api/endpoints/images.ts +++ b/invokeai/frontend/web/src/services/api/endpoints/images.ts @@ -4,6 +4,7 @@ import { ASSETS_CATEGORIES, BoardId, IMAGE_CATEGORIES, + IMAGE_LIMIT, } from 'features/gallery/store/types'; import { keyBy } from 'lodash'; import { ApiFullTagDescription, LIST_TAG, api } from '..'; @@ -167,7 +168,14 @@ export const imagesApi = api.injectEndpoints({ }, }; }, - invalidatesTags: (result, error, imageDTOs) => [], + invalidatesTags: (result, error, { imageDTOs }) => { + // for now, assume bulk delete is all on one board + const boardId = imageDTOs[0]?.board_id + return [ + { type: 'BoardImagesTotal', id: boardId ?? 'none' }, + { type: 'BoardAssetsTotal', id: boardId ?? 'none' }, + ] + }, async onQueryStarted({ imageDTOs }, { dispatch, queryFulfilled }) { /** * Cache changes for `deleteImages`: @@ -288,11 +296,11 @@ export const imagesApi = api.injectEndpoints({ imageDTO.image_category ) ? boardsApi.endpoints.getBoardImagesTotal.select( - imageDTO.board_id ?? 'none' - )(getState()) + imageDTO.board_id ?? 'none' + )(getState()) : boardsApi.endpoints.getBoardAssetsTotal.select( - imageDTO.board_id ?? 'none' - )(getState()); + imageDTO.board_id ?? 'none' + )(getState()); // IF it eligible for insertion into existing $cache // "eligible" means either: @@ -718,11 +726,11 @@ export const imagesApi = api.injectEndpoints({ imageDTO.image_category ) ? boardsApi.endpoints.getBoardImagesTotal.select( - imageDTO.board_id ?? 'none' - )(getState()) + imageDTO.board_id ?? 'none' + )(getState()) : boardsApi.endpoints.getBoardAssetsTotal.select( - imageDTO.board_id ?? 'none' - )(getState()); + imageDTO.board_id ?? 'none' + )(getState()); const isCacheFullyPopulated = currentCache.data && currentCache.data.ids.length >= (total ?? 0); @@ -838,11 +846,11 @@ export const imagesApi = api.injectEndpoints({ imageDTO.image_category ) ? boardsApi.endpoints.getBoardImagesTotal.select( - imageDTO.board_id ?? 'none' - )(getState()) + imageDTO.board_id ?? 'none' + )(getState()) : boardsApi.endpoints.getBoardAssetsTotal.select( - imageDTO.board_id ?? 'none' - )(getState()); + imageDTO.board_id ?? 'none' + )(getState()); const isCacheFullyPopulated = currentCache.data && currentCache.data.ids.length >= (total ?? 0); @@ -889,18 +897,25 @@ export const imagesApi = api.injectEndpoints({ board_id, }, }), - invalidatesTags: (result, error, { board_id }) => [ - // update the destination board - { type: 'Board', id: board_id ?? 'none' }, - // update old board totals - { type: 'BoardImagesTotal', id: board_id ?? 'none' }, - { type: 'BoardAssetsTotal', id: board_id ?? 'none' }, - // update the no_board totals - { type: 'BoardImagesTotal', id: 'none' }, - { type: 'BoardAssetsTotal', id: 'none' }, - ], + invalidatesTags: (result, error, { imageDTOs, board_id }) => { + //assume all images are being moved from one board for now + const oldBoardId = imageDTOs[0]?.board_id; + return [ + // update the destination board + { type: 'Board', id: board_id ?? 'none' }, + // update new board totals + { type: 'BoardImagesTotal', id: board_id ?? 'none' }, + { type: 'BoardAssetsTotal', id: board_id ?? 'none' }, + // update old board totals + { type: 'BoardImagesTotal', id: oldBoardId ?? 'none' }, + { type: 'BoardAssetsTotal', id: oldBoardId ?? 'none' }, + // update the no_board totals + { type: 'BoardImagesTotal', id: 'none' }, + { type: 'BoardAssetsTotal', id: 'none' }, + ] + }, async onQueryStarted( - { board_id, imageDTOs }, + { board_id: new_board_id, imageDTOs }, { dispatch, queryFulfilled, getState } ) { try { @@ -920,7 +935,7 @@ export const imagesApi = api.injectEndpoints({ 'getImageDTO', image_name, (draft) => { - draft.board_id = board_id; + draft.board_id = new_board_id; } ) ); @@ -946,7 +961,7 @@ export const imagesApi = api.injectEndpoints({ ); const queryArgs = { - board_id, + board_id: new_board_id, categories, }; @@ -954,25 +969,27 @@ export const imagesApi = api.injectEndpoints({ queryArgs )(getState()); - const { data: total } = IMAGE_CATEGORIES.includes( + + const { data: previousTotal } = IMAGE_CATEGORIES.includes( imageDTO.image_category ) ? boardsApi.endpoints.getBoardImagesTotal.select( - imageDTO.board_id ?? 'none' - )(getState()) + new_board_id ?? 'none' + )(getState()) : boardsApi.endpoints.getBoardAssetsTotal.select( - imageDTO.board_id ?? 'none' - )(getState()); + new_board_id ?? 'none' + )(getState()); const isCacheFullyPopulated = - currentCache.data && currentCache.data.ids.length >= (total ?? 0); + currentCache.data && currentCache.data.ids.length >= (previousTotal ?? 0); - const isInDateRange = getIsImageInDateRange( + const isInDateRange = (previousTotal || 0) >= IMAGE_LIMIT ? getIsImageInDateRange( currentCache.data, imageDTO - ); + ) : true; if (isCacheFullyPopulated || isInDateRange) { + console.log("upserting") // *upsert* to $cache dispatch( imagesApi.util.updateQueryData( @@ -981,7 +998,7 @@ export const imagesApi = api.injectEndpoints({ (draft) => { imagesAdapter.upsertOne(draft, { ...imageDTO, - board_id, + board_id: new_board_id, }); } ) @@ -1088,19 +1105,19 @@ export const imagesApi = api.injectEndpoints({ imageDTO.image_category ) ? boardsApi.endpoints.getBoardImagesTotal.select( - imageDTO.board_id ?? 'none' - )(getState()) + imageDTO.board_id ?? 'none' + )(getState()) : boardsApi.endpoints.getBoardAssetsTotal.select( - imageDTO.board_id ?? 'none' - )(getState()); + imageDTO.board_id ?? 'none' + )(getState()); const isCacheFullyPopulated = currentCache.data && currentCache.data.ids.length >= (total ?? 0); - const isInDateRange = getIsImageInDateRange( + const isInDateRange = (total || 0) >= IMAGE_LIMIT ? getIsImageInDateRange( currentCache.data, imageDTO - ); + ) : true; if (isCacheFullyPopulated || isInDateRange) { // *upsert* to $cache @@ -1111,7 +1128,7 @@ export const imagesApi = api.injectEndpoints({ (draft) => { imagesAdapter.upsertOne(draft, { ...imageDTO, - board_id: undefined, + board_id: "none", }); } ) From 57e8ec9488361bcce44ff46c06a02476e1782c56 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue, 8 Aug 2023 12:49:54 +1000 Subject: [PATCH 116/287] chore(ui): lint/format --- .../web/src/services/api/endpoints/images.ts | 69 +++++++++---------- 1 file changed, 34 insertions(+), 35 deletions(-) diff --git a/invokeai/frontend/web/src/services/api/endpoints/images.ts b/invokeai/frontend/web/src/services/api/endpoints/images.ts index 26c2268ca5..0c52258f9d 100644 --- a/invokeai/frontend/web/src/services/api/endpoints/images.ts +++ b/invokeai/frontend/web/src/services/api/endpoints/images.ts @@ -170,11 +170,11 @@ export const imagesApi = api.injectEndpoints({ }, invalidatesTags: (result, error, { imageDTOs }) => { // for now, assume bulk delete is all on one board - const boardId = imageDTOs[0]?.board_id + const boardId = imageDTOs[0]?.board_id; return [ { type: 'BoardImagesTotal', id: boardId ?? 'none' }, { type: 'BoardAssetsTotal', id: boardId ?? 'none' }, - ] + ]; }, async onQueryStarted({ imageDTOs }, { dispatch, queryFulfilled }) { /** @@ -296,11 +296,11 @@ export const imagesApi = api.injectEndpoints({ imageDTO.image_category ) ? boardsApi.endpoints.getBoardImagesTotal.select( - imageDTO.board_id ?? 'none' - )(getState()) + imageDTO.board_id ?? 'none' + )(getState()) : boardsApi.endpoints.getBoardAssetsTotal.select( - imageDTO.board_id ?? 'none' - )(getState()); + imageDTO.board_id ?? 'none' + )(getState()); // IF it eligible for insertion into existing $cache // "eligible" means either: @@ -726,11 +726,11 @@ export const imagesApi = api.injectEndpoints({ imageDTO.image_category ) ? boardsApi.endpoints.getBoardImagesTotal.select( - imageDTO.board_id ?? 'none' - )(getState()) + imageDTO.board_id ?? 'none' + )(getState()) : boardsApi.endpoints.getBoardAssetsTotal.select( - imageDTO.board_id ?? 'none' - )(getState()); + imageDTO.board_id ?? 'none' + )(getState()); const isCacheFullyPopulated = currentCache.data && currentCache.data.ids.length >= (total ?? 0); @@ -846,11 +846,11 @@ export const imagesApi = api.injectEndpoints({ imageDTO.image_category ) ? boardsApi.endpoints.getBoardImagesTotal.select( - imageDTO.board_id ?? 'none' - )(getState()) + imageDTO.board_id ?? 'none' + )(getState()) : boardsApi.endpoints.getBoardAssetsTotal.select( - imageDTO.board_id ?? 'none' - )(getState()); + imageDTO.board_id ?? 'none' + )(getState()); const isCacheFullyPopulated = currentCache.data && currentCache.data.ids.length >= (total ?? 0); @@ -912,7 +912,7 @@ export const imagesApi = api.injectEndpoints({ // update the no_board totals { type: 'BoardImagesTotal', id: 'none' }, { type: 'BoardAssetsTotal', id: 'none' }, - ] + ]; }, async onQueryStarted( { board_id: new_board_id, imageDTOs }, @@ -969,27 +969,26 @@ export const imagesApi = api.injectEndpoints({ queryArgs )(getState()); - const { data: previousTotal } = IMAGE_CATEGORIES.includes( imageDTO.image_category ) ? boardsApi.endpoints.getBoardImagesTotal.select( - new_board_id ?? 'none' - )(getState()) + new_board_id ?? 'none' + )(getState()) : boardsApi.endpoints.getBoardAssetsTotal.select( - new_board_id ?? 'none' - )(getState()); + new_board_id ?? 'none' + )(getState()); const isCacheFullyPopulated = - currentCache.data && currentCache.data.ids.length >= (previousTotal ?? 0); + currentCache.data && + currentCache.data.ids.length >= (previousTotal ?? 0); - const isInDateRange = (previousTotal || 0) >= IMAGE_LIMIT ? getIsImageInDateRange( - currentCache.data, - imageDTO - ) : true; + const isInDateRange = + (previousTotal || 0) >= IMAGE_LIMIT + ? getIsImageInDateRange(currentCache.data, imageDTO) + : true; if (isCacheFullyPopulated || isInDateRange) { - console.log("upserting") // *upsert* to $cache dispatch( imagesApi.util.updateQueryData( @@ -1105,19 +1104,19 @@ export const imagesApi = api.injectEndpoints({ imageDTO.image_category ) ? boardsApi.endpoints.getBoardImagesTotal.select( - imageDTO.board_id ?? 'none' - )(getState()) + imageDTO.board_id ?? 'none' + )(getState()) : boardsApi.endpoints.getBoardAssetsTotal.select( - imageDTO.board_id ?? 'none' - )(getState()); + imageDTO.board_id ?? 'none' + )(getState()); const isCacheFullyPopulated = currentCache.data && currentCache.data.ids.length >= (total ?? 0); - const isInDateRange = (total || 0) >= IMAGE_LIMIT ? getIsImageInDateRange( - currentCache.data, - imageDTO - ) : true; + const isInDateRange = + (total || 0) >= IMAGE_LIMIT + ? getIsImageInDateRange(currentCache.data, imageDTO) + : true; if (isCacheFullyPopulated || isInDateRange) { // *upsert* to $cache @@ -1128,7 +1127,7 @@ export const imagesApi = api.injectEndpoints({ (draft) => { imagesAdapter.upsertOne(draft, { ...imageDTO, - board_id: "none", + board_id: 'none', }); } ) From e20af5aef022b6ec74a8c4d55a6553df26ed83b4 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue, 8 Aug 2023 12:00:05 +1000 Subject: [PATCH 117/287] feat(ui): add LoRA support to SDXL linear UI new graph modifier `addSDXLLoRasToGraph()` handles adding LoRA to the SDXL t2i and i2i graphs. --- .../lora/components/ParamLoraCollapse.tsx | 2 +- .../lora/components/ParamLoraList.tsx | 14 +- .../util/graphBuilders/addLoRAsToGraph.ts | 9 +- .../util/graphBuilders/addSDXLLoRAstoGraph.ts | 212 +++++++++++++++++ .../buildLinearSDXLImageToImageGraph.ts | 3 + .../buildLinearSDXLTextToImageGraph.ts | 3 + .../SDXLImageToImageTabParameters.tsx | 2 + .../SDXLTextToImageTabParameters.tsx | 2 + .../frontend/web/src/services/api/schema.d.ts | 222 ++++++++++++++++-- .../frontend/web/src/services/api/types.ts | 3 + 10 files changed, 436 insertions(+), 36 deletions(-) create mode 100644 invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLLoRAstoGraph.ts diff --git a/invokeai/frontend/web/src/features/lora/components/ParamLoraCollapse.tsx b/invokeai/frontend/web/src/features/lora/components/ParamLoraCollapse.tsx index e212efbfa2..c2edd94106 100644 --- a/invokeai/frontend/web/src/features/lora/components/ParamLoraCollapse.tsx +++ b/invokeai/frontend/web/src/features/lora/components/ParamLoraCollapse.tsx @@ -31,7 +31,7 @@ const ParamLoraCollapse = () => { } return ( - + diff --git a/invokeai/frontend/web/src/features/lora/components/ParamLoraList.tsx b/invokeai/frontend/web/src/features/lora/components/ParamLoraList.tsx index 835c315e5c..f10084e585 100644 --- a/invokeai/frontend/web/src/features/lora/components/ParamLoraList.tsx +++ b/invokeai/frontend/web/src/features/lora/components/ParamLoraList.tsx @@ -1,3 +1,4 @@ +import { Divider } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; import { stateSelector } from 'app/store/store'; import { useAppSelector } from 'app/store/storeHooks'; @@ -8,20 +9,21 @@ import ParamLora from './ParamLora'; const selector = createSelector( stateSelector, ({ lora }) => { - const { loras } = lora; - - return { loras }; + return { lorasArray: map(lora.loras) }; }, defaultSelectorOptions ); const ParamLoraList = () => { - const { loras } = useAppSelector(selector); + const { lorasArray } = useAppSelector(selector); return ( <> - {map(loras, (lora) => ( - + {lorasArray.map((lora, i) => ( + <> + {i > 0 && } + + ))} ); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addLoRAsToGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addLoRAsToGraph.ts index bc0bfee8fd..cdd91d6e4f 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addLoRAsToGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addLoRAsToGraph.ts @@ -9,7 +9,6 @@ import { CLIP_SKIP, LORA_LOADER, MAIN_MODEL_LOADER, - ONNX_MODEL_LOADER, METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, POSITIVE_CONDITIONING, @@ -36,15 +35,11 @@ export const addLoRAsToGraph = ( | undefined; if (loraCount > 0) { - // Remove MAIN_MODEL_LOADER unet connection to feed it to LoRAs + // Remove modelLoaderNodeId unet connection to feed it to LoRAs graph.edges = graph.edges.filter( (e) => !( - e.source.node_id === MAIN_MODEL_LOADER && - ['unet'].includes(e.source.field) - ) && - !( - e.source.node_id === ONNX_MODEL_LOADER && + e.source.node_id === modelLoaderNodeId && ['unet'].includes(e.source.field) ) ); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLLoRAstoGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLLoRAstoGraph.ts new file mode 100644 index 0000000000..c0f7f7ca82 --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLLoRAstoGraph.ts @@ -0,0 +1,212 @@ +import { RootState } from 'app/store/store'; +import { NonNullableGraph } from 'features/nodes/types/types'; +import { forEach, size } from 'lodash-es'; +import { + MetadataAccumulatorInvocation, + SDXLLoraLoaderInvocation, +} from 'services/api/types'; +import { + LORA_LOADER, + METADATA_ACCUMULATOR, + NEGATIVE_CONDITIONING, + POSITIVE_CONDITIONING, + SDXL_MODEL_LOADER, +} from './constants'; + +export const addSDXLLoRAsToGraph = ( + state: RootState, + graph: NonNullableGraph, + baseNodeId: string, + modelLoaderNodeId: string = SDXL_MODEL_LOADER +): void => { + /** + * LoRA nodes get the UNet and CLIP models from the main model loader and apply the LoRA to them. + * They then output the UNet and CLIP models references on to either the next LoRA in the chain, + * or to the inference/conditioning nodes. + * + * So we need to inject a LoRA chain into the graph. + */ + + const { loras } = state.lora; + const loraCount = size(loras); + const metadataAccumulator = graph.nodes[METADATA_ACCUMULATOR] as + | MetadataAccumulatorInvocation + | undefined; + + if (loraCount > 0) { + // Remove modelLoaderNodeId unet/clip/clip2 connections to feed it to LoRAs + graph.edges = graph.edges.filter( + (e) => + !( + e.source.node_id === modelLoaderNodeId && + ['unet'].includes(e.source.field) + ) && + !( + e.source.node_id === modelLoaderNodeId && + ['clip'].includes(e.source.field) + ) && + !( + e.source.node_id === modelLoaderNodeId && + ['clip2'].includes(e.source.field) + ) + ); + } + + // we need to remember the last lora so we can chain from it + let lastLoraNodeId = ''; + let currentLoraIndex = 0; + + forEach(loras, (lora) => { + const { model_name, base_model, weight } = lora; + const currentLoraNodeId = `${LORA_LOADER}_${model_name.replace('.', '_')}`; + + const loraLoaderNode: SDXLLoraLoaderInvocation = { + type: 'sdxl_lora_loader', + id: currentLoraNodeId, + is_intermediate: true, + lora: { model_name, base_model }, + weight, + }; + + // add the lora to the metadata accumulator + if (metadataAccumulator) { + metadataAccumulator.loras.push({ + lora: { model_name, base_model }, + weight, + }); + } + + // add to graph + graph.nodes[currentLoraNodeId] = loraLoaderNode; + if (currentLoraIndex === 0) { + // first lora = start the lora chain, attach directly to model loader + graph.edges.push({ + source: { + node_id: modelLoaderNodeId, + field: 'unet', + }, + destination: { + node_id: currentLoraNodeId, + field: 'unet', + }, + }); + + graph.edges.push({ + source: { + node_id: modelLoaderNodeId, + field: 'clip', + }, + destination: { + node_id: currentLoraNodeId, + field: 'clip', + }, + }); + + graph.edges.push({ + source: { + node_id: modelLoaderNodeId, + field: 'clip2', + }, + destination: { + node_id: currentLoraNodeId, + field: 'clip2', + }, + }); + } else { + // we are in the middle of the lora chain, instead connect to the previous lora + graph.edges.push({ + source: { + node_id: lastLoraNodeId, + field: 'unet', + }, + destination: { + node_id: currentLoraNodeId, + field: 'unet', + }, + }); + graph.edges.push({ + source: { + node_id: lastLoraNodeId, + field: 'clip', + }, + destination: { + node_id: currentLoraNodeId, + field: 'clip', + }, + }); + + graph.edges.push({ + source: { + node_id: lastLoraNodeId, + field: 'clip2', + }, + destination: { + node_id: currentLoraNodeId, + field: 'clip2', + }, + }); + } + + if (currentLoraIndex === loraCount - 1) { + // final lora, end the lora chain - we need to connect up to inference and conditioning nodes + graph.edges.push({ + source: { + node_id: currentLoraNodeId, + field: 'unet', + }, + destination: { + node_id: baseNodeId, + field: 'unet', + }, + }); + + graph.edges.push({ + source: { + node_id: currentLoraNodeId, + field: 'clip', + }, + destination: { + node_id: POSITIVE_CONDITIONING, + field: 'clip', + }, + }); + + graph.edges.push({ + source: { + node_id: currentLoraNodeId, + field: 'clip', + }, + destination: { + node_id: NEGATIVE_CONDITIONING, + field: 'clip', + }, + }); + + graph.edges.push({ + source: { + node_id: currentLoraNodeId, + field: 'clip2', + }, + destination: { + node_id: POSITIVE_CONDITIONING, + field: 'clip2', + }, + }); + + graph.edges.push({ + source: { + node_id: currentLoraNodeId, + field: 'clip2', + }, + destination: { + node_id: NEGATIVE_CONDITIONING, + field: 'clip2', + }, + }); + } + + // increment the lora for the next one in the chain + lastLoraNodeId = currentLoraNodeId; + currentLoraIndex += 1; + }); +}; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts index a260dbc467..0ec4e096d9 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts @@ -22,6 +22,7 @@ import { SDXL_LATENTS_TO_LATENTS, SDXL_MODEL_LOADER, } from './constants'; +import { addSDXLLoRAsToGraph } from './addSDXLLoRAstoGraph'; /** * Builds the Image to Image tab graph. @@ -364,6 +365,8 @@ export const buildLinearSDXLImageToImageGraph = ( }, }); + addSDXLLoRAsToGraph(state, graph, SDXL_LATENTS_TO_LATENTS, SDXL_MODEL_LOADER); + // Add Refiner if enabled if (shouldUseSDXLRefiner) { addSDXLRefinerToGraph(state, graph, SDXL_LATENTS_TO_LATENTS); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts index c10e7831d3..21b7c1e0ac 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts @@ -4,6 +4,7 @@ import { NonNullableGraph } from 'features/nodes/types/types'; import { initialGenerationState } from 'features/parameters/store/generationSlice'; import { addDynamicPromptsToGraph } from './addDynamicPromptsToGraph'; import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; +import { addSDXLLoRAsToGraph } from './addSDXLLoRAstoGraph'; import { addSDXLRefinerToGraph } from './addSDXLRefinerToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { @@ -246,6 +247,8 @@ export const buildLinearSDXLTextToImageGraph = ( }, }); + addSDXLLoRAsToGraph(state, graph, SDXL_TEXT_TO_LATENTS, SDXL_MODEL_LOADER); + // Add Refiner if enabled if (shouldUseSDXLRefiner) { addSDXLRefinerToGraph(state, graph, SDXL_TEXT_TO_LATENTS); diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLImageToImageTabParameters.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLImageToImageTabParameters.tsx index c0b143a557..edc92a56c8 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/SDXLImageToImageTabParameters.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLImageToImageTabParameters.tsx @@ -4,6 +4,7 @@ import ProcessButtons from 'features/parameters/components/ProcessButtons/Proces import ParamSDXLPromptArea from './ParamSDXLPromptArea'; import ParamSDXLRefinerCollapse from './ParamSDXLRefinerCollapse'; import SDXLImageToImageTabCoreParameters from './SDXLImageToImageTabCoreParameters'; +import ParamLoraCollapse from 'features/lora/components/ParamLoraCollapse'; const SDXLImageToImageTabParameters = () => { return ( @@ -12,6 +13,7 @@ const SDXLImageToImageTabParameters = () => { + diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLTextToImageTabParameters.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLTextToImageTabParameters.tsx index 35bc0b4284..325fd7d881 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/SDXLTextToImageTabParameters.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLTextToImageTabParameters.tsx @@ -4,6 +4,7 @@ import ProcessButtons from 'features/parameters/components/ProcessButtons/Proces import TextToImageTabCoreParameters from 'features/ui/components/tabs/TextToImage/TextToImageTabCoreParameters'; import ParamSDXLPromptArea from './ParamSDXLPromptArea'; import ParamSDXLRefinerCollapse from './ParamSDXLRefinerCollapse'; +import ParamLoraCollapse from 'features/lora/components/ParamLoraCollapse'; const SDXLTextToImageTabParameters = () => { return ( @@ -12,6 +13,7 @@ const SDXLTextToImageTabParameters = () => { + diff --git a/invokeai/frontend/web/src/services/api/schema.d.ts b/invokeai/frontend/web/src/services/api/schema.d.ts index 6574ec4909..fc3397820e 100644 --- a/invokeai/frontend/web/src/services/api/schema.d.ts +++ b/invokeai/frontend/web/src/services/api/schema.d.ts @@ -1443,7 +1443,7 @@ export type components = { * @description The nodes in this graph */ nodes?: { - [key: string]: (components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined; + [key: string]: (components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined; }; /** * Edges @@ -1486,7 +1486,7 @@ export type components = { * @description The results of node executions */ results: { - [key: string]: (components["schemas"]["ImageOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["LoraLoaderOutput"] | components["schemas"]["VaeLoaderOutput"] | components["schemas"]["MetadataAccumulatorOutput"] | components["schemas"]["CompelOutput"] | components["schemas"]["ClipSkipInvocationOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["ONNXModelLoaderOutput"] | components["schemas"]["PromptOutput"] | components["schemas"]["PromptCollectionOutput"] | components["schemas"]["IntOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["IntCollectionOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["GraphInvocationOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["CollectInvocationOutput"]) | undefined; + [key: string]: (components["schemas"]["ImageOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["LoraLoaderOutput"] | components["schemas"]["SDXLLoraLoaderOutput"] | components["schemas"]["VaeLoaderOutput"] | components["schemas"]["MetadataAccumulatorOutput"] | components["schemas"]["CompelOutput"] | components["schemas"]["ClipSkipInvocationOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["ONNXModelLoaderOutput"] | components["schemas"]["PromptOutput"] | components["schemas"]["PromptCollectionOutput"] | components["schemas"]["IntOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["IntCollectionOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["GraphInvocationOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["CollectInvocationOutput"]) | undefined; }; /** * Errors @@ -1904,6 +1904,40 @@ export type components = { */ image_name: string; }; + /** + * ImageHueAdjustmentInvocation + * @description Adjusts the Hue of an image. + */ + ImageHueAdjustmentInvocation: { + /** + * Id + * @description The id of this node. Must be unique among all nodes. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this node is an intermediate node. + * @default false + */ + is_intermediate?: boolean; + /** + * Type + * @default img_hue_adjust + * @enum {string} + */ + type?: "img_hue_adjust"; + /** + * Image + * @description The image to adjust + */ + image?: components["schemas"]["ImageField"]; + /** + * Hue + * @description The degrees by which to rotate the hue, 0-360 + * @default 0 + */ + hue?: number; + }; /** * ImageInverseLerpInvocation * @description Inverse linear interpolation of all pixels of an image @@ -1984,6 +2018,40 @@ export type components = { */ max?: number; }; + /** + * ImageLuminosityAdjustmentInvocation + * @description Adjusts the Luminosity (Value) of an image. + */ + ImageLuminosityAdjustmentInvocation: { + /** + * Id + * @description The id of this node. Must be unique among all nodes. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this node is an intermediate node. + * @default false + */ + is_intermediate?: boolean; + /** + * Type + * @default img_luminosity_adjust + * @enum {string} + */ + type?: "img_luminosity_adjust"; + /** + * Image + * @description The image to adjust + */ + image?: components["schemas"]["ImageField"]; + /** + * Luminosity + * @description The factor by which to adjust the luminosity (value) + * @default 1 + */ + luminosity?: number; + }; /** * ImageMetadata * @description An image's generation metadata @@ -2239,6 +2307,40 @@ export type components = { */ resample_mode?: "nearest" | "box" | "bilinear" | "hamming" | "bicubic" | "lanczos"; }; + /** + * ImageSaturationAdjustmentInvocation + * @description Adjusts the Saturation of an image. + */ + ImageSaturationAdjustmentInvocation: { + /** + * Id + * @description The id of this node. Must be unique among all nodes. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this node is an intermediate node. + * @default false + */ + is_intermediate?: boolean; + /** + * Type + * @default img_saturation_adjust + * @enum {string} + */ + type?: "img_saturation_adjust"; + /** + * Image + * @description The image to adjust + */ + image?: components["schemas"]["ImageField"]; + /** + * Saturation + * @description The factor by which to adjust the saturation + * @default 1 + */ + saturation?: number; + }; /** * ImageScaleInvocation * @description Scales an image by a factor @@ -4912,6 +5014,82 @@ export type components = { */ denoising_end?: number; }; + /** + * SDXLLoraLoaderInvocation + * @description Apply selected lora to unet and text_encoder. + */ + SDXLLoraLoaderInvocation: { + /** + * Id + * @description The id of this node. Must be unique among all nodes. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this node is an intermediate node. + * @default false + */ + is_intermediate?: boolean; + /** + * Type + * @default sdxl_lora_loader + * @enum {string} + */ + type?: "sdxl_lora_loader"; + /** + * Lora + * @description Lora model name + */ + lora?: components["schemas"]["LoRAModelField"]; + /** + * Weight + * @description With what weight to apply lora + * @default 0.75 + */ + weight?: number; + /** + * Unet + * @description UNet model for applying lora + */ + unet?: components["schemas"]["UNetField"]; + /** + * Clip + * @description Clip model for applying lora + */ + clip?: components["schemas"]["ClipField"]; + /** + * Clip2 + * @description Clip2 model for applying lora + */ + clip2?: components["schemas"]["ClipField"]; + }; + /** + * SDXLLoraLoaderOutput + * @description Model loader output + */ + SDXLLoraLoaderOutput: { + /** + * Type + * @default sdxl_lora_loader_output + * @enum {string} + */ + type?: "sdxl_lora_loader_output"; + /** + * Unet + * @description UNet submodel + */ + unet?: components["schemas"]["UNetField"]; + /** + * Clip + * @description Tokenizer and text_encoder submodels + */ + clip?: components["schemas"]["ClipField"]; + /** + * Clip2 + * @description Tokenizer2 and text_encoder2 submodels + */ + clip2?: components["schemas"]["ClipField"]; + }; /** * SDXLModelLoaderInvocation * @description Loads an sdxl base model, outputting its submodels. @@ -5961,6 +6139,24 @@ export type components = { */ image?: components["schemas"]["ImageField"]; }; + /** + * ControlNetModelFormat + * @description An enumeration. + * @enum {string} + */ + ControlNetModelFormat: "checkpoint" | "diffusers"; + /** + * StableDiffusionXLModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusionXLModelFormat: "checkpoint" | "diffusers"; + /** + * StableDiffusion1ModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusionOnnxModelFormat * @description An enumeration. @@ -5973,24 +6169,6 @@ export type components = { * @enum {string} */ StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; - /** - * StableDiffusion1ModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; - /** - * StableDiffusionXLModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusionXLModelFormat: "checkpoint" | "diffusers"; - /** - * ControlNetModelFormat - * @description An enumeration. - * @enum {string} - */ - ControlNetModelFormat: "checkpoint" | "diffusers"; }; responses: never; parameters: never; @@ -6101,7 +6279,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; }; }; responses: { @@ -6138,7 +6316,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; }; }; responses: { diff --git a/invokeai/frontend/web/src/services/api/types.ts b/invokeai/frontend/web/src/services/api/types.ts index ca9dbb3aeb..e7e3accdad 100644 --- a/invokeai/frontend/web/src/services/api/types.ts +++ b/invokeai/frontend/web/src/services/api/types.ts @@ -166,6 +166,9 @@ export type OnnxModelLoaderInvocation = TypeReq< export type LoraLoaderInvocation = TypeReq< components['schemas']['LoraLoaderInvocation'] >; +export type SDXLLoraLoaderInvocation = TypeReq< + components['schemas']['SDXLLoraLoaderInvocation'] +>; export type MetadataAccumulatorInvocation = TypeReq< components['schemas']['MetadataAccumulatorInvocation'] >; From 8258c87a9f262044788cc6314d52fded60bd7c5a Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 7 Aug 2023 11:00:11 -0400 Subject: [PATCH 118/287] refrain from writing deprecated legacy options to invokeai.yaml --- invokeai/backend/install/invokeai_configure.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/invokeai/backend/install/invokeai_configure.py b/invokeai/backend/install/invokeai_configure.py index 4bf2a484a1..a846c50dc3 100755 --- a/invokeai/backend/install/invokeai_configure.py +++ b/invokeai/backend/install/invokeai_configure.py @@ -44,6 +44,8 @@ from invokeai.app.services.config import ( ) from invokeai.backend.util.logging import InvokeAILogger from invokeai.frontend.install.model_install import addModelsForm, process_and_execute + +# TO DO - Move all the frontend code into invokeai.frontend.install from invokeai.frontend.install.widgets import ( SingleSelectColumns, CenteredButtonPress, @@ -654,7 +656,7 @@ def migrate_init_file(legacy_format: Path): old = legacy_parser.parse_args([f"@{str(legacy_format)}"]) new = InvokeAIAppConfig.get_config() - fields = list(get_type_hints(InvokeAIAppConfig).keys()) + fields = [x for x, y in InvokeAIAppConfig.__fields__.items() if y.field_info.extra.get("category") != "DEPRECATED"] for attr in fields: if hasattr(old, attr): setattr(new, attr, getattr(old, attr)) From a9bf387e5ecaf8877c9c8a4d28bd9c62254492eb Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 7 Aug 2023 14:04:53 -0400 Subject: [PATCH 119/287] turned on Pydantic `validate_assignment` --- invokeai/app/services/config.py | 13 ++++++++++--- invokeai/backend/install/invokeai_configure.py | 6 +++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/invokeai/app/services/config.py b/invokeai/app/services/config.py index 7b5015a670..bc615be7b2 100644 --- a/invokeai/app/services/config.py +++ b/invokeai/app/services/config.py @@ -28,7 +28,6 @@ InvokeAI: always_use_cpu: false free_gpu_mem: false Features: - restore: true esrgan: true patchmatch: true internet_available: true @@ -165,7 +164,7 @@ import pydoc import os import sys from argparse import ArgumentParser -from omegaconf import OmegaConf, DictConfig +from omegaconf import OmegaConf, DictConfig, ListConfig from pathlib import Path from pydantic import BaseSettings, Field, parse_obj_as from typing import ClassVar, Dict, List, Set, Literal, Union, get_origin, get_type_hints, get_args @@ -189,7 +188,12 @@ class InvokeAISettings(BaseSettings): opt = parser.parse_args(argv) for name in self.__fields__: if name not in self._excluded(): - setattr(self, name, getattr(opt, name)) + value = getattr(opt, name) + if isinstance(value, ListConfig): + value = list(value) + elif isinstance(value, DictConfig): + value = dict(value) + setattr(self, name, value) def to_yaml(self) -> str: """ @@ -426,6 +430,9 @@ class InvokeAIAppConfig(InvokeAISettings): version : bool = Field(default=False, description="Show InvokeAI version and exit", category="Other") # fmt: on + class Config: + validate_assignment = True + def parse_args(self, argv: List[str] = None, conf: DictConfig = None, clobber=False): """ Update settings with contents of init file, environment, and diff --git a/invokeai/backend/install/invokeai_configure.py b/invokeai/backend/install/invokeai_configure.py index a846c50dc3..979c5d3337 100755 --- a/invokeai/backend/install/invokeai_configure.py +++ b/invokeai/backend/install/invokeai_configure.py @@ -63,6 +63,7 @@ from invokeai.backend.install.model_install_backend import ( ModelInstall, ) from invokeai.backend.model_management.model_probe import ModelType, BaseModelType +from pydantic.error_wrappers import ValidationError warnings.filterwarnings("ignore") transformers.logging.set_verbosity_error() @@ -659,7 +660,10 @@ def migrate_init_file(legacy_format: Path): fields = [x for x, y in InvokeAIAppConfig.__fields__.items() if y.field_info.extra.get("category") != "DEPRECATED"] for attr in fields: if hasattr(old, attr): - setattr(new, attr, getattr(old, attr)) + try: + setattr(new, attr, getattr(old, attr)) + except ValidationError as e: + print(f'* Ignoring incompatible value for field {attr}:\n {str(e)}') # a few places where the field names have changed and we have to # manually add in the new names/values From 13347f6aec20f974dd326ac5b279419b5089bb2c Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 7 Aug 2023 14:05:03 -0400 Subject: [PATCH 120/287] blackified --- invokeai/backend/install/invokeai_configure.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/backend/install/invokeai_configure.py b/invokeai/backend/install/invokeai_configure.py index 979c5d3337..714b688996 100755 --- a/invokeai/backend/install/invokeai_configure.py +++ b/invokeai/backend/install/invokeai_configure.py @@ -663,7 +663,7 @@ def migrate_init_file(legacy_format: Path): try: setattr(new, attr, getattr(old, attr)) except ValidationError as e: - print(f'* Ignoring incompatible value for field {attr}:\n {str(e)}') + print(f"* Ignoring incompatible value for field {attr}:\n {str(e)}") # a few places where the field names have changed and we have to # manually add in the new names/values From e77400ab62d24acbdf2f48a7427705e7b8b97e4a Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Tue, 8 Aug 2023 10:58:10 -0400 Subject: [PATCH 121/287] remove deprecated options from config --- invokeai/app/services/config.py | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/invokeai/app/services/config.py b/invokeai/app/services/config.py index bc615be7b2..c407132e93 100644 --- a/invokeai/app/services/config.py +++ b/invokeai/app/services/config.py @@ -286,14 +286,10 @@ class InvokeAISettings(BaseSettings): return [ "type", "initconf", - "gpu_mem_reserved", - "max_loaded_models", "version", "from_file", "model", - "restore", "root", - "nsfw_checker", ] class Config: @@ -392,15 +388,11 @@ class InvokeAIAppConfig(InvokeAISettings): internet_available : bool = Field(default=True, description="If true, attempt to download models on the fly; otherwise only use local models", category='Features') log_tokenization : bool = Field(default=False, description="Enable logging of parsed prompt tokens.", category='Features') patchmatch : bool = Field(default=True, description="Enable/disable patchmatch inpaint code", category='Features') - restore : bool = Field(default=True, description="Enable/disable face restoration code (DEPRECATED)", category='DEPRECATED') always_use_cpu : bool = Field(default=False, description="If true, use the CPU for rendering even if a GPU is available.", category='Memory/Performance') free_gpu_mem : bool = Field(default=False, description="If true, purge model from GPU after each generation.", category='Memory/Performance') - max_loaded_models : int = Field(default=3, gt=0, description="(DEPRECATED: use max_cache_size) Maximum number of models to keep in memory for rapid switching", category='DEPRECATED') max_cache_size : float = Field(default=6.0, gt=0, description="Maximum memory amount used by model cache for rapid switching", category='Memory/Performance') max_vram_cache_size : float = Field(default=2.75, ge=0, description="Amount of VRAM reserved for model storage", category='Memory/Performance') - gpu_mem_reserved : float = Field(default=2.75, ge=0, description="DEPRECATED: use max_vram_cache_size. Amount of VRAM reserved for model storage", category='DEPRECATED') - nsfw_checker : bool = Field(default=True, description="DEPRECATED: use Web settings to enable/disable", category='DEPRECATED') precision : Literal[tuple(['auto','float16','float32','autocast'])] = Field(default='auto',description='Floating point precision', category='Memory/Performance') sequential_guidance : bool = Field(default=False, description="Whether to calculate guidance in serial instead of in parallel, lowering memory requirements", category='Memory/Performance') xformers_enabled : bool = Field(default=True, description="Enable/disable memory-efficient attention", category='Memory/Performance') @@ -418,9 +410,7 @@ class InvokeAIAppConfig(InvokeAISettings): outdir : Path = Field(default='outputs', description='Default folder for output images', category='Paths') from_file : Path = Field(default=None, description='Take command input from the indicated file (command-line client only)', category='Paths') use_memory_db : bool = Field(default=False, description='Use in-memory database for storing image metadata', category='Paths') - ignore_missing_core_models : bool = Field(default=False, description='Ignore missing models in models/core/convert') - - model : str = Field(default='stable-diffusion-1.5', description='Initial model name', category='Models') + ignore_missing_core_models : bool = Field(default=False, description='Ignore missing models in models/core/convert', category='Features') log_handlers : List[str] = Field(default=["console"], description='Log handler. Valid options are "console", "file=", "syslog=path|address:host:port", "http="', category="Logging") # note - would be better to read the log_format values from logging.py, but this creates circular dependencies issues From 96b7248051744b8c3b9a077a4e3fddd619892800 Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Tue, 8 Aug 2023 18:50:36 +0300 Subject: [PATCH 122/287] Add mask to l2l --- invokeai/app/invocations/latent.py | 31 ++++++- .../stable_diffusion/diffusers_pipeline.py | 91 +++++++++++++++---- 2 files changed, 102 insertions(+), 20 deletions(-) diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index 1fbcb2941a..3872a04f7e 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -41,6 +41,9 @@ from diffusers.models.attention_processor import ( XFormersAttnProcessor, ) +import torchvision.transforms as T +from torchvision.transforms.functional import resize as tv_resize + DEFAULT_PRECISION = choose_precision(choose_torch_device()) @@ -397,6 +400,7 @@ class TextToLatentsInvocation(BaseInvocation): result_latents, result_attention_map_saver = pipeline.latents_from_embeddings( latents=torch.zeros_like(noise, dtype=torch_dtype(unet.device)), noise=noise, + seed=seed, timesteps=timesteps, num_inference_steps=num_inference_steps, conditioning_data=conditioning_data, @@ -424,7 +428,11 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): denoising_start: float = Field(default=0.0, ge=0, le=1, description="") #denoising_end: float = Field(default=1.0, ge=0, le=1, description="") - latents: Optional[LatentsField] = Field(description="The latents to use as a base image") + latents: Optional[LatentsField] = Field(description="The latents to use as a base image") + + mask: Optional[ImageField] = Field( + None, description="Mask", + ) # Schema customisation class Config(InvocationConfig): @@ -440,6 +448,22 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): }, } + def prep_mask_tensor(self, mask, context, lantents): + if mask is None: + return None + + mask_image = context.services.images.get_pil_image(mask.image_name) + if mask_image.mode != "L": + # FIXME: why do we get passed an RGB image here? We can only use single-channel. + mask_image = mask_image.convert("L") + mask_tensor = image_resized_to_grid_as_tensor(mask_image, normalize=False) + if mask_tensor.dim() == 3: + mask_tensor = mask_tensor.unsqueeze(0) + mask_tensor = tv_resize( + mask_tensor, lantents.shape[-2:], T.InterpolationMode.BILINEAR + ) + return mask_tensor + @torch.no_grad() def invoke(self, context: InvocationContext) -> LatentsOutput: with SilenceWarnings(): # this quenches NSFW nag from diffusers @@ -452,6 +476,8 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): if self.noise.seed is not None: seed = self.noise.seed + mask = self.prep_mask_tensor(self.mask, context, latent) + # Get the source node id (we are invoking the prepared node) graph_execution_state = context.services.graph_execution_manager.get(context.graph_execution_state_id) source_node_id = graph_execution_state.prepared_source_mapping[self.id] @@ -479,6 +505,7 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): if noise is not None: noise = noise.to(device=unet.device, dtype=unet.dtype) latent = latent.to(device=unet.device, dtype=unet.dtype) + mask = mask.to(device=unet.device, dtype=unet.dtype) scheduler = get_scheduler( context=context, @@ -516,6 +543,8 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): latents=initial_latents, timesteps=timesteps, noise=noise, + seed=seed, + mask=mask, num_inference_steps=num_inference_steps, conditioning_data=conditioning_data, control_data=control_data, # list[ControlNetData] diff --git a/invokeai/backend/stable_diffusion/diffusers_pipeline.py b/invokeai/backend/stable_diffusion/diffusers_pipeline.py index 9d080e648d..8623ef9bfb 100644 --- a/invokeai/backend/stable_diffusion/diffusers_pipeline.py +++ b/invokeai/backend/stable_diffusion/diffusers_pipeline.py @@ -100,7 +100,7 @@ class AddsMaskGuidance: mask: torch.FloatTensor mask_latents: torch.FloatTensor scheduler: SchedulerMixin - noise: torch.Tensor + noise: Optional[torch.Tensor] = None _debug: Optional[Callable] = None def __call__(self, step_output: Union[BaseOutput, SchedulerOutput], t: torch.Tensor, conditioning) -> BaseOutput: @@ -131,11 +131,10 @@ class AddsMaskGuidance: # some schedulers expect t to be one-dimensional. # TODO: file diffusers bug about inconsistency? t = einops.repeat(t, "-> batch", batch=batch_size) - # Noise shouldn't be re-randomized between steps here. The multistep schedulers - # get very confused about what is happening from step to step when we do that. - mask_latents = self.scheduler.add_noise(self.mask_latents, self.noise, t) - # TODO: Do we need to also apply scheduler.scale_model_input? Or is add_noise appropriately scaled already? - # mask_latents = self.scheduler.scale_model_input(mask_latents, t) + + if self.noise is not None: + mask_latents = self.scheduler.add_noise(self.mask_latents, self.noise, t) + mask_latents = einops.repeat(mask_latents, "b c h w -> (repeat b) c h w", repeat=batch_size) masked_input = torch.lerp(mask_latents.to(dtype=latents.dtype), latents, mask.to(dtype=latents.dtype)) if self._debug: @@ -408,7 +407,10 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): additional_guidance: List[Callable] = None, callback: Callable[[PipelineIntermediateState], None] = None, control_data: List[ControlNetData] = None, + mask: Optional[torch.Tensor] = None, + seed: Optional[int] = None, ) -> tuple[torch.Tensor, Optional[AttentionMapSaver]]: + # TODO: if self.scheduler.config.get("cpu_only", False): scheduler_device = torch.device("cpu") else: @@ -417,19 +419,74 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): if timesteps is None: self.scheduler.set_timesteps(num_inference_steps, device=scheduler_device) timesteps = self.scheduler.timesteps + infer_latents_from_embeddings = GeneratorToCallbackinator( self.generate_latents_from_embeddings, PipelineIntermediateState ) - result: PipelineIntermediateState = infer_latents_from_embeddings( - latents, - timesteps, - conditioning_data, - noise=noise, - additional_guidance=additional_guidance, - control_data=control_data, - callback=callback, + + if additional_guidance is None: + additional_guidance = [] + + orig_latents = latents.clone() + + batch_size = latents.shape[0] + batched_t = torch.full( + (batch_size,), + timesteps[0], + dtype=timesteps.dtype, + device=self.unet.device, ) - return result.latents, result.attention_map_saver + + if noise is not None: + #latents = noise * self.scheduler.init_noise_sigma # it's like in t2l according to diffusers + latents = self.scheduler.add_noise(latents, noise, batched_t) + + else: + # if no noise provided, noisify unmasked area based on seed(or 0 as fallback) + if mask is not None: + noise = torch.randn( + orig_latents.shape, + dtype=torch.float32, + device="cpu", + generator=torch.Generator(device="cpu").manual_seed(seed or 0), + ).to(device=orig_latents.device, dtype=orig_latents.dtype) + + latents = self.scheduler.add_noise(latents, noise, batched_t) + latents = torch.lerp(orig_latents, latents.to(dtype=orig_latents.dtype), mask.to(dtype=orig_latents.dtype)) + + + if mask is not None: + if is_inpainting_model(self.unet): + # You'd think the inpainting model wouldn't be paying attention to the area it is going to repaint + # (that's why there's a mask!) but it seems to really want that blanked out. + #masked_latents = latents * torch.where(mask < 0.5, 1, 0) TODO: inpaint/outpaint/infill + + # TODO: we should probably pass this in so we don't have to try/finally around setting it. + self.invokeai_diffuser.model_forward_callback = AddsMaskLatents( + self._unet_forward, mask, orig_latents + ) + else: + additional_guidance.append(AddsMaskGuidance(mask, orig_latents, self.scheduler, noise)) + + try: + result: PipelineIntermediateState = infer_latents_from_embeddings( + latents, + timesteps, + conditioning_data, + additional_guidance=additional_guidance, + control_data=control_data, + callback=callback, + ) + finally: + self.invokeai_diffuser.model_forward_callback = self._unet_forward + + latents = result.latents + + # restore unmasked part + if mask is not None: + latents = torch.lerp(orig_latents, latents.to(dtype=orig_latents.dtype), mask.to(dtype=orig_latents.dtype)) + + return latents, result.attention_map_saver def generate_latents_from_embeddings( self, @@ -437,7 +494,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): timesteps, conditioning_data: ConditioningData, *, - noise: Optional[torch.Tensor], additional_guidance: List[Callable] = None, control_data: List[ControlNetData] = None, ): @@ -457,9 +513,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): dtype=timesteps.dtype, device=self._model_group.device_for(self.unet), ) - if noise is not None: - #latents = noise * self.scheduler.init_noise_sigma # it's like in t2l according to diffusers - latents = self.scheduler.add_noise(latents, noise, batched_t) yield PipelineIntermediateState( step=-1, From f56f19710dc7771c9b59ea119016caaaa27d8e5c Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Tue, 8 Aug 2023 12:27:25 -0400 Subject: [PATCH 123/287] allow user to interactively resize screen before UI runs --- .../backend/install/invokeai_configure.py | 15 +++-- invokeai/frontend/install/model_install.py | 13 ++-- invokeai/frontend/install/widgets.py | 59 +++++++++++-------- 3 files changed, 52 insertions(+), 35 deletions(-) diff --git a/invokeai/backend/install/invokeai_configure.py b/invokeai/backend/install/invokeai_configure.py index 692eff8867..18fb2352f3 100755 --- a/invokeai/backend/install/invokeai_configure.py +++ b/invokeai/backend/install/invokeai_configure.py @@ -52,11 +52,11 @@ from invokeai.frontend.install.widgets import ( CenteredButtonPress, FileBox, IntTitleSlider, - FloatTitleSlider, set_min_terminal_size, CyclingForm, MIN_COLS, MIN_LINES, + WindowTooSmallException, ) from invokeai.backend.install.legacy_arg_parsing import legacy_parser from invokeai.backend.install.model_install_backend import ( @@ -395,7 +395,7 @@ Use cursor arrows to make a checkbox selection, and space to toggle. ) self.max_cache_size = self.add_widget_intelligent( IntTitleSlider, - name="RAM cache size (GB). Make this at least large enough to hold a single model. Larger sizes will allow you to switch between models quickly without reading from disk.", + name="RAM cache size (GB). Make this at least large enough to hold a single full model.", value=old_opts.max_cache_size, out_of=MAX_RAM, lowest=3, @@ -440,7 +440,7 @@ Use cursor arrows to make a checkbox selection, and space to toggle. self.autoimport_dirs = {} self.autoimport_dirs["autoimport_dir"] = self.add_widget_intelligent( FileBox, - name=f"Folder to recursively scan for new checkpoints, ControlNets, LoRAs and TI models", + name="Folder to recursively scan for new checkpoints, ControlNets, LoRAs and TI models", value=str(config.root_path / config.autoimport_dir), select_dir=True, must_exist=False, @@ -635,9 +635,10 @@ def run_console_ui(program_opts: Namespace, initfile: Path = None) -> (Namespace invokeai_opts = default_startup_options(initfile) invokeai_opts.root = program_opts.root - # The third argument is needed in the Windows 11 environment to - # launch a console window running this program. - set_min_terminal_size(MIN_COLS, MIN_LINES) + if not set_min_terminal_size(MIN_COLS, MIN_LINES): + raise WindowTooSmallException( + "Could not increase terminal size. Try running again with a larger window or smaller font size." + ) # the install-models application spawns a subprocess to install # models, and will crash unless this is set before running. @@ -842,6 +843,8 @@ def main(): postscript(errors=errors) if not opt.yes_to_all: input("Press any key to continue...") + except WindowTooSmallException as e: + logger.error(str(e)) except KeyboardInterrupt: print("\nGoodbye! Come back soon.") diff --git a/invokeai/frontend/install/model_install.py b/invokeai/frontend/install/model_install.py index 0633553a3d..55e45931e3 100644 --- a/invokeai/frontend/install/model_install.py +++ b/invokeai/frontend/install/model_install.py @@ -28,7 +28,6 @@ from npyscreen import widget from invokeai.backend.util.logging import InvokeAILogger from invokeai.backend.install.model_install_backend import ( - ModelInstallList, InstallSelections, ModelInstall, SchedulerPredictionType, @@ -41,12 +40,12 @@ from invokeai.frontend.install.widgets import ( SingleSelectColumns, TextBox, BufferBox, - FileBox, set_min_terminal_size, select_stable_diffusion_config_file, CyclingForm, MIN_COLS, MIN_LINES, + WindowTooSmallException, ) from invokeai.app.services.config import InvokeAIAppConfig @@ -156,7 +155,7 @@ class addModelsForm(CyclingForm, npyscreen.FormMultiPage): BufferBox, name="Log Messages", editable=False, - max_height=15, + max_height=6, ) self.nextrely += 1 @@ -693,7 +692,11 @@ def select_and_download_models(opt: Namespace): # needed to support the probe() method running under a subprocess torch.multiprocessing.set_start_method("spawn") - set_min_terminal_size(MIN_COLS, MIN_LINES) + if not set_min_terminal_size(MIN_COLS, MIN_LINES): + raise WindowTooSmallException( + "Could not increase terminal size. Try running again with a larger window or smaller font size." + ) + installApp = AddModelApplication(opt) try: installApp.run() @@ -787,6 +790,8 @@ def main(): curses.echo() curses.endwin() logger.info("Goodbye! Come back soon.") + except WindowTooSmallException as e: + logger.error(str(e)) except widget.NotEnoughSpaceForWidget as e: if str(e).startswith("Height of 1 allocated"): logger.error("Insufficient vertical space for the interface. Please make your window taller and try again") diff --git a/invokeai/frontend/install/widgets.py b/invokeai/frontend/install/widgets.py index c1481035d5..156503f0b8 100644 --- a/invokeai/frontend/install/widgets.py +++ b/invokeai/frontend/install/widgets.py @@ -21,31 +21,40 @@ MIN_COLS = 130 MIN_LINES = 38 +class WindowTooSmallException(Exception): + pass + + # ------------------------------------- -def set_terminal_size(columns: int, lines: int): - ts = get_terminal_size() - width = max(columns, ts.columns) - height = max(lines, ts.lines) - +def set_terminal_size(columns: int, lines: int) -> bool: OS = platform.uname().system - if OS == "Windows": - pass - # not working reliably - ask user to adjust the window - # _set_terminal_size_powershell(width,height) - elif OS in ["Darwin", "Linux"]: - _set_terminal_size_unix(width, height) + screen_ok = False + while not screen_ok: + ts = get_terminal_size() + width = max(columns, ts.columns) + height = max(lines, ts.lines) - # check whether it worked.... - ts = get_terminal_size() - pause = False - if ts.columns < columns: - print("\033[1mThis window is too narrow for the user interface.\033[0m") - pause = True - if ts.lines < lines: - print("\033[1mThis window is too short for the user interface.\033[0m") - pause = True - if pause: - input("Maximize the window then press any key to continue..") + if OS == "Windows": + pass + # not working reliably - ask user to adjust the window + # _set_terminal_size_powershell(width,height) + elif OS in ["Darwin", "Linux"]: + _set_terminal_size_unix(width, height) + + # check whether it worked.... + ts = get_terminal_size() + if ts.columns < columns or ts.lines < lines: + print( + f"\033[1mThis window is too small for the interface. InvokeAI requires {columns}x{lines} (w x h) characters, but window is {ts.columns}x{ts.lines}\033[0m" + ) + resp = input( + "Maximize the window and/or decrease the font size then press any key to continue. Type [Q] to give up.." + ) + if resp.upper().startswith("Q"): + break + else: + screen_ok = True + return screen_ok def _set_terminal_size_powershell(width: int, height: int): @@ -80,14 +89,14 @@ def _set_terminal_size_unix(width: int, height: int): sys.stdout.flush() -def set_min_terminal_size(min_cols: int, min_lines: int): +def set_min_terminal_size(min_cols: int, min_lines: int) -> bool: # make sure there's enough room for the ui term_cols, term_lines = get_terminal_size() if term_cols >= min_cols and term_lines >= min_lines: - return + return True cols = max(term_cols, min_cols) lines = max(term_lines, min_lines) - set_terminal_size(cols, lines) + return set_terminal_size(cols, lines) class IntSlider(npyscreen.Slider): From da0184a786177fe0e281f4c4b1a671ac5839b38d Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Tue, 8 Aug 2023 20:01:49 +0300 Subject: [PATCH 124/287] Invert mask, fix l2l on no mask conntected, remove zeroing latents on zero start --- invokeai/app/invocations/latent.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index 3872a04f7e..d658637aad 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -462,7 +462,7 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): mask_tensor = tv_resize( mask_tensor, lantents.shape[-2:], T.InterpolationMode.BILINEAR ) - return mask_tensor + return 1 - mask_tensor @torch.no_grad() def invoke(self, context: InvocationContext) -> LatentsOutput: @@ -502,10 +502,11 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): with ExitStack() as exit_stack, ModelPatcher.apply_lora_unet( unet_info.context.model, _lora_loader() ), unet_info as unet: + latent = latent.to(device=unet.device, dtype=unet.dtype) if noise is not None: noise = noise.to(device=unet.device, dtype=unet.dtype) - latent = latent.to(device=unet.device, dtype=unet.dtype) - mask = mask.to(device=unet.device, dtype=unet.dtype) + if mask is not None: + mask = mask.to(device=unet.device, dtype=unet.dtype) scheduler = get_scheduler( context=context, @@ -526,11 +527,6 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): exit_stack=exit_stack, ) - # TODO: Verify the noise is the right size - initial_latents = latent - if self.denoising_start <= 0.0: - initial_latents = torch.zeros_like(latent, device=unet.device, dtype=latent.dtype) - num_inference_steps, timesteps = self.init_scheduler( scheduler, device=unet.device, @@ -540,7 +536,7 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): ) result_latents, result_attention_map_saver = pipeline.latents_from_embeddings( - latents=initial_latents, + latents=latent, timesteps=timesteps, noise=noise, seed=seed, From a7e44678fb9f4242916045d730a711d265c8c57f Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Tue, 8 Aug 2023 20:49:01 +0300 Subject: [PATCH 125/287] Remove legacy/unused code --- invokeai/app/invocations/generate.py | 253 -------- invokeai/app/util/step_callback.py | 55 -- invokeai/backend/__init__.py | 1 - invokeai/backend/generator/__init__.py | 12 - invokeai/backend/generator/base.py | 559 ------------------ invokeai/backend/generator/img2img.py | 92 --- invokeai/backend/generator/inpaint.py | 379 ------------ .../stable_diffusion/diffusers_pipeline.py | 224 +------ .../diffusion/shared_invokeai_diffusion.py | 70 --- .../backend/stable_diffusion/offloading.py | 253 -------- 10 files changed, 5 insertions(+), 1893 deletions(-) delete mode 100644 invokeai/app/invocations/generate.py delete mode 100644 invokeai/backend/generator/__init__.py delete mode 100644 invokeai/backend/generator/base.py delete mode 100644 invokeai/backend/generator/img2img.py delete mode 100644 invokeai/backend/generator/inpaint.py delete mode 100644 invokeai/backend/stable_diffusion/offloading.py diff --git a/invokeai/app/invocations/generate.py b/invokeai/app/invocations/generate.py deleted file mode 100644 index 1239d578d9..0000000000 --- a/invokeai/app/invocations/generate.py +++ /dev/null @@ -1,253 +0,0 @@ -# Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) - -from functools import partial -from typing import Literal, Optional, get_args - -import torch -from pydantic import Field - -from invokeai.app.models.image import ColorField, ImageCategory, ImageField, ResourceOrigin -from invokeai.app.util.misc import SEED_MAX, get_random_seed -from invokeai.backend.generator.inpaint import infill_methods - -from ...backend.generator import Inpaint, InvokeAIGenerator -from ...backend.stable_diffusion import PipelineIntermediateState -from ..util.step_callback import stable_diffusion_step_callback -from .baseinvocation import BaseInvocation, InvocationConfig, InvocationContext -from .image import ImageOutput - -from ...backend.model_management import ModelPatcher, BaseModelType -from ...backend.stable_diffusion.diffusers_pipeline import StableDiffusionGeneratorPipeline -from .model import UNetField, VaeField -from .compel import ConditioningField -from contextlib import contextmanager, ExitStack, ContextDecorator - -SAMPLER_NAME_VALUES = Literal[tuple(InvokeAIGenerator.schedulers())] -INFILL_METHODS = Literal[tuple(infill_methods())] -DEFAULT_INFILL_METHOD = "patchmatch" if "patchmatch" in get_args(INFILL_METHODS) else "tile" - - -from .latent import get_scheduler - - -class OldModelContext(ContextDecorator): - model: StableDiffusionGeneratorPipeline - - def __init__(self, model): - self.model = model - - def __enter__(self): - return self.model - - def __exit__(self, *exc): - return False - - -class OldModelInfo: - name: str - hash: str - context: OldModelContext - - def __init__(self, name: str, hash: str, model: StableDiffusionGeneratorPipeline): - self.name = name - self.hash = hash - self.context = OldModelContext( - model=model, - ) - - -class InpaintInvocation(BaseInvocation): - """Generates an image using inpaint.""" - - type: Literal["inpaint"] = "inpaint" - - positive_conditioning: Optional[ConditioningField] = Field(description="Positive conditioning for generation") - negative_conditioning: Optional[ConditioningField] = Field(description="Negative conditioning for generation") - seed: int = Field( - ge=0, le=SEED_MAX, description="The seed to use (omit for random)", default_factory=get_random_seed - ) - steps: int = Field(default=30, gt=0, description="The number of steps to use to generate the image") - width: int = Field( - default=512, - multiple_of=8, - gt=0, - description="The width of the resulting image", - ) - height: int = Field( - default=512, - multiple_of=8, - gt=0, - description="The height of the resulting image", - ) - cfg_scale: float = Field( - default=7.5, - ge=1, - description="The Classifier-Free Guidance, higher values may result in a result closer to the prompt", - ) - scheduler: SAMPLER_NAME_VALUES = Field(default="euler", description="The scheduler to use") - unet: UNetField = Field(default=None, description="UNet model") - vae: VaeField = Field(default=None, description="Vae model") - - # Inputs - image: Optional[ImageField] = Field(description="The input image") - strength: float = Field(default=0.75, gt=0, le=1, description="The strength of the original image") - fit: bool = Field( - default=True, - description="Whether or not the result should be fit to the aspect ratio of the input image", - ) - - # Inputs - mask: Optional[ImageField] = Field(description="The mask") - seam_size: int = Field(default=96, ge=1, description="The seam inpaint size (px)") - seam_blur: int = Field(default=16, ge=0, description="The seam inpaint blur radius (px)") - seam_strength: float = Field(default=0.75, gt=0, le=1, description="The seam inpaint strength") - seam_steps: int = Field(default=30, ge=1, description="The number of steps to use for seam inpaint") - tile_size: int = Field(default=32, ge=1, description="The tile infill method size (px)") - infill_method: INFILL_METHODS = Field( - default=DEFAULT_INFILL_METHOD, - description="The method used to infill empty regions (px)", - ) - inpaint_width: Optional[int] = Field( - default=None, - multiple_of=8, - gt=0, - description="The width of the inpaint region (px)", - ) - inpaint_height: Optional[int] = Field( - default=None, - multiple_of=8, - gt=0, - description="The height of the inpaint region (px)", - ) - inpaint_fill: Optional[ColorField] = Field( - default=ColorField(r=127, g=127, b=127, a=255), - description="The solid infill method color", - ) - inpaint_replace: float = Field( - default=0.0, - ge=0.0, - le=1.0, - description="The amount by which to replace masked areas with latent noise", - ) - - # Schema customisation - class Config(InvocationConfig): - schema_extra = { - "ui": {"tags": ["stable-diffusion", "image"], "title": "Inpaint"}, - } - - def dispatch_progress( - self, - context: InvocationContext, - source_node_id: str, - base_model: BaseModelType, - intermediate_state: PipelineIntermediateState, - ) -> None: - stable_diffusion_step_callback( - context=context, - intermediate_state=intermediate_state, - node=self.dict(), - source_node_id=source_node_id, - base_model=base_model, - ) - - def get_conditioning(self, context, unet): - positive_cond_data = context.services.latents.get(self.positive_conditioning.conditioning_name) - c = positive_cond_data.conditionings[0].to(device=unet.device, dtype=unet.dtype) - extra_conditioning_info = c.extra_conditioning - - negative_cond_data = context.services.latents.get(self.negative_conditioning.conditioning_name) - uc = negative_cond_data.conditionings[0].to(device=unet.device, dtype=unet.dtype) - - return (uc, c, extra_conditioning_info) - - @contextmanager - def load_model_old_way(self, context, scheduler): - def _lora_loader(): - for lora in self.unet.loras: - lora_info = context.services.model_manager.get_model( - **lora.dict(exclude={"weight"}), - context=context, - ) - yield (lora_info.context.model, lora.weight) - del lora_info - return - - unet_info = context.services.model_manager.get_model( - **self.unet.unet.dict(), - context=context, - ) - vae_info = context.services.model_manager.get_model( - **self.vae.vae.dict(), - context=context, - ) - - with vae_info as vae, ModelPatcher.apply_lora_unet(unet_info.context.model, _lora_loader()), unet_info as unet: - device = context.services.model_manager.mgr.cache.execution_device - dtype = context.services.model_manager.mgr.cache.precision - - pipeline = StableDiffusionGeneratorPipeline( - vae=vae, - text_encoder=None, - tokenizer=None, - unet=unet, - scheduler=scheduler, - safety_checker=None, - feature_extractor=None, - requires_safety_checker=False, - precision="float16" if dtype == torch.float16 else "float32", - execution_device=device, - ) - - yield OldModelInfo( - name=self.unet.unet.model_name, - hash="", - model=pipeline, - ) - - def invoke(self, context: InvocationContext) -> ImageOutput: - image = None if self.image is None else context.services.images.get_pil_image(self.image.image_name) - mask = None if self.mask is None else context.services.images.get_pil_image(self.mask.image_name) - - # Get the source node id (we are invoking the prepared node) - graph_execution_state = context.services.graph_execution_manager.get(context.graph_execution_state_id) - source_node_id = graph_execution_state.prepared_source_mapping[self.id] - - scheduler = get_scheduler( - context=context, - scheduler_info=self.unet.scheduler, - scheduler_name=self.scheduler, - ) - - with self.load_model_old_way(context, scheduler) as model: - conditioning = self.get_conditioning(context, model.context.model.unet) - - outputs = Inpaint(model).generate( - conditioning=conditioning, - scheduler=scheduler, - init_image=image, - mask_image=mask, - step_callback=partial(self.dispatch_progress, context, source_node_id, self.unet.unet.base_model), - **self.dict( - exclude={"positive_conditioning", "negative_conditioning", "scheduler", "image", "mask"} - ), # Shorthand for passing all of the parameters above manually - ) - - # Outputs is an infinite iterator that will return a new InvokeAIGeneratorOutput object - # each time it is called. We only need the first one. - generator_output = next(outputs) - - image_dto = context.services.images.create( - image=generator_output.image, - image_origin=ResourceOrigin.INTERNAL, - image_category=ImageCategory.GENERAL, - session_id=context.graph_execution_state_id, - node_id=self.id, - is_intermediate=self.is_intermediate, - ) - - return ImageOutput( - image=ImageField(image_name=image_dto.image_name), - width=image_dto.width, - height=image_dto.height, - ) diff --git a/invokeai/app/util/step_callback.py b/invokeai/app/util/step_callback.py index aae06913fd..5f802c796a 100644 --- a/invokeai/app/util/step_callback.py +++ b/invokeai/app/util/step_callback.py @@ -4,7 +4,6 @@ from invokeai.app.models.exceptions import CanceledException from invokeai.app.models.image import ProgressImage from ..invocations.baseinvocation import InvocationContext from ...backend.util.util import image_to_dataURL -from ...backend.generator.base import Generator from ...backend.stable_diffusion import PipelineIntermediateState from invokeai.app.services.config import InvokeAIAppConfig from ...backend.model_management.models import BaseModelType @@ -118,57 +117,3 @@ def stable_diffusion_step_callback( step=intermediate_state.step, total_steps=node["steps"], ) - - -def stable_diffusion_xl_step_callback( - context: InvocationContext, - node: dict, - source_node_id: str, - sample, - step, - total_steps, -): - if context.services.queue.is_canceled(context.graph_execution_state_id): - raise CanceledException - - sdxl_latent_rgb_factors = torch.tensor( - [ - # R G B - [0.3816, 0.4930, 0.5320], - [-0.3753, 0.1631, 0.1739], - [0.1770, 0.3588, -0.2048], - [-0.4350, -0.2644, -0.4289], - ], - dtype=sample.dtype, - device=sample.device, - ) - - sdxl_smooth_matrix = torch.tensor( - [ - # [ 0.0478, 0.1285, 0.0478], - # [ 0.1285, 0.2948, 0.1285], - # [ 0.0478, 0.1285, 0.0478], - [0.0358, 0.0964, 0.0358], - [0.0964, 0.4711, 0.0964], - [0.0358, 0.0964, 0.0358], - ], - dtype=sample.dtype, - device=sample.device, - ) - - image = sample_to_lowres_estimated_image(sample, sdxl_latent_rgb_factors, sdxl_smooth_matrix) - - (width, height) = image.size - width *= 8 - height *= 8 - - dataURL = image_to_dataURL(image, image_format="JPEG") - - context.services.events.emit_generator_progress( - graph_execution_state_id=context.graph_execution_state_id, - node=node, - source_node_id=source_node_id, - progress_image=ProgressImage(width=width, height=height, dataURL=dataURL), - step=step, - total_steps=total_steps, - ) diff --git a/invokeai/backend/__init__.py b/invokeai/backend/__init__.py index aa2a1f1ca6..a4e6f180ae 100644 --- a/invokeai/backend/__init__.py +++ b/invokeai/backend/__init__.py @@ -1,6 +1,5 @@ """ Initialization file for invokeai.backend """ -from .generator import InvokeAIGeneratorBasicParams, InvokeAIGenerator, InvokeAIGeneratorOutput, Img2Img, Inpaint from .model_management import ModelManager, ModelCache, BaseModelType, ModelType, SubModelType, ModelInfo from .model_management.models import SilenceWarnings diff --git a/invokeai/backend/generator/__init__.py b/invokeai/backend/generator/__init__.py deleted file mode 100644 index 8a7f1c9167..0000000000 --- a/invokeai/backend/generator/__init__.py +++ /dev/null @@ -1,12 +0,0 @@ -""" -Initialization file for the invokeai.generator package -""" -from .base import ( - InvokeAIGenerator, - InvokeAIGeneratorBasicParams, - InvokeAIGeneratorOutput, - Img2Img, - Inpaint, - Generator, -) -from .inpaint import infill_methods diff --git a/invokeai/backend/generator/base.py b/invokeai/backend/generator/base.py deleted file mode 100644 index af3231a7d1..0000000000 --- a/invokeai/backend/generator/base.py +++ /dev/null @@ -1,559 +0,0 @@ -""" -Base class for invokeai.backend.generator.* -including img2img, txt2img, and inpaint -""" -from __future__ import annotations - -import itertools -import dataclasses -import diffusers -import os -import random -import traceback -from abc import ABCMeta -from argparse import Namespace -from contextlib import nullcontext - -import cv2 -import numpy as np -import torch -from PIL import Image, ImageChops, ImageFilter -from accelerate.utils import set_seed -from diffusers import DiffusionPipeline -from tqdm import trange -from typing import Callable, List, Iterator, Optional, Type, Union -from dataclasses import dataclass, field -from diffusers.schedulers import SchedulerMixin as Scheduler - -import invokeai.backend.util.logging as logger -from ..image_util import configure_model_padding -from ..util.util import rand_perlin_2d -from ..stable_diffusion.diffusers_pipeline import StableDiffusionGeneratorPipeline -from ..stable_diffusion.schedulers import SCHEDULER_MAP - -downsampling = 8 - - -@dataclass -class InvokeAIGeneratorBasicParams: - seed: Optional[int] = None - width: int = 512 - height: int = 512 - cfg_scale: float = 7.5 - steps: int = 20 - ddim_eta: float = 0.0 - scheduler: str = "ddim" - precision: str = "float16" - perlin: float = 0.0 - threshold: float = 0.0 - seamless: bool = False - seamless_axes: List[str] = field(default_factory=lambda: ["x", "y"]) - h_symmetry_time_pct: Optional[float] = None - v_symmetry_time_pct: Optional[float] = None - variation_amount: float = 0.0 - with_variations: list = field(default_factory=list) - - -@dataclass -class InvokeAIGeneratorOutput: - """ - InvokeAIGeneratorOutput is a dataclass that contains the outputs of a generation - operation, including the image, its seed, the model name used to generate the image - and the model hash, as well as all the generate() parameters that went into - generating the image (in .params, also available as attributes) - """ - - image: Image.Image - seed: int - model_hash: str - attention_maps_images: List[Image.Image] - params: Namespace - - -# we are interposing a wrapper around the original Generator classes so that -# old code that calls Generate will continue to work. -class InvokeAIGenerator(metaclass=ABCMeta): - def __init__( - self, - model_info: dict, - params: InvokeAIGeneratorBasicParams = InvokeAIGeneratorBasicParams(), - **kwargs, - ): - self.model_info = model_info - self.params = params - self.kwargs = kwargs - - def generate( - self, - conditioning: tuple, - scheduler, - callback: Optional[Callable] = None, - step_callback: Optional[Callable] = None, - iterations: int = 1, - **keyword_args, - ) -> Iterator[InvokeAIGeneratorOutput]: - """ - Return an iterator across the indicated number of generations. - Each time the iterator is called it will return an InvokeAIGeneratorOutput - object. Use like this: - - outputs = txt2img.generate(prompt='banana sushi', iterations=5) - for result in outputs: - print(result.image, result.seed) - - In the typical case of wanting to get just a single image, iterations - defaults to 1 and do: - - output = next(txt2img.generate(prompt='banana sushi') - - Pass None to get an infinite iterator. - - outputs = txt2img.generate(prompt='banana sushi', iterations=None) - for o in outputs: - print(o.image, o.seed) - - """ - generator_args = dataclasses.asdict(self.params) - generator_args.update(keyword_args) - - model_info = self.model_info - model_name = model_info.name - model_hash = model_info.hash - with model_info.context as model: - gen_class = self._generator_class() - generator = gen_class(model, self.params.precision, **self.kwargs) - if self.params.variation_amount > 0: - generator.set_variation( - generator_args.get("seed"), - generator_args.get("variation_amount"), - generator_args.get("with_variations"), - ) - - if isinstance(model, DiffusionPipeline): - for component in [model.unet, model.vae]: - configure_model_padding( - component, generator_args.get("seamless", False), generator_args.get("seamless_axes") - ) - else: - configure_model_padding( - model, generator_args.get("seamless", False), generator_args.get("seamless_axes") - ) - - iteration_count = range(iterations) if iterations else itertools.count(start=0, step=1) - for i in iteration_count: - results = generator.generate( - conditioning=conditioning, - step_callback=step_callback, - sampler=scheduler, - **generator_args, - ) - output = InvokeAIGeneratorOutput( - image=results[0][0], - seed=results[0][1], - attention_maps_images=results[0][2], - model_hash=model_hash, - params=Namespace(model_name=model_name, **generator_args), - ) - if callback: - callback(output) - yield output - - @classmethod - def schedulers(self) -> List[str]: - """ - Return list of all the schedulers that we currently handle. - """ - return list(SCHEDULER_MAP.keys()) - - def load_generator(self, model: StableDiffusionGeneratorPipeline, generator_class: Type[Generator]): - return generator_class(model, self.params.precision) - - @classmethod - def _generator_class(cls) -> Type[Generator]: - """ - In derived classes return the name of the generator to apply. - If you don't override will return the name of the derived - class, which nicely parallels the generator class names. - """ - return Generator - - -# ------------------------------------ -class Img2Img(InvokeAIGenerator): - def generate( - self, init_image: Union[Image.Image, torch.FloatTensor], strength: float = 0.75, **keyword_args - ) -> Iterator[InvokeAIGeneratorOutput]: - return super().generate(init_image=init_image, strength=strength, **keyword_args) - - @classmethod - def _generator_class(cls): - from .img2img import Img2Img - - return Img2Img - - -# ------------------------------------ -# Takes all the arguments of Img2Img and adds the mask image and the seam/infill stuff -class Inpaint(Img2Img): - def generate( - self, - mask_image: Union[Image.Image, torch.FloatTensor], - # Seam settings - when 0, doesn't fill seam - seam_size: int = 96, - seam_blur: int = 16, - seam_strength: float = 0.7, - seam_steps: int = 30, - tile_size: int = 32, - inpaint_replace=False, - infill_method=None, - inpaint_width=None, - inpaint_height=None, - inpaint_fill: tuple(int) = (0x7F, 0x7F, 0x7F, 0xFF), - **keyword_args, - ) -> Iterator[InvokeAIGeneratorOutput]: - return super().generate( - mask_image=mask_image, - seam_size=seam_size, - seam_blur=seam_blur, - seam_strength=seam_strength, - seam_steps=seam_steps, - tile_size=tile_size, - inpaint_replace=inpaint_replace, - infill_method=infill_method, - inpaint_width=inpaint_width, - inpaint_height=inpaint_height, - inpaint_fill=inpaint_fill, - **keyword_args, - ) - - @classmethod - def _generator_class(cls): - from .inpaint import Inpaint - - return Inpaint - - -class Generator: - downsampling_factor: int - latent_channels: int - precision: str - model: DiffusionPipeline - - def __init__(self, model: DiffusionPipeline, precision: str, **kwargs): - self.model = model - self.precision = precision - self.seed = None - self.latent_channels = model.unet.config.in_channels - self.downsampling_factor = downsampling # BUG: should come from model or config - self.perlin = 0.0 - self.threshold = 0 - self.variation_amount = 0 - self.with_variations = [] - self.use_mps_noise = False - self.free_gpu_mem = None - - # this is going to be overridden in img2img.py, txt2img.py and inpaint.py - def get_make_image(self, **kwargs): - """ - Returns a function returning an image derived from the prompt and the initial image - Return value depends on the seed at the time you call it - """ - raise NotImplementedError("image_iterator() must be implemented in a descendent class") - - def set_variation(self, seed, variation_amount, with_variations): - self.seed = seed - self.variation_amount = variation_amount - self.with_variations = with_variations - - def generate( - self, - width, - height, - sampler, - init_image=None, - iterations=1, - seed=None, - image_callback=None, - step_callback=None, - threshold=0.0, - perlin=0.0, - h_symmetry_time_pct=None, - v_symmetry_time_pct=None, - free_gpu_mem: bool = False, - **kwargs, - ): - scope = nullcontext - self.free_gpu_mem = free_gpu_mem - attention_maps_images = [] - attention_maps_callback = lambda saver: attention_maps_images.append(saver.get_stacked_maps_image()) - make_image = self.get_make_image( - sampler=sampler, - init_image=init_image, - width=width, - height=height, - step_callback=step_callback, - threshold=threshold, - perlin=perlin, - h_symmetry_time_pct=h_symmetry_time_pct, - v_symmetry_time_pct=v_symmetry_time_pct, - attention_maps_callback=attention_maps_callback, - **kwargs, - ) - results = [] - seed = seed if seed is not None and seed >= 0 else self.new_seed() - first_seed = seed - seed, initial_noise = self.generate_initial_noise(seed, width, height) - - # There used to be an additional self.model.ema_scope() here, but it breaks - # the inpaint-1.5 model. Not sure what it did.... ? - with scope(self.model.device.type): - for n in trange(iterations, desc="Generating"): - x_T = None - if self.variation_amount > 0: - set_seed(seed) - target_noise = self.get_noise(width, height) - x_T = self.slerp(self.variation_amount, initial_noise, target_noise) - elif initial_noise is not None: - # i.e. we specified particular variations - x_T = initial_noise - else: - set_seed(seed) - try: - x_T = self.get_noise(width, height) - except: - logger.error("An error occurred while getting initial noise") - print(traceback.format_exc()) - - # Pass on the seed in case a layer beneath us needs to generate noise on its own. - image = make_image(x_T, seed) - - results.append([image, seed, attention_maps_images]) - - if image_callback is not None: - attention_maps_image = None if len(attention_maps_images) == 0 else attention_maps_images[-1] - image_callback( - image, - seed, - first_seed=first_seed, - attention_maps_image=attention_maps_image, - ) - - seed = self.new_seed() - - # Free up memory from the last generation. - clear_cuda_cache = kwargs["clear_cuda_cache"] if "clear_cuda_cache" in kwargs else None - if clear_cuda_cache is not None: - clear_cuda_cache() - - return results - - def sample_to_image(self, samples) -> Image.Image: - """ - Given samples returned from a sampler, converts - it into a PIL Image - """ - with torch.inference_mode(): - image = self.model.decode_latents(samples) - return self.model.numpy_to_pil(image)[0] - - def repaste_and_color_correct( - self, - result: Image.Image, - init_image: Image.Image, - init_mask: Image.Image, - mask_blur_radius: int = 8, - ) -> Image.Image: - if init_image is None or init_mask is None: - return result - - # Get the original alpha channel of the mask if there is one. - # Otherwise it is some other black/white image format ('1', 'L' or 'RGB') - pil_init_mask = init_mask.getchannel("A") if init_mask.mode == "RGBA" else init_mask.convert("L") - pil_init_image = init_image.convert("RGBA") # Add an alpha channel if one doesn't exist - - # Build an image with only visible pixels from source to use as reference for color-matching. - init_rgb_pixels = np.asarray(init_image.convert("RGB"), dtype=np.uint8) - init_a_pixels = np.asarray(pil_init_image.getchannel("A"), dtype=np.uint8) - init_mask_pixels = np.asarray(pil_init_mask, dtype=np.uint8) - - # Get numpy version of result - np_image = np.asarray(result, dtype=np.uint8) - - # Mask and calculate mean and standard deviation - mask_pixels = init_a_pixels * init_mask_pixels > 0 - np_init_rgb_pixels_masked = init_rgb_pixels[mask_pixels, :] - np_image_masked = np_image[mask_pixels, :] - - if np_init_rgb_pixels_masked.size > 0: - init_means = np_init_rgb_pixels_masked.mean(axis=0) - init_std = np_init_rgb_pixels_masked.std(axis=0) - gen_means = np_image_masked.mean(axis=0) - gen_std = np_image_masked.std(axis=0) - - # Color correct - np_matched_result = np_image.copy() - np_matched_result[:, :, :] = ( - ( - ( - (np_matched_result[:, :, :].astype(np.float32) - gen_means[None, None, :]) - / gen_std[None, None, :] - ) - * init_std[None, None, :] - + init_means[None, None, :] - ) - .clip(0, 255) - .astype(np.uint8) - ) - matched_result = Image.fromarray(np_matched_result, mode="RGB") - else: - matched_result = Image.fromarray(np_image, mode="RGB") - - # Blur the mask out (into init image) by specified amount - if mask_blur_radius > 0: - nm = np.asarray(pil_init_mask, dtype=np.uint8) - nmd = cv2.erode( - nm, - kernel=np.ones((3, 3), dtype=np.uint8), - iterations=int(mask_blur_radius / 2), - ) - pmd = Image.fromarray(nmd, mode="L") - blurred_init_mask = pmd.filter(ImageFilter.BoxBlur(mask_blur_radius)) - else: - blurred_init_mask = pil_init_mask - - multiplied_blurred_init_mask = ImageChops.multiply(blurred_init_mask, self.pil_image.split()[-1]) - - # Paste original on color-corrected generation (using blurred mask) - matched_result.paste(init_image, (0, 0), mask=multiplied_blurred_init_mask) - return matched_result - - @staticmethod - def sample_to_lowres_estimated_image(samples): - # origingally adapted from code by @erucipe and @keturn here: - # https://discuss.huggingface.co/t/decoding-latents-to-rgb-without-upscaling/23204/7 - - # these updated numbers for v1.5 are from @torridgristle - v1_5_latent_rgb_factors = torch.tensor( - [ - # R G B - [0.3444, 0.1385, 0.0670], # L1 - [0.1247, 0.4027, 0.1494], # L2 - [-0.3192, 0.2513, 0.2103], # L3 - [-0.1307, -0.1874, -0.7445], # L4 - ], - dtype=samples.dtype, - device=samples.device, - ) - - latent_image = samples[0].permute(1, 2, 0) @ v1_5_latent_rgb_factors - latents_ubyte = ( - ((latent_image + 1) / 2).clamp(0, 1).mul(0xFF).byte() # change scale from -1..1 to 0..1 # to 0..255 - ).cpu() - - return Image.fromarray(latents_ubyte.numpy()) - - def generate_initial_noise(self, seed, width, height): - initial_noise = None - if self.variation_amount > 0 or len(self.with_variations) > 0: - # use fixed initial noise plus random noise per iteration - set_seed(seed) - initial_noise = self.get_noise(width, height) - for v_seed, v_weight in self.with_variations: - seed = v_seed - set_seed(seed) - next_noise = self.get_noise(width, height) - initial_noise = self.slerp(v_weight, initial_noise, next_noise) - if self.variation_amount > 0: - random.seed() # reset RNG to an actually random state, so we can get a random seed for variations - seed = random.randrange(0, np.iinfo(np.uint32).max) - return (seed, initial_noise) - - def get_perlin_noise(self, width, height): - fixdevice = "cpu" if (self.model.device.type == "mps") else self.model.device - # limit noise to only the diffusion image channels, not the mask channels - input_channels = min(self.latent_channels, 4) - # round up to the nearest block of 8 - temp_width = int((width + 7) / 8) * 8 - temp_height = int((height + 7) / 8) * 8 - noise = torch.stack( - [ - rand_perlin_2d((temp_height, temp_width), (8, 8), device=self.model.device).to(fixdevice) - for _ in range(input_channels) - ], - dim=0, - ).to(self.model.device) - return noise[0:4, 0:height, 0:width] - - def new_seed(self): - self.seed = random.randrange(0, np.iinfo(np.uint32).max) - return self.seed - - def slerp(self, t, v0, v1, DOT_THRESHOLD=0.9995): - """ - Spherical linear interpolation - Args: - t (float/np.ndarray): Float value between 0.0 and 1.0 - v0 (np.ndarray): Starting vector - v1 (np.ndarray): Final vector - DOT_THRESHOLD (float): Threshold for considering the two vectors as - colineal. Not recommended to alter this. - Returns: - v2 (np.ndarray): Interpolation vector between v0 and v1 - """ - inputs_are_torch = False - if not isinstance(v0, np.ndarray): - inputs_are_torch = True - v0 = v0.detach().cpu().numpy() - if not isinstance(v1, np.ndarray): - inputs_are_torch = True - v1 = v1.detach().cpu().numpy() - - dot = np.sum(v0 * v1 / (np.linalg.norm(v0) * np.linalg.norm(v1))) - if np.abs(dot) > DOT_THRESHOLD: - v2 = (1 - t) * v0 + t * v1 - else: - theta_0 = np.arccos(dot) - sin_theta_0 = np.sin(theta_0) - theta_t = theta_0 * t - sin_theta_t = np.sin(theta_t) - s0 = np.sin(theta_0 - theta_t) / sin_theta_0 - s1 = sin_theta_t / sin_theta_0 - v2 = s0 * v0 + s1 * v1 - - if inputs_are_torch: - v2 = torch.from_numpy(v2).to(self.model.device) - - return v2 - - # this is a handy routine for debugging use. Given a generated sample, - # convert it into a PNG image and store it at the indicated path - def save_sample(self, sample, filepath): - image = self.sample_to_image(sample) - dirname = os.path.dirname(filepath) or "." - if not os.path.exists(dirname): - logger.info(f"creating directory {dirname}") - os.makedirs(dirname, exist_ok=True) - image.save(filepath, "PNG") - - def torch_dtype(self) -> torch.dtype: - return torch.float16 if self.precision == "float16" else torch.float32 - - # returns a tensor filled with random numbers from a normal distribution - def get_noise(self, width, height): - device = self.model.device - # limit noise to only the diffusion image channels, not the mask channels - input_channels = min(self.latent_channels, 4) - x = torch.randn( - [ - 1, - input_channels, - height // self.downsampling_factor, - width // self.downsampling_factor, - ], - dtype=self.torch_dtype(), - device=device, - ) - if self.perlin > 0.0: - perlin_noise = self.get_perlin_noise(width // self.downsampling_factor, height // self.downsampling_factor) - x = (1 - self.perlin) * x + self.perlin * perlin_noise - return x diff --git a/invokeai/backend/generator/img2img.py b/invokeai/backend/generator/img2img.py deleted file mode 100644 index 5490b2325c..0000000000 --- a/invokeai/backend/generator/img2img.py +++ /dev/null @@ -1,92 +0,0 @@ -""" -invokeai.backend.generator.img2img descends from .generator -""" -from typing import Optional - -import torch -from accelerate.utils import set_seed -from diffusers import logging - -from ..stable_diffusion import ( - ConditioningData, - PostprocessingSettings, - StableDiffusionGeneratorPipeline, -) -from .base import Generator - - -class Img2Img(Generator): - def __init__(self, model, precision): - super().__init__(model, precision) - self.init_latent = None # by get_noise() - - def get_make_image( - self, - sampler, - steps, - cfg_scale, - ddim_eta, - conditioning, - init_image, - strength, - step_callback=None, - threshold=0.0, - warmup=0.2, - perlin=0.0, - h_symmetry_time_pct=None, - v_symmetry_time_pct=None, - attention_maps_callback=None, - **kwargs, - ): - """ - Returns a function returning an image derived from the prompt and the initial image - Return value depends on the seed at the time you call it. - """ - self.perlin = perlin - - # noinspection PyTypeChecker - pipeline: StableDiffusionGeneratorPipeline = self.model - pipeline.scheduler = sampler - - uc, c, extra_conditioning_info = conditioning - conditioning_data = ConditioningData( - uc, - c, - cfg_scale, - extra_conditioning_info, - postprocessing_settings=PostprocessingSettings( - threshold=threshold, - warmup=warmup, - h_symmetry_time_pct=h_symmetry_time_pct, - v_symmetry_time_pct=v_symmetry_time_pct, - ), - ).add_scheduler_args_if_applicable(pipeline.scheduler, eta=ddim_eta) - - def make_image(x_T: torch.Tensor, seed: int): - # FIXME: use x_T for initial seeded noise - # We're not at the moment because the pipeline automatically resizes init_image if - # necessary, which the x_T input might not match. - # In the meantime, reset the seed prior to generating pipeline output so we at least get the same result. - logging.set_verbosity_error() # quench safety check warnings - pipeline_output = pipeline.img2img_from_embeddings( - init_image, - strength, - steps, - conditioning_data, - noise_func=self.get_noise_like, - callback=step_callback, - seed=seed, - ) - if pipeline_output.attention_map_saver is not None and attention_maps_callback is not None: - attention_maps_callback(pipeline_output.attention_map_saver) - return pipeline.numpy_to_pil(pipeline_output.images)[0] - - return make_image - - def get_noise_like(self, like: torch.Tensor): - device = like.device - x = torch.randn_like(like, device=device) - if self.perlin > 0.0: - shape = like.shape - x = (1 - self.perlin) * x + self.perlin * self.get_perlin_noise(shape[3], shape[2]) - return x diff --git a/invokeai/backend/generator/inpaint.py b/invokeai/backend/generator/inpaint.py deleted file mode 100644 index 7aeb3d4809..0000000000 --- a/invokeai/backend/generator/inpaint.py +++ /dev/null @@ -1,379 +0,0 @@ -""" -invokeai.backend.generator.inpaint descends from .generator -""" -from __future__ import annotations - -import math -from typing import Tuple, Union, Optional - -import cv2 -import numpy as np -import torch -from PIL import Image, ImageChops, ImageFilter, ImageOps - -from ..image_util import PatchMatch, debug_image -from ..stable_diffusion.diffusers_pipeline import ( - ConditioningData, - StableDiffusionGeneratorPipeline, - image_resized_to_grid_as_tensor, -) -from .img2img import Img2Img - - -def infill_methods() -> list[str]: - methods = [ - "tile", - "solid", - ] - if PatchMatch.patchmatch_available(): - methods.insert(0, "patchmatch") - return methods - - -class Inpaint(Img2Img): - def __init__(self, model, precision): - self.inpaint_height = 0 - self.inpaint_width = 0 - self.enable_image_debugging = False - self.init_latent = None - self.pil_image = None - self.pil_mask = None - self.mask_blur_radius = 0 - self.infill_method = None - super().__init__(model, precision) - - # Outpaint support code - def get_tile_images(self, image: np.ndarray, width=8, height=8): - _nrows, _ncols, depth = image.shape - _strides = image.strides - - nrows, _m = divmod(_nrows, height) - ncols, _n = divmod(_ncols, width) - if _m != 0 or _n != 0: - return None - - return np.lib.stride_tricks.as_strided( - np.ravel(image), - shape=(nrows, ncols, height, width, depth), - strides=(height * _strides[0], width * _strides[1], *_strides), - writeable=False, - ) - - def infill_patchmatch(self, im: Image.Image) -> Image.Image: - if im.mode != "RGBA": - return im - - # Skip patchmatch if patchmatch isn't available - if not PatchMatch.patchmatch_available(): - return im - - # Patchmatch (note, we may want to expose patch_size? Increasing it significantly impacts performance though) - im_patched_np = PatchMatch.inpaint(im.convert("RGB"), ImageOps.invert(im.split()[-1]), patch_size=3) - im_patched = Image.fromarray(im_patched_np, mode="RGB") - return im_patched - - def tile_fill_missing(self, im: Image.Image, tile_size: int = 16, seed: Optional[int] = None) -> Image.Image: - # Only fill if there's an alpha layer - if im.mode != "RGBA": - return im - - a = np.asarray(im, dtype=np.uint8) - - tile_size_tuple = (tile_size, tile_size) - - # Get the image as tiles of a specified size - tiles = self.get_tile_images(a, *tile_size_tuple).copy() - - # Get the mask as tiles - tiles_mask = tiles[:, :, :, :, 3] - - # Find any mask tiles with any fully transparent pixels (we will be replacing these later) - tmask_shape = tiles_mask.shape - tiles_mask = tiles_mask.reshape(math.prod(tiles_mask.shape)) - n, ny = (math.prod(tmask_shape[0:2])), math.prod(tmask_shape[2:]) - tiles_mask = tiles_mask > 0 - tiles_mask = tiles_mask.reshape((n, ny)).all(axis=1) - - # Get RGB tiles in single array and filter by the mask - tshape = tiles.shape - tiles_all = tiles.reshape((math.prod(tiles.shape[0:2]), *tiles.shape[2:])) - filtered_tiles = tiles_all[tiles_mask] - - if len(filtered_tiles) == 0: - return im - - # Find all invalid tiles and replace with a random valid tile - replace_count = (tiles_mask == False).sum() - rng = np.random.default_rng(seed=seed) - tiles_all[np.logical_not(tiles_mask)] = filtered_tiles[ - rng.choice(filtered_tiles.shape[0], replace_count), :, :, : - ] - - # Convert back to an image - tiles_all = tiles_all.reshape(tshape) - tiles_all = tiles_all.swapaxes(1, 2) - st = tiles_all.reshape( - ( - math.prod(tiles_all.shape[0:2]), - math.prod(tiles_all.shape[2:4]), - tiles_all.shape[4], - ) - ) - si = Image.fromarray(st, mode="RGBA") - - return si - - def mask_edge(self, mask: Image.Image, edge_size: int, edge_blur: int) -> Image.Image: - npimg = np.asarray(mask, dtype=np.uint8) - - # Detect any partially transparent regions - npgradient = np.uint8(255 * (1.0 - np.floor(np.abs(0.5 - np.float32(npimg) / 255.0) * 2.0))) - - # Detect hard edges - npedge = cv2.Canny(npimg, threshold1=100, threshold2=200) - - # Combine - npmask = npgradient + npedge - - # Expand - npmask = cv2.dilate(npmask, np.ones((3, 3), np.uint8), iterations=int(edge_size / 2)) - - new_mask = Image.fromarray(npmask) - - if edge_blur > 0: - new_mask = new_mask.filter(ImageFilter.BoxBlur(edge_blur)) - - return ImageOps.invert(new_mask) - - def seam_paint( - self, - im: Image.Image, - seam_size: int, - seam_blur: int, - seed, - steps, - cfg_scale, - ddim_eta, - conditioning, - strength, - noise, - infill_method, - step_callback, - ) -> Image.Image: - hard_mask = self.pil_image.split()[-1].copy() - mask = self.mask_edge(hard_mask, seam_size, seam_blur) - - make_image = self.get_make_image( - steps, - cfg_scale, - ddim_eta, - conditioning, - init_image=im.copy().convert("RGBA"), - mask_image=mask, - strength=strength, - mask_blur_radius=0, - seam_size=0, - step_callback=step_callback, - inpaint_width=im.width, - inpaint_height=im.height, - infill_method=infill_method, - ) - - seam_noise = self.get_noise(im.width, im.height) - - result = make_image(seam_noise, seed=None) - - return result - - @torch.no_grad() - def get_make_image( - self, - steps, - cfg_scale, - ddim_eta, - conditioning, - init_image: Union[Image.Image, torch.FloatTensor], - mask_image: Union[Image.Image, torch.FloatTensor], - strength: float, - mask_blur_radius: int = 8, - # Seam settings - when 0, doesn't fill seam - seam_size: int = 96, - seam_blur: int = 16, - seam_strength: float = 0.7, - seam_steps: int = 30, - tile_size: int = 32, - step_callback=None, - inpaint_replace=False, - enable_image_debugging=False, - infill_method=None, - inpaint_width=None, - inpaint_height=None, - inpaint_fill: Tuple[int, int, int, int] = (0x7F, 0x7F, 0x7F, 0xFF), - attention_maps_callback=None, - **kwargs, - ): - """ - Returns a function returning an image derived from the prompt and - the initial image + mask. Return value depends on the seed at - the time you call it. kwargs are 'init_latent' and 'strength' - """ - - self.enable_image_debugging = enable_image_debugging - infill_method = infill_method or infill_methods()[0] - self.infill_method = infill_method - - self.inpaint_width = inpaint_width - self.inpaint_height = inpaint_height - - if isinstance(init_image, Image.Image): - self.pil_image = init_image.copy() - - # Do infill - if infill_method == "patchmatch" and PatchMatch.patchmatch_available(): - init_filled = self.infill_patchmatch(self.pil_image.copy()) - elif infill_method == "tile": - init_filled = self.tile_fill_missing(self.pil_image.copy(), seed=self.seed, tile_size=tile_size) - elif infill_method == "solid": - solid_bg = Image.new("RGBA", init_image.size, inpaint_fill) - init_filled = Image.alpha_composite(solid_bg, init_image) - else: - raise ValueError(f"Non-supported infill type {infill_method}", infill_method) - init_filled.paste(init_image, (0, 0), init_image.split()[-1]) - - # Resize if requested for inpainting - if inpaint_width and inpaint_height: - init_filled = init_filled.resize((inpaint_width, inpaint_height)) - - debug_image(init_filled, "init_filled", debug_status=self.enable_image_debugging) - - # Create init tensor - init_image = image_resized_to_grid_as_tensor(init_filled.convert("RGB")) - - if isinstance(mask_image, Image.Image): - self.pil_mask = mask_image.copy() - debug_image( - mask_image, - "mask_image BEFORE multiply with pil_image", - debug_status=self.enable_image_debugging, - ) - - init_alpha = self.pil_image.getchannel("A") - if mask_image.mode != "L": - # FIXME: why do we get passed an RGB image here? We can only use single-channel. - mask_image = mask_image.convert("L") - mask_image = ImageChops.multiply(mask_image, init_alpha) - self.pil_mask = mask_image - - # Resize if requested for inpainting - if inpaint_width and inpaint_height: - mask_image = mask_image.resize((inpaint_width, inpaint_height)) - - debug_image( - mask_image, - "mask_image AFTER multiply with pil_image", - debug_status=self.enable_image_debugging, - ) - mask: torch.FloatTensor = image_resized_to_grid_as_tensor(mask_image, normalize=False) - else: - mask: torch.FloatTensor = mask_image - - self.mask_blur_radius = mask_blur_radius - - # noinspection PyTypeChecker - pipeline: StableDiffusionGeneratorPipeline = self.model - - # todo: support cross-attention control - uc, c, _ = conditioning - conditioning_data = ConditioningData(uc, c, cfg_scale).add_scheduler_args_if_applicable( - pipeline.scheduler, eta=ddim_eta - ) - - def make_image(x_T: torch.Tensor, seed: int): - pipeline_output = pipeline.inpaint_from_embeddings( - init_image=init_image, - mask=1 - mask, # expects white means "paint here." - strength=strength, - num_inference_steps=steps, - conditioning_data=conditioning_data, - noise_func=self.get_noise_like, - callback=step_callback, - seed=seed, - ) - - if pipeline_output.attention_map_saver is not None and attention_maps_callback is not None: - attention_maps_callback(pipeline_output.attention_map_saver) - - result = self.postprocess_size_and_mask(pipeline.numpy_to_pil(pipeline_output.images)[0]) - - # Seam paint if this is our first pass (seam_size set to 0 during seam painting) - if seam_size > 0: - old_image = self.pil_image or init_image - old_mask = self.pil_mask or mask_image - - result = self.seam_paint( - result, - seam_size, - seam_blur, - seed, - seam_steps, - cfg_scale, - ddim_eta, - conditioning, - seam_strength, - x_T, - infill_method, - step_callback, - ) - - # Restore original settings - self.get_make_image( - steps, - cfg_scale, - ddim_eta, - conditioning, - old_image, - old_mask, - strength, - mask_blur_radius, - seam_size, - seam_blur, - seam_strength, - seam_steps, - tile_size, - step_callback, - inpaint_replace, - enable_image_debugging, - inpaint_width=inpaint_width, - inpaint_height=inpaint_height, - infill_method=infill_method, - **kwargs, - ) - - return result - - return make_image - - def sample_to_image(self, samples) -> Image.Image: - gen_result = super().sample_to_image(samples).convert("RGB") - return self.postprocess_size_and_mask(gen_result) - - def postprocess_size_and_mask(self, gen_result: Image.Image) -> Image.Image: - debug_image(gen_result, "gen_result", debug_status=self.enable_image_debugging) - - # Resize if necessary - if self.inpaint_width and self.inpaint_height: - gen_result = gen_result.resize(self.pil_image.size) - - if self.pil_image is None or self.pil_mask is None: - return gen_result - - corrected_result = self.repaste_and_color_correct( - gen_result, self.pil_image, self.pil_mask, self.mask_blur_radius - ) - debug_image( - corrected_result, - "corrected_result", - debug_status=self.enable_image_debugging, - ) - - return corrected_result diff --git a/invokeai/backend/stable_diffusion/diffusers_pipeline.py b/invokeai/backend/stable_diffusion/diffusers_pipeline.py index 8623ef9bfb..f452dc1037 100644 --- a/invokeai/backend/stable_diffusion/diffusers_pipeline.py +++ b/invokeai/backend/stable_diffusion/diffusers_pipeline.py @@ -1,18 +1,14 @@ from __future__ import annotations import dataclasses -import inspect -import math -import secrets -from collections.abc import Sequence from dataclasses import dataclass, field +import inspect from typing import Any, Callable, Generic, List, Optional, Type, TypeVar, Union from pydantic import Field import einops import PIL.Image import numpy as np -from accelerate.utils import set_seed import psutil import torch import torchvision.transforms as T @@ -23,15 +19,11 @@ from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion import ( StableDiffusionPipeline, ) -from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion_img2img import ( - StableDiffusionImg2ImgPipeline, -) from diffusers.pipelines.stable_diffusion.safety_checker import ( StableDiffusionSafetyChecker, ) from diffusers.schedulers import KarrasDiffusionSchedulers from diffusers.schedulers.scheduling_utils import SchedulerMixin, SchedulerOutput -from diffusers.utils import PIL_INTERPOLATION from diffusers.utils.import_utils import is_xformers_available from diffusers.utils.outputs import BaseOutput from torchvision.transforms.functional import resize as tv_resize @@ -45,7 +37,6 @@ from .diffusion import ( InvokeAIDiffuserComponent, PostprocessingSettings, ) -from .offloading import FullyLoadedModelGroup, ModelGroup @dataclass @@ -287,9 +278,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): feature_extractor ([`CLIPFeatureExtractor`]): Model that extracts features from generated images to be used as inputs for the `safety_checker`. """ - _model_group: ModelGroup - - ID_LENGTH = 8 def __init__( self, @@ -328,9 +316,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): # control_model=control_model, ) self.invokeai_diffuser = InvokeAIDiffuserComponent(self.unet, self._unet_forward) - - self._model_group = FullyLoadedModelGroup(execution_device or self.unet.device) - self._model_group.install(*self._submodels) self.control_model = control_model def _adjust_memory_efficient_attention(self, latents: torch.Tensor): @@ -373,28 +358,11 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): self.disable_attention_slicing() def to(self, torch_device: Optional[Union[str, torch.device]] = None, silence_dtype_warnings=False): - # overridden method; types match the superclass. - if torch_device is None: - return self - self._model_group.set_device(torch.device(torch_device)) - self._model_group.ready() + raise Exception("Should not be called") @property def device(self) -> torch.device: - return self._model_group.execution_device - - @property - def _submodels(self) -> Sequence[torch.nn.Module]: - module_names, _, _ = self.extract_init_dict(dict(self.config)) - submodels = [] - for name in module_names.keys(): - if hasattr(self, name): - value = getattr(self, name) - else: - value = getattr(self.config, name) - if isinstance(value, torch.nn.Module): - submodels.append(value) - return submodels + return self.unet.device def latents_from_embeddings( self, @@ -414,7 +382,7 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): if self.scheduler.config.get("cpu_only", False): scheduler_device = torch.device("cpu") else: - scheduler_device = self._model_group.device_for(self.unet) + scheduler_device = self.unet.device if timesteps is None: self.scheduler.set_timesteps(num_inference_steps, device=scheduler_device) @@ -511,7 +479,7 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): (batch_size,), timesteps[0], dtype=timesteps.dtype, - device=self._model_group.device_for(self.unet), + device=self.unet.device, ) yield PipelineIntermediateState( @@ -655,185 +623,3 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): cross_attention_kwargs=cross_attention_kwargs, **kwargs, ).sample - - def img2img_from_embeddings( - self, - init_image: Union[torch.FloatTensor, PIL.Image.Image], - strength: float, - num_inference_steps: int, - conditioning_data: ConditioningData, - *, - callback: Callable[[PipelineIntermediateState], None] = None, - noise_func=None, - seed=None, - ) -> InvokeAIStableDiffusionPipelineOutput: - if isinstance(init_image, PIL.Image.Image): - init_image = image_resized_to_grid_as_tensor(init_image.convert("RGB")) - - if init_image.dim() == 3: - init_image = einops.rearrange(init_image, "c h w -> 1 c h w") - - # 6. Prepare latent variables - initial_latents = self.non_noised_latents_from_image( - init_image, - device=self._model_group.device_for(self.unet), - dtype=self.unet.dtype, - ) - if seed is not None: - set_seed(seed) - noise = noise_func(initial_latents) - - return self.img2img_from_latents_and_embeddings( - initial_latents, - num_inference_steps, - conditioning_data, - strength, - noise, - callback, - ) - - def get_img2img_timesteps(self, num_inference_steps: int, strength: float, device=None) -> (torch.Tensor, int): - img2img_pipeline = StableDiffusionImg2ImgPipeline(**self.components) - assert img2img_pipeline.scheduler is self.scheduler - - if self.scheduler.config.get("cpu_only", False): - scheduler_device = torch.device("cpu") - else: - scheduler_device = self._model_group.device_for(self.unet) - - img2img_pipeline.scheduler.set_timesteps(num_inference_steps, device=scheduler_device) - timesteps, adjusted_steps = img2img_pipeline.get_timesteps( - num_inference_steps, strength, device=scheduler_device - ) - # Workaround for low strength resulting in zero timesteps. - # TODO: submit upstream fix for zero-step img2img - if timesteps.numel() == 0: - timesteps = self.scheduler.timesteps[-1:] - adjusted_steps = timesteps.numel() - return timesteps, adjusted_steps - - def inpaint_from_embeddings( - self, - init_image: torch.FloatTensor, - mask: torch.FloatTensor, - strength: float, - num_inference_steps: int, - conditioning_data: ConditioningData, - *, - callback: Callable[[PipelineIntermediateState], None] = None, - noise_func=None, - seed=None, - ) -> InvokeAIStableDiffusionPipelineOutput: - device = self._model_group.device_for(self.unet) - latents_dtype = self.unet.dtype - - if isinstance(init_image, PIL.Image.Image): - init_image = image_resized_to_grid_as_tensor(init_image.convert("RGB")) - - init_image = init_image.to(device=device, dtype=latents_dtype) - mask = mask.to(device=device, dtype=latents_dtype) - - if init_image.dim() == 3: - init_image = init_image.unsqueeze(0) - - timesteps, _ = self.get_img2img_timesteps(num_inference_steps, strength) - - # 6. Prepare latent variables - # can't quite use upstream StableDiffusionImg2ImgPipeline.prepare_latents - # because we have our own noise function - init_image_latents = self.non_noised_latents_from_image(init_image, device=device, dtype=latents_dtype) - if seed is not None: - set_seed(seed) - noise = noise_func(init_image_latents) - - if mask.dim() == 3: - mask = mask.unsqueeze(0) - latent_mask = tv_resize(mask, init_image_latents.shape[-2:], T.InterpolationMode.BILINEAR).to( - device=device, dtype=latents_dtype - ) - - guidance: List[Callable] = [] - - if is_inpainting_model(self.unet): - # You'd think the inpainting model wouldn't be paying attention to the area it is going to repaint - # (that's why there's a mask!) but it seems to really want that blanked out. - masked_init_image = init_image * torch.where(mask < 0.5, 1, 0) - masked_latents = self.non_noised_latents_from_image(masked_init_image, device=device, dtype=latents_dtype) - - # TODO: we should probably pass this in so we don't have to try/finally around setting it. - self.invokeai_diffuser.model_forward_callback = AddsMaskLatents( - self._unet_forward, latent_mask, masked_latents - ) - else: - guidance.append(AddsMaskGuidance(latent_mask, init_image_latents, self.scheduler, noise)) - - try: - result_latents, result_attention_maps = self.latents_from_embeddings( - latents=init_image_latents - if strength < 1.0 - else torch.zeros_like( - init_image_latents, device=init_image_latents.device, dtype=init_image_latents.dtype - ), - num_inference_steps=num_inference_steps, - conditioning_data=conditioning_data, - noise=noise, - timesteps=timesteps, - additional_guidance=guidance, - callback=callback, - ) - finally: - self.invokeai_diffuser.model_forward_callback = self._unet_forward - - # https://discuss.huggingface.co/t/memory-usage-by-later-pipeline-stages/23699 - torch.cuda.empty_cache() - - with torch.inference_mode(): - image = self.decode_latents(result_latents) - output = InvokeAIStableDiffusionPipelineOutput( - images=image, - nsfw_content_detected=[], - attention_map_saver=result_attention_maps, - ) - return self.check_for_safety(output, dtype=self.unet.dtype) - - def non_noised_latents_from_image(self, init_image, *, device: torch.device, dtype): - init_image = init_image.to(device=device, dtype=dtype) - with torch.inference_mode(): - self._model_group.load(self.vae) - init_latent_dist = self.vae.encode(init_image).latent_dist - init_latents = init_latent_dist.sample().to(dtype=dtype) # FIXME: uses torch.randn. make reproducible! - - init_latents = 0.18215 * init_latents - return init_latents - - def check_for_safety(self, output, dtype): - with torch.inference_mode(): - screened_images, has_nsfw_concept = self.run_safety_checker(output.images, dtype=dtype) - screened_attention_map_saver = None - if has_nsfw_concept is None or not has_nsfw_concept: - screened_attention_map_saver = output.attention_map_saver - return InvokeAIStableDiffusionPipelineOutput( - screened_images, - has_nsfw_concept, - # block the attention maps if NSFW content is detected - attention_map_saver=screened_attention_map_saver, - ) - - def run_safety_checker(self, image, device=None, dtype=None): - # overriding to use the model group for device info instead of requiring the caller to know. - if self.safety_checker is not None: - device = self._model_group.device_for(self.safety_checker) - return super().run_safety_checker(image, device, dtype) - - def decode_latents(self, latents): - # Explicit call to get the vae loaded, since `decode` isn't the forward method. - self._model_group.load(self.vae) - return super().decode_latents(latents) - - def debug_latents(self, latents, msg): - from invokeai.backend.image_util import debug_image - - with torch.inference_mode(): - decoded = self.numpy_to_pil(self.decode_latents(latents)) - for i, img in enumerate(decoded): - debug_image(img, f"latents {msg} {i+1}/{len(decoded)}", debug_status=True) diff --git a/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py b/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py index 4ff8c5abc7..1dc6c359a0 100644 --- a/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py +++ b/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py @@ -295,7 +295,6 @@ class InvokeAIDiffuserComponent: ) -> torch.Tensor: if postprocessing_settings is not None: percent_through = step_index / total_step_count - latents = self.apply_threshold(postprocessing_settings, latents, percent_through) latents = self.apply_symmetry(postprocessing_settings, latents, percent_through) return latents @@ -516,63 +515,6 @@ class InvokeAIDiffuserComponent: combined_next_x = unconditioned_next_x + scaled_delta return combined_next_x - def apply_threshold( - self, - postprocessing_settings: PostprocessingSettings, - latents: torch.Tensor, - percent_through: float, - ) -> torch.Tensor: - if postprocessing_settings.threshold is None or postprocessing_settings.threshold == 0.0: - return latents - - threshold = postprocessing_settings.threshold - warmup = postprocessing_settings.warmup - - if percent_through < warmup: - current_threshold = threshold + threshold * 5 * (1 - (percent_through / warmup)) - else: - current_threshold = threshold - - if current_threshold <= 0: - return latents - - maxval = latents.max().item() - minval = latents.min().item() - - scale = 0.7 # default value from #395 - - if self.debug_thresholding: - std, mean = [i.item() for i in torch.std_mean(latents)] - outside = torch.count_nonzero((latents < -current_threshold) | (latents > current_threshold)) - logger.info(f"Threshold: %={percent_through} threshold={current_threshold:.3f} (of {threshold:.3f})") - logger.debug(f"min, mean, max = {minval:.3f}, {mean:.3f}, {maxval:.3f}\tstd={std}") - logger.debug(f"{outside / latents.numel() * 100:.2f}% values outside threshold") - - if maxval < current_threshold and minval > -current_threshold: - return latents - - num_altered = 0 - - # MPS torch.rand_like is fine because torch.rand_like is wrapped in generate.py! - - if maxval > current_threshold: - latents = torch.clone(latents) - maxval = np.clip(maxval * scale, 1, current_threshold) - num_altered += torch.count_nonzero(latents > maxval) - latents[latents > maxval] = torch.rand_like(latents[latents > maxval]) * maxval - - if minval < -current_threshold: - latents = torch.clone(latents) - minval = np.clip(minval * scale, -current_threshold, -1) - num_altered += torch.count_nonzero(latents < minval) - latents[latents < minval] = torch.rand_like(latents[latents < minval]) * minval - - if self.debug_thresholding: - logger.debug(f"min, , max = {minval:.3f}, , {maxval:.3f}\t(scaled by {scale})") - logger.debug(f"{num_altered / latents.numel() * 100:.2f}% values altered") - - return latents - def apply_symmetry( self, postprocessing_settings: PostprocessingSettings, @@ -634,18 +576,6 @@ class InvokeAIDiffuserComponent: self.last_percent_through = percent_through return latents.to(device=dev) - def estimate_percent_through(self, step_index, sigma): - if step_index is not None and self.cross_attention_control_context is not None: - # percent_through will never reach 1.0 (but this is intended) - return float(step_index) / float(self.cross_attention_control_context.step_count) - # find the best possible index of the current sigma in the sigma sequence - smaller_sigmas = torch.nonzero(self.model.sigmas <= sigma) - sigma_index = smaller_sigmas[-1].item() if smaller_sigmas.shape[0] > 0 else 0 - # flip because sigmas[0] is for the fully denoised image - # percent_through must be <1 - return 1.0 - float(sigma_index + 1) / float(self.model.sigmas.shape[0]) - # print('estimated percent_through', percent_through, 'from sigma', sigma.item()) - # todo: make this work @classmethod def apply_conjunction(cls, x, t, forward_func, uc, c_or_weighted_c_list, global_guidance_scale): diff --git a/invokeai/backend/stable_diffusion/offloading.py b/invokeai/backend/stable_diffusion/offloading.py deleted file mode 100644 index aa2426d514..0000000000 --- a/invokeai/backend/stable_diffusion/offloading.py +++ /dev/null @@ -1,253 +0,0 @@ -from __future__ import annotations - -import warnings -import weakref -from abc import ABCMeta, abstractmethod -from collections.abc import MutableMapping -from typing import Callable, Union - -import torch -from accelerate.utils import send_to_device -from torch.utils.hooks import RemovableHandle - -OFFLOAD_DEVICE = torch.device("cpu") - - -class _NoModel: - """Symbol that indicates no model is loaded. - - (We can't weakref.ref(None), so this was my best idea at the time to come up with something - type-checkable.) - """ - - def __bool__(self): - return False - - def to(self, device: torch.device): - pass - - def __repr__(self): - return "" - - -NO_MODEL = _NoModel() - - -class ModelGroup(metaclass=ABCMeta): - """ - A group of models. - - The use case I had in mind when writing this is the sub-models used by a DiffusionPipeline, - e.g. its text encoder, U-net, VAE, etc. - - Those models are :py:class:`diffusers.ModelMixin`, but "model" is interchangeable with - :py:class:`torch.nn.Module` here. - """ - - def __init__(self, execution_device: torch.device): - self.execution_device = execution_device - - @abstractmethod - def install(self, *models: torch.nn.Module): - """Add models to this group.""" - pass - - @abstractmethod - def uninstall(self, models: torch.nn.Module): - """Remove models from this group.""" - pass - - @abstractmethod - def uninstall_all(self): - """Remove all models from this group.""" - - @abstractmethod - def load(self, model: torch.nn.Module): - """Load this model to the execution device.""" - pass - - @abstractmethod - def offload_current(self): - """Offload the current model(s) from the execution device.""" - pass - - @abstractmethod - def ready(self): - """Ready this group for use.""" - pass - - @abstractmethod - def set_device(self, device: torch.device): - """Change which device models from this group will execute on.""" - pass - - @abstractmethod - def device_for(self, model) -> torch.device: - """Get the device the given model will execute on. - - The model should already be a member of this group. - """ - pass - - @abstractmethod - def __contains__(self, model): - """Check if the model is a member of this group.""" - pass - - def __repr__(self) -> str: - return f"<{self.__class__.__name__} object at {id(self):x}: " f"device={self.execution_device} >" - - -class LazilyLoadedModelGroup(ModelGroup): - """ - Only one model from this group is loaded on the GPU at a time. - - Running the forward method of a model will displace the previously-loaded model, - offloading it to CPU. - - If you call other methods on the model, e.g. ``model.encode(x)`` instead of ``model(x)``, - you will need to explicitly load it with :py:method:`.load(model)`. - - This implementation relies on pytorch forward-pre-hooks, and it will copy forward arguments - to the appropriate execution device, as long as they are positional arguments and not keyword - arguments. (I didn't make the rules; that's the way the pytorch 1.13 API works for hooks.) - """ - - _hooks: MutableMapping[torch.nn.Module, RemovableHandle] - _current_model_ref: Callable[[], Union[torch.nn.Module, _NoModel]] - - def __init__(self, execution_device: torch.device): - super().__init__(execution_device) - self._hooks = weakref.WeakKeyDictionary() - self._current_model_ref = weakref.ref(NO_MODEL) - - def install(self, *models: torch.nn.Module): - for model in models: - self._hooks[model] = model.register_forward_pre_hook(self._pre_hook) - - def uninstall(self, *models: torch.nn.Module): - for model in models: - hook = self._hooks.pop(model) - hook.remove() - if self.is_current_model(model): - # no longer hooked by this object, so don't claim to manage it - self.clear_current_model() - - def uninstall_all(self): - self.uninstall(*self._hooks.keys()) - - def _pre_hook(self, module: torch.nn.Module, forward_input): - self.load(module) - if len(forward_input) == 0: - warnings.warn( - f"Hook for {module.__class__.__name__} got no input. " f"Inputs must be positional, not keywords.", - stacklevel=3, - ) - return send_to_device(forward_input, self.execution_device) - - def load(self, module): - if not self.is_current_model(module): - self.offload_current() - self._load(module) - - def offload_current(self): - module = self._current_model_ref() - if module is not NO_MODEL: - module.to(OFFLOAD_DEVICE) - self.clear_current_model() - - def _load(self, module: torch.nn.Module) -> torch.nn.Module: - assert self.is_empty(), f"A model is already loaded: {self._current_model_ref()}" - module = module.to(self.execution_device) - self.set_current_model(module) - return module - - def is_current_model(self, model: torch.nn.Module) -> bool: - """Is the given model the one currently loaded on the execution device?""" - return self._current_model_ref() is model - - def is_empty(self): - """Are none of this group's models loaded on the execution device?""" - return self._current_model_ref() is NO_MODEL - - def set_current_model(self, value): - self._current_model_ref = weakref.ref(value) - - def clear_current_model(self): - self._current_model_ref = weakref.ref(NO_MODEL) - - def set_device(self, device: torch.device): - if device == self.execution_device: - return - self.execution_device = device - current = self._current_model_ref() - if current is not NO_MODEL: - current.to(device) - - def device_for(self, model): - if model not in self: - raise KeyError(f"This does not manage this model {type(model).__name__}", model) - return self.execution_device # this implementation only dispatches to one device - - def ready(self): - pass # always ready to load on-demand - - def __contains__(self, model): - return model in self._hooks - - def __repr__(self) -> str: - return ( - f"<{self.__class__.__name__} object at {id(self):x}: " - f"current_model={type(self._current_model_ref()).__name__} >" - ) - - -class FullyLoadedModelGroup(ModelGroup): - """ - A group of models without any implicit loading or unloading. - - :py:meth:`.ready` loads _all_ the models to the execution device at once. - """ - - _models: weakref.WeakSet - - def __init__(self, execution_device: torch.device): - super().__init__(execution_device) - self._models = weakref.WeakSet() - - def install(self, *models: torch.nn.Module): - for model in models: - self._models.add(model) - model.to(self.execution_device) - - def uninstall(self, *models: torch.nn.Module): - for model in models: - self._models.remove(model) - - def uninstall_all(self): - self.uninstall(*self._models) - - def load(self, model): - model.to(self.execution_device) - - def offload_current(self): - for model in self._models: - model.to(OFFLOAD_DEVICE) - - def ready(self): - for model in self._models: - self.load(model) - - def set_device(self, device: torch.device): - self.execution_device = device - for model in self._models: - if model.device != OFFLOAD_DEVICE: - model.to(device) - - def device_for(self, model): - if model not in self: - raise KeyError("This does not manage this model f{type(model).__name__}", model) - return self.execution_device # this implementation only dispatches to one device - - def __contains__(self, model): - return model in self._models From f7aec3b9345e742bf701e0455fcf9c0318599b87 Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Tue, 8 Aug 2023 23:33:52 +0300 Subject: [PATCH 126/287] Move conditioning class to backend --- invokeai/app/invocations/compel.py | 32 ++--------------- invokeai/backend/stable_diffusion/__init__.py | 2 +- .../diffusion/shared_invokeai_diffusion.py | 35 ++++++++++++++++--- 3 files changed, 33 insertions(+), 36 deletions(-) diff --git a/invokeai/app/invocations/compel.py b/invokeai/app/invocations/compel.py index 41be7f7138..8ecd22e2d7 100644 --- a/invokeai/app/invocations/compel.py +++ b/invokeai/app/invocations/compel.py @@ -16,7 +16,7 @@ from ...backend.util.devices import torch_dtype from ...backend.model_management import ModelType from ...backend.model_management.models import ModelNotFoundException from ...backend.model_management.lora import ModelPatcher -from ...backend.stable_diffusion.diffusion import InvokeAIDiffuserComponent +from ...backend.stable_diffusion import InvokeAIDiffuserComponent, BasicConditioningInfo, SDXLConditioningInfo from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext from .model import ClipField from dataclasses import dataclass @@ -29,37 +29,9 @@ class ConditioningField(BaseModel): schema_extra = {"required": ["conditioning_name"]} -@dataclass -class BasicConditioningInfo: - # type: Literal["basic_conditioning"] = "basic_conditioning" - embeds: torch.Tensor - extra_conditioning: Optional[InvokeAIDiffuserComponent.ExtraConditioningInfo] - # weight: float - # mode: ConditioningAlgo - - def to(self, device, dtype=None): - self.embeds = self.embeds.to(device=device, dtype=dtype) - return self - - -@dataclass -class SDXLConditioningInfo(BasicConditioningInfo): - # type: Literal["sdxl_conditioning"] = "sdxl_conditioning" - pooled_embeds: torch.Tensor - add_time_ids: torch.Tensor - - def to(self, device, dtype=None): - self.pooled_embeds = self.pooled_embeds.to(device=device, dtype=dtype) - self.add_time_ids = self.add_time_ids.to(device=device, dtype=dtype) - return super().to(device=device, dtype=dtype) - - -ConditioningInfoType = Annotated[Union[BasicConditioningInfo, SDXLConditioningInfo], Field(discriminator="type")] - - @dataclass class ConditioningFieldData: - conditionings: List[Union[BasicConditioningInfo, SDXLConditioningInfo]] + conditionings: List[BasicConditioningInfo] # unconditioned: Optional[torch.Tensor] diff --git a/invokeai/backend/stable_diffusion/__init__.py b/invokeai/backend/stable_diffusion/__init__.py index 37024ccace..21273c6201 100644 --- a/invokeai/backend/stable_diffusion/__init__.py +++ b/invokeai/backend/stable_diffusion/__init__.py @@ -8,4 +8,4 @@ from .diffusers_pipeline import ( ) from .diffusion import InvokeAIDiffuserComponent from .diffusion.cross_attention_map_saving import AttentionMapSaver -from .diffusion.shared_invokeai_diffusion import PostprocessingSettings +from .diffusion.shared_invokeai_diffusion import PostprocessingSettings, BasicConditioningInfo, SDXLConditioningInfo diff --git a/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py b/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py index 1dc6c359a0..9b1630dc3a 100644 --- a/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py +++ b/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py @@ -1,3 +1,5 @@ +from __future__ import annotations + from contextlib import contextmanager from dataclasses import dataclass import math @@ -32,6 +34,29 @@ ModelForwardCallback: TypeAlias = Union[ ] +@dataclass +class BasicConditioningInfo: + embeds: torch.Tensor + extra_conditioning: Optional[InvokeAIDiffuserComponent.ExtraConditioningInfo] + # weight: float + # mode: ConditioningAlgo + + def to(self, device, dtype=None): + self.embeds = self.embeds.to(device=device, dtype=dtype) + return self + + +@dataclass +class SDXLConditioningInfo(BasicConditioningInfo): + pooled_embeds: torch.Tensor + add_time_ids: torch.Tensor + + def to(self, device, dtype=None): + self.pooled_embeds = self.pooled_embeds.to(device=device, dtype=dtype) + self.add_time_ids = self.add_time_ids.to(device=device, dtype=dtype) + return super().to(device=device, dtype=dtype) + + @dataclass(frozen=True) class PostprocessingSettings: threshold: float @@ -167,7 +192,7 @@ class InvokeAIDiffuserComponent: added_cond_kwargs = None if cfg_injection: # only applying ControlNet to conditional instead of in unconditioned - if type(conditioning_data.text_embeddings).__name__ == "SDXLConditioningInfo": + if type(conditioning_data.text_embeddings) is SDXLConditioningInfo: added_cond_kwargs = { "text_embeds": conditioning_data.text_embeddings.pooled_embeds, "time_ids": conditioning_data.text_embeddings.add_time_ids, @@ -175,7 +200,7 @@ class InvokeAIDiffuserComponent: encoder_hidden_states = conditioning_data.text_embeddings.embeds encoder_attention_mask = None else: - if type(conditioning_data.text_embeddings).__name__ == "SDXLConditioningInfo": + if type(conditioning_data.text_embeddings) is SDXLConditioningInfo: added_cond_kwargs = { "text_embeds": torch.cat([ # TODO: how to pad? just by zeros? or even truncate? @@ -353,7 +378,7 @@ class InvokeAIDiffuserComponent: sigma_twice = torch.cat([sigma] * 2) added_cond_kwargs = None - if type(conditioning_data.text_embeddings).__name__ == "SDXLConditioningInfo": + if type(conditioning_data.text_embeddings) is SDXLConditioningInfo: added_cond_kwargs = { "text_embeds": torch.cat([ # TODO: how to pad? just by zeros? or even truncate? @@ -404,7 +429,7 @@ class InvokeAIDiffuserComponent: uncond_mid_block, cond_mid_block = mid_block_additional_residual.chunk(2) added_cond_kwargs = None - is_sdxl = type(conditioning_data.text_embeddings).__name__ == "SDXLConditioningInfo" + is_sdxl = type(conditioning_data.text_embeddings) is SDXLConditioningInfo if is_sdxl: added_cond_kwargs = { "text_embeds": conditioning_data.unconditioned_embeddings.pooled_embeds, @@ -470,7 +495,7 @@ class InvokeAIDiffuserComponent: ) added_cond_kwargs = None - is_sdxl = type(conditioning_data.text_embeddings).__name__ == "SDXLConditioningInfo" + is_sdxl = type(conditioning_data.text_embeddings) is SDXLConditioningInfo if is_sdxl: added_cond_kwargs = { "text_embeds": conditioning_data.unconditioned_embeddings.pooled_embeds, From b4a74f65233d1e8dc38266cc7a0571873e10a76e Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Tue, 8 Aug 2023 23:57:02 +0300 Subject: [PATCH 127/287] Add MaskEdge and ColorCorrect nodes Co-Authored-By: Kent Keirsey <31807370+hipsterusername@users.noreply.github.com> --- invokeai/app/invocations/image.py | 173 +++++++++++++++++++++++++++++- 1 file changed, 170 insertions(+), 3 deletions(-) diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index 3f40ea3cbe..b6250a1fdc 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -2,6 +2,7 @@ from typing import Literal, Optional +import cv2 import numpy from PIL import Image, ImageFilter, ImageOps, ImageChops from pydantic import Field @@ -142,9 +143,10 @@ class ImagePasteInvocation(BaseInvocation, PILInvocationConfig): def invoke(self, context: InvocationContext) -> ImageOutput: base_image = context.services.images.get_pil_image(self.base_image.image_name) image = context.services.images.get_pil_image(self.image.image_name) - mask = ( - None if self.mask is None else ImageOps.invert(context.services.images.get_pil_image(self.mask.image_name)) - ) + mask = None + if self.mask is not None: + mask = context.services.images.get_pil_image(self.mask.image_name) + mask = ImageOps.invert(mask.convert("L")) # TODO: probably shouldn't invert mask here... should user be required to do it? min_x = min(0, self.x) @@ -650,3 +652,168 @@ class ImageWatermarkInvocation(BaseInvocation, PILInvocationConfig): width=image_dto.width, height=image_dto.height, ) + +class MaskEdgeInvocation(BaseInvocation, PILInvocationConfig): + """Applies an edge mask to an image""" + + # fmt: off + type: Literal["mask_edge"] = "mask_edge" + + # Inputs + image: Optional[ImageField] = Field(default=None, description="The image to apply the mask to") + edge_size: int = Field(description="The size of the edge") + edge_blur: int = Field(description="The amount of blur on the edge") + low_threshold: int = Field(description="First threshold for the hysteresis procedure in Canny edge detection") + high_threshold: int = Field(description="Second threshold for the hysteresis procedure in Canny edge detection") + # fmt: on + + def invoke(self, context: InvocationContext) -> MaskOutput: + mask = context.services.images.get_pil_image(self.image.image_name) + + npimg = numpy.asarray(mask, dtype=numpy.uint8) + npgradient = numpy.uint8( + 255 * (1.0 - numpy.floor(numpy.abs(0.5 - numpy.float32(npimg) / 255.0) * 2.0)) + ) + npedge = cv2.Canny(npimg, threshold1=self.low_threshold, threshold2=self.high_threshold) + npmask = npgradient + npedge + npmask = cv2.dilate( + npmask, numpy.ones((3, 3), numpy.uint8), iterations=int(self.edge_size / 2) + ) + + new_mask = Image.fromarray(npmask) + + if self.edge_blur > 0: + new_mask = new_mask.filter(ImageFilter.BoxBlur(self.edge_blur)) + + new_mask = ImageOps.invert(new_mask) + + image_dto = context.services.images.create( + image=new_mask, + image_origin=ResourceOrigin.INTERNAL, + image_category=ImageCategory.MASK, + node_id=self.id, + session_id=context.graph_execution_state_id, + is_intermediate=self.is_intermediate, + ) + + return MaskOutput( + mask=ImageField(image_name=image_dto.image_name), + width=image_dto.width, + height=image_dto.height, + ) + +class ColorCorrectInvocation(BaseInvocation, PILInvocationConfig): + + type: Literal["color_correct"] = "color_correct" + + init: Optional[ImageField] = Field(default=None, description="Initial image") + result: Optional[ImageField] = Field(default=None, description="Resulted image") + mask: Optional[ImageField] = Field(default=None, description="Mask image") + mask_blur_radius: float = Field(default=8, description="Mask blur radius") + + def invoke(self, context: InvocationContext) -> ImageOutput: + pil_init_mask = None + if self.mask is not None: + pil_init_mask = context.services.images.get_pil_image( + self.mask.image_name + ).convert("L") + + init_image = context.services.images.get_pil_image( + self.init.image_name + ) + + result = context.services.images.get_pil_image( + self.result.image_name + ).convert("RGBA") + + + #if init_image is None or init_mask is None: + # return result + + # Get the original alpha channel of the mask if there is one. + # Otherwise it is some other black/white image format ('1', 'L' or 'RGB') + #pil_init_mask = ( + # init_mask.getchannel("A") + # if init_mask.mode == "RGBA" + # else init_mask.convert("L") + #) + pil_init_image = init_image.convert( + "RGBA" + ) # Add an alpha channel if one doesn't exist + + # Build an image with only visible pixels from source to use as reference for color-matching. + init_rgb_pixels = numpy.asarray(init_image.convert("RGB"), dtype=numpy.uint8) + init_a_pixels = numpy.asarray(pil_init_image.getchannel("A"), dtype=numpy.uint8) + init_mask_pixels = numpy.asarray(pil_init_mask, dtype=numpy.uint8) + + # Get numpy version of result + np_image = numpy.asarray(result.convert("RGB"), dtype=numpy.uint8) + + # Mask and calculate mean and standard deviation + mask_pixels = init_a_pixels * init_mask_pixels > 0 + np_init_rgb_pixels_masked = init_rgb_pixels[mask_pixels, :] + np_image_masked = np_image[mask_pixels, :] + + if np_init_rgb_pixels_masked.size > 0: + init_means = np_init_rgb_pixels_masked.mean(axis=0) + init_std = np_init_rgb_pixels_masked.std(axis=0) + gen_means = np_image_masked.mean(axis=0) + gen_std = np_image_masked.std(axis=0) + + # Color correct + np_matched_result = np_image.copy() + np_matched_result[:, :, :] = ( + ( + ( + ( + np_matched_result[:, :, :].astype(numpy.float32) + - gen_means[None, None, :] + ) + / gen_std[None, None, :] + ) + * init_std[None, None, :] + + init_means[None, None, :] + ) + .clip(0, 255) + .astype(numpy.uint8) + ) + matched_result = Image.fromarray(np_matched_result, mode="RGB") + else: + matched_result = Image.fromarray(np_image, mode="RGB") + + # Blur the mask out (into init image) by specified amount + if self.mask_blur_radius > 0: + nm = numpy.asarray(pil_init_mask, dtype=numpy.uint8) + nmd = cv2.erode( + nm, + kernel=numpy.ones((3, 3), dtype=numpy.uint8), + iterations=int(self.mask_blur_radius / 2), + ) + pmd = Image.fromarray(nmd, mode="L") + blurred_init_mask = pmd.filter(ImageFilter.BoxBlur(self.mask_blur_radius)) + else: + blurred_init_mask = pil_init_mask + + + multiplied_blurred_init_mask = ImageChops.multiply( + blurred_init_mask, result.split()[-1] + ) + + # Paste original on color-corrected generation (using blurred mask) + matched_result.paste(init_image, (0, 0), mask=multiplied_blurred_init_mask) + + image_dto = context.services.images.create( + image=matched_result, + image_origin=ResourceOrigin.INTERNAL, + image_category=ImageCategory.GENERAL, + node_id=self.id, + session_id=context.graph_execution_state_id, + is_intermediate=self.is_intermediate, + ) + + return ImageOutput( + image=ImageField(image_name=image_dto.image_name), + width=image_dto.width, + height=image_dto.height, + ) + From e98f7eda2ef031f04dc836b131ccf62c48c8f0d4 Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Wed, 9 Aug 2023 03:34:25 +0300 Subject: [PATCH 128/287] Fix total_steps in generation event, order field added --- invokeai/app/services/events.py | 2 ++ invokeai/app/util/step_callback.py | 3 ++- invokeai/backend/stable_diffusion/diffusers_pipeline.py | 7 +++++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/invokeai/app/services/events.py b/invokeai/app/services/events.py index 30fa89bd29..a266fe4f18 100644 --- a/invokeai/app/services/events.py +++ b/invokeai/app/services/events.py @@ -35,6 +35,7 @@ class EventServiceBase: source_node_id: str, progress_image: Optional[ProgressImage], step: int, + order: int, total_steps: int, ) -> None: """Emitted when there is generation progress""" @@ -46,6 +47,7 @@ class EventServiceBase: source_node_id=source_node_id, progress_image=progress_image.dict() if progress_image is not None else None, step=step, + order=order, total_steps=total_steps, ), ) diff --git a/invokeai/app/util/step_callback.py b/invokeai/app/util/step_callback.py index 5f802c796a..5770b61ec9 100644 --- a/invokeai/app/util/step_callback.py +++ b/invokeai/app/util/step_callback.py @@ -115,5 +115,6 @@ def stable_diffusion_step_callback( source_node_id=source_node_id, progress_image=ProgressImage(width=width, height=height, dataURL=dataURL), step=intermediate_state.step, - total_steps=node["steps"], + order=intermediate_state.order, + total_steps=intermediate_state.total_steps, ) diff --git a/invokeai/backend/stable_diffusion/diffusers_pipeline.py b/invokeai/backend/stable_diffusion/diffusers_pipeline.py index f452dc1037..8b12101d69 100644 --- a/invokeai/backend/stable_diffusion/diffusers_pipeline.py +++ b/invokeai/backend/stable_diffusion/diffusers_pipeline.py @@ -6,6 +6,7 @@ import inspect from typing import Any, Callable, Generic, List, Optional, Type, TypeVar, Union from pydantic import Field +import math import einops import PIL.Image import numpy as np @@ -42,6 +43,8 @@ from .diffusion import ( @dataclass class PipelineIntermediateState: step: int + order: int + total_steps: int timestep: int latents: torch.Tensor predicted_original: Optional[torch.Tensor] = None @@ -484,6 +487,8 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): yield PipelineIntermediateState( step=-1, + order=self.scheduler.order, + total_steps=len(timesteps), timestep=self.scheduler.config.num_train_timesteps, latents=latents, ) @@ -522,6 +527,8 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): yield PipelineIntermediateState( step=i, + order=self.scheduler.order, + total_steps=len(timesteps), timestep=int(t), latents=latents, predicted_original=predicted_original, From 604cc17a3a6441b50c787f39c8b3e8292d735245 Mon Sep 17 00:00:00 2001 From: Millun Atluri Date: Wed, 9 Aug 2023 11:19:05 +1000 Subject: [PATCH 129/287] Yarn build JS files --- .../{App-3594329a.js => App-4a928bb6.js} | 44 ++--- ...c15.js => ThemeLocaleProvider-6fe89879.js} | 2 +- .../web/dist/assets/index-dd054634.js | 151 ++++++++++++++++++ .../web/dist/assets/index-de589048.js | 151 ------------------ .../{menu-11348abc.js => menu-b42141e3.js} | 2 +- 5 files changed, 175 insertions(+), 175 deletions(-) rename invokeai/frontend/web/dist/assets/{App-3594329a.js => App-4a928bb6.js} (66%) rename invokeai/frontend/web/dist/assets/{ThemeLocaleProvider-31ab5c15.js => ThemeLocaleProvider-6fe89879.js} (99%) create mode 100644 invokeai/frontend/web/dist/assets/index-dd054634.js delete mode 100644 invokeai/frontend/web/dist/assets/index-de589048.js rename invokeai/frontend/web/dist/assets/{menu-11348abc.js => menu-b42141e3.js} (99%) diff --git a/invokeai/frontend/web/dist/assets/App-3594329a.js b/invokeai/frontend/web/dist/assets/App-4a928bb6.js similarity index 66% rename from invokeai/frontend/web/dist/assets/App-3594329a.js rename to invokeai/frontend/web/dist/assets/App-4a928bb6.js index 825a007449..4b274bda51 100644 --- a/invokeai/frontend/web/dist/assets/App-3594329a.js +++ b/invokeai/frontend/web/dist/assets/App-4a928bb6.js @@ -1,6 +1,6 @@ -import{t as Sv,r as dR,i as Cv,a as Tc,b as P_,S as j_,c as I_,d as E_,e as kv,f as O_,g as _v,h as fR,j as pR,k as hR,l as mR,m as R_,n as gR,o as vR,p as bR,q as M_,s as yR,u as xR,v as wR,w as SR,x as CR,y as kR,z as _R,A as f,B as i,C as lm,D as $p,E as PR,F as D_,G as A_,H as jR,P as gd,I as K1,J as IR,K as ER,L as OR,M as RR,N as MR,O as DR,Q as AR,R as V2,T as TR,U as Ae,V as je,W as Ct,X as et,Y as vd,Z as mo,_ as Er,$ as Fr,a0 as qn,a1 as hl,a2 as ia,a3 as Ft,a4 as rs,a5 as nc,a6 as za,a7 as cm,a8 as X1,a9 as bd,aa as sr,ab as NR,ac as H,ad as U2,ae as $R,af as Pv,ag as Nc,ah as LR,ai as T_,aj as N_,ak as $c,al as zR,am as be,an as Je,ao as Zt,ap as B,aq as BR,ar as G2,as as FR,at as HR,au as q2,av as te,aw as WR,ax as On,ay as Mn,az as Re,aA as W,aB as Ys,aC as lt,aD as Kn,aE as $_,aF as VR,aG as UR,aH as GR,aI as qR,aJ as ki,aK as Y1,aL as Ds,aM as jo,aN as um,aO as KR,aP as XR,aQ as K2,aR as Q1,aS as wa,aT as YR,aU as L_,aV as z_,aW as X2,aX as QR,aY as JR,aZ as B_,a_ as F_,a$ as J1,b0 as ZR,b1 as e7,b2 as t7,b3 as Al,b4 as n7,b5 as r7,b6 as o7,b7 as s7,b8 as Y2,b9 as di,ba as Z1,bb as Lp,bc as dm,bd as H_,be as W_,bf as Is,bg as V_,bh as a7,bi as Lc,bj as U_,bk as G_,bl as Es,bm as ju,bn as zp,bo as i7,bp as l7,bq as c7,br as u7,bs as Nf,bt as $f,bu as pu,bv as g0,bw as $u,bx as Lu,by as zu,bz as Bu,bA as Q2,bB as Bp,bC as v0,bD as Fp,bE as J2,bF as jv,bG as b0,bH as Iv,bI as y0,bJ as Hp,bK as Z2,bL as vc,bM as ew,bN as bc,bO as tw,bP as Wp,bQ as eb,bR as d7,bS as q_,bT as Ev,bU as Ov,bV as K_,bW as f7,bX as Rv,bY as p7,bZ as Mv,b_ as tb,b$ as nb,c0 as fm,c1 as h7,c2 as pm,c3 as Yl,c4 as X_,c5 as m7,c6 as Pp,c7 as rb,c8 as Y_,c9 as g7,ca as Lf,cb as Q_,cc as J_,cd as nw,ce as Ba,cf as v7,cg as Dv,ch as b7,ci as y7,cj as x7,ck as w7,cl as ob,cm as sb,cn as S7,co as Bn,cp as rw,cq as Z_,cr as C7,cs as k7,ct as _7,cu as P7,cv as j7,cw as I7,cx as E7,cy as O7,cz as R7,cA as e5,cB as M7,cC as D7,cD as A7,cE as T7,cF as N7,cG as $7,cH as L7,cI as z7,cJ as B7,cK as F7,cL as ow,cM as H7,cN as sw,cO as W7,cP as V7,cQ as U7,cR as G7,cS as Yu,cT as oo,cU as yd,cV as xd,cW as q7,cX as Qn,cY as K7,cZ as na,c_ as ab,c$ as wd,d0 as X7,d1 as Y7,d2 as Q7,d3 as aw,d4 as J7,d5 as Vp,d6 as Z7,d7 as t5,d8 as iw,d9 as eM,da as tM,db as ws,dc as nM,dd as rM,de as n5,df as r5,dg as oM,dh as lw,di as sM,dj as aM,dk as o5,dl as iM,dm as lM,dn as cw,dp as cM,dq as uw,dr as uM,ds as dM,dt as fM,du as pM,dv as hm,dw as hM,dx as s5,dy as dw,dz as zf,dA as mM,dB as ib,dC as a5,dD as gM,dE as vM,dF as bM,dG as ls,dH as yM,dI as xM,dJ as wM,dK as SM,dL as CM,dM as kM,dN as _M,dO as PM,dP as jM,dQ as IM,dR as EM,dS as OM,dT as RM,dU as MM,dV as DM,dW as fw,dX as pw,dY as AM,dZ as i5,d_ as l5,d$ as Sd,e0 as c5,e1 as Gi,e2 as u5,e3 as hw,e4 as TM,e5 as NM,e6 as d5,e7 as $M,e8 as LM,e9 as zM,ea as BM,eb as FM,ec as lb,ed as mw,ee as f5,ef as HM,eg as gw,eh as p5,ei as As,ej as WM,ek as h5,el as vw,em as VM,en as UM,eo as GM,ep as qM,eq as KM,er as XM,es as YM,et as QM,eu as JM,ev as ZM,ew as eD,ex as tD,ey as nD,ez as rD,eA as oD,eB as sD,eC as aD,eD as iD,eE as lD,eF as cD,eG as bw,eH as jp,eI as uD,eJ as Up,eK as m5,eL as Qu,eM as dD,eN as fD,eO as ea,eP as g5,eQ as cb,eR as Cd,eS as pD,eT as hD,eU as mD,eV as Oa,eW as v5,eX as gD,eY as vD,eZ as b5,e_ as bD,e$ as yD,f0 as xD,f1 as wD,f2 as SD,f3 as CD,f4 as kD,f5 as _D,f6 as PD,f7 as jD,f8 as yw,f9 as ID,fa as ED,fb as OD,fc as RD,fd as MD,fe as DD,ff as AD,fg as TD,fh as x0,fi as Js,fj as w0,fk as S0,fl as Bf,fm as xw,fn as Av,fo as ND,fp as $D,fq as LD,fr as zD,fs as Gp,ft as y5,fu as x5,fv as BD,fw as FD,fx as w5,fy as S5,fz as C5,fA as k5,fB as _5,fC as P5,fD as j5,fE as I5,fF as rc,fG as oc,fH as E5,fI as O5,fJ as HD,fK as R5,fL as M5,fM as D5,fN as A5,fO as T5,fP as N5,fQ as ub,fR as WD,fS as ww,fT as VD,fU as UD,fV as qp,fW as Sw,fX as Cw,fY as kw,fZ as _w,f_ as GD,f$ as qD,g0 as KD,g1 as XD,g2 as YD,g3 as QD,g4 as JD,g5 as ZD,g6 as e9}from"./index-de589048.js";import{u as t9,c as n9,a as Dn,b as or,I as fo,d as Fa,P as Ju,C as r9,e as ye,f as $5,g as Ha,h as o9,r as Ue,i as s9,j as Pw,k as Vt,l as Cr,m as Zu}from"./menu-11348abc.js";var jw=1/0,a9=17976931348623157e292;function C0(e){if(!e)return e===0?e:0;if(e=Sv(e),e===jw||e===-jw){var t=e<0?-1:1;return t*a9}return e===e?e:0}var i9=function(){return dR.Date.now()};const k0=i9;var l9="Expected a function",c9=Math.max,u9=Math.min;function d9(e,t,n){var r,o,s,a,c,d,p=0,h=!1,m=!1,v=!0;if(typeof e!="function")throw new TypeError(l9);t=Sv(t)||0,Cv(n)&&(h=!!n.leading,m="maxWait"in n,s=m?c9(Sv(n.maxWait)||0,t):s,v="trailing"in n?!!n.trailing:v);function b(O){var R=r,M=o;return r=o=void 0,p=O,a=e.apply(M,R),a}function w(O){return p=O,c=setTimeout(k,t),h?b(O):a}function y(O){var R=O-d,M=O-p,D=t-R;return m?u9(D,s-M):D}function S(O){var R=O-d,M=O-p;return d===void 0||R>=t||R<0||m&&M>=s}function k(){var O=k0();if(S(O))return _(O);c=setTimeout(k,y(O))}function _(O){return c=void 0,v&&r?b(O):(r=o=void 0,a)}function P(){c!==void 0&&clearTimeout(c),p=0,r=d=o=c=void 0}function I(){return c===void 0?a:_(k0())}function E(){var O=k0(),R=S(O);if(r=arguments,o=this,d=O,R){if(c===void 0)return w(d);if(m)return clearTimeout(c),c=setTimeout(k,t),b(d)}return c===void 0&&(c=setTimeout(k,t)),a}return E.cancel=P,E.flush=I,E}var f9=200;function p9(e,t,n,r){var o=-1,s=I_,a=!0,c=e.length,d=[],p=t.length;if(!c)return d;n&&(t=Tc(t,P_(n))),r?(s=E_,a=!1):t.length>=f9&&(s=kv,a=!1,t=new j_(t));e:for(;++o=120&&h.length>=120)?new j_(a&&h):void 0}h=e[0];var m=-1,v=c[0];e:for(;++m{r.has(s)&&n(o,s)})}function D9(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}const L5=({id:e,x:t,y:n,width:r,height:o,style:s,color:a,strokeColor:c,strokeWidth:d,className:p,borderRadius:h,shapeRendering:m,onClick:v})=>{const{background:b,backgroundColor:w}=s||{},y=a||b||w;return i.jsx("rect",{className:lm(["react-flow__minimap-node",p]),x:t,y:n,rx:h,ry:h,width:r,height:o,fill:y,stroke:c,strokeWidth:d,shapeRendering:m,onClick:v?S=>v(S,e):void 0})};L5.displayName="MiniMapNode";var A9=f.memo(L5);const T9=e=>e.nodeOrigin,N9=e=>e.getNodes().filter(t=>!t.hidden&&t.width&&t.height),_0=e=>e instanceof Function?e:()=>e;function $9({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o=2,nodeComponent:s=A9,onClick:a}){const c=$p(N9,K1),d=$p(T9),p=_0(t),h=_0(e),m=_0(n),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return i.jsx(i.Fragment,{children:c.map(b=>{const{x:w,y}=PR(b,d).positionAbsolute;return i.jsx(s,{x:w,y,width:b.width,height:b.height,style:b.style,className:m(b),color:p(b),borderRadius:r,strokeColor:h(b),strokeWidth:o,shapeRendering:v,onClick:a,id:b.id},b.id)})})}var L9=f.memo($9);const z9=200,B9=150,F9=e=>{const t=e.getNodes(),n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:t.length>0?OR(RR(t,e.nodeOrigin),n):n,rfId:e.rfId}},H9="react-flow__minimap-desc";function z5({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:a=2,nodeComponent:c,maskColor:d="rgb(240, 240, 240, 0.6)",maskStrokeColor:p="none",maskStrokeWidth:h=1,position:m="bottom-right",onClick:v,onNodeClick:b,pannable:w=!1,zoomable:y=!1,ariaLabel:S="React Flow mini map",inversePan:k=!1,zoomStep:_=10}){const P=D_(),I=f.useRef(null),{boundingRect:E,viewBB:O,rfId:R}=$p(F9,K1),M=(e==null?void 0:e.width)??z9,D=(e==null?void 0:e.height)??B9,A=E.width/M,L=E.height/D,Q=Math.max(A,L),F=Q*M,V=Q*D,q=5*Q,G=E.x-(F-E.width)/2-q,T=E.y-(V-E.height)/2-q,z=F+q*2,$=V+q*2,Y=`${H9}-${R}`,ae=f.useRef(0);ae.current=Q,f.useEffect(()=>{if(I.current){const X=A_(I.current),K=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le}=P.getState();if(re.sourceEvent.type!=="wheel"||!pe||!le)return;const ge=-re.sourceEvent.deltaY*(re.sourceEvent.deltaMode===1?.05:re.sourceEvent.deltaMode?1:.002)*_,ke=oe[2]*Math.pow(2,ge);le.scaleTo(pe,ke)},U=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le,translateExtent:ge,width:ke,height:xe}=P.getState();if(re.sourceEvent.type!=="mousemove"||!pe||!le)return;const de=ae.current*Math.max(1,oe[2])*(k?-1:1),Te={x:oe[0]-re.sourceEvent.movementX*de,y:oe[1]-re.sourceEvent.movementY*de},Ee=[[0,0],[ke,xe]],$e=IR.translate(Te.x,Te.y).scale(oe[2]),kt=le.constrain()($e,Ee,ge);le.transform(pe,kt)},se=jR().on("zoom",w?U:null).on("zoom.wheel",y?K:null);return X.call(se),()=>{X.on("zoom",null)}}},[w,y,k,_]);const fe=v?X=>{const K=ER(X);v(X,{x:K[0],y:K[1]})}:void 0,ie=b?(X,K)=>{const U=P.getState().nodeInternals.get(K);b(X,U)}:void 0;return i.jsx(gd,{position:m,style:e,className:lm(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:i.jsxs("svg",{width:M,height:D,viewBox:`${G} ${T} ${z} ${$}`,role:"img","aria-labelledby":Y,ref:I,onClick:fe,children:[S&&i.jsx("title",{id:Y,children:S}),i.jsx(L9,{onClick:ie,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:a,nodeComponent:c}),i.jsx("path",{className:"react-flow__minimap-mask",d:`M${G-q},${T-q}h${z+q*2}v${$+q*2}h${-z-q*2}z - M${O.x},${O.y}h${O.width}v${O.height}h${-O.width}z`,fill:d,fillRule:"evenodd",stroke:p,strokeWidth:h,pointerEvents:"none"})]})})}z5.displayName="MiniMap";var W9=f.memo(z5),Ss;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Ss||(Ss={}));function V9({color:e,dimensions:t,lineWidth:n}){return i.jsx("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function U9({color:e,radius:t}){return i.jsx("circle",{cx:t,cy:t,r:t,fill:e})}const G9={[Ss.Dots]:"#91919a",[Ss.Lines]:"#eee",[Ss.Cross]:"#e2e2e2"},q9={[Ss.Dots]:1,[Ss.Lines]:1,[Ss.Cross]:6},K9=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function B5({id:e,variant:t=Ss.Dots,gap:n=20,size:r,lineWidth:o=1,offset:s=2,color:a,style:c,className:d}){const p=f.useRef(null),{transform:h,patternId:m}=$p(K9,K1),v=a||G9[t],b=r||q9[t],w=t===Ss.Dots,y=t===Ss.Cross,S=Array.isArray(n)?n:[n,n],k=[S[0]*h[2]||1,S[1]*h[2]||1],_=b*h[2],P=y?[_,_]:k,I=w?[_/s,_/s]:[P[0]/s,P[1]/s];return i.jsxs("svg",{className:lm(["react-flow__background",d]),style:{...c,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:p,"data-testid":"rf__background",children:[i.jsx("pattern",{id:m+e,x:h[0]%k[0],y:h[1]%k[1],width:k[0],height:k[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${I[0]},-${I[1]})`,children:w?i.jsx(U9,{color:v,radius:_/s}):i.jsx(V9,{dimensions:P,color:v,lineWidth:o})}),i.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${m+e})`})]})}B5.displayName="Background";var X9=f.memo(B5),Fu;(function(e){e.Line="line",e.Handle="handle"})(Fu||(Fu={}));function Y9({width:e,prevWidth:t,height:n,prevHeight:r,invertX:o,invertY:s}){const a=e-t,c=n-r,d=[a>0?1:a<0?-1:0,c>0?1:c<0?-1:0];return a&&o&&(d[0]=d[0]*-1),c&&s&&(d[1]=d[1]*-1),d}const F5={width:0,height:0,x:0,y:0},Q9={...F5,pointerX:0,pointerY:0,aspectRatio:1};function J9({nodeId:e,position:t,variant:n=Fu.Handle,className:r,style:o={},children:s,color:a,minWidth:c=10,minHeight:d=10,maxWidth:p=Number.MAX_VALUE,maxHeight:h=Number.MAX_VALUE,keepAspectRatio:m=!1,shouldResize:v,onResizeStart:b,onResize:w,onResizeEnd:y}){const S=MR(),k=typeof e=="string"?e:S,_=D_(),P=f.useRef(null),I=f.useRef(Q9),E=f.useRef(F5),O=DR(),R=n===Fu.Line?"right":"bottom-right",M=t??R;f.useEffect(()=>{if(!P.current||!k)return;const Q=A_(P.current),F=M.includes("right")||M.includes("left"),V=M.includes("bottom")||M.includes("top"),q=M.includes("left"),G=M.includes("top"),T=AR().on("start",z=>{const $=_.getState().nodeInternals.get(k),{xSnapped:Y,ySnapped:ae}=O(z);E.current={width:($==null?void 0:$.width)??0,height:($==null?void 0:$.height)??0,x:($==null?void 0:$.position.x)??0,y:($==null?void 0:$.position.y)??0},I.current={...E.current,pointerX:Y,pointerY:ae,aspectRatio:E.current.width/E.current.height},b==null||b(z,{...E.current})}).on("drag",z=>{const{nodeInternals:$,triggerNodeChanges:Y}=_.getState(),{xSnapped:ae,ySnapped:fe}=O(z),ie=$.get(k);if(ie){const X=[],{pointerX:K,pointerY:U,width:se,height:re,x:oe,y:pe,aspectRatio:le}=I.current,{x:ge,y:ke,width:xe,height:de}=E.current,Te=Math.floor(F?ae-K:0),Ee=Math.floor(V?fe-U:0);let $e=V2(se+(q?-Te:Te),c,p),kt=V2(re+(G?-Ee:Ee),d,h);if(m){const Me=$e/kt,Pt=F&&V,Tt=F&&!V,we=V&&!F;$e=Me<=le&&Pt||we?kt*le:$e,kt=Me>le&&Pt||Tt?$e/le:kt,$e>=p?($e=p,kt=p/le):$e<=c&&($e=c,kt=c/le),kt>=h?(kt=h,$e=h*le):kt<=d&&(kt=d,$e=d*le)}const ct=$e!==xe,on=kt!==de;if(q||G){const Me=q?oe-($e-se):oe,Pt=G?pe-(kt-re):pe,Tt=Me!==ge&&ct,we=Pt!==ke&&on;if(Tt||we){const ht={id:ie.id,type:"position",position:{x:Tt?Me:ge,y:we?Pt:ke}};X.push(ht),E.current.x=ht.position.x,E.current.y=ht.position.y}}if(ct||on){const Me={id:k,type:"dimensions",updateStyle:!0,resizing:!0,dimensions:{width:$e,height:kt}};X.push(Me),E.current.width=$e,E.current.height=kt}if(X.length===0)return;const vt=Y9({width:E.current.width,prevWidth:xe,height:E.current.height,prevHeight:de,invertX:q,invertY:G}),bt={...E.current,direction:vt};if((v==null?void 0:v(z,bt))===!1)return;w==null||w(z,bt),Y(X)}}).on("end",z=>{const $={id:k,type:"dimensions",resizing:!1};y==null||y(z,{...E.current}),_.getState().triggerNodeChanges([$])});return Q.call(T),()=>{Q.on(".drag",null)}},[k,M,c,d,p,h,m,O,b,w,y]);const D=M.split("-"),A=n===Fu.Line?"borderColor":"backgroundColor",L=a?{...o,[A]:a}:o;return i.jsx("div",{className:lm(["react-flow__resize-control","nodrag",...D,n,r]),ref:P,style:L,children:s})}var Z9=f.memo(J9);function eA(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function H5(e){var t;return eA(e)&&(t=e.ownerDocument)!=null?t:document}function tA(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var nA=tA();const W5=1/60*1e3,rA=typeof performance<"u"?()=>performance.now():()=>Date.now(),V5=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(rA()),W5);function oA(e){let t=[],n=[],r=0,o=!1,s=!1;const a=new WeakSet,c={schedule:(d,p=!1,h=!1)=>{const m=h&&o,v=m?t:n;return p&&a.add(d),v.indexOf(d)===-1&&(v.push(d),m&&o&&(r=t.length)),d},cancel:d=>{const p=n.indexOf(d);p!==-1&&n.splice(p,1),a.delete(d)},process:d=>{if(o){s=!0;return}if(o=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let p=0;p(e[t]=oA(()=>ed=!0),e),{}),aA=kd.reduce((e,t)=>{const n=mm[t];return e[t]=(r,o=!1,s=!1)=>(ed||cA(),n.schedule(r,o,s)),e},{}),iA=kd.reduce((e,t)=>(e[t]=mm[t].cancel,e),{});kd.reduce((e,t)=>(e[t]=()=>mm[t].process(sc),e),{});const lA=e=>mm[e].process(sc),U5=e=>{ed=!1,sc.delta=Tv?W5:Math.max(Math.min(e-sc.timestamp,sA),1),sc.timestamp=e,Nv=!0,kd.forEach(lA),Nv=!1,ed&&(Tv=!1,V5(U5))},cA=()=>{ed=!0,Tv=!0,Nv||V5(U5)},Rw=()=>sc;function db(e){const t=Object.assign({},e);for(let n in t)t[n]===void 0&&delete t[n];return t}function uA(e){const{theme:t}=TR(),n=t9();return f.useMemo(()=>n9(t.direction,{...n,...e}),[e,t.direction,n])}var dA=Object.defineProperty,fA=(e,t,n)=>t in e?dA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vr=(e,t,n)=>(fA(e,typeof t!="symbol"?t+"":t,n),n);function Mw(e){return e.sort((t,n)=>{const r=t.compareDocumentPosition(n);if(r&Node.DOCUMENT_POSITION_FOLLOWING||r&Node.DOCUMENT_POSITION_CONTAINED_BY)return-1;if(r&Node.DOCUMENT_POSITION_PRECEDING||r&Node.DOCUMENT_POSITION_CONTAINS)return 1;if(r&Node.DOCUMENT_POSITION_DISCONNECTED||r&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC)throw Error("Cannot sort the given nodes.");return 0})}var pA=e=>typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE;function Dw(e,t,n){let r=e+1;return n&&r>=t&&(r=0),r}function Aw(e,t,n){let r=e-1;return n&&r<0&&(r=t),r}var $v=typeof window<"u"?f.useLayoutEffect:f.useEffect,Kp=e=>e,hA=class{constructor(){vr(this,"descendants",new Map),vr(this,"register",e=>{if(e!=null)return pA(e)?this.registerNode(e):t=>{this.registerNode(t,e)}}),vr(this,"unregister",e=>{this.descendants.delete(e);const t=Mw(Array.from(this.descendants.keys()));this.assignIndex(t)}),vr(this,"destroy",()=>{this.descendants.clear()}),vr(this,"assignIndex",e=>{this.descendants.forEach(t=>{const n=e.indexOf(t.node);t.index=n,t.node.dataset.index=t.index.toString()})}),vr(this,"count",()=>this.descendants.size),vr(this,"enabledCount",()=>this.enabledValues().length),vr(this,"values",()=>Array.from(this.descendants.values()).sort((t,n)=>t.index-n.index)),vr(this,"enabledValues",()=>this.values().filter(e=>!e.disabled)),vr(this,"item",e=>{if(this.count()!==0)return this.values()[e]}),vr(this,"enabledItem",e=>{if(this.enabledCount()!==0)return this.enabledValues()[e]}),vr(this,"first",()=>this.item(0)),vr(this,"firstEnabled",()=>this.enabledItem(0)),vr(this,"last",()=>this.item(this.descendants.size-1)),vr(this,"lastEnabled",()=>{const e=this.enabledValues().length-1;return this.enabledItem(e)}),vr(this,"indexOf",e=>{var t,n;return e&&(n=(t=this.descendants.get(e))==null?void 0:t.index)!=null?n:-1}),vr(this,"enabledIndexOf",e=>e==null?-1:this.enabledValues().findIndex(t=>t.node.isSameNode(e))),vr(this,"next",(e,t=!0)=>{const n=Dw(e,this.count(),t);return this.item(n)}),vr(this,"nextEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=Dw(r,this.enabledCount(),t);return this.enabledItem(o)}),vr(this,"prev",(e,t=!0)=>{const n=Aw(e,this.count()-1,t);return this.item(n)}),vr(this,"prevEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=Aw(r,this.enabledCount()-1,t);return this.enabledItem(o)}),vr(this,"registerNode",(e,t)=>{if(!e||this.descendants.has(e))return;const n=Array.from(this.descendants.keys()).concat(e),r=Mw(n);t!=null&&t.disabled&&(t.disabled=!!t.disabled);const o={node:e,index:-1,...t};this.descendants.set(e,o),this.assignIndex(r)})}};function mA(e,t){if(e!=null){if(typeof e=="function"){e(t);return}try{e.current=t}catch{throw new Error(`Cannot assign value '${t}' to ref '${e}'`)}}}function cn(...e){return t=>{e.forEach(n=>{mA(n,t)})}}function gA(...e){return f.useMemo(()=>cn(...e),e)}function vA(){const e=f.useRef(new hA);return $v(()=>()=>e.current.destroy()),e.current}var[bA,G5]=Dn({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function yA(e){const t=G5(),[n,r]=f.useState(-1),o=f.useRef(null);$v(()=>()=>{o.current&&t.unregister(o.current)},[]),$v(()=>{if(!o.current)return;const a=Number(o.current.dataset.index);n!=a&&!Number.isNaN(a)&&r(a)});const s=Kp(e?t.register(e):t.register);return{descendants:t,index:n,enabledIndex:t.enabledIndexOf(o.current),register:cn(s,o)}}function fb(){return[Kp(bA),()=>Kp(G5()),()=>vA(),o=>yA(o)]}var[xA,gm]=Dn({name:"AccordionStylesContext",hookName:"useAccordionStyles",providerName:""}),[wA,pb]=Dn({name:"AccordionItemContext",hookName:"useAccordionItemContext",providerName:""}),[SA,Xde,CA,kA]=fb(),Iu=Ae(function(t,n){const{getButtonProps:r}=pb(),o=r(t,n),a={display:"flex",alignItems:"center",width:"100%",outline:0,...gm().button};return i.jsx(je.button,{...o,className:Ct("chakra-accordion__button",t.className),__css:a})});Iu.displayName="AccordionButton";function zc(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:o=(v,b)=>v!==b}=e,s=or(r),a=or(o),[c,d]=f.useState(n),p=t!==void 0,h=p?t:c,m=or(v=>{const w=typeof v=="function"?v(h):v;a(h,w)&&(p||d(w),s(w))},[p,s,h,a]);return[h,m]}function _A(e){const{onChange:t,defaultIndex:n,index:r,allowMultiple:o,allowToggle:s,...a}=e;IA(e),EA(e);const c=CA(),[d,p]=f.useState(-1);f.useEffect(()=>()=>{p(-1)},[]);const[h,m]=zc({value:r,defaultValue(){return o?n??[]:n??-1},onChange:t});return{index:h,setIndex:m,htmlProps:a,getAccordionItemProps:b=>{let w=!1;return b!==null&&(w=Array.isArray(h)?h.includes(b):h===b),{isOpen:w,onChange:S=>{if(b!==null)if(o&&Array.isArray(h)){const k=S?h.concat(b):h.filter(_=>_!==b);m(k)}else S?m(b):s&&m(-1)}}},focusedIndex:d,setFocusedIndex:p,descendants:c}}var[PA,hb]=Dn({name:"AccordionContext",hookName:"useAccordionContext",providerName:"Accordion"});function jA(e){const{isDisabled:t,isFocusable:n,id:r,...o}=e,{getAccordionItemProps:s,setFocusedIndex:a}=hb(),c=f.useRef(null),d=f.useId(),p=r??d,h=`accordion-button-${p}`,m=`accordion-panel-${p}`;OA(e);const{register:v,index:b,descendants:w}=kA({disabled:t&&!n}),{isOpen:y,onChange:S}=s(b===-1?null:b);RA({isOpen:y,isDisabled:t});const k=()=>{S==null||S(!0)},_=()=>{S==null||S(!1)},P=f.useCallback(()=>{S==null||S(!y),a(b)},[b,a,y,S]),I=f.useCallback(M=>{const A={ArrowDown:()=>{const L=w.nextEnabled(b);L==null||L.node.focus()},ArrowUp:()=>{const L=w.prevEnabled(b);L==null||L.node.focus()},Home:()=>{const L=w.firstEnabled();L==null||L.node.focus()},End:()=>{const L=w.lastEnabled();L==null||L.node.focus()}}[M.key];A&&(M.preventDefault(),A(M))},[w,b]),E=f.useCallback(()=>{a(b)},[a,b]),O=f.useCallback(function(D={},A=null){return{...D,type:"button",ref:cn(v,c,A),id:h,disabled:!!t,"aria-expanded":!!y,"aria-controls":m,onClick:et(D.onClick,P),onFocus:et(D.onFocus,E),onKeyDown:et(D.onKeyDown,I)}},[h,t,y,P,E,I,m,v]),R=f.useCallback(function(D={},A=null){return{...D,ref:A,role:"region",id:m,"aria-labelledby":h,hidden:!y}},[h,y,m]);return{isOpen:y,isDisabled:t,isFocusable:n,onOpen:k,onClose:_,getButtonProps:O,getPanelProps:R,htmlProps:o}}function IA(e){const t=e.index||e.defaultIndex,n=t!=null&&!Array.isArray(t)&&e.allowMultiple;vd({condition:!!n,message:`If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: ${typeof t},`})}function EA(e){vd({condition:!!(e.allowMultiple&&e.allowToggle),message:"If 'allowMultiple' is passed, 'allowToggle' will be ignored. Either remove 'allowToggle' or 'allowMultiple' depending on whether you want multiple accordions visible or not"})}function OA(e){vd({condition:!!(e.isFocusable&&!e.isDisabled),message:`Using only 'isFocusable', this prop is reserved for situations where you pass 'isDisabled' but you still want the element to receive focus (A11y). Either remove it or pass 'isDisabled' as well. - `})}function RA(e){vd({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}function Eu(e){const{isOpen:t,isDisabled:n}=pb(),{reduceMotion:r}=hb(),o=Ct("chakra-accordion__icon",e.className),s=gm(),a={opacity:n?.4:1,transform:t?"rotate(-180deg)":void 0,transition:r?void 0:"transform 0.2s",transformOrigin:"center",...s.icon};return i.jsx(fo,{viewBox:"0 0 24 24","aria-hidden":!0,className:o,__css:a,...e,children:i.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})})}Eu.displayName="AccordionIcon";var Ou=Ae(function(t,n){const{children:r,className:o}=t,{htmlProps:s,...a}=jA(t),d={...gm().container,overflowAnchor:"none"},p=f.useMemo(()=>a,[a]);return i.jsx(wA,{value:p,children:i.jsx(je.div,{ref:n,...s,className:Ct("chakra-accordion__item",o),__css:d,children:typeof r=="function"?r({isExpanded:!!a.isOpen,isDisabled:!!a.isDisabled}):r})})});Ou.displayName="AccordionItem";var qi={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]},hu={scale:{enter:{scale:1},exit:{scale:.95}},fade:{enter:{opacity:1},exit:{opacity:0}},pushLeft:{enter:{x:"100%"},exit:{x:"-30%"}},pushRight:{enter:{x:"-100%"},exit:{x:"30%"}},pushUp:{enter:{y:"100%"},exit:{y:"-30%"}},pushDown:{enter:{y:"-100%"},exit:{y:"30%"}},slideLeft:{position:{left:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"-100%",y:0}},slideRight:{position:{right:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"100%",y:0}},slideUp:{position:{top:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"-100%"}},slideDown:{position:{bottom:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"100%"}}};function Lv(e){var t;switch((t=e==null?void 0:e.direction)!=null?t:"right"){case"right":return hu.slideRight;case"left":return hu.slideLeft;case"bottom":return hu.slideDown;case"top":return hu.slideUp;default:return hu.slideRight}}var Xi={enter:{duration:.2,ease:qi.easeOut},exit:{duration:.1,ease:qi.easeIn}},Cs={enter:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.enter}),exit:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.exit})},MA=e=>e!=null&&parseInt(e.toString(),10)>0,Tw={exit:{height:{duration:.2,ease:qi.ease},opacity:{duration:.3,ease:qi.ease}},enter:{height:{duration:.3,ease:qi.ease},opacity:{duration:.4,ease:qi.ease}}},DA={exit:({animateOpacity:e,startingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:MA(t)?1:0},height:t,transitionEnd:r==null?void 0:r.exit,transition:(s=n==null?void 0:n.exit)!=null?s:Cs.exit(Tw.exit,o)}},enter:({animateOpacity:e,endingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:1},height:t,transitionEnd:r==null?void 0:r.enter,transition:(s=n==null?void 0:n.enter)!=null?s:Cs.enter(Tw.enter,o)}}},vm=f.forwardRef((e,t)=>{const{in:n,unmountOnExit:r,animateOpacity:o=!0,startingHeight:s=0,endingHeight:a="auto",style:c,className:d,transition:p,transitionEnd:h,...m}=e,[v,b]=f.useState(!1);f.useEffect(()=>{const _=setTimeout(()=>{b(!0)});return()=>clearTimeout(_)},[]),vd({condition:Number(s)>0&&!!r,message:"startingHeight and unmountOnExit are mutually exclusive. You can't use them together"});const w=parseFloat(s.toString())>0,y={startingHeight:s,endingHeight:a,animateOpacity:o,transition:v?p:{enter:{duration:0}},transitionEnd:{enter:h==null?void 0:h.enter,exit:r?h==null?void 0:h.exit:{...h==null?void 0:h.exit,display:w?"block":"none"}}},S=r?n:!0,k=n||r?"enter":"exit";return i.jsx(mo,{initial:!1,custom:y,children:S&&i.jsx(Er.div,{ref:t,...m,className:Ct("chakra-collapse",d),style:{overflow:"hidden",display:"block",...c},custom:y,variants:DA,initial:r?"exit":!1,animate:k,exit:"exit"})})});vm.displayName="Collapse";var AA={enter:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:1,transition:(r=e==null?void 0:e.enter)!=null?r:Cs.enter(Xi.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:0,transition:(r=e==null?void 0:e.exit)!=null?r:Cs.exit(Xi.exit,n),transitionEnd:t==null?void 0:t.exit}}},q5={initial:"exit",animate:"enter",exit:"exit",variants:AA},TA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,className:s,transition:a,transitionEnd:c,delay:d,...p}=t,h=o||r?"enter":"exit",m=r?o&&r:!0,v={transition:a,transitionEnd:c,delay:d};return i.jsx(mo,{custom:v,children:m&&i.jsx(Er.div,{ref:n,className:Ct("chakra-fade",s),custom:v,...q5,animate:h,...p})})});TA.displayName="Fade";var NA={exit:({reverse:e,initialScale:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,...e?{scale:t,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{scale:t,...r==null?void 0:r.exit}},transition:(s=n==null?void 0:n.exit)!=null?s:Cs.exit(Xi.exit,o)}},enter:({transitionEnd:e,transition:t,delay:n})=>{var r;return{opacity:1,scale:1,transition:(r=t==null?void 0:t.enter)!=null?r:Cs.enter(Xi.enter,n),transitionEnd:e==null?void 0:e.enter}}},K5={initial:"exit",animate:"enter",exit:"exit",variants:NA},$A=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,initialScale:a=.95,className:c,transition:d,transitionEnd:p,delay:h,...m}=t,v=r?o&&r:!0,b=o||r?"enter":"exit",w={initialScale:a,reverse:s,transition:d,transitionEnd:p,delay:h};return i.jsx(mo,{custom:w,children:v&&i.jsx(Er.div,{ref:n,className:Ct("chakra-offset-slide",c),...K5,animate:b,custom:w,...m})})});$A.displayName="ScaleFade";var LA={initial:({offsetX:e,offsetY:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,x:e,y:t,transition:(s=n==null?void 0:n.exit)!=null?s:Cs.exit(Xi.exit,o),transitionEnd:r==null?void 0:r.exit}},enter:({transition:e,transitionEnd:t,delay:n})=>{var r;return{opacity:1,x:0,y:0,transition:(r=e==null?void 0:e.enter)!=null?r:Cs.enter(Xi.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({offsetY:e,offsetX:t,transition:n,transitionEnd:r,reverse:o,delay:s})=>{var a;const c={x:t,y:e};return{opacity:0,transition:(a=n==null?void 0:n.exit)!=null?a:Cs.exit(Xi.exit,s),...o?{...c,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{...c,...r==null?void 0:r.exit}}}}},zv={initial:"initial",animate:"enter",exit:"exit",variants:LA},zA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,className:a,offsetX:c=0,offsetY:d=8,transition:p,transitionEnd:h,delay:m,...v}=t,b=r?o&&r:!0,w=o||r?"enter":"exit",y={offsetX:c,offsetY:d,reverse:s,transition:p,transitionEnd:h,delay:m};return i.jsx(mo,{custom:y,children:b&&i.jsx(Er.div,{ref:n,className:Ct("chakra-offset-slide",a),custom:y,...zv,animate:w,...v})})});zA.displayName="SlideFade";var Nw={exit:{duration:.15,ease:qi.easeInOut},enter:{type:"spring",damping:25,stiffness:180}},BA={exit:({direction:e,transition:t,transitionEnd:n,delay:r})=>{var o;const{exit:s}=Lv({direction:e});return{...s,transition:(o=t==null?void 0:t.exit)!=null?o:Cs.exit(Nw.exit,r),transitionEnd:n==null?void 0:n.exit}},enter:({direction:e,transitionEnd:t,transition:n,delay:r})=>{var o;const{enter:s}=Lv({direction:e});return{...s,transition:(o=n==null?void 0:n.enter)!=null?o:Cs.enter(Nw.enter,r),transitionEnd:t==null?void 0:t.enter}}},X5=f.forwardRef(function(t,n){const{direction:r="right",style:o,unmountOnExit:s,in:a,className:c,transition:d,transitionEnd:p,delay:h,motionProps:m,...v}=t,b=Lv({direction:r}),w=Object.assign({position:"fixed"},b.position,o),y=s?a&&s:!0,S=a||s?"enter":"exit",k={transitionEnd:p,transition:d,direction:r,delay:h};return i.jsx(mo,{custom:k,children:y&&i.jsx(Er.div,{...v,ref:n,initial:"exit",className:Ct("chakra-slide",c),animate:S,exit:"exit",custom:k,variants:BA,style:w,...m})})});X5.displayName="Slide";var Ru=Ae(function(t,n){const{className:r,motionProps:o,...s}=t,{reduceMotion:a}=hb(),{getPanelProps:c,isOpen:d}=pb(),p=c(s,n),h=Ct("chakra-accordion__panel",r),m=gm();a||delete p.hidden;const v=i.jsx(je.div,{...p,__css:m.panel,className:h});return a?v:i.jsx(vm,{in:d,...o,children:v})});Ru.displayName="AccordionPanel";var Y5=Ae(function({children:t,reduceMotion:n,...r},o){const s=Fr("Accordion",r),a=qn(r),{htmlProps:c,descendants:d,...p}=_A(a),h=f.useMemo(()=>({...p,reduceMotion:!!n}),[p,n]);return i.jsx(SA,{value:d,children:i.jsx(PA,{value:h,children:i.jsx(xA,{value:s,children:i.jsx(je.div,{ref:o,...c,className:Ct("chakra-accordion",r.className),__css:s.root,children:t})})})})});Y5.displayName="Accordion";function _d(e){return f.Children.toArray(e).filter(t=>f.isValidElement(t))}var[FA,HA]=Dn({strict:!1,name:"ButtonGroupContext"}),WA={horizontal:{"> *:first-of-type:not(:last-of-type)":{borderEndRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderStartRadius:0}},vertical:{"> *:first-of-type:not(:last-of-type)":{borderBottomRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderTopRadius:0}}},VA={horizontal:e=>({"& > *:not(style) ~ *:not(style)":{marginStart:e}}),vertical:e=>({"& > *:not(style) ~ *:not(style)":{marginTop:e}})},rr=Ae(function(t,n){const{size:r,colorScheme:o,variant:s,className:a,spacing:c="0.5rem",isAttached:d,isDisabled:p,orientation:h="horizontal",...m}=t,v=Ct("chakra-button__group",a),b=f.useMemo(()=>({size:r,colorScheme:o,variant:s,isDisabled:p}),[r,o,s,p]);let w={display:"inline-flex",...d?WA[h]:VA[h](c)};const y=h==="vertical";return i.jsx(FA,{value:b,children:i.jsx(je.div,{ref:n,role:"group",__css:w,className:v,"data-attached":d?"":void 0,"data-orientation":h,flexDir:y?"column":void 0,...m})})});rr.displayName="ButtonGroup";function UA(e){const[t,n]=f.useState(!e);return{ref:f.useCallback(s=>{s&&n(s.tagName==="BUTTON")},[]),type:t?"button":void 0}}function Bv(e){const{children:t,className:n,...r}=e,o=f.isValidElement(t)?f.cloneElement(t,{"aria-hidden":!0,focusable:!1}):t,s=Ct("chakra-button__icon",n);return i.jsx(je.span,{display:"inline-flex",alignSelf:"center",flexShrink:0,...r,className:s,children:o})}Bv.displayName="ButtonIcon";function Xp(e){const{label:t,placement:n,spacing:r="0.5rem",children:o=i.jsx(hl,{color:"currentColor",width:"1em",height:"1em"}),className:s,__css:a,...c}=e,d=Ct("chakra-button__spinner",s),p=n==="start"?"marginEnd":"marginStart",h=f.useMemo(()=>({display:"flex",alignItems:"center",position:t?"relative":"absolute",[p]:t?r:0,fontSize:"1em",lineHeight:"normal",...a}),[a,t,p,r]);return i.jsx(je.div,{className:d,...c,__css:h,children:o})}Xp.displayName="ButtonSpinner";var yc=Ae((e,t)=>{const n=HA(),r=ia("Button",{...n,...e}),{isDisabled:o=n==null?void 0:n.isDisabled,isLoading:s,isActive:a,children:c,leftIcon:d,rightIcon:p,loadingText:h,iconSpacing:m="0.5rem",type:v,spinner:b,spinnerPlacement:w="start",className:y,as:S,...k}=qn(e),_=f.useMemo(()=>{const O={...r==null?void 0:r._focus,zIndex:1};return{display:"inline-flex",appearance:"none",alignItems:"center",justifyContent:"center",userSelect:"none",position:"relative",whiteSpace:"nowrap",verticalAlign:"middle",outline:"none",...r,...!!n&&{_focus:O}}},[r,n]),{ref:P,type:I}=UA(S),E={rightIcon:p,leftIcon:d,iconSpacing:m,children:c};return i.jsxs(je.button,{ref:gA(t,P),as:S,type:v??I,"data-active":Ft(a),"data-loading":Ft(s),__css:_,className:Ct("chakra-button",y),...k,disabled:o||s,children:[s&&w==="start"&&i.jsx(Xp,{className:"chakra-button__spinner--start",label:h,placement:"start",spacing:m,children:b}),s?h||i.jsx(je.span,{opacity:0,children:i.jsx($w,{...E})}):i.jsx($w,{...E}),s&&w==="end"&&i.jsx(Xp,{className:"chakra-button__spinner--end",label:h,placement:"end",spacing:m,children:b})]})});yc.displayName="Button";function $w(e){const{leftIcon:t,rightIcon:n,children:r,iconSpacing:o}=e;return i.jsxs(i.Fragment,{children:[t&&i.jsx(Bv,{marginEnd:o,children:t}),r,n&&i.jsx(Bv,{marginStart:o,children:n})]})}var ka=Ae((e,t)=>{const{icon:n,children:r,isRound:o,"aria-label":s,...a}=e,c=n||r,d=f.isValidElement(c)?f.cloneElement(c,{"aria-hidden":!0,focusable:!1}):null;return i.jsx(yc,{padding:"0",borderRadius:o?"full":void 0,ref:t,"aria-label":s,...a,children:d})});ka.displayName="IconButton";var[Yde,GA]=Dn({name:"CheckboxGroupContext",strict:!1});function qA(e){const[t,n]=f.useState(e),[r,o]=f.useState(!1);return e!==t&&(o(!0),n(e)),r}function KA(e){return i.jsx(je.svg,{width:"1.2em",viewBox:"0 0 12 10",style:{fill:"none",strokeWidth:2,stroke:"currentColor",strokeDasharray:16},...e,children:i.jsx("polyline",{points:"1.5 6 4.5 9 10.5 1"})})}function XA(e){return i.jsx(je.svg,{width:"1.2em",viewBox:"0 0 24 24",style:{stroke:"currentColor",strokeWidth:4},...e,children:i.jsx("line",{x1:"21",x2:"3",y1:"12",y2:"12"})})}function YA(e){const{isIndeterminate:t,isChecked:n,...r}=e,o=t?XA:KA;return n||t?i.jsx(je.div,{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:i.jsx(o,{...r})}):null}var[QA,Q5]=Dn({name:"FormControlStylesContext",errorMessage:`useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[JA,Pd]=Dn({strict:!1,name:"FormControlContext"});function ZA(e){const{id:t,isRequired:n,isInvalid:r,isDisabled:o,isReadOnly:s,...a}=e,c=f.useId(),d=t||`field-${c}`,p=`${d}-label`,h=`${d}-feedback`,m=`${d}-helptext`,[v,b]=f.useState(!1),[w,y]=f.useState(!1),[S,k]=f.useState(!1),_=f.useCallback((R={},M=null)=>({id:m,...R,ref:cn(M,D=>{D&&y(!0)})}),[m]),P=f.useCallback((R={},M=null)=>({...R,ref:M,"data-focus":Ft(S),"data-disabled":Ft(o),"data-invalid":Ft(r),"data-readonly":Ft(s),id:R.id!==void 0?R.id:p,htmlFor:R.htmlFor!==void 0?R.htmlFor:d}),[d,o,S,r,s,p]),I=f.useCallback((R={},M=null)=>({id:h,...R,ref:cn(M,D=>{D&&b(!0)}),"aria-live":"polite"}),[h]),E=f.useCallback((R={},M=null)=>({...R,...a,ref:M,role:"group"}),[a]),O=f.useCallback((R={},M=null)=>({...R,ref:M,role:"presentation","aria-hidden":!0,children:R.children||"*"}),[]);return{isRequired:!!n,isInvalid:!!r,isReadOnly:!!s,isDisabled:!!o,isFocused:!!S,onFocus:()=>k(!0),onBlur:()=>k(!1),hasFeedbackText:v,setHasFeedbackText:b,hasHelpText:w,setHasHelpText:y,id:d,labelId:p,feedbackId:h,helpTextId:m,htmlProps:a,getHelpTextProps:_,getErrorMessageProps:I,getRootProps:E,getLabelProps:P,getRequiredIndicatorProps:O}}var go=Ae(function(t,n){const r=Fr("Form",t),o=qn(t),{getRootProps:s,htmlProps:a,...c}=ZA(o),d=Ct("chakra-form-control",t.className);return i.jsx(JA,{value:c,children:i.jsx(QA,{value:r,children:i.jsx(je.div,{...s({},n),className:d,__css:r.container})})})});go.displayName="FormControl";var eT=Ae(function(t,n){const r=Pd(),o=Q5(),s=Ct("chakra-form__helper-text",t.className);return i.jsx(je.div,{...r==null?void 0:r.getHelpTextProps(t,n),__css:o.helperText,className:s})});eT.displayName="FormHelperText";var Bo=Ae(function(t,n){var r;const o=ia("FormLabel",t),s=qn(t),{className:a,children:c,requiredIndicator:d=i.jsx(J5,{}),optionalIndicator:p=null,...h}=s,m=Pd(),v=(r=m==null?void 0:m.getLabelProps(h,n))!=null?r:{ref:n,...h};return i.jsxs(je.label,{...v,className:Ct("chakra-form__label",s.className),__css:{display:"block",textAlign:"start",...o},children:[c,m!=null&&m.isRequired?d:p]})});Bo.displayName="FormLabel";var J5=Ae(function(t,n){const r=Pd(),o=Q5();if(!(r!=null&&r.isRequired))return null;const s=Ct("chakra-form__required-indicator",t.className);return i.jsx(je.span,{...r==null?void 0:r.getRequiredIndicatorProps(t,n),__css:o.requiredIndicator,className:s})});J5.displayName="RequiredIndicator";function mb(e){const{isDisabled:t,isInvalid:n,isReadOnly:r,isRequired:o,...s}=gb(e);return{...s,disabled:t,readOnly:r,required:o,"aria-invalid":rs(n),"aria-required":rs(o),"aria-readonly":rs(r)}}function gb(e){var t,n,r;const o=Pd(),{id:s,disabled:a,readOnly:c,required:d,isRequired:p,isInvalid:h,isReadOnly:m,isDisabled:v,onFocus:b,onBlur:w,...y}=e,S=e["aria-describedby"]?[e["aria-describedby"]]:[];return o!=null&&o.hasFeedbackText&&(o!=null&&o.isInvalid)&&S.push(o.feedbackId),o!=null&&o.hasHelpText&&S.push(o.helpTextId),{...y,"aria-describedby":S.join(" ")||void 0,id:s??(o==null?void 0:o.id),isDisabled:(t=a??v)!=null?t:o==null?void 0:o.isDisabled,isReadOnly:(n=c??m)!=null?n:o==null?void 0:o.isReadOnly,isRequired:(r=d??p)!=null?r:o==null?void 0:o.isRequired,isInvalid:h??(o==null?void 0:o.isInvalid),onFocus:et(o==null?void 0:o.onFocus,b),onBlur:et(o==null?void 0:o.onBlur,w)}}var vb={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},Z5=je("span",{baseStyle:vb});Z5.displayName="VisuallyHidden";var tT=je("input",{baseStyle:vb});tT.displayName="VisuallyHiddenInput";const nT=()=>typeof document<"u";let Lw=!1,jd=null,ol=!1,Fv=!1;const Hv=new Set;function bb(e,t){Hv.forEach(n=>n(e,t))}const rT=typeof window<"u"&&window.navigator!=null?/^Mac/.test(window.navigator.platform):!1;function oT(e){return!(e.metaKey||!rT&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function zw(e){ol=!0,oT(e)&&(jd="keyboard",bb("keyboard",e))}function Nl(e){if(jd="pointer",e.type==="mousedown"||e.type==="pointerdown"){ol=!0;const t=e.composedPath?e.composedPath()[0]:e.target;let n=!1;try{n=t.matches(":focus-visible")}catch{}if(n)return;bb("pointer",e)}}function sT(e){return e.mozInputSource===0&&e.isTrusted?!0:e.detail===0&&!e.pointerType}function aT(e){sT(e)&&(ol=!0,jd="virtual")}function iT(e){e.target===window||e.target===document||(!ol&&!Fv&&(jd="virtual",bb("virtual",e)),ol=!1,Fv=!1)}function lT(){ol=!1,Fv=!0}function Bw(){return jd!=="pointer"}function cT(){if(!nT()||Lw)return;const{focus:e}=HTMLElement.prototype;HTMLElement.prototype.focus=function(...n){ol=!0,e.apply(this,n)},document.addEventListener("keydown",zw,!0),document.addEventListener("keyup",zw,!0),document.addEventListener("click",aT,!0),window.addEventListener("focus",iT,!0),window.addEventListener("blur",lT,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",Nl,!0),document.addEventListener("pointermove",Nl,!0),document.addEventListener("pointerup",Nl,!0)):(document.addEventListener("mousedown",Nl,!0),document.addEventListener("mousemove",Nl,!0),document.addEventListener("mouseup",Nl,!0)),Lw=!0}function e3(e){cT(),e(Bw());const t=()=>e(Bw());return Hv.add(t),()=>{Hv.delete(t)}}function uT(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function t3(e={}){const t=gb(e),{isDisabled:n,isReadOnly:r,isRequired:o,isInvalid:s,id:a,onBlur:c,onFocus:d,"aria-describedby":p}=t,{defaultChecked:h,isChecked:m,isFocusable:v,onChange:b,isIndeterminate:w,name:y,value:S,tabIndex:k=void 0,"aria-label":_,"aria-labelledby":P,"aria-invalid":I,...E}=e,O=uT(E,["isDisabled","isReadOnly","isRequired","isInvalid","id","onBlur","onFocus","aria-describedby"]),R=or(b),M=or(c),D=or(d),[A,L]=f.useState(!1),[Q,F]=f.useState(!1),[V,q]=f.useState(!1),[G,T]=f.useState(!1);f.useEffect(()=>e3(L),[]);const z=f.useRef(null),[$,Y]=f.useState(!0),[ae,fe]=f.useState(!!h),ie=m!==void 0,X=ie?m:ae,K=f.useCallback(de=>{if(r||n){de.preventDefault();return}ie||fe(X?de.target.checked:w?!0:de.target.checked),R==null||R(de)},[r,n,X,ie,w,R]);nc(()=>{z.current&&(z.current.indeterminate=!!w)},[w]),Fa(()=>{n&&F(!1)},[n,F]),nc(()=>{const de=z.current;if(!(de!=null&&de.form))return;const Te=()=>{fe(!!h)};return de.form.addEventListener("reset",Te),()=>{var Ee;return(Ee=de.form)==null?void 0:Ee.removeEventListener("reset",Te)}},[]);const U=n&&!v,se=f.useCallback(de=>{de.key===" "&&T(!0)},[T]),re=f.useCallback(de=>{de.key===" "&&T(!1)},[T]);nc(()=>{if(!z.current)return;z.current.checked!==X&&fe(z.current.checked)},[z.current]);const oe=f.useCallback((de={},Te=null)=>{const Ee=$e=>{Q&&$e.preventDefault(),T(!0)};return{...de,ref:Te,"data-active":Ft(G),"data-hover":Ft(V),"data-checked":Ft(X),"data-focus":Ft(Q),"data-focus-visible":Ft(Q&&A),"data-indeterminate":Ft(w),"data-disabled":Ft(n),"data-invalid":Ft(s),"data-readonly":Ft(r),"aria-hidden":!0,onMouseDown:et(de.onMouseDown,Ee),onMouseUp:et(de.onMouseUp,()=>T(!1)),onMouseEnter:et(de.onMouseEnter,()=>q(!0)),onMouseLeave:et(de.onMouseLeave,()=>q(!1))}},[G,X,n,Q,A,V,w,s,r]),pe=f.useCallback((de={},Te=null)=>({...de,ref:Te,"data-active":Ft(G),"data-hover":Ft(V),"data-checked":Ft(X),"data-focus":Ft(Q),"data-focus-visible":Ft(Q&&A),"data-indeterminate":Ft(w),"data-disabled":Ft(n),"data-invalid":Ft(s),"data-readonly":Ft(r)}),[G,X,n,Q,A,V,w,s,r]),le=f.useCallback((de={},Te=null)=>({...O,...de,ref:cn(Te,Ee=>{Ee&&Y(Ee.tagName==="LABEL")}),onClick:et(de.onClick,()=>{var Ee;$||((Ee=z.current)==null||Ee.click(),requestAnimationFrame(()=>{var $e;($e=z.current)==null||$e.focus({preventScroll:!0})}))}),"data-disabled":Ft(n),"data-checked":Ft(X),"data-invalid":Ft(s)}),[O,n,X,s,$]),ge=f.useCallback((de={},Te=null)=>({...de,ref:cn(z,Te),type:"checkbox",name:y,value:S,id:a,tabIndex:k,onChange:et(de.onChange,K),onBlur:et(de.onBlur,M,()=>F(!1)),onFocus:et(de.onFocus,D,()=>F(!0)),onKeyDown:et(de.onKeyDown,se),onKeyUp:et(de.onKeyUp,re),required:o,checked:X,disabled:U,readOnly:r,"aria-label":_,"aria-labelledby":P,"aria-invalid":I?!!I:s,"aria-describedby":p,"aria-disabled":n,style:vb}),[y,S,a,K,M,D,se,re,o,X,U,r,_,P,I,s,p,n,k]),ke=f.useCallback((de={},Te=null)=>({...de,ref:Te,onMouseDown:et(de.onMouseDown,dT),"data-disabled":Ft(n),"data-checked":Ft(X),"data-invalid":Ft(s)}),[X,n,s]);return{state:{isInvalid:s,isFocused:Q,isChecked:X,isActive:G,isHovered:V,isIndeterminate:w,isDisabled:n,isReadOnly:r,isRequired:o},getRootProps:le,getCheckboxProps:oe,getIndicatorProps:pe,getInputProps:ge,getLabelProps:ke,htmlProps:O}}function dT(e){e.preventDefault(),e.stopPropagation()}var fT={display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",userSelect:"none",flexShrink:0},pT={cursor:"pointer",display:"inline-flex",alignItems:"center",verticalAlign:"top",position:"relative"},hT=za({from:{opacity:0,strokeDashoffset:16,transform:"scale(0.95)"},to:{opacity:1,strokeDashoffset:0,transform:"scale(1)"}}),mT=za({from:{opacity:0},to:{opacity:1}}),gT=za({from:{transform:"scaleX(0.65)"},to:{transform:"scaleX(1)"}}),n3=Ae(function(t,n){const r=GA(),o={...r,...t},s=Fr("Checkbox",o),a=qn(t),{spacing:c="0.5rem",className:d,children:p,iconColor:h,iconSize:m,icon:v=i.jsx(YA,{}),isChecked:b,isDisabled:w=r==null?void 0:r.isDisabled,onChange:y,inputProps:S,...k}=a;let _=b;r!=null&&r.value&&a.value&&(_=r.value.includes(a.value));let P=y;r!=null&&r.onChange&&a.value&&(P=cm(r.onChange,y));const{state:I,getInputProps:E,getCheckboxProps:O,getLabelProps:R,getRootProps:M}=t3({...k,isDisabled:w,isChecked:_,onChange:P}),D=qA(I.isChecked),A=f.useMemo(()=>({animation:D?I.isIndeterminate?`${mT} 20ms linear, ${gT} 200ms linear`:`${hT} 200ms linear`:void 0,fontSize:m,color:h,...s.icon}),[h,m,D,I.isIndeterminate,s.icon]),L=f.cloneElement(v,{__css:A,isIndeterminate:I.isIndeterminate,isChecked:I.isChecked});return i.jsxs(je.label,{__css:{...pT,...s.container},className:Ct("chakra-checkbox",d),...M(),children:[i.jsx("input",{className:"chakra-checkbox__input",...E(S,n)}),i.jsx(je.span,{__css:{...fT,...s.control},className:"chakra-checkbox__control",...O(),children:L}),p&&i.jsx(je.span,{className:"chakra-checkbox__label",...R(),__css:{marginStart:c,...s.label},children:p})]})});n3.displayName="Checkbox";function vT(e){const t=parseFloat(e);return typeof t!="number"||Number.isNaN(t)?0:t}function yb(e,t){let n=vT(e);const r=10**(t??10);return n=Math.round(n*r)/r,t?n.toFixed(t):n.toString()}function Wv(e){if(!Number.isFinite(e))return 0;let t=1,n=0;for(;Math.round(e*t)/t!==e;)t*=10,n+=1;return n}function Yp(e,t,n){return(e-t)*100/(n-t)}function r3(e,t,n){return(n-t)*e+t}function Vv(e,t,n){const r=Math.round((e-t)/n)*n+t,o=Wv(n);return yb(r,o)}function ac(e,t,n){return e==null?e:(n{var A;return r==null?"":(A=P0(r,s,n))!=null?A:""}),v=typeof o<"u",b=v?o:h,w=o3(ri(b),s),y=n??w,S=f.useCallback(A=>{A!==b&&(v||m(A.toString()),p==null||p(A.toString(),ri(A)))},[p,v,b]),k=f.useCallback(A=>{let L=A;return d&&(L=ac(L,a,c)),yb(L,y)},[y,d,c,a]),_=f.useCallback((A=s)=>{let L;b===""?L=ri(A):L=ri(b)+A,L=k(L),S(L)},[k,s,S,b]),P=f.useCallback((A=s)=>{let L;b===""?L=ri(-A):L=ri(b)-A,L=k(L),S(L)},[k,s,S,b]),I=f.useCallback(()=>{var A;let L;r==null?L="":L=(A=P0(r,s,n))!=null?A:a,S(L)},[r,n,s,S,a]),E=f.useCallback(A=>{var L;const Q=(L=P0(A,s,y))!=null?L:a;S(Q)},[y,s,S,a]),O=ri(b);return{isOutOfRange:O>c||O" `}),[xT,a3]=Dn({name:"EditableContext",errorMessage:"useEditableContext: context is undefined. Seems you forgot to wrap the editable components in ``"}),i3={fontSize:"inherit",fontWeight:"inherit",textAlign:"inherit",bg:"transparent"},l3=Ae(function(t,n){const{getInputProps:r}=a3(),o=s3(),s=r(t,n),a=Ct("chakra-editable__input",t.className);return i.jsx(je.input,{...s,__css:{outline:0,...i3,...o.input},className:a})});l3.displayName="EditableInput";var c3=Ae(function(t,n){const{getPreviewProps:r}=a3(),o=s3(),s=r(t,n),a=Ct("chakra-editable__preview",t.className);return i.jsx(je.span,{...s,__css:{cursor:"text",display:"inline-block",...i3,...o.preview},className:a})});c3.displayName="EditablePreview";function Yi(e,t,n,r){const o=or(n);return f.useEffect(()=>{const s=typeof e=="function"?e():e??document;if(!(!n||!s))return s.addEventListener(t,o,r),()=>{s.removeEventListener(t,o,r)}},[t,e,r,o,n]),()=>{const s=typeof e=="function"?e():e??document;s==null||s.removeEventListener(t,o,r)}}function wT(e){return"current"in e}var u3=()=>typeof window<"u";function ST(){var e;const t=navigator.userAgentData;return(e=t==null?void 0:t.platform)!=null?e:navigator.platform}var CT=e=>u3()&&e.test(navigator.vendor),kT=e=>u3()&&e.test(ST()),_T=()=>kT(/mac|iphone|ipad|ipod/i),PT=()=>_T()&&CT(/apple/i);function d3(e){const{ref:t,elements:n,enabled:r}=e,o=()=>{var s,a;return(a=(s=t.current)==null?void 0:s.ownerDocument)!=null?a:document};Yi(o,"pointerdown",s=>{if(!PT()||!r)return;const a=s.target,d=(n??[t]).some(p=>{const h=wT(p)?p.current:p;return(h==null?void 0:h.contains(a))||h===a});o().activeElement!==a&&d&&(s.preventDefault(),a.focus())})}function Fw(e,t){return e?e===t||e.contains(t):!1}function jT(e={}){const{onChange:t,onCancel:n,onSubmit:r,onBlur:o,value:s,isDisabled:a,defaultValue:c,startWithEditView:d,isPreviewFocusable:p=!0,submitOnBlur:h=!0,selectAllOnFocus:m=!0,placeholder:v,onEdit:b,finalFocusRef:w,...y}=e,S=or(b),k=!!(d&&!a),[_,P]=f.useState(k),[I,E]=zc({defaultValue:c||"",value:s,onChange:t}),[O,R]=f.useState(I),M=f.useRef(null),D=f.useRef(null),A=f.useRef(null),L=f.useRef(null),Q=f.useRef(null);d3({ref:M,enabled:_,elements:[L,Q]});const F=!_&&!a;nc(()=>{var oe,pe;_&&((oe=M.current)==null||oe.focus(),m&&((pe=M.current)==null||pe.select()))},[]),Fa(()=>{var oe,pe,le,ge;if(!_){w?(oe=w.current)==null||oe.focus():(pe=A.current)==null||pe.focus();return}(le=M.current)==null||le.focus(),m&&((ge=M.current)==null||ge.select()),S==null||S()},[_,S,m]);const V=f.useCallback(()=>{F&&P(!0)},[F]),q=f.useCallback(()=>{R(I)},[I]),G=f.useCallback(()=>{P(!1),E(O),n==null||n(O),o==null||o(O)},[n,o,E,O]),T=f.useCallback(()=>{P(!1),R(I),r==null||r(I),o==null||o(O)},[I,r,o,O]);f.useEffect(()=>{if(_)return;const oe=M.current;(oe==null?void 0:oe.ownerDocument.activeElement)===oe&&(oe==null||oe.blur())},[_]);const z=f.useCallback(oe=>{E(oe.currentTarget.value)},[E]),$=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G,Enter:ke=>{!ke.shiftKey&&!ke.metaKey&&T()}}[pe];ge&&(oe.preventDefault(),ge(oe))},[G,T]),Y=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G}[pe];ge&&(oe.preventDefault(),ge(oe))},[G]),ae=I.length===0,fe=f.useCallback(oe=>{var pe;if(!_)return;const le=oe.currentTarget.ownerDocument,ge=(pe=oe.relatedTarget)!=null?pe:le.activeElement,ke=Fw(L.current,ge),xe=Fw(Q.current,ge);!ke&&!xe&&(h?T():G())},[h,T,G,_]),ie=f.useCallback((oe={},pe=null)=>{const le=F&&p?0:void 0;return{...oe,ref:cn(pe,D),children:ae?v:I,hidden:_,"aria-disabled":rs(a),tabIndex:le,onFocus:et(oe.onFocus,V,q)}},[a,_,F,p,ae,V,q,v,I]),X=f.useCallback((oe={},pe=null)=>({...oe,hidden:!_,placeholder:v,ref:cn(pe,M),disabled:a,"aria-disabled":rs(a),value:I,onBlur:et(oe.onBlur,fe),onChange:et(oe.onChange,z),onKeyDown:et(oe.onKeyDown,$),onFocus:et(oe.onFocus,q)}),[a,_,fe,z,$,q,v,I]),K=f.useCallback((oe={},pe=null)=>({...oe,hidden:!_,placeholder:v,ref:cn(pe,M),disabled:a,"aria-disabled":rs(a),value:I,onBlur:et(oe.onBlur,fe),onChange:et(oe.onChange,z),onKeyDown:et(oe.onKeyDown,Y),onFocus:et(oe.onFocus,q)}),[a,_,fe,z,Y,q,v,I]),U=f.useCallback((oe={},pe=null)=>({"aria-label":"Edit",...oe,type:"button",onClick:et(oe.onClick,V),ref:cn(pe,A),disabled:a}),[V,a]),se=f.useCallback((oe={},pe=null)=>({...oe,"aria-label":"Submit",ref:cn(Q,pe),type:"button",onClick:et(oe.onClick,T),disabled:a}),[T,a]),re=f.useCallback((oe={},pe=null)=>({"aria-label":"Cancel",id:"cancel",...oe,ref:cn(L,pe),type:"button",onClick:et(oe.onClick,G),disabled:a}),[G,a]);return{isEditing:_,isDisabled:a,isValueEmpty:ae,value:I,onEdit:V,onCancel:G,onSubmit:T,getPreviewProps:ie,getInputProps:X,getTextareaProps:K,getEditButtonProps:U,getSubmitButtonProps:se,getCancelButtonProps:re,htmlProps:y}}var f3=Ae(function(t,n){const r=Fr("Editable",t),o=qn(t),{htmlProps:s,...a}=jT(o),{isEditing:c,onSubmit:d,onCancel:p,onEdit:h}=a,m=Ct("chakra-editable",t.className),v=X1(t.children,{isEditing:c,onSubmit:d,onCancel:p,onEdit:h});return i.jsx(xT,{value:a,children:i.jsx(yT,{value:r,children:i.jsx(je.div,{ref:n,...s,className:m,children:v})})})});f3.displayName="Editable";var p3={exports:{}},IT="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",ET=IT,OT=ET;function h3(){}function m3(){}m3.resetWarningCache=h3;var RT=function(){function e(r,o,s,a,c,d){if(d!==OT){var p=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw p.name="Invariant Violation",p}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:m3,resetWarningCache:h3};return n.PropTypes=n,n};p3.exports=RT();var MT=p3.exports;const zn=bd(MT);var Uv="data-focus-lock",g3="data-focus-lock-disabled",DT="data-no-focus-lock",AT="data-autofocus-inside",TT="data-no-autofocus";function NT(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function $T(e,t){var n=f.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}function v3(e,t){return $T(t||null,function(n){return e.forEach(function(r){return NT(r,n)})})}var j0={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"},Qs=function(){return Qs=Object.assign||function(t){for(var n,r=1,o=arguments.length;r0&&s[s.length-1])&&(p[0]===6||p[0]===2)){n=0;continue}if(p[0]===3&&(!s||p[1]>s[0]&&p[1]0)&&!(o=r.next()).done;)s.push(o.value)}catch(c){a={error:c}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return s}function Gv(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,s;r=0}).sort(QT)},JT=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],Cb=JT.join(","),ZT="".concat(Cb,", [data-focus-guard]"),T3=function(e,t){return la((e.shadowRoot||e).children).reduce(function(n,r){return n.concat(r.matches(t?ZT:Cb)?[r]:[],T3(r))},[])},eN=function(e,t){var n;return e instanceof HTMLIFrameElement&&(!((n=e.contentDocument)===null||n===void 0)&&n.body)?bm([e.contentDocument.body],t):[e]},bm=function(e,t){return e.reduce(function(n,r){var o,s=T3(r,t),a=(o=[]).concat.apply(o,s.map(function(c){return eN(c,t)}));return n.concat(a,r.parentNode?la(r.parentNode.querySelectorAll(Cb)).filter(function(c){return c===r}):[])},[])},tN=function(e){var t=e.querySelectorAll("[".concat(AT,"]"));return la(t).map(function(n){return bm([n])}).reduce(function(n,r){return n.concat(r)},[])},kb=function(e,t){return la(e).filter(function(n){return E3(t,n)}).filter(function(n){return KT(n)})},Ww=function(e,t){return t===void 0&&(t=new Map),la(e).filter(function(n){return O3(t,n)})},Kv=function(e,t,n){return A3(kb(bm(e,n),t),!0,n)},Vw=function(e,t){return A3(kb(bm(e),t),!1)},nN=function(e,t){return kb(tN(e),t)},ic=function(e,t){return e.shadowRoot?ic(e.shadowRoot,t):Object.getPrototypeOf(e).contains!==void 0&&Object.getPrototypeOf(e).contains.call(e,t)?!0:la(e.children).some(function(n){var r;if(n instanceof HTMLIFrameElement){var o=(r=n.contentDocument)===null||r===void 0?void 0:r.body;return o?ic(o,t):!1}return ic(n,t)})},rN=function(e){for(var t=new Set,n=e.length,r=0;r0&&t.add(o),(s&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(r)}return e.filter(function(a,c){return!t.has(c)})},N3=function(e){return e.parentNode?N3(e.parentNode):e},_b=function(e){var t=Qp(e);return t.filter(Boolean).reduce(function(n,r){var o=r.getAttribute(Uv);return n.push.apply(n,o?rN(la(N3(r).querySelectorAll("[".concat(Uv,'="').concat(o,'"]:not([').concat(g3,'="disabled"])')))):[r]),n},[])},oN=function(e){try{return e()}catch{return}},td=function(e){if(e===void 0&&(e=document),!(!e||!e.activeElement)){var t=e.activeElement;return t.shadowRoot?td(t.shadowRoot):t instanceof HTMLIFrameElement&&oN(function(){return t.contentWindow.document})?td(t.contentWindow.document):t}},sN=function(e,t){return e===t},aN=function(e,t){return!!la(e.querySelectorAll("iframe")).some(function(n){return sN(n,t)})},$3=function(e,t){return t===void 0&&(t=td(P3(e).ownerDocument)),!t||t.dataset&&t.dataset.focusGuard?!1:_b(e).some(function(n){return ic(n,t)||aN(n,t)})},iN=function(e){e===void 0&&(e=document);var t=td(e);return t?la(e.querySelectorAll("[".concat(DT,"]"))).some(function(n){return ic(n,t)}):!1},lN=function(e,t){return t.filter(D3).filter(function(n){return n.name===e.name}).filter(function(n){return n.checked})[0]||e},Pb=function(e,t){return D3(e)&&e.name?lN(e,t):e},cN=function(e){var t=new Set;return e.forEach(function(n){return t.add(Pb(n,e))}),e.filter(function(n){return t.has(n)})},Uw=function(e){return e[0]&&e.length>1?Pb(e[0],e):e[0]},Gw=function(e,t){return e.length>1?e.indexOf(Pb(e[t],e)):t},L3="NEW_FOCUS",uN=function(e,t,n,r){var o=e.length,s=e[0],a=e[o-1],c=Sb(n);if(!(n&&e.indexOf(n)>=0)){var d=n!==void 0?t.indexOf(n):-1,p=r?t.indexOf(r):d,h=r?e.indexOf(r):-1,m=d-p,v=t.indexOf(s),b=t.indexOf(a),w=cN(t),y=n!==void 0?w.indexOf(n):-1,S=y-(r?w.indexOf(r):d),k=Gw(e,0),_=Gw(e,o-1);if(d===-1||h===-1)return L3;if(!m&&h>=0)return h;if(d<=v&&c&&Math.abs(m)>1)return _;if(d>=b&&c&&Math.abs(m)>1)return k;if(m&&Math.abs(S)>1)return h;if(d<=v)return _;if(d>b)return k;if(m)return Math.abs(m)>1?h:(o+h+m)%o}},dN=function(e){return function(t){var n,r=(n=R3(t))===null||n===void 0?void 0:n.autofocus;return t.autofocus||r!==void 0&&r!=="false"||e.indexOf(t)>=0}},fN=function(e,t,n){var r=e.map(function(s){var a=s.node;return a}),o=Ww(r.filter(dN(n)));return o&&o.length?Uw(o):Uw(Ww(t))},Xv=function(e,t){return t===void 0&&(t=[]),t.push(e),e.parentNode&&Xv(e.parentNode.host||e.parentNode,t),t},I0=function(e,t){for(var n=Xv(e),r=Xv(t),o=0;o=0)return s}return!1},z3=function(e,t,n){var r=Qp(e),o=Qp(t),s=r[0],a=!1;return o.filter(Boolean).forEach(function(c){a=I0(a||c,c)||a,n.filter(Boolean).forEach(function(d){var p=I0(s,d);p&&(!a||ic(p,a)?a=p:a=I0(p,a))})}),a},pN=function(e,t){return e.reduce(function(n,r){return n.concat(nN(r,t))},[])},hN=function(e,t){var n=new Map;return t.forEach(function(r){return n.set(r.node,r)}),e.map(function(r){return n.get(r)}).filter(YT)},mN=function(e,t){var n=td(Qp(e).length>0?document:P3(e).ownerDocument),r=_b(e).filter(Jp),o=z3(n||e,e,r),s=new Map,a=Vw(r,s),c=Kv(r,s).filter(function(b){var w=b.node;return Jp(w)});if(!(!c[0]&&(c=a,!c[0]))){var d=Vw([o],s).map(function(b){var w=b.node;return w}),p=hN(d,c),h=p.map(function(b){var w=b.node;return w}),m=uN(h,d,n,t);if(m===L3){var v=fN(a,h,pN(r,s));if(v)return{node:v};console.warn("focus-lock: cannot find any node to move focus into");return}return m===void 0?m:p[m]}},gN=function(e){var t=_b(e).filter(Jp),n=z3(e,e,t),r=new Map,o=Kv([n],r,!0),s=Kv(t,r).filter(function(a){var c=a.node;return Jp(c)}).map(function(a){var c=a.node;return c});return o.map(function(a){var c=a.node,d=a.index;return{node:c,index:d,lockItem:s.indexOf(c)>=0,guard:Sb(c)}})},vN=function(e,t){"focus"in e&&e.focus(t),"contentWindow"in e&&e.contentWindow&&e.contentWindow.focus()},E0=0,O0=!1,B3=function(e,t,n){n===void 0&&(n={});var r=mN(e,t);if(!O0&&r){if(E0>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),O0=!0,setTimeout(function(){O0=!1},1);return}E0++,vN(r.node,n.focusOptions),E0--}};function jb(e){setTimeout(e,1)}var bN=function(){return document&&document.activeElement===document.body},yN=function(){return bN()||iN()},lc=null,Ql=null,cc=null,nd=!1,xN=function(){return!0},wN=function(t){return(lc.whiteList||xN)(t)},SN=function(t,n){cc={observerNode:t,portaledElement:n}},CN=function(t){return cc&&cc.portaledElement===t};function qw(e,t,n,r){var o=null,s=e;do{var a=r[s];if(a.guard)a.node.dataset.focusAutoGuard&&(o=a);else if(a.lockItem){if(s!==e)return;o=null}else break}while((s+=n)!==t);o&&(o.node.tabIndex=0)}var kN=function(t){return t&&"current"in t?t.current:t},_N=function(t){return t?!!nd:nd==="meanwhile"},PN=function e(t,n,r){return n&&(n.host===t&&(!n.activeElement||r.contains(n.activeElement))||n.parentNode&&e(t,n.parentNode,r))},jN=function(t,n){return n.some(function(r){return PN(t,r,r)})},Zp=function(){var t=!1;if(lc){var n=lc,r=n.observed,o=n.persistentFocus,s=n.autoFocus,a=n.shards,c=n.crossFrame,d=n.focusOptions,p=r||cc&&cc.portaledElement,h=document&&document.activeElement;if(p){var m=[p].concat(a.map(kN).filter(Boolean));if((!h||wN(h))&&(o||_N(c)||!yN()||!Ql&&s)&&(p&&!($3(m)||h&&jN(h,m)||CN(h))&&(document&&!Ql&&h&&!s?(h.blur&&h.blur(),document.body.focus()):(t=B3(m,Ql,{focusOptions:d}),cc={})),nd=!1,Ql=document&&document.activeElement),document){var v=document&&document.activeElement,b=gN(m),w=b.map(function(y){var S=y.node;return S}).indexOf(v);w>-1&&(b.filter(function(y){var S=y.guard,k=y.node;return S&&k.dataset.focusAutoGuard}).forEach(function(y){var S=y.node;return S.removeAttribute("tabIndex")}),qw(w,b.length,1,b),qw(w,-1,-1,b))}}}return t},F3=function(t){Zp()&&t&&(t.stopPropagation(),t.preventDefault())},Ib=function(){return jb(Zp)},IN=function(t){var n=t.target,r=t.currentTarget;r.contains(n)||SN(r,n)},EN=function(){return null},H3=function(){nd="just",jb(function(){nd="meanwhile"})},ON=function(){document.addEventListener("focusin",F3),document.addEventListener("focusout",Ib),window.addEventListener("blur",H3)},RN=function(){document.removeEventListener("focusin",F3),document.removeEventListener("focusout",Ib),window.removeEventListener("blur",H3)};function MN(e){return e.filter(function(t){var n=t.disabled;return!n})}function DN(e){var t=e.slice(-1)[0];t&&!lc&&ON();var n=lc,r=n&&t&&t.id===n.id;lc=t,n&&!r&&(n.onDeactivation(),e.filter(function(o){var s=o.id;return s===n.id}).length||n.returnFocus(!t)),t?(Ql=null,(!r||n.observed!==t.observed)&&t.onActivation(),Zp(),jb(Zp)):(RN(),Ql=null)}C3.assignSyncMedium(IN);k3.assignMedium(Ib);zT.assignMedium(function(e){return e({moveFocusInside:B3,focusInside:$3})});const AN=WT(MN,DN)(EN);var W3=f.forwardRef(function(t,n){return f.createElement(_3,sr({sideCar:AN,ref:n},t))}),V3=_3.propTypes||{};V3.sideCar;D9(V3,["sideCar"]);W3.propTypes={};const Kw=W3;function U3(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function Eb(e){var t;if(!U3(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function TN(e){var t,n;return(n=(t=G3(e))==null?void 0:t.defaultView)!=null?n:window}function G3(e){return U3(e)?e.ownerDocument:document}function NN(e){return G3(e).activeElement}function $N(e){const t=e.ownerDocument.defaultView||window,{overflow:n,overflowX:r,overflowY:o}=t.getComputedStyle(e);return/auto|scroll|overlay|hidden/.test(n+o+r)}function LN(e){return e.localName==="html"?e:e.assignedSlot||e.parentElement||e.ownerDocument.documentElement}function q3(e){return["html","body","#document"].includes(e.localName)?e.ownerDocument.body:Eb(e)&&$N(e)?e:q3(LN(e))}var K3=e=>e.hasAttribute("tabindex"),zN=e=>K3(e)&&e.tabIndex===-1;function BN(e){return!!e.getAttribute("disabled")||!!e.getAttribute("aria-disabled")}function X3(e){return e.parentElement&&X3(e.parentElement)?!0:e.hidden}function FN(e){const t=e.getAttribute("contenteditable");return t!=="false"&&t!=null}function Y3(e){if(!Eb(e)||X3(e)||BN(e))return!1;const{localName:t}=e;if(["input","select","textarea","button"].indexOf(t)>=0)return!0;const r={a:()=>e.hasAttribute("href"),audio:()=>e.hasAttribute("controls"),video:()=>e.hasAttribute("controls")};return t in r?r[t]():FN(e)?!0:K3(e)}function HN(e){return e?Eb(e)&&Y3(e)&&!zN(e):!1}var WN=["input:not(:disabled):not([disabled])","select:not(:disabled):not([disabled])","textarea:not(:disabled):not([disabled])","embed","iframe","object","a[href]","area[href]","button:not(:disabled):not([disabled])","[tabindex]","audio[controls]","video[controls]","*[tabindex]:not([aria-disabled])","*[contenteditable]"],VN=WN.join(),UN=e=>e.offsetWidth>0&&e.offsetHeight>0;function Q3(e){const t=Array.from(e.querySelectorAll(VN));return t.unshift(e),t.filter(n=>Y3(n)&&UN(n))}var Xw,GN=(Xw=Kw.default)!=null?Xw:Kw,J3=e=>{const{initialFocusRef:t,finalFocusRef:n,contentRef:r,restoreFocus:o,children:s,isDisabled:a,autoFocus:c,persistentFocus:d,lockFocusAcrossFrames:p}=e,h=f.useCallback(()=>{t!=null&&t.current?t.current.focus():r!=null&&r.current&&Q3(r.current).length===0&&requestAnimationFrame(()=>{var w;(w=r.current)==null||w.focus()})},[t,r]),m=f.useCallback(()=>{var b;(b=n==null?void 0:n.current)==null||b.focus()},[n]),v=o&&!n;return i.jsx(GN,{crossFrame:p,persistentFocus:d,autoFocus:c,disabled:a,onActivation:h,onDeactivation:m,returnFocus:v,children:s})};J3.displayName="FocusLock";var qN=nA?f.useLayoutEffect:f.useEffect;function eh(e,t=[]){const n=f.useRef(e);return qN(()=>{n.current=e}),f.useCallback((...r)=>{var o;return(o=n.current)==null?void 0:o.call(n,...r)},t)}function KN(e,t,n,r){const o=eh(t);return f.useEffect(()=>{var s;const a=(s=U2(n))!=null?s:document;if(t)return a.addEventListener(e,o,r),()=>{a.removeEventListener(e,o,r)}},[e,n,r,o,t]),()=>{var s;((s=U2(n))!=null?s:document).removeEventListener(e,o,r)}}function XN(e){const{ref:t,handler:n,enabled:r=!0}=e,o=eh(n),a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{R0(m,t)&&(a.isPointerDown=!0)},d=m=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&R0(m,t)&&(a.isPointerDown=!1,o(m))},p=m=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&R0(m,t)&&(a.isPointerDown=!1,o(m))},h=H5(t.current);return h.addEventListener("mousedown",c,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",c,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",c,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",c,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,a,r])}function R0(e,t){var n;const r=e.target;return r&&!H5(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function YN(e,t){const n=f.useId();return f.useMemo(()=>e||[t,n].filter(Boolean).join("-"),[e,t,n])}function QN(e,t){const n=e!==void 0;return[n,n&&typeof e<"u"?e:t]}function ss(e={}){const{onClose:t,onOpen:n,isOpen:r,id:o}=e,s=eh(n),a=eh(t),[c,d]=f.useState(e.defaultIsOpen||!1),[p,h]=QN(r,c),m=YN(o,"disclosure"),v=f.useCallback(()=>{p||d(!1),a==null||a()},[p,a]),b=f.useCallback(()=>{p||d(!0),s==null||s()},[p,s]),w=f.useCallback(()=>{(h?v:b)()},[h,b,v]);return{isOpen:!!h,onOpen:b,onClose:v,onToggle:w,isControlled:p,getButtonProps:(y={})=>({...y,"aria-expanded":h,"aria-controls":m,onClick:$R(y.onClick,w)}),getDisclosureProps:(y={})=>({...y,hidden:!h,id:m})}}var[JN,ZN]=Dn({name:"InputGroupStylesContext",errorMessage:`useInputGroupStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Z3=Ae(function(t,n){const r=Fr("Input",t),{children:o,className:s,...a}=qn(t),c=Ct("chakra-input__group",s),d={},p=_d(o),h=r.field;p.forEach(v=>{var b,w;r&&(h&&v.type.id==="InputLeftElement"&&(d.paddingStart=(b=h.height)!=null?b:h.h),h&&v.type.id==="InputRightElement"&&(d.paddingEnd=(w=h.height)!=null?w:h.h),v.type.id==="InputRightAddon"&&(d.borderEndRadius=0),v.type.id==="InputLeftAddon"&&(d.borderStartRadius=0))});const m=p.map(v=>{var b,w;const y=db({size:((b=v.props)==null?void 0:b.size)||t.size,variant:((w=v.props)==null?void 0:w.variant)||t.variant});return v.type.id!=="Input"?f.cloneElement(v,y):f.cloneElement(v,Object.assign(y,d,v.props))});return i.jsx(je.div,{className:c,ref:n,__css:{width:"100%",display:"flex",position:"relative",isolation:"isolate",...r.group},"data-group":!0,...a,children:i.jsx(JN,{value:r,children:m})})});Z3.displayName="InputGroup";var e$=je("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",top:"0",zIndex:2}}),ym=Ae(function(t,n){var r,o;const{placement:s="left",...a}=t,c=ZN(),d=c.field,h={[s==="left"?"insetStart":"insetEnd"]:"0",width:(r=d==null?void 0:d.height)!=null?r:d==null?void 0:d.h,height:(o=d==null?void 0:d.height)!=null?o:d==null?void 0:d.h,fontSize:d==null?void 0:d.fontSize,...c.element};return i.jsx(e$,{ref:n,__css:h,...a})});ym.id="InputElement";ym.displayName="InputElement";var e6=Ae(function(t,n){const{className:r,...o}=t,s=Ct("chakra-input__left-element",r);return i.jsx(ym,{ref:n,placement:"left",className:s,...o})});e6.id="InputLeftElement";e6.displayName="InputLeftElement";var Ob=Ae(function(t,n){const{className:r,...o}=t,s=Ct("chakra-input__right-element",r);return i.jsx(ym,{ref:n,placement:"right",className:s,...o})});Ob.id="InputRightElement";Ob.displayName="InputRightElement";var Id=Ae(function(t,n){const{htmlSize:r,...o}=t,s=Fr("Input",o),a=qn(o),c=mb(a),d=Ct("chakra-input",t.className);return i.jsx(je.input,{size:r,...c,__css:s.field,ref:n,className:d})});Id.displayName="Input";Id.id="Input";var Rb=Ae(function(t,n){const r=ia("Link",t),{className:o,isExternal:s,...a}=qn(t);return i.jsx(je.a,{target:s?"_blank":void 0,rel:s?"noopener":void 0,ref:n,className:Ct("chakra-link",o),...a,__css:r})});Rb.displayName="Link";var[t$,t6]=Dn({name:"ListStylesContext",errorMessage:`useListStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Mb=Ae(function(t,n){const r=Fr("List",t),{children:o,styleType:s="none",stylePosition:a,spacing:c,...d}=qn(t),p=_d(o),m=c?{["& > *:not(style) ~ *:not(style)"]:{mt:c}}:{};return i.jsx(t$,{value:r,children:i.jsx(je.ul,{ref:n,listStyleType:s,listStylePosition:a,role:"list",__css:{...r.container,...m},...d,children:p})})});Mb.displayName="List";var n$=Ae((e,t)=>{const{as:n,...r}=e;return i.jsx(Mb,{ref:t,as:"ol",styleType:"decimal",marginStart:"1em",...r})});n$.displayName="OrderedList";var Db=Ae(function(t,n){const{as:r,...o}=t;return i.jsx(Mb,{ref:n,as:"ul",styleType:"initial",marginStart:"1em",...o})});Db.displayName="UnorderedList";var Sa=Ae(function(t,n){const r=t6();return i.jsx(je.li,{ref:n,...t,__css:r.item})});Sa.displayName="ListItem";var r$=Ae(function(t,n){const r=t6();return i.jsx(fo,{ref:n,role:"presentation",...t,__css:r.icon})});r$.displayName="ListIcon";var sl=Ae(function(t,n){const{templateAreas:r,gap:o,rowGap:s,columnGap:a,column:c,row:d,autoFlow:p,autoRows:h,templateRows:m,autoColumns:v,templateColumns:b,...w}=t,y={display:"grid",gridTemplateAreas:r,gridGap:o,gridRowGap:s,gridColumnGap:a,gridAutoColumns:v,gridColumn:c,gridRow:d,gridAutoFlow:p,gridAutoRows:h,gridTemplateRows:m,gridTemplateColumns:b};return i.jsx(je.div,{ref:n,__css:y,...w})});sl.displayName="Grid";function n6(e,t){return Array.isArray(e)?e.map(n=>n===null?null:t(n)):Pv(e)?Object.keys(e).reduce((n,r)=>(n[r]=t(e[r]),n),{}):e!=null?t(e):null}var ml=je("div",{baseStyle:{flex:1,justifySelf:"stretch",alignSelf:"stretch"}});ml.displayName="Spacer";var Qe=Ae(function(t,n){const r=ia("Text",t),{className:o,align:s,decoration:a,casing:c,...d}=qn(t),p=db({textAlign:t.align,textDecoration:t.decoration,textTransform:t.casing});return i.jsx(je.p,{ref:n,className:Ct("chakra-text",t.className),...p,...d,__css:r})});Qe.displayName="Text";var r6=e=>i.jsx(je.div,{className:"chakra-stack__item",...e,__css:{display:"inline-block",flex:"0 0 auto",minWidth:0,...e.__css}});r6.displayName="StackItem";function o$(e){const{spacing:t,direction:n}=e,r={column:{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},"column-reverse":{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},row:{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0},"row-reverse":{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0}};return{"&":n6(n,o=>r[o])}}var Ab=Ae((e,t)=>{const{isInline:n,direction:r,align:o,justify:s,spacing:a="0.5rem",wrap:c,children:d,divider:p,className:h,shouldWrapChildren:m,...v}=e,b=n?"row":r??"column",w=f.useMemo(()=>o$({spacing:a,direction:b}),[a,b]),y=!!p,S=!m&&!y,k=f.useMemo(()=>{const P=_d(d);return S?P:P.map((I,E)=>{const O=typeof I.key<"u"?I.key:E,R=E+1===P.length,D=m?i.jsx(r6,{children:I},O):I;if(!y)return D;const A=f.cloneElement(p,{__css:w}),L=R?null:A;return i.jsxs(f.Fragment,{children:[D,L]},O)})},[p,w,y,S,m,d]),_=Ct("chakra-stack",h);return i.jsx(je.div,{ref:t,display:"flex",alignItems:o,justifyContent:s,flexDirection:b,flexWrap:c,gap:y?void 0:a,className:_,...v,children:k})});Ab.displayName="Stack";var o6=Ae((e,t)=>i.jsx(Ab,{align:"center",...e,direction:"column",ref:t}));o6.displayName="VStack";var fi=Ae((e,t)=>i.jsx(Ab,{align:"center",...e,direction:"row",ref:t}));fi.displayName="HStack";function Yw(e){return n6(e,t=>t==="auto"?"auto":`span ${t}/span ${t}`)}var Yv=Ae(function(t,n){const{area:r,colSpan:o,colStart:s,colEnd:a,rowEnd:c,rowSpan:d,rowStart:p,...h}=t,m=db({gridArea:r,gridColumn:Yw(o),gridRow:Yw(d),gridColumnStart:s,gridColumnEnd:a,gridRowStart:p,gridRowEnd:c});return i.jsx(je.div,{ref:n,__css:m,...h})});Yv.displayName="GridItem";var gl=Ae(function(t,n){const r=ia("Badge",t),{className:o,...s}=qn(t);return i.jsx(je.span,{ref:n,className:Ct("chakra-badge",t.className),...s,__css:{display:"inline-block",whiteSpace:"nowrap",verticalAlign:"middle",...r}})});gl.displayName="Badge";var _i=Ae(function(t,n){const{borderLeftWidth:r,borderBottomWidth:o,borderTopWidth:s,borderRightWidth:a,borderWidth:c,borderStyle:d,borderColor:p,...h}=ia("Divider",t),{className:m,orientation:v="horizontal",__css:b,...w}=qn(t),y={vertical:{borderLeftWidth:r||a||c||"1px",height:"100%"},horizontal:{borderBottomWidth:o||s||c||"1px",width:"100%"}};return i.jsx(je.hr,{ref:n,"aria-orientation":v,...w,__css:{...h,border:"0",borderColor:p,borderStyle:d,...y[v],...b},className:Ct("chakra-divider",m)})});_i.displayName="Divider";function s$(e){const{key:t}=e;return t.length===1||t.length>1&&/[^a-zA-Z0-9]/.test(t)}function a$(e={}){const{timeout:t=300,preventDefault:n=()=>!0}=e,[r,o]=f.useState([]),s=f.useRef(),a=()=>{s.current&&(clearTimeout(s.current),s.current=null)},c=()=>{a(),s.current=setTimeout(()=>{o([]),s.current=null},t)};f.useEffect(()=>a,[]);function d(p){return h=>{if(h.key==="Backspace"){const m=[...r];m.pop(),o(m);return}if(s$(h)){const m=r.concat(h.key);n(h)&&(h.preventDefault(),h.stopPropagation()),o(m),p(m.join("")),c()}}}return d}function i$(e,t,n,r){if(t==null)return r;if(!r)return e.find(a=>n(a).toLowerCase().startsWith(t.toLowerCase()));const o=e.filter(s=>n(s).toLowerCase().startsWith(t.toLowerCase()));if(o.length>0){let s;return o.includes(r)?(s=o.indexOf(r)+1,s===o.length&&(s=0),o[s]):(s=e.indexOf(o[0]),e[s])}return r}function l$(){const e=f.useRef(new Map),t=e.current,n=f.useCallback((o,s,a,c)=>{e.current.set(a,{type:s,el:o,options:c}),o.addEventListener(s,a,c)},[]),r=f.useCallback((o,s,a,c)=>{o.removeEventListener(s,a,c),e.current.delete(a)},[]);return f.useEffect(()=>()=>{t.forEach((o,s)=>{r(o.el,o.type,s,o.options)})},[r,t]),{add:n,remove:r}}function M0(e){const t=e.target,{tagName:n,isContentEditable:r}=t;return n!=="INPUT"&&n!=="TEXTAREA"&&r!==!0}function s6(e={}){const{ref:t,isDisabled:n,isFocusable:r,clickOnEnter:o=!0,clickOnSpace:s=!0,onMouseDown:a,onMouseUp:c,onClick:d,onKeyDown:p,onKeyUp:h,tabIndex:m,onMouseOver:v,onMouseLeave:b,...w}=e,[y,S]=f.useState(!0),[k,_]=f.useState(!1),P=l$(),I=T=>{T&&T.tagName!=="BUTTON"&&S(!1)},E=y?m:m||0,O=n&&!r,R=f.useCallback(T=>{if(n){T.stopPropagation(),T.preventDefault();return}T.currentTarget.focus(),d==null||d(T)},[n,d]),M=f.useCallback(T=>{k&&M0(T)&&(T.preventDefault(),T.stopPropagation(),_(!1),P.remove(document,"keyup",M,!1))},[k,P]),D=f.useCallback(T=>{if(p==null||p(T),n||T.defaultPrevented||T.metaKey||!M0(T.nativeEvent)||y)return;const z=o&&T.key==="Enter";s&&T.key===" "&&(T.preventDefault(),_(!0)),z&&(T.preventDefault(),T.currentTarget.click()),P.add(document,"keyup",M,!1)},[n,y,p,o,s,P,M]),A=f.useCallback(T=>{if(h==null||h(T),n||T.defaultPrevented||T.metaKey||!M0(T.nativeEvent)||y)return;s&&T.key===" "&&(T.preventDefault(),_(!1),T.currentTarget.click())},[s,y,n,h]),L=f.useCallback(T=>{T.button===0&&(_(!1),P.remove(document,"mouseup",L,!1))},[P]),Q=f.useCallback(T=>{if(T.button!==0)return;if(n){T.stopPropagation(),T.preventDefault();return}y||_(!0),T.currentTarget.focus({preventScroll:!0}),P.add(document,"mouseup",L,!1),a==null||a(T)},[n,y,a,P,L]),F=f.useCallback(T=>{T.button===0&&(y||_(!1),c==null||c(T))},[c,y]),V=f.useCallback(T=>{if(n){T.preventDefault();return}v==null||v(T)},[n,v]),q=f.useCallback(T=>{k&&(T.preventDefault(),_(!1)),b==null||b(T)},[k,b]),G=cn(t,I);return y?{...w,ref:G,type:"button","aria-disabled":O?void 0:n,disabled:O,onClick:R,onMouseDown:a,onMouseUp:c,onKeyUp:h,onKeyDown:p,onMouseOver:v,onMouseLeave:b}:{...w,ref:G,role:"button","data-active":Ft(k),"aria-disabled":n?"true":void 0,tabIndex:O?void 0:E,onClick:R,onMouseDown:Q,onMouseUp:F,onKeyUp:A,onKeyDown:D,onMouseOver:V,onMouseLeave:q}}function c$(e){const t=e.current;if(!t)return!1;const n=NN(t);return!n||t.contains(n)?!1:!!HN(n)}function a6(e,t){const{shouldFocus:n,visible:r,focusRef:o}=t,s=n&&!r;Fa(()=>{if(!s||c$(e))return;const a=(o==null?void 0:o.current)||e.current;let c;if(a)return c=requestAnimationFrame(()=>{a.focus({preventScroll:!0})}),()=>{cancelAnimationFrame(c)}},[s,e,o])}var u$={preventScroll:!0,shouldFocus:!1};function d$(e,t=u$){const{focusRef:n,preventScroll:r,shouldFocus:o,visible:s}=t,a=f$(e)?e.current:e,c=o&&s,d=f.useRef(c),p=f.useRef(s);nc(()=>{!p.current&&s&&(d.current=c),p.current=s},[s,c]);const h=f.useCallback(()=>{if(!(!s||!a||!d.current)&&(d.current=!1,!a.contains(document.activeElement)))if(n!=null&&n.current)requestAnimationFrame(()=>{var m;(m=n.current)==null||m.focus({preventScroll:r})});else{const m=Q3(a);m.length>0&&requestAnimationFrame(()=>{m[0].focus({preventScroll:r})})}},[s,r,a,n]);Fa(()=>{h()},[h]),Yi(a,"transitionend",h)}function f$(e){return"current"in e}var $l=(e,t)=>({var:e,varRef:t?`var(${e}, ${t})`:`var(${e})`}),Ir={arrowShadowColor:$l("--popper-arrow-shadow-color"),arrowSize:$l("--popper-arrow-size","8px"),arrowSizeHalf:$l("--popper-arrow-size-half"),arrowBg:$l("--popper-arrow-bg"),transformOrigin:$l("--popper-transform-origin"),arrowOffset:$l("--popper-arrow-offset")};function p$(e){if(e.includes("top"))return"1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("bottom"))return"-1px -1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("right"))return"-1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("left"))return"1px -1px 0px 0 var(--popper-arrow-shadow-color)"}var h$={top:"bottom center","top-start":"bottom left","top-end":"bottom right",bottom:"top center","bottom-start":"top left","bottom-end":"top right",left:"right center","left-start":"right top","left-end":"right bottom",right:"left center","right-start":"left top","right-end":"left bottom"},m$=e=>h$[e],Qw={scroll:!0,resize:!0};function g$(e){let t;return typeof e=="object"?t={enabled:!0,options:{...Qw,...e}}:t={enabled:e,options:Qw},t}var v$={name:"matchWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect:({state:e})=>()=>{const t=e.elements.reference;e.elements.popper.style.width=`${t.offsetWidth}px`}},b$={name:"transformOrigin",enabled:!0,phase:"write",fn:({state:e})=>{Jw(e)},effect:({state:e})=>()=>{Jw(e)}},Jw=e=>{e.elements.popper.style.setProperty(Ir.transformOrigin.var,m$(e.placement))},y$={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:({state:e})=>{x$(e)}},x$=e=>{var t;if(!e.placement)return;const n=w$(e.placement);if((t=e.elements)!=null&&t.arrow&&n){Object.assign(e.elements.arrow.style,{[n.property]:n.value,width:Ir.arrowSize.varRef,height:Ir.arrowSize.varRef,zIndex:-1});const r={[Ir.arrowSizeHalf.var]:`calc(${Ir.arrowSize.varRef} / 2 - 1px)`,[Ir.arrowOffset.var]:`calc(${Ir.arrowSizeHalf.varRef} * -1)`};for(const o in r)e.elements.arrow.style.setProperty(o,r[o])}},w$=e=>{if(e.startsWith("top"))return{property:"bottom",value:Ir.arrowOffset.varRef};if(e.startsWith("bottom"))return{property:"top",value:Ir.arrowOffset.varRef};if(e.startsWith("left"))return{property:"right",value:Ir.arrowOffset.varRef};if(e.startsWith("right"))return{property:"left",value:Ir.arrowOffset.varRef}},S$={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:({state:e})=>{Zw(e)},effect:({state:e})=>()=>{Zw(e)}},Zw=e=>{if(!e.elements.arrow)return;const t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");if(!t)return;const n=p$(e.placement);n&&t.style.setProperty("--popper-arrow-default-shadow",n),Object.assign(t.style,{transform:"rotate(45deg)",background:Ir.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:"var(--popper-arrow-shadow, var(--popper-arrow-default-shadow))"})},C$={"start-start":{ltr:"left-start",rtl:"right-start"},"start-end":{ltr:"left-end",rtl:"right-end"},"end-start":{ltr:"right-start",rtl:"left-start"},"end-end":{ltr:"right-end",rtl:"left-end"},start:{ltr:"left",rtl:"right"},end:{ltr:"right",rtl:"left"}},k$={"auto-start":"auto-end","auto-end":"auto-start","top-start":"top-end","top-end":"top-start","bottom-start":"bottom-end","bottom-end":"bottom-start"};function _$(e,t="ltr"){var n,r;const o=((n=C$[e])==null?void 0:n[t])||e;return t==="ltr"?o:(r=k$[e])!=null?r:o}var _o="top",as="bottom",is="right",Po="left",Tb="auto",Ed=[_o,as,is,Po],xc="start",rd="end",P$="clippingParents",i6="viewport",mu="popper",j$="reference",eS=Ed.reduce(function(e,t){return e.concat([t+"-"+xc,t+"-"+rd])},[]),l6=[].concat(Ed,[Tb]).reduce(function(e,t){return e.concat([t,t+"-"+xc,t+"-"+rd])},[]),I$="beforeRead",E$="read",O$="afterRead",R$="beforeMain",M$="main",D$="afterMain",A$="beforeWrite",T$="write",N$="afterWrite",$$=[I$,E$,O$,R$,M$,D$,A$,T$,N$];function ra(e){return e?(e.nodeName||"").toLowerCase():null}function Fo(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function al(e){var t=Fo(e).Element;return e instanceof t||e instanceof Element}function os(e){var t=Fo(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Nb(e){if(typeof ShadowRoot>"u")return!1;var t=Fo(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function L$(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},o=t.attributes[n]||{},s=t.elements[n];!os(s)||!ra(s)||(Object.assign(s.style,r),Object.keys(o).forEach(function(a){var c=o[a];c===!1?s.removeAttribute(a):s.setAttribute(a,c===!0?"":c)}))})}function z$(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var o=t.elements[r],s=t.attributes[r]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),c=a.reduce(function(d,p){return d[p]="",d},{});!os(o)||!ra(o)||(Object.assign(o.style,c),Object.keys(s).forEach(function(d){o.removeAttribute(d)}))})}}const B$={name:"applyStyles",enabled:!0,phase:"write",fn:L$,effect:z$,requires:["computeStyles"]};function ta(e){return e.split("-")[0]}var Qi=Math.max,th=Math.min,wc=Math.round;function Qv(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function c6(){return!/^((?!chrome|android).)*safari/i.test(Qv())}function Sc(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),o=1,s=1;t&&os(e)&&(o=e.offsetWidth>0&&wc(r.width)/e.offsetWidth||1,s=e.offsetHeight>0&&wc(r.height)/e.offsetHeight||1);var a=al(e)?Fo(e):window,c=a.visualViewport,d=!c6()&&n,p=(r.left+(d&&c?c.offsetLeft:0))/o,h=(r.top+(d&&c?c.offsetTop:0))/s,m=r.width/o,v=r.height/s;return{width:m,height:v,top:h,right:p+m,bottom:h+v,left:p,x:p,y:h}}function $b(e){var t=Sc(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function u6(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Nb(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Ra(e){return Fo(e).getComputedStyle(e)}function F$(e){return["table","td","th"].indexOf(ra(e))>=0}function Pi(e){return((al(e)?e.ownerDocument:e.document)||window.document).documentElement}function xm(e){return ra(e)==="html"?e:e.assignedSlot||e.parentNode||(Nb(e)?e.host:null)||Pi(e)}function tS(e){return!os(e)||Ra(e).position==="fixed"?null:e.offsetParent}function H$(e){var t=/firefox/i.test(Qv()),n=/Trident/i.test(Qv());if(n&&os(e)){var r=Ra(e);if(r.position==="fixed")return null}var o=xm(e);for(Nb(o)&&(o=o.host);os(o)&&["html","body"].indexOf(ra(o))<0;){var s=Ra(o);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||t&&s.willChange==="filter"||t&&s.filter&&s.filter!=="none")return o;o=o.parentNode}return null}function Od(e){for(var t=Fo(e),n=tS(e);n&&F$(n)&&Ra(n).position==="static";)n=tS(n);return n&&(ra(n)==="html"||ra(n)==="body"&&Ra(n).position==="static")?t:n||H$(e)||t}function Lb(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Hu(e,t,n){return Qi(e,th(t,n))}function W$(e,t,n){var r=Hu(e,t,n);return r>n?n:r}function d6(){return{top:0,right:0,bottom:0,left:0}}function f6(e){return Object.assign({},d6(),e)}function p6(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var V$=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,f6(typeof t!="number"?t:p6(t,Ed))};function U$(e){var t,n=e.state,r=e.name,o=e.options,s=n.elements.arrow,a=n.modifiersData.popperOffsets,c=ta(n.placement),d=Lb(c),p=[Po,is].indexOf(c)>=0,h=p?"height":"width";if(!(!s||!a)){var m=V$(o.padding,n),v=$b(s),b=d==="y"?_o:Po,w=d==="y"?as:is,y=n.rects.reference[h]+n.rects.reference[d]-a[d]-n.rects.popper[h],S=a[d]-n.rects.reference[d],k=Od(s),_=k?d==="y"?k.clientHeight||0:k.clientWidth||0:0,P=y/2-S/2,I=m[b],E=_-v[h]-m[w],O=_/2-v[h]/2+P,R=Hu(I,O,E),M=d;n.modifiersData[r]=(t={},t[M]=R,t.centerOffset=R-O,t)}}function G$(e){var t=e.state,n=e.options,r=n.element,o=r===void 0?"[data-popper-arrow]":r;o!=null&&(typeof o=="string"&&(o=t.elements.popper.querySelector(o),!o)||u6(t.elements.popper,o)&&(t.elements.arrow=o))}const q$={name:"arrow",enabled:!0,phase:"main",fn:U$,effect:G$,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Cc(e){return e.split("-")[1]}var K$={top:"auto",right:"auto",bottom:"auto",left:"auto"};function X$(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:wc(n*o)/o||0,y:wc(r*o)/o||0}}function nS(e){var t,n=e.popper,r=e.popperRect,o=e.placement,s=e.variation,a=e.offsets,c=e.position,d=e.gpuAcceleration,p=e.adaptive,h=e.roundOffsets,m=e.isFixed,v=a.x,b=v===void 0?0:v,w=a.y,y=w===void 0?0:w,S=typeof h=="function"?h({x:b,y}):{x:b,y};b=S.x,y=S.y;var k=a.hasOwnProperty("x"),_=a.hasOwnProperty("y"),P=Po,I=_o,E=window;if(p){var O=Od(n),R="clientHeight",M="clientWidth";if(O===Fo(n)&&(O=Pi(n),Ra(O).position!=="static"&&c==="absolute"&&(R="scrollHeight",M="scrollWidth")),O=O,o===_o||(o===Po||o===is)&&s===rd){I=as;var D=m&&O===E&&E.visualViewport?E.visualViewport.height:O[R];y-=D-r.height,y*=d?1:-1}if(o===Po||(o===_o||o===as)&&s===rd){P=is;var A=m&&O===E&&E.visualViewport?E.visualViewport.width:O[M];b-=A-r.width,b*=d?1:-1}}var L=Object.assign({position:c},p&&K$),Q=h===!0?X$({x:b,y},Fo(n)):{x:b,y};if(b=Q.x,y=Q.y,d){var F;return Object.assign({},L,(F={},F[I]=_?"0":"",F[P]=k?"0":"",F.transform=(E.devicePixelRatio||1)<=1?"translate("+b+"px, "+y+"px)":"translate3d("+b+"px, "+y+"px, 0)",F))}return Object.assign({},L,(t={},t[I]=_?y+"px":"",t[P]=k?b+"px":"",t.transform="",t))}function Y$(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=r===void 0?!0:r,s=n.adaptive,a=s===void 0?!0:s,c=n.roundOffsets,d=c===void 0?!0:c,p={placement:ta(t.placement),variation:Cc(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,nS(Object.assign({},p,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:d})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,nS(Object.assign({},p,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:d})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const Q$={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Y$,data:{}};var Ff={passive:!0};function J$(e){var t=e.state,n=e.instance,r=e.options,o=r.scroll,s=o===void 0?!0:o,a=r.resize,c=a===void 0?!0:a,d=Fo(t.elements.popper),p=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&p.forEach(function(h){h.addEventListener("scroll",n.update,Ff)}),c&&d.addEventListener("resize",n.update,Ff),function(){s&&p.forEach(function(h){h.removeEventListener("scroll",n.update,Ff)}),c&&d.removeEventListener("resize",n.update,Ff)}}const Z$={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:J$,data:{}};var eL={left:"right",right:"left",bottom:"top",top:"bottom"};function Ip(e){return e.replace(/left|right|bottom|top/g,function(t){return eL[t]})}var tL={start:"end",end:"start"};function rS(e){return e.replace(/start|end/g,function(t){return tL[t]})}function zb(e){var t=Fo(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function Bb(e){return Sc(Pi(e)).left+zb(e).scrollLeft}function nL(e,t){var n=Fo(e),r=Pi(e),o=n.visualViewport,s=r.clientWidth,a=r.clientHeight,c=0,d=0;if(o){s=o.width,a=o.height;var p=c6();(p||!p&&t==="fixed")&&(c=o.offsetLeft,d=o.offsetTop)}return{width:s,height:a,x:c+Bb(e),y:d}}function rL(e){var t,n=Pi(e),r=zb(e),o=(t=e.ownerDocument)==null?void 0:t.body,s=Qi(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=Qi(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),c=-r.scrollLeft+Bb(e),d=-r.scrollTop;return Ra(o||n).direction==="rtl"&&(c+=Qi(n.clientWidth,o?o.clientWidth:0)-s),{width:s,height:a,x:c,y:d}}function Fb(e){var t=Ra(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function h6(e){return["html","body","#document"].indexOf(ra(e))>=0?e.ownerDocument.body:os(e)&&Fb(e)?e:h6(xm(e))}function Wu(e,t){var n;t===void 0&&(t=[]);var r=h6(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=Fo(r),a=o?[s].concat(s.visualViewport||[],Fb(r)?r:[]):r,c=t.concat(a);return o?c:c.concat(Wu(xm(a)))}function Jv(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function oL(e,t){var n=Sc(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function oS(e,t,n){return t===i6?Jv(nL(e,n)):al(t)?oL(t,n):Jv(rL(Pi(e)))}function sL(e){var t=Wu(xm(e)),n=["absolute","fixed"].indexOf(Ra(e).position)>=0,r=n&&os(e)?Od(e):e;return al(r)?t.filter(function(o){return al(o)&&u6(o,r)&&ra(o)!=="body"}):[]}function aL(e,t,n,r){var o=t==="clippingParents"?sL(e):[].concat(t),s=[].concat(o,[n]),a=s[0],c=s.reduce(function(d,p){var h=oS(e,p,r);return d.top=Qi(h.top,d.top),d.right=th(h.right,d.right),d.bottom=th(h.bottom,d.bottom),d.left=Qi(h.left,d.left),d},oS(e,a,r));return c.width=c.right-c.left,c.height=c.bottom-c.top,c.x=c.left,c.y=c.top,c}function m6(e){var t=e.reference,n=e.element,r=e.placement,o=r?ta(r):null,s=r?Cc(r):null,a=t.x+t.width/2-n.width/2,c=t.y+t.height/2-n.height/2,d;switch(o){case _o:d={x:a,y:t.y-n.height};break;case as:d={x:a,y:t.y+t.height};break;case is:d={x:t.x+t.width,y:c};break;case Po:d={x:t.x-n.width,y:c};break;default:d={x:t.x,y:t.y}}var p=o?Lb(o):null;if(p!=null){var h=p==="y"?"height":"width";switch(s){case xc:d[p]=d[p]-(t[h]/2-n[h]/2);break;case rd:d[p]=d[p]+(t[h]/2-n[h]/2);break}}return d}function od(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=r===void 0?e.placement:r,s=n.strategy,a=s===void 0?e.strategy:s,c=n.boundary,d=c===void 0?P$:c,p=n.rootBoundary,h=p===void 0?i6:p,m=n.elementContext,v=m===void 0?mu:m,b=n.altBoundary,w=b===void 0?!1:b,y=n.padding,S=y===void 0?0:y,k=f6(typeof S!="number"?S:p6(S,Ed)),_=v===mu?j$:mu,P=e.rects.popper,I=e.elements[w?_:v],E=aL(al(I)?I:I.contextElement||Pi(e.elements.popper),d,h,a),O=Sc(e.elements.reference),R=m6({reference:O,element:P,strategy:"absolute",placement:o}),M=Jv(Object.assign({},P,R)),D=v===mu?M:O,A={top:E.top-D.top+k.top,bottom:D.bottom-E.bottom+k.bottom,left:E.left-D.left+k.left,right:D.right-E.right+k.right},L=e.modifiersData.offset;if(v===mu&&L){var Q=L[o];Object.keys(A).forEach(function(F){var V=[is,as].indexOf(F)>=0?1:-1,q=[_o,as].indexOf(F)>=0?"y":"x";A[F]+=Q[q]*V})}return A}function iL(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=n.boundary,s=n.rootBoundary,a=n.padding,c=n.flipVariations,d=n.allowedAutoPlacements,p=d===void 0?l6:d,h=Cc(r),m=h?c?eS:eS.filter(function(w){return Cc(w)===h}):Ed,v=m.filter(function(w){return p.indexOf(w)>=0});v.length===0&&(v=m);var b=v.reduce(function(w,y){return w[y]=od(e,{placement:y,boundary:o,rootBoundary:s,padding:a})[ta(y)],w},{});return Object.keys(b).sort(function(w,y){return b[w]-b[y]})}function lL(e){if(ta(e)===Tb)return[];var t=Ip(e);return[rS(e),t,rS(t)]}function cL(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,c=a===void 0?!0:a,d=n.fallbackPlacements,p=n.padding,h=n.boundary,m=n.rootBoundary,v=n.altBoundary,b=n.flipVariations,w=b===void 0?!0:b,y=n.allowedAutoPlacements,S=t.options.placement,k=ta(S),_=k===S,P=d||(_||!w?[Ip(S)]:lL(S)),I=[S].concat(P).reduce(function(X,K){return X.concat(ta(K)===Tb?iL(t,{placement:K,boundary:h,rootBoundary:m,padding:p,flipVariations:w,allowedAutoPlacements:y}):K)},[]),E=t.rects.reference,O=t.rects.popper,R=new Map,M=!0,D=I[0],A=0;A=0,q=V?"width":"height",G=od(t,{placement:L,boundary:h,rootBoundary:m,altBoundary:v,padding:p}),T=V?F?is:Po:F?as:_o;E[q]>O[q]&&(T=Ip(T));var z=Ip(T),$=[];if(s&&$.push(G[Q]<=0),c&&$.push(G[T]<=0,G[z]<=0),$.every(function(X){return X})){D=L,M=!1;break}R.set(L,$)}if(M)for(var Y=w?3:1,ae=function(K){var U=I.find(function(se){var re=R.get(se);if(re)return re.slice(0,K).every(function(oe){return oe})});if(U)return D=U,"break"},fe=Y;fe>0;fe--){var ie=ae(fe);if(ie==="break")break}t.placement!==D&&(t.modifiersData[r]._skip=!0,t.placement=D,t.reset=!0)}}const uL={name:"flip",enabled:!0,phase:"main",fn:cL,requiresIfExists:["offset"],data:{_skip:!1}};function sS(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function aS(e){return[_o,is,as,Po].some(function(t){return e[t]>=0})}function dL(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,s=t.modifiersData.preventOverflow,a=od(t,{elementContext:"reference"}),c=od(t,{altBoundary:!0}),d=sS(a,r),p=sS(c,o,s),h=aS(d),m=aS(p);t.modifiersData[n]={referenceClippingOffsets:d,popperEscapeOffsets:p,isReferenceHidden:h,hasPopperEscaped:m},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":m})}const fL={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:dL};function pL(e,t,n){var r=ta(e),o=[Po,_o].indexOf(r)>=0?-1:1,s=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=s[0],c=s[1];return a=a||0,c=(c||0)*o,[Po,is].indexOf(r)>=0?{x:c,y:a}:{x:a,y:c}}function hL(e){var t=e.state,n=e.options,r=e.name,o=n.offset,s=o===void 0?[0,0]:o,a=l6.reduce(function(h,m){return h[m]=pL(m,t.rects,s),h},{}),c=a[t.placement],d=c.x,p=c.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=d,t.modifiersData.popperOffsets.y+=p),t.modifiersData[r]=a}const mL={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:hL};function gL(e){var t=e.state,n=e.name;t.modifiersData[n]=m6({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const vL={name:"popperOffsets",enabled:!0,phase:"read",fn:gL,data:{}};function bL(e){return e==="x"?"y":"x"}function yL(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,c=a===void 0?!1:a,d=n.boundary,p=n.rootBoundary,h=n.altBoundary,m=n.padding,v=n.tether,b=v===void 0?!0:v,w=n.tetherOffset,y=w===void 0?0:w,S=od(t,{boundary:d,rootBoundary:p,padding:m,altBoundary:h}),k=ta(t.placement),_=Cc(t.placement),P=!_,I=Lb(k),E=bL(I),O=t.modifiersData.popperOffsets,R=t.rects.reference,M=t.rects.popper,D=typeof y=="function"?y(Object.assign({},t.rects,{placement:t.placement})):y,A=typeof D=="number"?{mainAxis:D,altAxis:D}:Object.assign({mainAxis:0,altAxis:0},D),L=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,Q={x:0,y:0};if(O){if(s){var F,V=I==="y"?_o:Po,q=I==="y"?as:is,G=I==="y"?"height":"width",T=O[I],z=T+S[V],$=T-S[q],Y=b?-M[G]/2:0,ae=_===xc?R[G]:M[G],fe=_===xc?-M[G]:-R[G],ie=t.elements.arrow,X=b&&ie?$b(ie):{width:0,height:0},K=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:d6(),U=K[V],se=K[q],re=Hu(0,R[G],X[G]),oe=P?R[G]/2-Y-re-U-A.mainAxis:ae-re-U-A.mainAxis,pe=P?-R[G]/2+Y+re+se+A.mainAxis:fe+re+se+A.mainAxis,le=t.elements.arrow&&Od(t.elements.arrow),ge=le?I==="y"?le.clientTop||0:le.clientLeft||0:0,ke=(F=L==null?void 0:L[I])!=null?F:0,xe=T+oe-ke-ge,de=T+pe-ke,Te=Hu(b?th(z,xe):z,T,b?Qi($,de):$);O[I]=Te,Q[I]=Te-T}if(c){var Ee,$e=I==="x"?_o:Po,kt=I==="x"?as:is,ct=O[E],on=E==="y"?"height":"width",vt=ct+S[$e],bt=ct-S[kt],Se=[_o,Po].indexOf(k)!==-1,Me=(Ee=L==null?void 0:L[E])!=null?Ee:0,Pt=Se?vt:ct-R[on]-M[on]-Me+A.altAxis,Tt=Se?ct+R[on]+M[on]-Me-A.altAxis:bt,we=b&&Se?W$(Pt,ct,Tt):Hu(b?Pt:vt,ct,b?Tt:bt);O[E]=we,Q[E]=we-ct}t.modifiersData[r]=Q}}const xL={name:"preventOverflow",enabled:!0,phase:"main",fn:yL,requiresIfExists:["offset"]};function wL(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function SL(e){return e===Fo(e)||!os(e)?zb(e):wL(e)}function CL(e){var t=e.getBoundingClientRect(),n=wc(t.width)/e.offsetWidth||1,r=wc(t.height)/e.offsetHeight||1;return n!==1||r!==1}function kL(e,t,n){n===void 0&&(n=!1);var r=os(t),o=os(t)&&CL(t),s=Pi(t),a=Sc(e,o,n),c={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(r||!r&&!n)&&((ra(t)!=="body"||Fb(s))&&(c=SL(t)),os(t)?(d=Sc(t,!0),d.x+=t.clientLeft,d.y+=t.clientTop):s&&(d.x=Bb(s))),{x:a.left+c.scrollLeft-d.x,y:a.top+c.scrollTop-d.y,width:a.width,height:a.height}}function _L(e){var t=new Map,n=new Set,r=[];e.forEach(function(s){t.set(s.name,s)});function o(s){n.add(s.name);var a=[].concat(s.requires||[],s.requiresIfExists||[]);a.forEach(function(c){if(!n.has(c)){var d=t.get(c);d&&o(d)}}),r.push(s)}return e.forEach(function(s){n.has(s.name)||o(s)}),r}function PL(e){var t=_L(e);return $$.reduce(function(n,r){return n.concat(t.filter(function(o){return o.phase===r}))},[])}function jL(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function IL(e){var t=e.reduce(function(n,r){var o=n[r.name];return n[r.name]=o?Object.assign({},o,r,{options:Object.assign({},o.options,r.options),data:Object.assign({},o.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var iS={placement:"bottom",modifiers:[],strategy:"absolute"};function lS(){for(var e=arguments.length,t=new Array(e),n=0;n{}),P=f.useCallback(()=>{var A;!t||!w.current||!y.current||((A=_.current)==null||A.call(_),S.current=RL(w.current,y.current,{placement:k,modifiers:[S$,y$,b$,{...v$,enabled:!!v},{name:"eventListeners",...g$(a)},{name:"arrow",options:{padding:s}},{name:"offset",options:{offset:c??[0,d]}},{name:"flip",enabled:!!p,options:{padding:8}},{name:"preventOverflow",enabled:!!m,options:{boundary:h}},...n??[]],strategy:o}),S.current.forceUpdate(),_.current=S.current.destroy)},[k,t,n,v,a,s,c,d,p,m,h,o]);f.useEffect(()=>()=>{var A;!w.current&&!y.current&&((A=S.current)==null||A.destroy(),S.current=null)},[]);const I=f.useCallback(A=>{w.current=A,P()},[P]),E=f.useCallback((A={},L=null)=>({...A,ref:cn(I,L)}),[I]),O=f.useCallback(A=>{y.current=A,P()},[P]),R=f.useCallback((A={},L=null)=>({...A,ref:cn(O,L),style:{...A.style,position:o,minWidth:v?void 0:"max-content",inset:"0 auto auto 0"}}),[o,O,v]),M=f.useCallback((A={},L=null)=>{const{size:Q,shadowColor:F,bg:V,style:q,...G}=A;return{...G,ref:L,"data-popper-arrow":"",style:ML(A)}},[]),D=f.useCallback((A={},L=null)=>({...A,ref:L,"data-popper-arrow-inner":""}),[]);return{update(){var A;(A=S.current)==null||A.update()},forceUpdate(){var A;(A=S.current)==null||A.forceUpdate()},transformOrigin:Ir.transformOrigin.varRef,referenceRef:I,popperRef:O,getPopperProps:R,getArrowProps:M,getArrowInnerProps:D,getReferenceProps:E}}function ML(e){const{size:t,shadowColor:n,bg:r,style:o}=e,s={...o,position:"absolute"};return t&&(s["--popper-arrow-size"]=t),n&&(s["--popper-arrow-shadow-color"]=n),r&&(s["--popper-arrow-bg"]=r),s}function Wb(e={}){const{onClose:t,onOpen:n,isOpen:r,id:o}=e,s=or(n),a=or(t),[c,d]=f.useState(e.defaultIsOpen||!1),p=r!==void 0?r:c,h=r!==void 0,m=f.useId(),v=o??`disclosure-${m}`,b=f.useCallback(()=>{h||d(!1),a==null||a()},[h,a]),w=f.useCallback(()=>{h||d(!0),s==null||s()},[h,s]),y=f.useCallback(()=>{p?b():w()},[p,w,b]);function S(_={}){return{..._,"aria-expanded":p,"aria-controls":v,onClick(P){var I;(I=_.onClick)==null||I.call(_,P),y()}}}function k(_={}){return{..._,hidden:!p,id:v}}return{isOpen:p,onOpen:w,onClose:b,onToggle:y,isControlled:h,getButtonProps:S,getDisclosureProps:k}}function DL(e){const{ref:t,handler:n,enabled:r=!0}=e,o=or(n),a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{D0(m,t)&&(a.isPointerDown=!0)},d=m=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&D0(m,t)&&(a.isPointerDown=!1,o(m))},p=m=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&D0(m,t)&&(a.isPointerDown=!1,o(m))},h=g6(t.current);return h.addEventListener("mousedown",c,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",c,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",c,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",c,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,a,r])}function D0(e,t){var n;const r=e.target;return r&&!g6(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function g6(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function v6(e){const{isOpen:t,ref:n}=e,[r,o]=f.useState(t),[s,a]=f.useState(!1);return f.useEffect(()=>{s||(o(t),a(!0))},[t,s,r]),Yi(()=>n.current,"animationend",()=>{o(t)}),{present:!(t?!1:!r),onComplete(){var d;const p=TN(n.current),h=new p.CustomEvent("animationend",{bubbles:!0});(d=n.current)==null||d.dispatchEvent(h)}}}function Vb(e){const{wasSelected:t,enabled:n,isSelected:r,mode:o="unmount"}=e;return!!(!n||r||o==="keepMounted"&&t)}var[AL,TL,NL,$L]=fb(),[LL,Rd]=Dn({strict:!1,name:"MenuContext"});function zL(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}function b6(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function cS(e){return b6(e).activeElement===e}function BL(e={}){const{id:t,closeOnSelect:n=!0,closeOnBlur:r=!0,initialFocusRef:o,autoSelect:s=!0,isLazy:a,isOpen:c,defaultIsOpen:d,onClose:p,onOpen:h,placement:m="bottom-start",lazyBehavior:v="unmount",direction:b,computePositionOnMount:w=!1,...y}=e,S=f.useRef(null),k=f.useRef(null),_=NL(),P=f.useCallback(()=>{requestAnimationFrame(()=>{var ie;(ie=S.current)==null||ie.focus({preventScroll:!1})})},[]),I=f.useCallback(()=>{const ie=setTimeout(()=>{var X;if(o)(X=o.current)==null||X.focus();else{const K=_.firstEnabled();K&&F(K.index)}});z.current.add(ie)},[_,o]),E=f.useCallback(()=>{const ie=setTimeout(()=>{const X=_.lastEnabled();X&&F(X.index)});z.current.add(ie)},[_]),O=f.useCallback(()=>{h==null||h(),s?I():P()},[s,I,P,h]),{isOpen:R,onOpen:M,onClose:D,onToggle:A}=Wb({isOpen:c,defaultIsOpen:d,onClose:p,onOpen:O});DL({enabled:R&&r,ref:S,handler:ie=>{var X;(X=k.current)!=null&&X.contains(ie.target)||D()}});const L=Hb({...y,enabled:R||w,placement:m,direction:b}),[Q,F]=f.useState(-1);Fa(()=>{R||F(-1)},[R]),a6(S,{focusRef:k,visible:R,shouldFocus:!0});const V=v6({isOpen:R,ref:S}),[q,G]=zL(t,"menu-button","menu-list"),T=f.useCallback(()=>{M(),P()},[M,P]),z=f.useRef(new Set([]));KL(()=>{z.current.forEach(ie=>clearTimeout(ie)),z.current.clear()});const $=f.useCallback(()=>{M(),I()},[I,M]),Y=f.useCallback(()=>{M(),E()},[M,E]),ae=f.useCallback(()=>{var ie,X;const K=b6(S.current),U=(ie=S.current)==null?void 0:ie.contains(K.activeElement);if(!(R&&!U))return;const re=(X=_.item(Q))==null?void 0:X.node;re==null||re.focus()},[R,Q,_]),fe=f.useRef(null);return{openAndFocusMenu:T,openAndFocusFirstItem:$,openAndFocusLastItem:Y,onTransitionEnd:ae,unstable__animationState:V,descendants:_,popper:L,buttonId:q,menuId:G,forceUpdate:L.forceUpdate,orientation:"vertical",isOpen:R,onToggle:A,onOpen:M,onClose:D,menuRef:S,buttonRef:k,focusedIndex:Q,closeOnSelect:n,closeOnBlur:r,autoSelect:s,setFocusedIndex:F,isLazy:a,lazyBehavior:v,initialFocusRef:o,rafId:fe}}function FL(e={},t=null){const n=Rd(),{onToggle:r,popper:o,openAndFocusFirstItem:s,openAndFocusLastItem:a}=n,c=f.useCallback(d=>{const p=d.key,m={Enter:s,ArrowDown:s,ArrowUp:a}[p];m&&(d.preventDefault(),d.stopPropagation(),m(d))},[s,a]);return{...e,ref:cn(n.buttonRef,t,o.referenceRef),id:n.buttonId,"data-active":Ft(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:et(e.onClick,r),onKeyDown:et(e.onKeyDown,c)}}function Zv(e){var t;return GL(e)&&!!((t=e==null?void 0:e.getAttribute("role"))!=null&&t.startsWith("menuitem"))}function HL(e={},t=null){const n=Rd();if(!n)throw new Error("useMenuContext: context is undefined. Seems you forgot to wrap component within ");const{focusedIndex:r,setFocusedIndex:o,menuRef:s,isOpen:a,onClose:c,menuId:d,isLazy:p,lazyBehavior:h,unstable__animationState:m}=n,v=TL(),b=a$({preventDefault:k=>k.key!==" "&&Zv(k.target)}),w=f.useCallback(k=>{if(!k.currentTarget.contains(k.target))return;const _=k.key,I={Tab:O=>O.preventDefault(),Escape:c,ArrowDown:()=>{const O=v.nextEnabled(r);O&&o(O.index)},ArrowUp:()=>{const O=v.prevEnabled(r);O&&o(O.index)}}[_];if(I){k.preventDefault(),I(k);return}const E=b(O=>{const R=i$(v.values(),O,M=>{var D,A;return(A=(D=M==null?void 0:M.node)==null?void 0:D.textContent)!=null?A:""},v.item(r));if(R){const M=v.indexOf(R.node);o(M)}});Zv(k.target)&&E(k)},[v,r,b,c,o]),y=f.useRef(!1);a&&(y.current=!0);const S=Vb({wasSelected:y.current,enabled:p,mode:h,isSelected:m.present});return{...e,ref:cn(s,t),children:S?e.children:null,tabIndex:-1,role:"menu",id:d,style:{...e.style,transformOrigin:"var(--popper-transform-origin)"},"aria-orientation":"vertical",onKeyDown:et(e.onKeyDown,w)}}function WL(e={}){const{popper:t,isOpen:n}=Rd();return t.getPopperProps({...e,style:{visibility:n?"visible":"hidden",...e.style}})}function y6(e={},t=null){const{onMouseEnter:n,onMouseMove:r,onMouseLeave:o,onClick:s,onFocus:a,isDisabled:c,isFocusable:d,closeOnSelect:p,type:h,...m}=e,v=Rd(),{setFocusedIndex:b,focusedIndex:w,closeOnSelect:y,onClose:S,menuRef:k,isOpen:_,menuId:P,rafId:I}=v,E=f.useRef(null),O=`${P}-menuitem-${f.useId()}`,{index:R,register:M}=$L({disabled:c&&!d}),D=f.useCallback(T=>{n==null||n(T),!c&&b(R)},[b,R,c,n]),A=f.useCallback(T=>{r==null||r(T),E.current&&!cS(E.current)&&D(T)},[D,r]),L=f.useCallback(T=>{o==null||o(T),!c&&b(-1)},[b,c,o]),Q=f.useCallback(T=>{s==null||s(T),Zv(T.currentTarget)&&(p??y)&&S()},[S,s,y,p]),F=f.useCallback(T=>{a==null||a(T),b(R)},[b,a,R]),V=R===w,q=c&&!d;Fa(()=>{_&&(V&&!q&&E.current?(I.current&&cancelAnimationFrame(I.current),I.current=requestAnimationFrame(()=>{var T;(T=E.current)==null||T.focus(),I.current=null})):k.current&&!cS(k.current)&&k.current.focus({preventScroll:!0}))},[V,q,k,_]);const G=s6({onClick:Q,onFocus:F,onMouseEnter:D,onMouseMove:A,onMouseLeave:L,ref:cn(M,E,t),isDisabled:c,isFocusable:d});return{...m,...G,type:h??G.type,id:O,role:"menuitem",tabIndex:V?0:-1}}function VL(e={},t=null){const{type:n="radio",isChecked:r,...o}=e;return{...y6(o,t),role:`menuitem${n}`,"aria-checked":r}}function UL(e={}){const{children:t,type:n="radio",value:r,defaultValue:o,onChange:s,...a}=e,d=n==="radio"?"":[],[p,h]=zc({defaultValue:o??d,value:r,onChange:s}),m=f.useCallback(w=>{if(n==="radio"&&typeof p=="string"&&h(w),n==="checkbox"&&Array.isArray(p)){const y=p.includes(w)?p.filter(S=>S!==w):p.concat(w);h(y)}},[p,h,n]),b=_d(t).map(w=>{if(w.type.id!=="MenuItemOption")return w;const y=k=>{var _,P;m(w.props.value),(P=(_=w.props).onClick)==null||P.call(_,k)},S=n==="radio"?w.props.value===p:p.includes(w.props.value);return f.cloneElement(w,{type:n,onClick:y,isChecked:S})});return{...a,children:b}}function GL(e){var t;if(!qL(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function qL(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function KL(e,t=[]){return f.useEffect(()=>()=>e(),t)}var[XL,Hc]=Dn({name:"MenuStylesContext",errorMessage:`useMenuStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Md=e=>{const{children:t}=e,n=Fr("Menu",e),r=qn(e),{direction:o}=Nc(),{descendants:s,...a}=BL({...r,direction:o}),c=f.useMemo(()=>a,[a]),{isOpen:d,onClose:p,forceUpdate:h}=c;return i.jsx(AL,{value:s,children:i.jsx(LL,{value:c,children:i.jsx(XL,{value:n,children:X1(t,{isOpen:d,onClose:p,forceUpdate:h})})})})};Md.displayName="Menu";var x6=Ae((e,t)=>{const n=Hc();return i.jsx(je.span,{ref:t,...e,__css:n.command,className:"chakra-menu__command"})});x6.displayName="MenuCommand";var w6=Ae((e,t)=>{const{type:n,...r}=e,o=Hc(),s=r.as||n?n??void 0:"button",a=f.useMemo(()=>({textDecoration:"none",color:"inherit",userSelect:"none",display:"flex",width:"100%",alignItems:"center",textAlign:"start",flex:"0 0 auto",outline:0,...o.item}),[o.item]);return i.jsx(je.button,{ref:t,type:s,...r,__css:a})}),Ub=e=>{const{className:t,children:n,...r}=e,o=Hc(),s=f.Children.only(n),a=f.isValidElement(s)?f.cloneElement(s,{focusable:"false","aria-hidden":!0,className:Ct("chakra-menu__icon",s.props.className)}):null,c=Ct("chakra-menu__icon-wrapper",t);return i.jsx(je.span,{className:c,...r,__css:o.icon,children:a})};Ub.displayName="MenuIcon";var jr=Ae((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",command:o,commandSpacing:s="0.75rem",children:a,...c}=e,d=y6(c,t),h=n||o?i.jsx("span",{style:{pointerEvents:"none",flex:1},children:a}):a;return i.jsxs(w6,{...d,className:Ct("chakra-menu__menuitem",d.className),children:[n&&i.jsx(Ub,{fontSize:"0.8em",marginEnd:r,children:n}),h,o&&i.jsx(x6,{marginStart:s,children:o})]})});jr.displayName="MenuItem";var YL={enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.2,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.1,easings:"easeOut"}}},QL=je(Er.div),il=Ae(function(t,n){var r,o;const{rootProps:s,motionProps:a,...c}=t,{isOpen:d,onTransitionEnd:p,unstable__animationState:h}=Rd(),m=HL(c,n),v=WL(s),b=Hc();return i.jsx(je.div,{...v,__css:{zIndex:(o=t.zIndex)!=null?o:(r=b.list)==null?void 0:r.zIndex},children:i.jsx(QL,{variants:YL,initial:!1,animate:d?"enter":"exit",__css:{outline:0,...b.list},...a,className:Ct("chakra-menu__menu-list",m.className),...m,onUpdate:p,onAnimationComplete:cm(h.onComplete,m.onAnimationComplete)})})});il.displayName="MenuList";var sd=Ae((e,t)=>{const{title:n,children:r,className:o,...s}=e,a=Ct("chakra-menu__group__title",o),c=Hc();return i.jsxs("div",{ref:t,className:"chakra-menu__group",role:"group",children:[n&&i.jsx(je.p,{className:a,...s,__css:c.groupTitle,children:n}),r]})});sd.displayName="MenuGroup";var S6=e=>{const{className:t,title:n,...r}=e,o=UL(r);return i.jsx(sd,{title:n,className:Ct("chakra-menu__option-group",t),...o})};S6.displayName="MenuOptionGroup";var JL=Ae((e,t)=>{const n=Hc();return i.jsx(je.button,{ref:t,...e,__css:{display:"inline-flex",appearance:"none",alignItems:"center",outline:0,...n.button}})}),Dd=Ae((e,t)=>{const{children:n,as:r,...o}=e,s=FL(o,t),a=r||JL;return i.jsx(a,{...s,className:Ct("chakra-menu__menu-button",e.className),children:i.jsx(je.span,{__css:{pointerEvents:"none",flex:"1 1 auto",minW:0},children:e.children})})});Dd.displayName="MenuButton";var ZL=e=>i.jsx("svg",{viewBox:"0 0 14 14",width:"1em",height:"1em",...e,children:i.jsx("polygon",{fill:"currentColor",points:"5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039"})}),nh=Ae((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",...o}=e,s=VL(o,t);return i.jsxs(w6,{...s,className:Ct("chakra-menu__menuitem-option",o.className),children:[n!==null&&i.jsx(Ub,{fontSize:"0.8em",marginEnd:r,opacity:e.isChecked?1:0,children:n||i.jsx(ZL,{})}),i.jsx("span",{style:{flex:1},children:s.children})]})});nh.id="MenuItemOption";nh.displayName="MenuItemOption";var ez={slideInBottom:{...zv,custom:{offsetY:16,reverse:!0}},slideInRight:{...zv,custom:{offsetX:16,reverse:!0}},scale:{...K5,custom:{initialScale:.95,reverse:!0}},none:{}},tz=je(Er.section),nz=e=>ez[e||"none"],C6=f.forwardRef((e,t)=>{const{preset:n,motionProps:r=nz(n),...o}=e;return i.jsx(tz,{ref:t,...r,...o})});C6.displayName="ModalTransition";var rz=Object.defineProperty,oz=(e,t,n)=>t in e?rz(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,sz=(e,t,n)=>(oz(e,typeof t!="symbol"?t+"":t,n),n),az=class{constructor(){sz(this,"modals"),this.modals=new Map}add(e){return this.modals.set(e,this.modals.size+1),this.modals.size}remove(e){this.modals.delete(e)}isTopModal(e){return e?this.modals.get(e)===this.modals.size:!1}},e1=new az;function k6(e,t){const[n,r]=f.useState(0);return f.useEffect(()=>{const o=e.current;if(o){if(t){const s=e1.add(o);r(s)}return()=>{e1.remove(o),r(0)}}},[t,e]),n}var iz=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Ll=new WeakMap,Hf=new WeakMap,Wf={},A0=0,_6=function(e){return e&&(e.host||_6(e.parentNode))},lz=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=_6(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},cz=function(e,t,n,r){var o=lz(t,Array.isArray(e)?e:[e]);Wf[n]||(Wf[n]=new WeakMap);var s=Wf[n],a=[],c=new Set,d=new Set(o),p=function(m){!m||c.has(m)||(c.add(m),p(m.parentNode))};o.forEach(p);var h=function(m){!m||d.has(m)||Array.prototype.forEach.call(m.children,function(v){if(c.has(v))h(v);else{var b=v.getAttribute(r),w=b!==null&&b!=="false",y=(Ll.get(v)||0)+1,S=(s.get(v)||0)+1;Ll.set(v,y),s.set(v,S),a.push(v),y===1&&w&&Hf.set(v,!0),S===1&&v.setAttribute(n,"true"),w||v.setAttribute(r,"true")}})};return h(t),c.clear(),A0++,function(){a.forEach(function(m){var v=Ll.get(m)-1,b=s.get(m)-1;Ll.set(m,v),s.set(m,b),v||(Hf.has(m)||m.removeAttribute(r),Hf.delete(m)),b||m.removeAttribute(n)}),A0--,A0||(Ll=new WeakMap,Ll=new WeakMap,Hf=new WeakMap,Wf={})}},uz=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||iz(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),cz(r,o,n,"aria-hidden")):function(){return null}};function dz(e){const{isOpen:t,onClose:n,id:r,closeOnOverlayClick:o=!0,closeOnEsc:s=!0,useInert:a=!0,onOverlayClick:c,onEsc:d}=e,p=f.useRef(null),h=f.useRef(null),[m,v,b]=pz(r,"chakra-modal","chakra-modal--header","chakra-modal--body");fz(p,t&&a);const w=k6(p,t),y=f.useRef(null),S=f.useCallback(D=>{y.current=D.target},[]),k=f.useCallback(D=>{D.key==="Escape"&&(D.stopPropagation(),s&&(n==null||n()),d==null||d())},[s,n,d]),[_,P]=f.useState(!1),[I,E]=f.useState(!1),O=f.useCallback((D={},A=null)=>({role:"dialog",...D,ref:cn(A,p),id:m,tabIndex:-1,"aria-modal":!0,"aria-labelledby":_?v:void 0,"aria-describedby":I?b:void 0,onClick:et(D.onClick,L=>L.stopPropagation())}),[b,I,m,v,_]),R=f.useCallback(D=>{D.stopPropagation(),y.current===D.target&&e1.isTopModal(p.current)&&(o&&(n==null||n()),c==null||c())},[n,o,c]),M=f.useCallback((D={},A=null)=>({...D,ref:cn(A,h),onClick:et(D.onClick,R),onKeyDown:et(D.onKeyDown,k),onMouseDown:et(D.onMouseDown,S)}),[k,S,R]);return{isOpen:t,onClose:n,headerId:v,bodyId:b,setBodyMounted:E,setHeaderMounted:P,dialogRef:p,overlayRef:h,getDialogProps:O,getDialogContainerProps:M,index:w}}function fz(e,t){const n=e.current;f.useEffect(()=>{if(!(!e.current||!t))return uz(e.current)},[t,e,n])}function pz(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}var[hz,Wc]=Dn({name:"ModalStylesContext",errorMessage:`useModalStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[mz,ll]=Dn({strict:!0,name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap modal components in ``"}),ad=e=>{const t={scrollBehavior:"outside",autoFocus:!0,trapFocus:!0,returnFocusOnClose:!0,blockScrollOnMount:!0,allowPinchZoom:!1,motionPreset:"scale",lockFocusAcrossFrames:!0,...e},{portalProps:n,children:r,autoFocus:o,trapFocus:s,initialFocusRef:a,finalFocusRef:c,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:m,motionPreset:v,lockFocusAcrossFrames:b,onCloseComplete:w}=t,y=Fr("Modal",t),k={...dz(t),autoFocus:o,trapFocus:s,initialFocusRef:a,finalFocusRef:c,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:m,motionPreset:v,lockFocusAcrossFrames:b};return i.jsx(mz,{value:k,children:i.jsx(hz,{value:y,children:i.jsx(mo,{onExitComplete:w,children:k.isOpen&&i.jsx(Ju,{...n,children:r})})})})};ad.displayName="Modal";var Ep="right-scroll-bar-position",Op="width-before-scroll-bar",gz="with-scroll-bars-hidden",vz="--removed-body-scroll-bar-size",P6=w3(),T0=function(){},wm=f.forwardRef(function(e,t){var n=f.useRef(null),r=f.useState({onScrollCapture:T0,onWheelCapture:T0,onTouchMoveCapture:T0}),o=r[0],s=r[1],a=e.forwardProps,c=e.children,d=e.className,p=e.removeScrollBar,h=e.enabled,m=e.shards,v=e.sideCar,b=e.noIsolation,w=e.inert,y=e.allowPinchZoom,S=e.as,k=S===void 0?"div":S,_=e.gapMode,P=b3(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),I=v,E=v3([n,t]),O=Qs(Qs({},P),o);return f.createElement(f.Fragment,null,h&&f.createElement(I,{sideCar:P6,removeScrollBar:p,shards:m,noIsolation:b,inert:w,setCallbacks:s,allowPinchZoom:!!y,lockRef:n,gapMode:_}),a?f.cloneElement(f.Children.only(c),Qs(Qs({},O),{ref:E})):f.createElement(k,Qs({},O,{className:d,ref:E}),c))});wm.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};wm.classNames={fullWidth:Op,zeroRight:Ep};var uS,bz=function(){if(uS)return uS;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function yz(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=bz();return t&&e.setAttribute("nonce",t),e}function xz(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function wz(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Sz=function(){var e=0,t=null;return{add:function(n){e==0&&(t=yz())&&(xz(t,n),wz(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Cz=function(){var e=Sz();return function(t,n){f.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},j6=function(){var e=Cz(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},kz={left:0,top:0,right:0,gap:0},N0=function(e){return parseInt(e||"",10)||0},_z=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[N0(n),N0(r),N0(o)]},Pz=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return kz;var t=_z(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},jz=j6(),Iz=function(e,t,n,r){var o=e.left,s=e.top,a=e.right,c=e.gap;return n===void 0&&(n="margin"),` +import{t as Cv,r as dR,i as kv,a as Tc,b as P_,S as j_,c as I_,d as E_,e as _v,f as O_,g as Pv,h as fR,j as pR,k as hR,l as mR,m as R_,n as gR,o as vR,p as bR,q as M_,s as yR,u as xR,v as wR,w as SR,x as CR,y as kR,z as _R,A as f,B as i,C as cm,D as Lp,E as PR,F as D_,G as A_,H as jR,P as vd,I as X1,J as IR,K as ER,L as OR,M as RR,N as MR,O as DR,Q as AR,R as V2,T as TR,U as Ae,V as je,W as Ct,X as et,Y as bd,Z as mo,_ as Er,$ as Fr,a0 as qn,a1 as hl,a2 as ia,a3 as Ft,a4 as rs,a5 as nc,a6 as za,a7 as um,a8 as Y1,a9 as yd,aa as sr,ab as NR,ac as H,ad as U2,ae as $R,af as jv,ag as Nc,ah as LR,ai as T_,aj as N_,ak as $c,al as zR,am as be,an as Je,ao as Zt,ap as B,aq as BR,ar as G2,as as FR,at as HR,au as q2,av as te,aw as WR,ax as On,ay as Mn,az as Re,aA as W,aB as Ys,aC as lt,aD as Kn,aE as $_,aF as VR,aG as UR,aH as GR,aI as qR,aJ as _i,aK as Q1,aL as Ds,aM as jo,aN as dm,aO as KR,aP as XR,aQ as K2,aR as J1,aS as wa,aT as YR,aU as L_,aV as z_,aW as X2,aX as QR,aY as JR,aZ as B_,a_ as F_,a$ as Z1,b0 as ZR,b1 as e7,b2 as t7,b3 as Al,b4 as n7,b5 as r7,b6 as o7,b7 as s7,b8 as Y2,b9 as fi,ba as eb,bb as zp,bc as fm,bd as H_,be as W_,bf as Is,bg as V_,bh as a7,bi as Lc,bj as U_,bk as G_,bl as Es,bm as Iu,bn as Bp,bo as i7,bp as l7,bq as c7,br as u7,bs as Lf,bt as zf,bu as pu,bv as v0,bw as Lu,bx as zu,by as Bu,bz as Fu,bA as Q2,bB as Fp,bC as b0,bD as Hp,bE as J2,bF as Iv,bG as y0,bH as Ev,bI as x0,bJ as Wp,bK as Z2,bL as vc,bM as ew,bN as bc,bO as tw,bP as Vp,bQ as tb,bR as d7,bS as q_,bT as Ov,bU as Rv,bV as K_,bW as f7,bX as Mv,bY as p7,bZ as Dv,b_ as nb,b$ as rb,c0 as pm,c1 as h7,c2 as hm,c3 as Yl,c4 as X_,c5 as m7,c6 as jp,c7 as ob,c8 as Y_,c9 as g7,ca as hu,cb as Q_,cc as J_,cd as nw,ce as Ba,cf as v7,cg as Av,ch as b7,ci as y7,cj as x7,ck as w7,cl as sb,cm as ab,cn as S7,co as Bn,cp as rw,cq as Z_,cr as C7,cs as k7,ct as _7,cu as P7,cv as j7,cw as I7,cx as E7,cy as O7,cz as R7,cA as e5,cB as M7,cC as D7,cD as A7,cE as T7,cF as N7,cG as $7,cH as L7,cI as z7,cJ as B7,cK as F7,cL as ow,cM as H7,cN as sw,cO as W7,cP as V7,cQ as U7,cR as G7,cS as Qu,cT as oo,cU as xd,cV as wd,cW as q7,cX as Qn,cY as K7,cZ as na,c_ as ib,c$ as Sd,d0 as X7,d1 as Y7,d2 as Q7,d3 as aw,d4 as J7,d5 as Up,d6 as Z7,d7 as t5,d8 as iw,d9 as eM,da as tM,db as ws,dc as nM,dd as rM,de as n5,df as r5,dg as oM,dh as lw,di as sM,dj as aM,dk as iM,dl as mm,dm as lM,dn as o5,dp as cM,dq as uM,dr as s5,ds as dM,dt as fM,du as cw,dv as pM,dw as uw,dx as hM,dy as dw,dz as Bf,dA as mM,dB as lb,dC as a5,dD as gM,dE as vM,dF as bM,dG as ls,dH as yM,dI as xM,dJ as wM,dK as SM,dL as CM,dM as kM,dN as _M,dO as PM,dP as jM,dQ as IM,dR as EM,dS as OM,dT as RM,dU as MM,dV as DM,dW as fw,dX as pw,dY as AM,dZ as i5,d_ as l5,d$ as Cd,e0 as c5,e1 as Gi,e2 as u5,e3 as hw,e4 as TM,e5 as NM,e6 as d5,e7 as $M,e8 as LM,e9 as zM,ea as BM,eb as FM,ec as cb,ed as mw,ee as f5,ef as HM,eg as gw,eh as p5,ei as As,ej as WM,ek as h5,el as vw,em as VM,en as UM,eo as GM,ep as qM,eq as KM,er as XM,es as YM,et as QM,eu as JM,ev as ZM,ew as eD,ex as tD,ey as nD,ez as rD,eA as oD,eB as sD,eC as aD,eD as iD,eE as lD,eF as cD,eG as bw,eH as Ip,eI as uD,eJ as Gp,eK as m5,eL as Ju,eM as dD,eN as fD,eO as ea,eP as g5,eQ as ub,eR as kd,eS as pD,eT as hD,eU as mD,eV as Oa,eW as v5,eX as gD,eY as vD,eZ as b5,e_ as bD,e$ as yD,f0 as xD,f1 as wD,f2 as SD,f3 as CD,f4 as kD,f5 as _D,f6 as PD,f7 as jD,f8 as yw,f9 as ID,fa as ED,fb as OD,fc as RD,fd as MD,fe as DD,ff as AD,fg as TD,fh as w0,fi as Js,fj as S0,fk as C0,fl as Ff,fm as xw,fn as Tv,fo as ND,fp as $D,fq as LD,fr as zD,fs as qp,ft as y5,fu as x5,fv as BD,fw as FD,fx as w5,fy as S5,fz as C5,fA as k5,fB as _5,fC as P5,fD as j5,fE as I5,fF as rc,fG as oc,fH as E5,fI as O5,fJ as HD,fK as R5,fL as M5,fM as D5,fN as A5,fO as T5,fP as N5,fQ as db,fR as WD,fS as ww,fT as VD,fU as UD,fV as Kp,fW as Sw,fX as Cw,fY as kw,fZ as _w,f_ as GD,f$ as qD,g0 as KD,g1 as XD,g2 as YD,g3 as QD,g4 as JD,g5 as ZD,g6 as e9}from"./index-dd054634.js";import{u as t9,c as n9,a as Dn,b as or,I as fo,d as Fa,P as Zu,C as r9,e as ye,f as $5,g as Ha,h as o9,r as Ue,i as s9,j as Pw,k as Vt,l as Cr,m as ed}from"./menu-b42141e3.js";var jw=1/0,a9=17976931348623157e292;function k0(e){if(!e)return e===0?e:0;if(e=Cv(e),e===jw||e===-jw){var t=e<0?-1:1;return t*a9}return e===e?e:0}var i9=function(){return dR.Date.now()};const _0=i9;var l9="Expected a function",c9=Math.max,u9=Math.min;function d9(e,t,n){var r,o,s,a,c,d,p=0,h=!1,m=!1,v=!0;if(typeof e!="function")throw new TypeError(l9);t=Cv(t)||0,kv(n)&&(h=!!n.leading,m="maxWait"in n,s=m?c9(Cv(n.maxWait)||0,t):s,v="trailing"in n?!!n.trailing:v);function b(O){var R=r,M=o;return r=o=void 0,p=O,a=e.apply(M,R),a}function w(O){return p=O,c=setTimeout(k,t),h?b(O):a}function y(O){var R=O-d,M=O-p,D=t-R;return m?u9(D,s-M):D}function S(O){var R=O-d,M=O-p;return d===void 0||R>=t||R<0||m&&M>=s}function k(){var O=_0();if(S(O))return _(O);c=setTimeout(k,y(O))}function _(O){return c=void 0,v&&r?b(O):(r=o=void 0,a)}function P(){c!==void 0&&clearTimeout(c),p=0,r=d=o=c=void 0}function I(){return c===void 0?a:_(_0())}function E(){var O=_0(),R=S(O);if(r=arguments,o=this,d=O,R){if(c===void 0)return w(d);if(m)return clearTimeout(c),c=setTimeout(k,t),b(d)}return c===void 0&&(c=setTimeout(k,t)),a}return E.cancel=P,E.flush=I,E}var f9=200;function p9(e,t,n,r){var o=-1,s=I_,a=!0,c=e.length,d=[],p=t.length;if(!c)return d;n&&(t=Tc(t,P_(n))),r?(s=E_,a=!1):t.length>=f9&&(s=_v,a=!1,t=new j_(t));e:for(;++o=120&&h.length>=120)?new j_(a&&h):void 0}h=e[0];var m=-1,v=c[0];e:for(;++m{r.has(s)&&n(o,s)})}function D9(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}const L5=({id:e,x:t,y:n,width:r,height:o,style:s,color:a,strokeColor:c,strokeWidth:d,className:p,borderRadius:h,shapeRendering:m,onClick:v})=>{const{background:b,backgroundColor:w}=s||{},y=a||b||w;return i.jsx("rect",{className:cm(["react-flow__minimap-node",p]),x:t,y:n,rx:h,ry:h,width:r,height:o,fill:y,stroke:c,strokeWidth:d,shapeRendering:m,onClick:v?S=>v(S,e):void 0})};L5.displayName="MiniMapNode";var A9=f.memo(L5);const T9=e=>e.nodeOrigin,N9=e=>e.getNodes().filter(t=>!t.hidden&&t.width&&t.height),P0=e=>e instanceof Function?e:()=>e;function $9({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o=2,nodeComponent:s=A9,onClick:a}){const c=Lp(N9,X1),d=Lp(T9),p=P0(t),h=P0(e),m=P0(n),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return i.jsx(i.Fragment,{children:c.map(b=>{const{x:w,y}=PR(b,d).positionAbsolute;return i.jsx(s,{x:w,y,width:b.width,height:b.height,style:b.style,className:m(b),color:p(b),borderRadius:r,strokeColor:h(b),strokeWidth:o,shapeRendering:v,onClick:a,id:b.id},b.id)})})}var L9=f.memo($9);const z9=200,B9=150,F9=e=>{const t=e.getNodes(),n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:t.length>0?OR(RR(t,e.nodeOrigin),n):n,rfId:e.rfId}},H9="react-flow__minimap-desc";function z5({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:a=2,nodeComponent:c,maskColor:d="rgb(240, 240, 240, 0.6)",maskStrokeColor:p="none",maskStrokeWidth:h=1,position:m="bottom-right",onClick:v,onNodeClick:b,pannable:w=!1,zoomable:y=!1,ariaLabel:S="React Flow mini map",inversePan:k=!1,zoomStep:_=10}){const P=D_(),I=f.useRef(null),{boundingRect:E,viewBB:O,rfId:R}=Lp(F9,X1),M=(e==null?void 0:e.width)??z9,D=(e==null?void 0:e.height)??B9,A=E.width/M,L=E.height/D,Q=Math.max(A,L),F=Q*M,V=Q*D,q=5*Q,G=E.x-(F-E.width)/2-q,T=E.y-(V-E.height)/2-q,z=F+q*2,$=V+q*2,Y=`${H9}-${R}`,ae=f.useRef(0);ae.current=Q,f.useEffect(()=>{if(I.current){const X=A_(I.current),K=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le}=P.getState();if(re.sourceEvent.type!=="wheel"||!pe||!le)return;const ge=-re.sourceEvent.deltaY*(re.sourceEvent.deltaMode===1?.05:re.sourceEvent.deltaMode?1:.002)*_,ke=oe[2]*Math.pow(2,ge);le.scaleTo(pe,ke)},U=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le,translateExtent:ge,width:ke,height:xe}=P.getState();if(re.sourceEvent.type!=="mousemove"||!pe||!le)return;const de=ae.current*Math.max(1,oe[2])*(k?-1:1),Te={x:oe[0]-re.sourceEvent.movementX*de,y:oe[1]-re.sourceEvent.movementY*de},Ee=[[0,0],[ke,xe]],$e=IR.translate(Te.x,Te.y).scale(oe[2]),kt=le.constrain()($e,Ee,ge);le.transform(pe,kt)},se=jR().on("zoom",w?U:null).on("zoom.wheel",y?K:null);return X.call(se),()=>{X.on("zoom",null)}}},[w,y,k,_]);const fe=v?X=>{const K=ER(X);v(X,{x:K[0],y:K[1]})}:void 0,ie=b?(X,K)=>{const U=P.getState().nodeInternals.get(K);b(X,U)}:void 0;return i.jsx(vd,{position:m,style:e,className:cm(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:i.jsxs("svg",{width:M,height:D,viewBox:`${G} ${T} ${z} ${$}`,role:"img","aria-labelledby":Y,ref:I,onClick:fe,children:[S&&i.jsx("title",{id:Y,children:S}),i.jsx(L9,{onClick:ie,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:a,nodeComponent:c}),i.jsx("path",{className:"react-flow__minimap-mask",d:`M${G-q},${T-q}h${z+q*2}v${$+q*2}h${-z-q*2}z + M${O.x},${O.y}h${O.width}v${O.height}h${-O.width}z`,fill:d,fillRule:"evenodd",stroke:p,strokeWidth:h,pointerEvents:"none"})]})})}z5.displayName="MiniMap";var W9=f.memo(z5),Ss;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Ss||(Ss={}));function V9({color:e,dimensions:t,lineWidth:n}){return i.jsx("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function U9({color:e,radius:t}){return i.jsx("circle",{cx:t,cy:t,r:t,fill:e})}const G9={[Ss.Dots]:"#91919a",[Ss.Lines]:"#eee",[Ss.Cross]:"#e2e2e2"},q9={[Ss.Dots]:1,[Ss.Lines]:1,[Ss.Cross]:6},K9=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function B5({id:e,variant:t=Ss.Dots,gap:n=20,size:r,lineWidth:o=1,offset:s=2,color:a,style:c,className:d}){const p=f.useRef(null),{transform:h,patternId:m}=Lp(K9,X1),v=a||G9[t],b=r||q9[t],w=t===Ss.Dots,y=t===Ss.Cross,S=Array.isArray(n)?n:[n,n],k=[S[0]*h[2]||1,S[1]*h[2]||1],_=b*h[2],P=y?[_,_]:k,I=w?[_/s,_/s]:[P[0]/s,P[1]/s];return i.jsxs("svg",{className:cm(["react-flow__background",d]),style:{...c,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:p,"data-testid":"rf__background",children:[i.jsx("pattern",{id:m+e,x:h[0]%k[0],y:h[1]%k[1],width:k[0],height:k[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${I[0]},-${I[1]})`,children:w?i.jsx(U9,{color:v,radius:_/s}):i.jsx(V9,{dimensions:P,color:v,lineWidth:o})}),i.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${m+e})`})]})}B5.displayName="Background";var X9=f.memo(B5),Hu;(function(e){e.Line="line",e.Handle="handle"})(Hu||(Hu={}));function Y9({width:e,prevWidth:t,height:n,prevHeight:r,invertX:o,invertY:s}){const a=e-t,c=n-r,d=[a>0?1:a<0?-1:0,c>0?1:c<0?-1:0];return a&&o&&(d[0]=d[0]*-1),c&&s&&(d[1]=d[1]*-1),d}const F5={width:0,height:0,x:0,y:0},Q9={...F5,pointerX:0,pointerY:0,aspectRatio:1};function J9({nodeId:e,position:t,variant:n=Hu.Handle,className:r,style:o={},children:s,color:a,minWidth:c=10,minHeight:d=10,maxWidth:p=Number.MAX_VALUE,maxHeight:h=Number.MAX_VALUE,keepAspectRatio:m=!1,shouldResize:v,onResizeStart:b,onResize:w,onResizeEnd:y}){const S=MR(),k=typeof e=="string"?e:S,_=D_(),P=f.useRef(null),I=f.useRef(Q9),E=f.useRef(F5),O=DR(),R=n===Hu.Line?"right":"bottom-right",M=t??R;f.useEffect(()=>{if(!P.current||!k)return;const Q=A_(P.current),F=M.includes("right")||M.includes("left"),V=M.includes("bottom")||M.includes("top"),q=M.includes("left"),G=M.includes("top"),T=AR().on("start",z=>{const $=_.getState().nodeInternals.get(k),{xSnapped:Y,ySnapped:ae}=O(z);E.current={width:($==null?void 0:$.width)??0,height:($==null?void 0:$.height)??0,x:($==null?void 0:$.position.x)??0,y:($==null?void 0:$.position.y)??0},I.current={...E.current,pointerX:Y,pointerY:ae,aspectRatio:E.current.width/E.current.height},b==null||b(z,{...E.current})}).on("drag",z=>{const{nodeInternals:$,triggerNodeChanges:Y}=_.getState(),{xSnapped:ae,ySnapped:fe}=O(z),ie=$.get(k);if(ie){const X=[],{pointerX:K,pointerY:U,width:se,height:re,x:oe,y:pe,aspectRatio:le}=I.current,{x:ge,y:ke,width:xe,height:de}=E.current,Te=Math.floor(F?ae-K:0),Ee=Math.floor(V?fe-U:0);let $e=V2(se+(q?-Te:Te),c,p),kt=V2(re+(G?-Ee:Ee),d,h);if(m){const Me=$e/kt,Pt=F&&V,Tt=F&&!V,we=V&&!F;$e=Me<=le&&Pt||we?kt*le:$e,kt=Me>le&&Pt||Tt?$e/le:kt,$e>=p?($e=p,kt=p/le):$e<=c&&($e=c,kt=c/le),kt>=h?(kt=h,$e=h*le):kt<=d&&(kt=d,$e=d*le)}const ct=$e!==xe,on=kt!==de;if(q||G){const Me=q?oe-($e-se):oe,Pt=G?pe-(kt-re):pe,Tt=Me!==ge&&ct,we=Pt!==ke&&on;if(Tt||we){const ht={id:ie.id,type:"position",position:{x:Tt?Me:ge,y:we?Pt:ke}};X.push(ht),E.current.x=ht.position.x,E.current.y=ht.position.y}}if(ct||on){const Me={id:k,type:"dimensions",updateStyle:!0,resizing:!0,dimensions:{width:$e,height:kt}};X.push(Me),E.current.width=$e,E.current.height=kt}if(X.length===0)return;const vt=Y9({width:E.current.width,prevWidth:xe,height:E.current.height,prevHeight:de,invertX:q,invertY:G}),bt={...E.current,direction:vt};if((v==null?void 0:v(z,bt))===!1)return;w==null||w(z,bt),Y(X)}}).on("end",z=>{const $={id:k,type:"dimensions",resizing:!1};y==null||y(z,{...E.current}),_.getState().triggerNodeChanges([$])});return Q.call(T),()=>{Q.on(".drag",null)}},[k,M,c,d,p,h,m,O,b,w,y]);const D=M.split("-"),A=n===Hu.Line?"borderColor":"backgroundColor",L=a?{...o,[A]:a}:o;return i.jsx("div",{className:cm(["react-flow__resize-control","nodrag",...D,n,r]),ref:P,style:L,children:s})}var Z9=f.memo(J9);function eA(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function H5(e){var t;return eA(e)&&(t=e.ownerDocument)!=null?t:document}function tA(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var nA=tA();const W5=1/60*1e3,rA=typeof performance<"u"?()=>performance.now():()=>Date.now(),V5=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(rA()),W5);function oA(e){let t=[],n=[],r=0,o=!1,s=!1;const a=new WeakSet,c={schedule:(d,p=!1,h=!1)=>{const m=h&&o,v=m?t:n;return p&&a.add(d),v.indexOf(d)===-1&&(v.push(d),m&&o&&(r=t.length)),d},cancel:d=>{const p=n.indexOf(d);p!==-1&&n.splice(p,1),a.delete(d)},process:d=>{if(o){s=!0;return}if(o=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let p=0;p(e[t]=oA(()=>td=!0),e),{}),aA=_d.reduce((e,t)=>{const n=gm[t];return e[t]=(r,o=!1,s=!1)=>(td||cA(),n.schedule(r,o,s)),e},{}),iA=_d.reduce((e,t)=>(e[t]=gm[t].cancel,e),{});_d.reduce((e,t)=>(e[t]=()=>gm[t].process(sc),e),{});const lA=e=>gm[e].process(sc),U5=e=>{td=!1,sc.delta=Nv?W5:Math.max(Math.min(e-sc.timestamp,sA),1),sc.timestamp=e,$v=!0,_d.forEach(lA),$v=!1,td&&(Nv=!1,V5(U5))},cA=()=>{td=!0,Nv=!0,$v||V5(U5)},Rw=()=>sc;function fb(e){const t=Object.assign({},e);for(let n in t)t[n]===void 0&&delete t[n];return t}function uA(e){const{theme:t}=TR(),n=t9();return f.useMemo(()=>n9(t.direction,{...n,...e}),[e,t.direction,n])}var dA=Object.defineProperty,fA=(e,t,n)=>t in e?dA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vr=(e,t,n)=>(fA(e,typeof t!="symbol"?t+"":t,n),n);function Mw(e){return e.sort((t,n)=>{const r=t.compareDocumentPosition(n);if(r&Node.DOCUMENT_POSITION_FOLLOWING||r&Node.DOCUMENT_POSITION_CONTAINED_BY)return-1;if(r&Node.DOCUMENT_POSITION_PRECEDING||r&Node.DOCUMENT_POSITION_CONTAINS)return 1;if(r&Node.DOCUMENT_POSITION_DISCONNECTED||r&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC)throw Error("Cannot sort the given nodes.");return 0})}var pA=e=>typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE;function Dw(e,t,n){let r=e+1;return n&&r>=t&&(r=0),r}function Aw(e,t,n){let r=e-1;return n&&r<0&&(r=t),r}var Lv=typeof window<"u"?f.useLayoutEffect:f.useEffect,Xp=e=>e,hA=class{constructor(){vr(this,"descendants",new Map),vr(this,"register",e=>{if(e!=null)return pA(e)?this.registerNode(e):t=>{this.registerNode(t,e)}}),vr(this,"unregister",e=>{this.descendants.delete(e);const t=Mw(Array.from(this.descendants.keys()));this.assignIndex(t)}),vr(this,"destroy",()=>{this.descendants.clear()}),vr(this,"assignIndex",e=>{this.descendants.forEach(t=>{const n=e.indexOf(t.node);t.index=n,t.node.dataset.index=t.index.toString()})}),vr(this,"count",()=>this.descendants.size),vr(this,"enabledCount",()=>this.enabledValues().length),vr(this,"values",()=>Array.from(this.descendants.values()).sort((t,n)=>t.index-n.index)),vr(this,"enabledValues",()=>this.values().filter(e=>!e.disabled)),vr(this,"item",e=>{if(this.count()!==0)return this.values()[e]}),vr(this,"enabledItem",e=>{if(this.enabledCount()!==0)return this.enabledValues()[e]}),vr(this,"first",()=>this.item(0)),vr(this,"firstEnabled",()=>this.enabledItem(0)),vr(this,"last",()=>this.item(this.descendants.size-1)),vr(this,"lastEnabled",()=>{const e=this.enabledValues().length-1;return this.enabledItem(e)}),vr(this,"indexOf",e=>{var t,n;return e&&(n=(t=this.descendants.get(e))==null?void 0:t.index)!=null?n:-1}),vr(this,"enabledIndexOf",e=>e==null?-1:this.enabledValues().findIndex(t=>t.node.isSameNode(e))),vr(this,"next",(e,t=!0)=>{const n=Dw(e,this.count(),t);return this.item(n)}),vr(this,"nextEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=Dw(r,this.enabledCount(),t);return this.enabledItem(o)}),vr(this,"prev",(e,t=!0)=>{const n=Aw(e,this.count()-1,t);return this.item(n)}),vr(this,"prevEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=Aw(r,this.enabledCount()-1,t);return this.enabledItem(o)}),vr(this,"registerNode",(e,t)=>{if(!e||this.descendants.has(e))return;const n=Array.from(this.descendants.keys()).concat(e),r=Mw(n);t!=null&&t.disabled&&(t.disabled=!!t.disabled);const o={node:e,index:-1,...t};this.descendants.set(e,o),this.assignIndex(r)})}};function mA(e,t){if(e!=null){if(typeof e=="function"){e(t);return}try{e.current=t}catch{throw new Error(`Cannot assign value '${t}' to ref '${e}'`)}}}function cn(...e){return t=>{e.forEach(n=>{mA(n,t)})}}function gA(...e){return f.useMemo(()=>cn(...e),e)}function vA(){const e=f.useRef(new hA);return Lv(()=>()=>e.current.destroy()),e.current}var[bA,G5]=Dn({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function yA(e){const t=G5(),[n,r]=f.useState(-1),o=f.useRef(null);Lv(()=>()=>{o.current&&t.unregister(o.current)},[]),Lv(()=>{if(!o.current)return;const a=Number(o.current.dataset.index);n!=a&&!Number.isNaN(a)&&r(a)});const s=Xp(e?t.register(e):t.register);return{descendants:t,index:n,enabledIndex:t.enabledIndexOf(o.current),register:cn(s,o)}}function pb(){return[Xp(bA),()=>Xp(G5()),()=>vA(),o=>yA(o)]}var[xA,vm]=Dn({name:"AccordionStylesContext",hookName:"useAccordionStyles",providerName:""}),[wA,hb]=Dn({name:"AccordionItemContext",hookName:"useAccordionItemContext",providerName:""}),[SA,Xde,CA,kA]=pb(),Eu=Ae(function(t,n){const{getButtonProps:r}=hb(),o=r(t,n),a={display:"flex",alignItems:"center",width:"100%",outline:0,...vm().button};return i.jsx(je.button,{...o,className:Ct("chakra-accordion__button",t.className),__css:a})});Eu.displayName="AccordionButton";function zc(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:o=(v,b)=>v!==b}=e,s=or(r),a=or(o),[c,d]=f.useState(n),p=t!==void 0,h=p?t:c,m=or(v=>{const w=typeof v=="function"?v(h):v;a(h,w)&&(p||d(w),s(w))},[p,s,h,a]);return[h,m]}function _A(e){const{onChange:t,defaultIndex:n,index:r,allowMultiple:o,allowToggle:s,...a}=e;IA(e),EA(e);const c=CA(),[d,p]=f.useState(-1);f.useEffect(()=>()=>{p(-1)},[]);const[h,m]=zc({value:r,defaultValue(){return o?n??[]:n??-1},onChange:t});return{index:h,setIndex:m,htmlProps:a,getAccordionItemProps:b=>{let w=!1;return b!==null&&(w=Array.isArray(h)?h.includes(b):h===b),{isOpen:w,onChange:S=>{if(b!==null)if(o&&Array.isArray(h)){const k=S?h.concat(b):h.filter(_=>_!==b);m(k)}else S?m(b):s&&m(-1)}}},focusedIndex:d,setFocusedIndex:p,descendants:c}}var[PA,mb]=Dn({name:"AccordionContext",hookName:"useAccordionContext",providerName:"Accordion"});function jA(e){const{isDisabled:t,isFocusable:n,id:r,...o}=e,{getAccordionItemProps:s,setFocusedIndex:a}=mb(),c=f.useRef(null),d=f.useId(),p=r??d,h=`accordion-button-${p}`,m=`accordion-panel-${p}`;OA(e);const{register:v,index:b,descendants:w}=kA({disabled:t&&!n}),{isOpen:y,onChange:S}=s(b===-1?null:b);RA({isOpen:y,isDisabled:t});const k=()=>{S==null||S(!0)},_=()=>{S==null||S(!1)},P=f.useCallback(()=>{S==null||S(!y),a(b)},[b,a,y,S]),I=f.useCallback(M=>{const A={ArrowDown:()=>{const L=w.nextEnabled(b);L==null||L.node.focus()},ArrowUp:()=>{const L=w.prevEnabled(b);L==null||L.node.focus()},Home:()=>{const L=w.firstEnabled();L==null||L.node.focus()},End:()=>{const L=w.lastEnabled();L==null||L.node.focus()}}[M.key];A&&(M.preventDefault(),A(M))},[w,b]),E=f.useCallback(()=>{a(b)},[a,b]),O=f.useCallback(function(D={},A=null){return{...D,type:"button",ref:cn(v,c,A),id:h,disabled:!!t,"aria-expanded":!!y,"aria-controls":m,onClick:et(D.onClick,P),onFocus:et(D.onFocus,E),onKeyDown:et(D.onKeyDown,I)}},[h,t,y,P,E,I,m,v]),R=f.useCallback(function(D={},A=null){return{...D,ref:A,role:"region",id:m,"aria-labelledby":h,hidden:!y}},[h,y,m]);return{isOpen:y,isDisabled:t,isFocusable:n,onOpen:k,onClose:_,getButtonProps:O,getPanelProps:R,htmlProps:o}}function IA(e){const t=e.index||e.defaultIndex,n=t!=null&&!Array.isArray(t)&&e.allowMultiple;bd({condition:!!n,message:`If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: ${typeof t},`})}function EA(e){bd({condition:!!(e.allowMultiple&&e.allowToggle),message:"If 'allowMultiple' is passed, 'allowToggle' will be ignored. Either remove 'allowToggle' or 'allowMultiple' depending on whether you want multiple accordions visible or not"})}function OA(e){bd({condition:!!(e.isFocusable&&!e.isDisabled),message:`Using only 'isFocusable', this prop is reserved for situations where you pass 'isDisabled' but you still want the element to receive focus (A11y). Either remove it or pass 'isDisabled' as well. + `})}function RA(e){bd({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}function Ou(e){const{isOpen:t,isDisabled:n}=hb(),{reduceMotion:r}=mb(),o=Ct("chakra-accordion__icon",e.className),s=vm(),a={opacity:n?.4:1,transform:t?"rotate(-180deg)":void 0,transition:r?void 0:"transform 0.2s",transformOrigin:"center",...s.icon};return i.jsx(fo,{viewBox:"0 0 24 24","aria-hidden":!0,className:o,__css:a,...e,children:i.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})})}Ou.displayName="AccordionIcon";var Ru=Ae(function(t,n){const{children:r,className:o}=t,{htmlProps:s,...a}=jA(t),d={...vm().container,overflowAnchor:"none"},p=f.useMemo(()=>a,[a]);return i.jsx(wA,{value:p,children:i.jsx(je.div,{ref:n,...s,className:Ct("chakra-accordion__item",o),__css:d,children:typeof r=="function"?r({isExpanded:!!a.isOpen,isDisabled:!!a.isDisabled}):r})})});Ru.displayName="AccordionItem";var qi={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]},mu={scale:{enter:{scale:1},exit:{scale:.95}},fade:{enter:{opacity:1},exit:{opacity:0}},pushLeft:{enter:{x:"100%"},exit:{x:"-30%"}},pushRight:{enter:{x:"-100%"},exit:{x:"30%"}},pushUp:{enter:{y:"100%"},exit:{y:"-30%"}},pushDown:{enter:{y:"-100%"},exit:{y:"30%"}},slideLeft:{position:{left:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"-100%",y:0}},slideRight:{position:{right:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"100%",y:0}},slideUp:{position:{top:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"-100%"}},slideDown:{position:{bottom:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"100%"}}};function zv(e){var t;switch((t=e==null?void 0:e.direction)!=null?t:"right"){case"right":return mu.slideRight;case"left":return mu.slideLeft;case"bottom":return mu.slideDown;case"top":return mu.slideUp;default:return mu.slideRight}}var Xi={enter:{duration:.2,ease:qi.easeOut},exit:{duration:.1,ease:qi.easeIn}},Cs={enter:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.enter}),exit:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.exit})},MA=e=>e!=null&&parseInt(e.toString(),10)>0,Tw={exit:{height:{duration:.2,ease:qi.ease},opacity:{duration:.3,ease:qi.ease}},enter:{height:{duration:.3,ease:qi.ease},opacity:{duration:.4,ease:qi.ease}}},DA={exit:({animateOpacity:e,startingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:MA(t)?1:0},height:t,transitionEnd:r==null?void 0:r.exit,transition:(s=n==null?void 0:n.exit)!=null?s:Cs.exit(Tw.exit,o)}},enter:({animateOpacity:e,endingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:1},height:t,transitionEnd:r==null?void 0:r.enter,transition:(s=n==null?void 0:n.enter)!=null?s:Cs.enter(Tw.enter,o)}}},bm=f.forwardRef((e,t)=>{const{in:n,unmountOnExit:r,animateOpacity:o=!0,startingHeight:s=0,endingHeight:a="auto",style:c,className:d,transition:p,transitionEnd:h,...m}=e,[v,b]=f.useState(!1);f.useEffect(()=>{const _=setTimeout(()=>{b(!0)});return()=>clearTimeout(_)},[]),bd({condition:Number(s)>0&&!!r,message:"startingHeight and unmountOnExit are mutually exclusive. You can't use them together"});const w=parseFloat(s.toString())>0,y={startingHeight:s,endingHeight:a,animateOpacity:o,transition:v?p:{enter:{duration:0}},transitionEnd:{enter:h==null?void 0:h.enter,exit:r?h==null?void 0:h.exit:{...h==null?void 0:h.exit,display:w?"block":"none"}}},S=r?n:!0,k=n||r?"enter":"exit";return i.jsx(mo,{initial:!1,custom:y,children:S&&i.jsx(Er.div,{ref:t,...m,className:Ct("chakra-collapse",d),style:{overflow:"hidden",display:"block",...c},custom:y,variants:DA,initial:r?"exit":!1,animate:k,exit:"exit"})})});bm.displayName="Collapse";var AA={enter:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:1,transition:(r=e==null?void 0:e.enter)!=null?r:Cs.enter(Xi.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:0,transition:(r=e==null?void 0:e.exit)!=null?r:Cs.exit(Xi.exit,n),transitionEnd:t==null?void 0:t.exit}}},q5={initial:"exit",animate:"enter",exit:"exit",variants:AA},TA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,className:s,transition:a,transitionEnd:c,delay:d,...p}=t,h=o||r?"enter":"exit",m=r?o&&r:!0,v={transition:a,transitionEnd:c,delay:d};return i.jsx(mo,{custom:v,children:m&&i.jsx(Er.div,{ref:n,className:Ct("chakra-fade",s),custom:v,...q5,animate:h,...p})})});TA.displayName="Fade";var NA={exit:({reverse:e,initialScale:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,...e?{scale:t,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{scale:t,...r==null?void 0:r.exit}},transition:(s=n==null?void 0:n.exit)!=null?s:Cs.exit(Xi.exit,o)}},enter:({transitionEnd:e,transition:t,delay:n})=>{var r;return{opacity:1,scale:1,transition:(r=t==null?void 0:t.enter)!=null?r:Cs.enter(Xi.enter,n),transitionEnd:e==null?void 0:e.enter}}},K5={initial:"exit",animate:"enter",exit:"exit",variants:NA},$A=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,initialScale:a=.95,className:c,transition:d,transitionEnd:p,delay:h,...m}=t,v=r?o&&r:!0,b=o||r?"enter":"exit",w={initialScale:a,reverse:s,transition:d,transitionEnd:p,delay:h};return i.jsx(mo,{custom:w,children:v&&i.jsx(Er.div,{ref:n,className:Ct("chakra-offset-slide",c),...K5,animate:b,custom:w,...m})})});$A.displayName="ScaleFade";var LA={initial:({offsetX:e,offsetY:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,x:e,y:t,transition:(s=n==null?void 0:n.exit)!=null?s:Cs.exit(Xi.exit,o),transitionEnd:r==null?void 0:r.exit}},enter:({transition:e,transitionEnd:t,delay:n})=>{var r;return{opacity:1,x:0,y:0,transition:(r=e==null?void 0:e.enter)!=null?r:Cs.enter(Xi.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({offsetY:e,offsetX:t,transition:n,transitionEnd:r,reverse:o,delay:s})=>{var a;const c={x:t,y:e};return{opacity:0,transition:(a=n==null?void 0:n.exit)!=null?a:Cs.exit(Xi.exit,s),...o?{...c,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{...c,...r==null?void 0:r.exit}}}}},Bv={initial:"initial",animate:"enter",exit:"exit",variants:LA},zA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,className:a,offsetX:c=0,offsetY:d=8,transition:p,transitionEnd:h,delay:m,...v}=t,b=r?o&&r:!0,w=o||r?"enter":"exit",y={offsetX:c,offsetY:d,reverse:s,transition:p,transitionEnd:h,delay:m};return i.jsx(mo,{custom:y,children:b&&i.jsx(Er.div,{ref:n,className:Ct("chakra-offset-slide",a),custom:y,...Bv,animate:w,...v})})});zA.displayName="SlideFade";var Nw={exit:{duration:.15,ease:qi.easeInOut},enter:{type:"spring",damping:25,stiffness:180}},BA={exit:({direction:e,transition:t,transitionEnd:n,delay:r})=>{var o;const{exit:s}=zv({direction:e});return{...s,transition:(o=t==null?void 0:t.exit)!=null?o:Cs.exit(Nw.exit,r),transitionEnd:n==null?void 0:n.exit}},enter:({direction:e,transitionEnd:t,transition:n,delay:r})=>{var o;const{enter:s}=zv({direction:e});return{...s,transition:(o=n==null?void 0:n.enter)!=null?o:Cs.enter(Nw.enter,r),transitionEnd:t==null?void 0:t.enter}}},X5=f.forwardRef(function(t,n){const{direction:r="right",style:o,unmountOnExit:s,in:a,className:c,transition:d,transitionEnd:p,delay:h,motionProps:m,...v}=t,b=zv({direction:r}),w=Object.assign({position:"fixed"},b.position,o),y=s?a&&s:!0,S=a||s?"enter":"exit",k={transitionEnd:p,transition:d,direction:r,delay:h};return i.jsx(mo,{custom:k,children:y&&i.jsx(Er.div,{...v,ref:n,initial:"exit",className:Ct("chakra-slide",c),animate:S,exit:"exit",custom:k,variants:BA,style:w,...m})})});X5.displayName="Slide";var Mu=Ae(function(t,n){const{className:r,motionProps:o,...s}=t,{reduceMotion:a}=mb(),{getPanelProps:c,isOpen:d}=hb(),p=c(s,n),h=Ct("chakra-accordion__panel",r),m=vm();a||delete p.hidden;const v=i.jsx(je.div,{...p,__css:m.panel,className:h});return a?v:i.jsx(bm,{in:d,...o,children:v})});Mu.displayName="AccordionPanel";var Y5=Ae(function({children:t,reduceMotion:n,...r},o){const s=Fr("Accordion",r),a=qn(r),{htmlProps:c,descendants:d,...p}=_A(a),h=f.useMemo(()=>({...p,reduceMotion:!!n}),[p,n]);return i.jsx(SA,{value:d,children:i.jsx(PA,{value:h,children:i.jsx(xA,{value:s,children:i.jsx(je.div,{ref:o,...c,className:Ct("chakra-accordion",r.className),__css:s.root,children:t})})})})});Y5.displayName="Accordion";function Pd(e){return f.Children.toArray(e).filter(t=>f.isValidElement(t))}var[FA,HA]=Dn({strict:!1,name:"ButtonGroupContext"}),WA={horizontal:{"> *:first-of-type:not(:last-of-type)":{borderEndRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderStartRadius:0}},vertical:{"> *:first-of-type:not(:last-of-type)":{borderBottomRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderTopRadius:0}}},VA={horizontal:e=>({"& > *:not(style) ~ *:not(style)":{marginStart:e}}),vertical:e=>({"& > *:not(style) ~ *:not(style)":{marginTop:e}})},rr=Ae(function(t,n){const{size:r,colorScheme:o,variant:s,className:a,spacing:c="0.5rem",isAttached:d,isDisabled:p,orientation:h="horizontal",...m}=t,v=Ct("chakra-button__group",a),b=f.useMemo(()=>({size:r,colorScheme:o,variant:s,isDisabled:p}),[r,o,s,p]);let w={display:"inline-flex",...d?WA[h]:VA[h](c)};const y=h==="vertical";return i.jsx(FA,{value:b,children:i.jsx(je.div,{ref:n,role:"group",__css:w,className:v,"data-attached":d?"":void 0,"data-orientation":h,flexDir:y?"column":void 0,...m})})});rr.displayName="ButtonGroup";function UA(e){const[t,n]=f.useState(!e);return{ref:f.useCallback(s=>{s&&n(s.tagName==="BUTTON")},[]),type:t?"button":void 0}}function Fv(e){const{children:t,className:n,...r}=e,o=f.isValidElement(t)?f.cloneElement(t,{"aria-hidden":!0,focusable:!1}):t,s=Ct("chakra-button__icon",n);return i.jsx(je.span,{display:"inline-flex",alignSelf:"center",flexShrink:0,...r,className:s,children:o})}Fv.displayName="ButtonIcon";function Yp(e){const{label:t,placement:n,spacing:r="0.5rem",children:o=i.jsx(hl,{color:"currentColor",width:"1em",height:"1em"}),className:s,__css:a,...c}=e,d=Ct("chakra-button__spinner",s),p=n==="start"?"marginEnd":"marginStart",h=f.useMemo(()=>({display:"flex",alignItems:"center",position:t?"relative":"absolute",[p]:t?r:0,fontSize:"1em",lineHeight:"normal",...a}),[a,t,p,r]);return i.jsx(je.div,{className:d,...c,__css:h,children:o})}Yp.displayName="ButtonSpinner";var yc=Ae((e,t)=>{const n=HA(),r=ia("Button",{...n,...e}),{isDisabled:o=n==null?void 0:n.isDisabled,isLoading:s,isActive:a,children:c,leftIcon:d,rightIcon:p,loadingText:h,iconSpacing:m="0.5rem",type:v,spinner:b,spinnerPlacement:w="start",className:y,as:S,...k}=qn(e),_=f.useMemo(()=>{const O={...r==null?void 0:r._focus,zIndex:1};return{display:"inline-flex",appearance:"none",alignItems:"center",justifyContent:"center",userSelect:"none",position:"relative",whiteSpace:"nowrap",verticalAlign:"middle",outline:"none",...r,...!!n&&{_focus:O}}},[r,n]),{ref:P,type:I}=UA(S),E={rightIcon:p,leftIcon:d,iconSpacing:m,children:c};return i.jsxs(je.button,{ref:gA(t,P),as:S,type:v??I,"data-active":Ft(a),"data-loading":Ft(s),__css:_,className:Ct("chakra-button",y),...k,disabled:o||s,children:[s&&w==="start"&&i.jsx(Yp,{className:"chakra-button__spinner--start",label:h,placement:"start",spacing:m,children:b}),s?h||i.jsx(je.span,{opacity:0,children:i.jsx($w,{...E})}):i.jsx($w,{...E}),s&&w==="end"&&i.jsx(Yp,{className:"chakra-button__spinner--end",label:h,placement:"end",spacing:m,children:b})]})});yc.displayName="Button";function $w(e){const{leftIcon:t,rightIcon:n,children:r,iconSpacing:o}=e;return i.jsxs(i.Fragment,{children:[t&&i.jsx(Fv,{marginEnd:o,children:t}),r,n&&i.jsx(Fv,{marginStart:o,children:n})]})}var ka=Ae((e,t)=>{const{icon:n,children:r,isRound:o,"aria-label":s,...a}=e,c=n||r,d=f.isValidElement(c)?f.cloneElement(c,{"aria-hidden":!0,focusable:!1}):null;return i.jsx(yc,{padding:"0",borderRadius:o?"full":void 0,ref:t,"aria-label":s,...a,children:d})});ka.displayName="IconButton";var[Yde,GA]=Dn({name:"CheckboxGroupContext",strict:!1});function qA(e){const[t,n]=f.useState(e),[r,o]=f.useState(!1);return e!==t&&(o(!0),n(e)),r}function KA(e){return i.jsx(je.svg,{width:"1.2em",viewBox:"0 0 12 10",style:{fill:"none",strokeWidth:2,stroke:"currentColor",strokeDasharray:16},...e,children:i.jsx("polyline",{points:"1.5 6 4.5 9 10.5 1"})})}function XA(e){return i.jsx(je.svg,{width:"1.2em",viewBox:"0 0 24 24",style:{stroke:"currentColor",strokeWidth:4},...e,children:i.jsx("line",{x1:"21",x2:"3",y1:"12",y2:"12"})})}function YA(e){const{isIndeterminate:t,isChecked:n,...r}=e,o=t?XA:KA;return n||t?i.jsx(je.div,{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:i.jsx(o,{...r})}):null}var[QA,Q5]=Dn({name:"FormControlStylesContext",errorMessage:`useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[JA,jd]=Dn({strict:!1,name:"FormControlContext"});function ZA(e){const{id:t,isRequired:n,isInvalid:r,isDisabled:o,isReadOnly:s,...a}=e,c=f.useId(),d=t||`field-${c}`,p=`${d}-label`,h=`${d}-feedback`,m=`${d}-helptext`,[v,b]=f.useState(!1),[w,y]=f.useState(!1),[S,k]=f.useState(!1),_=f.useCallback((R={},M=null)=>({id:m,...R,ref:cn(M,D=>{D&&y(!0)})}),[m]),P=f.useCallback((R={},M=null)=>({...R,ref:M,"data-focus":Ft(S),"data-disabled":Ft(o),"data-invalid":Ft(r),"data-readonly":Ft(s),id:R.id!==void 0?R.id:p,htmlFor:R.htmlFor!==void 0?R.htmlFor:d}),[d,o,S,r,s,p]),I=f.useCallback((R={},M=null)=>({id:h,...R,ref:cn(M,D=>{D&&b(!0)}),"aria-live":"polite"}),[h]),E=f.useCallback((R={},M=null)=>({...R,...a,ref:M,role:"group"}),[a]),O=f.useCallback((R={},M=null)=>({...R,ref:M,role:"presentation","aria-hidden":!0,children:R.children||"*"}),[]);return{isRequired:!!n,isInvalid:!!r,isReadOnly:!!s,isDisabled:!!o,isFocused:!!S,onFocus:()=>k(!0),onBlur:()=>k(!1),hasFeedbackText:v,setHasFeedbackText:b,hasHelpText:w,setHasHelpText:y,id:d,labelId:p,feedbackId:h,helpTextId:m,htmlProps:a,getHelpTextProps:_,getErrorMessageProps:I,getRootProps:E,getLabelProps:P,getRequiredIndicatorProps:O}}var go=Ae(function(t,n){const r=Fr("Form",t),o=qn(t),{getRootProps:s,htmlProps:a,...c}=ZA(o),d=Ct("chakra-form-control",t.className);return i.jsx(JA,{value:c,children:i.jsx(QA,{value:r,children:i.jsx(je.div,{...s({},n),className:d,__css:r.container})})})});go.displayName="FormControl";var eT=Ae(function(t,n){const r=jd(),o=Q5(),s=Ct("chakra-form__helper-text",t.className);return i.jsx(je.div,{...r==null?void 0:r.getHelpTextProps(t,n),__css:o.helperText,className:s})});eT.displayName="FormHelperText";var Bo=Ae(function(t,n){var r;const o=ia("FormLabel",t),s=qn(t),{className:a,children:c,requiredIndicator:d=i.jsx(J5,{}),optionalIndicator:p=null,...h}=s,m=jd(),v=(r=m==null?void 0:m.getLabelProps(h,n))!=null?r:{ref:n,...h};return i.jsxs(je.label,{...v,className:Ct("chakra-form__label",s.className),__css:{display:"block",textAlign:"start",...o},children:[c,m!=null&&m.isRequired?d:p]})});Bo.displayName="FormLabel";var J5=Ae(function(t,n){const r=jd(),o=Q5();if(!(r!=null&&r.isRequired))return null;const s=Ct("chakra-form__required-indicator",t.className);return i.jsx(je.span,{...r==null?void 0:r.getRequiredIndicatorProps(t,n),__css:o.requiredIndicator,className:s})});J5.displayName="RequiredIndicator";function gb(e){const{isDisabled:t,isInvalid:n,isReadOnly:r,isRequired:o,...s}=vb(e);return{...s,disabled:t,readOnly:r,required:o,"aria-invalid":rs(n),"aria-required":rs(o),"aria-readonly":rs(r)}}function vb(e){var t,n,r;const o=jd(),{id:s,disabled:a,readOnly:c,required:d,isRequired:p,isInvalid:h,isReadOnly:m,isDisabled:v,onFocus:b,onBlur:w,...y}=e,S=e["aria-describedby"]?[e["aria-describedby"]]:[];return o!=null&&o.hasFeedbackText&&(o!=null&&o.isInvalid)&&S.push(o.feedbackId),o!=null&&o.hasHelpText&&S.push(o.helpTextId),{...y,"aria-describedby":S.join(" ")||void 0,id:s??(o==null?void 0:o.id),isDisabled:(t=a??v)!=null?t:o==null?void 0:o.isDisabled,isReadOnly:(n=c??m)!=null?n:o==null?void 0:o.isReadOnly,isRequired:(r=d??p)!=null?r:o==null?void 0:o.isRequired,isInvalid:h??(o==null?void 0:o.isInvalid),onFocus:et(o==null?void 0:o.onFocus,b),onBlur:et(o==null?void 0:o.onBlur,w)}}var bb={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},Z5=je("span",{baseStyle:bb});Z5.displayName="VisuallyHidden";var tT=je("input",{baseStyle:bb});tT.displayName="VisuallyHiddenInput";const nT=()=>typeof document<"u";let Lw=!1,Id=null,ol=!1,Hv=!1;const Wv=new Set;function yb(e,t){Wv.forEach(n=>n(e,t))}const rT=typeof window<"u"&&window.navigator!=null?/^Mac/.test(window.navigator.platform):!1;function oT(e){return!(e.metaKey||!rT&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function zw(e){ol=!0,oT(e)&&(Id="keyboard",yb("keyboard",e))}function Nl(e){if(Id="pointer",e.type==="mousedown"||e.type==="pointerdown"){ol=!0;const t=e.composedPath?e.composedPath()[0]:e.target;let n=!1;try{n=t.matches(":focus-visible")}catch{}if(n)return;yb("pointer",e)}}function sT(e){return e.mozInputSource===0&&e.isTrusted?!0:e.detail===0&&!e.pointerType}function aT(e){sT(e)&&(ol=!0,Id="virtual")}function iT(e){e.target===window||e.target===document||(!ol&&!Hv&&(Id="virtual",yb("virtual",e)),ol=!1,Hv=!1)}function lT(){ol=!1,Hv=!0}function Bw(){return Id!=="pointer"}function cT(){if(!nT()||Lw)return;const{focus:e}=HTMLElement.prototype;HTMLElement.prototype.focus=function(...n){ol=!0,e.apply(this,n)},document.addEventListener("keydown",zw,!0),document.addEventListener("keyup",zw,!0),document.addEventListener("click",aT,!0),window.addEventListener("focus",iT,!0),window.addEventListener("blur",lT,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",Nl,!0),document.addEventListener("pointermove",Nl,!0),document.addEventListener("pointerup",Nl,!0)):(document.addEventListener("mousedown",Nl,!0),document.addEventListener("mousemove",Nl,!0),document.addEventListener("mouseup",Nl,!0)),Lw=!0}function e3(e){cT(),e(Bw());const t=()=>e(Bw());return Wv.add(t),()=>{Wv.delete(t)}}function uT(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function t3(e={}){const t=vb(e),{isDisabled:n,isReadOnly:r,isRequired:o,isInvalid:s,id:a,onBlur:c,onFocus:d,"aria-describedby":p}=t,{defaultChecked:h,isChecked:m,isFocusable:v,onChange:b,isIndeterminate:w,name:y,value:S,tabIndex:k=void 0,"aria-label":_,"aria-labelledby":P,"aria-invalid":I,...E}=e,O=uT(E,["isDisabled","isReadOnly","isRequired","isInvalid","id","onBlur","onFocus","aria-describedby"]),R=or(b),M=or(c),D=or(d),[A,L]=f.useState(!1),[Q,F]=f.useState(!1),[V,q]=f.useState(!1),[G,T]=f.useState(!1);f.useEffect(()=>e3(L),[]);const z=f.useRef(null),[$,Y]=f.useState(!0),[ae,fe]=f.useState(!!h),ie=m!==void 0,X=ie?m:ae,K=f.useCallback(de=>{if(r||n){de.preventDefault();return}ie||fe(X?de.target.checked:w?!0:de.target.checked),R==null||R(de)},[r,n,X,ie,w,R]);nc(()=>{z.current&&(z.current.indeterminate=!!w)},[w]),Fa(()=>{n&&F(!1)},[n,F]),nc(()=>{const de=z.current;if(!(de!=null&&de.form))return;const Te=()=>{fe(!!h)};return de.form.addEventListener("reset",Te),()=>{var Ee;return(Ee=de.form)==null?void 0:Ee.removeEventListener("reset",Te)}},[]);const U=n&&!v,se=f.useCallback(de=>{de.key===" "&&T(!0)},[T]),re=f.useCallback(de=>{de.key===" "&&T(!1)},[T]);nc(()=>{if(!z.current)return;z.current.checked!==X&&fe(z.current.checked)},[z.current]);const oe=f.useCallback((de={},Te=null)=>{const Ee=$e=>{Q&&$e.preventDefault(),T(!0)};return{...de,ref:Te,"data-active":Ft(G),"data-hover":Ft(V),"data-checked":Ft(X),"data-focus":Ft(Q),"data-focus-visible":Ft(Q&&A),"data-indeterminate":Ft(w),"data-disabled":Ft(n),"data-invalid":Ft(s),"data-readonly":Ft(r),"aria-hidden":!0,onMouseDown:et(de.onMouseDown,Ee),onMouseUp:et(de.onMouseUp,()=>T(!1)),onMouseEnter:et(de.onMouseEnter,()=>q(!0)),onMouseLeave:et(de.onMouseLeave,()=>q(!1))}},[G,X,n,Q,A,V,w,s,r]),pe=f.useCallback((de={},Te=null)=>({...de,ref:Te,"data-active":Ft(G),"data-hover":Ft(V),"data-checked":Ft(X),"data-focus":Ft(Q),"data-focus-visible":Ft(Q&&A),"data-indeterminate":Ft(w),"data-disabled":Ft(n),"data-invalid":Ft(s),"data-readonly":Ft(r)}),[G,X,n,Q,A,V,w,s,r]),le=f.useCallback((de={},Te=null)=>({...O,...de,ref:cn(Te,Ee=>{Ee&&Y(Ee.tagName==="LABEL")}),onClick:et(de.onClick,()=>{var Ee;$||((Ee=z.current)==null||Ee.click(),requestAnimationFrame(()=>{var $e;($e=z.current)==null||$e.focus({preventScroll:!0})}))}),"data-disabled":Ft(n),"data-checked":Ft(X),"data-invalid":Ft(s)}),[O,n,X,s,$]),ge=f.useCallback((de={},Te=null)=>({...de,ref:cn(z,Te),type:"checkbox",name:y,value:S,id:a,tabIndex:k,onChange:et(de.onChange,K),onBlur:et(de.onBlur,M,()=>F(!1)),onFocus:et(de.onFocus,D,()=>F(!0)),onKeyDown:et(de.onKeyDown,se),onKeyUp:et(de.onKeyUp,re),required:o,checked:X,disabled:U,readOnly:r,"aria-label":_,"aria-labelledby":P,"aria-invalid":I?!!I:s,"aria-describedby":p,"aria-disabled":n,style:bb}),[y,S,a,K,M,D,se,re,o,X,U,r,_,P,I,s,p,n,k]),ke=f.useCallback((de={},Te=null)=>({...de,ref:Te,onMouseDown:et(de.onMouseDown,dT),"data-disabled":Ft(n),"data-checked":Ft(X),"data-invalid":Ft(s)}),[X,n,s]);return{state:{isInvalid:s,isFocused:Q,isChecked:X,isActive:G,isHovered:V,isIndeterminate:w,isDisabled:n,isReadOnly:r,isRequired:o},getRootProps:le,getCheckboxProps:oe,getIndicatorProps:pe,getInputProps:ge,getLabelProps:ke,htmlProps:O}}function dT(e){e.preventDefault(),e.stopPropagation()}var fT={display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",userSelect:"none",flexShrink:0},pT={cursor:"pointer",display:"inline-flex",alignItems:"center",verticalAlign:"top",position:"relative"},hT=za({from:{opacity:0,strokeDashoffset:16,transform:"scale(0.95)"},to:{opacity:1,strokeDashoffset:0,transform:"scale(1)"}}),mT=za({from:{opacity:0},to:{opacity:1}}),gT=za({from:{transform:"scaleX(0.65)"},to:{transform:"scaleX(1)"}}),n3=Ae(function(t,n){const r=GA(),o={...r,...t},s=Fr("Checkbox",o),a=qn(t),{spacing:c="0.5rem",className:d,children:p,iconColor:h,iconSize:m,icon:v=i.jsx(YA,{}),isChecked:b,isDisabled:w=r==null?void 0:r.isDisabled,onChange:y,inputProps:S,...k}=a;let _=b;r!=null&&r.value&&a.value&&(_=r.value.includes(a.value));let P=y;r!=null&&r.onChange&&a.value&&(P=um(r.onChange,y));const{state:I,getInputProps:E,getCheckboxProps:O,getLabelProps:R,getRootProps:M}=t3({...k,isDisabled:w,isChecked:_,onChange:P}),D=qA(I.isChecked),A=f.useMemo(()=>({animation:D?I.isIndeterminate?`${mT} 20ms linear, ${gT} 200ms linear`:`${hT} 200ms linear`:void 0,fontSize:m,color:h,...s.icon}),[h,m,D,I.isIndeterminate,s.icon]),L=f.cloneElement(v,{__css:A,isIndeterminate:I.isIndeterminate,isChecked:I.isChecked});return i.jsxs(je.label,{__css:{...pT,...s.container},className:Ct("chakra-checkbox",d),...M(),children:[i.jsx("input",{className:"chakra-checkbox__input",...E(S,n)}),i.jsx(je.span,{__css:{...fT,...s.control},className:"chakra-checkbox__control",...O(),children:L}),p&&i.jsx(je.span,{className:"chakra-checkbox__label",...R(),__css:{marginStart:c,...s.label},children:p})]})});n3.displayName="Checkbox";function vT(e){const t=parseFloat(e);return typeof t!="number"||Number.isNaN(t)?0:t}function xb(e,t){let n=vT(e);const r=10**(t??10);return n=Math.round(n*r)/r,t?n.toFixed(t):n.toString()}function Vv(e){if(!Number.isFinite(e))return 0;let t=1,n=0;for(;Math.round(e*t)/t!==e;)t*=10,n+=1;return n}function Qp(e,t,n){return(e-t)*100/(n-t)}function r3(e,t,n){return(n-t)*e+t}function Uv(e,t,n){const r=Math.round((e-t)/n)*n+t,o=Vv(n);return xb(r,o)}function ac(e,t,n){return e==null?e:(n{var A;return r==null?"":(A=j0(r,s,n))!=null?A:""}),v=typeof o<"u",b=v?o:h,w=o3(oi(b),s),y=n??w,S=f.useCallback(A=>{A!==b&&(v||m(A.toString()),p==null||p(A.toString(),oi(A)))},[p,v,b]),k=f.useCallback(A=>{let L=A;return d&&(L=ac(L,a,c)),xb(L,y)},[y,d,c,a]),_=f.useCallback((A=s)=>{let L;b===""?L=oi(A):L=oi(b)+A,L=k(L),S(L)},[k,s,S,b]),P=f.useCallback((A=s)=>{let L;b===""?L=oi(-A):L=oi(b)-A,L=k(L),S(L)},[k,s,S,b]),I=f.useCallback(()=>{var A;let L;r==null?L="":L=(A=j0(r,s,n))!=null?A:a,S(L)},[r,n,s,S,a]),E=f.useCallback(A=>{var L;const Q=(L=j0(A,s,y))!=null?L:a;S(Q)},[y,s,S,a]),O=oi(b);return{isOutOfRange:O>c||O" `}),[xT,a3]=Dn({name:"EditableContext",errorMessage:"useEditableContext: context is undefined. Seems you forgot to wrap the editable components in ``"}),i3={fontSize:"inherit",fontWeight:"inherit",textAlign:"inherit",bg:"transparent"},l3=Ae(function(t,n){const{getInputProps:r}=a3(),o=s3(),s=r(t,n),a=Ct("chakra-editable__input",t.className);return i.jsx(je.input,{...s,__css:{outline:0,...i3,...o.input},className:a})});l3.displayName="EditableInput";var c3=Ae(function(t,n){const{getPreviewProps:r}=a3(),o=s3(),s=r(t,n),a=Ct("chakra-editable__preview",t.className);return i.jsx(je.span,{...s,__css:{cursor:"text",display:"inline-block",...i3,...o.preview},className:a})});c3.displayName="EditablePreview";function Yi(e,t,n,r){const o=or(n);return f.useEffect(()=>{const s=typeof e=="function"?e():e??document;if(!(!n||!s))return s.addEventListener(t,o,r),()=>{s.removeEventListener(t,o,r)}},[t,e,r,o,n]),()=>{const s=typeof e=="function"?e():e??document;s==null||s.removeEventListener(t,o,r)}}function wT(e){return"current"in e}var u3=()=>typeof window<"u";function ST(){var e;const t=navigator.userAgentData;return(e=t==null?void 0:t.platform)!=null?e:navigator.platform}var CT=e=>u3()&&e.test(navigator.vendor),kT=e=>u3()&&e.test(ST()),_T=()=>kT(/mac|iphone|ipad|ipod/i),PT=()=>_T()&&CT(/apple/i);function d3(e){const{ref:t,elements:n,enabled:r}=e,o=()=>{var s,a;return(a=(s=t.current)==null?void 0:s.ownerDocument)!=null?a:document};Yi(o,"pointerdown",s=>{if(!PT()||!r)return;const a=s.target,d=(n??[t]).some(p=>{const h=wT(p)?p.current:p;return(h==null?void 0:h.contains(a))||h===a});o().activeElement!==a&&d&&(s.preventDefault(),a.focus())})}function Fw(e,t){return e?e===t||e.contains(t):!1}function jT(e={}){const{onChange:t,onCancel:n,onSubmit:r,onBlur:o,value:s,isDisabled:a,defaultValue:c,startWithEditView:d,isPreviewFocusable:p=!0,submitOnBlur:h=!0,selectAllOnFocus:m=!0,placeholder:v,onEdit:b,finalFocusRef:w,...y}=e,S=or(b),k=!!(d&&!a),[_,P]=f.useState(k),[I,E]=zc({defaultValue:c||"",value:s,onChange:t}),[O,R]=f.useState(I),M=f.useRef(null),D=f.useRef(null),A=f.useRef(null),L=f.useRef(null),Q=f.useRef(null);d3({ref:M,enabled:_,elements:[L,Q]});const F=!_&&!a;nc(()=>{var oe,pe;_&&((oe=M.current)==null||oe.focus(),m&&((pe=M.current)==null||pe.select()))},[]),Fa(()=>{var oe,pe,le,ge;if(!_){w?(oe=w.current)==null||oe.focus():(pe=A.current)==null||pe.focus();return}(le=M.current)==null||le.focus(),m&&((ge=M.current)==null||ge.select()),S==null||S()},[_,S,m]);const V=f.useCallback(()=>{F&&P(!0)},[F]),q=f.useCallback(()=>{R(I)},[I]),G=f.useCallback(()=>{P(!1),E(O),n==null||n(O),o==null||o(O)},[n,o,E,O]),T=f.useCallback(()=>{P(!1),R(I),r==null||r(I),o==null||o(O)},[I,r,o,O]);f.useEffect(()=>{if(_)return;const oe=M.current;(oe==null?void 0:oe.ownerDocument.activeElement)===oe&&(oe==null||oe.blur())},[_]);const z=f.useCallback(oe=>{E(oe.currentTarget.value)},[E]),$=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G,Enter:ke=>{!ke.shiftKey&&!ke.metaKey&&T()}}[pe];ge&&(oe.preventDefault(),ge(oe))},[G,T]),Y=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G}[pe];ge&&(oe.preventDefault(),ge(oe))},[G]),ae=I.length===0,fe=f.useCallback(oe=>{var pe;if(!_)return;const le=oe.currentTarget.ownerDocument,ge=(pe=oe.relatedTarget)!=null?pe:le.activeElement,ke=Fw(L.current,ge),xe=Fw(Q.current,ge);!ke&&!xe&&(h?T():G())},[h,T,G,_]),ie=f.useCallback((oe={},pe=null)=>{const le=F&&p?0:void 0;return{...oe,ref:cn(pe,D),children:ae?v:I,hidden:_,"aria-disabled":rs(a),tabIndex:le,onFocus:et(oe.onFocus,V,q)}},[a,_,F,p,ae,V,q,v,I]),X=f.useCallback((oe={},pe=null)=>({...oe,hidden:!_,placeholder:v,ref:cn(pe,M),disabled:a,"aria-disabled":rs(a),value:I,onBlur:et(oe.onBlur,fe),onChange:et(oe.onChange,z),onKeyDown:et(oe.onKeyDown,$),onFocus:et(oe.onFocus,q)}),[a,_,fe,z,$,q,v,I]),K=f.useCallback((oe={},pe=null)=>({...oe,hidden:!_,placeholder:v,ref:cn(pe,M),disabled:a,"aria-disabled":rs(a),value:I,onBlur:et(oe.onBlur,fe),onChange:et(oe.onChange,z),onKeyDown:et(oe.onKeyDown,Y),onFocus:et(oe.onFocus,q)}),[a,_,fe,z,Y,q,v,I]),U=f.useCallback((oe={},pe=null)=>({"aria-label":"Edit",...oe,type:"button",onClick:et(oe.onClick,V),ref:cn(pe,A),disabled:a}),[V,a]),se=f.useCallback((oe={},pe=null)=>({...oe,"aria-label":"Submit",ref:cn(Q,pe),type:"button",onClick:et(oe.onClick,T),disabled:a}),[T,a]),re=f.useCallback((oe={},pe=null)=>({"aria-label":"Cancel",id:"cancel",...oe,ref:cn(L,pe),type:"button",onClick:et(oe.onClick,G),disabled:a}),[G,a]);return{isEditing:_,isDisabled:a,isValueEmpty:ae,value:I,onEdit:V,onCancel:G,onSubmit:T,getPreviewProps:ie,getInputProps:X,getTextareaProps:K,getEditButtonProps:U,getSubmitButtonProps:se,getCancelButtonProps:re,htmlProps:y}}var f3=Ae(function(t,n){const r=Fr("Editable",t),o=qn(t),{htmlProps:s,...a}=jT(o),{isEditing:c,onSubmit:d,onCancel:p,onEdit:h}=a,m=Ct("chakra-editable",t.className),v=Y1(t.children,{isEditing:c,onSubmit:d,onCancel:p,onEdit:h});return i.jsx(xT,{value:a,children:i.jsx(yT,{value:r,children:i.jsx(je.div,{ref:n,...s,className:m,children:v})})})});f3.displayName="Editable";var p3={exports:{}},IT="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",ET=IT,OT=ET;function h3(){}function m3(){}m3.resetWarningCache=h3;var RT=function(){function e(r,o,s,a,c,d){if(d!==OT){var p=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw p.name="Invariant Violation",p}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:m3,resetWarningCache:h3};return n.PropTypes=n,n};p3.exports=RT();var MT=p3.exports;const zn=yd(MT);var Gv="data-focus-lock",g3="data-focus-lock-disabled",DT="data-no-focus-lock",AT="data-autofocus-inside",TT="data-no-autofocus";function NT(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function $T(e,t){var n=f.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}function v3(e,t){return $T(t||null,function(n){return e.forEach(function(r){return NT(r,n)})})}var I0={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"},Qs=function(){return Qs=Object.assign||function(t){for(var n,r=1,o=arguments.length;r0&&s[s.length-1])&&(p[0]===6||p[0]===2)){n=0;continue}if(p[0]===3&&(!s||p[1]>s[0]&&p[1]0)&&!(o=r.next()).done;)s.push(o.value)}catch(c){a={error:c}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return s}function qv(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,s;r=0}).sort(QT)},JT=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],kb=JT.join(","),ZT="".concat(kb,", [data-focus-guard]"),T3=function(e,t){return la((e.shadowRoot||e).children).reduce(function(n,r){return n.concat(r.matches(t?ZT:kb)?[r]:[],T3(r))},[])},eN=function(e,t){var n;return e instanceof HTMLIFrameElement&&(!((n=e.contentDocument)===null||n===void 0)&&n.body)?ym([e.contentDocument.body],t):[e]},ym=function(e,t){return e.reduce(function(n,r){var o,s=T3(r,t),a=(o=[]).concat.apply(o,s.map(function(c){return eN(c,t)}));return n.concat(a,r.parentNode?la(r.parentNode.querySelectorAll(kb)).filter(function(c){return c===r}):[])},[])},tN=function(e){var t=e.querySelectorAll("[".concat(AT,"]"));return la(t).map(function(n){return ym([n])}).reduce(function(n,r){return n.concat(r)},[])},_b=function(e,t){return la(e).filter(function(n){return E3(t,n)}).filter(function(n){return KT(n)})},Ww=function(e,t){return t===void 0&&(t=new Map),la(e).filter(function(n){return O3(t,n)})},Xv=function(e,t,n){return A3(_b(ym(e,n),t),!0,n)},Vw=function(e,t){return A3(_b(ym(e),t),!1)},nN=function(e,t){return _b(tN(e),t)},ic=function(e,t){return e.shadowRoot?ic(e.shadowRoot,t):Object.getPrototypeOf(e).contains!==void 0&&Object.getPrototypeOf(e).contains.call(e,t)?!0:la(e.children).some(function(n){var r;if(n instanceof HTMLIFrameElement){var o=(r=n.contentDocument)===null||r===void 0?void 0:r.body;return o?ic(o,t):!1}return ic(n,t)})},rN=function(e){for(var t=new Set,n=e.length,r=0;r0&&t.add(o),(s&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(r)}return e.filter(function(a,c){return!t.has(c)})},N3=function(e){return e.parentNode?N3(e.parentNode):e},Pb=function(e){var t=Jp(e);return t.filter(Boolean).reduce(function(n,r){var o=r.getAttribute(Gv);return n.push.apply(n,o?rN(la(N3(r).querySelectorAll("[".concat(Gv,'="').concat(o,'"]:not([').concat(g3,'="disabled"])')))):[r]),n},[])},oN=function(e){try{return e()}catch{return}},nd=function(e){if(e===void 0&&(e=document),!(!e||!e.activeElement)){var t=e.activeElement;return t.shadowRoot?nd(t.shadowRoot):t instanceof HTMLIFrameElement&&oN(function(){return t.contentWindow.document})?nd(t.contentWindow.document):t}},sN=function(e,t){return e===t},aN=function(e,t){return!!la(e.querySelectorAll("iframe")).some(function(n){return sN(n,t)})},$3=function(e,t){return t===void 0&&(t=nd(P3(e).ownerDocument)),!t||t.dataset&&t.dataset.focusGuard?!1:Pb(e).some(function(n){return ic(n,t)||aN(n,t)})},iN=function(e){e===void 0&&(e=document);var t=nd(e);return t?la(e.querySelectorAll("[".concat(DT,"]"))).some(function(n){return ic(n,t)}):!1},lN=function(e,t){return t.filter(D3).filter(function(n){return n.name===e.name}).filter(function(n){return n.checked})[0]||e},jb=function(e,t){return D3(e)&&e.name?lN(e,t):e},cN=function(e){var t=new Set;return e.forEach(function(n){return t.add(jb(n,e))}),e.filter(function(n){return t.has(n)})},Uw=function(e){return e[0]&&e.length>1?jb(e[0],e):e[0]},Gw=function(e,t){return e.length>1?e.indexOf(jb(e[t],e)):t},L3="NEW_FOCUS",uN=function(e,t,n,r){var o=e.length,s=e[0],a=e[o-1],c=Cb(n);if(!(n&&e.indexOf(n)>=0)){var d=n!==void 0?t.indexOf(n):-1,p=r?t.indexOf(r):d,h=r?e.indexOf(r):-1,m=d-p,v=t.indexOf(s),b=t.indexOf(a),w=cN(t),y=n!==void 0?w.indexOf(n):-1,S=y-(r?w.indexOf(r):d),k=Gw(e,0),_=Gw(e,o-1);if(d===-1||h===-1)return L3;if(!m&&h>=0)return h;if(d<=v&&c&&Math.abs(m)>1)return _;if(d>=b&&c&&Math.abs(m)>1)return k;if(m&&Math.abs(S)>1)return h;if(d<=v)return _;if(d>b)return k;if(m)return Math.abs(m)>1?h:(o+h+m)%o}},dN=function(e){return function(t){var n,r=(n=R3(t))===null||n===void 0?void 0:n.autofocus;return t.autofocus||r!==void 0&&r!=="false"||e.indexOf(t)>=0}},fN=function(e,t,n){var r=e.map(function(s){var a=s.node;return a}),o=Ww(r.filter(dN(n)));return o&&o.length?Uw(o):Uw(Ww(t))},Yv=function(e,t){return t===void 0&&(t=[]),t.push(e),e.parentNode&&Yv(e.parentNode.host||e.parentNode,t),t},E0=function(e,t){for(var n=Yv(e),r=Yv(t),o=0;o=0)return s}return!1},z3=function(e,t,n){var r=Jp(e),o=Jp(t),s=r[0],a=!1;return o.filter(Boolean).forEach(function(c){a=E0(a||c,c)||a,n.filter(Boolean).forEach(function(d){var p=E0(s,d);p&&(!a||ic(p,a)?a=p:a=E0(p,a))})}),a},pN=function(e,t){return e.reduce(function(n,r){return n.concat(nN(r,t))},[])},hN=function(e,t){var n=new Map;return t.forEach(function(r){return n.set(r.node,r)}),e.map(function(r){return n.get(r)}).filter(YT)},mN=function(e,t){var n=nd(Jp(e).length>0?document:P3(e).ownerDocument),r=Pb(e).filter(Zp),o=z3(n||e,e,r),s=new Map,a=Vw(r,s),c=Xv(r,s).filter(function(b){var w=b.node;return Zp(w)});if(!(!c[0]&&(c=a,!c[0]))){var d=Vw([o],s).map(function(b){var w=b.node;return w}),p=hN(d,c),h=p.map(function(b){var w=b.node;return w}),m=uN(h,d,n,t);if(m===L3){var v=fN(a,h,pN(r,s));if(v)return{node:v};console.warn("focus-lock: cannot find any node to move focus into");return}return m===void 0?m:p[m]}},gN=function(e){var t=Pb(e).filter(Zp),n=z3(e,e,t),r=new Map,o=Xv([n],r,!0),s=Xv(t,r).filter(function(a){var c=a.node;return Zp(c)}).map(function(a){var c=a.node;return c});return o.map(function(a){var c=a.node,d=a.index;return{node:c,index:d,lockItem:s.indexOf(c)>=0,guard:Cb(c)}})},vN=function(e,t){"focus"in e&&e.focus(t),"contentWindow"in e&&e.contentWindow&&e.contentWindow.focus()},O0=0,R0=!1,B3=function(e,t,n){n===void 0&&(n={});var r=mN(e,t);if(!R0&&r){if(O0>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),R0=!0,setTimeout(function(){R0=!1},1);return}O0++,vN(r.node,n.focusOptions),O0--}};function Ib(e){setTimeout(e,1)}var bN=function(){return document&&document.activeElement===document.body},yN=function(){return bN()||iN()},lc=null,Ql=null,cc=null,rd=!1,xN=function(){return!0},wN=function(t){return(lc.whiteList||xN)(t)},SN=function(t,n){cc={observerNode:t,portaledElement:n}},CN=function(t){return cc&&cc.portaledElement===t};function qw(e,t,n,r){var o=null,s=e;do{var a=r[s];if(a.guard)a.node.dataset.focusAutoGuard&&(o=a);else if(a.lockItem){if(s!==e)return;o=null}else break}while((s+=n)!==t);o&&(o.node.tabIndex=0)}var kN=function(t){return t&&"current"in t?t.current:t},_N=function(t){return t?!!rd:rd==="meanwhile"},PN=function e(t,n,r){return n&&(n.host===t&&(!n.activeElement||r.contains(n.activeElement))||n.parentNode&&e(t,n.parentNode,r))},jN=function(t,n){return n.some(function(r){return PN(t,r,r)})},eh=function(){var t=!1;if(lc){var n=lc,r=n.observed,o=n.persistentFocus,s=n.autoFocus,a=n.shards,c=n.crossFrame,d=n.focusOptions,p=r||cc&&cc.portaledElement,h=document&&document.activeElement;if(p){var m=[p].concat(a.map(kN).filter(Boolean));if((!h||wN(h))&&(o||_N(c)||!yN()||!Ql&&s)&&(p&&!($3(m)||h&&jN(h,m)||CN(h))&&(document&&!Ql&&h&&!s?(h.blur&&h.blur(),document.body.focus()):(t=B3(m,Ql,{focusOptions:d}),cc={})),rd=!1,Ql=document&&document.activeElement),document){var v=document&&document.activeElement,b=gN(m),w=b.map(function(y){var S=y.node;return S}).indexOf(v);w>-1&&(b.filter(function(y){var S=y.guard,k=y.node;return S&&k.dataset.focusAutoGuard}).forEach(function(y){var S=y.node;return S.removeAttribute("tabIndex")}),qw(w,b.length,1,b),qw(w,-1,-1,b))}}}return t},F3=function(t){eh()&&t&&(t.stopPropagation(),t.preventDefault())},Eb=function(){return Ib(eh)},IN=function(t){var n=t.target,r=t.currentTarget;r.contains(n)||SN(r,n)},EN=function(){return null},H3=function(){rd="just",Ib(function(){rd="meanwhile"})},ON=function(){document.addEventListener("focusin",F3),document.addEventListener("focusout",Eb),window.addEventListener("blur",H3)},RN=function(){document.removeEventListener("focusin",F3),document.removeEventListener("focusout",Eb),window.removeEventListener("blur",H3)};function MN(e){return e.filter(function(t){var n=t.disabled;return!n})}function DN(e){var t=e.slice(-1)[0];t&&!lc&&ON();var n=lc,r=n&&t&&t.id===n.id;lc=t,n&&!r&&(n.onDeactivation(),e.filter(function(o){var s=o.id;return s===n.id}).length||n.returnFocus(!t)),t?(Ql=null,(!r||n.observed!==t.observed)&&t.onActivation(),eh(),Ib(eh)):(RN(),Ql=null)}C3.assignSyncMedium(IN);k3.assignMedium(Eb);zT.assignMedium(function(e){return e({moveFocusInside:B3,focusInside:$3})});const AN=WT(MN,DN)(EN);var W3=f.forwardRef(function(t,n){return f.createElement(_3,sr({sideCar:AN,ref:n},t))}),V3=_3.propTypes||{};V3.sideCar;D9(V3,["sideCar"]);W3.propTypes={};const Kw=W3;function U3(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function Ob(e){var t;if(!U3(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function TN(e){var t,n;return(n=(t=G3(e))==null?void 0:t.defaultView)!=null?n:window}function G3(e){return U3(e)?e.ownerDocument:document}function NN(e){return G3(e).activeElement}function $N(e){const t=e.ownerDocument.defaultView||window,{overflow:n,overflowX:r,overflowY:o}=t.getComputedStyle(e);return/auto|scroll|overlay|hidden/.test(n+o+r)}function LN(e){return e.localName==="html"?e:e.assignedSlot||e.parentElement||e.ownerDocument.documentElement}function q3(e){return["html","body","#document"].includes(e.localName)?e.ownerDocument.body:Ob(e)&&$N(e)?e:q3(LN(e))}var K3=e=>e.hasAttribute("tabindex"),zN=e=>K3(e)&&e.tabIndex===-1;function BN(e){return!!e.getAttribute("disabled")||!!e.getAttribute("aria-disabled")}function X3(e){return e.parentElement&&X3(e.parentElement)?!0:e.hidden}function FN(e){const t=e.getAttribute("contenteditable");return t!=="false"&&t!=null}function Y3(e){if(!Ob(e)||X3(e)||BN(e))return!1;const{localName:t}=e;if(["input","select","textarea","button"].indexOf(t)>=0)return!0;const r={a:()=>e.hasAttribute("href"),audio:()=>e.hasAttribute("controls"),video:()=>e.hasAttribute("controls")};return t in r?r[t]():FN(e)?!0:K3(e)}function HN(e){return e?Ob(e)&&Y3(e)&&!zN(e):!1}var WN=["input:not(:disabled):not([disabled])","select:not(:disabled):not([disabled])","textarea:not(:disabled):not([disabled])","embed","iframe","object","a[href]","area[href]","button:not(:disabled):not([disabled])","[tabindex]","audio[controls]","video[controls]","*[tabindex]:not([aria-disabled])","*[contenteditable]"],VN=WN.join(),UN=e=>e.offsetWidth>0&&e.offsetHeight>0;function Q3(e){const t=Array.from(e.querySelectorAll(VN));return t.unshift(e),t.filter(n=>Y3(n)&&UN(n))}var Xw,GN=(Xw=Kw.default)!=null?Xw:Kw,J3=e=>{const{initialFocusRef:t,finalFocusRef:n,contentRef:r,restoreFocus:o,children:s,isDisabled:a,autoFocus:c,persistentFocus:d,lockFocusAcrossFrames:p}=e,h=f.useCallback(()=>{t!=null&&t.current?t.current.focus():r!=null&&r.current&&Q3(r.current).length===0&&requestAnimationFrame(()=>{var w;(w=r.current)==null||w.focus()})},[t,r]),m=f.useCallback(()=>{var b;(b=n==null?void 0:n.current)==null||b.focus()},[n]),v=o&&!n;return i.jsx(GN,{crossFrame:p,persistentFocus:d,autoFocus:c,disabled:a,onActivation:h,onDeactivation:m,returnFocus:v,children:s})};J3.displayName="FocusLock";var qN=nA?f.useLayoutEffect:f.useEffect;function th(e,t=[]){const n=f.useRef(e);return qN(()=>{n.current=e}),f.useCallback((...r)=>{var o;return(o=n.current)==null?void 0:o.call(n,...r)},t)}function KN(e,t,n,r){const o=th(t);return f.useEffect(()=>{var s;const a=(s=U2(n))!=null?s:document;if(t)return a.addEventListener(e,o,r),()=>{a.removeEventListener(e,o,r)}},[e,n,r,o,t]),()=>{var s;((s=U2(n))!=null?s:document).removeEventListener(e,o,r)}}function XN(e){const{ref:t,handler:n,enabled:r=!0}=e,o=th(n),a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{M0(m,t)&&(a.isPointerDown=!0)},d=m=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&M0(m,t)&&(a.isPointerDown=!1,o(m))},p=m=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&M0(m,t)&&(a.isPointerDown=!1,o(m))},h=H5(t.current);return h.addEventListener("mousedown",c,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",c,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",c,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",c,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,a,r])}function M0(e,t){var n;const r=e.target;return r&&!H5(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function YN(e,t){const n=f.useId();return f.useMemo(()=>e||[t,n].filter(Boolean).join("-"),[e,t,n])}function QN(e,t){const n=e!==void 0;return[n,n&&typeof e<"u"?e:t]}function ss(e={}){const{onClose:t,onOpen:n,isOpen:r,id:o}=e,s=th(n),a=th(t),[c,d]=f.useState(e.defaultIsOpen||!1),[p,h]=QN(r,c),m=YN(o,"disclosure"),v=f.useCallback(()=>{p||d(!1),a==null||a()},[p,a]),b=f.useCallback(()=>{p||d(!0),s==null||s()},[p,s]),w=f.useCallback(()=>{(h?v:b)()},[h,b,v]);return{isOpen:!!h,onOpen:b,onClose:v,onToggle:w,isControlled:p,getButtonProps:(y={})=>({...y,"aria-expanded":h,"aria-controls":m,onClick:$R(y.onClick,w)}),getDisclosureProps:(y={})=>({...y,hidden:!h,id:m})}}var[JN,ZN]=Dn({name:"InputGroupStylesContext",errorMessage:`useInputGroupStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Z3=Ae(function(t,n){const r=Fr("Input",t),{children:o,className:s,...a}=qn(t),c=Ct("chakra-input__group",s),d={},p=Pd(o),h=r.field;p.forEach(v=>{var b,w;r&&(h&&v.type.id==="InputLeftElement"&&(d.paddingStart=(b=h.height)!=null?b:h.h),h&&v.type.id==="InputRightElement"&&(d.paddingEnd=(w=h.height)!=null?w:h.h),v.type.id==="InputRightAddon"&&(d.borderEndRadius=0),v.type.id==="InputLeftAddon"&&(d.borderStartRadius=0))});const m=p.map(v=>{var b,w;const y=fb({size:((b=v.props)==null?void 0:b.size)||t.size,variant:((w=v.props)==null?void 0:w.variant)||t.variant});return v.type.id!=="Input"?f.cloneElement(v,y):f.cloneElement(v,Object.assign(y,d,v.props))});return i.jsx(je.div,{className:c,ref:n,__css:{width:"100%",display:"flex",position:"relative",isolation:"isolate",...r.group},"data-group":!0,...a,children:i.jsx(JN,{value:r,children:m})})});Z3.displayName="InputGroup";var e$=je("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",top:"0",zIndex:2}}),xm=Ae(function(t,n){var r,o;const{placement:s="left",...a}=t,c=ZN(),d=c.field,h={[s==="left"?"insetStart":"insetEnd"]:"0",width:(r=d==null?void 0:d.height)!=null?r:d==null?void 0:d.h,height:(o=d==null?void 0:d.height)!=null?o:d==null?void 0:d.h,fontSize:d==null?void 0:d.fontSize,...c.element};return i.jsx(e$,{ref:n,__css:h,...a})});xm.id="InputElement";xm.displayName="InputElement";var e6=Ae(function(t,n){const{className:r,...o}=t,s=Ct("chakra-input__left-element",r);return i.jsx(xm,{ref:n,placement:"left",className:s,...o})});e6.id="InputLeftElement";e6.displayName="InputLeftElement";var Rb=Ae(function(t,n){const{className:r,...o}=t,s=Ct("chakra-input__right-element",r);return i.jsx(xm,{ref:n,placement:"right",className:s,...o})});Rb.id="InputRightElement";Rb.displayName="InputRightElement";var Ed=Ae(function(t,n){const{htmlSize:r,...o}=t,s=Fr("Input",o),a=qn(o),c=gb(a),d=Ct("chakra-input",t.className);return i.jsx(je.input,{size:r,...c,__css:s.field,ref:n,className:d})});Ed.displayName="Input";Ed.id="Input";var Mb=Ae(function(t,n){const r=ia("Link",t),{className:o,isExternal:s,...a}=qn(t);return i.jsx(je.a,{target:s?"_blank":void 0,rel:s?"noopener":void 0,ref:n,className:Ct("chakra-link",o),...a,__css:r})});Mb.displayName="Link";var[t$,t6]=Dn({name:"ListStylesContext",errorMessage:`useListStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Db=Ae(function(t,n){const r=Fr("List",t),{children:o,styleType:s="none",stylePosition:a,spacing:c,...d}=qn(t),p=Pd(o),m=c?{["& > *:not(style) ~ *:not(style)"]:{mt:c}}:{};return i.jsx(t$,{value:r,children:i.jsx(je.ul,{ref:n,listStyleType:s,listStylePosition:a,role:"list",__css:{...r.container,...m},...d,children:p})})});Db.displayName="List";var n$=Ae((e,t)=>{const{as:n,...r}=e;return i.jsx(Db,{ref:t,as:"ol",styleType:"decimal",marginStart:"1em",...r})});n$.displayName="OrderedList";var Ab=Ae(function(t,n){const{as:r,...o}=t;return i.jsx(Db,{ref:n,as:"ul",styleType:"initial",marginStart:"1em",...o})});Ab.displayName="UnorderedList";var Sa=Ae(function(t,n){const r=t6();return i.jsx(je.li,{ref:n,...t,__css:r.item})});Sa.displayName="ListItem";var r$=Ae(function(t,n){const r=t6();return i.jsx(fo,{ref:n,role:"presentation",...t,__css:r.icon})});r$.displayName="ListIcon";var sl=Ae(function(t,n){const{templateAreas:r,gap:o,rowGap:s,columnGap:a,column:c,row:d,autoFlow:p,autoRows:h,templateRows:m,autoColumns:v,templateColumns:b,...w}=t,y={display:"grid",gridTemplateAreas:r,gridGap:o,gridRowGap:s,gridColumnGap:a,gridAutoColumns:v,gridColumn:c,gridRow:d,gridAutoFlow:p,gridAutoRows:h,gridTemplateRows:m,gridTemplateColumns:b};return i.jsx(je.div,{ref:n,__css:y,...w})});sl.displayName="Grid";function n6(e,t){return Array.isArray(e)?e.map(n=>n===null?null:t(n)):jv(e)?Object.keys(e).reduce((n,r)=>(n[r]=t(e[r]),n),{}):e!=null?t(e):null}var ml=je("div",{baseStyle:{flex:1,justifySelf:"stretch",alignSelf:"stretch"}});ml.displayName="Spacer";var Qe=Ae(function(t,n){const r=ia("Text",t),{className:o,align:s,decoration:a,casing:c,...d}=qn(t),p=fb({textAlign:t.align,textDecoration:t.decoration,textTransform:t.casing});return i.jsx(je.p,{ref:n,className:Ct("chakra-text",t.className),...p,...d,__css:r})});Qe.displayName="Text";var r6=e=>i.jsx(je.div,{className:"chakra-stack__item",...e,__css:{display:"inline-block",flex:"0 0 auto",minWidth:0,...e.__css}});r6.displayName="StackItem";function o$(e){const{spacing:t,direction:n}=e,r={column:{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},"column-reverse":{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},row:{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0},"row-reverse":{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0}};return{"&":n6(n,o=>r[o])}}var Tb=Ae((e,t)=>{const{isInline:n,direction:r,align:o,justify:s,spacing:a="0.5rem",wrap:c,children:d,divider:p,className:h,shouldWrapChildren:m,...v}=e,b=n?"row":r??"column",w=f.useMemo(()=>o$({spacing:a,direction:b}),[a,b]),y=!!p,S=!m&&!y,k=f.useMemo(()=>{const P=Pd(d);return S?P:P.map((I,E)=>{const O=typeof I.key<"u"?I.key:E,R=E+1===P.length,D=m?i.jsx(r6,{children:I},O):I;if(!y)return D;const A=f.cloneElement(p,{__css:w}),L=R?null:A;return i.jsxs(f.Fragment,{children:[D,L]},O)})},[p,w,y,S,m,d]),_=Ct("chakra-stack",h);return i.jsx(je.div,{ref:t,display:"flex",alignItems:o,justifyContent:s,flexDirection:b,flexWrap:c,gap:y?void 0:a,className:_,...v,children:k})});Tb.displayName="Stack";var o6=Ae((e,t)=>i.jsx(Tb,{align:"center",...e,direction:"column",ref:t}));o6.displayName="VStack";var pi=Ae((e,t)=>i.jsx(Tb,{align:"center",...e,direction:"row",ref:t}));pi.displayName="HStack";function Yw(e){return n6(e,t=>t==="auto"?"auto":`span ${t}/span ${t}`)}var Qv=Ae(function(t,n){const{area:r,colSpan:o,colStart:s,colEnd:a,rowEnd:c,rowSpan:d,rowStart:p,...h}=t,m=fb({gridArea:r,gridColumn:Yw(o),gridRow:Yw(d),gridColumnStart:s,gridColumnEnd:a,gridRowStart:p,gridRowEnd:c});return i.jsx(je.div,{ref:n,__css:m,...h})});Qv.displayName="GridItem";var gl=Ae(function(t,n){const r=ia("Badge",t),{className:o,...s}=qn(t);return i.jsx(je.span,{ref:n,className:Ct("chakra-badge",t.className),...s,__css:{display:"inline-block",whiteSpace:"nowrap",verticalAlign:"middle",...r}})});gl.displayName="Badge";var Wa=Ae(function(t,n){const{borderLeftWidth:r,borderBottomWidth:o,borderTopWidth:s,borderRightWidth:a,borderWidth:c,borderStyle:d,borderColor:p,...h}=ia("Divider",t),{className:m,orientation:v="horizontal",__css:b,...w}=qn(t),y={vertical:{borderLeftWidth:r||a||c||"1px",height:"100%"},horizontal:{borderBottomWidth:o||s||c||"1px",width:"100%"}};return i.jsx(je.hr,{ref:n,"aria-orientation":v,...w,__css:{...h,border:"0",borderColor:p,borderStyle:d,...y[v],...b},className:Ct("chakra-divider",m)})});Wa.displayName="Divider";function s$(e){const{key:t}=e;return t.length===1||t.length>1&&/[^a-zA-Z0-9]/.test(t)}function a$(e={}){const{timeout:t=300,preventDefault:n=()=>!0}=e,[r,o]=f.useState([]),s=f.useRef(),a=()=>{s.current&&(clearTimeout(s.current),s.current=null)},c=()=>{a(),s.current=setTimeout(()=>{o([]),s.current=null},t)};f.useEffect(()=>a,[]);function d(p){return h=>{if(h.key==="Backspace"){const m=[...r];m.pop(),o(m);return}if(s$(h)){const m=r.concat(h.key);n(h)&&(h.preventDefault(),h.stopPropagation()),o(m),p(m.join("")),c()}}}return d}function i$(e,t,n,r){if(t==null)return r;if(!r)return e.find(a=>n(a).toLowerCase().startsWith(t.toLowerCase()));const o=e.filter(s=>n(s).toLowerCase().startsWith(t.toLowerCase()));if(o.length>0){let s;return o.includes(r)?(s=o.indexOf(r)+1,s===o.length&&(s=0),o[s]):(s=e.indexOf(o[0]),e[s])}return r}function l$(){const e=f.useRef(new Map),t=e.current,n=f.useCallback((o,s,a,c)=>{e.current.set(a,{type:s,el:o,options:c}),o.addEventListener(s,a,c)},[]),r=f.useCallback((o,s,a,c)=>{o.removeEventListener(s,a,c),e.current.delete(a)},[]);return f.useEffect(()=>()=>{t.forEach((o,s)=>{r(o.el,o.type,s,o.options)})},[r,t]),{add:n,remove:r}}function D0(e){const t=e.target,{tagName:n,isContentEditable:r}=t;return n!=="INPUT"&&n!=="TEXTAREA"&&r!==!0}function s6(e={}){const{ref:t,isDisabled:n,isFocusable:r,clickOnEnter:o=!0,clickOnSpace:s=!0,onMouseDown:a,onMouseUp:c,onClick:d,onKeyDown:p,onKeyUp:h,tabIndex:m,onMouseOver:v,onMouseLeave:b,...w}=e,[y,S]=f.useState(!0),[k,_]=f.useState(!1),P=l$(),I=T=>{T&&T.tagName!=="BUTTON"&&S(!1)},E=y?m:m||0,O=n&&!r,R=f.useCallback(T=>{if(n){T.stopPropagation(),T.preventDefault();return}T.currentTarget.focus(),d==null||d(T)},[n,d]),M=f.useCallback(T=>{k&&D0(T)&&(T.preventDefault(),T.stopPropagation(),_(!1),P.remove(document,"keyup",M,!1))},[k,P]),D=f.useCallback(T=>{if(p==null||p(T),n||T.defaultPrevented||T.metaKey||!D0(T.nativeEvent)||y)return;const z=o&&T.key==="Enter";s&&T.key===" "&&(T.preventDefault(),_(!0)),z&&(T.preventDefault(),T.currentTarget.click()),P.add(document,"keyup",M,!1)},[n,y,p,o,s,P,M]),A=f.useCallback(T=>{if(h==null||h(T),n||T.defaultPrevented||T.metaKey||!D0(T.nativeEvent)||y)return;s&&T.key===" "&&(T.preventDefault(),_(!1),T.currentTarget.click())},[s,y,n,h]),L=f.useCallback(T=>{T.button===0&&(_(!1),P.remove(document,"mouseup",L,!1))},[P]),Q=f.useCallback(T=>{if(T.button!==0)return;if(n){T.stopPropagation(),T.preventDefault();return}y||_(!0),T.currentTarget.focus({preventScroll:!0}),P.add(document,"mouseup",L,!1),a==null||a(T)},[n,y,a,P,L]),F=f.useCallback(T=>{T.button===0&&(y||_(!1),c==null||c(T))},[c,y]),V=f.useCallback(T=>{if(n){T.preventDefault();return}v==null||v(T)},[n,v]),q=f.useCallback(T=>{k&&(T.preventDefault(),_(!1)),b==null||b(T)},[k,b]),G=cn(t,I);return y?{...w,ref:G,type:"button","aria-disabled":O?void 0:n,disabled:O,onClick:R,onMouseDown:a,onMouseUp:c,onKeyUp:h,onKeyDown:p,onMouseOver:v,onMouseLeave:b}:{...w,ref:G,role:"button","data-active":Ft(k),"aria-disabled":n?"true":void 0,tabIndex:O?void 0:E,onClick:R,onMouseDown:Q,onMouseUp:F,onKeyUp:A,onKeyDown:D,onMouseOver:V,onMouseLeave:q}}function c$(e){const t=e.current;if(!t)return!1;const n=NN(t);return!n||t.contains(n)?!1:!!HN(n)}function a6(e,t){const{shouldFocus:n,visible:r,focusRef:o}=t,s=n&&!r;Fa(()=>{if(!s||c$(e))return;const a=(o==null?void 0:o.current)||e.current;let c;if(a)return c=requestAnimationFrame(()=>{a.focus({preventScroll:!0})}),()=>{cancelAnimationFrame(c)}},[s,e,o])}var u$={preventScroll:!0,shouldFocus:!1};function d$(e,t=u$){const{focusRef:n,preventScroll:r,shouldFocus:o,visible:s}=t,a=f$(e)?e.current:e,c=o&&s,d=f.useRef(c),p=f.useRef(s);nc(()=>{!p.current&&s&&(d.current=c),p.current=s},[s,c]);const h=f.useCallback(()=>{if(!(!s||!a||!d.current)&&(d.current=!1,!a.contains(document.activeElement)))if(n!=null&&n.current)requestAnimationFrame(()=>{var m;(m=n.current)==null||m.focus({preventScroll:r})});else{const m=Q3(a);m.length>0&&requestAnimationFrame(()=>{m[0].focus({preventScroll:r})})}},[s,r,a,n]);Fa(()=>{h()},[h]),Yi(a,"transitionend",h)}function f$(e){return"current"in e}var $l=(e,t)=>({var:e,varRef:t?`var(${e}, ${t})`:`var(${e})`}),Ir={arrowShadowColor:$l("--popper-arrow-shadow-color"),arrowSize:$l("--popper-arrow-size","8px"),arrowSizeHalf:$l("--popper-arrow-size-half"),arrowBg:$l("--popper-arrow-bg"),transformOrigin:$l("--popper-transform-origin"),arrowOffset:$l("--popper-arrow-offset")};function p$(e){if(e.includes("top"))return"1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("bottom"))return"-1px -1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("right"))return"-1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("left"))return"1px -1px 0px 0 var(--popper-arrow-shadow-color)"}var h$={top:"bottom center","top-start":"bottom left","top-end":"bottom right",bottom:"top center","bottom-start":"top left","bottom-end":"top right",left:"right center","left-start":"right top","left-end":"right bottom",right:"left center","right-start":"left top","right-end":"left bottom"},m$=e=>h$[e],Qw={scroll:!0,resize:!0};function g$(e){let t;return typeof e=="object"?t={enabled:!0,options:{...Qw,...e}}:t={enabled:e,options:Qw},t}var v$={name:"matchWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect:({state:e})=>()=>{const t=e.elements.reference;e.elements.popper.style.width=`${t.offsetWidth}px`}},b$={name:"transformOrigin",enabled:!0,phase:"write",fn:({state:e})=>{Jw(e)},effect:({state:e})=>()=>{Jw(e)}},Jw=e=>{e.elements.popper.style.setProperty(Ir.transformOrigin.var,m$(e.placement))},y$={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:({state:e})=>{x$(e)}},x$=e=>{var t;if(!e.placement)return;const n=w$(e.placement);if((t=e.elements)!=null&&t.arrow&&n){Object.assign(e.elements.arrow.style,{[n.property]:n.value,width:Ir.arrowSize.varRef,height:Ir.arrowSize.varRef,zIndex:-1});const r={[Ir.arrowSizeHalf.var]:`calc(${Ir.arrowSize.varRef} / 2 - 1px)`,[Ir.arrowOffset.var]:`calc(${Ir.arrowSizeHalf.varRef} * -1)`};for(const o in r)e.elements.arrow.style.setProperty(o,r[o])}},w$=e=>{if(e.startsWith("top"))return{property:"bottom",value:Ir.arrowOffset.varRef};if(e.startsWith("bottom"))return{property:"top",value:Ir.arrowOffset.varRef};if(e.startsWith("left"))return{property:"right",value:Ir.arrowOffset.varRef};if(e.startsWith("right"))return{property:"left",value:Ir.arrowOffset.varRef}},S$={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:({state:e})=>{Zw(e)},effect:({state:e})=>()=>{Zw(e)}},Zw=e=>{if(!e.elements.arrow)return;const t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");if(!t)return;const n=p$(e.placement);n&&t.style.setProperty("--popper-arrow-default-shadow",n),Object.assign(t.style,{transform:"rotate(45deg)",background:Ir.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:"var(--popper-arrow-shadow, var(--popper-arrow-default-shadow))"})},C$={"start-start":{ltr:"left-start",rtl:"right-start"},"start-end":{ltr:"left-end",rtl:"right-end"},"end-start":{ltr:"right-start",rtl:"left-start"},"end-end":{ltr:"right-end",rtl:"left-end"},start:{ltr:"left",rtl:"right"},end:{ltr:"right",rtl:"left"}},k$={"auto-start":"auto-end","auto-end":"auto-start","top-start":"top-end","top-end":"top-start","bottom-start":"bottom-end","bottom-end":"bottom-start"};function _$(e,t="ltr"){var n,r;const o=((n=C$[e])==null?void 0:n[t])||e;return t==="ltr"?o:(r=k$[e])!=null?r:o}var _o="top",as="bottom",is="right",Po="left",Nb="auto",Od=[_o,as,is,Po],xc="start",od="end",P$="clippingParents",i6="viewport",gu="popper",j$="reference",eS=Od.reduce(function(e,t){return e.concat([t+"-"+xc,t+"-"+od])},[]),l6=[].concat(Od,[Nb]).reduce(function(e,t){return e.concat([t,t+"-"+xc,t+"-"+od])},[]),I$="beforeRead",E$="read",O$="afterRead",R$="beforeMain",M$="main",D$="afterMain",A$="beforeWrite",T$="write",N$="afterWrite",$$=[I$,E$,O$,R$,M$,D$,A$,T$,N$];function ra(e){return e?(e.nodeName||"").toLowerCase():null}function Fo(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function al(e){var t=Fo(e).Element;return e instanceof t||e instanceof Element}function os(e){var t=Fo(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function $b(e){if(typeof ShadowRoot>"u")return!1;var t=Fo(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function L$(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},o=t.attributes[n]||{},s=t.elements[n];!os(s)||!ra(s)||(Object.assign(s.style,r),Object.keys(o).forEach(function(a){var c=o[a];c===!1?s.removeAttribute(a):s.setAttribute(a,c===!0?"":c)}))})}function z$(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var o=t.elements[r],s=t.attributes[r]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),c=a.reduce(function(d,p){return d[p]="",d},{});!os(o)||!ra(o)||(Object.assign(o.style,c),Object.keys(s).forEach(function(d){o.removeAttribute(d)}))})}}const B$={name:"applyStyles",enabled:!0,phase:"write",fn:L$,effect:z$,requires:["computeStyles"]};function ta(e){return e.split("-")[0]}var Qi=Math.max,nh=Math.min,wc=Math.round;function Jv(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function c6(){return!/^((?!chrome|android).)*safari/i.test(Jv())}function Sc(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),o=1,s=1;t&&os(e)&&(o=e.offsetWidth>0&&wc(r.width)/e.offsetWidth||1,s=e.offsetHeight>0&&wc(r.height)/e.offsetHeight||1);var a=al(e)?Fo(e):window,c=a.visualViewport,d=!c6()&&n,p=(r.left+(d&&c?c.offsetLeft:0))/o,h=(r.top+(d&&c?c.offsetTop:0))/s,m=r.width/o,v=r.height/s;return{width:m,height:v,top:h,right:p+m,bottom:h+v,left:p,x:p,y:h}}function Lb(e){var t=Sc(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function u6(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&$b(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Ra(e){return Fo(e).getComputedStyle(e)}function F$(e){return["table","td","th"].indexOf(ra(e))>=0}function Pi(e){return((al(e)?e.ownerDocument:e.document)||window.document).documentElement}function wm(e){return ra(e)==="html"?e:e.assignedSlot||e.parentNode||($b(e)?e.host:null)||Pi(e)}function tS(e){return!os(e)||Ra(e).position==="fixed"?null:e.offsetParent}function H$(e){var t=/firefox/i.test(Jv()),n=/Trident/i.test(Jv());if(n&&os(e)){var r=Ra(e);if(r.position==="fixed")return null}var o=wm(e);for($b(o)&&(o=o.host);os(o)&&["html","body"].indexOf(ra(o))<0;){var s=Ra(o);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||t&&s.willChange==="filter"||t&&s.filter&&s.filter!=="none")return o;o=o.parentNode}return null}function Rd(e){for(var t=Fo(e),n=tS(e);n&&F$(n)&&Ra(n).position==="static";)n=tS(n);return n&&(ra(n)==="html"||ra(n)==="body"&&Ra(n).position==="static")?t:n||H$(e)||t}function zb(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Wu(e,t,n){return Qi(e,nh(t,n))}function W$(e,t,n){var r=Wu(e,t,n);return r>n?n:r}function d6(){return{top:0,right:0,bottom:0,left:0}}function f6(e){return Object.assign({},d6(),e)}function p6(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var V$=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,f6(typeof t!="number"?t:p6(t,Od))};function U$(e){var t,n=e.state,r=e.name,o=e.options,s=n.elements.arrow,a=n.modifiersData.popperOffsets,c=ta(n.placement),d=zb(c),p=[Po,is].indexOf(c)>=0,h=p?"height":"width";if(!(!s||!a)){var m=V$(o.padding,n),v=Lb(s),b=d==="y"?_o:Po,w=d==="y"?as:is,y=n.rects.reference[h]+n.rects.reference[d]-a[d]-n.rects.popper[h],S=a[d]-n.rects.reference[d],k=Rd(s),_=k?d==="y"?k.clientHeight||0:k.clientWidth||0:0,P=y/2-S/2,I=m[b],E=_-v[h]-m[w],O=_/2-v[h]/2+P,R=Wu(I,O,E),M=d;n.modifiersData[r]=(t={},t[M]=R,t.centerOffset=R-O,t)}}function G$(e){var t=e.state,n=e.options,r=n.element,o=r===void 0?"[data-popper-arrow]":r;o!=null&&(typeof o=="string"&&(o=t.elements.popper.querySelector(o),!o)||u6(t.elements.popper,o)&&(t.elements.arrow=o))}const q$={name:"arrow",enabled:!0,phase:"main",fn:U$,effect:G$,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Cc(e){return e.split("-")[1]}var K$={top:"auto",right:"auto",bottom:"auto",left:"auto"};function X$(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:wc(n*o)/o||0,y:wc(r*o)/o||0}}function nS(e){var t,n=e.popper,r=e.popperRect,o=e.placement,s=e.variation,a=e.offsets,c=e.position,d=e.gpuAcceleration,p=e.adaptive,h=e.roundOffsets,m=e.isFixed,v=a.x,b=v===void 0?0:v,w=a.y,y=w===void 0?0:w,S=typeof h=="function"?h({x:b,y}):{x:b,y};b=S.x,y=S.y;var k=a.hasOwnProperty("x"),_=a.hasOwnProperty("y"),P=Po,I=_o,E=window;if(p){var O=Rd(n),R="clientHeight",M="clientWidth";if(O===Fo(n)&&(O=Pi(n),Ra(O).position!=="static"&&c==="absolute"&&(R="scrollHeight",M="scrollWidth")),O=O,o===_o||(o===Po||o===is)&&s===od){I=as;var D=m&&O===E&&E.visualViewport?E.visualViewport.height:O[R];y-=D-r.height,y*=d?1:-1}if(o===Po||(o===_o||o===as)&&s===od){P=is;var A=m&&O===E&&E.visualViewport?E.visualViewport.width:O[M];b-=A-r.width,b*=d?1:-1}}var L=Object.assign({position:c},p&&K$),Q=h===!0?X$({x:b,y},Fo(n)):{x:b,y};if(b=Q.x,y=Q.y,d){var F;return Object.assign({},L,(F={},F[I]=_?"0":"",F[P]=k?"0":"",F.transform=(E.devicePixelRatio||1)<=1?"translate("+b+"px, "+y+"px)":"translate3d("+b+"px, "+y+"px, 0)",F))}return Object.assign({},L,(t={},t[I]=_?y+"px":"",t[P]=k?b+"px":"",t.transform="",t))}function Y$(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=r===void 0?!0:r,s=n.adaptive,a=s===void 0?!0:s,c=n.roundOffsets,d=c===void 0?!0:c,p={placement:ta(t.placement),variation:Cc(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,nS(Object.assign({},p,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:d})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,nS(Object.assign({},p,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:d})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const Q$={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Y$,data:{}};var Hf={passive:!0};function J$(e){var t=e.state,n=e.instance,r=e.options,o=r.scroll,s=o===void 0?!0:o,a=r.resize,c=a===void 0?!0:a,d=Fo(t.elements.popper),p=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&p.forEach(function(h){h.addEventListener("scroll",n.update,Hf)}),c&&d.addEventListener("resize",n.update,Hf),function(){s&&p.forEach(function(h){h.removeEventListener("scroll",n.update,Hf)}),c&&d.removeEventListener("resize",n.update,Hf)}}const Z$={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:J$,data:{}};var eL={left:"right",right:"left",bottom:"top",top:"bottom"};function Ep(e){return e.replace(/left|right|bottom|top/g,function(t){return eL[t]})}var tL={start:"end",end:"start"};function rS(e){return e.replace(/start|end/g,function(t){return tL[t]})}function Bb(e){var t=Fo(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function Fb(e){return Sc(Pi(e)).left+Bb(e).scrollLeft}function nL(e,t){var n=Fo(e),r=Pi(e),o=n.visualViewport,s=r.clientWidth,a=r.clientHeight,c=0,d=0;if(o){s=o.width,a=o.height;var p=c6();(p||!p&&t==="fixed")&&(c=o.offsetLeft,d=o.offsetTop)}return{width:s,height:a,x:c+Fb(e),y:d}}function rL(e){var t,n=Pi(e),r=Bb(e),o=(t=e.ownerDocument)==null?void 0:t.body,s=Qi(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=Qi(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),c=-r.scrollLeft+Fb(e),d=-r.scrollTop;return Ra(o||n).direction==="rtl"&&(c+=Qi(n.clientWidth,o?o.clientWidth:0)-s),{width:s,height:a,x:c,y:d}}function Hb(e){var t=Ra(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function h6(e){return["html","body","#document"].indexOf(ra(e))>=0?e.ownerDocument.body:os(e)&&Hb(e)?e:h6(wm(e))}function Vu(e,t){var n;t===void 0&&(t=[]);var r=h6(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=Fo(r),a=o?[s].concat(s.visualViewport||[],Hb(r)?r:[]):r,c=t.concat(a);return o?c:c.concat(Vu(wm(a)))}function Zv(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function oL(e,t){var n=Sc(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function oS(e,t,n){return t===i6?Zv(nL(e,n)):al(t)?oL(t,n):Zv(rL(Pi(e)))}function sL(e){var t=Vu(wm(e)),n=["absolute","fixed"].indexOf(Ra(e).position)>=0,r=n&&os(e)?Rd(e):e;return al(r)?t.filter(function(o){return al(o)&&u6(o,r)&&ra(o)!=="body"}):[]}function aL(e,t,n,r){var o=t==="clippingParents"?sL(e):[].concat(t),s=[].concat(o,[n]),a=s[0],c=s.reduce(function(d,p){var h=oS(e,p,r);return d.top=Qi(h.top,d.top),d.right=nh(h.right,d.right),d.bottom=nh(h.bottom,d.bottom),d.left=Qi(h.left,d.left),d},oS(e,a,r));return c.width=c.right-c.left,c.height=c.bottom-c.top,c.x=c.left,c.y=c.top,c}function m6(e){var t=e.reference,n=e.element,r=e.placement,o=r?ta(r):null,s=r?Cc(r):null,a=t.x+t.width/2-n.width/2,c=t.y+t.height/2-n.height/2,d;switch(o){case _o:d={x:a,y:t.y-n.height};break;case as:d={x:a,y:t.y+t.height};break;case is:d={x:t.x+t.width,y:c};break;case Po:d={x:t.x-n.width,y:c};break;default:d={x:t.x,y:t.y}}var p=o?zb(o):null;if(p!=null){var h=p==="y"?"height":"width";switch(s){case xc:d[p]=d[p]-(t[h]/2-n[h]/2);break;case od:d[p]=d[p]+(t[h]/2-n[h]/2);break}}return d}function sd(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=r===void 0?e.placement:r,s=n.strategy,a=s===void 0?e.strategy:s,c=n.boundary,d=c===void 0?P$:c,p=n.rootBoundary,h=p===void 0?i6:p,m=n.elementContext,v=m===void 0?gu:m,b=n.altBoundary,w=b===void 0?!1:b,y=n.padding,S=y===void 0?0:y,k=f6(typeof S!="number"?S:p6(S,Od)),_=v===gu?j$:gu,P=e.rects.popper,I=e.elements[w?_:v],E=aL(al(I)?I:I.contextElement||Pi(e.elements.popper),d,h,a),O=Sc(e.elements.reference),R=m6({reference:O,element:P,strategy:"absolute",placement:o}),M=Zv(Object.assign({},P,R)),D=v===gu?M:O,A={top:E.top-D.top+k.top,bottom:D.bottom-E.bottom+k.bottom,left:E.left-D.left+k.left,right:D.right-E.right+k.right},L=e.modifiersData.offset;if(v===gu&&L){var Q=L[o];Object.keys(A).forEach(function(F){var V=[is,as].indexOf(F)>=0?1:-1,q=[_o,as].indexOf(F)>=0?"y":"x";A[F]+=Q[q]*V})}return A}function iL(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=n.boundary,s=n.rootBoundary,a=n.padding,c=n.flipVariations,d=n.allowedAutoPlacements,p=d===void 0?l6:d,h=Cc(r),m=h?c?eS:eS.filter(function(w){return Cc(w)===h}):Od,v=m.filter(function(w){return p.indexOf(w)>=0});v.length===0&&(v=m);var b=v.reduce(function(w,y){return w[y]=sd(e,{placement:y,boundary:o,rootBoundary:s,padding:a})[ta(y)],w},{});return Object.keys(b).sort(function(w,y){return b[w]-b[y]})}function lL(e){if(ta(e)===Nb)return[];var t=Ep(e);return[rS(e),t,rS(t)]}function cL(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,c=a===void 0?!0:a,d=n.fallbackPlacements,p=n.padding,h=n.boundary,m=n.rootBoundary,v=n.altBoundary,b=n.flipVariations,w=b===void 0?!0:b,y=n.allowedAutoPlacements,S=t.options.placement,k=ta(S),_=k===S,P=d||(_||!w?[Ep(S)]:lL(S)),I=[S].concat(P).reduce(function(X,K){return X.concat(ta(K)===Nb?iL(t,{placement:K,boundary:h,rootBoundary:m,padding:p,flipVariations:w,allowedAutoPlacements:y}):K)},[]),E=t.rects.reference,O=t.rects.popper,R=new Map,M=!0,D=I[0],A=0;A=0,q=V?"width":"height",G=sd(t,{placement:L,boundary:h,rootBoundary:m,altBoundary:v,padding:p}),T=V?F?is:Po:F?as:_o;E[q]>O[q]&&(T=Ep(T));var z=Ep(T),$=[];if(s&&$.push(G[Q]<=0),c&&$.push(G[T]<=0,G[z]<=0),$.every(function(X){return X})){D=L,M=!1;break}R.set(L,$)}if(M)for(var Y=w?3:1,ae=function(K){var U=I.find(function(se){var re=R.get(se);if(re)return re.slice(0,K).every(function(oe){return oe})});if(U)return D=U,"break"},fe=Y;fe>0;fe--){var ie=ae(fe);if(ie==="break")break}t.placement!==D&&(t.modifiersData[r]._skip=!0,t.placement=D,t.reset=!0)}}const uL={name:"flip",enabled:!0,phase:"main",fn:cL,requiresIfExists:["offset"],data:{_skip:!1}};function sS(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function aS(e){return[_o,is,as,Po].some(function(t){return e[t]>=0})}function dL(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,s=t.modifiersData.preventOverflow,a=sd(t,{elementContext:"reference"}),c=sd(t,{altBoundary:!0}),d=sS(a,r),p=sS(c,o,s),h=aS(d),m=aS(p);t.modifiersData[n]={referenceClippingOffsets:d,popperEscapeOffsets:p,isReferenceHidden:h,hasPopperEscaped:m},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":m})}const fL={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:dL};function pL(e,t,n){var r=ta(e),o=[Po,_o].indexOf(r)>=0?-1:1,s=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=s[0],c=s[1];return a=a||0,c=(c||0)*o,[Po,is].indexOf(r)>=0?{x:c,y:a}:{x:a,y:c}}function hL(e){var t=e.state,n=e.options,r=e.name,o=n.offset,s=o===void 0?[0,0]:o,a=l6.reduce(function(h,m){return h[m]=pL(m,t.rects,s),h},{}),c=a[t.placement],d=c.x,p=c.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=d,t.modifiersData.popperOffsets.y+=p),t.modifiersData[r]=a}const mL={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:hL};function gL(e){var t=e.state,n=e.name;t.modifiersData[n]=m6({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const vL={name:"popperOffsets",enabled:!0,phase:"read",fn:gL,data:{}};function bL(e){return e==="x"?"y":"x"}function yL(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,c=a===void 0?!1:a,d=n.boundary,p=n.rootBoundary,h=n.altBoundary,m=n.padding,v=n.tether,b=v===void 0?!0:v,w=n.tetherOffset,y=w===void 0?0:w,S=sd(t,{boundary:d,rootBoundary:p,padding:m,altBoundary:h}),k=ta(t.placement),_=Cc(t.placement),P=!_,I=zb(k),E=bL(I),O=t.modifiersData.popperOffsets,R=t.rects.reference,M=t.rects.popper,D=typeof y=="function"?y(Object.assign({},t.rects,{placement:t.placement})):y,A=typeof D=="number"?{mainAxis:D,altAxis:D}:Object.assign({mainAxis:0,altAxis:0},D),L=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,Q={x:0,y:0};if(O){if(s){var F,V=I==="y"?_o:Po,q=I==="y"?as:is,G=I==="y"?"height":"width",T=O[I],z=T+S[V],$=T-S[q],Y=b?-M[G]/2:0,ae=_===xc?R[G]:M[G],fe=_===xc?-M[G]:-R[G],ie=t.elements.arrow,X=b&&ie?Lb(ie):{width:0,height:0},K=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:d6(),U=K[V],se=K[q],re=Wu(0,R[G],X[G]),oe=P?R[G]/2-Y-re-U-A.mainAxis:ae-re-U-A.mainAxis,pe=P?-R[G]/2+Y+re+se+A.mainAxis:fe+re+se+A.mainAxis,le=t.elements.arrow&&Rd(t.elements.arrow),ge=le?I==="y"?le.clientTop||0:le.clientLeft||0:0,ke=(F=L==null?void 0:L[I])!=null?F:0,xe=T+oe-ke-ge,de=T+pe-ke,Te=Wu(b?nh(z,xe):z,T,b?Qi($,de):$);O[I]=Te,Q[I]=Te-T}if(c){var Ee,$e=I==="x"?_o:Po,kt=I==="x"?as:is,ct=O[E],on=E==="y"?"height":"width",vt=ct+S[$e],bt=ct-S[kt],Se=[_o,Po].indexOf(k)!==-1,Me=(Ee=L==null?void 0:L[E])!=null?Ee:0,Pt=Se?vt:ct-R[on]-M[on]-Me+A.altAxis,Tt=Se?ct+R[on]+M[on]-Me-A.altAxis:bt,we=b&&Se?W$(Pt,ct,Tt):Wu(b?Pt:vt,ct,b?Tt:bt);O[E]=we,Q[E]=we-ct}t.modifiersData[r]=Q}}const xL={name:"preventOverflow",enabled:!0,phase:"main",fn:yL,requiresIfExists:["offset"]};function wL(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function SL(e){return e===Fo(e)||!os(e)?Bb(e):wL(e)}function CL(e){var t=e.getBoundingClientRect(),n=wc(t.width)/e.offsetWidth||1,r=wc(t.height)/e.offsetHeight||1;return n!==1||r!==1}function kL(e,t,n){n===void 0&&(n=!1);var r=os(t),o=os(t)&&CL(t),s=Pi(t),a=Sc(e,o,n),c={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(r||!r&&!n)&&((ra(t)!=="body"||Hb(s))&&(c=SL(t)),os(t)?(d=Sc(t,!0),d.x+=t.clientLeft,d.y+=t.clientTop):s&&(d.x=Fb(s))),{x:a.left+c.scrollLeft-d.x,y:a.top+c.scrollTop-d.y,width:a.width,height:a.height}}function _L(e){var t=new Map,n=new Set,r=[];e.forEach(function(s){t.set(s.name,s)});function o(s){n.add(s.name);var a=[].concat(s.requires||[],s.requiresIfExists||[]);a.forEach(function(c){if(!n.has(c)){var d=t.get(c);d&&o(d)}}),r.push(s)}return e.forEach(function(s){n.has(s.name)||o(s)}),r}function PL(e){var t=_L(e);return $$.reduce(function(n,r){return n.concat(t.filter(function(o){return o.phase===r}))},[])}function jL(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function IL(e){var t=e.reduce(function(n,r){var o=n[r.name];return n[r.name]=o?Object.assign({},o,r,{options:Object.assign({},o.options,r.options),data:Object.assign({},o.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var iS={placement:"bottom",modifiers:[],strategy:"absolute"};function lS(){for(var e=arguments.length,t=new Array(e),n=0;n{}),P=f.useCallback(()=>{var A;!t||!w.current||!y.current||((A=_.current)==null||A.call(_),S.current=RL(w.current,y.current,{placement:k,modifiers:[S$,y$,b$,{...v$,enabled:!!v},{name:"eventListeners",...g$(a)},{name:"arrow",options:{padding:s}},{name:"offset",options:{offset:c??[0,d]}},{name:"flip",enabled:!!p,options:{padding:8}},{name:"preventOverflow",enabled:!!m,options:{boundary:h}},...n??[]],strategy:o}),S.current.forceUpdate(),_.current=S.current.destroy)},[k,t,n,v,a,s,c,d,p,m,h,o]);f.useEffect(()=>()=>{var A;!w.current&&!y.current&&((A=S.current)==null||A.destroy(),S.current=null)},[]);const I=f.useCallback(A=>{w.current=A,P()},[P]),E=f.useCallback((A={},L=null)=>({...A,ref:cn(I,L)}),[I]),O=f.useCallback(A=>{y.current=A,P()},[P]),R=f.useCallback((A={},L=null)=>({...A,ref:cn(O,L),style:{...A.style,position:o,minWidth:v?void 0:"max-content",inset:"0 auto auto 0"}}),[o,O,v]),M=f.useCallback((A={},L=null)=>{const{size:Q,shadowColor:F,bg:V,style:q,...G}=A;return{...G,ref:L,"data-popper-arrow":"",style:ML(A)}},[]),D=f.useCallback((A={},L=null)=>({...A,ref:L,"data-popper-arrow-inner":""}),[]);return{update(){var A;(A=S.current)==null||A.update()},forceUpdate(){var A;(A=S.current)==null||A.forceUpdate()},transformOrigin:Ir.transformOrigin.varRef,referenceRef:I,popperRef:O,getPopperProps:R,getArrowProps:M,getArrowInnerProps:D,getReferenceProps:E}}function ML(e){const{size:t,shadowColor:n,bg:r,style:o}=e,s={...o,position:"absolute"};return t&&(s["--popper-arrow-size"]=t),n&&(s["--popper-arrow-shadow-color"]=n),r&&(s["--popper-arrow-bg"]=r),s}function Vb(e={}){const{onClose:t,onOpen:n,isOpen:r,id:o}=e,s=or(n),a=or(t),[c,d]=f.useState(e.defaultIsOpen||!1),p=r!==void 0?r:c,h=r!==void 0,m=f.useId(),v=o??`disclosure-${m}`,b=f.useCallback(()=>{h||d(!1),a==null||a()},[h,a]),w=f.useCallback(()=>{h||d(!0),s==null||s()},[h,s]),y=f.useCallback(()=>{p?b():w()},[p,w,b]);function S(_={}){return{..._,"aria-expanded":p,"aria-controls":v,onClick(P){var I;(I=_.onClick)==null||I.call(_,P),y()}}}function k(_={}){return{..._,hidden:!p,id:v}}return{isOpen:p,onOpen:w,onClose:b,onToggle:y,isControlled:h,getButtonProps:S,getDisclosureProps:k}}function DL(e){const{ref:t,handler:n,enabled:r=!0}=e,o=or(n),a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{A0(m,t)&&(a.isPointerDown=!0)},d=m=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&A0(m,t)&&(a.isPointerDown=!1,o(m))},p=m=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&A0(m,t)&&(a.isPointerDown=!1,o(m))},h=g6(t.current);return h.addEventListener("mousedown",c,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",c,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",c,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",c,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,a,r])}function A0(e,t){var n;const r=e.target;return r&&!g6(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function g6(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function v6(e){const{isOpen:t,ref:n}=e,[r,o]=f.useState(t),[s,a]=f.useState(!1);return f.useEffect(()=>{s||(o(t),a(!0))},[t,s,r]),Yi(()=>n.current,"animationend",()=>{o(t)}),{present:!(t?!1:!r),onComplete(){var d;const p=TN(n.current),h=new p.CustomEvent("animationend",{bubbles:!0});(d=n.current)==null||d.dispatchEvent(h)}}}function Ub(e){const{wasSelected:t,enabled:n,isSelected:r,mode:o="unmount"}=e;return!!(!n||r||o==="keepMounted"&&t)}var[AL,TL,NL,$L]=pb(),[LL,Md]=Dn({strict:!1,name:"MenuContext"});function zL(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}function b6(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function cS(e){return b6(e).activeElement===e}function BL(e={}){const{id:t,closeOnSelect:n=!0,closeOnBlur:r=!0,initialFocusRef:o,autoSelect:s=!0,isLazy:a,isOpen:c,defaultIsOpen:d,onClose:p,onOpen:h,placement:m="bottom-start",lazyBehavior:v="unmount",direction:b,computePositionOnMount:w=!1,...y}=e,S=f.useRef(null),k=f.useRef(null),_=NL(),P=f.useCallback(()=>{requestAnimationFrame(()=>{var ie;(ie=S.current)==null||ie.focus({preventScroll:!1})})},[]),I=f.useCallback(()=>{const ie=setTimeout(()=>{var X;if(o)(X=o.current)==null||X.focus();else{const K=_.firstEnabled();K&&F(K.index)}});z.current.add(ie)},[_,o]),E=f.useCallback(()=>{const ie=setTimeout(()=>{const X=_.lastEnabled();X&&F(X.index)});z.current.add(ie)},[_]),O=f.useCallback(()=>{h==null||h(),s?I():P()},[s,I,P,h]),{isOpen:R,onOpen:M,onClose:D,onToggle:A}=Vb({isOpen:c,defaultIsOpen:d,onClose:p,onOpen:O});DL({enabled:R&&r,ref:S,handler:ie=>{var X;(X=k.current)!=null&&X.contains(ie.target)||D()}});const L=Wb({...y,enabled:R||w,placement:m,direction:b}),[Q,F]=f.useState(-1);Fa(()=>{R||F(-1)},[R]),a6(S,{focusRef:k,visible:R,shouldFocus:!0});const V=v6({isOpen:R,ref:S}),[q,G]=zL(t,"menu-button","menu-list"),T=f.useCallback(()=>{M(),P()},[M,P]),z=f.useRef(new Set([]));KL(()=>{z.current.forEach(ie=>clearTimeout(ie)),z.current.clear()});const $=f.useCallback(()=>{M(),I()},[I,M]),Y=f.useCallback(()=>{M(),E()},[M,E]),ae=f.useCallback(()=>{var ie,X;const K=b6(S.current),U=(ie=S.current)==null?void 0:ie.contains(K.activeElement);if(!(R&&!U))return;const re=(X=_.item(Q))==null?void 0:X.node;re==null||re.focus()},[R,Q,_]),fe=f.useRef(null);return{openAndFocusMenu:T,openAndFocusFirstItem:$,openAndFocusLastItem:Y,onTransitionEnd:ae,unstable__animationState:V,descendants:_,popper:L,buttonId:q,menuId:G,forceUpdate:L.forceUpdate,orientation:"vertical",isOpen:R,onToggle:A,onOpen:M,onClose:D,menuRef:S,buttonRef:k,focusedIndex:Q,closeOnSelect:n,closeOnBlur:r,autoSelect:s,setFocusedIndex:F,isLazy:a,lazyBehavior:v,initialFocusRef:o,rafId:fe}}function FL(e={},t=null){const n=Md(),{onToggle:r,popper:o,openAndFocusFirstItem:s,openAndFocusLastItem:a}=n,c=f.useCallback(d=>{const p=d.key,m={Enter:s,ArrowDown:s,ArrowUp:a}[p];m&&(d.preventDefault(),d.stopPropagation(),m(d))},[s,a]);return{...e,ref:cn(n.buttonRef,t,o.referenceRef),id:n.buttonId,"data-active":Ft(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:et(e.onClick,r),onKeyDown:et(e.onKeyDown,c)}}function e1(e){var t;return GL(e)&&!!((t=e==null?void 0:e.getAttribute("role"))!=null&&t.startsWith("menuitem"))}function HL(e={},t=null){const n=Md();if(!n)throw new Error("useMenuContext: context is undefined. Seems you forgot to wrap component within ");const{focusedIndex:r,setFocusedIndex:o,menuRef:s,isOpen:a,onClose:c,menuId:d,isLazy:p,lazyBehavior:h,unstable__animationState:m}=n,v=TL(),b=a$({preventDefault:k=>k.key!==" "&&e1(k.target)}),w=f.useCallback(k=>{if(!k.currentTarget.contains(k.target))return;const _=k.key,I={Tab:O=>O.preventDefault(),Escape:c,ArrowDown:()=>{const O=v.nextEnabled(r);O&&o(O.index)},ArrowUp:()=>{const O=v.prevEnabled(r);O&&o(O.index)}}[_];if(I){k.preventDefault(),I(k);return}const E=b(O=>{const R=i$(v.values(),O,M=>{var D,A;return(A=(D=M==null?void 0:M.node)==null?void 0:D.textContent)!=null?A:""},v.item(r));if(R){const M=v.indexOf(R.node);o(M)}});e1(k.target)&&E(k)},[v,r,b,c,o]),y=f.useRef(!1);a&&(y.current=!0);const S=Ub({wasSelected:y.current,enabled:p,mode:h,isSelected:m.present});return{...e,ref:cn(s,t),children:S?e.children:null,tabIndex:-1,role:"menu",id:d,style:{...e.style,transformOrigin:"var(--popper-transform-origin)"},"aria-orientation":"vertical",onKeyDown:et(e.onKeyDown,w)}}function WL(e={}){const{popper:t,isOpen:n}=Md();return t.getPopperProps({...e,style:{visibility:n?"visible":"hidden",...e.style}})}function y6(e={},t=null){const{onMouseEnter:n,onMouseMove:r,onMouseLeave:o,onClick:s,onFocus:a,isDisabled:c,isFocusable:d,closeOnSelect:p,type:h,...m}=e,v=Md(),{setFocusedIndex:b,focusedIndex:w,closeOnSelect:y,onClose:S,menuRef:k,isOpen:_,menuId:P,rafId:I}=v,E=f.useRef(null),O=`${P}-menuitem-${f.useId()}`,{index:R,register:M}=$L({disabled:c&&!d}),D=f.useCallback(T=>{n==null||n(T),!c&&b(R)},[b,R,c,n]),A=f.useCallback(T=>{r==null||r(T),E.current&&!cS(E.current)&&D(T)},[D,r]),L=f.useCallback(T=>{o==null||o(T),!c&&b(-1)},[b,c,o]),Q=f.useCallback(T=>{s==null||s(T),e1(T.currentTarget)&&(p??y)&&S()},[S,s,y,p]),F=f.useCallback(T=>{a==null||a(T),b(R)},[b,a,R]),V=R===w,q=c&&!d;Fa(()=>{_&&(V&&!q&&E.current?(I.current&&cancelAnimationFrame(I.current),I.current=requestAnimationFrame(()=>{var T;(T=E.current)==null||T.focus(),I.current=null})):k.current&&!cS(k.current)&&k.current.focus({preventScroll:!0}))},[V,q,k,_]);const G=s6({onClick:Q,onFocus:F,onMouseEnter:D,onMouseMove:A,onMouseLeave:L,ref:cn(M,E,t),isDisabled:c,isFocusable:d});return{...m,...G,type:h??G.type,id:O,role:"menuitem",tabIndex:V?0:-1}}function VL(e={},t=null){const{type:n="radio",isChecked:r,...o}=e;return{...y6(o,t),role:`menuitem${n}`,"aria-checked":r}}function UL(e={}){const{children:t,type:n="radio",value:r,defaultValue:o,onChange:s,...a}=e,d=n==="radio"?"":[],[p,h]=zc({defaultValue:o??d,value:r,onChange:s}),m=f.useCallback(w=>{if(n==="radio"&&typeof p=="string"&&h(w),n==="checkbox"&&Array.isArray(p)){const y=p.includes(w)?p.filter(S=>S!==w):p.concat(w);h(y)}},[p,h,n]),b=Pd(t).map(w=>{if(w.type.id!=="MenuItemOption")return w;const y=k=>{var _,P;m(w.props.value),(P=(_=w.props).onClick)==null||P.call(_,k)},S=n==="radio"?w.props.value===p:p.includes(w.props.value);return f.cloneElement(w,{type:n,onClick:y,isChecked:S})});return{...a,children:b}}function GL(e){var t;if(!qL(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function qL(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function KL(e,t=[]){return f.useEffect(()=>()=>e(),t)}var[XL,Hc]=Dn({name:"MenuStylesContext",errorMessage:`useMenuStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Dd=e=>{const{children:t}=e,n=Fr("Menu",e),r=qn(e),{direction:o}=Nc(),{descendants:s,...a}=BL({...r,direction:o}),c=f.useMemo(()=>a,[a]),{isOpen:d,onClose:p,forceUpdate:h}=c;return i.jsx(AL,{value:s,children:i.jsx(LL,{value:c,children:i.jsx(XL,{value:n,children:Y1(t,{isOpen:d,onClose:p,forceUpdate:h})})})})};Dd.displayName="Menu";var x6=Ae((e,t)=>{const n=Hc();return i.jsx(je.span,{ref:t,...e,__css:n.command,className:"chakra-menu__command"})});x6.displayName="MenuCommand";var w6=Ae((e,t)=>{const{type:n,...r}=e,o=Hc(),s=r.as||n?n??void 0:"button",a=f.useMemo(()=>({textDecoration:"none",color:"inherit",userSelect:"none",display:"flex",width:"100%",alignItems:"center",textAlign:"start",flex:"0 0 auto",outline:0,...o.item}),[o.item]);return i.jsx(je.button,{ref:t,type:s,...r,__css:a})}),Gb=e=>{const{className:t,children:n,...r}=e,o=Hc(),s=f.Children.only(n),a=f.isValidElement(s)?f.cloneElement(s,{focusable:"false","aria-hidden":!0,className:Ct("chakra-menu__icon",s.props.className)}):null,c=Ct("chakra-menu__icon-wrapper",t);return i.jsx(je.span,{className:c,...r,__css:o.icon,children:a})};Gb.displayName="MenuIcon";var jr=Ae((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",command:o,commandSpacing:s="0.75rem",children:a,...c}=e,d=y6(c,t),h=n||o?i.jsx("span",{style:{pointerEvents:"none",flex:1},children:a}):a;return i.jsxs(w6,{...d,className:Ct("chakra-menu__menuitem",d.className),children:[n&&i.jsx(Gb,{fontSize:"0.8em",marginEnd:r,children:n}),h,o&&i.jsx(x6,{marginStart:s,children:o})]})});jr.displayName="MenuItem";var YL={enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.2,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.1,easings:"easeOut"}}},QL=je(Er.div),il=Ae(function(t,n){var r,o;const{rootProps:s,motionProps:a,...c}=t,{isOpen:d,onTransitionEnd:p,unstable__animationState:h}=Md(),m=HL(c,n),v=WL(s),b=Hc();return i.jsx(je.div,{...v,__css:{zIndex:(o=t.zIndex)!=null?o:(r=b.list)==null?void 0:r.zIndex},children:i.jsx(QL,{variants:YL,initial:!1,animate:d?"enter":"exit",__css:{outline:0,...b.list},...a,className:Ct("chakra-menu__menu-list",m.className),...m,onUpdate:p,onAnimationComplete:um(h.onComplete,m.onAnimationComplete)})})});il.displayName="MenuList";var ad=Ae((e,t)=>{const{title:n,children:r,className:o,...s}=e,a=Ct("chakra-menu__group__title",o),c=Hc();return i.jsxs("div",{ref:t,className:"chakra-menu__group",role:"group",children:[n&&i.jsx(je.p,{className:a,...s,__css:c.groupTitle,children:n}),r]})});ad.displayName="MenuGroup";var S6=e=>{const{className:t,title:n,...r}=e,o=UL(r);return i.jsx(ad,{title:n,className:Ct("chakra-menu__option-group",t),...o})};S6.displayName="MenuOptionGroup";var JL=Ae((e,t)=>{const n=Hc();return i.jsx(je.button,{ref:t,...e,__css:{display:"inline-flex",appearance:"none",alignItems:"center",outline:0,...n.button}})}),Ad=Ae((e,t)=>{const{children:n,as:r,...o}=e,s=FL(o,t),a=r||JL;return i.jsx(a,{...s,className:Ct("chakra-menu__menu-button",e.className),children:i.jsx(je.span,{__css:{pointerEvents:"none",flex:"1 1 auto",minW:0},children:e.children})})});Ad.displayName="MenuButton";var ZL=e=>i.jsx("svg",{viewBox:"0 0 14 14",width:"1em",height:"1em",...e,children:i.jsx("polygon",{fill:"currentColor",points:"5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039"})}),rh=Ae((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",...o}=e,s=VL(o,t);return i.jsxs(w6,{...s,className:Ct("chakra-menu__menuitem-option",o.className),children:[n!==null&&i.jsx(Gb,{fontSize:"0.8em",marginEnd:r,opacity:e.isChecked?1:0,children:n||i.jsx(ZL,{})}),i.jsx("span",{style:{flex:1},children:s.children})]})});rh.id="MenuItemOption";rh.displayName="MenuItemOption";var ez={slideInBottom:{...Bv,custom:{offsetY:16,reverse:!0}},slideInRight:{...Bv,custom:{offsetX:16,reverse:!0}},scale:{...K5,custom:{initialScale:.95,reverse:!0}},none:{}},tz=je(Er.section),nz=e=>ez[e||"none"],C6=f.forwardRef((e,t)=>{const{preset:n,motionProps:r=nz(n),...o}=e;return i.jsx(tz,{ref:t,...r,...o})});C6.displayName="ModalTransition";var rz=Object.defineProperty,oz=(e,t,n)=>t in e?rz(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,sz=(e,t,n)=>(oz(e,typeof t!="symbol"?t+"":t,n),n),az=class{constructor(){sz(this,"modals"),this.modals=new Map}add(e){return this.modals.set(e,this.modals.size+1),this.modals.size}remove(e){this.modals.delete(e)}isTopModal(e){return e?this.modals.get(e)===this.modals.size:!1}},t1=new az;function k6(e,t){const[n,r]=f.useState(0);return f.useEffect(()=>{const o=e.current;if(o){if(t){const s=t1.add(o);r(s)}return()=>{t1.remove(o),r(0)}}},[t,e]),n}var iz=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Ll=new WeakMap,Wf=new WeakMap,Vf={},T0=0,_6=function(e){return e&&(e.host||_6(e.parentNode))},lz=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=_6(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},cz=function(e,t,n,r){var o=lz(t,Array.isArray(e)?e:[e]);Vf[n]||(Vf[n]=new WeakMap);var s=Vf[n],a=[],c=new Set,d=new Set(o),p=function(m){!m||c.has(m)||(c.add(m),p(m.parentNode))};o.forEach(p);var h=function(m){!m||d.has(m)||Array.prototype.forEach.call(m.children,function(v){if(c.has(v))h(v);else{var b=v.getAttribute(r),w=b!==null&&b!=="false",y=(Ll.get(v)||0)+1,S=(s.get(v)||0)+1;Ll.set(v,y),s.set(v,S),a.push(v),y===1&&w&&Wf.set(v,!0),S===1&&v.setAttribute(n,"true"),w||v.setAttribute(r,"true")}})};return h(t),c.clear(),T0++,function(){a.forEach(function(m){var v=Ll.get(m)-1,b=s.get(m)-1;Ll.set(m,v),s.set(m,b),v||(Wf.has(m)||m.removeAttribute(r),Wf.delete(m)),b||m.removeAttribute(n)}),T0--,T0||(Ll=new WeakMap,Ll=new WeakMap,Wf=new WeakMap,Vf={})}},uz=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||iz(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),cz(r,o,n,"aria-hidden")):function(){return null}};function dz(e){const{isOpen:t,onClose:n,id:r,closeOnOverlayClick:o=!0,closeOnEsc:s=!0,useInert:a=!0,onOverlayClick:c,onEsc:d}=e,p=f.useRef(null),h=f.useRef(null),[m,v,b]=pz(r,"chakra-modal","chakra-modal--header","chakra-modal--body");fz(p,t&&a);const w=k6(p,t),y=f.useRef(null),S=f.useCallback(D=>{y.current=D.target},[]),k=f.useCallback(D=>{D.key==="Escape"&&(D.stopPropagation(),s&&(n==null||n()),d==null||d())},[s,n,d]),[_,P]=f.useState(!1),[I,E]=f.useState(!1),O=f.useCallback((D={},A=null)=>({role:"dialog",...D,ref:cn(A,p),id:m,tabIndex:-1,"aria-modal":!0,"aria-labelledby":_?v:void 0,"aria-describedby":I?b:void 0,onClick:et(D.onClick,L=>L.stopPropagation())}),[b,I,m,v,_]),R=f.useCallback(D=>{D.stopPropagation(),y.current===D.target&&t1.isTopModal(p.current)&&(o&&(n==null||n()),c==null||c())},[n,o,c]),M=f.useCallback((D={},A=null)=>({...D,ref:cn(A,h),onClick:et(D.onClick,R),onKeyDown:et(D.onKeyDown,k),onMouseDown:et(D.onMouseDown,S)}),[k,S,R]);return{isOpen:t,onClose:n,headerId:v,bodyId:b,setBodyMounted:E,setHeaderMounted:P,dialogRef:p,overlayRef:h,getDialogProps:O,getDialogContainerProps:M,index:w}}function fz(e,t){const n=e.current;f.useEffect(()=>{if(!(!e.current||!t))return uz(e.current)},[t,e,n])}function pz(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}var[hz,Wc]=Dn({name:"ModalStylesContext",errorMessage:`useModalStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[mz,ll]=Dn({strict:!0,name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap modal components in ``"}),id=e=>{const t={scrollBehavior:"outside",autoFocus:!0,trapFocus:!0,returnFocusOnClose:!0,blockScrollOnMount:!0,allowPinchZoom:!1,motionPreset:"scale",lockFocusAcrossFrames:!0,...e},{portalProps:n,children:r,autoFocus:o,trapFocus:s,initialFocusRef:a,finalFocusRef:c,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:m,motionPreset:v,lockFocusAcrossFrames:b,onCloseComplete:w}=t,y=Fr("Modal",t),k={...dz(t),autoFocus:o,trapFocus:s,initialFocusRef:a,finalFocusRef:c,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:m,motionPreset:v,lockFocusAcrossFrames:b};return i.jsx(mz,{value:k,children:i.jsx(hz,{value:y,children:i.jsx(mo,{onExitComplete:w,children:k.isOpen&&i.jsx(Zu,{...n,children:r})})})})};id.displayName="Modal";var Op="right-scroll-bar-position",Rp="width-before-scroll-bar",gz="with-scroll-bars-hidden",vz="--removed-body-scroll-bar-size",P6=w3(),N0=function(){},Sm=f.forwardRef(function(e,t){var n=f.useRef(null),r=f.useState({onScrollCapture:N0,onWheelCapture:N0,onTouchMoveCapture:N0}),o=r[0],s=r[1],a=e.forwardProps,c=e.children,d=e.className,p=e.removeScrollBar,h=e.enabled,m=e.shards,v=e.sideCar,b=e.noIsolation,w=e.inert,y=e.allowPinchZoom,S=e.as,k=S===void 0?"div":S,_=e.gapMode,P=b3(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),I=v,E=v3([n,t]),O=Qs(Qs({},P),o);return f.createElement(f.Fragment,null,h&&f.createElement(I,{sideCar:P6,removeScrollBar:p,shards:m,noIsolation:b,inert:w,setCallbacks:s,allowPinchZoom:!!y,lockRef:n,gapMode:_}),a?f.cloneElement(f.Children.only(c),Qs(Qs({},O),{ref:E})):f.createElement(k,Qs({},O,{className:d,ref:E}),c))});Sm.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Sm.classNames={fullWidth:Rp,zeroRight:Op};var uS,bz=function(){if(uS)return uS;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function yz(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=bz();return t&&e.setAttribute("nonce",t),e}function xz(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function wz(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Sz=function(){var e=0,t=null;return{add:function(n){e==0&&(t=yz())&&(xz(t,n),wz(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Cz=function(){var e=Sz();return function(t,n){f.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},j6=function(){var e=Cz(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},kz={left:0,top:0,right:0,gap:0},$0=function(e){return parseInt(e||"",10)||0},_z=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[$0(n),$0(r),$0(o)]},Pz=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return kz;var t=_z(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},jz=j6(),Iz=function(e,t,n,r){var o=e.left,s=e.top,a=e.right,c=e.gap;return n===void 0&&(n="margin"),` .`.concat(gz,` { overflow: hidden `).concat(r,`; padding-right: `).concat(c,"px ").concat(r,`; @@ -18,34 +18,34 @@ import{t as Sv,r as dR,i as Cv,a as Tc,b as P_,S as j_,c as I_,d as E_,e as kv,f `),n==="padding"&&"padding-right: ".concat(c,"px ").concat(r,";")].filter(Boolean).join(""),` } - .`).concat(Ep,` { + .`).concat(Op,` { right: `).concat(c,"px ").concat(r,`; } - .`).concat(Op,` { + .`).concat(Rp,` { margin-right: `).concat(c,"px ").concat(r,`; } - .`).concat(Ep," .").concat(Ep,` { + .`).concat(Op," .").concat(Op,` { right: 0 `).concat(r,`; } - .`).concat(Op," .").concat(Op,` { + .`).concat(Rp," .").concat(Rp,` { margin-right: 0 `).concat(r,`; } body { `).concat(vz,": ").concat(c,`px; } -`)},Ez=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r,s=f.useMemo(function(){return Pz(o)},[o]);return f.createElement(jz,{styles:Iz(s,!t,o,n?"":"!important")})},t1=!1;if(typeof window<"u")try{var Vf=Object.defineProperty({},"passive",{get:function(){return t1=!0,!0}});window.addEventListener("test",Vf,Vf),window.removeEventListener("test",Vf,Vf)}catch{t1=!1}var zl=t1?{passive:!1}:!1,Oz=function(e){return e.tagName==="TEXTAREA"},I6=function(e,t){var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Oz(e)&&n[t]==="visible")},Rz=function(e){return I6(e,"overflowY")},Mz=function(e){return I6(e,"overflowX")},dS=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=E6(e,r);if(o){var s=O6(e,r),a=s[1],c=s[2];if(a>c)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Dz=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},Az=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},E6=function(e,t){return e==="v"?Rz(t):Mz(t)},O6=function(e,t){return e==="v"?Dz(t):Az(t)},Tz=function(e,t){return e==="h"&&t==="rtl"?-1:1},Nz=function(e,t,n,r,o){var s=Tz(e,window.getComputedStyle(t).direction),a=s*r,c=n.target,d=t.contains(c),p=!1,h=a>0,m=0,v=0;do{var b=O6(e,c),w=b[0],y=b[1],S=b[2],k=y-S-s*w;(w||k)&&E6(e,c)&&(m+=k,v+=w),c=c.parentNode}while(!d&&c!==document.body||d&&(t.contains(c)||t===c));return(h&&(o&&m===0||!o&&a>m)||!h&&(o&&v===0||!o&&-a>v))&&(p=!0),p},Uf=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},fS=function(e){return[e.deltaX,e.deltaY]},pS=function(e){return e&&"current"in e?e.current:e},$z=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Lz=function(e){return` +`)},Ez=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r,s=f.useMemo(function(){return Pz(o)},[o]);return f.createElement(jz,{styles:Iz(s,!t,o,n?"":"!important")})},n1=!1;if(typeof window<"u")try{var Uf=Object.defineProperty({},"passive",{get:function(){return n1=!0,!0}});window.addEventListener("test",Uf,Uf),window.removeEventListener("test",Uf,Uf)}catch{n1=!1}var zl=n1?{passive:!1}:!1,Oz=function(e){return e.tagName==="TEXTAREA"},I6=function(e,t){var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Oz(e)&&n[t]==="visible")},Rz=function(e){return I6(e,"overflowY")},Mz=function(e){return I6(e,"overflowX")},dS=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=E6(e,r);if(o){var s=O6(e,r),a=s[1],c=s[2];if(a>c)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Dz=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},Az=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},E6=function(e,t){return e==="v"?Rz(t):Mz(t)},O6=function(e,t){return e==="v"?Dz(t):Az(t)},Tz=function(e,t){return e==="h"&&t==="rtl"?-1:1},Nz=function(e,t,n,r,o){var s=Tz(e,window.getComputedStyle(t).direction),a=s*r,c=n.target,d=t.contains(c),p=!1,h=a>0,m=0,v=0;do{var b=O6(e,c),w=b[0],y=b[1],S=b[2],k=y-S-s*w;(w||k)&&E6(e,c)&&(m+=k,v+=w),c=c.parentNode}while(!d&&c!==document.body||d&&(t.contains(c)||t===c));return(h&&(o&&m===0||!o&&a>m)||!h&&(o&&v===0||!o&&-a>v))&&(p=!0),p},Gf=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},fS=function(e){return[e.deltaX,e.deltaY]},pS=function(e){return e&&"current"in e?e.current:e},$z=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Lz=function(e){return` .block-interactivity-`.concat(e,` {pointer-events: none;} .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},zz=0,Bl=[];function Bz(e){var t=f.useRef([]),n=f.useRef([0,0]),r=f.useRef(),o=f.useState(zz++)[0],s=f.useState(j6)[0],a=f.useRef(e);f.useEffect(function(){a.current=e},[e]),f.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var y=Gv([e.lockRef.current],(e.shards||[]).map(pS),!0).filter(Boolean);return y.forEach(function(S){return S.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),y.forEach(function(S){return S.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var c=f.useCallback(function(y,S){if("touches"in y&&y.touches.length===2)return!a.current.allowPinchZoom;var k=Uf(y),_=n.current,P="deltaX"in y?y.deltaX:_[0]-k[0],I="deltaY"in y?y.deltaY:_[1]-k[1],E,O=y.target,R=Math.abs(P)>Math.abs(I)?"h":"v";if("touches"in y&&R==="h"&&O.type==="range")return!1;var M=dS(R,O);if(!M)return!0;if(M?E=R:(E=R==="v"?"h":"v",M=dS(R,O)),!M)return!1;if(!r.current&&"changedTouches"in y&&(P||I)&&(r.current=E),!E)return!0;var D=r.current||E;return Nz(D,S,y,D==="h"?P:I,!0)},[]),d=f.useCallback(function(y){var S=y;if(!(!Bl.length||Bl[Bl.length-1]!==s)){var k="deltaY"in S?fS(S):Uf(S),_=t.current.filter(function(E){return E.name===S.type&&E.target===S.target&&$z(E.delta,k)})[0];if(_&&_.should){S.cancelable&&S.preventDefault();return}if(!_){var P=(a.current.shards||[]).map(pS).filter(Boolean).filter(function(E){return E.contains(S.target)}),I=P.length>0?c(S,P[0]):!a.current.noIsolation;I&&S.cancelable&&S.preventDefault()}}},[]),p=f.useCallback(function(y,S,k,_){var P={name:y,delta:S,target:k,should:_};t.current.push(P),setTimeout(function(){t.current=t.current.filter(function(I){return I!==P})},1)},[]),h=f.useCallback(function(y){n.current=Uf(y),r.current=void 0},[]),m=f.useCallback(function(y){p(y.type,fS(y),y.target,c(y,e.lockRef.current))},[]),v=f.useCallback(function(y){p(y.type,Uf(y),y.target,c(y,e.lockRef.current))},[]);f.useEffect(function(){return Bl.push(s),e.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:v}),document.addEventListener("wheel",d,zl),document.addEventListener("touchmove",d,zl),document.addEventListener("touchstart",h,zl),function(){Bl=Bl.filter(function(y){return y!==s}),document.removeEventListener("wheel",d,zl),document.removeEventListener("touchmove",d,zl),document.removeEventListener("touchstart",h,zl)}},[]);var b=e.removeScrollBar,w=e.inert;return f.createElement(f.Fragment,null,w?f.createElement(s,{styles:Lz(o)}):null,b?f.createElement(Ez,{gapMode:e.gapMode}):null)}const Fz=LT(P6,Bz);var R6=f.forwardRef(function(e,t){return f.createElement(wm,Qs({},e,{ref:t,sideCar:Fz}))});R6.classNames=wm.classNames;const Hz=R6;function Wz(e){const{autoFocus:t,trapFocus:n,dialogRef:r,initialFocusRef:o,blockScrollOnMount:s,allowPinchZoom:a,finalFocusRef:c,returnFocusOnClose:d,preserveScrollBarGap:p,lockFocusAcrossFrames:h,isOpen:m}=ll(),[v,b]=LR();f.useEffect(()=>{!v&&b&&setTimeout(b)},[v,b]);const w=k6(r,m);return i.jsx(J3,{autoFocus:t,isDisabled:!n,initialFocusRef:o,finalFocusRef:c,restoreFocus:d,contentRef:r,lockFocusAcrossFrames:h,children:i.jsx(Hz,{removeScrollBar:!p,allowPinchZoom:a,enabled:w===1&&s,forwardProps:!0,children:e.children})})}var id=Ae((e,t)=>{const{className:n,children:r,containerProps:o,motionProps:s,...a}=e,{getDialogProps:c,getDialogContainerProps:d}=ll(),p=c(a,t),h=d(o),m=Ct("chakra-modal__content",n),v=Wc(),b={display:"flex",flexDirection:"column",position:"relative",width:"100%",outline:0,...v.dialog},w={display:"flex",width:"100vw",height:"$100vh",position:"fixed",left:0,top:0,...v.dialogContainer},{motionPreset:y}=ll();return i.jsx(Wz,{children:i.jsx(je.div,{...h,className:"chakra-modal__content-container",tabIndex:-1,__css:w,children:i.jsx(C6,{preset:y,motionProps:s,className:m,...p,__css:b,children:r})})})});id.displayName="ModalContent";function Ad(e){const{leastDestructiveRef:t,...n}=e;return i.jsx(ad,{...n,initialFocusRef:t})}var Td=Ae((e,t)=>i.jsx(id,{ref:t,role:"alertdialog",...e})),Ma=Ae((e,t)=>{const{className:n,...r}=e,o=Ct("chakra-modal__footer",n),a={display:"flex",alignItems:"center",justifyContent:"flex-end",...Wc().footer};return i.jsx(je.footer,{ref:t,...r,__css:a,className:o})});Ma.displayName="ModalFooter";var Da=Ae((e,t)=>{const{className:n,...r}=e,{headerId:o,setHeaderMounted:s}=ll();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const a=Ct("chakra-modal__header",n),d={flex:0,...Wc().header};return i.jsx(je.header,{ref:t,className:a,id:o,...r,__css:d})});Da.displayName="ModalHeader";var Vz=je(Er.div),Aa=Ae((e,t)=>{const{className:n,transition:r,motionProps:o,...s}=e,a=Ct("chakra-modal__overlay",n),d={pos:"fixed",left:"0",top:"0",w:"100vw",h:"100vh",...Wc().overlay},{motionPreset:p}=ll(),m=o||(p==="none"?{}:q5);return i.jsx(Vz,{...m,__css:d,ref:t,className:a,...s})});Aa.displayName="ModalOverlay";var Ta=Ae((e,t)=>{const{className:n,...r}=e,{bodyId:o,setBodyMounted:s}=ll();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const a=Ct("chakra-modal__body",n),c=Wc();return i.jsx(je.div,{ref:t,className:a,id:o,...r,__css:c.body})});Ta.displayName="ModalBody";var Gb=Ae((e,t)=>{const{onClick:n,className:r,...o}=e,{onClose:s}=ll(),a=Ct("chakra-modal__close-btn",r),c=Wc();return i.jsx(r9,{ref:t,__css:c.closeButton,className:a,onClick:et(n,d=>{d.stopPropagation(),s()}),...o})});Gb.displayName="ModalCloseButton";var Uz=e=>i.jsx(fo,{viewBox:"0 0 24 24",...e,children:i.jsx("path",{fill:"currentColor",d:"M21,5H3C2.621,5,2.275,5.214,2.105,5.553C1.937,5.892,1.973,6.297,2.2,6.6l9,12 c0.188,0.252,0.485,0.4,0.8,0.4s0.611-0.148,0.8-0.4l9-12c0.228-0.303,0.264-0.708,0.095-1.047C21.725,5.214,21.379,5,21,5z"})}),Gz=e=>i.jsx(fo,{viewBox:"0 0 24 24",...e,children:i.jsx("path",{fill:"currentColor",d:"M12.8,5.4c-0.377-0.504-1.223-0.504-1.6,0l-9,12c-0.228,0.303-0.264,0.708-0.095,1.047 C2.275,18.786,2.621,19,3,19h18c0.379,0,0.725-0.214,0.895-0.553c0.169-0.339,0.133-0.744-0.095-1.047L12.8,5.4z"})});function hS(e,t,n,r){f.useEffect(()=>{var o;if(!e.current||!r)return;const s=(o=e.current.ownerDocument.defaultView)!=null?o:window,a=Array.isArray(t)?t:[t],c=new s.MutationObserver(d=>{for(const p of d)p.type==="attributes"&&p.attributeName&&a.includes(p.attributeName)&&n(p)});return c.observe(e.current,{attributes:!0,attributeFilter:a}),()=>c.disconnect()})}function qz(e,t){const n=or(e);f.useEffect(()=>{let r=null;const o=()=>n();return t!==null&&(r=window.setInterval(o,t)),()=>{r&&window.clearInterval(r)}},[t,n])}var Kz=50,mS=300;function Xz(e,t){const[n,r]=f.useState(!1),[o,s]=f.useState(null),[a,c]=f.useState(!0),d=f.useRef(null),p=()=>clearTimeout(d.current);qz(()=>{o==="increment"&&e(),o==="decrement"&&t()},n?Kz:null);const h=f.useCallback(()=>{a&&e(),d.current=setTimeout(()=>{c(!1),r(!0),s("increment")},mS)},[e,a]),m=f.useCallback(()=>{a&&t(),d.current=setTimeout(()=>{c(!1),r(!0),s("decrement")},mS)},[t,a]),v=f.useCallback(()=>{c(!0),r(!1),p()},[]);return f.useEffect(()=>()=>p(),[]),{up:h,down:m,stop:v,isSpinning:n}}var Yz=/^[Ee0-9+\-.]$/;function Qz(e){return Yz.test(e)}function Jz(e,t){if(e.key==null)return!0;const n=e.ctrlKey||e.altKey||e.metaKey;return!(e.key.length===1)||n?!0:t(e.key)}function Zz(e={}){const{focusInputOnChange:t=!0,clampValueOnBlur:n=!0,keepWithinRange:r=!0,min:o=Number.MIN_SAFE_INTEGER,max:s=Number.MAX_SAFE_INTEGER,step:a=1,isReadOnly:c,isDisabled:d,isRequired:p,isInvalid:h,pattern:m="[0-9]*(.[0-9]+)?",inputMode:v="decimal",allowMouseWheel:b,id:w,onChange:y,precision:S,name:k,"aria-describedby":_,"aria-label":P,"aria-labelledby":I,onFocus:E,onBlur:O,onInvalid:R,getAriaValueText:M,isValidCharacter:D,format:A,parse:L,...Q}=e,F=or(E),V=or(O),q=or(R),G=or(D??Qz),T=or(M),z=bT(e),{update:$,increment:Y,decrement:ae}=z,[fe,ie]=f.useState(!1),X=!(c||d),K=f.useRef(null),U=f.useRef(null),se=f.useRef(null),re=f.useRef(null),oe=f.useCallback(we=>we.split("").filter(G).join(""),[G]),pe=f.useCallback(we=>{var ht;return(ht=L==null?void 0:L(we))!=null?ht:we},[L]),le=f.useCallback(we=>{var ht;return((ht=A==null?void 0:A(we))!=null?ht:we).toString()},[A]);Fa(()=>{(z.valueAsNumber>s||z.valueAsNumber{if(!K.current)return;if(K.current.value!=z.value){const ht=pe(K.current.value);z.setValue(oe(ht))}},[pe,oe]);const ge=f.useCallback((we=a)=>{X&&Y(we)},[Y,X,a]),ke=f.useCallback((we=a)=>{X&&ae(we)},[ae,X,a]),xe=Xz(ge,ke);hS(se,"disabled",xe.stop,xe.isSpinning),hS(re,"disabled",xe.stop,xe.isSpinning);const de=f.useCallback(we=>{if(we.nativeEvent.isComposing)return;const $t=pe(we.currentTarget.value);$(oe($t)),U.current={start:we.currentTarget.selectionStart,end:we.currentTarget.selectionEnd}},[$,oe,pe]),Te=f.useCallback(we=>{var ht,$t,Lt;F==null||F(we),U.current&&(we.target.selectionStart=($t=U.current.start)!=null?$t:(ht=we.currentTarget.value)==null?void 0:ht.length,we.currentTarget.selectionEnd=(Lt=U.current.end)!=null?Lt:we.currentTarget.selectionStart)},[F]),Ee=f.useCallback(we=>{if(we.nativeEvent.isComposing)return;Jz(we,G)||we.preventDefault();const ht=$e(we)*a,$t=we.key,Le={ArrowUp:()=>ge(ht),ArrowDown:()=>ke(ht),Home:()=>$(o),End:()=>$(s)}[$t];Le&&(we.preventDefault(),Le(we))},[G,a,ge,ke,$,o,s]),$e=we=>{let ht=1;return(we.metaKey||we.ctrlKey)&&(ht=.1),we.shiftKey&&(ht=10),ht},kt=f.useMemo(()=>{const we=T==null?void 0:T(z.value);if(we!=null)return we;const ht=z.value.toString();return ht||void 0},[z.value,T]),ct=f.useCallback(()=>{let we=z.value;if(z.value==="")return;/^[eE]/.test(z.value.toString())?z.setValue(""):(z.valueAsNumbers&&(we=s),z.cast(we))},[z,s,o]),on=f.useCallback(()=>{ie(!1),n&&ct()},[n,ie,ct]),vt=f.useCallback(()=>{t&&requestAnimationFrame(()=>{var we;(we=K.current)==null||we.focus()})},[t]),bt=f.useCallback(we=>{we.preventDefault(),xe.up(),vt()},[vt,xe]),Se=f.useCallback(we=>{we.preventDefault(),xe.down(),vt()},[vt,xe]);Yi(()=>K.current,"wheel",we=>{var ht,$t;const Le=(($t=(ht=K.current)==null?void 0:ht.ownerDocument)!=null?$t:document).activeElement===K.current;if(!b||!Le)return;we.preventDefault();const Ge=$e(we)*a,Pn=Math.sign(we.deltaY);Pn===-1?ge(Ge):Pn===1&&ke(Ge)},{passive:!1});const Me=f.useCallback((we={},ht=null)=>{const $t=d||r&&z.isAtMax;return{...we,ref:cn(ht,se),role:"button",tabIndex:-1,onPointerDown:et(we.onPointerDown,Lt=>{Lt.button!==0||$t||bt(Lt)}),onPointerLeave:et(we.onPointerLeave,xe.stop),onPointerUp:et(we.onPointerUp,xe.stop),disabled:$t,"aria-disabled":rs($t)}},[z.isAtMax,r,bt,xe.stop,d]),Pt=f.useCallback((we={},ht=null)=>{const $t=d||r&&z.isAtMin;return{...we,ref:cn(ht,re),role:"button",tabIndex:-1,onPointerDown:et(we.onPointerDown,Lt=>{Lt.button!==0||$t||Se(Lt)}),onPointerLeave:et(we.onPointerLeave,xe.stop),onPointerUp:et(we.onPointerUp,xe.stop),disabled:$t,"aria-disabled":rs($t)}},[z.isAtMin,r,Se,xe.stop,d]),Tt=f.useCallback((we={},ht=null)=>{var $t,Lt,Le,Ge;return{name:k,inputMode:v,type:"text",pattern:m,"aria-labelledby":I,"aria-label":P,"aria-describedby":_,id:w,disabled:d,...we,readOnly:($t=we.readOnly)!=null?$t:c,"aria-readonly":(Lt=we.readOnly)!=null?Lt:c,"aria-required":(Le=we.required)!=null?Le:p,required:(Ge=we.required)!=null?Ge:p,ref:cn(K,ht),value:le(z.value),role:"spinbutton","aria-valuemin":o,"aria-valuemax":s,"aria-valuenow":Number.isNaN(z.valueAsNumber)?void 0:z.valueAsNumber,"aria-invalid":rs(h??z.isOutOfRange),"aria-valuetext":kt,autoComplete:"off",autoCorrect:"off",onChange:et(we.onChange,de),onKeyDown:et(we.onKeyDown,Ee),onFocus:et(we.onFocus,Te,()=>ie(!0)),onBlur:et(we.onBlur,V,on)}},[k,v,m,I,P,le,_,w,d,p,c,h,z.value,z.valueAsNumber,z.isOutOfRange,o,s,kt,de,Ee,Te,V,on]);return{value:le(z.value),valueAsNumber:z.valueAsNumber,isFocused:fe,isDisabled:d,isReadOnly:c,getIncrementButtonProps:Me,getDecrementButtonProps:Pt,getInputProps:Tt,htmlProps:Q}}var[eB,Sm]=Dn({name:"NumberInputStylesContext",errorMessage:`useNumberInputStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[tB,qb]=Dn({name:"NumberInputContext",errorMessage:"useNumberInputContext: `context` is undefined. Seems you forgot to wrap number-input's components within "}),Cm=Ae(function(t,n){const r=Fr("NumberInput",t),o=qn(t),s=gb(o),{htmlProps:a,...c}=Zz(s),d=f.useMemo(()=>c,[c]);return i.jsx(tB,{value:d,children:i.jsx(eB,{value:r,children:i.jsx(je.div,{...a,ref:n,className:Ct("chakra-numberinput",t.className),__css:{position:"relative",zIndex:0,...r.root}})})})});Cm.displayName="NumberInput";var km=Ae(function(t,n){const r=Sm();return i.jsx(je.div,{"aria-hidden":!0,ref:n,...t,__css:{display:"flex",flexDirection:"column",position:"absolute",top:"0",insetEnd:"0px",margin:"1px",height:"calc(100% - 2px)",zIndex:1,...r.stepperGroup}})});km.displayName="NumberInputStepper";var _m=Ae(function(t,n){const{getInputProps:r}=qb(),o=r(t,n),s=Sm();return i.jsx(je.input,{...o,className:Ct("chakra-numberinput__field",t.className),__css:{width:"100%",...s.field}})});_m.displayName="NumberInputField";var M6=je("div",{baseStyle:{display:"flex",justifyContent:"center",alignItems:"center",flex:1,transitionProperty:"common",transitionDuration:"normal",userSelect:"none",cursor:"pointer",lineHeight:"normal"}}),Pm=Ae(function(t,n){var r;const o=Sm(),{getDecrementButtonProps:s}=qb(),a=s(t,n);return i.jsx(M6,{...a,__css:o.stepper,children:(r=t.children)!=null?r:i.jsx(Uz,{})})});Pm.displayName="NumberDecrementStepper";var jm=Ae(function(t,n){var r;const{getIncrementButtonProps:o}=qb(),s=o(t,n),a=Sm();return i.jsx(M6,{...s,__css:a.stepper,children:(r=t.children)!=null?r:i.jsx(Gz,{})})});jm.displayName="NumberIncrementStepper";var[nB,Nd]=Dn({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),[rB,Kb]=Dn({name:"PopoverStylesContext",errorMessage:`usePopoverStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `});function Xb(e){const t=f.Children.only(e.children),{getTriggerProps:n}=Nd();return f.cloneElement(t,n(t.props,t.ref))}Xb.displayName="PopoverTrigger";var Fl={click:"click",hover:"hover"};function oB(e={}){const{closeOnBlur:t=!0,closeOnEsc:n=!0,initialFocusRef:r,id:o,returnFocusOnClose:s=!0,autoFocus:a=!0,arrowSize:c,arrowShadowColor:d,trigger:p=Fl.click,openDelay:h=200,closeDelay:m=200,isLazy:v,lazyBehavior:b="unmount",computePositionOnMount:w,...y}=e,{isOpen:S,onClose:k,onOpen:_,onToggle:P}=Wb(e),I=f.useRef(null),E=f.useRef(null),O=f.useRef(null),R=f.useRef(!1),M=f.useRef(!1);S&&(M.current=!0);const[D,A]=f.useState(!1),[L,Q]=f.useState(!1),F=f.useId(),V=o??F,[q,G,T,z]=["popover-trigger","popover-content","popover-header","popover-body"].map(de=>`${de}-${V}`),{referenceRef:$,getArrowProps:Y,getPopperProps:ae,getArrowInnerProps:fe,forceUpdate:ie}=Hb({...y,enabled:S||!!w}),X=v6({isOpen:S,ref:O});d3({enabled:S,ref:E}),a6(O,{focusRef:E,visible:S,shouldFocus:s&&p===Fl.click}),d$(O,{focusRef:r,visible:S,shouldFocus:a&&p===Fl.click});const K=Vb({wasSelected:M.current,enabled:v,mode:b,isSelected:X.present}),U=f.useCallback((de={},Te=null)=>{const Ee={...de,style:{...de.style,transformOrigin:Ir.transformOrigin.varRef,[Ir.arrowSize.var]:c?`${c}px`:void 0,[Ir.arrowShadowColor.var]:d},ref:cn(O,Te),children:K?de.children:null,id:G,tabIndex:-1,role:"dialog",onKeyDown:et(de.onKeyDown,$e=>{n&&$e.key==="Escape"&&k()}),onBlur:et(de.onBlur,$e=>{const kt=gS($e),ct=$0(O.current,kt),on=$0(E.current,kt);S&&t&&(!ct&&!on)&&k()}),"aria-labelledby":D?T:void 0,"aria-describedby":L?z:void 0};return p===Fl.hover&&(Ee.role="tooltip",Ee.onMouseEnter=et(de.onMouseEnter,()=>{R.current=!0}),Ee.onMouseLeave=et(de.onMouseLeave,$e=>{$e.nativeEvent.relatedTarget!==null&&(R.current=!1,setTimeout(()=>k(),m))})),Ee},[K,G,D,T,L,z,p,n,k,S,t,m,d,c]),se=f.useCallback((de={},Te=null)=>ae({...de,style:{visibility:S?"visible":"hidden",...de.style}},Te),[S,ae]),re=f.useCallback((de,Te=null)=>({...de,ref:cn(Te,I,$)}),[I,$]),oe=f.useRef(),pe=f.useRef(),le=f.useCallback(de=>{I.current==null&&$(de)},[$]),ge=f.useCallback((de={},Te=null)=>{const Ee={...de,ref:cn(E,Te,le),id:q,"aria-haspopup":"dialog","aria-expanded":S,"aria-controls":G};return p===Fl.click&&(Ee.onClick=et(de.onClick,P)),p===Fl.hover&&(Ee.onFocus=et(de.onFocus,()=>{oe.current===void 0&&_()}),Ee.onBlur=et(de.onBlur,$e=>{const kt=gS($e),ct=!$0(O.current,kt);S&&t&&ct&&k()}),Ee.onKeyDown=et(de.onKeyDown,$e=>{$e.key==="Escape"&&k()}),Ee.onMouseEnter=et(de.onMouseEnter,()=>{R.current=!0,oe.current=window.setTimeout(()=>_(),h)}),Ee.onMouseLeave=et(de.onMouseLeave,()=>{R.current=!1,oe.current&&(clearTimeout(oe.current),oe.current=void 0),pe.current=window.setTimeout(()=>{R.current===!1&&k()},m)})),Ee},[q,S,G,p,le,P,_,t,k,h,m]);f.useEffect(()=>()=>{oe.current&&clearTimeout(oe.current),pe.current&&clearTimeout(pe.current)},[]);const ke=f.useCallback((de={},Te=null)=>({...de,id:T,ref:cn(Te,Ee=>{A(!!Ee)})}),[T]),xe=f.useCallback((de={},Te=null)=>({...de,id:z,ref:cn(Te,Ee=>{Q(!!Ee)})}),[z]);return{forceUpdate:ie,isOpen:S,onAnimationComplete:X.onComplete,onClose:k,getAnchorProps:re,getArrowProps:Y,getArrowInnerProps:fe,getPopoverPositionerProps:se,getPopoverProps:U,getTriggerProps:ge,getHeaderProps:ke,getBodyProps:xe}}function $0(e,t){return e===t||(e==null?void 0:e.contains(t))}function gS(e){var t;const n=e.currentTarget.ownerDocument.activeElement;return(t=e.relatedTarget)!=null?t:n}function Yb(e){const t=Fr("Popover",e),{children:n,...r}=qn(e),o=Nc(),s=oB({...r,direction:o.direction});return i.jsx(nB,{value:s,children:i.jsx(rB,{value:t,children:X1(n,{isOpen:s.isOpen,onClose:s.onClose,forceUpdate:s.forceUpdate})})})}Yb.displayName="Popover";var L0=(e,t)=>t?`${e}.${t}, ${t}`:void 0;function D6(e){var t;const{bg:n,bgColor:r,backgroundColor:o,shadow:s,boxShadow:a,shadowColor:c}=e,{getArrowProps:d,getArrowInnerProps:p}=Nd(),h=Kb(),m=(t=n??r)!=null?t:o,v=s??a;return i.jsx(je.div,{...d(),className:"chakra-popover__arrow-positioner",children:i.jsx(je.div,{className:Ct("chakra-popover__arrow",e.className),...p(e),__css:{"--popper-arrow-shadow-color":L0("colors",c),"--popper-arrow-bg":L0("colors",m),"--popper-arrow-shadow":L0("shadows",v),...h.arrow}})})}D6.displayName="PopoverArrow";var A6=Ae(function(t,n){const{getBodyProps:r}=Nd(),o=Kb();return i.jsx(je.div,{...r(t,n),className:Ct("chakra-popover__body",t.className),__css:o.body})});A6.displayName="PopoverBody";function sB(e){if(e)return{enter:{...e.enter,visibility:"visible"},exit:{...e.exit,transitionEnd:{visibility:"hidden"}}}}var aB={exit:{opacity:0,scale:.95,transition:{duration:.1,ease:[.4,0,1,1]}},enter:{scale:1,opacity:1,transition:{duration:.15,ease:[0,0,.2,1]}}},iB=je(Er.section),T6=Ae(function(t,n){const{variants:r=aB,...o}=t,{isOpen:s}=Nd();return i.jsx(iB,{ref:n,variants:sB(r),initial:!1,animate:s?"enter":"exit",...o})});T6.displayName="PopoverTransition";var Qb=Ae(function(t,n){const{rootProps:r,motionProps:o,...s}=t,{getPopoverProps:a,getPopoverPositionerProps:c,onAnimationComplete:d}=Nd(),p=Kb(),h={position:"relative",display:"flex",flexDirection:"column",...p.content};return i.jsx(je.div,{...c(r),__css:p.popper,className:"chakra-popover__popper",children:i.jsx(T6,{...o,...a(s,n),onAnimationComplete:cm(d,s.onAnimationComplete),className:Ct("chakra-popover__content",t.className),__css:h})})});Qb.displayName="PopoverContent";function lB(e,t,n){return(e-t)*100/(n-t)}za({"0%":{strokeDasharray:"1, 400",strokeDashoffset:"0"},"50%":{strokeDasharray:"400, 400",strokeDashoffset:"-100"},"100%":{strokeDasharray:"400, 400",strokeDashoffset:"-260"}});za({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}});var cB=za({"0%":{left:"-40%"},"100%":{left:"100%"}}),uB=za({from:{backgroundPosition:"1rem 0"},to:{backgroundPosition:"0 0"}});function dB(e){const{value:t=0,min:n,max:r,valueText:o,getValueText:s,isIndeterminate:a,role:c="progressbar"}=e,d=lB(t,n,r);return{bind:{"data-indeterminate":a?"":void 0,"aria-valuemax":r,"aria-valuemin":n,"aria-valuenow":a?void 0:t,"aria-valuetext":(()=>{if(t!=null)return typeof s=="function"?s(t,d):o})(),role:c},percent:d,value:t}}var[fB,pB]=Dn({name:"ProgressStylesContext",errorMessage:`useProgressStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),hB=Ae((e,t)=>{const{min:n,max:r,value:o,isIndeterminate:s,role:a,...c}=e,d=dB({value:o,min:n,max:r,isIndeterminate:s,role:a}),h={height:"100%",...pB().filledTrack};return i.jsx(je.div,{ref:t,style:{width:`${d.percent}%`,...c.style},...d.bind,...c,__css:h})}),N6=Ae((e,t)=>{var n;const{value:r,min:o=0,max:s=100,hasStripe:a,isAnimated:c,children:d,borderRadius:p,isIndeterminate:h,"aria-label":m,"aria-labelledby":v,"aria-valuetext":b,title:w,role:y,...S}=qn(e),k=Fr("Progress",e),_=p??((n=k.track)==null?void 0:n.borderRadius),P={animation:`${uB} 1s linear infinite`},O={...!h&&a&&c&&P,...h&&{position:"absolute",willChange:"left",minWidth:"50%",animation:`${cB} 1s ease infinite normal none running`}},R={overflow:"hidden",position:"relative",...k.track};return i.jsx(je.div,{ref:t,borderRadius:_,__css:R,...S,children:i.jsxs(fB,{value:k,children:[i.jsx(hB,{"aria-label":m,"aria-labelledby":v,"aria-valuetext":b,min:o,max:s,value:r,isIndeterminate:h,css:O,borderRadius:_,title:w,role:y}),d]})})});N6.displayName="Progress";function mB(e){return e&&Pv(e)&&Pv(e.target)}function gB(e={}){const{onChange:t,value:n,defaultValue:r,name:o,isDisabled:s,isFocusable:a,isNative:c,...d}=e,[p,h]=f.useState(r||""),m=typeof n<"u",v=m?n:p,b=f.useRef(null),w=f.useCallback(()=>{const E=b.current;if(!E)return;let O="input:not(:disabled):checked";const R=E.querySelector(O);if(R){R.focus();return}O="input:not(:disabled)";const M=E.querySelector(O);M==null||M.focus()},[]),S=`radio-${f.useId()}`,k=o||S,_=f.useCallback(E=>{const O=mB(E)?E.target.value:E;m||h(O),t==null||t(String(O))},[t,m]),P=f.useCallback((E={},O=null)=>({...E,ref:cn(O,b),role:"radiogroup"}),[]),I=f.useCallback((E={},O=null)=>({...E,ref:O,name:k,[c?"checked":"isChecked"]:v!=null?E.value===v:void 0,onChange(M){_(M)},"data-radiogroup":!0}),[c,k,_,v]);return{getRootProps:P,getRadioProps:I,name:k,ref:b,focus:w,setValue:h,value:v,onChange:_,isDisabled:s,isFocusable:a,htmlProps:d}}var[vB,$6]=Dn({name:"RadioGroupContext",strict:!1}),rh=Ae((e,t)=>{const{colorScheme:n,size:r,variant:o,children:s,className:a,isDisabled:c,isFocusable:d,...p}=e,{value:h,onChange:m,getRootProps:v,name:b,htmlProps:w}=gB(p),y=f.useMemo(()=>({name:b,size:r,onChange:m,colorScheme:n,value:h,variant:o,isDisabled:c,isFocusable:d}),[b,r,m,n,h,o,c,d]);return i.jsx(vB,{value:y,children:i.jsx(je.div,{...v(w,t),className:Ct("chakra-radio-group",a),children:s})})});rh.displayName="RadioGroup";var bB={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"};function yB(e={}){const{defaultChecked:t,isChecked:n,isFocusable:r,isDisabled:o,isReadOnly:s,isRequired:a,onChange:c,isInvalid:d,name:p,value:h,id:m,"data-radiogroup":v,"aria-describedby":b,...w}=e,y=`radio-${f.useId()}`,S=Pd(),_=!!$6()||!!v;let I=!!S&&!_?S.id:y;I=m??I;const E=o??(S==null?void 0:S.isDisabled),O=s??(S==null?void 0:S.isReadOnly),R=a??(S==null?void 0:S.isRequired),M=d??(S==null?void 0:S.isInvalid),[D,A]=f.useState(!1),[L,Q]=f.useState(!1),[F,V]=f.useState(!1),[q,G]=f.useState(!1),[T,z]=f.useState(!!t),$=typeof n<"u",Y=$?n:T;f.useEffect(()=>e3(A),[]);const ae=f.useCallback(le=>{if(O||E){le.preventDefault();return}$||z(le.target.checked),c==null||c(le)},[$,E,O,c]),fe=f.useCallback(le=>{le.key===" "&&G(!0)},[G]),ie=f.useCallback(le=>{le.key===" "&&G(!1)},[G]),X=f.useCallback((le={},ge=null)=>({...le,ref:ge,"data-active":Ft(q),"data-hover":Ft(F),"data-disabled":Ft(E),"data-invalid":Ft(M),"data-checked":Ft(Y),"data-focus":Ft(L),"data-focus-visible":Ft(L&&D),"data-readonly":Ft(O),"aria-hidden":!0,onMouseDown:et(le.onMouseDown,()=>G(!0)),onMouseUp:et(le.onMouseUp,()=>G(!1)),onMouseEnter:et(le.onMouseEnter,()=>V(!0)),onMouseLeave:et(le.onMouseLeave,()=>V(!1))}),[q,F,E,M,Y,L,O,D]),{onFocus:K,onBlur:U}=S??{},se=f.useCallback((le={},ge=null)=>{const ke=E&&!r;return{...le,id:I,ref:ge,type:"radio",name:p,value:h,onChange:et(le.onChange,ae),onBlur:et(U,le.onBlur,()=>Q(!1)),onFocus:et(K,le.onFocus,()=>Q(!0)),onKeyDown:et(le.onKeyDown,fe),onKeyUp:et(le.onKeyUp,ie),checked:Y,disabled:ke,readOnly:O,required:R,"aria-invalid":rs(M),"aria-disabled":rs(ke),"aria-required":rs(R),"data-readonly":Ft(O),"aria-describedby":b,style:bB}},[E,r,I,p,h,ae,U,K,fe,ie,Y,O,R,M,b]);return{state:{isInvalid:M,isFocused:L,isChecked:Y,isActive:q,isHovered:F,isDisabled:E,isReadOnly:O,isRequired:R},getCheckboxProps:X,getRadioProps:X,getInputProps:se,getLabelProps:(le={},ge=null)=>({...le,ref:ge,onMouseDown:et(le.onMouseDown,xB),"data-disabled":Ft(E),"data-checked":Ft(Y),"data-invalid":Ft(M)}),getRootProps:(le,ge=null)=>({...le,ref:ge,"data-disabled":Ft(E),"data-checked":Ft(Y),"data-invalid":Ft(M)}),htmlProps:w}}function xB(e){e.preventDefault(),e.stopPropagation()}function wB(e,t){const n={},r={};for(const[o,s]of Object.entries(e))t.includes(o)?n[o]=s:r[o]=s;return[n,r]}var ya=Ae((e,t)=>{var n;const r=$6(),{onChange:o,value:s}=e,a=Fr("Radio",{...r,...e}),c=qn(e),{spacing:d="0.5rem",children:p,isDisabled:h=r==null?void 0:r.isDisabled,isFocusable:m=r==null?void 0:r.isFocusable,inputProps:v,...b}=c;let w=e.isChecked;(r==null?void 0:r.value)!=null&&s!=null&&(w=r.value===s);let y=o;r!=null&&r.onChange&&s!=null&&(y=cm(r.onChange,o));const S=(n=e==null?void 0:e.name)!=null?n:r==null?void 0:r.name,{getInputProps:k,getCheckboxProps:_,getLabelProps:P,getRootProps:I,htmlProps:E}=yB({...b,isChecked:w,isFocusable:m,isDisabled:h,onChange:y,name:S}),[O,R]=wB(E,T_),M=_(R),D=k(v,t),A=P(),L=Object.assign({},O,I()),Q={display:"inline-flex",alignItems:"center",verticalAlign:"top",cursor:"pointer",position:"relative",...a.container},F={display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,...a.control},V={userSelect:"none",marginStart:d,...a.label};return i.jsxs(je.label,{className:"chakra-radio",...L,__css:Q,children:[i.jsx("input",{className:"chakra-radio__input",...D}),i.jsx(je.span,{className:"chakra-radio__control",...M,__css:F}),p&&i.jsx(je.span,{className:"chakra-radio__label",...A,__css:V,children:p})]})});ya.displayName="Radio";var L6=Ae(function(t,n){const{children:r,placeholder:o,className:s,...a}=t;return i.jsxs(je.select,{...a,ref:n,className:Ct("chakra-select",s),children:[o&&i.jsx("option",{value:"",children:o}),r]})});L6.displayName="SelectField";function SB(e,t){const n={},r={};for(const[o,s]of Object.entries(e))t.includes(o)?n[o]=s:r[o]=s;return[n,r]}var z6=Ae((e,t)=>{var n;const r=Fr("Select",e),{rootProps:o,placeholder:s,icon:a,color:c,height:d,h:p,minH:h,minHeight:m,iconColor:v,iconSize:b,...w}=qn(e),[y,S]=SB(w,T_),k=mb(S),_={width:"100%",height:"fit-content",position:"relative",color:c},P={paddingEnd:"2rem",...r.field,_focus:{zIndex:"unset",...(n=r.field)==null?void 0:n._focus}};return i.jsxs(je.div,{className:"chakra-select__wrapper",__css:_,...y,...o,children:[i.jsx(L6,{ref:t,height:p??d,minH:h??m,placeholder:s,...k,__css:P,children:e.children}),i.jsx(B6,{"data-disabled":Ft(k.disabled),...(v||c)&&{color:v||c},__css:r.icon,...b&&{fontSize:b},children:a})]})});z6.displayName="Select";var CB=e=>i.jsx("svg",{viewBox:"0 0 24 24",...e,children:i.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})}),kB=je("div",{baseStyle:{position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",top:"50%",transform:"translateY(-50%)"}}),B6=e=>{const{children:t=i.jsx(CB,{}),...n}=e,r=f.cloneElement(t,{role:"presentation",className:"chakra-select__icon",focusable:!1,"aria-hidden":!0,style:{width:"1em",height:"1em",color:"currentColor"}});return i.jsx(kB,{...n,className:"chakra-select__icon-wrapper",children:f.isValidElement(t)?r:null})};B6.displayName="SelectIcon";function _B(){const e=f.useRef(!0);return f.useEffect(()=>{e.current=!1},[]),e.current}function PB(e){const t=f.useRef();return f.useEffect(()=>{t.current=e},[e]),t.current}var jB=je("div",{baseStyle:{boxShadow:"none",backgroundClip:"padding-box",cursor:"default",color:"transparent",pointerEvents:"none",userSelect:"none","&::before, &::after, *":{visibility:"hidden"}}}),n1=N_("skeleton-start-color"),r1=N_("skeleton-end-color"),IB=za({from:{opacity:0},to:{opacity:1}}),EB=za({from:{borderColor:n1.reference,background:n1.reference},to:{borderColor:r1.reference,background:r1.reference}}),Im=Ae((e,t)=>{const n={...e,fadeDuration:typeof e.fadeDuration=="number"?e.fadeDuration:.4,speed:typeof e.speed=="number"?e.speed:.8},r=ia("Skeleton",n),o=_B(),{startColor:s="",endColor:a="",isLoaded:c,fadeDuration:d,speed:p,className:h,fitContent:m,...v}=qn(n),[b,w]=$c("colors",[s,a]),y=PB(c),S=Ct("chakra-skeleton",h),k={...b&&{[n1.variable]:b},...w&&{[r1.variable]:w}};if(c){const _=o||y?"none":`${IB} ${d}s`;return i.jsx(je.div,{ref:t,className:S,__css:{animation:_},...v})}return i.jsx(jB,{ref:t,className:S,...v,__css:{width:m?"fit-content":void 0,...r,...k,_dark:{...r._dark,...k},animation:`${p}s linear infinite alternate ${EB}`}})});Im.displayName="Skeleton";var Zo=e=>e?"":void 0,uc=e=>e?!0:void 0,ji=(...e)=>e.filter(Boolean).join(" ");function dc(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function OB(e){return{root:`slider-root-${e}`,getThumb:t=>`slider-thumb-${e}-${t}`,getInput:t=>`slider-input-${e}-${t}`,track:`slider-track-${e}`,innerTrack:`slider-filled-track-${e}`,getMarker:t=>`slider-marker-${e}-${t}`,output:`slider-output-${e}`}}function Mu(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}var Rp={width:0,height:0},Gf=e=>e||Rp;function F6(e){const{orientation:t,thumbPercents:n,thumbRects:r,isReversed:o}=e,s=y=>{var S;const k=(S=r[y])!=null?S:Rp;return{position:"absolute",userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",touchAction:"none",...Mu({orientation:t,vertical:{bottom:`calc(${n[y]}% - ${k.height/2}px)`},horizontal:{left:`calc(${n[y]}% - ${k.width/2}px)`}})}},a=t==="vertical"?r.reduce((y,S)=>Gf(y).height>Gf(S).height?y:S,Rp):r.reduce((y,S)=>Gf(y).width>Gf(S).width?y:S,Rp),c={position:"relative",touchAction:"none",WebkitTapHighlightColor:"rgba(0,0,0,0)",userSelect:"none",outline:0,...Mu({orientation:t,vertical:a?{paddingLeft:a.width/2,paddingRight:a.width/2}:{},horizontal:a?{paddingTop:a.height/2,paddingBottom:a.height/2}:{}})},d={position:"absolute",...Mu({orientation:t,vertical:{left:"50%",transform:"translateX(-50%)",height:"100%"},horizontal:{top:"50%",transform:"translateY(-50%)",width:"100%"}})},p=n.length===1,h=[0,o?100-n[0]:n[0]],m=p?h:n;let v=m[0];!p&&o&&(v=100-v);const b=Math.abs(m[m.length-1]-m[0]),w={...d,...Mu({orientation:t,vertical:o?{height:`${b}%`,top:`${v}%`}:{height:`${b}%`,bottom:`${v}%`},horizontal:o?{width:`${b}%`,right:`${v}%`}:{width:`${b}%`,left:`${v}%`}})};return{trackStyle:d,innerTrackStyle:w,rootStyle:c,getThumbStyle:s}}function H6(e){const{isReversed:t,direction:n,orientation:r}=e;return n==="ltr"||r==="vertical"?t:!t}function RB(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function MB(e){const t=AB(e);return typeof t.PointerEvent<"u"&&e instanceof t.PointerEvent?e.pointerType==="mouse":e instanceof t.MouseEvent}function W6(e){return!!e.touches}function DB(e){return W6(e)&&e.touches.length>1}function AB(e){var t;return(t=e.view)!=null?t:window}function TB(e,t="page"){const n=e.touches[0]||e.changedTouches[0];return{x:n[`${t}X`],y:n[`${t}Y`]}}function NB(e,t="page"){return{x:e[`${t}X`],y:e[`${t}Y`]}}function V6(e,t="page"){return W6(e)?TB(e,t):NB(e,t)}function $B(e){return t=>{const n=MB(t);(!n||n&&t.button===0)&&e(t)}}function LB(e,t=!1){function n(o){e(o,{point:V6(o)})}return t?$B(n):n}function Mp(e,t,n,r){return RB(e,t,LB(n,t==="pointerdown"),r)}var zB=Object.defineProperty,BB=(e,t,n)=>t in e?zB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vs=(e,t,n)=>(BB(e,typeof t!="symbol"?t+"":t,n),n),FB=class{constructor(e,t,n){vs(this,"history",[]),vs(this,"startEvent",null),vs(this,"lastEvent",null),vs(this,"lastEventInfo",null),vs(this,"handlers",{}),vs(this,"removeListeners",()=>{}),vs(this,"threshold",3),vs(this,"win"),vs(this,"updatePoint",()=>{if(!(this.lastEvent&&this.lastEventInfo))return;const c=z0(this.lastEventInfo,this.history),d=this.startEvent!==null,p=UB(c.offset,{x:0,y:0})>=this.threshold;if(!d&&!p)return;const{timestamp:h}=Rw();this.history.push({...c.point,timestamp:h});const{onStart:m,onMove:v}=this.handlers;d||(m==null||m(this.lastEvent,c),this.startEvent=this.lastEvent),v==null||v(this.lastEvent,c)}),vs(this,"onPointerMove",(c,d)=>{this.lastEvent=c,this.lastEventInfo=d,aA.update(this.updatePoint,!0)}),vs(this,"onPointerUp",(c,d)=>{const p=z0(d,this.history),{onEnd:h,onSessionEnd:m}=this.handlers;m==null||m(c,p),this.end(),!(!h||!this.startEvent)&&(h==null||h(c,p))});var r;if(this.win=(r=e.view)!=null?r:window,DB(e))return;this.handlers=t,n&&(this.threshold=n),e.stopPropagation(),e.preventDefault();const o={point:V6(e)},{timestamp:s}=Rw();this.history=[{...o.point,timestamp:s}];const{onSessionStart:a}=t;a==null||a(e,z0(o,this.history)),this.removeListeners=VB(Mp(this.win,"pointermove",this.onPointerMove),Mp(this.win,"pointerup",this.onPointerUp),Mp(this.win,"pointercancel",this.onPointerUp))}updateHandlers(e){this.handlers=e}end(){var e;(e=this.removeListeners)==null||e.call(this),iA.update(this.updatePoint)}};function vS(e,t){return{x:e.x-t.x,y:e.y-t.y}}function z0(e,t){return{point:e.point,delta:vS(e.point,t[t.length-1]),offset:vS(e.point,t[0]),velocity:WB(t,.1)}}var HB=e=>e*1e3;function WB(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const o=e[e.length-1];for(;n>=0&&(r=e[n],!(o.timestamp-r.timestamp>HB(t)));)n--;if(!r)return{x:0,y:0};const s=(o.timestamp-r.timestamp)/1e3;if(s===0)return{x:0,y:0};const a={x:(o.x-r.x)/s,y:(o.y-r.y)/s};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}function VB(...e){return t=>e.reduce((n,r)=>r(n),t)}function B0(e,t){return Math.abs(e-t)}function bS(e){return"x"in e&&"y"in e}function UB(e,t){if(typeof e=="number"&&typeof t=="number")return B0(e,t);if(bS(e)&&bS(t)){const n=B0(e.x,t.x),r=B0(e.y,t.y);return Math.sqrt(n**2+r**2)}return 0}function U6(e){const t=f.useRef(null);return t.current=e,t}function G6(e,t){const{onPan:n,onPanStart:r,onPanEnd:o,onPanSessionStart:s,onPanSessionEnd:a,threshold:c}=t,d=!!(n||r||o||s||a),p=f.useRef(null),h=U6({onSessionStart:s,onSessionEnd:a,onStart:r,onMove:n,onEnd(m,v){p.current=null,o==null||o(m,v)}});f.useEffect(()=>{var m;(m=p.current)==null||m.updateHandlers(h.current)}),f.useEffect(()=>{const m=e.current;if(!m||!d)return;function v(b){p.current=new FB(b,h.current,c)}return Mp(m,"pointerdown",v)},[e,d,h,c]),f.useEffect(()=>()=>{var m;(m=p.current)==null||m.end(),p.current=null},[])}function GB(e,t){if(!e){t(void 0);return}t({width:e.offsetWidth,height:e.offsetHeight});const n=e.ownerDocument.defaultView??window,r=new n.ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const[s]=o;let a,c;if("borderBoxSize"in s){const d=s.borderBoxSize,p=Array.isArray(d)?d[0]:d;a=p.inlineSize,c=p.blockSize}else a=e.offsetWidth,c=e.offsetHeight;t({width:a,height:c})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}var qB=globalThis!=null&&globalThis.document?f.useLayoutEffect:f.useEffect;function KB(e,t){var n,r;if(!e||!e.parentElement)return;const o=(r=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?r:window,s=new o.MutationObserver(()=>{t()});return s.observe(e.parentElement,{childList:!0}),()=>{s.disconnect()}}function q6({getNodes:e,observeMutation:t=!0}){const[n,r]=f.useState([]),[o,s]=f.useState(0);return qB(()=>{const a=e(),c=a.map((d,p)=>GB(d,h=>{r(m=>[...m.slice(0,p),h,...m.slice(p+1)])}));if(t){const d=a[0];c.push(KB(d,()=>{s(p=>p+1)}))}return()=>{c.forEach(d=>{d==null||d()})}},[o]),n}function XB(e){return typeof e=="object"&&e!==null&&"current"in e}function YB(e){const[t]=q6({observeMutation:!1,getNodes(){return[XB(e)?e.current:e]}});return t}function QB(e){const{min:t=0,max:n=100,onChange:r,value:o,defaultValue:s,isReversed:a,direction:c="ltr",orientation:d="horizontal",id:p,isDisabled:h,isReadOnly:m,onChangeStart:v,onChangeEnd:b,step:w=1,getAriaValueText:y,"aria-valuetext":S,"aria-label":k,"aria-labelledby":_,name:P,focusThumbOnChange:I=!0,minStepsBetweenThumbs:E=0,...O}=e,R=or(v),M=or(b),D=or(y),A=H6({isReversed:a,direction:c,orientation:d}),[L,Q]=zc({value:o,defaultValue:s??[25,75],onChange:r});if(!Array.isArray(L))throw new TypeError(`[range-slider] You passed an invalid value for \`value\` or \`defaultValue\`, expected \`Array\` but got \`${typeof L}\``);const[F,V]=f.useState(!1),[q,G]=f.useState(!1),[T,z]=f.useState(-1),$=!(h||m),Y=f.useRef(L),ae=L.map(Pe=>ac(Pe,t,n)),fe=E*w,ie=JB(ae,t,n,fe),X=f.useRef({eventSource:null,value:[],valueBounds:[]});X.current.value=ae,X.current.valueBounds=ie;const K=ae.map(Pe=>n-Pe+t),se=(A?K:ae).map(Pe=>Yp(Pe,t,n)),re=d==="vertical",oe=f.useRef(null),pe=f.useRef(null),le=q6({getNodes(){const Pe=pe.current,Ye=Pe==null?void 0:Pe.querySelectorAll("[role=slider]");return Ye?Array.from(Ye):[]}}),ge=f.useId(),xe=OB(p??ge),de=f.useCallback(Pe=>{var Ye,Ke;if(!oe.current)return;X.current.eventSource="pointer";const dt=oe.current.getBoundingClientRect(),{clientX:zt,clientY:lr}=(Ke=(Ye=Pe.touches)==null?void 0:Ye[0])!=null?Ke:Pe,pn=re?dt.bottom-lr:zt-dt.left,ln=re?dt.height:dt.width;let Hr=pn/ln;return A&&(Hr=1-Hr),r3(Hr,t,n)},[re,A,n,t]),Te=(n-t)/10,Ee=w||(n-t)/100,$e=f.useMemo(()=>({setValueAtIndex(Pe,Ye){if(!$)return;const Ke=X.current.valueBounds[Pe];Ye=parseFloat(Vv(Ye,Ke.min,Ee)),Ye=ac(Ye,Ke.min,Ke.max);const dt=[...X.current.value];dt[Pe]=Ye,Q(dt)},setActiveIndex:z,stepUp(Pe,Ye=Ee){const Ke=X.current.value[Pe],dt=A?Ke-Ye:Ke+Ye;$e.setValueAtIndex(Pe,dt)},stepDown(Pe,Ye=Ee){const Ke=X.current.value[Pe],dt=A?Ke+Ye:Ke-Ye;$e.setValueAtIndex(Pe,dt)},reset(){Q(Y.current)}}),[Ee,A,Q,$]),kt=f.useCallback(Pe=>{const Ye=Pe.key,dt={ArrowRight:()=>$e.stepUp(T),ArrowUp:()=>$e.stepUp(T),ArrowLeft:()=>$e.stepDown(T),ArrowDown:()=>$e.stepDown(T),PageUp:()=>$e.stepUp(T,Te),PageDown:()=>$e.stepDown(T,Te),Home:()=>{const{min:zt}=ie[T];$e.setValueAtIndex(T,zt)},End:()=>{const{max:zt}=ie[T];$e.setValueAtIndex(T,zt)}}[Ye];dt&&(Pe.preventDefault(),Pe.stopPropagation(),dt(Pe),X.current.eventSource="keyboard")},[$e,T,Te,ie]),{getThumbStyle:ct,rootStyle:on,trackStyle:vt,innerTrackStyle:bt}=f.useMemo(()=>F6({isReversed:A,orientation:d,thumbRects:le,thumbPercents:se}),[A,d,se,le]),Se=f.useCallback(Pe=>{var Ye;const Ke=Pe??T;if(Ke!==-1&&I){const dt=xe.getThumb(Ke),zt=(Ye=pe.current)==null?void 0:Ye.ownerDocument.getElementById(dt);zt&&setTimeout(()=>zt.focus())}},[I,T,xe]);Fa(()=>{X.current.eventSource==="keyboard"&&(M==null||M(X.current.value))},[ae,M]);const Me=Pe=>{const Ye=de(Pe)||0,Ke=X.current.value.map(ln=>Math.abs(ln-Ye)),dt=Math.min(...Ke);let zt=Ke.indexOf(dt);const lr=Ke.filter(ln=>ln===dt);lr.length>1&&Ye>X.current.value[zt]&&(zt=zt+lr.length-1),z(zt),$e.setValueAtIndex(zt,Ye),Se(zt)},Pt=Pe=>{if(T==-1)return;const Ye=de(Pe)||0;z(T),$e.setValueAtIndex(T,Ye),Se(T)};G6(pe,{onPanSessionStart(Pe){$&&(V(!0),Me(Pe),R==null||R(X.current.value))},onPanSessionEnd(){$&&(V(!1),M==null||M(X.current.value))},onPan(Pe){$&&Pt(Pe)}});const Tt=f.useCallback((Pe={},Ye=null)=>({...Pe,...O,id:xe.root,ref:cn(Ye,pe),tabIndex:-1,"aria-disabled":uc(h),"data-focused":Zo(q),style:{...Pe.style,...on}}),[O,h,q,on,xe]),we=f.useCallback((Pe={},Ye=null)=>({...Pe,ref:cn(Ye,oe),id:xe.track,"data-disabled":Zo(h),style:{...Pe.style,...vt}}),[h,vt,xe]),ht=f.useCallback((Pe={},Ye=null)=>({...Pe,ref:Ye,id:xe.innerTrack,style:{...Pe.style,...bt}}),[bt,xe]),$t=f.useCallback((Pe,Ye=null)=>{var Ke;const{index:dt,...zt}=Pe,lr=ae[dt];if(lr==null)throw new TypeError(`[range-slider > thumb] Cannot find value at index \`${dt}\`. The \`value\` or \`defaultValue\` length is : ${ae.length}`);const pn=ie[dt];return{...zt,ref:Ye,role:"slider",tabIndex:$?0:void 0,id:xe.getThumb(dt),"data-active":Zo(F&&T===dt),"aria-valuetext":(Ke=D==null?void 0:D(lr))!=null?Ke:S==null?void 0:S[dt],"aria-valuemin":pn.min,"aria-valuemax":pn.max,"aria-valuenow":lr,"aria-orientation":d,"aria-disabled":uc(h),"aria-readonly":uc(m),"aria-label":k==null?void 0:k[dt],"aria-labelledby":k!=null&&k[dt]||_==null?void 0:_[dt],style:{...Pe.style,...ct(dt)},onKeyDown:dc(Pe.onKeyDown,kt),onFocus:dc(Pe.onFocus,()=>{G(!0),z(dt)}),onBlur:dc(Pe.onBlur,()=>{G(!1),z(-1)})}},[xe,ae,ie,$,F,T,D,S,d,h,m,k,_,ct,kt,G]),Lt=f.useCallback((Pe={},Ye=null)=>({...Pe,ref:Ye,id:xe.output,htmlFor:ae.map((Ke,dt)=>xe.getThumb(dt)).join(" "),"aria-live":"off"}),[xe,ae]),Le=f.useCallback((Pe,Ye=null)=>{const{value:Ke,...dt}=Pe,zt=!(Ken),lr=Ke>=ae[0]&&Ke<=ae[ae.length-1];let pn=Yp(Ke,t,n);pn=A?100-pn:pn;const ln={position:"absolute",pointerEvents:"none",...Mu({orientation:d,vertical:{bottom:`${pn}%`},horizontal:{left:`${pn}%`}})};return{...dt,ref:Ye,id:xe.getMarker(Pe.value),role:"presentation","aria-hidden":!0,"data-disabled":Zo(h),"data-invalid":Zo(!zt),"data-highlighted":Zo(lr),style:{...Pe.style,...ln}}},[h,A,n,t,d,ae,xe]),Ge=f.useCallback((Pe,Ye=null)=>{const{index:Ke,...dt}=Pe;return{...dt,ref:Ye,id:xe.getInput(Ke),type:"hidden",value:ae[Ke],name:Array.isArray(P)?P[Ke]:`${P}-${Ke}`}},[P,ae,xe]);return{state:{value:ae,isFocused:q,isDragging:F,getThumbPercent:Pe=>se[Pe],getThumbMinValue:Pe=>ie[Pe].min,getThumbMaxValue:Pe=>ie[Pe].max},actions:$e,getRootProps:Tt,getTrackProps:we,getInnerTrackProps:ht,getThumbProps:$t,getMarkerProps:Le,getInputProps:Ge,getOutputProps:Lt}}function JB(e,t,n,r){return e.map((o,s)=>{const a=s===0?t:e[s-1]+r,c=s===e.length-1?n:e[s+1]-r;return{min:a,max:c}})}var[ZB,Em]=Dn({name:"SliderContext",errorMessage:"useSliderContext: `context` is undefined. Seems you forgot to wrap all slider components within "}),[eF,Om]=Dn({name:"RangeSliderStylesContext",errorMessage:`useRangeSliderStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),K6=Ae(function(t,n){const r={orientation:"horizontal",...t},o=Fr("Slider",r),s=qn(r),{direction:a}=Nc();s.direction=a;const{getRootProps:c,...d}=QB(s),p=f.useMemo(()=>({...d,name:r.name}),[d,r.name]);return i.jsx(ZB,{value:p,children:i.jsx(eF,{value:o,children:i.jsx(je.div,{...c({},n),className:"chakra-slider",__css:o.container,children:r.children})})})});K6.displayName="RangeSlider";var o1=Ae(function(t,n){const{getThumbProps:r,getInputProps:o,name:s}=Em(),a=Om(),c=r(t,n);return i.jsxs(je.div,{...c,className:ji("chakra-slider__thumb",t.className),__css:a.thumb,children:[c.children,s&&i.jsx("input",{...o({index:t.index})})]})});o1.displayName="RangeSliderThumb";var X6=Ae(function(t,n){const{getTrackProps:r}=Em(),o=Om(),s=r(t,n);return i.jsx(je.div,{...s,className:ji("chakra-slider__track",t.className),__css:o.track,"data-testid":"chakra-range-slider-track"})});X6.displayName="RangeSliderTrack";var Y6=Ae(function(t,n){const{getInnerTrackProps:r}=Em(),o=Om(),s=r(t,n);return i.jsx(je.div,{...s,className:"chakra-slider__filled-track",__css:o.filledTrack})});Y6.displayName="RangeSliderFilledTrack";var Dp=Ae(function(t,n){const{getMarkerProps:r}=Em(),o=Om(),s=r(t,n);return i.jsx(je.div,{...s,className:ji("chakra-slider__marker",t.className),__css:o.mark})});Dp.displayName="RangeSliderMark";function tF(e){var t;const{min:n=0,max:r=100,onChange:o,value:s,defaultValue:a,isReversed:c,direction:d="ltr",orientation:p="horizontal",id:h,isDisabled:m,isReadOnly:v,onChangeStart:b,onChangeEnd:w,step:y=1,getAriaValueText:S,"aria-valuetext":k,"aria-label":_,"aria-labelledby":P,name:I,focusThumbOnChange:E=!0,...O}=e,R=or(b),M=or(w),D=or(S),A=H6({isReversed:c,direction:d,orientation:p}),[L,Q]=zc({value:s,defaultValue:a??rF(n,r),onChange:o}),[F,V]=f.useState(!1),[q,G]=f.useState(!1),T=!(m||v),z=(r-n)/10,$=y||(r-n)/100,Y=ac(L,n,r),ae=r-Y+n,ie=Yp(A?ae:Y,n,r),X=p==="vertical",K=U6({min:n,max:r,step:y,isDisabled:m,value:Y,isInteractive:T,isReversed:A,isVertical:X,eventSource:null,focusThumbOnChange:E,orientation:p}),U=f.useRef(null),se=f.useRef(null),re=f.useRef(null),oe=f.useId(),pe=h??oe,[le,ge]=[`slider-thumb-${pe}`,`slider-track-${pe}`],ke=f.useCallback(Le=>{var Ge,Pn;if(!U.current)return;const Pe=K.current;Pe.eventSource="pointer";const Ye=U.current.getBoundingClientRect(),{clientX:Ke,clientY:dt}=(Pn=(Ge=Le.touches)==null?void 0:Ge[0])!=null?Pn:Le,zt=X?Ye.bottom-dt:Ke-Ye.left,lr=X?Ye.height:Ye.width;let pn=zt/lr;A&&(pn=1-pn);let ln=r3(pn,Pe.min,Pe.max);return Pe.step&&(ln=parseFloat(Vv(ln,Pe.min,Pe.step))),ln=ac(ln,Pe.min,Pe.max),ln},[X,A,K]),xe=f.useCallback(Le=>{const Ge=K.current;Ge.isInteractive&&(Le=parseFloat(Vv(Le,Ge.min,$)),Le=ac(Le,Ge.min,Ge.max),Q(Le))},[$,Q,K]),de=f.useMemo(()=>({stepUp(Le=$){const Ge=A?Y-Le:Y+Le;xe(Ge)},stepDown(Le=$){const Ge=A?Y+Le:Y-Le;xe(Ge)},reset(){xe(a||0)},stepTo(Le){xe(Le)}}),[xe,A,Y,$,a]),Te=f.useCallback(Le=>{const Ge=K.current,Pe={ArrowRight:()=>de.stepUp(),ArrowUp:()=>de.stepUp(),ArrowLeft:()=>de.stepDown(),ArrowDown:()=>de.stepDown(),PageUp:()=>de.stepUp(z),PageDown:()=>de.stepDown(z),Home:()=>xe(Ge.min),End:()=>xe(Ge.max)}[Le.key];Pe&&(Le.preventDefault(),Le.stopPropagation(),Pe(Le),Ge.eventSource="keyboard")},[de,xe,z,K]),Ee=(t=D==null?void 0:D(Y))!=null?t:k,$e=YB(se),{getThumbStyle:kt,rootStyle:ct,trackStyle:on,innerTrackStyle:vt}=f.useMemo(()=>{const Le=K.current,Ge=$e??{width:0,height:0};return F6({isReversed:A,orientation:Le.orientation,thumbRects:[Ge],thumbPercents:[ie]})},[A,$e,ie,K]),bt=f.useCallback(()=>{K.current.focusThumbOnChange&&setTimeout(()=>{var Ge;return(Ge=se.current)==null?void 0:Ge.focus()})},[K]);Fa(()=>{const Le=K.current;bt(),Le.eventSource==="keyboard"&&(M==null||M(Le.value))},[Y,M]);function Se(Le){const Ge=ke(Le);Ge!=null&&Ge!==K.current.value&&Q(Ge)}G6(re,{onPanSessionStart(Le){const Ge=K.current;Ge.isInteractive&&(V(!0),bt(),Se(Le),R==null||R(Ge.value))},onPanSessionEnd(){const Le=K.current;Le.isInteractive&&(V(!1),M==null||M(Le.value))},onPan(Le){K.current.isInteractive&&Se(Le)}});const Me=f.useCallback((Le={},Ge=null)=>({...Le,...O,ref:cn(Ge,re),tabIndex:-1,"aria-disabled":uc(m),"data-focused":Zo(q),style:{...Le.style,...ct}}),[O,m,q,ct]),Pt=f.useCallback((Le={},Ge=null)=>({...Le,ref:cn(Ge,U),id:ge,"data-disabled":Zo(m),style:{...Le.style,...on}}),[m,ge,on]),Tt=f.useCallback((Le={},Ge=null)=>({...Le,ref:Ge,style:{...Le.style,...vt}}),[vt]),we=f.useCallback((Le={},Ge=null)=>({...Le,ref:cn(Ge,se),role:"slider",tabIndex:T?0:void 0,id:le,"data-active":Zo(F),"aria-valuetext":Ee,"aria-valuemin":n,"aria-valuemax":r,"aria-valuenow":Y,"aria-orientation":p,"aria-disabled":uc(m),"aria-readonly":uc(v),"aria-label":_,"aria-labelledby":_?void 0:P,style:{...Le.style,...kt(0)},onKeyDown:dc(Le.onKeyDown,Te),onFocus:dc(Le.onFocus,()=>G(!0)),onBlur:dc(Le.onBlur,()=>G(!1))}),[T,le,F,Ee,n,r,Y,p,m,v,_,P,kt,Te]),ht=f.useCallback((Le,Ge=null)=>{const Pn=!(Le.valuer),Pe=Y>=Le.value,Ye=Yp(Le.value,n,r),Ke={position:"absolute",pointerEvents:"none",...nF({orientation:p,vertical:{bottom:A?`${100-Ye}%`:`${Ye}%`},horizontal:{left:A?`${100-Ye}%`:`${Ye}%`}})};return{...Le,ref:Ge,role:"presentation","aria-hidden":!0,"data-disabled":Zo(m),"data-invalid":Zo(!Pn),"data-highlighted":Zo(Pe),style:{...Le.style,...Ke}}},[m,A,r,n,p,Y]),$t=f.useCallback((Le={},Ge=null)=>({...Le,ref:Ge,type:"hidden",value:Y,name:I}),[I,Y]);return{state:{value:Y,isFocused:q,isDragging:F},actions:de,getRootProps:Me,getTrackProps:Pt,getInnerTrackProps:Tt,getThumbProps:we,getMarkerProps:ht,getInputProps:$t}}function nF(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}function rF(e,t){return t"}),[sF,Mm]=Dn({name:"SliderStylesContext",hookName:"useSliderStyles",providerName:""}),Q6=Ae((e,t)=>{var n;const r={...e,orientation:(n=e==null?void 0:e.orientation)!=null?n:"horizontal"},o=Fr("Slider",r),s=qn(r),{direction:a}=Nc();s.direction=a;const{getInputProps:c,getRootProps:d,...p}=tF(s),h=d(),m=c({},t);return i.jsx(oF,{value:p,children:i.jsx(sF,{value:o,children:i.jsxs(je.div,{...h,className:ji("chakra-slider",r.className),__css:o.container,children:[r.children,i.jsx("input",{...m})]})})})});Q6.displayName="Slider";var J6=Ae((e,t)=>{const{getThumbProps:n}=Rm(),r=Mm(),o=n(e,t);return i.jsx(je.div,{...o,className:ji("chakra-slider__thumb",e.className),__css:r.thumb})});J6.displayName="SliderThumb";var Z6=Ae((e,t)=>{const{getTrackProps:n}=Rm(),r=Mm(),o=n(e,t);return i.jsx(je.div,{...o,className:ji("chakra-slider__track",e.className),__css:r.track})});Z6.displayName="SliderTrack";var eP=Ae((e,t)=>{const{getInnerTrackProps:n}=Rm(),r=Mm(),o=n(e,t);return i.jsx(je.div,{...o,className:ji("chakra-slider__filled-track",e.className),__css:r.filledTrack})});eP.displayName="SliderFilledTrack";var ql=Ae((e,t)=>{const{getMarkerProps:n}=Rm(),r=Mm(),o=n(e,t);return i.jsx(je.div,{...o,className:ji("chakra-slider__marker",e.className),__css:r.mark})});ql.displayName="SliderMark";var Jb=Ae(function(t,n){const r=Fr("Switch",t),{spacing:o="0.5rem",children:s,...a}=qn(t),{getIndicatorProps:c,getInputProps:d,getCheckboxProps:p,getRootProps:h,getLabelProps:m}=t3(a),v=f.useMemo(()=>({display:"inline-block",position:"relative",verticalAlign:"middle",lineHeight:0,...r.container}),[r.container]),b=f.useMemo(()=>({display:"inline-flex",flexShrink:0,justifyContent:"flex-start",boxSizing:"content-box",cursor:"pointer",...r.track}),[r.track]),w=f.useMemo(()=>({userSelect:"none",marginStart:o,...r.label}),[o,r.label]);return i.jsxs(je.label,{...h(),className:Ct("chakra-switch",t.className),__css:v,children:[i.jsx("input",{className:"chakra-switch__input",...d({},n)}),i.jsx(je.span,{...p(),className:"chakra-switch__track",__css:b,children:i.jsx(je.span,{__css:r.thumb,className:"chakra-switch__thumb",...c()})}),s&&i.jsx(je.span,{className:"chakra-switch__label",...m(),__css:w,children:s})]})});Jb.displayName="Switch";var[aF,iF,lF,cF]=fb();function uF(e){var t;const{defaultIndex:n,onChange:r,index:o,isManual:s,isLazy:a,lazyBehavior:c="unmount",orientation:d="horizontal",direction:p="ltr",...h}=e,[m,v]=f.useState(n??0),[b,w]=zc({defaultValue:n??0,value:o,onChange:r});f.useEffect(()=>{o!=null&&v(o)},[o]);const y=lF(),S=f.useId();return{id:`tabs-${(t=e.id)!=null?t:S}`,selectedIndex:b,focusedIndex:m,setSelectedIndex:w,setFocusedIndex:v,isManual:s,isLazy:a,lazyBehavior:c,orientation:d,descendants:y,direction:p,htmlProps:h}}var[dF,Dm]=Dn({name:"TabsContext",errorMessage:"useTabsContext: `context` is undefined. Seems you forgot to wrap all tabs components within "});function fF(e){const{focusedIndex:t,orientation:n,direction:r}=Dm(),o=iF(),s=f.useCallback(a=>{const c=()=>{var _;const P=o.nextEnabled(t);P&&((_=P.node)==null||_.focus())},d=()=>{var _;const P=o.prevEnabled(t);P&&((_=P.node)==null||_.focus())},p=()=>{var _;const P=o.firstEnabled();P&&((_=P.node)==null||_.focus())},h=()=>{var _;const P=o.lastEnabled();P&&((_=P.node)==null||_.focus())},m=n==="horizontal",v=n==="vertical",b=a.key,w=r==="ltr"?"ArrowLeft":"ArrowRight",y=r==="ltr"?"ArrowRight":"ArrowLeft",k={[w]:()=>m&&d(),[y]:()=>m&&c(),ArrowDown:()=>v&&c(),ArrowUp:()=>v&&d(),Home:p,End:h}[b];k&&(a.preventDefault(),k(a))},[o,t,n,r]);return{...e,role:"tablist","aria-orientation":n,onKeyDown:et(e.onKeyDown,s)}}function pF(e){const{isDisabled:t=!1,isFocusable:n=!1,...r}=e,{setSelectedIndex:o,isManual:s,id:a,setFocusedIndex:c,selectedIndex:d}=Dm(),{index:p,register:h}=cF({disabled:t&&!n}),m=p===d,v=()=>{o(p)},b=()=>{c(p),!s&&!(t&&n)&&o(p)},w=s6({...r,ref:cn(h,e.ref),isDisabled:t,isFocusable:n,onClick:et(e.onClick,v)}),y="button";return{...w,id:tP(a,p),role:"tab",tabIndex:m?0:-1,type:y,"aria-selected":m,"aria-controls":nP(a,p),onFocus:t?void 0:et(e.onFocus,b)}}var[hF,mF]=Dn({});function gF(e){const t=Dm(),{id:n,selectedIndex:r}=t,s=_d(e.children).map((a,c)=>f.createElement(hF,{key:c,value:{isSelected:c===r,id:nP(n,c),tabId:tP(n,c),selectedIndex:r}},a));return{...e,children:s}}function vF(e){const{children:t,...n}=e,{isLazy:r,lazyBehavior:o}=Dm(),{isSelected:s,id:a,tabId:c}=mF(),d=f.useRef(!1);s&&(d.current=!0);const p=Vb({wasSelected:d.current,isSelected:s,enabled:r,mode:o});return{tabIndex:0,...n,children:p?t:null,role:"tabpanel","aria-labelledby":c,hidden:!s,id:a}}function tP(e,t){return`${e}--tab-${t}`}function nP(e,t){return`${e}--tabpanel-${t}`}var[bF,Am]=Dn({name:"TabsStylesContext",errorMessage:`useTabsStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),$d=Ae(function(t,n){const r=Fr("Tabs",t),{children:o,className:s,...a}=qn(t),{htmlProps:c,descendants:d,...p}=uF(a),h=f.useMemo(()=>p,[p]),{isFitted:m,...v}=c;return i.jsx(aF,{value:d,children:i.jsx(dF,{value:h,children:i.jsx(bF,{value:r,children:i.jsx(je.div,{className:Ct("chakra-tabs",s),ref:n,...v,__css:r.root,children:o})})})})});$d.displayName="Tabs";var Ld=Ae(function(t,n){const r=fF({...t,ref:n}),s={display:"flex",...Am().tablist};return i.jsx(je.div,{...r,className:Ct("chakra-tabs__tablist",t.className),__css:s})});Ld.displayName="TabList";var Tm=Ae(function(t,n){const r=vF({...t,ref:n}),o=Am();return i.jsx(je.div,{outline:"0",...r,className:Ct("chakra-tabs__tab-panel",t.className),__css:o.tabpanel})});Tm.displayName="TabPanel";var Nm=Ae(function(t,n){const r=gF(t),o=Am();return i.jsx(je.div,{...r,width:"100%",ref:n,className:Ct("chakra-tabs__tab-panels",t.className),__css:o.tabpanels})});Nm.displayName="TabPanels";var kc=Ae(function(t,n){const r=Am(),o=pF({...t,ref:n}),s={outline:"0",display:"flex",alignItems:"center",justifyContent:"center",...r.tab};return i.jsx(je.button,{...o,className:Ct("chakra-tabs__tab",t.className),__css:s})});kc.displayName="Tab";function yF(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var xF=["h","minH","height","minHeight"],Zb=Ae((e,t)=>{const n=ia("Textarea",e),{className:r,rows:o,...s}=qn(e),a=mb(s),c=o?yF(n,xF):n;return i.jsx(je.textarea,{ref:t,rows:o,...a,className:Ct("chakra-textarea",r),__css:c})});Zb.displayName="Textarea";var wF={exit:{scale:.85,opacity:0,transition:{opacity:{duration:.15,easings:"easeInOut"},scale:{duration:.2,easings:"easeInOut"}}},enter:{scale:1,opacity:1,transition:{opacity:{easings:"easeOut",duration:.2},scale:{duration:.2,ease:[.175,.885,.4,1.1]}}}},s1=e=>{var t;return((t=e.current)==null?void 0:t.ownerDocument)||document},Ap=e=>{var t,n;return((n=(t=e.current)==null?void 0:t.ownerDocument)==null?void 0:n.defaultView)||window};function SF(e={}){const{openDelay:t=0,closeDelay:n=0,closeOnClick:r=!0,closeOnMouseDown:o,closeOnScroll:s,closeOnPointerDown:a=o,closeOnEsc:c=!0,onOpen:d,onClose:p,placement:h,id:m,isOpen:v,defaultIsOpen:b,arrowSize:w=10,arrowShadowColor:y,arrowPadding:S,modifiers:k,isDisabled:_,gutter:P,offset:I,direction:E,...O}=e,{isOpen:R,onOpen:M,onClose:D}=Wb({isOpen:v,defaultIsOpen:b,onOpen:d,onClose:p}),{referenceRef:A,getPopperProps:L,getArrowInnerProps:Q,getArrowProps:F}=Hb({enabled:R,placement:h,arrowPadding:S,modifiers:k,gutter:P,offset:I,direction:E}),V=f.useId(),G=`tooltip-${m??V}`,T=f.useRef(null),z=f.useRef(),$=f.useCallback(()=>{z.current&&(clearTimeout(z.current),z.current=void 0)},[]),Y=f.useRef(),ae=f.useCallback(()=>{Y.current&&(clearTimeout(Y.current),Y.current=void 0)},[]),fe=f.useCallback(()=>{ae(),D()},[D,ae]),ie=CF(T,fe),X=f.useCallback(()=>{if(!_&&!z.current){R&&ie();const ge=Ap(T);z.current=ge.setTimeout(M,t)}},[ie,_,R,M,t]),K=f.useCallback(()=>{$();const ge=Ap(T);Y.current=ge.setTimeout(fe,n)},[n,fe,$]),U=f.useCallback(()=>{R&&r&&K()},[r,K,R]),se=f.useCallback(()=>{R&&a&&K()},[a,K,R]),re=f.useCallback(ge=>{R&&ge.key==="Escape"&&K()},[R,K]);Yi(()=>s1(T),"keydown",c?re:void 0),Yi(()=>{const ge=T.current;if(!ge)return null;const ke=q3(ge);return ke.localName==="body"?Ap(T):ke},"scroll",()=>{R&&s&&fe()},{passive:!0,capture:!0}),f.useEffect(()=>{_&&($(),R&&D())},[_,R,D,$]),f.useEffect(()=>()=>{$(),ae()},[$,ae]),Yi(()=>T.current,"pointerleave",K);const oe=f.useCallback((ge={},ke=null)=>({...ge,ref:cn(T,ke,A),onPointerEnter:et(ge.onPointerEnter,de=>{de.pointerType!=="touch"&&X()}),onClick:et(ge.onClick,U),onPointerDown:et(ge.onPointerDown,se),onFocus:et(ge.onFocus,X),onBlur:et(ge.onBlur,K),"aria-describedby":R?G:void 0}),[X,K,se,R,G,U,A]),pe=f.useCallback((ge={},ke=null)=>L({...ge,style:{...ge.style,[Ir.arrowSize.var]:w?`${w}px`:void 0,[Ir.arrowShadowColor.var]:y}},ke),[L,w,y]),le=f.useCallback((ge={},ke=null)=>{const xe={...ge.style,position:"relative",transformOrigin:Ir.transformOrigin.varRef};return{ref:ke,...O,...ge,id:G,role:"tooltip",style:xe}},[O,G]);return{isOpen:R,show:X,hide:K,getTriggerProps:oe,getTooltipProps:le,getTooltipPositionerProps:pe,getArrowProps:F,getArrowInnerProps:Q}}var F0="chakra-ui:close-tooltip";function CF(e,t){return f.useEffect(()=>{const n=s1(e);return n.addEventListener(F0,t),()=>n.removeEventListener(F0,t)},[t,e]),()=>{const n=s1(e),r=Ap(e);n.dispatchEvent(new r.CustomEvent(F0))}}function kF(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function _F(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}var PF=je(Er.div),vn=Ae((e,t)=>{var n,r;const o=ia("Tooltip",e),s=qn(e),a=Nc(),{children:c,label:d,shouldWrapChildren:p,"aria-label":h,hasArrow:m,bg:v,portalProps:b,background:w,backgroundColor:y,bgColor:S,motionProps:k,..._}=s,P=(r=(n=w??y)!=null?n:v)!=null?r:S;if(P){o.bg=P;const L=zR(a,"colors",P);o[Ir.arrowBg.var]=L}const I=SF({..._,direction:a.direction}),E=typeof c=="string"||p;let O;if(E)O=i.jsx(je.span,{display:"inline-block",tabIndex:0,...I.getTriggerProps(),children:c});else{const L=f.Children.only(c);O=f.cloneElement(L,I.getTriggerProps(L.props,L.ref))}const R=!!h,M=I.getTooltipProps({},t),D=R?kF(M,["role","id"]):M,A=_F(M,["role","id"]);return d?i.jsxs(i.Fragment,{children:[O,i.jsx(mo,{children:I.isOpen&&i.jsx(Ju,{...b,children:i.jsx(je.div,{...I.getTooltipPositionerProps(),__css:{zIndex:o.zIndex,pointerEvents:"none"},children:i.jsxs(PF,{variants:wF,initial:"exit",animate:"enter",exit:"exit",...k,...D,__css:o,children:[d,R&&i.jsx(je.span,{srOnly:!0,...A,children:h}),m&&i.jsx(je.div,{"data-popper-arrow":!0,className:"chakra-tooltip__arrow-wrapper",children:i.jsx(je.div,{"data-popper-arrow-inner":!0,className:"chakra-tooltip__arrow",__css:{bg:o.bg}})})]})})})})]}):i.jsx(i.Fragment,{children:c})});vn.displayName="Tooltip";function jF(e,t={}){let n=f.useCallback(o=>t.keys?M9(e,t.keys,o):e.listen(o),[t.keys,e]),r=e.get.bind(e);return f.useSyncExternalStore(n,r,r)}const vo=e=>e.system,IF=e=>e.system.toastQueue,rP=be(vo,e=>e.language,Je),kr=be(e=>e,e=>e.system.isProcessing||!e.system.isConnected),EF=be(vo,e=>{const{consoleLogLevel:t,shouldLogToConsole:n}=e;return{consoleLogLevel:t,shouldLogToConsole:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),OF=()=>{const{consoleLogLevel:e,shouldLogToConsole:t}=B(EF);return f.useEffect(()=>{t?(localStorage.setItem("ROARR_LOG","true"),localStorage.setItem("ROARR_FILTER",`context.logLevel:>=${BR[e]}`)):localStorage.setItem("ROARR_LOG","false"),G2.ROARR.write=FR.createLogWriter()},[e,t]),f.useEffect(()=>{const r={...HR};q2.set(G2.Roarr.child(r))},[]),jF(q2)},RF=()=>{const e=te(),t=B(IF),n=uA();return f.useEffect(()=>{t.forEach(r=>{n(r)}),t.length>0&&e(WR())},[e,n,t]),null},Vc=()=>{const e=te();return f.useCallback(n=>e(On(Mn(n))),[e])};var MF=new Map([["aac","audio/aac"],["abw","application/x-abiword"],["arc","application/x-freearc"],["avif","image/avif"],["avi","video/x-msvideo"],["azw","application/vnd.amazon.ebook"],["bin","application/octet-stream"],["bmp","image/bmp"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["cda","application/x-cdf"],["csh","application/x-csh"],["css","text/css"],["csv","text/csv"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["eot","application/vnd.ms-fontobject"],["epub","application/epub+zip"],["gz","application/gzip"],["gif","image/gif"],["heic","image/heic"],["heif","image/heif"],["htm","text/html"],["html","text/html"],["ico","image/vnd.microsoft.icon"],["ics","text/calendar"],["jar","application/java-archive"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["js","text/javascript"],["json","application/json"],["jsonld","application/ld+json"],["mid","audio/midi"],["midi","audio/midi"],["mjs","text/javascript"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mpeg","video/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["opus","audio/opus"],["otf","font/otf"],["png","image/png"],["pdf","application/pdf"],["php","application/x-httpd-php"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["rar","application/vnd.rar"],["rtf","application/rtf"],["sh","application/x-sh"],["svg","image/svg+xml"],["swf","application/x-shockwave-flash"],["tar","application/x-tar"],["tif","image/tiff"],["tiff","image/tiff"],["ts","video/mp2t"],["ttf","font/ttf"],["txt","text/plain"],["vsd","application/vnd.visio"],["wav","audio/wav"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["woff","font/woff"],["woff2","font/woff2"],["xhtml","application/xhtml+xml"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xml","application/xml"],["xul","application/vnd.mozilla.xul+xml"],["zip","application/zip"],["7z","application/x-7z-compressed"],["mkv","video/x-matroska"],["mov","video/quicktime"],["msg","application/vnd.ms-outlook"]]);function zd(e,t){var n=DF(e);if(typeof n.path!="string"){var r=e.webkitRelativePath;Object.defineProperty(n,"path",{value:typeof t=="string"?t:typeof r=="string"&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}function DF(e){var t=e.name,n=t&&t.lastIndexOf(".")!==-1;if(n&&!e.type){var r=t.split(".").pop().toLowerCase(),o=MF.get(r);o&&Object.defineProperty(e,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return e}var AF=[".DS_Store","Thumbs.db"];function TF(e){return Bc(this,void 0,void 0,function(){return Fc(this,function(t){return oh(e)&&NF(e.dataTransfer)?[2,BF(e.dataTransfer,e.type)]:$F(e)?[2,LF(e)]:Array.isArray(e)&&e.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,zF(e)]:[2,[]]})})}function NF(e){return oh(e)}function $F(e){return oh(e)&&oh(e.target)}function oh(e){return typeof e=="object"&&e!==null}function LF(e){return a1(e.target.files).map(function(t){return zd(t)})}function zF(e){return Bc(this,void 0,void 0,function(){var t;return Fc(this,function(n){switch(n.label){case 0:return[4,Promise.all(e.map(function(r){return r.getFile()}))];case 1:return t=n.sent(),[2,t.map(function(r){return zd(r)})]}})})}function BF(e,t){return Bc(this,void 0,void 0,function(){var n,r;return Fc(this,function(o){switch(o.label){case 0:return e.items?(n=a1(e.items).filter(function(s){return s.kind==="file"}),t!=="drop"?[2,n]:[4,Promise.all(n.map(FF))]):[3,2];case 1:return r=o.sent(),[2,yS(oP(r))];case 2:return[2,yS(a1(e.files).map(function(s){return zd(s)}))]}})})}function yS(e){return e.filter(function(t){return AF.indexOf(t.name)===-1})}function a1(e){if(e===null)return[];for(var t=[],n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nn)return[!1,kS(n)];if(e.sizen)return[!1,kS(n)]}return[!0,null]}function Vi(e){return e!=null}function rH(e){var t=e.files,n=e.accept,r=e.minSize,o=e.maxSize,s=e.multiple,a=e.maxFiles,c=e.validator;return!s&&t.length>1||s&&a>=1&&t.length>a?!1:t.every(function(d){var p=lP(d,n),h=ld(p,1),m=h[0],v=cP(d,r,o),b=ld(v,1),w=b[0],y=c?c(d):null;return m&&w&&!y})}function sh(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function qf(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function PS(e){e.preventDefault()}function oH(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function sH(e){return e.indexOf("Edge/")!==-1}function aH(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return oH(e)||sH(e)}function Gs(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;ae.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function CH(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}var ey=f.forwardRef(function(e,t){var n=e.children,r=ah(e,fH),o=ty(r),s=o.open,a=ah(o,pH);return f.useImperativeHandle(t,function(){return{open:s}},[s]),H.createElement(f.Fragment,null,n(dr(dr({},a),{},{open:s})))});ey.displayName="Dropzone";var pP={disabled:!1,getFilesFromEvent:TF,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!0,autoFocus:!1};ey.defaultProps=pP;ey.propTypes={children:zn.func,accept:zn.objectOf(zn.arrayOf(zn.string)),multiple:zn.bool,preventDropOnDocument:zn.bool,noClick:zn.bool,noKeyboard:zn.bool,noDrag:zn.bool,noDragEventsBubbling:zn.bool,minSize:zn.number,maxSize:zn.number,maxFiles:zn.number,disabled:zn.bool,getFilesFromEvent:zn.func,onFileDialogCancel:zn.func,onFileDialogOpen:zn.func,useFsAccessApi:zn.bool,autoFocus:zn.bool,onDragEnter:zn.func,onDragLeave:zn.func,onDragOver:zn.func,onDrop:zn.func,onDropAccepted:zn.func,onDropRejected:zn.func,onError:zn.func,validator:zn.func};var u1={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function ty(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=dr(dr({},pP),e),n=t.accept,r=t.disabled,o=t.getFilesFromEvent,s=t.maxSize,a=t.minSize,c=t.multiple,d=t.maxFiles,p=t.onDragEnter,h=t.onDragLeave,m=t.onDragOver,v=t.onDrop,b=t.onDropAccepted,w=t.onDropRejected,y=t.onFileDialogCancel,S=t.onFileDialogOpen,k=t.useFsAccessApi,_=t.autoFocus,P=t.preventDropOnDocument,I=t.noClick,E=t.noKeyboard,O=t.noDrag,R=t.noDragEventsBubbling,M=t.onError,D=t.validator,A=f.useMemo(function(){return cH(n)},[n]),L=f.useMemo(function(){return lH(n)},[n]),Q=f.useMemo(function(){return typeof S=="function"?S:IS},[S]),F=f.useMemo(function(){return typeof y=="function"?y:IS},[y]),V=f.useRef(null),q=f.useRef(null),G=f.useReducer(kH,u1),T=H0(G,2),z=T[0],$=T[1],Y=z.isFocused,ae=z.isFileDialogActive,fe=f.useRef(typeof window<"u"&&window.isSecureContext&&k&&iH()),ie=function(){!fe.current&&ae&&setTimeout(function(){if(q.current){var Me=q.current.files;Me.length||($({type:"closeDialog"}),F())}},300)};f.useEffect(function(){return window.addEventListener("focus",ie,!1),function(){window.removeEventListener("focus",ie,!1)}},[q,ae,F,fe]);var X=f.useRef([]),K=function(Me){V.current&&V.current.contains(Me.target)||(Me.preventDefault(),X.current=[])};f.useEffect(function(){return P&&(document.addEventListener("dragover",PS,!1),document.addEventListener("drop",K,!1)),function(){P&&(document.removeEventListener("dragover",PS),document.removeEventListener("drop",K))}},[V,P]),f.useEffect(function(){return!r&&_&&V.current&&V.current.focus(),function(){}},[V,_,r]);var U=f.useCallback(function(Se){M?M(Se):console.error(Se)},[M]),se=f.useCallback(function(Se){Se.preventDefault(),Se.persist(),ct(Se),X.current=[].concat(gH(X.current),[Se.target]),qf(Se)&&Promise.resolve(o(Se)).then(function(Me){if(!(sh(Se)&&!R)){var Pt=Me.length,Tt=Pt>0&&rH({files:Me,accept:A,minSize:a,maxSize:s,multiple:c,maxFiles:d,validator:D}),we=Pt>0&&!Tt;$({isDragAccept:Tt,isDragReject:we,isDragActive:!0,type:"setDraggedFiles"}),p&&p(Se)}}).catch(function(Me){return U(Me)})},[o,p,U,R,A,a,s,c,d,D]),re=f.useCallback(function(Se){Se.preventDefault(),Se.persist(),ct(Se);var Me=qf(Se);if(Me&&Se.dataTransfer)try{Se.dataTransfer.dropEffect="copy"}catch{}return Me&&m&&m(Se),!1},[m,R]),oe=f.useCallback(function(Se){Se.preventDefault(),Se.persist(),ct(Se);var Me=X.current.filter(function(Tt){return V.current&&V.current.contains(Tt)}),Pt=Me.indexOf(Se.target);Pt!==-1&&Me.splice(Pt,1),X.current=Me,!(Me.length>0)&&($({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),qf(Se)&&h&&h(Se))},[V,h,R]),pe=f.useCallback(function(Se,Me){var Pt=[],Tt=[];Se.forEach(function(we){var ht=lP(we,A),$t=H0(ht,2),Lt=$t[0],Le=$t[1],Ge=cP(we,a,s),Pn=H0(Ge,2),Pe=Pn[0],Ye=Pn[1],Ke=D?D(we):null;if(Lt&&Pe&&!Ke)Pt.push(we);else{var dt=[Le,Ye];Ke&&(dt=dt.concat(Ke)),Tt.push({file:we,errors:dt.filter(function(zt){return zt})})}}),(!c&&Pt.length>1||c&&d>=1&&Pt.length>d)&&(Pt.forEach(function(we){Tt.push({file:we,errors:[nH]})}),Pt.splice(0)),$({acceptedFiles:Pt,fileRejections:Tt,type:"setFiles"}),v&&v(Pt,Tt,Me),Tt.length>0&&w&&w(Tt,Me),Pt.length>0&&b&&b(Pt,Me)},[$,c,A,a,s,d,v,b,w,D]),le=f.useCallback(function(Se){Se.preventDefault(),Se.persist(),ct(Se),X.current=[],qf(Se)&&Promise.resolve(o(Se)).then(function(Me){sh(Se)&&!R||pe(Me,Se)}).catch(function(Me){return U(Me)}),$({type:"reset"})},[o,pe,U,R]),ge=f.useCallback(function(){if(fe.current){$({type:"openDialog"}),Q();var Se={multiple:c,types:L};window.showOpenFilePicker(Se).then(function(Me){return o(Me)}).then(function(Me){pe(Me,null),$({type:"closeDialog"})}).catch(function(Me){uH(Me)?(F(Me),$({type:"closeDialog"})):dH(Me)?(fe.current=!1,q.current?(q.current.value=null,q.current.click()):U(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):U(Me)});return}q.current&&($({type:"openDialog"}),Q(),q.current.value=null,q.current.click())},[$,Q,F,k,pe,U,L,c]),ke=f.useCallback(function(Se){!V.current||!V.current.isEqualNode(Se.target)||(Se.key===" "||Se.key==="Enter"||Se.keyCode===32||Se.keyCode===13)&&(Se.preventDefault(),ge())},[V,ge]),xe=f.useCallback(function(){$({type:"focus"})},[]),de=f.useCallback(function(){$({type:"blur"})},[]),Te=f.useCallback(function(){I||(aH()?setTimeout(ge,0):ge())},[I,ge]),Ee=function(Me){return r?null:Me},$e=function(Me){return E?null:Ee(Me)},kt=function(Me){return O?null:Ee(Me)},ct=function(Me){R&&Me.stopPropagation()},on=f.useMemo(function(){return function(){var Se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Me=Se.refKey,Pt=Me===void 0?"ref":Me,Tt=Se.role,we=Se.onKeyDown,ht=Se.onFocus,$t=Se.onBlur,Lt=Se.onClick,Le=Se.onDragEnter,Ge=Se.onDragOver,Pn=Se.onDragLeave,Pe=Se.onDrop,Ye=ah(Se,hH);return dr(dr(c1({onKeyDown:$e(Gs(we,ke)),onFocus:$e(Gs(ht,xe)),onBlur:$e(Gs($t,de)),onClick:Ee(Gs(Lt,Te)),onDragEnter:kt(Gs(Le,se)),onDragOver:kt(Gs(Ge,re)),onDragLeave:kt(Gs(Pn,oe)),onDrop:kt(Gs(Pe,le)),role:typeof Tt=="string"&&Tt!==""?Tt:"presentation"},Pt,V),!r&&!E?{tabIndex:0}:{}),Ye)}},[V,ke,xe,de,Te,se,re,oe,le,E,O,r]),vt=f.useCallback(function(Se){Se.stopPropagation()},[]),bt=f.useMemo(function(){return function(){var Se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Me=Se.refKey,Pt=Me===void 0?"ref":Me,Tt=Se.onChange,we=Se.onClick,ht=ah(Se,mH),$t=c1({accept:A,multiple:c,type:"file",style:{display:"none"},onChange:Ee(Gs(Tt,le)),onClick:Ee(Gs(we,vt)),tabIndex:-1},Pt,q);return dr(dr({},$t),ht)}},[q,n,c,le,r]);return dr(dr({},z),{},{isFocused:Y&&!r,getRootProps:on,getInputProps:bt,rootRef:V,inputRef:q,open:Ee(ge)})}function kH(e,t){switch(t.type){case"focus":return dr(dr({},e),{},{isFocused:!0});case"blur":return dr(dr({},e),{},{isFocused:!1});case"openDialog":return dr(dr({},u1),{},{isFileDialogActive:!0});case"closeDialog":return dr(dr({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return dr(dr({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return dr(dr({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return dr({},u1);default:return e}}function IS(){}function d1(){return d1=Object.assign?Object.assign.bind():function(e){for(var t=1;t'),!0):t?e.some(function(n){return t.includes(n)})||e.includes("*"):!0}var RH=function(t,n,r){r===void 0&&(r=!1);var o=n.alt,s=n.meta,a=n.mod,c=n.shift,d=n.ctrl,p=n.keys,h=t.key,m=t.code,v=t.ctrlKey,b=t.metaKey,w=t.shiftKey,y=t.altKey,S=li(m),k=h.toLowerCase();if(!r){if(o===!y&&k!=="alt"||c===!w&&k!=="shift")return!1;if(a){if(!b&&!v)return!1}else if(s===!b&&k!=="meta"&&k!=="os"||d===!v&&k!=="ctrl"&&k!=="control")return!1}return p&&p.length===1&&(p.includes(k)||p.includes(S))?!0:p?mP(p):!p},MH=f.createContext(void 0),DH=function(){return f.useContext(MH)};function yP(e,t){return e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(e).length===Object.keys(t).length&&Object.keys(e).reduce(function(n,r){return n&&yP(e[r],t[r])},!0):e===t}var AH=f.createContext({hotkeys:[],enabledScopes:[],toggleScope:function(){},enableScope:function(){},disableScope:function(){}}),TH=function(){return f.useContext(AH)};function NH(e){var t=f.useRef(void 0);return yP(t.current,e)||(t.current=e),t.current}var ES=function(t){t.stopPropagation(),t.preventDefault(),t.stopImmediatePropagation()},$H=typeof window<"u"?f.useLayoutEffect:f.useEffect;function tt(e,t,n,r){var o=f.useRef(null),s=f.useRef(!1),a=n instanceof Array?r instanceof Array?void 0:r:n,c=e instanceof Array?e.join(a==null?void 0:a.splitKey):e,d=n instanceof Array?n:r instanceof Array?r:void 0,p=f.useCallback(t,d??[]),h=f.useRef(p);d?h.current=p:h.current=t;var m=NH(a),v=TH(),b=v.enabledScopes,w=DH();return $H(function(){if(!((m==null?void 0:m.enabled)===!1||!OH(b,m==null?void 0:m.scopes))){var y=function(I,E){var O;if(E===void 0&&(E=!1),!(EH(I)&&!bP(I,m==null?void 0:m.enableOnFormTags))&&!(m!=null&&m.ignoreEventWhen!=null&&m.ignoreEventWhen(I))){if(o.current!==null&&document.activeElement!==o.current&&!o.current.contains(document.activeElement)){ES(I);return}(O=I.target)!=null&&O.isContentEditable&&!(m!=null&&m.enableOnContentEditable)||W0(c,m==null?void 0:m.splitKey).forEach(function(R){var M,D=V0(R,m==null?void 0:m.combinationKey);if(RH(I,D,m==null?void 0:m.ignoreModifiers)||(M=D.keys)!=null&&M.includes("*")){if(E&&s.current)return;if(jH(I,D,m==null?void 0:m.preventDefault),!IH(I,D,m==null?void 0:m.enabled)){ES(I);return}h.current(I,D),E||(s.current=!0)}})}},S=function(I){I.key!==void 0&&(gP(li(I.code)),((m==null?void 0:m.keydown)===void 0&&(m==null?void 0:m.keyup)!==!0||m!=null&&m.keydown)&&y(I))},k=function(I){I.key!==void 0&&(vP(li(I.code)),s.current=!1,m!=null&&m.keyup&&y(I,!0))},_=o.current||(a==null?void 0:a.document)||document;return _.addEventListener("keyup",k),_.addEventListener("keydown",S),w&&W0(c,m==null?void 0:m.splitKey).forEach(function(P){return w.addHotkey(V0(P,m==null?void 0:m.combinationKey,m==null?void 0:m.description))}),function(){_.removeEventListener("keyup",k),_.removeEventListener("keydown",S),w&&W0(c,m==null?void 0:m.splitKey).forEach(function(P){return w.removeHotkey(V0(P,m==null?void 0:m.combinationKey,m==null?void 0:m.description))})}}},[c,m,b]),o}const LH=e=>{const{isDragAccept:t,isDragReject:n,setIsHandlingUpload:r}=e;return tt("esc",()=>{r(!1)}),i.jsxs(Re,{sx:{position:"absolute",top:0,insetInlineStart:0,width:"100vw",height:"100vh",zIndex:999,backdropFilter:"blur(20px)"},children:[i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:"base.700",_dark:{bg:"base.900"},opacity:.7,alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,width:"full",height:"full",alignItems:"center",justifyContent:"center",p:4},children:i.jsx(W,{sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",flexDir:"column",gap:4,borderWidth:3,borderRadius:"xl",borderStyle:"dashed",color:"base.100",borderColor:"base.100",_dark:{borderColor:"base.200"}},children:t?i.jsx(Ys,{size:"lg",children:"Drop to Upload"}):i.jsxs(i.Fragment,{children:[i.jsx(Ys,{size:"lg",children:"Invalid Upload"}),i.jsx(Ys,{size:"md",children:"Must be single JPEG or PNG image"})]})})})]})},zH=be([lt,Kn],({gallery:e},t)=>{let n={type:"TOAST"};t==="unifiedCanvas"&&(n={type:"SET_CANVAS_INITIAL_IMAGE"}),t==="img2img"&&(n={type:"SET_INITIAL_IMAGE"});const{autoAddBoardId:r}=e;return{autoAddBoardId:r,postUploadAction:n}},Je),BH=e=>{const{children:t}=e,{autoAddBoardId:n,postUploadAction:r}=B(zH),o=B(kr),s=Vc(),{t:a}=ye(),[c,d]=f.useState(!1),[p]=$_(),h=f.useCallback(P=>{d(!0),s({title:a("toast.uploadFailed"),description:P.errors.map(I=>I.message).join(` -`),status:"error"})},[a,s]),m=f.useCallback(async P=>{p({file:P,image_category:"user",is_intermediate:!1,postUploadAction:r,board_id:n==="none"?void 0:n})},[n,r,p]),v=f.useCallback((P,I)=>{if(I.length>1){s({title:a("toast.uploadFailed"),description:a("toast.uploadFailedInvalidUploadDesc"),status:"error"});return}I.forEach(E=>{h(E)}),P.forEach(E=>{m(E)})},[a,s,m,h]),{getRootProps:b,getInputProps:w,isDragAccept:y,isDragReject:S,isDragActive:k,inputRef:_}=ty({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},noClick:!0,onDrop:v,onDragOver:()=>d(!0),disabled:o,multiple:!1});return f.useEffect(()=>{const P=async I=>{var E,O;_.current&&(E=I.clipboardData)!=null&&E.files&&(_.current.files=I.clipboardData.files,(O=_.current)==null||O.dispatchEvent(new Event("change",{bubbles:!0})))};return document.addEventListener("paste",P),()=>{document.removeEventListener("paste",P)}},[_]),i.jsxs(Re,{...b({style:{}}),onKeyDown:P=>{P.key},children:[i.jsx("input",{...w()}),t,i.jsx(mo,{children:k&&c&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsx(LH,{isDragAccept:y,isDragReject:S,setIsHandlingUpload:d})},"image-upload-overlay")})]})},FH=f.memo(BH),HH=Ae((e,t)=>{const{children:n,tooltip:r="",tooltipProps:{placement:o="top",hasArrow:s=!0,...a}={},isChecked:c,...d}=e;return i.jsx(vn,{label:r,placement:o,hasArrow:s,...a,children:i.jsx(yc,{ref:t,colorScheme:c?"accent":"base",...d,children:n})})}),Yt=f.memo(HH);function WH(e){const t=f.createContext(null);return[({children:o,value:s})=>H.createElement(t.Provider,{value:s},o),()=>{const o=f.useContext(t);if(o===null)throw new Error(e);return o}]}function xP(e){return Array.isArray(e)?e:[e]}const VH=()=>{};function UH(e,t={active:!0}){return typeof e!="function"||!t.active?t.onKeyDown||VH:n=>{var r;n.key==="Escape"&&(e(n),(r=t.onTrigger)==null||r.call(t))}}function wP({data:e}){const t=[],n=[],r=e.reduce((o,s,a)=>(s.group?o[s.group]?o[s.group].push(a):o[s.group]=[a]:n.push(a),o),{});return Object.keys(r).forEach(o=>{t.push(...r[o].map(s=>e[s]))}),t.push(...n.map(o=>e[o])),t}function SP(e){return Array.isArray(e)||e===null?!1:typeof e=="object"?e.type!==H.Fragment:!1}function CP(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;tr===t[o]).indexOf(!1)>=0)&&(n.current={v:e(),prevDeps:[...t]}),n.current.v}const KH=VR({key:"mantine",prepend:!0});function XH(){return $5()||KH}var YH=Object.defineProperty,OS=Object.getOwnPropertySymbols,QH=Object.prototype.hasOwnProperty,JH=Object.prototype.propertyIsEnumerable,RS=(e,t,n)=>t in e?YH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ZH=(e,t)=>{for(var n in t||(t={}))QH.call(t,n)&&RS(e,n,t[n]);if(OS)for(var n of OS(t))JH.call(t,n)&&RS(e,n,t[n]);return e};const U0="ref";function eW(e){let t;if(e.length!==1)return{args:e,ref:t};const[n]=e;if(!(n instanceof Object))return{args:e,ref:t};if(!(U0 in n))return{args:e,ref:t};t=n[U0];const r=ZH({},n);return delete r[U0],{args:[r],ref:t}}const{cssFactory:tW}=(()=>{function e(n,r,o){const s=[],a=qR(n,s,o);return s.length<2?o:a+r(s)}function t(n){const{cache:r}=n,o=(...a)=>{const{ref:c,args:d}=eW(a),p=UR(d,r.registered);return GR(r,p,!1),`${r.key}-${p.name}${c===void 0?"":` ${c}`}`};return{css:o,cx:(...a)=>e(r.registered,o,kP(a))}}return{cssFactory:t}})();function _P(){const e=XH();return qH(()=>tW({cache:e}),[e])}function nW({cx:e,classes:t,context:n,classNames:r,name:o,cache:s}){const a=n.reduce((c,d)=>(Object.keys(d.classNames).forEach(p=>{typeof c[p]!="string"?c[p]=`${d.classNames[p]}`:c[p]=`${c[p]} ${d.classNames[p]}`}),c),{});return Object.keys(t).reduce((c,d)=>(c[d]=e(t[d],a[d],r!=null&&r[d],Array.isArray(o)?o.filter(Boolean).map(p=>`${(s==null?void 0:s.key)||"mantine"}-${p}-${d}`).join(" "):o?`${(s==null?void 0:s.key)||"mantine"}-${o}-${d}`:null),c),{})}var rW=Object.defineProperty,MS=Object.getOwnPropertySymbols,oW=Object.prototype.hasOwnProperty,sW=Object.prototype.propertyIsEnumerable,DS=(e,t,n)=>t in e?rW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,G0=(e,t)=>{for(var n in t||(t={}))oW.call(t,n)&&DS(e,n,t[n]);if(MS)for(var n of MS(t))sW.call(t,n)&&DS(e,n,t[n]);return e};function f1(e,t){return t&&Object.keys(t).forEach(n=>{e[n]?e[n]=G0(G0({},e[n]),t[n]):e[n]=G0({},t[n])}),e}function AS(e,t,n,r){const o=s=>typeof s=="function"?s(t,n||{},r):s||{};return Array.isArray(e)?e.map(s=>o(s.styles)).reduce((s,a)=>f1(s,a),{}):o(e)}function aW({ctx:e,theme:t,params:n,variant:r,size:o}){return e.reduce((s,a)=>(a.variants&&r in a.variants&&f1(s,a.variants[r](t,n,{variant:r,size:o})),a.sizes&&o in a.sizes&&f1(s,a.sizes[o](t,n,{variant:r,size:o})),s),{})}function so(e){const t=typeof e=="function"?e:()=>e;function n(r,o){const s=Ha(),a=o9(o==null?void 0:o.name),c=$5(),d={variant:o==null?void 0:o.variant,size:o==null?void 0:o.size},{css:p,cx:h}=_P(),m=t(s,r,d),v=AS(o==null?void 0:o.styles,s,r,d),b=AS(a,s,r,d),w=aW({ctx:a,theme:s,params:r,variant:o==null?void 0:o.variant,size:o==null?void 0:o.size}),y=Object.fromEntries(Object.keys(m).map(S=>{const k=h({[p(m[S])]:!(o!=null&&o.unstyled)},p(w[S]),p(b[S]),p(v[S]));return[S,k]}));return{classes:nW({cx:h,classes:y,context:a,classNames:o==null?void 0:o.classNames,name:o==null?void 0:o.name,cache:c}),cx:h,theme:s}}return n}function TS(e){return`___ref-${e||""}`}var iW=Object.defineProperty,lW=Object.defineProperties,cW=Object.getOwnPropertyDescriptors,NS=Object.getOwnPropertySymbols,uW=Object.prototype.hasOwnProperty,dW=Object.prototype.propertyIsEnumerable,$S=(e,t,n)=>t in e?iW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gu=(e,t)=>{for(var n in t||(t={}))uW.call(t,n)&&$S(e,n,t[n]);if(NS)for(var n of NS(t))dW.call(t,n)&&$S(e,n,t[n]);return e},vu=(e,t)=>lW(e,cW(t));const bu={in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:`scale(.9) translateY(${Ue(10)})`},transitionProperty:"transform, opacity"},Kf={fade:{in:{opacity:1},out:{opacity:0},transitionProperty:"opacity"},scale:{in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:"scale(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-y":{in:{opacity:1,transform:"scaleY(1)"},out:{opacity:0,transform:"scaleY(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-x":{in:{opacity:1,transform:"scaleX(1)"},out:{opacity:0,transform:"scaleX(0)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"skew-up":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:`translateY(-${Ue(20)}) skew(-10deg, -5deg)`},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"skew-down":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:`translateY(${Ue(20)}) skew(-10deg, -5deg)`},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-left":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:`translateY(${Ue(20)}) rotate(-5deg)`},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-right":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:`translateY(${Ue(20)}) rotate(5deg)`},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-down":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(-100%)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-up":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(100%)"},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"slide-left":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(100%)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"slide-right":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(-100%)"},common:{transformOrigin:"right"},transitionProperty:"transform, opacity"},pop:vu(gu({},bu),{common:{transformOrigin:"center center"}}),"pop-bottom-left":vu(gu({},bu),{common:{transformOrigin:"bottom left"}}),"pop-bottom-right":vu(gu({},bu),{common:{transformOrigin:"bottom right"}}),"pop-top-left":vu(gu({},bu),{common:{transformOrigin:"top left"}}),"pop-top-right":vu(gu({},bu),{common:{transformOrigin:"top right"}})},LS=["mousedown","touchstart"];function fW(e,t,n){const r=f.useRef();return f.useEffect(()=>{const o=s=>{const{target:a}=s??{};if(Array.isArray(n)){const c=(a==null?void 0:a.hasAttribute("data-ignore-outside-clicks"))||!document.body.contains(a)&&a.tagName!=="HTML";n.every(p=>!!p&&!s.composedPath().includes(p))&&!c&&e()}else r.current&&!r.current.contains(a)&&e()};return(t||LS).forEach(s=>document.addEventListener(s,o)),()=>{(t||LS).forEach(s=>document.removeEventListener(s,o))}},[r,e,n]),r}function pW(e,t){try{return e.addEventListener("change",t),()=>e.removeEventListener("change",t)}catch{return e.addListener(t),()=>e.removeListener(t)}}function hW(e,t){return typeof t=="boolean"?t:typeof window<"u"&&"matchMedia"in window?window.matchMedia(e).matches:!1}function mW(e,t,{getInitialValueInEffect:n}={getInitialValueInEffect:!0}){const[r,o]=f.useState(n?t:hW(e,t)),s=f.useRef();return f.useEffect(()=>{if("matchMedia"in window)return s.current=window.matchMedia(e),o(s.current.matches),pW(s.current,a=>o(a.matches))},[e]),r}const PP=typeof document<"u"?f.useLayoutEffect:f.useEffect;function ks(e,t){const n=f.useRef(!1);f.useEffect(()=>()=>{n.current=!1},[]),f.useEffect(()=>{if(n.current)return e();n.current=!0},t)}function gW({opened:e,shouldReturnFocus:t=!0}){const n=f.useRef(),r=()=>{var o;n.current&&"focus"in n.current&&typeof n.current.focus=="function"&&((o=n.current)==null||o.focus({preventScroll:!0}))};return ks(()=>{let o=-1;const s=a=>{a.key==="Tab"&&window.clearTimeout(o)};return document.addEventListener("keydown",s),e?n.current=document.activeElement:t&&(o=window.setTimeout(r,10)),()=>{window.clearTimeout(o),document.removeEventListener("keydown",s)}},[e,t]),r}const vW=/input|select|textarea|button|object/,jP="a, input, select, textarea, button, object, [tabindex]";function bW(e){return e.style.display==="none"}function yW(e){if(e.getAttribute("aria-hidden")||e.getAttribute("hidden")||e.getAttribute("type")==="hidden")return!1;let n=e;for(;n&&!(n===document.body||n.nodeType===11);){if(bW(n))return!1;n=n.parentNode}return!0}function IP(e){let t=e.getAttribute("tabindex");return t===null&&(t=void 0),parseInt(t,10)}function p1(e){const t=e.nodeName.toLowerCase(),n=!Number.isNaN(IP(e));return(vW.test(t)&&!e.disabled||e instanceof HTMLAnchorElement&&e.href||n)&&yW(e)}function EP(e){const t=IP(e);return(Number.isNaN(t)||t>=0)&&p1(e)}function xW(e){return Array.from(e.querySelectorAll(jP)).filter(EP)}function wW(e,t){const n=xW(e);if(!n.length){t.preventDefault();return}const r=n[t.shiftKey?0:n.length-1],o=e.getRootNode();if(!(r===o.activeElement||e===o.activeElement))return;t.preventDefault();const a=n[t.shiftKey?n.length-1:0];a&&a.focus()}function ry(){return`mantine-${Math.random().toString(36).slice(2,11)}`}function SW(e,t="body > :not(script)"){const n=ry(),r=Array.from(document.querySelectorAll(t)).map(o=>{var s;if((s=o==null?void 0:o.shadowRoot)!=null&&s.contains(e)||o.contains(e))return;const a=o.getAttribute("aria-hidden"),c=o.getAttribute("data-hidden"),d=o.getAttribute("data-focus-id");return o.setAttribute("data-focus-id",n),a===null||a==="false"?o.setAttribute("aria-hidden","true"):!c&&!d&&o.setAttribute("data-hidden",a),{node:o,ariaHidden:c||null}});return()=>{r.forEach(o=>{!o||n!==o.node.getAttribute("data-focus-id")||(o.ariaHidden===null?o.node.removeAttribute("aria-hidden"):o.node.setAttribute("aria-hidden",o.ariaHidden),o.node.removeAttribute("data-focus-id"),o.node.removeAttribute("data-hidden"))})}}function CW(e=!0){const t=f.useRef(),n=f.useRef(null),r=s=>{let a=s.querySelector("[data-autofocus]");if(!a){const c=Array.from(s.querySelectorAll(jP));a=c.find(EP)||c.find(p1)||null,!a&&p1(s)&&(a=s)}a&&a.focus({preventScroll:!0})},o=f.useCallback(s=>{if(e){if(s===null){n.current&&(n.current(),n.current=null);return}n.current=SW(s),t.current!==s&&(s?(setTimeout(()=>{s.getRootNode()&&r(s)}),t.current=s):t.current=null)}},[e]);return f.useEffect(()=>{if(!e)return;t.current&&setTimeout(()=>r(t.current));const s=a=>{a.key==="Tab"&&t.current&&wW(t.current,a)};return document.addEventListener("keydown",s),()=>{document.removeEventListener("keydown",s),n.current&&n.current()}},[e]),o}const kW=H["useId".toString()]||(()=>{});function _W(){const e=kW();return e?`mantine-${e.replace(/:/g,"")}`:""}function oy(e){const t=_W(),[n,r]=f.useState(t);return PP(()=>{r(ry())},[]),typeof e=="string"?e:typeof window>"u"?t:n}function zS(e,t,n){f.useEffect(()=>(window.addEventListener(e,t,n),()=>window.removeEventListener(e,t,n)),[e,t])}function OP(e,t){typeof e=="function"?e(t):typeof e=="object"&&e!==null&&"current"in e&&(e.current=t)}function PW(...e){return t=>{e.forEach(n=>OP(n,t))}}function Bd(...e){return f.useCallback(PW(...e),e)}function cd({value:e,defaultValue:t,finalValue:n,onChange:r=()=>{}}){const[o,s]=f.useState(t!==void 0?t:n),a=c=>{s(c),r==null||r(c)};return e!==void 0?[e,r,!0]:[o,a,!1]}function RP(e,t){return mW("(prefers-reduced-motion: reduce)",e,t)}const jW=e=>e<.5?2*e*e:-1+(4-2*e)*e,IW=({axis:e,target:t,parent:n,alignment:r,offset:o,isList:s})=>{if(!t||!n&&typeof document>"u")return 0;const a=!!n,d=(n||document.body).getBoundingClientRect(),p=t.getBoundingClientRect(),h=m=>p[m]-d[m];if(e==="y"){const m=h("top");if(m===0)return 0;if(r==="start"){const b=m-o;return b<=p.height*(s?0:1)||!s?b:0}const v=a?d.height:window.innerHeight;if(r==="end"){const b=m+o-v+p.height;return b>=-p.height*(s?0:1)||!s?b:0}return r==="center"?m-v/2+p.height/2:0}if(e==="x"){const m=h("left");if(m===0)return 0;if(r==="start"){const b=m-o;return b<=p.width||!s?b:0}const v=a?d.width:window.innerWidth;if(r==="end"){const b=m+o-v+p.width;return b>=-p.width||!s?b:0}return r==="center"?m-v/2+p.width/2:0}return 0},EW=({axis:e,parent:t})=>{if(!t&&typeof document>"u")return 0;const n=e==="y"?"scrollTop":"scrollLeft";if(t)return t[n];const{body:r,documentElement:o}=document;return r[n]+o[n]},OW=({axis:e,parent:t,distance:n})=>{if(!t&&typeof document>"u")return;const r=e==="y"?"scrollTop":"scrollLeft";if(t)t[r]=n;else{const{body:o,documentElement:s}=document;o[r]=n,s[r]=n}};function MP({duration:e=1250,axis:t="y",onScrollFinish:n,easing:r=jW,offset:o=0,cancelable:s=!0,isList:a=!1}={}){const c=f.useRef(0),d=f.useRef(0),p=f.useRef(!1),h=f.useRef(null),m=f.useRef(null),v=RP(),b=()=>{c.current&&cancelAnimationFrame(c.current)},w=f.useCallback(({alignment:S="start"}={})=>{var k;p.current=!1,c.current&&b();const _=(k=EW({parent:h.current,axis:t}))!=null?k:0,P=IW({parent:h.current,target:m.current,axis:t,alignment:S,offset:o,isList:a})-(h.current?0:_);function I(){d.current===0&&(d.current=performance.now());const O=performance.now()-d.current,R=v||e===0?1:O/e,M=_+P*r(R);OW({parent:h.current,axis:t,distance:M}),!p.current&&R<1?c.current=requestAnimationFrame(I):(typeof n=="function"&&n(),d.current=0,c.current=0,b())}I()},[t,e,r,a,o,n,v]),y=()=>{s&&(p.current=!0)};return zS("wheel",y,{passive:!0}),zS("touchmove",y,{passive:!0}),f.useEffect(()=>b,[]),{scrollableRef:h,targetRef:m,scrollIntoView:w,cancel:b}}var BS=Object.getOwnPropertySymbols,RW=Object.prototype.hasOwnProperty,MW=Object.prototype.propertyIsEnumerable,DW=(e,t)=>{var n={};for(var r in e)RW.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&BS)for(var r of BS(e))t.indexOf(r)<0&&MW.call(e,r)&&(n[r]=e[r]);return n};function $m(e){const t=e,{m:n,mx:r,my:o,mt:s,mb:a,ml:c,mr:d,p,px:h,py:m,pt:v,pb:b,pl:w,pr:y,bg:S,c:k,opacity:_,ff:P,fz:I,fw:E,lts:O,ta:R,lh:M,fs:D,tt:A,td:L,w:Q,miw:F,maw:V,h:q,mih:G,mah:T,bgsz:z,bgp:$,bgr:Y,bga:ae,pos:fe,top:ie,left:X,bottom:K,right:U,inset:se,display:re}=t,oe=DW(t,["m","mx","my","mt","mb","ml","mr","p","px","py","pt","pb","pl","pr","bg","c","opacity","ff","fz","fw","lts","ta","lh","fs","tt","td","w","miw","maw","h","mih","mah","bgsz","bgp","bgr","bga","pos","top","left","bottom","right","inset","display"]);return{systemStyles:s9({m:n,mx:r,my:o,mt:s,mb:a,ml:c,mr:d,p,px:h,py:m,pt:v,pb:b,pl:w,pr:y,bg:S,c:k,opacity:_,ff:P,fz:I,fw:E,lts:O,ta:R,lh:M,fs:D,tt:A,td:L,w:Q,miw:F,maw:V,h:q,mih:G,mah:T,bgsz:z,bgp:$,bgr:Y,bga:ae,pos:fe,top:ie,left:X,bottom:K,right:U,inset:se,display:re}),rest:oe}}function AW(e,t){const n=Object.keys(e).filter(r=>r!=="base").sort((r,o)=>Pw(Vt({size:r,sizes:t.breakpoints}))-Pw(Vt({size:o,sizes:t.breakpoints})));return"base"in e?["base",...n]:n}function TW({value:e,theme:t,getValue:n,property:r}){if(e==null)return;if(typeof e=="object")return AW(e,t).reduce((a,c)=>{if(c==="base"&&e.base!==void 0){const p=n(e.base,t);return Array.isArray(r)?(r.forEach(h=>{a[h]=p}),a):(a[r]=p,a)}const d=n(e[c],t);return Array.isArray(r)?(a[t.fn.largerThan(c)]={},r.forEach(p=>{a[t.fn.largerThan(c)][p]=d}),a):(a[t.fn.largerThan(c)]={[r]:d},a)},{});const o=n(e,t);return Array.isArray(r)?r.reduce((s,a)=>(s[a]=o,s),{}):{[r]:o}}function NW(e,t){return e==="dimmed"?t.colorScheme==="dark"?t.colors.dark[2]:t.colors.gray[6]:t.fn.variant({variant:"filled",color:e,primaryFallback:!1}).background}function $W(e){return Ue(e)}function LW(e){return e}function zW(e,t){return Vt({size:e,sizes:t.fontSizes})}const BW=["-xs","-sm","-md","-lg","-xl"];function FW(e,t){return BW.includes(e)?`calc(${Vt({size:e.replace("-",""),sizes:t.spacing})} * -1)`:Vt({size:e,sizes:t.spacing})}const HW={identity:LW,color:NW,size:$W,fontSize:zW,spacing:FW},WW={m:{type:"spacing",property:"margin"},mt:{type:"spacing",property:"marginTop"},mb:{type:"spacing",property:"marginBottom"},ml:{type:"spacing",property:"marginLeft"},mr:{type:"spacing",property:"marginRight"},mx:{type:"spacing",property:["marginRight","marginLeft"]},my:{type:"spacing",property:["marginTop","marginBottom"]},p:{type:"spacing",property:"padding"},pt:{type:"spacing",property:"paddingTop"},pb:{type:"spacing",property:"paddingBottom"},pl:{type:"spacing",property:"paddingLeft"},pr:{type:"spacing",property:"paddingRight"},px:{type:"spacing",property:["paddingRight","paddingLeft"]},py:{type:"spacing",property:["paddingTop","paddingBottom"]},bg:{type:"color",property:"background"},c:{type:"color",property:"color"},opacity:{type:"identity",property:"opacity"},ff:{type:"identity",property:"fontFamily"},fz:{type:"fontSize",property:"fontSize"},fw:{type:"identity",property:"fontWeight"},lts:{type:"size",property:"letterSpacing"},ta:{type:"identity",property:"textAlign"},lh:{type:"identity",property:"lineHeight"},fs:{type:"identity",property:"fontStyle"},tt:{type:"identity",property:"textTransform"},td:{type:"identity",property:"textDecoration"},w:{type:"spacing",property:"width"},miw:{type:"spacing",property:"minWidth"},maw:{type:"spacing",property:"maxWidth"},h:{type:"spacing",property:"height"},mih:{type:"spacing",property:"minHeight"},mah:{type:"spacing",property:"maxHeight"},bgsz:{type:"size",property:"backgroundSize"},bgp:{type:"identity",property:"backgroundPosition"},bgr:{type:"identity",property:"backgroundRepeat"},bga:{type:"identity",property:"backgroundAttachment"},pos:{type:"identity",property:"position"},top:{type:"identity",property:"top"},left:{type:"size",property:"left"},bottom:{type:"size",property:"bottom"},right:{type:"size",property:"right"},inset:{type:"size",property:"inset"},display:{type:"identity",property:"display"}};var VW=Object.defineProperty,FS=Object.getOwnPropertySymbols,UW=Object.prototype.hasOwnProperty,GW=Object.prototype.propertyIsEnumerable,HS=(e,t,n)=>t in e?VW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,WS=(e,t)=>{for(var n in t||(t={}))UW.call(t,n)&&HS(e,n,t[n]);if(FS)for(var n of FS(t))GW.call(t,n)&&HS(e,n,t[n]);return e};function VS(e,t,n=WW){return Object.keys(n).reduce((o,s)=>(s in e&&e[s]!==void 0&&o.push(TW({value:e[s],getValue:HW[n[s].type],property:n[s].property,theme:t})),o),[]).reduce((o,s)=>(Object.keys(s).forEach(a=>{typeof s[a]=="object"&&s[a]!==null&&a in o?o[a]=WS(WS({},o[a]),s[a]):o[a]=s[a]}),o),{})}function US(e,t){return typeof e=="function"?e(t):e}function qW(e,t,n){const r=Ha(),{css:o,cx:s}=_P();return Array.isArray(e)?s(n,o(VS(t,r)),e.map(a=>o(US(a,r)))):s(n,o(US(e,r)),o(VS(t,r)))}var KW=Object.defineProperty,ih=Object.getOwnPropertySymbols,DP=Object.prototype.hasOwnProperty,AP=Object.prototype.propertyIsEnumerable,GS=(e,t,n)=>t in e?KW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,XW=(e,t)=>{for(var n in t||(t={}))DP.call(t,n)&&GS(e,n,t[n]);if(ih)for(var n of ih(t))AP.call(t,n)&&GS(e,n,t[n]);return e},YW=(e,t)=>{var n={};for(var r in e)DP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ih)for(var r of ih(e))t.indexOf(r)<0&&AP.call(e,r)&&(n[r]=e[r]);return n};const TP=f.forwardRef((e,t)=>{var n=e,{className:r,component:o,style:s,sx:a}=n,c=YW(n,["className","component","style","sx"]);const{systemStyles:d,rest:p}=$m(c),h=o||"div";return H.createElement(h,XW({ref:t,className:qW(a,d,r),style:s},p))});TP.displayName="@mantine/core/Box";const Io=TP;var QW=Object.defineProperty,JW=Object.defineProperties,ZW=Object.getOwnPropertyDescriptors,qS=Object.getOwnPropertySymbols,eV=Object.prototype.hasOwnProperty,tV=Object.prototype.propertyIsEnumerable,KS=(e,t,n)=>t in e?QW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,XS=(e,t)=>{for(var n in t||(t={}))eV.call(t,n)&&KS(e,n,t[n]);if(qS)for(var n of qS(t))tV.call(t,n)&&KS(e,n,t[n]);return e},nV=(e,t)=>JW(e,ZW(t)),rV=so(e=>({root:nV(XS(XS({},e.fn.focusStyles()),e.fn.fontStyles()),{cursor:"pointer",border:0,padding:0,appearance:"none",fontSize:e.fontSizes.md,backgroundColor:"transparent",textAlign:"left",color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,textDecoration:"none",boxSizing:"border-box"})}));const oV=rV;var sV=Object.defineProperty,lh=Object.getOwnPropertySymbols,NP=Object.prototype.hasOwnProperty,$P=Object.prototype.propertyIsEnumerable,YS=(e,t,n)=>t in e?sV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,aV=(e,t)=>{for(var n in t||(t={}))NP.call(t,n)&&YS(e,n,t[n]);if(lh)for(var n of lh(t))$P.call(t,n)&&YS(e,n,t[n]);return e},iV=(e,t)=>{var n={};for(var r in e)NP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&lh)for(var r of lh(e))t.indexOf(r)<0&&$P.call(e,r)&&(n[r]=e[r]);return n};const LP=f.forwardRef((e,t)=>{const n=Cr("UnstyledButton",{},e),{className:r,component:o="button",unstyled:s,variant:a}=n,c=iV(n,["className","component","unstyled","variant"]),{classes:d,cx:p}=oV(null,{name:"UnstyledButton",unstyled:s,variant:a});return H.createElement(Io,aV({component:o,ref:t,className:p(d.root,r),type:o==="button"?"button":void 0},c))});LP.displayName="@mantine/core/UnstyledButton";const lV=LP;var cV=Object.defineProperty,uV=Object.defineProperties,dV=Object.getOwnPropertyDescriptors,QS=Object.getOwnPropertySymbols,fV=Object.prototype.hasOwnProperty,pV=Object.prototype.propertyIsEnumerable,JS=(e,t,n)=>t in e?cV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,h1=(e,t)=>{for(var n in t||(t={}))fV.call(t,n)&&JS(e,n,t[n]);if(QS)for(var n of QS(t))pV.call(t,n)&&JS(e,n,t[n]);return e},ZS=(e,t)=>uV(e,dV(t));const hV=["subtle","filled","outline","light","default","transparent","gradient"],Xf={xs:Ue(18),sm:Ue(22),md:Ue(28),lg:Ue(34),xl:Ue(44)};function mV({variant:e,theme:t,color:n,gradient:r}){const o=t.fn.variant({color:n,variant:e,gradient:r});return e==="gradient"?{border:0,backgroundImage:o.background,color:o.color,"&:hover":t.fn.hover({backgroundSize:"200%"})}:hV.includes(e)?h1({border:`${Ue(1)} solid ${o.border}`,backgroundColor:o.background,color:o.color},t.fn.hover({backgroundColor:o.hover})):null}var gV=so((e,{radius:t,color:n,gradient:r},{variant:o,size:s})=>({root:ZS(h1({position:"relative",borderRadius:e.fn.radius(t),padding:0,lineHeight:1,display:"flex",alignItems:"center",justifyContent:"center",height:Vt({size:s,sizes:Xf}),minHeight:Vt({size:s,sizes:Xf}),width:Vt({size:s,sizes:Xf}),minWidth:Vt({size:s,sizes:Xf})},mV({variant:o,theme:e,color:n,gradient:r})),{"&:active":e.activeStyles,"& [data-action-icon-loader]":{maxWidth:"70%"},"&:disabled, &[data-disabled]":{color:e.colors.gray[e.colorScheme==="dark"?6:4],cursor:"not-allowed",backgroundColor:o==="transparent"?void 0:e.fn.themeColor("gray",e.colorScheme==="dark"?8:1),borderColor:o==="transparent"?void 0:e.fn.themeColor("gray",e.colorScheme==="dark"?8:1),backgroundImage:"none",pointerEvents:"none","&:active":{transform:"none"}},"&[data-loading]":{pointerEvents:"none","&::before":ZS(h1({content:'""'},e.fn.cover(Ue(-1))),{backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.colors.dark[7],.5):"rgba(255, 255, 255, .5)",borderRadius:e.fn.radius(t),cursor:"not-allowed"})}})}));const vV=gV;var bV=Object.defineProperty,ch=Object.getOwnPropertySymbols,zP=Object.prototype.hasOwnProperty,BP=Object.prototype.propertyIsEnumerable,eC=(e,t,n)=>t in e?bV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tC=(e,t)=>{for(var n in t||(t={}))zP.call(t,n)&&eC(e,n,t[n]);if(ch)for(var n of ch(t))BP.call(t,n)&&eC(e,n,t[n]);return e},nC=(e,t)=>{var n={};for(var r in e)zP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ch)for(var r of ch(e))t.indexOf(r)<0&&BP.call(e,r)&&(n[r]=e[r]);return n};function yV(e){var t=e,{size:n,color:r}=t,o=nC(t,["size","color"]);const s=o,{style:a}=s,c=nC(s,["style"]);return H.createElement("svg",tC({viewBox:"0 0 135 140",xmlns:"http://www.w3.org/2000/svg",fill:r,style:tC({width:n},a)},c),H.createElement("rect",{y:"10",width:"15",height:"120",rx:"6"},H.createElement("animate",{attributeName:"height",begin:"0.5s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"y",begin:"0.5s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("rect",{x:"30",y:"10",width:"15",height:"120",rx:"6"},H.createElement("animate",{attributeName:"height",begin:"0.25s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"y",begin:"0.25s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("rect",{x:"60",width:"15",height:"140",rx:"6"},H.createElement("animate",{attributeName:"height",begin:"0s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"y",begin:"0s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("rect",{x:"90",y:"10",width:"15",height:"120",rx:"6"},H.createElement("animate",{attributeName:"height",begin:"0.25s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"y",begin:"0.25s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("rect",{x:"120",y:"10",width:"15",height:"120",rx:"6"},H.createElement("animate",{attributeName:"height",begin:"0.5s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"y",begin:"0.5s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})))}var xV=Object.defineProperty,uh=Object.getOwnPropertySymbols,FP=Object.prototype.hasOwnProperty,HP=Object.prototype.propertyIsEnumerable,rC=(e,t,n)=>t in e?xV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,oC=(e,t)=>{for(var n in t||(t={}))FP.call(t,n)&&rC(e,n,t[n]);if(uh)for(var n of uh(t))HP.call(t,n)&&rC(e,n,t[n]);return e},sC=(e,t)=>{var n={};for(var r in e)FP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&uh)for(var r of uh(e))t.indexOf(r)<0&&HP.call(e,r)&&(n[r]=e[r]);return n};function wV(e){var t=e,{size:n,color:r}=t,o=sC(t,["size","color"]);const s=o,{style:a}=s,c=sC(s,["style"]);return H.createElement("svg",oC({viewBox:"0 0 38 38",xmlns:"http://www.w3.org/2000/svg",stroke:r,style:oC({width:n,height:n},a)},c),H.createElement("g",{fill:"none",fillRule:"evenodd"},H.createElement("g",{transform:"translate(2.5 2.5)",strokeWidth:"5"},H.createElement("circle",{strokeOpacity:".5",cx:"16",cy:"16",r:"16"}),H.createElement("path",{d:"M32 16c0-9.94-8.06-16-16-16"},H.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 16 16",to:"360 16 16",dur:"1s",repeatCount:"indefinite"})))))}var SV=Object.defineProperty,dh=Object.getOwnPropertySymbols,WP=Object.prototype.hasOwnProperty,VP=Object.prototype.propertyIsEnumerable,aC=(e,t,n)=>t in e?SV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,iC=(e,t)=>{for(var n in t||(t={}))WP.call(t,n)&&aC(e,n,t[n]);if(dh)for(var n of dh(t))VP.call(t,n)&&aC(e,n,t[n]);return e},lC=(e,t)=>{var n={};for(var r in e)WP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&dh)for(var r of dh(e))t.indexOf(r)<0&&VP.call(e,r)&&(n[r]=e[r]);return n};function CV(e){var t=e,{size:n,color:r}=t,o=lC(t,["size","color"]);const s=o,{style:a}=s,c=lC(s,["style"]);return H.createElement("svg",iC({viewBox:"0 0 120 30",xmlns:"http://www.w3.org/2000/svg",fill:r,style:iC({width:n},a)},c),H.createElement("circle",{cx:"15",cy:"15",r:"15"},H.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("circle",{cx:"60",cy:"15",r:"9",fillOpacity:"0.3"},H.createElement("animate",{attributeName:"r",from:"9",to:"9",begin:"0s",dur:"0.8s",values:"9;15;9",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"fill-opacity",from:"0.5",to:"0.5",begin:"0s",dur:"0.8s",values:".5;1;.5",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("circle",{cx:"105",cy:"15",r:"15"},H.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})))}var kV=Object.defineProperty,fh=Object.getOwnPropertySymbols,UP=Object.prototype.hasOwnProperty,GP=Object.prototype.propertyIsEnumerable,cC=(e,t,n)=>t in e?kV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_V=(e,t)=>{for(var n in t||(t={}))UP.call(t,n)&&cC(e,n,t[n]);if(fh)for(var n of fh(t))GP.call(t,n)&&cC(e,n,t[n]);return e},PV=(e,t)=>{var n={};for(var r in e)UP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&fh)for(var r of fh(e))t.indexOf(r)<0&&GP.call(e,r)&&(n[r]=e[r]);return n};const q0={bars:yV,oval:wV,dots:CV},jV={xs:Ue(18),sm:Ue(22),md:Ue(36),lg:Ue(44),xl:Ue(58)},IV={size:"md"};function qP(e){const t=Cr("Loader",IV,e),{size:n,color:r,variant:o}=t,s=PV(t,["size","color","variant"]),a=Ha(),c=o in q0?o:a.loader;return H.createElement(Io,_V({role:"presentation",component:q0[c]||q0.bars,size:Vt({size:n,sizes:jV}),color:a.fn.variant({variant:"filled",primaryFallback:!1,color:r||a.primaryColor}).background},s))}qP.displayName="@mantine/core/Loader";var EV=Object.defineProperty,ph=Object.getOwnPropertySymbols,KP=Object.prototype.hasOwnProperty,XP=Object.prototype.propertyIsEnumerable,uC=(e,t,n)=>t in e?EV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dC=(e,t)=>{for(var n in t||(t={}))KP.call(t,n)&&uC(e,n,t[n]);if(ph)for(var n of ph(t))XP.call(t,n)&&uC(e,n,t[n]);return e},OV=(e,t)=>{var n={};for(var r in e)KP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ph)for(var r of ph(e))t.indexOf(r)<0&&XP.call(e,r)&&(n[r]=e[r]);return n};const RV={color:"gray",size:"md",variant:"subtle"},YP=f.forwardRef((e,t)=>{const n=Cr("ActionIcon",RV,e),{className:r,color:o,children:s,radius:a,size:c,variant:d,gradient:p,disabled:h,loaderProps:m,loading:v,unstyled:b,__staticSelector:w}=n,y=OV(n,["className","color","children","radius","size","variant","gradient","disabled","loaderProps","loading","unstyled","__staticSelector"]),{classes:S,cx:k,theme:_}=vV({radius:a,color:o,gradient:p},{name:["ActionIcon",w],unstyled:b,size:c,variant:d}),P=H.createElement(qP,dC({color:_.fn.variant({color:o,variant:d}).color,size:"100%","data-action-icon-loader":!0},m));return H.createElement(lV,dC({className:k(S.root,r),ref:t,disabled:h,"data-disabled":h||void 0,"data-loading":v||void 0,unstyled:b},y),v?P:s)});YP.displayName="@mantine/core/ActionIcon";const MV=YP;var DV=Object.defineProperty,AV=Object.defineProperties,TV=Object.getOwnPropertyDescriptors,hh=Object.getOwnPropertySymbols,QP=Object.prototype.hasOwnProperty,JP=Object.prototype.propertyIsEnumerable,fC=(e,t,n)=>t in e?DV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,NV=(e,t)=>{for(var n in t||(t={}))QP.call(t,n)&&fC(e,n,t[n]);if(hh)for(var n of hh(t))JP.call(t,n)&&fC(e,n,t[n]);return e},$V=(e,t)=>AV(e,TV(t)),LV=(e,t)=>{var n={};for(var r in e)QP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&hh)for(var r of hh(e))t.indexOf(r)<0&&JP.call(e,r)&&(n[r]=e[r]);return n};function ZP(e){const t=Cr("Portal",{},e),{children:n,target:r,className:o,innerRef:s}=t,a=LV(t,["children","target","className","innerRef"]),c=Ha(),[d,p]=f.useState(!1),h=f.useRef();return PP(()=>(p(!0),h.current=r?typeof r=="string"?document.querySelector(r):r:document.createElement("div"),r||document.body.appendChild(h.current),()=>{!r&&document.body.removeChild(h.current)}),[r]),d?ki.createPortal(H.createElement("div",$V(NV({className:o,dir:c.dir},a),{ref:s}),n),h.current):null}ZP.displayName="@mantine/core/Portal";var zV=Object.defineProperty,mh=Object.getOwnPropertySymbols,ej=Object.prototype.hasOwnProperty,tj=Object.prototype.propertyIsEnumerable,pC=(e,t,n)=>t in e?zV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,BV=(e,t)=>{for(var n in t||(t={}))ej.call(t,n)&&pC(e,n,t[n]);if(mh)for(var n of mh(t))tj.call(t,n)&&pC(e,n,t[n]);return e},FV=(e,t)=>{var n={};for(var r in e)ej.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&mh)for(var r of mh(e))t.indexOf(r)<0&&tj.call(e,r)&&(n[r]=e[r]);return n};function nj(e){var t=e,{withinPortal:n=!0,children:r}=t,o=FV(t,["withinPortal","children"]);return n?H.createElement(ZP,BV({},o),r):H.createElement(H.Fragment,null,r)}nj.displayName="@mantine/core/OptionalPortal";var HV=Object.defineProperty,gh=Object.getOwnPropertySymbols,rj=Object.prototype.hasOwnProperty,oj=Object.prototype.propertyIsEnumerable,hC=(e,t,n)=>t in e?HV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,mC=(e,t)=>{for(var n in t||(t={}))rj.call(t,n)&&hC(e,n,t[n]);if(gh)for(var n of gh(t))oj.call(t,n)&&hC(e,n,t[n]);return e},WV=(e,t)=>{var n={};for(var r in e)rj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&gh)for(var r of gh(e))t.indexOf(r)<0&&oj.call(e,r)&&(n[r]=e[r]);return n};function sj(e){const t=e,{width:n,height:r,style:o}=t,s=WV(t,["width","height","style"]);return H.createElement("svg",mC({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:mC({width:n,height:r},o)},s),H.createElement("path",{d:"M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}sj.displayName="@mantine/core/CloseIcon";var VV=Object.defineProperty,vh=Object.getOwnPropertySymbols,aj=Object.prototype.hasOwnProperty,ij=Object.prototype.propertyIsEnumerable,gC=(e,t,n)=>t in e?VV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,UV=(e,t)=>{for(var n in t||(t={}))aj.call(t,n)&&gC(e,n,t[n]);if(vh)for(var n of vh(t))ij.call(t,n)&&gC(e,n,t[n]);return e},GV=(e,t)=>{var n={};for(var r in e)aj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&vh)for(var r of vh(e))t.indexOf(r)<0&&ij.call(e,r)&&(n[r]=e[r]);return n};const qV={xs:Ue(12),sm:Ue(16),md:Ue(20),lg:Ue(28),xl:Ue(34)},KV={size:"sm"},lj=f.forwardRef((e,t)=>{const n=Cr("CloseButton",KV,e),{iconSize:r,size:o,children:s}=n,a=GV(n,["iconSize","size","children"]),c=Ue(r||qV[o]);return H.createElement(MV,UV({ref:t,__staticSelector:"CloseButton",size:o},a),s||H.createElement(sj,{width:c,height:c}))});lj.displayName="@mantine/core/CloseButton";const cj=lj;var XV=Object.defineProperty,YV=Object.defineProperties,QV=Object.getOwnPropertyDescriptors,vC=Object.getOwnPropertySymbols,JV=Object.prototype.hasOwnProperty,ZV=Object.prototype.propertyIsEnumerable,bC=(e,t,n)=>t in e?XV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Yf=(e,t)=>{for(var n in t||(t={}))JV.call(t,n)&&bC(e,n,t[n]);if(vC)for(var n of vC(t))ZV.call(t,n)&&bC(e,n,t[n]);return e},eU=(e,t)=>YV(e,QV(t));function tU({underline:e,strikethrough:t}){const n=[];return e&&n.push("underline"),t&&n.push("line-through"),n.length>0?n.join(" "):"none"}function nU({theme:e,color:t}){return t==="dimmed"?e.fn.dimmed():typeof t=="string"&&(t in e.colors||t.split(".")[0]in e.colors)?e.fn.variant({variant:"filled",color:t}).background:t||"inherit"}function rU(e){return typeof e=="number"?{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:e,WebkitBoxOrient:"vertical"}:null}function oU({theme:e,truncate:t}){return t==="start"?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",direction:e.dir==="ltr"?"rtl":"ltr",textAlign:e.dir==="ltr"?"right":"left"}:t?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:null}var sU=so((e,{color:t,lineClamp:n,truncate:r,inline:o,inherit:s,underline:a,gradient:c,weight:d,transform:p,align:h,strikethrough:m,italic:v},{size:b})=>{const w=e.fn.variant({variant:"gradient",gradient:c});return{root:eU(Yf(Yf(Yf(Yf({},e.fn.fontStyles()),e.fn.focusStyles()),rU(n)),oU({theme:e,truncate:r})),{color:nU({color:t,theme:e}),fontFamily:s?"inherit":e.fontFamily,fontSize:s||b===void 0?"inherit":Vt({size:b,sizes:e.fontSizes}),lineHeight:s?"inherit":o?1:e.lineHeight,textDecoration:tU({underline:a,strikethrough:m}),WebkitTapHighlightColor:"transparent",fontWeight:s?"inherit":d,textTransform:p,textAlign:h,fontStyle:v?"italic":void 0}),gradient:{backgroundImage:w.background,WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"}}});const aU=sU;var iU=Object.defineProperty,bh=Object.getOwnPropertySymbols,uj=Object.prototype.hasOwnProperty,dj=Object.prototype.propertyIsEnumerable,yC=(e,t,n)=>t in e?iU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lU=(e,t)=>{for(var n in t||(t={}))uj.call(t,n)&&yC(e,n,t[n]);if(bh)for(var n of bh(t))dj.call(t,n)&&yC(e,n,t[n]);return e},cU=(e,t)=>{var n={};for(var r in e)uj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&bh)for(var r of bh(e))t.indexOf(r)<0&&dj.call(e,r)&&(n[r]=e[r]);return n};const uU={variant:"text"},fj=f.forwardRef((e,t)=>{const n=Cr("Text",uU,e),{className:r,size:o,weight:s,transform:a,color:c,align:d,variant:p,lineClamp:h,truncate:m,gradient:v,inline:b,inherit:w,underline:y,strikethrough:S,italic:k,classNames:_,styles:P,unstyled:I,span:E,__staticSelector:O}=n,R=cU(n,["className","size","weight","transform","color","align","variant","lineClamp","truncate","gradient","inline","inherit","underline","strikethrough","italic","classNames","styles","unstyled","span","__staticSelector"]),{classes:M,cx:D}=aU({color:c,lineClamp:h,truncate:m,inline:b,inherit:w,underline:y,strikethrough:S,italic:k,weight:s,transform:a,align:d,gradient:v},{unstyled:I,name:O||"Text",variant:p,size:o});return H.createElement(Io,lU({ref:t,className:D(M.root,{[M.gradient]:p==="gradient"},r),component:E?"span":"div"},R))});fj.displayName="@mantine/core/Text";const _c=fj,Qf={xs:Ue(1),sm:Ue(2),md:Ue(3),lg:Ue(4),xl:Ue(5)};function Jf(e,t){const n=e.fn.variant({variant:"outline",color:t}).border;return typeof t=="string"&&(t in e.colors||t.split(".")[0]in e.colors)?n:t===void 0?e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4]:t}var dU=so((e,{color:t},{size:n,variant:r})=>({root:{},withLabel:{borderTop:"0 !important"},left:{"&::before":{display:"none"}},right:{"&::after":{display:"none"}},label:{display:"flex",alignItems:"center","&::before":{content:'""',flex:1,height:Ue(1),borderTop:`${Vt({size:n,sizes:Qf})} ${r} ${Jf(e,t)}`,marginRight:e.spacing.xs},"&::after":{content:'""',flex:1,borderTop:`${Vt({size:n,sizes:Qf})} ${r} ${Jf(e,t)}`,marginLeft:e.spacing.xs}},labelDefaultStyles:{color:t==="dark"?e.colors.dark[1]:e.fn.themeColor(t,e.colorScheme==="dark"?5:e.fn.primaryShade(),!1)},horizontal:{border:0,borderTopWidth:Ue(Vt({size:n,sizes:Qf})),borderTopColor:Jf(e,t),borderTopStyle:r,margin:0},vertical:{border:0,alignSelf:"stretch",height:"auto",borderLeftWidth:Ue(Vt({size:n,sizes:Qf})),borderLeftColor:Jf(e,t),borderLeftStyle:r}}));const fU=dU;var pU=Object.defineProperty,hU=Object.defineProperties,mU=Object.getOwnPropertyDescriptors,yh=Object.getOwnPropertySymbols,pj=Object.prototype.hasOwnProperty,hj=Object.prototype.propertyIsEnumerable,xC=(e,t,n)=>t in e?pU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,wC=(e,t)=>{for(var n in t||(t={}))pj.call(t,n)&&xC(e,n,t[n]);if(yh)for(var n of yh(t))hj.call(t,n)&&xC(e,n,t[n]);return e},gU=(e,t)=>hU(e,mU(t)),vU=(e,t)=>{var n={};for(var r in e)pj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&yh)for(var r of yh(e))t.indexOf(r)<0&&hj.call(e,r)&&(n[r]=e[r]);return n};const bU={orientation:"horizontal",size:"xs",labelPosition:"left",variant:"solid"},m1=f.forwardRef((e,t)=>{const n=Cr("Divider",bU,e),{className:r,color:o,orientation:s,size:a,label:c,labelPosition:d,labelProps:p,variant:h,styles:m,classNames:v,unstyled:b}=n,w=vU(n,["className","color","orientation","size","label","labelPosition","labelProps","variant","styles","classNames","unstyled"]),{classes:y,cx:S}=fU({color:o},{classNames:v,styles:m,unstyled:b,name:"Divider",variant:h,size:a}),k=s==="vertical",_=s==="horizontal",P=!!c&&_,I=!(p!=null&&p.color);return H.createElement(Io,wC({ref:t,className:S(y.root,{[y.vertical]:k,[y.horizontal]:_,[y.withLabel]:P},r),role:"separator"},w),P&&H.createElement(_c,gU(wC({},p),{size:(p==null?void 0:p.size)||"xs",mt:Ue(2),className:S(y.label,y[d],{[y.labelDefaultStyles]:I})}),c))});m1.displayName="@mantine/core/Divider";var yU=Object.defineProperty,xU=Object.defineProperties,wU=Object.getOwnPropertyDescriptors,SC=Object.getOwnPropertySymbols,SU=Object.prototype.hasOwnProperty,CU=Object.prototype.propertyIsEnumerable,CC=(e,t,n)=>t in e?yU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kC=(e,t)=>{for(var n in t||(t={}))SU.call(t,n)&&CC(e,n,t[n]);if(SC)for(var n of SC(t))CU.call(t,n)&&CC(e,n,t[n]);return e},kU=(e,t)=>xU(e,wU(t)),_U=so((e,t,{size:n})=>({item:kU(kC({},e.fn.fontStyles()),{boxSizing:"border-box",wordBreak:"break-all",textAlign:"left",width:"100%",padding:`calc(${Vt({size:n,sizes:e.spacing})} / 1.5) ${Vt({size:n,sizes:e.spacing})}`,cursor:"pointer",fontSize:Vt({size:n,sizes:e.fontSizes}),color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,borderRadius:e.fn.radius(),"&[data-hovered]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[1]},"&[data-selected]":kC({backgroundColor:e.fn.variant({variant:"filled"}).background,color:e.fn.variant({variant:"filled"}).color},e.fn.hover({backgroundColor:e.fn.variant({variant:"filled"}).hover})),"&[data-disabled]":{cursor:"default",color:e.colors.dark[2]}}),nothingFound:{boxSizing:"border-box",color:e.colors.gray[6],paddingTop:`calc(${Vt({size:n,sizes:e.spacing})} / 2)`,paddingBottom:`calc(${Vt({size:n,sizes:e.spacing})} / 2)`,textAlign:"center"},separator:{boxSizing:"border-box",textAlign:"left",width:"100%",padding:`calc(${Vt({size:n,sizes:e.spacing})} / 1.5) ${Vt({size:n,sizes:e.spacing})}`},separatorLabel:{color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]}}));const PU=_U;var jU=Object.defineProperty,_C=Object.getOwnPropertySymbols,IU=Object.prototype.hasOwnProperty,EU=Object.prototype.propertyIsEnumerable,PC=(e,t,n)=>t in e?jU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,OU=(e,t)=>{for(var n in t||(t={}))IU.call(t,n)&&PC(e,n,t[n]);if(_C)for(var n of _C(t))EU.call(t,n)&&PC(e,n,t[n]);return e};function sy({data:e,hovered:t,classNames:n,styles:r,isItemSelected:o,uuid:s,__staticSelector:a,onItemHover:c,onItemSelect:d,itemsRefs:p,itemComponent:h,size:m,nothingFound:v,creatable:b,createLabel:w,unstyled:y,variant:S}){const{classes:k}=PU(null,{classNames:n,styles:r,unstyled:y,name:a,variant:S,size:m}),_=[],P=[];let I=null;const E=(R,M)=>{const D=typeof o=="function"?o(R.value):!1;return H.createElement(h,OU({key:R.value,className:k.item,"data-disabled":R.disabled||void 0,"data-hovered":!R.disabled&&t===M||void 0,"data-selected":!R.disabled&&D||void 0,selected:D,onMouseEnter:()=>c(M),id:`${s}-${M}`,role:"option",tabIndex:-1,"aria-selected":t===M,ref:A=>{p&&p.current&&(p.current[R.value]=A)},onMouseDown:R.disabled?null:A=>{A.preventDefault(),d(R)},disabled:R.disabled,variant:S},R))};let O=null;if(e.forEach((R,M)=>{R.creatable?I=M:R.group?(O!==R.group&&(O=R.group,P.push(H.createElement("div",{className:k.separator,key:`__mantine-divider-${M}`},H.createElement(m1,{classNames:{label:k.separatorLabel},label:R.group})))),P.push(E(R,M))):_.push(E(R,M))}),b){const R=e[I];_.push(H.createElement("div",{key:ry(),className:k.item,"data-hovered":t===I||void 0,onMouseEnter:()=>c(I),onMouseDown:M=>{M.preventDefault(),d(R)},tabIndex:-1,ref:M=>{p&&p.current&&(p.current[R.value]=M)}},w))}return P.length>0&&_.length>0&&_.unshift(H.createElement("div",{className:k.separator,key:"empty-group-separator"},H.createElement(m1,null))),P.length>0||_.length>0?H.createElement(H.Fragment,null,P,_):H.createElement(_c,{size:m,unstyled:y,className:k.nothingFound},v)}sy.displayName="@mantine/core/SelectItems";var RU=Object.defineProperty,xh=Object.getOwnPropertySymbols,mj=Object.prototype.hasOwnProperty,gj=Object.prototype.propertyIsEnumerable,jC=(e,t,n)=>t in e?RU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,MU=(e,t)=>{for(var n in t||(t={}))mj.call(t,n)&&jC(e,n,t[n]);if(xh)for(var n of xh(t))gj.call(t,n)&&jC(e,n,t[n]);return e},DU=(e,t)=>{var n={};for(var r in e)mj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&xh)for(var r of xh(e))t.indexOf(r)<0&&gj.call(e,r)&&(n[r]=e[r]);return n};const ay=f.forwardRef((e,t)=>{var n=e,{label:r,value:o}=n,s=DU(n,["label","value"]);return H.createElement("div",MU({ref:t},s),r||o)});ay.displayName="@mantine/core/DefaultItem";function AU(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function vj(...e){return t=>e.forEach(n=>AU(n,t))}function vl(...e){return f.useCallback(vj(...e),e)}const bj=f.forwardRef((e,t)=>{const{children:n,...r}=e,o=f.Children.toArray(n),s=o.find(NU);if(s){const a=s.props.children,c=o.map(d=>d===s?f.Children.count(a)>1?f.Children.only(null):f.isValidElement(a)?a.props.children:null:d);return f.createElement(g1,sr({},r,{ref:t}),f.isValidElement(a)?f.cloneElement(a,void 0,c):null)}return f.createElement(g1,sr({},r,{ref:t}),n)});bj.displayName="Slot";const g1=f.forwardRef((e,t)=>{const{children:n,...r}=e;return f.isValidElement(n)?f.cloneElement(n,{...$U(r,n.props),ref:vj(t,n.ref)}):f.Children.count(n)>1?f.Children.only(null):null});g1.displayName="SlotClone";const TU=({children:e})=>f.createElement(f.Fragment,null,e);function NU(e){return f.isValidElement(e)&&e.type===TU}function $U(e,t){const n={...t};for(const r in t){const o=e[r],s=t[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...c)=>{s(...c),o(...c)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...e,...n}}const LU=["a","button","div","h2","h3","img","label","li","nav","ol","p","span","svg","ul"],Fd=LU.reduce((e,t)=>{const n=f.forwardRef((r,o)=>{const{asChild:s,...a}=r,c=s?bj:t;return f.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),f.createElement(c,sr({},a,{ref:o}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),v1=globalThis!=null&&globalThis.document?f.useLayoutEffect:()=>{};function zU(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const Hd=e=>{const{present:t,children:n}=e,r=BU(t),o=typeof n=="function"?n({present:r.isPresent}):f.Children.only(n),s=vl(r.ref,o.ref);return typeof n=="function"||r.isPresent?f.cloneElement(o,{ref:s}):null};Hd.displayName="Presence";function BU(e){const[t,n]=f.useState(),r=f.useRef({}),o=f.useRef(e),s=f.useRef("none"),a=e?"mounted":"unmounted",[c,d]=zU(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return f.useEffect(()=>{const p=Zf(r.current);s.current=c==="mounted"?p:"none"},[c]),v1(()=>{const p=r.current,h=o.current;if(h!==e){const v=s.current,b=Zf(p);e?d("MOUNT"):b==="none"||(p==null?void 0:p.display)==="none"?d("UNMOUNT"):d(h&&v!==b?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,d]),v1(()=>{if(t){const p=m=>{const b=Zf(r.current).includes(m.animationName);m.target===t&&b&&ki.flushSync(()=>d("ANIMATION_END"))},h=m=>{m.target===t&&(s.current=Zf(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else d("ANIMATION_END")},[t,d]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:f.useCallback(p=>{p&&(r.current=getComputedStyle(p)),n(p)},[])}}function Zf(e){return(e==null?void 0:e.animationName)||"none"}function FU(e,t=[]){let n=[];function r(s,a){const c=f.createContext(a),d=n.length;n=[...n,a];function p(m){const{scope:v,children:b,...w}=m,y=(v==null?void 0:v[e][d])||c,S=f.useMemo(()=>w,Object.values(w));return f.createElement(y.Provider,{value:S},b)}function h(m,v){const b=(v==null?void 0:v[e][d])||c,w=f.useContext(b);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${m}\` must be used within \`${s}\``)}return p.displayName=s+"Provider",[p,h]}const o=()=>{const s=n.map(a=>f.createContext(a));return function(c){const d=(c==null?void 0:c[e])||s;return f.useMemo(()=>({[`__scope${e}`]:{...c,[e]:d}}),[c,d])}};return o.scopeName=e,[r,HU(o,...t)]}function HU(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((c,{useScope:d,scopeName:p})=>{const m=d(s)[`__scope${p}`];return{...c,...m}},{});return f.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}function Ui(e){const t=f.useRef(e);return f.useEffect(()=>{t.current=e}),f.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}const WU=f.createContext(void 0);function VU(e){const t=f.useContext(WU);return e||t||"ltr"}function UU(e,[t,n]){return Math.min(n,Math.max(t,e))}function Ji(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function GU(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const yj="ScrollArea",[xj,Qde]=FU(yj),[qU,us]=xj(yj),KU=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:r="hover",dir:o,scrollHideDelay:s=600,...a}=e,[c,d]=f.useState(null),[p,h]=f.useState(null),[m,v]=f.useState(null),[b,w]=f.useState(null),[y,S]=f.useState(null),[k,_]=f.useState(0),[P,I]=f.useState(0),[E,O]=f.useState(!1),[R,M]=f.useState(!1),D=vl(t,L=>d(L)),A=VU(o);return f.createElement(qU,{scope:n,type:r,dir:A,scrollHideDelay:s,scrollArea:c,viewport:p,onViewportChange:h,content:m,onContentChange:v,scrollbarX:b,onScrollbarXChange:w,scrollbarXEnabled:E,onScrollbarXEnabledChange:O,scrollbarY:y,onScrollbarYChange:S,scrollbarYEnabled:R,onScrollbarYEnabledChange:M,onCornerWidthChange:_,onCornerHeightChange:I},f.createElement(Fd.div,sr({dir:A},a,{ref:D,style:{position:"relative","--radix-scroll-area-corner-width":k+"px","--radix-scroll-area-corner-height":P+"px",...e.style}})))}),XU="ScrollAreaViewport",YU=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:r,...o}=e,s=us(XU,n),a=f.useRef(null),c=vl(t,a,s.onViewportChange);return f.createElement(f.Fragment,null,f.createElement("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"}}),f.createElement(Fd.div,sr({"data-radix-scroll-area-viewport":""},o,{ref:c,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style}}),f.createElement("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"}},r)))}),Wa="ScrollAreaScrollbar",QU=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=us(Wa,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:a}=o,c=e.orientation==="horizontal";return f.useEffect(()=>(c?s(!0):a(!0),()=>{c?s(!1):a(!1)}),[c,s,a]),o.type==="hover"?f.createElement(JU,sr({},r,{ref:t,forceMount:n})):o.type==="scroll"?f.createElement(ZU,sr({},r,{ref:t,forceMount:n})):o.type==="auto"?f.createElement(wj,sr({},r,{ref:t,forceMount:n})):o.type==="always"?f.createElement(iy,sr({},r,{ref:t})):null}),JU=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=us(Wa,e.__scopeScrollArea),[s,a]=f.useState(!1);return f.useEffect(()=>{const c=o.scrollArea;let d=0;if(c){const p=()=>{window.clearTimeout(d),a(!0)},h=()=>{d=window.setTimeout(()=>a(!1),o.scrollHideDelay)};return c.addEventListener("pointerenter",p),c.addEventListener("pointerleave",h),()=>{window.clearTimeout(d),c.removeEventListener("pointerenter",p),c.removeEventListener("pointerleave",h)}}},[o.scrollArea,o.scrollHideDelay]),f.createElement(Hd,{present:n||s},f.createElement(wj,sr({"data-state":s?"visible":"hidden"},r,{ref:t})))}),ZU=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=us(Wa,e.__scopeScrollArea),s=e.orientation==="horizontal",a=zm(()=>d("SCROLL_END"),100),[c,d]=GU("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return f.useEffect(()=>{if(c==="idle"){const p=window.setTimeout(()=>d("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(p)}},[c,o.scrollHideDelay,d]),f.useEffect(()=>{const p=o.viewport,h=s?"scrollLeft":"scrollTop";if(p){let m=p[h];const v=()=>{const b=p[h];m!==b&&(d("SCROLL"),a()),m=b};return p.addEventListener("scroll",v),()=>p.removeEventListener("scroll",v)}},[o.viewport,s,d,a]),f.createElement(Hd,{present:n||c!=="hidden"},f.createElement(iy,sr({"data-state":c==="hidden"?"hidden":"visible"},r,{ref:t,onPointerEnter:Ji(e.onPointerEnter,()=>d("POINTER_ENTER")),onPointerLeave:Ji(e.onPointerLeave,()=>d("POINTER_LEAVE"))})))}),wj=f.forwardRef((e,t)=>{const n=us(Wa,e.__scopeScrollArea),{forceMount:r,...o}=e,[s,a]=f.useState(!1),c=e.orientation==="horizontal",d=zm(()=>{if(n.viewport){const p=n.viewport.offsetWidth{const{orientation:n="vertical",...r}=e,o=us(Wa,e.__scopeScrollArea),s=f.useRef(null),a=f.useRef(0),[c,d]=f.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),p=_j(c.viewport,c.content),h={...r,sizes:c,onSizesChange:d,hasThumb:p>0&&p<1,onThumbChange:v=>s.current=v,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:v=>a.current=v};function m(v,b){return iG(v,a.current,c,b)}return n==="horizontal"?f.createElement(eG,sr({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollLeft,b=IC(v,c,o.dir);s.current.style.transform=`translate3d(${b}px, 0, 0)`}},onWheelScroll:v=>{o.viewport&&(o.viewport.scrollLeft=v)},onDragScroll:v=>{o.viewport&&(o.viewport.scrollLeft=m(v,o.dir))}})):n==="vertical"?f.createElement(tG,sr({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollTop,b=IC(v,c);s.current.style.transform=`translate3d(0, ${b}px, 0)`}},onWheelScroll:v=>{o.viewport&&(o.viewport.scrollTop=v)},onDragScroll:v=>{o.viewport&&(o.viewport.scrollTop=m(v))}})):null}),eG=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=us(Wa,e.__scopeScrollArea),[a,c]=f.useState(),d=f.useRef(null),p=vl(t,d,s.onScrollbarXChange);return f.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),f.createElement(Cj,sr({"data-orientation":"horizontal"},o,{ref:p,sizes:n,style:{bottom:0,left:s.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:s.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Lm(n)+"px",...e.style},onThumbPointerDown:h=>e.onThumbPointerDown(h.x),onDragScroll:h=>e.onDragScroll(h.x),onWheelScroll:(h,m)=>{if(s.viewport){const v=s.viewport.scrollLeft+h.deltaX;e.onWheelScroll(v),jj(v,m)&&h.preventDefault()}},onResize:()=>{d.current&&s.viewport&&a&&r({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:wh(a.paddingLeft),paddingEnd:wh(a.paddingRight)}})}}))}),tG=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=us(Wa,e.__scopeScrollArea),[a,c]=f.useState(),d=f.useRef(null),p=vl(t,d,s.onScrollbarYChange);return f.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),f.createElement(Cj,sr({"data-orientation":"vertical"},o,{ref:p,sizes:n,style:{top:0,right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Lm(n)+"px",...e.style},onThumbPointerDown:h=>e.onThumbPointerDown(h.y),onDragScroll:h=>e.onDragScroll(h.y),onWheelScroll:(h,m)=>{if(s.viewport){const v=s.viewport.scrollTop+h.deltaY;e.onWheelScroll(v),jj(v,m)&&h.preventDefault()}},onResize:()=>{d.current&&s.viewport&&a&&r({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:wh(a.paddingTop),paddingEnd:wh(a.paddingBottom)}})}}))}),[nG,Sj]=xj(Wa),Cj=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:o,onThumbChange:s,onThumbPointerUp:a,onThumbPointerDown:c,onThumbPositionChange:d,onDragScroll:p,onWheelScroll:h,onResize:m,...v}=e,b=us(Wa,n),[w,y]=f.useState(null),S=vl(t,D=>y(D)),k=f.useRef(null),_=f.useRef(""),P=b.viewport,I=r.content-r.viewport,E=Ui(h),O=Ui(d),R=zm(m,10);function M(D){if(k.current){const A=D.clientX-k.current.left,L=D.clientY-k.current.top;p({x:A,y:L})}}return f.useEffect(()=>{const D=A=>{const L=A.target;(w==null?void 0:w.contains(L))&&E(A,I)};return document.addEventListener("wheel",D,{passive:!1}),()=>document.removeEventListener("wheel",D,{passive:!1})},[P,w,I,E]),f.useEffect(O,[r,O]),Pc(w,R),Pc(b.content,R),f.createElement(nG,{scope:n,scrollbar:w,hasThumb:o,onThumbChange:Ui(s),onThumbPointerUp:Ui(a),onThumbPositionChange:O,onThumbPointerDown:Ui(c)},f.createElement(Fd.div,sr({},v,{ref:S,style:{position:"absolute",...v.style},onPointerDown:Ji(e.onPointerDown,D=>{D.button===0&&(D.target.setPointerCapture(D.pointerId),k.current=w.getBoundingClientRect(),_.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",M(D))}),onPointerMove:Ji(e.onPointerMove,M),onPointerUp:Ji(e.onPointerUp,D=>{const A=D.target;A.hasPointerCapture(D.pointerId)&&A.releasePointerCapture(D.pointerId),document.body.style.webkitUserSelect=_.current,k.current=null})})))}),b1="ScrollAreaThumb",rG=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Sj(b1,e.__scopeScrollArea);return f.createElement(Hd,{present:n||o.hasThumb},f.createElement(oG,sr({ref:t},r)))}),oG=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:r,...o}=e,s=us(b1,n),a=Sj(b1,n),{onThumbPositionChange:c}=a,d=vl(t,m=>a.onThumbChange(m)),p=f.useRef(),h=zm(()=>{p.current&&(p.current(),p.current=void 0)},100);return f.useEffect(()=>{const m=s.viewport;if(m){const v=()=>{if(h(),!p.current){const b=lG(m,c);p.current=b,c()}};return c(),m.addEventListener("scroll",v),()=>m.removeEventListener("scroll",v)}},[s.viewport,h,c]),f.createElement(Fd.div,sr({"data-state":a.hasThumb?"visible":"hidden"},o,{ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:Ji(e.onPointerDownCapture,m=>{const b=m.target.getBoundingClientRect(),w=m.clientX-b.left,y=m.clientY-b.top;a.onThumbPointerDown({x:w,y})}),onPointerUp:Ji(e.onPointerUp,a.onThumbPointerUp)}))}),kj="ScrollAreaCorner",sG=f.forwardRef((e,t)=>{const n=us(kj,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?f.createElement(aG,sr({},e,{ref:t})):null}),aG=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,...r}=e,o=us(kj,n),[s,a]=f.useState(0),[c,d]=f.useState(0),p=!!(s&&c);return Pc(o.scrollbarX,()=>{var h;const m=((h=o.scrollbarX)===null||h===void 0?void 0:h.offsetHeight)||0;o.onCornerHeightChange(m),d(m)}),Pc(o.scrollbarY,()=>{var h;const m=((h=o.scrollbarY)===null||h===void 0?void 0:h.offsetWidth)||0;o.onCornerWidthChange(m),a(m)}),p?f.createElement(Fd.div,sr({},r,{ref:t,style:{width:s,height:c,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}})):null});function wh(e){return e?parseInt(e,10):0}function _j(e,t){const n=e/t;return isNaN(n)?0:n}function Lm(e){const t=_j(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function iG(e,t,n,r="ltr"){const o=Lm(n),s=o/2,a=t||s,c=o-a,d=n.scrollbar.paddingStart+a,p=n.scrollbar.size-n.scrollbar.paddingEnd-c,h=n.content-n.viewport,m=r==="ltr"?[0,h]:[h*-1,0];return Pj([d,p],m)(e)}function IC(e,t,n="ltr"){const r=Lm(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=t.scrollbar.size-o,a=t.content-t.viewport,c=s-r,d=n==="ltr"?[0,a]:[a*-1,0],p=UU(e,d);return Pj([0,a],[0,c])(p)}function Pj(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function jj(e,t){return e>0&&e{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return function o(){const s={left:e.scrollLeft,top:e.scrollTop},a=n.left!==s.left,c=n.top!==s.top;(a||c)&&t(),n=s,r=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(r)};function zm(e,t){const n=Ui(e),r=f.useRef(0);return f.useEffect(()=>()=>window.clearTimeout(r.current),[]),f.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function Pc(e,t){const n=Ui(t);v1(()=>{let r=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return o.observe(e),()=>{window.cancelAnimationFrame(r),o.unobserve(e)}}},[e,n])}const cG=KU,uG=YU,EC=QU,OC=rG,dG=sG;var fG=so((e,{scrollbarSize:t,offsetScrollbars:n,scrollbarHovered:r,hidden:o})=>({root:{overflow:"hidden"},viewport:{width:"100%",height:"100%",paddingRight:n?Ue(t):void 0,paddingBottom:n?Ue(t):void 0},scrollbar:{display:o?"none":"flex",userSelect:"none",touchAction:"none",boxSizing:"border-box",padding:`calc(${Ue(t)} / 5)`,transition:"background-color 150ms ease, opacity 150ms ease","&:hover":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[8]:e.colors.gray[0],[`& .${TS("thumb")}`]:{backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.white,.5):e.fn.rgba(e.black,.5)}},'&[data-orientation="vertical"]':{width:Ue(t)},'&[data-orientation="horizontal"]':{flexDirection:"column",height:Ue(t)},'&[data-state="hidden"]':{display:"none",opacity:0}},thumb:{ref:TS("thumb"),flex:1,backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.white,.4):e.fn.rgba(e.black,.4),borderRadius:Ue(t),position:"relative",transition:"background-color 150ms ease",display:o?"none":void 0,overflow:"hidden","&::before":{content:'""',position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"100%",height:"100%",minWidth:Ue(44),minHeight:Ue(44)}},corner:{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[0],transition:"opacity 150ms ease",opacity:r?1:0,display:o?"none":void 0}}));const pG=fG;var hG=Object.defineProperty,mG=Object.defineProperties,gG=Object.getOwnPropertyDescriptors,Sh=Object.getOwnPropertySymbols,Ij=Object.prototype.hasOwnProperty,Ej=Object.prototype.propertyIsEnumerable,RC=(e,t,n)=>t in e?hG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,y1=(e,t)=>{for(var n in t||(t={}))Ij.call(t,n)&&RC(e,n,t[n]);if(Sh)for(var n of Sh(t))Ej.call(t,n)&&RC(e,n,t[n]);return e},Oj=(e,t)=>mG(e,gG(t)),Rj=(e,t)=>{var n={};for(var r in e)Ij.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Sh)for(var r of Sh(e))t.indexOf(r)<0&&Ej.call(e,r)&&(n[r]=e[r]);return n};const Mj={scrollbarSize:12,scrollHideDelay:1e3,type:"hover",offsetScrollbars:!1},Bm=f.forwardRef((e,t)=>{const n=Cr("ScrollArea",Mj,e),{children:r,className:o,classNames:s,styles:a,scrollbarSize:c,scrollHideDelay:d,type:p,dir:h,offsetScrollbars:m,viewportRef:v,onScrollPositionChange:b,unstyled:w,variant:y,viewportProps:S}=n,k=Rj(n,["children","className","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","variant","viewportProps"]),[_,P]=f.useState(!1),I=Ha(),{classes:E,cx:O}=pG({scrollbarSize:c,offsetScrollbars:m,scrollbarHovered:_,hidden:p==="never"},{name:"ScrollArea",classNames:s,styles:a,unstyled:w,variant:y});return H.createElement(cG,{type:p==="never"?"always":p,scrollHideDelay:d,dir:h||I.dir,ref:t,asChild:!0},H.createElement(Io,y1({className:O(E.root,o)},k),H.createElement(uG,Oj(y1({},S),{className:E.viewport,ref:v,onScroll:typeof b=="function"?({currentTarget:R})=>b({x:R.scrollLeft,y:R.scrollTop}):void 0}),r),H.createElement(EC,{orientation:"horizontal",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>P(!0),onMouseLeave:()=>P(!1)},H.createElement(OC,{className:E.thumb})),H.createElement(EC,{orientation:"vertical",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>P(!0),onMouseLeave:()=>P(!1)},H.createElement(OC,{className:E.thumb})),H.createElement(dG,{className:E.corner})))}),Dj=f.forwardRef((e,t)=>{const n=Cr("ScrollAreaAutosize",Mj,e),{children:r,classNames:o,styles:s,scrollbarSize:a,scrollHideDelay:c,type:d,dir:p,offsetScrollbars:h,viewportRef:m,onScrollPositionChange:v,unstyled:b,sx:w,variant:y,viewportProps:S}=n,k=Rj(n,["children","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","sx","variant","viewportProps"]);return H.createElement(Io,Oj(y1({},k),{ref:t,sx:[{display:"flex"},...xP(w)]}),H.createElement(Io,{sx:{display:"flex",flexDirection:"column",flex:1}},H.createElement(Bm,{classNames:o,styles:s,scrollHideDelay:c,scrollbarSize:a,type:d,dir:p,offsetScrollbars:h,viewportRef:m,onScrollPositionChange:v,unstyled:b,variant:y,viewportProps:S},r)))});Dj.displayName="@mantine/core/ScrollAreaAutosize";Bm.displayName="@mantine/core/ScrollArea";Bm.Autosize=Dj;const Aj=Bm;var vG=Object.defineProperty,bG=Object.defineProperties,yG=Object.getOwnPropertyDescriptors,Ch=Object.getOwnPropertySymbols,Tj=Object.prototype.hasOwnProperty,Nj=Object.prototype.propertyIsEnumerable,MC=(e,t,n)=>t in e?vG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,DC=(e,t)=>{for(var n in t||(t={}))Tj.call(t,n)&&MC(e,n,t[n]);if(Ch)for(var n of Ch(t))Nj.call(t,n)&&MC(e,n,t[n]);return e},xG=(e,t)=>bG(e,yG(t)),wG=(e,t)=>{var n={};for(var r in e)Tj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ch)for(var r of Ch(e))t.indexOf(r)<0&&Nj.call(e,r)&&(n[r]=e[r]);return n};const Fm=f.forwardRef((e,t)=>{var n=e,{style:r}=n,o=wG(n,["style"]);return H.createElement(Aj,xG(DC({},o),{style:DC({width:"100%"},r),viewportProps:{tabIndex:-1},viewportRef:t}),o.children)});Fm.displayName="@mantine/core/SelectScrollArea";var SG=so(()=>({dropdown:{},itemsWrapper:{padding:Ue(4),display:"flex",width:"100%",boxSizing:"border-box"}}));const CG=SG;function Uc(e){return e.split("-")[1]}function ly(e){return e==="y"?"height":"width"}function _s(e){return e.split("-")[0]}function Ii(e){return["top","bottom"].includes(_s(e))?"x":"y"}function AC(e,t,n){let{reference:r,floating:o}=e;const s=r.x+r.width/2-o.width/2,a=r.y+r.height/2-o.height/2,c=Ii(t),d=ly(c),p=r[d]/2-o[d]/2,h=c==="x";let m;switch(_s(t)){case"top":m={x:s,y:r.y-o.height};break;case"bottom":m={x:s,y:r.y+r.height};break;case"right":m={x:r.x+r.width,y:a};break;case"left":m={x:r.x-o.width,y:a};break;default:m={x:r.x,y:r.y}}switch(Uc(t)){case"start":m[c]-=p*(n&&h?-1:1);break;case"end":m[c]+=p*(n&&h?-1:1)}return m}const kG=async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:s=[],platform:a}=n,c=s.filter(Boolean),d=await(a.isRTL==null?void 0:a.isRTL(t));let p=await a.getElementRects({reference:e,floating:t,strategy:o}),{x:h,y:m}=AC(p,r,d),v=r,b={},w=0;for(let y=0;y({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:o,rects:s,platform:a,elements:c}=t,{element:d,padding:p=0}=Na(e,t)||{};if(d==null)return{};const h=cy(p),m={x:n,y:r},v=Ii(o),b=ly(v),w=await a.getDimensions(d),y=v==="y",S=y?"top":"left",k=y?"bottom":"right",_=y?"clientHeight":"clientWidth",P=s.reference[b]+s.reference[v]-m[v]-s.floating[b],I=m[v]-s.reference[v],E=await(a.getOffsetParent==null?void 0:a.getOffsetParent(d));let O=E?E[_]:0;O&&await(a.isElement==null?void 0:a.isElement(E))||(O=c.floating[_]||s.floating[b]);const R=P/2-I/2,M=O/2-w[b]/2-1,D=gi(h[S],M),A=gi(h[k],M),L=D,Q=O-w[b]-A,F=O/2-w[b]/2+R,V=x1(L,F,Q),q=Uc(o)!=null&&F!=V&&s.reference[b]/2-(Fe.concat(t,t+"-start",t+"-end"),[]);const PG={left:"right",right:"left",bottom:"top",top:"bottom"};function kh(e){return e.replace(/left|right|bottom|top/g,t=>PG[t])}function jG(e,t,n){n===void 0&&(n=!1);const r=Uc(e),o=Ii(e),s=ly(o);let a=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(a=kh(a)),{main:a,cross:kh(a)}}const IG={start:"end",end:"start"};function K0(e){return e.replace(/start|end/g,t=>IG[t])}const EG=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n;const{placement:r,middlewareData:o,rects:s,initialPlacement:a,platform:c,elements:d}=t,{mainAxis:p=!0,crossAxis:h=!0,fallbackPlacements:m,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:w=!0,...y}=Na(e,t),S=_s(r),k=_s(a)===a,_=await(c.isRTL==null?void 0:c.isRTL(d.floating)),P=m||(k||!w?[kh(a)]:function(L){const Q=kh(L);return[K0(L),Q,K0(Q)]}(a));m||b==="none"||P.push(...function(L,Q,F,V){const q=Uc(L);let G=function(T,z,$){const Y=["left","right"],ae=["right","left"],fe=["top","bottom"],ie=["bottom","top"];switch(T){case"top":case"bottom":return $?z?ae:Y:z?Y:ae;case"left":case"right":return z?fe:ie;default:return[]}}(_s(L),F==="start",V);return q&&(G=G.map(T=>T+"-"+q),Q&&(G=G.concat(G.map(K0)))),G}(a,w,b,_));const I=[a,...P],E=await uy(t,y),O=[];let R=((n=o.flip)==null?void 0:n.overflows)||[];if(p&&O.push(E[S]),h){const{main:L,cross:Q}=jG(r,s,_);O.push(E[L],E[Q])}if(R=[...R,{placement:r,overflows:O}],!O.every(L=>L<=0)){var M,D;const L=(((M=o.flip)==null?void 0:M.index)||0)+1,Q=I[L];if(Q)return{data:{index:L,overflows:R},reset:{placement:Q}};let F=(D=R.filter(V=>V.overflows[0]<=0).sort((V,q)=>V.overflows[1]-q.overflows[1])[0])==null?void 0:D.placement;if(!F)switch(v){case"bestFit":{var A;const V=(A=R.map(q=>[q.placement,q.overflows.filter(G=>G>0).reduce((G,T)=>G+T,0)]).sort((q,G)=>q[1]-G[1])[0])==null?void 0:A[0];V&&(F=V);break}case"initialPlacement":F=a}if(r!==F)return{reset:{placement:F}}}return{}}}};function NC(e){const t=gi(...e.map(r=>r.left)),n=gi(...e.map(r=>r.top));return{x:t,y:n,width:Ks(...e.map(r=>r.right))-t,height:Ks(...e.map(r=>r.bottom))-n}}const OG=function(e){return e===void 0&&(e={}),{name:"inline",options:e,async fn(t){const{placement:n,elements:r,rects:o,platform:s,strategy:a}=t,{padding:c=2,x:d,y:p}=Na(e,t),h=Array.from(await(s.getClientRects==null?void 0:s.getClientRects(r.reference))||[]),m=function(y){const S=y.slice().sort((P,I)=>P.y-I.y),k=[];let _=null;for(let P=0;P_.height/2?k.push([I]):k[k.length-1].push(I),_=I}return k.map(P=>jc(NC(P)))}(h),v=jc(NC(h)),b=cy(c),w=await s.getElementRects({reference:{getBoundingClientRect:function(){if(m.length===2&&m[0].left>m[1].right&&d!=null&&p!=null)return m.find(y=>d>y.left-b.left&&dy.top-b.top&&p=2){if(Ii(n)==="x"){const E=m[0],O=m[m.length-1],R=_s(n)==="top",M=E.top,D=O.bottom,A=R?E.left:O.left,L=R?E.right:O.right;return{top:M,bottom:D,left:A,right:L,width:L-A,height:D-M,x:A,y:M}}const y=_s(n)==="left",S=Ks(...m.map(E=>E.right)),k=gi(...m.map(E=>E.left)),_=m.filter(E=>y?E.left===k:E.right===S),P=_[0].top,I=_[_.length-1].bottom;return{top:P,bottom:I,left:k,right:S,width:S-k,height:I-P,x:k,y:P}}return v}},floating:r.floating,strategy:a});return o.reference.x!==w.reference.x||o.reference.y!==w.reference.y||o.reference.width!==w.reference.width||o.reference.height!==w.reference.height?{reset:{rects:w}}:{}}}},RG=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){const{x:n,y:r}=t,o=await async function(s,a){const{placement:c,platform:d,elements:p}=s,h=await(d.isRTL==null?void 0:d.isRTL(p.floating)),m=_s(c),v=Uc(c),b=Ii(c)==="x",w=["left","top"].includes(m)?-1:1,y=h&&b?-1:1,S=Na(a,s);let{mainAxis:k,crossAxis:_,alignmentAxis:P}=typeof S=="number"?{mainAxis:S,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...S};return v&&typeof P=="number"&&(_=v==="end"?-1*P:P),b?{x:_*y,y:k*w}:{x:k*w,y:_*y}}(t,e);return{x:n+o.x,y:r+o.y,data:o}}}};function $j(e){return e==="x"?"y":"x"}const MG=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o}=t,{mainAxis:s=!0,crossAxis:a=!1,limiter:c={fn:S=>{let{x:k,y:_}=S;return{x:k,y:_}}},...d}=Na(e,t),p={x:n,y:r},h=await uy(t,d),m=Ii(_s(o)),v=$j(m);let b=p[m],w=p[v];if(s){const S=m==="y"?"bottom":"right";b=x1(b+h[m==="y"?"top":"left"],b,b-h[S])}if(a){const S=v==="y"?"bottom":"right";w=x1(w+h[v==="y"?"top":"left"],w,w-h[S])}const y=c.fn({...t,[m]:b,[v]:w});return{...y,data:{x:y.x-n,y:y.y-r}}}}},DG=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:o,rects:s,middlewareData:a}=t,{offset:c=0,mainAxis:d=!0,crossAxis:p=!0}=Na(e,t),h={x:n,y:r},m=Ii(o),v=$j(m);let b=h[m],w=h[v];const y=Na(c,t),S=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(d){const P=m==="y"?"height":"width",I=s.reference[m]-s.floating[P]+S.mainAxis,E=s.reference[m]+s.reference[P]-S.mainAxis;bE&&(b=E)}if(p){var k,_;const P=m==="y"?"width":"height",I=["top","left"].includes(_s(o)),E=s.reference[v]-s.floating[P]+(I&&((k=a.offset)==null?void 0:k[v])||0)+(I?0:S.crossAxis),O=s.reference[v]+s.reference[P]+(I?0:((_=a.offset)==null?void 0:_[v])||0)-(I?S.crossAxis:0);wO&&(w=O)}return{[m]:b,[v]:w}}}},AG=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:r,platform:o,elements:s}=t,{apply:a=()=>{},...c}=Na(e,t),d=await uy(t,c),p=_s(n),h=Uc(n),m=Ii(n)==="x",{width:v,height:b}=r.floating;let w,y;p==="top"||p==="bottom"?(w=p,y=h===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?"start":"end")?"left":"right"):(y=p,w=h==="end"?"top":"bottom");const S=b-d[w],k=v-d[y],_=!t.middlewareData.shift;let P=S,I=k;if(m){const O=v-d.left-d.right;I=h||_?gi(k,O):O}else{const O=b-d.top-d.bottom;P=h||_?gi(S,O):O}if(_&&!h){const O=Ks(d.left,0),R=Ks(d.right,0),M=Ks(d.top,0),D=Ks(d.bottom,0);m?I=v-2*(O!==0||R!==0?O+R:Ks(d.left,d.right)):P=b-2*(M!==0||D!==0?M+D:Ks(d.top,d.bottom))}await a({...t,availableWidth:I,availableHeight:P});const E=await o.getDimensions(s.floating);return v!==E.width||b!==E.height?{reset:{rects:!0}}:{}}}};function zo(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function oa(e){return zo(e).getComputedStyle(e)}function Lj(e){return e instanceof zo(e).Node}function vi(e){return Lj(e)?(e.nodeName||"").toLowerCase():"#document"}function Os(e){return e instanceof HTMLElement||e instanceof zo(e).HTMLElement}function $C(e){return typeof ShadowRoot<"u"&&(e instanceof zo(e).ShadowRoot||e instanceof ShadowRoot)}function ud(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=oa(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(o)}function TG(e){return["table","td","th"].includes(vi(e))}function w1(e){const t=dy(),n=oa(e);return n.transform!=="none"||n.perspective!=="none"||!!n.containerType&&n.containerType!=="normal"||!t&&!!n.backdropFilter&&n.backdropFilter!=="none"||!t&&!!n.filter&&n.filter!=="none"||["transform","perspective","filter"].some(r=>(n.willChange||"").includes(r))||["paint","layout","strict","content"].some(r=>(n.contain||"").includes(r))}function dy(){return!(typeof CSS>"u"||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function Hm(e){return["html","body","#document"].includes(vi(e))}const S1=Math.min,fc=Math.max,_h=Math.round,ep=Math.floor,bi=e=>({x:e,y:e});function zj(e){const t=oa(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=Os(e),s=o?e.offsetWidth:n,a=o?e.offsetHeight:r,c=_h(n)!==s||_h(r)!==a;return c&&(n=s,r=a),{width:n,height:r,$:c}}function _a(e){return e instanceof Element||e instanceof zo(e).Element}function fy(e){return _a(e)?e:e.contextElement}function pc(e){const t=fy(e);if(!Os(t))return bi(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:s}=zj(t);let a=(s?_h(n.width):n.width)/r,c=(s?_h(n.height):n.height)/o;return a&&Number.isFinite(a)||(a=1),c&&Number.isFinite(c)||(c=1),{x:a,y:c}}const NG=bi(0);function Bj(e){const t=zo(e);return dy()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:NG}function cl(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),s=fy(e);let a=bi(1);t&&(r?_a(r)&&(a=pc(r)):a=pc(e));const c=function(v,b,w){return b===void 0&&(b=!1),!(!w||b&&w!==zo(v))&&b}(s,n,r)?Bj(s):bi(0);let d=(o.left+c.x)/a.x,p=(o.top+c.y)/a.y,h=o.width/a.x,m=o.height/a.y;if(s){const v=zo(s),b=r&&_a(r)?zo(r):r;let w=v.frameElement;for(;w&&r&&b!==v;){const y=pc(w),S=w.getBoundingClientRect(),k=getComputedStyle(w),_=S.left+(w.clientLeft+parseFloat(k.paddingLeft))*y.x,P=S.top+(w.clientTop+parseFloat(k.paddingTop))*y.y;d*=y.x,p*=y.y,h*=y.x,m*=y.y,d+=_,p+=P,w=zo(w).frameElement}}return jc({width:h,height:m,x:d,y:p})}function Wm(e){return _a(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Pa(e){var t;return(t=(Lj(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Fj(e){return cl(Pa(e)).left+Wm(e).scrollLeft}function Ic(e){if(vi(e)==="html")return e;const t=e.assignedSlot||e.parentNode||$C(e)&&e.host||Pa(e);return $C(t)?t.host:t}function Hj(e){const t=Ic(e);return Hm(t)?e.ownerDocument?e.ownerDocument.body:e.body:Os(t)&&ud(t)?t:Hj(t)}function Ph(e,t){var n;t===void 0&&(t=[]);const r=Hj(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=zo(r);return o?t.concat(s,s.visualViewport||[],ud(r)?r:[]):t.concat(r,Ph(r))}function LC(e,t,n){let r;if(t==="viewport")r=function(o,s){const a=zo(o),c=Pa(o),d=a.visualViewport;let p=c.clientWidth,h=c.clientHeight,m=0,v=0;if(d){p=d.width,h=d.height;const b=dy();(!b||b&&s==="fixed")&&(m=d.offsetLeft,v=d.offsetTop)}return{width:p,height:h,x:m,y:v}}(e,n);else if(t==="document")r=function(o){const s=Pa(o),a=Wm(o),c=o.ownerDocument.body,d=fc(s.scrollWidth,s.clientWidth,c.scrollWidth,c.clientWidth),p=fc(s.scrollHeight,s.clientHeight,c.scrollHeight,c.clientHeight);let h=-a.scrollLeft+Fj(o);const m=-a.scrollTop;return oa(c).direction==="rtl"&&(h+=fc(s.clientWidth,c.clientWidth)-d),{width:d,height:p,x:h,y:m}}(Pa(e));else if(_a(t))r=function(o,s){const a=cl(o,!0,s==="fixed"),c=a.top+o.clientTop,d=a.left+o.clientLeft,p=Os(o)?pc(o):bi(1);return{width:o.clientWidth*p.x,height:o.clientHeight*p.y,x:d*p.x,y:c*p.y}}(t,n);else{const o=Bj(e);r={...t,x:t.x-o.x,y:t.y-o.y}}return jc(r)}function Wj(e,t){const n=Ic(e);return!(n===t||!_a(n)||Hm(n))&&(oa(n).position==="fixed"||Wj(n,t))}function $G(e,t,n){const r=Os(t),o=Pa(t),s=n==="fixed",a=cl(e,!0,s,t);let c={scrollLeft:0,scrollTop:0};const d=bi(0);if(r||!r&&!s)if((vi(t)!=="body"||ud(o))&&(c=Wm(t)),Os(t)){const p=cl(t,!0,s,t);d.x=p.x+t.clientLeft,d.y=p.y+t.clientTop}else o&&(d.x=Fj(o));return{x:a.left+c.scrollLeft-d.x,y:a.top+c.scrollTop-d.y,width:a.width,height:a.height}}function zC(e,t){return Os(e)&&oa(e).position!=="fixed"?t?t(e):e.offsetParent:null}function BC(e,t){const n=zo(e);if(!Os(e))return n;let r=zC(e,t);for(;r&&TG(r)&&oa(r).position==="static";)r=zC(r,t);return r&&(vi(r)==="html"||vi(r)==="body"&&oa(r).position==="static"&&!w1(r))?n:r||function(o){let s=Ic(o);for(;Os(s)&&!Hm(s);){if(w1(s))return s;s=Ic(s)}return null}(e)||n}const LG={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{rect:t,offsetParent:n,strategy:r}=e;const o=Os(n),s=Pa(n);if(n===s)return t;let a={scrollLeft:0,scrollTop:0},c=bi(1);const d=bi(0);if((o||!o&&r!=="fixed")&&((vi(n)!=="body"||ud(s))&&(a=Wm(n)),Os(n))){const p=cl(n);c=pc(n),d.x=p.x+n.clientLeft,d.y=p.y+n.clientTop}return{width:t.width*c.x,height:t.height*c.y,x:t.x*c.x-a.scrollLeft*c.x+d.x,y:t.y*c.y-a.scrollTop*c.y+d.y}},getDocumentElement:Pa,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const s=[...n==="clippingAncestors"?function(d,p){const h=p.get(d);if(h)return h;let m=Ph(d).filter(y=>_a(y)&&vi(y)!=="body"),v=null;const b=oa(d).position==="fixed";let w=b?Ic(d):d;for(;_a(w)&&!Hm(w);){const y=oa(w),S=w1(w);S||y.position!=="fixed"||(v=null),(b?!S&&!v:!S&&y.position==="static"&&v&&["absolute","fixed"].includes(v.position)||ud(w)&&!S&&Wj(d,w))?m=m.filter(k=>k!==w):v=y,w=Ic(w)}return p.set(d,m),m}(t,this._c):[].concat(n),r],a=s[0],c=s.reduce((d,p)=>{const h=LC(t,p,o);return d.top=fc(h.top,d.top),d.right=S1(h.right,d.right),d.bottom=S1(h.bottom,d.bottom),d.left=fc(h.left,d.left),d},LC(t,a,o));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}},getOffsetParent:BC,getElementRects:async function(e){let{reference:t,floating:n,strategy:r}=e;const o=this.getOffsetParent||BC,s=this.getDimensions;return{reference:$G(t,await o(n),r),floating:{x:0,y:0,...await s(n)}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){return zj(e)},getScale:pc,isElement:_a,isRTL:function(e){return getComputedStyle(e).direction==="rtl"}};function zG(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:d=!1}=r,p=fy(e),h=o||s?[...p?Ph(p):[],...Ph(t)]:[];h.forEach(S=>{o&&S.addEventListener("scroll",n,{passive:!0}),s&&S.addEventListener("resize",n)});const m=p&&c?function(S,k){let _,P=null;const I=Pa(S);function E(){clearTimeout(_),P&&P.disconnect(),P=null}return function O(R,M){R===void 0&&(R=!1),M===void 0&&(M=1),E();const{left:D,top:A,width:L,height:Q}=S.getBoundingClientRect();if(R||k(),!L||!Q)return;const F={rootMargin:-ep(A)+"px "+-ep(I.clientWidth-(D+L))+"px "+-ep(I.clientHeight-(A+Q))+"px "+-ep(D)+"px",threshold:fc(0,S1(1,M))||1};let V=!0;function q(G){const T=G[0].intersectionRatio;if(T!==M){if(!V)return O();T?O(!1,T):_=setTimeout(()=>{O(!1,1e-7)},100)}V=!1}try{P=new IntersectionObserver(q,{...F,root:I.ownerDocument})}catch{P=new IntersectionObserver(q,F)}P.observe(S)}(!0),E}(p,n):null;let v,b=-1,w=null;a&&(w=new ResizeObserver(S=>{let[k]=S;k&&k.target===p&&w&&(w.unobserve(t),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{w&&w.observe(t)})),n()}),p&&!d&&w.observe(p),w.observe(t));let y=d?cl(e):null;return d&&function S(){const k=cl(e);!y||k.x===y.x&&k.y===y.y&&k.width===y.width&&k.height===y.height||n(),y=k,v=requestAnimationFrame(S)}(),n(),()=>{h.forEach(S=>{o&&S.removeEventListener("scroll",n),s&&S.removeEventListener("resize",n)}),m&&m(),w&&w.disconnect(),w=null,d&&cancelAnimationFrame(v)}}const BG=(e,t,n)=>{const r=new Map,o={platform:LG,...n},s={...o.platform,_c:r};return kG(e,t,{...o,platform:s})},FG=e=>{const{element:t,padding:n}=e;function r(o){return Object.prototype.hasOwnProperty.call(o,"current")}return{name:"arrow",options:e,fn(o){return r(t)?t.current!=null?TC({element:t.current,padding:n}).fn(o):{}:t?TC({element:t,padding:n}).fn(o):{}}}};var Tp=typeof document<"u"?f.useLayoutEffect:f.useEffect;function jh(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!jh(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){const s=o[r];if(!(s==="_owner"&&e.$$typeof)&&!jh(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function FC(e){const t=f.useRef(e);return Tp(()=>{t.current=e}),t}function HG(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,whileElementsMounted:s,open:a}=e,[c,d]=f.useState({x:null,y:null,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,h]=f.useState(r);jh(p,r)||h(r);const m=f.useRef(null),v=f.useRef(null),b=f.useRef(c),w=FC(s),y=FC(o),[S,k]=f.useState(null),[_,P]=f.useState(null),I=f.useCallback(A=>{m.current!==A&&(m.current=A,k(A))},[]),E=f.useCallback(A=>{v.current!==A&&(v.current=A,P(A))},[]),O=f.useCallback(()=>{if(!m.current||!v.current)return;const A={placement:t,strategy:n,middleware:p};y.current&&(A.platform=y.current),BG(m.current,v.current,A).then(L=>{const Q={...L,isPositioned:!0};R.current&&!jh(b.current,Q)&&(b.current=Q,ki.flushSync(()=>{d(Q)}))})},[p,t,n,y]);Tp(()=>{a===!1&&b.current.isPositioned&&(b.current.isPositioned=!1,d(A=>({...A,isPositioned:!1})))},[a]);const R=f.useRef(!1);Tp(()=>(R.current=!0,()=>{R.current=!1}),[]),Tp(()=>{if(S&&_){if(w.current)return w.current(S,_,O);O()}},[S,_,O,w]);const M=f.useMemo(()=>({reference:m,floating:v,setReference:I,setFloating:E}),[I,E]),D=f.useMemo(()=>({reference:S,floating:_}),[S,_]);return f.useMemo(()=>({...c,update:O,refs:M,elements:D,reference:I,floating:E}),[c,O,M,D,I,E])}var WG=typeof document<"u"?f.useLayoutEffect:f.useEffect;function VG(){const e=new Map;return{emit(t,n){var r;(r=e.get(t))==null||r.forEach(o=>o(n))},on(t,n){e.set(t,[...e.get(t)||[],n])},off(t,n){e.set(t,(e.get(t)||[]).filter(r=>r!==n))}}}const UG=f.createContext(null),GG=()=>f.useContext(UG);function qG(e){return(e==null?void 0:e.ownerDocument)||document}function KG(e){return qG(e).defaultView||window}function tp(e){return e?e instanceof KG(e).Element:!1}const XG=Y1["useInsertionEffect".toString()],YG=XG||(e=>e());function QG(e){const t=f.useRef(()=>{});return YG(()=>{t.current=e}),f.useCallback(function(){for(var n=arguments.length,r=new Array(n),o=0;oVG())[0],[p,h]=f.useState(null),m=f.useCallback(k=>{const _=tp(k)?{getBoundingClientRect:()=>k.getBoundingClientRect(),contextElement:k}:k;o.refs.setReference(_)},[o.refs]),v=f.useCallback(k=>{(tp(k)||k===null)&&(a.current=k,h(k)),(tp(o.refs.reference.current)||o.refs.reference.current===null||k!==null&&!tp(k))&&o.refs.setReference(k)},[o.refs]),b=f.useMemo(()=>({...o.refs,setReference:v,setPositionReference:m,domReference:a}),[o.refs,v,m]),w=f.useMemo(()=>({...o.elements,domReference:p}),[o.elements,p]),y=QG(n),S=f.useMemo(()=>({...o,refs:b,elements:w,dataRef:c,nodeId:r,events:d,open:t,onOpenChange:y}),[o,r,d,t,y,b,w]);return WG(()=>{const k=s==null?void 0:s.nodesRef.current.find(_=>_.id===r);k&&(k.context=S)}),f.useMemo(()=>({...o,context:S,refs:b,reference:v,positionReference:m}),[o,b,S,v,m])}function ZG({opened:e,floating:t,position:n,positionDependencies:r}){const[o,s]=f.useState(0);f.useEffect(()=>{if(t.refs.reference.current&&t.refs.floating.current)return zG(t.refs.reference.current,t.refs.floating.current,t.update)},[t.refs.reference.current,t.refs.floating.current,e,o,n]),ks(()=>{t.update()},r),ks(()=>{s(a=>a+1)},[e])}function eq(e){const t=[RG(e.offset)];return e.middlewares.shift&&t.push(MG({limiter:DG()})),e.middlewares.flip&&t.push(EG()),e.middlewares.inline&&t.push(OG()),t.push(FG({element:e.arrowRef,padding:e.arrowOffset})),t}function tq(e){const[t,n]=cd({value:e.opened,defaultValue:e.defaultOpened,finalValue:!1,onChange:e.onChange}),r=()=>{var a;(a=e.onClose)==null||a.call(e),n(!1)},o=()=>{var a,c;t?((a=e.onClose)==null||a.call(e),n(!1)):((c=e.onOpen)==null||c.call(e),n(!0))},s=JG({placement:e.position,middleware:[...eq(e),...e.width==="target"?[AG({apply({rects:a}){var c,d;Object.assign((d=(c=s.refs.floating.current)==null?void 0:c.style)!=null?d:{},{width:`${a.reference.width}px`})}})]:[]]});return ZG({opened:e.opened,position:e.position,positionDependencies:e.positionDependencies,floating:s}),ks(()=>{var a;(a=e.onPositionChange)==null||a.call(e,s.placement)},[s.placement]),ks(()=>{var a,c;e.opened?(c=e.onOpen)==null||c.call(e):(a=e.onClose)==null||a.call(e)},[e.opened]),{floating:s,controlled:typeof e.opened=="boolean",opened:t,onClose:r,onToggle:o}}const Vj={context:"Popover component was not found in the tree",children:"Popover.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported"},[nq,Uj]=WH(Vj.context);var rq=Object.defineProperty,oq=Object.defineProperties,sq=Object.getOwnPropertyDescriptors,Ih=Object.getOwnPropertySymbols,Gj=Object.prototype.hasOwnProperty,qj=Object.prototype.propertyIsEnumerable,HC=(e,t,n)=>t in e?rq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,np=(e,t)=>{for(var n in t||(t={}))Gj.call(t,n)&&HC(e,n,t[n]);if(Ih)for(var n of Ih(t))qj.call(t,n)&&HC(e,n,t[n]);return e},aq=(e,t)=>oq(e,sq(t)),iq=(e,t)=>{var n={};for(var r in e)Gj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ih)for(var r of Ih(e))t.indexOf(r)<0&&qj.call(e,r)&&(n[r]=e[r]);return n};const lq={refProp:"ref",popupType:"dialog"},Kj=f.forwardRef((e,t)=>{const n=Cr("PopoverTarget",lq,e),{children:r,refProp:o,popupType:s}=n,a=iq(n,["children","refProp","popupType"]);if(!SP(r))throw new Error(Vj.children);const c=a,d=Uj(),p=Bd(d.reference,r.ref,t),h=d.withRoles?{"aria-haspopup":s,"aria-expanded":d.opened,"aria-controls":d.getDropdownId(),id:d.getTargetId()}:{};return f.cloneElement(r,np(aq(np(np(np({},c),h),d.targetProps),{className:kP(d.targetProps.className,c.className,r.props.className),[o]:p}),d.controlled?null:{onClick:d.onToggle}))});Kj.displayName="@mantine/core/PopoverTarget";var cq=so((e,{radius:t,shadow:n})=>({dropdown:{position:"absolute",backgroundColor:e.white,background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,border:`${Ue(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2]}`,padding:`${e.spacing.sm} ${e.spacing.md}`,boxShadow:e.shadows[n]||n||"none",borderRadius:e.fn.radius(t),"&:focus":{outline:0}},arrow:{backgroundColor:"inherit",border:`${Ue(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2]}`,zIndex:1}}));const uq=cq;var dq=Object.defineProperty,WC=Object.getOwnPropertySymbols,fq=Object.prototype.hasOwnProperty,pq=Object.prototype.propertyIsEnumerable,VC=(e,t,n)=>t in e?dq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Hl=(e,t)=>{for(var n in t||(t={}))fq.call(t,n)&&VC(e,n,t[n]);if(WC)for(var n of WC(t))pq.call(t,n)&&VC(e,n,t[n]);return e};const UC={entering:"in",entered:"in",exiting:"out",exited:"out","pre-exiting":"out","pre-entering":"out"};function hq({transition:e,state:t,duration:n,timingFunction:r}){const o={transitionDuration:`${n}ms`,transitionTimingFunction:r};return typeof e=="string"?e in Kf?Hl(Hl(Hl({transitionProperty:Kf[e].transitionProperty},o),Kf[e].common),Kf[e][UC[t]]):null:Hl(Hl(Hl({transitionProperty:e.transitionProperty},o),e.common),e[UC[t]])}function mq({duration:e,exitDuration:t,timingFunction:n,mounted:r,onEnter:o,onExit:s,onEntered:a,onExited:c}){const d=Ha(),p=RP(),h=d.respectReducedMotion?p:!1,[m,v]=f.useState(h?0:e),[b,w]=f.useState(r?"entered":"exited"),y=f.useRef(-1),S=k=>{const _=k?o:s,P=k?a:c;w(k?"pre-entering":"pre-exiting"),window.clearTimeout(y.current);const I=h?0:k?e:t;if(v(I),I===0)typeof _=="function"&&_(),typeof P=="function"&&P(),w(k?"entered":"exited");else{const E=window.setTimeout(()=>{typeof _=="function"&&_(),w(k?"entering":"exiting")},10);y.current=window.setTimeout(()=>{window.clearTimeout(E),typeof P=="function"&&P(),w(k?"entered":"exited")},I)}};return ks(()=>{S(r)},[r]),f.useEffect(()=>()=>window.clearTimeout(y.current),[]),{transitionDuration:m,transitionStatus:b,transitionTimingFunction:n||d.transitionTimingFunction}}function Xj({keepMounted:e,transition:t,duration:n=250,exitDuration:r=n,mounted:o,children:s,timingFunction:a,onExit:c,onEntered:d,onEnter:p,onExited:h}){const{transitionDuration:m,transitionStatus:v,transitionTimingFunction:b}=mq({mounted:o,exitDuration:r,duration:n,timingFunction:a,onExit:c,onEntered:d,onEnter:p,onExited:h});return m===0?o?H.createElement(H.Fragment,null,s({})):e?s({display:"none"}):null:v==="exited"?e?s({display:"none"}):null:H.createElement(H.Fragment,null,s(hq({transition:t,duration:m,state:v,timingFunction:b})))}Xj.displayName="@mantine/core/Transition";function Yj({children:e,active:t=!0,refProp:n="ref"}){const r=CW(t),o=Bd(r,e==null?void 0:e.ref);return SP(e)?f.cloneElement(e,{[n]:o}):e}Yj.displayName="@mantine/core/FocusTrap";var gq=Object.defineProperty,vq=Object.defineProperties,bq=Object.getOwnPropertyDescriptors,GC=Object.getOwnPropertySymbols,yq=Object.prototype.hasOwnProperty,xq=Object.prototype.propertyIsEnumerable,qC=(e,t,n)=>t in e?gq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ei=(e,t)=>{for(var n in t||(t={}))yq.call(t,n)&&qC(e,n,t[n]);if(GC)for(var n of GC(t))xq.call(t,n)&&qC(e,n,t[n]);return e},rp=(e,t)=>vq(e,bq(t));function KC(e,t,n,r){return e==="center"||r==="center"?{top:t}:e==="end"?{bottom:n}:e==="start"?{top:n}:{}}function XC(e,t,n,r,o){return e==="center"||r==="center"?{left:t}:e==="end"?{[o==="ltr"?"right":"left"]:n}:e==="start"?{[o==="ltr"?"left":"right"]:n}:{}}const wq={bottom:"borderTopLeftRadius",left:"borderTopRightRadius",right:"borderBottomLeftRadius",top:"borderBottomRightRadius"};function Sq({position:e,arrowSize:t,arrowOffset:n,arrowRadius:r,arrowPosition:o,arrowX:s,arrowY:a,dir:c}){const[d,p="center"]=e.split("-"),h={width:Ue(t),height:Ue(t),transform:"rotate(45deg)",position:"absolute",[wq[d]]:Ue(r)},m=Ue(-t/2);return d==="left"?rp(ei(ei({},h),KC(p,a,n,o)),{right:m,borderLeftColor:"transparent",borderBottomColor:"transparent"}):d==="right"?rp(ei(ei({},h),KC(p,a,n,o)),{left:m,borderRightColor:"transparent",borderTopColor:"transparent"}):d==="top"?rp(ei(ei({},h),XC(p,s,n,o,c)),{bottom:m,borderTopColor:"transparent",borderLeftColor:"transparent"}):d==="bottom"?rp(ei(ei({},h),XC(p,s,n,o,c)),{top:m,borderBottomColor:"transparent",borderRightColor:"transparent"}):{}}var Cq=Object.defineProperty,kq=Object.defineProperties,_q=Object.getOwnPropertyDescriptors,Eh=Object.getOwnPropertySymbols,Qj=Object.prototype.hasOwnProperty,Jj=Object.prototype.propertyIsEnumerable,YC=(e,t,n)=>t in e?Cq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Pq=(e,t)=>{for(var n in t||(t={}))Qj.call(t,n)&&YC(e,n,t[n]);if(Eh)for(var n of Eh(t))Jj.call(t,n)&&YC(e,n,t[n]);return e},jq=(e,t)=>kq(e,_q(t)),Iq=(e,t)=>{var n={};for(var r in e)Qj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Eh)for(var r of Eh(e))t.indexOf(r)<0&&Jj.call(e,r)&&(n[r]=e[r]);return n};const Zj=f.forwardRef((e,t)=>{var n=e,{position:r,arrowSize:o,arrowOffset:s,arrowRadius:a,arrowPosition:c,visible:d,arrowX:p,arrowY:h}=n,m=Iq(n,["position","arrowSize","arrowOffset","arrowRadius","arrowPosition","visible","arrowX","arrowY"]);const v=Ha();return d?H.createElement("div",jq(Pq({},m),{ref:t,style:Sq({position:r,arrowSize:o,arrowOffset:s,arrowRadius:a,arrowPosition:c,dir:v.dir,arrowX:p,arrowY:h})})):null});Zj.displayName="@mantine/core/FloatingArrow";var Eq=Object.defineProperty,Oq=Object.defineProperties,Rq=Object.getOwnPropertyDescriptors,Oh=Object.getOwnPropertySymbols,eI=Object.prototype.hasOwnProperty,tI=Object.prototype.propertyIsEnumerable,QC=(e,t,n)=>t in e?Eq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Wl=(e,t)=>{for(var n in t||(t={}))eI.call(t,n)&&QC(e,n,t[n]);if(Oh)for(var n of Oh(t))tI.call(t,n)&&QC(e,n,t[n]);return e},op=(e,t)=>Oq(e,Rq(t)),Mq=(e,t)=>{var n={};for(var r in e)eI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Oh)for(var r of Oh(e))t.indexOf(r)<0&&tI.call(e,r)&&(n[r]=e[r]);return n};const Dq={};function nI(e){var t;const n=Cr("PopoverDropdown",Dq,e),{style:r,className:o,children:s,onKeyDownCapture:a}=n,c=Mq(n,["style","className","children","onKeyDownCapture"]),d=Uj(),{classes:p,cx:h}=uq({radius:d.radius,shadow:d.shadow},{name:d.__staticSelector,classNames:d.classNames,styles:d.styles,unstyled:d.unstyled,variant:d.variant}),m=gW({opened:d.opened,shouldReturnFocus:d.returnFocus}),v=d.withRoles?{"aria-labelledby":d.getTargetId(),id:d.getDropdownId(),role:"dialog"}:{};return d.disabled?null:H.createElement(nj,op(Wl({},d.portalProps),{withinPortal:d.withinPortal}),H.createElement(Xj,op(Wl({mounted:d.opened},d.transitionProps),{transition:d.transitionProps.transition||"fade",duration:(t=d.transitionProps.duration)!=null?t:150,keepMounted:d.keepMounted,exitDuration:typeof d.transitionProps.exitDuration=="number"?d.transitionProps.exitDuration:d.transitionProps.duration}),b=>{var w,y;return H.createElement(Yj,{active:d.trapFocus},H.createElement(Io,Wl(op(Wl({},v),{tabIndex:-1,ref:d.floating,style:op(Wl(Wl({},r),b),{zIndex:d.zIndex,top:(w=d.y)!=null?w:0,left:(y=d.x)!=null?y:0,width:d.width==="target"?void 0:Ue(d.width)}),className:h(p.dropdown,o),onKeyDownCapture:UH(d.onClose,{active:d.closeOnEscape,onTrigger:m,onKeyDown:a}),"data-position":d.placement}),c),s,H.createElement(Zj,{ref:d.arrowRef,arrowX:d.arrowX,arrowY:d.arrowY,visible:d.withArrow,position:d.placement,arrowSize:d.arrowSize,arrowRadius:d.arrowRadius,arrowOffset:d.arrowOffset,arrowPosition:d.arrowPosition,className:p.arrow})))}))}nI.displayName="@mantine/core/PopoverDropdown";function Aq(e,t){if(e==="rtl"&&(t.includes("right")||t.includes("left"))){const[n,r]=t.split("-"),o=n==="right"?"left":"right";return r===void 0?o:`${o}-${r}`}return t}var JC=Object.getOwnPropertySymbols,Tq=Object.prototype.hasOwnProperty,Nq=Object.prototype.propertyIsEnumerable,$q=(e,t)=>{var n={};for(var r in e)Tq.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&JC)for(var r of JC(e))t.indexOf(r)<0&&Nq.call(e,r)&&(n[r]=e[r]);return n};const Lq={position:"bottom",offset:8,positionDependencies:[],transitionProps:{transition:"fade",duration:150},middlewares:{flip:!0,shift:!0,inline:!1},arrowSize:7,arrowOffset:5,arrowRadius:0,arrowPosition:"side",closeOnClickOutside:!0,withinPortal:!1,closeOnEscape:!0,trapFocus:!1,withRoles:!0,returnFocus:!1,clickOutsideEvents:["mousedown","touchstart"],zIndex:ny("popover"),__staticSelector:"Popover",width:"max-content"};function Gc(e){var t,n,r,o,s,a;const c=f.useRef(null),d=Cr("Popover",Lq,e),{children:p,position:h,offset:m,onPositionChange:v,positionDependencies:b,opened:w,transitionProps:y,width:S,middlewares:k,withArrow:_,arrowSize:P,arrowOffset:I,arrowRadius:E,arrowPosition:O,unstyled:R,classNames:M,styles:D,closeOnClickOutside:A,withinPortal:L,portalProps:Q,closeOnEscape:F,clickOutsideEvents:V,trapFocus:q,onClose:G,onOpen:T,onChange:z,zIndex:$,radius:Y,shadow:ae,id:fe,defaultOpened:ie,__staticSelector:X,withRoles:K,disabled:U,returnFocus:se,variant:re,keepMounted:oe}=d,pe=$q(d,["children","position","offset","onPositionChange","positionDependencies","opened","transitionProps","width","middlewares","withArrow","arrowSize","arrowOffset","arrowRadius","arrowPosition","unstyled","classNames","styles","closeOnClickOutside","withinPortal","portalProps","closeOnEscape","clickOutsideEvents","trapFocus","onClose","onOpen","onChange","zIndex","radius","shadow","id","defaultOpened","__staticSelector","withRoles","disabled","returnFocus","variant","keepMounted"]),[le,ge]=f.useState(null),[ke,xe]=f.useState(null),de=oy(fe),Te=Ha(),Ee=tq({middlewares:k,width:S,position:Aq(Te.dir,h),offset:typeof m=="number"?m+(_?P/2:0):m,arrowRef:c,arrowOffset:I,onPositionChange:v,positionDependencies:b,opened:w,defaultOpened:ie,onChange:z,onOpen:T,onClose:G});fW(()=>Ee.opened&&A&&Ee.onClose(),V,[le,ke]);const $e=f.useCallback(ct=>{ge(ct),Ee.floating.reference(ct)},[Ee.floating.reference]),kt=f.useCallback(ct=>{xe(ct),Ee.floating.floating(ct)},[Ee.floating.floating]);return H.createElement(nq,{value:{returnFocus:se,disabled:U,controlled:Ee.controlled,reference:$e,floating:kt,x:Ee.floating.x,y:Ee.floating.y,arrowX:(r=(n=(t=Ee.floating)==null?void 0:t.middlewareData)==null?void 0:n.arrow)==null?void 0:r.x,arrowY:(a=(s=(o=Ee.floating)==null?void 0:o.middlewareData)==null?void 0:s.arrow)==null?void 0:a.y,opened:Ee.opened,arrowRef:c,transitionProps:y,width:S,withArrow:_,arrowSize:P,arrowOffset:I,arrowRadius:E,arrowPosition:O,placement:Ee.floating.placement,trapFocus:q,withinPortal:L,portalProps:Q,zIndex:$,radius:Y,shadow:ae,closeOnEscape:F,onClose:Ee.onClose,onToggle:Ee.onToggle,getTargetId:()=>`${de}-target`,getDropdownId:()=>`${de}-dropdown`,withRoles:K,targetProps:pe,__staticSelector:X,classNames:M,styles:D,unstyled:R,variant:re,keepMounted:oe}},p)}Gc.Target=Kj;Gc.Dropdown=nI;Gc.displayName="@mantine/core/Popover";var zq=Object.defineProperty,Rh=Object.getOwnPropertySymbols,rI=Object.prototype.hasOwnProperty,oI=Object.prototype.propertyIsEnumerable,ZC=(e,t,n)=>t in e?zq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Bq=(e,t)=>{for(var n in t||(t={}))rI.call(t,n)&&ZC(e,n,t[n]);if(Rh)for(var n of Rh(t))oI.call(t,n)&&ZC(e,n,t[n]);return e},Fq=(e,t)=>{var n={};for(var r in e)rI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Rh)for(var r of Rh(e))t.indexOf(r)<0&&oI.call(e,r)&&(n[r]=e[r]);return n};function Hq(e){var t=e,{children:n,component:r="div",maxHeight:o=220,direction:s="column",id:a,innerRef:c,__staticSelector:d,styles:p,classNames:h,unstyled:m}=t,v=Fq(t,["children","component","maxHeight","direction","id","innerRef","__staticSelector","styles","classNames","unstyled"]);const{classes:b}=CG(null,{name:d,styles:p,classNames:h,unstyled:m});return H.createElement(Gc.Dropdown,Bq({p:0,onMouseDown:w=>w.preventDefault()},v),H.createElement("div",{style:{maxHeight:Ue(o),display:"flex"}},H.createElement(Io,{component:r||"div",id:`${a}-items`,"aria-labelledby":`${a}-label`,role:"listbox",onMouseDown:w=>w.preventDefault(),style:{flex:1,overflowY:r!==Fm?"auto":void 0},"data-combobox-popover":!0,tabIndex:-1,ref:c},H.createElement("div",{className:b.itemsWrapper,style:{flexDirection:s}},n))))}function pi({opened:e,transitionProps:t={transition:"fade",duration:0},shadow:n,withinPortal:r,portalProps:o,children:s,__staticSelector:a,onDirectionChange:c,switchDirectionOnFlip:d,zIndex:p,dropdownPosition:h,positionDependencies:m=[],classNames:v,styles:b,unstyled:w,readOnly:y,variant:S}){return H.createElement(Gc,{unstyled:w,classNames:v,styles:b,width:"target",withRoles:!1,opened:e,middlewares:{flip:h==="flip",shift:!1},position:h==="flip"?"bottom":h,positionDependencies:m,zIndex:p,__staticSelector:a,withinPortal:r,portalProps:o,transitionProps:t,shadow:n,disabled:y,onPositionChange:k=>d&&(c==null?void 0:c(k==="top"?"column-reverse":"column")),variant:S},s)}pi.Target=Gc.Target;pi.Dropdown=Hq;var Wq=Object.defineProperty,Vq=Object.defineProperties,Uq=Object.getOwnPropertyDescriptors,Mh=Object.getOwnPropertySymbols,sI=Object.prototype.hasOwnProperty,aI=Object.prototype.propertyIsEnumerable,e4=(e,t,n)=>t in e?Wq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,sp=(e,t)=>{for(var n in t||(t={}))sI.call(t,n)&&e4(e,n,t[n]);if(Mh)for(var n of Mh(t))aI.call(t,n)&&e4(e,n,t[n]);return e},Gq=(e,t)=>Vq(e,Uq(t)),qq=(e,t)=>{var n={};for(var r in e)sI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Mh)for(var r of Mh(e))t.indexOf(r)<0&&aI.call(e,r)&&(n[r]=e[r]);return n};function iI(e,t,n){const r=Cr(e,t,n),{label:o,description:s,error:a,required:c,classNames:d,styles:p,className:h,unstyled:m,__staticSelector:v,sx:b,errorProps:w,labelProps:y,descriptionProps:S,wrapperProps:k,id:_,size:P,style:I,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:M}=r,D=qq(r,["label","description","error","required","classNames","styles","className","unstyled","__staticSelector","sx","errorProps","labelProps","descriptionProps","wrapperProps","id","size","style","inputContainer","inputWrapperOrder","withAsterisk","variant"]),A=oy(_),{systemStyles:L,rest:Q}=$m(D),F=sp({label:o,description:s,error:a,required:c,classNames:d,className:h,__staticSelector:v,sx:b,errorProps:w,labelProps:y,descriptionProps:S,unstyled:m,styles:p,id:A,size:P,style:I,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:M},k);return Gq(sp({},Q),{classNames:d,styles:p,unstyled:m,wrapperProps:sp(sp({},F),L),inputProps:{required:c,classNames:d,styles:p,unstyled:m,id:A,size:P,__staticSelector:v,error:a,variant:M}})}var Kq=so((e,t,{size:n})=>({label:{display:"inline-block",fontSize:Vt({size:n,sizes:e.fontSizes}),fontWeight:500,color:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[9],wordBreak:"break-word",cursor:"default",WebkitTapHighlightColor:"transparent"},required:{color:e.fn.variant({variant:"filled",color:"red"}).background}}));const Xq=Kq;var Yq=Object.defineProperty,Dh=Object.getOwnPropertySymbols,lI=Object.prototype.hasOwnProperty,cI=Object.prototype.propertyIsEnumerable,t4=(e,t,n)=>t in e?Yq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Qq=(e,t)=>{for(var n in t||(t={}))lI.call(t,n)&&t4(e,n,t[n]);if(Dh)for(var n of Dh(t))cI.call(t,n)&&t4(e,n,t[n]);return e},Jq=(e,t)=>{var n={};for(var r in e)lI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Dh)for(var r of Dh(e))t.indexOf(r)<0&&cI.call(e,r)&&(n[r]=e[r]);return n};const Zq={labelElement:"label",size:"sm"},py=f.forwardRef((e,t)=>{const n=Cr("InputLabel",Zq,e),{labelElement:r,children:o,required:s,size:a,classNames:c,styles:d,unstyled:p,className:h,htmlFor:m,__staticSelector:v,variant:b,onMouseDown:w}=n,y=Jq(n,["labelElement","children","required","size","classNames","styles","unstyled","className","htmlFor","__staticSelector","variant","onMouseDown"]),{classes:S,cx:k}=Xq(null,{name:["InputWrapper",v],classNames:c,styles:d,unstyled:p,variant:b,size:a});return H.createElement(Io,Qq({component:r,ref:t,className:k(S.label,h),htmlFor:r==="label"?m:void 0,onMouseDown:_=>{w==null||w(_),!_.defaultPrevented&&_.detail>1&&_.preventDefault()}},y),o,s&&H.createElement("span",{className:S.required,"aria-hidden":!0}," *"))});py.displayName="@mantine/core/InputLabel";var eK=so((e,t,{size:n})=>({error:{wordBreak:"break-word",color:e.fn.variant({variant:"filled",color:"red"}).background,fontSize:`calc(${Vt({size:n,sizes:e.fontSizes})} - ${Ue(2)})`,lineHeight:1.2,display:"block"}}));const tK=eK;var nK=Object.defineProperty,Ah=Object.getOwnPropertySymbols,uI=Object.prototype.hasOwnProperty,dI=Object.prototype.propertyIsEnumerable,n4=(e,t,n)=>t in e?nK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,rK=(e,t)=>{for(var n in t||(t={}))uI.call(t,n)&&n4(e,n,t[n]);if(Ah)for(var n of Ah(t))dI.call(t,n)&&n4(e,n,t[n]);return e},oK=(e,t)=>{var n={};for(var r in e)uI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ah)for(var r of Ah(e))t.indexOf(r)<0&&dI.call(e,r)&&(n[r]=e[r]);return n};const sK={size:"sm"},hy=f.forwardRef((e,t)=>{const n=Cr("InputError",sK,e),{children:r,className:o,classNames:s,styles:a,unstyled:c,size:d,__staticSelector:p,variant:h}=n,m=oK(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=tK(null,{name:["InputWrapper",p],classNames:s,styles:a,unstyled:c,variant:h,size:d});return H.createElement(_c,rK({className:b(v.error,o),ref:t},m),r)});hy.displayName="@mantine/core/InputError";var aK=so((e,t,{size:n})=>({description:{wordBreak:"break-word",color:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6],fontSize:`calc(${Vt({size:n,sizes:e.fontSizes})} - ${Ue(2)})`,lineHeight:1.2,display:"block"}}));const iK=aK;var lK=Object.defineProperty,Th=Object.getOwnPropertySymbols,fI=Object.prototype.hasOwnProperty,pI=Object.prototype.propertyIsEnumerable,r4=(e,t,n)=>t in e?lK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cK=(e,t)=>{for(var n in t||(t={}))fI.call(t,n)&&r4(e,n,t[n]);if(Th)for(var n of Th(t))pI.call(t,n)&&r4(e,n,t[n]);return e},uK=(e,t)=>{var n={};for(var r in e)fI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Th)for(var r of Th(e))t.indexOf(r)<0&&pI.call(e,r)&&(n[r]=e[r]);return n};const dK={size:"sm"},my=f.forwardRef((e,t)=>{const n=Cr("InputDescription",dK,e),{children:r,className:o,classNames:s,styles:a,unstyled:c,size:d,__staticSelector:p,variant:h}=n,m=uK(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=iK(null,{name:["InputWrapper",p],classNames:s,styles:a,unstyled:c,variant:h,size:d});return H.createElement(_c,cK({color:"dimmed",className:b(v.description,o),ref:t,unstyled:c},m),r)});my.displayName="@mantine/core/InputDescription";const hI=f.createContext({offsetBottom:!1,offsetTop:!1,describedBy:void 0}),fK=hI.Provider,pK=()=>f.useContext(hI);function hK(e,{hasDescription:t,hasError:n}){const r=e.findIndex(d=>d==="input"),o=e[r-1],s=e[r+1];return{offsetBottom:t&&s==="description"||n&&s==="error",offsetTop:t&&o==="description"||n&&o==="error"}}var mK=Object.defineProperty,gK=Object.defineProperties,vK=Object.getOwnPropertyDescriptors,o4=Object.getOwnPropertySymbols,bK=Object.prototype.hasOwnProperty,yK=Object.prototype.propertyIsEnumerable,s4=(e,t,n)=>t in e?mK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,xK=(e,t)=>{for(var n in t||(t={}))bK.call(t,n)&&s4(e,n,t[n]);if(o4)for(var n of o4(t))yK.call(t,n)&&s4(e,n,t[n]);return e},wK=(e,t)=>gK(e,vK(t)),SK=so(e=>({root:wK(xK({},e.fn.fontStyles()),{lineHeight:e.lineHeight})}));const CK=SK;var kK=Object.defineProperty,_K=Object.defineProperties,PK=Object.getOwnPropertyDescriptors,Nh=Object.getOwnPropertySymbols,mI=Object.prototype.hasOwnProperty,gI=Object.prototype.propertyIsEnumerable,a4=(e,t,n)=>t in e?kK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ti=(e,t)=>{for(var n in t||(t={}))mI.call(t,n)&&a4(e,n,t[n]);if(Nh)for(var n of Nh(t))gI.call(t,n)&&a4(e,n,t[n]);return e},i4=(e,t)=>_K(e,PK(t)),jK=(e,t)=>{var n={};for(var r in e)mI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Nh)for(var r of Nh(e))t.indexOf(r)<0&&gI.call(e,r)&&(n[r]=e[r]);return n};const IK={labelElement:"label",size:"sm",inputContainer:e=>e,inputWrapperOrder:["label","description","input","error"]},vI=f.forwardRef((e,t)=>{const n=Cr("InputWrapper",IK,e),{className:r,label:o,children:s,required:a,id:c,error:d,description:p,labelElement:h,labelProps:m,descriptionProps:v,errorProps:b,classNames:w,styles:y,size:S,inputContainer:k,__staticSelector:_,unstyled:P,inputWrapperOrder:I,withAsterisk:E,variant:O}=n,R=jK(n,["className","label","children","required","id","error","description","labelElement","labelProps","descriptionProps","errorProps","classNames","styles","size","inputContainer","__staticSelector","unstyled","inputWrapperOrder","withAsterisk","variant"]),{classes:M,cx:D}=CK(null,{classNames:w,styles:y,name:["InputWrapper",_],unstyled:P,variant:O,size:S}),A={classNames:w,styles:y,unstyled:P,size:S,variant:O,__staticSelector:_},L=typeof E=="boolean"?E:a,Q=c?`${c}-error`:b==null?void 0:b.id,F=c?`${c}-description`:v==null?void 0:v.id,q=`${!!d&&typeof d!="boolean"?Q:""} ${p?F:""}`,G=q.trim().length>0?q.trim():void 0,T=o&&H.createElement(py,ti(ti({key:"label",labelElement:h,id:c?`${c}-label`:void 0,htmlFor:c,required:L},A),m),o),z=p&&H.createElement(my,i4(ti(ti({key:"description"},v),A),{size:(v==null?void 0:v.size)||A.size,id:(v==null?void 0:v.id)||F}),p),$=H.createElement(f.Fragment,{key:"input"},k(s)),Y=typeof d!="boolean"&&d&&H.createElement(hy,i4(ti(ti({},b),A),{size:(b==null?void 0:b.size)||A.size,key:"error",id:(b==null?void 0:b.id)||Q}),d),ae=I.map(fe=>{switch(fe){case"label":return T;case"input":return $;case"description":return z;case"error":return Y;default:return null}});return H.createElement(fK,{value:ti({describedBy:G},hK(I,{hasDescription:!!z,hasError:!!Y}))},H.createElement(Io,ti({className:D(M.root,r),ref:t},R),ae))});vI.displayName="@mantine/core/InputWrapper";var EK=Object.defineProperty,$h=Object.getOwnPropertySymbols,bI=Object.prototype.hasOwnProperty,yI=Object.prototype.propertyIsEnumerable,l4=(e,t,n)=>t in e?EK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,OK=(e,t)=>{for(var n in t||(t={}))bI.call(t,n)&&l4(e,n,t[n]);if($h)for(var n of $h(t))yI.call(t,n)&&l4(e,n,t[n]);return e},RK=(e,t)=>{var n={};for(var r in e)bI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&$h)for(var r of $h(e))t.indexOf(r)<0&&yI.call(e,r)&&(n[r]=e[r]);return n};const MK={},xI=f.forwardRef((e,t)=>{const n=Cr("InputPlaceholder",MK,e),{sx:r}=n,o=RK(n,["sx"]);return H.createElement(Io,OK({component:"span",sx:[s=>s.fn.placeholderStyles(),...xP(r)],ref:t},o))});xI.displayName="@mantine/core/InputPlaceholder";var DK=Object.defineProperty,AK=Object.defineProperties,TK=Object.getOwnPropertyDescriptors,c4=Object.getOwnPropertySymbols,NK=Object.prototype.hasOwnProperty,$K=Object.prototype.propertyIsEnumerable,u4=(e,t,n)=>t in e?DK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ap=(e,t)=>{for(var n in t||(t={}))NK.call(t,n)&&u4(e,n,t[n]);if(c4)for(var n of c4(t))$K.call(t,n)&&u4(e,n,t[n]);return e},X0=(e,t)=>AK(e,TK(t));const Qo={xs:Ue(30),sm:Ue(36),md:Ue(42),lg:Ue(50),xl:Ue(60)},LK=["default","filled","unstyled"];function zK({theme:e,variant:t}){return LK.includes(t)?t==="default"?{border:`${Ue(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4]}`,backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.white,transition:"border-color 100ms ease","&:focus, &:focus-within":e.focusRingStyles.inputStyles(e)}:t==="filled"?{border:`${Ue(1)} solid transparent`,backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[1],"&:focus, &:focus-within":e.focusRingStyles.inputStyles(e)}:{borderWidth:0,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,backgroundColor:"transparent",minHeight:Ue(28),outline:0,"&:focus, &:focus-within":{outline:"none",borderColor:"transparent"},"&:disabled":{backgroundColor:"transparent","&:focus, &:focus-within":{outline:"none",borderColor:"transparent"}}}:null}var BK=so((e,{multiline:t,radius:n,invalid:r,rightSectionWidth:o,withRightSection:s,iconWidth:a,offsetBottom:c,offsetTop:d,pointer:p},{variant:h,size:m})=>{const v=e.fn.variant({variant:"filled",color:"red"}).background,b=h==="default"||h==="filled"?{minHeight:Vt({size:m,sizes:Qo}),paddingLeft:`calc(${Vt({size:m,sizes:Qo})} / 3)`,paddingRight:s?o||Vt({size:m,sizes:Qo}):`calc(${Vt({size:m,sizes:Qo})} / 3)`,borderRadius:e.fn.radius(n)}:h==="unstyled"&&s?{paddingRight:o||Vt({size:m,sizes:Qo})}:null;return{wrapper:{position:"relative",marginTop:d?`calc(${e.spacing.xs} / 2)`:void 0,marginBottom:c?`calc(${e.spacing.xs} / 2)`:void 0,"&:has(input:disabled)":{"& .mantine-Input-rightSection":{display:"none"}}},input:X0(ap(ap(X0(ap({},e.fn.fontStyles()),{height:t?h==="unstyled"?void 0:"auto":Vt({size:m,sizes:Qo}),WebkitTapHighlightColor:"transparent",lineHeight:t?e.lineHeight:`calc(${Vt({size:m,sizes:Qo})} - ${Ue(2)})`,appearance:"none",resize:"none",boxSizing:"border-box",fontSize:Vt({size:m,sizes:e.fontSizes}),width:"100%",color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,display:"block",textAlign:"left",cursor:p?"pointer":void 0}),zK({theme:e,variant:h})),b),{"&:disabled, &[data-disabled]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[1],color:e.colors.dark[2],opacity:.6,cursor:"not-allowed",pointerEvents:"none","&::placeholder":{color:e.colors.dark[2]}},"&[data-invalid]":{color:v,borderColor:v,"&::placeholder":{opacity:1,color:v}},"&[data-with-icon]":{paddingLeft:typeof a=="number"?Ue(a):Vt({size:m,sizes:Qo})},"&::placeholder":X0(ap({},e.fn.placeholderStyles()),{opacity:1}),"&::-webkit-inner-spin-button, &::-webkit-outer-spin-button, &::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration":{appearance:"none"},"&[type=number]":{MozAppearance:"textfield"}}),icon:{pointerEvents:"none",position:"absolute",zIndex:1,left:0,top:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",width:a?Ue(a):Vt({size:m,sizes:Qo}),color:r?e.colors.red[e.colorScheme==="dark"?6:7]:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[5]},rightSection:{position:"absolute",top:0,bottom:0,right:0,display:"flex",alignItems:"center",justifyContent:"center",width:o||Vt({size:m,sizes:Qo})}}});const FK=BK;var HK=Object.defineProperty,WK=Object.defineProperties,VK=Object.getOwnPropertyDescriptors,Lh=Object.getOwnPropertySymbols,wI=Object.prototype.hasOwnProperty,SI=Object.prototype.propertyIsEnumerable,d4=(e,t,n)=>t in e?HK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ip=(e,t)=>{for(var n in t||(t={}))wI.call(t,n)&&d4(e,n,t[n]);if(Lh)for(var n of Lh(t))SI.call(t,n)&&d4(e,n,t[n]);return e},f4=(e,t)=>WK(e,VK(t)),UK=(e,t)=>{var n={};for(var r in e)wI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Lh)for(var r of Lh(e))t.indexOf(r)<0&&SI.call(e,r)&&(n[r]=e[r]);return n};const GK={size:"sm",variant:"default"},bl=f.forwardRef((e,t)=>{const n=Cr("Input",GK,e),{className:r,error:o,required:s,disabled:a,variant:c,icon:d,style:p,rightSectionWidth:h,iconWidth:m,rightSection:v,rightSectionProps:b,radius:w,size:y,wrapperProps:S,classNames:k,styles:_,__staticSelector:P,multiline:I,sx:E,unstyled:O,pointer:R}=n,M=UK(n,["className","error","required","disabled","variant","icon","style","rightSectionWidth","iconWidth","rightSection","rightSectionProps","radius","size","wrapperProps","classNames","styles","__staticSelector","multiline","sx","unstyled","pointer"]),{offsetBottom:D,offsetTop:A,describedBy:L}=pK(),{classes:Q,cx:F}=FK({radius:w,multiline:I,invalid:!!o,rightSectionWidth:h?Ue(h):void 0,iconWidth:m,withRightSection:!!v,offsetBottom:D,offsetTop:A,pointer:R},{classNames:k,styles:_,name:["Input",P],unstyled:O,variant:c,size:y}),{systemStyles:V,rest:q}=$m(M);return H.createElement(Io,ip(ip({className:F(Q.wrapper,r),sx:E,style:p},V),S),d&&H.createElement("div",{className:Q.icon},d),H.createElement(Io,f4(ip({component:"input"},q),{ref:t,required:s,"aria-invalid":!!o,"aria-describedby":L,disabled:a,"data-disabled":a||void 0,"data-with-icon":!!d||void 0,"data-invalid":!!o||void 0,className:Q.input})),v&&H.createElement("div",f4(ip({},b),{className:Q.rightSection}),v))});bl.displayName="@mantine/core/Input";bl.Wrapper=vI;bl.Label=py;bl.Description=my;bl.Error=hy;bl.Placeholder=xI;const Ec=bl;var qK=Object.defineProperty,zh=Object.getOwnPropertySymbols,CI=Object.prototype.hasOwnProperty,kI=Object.prototype.propertyIsEnumerable,p4=(e,t,n)=>t in e?qK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,h4=(e,t)=>{for(var n in t||(t={}))CI.call(t,n)&&p4(e,n,t[n]);if(zh)for(var n of zh(t))kI.call(t,n)&&p4(e,n,t[n]);return e},KK=(e,t)=>{var n={};for(var r in e)CI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&zh)for(var r of zh(e))t.indexOf(r)<0&&kI.call(e,r)&&(n[r]=e[r]);return n};const XK={multiple:!1},_I=f.forwardRef((e,t)=>{const n=Cr("FileButton",XK,e),{onChange:r,children:o,multiple:s,accept:a,name:c,form:d,resetRef:p,disabled:h,capture:m,inputProps:v}=n,b=KK(n,["onChange","children","multiple","accept","name","form","resetRef","disabled","capture","inputProps"]),w=f.useRef(),y=()=>{!h&&w.current.click()},S=_=>{r(s?Array.from(_.currentTarget.files):_.currentTarget.files[0]||null)};return OP(p,()=>{w.current.value=""}),H.createElement(H.Fragment,null,o(h4({onClick:y},b)),H.createElement("input",h4({style:{display:"none"},type:"file",accept:a,multiple:s,onChange:S,ref:Bd(t,w),name:c,form:d,capture:m},v)))});_I.displayName="@mantine/core/FileButton";const PI={xs:Ue(16),sm:Ue(22),md:Ue(26),lg:Ue(30),xl:Ue(36)},YK={xs:Ue(10),sm:Ue(12),md:Ue(14),lg:Ue(16),xl:Ue(18)};var QK=so((e,{disabled:t,radius:n,readOnly:r},{size:o,variant:s})=>({defaultValue:{display:"flex",alignItems:"center",backgroundColor:t?e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[3]:e.colorScheme==="dark"?e.colors.dark[7]:s==="filled"?e.white:e.colors.gray[1],color:t?e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[7]:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[7],height:Vt({size:o,sizes:PI}),paddingLeft:`calc(${Vt({size:o,sizes:e.spacing})} / 1.5)`,paddingRight:t||r?Vt({size:o,sizes:e.spacing}):0,fontWeight:500,fontSize:Vt({size:o,sizes:YK}),borderRadius:Vt({size:n,sizes:e.radius}),cursor:t?"not-allowed":"default",userSelect:"none",maxWidth:`calc(100% - ${Ue(10)})`},defaultValueRemove:{color:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[7],marginLeft:`calc(${Vt({size:o,sizes:e.spacing})} / 6)`},defaultValueLabel:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}));const JK=QK;var ZK=Object.defineProperty,Bh=Object.getOwnPropertySymbols,jI=Object.prototype.hasOwnProperty,II=Object.prototype.propertyIsEnumerable,m4=(e,t,n)=>t in e?ZK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,eX=(e,t)=>{for(var n in t||(t={}))jI.call(t,n)&&m4(e,n,t[n]);if(Bh)for(var n of Bh(t))II.call(t,n)&&m4(e,n,t[n]);return e},tX=(e,t)=>{var n={};for(var r in e)jI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Bh)for(var r of Bh(e))t.indexOf(r)<0&&II.call(e,r)&&(n[r]=e[r]);return n};const nX={xs:16,sm:22,md:24,lg:26,xl:30};function EI(e){var t=e,{label:n,classNames:r,styles:o,className:s,onRemove:a,disabled:c,readOnly:d,size:p,radius:h="sm",variant:m,unstyled:v}=t,b=tX(t,["label","classNames","styles","className","onRemove","disabled","readOnly","size","radius","variant","unstyled"]);const{classes:w,cx:y}=JK({disabled:c,readOnly:d,radius:h},{name:"MultiSelect",classNames:r,styles:o,unstyled:v,size:p,variant:m});return H.createElement("div",eX({className:y(w.defaultValue,s)},b),H.createElement("span",{className:w.defaultValueLabel},n),!c&&!d&&H.createElement(cj,{"aria-hidden":!0,onMouseDown:a,size:nX[p],radius:2,color:"blue",variant:"transparent",iconSize:"70%",className:w.defaultValueRemove,tabIndex:-1,unstyled:v}))}EI.displayName="@mantine/core/MultiSelect/DefaultValue";function rX({data:e,searchable:t,limit:n,searchValue:r,filter:o,value:s,disableSelectedItemFiltering:a}){if(!t&&s.length===0)return e;if(!t){const d=[];for(let p=0;ph===e[p].value&&!e[p].disabled))&&d.push(e[p]);return d}const c=[];for(let d=0;dp===e[d].value&&!e[d].disabled),e[d])&&c.push(e[d]),!(c.length>=n));d+=1);return c}var oX=Object.defineProperty,Fh=Object.getOwnPropertySymbols,OI=Object.prototype.hasOwnProperty,RI=Object.prototype.propertyIsEnumerable,g4=(e,t,n)=>t in e?oX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,v4=(e,t)=>{for(var n in t||(t={}))OI.call(t,n)&&g4(e,n,t[n]);if(Fh)for(var n of Fh(t))RI.call(t,n)&&g4(e,n,t[n]);return e},sX=(e,t)=>{var n={};for(var r in e)OI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Fh)for(var r of Fh(e))t.indexOf(r)<0&&RI.call(e,r)&&(n[r]=e[r]);return n};const aX={xs:Ue(14),sm:Ue(18),md:Ue(20),lg:Ue(24),xl:Ue(28)};function iX(e){var t=e,{size:n,error:r,style:o}=t,s=sX(t,["size","error","style"]);const a=Ha(),c=Vt({size:n,sizes:aX});return H.createElement("svg",v4({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:v4({color:r?a.colors.red[6]:a.colors.gray[6],width:c,height:c},o),"data-chevron":!0},s),H.createElement("path",{d:"M4.93179 5.43179C4.75605 5.60753 4.75605 5.89245 4.93179 6.06819C5.10753 6.24392 5.39245 6.24392 5.56819 6.06819L7.49999 4.13638L9.43179 6.06819C9.60753 6.24392 9.89245 6.24392 10.0682 6.06819C10.2439 5.89245 10.2439 5.60753 10.0682 5.43179L7.81819 3.18179C7.73379 3.0974 7.61933 3.04999 7.49999 3.04999C7.38064 3.04999 7.26618 3.0974 7.18179 3.18179L4.93179 5.43179ZM10.0682 9.56819C10.2439 9.39245 10.2439 9.10753 10.0682 8.93179C9.89245 8.75606 9.60753 8.75606 9.43179 8.93179L7.49999 10.8636L5.56819 8.93179C5.39245 8.75606 5.10753 8.75606 4.93179 8.93179C4.75605 9.10753 4.75605 9.39245 4.93179 9.56819L7.18179 11.8182C7.35753 11.9939 7.64245 11.9939 7.81819 11.8182L10.0682 9.56819Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}var lX=Object.defineProperty,cX=Object.defineProperties,uX=Object.getOwnPropertyDescriptors,b4=Object.getOwnPropertySymbols,dX=Object.prototype.hasOwnProperty,fX=Object.prototype.propertyIsEnumerable,y4=(e,t,n)=>t in e?lX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,pX=(e,t)=>{for(var n in t||(t={}))dX.call(t,n)&&y4(e,n,t[n]);if(b4)for(var n of b4(t))fX.call(t,n)&&y4(e,n,t[n]);return e},hX=(e,t)=>cX(e,uX(t));function MI({shouldClear:e,clearButtonProps:t,onClear:n,size:r,error:o}){return e?H.createElement(cj,hX(pX({},t),{variant:"transparent",onClick:n,size:r,onMouseDown:s=>s.preventDefault()})):H.createElement(iX,{error:o,size:r})}MI.displayName="@mantine/core/SelectRightSection";var mX=Object.defineProperty,gX=Object.defineProperties,vX=Object.getOwnPropertyDescriptors,Hh=Object.getOwnPropertySymbols,DI=Object.prototype.hasOwnProperty,AI=Object.prototype.propertyIsEnumerable,x4=(e,t,n)=>t in e?mX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Y0=(e,t)=>{for(var n in t||(t={}))DI.call(t,n)&&x4(e,n,t[n]);if(Hh)for(var n of Hh(t))AI.call(t,n)&&x4(e,n,t[n]);return e},w4=(e,t)=>gX(e,vX(t)),bX=(e,t)=>{var n={};for(var r in e)DI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Hh)for(var r of Hh(e))t.indexOf(r)<0&&AI.call(e,r)&&(n[r]=e[r]);return n};function TI(e){var t=e,{styles:n,rightSection:r,rightSectionWidth:o,theme:s}=t,a=bX(t,["styles","rightSection","rightSectionWidth","theme"]);if(r)return{rightSection:r,rightSectionWidth:o,styles:n};const c=typeof n=="function"?n(s):n;return{rightSection:!a.readOnly&&!(a.disabled&&a.shouldClear)&&H.createElement(MI,Y0({},a)),styles:w4(Y0({},c),{rightSection:w4(Y0({},c==null?void 0:c.rightSection),{pointerEvents:a.shouldClear?void 0:"none"})})}}var yX=Object.defineProperty,xX=Object.defineProperties,wX=Object.getOwnPropertyDescriptors,S4=Object.getOwnPropertySymbols,SX=Object.prototype.hasOwnProperty,CX=Object.prototype.propertyIsEnumerable,C4=(e,t,n)=>t in e?yX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kX=(e,t)=>{for(var n in t||(t={}))SX.call(t,n)&&C4(e,n,t[n]);if(S4)for(var n of S4(t))CX.call(t,n)&&C4(e,n,t[n]);return e},_X=(e,t)=>xX(e,wX(t)),PX=so((e,{invalid:t},{size:n})=>({wrapper:{position:"relative","&:has(input:disabled)":{cursor:"not-allowed",pointerEvents:"none","& .mantine-MultiSelect-input":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[1],color:e.colors.dark[2],opacity:.6,"&::placeholder":{color:e.colors.dark[2]}},"& .mantine-MultiSelect-defaultValue":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[3],color:e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[7]}}},values:{minHeight:`calc(${Vt({size:n,sizes:Qo})} - ${Ue(2)})`,display:"flex",alignItems:"center",flexWrap:"wrap",marginLeft:`calc(-${e.spacing.xs} / 2)`,boxSizing:"border-box","&[data-clearable]":{marginRight:Vt({size:n,sizes:Qo})}},value:{margin:`calc(${e.spacing.xs} / 2 - ${Ue(2)}) calc(${e.spacing.xs} / 2)`},searchInput:_X(kX({},e.fn.fontStyles()),{flex:1,minWidth:Ue(60),backgroundColor:"transparent",border:0,outline:0,fontSize:Vt({size:n,sizes:e.fontSizes}),padding:0,marginLeft:`calc(${e.spacing.xs} / 2)`,appearance:"none",color:"inherit",maxHeight:Vt({size:n,sizes:PI}),"&::placeholder":{opacity:1,color:t?e.colors.red[e.fn.primaryShade()]:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]},"&:disabled":{cursor:"not-allowed",pointerEvents:"none"}}),searchInputEmpty:{width:"100%"},searchInputInputHidden:{flex:0,width:0,minWidth:0,margin:0,overflow:"hidden"},searchInputPointer:{cursor:"pointer","&:disabled":{cursor:"not-allowed",pointerEvents:"none"}},input:{cursor:"pointer","&:disabled":{cursor:"not-allowed",pointerEvents:"none"}}}));const jX=PX;var IX=Object.defineProperty,EX=Object.defineProperties,OX=Object.getOwnPropertyDescriptors,Wh=Object.getOwnPropertySymbols,NI=Object.prototype.hasOwnProperty,$I=Object.prototype.propertyIsEnumerable,k4=(e,t,n)=>t in e?IX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Vl=(e,t)=>{for(var n in t||(t={}))NI.call(t,n)&&k4(e,n,t[n]);if(Wh)for(var n of Wh(t))$I.call(t,n)&&k4(e,n,t[n]);return e},_4=(e,t)=>EX(e,OX(t)),RX=(e,t)=>{var n={};for(var r in e)NI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Wh)for(var r of Wh(e))t.indexOf(r)<0&&$I.call(e,r)&&(n[r]=e[r]);return n};function MX(e,t,n){return t?!1:n.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function DX(e,t){return!!e&&!t.some(n=>n.value.toLowerCase()===e.toLowerCase())}function P4(e,t){if(!Array.isArray(e))return;if(t.length===0)return[];const n=t.map(r=>typeof r=="object"?r.value:r);return e.filter(r=>n.includes(r))}const AX={size:"sm",valueComponent:EI,itemComponent:ay,transitionProps:{transition:"fade",duration:0},maxDropdownHeight:220,shadow:"sm",searchable:!1,filter:MX,limit:1/0,clearSearchOnChange:!0,clearable:!1,clearSearchOnBlur:!1,disabled:!1,initiallyOpened:!1,creatable:!1,shouldCreate:DX,switchDirectionOnFlip:!1,zIndex:ny("popover"),selectOnBlur:!1,positionDependencies:[],dropdownPosition:"flip"},LI=f.forwardRef((e,t)=>{const n=Cr("MultiSelect",AX,e),{className:r,style:o,required:s,label:a,description:c,size:d,error:p,classNames:h,styles:m,wrapperProps:v,value:b,defaultValue:w,data:y,onChange:S,valueComponent:k,itemComponent:_,id:P,transitionProps:I,maxDropdownHeight:E,shadow:O,nothingFound:R,onFocus:M,onBlur:D,searchable:A,placeholder:L,filter:Q,limit:F,clearSearchOnChange:V,clearable:q,clearSearchOnBlur:G,variant:T,onSearchChange:z,searchValue:$,disabled:Y,initiallyOpened:ae,radius:fe,icon:ie,rightSection:X,rightSectionWidth:K,creatable:U,getCreateLabel:se,shouldCreate:re,onCreate:oe,sx:pe,dropdownComponent:le,onDropdownClose:ge,onDropdownOpen:ke,maxSelectedValues:xe,withinPortal:de,portalProps:Te,switchDirectionOnFlip:Ee,zIndex:$e,selectOnBlur:kt,name:ct,dropdownPosition:on,errorProps:vt,labelProps:bt,descriptionProps:Se,form:Me,positionDependencies:Pt,onKeyDown:Tt,unstyled:we,inputContainer:ht,inputWrapperOrder:$t,readOnly:Lt,withAsterisk:Le,clearButtonProps:Ge,hoverOnSearchChange:Pn,disableSelectedItemFiltering:Pe}=n,Ye=RX(n,["className","style","required","label","description","size","error","classNames","styles","wrapperProps","value","defaultValue","data","onChange","valueComponent","itemComponent","id","transitionProps","maxDropdownHeight","shadow","nothingFound","onFocus","onBlur","searchable","placeholder","filter","limit","clearSearchOnChange","clearable","clearSearchOnBlur","variant","onSearchChange","searchValue","disabled","initiallyOpened","radius","icon","rightSection","rightSectionWidth","creatable","getCreateLabel","shouldCreate","onCreate","sx","dropdownComponent","onDropdownClose","onDropdownOpen","maxSelectedValues","withinPortal","portalProps","switchDirectionOnFlip","zIndex","selectOnBlur","name","dropdownPosition","errorProps","labelProps","descriptionProps","form","positionDependencies","onKeyDown","unstyled","inputContainer","inputWrapperOrder","readOnly","withAsterisk","clearButtonProps","hoverOnSearchChange","disableSelectedItemFiltering"]),{classes:Ke,cx:dt,theme:zt}=jX({invalid:!!p},{name:"MultiSelect",classNames:h,styles:m,unstyled:we,size:d,variant:T}),{systemStyles:lr,rest:pn}=$m(Ye),ln=f.useRef(),Hr=f.useRef({}),xr=oy(P),[Fn,Hn]=f.useState(ae),[Wn,Nr]=f.useState(-1),[Do,Wr]=f.useState("column"),[Vr,ds]=cd({value:$,defaultValue:"",finalValue:void 0,onChange:z}),[$r,$s]=f.useState(!1),{scrollIntoView:fs,targetRef:da,scrollableRef:Ls}=MP({duration:0,offset:5,cancelable:!1,isList:!0}),J=U&&typeof se=="function";let ee=null;const he=y.map(Be=>typeof Be=="string"?{label:Be,value:Be}:Be),_e=wP({data:he}),[me,ut]=cd({value:P4(b,y),defaultValue:P4(w,y),finalValue:[],onChange:S}),ot=f.useRef(!!xe&&xe{if(!Lt){const yt=me.filter(Mt=>Mt!==Be);ut(yt),xe&&yt.length{ds(Be.currentTarget.value),!Y&&!ot.current&&A&&Hn(!0)},xt=Be=>{typeof M=="function"&&M(Be),!Y&&!ot.current&&A&&Hn(!0)},He=rX({data:_e,searchable:A,searchValue:Vr,limit:F,filter:Q,value:me,disableSelectedItemFiltering:Pe});J&&re(Vr,_e)&&(ee=se(Vr),He.push({label:Vr,value:Vr,creatable:!0}));const Ce=Math.min(Wn,He.length-1),Xe=(Be,yt,Mt)=>{let Wt=Be;for(;Mt(Wt);)if(Wt=yt(Wt),!He[Wt].disabled)return Wt;return Be};ks(()=>{Nr(Pn&&Vr?0:-1)},[Vr,Pn]),ks(()=>{!Y&&me.length>y.length&&Hn(!1),xe&&me.length=xe&&(ot.current=!0,Hn(!1))},[me]);const jt=Be=>{if(!Lt)if(V&&ds(""),me.includes(Be.value))Ht(Be.value);else{if(Be.creatable&&typeof oe=="function"){const yt=oe(Be.value);typeof yt<"u"&&yt!==null&&ut(typeof yt=="string"?[...me,yt]:[...me,yt.value])}else ut([...me,Be.value]);me.length===xe-1&&(ot.current=!0,Hn(!1)),He.length===1&&Hn(!1)}},Et=Be=>{typeof D=="function"&&D(Be),kt&&He[Ce]&&Fn&&jt(He[Ce]),G&&ds(""),Hn(!1)},Nt=Be=>{if($r||(Tt==null||Tt(Be),Lt)||Be.key!=="Backspace"&&xe&&ot.current)return;const yt=Do==="column",Mt=()=>{Nr(jn=>{var Gt;const un=Xe(jn,sn=>sn+1,sn=>sn{Nr(jn=>{var Gt;const un=Xe(jn,sn=>sn-1,sn=>sn>0);return Fn&&(da.current=Hr.current[(Gt=He[un])==null?void 0:Gt.value],fs({alignment:yt?"start":"end"})),un})};switch(Be.key){case"ArrowUp":{Be.preventDefault(),Hn(!0),yt?Wt():Mt();break}case"ArrowDown":{Be.preventDefault(),Hn(!0),yt?Mt():Wt();break}case"Enter":{Be.preventDefault(),He[Ce]&&Fn?jt(He[Ce]):Hn(!0);break}case" ":{A||(Be.preventDefault(),He[Ce]&&Fn?jt(He[Ce]):Hn(!0));break}case"Backspace":{me.length>0&&Vr.length===0&&(ut(me.slice(0,-1)),Hn(!0),xe&&(ot.current=!1));break}case"Home":{if(!A){Be.preventDefault(),Fn||Hn(!0);const jn=He.findIndex(Gt=>!Gt.disabled);Nr(jn),fs({alignment:yt?"end":"start"})}break}case"End":{if(!A){Be.preventDefault(),Fn||Hn(!0);const jn=He.map(Gt=>!!Gt.disabled).lastIndexOf(!1);Nr(jn),fs({alignment:yt?"end":"start"})}break}case"Escape":Hn(!1)}},qt=me.map(Be=>{let yt=_e.find(Mt=>Mt.value===Be&&!Mt.disabled);return!yt&&J&&(yt={value:Be,label:Be}),yt}).filter(Be=>!!Be).map((Be,yt)=>H.createElement(k,_4(Vl({},Be),{variant:T,disabled:Y,className:Ke.value,readOnly:Lt,onRemove:Mt=>{Mt.preventDefault(),Mt.stopPropagation(),Ht(Be.value)},key:Be.value,size:d,styles:m,classNames:h,radius:fe,index:yt}))),tn=Be=>me.includes(Be),en=()=>{var Be;ds(""),ut([]),(Be=ln.current)==null||Be.focus(),xe&&(ot.current=!1)},Ut=!Lt&&(He.length>0?Fn:Fn&&!!R);return ks(()=>{const Be=Ut?ke:ge;typeof Be=="function"&&Be()},[Ut]),H.createElement(Ec.Wrapper,Vl(Vl({required:s,id:xr,label:a,error:p,description:c,size:d,className:r,style:o,classNames:h,styles:m,__staticSelector:"MultiSelect",sx:pe,errorProps:vt,descriptionProps:Se,labelProps:bt,inputContainer:ht,inputWrapperOrder:$t,unstyled:we,withAsterisk:Le,variant:T},lr),v),H.createElement(pi,{opened:Ut,transitionProps:I,shadow:"sm",withinPortal:de,portalProps:Te,__staticSelector:"MultiSelect",onDirectionChange:Wr,switchDirectionOnFlip:Ee,zIndex:$e,dropdownPosition:on,positionDependencies:[...Pt,Vr],classNames:h,styles:m,unstyled:we,variant:T},H.createElement(pi.Target,null,H.createElement("div",{className:Ke.wrapper,role:"combobox","aria-haspopup":"listbox","aria-owns":Fn&&Ut?`${xr}-items`:null,"aria-controls":xr,"aria-expanded":Fn,onMouseLeave:()=>Nr(-1),tabIndex:-1},H.createElement("input",{type:"hidden",name:ct,value:me.join(","),form:Me,disabled:Y}),H.createElement(Ec,Vl({__staticSelector:"MultiSelect",style:{overflow:"hidden"},component:"div",multiline:!0,size:d,variant:T,disabled:Y,error:p,required:s,radius:fe,icon:ie,unstyled:we,onMouseDown:Be=>{var yt;Be.preventDefault(),!Y&&!ot.current&&Hn(!Fn),(yt=ln.current)==null||yt.focus()},classNames:_4(Vl({},h),{input:dt({[Ke.input]:!A},h==null?void 0:h.input)})},TI({theme:zt,rightSection:X,rightSectionWidth:K,styles:m,size:d,shouldClear:q&&me.length>0,onClear:en,error:p,disabled:Y,clearButtonProps:Ge,readOnly:Lt})),H.createElement("div",{className:Ke.values,"data-clearable":q||void 0},qt,H.createElement("input",Vl({ref:Bd(t,ln),type:"search",id:xr,className:dt(Ke.searchInput,{[Ke.searchInputPointer]:!A,[Ke.searchInputInputHidden]:!Fn&&me.length>0||!A&&me.length>0,[Ke.searchInputEmpty]:me.length===0}),onKeyDown:Nt,value:Vr,onChange:ft,onFocus:xt,onBlur:Et,readOnly:!A||ot.current||Lt,placeholder:me.length===0?L:void 0,disabled:Y,"data-mantine-stop-propagation":Fn,autoComplete:"off",onCompositionStart:()=>$s(!0),onCompositionEnd:()=>$s(!1)},pn)))))),H.createElement(pi.Dropdown,{component:le||Fm,maxHeight:E,direction:Do,id:xr,innerRef:Ls,__staticSelector:"MultiSelect",classNames:h,styles:m},H.createElement(sy,{data:He,hovered:Ce,classNames:h,styles:m,uuid:xr,__staticSelector:"MultiSelect",onItemHover:Nr,onItemSelect:jt,itemsRefs:Hr,itemComponent:_,size:d,nothingFound:R,isItemSelected:tn,creatable:U&&!!ee,createLabel:ee,unstyled:we,variant:T}))))});LI.displayName="@mantine/core/MultiSelect";var TX=Object.defineProperty,NX=Object.defineProperties,$X=Object.getOwnPropertyDescriptors,Vh=Object.getOwnPropertySymbols,zI=Object.prototype.hasOwnProperty,BI=Object.prototype.propertyIsEnumerable,j4=(e,t,n)=>t in e?TX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Q0=(e,t)=>{for(var n in t||(t={}))zI.call(t,n)&&j4(e,n,t[n]);if(Vh)for(var n of Vh(t))BI.call(t,n)&&j4(e,n,t[n]);return e},LX=(e,t)=>NX(e,$X(t)),zX=(e,t)=>{var n={};for(var r in e)zI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Vh)for(var r of Vh(e))t.indexOf(r)<0&&BI.call(e,r)&&(n[r]=e[r]);return n};const BX={type:"text",size:"sm",__staticSelector:"TextInput"},FI=f.forwardRef((e,t)=>{const n=iI("TextInput",BX,e),{inputProps:r,wrapperProps:o}=n,s=zX(n,["inputProps","wrapperProps"]);return H.createElement(Ec.Wrapper,Q0({},o),H.createElement(Ec,LX(Q0(Q0({},r),s),{ref:t})))});FI.displayName="@mantine/core/TextInput";function FX({data:e,searchable:t,limit:n,searchValue:r,filter:o,value:s,filterDataOnExactSearchMatch:a}){if(!t)return e;const c=s!=null&&e.find(p=>p.value===s)||null;if(c&&!a&&(c==null?void 0:c.label)===r){if(n){if(n>=e.length)return e;const p=e.indexOf(c),h=p+n,m=h-e.length;return m>0?e.slice(p-m):e.slice(p,h)}return e}const d=[];for(let p=0;p=n));p+=1);return d}var HX=so(()=>({input:{"&:not(:disabled)":{cursor:"pointer","&::selection":{backgroundColor:"transparent"}}}}));const WX=HX;var VX=Object.defineProperty,UX=Object.defineProperties,GX=Object.getOwnPropertyDescriptors,Uh=Object.getOwnPropertySymbols,HI=Object.prototype.hasOwnProperty,WI=Object.prototype.propertyIsEnumerable,I4=(e,t,n)=>t in e?VX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,yu=(e,t)=>{for(var n in t||(t={}))HI.call(t,n)&&I4(e,n,t[n]);if(Uh)for(var n of Uh(t))WI.call(t,n)&&I4(e,n,t[n]);return e},J0=(e,t)=>UX(e,GX(t)),qX=(e,t)=>{var n={};for(var r in e)HI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Uh)for(var r of Uh(e))t.indexOf(r)<0&&WI.call(e,r)&&(n[r]=e[r]);return n};function KX(e,t){return t.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function XX(e,t){return!!e&&!t.some(n=>n.label.toLowerCase()===e.toLowerCase())}const YX={required:!1,size:"sm",shadow:"sm",itemComponent:ay,transitionProps:{transition:"fade",duration:0},initiallyOpened:!1,filter:KX,maxDropdownHeight:220,searchable:!1,clearable:!1,limit:1/0,disabled:!1,creatable:!1,shouldCreate:XX,selectOnBlur:!1,switchDirectionOnFlip:!1,filterDataOnExactSearchMatch:!1,zIndex:ny("popover"),positionDependencies:[],dropdownPosition:"flip"},gy=f.forwardRef((e,t)=>{const n=iI("Select",YX,e),{inputProps:r,wrapperProps:o,shadow:s,data:a,value:c,defaultValue:d,onChange:p,itemComponent:h,onKeyDown:m,onBlur:v,onFocus:b,transitionProps:w,initiallyOpened:y,unstyled:S,classNames:k,styles:_,filter:P,maxDropdownHeight:I,searchable:E,clearable:O,nothingFound:R,limit:M,disabled:D,onSearchChange:A,searchValue:L,rightSection:Q,rightSectionWidth:F,creatable:V,getCreateLabel:q,shouldCreate:G,selectOnBlur:T,onCreate:z,dropdownComponent:$,onDropdownClose:Y,onDropdownOpen:ae,withinPortal:fe,portalProps:ie,switchDirectionOnFlip:X,zIndex:K,name:U,dropdownPosition:se,allowDeselect:re,placeholder:oe,filterDataOnExactSearchMatch:pe,form:le,positionDependencies:ge,readOnly:ke,clearButtonProps:xe,hoverOnSearchChange:de}=n,Te=qX(n,["inputProps","wrapperProps","shadow","data","value","defaultValue","onChange","itemComponent","onKeyDown","onBlur","onFocus","transitionProps","initiallyOpened","unstyled","classNames","styles","filter","maxDropdownHeight","searchable","clearable","nothingFound","limit","disabled","onSearchChange","searchValue","rightSection","rightSectionWidth","creatable","getCreateLabel","shouldCreate","selectOnBlur","onCreate","dropdownComponent","onDropdownClose","onDropdownOpen","withinPortal","portalProps","switchDirectionOnFlip","zIndex","name","dropdownPosition","allowDeselect","placeholder","filterDataOnExactSearchMatch","form","positionDependencies","readOnly","clearButtonProps","hoverOnSearchChange"]),{classes:Ee,cx:$e,theme:kt}=WX(),[ct,on]=f.useState(y),[vt,bt]=f.useState(-1),Se=f.useRef(),Me=f.useRef({}),[Pt,Tt]=f.useState("column"),we=Pt==="column",{scrollIntoView:ht,targetRef:$t,scrollableRef:Lt}=MP({duration:0,offset:5,cancelable:!1,isList:!0}),Le=re===void 0?O:re,Ge=ee=>{if(ct!==ee){on(ee);const he=ee?ae:Y;typeof he=="function"&&he()}},Pn=V&&typeof q=="function";let Pe=null;const Ye=a.map(ee=>typeof ee=="string"?{label:ee,value:ee}:ee),Ke=wP({data:Ye}),[dt,zt,lr]=cd({value:c,defaultValue:d,finalValue:null,onChange:p}),pn=Ke.find(ee=>ee.value===dt),[ln,Hr]=cd({value:L,defaultValue:(pn==null?void 0:pn.label)||"",finalValue:void 0,onChange:A}),xr=ee=>{Hr(ee),E&&typeof A=="function"&&A(ee)},Fn=()=>{var ee;ke||(zt(null),lr||xr(""),(ee=Se.current)==null||ee.focus())};f.useEffect(()=>{const ee=Ke.find(he=>he.value===dt);ee?xr(ee.label):(!Pn||!dt)&&xr("")},[dt]),f.useEffect(()=>{pn&&(!E||!ct)&&xr(pn.label)},[pn==null?void 0:pn.label]);const Hn=ee=>{if(!ke)if(Le&&(pn==null?void 0:pn.value)===ee.value)zt(null),Ge(!1);else{if(ee.creatable&&typeof z=="function"){const he=z(ee.value);typeof he<"u"&&he!==null&&zt(typeof he=="string"?he:he.value)}else zt(ee.value);lr||xr(ee.label),bt(-1),Ge(!1),Se.current.focus()}},Wn=FX({data:Ke,searchable:E,limit:M,searchValue:ln,filter:P,filterDataOnExactSearchMatch:pe,value:dt});Pn&&G(ln,Wn)&&(Pe=q(ln),Wn.push({label:ln,value:ln,creatable:!0}));const Nr=(ee,he,_e)=>{let me=ee;for(;_e(me);)if(me=he(me),!Wn[me].disabled)return me;return ee};ks(()=>{bt(de&&ln?0:-1)},[ln,de]);const Do=dt?Wn.findIndex(ee=>ee.value===dt):0,Wr=!ke&&(Wn.length>0?ct:ct&&!!R),Vr=()=>{bt(ee=>{var he;const _e=Nr(ee,me=>me-1,me=>me>0);return $t.current=Me.current[(he=Wn[_e])==null?void 0:he.value],Wr&&ht({alignment:we?"start":"end"}),_e})},ds=()=>{bt(ee=>{var he;const _e=Nr(ee,me=>me+1,me=>mewindow.setTimeout(()=>{var ee;$t.current=Me.current[(ee=Wn[Do])==null?void 0:ee.value],ht({alignment:we?"end":"start"})},50);ks(()=>{Wr&&$r()},[Wr]);const $s=ee=>{switch(typeof m=="function"&&m(ee),ee.key){case"ArrowUp":{ee.preventDefault(),ct?we?Vr():ds():(bt(Do),Ge(!0),$r());break}case"ArrowDown":{ee.preventDefault(),ct?we?ds():Vr():(bt(Do),Ge(!0),$r());break}case"Home":{if(!E){ee.preventDefault(),ct||Ge(!0);const he=Wn.findIndex(_e=>!_e.disabled);bt(he),Wr&&ht({alignment:we?"end":"start"})}break}case"End":{if(!E){ee.preventDefault(),ct||Ge(!0);const he=Wn.map(_e=>!!_e.disabled).lastIndexOf(!1);bt(he),Wr&&ht({alignment:we?"end":"start"})}break}case"Escape":{ee.preventDefault(),Ge(!1),bt(-1);break}case" ":{E||(ee.preventDefault(),Wn[vt]&&ct?Hn(Wn[vt]):(Ge(!0),bt(Do),$r()));break}case"Enter":E||ee.preventDefault(),Wn[vt]&&ct&&(ee.preventDefault(),Hn(Wn[vt]))}},fs=ee=>{typeof v=="function"&&v(ee);const he=Ke.find(_e=>_e.value===dt);T&&Wn[vt]&&ct&&Hn(Wn[vt]),xr((he==null?void 0:he.label)||""),Ge(!1)},da=ee=>{typeof b=="function"&&b(ee),E&&Ge(!0)},Ls=ee=>{ke||(xr(ee.currentTarget.value),O&&ee.currentTarget.value===""&&zt(null),bt(-1),Ge(!0))},J=()=>{ke||(Ge(!ct),dt&&!ct&&bt(Do))};return H.createElement(Ec.Wrapper,J0(yu({},o),{__staticSelector:"Select"}),H.createElement(pi,{opened:Wr,transitionProps:w,shadow:s,withinPortal:fe,portalProps:ie,__staticSelector:"Select",onDirectionChange:Tt,switchDirectionOnFlip:X,zIndex:K,dropdownPosition:se,positionDependencies:[...ge,ln],classNames:k,styles:_,unstyled:S,variant:r.variant},H.createElement(pi.Target,null,H.createElement("div",{role:"combobox","aria-haspopup":"listbox","aria-owns":Wr?`${r.id}-items`:null,"aria-controls":r.id,"aria-expanded":Wr,onMouseLeave:()=>bt(-1),tabIndex:-1},H.createElement("input",{type:"hidden",name:U,value:dt||"",form:le,disabled:D}),H.createElement(Ec,yu(J0(yu(yu({autoComplete:"off",type:"search"},r),Te),{ref:Bd(t,Se),onKeyDown:$s,__staticSelector:"Select",value:ln,placeholder:oe,onChange:Ls,"aria-autocomplete":"list","aria-controls":Wr?`${r.id}-items`:null,"aria-activedescendant":vt>=0?`${r.id}-${vt}`:null,onMouseDown:J,onBlur:fs,onFocus:da,readOnly:!E||ke,disabled:D,"data-mantine-stop-propagation":Wr,name:null,classNames:J0(yu({},k),{input:$e({[Ee.input]:!E},k==null?void 0:k.input)})}),TI({theme:kt,rightSection:Q,rightSectionWidth:F,styles:_,size:r.size,shouldClear:O&&!!pn,onClear:Fn,error:o.error,clearButtonProps:xe,disabled:D,readOnly:ke}))))),H.createElement(pi.Dropdown,{component:$||Fm,maxHeight:I,direction:Pt,id:r.id,innerRef:Lt,__staticSelector:"Select",classNames:k,styles:_},H.createElement(sy,{data:Wn,hovered:vt,classNames:k,styles:_,isItemSelected:ee=>ee===dt,uuid:r.id,__staticSelector:"Select",onItemHover:bt,onItemSelect:Hn,itemsRefs:Me,itemComponent:h,size:r.size,nothingFound:R,creatable:Pn&&!!Pe,createLabel:Pe,"aria-label":o.label,unstyled:S,variant:r.variant}))))});gy.displayName="@mantine/core/Select";const vy=()=>{const[e,t,n,r,o,s,a,c,d,p,h,m,v,b,w,y,S,k,_,P,I,E,O,R,M,D,A,L,Q,F,V,q,G,T,z,$,Y,ae]=$c("colors",["base.50","base.100","base.150","base.200","base.250","base.300","base.350","base.400","base.450","base.500","base.550","base.600","base.650","base.700","base.750","base.800","base.850","base.900","base.950","accent.50","accent.100","accent.150","accent.200","accent.250","accent.300","accent.350","accent.400","accent.450","accent.500","accent.550","accent.600","accent.650","accent.700","accent.750","accent.800","accent.850","accent.900","accent.950"]);return{base50:e,base100:t,base150:n,base200:r,base250:o,base300:s,base350:a,base400:c,base450:d,base500:p,base550:h,base600:m,base650:v,base700:b,base750:w,base800:y,base850:S,base900:k,base950:_,accent50:P,accent100:I,accent150:E,accent200:O,accent250:R,accent300:M,accent350:D,accent400:A,accent450:L,accent500:Q,accent550:F,accent600:V,accent650:q,accent700:G,accent750:T,accent800:z,accent850:$,accent900:Y,accent950:ae}},Fe=(e,t)=>n=>n==="light"?e:t,VI=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:a,base700:c,base800:d,base900:p,accent200:h,accent300:m,accent400:v,accent500:b,accent600:w}=vy(),{colorMode:y}=Ds(),[S]=$c("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:Fe(c,r)(y)},separatorLabel:{color:Fe(s,s)(y),"::after":{borderTopColor:Fe(r,c)(y)}},input:{backgroundColor:Fe(e,p)(y),borderWidth:"2px",borderColor:Fe(n,d)(y),color:Fe(p,t)(y),paddingRight:24,fontWeight:600,"&:hover":{borderColor:Fe(r,a)(y)},"&:focus":{borderColor:Fe(m,w)(y)},"&:is(:focus, :hover)":{borderColor:Fe(o,s)(y)},"&:focus-within":{borderColor:Fe(h,w)(y)},"&[data-disabled]":{backgroundColor:Fe(r,c)(y),color:Fe(a,o)(y),cursor:"not-allowed"}},value:{backgroundColor:Fe(t,p)(y),color:Fe(p,t)(y),button:{color:Fe(p,t)(y)},"&:hover":{backgroundColor:Fe(r,c)(y),cursor:"pointer"}},dropdown:{backgroundColor:Fe(n,d)(y),borderColor:Fe(n,d)(y),boxShadow:S},item:{backgroundColor:Fe(n,d)(y),color:Fe(d,n)(y),padding:6,"&[data-hovered]":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)},"&[data-active]":{backgroundColor:Fe(r,c)(y),"&:hover":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)}},"&[data-selected]":{backgroundColor:Fe(v,w)(y),color:Fe(e,t)(y),fontWeight:600,"&:hover":{backgroundColor:Fe(b,b)(y),color:Fe("white",e)(y)}},"&[data-disabled]":{color:Fe(s,a)(y),cursor:"not-allowed"}},rightSection:{width:32,button:{color:Fe(p,t)(y)}}}),[h,m,v,b,w,t,n,r,o,e,s,a,c,d,p,S,y])},QX=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,onChange:o,label:s,disabled:a,...c}=e,d=te(),[p,h]=f.useState(""),m=f.useCallback(y=>{y.shiftKey&&d(jo(!0))},[d]),v=f.useCallback(y=>{y.shiftKey||d(jo(!1))},[d]),b=f.useCallback(y=>{o&&o(y)},[o]),w=VI();return i.jsx(vn,{label:n,placement:"top",hasArrow:!0,children:i.jsx(gy,{ref:r,label:s?i.jsx(go,{isDisabled:a,children:i.jsx(Bo,{children:s})}):void 0,disabled:a,searchValue:p,onSearchChange:h,onChange:b,onKeyDown:m,onKeyUp:v,searchable:t,maxDropdownHeight:300,styles:w,...c})})},ar=f.memo(QX),JX=be([lt],({changeBoardModal:e})=>{const{isModalOpen:t,imagesToChange:n}=e;return{isModalOpen:t,imagesToChange:n}},Je),ZX=()=>{const e=te(),[t,n]=f.useState(),{data:r,isFetching:o}=um(),{imagesToChange:s,isModalOpen:a}=B(JX),[c]=KR(),[d]=XR(),p=f.useMemo(()=>{const b=[{label:"Uncategorized",value:"none"}];return(r??[]).forEach(w=>b.push({label:w.board_name,value:w.board_id})),b},[r]),h=f.useCallback(()=>{e(K2()),e(Q1(!1))},[e]),m=f.useCallback(()=>{!s.length||!t||(t==="none"?d({imageDTOs:s}):c({imageDTOs:s,board_id:t}),n(null),e(K2()))},[c,e,s,d,t]),v=f.useRef(null);return i.jsx(Ad,{isOpen:a,onClose:h,leastDestructiveRef:v,isCentered:!0,children:i.jsx(Aa,{children:i.jsxs(Td,{children:[i.jsx(Da,{fontSize:"lg",fontWeight:"bold",children:"Change Board"}),i.jsx(Ta,{children:i.jsxs(W,{sx:{flexDir:"column",gap:4},children:[i.jsxs(Qe,{children:["Moving ",`${s.length}`," image",`${s.length>1?"s":""}`," to board:"]}),i.jsx(ar,{placeholder:o?"Loading...":"Select Board",disabled:o,onChange:b=>n(b),value:t,data:p})]})}),i.jsxs(Ma,{children:[i.jsx(Yt,{ref:v,onClick:h,children:"Cancel"}),i.jsx(Yt,{colorScheme:"accent",onClick:m,ml:3,children:"Move"})]})]})})})},eY=f.memo(ZX),tY=e=>{const{label:t,isDisabled:n=!1,width:r="auto",formControlProps:o,formLabelProps:s,tooltip:a,...c}=e;return i.jsx(vn,{label:a,hasArrow:!0,placement:"top",isDisabled:!a,children:i.jsxs(go,{isDisabled:n,width:r,display:"flex",alignItems:"center",...o,children:[t&&i.jsx(Bo,{my:1,flexGrow:1,sx:{cursor:n?"not-allowed":"pointer",...s==null?void 0:s.sx,pe:4},...s,children:t}),i.jsx(Jb,{...c})]})})},yr=f.memo(tY),nY=e=>{const{imageUsage:t,topMessage:n="This image is currently in use in the following features:",bottomMessage:r="If you delete this image, those features will immediately be reset."}=e;return!t||!wa(t)?null:i.jsxs(i.Fragment,{children:[i.jsx(Qe,{children:n}),i.jsxs(Db,{sx:{paddingInlineStart:6},children:[t.isInitialImage&&i.jsx(Sa,{children:"Image to Image"}),t.isCanvasImage&&i.jsx(Sa,{children:"Unified Canvas"}),t.isControlNetImage&&i.jsx(Sa,{children:"ControlNet"}),t.isNodesImage&&i.jsx(Sa,{children:"Node Editor"})]}),i.jsx(Qe,{children:r})]})},UI=f.memo(nY),rY=be([lt,YR],(e,t)=>{const{system:n,config:r,deleteImageModal:o}=e,{shouldConfirmOnDelete:s}=n,{canRestoreDeletedImagesFromBin:a}=r,{imagesToDelete:c,isModalOpen:d}=o,p=(c??[]).map(({image_name:m})=>L_(e,m)),h={isInitialImage:wa(p,m=>m.isInitialImage),isCanvasImage:wa(p,m=>m.isCanvasImage),isNodesImage:wa(p,m=>m.isNodesImage),isControlNetImage:wa(p,m=>m.isControlNetImage)};return{shouldConfirmOnDelete:s,canRestoreDeletedImagesFromBin:a,imagesToDelete:c,imagesUsage:t,isModalOpen:d,imageUsageSummary:h}},Je),oY=()=>{const e=te(),{t}=ye(),{shouldConfirmOnDelete:n,canRestoreDeletedImagesFromBin:r,imagesToDelete:o,imagesUsage:s,isModalOpen:a,imageUsageSummary:c}=B(rY),d=f.useCallback(v=>e(z_(!v.target.checked)),[e]),p=f.useCallback(()=>{e(X2()),e(QR(!1))},[e]),h=f.useCallback(()=>{!o.length||!s.length||(e(X2()),e(JR({imageDTOs:o,imagesUsage:s})))},[e,o,s]),m=f.useRef(null);return i.jsx(Ad,{isOpen:a,onClose:p,leastDestructiveRef:m,isCentered:!0,children:i.jsx(Aa,{children:i.jsxs(Td,{children:[i.jsx(Da,{fontSize:"lg",fontWeight:"bold",children:t("gallery.deleteImage")}),i.jsx(Ta,{children:i.jsxs(W,{direction:"column",gap:3,children:[i.jsx(UI,{imageUsage:c}),i.jsx(_i,{}),i.jsx(Qe,{children:t(r?"gallery.deleteImageBin":"gallery.deleteImagePermanent")}),i.jsx(Qe,{children:t("common.areYouSure")}),i.jsx(yr,{label:t("common.dontAskMeAgain"),isChecked:!n,onChange:d})]})}),i.jsxs(Ma,{children:[i.jsx(Yt,{ref:m,onClick:p,children:"Cancel"}),i.jsx(Yt,{colorScheme:"error",onClick:h,ml:3,children:"Delete"})]})]})})})},sY=f.memo(oY),mn=e=>e.canvas,ir=be([mn,Kn,vo],(e,t,n)=>e.layerState.stagingArea.images.length>0||t==="unifiedCanvas"&&n.isProcessing),aY=e=>e.canvas.layerState.objects.find(B_),iY=d9(e=>{e(F_(!0))},300),ko=()=>(e,t)=>{Kn(t())==="unifiedCanvas"&&iY(e)};var lY=globalThis&&globalThis.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,o){r.__proto__=o}||function(r,o){for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(r[s]=o[s])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),Pr=globalThis&&globalThis.__assign||function(){return Pr=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"u"?void 0:Number(r),maxHeight:typeof o>"u"?void 0:Number(o),minWidth:typeof s>"u"?void 0:Number(s),minHeight:typeof a>"u"?void 0:Number(a)}},mY=["as","style","className","grid","snap","bounds","boundsByDirection","size","defaultSize","minWidth","minHeight","maxWidth","maxHeight","lockAspectRatio","lockAspectRatioExtraWidth","lockAspectRatioExtraHeight","enable","handleStyles","handleClasses","handleWrapperStyle","handleWrapperClass","children","onResizeStart","onResize","onResizeStop","handleComponent","scale","resizeRatio","snapGap"],D4="__resizable_base__",gY=function(e){dY(t,e);function t(n){var r=e.call(this,n)||this;return r.ratio=1,r.resizable=null,r.parentLeft=0,r.parentTop=0,r.resizableLeft=0,r.resizableRight=0,r.resizableTop=0,r.resizableBottom=0,r.targetLeft=0,r.targetTop=0,r.appendBase=function(){if(!r.resizable||!r.window)return null;var o=r.parentNode;if(!o)return null;var s=r.window.document.createElement("div");return s.style.width="100%",s.style.height="100%",s.style.position="absolute",s.style.transform="scale(0, 0)",s.style.left="0",s.style.flex="0 0 100%",s.classList?s.classList.add(D4):s.className+=D4,o.appendChild(s),s},r.removeBase=function(o){var s=r.parentNode;s&&s.removeChild(o)},r.ref=function(o){o&&(r.resizable=o)},r.state={isResizing:!1,width:typeof(r.propsSize&&r.propsSize.width)>"u"?"auto":r.propsSize&&r.propsSize.width,height:typeof(r.propsSize&&r.propsSize.height)>"u"?"auto":r.propsSize&&r.propsSize.height,direction:"right",original:{x:0,y:0,width:0,height:0},backgroundStyle:{height:"100%",width:"100%",backgroundColor:"rgba(0,0,0,0)",cursor:"auto",opacity:0,position:"fixed",zIndex:9999,top:"0",left:"0",bottom:"0",right:"0"},flexBasis:void 0},r.onResizeStart=r.onResizeStart.bind(r),r.onMouseMove=r.onMouseMove.bind(r),r.onMouseUp=r.onMouseUp.bind(r),r}return Object.defineProperty(t.prototype,"parentNode",{get:function(){return this.resizable?this.resizable.parentNode:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"window",{get:function(){return!this.resizable||!this.resizable.ownerDocument?null:this.resizable.ownerDocument.defaultView},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"propsSize",{get:function(){return this.props.size||this.props.defaultSize||fY},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){var n=0,r=0;if(this.resizable&&this.window){var o=this.resizable.offsetWidth,s=this.resizable.offsetHeight,a=this.resizable.style.position;a!=="relative"&&(this.resizable.style.position="relative"),n=this.resizable.style.width!=="auto"?this.resizable.offsetWidth:o,r=this.resizable.style.height!=="auto"?this.resizable.offsetHeight:s,this.resizable.style.position=a}return{width:n,height:r}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"sizeStyle",{get:function(){var n=this,r=this.props.size,o=function(c){if(typeof n.state[c]>"u"||n.state[c]==="auto")return"auto";if(n.propsSize&&n.propsSize[c]&&n.propsSize[c].toString().endsWith("%")){if(n.state[c].toString().endsWith("%"))return n.state[c].toString();var d=n.getParentSize(),p=Number(n.state[c].toString().replace("px","")),h=p/d[c]*100;return h+"%"}return Z0(n.state[c])},s=r&&typeof r.width<"u"&&!this.state.isResizing?Z0(r.width):o("width"),a=r&&typeof r.height<"u"&&!this.state.isResizing?Z0(r.height):o("height");return{width:s,height:a}},enumerable:!1,configurable:!0}),t.prototype.getParentSize=function(){if(!this.parentNode)return this.window?{width:this.window.innerWidth,height:this.window.innerHeight}:{width:0,height:0};var n=this.appendBase();if(!n)return{width:0,height:0};var r=!1,o=this.parentNode.style.flexWrap;o!=="wrap"&&(r=!0,this.parentNode.style.flexWrap="wrap"),n.style.position="relative",n.style.minWidth="100%",n.style.minHeight="100%";var s={width:n.offsetWidth,height:n.offsetHeight};return r&&(this.parentNode.style.flexWrap=o),this.removeBase(n),s},t.prototype.bindEvents=function(){this.window&&(this.window.addEventListener("mouseup",this.onMouseUp),this.window.addEventListener("mousemove",this.onMouseMove),this.window.addEventListener("mouseleave",this.onMouseUp),this.window.addEventListener("touchmove",this.onMouseMove,{capture:!0,passive:!1}),this.window.addEventListener("touchend",this.onMouseUp))},t.prototype.unbindEvents=function(){this.window&&(this.window.removeEventListener("mouseup",this.onMouseUp),this.window.removeEventListener("mousemove",this.onMouseMove),this.window.removeEventListener("mouseleave",this.onMouseUp),this.window.removeEventListener("touchmove",this.onMouseMove,!0),this.window.removeEventListener("touchend",this.onMouseUp))},t.prototype.componentDidMount=function(){if(!(!this.resizable||!this.window)){var n=this.window.getComputedStyle(this.resizable);this.setState({width:this.state.width||this.size.width,height:this.state.height||this.size.height,flexBasis:n.flexBasis!=="auto"?n.flexBasis:void 0})}},t.prototype.componentWillUnmount=function(){this.window&&this.unbindEvents()},t.prototype.createSizeForCssProperty=function(n,r){var o=this.propsSize&&this.propsSize[r];return this.state[r]==="auto"&&this.state.original[r]===n&&(typeof o>"u"||o==="auto")?"auto":n},t.prototype.calculateNewMaxFromBoundary=function(n,r){var o=this.props.boundsByDirection,s=this.state.direction,a=o&&Ul("left",s),c=o&&Ul("top",s),d,p;if(this.props.bounds==="parent"){var h=this.parentNode;h&&(d=a?this.resizableRight-this.parentLeft:h.offsetWidth+(this.parentLeft-this.resizableLeft),p=c?this.resizableBottom-this.parentTop:h.offsetHeight+(this.parentTop-this.resizableTop))}else this.props.bounds==="window"?this.window&&(d=a?this.resizableRight:this.window.innerWidth-this.resizableLeft,p=c?this.resizableBottom:this.window.innerHeight-this.resizableTop):this.props.bounds&&(d=a?this.resizableRight-this.targetLeft:this.props.bounds.offsetWidth+(this.targetLeft-this.resizableLeft),p=c?this.resizableBottom-this.targetTop:this.props.bounds.offsetHeight+(this.targetTop-this.resizableTop));return d&&Number.isFinite(d)&&(n=n&&n"u"?10:s.width,m=typeof o.width>"u"||o.width<0?n:o.width,v=typeof s.height>"u"?10:s.height,b=typeof o.height>"u"||o.height<0?r:o.height,w=d||0,y=p||0;if(c){var S=(v-w)*this.ratio+y,k=(b-w)*this.ratio+y,_=(h-y)/this.ratio+w,P=(m-y)/this.ratio+w,I=Math.max(h,S),E=Math.min(m,k),O=Math.max(v,_),R=Math.min(b,P);n=cp(n,I,E),r=cp(r,O,R)}else n=cp(n,h,m),r=cp(r,v,b);return{newWidth:n,newHeight:r}},t.prototype.setBoundingClientRect=function(){if(this.props.bounds==="parent"){var n=this.parentNode;if(n){var r=n.getBoundingClientRect();this.parentLeft=r.left,this.parentTop=r.top}}if(this.props.bounds&&typeof this.props.bounds!="string"){var o=this.props.bounds.getBoundingClientRect();this.targetLeft=o.left,this.targetTop=o.top}if(this.resizable){var s=this.resizable.getBoundingClientRect(),a=s.left,c=s.top,d=s.right,p=s.bottom;this.resizableLeft=a,this.resizableRight=d,this.resizableTop=c,this.resizableBottom=p}},t.prototype.onResizeStart=function(n,r){if(!(!this.resizable||!this.window)){var o=0,s=0;if(n.nativeEvent&&pY(n.nativeEvent)?(o=n.nativeEvent.clientX,s=n.nativeEvent.clientY):n.nativeEvent&&up(n.nativeEvent)&&(o=n.nativeEvent.touches[0].clientX,s=n.nativeEvent.touches[0].clientY),this.props.onResizeStart&&this.resizable){var a=this.props.onResizeStart(n,r,this.resizable);if(a===!1)return}this.props.size&&(typeof this.props.size.height<"u"&&this.props.size.height!==this.state.height&&this.setState({height:this.props.size.height}),typeof this.props.size.width<"u"&&this.props.size.width!==this.state.width&&this.setState({width:this.props.size.width})),this.ratio=typeof this.props.lockAspectRatio=="number"?this.props.lockAspectRatio:this.size.width/this.size.height;var c,d=this.window.getComputedStyle(this.resizable);if(d.flexBasis!=="auto"){var p=this.parentNode;if(p){var h=this.window.getComputedStyle(p).flexDirection;this.flexDir=h.startsWith("row")?"row":"column",c=d.flexBasis}}this.setBoundingClientRect(),this.bindEvents();var m={original:{x:o,y:s,width:this.size.width,height:this.size.height},isResizing:!0,backgroundStyle:qs(qs({},this.state.backgroundStyle),{cursor:this.window.getComputedStyle(n.target).cursor||"auto"}),direction:r,flexBasis:c};this.setState(m)}},t.prototype.onMouseMove=function(n){var r=this;if(!(!this.state.isResizing||!this.resizable||!this.window)){if(this.window.TouchEvent&&up(n))try{n.preventDefault(),n.stopPropagation()}catch{}var o=this.props,s=o.maxWidth,a=o.maxHeight,c=o.minWidth,d=o.minHeight,p=up(n)?n.touches[0].clientX:n.clientX,h=up(n)?n.touches[0].clientY:n.clientY,m=this.state,v=m.direction,b=m.original,w=m.width,y=m.height,S=this.getParentSize(),k=hY(S,this.window.innerWidth,this.window.innerHeight,s,a,c,d);s=k.maxWidth,a=k.maxHeight,c=k.minWidth,d=k.minHeight;var _=this.calculateNewSizeFromDirection(p,h),P=_.newHeight,I=_.newWidth,E=this.calculateNewMaxFromBoundary(s,a);this.props.snap&&this.props.snap.x&&(I=M4(I,this.props.snap.x,this.props.snapGap)),this.props.snap&&this.props.snap.y&&(P=M4(P,this.props.snap.y,this.props.snapGap));var O=this.calculateNewSizeFromAspectRatio(I,P,{width:E.maxWidth,height:E.maxHeight},{width:c,height:d});if(I=O.newWidth,P=O.newHeight,this.props.grid){var R=R4(I,this.props.grid[0]),M=R4(P,this.props.grid[1]),D=this.props.snapGap||0;I=D===0||Math.abs(R-I)<=D?R:I,P=D===0||Math.abs(M-P)<=D?M:P}var A={width:I-b.width,height:P-b.height};if(w&&typeof w=="string"){if(w.endsWith("%")){var L=I/S.width*100;I=L+"%"}else if(w.endsWith("vw")){var Q=I/this.window.innerWidth*100;I=Q+"vw"}else if(w.endsWith("vh")){var F=I/this.window.innerHeight*100;I=F+"vh"}}if(y&&typeof y=="string"){if(y.endsWith("%")){var L=P/S.height*100;P=L+"%"}else if(y.endsWith("vw")){var Q=P/this.window.innerWidth*100;P=Q+"vw"}else if(y.endsWith("vh")){var F=P/this.window.innerHeight*100;P=F+"vh"}}var V={width:this.createSizeForCssProperty(I,"width"),height:this.createSizeForCssProperty(P,"height")};this.flexDir==="row"?V.flexBasis=V.width:this.flexDir==="column"&&(V.flexBasis=V.height),ki.flushSync(function(){r.setState(V)}),this.props.onResize&&this.props.onResize(n,v,this.resizable,A)}},t.prototype.onMouseUp=function(n){var r=this.state,o=r.isResizing,s=r.direction,a=r.original;if(!(!o||!this.resizable)){var c={width:this.size.width-a.width,height:this.size.height-a.height};this.props.onResizeStop&&this.props.onResizeStop(n,s,this.resizable,c),this.props.size&&this.setState(this.props.size),this.unbindEvents(),this.setState({isResizing:!1,backgroundStyle:qs(qs({},this.state.backgroundStyle),{cursor:"auto"})})}},t.prototype.updateSize=function(n){this.setState({width:n.width,height:n.height})},t.prototype.renderResizer=function(){var n=this,r=this.props,o=r.enable,s=r.handleStyles,a=r.handleClasses,c=r.handleWrapperStyle,d=r.handleWrapperClass,p=r.handleComponent;if(!o)return null;var h=Object.keys(o).map(function(m){return o[m]!==!1?f.createElement(uY,{key:m,direction:m,onResizeStart:n.onResizeStart,replaceStyles:s&&s[m],className:a&&a[m]},p&&p[m]?p[m]:null):null});return f.createElement("div",{className:d,style:c},h)},t.prototype.render=function(){var n=this,r=Object.keys(this.props).reduce(function(a,c){return mY.indexOf(c)!==-1||(a[c]=n.props[c]),a},{}),o=qs(qs(qs({position:"relative",userSelect:this.state.isResizing?"none":"auto"},this.props.style),this.sizeStyle),{maxWidth:this.props.maxWidth,maxHeight:this.props.maxHeight,minWidth:this.props.minWidth,minHeight:this.props.minHeight,boxSizing:"border-box",flexShrink:0});this.state.flexBasis&&(o.flexBasis=this.state.flexBasis);var s=this.props.as||"div";return f.createElement(s,qs({ref:this.ref,style:o,className:this.props.className},r),this.state.isResizing&&f.createElement("div",{style:this.state.backgroundStyle}),this.props.children,this.renderResizer())},t.defaultProps={as:"div",onResizeStart:function(){},onResize:function(){},onResizeStop:function(){},enable:{top:!0,right:!0,bottom:!0,left:!0,topRight:!0,bottomRight:!0,bottomLeft:!0,topLeft:!0},style:{},grid:[1,1],lockAspectRatio:!1,lockAspectRatioExtraWidth:0,lockAspectRatioExtraHeight:0,scale:1,resizeRatio:1,snapGap:0},t}(f.PureComponent);const vY=({direction:e,langDirection:t})=>({top:e==="bottom",right:t!=="rtl"&&e==="left"||t==="rtl"&&e==="right",bottom:e==="top",left:t!=="rtl"&&e==="right"||t==="rtl"&&e==="left"}),bY=({direction:e,minWidth:t,maxWidth:n,minHeight:r,maxHeight:o})=>{const s=t??(["left","right"].includes(e)?10:void 0),a=n??(["left","right"].includes(e)?"95vw":void 0),c=r??(["top","bottom"].includes(e)?10:void 0),d=o??(["top","bottom"].includes(e)?"95vh":void 0);return{...s?{minWidth:s}:{},...a?{maxWidth:a}:{},...c?{minHeight:c}:{},...d?{maxHeight:d}:{}}},ba="0.75rem",fp="1rem",xu="5px",yY=({isResizable:e,direction:t})=>{const n=`calc((2 * ${ba} + ${xu}) / -2)`;return t==="top"?{containerStyles:{borderBottomWidth:xu,paddingBottom:fp},handleStyles:e?{top:{paddingTop:ba,paddingBottom:ba,bottom:n}}:{}}:t==="left"?{containerStyles:{borderInlineEndWidth:xu,paddingInlineEnd:fp},handleStyles:e?{right:{paddingInlineStart:ba,paddingInlineEnd:ba,insetInlineEnd:n}}:{}}:t==="bottom"?{containerStyles:{borderTopWidth:xu,paddingTop:fp},handleStyles:e?{bottom:{paddingTop:ba,paddingBottom:ba,top:n}}:{}}:t==="right"?{containerStyles:{borderInlineStartWidth:xu,paddingInlineStart:fp},handleStyles:e?{left:{paddingInlineStart:ba,paddingInlineEnd:ba,insetInlineStart:n}}:{}}:{containerStyles:{},handleStyles:{}}},xY=(e,t)=>["top","bottom"].includes(e)?e:e==="left"?t==="rtl"?"right":"left":e==="right"?t==="rtl"?"left":"right":"left",wY=je(gY,{shouldForwardProp:e=>!["sx"].includes(e)}),GI=({direction:e="left",isResizable:t,isOpen:n,onClose:r,children:o,initialWidth:s,minWidth:a,maxWidth:c,initialHeight:d,minHeight:p,maxHeight:h,onResizeStart:m,onResizeStop:v,onResize:b,sx:w={}})=>{const y=Nc().direction,{colorMode:S}=Ds(),k=f.useRef(null),_=f.useMemo(()=>s??a??(["left","right"].includes(e)?"auto":"100%"),[s,a,e]),P=f.useMemo(()=>d??p??(["top","bottom"].includes(e)?"auto":"100%"),[d,p,e]),[I,E]=f.useState(_),[O,R]=f.useState(P);XN({ref:k,handler:()=>{r()},enabled:n});const M=f.useMemo(()=>t?vY({direction:e,langDirection:y}):{},[t,y,e]),D=f.useMemo(()=>bY({direction:e,minWidth:a,maxWidth:c,minHeight:p,maxHeight:h}),[a,c,p,h,e]),{containerStyles:A,handleStyles:L}=f.useMemo(()=>yY({isResizable:t,direction:e}),[t,e]),Q=f.useMemo(()=>xY(e,y),[e,y]);return f.useEffect(()=>{["left","right"].includes(e)&&R("100vh"),["top","bottom"].includes(e)&&E("100vw")},[e]),i.jsx(X5,{direction:Q,in:n,motionProps:{initial:!1},style:{width:"full"},children:i.jsx(Re,{ref:k,sx:{width:"full",height:"full"},children:i.jsx(wY,{size:{width:t?I:_,height:t?O:P},enable:M,handleStyles:L,...D,sx:{borderColor:Fe("base.200","base.800")(S),p:4,bg:Fe("base.50","base.900")(S),height:"full",shadow:n?"dark-lg":void 0,...A,...w},onResizeStart:(F,V,q)=>{m&&m(F,V,q)},onResize:(F,V,q,G)=>{b&&b(F,V,q,G)},onResizeStop:(F,V,q,G)=>{["left","right"].includes(V)&&E(Number(I)+G.width),["top","bottom"].includes(V)&&R(Number(O)+G.height),v&&v(F,V,q,G)},children:o})})})};var qI={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},A4=H.createContext&&H.createContext(qI),hi=globalThis&&globalThis.__assign||function(){return hi=Object.assign||function(e){for(var t,n=1,r=arguments.length;nMath.abs(I)?"h":"v";if("touches"in y&&R==="h"&&O.type==="range")return!1;var M=dS(R,O);if(!M)return!0;if(M?E=R:(E=R==="v"?"h":"v",M=dS(R,O)),!M)return!1;if(!r.current&&"changedTouches"in y&&(P||I)&&(r.current=E),!E)return!0;var D=r.current||E;return Nz(D,S,y,D==="h"?P:I,!0)},[]),d=f.useCallback(function(y){var S=y;if(!(!Bl.length||Bl[Bl.length-1]!==s)){var k="deltaY"in S?fS(S):Gf(S),_=t.current.filter(function(E){return E.name===S.type&&E.target===S.target&&$z(E.delta,k)})[0];if(_&&_.should){S.cancelable&&S.preventDefault();return}if(!_){var P=(a.current.shards||[]).map(pS).filter(Boolean).filter(function(E){return E.contains(S.target)}),I=P.length>0?c(S,P[0]):!a.current.noIsolation;I&&S.cancelable&&S.preventDefault()}}},[]),p=f.useCallback(function(y,S,k,_){var P={name:y,delta:S,target:k,should:_};t.current.push(P),setTimeout(function(){t.current=t.current.filter(function(I){return I!==P})},1)},[]),h=f.useCallback(function(y){n.current=Gf(y),r.current=void 0},[]),m=f.useCallback(function(y){p(y.type,fS(y),y.target,c(y,e.lockRef.current))},[]),v=f.useCallback(function(y){p(y.type,Gf(y),y.target,c(y,e.lockRef.current))},[]);f.useEffect(function(){return Bl.push(s),e.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:v}),document.addEventListener("wheel",d,zl),document.addEventListener("touchmove",d,zl),document.addEventListener("touchstart",h,zl),function(){Bl=Bl.filter(function(y){return y!==s}),document.removeEventListener("wheel",d,zl),document.removeEventListener("touchmove",d,zl),document.removeEventListener("touchstart",h,zl)}},[]);var b=e.removeScrollBar,w=e.inert;return f.createElement(f.Fragment,null,w?f.createElement(s,{styles:Lz(o)}):null,b?f.createElement(Ez,{gapMode:e.gapMode}):null)}const Fz=LT(P6,Bz);var R6=f.forwardRef(function(e,t){return f.createElement(Sm,Qs({},e,{ref:t,sideCar:Fz}))});R6.classNames=Sm.classNames;const Hz=R6;function Wz(e){const{autoFocus:t,trapFocus:n,dialogRef:r,initialFocusRef:o,blockScrollOnMount:s,allowPinchZoom:a,finalFocusRef:c,returnFocusOnClose:d,preserveScrollBarGap:p,lockFocusAcrossFrames:h,isOpen:m}=ll(),[v,b]=LR();f.useEffect(()=>{!v&&b&&setTimeout(b)},[v,b]);const w=k6(r,m);return i.jsx(J3,{autoFocus:t,isDisabled:!n,initialFocusRef:o,finalFocusRef:c,restoreFocus:d,contentRef:r,lockFocusAcrossFrames:h,children:i.jsx(Hz,{removeScrollBar:!p,allowPinchZoom:a,enabled:w===1&&s,forwardProps:!0,children:e.children})})}var ld=Ae((e,t)=>{const{className:n,children:r,containerProps:o,motionProps:s,...a}=e,{getDialogProps:c,getDialogContainerProps:d}=ll(),p=c(a,t),h=d(o),m=Ct("chakra-modal__content",n),v=Wc(),b={display:"flex",flexDirection:"column",position:"relative",width:"100%",outline:0,...v.dialog},w={display:"flex",width:"100vw",height:"$100vh",position:"fixed",left:0,top:0,...v.dialogContainer},{motionPreset:y}=ll();return i.jsx(Wz,{children:i.jsx(je.div,{...h,className:"chakra-modal__content-container",tabIndex:-1,__css:w,children:i.jsx(C6,{preset:y,motionProps:s,className:m,...p,__css:b,children:r})})})});ld.displayName="ModalContent";function Td(e){const{leastDestructiveRef:t,...n}=e;return i.jsx(id,{...n,initialFocusRef:t})}var Nd=Ae((e,t)=>i.jsx(ld,{ref:t,role:"alertdialog",...e})),Ma=Ae((e,t)=>{const{className:n,...r}=e,o=Ct("chakra-modal__footer",n),a={display:"flex",alignItems:"center",justifyContent:"flex-end",...Wc().footer};return i.jsx(je.footer,{ref:t,...r,__css:a,className:o})});Ma.displayName="ModalFooter";var Da=Ae((e,t)=>{const{className:n,...r}=e,{headerId:o,setHeaderMounted:s}=ll();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const a=Ct("chakra-modal__header",n),d={flex:0,...Wc().header};return i.jsx(je.header,{ref:t,className:a,id:o,...r,__css:d})});Da.displayName="ModalHeader";var Vz=je(Er.div),Aa=Ae((e,t)=>{const{className:n,transition:r,motionProps:o,...s}=e,a=Ct("chakra-modal__overlay",n),d={pos:"fixed",left:"0",top:"0",w:"100vw",h:"100vh",...Wc().overlay},{motionPreset:p}=ll(),m=o||(p==="none"?{}:q5);return i.jsx(Vz,{...m,__css:d,ref:t,className:a,...s})});Aa.displayName="ModalOverlay";var Ta=Ae((e,t)=>{const{className:n,...r}=e,{bodyId:o,setBodyMounted:s}=ll();f.useEffect(()=>(s(!0),()=>s(!1)),[s]);const a=Ct("chakra-modal__body",n),c=Wc();return i.jsx(je.div,{ref:t,className:a,id:o,...r,__css:c.body})});Ta.displayName="ModalBody";var qb=Ae((e,t)=>{const{onClick:n,className:r,...o}=e,{onClose:s}=ll(),a=Ct("chakra-modal__close-btn",r),c=Wc();return i.jsx(r9,{ref:t,__css:c.closeButton,className:a,onClick:et(n,d=>{d.stopPropagation(),s()}),...o})});qb.displayName="ModalCloseButton";var Uz=e=>i.jsx(fo,{viewBox:"0 0 24 24",...e,children:i.jsx("path",{fill:"currentColor",d:"M21,5H3C2.621,5,2.275,5.214,2.105,5.553C1.937,5.892,1.973,6.297,2.2,6.6l9,12 c0.188,0.252,0.485,0.4,0.8,0.4s0.611-0.148,0.8-0.4l9-12c0.228-0.303,0.264-0.708,0.095-1.047C21.725,5.214,21.379,5,21,5z"})}),Gz=e=>i.jsx(fo,{viewBox:"0 0 24 24",...e,children:i.jsx("path",{fill:"currentColor",d:"M12.8,5.4c-0.377-0.504-1.223-0.504-1.6,0l-9,12c-0.228,0.303-0.264,0.708-0.095,1.047 C2.275,18.786,2.621,19,3,19h18c0.379,0,0.725-0.214,0.895-0.553c0.169-0.339,0.133-0.744-0.095-1.047L12.8,5.4z"})});function hS(e,t,n,r){f.useEffect(()=>{var o;if(!e.current||!r)return;const s=(o=e.current.ownerDocument.defaultView)!=null?o:window,a=Array.isArray(t)?t:[t],c=new s.MutationObserver(d=>{for(const p of d)p.type==="attributes"&&p.attributeName&&a.includes(p.attributeName)&&n(p)});return c.observe(e.current,{attributes:!0,attributeFilter:a}),()=>c.disconnect()})}function qz(e,t){const n=or(e);f.useEffect(()=>{let r=null;const o=()=>n();return t!==null&&(r=window.setInterval(o,t)),()=>{r&&window.clearInterval(r)}},[t,n])}var Kz=50,mS=300;function Xz(e,t){const[n,r]=f.useState(!1),[o,s]=f.useState(null),[a,c]=f.useState(!0),d=f.useRef(null),p=()=>clearTimeout(d.current);qz(()=>{o==="increment"&&e(),o==="decrement"&&t()},n?Kz:null);const h=f.useCallback(()=>{a&&e(),d.current=setTimeout(()=>{c(!1),r(!0),s("increment")},mS)},[e,a]),m=f.useCallback(()=>{a&&t(),d.current=setTimeout(()=>{c(!1),r(!0),s("decrement")},mS)},[t,a]),v=f.useCallback(()=>{c(!0),r(!1),p()},[]);return f.useEffect(()=>()=>p(),[]),{up:h,down:m,stop:v,isSpinning:n}}var Yz=/^[Ee0-9+\-.]$/;function Qz(e){return Yz.test(e)}function Jz(e,t){if(e.key==null)return!0;const n=e.ctrlKey||e.altKey||e.metaKey;return!(e.key.length===1)||n?!0:t(e.key)}function Zz(e={}){const{focusInputOnChange:t=!0,clampValueOnBlur:n=!0,keepWithinRange:r=!0,min:o=Number.MIN_SAFE_INTEGER,max:s=Number.MAX_SAFE_INTEGER,step:a=1,isReadOnly:c,isDisabled:d,isRequired:p,isInvalid:h,pattern:m="[0-9]*(.[0-9]+)?",inputMode:v="decimal",allowMouseWheel:b,id:w,onChange:y,precision:S,name:k,"aria-describedby":_,"aria-label":P,"aria-labelledby":I,onFocus:E,onBlur:O,onInvalid:R,getAriaValueText:M,isValidCharacter:D,format:A,parse:L,...Q}=e,F=or(E),V=or(O),q=or(R),G=or(D??Qz),T=or(M),z=bT(e),{update:$,increment:Y,decrement:ae}=z,[fe,ie]=f.useState(!1),X=!(c||d),K=f.useRef(null),U=f.useRef(null),se=f.useRef(null),re=f.useRef(null),oe=f.useCallback(we=>we.split("").filter(G).join(""),[G]),pe=f.useCallback(we=>{var ht;return(ht=L==null?void 0:L(we))!=null?ht:we},[L]),le=f.useCallback(we=>{var ht;return((ht=A==null?void 0:A(we))!=null?ht:we).toString()},[A]);Fa(()=>{(z.valueAsNumber>s||z.valueAsNumber{if(!K.current)return;if(K.current.value!=z.value){const ht=pe(K.current.value);z.setValue(oe(ht))}},[pe,oe]);const ge=f.useCallback((we=a)=>{X&&Y(we)},[Y,X,a]),ke=f.useCallback((we=a)=>{X&&ae(we)},[ae,X,a]),xe=Xz(ge,ke);hS(se,"disabled",xe.stop,xe.isSpinning),hS(re,"disabled",xe.stop,xe.isSpinning);const de=f.useCallback(we=>{if(we.nativeEvent.isComposing)return;const $t=pe(we.currentTarget.value);$(oe($t)),U.current={start:we.currentTarget.selectionStart,end:we.currentTarget.selectionEnd}},[$,oe,pe]),Te=f.useCallback(we=>{var ht,$t,Lt;F==null||F(we),U.current&&(we.target.selectionStart=($t=U.current.start)!=null?$t:(ht=we.currentTarget.value)==null?void 0:ht.length,we.currentTarget.selectionEnd=(Lt=U.current.end)!=null?Lt:we.currentTarget.selectionStart)},[F]),Ee=f.useCallback(we=>{if(we.nativeEvent.isComposing)return;Jz(we,G)||we.preventDefault();const ht=$e(we)*a,$t=we.key,Le={ArrowUp:()=>ge(ht),ArrowDown:()=>ke(ht),Home:()=>$(o),End:()=>$(s)}[$t];Le&&(we.preventDefault(),Le(we))},[G,a,ge,ke,$,o,s]),$e=we=>{let ht=1;return(we.metaKey||we.ctrlKey)&&(ht=.1),we.shiftKey&&(ht=10),ht},kt=f.useMemo(()=>{const we=T==null?void 0:T(z.value);if(we!=null)return we;const ht=z.value.toString();return ht||void 0},[z.value,T]),ct=f.useCallback(()=>{let we=z.value;if(z.value==="")return;/^[eE]/.test(z.value.toString())?z.setValue(""):(z.valueAsNumbers&&(we=s),z.cast(we))},[z,s,o]),on=f.useCallback(()=>{ie(!1),n&&ct()},[n,ie,ct]),vt=f.useCallback(()=>{t&&requestAnimationFrame(()=>{var we;(we=K.current)==null||we.focus()})},[t]),bt=f.useCallback(we=>{we.preventDefault(),xe.up(),vt()},[vt,xe]),Se=f.useCallback(we=>{we.preventDefault(),xe.down(),vt()},[vt,xe]);Yi(()=>K.current,"wheel",we=>{var ht,$t;const Le=(($t=(ht=K.current)==null?void 0:ht.ownerDocument)!=null?$t:document).activeElement===K.current;if(!b||!Le)return;we.preventDefault();const Ge=$e(we)*a,Pn=Math.sign(we.deltaY);Pn===-1?ge(Ge):Pn===1&&ke(Ge)},{passive:!1});const Me=f.useCallback((we={},ht=null)=>{const $t=d||r&&z.isAtMax;return{...we,ref:cn(ht,se),role:"button",tabIndex:-1,onPointerDown:et(we.onPointerDown,Lt=>{Lt.button!==0||$t||bt(Lt)}),onPointerLeave:et(we.onPointerLeave,xe.stop),onPointerUp:et(we.onPointerUp,xe.stop),disabled:$t,"aria-disabled":rs($t)}},[z.isAtMax,r,bt,xe.stop,d]),Pt=f.useCallback((we={},ht=null)=>{const $t=d||r&&z.isAtMin;return{...we,ref:cn(ht,re),role:"button",tabIndex:-1,onPointerDown:et(we.onPointerDown,Lt=>{Lt.button!==0||$t||Se(Lt)}),onPointerLeave:et(we.onPointerLeave,xe.stop),onPointerUp:et(we.onPointerUp,xe.stop),disabled:$t,"aria-disabled":rs($t)}},[z.isAtMin,r,Se,xe.stop,d]),Tt=f.useCallback((we={},ht=null)=>{var $t,Lt,Le,Ge;return{name:k,inputMode:v,type:"text",pattern:m,"aria-labelledby":I,"aria-label":P,"aria-describedby":_,id:w,disabled:d,...we,readOnly:($t=we.readOnly)!=null?$t:c,"aria-readonly":(Lt=we.readOnly)!=null?Lt:c,"aria-required":(Le=we.required)!=null?Le:p,required:(Ge=we.required)!=null?Ge:p,ref:cn(K,ht),value:le(z.value),role:"spinbutton","aria-valuemin":o,"aria-valuemax":s,"aria-valuenow":Number.isNaN(z.valueAsNumber)?void 0:z.valueAsNumber,"aria-invalid":rs(h??z.isOutOfRange),"aria-valuetext":kt,autoComplete:"off",autoCorrect:"off",onChange:et(we.onChange,de),onKeyDown:et(we.onKeyDown,Ee),onFocus:et(we.onFocus,Te,()=>ie(!0)),onBlur:et(we.onBlur,V,on)}},[k,v,m,I,P,le,_,w,d,p,c,h,z.value,z.valueAsNumber,z.isOutOfRange,o,s,kt,de,Ee,Te,V,on]);return{value:le(z.value),valueAsNumber:z.valueAsNumber,isFocused:fe,isDisabled:d,isReadOnly:c,getIncrementButtonProps:Me,getDecrementButtonProps:Pt,getInputProps:Tt,htmlProps:Q}}var[eB,Cm]=Dn({name:"NumberInputStylesContext",errorMessage:`useNumberInputStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[tB,Kb]=Dn({name:"NumberInputContext",errorMessage:"useNumberInputContext: `context` is undefined. Seems you forgot to wrap number-input's components within "}),km=Ae(function(t,n){const r=Fr("NumberInput",t),o=qn(t),s=vb(o),{htmlProps:a,...c}=Zz(s),d=f.useMemo(()=>c,[c]);return i.jsx(tB,{value:d,children:i.jsx(eB,{value:r,children:i.jsx(je.div,{...a,ref:n,className:Ct("chakra-numberinput",t.className),__css:{position:"relative",zIndex:0,...r.root}})})})});km.displayName="NumberInput";var _m=Ae(function(t,n){const r=Cm();return i.jsx(je.div,{"aria-hidden":!0,ref:n,...t,__css:{display:"flex",flexDirection:"column",position:"absolute",top:"0",insetEnd:"0px",margin:"1px",height:"calc(100% - 2px)",zIndex:1,...r.stepperGroup}})});_m.displayName="NumberInputStepper";var Pm=Ae(function(t,n){const{getInputProps:r}=Kb(),o=r(t,n),s=Cm();return i.jsx(je.input,{...o,className:Ct("chakra-numberinput__field",t.className),__css:{width:"100%",...s.field}})});Pm.displayName="NumberInputField";var M6=je("div",{baseStyle:{display:"flex",justifyContent:"center",alignItems:"center",flex:1,transitionProperty:"common",transitionDuration:"normal",userSelect:"none",cursor:"pointer",lineHeight:"normal"}}),jm=Ae(function(t,n){var r;const o=Cm(),{getDecrementButtonProps:s}=Kb(),a=s(t,n);return i.jsx(M6,{...a,__css:o.stepper,children:(r=t.children)!=null?r:i.jsx(Uz,{})})});jm.displayName="NumberDecrementStepper";var Im=Ae(function(t,n){var r;const{getIncrementButtonProps:o}=Kb(),s=o(t,n),a=Cm();return i.jsx(M6,{...s,__css:a.stepper,children:(r=t.children)!=null?r:i.jsx(Gz,{})})});Im.displayName="NumberIncrementStepper";var[nB,$d]=Dn({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within ``"}),[rB,Xb]=Dn({name:"PopoverStylesContext",errorMessage:`usePopoverStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `});function Yb(e){const t=f.Children.only(e.children),{getTriggerProps:n}=$d();return f.cloneElement(t,n(t.props,t.ref))}Yb.displayName="PopoverTrigger";var Fl={click:"click",hover:"hover"};function oB(e={}){const{closeOnBlur:t=!0,closeOnEsc:n=!0,initialFocusRef:r,id:o,returnFocusOnClose:s=!0,autoFocus:a=!0,arrowSize:c,arrowShadowColor:d,trigger:p=Fl.click,openDelay:h=200,closeDelay:m=200,isLazy:v,lazyBehavior:b="unmount",computePositionOnMount:w,...y}=e,{isOpen:S,onClose:k,onOpen:_,onToggle:P}=Vb(e),I=f.useRef(null),E=f.useRef(null),O=f.useRef(null),R=f.useRef(!1),M=f.useRef(!1);S&&(M.current=!0);const[D,A]=f.useState(!1),[L,Q]=f.useState(!1),F=f.useId(),V=o??F,[q,G,T,z]=["popover-trigger","popover-content","popover-header","popover-body"].map(de=>`${de}-${V}`),{referenceRef:$,getArrowProps:Y,getPopperProps:ae,getArrowInnerProps:fe,forceUpdate:ie}=Wb({...y,enabled:S||!!w}),X=v6({isOpen:S,ref:O});d3({enabled:S,ref:E}),a6(O,{focusRef:E,visible:S,shouldFocus:s&&p===Fl.click}),d$(O,{focusRef:r,visible:S,shouldFocus:a&&p===Fl.click});const K=Ub({wasSelected:M.current,enabled:v,mode:b,isSelected:X.present}),U=f.useCallback((de={},Te=null)=>{const Ee={...de,style:{...de.style,transformOrigin:Ir.transformOrigin.varRef,[Ir.arrowSize.var]:c?`${c}px`:void 0,[Ir.arrowShadowColor.var]:d},ref:cn(O,Te),children:K?de.children:null,id:G,tabIndex:-1,role:"dialog",onKeyDown:et(de.onKeyDown,$e=>{n&&$e.key==="Escape"&&k()}),onBlur:et(de.onBlur,$e=>{const kt=gS($e),ct=L0(O.current,kt),on=L0(E.current,kt);S&&t&&(!ct&&!on)&&k()}),"aria-labelledby":D?T:void 0,"aria-describedby":L?z:void 0};return p===Fl.hover&&(Ee.role="tooltip",Ee.onMouseEnter=et(de.onMouseEnter,()=>{R.current=!0}),Ee.onMouseLeave=et(de.onMouseLeave,$e=>{$e.nativeEvent.relatedTarget!==null&&(R.current=!1,setTimeout(()=>k(),m))})),Ee},[K,G,D,T,L,z,p,n,k,S,t,m,d,c]),se=f.useCallback((de={},Te=null)=>ae({...de,style:{visibility:S?"visible":"hidden",...de.style}},Te),[S,ae]),re=f.useCallback((de,Te=null)=>({...de,ref:cn(Te,I,$)}),[I,$]),oe=f.useRef(),pe=f.useRef(),le=f.useCallback(de=>{I.current==null&&$(de)},[$]),ge=f.useCallback((de={},Te=null)=>{const Ee={...de,ref:cn(E,Te,le),id:q,"aria-haspopup":"dialog","aria-expanded":S,"aria-controls":G};return p===Fl.click&&(Ee.onClick=et(de.onClick,P)),p===Fl.hover&&(Ee.onFocus=et(de.onFocus,()=>{oe.current===void 0&&_()}),Ee.onBlur=et(de.onBlur,$e=>{const kt=gS($e),ct=!L0(O.current,kt);S&&t&&ct&&k()}),Ee.onKeyDown=et(de.onKeyDown,$e=>{$e.key==="Escape"&&k()}),Ee.onMouseEnter=et(de.onMouseEnter,()=>{R.current=!0,oe.current=window.setTimeout(()=>_(),h)}),Ee.onMouseLeave=et(de.onMouseLeave,()=>{R.current=!1,oe.current&&(clearTimeout(oe.current),oe.current=void 0),pe.current=window.setTimeout(()=>{R.current===!1&&k()},m)})),Ee},[q,S,G,p,le,P,_,t,k,h,m]);f.useEffect(()=>()=>{oe.current&&clearTimeout(oe.current),pe.current&&clearTimeout(pe.current)},[]);const ke=f.useCallback((de={},Te=null)=>({...de,id:T,ref:cn(Te,Ee=>{A(!!Ee)})}),[T]),xe=f.useCallback((de={},Te=null)=>({...de,id:z,ref:cn(Te,Ee=>{Q(!!Ee)})}),[z]);return{forceUpdate:ie,isOpen:S,onAnimationComplete:X.onComplete,onClose:k,getAnchorProps:re,getArrowProps:Y,getArrowInnerProps:fe,getPopoverPositionerProps:se,getPopoverProps:U,getTriggerProps:ge,getHeaderProps:ke,getBodyProps:xe}}function L0(e,t){return e===t||(e==null?void 0:e.contains(t))}function gS(e){var t;const n=e.currentTarget.ownerDocument.activeElement;return(t=e.relatedTarget)!=null?t:n}function Qb(e){const t=Fr("Popover",e),{children:n,...r}=qn(e),o=Nc(),s=oB({...r,direction:o.direction});return i.jsx(nB,{value:s,children:i.jsx(rB,{value:t,children:Y1(n,{isOpen:s.isOpen,onClose:s.onClose,forceUpdate:s.forceUpdate})})})}Qb.displayName="Popover";var z0=(e,t)=>t?`${e}.${t}, ${t}`:void 0;function D6(e){var t;const{bg:n,bgColor:r,backgroundColor:o,shadow:s,boxShadow:a,shadowColor:c}=e,{getArrowProps:d,getArrowInnerProps:p}=$d(),h=Xb(),m=(t=n??r)!=null?t:o,v=s??a;return i.jsx(je.div,{...d(),className:"chakra-popover__arrow-positioner",children:i.jsx(je.div,{className:Ct("chakra-popover__arrow",e.className),...p(e),__css:{"--popper-arrow-shadow-color":z0("colors",c),"--popper-arrow-bg":z0("colors",m),"--popper-arrow-shadow":z0("shadows",v),...h.arrow}})})}D6.displayName="PopoverArrow";var A6=Ae(function(t,n){const{getBodyProps:r}=$d(),o=Xb();return i.jsx(je.div,{...r(t,n),className:Ct("chakra-popover__body",t.className),__css:o.body})});A6.displayName="PopoverBody";function sB(e){if(e)return{enter:{...e.enter,visibility:"visible"},exit:{...e.exit,transitionEnd:{visibility:"hidden"}}}}var aB={exit:{opacity:0,scale:.95,transition:{duration:.1,ease:[.4,0,1,1]}},enter:{scale:1,opacity:1,transition:{duration:.15,ease:[0,0,.2,1]}}},iB=je(Er.section),T6=Ae(function(t,n){const{variants:r=aB,...o}=t,{isOpen:s}=$d();return i.jsx(iB,{ref:n,variants:sB(r),initial:!1,animate:s?"enter":"exit",...o})});T6.displayName="PopoverTransition";var Jb=Ae(function(t,n){const{rootProps:r,motionProps:o,...s}=t,{getPopoverProps:a,getPopoverPositionerProps:c,onAnimationComplete:d}=$d(),p=Xb(),h={position:"relative",display:"flex",flexDirection:"column",...p.content};return i.jsx(je.div,{...c(r),__css:p.popper,className:"chakra-popover__popper",children:i.jsx(T6,{...o,...a(s,n),onAnimationComplete:um(d,s.onAnimationComplete),className:Ct("chakra-popover__content",t.className),__css:h})})});Jb.displayName="PopoverContent";function lB(e,t,n){return(e-t)*100/(n-t)}za({"0%":{strokeDasharray:"1, 400",strokeDashoffset:"0"},"50%":{strokeDasharray:"400, 400",strokeDashoffset:"-100"},"100%":{strokeDasharray:"400, 400",strokeDashoffset:"-260"}});za({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}});var cB=za({"0%":{left:"-40%"},"100%":{left:"100%"}}),uB=za({from:{backgroundPosition:"1rem 0"},to:{backgroundPosition:"0 0"}});function dB(e){const{value:t=0,min:n,max:r,valueText:o,getValueText:s,isIndeterminate:a,role:c="progressbar"}=e,d=lB(t,n,r);return{bind:{"data-indeterminate":a?"":void 0,"aria-valuemax":r,"aria-valuemin":n,"aria-valuenow":a?void 0:t,"aria-valuetext":(()=>{if(t!=null)return typeof s=="function"?s(t,d):o})(),role:c},percent:d,value:t}}var[fB,pB]=Dn({name:"ProgressStylesContext",errorMessage:`useProgressStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),hB=Ae((e,t)=>{const{min:n,max:r,value:o,isIndeterminate:s,role:a,...c}=e,d=dB({value:o,min:n,max:r,isIndeterminate:s,role:a}),h={height:"100%",...pB().filledTrack};return i.jsx(je.div,{ref:t,style:{width:`${d.percent}%`,...c.style},...d.bind,...c,__css:h})}),N6=Ae((e,t)=>{var n;const{value:r,min:o=0,max:s=100,hasStripe:a,isAnimated:c,children:d,borderRadius:p,isIndeterminate:h,"aria-label":m,"aria-labelledby":v,"aria-valuetext":b,title:w,role:y,...S}=qn(e),k=Fr("Progress",e),_=p??((n=k.track)==null?void 0:n.borderRadius),P={animation:`${uB} 1s linear infinite`},O={...!h&&a&&c&&P,...h&&{position:"absolute",willChange:"left",minWidth:"50%",animation:`${cB} 1s ease infinite normal none running`}},R={overflow:"hidden",position:"relative",...k.track};return i.jsx(je.div,{ref:t,borderRadius:_,__css:R,...S,children:i.jsxs(fB,{value:k,children:[i.jsx(hB,{"aria-label":m,"aria-labelledby":v,"aria-valuetext":b,min:o,max:s,value:r,isIndeterminate:h,css:O,borderRadius:_,title:w,role:y}),d]})})});N6.displayName="Progress";function mB(e){return e&&jv(e)&&jv(e.target)}function gB(e={}){const{onChange:t,value:n,defaultValue:r,name:o,isDisabled:s,isFocusable:a,isNative:c,...d}=e,[p,h]=f.useState(r||""),m=typeof n<"u",v=m?n:p,b=f.useRef(null),w=f.useCallback(()=>{const E=b.current;if(!E)return;let O="input:not(:disabled):checked";const R=E.querySelector(O);if(R){R.focus();return}O="input:not(:disabled)";const M=E.querySelector(O);M==null||M.focus()},[]),S=`radio-${f.useId()}`,k=o||S,_=f.useCallback(E=>{const O=mB(E)?E.target.value:E;m||h(O),t==null||t(String(O))},[t,m]),P=f.useCallback((E={},O=null)=>({...E,ref:cn(O,b),role:"radiogroup"}),[]),I=f.useCallback((E={},O=null)=>({...E,ref:O,name:k,[c?"checked":"isChecked"]:v!=null?E.value===v:void 0,onChange(M){_(M)},"data-radiogroup":!0}),[c,k,_,v]);return{getRootProps:P,getRadioProps:I,name:k,ref:b,focus:w,setValue:h,value:v,onChange:_,isDisabled:s,isFocusable:a,htmlProps:d}}var[vB,$6]=Dn({name:"RadioGroupContext",strict:!1}),oh=Ae((e,t)=>{const{colorScheme:n,size:r,variant:o,children:s,className:a,isDisabled:c,isFocusable:d,...p}=e,{value:h,onChange:m,getRootProps:v,name:b,htmlProps:w}=gB(p),y=f.useMemo(()=>({name:b,size:r,onChange:m,colorScheme:n,value:h,variant:o,isDisabled:c,isFocusable:d}),[b,r,m,n,h,o,c,d]);return i.jsx(vB,{value:y,children:i.jsx(je.div,{...v(w,t),className:Ct("chakra-radio-group",a),children:s})})});oh.displayName="RadioGroup";var bB={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"};function yB(e={}){const{defaultChecked:t,isChecked:n,isFocusable:r,isDisabled:o,isReadOnly:s,isRequired:a,onChange:c,isInvalid:d,name:p,value:h,id:m,"data-radiogroup":v,"aria-describedby":b,...w}=e,y=`radio-${f.useId()}`,S=jd(),_=!!$6()||!!v;let I=!!S&&!_?S.id:y;I=m??I;const E=o??(S==null?void 0:S.isDisabled),O=s??(S==null?void 0:S.isReadOnly),R=a??(S==null?void 0:S.isRequired),M=d??(S==null?void 0:S.isInvalid),[D,A]=f.useState(!1),[L,Q]=f.useState(!1),[F,V]=f.useState(!1),[q,G]=f.useState(!1),[T,z]=f.useState(!!t),$=typeof n<"u",Y=$?n:T;f.useEffect(()=>e3(A),[]);const ae=f.useCallback(le=>{if(O||E){le.preventDefault();return}$||z(le.target.checked),c==null||c(le)},[$,E,O,c]),fe=f.useCallback(le=>{le.key===" "&&G(!0)},[G]),ie=f.useCallback(le=>{le.key===" "&&G(!1)},[G]),X=f.useCallback((le={},ge=null)=>({...le,ref:ge,"data-active":Ft(q),"data-hover":Ft(F),"data-disabled":Ft(E),"data-invalid":Ft(M),"data-checked":Ft(Y),"data-focus":Ft(L),"data-focus-visible":Ft(L&&D),"data-readonly":Ft(O),"aria-hidden":!0,onMouseDown:et(le.onMouseDown,()=>G(!0)),onMouseUp:et(le.onMouseUp,()=>G(!1)),onMouseEnter:et(le.onMouseEnter,()=>V(!0)),onMouseLeave:et(le.onMouseLeave,()=>V(!1))}),[q,F,E,M,Y,L,O,D]),{onFocus:K,onBlur:U}=S??{},se=f.useCallback((le={},ge=null)=>{const ke=E&&!r;return{...le,id:I,ref:ge,type:"radio",name:p,value:h,onChange:et(le.onChange,ae),onBlur:et(U,le.onBlur,()=>Q(!1)),onFocus:et(K,le.onFocus,()=>Q(!0)),onKeyDown:et(le.onKeyDown,fe),onKeyUp:et(le.onKeyUp,ie),checked:Y,disabled:ke,readOnly:O,required:R,"aria-invalid":rs(M),"aria-disabled":rs(ke),"aria-required":rs(R),"data-readonly":Ft(O),"aria-describedby":b,style:bB}},[E,r,I,p,h,ae,U,K,fe,ie,Y,O,R,M,b]);return{state:{isInvalid:M,isFocused:L,isChecked:Y,isActive:q,isHovered:F,isDisabled:E,isReadOnly:O,isRequired:R},getCheckboxProps:X,getRadioProps:X,getInputProps:se,getLabelProps:(le={},ge=null)=>({...le,ref:ge,onMouseDown:et(le.onMouseDown,xB),"data-disabled":Ft(E),"data-checked":Ft(Y),"data-invalid":Ft(M)}),getRootProps:(le,ge=null)=>({...le,ref:ge,"data-disabled":Ft(E),"data-checked":Ft(Y),"data-invalid":Ft(M)}),htmlProps:w}}function xB(e){e.preventDefault(),e.stopPropagation()}function wB(e,t){const n={},r={};for(const[o,s]of Object.entries(e))t.includes(o)?n[o]=s:r[o]=s;return[n,r]}var ya=Ae((e,t)=>{var n;const r=$6(),{onChange:o,value:s}=e,a=Fr("Radio",{...r,...e}),c=qn(e),{spacing:d="0.5rem",children:p,isDisabled:h=r==null?void 0:r.isDisabled,isFocusable:m=r==null?void 0:r.isFocusable,inputProps:v,...b}=c;let w=e.isChecked;(r==null?void 0:r.value)!=null&&s!=null&&(w=r.value===s);let y=o;r!=null&&r.onChange&&s!=null&&(y=um(r.onChange,o));const S=(n=e==null?void 0:e.name)!=null?n:r==null?void 0:r.name,{getInputProps:k,getCheckboxProps:_,getLabelProps:P,getRootProps:I,htmlProps:E}=yB({...b,isChecked:w,isFocusable:m,isDisabled:h,onChange:y,name:S}),[O,R]=wB(E,T_),M=_(R),D=k(v,t),A=P(),L=Object.assign({},O,I()),Q={display:"inline-flex",alignItems:"center",verticalAlign:"top",cursor:"pointer",position:"relative",...a.container},F={display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,...a.control},V={userSelect:"none",marginStart:d,...a.label};return i.jsxs(je.label,{className:"chakra-radio",...L,__css:Q,children:[i.jsx("input",{className:"chakra-radio__input",...D}),i.jsx(je.span,{className:"chakra-radio__control",...M,__css:F}),p&&i.jsx(je.span,{className:"chakra-radio__label",...A,__css:V,children:p})]})});ya.displayName="Radio";var L6=Ae(function(t,n){const{children:r,placeholder:o,className:s,...a}=t;return i.jsxs(je.select,{...a,ref:n,className:Ct("chakra-select",s),children:[o&&i.jsx("option",{value:"",children:o}),r]})});L6.displayName="SelectField";function SB(e,t){const n={},r={};for(const[o,s]of Object.entries(e))t.includes(o)?n[o]=s:r[o]=s;return[n,r]}var z6=Ae((e,t)=>{var n;const r=Fr("Select",e),{rootProps:o,placeholder:s,icon:a,color:c,height:d,h:p,minH:h,minHeight:m,iconColor:v,iconSize:b,...w}=qn(e),[y,S]=SB(w,T_),k=gb(S),_={width:"100%",height:"fit-content",position:"relative",color:c},P={paddingEnd:"2rem",...r.field,_focus:{zIndex:"unset",...(n=r.field)==null?void 0:n._focus}};return i.jsxs(je.div,{className:"chakra-select__wrapper",__css:_,...y,...o,children:[i.jsx(L6,{ref:t,height:p??d,minH:h??m,placeholder:s,...k,__css:P,children:e.children}),i.jsx(B6,{"data-disabled":Ft(k.disabled),...(v||c)&&{color:v||c},__css:r.icon,...b&&{fontSize:b},children:a})]})});z6.displayName="Select";var CB=e=>i.jsx("svg",{viewBox:"0 0 24 24",...e,children:i.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})}),kB=je("div",{baseStyle:{position:"absolute",display:"inline-flex",alignItems:"center",justifyContent:"center",pointerEvents:"none",top:"50%",transform:"translateY(-50%)"}}),B6=e=>{const{children:t=i.jsx(CB,{}),...n}=e,r=f.cloneElement(t,{role:"presentation",className:"chakra-select__icon",focusable:!1,"aria-hidden":!0,style:{width:"1em",height:"1em",color:"currentColor"}});return i.jsx(kB,{...n,className:"chakra-select__icon-wrapper",children:f.isValidElement(t)?r:null})};B6.displayName="SelectIcon";function _B(){const e=f.useRef(!0);return f.useEffect(()=>{e.current=!1},[]),e.current}function PB(e){const t=f.useRef();return f.useEffect(()=>{t.current=e},[e]),t.current}var jB=je("div",{baseStyle:{boxShadow:"none",backgroundClip:"padding-box",cursor:"default",color:"transparent",pointerEvents:"none",userSelect:"none","&::before, &::after, *":{visibility:"hidden"}}}),r1=N_("skeleton-start-color"),o1=N_("skeleton-end-color"),IB=za({from:{opacity:0},to:{opacity:1}}),EB=za({from:{borderColor:r1.reference,background:r1.reference},to:{borderColor:o1.reference,background:o1.reference}}),Em=Ae((e,t)=>{const n={...e,fadeDuration:typeof e.fadeDuration=="number"?e.fadeDuration:.4,speed:typeof e.speed=="number"?e.speed:.8},r=ia("Skeleton",n),o=_B(),{startColor:s="",endColor:a="",isLoaded:c,fadeDuration:d,speed:p,className:h,fitContent:m,...v}=qn(n),[b,w]=$c("colors",[s,a]),y=PB(c),S=Ct("chakra-skeleton",h),k={...b&&{[r1.variable]:b},...w&&{[o1.variable]:w}};if(c){const _=o||y?"none":`${IB} ${d}s`;return i.jsx(je.div,{ref:t,className:S,__css:{animation:_},...v})}return i.jsx(jB,{ref:t,className:S,...v,__css:{width:m?"fit-content":void 0,...r,...k,_dark:{...r._dark,...k},animation:`${p}s linear infinite alternate ${EB}`}})});Em.displayName="Skeleton";var Zo=e=>e?"":void 0,uc=e=>e?!0:void 0,ji=(...e)=>e.filter(Boolean).join(" ");function dc(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function OB(e){return{root:`slider-root-${e}`,getThumb:t=>`slider-thumb-${e}-${t}`,getInput:t=>`slider-input-${e}-${t}`,track:`slider-track-${e}`,innerTrack:`slider-filled-track-${e}`,getMarker:t=>`slider-marker-${e}-${t}`,output:`slider-output-${e}`}}function Du(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}var Mp={width:0,height:0},qf=e=>e||Mp;function F6(e){const{orientation:t,thumbPercents:n,thumbRects:r,isReversed:o}=e,s=y=>{var S;const k=(S=r[y])!=null?S:Mp;return{position:"absolute",userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",touchAction:"none",...Du({orientation:t,vertical:{bottom:`calc(${n[y]}% - ${k.height/2}px)`},horizontal:{left:`calc(${n[y]}% - ${k.width/2}px)`}})}},a=t==="vertical"?r.reduce((y,S)=>qf(y).height>qf(S).height?y:S,Mp):r.reduce((y,S)=>qf(y).width>qf(S).width?y:S,Mp),c={position:"relative",touchAction:"none",WebkitTapHighlightColor:"rgba(0,0,0,0)",userSelect:"none",outline:0,...Du({orientation:t,vertical:a?{paddingLeft:a.width/2,paddingRight:a.width/2}:{},horizontal:a?{paddingTop:a.height/2,paddingBottom:a.height/2}:{}})},d={position:"absolute",...Du({orientation:t,vertical:{left:"50%",transform:"translateX(-50%)",height:"100%"},horizontal:{top:"50%",transform:"translateY(-50%)",width:"100%"}})},p=n.length===1,h=[0,o?100-n[0]:n[0]],m=p?h:n;let v=m[0];!p&&o&&(v=100-v);const b=Math.abs(m[m.length-1]-m[0]),w={...d,...Du({orientation:t,vertical:o?{height:`${b}%`,top:`${v}%`}:{height:`${b}%`,bottom:`${v}%`},horizontal:o?{width:`${b}%`,right:`${v}%`}:{width:`${b}%`,left:`${v}%`}})};return{trackStyle:d,innerTrackStyle:w,rootStyle:c,getThumbStyle:s}}function H6(e){const{isReversed:t,direction:n,orientation:r}=e;return n==="ltr"||r==="vertical"?t:!t}function RB(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function MB(e){const t=AB(e);return typeof t.PointerEvent<"u"&&e instanceof t.PointerEvent?e.pointerType==="mouse":e instanceof t.MouseEvent}function W6(e){return!!e.touches}function DB(e){return W6(e)&&e.touches.length>1}function AB(e){var t;return(t=e.view)!=null?t:window}function TB(e,t="page"){const n=e.touches[0]||e.changedTouches[0];return{x:n[`${t}X`],y:n[`${t}Y`]}}function NB(e,t="page"){return{x:e[`${t}X`],y:e[`${t}Y`]}}function V6(e,t="page"){return W6(e)?TB(e,t):NB(e,t)}function $B(e){return t=>{const n=MB(t);(!n||n&&t.button===0)&&e(t)}}function LB(e,t=!1){function n(o){e(o,{point:V6(o)})}return t?$B(n):n}function Dp(e,t,n,r){return RB(e,t,LB(n,t==="pointerdown"),r)}var zB=Object.defineProperty,BB=(e,t,n)=>t in e?zB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vs=(e,t,n)=>(BB(e,typeof t!="symbol"?t+"":t,n),n),FB=class{constructor(e,t,n){vs(this,"history",[]),vs(this,"startEvent",null),vs(this,"lastEvent",null),vs(this,"lastEventInfo",null),vs(this,"handlers",{}),vs(this,"removeListeners",()=>{}),vs(this,"threshold",3),vs(this,"win"),vs(this,"updatePoint",()=>{if(!(this.lastEvent&&this.lastEventInfo))return;const c=B0(this.lastEventInfo,this.history),d=this.startEvent!==null,p=UB(c.offset,{x:0,y:0})>=this.threshold;if(!d&&!p)return;const{timestamp:h}=Rw();this.history.push({...c.point,timestamp:h});const{onStart:m,onMove:v}=this.handlers;d||(m==null||m(this.lastEvent,c),this.startEvent=this.lastEvent),v==null||v(this.lastEvent,c)}),vs(this,"onPointerMove",(c,d)=>{this.lastEvent=c,this.lastEventInfo=d,aA.update(this.updatePoint,!0)}),vs(this,"onPointerUp",(c,d)=>{const p=B0(d,this.history),{onEnd:h,onSessionEnd:m}=this.handlers;m==null||m(c,p),this.end(),!(!h||!this.startEvent)&&(h==null||h(c,p))});var r;if(this.win=(r=e.view)!=null?r:window,DB(e))return;this.handlers=t,n&&(this.threshold=n),e.stopPropagation(),e.preventDefault();const o={point:V6(e)},{timestamp:s}=Rw();this.history=[{...o.point,timestamp:s}];const{onSessionStart:a}=t;a==null||a(e,B0(o,this.history)),this.removeListeners=VB(Dp(this.win,"pointermove",this.onPointerMove),Dp(this.win,"pointerup",this.onPointerUp),Dp(this.win,"pointercancel",this.onPointerUp))}updateHandlers(e){this.handlers=e}end(){var e;(e=this.removeListeners)==null||e.call(this),iA.update(this.updatePoint)}};function vS(e,t){return{x:e.x-t.x,y:e.y-t.y}}function B0(e,t){return{point:e.point,delta:vS(e.point,t[t.length-1]),offset:vS(e.point,t[0]),velocity:WB(t,.1)}}var HB=e=>e*1e3;function WB(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const o=e[e.length-1];for(;n>=0&&(r=e[n],!(o.timestamp-r.timestamp>HB(t)));)n--;if(!r)return{x:0,y:0};const s=(o.timestamp-r.timestamp)/1e3;if(s===0)return{x:0,y:0};const a={x:(o.x-r.x)/s,y:(o.y-r.y)/s};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}function VB(...e){return t=>e.reduce((n,r)=>r(n),t)}function F0(e,t){return Math.abs(e-t)}function bS(e){return"x"in e&&"y"in e}function UB(e,t){if(typeof e=="number"&&typeof t=="number")return F0(e,t);if(bS(e)&&bS(t)){const n=F0(e.x,t.x),r=F0(e.y,t.y);return Math.sqrt(n**2+r**2)}return 0}function U6(e){const t=f.useRef(null);return t.current=e,t}function G6(e,t){const{onPan:n,onPanStart:r,onPanEnd:o,onPanSessionStart:s,onPanSessionEnd:a,threshold:c}=t,d=!!(n||r||o||s||a),p=f.useRef(null),h=U6({onSessionStart:s,onSessionEnd:a,onStart:r,onMove:n,onEnd(m,v){p.current=null,o==null||o(m,v)}});f.useEffect(()=>{var m;(m=p.current)==null||m.updateHandlers(h.current)}),f.useEffect(()=>{const m=e.current;if(!m||!d)return;function v(b){p.current=new FB(b,h.current,c)}return Dp(m,"pointerdown",v)},[e,d,h,c]),f.useEffect(()=>()=>{var m;(m=p.current)==null||m.end(),p.current=null},[])}function GB(e,t){if(!e){t(void 0);return}t({width:e.offsetWidth,height:e.offsetHeight});const n=e.ownerDocument.defaultView??window,r=new n.ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const[s]=o;let a,c;if("borderBoxSize"in s){const d=s.borderBoxSize,p=Array.isArray(d)?d[0]:d;a=p.inlineSize,c=p.blockSize}else a=e.offsetWidth,c=e.offsetHeight;t({width:a,height:c})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}var qB=globalThis!=null&&globalThis.document?f.useLayoutEffect:f.useEffect;function KB(e,t){var n,r;if(!e||!e.parentElement)return;const o=(r=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?r:window,s=new o.MutationObserver(()=>{t()});return s.observe(e.parentElement,{childList:!0}),()=>{s.disconnect()}}function q6({getNodes:e,observeMutation:t=!0}){const[n,r]=f.useState([]),[o,s]=f.useState(0);return qB(()=>{const a=e(),c=a.map((d,p)=>GB(d,h=>{r(m=>[...m.slice(0,p),h,...m.slice(p+1)])}));if(t){const d=a[0];c.push(KB(d,()=>{s(p=>p+1)}))}return()=>{c.forEach(d=>{d==null||d()})}},[o]),n}function XB(e){return typeof e=="object"&&e!==null&&"current"in e}function YB(e){const[t]=q6({observeMutation:!1,getNodes(){return[XB(e)?e.current:e]}});return t}function QB(e){const{min:t=0,max:n=100,onChange:r,value:o,defaultValue:s,isReversed:a,direction:c="ltr",orientation:d="horizontal",id:p,isDisabled:h,isReadOnly:m,onChangeStart:v,onChangeEnd:b,step:w=1,getAriaValueText:y,"aria-valuetext":S,"aria-label":k,"aria-labelledby":_,name:P,focusThumbOnChange:I=!0,minStepsBetweenThumbs:E=0,...O}=e,R=or(v),M=or(b),D=or(y),A=H6({isReversed:a,direction:c,orientation:d}),[L,Q]=zc({value:o,defaultValue:s??[25,75],onChange:r});if(!Array.isArray(L))throw new TypeError(`[range-slider] You passed an invalid value for \`value\` or \`defaultValue\`, expected \`Array\` but got \`${typeof L}\``);const[F,V]=f.useState(!1),[q,G]=f.useState(!1),[T,z]=f.useState(-1),$=!(h||m),Y=f.useRef(L),ae=L.map(Pe=>ac(Pe,t,n)),fe=E*w,ie=JB(ae,t,n,fe),X=f.useRef({eventSource:null,value:[],valueBounds:[]});X.current.value=ae,X.current.valueBounds=ie;const K=ae.map(Pe=>n-Pe+t),se=(A?K:ae).map(Pe=>Qp(Pe,t,n)),re=d==="vertical",oe=f.useRef(null),pe=f.useRef(null),le=q6({getNodes(){const Pe=pe.current,Ye=Pe==null?void 0:Pe.querySelectorAll("[role=slider]");return Ye?Array.from(Ye):[]}}),ge=f.useId(),xe=OB(p??ge),de=f.useCallback(Pe=>{var Ye,Ke;if(!oe.current)return;X.current.eventSource="pointer";const dt=oe.current.getBoundingClientRect(),{clientX:zt,clientY:cr}=(Ke=(Ye=Pe.touches)==null?void 0:Ye[0])!=null?Ke:Pe,pn=re?dt.bottom-cr:zt-dt.left,ln=re?dt.height:dt.width;let Hr=pn/ln;return A&&(Hr=1-Hr),r3(Hr,t,n)},[re,A,n,t]),Te=(n-t)/10,Ee=w||(n-t)/100,$e=f.useMemo(()=>({setValueAtIndex(Pe,Ye){if(!$)return;const Ke=X.current.valueBounds[Pe];Ye=parseFloat(Uv(Ye,Ke.min,Ee)),Ye=ac(Ye,Ke.min,Ke.max);const dt=[...X.current.value];dt[Pe]=Ye,Q(dt)},setActiveIndex:z,stepUp(Pe,Ye=Ee){const Ke=X.current.value[Pe],dt=A?Ke-Ye:Ke+Ye;$e.setValueAtIndex(Pe,dt)},stepDown(Pe,Ye=Ee){const Ke=X.current.value[Pe],dt=A?Ke+Ye:Ke-Ye;$e.setValueAtIndex(Pe,dt)},reset(){Q(Y.current)}}),[Ee,A,Q,$]),kt=f.useCallback(Pe=>{const Ye=Pe.key,dt={ArrowRight:()=>$e.stepUp(T),ArrowUp:()=>$e.stepUp(T),ArrowLeft:()=>$e.stepDown(T),ArrowDown:()=>$e.stepDown(T),PageUp:()=>$e.stepUp(T,Te),PageDown:()=>$e.stepDown(T,Te),Home:()=>{const{min:zt}=ie[T];$e.setValueAtIndex(T,zt)},End:()=>{const{max:zt}=ie[T];$e.setValueAtIndex(T,zt)}}[Ye];dt&&(Pe.preventDefault(),Pe.stopPropagation(),dt(Pe),X.current.eventSource="keyboard")},[$e,T,Te,ie]),{getThumbStyle:ct,rootStyle:on,trackStyle:vt,innerTrackStyle:bt}=f.useMemo(()=>F6({isReversed:A,orientation:d,thumbRects:le,thumbPercents:se}),[A,d,se,le]),Se=f.useCallback(Pe=>{var Ye;const Ke=Pe??T;if(Ke!==-1&&I){const dt=xe.getThumb(Ke),zt=(Ye=pe.current)==null?void 0:Ye.ownerDocument.getElementById(dt);zt&&setTimeout(()=>zt.focus())}},[I,T,xe]);Fa(()=>{X.current.eventSource==="keyboard"&&(M==null||M(X.current.value))},[ae,M]);const Me=Pe=>{const Ye=de(Pe)||0,Ke=X.current.value.map(ln=>Math.abs(ln-Ye)),dt=Math.min(...Ke);let zt=Ke.indexOf(dt);const cr=Ke.filter(ln=>ln===dt);cr.length>1&&Ye>X.current.value[zt]&&(zt=zt+cr.length-1),z(zt),$e.setValueAtIndex(zt,Ye),Se(zt)},Pt=Pe=>{if(T==-1)return;const Ye=de(Pe)||0;z(T),$e.setValueAtIndex(T,Ye),Se(T)};G6(pe,{onPanSessionStart(Pe){$&&(V(!0),Me(Pe),R==null||R(X.current.value))},onPanSessionEnd(){$&&(V(!1),M==null||M(X.current.value))},onPan(Pe){$&&Pt(Pe)}});const Tt=f.useCallback((Pe={},Ye=null)=>({...Pe,...O,id:xe.root,ref:cn(Ye,pe),tabIndex:-1,"aria-disabled":uc(h),"data-focused":Zo(q),style:{...Pe.style,...on}}),[O,h,q,on,xe]),we=f.useCallback((Pe={},Ye=null)=>({...Pe,ref:cn(Ye,oe),id:xe.track,"data-disabled":Zo(h),style:{...Pe.style,...vt}}),[h,vt,xe]),ht=f.useCallback((Pe={},Ye=null)=>({...Pe,ref:Ye,id:xe.innerTrack,style:{...Pe.style,...bt}}),[bt,xe]),$t=f.useCallback((Pe,Ye=null)=>{var Ke;const{index:dt,...zt}=Pe,cr=ae[dt];if(cr==null)throw new TypeError(`[range-slider > thumb] Cannot find value at index \`${dt}\`. The \`value\` or \`defaultValue\` length is : ${ae.length}`);const pn=ie[dt];return{...zt,ref:Ye,role:"slider",tabIndex:$?0:void 0,id:xe.getThumb(dt),"data-active":Zo(F&&T===dt),"aria-valuetext":(Ke=D==null?void 0:D(cr))!=null?Ke:S==null?void 0:S[dt],"aria-valuemin":pn.min,"aria-valuemax":pn.max,"aria-valuenow":cr,"aria-orientation":d,"aria-disabled":uc(h),"aria-readonly":uc(m),"aria-label":k==null?void 0:k[dt],"aria-labelledby":k!=null&&k[dt]||_==null?void 0:_[dt],style:{...Pe.style,...ct(dt)},onKeyDown:dc(Pe.onKeyDown,kt),onFocus:dc(Pe.onFocus,()=>{G(!0),z(dt)}),onBlur:dc(Pe.onBlur,()=>{G(!1),z(-1)})}},[xe,ae,ie,$,F,T,D,S,d,h,m,k,_,ct,kt,G]),Lt=f.useCallback((Pe={},Ye=null)=>({...Pe,ref:Ye,id:xe.output,htmlFor:ae.map((Ke,dt)=>xe.getThumb(dt)).join(" "),"aria-live":"off"}),[xe,ae]),Le=f.useCallback((Pe,Ye=null)=>{const{value:Ke,...dt}=Pe,zt=!(Ken),cr=Ke>=ae[0]&&Ke<=ae[ae.length-1];let pn=Qp(Ke,t,n);pn=A?100-pn:pn;const ln={position:"absolute",pointerEvents:"none",...Du({orientation:d,vertical:{bottom:`${pn}%`},horizontal:{left:`${pn}%`}})};return{...dt,ref:Ye,id:xe.getMarker(Pe.value),role:"presentation","aria-hidden":!0,"data-disabled":Zo(h),"data-invalid":Zo(!zt),"data-highlighted":Zo(cr),style:{...Pe.style,...ln}}},[h,A,n,t,d,ae,xe]),Ge=f.useCallback((Pe,Ye=null)=>{const{index:Ke,...dt}=Pe;return{...dt,ref:Ye,id:xe.getInput(Ke),type:"hidden",value:ae[Ke],name:Array.isArray(P)?P[Ke]:`${P}-${Ke}`}},[P,ae,xe]);return{state:{value:ae,isFocused:q,isDragging:F,getThumbPercent:Pe=>se[Pe],getThumbMinValue:Pe=>ie[Pe].min,getThumbMaxValue:Pe=>ie[Pe].max},actions:$e,getRootProps:Tt,getTrackProps:we,getInnerTrackProps:ht,getThumbProps:$t,getMarkerProps:Le,getInputProps:Ge,getOutputProps:Lt}}function JB(e,t,n,r){return e.map((o,s)=>{const a=s===0?t:e[s-1]+r,c=s===e.length-1?n:e[s+1]-r;return{min:a,max:c}})}var[ZB,Om]=Dn({name:"SliderContext",errorMessage:"useSliderContext: `context` is undefined. Seems you forgot to wrap all slider components within "}),[eF,Rm]=Dn({name:"RangeSliderStylesContext",errorMessage:`useRangeSliderStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),K6=Ae(function(t,n){const r={orientation:"horizontal",...t},o=Fr("Slider",r),s=qn(r),{direction:a}=Nc();s.direction=a;const{getRootProps:c,...d}=QB(s),p=f.useMemo(()=>({...d,name:r.name}),[d,r.name]);return i.jsx(ZB,{value:p,children:i.jsx(eF,{value:o,children:i.jsx(je.div,{...c({},n),className:"chakra-slider",__css:o.container,children:r.children})})})});K6.displayName="RangeSlider";var s1=Ae(function(t,n){const{getThumbProps:r,getInputProps:o,name:s}=Om(),a=Rm(),c=r(t,n);return i.jsxs(je.div,{...c,className:ji("chakra-slider__thumb",t.className),__css:a.thumb,children:[c.children,s&&i.jsx("input",{...o({index:t.index})})]})});s1.displayName="RangeSliderThumb";var X6=Ae(function(t,n){const{getTrackProps:r}=Om(),o=Rm(),s=r(t,n);return i.jsx(je.div,{...s,className:ji("chakra-slider__track",t.className),__css:o.track,"data-testid":"chakra-range-slider-track"})});X6.displayName="RangeSliderTrack";var Y6=Ae(function(t,n){const{getInnerTrackProps:r}=Om(),o=Rm(),s=r(t,n);return i.jsx(je.div,{...s,className:"chakra-slider__filled-track",__css:o.filledTrack})});Y6.displayName="RangeSliderFilledTrack";var Ap=Ae(function(t,n){const{getMarkerProps:r}=Om(),o=Rm(),s=r(t,n);return i.jsx(je.div,{...s,className:ji("chakra-slider__marker",t.className),__css:o.mark})});Ap.displayName="RangeSliderMark";function tF(e){var t;const{min:n=0,max:r=100,onChange:o,value:s,defaultValue:a,isReversed:c,direction:d="ltr",orientation:p="horizontal",id:h,isDisabled:m,isReadOnly:v,onChangeStart:b,onChangeEnd:w,step:y=1,getAriaValueText:S,"aria-valuetext":k,"aria-label":_,"aria-labelledby":P,name:I,focusThumbOnChange:E=!0,...O}=e,R=or(b),M=or(w),D=or(S),A=H6({isReversed:c,direction:d,orientation:p}),[L,Q]=zc({value:s,defaultValue:a??rF(n,r),onChange:o}),[F,V]=f.useState(!1),[q,G]=f.useState(!1),T=!(m||v),z=(r-n)/10,$=y||(r-n)/100,Y=ac(L,n,r),ae=r-Y+n,ie=Qp(A?ae:Y,n,r),X=p==="vertical",K=U6({min:n,max:r,step:y,isDisabled:m,value:Y,isInteractive:T,isReversed:A,isVertical:X,eventSource:null,focusThumbOnChange:E,orientation:p}),U=f.useRef(null),se=f.useRef(null),re=f.useRef(null),oe=f.useId(),pe=h??oe,[le,ge]=[`slider-thumb-${pe}`,`slider-track-${pe}`],ke=f.useCallback(Le=>{var Ge,Pn;if(!U.current)return;const Pe=K.current;Pe.eventSource="pointer";const Ye=U.current.getBoundingClientRect(),{clientX:Ke,clientY:dt}=(Pn=(Ge=Le.touches)==null?void 0:Ge[0])!=null?Pn:Le,zt=X?Ye.bottom-dt:Ke-Ye.left,cr=X?Ye.height:Ye.width;let pn=zt/cr;A&&(pn=1-pn);let ln=r3(pn,Pe.min,Pe.max);return Pe.step&&(ln=parseFloat(Uv(ln,Pe.min,Pe.step))),ln=ac(ln,Pe.min,Pe.max),ln},[X,A,K]),xe=f.useCallback(Le=>{const Ge=K.current;Ge.isInteractive&&(Le=parseFloat(Uv(Le,Ge.min,$)),Le=ac(Le,Ge.min,Ge.max),Q(Le))},[$,Q,K]),de=f.useMemo(()=>({stepUp(Le=$){const Ge=A?Y-Le:Y+Le;xe(Ge)},stepDown(Le=$){const Ge=A?Y+Le:Y-Le;xe(Ge)},reset(){xe(a||0)},stepTo(Le){xe(Le)}}),[xe,A,Y,$,a]),Te=f.useCallback(Le=>{const Ge=K.current,Pe={ArrowRight:()=>de.stepUp(),ArrowUp:()=>de.stepUp(),ArrowLeft:()=>de.stepDown(),ArrowDown:()=>de.stepDown(),PageUp:()=>de.stepUp(z),PageDown:()=>de.stepDown(z),Home:()=>xe(Ge.min),End:()=>xe(Ge.max)}[Le.key];Pe&&(Le.preventDefault(),Le.stopPropagation(),Pe(Le),Ge.eventSource="keyboard")},[de,xe,z,K]),Ee=(t=D==null?void 0:D(Y))!=null?t:k,$e=YB(se),{getThumbStyle:kt,rootStyle:ct,trackStyle:on,innerTrackStyle:vt}=f.useMemo(()=>{const Le=K.current,Ge=$e??{width:0,height:0};return F6({isReversed:A,orientation:Le.orientation,thumbRects:[Ge],thumbPercents:[ie]})},[A,$e,ie,K]),bt=f.useCallback(()=>{K.current.focusThumbOnChange&&setTimeout(()=>{var Ge;return(Ge=se.current)==null?void 0:Ge.focus()})},[K]);Fa(()=>{const Le=K.current;bt(),Le.eventSource==="keyboard"&&(M==null||M(Le.value))},[Y,M]);function Se(Le){const Ge=ke(Le);Ge!=null&&Ge!==K.current.value&&Q(Ge)}G6(re,{onPanSessionStart(Le){const Ge=K.current;Ge.isInteractive&&(V(!0),bt(),Se(Le),R==null||R(Ge.value))},onPanSessionEnd(){const Le=K.current;Le.isInteractive&&(V(!1),M==null||M(Le.value))},onPan(Le){K.current.isInteractive&&Se(Le)}});const Me=f.useCallback((Le={},Ge=null)=>({...Le,...O,ref:cn(Ge,re),tabIndex:-1,"aria-disabled":uc(m),"data-focused":Zo(q),style:{...Le.style,...ct}}),[O,m,q,ct]),Pt=f.useCallback((Le={},Ge=null)=>({...Le,ref:cn(Ge,U),id:ge,"data-disabled":Zo(m),style:{...Le.style,...on}}),[m,ge,on]),Tt=f.useCallback((Le={},Ge=null)=>({...Le,ref:Ge,style:{...Le.style,...vt}}),[vt]),we=f.useCallback((Le={},Ge=null)=>({...Le,ref:cn(Ge,se),role:"slider",tabIndex:T?0:void 0,id:le,"data-active":Zo(F),"aria-valuetext":Ee,"aria-valuemin":n,"aria-valuemax":r,"aria-valuenow":Y,"aria-orientation":p,"aria-disabled":uc(m),"aria-readonly":uc(v),"aria-label":_,"aria-labelledby":_?void 0:P,style:{...Le.style,...kt(0)},onKeyDown:dc(Le.onKeyDown,Te),onFocus:dc(Le.onFocus,()=>G(!0)),onBlur:dc(Le.onBlur,()=>G(!1))}),[T,le,F,Ee,n,r,Y,p,m,v,_,P,kt,Te]),ht=f.useCallback((Le,Ge=null)=>{const Pn=!(Le.valuer),Pe=Y>=Le.value,Ye=Qp(Le.value,n,r),Ke={position:"absolute",pointerEvents:"none",...nF({orientation:p,vertical:{bottom:A?`${100-Ye}%`:`${Ye}%`},horizontal:{left:A?`${100-Ye}%`:`${Ye}%`}})};return{...Le,ref:Ge,role:"presentation","aria-hidden":!0,"data-disabled":Zo(m),"data-invalid":Zo(!Pn),"data-highlighted":Zo(Pe),style:{...Le.style,...Ke}}},[m,A,r,n,p,Y]),$t=f.useCallback((Le={},Ge=null)=>({...Le,ref:Ge,type:"hidden",value:Y,name:I}),[I,Y]);return{state:{value:Y,isFocused:q,isDragging:F},actions:de,getRootProps:Me,getTrackProps:Pt,getInnerTrackProps:Tt,getThumbProps:we,getMarkerProps:ht,getInputProps:$t}}function nF(e){const{orientation:t,vertical:n,horizontal:r}=e;return t==="vertical"?n:r}function rF(e,t){return t"}),[sF,Dm]=Dn({name:"SliderStylesContext",hookName:"useSliderStyles",providerName:""}),Q6=Ae((e,t)=>{var n;const r={...e,orientation:(n=e==null?void 0:e.orientation)!=null?n:"horizontal"},o=Fr("Slider",r),s=qn(r),{direction:a}=Nc();s.direction=a;const{getInputProps:c,getRootProps:d,...p}=tF(s),h=d(),m=c({},t);return i.jsx(oF,{value:p,children:i.jsx(sF,{value:o,children:i.jsxs(je.div,{...h,className:ji("chakra-slider",r.className),__css:o.container,children:[r.children,i.jsx("input",{...m})]})})})});Q6.displayName="Slider";var J6=Ae((e,t)=>{const{getThumbProps:n}=Mm(),r=Dm(),o=n(e,t);return i.jsx(je.div,{...o,className:ji("chakra-slider__thumb",e.className),__css:r.thumb})});J6.displayName="SliderThumb";var Z6=Ae((e,t)=>{const{getTrackProps:n}=Mm(),r=Dm(),o=n(e,t);return i.jsx(je.div,{...o,className:ji("chakra-slider__track",e.className),__css:r.track})});Z6.displayName="SliderTrack";var eP=Ae((e,t)=>{const{getInnerTrackProps:n}=Mm(),r=Dm(),o=n(e,t);return i.jsx(je.div,{...o,className:ji("chakra-slider__filled-track",e.className),__css:r.filledTrack})});eP.displayName="SliderFilledTrack";var ql=Ae((e,t)=>{const{getMarkerProps:n}=Mm(),r=Dm(),o=n(e,t);return i.jsx(je.div,{...o,className:ji("chakra-slider__marker",e.className),__css:r.mark})});ql.displayName="SliderMark";var Zb=Ae(function(t,n){const r=Fr("Switch",t),{spacing:o="0.5rem",children:s,...a}=qn(t),{getIndicatorProps:c,getInputProps:d,getCheckboxProps:p,getRootProps:h,getLabelProps:m}=t3(a),v=f.useMemo(()=>({display:"inline-block",position:"relative",verticalAlign:"middle",lineHeight:0,...r.container}),[r.container]),b=f.useMemo(()=>({display:"inline-flex",flexShrink:0,justifyContent:"flex-start",boxSizing:"content-box",cursor:"pointer",...r.track}),[r.track]),w=f.useMemo(()=>({userSelect:"none",marginStart:o,...r.label}),[o,r.label]);return i.jsxs(je.label,{...h(),className:Ct("chakra-switch",t.className),__css:v,children:[i.jsx("input",{className:"chakra-switch__input",...d({},n)}),i.jsx(je.span,{...p(),className:"chakra-switch__track",__css:b,children:i.jsx(je.span,{__css:r.thumb,className:"chakra-switch__thumb",...c()})}),s&&i.jsx(je.span,{className:"chakra-switch__label",...m(),__css:w,children:s})]})});Zb.displayName="Switch";var[aF,iF,lF,cF]=pb();function uF(e){var t;const{defaultIndex:n,onChange:r,index:o,isManual:s,isLazy:a,lazyBehavior:c="unmount",orientation:d="horizontal",direction:p="ltr",...h}=e,[m,v]=f.useState(n??0),[b,w]=zc({defaultValue:n??0,value:o,onChange:r});f.useEffect(()=>{o!=null&&v(o)},[o]);const y=lF(),S=f.useId();return{id:`tabs-${(t=e.id)!=null?t:S}`,selectedIndex:b,focusedIndex:m,setSelectedIndex:w,setFocusedIndex:v,isManual:s,isLazy:a,lazyBehavior:c,orientation:d,descendants:y,direction:p,htmlProps:h}}var[dF,Am]=Dn({name:"TabsContext",errorMessage:"useTabsContext: `context` is undefined. Seems you forgot to wrap all tabs components within "});function fF(e){const{focusedIndex:t,orientation:n,direction:r}=Am(),o=iF(),s=f.useCallback(a=>{const c=()=>{var _;const P=o.nextEnabled(t);P&&((_=P.node)==null||_.focus())},d=()=>{var _;const P=o.prevEnabled(t);P&&((_=P.node)==null||_.focus())},p=()=>{var _;const P=o.firstEnabled();P&&((_=P.node)==null||_.focus())},h=()=>{var _;const P=o.lastEnabled();P&&((_=P.node)==null||_.focus())},m=n==="horizontal",v=n==="vertical",b=a.key,w=r==="ltr"?"ArrowLeft":"ArrowRight",y=r==="ltr"?"ArrowRight":"ArrowLeft",k={[w]:()=>m&&d(),[y]:()=>m&&c(),ArrowDown:()=>v&&c(),ArrowUp:()=>v&&d(),Home:p,End:h}[b];k&&(a.preventDefault(),k(a))},[o,t,n,r]);return{...e,role:"tablist","aria-orientation":n,onKeyDown:et(e.onKeyDown,s)}}function pF(e){const{isDisabled:t=!1,isFocusable:n=!1,...r}=e,{setSelectedIndex:o,isManual:s,id:a,setFocusedIndex:c,selectedIndex:d}=Am(),{index:p,register:h}=cF({disabled:t&&!n}),m=p===d,v=()=>{o(p)},b=()=>{c(p),!s&&!(t&&n)&&o(p)},w=s6({...r,ref:cn(h,e.ref),isDisabled:t,isFocusable:n,onClick:et(e.onClick,v)}),y="button";return{...w,id:tP(a,p),role:"tab",tabIndex:m?0:-1,type:y,"aria-selected":m,"aria-controls":nP(a,p),onFocus:t?void 0:et(e.onFocus,b)}}var[hF,mF]=Dn({});function gF(e){const t=Am(),{id:n,selectedIndex:r}=t,s=Pd(e.children).map((a,c)=>f.createElement(hF,{key:c,value:{isSelected:c===r,id:nP(n,c),tabId:tP(n,c),selectedIndex:r}},a));return{...e,children:s}}function vF(e){const{children:t,...n}=e,{isLazy:r,lazyBehavior:o}=Am(),{isSelected:s,id:a,tabId:c}=mF(),d=f.useRef(!1);s&&(d.current=!0);const p=Ub({wasSelected:d.current,isSelected:s,enabled:r,mode:o});return{tabIndex:0,...n,children:p?t:null,role:"tabpanel","aria-labelledby":c,hidden:!s,id:a}}function tP(e,t){return`${e}--tab-${t}`}function nP(e,t){return`${e}--tabpanel-${t}`}var[bF,Tm]=Dn({name:"TabsStylesContext",errorMessage:`useTabsStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Ld=Ae(function(t,n){const r=Fr("Tabs",t),{children:o,className:s,...a}=qn(t),{htmlProps:c,descendants:d,...p}=uF(a),h=f.useMemo(()=>p,[p]),{isFitted:m,...v}=c;return i.jsx(aF,{value:d,children:i.jsx(dF,{value:h,children:i.jsx(bF,{value:r,children:i.jsx(je.div,{className:Ct("chakra-tabs",s),ref:n,...v,__css:r.root,children:o})})})})});Ld.displayName="Tabs";var zd=Ae(function(t,n){const r=fF({...t,ref:n}),s={display:"flex",...Tm().tablist};return i.jsx(je.div,{...r,className:Ct("chakra-tabs__tablist",t.className),__css:s})});zd.displayName="TabList";var Nm=Ae(function(t,n){const r=vF({...t,ref:n}),o=Tm();return i.jsx(je.div,{outline:"0",...r,className:Ct("chakra-tabs__tab-panel",t.className),__css:o.tabpanel})});Nm.displayName="TabPanel";var $m=Ae(function(t,n){const r=gF(t),o=Tm();return i.jsx(je.div,{...r,width:"100%",ref:n,className:Ct("chakra-tabs__tab-panels",t.className),__css:o.tabpanels})});$m.displayName="TabPanels";var kc=Ae(function(t,n){const r=Tm(),o=pF({...t,ref:n}),s={outline:"0",display:"flex",alignItems:"center",justifyContent:"center",...r.tab};return i.jsx(je.button,{...o,className:Ct("chakra-tabs__tab",t.className),__css:s})});kc.displayName="Tab";function yF(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var xF=["h","minH","height","minHeight"],ey=Ae((e,t)=>{const n=ia("Textarea",e),{className:r,rows:o,...s}=qn(e),a=gb(s),c=o?yF(n,xF):n;return i.jsx(je.textarea,{ref:t,rows:o,...a,className:Ct("chakra-textarea",r),__css:c})});ey.displayName="Textarea";var wF={exit:{scale:.85,opacity:0,transition:{opacity:{duration:.15,easings:"easeInOut"},scale:{duration:.2,easings:"easeInOut"}}},enter:{scale:1,opacity:1,transition:{opacity:{easings:"easeOut",duration:.2},scale:{duration:.2,ease:[.175,.885,.4,1.1]}}}},a1=e=>{var t;return((t=e.current)==null?void 0:t.ownerDocument)||document},Tp=e=>{var t,n;return((n=(t=e.current)==null?void 0:t.ownerDocument)==null?void 0:n.defaultView)||window};function SF(e={}){const{openDelay:t=0,closeDelay:n=0,closeOnClick:r=!0,closeOnMouseDown:o,closeOnScroll:s,closeOnPointerDown:a=o,closeOnEsc:c=!0,onOpen:d,onClose:p,placement:h,id:m,isOpen:v,defaultIsOpen:b,arrowSize:w=10,arrowShadowColor:y,arrowPadding:S,modifiers:k,isDisabled:_,gutter:P,offset:I,direction:E,...O}=e,{isOpen:R,onOpen:M,onClose:D}=Vb({isOpen:v,defaultIsOpen:b,onOpen:d,onClose:p}),{referenceRef:A,getPopperProps:L,getArrowInnerProps:Q,getArrowProps:F}=Wb({enabled:R,placement:h,arrowPadding:S,modifiers:k,gutter:P,offset:I,direction:E}),V=f.useId(),G=`tooltip-${m??V}`,T=f.useRef(null),z=f.useRef(),$=f.useCallback(()=>{z.current&&(clearTimeout(z.current),z.current=void 0)},[]),Y=f.useRef(),ae=f.useCallback(()=>{Y.current&&(clearTimeout(Y.current),Y.current=void 0)},[]),fe=f.useCallback(()=>{ae(),D()},[D,ae]),ie=CF(T,fe),X=f.useCallback(()=>{if(!_&&!z.current){R&&ie();const ge=Tp(T);z.current=ge.setTimeout(M,t)}},[ie,_,R,M,t]),K=f.useCallback(()=>{$();const ge=Tp(T);Y.current=ge.setTimeout(fe,n)},[n,fe,$]),U=f.useCallback(()=>{R&&r&&K()},[r,K,R]),se=f.useCallback(()=>{R&&a&&K()},[a,K,R]),re=f.useCallback(ge=>{R&&ge.key==="Escape"&&K()},[R,K]);Yi(()=>a1(T),"keydown",c?re:void 0),Yi(()=>{const ge=T.current;if(!ge)return null;const ke=q3(ge);return ke.localName==="body"?Tp(T):ke},"scroll",()=>{R&&s&&fe()},{passive:!0,capture:!0}),f.useEffect(()=>{_&&($(),R&&D())},[_,R,D,$]),f.useEffect(()=>()=>{$(),ae()},[$,ae]),Yi(()=>T.current,"pointerleave",K);const oe=f.useCallback((ge={},ke=null)=>({...ge,ref:cn(T,ke,A),onPointerEnter:et(ge.onPointerEnter,de=>{de.pointerType!=="touch"&&X()}),onClick:et(ge.onClick,U),onPointerDown:et(ge.onPointerDown,se),onFocus:et(ge.onFocus,X),onBlur:et(ge.onBlur,K),"aria-describedby":R?G:void 0}),[X,K,se,R,G,U,A]),pe=f.useCallback((ge={},ke=null)=>L({...ge,style:{...ge.style,[Ir.arrowSize.var]:w?`${w}px`:void 0,[Ir.arrowShadowColor.var]:y}},ke),[L,w,y]),le=f.useCallback((ge={},ke=null)=>{const xe={...ge.style,position:"relative",transformOrigin:Ir.transformOrigin.varRef};return{ref:ke,...O,...ge,id:G,role:"tooltip",style:xe}},[O,G]);return{isOpen:R,show:X,hide:K,getTriggerProps:oe,getTooltipProps:le,getTooltipPositionerProps:pe,getArrowProps:F,getArrowInnerProps:Q}}var H0="chakra-ui:close-tooltip";function CF(e,t){return f.useEffect(()=>{const n=a1(e);return n.addEventListener(H0,t),()=>n.removeEventListener(H0,t)},[t,e]),()=>{const n=a1(e),r=Tp(e);n.dispatchEvent(new r.CustomEvent(H0))}}function kF(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function _F(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}var PF=je(Er.div),vn=Ae((e,t)=>{var n,r;const o=ia("Tooltip",e),s=qn(e),a=Nc(),{children:c,label:d,shouldWrapChildren:p,"aria-label":h,hasArrow:m,bg:v,portalProps:b,background:w,backgroundColor:y,bgColor:S,motionProps:k,..._}=s,P=(r=(n=w??y)!=null?n:v)!=null?r:S;if(P){o.bg=P;const L=zR(a,"colors",P);o[Ir.arrowBg.var]=L}const I=SF({..._,direction:a.direction}),E=typeof c=="string"||p;let O;if(E)O=i.jsx(je.span,{display:"inline-block",tabIndex:0,...I.getTriggerProps(),children:c});else{const L=f.Children.only(c);O=f.cloneElement(L,I.getTriggerProps(L.props,L.ref))}const R=!!h,M=I.getTooltipProps({},t),D=R?kF(M,["role","id"]):M,A=_F(M,["role","id"]);return d?i.jsxs(i.Fragment,{children:[O,i.jsx(mo,{children:I.isOpen&&i.jsx(Zu,{...b,children:i.jsx(je.div,{...I.getTooltipPositionerProps(),__css:{zIndex:o.zIndex,pointerEvents:"none"},children:i.jsxs(PF,{variants:wF,initial:"exit",animate:"enter",exit:"exit",...k,...D,__css:o,children:[d,R&&i.jsx(je.span,{srOnly:!0,...A,children:h}),m&&i.jsx(je.div,{"data-popper-arrow":!0,className:"chakra-tooltip__arrow-wrapper",children:i.jsx(je.div,{"data-popper-arrow-inner":!0,className:"chakra-tooltip__arrow",__css:{bg:o.bg}})})]})})})})]}):i.jsx(i.Fragment,{children:c})});vn.displayName="Tooltip";function jF(e,t={}){let n=f.useCallback(o=>t.keys?M9(e,t.keys,o):e.listen(o),[t.keys,e]),r=e.get.bind(e);return f.useSyncExternalStore(n,r,r)}const vo=e=>e.system,IF=e=>e.system.toastQueue,rP=be(vo,e=>e.language,Je),kr=be(e=>e,e=>e.system.isProcessing||!e.system.isConnected),EF=be(vo,e=>{const{consoleLogLevel:t,shouldLogToConsole:n}=e;return{consoleLogLevel:t,shouldLogToConsole:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),OF=()=>{const{consoleLogLevel:e,shouldLogToConsole:t}=B(EF);return f.useEffect(()=>{t?(localStorage.setItem("ROARR_LOG","true"),localStorage.setItem("ROARR_FILTER",`context.logLevel:>=${BR[e]}`)):localStorage.setItem("ROARR_LOG","false"),G2.ROARR.write=FR.createLogWriter()},[e,t]),f.useEffect(()=>{const r={...HR};q2.set(G2.Roarr.child(r))},[]),jF(q2)},RF=()=>{const e=te(),t=B(IF),n=uA();return f.useEffect(()=>{t.forEach(r=>{n(r)}),t.length>0&&e(WR())},[e,n,t]),null},Vc=()=>{const e=te();return f.useCallback(n=>e(On(Mn(n))),[e])};var MF=new Map([["aac","audio/aac"],["abw","application/x-abiword"],["arc","application/x-freearc"],["avif","image/avif"],["avi","video/x-msvideo"],["azw","application/vnd.amazon.ebook"],["bin","application/octet-stream"],["bmp","image/bmp"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["cda","application/x-cdf"],["csh","application/x-csh"],["css","text/css"],["csv","text/csv"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["eot","application/vnd.ms-fontobject"],["epub","application/epub+zip"],["gz","application/gzip"],["gif","image/gif"],["heic","image/heic"],["heif","image/heif"],["htm","text/html"],["html","text/html"],["ico","image/vnd.microsoft.icon"],["ics","text/calendar"],["jar","application/java-archive"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["js","text/javascript"],["json","application/json"],["jsonld","application/ld+json"],["mid","audio/midi"],["midi","audio/midi"],["mjs","text/javascript"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mpeg","video/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["opus","audio/opus"],["otf","font/otf"],["png","image/png"],["pdf","application/pdf"],["php","application/x-httpd-php"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["rar","application/vnd.rar"],["rtf","application/rtf"],["sh","application/x-sh"],["svg","image/svg+xml"],["swf","application/x-shockwave-flash"],["tar","application/x-tar"],["tif","image/tiff"],["tiff","image/tiff"],["ts","video/mp2t"],["ttf","font/ttf"],["txt","text/plain"],["vsd","application/vnd.visio"],["wav","audio/wav"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["woff","font/woff"],["woff2","font/woff2"],["xhtml","application/xhtml+xml"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xml","application/xml"],["xul","application/vnd.mozilla.xul+xml"],["zip","application/zip"],["7z","application/x-7z-compressed"],["mkv","video/x-matroska"],["mov","video/quicktime"],["msg","application/vnd.ms-outlook"]]);function Bd(e,t){var n=DF(e);if(typeof n.path!="string"){var r=e.webkitRelativePath;Object.defineProperty(n,"path",{value:typeof t=="string"?t:typeof r=="string"&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}function DF(e){var t=e.name,n=t&&t.lastIndexOf(".")!==-1;if(n&&!e.type){var r=t.split(".").pop().toLowerCase(),o=MF.get(r);o&&Object.defineProperty(e,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return e}var AF=[".DS_Store","Thumbs.db"];function TF(e){return Bc(this,void 0,void 0,function(){return Fc(this,function(t){return sh(e)&&NF(e.dataTransfer)?[2,BF(e.dataTransfer,e.type)]:$F(e)?[2,LF(e)]:Array.isArray(e)&&e.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,zF(e)]:[2,[]]})})}function NF(e){return sh(e)}function $F(e){return sh(e)&&sh(e.target)}function sh(e){return typeof e=="object"&&e!==null}function LF(e){return i1(e.target.files).map(function(t){return Bd(t)})}function zF(e){return Bc(this,void 0,void 0,function(){var t;return Fc(this,function(n){switch(n.label){case 0:return[4,Promise.all(e.map(function(r){return r.getFile()}))];case 1:return t=n.sent(),[2,t.map(function(r){return Bd(r)})]}})})}function BF(e,t){return Bc(this,void 0,void 0,function(){var n,r;return Fc(this,function(o){switch(o.label){case 0:return e.items?(n=i1(e.items).filter(function(s){return s.kind==="file"}),t!=="drop"?[2,n]:[4,Promise.all(n.map(FF))]):[3,2];case 1:return r=o.sent(),[2,yS(oP(r))];case 2:return[2,yS(i1(e.files).map(function(s){return Bd(s)}))]}})})}function yS(e){return e.filter(function(t){return AF.indexOf(t.name)===-1})}function i1(e){if(e===null)return[];for(var t=[],n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nn)return[!1,kS(n)];if(e.sizen)return[!1,kS(n)]}return[!0,null]}function Vi(e){return e!=null}function rH(e){var t=e.files,n=e.accept,r=e.minSize,o=e.maxSize,s=e.multiple,a=e.maxFiles,c=e.validator;return!s&&t.length>1||s&&a>=1&&t.length>a?!1:t.every(function(d){var p=lP(d,n),h=cd(p,1),m=h[0],v=cP(d,r,o),b=cd(v,1),w=b[0],y=c?c(d):null;return m&&w&&!y})}function ah(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function Kf(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function PS(e){e.preventDefault()}function oH(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function sH(e){return e.indexOf("Edge/")!==-1}function aH(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return oH(e)||sH(e)}function Gs(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;ae.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function CH(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}var ty=f.forwardRef(function(e,t){var n=e.children,r=ih(e,fH),o=ny(r),s=o.open,a=ih(o,pH);return f.useImperativeHandle(t,function(){return{open:s}},[s]),H.createElement(f.Fragment,null,n(fr(fr({},a),{},{open:s})))});ty.displayName="Dropzone";var pP={disabled:!1,getFilesFromEvent:TF,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!0,autoFocus:!1};ty.defaultProps=pP;ty.propTypes={children:zn.func,accept:zn.objectOf(zn.arrayOf(zn.string)),multiple:zn.bool,preventDropOnDocument:zn.bool,noClick:zn.bool,noKeyboard:zn.bool,noDrag:zn.bool,noDragEventsBubbling:zn.bool,minSize:zn.number,maxSize:zn.number,maxFiles:zn.number,disabled:zn.bool,getFilesFromEvent:zn.func,onFileDialogCancel:zn.func,onFileDialogOpen:zn.func,useFsAccessApi:zn.bool,autoFocus:zn.bool,onDragEnter:zn.func,onDragLeave:zn.func,onDragOver:zn.func,onDrop:zn.func,onDropAccepted:zn.func,onDropRejected:zn.func,onError:zn.func,validator:zn.func};var d1={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function ny(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=fr(fr({},pP),e),n=t.accept,r=t.disabled,o=t.getFilesFromEvent,s=t.maxSize,a=t.minSize,c=t.multiple,d=t.maxFiles,p=t.onDragEnter,h=t.onDragLeave,m=t.onDragOver,v=t.onDrop,b=t.onDropAccepted,w=t.onDropRejected,y=t.onFileDialogCancel,S=t.onFileDialogOpen,k=t.useFsAccessApi,_=t.autoFocus,P=t.preventDropOnDocument,I=t.noClick,E=t.noKeyboard,O=t.noDrag,R=t.noDragEventsBubbling,M=t.onError,D=t.validator,A=f.useMemo(function(){return cH(n)},[n]),L=f.useMemo(function(){return lH(n)},[n]),Q=f.useMemo(function(){return typeof S=="function"?S:IS},[S]),F=f.useMemo(function(){return typeof y=="function"?y:IS},[y]),V=f.useRef(null),q=f.useRef(null),G=f.useReducer(kH,d1),T=W0(G,2),z=T[0],$=T[1],Y=z.isFocused,ae=z.isFileDialogActive,fe=f.useRef(typeof window<"u"&&window.isSecureContext&&k&&iH()),ie=function(){!fe.current&&ae&&setTimeout(function(){if(q.current){var Me=q.current.files;Me.length||($({type:"closeDialog"}),F())}},300)};f.useEffect(function(){return window.addEventListener("focus",ie,!1),function(){window.removeEventListener("focus",ie,!1)}},[q,ae,F,fe]);var X=f.useRef([]),K=function(Me){V.current&&V.current.contains(Me.target)||(Me.preventDefault(),X.current=[])};f.useEffect(function(){return P&&(document.addEventListener("dragover",PS,!1),document.addEventListener("drop",K,!1)),function(){P&&(document.removeEventListener("dragover",PS),document.removeEventListener("drop",K))}},[V,P]),f.useEffect(function(){return!r&&_&&V.current&&V.current.focus(),function(){}},[V,_,r]);var U=f.useCallback(function(Se){M?M(Se):console.error(Se)},[M]),se=f.useCallback(function(Se){Se.preventDefault(),Se.persist(),ct(Se),X.current=[].concat(gH(X.current),[Se.target]),Kf(Se)&&Promise.resolve(o(Se)).then(function(Me){if(!(ah(Se)&&!R)){var Pt=Me.length,Tt=Pt>0&&rH({files:Me,accept:A,minSize:a,maxSize:s,multiple:c,maxFiles:d,validator:D}),we=Pt>0&&!Tt;$({isDragAccept:Tt,isDragReject:we,isDragActive:!0,type:"setDraggedFiles"}),p&&p(Se)}}).catch(function(Me){return U(Me)})},[o,p,U,R,A,a,s,c,d,D]),re=f.useCallback(function(Se){Se.preventDefault(),Se.persist(),ct(Se);var Me=Kf(Se);if(Me&&Se.dataTransfer)try{Se.dataTransfer.dropEffect="copy"}catch{}return Me&&m&&m(Se),!1},[m,R]),oe=f.useCallback(function(Se){Se.preventDefault(),Se.persist(),ct(Se);var Me=X.current.filter(function(Tt){return V.current&&V.current.contains(Tt)}),Pt=Me.indexOf(Se.target);Pt!==-1&&Me.splice(Pt,1),X.current=Me,!(Me.length>0)&&($({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),Kf(Se)&&h&&h(Se))},[V,h,R]),pe=f.useCallback(function(Se,Me){var Pt=[],Tt=[];Se.forEach(function(we){var ht=lP(we,A),$t=W0(ht,2),Lt=$t[0],Le=$t[1],Ge=cP(we,a,s),Pn=W0(Ge,2),Pe=Pn[0],Ye=Pn[1],Ke=D?D(we):null;if(Lt&&Pe&&!Ke)Pt.push(we);else{var dt=[Le,Ye];Ke&&(dt=dt.concat(Ke)),Tt.push({file:we,errors:dt.filter(function(zt){return zt})})}}),(!c&&Pt.length>1||c&&d>=1&&Pt.length>d)&&(Pt.forEach(function(we){Tt.push({file:we,errors:[nH]})}),Pt.splice(0)),$({acceptedFiles:Pt,fileRejections:Tt,type:"setFiles"}),v&&v(Pt,Tt,Me),Tt.length>0&&w&&w(Tt,Me),Pt.length>0&&b&&b(Pt,Me)},[$,c,A,a,s,d,v,b,w,D]),le=f.useCallback(function(Se){Se.preventDefault(),Se.persist(),ct(Se),X.current=[],Kf(Se)&&Promise.resolve(o(Se)).then(function(Me){ah(Se)&&!R||pe(Me,Se)}).catch(function(Me){return U(Me)}),$({type:"reset"})},[o,pe,U,R]),ge=f.useCallback(function(){if(fe.current){$({type:"openDialog"}),Q();var Se={multiple:c,types:L};window.showOpenFilePicker(Se).then(function(Me){return o(Me)}).then(function(Me){pe(Me,null),$({type:"closeDialog"})}).catch(function(Me){uH(Me)?(F(Me),$({type:"closeDialog"})):dH(Me)?(fe.current=!1,q.current?(q.current.value=null,q.current.click()):U(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):U(Me)});return}q.current&&($({type:"openDialog"}),Q(),q.current.value=null,q.current.click())},[$,Q,F,k,pe,U,L,c]),ke=f.useCallback(function(Se){!V.current||!V.current.isEqualNode(Se.target)||(Se.key===" "||Se.key==="Enter"||Se.keyCode===32||Se.keyCode===13)&&(Se.preventDefault(),ge())},[V,ge]),xe=f.useCallback(function(){$({type:"focus"})},[]),de=f.useCallback(function(){$({type:"blur"})},[]),Te=f.useCallback(function(){I||(aH()?setTimeout(ge,0):ge())},[I,ge]),Ee=function(Me){return r?null:Me},$e=function(Me){return E?null:Ee(Me)},kt=function(Me){return O?null:Ee(Me)},ct=function(Me){R&&Me.stopPropagation()},on=f.useMemo(function(){return function(){var Se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Me=Se.refKey,Pt=Me===void 0?"ref":Me,Tt=Se.role,we=Se.onKeyDown,ht=Se.onFocus,$t=Se.onBlur,Lt=Se.onClick,Le=Se.onDragEnter,Ge=Se.onDragOver,Pn=Se.onDragLeave,Pe=Se.onDrop,Ye=ih(Se,hH);return fr(fr(u1({onKeyDown:$e(Gs(we,ke)),onFocus:$e(Gs(ht,xe)),onBlur:$e(Gs($t,de)),onClick:Ee(Gs(Lt,Te)),onDragEnter:kt(Gs(Le,se)),onDragOver:kt(Gs(Ge,re)),onDragLeave:kt(Gs(Pn,oe)),onDrop:kt(Gs(Pe,le)),role:typeof Tt=="string"&&Tt!==""?Tt:"presentation"},Pt,V),!r&&!E?{tabIndex:0}:{}),Ye)}},[V,ke,xe,de,Te,se,re,oe,le,E,O,r]),vt=f.useCallback(function(Se){Se.stopPropagation()},[]),bt=f.useMemo(function(){return function(){var Se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Me=Se.refKey,Pt=Me===void 0?"ref":Me,Tt=Se.onChange,we=Se.onClick,ht=ih(Se,mH),$t=u1({accept:A,multiple:c,type:"file",style:{display:"none"},onChange:Ee(Gs(Tt,le)),onClick:Ee(Gs(we,vt)),tabIndex:-1},Pt,q);return fr(fr({},$t),ht)}},[q,n,c,le,r]);return fr(fr({},z),{},{isFocused:Y&&!r,getRootProps:on,getInputProps:bt,rootRef:V,inputRef:q,open:Ee(ge)})}function kH(e,t){switch(t.type){case"focus":return fr(fr({},e),{},{isFocused:!0});case"blur":return fr(fr({},e),{},{isFocused:!1});case"openDialog":return fr(fr({},d1),{},{isFileDialogActive:!0});case"closeDialog":return fr(fr({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return fr(fr({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return fr(fr({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return fr({},d1);default:return e}}function IS(){}function f1(){return f1=Object.assign?Object.assign.bind():function(e){for(var t=1;t'),!0):t?e.some(function(n){return t.includes(n)})||e.includes("*"):!0}var RH=function(t,n,r){r===void 0&&(r=!1);var o=n.alt,s=n.meta,a=n.mod,c=n.shift,d=n.ctrl,p=n.keys,h=t.key,m=t.code,v=t.ctrlKey,b=t.metaKey,w=t.shiftKey,y=t.altKey,S=ci(m),k=h.toLowerCase();if(!r){if(o===!y&&k!=="alt"||c===!w&&k!=="shift")return!1;if(a){if(!b&&!v)return!1}else if(s===!b&&k!=="meta"&&k!=="os"||d===!v&&k!=="ctrl"&&k!=="control")return!1}return p&&p.length===1&&(p.includes(k)||p.includes(S))?!0:p?mP(p):!p},MH=f.createContext(void 0),DH=function(){return f.useContext(MH)};function yP(e,t){return e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(e).length===Object.keys(t).length&&Object.keys(e).reduce(function(n,r){return n&&yP(e[r],t[r])},!0):e===t}var AH=f.createContext({hotkeys:[],enabledScopes:[],toggleScope:function(){},enableScope:function(){},disableScope:function(){}}),TH=function(){return f.useContext(AH)};function NH(e){var t=f.useRef(void 0);return yP(t.current,e)||(t.current=e),t.current}var ES=function(t){t.stopPropagation(),t.preventDefault(),t.stopImmediatePropagation()},$H=typeof window<"u"?f.useLayoutEffect:f.useEffect;function tt(e,t,n,r){var o=f.useRef(null),s=f.useRef(!1),a=n instanceof Array?r instanceof Array?void 0:r:n,c=e instanceof Array?e.join(a==null?void 0:a.splitKey):e,d=n instanceof Array?n:r instanceof Array?r:void 0,p=f.useCallback(t,d??[]),h=f.useRef(p);d?h.current=p:h.current=t;var m=NH(a),v=TH(),b=v.enabledScopes,w=DH();return $H(function(){if(!((m==null?void 0:m.enabled)===!1||!OH(b,m==null?void 0:m.scopes))){var y=function(I,E){var O;if(E===void 0&&(E=!1),!(EH(I)&&!bP(I,m==null?void 0:m.enableOnFormTags))&&!(m!=null&&m.ignoreEventWhen!=null&&m.ignoreEventWhen(I))){if(o.current!==null&&document.activeElement!==o.current&&!o.current.contains(document.activeElement)){ES(I);return}(O=I.target)!=null&&O.isContentEditable&&!(m!=null&&m.enableOnContentEditable)||V0(c,m==null?void 0:m.splitKey).forEach(function(R){var M,D=U0(R,m==null?void 0:m.combinationKey);if(RH(I,D,m==null?void 0:m.ignoreModifiers)||(M=D.keys)!=null&&M.includes("*")){if(E&&s.current)return;if(jH(I,D,m==null?void 0:m.preventDefault),!IH(I,D,m==null?void 0:m.enabled)){ES(I);return}h.current(I,D),E||(s.current=!0)}})}},S=function(I){I.key!==void 0&&(gP(ci(I.code)),((m==null?void 0:m.keydown)===void 0&&(m==null?void 0:m.keyup)!==!0||m!=null&&m.keydown)&&y(I))},k=function(I){I.key!==void 0&&(vP(ci(I.code)),s.current=!1,m!=null&&m.keyup&&y(I,!0))},_=o.current||(a==null?void 0:a.document)||document;return _.addEventListener("keyup",k),_.addEventListener("keydown",S),w&&V0(c,m==null?void 0:m.splitKey).forEach(function(P){return w.addHotkey(U0(P,m==null?void 0:m.combinationKey,m==null?void 0:m.description))}),function(){_.removeEventListener("keyup",k),_.removeEventListener("keydown",S),w&&V0(c,m==null?void 0:m.splitKey).forEach(function(P){return w.removeHotkey(U0(P,m==null?void 0:m.combinationKey,m==null?void 0:m.description))})}}},[c,m,b]),o}const LH=e=>{const{isDragAccept:t,isDragReject:n,setIsHandlingUpload:r}=e;return tt("esc",()=>{r(!1)}),i.jsxs(Re,{sx:{position:"absolute",top:0,insetInlineStart:0,width:"100vw",height:"100vh",zIndex:999,backdropFilter:"blur(20px)"},children:[i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:"base.700",_dark:{bg:"base.900"},opacity:.7,alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,width:"full",height:"full",alignItems:"center",justifyContent:"center",p:4},children:i.jsx(W,{sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",flexDir:"column",gap:4,borderWidth:3,borderRadius:"xl",borderStyle:"dashed",color:"base.100",borderColor:"base.100",_dark:{borderColor:"base.200"}},children:t?i.jsx(Ys,{size:"lg",children:"Drop to Upload"}):i.jsxs(i.Fragment,{children:[i.jsx(Ys,{size:"lg",children:"Invalid Upload"}),i.jsx(Ys,{size:"md",children:"Must be single JPEG or PNG image"})]})})})]})},zH=be([lt,Kn],({gallery:e},t)=>{let n={type:"TOAST"};t==="unifiedCanvas"&&(n={type:"SET_CANVAS_INITIAL_IMAGE"}),t==="img2img"&&(n={type:"SET_INITIAL_IMAGE"});const{autoAddBoardId:r}=e;return{autoAddBoardId:r,postUploadAction:n}},Je),BH=e=>{const{children:t}=e,{autoAddBoardId:n,postUploadAction:r}=B(zH),o=B(kr),s=Vc(),{t:a}=ye(),[c,d]=f.useState(!1),[p]=$_(),h=f.useCallback(P=>{d(!0),s({title:a("toast.uploadFailed"),description:P.errors.map(I=>I.message).join(` +`),status:"error"})},[a,s]),m=f.useCallback(async P=>{p({file:P,image_category:"user",is_intermediate:!1,postUploadAction:r,board_id:n==="none"?void 0:n})},[n,r,p]),v=f.useCallback((P,I)=>{if(I.length>1){s({title:a("toast.uploadFailed"),description:a("toast.uploadFailedInvalidUploadDesc"),status:"error"});return}I.forEach(E=>{h(E)}),P.forEach(E=>{m(E)})},[a,s,m,h]),{getRootProps:b,getInputProps:w,isDragAccept:y,isDragReject:S,isDragActive:k,inputRef:_}=ny({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},noClick:!0,onDrop:v,onDragOver:()=>d(!0),disabled:o,multiple:!1});return f.useEffect(()=>{const P=async I=>{var E,O;_.current&&(E=I.clipboardData)!=null&&E.files&&(_.current.files=I.clipboardData.files,(O=_.current)==null||O.dispatchEvent(new Event("change",{bubbles:!0})))};return document.addEventListener("paste",P),()=>{document.removeEventListener("paste",P)}},[_]),i.jsxs(Re,{...b({style:{}}),onKeyDown:P=>{P.key},children:[i.jsx("input",{...w()}),t,i.jsx(mo,{children:k&&c&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsx(LH,{isDragAccept:y,isDragReject:S,setIsHandlingUpload:d})},"image-upload-overlay")})]})},FH=f.memo(BH),HH=Ae((e,t)=>{const{children:n,tooltip:r="",tooltipProps:{placement:o="top",hasArrow:s=!0,...a}={},isChecked:c,...d}=e;return i.jsx(vn,{label:r,placement:o,hasArrow:s,...a,children:i.jsx(yc,{ref:t,colorScheme:c?"accent":"base",...d,children:n})})}),Yt=f.memo(HH);function WH(e){const t=f.createContext(null);return[({children:o,value:s})=>H.createElement(t.Provider,{value:s},o),()=>{const o=f.useContext(t);if(o===null)throw new Error(e);return o}]}function xP(e){return Array.isArray(e)?e:[e]}const VH=()=>{};function UH(e,t={active:!0}){return typeof e!="function"||!t.active?t.onKeyDown||VH:n=>{var r;n.key==="Escape"&&(e(n),(r=t.onTrigger)==null||r.call(t))}}function wP({data:e}){const t=[],n=[],r=e.reduce((o,s,a)=>(s.group?o[s.group]?o[s.group].push(a):o[s.group]=[a]:n.push(a),o),{});return Object.keys(r).forEach(o=>{t.push(...r[o].map(s=>e[s]))}),t.push(...n.map(o=>e[o])),t}function SP(e){return Array.isArray(e)||e===null?!1:typeof e=="object"?e.type!==H.Fragment:!1}function CP(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;tr===t[o]).indexOf(!1)>=0)&&(n.current={v:e(),prevDeps:[...t]}),n.current.v}const KH=VR({key:"mantine",prepend:!0});function XH(){return $5()||KH}var YH=Object.defineProperty,OS=Object.getOwnPropertySymbols,QH=Object.prototype.hasOwnProperty,JH=Object.prototype.propertyIsEnumerable,RS=(e,t,n)=>t in e?YH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ZH=(e,t)=>{for(var n in t||(t={}))QH.call(t,n)&&RS(e,n,t[n]);if(OS)for(var n of OS(t))JH.call(t,n)&&RS(e,n,t[n]);return e};const G0="ref";function eW(e){let t;if(e.length!==1)return{args:e,ref:t};const[n]=e;if(!(n instanceof Object))return{args:e,ref:t};if(!(G0 in n))return{args:e,ref:t};t=n[G0];const r=ZH({},n);return delete r[G0],{args:[r],ref:t}}const{cssFactory:tW}=(()=>{function e(n,r,o){const s=[],a=qR(n,s,o);return s.length<2?o:a+r(s)}function t(n){const{cache:r}=n,o=(...a)=>{const{ref:c,args:d}=eW(a),p=UR(d,r.registered);return GR(r,p,!1),`${r.key}-${p.name}${c===void 0?"":` ${c}`}`};return{css:o,cx:(...a)=>e(r.registered,o,kP(a))}}return{cssFactory:t}})();function _P(){const e=XH();return qH(()=>tW({cache:e}),[e])}function nW({cx:e,classes:t,context:n,classNames:r,name:o,cache:s}){const a=n.reduce((c,d)=>(Object.keys(d.classNames).forEach(p=>{typeof c[p]!="string"?c[p]=`${d.classNames[p]}`:c[p]=`${c[p]} ${d.classNames[p]}`}),c),{});return Object.keys(t).reduce((c,d)=>(c[d]=e(t[d],a[d],r!=null&&r[d],Array.isArray(o)?o.filter(Boolean).map(p=>`${(s==null?void 0:s.key)||"mantine"}-${p}-${d}`).join(" "):o?`${(s==null?void 0:s.key)||"mantine"}-${o}-${d}`:null),c),{})}var rW=Object.defineProperty,MS=Object.getOwnPropertySymbols,oW=Object.prototype.hasOwnProperty,sW=Object.prototype.propertyIsEnumerable,DS=(e,t,n)=>t in e?rW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,q0=(e,t)=>{for(var n in t||(t={}))oW.call(t,n)&&DS(e,n,t[n]);if(MS)for(var n of MS(t))sW.call(t,n)&&DS(e,n,t[n]);return e};function p1(e,t){return t&&Object.keys(t).forEach(n=>{e[n]?e[n]=q0(q0({},e[n]),t[n]):e[n]=q0({},t[n])}),e}function AS(e,t,n,r){const o=s=>typeof s=="function"?s(t,n||{},r):s||{};return Array.isArray(e)?e.map(s=>o(s.styles)).reduce((s,a)=>p1(s,a),{}):o(e)}function aW({ctx:e,theme:t,params:n,variant:r,size:o}){return e.reduce((s,a)=>(a.variants&&r in a.variants&&p1(s,a.variants[r](t,n,{variant:r,size:o})),a.sizes&&o in a.sizes&&p1(s,a.sizes[o](t,n,{variant:r,size:o})),s),{})}function so(e){const t=typeof e=="function"?e:()=>e;function n(r,o){const s=Ha(),a=o9(o==null?void 0:o.name),c=$5(),d={variant:o==null?void 0:o.variant,size:o==null?void 0:o.size},{css:p,cx:h}=_P(),m=t(s,r,d),v=AS(o==null?void 0:o.styles,s,r,d),b=AS(a,s,r,d),w=aW({ctx:a,theme:s,params:r,variant:o==null?void 0:o.variant,size:o==null?void 0:o.size}),y=Object.fromEntries(Object.keys(m).map(S=>{const k=h({[p(m[S])]:!(o!=null&&o.unstyled)},p(w[S]),p(b[S]),p(v[S]));return[S,k]}));return{classes:nW({cx:h,classes:y,context:a,classNames:o==null?void 0:o.classNames,name:o==null?void 0:o.name,cache:c}),cx:h,theme:s}}return n}function TS(e){return`___ref-${e||""}`}var iW=Object.defineProperty,lW=Object.defineProperties,cW=Object.getOwnPropertyDescriptors,NS=Object.getOwnPropertySymbols,uW=Object.prototype.hasOwnProperty,dW=Object.prototype.propertyIsEnumerable,$S=(e,t,n)=>t in e?iW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vu=(e,t)=>{for(var n in t||(t={}))uW.call(t,n)&&$S(e,n,t[n]);if(NS)for(var n of NS(t))dW.call(t,n)&&$S(e,n,t[n]);return e},bu=(e,t)=>lW(e,cW(t));const yu={in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:`scale(.9) translateY(${Ue(10)})`},transitionProperty:"transform, opacity"},Xf={fade:{in:{opacity:1},out:{opacity:0},transitionProperty:"opacity"},scale:{in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:"scale(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-y":{in:{opacity:1,transform:"scaleY(1)"},out:{opacity:0,transform:"scaleY(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-x":{in:{opacity:1,transform:"scaleX(1)"},out:{opacity:0,transform:"scaleX(0)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"skew-up":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:`translateY(-${Ue(20)}) skew(-10deg, -5deg)`},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"skew-down":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:`translateY(${Ue(20)}) skew(-10deg, -5deg)`},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-left":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:`translateY(${Ue(20)}) rotate(-5deg)`},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-right":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:`translateY(${Ue(20)}) rotate(5deg)`},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-down":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(-100%)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-up":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(100%)"},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"slide-left":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(100%)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"slide-right":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(-100%)"},common:{transformOrigin:"right"},transitionProperty:"transform, opacity"},pop:bu(vu({},yu),{common:{transformOrigin:"center center"}}),"pop-bottom-left":bu(vu({},yu),{common:{transformOrigin:"bottom left"}}),"pop-bottom-right":bu(vu({},yu),{common:{transformOrigin:"bottom right"}}),"pop-top-left":bu(vu({},yu),{common:{transformOrigin:"top left"}}),"pop-top-right":bu(vu({},yu),{common:{transformOrigin:"top right"}})},LS=["mousedown","touchstart"];function fW(e,t,n){const r=f.useRef();return f.useEffect(()=>{const o=s=>{const{target:a}=s??{};if(Array.isArray(n)){const c=(a==null?void 0:a.hasAttribute("data-ignore-outside-clicks"))||!document.body.contains(a)&&a.tagName!=="HTML";n.every(p=>!!p&&!s.composedPath().includes(p))&&!c&&e()}else r.current&&!r.current.contains(a)&&e()};return(t||LS).forEach(s=>document.addEventListener(s,o)),()=>{(t||LS).forEach(s=>document.removeEventListener(s,o))}},[r,e,n]),r}function pW(e,t){try{return e.addEventListener("change",t),()=>e.removeEventListener("change",t)}catch{return e.addListener(t),()=>e.removeListener(t)}}function hW(e,t){return typeof t=="boolean"?t:typeof window<"u"&&"matchMedia"in window?window.matchMedia(e).matches:!1}function mW(e,t,{getInitialValueInEffect:n}={getInitialValueInEffect:!0}){const[r,o]=f.useState(n?t:hW(e,t)),s=f.useRef();return f.useEffect(()=>{if("matchMedia"in window)return s.current=window.matchMedia(e),o(s.current.matches),pW(s.current,a=>o(a.matches))},[e]),r}const PP=typeof document<"u"?f.useLayoutEffect:f.useEffect;function ks(e,t){const n=f.useRef(!1);f.useEffect(()=>()=>{n.current=!1},[]),f.useEffect(()=>{if(n.current)return e();n.current=!0},t)}function gW({opened:e,shouldReturnFocus:t=!0}){const n=f.useRef(),r=()=>{var o;n.current&&"focus"in n.current&&typeof n.current.focus=="function"&&((o=n.current)==null||o.focus({preventScroll:!0}))};return ks(()=>{let o=-1;const s=a=>{a.key==="Tab"&&window.clearTimeout(o)};return document.addEventListener("keydown",s),e?n.current=document.activeElement:t&&(o=window.setTimeout(r,10)),()=>{window.clearTimeout(o),document.removeEventListener("keydown",s)}},[e,t]),r}const vW=/input|select|textarea|button|object/,jP="a, input, select, textarea, button, object, [tabindex]";function bW(e){return e.style.display==="none"}function yW(e){if(e.getAttribute("aria-hidden")||e.getAttribute("hidden")||e.getAttribute("type")==="hidden")return!1;let n=e;for(;n&&!(n===document.body||n.nodeType===11);){if(bW(n))return!1;n=n.parentNode}return!0}function IP(e){let t=e.getAttribute("tabindex");return t===null&&(t=void 0),parseInt(t,10)}function h1(e){const t=e.nodeName.toLowerCase(),n=!Number.isNaN(IP(e));return(vW.test(t)&&!e.disabled||e instanceof HTMLAnchorElement&&e.href||n)&&yW(e)}function EP(e){const t=IP(e);return(Number.isNaN(t)||t>=0)&&h1(e)}function xW(e){return Array.from(e.querySelectorAll(jP)).filter(EP)}function wW(e,t){const n=xW(e);if(!n.length){t.preventDefault();return}const r=n[t.shiftKey?0:n.length-1],o=e.getRootNode();if(!(r===o.activeElement||e===o.activeElement))return;t.preventDefault();const a=n[t.shiftKey?n.length-1:0];a&&a.focus()}function oy(){return`mantine-${Math.random().toString(36).slice(2,11)}`}function SW(e,t="body > :not(script)"){const n=oy(),r=Array.from(document.querySelectorAll(t)).map(o=>{var s;if((s=o==null?void 0:o.shadowRoot)!=null&&s.contains(e)||o.contains(e))return;const a=o.getAttribute("aria-hidden"),c=o.getAttribute("data-hidden"),d=o.getAttribute("data-focus-id");return o.setAttribute("data-focus-id",n),a===null||a==="false"?o.setAttribute("aria-hidden","true"):!c&&!d&&o.setAttribute("data-hidden",a),{node:o,ariaHidden:c||null}});return()=>{r.forEach(o=>{!o||n!==o.node.getAttribute("data-focus-id")||(o.ariaHidden===null?o.node.removeAttribute("aria-hidden"):o.node.setAttribute("aria-hidden",o.ariaHidden),o.node.removeAttribute("data-focus-id"),o.node.removeAttribute("data-hidden"))})}}function CW(e=!0){const t=f.useRef(),n=f.useRef(null),r=s=>{let a=s.querySelector("[data-autofocus]");if(!a){const c=Array.from(s.querySelectorAll(jP));a=c.find(EP)||c.find(h1)||null,!a&&h1(s)&&(a=s)}a&&a.focus({preventScroll:!0})},o=f.useCallback(s=>{if(e){if(s===null){n.current&&(n.current(),n.current=null);return}n.current=SW(s),t.current!==s&&(s?(setTimeout(()=>{s.getRootNode()&&r(s)}),t.current=s):t.current=null)}},[e]);return f.useEffect(()=>{if(!e)return;t.current&&setTimeout(()=>r(t.current));const s=a=>{a.key==="Tab"&&t.current&&wW(t.current,a)};return document.addEventListener("keydown",s),()=>{document.removeEventListener("keydown",s),n.current&&n.current()}},[e]),o}const kW=H["useId".toString()]||(()=>{});function _W(){const e=kW();return e?`mantine-${e.replace(/:/g,"")}`:""}function sy(e){const t=_W(),[n,r]=f.useState(t);return PP(()=>{r(oy())},[]),typeof e=="string"?e:typeof window>"u"?t:n}function zS(e,t,n){f.useEffect(()=>(window.addEventListener(e,t,n),()=>window.removeEventListener(e,t,n)),[e,t])}function OP(e,t){typeof e=="function"?e(t):typeof e=="object"&&e!==null&&"current"in e&&(e.current=t)}function PW(...e){return t=>{e.forEach(n=>OP(n,t))}}function Fd(...e){return f.useCallback(PW(...e),e)}function ud({value:e,defaultValue:t,finalValue:n,onChange:r=()=>{}}){const[o,s]=f.useState(t!==void 0?t:n),a=c=>{s(c),r==null||r(c)};return e!==void 0?[e,r,!0]:[o,a,!1]}function RP(e,t){return mW("(prefers-reduced-motion: reduce)",e,t)}const jW=e=>e<.5?2*e*e:-1+(4-2*e)*e,IW=({axis:e,target:t,parent:n,alignment:r,offset:o,isList:s})=>{if(!t||!n&&typeof document>"u")return 0;const a=!!n,d=(n||document.body).getBoundingClientRect(),p=t.getBoundingClientRect(),h=m=>p[m]-d[m];if(e==="y"){const m=h("top");if(m===0)return 0;if(r==="start"){const b=m-o;return b<=p.height*(s?0:1)||!s?b:0}const v=a?d.height:window.innerHeight;if(r==="end"){const b=m+o-v+p.height;return b>=-p.height*(s?0:1)||!s?b:0}return r==="center"?m-v/2+p.height/2:0}if(e==="x"){const m=h("left");if(m===0)return 0;if(r==="start"){const b=m-o;return b<=p.width||!s?b:0}const v=a?d.width:window.innerWidth;if(r==="end"){const b=m+o-v+p.width;return b>=-p.width||!s?b:0}return r==="center"?m-v/2+p.width/2:0}return 0},EW=({axis:e,parent:t})=>{if(!t&&typeof document>"u")return 0;const n=e==="y"?"scrollTop":"scrollLeft";if(t)return t[n];const{body:r,documentElement:o}=document;return r[n]+o[n]},OW=({axis:e,parent:t,distance:n})=>{if(!t&&typeof document>"u")return;const r=e==="y"?"scrollTop":"scrollLeft";if(t)t[r]=n;else{const{body:o,documentElement:s}=document;o[r]=n,s[r]=n}};function MP({duration:e=1250,axis:t="y",onScrollFinish:n,easing:r=jW,offset:o=0,cancelable:s=!0,isList:a=!1}={}){const c=f.useRef(0),d=f.useRef(0),p=f.useRef(!1),h=f.useRef(null),m=f.useRef(null),v=RP(),b=()=>{c.current&&cancelAnimationFrame(c.current)},w=f.useCallback(({alignment:S="start"}={})=>{var k;p.current=!1,c.current&&b();const _=(k=EW({parent:h.current,axis:t}))!=null?k:0,P=IW({parent:h.current,target:m.current,axis:t,alignment:S,offset:o,isList:a})-(h.current?0:_);function I(){d.current===0&&(d.current=performance.now());const O=performance.now()-d.current,R=v||e===0?1:O/e,M=_+P*r(R);OW({parent:h.current,axis:t,distance:M}),!p.current&&R<1?c.current=requestAnimationFrame(I):(typeof n=="function"&&n(),d.current=0,c.current=0,b())}I()},[t,e,r,a,o,n,v]),y=()=>{s&&(p.current=!0)};return zS("wheel",y,{passive:!0}),zS("touchmove",y,{passive:!0}),f.useEffect(()=>b,[]),{scrollableRef:h,targetRef:m,scrollIntoView:w,cancel:b}}var BS=Object.getOwnPropertySymbols,RW=Object.prototype.hasOwnProperty,MW=Object.prototype.propertyIsEnumerable,DW=(e,t)=>{var n={};for(var r in e)RW.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&BS)for(var r of BS(e))t.indexOf(r)<0&&MW.call(e,r)&&(n[r]=e[r]);return n};function Lm(e){const t=e,{m:n,mx:r,my:o,mt:s,mb:a,ml:c,mr:d,p,px:h,py:m,pt:v,pb:b,pl:w,pr:y,bg:S,c:k,opacity:_,ff:P,fz:I,fw:E,lts:O,ta:R,lh:M,fs:D,tt:A,td:L,w:Q,miw:F,maw:V,h:q,mih:G,mah:T,bgsz:z,bgp:$,bgr:Y,bga:ae,pos:fe,top:ie,left:X,bottom:K,right:U,inset:se,display:re}=t,oe=DW(t,["m","mx","my","mt","mb","ml","mr","p","px","py","pt","pb","pl","pr","bg","c","opacity","ff","fz","fw","lts","ta","lh","fs","tt","td","w","miw","maw","h","mih","mah","bgsz","bgp","bgr","bga","pos","top","left","bottom","right","inset","display"]);return{systemStyles:s9({m:n,mx:r,my:o,mt:s,mb:a,ml:c,mr:d,p,px:h,py:m,pt:v,pb:b,pl:w,pr:y,bg:S,c:k,opacity:_,ff:P,fz:I,fw:E,lts:O,ta:R,lh:M,fs:D,tt:A,td:L,w:Q,miw:F,maw:V,h:q,mih:G,mah:T,bgsz:z,bgp:$,bgr:Y,bga:ae,pos:fe,top:ie,left:X,bottom:K,right:U,inset:se,display:re}),rest:oe}}function AW(e,t){const n=Object.keys(e).filter(r=>r!=="base").sort((r,o)=>Pw(Vt({size:r,sizes:t.breakpoints}))-Pw(Vt({size:o,sizes:t.breakpoints})));return"base"in e?["base",...n]:n}function TW({value:e,theme:t,getValue:n,property:r}){if(e==null)return;if(typeof e=="object")return AW(e,t).reduce((a,c)=>{if(c==="base"&&e.base!==void 0){const p=n(e.base,t);return Array.isArray(r)?(r.forEach(h=>{a[h]=p}),a):(a[r]=p,a)}const d=n(e[c],t);return Array.isArray(r)?(a[t.fn.largerThan(c)]={},r.forEach(p=>{a[t.fn.largerThan(c)][p]=d}),a):(a[t.fn.largerThan(c)]={[r]:d},a)},{});const o=n(e,t);return Array.isArray(r)?r.reduce((s,a)=>(s[a]=o,s),{}):{[r]:o}}function NW(e,t){return e==="dimmed"?t.colorScheme==="dark"?t.colors.dark[2]:t.colors.gray[6]:t.fn.variant({variant:"filled",color:e,primaryFallback:!1}).background}function $W(e){return Ue(e)}function LW(e){return e}function zW(e,t){return Vt({size:e,sizes:t.fontSizes})}const BW=["-xs","-sm","-md","-lg","-xl"];function FW(e,t){return BW.includes(e)?`calc(${Vt({size:e.replace("-",""),sizes:t.spacing})} * -1)`:Vt({size:e,sizes:t.spacing})}const HW={identity:LW,color:NW,size:$W,fontSize:zW,spacing:FW},WW={m:{type:"spacing",property:"margin"},mt:{type:"spacing",property:"marginTop"},mb:{type:"spacing",property:"marginBottom"},ml:{type:"spacing",property:"marginLeft"},mr:{type:"spacing",property:"marginRight"},mx:{type:"spacing",property:["marginRight","marginLeft"]},my:{type:"spacing",property:["marginTop","marginBottom"]},p:{type:"spacing",property:"padding"},pt:{type:"spacing",property:"paddingTop"},pb:{type:"spacing",property:"paddingBottom"},pl:{type:"spacing",property:"paddingLeft"},pr:{type:"spacing",property:"paddingRight"},px:{type:"spacing",property:["paddingRight","paddingLeft"]},py:{type:"spacing",property:["paddingTop","paddingBottom"]},bg:{type:"color",property:"background"},c:{type:"color",property:"color"},opacity:{type:"identity",property:"opacity"},ff:{type:"identity",property:"fontFamily"},fz:{type:"fontSize",property:"fontSize"},fw:{type:"identity",property:"fontWeight"},lts:{type:"size",property:"letterSpacing"},ta:{type:"identity",property:"textAlign"},lh:{type:"identity",property:"lineHeight"},fs:{type:"identity",property:"fontStyle"},tt:{type:"identity",property:"textTransform"},td:{type:"identity",property:"textDecoration"},w:{type:"spacing",property:"width"},miw:{type:"spacing",property:"minWidth"},maw:{type:"spacing",property:"maxWidth"},h:{type:"spacing",property:"height"},mih:{type:"spacing",property:"minHeight"},mah:{type:"spacing",property:"maxHeight"},bgsz:{type:"size",property:"backgroundSize"},bgp:{type:"identity",property:"backgroundPosition"},bgr:{type:"identity",property:"backgroundRepeat"},bga:{type:"identity",property:"backgroundAttachment"},pos:{type:"identity",property:"position"},top:{type:"identity",property:"top"},left:{type:"size",property:"left"},bottom:{type:"size",property:"bottom"},right:{type:"size",property:"right"},inset:{type:"size",property:"inset"},display:{type:"identity",property:"display"}};var VW=Object.defineProperty,FS=Object.getOwnPropertySymbols,UW=Object.prototype.hasOwnProperty,GW=Object.prototype.propertyIsEnumerable,HS=(e,t,n)=>t in e?VW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,WS=(e,t)=>{for(var n in t||(t={}))UW.call(t,n)&&HS(e,n,t[n]);if(FS)for(var n of FS(t))GW.call(t,n)&&HS(e,n,t[n]);return e};function VS(e,t,n=WW){return Object.keys(n).reduce((o,s)=>(s in e&&e[s]!==void 0&&o.push(TW({value:e[s],getValue:HW[n[s].type],property:n[s].property,theme:t})),o),[]).reduce((o,s)=>(Object.keys(s).forEach(a=>{typeof s[a]=="object"&&s[a]!==null&&a in o?o[a]=WS(WS({},o[a]),s[a]):o[a]=s[a]}),o),{})}function US(e,t){return typeof e=="function"?e(t):e}function qW(e,t,n){const r=Ha(),{css:o,cx:s}=_P();return Array.isArray(e)?s(n,o(VS(t,r)),e.map(a=>o(US(a,r)))):s(n,o(US(e,r)),o(VS(t,r)))}var KW=Object.defineProperty,lh=Object.getOwnPropertySymbols,DP=Object.prototype.hasOwnProperty,AP=Object.prototype.propertyIsEnumerable,GS=(e,t,n)=>t in e?KW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,XW=(e,t)=>{for(var n in t||(t={}))DP.call(t,n)&&GS(e,n,t[n]);if(lh)for(var n of lh(t))AP.call(t,n)&&GS(e,n,t[n]);return e},YW=(e,t)=>{var n={};for(var r in e)DP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&lh)for(var r of lh(e))t.indexOf(r)<0&&AP.call(e,r)&&(n[r]=e[r]);return n};const TP=f.forwardRef((e,t)=>{var n=e,{className:r,component:o,style:s,sx:a}=n,c=YW(n,["className","component","style","sx"]);const{systemStyles:d,rest:p}=Lm(c),h=o||"div";return H.createElement(h,XW({ref:t,className:qW(a,d,r),style:s},p))});TP.displayName="@mantine/core/Box";const Io=TP;var QW=Object.defineProperty,JW=Object.defineProperties,ZW=Object.getOwnPropertyDescriptors,qS=Object.getOwnPropertySymbols,eV=Object.prototype.hasOwnProperty,tV=Object.prototype.propertyIsEnumerable,KS=(e,t,n)=>t in e?QW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,XS=(e,t)=>{for(var n in t||(t={}))eV.call(t,n)&&KS(e,n,t[n]);if(qS)for(var n of qS(t))tV.call(t,n)&&KS(e,n,t[n]);return e},nV=(e,t)=>JW(e,ZW(t)),rV=so(e=>({root:nV(XS(XS({},e.fn.focusStyles()),e.fn.fontStyles()),{cursor:"pointer",border:0,padding:0,appearance:"none",fontSize:e.fontSizes.md,backgroundColor:"transparent",textAlign:"left",color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,textDecoration:"none",boxSizing:"border-box"})}));const oV=rV;var sV=Object.defineProperty,ch=Object.getOwnPropertySymbols,NP=Object.prototype.hasOwnProperty,$P=Object.prototype.propertyIsEnumerable,YS=(e,t,n)=>t in e?sV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,aV=(e,t)=>{for(var n in t||(t={}))NP.call(t,n)&&YS(e,n,t[n]);if(ch)for(var n of ch(t))$P.call(t,n)&&YS(e,n,t[n]);return e},iV=(e,t)=>{var n={};for(var r in e)NP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ch)for(var r of ch(e))t.indexOf(r)<0&&$P.call(e,r)&&(n[r]=e[r]);return n};const LP=f.forwardRef((e,t)=>{const n=Cr("UnstyledButton",{},e),{className:r,component:o="button",unstyled:s,variant:a}=n,c=iV(n,["className","component","unstyled","variant"]),{classes:d,cx:p}=oV(null,{name:"UnstyledButton",unstyled:s,variant:a});return H.createElement(Io,aV({component:o,ref:t,className:p(d.root,r),type:o==="button"?"button":void 0},c))});LP.displayName="@mantine/core/UnstyledButton";const lV=LP;var cV=Object.defineProperty,uV=Object.defineProperties,dV=Object.getOwnPropertyDescriptors,QS=Object.getOwnPropertySymbols,fV=Object.prototype.hasOwnProperty,pV=Object.prototype.propertyIsEnumerable,JS=(e,t,n)=>t in e?cV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,m1=(e,t)=>{for(var n in t||(t={}))fV.call(t,n)&&JS(e,n,t[n]);if(QS)for(var n of QS(t))pV.call(t,n)&&JS(e,n,t[n]);return e},ZS=(e,t)=>uV(e,dV(t));const hV=["subtle","filled","outline","light","default","transparent","gradient"],Yf={xs:Ue(18),sm:Ue(22),md:Ue(28),lg:Ue(34),xl:Ue(44)};function mV({variant:e,theme:t,color:n,gradient:r}){const o=t.fn.variant({color:n,variant:e,gradient:r});return e==="gradient"?{border:0,backgroundImage:o.background,color:o.color,"&:hover":t.fn.hover({backgroundSize:"200%"})}:hV.includes(e)?m1({border:`${Ue(1)} solid ${o.border}`,backgroundColor:o.background,color:o.color},t.fn.hover({backgroundColor:o.hover})):null}var gV=so((e,{radius:t,color:n,gradient:r},{variant:o,size:s})=>({root:ZS(m1({position:"relative",borderRadius:e.fn.radius(t),padding:0,lineHeight:1,display:"flex",alignItems:"center",justifyContent:"center",height:Vt({size:s,sizes:Yf}),minHeight:Vt({size:s,sizes:Yf}),width:Vt({size:s,sizes:Yf}),minWidth:Vt({size:s,sizes:Yf})},mV({variant:o,theme:e,color:n,gradient:r})),{"&:active":e.activeStyles,"& [data-action-icon-loader]":{maxWidth:"70%"},"&:disabled, &[data-disabled]":{color:e.colors.gray[e.colorScheme==="dark"?6:4],cursor:"not-allowed",backgroundColor:o==="transparent"?void 0:e.fn.themeColor("gray",e.colorScheme==="dark"?8:1),borderColor:o==="transparent"?void 0:e.fn.themeColor("gray",e.colorScheme==="dark"?8:1),backgroundImage:"none",pointerEvents:"none","&:active":{transform:"none"}},"&[data-loading]":{pointerEvents:"none","&::before":ZS(m1({content:'""'},e.fn.cover(Ue(-1))),{backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.colors.dark[7],.5):"rgba(255, 255, 255, .5)",borderRadius:e.fn.radius(t),cursor:"not-allowed"})}})}));const vV=gV;var bV=Object.defineProperty,uh=Object.getOwnPropertySymbols,zP=Object.prototype.hasOwnProperty,BP=Object.prototype.propertyIsEnumerable,eC=(e,t,n)=>t in e?bV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tC=(e,t)=>{for(var n in t||(t={}))zP.call(t,n)&&eC(e,n,t[n]);if(uh)for(var n of uh(t))BP.call(t,n)&&eC(e,n,t[n]);return e},nC=(e,t)=>{var n={};for(var r in e)zP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&uh)for(var r of uh(e))t.indexOf(r)<0&&BP.call(e,r)&&(n[r]=e[r]);return n};function yV(e){var t=e,{size:n,color:r}=t,o=nC(t,["size","color"]);const s=o,{style:a}=s,c=nC(s,["style"]);return H.createElement("svg",tC({viewBox:"0 0 135 140",xmlns:"http://www.w3.org/2000/svg",fill:r,style:tC({width:n},a)},c),H.createElement("rect",{y:"10",width:"15",height:"120",rx:"6"},H.createElement("animate",{attributeName:"height",begin:"0.5s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"y",begin:"0.5s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("rect",{x:"30",y:"10",width:"15",height:"120",rx:"6"},H.createElement("animate",{attributeName:"height",begin:"0.25s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"y",begin:"0.25s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("rect",{x:"60",width:"15",height:"140",rx:"6"},H.createElement("animate",{attributeName:"height",begin:"0s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"y",begin:"0s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("rect",{x:"90",y:"10",width:"15",height:"120",rx:"6"},H.createElement("animate",{attributeName:"height",begin:"0.25s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"y",begin:"0.25s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("rect",{x:"120",y:"10",width:"15",height:"120",rx:"6"},H.createElement("animate",{attributeName:"height",begin:"0.5s",dur:"1s",values:"120;110;100;90;80;70;60;50;40;140;120",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"y",begin:"0.5s",dur:"1s",values:"10;15;20;25;30;35;40;45;50;0;10",calcMode:"linear",repeatCount:"indefinite"})))}var xV=Object.defineProperty,dh=Object.getOwnPropertySymbols,FP=Object.prototype.hasOwnProperty,HP=Object.prototype.propertyIsEnumerable,rC=(e,t,n)=>t in e?xV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,oC=(e,t)=>{for(var n in t||(t={}))FP.call(t,n)&&rC(e,n,t[n]);if(dh)for(var n of dh(t))HP.call(t,n)&&rC(e,n,t[n]);return e},sC=(e,t)=>{var n={};for(var r in e)FP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&dh)for(var r of dh(e))t.indexOf(r)<0&&HP.call(e,r)&&(n[r]=e[r]);return n};function wV(e){var t=e,{size:n,color:r}=t,o=sC(t,["size","color"]);const s=o,{style:a}=s,c=sC(s,["style"]);return H.createElement("svg",oC({viewBox:"0 0 38 38",xmlns:"http://www.w3.org/2000/svg",stroke:r,style:oC({width:n,height:n},a)},c),H.createElement("g",{fill:"none",fillRule:"evenodd"},H.createElement("g",{transform:"translate(2.5 2.5)",strokeWidth:"5"},H.createElement("circle",{strokeOpacity:".5",cx:"16",cy:"16",r:"16"}),H.createElement("path",{d:"M32 16c0-9.94-8.06-16-16-16"},H.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 16 16",to:"360 16 16",dur:"1s",repeatCount:"indefinite"})))))}var SV=Object.defineProperty,fh=Object.getOwnPropertySymbols,WP=Object.prototype.hasOwnProperty,VP=Object.prototype.propertyIsEnumerable,aC=(e,t,n)=>t in e?SV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,iC=(e,t)=>{for(var n in t||(t={}))WP.call(t,n)&&aC(e,n,t[n]);if(fh)for(var n of fh(t))VP.call(t,n)&&aC(e,n,t[n]);return e},lC=(e,t)=>{var n={};for(var r in e)WP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&fh)for(var r of fh(e))t.indexOf(r)<0&&VP.call(e,r)&&(n[r]=e[r]);return n};function CV(e){var t=e,{size:n,color:r}=t,o=lC(t,["size","color"]);const s=o,{style:a}=s,c=lC(s,["style"]);return H.createElement("svg",iC({viewBox:"0 0 120 30",xmlns:"http://www.w3.org/2000/svg",fill:r,style:iC({width:n},a)},c),H.createElement("circle",{cx:"15",cy:"15",r:"15"},H.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("circle",{cx:"60",cy:"15",r:"9",fillOpacity:"0.3"},H.createElement("animate",{attributeName:"r",from:"9",to:"9",begin:"0s",dur:"0.8s",values:"9;15;9",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"fill-opacity",from:"0.5",to:"0.5",begin:"0s",dur:"0.8s",values:".5;1;.5",calcMode:"linear",repeatCount:"indefinite"})),H.createElement("circle",{cx:"105",cy:"15",r:"15"},H.createElement("animate",{attributeName:"r",from:"15",to:"15",begin:"0s",dur:"0.8s",values:"15;9;15",calcMode:"linear",repeatCount:"indefinite"}),H.createElement("animate",{attributeName:"fill-opacity",from:"1",to:"1",begin:"0s",dur:"0.8s",values:"1;.5;1",calcMode:"linear",repeatCount:"indefinite"})))}var kV=Object.defineProperty,ph=Object.getOwnPropertySymbols,UP=Object.prototype.hasOwnProperty,GP=Object.prototype.propertyIsEnumerable,cC=(e,t,n)=>t in e?kV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_V=(e,t)=>{for(var n in t||(t={}))UP.call(t,n)&&cC(e,n,t[n]);if(ph)for(var n of ph(t))GP.call(t,n)&&cC(e,n,t[n]);return e},PV=(e,t)=>{var n={};for(var r in e)UP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ph)for(var r of ph(e))t.indexOf(r)<0&&GP.call(e,r)&&(n[r]=e[r]);return n};const K0={bars:yV,oval:wV,dots:CV},jV={xs:Ue(18),sm:Ue(22),md:Ue(36),lg:Ue(44),xl:Ue(58)},IV={size:"md"};function qP(e){const t=Cr("Loader",IV,e),{size:n,color:r,variant:o}=t,s=PV(t,["size","color","variant"]),a=Ha(),c=o in K0?o:a.loader;return H.createElement(Io,_V({role:"presentation",component:K0[c]||K0.bars,size:Vt({size:n,sizes:jV}),color:a.fn.variant({variant:"filled",primaryFallback:!1,color:r||a.primaryColor}).background},s))}qP.displayName="@mantine/core/Loader";var EV=Object.defineProperty,hh=Object.getOwnPropertySymbols,KP=Object.prototype.hasOwnProperty,XP=Object.prototype.propertyIsEnumerable,uC=(e,t,n)=>t in e?EV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dC=(e,t)=>{for(var n in t||(t={}))KP.call(t,n)&&uC(e,n,t[n]);if(hh)for(var n of hh(t))XP.call(t,n)&&uC(e,n,t[n]);return e},OV=(e,t)=>{var n={};for(var r in e)KP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&hh)for(var r of hh(e))t.indexOf(r)<0&&XP.call(e,r)&&(n[r]=e[r]);return n};const RV={color:"gray",size:"md",variant:"subtle"},YP=f.forwardRef((e,t)=>{const n=Cr("ActionIcon",RV,e),{className:r,color:o,children:s,radius:a,size:c,variant:d,gradient:p,disabled:h,loaderProps:m,loading:v,unstyled:b,__staticSelector:w}=n,y=OV(n,["className","color","children","radius","size","variant","gradient","disabled","loaderProps","loading","unstyled","__staticSelector"]),{classes:S,cx:k,theme:_}=vV({radius:a,color:o,gradient:p},{name:["ActionIcon",w],unstyled:b,size:c,variant:d}),P=H.createElement(qP,dC({color:_.fn.variant({color:o,variant:d}).color,size:"100%","data-action-icon-loader":!0},m));return H.createElement(lV,dC({className:k(S.root,r),ref:t,disabled:h,"data-disabled":h||void 0,"data-loading":v||void 0,unstyled:b},y),v?P:s)});YP.displayName="@mantine/core/ActionIcon";const MV=YP;var DV=Object.defineProperty,AV=Object.defineProperties,TV=Object.getOwnPropertyDescriptors,mh=Object.getOwnPropertySymbols,QP=Object.prototype.hasOwnProperty,JP=Object.prototype.propertyIsEnumerable,fC=(e,t,n)=>t in e?DV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,NV=(e,t)=>{for(var n in t||(t={}))QP.call(t,n)&&fC(e,n,t[n]);if(mh)for(var n of mh(t))JP.call(t,n)&&fC(e,n,t[n]);return e},$V=(e,t)=>AV(e,TV(t)),LV=(e,t)=>{var n={};for(var r in e)QP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&mh)for(var r of mh(e))t.indexOf(r)<0&&JP.call(e,r)&&(n[r]=e[r]);return n};function ZP(e){const t=Cr("Portal",{},e),{children:n,target:r,className:o,innerRef:s}=t,a=LV(t,["children","target","className","innerRef"]),c=Ha(),[d,p]=f.useState(!1),h=f.useRef();return PP(()=>(p(!0),h.current=r?typeof r=="string"?document.querySelector(r):r:document.createElement("div"),r||document.body.appendChild(h.current),()=>{!r&&document.body.removeChild(h.current)}),[r]),d?_i.createPortal(H.createElement("div",$V(NV({className:o,dir:c.dir},a),{ref:s}),n),h.current):null}ZP.displayName="@mantine/core/Portal";var zV=Object.defineProperty,gh=Object.getOwnPropertySymbols,ej=Object.prototype.hasOwnProperty,tj=Object.prototype.propertyIsEnumerable,pC=(e,t,n)=>t in e?zV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,BV=(e,t)=>{for(var n in t||(t={}))ej.call(t,n)&&pC(e,n,t[n]);if(gh)for(var n of gh(t))tj.call(t,n)&&pC(e,n,t[n]);return e},FV=(e,t)=>{var n={};for(var r in e)ej.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&gh)for(var r of gh(e))t.indexOf(r)<0&&tj.call(e,r)&&(n[r]=e[r]);return n};function nj(e){var t=e,{withinPortal:n=!0,children:r}=t,o=FV(t,["withinPortal","children"]);return n?H.createElement(ZP,BV({},o),r):H.createElement(H.Fragment,null,r)}nj.displayName="@mantine/core/OptionalPortal";var HV=Object.defineProperty,vh=Object.getOwnPropertySymbols,rj=Object.prototype.hasOwnProperty,oj=Object.prototype.propertyIsEnumerable,hC=(e,t,n)=>t in e?HV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,mC=(e,t)=>{for(var n in t||(t={}))rj.call(t,n)&&hC(e,n,t[n]);if(vh)for(var n of vh(t))oj.call(t,n)&&hC(e,n,t[n]);return e},WV=(e,t)=>{var n={};for(var r in e)rj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&vh)for(var r of vh(e))t.indexOf(r)<0&&oj.call(e,r)&&(n[r]=e[r]);return n};function sj(e){const t=e,{width:n,height:r,style:o}=t,s=WV(t,["width","height","style"]);return H.createElement("svg",mC({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:mC({width:n,height:r},o)},s),H.createElement("path",{d:"M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}sj.displayName="@mantine/core/CloseIcon";var VV=Object.defineProperty,bh=Object.getOwnPropertySymbols,aj=Object.prototype.hasOwnProperty,ij=Object.prototype.propertyIsEnumerable,gC=(e,t,n)=>t in e?VV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,UV=(e,t)=>{for(var n in t||(t={}))aj.call(t,n)&&gC(e,n,t[n]);if(bh)for(var n of bh(t))ij.call(t,n)&&gC(e,n,t[n]);return e},GV=(e,t)=>{var n={};for(var r in e)aj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&bh)for(var r of bh(e))t.indexOf(r)<0&&ij.call(e,r)&&(n[r]=e[r]);return n};const qV={xs:Ue(12),sm:Ue(16),md:Ue(20),lg:Ue(28),xl:Ue(34)},KV={size:"sm"},lj=f.forwardRef((e,t)=>{const n=Cr("CloseButton",KV,e),{iconSize:r,size:o,children:s}=n,a=GV(n,["iconSize","size","children"]),c=Ue(r||qV[o]);return H.createElement(MV,UV({ref:t,__staticSelector:"CloseButton",size:o},a),s||H.createElement(sj,{width:c,height:c}))});lj.displayName="@mantine/core/CloseButton";const cj=lj;var XV=Object.defineProperty,YV=Object.defineProperties,QV=Object.getOwnPropertyDescriptors,vC=Object.getOwnPropertySymbols,JV=Object.prototype.hasOwnProperty,ZV=Object.prototype.propertyIsEnumerable,bC=(e,t,n)=>t in e?XV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Qf=(e,t)=>{for(var n in t||(t={}))JV.call(t,n)&&bC(e,n,t[n]);if(vC)for(var n of vC(t))ZV.call(t,n)&&bC(e,n,t[n]);return e},eU=(e,t)=>YV(e,QV(t));function tU({underline:e,strikethrough:t}){const n=[];return e&&n.push("underline"),t&&n.push("line-through"),n.length>0?n.join(" "):"none"}function nU({theme:e,color:t}){return t==="dimmed"?e.fn.dimmed():typeof t=="string"&&(t in e.colors||t.split(".")[0]in e.colors)?e.fn.variant({variant:"filled",color:t}).background:t||"inherit"}function rU(e){return typeof e=="number"?{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:e,WebkitBoxOrient:"vertical"}:null}function oU({theme:e,truncate:t}){return t==="start"?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",direction:e.dir==="ltr"?"rtl":"ltr",textAlign:e.dir==="ltr"?"right":"left"}:t?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:null}var sU=so((e,{color:t,lineClamp:n,truncate:r,inline:o,inherit:s,underline:a,gradient:c,weight:d,transform:p,align:h,strikethrough:m,italic:v},{size:b})=>{const w=e.fn.variant({variant:"gradient",gradient:c});return{root:eU(Qf(Qf(Qf(Qf({},e.fn.fontStyles()),e.fn.focusStyles()),rU(n)),oU({theme:e,truncate:r})),{color:nU({color:t,theme:e}),fontFamily:s?"inherit":e.fontFamily,fontSize:s||b===void 0?"inherit":Vt({size:b,sizes:e.fontSizes}),lineHeight:s?"inherit":o?1:e.lineHeight,textDecoration:tU({underline:a,strikethrough:m}),WebkitTapHighlightColor:"transparent",fontWeight:s?"inherit":d,textTransform:p,textAlign:h,fontStyle:v?"italic":void 0}),gradient:{backgroundImage:w.background,WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"}}});const aU=sU;var iU=Object.defineProperty,yh=Object.getOwnPropertySymbols,uj=Object.prototype.hasOwnProperty,dj=Object.prototype.propertyIsEnumerable,yC=(e,t,n)=>t in e?iU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lU=(e,t)=>{for(var n in t||(t={}))uj.call(t,n)&&yC(e,n,t[n]);if(yh)for(var n of yh(t))dj.call(t,n)&&yC(e,n,t[n]);return e},cU=(e,t)=>{var n={};for(var r in e)uj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&yh)for(var r of yh(e))t.indexOf(r)<0&&dj.call(e,r)&&(n[r]=e[r]);return n};const uU={variant:"text"},fj=f.forwardRef((e,t)=>{const n=Cr("Text",uU,e),{className:r,size:o,weight:s,transform:a,color:c,align:d,variant:p,lineClamp:h,truncate:m,gradient:v,inline:b,inherit:w,underline:y,strikethrough:S,italic:k,classNames:_,styles:P,unstyled:I,span:E,__staticSelector:O}=n,R=cU(n,["className","size","weight","transform","color","align","variant","lineClamp","truncate","gradient","inline","inherit","underline","strikethrough","italic","classNames","styles","unstyled","span","__staticSelector"]),{classes:M,cx:D}=aU({color:c,lineClamp:h,truncate:m,inline:b,inherit:w,underline:y,strikethrough:S,italic:k,weight:s,transform:a,align:d,gradient:v},{unstyled:I,name:O||"Text",variant:p,size:o});return H.createElement(Io,lU({ref:t,className:D(M.root,{[M.gradient]:p==="gradient"},r),component:E?"span":"div"},R))});fj.displayName="@mantine/core/Text";const _c=fj,Jf={xs:Ue(1),sm:Ue(2),md:Ue(3),lg:Ue(4),xl:Ue(5)};function Zf(e,t){const n=e.fn.variant({variant:"outline",color:t}).border;return typeof t=="string"&&(t in e.colors||t.split(".")[0]in e.colors)?n:t===void 0?e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4]:t}var dU=so((e,{color:t},{size:n,variant:r})=>({root:{},withLabel:{borderTop:"0 !important"},left:{"&::before":{display:"none"}},right:{"&::after":{display:"none"}},label:{display:"flex",alignItems:"center","&::before":{content:'""',flex:1,height:Ue(1),borderTop:`${Vt({size:n,sizes:Jf})} ${r} ${Zf(e,t)}`,marginRight:e.spacing.xs},"&::after":{content:'""',flex:1,borderTop:`${Vt({size:n,sizes:Jf})} ${r} ${Zf(e,t)}`,marginLeft:e.spacing.xs}},labelDefaultStyles:{color:t==="dark"?e.colors.dark[1]:e.fn.themeColor(t,e.colorScheme==="dark"?5:e.fn.primaryShade(),!1)},horizontal:{border:0,borderTopWidth:Ue(Vt({size:n,sizes:Jf})),borderTopColor:Zf(e,t),borderTopStyle:r,margin:0},vertical:{border:0,alignSelf:"stretch",height:"auto",borderLeftWidth:Ue(Vt({size:n,sizes:Jf})),borderLeftColor:Zf(e,t),borderLeftStyle:r}}));const fU=dU;var pU=Object.defineProperty,hU=Object.defineProperties,mU=Object.getOwnPropertyDescriptors,xh=Object.getOwnPropertySymbols,pj=Object.prototype.hasOwnProperty,hj=Object.prototype.propertyIsEnumerable,xC=(e,t,n)=>t in e?pU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,wC=(e,t)=>{for(var n in t||(t={}))pj.call(t,n)&&xC(e,n,t[n]);if(xh)for(var n of xh(t))hj.call(t,n)&&xC(e,n,t[n]);return e},gU=(e,t)=>hU(e,mU(t)),vU=(e,t)=>{var n={};for(var r in e)pj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&xh)for(var r of xh(e))t.indexOf(r)<0&&hj.call(e,r)&&(n[r]=e[r]);return n};const bU={orientation:"horizontal",size:"xs",labelPosition:"left",variant:"solid"},g1=f.forwardRef((e,t)=>{const n=Cr("Divider",bU,e),{className:r,color:o,orientation:s,size:a,label:c,labelPosition:d,labelProps:p,variant:h,styles:m,classNames:v,unstyled:b}=n,w=vU(n,["className","color","orientation","size","label","labelPosition","labelProps","variant","styles","classNames","unstyled"]),{classes:y,cx:S}=fU({color:o},{classNames:v,styles:m,unstyled:b,name:"Divider",variant:h,size:a}),k=s==="vertical",_=s==="horizontal",P=!!c&&_,I=!(p!=null&&p.color);return H.createElement(Io,wC({ref:t,className:S(y.root,{[y.vertical]:k,[y.horizontal]:_,[y.withLabel]:P},r),role:"separator"},w),P&&H.createElement(_c,gU(wC({},p),{size:(p==null?void 0:p.size)||"xs",mt:Ue(2),className:S(y.label,y[d],{[y.labelDefaultStyles]:I})}),c))});g1.displayName="@mantine/core/Divider";var yU=Object.defineProperty,xU=Object.defineProperties,wU=Object.getOwnPropertyDescriptors,SC=Object.getOwnPropertySymbols,SU=Object.prototype.hasOwnProperty,CU=Object.prototype.propertyIsEnumerable,CC=(e,t,n)=>t in e?yU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kC=(e,t)=>{for(var n in t||(t={}))SU.call(t,n)&&CC(e,n,t[n]);if(SC)for(var n of SC(t))CU.call(t,n)&&CC(e,n,t[n]);return e},kU=(e,t)=>xU(e,wU(t)),_U=so((e,t,{size:n})=>({item:kU(kC({},e.fn.fontStyles()),{boxSizing:"border-box",wordBreak:"break-all",textAlign:"left",width:"100%",padding:`calc(${Vt({size:n,sizes:e.spacing})} / 1.5) ${Vt({size:n,sizes:e.spacing})}`,cursor:"pointer",fontSize:Vt({size:n,sizes:e.fontSizes}),color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,borderRadius:e.fn.radius(),"&[data-hovered]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[1]},"&[data-selected]":kC({backgroundColor:e.fn.variant({variant:"filled"}).background,color:e.fn.variant({variant:"filled"}).color},e.fn.hover({backgroundColor:e.fn.variant({variant:"filled"}).hover})),"&[data-disabled]":{cursor:"default",color:e.colors.dark[2]}}),nothingFound:{boxSizing:"border-box",color:e.colors.gray[6],paddingTop:`calc(${Vt({size:n,sizes:e.spacing})} / 2)`,paddingBottom:`calc(${Vt({size:n,sizes:e.spacing})} / 2)`,textAlign:"center"},separator:{boxSizing:"border-box",textAlign:"left",width:"100%",padding:`calc(${Vt({size:n,sizes:e.spacing})} / 1.5) ${Vt({size:n,sizes:e.spacing})}`},separatorLabel:{color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]}}));const PU=_U;var jU=Object.defineProperty,_C=Object.getOwnPropertySymbols,IU=Object.prototype.hasOwnProperty,EU=Object.prototype.propertyIsEnumerable,PC=(e,t,n)=>t in e?jU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,OU=(e,t)=>{for(var n in t||(t={}))IU.call(t,n)&&PC(e,n,t[n]);if(_C)for(var n of _C(t))EU.call(t,n)&&PC(e,n,t[n]);return e};function ay({data:e,hovered:t,classNames:n,styles:r,isItemSelected:o,uuid:s,__staticSelector:a,onItemHover:c,onItemSelect:d,itemsRefs:p,itemComponent:h,size:m,nothingFound:v,creatable:b,createLabel:w,unstyled:y,variant:S}){const{classes:k}=PU(null,{classNames:n,styles:r,unstyled:y,name:a,variant:S,size:m}),_=[],P=[];let I=null;const E=(R,M)=>{const D=typeof o=="function"?o(R.value):!1;return H.createElement(h,OU({key:R.value,className:k.item,"data-disabled":R.disabled||void 0,"data-hovered":!R.disabled&&t===M||void 0,"data-selected":!R.disabled&&D||void 0,selected:D,onMouseEnter:()=>c(M),id:`${s}-${M}`,role:"option",tabIndex:-1,"aria-selected":t===M,ref:A=>{p&&p.current&&(p.current[R.value]=A)},onMouseDown:R.disabled?null:A=>{A.preventDefault(),d(R)},disabled:R.disabled,variant:S},R))};let O=null;if(e.forEach((R,M)=>{R.creatable?I=M:R.group?(O!==R.group&&(O=R.group,P.push(H.createElement("div",{className:k.separator,key:`__mantine-divider-${M}`},H.createElement(g1,{classNames:{label:k.separatorLabel},label:R.group})))),P.push(E(R,M))):_.push(E(R,M))}),b){const R=e[I];_.push(H.createElement("div",{key:oy(),className:k.item,"data-hovered":t===I||void 0,onMouseEnter:()=>c(I),onMouseDown:M=>{M.preventDefault(),d(R)},tabIndex:-1,ref:M=>{p&&p.current&&(p.current[R.value]=M)}},w))}return P.length>0&&_.length>0&&_.unshift(H.createElement("div",{className:k.separator,key:"empty-group-separator"},H.createElement(g1,null))),P.length>0||_.length>0?H.createElement(H.Fragment,null,P,_):H.createElement(_c,{size:m,unstyled:y,className:k.nothingFound},v)}ay.displayName="@mantine/core/SelectItems";var RU=Object.defineProperty,wh=Object.getOwnPropertySymbols,mj=Object.prototype.hasOwnProperty,gj=Object.prototype.propertyIsEnumerable,jC=(e,t,n)=>t in e?RU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,MU=(e,t)=>{for(var n in t||(t={}))mj.call(t,n)&&jC(e,n,t[n]);if(wh)for(var n of wh(t))gj.call(t,n)&&jC(e,n,t[n]);return e},DU=(e,t)=>{var n={};for(var r in e)mj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&wh)for(var r of wh(e))t.indexOf(r)<0&&gj.call(e,r)&&(n[r]=e[r]);return n};const iy=f.forwardRef((e,t)=>{var n=e,{label:r,value:o}=n,s=DU(n,["label","value"]);return H.createElement("div",MU({ref:t},s),r||o)});iy.displayName="@mantine/core/DefaultItem";function AU(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function vj(...e){return t=>e.forEach(n=>AU(n,t))}function vl(...e){return f.useCallback(vj(...e),e)}const bj=f.forwardRef((e,t)=>{const{children:n,...r}=e,o=f.Children.toArray(n),s=o.find(NU);if(s){const a=s.props.children,c=o.map(d=>d===s?f.Children.count(a)>1?f.Children.only(null):f.isValidElement(a)?a.props.children:null:d);return f.createElement(v1,sr({},r,{ref:t}),f.isValidElement(a)?f.cloneElement(a,void 0,c):null)}return f.createElement(v1,sr({},r,{ref:t}),n)});bj.displayName="Slot";const v1=f.forwardRef((e,t)=>{const{children:n,...r}=e;return f.isValidElement(n)?f.cloneElement(n,{...$U(r,n.props),ref:vj(t,n.ref)}):f.Children.count(n)>1?f.Children.only(null):null});v1.displayName="SlotClone";const TU=({children:e})=>f.createElement(f.Fragment,null,e);function NU(e){return f.isValidElement(e)&&e.type===TU}function $U(e,t){const n={...t};for(const r in t){const o=e[r],s=t[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...c)=>{s(...c),o(...c)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...e,...n}}const LU=["a","button","div","h2","h3","img","label","li","nav","ol","p","span","svg","ul"],Hd=LU.reduce((e,t)=>{const n=f.forwardRef((r,o)=>{const{asChild:s,...a}=r,c=s?bj:t;return f.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),f.createElement(c,sr({},a,{ref:o}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),b1=globalThis!=null&&globalThis.document?f.useLayoutEffect:()=>{};function zU(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const Wd=e=>{const{present:t,children:n}=e,r=BU(t),o=typeof n=="function"?n({present:r.isPresent}):f.Children.only(n),s=vl(r.ref,o.ref);return typeof n=="function"||r.isPresent?f.cloneElement(o,{ref:s}):null};Wd.displayName="Presence";function BU(e){const[t,n]=f.useState(),r=f.useRef({}),o=f.useRef(e),s=f.useRef("none"),a=e?"mounted":"unmounted",[c,d]=zU(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return f.useEffect(()=>{const p=ep(r.current);s.current=c==="mounted"?p:"none"},[c]),b1(()=>{const p=r.current,h=o.current;if(h!==e){const v=s.current,b=ep(p);e?d("MOUNT"):b==="none"||(p==null?void 0:p.display)==="none"?d("UNMOUNT"):d(h&&v!==b?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,d]),b1(()=>{if(t){const p=m=>{const b=ep(r.current).includes(m.animationName);m.target===t&&b&&_i.flushSync(()=>d("ANIMATION_END"))},h=m=>{m.target===t&&(s.current=ep(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else d("ANIMATION_END")},[t,d]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:f.useCallback(p=>{p&&(r.current=getComputedStyle(p)),n(p)},[])}}function ep(e){return(e==null?void 0:e.animationName)||"none"}function FU(e,t=[]){let n=[];function r(s,a){const c=f.createContext(a),d=n.length;n=[...n,a];function p(m){const{scope:v,children:b,...w}=m,y=(v==null?void 0:v[e][d])||c,S=f.useMemo(()=>w,Object.values(w));return f.createElement(y.Provider,{value:S},b)}function h(m,v){const b=(v==null?void 0:v[e][d])||c,w=f.useContext(b);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${m}\` must be used within \`${s}\``)}return p.displayName=s+"Provider",[p,h]}const o=()=>{const s=n.map(a=>f.createContext(a));return function(c){const d=(c==null?void 0:c[e])||s;return f.useMemo(()=>({[`__scope${e}`]:{...c,[e]:d}}),[c,d])}};return o.scopeName=e,[r,HU(o,...t)]}function HU(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((c,{useScope:d,scopeName:p})=>{const m=d(s)[`__scope${p}`];return{...c,...m}},{});return f.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}function Ui(e){const t=f.useRef(e);return f.useEffect(()=>{t.current=e}),f.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}const WU=f.createContext(void 0);function VU(e){const t=f.useContext(WU);return e||t||"ltr"}function UU(e,[t,n]){return Math.min(n,Math.max(t,e))}function Ji(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function GU(e,t){return f.useReducer((n,r)=>{const o=t[n][r];return o??n},e)}const yj="ScrollArea",[xj,Qde]=FU(yj),[qU,us]=xj(yj),KU=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:r="hover",dir:o,scrollHideDelay:s=600,...a}=e,[c,d]=f.useState(null),[p,h]=f.useState(null),[m,v]=f.useState(null),[b,w]=f.useState(null),[y,S]=f.useState(null),[k,_]=f.useState(0),[P,I]=f.useState(0),[E,O]=f.useState(!1),[R,M]=f.useState(!1),D=vl(t,L=>d(L)),A=VU(o);return f.createElement(qU,{scope:n,type:r,dir:A,scrollHideDelay:s,scrollArea:c,viewport:p,onViewportChange:h,content:m,onContentChange:v,scrollbarX:b,onScrollbarXChange:w,scrollbarXEnabled:E,onScrollbarXEnabledChange:O,scrollbarY:y,onScrollbarYChange:S,scrollbarYEnabled:R,onScrollbarYEnabledChange:M,onCornerWidthChange:_,onCornerHeightChange:I},f.createElement(Hd.div,sr({dir:A},a,{ref:D,style:{position:"relative","--radix-scroll-area-corner-width":k+"px","--radix-scroll-area-corner-height":P+"px",...e.style}})))}),XU="ScrollAreaViewport",YU=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:r,...o}=e,s=us(XU,n),a=f.useRef(null),c=vl(t,a,s.onViewportChange);return f.createElement(f.Fragment,null,f.createElement("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"}}),f.createElement(Hd.div,sr({"data-radix-scroll-area-viewport":""},o,{ref:c,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style}}),f.createElement("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"}},r)))}),Va="ScrollAreaScrollbar",QU=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=us(Va,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:a}=o,c=e.orientation==="horizontal";return f.useEffect(()=>(c?s(!0):a(!0),()=>{c?s(!1):a(!1)}),[c,s,a]),o.type==="hover"?f.createElement(JU,sr({},r,{ref:t,forceMount:n})):o.type==="scroll"?f.createElement(ZU,sr({},r,{ref:t,forceMount:n})):o.type==="auto"?f.createElement(wj,sr({},r,{ref:t,forceMount:n})):o.type==="always"?f.createElement(ly,sr({},r,{ref:t})):null}),JU=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=us(Va,e.__scopeScrollArea),[s,a]=f.useState(!1);return f.useEffect(()=>{const c=o.scrollArea;let d=0;if(c){const p=()=>{window.clearTimeout(d),a(!0)},h=()=>{d=window.setTimeout(()=>a(!1),o.scrollHideDelay)};return c.addEventListener("pointerenter",p),c.addEventListener("pointerleave",h),()=>{window.clearTimeout(d),c.removeEventListener("pointerenter",p),c.removeEventListener("pointerleave",h)}}},[o.scrollArea,o.scrollHideDelay]),f.createElement(Wd,{present:n||s},f.createElement(wj,sr({"data-state":s?"visible":"hidden"},r,{ref:t})))}),ZU=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=us(Va,e.__scopeScrollArea),s=e.orientation==="horizontal",a=Bm(()=>d("SCROLL_END"),100),[c,d]=GU("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return f.useEffect(()=>{if(c==="idle"){const p=window.setTimeout(()=>d("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(p)}},[c,o.scrollHideDelay,d]),f.useEffect(()=>{const p=o.viewport,h=s?"scrollLeft":"scrollTop";if(p){let m=p[h];const v=()=>{const b=p[h];m!==b&&(d("SCROLL"),a()),m=b};return p.addEventListener("scroll",v),()=>p.removeEventListener("scroll",v)}},[o.viewport,s,d,a]),f.createElement(Wd,{present:n||c!=="hidden"},f.createElement(ly,sr({"data-state":c==="hidden"?"hidden":"visible"},r,{ref:t,onPointerEnter:Ji(e.onPointerEnter,()=>d("POINTER_ENTER")),onPointerLeave:Ji(e.onPointerLeave,()=>d("POINTER_LEAVE"))})))}),wj=f.forwardRef((e,t)=>{const n=us(Va,e.__scopeScrollArea),{forceMount:r,...o}=e,[s,a]=f.useState(!1),c=e.orientation==="horizontal",d=Bm(()=>{if(n.viewport){const p=n.viewport.offsetWidth{const{orientation:n="vertical",...r}=e,o=us(Va,e.__scopeScrollArea),s=f.useRef(null),a=f.useRef(0),[c,d]=f.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),p=_j(c.viewport,c.content),h={...r,sizes:c,onSizesChange:d,hasThumb:p>0&&p<1,onThumbChange:v=>s.current=v,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:v=>a.current=v};function m(v,b){return iG(v,a.current,c,b)}return n==="horizontal"?f.createElement(eG,sr({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollLeft,b=IC(v,c,o.dir);s.current.style.transform=`translate3d(${b}px, 0, 0)`}},onWheelScroll:v=>{o.viewport&&(o.viewport.scrollLeft=v)},onDragScroll:v=>{o.viewport&&(o.viewport.scrollLeft=m(v,o.dir))}})):n==="vertical"?f.createElement(tG,sr({},h,{ref:t,onThumbPositionChange:()=>{if(o.viewport&&s.current){const v=o.viewport.scrollTop,b=IC(v,c);s.current.style.transform=`translate3d(0, ${b}px, 0)`}},onWheelScroll:v=>{o.viewport&&(o.viewport.scrollTop=v)},onDragScroll:v=>{o.viewport&&(o.viewport.scrollTop=m(v))}})):null}),eG=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=us(Va,e.__scopeScrollArea),[a,c]=f.useState(),d=f.useRef(null),p=vl(t,d,s.onScrollbarXChange);return f.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),f.createElement(Cj,sr({"data-orientation":"horizontal"},o,{ref:p,sizes:n,style:{bottom:0,left:s.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:s.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":zm(n)+"px",...e.style},onThumbPointerDown:h=>e.onThumbPointerDown(h.x),onDragScroll:h=>e.onDragScroll(h.x),onWheelScroll:(h,m)=>{if(s.viewport){const v=s.viewport.scrollLeft+h.deltaX;e.onWheelScroll(v),jj(v,m)&&h.preventDefault()}},onResize:()=>{d.current&&s.viewport&&a&&r({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:Sh(a.paddingLeft),paddingEnd:Sh(a.paddingRight)}})}}))}),tG=f.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,s=us(Va,e.__scopeScrollArea),[a,c]=f.useState(),d=f.useRef(null),p=vl(t,d,s.onScrollbarYChange);return f.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),f.createElement(Cj,sr({"data-orientation":"vertical"},o,{ref:p,sizes:n,style:{top:0,right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":zm(n)+"px",...e.style},onThumbPointerDown:h=>e.onThumbPointerDown(h.y),onDragScroll:h=>e.onDragScroll(h.y),onWheelScroll:(h,m)=>{if(s.viewport){const v=s.viewport.scrollTop+h.deltaY;e.onWheelScroll(v),jj(v,m)&&h.preventDefault()}},onResize:()=>{d.current&&s.viewport&&a&&r({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:Sh(a.paddingTop),paddingEnd:Sh(a.paddingBottom)}})}}))}),[nG,Sj]=xj(Va),Cj=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:o,onThumbChange:s,onThumbPointerUp:a,onThumbPointerDown:c,onThumbPositionChange:d,onDragScroll:p,onWheelScroll:h,onResize:m,...v}=e,b=us(Va,n),[w,y]=f.useState(null),S=vl(t,D=>y(D)),k=f.useRef(null),_=f.useRef(""),P=b.viewport,I=r.content-r.viewport,E=Ui(h),O=Ui(d),R=Bm(m,10);function M(D){if(k.current){const A=D.clientX-k.current.left,L=D.clientY-k.current.top;p({x:A,y:L})}}return f.useEffect(()=>{const D=A=>{const L=A.target;(w==null?void 0:w.contains(L))&&E(A,I)};return document.addEventListener("wheel",D,{passive:!1}),()=>document.removeEventListener("wheel",D,{passive:!1})},[P,w,I,E]),f.useEffect(O,[r,O]),Pc(w,R),Pc(b.content,R),f.createElement(nG,{scope:n,scrollbar:w,hasThumb:o,onThumbChange:Ui(s),onThumbPointerUp:Ui(a),onThumbPositionChange:O,onThumbPointerDown:Ui(c)},f.createElement(Hd.div,sr({},v,{ref:S,style:{position:"absolute",...v.style},onPointerDown:Ji(e.onPointerDown,D=>{D.button===0&&(D.target.setPointerCapture(D.pointerId),k.current=w.getBoundingClientRect(),_.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",M(D))}),onPointerMove:Ji(e.onPointerMove,M),onPointerUp:Ji(e.onPointerUp,D=>{const A=D.target;A.hasPointerCapture(D.pointerId)&&A.releasePointerCapture(D.pointerId),document.body.style.webkitUserSelect=_.current,k.current=null})})))}),y1="ScrollAreaThumb",rG=f.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Sj(y1,e.__scopeScrollArea);return f.createElement(Wd,{present:n||o.hasThumb},f.createElement(oG,sr({ref:t},r)))}),oG=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:r,...o}=e,s=us(y1,n),a=Sj(y1,n),{onThumbPositionChange:c}=a,d=vl(t,m=>a.onThumbChange(m)),p=f.useRef(),h=Bm(()=>{p.current&&(p.current(),p.current=void 0)},100);return f.useEffect(()=>{const m=s.viewport;if(m){const v=()=>{if(h(),!p.current){const b=lG(m,c);p.current=b,c()}};return c(),m.addEventListener("scroll",v),()=>m.removeEventListener("scroll",v)}},[s.viewport,h,c]),f.createElement(Hd.div,sr({"data-state":a.hasThumb?"visible":"hidden"},o,{ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:Ji(e.onPointerDownCapture,m=>{const b=m.target.getBoundingClientRect(),w=m.clientX-b.left,y=m.clientY-b.top;a.onThumbPointerDown({x:w,y})}),onPointerUp:Ji(e.onPointerUp,a.onThumbPointerUp)}))}),kj="ScrollAreaCorner",sG=f.forwardRef((e,t)=>{const n=us(kj,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?f.createElement(aG,sr({},e,{ref:t})):null}),aG=f.forwardRef((e,t)=>{const{__scopeScrollArea:n,...r}=e,o=us(kj,n),[s,a]=f.useState(0),[c,d]=f.useState(0),p=!!(s&&c);return Pc(o.scrollbarX,()=>{var h;const m=((h=o.scrollbarX)===null||h===void 0?void 0:h.offsetHeight)||0;o.onCornerHeightChange(m),d(m)}),Pc(o.scrollbarY,()=>{var h;const m=((h=o.scrollbarY)===null||h===void 0?void 0:h.offsetWidth)||0;o.onCornerWidthChange(m),a(m)}),p?f.createElement(Hd.div,sr({},r,{ref:t,style:{width:s,height:c,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}})):null});function Sh(e){return e?parseInt(e,10):0}function _j(e,t){const n=e/t;return isNaN(n)?0:n}function zm(e){const t=_j(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function iG(e,t,n,r="ltr"){const o=zm(n),s=o/2,a=t||s,c=o-a,d=n.scrollbar.paddingStart+a,p=n.scrollbar.size-n.scrollbar.paddingEnd-c,h=n.content-n.viewport,m=r==="ltr"?[0,h]:[h*-1,0];return Pj([d,p],m)(e)}function IC(e,t,n="ltr"){const r=zm(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=t.scrollbar.size-o,a=t.content-t.viewport,c=s-r,d=n==="ltr"?[0,a]:[a*-1,0],p=UU(e,d);return Pj([0,a],[0,c])(p)}function Pj(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function jj(e,t){return e>0&&e{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return function o(){const s={left:e.scrollLeft,top:e.scrollTop},a=n.left!==s.left,c=n.top!==s.top;(a||c)&&t(),n=s,r=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(r)};function Bm(e,t){const n=Ui(e),r=f.useRef(0);return f.useEffect(()=>()=>window.clearTimeout(r.current),[]),f.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function Pc(e,t){const n=Ui(t);b1(()=>{let r=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return o.observe(e),()=>{window.cancelAnimationFrame(r),o.unobserve(e)}}},[e,n])}const cG=KU,uG=YU,EC=QU,OC=rG,dG=sG;var fG=so((e,{scrollbarSize:t,offsetScrollbars:n,scrollbarHovered:r,hidden:o})=>({root:{overflow:"hidden"},viewport:{width:"100%",height:"100%",paddingRight:n?Ue(t):void 0,paddingBottom:n?Ue(t):void 0},scrollbar:{display:o?"none":"flex",userSelect:"none",touchAction:"none",boxSizing:"border-box",padding:`calc(${Ue(t)} / 5)`,transition:"background-color 150ms ease, opacity 150ms ease","&:hover":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[8]:e.colors.gray[0],[`& .${TS("thumb")}`]:{backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.white,.5):e.fn.rgba(e.black,.5)}},'&[data-orientation="vertical"]':{width:Ue(t)},'&[data-orientation="horizontal"]':{flexDirection:"column",height:Ue(t)},'&[data-state="hidden"]':{display:"none",opacity:0}},thumb:{ref:TS("thumb"),flex:1,backgroundColor:e.colorScheme==="dark"?e.fn.rgba(e.white,.4):e.fn.rgba(e.black,.4),borderRadius:Ue(t),position:"relative",transition:"background-color 150ms ease",display:o?"none":void 0,overflow:"hidden","&::before":{content:'""',position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"100%",height:"100%",minWidth:Ue(44),minHeight:Ue(44)}},corner:{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[0],transition:"opacity 150ms ease",opacity:r?1:0,display:o?"none":void 0}}));const pG=fG;var hG=Object.defineProperty,mG=Object.defineProperties,gG=Object.getOwnPropertyDescriptors,Ch=Object.getOwnPropertySymbols,Ij=Object.prototype.hasOwnProperty,Ej=Object.prototype.propertyIsEnumerable,RC=(e,t,n)=>t in e?hG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,x1=(e,t)=>{for(var n in t||(t={}))Ij.call(t,n)&&RC(e,n,t[n]);if(Ch)for(var n of Ch(t))Ej.call(t,n)&&RC(e,n,t[n]);return e},Oj=(e,t)=>mG(e,gG(t)),Rj=(e,t)=>{var n={};for(var r in e)Ij.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ch)for(var r of Ch(e))t.indexOf(r)<0&&Ej.call(e,r)&&(n[r]=e[r]);return n};const Mj={scrollbarSize:12,scrollHideDelay:1e3,type:"hover",offsetScrollbars:!1},Fm=f.forwardRef((e,t)=>{const n=Cr("ScrollArea",Mj,e),{children:r,className:o,classNames:s,styles:a,scrollbarSize:c,scrollHideDelay:d,type:p,dir:h,offsetScrollbars:m,viewportRef:v,onScrollPositionChange:b,unstyled:w,variant:y,viewportProps:S}=n,k=Rj(n,["children","className","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","variant","viewportProps"]),[_,P]=f.useState(!1),I=Ha(),{classes:E,cx:O}=pG({scrollbarSize:c,offsetScrollbars:m,scrollbarHovered:_,hidden:p==="never"},{name:"ScrollArea",classNames:s,styles:a,unstyled:w,variant:y});return H.createElement(cG,{type:p==="never"?"always":p,scrollHideDelay:d,dir:h||I.dir,ref:t,asChild:!0},H.createElement(Io,x1({className:O(E.root,o)},k),H.createElement(uG,Oj(x1({},S),{className:E.viewport,ref:v,onScroll:typeof b=="function"?({currentTarget:R})=>b({x:R.scrollLeft,y:R.scrollTop}):void 0}),r),H.createElement(EC,{orientation:"horizontal",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>P(!0),onMouseLeave:()=>P(!1)},H.createElement(OC,{className:E.thumb})),H.createElement(EC,{orientation:"vertical",className:E.scrollbar,forceMount:!0,onMouseEnter:()=>P(!0),onMouseLeave:()=>P(!1)},H.createElement(OC,{className:E.thumb})),H.createElement(dG,{className:E.corner})))}),Dj=f.forwardRef((e,t)=>{const n=Cr("ScrollAreaAutosize",Mj,e),{children:r,classNames:o,styles:s,scrollbarSize:a,scrollHideDelay:c,type:d,dir:p,offsetScrollbars:h,viewportRef:m,onScrollPositionChange:v,unstyled:b,sx:w,variant:y,viewportProps:S}=n,k=Rj(n,["children","classNames","styles","scrollbarSize","scrollHideDelay","type","dir","offsetScrollbars","viewportRef","onScrollPositionChange","unstyled","sx","variant","viewportProps"]);return H.createElement(Io,Oj(x1({},k),{ref:t,sx:[{display:"flex"},...xP(w)]}),H.createElement(Io,{sx:{display:"flex",flexDirection:"column",flex:1}},H.createElement(Fm,{classNames:o,styles:s,scrollHideDelay:c,scrollbarSize:a,type:d,dir:p,offsetScrollbars:h,viewportRef:m,onScrollPositionChange:v,unstyled:b,variant:y,viewportProps:S},r)))});Dj.displayName="@mantine/core/ScrollAreaAutosize";Fm.displayName="@mantine/core/ScrollArea";Fm.Autosize=Dj;const Aj=Fm;var vG=Object.defineProperty,bG=Object.defineProperties,yG=Object.getOwnPropertyDescriptors,kh=Object.getOwnPropertySymbols,Tj=Object.prototype.hasOwnProperty,Nj=Object.prototype.propertyIsEnumerable,MC=(e,t,n)=>t in e?vG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,DC=(e,t)=>{for(var n in t||(t={}))Tj.call(t,n)&&MC(e,n,t[n]);if(kh)for(var n of kh(t))Nj.call(t,n)&&MC(e,n,t[n]);return e},xG=(e,t)=>bG(e,yG(t)),wG=(e,t)=>{var n={};for(var r in e)Tj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&kh)for(var r of kh(e))t.indexOf(r)<0&&Nj.call(e,r)&&(n[r]=e[r]);return n};const Hm=f.forwardRef((e,t)=>{var n=e,{style:r}=n,o=wG(n,["style"]);return H.createElement(Aj,xG(DC({},o),{style:DC({width:"100%"},r),viewportProps:{tabIndex:-1},viewportRef:t}),o.children)});Hm.displayName="@mantine/core/SelectScrollArea";var SG=so(()=>({dropdown:{},itemsWrapper:{padding:Ue(4),display:"flex",width:"100%",boxSizing:"border-box"}}));const CG=SG;function Uc(e){return e.split("-")[1]}function cy(e){return e==="y"?"height":"width"}function _s(e){return e.split("-")[0]}function Ii(e){return["top","bottom"].includes(_s(e))?"x":"y"}function AC(e,t,n){let{reference:r,floating:o}=e;const s=r.x+r.width/2-o.width/2,a=r.y+r.height/2-o.height/2,c=Ii(t),d=cy(c),p=r[d]/2-o[d]/2,h=c==="x";let m;switch(_s(t)){case"top":m={x:s,y:r.y-o.height};break;case"bottom":m={x:s,y:r.y+r.height};break;case"right":m={x:r.x+r.width,y:a};break;case"left":m={x:r.x-o.width,y:a};break;default:m={x:r.x,y:r.y}}switch(Uc(t)){case"start":m[c]-=p*(n&&h?-1:1);break;case"end":m[c]+=p*(n&&h?-1:1)}return m}const kG=async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:s=[],platform:a}=n,c=s.filter(Boolean),d=await(a.isRTL==null?void 0:a.isRTL(t));let p=await a.getElementRects({reference:e,floating:t,strategy:o}),{x:h,y:m}=AC(p,r,d),v=r,b={},w=0;for(let y=0;y({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:o,rects:s,platform:a,elements:c}=t,{element:d,padding:p=0}=Na(e,t)||{};if(d==null)return{};const h=uy(p),m={x:n,y:r},v=Ii(o),b=cy(v),w=await a.getDimensions(d),y=v==="y",S=y?"top":"left",k=y?"bottom":"right",_=y?"clientHeight":"clientWidth",P=s.reference[b]+s.reference[v]-m[v]-s.floating[b],I=m[v]-s.reference[v],E=await(a.getOffsetParent==null?void 0:a.getOffsetParent(d));let O=E?E[_]:0;O&&await(a.isElement==null?void 0:a.isElement(E))||(O=c.floating[_]||s.floating[b]);const R=P/2-I/2,M=O/2-w[b]/2-1,D=vi(h[S],M),A=vi(h[k],M),L=D,Q=O-w[b]-A,F=O/2-w[b]/2+R,V=w1(L,F,Q),q=Uc(o)!=null&&F!=V&&s.reference[b]/2-(Fe.concat(t,t+"-start",t+"-end"),[]);const PG={left:"right",right:"left",bottom:"top",top:"bottom"};function _h(e){return e.replace(/left|right|bottom|top/g,t=>PG[t])}function jG(e,t,n){n===void 0&&(n=!1);const r=Uc(e),o=Ii(e),s=cy(o);let a=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(a=_h(a)),{main:a,cross:_h(a)}}const IG={start:"end",end:"start"};function X0(e){return e.replace(/start|end/g,t=>IG[t])}const EG=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n;const{placement:r,middlewareData:o,rects:s,initialPlacement:a,platform:c,elements:d}=t,{mainAxis:p=!0,crossAxis:h=!0,fallbackPlacements:m,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:w=!0,...y}=Na(e,t),S=_s(r),k=_s(a)===a,_=await(c.isRTL==null?void 0:c.isRTL(d.floating)),P=m||(k||!w?[_h(a)]:function(L){const Q=_h(L);return[X0(L),Q,X0(Q)]}(a));m||b==="none"||P.push(...function(L,Q,F,V){const q=Uc(L);let G=function(T,z,$){const Y=["left","right"],ae=["right","left"],fe=["top","bottom"],ie=["bottom","top"];switch(T){case"top":case"bottom":return $?z?ae:Y:z?Y:ae;case"left":case"right":return z?fe:ie;default:return[]}}(_s(L),F==="start",V);return q&&(G=G.map(T=>T+"-"+q),Q&&(G=G.concat(G.map(X0)))),G}(a,w,b,_));const I=[a,...P],E=await dy(t,y),O=[];let R=((n=o.flip)==null?void 0:n.overflows)||[];if(p&&O.push(E[S]),h){const{main:L,cross:Q}=jG(r,s,_);O.push(E[L],E[Q])}if(R=[...R,{placement:r,overflows:O}],!O.every(L=>L<=0)){var M,D;const L=(((M=o.flip)==null?void 0:M.index)||0)+1,Q=I[L];if(Q)return{data:{index:L,overflows:R},reset:{placement:Q}};let F=(D=R.filter(V=>V.overflows[0]<=0).sort((V,q)=>V.overflows[1]-q.overflows[1])[0])==null?void 0:D.placement;if(!F)switch(v){case"bestFit":{var A;const V=(A=R.map(q=>[q.placement,q.overflows.filter(G=>G>0).reduce((G,T)=>G+T,0)]).sort((q,G)=>q[1]-G[1])[0])==null?void 0:A[0];V&&(F=V);break}case"initialPlacement":F=a}if(r!==F)return{reset:{placement:F}}}return{}}}};function NC(e){const t=vi(...e.map(r=>r.left)),n=vi(...e.map(r=>r.top));return{x:t,y:n,width:Ks(...e.map(r=>r.right))-t,height:Ks(...e.map(r=>r.bottom))-n}}const OG=function(e){return e===void 0&&(e={}),{name:"inline",options:e,async fn(t){const{placement:n,elements:r,rects:o,platform:s,strategy:a}=t,{padding:c=2,x:d,y:p}=Na(e,t),h=Array.from(await(s.getClientRects==null?void 0:s.getClientRects(r.reference))||[]),m=function(y){const S=y.slice().sort((P,I)=>P.y-I.y),k=[];let _=null;for(let P=0;P_.height/2?k.push([I]):k[k.length-1].push(I),_=I}return k.map(P=>jc(NC(P)))}(h),v=jc(NC(h)),b=uy(c),w=await s.getElementRects({reference:{getBoundingClientRect:function(){if(m.length===2&&m[0].left>m[1].right&&d!=null&&p!=null)return m.find(y=>d>y.left-b.left&&dy.top-b.top&&p=2){if(Ii(n)==="x"){const E=m[0],O=m[m.length-1],R=_s(n)==="top",M=E.top,D=O.bottom,A=R?E.left:O.left,L=R?E.right:O.right;return{top:M,bottom:D,left:A,right:L,width:L-A,height:D-M,x:A,y:M}}const y=_s(n)==="left",S=Ks(...m.map(E=>E.right)),k=vi(...m.map(E=>E.left)),_=m.filter(E=>y?E.left===k:E.right===S),P=_[0].top,I=_[_.length-1].bottom;return{top:P,bottom:I,left:k,right:S,width:S-k,height:I-P,x:k,y:P}}return v}},floating:r.floating,strategy:a});return o.reference.x!==w.reference.x||o.reference.y!==w.reference.y||o.reference.width!==w.reference.width||o.reference.height!==w.reference.height?{reset:{rects:w}}:{}}}},RG=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){const{x:n,y:r}=t,o=await async function(s,a){const{placement:c,platform:d,elements:p}=s,h=await(d.isRTL==null?void 0:d.isRTL(p.floating)),m=_s(c),v=Uc(c),b=Ii(c)==="x",w=["left","top"].includes(m)?-1:1,y=h&&b?-1:1,S=Na(a,s);let{mainAxis:k,crossAxis:_,alignmentAxis:P}=typeof S=="number"?{mainAxis:S,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...S};return v&&typeof P=="number"&&(_=v==="end"?-1*P:P),b?{x:_*y,y:k*w}:{x:k*w,y:_*y}}(t,e);return{x:n+o.x,y:r+o.y,data:o}}}};function $j(e){return e==="x"?"y":"x"}const MG=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o}=t,{mainAxis:s=!0,crossAxis:a=!1,limiter:c={fn:S=>{let{x:k,y:_}=S;return{x:k,y:_}}},...d}=Na(e,t),p={x:n,y:r},h=await dy(t,d),m=Ii(_s(o)),v=$j(m);let b=p[m],w=p[v];if(s){const S=m==="y"?"bottom":"right";b=w1(b+h[m==="y"?"top":"left"],b,b-h[S])}if(a){const S=v==="y"?"bottom":"right";w=w1(w+h[v==="y"?"top":"left"],w,w-h[S])}const y=c.fn({...t,[m]:b,[v]:w});return{...y,data:{x:y.x-n,y:y.y-r}}}}},DG=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:o,rects:s,middlewareData:a}=t,{offset:c=0,mainAxis:d=!0,crossAxis:p=!0}=Na(e,t),h={x:n,y:r},m=Ii(o),v=$j(m);let b=h[m],w=h[v];const y=Na(c,t),S=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(d){const P=m==="y"?"height":"width",I=s.reference[m]-s.floating[P]+S.mainAxis,E=s.reference[m]+s.reference[P]-S.mainAxis;bE&&(b=E)}if(p){var k,_;const P=m==="y"?"width":"height",I=["top","left"].includes(_s(o)),E=s.reference[v]-s.floating[P]+(I&&((k=a.offset)==null?void 0:k[v])||0)+(I?0:S.crossAxis),O=s.reference[v]+s.reference[P]+(I?0:((_=a.offset)==null?void 0:_[v])||0)-(I?S.crossAxis:0);wO&&(w=O)}return{[m]:b,[v]:w}}}},AG=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:r,platform:o,elements:s}=t,{apply:a=()=>{},...c}=Na(e,t),d=await dy(t,c),p=_s(n),h=Uc(n),m=Ii(n)==="x",{width:v,height:b}=r.floating;let w,y;p==="top"||p==="bottom"?(w=p,y=h===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?"start":"end")?"left":"right"):(y=p,w=h==="end"?"top":"bottom");const S=b-d[w],k=v-d[y],_=!t.middlewareData.shift;let P=S,I=k;if(m){const O=v-d.left-d.right;I=h||_?vi(k,O):O}else{const O=b-d.top-d.bottom;P=h||_?vi(S,O):O}if(_&&!h){const O=Ks(d.left,0),R=Ks(d.right,0),M=Ks(d.top,0),D=Ks(d.bottom,0);m?I=v-2*(O!==0||R!==0?O+R:Ks(d.left,d.right)):P=b-2*(M!==0||D!==0?M+D:Ks(d.top,d.bottom))}await a({...t,availableWidth:I,availableHeight:P});const E=await o.getDimensions(s.floating);return v!==E.width||b!==E.height?{reset:{rects:!0}}:{}}}};function zo(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function oa(e){return zo(e).getComputedStyle(e)}function Lj(e){return e instanceof zo(e).Node}function bi(e){return Lj(e)?(e.nodeName||"").toLowerCase():"#document"}function Os(e){return e instanceof HTMLElement||e instanceof zo(e).HTMLElement}function $C(e){return typeof ShadowRoot<"u"&&(e instanceof zo(e).ShadowRoot||e instanceof ShadowRoot)}function dd(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=oa(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(o)}function TG(e){return["table","td","th"].includes(bi(e))}function S1(e){const t=fy(),n=oa(e);return n.transform!=="none"||n.perspective!=="none"||!!n.containerType&&n.containerType!=="normal"||!t&&!!n.backdropFilter&&n.backdropFilter!=="none"||!t&&!!n.filter&&n.filter!=="none"||["transform","perspective","filter"].some(r=>(n.willChange||"").includes(r))||["paint","layout","strict","content"].some(r=>(n.contain||"").includes(r))}function fy(){return!(typeof CSS>"u"||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function Wm(e){return["html","body","#document"].includes(bi(e))}const C1=Math.min,fc=Math.max,Ph=Math.round,tp=Math.floor,yi=e=>({x:e,y:e});function zj(e){const t=oa(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=Os(e),s=o?e.offsetWidth:n,a=o?e.offsetHeight:r,c=Ph(n)!==s||Ph(r)!==a;return c&&(n=s,r=a),{width:n,height:r,$:c}}function _a(e){return e instanceof Element||e instanceof zo(e).Element}function py(e){return _a(e)?e:e.contextElement}function pc(e){const t=py(e);if(!Os(t))return yi(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:s}=zj(t);let a=(s?Ph(n.width):n.width)/r,c=(s?Ph(n.height):n.height)/o;return a&&Number.isFinite(a)||(a=1),c&&Number.isFinite(c)||(c=1),{x:a,y:c}}const NG=yi(0);function Bj(e){const t=zo(e);return fy()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:NG}function cl(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),s=py(e);let a=yi(1);t&&(r?_a(r)&&(a=pc(r)):a=pc(e));const c=function(v,b,w){return b===void 0&&(b=!1),!(!w||b&&w!==zo(v))&&b}(s,n,r)?Bj(s):yi(0);let d=(o.left+c.x)/a.x,p=(o.top+c.y)/a.y,h=o.width/a.x,m=o.height/a.y;if(s){const v=zo(s),b=r&&_a(r)?zo(r):r;let w=v.frameElement;for(;w&&r&&b!==v;){const y=pc(w),S=w.getBoundingClientRect(),k=getComputedStyle(w),_=S.left+(w.clientLeft+parseFloat(k.paddingLeft))*y.x,P=S.top+(w.clientTop+parseFloat(k.paddingTop))*y.y;d*=y.x,p*=y.y,h*=y.x,m*=y.y,d+=_,p+=P,w=zo(w).frameElement}}return jc({width:h,height:m,x:d,y:p})}function Vm(e){return _a(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Pa(e){var t;return(t=(Lj(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Fj(e){return cl(Pa(e)).left+Vm(e).scrollLeft}function Ic(e){if(bi(e)==="html")return e;const t=e.assignedSlot||e.parentNode||$C(e)&&e.host||Pa(e);return $C(t)?t.host:t}function Hj(e){const t=Ic(e);return Wm(t)?e.ownerDocument?e.ownerDocument.body:e.body:Os(t)&&dd(t)?t:Hj(t)}function jh(e,t){var n;t===void 0&&(t=[]);const r=Hj(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=zo(r);return o?t.concat(s,s.visualViewport||[],dd(r)?r:[]):t.concat(r,jh(r))}function LC(e,t,n){let r;if(t==="viewport")r=function(o,s){const a=zo(o),c=Pa(o),d=a.visualViewport;let p=c.clientWidth,h=c.clientHeight,m=0,v=0;if(d){p=d.width,h=d.height;const b=fy();(!b||b&&s==="fixed")&&(m=d.offsetLeft,v=d.offsetTop)}return{width:p,height:h,x:m,y:v}}(e,n);else if(t==="document")r=function(o){const s=Pa(o),a=Vm(o),c=o.ownerDocument.body,d=fc(s.scrollWidth,s.clientWidth,c.scrollWidth,c.clientWidth),p=fc(s.scrollHeight,s.clientHeight,c.scrollHeight,c.clientHeight);let h=-a.scrollLeft+Fj(o);const m=-a.scrollTop;return oa(c).direction==="rtl"&&(h+=fc(s.clientWidth,c.clientWidth)-d),{width:d,height:p,x:h,y:m}}(Pa(e));else if(_a(t))r=function(o,s){const a=cl(o,!0,s==="fixed"),c=a.top+o.clientTop,d=a.left+o.clientLeft,p=Os(o)?pc(o):yi(1);return{width:o.clientWidth*p.x,height:o.clientHeight*p.y,x:d*p.x,y:c*p.y}}(t,n);else{const o=Bj(e);r={...t,x:t.x-o.x,y:t.y-o.y}}return jc(r)}function Wj(e,t){const n=Ic(e);return!(n===t||!_a(n)||Wm(n))&&(oa(n).position==="fixed"||Wj(n,t))}function $G(e,t,n){const r=Os(t),o=Pa(t),s=n==="fixed",a=cl(e,!0,s,t);let c={scrollLeft:0,scrollTop:0};const d=yi(0);if(r||!r&&!s)if((bi(t)!=="body"||dd(o))&&(c=Vm(t)),Os(t)){const p=cl(t,!0,s,t);d.x=p.x+t.clientLeft,d.y=p.y+t.clientTop}else o&&(d.x=Fj(o));return{x:a.left+c.scrollLeft-d.x,y:a.top+c.scrollTop-d.y,width:a.width,height:a.height}}function zC(e,t){return Os(e)&&oa(e).position!=="fixed"?t?t(e):e.offsetParent:null}function BC(e,t){const n=zo(e);if(!Os(e))return n;let r=zC(e,t);for(;r&&TG(r)&&oa(r).position==="static";)r=zC(r,t);return r&&(bi(r)==="html"||bi(r)==="body"&&oa(r).position==="static"&&!S1(r))?n:r||function(o){let s=Ic(o);for(;Os(s)&&!Wm(s);){if(S1(s))return s;s=Ic(s)}return null}(e)||n}const LG={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{rect:t,offsetParent:n,strategy:r}=e;const o=Os(n),s=Pa(n);if(n===s)return t;let a={scrollLeft:0,scrollTop:0},c=yi(1);const d=yi(0);if((o||!o&&r!=="fixed")&&((bi(n)!=="body"||dd(s))&&(a=Vm(n)),Os(n))){const p=cl(n);c=pc(n),d.x=p.x+n.clientLeft,d.y=p.y+n.clientTop}return{width:t.width*c.x,height:t.height*c.y,x:t.x*c.x-a.scrollLeft*c.x+d.x,y:t.y*c.y-a.scrollTop*c.y+d.y}},getDocumentElement:Pa,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const s=[...n==="clippingAncestors"?function(d,p){const h=p.get(d);if(h)return h;let m=jh(d).filter(y=>_a(y)&&bi(y)!=="body"),v=null;const b=oa(d).position==="fixed";let w=b?Ic(d):d;for(;_a(w)&&!Wm(w);){const y=oa(w),S=S1(w);S||y.position!=="fixed"||(v=null),(b?!S&&!v:!S&&y.position==="static"&&v&&["absolute","fixed"].includes(v.position)||dd(w)&&!S&&Wj(d,w))?m=m.filter(k=>k!==w):v=y,w=Ic(w)}return p.set(d,m),m}(t,this._c):[].concat(n),r],a=s[0],c=s.reduce((d,p)=>{const h=LC(t,p,o);return d.top=fc(h.top,d.top),d.right=C1(h.right,d.right),d.bottom=C1(h.bottom,d.bottom),d.left=fc(h.left,d.left),d},LC(t,a,o));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}},getOffsetParent:BC,getElementRects:async function(e){let{reference:t,floating:n,strategy:r}=e;const o=this.getOffsetParent||BC,s=this.getDimensions;return{reference:$G(t,await o(n),r),floating:{x:0,y:0,...await s(n)}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){return zj(e)},getScale:pc,isElement:_a,isRTL:function(e){return getComputedStyle(e).direction==="rtl"}};function zG(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:d=!1}=r,p=py(e),h=o||s?[...p?jh(p):[],...jh(t)]:[];h.forEach(S=>{o&&S.addEventListener("scroll",n,{passive:!0}),s&&S.addEventListener("resize",n)});const m=p&&c?function(S,k){let _,P=null;const I=Pa(S);function E(){clearTimeout(_),P&&P.disconnect(),P=null}return function O(R,M){R===void 0&&(R=!1),M===void 0&&(M=1),E();const{left:D,top:A,width:L,height:Q}=S.getBoundingClientRect();if(R||k(),!L||!Q)return;const F={rootMargin:-tp(A)+"px "+-tp(I.clientWidth-(D+L))+"px "+-tp(I.clientHeight-(A+Q))+"px "+-tp(D)+"px",threshold:fc(0,C1(1,M))||1};let V=!0;function q(G){const T=G[0].intersectionRatio;if(T!==M){if(!V)return O();T?O(!1,T):_=setTimeout(()=>{O(!1,1e-7)},100)}V=!1}try{P=new IntersectionObserver(q,{...F,root:I.ownerDocument})}catch{P=new IntersectionObserver(q,F)}P.observe(S)}(!0),E}(p,n):null;let v,b=-1,w=null;a&&(w=new ResizeObserver(S=>{let[k]=S;k&&k.target===p&&w&&(w.unobserve(t),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{w&&w.observe(t)})),n()}),p&&!d&&w.observe(p),w.observe(t));let y=d?cl(e):null;return d&&function S(){const k=cl(e);!y||k.x===y.x&&k.y===y.y&&k.width===y.width&&k.height===y.height||n(),y=k,v=requestAnimationFrame(S)}(),n(),()=>{h.forEach(S=>{o&&S.removeEventListener("scroll",n),s&&S.removeEventListener("resize",n)}),m&&m(),w&&w.disconnect(),w=null,d&&cancelAnimationFrame(v)}}const BG=(e,t,n)=>{const r=new Map,o={platform:LG,...n},s={...o.platform,_c:r};return kG(e,t,{...o,platform:s})},FG=e=>{const{element:t,padding:n}=e;function r(o){return Object.prototype.hasOwnProperty.call(o,"current")}return{name:"arrow",options:e,fn(o){return r(t)?t.current!=null?TC({element:t.current,padding:n}).fn(o):{}:t?TC({element:t,padding:n}).fn(o):{}}}};var Np=typeof document<"u"?f.useLayoutEffect:f.useEffect;function Ih(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Ih(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){const s=o[r];if(!(s==="_owner"&&e.$$typeof)&&!Ih(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function FC(e){const t=f.useRef(e);return Np(()=>{t.current=e}),t}function HG(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,whileElementsMounted:s,open:a}=e,[c,d]=f.useState({x:null,y:null,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,h]=f.useState(r);Ih(p,r)||h(r);const m=f.useRef(null),v=f.useRef(null),b=f.useRef(c),w=FC(s),y=FC(o),[S,k]=f.useState(null),[_,P]=f.useState(null),I=f.useCallback(A=>{m.current!==A&&(m.current=A,k(A))},[]),E=f.useCallback(A=>{v.current!==A&&(v.current=A,P(A))},[]),O=f.useCallback(()=>{if(!m.current||!v.current)return;const A={placement:t,strategy:n,middleware:p};y.current&&(A.platform=y.current),BG(m.current,v.current,A).then(L=>{const Q={...L,isPositioned:!0};R.current&&!Ih(b.current,Q)&&(b.current=Q,_i.flushSync(()=>{d(Q)}))})},[p,t,n,y]);Np(()=>{a===!1&&b.current.isPositioned&&(b.current.isPositioned=!1,d(A=>({...A,isPositioned:!1})))},[a]);const R=f.useRef(!1);Np(()=>(R.current=!0,()=>{R.current=!1}),[]),Np(()=>{if(S&&_){if(w.current)return w.current(S,_,O);O()}},[S,_,O,w]);const M=f.useMemo(()=>({reference:m,floating:v,setReference:I,setFloating:E}),[I,E]),D=f.useMemo(()=>({reference:S,floating:_}),[S,_]);return f.useMemo(()=>({...c,update:O,refs:M,elements:D,reference:I,floating:E}),[c,O,M,D,I,E])}var WG=typeof document<"u"?f.useLayoutEffect:f.useEffect;function VG(){const e=new Map;return{emit(t,n){var r;(r=e.get(t))==null||r.forEach(o=>o(n))},on(t,n){e.set(t,[...e.get(t)||[],n])},off(t,n){e.set(t,(e.get(t)||[]).filter(r=>r!==n))}}}const UG=f.createContext(null),GG=()=>f.useContext(UG);function qG(e){return(e==null?void 0:e.ownerDocument)||document}function KG(e){return qG(e).defaultView||window}function np(e){return e?e instanceof KG(e).Element:!1}const XG=Q1["useInsertionEffect".toString()],YG=XG||(e=>e());function QG(e){const t=f.useRef(()=>{});return YG(()=>{t.current=e}),f.useCallback(function(){for(var n=arguments.length,r=new Array(n),o=0;oVG())[0],[p,h]=f.useState(null),m=f.useCallback(k=>{const _=np(k)?{getBoundingClientRect:()=>k.getBoundingClientRect(),contextElement:k}:k;o.refs.setReference(_)},[o.refs]),v=f.useCallback(k=>{(np(k)||k===null)&&(a.current=k,h(k)),(np(o.refs.reference.current)||o.refs.reference.current===null||k!==null&&!np(k))&&o.refs.setReference(k)},[o.refs]),b=f.useMemo(()=>({...o.refs,setReference:v,setPositionReference:m,domReference:a}),[o.refs,v,m]),w=f.useMemo(()=>({...o.elements,domReference:p}),[o.elements,p]),y=QG(n),S=f.useMemo(()=>({...o,refs:b,elements:w,dataRef:c,nodeId:r,events:d,open:t,onOpenChange:y}),[o,r,d,t,y,b,w]);return WG(()=>{const k=s==null?void 0:s.nodesRef.current.find(_=>_.id===r);k&&(k.context=S)}),f.useMemo(()=>({...o,context:S,refs:b,reference:v,positionReference:m}),[o,b,S,v,m])}function ZG({opened:e,floating:t,position:n,positionDependencies:r}){const[o,s]=f.useState(0);f.useEffect(()=>{if(t.refs.reference.current&&t.refs.floating.current)return zG(t.refs.reference.current,t.refs.floating.current,t.update)},[t.refs.reference.current,t.refs.floating.current,e,o,n]),ks(()=>{t.update()},r),ks(()=>{s(a=>a+1)},[e])}function eq(e){const t=[RG(e.offset)];return e.middlewares.shift&&t.push(MG({limiter:DG()})),e.middlewares.flip&&t.push(EG()),e.middlewares.inline&&t.push(OG()),t.push(FG({element:e.arrowRef,padding:e.arrowOffset})),t}function tq(e){const[t,n]=ud({value:e.opened,defaultValue:e.defaultOpened,finalValue:!1,onChange:e.onChange}),r=()=>{var a;(a=e.onClose)==null||a.call(e),n(!1)},o=()=>{var a,c;t?((a=e.onClose)==null||a.call(e),n(!1)):((c=e.onOpen)==null||c.call(e),n(!0))},s=JG({placement:e.position,middleware:[...eq(e),...e.width==="target"?[AG({apply({rects:a}){var c,d;Object.assign((d=(c=s.refs.floating.current)==null?void 0:c.style)!=null?d:{},{width:`${a.reference.width}px`})}})]:[]]});return ZG({opened:e.opened,position:e.position,positionDependencies:e.positionDependencies,floating:s}),ks(()=>{var a;(a=e.onPositionChange)==null||a.call(e,s.placement)},[s.placement]),ks(()=>{var a,c;e.opened?(c=e.onOpen)==null||c.call(e):(a=e.onClose)==null||a.call(e)},[e.opened]),{floating:s,controlled:typeof e.opened=="boolean",opened:t,onClose:r,onToggle:o}}const Vj={context:"Popover component was not found in the tree",children:"Popover.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported"},[nq,Uj]=WH(Vj.context);var rq=Object.defineProperty,oq=Object.defineProperties,sq=Object.getOwnPropertyDescriptors,Eh=Object.getOwnPropertySymbols,Gj=Object.prototype.hasOwnProperty,qj=Object.prototype.propertyIsEnumerable,HC=(e,t,n)=>t in e?rq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,rp=(e,t)=>{for(var n in t||(t={}))Gj.call(t,n)&&HC(e,n,t[n]);if(Eh)for(var n of Eh(t))qj.call(t,n)&&HC(e,n,t[n]);return e},aq=(e,t)=>oq(e,sq(t)),iq=(e,t)=>{var n={};for(var r in e)Gj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Eh)for(var r of Eh(e))t.indexOf(r)<0&&qj.call(e,r)&&(n[r]=e[r]);return n};const lq={refProp:"ref",popupType:"dialog"},Kj=f.forwardRef((e,t)=>{const n=Cr("PopoverTarget",lq,e),{children:r,refProp:o,popupType:s}=n,a=iq(n,["children","refProp","popupType"]);if(!SP(r))throw new Error(Vj.children);const c=a,d=Uj(),p=Fd(d.reference,r.ref,t),h=d.withRoles?{"aria-haspopup":s,"aria-expanded":d.opened,"aria-controls":d.getDropdownId(),id:d.getTargetId()}:{};return f.cloneElement(r,rp(aq(rp(rp(rp({},c),h),d.targetProps),{className:kP(d.targetProps.className,c.className,r.props.className),[o]:p}),d.controlled?null:{onClick:d.onToggle}))});Kj.displayName="@mantine/core/PopoverTarget";var cq=so((e,{radius:t,shadow:n})=>({dropdown:{position:"absolute",backgroundColor:e.white,background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,border:`${Ue(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2]}`,padding:`${e.spacing.sm} ${e.spacing.md}`,boxShadow:e.shadows[n]||n||"none",borderRadius:e.fn.radius(t),"&:focus":{outline:0}},arrow:{backgroundColor:"inherit",border:`${Ue(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[2]}`,zIndex:1}}));const uq=cq;var dq=Object.defineProperty,WC=Object.getOwnPropertySymbols,fq=Object.prototype.hasOwnProperty,pq=Object.prototype.propertyIsEnumerable,VC=(e,t,n)=>t in e?dq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Hl=(e,t)=>{for(var n in t||(t={}))fq.call(t,n)&&VC(e,n,t[n]);if(WC)for(var n of WC(t))pq.call(t,n)&&VC(e,n,t[n]);return e};const UC={entering:"in",entered:"in",exiting:"out",exited:"out","pre-exiting":"out","pre-entering":"out"};function hq({transition:e,state:t,duration:n,timingFunction:r}){const o={transitionDuration:`${n}ms`,transitionTimingFunction:r};return typeof e=="string"?e in Xf?Hl(Hl(Hl({transitionProperty:Xf[e].transitionProperty},o),Xf[e].common),Xf[e][UC[t]]):null:Hl(Hl(Hl({transitionProperty:e.transitionProperty},o),e.common),e[UC[t]])}function mq({duration:e,exitDuration:t,timingFunction:n,mounted:r,onEnter:o,onExit:s,onEntered:a,onExited:c}){const d=Ha(),p=RP(),h=d.respectReducedMotion?p:!1,[m,v]=f.useState(h?0:e),[b,w]=f.useState(r?"entered":"exited"),y=f.useRef(-1),S=k=>{const _=k?o:s,P=k?a:c;w(k?"pre-entering":"pre-exiting"),window.clearTimeout(y.current);const I=h?0:k?e:t;if(v(I),I===0)typeof _=="function"&&_(),typeof P=="function"&&P(),w(k?"entered":"exited");else{const E=window.setTimeout(()=>{typeof _=="function"&&_(),w(k?"entering":"exiting")},10);y.current=window.setTimeout(()=>{window.clearTimeout(E),typeof P=="function"&&P(),w(k?"entered":"exited")},I)}};return ks(()=>{S(r)},[r]),f.useEffect(()=>()=>window.clearTimeout(y.current),[]),{transitionDuration:m,transitionStatus:b,transitionTimingFunction:n||d.transitionTimingFunction}}function Xj({keepMounted:e,transition:t,duration:n=250,exitDuration:r=n,mounted:o,children:s,timingFunction:a,onExit:c,onEntered:d,onEnter:p,onExited:h}){const{transitionDuration:m,transitionStatus:v,transitionTimingFunction:b}=mq({mounted:o,exitDuration:r,duration:n,timingFunction:a,onExit:c,onEntered:d,onEnter:p,onExited:h});return m===0?o?H.createElement(H.Fragment,null,s({})):e?s({display:"none"}):null:v==="exited"?e?s({display:"none"}):null:H.createElement(H.Fragment,null,s(hq({transition:t,duration:m,state:v,timingFunction:b})))}Xj.displayName="@mantine/core/Transition";function Yj({children:e,active:t=!0,refProp:n="ref"}){const r=CW(t),o=Fd(r,e==null?void 0:e.ref);return SP(e)?f.cloneElement(e,{[n]:o}):e}Yj.displayName="@mantine/core/FocusTrap";var gq=Object.defineProperty,vq=Object.defineProperties,bq=Object.getOwnPropertyDescriptors,GC=Object.getOwnPropertySymbols,yq=Object.prototype.hasOwnProperty,xq=Object.prototype.propertyIsEnumerable,qC=(e,t,n)=>t in e?gq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ti=(e,t)=>{for(var n in t||(t={}))yq.call(t,n)&&qC(e,n,t[n]);if(GC)for(var n of GC(t))xq.call(t,n)&&qC(e,n,t[n]);return e},op=(e,t)=>vq(e,bq(t));function KC(e,t,n,r){return e==="center"||r==="center"?{top:t}:e==="end"?{bottom:n}:e==="start"?{top:n}:{}}function XC(e,t,n,r,o){return e==="center"||r==="center"?{left:t}:e==="end"?{[o==="ltr"?"right":"left"]:n}:e==="start"?{[o==="ltr"?"left":"right"]:n}:{}}const wq={bottom:"borderTopLeftRadius",left:"borderTopRightRadius",right:"borderBottomLeftRadius",top:"borderBottomRightRadius"};function Sq({position:e,arrowSize:t,arrowOffset:n,arrowRadius:r,arrowPosition:o,arrowX:s,arrowY:a,dir:c}){const[d,p="center"]=e.split("-"),h={width:Ue(t),height:Ue(t),transform:"rotate(45deg)",position:"absolute",[wq[d]]:Ue(r)},m=Ue(-t/2);return d==="left"?op(ti(ti({},h),KC(p,a,n,o)),{right:m,borderLeftColor:"transparent",borderBottomColor:"transparent"}):d==="right"?op(ti(ti({},h),KC(p,a,n,o)),{left:m,borderRightColor:"transparent",borderTopColor:"transparent"}):d==="top"?op(ti(ti({},h),XC(p,s,n,o,c)),{bottom:m,borderTopColor:"transparent",borderLeftColor:"transparent"}):d==="bottom"?op(ti(ti({},h),XC(p,s,n,o,c)),{top:m,borderBottomColor:"transparent",borderRightColor:"transparent"}):{}}var Cq=Object.defineProperty,kq=Object.defineProperties,_q=Object.getOwnPropertyDescriptors,Oh=Object.getOwnPropertySymbols,Qj=Object.prototype.hasOwnProperty,Jj=Object.prototype.propertyIsEnumerable,YC=(e,t,n)=>t in e?Cq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Pq=(e,t)=>{for(var n in t||(t={}))Qj.call(t,n)&&YC(e,n,t[n]);if(Oh)for(var n of Oh(t))Jj.call(t,n)&&YC(e,n,t[n]);return e},jq=(e,t)=>kq(e,_q(t)),Iq=(e,t)=>{var n={};for(var r in e)Qj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Oh)for(var r of Oh(e))t.indexOf(r)<0&&Jj.call(e,r)&&(n[r]=e[r]);return n};const Zj=f.forwardRef((e,t)=>{var n=e,{position:r,arrowSize:o,arrowOffset:s,arrowRadius:a,arrowPosition:c,visible:d,arrowX:p,arrowY:h}=n,m=Iq(n,["position","arrowSize","arrowOffset","arrowRadius","arrowPosition","visible","arrowX","arrowY"]);const v=Ha();return d?H.createElement("div",jq(Pq({},m),{ref:t,style:Sq({position:r,arrowSize:o,arrowOffset:s,arrowRadius:a,arrowPosition:c,dir:v.dir,arrowX:p,arrowY:h})})):null});Zj.displayName="@mantine/core/FloatingArrow";var Eq=Object.defineProperty,Oq=Object.defineProperties,Rq=Object.getOwnPropertyDescriptors,Rh=Object.getOwnPropertySymbols,eI=Object.prototype.hasOwnProperty,tI=Object.prototype.propertyIsEnumerable,QC=(e,t,n)=>t in e?Eq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Wl=(e,t)=>{for(var n in t||(t={}))eI.call(t,n)&&QC(e,n,t[n]);if(Rh)for(var n of Rh(t))tI.call(t,n)&&QC(e,n,t[n]);return e},sp=(e,t)=>Oq(e,Rq(t)),Mq=(e,t)=>{var n={};for(var r in e)eI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Rh)for(var r of Rh(e))t.indexOf(r)<0&&tI.call(e,r)&&(n[r]=e[r]);return n};const Dq={};function nI(e){var t;const n=Cr("PopoverDropdown",Dq,e),{style:r,className:o,children:s,onKeyDownCapture:a}=n,c=Mq(n,["style","className","children","onKeyDownCapture"]),d=Uj(),{classes:p,cx:h}=uq({radius:d.radius,shadow:d.shadow},{name:d.__staticSelector,classNames:d.classNames,styles:d.styles,unstyled:d.unstyled,variant:d.variant}),m=gW({opened:d.opened,shouldReturnFocus:d.returnFocus}),v=d.withRoles?{"aria-labelledby":d.getTargetId(),id:d.getDropdownId(),role:"dialog"}:{};return d.disabled?null:H.createElement(nj,sp(Wl({},d.portalProps),{withinPortal:d.withinPortal}),H.createElement(Xj,sp(Wl({mounted:d.opened},d.transitionProps),{transition:d.transitionProps.transition||"fade",duration:(t=d.transitionProps.duration)!=null?t:150,keepMounted:d.keepMounted,exitDuration:typeof d.transitionProps.exitDuration=="number"?d.transitionProps.exitDuration:d.transitionProps.duration}),b=>{var w,y;return H.createElement(Yj,{active:d.trapFocus},H.createElement(Io,Wl(sp(Wl({},v),{tabIndex:-1,ref:d.floating,style:sp(Wl(Wl({},r),b),{zIndex:d.zIndex,top:(w=d.y)!=null?w:0,left:(y=d.x)!=null?y:0,width:d.width==="target"?void 0:Ue(d.width)}),className:h(p.dropdown,o),onKeyDownCapture:UH(d.onClose,{active:d.closeOnEscape,onTrigger:m,onKeyDown:a}),"data-position":d.placement}),c),s,H.createElement(Zj,{ref:d.arrowRef,arrowX:d.arrowX,arrowY:d.arrowY,visible:d.withArrow,position:d.placement,arrowSize:d.arrowSize,arrowRadius:d.arrowRadius,arrowOffset:d.arrowOffset,arrowPosition:d.arrowPosition,className:p.arrow})))}))}nI.displayName="@mantine/core/PopoverDropdown";function Aq(e,t){if(e==="rtl"&&(t.includes("right")||t.includes("left"))){const[n,r]=t.split("-"),o=n==="right"?"left":"right";return r===void 0?o:`${o}-${r}`}return t}var JC=Object.getOwnPropertySymbols,Tq=Object.prototype.hasOwnProperty,Nq=Object.prototype.propertyIsEnumerable,$q=(e,t)=>{var n={};for(var r in e)Tq.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&JC)for(var r of JC(e))t.indexOf(r)<0&&Nq.call(e,r)&&(n[r]=e[r]);return n};const Lq={position:"bottom",offset:8,positionDependencies:[],transitionProps:{transition:"fade",duration:150},middlewares:{flip:!0,shift:!0,inline:!1},arrowSize:7,arrowOffset:5,arrowRadius:0,arrowPosition:"side",closeOnClickOutside:!0,withinPortal:!1,closeOnEscape:!0,trapFocus:!1,withRoles:!0,returnFocus:!1,clickOutsideEvents:["mousedown","touchstart"],zIndex:ry("popover"),__staticSelector:"Popover",width:"max-content"};function Gc(e){var t,n,r,o,s,a;const c=f.useRef(null),d=Cr("Popover",Lq,e),{children:p,position:h,offset:m,onPositionChange:v,positionDependencies:b,opened:w,transitionProps:y,width:S,middlewares:k,withArrow:_,arrowSize:P,arrowOffset:I,arrowRadius:E,arrowPosition:O,unstyled:R,classNames:M,styles:D,closeOnClickOutside:A,withinPortal:L,portalProps:Q,closeOnEscape:F,clickOutsideEvents:V,trapFocus:q,onClose:G,onOpen:T,onChange:z,zIndex:$,radius:Y,shadow:ae,id:fe,defaultOpened:ie,__staticSelector:X,withRoles:K,disabled:U,returnFocus:se,variant:re,keepMounted:oe}=d,pe=$q(d,["children","position","offset","onPositionChange","positionDependencies","opened","transitionProps","width","middlewares","withArrow","arrowSize","arrowOffset","arrowRadius","arrowPosition","unstyled","classNames","styles","closeOnClickOutside","withinPortal","portalProps","closeOnEscape","clickOutsideEvents","trapFocus","onClose","onOpen","onChange","zIndex","radius","shadow","id","defaultOpened","__staticSelector","withRoles","disabled","returnFocus","variant","keepMounted"]),[le,ge]=f.useState(null),[ke,xe]=f.useState(null),de=sy(fe),Te=Ha(),Ee=tq({middlewares:k,width:S,position:Aq(Te.dir,h),offset:typeof m=="number"?m+(_?P/2:0):m,arrowRef:c,arrowOffset:I,onPositionChange:v,positionDependencies:b,opened:w,defaultOpened:ie,onChange:z,onOpen:T,onClose:G});fW(()=>Ee.opened&&A&&Ee.onClose(),V,[le,ke]);const $e=f.useCallback(ct=>{ge(ct),Ee.floating.reference(ct)},[Ee.floating.reference]),kt=f.useCallback(ct=>{xe(ct),Ee.floating.floating(ct)},[Ee.floating.floating]);return H.createElement(nq,{value:{returnFocus:se,disabled:U,controlled:Ee.controlled,reference:$e,floating:kt,x:Ee.floating.x,y:Ee.floating.y,arrowX:(r=(n=(t=Ee.floating)==null?void 0:t.middlewareData)==null?void 0:n.arrow)==null?void 0:r.x,arrowY:(a=(s=(o=Ee.floating)==null?void 0:o.middlewareData)==null?void 0:s.arrow)==null?void 0:a.y,opened:Ee.opened,arrowRef:c,transitionProps:y,width:S,withArrow:_,arrowSize:P,arrowOffset:I,arrowRadius:E,arrowPosition:O,placement:Ee.floating.placement,trapFocus:q,withinPortal:L,portalProps:Q,zIndex:$,radius:Y,shadow:ae,closeOnEscape:F,onClose:Ee.onClose,onToggle:Ee.onToggle,getTargetId:()=>`${de}-target`,getDropdownId:()=>`${de}-dropdown`,withRoles:K,targetProps:pe,__staticSelector:X,classNames:M,styles:D,unstyled:R,variant:re,keepMounted:oe}},p)}Gc.Target=Kj;Gc.Dropdown=nI;Gc.displayName="@mantine/core/Popover";var zq=Object.defineProperty,Mh=Object.getOwnPropertySymbols,rI=Object.prototype.hasOwnProperty,oI=Object.prototype.propertyIsEnumerable,ZC=(e,t,n)=>t in e?zq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Bq=(e,t)=>{for(var n in t||(t={}))rI.call(t,n)&&ZC(e,n,t[n]);if(Mh)for(var n of Mh(t))oI.call(t,n)&&ZC(e,n,t[n]);return e},Fq=(e,t)=>{var n={};for(var r in e)rI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Mh)for(var r of Mh(e))t.indexOf(r)<0&&oI.call(e,r)&&(n[r]=e[r]);return n};function Hq(e){var t=e,{children:n,component:r="div",maxHeight:o=220,direction:s="column",id:a,innerRef:c,__staticSelector:d,styles:p,classNames:h,unstyled:m}=t,v=Fq(t,["children","component","maxHeight","direction","id","innerRef","__staticSelector","styles","classNames","unstyled"]);const{classes:b}=CG(null,{name:d,styles:p,classNames:h,unstyled:m});return H.createElement(Gc.Dropdown,Bq({p:0,onMouseDown:w=>w.preventDefault()},v),H.createElement("div",{style:{maxHeight:Ue(o),display:"flex"}},H.createElement(Io,{component:r||"div",id:`${a}-items`,"aria-labelledby":`${a}-label`,role:"listbox",onMouseDown:w=>w.preventDefault(),style:{flex:1,overflowY:r!==Hm?"auto":void 0},"data-combobox-popover":!0,tabIndex:-1,ref:c},H.createElement("div",{className:b.itemsWrapper,style:{flexDirection:s}},n))))}function hi({opened:e,transitionProps:t={transition:"fade",duration:0},shadow:n,withinPortal:r,portalProps:o,children:s,__staticSelector:a,onDirectionChange:c,switchDirectionOnFlip:d,zIndex:p,dropdownPosition:h,positionDependencies:m=[],classNames:v,styles:b,unstyled:w,readOnly:y,variant:S}){return H.createElement(Gc,{unstyled:w,classNames:v,styles:b,width:"target",withRoles:!1,opened:e,middlewares:{flip:h==="flip",shift:!1},position:h==="flip"?"bottom":h,positionDependencies:m,zIndex:p,__staticSelector:a,withinPortal:r,portalProps:o,transitionProps:t,shadow:n,disabled:y,onPositionChange:k=>d&&(c==null?void 0:c(k==="top"?"column-reverse":"column")),variant:S},s)}hi.Target=Gc.Target;hi.Dropdown=Hq;var Wq=Object.defineProperty,Vq=Object.defineProperties,Uq=Object.getOwnPropertyDescriptors,Dh=Object.getOwnPropertySymbols,sI=Object.prototype.hasOwnProperty,aI=Object.prototype.propertyIsEnumerable,e4=(e,t,n)=>t in e?Wq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ap=(e,t)=>{for(var n in t||(t={}))sI.call(t,n)&&e4(e,n,t[n]);if(Dh)for(var n of Dh(t))aI.call(t,n)&&e4(e,n,t[n]);return e},Gq=(e,t)=>Vq(e,Uq(t)),qq=(e,t)=>{var n={};for(var r in e)sI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Dh)for(var r of Dh(e))t.indexOf(r)<0&&aI.call(e,r)&&(n[r]=e[r]);return n};function iI(e,t,n){const r=Cr(e,t,n),{label:o,description:s,error:a,required:c,classNames:d,styles:p,className:h,unstyled:m,__staticSelector:v,sx:b,errorProps:w,labelProps:y,descriptionProps:S,wrapperProps:k,id:_,size:P,style:I,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:M}=r,D=qq(r,["label","description","error","required","classNames","styles","className","unstyled","__staticSelector","sx","errorProps","labelProps","descriptionProps","wrapperProps","id","size","style","inputContainer","inputWrapperOrder","withAsterisk","variant"]),A=sy(_),{systemStyles:L,rest:Q}=Lm(D),F=ap({label:o,description:s,error:a,required:c,classNames:d,className:h,__staticSelector:v,sx:b,errorProps:w,labelProps:y,descriptionProps:S,unstyled:m,styles:p,id:A,size:P,style:I,inputContainer:E,inputWrapperOrder:O,withAsterisk:R,variant:M},k);return Gq(ap({},Q),{classNames:d,styles:p,unstyled:m,wrapperProps:ap(ap({},F),L),inputProps:{required:c,classNames:d,styles:p,unstyled:m,id:A,size:P,__staticSelector:v,error:a,variant:M}})}var Kq=so((e,t,{size:n})=>({label:{display:"inline-block",fontSize:Vt({size:n,sizes:e.fontSizes}),fontWeight:500,color:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[9],wordBreak:"break-word",cursor:"default",WebkitTapHighlightColor:"transparent"},required:{color:e.fn.variant({variant:"filled",color:"red"}).background}}));const Xq=Kq;var Yq=Object.defineProperty,Ah=Object.getOwnPropertySymbols,lI=Object.prototype.hasOwnProperty,cI=Object.prototype.propertyIsEnumerable,t4=(e,t,n)=>t in e?Yq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Qq=(e,t)=>{for(var n in t||(t={}))lI.call(t,n)&&t4(e,n,t[n]);if(Ah)for(var n of Ah(t))cI.call(t,n)&&t4(e,n,t[n]);return e},Jq=(e,t)=>{var n={};for(var r in e)lI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Ah)for(var r of Ah(e))t.indexOf(r)<0&&cI.call(e,r)&&(n[r]=e[r]);return n};const Zq={labelElement:"label",size:"sm"},hy=f.forwardRef((e,t)=>{const n=Cr("InputLabel",Zq,e),{labelElement:r,children:o,required:s,size:a,classNames:c,styles:d,unstyled:p,className:h,htmlFor:m,__staticSelector:v,variant:b,onMouseDown:w}=n,y=Jq(n,["labelElement","children","required","size","classNames","styles","unstyled","className","htmlFor","__staticSelector","variant","onMouseDown"]),{classes:S,cx:k}=Xq(null,{name:["InputWrapper",v],classNames:c,styles:d,unstyled:p,variant:b,size:a});return H.createElement(Io,Qq({component:r,ref:t,className:k(S.label,h),htmlFor:r==="label"?m:void 0,onMouseDown:_=>{w==null||w(_),!_.defaultPrevented&&_.detail>1&&_.preventDefault()}},y),o,s&&H.createElement("span",{className:S.required,"aria-hidden":!0}," *"))});hy.displayName="@mantine/core/InputLabel";var eK=so((e,t,{size:n})=>({error:{wordBreak:"break-word",color:e.fn.variant({variant:"filled",color:"red"}).background,fontSize:`calc(${Vt({size:n,sizes:e.fontSizes})} - ${Ue(2)})`,lineHeight:1.2,display:"block"}}));const tK=eK;var nK=Object.defineProperty,Th=Object.getOwnPropertySymbols,uI=Object.prototype.hasOwnProperty,dI=Object.prototype.propertyIsEnumerable,n4=(e,t,n)=>t in e?nK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,rK=(e,t)=>{for(var n in t||(t={}))uI.call(t,n)&&n4(e,n,t[n]);if(Th)for(var n of Th(t))dI.call(t,n)&&n4(e,n,t[n]);return e},oK=(e,t)=>{var n={};for(var r in e)uI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Th)for(var r of Th(e))t.indexOf(r)<0&&dI.call(e,r)&&(n[r]=e[r]);return n};const sK={size:"sm"},my=f.forwardRef((e,t)=>{const n=Cr("InputError",sK,e),{children:r,className:o,classNames:s,styles:a,unstyled:c,size:d,__staticSelector:p,variant:h}=n,m=oK(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=tK(null,{name:["InputWrapper",p],classNames:s,styles:a,unstyled:c,variant:h,size:d});return H.createElement(_c,rK({className:b(v.error,o),ref:t},m),r)});my.displayName="@mantine/core/InputError";var aK=so((e,t,{size:n})=>({description:{wordBreak:"break-word",color:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6],fontSize:`calc(${Vt({size:n,sizes:e.fontSizes})} - ${Ue(2)})`,lineHeight:1.2,display:"block"}}));const iK=aK;var lK=Object.defineProperty,Nh=Object.getOwnPropertySymbols,fI=Object.prototype.hasOwnProperty,pI=Object.prototype.propertyIsEnumerable,r4=(e,t,n)=>t in e?lK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cK=(e,t)=>{for(var n in t||(t={}))fI.call(t,n)&&r4(e,n,t[n]);if(Nh)for(var n of Nh(t))pI.call(t,n)&&r4(e,n,t[n]);return e},uK=(e,t)=>{var n={};for(var r in e)fI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Nh)for(var r of Nh(e))t.indexOf(r)<0&&pI.call(e,r)&&(n[r]=e[r]);return n};const dK={size:"sm"},gy=f.forwardRef((e,t)=>{const n=Cr("InputDescription",dK,e),{children:r,className:o,classNames:s,styles:a,unstyled:c,size:d,__staticSelector:p,variant:h}=n,m=uK(n,["children","className","classNames","styles","unstyled","size","__staticSelector","variant"]),{classes:v,cx:b}=iK(null,{name:["InputWrapper",p],classNames:s,styles:a,unstyled:c,variant:h,size:d});return H.createElement(_c,cK({color:"dimmed",className:b(v.description,o),ref:t,unstyled:c},m),r)});gy.displayName="@mantine/core/InputDescription";const hI=f.createContext({offsetBottom:!1,offsetTop:!1,describedBy:void 0}),fK=hI.Provider,pK=()=>f.useContext(hI);function hK(e,{hasDescription:t,hasError:n}){const r=e.findIndex(d=>d==="input"),o=e[r-1],s=e[r+1];return{offsetBottom:t&&s==="description"||n&&s==="error",offsetTop:t&&o==="description"||n&&o==="error"}}var mK=Object.defineProperty,gK=Object.defineProperties,vK=Object.getOwnPropertyDescriptors,o4=Object.getOwnPropertySymbols,bK=Object.prototype.hasOwnProperty,yK=Object.prototype.propertyIsEnumerable,s4=(e,t,n)=>t in e?mK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,xK=(e,t)=>{for(var n in t||(t={}))bK.call(t,n)&&s4(e,n,t[n]);if(o4)for(var n of o4(t))yK.call(t,n)&&s4(e,n,t[n]);return e},wK=(e,t)=>gK(e,vK(t)),SK=so(e=>({root:wK(xK({},e.fn.fontStyles()),{lineHeight:e.lineHeight})}));const CK=SK;var kK=Object.defineProperty,_K=Object.defineProperties,PK=Object.getOwnPropertyDescriptors,$h=Object.getOwnPropertySymbols,mI=Object.prototype.hasOwnProperty,gI=Object.prototype.propertyIsEnumerable,a4=(e,t,n)=>t in e?kK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ni=(e,t)=>{for(var n in t||(t={}))mI.call(t,n)&&a4(e,n,t[n]);if($h)for(var n of $h(t))gI.call(t,n)&&a4(e,n,t[n]);return e},i4=(e,t)=>_K(e,PK(t)),jK=(e,t)=>{var n={};for(var r in e)mI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&$h)for(var r of $h(e))t.indexOf(r)<0&&gI.call(e,r)&&(n[r]=e[r]);return n};const IK={labelElement:"label",size:"sm",inputContainer:e=>e,inputWrapperOrder:["label","description","input","error"]},vI=f.forwardRef((e,t)=>{const n=Cr("InputWrapper",IK,e),{className:r,label:o,children:s,required:a,id:c,error:d,description:p,labelElement:h,labelProps:m,descriptionProps:v,errorProps:b,classNames:w,styles:y,size:S,inputContainer:k,__staticSelector:_,unstyled:P,inputWrapperOrder:I,withAsterisk:E,variant:O}=n,R=jK(n,["className","label","children","required","id","error","description","labelElement","labelProps","descriptionProps","errorProps","classNames","styles","size","inputContainer","__staticSelector","unstyled","inputWrapperOrder","withAsterisk","variant"]),{classes:M,cx:D}=CK(null,{classNames:w,styles:y,name:["InputWrapper",_],unstyled:P,variant:O,size:S}),A={classNames:w,styles:y,unstyled:P,size:S,variant:O,__staticSelector:_},L=typeof E=="boolean"?E:a,Q=c?`${c}-error`:b==null?void 0:b.id,F=c?`${c}-description`:v==null?void 0:v.id,q=`${!!d&&typeof d!="boolean"?Q:""} ${p?F:""}`,G=q.trim().length>0?q.trim():void 0,T=o&&H.createElement(hy,ni(ni({key:"label",labelElement:h,id:c?`${c}-label`:void 0,htmlFor:c,required:L},A),m),o),z=p&&H.createElement(gy,i4(ni(ni({key:"description"},v),A),{size:(v==null?void 0:v.size)||A.size,id:(v==null?void 0:v.id)||F}),p),$=H.createElement(f.Fragment,{key:"input"},k(s)),Y=typeof d!="boolean"&&d&&H.createElement(my,i4(ni(ni({},b),A),{size:(b==null?void 0:b.size)||A.size,key:"error",id:(b==null?void 0:b.id)||Q}),d),ae=I.map(fe=>{switch(fe){case"label":return T;case"input":return $;case"description":return z;case"error":return Y;default:return null}});return H.createElement(fK,{value:ni({describedBy:G},hK(I,{hasDescription:!!z,hasError:!!Y}))},H.createElement(Io,ni({className:D(M.root,r),ref:t},R),ae))});vI.displayName="@mantine/core/InputWrapper";var EK=Object.defineProperty,Lh=Object.getOwnPropertySymbols,bI=Object.prototype.hasOwnProperty,yI=Object.prototype.propertyIsEnumerable,l4=(e,t,n)=>t in e?EK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,OK=(e,t)=>{for(var n in t||(t={}))bI.call(t,n)&&l4(e,n,t[n]);if(Lh)for(var n of Lh(t))yI.call(t,n)&&l4(e,n,t[n]);return e},RK=(e,t)=>{var n={};for(var r in e)bI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Lh)for(var r of Lh(e))t.indexOf(r)<0&&yI.call(e,r)&&(n[r]=e[r]);return n};const MK={},xI=f.forwardRef((e,t)=>{const n=Cr("InputPlaceholder",MK,e),{sx:r}=n,o=RK(n,["sx"]);return H.createElement(Io,OK({component:"span",sx:[s=>s.fn.placeholderStyles(),...xP(r)],ref:t},o))});xI.displayName="@mantine/core/InputPlaceholder";var DK=Object.defineProperty,AK=Object.defineProperties,TK=Object.getOwnPropertyDescriptors,c4=Object.getOwnPropertySymbols,NK=Object.prototype.hasOwnProperty,$K=Object.prototype.propertyIsEnumerable,u4=(e,t,n)=>t in e?DK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ip=(e,t)=>{for(var n in t||(t={}))NK.call(t,n)&&u4(e,n,t[n]);if(c4)for(var n of c4(t))$K.call(t,n)&&u4(e,n,t[n]);return e},Y0=(e,t)=>AK(e,TK(t));const Qo={xs:Ue(30),sm:Ue(36),md:Ue(42),lg:Ue(50),xl:Ue(60)},LK=["default","filled","unstyled"];function zK({theme:e,variant:t}){return LK.includes(t)?t==="default"?{border:`${Ue(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4]}`,backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.white,transition:"border-color 100ms ease","&:focus, &:focus-within":e.focusRingStyles.inputStyles(e)}:t==="filled"?{border:`${Ue(1)} solid transparent`,backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[1],"&:focus, &:focus-within":e.focusRingStyles.inputStyles(e)}:{borderWidth:0,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,backgroundColor:"transparent",minHeight:Ue(28),outline:0,"&:focus, &:focus-within":{outline:"none",borderColor:"transparent"},"&:disabled":{backgroundColor:"transparent","&:focus, &:focus-within":{outline:"none",borderColor:"transparent"}}}:null}var BK=so((e,{multiline:t,radius:n,invalid:r,rightSectionWidth:o,withRightSection:s,iconWidth:a,offsetBottom:c,offsetTop:d,pointer:p},{variant:h,size:m})=>{const v=e.fn.variant({variant:"filled",color:"red"}).background,b=h==="default"||h==="filled"?{minHeight:Vt({size:m,sizes:Qo}),paddingLeft:`calc(${Vt({size:m,sizes:Qo})} / 3)`,paddingRight:s?o||Vt({size:m,sizes:Qo}):`calc(${Vt({size:m,sizes:Qo})} / 3)`,borderRadius:e.fn.radius(n)}:h==="unstyled"&&s?{paddingRight:o||Vt({size:m,sizes:Qo})}:null;return{wrapper:{position:"relative",marginTop:d?`calc(${e.spacing.xs} / 2)`:void 0,marginBottom:c?`calc(${e.spacing.xs} / 2)`:void 0,"&:has(input:disabled)":{"& .mantine-Input-rightSection":{display:"none"}}},input:Y0(ip(ip(Y0(ip({},e.fn.fontStyles()),{height:t?h==="unstyled"?void 0:"auto":Vt({size:m,sizes:Qo}),WebkitTapHighlightColor:"transparent",lineHeight:t?e.lineHeight:`calc(${Vt({size:m,sizes:Qo})} - ${Ue(2)})`,appearance:"none",resize:"none",boxSizing:"border-box",fontSize:Vt({size:m,sizes:e.fontSizes}),width:"100%",color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,display:"block",textAlign:"left",cursor:p?"pointer":void 0}),zK({theme:e,variant:h})),b),{"&:disabled, &[data-disabled]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[1],color:e.colors.dark[2],opacity:.6,cursor:"not-allowed",pointerEvents:"none","&::placeholder":{color:e.colors.dark[2]}},"&[data-invalid]":{color:v,borderColor:v,"&::placeholder":{opacity:1,color:v}},"&[data-with-icon]":{paddingLeft:typeof a=="number"?Ue(a):Vt({size:m,sizes:Qo})},"&::placeholder":Y0(ip({},e.fn.placeholderStyles()),{opacity:1}),"&::-webkit-inner-spin-button, &::-webkit-outer-spin-button, &::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration":{appearance:"none"},"&[type=number]":{MozAppearance:"textfield"}}),icon:{pointerEvents:"none",position:"absolute",zIndex:1,left:0,top:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",width:a?Ue(a):Vt({size:m,sizes:Qo}),color:r?e.colors.red[e.colorScheme==="dark"?6:7]:e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[5]},rightSection:{position:"absolute",top:0,bottom:0,right:0,display:"flex",alignItems:"center",justifyContent:"center",width:o||Vt({size:m,sizes:Qo})}}});const FK=BK;var HK=Object.defineProperty,WK=Object.defineProperties,VK=Object.getOwnPropertyDescriptors,zh=Object.getOwnPropertySymbols,wI=Object.prototype.hasOwnProperty,SI=Object.prototype.propertyIsEnumerable,d4=(e,t,n)=>t in e?HK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lp=(e,t)=>{for(var n in t||(t={}))wI.call(t,n)&&d4(e,n,t[n]);if(zh)for(var n of zh(t))SI.call(t,n)&&d4(e,n,t[n]);return e},f4=(e,t)=>WK(e,VK(t)),UK=(e,t)=>{var n={};for(var r in e)wI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&zh)for(var r of zh(e))t.indexOf(r)<0&&SI.call(e,r)&&(n[r]=e[r]);return n};const GK={size:"sm",variant:"default"},bl=f.forwardRef((e,t)=>{const n=Cr("Input",GK,e),{className:r,error:o,required:s,disabled:a,variant:c,icon:d,style:p,rightSectionWidth:h,iconWidth:m,rightSection:v,rightSectionProps:b,radius:w,size:y,wrapperProps:S,classNames:k,styles:_,__staticSelector:P,multiline:I,sx:E,unstyled:O,pointer:R}=n,M=UK(n,["className","error","required","disabled","variant","icon","style","rightSectionWidth","iconWidth","rightSection","rightSectionProps","radius","size","wrapperProps","classNames","styles","__staticSelector","multiline","sx","unstyled","pointer"]),{offsetBottom:D,offsetTop:A,describedBy:L}=pK(),{classes:Q,cx:F}=FK({radius:w,multiline:I,invalid:!!o,rightSectionWidth:h?Ue(h):void 0,iconWidth:m,withRightSection:!!v,offsetBottom:D,offsetTop:A,pointer:R},{classNames:k,styles:_,name:["Input",P],unstyled:O,variant:c,size:y}),{systemStyles:V,rest:q}=Lm(M);return H.createElement(Io,lp(lp({className:F(Q.wrapper,r),sx:E,style:p},V),S),d&&H.createElement("div",{className:Q.icon},d),H.createElement(Io,f4(lp({component:"input"},q),{ref:t,required:s,"aria-invalid":!!o,"aria-describedby":L,disabled:a,"data-disabled":a||void 0,"data-with-icon":!!d||void 0,"data-invalid":!!o||void 0,className:Q.input})),v&&H.createElement("div",f4(lp({},b),{className:Q.rightSection}),v))});bl.displayName="@mantine/core/Input";bl.Wrapper=vI;bl.Label=hy;bl.Description=gy;bl.Error=my;bl.Placeholder=xI;const Ec=bl;var qK=Object.defineProperty,Bh=Object.getOwnPropertySymbols,CI=Object.prototype.hasOwnProperty,kI=Object.prototype.propertyIsEnumerable,p4=(e,t,n)=>t in e?qK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,h4=(e,t)=>{for(var n in t||(t={}))CI.call(t,n)&&p4(e,n,t[n]);if(Bh)for(var n of Bh(t))kI.call(t,n)&&p4(e,n,t[n]);return e},KK=(e,t)=>{var n={};for(var r in e)CI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Bh)for(var r of Bh(e))t.indexOf(r)<0&&kI.call(e,r)&&(n[r]=e[r]);return n};const XK={multiple:!1},_I=f.forwardRef((e,t)=>{const n=Cr("FileButton",XK,e),{onChange:r,children:o,multiple:s,accept:a,name:c,form:d,resetRef:p,disabled:h,capture:m,inputProps:v}=n,b=KK(n,["onChange","children","multiple","accept","name","form","resetRef","disabled","capture","inputProps"]),w=f.useRef(),y=()=>{!h&&w.current.click()},S=_=>{r(s?Array.from(_.currentTarget.files):_.currentTarget.files[0]||null)};return OP(p,()=>{w.current.value=""}),H.createElement(H.Fragment,null,o(h4({onClick:y},b)),H.createElement("input",h4({style:{display:"none"},type:"file",accept:a,multiple:s,onChange:S,ref:Fd(t,w),name:c,form:d,capture:m},v)))});_I.displayName="@mantine/core/FileButton";const PI={xs:Ue(16),sm:Ue(22),md:Ue(26),lg:Ue(30),xl:Ue(36)},YK={xs:Ue(10),sm:Ue(12),md:Ue(14),lg:Ue(16),xl:Ue(18)};var QK=so((e,{disabled:t,radius:n,readOnly:r},{size:o,variant:s})=>({defaultValue:{display:"flex",alignItems:"center",backgroundColor:t?e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[3]:e.colorScheme==="dark"?e.colors.dark[7]:s==="filled"?e.white:e.colors.gray[1],color:t?e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[7]:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[7],height:Vt({size:o,sizes:PI}),paddingLeft:`calc(${Vt({size:o,sizes:e.spacing})} / 1.5)`,paddingRight:t||r?Vt({size:o,sizes:e.spacing}):0,fontWeight:500,fontSize:Vt({size:o,sizes:YK}),borderRadius:Vt({size:n,sizes:e.radius}),cursor:t?"not-allowed":"default",userSelect:"none",maxWidth:`calc(100% - ${Ue(10)})`},defaultValueRemove:{color:e.colorScheme==="dark"?e.colors.dark[0]:e.colors.gray[7],marginLeft:`calc(${Vt({size:o,sizes:e.spacing})} / 6)`},defaultValueLabel:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}));const JK=QK;var ZK=Object.defineProperty,Fh=Object.getOwnPropertySymbols,jI=Object.prototype.hasOwnProperty,II=Object.prototype.propertyIsEnumerable,m4=(e,t,n)=>t in e?ZK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,eX=(e,t)=>{for(var n in t||(t={}))jI.call(t,n)&&m4(e,n,t[n]);if(Fh)for(var n of Fh(t))II.call(t,n)&&m4(e,n,t[n]);return e},tX=(e,t)=>{var n={};for(var r in e)jI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Fh)for(var r of Fh(e))t.indexOf(r)<0&&II.call(e,r)&&(n[r]=e[r]);return n};const nX={xs:16,sm:22,md:24,lg:26,xl:30};function EI(e){var t=e,{label:n,classNames:r,styles:o,className:s,onRemove:a,disabled:c,readOnly:d,size:p,radius:h="sm",variant:m,unstyled:v}=t,b=tX(t,["label","classNames","styles","className","onRemove","disabled","readOnly","size","radius","variant","unstyled"]);const{classes:w,cx:y}=JK({disabled:c,readOnly:d,radius:h},{name:"MultiSelect",classNames:r,styles:o,unstyled:v,size:p,variant:m});return H.createElement("div",eX({className:y(w.defaultValue,s)},b),H.createElement("span",{className:w.defaultValueLabel},n),!c&&!d&&H.createElement(cj,{"aria-hidden":!0,onMouseDown:a,size:nX[p],radius:2,color:"blue",variant:"transparent",iconSize:"70%",className:w.defaultValueRemove,tabIndex:-1,unstyled:v}))}EI.displayName="@mantine/core/MultiSelect/DefaultValue";function rX({data:e,searchable:t,limit:n,searchValue:r,filter:o,value:s,disableSelectedItemFiltering:a}){if(!t&&s.length===0)return e;if(!t){const d=[];for(let p=0;ph===e[p].value&&!e[p].disabled))&&d.push(e[p]);return d}const c=[];for(let d=0;dp===e[d].value&&!e[d].disabled),e[d])&&c.push(e[d]),!(c.length>=n));d+=1);return c}var oX=Object.defineProperty,Hh=Object.getOwnPropertySymbols,OI=Object.prototype.hasOwnProperty,RI=Object.prototype.propertyIsEnumerable,g4=(e,t,n)=>t in e?oX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,v4=(e,t)=>{for(var n in t||(t={}))OI.call(t,n)&&g4(e,n,t[n]);if(Hh)for(var n of Hh(t))RI.call(t,n)&&g4(e,n,t[n]);return e},sX=(e,t)=>{var n={};for(var r in e)OI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Hh)for(var r of Hh(e))t.indexOf(r)<0&&RI.call(e,r)&&(n[r]=e[r]);return n};const aX={xs:Ue(14),sm:Ue(18),md:Ue(20),lg:Ue(24),xl:Ue(28)};function iX(e){var t=e,{size:n,error:r,style:o}=t,s=sX(t,["size","error","style"]);const a=Ha(),c=Vt({size:n,sizes:aX});return H.createElement("svg",v4({viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:v4({color:r?a.colors.red[6]:a.colors.gray[6],width:c,height:c},o),"data-chevron":!0},s),H.createElement("path",{d:"M4.93179 5.43179C4.75605 5.60753 4.75605 5.89245 4.93179 6.06819C5.10753 6.24392 5.39245 6.24392 5.56819 6.06819L7.49999 4.13638L9.43179 6.06819C9.60753 6.24392 9.89245 6.24392 10.0682 6.06819C10.2439 5.89245 10.2439 5.60753 10.0682 5.43179L7.81819 3.18179C7.73379 3.0974 7.61933 3.04999 7.49999 3.04999C7.38064 3.04999 7.26618 3.0974 7.18179 3.18179L4.93179 5.43179ZM10.0682 9.56819C10.2439 9.39245 10.2439 9.10753 10.0682 8.93179C9.89245 8.75606 9.60753 8.75606 9.43179 8.93179L7.49999 10.8636L5.56819 8.93179C5.39245 8.75606 5.10753 8.75606 4.93179 8.93179C4.75605 9.10753 4.75605 9.39245 4.93179 9.56819L7.18179 11.8182C7.35753 11.9939 7.64245 11.9939 7.81819 11.8182L10.0682 9.56819Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}var lX=Object.defineProperty,cX=Object.defineProperties,uX=Object.getOwnPropertyDescriptors,b4=Object.getOwnPropertySymbols,dX=Object.prototype.hasOwnProperty,fX=Object.prototype.propertyIsEnumerable,y4=(e,t,n)=>t in e?lX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,pX=(e,t)=>{for(var n in t||(t={}))dX.call(t,n)&&y4(e,n,t[n]);if(b4)for(var n of b4(t))fX.call(t,n)&&y4(e,n,t[n]);return e},hX=(e,t)=>cX(e,uX(t));function MI({shouldClear:e,clearButtonProps:t,onClear:n,size:r,error:o}){return e?H.createElement(cj,hX(pX({},t),{variant:"transparent",onClick:n,size:r,onMouseDown:s=>s.preventDefault()})):H.createElement(iX,{error:o,size:r})}MI.displayName="@mantine/core/SelectRightSection";var mX=Object.defineProperty,gX=Object.defineProperties,vX=Object.getOwnPropertyDescriptors,Wh=Object.getOwnPropertySymbols,DI=Object.prototype.hasOwnProperty,AI=Object.prototype.propertyIsEnumerable,x4=(e,t,n)=>t in e?mX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Q0=(e,t)=>{for(var n in t||(t={}))DI.call(t,n)&&x4(e,n,t[n]);if(Wh)for(var n of Wh(t))AI.call(t,n)&&x4(e,n,t[n]);return e},w4=(e,t)=>gX(e,vX(t)),bX=(e,t)=>{var n={};for(var r in e)DI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Wh)for(var r of Wh(e))t.indexOf(r)<0&&AI.call(e,r)&&(n[r]=e[r]);return n};function TI(e){var t=e,{styles:n,rightSection:r,rightSectionWidth:o,theme:s}=t,a=bX(t,["styles","rightSection","rightSectionWidth","theme"]);if(r)return{rightSection:r,rightSectionWidth:o,styles:n};const c=typeof n=="function"?n(s):n;return{rightSection:!a.readOnly&&!(a.disabled&&a.shouldClear)&&H.createElement(MI,Q0({},a)),styles:w4(Q0({},c),{rightSection:w4(Q0({},c==null?void 0:c.rightSection),{pointerEvents:a.shouldClear?void 0:"none"})})}}var yX=Object.defineProperty,xX=Object.defineProperties,wX=Object.getOwnPropertyDescriptors,S4=Object.getOwnPropertySymbols,SX=Object.prototype.hasOwnProperty,CX=Object.prototype.propertyIsEnumerable,C4=(e,t,n)=>t in e?yX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kX=(e,t)=>{for(var n in t||(t={}))SX.call(t,n)&&C4(e,n,t[n]);if(S4)for(var n of S4(t))CX.call(t,n)&&C4(e,n,t[n]);return e},_X=(e,t)=>xX(e,wX(t)),PX=so((e,{invalid:t},{size:n})=>({wrapper:{position:"relative","&:has(input:disabled)":{cursor:"not-allowed",pointerEvents:"none","& .mantine-MultiSelect-input":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.colors.gray[1],color:e.colors.dark[2],opacity:.6,"&::placeholder":{color:e.colors.dark[2]}},"& .mantine-MultiSelect-defaultValue":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[3],color:e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[7]}}},values:{minHeight:`calc(${Vt({size:n,sizes:Qo})} - ${Ue(2)})`,display:"flex",alignItems:"center",flexWrap:"wrap",marginLeft:`calc(-${e.spacing.xs} / 2)`,boxSizing:"border-box","&[data-clearable]":{marginRight:Vt({size:n,sizes:Qo})}},value:{margin:`calc(${e.spacing.xs} / 2 - ${Ue(2)}) calc(${e.spacing.xs} / 2)`},searchInput:_X(kX({},e.fn.fontStyles()),{flex:1,minWidth:Ue(60),backgroundColor:"transparent",border:0,outline:0,fontSize:Vt({size:n,sizes:e.fontSizes}),padding:0,marginLeft:`calc(${e.spacing.xs} / 2)`,appearance:"none",color:"inherit",maxHeight:Vt({size:n,sizes:PI}),"&::placeholder":{opacity:1,color:t?e.colors.red[e.fn.primaryShade()]:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]},"&:disabled":{cursor:"not-allowed",pointerEvents:"none"}}),searchInputEmpty:{width:"100%"},searchInputInputHidden:{flex:0,width:0,minWidth:0,margin:0,overflow:"hidden"},searchInputPointer:{cursor:"pointer","&:disabled":{cursor:"not-allowed",pointerEvents:"none"}},input:{cursor:"pointer","&:disabled":{cursor:"not-allowed",pointerEvents:"none"}}}));const jX=PX;var IX=Object.defineProperty,EX=Object.defineProperties,OX=Object.getOwnPropertyDescriptors,Vh=Object.getOwnPropertySymbols,NI=Object.prototype.hasOwnProperty,$I=Object.prototype.propertyIsEnumerable,k4=(e,t,n)=>t in e?IX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Vl=(e,t)=>{for(var n in t||(t={}))NI.call(t,n)&&k4(e,n,t[n]);if(Vh)for(var n of Vh(t))$I.call(t,n)&&k4(e,n,t[n]);return e},_4=(e,t)=>EX(e,OX(t)),RX=(e,t)=>{var n={};for(var r in e)NI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Vh)for(var r of Vh(e))t.indexOf(r)<0&&$I.call(e,r)&&(n[r]=e[r]);return n};function MX(e,t,n){return t?!1:n.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function DX(e,t){return!!e&&!t.some(n=>n.value.toLowerCase()===e.toLowerCase())}function P4(e,t){if(!Array.isArray(e))return;if(t.length===0)return[];const n=t.map(r=>typeof r=="object"?r.value:r);return e.filter(r=>n.includes(r))}const AX={size:"sm",valueComponent:EI,itemComponent:iy,transitionProps:{transition:"fade",duration:0},maxDropdownHeight:220,shadow:"sm",searchable:!1,filter:MX,limit:1/0,clearSearchOnChange:!0,clearable:!1,clearSearchOnBlur:!1,disabled:!1,initiallyOpened:!1,creatable:!1,shouldCreate:DX,switchDirectionOnFlip:!1,zIndex:ry("popover"),selectOnBlur:!1,positionDependencies:[],dropdownPosition:"flip"},LI=f.forwardRef((e,t)=>{const n=Cr("MultiSelect",AX,e),{className:r,style:o,required:s,label:a,description:c,size:d,error:p,classNames:h,styles:m,wrapperProps:v,value:b,defaultValue:w,data:y,onChange:S,valueComponent:k,itemComponent:_,id:P,transitionProps:I,maxDropdownHeight:E,shadow:O,nothingFound:R,onFocus:M,onBlur:D,searchable:A,placeholder:L,filter:Q,limit:F,clearSearchOnChange:V,clearable:q,clearSearchOnBlur:G,variant:T,onSearchChange:z,searchValue:$,disabled:Y,initiallyOpened:ae,radius:fe,icon:ie,rightSection:X,rightSectionWidth:K,creatable:U,getCreateLabel:se,shouldCreate:re,onCreate:oe,sx:pe,dropdownComponent:le,onDropdownClose:ge,onDropdownOpen:ke,maxSelectedValues:xe,withinPortal:de,portalProps:Te,switchDirectionOnFlip:Ee,zIndex:$e,selectOnBlur:kt,name:ct,dropdownPosition:on,errorProps:vt,labelProps:bt,descriptionProps:Se,form:Me,positionDependencies:Pt,onKeyDown:Tt,unstyled:we,inputContainer:ht,inputWrapperOrder:$t,readOnly:Lt,withAsterisk:Le,clearButtonProps:Ge,hoverOnSearchChange:Pn,disableSelectedItemFiltering:Pe}=n,Ye=RX(n,["className","style","required","label","description","size","error","classNames","styles","wrapperProps","value","defaultValue","data","onChange","valueComponent","itemComponent","id","transitionProps","maxDropdownHeight","shadow","nothingFound","onFocus","onBlur","searchable","placeholder","filter","limit","clearSearchOnChange","clearable","clearSearchOnBlur","variant","onSearchChange","searchValue","disabled","initiallyOpened","radius","icon","rightSection","rightSectionWidth","creatable","getCreateLabel","shouldCreate","onCreate","sx","dropdownComponent","onDropdownClose","onDropdownOpen","maxSelectedValues","withinPortal","portalProps","switchDirectionOnFlip","zIndex","selectOnBlur","name","dropdownPosition","errorProps","labelProps","descriptionProps","form","positionDependencies","onKeyDown","unstyled","inputContainer","inputWrapperOrder","readOnly","withAsterisk","clearButtonProps","hoverOnSearchChange","disableSelectedItemFiltering"]),{classes:Ke,cx:dt,theme:zt}=jX({invalid:!!p},{name:"MultiSelect",classNames:h,styles:m,unstyled:we,size:d,variant:T}),{systemStyles:cr,rest:pn}=Lm(Ye),ln=f.useRef(),Hr=f.useRef({}),xr=sy(P),[Fn,Hn]=f.useState(ae),[Wn,Nr]=f.useState(-1),[Do,Wr]=f.useState("column"),[Vr,ds]=ud({value:$,defaultValue:"",finalValue:void 0,onChange:z}),[$r,$s]=f.useState(!1),{scrollIntoView:fs,targetRef:da,scrollableRef:Ls}=MP({duration:0,offset:5,cancelable:!1,isList:!0}),J=U&&typeof se=="function";let ee=null;const he=y.map(Be=>typeof Be=="string"?{label:Be,value:Be}:Be),_e=wP({data:he}),[me,ut]=ud({value:P4(b,y),defaultValue:P4(w,y),finalValue:[],onChange:S}),ot=f.useRef(!!xe&&xe{if(!Lt){const yt=me.filter(Mt=>Mt!==Be);ut(yt),xe&&yt.length{ds(Be.currentTarget.value),!Y&&!ot.current&&A&&Hn(!0)},xt=Be=>{typeof M=="function"&&M(Be),!Y&&!ot.current&&A&&Hn(!0)},He=rX({data:_e,searchable:A,searchValue:Vr,limit:F,filter:Q,value:me,disableSelectedItemFiltering:Pe});J&&re(Vr,_e)&&(ee=se(Vr),He.push({label:Vr,value:Vr,creatable:!0}));const Ce=Math.min(Wn,He.length-1),Xe=(Be,yt,Mt)=>{let Wt=Be;for(;Mt(Wt);)if(Wt=yt(Wt),!He[Wt].disabled)return Wt;return Be};ks(()=>{Nr(Pn&&Vr?0:-1)},[Vr,Pn]),ks(()=>{!Y&&me.length>y.length&&Hn(!1),xe&&me.length=xe&&(ot.current=!0,Hn(!1))},[me]);const jt=Be=>{if(!Lt)if(V&&ds(""),me.includes(Be.value))Ht(Be.value);else{if(Be.creatable&&typeof oe=="function"){const yt=oe(Be.value);typeof yt<"u"&&yt!==null&&ut(typeof yt=="string"?[...me,yt]:[...me,yt.value])}else ut([...me,Be.value]);me.length===xe-1&&(ot.current=!0,Hn(!1)),He.length===1&&Hn(!1)}},Et=Be=>{typeof D=="function"&&D(Be),kt&&He[Ce]&&Fn&&jt(He[Ce]),G&&ds(""),Hn(!1)},Nt=Be=>{if($r||(Tt==null||Tt(Be),Lt)||Be.key!=="Backspace"&&xe&&ot.current)return;const yt=Do==="column",Mt=()=>{Nr(jn=>{var Gt;const un=Xe(jn,sn=>sn+1,sn=>sn{Nr(jn=>{var Gt;const un=Xe(jn,sn=>sn-1,sn=>sn>0);return Fn&&(da.current=Hr.current[(Gt=He[un])==null?void 0:Gt.value],fs({alignment:yt?"start":"end"})),un})};switch(Be.key){case"ArrowUp":{Be.preventDefault(),Hn(!0),yt?Wt():Mt();break}case"ArrowDown":{Be.preventDefault(),Hn(!0),yt?Mt():Wt();break}case"Enter":{Be.preventDefault(),He[Ce]&&Fn?jt(He[Ce]):Hn(!0);break}case" ":{A||(Be.preventDefault(),He[Ce]&&Fn?jt(He[Ce]):Hn(!0));break}case"Backspace":{me.length>0&&Vr.length===0&&(ut(me.slice(0,-1)),Hn(!0),xe&&(ot.current=!1));break}case"Home":{if(!A){Be.preventDefault(),Fn||Hn(!0);const jn=He.findIndex(Gt=>!Gt.disabled);Nr(jn),fs({alignment:yt?"end":"start"})}break}case"End":{if(!A){Be.preventDefault(),Fn||Hn(!0);const jn=He.map(Gt=>!!Gt.disabled).lastIndexOf(!1);Nr(jn),fs({alignment:yt?"end":"start"})}break}case"Escape":Hn(!1)}},qt=me.map(Be=>{let yt=_e.find(Mt=>Mt.value===Be&&!Mt.disabled);return!yt&&J&&(yt={value:Be,label:Be}),yt}).filter(Be=>!!Be).map((Be,yt)=>H.createElement(k,_4(Vl({},Be),{variant:T,disabled:Y,className:Ke.value,readOnly:Lt,onRemove:Mt=>{Mt.preventDefault(),Mt.stopPropagation(),Ht(Be.value)},key:Be.value,size:d,styles:m,classNames:h,radius:fe,index:yt}))),tn=Be=>me.includes(Be),en=()=>{var Be;ds(""),ut([]),(Be=ln.current)==null||Be.focus(),xe&&(ot.current=!1)},Ut=!Lt&&(He.length>0?Fn:Fn&&!!R);return ks(()=>{const Be=Ut?ke:ge;typeof Be=="function"&&Be()},[Ut]),H.createElement(Ec.Wrapper,Vl(Vl({required:s,id:xr,label:a,error:p,description:c,size:d,className:r,style:o,classNames:h,styles:m,__staticSelector:"MultiSelect",sx:pe,errorProps:vt,descriptionProps:Se,labelProps:bt,inputContainer:ht,inputWrapperOrder:$t,unstyled:we,withAsterisk:Le,variant:T},cr),v),H.createElement(hi,{opened:Ut,transitionProps:I,shadow:"sm",withinPortal:de,portalProps:Te,__staticSelector:"MultiSelect",onDirectionChange:Wr,switchDirectionOnFlip:Ee,zIndex:$e,dropdownPosition:on,positionDependencies:[...Pt,Vr],classNames:h,styles:m,unstyled:we,variant:T},H.createElement(hi.Target,null,H.createElement("div",{className:Ke.wrapper,role:"combobox","aria-haspopup":"listbox","aria-owns":Fn&&Ut?`${xr}-items`:null,"aria-controls":xr,"aria-expanded":Fn,onMouseLeave:()=>Nr(-1),tabIndex:-1},H.createElement("input",{type:"hidden",name:ct,value:me.join(","),form:Me,disabled:Y}),H.createElement(Ec,Vl({__staticSelector:"MultiSelect",style:{overflow:"hidden"},component:"div",multiline:!0,size:d,variant:T,disabled:Y,error:p,required:s,radius:fe,icon:ie,unstyled:we,onMouseDown:Be=>{var yt;Be.preventDefault(),!Y&&!ot.current&&Hn(!Fn),(yt=ln.current)==null||yt.focus()},classNames:_4(Vl({},h),{input:dt({[Ke.input]:!A},h==null?void 0:h.input)})},TI({theme:zt,rightSection:X,rightSectionWidth:K,styles:m,size:d,shouldClear:q&&me.length>0,onClear:en,error:p,disabled:Y,clearButtonProps:Ge,readOnly:Lt})),H.createElement("div",{className:Ke.values,"data-clearable":q||void 0},qt,H.createElement("input",Vl({ref:Fd(t,ln),type:"search",id:xr,className:dt(Ke.searchInput,{[Ke.searchInputPointer]:!A,[Ke.searchInputInputHidden]:!Fn&&me.length>0||!A&&me.length>0,[Ke.searchInputEmpty]:me.length===0}),onKeyDown:Nt,value:Vr,onChange:ft,onFocus:xt,onBlur:Et,readOnly:!A||ot.current||Lt,placeholder:me.length===0?L:void 0,disabled:Y,"data-mantine-stop-propagation":Fn,autoComplete:"off",onCompositionStart:()=>$s(!0),onCompositionEnd:()=>$s(!1)},pn)))))),H.createElement(hi.Dropdown,{component:le||Hm,maxHeight:E,direction:Do,id:xr,innerRef:Ls,__staticSelector:"MultiSelect",classNames:h,styles:m},H.createElement(ay,{data:He,hovered:Ce,classNames:h,styles:m,uuid:xr,__staticSelector:"MultiSelect",onItemHover:Nr,onItemSelect:jt,itemsRefs:Hr,itemComponent:_,size:d,nothingFound:R,isItemSelected:tn,creatable:U&&!!ee,createLabel:ee,unstyled:we,variant:T}))))});LI.displayName="@mantine/core/MultiSelect";var TX=Object.defineProperty,NX=Object.defineProperties,$X=Object.getOwnPropertyDescriptors,Uh=Object.getOwnPropertySymbols,zI=Object.prototype.hasOwnProperty,BI=Object.prototype.propertyIsEnumerable,j4=(e,t,n)=>t in e?TX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,J0=(e,t)=>{for(var n in t||(t={}))zI.call(t,n)&&j4(e,n,t[n]);if(Uh)for(var n of Uh(t))BI.call(t,n)&&j4(e,n,t[n]);return e},LX=(e,t)=>NX(e,$X(t)),zX=(e,t)=>{var n={};for(var r in e)zI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Uh)for(var r of Uh(e))t.indexOf(r)<0&&BI.call(e,r)&&(n[r]=e[r]);return n};const BX={type:"text",size:"sm",__staticSelector:"TextInput"},FI=f.forwardRef((e,t)=>{const n=iI("TextInput",BX,e),{inputProps:r,wrapperProps:o}=n,s=zX(n,["inputProps","wrapperProps"]);return H.createElement(Ec.Wrapper,J0({},o),H.createElement(Ec,LX(J0(J0({},r),s),{ref:t})))});FI.displayName="@mantine/core/TextInput";function FX({data:e,searchable:t,limit:n,searchValue:r,filter:o,value:s,filterDataOnExactSearchMatch:a}){if(!t)return e;const c=s!=null&&e.find(p=>p.value===s)||null;if(c&&!a&&(c==null?void 0:c.label)===r){if(n){if(n>=e.length)return e;const p=e.indexOf(c),h=p+n,m=h-e.length;return m>0?e.slice(p-m):e.slice(p,h)}return e}const d=[];for(let p=0;p=n));p+=1);return d}var HX=so(()=>({input:{"&:not(:disabled)":{cursor:"pointer","&::selection":{backgroundColor:"transparent"}}}}));const WX=HX;var VX=Object.defineProperty,UX=Object.defineProperties,GX=Object.getOwnPropertyDescriptors,Gh=Object.getOwnPropertySymbols,HI=Object.prototype.hasOwnProperty,WI=Object.prototype.propertyIsEnumerable,I4=(e,t,n)=>t in e?VX(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,xu=(e,t)=>{for(var n in t||(t={}))HI.call(t,n)&&I4(e,n,t[n]);if(Gh)for(var n of Gh(t))WI.call(t,n)&&I4(e,n,t[n]);return e},Z0=(e,t)=>UX(e,GX(t)),qX=(e,t)=>{var n={};for(var r in e)HI.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Gh)for(var r of Gh(e))t.indexOf(r)<0&&WI.call(e,r)&&(n[r]=e[r]);return n};function KX(e,t){return t.label.toLowerCase().trim().includes(e.toLowerCase().trim())}function XX(e,t){return!!e&&!t.some(n=>n.label.toLowerCase()===e.toLowerCase())}const YX={required:!1,size:"sm",shadow:"sm",itemComponent:iy,transitionProps:{transition:"fade",duration:0},initiallyOpened:!1,filter:KX,maxDropdownHeight:220,searchable:!1,clearable:!1,limit:1/0,disabled:!1,creatable:!1,shouldCreate:XX,selectOnBlur:!1,switchDirectionOnFlip:!1,filterDataOnExactSearchMatch:!1,zIndex:ry("popover"),positionDependencies:[],dropdownPosition:"flip"},vy=f.forwardRef((e,t)=>{const n=iI("Select",YX,e),{inputProps:r,wrapperProps:o,shadow:s,data:a,value:c,defaultValue:d,onChange:p,itemComponent:h,onKeyDown:m,onBlur:v,onFocus:b,transitionProps:w,initiallyOpened:y,unstyled:S,classNames:k,styles:_,filter:P,maxDropdownHeight:I,searchable:E,clearable:O,nothingFound:R,limit:M,disabled:D,onSearchChange:A,searchValue:L,rightSection:Q,rightSectionWidth:F,creatable:V,getCreateLabel:q,shouldCreate:G,selectOnBlur:T,onCreate:z,dropdownComponent:$,onDropdownClose:Y,onDropdownOpen:ae,withinPortal:fe,portalProps:ie,switchDirectionOnFlip:X,zIndex:K,name:U,dropdownPosition:se,allowDeselect:re,placeholder:oe,filterDataOnExactSearchMatch:pe,form:le,positionDependencies:ge,readOnly:ke,clearButtonProps:xe,hoverOnSearchChange:de}=n,Te=qX(n,["inputProps","wrapperProps","shadow","data","value","defaultValue","onChange","itemComponent","onKeyDown","onBlur","onFocus","transitionProps","initiallyOpened","unstyled","classNames","styles","filter","maxDropdownHeight","searchable","clearable","nothingFound","limit","disabled","onSearchChange","searchValue","rightSection","rightSectionWidth","creatable","getCreateLabel","shouldCreate","selectOnBlur","onCreate","dropdownComponent","onDropdownClose","onDropdownOpen","withinPortal","portalProps","switchDirectionOnFlip","zIndex","name","dropdownPosition","allowDeselect","placeholder","filterDataOnExactSearchMatch","form","positionDependencies","readOnly","clearButtonProps","hoverOnSearchChange"]),{classes:Ee,cx:$e,theme:kt}=WX(),[ct,on]=f.useState(y),[vt,bt]=f.useState(-1),Se=f.useRef(),Me=f.useRef({}),[Pt,Tt]=f.useState("column"),we=Pt==="column",{scrollIntoView:ht,targetRef:$t,scrollableRef:Lt}=MP({duration:0,offset:5,cancelable:!1,isList:!0}),Le=re===void 0?O:re,Ge=ee=>{if(ct!==ee){on(ee);const he=ee?ae:Y;typeof he=="function"&&he()}},Pn=V&&typeof q=="function";let Pe=null;const Ye=a.map(ee=>typeof ee=="string"?{label:ee,value:ee}:ee),Ke=wP({data:Ye}),[dt,zt,cr]=ud({value:c,defaultValue:d,finalValue:null,onChange:p}),pn=Ke.find(ee=>ee.value===dt),[ln,Hr]=ud({value:L,defaultValue:(pn==null?void 0:pn.label)||"",finalValue:void 0,onChange:A}),xr=ee=>{Hr(ee),E&&typeof A=="function"&&A(ee)},Fn=()=>{var ee;ke||(zt(null),cr||xr(""),(ee=Se.current)==null||ee.focus())};f.useEffect(()=>{const ee=Ke.find(he=>he.value===dt);ee?xr(ee.label):(!Pn||!dt)&&xr("")},[dt]),f.useEffect(()=>{pn&&(!E||!ct)&&xr(pn.label)},[pn==null?void 0:pn.label]);const Hn=ee=>{if(!ke)if(Le&&(pn==null?void 0:pn.value)===ee.value)zt(null),Ge(!1);else{if(ee.creatable&&typeof z=="function"){const he=z(ee.value);typeof he<"u"&&he!==null&&zt(typeof he=="string"?he:he.value)}else zt(ee.value);cr||xr(ee.label),bt(-1),Ge(!1),Se.current.focus()}},Wn=FX({data:Ke,searchable:E,limit:M,searchValue:ln,filter:P,filterDataOnExactSearchMatch:pe,value:dt});Pn&&G(ln,Wn)&&(Pe=q(ln),Wn.push({label:ln,value:ln,creatable:!0}));const Nr=(ee,he,_e)=>{let me=ee;for(;_e(me);)if(me=he(me),!Wn[me].disabled)return me;return ee};ks(()=>{bt(de&&ln?0:-1)},[ln,de]);const Do=dt?Wn.findIndex(ee=>ee.value===dt):0,Wr=!ke&&(Wn.length>0?ct:ct&&!!R),Vr=()=>{bt(ee=>{var he;const _e=Nr(ee,me=>me-1,me=>me>0);return $t.current=Me.current[(he=Wn[_e])==null?void 0:he.value],Wr&&ht({alignment:we?"start":"end"}),_e})},ds=()=>{bt(ee=>{var he;const _e=Nr(ee,me=>me+1,me=>mewindow.setTimeout(()=>{var ee;$t.current=Me.current[(ee=Wn[Do])==null?void 0:ee.value],ht({alignment:we?"end":"start"})},50);ks(()=>{Wr&&$r()},[Wr]);const $s=ee=>{switch(typeof m=="function"&&m(ee),ee.key){case"ArrowUp":{ee.preventDefault(),ct?we?Vr():ds():(bt(Do),Ge(!0),$r());break}case"ArrowDown":{ee.preventDefault(),ct?we?ds():Vr():(bt(Do),Ge(!0),$r());break}case"Home":{if(!E){ee.preventDefault(),ct||Ge(!0);const he=Wn.findIndex(_e=>!_e.disabled);bt(he),Wr&&ht({alignment:we?"end":"start"})}break}case"End":{if(!E){ee.preventDefault(),ct||Ge(!0);const he=Wn.map(_e=>!!_e.disabled).lastIndexOf(!1);bt(he),Wr&&ht({alignment:we?"end":"start"})}break}case"Escape":{ee.preventDefault(),Ge(!1),bt(-1);break}case" ":{E||(ee.preventDefault(),Wn[vt]&&ct?Hn(Wn[vt]):(Ge(!0),bt(Do),$r()));break}case"Enter":E||ee.preventDefault(),Wn[vt]&&ct&&(ee.preventDefault(),Hn(Wn[vt]))}},fs=ee=>{typeof v=="function"&&v(ee);const he=Ke.find(_e=>_e.value===dt);T&&Wn[vt]&&ct&&Hn(Wn[vt]),xr((he==null?void 0:he.label)||""),Ge(!1)},da=ee=>{typeof b=="function"&&b(ee),E&&Ge(!0)},Ls=ee=>{ke||(xr(ee.currentTarget.value),O&&ee.currentTarget.value===""&&zt(null),bt(-1),Ge(!0))},J=()=>{ke||(Ge(!ct),dt&&!ct&&bt(Do))};return H.createElement(Ec.Wrapper,Z0(xu({},o),{__staticSelector:"Select"}),H.createElement(hi,{opened:Wr,transitionProps:w,shadow:s,withinPortal:fe,portalProps:ie,__staticSelector:"Select",onDirectionChange:Tt,switchDirectionOnFlip:X,zIndex:K,dropdownPosition:se,positionDependencies:[...ge,ln],classNames:k,styles:_,unstyled:S,variant:r.variant},H.createElement(hi.Target,null,H.createElement("div",{role:"combobox","aria-haspopup":"listbox","aria-owns":Wr?`${r.id}-items`:null,"aria-controls":r.id,"aria-expanded":Wr,onMouseLeave:()=>bt(-1),tabIndex:-1},H.createElement("input",{type:"hidden",name:U,value:dt||"",form:le,disabled:D}),H.createElement(Ec,xu(Z0(xu(xu({autoComplete:"off",type:"search"},r),Te),{ref:Fd(t,Se),onKeyDown:$s,__staticSelector:"Select",value:ln,placeholder:oe,onChange:Ls,"aria-autocomplete":"list","aria-controls":Wr?`${r.id}-items`:null,"aria-activedescendant":vt>=0?`${r.id}-${vt}`:null,onMouseDown:J,onBlur:fs,onFocus:da,readOnly:!E||ke,disabled:D,"data-mantine-stop-propagation":Wr,name:null,classNames:Z0(xu({},k),{input:$e({[Ee.input]:!E},k==null?void 0:k.input)})}),TI({theme:kt,rightSection:Q,rightSectionWidth:F,styles:_,size:r.size,shouldClear:O&&!!pn,onClear:Fn,error:o.error,clearButtonProps:xe,disabled:D,readOnly:ke}))))),H.createElement(hi.Dropdown,{component:$||Hm,maxHeight:I,direction:Pt,id:r.id,innerRef:Lt,__staticSelector:"Select",classNames:k,styles:_},H.createElement(ay,{data:Wn,hovered:vt,classNames:k,styles:_,isItemSelected:ee=>ee===dt,uuid:r.id,__staticSelector:"Select",onItemHover:bt,onItemSelect:Hn,itemsRefs:Me,itemComponent:h,size:r.size,nothingFound:R,creatable:Pn&&!!Pe,createLabel:Pe,"aria-label":o.label,unstyled:S,variant:r.variant}))))});vy.displayName="@mantine/core/Select";const by=()=>{const[e,t,n,r,o,s,a,c,d,p,h,m,v,b,w,y,S,k,_,P,I,E,O,R,M,D,A,L,Q,F,V,q,G,T,z,$,Y,ae]=$c("colors",["base.50","base.100","base.150","base.200","base.250","base.300","base.350","base.400","base.450","base.500","base.550","base.600","base.650","base.700","base.750","base.800","base.850","base.900","base.950","accent.50","accent.100","accent.150","accent.200","accent.250","accent.300","accent.350","accent.400","accent.450","accent.500","accent.550","accent.600","accent.650","accent.700","accent.750","accent.800","accent.850","accent.900","accent.950"]);return{base50:e,base100:t,base150:n,base200:r,base250:o,base300:s,base350:a,base400:c,base450:d,base500:p,base550:h,base600:m,base650:v,base700:b,base750:w,base800:y,base850:S,base900:k,base950:_,accent50:P,accent100:I,accent150:E,accent200:O,accent250:R,accent300:M,accent350:D,accent400:A,accent450:L,accent500:Q,accent550:F,accent600:V,accent650:q,accent700:G,accent750:T,accent800:z,accent850:$,accent900:Y,accent950:ae}},Fe=(e,t)=>n=>n==="light"?e:t,VI=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:a,base700:c,base800:d,base900:p,accent200:h,accent300:m,accent400:v,accent500:b,accent600:w}=by(),{colorMode:y}=Ds(),[S]=$c("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:Fe(c,r)(y)},separatorLabel:{color:Fe(s,s)(y),"::after":{borderTopColor:Fe(r,c)(y)}},input:{backgroundColor:Fe(e,p)(y),borderWidth:"2px",borderColor:Fe(n,d)(y),color:Fe(p,t)(y),paddingRight:24,fontWeight:600,"&:hover":{borderColor:Fe(r,a)(y)},"&:focus":{borderColor:Fe(m,w)(y)},"&:is(:focus, :hover)":{borderColor:Fe(o,s)(y)},"&:focus-within":{borderColor:Fe(h,w)(y)},"&[data-disabled]":{backgroundColor:Fe(r,c)(y),color:Fe(a,o)(y),cursor:"not-allowed"}},value:{backgroundColor:Fe(t,p)(y),color:Fe(p,t)(y),button:{color:Fe(p,t)(y)},"&:hover":{backgroundColor:Fe(r,c)(y),cursor:"pointer"}},dropdown:{backgroundColor:Fe(n,d)(y),borderColor:Fe(n,d)(y),boxShadow:S},item:{backgroundColor:Fe(n,d)(y),color:Fe(d,n)(y),padding:6,"&[data-hovered]":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)},"&[data-active]":{backgroundColor:Fe(r,c)(y),"&:hover":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)}},"&[data-selected]":{backgroundColor:Fe(v,w)(y),color:Fe(e,t)(y),fontWeight:600,"&:hover":{backgroundColor:Fe(b,b)(y),color:Fe("white",e)(y)}},"&[data-disabled]":{color:Fe(s,a)(y),cursor:"not-allowed"}},rightSection:{width:32,button:{color:Fe(p,t)(y)}}}),[h,m,v,b,w,t,n,r,o,e,s,a,c,d,p,S,y])},QX=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,onChange:o,label:s,disabled:a,...c}=e,d=te(),[p,h]=f.useState(""),m=f.useCallback(y=>{y.shiftKey&&d(jo(!0))},[d]),v=f.useCallback(y=>{y.shiftKey||d(jo(!1))},[d]),b=f.useCallback(y=>{o&&o(y)},[o]),w=VI();return i.jsx(vn,{label:n,placement:"top",hasArrow:!0,children:i.jsx(vy,{ref:r,label:s?i.jsx(go,{isDisabled:a,children:i.jsx(Bo,{children:s})}):void 0,disabled:a,searchValue:p,onSearchChange:h,onChange:b,onKeyDown:m,onKeyUp:v,searchable:t,maxDropdownHeight:300,styles:w,...c})})},ar=f.memo(QX),JX=be([lt],({changeBoardModal:e})=>{const{isModalOpen:t,imagesToChange:n}=e;return{isModalOpen:t,imagesToChange:n}},Je),ZX=()=>{const e=te(),[t,n]=f.useState(),{data:r,isFetching:o}=dm(),{imagesToChange:s,isModalOpen:a}=B(JX),[c]=KR(),[d]=XR(),p=f.useMemo(()=>{const b=[{label:"Uncategorized",value:"none"}];return(r??[]).forEach(w=>b.push({label:w.board_name,value:w.board_id})),b},[r]),h=f.useCallback(()=>{e(K2()),e(J1(!1))},[e]),m=f.useCallback(()=>{!s.length||!t||(t==="none"?d({imageDTOs:s}):c({imageDTOs:s,board_id:t}),n(null),e(K2()))},[c,e,s,d,t]),v=f.useRef(null);return i.jsx(Td,{isOpen:a,onClose:h,leastDestructiveRef:v,isCentered:!0,children:i.jsx(Aa,{children:i.jsxs(Nd,{children:[i.jsx(Da,{fontSize:"lg",fontWeight:"bold",children:"Change Board"}),i.jsx(Ta,{children:i.jsxs(W,{sx:{flexDir:"column",gap:4},children:[i.jsxs(Qe,{children:["Moving ",`${s.length}`," image",`${s.length>1?"s":""}`," to board:"]}),i.jsx(ar,{placeholder:o?"Loading...":"Select Board",disabled:o,onChange:b=>n(b),value:t,data:p})]})}),i.jsxs(Ma,{children:[i.jsx(Yt,{ref:v,onClick:h,children:"Cancel"}),i.jsx(Yt,{colorScheme:"accent",onClick:m,ml:3,children:"Move"})]})]})})})},eY=f.memo(ZX),tY=e=>{const{label:t,isDisabled:n=!1,width:r="auto",formControlProps:o,formLabelProps:s,tooltip:a,...c}=e;return i.jsx(vn,{label:a,hasArrow:!0,placement:"top",isDisabled:!a,children:i.jsxs(go,{isDisabled:n,width:r,display:"flex",alignItems:"center",...o,children:[t&&i.jsx(Bo,{my:1,flexGrow:1,sx:{cursor:n?"not-allowed":"pointer",...s==null?void 0:s.sx,pe:4},...s,children:t}),i.jsx(Zb,{...c})]})})},yr=f.memo(tY),nY=e=>{const{imageUsage:t,topMessage:n="This image is currently in use in the following features:",bottomMessage:r="If you delete this image, those features will immediately be reset."}=e;return!t||!wa(t)?null:i.jsxs(i.Fragment,{children:[i.jsx(Qe,{children:n}),i.jsxs(Ab,{sx:{paddingInlineStart:6},children:[t.isInitialImage&&i.jsx(Sa,{children:"Image to Image"}),t.isCanvasImage&&i.jsx(Sa,{children:"Unified Canvas"}),t.isControlNetImage&&i.jsx(Sa,{children:"ControlNet"}),t.isNodesImage&&i.jsx(Sa,{children:"Node Editor"})]}),i.jsx(Qe,{children:r})]})},UI=f.memo(nY),rY=be([lt,YR],(e,t)=>{const{system:n,config:r,deleteImageModal:o}=e,{shouldConfirmOnDelete:s}=n,{canRestoreDeletedImagesFromBin:a}=r,{imagesToDelete:c,isModalOpen:d}=o,p=(c??[]).map(({image_name:m})=>L_(e,m)),h={isInitialImage:wa(p,m=>m.isInitialImage),isCanvasImage:wa(p,m=>m.isCanvasImage),isNodesImage:wa(p,m=>m.isNodesImage),isControlNetImage:wa(p,m=>m.isControlNetImage)};return{shouldConfirmOnDelete:s,canRestoreDeletedImagesFromBin:a,imagesToDelete:c,imagesUsage:t,isModalOpen:d,imageUsageSummary:h}},Je),oY=()=>{const e=te(),{t}=ye(),{shouldConfirmOnDelete:n,canRestoreDeletedImagesFromBin:r,imagesToDelete:o,imagesUsage:s,isModalOpen:a,imageUsageSummary:c}=B(rY),d=f.useCallback(v=>e(z_(!v.target.checked)),[e]),p=f.useCallback(()=>{e(X2()),e(QR(!1))},[e]),h=f.useCallback(()=>{!o.length||!s.length||(e(X2()),e(JR({imageDTOs:o,imagesUsage:s})))},[e,o,s]),m=f.useRef(null);return i.jsx(Td,{isOpen:a,onClose:p,leastDestructiveRef:m,isCentered:!0,children:i.jsx(Aa,{children:i.jsxs(Nd,{children:[i.jsx(Da,{fontSize:"lg",fontWeight:"bold",children:t("gallery.deleteImage")}),i.jsx(Ta,{children:i.jsxs(W,{direction:"column",gap:3,children:[i.jsx(UI,{imageUsage:c}),i.jsx(Wa,{}),i.jsx(Qe,{children:t(r?"gallery.deleteImageBin":"gallery.deleteImagePermanent")}),i.jsx(Qe,{children:t("common.areYouSure")}),i.jsx(yr,{label:t("common.dontAskMeAgain"),isChecked:!n,onChange:d})]})}),i.jsxs(Ma,{children:[i.jsx(Yt,{ref:m,onClick:p,children:"Cancel"}),i.jsx(Yt,{colorScheme:"error",onClick:h,ml:3,children:"Delete"})]})]})})})},sY=f.memo(oY),mn=e=>e.canvas,lr=be([mn,Kn,vo],(e,t,n)=>e.layerState.stagingArea.images.length>0||t==="unifiedCanvas"&&n.isProcessing),aY=e=>e.canvas.layerState.objects.find(B_),iY=d9(e=>{e(F_(!0))},300),ko=()=>(e,t)=>{Kn(t())==="unifiedCanvas"&&iY(e)};var lY=globalThis&&globalThis.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,o){r.__proto__=o}||function(r,o){for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(r[s]=o[s])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),Pr=globalThis&&globalThis.__assign||function(){return Pr=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"u"?void 0:Number(r),maxHeight:typeof o>"u"?void 0:Number(o),minWidth:typeof s>"u"?void 0:Number(s),minHeight:typeof a>"u"?void 0:Number(a)}},mY=["as","style","className","grid","snap","bounds","boundsByDirection","size","defaultSize","minWidth","minHeight","maxWidth","maxHeight","lockAspectRatio","lockAspectRatioExtraWidth","lockAspectRatioExtraHeight","enable","handleStyles","handleClasses","handleWrapperStyle","handleWrapperClass","children","onResizeStart","onResize","onResizeStop","handleComponent","scale","resizeRatio","snapGap"],D4="__resizable_base__",gY=function(e){dY(t,e);function t(n){var r=e.call(this,n)||this;return r.ratio=1,r.resizable=null,r.parentLeft=0,r.parentTop=0,r.resizableLeft=0,r.resizableRight=0,r.resizableTop=0,r.resizableBottom=0,r.targetLeft=0,r.targetTop=0,r.appendBase=function(){if(!r.resizable||!r.window)return null;var o=r.parentNode;if(!o)return null;var s=r.window.document.createElement("div");return s.style.width="100%",s.style.height="100%",s.style.position="absolute",s.style.transform="scale(0, 0)",s.style.left="0",s.style.flex="0 0 100%",s.classList?s.classList.add(D4):s.className+=D4,o.appendChild(s),s},r.removeBase=function(o){var s=r.parentNode;s&&s.removeChild(o)},r.ref=function(o){o&&(r.resizable=o)},r.state={isResizing:!1,width:typeof(r.propsSize&&r.propsSize.width)>"u"?"auto":r.propsSize&&r.propsSize.width,height:typeof(r.propsSize&&r.propsSize.height)>"u"?"auto":r.propsSize&&r.propsSize.height,direction:"right",original:{x:0,y:0,width:0,height:0},backgroundStyle:{height:"100%",width:"100%",backgroundColor:"rgba(0,0,0,0)",cursor:"auto",opacity:0,position:"fixed",zIndex:9999,top:"0",left:"0",bottom:"0",right:"0"},flexBasis:void 0},r.onResizeStart=r.onResizeStart.bind(r),r.onMouseMove=r.onMouseMove.bind(r),r.onMouseUp=r.onMouseUp.bind(r),r}return Object.defineProperty(t.prototype,"parentNode",{get:function(){return this.resizable?this.resizable.parentNode:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"window",{get:function(){return!this.resizable||!this.resizable.ownerDocument?null:this.resizable.ownerDocument.defaultView},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"propsSize",{get:function(){return this.props.size||this.props.defaultSize||fY},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){var n=0,r=0;if(this.resizable&&this.window){var o=this.resizable.offsetWidth,s=this.resizable.offsetHeight,a=this.resizable.style.position;a!=="relative"&&(this.resizable.style.position="relative"),n=this.resizable.style.width!=="auto"?this.resizable.offsetWidth:o,r=this.resizable.style.height!=="auto"?this.resizable.offsetHeight:s,this.resizable.style.position=a}return{width:n,height:r}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"sizeStyle",{get:function(){var n=this,r=this.props.size,o=function(c){if(typeof n.state[c]>"u"||n.state[c]==="auto")return"auto";if(n.propsSize&&n.propsSize[c]&&n.propsSize[c].toString().endsWith("%")){if(n.state[c].toString().endsWith("%"))return n.state[c].toString();var d=n.getParentSize(),p=Number(n.state[c].toString().replace("px","")),h=p/d[c]*100;return h+"%"}return ev(n.state[c])},s=r&&typeof r.width<"u"&&!this.state.isResizing?ev(r.width):o("width"),a=r&&typeof r.height<"u"&&!this.state.isResizing?ev(r.height):o("height");return{width:s,height:a}},enumerable:!1,configurable:!0}),t.prototype.getParentSize=function(){if(!this.parentNode)return this.window?{width:this.window.innerWidth,height:this.window.innerHeight}:{width:0,height:0};var n=this.appendBase();if(!n)return{width:0,height:0};var r=!1,o=this.parentNode.style.flexWrap;o!=="wrap"&&(r=!0,this.parentNode.style.flexWrap="wrap"),n.style.position="relative",n.style.minWidth="100%",n.style.minHeight="100%";var s={width:n.offsetWidth,height:n.offsetHeight};return r&&(this.parentNode.style.flexWrap=o),this.removeBase(n),s},t.prototype.bindEvents=function(){this.window&&(this.window.addEventListener("mouseup",this.onMouseUp),this.window.addEventListener("mousemove",this.onMouseMove),this.window.addEventListener("mouseleave",this.onMouseUp),this.window.addEventListener("touchmove",this.onMouseMove,{capture:!0,passive:!1}),this.window.addEventListener("touchend",this.onMouseUp))},t.prototype.unbindEvents=function(){this.window&&(this.window.removeEventListener("mouseup",this.onMouseUp),this.window.removeEventListener("mousemove",this.onMouseMove),this.window.removeEventListener("mouseleave",this.onMouseUp),this.window.removeEventListener("touchmove",this.onMouseMove,!0),this.window.removeEventListener("touchend",this.onMouseUp))},t.prototype.componentDidMount=function(){if(!(!this.resizable||!this.window)){var n=this.window.getComputedStyle(this.resizable);this.setState({width:this.state.width||this.size.width,height:this.state.height||this.size.height,flexBasis:n.flexBasis!=="auto"?n.flexBasis:void 0})}},t.prototype.componentWillUnmount=function(){this.window&&this.unbindEvents()},t.prototype.createSizeForCssProperty=function(n,r){var o=this.propsSize&&this.propsSize[r];return this.state[r]==="auto"&&this.state.original[r]===n&&(typeof o>"u"||o==="auto")?"auto":n},t.prototype.calculateNewMaxFromBoundary=function(n,r){var o=this.props.boundsByDirection,s=this.state.direction,a=o&&Ul("left",s),c=o&&Ul("top",s),d,p;if(this.props.bounds==="parent"){var h=this.parentNode;h&&(d=a?this.resizableRight-this.parentLeft:h.offsetWidth+(this.parentLeft-this.resizableLeft),p=c?this.resizableBottom-this.parentTop:h.offsetHeight+(this.parentTop-this.resizableTop))}else this.props.bounds==="window"?this.window&&(d=a?this.resizableRight:this.window.innerWidth-this.resizableLeft,p=c?this.resizableBottom:this.window.innerHeight-this.resizableTop):this.props.bounds&&(d=a?this.resizableRight-this.targetLeft:this.props.bounds.offsetWidth+(this.targetLeft-this.resizableLeft),p=c?this.resizableBottom-this.targetTop:this.props.bounds.offsetHeight+(this.targetTop-this.resizableTop));return d&&Number.isFinite(d)&&(n=n&&n"u"?10:s.width,m=typeof o.width>"u"||o.width<0?n:o.width,v=typeof s.height>"u"?10:s.height,b=typeof o.height>"u"||o.height<0?r:o.height,w=d||0,y=p||0;if(c){var S=(v-w)*this.ratio+y,k=(b-w)*this.ratio+y,_=(h-y)/this.ratio+w,P=(m-y)/this.ratio+w,I=Math.max(h,S),E=Math.min(m,k),O=Math.max(v,_),R=Math.min(b,P);n=up(n,I,E),r=up(r,O,R)}else n=up(n,h,m),r=up(r,v,b);return{newWidth:n,newHeight:r}},t.prototype.setBoundingClientRect=function(){if(this.props.bounds==="parent"){var n=this.parentNode;if(n){var r=n.getBoundingClientRect();this.parentLeft=r.left,this.parentTop=r.top}}if(this.props.bounds&&typeof this.props.bounds!="string"){var o=this.props.bounds.getBoundingClientRect();this.targetLeft=o.left,this.targetTop=o.top}if(this.resizable){var s=this.resizable.getBoundingClientRect(),a=s.left,c=s.top,d=s.right,p=s.bottom;this.resizableLeft=a,this.resizableRight=d,this.resizableTop=c,this.resizableBottom=p}},t.prototype.onResizeStart=function(n,r){if(!(!this.resizable||!this.window)){var o=0,s=0;if(n.nativeEvent&&pY(n.nativeEvent)?(o=n.nativeEvent.clientX,s=n.nativeEvent.clientY):n.nativeEvent&&dp(n.nativeEvent)&&(o=n.nativeEvent.touches[0].clientX,s=n.nativeEvent.touches[0].clientY),this.props.onResizeStart&&this.resizable){var a=this.props.onResizeStart(n,r,this.resizable);if(a===!1)return}this.props.size&&(typeof this.props.size.height<"u"&&this.props.size.height!==this.state.height&&this.setState({height:this.props.size.height}),typeof this.props.size.width<"u"&&this.props.size.width!==this.state.width&&this.setState({width:this.props.size.width})),this.ratio=typeof this.props.lockAspectRatio=="number"?this.props.lockAspectRatio:this.size.width/this.size.height;var c,d=this.window.getComputedStyle(this.resizable);if(d.flexBasis!=="auto"){var p=this.parentNode;if(p){var h=this.window.getComputedStyle(p).flexDirection;this.flexDir=h.startsWith("row")?"row":"column",c=d.flexBasis}}this.setBoundingClientRect(),this.bindEvents();var m={original:{x:o,y:s,width:this.size.width,height:this.size.height},isResizing:!0,backgroundStyle:qs(qs({},this.state.backgroundStyle),{cursor:this.window.getComputedStyle(n.target).cursor||"auto"}),direction:r,flexBasis:c};this.setState(m)}},t.prototype.onMouseMove=function(n){var r=this;if(!(!this.state.isResizing||!this.resizable||!this.window)){if(this.window.TouchEvent&&dp(n))try{n.preventDefault(),n.stopPropagation()}catch{}var o=this.props,s=o.maxWidth,a=o.maxHeight,c=o.minWidth,d=o.minHeight,p=dp(n)?n.touches[0].clientX:n.clientX,h=dp(n)?n.touches[0].clientY:n.clientY,m=this.state,v=m.direction,b=m.original,w=m.width,y=m.height,S=this.getParentSize(),k=hY(S,this.window.innerWidth,this.window.innerHeight,s,a,c,d);s=k.maxWidth,a=k.maxHeight,c=k.minWidth,d=k.minHeight;var _=this.calculateNewSizeFromDirection(p,h),P=_.newHeight,I=_.newWidth,E=this.calculateNewMaxFromBoundary(s,a);this.props.snap&&this.props.snap.x&&(I=M4(I,this.props.snap.x,this.props.snapGap)),this.props.snap&&this.props.snap.y&&(P=M4(P,this.props.snap.y,this.props.snapGap));var O=this.calculateNewSizeFromAspectRatio(I,P,{width:E.maxWidth,height:E.maxHeight},{width:c,height:d});if(I=O.newWidth,P=O.newHeight,this.props.grid){var R=R4(I,this.props.grid[0]),M=R4(P,this.props.grid[1]),D=this.props.snapGap||0;I=D===0||Math.abs(R-I)<=D?R:I,P=D===0||Math.abs(M-P)<=D?M:P}var A={width:I-b.width,height:P-b.height};if(w&&typeof w=="string"){if(w.endsWith("%")){var L=I/S.width*100;I=L+"%"}else if(w.endsWith("vw")){var Q=I/this.window.innerWidth*100;I=Q+"vw"}else if(w.endsWith("vh")){var F=I/this.window.innerHeight*100;I=F+"vh"}}if(y&&typeof y=="string"){if(y.endsWith("%")){var L=P/S.height*100;P=L+"%"}else if(y.endsWith("vw")){var Q=P/this.window.innerWidth*100;P=Q+"vw"}else if(y.endsWith("vh")){var F=P/this.window.innerHeight*100;P=F+"vh"}}var V={width:this.createSizeForCssProperty(I,"width"),height:this.createSizeForCssProperty(P,"height")};this.flexDir==="row"?V.flexBasis=V.width:this.flexDir==="column"&&(V.flexBasis=V.height),_i.flushSync(function(){r.setState(V)}),this.props.onResize&&this.props.onResize(n,v,this.resizable,A)}},t.prototype.onMouseUp=function(n){var r=this.state,o=r.isResizing,s=r.direction,a=r.original;if(!(!o||!this.resizable)){var c={width:this.size.width-a.width,height:this.size.height-a.height};this.props.onResizeStop&&this.props.onResizeStop(n,s,this.resizable,c),this.props.size&&this.setState(this.props.size),this.unbindEvents(),this.setState({isResizing:!1,backgroundStyle:qs(qs({},this.state.backgroundStyle),{cursor:"auto"})})}},t.prototype.updateSize=function(n){this.setState({width:n.width,height:n.height})},t.prototype.renderResizer=function(){var n=this,r=this.props,o=r.enable,s=r.handleStyles,a=r.handleClasses,c=r.handleWrapperStyle,d=r.handleWrapperClass,p=r.handleComponent;if(!o)return null;var h=Object.keys(o).map(function(m){return o[m]!==!1?f.createElement(uY,{key:m,direction:m,onResizeStart:n.onResizeStart,replaceStyles:s&&s[m],className:a&&a[m]},p&&p[m]?p[m]:null):null});return f.createElement("div",{className:d,style:c},h)},t.prototype.render=function(){var n=this,r=Object.keys(this.props).reduce(function(a,c){return mY.indexOf(c)!==-1||(a[c]=n.props[c]),a},{}),o=qs(qs(qs({position:"relative",userSelect:this.state.isResizing?"none":"auto"},this.props.style),this.sizeStyle),{maxWidth:this.props.maxWidth,maxHeight:this.props.maxHeight,minWidth:this.props.minWidth,minHeight:this.props.minHeight,boxSizing:"border-box",flexShrink:0});this.state.flexBasis&&(o.flexBasis=this.state.flexBasis);var s=this.props.as||"div";return f.createElement(s,qs({ref:this.ref,style:o,className:this.props.className},r),this.state.isResizing&&f.createElement("div",{style:this.state.backgroundStyle}),this.props.children,this.renderResizer())},t.defaultProps={as:"div",onResizeStart:function(){},onResize:function(){},onResizeStop:function(){},enable:{top:!0,right:!0,bottom:!0,left:!0,topRight:!0,bottomRight:!0,bottomLeft:!0,topLeft:!0},style:{},grid:[1,1],lockAspectRatio:!1,lockAspectRatioExtraWidth:0,lockAspectRatioExtraHeight:0,scale:1,resizeRatio:1,snapGap:0},t}(f.PureComponent);const vY=({direction:e,langDirection:t})=>({top:e==="bottom",right:t!=="rtl"&&e==="left"||t==="rtl"&&e==="right",bottom:e==="top",left:t!=="rtl"&&e==="right"||t==="rtl"&&e==="left"}),bY=({direction:e,minWidth:t,maxWidth:n,minHeight:r,maxHeight:o})=>{const s=t??(["left","right"].includes(e)?10:void 0),a=n??(["left","right"].includes(e)?"95vw":void 0),c=r??(["top","bottom"].includes(e)?10:void 0),d=o??(["top","bottom"].includes(e)?"95vh":void 0);return{...s?{minWidth:s}:{},...a?{maxWidth:a}:{},...c?{minHeight:c}:{},...d?{maxHeight:d}:{}}},ba="0.75rem",pp="1rem",wu="5px",yY=({isResizable:e,direction:t})=>{const n=`calc((2 * ${ba} + ${wu}) / -2)`;return t==="top"?{containerStyles:{borderBottomWidth:wu,paddingBottom:pp},handleStyles:e?{top:{paddingTop:ba,paddingBottom:ba,bottom:n}}:{}}:t==="left"?{containerStyles:{borderInlineEndWidth:wu,paddingInlineEnd:pp},handleStyles:e?{right:{paddingInlineStart:ba,paddingInlineEnd:ba,insetInlineEnd:n}}:{}}:t==="bottom"?{containerStyles:{borderTopWidth:wu,paddingTop:pp},handleStyles:e?{bottom:{paddingTop:ba,paddingBottom:ba,top:n}}:{}}:t==="right"?{containerStyles:{borderInlineStartWidth:wu,paddingInlineStart:pp},handleStyles:e?{left:{paddingInlineStart:ba,paddingInlineEnd:ba,insetInlineStart:n}}:{}}:{containerStyles:{},handleStyles:{}}},xY=(e,t)=>["top","bottom"].includes(e)?e:e==="left"?t==="rtl"?"right":"left":e==="right"?t==="rtl"?"left":"right":"left",wY=je(gY,{shouldForwardProp:e=>!["sx"].includes(e)}),GI=({direction:e="left",isResizable:t,isOpen:n,onClose:r,children:o,initialWidth:s,minWidth:a,maxWidth:c,initialHeight:d,minHeight:p,maxHeight:h,onResizeStart:m,onResizeStop:v,onResize:b,sx:w={}})=>{const y=Nc().direction,{colorMode:S}=Ds(),k=f.useRef(null),_=f.useMemo(()=>s??a??(["left","right"].includes(e)?"auto":"100%"),[s,a,e]),P=f.useMemo(()=>d??p??(["top","bottom"].includes(e)?"auto":"100%"),[d,p,e]),[I,E]=f.useState(_),[O,R]=f.useState(P);XN({ref:k,handler:()=>{r()},enabled:n});const M=f.useMemo(()=>t?vY({direction:e,langDirection:y}):{},[t,y,e]),D=f.useMemo(()=>bY({direction:e,minWidth:a,maxWidth:c,minHeight:p,maxHeight:h}),[a,c,p,h,e]),{containerStyles:A,handleStyles:L}=f.useMemo(()=>yY({isResizable:t,direction:e}),[t,e]),Q=f.useMemo(()=>xY(e,y),[e,y]);return f.useEffect(()=>{["left","right"].includes(e)&&R("100vh"),["top","bottom"].includes(e)&&E("100vw")},[e]),i.jsx(X5,{direction:Q,in:n,motionProps:{initial:!1},style:{width:"full"},children:i.jsx(Re,{ref:k,sx:{width:"full",height:"full"},children:i.jsx(wY,{size:{width:t?I:_,height:t?O:P},enable:M,handleStyles:L,...D,sx:{borderColor:Fe("base.200","base.800")(S),p:4,bg:Fe("base.50","base.900")(S),height:"full",shadow:n?"dark-lg":void 0,...A,...w},onResizeStart:(F,V,q)=>{m&&m(F,V,q)},onResize:(F,V,q,G)=>{b&&b(F,V,q,G)},onResizeStop:(F,V,q,G)=>{["left","right"].includes(V)&&E(Number(I)+G.width),["top","bottom"].includes(V)&&R(Number(O)+G.height),v&&v(F,V,q,G)},children:o})})})};var qI={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},A4=H.createContext&&H.createContext(qI),mi=globalThis&&globalThis.__assign||function(){return mi=Object.assign||function(e){for(var t,n=1,r=arguments.length;nt(e[n],n,e));return e}function no(e,t){const n=Ei(t);if(Ms(t)||n){let o=n?"":{};if(e){const s=window.getComputedStyle(e,null);o=n?z4(e,s,t):t.reduce((a,c)=>(a[c]=z4(e,s,c),a),o)}return o}e&&_n(Ho(t),o=>SQ(e,o,t[o]))}const ys=(e,t)=>{const{o:n,u:r,_:o}=e;let s=n,a;const c=(h,m)=>{const v=s,b=h,w=m||(r?!r(v,b):v!==b);return(w||o)&&(s=b,a=v),[s,w,a]};return[t?h=>c(t(s,a),h):c,h=>[s,!!h,a]]},Vd=()=>typeof window<"u",uE=Vd()&&Node.ELEMENT_NODE,{toString:iQ,hasOwnProperty:ev}=Object.prototype,Va=e=>e===void 0,Um=e=>e===null,lQ=e=>Va(e)||Um(e)?`${e}`:iQ.call(e).replace(/^\[object (.+)\]$/,"$1").toLowerCase(),mi=e=>typeof e=="number",Ei=e=>typeof e=="string",Cy=e=>typeof e=="boolean",Rs=e=>typeof e=="function",Ms=e=>Array.isArray(e),dd=e=>typeof e=="object"&&!Ms(e)&&!Um(e),Gm=e=>{const t=!!e&&e.length,n=mi(t)&&t>-1&&t%1==0;return Ms(e)||!Rs(e)&&n?t>0&&dd(e)?t-1 in e:!0:!1},C1=e=>{if(!e||!dd(e)||lQ(e)!=="object")return!1;let t;const n="constructor",r=e[n],o=r&&r.prototype,s=ev.call(e,n),a=o&&ev.call(o,"isPrototypeOf");if(r&&!s&&!a)return!1;for(t in e);return Va(t)||ev.call(e,t)},Gh=e=>{const t=HTMLElement;return e?t?e instanceof t:e.nodeType===uE:!1},qm=e=>{const t=Element;return e?t?e instanceof t:e.nodeType===uE:!1},ky=(e,t,n)=>e.indexOf(t,n),An=(e,t,n)=>(!n&&!Ei(t)&&Gm(t)?Array.prototype.push.apply(e,t):e.push(t),e),ul=e=>{const t=Array.from,n=[];return t&&e?t(e):(e instanceof Set?e.forEach(r=>{An(n,r)}):_n(e,r=>{An(n,r)}),n)},_y=e=>!!e&&e.length===0,ca=(e,t,n)=>{_n(e,o=>o&&o.apply(void 0,t||[])),!n&&(e.length=0)},Km=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Ho=e=>e?Object.keys(e):[],pr=(e,t,n,r,o,s,a)=>{const c=[t,n,r,o,s,a];return(typeof e!="object"||Um(e))&&!Rs(e)&&(e={}),_n(c,d=>{_n(Ho(d),p=>{const h=d[p];if(e===h)return!0;const m=Ms(h);if(h&&(C1(h)||m)){const v=e[p];let b=v;m&&!Ms(v)?b=[]:!m&&!C1(v)&&(b={}),e[p]=pr(b,h)}else e[p]=h})}),e},Py=e=>{for(const t in e)return!1;return!0},dE=(e,t,n,r)=>{if(Va(r))return n?n[e]:t;n&&(Ei(r)||mi(r))&&(n[e]=r)},to=(e,t,n)=>{if(Va(n))return e?e.getAttribute(t):null;e&&e.setAttribute(t,n)},So=(e,t)=>{e&&e.removeAttribute(t)},Zi=(e,t,n,r)=>{if(n){const o=to(e,t)||"",s=new Set(o.split(" "));s[r?"add":"delete"](n);const a=ul(s).join(" ").trim();to(e,t,a)}},cQ=(e,t,n)=>{const r=to(e,t)||"";return new Set(r.split(" ")).has(n)},Ps=(e,t)=>dE("scrollLeft",0,e,t),ja=(e,t)=>dE("scrollTop",0,e,t),k1=Vd()&&Element.prototype,fE=(e,t)=>{const n=[],r=t?qm(t)?t:null:document;return r?An(n,r.querySelectorAll(e)):n},uQ=(e,t)=>{const n=t?qm(t)?t:null:document;return n?n.querySelector(e):null},qh=(e,t)=>qm(e)?(k1.matches||k1.msMatchesSelector).call(e,t):!1,jy=e=>e?ul(e.childNodes):[],$a=e=>e?e.parentElement:null,Jl=(e,t)=>{if(qm(e)){const n=k1.closest;if(n)return n.call(e,t);do{if(qh(e,t))return e;e=$a(e)}while(e)}return null},dQ=(e,t,n)=>{const r=e&&Jl(e,t),o=e&&uQ(n,r),s=Jl(o,t)===r;return r&&o?r===e||o===e||s&&Jl(Jl(e,n),t)!==r:!1},Iy=(e,t,n)=>{if(n&&e){let r=t,o;Gm(n)?(o=document.createDocumentFragment(),_n(n,s=>{s===r&&(r=s.previousSibling),o.appendChild(s)})):o=n,t&&(r?r!==t&&(r=r.nextSibling):r=e.firstChild),e.insertBefore(o,r||null)}},ns=(e,t)=>{Iy(e,null,t)},fQ=(e,t)=>{Iy($a(e),e,t)},N4=(e,t)=>{Iy($a(e),e&&e.nextSibling,t)},sa=e=>{if(Gm(e))_n(ul(e),t=>sa(t));else if(e){const t=$a(e);t&&t.removeChild(e)}},el=e=>{const t=document.createElement("div");return e&&to(t,"class",e),t},pE=e=>{const t=el();return t.innerHTML=e.trim(),_n(jy(t),n=>sa(n))},_1=e=>e.charAt(0).toUpperCase()+e.slice(1),pQ=()=>el().style,hQ=["-webkit-","-moz-","-o-","-ms-"],mQ=["WebKit","Moz","O","MS","webkit","moz","o","ms"],tv={},nv={},gQ=e=>{let t=nv[e];if(Km(nv,e))return t;const n=_1(e),r=pQ();return _n(hQ,o=>{const s=o.replace(/-/g,"");return!(t=[e,o+e,s+n,_1(s)+n].find(c=>r[c]!==void 0))}),nv[e]=t||""},Ud=e=>{if(Vd()){let t=tv[e]||window[e];return Km(tv,e)||(_n(mQ,n=>(t=t||window[n+_1(e)],!t)),tv[e]=t),t}},vQ=Ud("MutationObserver"),$4=Ud("IntersectionObserver"),Zl=Ud("ResizeObserver"),hE=Ud("cancelAnimationFrame"),mE=Ud("requestAnimationFrame"),Kh=Vd()&&window.setTimeout,P1=Vd()&&window.clearTimeout,bQ=/[^\x20\t\r\n\f]+/g,gE=(e,t,n)=>{const r=e&&e.classList;let o,s=0,a=!1;if(r&&t&&Ei(t)){const c=t.match(bQ)||[];for(a=c.length>0;o=c[s++];)a=!!n(r,o)&&a}return a},Ey=(e,t)=>{gE(e,t,(n,r)=>n.remove(r))},Ia=(e,t)=>(gE(e,t,(n,r)=>n.add(r)),Ey.bind(0,e,t)),Xm=(e,t,n,r)=>{if(e&&t){let o=!0;return _n(n,s=>{const a=r?r(e[s]):e[s],c=r?r(t[s]):t[s];a!==c&&(o=!1)}),o}return!1},vE=(e,t)=>Xm(e,t,["w","h"]),bE=(e,t)=>Xm(e,t,["x","y"]),yQ=(e,t)=>Xm(e,t,["t","r","b","l"]),L4=(e,t,n)=>Xm(e,t,["width","height"],n&&(r=>Math.round(r))),ts=()=>{},Kl=e=>{let t;const n=e?Kh:mE,r=e?P1:hE;return[o=>{r(t),t=n(o,Rs(e)?e():e)},()=>r(t)]},Oy=(e,t)=>{let n,r,o,s=ts;const{v:a,g:c,p:d}=t||{},p=function(w){s(),P1(n),n=r=void 0,s=ts,e.apply(this,w)},h=b=>d&&r?d(r,b):b,m=()=>{s!==ts&&p(h(o)||o)},v=function(){const w=ul(arguments),y=Rs(a)?a():a;if(mi(y)&&y>=0){const k=Rs(c)?c():c,_=mi(k)&&k>=0,P=y>0?Kh:mE,I=y>0?P1:hE,O=h(w)||w,R=p.bind(0,O);s();const M=P(R,y);s=()=>I(M),_&&!n&&(n=Kh(m,k)),r=o=O}else p(w)};return v.m=m,v},xQ={opacity:1,zindex:1},pp=(e,t)=>{const n=t?parseFloat(e):parseInt(e,10);return n===n?n:0},wQ=(e,t)=>!xQ[e.toLowerCase()]&&mi(t)?`${t}px`:t,z4=(e,t,n)=>t!=null?t[n]||t.getPropertyValue(n):e.style[n],SQ=(e,t,n)=>{try{const{style:r}=e;Va(r[t])?r.setProperty(t,n):r[t]=wQ(t,n)}catch{}},fd=e=>no(e,"direction")==="rtl",B4=(e,t,n)=>{const r=t?`${t}-`:"",o=n?`-${n}`:"",s=`${r}top${o}`,a=`${r}right${o}`,c=`${r}bottom${o}`,d=`${r}left${o}`,p=no(e,[s,a,c,d]);return{t:pp(p[s],!0),r:pp(p[a],!0),b:pp(p[c],!0),l:pp(p[d],!0)}},{round:F4}=Math,Ry={w:0,h:0},pd=e=>e?{w:e.offsetWidth,h:e.offsetHeight}:Ry,Np=e=>e?{w:e.clientWidth,h:e.clientHeight}:Ry,Xh=e=>e?{w:e.scrollWidth,h:e.scrollHeight}:Ry,Yh=e=>{const t=parseFloat(no(e,"height"))||0,n=parseFloat(no(e,"width"))||0;return{w:n-F4(n),h:t-F4(t)}},Zs=e=>e.getBoundingClientRect();let hp;const CQ=()=>{if(Va(hp)){hp=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get(){hp=!0}}))}catch{}}return hp},yE=e=>e.split(" "),kQ=(e,t,n,r)=>{_n(yE(t),o=>{e.removeEventListener(o,n,r)})},Tr=(e,t,n,r)=>{var o;const s=CQ(),a=(o=s&&r&&r.S)!=null?o:s,c=r&&r.$||!1,d=r&&r.C||!1,p=[],h=s?{passive:a,capture:c}:c;return _n(yE(t),m=>{const v=d?b=>{e.removeEventListener(m,v,c),n&&n(b)}:n;An(p,kQ.bind(null,e,m,v,c)),e.addEventListener(m,v,h)}),ca.bind(0,p)},xE=e=>e.stopPropagation(),wE=e=>e.preventDefault(),_Q={x:0,y:0},rv=e=>{const t=e?Zs(e):0;return t?{x:t.left+window.pageYOffset,y:t.top+window.pageXOffset}:_Q},H4=(e,t)=>{_n(Ms(t)?t:[t],e)},My=e=>{const t=new Map,n=(s,a)=>{if(s){const c=t.get(s);H4(d=>{c&&c[d?"delete":"clear"](d)},a)}else t.forEach(c=>{c.clear()}),t.clear()},r=(s,a)=>{if(Ei(s)){const p=t.get(s)||new Set;return t.set(s,p),H4(h=>{Rs(h)&&p.add(h)},a),n.bind(0,s,a)}Cy(a)&&a&&n();const c=Ho(s),d=[];return _n(c,p=>{const h=s[p];h&&An(d,r(p,h))}),ca.bind(0,d)},o=(s,a)=>{const c=t.get(s);_n(ul(c),d=>{a&&!_y(a)?d.apply(0,a):d()})};return r(e||{}),[r,n,o]},W4=e=>JSON.stringify(e,(t,n)=>{if(Rs(n))throw new Error;return n}),PQ={paddingAbsolute:!1,showNativeOverlaidScrollbars:!1,update:{elementEvents:[["img","load"]],debounce:[0,33],attributes:null,ignoreMutation:null},overflow:{x:"scroll",y:"scroll"},scrollbars:{theme:"os-theme-dark",visibility:"auto",autoHide:"never",autoHideDelay:1300,dragScroll:!0,clickScroll:!1,pointers:["mouse","touch","pen"]}},SE=(e,t)=>{const n={},r=Ho(t).concat(Ho(e));return _n(r,o=>{const s=e[o],a=t[o];if(dd(s)&&dd(a))pr(n[o]={},SE(s,a)),Py(n[o])&&delete n[o];else if(Km(t,o)&&a!==s){let c=!0;if(Ms(s)||Ms(a))try{W4(s)===W4(a)&&(c=!1)}catch{}c&&(n[o]=a)}}),n},CE="os-environment",kE=`${CE}-flexbox-glue`,jQ=`${kE}-max`,_E="os-scrollbar-hidden",ov="data-overlayscrollbars-initialize",xs="data-overlayscrollbars",PE=`${xs}-overflow-x`,jE=`${xs}-overflow-y`,hc="overflowVisible",IQ="scrollbarHidden",V4="scrollbarPressed",Qh="updating",si="data-overlayscrollbars-viewport",sv="arrange",IE="scrollbarHidden",mc=hc,j1="data-overlayscrollbars-padding",EQ=mc,U4="data-overlayscrollbars-content",Dy="os-size-observer",OQ=`${Dy}-appear`,RQ=`${Dy}-listener`,MQ="os-trinsic-observer",DQ="os-no-css-vars",AQ="os-theme-none",Oo="os-scrollbar",TQ=`${Oo}-rtl`,NQ=`${Oo}-horizontal`,$Q=`${Oo}-vertical`,EE=`${Oo}-track`,Ay=`${Oo}-handle`,LQ=`${Oo}-visible`,zQ=`${Oo}-cornerless`,G4=`${Oo}-transitionless`,q4=`${Oo}-interaction`,K4=`${Oo}-unusable`,X4=`${Oo}-auto-hidden`,Y4=`${Oo}-wheel`,BQ=`${EE}-interactive`,FQ=`${Ay}-interactive`,OE={},dl=()=>OE,HQ=e=>{const t=[];return _n(Ms(e)?e:[e],n=>{const r=Ho(n);_n(r,o=>{An(t,OE[o]=n[o])})}),t},WQ="__osOptionsValidationPlugin",VQ="__osSizeObserverPlugin",Ty="__osScrollbarsHidingPlugin",UQ="__osClickScrollPlugin";let av;const Q4=(e,t,n,r)=>{ns(e,t);const o=Np(t),s=pd(t),a=Yh(n);return r&&sa(t),{x:s.h-o.h+a.h,y:s.w-o.w+a.w}},GQ=e=>{let t=!1;const n=Ia(e,_E);try{t=no(e,gQ("scrollbar-width"))==="none"||window.getComputedStyle(e,"::-webkit-scrollbar").getPropertyValue("display")==="none"}catch{}return n(),t},qQ=(e,t)=>{const n="hidden";no(e,{overflowX:n,overflowY:n,direction:"rtl"}),Ps(e,0);const r=rv(e),o=rv(t);Ps(e,-999);const s=rv(t);return{i:r.x===o.x,n:o.x!==s.x}},KQ=(e,t)=>{const n=Ia(e,kE),r=Zs(e),o=Zs(t),s=L4(o,r,!0),a=Ia(e,jQ),c=Zs(e),d=Zs(t),p=L4(d,c,!0);return n(),a(),s&&p},XQ=()=>{const{body:e}=document,n=pE(`
`)[0],r=n.firstChild,[o,,s]=My(),[a,c]=ys({o:Q4(e,n,r),u:bE},Q4.bind(0,e,n,r,!0)),[d]=c(),p=GQ(n),h={x:d.x===0,y:d.y===0},m={elements:{host:null,padding:!p,viewport:_=>p&&_===_.ownerDocument.body&&_,content:!1},scrollbars:{slot:!0},cancel:{nativeScrollbarsOverlaid:!1,body:null}},v=pr({},PQ),b=pr.bind(0,{},v),w=pr.bind(0,{},m),y={k:d,A:h,I:p,L:no(n,"zIndex")==="-1",B:qQ(n,r),V:KQ(n,r),Y:o.bind(0,"z"),j:o.bind(0,"r"),N:w,q:_=>pr(m,_)&&w(),F:b,G:_=>pr(v,_)&&b(),X:pr({},m),U:pr({},v)},S=window.addEventListener,k=Oy(_=>s(_?"z":"r"),{v:33,g:99});if(So(n,"style"),sa(n),S("resize",k.bind(0,!1)),!p&&(!h.x||!h.y)){let _;S("resize",()=>{const P=dl()[Ty];_=_||P&&P.R(),_&&_(y,a,k.bind(0,!0))})}return y},Ro=()=>(av||(av=XQ()),av),Ny=(e,t)=>Rs(t)?t.apply(0,e):t,YQ=(e,t,n,r)=>{const o=Va(r)?n:r;return Ny(e,o)||t.apply(0,e)},RE=(e,t,n,r)=>{const o=Va(r)?n:r,s=Ny(e,o);return!!s&&(Gh(s)?s:t.apply(0,e))},QQ=(e,t,n)=>{const{nativeScrollbarsOverlaid:r,body:o}=n||{},{A:s,I:a}=Ro(),{nativeScrollbarsOverlaid:c,body:d}=t,p=r??c,h=Va(o)?d:o,m=(s.x||s.y)&&p,v=e&&(Um(h)?!a:h);return!!m||!!v},$y=new WeakMap,JQ=(e,t)=>{$y.set(e,t)},ZQ=e=>{$y.delete(e)},ME=e=>$y.get(e),J4=(e,t)=>e?t.split(".").reduce((n,r)=>n&&Km(n,r)?n[r]:void 0,e):void 0,I1=(e,t,n)=>r=>[J4(e,r),n||J4(t,r)!==void 0],DE=e=>{let t=e;return[()=>t,n=>{t=pr({},t,n)}]},mp="tabindex",gp=el.bind(0,""),iv=e=>{ns($a(e),jy(e)),sa(e)},eJ=e=>{const t=Ro(),{N:n,I:r}=t,o=dl()[Ty],s=o&&o.T,{elements:a}=n(),{host:c,padding:d,viewport:p,content:h}=a,m=Gh(e),v=m?{}:e,{elements:b}=v,{host:w,padding:y,viewport:S,content:k}=b||{},_=m?e:v.target,P=qh(_,"textarea"),I=_.ownerDocument,E=I.documentElement,O=_===I.body,R=I.defaultView,M=YQ.bind(0,[_]),D=RE.bind(0,[_]),A=Ny.bind(0,[_]),L=M.bind(0,gp,p),Q=D.bind(0,gp,h),F=L(S),V=F===_,q=V&&O,G=!V&&Q(k),T=!V&&Gh(F)&&F===G,z=T&&!!A(h),$=z?L():F,Y=z?G:Q(),fe=q?E:T?$:F,ie=P?M(gp,c,w):_,X=q?fe:ie,K=T?Y:G,U=I.activeElement,se=!V&&R.top===R&&U===_,re={W:_,Z:X,J:fe,K:!V&&D(gp,d,y),tt:K,nt:!V&&!r&&s&&s(t),ot:q?E:fe,st:q?I:fe,et:R,ct:I,rt:P,it:O,lt:m,ut:V,dt:T,ft:(vt,bt)=>cQ(fe,V?xs:si,V?bt:vt),_t:(vt,bt,Se)=>Zi(fe,V?xs:si,V?bt:vt,Se)},oe=Ho(re).reduce((vt,bt)=>{const Se=re[bt];return An(vt,Se&&!$a(Se)?Se:!1)},[]),pe=vt=>vt?ky(oe,vt)>-1:null,{W:le,Z:ge,K:ke,J:xe,tt:de,nt:Te}=re,Ee=[()=>{So(ge,xs),So(ge,ov),So(le,ov),O&&(So(E,xs),So(E,ov))}],$e=P&&pe(ge);let kt=P?le:jy([de,xe,ke,ge,le].find(vt=>pe(vt)===!1));const ct=q?le:de||xe;return[re,()=>{to(ge,xs,V?"viewport":"host"),to(ke,j1,""),to(de,U4,""),V||to(xe,si,"");const vt=O&&!V?Ia($a(_),_E):ts;if($e&&(N4(le,ge),An(Ee,()=>{N4(ge,le),sa(ge)})),ns(ct,kt),ns(ge,ke),ns(ke||ge,!V&&xe),ns(xe,de),An(Ee,()=>{vt(),So(ke,j1),So(de,U4),So(xe,PE),So(xe,jE),So(xe,si),pe(de)&&iv(de),pe(xe)&&iv(xe),pe(ke)&&iv(ke)}),r&&!V&&(Zi(xe,si,IE,!0),An(Ee,So.bind(0,xe,si))),Te&&(fQ(xe,Te),An(Ee,sa.bind(0,Te))),se){const bt=to(xe,mp);to(xe,mp,"-1"),xe.focus();const Se=()=>bt?to(xe,mp,bt):So(xe,mp),Me=Tr(I,"pointerdown keydown",()=>{Se(),Me()});An(Ee,[Se,Me])}else U&&U.focus&&U.focus();kt=0},ca.bind(0,Ee)]},tJ=(e,t)=>{const{tt:n}=e,[r]=t;return o=>{const{V:s}=Ro(),{ht:a}=r(),{vt:c}=o,d=(n||!s)&&c;return d&&no(n,{height:a?"":"100%"}),{gt:d,wt:d}}},nJ=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:a,ut:c}=e,[d,p]=ys({u:yQ,o:B4()},B4.bind(0,o,"padding",""));return(h,m,v)=>{let[b,w]=p(v);const{I:y,V:S}=Ro(),{bt:k}=n(),{gt:_,wt:P,yt:I}=h,[E,O]=m("paddingAbsolute");(_||w||!S&&P)&&([b,w]=d(v));const M=!c&&(O||I||w);if(M){const D=!E||!s&&!y,A=b.r+b.l,L=b.t+b.b,Q={marginRight:D&&!k?-A:0,marginBottom:D?-L:0,marginLeft:D&&k?-A:0,top:D?-b.t:0,right:D?k?-b.r:"auto":0,left:D?k?"auto":-b.l:0,width:D?`calc(100% + ${A}px)`:""},F={paddingTop:D?b.t:0,paddingRight:D?b.r:0,paddingBottom:D?b.b:0,paddingLeft:D?b.l:0};no(s||a,Q),no(a,F),r({K:b,St:!D,P:s?F:pr({},Q,F)})}return{xt:M}}},{max:E1}=Math,ai=E1.bind(0,0),AE="visible",Z4="hidden",rJ=42,vp={u:vE,o:{w:0,h:0}},oJ={u:bE,o:{x:Z4,y:Z4}},sJ=(e,t)=>{const n=window.devicePixelRatio%1!==0?1:0,r={w:ai(e.w-t.w),h:ai(e.h-t.h)};return{w:r.w>n?r.w:0,h:r.h>n?r.h:0}},bp=e=>e.indexOf(AE)===0,aJ=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:a,nt:c,ut:d,_t:p,it:h,et:m}=e,{k:v,V:b,I:w,A:y}=Ro(),S=dl()[Ty],k=!d&&!w&&(y.x||y.y),_=h&&d,[P,I]=ys(vp,Yh.bind(0,a)),[E,O]=ys(vp,Xh.bind(0,a)),[R,M]=ys(vp),[D,A]=ys(vp),[L]=ys(oJ),Q=(z,$)=>{if(no(a,{height:""}),$){const{St:Y,K:ae}=n(),{$t:fe,D:ie}=z,X=Yh(o),K=Np(o),U=no(a,"boxSizing")==="content-box",se=Y||U?ae.b+ae.t:0,re=!(y.x&&U);no(a,{height:K.h+X.h+(fe.x&&re?ie.x:0)-se})}},F=(z,$)=>{const Y=!w&&!z?rJ:0,ae=(pe,le,ge)=>{const ke=no(a,pe),de=($?$[pe]:ke)==="scroll";return[ke,de,de&&!w?le?Y:ge:0,le&&!!Y]},[fe,ie,X,K]=ae("overflowX",y.x,v.x),[U,se,re,oe]=ae("overflowY",y.y,v.y);return{Ct:{x:fe,y:U},$t:{x:ie,y:se},D:{x:X,y:re},M:{x:K,y:oe}}},V=(z,$,Y,ae)=>{const fe=(se,re)=>{const oe=bp(se),pe=re&&oe&&se.replace(`${AE}-`,"")||"";return[re&&!oe?se:"",bp(pe)?"hidden":pe]},[ie,X]=fe(Y.x,$.x),[K,U]=fe(Y.y,$.y);return ae.overflowX=X&&K?X:ie,ae.overflowY=U&&ie?U:K,F(z,ae)},q=(z,$,Y,ae)=>{const{D:fe,M:ie}=z,{x:X,y:K}=ie,{x:U,y:se}=fe,{P:re}=n(),oe=$?"marginLeft":"marginRight",pe=$?"paddingLeft":"paddingRight",le=re[oe],ge=re.marginBottom,ke=re[pe],xe=re.paddingBottom;ae.width=`calc(100% + ${se+-1*le}px)`,ae[oe]=-se+le,ae.marginBottom=-U+ge,Y&&(ae[pe]=ke+(K?se:0),ae.paddingBottom=xe+(X?U:0))},[G,T]=S?S.H(k,b,a,c,n,F,q):[()=>k,()=>[ts]];return(z,$,Y)=>{const{gt:ae,Ot:fe,wt:ie,xt:X,vt:K,yt:U}=z,{ht:se,bt:re}=n(),[oe,pe]=$("showNativeOverlaidScrollbars"),[le,ge]=$("overflow"),ke=oe&&y.x&&y.y,xe=!d&&!b&&(ae||ie||fe||pe||K),de=bp(le.x),Te=bp(le.y),Ee=de||Te;let $e=I(Y),kt=O(Y),ct=M(Y),on=A(Y),vt;if(pe&&w&&p(IE,IQ,!ke),xe&&(vt=F(ke),Q(vt,se)),ae||X||ie||U||pe){Ee&&p(mc,hc,!1);const[Pe,Ye]=T(ke,re,vt),[Ke,dt]=$e=P(Y),[zt,lr]=kt=E(Y),pn=Np(a);let ln=zt,Hr=pn;Pe(),(lr||dt||pe)&&Ye&&!ke&&G(Ye,zt,Ke,re)&&(Hr=Np(a),ln=Xh(a));const xr={w:ai(E1(zt.w,ln.w)+Ke.w),h:ai(E1(zt.h,ln.h)+Ke.h)},Fn={w:ai((_?m.innerWidth:Hr.w+ai(pn.w-zt.w))+Ke.w),h:ai((_?m.innerHeight+Ke.h:Hr.h+ai(pn.h-zt.h))+Ke.h)};on=D(Fn),ct=R(sJ(xr,Fn),Y)}const[bt,Se]=on,[Me,Pt]=ct,[Tt,we]=kt,[ht,$t]=$e,Lt={x:Me.w>0,y:Me.h>0},Le=de&&Te&&(Lt.x||Lt.y)||de&&Lt.x&&!Lt.y||Te&&Lt.y&&!Lt.x;if(X||U||$t||we||Se||Pt||ge||pe||xe){const Pe={marginRight:0,marginBottom:0,marginLeft:0,width:"",overflowY:"",overflowX:""},Ye=V(ke,Lt,le,Pe),Ke=G(Ye,Tt,ht,re);d||q(Ye,re,Ke,Pe),xe&&Q(Ye,se),d?(to(o,PE,Pe.overflowX),to(o,jE,Pe.overflowY)):no(a,Pe)}Zi(o,xs,hc,Le),Zi(s,j1,EQ,Le),d||Zi(a,si,mc,Ee);const[Ge,Pn]=L(F(ke).Ct);return r({Ct:Ge,zt:{x:bt.w,y:bt.h},Tt:{x:Me.w,y:Me.h},Et:Lt}),{It:Pn,At:Se,Lt:Pt}}},ek=(e,t,n)=>{const r={},o=t||{},s=Ho(e).concat(Ho(o));return _n(s,a=>{const c=e[a],d=o[a];r[a]=!!(n||c||d)}),r},iJ=(e,t)=>{const{W:n,J:r,_t:o,ut:s}=e,{I:a,A:c,V:d}=Ro(),p=!a&&(c.x||c.y),h=[tJ(e,t),nJ(e,t),aJ(e,t)];return(m,v,b)=>{const w=ek(pr({gt:!1,xt:!1,yt:!1,vt:!1,At:!1,Lt:!1,It:!1,Ot:!1,wt:!1},v),{},b),y=p||!d,S=y&&Ps(r),k=y&&ja(r);o("",Qh,!0);let _=w;return _n(h,P=>{_=ek(_,P(_,m,!!b)||{},b)}),Ps(r,S),ja(r,k),o("",Qh),s||(Ps(n,0),ja(n,0)),_}},lJ=(e,t,n)=>{let r,o=!1;const s=()=>{o=!0},a=c=>{if(n){const d=n.reduce((p,h)=>{if(h){const[m,v]=h,b=v&&m&&(c?c(m):fE(m,e));b&&b.length&&v&&Ei(v)&&An(p,[b,v.trim()],!0)}return p},[]);_n(d,p=>_n(p[0],h=>{const m=p[1],v=r.get(h)||[];if(e.contains(h)){const w=Tr(h,m,y=>{o?(w(),r.delete(h)):t(y)});r.set(h,An(v,w))}else ca(v),r.delete(h)}))}};return n&&(r=new WeakMap,a()),[s,a]},tk=(e,t,n,r)=>{let o=!1;const{Ht:s,Pt:a,Dt:c,Mt:d,Rt:p,kt:h}=r||{},m=Oy(()=>{o&&n(!0)},{v:33,g:99}),[v,b]=lJ(e,m,c),w=s||[],y=a||[],S=w.concat(y),k=(P,I)=>{const E=p||ts,O=h||ts,R=new Set,M=new Set;let D=!1,A=!1;if(_n(P,L=>{const{attributeName:Q,target:F,type:V,oldValue:q,addedNodes:G,removedNodes:T}=L,z=V==="attributes",$=V==="childList",Y=e===F,ae=z&&Ei(Q)?to(F,Q):0,fe=ae!==0&&q!==ae,ie=ky(y,Q)>-1&&fe;if(t&&($||!Y)){const X=!z,K=z&&fe,U=K&&d&&qh(F,d),re=(U?!E(F,Q,q,ae):X||K)&&!O(L,!!U,e,r);_n(G,oe=>R.add(oe)),_n(T,oe=>R.add(oe)),A=A||re}!t&&Y&&fe&&!E(F,Q,q,ae)&&(M.add(Q),D=D||ie)}),R.size>0&&b(L=>ul(R).reduce((Q,F)=>(An(Q,fE(L,F)),qh(F,L)?An(Q,F):Q),[])),t)return!I&&A&&n(!1),[!1];if(M.size>0||D){const L=[ul(M),D];return!I&&n.apply(0,L),L}},_=new vQ(P=>k(P));return _.observe(e,{attributes:!0,attributeOldValue:!0,attributeFilter:S,subtree:t,childList:t,characterData:t}),o=!0,[()=>{o&&(v(),_.disconnect(),o=!1)},()=>{if(o){m.m();const P=_.takeRecords();return!_y(P)&&k(P,!0)}}]},yp=3333333,xp=e=>e&&(e.height||e.width),TE=(e,t,n)=>{const{Bt:r=!1,Vt:o=!1}=n||{},s=dl()[VQ],{B:a}=Ro(),d=pE(`
`)[0],p=d.firstChild,h=fd.bind(0,e),[m]=ys({o:void 0,_:!0,u:(y,S)=>!(!y||!xp(y)&&xp(S))}),v=y=>{const S=Ms(y)&&y.length>0&&dd(y[0]),k=!S&&Cy(y[0]);let _=!1,P=!1,I=!0;if(S){const[E,,O]=m(y.pop().contentRect),R=xp(E),M=xp(O);_=!O||!R,P=!M&&R,I=!_}else k?[,I]=y:P=y===!0;if(r&&I){const E=k?y[0]:fd(d);Ps(d,E?a.n?-yp:a.i?0:yp:yp),ja(d,yp)}_||t({gt:!k,Yt:k?y:void 0,Vt:!!P})},b=[];let w=o?v:!1;return[()=>{ca(b),sa(d)},()=>{if(Zl){const y=new Zl(v);y.observe(p),An(b,()=>{y.disconnect()})}else if(s){const[y,S]=s.O(p,v,o);w=y,An(b,S)}if(r){const[y]=ys({o:void 0},h);An(b,Tr(d,"scroll",S=>{const k=y(),[_,P,I]=k;P&&(Ey(p,"ltr rtl"),_?Ia(p,"rtl"):Ia(p,"ltr"),v([!!_,P,I])),xE(S)}))}w&&(Ia(d,OQ),An(b,Tr(d,"animationstart",w,{C:!!Zl}))),(Zl||s)&&ns(e,d)}]},cJ=e=>e.h===0||e.isIntersecting||e.intersectionRatio>0,uJ=(e,t)=>{let n;const r=el(MQ),o=[],[s]=ys({o:!1}),a=(d,p)=>{if(d){const h=s(cJ(d)),[,m]=h;if(m)return!p&&t(h),[h]}},c=(d,p)=>{if(d&&d.length>0)return a(d.pop(),p)};return[()=>{ca(o),sa(r)},()=>{if($4)n=new $4(d=>c(d),{root:e}),n.observe(r),An(o,()=>{n.disconnect()});else{const d=()=>{const m=pd(r);a(m)},[p,h]=TE(r,d);An(o,p),h(),d()}ns(e,r)},()=>{if(n)return c(n.takeRecords(),!0)}]},nk=`[${xs}]`,dJ=`[${si}]`,lv=["tabindex"],rk=["wrap","cols","rows"],cv=["id","class","style","open"],fJ=(e,t,n)=>{let r,o,s;const{Z:a,J:c,tt:d,rt:p,ut:h,ft:m,_t:v}=e,{V:b}=Ro(),[w]=ys({u:vE,o:{w:0,h:0}},()=>{const V=m(mc,hc),q=m(sv,""),G=q&&Ps(c),T=q&&ja(c);v(mc,hc),v(sv,""),v("",Qh,!0);const z=Xh(d),$=Xh(c),Y=Yh(c);return v(mc,hc,V),v(sv,"",q),v("",Qh),Ps(c,G),ja(c,T),{w:$.w+z.w+Y.w,h:$.h+z.h+Y.h}}),y=p?rk:cv.concat(rk),S=Oy(n,{v:()=>r,g:()=>o,p(V,q){const[G]=V,[T]=q;return[Ho(G).concat(Ho(T)).reduce((z,$)=>(z[$]=G[$]||T[$],z),{})]}}),k=V=>{_n(V||lv,q=>{if(ky(lv,q)>-1){const G=to(a,q);Ei(G)?to(c,q,G):So(c,q)}})},_=(V,q)=>{const[G,T]=V,z={vt:T};return t({ht:G}),!q&&n(z),z},P=({gt:V,Yt:q,Vt:G})=>{const T=!V||G?n:S;let z=!1;if(q){const[$,Y]=q;z=Y,t({bt:$})}T({gt:V,yt:z})},I=(V,q)=>{const[,G]=w(),T={wt:G};return G&&!q&&(V?n:S)(T),T},E=(V,q,G)=>{const T={Ot:q};return q?!G&&S(T):h||k(V),T},[O,R,M]=d||!b?uJ(a,_):[ts,ts,ts],[D,A]=h?[ts,ts]:TE(a,P,{Vt:!0,Bt:!0}),[L,Q]=tk(a,!1,E,{Pt:cv,Ht:cv.concat(lv)}),F=h&&Zl&&new Zl(P.bind(0,{gt:!0}));return F&&F.observe(a),k(),[()=>{O(),D(),s&&s[0](),F&&F.disconnect(),L()},()=>{A(),R()},()=>{const V={},q=Q(),G=M(),T=s&&s[1]();return q&&pr(V,E.apply(0,An(q,!0))),G&&pr(V,_.apply(0,An(G,!0))),T&&pr(V,I.apply(0,An(T,!0))),V},V=>{const[q]=V("update.ignoreMutation"),[G,T]=V("update.attributes"),[z,$]=V("update.elementEvents"),[Y,ae]=V("update.debounce"),fe=$||T,ie=X=>Rs(q)&&q(X);if(fe&&(s&&(s[1](),s[0]()),s=tk(d||c,!0,I,{Ht:y.concat(G||[]),Dt:z,Mt:nk,kt:(X,K)=>{const{target:U,attributeName:se}=X;return(!K&&se&&!h?dQ(U,nk,dJ):!1)||!!Jl(U,`.${Oo}`)||!!ie(X)}})),ae)if(S.m(),Ms(Y)){const X=Y[0],K=Y[1];r=mi(X)&&X,o=mi(K)&&K}else mi(Y)?(r=Y,o=!1):(r=!1,o=!1)}]},ok={x:0,y:0},pJ=e=>({K:{t:0,r:0,b:0,l:0},St:!1,P:{marginRight:0,marginBottom:0,marginLeft:0,paddingTop:0,paddingRight:0,paddingBottom:0,paddingLeft:0},zt:ok,Tt:ok,Ct:{x:"hidden",y:"hidden"},Et:{x:!1,y:!1},ht:!1,bt:fd(e.Z)}),hJ=(e,t)=>{const n=I1(t,{}),[r,o,s]=My(),[a,c,d]=eJ(e),p=DE(pJ(a)),[h,m]=p,v=iJ(a,p),b=(P,I,E)=>{const R=Ho(P).some(M=>P[M])||!Py(I)||E;return R&&s("u",[P,I,E]),R},[w,y,S,k]=fJ(a,m,P=>b(v(n,P),{},!1)),_=h.bind(0);return _.jt=P=>r("u",P),_.Nt=()=>{const{W:P,J:I}=a,E=Ps(P),O=ja(P);y(),c(),Ps(I,E),ja(I,O)},_.qt=a,[(P,I)=>{const E=I1(t,P,I);return k(E),b(v(E,S(),I),P,!!I)},_,()=>{o(),w(),d()}]},{round:sk}=Math,mJ=e=>{const{width:t,height:n}=Zs(e),{w:r,h:o}=pd(e);return{x:sk(t)/r||1,y:sk(n)/o||1}},gJ=(e,t,n)=>{const r=t.scrollbars,{button:o,isPrimary:s,pointerType:a}=e,{pointers:c}=r;return o===0&&s&&r[n?"dragScroll":"clickScroll"]&&(c||[]).includes(a)},vJ=(e,t)=>Tr(e,"mousedown",Tr.bind(0,t,"click",xE,{C:!0,$:!0}),{$:!0}),ak="pointerup pointerleave pointercancel lostpointercapture",bJ=(e,t,n,r,o,s,a)=>{const{B:c}=Ro(),{Ft:d,Gt:p,Xt:h}=r,m=`scroll${a?"Left":"Top"}`,v=`client${a?"X":"Y"}`,b=a?"width":"height",w=a?"left":"top",y=a?"w":"h",S=a?"x":"y",k=(_,P)=>I=>{const{Tt:E}=s(),O=pd(p)[y]-pd(d)[y],M=P*I/O*E[S],A=fd(h)&&a?c.n||c.i?1:-1:1;o[m]=_+M*A};return Tr(p,"pointerdown",_=>{const P=Jl(_.target,`.${Ay}`)===d,I=P?d:p;if(Zi(t,xs,V4,!0),gJ(_,e,P)){const E=!P&&_.shiftKey,O=()=>Zs(d),R=()=>Zs(p),M=($,Y)=>($||O())[w]-(Y||R())[w],D=k(o[m]||0,1/mJ(o)[S]),A=_[v],L=O(),Q=R(),F=L[b],V=M(L,Q)+F/2,q=A-Q[w],G=P?0:q-V,T=$=>{ca(z),I.releasePointerCapture($.pointerId)},z=[Zi.bind(0,t,xs,V4),Tr(n,ak,T),Tr(n,"selectstart",$=>wE($),{S:!1}),Tr(p,ak,T),Tr(p,"pointermove",$=>{const Y=$[v]-A;(P||E)&&D(G+Y)})];if(E)D(G);else if(!P){const $=dl()[UQ];$&&An(z,$.O(D,M,G,F,q))}I.setPointerCapture(_.pointerId)}})},yJ=(e,t)=>(n,r,o,s,a,c)=>{const{Xt:d}=n,[p,h]=Kl(333),m=!!a.scrollBy;let v=!0;return ca.bind(0,[Tr(d,"pointerenter",()=>{r(q4,!0)}),Tr(d,"pointerleave pointercancel",()=>{r(q4)}),Tr(d,"wheel",b=>{const{deltaX:w,deltaY:y,deltaMode:S}=b;m&&v&&S===0&&$a(d)===s&&a.scrollBy({left:w,top:y,behavior:"smooth"}),v=!1,r(Y4,!0),p(()=>{v=!0,r(Y4)}),wE(b)},{S:!1,$:!0}),vJ(d,o),bJ(e,s,o,n,a,t,c),h])},{min:O1,max:ik,abs:xJ,round:wJ}=Math,NE=(e,t,n,r)=>{if(r){const c=n?"x":"y",{Tt:d,zt:p}=r,h=p[c],m=d[c];return ik(0,O1(1,h/(h+m)))}const o=n?"width":"height",s=Zs(e)[o],a=Zs(t)[o];return ik(0,O1(1,s/a))},SJ=(e,t,n,r,o,s)=>{const{B:a}=Ro(),c=s?"x":"y",d=s?"Left":"Top",{Tt:p}=r,h=wJ(p[c]),m=xJ(n[`scroll${d}`]),v=s&&o,b=a.i?m:h-m,y=O1(1,(v?b:m)/h),S=NE(e,t,s);return 1/S*(1-S)*y},CJ=(e,t,n)=>{const{N:r,L:o}=Ro(),{scrollbars:s}=r(),{slot:a}=s,{ct:c,W:d,Z:p,J:h,lt:m,ot:v,it:b,ut:w}=t,{scrollbars:y}=m?{}:e,{slot:S}=y||{},k=RE([d,p,h],()=>w&&b?d:p,a,S),_=(G,T,z)=>{const $=z?Ia:Ey;_n(G,Y=>{$(Y.Xt,T)})},P=(G,T)=>{_n(G,z=>{const[$,Y]=T(z);no($,Y)})},I=(G,T,z)=>{P(G,$=>{const{Ft:Y,Gt:ae}=$;return[Y,{[z?"width":"height"]:`${(100*NE(Y,ae,z,T)).toFixed(3)}%`}]})},E=(G,T,z)=>{const $=z?"X":"Y";P(G,Y=>{const{Ft:ae,Gt:fe,Xt:ie}=Y,X=SJ(ae,fe,v,T,fd(ie),z);return[ae,{transform:X===X?`translate${$}(${(100*X).toFixed(3)}%)`:""}]})},O=[],R=[],M=[],D=(G,T,z)=>{const $=Cy(z),Y=$?z:!0,ae=$?!z:!0;Y&&_(R,G,T),ae&&_(M,G,T)},A=G=>{I(R,G,!0),I(M,G)},L=G=>{E(R,G,!0),E(M,G)},Q=G=>{const T=G?NQ:$Q,z=G?R:M,$=_y(z)?G4:"",Y=el(`${Oo} ${T} ${$}`),ae=el(EE),fe=el(Ay),ie={Xt:Y,Gt:ae,Ft:fe};return o||Ia(Y,DQ),ns(Y,ae),ns(ae,fe),An(z,ie),An(O,[sa.bind(0,Y),n(ie,D,c,p,v,G)]),ie},F=Q.bind(0,!0),V=Q.bind(0,!1),q=()=>{ns(k,R[0].Xt),ns(k,M[0].Xt),Kh(()=>{D(G4)},300)};return F(),V(),[{Ut:A,Wt:L,Zt:D,Jt:{Kt:R,Qt:F,tn:P.bind(0,R)},nn:{Kt:M,Qt:V,tn:P.bind(0,M)}},q,ca.bind(0,O)]},kJ=(e,t,n,r)=>{let o,s,a,c,d,p=0;const h=DE({}),[m]=h,[v,b]=Kl(),[w,y]=Kl(),[S,k]=Kl(100),[_,P]=Kl(100),[I,E]=Kl(()=>p),[O,R,M]=CJ(e,n.qt,yJ(t,n)),{Z:D,J:A,ot:L,st:Q,ut:F,it:V}=n.qt,{Jt:q,nn:G,Zt:T,Ut:z,Wt:$}=O,{tn:Y}=q,{tn:ae}=G,fe=se=>{const{Xt:re}=se,oe=F&&!V&&$a(re)===A&&re;return[oe,{transform:oe?`translate(${Ps(L)}px, ${ja(L)}px)`:""}]},ie=(se,re)=>{if(E(),se)T(X4);else{const oe=()=>T(X4,!0);p>0&&!re?I(oe):oe()}},X=()=>{c=s,c&&ie(!0)},K=[k,E,P,y,b,M,Tr(D,"pointerover",X,{C:!0}),Tr(D,"pointerenter",X),Tr(D,"pointerleave",()=>{c=!1,s&&ie(!1)}),Tr(D,"pointermove",()=>{o&&v(()=>{k(),ie(!0),_(()=>{o&&ie(!1)})})}),Tr(Q,"scroll",se=>{w(()=>{$(n()),a&&ie(!0),S(()=>{a&&!c&&ie(!1)})}),r(se),F&&Y(fe),F&&ae(fe)})],U=m.bind(0);return U.qt=O,U.Nt=R,[(se,re,oe)=>{const{At:pe,Lt:le,It:ge,yt:ke}=oe,{A:xe}=Ro(),de=I1(t,se,re),Te=n(),{Tt:Ee,Ct:$e,bt:kt}=Te,[ct,on]=de("showNativeOverlaidScrollbars"),[vt,bt]=de("scrollbars.theme"),[Se,Me]=de("scrollbars.visibility"),[Pt,Tt]=de("scrollbars.autoHide"),[we]=de("scrollbars.autoHideDelay"),[ht,$t]=de("scrollbars.dragScroll"),[Lt,Le]=de("scrollbars.clickScroll"),Ge=pe||le||ke,Pn=ge||Me,Pe=ct&&xe.x&&xe.y,Ye=(Ke,dt)=>{const zt=Se==="visible"||Se==="auto"&&Ke==="scroll";return T(LQ,zt,dt),zt};if(p=we,on&&T(AQ,Pe),bt&&(T(d),T(vt,!0),d=vt),Tt&&(o=Pt==="move",s=Pt==="leave",a=Pt!=="never",ie(!a,!0)),$t&&T(FQ,ht),Le&&T(BQ,Lt),Pn){const Ke=Ye($e.x,!0),dt=Ye($e.y,!1);T(zQ,!(Ke&&dt))}Ge&&(z(Te),$(Te),T(K4,!Ee.x,!0),T(K4,!Ee.y,!1),T(TQ,kt&&!V))},U,ca.bind(0,K)]},$E=(e,t,n)=>{Rs(e)&&e(t||void 0,n||void 0)},ui=(e,t,n)=>{const{F:r,N:o,Y:s,j:a}=Ro(),c=dl(),d=Gh(e),p=d?e:e.target,h=ME(p);if(t&&!h){let m=!1;const v=F=>{const V=dl()[WQ],q=V&&V.O;return q?q(F,!0):F},b=pr({},r(),v(t)),[w,y,S]=My(n),[k,_,P]=hJ(e,b),[I,E,O]=kJ(e,b,_,F=>S("scroll",[Q,F])),R=(F,V)=>k(F,!!V),M=R.bind(0,{},!0),D=s(M),A=a(M),L=F=>{ZQ(p),D(),A(),O(),P(),m=!0,S("destroyed",[Q,!!F]),y()},Q={options(F,V){if(F){const q=V?r():{},G=SE(b,pr(q,v(F)));Py(G)||(pr(b,G),R(G))}return pr({},b)},on:w,off:(F,V)=>{F&&V&&y(F,V)},state(){const{zt:F,Tt:V,Ct:q,Et:G,K:T,St:z,bt:$}=_();return pr({},{overflowEdge:F,overflowAmount:V,overflowStyle:q,hasOverflow:G,padding:T,paddingAbsolute:z,directionRTL:$,destroyed:m})},elements(){const{W:F,Z:V,K:q,J:G,tt:T,ot:z,st:$}=_.qt,{Jt:Y,nn:ae}=E.qt,fe=X=>{const{Ft:K,Gt:U,Xt:se}=X;return{scrollbar:se,track:U,handle:K}},ie=X=>{const{Kt:K,Qt:U}=X,se=fe(K[0]);return pr({},se,{clone:()=>{const re=fe(U());return I({},!0,{}),re}})};return pr({},{target:F,host:V,padding:q||G,viewport:G,content:T||G,scrollOffsetElement:z,scrollEventElement:$,scrollbarHorizontal:ie(Y),scrollbarVertical:ie(ae)})},update:F=>R({},F),destroy:L.bind(0)};return _.jt((F,V,q)=>{I(V,q,F)}),JQ(p,Q),_n(Ho(c),F=>$E(c[F],0,Q)),QQ(_.qt.it,o().cancel,!d&&e.cancel)?(L(!0),Q):(_.Nt(),E.Nt(),S("initialized",[Q]),_.jt((F,V,q)=>{const{gt:G,yt:T,vt:z,At:$,Lt:Y,It:ae,wt:fe,Ot:ie}=F;S("updated",[Q,{updateHints:{sizeChanged:G,directionChanged:T,heightIntrinsicChanged:z,overflowEdgeChanged:$,overflowAmountChanged:Y,overflowStyleChanged:ae,contentMutation:fe,hostMutation:ie},changedOptions:V,force:q}])}),Q.update(!0),Q)}return h};ui.plugin=e=>{_n(HQ(e),t=>$E(t,ui))};ui.valid=e=>{const t=e&&e.elements,n=Rs(t)&&t();return C1(n)&&!!ME(n.target)};ui.env=()=>{const{k:e,A:t,I:n,B:r,V:o,L:s,X:a,U:c,N:d,q:p,F:h,G:m}=Ro();return pr({},{scrollbarsSize:e,scrollbarsOverlaid:t,scrollbarsHiding:n,rtlScrollBehavior:r,flexboxGlue:o,cssCustomProperties:s,staticDefaultInitialization:a,staticDefaultOptions:c,getDefaultInitialization:d,setDefaultInitialization:p,getDefaultOptions:h,setDefaultOptions:m})};const _J=()=>{if(typeof window>"u"){const p=()=>{};return[p,p]}let e,t;const n=window,r=typeof n.requestIdleCallback=="function",o=n.requestAnimationFrame,s=n.cancelAnimationFrame,a=r?n.requestIdleCallback:o,c=r?n.cancelIdleCallback:s,d=()=>{c(e),s(t)};return[(p,h)=>{d(),e=a(r?()=>{d(),t=o(p)}:p,typeof h=="object"?h:{timeout:2233})},d]},LE=e=>{const{options:t,events:n,defer:r}=e||{},[o,s]=f.useMemo(_J,[]),a=f.useRef(null),c=f.useRef(r),d=f.useRef(t),p=f.useRef(n);return f.useEffect(()=>{c.current=r},[r]),f.useEffect(()=>{const{current:h}=a;d.current=t,ui.valid(h)&&h.options(t||{},!0)},[t]),f.useEffect(()=>{const{current:h}=a;p.current=n,ui.valid(h)&&h.on(n||{},!0)},[n]),f.useEffect(()=>()=>{var h;s(),(h=a.current)==null||h.destroy()},[]),f.useMemo(()=>[h=>{const m=a.current;if(ui.valid(m))return;const v=c.current,b=d.current||{},w=p.current||{},y=()=>a.current=ui(h,b,w);v?o(y,v):y()},()=>a.current],[])},PJ=(e,t)=>{const{element:n="div",options:r,events:o,defer:s,children:a,...c}=e,d=n,p=f.useRef(null),h=f.useRef(null),[m,v]=LE({options:r,events:o,defer:s});return f.useEffect(()=>{const{current:b}=p,{current:w}=h;return b&&w&&m({target:b,elements:{viewport:w,content:w}}),()=>{var y;return(y=v())==null?void 0:y.destroy()}},[m,n]),f.useImperativeHandle(t,()=>({osInstance:v,getElement:()=>p.current}),[]),H.createElement(d,{"data-overlayscrollbars-initialize":"",ref:p,...c},H.createElement("div",{ref:h},a))},zE=f.forwardRef(PJ);var BE={exports:{}},FE={};const Lo=J1(ZR),wu=J1(e7),jJ=J1(t7);(function(e){var t,n,r=Al&&Al.__generator||function(J,ee){var he,_e,me,ut,ot={label:0,sent:function(){if(1&me[0])throw me[1];return me[1]},trys:[],ops:[]};return ut={next:Ht(0),throw:Ht(1),return:Ht(2)},typeof Symbol=="function"&&(ut[Symbol.iterator]=function(){return this}),ut;function Ht(ft){return function(xt){return function(He){if(he)throw new TypeError("Generator is already executing.");for(;ot;)try{if(he=1,_e&&(me=2&He[0]?_e.return:He[0]?_e.throw||((me=_e.return)&&me.call(_e),0):_e.next)&&!(me=me.call(_e,He[1])).done)return me;switch(_e=0,me&&(He=[2&He[0],me.value]),He[0]){case 0:case 1:me=He;break;case 4:return ot.label++,{value:He[1],done:!1};case 5:ot.label++,_e=He[1],He=[0];continue;case 7:He=ot.ops.pop(),ot.trys.pop();continue;default:if(!((me=(me=ot.trys).length>0&&me[me.length-1])||He[0]!==6&&He[0]!==2)){ot=0;continue}if(He[0]===3&&(!me||He[1]>me[0]&&He[1]=200&&J.status<=299},Q=function(J){return/ion\/(vnd\.api\+)?json/.test(J.get("content-type")||"")};function F(J){if(!(0,D.isPlainObject)(J))return J;for(var ee=S({},J),he=0,_e=Object.entries(ee);he<_e.length;he++){var me=_e[he];me[1]===void 0&&delete ee[me[0]]}return ee}function V(J){var ee=this;J===void 0&&(J={});var he=J.baseUrl,_e=J.prepareHeaders,me=_e===void 0?function(en){return en}:_e,ut=J.fetchFn,ot=ut===void 0?A:ut,Ht=J.paramsSerializer,ft=J.isJsonContentType,xt=ft===void 0?Q:ft,He=J.jsonContentType,Ce=He===void 0?"application/json":He,Xe=J.jsonReplacer,jt=J.timeout,Et=J.responseHandler,Nt=J.validateStatus,qt=P(J,["baseUrl","prepareHeaders","fetchFn","paramsSerializer","isJsonContentType","jsonContentType","jsonReplacer","timeout","responseHandler","validateStatus"]);return typeof fetch>"u"&&ot===A&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(en,Ut){return E(ee,null,function(){var Be,yt,Mt,Wt,jn,Gt,un,sn,Or,Jn,It,In,Rn,Zn,mr,Tn,Nn,dn,Sn,En,bn,yn,qe,Ot,St,st,wt,Bt,mt,rt,Oe,Ie,De,We,Ze,Dt;return r(this,function(Rt){switch(Rt.label){case 0:return Be=Ut.signal,yt=Ut.getState,Mt=Ut.extra,Wt=Ut.endpoint,jn=Ut.forced,Gt=Ut.type,Or=(sn=typeof en=="string"?{url:en}:en).url,It=(Jn=sn.headers)===void 0?new Headers(qt.headers):Jn,Rn=(In=sn.params)===void 0?void 0:In,mr=(Zn=sn.responseHandler)===void 0?Et??"json":Zn,Nn=(Tn=sn.validateStatus)===void 0?Nt??L:Tn,Sn=(dn=sn.timeout)===void 0?jt:dn,En=P(sn,["url","headers","params","responseHandler","validateStatus","timeout"]),bn=S(k(S({},qt),{signal:Be}),En),It=new Headers(F(It)),yn=bn,[4,me(It,{getState:yt,extra:Mt,endpoint:Wt,forced:jn,type:Gt})];case 1:yn.headers=Rt.sent()||It,qe=function(Ve){return typeof Ve=="object"&&((0,D.isPlainObject)(Ve)||Array.isArray(Ve)||typeof Ve.toJSON=="function")},!bn.headers.has("content-type")&&qe(bn.body)&&bn.headers.set("content-type",Ce),qe(bn.body)&&xt(bn.headers)&&(bn.body=JSON.stringify(bn.body,Xe)),Rn&&(Ot=~Or.indexOf("?")?"&":"?",St=Ht?Ht(Rn):new URLSearchParams(F(Rn)),Or+=Ot+St),Or=function(Ve,nn){if(!Ve)return nn;if(!nn)return Ve;if(function(hn){return new RegExp("(^|:)//").test(hn)}(nn))return nn;var xn=Ve.endsWith("/")||!nn.startsWith("?")?"/":"";return Ve=function(hn){return hn.replace(/\/$/,"")}(Ve),""+Ve+xn+function(hn){return hn.replace(/^\//,"")}(nn)}(he,Or),st=new Request(Or,bn),wt=st.clone(),un={request:wt},mt=!1,rt=Sn&&setTimeout(function(){mt=!0,Ut.abort()},Sn),Rt.label=2;case 2:return Rt.trys.push([2,4,5,6]),[4,ot(st)];case 3:return Bt=Rt.sent(),[3,6];case 4:return Oe=Rt.sent(),[2,{error:{status:mt?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(Oe)},meta:un}];case 5:return rt&&clearTimeout(rt),[7];case 6:Ie=Bt.clone(),un.response=Ie,We="",Rt.label=7;case 7:return Rt.trys.push([7,9,,10]),[4,Promise.all([tn(Bt,mr).then(function(Ve){return De=Ve},function(Ve){return Ze=Ve}),Ie.text().then(function(Ve){return We=Ve},function(){})])];case 8:if(Rt.sent(),Ze)throw Ze;return[3,10];case 9:return Dt=Rt.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:Bt.status,data:We,error:String(Dt)},meta:un}];case 10:return[2,Nn(Bt,De)?{data:De,meta:un}:{error:{status:Bt.status,data:De},meta:un}]}})})};function tn(en,Ut){return E(this,null,function(){var Be;return r(this,function(yt){switch(yt.label){case 0:return typeof Ut=="function"?[2,Ut(en)]:(Ut==="content-type"&&(Ut=xt(en.headers)?"json":"text"),Ut!=="json"?[3,2]:[4,en.text()]);case 1:return[2,(Be=yt.sent()).length?JSON.parse(Be):null];case 2:return[2,en.text()]}})})}}var q=function(J,ee){ee===void 0&&(ee=void 0),this.value=J,this.meta=ee};function G(J,ee){return J===void 0&&(J=0),ee===void 0&&(ee=5),E(this,null,function(){var he,_e;return r(this,function(me){switch(me.label){case 0:return he=Math.min(J,ee),_e=~~((Math.random()+.4)*(300<=Ie)}var En=(0,$e.createAsyncThunk)(Rn+"/executeQuery",dn,{getPendingMeta:function(){var qe;return(qe={startedTimeStamp:Date.now()})[$e.SHOULD_AUTOBATCH]=!0,qe},condition:function(qe,Ot){var St,st,wt,Bt=(0,Ot.getState)(),mt=(st=(St=Bt[Rn])==null?void 0:St.queries)==null?void 0:st[qe.queryCacheKey],rt=mt==null?void 0:mt.fulfilledTimeStamp,Oe=qe.originalArgs,Ie=mt==null?void 0:mt.originalArgs,De=mr[qe.endpointName];return!(!de(qe)&&((mt==null?void 0:mt.status)==="pending"||!Sn(qe,Bt)&&(!oe(De)||!((wt=De==null?void 0:De.forceRefetch)!=null&&wt.call(De,{currentArg:Oe,previousArg:Ie,endpointState:mt,state:Bt})))&&rt))},dispatchConditionRejection:!0}),bn=(0,$e.createAsyncThunk)(Rn+"/executeMutation",dn,{getPendingMeta:function(){var qe;return(qe={startedTimeStamp:Date.now()})[$e.SHOULD_AUTOBATCH]=!0,qe}});function yn(qe){return function(Ot){var St,st;return((st=(St=Ot==null?void 0:Ot.meta)==null?void 0:St.arg)==null?void 0:st.endpointName)===qe}}return{queryThunk:En,mutationThunk:bn,prefetch:function(qe,Ot,St){return function(st,wt){var Bt=function(De){return"force"in De}(St)&&St.force,mt=function(De){return"ifOlderThan"in De}(St)&&St.ifOlderThan,rt=function(De){return De===void 0&&(De=!0),Nn.endpoints[qe].initiate(Ot,{forceRefetch:De})},Oe=Nn.endpoints[qe].select(Ot)(wt());if(Bt)st(rt());else if(mt){var Ie=Oe==null?void 0:Oe.fulfilledTimeStamp;if(!Ie)return void st(rt());(Number(new Date)-Number(new Date(Ie)))/1e3>=mt&&st(rt())}else st(rt(!1))}},updateQueryData:function(qe,Ot,St){return function(st,wt){var Bt,mt,rt=Nn.endpoints[qe].select(Ot)(wt()),Oe={patches:[],inversePatches:[],undo:function(){return st(Nn.util.patchQueryData(qe,Ot,Oe.inversePatches))}};if(rt.status===t.uninitialized)return Oe;if("data"in rt)if((0,Ee.isDraftable)(rt.data)){var Ie=(0,Ee.produceWithPatches)(rt.data,St),De=Ie[2];(Bt=Oe.patches).push.apply(Bt,Ie[1]),(mt=Oe.inversePatches).push.apply(mt,De)}else{var We=St(rt.data);Oe.patches.push({op:"replace",path:[],value:We}),Oe.inversePatches.push({op:"replace",path:[],value:rt.data})}return st(Nn.util.patchQueryData(qe,Ot,Oe.patches)),Oe}},upsertQueryData:function(qe,Ot,St){return function(st){var wt;return st(Nn.endpoints[qe].initiate(Ot,((wt={subscribe:!1,forceRefetch:!0})[xe]=function(){return{data:St}},wt)))}},patchQueryData:function(qe,Ot,St){return function(st){st(Nn.internalActions.queryResultPatched({queryCacheKey:Tn({queryArgs:Ot,endpointDefinition:mr[qe],endpointName:qe}),patches:St}))}},buildMatchThunkActions:function(qe,Ot){return{matchPending:(0,Te.isAllOf)((0,Te.isPending)(qe),yn(Ot)),matchFulfilled:(0,Te.isAllOf)((0,Te.isFulfilled)(qe),yn(Ot)),matchRejected:(0,Te.isAllOf)((0,Te.isRejected)(qe),yn(Ot))}}}}({baseQuery:_e,reducerPath:me,context:he,api:J,serializeQueryArgs:ut}),Xe=Ce.queryThunk,jt=Ce.mutationThunk,Et=Ce.patchQueryData,Nt=Ce.updateQueryData,qt=Ce.upsertQueryData,tn=Ce.prefetch,en=Ce.buildMatchThunkActions,Ut=function(It){var In=It.reducerPath,Rn=It.queryThunk,Zn=It.mutationThunk,mr=It.context,Tn=mr.endpointDefinitions,Nn=mr.apiUid,dn=mr.extractRehydrationInfo,Sn=mr.hasRehydrationInfo,En=It.assertTagType,bn=It.config,yn=(0,ge.createAction)(In+"/resetApiState"),qe=(0,ge.createSlice)({name:In+"/queries",initialState:Pt,reducers:{removeQueryResult:{reducer:function(rt,Oe){delete rt[Oe.payload.queryCacheKey]},prepare:(0,ge.prepareAutoBatched)()},queryResultPatched:function(rt,Oe){var Ie=Oe.payload,De=Ie.patches;bt(rt,Ie.queryCacheKey,function(We){We.data=(0,vt.applyPatches)(We.data,De.concat())})}},extraReducers:function(rt){rt.addCase(Rn.pending,function(Oe,Ie){var De,We=Ie.meta,Ze=Ie.meta.arg,Dt=de(Ze);(Ze.subscribe||Dt)&&(Oe[De=Ze.queryCacheKey]!=null||(Oe[De]={status:t.uninitialized,endpointName:Ze.endpointName})),bt(Oe,Ze.queryCacheKey,function(Rt){Rt.status=t.pending,Rt.requestId=Dt&&Rt.requestId?Rt.requestId:We.requestId,Ze.originalArgs!==void 0&&(Rt.originalArgs=Ze.originalArgs),Rt.startedTimeStamp=We.startedTimeStamp})}).addCase(Rn.fulfilled,function(Oe,Ie){var De=Ie.meta,We=Ie.payload;bt(Oe,De.arg.queryCacheKey,function(Ze){var Dt;if(Ze.requestId===De.requestId||de(De.arg)){var Rt=Tn[De.arg.endpointName].merge;if(Ze.status=t.fulfilled,Rt)if(Ze.data!==void 0){var Ve=De.fulfilledTimeStamp,nn=De.arg,xn=De.baseQueryMeta,hn=De.requestId,gr=(0,ge.createNextState)(Ze.data,function(Xn){return Rt(Xn,We,{arg:nn.originalArgs,baseQueryMeta:xn,fulfilledTimeStamp:Ve,requestId:hn})});Ze.data=gr}else Ze.data=We;else Ze.data=(Dt=Tn[De.arg.endpointName].structuralSharing)==null||Dt?M((0,on.isDraft)(Ze.data)?(0,vt.original)(Ze.data):Ze.data,We):We;delete Ze.error,Ze.fulfilledTimeStamp=De.fulfilledTimeStamp}})}).addCase(Rn.rejected,function(Oe,Ie){var De=Ie.meta,We=De.condition,Ze=De.requestId,Dt=Ie.error,Rt=Ie.payload;bt(Oe,De.arg.queryCacheKey,function(Ve){if(!We){if(Ve.requestId!==Ze)return;Ve.status=t.rejected,Ve.error=Rt??Dt}})}).addMatcher(Sn,function(Oe,Ie){for(var De=dn(Ie).queries,We=0,Ze=Object.entries(De);We"u"||navigator.onLine===void 0||navigator.onLine,focused:typeof document>"u"||document.visibilityState!=="hidden",middlewareRegistered:!1},bn),reducers:{middlewareRegistered:function(rt,Oe){rt.middlewareRegistered=rt.middlewareRegistered!=="conflict"&&Nn===Oe.payload||"conflict"}},extraReducers:function(rt){rt.addCase(fe,function(Oe){Oe.online=!0}).addCase(ie,function(Oe){Oe.online=!1}).addCase(Y,function(Oe){Oe.focused=!0}).addCase(ae,function(Oe){Oe.focused=!1}).addMatcher(Sn,function(Oe){return S({},Oe)})}}),mt=(0,ge.combineReducers)({queries:qe.reducer,mutations:Ot.reducer,provided:St.reducer,subscriptions:wt.reducer,config:Bt.reducer});return{reducer:function(rt,Oe){return mt(yn.match(Oe)?void 0:rt,Oe)},actions:k(S(S(S(S(S({},Bt.actions),qe.actions),st.actions),wt.actions),Ot.actions),{unsubscribeMutationResult:Ot.actions.removeMutationResult,resetApiState:yn})}}({context:he,queryThunk:Xe,mutationThunk:jt,reducerPath:me,assertTagType:He,config:{refetchOnFocus:ft,refetchOnReconnect:xt,refetchOnMountOrArgChange:Ht,keepUnusedDataFor:ot,reducerPath:me}}),Be=Ut.reducer,yt=Ut.actions;$r(J.util,{patchQueryData:Et,updateQueryData:Nt,upsertQueryData:qt,prefetch:tn,resetApiState:yt.resetApiState}),$r(J.internalActions,yt);var Mt=function(It){var In=It.reducerPath,Rn=It.queryThunk,Zn=It.api,mr=It.context,Tn=mr.apiUid,Nn={invalidateTags:(0,lr.createAction)(In+"/invalidateTags")},dn=[Wr,pn,Hr,xr,Wn,Do];return{middleware:function(En){var bn=!1,yn=k(S({},It),{internalState:{currentSubscriptions:{}},refetchQuery:Sn}),qe=dn.map(function(st){return st(yn)}),Ot=function(st){var wt=st.api,Bt=st.queryThunk,mt=st.internalState,rt=wt.reducerPath+"/subscriptions",Oe=null,Ie=!1,De=wt.internalActions,We=De.updateSubscriptionOptions,Ze=De.unsubscribeQueryResult;return function(Dt,Rt){var Ve,nn;if(Oe||(Oe=JSON.parse(JSON.stringify(mt.currentSubscriptions))),wt.util.resetApiState.match(Dt))return Oe=mt.currentSubscriptions={},[!0,!1];if(wt.internalActions.internal_probeSubscription.match(Dt)){var xn=Dt.payload;return[!1,!!((Ve=mt.currentSubscriptions[xn.queryCacheKey])!=null&&Ve[xn.requestId])]}var hn=function(gn,Vn){var ao,fn,$n,Ur,Rr,Ua,Jd,Ao,fa;if(We.match(Vn)){var zs=Vn.payload,pa=zs.queryCacheKey,io=zs.requestId;return(ao=gn==null?void 0:gn[pa])!=null&&ao[io]&&(gn[pa][io]=zs.options),!0}if(Ze.match(Vn)){var lo=Vn.payload;return io=lo.requestId,gn[pa=lo.queryCacheKey]&&delete gn[pa][io],!0}if(wt.internalActions.removeQueryResult.match(Vn))return delete gn[Vn.payload.queryCacheKey],!0;if(Bt.pending.match(Vn)){var co=Vn.meta;if(io=co.requestId,(Yr=co.arg).subscribe)return(Wo=($n=gn[fn=Yr.queryCacheKey])!=null?$n:gn[fn]={})[io]=(Rr=(Ur=Yr.subscriptionOptions)!=null?Ur:Wo[io])!=null?Rr:{},!0}if(Bt.rejected.match(Vn)){var Wo,To=Vn.meta,Yr=To.arg;if(io=To.requestId,To.condition&&Yr.subscribe)return(Wo=(Jd=gn[Ua=Yr.queryCacheKey])!=null?Jd:gn[Ua]={})[io]=(fa=(Ao=Yr.subscriptionOptions)!=null?Ao:Wo[io])!=null?fa:{},!0}return!1}(mt.currentSubscriptions,Dt);if(hn){Ie||(ds(function(){var gn=JSON.parse(JSON.stringify(mt.currentSubscriptions)),Vn=(0,Vr.produceWithPatches)(Oe,function(){return gn});Rt.next(wt.internalActions.subscriptionsUpdated(Vn[1])),Oe=gn,Ie=!1}),Ie=!0);var gr=!!((nn=Dt.type)!=null&&nn.startsWith(rt)),Xn=Bt.rejected.match(Dt)&&Dt.meta.condition&&!!Dt.meta.arg.subscribe;return[!gr&&!Xn,!1]}return[!0,!1]}}(yn),St=function(st){var wt=st.reducerPath,Bt=st.context,mt=st.refetchQuery,rt=st.internalState,Oe=st.api.internalActions.removeQueryResult;function Ie(De,We){var Ze=De.getState()[wt],Dt=Ze.queries,Rt=rt.currentSubscriptions;Bt.batch(function(){for(var Ve=0,nn=Object.keys(Rt);Vet(e[n],n,e));return e}function no(e,t){const n=Ei(t);if(Ms(t)||n){let o=n?"":{};if(e){const s=window.getComputedStyle(e,null);o=n?z4(e,s,t):t.reduce((a,c)=>(a[c]=z4(e,s,c),a),o)}return o}e&&_n(Ho(t),o=>SQ(e,o,t[o]))}const ys=(e,t)=>{const{o:n,u:r,_:o}=e;let s=n,a;const c=(h,m)=>{const v=s,b=h,w=m||(r?!r(v,b):v!==b);return(w||o)&&(s=b,a=v),[s,w,a]};return[t?h=>c(t(s,a),h):c,h=>[s,!!h,a]]},Ud=()=>typeof window<"u",uE=Ud()&&Node.ELEMENT_NODE,{toString:iQ,hasOwnProperty:tv}=Object.prototype,Ua=e=>e===void 0,Gm=e=>e===null,lQ=e=>Ua(e)||Gm(e)?`${e}`:iQ.call(e).replace(/^\[object (.+)\]$/,"$1").toLowerCase(),gi=e=>typeof e=="number",Ei=e=>typeof e=="string",ky=e=>typeof e=="boolean",Rs=e=>typeof e=="function",Ms=e=>Array.isArray(e),fd=e=>typeof e=="object"&&!Ms(e)&&!Gm(e),qm=e=>{const t=!!e&&e.length,n=gi(t)&&t>-1&&t%1==0;return Ms(e)||!Rs(e)&&n?t>0&&fd(e)?t-1 in e:!0:!1},k1=e=>{if(!e||!fd(e)||lQ(e)!=="object")return!1;let t;const n="constructor",r=e[n],o=r&&r.prototype,s=tv.call(e,n),a=o&&tv.call(o,"isPrototypeOf");if(r&&!s&&!a)return!1;for(t in e);return Ua(t)||tv.call(e,t)},qh=e=>{const t=HTMLElement;return e?t?e instanceof t:e.nodeType===uE:!1},Km=e=>{const t=Element;return e?t?e instanceof t:e.nodeType===uE:!1},_y=(e,t,n)=>e.indexOf(t,n),An=(e,t,n)=>(!n&&!Ei(t)&&qm(t)?Array.prototype.push.apply(e,t):e.push(t),e),ul=e=>{const t=Array.from,n=[];return t&&e?t(e):(e instanceof Set?e.forEach(r=>{An(n,r)}):_n(e,r=>{An(n,r)}),n)},Py=e=>!!e&&e.length===0,ca=(e,t,n)=>{_n(e,o=>o&&o.apply(void 0,t||[])),!n&&(e.length=0)},Xm=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Ho=e=>e?Object.keys(e):[],hr=(e,t,n,r,o,s,a)=>{const c=[t,n,r,o,s,a];return(typeof e!="object"||Gm(e))&&!Rs(e)&&(e={}),_n(c,d=>{_n(Ho(d),p=>{const h=d[p];if(e===h)return!0;const m=Ms(h);if(h&&(k1(h)||m)){const v=e[p];let b=v;m&&!Ms(v)?b=[]:!m&&!k1(v)&&(b={}),e[p]=hr(b,h)}else e[p]=h})}),e},jy=e=>{for(const t in e)return!1;return!0},dE=(e,t,n,r)=>{if(Ua(r))return n?n[e]:t;n&&(Ei(r)||gi(r))&&(n[e]=r)},to=(e,t,n)=>{if(Ua(n))return e?e.getAttribute(t):null;e&&e.setAttribute(t,n)},So=(e,t)=>{e&&e.removeAttribute(t)},Zi=(e,t,n,r)=>{if(n){const o=to(e,t)||"",s=new Set(o.split(" "));s[r?"add":"delete"](n);const a=ul(s).join(" ").trim();to(e,t,a)}},cQ=(e,t,n)=>{const r=to(e,t)||"";return new Set(r.split(" ")).has(n)},Ps=(e,t)=>dE("scrollLeft",0,e,t),ja=(e,t)=>dE("scrollTop",0,e,t),_1=Ud()&&Element.prototype,fE=(e,t)=>{const n=[],r=t?Km(t)?t:null:document;return r?An(n,r.querySelectorAll(e)):n},uQ=(e,t)=>{const n=t?Km(t)?t:null:document;return n?n.querySelector(e):null},Kh=(e,t)=>Km(e)?(_1.matches||_1.msMatchesSelector).call(e,t):!1,Iy=e=>e?ul(e.childNodes):[],$a=e=>e?e.parentElement:null,Jl=(e,t)=>{if(Km(e)){const n=_1.closest;if(n)return n.call(e,t);do{if(Kh(e,t))return e;e=$a(e)}while(e)}return null},dQ=(e,t,n)=>{const r=e&&Jl(e,t),o=e&&uQ(n,r),s=Jl(o,t)===r;return r&&o?r===e||o===e||s&&Jl(Jl(e,n),t)!==r:!1},Ey=(e,t,n)=>{if(n&&e){let r=t,o;qm(n)?(o=document.createDocumentFragment(),_n(n,s=>{s===r&&(r=s.previousSibling),o.appendChild(s)})):o=n,t&&(r?r!==t&&(r=r.nextSibling):r=e.firstChild),e.insertBefore(o,r||null)}},ns=(e,t)=>{Ey(e,null,t)},fQ=(e,t)=>{Ey($a(e),e,t)},N4=(e,t)=>{Ey($a(e),e&&e.nextSibling,t)},sa=e=>{if(qm(e))_n(ul(e),t=>sa(t));else if(e){const t=$a(e);t&&t.removeChild(e)}},el=e=>{const t=document.createElement("div");return e&&to(t,"class",e),t},pE=e=>{const t=el();return t.innerHTML=e.trim(),_n(Iy(t),n=>sa(n))},P1=e=>e.charAt(0).toUpperCase()+e.slice(1),pQ=()=>el().style,hQ=["-webkit-","-moz-","-o-","-ms-"],mQ=["WebKit","Moz","O","MS","webkit","moz","o","ms"],nv={},rv={},gQ=e=>{let t=rv[e];if(Xm(rv,e))return t;const n=P1(e),r=pQ();return _n(hQ,o=>{const s=o.replace(/-/g,"");return!(t=[e,o+e,s+n,P1(s)+n].find(c=>r[c]!==void 0))}),rv[e]=t||""},Gd=e=>{if(Ud()){let t=nv[e]||window[e];return Xm(nv,e)||(_n(mQ,n=>(t=t||window[n+P1(e)],!t)),nv[e]=t),t}},vQ=Gd("MutationObserver"),$4=Gd("IntersectionObserver"),Zl=Gd("ResizeObserver"),hE=Gd("cancelAnimationFrame"),mE=Gd("requestAnimationFrame"),Xh=Ud()&&window.setTimeout,j1=Ud()&&window.clearTimeout,bQ=/[^\x20\t\r\n\f]+/g,gE=(e,t,n)=>{const r=e&&e.classList;let o,s=0,a=!1;if(r&&t&&Ei(t)){const c=t.match(bQ)||[];for(a=c.length>0;o=c[s++];)a=!!n(r,o)&&a}return a},Oy=(e,t)=>{gE(e,t,(n,r)=>n.remove(r))},Ia=(e,t)=>(gE(e,t,(n,r)=>n.add(r)),Oy.bind(0,e,t)),Ym=(e,t,n,r)=>{if(e&&t){let o=!0;return _n(n,s=>{const a=r?r(e[s]):e[s],c=r?r(t[s]):t[s];a!==c&&(o=!1)}),o}return!1},vE=(e,t)=>Ym(e,t,["w","h"]),bE=(e,t)=>Ym(e,t,["x","y"]),yQ=(e,t)=>Ym(e,t,["t","r","b","l"]),L4=(e,t,n)=>Ym(e,t,["width","height"],n&&(r=>Math.round(r))),ts=()=>{},Kl=e=>{let t;const n=e?Xh:mE,r=e?j1:hE;return[o=>{r(t),t=n(o,Rs(e)?e():e)},()=>r(t)]},Ry=(e,t)=>{let n,r,o,s=ts;const{v:a,g:c,p:d}=t||{},p=function(w){s(),j1(n),n=r=void 0,s=ts,e.apply(this,w)},h=b=>d&&r?d(r,b):b,m=()=>{s!==ts&&p(h(o)||o)},v=function(){const w=ul(arguments),y=Rs(a)?a():a;if(gi(y)&&y>=0){const k=Rs(c)?c():c,_=gi(k)&&k>=0,P=y>0?Xh:mE,I=y>0?j1:hE,O=h(w)||w,R=p.bind(0,O);s();const M=P(R,y);s=()=>I(M),_&&!n&&(n=Xh(m,k)),r=o=O}else p(w)};return v.m=m,v},xQ={opacity:1,zindex:1},hp=(e,t)=>{const n=t?parseFloat(e):parseInt(e,10);return n===n?n:0},wQ=(e,t)=>!xQ[e.toLowerCase()]&&gi(t)?`${t}px`:t,z4=(e,t,n)=>t!=null?t[n]||t.getPropertyValue(n):e.style[n],SQ=(e,t,n)=>{try{const{style:r}=e;Ua(r[t])?r.setProperty(t,n):r[t]=wQ(t,n)}catch{}},pd=e=>no(e,"direction")==="rtl",B4=(e,t,n)=>{const r=t?`${t}-`:"",o=n?`-${n}`:"",s=`${r}top${o}`,a=`${r}right${o}`,c=`${r}bottom${o}`,d=`${r}left${o}`,p=no(e,[s,a,c,d]);return{t:hp(p[s],!0),r:hp(p[a],!0),b:hp(p[c],!0),l:hp(p[d],!0)}},{round:F4}=Math,My={w:0,h:0},hd=e=>e?{w:e.offsetWidth,h:e.offsetHeight}:My,$p=e=>e?{w:e.clientWidth,h:e.clientHeight}:My,Yh=e=>e?{w:e.scrollWidth,h:e.scrollHeight}:My,Qh=e=>{const t=parseFloat(no(e,"height"))||0,n=parseFloat(no(e,"width"))||0;return{w:n-F4(n),h:t-F4(t)}},Zs=e=>e.getBoundingClientRect();let mp;const CQ=()=>{if(Ua(mp)){mp=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get(){mp=!0}}))}catch{}}return mp},yE=e=>e.split(" "),kQ=(e,t,n,r)=>{_n(yE(t),o=>{e.removeEventListener(o,n,r)})},Tr=(e,t,n,r)=>{var o;const s=CQ(),a=(o=s&&r&&r.S)!=null?o:s,c=r&&r.$||!1,d=r&&r.C||!1,p=[],h=s?{passive:a,capture:c}:c;return _n(yE(t),m=>{const v=d?b=>{e.removeEventListener(m,v,c),n&&n(b)}:n;An(p,kQ.bind(null,e,m,v,c)),e.addEventListener(m,v,h)}),ca.bind(0,p)},xE=e=>e.stopPropagation(),wE=e=>e.preventDefault(),_Q={x:0,y:0},ov=e=>{const t=e?Zs(e):0;return t?{x:t.left+window.pageYOffset,y:t.top+window.pageXOffset}:_Q},H4=(e,t)=>{_n(Ms(t)?t:[t],e)},Dy=e=>{const t=new Map,n=(s,a)=>{if(s){const c=t.get(s);H4(d=>{c&&c[d?"delete":"clear"](d)},a)}else t.forEach(c=>{c.clear()}),t.clear()},r=(s,a)=>{if(Ei(s)){const p=t.get(s)||new Set;return t.set(s,p),H4(h=>{Rs(h)&&p.add(h)},a),n.bind(0,s,a)}ky(a)&&a&&n();const c=Ho(s),d=[];return _n(c,p=>{const h=s[p];h&&An(d,r(p,h))}),ca.bind(0,d)},o=(s,a)=>{const c=t.get(s);_n(ul(c),d=>{a&&!Py(a)?d.apply(0,a):d()})};return r(e||{}),[r,n,o]},W4=e=>JSON.stringify(e,(t,n)=>{if(Rs(n))throw new Error;return n}),PQ={paddingAbsolute:!1,showNativeOverlaidScrollbars:!1,update:{elementEvents:[["img","load"]],debounce:[0,33],attributes:null,ignoreMutation:null},overflow:{x:"scroll",y:"scroll"},scrollbars:{theme:"os-theme-dark",visibility:"auto",autoHide:"never",autoHideDelay:1300,dragScroll:!0,clickScroll:!1,pointers:["mouse","touch","pen"]}},SE=(e,t)=>{const n={},r=Ho(t).concat(Ho(e));return _n(r,o=>{const s=e[o],a=t[o];if(fd(s)&&fd(a))hr(n[o]={},SE(s,a)),jy(n[o])&&delete n[o];else if(Xm(t,o)&&a!==s){let c=!0;if(Ms(s)||Ms(a))try{W4(s)===W4(a)&&(c=!1)}catch{}c&&(n[o]=a)}}),n},CE="os-environment",kE=`${CE}-flexbox-glue`,jQ=`${kE}-max`,_E="os-scrollbar-hidden",sv="data-overlayscrollbars-initialize",xs="data-overlayscrollbars",PE=`${xs}-overflow-x`,jE=`${xs}-overflow-y`,hc="overflowVisible",IQ="scrollbarHidden",V4="scrollbarPressed",Jh="updating",ai="data-overlayscrollbars-viewport",av="arrange",IE="scrollbarHidden",mc=hc,I1="data-overlayscrollbars-padding",EQ=mc,U4="data-overlayscrollbars-content",Ay="os-size-observer",OQ=`${Ay}-appear`,RQ=`${Ay}-listener`,MQ="os-trinsic-observer",DQ="os-no-css-vars",AQ="os-theme-none",Oo="os-scrollbar",TQ=`${Oo}-rtl`,NQ=`${Oo}-horizontal`,$Q=`${Oo}-vertical`,EE=`${Oo}-track`,Ty=`${Oo}-handle`,LQ=`${Oo}-visible`,zQ=`${Oo}-cornerless`,G4=`${Oo}-transitionless`,q4=`${Oo}-interaction`,K4=`${Oo}-unusable`,X4=`${Oo}-auto-hidden`,Y4=`${Oo}-wheel`,BQ=`${EE}-interactive`,FQ=`${Ty}-interactive`,OE={},dl=()=>OE,HQ=e=>{const t=[];return _n(Ms(e)?e:[e],n=>{const r=Ho(n);_n(r,o=>{An(t,OE[o]=n[o])})}),t},WQ="__osOptionsValidationPlugin",VQ="__osSizeObserverPlugin",Ny="__osScrollbarsHidingPlugin",UQ="__osClickScrollPlugin";let iv;const Q4=(e,t,n,r)=>{ns(e,t);const o=$p(t),s=hd(t),a=Qh(n);return r&&sa(t),{x:s.h-o.h+a.h,y:s.w-o.w+a.w}},GQ=e=>{let t=!1;const n=Ia(e,_E);try{t=no(e,gQ("scrollbar-width"))==="none"||window.getComputedStyle(e,"::-webkit-scrollbar").getPropertyValue("display")==="none"}catch{}return n(),t},qQ=(e,t)=>{const n="hidden";no(e,{overflowX:n,overflowY:n,direction:"rtl"}),Ps(e,0);const r=ov(e),o=ov(t);Ps(e,-999);const s=ov(t);return{i:r.x===o.x,n:o.x!==s.x}},KQ=(e,t)=>{const n=Ia(e,kE),r=Zs(e),o=Zs(t),s=L4(o,r,!0),a=Ia(e,jQ),c=Zs(e),d=Zs(t),p=L4(d,c,!0);return n(),a(),s&&p},XQ=()=>{const{body:e}=document,n=pE(`
`)[0],r=n.firstChild,[o,,s]=Dy(),[a,c]=ys({o:Q4(e,n,r),u:bE},Q4.bind(0,e,n,r,!0)),[d]=c(),p=GQ(n),h={x:d.x===0,y:d.y===0},m={elements:{host:null,padding:!p,viewport:_=>p&&_===_.ownerDocument.body&&_,content:!1},scrollbars:{slot:!0},cancel:{nativeScrollbarsOverlaid:!1,body:null}},v=hr({},PQ),b=hr.bind(0,{},v),w=hr.bind(0,{},m),y={k:d,A:h,I:p,L:no(n,"zIndex")==="-1",B:qQ(n,r),V:KQ(n,r),Y:o.bind(0,"z"),j:o.bind(0,"r"),N:w,q:_=>hr(m,_)&&w(),F:b,G:_=>hr(v,_)&&b(),X:hr({},m),U:hr({},v)},S=window.addEventListener,k=Ry(_=>s(_?"z":"r"),{v:33,g:99});if(So(n,"style"),sa(n),S("resize",k.bind(0,!1)),!p&&(!h.x||!h.y)){let _;S("resize",()=>{const P=dl()[Ny];_=_||P&&P.R(),_&&_(y,a,k.bind(0,!0))})}return y},Ro=()=>(iv||(iv=XQ()),iv),$y=(e,t)=>Rs(t)?t.apply(0,e):t,YQ=(e,t,n,r)=>{const o=Ua(r)?n:r;return $y(e,o)||t.apply(0,e)},RE=(e,t,n,r)=>{const o=Ua(r)?n:r,s=$y(e,o);return!!s&&(qh(s)?s:t.apply(0,e))},QQ=(e,t,n)=>{const{nativeScrollbarsOverlaid:r,body:o}=n||{},{A:s,I:a}=Ro(),{nativeScrollbarsOverlaid:c,body:d}=t,p=r??c,h=Ua(o)?d:o,m=(s.x||s.y)&&p,v=e&&(Gm(h)?!a:h);return!!m||!!v},Ly=new WeakMap,JQ=(e,t)=>{Ly.set(e,t)},ZQ=e=>{Ly.delete(e)},ME=e=>Ly.get(e),J4=(e,t)=>e?t.split(".").reduce((n,r)=>n&&Xm(n,r)?n[r]:void 0,e):void 0,E1=(e,t,n)=>r=>[J4(e,r),n||J4(t,r)!==void 0],DE=e=>{let t=e;return[()=>t,n=>{t=hr({},t,n)}]},gp="tabindex",vp=el.bind(0,""),lv=e=>{ns($a(e),Iy(e)),sa(e)},eJ=e=>{const t=Ro(),{N:n,I:r}=t,o=dl()[Ny],s=o&&o.T,{elements:a}=n(),{host:c,padding:d,viewport:p,content:h}=a,m=qh(e),v=m?{}:e,{elements:b}=v,{host:w,padding:y,viewport:S,content:k}=b||{},_=m?e:v.target,P=Kh(_,"textarea"),I=_.ownerDocument,E=I.documentElement,O=_===I.body,R=I.defaultView,M=YQ.bind(0,[_]),D=RE.bind(0,[_]),A=$y.bind(0,[_]),L=M.bind(0,vp,p),Q=D.bind(0,vp,h),F=L(S),V=F===_,q=V&&O,G=!V&&Q(k),T=!V&&qh(F)&&F===G,z=T&&!!A(h),$=z?L():F,Y=z?G:Q(),fe=q?E:T?$:F,ie=P?M(vp,c,w):_,X=q?fe:ie,K=T?Y:G,U=I.activeElement,se=!V&&R.top===R&&U===_,re={W:_,Z:X,J:fe,K:!V&&D(vp,d,y),tt:K,nt:!V&&!r&&s&&s(t),ot:q?E:fe,st:q?I:fe,et:R,ct:I,rt:P,it:O,lt:m,ut:V,dt:T,ft:(vt,bt)=>cQ(fe,V?xs:ai,V?bt:vt),_t:(vt,bt,Se)=>Zi(fe,V?xs:ai,V?bt:vt,Se)},oe=Ho(re).reduce((vt,bt)=>{const Se=re[bt];return An(vt,Se&&!$a(Se)?Se:!1)},[]),pe=vt=>vt?_y(oe,vt)>-1:null,{W:le,Z:ge,K:ke,J:xe,tt:de,nt:Te}=re,Ee=[()=>{So(ge,xs),So(ge,sv),So(le,sv),O&&(So(E,xs),So(E,sv))}],$e=P&&pe(ge);let kt=P?le:Iy([de,xe,ke,ge,le].find(vt=>pe(vt)===!1));const ct=q?le:de||xe;return[re,()=>{to(ge,xs,V?"viewport":"host"),to(ke,I1,""),to(de,U4,""),V||to(xe,ai,"");const vt=O&&!V?Ia($a(_),_E):ts;if($e&&(N4(le,ge),An(Ee,()=>{N4(ge,le),sa(ge)})),ns(ct,kt),ns(ge,ke),ns(ke||ge,!V&&xe),ns(xe,de),An(Ee,()=>{vt(),So(ke,I1),So(de,U4),So(xe,PE),So(xe,jE),So(xe,ai),pe(de)&&lv(de),pe(xe)&&lv(xe),pe(ke)&&lv(ke)}),r&&!V&&(Zi(xe,ai,IE,!0),An(Ee,So.bind(0,xe,ai))),Te&&(fQ(xe,Te),An(Ee,sa.bind(0,Te))),se){const bt=to(xe,gp);to(xe,gp,"-1"),xe.focus();const Se=()=>bt?to(xe,gp,bt):So(xe,gp),Me=Tr(I,"pointerdown keydown",()=>{Se(),Me()});An(Ee,[Se,Me])}else U&&U.focus&&U.focus();kt=0},ca.bind(0,Ee)]},tJ=(e,t)=>{const{tt:n}=e,[r]=t;return o=>{const{V:s}=Ro(),{ht:a}=r(),{vt:c}=o,d=(n||!s)&&c;return d&&no(n,{height:a?"":"100%"}),{gt:d,wt:d}}},nJ=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:a,ut:c}=e,[d,p]=ys({u:yQ,o:B4()},B4.bind(0,o,"padding",""));return(h,m,v)=>{let[b,w]=p(v);const{I:y,V:S}=Ro(),{bt:k}=n(),{gt:_,wt:P,yt:I}=h,[E,O]=m("paddingAbsolute");(_||w||!S&&P)&&([b,w]=d(v));const M=!c&&(O||I||w);if(M){const D=!E||!s&&!y,A=b.r+b.l,L=b.t+b.b,Q={marginRight:D&&!k?-A:0,marginBottom:D?-L:0,marginLeft:D&&k?-A:0,top:D?-b.t:0,right:D?k?-b.r:"auto":0,left:D?k?"auto":-b.l:0,width:D?`calc(100% + ${A}px)`:""},F={paddingTop:D?b.t:0,paddingRight:D?b.r:0,paddingBottom:D?b.b:0,paddingLeft:D?b.l:0};no(s||a,Q),no(a,F),r({K:b,St:!D,P:s?F:hr({},Q,F)})}return{xt:M}}},{max:O1}=Math,ii=O1.bind(0,0),AE="visible",Z4="hidden",rJ=42,bp={u:vE,o:{w:0,h:0}},oJ={u:bE,o:{x:Z4,y:Z4}},sJ=(e,t)=>{const n=window.devicePixelRatio%1!==0?1:0,r={w:ii(e.w-t.w),h:ii(e.h-t.h)};return{w:r.w>n?r.w:0,h:r.h>n?r.h:0}},yp=e=>e.indexOf(AE)===0,aJ=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:a,nt:c,ut:d,_t:p,it:h,et:m}=e,{k:v,V:b,I:w,A:y}=Ro(),S=dl()[Ny],k=!d&&!w&&(y.x||y.y),_=h&&d,[P,I]=ys(bp,Qh.bind(0,a)),[E,O]=ys(bp,Yh.bind(0,a)),[R,M]=ys(bp),[D,A]=ys(bp),[L]=ys(oJ),Q=(z,$)=>{if(no(a,{height:""}),$){const{St:Y,K:ae}=n(),{$t:fe,D:ie}=z,X=Qh(o),K=$p(o),U=no(a,"boxSizing")==="content-box",se=Y||U?ae.b+ae.t:0,re=!(y.x&&U);no(a,{height:K.h+X.h+(fe.x&&re?ie.x:0)-se})}},F=(z,$)=>{const Y=!w&&!z?rJ:0,ae=(pe,le,ge)=>{const ke=no(a,pe),de=($?$[pe]:ke)==="scroll";return[ke,de,de&&!w?le?Y:ge:0,le&&!!Y]},[fe,ie,X,K]=ae("overflowX",y.x,v.x),[U,se,re,oe]=ae("overflowY",y.y,v.y);return{Ct:{x:fe,y:U},$t:{x:ie,y:se},D:{x:X,y:re},M:{x:K,y:oe}}},V=(z,$,Y,ae)=>{const fe=(se,re)=>{const oe=yp(se),pe=re&&oe&&se.replace(`${AE}-`,"")||"";return[re&&!oe?se:"",yp(pe)?"hidden":pe]},[ie,X]=fe(Y.x,$.x),[K,U]=fe(Y.y,$.y);return ae.overflowX=X&&K?X:ie,ae.overflowY=U&&ie?U:K,F(z,ae)},q=(z,$,Y,ae)=>{const{D:fe,M:ie}=z,{x:X,y:K}=ie,{x:U,y:se}=fe,{P:re}=n(),oe=$?"marginLeft":"marginRight",pe=$?"paddingLeft":"paddingRight",le=re[oe],ge=re.marginBottom,ke=re[pe],xe=re.paddingBottom;ae.width=`calc(100% + ${se+-1*le}px)`,ae[oe]=-se+le,ae.marginBottom=-U+ge,Y&&(ae[pe]=ke+(K?se:0),ae.paddingBottom=xe+(X?U:0))},[G,T]=S?S.H(k,b,a,c,n,F,q):[()=>k,()=>[ts]];return(z,$,Y)=>{const{gt:ae,Ot:fe,wt:ie,xt:X,vt:K,yt:U}=z,{ht:se,bt:re}=n(),[oe,pe]=$("showNativeOverlaidScrollbars"),[le,ge]=$("overflow"),ke=oe&&y.x&&y.y,xe=!d&&!b&&(ae||ie||fe||pe||K),de=yp(le.x),Te=yp(le.y),Ee=de||Te;let $e=I(Y),kt=O(Y),ct=M(Y),on=A(Y),vt;if(pe&&w&&p(IE,IQ,!ke),xe&&(vt=F(ke),Q(vt,se)),ae||X||ie||U||pe){Ee&&p(mc,hc,!1);const[Pe,Ye]=T(ke,re,vt),[Ke,dt]=$e=P(Y),[zt,cr]=kt=E(Y),pn=$p(a);let ln=zt,Hr=pn;Pe(),(cr||dt||pe)&&Ye&&!ke&&G(Ye,zt,Ke,re)&&(Hr=$p(a),ln=Yh(a));const xr={w:ii(O1(zt.w,ln.w)+Ke.w),h:ii(O1(zt.h,ln.h)+Ke.h)},Fn={w:ii((_?m.innerWidth:Hr.w+ii(pn.w-zt.w))+Ke.w),h:ii((_?m.innerHeight+Ke.h:Hr.h+ii(pn.h-zt.h))+Ke.h)};on=D(Fn),ct=R(sJ(xr,Fn),Y)}const[bt,Se]=on,[Me,Pt]=ct,[Tt,we]=kt,[ht,$t]=$e,Lt={x:Me.w>0,y:Me.h>0},Le=de&&Te&&(Lt.x||Lt.y)||de&&Lt.x&&!Lt.y||Te&&Lt.y&&!Lt.x;if(X||U||$t||we||Se||Pt||ge||pe||xe){const Pe={marginRight:0,marginBottom:0,marginLeft:0,width:"",overflowY:"",overflowX:""},Ye=V(ke,Lt,le,Pe),Ke=G(Ye,Tt,ht,re);d||q(Ye,re,Ke,Pe),xe&&Q(Ye,se),d?(to(o,PE,Pe.overflowX),to(o,jE,Pe.overflowY)):no(a,Pe)}Zi(o,xs,hc,Le),Zi(s,I1,EQ,Le),d||Zi(a,ai,mc,Ee);const[Ge,Pn]=L(F(ke).Ct);return r({Ct:Ge,zt:{x:bt.w,y:bt.h},Tt:{x:Me.w,y:Me.h},Et:Lt}),{It:Pn,At:Se,Lt:Pt}}},ek=(e,t,n)=>{const r={},o=t||{},s=Ho(e).concat(Ho(o));return _n(s,a=>{const c=e[a],d=o[a];r[a]=!!(n||c||d)}),r},iJ=(e,t)=>{const{W:n,J:r,_t:o,ut:s}=e,{I:a,A:c,V:d}=Ro(),p=!a&&(c.x||c.y),h=[tJ(e,t),nJ(e,t),aJ(e,t)];return(m,v,b)=>{const w=ek(hr({gt:!1,xt:!1,yt:!1,vt:!1,At:!1,Lt:!1,It:!1,Ot:!1,wt:!1},v),{},b),y=p||!d,S=y&&Ps(r),k=y&&ja(r);o("",Jh,!0);let _=w;return _n(h,P=>{_=ek(_,P(_,m,!!b)||{},b)}),Ps(r,S),ja(r,k),o("",Jh),s||(Ps(n,0),ja(n,0)),_}},lJ=(e,t,n)=>{let r,o=!1;const s=()=>{o=!0},a=c=>{if(n){const d=n.reduce((p,h)=>{if(h){const[m,v]=h,b=v&&m&&(c?c(m):fE(m,e));b&&b.length&&v&&Ei(v)&&An(p,[b,v.trim()],!0)}return p},[]);_n(d,p=>_n(p[0],h=>{const m=p[1],v=r.get(h)||[];if(e.contains(h)){const w=Tr(h,m,y=>{o?(w(),r.delete(h)):t(y)});r.set(h,An(v,w))}else ca(v),r.delete(h)}))}};return n&&(r=new WeakMap,a()),[s,a]},tk=(e,t,n,r)=>{let o=!1;const{Ht:s,Pt:a,Dt:c,Mt:d,Rt:p,kt:h}=r||{},m=Ry(()=>{o&&n(!0)},{v:33,g:99}),[v,b]=lJ(e,m,c),w=s||[],y=a||[],S=w.concat(y),k=(P,I)=>{const E=p||ts,O=h||ts,R=new Set,M=new Set;let D=!1,A=!1;if(_n(P,L=>{const{attributeName:Q,target:F,type:V,oldValue:q,addedNodes:G,removedNodes:T}=L,z=V==="attributes",$=V==="childList",Y=e===F,ae=z&&Ei(Q)?to(F,Q):0,fe=ae!==0&&q!==ae,ie=_y(y,Q)>-1&&fe;if(t&&($||!Y)){const X=!z,K=z&&fe,U=K&&d&&Kh(F,d),re=(U?!E(F,Q,q,ae):X||K)&&!O(L,!!U,e,r);_n(G,oe=>R.add(oe)),_n(T,oe=>R.add(oe)),A=A||re}!t&&Y&&fe&&!E(F,Q,q,ae)&&(M.add(Q),D=D||ie)}),R.size>0&&b(L=>ul(R).reduce((Q,F)=>(An(Q,fE(L,F)),Kh(F,L)?An(Q,F):Q),[])),t)return!I&&A&&n(!1),[!1];if(M.size>0||D){const L=[ul(M),D];return!I&&n.apply(0,L),L}},_=new vQ(P=>k(P));return _.observe(e,{attributes:!0,attributeOldValue:!0,attributeFilter:S,subtree:t,childList:t,characterData:t}),o=!0,[()=>{o&&(v(),_.disconnect(),o=!1)},()=>{if(o){m.m();const P=_.takeRecords();return!Py(P)&&k(P,!0)}}]},xp=3333333,wp=e=>e&&(e.height||e.width),TE=(e,t,n)=>{const{Bt:r=!1,Vt:o=!1}=n||{},s=dl()[VQ],{B:a}=Ro(),d=pE(`
`)[0],p=d.firstChild,h=pd.bind(0,e),[m]=ys({o:void 0,_:!0,u:(y,S)=>!(!y||!wp(y)&&wp(S))}),v=y=>{const S=Ms(y)&&y.length>0&&fd(y[0]),k=!S&&ky(y[0]);let _=!1,P=!1,I=!0;if(S){const[E,,O]=m(y.pop().contentRect),R=wp(E),M=wp(O);_=!O||!R,P=!M&&R,I=!_}else k?[,I]=y:P=y===!0;if(r&&I){const E=k?y[0]:pd(d);Ps(d,E?a.n?-xp:a.i?0:xp:xp),ja(d,xp)}_||t({gt:!k,Yt:k?y:void 0,Vt:!!P})},b=[];let w=o?v:!1;return[()=>{ca(b),sa(d)},()=>{if(Zl){const y=new Zl(v);y.observe(p),An(b,()=>{y.disconnect()})}else if(s){const[y,S]=s.O(p,v,o);w=y,An(b,S)}if(r){const[y]=ys({o:void 0},h);An(b,Tr(d,"scroll",S=>{const k=y(),[_,P,I]=k;P&&(Oy(p,"ltr rtl"),_?Ia(p,"rtl"):Ia(p,"ltr"),v([!!_,P,I])),xE(S)}))}w&&(Ia(d,OQ),An(b,Tr(d,"animationstart",w,{C:!!Zl}))),(Zl||s)&&ns(e,d)}]},cJ=e=>e.h===0||e.isIntersecting||e.intersectionRatio>0,uJ=(e,t)=>{let n;const r=el(MQ),o=[],[s]=ys({o:!1}),a=(d,p)=>{if(d){const h=s(cJ(d)),[,m]=h;if(m)return!p&&t(h),[h]}},c=(d,p)=>{if(d&&d.length>0)return a(d.pop(),p)};return[()=>{ca(o),sa(r)},()=>{if($4)n=new $4(d=>c(d),{root:e}),n.observe(r),An(o,()=>{n.disconnect()});else{const d=()=>{const m=hd(r);a(m)},[p,h]=TE(r,d);An(o,p),h(),d()}ns(e,r)},()=>{if(n)return c(n.takeRecords(),!0)}]},nk=`[${xs}]`,dJ=`[${ai}]`,cv=["tabindex"],rk=["wrap","cols","rows"],uv=["id","class","style","open"],fJ=(e,t,n)=>{let r,o,s;const{Z:a,J:c,tt:d,rt:p,ut:h,ft:m,_t:v}=e,{V:b}=Ro(),[w]=ys({u:vE,o:{w:0,h:0}},()=>{const V=m(mc,hc),q=m(av,""),G=q&&Ps(c),T=q&&ja(c);v(mc,hc),v(av,""),v("",Jh,!0);const z=Yh(d),$=Yh(c),Y=Qh(c);return v(mc,hc,V),v(av,"",q),v("",Jh),Ps(c,G),ja(c,T),{w:$.w+z.w+Y.w,h:$.h+z.h+Y.h}}),y=p?rk:uv.concat(rk),S=Ry(n,{v:()=>r,g:()=>o,p(V,q){const[G]=V,[T]=q;return[Ho(G).concat(Ho(T)).reduce((z,$)=>(z[$]=G[$]||T[$],z),{})]}}),k=V=>{_n(V||cv,q=>{if(_y(cv,q)>-1){const G=to(a,q);Ei(G)?to(c,q,G):So(c,q)}})},_=(V,q)=>{const[G,T]=V,z={vt:T};return t({ht:G}),!q&&n(z),z},P=({gt:V,Yt:q,Vt:G})=>{const T=!V||G?n:S;let z=!1;if(q){const[$,Y]=q;z=Y,t({bt:$})}T({gt:V,yt:z})},I=(V,q)=>{const[,G]=w(),T={wt:G};return G&&!q&&(V?n:S)(T),T},E=(V,q,G)=>{const T={Ot:q};return q?!G&&S(T):h||k(V),T},[O,R,M]=d||!b?uJ(a,_):[ts,ts,ts],[D,A]=h?[ts,ts]:TE(a,P,{Vt:!0,Bt:!0}),[L,Q]=tk(a,!1,E,{Pt:uv,Ht:uv.concat(cv)}),F=h&&Zl&&new Zl(P.bind(0,{gt:!0}));return F&&F.observe(a),k(),[()=>{O(),D(),s&&s[0](),F&&F.disconnect(),L()},()=>{A(),R()},()=>{const V={},q=Q(),G=M(),T=s&&s[1]();return q&&hr(V,E.apply(0,An(q,!0))),G&&hr(V,_.apply(0,An(G,!0))),T&&hr(V,I.apply(0,An(T,!0))),V},V=>{const[q]=V("update.ignoreMutation"),[G,T]=V("update.attributes"),[z,$]=V("update.elementEvents"),[Y,ae]=V("update.debounce"),fe=$||T,ie=X=>Rs(q)&&q(X);if(fe&&(s&&(s[1](),s[0]()),s=tk(d||c,!0,I,{Ht:y.concat(G||[]),Dt:z,Mt:nk,kt:(X,K)=>{const{target:U,attributeName:se}=X;return(!K&&se&&!h?dQ(U,nk,dJ):!1)||!!Jl(U,`.${Oo}`)||!!ie(X)}})),ae)if(S.m(),Ms(Y)){const X=Y[0],K=Y[1];r=gi(X)&&X,o=gi(K)&&K}else gi(Y)?(r=Y,o=!1):(r=!1,o=!1)}]},ok={x:0,y:0},pJ=e=>({K:{t:0,r:0,b:0,l:0},St:!1,P:{marginRight:0,marginBottom:0,marginLeft:0,paddingTop:0,paddingRight:0,paddingBottom:0,paddingLeft:0},zt:ok,Tt:ok,Ct:{x:"hidden",y:"hidden"},Et:{x:!1,y:!1},ht:!1,bt:pd(e.Z)}),hJ=(e,t)=>{const n=E1(t,{}),[r,o,s]=Dy(),[a,c,d]=eJ(e),p=DE(pJ(a)),[h,m]=p,v=iJ(a,p),b=(P,I,E)=>{const R=Ho(P).some(M=>P[M])||!jy(I)||E;return R&&s("u",[P,I,E]),R},[w,y,S,k]=fJ(a,m,P=>b(v(n,P),{},!1)),_=h.bind(0);return _.jt=P=>r("u",P),_.Nt=()=>{const{W:P,J:I}=a,E=Ps(P),O=ja(P);y(),c(),Ps(I,E),ja(I,O)},_.qt=a,[(P,I)=>{const E=E1(t,P,I);return k(E),b(v(E,S(),I),P,!!I)},_,()=>{o(),w(),d()}]},{round:sk}=Math,mJ=e=>{const{width:t,height:n}=Zs(e),{w:r,h:o}=hd(e);return{x:sk(t)/r||1,y:sk(n)/o||1}},gJ=(e,t,n)=>{const r=t.scrollbars,{button:o,isPrimary:s,pointerType:a}=e,{pointers:c}=r;return o===0&&s&&r[n?"dragScroll":"clickScroll"]&&(c||[]).includes(a)},vJ=(e,t)=>Tr(e,"mousedown",Tr.bind(0,t,"click",xE,{C:!0,$:!0}),{$:!0}),ak="pointerup pointerleave pointercancel lostpointercapture",bJ=(e,t,n,r,o,s,a)=>{const{B:c}=Ro(),{Ft:d,Gt:p,Xt:h}=r,m=`scroll${a?"Left":"Top"}`,v=`client${a?"X":"Y"}`,b=a?"width":"height",w=a?"left":"top",y=a?"w":"h",S=a?"x":"y",k=(_,P)=>I=>{const{Tt:E}=s(),O=hd(p)[y]-hd(d)[y],M=P*I/O*E[S],A=pd(h)&&a?c.n||c.i?1:-1:1;o[m]=_+M*A};return Tr(p,"pointerdown",_=>{const P=Jl(_.target,`.${Ty}`)===d,I=P?d:p;if(Zi(t,xs,V4,!0),gJ(_,e,P)){const E=!P&&_.shiftKey,O=()=>Zs(d),R=()=>Zs(p),M=($,Y)=>($||O())[w]-(Y||R())[w],D=k(o[m]||0,1/mJ(o)[S]),A=_[v],L=O(),Q=R(),F=L[b],V=M(L,Q)+F/2,q=A-Q[w],G=P?0:q-V,T=$=>{ca(z),I.releasePointerCapture($.pointerId)},z=[Zi.bind(0,t,xs,V4),Tr(n,ak,T),Tr(n,"selectstart",$=>wE($),{S:!1}),Tr(p,ak,T),Tr(p,"pointermove",$=>{const Y=$[v]-A;(P||E)&&D(G+Y)})];if(E)D(G);else if(!P){const $=dl()[UQ];$&&An(z,$.O(D,M,G,F,q))}I.setPointerCapture(_.pointerId)}})},yJ=(e,t)=>(n,r,o,s,a,c)=>{const{Xt:d}=n,[p,h]=Kl(333),m=!!a.scrollBy;let v=!0;return ca.bind(0,[Tr(d,"pointerenter",()=>{r(q4,!0)}),Tr(d,"pointerleave pointercancel",()=>{r(q4)}),Tr(d,"wheel",b=>{const{deltaX:w,deltaY:y,deltaMode:S}=b;m&&v&&S===0&&$a(d)===s&&a.scrollBy({left:w,top:y,behavior:"smooth"}),v=!1,r(Y4,!0),p(()=>{v=!0,r(Y4)}),wE(b)},{S:!1,$:!0}),vJ(d,o),bJ(e,s,o,n,a,t,c),h])},{min:R1,max:ik,abs:xJ,round:wJ}=Math,NE=(e,t,n,r)=>{if(r){const c=n?"x":"y",{Tt:d,zt:p}=r,h=p[c],m=d[c];return ik(0,R1(1,h/(h+m)))}const o=n?"width":"height",s=Zs(e)[o],a=Zs(t)[o];return ik(0,R1(1,s/a))},SJ=(e,t,n,r,o,s)=>{const{B:a}=Ro(),c=s?"x":"y",d=s?"Left":"Top",{Tt:p}=r,h=wJ(p[c]),m=xJ(n[`scroll${d}`]),v=s&&o,b=a.i?m:h-m,y=R1(1,(v?b:m)/h),S=NE(e,t,s);return 1/S*(1-S)*y},CJ=(e,t,n)=>{const{N:r,L:o}=Ro(),{scrollbars:s}=r(),{slot:a}=s,{ct:c,W:d,Z:p,J:h,lt:m,ot:v,it:b,ut:w}=t,{scrollbars:y}=m?{}:e,{slot:S}=y||{},k=RE([d,p,h],()=>w&&b?d:p,a,S),_=(G,T,z)=>{const $=z?Ia:Oy;_n(G,Y=>{$(Y.Xt,T)})},P=(G,T)=>{_n(G,z=>{const[$,Y]=T(z);no($,Y)})},I=(G,T,z)=>{P(G,$=>{const{Ft:Y,Gt:ae}=$;return[Y,{[z?"width":"height"]:`${(100*NE(Y,ae,z,T)).toFixed(3)}%`}]})},E=(G,T,z)=>{const $=z?"X":"Y";P(G,Y=>{const{Ft:ae,Gt:fe,Xt:ie}=Y,X=SJ(ae,fe,v,T,pd(ie),z);return[ae,{transform:X===X?`translate${$}(${(100*X).toFixed(3)}%)`:""}]})},O=[],R=[],M=[],D=(G,T,z)=>{const $=ky(z),Y=$?z:!0,ae=$?!z:!0;Y&&_(R,G,T),ae&&_(M,G,T)},A=G=>{I(R,G,!0),I(M,G)},L=G=>{E(R,G,!0),E(M,G)},Q=G=>{const T=G?NQ:$Q,z=G?R:M,$=Py(z)?G4:"",Y=el(`${Oo} ${T} ${$}`),ae=el(EE),fe=el(Ty),ie={Xt:Y,Gt:ae,Ft:fe};return o||Ia(Y,DQ),ns(Y,ae),ns(ae,fe),An(z,ie),An(O,[sa.bind(0,Y),n(ie,D,c,p,v,G)]),ie},F=Q.bind(0,!0),V=Q.bind(0,!1),q=()=>{ns(k,R[0].Xt),ns(k,M[0].Xt),Xh(()=>{D(G4)},300)};return F(),V(),[{Ut:A,Wt:L,Zt:D,Jt:{Kt:R,Qt:F,tn:P.bind(0,R)},nn:{Kt:M,Qt:V,tn:P.bind(0,M)}},q,ca.bind(0,O)]},kJ=(e,t,n,r)=>{let o,s,a,c,d,p=0;const h=DE({}),[m]=h,[v,b]=Kl(),[w,y]=Kl(),[S,k]=Kl(100),[_,P]=Kl(100),[I,E]=Kl(()=>p),[O,R,M]=CJ(e,n.qt,yJ(t,n)),{Z:D,J:A,ot:L,st:Q,ut:F,it:V}=n.qt,{Jt:q,nn:G,Zt:T,Ut:z,Wt:$}=O,{tn:Y}=q,{tn:ae}=G,fe=se=>{const{Xt:re}=se,oe=F&&!V&&$a(re)===A&&re;return[oe,{transform:oe?`translate(${Ps(L)}px, ${ja(L)}px)`:""}]},ie=(se,re)=>{if(E(),se)T(X4);else{const oe=()=>T(X4,!0);p>0&&!re?I(oe):oe()}},X=()=>{c=s,c&&ie(!0)},K=[k,E,P,y,b,M,Tr(D,"pointerover",X,{C:!0}),Tr(D,"pointerenter",X),Tr(D,"pointerleave",()=>{c=!1,s&&ie(!1)}),Tr(D,"pointermove",()=>{o&&v(()=>{k(),ie(!0),_(()=>{o&&ie(!1)})})}),Tr(Q,"scroll",se=>{w(()=>{$(n()),a&&ie(!0),S(()=>{a&&!c&&ie(!1)})}),r(se),F&&Y(fe),F&&ae(fe)})],U=m.bind(0);return U.qt=O,U.Nt=R,[(se,re,oe)=>{const{At:pe,Lt:le,It:ge,yt:ke}=oe,{A:xe}=Ro(),de=E1(t,se,re),Te=n(),{Tt:Ee,Ct:$e,bt:kt}=Te,[ct,on]=de("showNativeOverlaidScrollbars"),[vt,bt]=de("scrollbars.theme"),[Se,Me]=de("scrollbars.visibility"),[Pt,Tt]=de("scrollbars.autoHide"),[we]=de("scrollbars.autoHideDelay"),[ht,$t]=de("scrollbars.dragScroll"),[Lt,Le]=de("scrollbars.clickScroll"),Ge=pe||le||ke,Pn=ge||Me,Pe=ct&&xe.x&&xe.y,Ye=(Ke,dt)=>{const zt=Se==="visible"||Se==="auto"&&Ke==="scroll";return T(LQ,zt,dt),zt};if(p=we,on&&T(AQ,Pe),bt&&(T(d),T(vt,!0),d=vt),Tt&&(o=Pt==="move",s=Pt==="leave",a=Pt!=="never",ie(!a,!0)),$t&&T(FQ,ht),Le&&T(BQ,Lt),Pn){const Ke=Ye($e.x,!0),dt=Ye($e.y,!1);T(zQ,!(Ke&&dt))}Ge&&(z(Te),$(Te),T(K4,!Ee.x,!0),T(K4,!Ee.y,!1),T(TQ,kt&&!V))},U,ca.bind(0,K)]},$E=(e,t,n)=>{Rs(e)&&e(t||void 0,n||void 0)},di=(e,t,n)=>{const{F:r,N:o,Y:s,j:a}=Ro(),c=dl(),d=qh(e),p=d?e:e.target,h=ME(p);if(t&&!h){let m=!1;const v=F=>{const V=dl()[WQ],q=V&&V.O;return q?q(F,!0):F},b=hr({},r(),v(t)),[w,y,S]=Dy(n),[k,_,P]=hJ(e,b),[I,E,O]=kJ(e,b,_,F=>S("scroll",[Q,F])),R=(F,V)=>k(F,!!V),M=R.bind(0,{},!0),D=s(M),A=a(M),L=F=>{ZQ(p),D(),A(),O(),P(),m=!0,S("destroyed",[Q,!!F]),y()},Q={options(F,V){if(F){const q=V?r():{},G=SE(b,hr(q,v(F)));jy(G)||(hr(b,G),R(G))}return hr({},b)},on:w,off:(F,V)=>{F&&V&&y(F,V)},state(){const{zt:F,Tt:V,Ct:q,Et:G,K:T,St:z,bt:$}=_();return hr({},{overflowEdge:F,overflowAmount:V,overflowStyle:q,hasOverflow:G,padding:T,paddingAbsolute:z,directionRTL:$,destroyed:m})},elements(){const{W:F,Z:V,K:q,J:G,tt:T,ot:z,st:$}=_.qt,{Jt:Y,nn:ae}=E.qt,fe=X=>{const{Ft:K,Gt:U,Xt:se}=X;return{scrollbar:se,track:U,handle:K}},ie=X=>{const{Kt:K,Qt:U}=X,se=fe(K[0]);return hr({},se,{clone:()=>{const re=fe(U());return I({},!0,{}),re}})};return hr({},{target:F,host:V,padding:q||G,viewport:G,content:T||G,scrollOffsetElement:z,scrollEventElement:$,scrollbarHorizontal:ie(Y),scrollbarVertical:ie(ae)})},update:F=>R({},F),destroy:L.bind(0)};return _.jt((F,V,q)=>{I(V,q,F)}),JQ(p,Q),_n(Ho(c),F=>$E(c[F],0,Q)),QQ(_.qt.it,o().cancel,!d&&e.cancel)?(L(!0),Q):(_.Nt(),E.Nt(),S("initialized",[Q]),_.jt((F,V,q)=>{const{gt:G,yt:T,vt:z,At:$,Lt:Y,It:ae,wt:fe,Ot:ie}=F;S("updated",[Q,{updateHints:{sizeChanged:G,directionChanged:T,heightIntrinsicChanged:z,overflowEdgeChanged:$,overflowAmountChanged:Y,overflowStyleChanged:ae,contentMutation:fe,hostMutation:ie},changedOptions:V,force:q}])}),Q.update(!0),Q)}return h};di.plugin=e=>{_n(HQ(e),t=>$E(t,di))};di.valid=e=>{const t=e&&e.elements,n=Rs(t)&&t();return k1(n)&&!!ME(n.target)};di.env=()=>{const{k:e,A:t,I:n,B:r,V:o,L:s,X:a,U:c,N:d,q:p,F:h,G:m}=Ro();return hr({},{scrollbarsSize:e,scrollbarsOverlaid:t,scrollbarsHiding:n,rtlScrollBehavior:r,flexboxGlue:o,cssCustomProperties:s,staticDefaultInitialization:a,staticDefaultOptions:c,getDefaultInitialization:d,setDefaultInitialization:p,getDefaultOptions:h,setDefaultOptions:m})};const _J=()=>{if(typeof window>"u"){const p=()=>{};return[p,p]}let e,t;const n=window,r=typeof n.requestIdleCallback=="function",o=n.requestAnimationFrame,s=n.cancelAnimationFrame,a=r?n.requestIdleCallback:o,c=r?n.cancelIdleCallback:s,d=()=>{c(e),s(t)};return[(p,h)=>{d(),e=a(r?()=>{d(),t=o(p)}:p,typeof h=="object"?h:{timeout:2233})},d]},LE=e=>{const{options:t,events:n,defer:r}=e||{},[o,s]=f.useMemo(_J,[]),a=f.useRef(null),c=f.useRef(r),d=f.useRef(t),p=f.useRef(n);return f.useEffect(()=>{c.current=r},[r]),f.useEffect(()=>{const{current:h}=a;d.current=t,di.valid(h)&&h.options(t||{},!0)},[t]),f.useEffect(()=>{const{current:h}=a;p.current=n,di.valid(h)&&h.on(n||{},!0)},[n]),f.useEffect(()=>()=>{var h;s(),(h=a.current)==null||h.destroy()},[]),f.useMemo(()=>[h=>{const m=a.current;if(di.valid(m))return;const v=c.current,b=d.current||{},w=p.current||{},y=()=>a.current=di(h,b,w);v?o(y,v):y()},()=>a.current],[])},PJ=(e,t)=>{const{element:n="div",options:r,events:o,defer:s,children:a,...c}=e,d=n,p=f.useRef(null),h=f.useRef(null),[m,v]=LE({options:r,events:o,defer:s});return f.useEffect(()=>{const{current:b}=p,{current:w}=h;return b&&w&&m({target:b,elements:{viewport:w,content:w}}),()=>{var y;return(y=v())==null?void 0:y.destroy()}},[m,n]),f.useImperativeHandle(t,()=>({osInstance:v,getElement:()=>p.current}),[]),H.createElement(d,{"data-overlayscrollbars-initialize":"",ref:p,...c},H.createElement("div",{ref:h},a))},zE=f.forwardRef(PJ);var BE={exports:{}},FE={};const Lo=Z1(ZR),Su=Z1(e7),jJ=Z1(t7);(function(e){var t,n,r=Al&&Al.__generator||function(J,ee){var he,_e,me,ut,ot={label:0,sent:function(){if(1&me[0])throw me[1];return me[1]},trys:[],ops:[]};return ut={next:Ht(0),throw:Ht(1),return:Ht(2)},typeof Symbol=="function"&&(ut[Symbol.iterator]=function(){return this}),ut;function Ht(ft){return function(xt){return function(He){if(he)throw new TypeError("Generator is already executing.");for(;ot;)try{if(he=1,_e&&(me=2&He[0]?_e.return:He[0]?_e.throw||((me=_e.return)&&me.call(_e),0):_e.next)&&!(me=me.call(_e,He[1])).done)return me;switch(_e=0,me&&(He=[2&He[0],me.value]),He[0]){case 0:case 1:me=He;break;case 4:return ot.label++,{value:He[1],done:!1};case 5:ot.label++,_e=He[1],He=[0];continue;case 7:He=ot.ops.pop(),ot.trys.pop();continue;default:if(!((me=(me=ot.trys).length>0&&me[me.length-1])||He[0]!==6&&He[0]!==2)){ot=0;continue}if(He[0]===3&&(!me||He[1]>me[0]&&He[1]=200&&J.status<=299},Q=function(J){return/ion\/(vnd\.api\+)?json/.test(J.get("content-type")||"")};function F(J){if(!(0,D.isPlainObject)(J))return J;for(var ee=S({},J),he=0,_e=Object.entries(ee);he<_e.length;he++){var me=_e[he];me[1]===void 0&&delete ee[me[0]]}return ee}function V(J){var ee=this;J===void 0&&(J={});var he=J.baseUrl,_e=J.prepareHeaders,me=_e===void 0?function(en){return en}:_e,ut=J.fetchFn,ot=ut===void 0?A:ut,Ht=J.paramsSerializer,ft=J.isJsonContentType,xt=ft===void 0?Q:ft,He=J.jsonContentType,Ce=He===void 0?"application/json":He,Xe=J.jsonReplacer,jt=J.timeout,Et=J.responseHandler,Nt=J.validateStatus,qt=P(J,["baseUrl","prepareHeaders","fetchFn","paramsSerializer","isJsonContentType","jsonContentType","jsonReplacer","timeout","responseHandler","validateStatus"]);return typeof fetch>"u"&&ot===A&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(en,Ut){return E(ee,null,function(){var Be,yt,Mt,Wt,jn,Gt,un,sn,Or,Jn,It,In,Rn,Zn,mr,Tn,Nn,dn,Sn,En,bn,yn,qe,Ot,St,st,wt,Bt,mt,rt,Oe,Ie,De,We,Ze,Dt;return r(this,function(Rt){switch(Rt.label){case 0:return Be=Ut.signal,yt=Ut.getState,Mt=Ut.extra,Wt=Ut.endpoint,jn=Ut.forced,Gt=Ut.type,Or=(sn=typeof en=="string"?{url:en}:en).url,It=(Jn=sn.headers)===void 0?new Headers(qt.headers):Jn,Rn=(In=sn.params)===void 0?void 0:In,mr=(Zn=sn.responseHandler)===void 0?Et??"json":Zn,Nn=(Tn=sn.validateStatus)===void 0?Nt??L:Tn,Sn=(dn=sn.timeout)===void 0?jt:dn,En=P(sn,["url","headers","params","responseHandler","validateStatus","timeout"]),bn=S(k(S({},qt),{signal:Be}),En),It=new Headers(F(It)),yn=bn,[4,me(It,{getState:yt,extra:Mt,endpoint:Wt,forced:jn,type:Gt})];case 1:yn.headers=Rt.sent()||It,qe=function(Ve){return typeof Ve=="object"&&((0,D.isPlainObject)(Ve)||Array.isArray(Ve)||typeof Ve.toJSON=="function")},!bn.headers.has("content-type")&&qe(bn.body)&&bn.headers.set("content-type",Ce),qe(bn.body)&&xt(bn.headers)&&(bn.body=JSON.stringify(bn.body,Xe)),Rn&&(Ot=~Or.indexOf("?")?"&":"?",St=Ht?Ht(Rn):new URLSearchParams(F(Rn)),Or+=Ot+St),Or=function(Ve,nn){if(!Ve)return nn;if(!nn)return Ve;if(function(hn){return new RegExp("(^|:)//").test(hn)}(nn))return nn;var xn=Ve.endsWith("/")||!nn.startsWith("?")?"/":"";return Ve=function(hn){return hn.replace(/\/$/,"")}(Ve),""+Ve+xn+function(hn){return hn.replace(/^\//,"")}(nn)}(he,Or),st=new Request(Or,bn),wt=st.clone(),un={request:wt},mt=!1,rt=Sn&&setTimeout(function(){mt=!0,Ut.abort()},Sn),Rt.label=2;case 2:return Rt.trys.push([2,4,5,6]),[4,ot(st)];case 3:return Bt=Rt.sent(),[3,6];case 4:return Oe=Rt.sent(),[2,{error:{status:mt?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(Oe)},meta:un}];case 5:return rt&&clearTimeout(rt),[7];case 6:Ie=Bt.clone(),un.response=Ie,We="",Rt.label=7;case 7:return Rt.trys.push([7,9,,10]),[4,Promise.all([tn(Bt,mr).then(function(Ve){return De=Ve},function(Ve){return Ze=Ve}),Ie.text().then(function(Ve){return We=Ve},function(){})])];case 8:if(Rt.sent(),Ze)throw Ze;return[3,10];case 9:return Dt=Rt.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:Bt.status,data:We,error:String(Dt)},meta:un}];case 10:return[2,Nn(Bt,De)?{data:De,meta:un}:{error:{status:Bt.status,data:De},meta:un}]}})})};function tn(en,Ut){return E(this,null,function(){var Be;return r(this,function(yt){switch(yt.label){case 0:return typeof Ut=="function"?[2,Ut(en)]:(Ut==="content-type"&&(Ut=xt(en.headers)?"json":"text"),Ut!=="json"?[3,2]:[4,en.text()]);case 1:return[2,(Be=yt.sent()).length?JSON.parse(Be):null];case 2:return[2,en.text()]}})})}}var q=function(J,ee){ee===void 0&&(ee=void 0),this.value=J,this.meta=ee};function G(J,ee){return J===void 0&&(J=0),ee===void 0&&(ee=5),E(this,null,function(){var he,_e;return r(this,function(me){switch(me.label){case 0:return he=Math.min(J,ee),_e=~~((Math.random()+.4)*(300<=Ie)}var En=(0,$e.createAsyncThunk)(Rn+"/executeQuery",dn,{getPendingMeta:function(){var qe;return(qe={startedTimeStamp:Date.now()})[$e.SHOULD_AUTOBATCH]=!0,qe},condition:function(qe,Ot){var St,st,wt,Bt=(0,Ot.getState)(),mt=(st=(St=Bt[Rn])==null?void 0:St.queries)==null?void 0:st[qe.queryCacheKey],rt=mt==null?void 0:mt.fulfilledTimeStamp,Oe=qe.originalArgs,Ie=mt==null?void 0:mt.originalArgs,De=mr[qe.endpointName];return!(!de(qe)&&((mt==null?void 0:mt.status)==="pending"||!Sn(qe,Bt)&&(!oe(De)||!((wt=De==null?void 0:De.forceRefetch)!=null&&wt.call(De,{currentArg:Oe,previousArg:Ie,endpointState:mt,state:Bt})))&&rt))},dispatchConditionRejection:!0}),bn=(0,$e.createAsyncThunk)(Rn+"/executeMutation",dn,{getPendingMeta:function(){var qe;return(qe={startedTimeStamp:Date.now()})[$e.SHOULD_AUTOBATCH]=!0,qe}});function yn(qe){return function(Ot){var St,st;return((st=(St=Ot==null?void 0:Ot.meta)==null?void 0:St.arg)==null?void 0:st.endpointName)===qe}}return{queryThunk:En,mutationThunk:bn,prefetch:function(qe,Ot,St){return function(st,wt){var Bt=function(De){return"force"in De}(St)&&St.force,mt=function(De){return"ifOlderThan"in De}(St)&&St.ifOlderThan,rt=function(De){return De===void 0&&(De=!0),Nn.endpoints[qe].initiate(Ot,{forceRefetch:De})},Oe=Nn.endpoints[qe].select(Ot)(wt());if(Bt)st(rt());else if(mt){var Ie=Oe==null?void 0:Oe.fulfilledTimeStamp;if(!Ie)return void st(rt());(Number(new Date)-Number(new Date(Ie)))/1e3>=mt&&st(rt())}else st(rt(!1))}},updateQueryData:function(qe,Ot,St){return function(st,wt){var Bt,mt,rt=Nn.endpoints[qe].select(Ot)(wt()),Oe={patches:[],inversePatches:[],undo:function(){return st(Nn.util.patchQueryData(qe,Ot,Oe.inversePatches))}};if(rt.status===t.uninitialized)return Oe;if("data"in rt)if((0,Ee.isDraftable)(rt.data)){var Ie=(0,Ee.produceWithPatches)(rt.data,St),De=Ie[2];(Bt=Oe.patches).push.apply(Bt,Ie[1]),(mt=Oe.inversePatches).push.apply(mt,De)}else{var We=St(rt.data);Oe.patches.push({op:"replace",path:[],value:We}),Oe.inversePatches.push({op:"replace",path:[],value:rt.data})}return st(Nn.util.patchQueryData(qe,Ot,Oe.patches)),Oe}},upsertQueryData:function(qe,Ot,St){return function(st){var wt;return st(Nn.endpoints[qe].initiate(Ot,((wt={subscribe:!1,forceRefetch:!0})[xe]=function(){return{data:St}},wt)))}},patchQueryData:function(qe,Ot,St){return function(st){st(Nn.internalActions.queryResultPatched({queryCacheKey:Tn({queryArgs:Ot,endpointDefinition:mr[qe],endpointName:qe}),patches:St}))}},buildMatchThunkActions:function(qe,Ot){return{matchPending:(0,Te.isAllOf)((0,Te.isPending)(qe),yn(Ot)),matchFulfilled:(0,Te.isAllOf)((0,Te.isFulfilled)(qe),yn(Ot)),matchRejected:(0,Te.isAllOf)((0,Te.isRejected)(qe),yn(Ot))}}}}({baseQuery:_e,reducerPath:me,context:he,api:J,serializeQueryArgs:ut}),Xe=Ce.queryThunk,jt=Ce.mutationThunk,Et=Ce.patchQueryData,Nt=Ce.updateQueryData,qt=Ce.upsertQueryData,tn=Ce.prefetch,en=Ce.buildMatchThunkActions,Ut=function(It){var In=It.reducerPath,Rn=It.queryThunk,Zn=It.mutationThunk,mr=It.context,Tn=mr.endpointDefinitions,Nn=mr.apiUid,dn=mr.extractRehydrationInfo,Sn=mr.hasRehydrationInfo,En=It.assertTagType,bn=It.config,yn=(0,ge.createAction)(In+"/resetApiState"),qe=(0,ge.createSlice)({name:In+"/queries",initialState:Pt,reducers:{removeQueryResult:{reducer:function(rt,Oe){delete rt[Oe.payload.queryCacheKey]},prepare:(0,ge.prepareAutoBatched)()},queryResultPatched:function(rt,Oe){var Ie=Oe.payload,De=Ie.patches;bt(rt,Ie.queryCacheKey,function(We){We.data=(0,vt.applyPatches)(We.data,De.concat())})}},extraReducers:function(rt){rt.addCase(Rn.pending,function(Oe,Ie){var De,We=Ie.meta,Ze=Ie.meta.arg,Dt=de(Ze);(Ze.subscribe||Dt)&&(Oe[De=Ze.queryCacheKey]!=null||(Oe[De]={status:t.uninitialized,endpointName:Ze.endpointName})),bt(Oe,Ze.queryCacheKey,function(Rt){Rt.status=t.pending,Rt.requestId=Dt&&Rt.requestId?Rt.requestId:We.requestId,Ze.originalArgs!==void 0&&(Rt.originalArgs=Ze.originalArgs),Rt.startedTimeStamp=We.startedTimeStamp})}).addCase(Rn.fulfilled,function(Oe,Ie){var De=Ie.meta,We=Ie.payload;bt(Oe,De.arg.queryCacheKey,function(Ze){var Dt;if(Ze.requestId===De.requestId||de(De.arg)){var Rt=Tn[De.arg.endpointName].merge;if(Ze.status=t.fulfilled,Rt)if(Ze.data!==void 0){var Ve=De.fulfilledTimeStamp,nn=De.arg,xn=De.baseQueryMeta,hn=De.requestId,gr=(0,ge.createNextState)(Ze.data,function(Xn){return Rt(Xn,We,{arg:nn.originalArgs,baseQueryMeta:xn,fulfilledTimeStamp:Ve,requestId:hn})});Ze.data=gr}else Ze.data=We;else Ze.data=(Dt=Tn[De.arg.endpointName].structuralSharing)==null||Dt?M((0,on.isDraft)(Ze.data)?(0,vt.original)(Ze.data):Ze.data,We):We;delete Ze.error,Ze.fulfilledTimeStamp=De.fulfilledTimeStamp}})}).addCase(Rn.rejected,function(Oe,Ie){var De=Ie.meta,We=De.condition,Ze=De.requestId,Dt=Ie.error,Rt=Ie.payload;bt(Oe,De.arg.queryCacheKey,function(Ve){if(!We){if(Ve.requestId!==Ze)return;Ve.status=t.rejected,Ve.error=Rt??Dt}})}).addMatcher(Sn,function(Oe,Ie){for(var De=dn(Ie).queries,We=0,Ze=Object.entries(De);We"u"||navigator.onLine===void 0||navigator.onLine,focused:typeof document>"u"||document.visibilityState!=="hidden",middlewareRegistered:!1},bn),reducers:{middlewareRegistered:function(rt,Oe){rt.middlewareRegistered=rt.middlewareRegistered!=="conflict"&&Nn===Oe.payload||"conflict"}},extraReducers:function(rt){rt.addCase(fe,function(Oe){Oe.online=!0}).addCase(ie,function(Oe){Oe.online=!1}).addCase(Y,function(Oe){Oe.focused=!0}).addCase(ae,function(Oe){Oe.focused=!1}).addMatcher(Sn,function(Oe){return S({},Oe)})}}),mt=(0,ge.combineReducers)({queries:qe.reducer,mutations:Ot.reducer,provided:St.reducer,subscriptions:wt.reducer,config:Bt.reducer});return{reducer:function(rt,Oe){return mt(yn.match(Oe)?void 0:rt,Oe)},actions:k(S(S(S(S(S({},Bt.actions),qe.actions),st.actions),wt.actions),Ot.actions),{unsubscribeMutationResult:Ot.actions.removeMutationResult,resetApiState:yn})}}({context:he,queryThunk:Xe,mutationThunk:jt,reducerPath:me,assertTagType:He,config:{refetchOnFocus:ft,refetchOnReconnect:xt,refetchOnMountOrArgChange:Ht,keepUnusedDataFor:ot,reducerPath:me}}),Be=Ut.reducer,yt=Ut.actions;$r(J.util,{patchQueryData:Et,updateQueryData:Nt,upsertQueryData:qt,prefetch:tn,resetApiState:yt.resetApiState}),$r(J.internalActions,yt);var Mt=function(It){var In=It.reducerPath,Rn=It.queryThunk,Zn=It.api,mr=It.context,Tn=mr.apiUid,Nn={invalidateTags:(0,cr.createAction)(In+"/invalidateTags")},dn=[Wr,pn,Hr,xr,Wn,Do];return{middleware:function(En){var bn=!1,yn=k(S({},It),{internalState:{currentSubscriptions:{}},refetchQuery:Sn}),qe=dn.map(function(st){return st(yn)}),Ot=function(st){var wt=st.api,Bt=st.queryThunk,mt=st.internalState,rt=wt.reducerPath+"/subscriptions",Oe=null,Ie=!1,De=wt.internalActions,We=De.updateSubscriptionOptions,Ze=De.unsubscribeQueryResult;return function(Dt,Rt){var Ve,nn;if(Oe||(Oe=JSON.parse(JSON.stringify(mt.currentSubscriptions))),wt.util.resetApiState.match(Dt))return Oe=mt.currentSubscriptions={},[!0,!1];if(wt.internalActions.internal_probeSubscription.match(Dt)){var xn=Dt.payload;return[!1,!!((Ve=mt.currentSubscriptions[xn.queryCacheKey])!=null&&Ve[xn.requestId])]}var hn=function(gn,Vn){var ao,fn,$n,Ur,Rr,Ga,ef,Ao,fa;if(We.match(Vn)){var zs=Vn.payload,pa=zs.queryCacheKey,io=zs.requestId;return(ao=gn==null?void 0:gn[pa])!=null&&ao[io]&&(gn[pa][io]=zs.options),!0}if(Ze.match(Vn)){var lo=Vn.payload;return io=lo.requestId,gn[pa=lo.queryCacheKey]&&delete gn[pa][io],!0}if(wt.internalActions.removeQueryResult.match(Vn))return delete gn[Vn.payload.queryCacheKey],!0;if(Bt.pending.match(Vn)){var co=Vn.meta;if(io=co.requestId,(Yr=co.arg).subscribe)return(Wo=($n=gn[fn=Yr.queryCacheKey])!=null?$n:gn[fn]={})[io]=(Rr=(Ur=Yr.subscriptionOptions)!=null?Ur:Wo[io])!=null?Rr:{},!0}if(Bt.rejected.match(Vn)){var Wo,To=Vn.meta,Yr=To.arg;if(io=To.requestId,To.condition&&Yr.subscribe)return(Wo=(ef=gn[Ga=Yr.queryCacheKey])!=null?ef:gn[Ga]={})[io]=(fa=(Ao=Yr.subscriptionOptions)!=null?Ao:Wo[io])!=null?fa:{},!0}return!1}(mt.currentSubscriptions,Dt);if(hn){Ie||(ds(function(){var gn=JSON.parse(JSON.stringify(mt.currentSubscriptions)),Vn=(0,Vr.produceWithPatches)(Oe,function(){return gn});Rt.next(wt.internalActions.subscriptionsUpdated(Vn[1])),Oe=gn,Ie=!1}),Ie=!0);var gr=!!((nn=Dt.type)!=null&&nn.startsWith(rt)),Xn=Bt.rejected.match(Dt)&&Dt.meta.condition&&!!Dt.meta.arg.subscribe;return[!gr&&!Xn,!1]}return[!0,!1]}}(yn),St=function(st){var wt=st.reducerPath,Bt=st.context,mt=st.refetchQuery,rt=st.internalState,Oe=st.api.internalActions.removeQueryResult;function Ie(De,We){var Ze=De.getState()[wt],Dt=Ze.queries,Rt=rt.currentSubscriptions;Bt.batch(function(){for(var Ve=0,nn=Object.keys(Rt);Ve{const{boardToDelete:t,setBoardToDelete:n}=e,{t:r}=ye(),o=B(_=>_.config.canRestoreDeletedImagesFromBin),{currentData:s,isFetching:a}=n7((t==null?void 0:t.board_id)??ro.skipToken),c=f.useMemo(()=>be([lt],_=>{const P=(s??[]).map(E=>L_(_,E));return{imageUsageSummary:{isInitialImage:wa(P,E=>E.isInitialImage),isCanvasImage:wa(P,E=>E.isCanvasImage),isNodesImage:wa(P,E=>E.isNodesImage),isControlNetImage:wa(P,E=>E.isControlNetImage)}}}),[s]),[d,{isLoading:p}]=r7(),[h,{isLoading:m}]=o7(),{imageUsageSummary:v}=B(c),b=f.useCallback(()=>{t&&(d(t.board_id),n(void 0))},[t,d,n]),w=f.useCallback(()=>{t&&(h(t.board_id),n(void 0))},[t,h,n]),y=f.useCallback(()=>{n(void 0)},[n]),S=f.useRef(null),k=f.useMemo(()=>m||p||a,[m,p,a]);return t?i.jsx(Ad,{isOpen:!!t,onClose:y,leastDestructiveRef:S,isCentered:!0,children:i.jsx(Aa,{children:i.jsxs(Td,{children:[i.jsxs(Da,{fontSize:"lg",fontWeight:"bold",children:["Delete ",t.board_name]}),i.jsx(Ta,{children:i.jsxs(W,{direction:"column",gap:3,children:[a?i.jsx(Im,{children:i.jsx(W,{sx:{w:"full",h:32}})}):i.jsx(UI,{imageUsage:v,topMessage:"This board contains images used in the following features:",bottomMessage:"Deleting this board and its images will reset any features currently using them."}),i.jsx(Qe,{children:"Deleted boards cannot be restored."}),i.jsx(Qe,{children:r(o?"gallery.deleteImageBin":"gallery.deleteImagePermanent")})]})}),i.jsx(Ma,{children:i.jsxs(W,{sx:{justifyContent:"space-between",width:"full",gap:2},children:[i.jsx(Yt,{ref:S,onClick:y,children:"Cancel"}),i.jsx(Yt,{colorScheme:"warning",isLoading:k,onClick:b,children:"Delete Board Only"}),i.jsx(Yt,{colorScheme:"error",isLoading:k,onClick:w,children:"Delete Board and Images"})]})})]})})}):null},EJ=f.memo(IJ),HE=Ae((e,t)=>{const{role:n,tooltip:r="",tooltipProps:o,isChecked:s,...a}=e;return i.jsx(vn,{label:r,hasArrow:!0,...o,...o!=null&&o.placement?{placement:o.placement}:{placement:"top"},children:i.jsx(ka,{ref:t,role:n,colorScheme:s?"accent":"base",...a})})});HE.displayName="IAIIconButton";const ze=f.memo(HE),OJ="My Board",RJ=()=>{const[e,{isLoading:t}]=s7(),n=f.useCallback(()=>{e(OJ)},[e]);return i.jsx(ze,{icon:i.jsx(yl,{}),isLoading:t,tooltip:"Add Board","aria-label":"Add Board",onClick:n,size:"sm"})};var lk={path:i.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[i.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),i.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),i.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},WE=Ae((e,t)=>{const{as:n,viewBox:r,color:o="currentColor",focusable:s=!1,children:a,className:c,__css:d,...p}=e,h=Ct("chakra-icon",c),m=ia("Icon",e),v={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:o,...d,...m},b={ref:t,focusable:s,className:h,__css:v},w=r??lk.viewBox;if(n&&typeof n!="string")return i.jsx(je.svg,{as:n,...b,...p});const y=a??lk.path;return i.jsx(je.svg,{verticalAlign:"middle",viewBox:w,...b,...p,children:y})});WE.displayName="Icon";function Gd(e){const{viewBox:t="0 0 24 24",d:n,displayName:r,defaultProps:o={}}=e,s=f.Children.toArray(e.path),a=Ae((c,d)=>i.jsx(WE,{ref:d,viewBox:t,...o,...c,children:s.length?s:i.jsx("path",{fill:"currentColor",d:n})}));return a.displayName=r,a}var VE=Gd({displayName:"ExternalLinkIcon",path:i.jsxs("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2",children:[i.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),i.jsx("path",{d:"M15 3h6v6"}),i.jsx("path",{d:"M10 14L21 3"})]})}),Ly=Gd({d:"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z",displayName:"ChevronUpIcon"}),MJ=Gd({displayName:"CloseIcon",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"}),DJ=Gd({displayName:"DeleteIcon",path:i.jsx("g",{fill:"currentColor",children:i.jsx("path",{d:"M19.452 7.5H4.547a.5.5 0 00-.5.545l1.287 14.136A2 2 0 007.326 24h9.347a2 2 0 001.992-1.819L19.95 8.045a.5.5 0 00-.129-.382.5.5 0 00-.369-.163zm-9.2 13a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zm5 0a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zM22 4h-4.75a.25.25 0 01-.25-.25V2.5A2.5 2.5 0 0014.5 0h-5A2.5 2.5 0 007 2.5v1.25a.25.25 0 01-.25.25H2a1 1 0 000 2h20a1 1 0 000-2zM9 3.75V2.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v1.25a.25.25 0 01-.25.25h-5.5A.25.25 0 019 3.75z"})})}),AJ=Gd({displayName:"ChevronDownIcon",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"});const TJ=be([lt],({gallery:e})=>{const{boardSearchText:t}=e;return{boardSearchText:t}},Je),NJ=()=>{const e=te(),{boardSearchText:t}=B(TJ),n=f.useRef(null),r=f.useCallback(c=>{e(Y2(c))},[e]),o=f.useCallback(()=>{e(Y2(""))},[e]),s=f.useCallback(c=>{c.key==="Escape"&&o()},[o]),a=f.useCallback(c=>{r(c.target.value)},[r]);return f.useEffect(()=>{n.current&&n.current.focus()},[]),i.jsxs(Z3,{children:[i.jsx(Id,{ref:n,placeholder:"Search Boards...",value:t,onKeyDown:s,onChange:a}),t&&t.length&&i.jsx(Ob,{children:i.jsx(ka,{onClick:o,size:"xs",variant:"ghost","aria-label":"Clear Search",opacity:.5,icon:i.jsx(MJ,{boxSize:2})})})]})},$J=f.memo(NJ),LJ=e=>{const{isOver:t,label:n="Drop"}=e,r=f.useRef(di()),{colorMode:o}=Ds();return i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsxs(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full"},children:[i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:Fe("base.700","base.900")(o),opacity:.7,borderRadius:"base",alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),i.jsx(W,{sx:{position:"absolute",top:.5,insetInlineStart:.5,insetInlineEnd:.5,bottom:.5,opacity:1,borderWidth:2,borderColor:t?Fe("base.50","base.50")(o):Fe("base.200","base.300")(o),borderRadius:"lg",borderStyle:"dashed",transitionProperty:"common",transitionDuration:"0.1s",alignItems:"center",justifyContent:"center"},children:i.jsx(Re,{sx:{fontSize:"2xl",fontWeight:600,transform:t?"scale(1.1)":"scale(1)",color:t?Fe("base.50","base.50")(o):Fe("base.200","base.300")(o),transitionProperty:"common",transitionDuration:"0.1s"},children:n})})]})},r.current)},Jh=f.memo(LJ),zJ=e=>{const{dropLabel:t,data:n,disabled:r}=e,o=f.useRef(di()),{isOver:s,setNodeRef:a,active:c}=Z1({id:o.current,disabled:r,data:n});return i.jsx(Re,{ref:a,position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",pointerEvents:"none",children:i.jsx(mo,{children:Lp(n,c)&&i.jsx(Jh,{isOver:s,label:t})})})},zy=f.memo(zJ),By=({isSelected:e,isHovered:t})=>i.jsx(Re,{className:"selection-box",sx:{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,borderRadius:"base",opacity:e?1:.7,transitionProperty:"common",transitionDuration:"0.1s",shadow:e?t?"hoverSelected.light":"selected.light":t?"hoverUnselected.light":void 0,_dark:{shadow:e?t?"hoverSelected.dark":"selected.dark":t?"hoverUnselected.dark":void 0}}}),UE=()=>i.jsx(W,{sx:{position:"absolute",insetInlineEnd:0,top:0,p:1},children:i.jsx(gl,{variant:"solid",sx:{bg:"accent.400",_dark:{bg:"accent.500"}},children:"auto"})});var Vu=globalThis&&globalThis.__assign||function(){return Vu=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{const{boardName:t}=um(void 0,{selectFromResult:({data:n})=>{const r=n==null?void 0:n.find(s=>s.board_id===e);return{boardName:(r==null?void 0:r.board_name)||"Uncategorized"}}});return t},BJ=({board:e,setBoardToDelete:t})=>{const n=f.useCallback(()=>{t&&t(e)},[e,t]);return i.jsxs(i.Fragment,{children:[e.image_count>0&&i.jsx(i.Fragment,{}),i.jsx(jr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(Eo,{}),onClick:n,children:"Delete Board"})]})},FJ=f.memo(BJ),HJ=()=>i.jsx(i.Fragment,{}),WJ=f.memo(HJ),Fy=f.memo(({board:e,board_id:t,setBoardToDelete:n,children:r})=>{const o=te(),s=f.useMemo(()=>be(lt,({gallery:v,system:b})=>{const w=v.autoAddBoardId===t,y=b.isProcessing,S=v.autoAssignBoardOnClick;return{isAutoAdd:w,isProcessing:y,autoAssignBoardOnClick:S}}),[t]),{isAutoAdd:a,isProcessing:c,autoAssignBoardOnClick:d}=B(s),p=Ym(t),h=f.useCallback(()=>{o(dm(t))},[t,o]),m=f.useCallback(v=>{v.preventDefault()},[]);return i.jsx(GE,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>i.jsx(il,{sx:{visibility:"visible !important"},motionProps:Zu,onContextMenu:m,children:i.jsxs(sd,{title:p,children:[i.jsx(jr,{icon:i.jsx(yl,{}),isDisabled:a||c||d,onClick:h,children:"Auto-add to this Board"}),!e&&i.jsx(WJ,{}),e&&i.jsx(FJ,{board:e,setBoardToDelete:n})]})}),children:r})});Fy.displayName="HoverableBoard";const qE=f.memo(({board:e,isSelected:t,setBoardToDelete:n})=>{const r=te(),o=f.useMemo(()=>be(lt,({gallery:A,system:L})=>{const Q=e.board_id===A.autoAddBoardId,F=A.autoAssignBoardOnClick,V=L.isProcessing;return{isSelectedForAutoAdd:Q,autoAssignBoardOnClick:F,isProcessing:V}},Je),[e.board_id]),{isSelectedForAutoAdd:s,autoAssignBoardOnClick:a,isProcessing:c}=B(o),[d,p]=f.useState(!1),h=f.useCallback(()=>{p(!0)},[]),m=f.useCallback(()=>{p(!1)},[]),{data:v}=H_(e.board_id),{data:b}=W_(e.board_id),w=f.useMemo(()=>{if(!(!v||!b))return`${v} image${v>1?"s":""}, ${b} asset${b>1?"s":""}`},[b,v]),{currentData:y}=Is(e.cover_image_name??ro.skipToken),{board_name:S,board_id:k}=e,[_,P]=f.useState(S),I=f.useCallback(()=>{r(V_(k)),a&&!c&&r(dm(k))},[k,a,c,r]),[E,{isLoading:O}]=a7(),R=f.useMemo(()=>({id:k,actionType:"ADD_TO_BOARD",context:{boardId:k}}),[k]),M=f.useCallback(async A=>{if(!A.trim()){P(S);return}if(A!==S)try{const{board_name:L}=await E({board_id:k,changes:{board_name:A}}).unwrap();P(L)}catch{P(S)}},[k,S,E]),D=f.useCallback(A=>{P(A)},[]);return i.jsx(Re,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:i.jsx(W,{onMouseOver:h,onMouseOut:m,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",w:"full",h:"full"},children:i.jsx(Fy,{board:e,board_id:k,setBoardToDelete:n,children:A=>i.jsx(vn,{label:w,openDelay:1e3,hasArrow:!0,children:i.jsxs(W,{ref:A,onClick:I,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[y!=null&&y.thumbnail_url?i.jsx(Lc,{src:y==null?void 0:y.thumbnail_url,draggable:!1,sx:{objectFit:"cover",w:"full",h:"full",maxH:"full",borderRadius:"base",borderBottomRadius:"lg"}}):i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:i.jsx(fo,{boxSize:12,as:aQ,sx:{mt:-6,opacity:.7,color:"base.500",_dark:{color:"base.500"}}})}),s&&i.jsx(UE,{}),i.jsx(By,{isSelected:t,isHovered:d}),i.jsx(W,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:t?"accent.400":"base.500",color:t?"base.50":"base.100",_dark:{bg:t?"accent.500":"base.600",color:t?"base.50":"base.100"},lineHeight:"short",fontSize:"xs"},children:i.jsxs(f3,{value:_,isDisabled:O,submitOnBlur:!0,onChange:D,onSubmit:M,sx:{w:"full"},children:[i.jsx(c3,{sx:{p:0,fontWeight:t?700:500,textAlign:"center",overflow:"hidden",textOverflow:"ellipsis"},noOfLines:1}),i.jsx(l3,{sx:{p:0,_focusVisible:{p:0,textAlign:"center",boxShadow:"none"}}})]})}),i.jsx(zy,{data:R,dropLabel:i.jsx(Qe,{fontSize:"md",children:"Move"})})]})})})})})});qE.displayName="HoverableBoard";const VJ=be(lt,({gallery:e,system:t})=>{const{autoAddBoardId:n,autoAssignBoardOnClick:r}=e,{isProcessing:o}=t;return{autoAddBoardId:n,autoAssignBoardOnClick:r,isProcessing:o}},Je),KE=f.memo(({isSelected:e})=>{const t=te(),{autoAddBoardId:n,autoAssignBoardOnClick:r,isProcessing:o}=B(VJ),s=Ym("none"),a=f.useCallback(()=>{t(V_("none")),r&&!o&&t(dm("none"))},[t,r,o]),[c,d]=f.useState(!1),p=f.useCallback(()=>{d(!0)},[]),h=f.useCallback(()=>{d(!1)},[]),m=f.useMemo(()=>({id:"no_board",actionType:"REMOVE_FROM_BOARD"}),[]);return i.jsx(Re,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:i.jsx(W,{onMouseOver:p,onMouseOut:h,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",borderRadius:"base",w:"full",h:"full"},children:i.jsx(Fy,{board_id:"none",children:v=>i.jsxs(W,{ref:v,onClick:a,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:i.jsx(Lc,{src:U_,alt:"invoke-ai-logo",sx:{opacity:.4,filter:"grayscale(1)",mt:-6,w:16,h:16,minW:16,minH:16,userSelect:"none"}})}),n==="none"&&i.jsx(UE,{}),i.jsx(W,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:e?"accent.400":"base.500",color:e?"base.50":"base.100",_dark:{bg:e?"accent.500":"base.600",color:e?"base.50":"base.100"},lineHeight:"short",fontSize:"xs",fontWeight:e?700:500},children:s}),i.jsx(By,{isSelected:e,isHovered:c}),i.jsx(zy,{data:m,dropLabel:i.jsx(Qe,{fontSize:"md",children:"Move"})})]})})})})});KE.displayName="HoverableBoard";const UJ=be([lt],({gallery:e})=>{const{selectedBoardId:t,boardSearchText:n}=e;return{selectedBoardId:t,boardSearchText:n}},Je),GJ=e=>{const{isOpen:t}=e,{selectedBoardId:n,boardSearchText:r}=B(UJ),{data:o}=um(),s=r?o==null?void 0:o.filter(d=>d.board_name.toLowerCase().includes(r.toLowerCase())):o,[a,c]=f.useState();return i.jsxs(i.Fragment,{children:[i.jsx(vm,{in:t,animateOpacity:!0,children:i.jsxs(W,{layerStyle:"first",sx:{flexDir:"column",gap:2,p:2,mt:2,borderRadius:"base"},children:[i.jsxs(W,{sx:{gap:2,alignItems:"center"},children:[i.jsx($J,{}),i.jsx(RJ,{})]}),i.jsx(zE,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:i.jsxs(sl,{className:"list-container",sx:{gridTemplateColumns:"repeat(auto-fill, minmax(108px, 1fr));",maxH:346},children:[i.jsx(Yv,{sx:{p:1.5},children:i.jsx(KE,{isSelected:n==="none"})}),s&&s.map(d=>i.jsx(Yv,{sx:{p:1.5},children:i.jsx(qE,{board:d,isSelected:n===d.board_id,setBoardToDelete:c})},d.board_id))]})})]})}),i.jsx(EJ,{boardToDelete:a,setBoardToDelete:c})]})},qJ=f.memo(GJ),KJ=be([lt],e=>{const{selectedBoardId:t}=e.gallery;return{selectedBoardId:t}},Je),XJ=e=>{const{isOpen:t,onToggle:n}=e,{selectedBoardId:r}=B(KJ),o=Ym(r),s=f.useMemo(()=>o.length>20?`${o.substring(0,20)}...`:o,[o]);return i.jsxs(W,{as:yc,onClick:n,size:"sm",sx:{position:"relative",gap:2,w:"full",justifyContent:"space-between",alignItems:"center",px:2},children:[i.jsx(Qe,{noOfLines:1,sx:{fontWeight:600,w:"100%",textAlign:"center",color:"base.800",_dark:{color:"base.200"}},children:s}),i.jsx(Ly,{sx:{transform:t?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]})},YJ=f.memo(XJ);function XE(e){return nt({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146z"}}]})(e)}function YE(e){return nt({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146zm.122 2.112v-.002.002zm0-.002v.002a.5.5 0 0 1-.122.51L6.293 6.878a.5.5 0 0 1-.511.12H5.78l-.014-.004a4.507 4.507 0 0 0-.288-.076 4.922 4.922 0 0 0-.765-.116c-.422-.028-.836.008-1.175.15l5.51 5.509c.141-.34.177-.753.149-1.175a4.924 4.924 0 0 0-.192-1.054l-.004-.013v-.001a.5.5 0 0 1 .12-.512l3.536-3.535a.5.5 0 0 1 .532-.115l.096.022c.087.017.208.034.344.034.114 0 .23-.011.343-.04L9.927 2.028c-.029.113-.04.23-.04.343a1.779 1.779 0 0 0 .062.46z"}}]})(e)}const QJ=be([lt],e=>{const{shouldPinGallery:t}=e.ui;return{shouldPinGallery:t}},Je),JJ=()=>{const e=te(),{t}=ye(),{shouldPinGallery:n}=B(QJ),r=()=>{e(G_()),e(ko())};return i.jsx(ze,{size:"sm","aria-label":t("gallery.pinGallery"),tooltip:`${t("gallery.pinGallery")} (Shift+G)`,onClick:r,icon:n?i.jsx(XE,{}):i.jsx(YE,{})})},ZJ=e=>{const{triggerComponent:t,children:n,hasArrow:r=!0,isLazy:o=!0,...s}=e;return i.jsxs(Yb,{isLazy:o,...s,children:[i.jsx(Xb,{children:t}),i.jsxs(Qb,{shadow:"dark-lg",children:[r&&i.jsx(D6,{}),n]})]})},xl=f.memo(ZJ);function eZ(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12 16c1.671 0 3-1.331 3-3s-1.329-3-3-3-3 1.331-3 3 1.329 3 3 3z"}},{tag:"path",attr:{d:"M20.817 11.186a8.94 8.94 0 0 0-1.355-3.219 9.053 9.053 0 0 0-2.43-2.43 8.95 8.95 0 0 0-3.219-1.355 9.028 9.028 0 0 0-1.838-.18V2L8 5l3.975 3V6.002c.484-.002.968.044 1.435.14a6.961 6.961 0 0 1 2.502 1.053 7.005 7.005 0 0 1 1.892 1.892A6.967 6.967 0 0 1 19 13a7.032 7.032 0 0 1-.55 2.725 7.11 7.11 0 0 1-.644 1.188 7.2 7.2 0 0 1-.858 1.039 7.028 7.028 0 0 1-3.536 1.907 7.13 7.13 0 0 1-2.822 0 6.961 6.961 0 0 1-2.503-1.054 7.002 7.002 0 0 1-1.89-1.89A6.996 6.996 0 0 1 5 13H3a9.02 9.02 0 0 0 1.539 5.034 9.096 9.096 0 0 0 2.428 2.428A8.95 8.95 0 0 0 12 22a9.09 9.09 0 0 0 1.814-.183 9.014 9.014 0 0 0 3.218-1.355 8.886 8.886 0 0 0 1.331-1.099 9.228 9.228 0 0 0 1.1-1.332A8.952 8.952 0 0 0 21 13a9.09 9.09 0 0 0-.183-1.814z"}}]})(e)}const tZ=e=>{const[t,n]=f.useState(!1),{label:r,value:o,min:s=1,max:a=100,step:c=1,onChange:d,tooltipSuffix:p="",withSliderMarks:h=!1,withInput:m=!1,isInteger:v=!1,inputWidth:b=16,withReset:w=!1,hideTooltip:y=!1,isCompact:S=!1,isDisabled:k=!1,sliderMarks:_,handleReset:P,sliderFormControlProps:I,sliderFormLabelProps:E,sliderMarkProps:O,sliderTrackProps:R,sliderThumbProps:M,sliderNumberInputProps:D,sliderNumberInputFieldProps:A,sliderNumberInputStepperProps:L,sliderTooltipProps:Q,sliderIAIIconButtonProps:F,...V}=e,q=te(),{t:G}=ye(),[T,z]=f.useState(String(o));f.useEffect(()=>{z(o)},[o]);const $=f.useMemo(()=>D!=null&&D.min?D.min:s,[s,D==null?void 0:D.min]),Y=f.useMemo(()=>D!=null&&D.max?D.max:a,[a,D==null?void 0:D.max]),ae=f.useCallback(re=>{d(re)},[d]),fe=f.useCallback(re=>{re.target.value===""&&(re.target.value=String($));const oe=Es(v?Math.floor(Number(re.target.value)):Number(T),$,Y),pe=ju(oe,c);d(pe),z(pe)},[v,T,$,Y,d,c]),ie=f.useCallback(re=>{z(re)},[]),X=f.useCallback(()=>{P&&P()},[P]),K=f.useCallback(re=>{re.target instanceof HTMLDivElement&&re.target.focus()},[]),U=f.useCallback(re=>{re.shiftKey&&q(jo(!0))},[q]),se=f.useCallback(re=>{re.shiftKey||q(jo(!1))},[q]);return i.jsxs(go,{onClick:K,sx:S?{display:"flex",flexDirection:"row",alignItems:"center",columnGap:4,margin:0,padding:0}:{},isDisabled:k,...I,children:[r&&i.jsx(Bo,{sx:m?{mb:-1.5}:{},...E,children:r}),i.jsxs(fi,{w:"100%",gap:2,alignItems:"center",children:[i.jsxs(Q6,{"aria-label":r,value:o,min:s,max:a,step:c,onChange:ae,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),focusThumbOnChange:!1,isDisabled:k,...V,children:[h&&!_&&i.jsxs(i.Fragment,{children:[i.jsx(ql,{value:s,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...O,children:s}),i.jsx(ql,{value:a,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...O,children:a})]}),h&&_&&i.jsx(i.Fragment,{children:_.map((re,oe)=>oe===0?i.jsx(ql,{value:re,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...O,children:re},re):oe===_.length-1?i.jsx(ql,{value:re,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...O,children:re},re):i.jsx(ql,{value:re,sx:{transform:"translateX(-50%)"},...O,children:re},re))}),i.jsx(Z6,{...R,children:i.jsx(eP,{})}),i.jsx(vn,{hasArrow:!0,placement:"top",isOpen:t,label:`${o}${p}`,hidden:y,...Q,children:i.jsx(J6,{...M,zIndex:0})})]}),m&&i.jsxs(Cm,{min:$,max:Y,step:c,value:T,onChange:ie,onBlur:fe,focusInputOnChange:!1,...D,children:[i.jsx(_m,{onKeyDown:U,onKeyUp:se,minWidth:b,...A}),i.jsxs(km,{...L,children:[i.jsx(jm,{onClick:()=>d(Number(T))}),i.jsx(Pm,{onClick:()=>d(Number(T))})]})]}),w&&i.jsx(ze,{size:"sm","aria-label":G("accessibility.reset"),tooltip:G("accessibility.reset"),icon:i.jsx(eZ,{}),isDisabled:k,onClick:X,...F})]})]})},_t=f.memo(tZ),QE=f.forwardRef(({label:e,tooltip:t,description:n,disabled:r,...o},s)=>i.jsx(vn,{label:t,placement:"top",hasArrow:!0,openDelay:500,children:i.jsx(Re,{ref:s,...o,children:i.jsxs(Re,{children:[i.jsx(_c,{children:e}),n&&i.jsx(_c,{size:"xs",color:"base.600",children:n})]})})}));QE.displayName="IAIMantineSelectItemWithTooltip";const Oi=f.memo(QE),nZ=be([lt],({gallery:e,system:t})=>{const{autoAddBoardId:n,autoAssignBoardOnClick:r}=e,{isProcessing:o}=t;return{autoAddBoardId:n,autoAssignBoardOnClick:r,isProcessing:o}},Je),rZ=()=>{const e=te(),{autoAddBoardId:t,autoAssignBoardOnClick:n,isProcessing:r}=B(nZ),o=f.useRef(null),{boards:s,hasBoards:a}=um(void 0,{selectFromResult:({data:d})=>{const p=[{label:"None",value:"none"}];return d==null||d.forEach(({board_id:h,board_name:m})=>{p.push({label:m,value:h})}),{boards:p,hasBoards:p.length>1}}}),c=f.useCallback(d=>{d&&e(dm(d))},[e]);return i.jsx(ar,{label:"Auto-Add Board",inputRef:o,autoFocus:!0,placeholder:"Select a Board",value:t,data:s,nothingFound:"No matching Boards",itemComponent:Oi,disabled:!a||n||r,filter:(d,p)=>{var h;return((h=p.label)==null?void 0:h.toLowerCase().includes(d.toLowerCase().trim()))||p.value.toLowerCase().includes(d.toLowerCase().trim())},onChange:c})},oZ=e=>{const{label:t,...n}=e,{colorMode:r}=Ds();return i.jsx(n3,{colorScheme:"accent",...n,children:i.jsx(Qe,{sx:{fontSize:"sm",color:Fe("base.800","base.200")(r)},children:t})})},Gn=f.memo(oZ),sZ=be([lt],e=>{const{galleryImageMinimumWidth:t,shouldAutoSwitch:n,autoAssignBoardOnClick:r,shouldShowDeleteButton:o}=e.gallery;return{galleryImageMinimumWidth:t,shouldAutoSwitch:n,autoAssignBoardOnClick:r,shouldShowDeleteButton:o}},Je),aZ=()=>{const e=te(),{t}=ye(),{galleryImageMinimumWidth:n,shouldAutoSwitch:r,autoAssignBoardOnClick:o,shouldShowDeleteButton:s}=B(sZ),a=f.useCallback(h=>{e(zp(h))},[e]),c=f.useCallback(()=>{e(zp(64))},[e]),d=f.useCallback(h=>{e(i7(h.target.checked))},[e]),p=f.useCallback(h=>{e(l7(h.target.checked))},[e]);return i.jsx(xl,{triggerComponent:i.jsx(ze,{tooltip:t("gallery.gallerySettings"),"aria-label":t("gallery.gallerySettings"),size:"sm",icon:i.jsx(Sy,{})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(_t,{value:n,onChange:a,min:32,max:256,hideTooltip:!0,label:t("gallery.galleryImageSize"),withReset:!0,handleReset:c}),i.jsx(yr,{label:t("gallery.autoSwitchNewImages"),isChecked:r,onChange:d}),i.jsx(yr,{label:"Show Delete Button",isChecked:s,onChange:p}),i.jsx(Gn,{label:t("gallery.autoAssignBoardOnClick"),isChecked:o,onChange:h=>e(c7(h.target.checked))}),i.jsx(rZ,{})]})})},iZ=e=>e.image?i.jsx(Im,{sx:{w:`${e.image.width}px`,h:"auto",objectFit:"contain",aspectRatio:`${e.image.width}/${e.image.height}`}}):i.jsx(W,{sx:{opacity:.7,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",bg:"base.200",_dark:{bg:"base.900"}},children:i.jsx(hl,{size:"xl"})}),tl=e=>{const{icon:t=Oc,boxSize:n=16}=e;return i.jsxs(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",flexDir:"column",gap:2,userSelect:"none",opacity:.7,color:"base.700",_dark:{color:"base.500"},...e.sx},children:[i.jsx(fo,{as:t,boxSize:n,opacity:.7}),e.label&&i.jsx(Qe,{textAlign:"center",children:e.label})]})},Qm=0,Ri=1,Kc=2,JE=4;function lZ(e,t){return n=>e(t(n))}function cZ(e,t){return t(e)}function ZE(e,t){return n=>e(t,n)}function ck(e,t){return()=>e(t)}function Hy(e,t){return t(e),e}function wl(...e){return e}function uZ(e){e()}function uk(e){return()=>e}function dZ(...e){return()=>{e.map(uZ)}}function Jm(){}function ho(e,t){return e(Ri,t)}function Ar(e,t){e(Qm,t)}function Wy(e){e(Kc)}function Zm(e){return e(JE)}function Un(e,t){return ho(e,ZE(t,Qm))}function dk(e,t){const n=e(Ri,r=>{n(),t(r)});return n}function Sr(){const e=[];return(t,n)=>{switch(t){case Kc:e.splice(0,e.length);return;case Ri:return e.push(n),()=>{const r=e.indexOf(n);r>-1&&e.splice(r,1)};case Qm:e.slice().forEach(r=>{r(n)});return;default:throw new Error(`unrecognized action ${t}`)}}}function Kt(e){let t=e;const n=Sr();return(r,o)=>{switch(r){case Ri:o(t);break;case Qm:t=o;break;case JE:return t}return n(r,o)}}function fZ(e){let t,n;const r=()=>t&&t();return function(o,s){switch(o){case Ri:return s?n===s?void 0:(r(),n=s,t=ho(e,s),t):(r(),Jm);case Kc:r(),n=null;return;default:throw new Error(`unrecognized action ${o}`)}}}function Uu(e){return Hy(Sr(),t=>Un(e,t))}function gc(e,t){return Hy(Kt(t),n=>Un(e,n))}function pZ(...e){return t=>e.reduceRight(cZ,t)}function Xt(e,...t){const n=pZ(...t);return(r,o)=>{switch(r){case Ri:return ho(e,n(o));case Kc:Wy(e);return}}}function eO(e,t){return e===t}function Co(e=eO){let t;return n=>r=>{e(t,r)||(t=r,n(r))}}function Kr(e){return t=>n=>{e(n)&&t(n)}}function nr(e){return t=>lZ(t,e)}function ii(e){return t=>()=>t(e)}function wp(e,t){return n=>r=>n(t=e(t,r))}function R1(e){return t=>n=>{e>0?e--:t(n)}}function Du(e){let t=null,n;return r=>o=>{t=o,!n&&(n=setTimeout(()=>{n=void 0,r(t)},e))}}function fk(e){let t,n;return r=>o=>{t=o,n&&clearTimeout(n),n=setTimeout(()=>{r(t)},e)}}function Xs(...e){const t=new Array(e.length);let n=0,r=null;const o=Math.pow(2,e.length)-1;return e.forEach((s,a)=>{const c=Math.pow(2,a);ho(s,d=>{const p=n;n=n|c,t[a]=d,p!==o&&n===o&&r&&(r(),r=null)})}),s=>a=>{const c=()=>s([a].concat(t));n===o?c():r=c}}function pk(...e){return function(t,n){switch(t){case Ri:return dZ(...e.map(r=>ho(r,n)));case Kc:return;default:throw new Error(`unrecognized action ${t}`)}}}function wn(e,t=eO){return Xt(e,Co(t))}function Ca(...e){const t=Sr(),n=new Array(e.length);let r=0;const o=Math.pow(2,e.length)-1;return e.forEach((s,a)=>{const c=Math.pow(2,a);ho(s,d=>{n[a]=d,r=r|c,r===o&&Ar(t,n)})}),function(s,a){switch(s){case Ri:return r===o&&a(n),ho(t,a);case Kc:return Wy(t);default:throw new Error(`unrecognized action ${s}`)}}}function ua(e,t=[],{singleton:n}={singleton:!0}){return{id:hZ(),constructor:e,dependencies:t,singleton:n}}const hZ=()=>Symbol();function mZ(e){const t=new Map,n=({id:r,constructor:o,dependencies:s,singleton:a})=>{if(a&&t.has(r))return t.get(r);const c=o(s.map(d=>n(d)));return a&&t.set(r,c),c};return n(e)}function gZ(e,t){const n={},r={};let o=0;const s=e.length;for(;o(S[k]=_=>{const P=y[t.methods[k]];Ar(P,_)},S),{})}function h(y){return a.reduce((S,k)=>(S[k]=fZ(y[t.events[k]]),S),{})}return{Component:H.forwardRef((y,S)=>{const{children:k,..._}=y,[P]=H.useState(()=>Hy(mZ(e),E=>d(E,_))),[I]=H.useState(ck(h,P));return Sp(()=>{for(const E of a)E in _&&ho(I[E],_[E]);return()=>{Object.values(I).map(Wy)}},[_,I,P]),Sp(()=>{d(P,_)}),H.useImperativeHandle(S,uk(p(P))),H.createElement(c.Provider,{value:P},n?H.createElement(n,gZ([...r,...o,...a],_),k):k)}),usePublisher:y=>H.useCallback(ZE(Ar,H.useContext(c)[y]),[y]),useEmitterValue:y=>{const k=H.useContext(c)[y],[_,P]=H.useState(ck(Zm,k));return Sp(()=>ho(k,I=>{I!==_&&P(uk(I))}),[k,_]),_},useEmitter:(y,S)=>{const _=H.useContext(c)[y];Sp(()=>ho(_,S),[S,_])}}}const bZ=typeof document<"u"?H.useLayoutEffect:H.useEffect,yZ=bZ;var Vy=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e))(Vy||{});const xZ={0:"debug",1:"log",2:"warn",3:"error"},wZ=()=>typeof globalThis>"u"?window:globalThis,tO=ua(()=>{const e=Kt(3);return{log:Kt((n,r,o=1)=>{var s;const a=(s=wZ().VIRTUOSO_LOG_LEVEL)!=null?s:Zm(e);o>=a&&console[xZ[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",n,r)}),logLevel:e}},[],{singleton:!0});function nO(e,t=!0){const n=H.useRef(null);let r=o=>{};if(typeof ResizeObserver<"u"){const o=H.useMemo(()=>new ResizeObserver(s=>{const a=s[0].target;a.offsetParent!==null&&e(a)}),[e]);r=s=>{s&&t?(o.observe(s),n.current=s):(n.current&&o.unobserve(n.current),n.current=null)}}return{ref:n,callbackRef:r}}function eg(e,t=!0){return nO(e,t).callbackRef}function Zh(e,t){return Math.round(e.getBoundingClientRect()[t])}function rO(e,t){return Math.abs(e-t)<1.01}function oO(e,t,n,r=Jm,o){const s=H.useRef(null),a=H.useRef(null),c=H.useRef(null),d=H.useCallback(m=>{const v=m.target,b=v===window||v===document,w=b?window.pageYOffset||document.documentElement.scrollTop:v.scrollTop,y=b?document.documentElement.scrollHeight:v.scrollHeight,S=b?window.innerHeight:v.offsetHeight,k=()=>{e({scrollTop:Math.max(w,0),scrollHeight:y,viewportHeight:S})};m.suppressFlushSync?k():u7.flushSync(k),a.current!==null&&(w===a.current||w<=0||w===y-S)&&(a.current=null,t(!0),c.current&&(clearTimeout(c.current),c.current=null))},[e,t]);H.useEffect(()=>{const m=o||s.current;return r(o||s.current),d({target:m,suppressFlushSync:!0}),m.addEventListener("scroll",d,{passive:!0}),()=>{r(null),m.removeEventListener("scroll",d)}},[s,d,n,r,o]);function p(m){const v=s.current;if(!v||"offsetHeight"in v&&v.offsetHeight===0)return;const b=m.behavior==="smooth";let w,y,S;v===window?(y=Math.max(Zh(document.documentElement,"height"),document.documentElement.scrollHeight),w=window.innerHeight,S=document.documentElement.scrollTop):(y=v.scrollHeight,w=Zh(v,"height"),S=v.scrollTop);const k=y-w;if(m.top=Math.ceil(Math.max(Math.min(k,m.top),0)),rO(w,y)||m.top===S){e({scrollTop:S,scrollHeight:y,viewportHeight:w}),b&&t(!0);return}b?(a.current=m.top,c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{c.current=null,a.current=null,t(!0)},1e3)):a.current=null,v.scrollTo(m)}function h(m){s.current.scrollBy(m)}return{scrollerRef:s,scrollByCallback:h,scrollToCallback:p}}const tg=ua(()=>{const e=Sr(),t=Sr(),n=Kt(0),r=Sr(),o=Kt(0),s=Sr(),a=Sr(),c=Kt(0),d=Kt(0),p=Kt(0),h=Kt(0),m=Sr(),v=Sr(),b=Kt(!1);return Un(Xt(e,nr(({scrollTop:w})=>w)),t),Un(Xt(e,nr(({scrollHeight:w})=>w)),a),Un(t,o),{scrollContainerState:e,scrollTop:t,viewportHeight:s,headerHeight:c,fixedHeaderHeight:d,fixedFooterHeight:p,footerHeight:h,scrollHeight:a,smoothScrollTargetReached:r,scrollTo:m,scrollBy:v,statefulScrollTop:o,deviation:n,scrollingInProgress:b}},[],{singleton:!0}),SZ=typeof document<"u"&&"scrollBehavior"in document.documentElement.style;function CZ(e){const t=typeof e=="number"?{index:e}:e;return t.align||(t.align="start"),(!t.behavior||!SZ)&&(t.behavior="auto"),t.offset||(t.offset=0),t}const em="up",Gu="down",kZ="none",_Z={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,scrollHeight:0}},PZ=0,sO=ua(([{scrollContainerState:e,scrollTop:t,viewportHeight:n,headerHeight:r,footerHeight:o,scrollBy:s}])=>{const a=Kt(!1),c=Kt(!0),d=Sr(),p=Sr(),h=Kt(4),m=Kt(PZ),v=gc(Xt(pk(Xt(wn(t),R1(1),ii(!0)),Xt(wn(t),R1(1),ii(!1),fk(100))),Co()),!1),b=gc(Xt(pk(Xt(s,ii(!0)),Xt(s,ii(!1),fk(200))),Co()),!1);Un(Xt(Ca(wn(t),wn(m)),nr(([_,P])=>_<=P),Co()),c),Un(Xt(c,Du(50)),p);const w=Uu(Xt(Ca(e,wn(n),wn(r),wn(o),wn(h)),wp((_,[{scrollTop:P,scrollHeight:I},E,O,R,M])=>{const D=P+E-I>-M,A={viewportHeight:E,scrollTop:P,scrollHeight:I};if(D){let Q,F;return P>_.state.scrollTop?(Q="SCROLLED_DOWN",F=_.state.scrollTop-P):(Q="SIZE_DECREASED",F=_.state.scrollTop-P||_.scrollTopDelta),{atBottom:!0,state:A,atBottomBecause:Q,scrollTopDelta:F}}let L;return A.scrollHeight>_.state.scrollHeight?L="SIZE_INCREASED":E<_.state.viewportHeight?L="VIEWPORT_HEIGHT_DECREASING":P<_.state.scrollTop?L="SCROLLING_UPWARDS":L="NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",{atBottom:!1,notAtBottomBecause:L,state:A}},_Z),Co((_,P)=>_&&_.atBottom===P.atBottom))),y=gc(Xt(e,wp((_,{scrollTop:P,scrollHeight:I,viewportHeight:E})=>{if(rO(_.scrollHeight,I))return{scrollTop:P,scrollHeight:I,jump:0,changed:!1};{const O=I-(P+E)<1;return _.scrollTop!==P&&O?{scrollHeight:I,scrollTop:P,jump:_.scrollTop-P,changed:!0}:{scrollHeight:I,scrollTop:P,jump:0,changed:!0}}},{scrollHeight:0,jump:0,scrollTop:0,changed:!1}),Kr(_=>_.changed),nr(_=>_.jump)),0);Un(Xt(w,nr(_=>_.atBottom)),a),Un(Xt(a,Du(50)),d);const S=Kt(Gu);Un(Xt(e,nr(({scrollTop:_})=>_),Co(),wp((_,P)=>Zm(b)?{direction:_.direction,prevScrollTop:P}:{direction:P<_.prevScrollTop?em:Gu,prevScrollTop:P},{direction:Gu,prevScrollTop:0}),nr(_=>_.direction)),S),Un(Xt(e,Du(50),ii(kZ)),S);const k=Kt(0);return Un(Xt(v,Kr(_=>!_),ii(0)),k),Un(Xt(t,Du(100),Xs(v),Kr(([_,P])=>!!P),wp(([_,P],[I])=>[P,I],[0,0]),nr(([_,P])=>P-_)),k),{isScrolling:v,isAtTop:c,isAtBottom:a,atBottomState:w,atTopStateChange:p,atBottomStateChange:d,scrollDirection:S,atBottomThreshold:h,atTopThreshold:m,scrollVelocity:k,lastJumpDueToItemResize:y}},wl(tg)),jZ=ua(([{log:e}])=>{const t=Kt(!1),n=Uu(Xt(t,Kr(r=>r),Co()));return ho(t,r=>{r&&Zm(e)("props updated",{},Vy.DEBUG)}),{propsReady:t,didMount:n}},wl(tO),{singleton:!0});function aO(e,t){e==0?t():requestAnimationFrame(()=>aO(e-1,t))}function IZ(e,t){const n=t-1;return typeof e=="number"?e:e.index==="LAST"?n:e.index}function M1(e,t){return!!(e&&e[0]===t[0]&&e[1]===t[1])}function EZ(e,t){return!!(e&&e.startIndex===t.startIndex&&e.endIndex===t.endIndex)}const tm="top",nm="bottom",hk="none";function mk(e,t,n){return typeof e=="number"?n===em&&t===tm||n===Gu&&t===nm?e:0:n===em?t===tm?e.main:e.reverse:t===nm?e.main:e.reverse}function gk(e,t){return typeof e=="number"?e:e[t]||0}const OZ=ua(([{scrollTop:e,viewportHeight:t,deviation:n,headerHeight:r,fixedHeaderHeight:o}])=>{const s=Sr(),a=Kt(0),c=Kt(0),d=Kt(0),p=gc(Xt(Ca(wn(e),wn(t),wn(r),wn(s,M1),wn(d),wn(a),wn(o),wn(n),wn(c)),nr(([h,m,v,[b,w],y,S,k,_,P])=>{const I=h-_,E=S+k,O=Math.max(v-I,0);let R=hk;const M=gk(P,tm),D=gk(P,nm);return b-=_,b+=v+k,w+=v+k,w-=_,b>h+E-M&&(R=em),wh!=null),Co(M1)),[0,0]);return{listBoundary:s,overscan:d,topListHeight:a,increaseViewportBy:c,visibleRange:p}},wl(tg),{singleton:!0}),RZ=ua(([{scrollVelocity:e}])=>{const t=Kt(!1),n=Sr(),r=Kt(!1);return Un(Xt(e,Xs(r,t,n),Kr(([o,s])=>!!s),nr(([o,s,a,c])=>{const{exit:d,enter:p}=s;if(a){if(d(o,c))return!1}else if(p(o,c))return!0;return a}),Co()),t),ho(Xt(Ca(t,e,n),Xs(r)),([[o,s,a],c])=>o&&c&&c.change&&c.change(s,a)),{isSeeking:t,scrollSeekConfiguration:r,scrollVelocity:e,scrollSeekRangeChanged:n}},wl(sO),{singleton:!0});function MZ(e){let t=!1,n;return()=>(t||(t=!0,n=e()),n)}const DZ=ua(([{scrollTo:e,scrollContainerState:t}])=>{const n=Sr(),r=Sr(),o=Sr(),s=Kt(!1),a=Kt(void 0);return Un(Xt(Ca(n,r),nr(([{viewportHeight:c,scrollTop:d,scrollHeight:p},{offsetTop:h}])=>({scrollTop:Math.max(0,d-h),scrollHeight:p,viewportHeight:c}))),t),Un(Xt(e,Xs(r),nr(([c,{offsetTop:d}])=>({...c,top:c.top+d}))),o),{useWindowScroll:s,customScrollParent:a,windowScrollContainerState:n,windowViewportRect:r,windowScrollTo:o}},wl(tg)),uv="-webkit-sticky",vk="sticky",iO=MZ(()=>{if(typeof document>"u")return vk;const e=document.createElement("div");return e.style.position=uv,e.style.position===uv?uv:vk});function AZ(e,t){const n=H.useRef(null),r=H.useCallback(c=>{if(c===null||!c.offsetParent)return;const d=c.getBoundingClientRect(),p=d.width;let h,m;if(t){const v=t.getBoundingClientRect(),b=d.top-v.top;h=v.height-Math.max(0,b),m=b+t.scrollTop}else h=window.innerHeight-Math.max(0,d.top),m=d.top+window.pageYOffset;n.current={offsetTop:m,visibleHeight:h,visibleWidth:p},e(n.current)},[e,t]),{callbackRef:o,ref:s}=nO(r),a=H.useCallback(()=>{r(s.current)},[r,s]);return H.useEffect(()=>{if(t){t.addEventListener("scroll",a);const c=new ResizeObserver(a);return c.observe(t),()=>{t.removeEventListener("scroll",a),c.unobserve(t)}}else return window.addEventListener("scroll",a),window.addEventListener("resize",a),()=>{window.removeEventListener("scroll",a),window.removeEventListener("resize",a)}},[a,t]),o}H.createContext(void 0);const lO=H.createContext(void 0);function TZ(e){return e}iO();const NZ={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},cO={width:"100%",height:"100%",position:"absolute",top:0};iO();function nl(e,t){if(typeof e!="string")return{context:t}}function $Z({usePublisher:e,useEmitter:t,useEmitterValue:n}){return H.memo(function({style:s,children:a,...c}){const d=e("scrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),m=n("scrollerRef"),v=n("context"),{scrollerRef:b,scrollByCallback:w,scrollToCallback:y}=oO(d,h,p,m);return t("scrollTo",y),t("scrollBy",w),H.createElement(p,{ref:b,style:{...NZ,...s},"data-test-id":"virtuoso-scroller","data-virtuoso-scroller":!0,tabIndex:0,...c,...nl(p,v)},a)})}function LZ({usePublisher:e,useEmitter:t,useEmitterValue:n}){return H.memo(function({style:s,children:a,...c}){const d=e("windowScrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),m=n("totalListHeight"),v=n("deviation"),b=n("customScrollParent"),w=n("context"),{scrollerRef:y,scrollByCallback:S,scrollToCallback:k}=oO(d,h,p,Jm,b);return yZ(()=>(y.current=b||window,()=>{y.current=null}),[y,b]),t("windowScrollTo",k),t("scrollBy",S),H.createElement(p,{style:{position:"relative",...s,...m!==0?{height:m+v}:{}},"data-virtuoso-scroller":!0,...c,...nl(p,w)},a)})}const bk={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},zZ={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},{round:yk,ceil:xk,floor:rm,min:dv,max:qu}=Math;function BZ(e){return{...zZ,items:e}}function wk(e,t,n){return Array.from({length:t-e+1}).map((r,o)=>{const s=n===null?null:n[o+e];return{index:o+e,data:s}})}function FZ(e,t){return e&&e.column===t.column&&e.row===t.row}function Cp(e,t){return e&&e.width===t.width&&e.height===t.height}const HZ=ua(([{overscan:e,visibleRange:t,listBoundary:n},{scrollTop:r,viewportHeight:o,scrollBy:s,scrollTo:a,smoothScrollTargetReached:c,scrollContainerState:d,footerHeight:p,headerHeight:h},m,v,{propsReady:b,didMount:w},{windowViewportRect:y,useWindowScroll:S,customScrollParent:k,windowScrollContainerState:_,windowScrollTo:P},I])=>{const E=Kt(0),O=Kt(0),R=Kt(bk),M=Kt({height:0,width:0}),D=Kt({height:0,width:0}),A=Sr(),L=Sr(),Q=Kt(0),F=Kt(null),V=Kt({row:0,column:0}),q=Sr(),G=Sr(),T=Kt(!1),z=Kt(0),$=Kt(!0),Y=Kt(!1);ho(Xt(w,Xs(z),Kr(([U,se])=>!!se)),()=>{Ar($,!1),Ar(O,0)}),ho(Xt(Ca(w,$,D,M,z,Y),Kr(([U,se,re,oe,,pe])=>U&&!se&&re.height!==0&&oe.height!==0&&!pe)),([,,,,U])=>{Ar(Y,!0),aO(1,()=>{Ar(A,U)}),dk(Xt(r),()=>{Ar(n,[0,0]),Ar($,!0)})}),Un(Xt(G,Kr(U=>U!=null&&U.scrollTop>0),ii(0)),O),ho(Xt(w,Xs(G),Kr(([,U])=>U!=null)),([,U])=>{U&&(Ar(M,U.viewport),Ar(D,U==null?void 0:U.item),Ar(V,U.gap),U.scrollTop>0&&(Ar(T,!0),dk(Xt(r,R1(1)),se=>{Ar(T,!1)}),Ar(a,{top:U.scrollTop})))}),Un(Xt(M,nr(({height:U})=>U)),o),Un(Xt(Ca(wn(M,Cp),wn(D,Cp),wn(V,(U,se)=>U&&U.column===se.column&&U.row===se.row),wn(r)),nr(([U,se,re,oe])=>({viewport:U,item:se,gap:re,scrollTop:oe}))),q),Un(Xt(Ca(wn(E),t,wn(V,FZ),wn(D,Cp),wn(M,Cp),wn(F),wn(O),wn(T),wn($),wn(z)),Kr(([,,,,,,,U])=>!U),nr(([U,[se,re],oe,pe,le,ge,ke,,xe,de])=>{const{row:Te,column:Ee}=oe,{height:$e,width:kt}=pe,{width:ct}=le;if(ke===0&&(U===0||ct===0))return bk;if(kt===0){const $t=IZ(de,U),Lt=$t===0?Math.max(ke-1,0):$t;return BZ(wk($t,Lt,ge))}const on=uO(ct,kt,Ee);let vt,bt;xe?se===0&&re===0&&ke>0?(vt=0,bt=ke-1):(vt=on*rm((se+Te)/($e+Te)),bt=on*xk((re+Te)/($e+Te))-1,bt=dv(U-1,qu(bt,on-1)),vt=dv(bt,qu(0,vt))):(vt=0,bt=-1);const Se=wk(vt,bt,ge),{top:Me,bottom:Pt}=Sk(le,oe,pe,Se),Tt=xk(U/on),ht=Tt*$e+(Tt-1)*Te-Pt;return{items:Se,offsetTop:Me,offsetBottom:ht,top:Me,bottom:Pt,itemHeight:$e,itemWidth:kt}})),R),Un(Xt(F,Kr(U=>U!==null),nr(U=>U.length)),E),Un(Xt(Ca(M,D,R,V),Kr(([U,se,{items:re}])=>re.length>0&&se.height!==0&&U.height!==0),nr(([U,se,{items:re},oe])=>{const{top:pe,bottom:le}=Sk(U,oe,se,re);return[pe,le]}),Co(M1)),n);const ae=Kt(!1);Un(Xt(r,Xs(ae),nr(([U,se])=>se||U!==0)),ae);const fe=Uu(Xt(wn(R),Kr(({items:U})=>U.length>0),Xs(E,ae),Kr(([{items:U},se,re])=>re&&U[U.length-1].index===se-1),nr(([,U])=>U-1),Co())),ie=Uu(Xt(wn(R),Kr(({items:U})=>U.length>0&&U[0].index===0),ii(0),Co())),X=Uu(Xt(wn(R),Xs(T),Kr(([{items:U},se])=>U.length>0&&!se),nr(([{items:U}])=>({startIndex:U[0].index,endIndex:U[U.length-1].index})),Co(EZ),Du(0)));Un(X,v.scrollSeekRangeChanged),Un(Xt(A,Xs(M,D,E,V),nr(([U,se,re,oe,pe])=>{const le=CZ(U),{align:ge,behavior:ke,offset:xe}=le;let de=le.index;de==="LAST"&&(de=oe-1),de=qu(0,de,dv(oe-1,de));let Te=D1(se,pe,re,de);return ge==="end"?Te=yk(Te-se.height+re.height):ge==="center"&&(Te=yk(Te-se.height/2+re.height/2)),xe&&(Te+=xe),{top:Te,behavior:ke}})),a);const K=gc(Xt(R,nr(U=>U.offsetBottom+U.bottom)),0);return Un(Xt(y,nr(U=>({width:U.visibleWidth,height:U.visibleHeight}))),M),{data:F,totalCount:E,viewportDimensions:M,itemDimensions:D,scrollTop:r,scrollHeight:L,overscan:e,scrollBy:s,scrollTo:a,scrollToIndex:A,smoothScrollTargetReached:c,windowViewportRect:y,windowScrollTo:P,useWindowScroll:S,customScrollParent:k,windowScrollContainerState:_,deviation:Q,scrollContainerState:d,footerHeight:p,headerHeight:h,initialItemCount:O,gap:V,restoreStateFrom:G,...v,initialTopMostItemIndex:z,gridState:R,totalListHeight:K,...m,startReached:ie,endReached:fe,rangeChanged:X,stateChanged:q,propsReady:b,stateRestoreInProgress:T,...I}},wl(OZ,tg,sO,RZ,jZ,DZ,tO));function Sk(e,t,n,r){const{height:o}=n;if(o===void 0||r.length===0)return{top:0,bottom:0};const s=D1(e,t,n,r[0].index),a=D1(e,t,n,r[r.length-1].index)+o;return{top:s,bottom:a}}function D1(e,t,n,r){const o=uO(e.width,n.width,t.column),s=rm(r/o),a=s*n.height+qu(0,s-1)*t.row;return a>0?a+t.row:a}function uO(e,t,n){return qu(1,rm((e+n)/(rm(t)+n)))}const WZ=ua(()=>{const e=Kt(p=>`Item ${p}`),t=Kt({}),n=Kt(null),r=Kt("virtuoso-grid-item"),o=Kt("virtuoso-grid-list"),s=Kt(TZ),a=Kt("div"),c=Kt(Jm),d=(p,h=null)=>gc(Xt(t,nr(m=>m[p]),Co()),h);return{context:n,itemContent:e,components:t,computeItemKey:s,itemClassName:r,listClassName:o,headerFooterTag:a,scrollerRef:c,FooterComponent:d("Footer"),HeaderComponent:d("Header"),ListComponent:d("List","div"),ItemComponent:d("Item","div"),ScrollerComponent:d("Scroller","div"),ScrollSeekPlaceholder:d("ScrollSeekPlaceholder","div")}}),VZ=ua(([e,t])=>({...e,...t}),wl(HZ,WZ)),UZ=H.memo(function(){const t=fr("gridState"),n=fr("listClassName"),r=fr("itemClassName"),o=fr("itemContent"),s=fr("computeItemKey"),a=fr("isSeeking"),c=js("scrollHeight"),d=fr("ItemComponent"),p=fr("ListComponent"),h=fr("ScrollSeekPlaceholder"),m=fr("context"),v=js("itemDimensions"),b=js("gap"),w=fr("log"),y=fr("stateRestoreInProgress"),S=eg(k=>{const _=k.parentElement.parentElement.scrollHeight;c(_);const P=k.firstChild;if(P){const{width:I,height:E}=P.getBoundingClientRect();v({width:I,height:E})}b({row:Ck("row-gap",getComputedStyle(k).rowGap,w),column:Ck("column-gap",getComputedStyle(k).columnGap,w)})});return y?null:H.createElement(p,{ref:S,className:n,...nl(p,m),style:{paddingTop:t.offsetTop,paddingBottom:t.offsetBottom},"data-test-id":"virtuoso-item-list"},t.items.map(k=>{const _=s(k.index,k.data,m);return a?H.createElement(h,{key:_,...nl(h,m),index:k.index,height:t.itemHeight,width:t.itemWidth}):H.createElement(d,{...nl(d,m),className:r,"data-index":k.index,key:_},o(k.index,k.data,m))}))}),GZ=H.memo(function(){const t=fr("HeaderComponent"),n=js("headerHeight"),r=fr("headerFooterTag"),o=eg(a=>n(Zh(a,"height"))),s=fr("context");return t?H.createElement(r,{ref:o},H.createElement(t,nl(t,s))):null}),qZ=H.memo(function(){const t=fr("FooterComponent"),n=js("footerHeight"),r=fr("headerFooterTag"),o=eg(a=>n(Zh(a,"height"))),s=fr("context");return t?H.createElement(r,{ref:o},H.createElement(t,nl(t,s))):null}),KZ=({children:e})=>{const t=H.useContext(lO),n=js("itemDimensions"),r=js("viewportDimensions"),o=eg(s=>{r(s.getBoundingClientRect())});return H.useEffect(()=>{t&&(r({height:t.viewportHeight,width:t.viewportWidth}),n({height:t.itemHeight,width:t.itemWidth}))},[t,r,n]),H.createElement("div",{style:cO,ref:o},e)},XZ=({children:e})=>{const t=H.useContext(lO),n=js("windowViewportRect"),r=js("itemDimensions"),o=fr("customScrollParent"),s=AZ(n,o);return H.useEffect(()=>{t&&(r({height:t.itemHeight,width:t.itemWidth}),n({offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:t.viewportWidth}))},[t,n,r]),H.createElement("div",{ref:s,style:cO},e)},YZ=H.memo(function({...t}){const n=fr("useWindowScroll"),r=fr("customScrollParent"),o=r||n?ZZ:JZ,s=r||n?XZ:KZ;return H.createElement(o,{...t},H.createElement(s,null,H.createElement(GZ,null),H.createElement(UZ,null),H.createElement(qZ,null)))}),{Component:QZ,usePublisher:js,useEmitterValue:fr,useEmitter:dO}=vZ(VZ,{optional:{context:"context",totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",data:"data",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",restoreStateFrom:"restoreStateFrom",initialTopMostItemIndex:"initialTopMostItemIndex"},methods:{scrollTo:"scrollTo",scrollBy:"scrollBy",scrollToIndex:"scrollToIndex"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",stateChanged:"stateChanged"}},YZ),JZ=$Z({usePublisher:js,useEmitterValue:fr,useEmitter:dO}),ZZ=LZ({usePublisher:js,useEmitterValue:fr,useEmitter:dO});function Ck(e,t,n){return t!=="normal"&&!(t!=null&&t.endsWith("px"))&&n(`${e} was not resolved to pixel value correctly`,t,Vy.WARN),t==="normal"?0:parseInt(t??"0",10)}const eee=QZ,tee=e=>{const t=B(s=>s.gallery.galleryView),{data:n}=H_(e),{data:r}=W_(e),o=f.useMemo(()=>t==="images"?n:r,[t,r,n]);return{totalImages:n,totalAssets:r,currentViewTotal:o}},nee=({imageDTO:e})=>i.jsx(W,{sx:{pointerEvents:"none",flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,p:2,alignItems:"flex-start",gap:2},children:i.jsxs(gl,{variant:"solid",colorScheme:"base",children:[e.width," × ",e.height]})}),ng=({postUploadAction:e,isDisabled:t})=>{const n=B(d=>d.gallery.autoAddBoardId),[r]=$_(),o=f.useCallback(d=>{const p=d[0];p&&r({file:p,image_category:"user",is_intermediate:!1,postUploadAction:e??{type:"TOAST"},board_id:n==="none"?void 0:n})},[n,e,r]),{getRootProps:s,getInputProps:a,open:c}=ty({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},onDropAccepted:o,disabled:t,noDrag:!0,multiple:!1});return{getUploadButtonProps:s,getUploadInputProps:a,openUploader:c}},Uy=()=>{const e=te(),t=Vc(),{t:n}=ye(),r=f.useCallback(()=>{t({title:n("toast.parameterSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),o=f.useCallback(()=>{t({title:n("toast.parameterNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),s=f.useCallback(()=>{t({title:n("toast.parametersSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),a=f.useCallback(()=>{t({title:n("toast.parametersNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),c=f.useCallback((O,R,M,D)=>{if(Nf(O)||$f(R)||pu(M)||g0(D)){Nf(O)&&e($u(O)),$f(R)&&e(Lu(R)),pu(M)&&e(zu(M)),pu(D)&&e(Bu(D)),r();return}o()},[e,r,o]),d=f.useCallback(O=>{if(!Nf(O)){o();return}e($u(O)),r()},[e,r,o]),p=f.useCallback(O=>{if(!$f(O)){o();return}e(Lu(O)),r()},[e,r,o]),h=f.useCallback(O=>{if(!pu(O)){o();return}e(zu(O)),r()},[e,r,o]),m=f.useCallback(O=>{if(!g0(O)){o();return}e(Bu(O)),r()},[e,r,o]),v=f.useCallback(O=>{if(!Q2(O)){o();return}e(Bp(O)),r()},[e,r,o]),b=f.useCallback(O=>{if(!v0(O)){o();return}e(Fp(O)),r()},[e,r,o]),w=f.useCallback(O=>{if(!J2(O)){o();return}e(jv(O)),r()},[e,r,o]),y=f.useCallback(O=>{if(!b0(O)){o();return}e(Iv(O)),r()},[e,r,o]),S=f.useCallback(O=>{if(!y0(O)){o();return}e(Hp(O)),r()},[e,r,o]),k=f.useCallback(O=>{if(!Z2(O)){o();return}e(vc(O)),r()},[e,r,o]),_=f.useCallback(O=>{if(!ew(O)){o();return}e(bc(O)),r()},[e,r,o]),P=f.useCallback(O=>{if(!tw(O)){o();return}e(Wp(O)),r()},[e,r,o]),I=f.useCallback(O=>{e(eb(O))},[e]),E=f.useCallback(O=>{if(!O){a();return}const{cfg_scale:R,height:M,model:D,positive_prompt:A,negative_prompt:L,scheduler:Q,seed:F,steps:V,width:q,strength:G,positive_style_prompt:T,negative_style_prompt:z,refiner_model:$,refiner_cfg_scale:Y,refiner_steps:ae,refiner_scheduler:fe,refiner_aesthetic_store:ie,refiner_start:X}=O;v0(R)&&e(Fp(R)),J2(D)&&e(jv(D)),Nf(A)&&e($u(A)),$f(L)&&e(Lu(L)),b0(Q)&&e(Iv(Q)),Q2(F)&&e(Bp(F)),y0(V)&&e(Hp(V)),Z2(q)&&e(vc(q)),ew(M)&&e(bc(M)),tw(G)&&e(Wp(G)),pu(T)&&e(zu(T)),g0(z)&&e(Bu(z)),d7($)&&e(q_($)),y0(ae)&&e(Ev(ae)),v0(Y)&&e(Ov(Y)),b0(fe)&&e(K_(fe)),f7(ie)&&e(Rv(ie)),p7(X)&&e(Mv(X)),s()},[a,s,e]);return{recallBothPrompts:c,recallPositivePrompt:d,recallNegativePrompt:p,recallSDXLPositiveStylePrompt:h,recallSDXLNegativeStylePrompt:m,recallSeed:v,recallCfgScale:b,recallModel:w,recallScheduler:y,recallSteps:S,recallWidth:k,recallHeight:_,recallStrength:P,recallAllParameters:E,sendToImageToImage:I}},hr=e=>{const t=B(a=>a.config.disabledTabs),n=B(a=>a.config.disabledFeatures),r=B(a=>a.config.disabledSDFeatures),o=f.useMemo(()=>n.includes(e)||r.includes(e)||t.includes(e),[n,r,t,e]),s=f.useMemo(()=>!(n.includes(e)||r.includes(e)||t.includes(e)),[n,r,t,e]);return{isFeatureDisabled:o,isFeatureEnabled:s}},Gy=()=>{const e=Vc(),{t}=ye(),n=f.useMemo(()=>!!navigator.clipboard&&!!window.ClipboardItem,[]),r=f.useCallback(async o=>{n||e({title:t("toast.problemCopyingImage"),description:"Your browser doesn't support the Clipboard API.",status:"error",duration:2500,isClosable:!0});try{const a=await(await fetch(o)).blob();await navigator.clipboard.write([new ClipboardItem({[a.type]:a})]),e({title:t("toast.imageCopied"),status:"success",duration:2500,isClosable:!0})}catch(s){e({title:t("toast.problemCopyingImage"),description:String(s),status:"error",duration:2500,isClosable:!0})}},[n,t,e]);return{isClipboardAPIAvailable:n,copyImageToClipboard:r}};function ree(e,t,n){var r=this,o=f.useRef(null),s=f.useRef(0),a=f.useRef(null),c=f.useRef([]),d=f.useRef(),p=f.useRef(),h=f.useRef(e),m=f.useRef(!0);f.useEffect(function(){h.current=e},[e]);var v=!t&&t!==0&&typeof window<"u";if(typeof e!="function")throw new TypeError("Expected a function");t=+t||0;var b=!!(n=n||{}).leading,w=!("trailing"in n)||!!n.trailing,y="maxWait"in n,S=y?Math.max(+n.maxWait||0,t):null;f.useEffect(function(){return m.current=!0,function(){m.current=!1}},[]);var k=f.useMemo(function(){var _=function(M){var D=c.current,A=d.current;return c.current=d.current=null,s.current=M,p.current=h.current.apply(A,D)},P=function(M,D){v&&cancelAnimationFrame(a.current),a.current=v?requestAnimationFrame(M):setTimeout(M,D)},I=function(M){if(!m.current)return!1;var D=M-o.current;return!o.current||D>=t||D<0||y&&M-s.current>=S},E=function(M){return a.current=null,w&&c.current?_(M):(c.current=d.current=null,p.current)},O=function M(){var D=Date.now();if(I(D))return E(D);if(m.current){var A=t-(D-o.current),L=y?Math.min(A,S-(D-s.current)):A;P(M,L)}},R=function(){var M=Date.now(),D=I(M);if(c.current=[].slice.call(arguments),d.current=r,o.current=M,D){if(!a.current&&m.current)return s.current=o.current,P(O,t),b?_(o.current):p.current;if(y)return P(O,t),_(o.current)}return a.current||P(O,t),p.current};return R.cancel=function(){a.current&&(v?cancelAnimationFrame(a.current):clearTimeout(a.current)),s.current=0,c.current=o.current=d.current=a.current=null},R.isPending=function(){return!!a.current},R.flush=function(){return a.current?E(Date.now()):p.current},R},[b,y,t,S,w,v]);return k}function oee(e,t){return e===t}function kk(e){return typeof e=="function"?function(){return e}:e}function qy(e,t,n){var r,o,s=n&&n.equalityFn||oee,a=(r=f.useState(kk(e)),o=r[1],[r[0],f.useCallback(function(m){return o(kk(m))},[])]),c=a[0],d=a[1],p=ree(f.useCallback(function(m){return d(m)},[d]),t,n),h=f.useRef(e);return s(h.current,e)||(p(e),h.current=e),[c,p]}tb("gallery/requestedBoardImagesDeletion");const see=tb("gallery/sentImageToCanvas"),fO=tb("gallery/sentImageToImg2Img"),aee=e=>{const{imageDTO:t}=e,n=te(),{t:r}=ye(),o=Vc(),s=hr("unifiedCanvas").isFeatureEnabled,[a,c]=qy(t.image_name,500),{currentData:d}=nb(c.isPending()?ro.skipToken:a??ro.skipToken),{isClipboardAPIAvailable:p,copyImageToClipboard:h}=Gy(),m=d==null?void 0:d.metadata,v=f.useCallback(()=>{t&&n(fm([t]))},[n,t]),{recallBothPrompts:b,recallSeed:w,recallAllParameters:y}=Uy(),S=f.useCallback(()=>{b(m==null?void 0:m.positive_prompt,m==null?void 0:m.negative_prompt,m==null?void 0:m.positive_style_prompt,m==null?void 0:m.negative_style_prompt)},[m==null?void 0:m.negative_prompt,m==null?void 0:m.positive_prompt,m==null?void 0:m.positive_style_prompt,m==null?void 0:m.negative_style_prompt,b]),k=f.useCallback(()=>{w(m==null?void 0:m.seed)},[m==null?void 0:m.seed,w]),_=f.useCallback(()=>{n(fO()),n(eb(t))},[n,t]),P=f.useCallback(()=>{n(see()),n(h7(t)),n(pm()),n(Yl("unifiedCanvas")),o({title:r("toast.sentToUnifiedCanvas"),status:"success",duration:2500,isClosable:!0})},[n,t,r,o]),I=f.useCallback(()=>{console.log(m),y(m)},[m,y]),E=f.useCallback(()=>{n(X_([t])),n(Q1(!0))},[n,t]),O=f.useCallback(()=>{h(t.image_url)},[h,t.image_url]);return i.jsxs(i.Fragment,{children:[i.jsx(jr,{as:"a",href:t.image_url,target:"_blank",icon:i.jsx(BY,{}),children:r("common.openInNewTab")}),p&&i.jsx(jr,{icon:i.jsx(qc,{}),onClickCapture:O,children:r("parameters.copyImage")}),i.jsx(jr,{as:"a",download:!0,href:t.image_url,target:"_blank",icon:i.jsx(yy,{}),w:"100%",children:r("parameters.downloadImage")}),i.jsx(jr,{icon:i.jsx(iE,{}),onClickCapture:S,isDisabled:(m==null?void 0:m.positive_prompt)===void 0&&(m==null?void 0:m.negative_prompt)===void 0,children:r("parameters.usePrompt")}),i.jsx(jr,{icon:i.jsx(lE,{}),onClickCapture:k,isDisabled:(m==null?void 0:m.seed)===void 0,children:r("parameters.useSeed")}),i.jsx(jr,{icon:i.jsx(YI,{}),onClickCapture:I,isDisabled:!m,children:r("parameters.useAll")}),i.jsx(jr,{icon:i.jsx(T4,{}),onClickCapture:_,id:"send-to-img2img",children:r("parameters.sendToImg2Img")}),s&&i.jsx(jr,{icon:i.jsx(T4,{}),onClickCapture:P,id:"send-to-canvas",children:r("parameters.sendToUnifiedCanvas")}),i.jsx(jr,{icon:i.jsx(nE,{}),onClickCapture:E,children:"Change Board"}),i.jsx(jr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(Eo,{}),onClickCapture:v,children:r("gallery.deleteImage")})]})},pO=f.memo(aee),iee=()=>{const e=te(),t=B(o=>o.gallery.selection),n=f.useCallback(()=>{e(X_(t)),e(Q1(!0))},[e,t]),r=f.useCallback(()=>{e(fm(t))},[e,t]);return i.jsxs(i.Fragment,{children:[i.jsx(jr,{icon:i.jsx(nE,{}),onClickCapture:n,children:"Change Board"}),i.jsx(jr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(Eo,{}),onClickCapture:r,children:"Delete Selection"})]})},lee=be([lt],({gallery:e})=>({selectionCount:e.selection.length}),Je),cee=({imageDTO:e,children:t})=>{const{selectionCount:n}=B(lee),r=f.useCallback(o=>{o.preventDefault()},[]);return i.jsx(GE,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>e?n>1?i.jsx(il,{sx:{visibility:"visible !important"},motionProps:Zu,onContextMenu:r,children:i.jsx(iee,{})}):i.jsx(il,{sx:{visibility:"visible !important"},motionProps:Zu,onContextMenu:r,children:i.jsx(pO,{imageDTO:e})}):null,children:t})},uee=f.memo(cee),dee=e=>{const{data:t,disabled:n,onClick:r}=e,o=f.useRef(di()),{attributes:s,listeners:a,setNodeRef:c}=m7({id:o.current,disabled:n,data:t});return i.jsx(Re,{onClick:r,ref:c,position:"absolute",w:"full",h:"full",top:0,insetInlineStart:0,...s,...a})},fee=f.memo(dee),pee=e=>{const{imageDTO:t,onClickReset:n,onError:r,onClick:o,withResetIcon:s=!1,withMetadataOverlay:a=!1,isDropDisabled:c=!1,isDragDisabled:d=!1,isUploadDisabled:p=!1,minSize:h=24,postUploadAction:m,imageSx:v,fitContainer:b=!1,droppableData:w,draggableData:y,dropLabel:S,isSelected:k=!1,thumbnail:_=!1,resetTooltip:P="Reset",resetIcon:I=i.jsx(wy,{}),noContentFallback:E=i.jsx(tl,{icon:Oc}),useThumbailFallback:O,withHoverOverlay:R=!1}=e,{colorMode:M}=Ds(),[D,A]=f.useState(!1),L=f.useCallback(()=>{A(!0)},[]),Q=f.useCallback(()=>{A(!1)},[]),{getUploadButtonProps:F,getUploadInputProps:V}=ng({postUploadAction:m,isDisabled:p}),q=Pp("drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-600))","drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-800))"),G=p?{}:{cursor:"pointer",bg:Fe("base.200","base.800")(M),_hover:{bg:Fe("base.300","base.650")(M),color:Fe("base.500","base.300")(M)}};return i.jsx(uee,{imageDTO:t,children:T=>i.jsxs(W,{ref:T,onMouseOver:L,onMouseOut:Q,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative",minW:h||void 0,minH:h||void 0,userSelect:"none",cursor:d||!t?"default":"pointer"},children:[t&&i.jsxs(W,{sx:{w:"full",h:"full",position:b?"absolute":"relative",alignItems:"center",justifyContent:"center"},children:[i.jsx(Lc,{src:_?t.thumbnail_url:t.image_url,fallbackStrategy:"beforeLoadOrError",fallbackSrc:O?t.thumbnail_url:void 0,fallback:O?void 0:i.jsx(iZ,{image:t}),width:t.width,height:t.height,onError:r,draggable:!1,sx:{objectFit:"contain",maxW:"full",maxH:"full",borderRadius:"base",...v}}),a&&i.jsx(nee,{imageDTO:t}),i.jsx(By,{isSelected:k,isHovered:R?D:!1})]}),!t&&!p&&i.jsx(i.Fragment,{children:i.jsxs(W,{sx:{minH:h,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",transitionProperty:"common",transitionDuration:"0.1s",color:Fe("base.500","base.500")(M),...G},...F(),children:[i.jsx("input",{...V()}),i.jsx(fo,{as:Wd,sx:{boxSize:16}})]})}),!t&&p&&E,t&&!d&&i.jsx(fee,{data:y,disabled:d||!t,onClick:o}),!c&&i.jsx(zy,{data:w,disabled:c,dropLabel:S}),n&&s&&t&&i.jsx(ze,{onClick:n,"aria-label":P,tooltip:P,icon:I,size:"sm",variant:"link",sx:{position:"absolute",top:1,insetInlineEnd:1,p:0,minW:0,svg:{transitionProperty:"common",transitionDuration:"normal",fill:"base.100",_hover:{fill:"base.50"},filter:q}}})]})})},fl=f.memo(pee),hee=()=>i.jsx(Im,{sx:{position:"relative",height:"full",width:"full","::before":{content:"''",display:"block",pt:"100%"}},children:i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineStart:0,height:"full",width:"full"}})}),mee=be([lt,rb],({gallery:e},t)=>{const n=e.selection;return{queryArgs:t,selection:n}},Je),gee=e=>{const t=te(),{queryArgs:n,selection:r}=B(mee),{imageDTOs:o}=Y_(n,{selectFromResult:d=>({imageDTOs:d.data?g7.selectAll(d.data):[]})}),s=f.useCallback(d=>{var p;if(e)if(d.shiftKey){const h=e.image_name,m=(p=r[r.length-1])==null?void 0:p.image_name,v=o.findIndex(w=>w.image_name===m),b=o.findIndex(w=>w.image_name===h);if(v>-1&&b>-1){const w=Math.min(v,b),y=Math.max(v,b),S=o.slice(w,y+1);t(Lf(Ow(r.concat(S))))}}else d.ctrlKey||d.metaKey?r.some(h=>h.image_name===e.image_name)&&r.length>1?t(Lf(r.filter(h=>h.image_name!==e.image_name))):t(Lf(Ow(r.concat(e)))):t(Lf([e]))},[t,e,o,r]),a=f.useMemo(()=>e?r.some(d=>d.image_name===e.image_name):!1,[e,r]),c=f.useMemo(()=>r.length,[r.length]);return{selection:r,selectionCount:c,isSelected:a,handleClick:s}},vee=e=>{const t=te(),{imageName:n}=e,{currentData:r}=Is(n),o=B(m=>m.gallery.shouldShowDeleteButton),{handleClick:s,isSelected:a,selection:c,selectionCount:d}=gee(r),p=f.useCallback(m=>{m.stopPropagation(),r&&t(fm([r]))},[t,r]),h=f.useMemo(()=>{if(d>1)return{id:"gallery-image",payloadType:"IMAGE_DTOS",payload:{imageDTOs:c}};if(r)return{id:"gallery-image",payloadType:"IMAGE_DTO",payload:{imageDTO:r}}},[r,c,d]);return r?i.jsx(Re,{sx:{w:"full",h:"full",touchAction:"none"},children:i.jsx(W,{userSelect:"none",sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1"},children:i.jsx(fl,{onClick:s,imageDTO:r,draggableData:h,isSelected:a,minSize:0,onClickReset:p,imageSx:{w:"full",h:"full"},isDropDisabled:!0,isUploadDisabled:!0,thumbnail:!0,withHoverOverlay:!0,resetIcon:i.jsx(Eo,{}),resetTooltip:"Delete image",withResetIcon:o})})}):i.jsx(hee,{})},bee=f.memo(vee),yee=Ae((e,t)=>i.jsx(Re,{className:"item-container",ref:t,p:1.5,children:e.children})),xee=Ae((e,t)=>{const n=B(r=>r.gallery.galleryImageMinimumWidth);return i.jsx(sl,{...e,className:"list-container",ref:t,sx:{gridTemplateColumns:`repeat(auto-fill, minmax(${n}px, 1fr));`},children:e.children})}),wee={defer:!0,options:{scrollbars:{visibility:"auto",autoHide:"leave",autoHideDelay:1300,theme:"os-theme-dark"},overflow:{x:"hidden"}}},See=()=>{const{t:e}=ye(),t=f.useRef(null),[n,r]=f.useState(null),[o,s]=LE(wee),a=B(S=>S.gallery.selectedBoardId),{currentViewTotal:c}=tee(a),d=B(rb),{currentData:p,isFetching:h,isSuccess:m,isError:v}=Y_(d),[b]=Q_(),w=f.useMemo(()=>!p||!c?!1:p.ids.length{w&&b({...d,offset:(p==null?void 0:p.ids.length)??0,limit:J_})},[w,b,d,p==null?void 0:p.ids.length]);return f.useEffect(()=>{const{current:S}=t;return n&&S&&o({target:S,elements:{viewport:n}}),()=>{var k;return(k=s())==null?void 0:k.destroy()}},[n,o,s]),p?m&&(p==null?void 0:p.ids.length)===0?i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(tl,{label:e("gallery.noImagesInGallery"),icon:Oc})}):m&&p?i.jsxs(i.Fragment,{children:[i.jsx(Re,{ref:t,"data-overlayscrollbars":"",h:"100%",children:i.jsx(eee,{style:{height:"100%"},data:p.ids,endReached:y,components:{Item:yee,List:xee},scrollerRef:r,itemContent:(S,k)=>i.jsx(bee,{imageName:k},k)})}),i.jsx(Yt,{onClick:y,isDisabled:!w,isLoading:h,loadingText:"Loading",flexShrink:0,children:`Load More (${p.ids.length} of ${c})`})]}):v?i.jsx(Re,{sx:{w:"full",h:"full"},children:i.jsx(tl,{label:"Unable to load Gallery",icon:ZI})}):null:i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(tl,{label:"Loading...",icon:Oc})})},Cee=f.memo(See),kee=be([lt],e=>{const{galleryView:t}=e.gallery;return{galleryView:t}},Je),_ee=()=>{const e=f.useRef(null),t=f.useRef(null),{galleryView:n}=B(kee),r=te(),{isOpen:o,onToggle:s}=ss(),a=f.useCallback(()=>{r(nw("images"))},[r]),c=f.useCallback(()=>{r(nw("assets"))},[r]);return i.jsxs(o6,{sx:{flexDirection:"column",h:"full",w:"full",borderRadius:"base"},children:[i.jsxs(Re,{sx:{w:"full"},children:[i.jsxs(W,{ref:e,sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:[i.jsx(YJ,{isOpen:o,onToggle:s}),i.jsx(aZ,{}),i.jsx(JJ,{})]}),i.jsx(Re,{children:i.jsx(qJ,{isOpen:o})})]}),i.jsxs(W,{ref:t,direction:"column",gap:2,h:"full",w:"full",children:[i.jsx(W,{sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:i.jsx($d,{index:n==="images"?0:1,variant:"unstyled",size:"sm",sx:{w:"full"},children:i.jsx(Ld,{children:i.jsxs(rr,{isAttached:!0,sx:{w:"full"},children:[i.jsx(kc,{as:Yt,size:"sm",isChecked:n==="images",onClick:a,sx:{w:"full"},leftIcon:i.jsx(UY,{}),children:"Images"}),i.jsx(kc,{as:Yt,size:"sm",isChecked:n==="assets",onClick:c,sx:{w:"full"},leftIcon:i.jsx(nQ,{}),children:"Assets"})]})})})}),i.jsx(Cee,{})]})]})},hO=f.memo(_ee),Pee=be([Kn,Ba,v7,ir],(e,t,n,r)=>{const{shouldPinGallery:o,shouldShowGallery:s}=t,{galleryImageMinimumWidth:a}=n;return{activeTabName:e,isStaging:r,shouldPinGallery:o,shouldShowGallery:s,galleryImageMinimumWidth:a,isResizable:e!=="unifiedCanvas"}},{memoizeOptions:{resultEqualityCheck:Zt}}),jee=()=>{const e=te(),{shouldPinGallery:t,shouldShowGallery:n,galleryImageMinimumWidth:r}=B(Pee),o=()=>{e(Dv(!1)),t&&e(ko())};tt("esc",()=>{e(Dv(!1))},{enabled:()=>!t,preventDefault:!0},[t]);const s=32;return tt("shift+up",()=>{if(r<256){const a=Es(r+s,32,256);e(zp(a))}},[r]),tt("shift+down",()=>{if(r>32){const a=Es(r-s,32,256);e(zp(a))}},[r]),t?null:i.jsx(GI,{direction:"right",isResizable:!0,isOpen:n,onClose:o,minWidth:400,children:i.jsx(hO,{})})},Iee=f.memo(jee);function Eee(e){const{title:t,hotkey:n,description:r}=e;return i.jsxs(sl,{sx:{gridTemplateColumns:"auto max-content",justifyContent:"space-between",alignItems:"center"},children:[i.jsxs(sl,{children:[i.jsx(Qe,{fontWeight:600,children:t}),r&&i.jsx(Qe,{sx:{fontSize:"sm"},variant:"subtext",children:r})]}),i.jsx(Re,{sx:{fontSize:"sm",fontWeight:600,px:2,py:1},children:n})]})}function Oee({children:e}){const{isOpen:t,onOpen:n,onClose:r}=ss(),{t:o}=ye(),s=[{title:o("hotkeys.invoke.title"),desc:o("hotkeys.invoke.desc"),hotkey:"Ctrl+Enter"},{title:o("hotkeys.cancel.title"),desc:o("hotkeys.cancel.desc"),hotkey:"Shift+X"},{title:o("hotkeys.focusPrompt.title"),desc:o("hotkeys.focusPrompt.desc"),hotkey:"Alt+A"},{title:o("hotkeys.toggleOptions.title"),desc:o("hotkeys.toggleOptions.desc"),hotkey:"O"},{title:o("hotkeys.pinOptions.title"),desc:o("hotkeys.pinOptions.desc"),hotkey:"Shift+O"},{title:o("hotkeys.toggleGallery.title"),desc:o("hotkeys.toggleGallery.desc"),hotkey:"G"},{title:o("hotkeys.maximizeWorkSpace.title"),desc:o("hotkeys.maximizeWorkSpace.desc"),hotkey:"F"},{title:o("hotkeys.changeTabs.title"),desc:o("hotkeys.changeTabs.desc"),hotkey:"1-5"}],a=[{title:o("hotkeys.setPrompt.title"),desc:o("hotkeys.setPrompt.desc"),hotkey:"P"},{title:o("hotkeys.setSeed.title"),desc:o("hotkeys.setSeed.desc"),hotkey:"S"},{title:o("hotkeys.setParameters.title"),desc:o("hotkeys.setParameters.desc"),hotkey:"A"},{title:o("hotkeys.upscale.title"),desc:o("hotkeys.upscale.desc"),hotkey:"Shift+U"},{title:o("hotkeys.showInfo.title"),desc:o("hotkeys.showInfo.desc"),hotkey:"I"},{title:o("hotkeys.sendToImageToImage.title"),desc:o("hotkeys.sendToImageToImage.desc"),hotkey:"Shift+I"},{title:o("hotkeys.deleteImage.title"),desc:o("hotkeys.deleteImage.desc"),hotkey:"Del"},{title:o("hotkeys.closePanels.title"),desc:o("hotkeys.closePanels.desc"),hotkey:"Esc"}],c=[{title:o("hotkeys.previousImage.title"),desc:o("hotkeys.previousImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextImage.title"),desc:o("hotkeys.nextImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.toggleGalleryPin.title"),desc:o("hotkeys.toggleGalleryPin.desc"),hotkey:"Shift+G"},{title:o("hotkeys.increaseGalleryThumbSize.title"),desc:o("hotkeys.increaseGalleryThumbSize.desc"),hotkey:"Shift+Up"},{title:o("hotkeys.decreaseGalleryThumbSize.title"),desc:o("hotkeys.decreaseGalleryThumbSize.desc"),hotkey:"Shift+Down"}],d=[{title:o("hotkeys.selectBrush.title"),desc:o("hotkeys.selectBrush.desc"),hotkey:"B"},{title:o("hotkeys.selectEraser.title"),desc:o("hotkeys.selectEraser.desc"),hotkey:"E"},{title:o("hotkeys.decreaseBrushSize.title"),desc:o("hotkeys.decreaseBrushSize.desc"),hotkey:"["},{title:o("hotkeys.increaseBrushSize.title"),desc:o("hotkeys.increaseBrushSize.desc"),hotkey:"]"},{title:o("hotkeys.decreaseBrushOpacity.title"),desc:o("hotkeys.decreaseBrushOpacity.desc"),hotkey:"Shift + ["},{title:o("hotkeys.increaseBrushOpacity.title"),desc:o("hotkeys.increaseBrushOpacity.desc"),hotkey:"Shift + ]"},{title:o("hotkeys.moveTool.title"),desc:o("hotkeys.moveTool.desc"),hotkey:"V"},{title:o("hotkeys.fillBoundingBox.title"),desc:o("hotkeys.fillBoundingBox.desc"),hotkey:"Shift + F"},{title:o("hotkeys.eraseBoundingBox.title"),desc:o("hotkeys.eraseBoundingBox.desc"),hotkey:"Delete / Backspace"},{title:o("hotkeys.colorPicker.title"),desc:o("hotkeys.colorPicker.desc"),hotkey:"C"},{title:o("hotkeys.toggleSnap.title"),desc:o("hotkeys.toggleSnap.desc"),hotkey:"N"},{title:o("hotkeys.quickToggleMove.title"),desc:o("hotkeys.quickToggleMove.desc"),hotkey:"Hold Space"},{title:o("hotkeys.toggleLayer.title"),desc:o("hotkeys.toggleLayer.desc"),hotkey:"Q"},{title:o("hotkeys.clearMask.title"),desc:o("hotkeys.clearMask.desc"),hotkey:"Shift+C"},{title:o("hotkeys.hideMask.title"),desc:o("hotkeys.hideMask.desc"),hotkey:"H"},{title:o("hotkeys.showHideBoundingBox.title"),desc:o("hotkeys.showHideBoundingBox.desc"),hotkey:"Shift+H"},{title:o("hotkeys.mergeVisible.title"),desc:o("hotkeys.mergeVisible.desc"),hotkey:"Shift+M"},{title:o("hotkeys.saveToGallery.title"),desc:o("hotkeys.saveToGallery.desc"),hotkey:"Shift+S"},{title:o("hotkeys.copyToClipboard.title"),desc:o("hotkeys.copyToClipboard.desc"),hotkey:"Ctrl+C"},{title:o("hotkeys.downloadImage.title"),desc:o("hotkeys.downloadImage.desc"),hotkey:"Shift+D"},{title:o("hotkeys.undoStroke.title"),desc:o("hotkeys.undoStroke.desc"),hotkey:"Ctrl+Z"},{title:o("hotkeys.redoStroke.title"),desc:o("hotkeys.redoStroke.desc"),hotkey:"Ctrl+Shift+Z, Ctrl+Y"},{title:o("hotkeys.resetView.title"),desc:o("hotkeys.resetView.desc"),hotkey:"R"},{title:o("hotkeys.previousStagingImage.title"),desc:o("hotkeys.previousStagingImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextStagingImage.title"),desc:o("hotkeys.nextStagingImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.acceptStagingImage.title"),desc:o("hotkeys.acceptStagingImage.desc"),hotkey:"Enter"}],p=h=>i.jsx(W,{flexDir:"column",gap:4,children:h.map((m,v)=>i.jsxs(W,{flexDir:"column",px:2,gap:4,children:[i.jsx(Eee,{title:m.title,description:m.desc,hotkey:m.hotkey}),v{const{data:t}=b7(),n=f.useRef(null),r=mO(n);return i.jsxs(W,{alignItems:"center",gap:3,ps:1,ref:n,children:[i.jsx(Lc,{src:U_,alt:"invoke-ai-logo",sx:{w:"32px",h:"32px",minW:"32px",minH:"32px",userSelect:"none"}}),i.jsxs(W,{sx:{gap:3,alignItems:"center"},children:[i.jsxs(Qe,{sx:{fontSize:"xl",userSelect:"none"},children:["invoke ",i.jsx("strong",{children:"ai"})]}),i.jsx(mo,{children:e&&r&&t&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:i.jsx(Qe,{sx:{fontWeight:600,marginTop:1,color:"base.300",fontSize:14},variant:"subtext",children:t.version})},"statusText")})]})]})},$ee=e=>{const{tooltip:t,inputRef:n,label:r,disabled:o,required:s,...a}=e,c=VI();return i.jsx(vn,{label:t,placement:"top",hasArrow:!0,children:i.jsx(gy,{label:r?i.jsx(go,{isRequired:s,isDisabled:o,children:i.jsx(Bo,{children:r})}):void 0,disabled:o,ref:n,styles:c,...a})})},Xr=f.memo($ee);function Yo(e){const{t}=ye(),{label:n,textProps:r,useBadge:o=!1,badgeLabel:s=t("settings.experimental"),badgeProps:a,...c}=e;return i.jsxs(W,{justifyContent:"space-between",py:1,children:[i.jsxs(W,{gap:2,alignItems:"center",children:[i.jsx(Qe,{sx:{fontSize:14,_dark:{color:"base.300"}},...r,children:n}),o&&i.jsx(gl,{size:"xs",sx:{px:2,color:"base.700",bg:"accent.200",_dark:{bg:"accent.500",color:"base.200"}},...a,children:s})]}),i.jsx(yr,{...c})]})}const Xl=e=>i.jsx(W,{sx:{flexDirection:"column",gap:2,p:4,borderRadius:"base",bg:"base.100",_dark:{bg:"base.900"}},children:e.children});function Lee(){const e=te(),{data:t,refetch:n}=y7(),[r,{isLoading:o}]=x7(),s=f.useCallback(()=>{r().unwrap().then(c=>{e(w7()),e(ob()),e(On({title:`Cleared ${c} intermediates`,status:"info"}))})},[r,e]);f.useEffect(()=>{n()},[n]);const a=t?`Clear ${t} Intermediate${t>1?"s":""}`:"No Intermediates to Clear";return i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:"Clear Intermediates"}),i.jsx(Yt,{colorScheme:"warning",onClick:s,isLoading:o,isDisabled:!t,children:a}),i.jsx(Qe,{fontWeight:"bold",children:"Clearing intermediates will reset your Canvas and ControlNet state."}),i.jsx(Qe,{variant:"subtext",children:"Intermediate images are byproducts of generation, different from the result images in the gallery. Clearing intermediates will free disk space."}),i.jsx(Qe,{variant:"subtext",children:"Your gallery images will not be deleted."})]})}const zee=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:a,base700:c,base800:d,base900:p,accent200:h,accent300:m,accent400:v,accent500:b,accent600:w}=vy(),{colorMode:y}=Ds(),[S]=$c("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:Fe(c,r)(y)},separatorLabel:{color:Fe(s,s)(y),"::after":{borderTopColor:Fe(r,c)(y)}},searchInput:{":placeholder":{color:Fe(r,c)(y)}},input:{backgroundColor:Fe(e,p)(y),borderWidth:"2px",borderColor:Fe(n,d)(y),color:Fe(p,t)(y),paddingRight:24,fontWeight:600,"&:hover":{borderColor:Fe(r,a)(y)},"&:focus":{borderColor:Fe(m,w)(y)},"&:is(:focus, :hover)":{borderColor:Fe(o,s)(y)},"&:focus-within":{borderColor:Fe(h,w)(y)},"&[data-disabled]":{backgroundColor:Fe(r,c)(y),color:Fe(a,o)(y),cursor:"not-allowed"}},value:{backgroundColor:Fe(n,d)(y),color:Fe(p,t)(y),button:{color:Fe(p,t)(y)},"&:hover":{backgroundColor:Fe(r,c)(y),cursor:"pointer"}},dropdown:{backgroundColor:Fe(n,d)(y),borderColor:Fe(n,d)(y),boxShadow:S},item:{backgroundColor:Fe(n,d)(y),color:Fe(d,n)(y),padding:6,"&[data-hovered]":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)},"&[data-active]":{backgroundColor:Fe(r,c)(y),"&:hover":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)}},"&[data-selected]":{backgroundColor:Fe(v,w)(y),color:Fe(e,t)(y),fontWeight:600,"&:hover":{backgroundColor:Fe(b,b)(y),color:Fe("white",e)(y)}},"&[data-disabled]":{color:Fe(s,a)(y),cursor:"not-allowed"}},rightSection:{width:24,padding:20,button:{color:Fe(p,t)(y)}}}),[h,m,v,b,w,t,n,r,o,e,s,a,c,d,p,S,y])},Bee=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,label:o,disabled:s,...a}=e,c=te(),d=f.useCallback(m=>{m.shiftKey&&c(jo(!0))},[c]),p=f.useCallback(m=>{m.shiftKey||c(jo(!1))},[c]),h=zee();return i.jsx(vn,{label:n,placement:"top",hasArrow:!0,isOpen:!0,children:i.jsx(LI,{label:o?i.jsx(go,{isDisabled:s,children:i.jsx(Bo,{children:o})}):void 0,ref:r,disabled:s,onKeyDown:d,onKeyUp:p,searchable:t,maxDropdownHeight:300,styles:h,...a})})},Fee=f.memo(Bee),Hee=cs(sb,(e,t)=>({value:t,label:e})).sort((e,t)=>e.label.localeCompare(t.label));function Wee(){const e=te(),{t}=ye(),n=B(o=>o.ui.favoriteSchedulers),r=f.useCallback(o=>{e(S7(o))},[e]);return i.jsx(Fee,{label:t("settings.favoriteSchedulers"),value:n,data:Hee,onChange:r,clearable:!0,searchable:!0,maxSelectedValues:99,placeholder:t("settings.favoriteSchedulersPlaceholder")})}const Vee={ar:Bn.t("common.langArabic",{lng:"ar"}),nl:Bn.t("common.langDutch",{lng:"nl"}),en:Bn.t("common.langEnglish",{lng:"en"}),fr:Bn.t("common.langFrench",{lng:"fr"}),de:Bn.t("common.langGerman",{lng:"de"}),he:Bn.t("common.langHebrew",{lng:"he"}),it:Bn.t("common.langItalian",{lng:"it"}),ja:Bn.t("common.langJapanese",{lng:"ja"}),ko:Bn.t("common.langKorean",{lng:"ko"}),pl:Bn.t("common.langPolish",{lng:"pl"}),pt_BR:Bn.t("common.langBrPortuguese",{lng:"pt_BR"}),pt:Bn.t("common.langPortuguese",{lng:"pt"}),ru:Bn.t("common.langRussian",{lng:"ru"}),zh_CN:Bn.t("common.langSimplifiedChinese",{lng:"zh_CN"}),es:Bn.t("common.langSpanish",{lng:"es"}),uk:Bn.t("common.langUkranian",{lng:"ua"})},Uee=be([lt],({system:e,ui:t,generation:n})=>{const{shouldConfirmOnDelete:r,enableImageDebugging:o,consoleLogLevel:s,shouldLogToConsole:a,shouldAntialiasProgressImage:c,isNodesEnabled:d,shouldUseNSFWChecker:p,shouldUseWatermarker:h}=e,{shouldUseCanvasBetaLayout:m,shouldUseSliders:v,shouldShowProgressInViewer:b}=t,{shouldShowAdvancedOptions:w}=n;return{shouldConfirmOnDelete:r,enableImageDebugging:o,shouldUseCanvasBetaLayout:m,shouldUseSliders:v,shouldShowProgressInViewer:b,consoleLogLevel:s,shouldLogToConsole:a,shouldAntialiasProgressImage:c,shouldShowAdvancedOptions:w,isNodesEnabled:d,shouldUseNSFWChecker:p,shouldUseWatermarker:h}},{memoizeOptions:{resultEqualityCheck:Zt}}),Gee=({children:e,config:t})=>{const n=te(),{t:r}=ye(),o=(t==null?void 0:t.shouldShowBetaLayout)??!0,s=(t==null?void 0:t.shouldShowDeveloperSettings)??!0,a=(t==null?void 0:t.shouldShowResetWebUiText)??!0,c=(t==null?void 0:t.shouldShowAdvancedOptionsSettings)??!0,d=(t==null?void 0:t.shouldShowClearIntermediates)??!0,p=(t==null?void 0:t.shouldShowNodesToggle)??!0,h=(t==null?void 0:t.shouldShowLocalizationToggle)??!0;f.useEffect(()=>{s||n(rw(!1))},[s,n]);const{isNSFWCheckerAvailable:m,isWatermarkerAvailable:v}=Z_(void 0,{selectFromResult:({data:X})=>({isNSFWCheckerAvailable:(X==null?void 0:X.nsfw_methods.includes("nsfw_checker"))??!1,isWatermarkerAvailable:(X==null?void 0:X.watermarking_methods.includes("invisible_watermark"))??!1})}),{isOpen:b,onOpen:w,onClose:y}=ss(),{isOpen:S,onOpen:k,onClose:_}=ss(),{shouldConfirmOnDelete:P,enableImageDebugging:I,shouldUseCanvasBetaLayout:E,shouldUseSliders:O,shouldShowProgressInViewer:R,consoleLogLevel:M,shouldLogToConsole:D,shouldAntialiasProgressImage:A,shouldShowAdvancedOptions:L,isNodesEnabled:Q,shouldUseNSFWChecker:F,shouldUseWatermarker:V}=B(Uee),q=f.useCallback(()=>{Object.keys(window.localStorage).forEach(X=>{(C7.includes(X)||X.startsWith(k7))&&localStorage.removeItem(X)}),y(),k()},[y,k]),G=f.useCallback(X=>{n(_7(X))},[n]),T=f.useCallback(X=>{n(P7(X))},[n]),z=f.useCallback(X=>{n(rw(X.target.checked))},[n]),$=f.useCallback(X=>{n(j7(X.target.checked))},[n]),{colorMode:Y,toggleColorMode:ae}=Ds(),fe=hr("localization").isFeatureEnabled,ie=B(rP);return i.jsxs(i.Fragment,{children:[f.cloneElement(e,{onClick:w}),i.jsxs(ad,{isOpen:b,onClose:y,size:"2xl",isCentered:!0,children:[i.jsx(Aa,{}),i.jsxs(id,{children:[i.jsx(Da,{bg:"none",children:r("common.settingsLabel")}),i.jsx(Gb,{}),i.jsx(Ta,{children:i.jsxs(W,{sx:{gap:4,flexDirection:"column"},children:[i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.general")}),i.jsx(Yo,{label:r("settings.confirmOnDelete"),isChecked:P,onChange:X=>n(z_(X.target.checked))}),c&&i.jsx(Yo,{label:r("settings.showAdvancedOptions"),isChecked:L,onChange:X=>n(I7(X.target.checked))})]}),i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.generation")}),i.jsx(Wee,{}),i.jsx(Yo,{label:"Enable NSFW Checker",isDisabled:!m,isChecked:F,onChange:X=>n(E7(X.target.checked))}),i.jsx(Yo,{label:"Enable Invisible Watermark",isDisabled:!v,isChecked:V,onChange:X=>n(O7(X.target.checked))})]}),i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.ui")}),i.jsx(Yo,{label:r("common.darkMode"),isChecked:Y==="dark",onChange:ae}),i.jsx(Yo,{label:r("settings.useSlidersForAll"),isChecked:O,onChange:X=>n(R7(X.target.checked))}),i.jsx(Yo,{label:r("settings.showProgressInViewer"),isChecked:R,onChange:X=>n(e5(X.target.checked))}),i.jsx(Yo,{label:r("settings.antialiasProgressImages"),isChecked:A,onChange:X=>n(M7(X.target.checked))}),o&&i.jsx(Yo,{label:r("settings.alternateCanvasLayout"),useBadge:!0,badgeLabel:r("settings.beta"),isChecked:E,onChange:X=>n(D7(X.target.checked))}),p&&i.jsx(Yo,{label:r("settings.enableNodesEditor"),useBadge:!0,isChecked:Q,onChange:$}),h&&i.jsx(Xr,{disabled:!fe,label:r("common.languagePickerLabel"),value:ie,data:Object.entries(Vee).map(([X,K])=>({value:X,label:K})),onChange:T})]}),s&&i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.developer")}),i.jsx(Yo,{label:r("settings.shouldLogToConsole"),isChecked:D,onChange:z}),i.jsx(Xr,{disabled:!D,label:r("settings.consoleLogLevel"),onChange:G,value:M,data:A7.concat()}),i.jsx(Yo,{label:r("settings.enableImageDebugging"),isChecked:I,onChange:X=>n(T7(X.target.checked))})]}),d&&i.jsx(Lee,{}),i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.resetWebUI")}),i.jsx(Yt,{colorScheme:"error",onClick:q,children:r("settings.resetWebUI")}),a&&i.jsxs(i.Fragment,{children:[i.jsx(Qe,{variant:"subtext",children:r("settings.resetWebUIDesc1")}),i.jsx(Qe,{variant:"subtext",children:r("settings.resetWebUIDesc2")})]})]})]})}),i.jsx(Ma,{children:i.jsx(Yt,{onClick:y,children:r("common.close")})})]})]}),i.jsxs(ad,{closeOnOverlayClick:!1,isOpen:S,onClose:_,isCentered:!0,children:[i.jsx(Aa,{backdropFilter:"blur(40px)"}),i.jsxs(id,{children:[i.jsx(Da,{}),i.jsx(Ta,{children:i.jsx(W,{justifyContent:"center",children:i.jsx(Qe,{fontSize:"lg",children:i.jsx(Qe,{children:r("settings.resetComplete")})})})}),i.jsx(Ma,{})]})]})]})},qee=be(vo,e=>{const{isConnected:t,isProcessing:n,statusTranslationKey:r,currentIteration:o,totalIterations:s,currentStatusHasSteps:a}=e;return{isConnected:t,isProcessing:n,currentIteration:o,totalIterations:s,statusTranslationKey:r,currentStatusHasSteps:a}},Je),jk={ok:"green.400",working:"yellow.400",error:"red.400"},Ik={ok:"green.600",working:"yellow.500",error:"red.500"},Kee=()=>{const{isConnected:e,isProcessing:t,currentIteration:n,totalIterations:r,statusTranslationKey:o}=B(qee),{t:s}=ye(),a=f.useRef(null),c=f.useMemo(()=>t?"working":e?"ok":"error",[t,e]),d=f.useMemo(()=>{if(n&&r)return` (${n}/${r})`},[n,r]),p=mO(a);return i.jsxs(W,{ref:a,h:"full",px:2,alignItems:"center",gap:5,children:[i.jsx(mo,{children:p&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:i.jsxs(Qe,{sx:{fontSize:"sm",fontWeight:"600",pb:"1px",userSelect:"none",color:Ik[c],_dark:{color:jk[c]}},children:[s(o),d]})},"statusText")}),i.jsx(fo,{as:TY,sx:{boxSize:"0.5rem",color:Ik[c],_dark:{color:jk[c]}}})]})},Xee=()=>{const{t:e}=ye(),t=hr("bugLink").isFeatureEnabled,n=hr("discordLink").isFeatureEnabled,r=hr("githubLink").isFeatureEnabled,o="http://github.com/invoke-ai/InvokeAI",s="https://discord.gg/ZmtBAhwWhy";return i.jsxs(W,{sx:{gap:2,alignItems:"center"},children:[i.jsx(gO,{}),i.jsx(ml,{}),i.jsx(Kee,{}),i.jsxs(Md,{children:[i.jsx(Dd,{as:ze,variant:"link","aria-label":e("accessibility.menu"),icon:i.jsx(MY,{}),sx:{boxSize:8}}),i.jsxs(il,{motionProps:Zu,children:[i.jsxs(sd,{title:e("common.communityLabel"),children:[r&&i.jsx(jr,{as:"a",href:o,target:"_blank",icon:i.jsx(_Y,{}),children:e("common.githubLabel")}),t&&i.jsx(jr,{as:"a",href:`${o}/issues`,target:"_blank",icon:i.jsx(DY,{}),children:e("common.reportBugLabel")}),n&&i.jsx(jr,{as:"a",href:s,target:"_blank",icon:i.jsx(kY,{}),children:e("common.discordLabel")})]}),i.jsxs(sd,{title:e("common.settingsLabel"),children:[i.jsx(Oee,{children:i.jsx(jr,{as:"button",icon:i.jsx(KY,{}),children:e("common.hotkeysLabel")})}),i.jsx(Gee,{children:i.jsx(jr,{as:"button",icon:i.jsx(NY,{}),children:e("common.settingsLabel")})})]})]})]})]})},Yee=f.memo(Xee);function Qee(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M16.5 9c-.42 0-.83.04-1.24.11L1.01 3 1 10l9 2-9 2 .01 7 8.07-3.46C9.59 21.19 12.71 24 16.5 24c4.14 0 7.5-3.36 7.5-7.5S20.64 9 16.5 9zm0 13c-3.03 0-5.5-2.47-5.5-5.5s2.47-5.5 5.5-5.5 5.5 2.47 5.5 5.5-2.47 5.5-5.5 5.5z"}},{tag:"path",attr:{d:"M18.27 14.03l-1.77 1.76-1.77-1.76-.7.7 1.76 1.77-1.76 1.77.7.7 1.77-1.76 1.77 1.76.7-.7-1.76-1.77 1.76-1.77z"}}]})(e)}function Jee(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M17 16l-4-4V8.82C14.16 8.4 15 7.3 15 6c0-1.66-1.34-3-3-3S9 4.34 9 6c0 1.3.84 2.4 2 2.82V12l-4 4H3v5h5v-3.05l4-4.2 4 4.2V21h5v-5h-4z"}}]})(e)}function Zee(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 20H4v-4h4v4zm0-6H4v-4h4v4zm0-6H4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4z"}}]})(e)}function ete(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-11-4l2.03 2.71L16 11l4 5H8l3-4zM2 6v14c0 1.1.9 2 2 2h14v-2H4V6H2z"}}]})(e)}function tte(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}}]})(e)}function vO(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3z"}}]})(e)}const nte=be(vo,e=>{const{isUploading:t}=e;let n="";return t&&(n="Uploading..."),{tooltip:n,shouldShow:t}}),rte=()=>{const{shouldShow:e,tooltip:t}=B(nte);return e?i.jsx(W,{sx:{alignItems:"center",justifyContent:"center",color:"base.600"},children:i.jsx(vn,{label:t,placement:"right",hasArrow:!0,children:i.jsx(hl,{})})}):null},ote=f.memo(rte),bO=e=>e.config,{createElement:Rc,createContext:ste,forwardRef:yO,useCallback:oi,useContext:xO,useEffect:Ea,useImperativeHandle:wO,useLayoutEffect:ate,useMemo:ite,useRef:es,useState:Ku}=Y1,Ek=Y1["useId".toString()],lte=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",om=lte?ate:()=>{},cte=typeof Ek=="function"?Ek:()=>null;let ute=0;function Ky(e=null){const t=cte(),n=es(e||t||null);return n.current===null&&(n.current=""+ute++),n.current}const rg=ste(null);rg.displayName="PanelGroupContext";function SO({children:e=null,className:t="",collapsedSize:n=0,collapsible:r=!1,defaultSize:o=null,forwardedRef:s,id:a=null,maxSize:c=100,minSize:d=10,onCollapse:p=null,onResize:h=null,order:m=null,style:v={},tagName:b="div"}){const w=xO(rg);if(w===null)throw Error("Panel components must be rendered within a PanelGroup container");const y=Ky(a),{collapsePanel:S,expandPanel:k,getPanelStyle:_,registerPanel:P,resizePanel:I,unregisterPanel:E}=w,O=es({onCollapse:p,onResize:h});if(Ea(()=>{O.current.onCollapse=p,O.current.onResize=h}),d<0||d>100)throw Error(`Panel minSize must be between 0 and 100, but was ${d}`);if(c<0||c>100)throw Error(`Panel maxSize must be between 0 and 100, but was ${c}`);if(o!==null){if(o<0||o>100)throw Error(`Panel defaultSize must be between 0 and 100, but was ${o}`);d>o&&!r&&(console.error(`Panel minSize ${d} cannot be greater than defaultSize ${o}`),o=d)}const R=_(y,o),M=es({size:Ok(R)}),D=es({callbacksRef:O,collapsedSize:n,collapsible:r,defaultSize:o,id:y,maxSize:c,minSize:d,order:m});return om(()=>{M.current.size=Ok(R),D.current.callbacksRef=O,D.current.collapsedSize=n,D.current.collapsible=r,D.current.defaultSize=o,D.current.id=y,D.current.maxSize=c,D.current.minSize=d,D.current.order=m}),om(()=>(P(y,D),()=>{E(y)}),[m,y,P,E]),wO(s,()=>({collapse:()=>S(y),expand:()=>k(y),getCollapsed(){return M.current.size===0},getSize(){return M.current.size},resize:A=>I(y,A)}),[S,k,y,I]),Rc(b,{children:e,className:t,"data-panel":"","data-panel-collapsible":r||void 0,"data-panel-id":y,"data-panel-size":parseFloat(""+R.flexGrow).toFixed(1),id:`data-panel-id-${y}`,style:{...R,...v}})}const hd=yO((e,t)=>Rc(SO,{...e,forwardedRef:t}));SO.displayName="Panel";hd.displayName="forwardRef(Panel)";function Ok(e){const{flexGrow:t}=e;return typeof t=="string"?parseFloat(t):t}const pl=10;function Au(e,t,n,r,o,s,a,c){const{sizes:d}=c||{},p=d||s;if(o===0)return p;const h=Jo(t),m=p.concat();let v=0;{const y=o<0?r:n,S=h.findIndex(I=>I.current.id===y),k=h[S],_=p[S],P=Rk(k,Math.abs(o),_,e);if(_===P)return p;P===0&&_>0&&a.set(y,_),o=o<0?_-P:P-_}let b=o<0?n:r,w=h.findIndex(y=>y.current.id===b);for(;;){const y=h[w],S=p[w],k=Math.abs(o)-Math.abs(v),_=Rk(y,0-k,S,e);if(S!==_&&(_===0&&S>0&&a.set(y.current.id,S),v+=S-_,m[w]=_,v.toPrecision(pl).localeCompare(Math.abs(o).toPrecision(pl),void 0,{numeric:!0})>=0))break;if(o<0){if(--w<0)break}else if(++w>=h.length)break}return v===0?p:(b=o<0?r:n,w=h.findIndex(y=>y.current.id===b),m[w]=p[w]+v,m)}function Gl(e,t,n){t.forEach((r,o)=>{const{callbacksRef:s,collapsedSize:a,collapsible:c,id:d}=e[o].current,p=n[d];if(p!==r){n[d]=r;const{onCollapse:h,onResize:m}=s.current;m&&m(r,p),c&&h&&((p==null||p===a)&&r!==a?h(!1):p!==a&&r===a&&h(!0))}})}function fv(e,t){if(t.length<2)return[null,null];const n=t.findIndex(a=>a.current.id===e);if(n<0)return[null,null];const r=n===t.length-1,o=r?t[n-1].current.id:e,s=r?e:t[n+1].current.id;return[o,s]}function CO(e,t,n){if(e.size===1)return"100";const o=Jo(e).findIndex(a=>a.current.id===t),s=n[o];return s==null?"0":s.toPrecision(pl)}function dte(e){const t=document.querySelector(`[data-panel-id="${e}"]`);return t||null}function Xy(e){const t=document.querySelector(`[data-panel-group-id="${e}"]`);return t||null}function og(e){const t=document.querySelector(`[data-panel-resize-handle-id="${e}"]`);return t||null}function fte(e){return kO().findIndex(r=>r.getAttribute("data-panel-resize-handle-id")===e)??null}function kO(){return Array.from(document.querySelectorAll("[data-panel-resize-handle-id]"))}function _O(e){return Array.from(document.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`))}function Yy(e,t,n){var d,p,h,m;const r=og(t),o=_O(e),s=r?o.indexOf(r):-1,a=((p=(d=n[s])==null?void 0:d.current)==null?void 0:p.id)??null,c=((m=(h=n[s+1])==null?void 0:h.current)==null?void 0:m.id)??null;return[a,c]}function Jo(e){return Array.from(e.values()).sort((t,n)=>{const r=t.current.order,o=n.current.order;return r==null&&o==null?0:r==null?-1:o==null?1:r-o})}function Rk(e,t,n,r){var h;const o=n+t,{collapsedSize:s,collapsible:a,maxSize:c,minSize:d}=e.current;if(a){if(n>s){if(o<=d/2+s)return s}else if(!((h=r==null?void 0:r.type)==null?void 0:h.startsWith("key"))&&o{const{direction:a,panels:c}=e.current,d=Xy(t),{height:p,width:h}=d.getBoundingClientRect(),v=_O(t).map(b=>{const w=b.getAttribute("data-panel-resize-handle-id"),y=Jo(c),[S,k]=Yy(t,w,y);if(S==null||k==null)return()=>{};let _=0,P=100,I=0,E=0;y.forEach(L=>{L.current.id===S?(P=L.current.maxSize,_=L.current.minSize):(I+=L.current.minSize,E+=L.current.maxSize)});const O=Math.min(P,100-I),R=Math.max(_,(y.length-1)*100-E),M=CO(c,S,o);b.setAttribute("aria-valuemax",""+Math.round(O)),b.setAttribute("aria-valuemin",""+Math.round(R)),b.setAttribute("aria-valuenow",""+Math.round(parseInt(M)));const D=L=>{if(!L.defaultPrevented)switch(L.key){case"Enter":{L.preventDefault();const Q=y.findIndex(F=>F.current.id===S);if(Q>=0){const F=y[Q],V=o[Q];if(V!=null){let q=0;V.toPrecision(pl)<=F.current.minSize.toPrecision(pl)?q=a==="horizontal"?h:p:q=-(a==="horizontal"?h:p);const G=Au(L,c,S,k,q,o,s.current,null);o!==G&&r(G)}}break}}};b.addEventListener("keydown",D);const A=dte(S);return A!=null&&b.setAttribute("aria-controls",A.id),()=>{b.removeAttribute("aria-valuemax"),b.removeAttribute("aria-valuemin"),b.removeAttribute("aria-valuenow"),b.removeEventListener("keydown",D),A!=null&&b.removeAttribute("aria-controls")}});return()=>{v.forEach(b=>b())}},[e,t,n,s,r,o])}function hte({disabled:e,handleId:t,resizeHandler:n}){Ea(()=>{if(e||n==null)return;const r=og(t);if(r==null)return;const o=s=>{if(!s.defaultPrevented)switch(s.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{s.preventDefault(),n(s);break}case"F6":{s.preventDefault();const a=kO(),c=fte(t);PO(c!==null);const d=s.shiftKey?c>0?c-1:a.length-1:c+1{r.removeEventListener("keydown",o)}},[e,t,n])}function mte(e,t){if(e.length!==t.length)return!1;for(let n=0;nR.current.id===I),O=r[E];if(O.current.collapsible){const R=h[E];(R===0||R.toPrecision(pl)===O.current.minSize.toPrecision(pl))&&(k=k<0?-O.current.minSize*w:O.current.minSize*w)}return k}else return jO(e,n,o,c,d)}function vte(e){return e.type==="keydown"}function A1(e){return e.type.startsWith("mouse")}function T1(e){return e.type.startsWith("touch")}let N1=null,Ki=null;function IO(e){switch(e){case"horizontal":return"ew-resize";case"horizontal-max":return"w-resize";case"horizontal-min":return"e-resize";case"vertical":return"ns-resize";case"vertical-max":return"n-resize";case"vertical-min":return"s-resize"}}function bte(){Ki!==null&&(document.head.removeChild(Ki),N1=null,Ki=null)}function pv(e){if(N1===e)return;N1=e;const t=IO(e);Ki===null&&(Ki=document.createElement("style"),document.head.appendChild(Ki)),Ki.innerHTML=`*{cursor: ${t}!important;}`}function yte(e,t=10){let n=null;return(...o)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...o)},t)}}function EO(e){return e.map(t=>{const{minSize:n,order:r}=t.current;return r?`${r}:${n}`:`${n}`}).sort((t,n)=>t.localeCompare(n)).join(",")}function OO(e,t){try{const n=t.getItem(`PanelGroup:sizes:${e}`);if(n){const r=JSON.parse(n);if(typeof r=="object"&&r!=null)return r}}catch{}return null}function xte(e,t,n){const r=OO(e,n);if(r){const o=EO(t);return r[o]??null}return null}function wte(e,t,n,r){const o=EO(t),s=OO(e,r)||{};s[o]=n;try{r.setItem(`PanelGroup:sizes:${e}`,JSON.stringify(s))}catch(a){console.error(a)}}const hv={};function Mk(e){try{if(typeof localStorage<"u")e.getItem=t=>localStorage.getItem(t),e.setItem=(t,n)=>{localStorage.setItem(t,n)};else throw new Error("localStorage not supported in this environment")}catch(t){console.error(t),e.getItem=()=>null,e.setItem=()=>{}}}const Tu={getItem:e=>(Mk(Tu),Tu.getItem(e)),setItem:(e,t)=>{Mk(Tu),Tu.setItem(e,t)}};function RO({autoSaveId:e,children:t=null,className:n="",direction:r,disablePointerEventsDuringResize:o=!1,forwardedRef:s,id:a=null,onLayout:c,storage:d=Tu,style:p={},tagName:h="div"}){const m=Ky(a),[v,b]=Ku(null),[w,y]=Ku(new Map),S=es(null),k=es({onLayout:c});Ea(()=>{k.current.onLayout=c});const _=es({}),[P,I]=Ku([]),E=es(new Map),O=es(0),R=es({direction:r,panels:w,sizes:P});wO(s,()=>({getLayout:()=>{const{sizes:T}=R.current;return T},setLayout:T=>{const z=T.reduce((fe,ie)=>fe+ie,0);PO(z===100,"Panel sizes must add up to 100%");const{panels:$}=R.current,Y=_.current,ae=Jo($);I(T),Gl(ae,T,Y)}}),[]),om(()=>{R.current.direction=r,R.current.panels=w,R.current.sizes=P}),pte({committedValuesRef:R,groupId:m,panels:w,setSizes:I,sizes:P,panelSizeBeforeCollapse:E}),Ea(()=>{const{onLayout:T}=k.current,{panels:z,sizes:$}=R.current;if($.length>0){T&&T($);const Y=_.current,ae=Jo(z);Gl(ae,$,Y)}},[P]),om(()=>{if(R.current.sizes.length===w.size)return;let z=null;if(e){const $=Jo(w);z=xte(e,$,d)}if(z!=null)I(z);else{const $=Jo(w);let Y=0,ae=0,fe=0;if($.forEach(ie=>{fe+=ie.current.minSize,ie.current.defaultSize===null?Y++:ae+=ie.current.defaultSize}),ae>100)throw new Error("Default panel sizes cannot exceed 100%");if($.length>1&&Y===0&&ae!==100)throw new Error("Invalid default sizes specified for panels");if(fe>100)throw new Error("Minimum panel sizes cannot exceed 100%");I($.map(ie=>ie.current.defaultSize===null?(100-ae)/Y:ie.current.defaultSize))}},[e,w,d]),Ea(()=>{if(e){if(P.length===0||P.length!==w.size)return;const T=Jo(w);hv[e]||(hv[e]=yte(wte,100)),hv[e](e,T,P,d)}},[e,w,P,d]);const M=oi((T,z)=>{const{panels:$}=R.current;return $.size===0?{flexBasis:0,flexGrow:z??void 0,flexShrink:1,overflow:"hidden"}:{flexBasis:0,flexGrow:CO($,T,P),flexShrink:1,overflow:"hidden",pointerEvents:o&&v!==null?"none":void 0}},[v,o,P]),D=oi((T,z)=>{y($=>{if($.has(T))return $;const Y=new Map($);return Y.set(T,z),Y})},[]),A=oi(T=>$=>{$.preventDefault();const{direction:Y,panels:ae,sizes:fe}=R.current,ie=Jo(ae),[X,K]=Yy(m,T,ie);if(X==null||K==null)return;let U=gte($,m,T,ie,Y,fe,S.current);if(U===0)return;const re=Xy(m).getBoundingClientRect(),oe=Y==="horizontal";document.dir==="rtl"&&oe&&(U=-U);const pe=oe?re.width:re.height,le=U/pe*100,ge=Au($,ae,X,K,le,fe,E.current,S.current),ke=!mte(fe,ge);if((A1($)||T1($))&&O.current!=le&&pv(ke?oe?"horizontal":"vertical":oe?U<0?"horizontal-min":"horizontal-max":U<0?"vertical-min":"vertical-max"),ke){const xe=_.current;I(ge),Gl(ie,ge,xe)}O.current=le},[m]),L=oi(T=>{y(z=>{if(!z.has(T))return z;const $=new Map(z);return $.delete(T),$})},[]),Q=oi(T=>{const{panels:z,sizes:$}=R.current,Y=z.get(T);if(Y==null)return;const{collapsedSize:ae,collapsible:fe}=Y.current;if(!fe)return;const ie=Jo(z),X=ie.indexOf(Y);if(X<0)return;const K=$[X];if(K===ae)return;E.current.set(T,K);const[U,se]=fv(T,ie);if(U==null||se==null)return;const oe=X===ie.length-1?K:ae-K,pe=Au(null,z,U,se,oe,$,E.current,null);if($!==pe){const le=_.current;I(pe),Gl(ie,pe,le)}},[]),F=oi(T=>{const{panels:z,sizes:$}=R.current,Y=z.get(T);if(Y==null)return;const{collapsedSize:ae,minSize:fe}=Y.current,ie=E.current.get(T)||fe;if(!ie)return;const X=Jo(z),K=X.indexOf(Y);if(K<0||$[K]!==ae)return;const[se,re]=fv(T,X);if(se==null||re==null)return;const pe=K===X.length-1?ae-ie:ie,le=Au(null,z,se,re,pe,$,E.current,null);if($!==le){const ge=_.current;I(le),Gl(X,le,ge)}},[]),V=oi((T,z)=>{const{panels:$,sizes:Y}=R.current,ae=$.get(T);if(ae==null)return;const{collapsedSize:fe,collapsible:ie,maxSize:X,minSize:K}=ae.current,U=Jo($),se=U.indexOf(ae);if(se<0)return;const re=Y[se];if(re===z)return;ie&&z===fe||(z=Math.min(X,Math.max(K,z)));const[oe,pe]=fv(T,U);if(oe==null||pe==null)return;const ge=se===U.length-1?re-z:z-re,ke=Au(null,$,oe,pe,ge,Y,E.current,null);if(Y!==ke){const xe=_.current;I(ke),Gl(U,ke,xe)}},[]),q=ite(()=>({activeHandleId:v,collapsePanel:Q,direction:r,expandPanel:F,getPanelStyle:M,groupId:m,registerPanel:D,registerResizeHandle:A,resizePanel:V,startDragging:(T,z)=>{if(b(T),A1(z)||T1(z)){const $=og(T);S.current={dragHandleRect:$.getBoundingClientRect(),dragOffset:jO(z,T,r),sizes:R.current.sizes}}},stopDragging:()=>{bte(),b(null),S.current=null},unregisterPanel:L}),[v,Q,r,F,M,m,D,A,V,L]),G={display:"flex",flexDirection:r==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return Rc(rg.Provider,{children:Rc(h,{children:t,className:n,"data-panel-group":"","data-panel-group-direction":r,"data-panel-group-id":m,style:{...G,...p}}),value:q})}const Qy=yO((e,t)=>Rc(RO,{...e,forwardedRef:t}));RO.displayName="PanelGroup";Qy.displayName="forwardRef(PanelGroup)";function $1({children:e=null,className:t="",disabled:n=!1,id:r=null,onDragging:o,style:s={},tagName:a="div"}){const c=es(null),d=es({onDragging:o});Ea(()=>{d.current.onDragging=o});const p=xO(rg);if(p===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{activeHandleId:h,direction:m,groupId:v,registerResizeHandle:b,startDragging:w,stopDragging:y}=p,S=Ky(r),k=h===S,[_,P]=Ku(!1),[I,E]=Ku(null),O=oi(()=>{c.current.blur(),y();const{onDragging:D}=d.current;D&&D(!1)},[y]);Ea(()=>{if(n)E(null);else{const M=b(S);E(()=>M)}},[n,S,b]),Ea(()=>{if(n||I==null||!k)return;const M=Q=>{I(Q)},D=Q=>{I(Q)},L=c.current.ownerDocument;return L.body.addEventListener("contextmenu",O),L.body.addEventListener("mousemove",M),L.body.addEventListener("touchmove",M),L.body.addEventListener("mouseleave",D),window.addEventListener("mouseup",O),window.addEventListener("touchend",O),()=>{L.body.removeEventListener("contextmenu",O),L.body.removeEventListener("mousemove",M),L.body.removeEventListener("touchmove",M),L.body.removeEventListener("mouseleave",D),window.removeEventListener("mouseup",O),window.removeEventListener("touchend",O)}},[m,n,k,I,O]),hte({disabled:n,handleId:S,resizeHandler:I});const R={cursor:IO(m),touchAction:"none",userSelect:"none"};return Rc(a,{children:e,className:t,"data-resize-handle-active":k?"pointer":_?"keyboard":void 0,"data-panel-group-direction":m,"data-panel-group-id":v,"data-panel-resize-handle-enabled":!n,"data-panel-resize-handle-id":S,onBlur:()=>P(!1),onFocus:()=>P(!0),onMouseDown:M=>{w(S,M.nativeEvent);const{onDragging:D}=d.current;D&&D(!0)},onMouseUp:O,onTouchCancel:O,onTouchEnd:O,onTouchStart:M=>{w(S,M.nativeEvent);const{onDragging:D}=d.current;D&&D(!0)},ref:c,role:"separator",style:{...R,...s},tabIndex:0})}$1.displayName="PanelResizeHandle";const Ste=(e,t,n,r="horizontal")=>{const o=f.useRef(null),[s,a]=f.useState(t),c=f.useCallback(()=>{var p,h;const d=(p=o.current)==null?void 0:p.getSize();d!==void 0&&d{const d=document.querySelector(`[data-panel-group-id="${n}"]`),p=document.querySelectorAll("[data-panel-resize-handle-id]");if(!d)return;const h=new ResizeObserver(()=>{let m=r==="horizontal"?d.getBoundingClientRect().width:d.getBoundingClientRect().height;p.forEach(v=>{m-=r==="horizontal"?v.getBoundingClientRect().width:v.getBoundingClientRect().height}),a(e/m*100)});return h.observe(d),p.forEach(m=>{h.observe(m)}),window.addEventListener("resize",c),()=>{h.disconnect(),window.removeEventListener("resize",c)}},[n,c,s,e,r]),{ref:o,minSizePct:s}},Cte=be([lt],e=>{const{initialImage:t}=e.generation;return{initialImage:t,isResetButtonDisabled:!t}},Je),kte=()=>{const{initialImage:e}=B(Cte),{currentData:t}=Is((e==null?void 0:e.imageName)??ro.skipToken),n=f.useMemo(()=>{if(t)return{id:"initial-image",payloadType:"IMAGE_DTO",payload:{imageDTO:t}}},[t]),r=f.useMemo(()=>({id:"initial-image",actionType:"SET_INITIAL_IMAGE"}),[]);return i.jsx(fl,{imageDTO:t,droppableData:r,draggableData:n,isUploadDisabled:!0,fitContainer:!0,dropLabel:"Set as Initial Image",noContentFallback:i.jsx(tl,{label:"No initial image selected"})})},_te=be([lt],e=>{const{initialImage:t}=e.generation;return{isResetButtonDisabled:!t}},Je),Pte={type:"SET_INITIAL_IMAGE"},jte=()=>{const{isResetButtonDisabled:e}=B(_te),t=te(),{getUploadButtonProps:n,getUploadInputProps:r}=ng({postUploadAction:Pte}),o=f.useCallback(()=>{t(N7())},[t]);return i.jsxs(W,{layerStyle:"first",sx:{position:"relative",flexDirection:"column",height:"full",width:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",p:4,gap:4},children:[i.jsxs(W,{sx:{w:"full",flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},children:[i.jsx(Qe,{sx:{fontWeight:600,userSelect:"none",color:"base.700",_dark:{color:"base.200"}},children:"Initial Image"}),i.jsx(ml,{}),i.jsx(ze,{tooltip:"Upload Initial Image","aria-label":"Upload Initial Image",icon:i.jsx(Wd,{}),...n()}),i.jsx(ze,{tooltip:"Reset Initial Image","aria-label":"Reset Initial Image",icon:i.jsx(wy,{}),onClick:o,isDisabled:e})]}),i.jsx(kte,{}),i.jsx("input",{...r()})]})},Ite=e=>{const{label:t,activeLabel:n,children:r,defaultIsOpen:o=!1}=e,{isOpen:s,onToggle:a}=ss({defaultIsOpen:o}),{colorMode:c}=Ds();return i.jsxs(Re,{children:[i.jsxs(W,{onClick:a,sx:{alignItems:"center",p:2,px:4,gap:2,borderTopRadius:"base",borderBottomRadius:s?0:"base",bg:s?Fe("base.200","base.750")(c):Fe("base.150","base.800")(c),color:Fe("base.900","base.100")(c),_hover:{bg:s?Fe("base.250","base.700")(c):Fe("base.200","base.750")(c)},fontSize:"sm",fontWeight:600,cursor:"pointer",transitionProperty:"common",transitionDuration:"normal",userSelect:"none"},children:[t,i.jsx(mo,{children:n&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsx(Qe,{sx:{color:"accent.500",_dark:{color:"accent.300"}},children:n})},"statusText")}),i.jsx(ml,{}),i.jsx(Ly,{sx:{w:"1rem",h:"1rem",transform:s?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]}),i.jsx(vm,{in:s,animateOpacity:!0,style:{overflow:"unset"},children:i.jsx(Re,{sx:{p:4,borderBottomRadius:"base",bg:"base.100",_dark:{bg:"base.800"}},children:r})})]})},Mo=f.memo(Ite),Ete=be(lt,e=>{const{combinatorial:t,isEnabled:n}=e.dynamicPrompts;return{combinatorial:t,isDisabled:!n}},Je),Ote=()=>{const{combinatorial:e,isDisabled:t}=B(Ete),n=te(),r=f.useCallback(()=>{n($7())},[n]);return i.jsx(yr,{isDisabled:t,label:"Combinatorial Generation",isChecked:e,onChange:r})},Rte=be(lt,e=>{const{isEnabled:t}=e.dynamicPrompts;return{isEnabled:t}},Je),Mte=()=>{const e=te(),{isEnabled:t}=B(Rte),n=f.useCallback(()=>{e(L7())},[e]);return i.jsx(yr,{label:"Enable Dynamic Prompts",isChecked:t,onChange:n})},Dte=be(lt,e=>{const{maxPrompts:t,combinatorial:n,isEnabled:r}=e.dynamicPrompts,{min:o,sliderMax:s,inputMax:a}=e.config.sd.dynamicPrompts.maxPrompts;return{maxPrompts:t,min:o,sliderMax:s,inputMax:a,isDisabled:!r||!n}},Je),Ate=()=>{const{maxPrompts:e,min:t,sliderMax:n,inputMax:r,isDisabled:o}=B(Dte),s=te(),a=f.useCallback(d=>{s(z7(d))},[s]),c=f.useCallback(()=>{s(B7())},[s]);return i.jsx(_t,{label:"Max Prompts",isDisabled:o,min:t,max:n,value:e,onChange:a,sliderNumberInputProps:{max:r},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:c})},Tte=be(lt,e=>{const{isEnabled:t}=e.dynamicPrompts;return{activeLabel:t?"Enabled":void 0}},Je),qd=()=>{const{activeLabel:e}=B(Tte);return hr("dynamicPrompting").isFeatureEnabled?i.jsx(Mo,{label:"Dynamic Prompts",activeLabel:e,children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(Mte,{}),i.jsx(Ote,{}),i.jsx(Ate,{})]})}):null},Nte=be(lt,e=>{const{shouldUseNoiseSettings:t,shouldUseCpuNoise:n}=e.generation;return{isDisabled:!t,shouldUseCpuNoise:n}},Je),$te=()=>{const e=te(),{isDisabled:t,shouldUseCpuNoise:n}=B(Nte),r=o=>e(F7(o.target.checked));return i.jsx(yr,{isDisabled:t,label:"Use CPU Noise",isChecked:n,onChange:r})},Lte=be(lt,e=>{const{shouldUseNoiseSettings:t,threshold:n}=e.generation;return{isDisabled:!t,threshold:n}},Je);function zte(){const e=te(),{threshold:t,isDisabled:n}=B(Lte),{t:r}=ye();return i.jsx(_t,{isDisabled:n,label:r("parameters.noiseThreshold"),min:0,max:20,step:.1,onChange:o=>e(ow(o)),handleReset:()=>e(ow(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const Bte=()=>{const e=te(),t=B(r=>r.generation.shouldUseNoiseSettings),n=r=>e(H7(r.target.checked));return i.jsx(yr,{label:"Enable Noise Settings",isChecked:t,onChange:n})},Fte=be(lt,e=>{const{shouldUseNoiseSettings:t,perlin:n}=e.generation;return{isDisabled:!t,perlin:n}},Je);function Hte(){const e=te(),{perlin:t,isDisabled:n}=B(Fte),{t:r}=ye();return i.jsx(_t,{isDisabled:n,label:r("parameters.perlinNoise"),min:0,max:1,step:.05,onChange:o=>e(sw(o)),handleReset:()=>e(sw(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const Wte=be(lt,e=>{const{shouldUseNoiseSettings:t}=e.generation;return{activeLabel:t?"Enabled":void 0}},Je),Vte=()=>{const{t:e}=ye(),t=hr("noise").isFeatureEnabled,n=hr("perlinNoise").isFeatureEnabled,r=hr("noiseThreshold").isFeatureEnabled,{activeLabel:o}=B(Wte);return t?i.jsx(Mo,{label:e("parameters.noiseSettings"),activeLabel:o,children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(Bte,{}),i.jsx($te,{}),n&&i.jsx(Hte,{}),r&&i.jsx(zte,{})]})}):null},sg=f.memo(Vte),Ute=be(vo,e=>({isProcessing:e.isProcessing,isConnected:e.isConnected,isCancelable:e.isCancelable,currentIteration:e.currentIteration,totalIterations:e.totalIterations,sessionId:e.sessionId,cancelType:e.cancelType,isCancelScheduled:e.isCancelScheduled}),{memoizeOptions:{resultEqualityCheck:Zt}}),Gte=e=>{const t=te(),{btnGroupWidth:n="auto",...r}=e,{isProcessing:o,isConnected:s,isCancelable:a,cancelType:c,isCancelScheduled:d,sessionId:p}=B(Ute),h=f.useCallback(()=>{if(p){if(c==="scheduled"){t(W7());return}t(V7({session_id:p}))}},[t,p,c]),{t:m}=ye(),v=f.useCallback(y=>{const S=Array.isArray(y)?y[0]:y;t(U7(S))},[t]);tt("shift+x",()=>{(s||o)&&a&&h()},[s,o,a]);const b=f.useMemo(()=>m(d?"parameters.cancel.isScheduled":c==="immediate"?"parameters.cancel.immediate":"parameters.cancel.schedule"),[m,c,d]),w=f.useMemo(()=>d?i.jsx(Xp,{}):c==="immediate"?i.jsx(tte,{}):i.jsx(Qee,{}),[c,d]);return i.jsxs(rr,{isAttached:!0,width:n,children:[i.jsx(ze,{icon:w,tooltip:b,"aria-label":b,isDisabled:!s||!o||!a,onClick:h,colorScheme:"error",id:"cancel-button",...r}),i.jsxs(Md,{closeOnSelect:!1,children:[i.jsx(Dd,{as:ze,tooltip:m("parameters.cancel.setType"),"aria-label":m("parameters.cancel.setType"),icon:i.jsx(AJ,{w:"1em",h:"1em"}),paddingX:0,paddingY:0,colorScheme:"error",minWidth:5,...r}),i.jsx(il,{minWidth:"240px",children:i.jsxs(S6,{value:c,title:"Cancel Type",type:"radio",onChange:v,children:[i.jsx(nh,{value:"immediate",children:m("parameters.cancel.immediate")}),i.jsx(nh,{value:"scheduled",children:m("parameters.cancel.schedule")})]})})]})]})},ag=f.memo(Gte),qte=be([lt,Kn],(e,t)=>{const{generation:n,system:r}=e,{initialImage:o}=n,{isProcessing:s,isConnected:a}=r;let c=!0;const d=[];t==="img2img"&&!o&&(c=!1,d.push("No initial image selected"));const{isSuccess:p}=G7.endpoints.getMainModels.select(Yu)(e);return p||(c=!1,d.push("Models are not loaded")),s&&(c=!1,d.push("System Busy")),a||(c=!1,d.push("System Disconnected")),oo(e.controlNet.controlNets,(h,m)=>{h.model||(c=!1,d.push(`ControlNet ${m} has no model selected.`))}),{isReady:c,reasonsWhyNotReady:d}},Je),Kd=()=>{const{isReady:e}=B(qte);return e},Kte=be(vo,e=>({isProcessing:e.isProcessing,currentStep:e.currentStep,totalSteps:e.totalSteps,currentStatusHasSteps:e.currentStatusHasSteps}),{memoizeOptions:{resultEqualityCheck:Zt}}),Xte=()=>{const{t:e}=ye(),{isProcessing:t,currentStep:n,totalSteps:r,currentStatusHasSteps:o}=B(Kte),s=n?Math.round(n*100/r):0;return i.jsx(N6,{value:s,"aria-label":e("accessibility.invokeProgressBar"),isIndeterminate:t&&!o,height:"full",colorScheme:"accent"})},MO=f.memo(Xte),Dk={_disabled:{bg:"none",color:"base.600",cursor:"not-allowed",_hover:{color:"base.600",bg:"none"}}},Yte=be([lt,Kn,kr],({gallery:e},t,n)=>{const{autoAddBoardId:r}=e;return{isBusy:n,autoAddBoardId:r,activeTabName:t}},Je);function Jy(e){const{iconButton:t=!1,...n}=e,r=te(),o=Kd(),{isBusy:s,autoAddBoardId:a,activeTabName:c}=B(Yte),d=Ym(a),p=f.useCallback(()=>{r(yd()),r(xd(c))},[r,c]),{t:h}=ye();return tt(["ctrl+enter","meta+enter"],p,{enabled:()=>o,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[o,c]),i.jsx(Re,{style:{flexGrow:4},position:"relative",children:i.jsxs(Re,{style:{position:"relative"},children:[!o&&i.jsx(Re,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},...n,children:i.jsx(MO,{})}),i.jsx(vn,{placement:"top",hasArrow:!0,openDelay:500,label:a?`Auto-Adding to ${d}`:void 0,children:t?i.jsx(ze,{"aria-label":h("parameters.invoke"),type:"submit",icon:i.jsx(aE,{}),isDisabled:!o||s,onClick:p,tooltip:h("parameters.invoke"),tooltipProps:{placement:"top"},colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,...s?Dk:{}}}):i.jsx(Yt,{"aria-label":h("parameters.invoke"),type:"submit",isDisabled:!o||s,onClick:p,colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,fontWeight:700,...s?Dk:{}},children:"Invoke"})})]})})}const Xd=()=>i.jsxs(W,{gap:2,children:[i.jsx(Jy,{}),i.jsx(ag,{})]}),Zy=e=>{e.stopPropagation()},Qte=Ae((e,t)=>{const n=te(),r=f.useCallback(s=>{s.shiftKey&&n(jo(!0))},[n]),o=f.useCallback(s=>{s.shiftKey||n(jo(!1))},[n]);return i.jsx(Zb,{ref:t,onPaste:Zy,onKeyDown:r,onKeyUp:o,...e})}),ig=f.memo(Qte),Jte=e=>{const{onClick:t}=e;return i.jsx(ze,{size:"sm","aria-label":"Add Embedding",tooltip:"Add Embedding",icon:i.jsx(by,{}),sx:{p:2,color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}}},variant:"link",onClick:t})},lg=f.memo(Jte),ex="28rem",cg=e=>{const{onSelect:t,isOpen:n,onClose:r,children:o}=e,{data:s}=q7(),a=f.useRef(null),c=B(h=>h.generation.model),d=f.useMemo(()=>{if(!s)return[];const h=[];return oo(s.entities,(m,v)=>{if(!m)return;const b=(c==null?void 0:c.base_model)!==m.base_model;h.push({value:m.model_name,label:m.model_name,group:Qn[m.base_model],disabled:b,tooltip:b?`Incompatible base model: ${m.base_model}`:void 0})}),h.sort((m,v)=>{var b;return m.label&&v.label?(b=m.label)!=null&&b.localeCompare(v.label)?-1:1:-1}),h.sort((m,v)=>m.disabled&&!v.disabled?1:-1)},[s,c==null?void 0:c.base_model]),p=f.useCallback(h=>{h&&t(h)},[t]);return i.jsxs(Yb,{initialFocusRef:a,isOpen:n,onClose:r,placement:"bottom",openDelay:0,closeDelay:0,closeOnBlur:!0,returnFocusOnClose:!0,children:[i.jsx(Xb,{children:o}),i.jsx(Qb,{sx:{p:0,top:-1,shadow:"dark-lg",borderColor:"accent.300",borderWidth:"2px",borderStyle:"solid",_dark:{borderColor:"accent.400"}},children:i.jsx(A6,{sx:{p:0,w:`calc(${ex} - 2rem )`},children:d.length===0?i.jsx(W,{sx:{justifyContent:"center",p:2,fontSize:"sm",color:"base.500",_dark:{color:"base.700"}},children:i.jsx(Qe,{children:"No Embeddings Loaded"})}):i.jsx(ar,{inputRef:a,autoFocus:!0,placeholder:"Add Embedding",value:null,data:d,nothingFound:"No matching Embeddings",itemComponent:Oi,disabled:d.length===0,onDropdownClose:r,filter:(h,m)=>{var v;return((v=m.label)==null?void 0:v.toLowerCase().includes(h.toLowerCase().trim()))||m.value.toLowerCase().includes(h.toLowerCase().trim())},onChange:p})})})]})},DO=()=>{const e=B(m=>m.generation.negativePrompt),t=f.useRef(null),{isOpen:n,onClose:r,onOpen:o}=ss(),s=te(),{t:a}=ye(),c=f.useCallback(m=>{s(Lu(m.target.value))},[s]),d=f.useCallback(m=>{m.key==="<"&&o()},[o]),p=f.useCallback(m=>{if(!t.current)return;const v=t.current.selectionStart;if(v===void 0)return;let b=e.slice(0,v);b[b.length-1]!=="<"&&(b+="<"),b+=`${m}>`;const w=b.length;b+=e.slice(v),ki.flushSync(()=>{s(Lu(b))}),t.current.selectionEnd=w,r()},[s,r,e]),h=hr("embedding").isFeatureEnabled;return i.jsxs(go,{children:[i.jsx(cg,{isOpen:n,onClose:r,onSelect:p,children:i.jsx(ig,{id:"negativePrompt",name:"negativePrompt",ref:t,value:e,placeholder:a("parameters.negativePromptPlaceholder"),onChange:c,resize:"vertical",fontSize:"sm",minH:16,...h&&{onKeyDown:d}})}),!n&&h&&i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(lg,{onClick:o})})]})},Zte=be([lt,Kn],({generation:e,ui:t},n)=>({shouldPinParametersPanel:t.shouldPinParametersPanel,prompt:e.positivePrompt,activeTabName:n}),{memoizeOptions:{resultEqualityCheck:Zt}}),AO=()=>{const e=te(),{prompt:t,shouldPinParametersPanel:n,activeTabName:r}=B(Zte),o=Kd(),s=f.useRef(null),{isOpen:a,onClose:c,onOpen:d}=ss(),{t:p}=ye(),h=f.useCallback(w=>{e($u(w.target.value))},[e]);tt("alt+a",()=>{var w;(w=s.current)==null||w.focus()},[]);const m=f.useCallback(w=>{if(!s.current)return;const y=s.current.selectionStart;if(y===void 0)return;let S=t.slice(0,y);S[S.length-1]!=="<"&&(S+="<"),S+=`${w}>`;const k=S.length;S+=t.slice(y),ki.flushSync(()=>{e($u(S))}),s.current.selectionStart=k,s.current.selectionEnd=k,c()},[e,c,t]),v=hr("embedding").isFeatureEnabled,b=f.useCallback(w=>{w.key==="Enter"&&w.shiftKey===!1&&o&&(w.preventDefault(),e(yd()),e(xd(r))),v&&w.key==="<"&&d()},[o,e,r,d,v]);return i.jsxs(Re,{position:"relative",children:[i.jsx(go,{children:i.jsx(cg,{isOpen:a,onClose:c,onSelect:m,children:i.jsx(ig,{id:"prompt",name:"prompt",ref:s,value:t,placeholder:p("parameters.positivePromptPlaceholder"),onChange:h,onKeyDown:b,resize:"vertical",minH:32})})}),!a&&v&&i.jsx(Re,{sx:{position:"absolute",top:n?5:0,insetInlineEnd:0},children:i.jsx(lg,{onClick:d})})]})};function ene(){const e=B(o=>o.sdxl.shouldConcatSDXLStylePrompt),t=B(o=>o.ui.shouldPinParametersPanel),n=te(),r=()=>{n(K7(!e))};return i.jsx(ze,{"aria-label":"Concatenate Prompt & Style",tooltip:"Concatenate Prompt & Style",variant:"outline",isChecked:e,onClick:r,icon:i.jsx(oE,{}),size:"xs",sx:{position:"absolute",insetInlineEnd:1,top:t?12:20,border:"none",color:e?"accent.500":"base.500",_hover:{bg:"none"}}})}const Ak={position:"absolute",bg:"none",w:"full",minH:2,borderRadius:0,borderLeft:"none",borderRight:"none",zIndex:2,maskImage:"radial-gradient(circle at center, black, black 65%, black 30%, black 15%, transparent)"};function TO(){return i.jsxs(W,{children:[i.jsx(Re,{as:Er.div,initial:{scaleX:0,borderWidth:0,display:"none"},animate:{display:["block","block","block","none"],scaleX:[0,.25,.5,1],borderWidth:[0,3,3,0],transition:{duration:.37,times:[0,.25,.5,1]}},sx:{top:"1px",borderTop:"none",borderColor:"base.400",...Ak,_dark:{borderColor:"accent.500"}}}),i.jsx(Re,{as:Er.div,initial:{opacity:0,scale:0},animate:{opacity:[0,1,1,1],scale:[0,.75,1.5,1],transition:{duration:.42,times:[0,.25,.5,1]}},exit:{opacity:0,scale:0},sx:{zIndex:3,position:"absolute",left:"48%",top:"3px",p:1,borderRadius:4,bg:"accent.400",color:"base.50",_dark:{bg:"accent.500"}},children:i.jsx(oE,{size:12})}),i.jsx(Re,{as:Er.div,initial:{scaleX:0,borderWidth:0,display:"none"},animate:{display:["block","block","block","none"],scaleX:[0,.25,.5,1],borderWidth:[0,3,3,0],transition:{duration:.37,times:[0,.25,.5,1]}},sx:{top:"17px",borderBottom:"none",borderColor:"base.400",...Ak,_dark:{borderColor:"accent.500"}}})]})}const tne=be([lt,Kn],({sdxl:e},t)=>{const{negativeStylePrompt:n,shouldConcatSDXLStylePrompt:r}=e;return{prompt:n,shouldConcatSDXLStylePrompt:r,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),nne=()=>{const e=te(),t=Kd(),n=f.useRef(null),{isOpen:r,onClose:o,onOpen:s}=ss(),{prompt:a,activeTabName:c,shouldConcatSDXLStylePrompt:d}=B(tne),p=f.useCallback(b=>{e(Bu(b.target.value))},[e]),h=f.useCallback(b=>{if(!n.current)return;const w=n.current.selectionStart;if(w===void 0)return;let y=a.slice(0,w);y[y.length-1]!=="<"&&(y+="<"),y+=`${b}>`;const S=y.length;y+=a.slice(w),ki.flushSync(()=>{e(Bu(y))}),n.current.selectionStart=S,n.current.selectionEnd=S,o()},[e,o,a]),m=hr("embedding").isFeatureEnabled,v=f.useCallback(b=>{b.key==="Enter"&&b.shiftKey===!1&&t&&(b.preventDefault(),e(yd()),e(xd(c))),m&&b.key==="<"&&s()},[t,e,c,s,m]);return i.jsxs(Re,{position:"relative",children:[i.jsx(mo,{children:d&&i.jsx(Re,{sx:{position:"absolute",left:"3",w:"94%",top:"-17px"},children:i.jsx(TO,{})})}),i.jsx(go,{children:i.jsx(cg,{isOpen:r,onClose:o,onSelect:h,children:i.jsx(ig,{id:"prompt",name:"prompt",ref:n,value:a,placeholder:"Negative Style Prompt",onChange:p,onKeyDown:v,resize:"vertical",fontSize:"sm",minH:16})})}),!r&&m&&i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(lg,{onClick:s})})]})},rne=be([lt,Kn],({sdxl:e},t)=>{const{positiveStylePrompt:n,shouldConcatSDXLStylePrompt:r}=e;return{prompt:n,shouldConcatSDXLStylePrompt:r,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),one=()=>{const e=te(),t=Kd(),n=f.useRef(null),{isOpen:r,onClose:o,onOpen:s}=ss(),{prompt:a,activeTabName:c,shouldConcatSDXLStylePrompt:d}=B(rne),p=f.useCallback(b=>{e(zu(b.target.value))},[e]),h=f.useCallback(b=>{if(!n.current)return;const w=n.current.selectionStart;if(w===void 0)return;let y=a.slice(0,w);y[y.length-1]!=="<"&&(y+="<"),y+=`${b}>`;const S=y.length;y+=a.slice(w),ki.flushSync(()=>{e(zu(y))}),n.current.selectionStart=S,n.current.selectionEnd=S,o()},[e,o,a]),m=hr("embedding").isFeatureEnabled,v=f.useCallback(b=>{b.key==="Enter"&&b.shiftKey===!1&&t&&(b.preventDefault(),e(yd()),e(xd(c))),m&&b.key==="<"&&s()},[t,e,c,s,m]);return i.jsxs(Re,{position:"relative",children:[i.jsx(mo,{children:d&&i.jsx(Re,{sx:{position:"absolute",left:"3",w:"94%",top:"-17px"},children:i.jsx(TO,{})})}),i.jsx(go,{children:i.jsx(cg,{isOpen:r,onClose:o,onSelect:h,children:i.jsx(ig,{id:"prompt",name:"prompt",ref:n,value:a,placeholder:"Positive Style Prompt",onChange:p,onKeyDown:v,resize:"vertical",minH:16})})}),!r&&m&&i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(lg,{onClick:s})})]})};function NO(){return i.jsxs(W,{sx:{flexDirection:"column",gap:2},children:[i.jsx(AO,{}),i.jsx(ene,{}),i.jsx(one,{}),i.jsx(DO,{}),i.jsx(nne,{})]})}const Xc=()=>{const{isRefinerAvailable:e}=na(ab,{selectFromResult:({data:t})=>({isRefinerAvailable:t?t.ids.length>0:!1})});return e},sne=be([lt],({sdxl:e,hotkeys:t})=>{const{refinerAestheticScore:n}=e,{shift:r}=t;return{refinerAestheticScore:n,shift:r}},Je),ane=()=>{const{refinerAestheticScore:e,shift:t}=B(sne),n=Xc(),r=te(),o=f.useCallback(a=>r(Rv(a)),[r]),s=f.useCallback(()=>r(Rv(6)),[r]);return i.jsx(_t,{label:"Aesthetic Score",step:t?.1:.5,min:1,max:10,onChange:o,handleReset:s,value:e,sliderNumberInputProps:{max:10},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!n})},ine=f.memo(ane),sm=/^-?(0\.)?\.?$/,lne=e=>{const{label:t,isDisabled:n=!1,showStepper:r=!0,isInvalid:o,value:s,onChange:a,min:c,max:d,isInteger:p=!0,formControlProps:h,formLabelProps:m,numberInputFieldProps:v,numberInputStepperProps:b,tooltipProps:w,...y}=e,S=te(),[k,_]=f.useState(String(s));f.useEffect(()=>{!k.match(sm)&&s!==Number(k)&&_(String(s))},[s,k]);const P=R=>{_(R),R.match(sm)||a(p?Math.floor(Number(R)):Number(R))},I=R=>{const M=Es(p?Math.floor(Number(R.target.value)):Number(R.target.value),c,d);_(String(M)),a(M)},E=f.useCallback(R=>{R.shiftKey&&S(jo(!0))},[S]),O=f.useCallback(R=>{R.shiftKey||S(jo(!1))},[S]);return i.jsx(vn,{...w,children:i.jsxs(go,{isDisabled:n,isInvalid:o,...h,children:[t&&i.jsx(Bo,{...m,children:t}),i.jsxs(Cm,{value:k,min:c,max:d,keepWithinRange:!0,clampValueOnBlur:!1,onChange:P,onBlur:I,...y,onPaste:Zy,children:[i.jsx(_m,{...v,onKeyDown:E,onKeyUp:O}),r&&i.jsxs(km,{children:[i.jsx(jm,{...b}),i.jsx(Pm,{...b})]})]})]})})},Yc=f.memo(lne),cne=be([lt],({sdxl:e,ui:t,hotkeys:n})=>{const{refinerCFGScale:r}=e,{shouldUseSliders:o}=t,{shift:s}=n;return{refinerCFGScale:r,shouldUseSliders:o,shift:s}},Je),une=()=>{const{refinerCFGScale:e,shouldUseSliders:t,shift:n}=B(cne),r=Xc(),o=te(),{t:s}=ye(),a=f.useCallback(d=>o(Ov(d)),[o]),c=f.useCallback(()=>o(Ov(7)),[o]);return t?i.jsx(_t,{label:s("parameters.cfgScale"),step:n?.1:.5,min:1,max:20,onChange:a,handleReset:c,value:e,sliderNumberInputProps:{max:200},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!r}):i.jsx(Yc,{label:s("parameters.cfgScale"),step:.5,min:1,max:200,onChange:a,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"},isDisabled:!r})},dne=f.memo(une),fne=e=>{const t=wd("models"),[n,r,o]=e.split("/"),s=X7.safeParse({base_model:n,model_name:o,model_type:r});if(!s.success){t.error({mainModelId:e,errors:s.error.format()},"Failed to parse main model id");return}return s.data};function Yd(e){const{iconMode:t=!1}=e,n=te(),{t:r}=ye(),[o,{isLoading:s}]=Y7(),a=()=>{o().unwrap().then(c=>{n(On(Mn({title:`${r("modelManager.modelsSynced")}`,status:"success"})))}).catch(c=>{c&&n(On(Mn({title:`${r("modelManager.modelSyncFailed")}`,status:"error"})))})};return t?i.jsx(ze,{icon:i.jsx(cE,{}),tooltip:r("modelManager.syncModels"),"aria-label":r("modelManager.syncModels"),isLoading:s,onClick:a,size:"sm"}):i.jsx(Yt,{isLoading:s,onClick:a,minW:"max-content",children:"Sync Models"})}const pne=be(lt,e=>({model:e.sdxl.refinerModel}),Je),hne=()=>{const e=te(),t=hr("syncModels").isFeatureEnabled,{model:n}=B(pne),{data:r,isLoading:o}=na(ab),s=f.useMemo(()=>{if(!r)return[];const d=[];return oo(r.entities,(p,h)=>{p&&d.push({value:h,label:p.model_name,group:Qn[p.base_model]})}),d},[r]),a=f.useMemo(()=>(r==null?void 0:r.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])??null,[r==null?void 0:r.entities,n]),c=f.useCallback(d=>{if(!d)return;const p=fne(d);p&&e(q_(p))},[e]);return o?i.jsx(ar,{label:"Refiner Model",placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(ar,{tooltip:a==null?void 0:a.description,label:"Refiner Model",value:a==null?void 0:a.id,placeholder:s.length>0?"Select a model":"No models available",data:s,error:s.length===0,disabled:s.length===0,onChange:c,w:"100%"}),t&&i.jsx(Re,{mt:7,children:i.jsx(Yd,{iconMode:!0})})]})},mne=f.memo(hne),gne=be(lt,({ui:e,sdxl:t})=>{const{refinerScheduler:n}=t,{favoriteSchedulers:r}=e,o=cs(sb,(s,a)=>({value:a,label:s,group:r.includes(a)?"Favorites":void 0})).sort((s,a)=>s.label.localeCompare(a.label));return{refinerScheduler:n,data:o}},Je),vne=()=>{const e=te(),{t}=ye(),{refinerScheduler:n,data:r}=B(gne),o=Xc(),s=f.useCallback(a=>{a&&e(K_(a))},[e]);return i.jsx(ar,{w:"100%",label:t("parameters.scheduler"),value:n,data:r,onChange:s,disabled:!o})},bne=f.memo(vne),yne=be([lt],({sdxl:e})=>{const{refinerStart:t}=e;return{refinerStart:t}},Je),xne=()=>{const{refinerStart:e}=B(yne),t=te(),n=Xc(),r=f.useCallback(s=>t(Mv(s)),[t]),o=f.useCallback(()=>t(Mv(.7)),[t]);return i.jsx(_t,{label:"Refiner Start",step:.01,min:0,max:1,onChange:r,handleReset:o,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!n})},wne=f.memo(xne),Sne=be([lt],({sdxl:e,ui:t})=>{const{refinerSteps:n}=e,{shouldUseSliders:r}=t;return{refinerSteps:n,shouldUseSliders:r}},Je),Cne=()=>{const{refinerSteps:e,shouldUseSliders:t}=B(Sne),n=Xc(),r=te(),{t:o}=ye(),s=f.useCallback(c=>{r(Ev(c))},[r]),a=f.useCallback(()=>{r(Ev(20))},[r]);return t?i.jsx(_t,{label:o("parameters.steps"),min:1,max:100,step:1,onChange:s,handleReset:a,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:500},isDisabled:!n}):i.jsx(Yc,{label:o("parameters.steps"),min:1,max:500,step:1,onChange:s,value:e,numberInputFieldProps:{textAlign:"center"},isDisabled:!n})},kne=f.memo(Cne);function _ne(){const e=B(o=>o.sdxl.shouldUseSDXLRefiner),t=Xc(),n=te(),r=o=>{n(Q7(o.target.checked))};return i.jsx(yr,{label:"Use Refiner",isChecked:e,onChange:r,isDisabled:!t})}const Pne=be(lt,e=>{const{shouldUseSDXLRefiner:t}=e.sdxl,{shouldUseSliders:n}=e.ui;return{activeLabel:t?"Enabled":void 0,shouldUseSliders:n}},Je),$O=()=>{const{activeLabel:e,shouldUseSliders:t}=B(Pne);return i.jsx(Mo,{label:"Refiner",activeLabel:e,children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(_ne,{}),i.jsx(mne,{}),i.jsxs(W,{gap:2,flexDirection:t?"column":"row",children:[i.jsx(kne,{}),i.jsx(dne,{})]}),i.jsx(bne,{}),i.jsx(ine,{}),i.jsx(wne,{})]})})},jne=be([lt],({generation:e,config:t,ui:n,hotkeys:r})=>{const{initial:o,min:s,sliderMax:a,inputMax:c}=t.sd.guidance,{cfgScale:d}=e,{shouldUseSliders:p}=n,{shift:h}=r;return{cfgScale:d,initial:o,min:s,sliderMax:a,inputMax:c,shouldUseSliders:p,shift:h}},Je),Ine=()=>{const{cfgScale:e,initial:t,min:n,sliderMax:r,inputMax:o,shouldUseSliders:s,shift:a}=B(jne),c=te(),{t:d}=ye(),p=f.useCallback(m=>c(Fp(m)),[c]),h=f.useCallback(()=>c(Fp(t)),[c,t]);return s?i.jsx(_t,{label:d("parameters.cfgScale"),step:a?.1:.5,min:n,max:r,onChange:p,handleReset:h,value:e,sliderNumberInputProps:{max:o},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1}):i.jsx(Yc,{label:d("parameters.cfgScale"),step:.5,min:n,max:o,onChange:p,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"}})},yi=f.memo(Ine),Ene=be([lt],e=>{const{initial:t,min:n,sliderMax:r,inputMax:o,fineStep:s,coarseStep:a}=e.config.sd.iterations,{iterations:c}=e.generation,{shouldUseSliders:d}=e.ui,p=e.dynamicPrompts.isEnabled&&e.dynamicPrompts.combinatorial,h=e.hotkeys.shift?s:a;return{iterations:c,initial:t,min:n,sliderMax:r,inputMax:o,step:h,shouldUseSliders:d,isDisabled:p}},Je),One=()=>{const{iterations:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:a,isDisabled:c}=B(Ene),d=te(),{t:p}=ye(),h=f.useCallback(v=>{d(aw(v))},[d]),m=f.useCallback(()=>{d(aw(t))},[d,t]);return a?i.jsx(_t,{isDisabled:c,label:p("parameters.images"),step:s,min:n,max:r,onChange:h,handleReset:m,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):i.jsx(Yc,{isDisabled:c,label:p("parameters.images"),step:s,min:n,max:o,onChange:h,value:e,numberInputFieldProps:{textAlign:"center"}})},xi=f.memo(One),tx=e=>{const t=wd("models"),[n,r,o]=e.split("/"),s=J7.safeParse({base_model:n,model_name:o,model_type:r});if(!s.success){t.error({mainModelId:e,errors:s.error.format()},"Failed to parse main model id");return}return s.data},Rne=be(lt,e=>({model:e.generation.model}),Je),Mne=()=>{const e=te(),{t}=ye(),{model:n}=B(Rne),r=hr("syncModels").isFeatureEnabled,{data:o,isLoading:s}=na(Yu),{data:a,isLoading:c}=Vp(Yu),d=B(Kn),p=f.useMemo(()=>{if(!o)return[];const v=[];return oo(o.entities,(b,w)=>{!b||d==="unifiedCanvas"&&b.base_model==="sdxl"||v.push({value:w,label:b.model_name,group:Qn[b.base_model]})}),oo(a==null?void 0:a.entities,(b,w)=>{!b||d==="unifiedCanvas"||d==="img2img"||v.push({value:w,label:b.model_name,group:Qn[b.base_model]})}),v},[o,a,d]),h=f.useMemo(()=>((o==null?void 0:o.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])||(a==null?void 0:a.entities[`${n==null?void 0:n.base_model}/onnx/${n==null?void 0:n.model_name}`]))??null,[o==null?void 0:o.entities,n,a==null?void 0:a.entities]),m=f.useCallback(v=>{if(!v)return;const b=tx(v);b&&e(jv(b))},[e]);return s||c?i.jsx(ar,{label:t("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:3,children:[i.jsx(ar,{tooltip:h==null?void 0:h.description,label:t("modelManager.model"),value:h==null?void 0:h.id,placeholder:p.length>0?"Select a model":"No models available",data:p,error:p.length===0,disabled:p.length===0,onChange:m,w:"100%"}),r&&i.jsx(Re,{mt:7,children:i.jsx(Yd,{iconMode:!0})})]})},Dne=f.memo(Mne),LO=e=>{const t=wd("models"),[n,r,o]=e.split("/"),s=Z7.safeParse({base_model:n,model_name:o});if(!s.success){t.error({vaeModelId:e,errors:s.error.format()},"Failed to parse VAE model id");return}return s.data},Ane=be(lt,({generation:e})=>{const{model:t,vae:n}=e;return{model:t,vae:n}},Je),Tne=()=>{const e=te(),{t}=ye(),{model:n,vae:r}=B(Ane),{data:o}=t5(),s=f.useMemo(()=>{if(!o)return[];const d=[{value:"default",label:"Default",group:"Default"}];return oo(o.entities,(p,h)=>{if(!p)return;const m=(n==null?void 0:n.base_model)!==p.base_model;d.push({value:h,label:p.model_name,group:Qn[p.base_model],disabled:m,tooltip:m?`Incompatible base model: ${p.base_model}`:void 0})}),d.sort((p,h)=>p.disabled&&!h.disabled?1:-1)},[o,n==null?void 0:n.base_model]),a=f.useMemo(()=>(o==null?void 0:o.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[o==null?void 0:o.entities,r]),c=f.useCallback(d=>{if(!d||d==="default"){e(iw(null));return}const p=LO(d);p&&e(iw(p))},[e]);return i.jsx(ar,{itemComponent:Oi,tooltip:a==null?void 0:a.description,label:t("modelManager.vae"),value:(a==null?void 0:a.id)??"default",placeholder:"Default",data:s,onChange:c,disabled:s.length===0,clearable:!0})},Nne=f.memo(Tne),Mi=e=>e.generation,$ne=be([Ba,Mi],(e,t)=>{const{scheduler:n}=t,{favoriteSchedulers:r}=e,o=cs(sb,(s,a)=>({value:a,label:s,group:r.includes(a)?"Favorites":void 0})).sort((s,a)=>s.label.localeCompare(a.label));return{scheduler:n,data:o}},Je),Lne=()=>{const e=te(),{t}=ye(),{scheduler:n,data:r}=B($ne),o=f.useCallback(s=>{s&&e(Iv(s))},[e]);return i.jsx(ar,{label:t("parameters.scheduler"),value:n,data:r,onChange:o})},zne=f.memo(Lne),Bne=be(lt,({generation:e})=>{const{vaePrecision:t}=e;return{vaePrecision:t}},Je),Fne=["fp16","fp32"],Hne=()=>{const e=te(),{vaePrecision:t}=B(Bne),n=f.useCallback(r=>{r&&e(eM(r))},[e]);return i.jsx(Xr,{label:"VAE Precision",value:t,data:Fne,onChange:n})},Wne=f.memo(Hne),Vne=()=>{const e=hr("vae").isFeatureEnabled;return i.jsxs(W,{gap:3,w:"full",flexWrap:e?"wrap":"nowrap",children:[i.jsx(Re,{w:"full",children:i.jsx(Dne,{})}),i.jsx(Re,{w:"full",children:i.jsx(zne,{})}),e&&i.jsxs(W,{w:"full",gap:3,children:[i.jsx(Nne,{}),i.jsx(Wne,{})]})]})},wi=f.memo(Vne),Une=[{name:"Free",value:null},{name:"2:3",value:2/3},{name:"16:9",value:16/9},{name:"1:1",value:1/1}];function zO(){const e=B(o=>o.generation.aspectRatio),t=te(),n=B(o=>o.generation.shouldFitToWidthHeight),r=B(Kn);return i.jsx(W,{gap:2,flexGrow:1,children:i.jsx(rr,{isAttached:!0,children:Une.map(o=>i.jsx(Yt,{size:"sm",isChecked:e===o.value,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(tM(o.value)),children:o.name},o.name))})})}const Gne=be([lt],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.height,{height:p}=e,{aspectRatio:h}=e,m=t.shift?c:d;return{height:p,initial:r,min:o,sliderMax:s,inputMax:a,step:m,aspectRatio:h}},Je),qne=e=>{const{height:t,initial:n,min:r,sliderMax:o,inputMax:s,step:a,aspectRatio:c}=B(Gne),d=te(),{t:p}=ye(),h=f.useCallback(v=>{if(d(bc(v)),c){const b=ws(v*c,8);d(vc(b))}},[d,c]),m=f.useCallback(()=>{if(d(bc(n)),c){const v=ws(n*c,8);d(vc(v))}},[d,n,c]);return i.jsx(_t,{label:p("parameters.height"),value:t,min:r,step:a,max:o,onChange:h,handleReset:m,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},Kne=f.memo(qne),Xne=be([lt],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.width,{width:p,aspectRatio:h}=e,m=t.shift?c:d;return{width:p,initial:r,min:o,sliderMax:s,inputMax:a,step:m,aspectRatio:h}},Je),Yne=e=>{const{width:t,initial:n,min:r,sliderMax:o,inputMax:s,step:a,aspectRatio:c}=B(Xne),d=te(),{t:p}=ye(),h=f.useCallback(v=>{if(d(vc(v)),c){const b=ws(v/c,8);d(bc(b))}},[d,c]),m=f.useCallback(()=>{if(d(vc(n)),c){const v=ws(n/c,8);d(bc(v))}},[d,n,c]);return i.jsx(_t,{label:p("parameters.width"),value:t,min:r,step:a,max:o,onChange:h,handleReset:m,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},Qne=f.memo(Yne);function Mc(){const{t:e}=ye(),t=te(),n=B(o=>o.generation.shouldFitToWidthHeight),r=B(Kn);return i.jsxs(W,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[i.jsxs(W,{alignItems:"center",gap:2,children:[i.jsx(Qe,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:e("parameters.aspectRatio")}),i.jsx(ml,{}),i.jsx(zO,{}),i.jsx(ze,{tooltip:e("ui.swapSizes"),"aria-label":e("ui.swapSizes"),size:"sm",icon:i.jsx(vO,{}),fontSize:20,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(nM())})]}),i.jsx(W,{gap:2,alignItems:"center",children:i.jsxs(W,{gap:2,flexDirection:"column",width:"full",children:[i.jsx(Qne,{isDisabled:r==="img2img"?!n:!1}),i.jsx(Kne,{isDisabled:r==="img2img"?!n:!1})]})})]})}const Jne=be([lt],({generation:e,config:t,ui:n,hotkeys:r})=>{const{initial:o,min:s,sliderMax:a,inputMax:c,fineStep:d,coarseStep:p}=t.sd.steps,{steps:h}=e,{shouldUseSliders:m}=n,v=r.shift?d:p;return{steps:h,initial:o,min:s,sliderMax:a,inputMax:c,step:v,shouldUseSliders:m}},Je),Zne=()=>{const{steps:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:a}=B(Jne),c=te(),{t:d}=ye(),p=f.useCallback(v=>{c(Hp(v))},[c]),h=f.useCallback(()=>{c(Hp(t))},[c,t]),m=f.useCallback(()=>{c(yd())},[c]);return a?i.jsx(_t,{label:d("parameters.steps"),min:n,max:r,step:s,onChange:p,handleReset:h,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):i.jsx(Yc,{label:d("parameters.steps"),min:n,max:o,step:s,onChange:p,value:e,numberInputFieldProps:{textAlign:"center"},onBlur:m})},Si=f.memo(Zne);function BO(){const e=te(),t=B(o=>o.generation.shouldFitToWidthHeight),n=o=>e(rM(o.target.checked)),{t:r}=ye();return i.jsx(yr,{label:r("parameters.imageFit"),isChecked:t,onChange:n})}function ere(){const e=B(a=>a.generation.seed),t=B(a=>a.generation.shouldRandomizeSeed),n=B(a=>a.generation.shouldGenerateVariations),{t:r}=ye(),o=te(),s=a=>o(Bp(a));return i.jsx(Yc,{label:r("parameters.seed"),step:1,precision:0,flexGrow:1,min:n5,max:r5,isDisabled:t,isInvalid:e<0&&n,onChange:s,value:e})}const tre=(e,t)=>Math.floor(Math.random()*(t-e+1)+e);function nre(){const e=te(),t=B(o=>o.generation.shouldRandomizeSeed),{t:n}=ye(),r=()=>e(Bp(tre(n5,r5)));return i.jsx(ze,{size:"sm",isDisabled:t,"aria-label":n("parameters.shuffle"),tooltip:n("parameters.shuffle"),onClick:r,icon:i.jsx(ZY,{})})}const rre=()=>{const e=te(),{t}=ye(),n=B(o=>o.generation.shouldRandomizeSeed),r=o=>e(oM(o.target.checked));return i.jsx(yr,{label:t("common.random"),isChecked:n,onChange:r})},ore=f.memo(rre),sre=()=>i.jsxs(W,{sx:{gap:3,alignItems:"flex-end"},children:[i.jsx(ere,{}),i.jsx(nre,{}),i.jsx(ore,{})]}),Ci=f.memo(sre),are=be([lt],({sdxl:e})=>{const{sdxlImg2ImgDenoisingStrength:t}=e;return{sdxlImg2ImgDenoisingStrength:t}},Je),ire=()=>{const{sdxlImg2ImgDenoisingStrength:e}=B(are),t=te(),{t:n}=ye(),r=f.useCallback(s=>t(lw(s)),[t]),o=f.useCallback(()=>{t(lw(.7))},[t]);return i.jsx(_t,{label:`${n("parameters.denoisingStrength")}`,step:.01,min:0,max:1,onChange:r,handleReset:o,value:e,isInteger:!1,withInput:!0,withSliderMarks:!0,withReset:!0})},lre=f.memo(ire),cre=be([Ba,Mi],(e,t)=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Je),ure=()=>{const{shouldUseSliders:e,activeLabel:t}=B(cre);return i.jsx(Mo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(W,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(yi,{}),i.jsx(wi,{}),i.jsx(Re,{pt:2,children:i.jsx(Ci,{})}),i.jsx(Mc,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(yi,{})]}),i.jsx(wi,{}),i.jsx(Re,{pt:2,children:i.jsx(Ci,{})}),i.jsx(Mc,{})]}),i.jsx(lre,{}),i.jsx(BO,{})]})})},dre=f.memo(ure),FO=()=>i.jsxs(i.Fragment,{children:[i.jsx(NO,{}),i.jsx(Xd,{}),i.jsx(dre,{}),i.jsx($O,{}),i.jsx(qd,{}),i.jsx(sg,{})]}),HO=e=>{const{sx:t}=e,n=te(),r=B(a=>a.ui.shouldPinParametersPanel),{t:o}=ye(),s=()=>{n(sM(!r)),n(ko())};return i.jsx(ze,{...e,tooltip:o("common.pinOptionsPanel"),"aria-label":o("common.pinOptionsPanel"),onClick:s,icon:r?i.jsx(XE,{}):i.jsx(YE,{}),variant:"ghost",size:"sm",sx:{color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}},...t}})},fre=be(Ba,e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=e;return{shouldPinParametersPanel:t,shouldShowParametersPanel:n}}),pre=e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=B(fre);return t&&n?i.jsxs(Re,{sx:{position:"relative",h:"full",w:ex,flexShrink:0},children:[i.jsx(W,{sx:{gap:2,flexDirection:"column",h:"full",w:"full",position:"absolute",overflowY:"auto"},children:e.children}),i.jsx(HO,{sx:{position:"absolute",top:0,insetInlineEnd:0}})]}):null},nx=f.memo(pre),hre=e=>{const{direction:t="horizontal",...n}=e,{colorMode:r}=Ds();return t==="horizontal"?i.jsx($1,{children:i.jsx(W,{sx:{w:6,h:"full",justifyContent:"center",alignItems:"center"},...n,children:i.jsx(Re,{sx:{w:.5,h:"calc(100% - 4px)",bg:Fe("base.100","base.850")(r)}})})}):i.jsx($1,{children:i.jsx(W,{sx:{w:"full",h:6,justifyContent:"center",alignItems:"center"},...n,children:i.jsx(Re,{sx:{w:"calc(100% - 4px)",h:.5,bg:Fe("base.100","base.850")(r)}})})})},WO=f.memo(hre),mre=be([lt],({system:e})=>{const{isProcessing:t,isConnected:n}=e;return n&&!t}),gre=e=>{const{onClick:t,isDisabled:n}=e,{t:r}=ye(),o=B(mre);return i.jsx(ze,{onClick:t,icon:i.jsx(Eo,{}),tooltip:`${r("gallery.deleteImage")} (Del)`,"aria-label":`${r("gallery.deleteImage")} (Del)`,isDisabled:n||!o,colorScheme:"error"})},vre=[{label:"RealESRGAN x2 Plus",value:"RealESRGAN_x2plus.pth",tooltip:"Attempts to retain sharpness, low smoothing",group:"x2 Upscalers"},{label:"RealESRGAN x4 Plus",value:"RealESRGAN_x4plus.pth",tooltip:"Best for photos and highly detailed images, medium smoothing",group:"x4 Upscalers"},{label:"RealESRGAN x4 Plus (anime 6B)",value:"RealESRGAN_x4plus_anime_6B.pth",tooltip:"Best for anime/manga, high smoothing",group:"x4 Upscalers"},{label:"ESRGAN SRx4",value:"ESRGAN_SRx4_DF2KOST_official-ff704c30.pth",tooltip:"Retains sharpness, low smoothing",group:"x4 Upscalers"}];function bre(){const e=B(r=>r.postprocessing.esrganModelName),t=te(),n=r=>t(aM(r));return i.jsx(Xr,{label:"ESRGAN Model",value:e,itemComponent:Oi,onChange:n,data:vre})}const yre=e=>{const{imageDTO:t}=e,n=te(),r=B(kr),{t:o}=ye(),{isOpen:s,onOpen:a,onClose:c}=ss(),d=f.useCallback(()=>{c(),t&&n(o5({image_name:t.image_name}))},[n,t,c]);return i.jsx(xl,{isOpen:s,onClose:c,triggerComponent:i.jsx(ze,{onClick:a,icon:i.jsx(LY,{}),"aria-label":o("parameters.upscale")}),children:i.jsxs(W,{sx:{flexDirection:"column",gap:4},children:[i.jsx(bre,{}),i.jsx(Yt,{size:"sm",isDisabled:!t||r,onClick:d,children:o("parameters.upscaleImage")})]})})},xre=be([lt,Kn],({gallery:e,system:t,ui:n},r)=>{const{isProcessing:o,isConnected:s,shouldConfirmOnDelete:a,progressImage:c}=t,{shouldShowImageDetails:d,shouldHidePreview:p,shouldShowProgressInViewer:h}=n,m=e.selection[e.selection.length-1];return{canDeleteImage:s&&!o,shouldConfirmOnDelete:a,isProcessing:o,isConnected:s,shouldDisableToolbarButtons:!!c||!m,shouldShowImageDetails:d,activeTabName:r,shouldHidePreview:p,shouldShowProgressInViewer:h,lastSelectedImage:m}},{memoizeOptions:{resultEqualityCheck:Zt}}),wre=e=>{const t=te(),{isProcessing:n,isConnected:r,shouldDisableToolbarButtons:o,shouldShowImageDetails:s,lastSelectedImage:a,shouldShowProgressInViewer:c}=B(xre),d=hr("upscaling").isFeatureEnabled,p=Vc(),{t:h}=ye(),{recallBothPrompts:m,recallSeed:v,recallAllParameters:b}=Uy(),[w,y]=qy(a,500),{currentData:S}=Is((a==null?void 0:a.image_name)??ro.skipToken),{currentData:k}=nb(y.isPending()?ro.skipToken:(w==null?void 0:w.image_name)??ro.skipToken),_=k==null?void 0:k.metadata,P=f.useCallback(()=>{b(_)},[_,b]);tt("a",()=>{},[_,b]);const I=f.useCallback(()=>{v(_==null?void 0:_.seed)},[_==null?void 0:_.seed,v]);tt("s",I,[S]);const E=f.useCallback(()=>{m(_==null?void 0:_.positive_prompt,_==null?void 0:_.negative_prompt,_==null?void 0:_.positive_style_prompt,_==null?void 0:_.negative_style_prompt)},[_==null?void 0:_.negative_prompt,_==null?void 0:_.positive_prompt,_==null?void 0:_.positive_style_prompt,_==null?void 0:_.negative_style_prompt,m]);tt("p",E,[S]);const O=f.useCallback(()=>{t(fO()),t(eb(S))},[t,S]);tt("shift+i",O,[S]);const R=f.useCallback(()=>{S&&t(o5({image_name:S.image_name}))},[t,S]),M=f.useCallback(()=>{S&&t(fm([S]))},[t,S]);tt("Shift+U",()=>{R()},{enabled:()=>!!(d&&!o&&r&&!n)},[d,S,o,r,n]);const D=f.useCallback(()=>t(iM(!s)),[t,s]);tt("i",()=>{S?D():p({title:h("toast.metadataLoadFailed"),status:"error",duration:2500,isClosable:!0})},[S,s,p]),tt("delete",()=>{M()},[t,S]);const A=f.useCallback(()=>{t(e5(!c))},[t,c]);return i.jsx(i.Fragment,{children:i.jsxs(W,{sx:{flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},...e,children:[i.jsx(rr,{isAttached:!0,isDisabled:o,children:i.jsxs(Md,{children:[i.jsx(Dd,{as:ze,"aria-label":`${h("parameters.sendTo")}...`,tooltip:`${h("parameters.sendTo")}...`,isDisabled:!S,icon:i.jsx(rQ,{})}),i.jsx(il,{motionProps:Zu,children:S&&i.jsx(pO,{imageDTO:S})})]})}),i.jsxs(rr,{isAttached:!0,isDisabled:o,children:[i.jsx(ze,{icon:i.jsx(iE,{}),tooltip:`${h("parameters.usePrompt")} (P)`,"aria-label":`${h("parameters.usePrompt")} (P)`,isDisabled:!(_!=null&&_.positive_prompt),onClick:E}),i.jsx(ze,{icon:i.jsx(lE,{}),tooltip:`${h("parameters.useSeed")} (S)`,"aria-label":`${h("parameters.useSeed")} (S)`,isDisabled:!(_!=null&&_.seed),onClick:I}),i.jsx(ze,{icon:i.jsx(YI,{}),tooltip:`${h("parameters.useAll")} (A)`,"aria-label":`${h("parameters.useAll")} (A)`,isDisabled:!_,onClick:P})]}),d&&i.jsx(rr,{isAttached:!0,isDisabled:o,children:d&&i.jsx(yre,{imageDTO:S})}),i.jsx(rr,{isAttached:!0,isDisabled:o,children:i.jsx(ze,{icon:i.jsx(by,{}),tooltip:`${h("parameters.info")} (I)`,"aria-label":`${h("parameters.info")} (I)`,isChecked:s,onClick:D})}),i.jsx(rr,{isAttached:!0,children:i.jsx(ze,{"aria-label":h("settings.displayInProgress"),tooltip:h("settings.displayInProgress"),icon:i.jsx(VY,{}),isChecked:c,onClick:A})}),i.jsx(rr,{isAttached:!0,children:i.jsx(gre,{onClick:M,isDisabled:o})})]})})},Sre=be([lt,rb],(e,t)=>{var _,P;const{data:n,status:r}=lM.endpoints.listImages.select(t)(e),{data:o}=e.gallery.galleryView==="images"?cw.endpoints.getBoardImagesTotal.select(t.board_id??"none")(e):cw.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(e),s=e.gallery.selection[e.gallery.selection.length-1],a=r==="pending";if(!n||!s||o===0)return{isFetching:a,queryArgs:t,isOnFirstImage:!0,isOnLastImage:!0};const c={...t,offset:n.ids.length,limit:J_},d=cM.getSelectors(),p=d.selectAll(n),h=p.findIndex(I=>I.image_name===s.image_name),m=Es(h+1,0,p.length-1),v=Es(h-1,0,p.length-1),b=(_=p[m])==null?void 0:_.image_name,w=(P=p[v])==null?void 0:P.image_name,y=b?d.selectById(n,b):void 0,S=w?d.selectById(n,w):void 0,k=p.length;return{loadedImagesCount:p.length,currentImageIndex:h,areMoreImagesAvailable:(o??0)>k,isFetching:r==="pending",nextImage:y,prevImage:S,queryArgs:c}},{memoizeOptions:{resultEqualityCheck:Zt}}),VO=()=>{const e=te(),{nextImage:t,prevImage:n,areMoreImagesAvailable:r,isFetching:o,queryArgs:s,loadedImagesCount:a,currentImageIndex:c}=B(Sre),d=f.useCallback(()=>{n&&e(uw(n))},[e,n]),p=f.useCallback(()=>{t&&e(uw(t))},[e,t]),[h]=Q_(),m=f.useCallback(()=>{h(s)},[h,s]);return{handlePrevImage:d,handleNextImage:p,isOnFirstImage:c===0,isOnLastImage:c!==void 0&&c===a-1,nextImage:t,prevImage:n,areMoreImagesAvailable:r,handleLoadMoreImages:m,isFetching:o}};function Cre(e){return nt({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M245.09 327.74v-37.32c57.07 0 84.51 13.47 108.58 38.68 5.4 5.65 15 1.32 14.29-6.43-5.45-61.45-34.14-117.09-122.87-117.09v-37.32a8.32 8.32 0 00-14.05-6L146.58 242a8.2 8.2 0 000 11.94L231 333.71a8.32 8.32 0 0014.09-5.97z"}},{tag:"path",attr:{fill:"none",strokeMiterlimit:"10",strokeWidth:"32",d:"M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64z"}}]})(e)}const bs=({label:e,value:t,onClick:n,isLink:r,labelPosition:o,withCopy:s=!1})=>{const{t:a}=ye();return t?i.jsxs(W,{gap:2,children:[n&&i.jsx(vn,{label:`Recall ${e}`,children:i.jsx(ka,{"aria-label":a("accessibility.useThisParameter"),icon:i.jsx(Cre,{}),size:"xs",variant:"ghost",fontSize:20,onClick:n})}),s&&i.jsx(vn,{label:`Copy ${e}`,children:i.jsx(ka,{"aria-label":`Copy ${e}`,icon:i.jsx(qc,{}),size:"xs",variant:"ghost",fontSize:14,onClick:()=>navigator.clipboard.writeText(t.toString())})}),i.jsxs(W,{direction:o?"column":"row",children:[i.jsxs(Qe,{fontWeight:"semibold",whiteSpace:"pre-wrap",pr:2,children:[e,":"]}),r?i.jsxs(Rb,{href:t.toString(),isExternal:!0,wordBreak:"break-all",children:[t.toString()," ",i.jsx(VE,{mx:"2px"})]}):i.jsx(Qe,{overflowY:"scroll",wordBreak:"break-all",children:t.toString()})]})]}):null},kre=e=>{const{metadata:t}=e,{recallPositivePrompt:n,recallNegativePrompt:r,recallSeed:o,recallCfgScale:s,recallModel:a,recallScheduler:c,recallSteps:d,recallWidth:p,recallHeight:h,recallStrength:m}=Uy(),v=f.useCallback(()=>{n(t==null?void 0:t.positive_prompt)},[t==null?void 0:t.positive_prompt,n]),b=f.useCallback(()=>{r(t==null?void 0:t.negative_prompt)},[t==null?void 0:t.negative_prompt,r]),w=f.useCallback(()=>{o(t==null?void 0:t.seed)},[t==null?void 0:t.seed,o]),y=f.useCallback(()=>{a(t==null?void 0:t.model)},[t==null?void 0:t.model,a]),S=f.useCallback(()=>{p(t==null?void 0:t.width)},[t==null?void 0:t.width,p]),k=f.useCallback(()=>{h(t==null?void 0:t.height)},[t==null?void 0:t.height,h]),_=f.useCallback(()=>{c(t==null?void 0:t.scheduler)},[t==null?void 0:t.scheduler,c]),P=f.useCallback(()=>{d(t==null?void 0:t.steps)},[t==null?void 0:t.steps,d]),I=f.useCallback(()=>{s(t==null?void 0:t.cfg_scale)},[t==null?void 0:t.cfg_scale,s]),E=f.useCallback(()=>{m(t==null?void 0:t.strength)},[t==null?void 0:t.strength,m]);return!t||Object.keys(t).length===0?null:i.jsxs(i.Fragment,{children:[t.generation_mode&&i.jsx(bs,{label:"Generation Mode",value:t.generation_mode}),t.positive_prompt&&i.jsx(bs,{label:"Positive Prompt",labelPosition:"top",value:t.positive_prompt,onClick:v}),t.negative_prompt&&i.jsx(bs,{label:"Negative Prompt",labelPosition:"top",value:t.negative_prompt,onClick:b}),t.seed!==void 0&&i.jsx(bs,{label:"Seed",value:t.seed,onClick:w}),t.model!==void 0&&i.jsx(bs,{label:"Model",value:t.model.model_name,onClick:y}),t.width&&i.jsx(bs,{label:"Width",value:t.width,onClick:S}),t.height&&i.jsx(bs,{label:"Height",value:t.height,onClick:k}),t.scheduler&&i.jsx(bs,{label:"Scheduler",value:t.scheduler,onClick:_}),t.steps&&i.jsx(bs,{label:"Steps",value:t.steps,onClick:P}),t.cfg_scale!==void 0&&i.jsx(bs,{label:"CFG scale",value:t.cfg_scale,onClick:I}),t.strength&&i.jsx(bs,{label:"Image to image strength",value:t.strength,onClick:E})]})},_re=e=>{const{copyTooltip:t,jsonObject:n}=e,r=f.useMemo(()=>JSON.stringify(n,null,2),[n]);return i.jsxs(W,{sx:{borderRadius:"base",bg:"whiteAlpha.500",_dark:{bg:"blackAlpha.500"},flexGrow:1,w:"full",h:"full",position:"relative"},children:[i.jsx(Re,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"auto",p:4},children:i.jsx(zE,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:i.jsx("pre",{children:r})})}),i.jsx(W,{sx:{position:"absolute",top:0,insetInlineEnd:0,p:2},children:i.jsx(vn,{label:t,children:i.jsx(ka,{"aria-label":t,icon:i.jsx(qc,{}),variant:"ghost",onClick:()=>navigator.clipboard.writeText(r)})})})]})},Pre=({image:e})=>{const[t,n]=qy(e.image_name,500),{currentData:r}=nb(n.isPending()?ro.skipToken:t??ro.skipToken),o=r==null?void 0:r.metadata,s=r==null?void 0:r.graph,a=f.useMemo(()=>{const c=[];return o&&c.push({label:"Core Metadata",data:o,copyTooltip:"Copy Core Metadata JSON"}),e&&c.push({label:"Image Details",data:e,copyTooltip:"Copy Image Details JSON"}),s&&c.push({label:"Graph",data:s,copyTooltip:"Copy Graph JSON"}),c},[o,s,e]);return i.jsxs(W,{sx:{padding:4,gap:1,flexDirection:"column",width:"full",height:"full",backdropFilter:"blur(20px)",bg:"baseAlpha.200",_dark:{bg:"blackAlpha.600"},borderRadius:"base",position:"absolute",overflow:"hidden"},children:[i.jsxs(W,{gap:2,children:[i.jsx(Qe,{fontWeight:"semibold",children:"File:"}),i.jsxs(Rb,{href:e.image_url,isExternal:!0,maxW:"calc(100% - 3rem)",children:[e.image_name,i.jsx(VE,{mx:"2px"})]})]}),i.jsx(kre,{metadata:o}),i.jsxs($d,{variant:"line",sx:{display:"flex",flexDir:"column",w:"full",h:"full"},children:[i.jsx(Ld,{children:a.map(c=>i.jsx(kc,{sx:{borderTopRadius:"base"},children:i.jsx(Qe,{sx:{color:"base.700",_dark:{color:"base.300"}},children:c.label})},c.label))}),i.jsx(Nm,{sx:{w:"full",h:"full"},children:a.map(c=>i.jsx(Tm,{sx:{w:"full",h:"full",p:0,pt:4},children:i.jsx(_re,{jsonObject:c.data,copyTooltip:c.copyTooltip})},c.label))})]})]})},jre=f.memo(Pre),mv={color:"base.100",pointerEvents:"auto"},Ire=()=>{const{t:e}=ye(),{handlePrevImage:t,handleNextImage:n,isOnFirstImage:r,isOnLastImage:o,handleLoadMoreImages:s,areMoreImagesAvailable:a,isFetching:c}=VO();return i.jsxs(Re,{sx:{position:"relative",height:"100%",width:"100%"},children:[i.jsx(Re,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineStart:0},children:!r&&i.jsx(ka,{"aria-label":e("accessibility.previousImage"),icon:i.jsx(IY,{size:64}),variant:"unstyled",onClick:t,boxSize:16,sx:mv})}),i.jsxs(Re,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineEnd:0},children:[!o&&i.jsx(ka,{"aria-label":e("accessibility.nextImage"),icon:i.jsx(EY,{size:64}),variant:"unstyled",onClick:n,boxSize:16,sx:mv}),o&&a&&!c&&i.jsx(ka,{"aria-label":e("accessibility.loadMore"),icon:i.jsx(jY,{size:64}),variant:"unstyled",onClick:s,boxSize:16,sx:mv}),o&&a&&c&&i.jsx(W,{sx:{w:16,h:16,alignItems:"center",justifyContent:"center"},children:i.jsx(hl,{opacity:.5,size:"xl"})})]})]})},Ere=f.memo(Ire),Ore=be([lt,uM],({ui:e,system:t},n)=>{const{shouldShowImageDetails:r,shouldHidePreview:o,shouldShowProgressInViewer:s}=e,{progressImage:a,shouldAntialiasProgressImage:c}=t;return{shouldShowImageDetails:r,shouldHidePreview:o,imageName:n==null?void 0:n.image_name,progressImage:a,shouldShowProgressInViewer:s,shouldAntialiasProgressImage:c}},{memoizeOptions:{resultEqualityCheck:Zt}}),Rre=()=>{const{shouldShowImageDetails:e,imageName:t,progressImage:n,shouldShowProgressInViewer:r,shouldAntialiasProgressImage:o}=B(Ore),{handlePrevImage:s,handleNextImage:a,isOnLastImage:c,handleLoadMoreImages:d,areMoreImagesAvailable:p,isFetching:h}=VO();tt("left",()=>{s()},[s]),tt("right",()=>{if(c&&p&&!h){d();return}c||a()},[c,p,d,h,a]);const{currentData:m}=Is(t??ro.skipToken),v=f.useMemo(()=>{if(m)return{id:"current-image",payloadType:"IMAGE_DTO",payload:{imageDTO:m}}},[m]),b=f.useMemo(()=>({id:"current-image",actionType:"SET_CURRENT_IMAGE"}),[]),[w,y]=f.useState(!1),S=f.useRef(0),k=f.useCallback(()=>{y(!0),window.clearTimeout(S.current)},[]),_=f.useCallback(()=>{S.current=window.setTimeout(()=>{y(!1)},500)},[]);return i.jsxs(W,{onMouseOver:k,onMouseOut:_,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative"},children:[n&&r?i.jsx(Lc,{src:n.dataURL,width:n.width,height:n.height,draggable:!1,sx:{objectFit:"contain",maxWidth:"full",maxHeight:"full",height:"auto",position:"absolute",borderRadius:"base",imageRendering:o?"auto":"pixelated"}}):i.jsx(fl,{imageDTO:m,droppableData:b,draggableData:v,isUploadDisabled:!0,fitContainer:!0,useThumbailFallback:!0,dropLabel:"Set as Current Image",noContentFallback:i.jsx(tl,{icon:Oc,label:"No image selected"})}),e&&m&&i.jsx(Re,{sx:{position:"absolute",top:"0",width:"full",height:"full",borderRadius:"base"},children:i.jsx(jre,{image:m})}),i.jsx(mo,{children:!e&&m&&w&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},style:{position:"absolute",top:"0",width:"100%",height:"100%",pointerEvents:"none"},children:i.jsx(Ere,{})},"nextPrevButtons")})]})},Mre=f.memo(Rre),Dre=()=>i.jsxs(W,{sx:{position:"relative",flexDirection:"column",height:"100%",width:"100%",rowGap:4,alignItems:"center",justifyContent:"center"},children:[i.jsx(wre,{}),i.jsx(Mre,{})]}),UO=()=>i.jsx(Re,{layerStyle:"first",sx:{position:"relative",width:"100%",height:"100%",p:4,borderRadius:"base"},children:i.jsx(W,{sx:{width:"100%",height:"100%"},children:i.jsx(Dre,{})})}),Are=e=>{const t=te(),{lora:n}=e,r=f.useCallback(a=>{t(dM({id:n.id,weight:a}))},[t,n.id]),o=f.useCallback(()=>{t(fM(n.id))},[t,n.id]),s=f.useCallback(()=>{t(pM(n.id))},[t,n.id]);return i.jsxs(W,{sx:{gap:2.5,alignItems:"flex-end"},children:[i.jsx(_t,{label:n.model_name,value:n.weight,onChange:r,min:-1,max:2,step:.01,withInput:!0,withReset:!0,handleReset:o,withSliderMarks:!0,sliderMarks:[-1,0,1,2],sliderNumberInputProps:{min:-50,max:50}}),i.jsx(ze,{size:"sm",onClick:s,tooltip:"Remove LoRA","aria-label":"Remove LoRA",icon:i.jsx(Eo,{}),colorScheme:"error"})]})},Tre=f.memo(Are),Nre=be(lt,({lora:e})=>{const{loras:t}=e;return{loras:t}},Je),$re=()=>{const{loras:e}=B(Nre);return i.jsx(i.Fragment,{children:cs(e,t=>i.jsx(Tre,{lora:t},t.model_name))})},Lre=be(lt,({lora:e})=>({loras:e.loras}),Je),zre=()=>{const e=te(),{loras:t}=B(Lre),{data:n}=hm(),r=B(a=>a.generation.model),o=f.useMemo(()=>{if(!n)return[];const a=[];return oo(n.entities,(c,d)=>{if(!c||d in t)return;const p=(r==null?void 0:r.base_model)!==c.base_model;a.push({value:d,label:c.model_name,disabled:p,group:Qn[c.base_model],tooltip:p?`Incompatible base model: ${c.base_model}`:void 0})}),a.sort((c,d)=>{var p;return c.label&&d.label&&(p=c.label)!=null&&p.localeCompare(d.label)?1:-1}),a.sort((c,d)=>c.disabled&&!d.disabled?-1:1)},[t,n,r==null?void 0:r.base_model]),s=f.useCallback(a=>{if(!a)return;const c=n==null?void 0:n.entities[a];c&&e(hM(c))},[e,n==null?void 0:n.entities]);return(n==null?void 0:n.ids.length)===0?i.jsx(W,{sx:{justifyContent:"center",p:2},children:i.jsx(Qe,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):i.jsx(ar,{placeholder:o.length===0?"All LoRAs added":"Add LoRA",value:null,data:o,nothingFound:"No matching LoRAs",itemComponent:Oi,disabled:o.length===0,filter:(a,c)=>{var d;return((d=c.label)==null?void 0:d.toLowerCase().includes(a.toLowerCase().trim()))||c.value.toLowerCase().includes(a.toLowerCase().trim())},onChange:s})},Bre=be(lt,e=>{const t=s5(e.lora.loras);return{activeLabel:t>0?`${t} Active`:void 0}},Je),Fre=()=>{const{activeLabel:e}=B(Bre);return hr("lora").isFeatureEnabled?i.jsx(Mo,{label:"LoRA",activeLabel:e,children:i.jsxs(W,{sx:{flexDir:"column",gap:2},children:[i.jsx(zre,{}),i.jsx($re,{})]})}):null},rx=f.memo(Fre);function Hre(){const e=B(d=>d.generation.clipSkip),{model:t}=B(d=>d.generation),n=te(),{t:r}=ye(),o=f.useCallback(d=>{n(dw(d))},[n]),s=f.useCallback(()=>{n(dw(0))},[n]),a=f.useMemo(()=>t?zf[t.base_model].maxClip:zf["sd-1"].maxClip,[t]),c=f.useMemo(()=>t?zf[t.base_model].markers:zf["sd-1"].markers,[t]);return i.jsx(_t,{label:r("parameters.clipSkip"),"aria-label":r("parameters.clipSkip"),min:0,max:a,step:1,value:e,onChange:o,withSliderMarks:!0,sliderMarks:c,withInput:!0,withReset:!0,handleReset:s})}const Wre=be(lt,e=>({activeLabel:e.generation.clipSkip>0?"Clip Skip":void 0}),Je);function ox(){const{activeLabel:e}=B(Wre);return B(n=>n.generation.shouldShowAdvancedOptions)?i.jsx(Mo,{label:"Advanced",activeLabel:e,children:i.jsx(W,{sx:{flexDir:"column",gap:2},children:i.jsx(Hre,{})})}):null}const GO=e=>{const t=wd("models"),[n,r,o]=e.split("/"),s=mM.safeParse({base_model:n,model_name:o});if(!s.success){t.error({controlNetModelId:e,errors:s.error.format()},"Failed to parse ControlNet model id");return}return s.data},Vre=be(lt,({generation:e})=>{const{model:t}=e;return{mainModel:t}},Je),Ure=e=>{const{controlNetId:t,model:n,isEnabled:r}=e.controlNet,o=te(),s=B(kr),{mainModel:a}=B(Vre),{data:c}=ib(),d=f.useMemo(()=>{if(!c)return[];const m=[];return oo(c.entities,(v,b)=>{if(!v)return;const w=(v==null?void 0:v.base_model)!==(a==null?void 0:a.base_model);m.push({value:b,label:v.model_name,group:Qn[v.base_model],disabled:w,tooltip:w?`Incompatible base model: ${v.base_model}`:void 0})}),m},[c,a==null?void 0:a.base_model]),p=f.useMemo(()=>(c==null?void 0:c.entities[`${n==null?void 0:n.base_model}/controlnet/${n==null?void 0:n.model_name}`])??null,[n==null?void 0:n.base_model,n==null?void 0:n.model_name,c==null?void 0:c.entities]),h=f.useCallback(m=>{if(!m)return;const v=GO(m);v&&o(a5({controlNetId:t,model:v}))},[t,o]);return i.jsx(ar,{itemComponent:Oi,data:d,error:!p||(a==null?void 0:a.base_model)!==p.base_model,placeholder:"Select a model",value:(p==null?void 0:p.id)??null,onChange:h,disabled:s||!r,tooltip:p==null?void 0:p.description})},Gre=f.memo(Ure),qre=e=>{const{weight:t,isEnabled:n,controlNetId:r}=e.controlNet,o=te(),s=f.useCallback(a=>{o(gM({controlNetId:r,weight:a}))},[r,o]);return i.jsx(_t,{isDisabled:!n,label:"Weight",value:t,onChange:s,min:0,max:2,step:.01,withSliderMarks:!0,sliderMarks:[0,1,2]})},Kre=f.memo(qre),Xre=be(lt,({controlNet:e})=>{const{pendingControlImages:t}=e;return{pendingControlImages:t}},Je),Yre=e=>{const{height:t}=e,{controlImage:n,processedControlImage:r,processorType:o,isEnabled:s,controlNetId:a}=e.controlNet,c=te(),{pendingControlImages:d}=B(Xre),[p,h]=f.useState(!1),{currentData:m}=Is(n??ro.skipToken),{currentData:v}=Is(r??ro.skipToken),b=f.useCallback(()=>{c(vM({controlNetId:a,controlImage:null}))},[a,c]),w=f.useCallback(()=>{h(!0)},[]),y=f.useCallback(()=>{h(!1)},[]),S=f.useMemo(()=>{if(m)return{id:a,payloadType:"IMAGE_DTO",payload:{imageDTO:m}}},[m,a]),k=f.useMemo(()=>({id:a,actionType:"SET_CONTROLNET_IMAGE",context:{controlNetId:a}}),[a]),_=f.useMemo(()=>({type:"SET_CONTROLNET_IMAGE",controlNetId:a}),[a]),P=m&&v&&!p&&!d.includes(a)&&o!=="none";return i.jsxs(W,{onMouseEnter:w,onMouseLeave:y,sx:{position:"relative",w:"full",h:t,alignItems:"center",justifyContent:"center",pointerEvents:s?"auto":"none",opacity:s?1:.5},children:[i.jsx(fl,{draggableData:S,droppableData:k,imageDTO:m,isDropDisabled:P||!s,onClickReset:b,postUploadAction:_,resetTooltip:"Reset Control Image",withResetIcon:!!m}),i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",opacity:P?1:0,transitionProperty:"common",transitionDuration:"normal",pointerEvents:"none"},children:i.jsx(fl,{draggableData:S,droppableData:k,imageDTO:v,isUploadDisabled:!0,isDropDisabled:!s,onClickReset:b,resetTooltip:"Reset Control Image",withResetIcon:!!m})}),d.includes(a)&&i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",alignItems:"center",justifyContent:"center",opacity:.8,borderRadius:"base",bg:"base.400",_dark:{bg:"base.900"}},children:i.jsx(hl,{size:"xl",sx:{color:"base.100",_dark:{color:"base.400"}}})})]})},Tk=f.memo(Yre),Ts=()=>{const e=te();return f.useCallback((n,r)=>{e(bM({controlNetId:n,changes:r}))},[e])};function Ns(e){return i.jsx(W,{sx:{flexDirection:"column",gap:2},children:e.children})}const Nk=ls.canny_image_processor.default,Qre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{low_threshold:o,high_threshold:s}=n,a=B(kr),c=Ts(),d=f.useCallback(v=>{c(t,{low_threshold:v})},[t,c]),p=f.useCallback(()=>{c(t,{low_threshold:Nk.low_threshold})},[t,c]),h=f.useCallback(v=>{c(t,{high_threshold:v})},[t,c]),m=f.useCallback(()=>{c(t,{high_threshold:Nk.high_threshold})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{isDisabled:a||!r,label:"Low Threshold",value:o,onChange:d,handleReset:p,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0}),i.jsx(_t,{isDisabled:a||!r,label:"High Threshold",value:s,onChange:h,handleReset:m,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0})]})},Jre=f.memo(Qre),Su=ls.content_shuffle_image_processor.default,Zre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,w:a,h:c,f:d}=n,p=Ts(),h=B(kr),m=f.useCallback(E=>{p(t,{detect_resolution:E})},[t,p]),v=f.useCallback(()=>{p(t,{detect_resolution:Su.detect_resolution})},[t,p]),b=f.useCallback(E=>{p(t,{image_resolution:E})},[t,p]),w=f.useCallback(()=>{p(t,{image_resolution:Su.image_resolution})},[t,p]),y=f.useCallback(E=>{p(t,{w:E})},[t,p]),S=f.useCallback(()=>{p(t,{w:Su.w})},[t,p]),k=f.useCallback(E=>{p(t,{h:E})},[t,p]),_=f.useCallback(()=>{p(t,{h:Su.h})},[t,p]),P=f.useCallback(E=>{p(t,{f:E})},[t,p]),I=f.useCallback(()=>{p(t,{f:Su.f})},[t,p]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:m,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:b,handleReset:w,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"W",value:a,onChange:y,handleReset:S,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"H",value:c,onChange:k,handleReset:_,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"F",value:d,onChange:P,handleReset:I,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r})]})},eoe=f.memo(Zre),$k=ls.hed_image_processor.default,toe=e=>{const{controlNetId:t,processorNode:{detect_resolution:n,image_resolution:r,scribble:o},isEnabled:s}=e,a=B(kr),c=Ts(),d=f.useCallback(b=>{c(t,{detect_resolution:b})},[t,c]),p=f.useCallback(b=>{c(t,{image_resolution:b})},[t,c]),h=f.useCallback(b=>{c(t,{scribble:b.target.checked})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:$k.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:$k.image_resolution})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:n,onChange:d,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:a||!s}),i.jsx(_t,{label:"Image Resolution",value:r,onChange:p,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:a||!s}),i.jsx(yr,{label:"Scribble",isChecked:o,onChange:h,isDisabled:a||!s})]})},noe=f.memo(toe),Lk=ls.lineart_anime_image_processor.default,roe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,a=Ts(),c=B(kr),d=f.useCallback(v=>{a(t,{detect_resolution:v})},[t,a]),p=f.useCallback(v=>{a(t,{image_resolution:v})},[t,a]),h=f.useCallback(()=>{a(t,{detect_resolution:Lk.detect_resolution})},[t,a]),m=f.useCallback(()=>{a(t,{image_resolution:Lk.image_resolution})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},ooe=f.memo(roe),zk=ls.lineart_image_processor.default,soe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,coarse:a}=n,c=Ts(),d=B(kr),p=f.useCallback(w=>{c(t,{detect_resolution:w})},[t,c]),h=f.useCallback(w=>{c(t,{image_resolution:w})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:zk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:zk.image_resolution})},[t,c]),b=f.useCallback(w=>{c(t,{coarse:w.target.checked})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(yr,{label:"Coarse",isChecked:a,onChange:b,isDisabled:d||!r})]})},aoe=f.memo(soe),Bk=ls.mediapipe_face_processor.default,ioe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{max_faces:o,min_confidence:s}=n,a=Ts(),c=B(kr),d=f.useCallback(v=>{a(t,{max_faces:v})},[t,a]),p=f.useCallback(v=>{a(t,{min_confidence:v})},[t,a]),h=f.useCallback(()=>{a(t,{max_faces:Bk.max_faces})},[t,a]),m=f.useCallback(()=>{a(t,{min_confidence:Bk.min_confidence})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Max Faces",value:o,onChange:d,handleReset:h,withReset:!0,min:1,max:20,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Min Confidence",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},loe=f.memo(ioe),Fk=ls.midas_depth_image_processor.default,coe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{a_mult:o,bg_th:s}=n,a=Ts(),c=B(kr),d=f.useCallback(v=>{a(t,{a_mult:v})},[t,a]),p=f.useCallback(v=>{a(t,{bg_th:v})},[t,a]),h=f.useCallback(()=>{a(t,{a_mult:Fk.a_mult})},[t,a]),m=f.useCallback(()=>{a(t,{bg_th:Fk.bg_th})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"a_mult",value:o,onChange:d,handleReset:h,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"bg_th",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},uoe=f.memo(coe),kp=ls.mlsd_image_processor.default,doe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,thr_d:a,thr_v:c}=n,d=Ts(),p=B(kr),h=f.useCallback(_=>{d(t,{detect_resolution:_})},[t,d]),m=f.useCallback(_=>{d(t,{image_resolution:_})},[t,d]),v=f.useCallback(_=>{d(t,{thr_d:_})},[t,d]),b=f.useCallback(_=>{d(t,{thr_v:_})},[t,d]),w=f.useCallback(()=>{d(t,{detect_resolution:kp.detect_resolution})},[t,d]),y=f.useCallback(()=>{d(t,{image_resolution:kp.image_resolution})},[t,d]),S=f.useCallback(()=>{d(t,{thr_d:kp.thr_d})},[t,d]),k=f.useCallback(()=>{d(t,{thr_v:kp.thr_v})},[t,d]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:h,handleReset:w,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:m,handleReset:y,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"W",value:a,onChange:v,handleReset:S,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"H",value:c,onChange:b,handleReset:k,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r})]})},foe=f.memo(doe),Hk=ls.normalbae_image_processor.default,poe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,a=Ts(),c=B(kr),d=f.useCallback(v=>{a(t,{detect_resolution:v})},[t,a]),p=f.useCallback(v=>{a(t,{image_resolution:v})},[t,a]),h=f.useCallback(()=>{a(t,{detect_resolution:Hk.detect_resolution})},[t,a]),m=f.useCallback(()=>{a(t,{image_resolution:Hk.image_resolution})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},hoe=f.memo(poe),Wk=ls.openpose_image_processor.default,moe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,hand_and_face:a}=n,c=Ts(),d=B(kr),p=f.useCallback(w=>{c(t,{detect_resolution:w})},[t,c]),h=f.useCallback(w=>{c(t,{image_resolution:w})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:Wk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:Wk.image_resolution})},[t,c]),b=f.useCallback(w=>{c(t,{hand_and_face:w.target.checked})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(yr,{label:"Hand and Face",isChecked:a,onChange:b,isDisabled:d||!r})]})},goe=f.memo(moe),Vk=ls.pidi_image_processor.default,voe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,scribble:a,safe:c}=n,d=Ts(),p=B(kr),h=f.useCallback(S=>{d(t,{detect_resolution:S})},[t,d]),m=f.useCallback(S=>{d(t,{image_resolution:S})},[t,d]),v=f.useCallback(()=>{d(t,{detect_resolution:Vk.detect_resolution})},[t,d]),b=f.useCallback(()=>{d(t,{image_resolution:Vk.image_resolution})},[t,d]),w=f.useCallback(S=>{d(t,{scribble:S.target.checked})},[t,d]),y=f.useCallback(S=>{d(t,{safe:S.target.checked})},[t,d]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:m,handleReset:b,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(yr,{label:"Scribble",isChecked:a,onChange:w}),i.jsx(yr,{label:"Safe",isChecked:c,onChange:y,isDisabled:p||!r})]})},boe=f.memo(voe),yoe=e=>null,xoe=f.memo(yoe),woe=e=>{const{controlNetId:t,isEnabled:n,processorNode:r}=e.controlNet;return r.type==="canny_image_processor"?i.jsx(Jre,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="hed_image_processor"?i.jsx(noe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="lineart_image_processor"?i.jsx(aoe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="content_shuffle_image_processor"?i.jsx(eoe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="lineart_anime_image_processor"?i.jsx(ooe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="mediapipe_face_processor"?i.jsx(loe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="midas_depth_image_processor"?i.jsx(uoe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="mlsd_image_processor"?i.jsx(foe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="normalbae_image_processor"?i.jsx(hoe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="openpose_image_processor"?i.jsx(goe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="pidi_image_processor"?i.jsx(boe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="zoe_depth_image_processor"?i.jsx(xoe,{controlNetId:t,processorNode:r,isEnabled:n}):null},Soe=f.memo(woe),Coe=e=>{const{controlNetId:t,isEnabled:n,shouldAutoConfig:r}=e.controlNet,o=te(),s=B(kr),a=f.useCallback(()=>{o(yM({controlNetId:t}))},[t,o]);return i.jsx(yr,{label:"Auto configure processor","aria-label":"Auto configure processor",isChecked:r,onChange:a,isDisabled:s||!n})},koe=f.memo(Coe),Uk=e=>`${Math.round(e*100)}%`,_oe=e=>{const{beginStepPct:t,endStepPct:n,isEnabled:r,controlNetId:o}=e.controlNet,s=te(),a=f.useCallback(c=>{s(xM({controlNetId:o,beginStepPct:c[0]})),s(wM({controlNetId:o,endStepPct:c[1]}))},[o,s]);return i.jsxs(go,{isDisabled:!r,children:[i.jsx(Bo,{children:"Begin / End Step Percentage"}),i.jsx(fi,{w:"100%",gap:2,alignItems:"center",children:i.jsxs(K6,{"aria-label":["Begin Step %","End Step %"],value:[t,n],onChange:a,min:0,max:1,step:.01,minStepsBetweenThumbs:5,isDisabled:!r,children:[i.jsx(X6,{children:i.jsx(Y6,{})}),i.jsx(vn,{label:Uk(t),placement:"top",hasArrow:!0,children:i.jsx(o1,{index:0})}),i.jsx(vn,{label:Uk(n),placement:"top",hasArrow:!0,children:i.jsx(o1,{index:1})}),i.jsx(Dp,{value:0,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},children:"0%"}),i.jsx(Dp,{value:.5,sx:{insetInlineStart:"50% !important",transform:"translateX(-50%)"},children:"50%"}),i.jsx(Dp,{value:1,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},children:"100%"})]})})]})},Poe=f.memo(_oe),joe=[{label:"Balanced",value:"balanced"},{label:"Prompt",value:"more_prompt"},{label:"Control",value:"more_control"},{label:"Mega Control",value:"unbalanced"}];function Ioe(e){const{controlMode:t,isEnabled:n,controlNetId:r}=e.controlNet,o=te(),s=f.useCallback(a=>{o(SM({controlNetId:r,controlMode:a}))},[r,o]);return i.jsx(Xr,{disabled:!n,label:"Control Mode",data:joe,value:String(t),onChange:s})}const Eoe=be(bO,e=>cs(ls,n=>({value:n.type,label:n.label})).sort((n,r)=>n.value==="none"?-1:r.value==="none"?1:n.label.localeCompare(r.label)).filter(n=>!e.sd.disabledControlNetProcessors.includes(n.value)),Je),Ooe=e=>{const t=te(),{controlNetId:n,isEnabled:r,processorNode:o}=e.controlNet,s=B(kr),a=B(Eoe),c=f.useCallback(d=>{t(CM({controlNetId:n,processorType:d}))},[n,t]);return i.jsx(ar,{label:"Processor",value:o.type??"canny_image_processor",data:a,onChange:c,disabled:s||!r})},Roe=f.memo(Ooe),Moe=[{label:"Resize",value:"just_resize"},{label:"Crop",value:"crop_resize"},{label:"Fill",value:"fill_resize"}];function Doe(e){const{resizeMode:t,isEnabled:n,controlNetId:r}=e.controlNet,o=te(),s=f.useCallback(a=>{o(kM({controlNetId:r,resizeMode:a}))},[r,o]);return i.jsx(Xr,{disabled:!n,label:"Resize Mode",data:Moe,value:String(t),onChange:s})}const Aoe=e=>{const{controlNet:t}=e,{controlNetId:n}=t,r=te(),o=be(lt,({controlNet:v})=>{const b=v.controlNets[n];if(!b)return{isEnabled:!1,shouldAutoConfig:!1};const{isEnabled:w,shouldAutoConfig:y}=b;return{isEnabled:w,shouldAutoConfig:y}},Je),{isEnabled:s,shouldAutoConfig:a}=B(o),[c,d]=Dee(!1),p=f.useCallback(()=>{r(_M({controlNetId:n}))},[n,r]),h=f.useCallback(()=>{r(PM({sourceControlNetId:n,newControlNetId:di()}))},[n,r]),m=f.useCallback(()=>{r(jM({controlNetId:n}))},[n,r]);return i.jsxs(W,{sx:{flexDir:"column",gap:3,p:3,borderRadius:"base",position:"relative",bg:"base.200",_dark:{bg:"base.850"}},children:[i.jsxs(W,{sx:{gap:2,alignItems:"center"},children:[i.jsx(yr,{tooltip:"Toggle this ControlNet","aria-label":"Toggle this ControlNet",isChecked:s,onChange:m}),i.jsx(Re,{sx:{w:"full",minW:0,opacity:s?1:.5,pointerEvents:s?"auto":"none",transitionProperty:"common",transitionDuration:"0.1s"},children:i.jsx(Gre,{controlNet:t})}),i.jsx(ze,{size:"sm",tooltip:"Duplicate","aria-label":"Duplicate",onClick:h,icon:i.jsx(qc,{})}),i.jsx(ze,{size:"sm",tooltip:"Delete","aria-label":"Delete",colorScheme:"error",onClick:p,icon:i.jsx(Eo,{})}),i.jsx(ze,{size:"sm",tooltip:c?"Hide Advanced":"Show Advanced","aria-label":c?"Hide Advanced":"Show Advanced",onClick:d,variant:"ghost",sx:{_hover:{bg:"none"}},icon:i.jsx(Ly,{sx:{boxSize:4,color:"base.700",transform:c?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal",_dark:{color:"base.300"}}})}),!a&&i.jsx(Re,{sx:{position:"absolute",w:1.5,h:1.5,borderRadius:"full",top:4,insetInlineEnd:4,bg:"accent.700",_dark:{bg:"accent.400"}}})]}),i.jsxs(W,{sx:{w:"full",flexDirection:"column",gap:3},children:[i.jsxs(W,{sx:{gap:4,w:"full",alignItems:"center"},children:[i.jsxs(W,{sx:{flexDir:"column",gap:3,h:28,w:"full",paddingInlineStart:1,paddingInlineEnd:c?1:0,pb:2,justifyContent:"space-between"},children:[i.jsx(Kre,{controlNet:t}),i.jsx(Poe,{controlNet:t})]}),!c&&i.jsx(W,{sx:{alignItems:"center",justifyContent:"center",h:28,w:28,aspectRatio:"1/1"},children:i.jsx(Tk,{controlNet:t,height:28})})]}),i.jsxs(W,{sx:{gap:2},children:[i.jsx(Ioe,{controlNet:t}),i.jsx(Doe,{controlNet:t})]}),i.jsx(Roe,{controlNet:t})]}),c&&i.jsxs(i.Fragment,{children:[i.jsx(Tk,{controlNet:t,height:"392px"}),i.jsx(koe,{controlNet:t}),i.jsx(Soe,{controlNet:t})]})]})},Toe=f.memo(Aoe),Noe=be(lt,e=>{const{isEnabled:t}=e.controlNet;return{isEnabled:t}},Je),$oe=()=>{const{isEnabled:e}=B(Noe),t=te(),n=f.useCallback(()=>{t(IM())},[t]);return i.jsx(yr,{label:"Enable ControlNet",isChecked:e,onChange:n,formControlProps:{width:"100%"}})},Loe=be([lt],({controlNet:e})=>{const{controlNets:t,isEnabled:n}=e,r=EM(t),o=n&&r.length>0?`${r.length} Active`:void 0;return{controlNetsArray:cs(t),activeLabel:o}},Je),zoe=()=>{const{controlNetsArray:e,activeLabel:t}=B(Loe),n=hr("controlNet").isFeatureDisabled,r=te(),{firstModel:o}=ib(void 0,{selectFromResult:a=>({firstModel:a.data?OM.getSelectors().selectAll(a.data)[0]:void 0})}),s=f.useCallback(()=>{if(!o)return;const a=di();r(RM({controlNetId:a})),r(a5({controlNetId:a,model:o}))},[r,o]);return n?null:i.jsx(Mo,{label:"ControlNet",activeLabel:t,children:i.jsxs(W,{sx:{flexDir:"column",gap:3},children:[i.jsxs(W,{gap:2,alignItems:"center",children:[i.jsx(W,{sx:{flexDirection:"column",w:"100%",gap:2,px:4,py:2,borderRadius:4,bg:"base.200",_dark:{bg:"base.850"}},children:i.jsx($oe,{})}),i.jsx(ze,{tooltip:"Add ControlNet","aria-label":"Add ControlNet",icon:i.jsx(yl,{}),isDisabled:!o,flexGrow:1,size:"md",onClick:s})]}),e.map((a,c)=>i.jsxs(f.Fragment,{children:[c>0&&i.jsx(_i,{}),i.jsx(Toe,{controlNet:a})]},a.controlNetId))]})})},sx=f.memo(zoe),Boe=be(Mi,e=>{const{seamlessXAxis:t}=e;return{seamlessXAxis:t}},Je),Foe=()=>{const{t:e}=ye(),{seamlessXAxis:t}=B(Boe),n=te(),r=f.useCallback(o=>{n(MM(o.target.checked))},[n]);return i.jsx(yr,{label:e("parameters.seamlessXAxis"),"aria-label":e("parameters.seamlessXAxis"),isChecked:t,onChange:r})},Hoe=f.memo(Foe),Woe=be(Mi,e=>{const{seamlessYAxis:t}=e;return{seamlessYAxis:t}},Je),Voe=()=>{const{t:e}=ye(),{seamlessYAxis:t}=B(Woe),n=te(),r=f.useCallback(o=>{n(DM(o.target.checked))},[n]);return i.jsx(yr,{label:e("parameters.seamlessYAxis"),"aria-label":e("parameters.seamlessYAxis"),isChecked:t,onChange:r})},Uoe=f.memo(Voe),Goe=(e,t)=>{if(e&&t)return"X & Y";if(e)return"X";if(t)return"Y"},qoe=be(Mi,e=>{const{seamlessXAxis:t,seamlessYAxis:n}=e;return{activeLabel:Goe(t,n)}},Je),Koe=()=>{const{t:e}=ye(),{activeLabel:t}=B(qoe);return hr("seamless").isFeatureEnabled?i.jsx(Mo,{label:e("parameters.seamlessTiling"),activeLabel:t,children:i.jsxs(W,{sx:{gap:5},children:[i.jsx(Re,{flexGrow:1,children:i.jsx(Hoe,{})}),i.jsx(Re,{flexGrow:1,children:i.jsx(Uoe,{})})]})}):null},qO=f.memo(Koe);function Xoe(){const e=B(o=>o.generation.horizontalSymmetrySteps),t=B(o=>o.generation.steps),n=te(),{t:r}=ye();return i.jsx(_t,{label:r("parameters.hSymmetryStep"),value:e,onChange:o=>n(fw(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(fw(0))})}function Yoe(){const e=B(o=>o.generation.verticalSymmetrySteps),t=B(o=>o.generation.steps),n=te(),{t:r}=ye();return i.jsx(_t,{label:r("parameters.vSymmetryStep"),value:e,onChange:o=>n(pw(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(pw(0))})}function Qoe(){const e=B(n=>n.generation.shouldUseSymmetry),t=te();return i.jsx(yr,{label:"Enable Symmetry",isChecked:e,onChange:n=>t(AM(n.target.checked))})}const Joe=be(lt,e=>({activeLabel:e.generation.shouldUseSymmetry?"Enabled":void 0}),Je),Zoe=()=>{const{t:e}=ye(),{activeLabel:t}=B(Joe);return hr("symmetry").isFeatureEnabled?i.jsx(Mo,{label:e("parameters.symmetry"),activeLabel:t,children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(Qoe,{}),i.jsx(Xoe,{}),i.jsx(Yoe,{})]})}):null},ax=f.memo(Zoe);function ix(){return i.jsxs(W,{sx:{flexDirection:"column",gap:2},children:[i.jsx(AO,{}),i.jsx(DO,{})]})}const ese=be([lt],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.img2imgStrength,{img2imgStrength:p}=e,h=t.shift?c:d;return{img2imgStrength:p,initial:r,min:o,sliderMax:s,inputMax:a,step:h}},Je),tse=()=>{const{img2imgStrength:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s}=B(ese),a=te(),{t:c}=ye(),d=f.useCallback(h=>a(Wp(h)),[a]),p=f.useCallback(()=>{a(Wp(t))},[a,t]);return i.jsx(_t,{label:`${c("parameters.denoisingStrength")}`,step:s,min:n,max:r,onChange:d,handleReset:p,value:e,isInteger:!1,withInput:!0,withSliderMarks:!0,withReset:!0,sliderNumberInputProps:{max:o}})},KO=f.memo(tse),nse=be([Ba,Mi],(e,t)=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Je),rse=()=>{const{shouldUseSliders:e,activeLabel:t}=B(nse);return i.jsx(Mo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(W,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(yi,{}),i.jsx(wi,{}),i.jsx(Re,{pt:2,children:i.jsx(Ci,{})}),i.jsx(Mc,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(yi,{})]}),i.jsx(wi,{}),i.jsx(Re,{pt:2,children:i.jsx(Ci,{})}),i.jsx(Mc,{})]}),i.jsx(KO,{}),i.jsx(BO,{})]})})},ose=f.memo(rse),XO=()=>i.jsxs(i.Fragment,{children:[i.jsx(ix,{}),i.jsx(Xd,{}),i.jsx(ose,{}),i.jsx(sx,{}),i.jsx(rx,{}),i.jsx(qd,{}),i.jsx(sg,{}),i.jsx(ax,{}),i.jsx(qO,{}),i.jsx(ox,{})]}),sse=()=>{const e=te(),t=f.useRef(null),n=B(o=>o.generation.model),r=f.useCallback(()=>{t.current&&t.current.setLayout([50,50])},[]);return i.jsxs(W,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(nx,{children:n&&n.base_model==="sdxl"?i.jsx(FO,{}):i.jsx(XO,{})}),i.jsx(Re,{sx:{w:"full",h:"full"},children:i.jsxs(Qy,{ref:t,autoSaveId:"imageTab.content",direction:"horizontal",style:{height:"100%",width:"100%"},children:[i.jsx(hd,{id:"imageTab.content.initImage",order:0,defaultSize:50,minSize:25,style:{position:"relative"},children:i.jsx(jte,{})}),i.jsx(WO,{onDoubleClick:r}),i.jsx(hd,{id:"imageTab.content.selectedImage",order:1,defaultSize:50,minSize:25,onResize:()=>{e(ko())},children:i.jsx(UO,{})})]})})]})},ase=f.memo(sse);var ise=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,o,s;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(o=r;o--!==0;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(s=Object.keys(t),r=s.length,r!==Object.keys(n).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[o]))return!1;for(o=r;o--!==0;){var a=s[o];if(!e(t[a],n[a]))return!1}return!0}return t!==t&&n!==n};const Gk=bd(ise);function L1(e){return e===null||typeof e!="object"?{}:Object.keys(e).reduce((t,n)=>{const r=e[n];return r!=null&&r!==!1&&(t[n]=r),t},{})}var lse=Object.defineProperty,qk=Object.getOwnPropertySymbols,cse=Object.prototype.hasOwnProperty,use=Object.prototype.propertyIsEnumerable,Kk=(e,t,n)=>t in e?lse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dse=(e,t)=>{for(var n in t||(t={}))cse.call(t,n)&&Kk(e,n,t[n]);if(qk)for(var n of qk(t))use.call(t,n)&&Kk(e,n,t[n]);return e};function YO(e,t){if(t===null||typeof t!="object")return{};const n=dse({},t);return Object.keys(t).forEach(r=>{r.includes(`${String(e)}.`)&&delete n[r]}),n}const fse="__MANTINE_FORM_INDEX__";function Xk(e,t){return t?typeof t=="boolean"?t:Array.isArray(t)?t.includes(e.replace(/[.][0-9]/g,`.${fse}`)):!1:!1}function Yk(e,t,n){typeof n.value=="object"&&(n.value=ec(n.value)),!n.enumerable||n.get||n.set||!n.configurable||!n.writable||t==="__proto__"?Object.defineProperty(e,t,n):e[t]=n.value}function ec(e){if(typeof e!="object")return e;var t=0,n,r,o,s=Object.prototype.toString.call(e);if(s==="[object Object]"?o=Object.create(e.__proto__||null):s==="[object Array]"?o=Array(e.length):s==="[object Set]"?(o=new Set,e.forEach(function(a){o.add(ec(a))})):s==="[object Map]"?(o=new Map,e.forEach(function(a,c){o.set(ec(c),ec(a))})):s==="[object Date]"?o=new Date(+e):s==="[object RegExp]"?o=new RegExp(e.source,e.flags):s==="[object DataView]"?o=new e.constructor(ec(e.buffer)):s==="[object ArrayBuffer]"?o=e.slice(0):s.slice(-6)==="Array]"&&(o=new e.constructor(e)),o){for(r=Object.getOwnPropertySymbols(e);t0,errors:t}}function z1(e,t,n="",r={}){return typeof e!="object"||e===null?r:Object.keys(e).reduce((o,s)=>{const a=e[s],c=`${n===""?"":`${n}.`}${s}`,d=xa(c,t);let p=!1;return typeof a=="function"&&(o[c]=a(d,t,c)),typeof a=="object"&&Array.isArray(d)&&(p=!0,d.forEach((h,m)=>z1(a,t,`${c}.${m}`,o))),typeof a=="object"&&typeof d=="object"&&d!==null&&(p||z1(a,t,c,o)),o},r)}function B1(e,t){return Qk(typeof e=="function"?e(t):z1(e,t))}function _p(e,t,n){if(typeof e!="string")return{hasError:!1,error:null};const r=B1(t,n),o=Object.keys(r.errors).find(s=>e.split(".").every((a,c)=>a===s.split(".")[c]));return{hasError:!!o,error:o?r.errors[o]:null}}function pse(e,{from:t,to:n},r){const o=xa(e,r);if(!Array.isArray(o))return r;const s=[...o],a=o[t];return s.splice(t,1),s.splice(n,0,a),ug(e,s,r)}var hse=Object.defineProperty,Jk=Object.getOwnPropertySymbols,mse=Object.prototype.hasOwnProperty,gse=Object.prototype.propertyIsEnumerable,Zk=(e,t,n)=>t in e?hse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vse=(e,t)=>{for(var n in t||(t={}))mse.call(t,n)&&Zk(e,n,t[n]);if(Jk)for(var n of Jk(t))gse.call(t,n)&&Zk(e,n,t[n]);return e};function bse(e,{from:t,to:n},r){const o=`${e}.${t}`,s=`${e}.${n}`,a=vse({},r);return Object.keys(r).every(c=>{let d,p;if(c.startsWith(o)&&(d=c,p=c.replace(o,s)),c.startsWith(s)&&(d=c.replace(s,o),p=c),d&&p){const h=a[d],m=a[p];return m===void 0?delete a[d]:a[d]=m,h===void 0?delete a[p]:a[p]=h,!1}return!0}),a}function yse(e,t,n){const r=xa(e,n);return Array.isArray(r)?ug(e,r.filter((o,s)=>s!==t),n):n}var xse=Object.defineProperty,e_=Object.getOwnPropertySymbols,wse=Object.prototype.hasOwnProperty,Sse=Object.prototype.propertyIsEnumerable,t_=(e,t,n)=>t in e?xse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Cse=(e,t)=>{for(var n in t||(t={}))wse.call(t,n)&&t_(e,n,t[n]);if(e_)for(var n of e_(t))Sse.call(t,n)&&t_(e,n,t[n]);return e};function n_(e,t){const n=e.substring(t.length+1).split(".")[0];return parseInt(n,10)}function r_(e,t,n,r){if(t===void 0)return n;const o=`${String(e)}`;let s=n;r===-1&&(s=YO(`${o}.${t}`,s));const a=Cse({},s),c=new Set;return Object.entries(s).filter(([d])=>{if(!d.startsWith(`${o}.`))return!1;const p=n_(d,o);return Number.isNaN(p)?!1:p>=t}).forEach(([d,p])=>{const h=n_(d,o),m=d.replace(`${o}.${h}`,`${o}.${h+r}`);a[m]=p,c.add(m),c.has(d)||delete a[d]}),a}function kse(e,t,n,r){const o=xa(e,r);if(!Array.isArray(o))return r;const s=[...o];return s.splice(typeof n=="number"?n:s.length,0,t),ug(e,s,r)}function o_(e,t){const n=Object.keys(e);if(typeof t=="string"){const r=n.filter(o=>o.startsWith(`${t}.`));return e[t]||r.some(o=>e[o])||!1}return n.some(r=>e[r])}function _se(e){return t=>{if(!t)e(t);else if(typeof t=="function")e(t);else if(typeof t=="object"&&"nativeEvent"in t){const{currentTarget:n}=t;n instanceof HTMLInputElement?n.type==="checkbox"?e(n.checked):e(n.value):(n instanceof HTMLTextAreaElement||n instanceof HTMLSelectElement)&&e(n.value)}else e(t)}}var Pse=Object.defineProperty,jse=Object.defineProperties,Ise=Object.getOwnPropertyDescriptors,s_=Object.getOwnPropertySymbols,Ese=Object.prototype.hasOwnProperty,Ose=Object.prototype.propertyIsEnumerable,a_=(e,t,n)=>t in e?Pse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ni=(e,t)=>{for(var n in t||(t={}))Ese.call(t,n)&&a_(e,n,t[n]);if(s_)for(var n of s_(t))Ose.call(t,n)&&a_(e,n,t[n]);return e},gv=(e,t)=>jse(e,Ise(t));function Sl({initialValues:e={},initialErrors:t={},initialDirty:n={},initialTouched:r={},clearInputErrorOnChange:o=!0,validateInputOnChange:s=!1,validateInputOnBlur:a=!1,transformValues:c=p=>p,validate:d}={}){const[p,h]=f.useState(r),[m,v]=f.useState(n),[b,w]=f.useState(e),[y,S]=f.useState(L1(t)),k=f.useRef(e),_=K=>{k.current=K},P=f.useCallback(()=>h({}),[]),I=K=>{const U=K?ni(ni({},b),K):b;_(U),v({})},E=f.useCallback(K=>S(U=>L1(typeof K=="function"?K(U):K)),[]),O=f.useCallback(()=>S({}),[]),R=f.useCallback(()=>{w(e),O(),_(e),v({}),P()},[]),M=f.useCallback((K,U)=>E(se=>gv(ni({},se),{[K]:U})),[]),D=f.useCallback(K=>E(U=>{if(typeof K!="string")return U;const se=ni({},U);return delete se[K],se}),[]),A=f.useCallback(K=>v(U=>{if(typeof K!="string")return U;const se=YO(K,U);return delete se[K],se}),[]),L=f.useCallback((K,U)=>{const se=Xk(K,s);A(K),h(re=>gv(ni({},re),{[K]:!0})),w(re=>{const oe=ug(K,U,re);if(se){const pe=_p(K,d,oe);pe.hasError?M(K,pe.error):D(K)}return oe}),!se&&o&&M(K,null)},[]),Q=f.useCallback(K=>{w(U=>{const se=typeof K=="function"?K(U):K;return ni(ni({},U),se)}),o&&O()},[]),F=f.useCallback((K,U)=>{A(K),w(se=>pse(K,U,se)),S(se=>bse(K,U,se))},[]),V=f.useCallback((K,U)=>{A(K),w(se=>yse(K,U,se)),S(se=>r_(K,U,se,-1))},[]),q=f.useCallback((K,U,se)=>{A(K),w(re=>kse(K,U,se,re)),S(re=>r_(K,se,re,1))},[]),G=f.useCallback(()=>{const K=B1(d,b);return S(K.errors),K},[b,d]),T=f.useCallback(K=>{const U=_p(K,d,b);return U.hasError?M(K,U.error):D(K),U},[b,d]),z=(K,{type:U="input",withError:se=!0,withFocus:re=!0}={})=>{const pe={onChange:_se(le=>L(K,le))};return se&&(pe.error=y[K]),U==="checkbox"?pe.checked=xa(K,b):pe.value=xa(K,b),re&&(pe.onFocus=()=>h(le=>gv(ni({},le),{[K]:!0})),pe.onBlur=()=>{if(Xk(K,a)){const le=_p(K,d,b);le.hasError?M(K,le.error):D(K)}}),pe},$=(K,U)=>se=>{se==null||se.preventDefault();const re=G();re.hasErrors?U==null||U(re.errors,b,se):K==null||K(c(b),se)},Y=K=>c(K||b),ae=f.useCallback(K=>{K.preventDefault(),R()},[]),fe=K=>{if(K){const se=xa(K,m);if(typeof se=="boolean")return se;const re=xa(K,b),oe=xa(K,k.current);return!Gk(re,oe)}return Object.keys(m).length>0?o_(m):!Gk(b,k.current)},ie=f.useCallback(K=>o_(p,K),[p]),X=f.useCallback(K=>K?!_p(K,d,b).hasError:!B1(d,b).hasErrors,[b,d]);return{values:b,errors:y,setValues:Q,setErrors:E,setFieldValue:L,setFieldError:M,clearFieldError:D,clearErrors:O,reset:R,validate:G,validateField:T,reorderListItem:F,removeListItem:V,insertListItem:q,getInputProps:z,onSubmit:$,onReset:ae,isDirty:fe,isTouched:ie,setTouched:h,setDirty:v,resetTouched:P,resetDirty:I,isValid:X,getTransformedValues:Y}}function br(e){const{...t}=e,{base50:n,base100:r,base200:o,base300:s,base800:a,base700:c,base900:d,accent500:p,accent300:h}=vy(),{colorMode:m}=Ds();return i.jsx(FI,{styles:()=>({input:{color:Fe(d,r)(m),backgroundColor:Fe(n,d)(m),borderColor:Fe(o,a)(m),borderWidth:2,outline:"none",":focus":{borderColor:Fe(h,p)(m)}},label:{color:Fe(c,s)(m),fontWeight:"normal",marginBottom:4}}),...t})}const Rse=[{value:"sd-1",label:Qn["sd-1"]},{value:"sd-2",label:Qn["sd-2"]},{value:"sdxl",label:Qn.sdxl},{value:"sdxl-refiner",label:Qn["sdxl-refiner"]}];function Qd(e){const{...t}=e,{t:n}=ye();return i.jsx(Xr,{label:n("modelManager.baseModel"),data:Rse,...t})}function JO(e){const{data:t}=i5(),{...n}=e;return i.jsx(Xr,{label:"Config File",placeholder:"Select A Config File",data:t||[],...n})}const Mse=[{value:"normal",label:"Normal"},{value:"inpaint",label:"Inpaint"},{value:"depth",label:"Depth"}];function dg(e){const{...t}=e,{t:n}=ye();return i.jsx(Xr,{label:n("modelManager.variant"),data:Mse,...t})}function ZO(e){var p;const{t}=ye(),n=te(),{model_path:r}=e,o=Sl({initialValues:{model_name:((p=r==null?void 0:r.split("\\").splice(-1)[0])==null?void 0:p.split(".")[0])??"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"checkpoint",error:void 0,vae:"",variant:"normal",config:"configs\\stable-diffusion\\v1-inference.yaml"}}),[s]=l5(),[a,c]=f.useState(!1),d=h=>{s({body:h}).unwrap().then(m=>{n(On(Mn({title:`Model Added: ${h.model_name}`,status:"success"}))),o.reset(),r&&n(Sd(null))}).catch(m=>{m&&n(On(Mn({title:"Model Add Failed",status:"error"})))})};return i.jsx("form",{onSubmit:o.onSubmit(h=>d(h)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsx(br,{label:"Model Name",required:!0,...o.getInputProps("model_name")}),i.jsx(Qd,{...o.getInputProps("base_model")}),i.jsx(br,{label:"Model Location",required:!0,...o.getInputProps("path")}),i.jsx(br,{label:"Description",...o.getInputProps("description")}),i.jsx(br,{label:"VAE Location",...o.getInputProps("vae")}),i.jsx(dg,{...o.getInputProps("variant")}),i.jsxs(W,{flexDirection:"column",width:"100%",gap:2,children:[a?i.jsx(br,{required:!0,label:"Custom Config File Location",...o.getInputProps("config")}):i.jsx(JO,{required:!0,width:"100%",...o.getInputProps("config")}),i.jsx(Gn,{isChecked:a,onChange:()=>c(!a),label:"Use Custom Config"}),i.jsx(Yt,{mt:2,type:"submit",children:t("modelManager.addModel")})]})]})})}function e8(e){const{t}=ye(),n=te(),{model_path:r}=e,[o]=l5(),s=Sl({initialValues:{model_name:(r==null?void 0:r.split("\\").splice(-1)[0])??"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"diffusers",error:void 0,vae:"",variant:"normal"}}),a=c=>{o({body:c}).unwrap().then(d=>{n(On(Mn({title:`Model Added: ${c.model_name}`,status:"success"}))),s.reset(),r&&n(Sd(null))}).catch(d=>{d&&n(On(Mn({title:"Model Add Failed",status:"error"})))})};return i.jsx("form",{onSubmit:s.onSubmit(c=>a(c)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsx(br,{required:!0,label:"Model Name",...s.getInputProps("model_name")}),i.jsx(Qd,{...s.getInputProps("base_model")}),i.jsx(br,{required:!0,label:"Model Location",placeholder:"Provide the path to a local folder where your Diffusers Model is stored",...s.getInputProps("path")}),i.jsx(br,{label:"Description",...s.getInputProps("description")}),i.jsx(br,{label:"VAE Location",...s.getInputProps("vae")}),i.jsx(dg,{...s.getInputProps("variant")}),i.jsx(Yt,{mt:2,type:"submit",children:t("modelManager.addModel")})]})})}const t8=[{label:"Diffusers",value:"diffusers"},{label:"Checkpoint / Safetensors",value:"checkpoint"}];function Dse(){const[e,t]=f.useState("diffusers");return i.jsxs(W,{flexDirection:"column",gap:4,width:"100%",children:[i.jsx(Xr,{label:"Model Type",value:e,data:t8,onChange:n=>{n&&t(n)}}),i.jsxs(W,{sx:{p:4,borderRadius:4,bg:"base.300",_dark:{bg:"base.850"}},children:[e==="diffusers"&&i.jsx(e8,{}),e==="checkpoint"&&i.jsx(ZO,{})]})]})}const Ase=[{label:"None",value:"none"},{label:"v_prediction",value:"v_prediction"},{label:"epsilon",value:"epsilon"},{label:"sample",value:"sample"}];function Tse(){const e=te(),{t}=ye(),n=B(c=>c.system.isProcessing),[r,{isLoading:o}]=c5(),s=Sl({initialValues:{location:"",prediction_type:void 0}}),a=c=>{const d={location:c.location,prediction_type:c.prediction_type==="none"?void 0:c.prediction_type};r({body:d}).unwrap().then(p=>{e(On(Mn({title:"Model Added",status:"success"}))),s.reset()}).catch(p=>{p&&(console.log(p),e(On(Mn({title:`${p.data.detail} `,status:"error"}))))})};return i.jsx("form",{onSubmit:s.onSubmit(c=>a(c)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",width:"100%",gap:4,children:[i.jsx(br,{label:"Model Location",placeholder:"Provide a path to a local Diffusers model, local checkpoint / safetensors model a HuggingFace Repo ID, or a checkpoint/diffusers model URL.",w:"100%",...s.getInputProps("location")}),i.jsx(Xr,{label:"Prediction Type (for Stable Diffusion 2.x Models only)",data:Ase,defaultValue:"none",...s.getInputProps("prediction_type")}),i.jsx(Yt,{type:"submit",isLoading:o,isDisabled:o||n,children:t("modelManager.addModel")})]})})}function Nse(){const[e,t]=f.useState("simple");return i.jsxs(W,{flexDirection:"column",width:"100%",overflow:"scroll",maxHeight:window.innerHeight-250,gap:4,children:[i.jsxs(rr,{isAttached:!0,children:[i.jsx(Yt,{size:"sm",isChecked:e=="simple",onClick:()=>t("simple"),children:"Simple"}),i.jsx(Yt,{size:"sm",isChecked:e=="advanced",onClick:()=>t("advanced"),children:"Advanced"})]}),i.jsxs(W,{sx:{p:4,borderRadius:4,background:"base.200",_dark:{background:"base.800"}},children:[e==="simple"&&i.jsx(Tse,{}),e==="advanced"&&i.jsx(Dse,{})]})]})}const $se={display:"flex",flexDirection:"row",alignItems:"center",gap:10},Lse=e=>{const{label:t="",labelPos:n="top",isDisabled:r=!1,isInvalid:o,formControlProps:s,...a}=e,c=te(),d=f.useCallback(h=>{h.shiftKey&&c(jo(!0))},[c]),p=f.useCallback(h=>{h.shiftKey||c(jo(!1))},[c]);return i.jsxs(go,{isInvalid:o,isDisabled:r,...s,style:n==="side"?$se:void 0,children:[t!==""&&i.jsx(Bo,{children:t}),i.jsx(Id,{...a,onPaste:Zy,onKeyDown:d,onKeyUp:p})]})},Dc=f.memo(Lse);function zse(e){const{...t}=e;return i.jsx(Aj,{w:"100%",...t,children:e.children})}function Bse(){const e=B(y=>y.modelmanager.searchFolder),[t,n]=f.useState(""),{data:r}=na(Gi),{foundModels:o,alreadyInstalled:s,filteredModels:a}=u5({search_path:e||""},{selectFromResult:({data:y})=>{const S=b9(r==null?void 0:r.entities),k=cs(S,"path"),_=m9(y,k),P=C9(y,k);return{foundModels:y,alreadyInstalled:i_(P,t),filteredModels:i_(_,t)}}}),[c,{isLoading:d}]=c5(),p=te(),{t:h}=ye(),m=f.useCallback(y=>{const S=y.currentTarget.id.split("\\").splice(-1)[0];c({body:{location:y.currentTarget.id}}).unwrap().then(k=>{p(On(Mn({title:`Added Model: ${S}`,status:"success"})))}).catch(k=>{k&&p(On(Mn({title:"Failed To Add Model",status:"error"})))})},[p,c]),v=f.useCallback(y=>{n(y.target.value)},[]),b=({models:y,showActions:S=!0})=>y.map(k=>i.jsxs(W,{sx:{p:4,gap:4,alignItems:"center",borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(W,{w:"100%",sx:{flexDirection:"column",minW:"25%"},children:[i.jsx(Qe,{sx:{fontWeight:600},children:k.split("\\").slice(-1)[0]}),i.jsx(Qe,{sx:{fontSize:"sm",color:"base.600",_dark:{color:"base.400"}},children:k})]}),S?i.jsxs(W,{gap:2,children:[i.jsx(Yt,{id:k,onClick:m,isLoading:d,children:"Quick Add"}),i.jsx(Yt,{onClick:()=>p(Sd(k)),isLoading:d,children:"Advanced"})]}):i.jsx(Qe,{sx:{fontWeight:600,p:2,borderRadius:4,color:"accent.50",bg:"accent.400",_dark:{color:"accent.100",bg:"accent.600"}},children:"Installed"})]},k));return(()=>e?!o||o.length===0?i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",height:96,userSelect:"none",bg:"base.200",_dark:{bg:"base.900"}},children:i.jsx(Qe,{variant:"subtext",children:"No Models Found"})}):i.jsxs(W,{sx:{flexDirection:"column",gap:2,w:"100%",minW:"50%"},children:[i.jsx(Dc,{onChange:v,label:h("modelManager.search"),labelPos:"side"}),i.jsxs(W,{p:2,gap:2,children:[i.jsxs(Qe,{sx:{fontWeight:600},children:["Models Found: ",o.length]}),i.jsxs(Qe,{sx:{fontWeight:600,color:"accent.500",_dark:{color:"accent.200"}},children:["Not Installed: ",a.length]})]}),i.jsx(zse,{offsetScrollbars:!0,children:i.jsxs(W,{gap:2,flexDirection:"column",children:[b({models:a}),b({models:s,showActions:!1})]})})]}):null)()}const i_=(e,t)=>{const n=[];return oo(e,r=>{if(!r)return null;r.includes(t)&&n.push(r)}),n};function Fse(){const e=B(a=>a.modelmanager.advancedAddScanModel),[t,n]=f.useState("diffusers"),[r,o]=f.useState(!0);f.useEffect(()=>{e&&[".ckpt",".safetensors",".pth",".pt"].some(a=>e.endsWith(a))?n("checkpoint"):n("diffusers")},[e,n,r]);const s=te();return e?i.jsxs(Re,{as:Er.div,initial:{x:-100,opacity:0},animate:{x:0,opacity:1,transition:{duration:.2}},sx:{display:"flex",flexDirection:"column",minWidth:"40%",maxHeight:window.innerHeight-300,overflow:"scroll",p:4,gap:4,borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(W,{justifyContent:"space-between",alignItems:"center",children:[i.jsx(Qe,{size:"xl",fontWeight:600,children:r||t==="checkpoint"?"Add Checkpoint Model":"Add Diffusers Model"}),i.jsx(ze,{icon:i.jsx(sQ,{}),"aria-label":"Close Advanced",onClick:()=>s(Sd(null)),size:"sm"})]}),i.jsx(Xr,{label:"Model Type",value:t,data:t8,onChange:a=>{a&&(n(a),o(a==="checkpoint"))}}),r?i.jsx(ZO,{model_path:e},e):i.jsx(e8,{model_path:e},e)]}):null}function Hse(){const e=te(),{t}=ye(),n=B(c=>c.modelmanager.searchFolder),{refetch:r}=u5({search_path:n||""}),o=Sl({initialValues:{folder:""}}),s=f.useCallback(c=>{e(hw(c.folder))},[e]),a=()=>{r()};return i.jsx("form",{onSubmit:o.onSubmit(c=>s(c)),style:{width:"100%"},children:i.jsxs(W,{sx:{w:"100%",gap:2,borderRadius:4,alignItems:"center"},children:[i.jsxs(W,{w:"100%",alignItems:"center",gap:4,minH:12,children:[i.jsx(Qe,{sx:{fontSize:"sm",fontWeight:600,color:"base.700",minW:"max-content",_dark:{color:"base.300"}},children:"Folder"}),n?i.jsx(W,{sx:{w:"100%",p:2,px:4,bg:"base.300",borderRadius:4,fontSize:"sm",fontWeight:"bold",_dark:{bg:"base.700"}},children:n}):i.jsx(Dc,{w:"100%",size:"md",...o.getInputProps("folder")})]}),i.jsxs(W,{gap:2,children:[n?i.jsx(ze,{"aria-label":t("modelManager.scanAgain"),tooltip:t("modelManager.scanAgain"),icon:i.jsx(cE,{}),onClick:a,fontSize:18,size:"sm"}):i.jsx(ze,{"aria-label":t("modelManager.findModels"),tooltip:t("modelManager.findModels"),icon:i.jsx(tQ,{}),fontSize:18,size:"sm",type:"submit"}),i.jsx(ze,{"aria-label":t("modelManager.clearCheckpointFolder"),tooltip:t("modelManager.clearCheckpointFolder"),icon:i.jsx(Eo,{}),size:"sm",onClick:()=>{e(hw(null)),e(Sd(null))},isDisabled:!n,colorScheme:"red"})]})]})})}const Wse=f.memo(Hse);function Vse(){return i.jsxs(W,{flexDirection:"column",w:"100%",gap:4,children:[i.jsx(Wse,{}),i.jsxs(W,{gap:4,children:[i.jsx(W,{sx:{maxHeight:window.innerHeight-300,overflow:"scroll",gap:4,w:"100%"},children:i.jsx(Bse,{})}),i.jsx(Fse,{})]})]})}function Use(){const[e,t]=f.useState("add"),{t:n}=ye();return i.jsxs(W,{flexDirection:"column",gap:4,children:[i.jsxs(rr,{isAttached:!0,children:[i.jsx(Yt,{onClick:()=>t("add"),isChecked:e=="add",size:"sm",width:"100%",children:n("modelManager.addModel")}),i.jsx(Yt,{onClick:()=>t("scan"),isChecked:e=="scan",size:"sm",width:"100%",children:n("modelManager.scanForModels")})]}),e=="add"&&i.jsx(Nse,{}),e=="scan"&&i.jsx(Vse,{})]})}const Gse=[{label:"Stable Diffusion 1",value:"sd-1"},{label:"Stable Diffusion 2",value:"sd-2"}];function qse(){var T,z;const{t:e}=ye(),t=te(),{data:n}=na(Gi),[r,{isLoading:o}]=TM(),[s,a]=f.useState("sd-1"),c=Iw(n==null?void 0:n.entities,($,Y)=>($==null?void 0:$.model_format)==="diffusers"&&($==null?void 0:$.base_model)==="sd-1"),d=Iw(n==null?void 0:n.entities,($,Y)=>($==null?void 0:$.model_format)==="diffusers"&&($==null?void 0:$.base_model)==="sd-2"),p=f.useMemo(()=>({"sd-1":c,"sd-2":d}),[c,d]),[h,m]=f.useState(((T=Object.keys(p[s]))==null?void 0:T[0])??null),[v,b]=f.useState(((z=Object.keys(p[s]))==null?void 0:z[1])??null),[w,y]=f.useState(null),[S,k]=f.useState(""),[_,P]=f.useState(.5),[I,E]=f.useState("weighted_sum"),[O,R]=f.useState("root"),[M,D]=f.useState(""),[A,L]=f.useState(!1),Q=Object.keys(p[s]).filter($=>$!==v&&$!==w),F=Object.keys(p[s]).filter($=>$!==h&&$!==w),V=Object.keys(p[s]).filter($=>$!==h&&$!==v),q=$=>{a($),m(null),b(null)},G=()=>{const $=[];let Y=[h,v,w];Y=Y.filter(fe=>fe!==null),Y.forEach(fe=>{var X;const ie=(X=fe==null?void 0:fe.split("/"))==null?void 0:X[2];ie&&$.push(ie)});const ae={model_names:$,merged_model_name:S!==""?S:$.join("-"),alpha:_,interp:I,force:A,merge_dest_directory:O==="root"?void 0:M};r({base_model:s,body:ae}).unwrap().then(fe=>{t(On(Mn({title:e("modelManager.modelsMerged"),status:"success"})))}).catch(fe=>{fe&&t(On(Mn({title:e("modelManager.modelsMergeFailed"),status:"error"})))})};return i.jsxs(W,{flexDirection:"column",rowGap:4,children:[i.jsxs(W,{sx:{flexDirection:"column",rowGap:1},children:[i.jsx(Qe,{children:e("modelManager.modelMergeHeaderHelp1")}),i.jsx(Qe,{fontSize:"sm",variant:"subtext",children:e("modelManager.modelMergeHeaderHelp2")})]}),i.jsxs(W,{columnGap:4,children:[i.jsx(Xr,{label:"Model Type",w:"100%",data:Gse,value:s,onChange:q}),i.jsx(ar,{label:e("modelManager.modelOne"),w:"100%",value:h,placeholder:e("modelManager.selectModel"),data:Q,onChange:$=>m($)}),i.jsx(ar,{label:e("modelManager.modelTwo"),w:"100%",placeholder:e("modelManager.selectModel"),value:v,data:F,onChange:$=>b($)}),i.jsx(ar,{label:e("modelManager.modelThree"),data:V,w:"100%",placeholder:e("modelManager.selectModel"),clearable:!0,onChange:$=>{$?(y($),E("weighted_sum")):(y(null),E("add_difference"))}})]}),i.jsx(Dc,{label:e("modelManager.mergedModelName"),value:S,onChange:$=>k($.target.value)}),i.jsxs(W,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(_t,{label:e("modelManager.alpha"),min:.01,max:.99,step:.01,value:_,onChange:$=>P($),withInput:!0,withReset:!0,handleReset:()=>P(.5),withSliderMarks:!0}),i.jsx(Qe,{variant:"subtext",fontSize:"sm",children:e("modelManager.modelMergeAlphaHelp")})]}),i.jsxs(W,{sx:{padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(Qe,{fontWeight:500,fontSize:"sm",variant:"subtext",children:e("modelManager.interpolationType")}),i.jsx(rh,{value:I,onChange:$=>E($),children:i.jsx(W,{columnGap:4,children:w===null?i.jsxs(i.Fragment,{children:[i.jsx(ya,{value:"weighted_sum",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.weightedSum")})}),i.jsx(ya,{value:"sigmoid",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.sigmoid")})}),i.jsx(ya,{value:"inv_sigmoid",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.inverseSigmoid")})})]}):i.jsx(ya,{value:"add_difference",children:i.jsx(vn,{label:e("modelManager.modelMergeInterpAddDifferenceHelp"),children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.addDifference")})})})})})]}),i.jsxs(W,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.900"}},children:[i.jsxs(W,{columnGap:4,children:[i.jsx(Qe,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:e("modelManager.mergedModelSaveLocation")}),i.jsx(rh,{value:O,onChange:$=>R($),children:i.jsxs(W,{columnGap:4,children:[i.jsx(ya,{value:"root",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.invokeAIFolder")})}),i.jsx(ya,{value:"custom",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.custom")})})]})})]}),O==="custom"&&i.jsx(Dc,{label:e("modelManager.mergedModelCustomSaveLocation"),value:M,onChange:$=>D($.target.value)})]}),i.jsx(Gn,{label:e("modelManager.ignoreMismatch"),isChecked:A,onChange:$=>L($.target.checked),fontWeight:"500"}),i.jsx(Yt,{onClick:G,isLoading:o,isDisabled:h===null||v===null,children:e("modelManager.merge")})]})}const Kse=Ae((e,t)=>{const{t:n}=ye(),{acceptButtonText:r=n("common.accept"),acceptCallback:o,cancelButtonText:s=n("common.cancel"),cancelCallback:a,children:c,title:d,triggerComponent:p}=e,{isOpen:h,onOpen:m,onClose:v}=ss(),b=f.useRef(null),w=()=>{o(),v()},y=()=>{a&&a(),v()};return i.jsxs(i.Fragment,{children:[f.cloneElement(p,{onClick:m,ref:t}),i.jsx(Ad,{isOpen:h,leastDestructiveRef:b,onClose:v,isCentered:!0,children:i.jsx(Aa,{children:i.jsxs(Td,{children:[i.jsx(Da,{fontSize:"lg",fontWeight:"bold",children:d}),i.jsx(Ta,{children:c}),i.jsxs(Ma,{children:[i.jsx(Yt,{ref:b,onClick:y,children:s}),i.jsx(Yt,{colorScheme:"error",onClick:w,ml:3,children:r})]})]})})})]})}),lx=f.memo(Kse);function Xse(e){const{model:t}=e,n=te(),{t:r}=ye(),[o,{isLoading:s}]=NM(),[a,c]=f.useState("InvokeAIRoot"),[d,p]=f.useState("");f.useEffect(()=>{c("InvokeAIRoot")},[t]);const h=()=>{c("InvokeAIRoot")},m=()=>{const v={base_model:t.base_model,model_name:t.model_name,convert_dest_directory:a==="Custom"?d:void 0};if(a==="Custom"&&d===""){n(On(Mn({title:r("modelManager.noCustomLocationProvided"),status:"error"})));return}n(On(Mn({title:`${r("modelManager.convertingModelBegin")}: ${t.model_name}`,status:"info"}))),o(v).unwrap().then(()=>{n(On(Mn({title:`${r("modelManager.modelConverted")}: ${t.model_name}`,status:"success"})))}).catch(()=>{n(On(Mn({title:`${r("modelManager.modelConversionFailed")}: ${t.model_name}`,status:"error"})))})};return i.jsxs(lx,{title:`${r("modelManager.convert")} ${t.model_name}`,acceptCallback:m,cancelCallback:h,acceptButtonText:`${r("modelManager.convert")}`,triggerComponent:i.jsxs(Yt,{size:"sm","aria-label":r("modelManager.convertToDiffusers"),className:" modal-close-btn",isLoading:s,children:["🧨 ",r("modelManager.convertToDiffusers")]}),motionPreset:"slideInBottom",children:[i.jsxs(W,{flexDirection:"column",rowGap:4,children:[i.jsx(Qe,{children:r("modelManager.convertToDiffusersHelpText1")}),i.jsxs(Db,{children:[i.jsx(Sa,{children:r("modelManager.convertToDiffusersHelpText2")}),i.jsx(Sa,{children:r("modelManager.convertToDiffusersHelpText3")}),i.jsx(Sa,{children:r("modelManager.convertToDiffusersHelpText4")}),i.jsx(Sa,{children:r("modelManager.convertToDiffusersHelpText5")})]}),i.jsx(Qe,{children:r("modelManager.convertToDiffusersHelpText6")})]}),i.jsxs(W,{flexDir:"column",gap:2,children:[i.jsxs(W,{marginTop:4,flexDir:"column",gap:2,children:[i.jsx(Qe,{fontWeight:"600",children:r("modelManager.convertToDiffusersSaveLocation")}),i.jsx(rh,{value:a,onChange:v=>c(v),children:i.jsxs(W,{gap:4,children:[i.jsx(ya,{value:"InvokeAIRoot",children:i.jsx(vn,{label:"Save converted model in the InvokeAI root folder",children:r("modelManager.invokeRoot")})}),i.jsx(ya,{value:"Custom",children:i.jsx(vn,{label:"Save converted model in a custom folder",children:r("modelManager.custom")})})]})})]}),a==="Custom"&&i.jsxs(W,{flexDirection:"column",rowGap:2,children:[i.jsx(Qe,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:r("modelManager.customSaveLocation")}),i.jsx(Dc,{value:d,onChange:v=>{p(v.target.value)},width:"full"})]})]})]})}function Yse(e){const t=B(kr),{model:n}=e,[r,{isLoading:o}]=d5(),{data:s}=i5(),[a,c]=f.useState(!1);f.useEffect(()=>{s!=null&&s.includes(n.config)||c(!0)},[s,n.config]);const d=te(),{t:p}=ye(),h=Sl({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"checkpoint",vae:n.vae?n.vae:"",config:n.config?n.config:"",variant:n.variant},validate:{path:v=>v.trim().length===0?"Must provide a path":null}}),m=f.useCallback(v=>{const b={base_model:n.base_model,model_name:n.model_name,body:v};r(b).unwrap().then(w=>{h.setValues(w),d(On(Mn({title:p("modelManager.modelUpdated"),status:"success"})))}).catch(w=>{h.reset(),d(On(Mn({title:p("modelManager.modelUpdateFailed"),status:"error"})))})},[h,d,n.base_model,n.model_name,p,r]);return i.jsxs(W,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(W,{justifyContent:"space-between",alignItems:"center",children:[i.jsxs(W,{flexDirection:"column",children:[i.jsx(Qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(Qe,{fontSize:"sm",color:"base.400",children:[Qn[n.base_model]," Model"]})]}),[""].includes(n.base_model)?i.jsx(gl,{sx:{p:2,borderRadius:4,bg:"error.200",_dark:{bg:"error.400"}},children:"Conversion Not Supported"}):i.jsx(Xse,{model:n})]}),i.jsx(_i,{}),i.jsx(W,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",children:i.jsx("form",{onSubmit:h.onSubmit(v=>m(v)),children:i.jsxs(W,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(br,{label:p("modelManager.name"),...h.getInputProps("model_name")}),i.jsx(br,{label:p("modelManager.description"),...h.getInputProps("description")}),i.jsx(Qd,{required:!0,...h.getInputProps("base_model")}),i.jsx(dg,{required:!0,...h.getInputProps("variant")}),i.jsx(br,{required:!0,label:p("modelManager.modelLocation"),...h.getInputProps("path")}),i.jsx(br,{label:p("modelManager.vaeLocation"),...h.getInputProps("vae")}),i.jsxs(W,{flexDirection:"column",gap:2,children:[a?i.jsx(br,{required:!0,label:p("modelManager.config"),...h.getInputProps("config")}):i.jsx(JO,{required:!0,...h.getInputProps("config")}),i.jsx(Gn,{isChecked:a,onChange:()=>c(!a),label:"Use Custom Config"})]}),i.jsx(Yt,{type:"submit",isDisabled:t||o,isLoading:o,children:p("modelManager.updateModel")})]})})})]})}function Qse(e){const t=B(kr),{model:n}=e,[r,{isLoading:o}]=d5(),s=te(),{t:a}=ye(),c=Sl({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"diffusers",vae:n.vae?n.vae:"",variant:n.variant},validate:{path:p=>p.trim().length===0?"Must provide a path":null}}),d=f.useCallback(p=>{const h={base_model:n.base_model,model_name:n.model_name,body:p};r(h).unwrap().then(m=>{c.setValues(m),s(On(Mn({title:a("modelManager.modelUpdated"),status:"success"})))}).catch(m=>{c.reset(),s(On(Mn({title:a("modelManager.modelUpdateFailed"),status:"error"})))})},[c,s,n.base_model,n.model_name,a,r]);return i.jsxs(W,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(W,{flexDirection:"column",children:[i.jsx(Qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(Qe,{fontSize:"sm",color:"base.400",children:[Qn[n.base_model]," Model"]})]}),i.jsx(_i,{}),i.jsx("form",{onSubmit:c.onSubmit(p=>d(p)),children:i.jsxs(W,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(br,{label:a("modelManager.name"),...c.getInputProps("model_name")}),i.jsx(br,{label:a("modelManager.description"),...c.getInputProps("description")}),i.jsx(Qd,{required:!0,...c.getInputProps("base_model")}),i.jsx(dg,{required:!0,...c.getInputProps("variant")}),i.jsx(br,{required:!0,label:a("modelManager.modelLocation"),...c.getInputProps("path")}),i.jsx(br,{label:a("modelManager.vaeLocation"),...c.getInputProps("vae")}),i.jsx(Yt,{type:"submit",isDisabled:t||o,isLoading:o,children:a("modelManager.updateModel")})]})})]})}function Jse(e){const t=B(kr),{model:n}=e,[r,{isLoading:o}]=$M(),s=te(),{t:a}=ye(),c=Sl({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"lora",path:n.path?n.path:"",description:n.description?n.description:"",model_format:n.model_format},validate:{path:p=>p.trim().length===0?"Must provide a path":null}}),d=f.useCallback(p=>{const h={base_model:n.base_model,model_name:n.model_name,body:p};r(h).unwrap().then(m=>{c.setValues(m),s(On(Mn({title:a("modelManager.modelUpdated"),status:"success"})))}).catch(m=>{c.reset(),s(On(Mn({title:a("modelManager.modelUpdateFailed"),status:"error"})))})},[s,c,n.base_model,n.model_name,a,r]);return i.jsxs(W,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(W,{flexDirection:"column",children:[i.jsx(Qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(Qe,{fontSize:"sm",color:"base.400",children:[Qn[n.base_model]," Model ⋅"," ",LM[n.model_format]," format"]})]}),i.jsx(_i,{}),i.jsx("form",{onSubmit:c.onSubmit(p=>d(p)),children:i.jsxs(W,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(br,{label:a("modelManager.name"),...c.getInputProps("model_name")}),i.jsx(br,{label:a("modelManager.description"),...c.getInputProps("description")}),i.jsx(Qd,{...c.getInputProps("base_model")}),i.jsx(br,{label:a("modelManager.modelLocation"),...c.getInputProps("path")}),i.jsx(Yt,{type:"submit",isDisabled:t||o,isLoading:o,children:a("modelManager.updateModel")})]})})]})}function Zse(e){const t=B(kr),{t:n}=ye(),r=te(),[o]=zM(),[s]=BM(),{model:a,isSelected:c,setSelectedModelId:d}=e,p=f.useCallback(()=>{d(a.id)},[a.id,d]),h=f.useCallback(()=>{const m={main:o,lora:s,onnx:o}[a.model_type];m(a).unwrap().then(v=>{r(On(Mn({title:`${n("modelManager.modelDeleted")}: ${a.model_name}`,status:"success"})))}).catch(v=>{v&&r(On(Mn({title:`${n("modelManager.modelDeleteFailed")}: ${a.model_name}`,status:"error"})))}),d(void 0)},[o,s,a,d,r,n]);return i.jsxs(W,{sx:{gap:2,alignItems:"center",w:"full"},children:[i.jsx(W,{as:Yt,isChecked:c,sx:{justifyContent:"start",p:2,borderRadius:"base",w:"full",alignItems:"center",bg:c?"accent.400":"base.100",color:c?"base.50":"base.800",_hover:{bg:c?"accent.500":"base.300",color:c?"base.50":"base.800"},_dark:{color:c?"base.50":"base.100",bg:c?"accent.600":"base.850",_hover:{color:c?"base.50":"base.100",bg:c?"accent.550":"base.700"}}},onClick:p,children:i.jsxs(W,{gap:4,alignItems:"center",children:[i.jsx(gl,{minWidth:14,p:.5,fontSize:"sm",variant:"solid",children:FM[a.base_model]}),i.jsx(vn,{label:a.description,hasArrow:!0,placement:"bottom",children:i.jsx(Qe,{sx:{fontWeight:500},children:a.model_name})})]})}),i.jsx(lx,{title:n("modelManager.deleteModel"),acceptCallback:h,acceptButtonText:n("modelManager.delete"),triggerComponent:i.jsx(ze,{icon:i.jsx(DJ,{}),"aria-label":n("modelManager.deleteConfig"),isDisabled:t,colorScheme:"error"}),children:i.jsxs(W,{rowGap:4,flexDirection:"column",children:[i.jsx("p",{style:{fontWeight:"bold"},children:n("modelManager.deleteMsg1")}),i.jsx("p",{children:n("modelManager.deleteMsg2")})]})})]})}const eae=e=>{const{selectedModelId:t,setSelectedModelId:n}=e,{t:r}=ye(),[o,s]=f.useState(""),[a,c]=f.useState("all"),{filteredDiffusersModels:d,isLoadingDiffusersModels:p}=na(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredDiffusersModels:Cu(P,"main","diffusers",o),isLoadingDiffusersModels:I})}),{filteredCheckpointModels:h,isLoadingCheckpointModels:m}=na(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredCheckpointModels:Cu(P,"main","checkpoint",o),isLoadingCheckpointModels:I})}),{filteredLoraModels:v,isLoadingLoraModels:b}=hm(void 0,{selectFromResult:({data:P,isLoading:I})=>({filteredLoraModels:Cu(P,"lora",void 0,o),isLoadingLoraModels:I})}),{filteredOnnxModels:w,isLoadingOnnxModels:y}=Vp(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredOnnxModels:Cu(P,"onnx","onnx",o),isLoadingOnnxModels:I})}),{filteredOliveModels:S,isLoadingOliveModels:k}=Vp(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredOliveModels:Cu(P,"onnx","olive",o),isLoadingOliveModels:I})}),_=f.useCallback(P=>{s(P.target.value)},[]);return i.jsx(W,{flexDirection:"column",rowGap:4,width:"50%",minWidth:"50%",children:i.jsxs(W,{flexDirection:"column",gap:4,paddingInlineEnd:4,children:[i.jsxs(rr,{isAttached:!0,children:[i.jsx(Yt,{onClick:()=>c("all"),isChecked:a==="all",size:"sm",children:r("modelManager.allModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("diffusers"),isChecked:a==="diffusers",children:r("modelManager.diffusersModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("checkpoint"),isChecked:a==="checkpoint",children:r("modelManager.checkpointModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("onnx"),isChecked:a==="onnx",children:r("modelManager.onnxModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("olive"),isChecked:a==="olive",children:r("modelManager.oliveModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("lora"),isChecked:a==="lora",children:r("modelManager.loraModels")})]}),i.jsx(Dc,{onChange:_,label:r("modelManager.search"),labelPos:"side"}),i.jsxs(W,{flexDirection:"column",gap:4,maxHeight:window.innerHeight-280,overflow:"scroll",children:[p&&i.jsx(_u,{loadingMessage:"Loading Diffusers..."}),["all","diffusers"].includes(a)&&!p&&d.length>0&&i.jsx(ku,{title:"Diffusers",modelList:d,selected:{selectedModelId:t,setSelectedModelId:n}},"diffusers"),m&&i.jsx(_u,{loadingMessage:"Loading Checkpoints..."}),["all","checkpoint"].includes(a)&&!m&&h.length>0&&i.jsx(ku,{title:"Checkpoints",modelList:h,selected:{selectedModelId:t,setSelectedModelId:n}},"checkpoints"),b&&i.jsx(_u,{loadingMessage:"Loading LoRAs..."}),["all","lora"].includes(a)&&!b&&v.length>0&&i.jsx(ku,{title:"LoRAs",modelList:v,selected:{selectedModelId:t,setSelectedModelId:n}},"loras"),k&&i.jsx(_u,{loadingMessage:"Loading Olives..."}),["all","olive"].includes(a)&&!k&&S.length>0&&i.jsx(ku,{title:"Olives",modelList:S,selected:{selectedModelId:t,setSelectedModelId:n}},"olive"),y&&i.jsx(_u,{loadingMessage:"Loading ONNX..."}),["all","onnx"].includes(a)&&!y&&w.length>0&&i.jsx(ku,{title:"ONNX",modelList:w,selected:{selectedModelId:t,setSelectedModelId:n}},"onnx")]})]})})},Cu=(e,t,n,r)=>{const o=[];return oo(e==null?void 0:e.entities,s=>{if(!s)return;const a=s.model_name.toLowerCase().includes(r.toLowerCase()),c=n===void 0||s.model_format===n,d=s.model_type===t;a&&c&&d&&o.push(s)}),o},n8=e=>i.jsx(W,{flexDirection:"column",gap:4,borderRadius:4,p:4,sx:{bg:"base.200",_dark:{bg:"base.800"}},children:e.children});function ku(e){const{title:t,modelList:n,selected:r}=e;return i.jsx(n8,{children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(Qe,{variant:"subtext",fontSize:"sm",children:t}),n.map(o=>i.jsx(Zse,{model:o,isSelected:r.selectedModelId===o.id,setSelectedModelId:r.setSelectedModelId},o.id))]})})}function _u({loadingMessage:e}){return i.jsx(n8,{children:i.jsxs(W,{justifyContent:"center",alignItems:"center",flexDirection:"column",p:4,gap:8,children:[i.jsx(hl,{}),i.jsx(Qe,{variant:"subtext",children:e||"Fetching..."})]})})}function tae(){const[e,t]=f.useState(),{mainModel:n}=na(Gi,{selectFromResult:({data:s})=>({mainModel:e?s==null?void 0:s.entities[e]:void 0})}),{loraModel:r}=hm(void 0,{selectFromResult:({data:s})=>({loraModel:e?s==null?void 0:s.entities[e]:void 0})}),o=n||r;return i.jsxs(W,{sx:{gap:8,w:"full",h:"full"},children:[i.jsx(eae,{selectedModelId:e,setSelectedModelId:t}),i.jsx(nae,{model:o})]})}const nae=e=>{const{model:t}=e;return(t==null?void 0:t.model_format)==="checkpoint"?i.jsx(Yse,{model:t},t.id):(t==null?void 0:t.model_format)==="diffusers"?i.jsx(Qse,{model:t},t.id):(t==null?void 0:t.model_type)==="lora"?i.jsx(Jse,{model:t},t.id):i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",maxH:96,userSelect:"none"},children:i.jsx(Qe,{variant:"subtext",children:"No Model Selected"})})};function rae(){const{t:e}=ye();return i.jsxs(W,{sx:{w:"full",p:4,borderRadius:4,gap:4,justifyContent:"space-between",alignItems:"center",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(W,{sx:{flexDirection:"column",gap:2},children:[i.jsx(Qe,{sx:{fontWeight:600},children:e("modelManager.syncModels")}),i.jsx(Qe,{fontSize:"sm",sx:{_dark:{color:"base.400"}},children:e("modelManager.syncModelsDesc")})]}),i.jsx(Yd,{})]})}function oae(){return i.jsx(W,{children:i.jsx(rae,{})})}const l_=[{id:"modelManager",label:Bn.t("modelManager.modelManager"),content:i.jsx(tae,{})},{id:"importModels",label:Bn.t("modelManager.importModels"),content:i.jsx(Use,{})},{id:"mergeModels",label:Bn.t("modelManager.mergeModels"),content:i.jsx(qse,{})},{id:"settings",label:Bn.t("modelManager.settings"),content:i.jsx(oae,{})}],sae=()=>i.jsxs($d,{isLazy:!0,variant:"line",layerStyle:"first",sx:{w:"full",h:"full",p:4,gap:4,borderRadius:"base"},children:[i.jsx(Ld,{children:l_.map(e=>i.jsx(kc,{sx:{borderTopRadius:"base"},children:e.label},e.id))}),i.jsx(Nm,{sx:{w:"full",h:"full"},children:l_.map(e=>i.jsx(Tm,{sx:{w:"full",h:"full"},children:e.content},e.id))})]}),aae=f.memo(sae);const iae=e=>be([t=>t.nodes],t=>{const n=t.invocationTemplates[e];if(n)return n},{memoizeOptions:{resultEqualityCheck:(t,n)=>t!==void 0&&n!==void 0&&t.type===n.type}}),lae=(e,t)=>{const n={id:e,name:t.name,type:t.type};return t.inputRequirement!=="never"&&(t.type==="string"&&(n.value=t.default??""),t.type==="integer"&&(n.value=t.default??0),t.type==="float"&&(n.value=t.default??0),t.type==="boolean"&&(n.value=t.default??!1),t.type==="enum"&&(t.enumType==="number"&&(n.value=t.default??0),t.enumType==="string"&&(n.value=t.default??"")),t.type==="array"&&(n.value=t.default??1),t.type==="image"&&(n.value=void 0),t.type==="image_collection"&&(n.value=[]),t.type==="latents"&&(n.value=void 0),t.type==="conditioning"&&(n.value=void 0),t.type==="unet"&&(n.value=void 0),t.type==="clip"&&(n.value=void 0),t.type==="vae"&&(n.value=void 0),t.type==="control"&&(n.value=void 0),t.type==="model"&&(n.value=void 0),t.type==="refiner_model"&&(n.value=void 0),t.type==="vae_model"&&(n.value=void 0),t.type==="lora_model"&&(n.value=void 0),t.type==="controlnet_model"&&(n.value=void 0)),n},cae=be([e=>e.nodes],e=>e.invocationTemplates),cx="node-drag-handle",c_={dragHandle:`.${cx}`},uae=()=>{const e=B(cae),t=lb();return f.useCallback(n=>{if(n==="progress_image"){const{x:h,y:m}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...c_,id:"progress_image",type:"progress_image",position:{x:h,y:m},data:{}}}const r=e[n];if(r===void 0){console.error(`Unable to find template ${n}.`);return}const o=di(),s=mw(r.inputs,(h,m,v)=>{const b=di(),w=lae(b,m);return h[v]=w,h},{}),a=mw(r.outputs,(h,m,v)=>{const w={id:di(),name:v,type:m.type};return h[v]=w,h},{}),{x:c,y:d}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...c_,id:o,type:"invocation",position:{x:c,y:d},data:{id:o,type:n,inputs:s,outputs:a}}},[e,t])},dae=e=>{const{nodeId:t,title:n,description:r}=e;return i.jsxs(W,{className:cx,sx:{borderTopRadius:"md",alignItems:"center",justifyContent:"space-between",px:2,py:1,bg:"base.100",_dark:{bg:"base.900"}},children:[i.jsx(vn,{label:t,children:i.jsx(Ys,{size:"xs",sx:{fontWeight:600,color:"base.900",_dark:{color:"base.200"}},children:n})}),i.jsx(vn,{label:r,placement:"top",hasArrow:!0,shouldWrapChildren:!0,children:i.jsx(fo,{sx:{h:"min-content",color:"base.700",_dark:{color:"base.300"}},as:GY})})]})},r8=f.memo(dae),o8=()=>()=>!0,fae={position:"absolute",width:"1rem",height:"1rem",borderWidth:0},pae={left:"-1rem"},hae={right:"-0.5rem"},mae=e=>{const{field:t,isValidConnection:n,handleType:r,styles:o}=e,{name:s,type:a}=t;return i.jsx(vn,{label:a,placement:r==="target"?"start":"end",hasArrow:!0,openDelay:f5,children:i.jsx(HM,{type:r,id:s,isValidConnection:n,position:r==="target"?gw.Left:gw.Right,style:{backgroundColor:p5[a].colorCssVar,...o,...fae,...r==="target"?pae:hae}})})},s8=f.memo(mae),gae=e=>i.jsx(XY,{}),vae=f.memo(gae),bae=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(As({nodeId:t,fieldName:n.name,value:s.target.checked}))};return i.jsx(Jb,{onChange:o,isChecked:n.value})},yae=f.memo(bae),xae=e=>null,wae=f.memo(xae);function fg(){return(fg=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}function F1(e){var t=f.useRef(e),n=f.useRef(function(r){t.current&&t.current(r)});return t.current=e,n.current}var Ac=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e0:S.buttons>0)&&o.current?s(u_(o.current,S,c.current)):y(!1)},w=function(){return y(!1)};function y(S){var k=d.current,_=H1(o.current),P=S?_.addEventListener:_.removeEventListener;P(k?"touchmove":"mousemove",b),P(k?"touchend":"mouseup",w)}return[function(S){var k=S.nativeEvent,_=o.current;if(_&&(d_(k),!function(I,E){return E&&!Xu(I)}(k,d.current)&&_)){if(Xu(k)){d.current=!0;var P=k.changedTouches||[];P.length&&(c.current=P[0].identifier)}_.focus(),s(u_(_,k,c.current)),y(!0)}},function(S){var k=S.which||S.keyCode;k<37||k>40||(S.preventDefault(),a({left:k===39?.05:k===37?-.05:0,top:k===40?.05:k===38?-.05:0}))},y]},[a,s]),h=p[0],m=p[1],v=p[2];return f.useEffect(function(){return v},[v]),H.createElement("div",fg({},r,{onTouchStart:h,onMouseDown:h,className:"react-colorful__interactive",ref:o,onKeyDown:m,tabIndex:0,role:"slider"}))}),pg=function(e){return e.filter(Boolean).join(" ")},dx=function(e){var t=e.color,n=e.left,r=e.top,o=r===void 0?.5:r,s=pg(["react-colorful__pointer",e.className]);return H.createElement("div",{className:s,style:{top:100*o+"%",left:100*n+"%"}},H.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},po=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=Math.pow(10,t)),Math.round(n*e)/n},i8=function(e){var t=e.s,n=e.v,r=e.a,o=(200-t)*n/100;return{h:po(e.h),s:po(o>0&&o<200?t*n/100/(o<=100?o:200-o)*100:0),l:po(o/2),a:po(r,2)}},W1=function(e){var t=i8(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},vv=function(e){var t=i8(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},Sae=function(e){var t=e.h,n=e.s,r=e.v,o=e.a;t=t/360*6,n/=100,r/=100;var s=Math.floor(t),a=r*(1-n),c=r*(1-(t-s)*n),d=r*(1-(1-t+s)*n),p=s%6;return{r:po(255*[r,c,a,a,d,r][p]),g:po(255*[d,r,r,c,a,a][p]),b:po(255*[a,a,d,r,r,c][p]),a:po(o,2)}},Cae=function(e){var t=e.r,n=e.g,r=e.b,o=e.a,s=Math.max(t,n,r),a=s-Math.min(t,n,r),c=a?s===t?(n-r)/a:s===n?2+(r-t)/a:4+(t-n)/a:0;return{h:po(60*(c<0?c+6:c)),s:po(s?a/s*100:0),v:po(s/255*100),a:o}},kae=H.memo(function(e){var t=e.hue,n=e.onChange,r=pg(["react-colorful__hue",e.className]);return H.createElement("div",{className:r},H.createElement(ux,{onMove:function(o){n({h:360*o.left})},onKey:function(o){n({h:Ac(t+360*o.left,0,360)})},"aria-label":"Hue","aria-valuenow":po(t),"aria-valuemax":"360","aria-valuemin":"0"},H.createElement(dx,{className:"react-colorful__hue-pointer",left:t/360,color:W1({h:t,s:100,v:100,a:1})})))}),_ae=H.memo(function(e){var t=e.hsva,n=e.onChange,r={backgroundColor:W1({h:t.h,s:100,v:100,a:1})};return H.createElement("div",{className:"react-colorful__saturation",style:r},H.createElement(ux,{onMove:function(o){n({s:100*o.left,v:100-100*o.top})},onKey:function(o){n({s:Ac(t.s+100*o.left,0,100),v:Ac(t.v-100*o.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+po(t.s)+"%, Brightness "+po(t.v)+"%"},H.createElement(dx,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:W1(t)})))}),l8=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0};function Pae(e,t,n){var r=F1(n),o=f.useState(function(){return e.toHsva(t)}),s=o[0],a=o[1],c=f.useRef({color:t,hsva:s});f.useEffect(function(){if(!e.equal(t,c.current.color)){var p=e.toHsva(t);c.current={hsva:p,color:t},a(p)}},[t,e]),f.useEffect(function(){var p;l8(s,c.current.hsva)||e.equal(p=e.fromHsva(s),c.current.color)||(c.current={hsva:s,color:p},r(p))},[s,e,r]);var d=f.useCallback(function(p){a(function(h){return Object.assign({},h,p)})},[]);return[s,d]}var jae=typeof window<"u"?f.useLayoutEffect:f.useEffect,Iae=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},f_=new Map,Eae=function(e){jae(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!f_.has(t)){var n=t.createElement("style");n.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,f_.set(t,n);var r=Iae();r&&n.setAttribute("nonce",r),t.head.appendChild(n)}},[])},Oae=function(e){var t=e.className,n=e.hsva,r=e.onChange,o={backgroundImage:"linear-gradient(90deg, "+vv(Object.assign({},n,{a:0}))+", "+vv(Object.assign({},n,{a:1}))+")"},s=pg(["react-colorful__alpha",t]),a=po(100*n.a);return H.createElement("div",{className:s},H.createElement("div",{className:"react-colorful__alpha-gradient",style:o}),H.createElement(ux,{onMove:function(c){r({a:c.left})},onKey:function(c){r({a:Ac(n.a+c.left)})},"aria-label":"Alpha","aria-valuetext":a+"%","aria-valuenow":a,"aria-valuemin":"0","aria-valuemax":"100"},H.createElement(dx,{className:"react-colorful__alpha-pointer",left:n.a,color:vv(n)})))},Rae=function(e){var t=e.className,n=e.colorModel,r=e.color,o=r===void 0?n.defaultColor:r,s=e.onChange,a=a8(e,["className","colorModel","color","onChange"]),c=f.useRef(null);Eae(c);var d=Pae(n,o,s),p=d[0],h=d[1],m=pg(["react-colorful",t]);return H.createElement("div",fg({},a,{ref:c,className:m}),H.createElement(_ae,{hsva:p,onChange:h}),H.createElement(kae,{hue:p.h,onChange:h}),H.createElement(Oae,{hsva:p,onChange:h,className:"react-colorful__last-control"}))},Mae={defaultColor:{r:0,g:0,b:0,a:1},toHsva:Cae,fromHsva:Sae,equal:l8},c8=function(e){return H.createElement(Rae,fg({},e,{colorModel:Mae}))};const Dae=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(As({nodeId:t,fieldName:n.name,value:s}))};return i.jsx(c8,{className:"nodrag",color:n.value,onChange:o})},Aae=f.memo(Dae),Tae=e=>null,Nae=f.memo(Tae),$ae=e=>null,Lae=f.memo($ae),zae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=ib(),a=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/controlnet/${r==null?void 0:r.model_name}`])??null,[r==null?void 0:r.base_model,r==null?void 0:r.model_name,s==null?void 0:s.entities]),c=f.useMemo(()=>{if(!s)return[];const p=[];return oo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:Qn[h.base_model]})}),p},[s]),d=f.useCallback(p=>{if(!p)return;const h=GO(p);h&&o(As({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return i.jsx(Xr,{tooltip:a==null?void 0:a.description,label:(a==null?void 0:a.base_model)&&Qn[a==null?void 0:a.base_model],value:(a==null?void 0:a.id)??null,placeholder:"Pick one",error:!a,data:c,onChange:d})},Bae=f.memo(zae),Fae=e=>{const{nodeId:t,field:n,template:r}=e,o=te(),s=a=>{o(As({nodeId:t,fieldName:n.name,value:a.target.value}))};return i.jsx(z6,{onChange:s,value:n.value,children:r.options.map(a=>i.jsx("option",{children:a},a))})},Hae=f.memo(Fae),Wae=e=>{var c;const{nodeId:t,field:n}=e,r={id:`node-${t}-${n.name}`,actionType:"SET_MULTI_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}},{isOver:o,setNodeRef:s,active:a}=Z1({id:`node_${t}`,data:r});return i.jsxs(W,{ref:s,sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",position:"relative",minH:"10rem"},children:[(c=n.value)==null?void 0:c.map(({image_name:d})=>i.jsx(Uae,{imageName:d},d)),Lp(r,a)&&i.jsx(Jh,{isOver:o})]})},Vae=f.memo(Wae),Uae=e=>{const{currentData:t}=Is(e.imageName);return i.jsx(fl,{imageDTO:t,isDropDisabled:!0,isDragDisabled:!0})},Gae=e=>{var p;const{nodeId:t,field:n}=e,r=te(),{currentData:o}=Is(((p=n.value)==null?void 0:p.image_name)??ro.skipToken),s=f.useCallback(()=>{r(As({nodeId:t,fieldName:n.name,value:void 0}))},[r,n.name,t]),a=f.useMemo(()=>{if(o)return{id:`node-${t}-${n.name}`,payloadType:"IMAGE_DTO",payload:{imageDTO:o}}},[n.name,o,t]),c=f.useMemo(()=>({id:`node-${t}-${n.name}`,actionType:"SET_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}}),[n.name,t]),d=f.useMemo(()=>({type:"SET_NODES_IMAGE",nodeId:t,fieldName:n.name}),[t,n.name]);return i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(fl,{imageDTO:o,droppableData:c,draggableData:a,onClickReset:s,postUploadAction:d})})},qae=f.memo(Gae),Kae=e=>i.jsx(PY,{}),p_=f.memo(Kae),Xae=e=>null,Yae=f.memo(Xae),Qae=e=>{const t=wd("models"),[n,r,o]=e.split("/"),s=WM.safeParse({base_model:n,model_name:o});if(!s.success){t.error({loraModelId:e,errors:s.error.format()},"Failed to parse LoRA model id");return}return s.data},Jae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=hm(),a=f.useMemo(()=>{if(!s)return[];const p=[];return oo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:Qn[h.base_model]})}),p.sort((h,m)=>h.disabled&&!m.disabled?1:-1)},[s]),c=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/lora/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r==null?void 0:r.base_model,r==null?void 0:r.model_name]),d=f.useCallback(p=>{if(!p)return;const h=Qae(p);h&&o(As({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return(s==null?void 0:s.ids.length)===0?i.jsx(W,{sx:{justifyContent:"center",p:2},children:i.jsx(Qe,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):i.jsx(ar,{value:(c==null?void 0:c.id)??null,label:(c==null?void 0:c.base_model)&&Qn[c==null?void 0:c.base_model],placeholder:a.length>0?"Select a LoRA":"No LoRAs available",data:a,nothingFound:"No matching LoRAs",itemComponent:Oi,disabled:a.length===0,filter:(p,h)=>{var m;return((m=h.label)==null?void 0:m.toLowerCase().includes(p.toLowerCase().trim()))||h.value.toLowerCase().includes(p.toLowerCase().trim())},onChange:d})},Zae=f.memo(Jae),eie=e=>{var v,b;const{nodeId:t,field:n}=e,r=te(),{t:o}=ye(),s=hr("syncModels").isFeatureEnabled,{data:a}=Vp(Yu),{data:c,isLoading:d}=na(Yu),p=f.useMemo(()=>{if(!c)return[];const w=[];return oo(c.entities,(y,S)=>{y&&w.push({value:S,label:y.model_name,group:Qn[y.base_model]})}),a&&oo(a.entities,(y,S)=>{y&&w.push({value:S,label:y.model_name,group:Qn[y.base_model]})}),w},[c,a]),h=f.useMemo(()=>{var w,y,S,k;return((c==null?void 0:c.entities[`${(w=n.value)==null?void 0:w.base_model}/main/${(y=n.value)==null?void 0:y.model_name}`])||(a==null?void 0:a.entities[`${(S=n.value)==null?void 0:S.base_model}/onnx/${(k=n.value)==null?void 0:k.model_name}`]))??null},[(v=n.value)==null?void 0:v.base_model,(b=n.value)==null?void 0:b.model_name,c==null?void 0:c.entities,a==null?void 0:a.entities]),m=f.useCallback(w=>{if(!w)return;const y=tx(w);y&&r(As({nodeId:t,fieldName:n.name,value:y}))},[r,n.name,t]);return d?i.jsx(ar,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(ar,{tooltip:h==null?void 0:h.description,label:(h==null?void 0:h.base_model)&&Qn[h==null?void 0:h.base_model],value:h==null?void 0:h.id,placeholder:p.length>0?"Select a model":"No models available",data:p,error:p.length===0,disabled:p.length===0,onChange:m}),s&&i.jsx(Re,{mt:7,children:i.jsx(Yd,{iconMode:!0})})]})},tie=f.memo(eie),nie=e=>{const{nodeId:t,field:n}=e,r=te(),[o,s]=f.useState(String(n.value)),a=c=>{s(c),c.match(sm)||r(As({nodeId:t,fieldName:n.name,value:e.template.type==="integer"?Math.floor(Number(c)):Number(c)}))};return f.useEffect(()=>{!o.match(sm)&&n.value!==Number(o)&&s(String(n.value))},[n.value,o]),i.jsxs(Cm,{onChange:a,value:o,step:e.template.type==="integer"?1:.1,precision:e.template.type==="integer"?0:3,children:[i.jsx(_m,{}),i.jsxs(km,{children:[i.jsx(jm,{}),i.jsx(Pm,{})]})]})},rie=f.memo(nie),oie=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(As({nodeId:t,fieldName:n.name,value:s.target.value}))};return["prompt","style"].includes(n.name.toLowerCase())?i.jsx(Zb,{onChange:o,value:n.value,rows:2}):i.jsx(Id,{onChange:o,value:n.value})},sie=f.memo(oie),aie=e=>null,iie=f.memo(aie),lie=e=>null,cie=f.memo(lie),uie=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=t5(),a=f.useMemo(()=>{if(!s)return[];const p=[{value:"default",label:"Default",group:"Default"}];return oo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:Qn[h.base_model]})}),p.sort((h,m)=>h.disabled&&!m.disabled?1:-1)},[s]),c=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r]),d=f.useCallback(p=>{if(!p)return;const h=LO(p);h&&o(As({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return i.jsx(ar,{itemComponent:Oi,tooltip:c==null?void 0:c.description,label:(c==null?void 0:c.base_model)&&Qn[c==null?void 0:c.base_model],value:(c==null?void 0:c.id)??"default",placeholder:"Default",data:a,onChange:d,disabled:a.length===0,clearable:!0})},die=f.memo(uie),fie=e=>{var m,v;const{nodeId:t,field:n}=e,r=te(),{t:o}=ye(),s=hr("syncModels").isFeatureEnabled,{data:a,isLoading:c}=na(ab),d=f.useMemo(()=>{if(!a)return[];const b=[];return oo(a.entities,(w,y)=>{w&&b.push({value:y,label:w.model_name,group:Qn[w.base_model]})}),b},[a]),p=f.useMemo(()=>{var b,w;return(a==null?void 0:a.entities[`${(b=n.value)==null?void 0:b.base_model}/main/${(w=n.value)==null?void 0:w.model_name}`])??null},[(m=n.value)==null?void 0:m.base_model,(v=n.value)==null?void 0:v.model_name,a==null?void 0:a.entities]),h=f.useCallback(b=>{if(!b)return;const w=tx(b);w&&r(As({nodeId:t,fieldName:n.name,value:w}))},[r,n.name,t]);return c?i.jsx(ar,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(ar,{tooltip:p==null?void 0:p.description,label:(p==null?void 0:p.base_model)&&Qn[p==null?void 0:p.base_model],value:p==null?void 0:p.id,placeholder:d.length>0?"Select a model":"No models available",data:d,error:d.length===0,disabled:d.length===0,onChange:h}),s&&i.jsx(Re,{mt:7,children:i.jsx(Yd,{iconMode:!0})})]})},pie=f.memo(fie),hie=e=>{const{nodeId:t,field:n,template:r}=e,{type:o}=n;return o==="string"&&r.type==="string"?i.jsx(sie,{nodeId:t,field:n,template:r}):o==="boolean"&&r.type==="boolean"?i.jsx(yae,{nodeId:t,field:n,template:r}):o==="integer"&&r.type==="integer"||o==="float"&&r.type==="float"?i.jsx(rie,{nodeId:t,field:n,template:r}):o==="enum"&&r.type==="enum"?i.jsx(Hae,{nodeId:t,field:n,template:r}):o==="image"&&r.type==="image"?i.jsx(qae,{nodeId:t,field:n,template:r}):o==="latents"&&r.type==="latents"?i.jsx(Yae,{nodeId:t,field:n,template:r}):o==="conditioning"&&r.type==="conditioning"?i.jsx(Nae,{nodeId:t,field:n,template:r}):o==="unet"&&r.type==="unet"?i.jsx(iie,{nodeId:t,field:n,template:r}):o==="clip"&&r.type==="clip"?i.jsx(wae,{nodeId:t,field:n,template:r}):o==="vae"&&r.type==="vae"?i.jsx(cie,{nodeId:t,field:n,template:r}):o==="control"&&r.type==="control"?i.jsx(Lae,{nodeId:t,field:n,template:r}):o==="model"&&r.type==="model"?i.jsx(tie,{nodeId:t,field:n,template:r}):o==="refiner_model"&&r.type==="refiner_model"?i.jsx(pie,{nodeId:t,field:n,template:r}):o==="vae_model"&&r.type==="vae_model"?i.jsx(die,{nodeId:t,field:n,template:r}):o==="lora_model"&&r.type==="lora_model"?i.jsx(Zae,{nodeId:t,field:n,template:r}):o==="controlnet_model"&&r.type==="controlnet_model"?i.jsx(Bae,{nodeId:t,field:n,template:r}):o==="array"&&r.type==="array"?i.jsx(vae,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?i.jsx(p_,{nodeId:t,field:n,template:r}):o==="color"&&r.type==="color"?i.jsx(Aae,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?i.jsx(p_,{nodeId:t,field:n,template:r}):o==="image_collection"&&r.type==="image_collection"?i.jsx(Vae,{nodeId:t,field:n,template:r}):i.jsxs(Re,{p:2,children:["Unknown field type: ",o]})},mie=f.memo(hie);function gie(e){const{nodeId:t,input:n,template:r,connected:o}=e,s=o8();return i.jsx(Re,{className:"nopan",position:"relative",borderColor:r?!o&&["always","connectionOnly"].includes(String(r==null?void 0:r.inputRequirement))&&n.value===void 0?"warning.400":void 0:"error.400",children:i.jsx(go,{isDisabled:r?o:!0,pl:2,children:r?i.jsxs(i.Fragment,{children:[i.jsxs(fi,{justifyContent:"space-between",alignItems:"center",children:[i.jsx(fi,{children:i.jsx(vn,{label:r==null?void 0:r.description,placement:"top",hasArrow:!0,shouldWrapChildren:!0,openDelay:f5,children:i.jsx(Bo,{children:r==null?void 0:r.title})})}),i.jsx(mie,{nodeId:t,field:n,template:r})]}),!["never","directOnly"].includes((r==null?void 0:r.inputRequirement)??"")&&i.jsx(s8,{nodeId:t,field:r,isValidConnection:s,handleType:"target"})]}):i.jsx(fi,{justifyContent:"space-between",alignItems:"center",children:i.jsxs(Bo,{children:["Unknown input: ",n.name]})})})})}const vie=e=>{const{nodeId:t,template:n,inputs:r}=e,o=B(a=>a.nodes.edges);return f.useCallback(()=>{const a=[],c=cs(r);return c.forEach((d,p)=>{const h=n.inputs[d.name],m=!!o.filter(v=>v.target===t&&v.targetHandle===d.name).length;p{const{nodeId:t,template:n,outputs:r}=e,o=B(a=>a.nodes.edges);return f.useCallback(()=>{const a=[];return cs(r).forEach(d=>{const p=n.outputs[d.name],h=!!o.filter(m=>m.source===t&&m.sourceHandle===d.name).length;a.push(i.jsx(yie,{nodeId:t,output:d,template:p,connected:h},d.id))}),i.jsx(W,{flexDir:"column",children:a})},[o,t,r,n.outputs])()},wie=f.memo(xie),Sie=e=>{const{...t}=e;return i.jsx(Z9,{style:{position:"absolute",border:"none",background:"transparent",width:15,height:15,bottom:0,right:0},minWidth:h5,...t})},V1=f.memo(Sie),U1=e=>{const[t,n]=$c("shadows",["nodeSelectedOutline","dark-lg"]),r=B(o=>o.hotkeys.shift);return i.jsx(Re,{className:r?cx:"nopan",sx:{position:"relative",borderRadius:"md",minWidth:h5,shadow:e.selected?`${t}, ${n}`:`${n}`},children:e.children})},u8=f.memo(e=>{const{id:t,data:n,selected:r}=e,{type:o,inputs:s,outputs:a}=n,c=f.useMemo(()=>iae(o),[o]),d=B(c);return d?i.jsxs(U1,{selected:r,children:[i.jsx(r8,{nodeId:t,title:d.title,description:d.description}),i.jsxs(W,{className:"nopan",sx:{cursor:"auto",flexDirection:"column",borderBottomRadius:"md",py:2,bg:"base.150",_dark:{bg:"base.800"}},children:[i.jsx(wie,{nodeId:t,outputs:a,template:d}),i.jsx(bie,{nodeId:t,inputs:s,template:d})]}),i.jsx(V1,{})]}):i.jsx(U1,{selected:r,children:i.jsxs(W,{className:"nopan",sx:{alignItems:"center",justifyContent:"center",cursor:"auto"},children:[i.jsx(fo,{as:ZI,sx:{boxSize:32,color:"base.600",_dark:{color:"base.400"}}}),i.jsx(V1,{})]})})});u8.displayName="InvocationComponent";const Cie=e=>{const t=vw(a=>a.system.progressImage),n=vw(a=>a.nodes.progressNodeSize),r=VM(),{selected:o}=e,s=(a,c)=>{r(UM(c))};return i.jsxs(U1,{selected:o,children:[i.jsx(r8,{title:"Progress Image",description:"Displays the progress image in the Node Editor"}),i.jsx(W,{sx:{flexDirection:"column",flexShrink:0,borderBottomRadius:"md",bg:"base.200",_dark:{bg:"base.800"},width:n.width-2,height:n.height-2,minW:250,minH:250,overflow:"hidden"},children:t?i.jsx(Lc,{src:t.dataURL,sx:{w:"full",h:"full",objectFit:"contain"}}):i.jsx(W,{sx:{minW:250,minH:250,width:n.width-2,height:n.height-2},children:i.jsx(tl,{})})}),i.jsx(V1,{onResize:s})]})},kie=f.memo(Cie),_ie=()=>{const{t:e}=ye(),{zoomIn:t,zoomOut:n,fitView:r}=lb(),o=te(),s=B(w=>w.nodes.shouldShowGraphOverlay),a=B(w=>w.nodes.shouldShowFieldTypeLegend),c=B(w=>w.nodes.shouldShowMinimapPanel),d=f.useCallback(()=>{t()},[t]),p=f.useCallback(()=>{n()},[n]),h=f.useCallback(()=>{r()},[r]),m=f.useCallback(()=>{o(GM(!s))},[s,o]),v=f.useCallback(()=>{o(qM(!a))},[a,o]),b=f.useCallback(()=>{o(KM(!c))},[c,o]);return i.jsxs(rr,{isAttached:!0,orientation:"vertical",children:[i.jsx(vn,{label:e("nodes.zoomInNodes"),children:i.jsx(ze,{"aria-label":"Zoom in ",onClick:d,icon:i.jsx(yl,{})})}),i.jsx(vn,{label:e("nodes.zoomOutNodes"),children:i.jsx(ze,{"aria-label":"Zoom out",onClick:p,icon:i.jsx(JY,{})})}),i.jsx(vn,{label:e("nodes.fitViewportNodes"),children:i.jsx(ze,{"aria-label":"Fit viewport",onClick:h,icon:i.jsx(zY,{})})}),i.jsx(vn,{label:e(s?"nodes.hideGraphNodes":"nodes.showGraphNodes"),children:i.jsx(ze,{"aria-label":"Toggle nodes graph overlay",isChecked:s,onClick:m,icon:i.jsx(by,{})})}),i.jsx(vn,{label:e(a?"nodes.hideLegendNodes":"nodes.showLegendNodes"),children:i.jsx(ze,{"aria-label":"Toggle field type legend",isChecked:a,onClick:v,icon:i.jsx(qY,{})})}),i.jsx(vn,{label:e(c?"nodes.hideMinimapnodes":"nodes.showMinimapnodes"),children:i.jsx(ze,{"aria-label":"Toggle minimap",isChecked:c,onClick:b,icon:i.jsx(YY,{})})})]})},Pie=f.memo(_ie),jie=()=>i.jsx(gd,{position:"bottom-left",children:i.jsx(Pie,{})}),Iie=f.memo(jie),Eie=()=>{const e=Pp({background:"var(--invokeai-colors-base-200)"},{background:"var(--invokeai-colors-base-500)"}),t=B(o=>o.nodes.shouldShowMinimapPanel),n=Pp("var(--invokeai-colors-accent-300)","var(--invokeai-colors-accent-700)"),r=Pp("var(--invokeai-colors-blackAlpha-300)","var(--invokeai-colors-blackAlpha-600)");return i.jsx(i.Fragment,{children:t&&i.jsx(W9,{nodeStrokeWidth:3,pannable:!0,zoomable:!0,nodeBorderRadius:30,style:e,nodeColor:n,maskColor:r})})},Oie=f.memo(Eie),Rie=()=>{const{t:e}=ye(),t=te(),{isOpen:n,onOpen:r,onClose:o}=ss(),s=f.useRef(null),a=B(d=>d.nodes.nodes),c=f.useCallback(()=>{t(XM()),t(On(Mn({title:e("toast.nodesCleared"),status:"success"}))),o()},[t,e,o]);return i.jsxs(i.Fragment,{children:[i.jsx(ze,{icon:i.jsx(Eo,{}),tooltip:e("nodes.clearGraph"),"aria-label":e("nodes.clearGraph"),onClick:r,isDisabled:a.length===0}),i.jsxs(Ad,{isOpen:n,onClose:o,leastDestructiveRef:s,isCentered:!0,children:[i.jsx(Aa,{}),i.jsxs(Td,{children:[i.jsx(Da,{fontSize:"lg",fontWeight:"bold",children:e("nodes.clearGraph")}),i.jsx(Ta,{children:i.jsx(Qe,{children:e("nodes.clearGraphDesc")})}),i.jsxs(Ma,{children:[i.jsx(yc,{ref:s,onClick:o,children:e("common.cancel")}),i.jsx(yc,{colorScheme:"red",ml:3,onClick:c,children:e("common.accept")})]})]})]})]})},Mie=f.memo(Rie);function Die(e){const t=["nodes","edges","viewport"];for(const s of t)if(!(s in e))return{isValid:!1,message:Bn.t("toast.nodesNotValidGraph")};if(!Array.isArray(e.nodes)||!Array.isArray(e.edges))return{isValid:!1,message:Bn.t("toast.nodesNotValidGraph")};const n=["data","type"],r=["invocation","progress_image"];if(e.nodes.length>0)for(const s of e.nodes)for(const a of n){if(!(a in s))return{isValid:!1,message:Bn.t("toast.nodesNotValidGraph")};if(a==="type"&&!r.includes(s[a]))return{isValid:!1,message:Bn.t("toast.nodesUnrecognizedTypes")}}const o=["source","sourceHandle","target","targetHandle"];if(e.edges.length>0){for(const s of e.edges)for(const a of o)if(!(a in s))return{isValid:!1,message:Bn.t("toast.nodesBrokenConnections")}}return{isValid:!0,message:Bn.t("toast.nodesLoaded")}}const Aie=()=>{const{t:e}=ye(),t=te(),{fitView:n}=lb(),r=f.useRef(null),o=f.useCallback(s=>{var c;if(!s)return;const a=new FileReader;a.onload=async()=>{const d=a.result;try{const p=await JSON.parse(String(d)),{isValid:h,message:m}=Die(p);h?(t(YM(p.nodes)),t(QM(p.edges)),n(),t(On(Mn({title:m,status:"success"})))):t(On(Mn({title:m,status:"error"}))),a.abort()}catch(p){p&&t(On(Mn({title:e("toast.nodesNotValidJSON"),status:"error"})))}},a.readAsText(s),(c=r.current)==null||c.call(r)},[n,t,e]);return i.jsx(_I,{resetRef:r,accept:"application/json",onChange:o,children:s=>i.jsx(ze,{icon:i.jsx(Wd,{}),tooltip:e("nodes.loadGraph"),"aria-label":e("nodes.loadGraph"),...s})})},Tie=f.memo(Aie);function Nie(e){const{iconButton:t=!1,...n}=e,r=te(),o=B(Kn),s=Kd(),a=f.useCallback(()=>{r(xd("nodes"))},[r]),{t:c}=ye();return tt(["ctrl+enter","meta+enter"],a,{enabled:()=>s,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[s,o]),i.jsx(Re,{style:{flexGrow:4},position:"relative",children:i.jsxs(Re,{style:{position:"relative"},children:[!s&&i.jsx(Re,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},children:i.jsx(MO,{})}),t?i.jsx(ze,{"aria-label":c("parameters.invoke"),type:"submit",icon:i.jsx(aE,{}),isDisabled:!s,onClick:a,flexGrow:1,w:"100%",tooltip:c("parameters.invoke"),tooltipProps:{placement:"bottom"},colorScheme:"accent",id:"invoke-button",_disabled:{background:"none",_hover:{background:"none"}},...n}):i.jsx(Yt,{"aria-label":c("parameters.invoke"),type:"submit",isDisabled:!s,onClick:a,flexGrow:1,w:"100%",colorScheme:"accent",id:"invoke-button",fontWeight:700,_disabled:{background:"none",_hover:{background:"none"}},...n,children:"Invoke"})]})})}function $ie(){const{t:e}=ye(),t=te(),n=f.useCallback(()=>{t(JM())},[t]);return i.jsx(ze,{icon:i.jsx(oQ,{}),tooltip:e("nodes.reloadSchema"),"aria-label":e("nodes.reloadSchema"),onClick:n})}const Lie=()=>{const{t:e}=ye(),t=B(o=>o.nodes.editorInstance),n=B(o=>o.nodes.nodes),r=f.useCallback(()=>{if(t){const o=t.toObject();o.edges=cs(o.edges,c=>ZM(c,["style"]));const s=new Blob([JSON.stringify(o)]),a=document.createElement("a");a.href=URL.createObjectURL(s),a.download="MyNodes.json",document.body.appendChild(a),a.click(),a.remove()}},[t]);return i.jsx(ze,{icon:i.jsx(Vm,{}),fontSize:18,tooltip:e("nodes.saveGraph"),"aria-label":e("nodes.saveGraph"),onClick:r,isDisabled:n.length===0})},zie=f.memo(Lie),Bie=()=>i.jsx(gd,{position:"top-center",children:i.jsxs(fi,{children:[i.jsx(Nie,{}),i.jsx(ag,{}),i.jsx($ie,{}),i.jsx(zie,{}),i.jsx(Tie,{}),i.jsx(Mie,{})]})}),Fie=f.memo(Bie),Hie=be([lt],({nodes:e})=>{const t=cs(e.invocationTemplates,n=>({label:n.title,value:n.type,description:n.description}));return t.push({label:"Progress Image",value:"progress_image",description:"Displays the progress image in the Node Editor"}),{data:t}},Je),Wie=()=>{const e=te(),{data:t}=B(Hie),n=uae(),r=Vc(),o=f.useCallback(a=>{const c=n(a);if(!c){r({status:"error",title:`Unknown Invocation type ${a}`});return}e(eD(c))},[e,n,r]),s=f.useCallback(a=>{a&&o(a)},[o]);return i.jsx(W,{sx:{gap:2,alignItems:"center"},children:i.jsx(ar,{selectOnBlur:!1,placeholder:"Add Node",value:null,data:t,maxDropdownHeight:400,nothingFound:"No matching nodes",itemComponent:d8,filter:(a,c)=>c.label.toLowerCase().includes(a.toLowerCase().trim())||c.value.toLowerCase().includes(a.toLowerCase().trim())||c.description.toLowerCase().includes(a.toLowerCase().trim()),onChange:s,sx:{width:"18rem"}})})},d8=f.forwardRef(({label:e,description:t,...n},r)=>i.jsx("div",{ref:r,...n,children:i.jsxs("div",{children:[i.jsx(Qe,{fontWeight:600,children:e}),i.jsx(Qe,{size:"xs",sx:{color:"base.600",_dark:{color:"base.500"}},children:t})]})}));d8.displayName="SelectItem";const Vie=()=>i.jsx(gd,{position:"top-left",children:i.jsx(Wie,{})}),Uie=f.memo(Vie),Gie=()=>i.jsx(W,{sx:{gap:2,flexDir:"column"},children:cs(p5,({title:e,description:t,color:n},r)=>i.jsx(vn,{label:t,children:i.jsx(gl,{colorScheme:n,sx:{userSelect:"none"},textAlign:"center",children:e})},r))}),qie=f.memo(Gie),Kie=()=>{const e=B(n=>n),t=tD(e);return i.jsx(Re,{as:"pre",sx:{fontFamily:"monospace",position:"absolute",top:2,right:2,opacity:.7,p:2,maxHeight:500,maxWidth:500,overflowY:"scroll",borderRadius:"base",bg:"base.200",_dark:{bg:"base.800"}},children:JSON.stringify(t,null,2)})},Xie=f.memo(Kie),Yie=()=>{const e=B(n=>n.nodes.shouldShowGraphOverlay),t=B(n=>n.nodes.shouldShowFieldTypeLegend);return i.jsxs(gd,{position:"top-right",children:[t&&i.jsx(qie,{}),e&&i.jsx(Xie,{})]})},Qie=f.memo(Yie),Jie={invocation:u8,progress_image:kie},Zie=()=>{const e=te(),t=B(p=>p.nodes.nodes),n=B(p=>p.nodes.edges),r=f.useCallback(p=>{e(nD(p))},[e]),o=f.useCallback(p=>{e(rD(p))},[e]),s=f.useCallback((p,h)=>{e(oD(h))},[e]),a=f.useCallback(p=>{e(sD(p))},[e]),c=f.useCallback(()=>{e(aD())},[e]),d=f.useCallback(p=>{e(iD(p)),p&&p.fitView()},[e]);return i.jsxs(lD,{nodeTypes:Jie,nodes:t,edges:n,onNodesChange:r,onEdgesChange:o,onConnectStart:s,onConnect:a,onConnectEnd:c,onInit:d,defaultEdgeOptions:{style:{strokeWidth:2}},children:[i.jsx(Uie,{}),i.jsx(Fie,{}),i.jsx(Qie,{}),i.jsx(Iie,{}),i.jsx(X9,{}),i.jsx(Oie,{})]})},ele=()=>i.jsx(Re,{layerStyle:"first",sx:{position:"relative",width:"full",height:"full",borderRadius:"base"},children:i.jsx(cD,{children:i.jsx(Zie,{})})}),tle=f.memo(ele),nle=()=>i.jsx(tle,{}),rle=f.memo(nle),ole=be(lt,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Je),sle=()=>{const{shouldUseSliders:e,activeLabel:t}=B(ole);return i.jsx(Mo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsx(W,{sx:{flexDirection:"column",gap:3},children:e?i.jsxs(i.Fragment,{children:[i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(yi,{}),i.jsx(wi,{}),i.jsx(Re,{pt:2,children:i.jsx(Ci,{})}),i.jsx(Mc,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(yi,{})]}),i.jsx(wi,{}),i.jsx(Re,{pt:2,children:i.jsx(Ci,{})}),i.jsx(Mc,{})]})})})},f8=f.memo(sle),p8=()=>i.jsxs(i.Fragment,{children:[i.jsx(NO,{}),i.jsx(Xd,{}),i.jsx(f8,{}),i.jsx($O,{}),i.jsx(qd,{}),i.jsx(sg,{})]}),h8=()=>i.jsxs(i.Fragment,{children:[i.jsx(ix,{}),i.jsx(Xd,{}),i.jsx(f8,{}),i.jsx(sx,{}),i.jsx(rx,{}),i.jsx(qd,{}),i.jsx(sg,{}),i.jsx(ax,{}),i.jsx(qO,{}),i.jsx(ox,{})]}),ale=()=>{const e=B(t=>t.generation.model);return i.jsxs(W,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(nx,{children:e&&e.base_model==="sdxl"?i.jsx(p8,{}):i.jsx(h8,{})}),i.jsx(UO,{})]})},ile=f.memo(ale);var G1={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Konva=void 0;var n=bw;Object.defineProperty(t,"Konva",{enumerable:!0,get:function(){return n.Konva}});const r=bw;e.exports=r.Konva})(G1,G1.exports);var lle=G1.exports;const md=bd(lle);var m8={exports:{}};/** + See https://redux-toolkit.js.org/rtk-query/usage/server-side-rendering for new guidance on SSR.`)}}}({queryThunk:Xe,mutationThunk:jt,api:J,serializeQueryArgs:ut,context:he}),Or=sn.buildInitiateQuery,Jn=sn.buildInitiateMutation;return $r(J.util,{getRunningOperationPromises:sn.getRunningOperationPromises,getRunningOperationPromise:sn.removalWarning,getRunningMutationThunk:sn.getRunningMutationThunk,getRunningMutationsThunk:sn.getRunningMutationsThunk,getRunningQueryThunk:sn.getRunningQueryThunk,getRunningQueriesThunk:sn.getRunningQueriesThunk}),{name:fs,injectEndpoint:function(It,In){var Rn,Zn=J;(Rn=Zn.endpoints)[It]!=null||(Rn[It]={}),oe(In)?$r(Zn.endpoints[It],{name:It,select:Gt(It,In),initiate:Or(It,In)},en(Xe,It)):In.type===U.mutation&&$r(Zn.endpoints[It],{name:It,select:un(),initiate:Jn(It)},en(jt,It))}}}}},Ls=Ke(da())})(FE);BE.exports=FE;var ro=BE.exports;const IJ=e=>{const{boardToDelete:t,setBoardToDelete:n}=e,{t:r}=ye(),o=B(_=>_.config.canRestoreDeletedImagesFromBin),{currentData:s,isFetching:a}=n7((t==null?void 0:t.board_id)??ro.skipToken),c=f.useMemo(()=>be([lt],_=>{const P=(s??[]).map(E=>L_(_,E));return{imageUsageSummary:{isInitialImage:wa(P,E=>E.isInitialImage),isCanvasImage:wa(P,E=>E.isCanvasImage),isNodesImage:wa(P,E=>E.isNodesImage),isControlNetImage:wa(P,E=>E.isControlNetImage)}}}),[s]),[d,{isLoading:p}]=r7(),[h,{isLoading:m}]=o7(),{imageUsageSummary:v}=B(c),b=f.useCallback(()=>{t&&(d(t.board_id),n(void 0))},[t,d,n]),w=f.useCallback(()=>{t&&(h(t.board_id),n(void 0))},[t,h,n]),y=f.useCallback(()=>{n(void 0)},[n]),S=f.useRef(null),k=f.useMemo(()=>m||p||a,[m,p,a]);return t?i.jsx(Td,{isOpen:!!t,onClose:y,leastDestructiveRef:S,isCentered:!0,children:i.jsx(Aa,{children:i.jsxs(Nd,{children:[i.jsxs(Da,{fontSize:"lg",fontWeight:"bold",children:["Delete ",t.board_name]}),i.jsx(Ta,{children:i.jsxs(W,{direction:"column",gap:3,children:[a?i.jsx(Em,{children:i.jsx(W,{sx:{w:"full",h:32}})}):i.jsx(UI,{imageUsage:v,topMessage:"This board contains images used in the following features:",bottomMessage:"Deleting this board and its images will reset any features currently using them."}),i.jsx(Qe,{children:"Deleted boards cannot be restored."}),i.jsx(Qe,{children:r(o?"gallery.deleteImageBin":"gallery.deleteImagePermanent")})]})}),i.jsx(Ma,{children:i.jsxs(W,{sx:{justifyContent:"space-between",width:"full",gap:2},children:[i.jsx(Yt,{ref:S,onClick:y,children:"Cancel"}),i.jsx(Yt,{colorScheme:"warning",isLoading:k,onClick:b,children:"Delete Board Only"}),i.jsx(Yt,{colorScheme:"error",isLoading:k,onClick:w,children:"Delete Board and Images"})]})})]})})}):null},EJ=f.memo(IJ),HE=Ae((e,t)=>{const{role:n,tooltip:r="",tooltipProps:o,isChecked:s,...a}=e;return i.jsx(vn,{label:r,hasArrow:!0,...o,...o!=null&&o.placement?{placement:o.placement}:{placement:"top"},children:i.jsx(ka,{ref:t,role:n,colorScheme:s?"accent":"base",...a})})});HE.displayName="IAIIconButton";const ze=f.memo(HE),OJ="My Board",RJ=()=>{const[e,{isLoading:t}]=s7(),n=f.useCallback(()=>{e(OJ)},[e]);return i.jsx(ze,{icon:i.jsx(yl,{}),isLoading:t,tooltip:"Add Board","aria-label":"Add Board",onClick:n,size:"sm"})};var lk={path:i.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[i.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),i.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),i.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},WE=Ae((e,t)=>{const{as:n,viewBox:r,color:o="currentColor",focusable:s=!1,children:a,className:c,__css:d,...p}=e,h=Ct("chakra-icon",c),m=ia("Icon",e),v={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:o,...d,...m},b={ref:t,focusable:s,className:h,__css:v},w=r??lk.viewBox;if(n&&typeof n!="string")return i.jsx(je.svg,{as:n,...b,...p});const y=a??lk.path;return i.jsx(je.svg,{verticalAlign:"middle",viewBox:w,...b,...p,children:y})});WE.displayName="Icon";function qd(e){const{viewBox:t="0 0 24 24",d:n,displayName:r,defaultProps:o={}}=e,s=f.Children.toArray(e.path),a=Ae((c,d)=>i.jsx(WE,{ref:d,viewBox:t,...o,...c,children:s.length?s:i.jsx("path",{fill:"currentColor",d:n})}));return a.displayName=r,a}var VE=qd({displayName:"ExternalLinkIcon",path:i.jsxs("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2",children:[i.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),i.jsx("path",{d:"M15 3h6v6"}),i.jsx("path",{d:"M10 14L21 3"})]})}),zy=qd({d:"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z",displayName:"ChevronUpIcon"}),MJ=qd({displayName:"CloseIcon",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"}),DJ=qd({displayName:"DeleteIcon",path:i.jsx("g",{fill:"currentColor",children:i.jsx("path",{d:"M19.452 7.5H4.547a.5.5 0 00-.5.545l1.287 14.136A2 2 0 007.326 24h9.347a2 2 0 001.992-1.819L19.95 8.045a.5.5 0 00-.129-.382.5.5 0 00-.369-.163zm-9.2 13a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zm5 0a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zM22 4h-4.75a.25.25 0 01-.25-.25V2.5A2.5 2.5 0 0014.5 0h-5A2.5 2.5 0 007 2.5v1.25a.25.25 0 01-.25.25H2a1 1 0 000 2h20a1 1 0 000-2zM9 3.75V2.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v1.25a.25.25 0 01-.25.25h-5.5A.25.25 0 019 3.75z"})})}),AJ=qd({displayName:"ChevronDownIcon",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"});const TJ=be([lt],({gallery:e})=>{const{boardSearchText:t}=e;return{boardSearchText:t}},Je),NJ=()=>{const e=te(),{boardSearchText:t}=B(TJ),n=f.useRef(null),r=f.useCallback(c=>{e(Y2(c))},[e]),o=f.useCallback(()=>{e(Y2(""))},[e]),s=f.useCallback(c=>{c.key==="Escape"&&o()},[o]),a=f.useCallback(c=>{r(c.target.value)},[r]);return f.useEffect(()=>{n.current&&n.current.focus()},[]),i.jsxs(Z3,{children:[i.jsx(Ed,{ref:n,placeholder:"Search Boards...",value:t,onKeyDown:s,onChange:a}),t&&t.length&&i.jsx(Rb,{children:i.jsx(ka,{onClick:o,size:"xs",variant:"ghost","aria-label":"Clear Search",opacity:.5,icon:i.jsx(MJ,{boxSize:2})})})]})},$J=f.memo(NJ),LJ=e=>{const{isOver:t,label:n="Drop"}=e,r=f.useRef(fi()),{colorMode:o}=Ds();return i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsxs(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full"},children:[i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:Fe("base.700","base.900")(o),opacity:.7,borderRadius:"base",alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),i.jsx(W,{sx:{position:"absolute",top:.5,insetInlineStart:.5,insetInlineEnd:.5,bottom:.5,opacity:1,borderWidth:2,borderColor:t?Fe("base.50","base.50")(o):Fe("base.200","base.300")(o),borderRadius:"lg",borderStyle:"dashed",transitionProperty:"common",transitionDuration:"0.1s",alignItems:"center",justifyContent:"center"},children:i.jsx(Re,{sx:{fontSize:"2xl",fontWeight:600,transform:t?"scale(1.1)":"scale(1)",color:t?Fe("base.50","base.50")(o):Fe("base.200","base.300")(o),transitionProperty:"common",transitionDuration:"0.1s"},children:n})})]})},r.current)},Zh=f.memo(LJ),zJ=e=>{const{dropLabel:t,data:n,disabled:r}=e,o=f.useRef(fi()),{isOver:s,setNodeRef:a,active:c}=eb({id:o.current,disabled:r,data:n});return i.jsx(Re,{ref:a,position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",pointerEvents:"none",children:i.jsx(mo,{children:zp(n,c)&&i.jsx(Zh,{isOver:s,label:t})})})},By=f.memo(zJ),Fy=({isSelected:e,isHovered:t})=>i.jsx(Re,{className:"selection-box",sx:{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,borderRadius:"base",opacity:e?1:.7,transitionProperty:"common",transitionDuration:"0.1s",shadow:e?t?"hoverSelected.light":"selected.light":t?"hoverUnselected.light":void 0,_dark:{shadow:e?t?"hoverSelected.dark":"selected.dark":t?"hoverUnselected.dark":void 0}}}),UE=()=>i.jsx(W,{sx:{position:"absolute",insetInlineEnd:0,top:0,p:1},children:i.jsx(gl,{variant:"solid",sx:{bg:"accent.400",_dark:{bg:"accent.500"}},children:"auto"})});var Uu=globalThis&&globalThis.__assign||function(){return Uu=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{const{boardName:t}=dm(void 0,{selectFromResult:({data:n})=>{const r=n==null?void 0:n.find(s=>s.board_id===e);return{boardName:(r==null?void 0:r.board_name)||"Uncategorized"}}});return t},BJ=({board:e,setBoardToDelete:t})=>{const n=f.useCallback(()=>{t&&t(e)},[e,t]);return i.jsxs(i.Fragment,{children:[e.image_count>0&&i.jsx(i.Fragment,{}),i.jsx(jr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(Eo,{}),onClick:n,children:"Delete Board"})]})},FJ=f.memo(BJ),HJ=()=>i.jsx(i.Fragment,{}),WJ=f.memo(HJ),Hy=f.memo(({board:e,board_id:t,setBoardToDelete:n,children:r})=>{const o=te(),s=f.useMemo(()=>be(lt,({gallery:v,system:b})=>{const w=v.autoAddBoardId===t,y=b.isProcessing,S=v.autoAssignBoardOnClick;return{isAutoAdd:w,isProcessing:y,autoAssignBoardOnClick:S}}),[t]),{isAutoAdd:a,isProcessing:c,autoAssignBoardOnClick:d}=B(s),p=Qm(t),h=f.useCallback(()=>{o(fm(t))},[t,o]),m=f.useCallback(v=>{v.preventDefault()},[]);return i.jsx(GE,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>i.jsx(il,{sx:{visibility:"visible !important"},motionProps:ed,onContextMenu:m,children:i.jsxs(ad,{title:p,children:[i.jsx(jr,{icon:i.jsx(yl,{}),isDisabled:a||c||d,onClick:h,children:"Auto-add to this Board"}),!e&&i.jsx(WJ,{}),e&&i.jsx(FJ,{board:e,setBoardToDelete:n})]})}),children:r})});Hy.displayName="HoverableBoard";const qE=f.memo(({board:e,isSelected:t,setBoardToDelete:n})=>{const r=te(),o=f.useMemo(()=>be(lt,({gallery:A,system:L})=>{const Q=e.board_id===A.autoAddBoardId,F=A.autoAssignBoardOnClick,V=L.isProcessing;return{isSelectedForAutoAdd:Q,autoAssignBoardOnClick:F,isProcessing:V}},Je),[e.board_id]),{isSelectedForAutoAdd:s,autoAssignBoardOnClick:a,isProcessing:c}=B(o),[d,p]=f.useState(!1),h=f.useCallback(()=>{p(!0)},[]),m=f.useCallback(()=>{p(!1)},[]),{data:v}=H_(e.board_id),{data:b}=W_(e.board_id),w=f.useMemo(()=>{if(!(!v||!b))return`${v} image${v>1?"s":""}, ${b} asset${b>1?"s":""}`},[b,v]),{currentData:y}=Is(e.cover_image_name??ro.skipToken),{board_name:S,board_id:k}=e,[_,P]=f.useState(S),I=f.useCallback(()=>{r(V_(k)),a&&!c&&r(fm(k))},[k,a,c,r]),[E,{isLoading:O}]=a7(),R=f.useMemo(()=>({id:k,actionType:"ADD_TO_BOARD",context:{boardId:k}}),[k]),M=f.useCallback(async A=>{if(!A.trim()){P(S);return}if(A!==S)try{const{board_name:L}=await E({board_id:k,changes:{board_name:A}}).unwrap();P(L)}catch{P(S)}},[k,S,E]),D=f.useCallback(A=>{P(A)},[]);return i.jsx(Re,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:i.jsx(W,{onMouseOver:h,onMouseOut:m,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",w:"full",h:"full"},children:i.jsx(Hy,{board:e,board_id:k,setBoardToDelete:n,children:A=>i.jsx(vn,{label:w,openDelay:1e3,hasArrow:!0,children:i.jsxs(W,{ref:A,onClick:I,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[y!=null&&y.thumbnail_url?i.jsx(Lc,{src:y==null?void 0:y.thumbnail_url,draggable:!1,sx:{objectFit:"cover",w:"full",h:"full",maxH:"full",borderRadius:"base",borderBottomRadius:"lg"}}):i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:i.jsx(fo,{boxSize:12,as:aQ,sx:{mt:-6,opacity:.7,color:"base.500",_dark:{color:"base.500"}}})}),s&&i.jsx(UE,{}),i.jsx(Fy,{isSelected:t,isHovered:d}),i.jsx(W,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:t?"accent.400":"base.500",color:t?"base.50":"base.100",_dark:{bg:t?"accent.500":"base.600",color:t?"base.50":"base.100"},lineHeight:"short",fontSize:"xs"},children:i.jsxs(f3,{value:_,isDisabled:O,submitOnBlur:!0,onChange:D,onSubmit:M,sx:{w:"full"},children:[i.jsx(c3,{sx:{p:0,fontWeight:t?700:500,textAlign:"center",overflow:"hidden",textOverflow:"ellipsis"},noOfLines:1}),i.jsx(l3,{sx:{p:0,_focusVisible:{p:0,textAlign:"center",boxShadow:"none"}}})]})}),i.jsx(By,{data:R,dropLabel:i.jsx(Qe,{fontSize:"md",children:"Move"})})]})})})})})});qE.displayName="HoverableBoard";const VJ=be(lt,({gallery:e,system:t})=>{const{autoAddBoardId:n,autoAssignBoardOnClick:r}=e,{isProcessing:o}=t;return{autoAddBoardId:n,autoAssignBoardOnClick:r,isProcessing:o}},Je),KE=f.memo(({isSelected:e})=>{const t=te(),{autoAddBoardId:n,autoAssignBoardOnClick:r,isProcessing:o}=B(VJ),s=Qm("none"),a=f.useCallback(()=>{t(V_("none")),r&&!o&&t(fm("none"))},[t,r,o]),[c,d]=f.useState(!1),p=f.useCallback(()=>{d(!0)},[]),h=f.useCallback(()=>{d(!1)},[]),m=f.useMemo(()=>({id:"no_board",actionType:"REMOVE_FROM_BOARD"}),[]);return i.jsx(Re,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:i.jsx(W,{onMouseOver:p,onMouseOut:h,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",borderRadius:"base",w:"full",h:"full"},children:i.jsx(Hy,{board_id:"none",children:v=>i.jsxs(W,{ref:v,onClick:a,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:i.jsx(Lc,{src:U_,alt:"invoke-ai-logo",sx:{opacity:.4,filter:"grayscale(1)",mt:-6,w:16,h:16,minW:16,minH:16,userSelect:"none"}})}),n==="none"&&i.jsx(UE,{}),i.jsx(W,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:e?"accent.400":"base.500",color:e?"base.50":"base.100",_dark:{bg:e?"accent.500":"base.600",color:e?"base.50":"base.100"},lineHeight:"short",fontSize:"xs",fontWeight:e?700:500},children:s}),i.jsx(Fy,{isSelected:e,isHovered:c}),i.jsx(By,{data:m,dropLabel:i.jsx(Qe,{fontSize:"md",children:"Move"})})]})})})})});KE.displayName="HoverableBoard";const UJ=be([lt],({gallery:e})=>{const{selectedBoardId:t,boardSearchText:n}=e;return{selectedBoardId:t,boardSearchText:n}},Je),GJ=e=>{const{isOpen:t}=e,{selectedBoardId:n,boardSearchText:r}=B(UJ),{data:o}=dm(),s=r?o==null?void 0:o.filter(d=>d.board_name.toLowerCase().includes(r.toLowerCase())):o,[a,c]=f.useState();return i.jsxs(i.Fragment,{children:[i.jsx(bm,{in:t,animateOpacity:!0,children:i.jsxs(W,{layerStyle:"first",sx:{flexDir:"column",gap:2,p:2,mt:2,borderRadius:"base"},children:[i.jsxs(W,{sx:{gap:2,alignItems:"center"},children:[i.jsx($J,{}),i.jsx(RJ,{})]}),i.jsx(zE,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:i.jsxs(sl,{className:"list-container",sx:{gridTemplateColumns:"repeat(auto-fill, minmax(108px, 1fr));",maxH:346},children:[i.jsx(Qv,{sx:{p:1.5},children:i.jsx(KE,{isSelected:n==="none"})}),s&&s.map(d=>i.jsx(Qv,{sx:{p:1.5},children:i.jsx(qE,{board:d,isSelected:n===d.board_id,setBoardToDelete:c})},d.board_id))]})})]})}),i.jsx(EJ,{boardToDelete:a,setBoardToDelete:c})]})},qJ=f.memo(GJ),KJ=be([lt],e=>{const{selectedBoardId:t}=e.gallery;return{selectedBoardId:t}},Je),XJ=e=>{const{isOpen:t,onToggle:n}=e,{selectedBoardId:r}=B(KJ),o=Qm(r),s=f.useMemo(()=>o.length>20?`${o.substring(0,20)}...`:o,[o]);return i.jsxs(W,{as:yc,onClick:n,size:"sm",sx:{position:"relative",gap:2,w:"full",justifyContent:"space-between",alignItems:"center",px:2},children:[i.jsx(Qe,{noOfLines:1,sx:{fontWeight:600,w:"100%",textAlign:"center",color:"base.800",_dark:{color:"base.200"}},children:s}),i.jsx(zy,{sx:{transform:t?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]})},YJ=f.memo(XJ);function XE(e){return nt({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146z"}}]})(e)}function YE(e){return nt({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146zm.122 2.112v-.002.002zm0-.002v.002a.5.5 0 0 1-.122.51L6.293 6.878a.5.5 0 0 1-.511.12H5.78l-.014-.004a4.507 4.507 0 0 0-.288-.076 4.922 4.922 0 0 0-.765-.116c-.422-.028-.836.008-1.175.15l5.51 5.509c.141-.34.177-.753.149-1.175a4.924 4.924 0 0 0-.192-1.054l-.004-.013v-.001a.5.5 0 0 1 .12-.512l3.536-3.535a.5.5 0 0 1 .532-.115l.096.022c.087.017.208.034.344.034.114 0 .23-.011.343-.04L9.927 2.028c-.029.113-.04.23-.04.343a1.779 1.779 0 0 0 .062.46z"}}]})(e)}const QJ=be([lt],e=>{const{shouldPinGallery:t}=e.ui;return{shouldPinGallery:t}},Je),JJ=()=>{const e=te(),{t}=ye(),{shouldPinGallery:n}=B(QJ),r=()=>{e(G_()),e(ko())};return i.jsx(ze,{size:"sm","aria-label":t("gallery.pinGallery"),tooltip:`${t("gallery.pinGallery")} (Shift+G)`,onClick:r,icon:n?i.jsx(XE,{}):i.jsx(YE,{})})},ZJ=e=>{const{triggerComponent:t,children:n,hasArrow:r=!0,isLazy:o=!0,...s}=e;return i.jsxs(Qb,{isLazy:o,...s,children:[i.jsx(Yb,{children:t}),i.jsxs(Jb,{shadow:"dark-lg",children:[r&&i.jsx(D6,{}),n]})]})},xl=f.memo(ZJ);function eZ(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12 16c1.671 0 3-1.331 3-3s-1.329-3-3-3-3 1.331-3 3 1.329 3 3 3z"}},{tag:"path",attr:{d:"M20.817 11.186a8.94 8.94 0 0 0-1.355-3.219 9.053 9.053 0 0 0-2.43-2.43 8.95 8.95 0 0 0-3.219-1.355 9.028 9.028 0 0 0-1.838-.18V2L8 5l3.975 3V6.002c.484-.002.968.044 1.435.14a6.961 6.961 0 0 1 2.502 1.053 7.005 7.005 0 0 1 1.892 1.892A6.967 6.967 0 0 1 19 13a7.032 7.032 0 0 1-.55 2.725 7.11 7.11 0 0 1-.644 1.188 7.2 7.2 0 0 1-.858 1.039 7.028 7.028 0 0 1-3.536 1.907 7.13 7.13 0 0 1-2.822 0 6.961 6.961 0 0 1-2.503-1.054 7.002 7.002 0 0 1-1.89-1.89A6.996 6.996 0 0 1 5 13H3a9.02 9.02 0 0 0 1.539 5.034 9.096 9.096 0 0 0 2.428 2.428A8.95 8.95 0 0 0 12 22a9.09 9.09 0 0 0 1.814-.183 9.014 9.014 0 0 0 3.218-1.355 8.886 8.886 0 0 0 1.331-1.099 9.228 9.228 0 0 0 1.1-1.332A8.952 8.952 0 0 0 21 13a9.09 9.09 0 0 0-.183-1.814z"}}]})(e)}const tZ=e=>{const[t,n]=f.useState(!1),{label:r,value:o,min:s=1,max:a=100,step:c=1,onChange:d,tooltipSuffix:p="",withSliderMarks:h=!1,withInput:m=!1,isInteger:v=!1,inputWidth:b=16,withReset:w=!1,hideTooltip:y=!1,isCompact:S=!1,isDisabled:k=!1,sliderMarks:_,handleReset:P,sliderFormControlProps:I,sliderFormLabelProps:E,sliderMarkProps:O,sliderTrackProps:R,sliderThumbProps:M,sliderNumberInputProps:D,sliderNumberInputFieldProps:A,sliderNumberInputStepperProps:L,sliderTooltipProps:Q,sliderIAIIconButtonProps:F,...V}=e,q=te(),{t:G}=ye(),[T,z]=f.useState(String(o));f.useEffect(()=>{z(o)},[o]);const $=f.useMemo(()=>D!=null&&D.min?D.min:s,[s,D==null?void 0:D.min]),Y=f.useMemo(()=>D!=null&&D.max?D.max:a,[a,D==null?void 0:D.max]),ae=f.useCallback(re=>{d(re)},[d]),fe=f.useCallback(re=>{re.target.value===""&&(re.target.value=String($));const oe=Es(v?Math.floor(Number(re.target.value)):Number(T),$,Y),pe=Iu(oe,c);d(pe),z(pe)},[v,T,$,Y,d,c]),ie=f.useCallback(re=>{z(re)},[]),X=f.useCallback(()=>{P&&P()},[P]),K=f.useCallback(re=>{re.target instanceof HTMLDivElement&&re.target.focus()},[]),U=f.useCallback(re=>{re.shiftKey&&q(jo(!0))},[q]),se=f.useCallback(re=>{re.shiftKey||q(jo(!1))},[q]);return i.jsxs(go,{onClick:K,sx:S?{display:"flex",flexDirection:"row",alignItems:"center",columnGap:4,margin:0,padding:0}:{},isDisabled:k,...I,children:[r&&i.jsx(Bo,{sx:m?{mb:-1.5}:{},...E,children:r}),i.jsxs(pi,{w:"100%",gap:2,alignItems:"center",children:[i.jsxs(Q6,{"aria-label":r,value:o,min:s,max:a,step:c,onChange:ae,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),focusThumbOnChange:!1,isDisabled:k,...V,children:[h&&!_&&i.jsxs(i.Fragment,{children:[i.jsx(ql,{value:s,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...O,children:s}),i.jsx(ql,{value:a,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...O,children:a})]}),h&&_&&i.jsx(i.Fragment,{children:_.map((re,oe)=>oe===0?i.jsx(ql,{value:re,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...O,children:re},re):oe===_.length-1?i.jsx(ql,{value:re,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...O,children:re},re):i.jsx(ql,{value:re,sx:{transform:"translateX(-50%)"},...O,children:re},re))}),i.jsx(Z6,{...R,children:i.jsx(eP,{})}),i.jsx(vn,{hasArrow:!0,placement:"top",isOpen:t,label:`${o}${p}`,hidden:y,...Q,children:i.jsx(J6,{...M,zIndex:0})})]}),m&&i.jsxs(km,{min:$,max:Y,step:c,value:T,onChange:ie,onBlur:fe,focusInputOnChange:!1,...D,children:[i.jsx(Pm,{onKeyDown:U,onKeyUp:se,minWidth:b,...A}),i.jsxs(_m,{...L,children:[i.jsx(Im,{onClick:()=>d(Number(T))}),i.jsx(jm,{onClick:()=>d(Number(T))})]})]}),w&&i.jsx(ze,{size:"sm","aria-label":G("accessibility.reset"),tooltip:G("accessibility.reset"),icon:i.jsx(eZ,{}),isDisabled:k,onClick:X,...F})]})]})},_t=f.memo(tZ),QE=f.forwardRef(({label:e,tooltip:t,description:n,disabled:r,...o},s)=>i.jsx(vn,{label:t,placement:"top",hasArrow:!0,openDelay:500,children:i.jsx(Re,{ref:s,...o,children:i.jsxs(Re,{children:[i.jsx(_c,{children:e}),n&&i.jsx(_c,{size:"xs",color:"base.600",children:n})]})})}));QE.displayName="IAIMantineSelectItemWithTooltip";const Oi=f.memo(QE),nZ=be([lt],({gallery:e,system:t})=>{const{autoAddBoardId:n,autoAssignBoardOnClick:r}=e,{isProcessing:o}=t;return{autoAddBoardId:n,autoAssignBoardOnClick:r,isProcessing:o}},Je),rZ=()=>{const e=te(),{autoAddBoardId:t,autoAssignBoardOnClick:n,isProcessing:r}=B(nZ),o=f.useRef(null),{boards:s,hasBoards:a}=dm(void 0,{selectFromResult:({data:d})=>{const p=[{label:"None",value:"none"}];return d==null||d.forEach(({board_id:h,board_name:m})=>{p.push({label:m,value:h})}),{boards:p,hasBoards:p.length>1}}}),c=f.useCallback(d=>{d&&e(fm(d))},[e]);return i.jsx(ar,{label:"Auto-Add Board",inputRef:o,autoFocus:!0,placeholder:"Select a Board",value:t,data:s,nothingFound:"No matching Boards",itemComponent:Oi,disabled:!a||n||r,filter:(d,p)=>{var h;return((h=p.label)==null?void 0:h.toLowerCase().includes(d.toLowerCase().trim()))||p.value.toLowerCase().includes(d.toLowerCase().trim())},onChange:c})},oZ=e=>{const{label:t,...n}=e,{colorMode:r}=Ds();return i.jsx(n3,{colorScheme:"accent",...n,children:i.jsx(Qe,{sx:{fontSize:"sm",color:Fe("base.800","base.200")(r)},children:t})})},Gn=f.memo(oZ),sZ=be([lt],e=>{const{galleryImageMinimumWidth:t,shouldAutoSwitch:n,autoAssignBoardOnClick:r,shouldShowDeleteButton:o}=e.gallery;return{galleryImageMinimumWidth:t,shouldAutoSwitch:n,autoAssignBoardOnClick:r,shouldShowDeleteButton:o}},Je),aZ=()=>{const e=te(),{t}=ye(),{galleryImageMinimumWidth:n,shouldAutoSwitch:r,autoAssignBoardOnClick:o,shouldShowDeleteButton:s}=B(sZ),a=f.useCallback(h=>{e(Bp(h))},[e]),c=f.useCallback(()=>{e(Bp(64))},[e]),d=f.useCallback(h=>{e(i7(h.target.checked))},[e]),p=f.useCallback(h=>{e(l7(h.target.checked))},[e]);return i.jsx(xl,{triggerComponent:i.jsx(ze,{tooltip:t("gallery.gallerySettings"),"aria-label":t("gallery.gallerySettings"),size:"sm",icon:i.jsx(Cy,{})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(_t,{value:n,onChange:a,min:32,max:256,hideTooltip:!0,label:t("gallery.galleryImageSize"),withReset:!0,handleReset:c}),i.jsx(yr,{label:t("gallery.autoSwitchNewImages"),isChecked:r,onChange:d}),i.jsx(yr,{label:"Show Delete Button",isChecked:s,onChange:p}),i.jsx(Gn,{label:t("gallery.autoAssignBoardOnClick"),isChecked:o,onChange:h=>e(c7(h.target.checked))}),i.jsx(rZ,{})]})})},iZ=e=>e.image?i.jsx(Em,{sx:{w:`${e.image.width}px`,h:"auto",objectFit:"contain",aspectRatio:`${e.image.width}/${e.image.height}`}}):i.jsx(W,{sx:{opacity:.7,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",bg:"base.200",_dark:{bg:"base.900"}},children:i.jsx(hl,{size:"xl"})}),tl=e=>{const{icon:t=Oc,boxSize:n=16}=e;return i.jsxs(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",flexDir:"column",gap:2,userSelect:"none",opacity:.7,color:"base.700",_dark:{color:"base.500"},...e.sx},children:[i.jsx(fo,{as:t,boxSize:n,opacity:.7}),e.label&&i.jsx(Qe,{textAlign:"center",children:e.label})]})},Jm=0,Ri=1,Kc=2,JE=4;function lZ(e,t){return n=>e(t(n))}function cZ(e,t){return t(e)}function ZE(e,t){return n=>e(t,n)}function ck(e,t){return()=>e(t)}function Wy(e,t){return t(e),e}function wl(...e){return e}function uZ(e){e()}function uk(e){return()=>e}function dZ(...e){return()=>{e.map(uZ)}}function Zm(){}function ho(e,t){return e(Ri,t)}function Ar(e,t){e(Jm,t)}function Vy(e){e(Kc)}function eg(e){return e(JE)}function Un(e,t){return ho(e,ZE(t,Jm))}function dk(e,t){const n=e(Ri,r=>{n(),t(r)});return n}function Sr(){const e=[];return(t,n)=>{switch(t){case Kc:e.splice(0,e.length);return;case Ri:return e.push(n),()=>{const r=e.indexOf(n);r>-1&&e.splice(r,1)};case Jm:e.slice().forEach(r=>{r(n)});return;default:throw new Error(`unrecognized action ${t}`)}}}function Kt(e){let t=e;const n=Sr();return(r,o)=>{switch(r){case Ri:o(t);break;case Jm:t=o;break;case JE:return t}return n(r,o)}}function fZ(e){let t,n;const r=()=>t&&t();return function(o,s){switch(o){case Ri:return s?n===s?void 0:(r(),n=s,t=ho(e,s),t):(r(),Zm);case Kc:r(),n=null;return;default:throw new Error(`unrecognized action ${o}`)}}}function Gu(e){return Wy(Sr(),t=>Un(e,t))}function gc(e,t){return Wy(Kt(t),n=>Un(e,n))}function pZ(...e){return t=>e.reduceRight(cZ,t)}function Xt(e,...t){const n=pZ(...t);return(r,o)=>{switch(r){case Ri:return ho(e,n(o));case Kc:Vy(e);return}}}function eO(e,t){return e===t}function Co(e=eO){let t;return n=>r=>{e(t,r)||(t=r,n(r))}}function Kr(e){return t=>n=>{e(n)&&t(n)}}function nr(e){return t=>lZ(t,e)}function li(e){return t=>()=>t(e)}function Sp(e,t){return n=>r=>n(t=e(t,r))}function M1(e){return t=>n=>{e>0?e--:t(n)}}function Au(e){let t=null,n;return r=>o=>{t=o,!n&&(n=setTimeout(()=>{n=void 0,r(t)},e))}}function fk(e){let t,n;return r=>o=>{t=o,n&&clearTimeout(n),n=setTimeout(()=>{r(t)},e)}}function Xs(...e){const t=new Array(e.length);let n=0,r=null;const o=Math.pow(2,e.length)-1;return e.forEach((s,a)=>{const c=Math.pow(2,a);ho(s,d=>{const p=n;n=n|c,t[a]=d,p!==o&&n===o&&r&&(r(),r=null)})}),s=>a=>{const c=()=>s([a].concat(t));n===o?c():r=c}}function pk(...e){return function(t,n){switch(t){case Ri:return dZ(...e.map(r=>ho(r,n)));case Kc:return;default:throw new Error(`unrecognized action ${t}`)}}}function wn(e,t=eO){return Xt(e,Co(t))}function Ca(...e){const t=Sr(),n=new Array(e.length);let r=0;const o=Math.pow(2,e.length)-1;return e.forEach((s,a)=>{const c=Math.pow(2,a);ho(s,d=>{n[a]=d,r=r|c,r===o&&Ar(t,n)})}),function(s,a){switch(s){case Ri:return r===o&&a(n),ho(t,a);case Kc:return Vy(t);default:throw new Error(`unrecognized action ${s}`)}}}function ua(e,t=[],{singleton:n}={singleton:!0}){return{id:hZ(),constructor:e,dependencies:t,singleton:n}}const hZ=()=>Symbol();function mZ(e){const t=new Map,n=({id:r,constructor:o,dependencies:s,singleton:a})=>{if(a&&t.has(r))return t.get(r);const c=o(s.map(d=>n(d)));return a&&t.set(r,c),c};return n(e)}function gZ(e,t){const n={},r={};let o=0;const s=e.length;for(;o(S[k]=_=>{const P=y[t.methods[k]];Ar(P,_)},S),{})}function h(y){return a.reduce((S,k)=>(S[k]=fZ(y[t.events[k]]),S),{})}return{Component:H.forwardRef((y,S)=>{const{children:k,..._}=y,[P]=H.useState(()=>Wy(mZ(e),E=>d(E,_))),[I]=H.useState(ck(h,P));return Cp(()=>{for(const E of a)E in _&&ho(I[E],_[E]);return()=>{Object.values(I).map(Vy)}},[_,I,P]),Cp(()=>{d(P,_)}),H.useImperativeHandle(S,uk(p(P))),H.createElement(c.Provider,{value:P},n?H.createElement(n,gZ([...r,...o,...a],_),k):k)}),usePublisher:y=>H.useCallback(ZE(Ar,H.useContext(c)[y]),[y]),useEmitterValue:y=>{const k=H.useContext(c)[y],[_,P]=H.useState(ck(eg,k));return Cp(()=>ho(k,I=>{I!==_&&P(uk(I))}),[k,_]),_},useEmitter:(y,S)=>{const _=H.useContext(c)[y];Cp(()=>ho(_,S),[S,_])}}}const bZ=typeof document<"u"?H.useLayoutEffect:H.useEffect,yZ=bZ;var Uy=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e))(Uy||{});const xZ={0:"debug",1:"log",2:"warn",3:"error"},wZ=()=>typeof globalThis>"u"?window:globalThis,tO=ua(()=>{const e=Kt(3);return{log:Kt((n,r,o=1)=>{var s;const a=(s=wZ().VIRTUOSO_LOG_LEVEL)!=null?s:eg(e);o>=a&&console[xZ[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",n,r)}),logLevel:e}},[],{singleton:!0});function nO(e,t=!0){const n=H.useRef(null);let r=o=>{};if(typeof ResizeObserver<"u"){const o=H.useMemo(()=>new ResizeObserver(s=>{const a=s[0].target;a.offsetParent!==null&&e(a)}),[e]);r=s=>{s&&t?(o.observe(s),n.current=s):(n.current&&o.unobserve(n.current),n.current=null)}}return{ref:n,callbackRef:r}}function tg(e,t=!0){return nO(e,t).callbackRef}function em(e,t){return Math.round(e.getBoundingClientRect()[t])}function rO(e,t){return Math.abs(e-t)<1.01}function oO(e,t,n,r=Zm,o){const s=H.useRef(null),a=H.useRef(null),c=H.useRef(null),d=H.useCallback(m=>{const v=m.target,b=v===window||v===document,w=b?window.pageYOffset||document.documentElement.scrollTop:v.scrollTop,y=b?document.documentElement.scrollHeight:v.scrollHeight,S=b?window.innerHeight:v.offsetHeight,k=()=>{e({scrollTop:Math.max(w,0),scrollHeight:y,viewportHeight:S})};m.suppressFlushSync?k():u7.flushSync(k),a.current!==null&&(w===a.current||w<=0||w===y-S)&&(a.current=null,t(!0),c.current&&(clearTimeout(c.current),c.current=null))},[e,t]);H.useEffect(()=>{const m=o||s.current;return r(o||s.current),d({target:m,suppressFlushSync:!0}),m.addEventListener("scroll",d,{passive:!0}),()=>{r(null),m.removeEventListener("scroll",d)}},[s,d,n,r,o]);function p(m){const v=s.current;if(!v||"offsetHeight"in v&&v.offsetHeight===0)return;const b=m.behavior==="smooth";let w,y,S;v===window?(y=Math.max(em(document.documentElement,"height"),document.documentElement.scrollHeight),w=window.innerHeight,S=document.documentElement.scrollTop):(y=v.scrollHeight,w=em(v,"height"),S=v.scrollTop);const k=y-w;if(m.top=Math.ceil(Math.max(Math.min(k,m.top),0)),rO(w,y)||m.top===S){e({scrollTop:S,scrollHeight:y,viewportHeight:w}),b&&t(!0);return}b?(a.current=m.top,c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{c.current=null,a.current=null,t(!0)},1e3)):a.current=null,v.scrollTo(m)}function h(m){s.current.scrollBy(m)}return{scrollerRef:s,scrollByCallback:h,scrollToCallback:p}}const ng=ua(()=>{const e=Sr(),t=Sr(),n=Kt(0),r=Sr(),o=Kt(0),s=Sr(),a=Sr(),c=Kt(0),d=Kt(0),p=Kt(0),h=Kt(0),m=Sr(),v=Sr(),b=Kt(!1);return Un(Xt(e,nr(({scrollTop:w})=>w)),t),Un(Xt(e,nr(({scrollHeight:w})=>w)),a),Un(t,o),{scrollContainerState:e,scrollTop:t,viewportHeight:s,headerHeight:c,fixedHeaderHeight:d,fixedFooterHeight:p,footerHeight:h,scrollHeight:a,smoothScrollTargetReached:r,scrollTo:m,scrollBy:v,statefulScrollTop:o,deviation:n,scrollingInProgress:b}},[],{singleton:!0}),SZ=typeof document<"u"&&"scrollBehavior"in document.documentElement.style;function CZ(e){const t=typeof e=="number"?{index:e}:e;return t.align||(t.align="start"),(!t.behavior||!SZ)&&(t.behavior="auto"),t.offset||(t.offset=0),t}const tm="up",qu="down",kZ="none",_Z={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,scrollHeight:0}},PZ=0,sO=ua(([{scrollContainerState:e,scrollTop:t,viewportHeight:n,headerHeight:r,footerHeight:o,scrollBy:s}])=>{const a=Kt(!1),c=Kt(!0),d=Sr(),p=Sr(),h=Kt(4),m=Kt(PZ),v=gc(Xt(pk(Xt(wn(t),M1(1),li(!0)),Xt(wn(t),M1(1),li(!1),fk(100))),Co()),!1),b=gc(Xt(pk(Xt(s,li(!0)),Xt(s,li(!1),fk(200))),Co()),!1);Un(Xt(Ca(wn(t),wn(m)),nr(([_,P])=>_<=P),Co()),c),Un(Xt(c,Au(50)),p);const w=Gu(Xt(Ca(e,wn(n),wn(r),wn(o),wn(h)),Sp((_,[{scrollTop:P,scrollHeight:I},E,O,R,M])=>{const D=P+E-I>-M,A={viewportHeight:E,scrollTop:P,scrollHeight:I};if(D){let Q,F;return P>_.state.scrollTop?(Q="SCROLLED_DOWN",F=_.state.scrollTop-P):(Q="SIZE_DECREASED",F=_.state.scrollTop-P||_.scrollTopDelta),{atBottom:!0,state:A,atBottomBecause:Q,scrollTopDelta:F}}let L;return A.scrollHeight>_.state.scrollHeight?L="SIZE_INCREASED":E<_.state.viewportHeight?L="VIEWPORT_HEIGHT_DECREASING":P<_.state.scrollTop?L="SCROLLING_UPWARDS":L="NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",{atBottom:!1,notAtBottomBecause:L,state:A}},_Z),Co((_,P)=>_&&_.atBottom===P.atBottom))),y=gc(Xt(e,Sp((_,{scrollTop:P,scrollHeight:I,viewportHeight:E})=>{if(rO(_.scrollHeight,I))return{scrollTop:P,scrollHeight:I,jump:0,changed:!1};{const O=I-(P+E)<1;return _.scrollTop!==P&&O?{scrollHeight:I,scrollTop:P,jump:_.scrollTop-P,changed:!0}:{scrollHeight:I,scrollTop:P,jump:0,changed:!0}}},{scrollHeight:0,jump:0,scrollTop:0,changed:!1}),Kr(_=>_.changed),nr(_=>_.jump)),0);Un(Xt(w,nr(_=>_.atBottom)),a),Un(Xt(a,Au(50)),d);const S=Kt(qu);Un(Xt(e,nr(({scrollTop:_})=>_),Co(),Sp((_,P)=>eg(b)?{direction:_.direction,prevScrollTop:P}:{direction:P<_.prevScrollTop?tm:qu,prevScrollTop:P},{direction:qu,prevScrollTop:0}),nr(_=>_.direction)),S),Un(Xt(e,Au(50),li(kZ)),S);const k=Kt(0);return Un(Xt(v,Kr(_=>!_),li(0)),k),Un(Xt(t,Au(100),Xs(v),Kr(([_,P])=>!!P),Sp(([_,P],[I])=>[P,I],[0,0]),nr(([_,P])=>P-_)),k),{isScrolling:v,isAtTop:c,isAtBottom:a,atBottomState:w,atTopStateChange:p,atBottomStateChange:d,scrollDirection:S,atBottomThreshold:h,atTopThreshold:m,scrollVelocity:k,lastJumpDueToItemResize:y}},wl(ng)),jZ=ua(([{log:e}])=>{const t=Kt(!1),n=Gu(Xt(t,Kr(r=>r),Co()));return ho(t,r=>{r&&eg(e)("props updated",{},Uy.DEBUG)}),{propsReady:t,didMount:n}},wl(tO),{singleton:!0});function aO(e,t){e==0?t():requestAnimationFrame(()=>aO(e-1,t))}function IZ(e,t){const n=t-1;return typeof e=="number"?e:e.index==="LAST"?n:e.index}function D1(e,t){return!!(e&&e[0]===t[0]&&e[1]===t[1])}function EZ(e,t){return!!(e&&e.startIndex===t.startIndex&&e.endIndex===t.endIndex)}const nm="top",rm="bottom",hk="none";function mk(e,t,n){return typeof e=="number"?n===tm&&t===nm||n===qu&&t===rm?e:0:n===tm?t===nm?e.main:e.reverse:t===rm?e.main:e.reverse}function gk(e,t){return typeof e=="number"?e:e[t]||0}const OZ=ua(([{scrollTop:e,viewportHeight:t,deviation:n,headerHeight:r,fixedHeaderHeight:o}])=>{const s=Sr(),a=Kt(0),c=Kt(0),d=Kt(0),p=gc(Xt(Ca(wn(e),wn(t),wn(r),wn(s,D1),wn(d),wn(a),wn(o),wn(n),wn(c)),nr(([h,m,v,[b,w],y,S,k,_,P])=>{const I=h-_,E=S+k,O=Math.max(v-I,0);let R=hk;const M=gk(P,nm),D=gk(P,rm);return b-=_,b+=v+k,w+=v+k,w-=_,b>h+E-M&&(R=tm),wh!=null),Co(D1)),[0,0]);return{listBoundary:s,overscan:d,topListHeight:a,increaseViewportBy:c,visibleRange:p}},wl(ng),{singleton:!0}),RZ=ua(([{scrollVelocity:e}])=>{const t=Kt(!1),n=Sr(),r=Kt(!1);return Un(Xt(e,Xs(r,t,n),Kr(([o,s])=>!!s),nr(([o,s,a,c])=>{const{exit:d,enter:p}=s;if(a){if(d(o,c))return!1}else if(p(o,c))return!0;return a}),Co()),t),ho(Xt(Ca(t,e,n),Xs(r)),([[o,s,a],c])=>o&&c&&c.change&&c.change(s,a)),{isSeeking:t,scrollSeekConfiguration:r,scrollVelocity:e,scrollSeekRangeChanged:n}},wl(sO),{singleton:!0});function MZ(e){let t=!1,n;return()=>(t||(t=!0,n=e()),n)}const DZ=ua(([{scrollTo:e,scrollContainerState:t}])=>{const n=Sr(),r=Sr(),o=Sr(),s=Kt(!1),a=Kt(void 0);return Un(Xt(Ca(n,r),nr(([{viewportHeight:c,scrollTop:d,scrollHeight:p},{offsetTop:h}])=>({scrollTop:Math.max(0,d-h),scrollHeight:p,viewportHeight:c}))),t),Un(Xt(e,Xs(r),nr(([c,{offsetTop:d}])=>({...c,top:c.top+d}))),o),{useWindowScroll:s,customScrollParent:a,windowScrollContainerState:n,windowViewportRect:r,windowScrollTo:o}},wl(ng)),dv="-webkit-sticky",vk="sticky",iO=MZ(()=>{if(typeof document>"u")return vk;const e=document.createElement("div");return e.style.position=dv,e.style.position===dv?dv:vk});function AZ(e,t){const n=H.useRef(null),r=H.useCallback(c=>{if(c===null||!c.offsetParent)return;const d=c.getBoundingClientRect(),p=d.width;let h,m;if(t){const v=t.getBoundingClientRect(),b=d.top-v.top;h=v.height-Math.max(0,b),m=b+t.scrollTop}else h=window.innerHeight-Math.max(0,d.top),m=d.top+window.pageYOffset;n.current={offsetTop:m,visibleHeight:h,visibleWidth:p},e(n.current)},[e,t]),{callbackRef:o,ref:s}=nO(r),a=H.useCallback(()=>{r(s.current)},[r,s]);return H.useEffect(()=>{if(t){t.addEventListener("scroll",a);const c=new ResizeObserver(a);return c.observe(t),()=>{t.removeEventListener("scroll",a),c.unobserve(t)}}else return window.addEventListener("scroll",a),window.addEventListener("resize",a),()=>{window.removeEventListener("scroll",a),window.removeEventListener("resize",a)}},[a,t]),o}H.createContext(void 0);const lO=H.createContext(void 0);function TZ(e){return e}iO();const NZ={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},cO={width:"100%",height:"100%",position:"absolute",top:0};iO();function nl(e,t){if(typeof e!="string")return{context:t}}function $Z({usePublisher:e,useEmitter:t,useEmitterValue:n}){return H.memo(function({style:s,children:a,...c}){const d=e("scrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),m=n("scrollerRef"),v=n("context"),{scrollerRef:b,scrollByCallback:w,scrollToCallback:y}=oO(d,h,p,m);return t("scrollTo",y),t("scrollBy",w),H.createElement(p,{ref:b,style:{...NZ,...s},"data-test-id":"virtuoso-scroller","data-virtuoso-scroller":!0,tabIndex:0,...c,...nl(p,v)},a)})}function LZ({usePublisher:e,useEmitter:t,useEmitterValue:n}){return H.memo(function({style:s,children:a,...c}){const d=e("windowScrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),m=n("totalListHeight"),v=n("deviation"),b=n("customScrollParent"),w=n("context"),{scrollerRef:y,scrollByCallback:S,scrollToCallback:k}=oO(d,h,p,Zm,b);return yZ(()=>(y.current=b||window,()=>{y.current=null}),[y,b]),t("windowScrollTo",k),t("scrollBy",S),H.createElement(p,{style:{position:"relative",...s,...m!==0?{height:m+v}:{}},"data-virtuoso-scroller":!0,...c,...nl(p,w)},a)})}const bk={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},zZ={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},{round:yk,ceil:xk,floor:om,min:fv,max:Ku}=Math;function BZ(e){return{...zZ,items:e}}function wk(e,t,n){return Array.from({length:t-e+1}).map((r,o)=>{const s=n===null?null:n[o+e];return{index:o+e,data:s}})}function FZ(e,t){return e&&e.column===t.column&&e.row===t.row}function kp(e,t){return e&&e.width===t.width&&e.height===t.height}const HZ=ua(([{overscan:e,visibleRange:t,listBoundary:n},{scrollTop:r,viewportHeight:o,scrollBy:s,scrollTo:a,smoothScrollTargetReached:c,scrollContainerState:d,footerHeight:p,headerHeight:h},m,v,{propsReady:b,didMount:w},{windowViewportRect:y,useWindowScroll:S,customScrollParent:k,windowScrollContainerState:_,windowScrollTo:P},I])=>{const E=Kt(0),O=Kt(0),R=Kt(bk),M=Kt({height:0,width:0}),D=Kt({height:0,width:0}),A=Sr(),L=Sr(),Q=Kt(0),F=Kt(null),V=Kt({row:0,column:0}),q=Sr(),G=Sr(),T=Kt(!1),z=Kt(0),$=Kt(!0),Y=Kt(!1);ho(Xt(w,Xs(z),Kr(([U,se])=>!!se)),()=>{Ar($,!1),Ar(O,0)}),ho(Xt(Ca(w,$,D,M,z,Y),Kr(([U,se,re,oe,,pe])=>U&&!se&&re.height!==0&&oe.height!==0&&!pe)),([,,,,U])=>{Ar(Y,!0),aO(1,()=>{Ar(A,U)}),dk(Xt(r),()=>{Ar(n,[0,0]),Ar($,!0)})}),Un(Xt(G,Kr(U=>U!=null&&U.scrollTop>0),li(0)),O),ho(Xt(w,Xs(G),Kr(([,U])=>U!=null)),([,U])=>{U&&(Ar(M,U.viewport),Ar(D,U==null?void 0:U.item),Ar(V,U.gap),U.scrollTop>0&&(Ar(T,!0),dk(Xt(r,M1(1)),se=>{Ar(T,!1)}),Ar(a,{top:U.scrollTop})))}),Un(Xt(M,nr(({height:U})=>U)),o),Un(Xt(Ca(wn(M,kp),wn(D,kp),wn(V,(U,se)=>U&&U.column===se.column&&U.row===se.row),wn(r)),nr(([U,se,re,oe])=>({viewport:U,item:se,gap:re,scrollTop:oe}))),q),Un(Xt(Ca(wn(E),t,wn(V,FZ),wn(D,kp),wn(M,kp),wn(F),wn(O),wn(T),wn($),wn(z)),Kr(([,,,,,,,U])=>!U),nr(([U,[se,re],oe,pe,le,ge,ke,,xe,de])=>{const{row:Te,column:Ee}=oe,{height:$e,width:kt}=pe,{width:ct}=le;if(ke===0&&(U===0||ct===0))return bk;if(kt===0){const $t=IZ(de,U),Lt=$t===0?Math.max(ke-1,0):$t;return BZ(wk($t,Lt,ge))}const on=uO(ct,kt,Ee);let vt,bt;xe?se===0&&re===0&&ke>0?(vt=0,bt=ke-1):(vt=on*om((se+Te)/($e+Te)),bt=on*xk((re+Te)/($e+Te))-1,bt=fv(U-1,Ku(bt,on-1)),vt=fv(bt,Ku(0,vt))):(vt=0,bt=-1);const Se=wk(vt,bt,ge),{top:Me,bottom:Pt}=Sk(le,oe,pe,Se),Tt=xk(U/on),ht=Tt*$e+(Tt-1)*Te-Pt;return{items:Se,offsetTop:Me,offsetBottom:ht,top:Me,bottom:Pt,itemHeight:$e,itemWidth:kt}})),R),Un(Xt(F,Kr(U=>U!==null),nr(U=>U.length)),E),Un(Xt(Ca(M,D,R,V),Kr(([U,se,{items:re}])=>re.length>0&&se.height!==0&&U.height!==0),nr(([U,se,{items:re},oe])=>{const{top:pe,bottom:le}=Sk(U,oe,se,re);return[pe,le]}),Co(D1)),n);const ae=Kt(!1);Un(Xt(r,Xs(ae),nr(([U,se])=>se||U!==0)),ae);const fe=Gu(Xt(wn(R),Kr(({items:U})=>U.length>0),Xs(E,ae),Kr(([{items:U},se,re])=>re&&U[U.length-1].index===se-1),nr(([,U])=>U-1),Co())),ie=Gu(Xt(wn(R),Kr(({items:U})=>U.length>0&&U[0].index===0),li(0),Co())),X=Gu(Xt(wn(R),Xs(T),Kr(([{items:U},se])=>U.length>0&&!se),nr(([{items:U}])=>({startIndex:U[0].index,endIndex:U[U.length-1].index})),Co(EZ),Au(0)));Un(X,v.scrollSeekRangeChanged),Un(Xt(A,Xs(M,D,E,V),nr(([U,se,re,oe,pe])=>{const le=CZ(U),{align:ge,behavior:ke,offset:xe}=le;let de=le.index;de==="LAST"&&(de=oe-1),de=Ku(0,de,fv(oe-1,de));let Te=A1(se,pe,re,de);return ge==="end"?Te=yk(Te-se.height+re.height):ge==="center"&&(Te=yk(Te-se.height/2+re.height/2)),xe&&(Te+=xe),{top:Te,behavior:ke}})),a);const K=gc(Xt(R,nr(U=>U.offsetBottom+U.bottom)),0);return Un(Xt(y,nr(U=>({width:U.visibleWidth,height:U.visibleHeight}))),M),{data:F,totalCount:E,viewportDimensions:M,itemDimensions:D,scrollTop:r,scrollHeight:L,overscan:e,scrollBy:s,scrollTo:a,scrollToIndex:A,smoothScrollTargetReached:c,windowViewportRect:y,windowScrollTo:P,useWindowScroll:S,customScrollParent:k,windowScrollContainerState:_,deviation:Q,scrollContainerState:d,footerHeight:p,headerHeight:h,initialItemCount:O,gap:V,restoreStateFrom:G,...v,initialTopMostItemIndex:z,gridState:R,totalListHeight:K,...m,startReached:ie,endReached:fe,rangeChanged:X,stateChanged:q,propsReady:b,stateRestoreInProgress:T,...I}},wl(OZ,ng,sO,RZ,jZ,DZ,tO));function Sk(e,t,n,r){const{height:o}=n;if(o===void 0||r.length===0)return{top:0,bottom:0};const s=A1(e,t,n,r[0].index),a=A1(e,t,n,r[r.length-1].index)+o;return{top:s,bottom:a}}function A1(e,t,n,r){const o=uO(e.width,n.width,t.column),s=om(r/o),a=s*n.height+Ku(0,s-1)*t.row;return a>0?a+t.row:a}function uO(e,t,n){return Ku(1,om((e+n)/(om(t)+n)))}const WZ=ua(()=>{const e=Kt(p=>`Item ${p}`),t=Kt({}),n=Kt(null),r=Kt("virtuoso-grid-item"),o=Kt("virtuoso-grid-list"),s=Kt(TZ),a=Kt("div"),c=Kt(Zm),d=(p,h=null)=>gc(Xt(t,nr(m=>m[p]),Co()),h);return{context:n,itemContent:e,components:t,computeItemKey:s,itemClassName:r,listClassName:o,headerFooterTag:a,scrollerRef:c,FooterComponent:d("Footer"),HeaderComponent:d("Header"),ListComponent:d("List","div"),ItemComponent:d("Item","div"),ScrollerComponent:d("Scroller","div"),ScrollSeekPlaceholder:d("ScrollSeekPlaceholder","div")}}),VZ=ua(([e,t])=>({...e,...t}),wl(HZ,WZ)),UZ=H.memo(function(){const t=pr("gridState"),n=pr("listClassName"),r=pr("itemClassName"),o=pr("itemContent"),s=pr("computeItemKey"),a=pr("isSeeking"),c=js("scrollHeight"),d=pr("ItemComponent"),p=pr("ListComponent"),h=pr("ScrollSeekPlaceholder"),m=pr("context"),v=js("itemDimensions"),b=js("gap"),w=pr("log"),y=pr("stateRestoreInProgress"),S=tg(k=>{const _=k.parentElement.parentElement.scrollHeight;c(_);const P=k.firstChild;if(P){const{width:I,height:E}=P.getBoundingClientRect();v({width:I,height:E})}b({row:Ck("row-gap",getComputedStyle(k).rowGap,w),column:Ck("column-gap",getComputedStyle(k).columnGap,w)})});return y?null:H.createElement(p,{ref:S,className:n,...nl(p,m),style:{paddingTop:t.offsetTop,paddingBottom:t.offsetBottom},"data-test-id":"virtuoso-item-list"},t.items.map(k=>{const _=s(k.index,k.data,m);return a?H.createElement(h,{key:_,...nl(h,m),index:k.index,height:t.itemHeight,width:t.itemWidth}):H.createElement(d,{...nl(d,m),className:r,"data-index":k.index,key:_},o(k.index,k.data,m))}))}),GZ=H.memo(function(){const t=pr("HeaderComponent"),n=js("headerHeight"),r=pr("headerFooterTag"),o=tg(a=>n(em(a,"height"))),s=pr("context");return t?H.createElement(r,{ref:o},H.createElement(t,nl(t,s))):null}),qZ=H.memo(function(){const t=pr("FooterComponent"),n=js("footerHeight"),r=pr("headerFooterTag"),o=tg(a=>n(em(a,"height"))),s=pr("context");return t?H.createElement(r,{ref:o},H.createElement(t,nl(t,s))):null}),KZ=({children:e})=>{const t=H.useContext(lO),n=js("itemDimensions"),r=js("viewportDimensions"),o=tg(s=>{r(s.getBoundingClientRect())});return H.useEffect(()=>{t&&(r({height:t.viewportHeight,width:t.viewportWidth}),n({height:t.itemHeight,width:t.itemWidth}))},[t,r,n]),H.createElement("div",{style:cO,ref:o},e)},XZ=({children:e})=>{const t=H.useContext(lO),n=js("windowViewportRect"),r=js("itemDimensions"),o=pr("customScrollParent"),s=AZ(n,o);return H.useEffect(()=>{t&&(r({height:t.itemHeight,width:t.itemWidth}),n({offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:t.viewportWidth}))},[t,n,r]),H.createElement("div",{ref:s,style:cO},e)},YZ=H.memo(function({...t}){const n=pr("useWindowScroll"),r=pr("customScrollParent"),o=r||n?ZZ:JZ,s=r||n?XZ:KZ;return H.createElement(o,{...t},H.createElement(s,null,H.createElement(GZ,null),H.createElement(UZ,null),H.createElement(qZ,null)))}),{Component:QZ,usePublisher:js,useEmitterValue:pr,useEmitter:dO}=vZ(VZ,{optional:{context:"context",totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",data:"data",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",restoreStateFrom:"restoreStateFrom",initialTopMostItemIndex:"initialTopMostItemIndex"},methods:{scrollTo:"scrollTo",scrollBy:"scrollBy",scrollToIndex:"scrollToIndex"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",stateChanged:"stateChanged"}},YZ),JZ=$Z({usePublisher:js,useEmitterValue:pr,useEmitter:dO}),ZZ=LZ({usePublisher:js,useEmitterValue:pr,useEmitter:dO});function Ck(e,t,n){return t!=="normal"&&!(t!=null&&t.endsWith("px"))&&n(`${e} was not resolved to pixel value correctly`,t,Uy.WARN),t==="normal"?0:parseInt(t??"0",10)}const eee=QZ,tee=e=>{const t=B(s=>s.gallery.galleryView),{data:n}=H_(e),{data:r}=W_(e),o=f.useMemo(()=>t==="images"?n:r,[t,r,n]);return{totalImages:n,totalAssets:r,currentViewTotal:o}},nee=({imageDTO:e})=>i.jsx(W,{sx:{pointerEvents:"none",flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,p:2,alignItems:"flex-start",gap:2},children:i.jsxs(gl,{variant:"solid",colorScheme:"base",children:[e.width," × ",e.height]})}),rg=({postUploadAction:e,isDisabled:t})=>{const n=B(d=>d.gallery.autoAddBoardId),[r]=$_(),o=f.useCallback(d=>{const p=d[0];p&&r({file:p,image_category:"user",is_intermediate:!1,postUploadAction:e??{type:"TOAST"},board_id:n==="none"?void 0:n})},[n,e,r]),{getRootProps:s,getInputProps:a,open:c}=ny({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},onDropAccepted:o,disabled:t,noDrag:!0,multiple:!1});return{getUploadButtonProps:s,getUploadInputProps:a,openUploader:c}},Gy=()=>{const e=te(),t=Vc(),{t:n}=ye(),r=f.useCallback(()=>{t({title:n("toast.parameterSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),o=f.useCallback(()=>{t({title:n("toast.parameterNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),s=f.useCallback(()=>{t({title:n("toast.parametersSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),a=f.useCallback(()=>{t({title:n("toast.parametersNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),c=f.useCallback((O,R,M,D)=>{if(Lf(O)||zf(R)||pu(M)||v0(D)){Lf(O)&&e(Lu(O)),zf(R)&&e(zu(R)),pu(M)&&e(Bu(M)),pu(D)&&e(Fu(D)),r();return}o()},[e,r,o]),d=f.useCallback(O=>{if(!Lf(O)){o();return}e(Lu(O)),r()},[e,r,o]),p=f.useCallback(O=>{if(!zf(O)){o();return}e(zu(O)),r()},[e,r,o]),h=f.useCallback(O=>{if(!pu(O)){o();return}e(Bu(O)),r()},[e,r,o]),m=f.useCallback(O=>{if(!v0(O)){o();return}e(Fu(O)),r()},[e,r,o]),v=f.useCallback(O=>{if(!Q2(O)){o();return}e(Fp(O)),r()},[e,r,o]),b=f.useCallback(O=>{if(!b0(O)){o();return}e(Hp(O)),r()},[e,r,o]),w=f.useCallback(O=>{if(!J2(O)){o();return}e(Iv(O)),r()},[e,r,o]),y=f.useCallback(O=>{if(!y0(O)){o();return}e(Ev(O)),r()},[e,r,o]),S=f.useCallback(O=>{if(!x0(O)){o();return}e(Wp(O)),r()},[e,r,o]),k=f.useCallback(O=>{if(!Z2(O)){o();return}e(vc(O)),r()},[e,r,o]),_=f.useCallback(O=>{if(!ew(O)){o();return}e(bc(O)),r()},[e,r,o]),P=f.useCallback(O=>{if(!tw(O)){o();return}e(Vp(O)),r()},[e,r,o]),I=f.useCallback(O=>{e(tb(O))},[e]),E=f.useCallback(O=>{if(!O){a();return}const{cfg_scale:R,height:M,model:D,positive_prompt:A,negative_prompt:L,scheduler:Q,seed:F,steps:V,width:q,strength:G,positive_style_prompt:T,negative_style_prompt:z,refiner_model:$,refiner_cfg_scale:Y,refiner_steps:ae,refiner_scheduler:fe,refiner_aesthetic_store:ie,refiner_start:X}=O;b0(R)&&e(Hp(R)),J2(D)&&e(Iv(D)),Lf(A)&&e(Lu(A)),zf(L)&&e(zu(L)),y0(Q)&&e(Ev(Q)),Q2(F)&&e(Fp(F)),x0(V)&&e(Wp(V)),Z2(q)&&e(vc(q)),ew(M)&&e(bc(M)),tw(G)&&e(Vp(G)),pu(T)&&e(Bu(T)),v0(z)&&e(Fu(z)),d7($)&&e(q_($)),x0(ae)&&e(Ov(ae)),b0(Y)&&e(Rv(Y)),y0(fe)&&e(K_(fe)),f7(ie)&&e(Mv(ie)),p7(X)&&e(Dv(X)),s()},[a,s,e]);return{recallBothPrompts:c,recallPositivePrompt:d,recallNegativePrompt:p,recallSDXLPositiveStylePrompt:h,recallSDXLNegativeStylePrompt:m,recallSeed:v,recallCfgScale:b,recallModel:w,recallScheduler:y,recallSteps:S,recallWidth:k,recallHeight:_,recallStrength:P,recallAllParameters:E,sendToImageToImage:I}},ir=e=>{const t=B(a=>a.config.disabledTabs),n=B(a=>a.config.disabledFeatures),r=B(a=>a.config.disabledSDFeatures),o=f.useMemo(()=>n.includes(e)||r.includes(e)||t.includes(e),[n,r,t,e]),s=f.useMemo(()=>!(n.includes(e)||r.includes(e)||t.includes(e)),[n,r,t,e]);return{isFeatureDisabled:o,isFeatureEnabled:s}},qy=()=>{const e=Vc(),{t}=ye(),n=f.useMemo(()=>!!navigator.clipboard&&!!window.ClipboardItem,[]),r=f.useCallback(async o=>{n||e({title:t("toast.problemCopyingImage"),description:"Your browser doesn't support the Clipboard API.",status:"error",duration:2500,isClosable:!0});try{const a=await(await fetch(o)).blob();await navigator.clipboard.write([new ClipboardItem({[a.type]:a})]),e({title:t("toast.imageCopied"),status:"success",duration:2500,isClosable:!0})}catch(s){e({title:t("toast.problemCopyingImage"),description:String(s),status:"error",duration:2500,isClosable:!0})}},[n,t,e]);return{isClipboardAPIAvailable:n,copyImageToClipboard:r}};function ree(e,t,n){var r=this,o=f.useRef(null),s=f.useRef(0),a=f.useRef(null),c=f.useRef([]),d=f.useRef(),p=f.useRef(),h=f.useRef(e),m=f.useRef(!0);f.useEffect(function(){h.current=e},[e]);var v=!t&&t!==0&&typeof window<"u";if(typeof e!="function")throw new TypeError("Expected a function");t=+t||0;var b=!!(n=n||{}).leading,w=!("trailing"in n)||!!n.trailing,y="maxWait"in n,S=y?Math.max(+n.maxWait||0,t):null;f.useEffect(function(){return m.current=!0,function(){m.current=!1}},[]);var k=f.useMemo(function(){var _=function(M){var D=c.current,A=d.current;return c.current=d.current=null,s.current=M,p.current=h.current.apply(A,D)},P=function(M,D){v&&cancelAnimationFrame(a.current),a.current=v?requestAnimationFrame(M):setTimeout(M,D)},I=function(M){if(!m.current)return!1;var D=M-o.current;return!o.current||D>=t||D<0||y&&M-s.current>=S},E=function(M){return a.current=null,w&&c.current?_(M):(c.current=d.current=null,p.current)},O=function M(){var D=Date.now();if(I(D))return E(D);if(m.current){var A=t-(D-o.current),L=y?Math.min(A,S-(D-s.current)):A;P(M,L)}},R=function(){var M=Date.now(),D=I(M);if(c.current=[].slice.call(arguments),d.current=r,o.current=M,D){if(!a.current&&m.current)return s.current=o.current,P(O,t),b?_(o.current):p.current;if(y)return P(O,t),_(o.current)}return a.current||P(O,t),p.current};return R.cancel=function(){a.current&&(v?cancelAnimationFrame(a.current):clearTimeout(a.current)),s.current=0,c.current=o.current=d.current=a.current=null},R.isPending=function(){return!!a.current},R.flush=function(){return a.current?E(Date.now()):p.current},R},[b,y,t,S,w,v]);return k}function oee(e,t){return e===t}function kk(e){return typeof e=="function"?function(){return e}:e}function Ky(e,t,n){var r,o,s=n&&n.equalityFn||oee,a=(r=f.useState(kk(e)),o=r[1],[r[0],f.useCallback(function(m){return o(kk(m))},[])]),c=a[0],d=a[1],p=ree(f.useCallback(function(m){return d(m)},[d]),t,n),h=f.useRef(e);return s(h.current,e)||(p(e),h.current=e),[c,p]}nb("gallery/requestedBoardImagesDeletion");const see=nb("gallery/sentImageToCanvas"),fO=nb("gallery/sentImageToImg2Img"),aee=e=>{const{imageDTO:t}=e,n=te(),{t:r}=ye(),o=Vc(),s=ir("unifiedCanvas").isFeatureEnabled,[a,c]=Ky(t.image_name,500),{currentData:d}=rb(c.isPending()?ro.skipToken:a??ro.skipToken),{isClipboardAPIAvailable:p,copyImageToClipboard:h}=qy(),m=d==null?void 0:d.metadata,v=f.useCallback(()=>{t&&n(pm([t]))},[n,t]),{recallBothPrompts:b,recallSeed:w,recallAllParameters:y}=Gy(),S=f.useCallback(()=>{b(m==null?void 0:m.positive_prompt,m==null?void 0:m.negative_prompt,m==null?void 0:m.positive_style_prompt,m==null?void 0:m.negative_style_prompt)},[m==null?void 0:m.negative_prompt,m==null?void 0:m.positive_prompt,m==null?void 0:m.positive_style_prompt,m==null?void 0:m.negative_style_prompt,b]),k=f.useCallback(()=>{w(m==null?void 0:m.seed)},[m==null?void 0:m.seed,w]),_=f.useCallback(()=>{n(fO()),n(tb(t))},[n,t]),P=f.useCallback(()=>{n(see()),n(h7(t)),n(hm()),n(Yl("unifiedCanvas")),o({title:r("toast.sentToUnifiedCanvas"),status:"success",duration:2500,isClosable:!0})},[n,t,r,o]),I=f.useCallback(()=>{console.log(m),y(m)},[m,y]),E=f.useCallback(()=>{n(X_([t])),n(J1(!0))},[n,t]),O=f.useCallback(()=>{h(t.image_url)},[h,t.image_url]);return i.jsxs(i.Fragment,{children:[i.jsx(jr,{as:"a",href:t.image_url,target:"_blank",icon:i.jsx(BY,{}),children:r("common.openInNewTab")}),p&&i.jsx(jr,{icon:i.jsx(qc,{}),onClickCapture:O,children:r("parameters.copyImage")}),i.jsx(jr,{as:"a",download:!0,href:t.image_url,target:"_blank",icon:i.jsx(xy,{}),w:"100%",children:r("parameters.downloadImage")}),i.jsx(jr,{icon:i.jsx(iE,{}),onClickCapture:S,isDisabled:(m==null?void 0:m.positive_prompt)===void 0&&(m==null?void 0:m.negative_prompt)===void 0,children:r("parameters.usePrompt")}),i.jsx(jr,{icon:i.jsx(lE,{}),onClickCapture:k,isDisabled:(m==null?void 0:m.seed)===void 0,children:r("parameters.useSeed")}),i.jsx(jr,{icon:i.jsx(YI,{}),onClickCapture:I,isDisabled:!m,children:r("parameters.useAll")}),i.jsx(jr,{icon:i.jsx(T4,{}),onClickCapture:_,id:"send-to-img2img",children:r("parameters.sendToImg2Img")}),s&&i.jsx(jr,{icon:i.jsx(T4,{}),onClickCapture:P,id:"send-to-canvas",children:r("parameters.sendToUnifiedCanvas")}),i.jsx(jr,{icon:i.jsx(nE,{}),onClickCapture:E,children:"Change Board"}),i.jsx(jr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(Eo,{}),onClickCapture:v,children:r("gallery.deleteImage")})]})},pO=f.memo(aee),iee=()=>{const e=te(),t=B(o=>o.gallery.selection),n=f.useCallback(()=>{e(X_(t)),e(J1(!0))},[e,t]),r=f.useCallback(()=>{e(pm(t))},[e,t]);return i.jsxs(i.Fragment,{children:[i.jsx(jr,{icon:i.jsx(nE,{}),onClickCapture:n,children:"Change Board"}),i.jsx(jr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(Eo,{}),onClickCapture:r,children:"Delete Selection"})]})},lee=be([lt],({gallery:e})=>({selectionCount:e.selection.length}),Je),cee=({imageDTO:e,children:t})=>{const{selectionCount:n}=B(lee),r=f.useCallback(o=>{o.preventDefault()},[]);return i.jsx(GE,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>e?n>1?i.jsx(il,{sx:{visibility:"visible !important"},motionProps:ed,onContextMenu:r,children:i.jsx(iee,{})}):i.jsx(il,{sx:{visibility:"visible !important"},motionProps:ed,onContextMenu:r,children:i.jsx(pO,{imageDTO:e})}):null,children:t})},uee=f.memo(cee),dee=e=>{const{data:t,disabled:n,onClick:r}=e,o=f.useRef(fi()),{attributes:s,listeners:a,setNodeRef:c}=m7({id:o.current,disabled:n,data:t});return i.jsx(Re,{onClick:r,ref:c,position:"absolute",w:"full",h:"full",top:0,insetInlineStart:0,...s,...a})},fee=f.memo(dee),pee=e=>{const{imageDTO:t,onClickReset:n,onError:r,onClick:o,withResetIcon:s=!1,withMetadataOverlay:a=!1,isDropDisabled:c=!1,isDragDisabled:d=!1,isUploadDisabled:p=!1,minSize:h=24,postUploadAction:m,imageSx:v,fitContainer:b=!1,droppableData:w,draggableData:y,dropLabel:S,isSelected:k=!1,thumbnail:_=!1,resetTooltip:P="Reset",resetIcon:I=i.jsx(Sy,{}),noContentFallback:E=i.jsx(tl,{icon:Oc}),useThumbailFallback:O,withHoverOverlay:R=!1}=e,{colorMode:M}=Ds(),[D,A]=f.useState(!1),L=f.useCallback(()=>{A(!0)},[]),Q=f.useCallback(()=>{A(!1)},[]),{getUploadButtonProps:F,getUploadInputProps:V}=rg({postUploadAction:m,isDisabled:p}),q=jp("drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-600))","drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-800))"),G=p?{}:{cursor:"pointer",bg:Fe("base.200","base.800")(M),_hover:{bg:Fe("base.300","base.650")(M),color:Fe("base.500","base.300")(M)}};return i.jsx(uee,{imageDTO:t,children:T=>i.jsxs(W,{ref:T,onMouseOver:L,onMouseOut:Q,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative",minW:h||void 0,minH:h||void 0,userSelect:"none",cursor:d||!t?"default":"pointer"},children:[t&&i.jsxs(W,{sx:{w:"full",h:"full",position:b?"absolute":"relative",alignItems:"center",justifyContent:"center"},children:[i.jsx(Lc,{src:_?t.thumbnail_url:t.image_url,fallbackStrategy:"beforeLoadOrError",fallbackSrc:O?t.thumbnail_url:void 0,fallback:O?void 0:i.jsx(iZ,{image:t}),width:t.width,height:t.height,onError:r,draggable:!1,sx:{objectFit:"contain",maxW:"full",maxH:"full",borderRadius:"base",...v}}),a&&i.jsx(nee,{imageDTO:t}),i.jsx(Fy,{isSelected:k,isHovered:R?D:!1})]}),!t&&!p&&i.jsx(i.Fragment,{children:i.jsxs(W,{sx:{minH:h,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",transitionProperty:"common",transitionDuration:"0.1s",color:Fe("base.500","base.500")(M),...G},...F(),children:[i.jsx("input",{...V()}),i.jsx(fo,{as:Vd,sx:{boxSize:16}})]})}),!t&&p&&E,t&&!d&&i.jsx(fee,{data:y,disabled:d||!t,onClick:o}),!c&&i.jsx(By,{data:w,disabled:c,dropLabel:S}),n&&s&&t&&i.jsx(ze,{onClick:n,"aria-label":P,tooltip:P,icon:I,size:"sm",variant:"link",sx:{position:"absolute",top:1,insetInlineEnd:1,p:0,minW:0,svg:{transitionProperty:"common",transitionDuration:"normal",fill:"base.100",_hover:{fill:"base.50"},filter:q}}})]})})},fl=f.memo(pee),hee=()=>i.jsx(Em,{sx:{position:"relative",height:"full",width:"full","::before":{content:"''",display:"block",pt:"100%"}},children:i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineStart:0,height:"full",width:"full"}})}),mee=be([lt,ob],({gallery:e},t)=>{const n=e.selection;return{queryArgs:t,selection:n}},Je),gee=e=>{const t=te(),{queryArgs:n,selection:r}=B(mee),{imageDTOs:o}=Y_(n,{selectFromResult:p=>({imageDTOs:p.data?g7.selectAll(p.data):[]})}),s=ir("multiselect").isFeatureEnabled,a=f.useCallback(p=>{var h;if(e){if(!s){t(hu([e]));return}if(p.shiftKey){const m=e.image_name,v=(h=r[r.length-1])==null?void 0:h.image_name,b=o.findIndex(y=>y.image_name===v),w=o.findIndex(y=>y.image_name===m);if(b>-1&&w>-1){const y=Math.min(b,w),S=Math.max(b,w),k=o.slice(y,S+1);t(hu(Ow(r.concat(k))))}}else p.ctrlKey||p.metaKey?r.some(m=>m.image_name===e.image_name)&&r.length>1?t(hu(r.filter(m=>m.image_name!==e.image_name))):t(hu(Ow(r.concat(e)))):t(hu([e]))}},[t,e,o,r,s]),c=f.useMemo(()=>e?r.some(p=>p.image_name===e.image_name):!1,[e,r]),d=f.useMemo(()=>r.length,[r.length]);return{selection:r,selectionCount:d,isSelected:c,handleClick:a}},vee=e=>{const t=te(),{imageName:n}=e,{currentData:r}=Is(n),o=B(m=>m.gallery.shouldShowDeleteButton),{handleClick:s,isSelected:a,selection:c,selectionCount:d}=gee(r),p=f.useCallback(m=>{m.stopPropagation(),r&&t(pm([r]))},[t,r]),h=f.useMemo(()=>{if(d>1)return{id:"gallery-image",payloadType:"IMAGE_DTOS",payload:{imageDTOs:c}};if(r)return{id:"gallery-image",payloadType:"IMAGE_DTO",payload:{imageDTO:r}}},[r,c,d]);return r?i.jsx(Re,{sx:{w:"full",h:"full",touchAction:"none"},children:i.jsx(W,{userSelect:"none",sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1"},children:i.jsx(fl,{onClick:s,imageDTO:r,draggableData:h,isSelected:a,minSize:0,onClickReset:p,imageSx:{w:"full",h:"full"},isDropDisabled:!0,isUploadDisabled:!0,thumbnail:!0,withHoverOverlay:!0,resetIcon:i.jsx(Eo,{}),resetTooltip:"Delete image",withResetIcon:o})})}):i.jsx(hee,{})},bee=f.memo(vee),yee=Ae((e,t)=>i.jsx(Re,{className:"item-container",ref:t,p:1.5,children:e.children})),xee=Ae((e,t)=>{const n=B(r=>r.gallery.galleryImageMinimumWidth);return i.jsx(sl,{...e,className:"list-container",ref:t,sx:{gridTemplateColumns:`repeat(auto-fill, minmax(${n}px, 1fr));`},children:e.children})}),wee={defer:!0,options:{scrollbars:{visibility:"auto",autoHide:"leave",autoHideDelay:1300,theme:"os-theme-dark"},overflow:{x:"hidden"}}},See=()=>{const{t:e}=ye(),t=f.useRef(null),[n,r]=f.useState(null),[o,s]=LE(wee),a=B(S=>S.gallery.selectedBoardId),{currentViewTotal:c}=tee(a),d=B(ob),{currentData:p,isFetching:h,isSuccess:m,isError:v}=Y_(d),[b]=Q_(),w=f.useMemo(()=>!p||!c?!1:p.ids.length{w&&b({...d,offset:(p==null?void 0:p.ids.length)??0,limit:J_})},[w,b,d,p==null?void 0:p.ids.length]);return f.useEffect(()=>{const{current:S}=t;return n&&S&&o({target:S,elements:{viewport:n}}),()=>{var k;return(k=s())==null?void 0:k.destroy()}},[n,o,s]),p?m&&(p==null?void 0:p.ids.length)===0?i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(tl,{label:e("gallery.noImagesInGallery"),icon:Oc})}):m&&p?i.jsxs(i.Fragment,{children:[i.jsx(Re,{ref:t,"data-overlayscrollbars":"",h:"100%",children:i.jsx(eee,{style:{height:"100%"},data:p.ids,endReached:y,components:{Item:yee,List:xee},scrollerRef:r,itemContent:(S,k)=>i.jsx(bee,{imageName:k},k)})}),i.jsx(Yt,{onClick:y,isDisabled:!w,isLoading:h,loadingText:"Loading",flexShrink:0,children:`Load More (${p.ids.length} of ${c})`})]}):v?i.jsx(Re,{sx:{w:"full",h:"full"},children:i.jsx(tl,{label:"Unable to load Gallery",icon:ZI})}):null:i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(tl,{label:"Loading...",icon:Oc})})},Cee=f.memo(See),kee=be([lt],e=>{const{galleryView:t}=e.gallery;return{galleryView:t}},Je),_ee=()=>{const e=f.useRef(null),t=f.useRef(null),{galleryView:n}=B(kee),r=te(),{isOpen:o,onToggle:s}=ss(),a=f.useCallback(()=>{r(nw("images"))},[r]),c=f.useCallback(()=>{r(nw("assets"))},[r]);return i.jsxs(o6,{sx:{flexDirection:"column",h:"full",w:"full",borderRadius:"base"},children:[i.jsxs(Re,{sx:{w:"full"},children:[i.jsxs(W,{ref:e,sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:[i.jsx(YJ,{isOpen:o,onToggle:s}),i.jsx(aZ,{}),i.jsx(JJ,{})]}),i.jsx(Re,{children:i.jsx(qJ,{isOpen:o})})]}),i.jsxs(W,{ref:t,direction:"column",gap:2,h:"full",w:"full",children:[i.jsx(W,{sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:i.jsx(Ld,{index:n==="images"?0:1,variant:"unstyled",size:"sm",sx:{w:"full"},children:i.jsx(zd,{children:i.jsxs(rr,{isAttached:!0,sx:{w:"full"},children:[i.jsx(kc,{as:Yt,size:"sm",isChecked:n==="images",onClick:a,sx:{w:"full"},leftIcon:i.jsx(UY,{}),children:"Images"}),i.jsx(kc,{as:Yt,size:"sm",isChecked:n==="assets",onClick:c,sx:{w:"full"},leftIcon:i.jsx(nQ,{}),children:"Assets"})]})})})}),i.jsx(Cee,{})]})]})},hO=f.memo(_ee),Pee=be([Kn,Ba,v7,lr],(e,t,n,r)=>{const{shouldPinGallery:o,shouldShowGallery:s}=t,{galleryImageMinimumWidth:a}=n;return{activeTabName:e,isStaging:r,shouldPinGallery:o,shouldShowGallery:s,galleryImageMinimumWidth:a,isResizable:e!=="unifiedCanvas"}},{memoizeOptions:{resultEqualityCheck:Zt}}),jee=()=>{const e=te(),{shouldPinGallery:t,shouldShowGallery:n,galleryImageMinimumWidth:r}=B(Pee),o=()=>{e(Av(!1)),t&&e(ko())};tt("esc",()=>{e(Av(!1))},{enabled:()=>!t,preventDefault:!0},[t]);const s=32;return tt("shift+up",()=>{if(r<256){const a=Es(r+s,32,256);e(Bp(a))}},[r]),tt("shift+down",()=>{if(r>32){const a=Es(r-s,32,256);e(Bp(a))}},[r]),t?null:i.jsx(GI,{direction:"right",isResizable:!0,isOpen:n,onClose:o,minWidth:400,children:i.jsx(hO,{})})},Iee=f.memo(jee);function Eee(e){const{title:t,hotkey:n,description:r}=e;return i.jsxs(sl,{sx:{gridTemplateColumns:"auto max-content",justifyContent:"space-between",alignItems:"center"},children:[i.jsxs(sl,{children:[i.jsx(Qe,{fontWeight:600,children:t}),r&&i.jsx(Qe,{sx:{fontSize:"sm"},variant:"subtext",children:r})]}),i.jsx(Re,{sx:{fontSize:"sm",fontWeight:600,px:2,py:1},children:n})]})}function Oee({children:e}){const{isOpen:t,onOpen:n,onClose:r}=ss(),{t:o}=ye(),s=[{title:o("hotkeys.invoke.title"),desc:o("hotkeys.invoke.desc"),hotkey:"Ctrl+Enter"},{title:o("hotkeys.cancel.title"),desc:o("hotkeys.cancel.desc"),hotkey:"Shift+X"},{title:o("hotkeys.focusPrompt.title"),desc:o("hotkeys.focusPrompt.desc"),hotkey:"Alt+A"},{title:o("hotkeys.toggleOptions.title"),desc:o("hotkeys.toggleOptions.desc"),hotkey:"O"},{title:o("hotkeys.pinOptions.title"),desc:o("hotkeys.pinOptions.desc"),hotkey:"Shift+O"},{title:o("hotkeys.toggleGallery.title"),desc:o("hotkeys.toggleGallery.desc"),hotkey:"G"},{title:o("hotkeys.maximizeWorkSpace.title"),desc:o("hotkeys.maximizeWorkSpace.desc"),hotkey:"F"},{title:o("hotkeys.changeTabs.title"),desc:o("hotkeys.changeTabs.desc"),hotkey:"1-5"}],a=[{title:o("hotkeys.setPrompt.title"),desc:o("hotkeys.setPrompt.desc"),hotkey:"P"},{title:o("hotkeys.setSeed.title"),desc:o("hotkeys.setSeed.desc"),hotkey:"S"},{title:o("hotkeys.setParameters.title"),desc:o("hotkeys.setParameters.desc"),hotkey:"A"},{title:o("hotkeys.upscale.title"),desc:o("hotkeys.upscale.desc"),hotkey:"Shift+U"},{title:o("hotkeys.showInfo.title"),desc:o("hotkeys.showInfo.desc"),hotkey:"I"},{title:o("hotkeys.sendToImageToImage.title"),desc:o("hotkeys.sendToImageToImage.desc"),hotkey:"Shift+I"},{title:o("hotkeys.deleteImage.title"),desc:o("hotkeys.deleteImage.desc"),hotkey:"Del"},{title:o("hotkeys.closePanels.title"),desc:o("hotkeys.closePanels.desc"),hotkey:"Esc"}],c=[{title:o("hotkeys.previousImage.title"),desc:o("hotkeys.previousImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextImage.title"),desc:o("hotkeys.nextImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.toggleGalleryPin.title"),desc:o("hotkeys.toggleGalleryPin.desc"),hotkey:"Shift+G"},{title:o("hotkeys.increaseGalleryThumbSize.title"),desc:o("hotkeys.increaseGalleryThumbSize.desc"),hotkey:"Shift+Up"},{title:o("hotkeys.decreaseGalleryThumbSize.title"),desc:o("hotkeys.decreaseGalleryThumbSize.desc"),hotkey:"Shift+Down"}],d=[{title:o("hotkeys.selectBrush.title"),desc:o("hotkeys.selectBrush.desc"),hotkey:"B"},{title:o("hotkeys.selectEraser.title"),desc:o("hotkeys.selectEraser.desc"),hotkey:"E"},{title:o("hotkeys.decreaseBrushSize.title"),desc:o("hotkeys.decreaseBrushSize.desc"),hotkey:"["},{title:o("hotkeys.increaseBrushSize.title"),desc:o("hotkeys.increaseBrushSize.desc"),hotkey:"]"},{title:o("hotkeys.decreaseBrushOpacity.title"),desc:o("hotkeys.decreaseBrushOpacity.desc"),hotkey:"Shift + ["},{title:o("hotkeys.increaseBrushOpacity.title"),desc:o("hotkeys.increaseBrushOpacity.desc"),hotkey:"Shift + ]"},{title:o("hotkeys.moveTool.title"),desc:o("hotkeys.moveTool.desc"),hotkey:"V"},{title:o("hotkeys.fillBoundingBox.title"),desc:o("hotkeys.fillBoundingBox.desc"),hotkey:"Shift + F"},{title:o("hotkeys.eraseBoundingBox.title"),desc:o("hotkeys.eraseBoundingBox.desc"),hotkey:"Delete / Backspace"},{title:o("hotkeys.colorPicker.title"),desc:o("hotkeys.colorPicker.desc"),hotkey:"C"},{title:o("hotkeys.toggleSnap.title"),desc:o("hotkeys.toggleSnap.desc"),hotkey:"N"},{title:o("hotkeys.quickToggleMove.title"),desc:o("hotkeys.quickToggleMove.desc"),hotkey:"Hold Space"},{title:o("hotkeys.toggleLayer.title"),desc:o("hotkeys.toggleLayer.desc"),hotkey:"Q"},{title:o("hotkeys.clearMask.title"),desc:o("hotkeys.clearMask.desc"),hotkey:"Shift+C"},{title:o("hotkeys.hideMask.title"),desc:o("hotkeys.hideMask.desc"),hotkey:"H"},{title:o("hotkeys.showHideBoundingBox.title"),desc:o("hotkeys.showHideBoundingBox.desc"),hotkey:"Shift+H"},{title:o("hotkeys.mergeVisible.title"),desc:o("hotkeys.mergeVisible.desc"),hotkey:"Shift+M"},{title:o("hotkeys.saveToGallery.title"),desc:o("hotkeys.saveToGallery.desc"),hotkey:"Shift+S"},{title:o("hotkeys.copyToClipboard.title"),desc:o("hotkeys.copyToClipboard.desc"),hotkey:"Ctrl+C"},{title:o("hotkeys.downloadImage.title"),desc:o("hotkeys.downloadImage.desc"),hotkey:"Shift+D"},{title:o("hotkeys.undoStroke.title"),desc:o("hotkeys.undoStroke.desc"),hotkey:"Ctrl+Z"},{title:o("hotkeys.redoStroke.title"),desc:o("hotkeys.redoStroke.desc"),hotkey:"Ctrl+Shift+Z, Ctrl+Y"},{title:o("hotkeys.resetView.title"),desc:o("hotkeys.resetView.desc"),hotkey:"R"},{title:o("hotkeys.previousStagingImage.title"),desc:o("hotkeys.previousStagingImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextStagingImage.title"),desc:o("hotkeys.nextStagingImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.acceptStagingImage.title"),desc:o("hotkeys.acceptStagingImage.desc"),hotkey:"Enter"}],p=h=>i.jsx(W,{flexDir:"column",gap:4,children:h.map((m,v)=>i.jsxs(W,{flexDir:"column",px:2,gap:4,children:[i.jsx(Eee,{title:m.title,description:m.desc,hotkey:m.hotkey}),v{const{data:t}=b7(),n=f.useRef(null),r=mO(n);return i.jsxs(W,{alignItems:"center",gap:3,ps:1,ref:n,children:[i.jsx(Lc,{src:U_,alt:"invoke-ai-logo",sx:{w:"32px",h:"32px",minW:"32px",minH:"32px",userSelect:"none"}}),i.jsxs(W,{sx:{gap:3,alignItems:"center"},children:[i.jsxs(Qe,{sx:{fontSize:"xl",userSelect:"none"},children:["invoke ",i.jsx("strong",{children:"ai"})]}),i.jsx(mo,{children:e&&r&&t&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:i.jsx(Qe,{sx:{fontWeight:600,marginTop:1,color:"base.300",fontSize:14},variant:"subtext",children:t.version})},"statusText")})]})]})},$ee=e=>{const{tooltip:t,inputRef:n,label:r,disabled:o,required:s,...a}=e,c=VI();return i.jsx(vn,{label:t,placement:"top",hasArrow:!0,children:i.jsx(vy,{label:r?i.jsx(go,{isRequired:s,isDisabled:o,children:i.jsx(Bo,{children:r})}):void 0,disabled:o,ref:n,styles:c,...a})})},Xr=f.memo($ee);function Yo(e){const{t}=ye(),{label:n,textProps:r,useBadge:o=!1,badgeLabel:s=t("settings.experimental"),badgeProps:a,...c}=e;return i.jsxs(W,{justifyContent:"space-between",py:1,children:[i.jsxs(W,{gap:2,alignItems:"center",children:[i.jsx(Qe,{sx:{fontSize:14,_dark:{color:"base.300"}},...r,children:n}),o&&i.jsx(gl,{size:"xs",sx:{px:2,color:"base.700",bg:"accent.200",_dark:{bg:"accent.500",color:"base.200"}},...a,children:s})]}),i.jsx(yr,{...c})]})}const Xl=e=>i.jsx(W,{sx:{flexDirection:"column",gap:2,p:4,borderRadius:"base",bg:"base.100",_dark:{bg:"base.900"}},children:e.children});function Lee(){const e=te(),{data:t,refetch:n}=y7(),[r,{isLoading:o}]=x7(),s=f.useCallback(()=>{r().unwrap().then(c=>{e(w7()),e(sb()),e(On({title:`Cleared ${c} intermediates`,status:"info"}))})},[r,e]);f.useEffect(()=>{n()},[n]);const a=t?`Clear ${t} Intermediate${t>1?"s":""}`:"No Intermediates to Clear";return i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:"Clear Intermediates"}),i.jsx(Yt,{colorScheme:"warning",onClick:s,isLoading:o,isDisabled:!t,children:a}),i.jsx(Qe,{fontWeight:"bold",children:"Clearing intermediates will reset your Canvas and ControlNet state."}),i.jsx(Qe,{variant:"subtext",children:"Intermediate images are byproducts of generation, different from the result images in the gallery. Clearing intermediates will free disk space."}),i.jsx(Qe,{variant:"subtext",children:"Your gallery images will not be deleted."})]})}const zee=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:a,base700:c,base800:d,base900:p,accent200:h,accent300:m,accent400:v,accent500:b,accent600:w}=by(),{colorMode:y}=Ds(),[S]=$c("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:Fe(c,r)(y)},separatorLabel:{color:Fe(s,s)(y),"::after":{borderTopColor:Fe(r,c)(y)}},searchInput:{":placeholder":{color:Fe(r,c)(y)}},input:{backgroundColor:Fe(e,p)(y),borderWidth:"2px",borderColor:Fe(n,d)(y),color:Fe(p,t)(y),paddingRight:24,fontWeight:600,"&:hover":{borderColor:Fe(r,a)(y)},"&:focus":{borderColor:Fe(m,w)(y)},"&:is(:focus, :hover)":{borderColor:Fe(o,s)(y)},"&:focus-within":{borderColor:Fe(h,w)(y)},"&[data-disabled]":{backgroundColor:Fe(r,c)(y),color:Fe(a,o)(y),cursor:"not-allowed"}},value:{backgroundColor:Fe(n,d)(y),color:Fe(p,t)(y),button:{color:Fe(p,t)(y)},"&:hover":{backgroundColor:Fe(r,c)(y),cursor:"pointer"}},dropdown:{backgroundColor:Fe(n,d)(y),borderColor:Fe(n,d)(y),boxShadow:S},item:{backgroundColor:Fe(n,d)(y),color:Fe(d,n)(y),padding:6,"&[data-hovered]":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)},"&[data-active]":{backgroundColor:Fe(r,c)(y),"&:hover":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)}},"&[data-selected]":{backgroundColor:Fe(v,w)(y),color:Fe(e,t)(y),fontWeight:600,"&:hover":{backgroundColor:Fe(b,b)(y),color:Fe("white",e)(y)}},"&[data-disabled]":{color:Fe(s,a)(y),cursor:"not-allowed"}},rightSection:{width:24,padding:20,button:{color:Fe(p,t)(y)}}}),[h,m,v,b,w,t,n,r,o,e,s,a,c,d,p,S,y])},Bee=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,label:o,disabled:s,...a}=e,c=te(),d=f.useCallback(m=>{m.shiftKey&&c(jo(!0))},[c]),p=f.useCallback(m=>{m.shiftKey||c(jo(!1))},[c]),h=zee();return i.jsx(vn,{label:n,placement:"top",hasArrow:!0,isOpen:!0,children:i.jsx(LI,{label:o?i.jsx(go,{isDisabled:s,children:i.jsx(Bo,{children:o})}):void 0,ref:r,disabled:s,onKeyDown:d,onKeyUp:p,searchable:t,maxDropdownHeight:300,styles:h,...a})})},Fee=f.memo(Bee),Hee=cs(ab,(e,t)=>({value:t,label:e})).sort((e,t)=>e.label.localeCompare(t.label));function Wee(){const e=te(),{t}=ye(),n=B(o=>o.ui.favoriteSchedulers),r=f.useCallback(o=>{e(S7(o))},[e]);return i.jsx(Fee,{label:t("settings.favoriteSchedulers"),value:n,data:Hee,onChange:r,clearable:!0,searchable:!0,maxSelectedValues:99,placeholder:t("settings.favoriteSchedulersPlaceholder")})}const Vee={ar:Bn.t("common.langArabic",{lng:"ar"}),nl:Bn.t("common.langDutch",{lng:"nl"}),en:Bn.t("common.langEnglish",{lng:"en"}),fr:Bn.t("common.langFrench",{lng:"fr"}),de:Bn.t("common.langGerman",{lng:"de"}),he:Bn.t("common.langHebrew",{lng:"he"}),it:Bn.t("common.langItalian",{lng:"it"}),ja:Bn.t("common.langJapanese",{lng:"ja"}),ko:Bn.t("common.langKorean",{lng:"ko"}),pl:Bn.t("common.langPolish",{lng:"pl"}),pt_BR:Bn.t("common.langBrPortuguese",{lng:"pt_BR"}),pt:Bn.t("common.langPortuguese",{lng:"pt"}),ru:Bn.t("common.langRussian",{lng:"ru"}),zh_CN:Bn.t("common.langSimplifiedChinese",{lng:"zh_CN"}),es:Bn.t("common.langSpanish",{lng:"es"}),uk:Bn.t("common.langUkranian",{lng:"ua"})},Uee=be([lt],({system:e,ui:t,generation:n})=>{const{shouldConfirmOnDelete:r,enableImageDebugging:o,consoleLogLevel:s,shouldLogToConsole:a,shouldAntialiasProgressImage:c,isNodesEnabled:d,shouldUseNSFWChecker:p,shouldUseWatermarker:h}=e,{shouldUseCanvasBetaLayout:m,shouldUseSliders:v,shouldShowProgressInViewer:b}=t,{shouldShowAdvancedOptions:w}=n;return{shouldConfirmOnDelete:r,enableImageDebugging:o,shouldUseCanvasBetaLayout:m,shouldUseSliders:v,shouldShowProgressInViewer:b,consoleLogLevel:s,shouldLogToConsole:a,shouldAntialiasProgressImage:c,shouldShowAdvancedOptions:w,isNodesEnabled:d,shouldUseNSFWChecker:p,shouldUseWatermarker:h}},{memoizeOptions:{resultEqualityCheck:Zt}}),Gee=({children:e,config:t})=>{const n=te(),{t:r}=ye(),o=(t==null?void 0:t.shouldShowBetaLayout)??!0,s=(t==null?void 0:t.shouldShowDeveloperSettings)??!0,a=(t==null?void 0:t.shouldShowResetWebUiText)??!0,c=(t==null?void 0:t.shouldShowAdvancedOptionsSettings)??!0,d=(t==null?void 0:t.shouldShowClearIntermediates)??!0,p=(t==null?void 0:t.shouldShowNodesToggle)??!0,h=(t==null?void 0:t.shouldShowLocalizationToggle)??!0;f.useEffect(()=>{s||n(rw(!1))},[s,n]);const{isNSFWCheckerAvailable:m,isWatermarkerAvailable:v}=Z_(void 0,{selectFromResult:({data:X})=>({isNSFWCheckerAvailable:(X==null?void 0:X.nsfw_methods.includes("nsfw_checker"))??!1,isWatermarkerAvailable:(X==null?void 0:X.watermarking_methods.includes("invisible_watermark"))??!1})}),{isOpen:b,onOpen:w,onClose:y}=ss(),{isOpen:S,onOpen:k,onClose:_}=ss(),{shouldConfirmOnDelete:P,enableImageDebugging:I,shouldUseCanvasBetaLayout:E,shouldUseSliders:O,shouldShowProgressInViewer:R,consoleLogLevel:M,shouldLogToConsole:D,shouldAntialiasProgressImage:A,shouldShowAdvancedOptions:L,isNodesEnabled:Q,shouldUseNSFWChecker:F,shouldUseWatermarker:V}=B(Uee),q=f.useCallback(()=>{Object.keys(window.localStorage).forEach(X=>{(C7.includes(X)||X.startsWith(k7))&&localStorage.removeItem(X)}),y(),k()},[y,k]),G=f.useCallback(X=>{n(_7(X))},[n]),T=f.useCallback(X=>{n(P7(X))},[n]),z=f.useCallback(X=>{n(rw(X.target.checked))},[n]),$=f.useCallback(X=>{n(j7(X.target.checked))},[n]),{colorMode:Y,toggleColorMode:ae}=Ds(),fe=ir("localization").isFeatureEnabled,ie=B(rP);return i.jsxs(i.Fragment,{children:[f.cloneElement(e,{onClick:w}),i.jsxs(id,{isOpen:b,onClose:y,size:"2xl",isCentered:!0,children:[i.jsx(Aa,{}),i.jsxs(ld,{children:[i.jsx(Da,{bg:"none",children:r("common.settingsLabel")}),i.jsx(qb,{}),i.jsx(Ta,{children:i.jsxs(W,{sx:{gap:4,flexDirection:"column"},children:[i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.general")}),i.jsx(Yo,{label:r("settings.confirmOnDelete"),isChecked:P,onChange:X=>n(z_(X.target.checked))}),c&&i.jsx(Yo,{label:r("settings.showAdvancedOptions"),isChecked:L,onChange:X=>n(I7(X.target.checked))})]}),i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.generation")}),i.jsx(Wee,{}),i.jsx(Yo,{label:"Enable NSFW Checker",isDisabled:!m,isChecked:F,onChange:X=>n(E7(X.target.checked))}),i.jsx(Yo,{label:"Enable Invisible Watermark",isDisabled:!v,isChecked:V,onChange:X=>n(O7(X.target.checked))})]}),i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.ui")}),i.jsx(Yo,{label:r("common.darkMode"),isChecked:Y==="dark",onChange:ae}),i.jsx(Yo,{label:r("settings.useSlidersForAll"),isChecked:O,onChange:X=>n(R7(X.target.checked))}),i.jsx(Yo,{label:r("settings.showProgressInViewer"),isChecked:R,onChange:X=>n(e5(X.target.checked))}),i.jsx(Yo,{label:r("settings.antialiasProgressImages"),isChecked:A,onChange:X=>n(M7(X.target.checked))}),o&&i.jsx(Yo,{label:r("settings.alternateCanvasLayout"),useBadge:!0,badgeLabel:r("settings.beta"),isChecked:E,onChange:X=>n(D7(X.target.checked))}),p&&i.jsx(Yo,{label:r("settings.enableNodesEditor"),useBadge:!0,isChecked:Q,onChange:$}),h&&i.jsx(Xr,{disabled:!fe,label:r("common.languagePickerLabel"),value:ie,data:Object.entries(Vee).map(([X,K])=>({value:X,label:K})),onChange:T})]}),s&&i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.developer")}),i.jsx(Yo,{label:r("settings.shouldLogToConsole"),isChecked:D,onChange:z}),i.jsx(Xr,{disabled:!D,label:r("settings.consoleLogLevel"),onChange:G,value:M,data:A7.concat()}),i.jsx(Yo,{label:r("settings.enableImageDebugging"),isChecked:I,onChange:X=>n(T7(X.target.checked))})]}),d&&i.jsx(Lee,{}),i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.resetWebUI")}),i.jsx(Yt,{colorScheme:"error",onClick:q,children:r("settings.resetWebUI")}),a&&i.jsxs(i.Fragment,{children:[i.jsx(Qe,{variant:"subtext",children:r("settings.resetWebUIDesc1")}),i.jsx(Qe,{variant:"subtext",children:r("settings.resetWebUIDesc2")})]})]})]})}),i.jsx(Ma,{children:i.jsx(Yt,{onClick:y,children:r("common.close")})})]})]}),i.jsxs(id,{closeOnOverlayClick:!1,isOpen:S,onClose:_,isCentered:!0,children:[i.jsx(Aa,{backdropFilter:"blur(40px)"}),i.jsxs(ld,{children:[i.jsx(Da,{}),i.jsx(Ta,{children:i.jsx(W,{justifyContent:"center",children:i.jsx(Qe,{fontSize:"lg",children:i.jsx(Qe,{children:r("settings.resetComplete")})})})}),i.jsx(Ma,{})]})]})]})},qee=be(vo,e=>{const{isConnected:t,isProcessing:n,statusTranslationKey:r,currentIteration:o,totalIterations:s,currentStatusHasSteps:a}=e;return{isConnected:t,isProcessing:n,currentIteration:o,totalIterations:s,statusTranslationKey:r,currentStatusHasSteps:a}},Je),jk={ok:"green.400",working:"yellow.400",error:"red.400"},Ik={ok:"green.600",working:"yellow.500",error:"red.500"},Kee=()=>{const{isConnected:e,isProcessing:t,currentIteration:n,totalIterations:r,statusTranslationKey:o}=B(qee),{t:s}=ye(),a=f.useRef(null),c=f.useMemo(()=>t?"working":e?"ok":"error",[t,e]),d=f.useMemo(()=>{if(n&&r)return` (${n}/${r})`},[n,r]),p=mO(a);return i.jsxs(W,{ref:a,h:"full",px:2,alignItems:"center",gap:5,children:[i.jsx(mo,{children:p&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:i.jsxs(Qe,{sx:{fontSize:"sm",fontWeight:"600",pb:"1px",userSelect:"none",color:Ik[c],_dark:{color:jk[c]}},children:[s(o),d]})},"statusText")}),i.jsx(fo,{as:TY,sx:{boxSize:"0.5rem",color:Ik[c],_dark:{color:jk[c]}}})]})},Xee=()=>{const{t:e}=ye(),t=ir("bugLink").isFeatureEnabled,n=ir("discordLink").isFeatureEnabled,r=ir("githubLink").isFeatureEnabled,o="http://github.com/invoke-ai/InvokeAI",s="https://discord.gg/ZmtBAhwWhy";return i.jsxs(W,{sx:{gap:2,alignItems:"center"},children:[i.jsx(gO,{}),i.jsx(ml,{}),i.jsx(Kee,{}),i.jsxs(Dd,{children:[i.jsx(Ad,{as:ze,variant:"link","aria-label":e("accessibility.menu"),icon:i.jsx(MY,{}),sx:{boxSize:8}}),i.jsxs(il,{motionProps:ed,children:[i.jsxs(ad,{title:e("common.communityLabel"),children:[r&&i.jsx(jr,{as:"a",href:o,target:"_blank",icon:i.jsx(_Y,{}),children:e("common.githubLabel")}),t&&i.jsx(jr,{as:"a",href:`${o}/issues`,target:"_blank",icon:i.jsx(DY,{}),children:e("common.reportBugLabel")}),n&&i.jsx(jr,{as:"a",href:s,target:"_blank",icon:i.jsx(kY,{}),children:e("common.discordLabel")})]}),i.jsxs(ad,{title:e("common.settingsLabel"),children:[i.jsx(Oee,{children:i.jsx(jr,{as:"button",icon:i.jsx(KY,{}),children:e("common.hotkeysLabel")})}),i.jsx(Gee,{children:i.jsx(jr,{as:"button",icon:i.jsx(NY,{}),children:e("common.settingsLabel")})})]})]})]})]})},Yee=f.memo(Xee);function Qee(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M16.5 9c-.42 0-.83.04-1.24.11L1.01 3 1 10l9 2-9 2 .01 7 8.07-3.46C9.59 21.19 12.71 24 16.5 24c4.14 0 7.5-3.36 7.5-7.5S20.64 9 16.5 9zm0 13c-3.03 0-5.5-2.47-5.5-5.5s2.47-5.5 5.5-5.5 5.5 2.47 5.5 5.5-2.47 5.5-5.5 5.5z"}},{tag:"path",attr:{d:"M18.27 14.03l-1.77 1.76-1.77-1.76-.7.7 1.76 1.77-1.76 1.77.7.7 1.77-1.76 1.77 1.76.7-.7-1.76-1.77 1.76-1.77z"}}]})(e)}function Jee(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M17 16l-4-4V8.82C14.16 8.4 15 7.3 15 6c0-1.66-1.34-3-3-3S9 4.34 9 6c0 1.3.84 2.4 2 2.82V12l-4 4H3v5h5v-3.05l4-4.2 4 4.2V21h5v-5h-4z"}}]})(e)}function Zee(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 20H4v-4h4v4zm0-6H4v-4h4v4zm0-6H4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4z"}}]})(e)}function ete(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-11-4l2.03 2.71L16 11l4 5H8l3-4zM2 6v14c0 1.1.9 2 2 2h14v-2H4V6H2z"}}]})(e)}function tte(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}}]})(e)}function vO(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3z"}}]})(e)}const nte=be(vo,e=>{const{isUploading:t}=e;let n="";return t&&(n="Uploading..."),{tooltip:n,shouldShow:t}}),rte=()=>{const{shouldShow:e,tooltip:t}=B(nte);return e?i.jsx(W,{sx:{alignItems:"center",justifyContent:"center",color:"base.600"},children:i.jsx(vn,{label:t,placement:"right",hasArrow:!0,children:i.jsx(hl,{})})}):null},ote=f.memo(rte),bO=e=>e.config,{createElement:Rc,createContext:ste,forwardRef:yO,useCallback:si,useContext:xO,useEffect:Ea,useImperativeHandle:wO,useLayoutEffect:ate,useMemo:ite,useRef:es,useState:Xu}=Q1,Ek=Q1["useId".toString()],lte=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",sm=lte?ate:()=>{},cte=typeof Ek=="function"?Ek:()=>null;let ute=0;function Xy(e=null){const t=cte(),n=es(e||t||null);return n.current===null&&(n.current=""+ute++),n.current}const og=ste(null);og.displayName="PanelGroupContext";function SO({children:e=null,className:t="",collapsedSize:n=0,collapsible:r=!1,defaultSize:o=null,forwardedRef:s,id:a=null,maxSize:c=100,minSize:d=10,onCollapse:p=null,onResize:h=null,order:m=null,style:v={},tagName:b="div"}){const w=xO(og);if(w===null)throw Error("Panel components must be rendered within a PanelGroup container");const y=Xy(a),{collapsePanel:S,expandPanel:k,getPanelStyle:_,registerPanel:P,resizePanel:I,unregisterPanel:E}=w,O=es({onCollapse:p,onResize:h});if(Ea(()=>{O.current.onCollapse=p,O.current.onResize=h}),d<0||d>100)throw Error(`Panel minSize must be between 0 and 100, but was ${d}`);if(c<0||c>100)throw Error(`Panel maxSize must be between 0 and 100, but was ${c}`);if(o!==null){if(o<0||o>100)throw Error(`Panel defaultSize must be between 0 and 100, but was ${o}`);d>o&&!r&&(console.error(`Panel minSize ${d} cannot be greater than defaultSize ${o}`),o=d)}const R=_(y,o),M=es({size:Ok(R)}),D=es({callbacksRef:O,collapsedSize:n,collapsible:r,defaultSize:o,id:y,maxSize:c,minSize:d,order:m});return sm(()=>{M.current.size=Ok(R),D.current.callbacksRef=O,D.current.collapsedSize=n,D.current.collapsible=r,D.current.defaultSize=o,D.current.id=y,D.current.maxSize=c,D.current.minSize=d,D.current.order=m}),sm(()=>(P(y,D),()=>{E(y)}),[m,y,P,E]),wO(s,()=>({collapse:()=>S(y),expand:()=>k(y),getCollapsed(){return M.current.size===0},getSize(){return M.current.size},resize:A=>I(y,A)}),[S,k,y,I]),Rc(b,{children:e,className:t,"data-panel":"","data-panel-collapsible":r||void 0,"data-panel-id":y,"data-panel-size":parseFloat(""+R.flexGrow).toFixed(1),id:`data-panel-id-${y}`,style:{...R,...v}})}const md=yO((e,t)=>Rc(SO,{...e,forwardedRef:t}));SO.displayName="Panel";md.displayName="forwardRef(Panel)";function Ok(e){const{flexGrow:t}=e;return typeof t=="string"?parseFloat(t):t}const pl=10;function Tu(e,t,n,r,o,s,a,c){const{sizes:d}=c||{},p=d||s;if(o===0)return p;const h=Jo(t),m=p.concat();let v=0;{const y=o<0?r:n,S=h.findIndex(I=>I.current.id===y),k=h[S],_=p[S],P=Rk(k,Math.abs(o),_,e);if(_===P)return p;P===0&&_>0&&a.set(y,_),o=o<0?_-P:P-_}let b=o<0?n:r,w=h.findIndex(y=>y.current.id===b);for(;;){const y=h[w],S=p[w],k=Math.abs(o)-Math.abs(v),_=Rk(y,0-k,S,e);if(S!==_&&(_===0&&S>0&&a.set(y.current.id,S),v+=S-_,m[w]=_,v.toPrecision(pl).localeCompare(Math.abs(o).toPrecision(pl),void 0,{numeric:!0})>=0))break;if(o<0){if(--w<0)break}else if(++w>=h.length)break}return v===0?p:(b=o<0?r:n,w=h.findIndex(y=>y.current.id===b),m[w]=p[w]+v,m)}function Gl(e,t,n){t.forEach((r,o)=>{const{callbacksRef:s,collapsedSize:a,collapsible:c,id:d}=e[o].current,p=n[d];if(p!==r){n[d]=r;const{onCollapse:h,onResize:m}=s.current;m&&m(r,p),c&&h&&((p==null||p===a)&&r!==a?h(!1):p!==a&&r===a&&h(!0))}})}function pv(e,t){if(t.length<2)return[null,null];const n=t.findIndex(a=>a.current.id===e);if(n<0)return[null,null];const r=n===t.length-1,o=r?t[n-1].current.id:e,s=r?e:t[n+1].current.id;return[o,s]}function CO(e,t,n){if(e.size===1)return"100";const o=Jo(e).findIndex(a=>a.current.id===t),s=n[o];return s==null?"0":s.toPrecision(pl)}function dte(e){const t=document.querySelector(`[data-panel-id="${e}"]`);return t||null}function Yy(e){const t=document.querySelector(`[data-panel-group-id="${e}"]`);return t||null}function sg(e){const t=document.querySelector(`[data-panel-resize-handle-id="${e}"]`);return t||null}function fte(e){return kO().findIndex(r=>r.getAttribute("data-panel-resize-handle-id")===e)??null}function kO(){return Array.from(document.querySelectorAll("[data-panel-resize-handle-id]"))}function _O(e){return Array.from(document.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`))}function Qy(e,t,n){var d,p,h,m;const r=sg(t),o=_O(e),s=r?o.indexOf(r):-1,a=((p=(d=n[s])==null?void 0:d.current)==null?void 0:p.id)??null,c=((m=(h=n[s+1])==null?void 0:h.current)==null?void 0:m.id)??null;return[a,c]}function Jo(e){return Array.from(e.values()).sort((t,n)=>{const r=t.current.order,o=n.current.order;return r==null&&o==null?0:r==null?-1:o==null?1:r-o})}function Rk(e,t,n,r){var h;const o=n+t,{collapsedSize:s,collapsible:a,maxSize:c,minSize:d}=e.current;if(a){if(n>s){if(o<=d/2+s)return s}else if(!((h=r==null?void 0:r.type)==null?void 0:h.startsWith("key"))&&o{const{direction:a,panels:c}=e.current,d=Yy(t),{height:p,width:h}=d.getBoundingClientRect(),v=_O(t).map(b=>{const w=b.getAttribute("data-panel-resize-handle-id"),y=Jo(c),[S,k]=Qy(t,w,y);if(S==null||k==null)return()=>{};let _=0,P=100,I=0,E=0;y.forEach(L=>{L.current.id===S?(P=L.current.maxSize,_=L.current.minSize):(I+=L.current.minSize,E+=L.current.maxSize)});const O=Math.min(P,100-I),R=Math.max(_,(y.length-1)*100-E),M=CO(c,S,o);b.setAttribute("aria-valuemax",""+Math.round(O)),b.setAttribute("aria-valuemin",""+Math.round(R)),b.setAttribute("aria-valuenow",""+Math.round(parseInt(M)));const D=L=>{if(!L.defaultPrevented)switch(L.key){case"Enter":{L.preventDefault();const Q=y.findIndex(F=>F.current.id===S);if(Q>=0){const F=y[Q],V=o[Q];if(V!=null){let q=0;V.toPrecision(pl)<=F.current.minSize.toPrecision(pl)?q=a==="horizontal"?h:p:q=-(a==="horizontal"?h:p);const G=Tu(L,c,S,k,q,o,s.current,null);o!==G&&r(G)}}break}}};b.addEventListener("keydown",D);const A=dte(S);return A!=null&&b.setAttribute("aria-controls",A.id),()=>{b.removeAttribute("aria-valuemax"),b.removeAttribute("aria-valuemin"),b.removeAttribute("aria-valuenow"),b.removeEventListener("keydown",D),A!=null&&b.removeAttribute("aria-controls")}});return()=>{v.forEach(b=>b())}},[e,t,n,s,r,o])}function hte({disabled:e,handleId:t,resizeHandler:n}){Ea(()=>{if(e||n==null)return;const r=sg(t);if(r==null)return;const o=s=>{if(!s.defaultPrevented)switch(s.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{s.preventDefault(),n(s);break}case"F6":{s.preventDefault();const a=kO(),c=fte(t);PO(c!==null);const d=s.shiftKey?c>0?c-1:a.length-1:c+1{r.removeEventListener("keydown",o)}},[e,t,n])}function mte(e,t){if(e.length!==t.length)return!1;for(let n=0;nR.current.id===I),O=r[E];if(O.current.collapsible){const R=h[E];(R===0||R.toPrecision(pl)===O.current.minSize.toPrecision(pl))&&(k=k<0?-O.current.minSize*w:O.current.minSize*w)}return k}else return jO(e,n,o,c,d)}function vte(e){return e.type==="keydown"}function T1(e){return e.type.startsWith("mouse")}function N1(e){return e.type.startsWith("touch")}let $1=null,Ki=null;function IO(e){switch(e){case"horizontal":return"ew-resize";case"horizontal-max":return"w-resize";case"horizontal-min":return"e-resize";case"vertical":return"ns-resize";case"vertical-max":return"n-resize";case"vertical-min":return"s-resize"}}function bte(){Ki!==null&&(document.head.removeChild(Ki),$1=null,Ki=null)}function hv(e){if($1===e)return;$1=e;const t=IO(e);Ki===null&&(Ki=document.createElement("style"),document.head.appendChild(Ki)),Ki.innerHTML=`*{cursor: ${t}!important;}`}function yte(e,t=10){let n=null;return(...o)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...o)},t)}}function EO(e){return e.map(t=>{const{minSize:n,order:r}=t.current;return r?`${r}:${n}`:`${n}`}).sort((t,n)=>t.localeCompare(n)).join(",")}function OO(e,t){try{const n=t.getItem(`PanelGroup:sizes:${e}`);if(n){const r=JSON.parse(n);if(typeof r=="object"&&r!=null)return r}}catch{}return null}function xte(e,t,n){const r=OO(e,n);if(r){const o=EO(t);return r[o]??null}return null}function wte(e,t,n,r){const o=EO(t),s=OO(e,r)||{};s[o]=n;try{r.setItem(`PanelGroup:sizes:${e}`,JSON.stringify(s))}catch(a){console.error(a)}}const mv={};function Mk(e){try{if(typeof localStorage<"u")e.getItem=t=>localStorage.getItem(t),e.setItem=(t,n)=>{localStorage.setItem(t,n)};else throw new Error("localStorage not supported in this environment")}catch(t){console.error(t),e.getItem=()=>null,e.setItem=()=>{}}}const Nu={getItem:e=>(Mk(Nu),Nu.getItem(e)),setItem:(e,t)=>{Mk(Nu),Nu.setItem(e,t)}};function RO({autoSaveId:e,children:t=null,className:n="",direction:r,disablePointerEventsDuringResize:o=!1,forwardedRef:s,id:a=null,onLayout:c,storage:d=Nu,style:p={},tagName:h="div"}){const m=Xy(a),[v,b]=Xu(null),[w,y]=Xu(new Map),S=es(null),k=es({onLayout:c});Ea(()=>{k.current.onLayout=c});const _=es({}),[P,I]=Xu([]),E=es(new Map),O=es(0),R=es({direction:r,panels:w,sizes:P});wO(s,()=>({getLayout:()=>{const{sizes:T}=R.current;return T},setLayout:T=>{const z=T.reduce((fe,ie)=>fe+ie,0);PO(z===100,"Panel sizes must add up to 100%");const{panels:$}=R.current,Y=_.current,ae=Jo($);I(T),Gl(ae,T,Y)}}),[]),sm(()=>{R.current.direction=r,R.current.panels=w,R.current.sizes=P}),pte({committedValuesRef:R,groupId:m,panels:w,setSizes:I,sizes:P,panelSizeBeforeCollapse:E}),Ea(()=>{const{onLayout:T}=k.current,{panels:z,sizes:$}=R.current;if($.length>0){T&&T($);const Y=_.current,ae=Jo(z);Gl(ae,$,Y)}},[P]),sm(()=>{if(R.current.sizes.length===w.size)return;let z=null;if(e){const $=Jo(w);z=xte(e,$,d)}if(z!=null)I(z);else{const $=Jo(w);let Y=0,ae=0,fe=0;if($.forEach(ie=>{fe+=ie.current.minSize,ie.current.defaultSize===null?Y++:ae+=ie.current.defaultSize}),ae>100)throw new Error("Default panel sizes cannot exceed 100%");if($.length>1&&Y===0&&ae!==100)throw new Error("Invalid default sizes specified for panels");if(fe>100)throw new Error("Minimum panel sizes cannot exceed 100%");I($.map(ie=>ie.current.defaultSize===null?(100-ae)/Y:ie.current.defaultSize))}},[e,w,d]),Ea(()=>{if(e){if(P.length===0||P.length!==w.size)return;const T=Jo(w);mv[e]||(mv[e]=yte(wte,100)),mv[e](e,T,P,d)}},[e,w,P,d]);const M=si((T,z)=>{const{panels:$}=R.current;return $.size===0?{flexBasis:0,flexGrow:z??void 0,flexShrink:1,overflow:"hidden"}:{flexBasis:0,flexGrow:CO($,T,P),flexShrink:1,overflow:"hidden",pointerEvents:o&&v!==null?"none":void 0}},[v,o,P]),D=si((T,z)=>{y($=>{if($.has(T))return $;const Y=new Map($);return Y.set(T,z),Y})},[]),A=si(T=>$=>{$.preventDefault();const{direction:Y,panels:ae,sizes:fe}=R.current,ie=Jo(ae),[X,K]=Qy(m,T,ie);if(X==null||K==null)return;let U=gte($,m,T,ie,Y,fe,S.current);if(U===0)return;const re=Yy(m).getBoundingClientRect(),oe=Y==="horizontal";document.dir==="rtl"&&oe&&(U=-U);const pe=oe?re.width:re.height,le=U/pe*100,ge=Tu($,ae,X,K,le,fe,E.current,S.current),ke=!mte(fe,ge);if((T1($)||N1($))&&O.current!=le&&hv(ke?oe?"horizontal":"vertical":oe?U<0?"horizontal-min":"horizontal-max":U<0?"vertical-min":"vertical-max"),ke){const xe=_.current;I(ge),Gl(ie,ge,xe)}O.current=le},[m]),L=si(T=>{y(z=>{if(!z.has(T))return z;const $=new Map(z);return $.delete(T),$})},[]),Q=si(T=>{const{panels:z,sizes:$}=R.current,Y=z.get(T);if(Y==null)return;const{collapsedSize:ae,collapsible:fe}=Y.current;if(!fe)return;const ie=Jo(z),X=ie.indexOf(Y);if(X<0)return;const K=$[X];if(K===ae)return;E.current.set(T,K);const[U,se]=pv(T,ie);if(U==null||se==null)return;const oe=X===ie.length-1?K:ae-K,pe=Tu(null,z,U,se,oe,$,E.current,null);if($!==pe){const le=_.current;I(pe),Gl(ie,pe,le)}},[]),F=si(T=>{const{panels:z,sizes:$}=R.current,Y=z.get(T);if(Y==null)return;const{collapsedSize:ae,minSize:fe}=Y.current,ie=E.current.get(T)||fe;if(!ie)return;const X=Jo(z),K=X.indexOf(Y);if(K<0||$[K]!==ae)return;const[se,re]=pv(T,X);if(se==null||re==null)return;const pe=K===X.length-1?ae-ie:ie,le=Tu(null,z,se,re,pe,$,E.current,null);if($!==le){const ge=_.current;I(le),Gl(X,le,ge)}},[]),V=si((T,z)=>{const{panels:$,sizes:Y}=R.current,ae=$.get(T);if(ae==null)return;const{collapsedSize:fe,collapsible:ie,maxSize:X,minSize:K}=ae.current,U=Jo($),se=U.indexOf(ae);if(se<0)return;const re=Y[se];if(re===z)return;ie&&z===fe||(z=Math.min(X,Math.max(K,z)));const[oe,pe]=pv(T,U);if(oe==null||pe==null)return;const ge=se===U.length-1?re-z:z-re,ke=Tu(null,$,oe,pe,ge,Y,E.current,null);if(Y!==ke){const xe=_.current;I(ke),Gl(U,ke,xe)}},[]),q=ite(()=>({activeHandleId:v,collapsePanel:Q,direction:r,expandPanel:F,getPanelStyle:M,groupId:m,registerPanel:D,registerResizeHandle:A,resizePanel:V,startDragging:(T,z)=>{if(b(T),T1(z)||N1(z)){const $=sg(T);S.current={dragHandleRect:$.getBoundingClientRect(),dragOffset:jO(z,T,r),sizes:R.current.sizes}}},stopDragging:()=>{bte(),b(null),S.current=null},unregisterPanel:L}),[v,Q,r,F,M,m,D,A,V,L]),G={display:"flex",flexDirection:r==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return Rc(og.Provider,{children:Rc(h,{children:t,className:n,"data-panel-group":"","data-panel-group-direction":r,"data-panel-group-id":m,style:{...G,...p}}),value:q})}const Jy=yO((e,t)=>Rc(RO,{...e,forwardedRef:t}));RO.displayName="PanelGroup";Jy.displayName="forwardRef(PanelGroup)";function L1({children:e=null,className:t="",disabled:n=!1,id:r=null,onDragging:o,style:s={},tagName:a="div"}){const c=es(null),d=es({onDragging:o});Ea(()=>{d.current.onDragging=o});const p=xO(og);if(p===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{activeHandleId:h,direction:m,groupId:v,registerResizeHandle:b,startDragging:w,stopDragging:y}=p,S=Xy(r),k=h===S,[_,P]=Xu(!1),[I,E]=Xu(null),O=si(()=>{c.current.blur(),y();const{onDragging:D}=d.current;D&&D(!1)},[y]);Ea(()=>{if(n)E(null);else{const M=b(S);E(()=>M)}},[n,S,b]),Ea(()=>{if(n||I==null||!k)return;const M=Q=>{I(Q)},D=Q=>{I(Q)},L=c.current.ownerDocument;return L.body.addEventListener("contextmenu",O),L.body.addEventListener("mousemove",M),L.body.addEventListener("touchmove",M),L.body.addEventListener("mouseleave",D),window.addEventListener("mouseup",O),window.addEventListener("touchend",O),()=>{L.body.removeEventListener("contextmenu",O),L.body.removeEventListener("mousemove",M),L.body.removeEventListener("touchmove",M),L.body.removeEventListener("mouseleave",D),window.removeEventListener("mouseup",O),window.removeEventListener("touchend",O)}},[m,n,k,I,O]),hte({disabled:n,handleId:S,resizeHandler:I});const R={cursor:IO(m),touchAction:"none",userSelect:"none"};return Rc(a,{children:e,className:t,"data-resize-handle-active":k?"pointer":_?"keyboard":void 0,"data-panel-group-direction":m,"data-panel-group-id":v,"data-panel-resize-handle-enabled":!n,"data-panel-resize-handle-id":S,onBlur:()=>P(!1),onFocus:()=>P(!0),onMouseDown:M=>{w(S,M.nativeEvent);const{onDragging:D}=d.current;D&&D(!0)},onMouseUp:O,onTouchCancel:O,onTouchEnd:O,onTouchStart:M=>{w(S,M.nativeEvent);const{onDragging:D}=d.current;D&&D(!0)},ref:c,role:"separator",style:{...R,...s},tabIndex:0})}L1.displayName="PanelResizeHandle";const Ste=(e,t,n,r="horizontal")=>{const o=f.useRef(null),[s,a]=f.useState(t),c=f.useCallback(()=>{var p,h;const d=(p=o.current)==null?void 0:p.getSize();d!==void 0&&d{const d=document.querySelector(`[data-panel-group-id="${n}"]`),p=document.querySelectorAll("[data-panel-resize-handle-id]");if(!d)return;const h=new ResizeObserver(()=>{let m=r==="horizontal"?d.getBoundingClientRect().width:d.getBoundingClientRect().height;p.forEach(v=>{m-=r==="horizontal"?v.getBoundingClientRect().width:v.getBoundingClientRect().height}),a(e/m*100)});return h.observe(d),p.forEach(m=>{h.observe(m)}),window.addEventListener("resize",c),()=>{h.disconnect(),window.removeEventListener("resize",c)}},[n,c,s,e,r]),{ref:o,minSizePct:s}},Cte=be([lt],e=>{const{initialImage:t}=e.generation;return{initialImage:t,isResetButtonDisabled:!t}},Je),kte=()=>{const{initialImage:e}=B(Cte),{currentData:t}=Is((e==null?void 0:e.imageName)??ro.skipToken),n=f.useMemo(()=>{if(t)return{id:"initial-image",payloadType:"IMAGE_DTO",payload:{imageDTO:t}}},[t]),r=f.useMemo(()=>({id:"initial-image",actionType:"SET_INITIAL_IMAGE"}),[]);return i.jsx(fl,{imageDTO:t,droppableData:r,draggableData:n,isUploadDisabled:!0,fitContainer:!0,dropLabel:"Set as Initial Image",noContentFallback:i.jsx(tl,{label:"No initial image selected"})})},_te=be([lt],e=>{const{initialImage:t}=e.generation;return{isResetButtonDisabled:!t}},Je),Pte={type:"SET_INITIAL_IMAGE"},jte=()=>{const{isResetButtonDisabled:e}=B(_te),t=te(),{getUploadButtonProps:n,getUploadInputProps:r}=rg({postUploadAction:Pte}),o=f.useCallback(()=>{t(N7())},[t]);return i.jsxs(W,{layerStyle:"first",sx:{position:"relative",flexDirection:"column",height:"full",width:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",p:4,gap:4},children:[i.jsxs(W,{sx:{w:"full",flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},children:[i.jsx(Qe,{sx:{fontWeight:600,userSelect:"none",color:"base.700",_dark:{color:"base.200"}},children:"Initial Image"}),i.jsx(ml,{}),i.jsx(ze,{tooltip:"Upload Initial Image","aria-label":"Upload Initial Image",icon:i.jsx(Vd,{}),...n()}),i.jsx(ze,{tooltip:"Reset Initial Image","aria-label":"Reset Initial Image",icon:i.jsx(Sy,{}),onClick:o,isDisabled:e})]}),i.jsx(kte,{}),i.jsx("input",{...r()})]})},Ite=e=>{const{label:t,activeLabel:n,children:r,defaultIsOpen:o=!1}=e,{isOpen:s,onToggle:a}=ss({defaultIsOpen:o}),{colorMode:c}=Ds();return i.jsxs(Re,{children:[i.jsxs(W,{onClick:a,sx:{alignItems:"center",p:2,px:4,gap:2,borderTopRadius:"base",borderBottomRadius:s?0:"base",bg:s?Fe("base.200","base.750")(c):Fe("base.150","base.800")(c),color:Fe("base.900","base.100")(c),_hover:{bg:s?Fe("base.250","base.700")(c):Fe("base.200","base.750")(c)},fontSize:"sm",fontWeight:600,cursor:"pointer",transitionProperty:"common",transitionDuration:"normal",userSelect:"none"},children:[t,i.jsx(mo,{children:n&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsx(Qe,{sx:{color:"accent.500",_dark:{color:"accent.300"}},children:n})},"statusText")}),i.jsx(ml,{}),i.jsx(zy,{sx:{w:"1rem",h:"1rem",transform:s?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]}),i.jsx(bm,{in:s,animateOpacity:!0,style:{overflow:"unset"},children:i.jsx(Re,{sx:{p:4,borderBottomRadius:"base",bg:"base.100",_dark:{bg:"base.800"}},children:r})})]})},Mo=f.memo(Ite),Ete=be(lt,e=>{const{combinatorial:t,isEnabled:n}=e.dynamicPrompts;return{combinatorial:t,isDisabled:!n}},Je),Ote=()=>{const{combinatorial:e,isDisabled:t}=B(Ete),n=te(),r=f.useCallback(()=>{n($7())},[n]);return i.jsx(yr,{isDisabled:t,label:"Combinatorial Generation",isChecked:e,onChange:r})},Rte=be(lt,e=>{const{isEnabled:t}=e.dynamicPrompts;return{isEnabled:t}},Je),Mte=()=>{const e=te(),{isEnabled:t}=B(Rte),n=f.useCallback(()=>{e(L7())},[e]);return i.jsx(yr,{label:"Enable Dynamic Prompts",isChecked:t,onChange:n})},Dte=be(lt,e=>{const{maxPrompts:t,combinatorial:n,isEnabled:r}=e.dynamicPrompts,{min:o,sliderMax:s,inputMax:a}=e.config.sd.dynamicPrompts.maxPrompts;return{maxPrompts:t,min:o,sliderMax:s,inputMax:a,isDisabled:!r||!n}},Je),Ate=()=>{const{maxPrompts:e,min:t,sliderMax:n,inputMax:r,isDisabled:o}=B(Dte),s=te(),a=f.useCallback(d=>{s(z7(d))},[s]),c=f.useCallback(()=>{s(B7())},[s]);return i.jsx(_t,{label:"Max Prompts",isDisabled:o,min:t,max:n,value:e,onChange:a,sliderNumberInputProps:{max:r},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:c})},Tte=be(lt,e=>{const{isEnabled:t}=e.dynamicPrompts;return{activeLabel:t?"Enabled":void 0}},Je),Kd=()=>{const{activeLabel:e}=B(Tte);return ir("dynamicPrompting").isFeatureEnabled?i.jsx(Mo,{label:"Dynamic Prompts",activeLabel:e,children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(Mte,{}),i.jsx(Ote,{}),i.jsx(Ate,{})]})}):null},Nte=be(lt,e=>{const{shouldUseNoiseSettings:t,shouldUseCpuNoise:n}=e.generation;return{isDisabled:!t,shouldUseCpuNoise:n}},Je),$te=()=>{const e=te(),{isDisabled:t,shouldUseCpuNoise:n}=B(Nte),r=o=>e(F7(o.target.checked));return i.jsx(yr,{isDisabled:t,label:"Use CPU Noise",isChecked:n,onChange:r})},Lte=be(lt,e=>{const{shouldUseNoiseSettings:t,threshold:n}=e.generation;return{isDisabled:!t,threshold:n}},Je);function zte(){const e=te(),{threshold:t,isDisabled:n}=B(Lte),{t:r}=ye();return i.jsx(_t,{isDisabled:n,label:r("parameters.noiseThreshold"),min:0,max:20,step:.1,onChange:o=>e(ow(o)),handleReset:()=>e(ow(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const Bte=()=>{const e=te(),t=B(r=>r.generation.shouldUseNoiseSettings),n=r=>e(H7(r.target.checked));return i.jsx(yr,{label:"Enable Noise Settings",isChecked:t,onChange:n})},Fte=be(lt,e=>{const{shouldUseNoiseSettings:t,perlin:n}=e.generation;return{isDisabled:!t,perlin:n}},Je);function Hte(){const e=te(),{perlin:t,isDisabled:n}=B(Fte),{t:r}=ye();return i.jsx(_t,{isDisabled:n,label:r("parameters.perlinNoise"),min:0,max:1,step:.05,onChange:o=>e(sw(o)),handleReset:()=>e(sw(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const Wte=be(lt,e=>{const{shouldUseNoiseSettings:t}=e.generation;return{activeLabel:t?"Enabled":void 0}},Je),Vte=()=>{const{t:e}=ye(),t=ir("noise").isFeatureEnabled,n=ir("perlinNoise").isFeatureEnabled,r=ir("noiseThreshold").isFeatureEnabled,{activeLabel:o}=B(Wte);return t?i.jsx(Mo,{label:e("parameters.noiseSettings"),activeLabel:o,children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(Bte,{}),i.jsx($te,{}),n&&i.jsx(Hte,{}),r&&i.jsx(zte,{})]})}):null},ag=f.memo(Vte),Ute=be(vo,e=>({isProcessing:e.isProcessing,isConnected:e.isConnected,isCancelable:e.isCancelable,currentIteration:e.currentIteration,totalIterations:e.totalIterations,sessionId:e.sessionId,cancelType:e.cancelType,isCancelScheduled:e.isCancelScheduled}),{memoizeOptions:{resultEqualityCheck:Zt}}),Gte=e=>{const t=te(),{btnGroupWidth:n="auto",...r}=e,{isProcessing:o,isConnected:s,isCancelable:a,cancelType:c,isCancelScheduled:d,sessionId:p}=B(Ute),h=f.useCallback(()=>{if(p){if(c==="scheduled"){t(W7());return}t(V7({session_id:p}))}},[t,p,c]),{t:m}=ye(),v=f.useCallback(y=>{const S=Array.isArray(y)?y[0]:y;t(U7(S))},[t]);tt("shift+x",()=>{(s||o)&&a&&h()},[s,o,a]);const b=f.useMemo(()=>m(d?"parameters.cancel.isScheduled":c==="immediate"?"parameters.cancel.immediate":"parameters.cancel.schedule"),[m,c,d]),w=f.useMemo(()=>d?i.jsx(Yp,{}):c==="immediate"?i.jsx(tte,{}):i.jsx(Qee,{}),[c,d]);return i.jsxs(rr,{isAttached:!0,width:n,children:[i.jsx(ze,{icon:w,tooltip:b,"aria-label":b,isDisabled:!s||!o||!a,onClick:h,colorScheme:"error",id:"cancel-button",...r}),i.jsxs(Dd,{closeOnSelect:!1,children:[i.jsx(Ad,{as:ze,tooltip:m("parameters.cancel.setType"),"aria-label":m("parameters.cancel.setType"),icon:i.jsx(AJ,{w:"1em",h:"1em"}),paddingX:0,paddingY:0,colorScheme:"error",minWidth:5,...r}),i.jsx(il,{minWidth:"240px",children:i.jsxs(S6,{value:c,title:"Cancel Type",type:"radio",onChange:v,children:[i.jsx(rh,{value:"immediate",children:m("parameters.cancel.immediate")}),i.jsx(rh,{value:"scheduled",children:m("parameters.cancel.schedule")})]})})]})]})},ig=f.memo(Gte),qte=be([lt,Kn],(e,t)=>{const{generation:n,system:r}=e,{initialImage:o}=n,{isProcessing:s,isConnected:a}=r;let c=!0;const d=[];t==="img2img"&&!o&&(c=!1,d.push("No initial image selected"));const{isSuccess:p}=G7.endpoints.getMainModels.select(Qu)(e);return p||(c=!1,d.push("Models are not loaded")),s&&(c=!1,d.push("System Busy")),a||(c=!1,d.push("System Disconnected")),oo(e.controlNet.controlNets,(h,m)=>{h.model||(c=!1,d.push(`ControlNet ${m} has no model selected.`))}),{isReady:c,reasonsWhyNotReady:d}},Je),Xd=()=>{const{isReady:e}=B(qte);return e},Kte=be(vo,e=>({isProcessing:e.isProcessing,currentStep:e.currentStep,totalSteps:e.totalSteps,currentStatusHasSteps:e.currentStatusHasSteps}),{memoizeOptions:{resultEqualityCheck:Zt}}),Xte=()=>{const{t:e}=ye(),{isProcessing:t,currentStep:n,totalSteps:r,currentStatusHasSteps:o}=B(Kte),s=n?Math.round(n*100/r):0;return i.jsx(N6,{value:s,"aria-label":e("accessibility.invokeProgressBar"),isIndeterminate:t&&!o,height:"full",colorScheme:"accent"})},MO=f.memo(Xte),Dk={_disabled:{bg:"none",color:"base.600",cursor:"not-allowed",_hover:{color:"base.600",bg:"none"}}},Yte=be([lt,Kn,kr],({gallery:e},t,n)=>{const{autoAddBoardId:r}=e;return{isBusy:n,autoAddBoardId:r,activeTabName:t}},Je);function Zy(e){const{iconButton:t=!1,...n}=e,r=te(),o=Xd(),{isBusy:s,autoAddBoardId:a,activeTabName:c}=B(Yte),d=Qm(a),p=f.useCallback(()=>{r(xd()),r(wd(c))},[r,c]),{t:h}=ye();return tt(["ctrl+enter","meta+enter"],p,{enabled:()=>o,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[o,c]),i.jsx(Re,{style:{flexGrow:4},position:"relative",children:i.jsxs(Re,{style:{position:"relative"},children:[!o&&i.jsx(Re,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},...n,children:i.jsx(MO,{})}),i.jsx(vn,{placement:"top",hasArrow:!0,openDelay:500,label:a?`Auto-Adding to ${d}`:void 0,children:t?i.jsx(ze,{"aria-label":h("parameters.invoke"),type:"submit",icon:i.jsx(aE,{}),isDisabled:!o||s,onClick:p,tooltip:h("parameters.invoke"),tooltipProps:{placement:"top"},colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,...s?Dk:{}}}):i.jsx(Yt,{"aria-label":h("parameters.invoke"),type:"submit",isDisabled:!o||s,onClick:p,colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,fontWeight:700,...s?Dk:{}},children:"Invoke"})})]})})}const Yd=()=>i.jsxs(W,{gap:2,children:[i.jsx(Zy,{}),i.jsx(ig,{})]}),ex=e=>{e.stopPropagation()},Qte=Ae((e,t)=>{const n=te(),r=f.useCallback(s=>{s.shiftKey&&n(jo(!0))},[n]),o=f.useCallback(s=>{s.shiftKey||n(jo(!1))},[n]);return i.jsx(ey,{ref:t,onPaste:ex,onKeyDown:r,onKeyUp:o,...e})}),lg=f.memo(Qte),Jte=e=>{const{onClick:t}=e;return i.jsx(ze,{size:"sm","aria-label":"Add Embedding",tooltip:"Add Embedding",icon:i.jsx(yy,{}),sx:{p:2,color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}}},variant:"link",onClick:t})},cg=f.memo(Jte),tx="28rem",ug=e=>{const{onSelect:t,isOpen:n,onClose:r,children:o}=e,{data:s}=q7(),a=f.useRef(null),c=B(h=>h.generation.model),d=f.useMemo(()=>{if(!s)return[];const h=[];return oo(s.entities,(m,v)=>{if(!m)return;const b=(c==null?void 0:c.base_model)!==m.base_model;h.push({value:m.model_name,label:m.model_name,group:Qn[m.base_model],disabled:b,tooltip:b?`Incompatible base model: ${m.base_model}`:void 0})}),h.sort((m,v)=>{var b;return m.label&&v.label?(b=m.label)!=null&&b.localeCompare(v.label)?-1:1:-1}),h.sort((m,v)=>m.disabled&&!v.disabled?1:-1)},[s,c==null?void 0:c.base_model]),p=f.useCallback(h=>{h&&t(h)},[t]);return i.jsxs(Qb,{initialFocusRef:a,isOpen:n,onClose:r,placement:"bottom",openDelay:0,closeDelay:0,closeOnBlur:!0,returnFocusOnClose:!0,children:[i.jsx(Yb,{children:o}),i.jsx(Jb,{sx:{p:0,top:-1,shadow:"dark-lg",borderColor:"accent.300",borderWidth:"2px",borderStyle:"solid",_dark:{borderColor:"accent.400"}},children:i.jsx(A6,{sx:{p:0,w:`calc(${tx} - 2rem )`},children:d.length===0?i.jsx(W,{sx:{justifyContent:"center",p:2,fontSize:"sm",color:"base.500",_dark:{color:"base.700"}},children:i.jsx(Qe,{children:"No Embeddings Loaded"})}):i.jsx(ar,{inputRef:a,autoFocus:!0,placeholder:"Add Embedding",value:null,data:d,nothingFound:"No matching Embeddings",itemComponent:Oi,disabled:d.length===0,onDropdownClose:r,filter:(h,m)=>{var v;return((v=m.label)==null?void 0:v.toLowerCase().includes(h.toLowerCase().trim()))||m.value.toLowerCase().includes(h.toLowerCase().trim())},onChange:p})})})]})},DO=()=>{const e=B(m=>m.generation.negativePrompt),t=f.useRef(null),{isOpen:n,onClose:r,onOpen:o}=ss(),s=te(),{t:a}=ye(),c=f.useCallback(m=>{s(zu(m.target.value))},[s]),d=f.useCallback(m=>{m.key==="<"&&o()},[o]),p=f.useCallback(m=>{if(!t.current)return;const v=t.current.selectionStart;if(v===void 0)return;let b=e.slice(0,v);b[b.length-1]!=="<"&&(b+="<"),b+=`${m}>`;const w=b.length;b+=e.slice(v),_i.flushSync(()=>{s(zu(b))}),t.current.selectionEnd=w,r()},[s,r,e]),h=ir("embedding").isFeatureEnabled;return i.jsxs(go,{children:[i.jsx(ug,{isOpen:n,onClose:r,onSelect:p,children:i.jsx(lg,{id:"negativePrompt",name:"negativePrompt",ref:t,value:e,placeholder:a("parameters.negativePromptPlaceholder"),onChange:c,resize:"vertical",fontSize:"sm",minH:16,...h&&{onKeyDown:d}})}),!n&&h&&i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(cg,{onClick:o})})]})},Zte=be([lt,Kn],({generation:e,ui:t},n)=>({shouldPinParametersPanel:t.shouldPinParametersPanel,prompt:e.positivePrompt,activeTabName:n}),{memoizeOptions:{resultEqualityCheck:Zt}}),AO=()=>{const e=te(),{prompt:t,shouldPinParametersPanel:n,activeTabName:r}=B(Zte),o=Xd(),s=f.useRef(null),{isOpen:a,onClose:c,onOpen:d}=ss(),{t:p}=ye(),h=f.useCallback(w=>{e(Lu(w.target.value))},[e]);tt("alt+a",()=>{var w;(w=s.current)==null||w.focus()},[]);const m=f.useCallback(w=>{if(!s.current)return;const y=s.current.selectionStart;if(y===void 0)return;let S=t.slice(0,y);S[S.length-1]!=="<"&&(S+="<"),S+=`${w}>`;const k=S.length;S+=t.slice(y),_i.flushSync(()=>{e(Lu(S))}),s.current.selectionStart=k,s.current.selectionEnd=k,c()},[e,c,t]),v=ir("embedding").isFeatureEnabled,b=f.useCallback(w=>{w.key==="Enter"&&w.shiftKey===!1&&o&&(w.preventDefault(),e(xd()),e(wd(r))),v&&w.key==="<"&&d()},[o,e,r,d,v]);return i.jsxs(Re,{position:"relative",children:[i.jsx(go,{children:i.jsx(ug,{isOpen:a,onClose:c,onSelect:m,children:i.jsx(lg,{id:"prompt",name:"prompt",ref:s,value:t,placeholder:p("parameters.positivePromptPlaceholder"),onChange:h,onKeyDown:b,resize:"vertical",minH:32})})}),!a&&v&&i.jsx(Re,{sx:{position:"absolute",top:n?5:0,insetInlineEnd:0},children:i.jsx(cg,{onClick:d})})]})};function ene(){const e=B(o=>o.sdxl.shouldConcatSDXLStylePrompt),t=B(o=>o.ui.shouldPinParametersPanel),n=te(),r=()=>{n(K7(!e))};return i.jsx(ze,{"aria-label":"Concatenate Prompt & Style",tooltip:"Concatenate Prompt & Style",variant:"outline",isChecked:e,onClick:r,icon:i.jsx(oE,{}),size:"xs",sx:{position:"absolute",insetInlineEnd:1,top:t?12:20,border:"none",color:e?"accent.500":"base.500",_hover:{bg:"none"}}})}const Ak={position:"absolute",bg:"none",w:"full",minH:2,borderRadius:0,borderLeft:"none",borderRight:"none",zIndex:2,maskImage:"radial-gradient(circle at center, black, black 65%, black 30%, black 15%, transparent)"};function TO(){return i.jsxs(W,{children:[i.jsx(Re,{as:Er.div,initial:{scaleX:0,borderWidth:0,display:"none"},animate:{display:["block","block","block","none"],scaleX:[0,.25,.5,1],borderWidth:[0,3,3,0],transition:{duration:.37,times:[0,.25,.5,1]}},sx:{top:"1px",borderTop:"none",borderColor:"base.400",...Ak,_dark:{borderColor:"accent.500"}}}),i.jsx(Re,{as:Er.div,initial:{opacity:0,scale:0},animate:{opacity:[0,1,1,1],scale:[0,.75,1.5,1],transition:{duration:.42,times:[0,.25,.5,1]}},exit:{opacity:0,scale:0},sx:{zIndex:3,position:"absolute",left:"48%",top:"3px",p:1,borderRadius:4,bg:"accent.400",color:"base.50",_dark:{bg:"accent.500"}},children:i.jsx(oE,{size:12})}),i.jsx(Re,{as:Er.div,initial:{scaleX:0,borderWidth:0,display:"none"},animate:{display:["block","block","block","none"],scaleX:[0,.25,.5,1],borderWidth:[0,3,3,0],transition:{duration:.37,times:[0,.25,.5,1]}},sx:{top:"17px",borderBottom:"none",borderColor:"base.400",...Ak,_dark:{borderColor:"accent.500"}}})]})}const tne=be([lt,Kn],({sdxl:e},t)=>{const{negativeStylePrompt:n,shouldConcatSDXLStylePrompt:r}=e;return{prompt:n,shouldConcatSDXLStylePrompt:r,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),nne=()=>{const e=te(),t=Xd(),n=f.useRef(null),{isOpen:r,onClose:o,onOpen:s}=ss(),{prompt:a,activeTabName:c,shouldConcatSDXLStylePrompt:d}=B(tne),p=f.useCallback(b=>{e(Fu(b.target.value))},[e]),h=f.useCallback(b=>{if(!n.current)return;const w=n.current.selectionStart;if(w===void 0)return;let y=a.slice(0,w);y[y.length-1]!=="<"&&(y+="<"),y+=`${b}>`;const S=y.length;y+=a.slice(w),_i.flushSync(()=>{e(Fu(y))}),n.current.selectionStart=S,n.current.selectionEnd=S,o()},[e,o,a]),m=ir("embedding").isFeatureEnabled,v=f.useCallback(b=>{b.key==="Enter"&&b.shiftKey===!1&&t&&(b.preventDefault(),e(xd()),e(wd(c))),m&&b.key==="<"&&s()},[t,e,c,s,m]);return i.jsxs(Re,{position:"relative",children:[i.jsx(mo,{children:d&&i.jsx(Re,{sx:{position:"absolute",left:"3",w:"94%",top:"-17px"},children:i.jsx(TO,{})})}),i.jsx(go,{children:i.jsx(ug,{isOpen:r,onClose:o,onSelect:h,children:i.jsx(lg,{id:"prompt",name:"prompt",ref:n,value:a,placeholder:"Negative Style Prompt",onChange:p,onKeyDown:v,resize:"vertical",fontSize:"sm",minH:16})})}),!r&&m&&i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(cg,{onClick:s})})]})},rne=be([lt,Kn],({sdxl:e},t)=>{const{positiveStylePrompt:n,shouldConcatSDXLStylePrompt:r}=e;return{prompt:n,shouldConcatSDXLStylePrompt:r,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),one=()=>{const e=te(),t=Xd(),n=f.useRef(null),{isOpen:r,onClose:o,onOpen:s}=ss(),{prompt:a,activeTabName:c,shouldConcatSDXLStylePrompt:d}=B(rne),p=f.useCallback(b=>{e(Bu(b.target.value))},[e]),h=f.useCallback(b=>{if(!n.current)return;const w=n.current.selectionStart;if(w===void 0)return;let y=a.slice(0,w);y[y.length-1]!=="<"&&(y+="<"),y+=`${b}>`;const S=y.length;y+=a.slice(w),_i.flushSync(()=>{e(Bu(y))}),n.current.selectionStart=S,n.current.selectionEnd=S,o()},[e,o,a]),m=ir("embedding").isFeatureEnabled,v=f.useCallback(b=>{b.key==="Enter"&&b.shiftKey===!1&&t&&(b.preventDefault(),e(xd()),e(wd(c))),m&&b.key==="<"&&s()},[t,e,c,s,m]);return i.jsxs(Re,{position:"relative",children:[i.jsx(mo,{children:d&&i.jsx(Re,{sx:{position:"absolute",left:"3",w:"94%",top:"-17px"},children:i.jsx(TO,{})})}),i.jsx(go,{children:i.jsx(ug,{isOpen:r,onClose:o,onSelect:h,children:i.jsx(lg,{id:"prompt",name:"prompt",ref:n,value:a,placeholder:"Positive Style Prompt",onChange:p,onKeyDown:v,resize:"vertical",minH:16})})}),!r&&m&&i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(cg,{onClick:s})})]})};function NO(){return i.jsxs(W,{sx:{flexDirection:"column",gap:2},children:[i.jsx(AO,{}),i.jsx(ene,{}),i.jsx(one,{}),i.jsx(DO,{}),i.jsx(nne,{})]})}const Xc=()=>{const{isRefinerAvailable:e}=na(ib,{selectFromResult:({data:t})=>({isRefinerAvailable:t?t.ids.length>0:!1})});return e},sne=be([lt],({sdxl:e,hotkeys:t})=>{const{refinerAestheticScore:n}=e,{shift:r}=t;return{refinerAestheticScore:n,shift:r}},Je),ane=()=>{const{refinerAestheticScore:e,shift:t}=B(sne),n=Xc(),r=te(),o=f.useCallback(a=>r(Mv(a)),[r]),s=f.useCallback(()=>r(Mv(6)),[r]);return i.jsx(_t,{label:"Aesthetic Score",step:t?.1:.5,min:1,max:10,onChange:o,handleReset:s,value:e,sliderNumberInputProps:{max:10},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!n})},ine=f.memo(ane),am=/^-?(0\.)?\.?$/,lne=e=>{const{label:t,isDisabled:n=!1,showStepper:r=!0,isInvalid:o,value:s,onChange:a,min:c,max:d,isInteger:p=!0,formControlProps:h,formLabelProps:m,numberInputFieldProps:v,numberInputStepperProps:b,tooltipProps:w,...y}=e,S=te(),[k,_]=f.useState(String(s));f.useEffect(()=>{!k.match(am)&&s!==Number(k)&&_(String(s))},[s,k]);const P=R=>{_(R),R.match(am)||a(p?Math.floor(Number(R)):Number(R))},I=R=>{const M=Es(p?Math.floor(Number(R.target.value)):Number(R.target.value),c,d);_(String(M)),a(M)},E=f.useCallback(R=>{R.shiftKey&&S(jo(!0))},[S]),O=f.useCallback(R=>{R.shiftKey||S(jo(!1))},[S]);return i.jsx(vn,{...w,children:i.jsxs(go,{isDisabled:n,isInvalid:o,...h,children:[t&&i.jsx(Bo,{...m,children:t}),i.jsxs(km,{value:k,min:c,max:d,keepWithinRange:!0,clampValueOnBlur:!1,onChange:P,onBlur:I,...y,onPaste:ex,children:[i.jsx(Pm,{...v,onKeyDown:E,onKeyUp:O}),r&&i.jsxs(_m,{children:[i.jsx(Im,{...b}),i.jsx(jm,{...b})]})]})]})})},Yc=f.memo(lne),cne=be([lt],({sdxl:e,ui:t,hotkeys:n})=>{const{refinerCFGScale:r}=e,{shouldUseSliders:o}=t,{shift:s}=n;return{refinerCFGScale:r,shouldUseSliders:o,shift:s}},Je),une=()=>{const{refinerCFGScale:e,shouldUseSliders:t,shift:n}=B(cne),r=Xc(),o=te(),{t:s}=ye(),a=f.useCallback(d=>o(Rv(d)),[o]),c=f.useCallback(()=>o(Rv(7)),[o]);return t?i.jsx(_t,{label:s("parameters.cfgScale"),step:n?.1:.5,min:1,max:20,onChange:a,handleReset:c,value:e,sliderNumberInputProps:{max:200},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!r}):i.jsx(Yc,{label:s("parameters.cfgScale"),step:.5,min:1,max:200,onChange:a,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"},isDisabled:!r})},dne=f.memo(une),fne=e=>{const t=Sd("models"),[n,r,o]=e.split("/"),s=X7.safeParse({base_model:n,model_name:o,model_type:r});if(!s.success){t.error({mainModelId:e,errors:s.error.format()},"Failed to parse main model id");return}return s.data};function Qd(e){const{iconMode:t=!1}=e,n=te(),{t:r}=ye(),[o,{isLoading:s}]=Y7(),a=()=>{o().unwrap().then(c=>{n(On(Mn({title:`${r("modelManager.modelsSynced")}`,status:"success"})))}).catch(c=>{c&&n(On(Mn({title:`${r("modelManager.modelSyncFailed")}`,status:"error"})))})};return t?i.jsx(ze,{icon:i.jsx(cE,{}),tooltip:r("modelManager.syncModels"),"aria-label":r("modelManager.syncModels"),isLoading:s,onClick:a,size:"sm"}):i.jsx(Yt,{isLoading:s,onClick:a,minW:"max-content",children:"Sync Models"})}const pne=be(lt,e=>({model:e.sdxl.refinerModel}),Je),hne=()=>{const e=te(),t=ir("syncModels").isFeatureEnabled,{model:n}=B(pne),{data:r,isLoading:o}=na(ib),s=f.useMemo(()=>{if(!r)return[];const d=[];return oo(r.entities,(p,h)=>{p&&d.push({value:h,label:p.model_name,group:Qn[p.base_model]})}),d},[r]),a=f.useMemo(()=>(r==null?void 0:r.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])??null,[r==null?void 0:r.entities,n]),c=f.useCallback(d=>{if(!d)return;const p=fne(d);p&&e(q_(p))},[e]);return o?i.jsx(ar,{label:"Refiner Model",placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(ar,{tooltip:a==null?void 0:a.description,label:"Refiner Model",value:a==null?void 0:a.id,placeholder:s.length>0?"Select a model":"No models available",data:s,error:s.length===0,disabled:s.length===0,onChange:c,w:"100%"}),t&&i.jsx(Re,{mt:7,children:i.jsx(Qd,{iconMode:!0})})]})},mne=f.memo(hne),gne=be(lt,({ui:e,sdxl:t})=>{const{refinerScheduler:n}=t,{favoriteSchedulers:r}=e,o=cs(ab,(s,a)=>({value:a,label:s,group:r.includes(a)?"Favorites":void 0})).sort((s,a)=>s.label.localeCompare(a.label));return{refinerScheduler:n,data:o}},Je),vne=()=>{const e=te(),{t}=ye(),{refinerScheduler:n,data:r}=B(gne),o=Xc(),s=f.useCallback(a=>{a&&e(K_(a))},[e]);return i.jsx(ar,{w:"100%",label:t("parameters.scheduler"),value:n,data:r,onChange:s,disabled:!o})},bne=f.memo(vne),yne=be([lt],({sdxl:e})=>{const{refinerStart:t}=e;return{refinerStart:t}},Je),xne=()=>{const{refinerStart:e}=B(yne),t=te(),n=Xc(),r=f.useCallback(s=>t(Dv(s)),[t]),o=f.useCallback(()=>t(Dv(.7)),[t]);return i.jsx(_t,{label:"Refiner Start",step:.01,min:0,max:1,onChange:r,handleReset:o,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!n})},wne=f.memo(xne),Sne=be([lt],({sdxl:e,ui:t})=>{const{refinerSteps:n}=e,{shouldUseSliders:r}=t;return{refinerSteps:n,shouldUseSliders:r}},Je),Cne=()=>{const{refinerSteps:e,shouldUseSliders:t}=B(Sne),n=Xc(),r=te(),{t:o}=ye(),s=f.useCallback(c=>{r(Ov(c))},[r]),a=f.useCallback(()=>{r(Ov(20))},[r]);return t?i.jsx(_t,{label:o("parameters.steps"),min:1,max:100,step:1,onChange:s,handleReset:a,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:500},isDisabled:!n}):i.jsx(Yc,{label:o("parameters.steps"),min:1,max:500,step:1,onChange:s,value:e,numberInputFieldProps:{textAlign:"center"},isDisabled:!n})},kne=f.memo(Cne);function _ne(){const e=B(o=>o.sdxl.shouldUseSDXLRefiner),t=Xc(),n=te(),r=o=>{n(Q7(o.target.checked))};return i.jsx(yr,{label:"Use Refiner",isChecked:e,onChange:r,isDisabled:!t})}const Pne=be(lt,e=>{const{shouldUseSDXLRefiner:t}=e.sdxl,{shouldUseSliders:n}=e.ui;return{activeLabel:t?"Enabled":void 0,shouldUseSliders:n}},Je),$O=()=>{const{activeLabel:e,shouldUseSliders:t}=B(Pne);return i.jsx(Mo,{label:"Refiner",activeLabel:e,children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(_ne,{}),i.jsx(mne,{}),i.jsxs(W,{gap:2,flexDirection:t?"column":"row",children:[i.jsx(kne,{}),i.jsx(dne,{})]}),i.jsx(bne,{}),i.jsx(ine,{}),i.jsx(wne,{})]})})},jne=be([lt],({generation:e,config:t,ui:n,hotkeys:r})=>{const{initial:o,min:s,sliderMax:a,inputMax:c}=t.sd.guidance,{cfgScale:d}=e,{shouldUseSliders:p}=n,{shift:h}=r;return{cfgScale:d,initial:o,min:s,sliderMax:a,inputMax:c,shouldUseSliders:p,shift:h}},Je),Ine=()=>{const{cfgScale:e,initial:t,min:n,sliderMax:r,inputMax:o,shouldUseSliders:s,shift:a}=B(jne),c=te(),{t:d}=ye(),p=f.useCallback(m=>c(Hp(m)),[c]),h=f.useCallback(()=>c(Hp(t)),[c,t]);return s?i.jsx(_t,{label:d("parameters.cfgScale"),step:a?.1:.5,min:n,max:r,onChange:p,handleReset:h,value:e,sliderNumberInputProps:{max:o},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1}):i.jsx(Yc,{label:d("parameters.cfgScale"),step:.5,min:n,max:o,onChange:p,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"}})},xi=f.memo(Ine),Ene=be([lt],e=>{const{initial:t,min:n,sliderMax:r,inputMax:o,fineStep:s,coarseStep:a}=e.config.sd.iterations,{iterations:c}=e.generation,{shouldUseSliders:d}=e.ui,p=e.dynamicPrompts.isEnabled&&e.dynamicPrompts.combinatorial,h=e.hotkeys.shift?s:a;return{iterations:c,initial:t,min:n,sliderMax:r,inputMax:o,step:h,shouldUseSliders:d,isDisabled:p}},Je),One=()=>{const{iterations:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:a,isDisabled:c}=B(Ene),d=te(),{t:p}=ye(),h=f.useCallback(v=>{d(aw(v))},[d]),m=f.useCallback(()=>{d(aw(t))},[d,t]);return a?i.jsx(_t,{isDisabled:c,label:p("parameters.images"),step:s,min:n,max:r,onChange:h,handleReset:m,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):i.jsx(Yc,{isDisabled:c,label:p("parameters.images"),step:s,min:n,max:o,onChange:h,value:e,numberInputFieldProps:{textAlign:"center"}})},wi=f.memo(One),nx=e=>{const t=Sd("models"),[n,r,o]=e.split("/"),s=J7.safeParse({base_model:n,model_name:o,model_type:r});if(!s.success){t.error({mainModelId:e,errors:s.error.format()},"Failed to parse main model id");return}return s.data},Rne=be(lt,e=>({model:e.generation.model}),Je),Mne=()=>{const e=te(),{t}=ye(),{model:n}=B(Rne),r=ir("syncModels").isFeatureEnabled,{data:o,isLoading:s}=na(Qu),{data:a,isLoading:c}=Up(Qu),d=B(Kn),p=f.useMemo(()=>{if(!o)return[];const v=[];return oo(o.entities,(b,w)=>{!b||d==="unifiedCanvas"&&b.base_model==="sdxl"||v.push({value:w,label:b.model_name,group:Qn[b.base_model]})}),oo(a==null?void 0:a.entities,(b,w)=>{!b||d==="unifiedCanvas"||d==="img2img"||v.push({value:w,label:b.model_name,group:Qn[b.base_model]})}),v},[o,a,d]),h=f.useMemo(()=>((o==null?void 0:o.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])||(a==null?void 0:a.entities[`${n==null?void 0:n.base_model}/onnx/${n==null?void 0:n.model_name}`]))??null,[o==null?void 0:o.entities,n,a==null?void 0:a.entities]),m=f.useCallback(v=>{if(!v)return;const b=nx(v);b&&e(Iv(b))},[e]);return s||c?i.jsx(ar,{label:t("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:3,children:[i.jsx(ar,{tooltip:h==null?void 0:h.description,label:t("modelManager.model"),value:h==null?void 0:h.id,placeholder:p.length>0?"Select a model":"No models available",data:p,error:p.length===0,disabled:p.length===0,onChange:m,w:"100%"}),r&&i.jsx(Re,{mt:7,children:i.jsx(Qd,{iconMode:!0})})]})},Dne=f.memo(Mne),LO=e=>{const t=Sd("models"),[n,r,o]=e.split("/"),s=Z7.safeParse({base_model:n,model_name:o});if(!s.success){t.error({vaeModelId:e,errors:s.error.format()},"Failed to parse VAE model id");return}return s.data},Ane=be(lt,({generation:e})=>{const{model:t,vae:n}=e;return{model:t,vae:n}},Je),Tne=()=>{const e=te(),{t}=ye(),{model:n,vae:r}=B(Ane),{data:o}=t5(),s=f.useMemo(()=>{if(!o)return[];const d=[{value:"default",label:"Default",group:"Default"}];return oo(o.entities,(p,h)=>{if(!p)return;const m=(n==null?void 0:n.base_model)!==p.base_model;d.push({value:h,label:p.model_name,group:Qn[p.base_model],disabled:m,tooltip:m?`Incompatible base model: ${p.base_model}`:void 0})}),d.sort((p,h)=>p.disabled&&!h.disabled?1:-1)},[o,n==null?void 0:n.base_model]),a=f.useMemo(()=>(o==null?void 0:o.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[o==null?void 0:o.entities,r]),c=f.useCallback(d=>{if(!d||d==="default"){e(iw(null));return}const p=LO(d);p&&e(iw(p))},[e]);return i.jsx(ar,{itemComponent:Oi,tooltip:a==null?void 0:a.description,label:t("modelManager.vae"),value:(a==null?void 0:a.id)??"default",placeholder:"Default",data:s,onChange:c,disabled:s.length===0,clearable:!0})},Nne=f.memo(Tne),Mi=e=>e.generation,$ne=be([Ba,Mi],(e,t)=>{const{scheduler:n}=t,{favoriteSchedulers:r}=e,o=cs(ab,(s,a)=>({value:a,label:s,group:r.includes(a)?"Favorites":void 0})).sort((s,a)=>s.label.localeCompare(a.label));return{scheduler:n,data:o}},Je),Lne=()=>{const e=te(),{t}=ye(),{scheduler:n,data:r}=B($ne),o=f.useCallback(s=>{s&&e(Ev(s))},[e]);return i.jsx(ar,{label:t("parameters.scheduler"),value:n,data:r,onChange:o})},zne=f.memo(Lne),Bne=be(lt,({generation:e})=>{const{vaePrecision:t}=e;return{vaePrecision:t}},Je),Fne=["fp16","fp32"],Hne=()=>{const e=te(),{vaePrecision:t}=B(Bne),n=f.useCallback(r=>{r&&e(eM(r))},[e]);return i.jsx(Xr,{label:"VAE Precision",value:t,data:Fne,onChange:n})},Wne=f.memo(Hne),Vne=()=>{const e=ir("vae").isFeatureEnabled;return i.jsxs(W,{gap:3,w:"full",flexWrap:e?"wrap":"nowrap",children:[i.jsx(Re,{w:"full",children:i.jsx(Dne,{})}),i.jsx(Re,{w:"full",children:i.jsx(zne,{})}),e&&i.jsxs(W,{w:"full",gap:3,children:[i.jsx(Nne,{}),i.jsx(Wne,{})]})]})},Si=f.memo(Vne),Une=[{name:"Free",value:null},{name:"2:3",value:2/3},{name:"16:9",value:16/9},{name:"1:1",value:1/1}];function zO(){const e=B(o=>o.generation.aspectRatio),t=te(),n=B(o=>o.generation.shouldFitToWidthHeight),r=B(Kn);return i.jsx(W,{gap:2,flexGrow:1,children:i.jsx(rr,{isAttached:!0,children:Une.map(o=>i.jsx(Yt,{size:"sm",isChecked:e===o.value,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(tM(o.value)),children:o.name},o.name))})})}const Gne=be([lt],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.height,{height:p}=e,{aspectRatio:h}=e,m=t.shift?c:d;return{height:p,initial:r,min:o,sliderMax:s,inputMax:a,step:m,aspectRatio:h}},Je),qne=e=>{const{height:t,initial:n,min:r,sliderMax:o,inputMax:s,step:a,aspectRatio:c}=B(Gne),d=te(),{t:p}=ye(),h=f.useCallback(v=>{if(d(bc(v)),c){const b=ws(v*c,8);d(vc(b))}},[d,c]),m=f.useCallback(()=>{if(d(bc(n)),c){const v=ws(n*c,8);d(vc(v))}},[d,n,c]);return i.jsx(_t,{label:p("parameters.height"),value:t,min:r,step:a,max:o,onChange:h,handleReset:m,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},Kne=f.memo(qne),Xne=be([lt],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.width,{width:p,aspectRatio:h}=e,m=t.shift?c:d;return{width:p,initial:r,min:o,sliderMax:s,inputMax:a,step:m,aspectRatio:h}},Je),Yne=e=>{const{width:t,initial:n,min:r,sliderMax:o,inputMax:s,step:a,aspectRatio:c}=B(Xne),d=te(),{t:p}=ye(),h=f.useCallback(v=>{if(d(vc(v)),c){const b=ws(v/c,8);d(bc(b))}},[d,c]),m=f.useCallback(()=>{if(d(vc(n)),c){const v=ws(n/c,8);d(bc(v))}},[d,n,c]);return i.jsx(_t,{label:p("parameters.width"),value:t,min:r,step:a,max:o,onChange:h,handleReset:m,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},Qne=f.memo(Yne);function Mc(){const{t:e}=ye(),t=te(),n=B(o=>o.generation.shouldFitToWidthHeight),r=B(Kn);return i.jsxs(W,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[i.jsxs(W,{alignItems:"center",gap:2,children:[i.jsx(Qe,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:e("parameters.aspectRatio")}),i.jsx(ml,{}),i.jsx(zO,{}),i.jsx(ze,{tooltip:e("ui.swapSizes"),"aria-label":e("ui.swapSizes"),size:"sm",icon:i.jsx(vO,{}),fontSize:20,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(nM())})]}),i.jsx(W,{gap:2,alignItems:"center",children:i.jsxs(W,{gap:2,flexDirection:"column",width:"full",children:[i.jsx(Qne,{isDisabled:r==="img2img"?!n:!1}),i.jsx(Kne,{isDisabled:r==="img2img"?!n:!1})]})})]})}const Jne=be([lt],({generation:e,config:t,ui:n,hotkeys:r})=>{const{initial:o,min:s,sliderMax:a,inputMax:c,fineStep:d,coarseStep:p}=t.sd.steps,{steps:h}=e,{shouldUseSliders:m}=n,v=r.shift?d:p;return{steps:h,initial:o,min:s,sliderMax:a,inputMax:c,step:v,shouldUseSliders:m}},Je),Zne=()=>{const{steps:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:a}=B(Jne),c=te(),{t:d}=ye(),p=f.useCallback(v=>{c(Wp(v))},[c]),h=f.useCallback(()=>{c(Wp(t))},[c,t]),m=f.useCallback(()=>{c(xd())},[c]);return a?i.jsx(_t,{label:d("parameters.steps"),min:n,max:r,step:s,onChange:p,handleReset:h,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):i.jsx(Yc,{label:d("parameters.steps"),min:n,max:o,step:s,onChange:p,value:e,numberInputFieldProps:{textAlign:"center"},onBlur:m})},Ci=f.memo(Zne);function BO(){const e=te(),t=B(o=>o.generation.shouldFitToWidthHeight),n=o=>e(rM(o.target.checked)),{t:r}=ye();return i.jsx(yr,{label:r("parameters.imageFit"),isChecked:t,onChange:n})}function ere(){const e=B(a=>a.generation.seed),t=B(a=>a.generation.shouldRandomizeSeed),n=B(a=>a.generation.shouldGenerateVariations),{t:r}=ye(),o=te(),s=a=>o(Fp(a));return i.jsx(Yc,{label:r("parameters.seed"),step:1,precision:0,flexGrow:1,min:n5,max:r5,isDisabled:t,isInvalid:e<0&&n,onChange:s,value:e})}const tre=(e,t)=>Math.floor(Math.random()*(t-e+1)+e);function nre(){const e=te(),t=B(o=>o.generation.shouldRandomizeSeed),{t:n}=ye(),r=()=>e(Fp(tre(n5,r5)));return i.jsx(ze,{size:"sm",isDisabled:t,"aria-label":n("parameters.shuffle"),tooltip:n("parameters.shuffle"),onClick:r,icon:i.jsx(ZY,{})})}const rre=()=>{const e=te(),{t}=ye(),n=B(o=>o.generation.shouldRandomizeSeed),r=o=>e(oM(o.target.checked));return i.jsx(yr,{label:t("common.random"),isChecked:n,onChange:r})},ore=f.memo(rre),sre=()=>i.jsxs(W,{sx:{gap:3,alignItems:"flex-end"},children:[i.jsx(ere,{}),i.jsx(nre,{}),i.jsx(ore,{})]}),ki=f.memo(sre),are=be([lt],({sdxl:e})=>{const{sdxlImg2ImgDenoisingStrength:t}=e;return{sdxlImg2ImgDenoisingStrength:t}},Je),ire=()=>{const{sdxlImg2ImgDenoisingStrength:e}=B(are),t=te(),{t:n}=ye(),r=f.useCallback(s=>t(lw(s)),[t]),o=f.useCallback(()=>{t(lw(.7))},[t]);return i.jsx(_t,{label:`${n("parameters.denoisingStrength")}`,step:.01,min:0,max:1,onChange:r,handleReset:o,value:e,isInteger:!1,withInput:!0,withSliderMarks:!0,withReset:!0})},lre=f.memo(ire),cre=be([Ba,Mi],(e,t)=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Je),ure=()=>{const{shouldUseSliders:e,activeLabel:t}=B(cre);return i.jsx(Mo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(W,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(Mc,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(Mc,{})]}),i.jsx(lre,{}),i.jsx(BO,{})]})})},dre=f.memo(ure),fre=e=>{const t=te(),{lora:n}=e,r=f.useCallback(a=>{t(sM({id:n.id,weight:a}))},[t,n.id]),o=f.useCallback(()=>{t(aM(n.id))},[t,n.id]),s=f.useCallback(()=>{t(iM(n.id))},[t,n.id]);return i.jsxs(W,{sx:{gap:2.5,alignItems:"flex-end"},children:[i.jsx(_t,{label:n.model_name,value:n.weight,onChange:r,min:-1,max:2,step:.01,withInput:!0,withReset:!0,handleReset:o,withSliderMarks:!0,sliderMarks:[-1,0,1,2],sliderNumberInputProps:{min:-50,max:50}}),i.jsx(ze,{size:"sm",onClick:s,tooltip:"Remove LoRA","aria-label":"Remove LoRA",icon:i.jsx(Eo,{}),colorScheme:"error"})]})},pre=f.memo(fre),hre=be(lt,({lora:e})=>({lorasArray:cs(e.loras)}),Je),mre=()=>{const{lorasArray:e}=B(hre);return i.jsx(i.Fragment,{children:e.map((t,n)=>i.jsxs(i.Fragment,{children:[n>0&&i.jsx(Wa,{pt:1},`${t.model_name}-divider`),i.jsx(pre,{lora:t},t.model_name)]}))})},gre=be(lt,({lora:e})=>({loras:e.loras}),Je),vre=()=>{const e=te(),{loras:t}=B(gre),{data:n}=mm(),r=B(a=>a.generation.model),o=f.useMemo(()=>{if(!n)return[];const a=[];return oo(n.entities,(c,d)=>{if(!c||d in t)return;const p=(r==null?void 0:r.base_model)!==c.base_model;a.push({value:d,label:c.model_name,disabled:p,group:Qn[c.base_model],tooltip:p?`Incompatible base model: ${c.base_model}`:void 0})}),a.sort((c,d)=>{var p;return c.label&&d.label&&(p=c.label)!=null&&p.localeCompare(d.label)?1:-1}),a.sort((c,d)=>c.disabled&&!d.disabled?-1:1)},[t,n,r==null?void 0:r.base_model]),s=f.useCallback(a=>{if(!a)return;const c=n==null?void 0:n.entities[a];c&&e(lM(c))},[e,n==null?void 0:n.entities]);return(n==null?void 0:n.ids.length)===0?i.jsx(W,{sx:{justifyContent:"center",p:2},children:i.jsx(Qe,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):i.jsx(ar,{placeholder:o.length===0?"All LoRAs added":"Add LoRA",value:null,data:o,nothingFound:"No matching LoRAs",itemComponent:Oi,disabled:o.length===0,filter:(a,c)=>{var d;return((d=c.label)==null?void 0:d.toLowerCase().includes(a.toLowerCase().trim()))||c.value.toLowerCase().includes(a.toLowerCase().trim())},onChange:s})},bre=be(lt,e=>{const t=o5(e.lora.loras);return{activeLabel:t>0?`${t} Active`:void 0}},Je),yre=()=>{const{activeLabel:e}=B(bre);return ir("lora").isFeatureEnabled?i.jsx(Mo,{label:"LoRA",activeLabel:e,children:i.jsxs(W,{sx:{flexDir:"column",gap:2},children:[i.jsx(vre,{}),i.jsx(mre,{})]})}):null},Jd=f.memo(yre),FO=()=>i.jsxs(i.Fragment,{children:[i.jsx(NO,{}),i.jsx(Yd,{}),i.jsx(dre,{}),i.jsx($O,{}),i.jsx(Jd,{}),i.jsx(Kd,{}),i.jsx(ag,{})]}),HO=e=>{const{sx:t}=e,n=te(),r=B(a=>a.ui.shouldPinParametersPanel),{t:o}=ye(),s=()=>{n(cM(!r)),n(ko())};return i.jsx(ze,{...e,tooltip:o("common.pinOptionsPanel"),"aria-label":o("common.pinOptionsPanel"),onClick:s,icon:r?i.jsx(XE,{}):i.jsx(YE,{}),variant:"ghost",size:"sm",sx:{color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}},...t}})},xre=be(Ba,e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=e;return{shouldPinParametersPanel:t,shouldShowParametersPanel:n}}),wre=e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=B(xre);return t&&n?i.jsxs(Re,{sx:{position:"relative",h:"full",w:tx,flexShrink:0},children:[i.jsx(W,{sx:{gap:2,flexDirection:"column",h:"full",w:"full",position:"absolute",overflowY:"auto"},children:e.children}),i.jsx(HO,{sx:{position:"absolute",top:0,insetInlineEnd:0}})]}):null},rx=f.memo(wre),Sre=e=>{const{direction:t="horizontal",...n}=e,{colorMode:r}=Ds();return t==="horizontal"?i.jsx(L1,{children:i.jsx(W,{sx:{w:6,h:"full",justifyContent:"center",alignItems:"center"},...n,children:i.jsx(Re,{sx:{w:.5,h:"calc(100% - 4px)",bg:Fe("base.100","base.850")(r)}})})}):i.jsx(L1,{children:i.jsx(W,{sx:{w:"full",h:6,justifyContent:"center",alignItems:"center"},...n,children:i.jsx(Re,{sx:{w:"calc(100% - 4px)",h:.5,bg:Fe("base.100","base.850")(r)}})})})},WO=f.memo(Sre),Cre=be([lt],({system:e})=>{const{isProcessing:t,isConnected:n}=e;return n&&!t}),kre=e=>{const{onClick:t,isDisabled:n}=e,{t:r}=ye(),o=B(Cre);return i.jsx(ze,{onClick:t,icon:i.jsx(Eo,{}),tooltip:`${r("gallery.deleteImage")} (Del)`,"aria-label":`${r("gallery.deleteImage")} (Del)`,isDisabled:n||!o,colorScheme:"error"})},_re=[{label:"RealESRGAN x2 Plus",value:"RealESRGAN_x2plus.pth",tooltip:"Attempts to retain sharpness, low smoothing",group:"x2 Upscalers"},{label:"RealESRGAN x4 Plus",value:"RealESRGAN_x4plus.pth",tooltip:"Best for photos and highly detailed images, medium smoothing",group:"x4 Upscalers"},{label:"RealESRGAN x4 Plus (anime 6B)",value:"RealESRGAN_x4plus_anime_6B.pth",tooltip:"Best for anime/manga, high smoothing",group:"x4 Upscalers"},{label:"ESRGAN SRx4",value:"ESRGAN_SRx4_DF2KOST_official-ff704c30.pth",tooltip:"Retains sharpness, low smoothing",group:"x4 Upscalers"}];function Pre(){const e=B(r=>r.postprocessing.esrganModelName),t=te(),n=r=>t(uM(r));return i.jsx(Xr,{label:"ESRGAN Model",value:e,itemComponent:Oi,onChange:n,data:_re})}const jre=e=>{const{imageDTO:t}=e,n=te(),r=B(kr),{t:o}=ye(),{isOpen:s,onOpen:a,onClose:c}=ss(),d=f.useCallback(()=>{c(),t&&n(s5({image_name:t.image_name}))},[n,t,c]);return i.jsx(xl,{isOpen:s,onClose:c,triggerComponent:i.jsx(ze,{onClick:a,icon:i.jsx(LY,{}),"aria-label":o("parameters.upscale")}),children:i.jsxs(W,{sx:{flexDirection:"column",gap:4},children:[i.jsx(Pre,{}),i.jsx(Yt,{size:"sm",isDisabled:!t||r,onClick:d,children:o("parameters.upscaleImage")})]})})},Ire=be([lt,Kn],({gallery:e,system:t,ui:n},r)=>{const{isProcessing:o,isConnected:s,shouldConfirmOnDelete:a,progressImage:c}=t,{shouldShowImageDetails:d,shouldHidePreview:p,shouldShowProgressInViewer:h}=n,m=e.selection[e.selection.length-1];return{canDeleteImage:s&&!o,shouldConfirmOnDelete:a,isProcessing:o,isConnected:s,shouldDisableToolbarButtons:!!c||!m,shouldShowImageDetails:d,activeTabName:r,shouldHidePreview:p,shouldShowProgressInViewer:h,lastSelectedImage:m}},{memoizeOptions:{resultEqualityCheck:Zt}}),Ere=e=>{const t=te(),{isProcessing:n,isConnected:r,shouldDisableToolbarButtons:o,shouldShowImageDetails:s,lastSelectedImage:a,shouldShowProgressInViewer:c}=B(Ire),d=ir("upscaling").isFeatureEnabled,p=Vc(),{t:h}=ye(),{recallBothPrompts:m,recallSeed:v,recallAllParameters:b}=Gy(),[w,y]=Ky(a,500),{currentData:S}=Is((a==null?void 0:a.image_name)??ro.skipToken),{currentData:k}=rb(y.isPending()?ro.skipToken:(w==null?void 0:w.image_name)??ro.skipToken),_=k==null?void 0:k.metadata,P=f.useCallback(()=>{b(_)},[_,b]);tt("a",()=>{},[_,b]);const I=f.useCallback(()=>{v(_==null?void 0:_.seed)},[_==null?void 0:_.seed,v]);tt("s",I,[S]);const E=f.useCallback(()=>{m(_==null?void 0:_.positive_prompt,_==null?void 0:_.negative_prompt,_==null?void 0:_.positive_style_prompt,_==null?void 0:_.negative_style_prompt)},[_==null?void 0:_.negative_prompt,_==null?void 0:_.positive_prompt,_==null?void 0:_.positive_style_prompt,_==null?void 0:_.negative_style_prompt,m]);tt("p",E,[S]);const O=f.useCallback(()=>{t(fO()),t(tb(S))},[t,S]);tt("shift+i",O,[S]);const R=f.useCallback(()=>{S&&t(s5({image_name:S.image_name}))},[t,S]),M=f.useCallback(()=>{S&&t(pm([S]))},[t,S]);tt("Shift+U",()=>{R()},{enabled:()=>!!(d&&!o&&r&&!n)},[d,S,o,r,n]);const D=f.useCallback(()=>t(dM(!s)),[t,s]);tt("i",()=>{S?D():p({title:h("toast.metadataLoadFailed"),status:"error",duration:2500,isClosable:!0})},[S,s,p]),tt("delete",()=>{M()},[t,S]);const A=f.useCallback(()=>{t(e5(!c))},[t,c]);return i.jsx(i.Fragment,{children:i.jsxs(W,{sx:{flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},...e,children:[i.jsx(rr,{isAttached:!0,isDisabled:o,children:i.jsxs(Dd,{children:[i.jsx(Ad,{as:ze,"aria-label":`${h("parameters.sendTo")}...`,tooltip:`${h("parameters.sendTo")}...`,isDisabled:!S,icon:i.jsx(rQ,{})}),i.jsx(il,{motionProps:ed,children:S&&i.jsx(pO,{imageDTO:S})})]})}),i.jsxs(rr,{isAttached:!0,isDisabled:o,children:[i.jsx(ze,{icon:i.jsx(iE,{}),tooltip:`${h("parameters.usePrompt")} (P)`,"aria-label":`${h("parameters.usePrompt")} (P)`,isDisabled:!(_!=null&&_.positive_prompt),onClick:E}),i.jsx(ze,{icon:i.jsx(lE,{}),tooltip:`${h("parameters.useSeed")} (S)`,"aria-label":`${h("parameters.useSeed")} (S)`,isDisabled:!(_!=null&&_.seed),onClick:I}),i.jsx(ze,{icon:i.jsx(YI,{}),tooltip:`${h("parameters.useAll")} (A)`,"aria-label":`${h("parameters.useAll")} (A)`,isDisabled:!_,onClick:P})]}),d&&i.jsx(rr,{isAttached:!0,isDisabled:o,children:d&&i.jsx(jre,{imageDTO:S})}),i.jsx(rr,{isAttached:!0,isDisabled:o,children:i.jsx(ze,{icon:i.jsx(yy,{}),tooltip:`${h("parameters.info")} (I)`,"aria-label":`${h("parameters.info")} (I)`,isChecked:s,onClick:D})}),i.jsx(rr,{isAttached:!0,children:i.jsx(ze,{"aria-label":h("settings.displayInProgress"),tooltip:h("settings.displayInProgress"),icon:i.jsx(VY,{}),isChecked:c,onClick:A})}),i.jsx(rr,{isAttached:!0,children:i.jsx(kre,{onClick:M,isDisabled:o})})]})})},Ore=be([lt,ob],(e,t)=>{var _,P;const{data:n,status:r}=fM.endpoints.listImages.select(t)(e),{data:o}=e.gallery.galleryView==="images"?cw.endpoints.getBoardImagesTotal.select(t.board_id??"none")(e):cw.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(e),s=e.gallery.selection[e.gallery.selection.length-1],a=r==="pending";if(!n||!s||o===0)return{isFetching:a,queryArgs:t,isOnFirstImage:!0,isOnLastImage:!0};const c={...t,offset:n.ids.length,limit:J_},d=pM.getSelectors(),p=d.selectAll(n),h=p.findIndex(I=>I.image_name===s.image_name),m=Es(h+1,0,p.length-1),v=Es(h-1,0,p.length-1),b=(_=p[m])==null?void 0:_.image_name,w=(P=p[v])==null?void 0:P.image_name,y=b?d.selectById(n,b):void 0,S=w?d.selectById(n,w):void 0,k=p.length;return{loadedImagesCount:p.length,currentImageIndex:h,areMoreImagesAvailable:(o??0)>k,isFetching:r==="pending",nextImage:y,prevImage:S,queryArgs:c}},{memoizeOptions:{resultEqualityCheck:Zt}}),VO=()=>{const e=te(),{nextImage:t,prevImage:n,areMoreImagesAvailable:r,isFetching:o,queryArgs:s,loadedImagesCount:a,currentImageIndex:c}=B(Ore),d=f.useCallback(()=>{n&&e(uw(n))},[e,n]),p=f.useCallback(()=>{t&&e(uw(t))},[e,t]),[h]=Q_(),m=f.useCallback(()=>{h(s)},[h,s]);return{handlePrevImage:d,handleNextImage:p,isOnFirstImage:c===0,isOnLastImage:c!==void 0&&c===a-1,nextImage:t,prevImage:n,areMoreImagesAvailable:r,handleLoadMoreImages:m,isFetching:o}};function Rre(e){return nt({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M245.09 327.74v-37.32c57.07 0 84.51 13.47 108.58 38.68 5.4 5.65 15 1.32 14.29-6.43-5.45-61.45-34.14-117.09-122.87-117.09v-37.32a8.32 8.32 0 00-14.05-6L146.58 242a8.2 8.2 0 000 11.94L231 333.71a8.32 8.32 0 0014.09-5.97z"}},{tag:"path",attr:{fill:"none",strokeMiterlimit:"10",strokeWidth:"32",d:"M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64z"}}]})(e)}const bs=({label:e,value:t,onClick:n,isLink:r,labelPosition:o,withCopy:s=!1})=>{const{t:a}=ye();return t?i.jsxs(W,{gap:2,children:[n&&i.jsx(vn,{label:`Recall ${e}`,children:i.jsx(ka,{"aria-label":a("accessibility.useThisParameter"),icon:i.jsx(Rre,{}),size:"xs",variant:"ghost",fontSize:20,onClick:n})}),s&&i.jsx(vn,{label:`Copy ${e}`,children:i.jsx(ka,{"aria-label":`Copy ${e}`,icon:i.jsx(qc,{}),size:"xs",variant:"ghost",fontSize:14,onClick:()=>navigator.clipboard.writeText(t.toString())})}),i.jsxs(W,{direction:o?"column":"row",children:[i.jsxs(Qe,{fontWeight:"semibold",whiteSpace:"pre-wrap",pr:2,children:[e,":"]}),r?i.jsxs(Mb,{href:t.toString(),isExternal:!0,wordBreak:"break-all",children:[t.toString()," ",i.jsx(VE,{mx:"2px"})]}):i.jsx(Qe,{overflowY:"scroll",wordBreak:"break-all",children:t.toString()})]})]}):null},Mre=e=>{const{metadata:t}=e,{recallPositivePrompt:n,recallNegativePrompt:r,recallSeed:o,recallCfgScale:s,recallModel:a,recallScheduler:c,recallSteps:d,recallWidth:p,recallHeight:h,recallStrength:m}=Gy(),v=f.useCallback(()=>{n(t==null?void 0:t.positive_prompt)},[t==null?void 0:t.positive_prompt,n]),b=f.useCallback(()=>{r(t==null?void 0:t.negative_prompt)},[t==null?void 0:t.negative_prompt,r]),w=f.useCallback(()=>{o(t==null?void 0:t.seed)},[t==null?void 0:t.seed,o]),y=f.useCallback(()=>{a(t==null?void 0:t.model)},[t==null?void 0:t.model,a]),S=f.useCallback(()=>{p(t==null?void 0:t.width)},[t==null?void 0:t.width,p]),k=f.useCallback(()=>{h(t==null?void 0:t.height)},[t==null?void 0:t.height,h]),_=f.useCallback(()=>{c(t==null?void 0:t.scheduler)},[t==null?void 0:t.scheduler,c]),P=f.useCallback(()=>{d(t==null?void 0:t.steps)},[t==null?void 0:t.steps,d]),I=f.useCallback(()=>{s(t==null?void 0:t.cfg_scale)},[t==null?void 0:t.cfg_scale,s]),E=f.useCallback(()=>{m(t==null?void 0:t.strength)},[t==null?void 0:t.strength,m]);return!t||Object.keys(t).length===0?null:i.jsxs(i.Fragment,{children:[t.generation_mode&&i.jsx(bs,{label:"Generation Mode",value:t.generation_mode}),t.positive_prompt&&i.jsx(bs,{label:"Positive Prompt",labelPosition:"top",value:t.positive_prompt,onClick:v}),t.negative_prompt&&i.jsx(bs,{label:"Negative Prompt",labelPosition:"top",value:t.negative_prompt,onClick:b}),t.seed!==void 0&&i.jsx(bs,{label:"Seed",value:t.seed,onClick:w}),t.model!==void 0&&i.jsx(bs,{label:"Model",value:t.model.model_name,onClick:y}),t.width&&i.jsx(bs,{label:"Width",value:t.width,onClick:S}),t.height&&i.jsx(bs,{label:"Height",value:t.height,onClick:k}),t.scheduler&&i.jsx(bs,{label:"Scheduler",value:t.scheduler,onClick:_}),t.steps&&i.jsx(bs,{label:"Steps",value:t.steps,onClick:P}),t.cfg_scale!==void 0&&i.jsx(bs,{label:"CFG scale",value:t.cfg_scale,onClick:I}),t.strength&&i.jsx(bs,{label:"Image to image strength",value:t.strength,onClick:E})]})},Dre=e=>{const{copyTooltip:t,jsonObject:n}=e,r=f.useMemo(()=>JSON.stringify(n,null,2),[n]);return i.jsxs(W,{sx:{borderRadius:"base",bg:"whiteAlpha.500",_dark:{bg:"blackAlpha.500"},flexGrow:1,w:"full",h:"full",position:"relative"},children:[i.jsx(Re,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"auto",p:4},children:i.jsx(zE,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:i.jsx("pre",{children:r})})}),i.jsx(W,{sx:{position:"absolute",top:0,insetInlineEnd:0,p:2},children:i.jsx(vn,{label:t,children:i.jsx(ka,{"aria-label":t,icon:i.jsx(qc,{}),variant:"ghost",onClick:()=>navigator.clipboard.writeText(r)})})})]})},Are=({image:e})=>{const[t,n]=Ky(e.image_name,500),{currentData:r}=rb(n.isPending()?ro.skipToken:t??ro.skipToken),o=r==null?void 0:r.metadata,s=r==null?void 0:r.graph,a=f.useMemo(()=>{const c=[];return o&&c.push({label:"Core Metadata",data:o,copyTooltip:"Copy Core Metadata JSON"}),e&&c.push({label:"Image Details",data:e,copyTooltip:"Copy Image Details JSON"}),s&&c.push({label:"Graph",data:s,copyTooltip:"Copy Graph JSON"}),c},[o,s,e]);return i.jsxs(W,{sx:{padding:4,gap:1,flexDirection:"column",width:"full",height:"full",backdropFilter:"blur(20px)",bg:"baseAlpha.200",_dark:{bg:"blackAlpha.600"},borderRadius:"base",position:"absolute",overflow:"hidden"},children:[i.jsxs(W,{gap:2,children:[i.jsx(Qe,{fontWeight:"semibold",children:"File:"}),i.jsxs(Mb,{href:e.image_url,isExternal:!0,maxW:"calc(100% - 3rem)",children:[e.image_name,i.jsx(VE,{mx:"2px"})]})]}),i.jsx(Mre,{metadata:o}),i.jsxs(Ld,{variant:"line",sx:{display:"flex",flexDir:"column",w:"full",h:"full"},children:[i.jsx(zd,{children:a.map(c=>i.jsx(kc,{sx:{borderTopRadius:"base"},children:i.jsx(Qe,{sx:{color:"base.700",_dark:{color:"base.300"}},children:c.label})},c.label))}),i.jsx($m,{sx:{w:"full",h:"full"},children:a.map(c=>i.jsx(Nm,{sx:{w:"full",h:"full",p:0,pt:4},children:i.jsx(Dre,{jsonObject:c.data,copyTooltip:c.copyTooltip})},c.label))})]})]})},Tre=f.memo(Are),gv={color:"base.100",pointerEvents:"auto"},Nre=()=>{const{t:e}=ye(),{handlePrevImage:t,handleNextImage:n,isOnFirstImage:r,isOnLastImage:o,handleLoadMoreImages:s,areMoreImagesAvailable:a,isFetching:c}=VO();return i.jsxs(Re,{sx:{position:"relative",height:"100%",width:"100%"},children:[i.jsx(Re,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineStart:0},children:!r&&i.jsx(ka,{"aria-label":e("accessibility.previousImage"),icon:i.jsx(IY,{size:64}),variant:"unstyled",onClick:t,boxSize:16,sx:gv})}),i.jsxs(Re,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineEnd:0},children:[!o&&i.jsx(ka,{"aria-label":e("accessibility.nextImage"),icon:i.jsx(EY,{size:64}),variant:"unstyled",onClick:n,boxSize:16,sx:gv}),o&&a&&!c&&i.jsx(ka,{"aria-label":e("accessibility.loadMore"),icon:i.jsx(jY,{size:64}),variant:"unstyled",onClick:s,boxSize:16,sx:gv}),o&&a&&c&&i.jsx(W,{sx:{w:16,h:16,alignItems:"center",justifyContent:"center"},children:i.jsx(hl,{opacity:.5,size:"xl"})})]})]})},$re=f.memo(Nre),Lre=be([lt,hM],({ui:e,system:t},n)=>{const{shouldShowImageDetails:r,shouldHidePreview:o,shouldShowProgressInViewer:s}=e,{progressImage:a,shouldAntialiasProgressImage:c}=t;return{shouldShowImageDetails:r,shouldHidePreview:o,imageName:n==null?void 0:n.image_name,progressImage:a,shouldShowProgressInViewer:s,shouldAntialiasProgressImage:c}},{memoizeOptions:{resultEqualityCheck:Zt}}),zre=()=>{const{shouldShowImageDetails:e,imageName:t,progressImage:n,shouldShowProgressInViewer:r,shouldAntialiasProgressImage:o}=B(Lre),{handlePrevImage:s,handleNextImage:a,isOnLastImage:c,handleLoadMoreImages:d,areMoreImagesAvailable:p,isFetching:h}=VO();tt("left",()=>{s()},[s]),tt("right",()=>{if(c&&p&&!h){d();return}c||a()},[c,p,d,h,a]);const{currentData:m}=Is(t??ro.skipToken),v=f.useMemo(()=>{if(m)return{id:"current-image",payloadType:"IMAGE_DTO",payload:{imageDTO:m}}},[m]),b=f.useMemo(()=>({id:"current-image",actionType:"SET_CURRENT_IMAGE"}),[]),[w,y]=f.useState(!1),S=f.useRef(0),k=f.useCallback(()=>{y(!0),window.clearTimeout(S.current)},[]),_=f.useCallback(()=>{S.current=window.setTimeout(()=>{y(!1)},500)},[]);return i.jsxs(W,{onMouseOver:k,onMouseOut:_,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative"},children:[n&&r?i.jsx(Lc,{src:n.dataURL,width:n.width,height:n.height,draggable:!1,sx:{objectFit:"contain",maxWidth:"full",maxHeight:"full",height:"auto",position:"absolute",borderRadius:"base",imageRendering:o?"auto":"pixelated"}}):i.jsx(fl,{imageDTO:m,droppableData:b,draggableData:v,isUploadDisabled:!0,fitContainer:!0,useThumbailFallback:!0,dropLabel:"Set as Current Image",noContentFallback:i.jsx(tl,{icon:Oc,label:"No image selected"})}),e&&m&&i.jsx(Re,{sx:{position:"absolute",top:"0",width:"full",height:"full",borderRadius:"base"},children:i.jsx(Tre,{image:m})}),i.jsx(mo,{children:!e&&m&&w&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},style:{position:"absolute",top:"0",width:"100%",height:"100%",pointerEvents:"none"},children:i.jsx($re,{})},"nextPrevButtons")})]})},Bre=f.memo(zre),Fre=()=>i.jsxs(W,{sx:{position:"relative",flexDirection:"column",height:"100%",width:"100%",rowGap:4,alignItems:"center",justifyContent:"center"},children:[i.jsx(Ere,{}),i.jsx(Bre,{})]}),UO=()=>i.jsx(Re,{layerStyle:"first",sx:{position:"relative",width:"100%",height:"100%",p:4,borderRadius:"base"},children:i.jsx(W,{sx:{width:"100%",height:"100%"},children:i.jsx(Fre,{})})});function Hre(){const e=B(d=>d.generation.clipSkip),{model:t}=B(d=>d.generation),n=te(),{t:r}=ye(),o=f.useCallback(d=>{n(dw(d))},[n]),s=f.useCallback(()=>{n(dw(0))},[n]),a=f.useMemo(()=>t?Bf[t.base_model].maxClip:Bf["sd-1"].maxClip,[t]),c=f.useMemo(()=>t?Bf[t.base_model].markers:Bf["sd-1"].markers,[t]);return i.jsx(_t,{label:r("parameters.clipSkip"),"aria-label":r("parameters.clipSkip"),min:0,max:a,step:1,value:e,onChange:o,withSliderMarks:!0,sliderMarks:c,withInput:!0,withReset:!0,handleReset:s})}const Wre=be(lt,e=>({activeLabel:e.generation.clipSkip>0?"Clip Skip":void 0}),Je);function ox(){const{activeLabel:e}=B(Wre);return B(n=>n.generation.shouldShowAdvancedOptions)?i.jsx(Mo,{label:"Advanced",activeLabel:e,children:i.jsx(W,{sx:{flexDir:"column",gap:2},children:i.jsx(Hre,{})})}):null}const GO=e=>{const t=Sd("models"),[n,r,o]=e.split("/"),s=mM.safeParse({base_model:n,model_name:o});if(!s.success){t.error({controlNetModelId:e,errors:s.error.format()},"Failed to parse ControlNet model id");return}return s.data},Vre=be(lt,({generation:e})=>{const{model:t}=e;return{mainModel:t}},Je),Ure=e=>{const{controlNetId:t,model:n,isEnabled:r}=e.controlNet,o=te(),s=B(kr),{mainModel:a}=B(Vre),{data:c}=lb(),d=f.useMemo(()=>{if(!c)return[];const m=[];return oo(c.entities,(v,b)=>{if(!v)return;const w=(v==null?void 0:v.base_model)!==(a==null?void 0:a.base_model);m.push({value:b,label:v.model_name,group:Qn[v.base_model],disabled:w,tooltip:w?`Incompatible base model: ${v.base_model}`:void 0})}),m},[c,a==null?void 0:a.base_model]),p=f.useMemo(()=>(c==null?void 0:c.entities[`${n==null?void 0:n.base_model}/controlnet/${n==null?void 0:n.model_name}`])??null,[n==null?void 0:n.base_model,n==null?void 0:n.model_name,c==null?void 0:c.entities]),h=f.useCallback(m=>{if(!m)return;const v=GO(m);v&&o(a5({controlNetId:t,model:v}))},[t,o]);return i.jsx(ar,{itemComponent:Oi,data:d,error:!p||(a==null?void 0:a.base_model)!==p.base_model,placeholder:"Select a model",value:(p==null?void 0:p.id)??null,onChange:h,disabled:s||!r,tooltip:p==null?void 0:p.description})},Gre=f.memo(Ure),qre=e=>{const{weight:t,isEnabled:n,controlNetId:r}=e.controlNet,o=te(),s=f.useCallback(a=>{o(gM({controlNetId:r,weight:a}))},[r,o]);return i.jsx(_t,{isDisabled:!n,label:"Weight",value:t,onChange:s,min:0,max:2,step:.01,withSliderMarks:!0,sliderMarks:[0,1,2]})},Kre=f.memo(qre),Xre=be(lt,({controlNet:e})=>{const{pendingControlImages:t}=e;return{pendingControlImages:t}},Je),Yre=e=>{const{height:t}=e,{controlImage:n,processedControlImage:r,processorType:o,isEnabled:s,controlNetId:a}=e.controlNet,c=te(),{pendingControlImages:d}=B(Xre),[p,h]=f.useState(!1),{currentData:m}=Is(n??ro.skipToken),{currentData:v}=Is(r??ro.skipToken),b=f.useCallback(()=>{c(vM({controlNetId:a,controlImage:null}))},[a,c]),w=f.useCallback(()=>{h(!0)},[]),y=f.useCallback(()=>{h(!1)},[]),S=f.useMemo(()=>{if(m)return{id:a,payloadType:"IMAGE_DTO",payload:{imageDTO:m}}},[m,a]),k=f.useMemo(()=>({id:a,actionType:"SET_CONTROLNET_IMAGE",context:{controlNetId:a}}),[a]),_=f.useMemo(()=>({type:"SET_CONTROLNET_IMAGE",controlNetId:a}),[a]),P=m&&v&&!p&&!d.includes(a)&&o!=="none";return i.jsxs(W,{onMouseEnter:w,onMouseLeave:y,sx:{position:"relative",w:"full",h:t,alignItems:"center",justifyContent:"center",pointerEvents:s?"auto":"none",opacity:s?1:.5},children:[i.jsx(fl,{draggableData:S,droppableData:k,imageDTO:m,isDropDisabled:P||!s,onClickReset:b,postUploadAction:_,resetTooltip:"Reset Control Image",withResetIcon:!!m}),i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",opacity:P?1:0,transitionProperty:"common",transitionDuration:"normal",pointerEvents:"none"},children:i.jsx(fl,{draggableData:S,droppableData:k,imageDTO:v,isUploadDisabled:!0,isDropDisabled:!s,onClickReset:b,resetTooltip:"Reset Control Image",withResetIcon:!!m})}),d.includes(a)&&i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",alignItems:"center",justifyContent:"center",opacity:.8,borderRadius:"base",bg:"base.400",_dark:{bg:"base.900"}},children:i.jsx(hl,{size:"xl",sx:{color:"base.100",_dark:{color:"base.400"}}})})]})},Tk=f.memo(Yre),Ts=()=>{const e=te();return f.useCallback((n,r)=>{e(bM({controlNetId:n,changes:r}))},[e])};function Ns(e){return i.jsx(W,{sx:{flexDirection:"column",gap:2},children:e.children})}const Nk=ls.canny_image_processor.default,Qre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{low_threshold:o,high_threshold:s}=n,a=B(kr),c=Ts(),d=f.useCallback(v=>{c(t,{low_threshold:v})},[t,c]),p=f.useCallback(()=>{c(t,{low_threshold:Nk.low_threshold})},[t,c]),h=f.useCallback(v=>{c(t,{high_threshold:v})},[t,c]),m=f.useCallback(()=>{c(t,{high_threshold:Nk.high_threshold})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{isDisabled:a||!r,label:"Low Threshold",value:o,onChange:d,handleReset:p,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0}),i.jsx(_t,{isDisabled:a||!r,label:"High Threshold",value:s,onChange:h,handleReset:m,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0})]})},Jre=f.memo(Qre),Cu=ls.content_shuffle_image_processor.default,Zre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,w:a,h:c,f:d}=n,p=Ts(),h=B(kr),m=f.useCallback(E=>{p(t,{detect_resolution:E})},[t,p]),v=f.useCallback(()=>{p(t,{detect_resolution:Cu.detect_resolution})},[t,p]),b=f.useCallback(E=>{p(t,{image_resolution:E})},[t,p]),w=f.useCallback(()=>{p(t,{image_resolution:Cu.image_resolution})},[t,p]),y=f.useCallback(E=>{p(t,{w:E})},[t,p]),S=f.useCallback(()=>{p(t,{w:Cu.w})},[t,p]),k=f.useCallback(E=>{p(t,{h:E})},[t,p]),_=f.useCallback(()=>{p(t,{h:Cu.h})},[t,p]),P=f.useCallback(E=>{p(t,{f:E})},[t,p]),I=f.useCallback(()=>{p(t,{f:Cu.f})},[t,p]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:m,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:b,handleReset:w,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"W",value:a,onChange:y,handleReset:S,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"H",value:c,onChange:k,handleReset:_,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"F",value:d,onChange:P,handleReset:I,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r})]})},eoe=f.memo(Zre),$k=ls.hed_image_processor.default,toe=e=>{const{controlNetId:t,processorNode:{detect_resolution:n,image_resolution:r,scribble:o},isEnabled:s}=e,a=B(kr),c=Ts(),d=f.useCallback(b=>{c(t,{detect_resolution:b})},[t,c]),p=f.useCallback(b=>{c(t,{image_resolution:b})},[t,c]),h=f.useCallback(b=>{c(t,{scribble:b.target.checked})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:$k.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:$k.image_resolution})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:n,onChange:d,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:a||!s}),i.jsx(_t,{label:"Image Resolution",value:r,onChange:p,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:a||!s}),i.jsx(yr,{label:"Scribble",isChecked:o,onChange:h,isDisabled:a||!s})]})},noe=f.memo(toe),Lk=ls.lineart_anime_image_processor.default,roe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,a=Ts(),c=B(kr),d=f.useCallback(v=>{a(t,{detect_resolution:v})},[t,a]),p=f.useCallback(v=>{a(t,{image_resolution:v})},[t,a]),h=f.useCallback(()=>{a(t,{detect_resolution:Lk.detect_resolution})},[t,a]),m=f.useCallback(()=>{a(t,{image_resolution:Lk.image_resolution})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},ooe=f.memo(roe),zk=ls.lineart_image_processor.default,soe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,coarse:a}=n,c=Ts(),d=B(kr),p=f.useCallback(w=>{c(t,{detect_resolution:w})},[t,c]),h=f.useCallback(w=>{c(t,{image_resolution:w})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:zk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:zk.image_resolution})},[t,c]),b=f.useCallback(w=>{c(t,{coarse:w.target.checked})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(yr,{label:"Coarse",isChecked:a,onChange:b,isDisabled:d||!r})]})},aoe=f.memo(soe),Bk=ls.mediapipe_face_processor.default,ioe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{max_faces:o,min_confidence:s}=n,a=Ts(),c=B(kr),d=f.useCallback(v=>{a(t,{max_faces:v})},[t,a]),p=f.useCallback(v=>{a(t,{min_confidence:v})},[t,a]),h=f.useCallback(()=>{a(t,{max_faces:Bk.max_faces})},[t,a]),m=f.useCallback(()=>{a(t,{min_confidence:Bk.min_confidence})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Max Faces",value:o,onChange:d,handleReset:h,withReset:!0,min:1,max:20,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Min Confidence",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},loe=f.memo(ioe),Fk=ls.midas_depth_image_processor.default,coe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{a_mult:o,bg_th:s}=n,a=Ts(),c=B(kr),d=f.useCallback(v=>{a(t,{a_mult:v})},[t,a]),p=f.useCallback(v=>{a(t,{bg_th:v})},[t,a]),h=f.useCallback(()=>{a(t,{a_mult:Fk.a_mult})},[t,a]),m=f.useCallback(()=>{a(t,{bg_th:Fk.bg_th})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"a_mult",value:o,onChange:d,handleReset:h,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"bg_th",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},uoe=f.memo(coe),_p=ls.mlsd_image_processor.default,doe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,thr_d:a,thr_v:c}=n,d=Ts(),p=B(kr),h=f.useCallback(_=>{d(t,{detect_resolution:_})},[t,d]),m=f.useCallback(_=>{d(t,{image_resolution:_})},[t,d]),v=f.useCallback(_=>{d(t,{thr_d:_})},[t,d]),b=f.useCallback(_=>{d(t,{thr_v:_})},[t,d]),w=f.useCallback(()=>{d(t,{detect_resolution:_p.detect_resolution})},[t,d]),y=f.useCallback(()=>{d(t,{image_resolution:_p.image_resolution})},[t,d]),S=f.useCallback(()=>{d(t,{thr_d:_p.thr_d})},[t,d]),k=f.useCallback(()=>{d(t,{thr_v:_p.thr_v})},[t,d]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:h,handleReset:w,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:m,handleReset:y,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"W",value:a,onChange:v,handleReset:S,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"H",value:c,onChange:b,handleReset:k,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r})]})},foe=f.memo(doe),Hk=ls.normalbae_image_processor.default,poe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,a=Ts(),c=B(kr),d=f.useCallback(v=>{a(t,{detect_resolution:v})},[t,a]),p=f.useCallback(v=>{a(t,{image_resolution:v})},[t,a]),h=f.useCallback(()=>{a(t,{detect_resolution:Hk.detect_resolution})},[t,a]),m=f.useCallback(()=>{a(t,{image_resolution:Hk.image_resolution})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},hoe=f.memo(poe),Wk=ls.openpose_image_processor.default,moe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,hand_and_face:a}=n,c=Ts(),d=B(kr),p=f.useCallback(w=>{c(t,{detect_resolution:w})},[t,c]),h=f.useCallback(w=>{c(t,{image_resolution:w})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:Wk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:Wk.image_resolution})},[t,c]),b=f.useCallback(w=>{c(t,{hand_and_face:w.target.checked})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(yr,{label:"Hand and Face",isChecked:a,onChange:b,isDisabled:d||!r})]})},goe=f.memo(moe),Vk=ls.pidi_image_processor.default,voe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,scribble:a,safe:c}=n,d=Ts(),p=B(kr),h=f.useCallback(S=>{d(t,{detect_resolution:S})},[t,d]),m=f.useCallback(S=>{d(t,{image_resolution:S})},[t,d]),v=f.useCallback(()=>{d(t,{detect_resolution:Vk.detect_resolution})},[t,d]),b=f.useCallback(()=>{d(t,{image_resolution:Vk.image_resolution})},[t,d]),w=f.useCallback(S=>{d(t,{scribble:S.target.checked})},[t,d]),y=f.useCallback(S=>{d(t,{safe:S.target.checked})},[t,d]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:m,handleReset:b,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(yr,{label:"Scribble",isChecked:a,onChange:w}),i.jsx(yr,{label:"Safe",isChecked:c,onChange:y,isDisabled:p||!r})]})},boe=f.memo(voe),yoe=e=>null,xoe=f.memo(yoe),woe=e=>{const{controlNetId:t,isEnabled:n,processorNode:r}=e.controlNet;return r.type==="canny_image_processor"?i.jsx(Jre,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="hed_image_processor"?i.jsx(noe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="lineart_image_processor"?i.jsx(aoe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="content_shuffle_image_processor"?i.jsx(eoe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="lineart_anime_image_processor"?i.jsx(ooe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="mediapipe_face_processor"?i.jsx(loe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="midas_depth_image_processor"?i.jsx(uoe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="mlsd_image_processor"?i.jsx(foe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="normalbae_image_processor"?i.jsx(hoe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="openpose_image_processor"?i.jsx(goe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="pidi_image_processor"?i.jsx(boe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="zoe_depth_image_processor"?i.jsx(xoe,{controlNetId:t,processorNode:r,isEnabled:n}):null},Soe=f.memo(woe),Coe=e=>{const{controlNetId:t,isEnabled:n,shouldAutoConfig:r}=e.controlNet,o=te(),s=B(kr),a=f.useCallback(()=>{o(yM({controlNetId:t}))},[t,o]);return i.jsx(yr,{label:"Auto configure processor","aria-label":"Auto configure processor",isChecked:r,onChange:a,isDisabled:s||!n})},koe=f.memo(Coe),Uk=e=>`${Math.round(e*100)}%`,_oe=e=>{const{beginStepPct:t,endStepPct:n,isEnabled:r,controlNetId:o}=e.controlNet,s=te(),a=f.useCallback(c=>{s(xM({controlNetId:o,beginStepPct:c[0]})),s(wM({controlNetId:o,endStepPct:c[1]}))},[o,s]);return i.jsxs(go,{isDisabled:!r,children:[i.jsx(Bo,{children:"Begin / End Step Percentage"}),i.jsx(pi,{w:"100%",gap:2,alignItems:"center",children:i.jsxs(K6,{"aria-label":["Begin Step %","End Step %"],value:[t,n],onChange:a,min:0,max:1,step:.01,minStepsBetweenThumbs:5,isDisabled:!r,children:[i.jsx(X6,{children:i.jsx(Y6,{})}),i.jsx(vn,{label:Uk(t),placement:"top",hasArrow:!0,children:i.jsx(s1,{index:0})}),i.jsx(vn,{label:Uk(n),placement:"top",hasArrow:!0,children:i.jsx(s1,{index:1})}),i.jsx(Ap,{value:0,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},children:"0%"}),i.jsx(Ap,{value:.5,sx:{insetInlineStart:"50% !important",transform:"translateX(-50%)"},children:"50%"}),i.jsx(Ap,{value:1,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},children:"100%"})]})})]})},Poe=f.memo(_oe),joe=[{label:"Balanced",value:"balanced"},{label:"Prompt",value:"more_prompt"},{label:"Control",value:"more_control"},{label:"Mega Control",value:"unbalanced"}];function Ioe(e){const{controlMode:t,isEnabled:n,controlNetId:r}=e.controlNet,o=te(),s=f.useCallback(a=>{o(SM({controlNetId:r,controlMode:a}))},[r,o]);return i.jsx(Xr,{disabled:!n,label:"Control Mode",data:joe,value:String(t),onChange:s})}const Eoe=be(bO,e=>cs(ls,n=>({value:n.type,label:n.label})).sort((n,r)=>n.value==="none"?-1:r.value==="none"?1:n.label.localeCompare(r.label)).filter(n=>!e.sd.disabledControlNetProcessors.includes(n.value)),Je),Ooe=e=>{const t=te(),{controlNetId:n,isEnabled:r,processorNode:o}=e.controlNet,s=B(kr),a=B(Eoe),c=f.useCallback(d=>{t(CM({controlNetId:n,processorType:d}))},[n,t]);return i.jsx(ar,{label:"Processor",value:o.type??"canny_image_processor",data:a,onChange:c,disabled:s||!r})},Roe=f.memo(Ooe),Moe=[{label:"Resize",value:"just_resize"},{label:"Crop",value:"crop_resize"},{label:"Fill",value:"fill_resize"}];function Doe(e){const{resizeMode:t,isEnabled:n,controlNetId:r}=e.controlNet,o=te(),s=f.useCallback(a=>{o(kM({controlNetId:r,resizeMode:a}))},[r,o]);return i.jsx(Xr,{disabled:!n,label:"Resize Mode",data:Moe,value:String(t),onChange:s})}const Aoe=e=>{const{controlNet:t}=e,{controlNetId:n}=t,r=te(),o=be(lt,({controlNet:v})=>{const b=v.controlNets[n];if(!b)return{isEnabled:!1,shouldAutoConfig:!1};const{isEnabled:w,shouldAutoConfig:y}=b;return{isEnabled:w,shouldAutoConfig:y}},Je),{isEnabled:s,shouldAutoConfig:a}=B(o),[c,d]=Dee(!1),p=f.useCallback(()=>{r(_M({controlNetId:n}))},[n,r]),h=f.useCallback(()=>{r(PM({sourceControlNetId:n,newControlNetId:fi()}))},[n,r]),m=f.useCallback(()=>{r(jM({controlNetId:n}))},[n,r]);return i.jsxs(W,{sx:{flexDir:"column",gap:3,p:3,borderRadius:"base",position:"relative",bg:"base.200",_dark:{bg:"base.850"}},children:[i.jsxs(W,{sx:{gap:2,alignItems:"center"},children:[i.jsx(yr,{tooltip:"Toggle this ControlNet","aria-label":"Toggle this ControlNet",isChecked:s,onChange:m}),i.jsx(Re,{sx:{w:"full",minW:0,opacity:s?1:.5,pointerEvents:s?"auto":"none",transitionProperty:"common",transitionDuration:"0.1s"},children:i.jsx(Gre,{controlNet:t})}),i.jsx(ze,{size:"sm",tooltip:"Duplicate","aria-label":"Duplicate",onClick:h,icon:i.jsx(qc,{})}),i.jsx(ze,{size:"sm",tooltip:"Delete","aria-label":"Delete",colorScheme:"error",onClick:p,icon:i.jsx(Eo,{})}),i.jsx(ze,{size:"sm",tooltip:c?"Hide Advanced":"Show Advanced","aria-label":c?"Hide Advanced":"Show Advanced",onClick:d,variant:"ghost",sx:{_hover:{bg:"none"}},icon:i.jsx(zy,{sx:{boxSize:4,color:"base.700",transform:c?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal",_dark:{color:"base.300"}}})}),!a&&i.jsx(Re,{sx:{position:"absolute",w:1.5,h:1.5,borderRadius:"full",top:4,insetInlineEnd:4,bg:"accent.700",_dark:{bg:"accent.400"}}})]}),i.jsxs(W,{sx:{w:"full",flexDirection:"column",gap:3},children:[i.jsxs(W,{sx:{gap:4,w:"full",alignItems:"center"},children:[i.jsxs(W,{sx:{flexDir:"column",gap:3,h:28,w:"full",paddingInlineStart:1,paddingInlineEnd:c?1:0,pb:2,justifyContent:"space-between"},children:[i.jsx(Kre,{controlNet:t}),i.jsx(Poe,{controlNet:t})]}),!c&&i.jsx(W,{sx:{alignItems:"center",justifyContent:"center",h:28,w:28,aspectRatio:"1/1"},children:i.jsx(Tk,{controlNet:t,height:28})})]}),i.jsxs(W,{sx:{gap:2},children:[i.jsx(Ioe,{controlNet:t}),i.jsx(Doe,{controlNet:t})]}),i.jsx(Roe,{controlNet:t})]}),c&&i.jsxs(i.Fragment,{children:[i.jsx(Tk,{controlNet:t,height:"392px"}),i.jsx(koe,{controlNet:t}),i.jsx(Soe,{controlNet:t})]})]})},Toe=f.memo(Aoe),Noe=be(lt,e=>{const{isEnabled:t}=e.controlNet;return{isEnabled:t}},Je),$oe=()=>{const{isEnabled:e}=B(Noe),t=te(),n=f.useCallback(()=>{t(IM())},[t]);return i.jsx(yr,{label:"Enable ControlNet",isChecked:e,onChange:n,formControlProps:{width:"100%"}})},Loe=be([lt],({controlNet:e})=>{const{controlNets:t,isEnabled:n}=e,r=EM(t),o=n&&r.length>0?`${r.length} Active`:void 0;return{controlNetsArray:cs(t),activeLabel:o}},Je),zoe=()=>{const{controlNetsArray:e,activeLabel:t}=B(Loe),n=ir("controlNet").isFeatureDisabled,r=te(),{firstModel:o}=lb(void 0,{selectFromResult:a=>({firstModel:a.data?OM.getSelectors().selectAll(a.data)[0]:void 0})}),s=f.useCallback(()=>{if(!o)return;const a=fi();r(RM({controlNetId:a})),r(a5({controlNetId:a,model:o}))},[r,o]);return n?null:i.jsx(Mo,{label:"ControlNet",activeLabel:t,children:i.jsxs(W,{sx:{flexDir:"column",gap:3},children:[i.jsxs(W,{gap:2,alignItems:"center",children:[i.jsx(W,{sx:{flexDirection:"column",w:"100%",gap:2,px:4,py:2,borderRadius:4,bg:"base.200",_dark:{bg:"base.850"}},children:i.jsx($oe,{})}),i.jsx(ze,{tooltip:"Add ControlNet","aria-label":"Add ControlNet",icon:i.jsx(yl,{}),isDisabled:!o,flexGrow:1,size:"md",onClick:s})]}),e.map((a,c)=>i.jsxs(f.Fragment,{children:[c>0&&i.jsx(Wa,{}),i.jsx(Toe,{controlNet:a})]},a.controlNetId))]})})},sx=f.memo(zoe),Boe=be(Mi,e=>{const{seamlessXAxis:t}=e;return{seamlessXAxis:t}},Je),Foe=()=>{const{t:e}=ye(),{seamlessXAxis:t}=B(Boe),n=te(),r=f.useCallback(o=>{n(MM(o.target.checked))},[n]);return i.jsx(yr,{label:e("parameters.seamlessXAxis"),"aria-label":e("parameters.seamlessXAxis"),isChecked:t,onChange:r})},Hoe=f.memo(Foe),Woe=be(Mi,e=>{const{seamlessYAxis:t}=e;return{seamlessYAxis:t}},Je),Voe=()=>{const{t:e}=ye(),{seamlessYAxis:t}=B(Woe),n=te(),r=f.useCallback(o=>{n(DM(o.target.checked))},[n]);return i.jsx(yr,{label:e("parameters.seamlessYAxis"),"aria-label":e("parameters.seamlessYAxis"),isChecked:t,onChange:r})},Uoe=f.memo(Voe),Goe=(e,t)=>{if(e&&t)return"X & Y";if(e)return"X";if(t)return"Y"},qoe=be(Mi,e=>{const{seamlessXAxis:t,seamlessYAxis:n}=e;return{activeLabel:Goe(t,n)}},Je),Koe=()=>{const{t:e}=ye(),{activeLabel:t}=B(qoe);return ir("seamless").isFeatureEnabled?i.jsx(Mo,{label:e("parameters.seamlessTiling"),activeLabel:t,children:i.jsxs(W,{sx:{gap:5},children:[i.jsx(Re,{flexGrow:1,children:i.jsx(Hoe,{})}),i.jsx(Re,{flexGrow:1,children:i.jsx(Uoe,{})})]})}):null},qO=f.memo(Koe);function Xoe(){const e=B(o=>o.generation.horizontalSymmetrySteps),t=B(o=>o.generation.steps),n=te(),{t:r}=ye();return i.jsx(_t,{label:r("parameters.hSymmetryStep"),value:e,onChange:o=>n(fw(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(fw(0))})}function Yoe(){const e=B(o=>o.generation.verticalSymmetrySteps),t=B(o=>o.generation.steps),n=te(),{t:r}=ye();return i.jsx(_t,{label:r("parameters.vSymmetryStep"),value:e,onChange:o=>n(pw(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(pw(0))})}function Qoe(){const e=B(n=>n.generation.shouldUseSymmetry),t=te();return i.jsx(yr,{label:"Enable Symmetry",isChecked:e,onChange:n=>t(AM(n.target.checked))})}const Joe=be(lt,e=>({activeLabel:e.generation.shouldUseSymmetry?"Enabled":void 0}),Je),Zoe=()=>{const{t:e}=ye(),{activeLabel:t}=B(Joe);return ir("symmetry").isFeatureEnabled?i.jsx(Mo,{label:e("parameters.symmetry"),activeLabel:t,children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(Qoe,{}),i.jsx(Xoe,{}),i.jsx(Yoe,{})]})}):null},ax=f.memo(Zoe);function ix(){return i.jsxs(W,{sx:{flexDirection:"column",gap:2},children:[i.jsx(AO,{}),i.jsx(DO,{})]})}const ese=be([lt],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.img2imgStrength,{img2imgStrength:p}=e,h=t.shift?c:d;return{img2imgStrength:p,initial:r,min:o,sliderMax:s,inputMax:a,step:h}},Je),tse=()=>{const{img2imgStrength:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s}=B(ese),a=te(),{t:c}=ye(),d=f.useCallback(h=>a(Vp(h)),[a]),p=f.useCallback(()=>{a(Vp(t))},[a,t]);return i.jsx(_t,{label:`${c("parameters.denoisingStrength")}`,step:s,min:n,max:r,onChange:d,handleReset:p,value:e,isInteger:!1,withInput:!0,withSliderMarks:!0,withReset:!0,sliderNumberInputProps:{max:o}})},KO=f.memo(tse),nse=be([Ba,Mi],(e,t)=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Je),rse=()=>{const{shouldUseSliders:e,activeLabel:t}=B(nse);return i.jsx(Mo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(W,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(Mc,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(Mc,{})]}),i.jsx(KO,{}),i.jsx(BO,{})]})})},ose=f.memo(rse),XO=()=>i.jsxs(i.Fragment,{children:[i.jsx(ix,{}),i.jsx(Yd,{}),i.jsx(ose,{}),i.jsx(sx,{}),i.jsx(Jd,{}),i.jsx(Kd,{}),i.jsx(ag,{}),i.jsx(ax,{}),i.jsx(qO,{}),i.jsx(ox,{})]}),sse=()=>{const e=te(),t=f.useRef(null),n=B(o=>o.generation.model),r=f.useCallback(()=>{t.current&&t.current.setLayout([50,50])},[]);return i.jsxs(W,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(rx,{children:n&&n.base_model==="sdxl"?i.jsx(FO,{}):i.jsx(XO,{})}),i.jsx(Re,{sx:{w:"full",h:"full"},children:i.jsxs(Jy,{ref:t,autoSaveId:"imageTab.content",direction:"horizontal",style:{height:"100%",width:"100%"},children:[i.jsx(md,{id:"imageTab.content.initImage",order:0,defaultSize:50,minSize:25,style:{position:"relative"},children:i.jsx(jte,{})}),i.jsx(WO,{onDoubleClick:r}),i.jsx(md,{id:"imageTab.content.selectedImage",order:1,defaultSize:50,minSize:25,onResize:()=>{e(ko())},children:i.jsx(UO,{})})]})})]})},ase=f.memo(sse);var ise=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,o,s;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(o=r;o--!==0;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(s=Object.keys(t),r=s.length,r!==Object.keys(n).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[o]))return!1;for(o=r;o--!==0;){var a=s[o];if(!e(t[a],n[a]))return!1}return!0}return t!==t&&n!==n};const Gk=yd(ise);function z1(e){return e===null||typeof e!="object"?{}:Object.keys(e).reduce((t,n)=>{const r=e[n];return r!=null&&r!==!1&&(t[n]=r),t},{})}var lse=Object.defineProperty,qk=Object.getOwnPropertySymbols,cse=Object.prototype.hasOwnProperty,use=Object.prototype.propertyIsEnumerable,Kk=(e,t,n)=>t in e?lse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dse=(e,t)=>{for(var n in t||(t={}))cse.call(t,n)&&Kk(e,n,t[n]);if(qk)for(var n of qk(t))use.call(t,n)&&Kk(e,n,t[n]);return e};function YO(e,t){if(t===null||typeof t!="object")return{};const n=dse({},t);return Object.keys(t).forEach(r=>{r.includes(`${String(e)}.`)&&delete n[r]}),n}const fse="__MANTINE_FORM_INDEX__";function Xk(e,t){return t?typeof t=="boolean"?t:Array.isArray(t)?t.includes(e.replace(/[.][0-9]/g,`.${fse}`)):!1:!1}function Yk(e,t,n){typeof n.value=="object"&&(n.value=ec(n.value)),!n.enumerable||n.get||n.set||!n.configurable||!n.writable||t==="__proto__"?Object.defineProperty(e,t,n):e[t]=n.value}function ec(e){if(typeof e!="object")return e;var t=0,n,r,o,s=Object.prototype.toString.call(e);if(s==="[object Object]"?o=Object.create(e.__proto__||null):s==="[object Array]"?o=Array(e.length):s==="[object Set]"?(o=new Set,e.forEach(function(a){o.add(ec(a))})):s==="[object Map]"?(o=new Map,e.forEach(function(a,c){o.set(ec(c),ec(a))})):s==="[object Date]"?o=new Date(+e):s==="[object RegExp]"?o=new RegExp(e.source,e.flags):s==="[object DataView]"?o=new e.constructor(ec(e.buffer)):s==="[object ArrayBuffer]"?o=e.slice(0):s.slice(-6)==="Array]"&&(o=new e.constructor(e)),o){for(r=Object.getOwnPropertySymbols(e);t0,errors:t}}function B1(e,t,n="",r={}){return typeof e!="object"||e===null?r:Object.keys(e).reduce((o,s)=>{const a=e[s],c=`${n===""?"":`${n}.`}${s}`,d=xa(c,t);let p=!1;return typeof a=="function"&&(o[c]=a(d,t,c)),typeof a=="object"&&Array.isArray(d)&&(p=!0,d.forEach((h,m)=>B1(a,t,`${c}.${m}`,o))),typeof a=="object"&&typeof d=="object"&&d!==null&&(p||B1(a,t,c,o)),o},r)}function F1(e,t){return Qk(typeof e=="function"?e(t):B1(e,t))}function Pp(e,t,n){if(typeof e!="string")return{hasError:!1,error:null};const r=F1(t,n),o=Object.keys(r.errors).find(s=>e.split(".").every((a,c)=>a===s.split(".")[c]));return{hasError:!!o,error:o?r.errors[o]:null}}function pse(e,{from:t,to:n},r){const o=xa(e,r);if(!Array.isArray(o))return r;const s=[...o],a=o[t];return s.splice(t,1),s.splice(n,0,a),dg(e,s,r)}var hse=Object.defineProperty,Jk=Object.getOwnPropertySymbols,mse=Object.prototype.hasOwnProperty,gse=Object.prototype.propertyIsEnumerable,Zk=(e,t,n)=>t in e?hse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vse=(e,t)=>{for(var n in t||(t={}))mse.call(t,n)&&Zk(e,n,t[n]);if(Jk)for(var n of Jk(t))gse.call(t,n)&&Zk(e,n,t[n]);return e};function bse(e,{from:t,to:n},r){const o=`${e}.${t}`,s=`${e}.${n}`,a=vse({},r);return Object.keys(r).every(c=>{let d,p;if(c.startsWith(o)&&(d=c,p=c.replace(o,s)),c.startsWith(s)&&(d=c.replace(s,o),p=c),d&&p){const h=a[d],m=a[p];return m===void 0?delete a[d]:a[d]=m,h===void 0?delete a[p]:a[p]=h,!1}return!0}),a}function yse(e,t,n){const r=xa(e,n);return Array.isArray(r)?dg(e,r.filter((o,s)=>s!==t),n):n}var xse=Object.defineProperty,e_=Object.getOwnPropertySymbols,wse=Object.prototype.hasOwnProperty,Sse=Object.prototype.propertyIsEnumerable,t_=(e,t,n)=>t in e?xse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Cse=(e,t)=>{for(var n in t||(t={}))wse.call(t,n)&&t_(e,n,t[n]);if(e_)for(var n of e_(t))Sse.call(t,n)&&t_(e,n,t[n]);return e};function n_(e,t){const n=e.substring(t.length+1).split(".")[0];return parseInt(n,10)}function r_(e,t,n,r){if(t===void 0)return n;const o=`${String(e)}`;let s=n;r===-1&&(s=YO(`${o}.${t}`,s));const a=Cse({},s),c=new Set;return Object.entries(s).filter(([d])=>{if(!d.startsWith(`${o}.`))return!1;const p=n_(d,o);return Number.isNaN(p)?!1:p>=t}).forEach(([d,p])=>{const h=n_(d,o),m=d.replace(`${o}.${h}`,`${o}.${h+r}`);a[m]=p,c.add(m),c.has(d)||delete a[d]}),a}function kse(e,t,n,r){const o=xa(e,r);if(!Array.isArray(o))return r;const s=[...o];return s.splice(typeof n=="number"?n:s.length,0,t),dg(e,s,r)}function o_(e,t){const n=Object.keys(e);if(typeof t=="string"){const r=n.filter(o=>o.startsWith(`${t}.`));return e[t]||r.some(o=>e[o])||!1}return n.some(r=>e[r])}function _se(e){return t=>{if(!t)e(t);else if(typeof t=="function")e(t);else if(typeof t=="object"&&"nativeEvent"in t){const{currentTarget:n}=t;n instanceof HTMLInputElement?n.type==="checkbox"?e(n.checked):e(n.value):(n instanceof HTMLTextAreaElement||n instanceof HTMLSelectElement)&&e(n.value)}else e(t)}}var Pse=Object.defineProperty,jse=Object.defineProperties,Ise=Object.getOwnPropertyDescriptors,s_=Object.getOwnPropertySymbols,Ese=Object.prototype.hasOwnProperty,Ose=Object.prototype.propertyIsEnumerable,a_=(e,t,n)=>t in e?Pse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ri=(e,t)=>{for(var n in t||(t={}))Ese.call(t,n)&&a_(e,n,t[n]);if(s_)for(var n of s_(t))Ose.call(t,n)&&a_(e,n,t[n]);return e},vv=(e,t)=>jse(e,Ise(t));function Sl({initialValues:e={},initialErrors:t={},initialDirty:n={},initialTouched:r={},clearInputErrorOnChange:o=!0,validateInputOnChange:s=!1,validateInputOnBlur:a=!1,transformValues:c=p=>p,validate:d}={}){const[p,h]=f.useState(r),[m,v]=f.useState(n),[b,w]=f.useState(e),[y,S]=f.useState(z1(t)),k=f.useRef(e),_=K=>{k.current=K},P=f.useCallback(()=>h({}),[]),I=K=>{const U=K?ri(ri({},b),K):b;_(U),v({})},E=f.useCallback(K=>S(U=>z1(typeof K=="function"?K(U):K)),[]),O=f.useCallback(()=>S({}),[]),R=f.useCallback(()=>{w(e),O(),_(e),v({}),P()},[]),M=f.useCallback((K,U)=>E(se=>vv(ri({},se),{[K]:U})),[]),D=f.useCallback(K=>E(U=>{if(typeof K!="string")return U;const se=ri({},U);return delete se[K],se}),[]),A=f.useCallback(K=>v(U=>{if(typeof K!="string")return U;const se=YO(K,U);return delete se[K],se}),[]),L=f.useCallback((K,U)=>{const se=Xk(K,s);A(K),h(re=>vv(ri({},re),{[K]:!0})),w(re=>{const oe=dg(K,U,re);if(se){const pe=Pp(K,d,oe);pe.hasError?M(K,pe.error):D(K)}return oe}),!se&&o&&M(K,null)},[]),Q=f.useCallback(K=>{w(U=>{const se=typeof K=="function"?K(U):K;return ri(ri({},U),se)}),o&&O()},[]),F=f.useCallback((K,U)=>{A(K),w(se=>pse(K,U,se)),S(se=>bse(K,U,se))},[]),V=f.useCallback((K,U)=>{A(K),w(se=>yse(K,U,se)),S(se=>r_(K,U,se,-1))},[]),q=f.useCallback((K,U,se)=>{A(K),w(re=>kse(K,U,se,re)),S(re=>r_(K,se,re,1))},[]),G=f.useCallback(()=>{const K=F1(d,b);return S(K.errors),K},[b,d]),T=f.useCallback(K=>{const U=Pp(K,d,b);return U.hasError?M(K,U.error):D(K),U},[b,d]),z=(K,{type:U="input",withError:se=!0,withFocus:re=!0}={})=>{const pe={onChange:_se(le=>L(K,le))};return se&&(pe.error=y[K]),U==="checkbox"?pe.checked=xa(K,b):pe.value=xa(K,b),re&&(pe.onFocus=()=>h(le=>vv(ri({},le),{[K]:!0})),pe.onBlur=()=>{if(Xk(K,a)){const le=Pp(K,d,b);le.hasError?M(K,le.error):D(K)}}),pe},$=(K,U)=>se=>{se==null||se.preventDefault();const re=G();re.hasErrors?U==null||U(re.errors,b,se):K==null||K(c(b),se)},Y=K=>c(K||b),ae=f.useCallback(K=>{K.preventDefault(),R()},[]),fe=K=>{if(K){const se=xa(K,m);if(typeof se=="boolean")return se;const re=xa(K,b),oe=xa(K,k.current);return!Gk(re,oe)}return Object.keys(m).length>0?o_(m):!Gk(b,k.current)},ie=f.useCallback(K=>o_(p,K),[p]),X=f.useCallback(K=>K?!Pp(K,d,b).hasError:!F1(d,b).hasErrors,[b,d]);return{values:b,errors:y,setValues:Q,setErrors:E,setFieldValue:L,setFieldError:M,clearFieldError:D,clearErrors:O,reset:R,validate:G,validateField:T,reorderListItem:F,removeListItem:V,insertListItem:q,getInputProps:z,onSubmit:$,onReset:ae,isDirty:fe,isTouched:ie,setTouched:h,setDirty:v,resetTouched:P,resetDirty:I,isValid:X,getTransformedValues:Y}}function br(e){const{...t}=e,{base50:n,base100:r,base200:o,base300:s,base800:a,base700:c,base900:d,accent500:p,accent300:h}=by(),{colorMode:m}=Ds();return i.jsx(FI,{styles:()=>({input:{color:Fe(d,r)(m),backgroundColor:Fe(n,d)(m),borderColor:Fe(o,a)(m),borderWidth:2,outline:"none",":focus":{borderColor:Fe(h,p)(m)}},label:{color:Fe(c,s)(m),fontWeight:"normal",marginBottom:4}}),...t})}const Rse=[{value:"sd-1",label:Qn["sd-1"]},{value:"sd-2",label:Qn["sd-2"]},{value:"sdxl",label:Qn.sdxl},{value:"sdxl-refiner",label:Qn["sdxl-refiner"]}];function Zd(e){const{...t}=e,{t:n}=ye();return i.jsx(Xr,{label:n("modelManager.baseModel"),data:Rse,...t})}function JO(e){const{data:t}=i5(),{...n}=e;return i.jsx(Xr,{label:"Config File",placeholder:"Select A Config File",data:t||[],...n})}const Mse=[{value:"normal",label:"Normal"},{value:"inpaint",label:"Inpaint"},{value:"depth",label:"Depth"}];function fg(e){const{...t}=e,{t:n}=ye();return i.jsx(Xr,{label:n("modelManager.variant"),data:Mse,...t})}function ZO(e){var p;const{t}=ye(),n=te(),{model_path:r}=e,o=Sl({initialValues:{model_name:((p=r==null?void 0:r.split("\\").splice(-1)[0])==null?void 0:p.split(".")[0])??"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"checkpoint",error:void 0,vae:"",variant:"normal",config:"configs\\stable-diffusion\\v1-inference.yaml"}}),[s]=l5(),[a,c]=f.useState(!1),d=h=>{s({body:h}).unwrap().then(m=>{n(On(Mn({title:`Model Added: ${h.model_name}`,status:"success"}))),o.reset(),r&&n(Cd(null))}).catch(m=>{m&&n(On(Mn({title:"Model Add Failed",status:"error"})))})};return i.jsx("form",{onSubmit:o.onSubmit(h=>d(h)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsx(br,{label:"Model Name",required:!0,...o.getInputProps("model_name")}),i.jsx(Zd,{...o.getInputProps("base_model")}),i.jsx(br,{label:"Model Location",required:!0,...o.getInputProps("path")}),i.jsx(br,{label:"Description",...o.getInputProps("description")}),i.jsx(br,{label:"VAE Location",...o.getInputProps("vae")}),i.jsx(fg,{...o.getInputProps("variant")}),i.jsxs(W,{flexDirection:"column",width:"100%",gap:2,children:[a?i.jsx(br,{required:!0,label:"Custom Config File Location",...o.getInputProps("config")}):i.jsx(JO,{required:!0,width:"100%",...o.getInputProps("config")}),i.jsx(Gn,{isChecked:a,onChange:()=>c(!a),label:"Use Custom Config"}),i.jsx(Yt,{mt:2,type:"submit",children:t("modelManager.addModel")})]})]})})}function e8(e){const{t}=ye(),n=te(),{model_path:r}=e,[o]=l5(),s=Sl({initialValues:{model_name:(r==null?void 0:r.split("\\").splice(-1)[0])??"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"diffusers",error:void 0,vae:"",variant:"normal"}}),a=c=>{o({body:c}).unwrap().then(d=>{n(On(Mn({title:`Model Added: ${c.model_name}`,status:"success"}))),s.reset(),r&&n(Cd(null))}).catch(d=>{d&&n(On(Mn({title:"Model Add Failed",status:"error"})))})};return i.jsx("form",{onSubmit:s.onSubmit(c=>a(c)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsx(br,{required:!0,label:"Model Name",...s.getInputProps("model_name")}),i.jsx(Zd,{...s.getInputProps("base_model")}),i.jsx(br,{required:!0,label:"Model Location",placeholder:"Provide the path to a local folder where your Diffusers Model is stored",...s.getInputProps("path")}),i.jsx(br,{label:"Description",...s.getInputProps("description")}),i.jsx(br,{label:"VAE Location",...s.getInputProps("vae")}),i.jsx(fg,{...s.getInputProps("variant")}),i.jsx(Yt,{mt:2,type:"submit",children:t("modelManager.addModel")})]})})}const t8=[{label:"Diffusers",value:"diffusers"},{label:"Checkpoint / Safetensors",value:"checkpoint"}];function Dse(){const[e,t]=f.useState("diffusers");return i.jsxs(W,{flexDirection:"column",gap:4,width:"100%",children:[i.jsx(Xr,{label:"Model Type",value:e,data:t8,onChange:n=>{n&&t(n)}}),i.jsxs(W,{sx:{p:4,borderRadius:4,bg:"base.300",_dark:{bg:"base.850"}},children:[e==="diffusers"&&i.jsx(e8,{}),e==="checkpoint"&&i.jsx(ZO,{})]})]})}const Ase=[{label:"None",value:"none"},{label:"v_prediction",value:"v_prediction"},{label:"epsilon",value:"epsilon"},{label:"sample",value:"sample"}];function Tse(){const e=te(),{t}=ye(),n=B(c=>c.system.isProcessing),[r,{isLoading:o}]=c5(),s=Sl({initialValues:{location:"",prediction_type:void 0}}),a=c=>{const d={location:c.location,prediction_type:c.prediction_type==="none"?void 0:c.prediction_type};r({body:d}).unwrap().then(p=>{e(On(Mn({title:"Model Added",status:"success"}))),s.reset()}).catch(p=>{p&&(console.log(p),e(On(Mn({title:`${p.data.detail} `,status:"error"}))))})};return i.jsx("form",{onSubmit:s.onSubmit(c=>a(c)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",width:"100%",gap:4,children:[i.jsx(br,{label:"Model Location",placeholder:"Provide a path to a local Diffusers model, local checkpoint / safetensors model a HuggingFace Repo ID, or a checkpoint/diffusers model URL.",w:"100%",...s.getInputProps("location")}),i.jsx(Xr,{label:"Prediction Type (for Stable Diffusion 2.x Models only)",data:Ase,defaultValue:"none",...s.getInputProps("prediction_type")}),i.jsx(Yt,{type:"submit",isLoading:o,isDisabled:o||n,children:t("modelManager.addModel")})]})})}function Nse(){const[e,t]=f.useState("simple");return i.jsxs(W,{flexDirection:"column",width:"100%",overflow:"scroll",maxHeight:window.innerHeight-250,gap:4,children:[i.jsxs(rr,{isAttached:!0,children:[i.jsx(Yt,{size:"sm",isChecked:e=="simple",onClick:()=>t("simple"),children:"Simple"}),i.jsx(Yt,{size:"sm",isChecked:e=="advanced",onClick:()=>t("advanced"),children:"Advanced"})]}),i.jsxs(W,{sx:{p:4,borderRadius:4,background:"base.200",_dark:{background:"base.800"}},children:[e==="simple"&&i.jsx(Tse,{}),e==="advanced"&&i.jsx(Dse,{})]})]})}const $se={display:"flex",flexDirection:"row",alignItems:"center",gap:10},Lse=e=>{const{label:t="",labelPos:n="top",isDisabled:r=!1,isInvalid:o,formControlProps:s,...a}=e,c=te(),d=f.useCallback(h=>{h.shiftKey&&c(jo(!0))},[c]),p=f.useCallback(h=>{h.shiftKey||c(jo(!1))},[c]);return i.jsxs(go,{isInvalid:o,isDisabled:r,...s,style:n==="side"?$se:void 0,children:[t!==""&&i.jsx(Bo,{children:t}),i.jsx(Ed,{...a,onPaste:ex,onKeyDown:d,onKeyUp:p})]})},Dc=f.memo(Lse);function zse(e){const{...t}=e;return i.jsx(Aj,{w:"100%",...t,children:e.children})}function Bse(){const e=B(y=>y.modelmanager.searchFolder),[t,n]=f.useState(""),{data:r}=na(Gi),{foundModels:o,alreadyInstalled:s,filteredModels:a}=u5({search_path:e||""},{selectFromResult:({data:y})=>{const S=b9(r==null?void 0:r.entities),k=cs(S,"path"),_=m9(y,k),P=C9(y,k);return{foundModels:y,alreadyInstalled:i_(P,t),filteredModels:i_(_,t)}}}),[c,{isLoading:d}]=c5(),p=te(),{t:h}=ye(),m=f.useCallback(y=>{const S=y.currentTarget.id.split("\\").splice(-1)[0];c({body:{location:y.currentTarget.id}}).unwrap().then(k=>{p(On(Mn({title:`Added Model: ${S}`,status:"success"})))}).catch(k=>{k&&p(On(Mn({title:"Failed To Add Model",status:"error"})))})},[p,c]),v=f.useCallback(y=>{n(y.target.value)},[]),b=({models:y,showActions:S=!0})=>y.map(k=>i.jsxs(W,{sx:{p:4,gap:4,alignItems:"center",borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(W,{w:"100%",sx:{flexDirection:"column",minW:"25%"},children:[i.jsx(Qe,{sx:{fontWeight:600},children:k.split("\\").slice(-1)[0]}),i.jsx(Qe,{sx:{fontSize:"sm",color:"base.600",_dark:{color:"base.400"}},children:k})]}),S?i.jsxs(W,{gap:2,children:[i.jsx(Yt,{id:k,onClick:m,isLoading:d,children:"Quick Add"}),i.jsx(Yt,{onClick:()=>p(Cd(k)),isLoading:d,children:"Advanced"})]}):i.jsx(Qe,{sx:{fontWeight:600,p:2,borderRadius:4,color:"accent.50",bg:"accent.400",_dark:{color:"accent.100",bg:"accent.600"}},children:"Installed"})]},k));return(()=>e?!o||o.length===0?i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",height:96,userSelect:"none",bg:"base.200",_dark:{bg:"base.900"}},children:i.jsx(Qe,{variant:"subtext",children:"No Models Found"})}):i.jsxs(W,{sx:{flexDirection:"column",gap:2,w:"100%",minW:"50%"},children:[i.jsx(Dc,{onChange:v,label:h("modelManager.search"),labelPos:"side"}),i.jsxs(W,{p:2,gap:2,children:[i.jsxs(Qe,{sx:{fontWeight:600},children:["Models Found: ",o.length]}),i.jsxs(Qe,{sx:{fontWeight:600,color:"accent.500",_dark:{color:"accent.200"}},children:["Not Installed: ",a.length]})]}),i.jsx(zse,{offsetScrollbars:!0,children:i.jsxs(W,{gap:2,flexDirection:"column",children:[b({models:a}),b({models:s,showActions:!1})]})})]}):null)()}const i_=(e,t)=>{const n=[];return oo(e,r=>{if(!r)return null;r.includes(t)&&n.push(r)}),n};function Fse(){const e=B(a=>a.modelmanager.advancedAddScanModel),[t,n]=f.useState("diffusers"),[r,o]=f.useState(!0);f.useEffect(()=>{e&&[".ckpt",".safetensors",".pth",".pt"].some(a=>e.endsWith(a))?n("checkpoint"):n("diffusers")},[e,n,r]);const s=te();return e?i.jsxs(Re,{as:Er.div,initial:{x:-100,opacity:0},animate:{x:0,opacity:1,transition:{duration:.2}},sx:{display:"flex",flexDirection:"column",minWidth:"40%",maxHeight:window.innerHeight-300,overflow:"scroll",p:4,gap:4,borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(W,{justifyContent:"space-between",alignItems:"center",children:[i.jsx(Qe,{size:"xl",fontWeight:600,children:r||t==="checkpoint"?"Add Checkpoint Model":"Add Diffusers Model"}),i.jsx(ze,{icon:i.jsx(sQ,{}),"aria-label":"Close Advanced",onClick:()=>s(Cd(null)),size:"sm"})]}),i.jsx(Xr,{label:"Model Type",value:t,data:t8,onChange:a=>{a&&(n(a),o(a==="checkpoint"))}}),r?i.jsx(ZO,{model_path:e},e):i.jsx(e8,{model_path:e},e)]}):null}function Hse(){const e=te(),{t}=ye(),n=B(c=>c.modelmanager.searchFolder),{refetch:r}=u5({search_path:n||""}),o=Sl({initialValues:{folder:""}}),s=f.useCallback(c=>{e(hw(c.folder))},[e]),a=()=>{r()};return i.jsx("form",{onSubmit:o.onSubmit(c=>s(c)),style:{width:"100%"},children:i.jsxs(W,{sx:{w:"100%",gap:2,borderRadius:4,alignItems:"center"},children:[i.jsxs(W,{w:"100%",alignItems:"center",gap:4,minH:12,children:[i.jsx(Qe,{sx:{fontSize:"sm",fontWeight:600,color:"base.700",minW:"max-content",_dark:{color:"base.300"}},children:"Folder"}),n?i.jsx(W,{sx:{w:"100%",p:2,px:4,bg:"base.300",borderRadius:4,fontSize:"sm",fontWeight:"bold",_dark:{bg:"base.700"}},children:n}):i.jsx(Dc,{w:"100%",size:"md",...o.getInputProps("folder")})]}),i.jsxs(W,{gap:2,children:[n?i.jsx(ze,{"aria-label":t("modelManager.scanAgain"),tooltip:t("modelManager.scanAgain"),icon:i.jsx(cE,{}),onClick:a,fontSize:18,size:"sm"}):i.jsx(ze,{"aria-label":t("modelManager.findModels"),tooltip:t("modelManager.findModels"),icon:i.jsx(tQ,{}),fontSize:18,size:"sm",type:"submit"}),i.jsx(ze,{"aria-label":t("modelManager.clearCheckpointFolder"),tooltip:t("modelManager.clearCheckpointFolder"),icon:i.jsx(Eo,{}),size:"sm",onClick:()=>{e(hw(null)),e(Cd(null))},isDisabled:!n,colorScheme:"red"})]})]})})}const Wse=f.memo(Hse);function Vse(){return i.jsxs(W,{flexDirection:"column",w:"100%",gap:4,children:[i.jsx(Wse,{}),i.jsxs(W,{gap:4,children:[i.jsx(W,{sx:{maxHeight:window.innerHeight-300,overflow:"scroll",gap:4,w:"100%"},children:i.jsx(Bse,{})}),i.jsx(Fse,{})]})]})}function Use(){const[e,t]=f.useState("add"),{t:n}=ye();return i.jsxs(W,{flexDirection:"column",gap:4,children:[i.jsxs(rr,{isAttached:!0,children:[i.jsx(Yt,{onClick:()=>t("add"),isChecked:e=="add",size:"sm",width:"100%",children:n("modelManager.addModel")}),i.jsx(Yt,{onClick:()=>t("scan"),isChecked:e=="scan",size:"sm",width:"100%",children:n("modelManager.scanForModels")})]}),e=="add"&&i.jsx(Nse,{}),e=="scan"&&i.jsx(Vse,{})]})}const Gse=[{label:"Stable Diffusion 1",value:"sd-1"},{label:"Stable Diffusion 2",value:"sd-2"}];function qse(){var T,z;const{t:e}=ye(),t=te(),{data:n}=na(Gi),[r,{isLoading:o}]=TM(),[s,a]=f.useState("sd-1"),c=Iw(n==null?void 0:n.entities,($,Y)=>($==null?void 0:$.model_format)==="diffusers"&&($==null?void 0:$.base_model)==="sd-1"),d=Iw(n==null?void 0:n.entities,($,Y)=>($==null?void 0:$.model_format)==="diffusers"&&($==null?void 0:$.base_model)==="sd-2"),p=f.useMemo(()=>({"sd-1":c,"sd-2":d}),[c,d]),[h,m]=f.useState(((T=Object.keys(p[s]))==null?void 0:T[0])??null),[v,b]=f.useState(((z=Object.keys(p[s]))==null?void 0:z[1])??null),[w,y]=f.useState(null),[S,k]=f.useState(""),[_,P]=f.useState(.5),[I,E]=f.useState("weighted_sum"),[O,R]=f.useState("root"),[M,D]=f.useState(""),[A,L]=f.useState(!1),Q=Object.keys(p[s]).filter($=>$!==v&&$!==w),F=Object.keys(p[s]).filter($=>$!==h&&$!==w),V=Object.keys(p[s]).filter($=>$!==h&&$!==v),q=$=>{a($),m(null),b(null)},G=()=>{const $=[];let Y=[h,v,w];Y=Y.filter(fe=>fe!==null),Y.forEach(fe=>{var X;const ie=(X=fe==null?void 0:fe.split("/"))==null?void 0:X[2];ie&&$.push(ie)});const ae={model_names:$,merged_model_name:S!==""?S:$.join("-"),alpha:_,interp:I,force:A,merge_dest_directory:O==="root"?void 0:M};r({base_model:s,body:ae}).unwrap().then(fe=>{t(On(Mn({title:e("modelManager.modelsMerged"),status:"success"})))}).catch(fe=>{fe&&t(On(Mn({title:e("modelManager.modelsMergeFailed"),status:"error"})))})};return i.jsxs(W,{flexDirection:"column",rowGap:4,children:[i.jsxs(W,{sx:{flexDirection:"column",rowGap:1},children:[i.jsx(Qe,{children:e("modelManager.modelMergeHeaderHelp1")}),i.jsx(Qe,{fontSize:"sm",variant:"subtext",children:e("modelManager.modelMergeHeaderHelp2")})]}),i.jsxs(W,{columnGap:4,children:[i.jsx(Xr,{label:"Model Type",w:"100%",data:Gse,value:s,onChange:q}),i.jsx(ar,{label:e("modelManager.modelOne"),w:"100%",value:h,placeholder:e("modelManager.selectModel"),data:Q,onChange:$=>m($)}),i.jsx(ar,{label:e("modelManager.modelTwo"),w:"100%",placeholder:e("modelManager.selectModel"),value:v,data:F,onChange:$=>b($)}),i.jsx(ar,{label:e("modelManager.modelThree"),data:V,w:"100%",placeholder:e("modelManager.selectModel"),clearable:!0,onChange:$=>{$?(y($),E("weighted_sum")):(y(null),E("add_difference"))}})]}),i.jsx(Dc,{label:e("modelManager.mergedModelName"),value:S,onChange:$=>k($.target.value)}),i.jsxs(W,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(_t,{label:e("modelManager.alpha"),min:.01,max:.99,step:.01,value:_,onChange:$=>P($),withInput:!0,withReset:!0,handleReset:()=>P(.5),withSliderMarks:!0}),i.jsx(Qe,{variant:"subtext",fontSize:"sm",children:e("modelManager.modelMergeAlphaHelp")})]}),i.jsxs(W,{sx:{padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(Qe,{fontWeight:500,fontSize:"sm",variant:"subtext",children:e("modelManager.interpolationType")}),i.jsx(oh,{value:I,onChange:$=>E($),children:i.jsx(W,{columnGap:4,children:w===null?i.jsxs(i.Fragment,{children:[i.jsx(ya,{value:"weighted_sum",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.weightedSum")})}),i.jsx(ya,{value:"sigmoid",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.sigmoid")})}),i.jsx(ya,{value:"inv_sigmoid",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.inverseSigmoid")})})]}):i.jsx(ya,{value:"add_difference",children:i.jsx(vn,{label:e("modelManager.modelMergeInterpAddDifferenceHelp"),children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.addDifference")})})})})})]}),i.jsxs(W,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.900"}},children:[i.jsxs(W,{columnGap:4,children:[i.jsx(Qe,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:e("modelManager.mergedModelSaveLocation")}),i.jsx(oh,{value:O,onChange:$=>R($),children:i.jsxs(W,{columnGap:4,children:[i.jsx(ya,{value:"root",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.invokeAIFolder")})}),i.jsx(ya,{value:"custom",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.custom")})})]})})]}),O==="custom"&&i.jsx(Dc,{label:e("modelManager.mergedModelCustomSaveLocation"),value:M,onChange:$=>D($.target.value)})]}),i.jsx(Gn,{label:e("modelManager.ignoreMismatch"),isChecked:A,onChange:$=>L($.target.checked),fontWeight:"500"}),i.jsx(Yt,{onClick:G,isLoading:o,isDisabled:h===null||v===null,children:e("modelManager.merge")})]})}const Kse=Ae((e,t)=>{const{t:n}=ye(),{acceptButtonText:r=n("common.accept"),acceptCallback:o,cancelButtonText:s=n("common.cancel"),cancelCallback:a,children:c,title:d,triggerComponent:p}=e,{isOpen:h,onOpen:m,onClose:v}=ss(),b=f.useRef(null),w=()=>{o(),v()},y=()=>{a&&a(),v()};return i.jsxs(i.Fragment,{children:[f.cloneElement(p,{onClick:m,ref:t}),i.jsx(Td,{isOpen:h,leastDestructiveRef:b,onClose:v,isCentered:!0,children:i.jsx(Aa,{children:i.jsxs(Nd,{children:[i.jsx(Da,{fontSize:"lg",fontWeight:"bold",children:d}),i.jsx(Ta,{children:c}),i.jsxs(Ma,{children:[i.jsx(Yt,{ref:b,onClick:y,children:s}),i.jsx(Yt,{colorScheme:"error",onClick:w,ml:3,children:r})]})]})})})]})}),lx=f.memo(Kse);function Xse(e){const{model:t}=e,n=te(),{t:r}=ye(),[o,{isLoading:s}]=NM(),[a,c]=f.useState("InvokeAIRoot"),[d,p]=f.useState("");f.useEffect(()=>{c("InvokeAIRoot")},[t]);const h=()=>{c("InvokeAIRoot")},m=()=>{const v={base_model:t.base_model,model_name:t.model_name,convert_dest_directory:a==="Custom"?d:void 0};if(a==="Custom"&&d===""){n(On(Mn({title:r("modelManager.noCustomLocationProvided"),status:"error"})));return}n(On(Mn({title:`${r("modelManager.convertingModelBegin")}: ${t.model_name}`,status:"info"}))),o(v).unwrap().then(()=>{n(On(Mn({title:`${r("modelManager.modelConverted")}: ${t.model_name}`,status:"success"})))}).catch(()=>{n(On(Mn({title:`${r("modelManager.modelConversionFailed")}: ${t.model_name}`,status:"error"})))})};return i.jsxs(lx,{title:`${r("modelManager.convert")} ${t.model_name}`,acceptCallback:m,cancelCallback:h,acceptButtonText:`${r("modelManager.convert")}`,triggerComponent:i.jsxs(Yt,{size:"sm","aria-label":r("modelManager.convertToDiffusers"),className:" modal-close-btn",isLoading:s,children:["🧨 ",r("modelManager.convertToDiffusers")]}),motionPreset:"slideInBottom",children:[i.jsxs(W,{flexDirection:"column",rowGap:4,children:[i.jsx(Qe,{children:r("modelManager.convertToDiffusersHelpText1")}),i.jsxs(Ab,{children:[i.jsx(Sa,{children:r("modelManager.convertToDiffusersHelpText2")}),i.jsx(Sa,{children:r("modelManager.convertToDiffusersHelpText3")}),i.jsx(Sa,{children:r("modelManager.convertToDiffusersHelpText4")}),i.jsx(Sa,{children:r("modelManager.convertToDiffusersHelpText5")})]}),i.jsx(Qe,{children:r("modelManager.convertToDiffusersHelpText6")})]}),i.jsxs(W,{flexDir:"column",gap:2,children:[i.jsxs(W,{marginTop:4,flexDir:"column",gap:2,children:[i.jsx(Qe,{fontWeight:"600",children:r("modelManager.convertToDiffusersSaveLocation")}),i.jsx(oh,{value:a,onChange:v=>c(v),children:i.jsxs(W,{gap:4,children:[i.jsx(ya,{value:"InvokeAIRoot",children:i.jsx(vn,{label:"Save converted model in the InvokeAI root folder",children:r("modelManager.invokeRoot")})}),i.jsx(ya,{value:"Custom",children:i.jsx(vn,{label:"Save converted model in a custom folder",children:r("modelManager.custom")})})]})})]}),a==="Custom"&&i.jsxs(W,{flexDirection:"column",rowGap:2,children:[i.jsx(Qe,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:r("modelManager.customSaveLocation")}),i.jsx(Dc,{value:d,onChange:v=>{p(v.target.value)},width:"full"})]})]})]})}function Yse(e){const t=B(kr),{model:n}=e,[r,{isLoading:o}]=d5(),{data:s}=i5(),[a,c]=f.useState(!1);f.useEffect(()=>{s!=null&&s.includes(n.config)||c(!0)},[s,n.config]);const d=te(),{t:p}=ye(),h=Sl({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"checkpoint",vae:n.vae?n.vae:"",config:n.config?n.config:"",variant:n.variant},validate:{path:v=>v.trim().length===0?"Must provide a path":null}}),m=f.useCallback(v=>{const b={base_model:n.base_model,model_name:n.model_name,body:v};r(b).unwrap().then(w=>{h.setValues(w),d(On(Mn({title:p("modelManager.modelUpdated"),status:"success"})))}).catch(w=>{h.reset(),d(On(Mn({title:p("modelManager.modelUpdateFailed"),status:"error"})))})},[h,d,n.base_model,n.model_name,p,r]);return i.jsxs(W,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(W,{justifyContent:"space-between",alignItems:"center",children:[i.jsxs(W,{flexDirection:"column",children:[i.jsx(Qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(Qe,{fontSize:"sm",color:"base.400",children:[Qn[n.base_model]," Model"]})]}),[""].includes(n.base_model)?i.jsx(gl,{sx:{p:2,borderRadius:4,bg:"error.200",_dark:{bg:"error.400"}},children:"Conversion Not Supported"}):i.jsx(Xse,{model:n})]}),i.jsx(Wa,{}),i.jsx(W,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",children:i.jsx("form",{onSubmit:h.onSubmit(v=>m(v)),children:i.jsxs(W,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(br,{label:p("modelManager.name"),...h.getInputProps("model_name")}),i.jsx(br,{label:p("modelManager.description"),...h.getInputProps("description")}),i.jsx(Zd,{required:!0,...h.getInputProps("base_model")}),i.jsx(fg,{required:!0,...h.getInputProps("variant")}),i.jsx(br,{required:!0,label:p("modelManager.modelLocation"),...h.getInputProps("path")}),i.jsx(br,{label:p("modelManager.vaeLocation"),...h.getInputProps("vae")}),i.jsxs(W,{flexDirection:"column",gap:2,children:[a?i.jsx(br,{required:!0,label:p("modelManager.config"),...h.getInputProps("config")}):i.jsx(JO,{required:!0,...h.getInputProps("config")}),i.jsx(Gn,{isChecked:a,onChange:()=>c(!a),label:"Use Custom Config"})]}),i.jsx(Yt,{type:"submit",isDisabled:t||o,isLoading:o,children:p("modelManager.updateModel")})]})})})]})}function Qse(e){const t=B(kr),{model:n}=e,[r,{isLoading:o}]=d5(),s=te(),{t:a}=ye(),c=Sl({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"diffusers",vae:n.vae?n.vae:"",variant:n.variant},validate:{path:p=>p.trim().length===0?"Must provide a path":null}}),d=f.useCallback(p=>{const h={base_model:n.base_model,model_name:n.model_name,body:p};r(h).unwrap().then(m=>{c.setValues(m),s(On(Mn({title:a("modelManager.modelUpdated"),status:"success"})))}).catch(m=>{c.reset(),s(On(Mn({title:a("modelManager.modelUpdateFailed"),status:"error"})))})},[c,s,n.base_model,n.model_name,a,r]);return i.jsxs(W,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(W,{flexDirection:"column",children:[i.jsx(Qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(Qe,{fontSize:"sm",color:"base.400",children:[Qn[n.base_model]," Model"]})]}),i.jsx(Wa,{}),i.jsx("form",{onSubmit:c.onSubmit(p=>d(p)),children:i.jsxs(W,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(br,{label:a("modelManager.name"),...c.getInputProps("model_name")}),i.jsx(br,{label:a("modelManager.description"),...c.getInputProps("description")}),i.jsx(Zd,{required:!0,...c.getInputProps("base_model")}),i.jsx(fg,{required:!0,...c.getInputProps("variant")}),i.jsx(br,{required:!0,label:a("modelManager.modelLocation"),...c.getInputProps("path")}),i.jsx(br,{label:a("modelManager.vaeLocation"),...c.getInputProps("vae")}),i.jsx(Yt,{type:"submit",isDisabled:t||o,isLoading:o,children:a("modelManager.updateModel")})]})})]})}function Jse(e){const t=B(kr),{model:n}=e,[r,{isLoading:o}]=$M(),s=te(),{t:a}=ye(),c=Sl({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"lora",path:n.path?n.path:"",description:n.description?n.description:"",model_format:n.model_format},validate:{path:p=>p.trim().length===0?"Must provide a path":null}}),d=f.useCallback(p=>{const h={base_model:n.base_model,model_name:n.model_name,body:p};r(h).unwrap().then(m=>{c.setValues(m),s(On(Mn({title:a("modelManager.modelUpdated"),status:"success"})))}).catch(m=>{c.reset(),s(On(Mn({title:a("modelManager.modelUpdateFailed"),status:"error"})))})},[s,c,n.base_model,n.model_name,a,r]);return i.jsxs(W,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(W,{flexDirection:"column",children:[i.jsx(Qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(Qe,{fontSize:"sm",color:"base.400",children:[Qn[n.base_model]," Model ⋅"," ",LM[n.model_format]," format"]})]}),i.jsx(Wa,{}),i.jsx("form",{onSubmit:c.onSubmit(p=>d(p)),children:i.jsxs(W,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(br,{label:a("modelManager.name"),...c.getInputProps("model_name")}),i.jsx(br,{label:a("modelManager.description"),...c.getInputProps("description")}),i.jsx(Zd,{...c.getInputProps("base_model")}),i.jsx(br,{label:a("modelManager.modelLocation"),...c.getInputProps("path")}),i.jsx(Yt,{type:"submit",isDisabled:t||o,isLoading:o,children:a("modelManager.updateModel")})]})})]})}function Zse(e){const t=B(kr),{t:n}=ye(),r=te(),[o]=zM(),[s]=BM(),{model:a,isSelected:c,setSelectedModelId:d}=e,p=f.useCallback(()=>{d(a.id)},[a.id,d]),h=f.useCallback(()=>{const m={main:o,lora:s,onnx:o}[a.model_type];m(a).unwrap().then(v=>{r(On(Mn({title:`${n("modelManager.modelDeleted")}: ${a.model_name}`,status:"success"})))}).catch(v=>{v&&r(On(Mn({title:`${n("modelManager.modelDeleteFailed")}: ${a.model_name}`,status:"error"})))}),d(void 0)},[o,s,a,d,r,n]);return i.jsxs(W,{sx:{gap:2,alignItems:"center",w:"full"},children:[i.jsx(W,{as:Yt,isChecked:c,sx:{justifyContent:"start",p:2,borderRadius:"base",w:"full",alignItems:"center",bg:c?"accent.400":"base.100",color:c?"base.50":"base.800",_hover:{bg:c?"accent.500":"base.300",color:c?"base.50":"base.800"},_dark:{color:c?"base.50":"base.100",bg:c?"accent.600":"base.850",_hover:{color:c?"base.50":"base.100",bg:c?"accent.550":"base.700"}}},onClick:p,children:i.jsxs(W,{gap:4,alignItems:"center",children:[i.jsx(gl,{minWidth:14,p:.5,fontSize:"sm",variant:"solid",children:FM[a.base_model]}),i.jsx(vn,{label:a.description,hasArrow:!0,placement:"bottom",children:i.jsx(Qe,{sx:{fontWeight:500},children:a.model_name})})]})}),i.jsx(lx,{title:n("modelManager.deleteModel"),acceptCallback:h,acceptButtonText:n("modelManager.delete"),triggerComponent:i.jsx(ze,{icon:i.jsx(DJ,{}),"aria-label":n("modelManager.deleteConfig"),isDisabled:t,colorScheme:"error"}),children:i.jsxs(W,{rowGap:4,flexDirection:"column",children:[i.jsx("p",{style:{fontWeight:"bold"},children:n("modelManager.deleteMsg1")}),i.jsx("p",{children:n("modelManager.deleteMsg2")})]})})]})}const eae=e=>{const{selectedModelId:t,setSelectedModelId:n}=e,{t:r}=ye(),[o,s]=f.useState(""),[a,c]=f.useState("all"),{filteredDiffusersModels:d,isLoadingDiffusersModels:p}=na(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredDiffusersModels:ku(P,"main","diffusers",o),isLoadingDiffusersModels:I})}),{filteredCheckpointModels:h,isLoadingCheckpointModels:m}=na(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredCheckpointModels:ku(P,"main","checkpoint",o),isLoadingCheckpointModels:I})}),{filteredLoraModels:v,isLoadingLoraModels:b}=mm(void 0,{selectFromResult:({data:P,isLoading:I})=>({filteredLoraModels:ku(P,"lora",void 0,o),isLoadingLoraModels:I})}),{filteredOnnxModels:w,isLoadingOnnxModels:y}=Up(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredOnnxModels:ku(P,"onnx","onnx",o),isLoadingOnnxModels:I})}),{filteredOliveModels:S,isLoadingOliveModels:k}=Up(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredOliveModels:ku(P,"onnx","olive",o),isLoadingOliveModels:I})}),_=f.useCallback(P=>{s(P.target.value)},[]);return i.jsx(W,{flexDirection:"column",rowGap:4,width:"50%",minWidth:"50%",children:i.jsxs(W,{flexDirection:"column",gap:4,paddingInlineEnd:4,children:[i.jsxs(rr,{isAttached:!0,children:[i.jsx(Yt,{onClick:()=>c("all"),isChecked:a==="all",size:"sm",children:r("modelManager.allModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("diffusers"),isChecked:a==="diffusers",children:r("modelManager.diffusersModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("checkpoint"),isChecked:a==="checkpoint",children:r("modelManager.checkpointModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("onnx"),isChecked:a==="onnx",children:r("modelManager.onnxModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("olive"),isChecked:a==="olive",children:r("modelManager.oliveModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("lora"),isChecked:a==="lora",children:r("modelManager.loraModels")})]}),i.jsx(Dc,{onChange:_,label:r("modelManager.search"),labelPos:"side"}),i.jsxs(W,{flexDirection:"column",gap:4,maxHeight:window.innerHeight-280,overflow:"scroll",children:[p&&i.jsx(Pu,{loadingMessage:"Loading Diffusers..."}),["all","diffusers"].includes(a)&&!p&&d.length>0&&i.jsx(_u,{title:"Diffusers",modelList:d,selected:{selectedModelId:t,setSelectedModelId:n}},"diffusers"),m&&i.jsx(Pu,{loadingMessage:"Loading Checkpoints..."}),["all","checkpoint"].includes(a)&&!m&&h.length>0&&i.jsx(_u,{title:"Checkpoints",modelList:h,selected:{selectedModelId:t,setSelectedModelId:n}},"checkpoints"),b&&i.jsx(Pu,{loadingMessage:"Loading LoRAs..."}),["all","lora"].includes(a)&&!b&&v.length>0&&i.jsx(_u,{title:"LoRAs",modelList:v,selected:{selectedModelId:t,setSelectedModelId:n}},"loras"),k&&i.jsx(Pu,{loadingMessage:"Loading Olives..."}),["all","olive"].includes(a)&&!k&&S.length>0&&i.jsx(_u,{title:"Olives",modelList:S,selected:{selectedModelId:t,setSelectedModelId:n}},"olive"),y&&i.jsx(Pu,{loadingMessage:"Loading ONNX..."}),["all","onnx"].includes(a)&&!y&&w.length>0&&i.jsx(_u,{title:"ONNX",modelList:w,selected:{selectedModelId:t,setSelectedModelId:n}},"onnx")]})]})})},ku=(e,t,n,r)=>{const o=[];return oo(e==null?void 0:e.entities,s=>{if(!s)return;const a=s.model_name.toLowerCase().includes(r.toLowerCase()),c=n===void 0||s.model_format===n,d=s.model_type===t;a&&c&&d&&o.push(s)}),o},n8=e=>i.jsx(W,{flexDirection:"column",gap:4,borderRadius:4,p:4,sx:{bg:"base.200",_dark:{bg:"base.800"}},children:e.children});function _u(e){const{title:t,modelList:n,selected:r}=e;return i.jsx(n8,{children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(Qe,{variant:"subtext",fontSize:"sm",children:t}),n.map(o=>i.jsx(Zse,{model:o,isSelected:r.selectedModelId===o.id,setSelectedModelId:r.setSelectedModelId},o.id))]})})}function Pu({loadingMessage:e}){return i.jsx(n8,{children:i.jsxs(W,{justifyContent:"center",alignItems:"center",flexDirection:"column",p:4,gap:8,children:[i.jsx(hl,{}),i.jsx(Qe,{variant:"subtext",children:e||"Fetching..."})]})})}function tae(){const[e,t]=f.useState(),{mainModel:n}=na(Gi,{selectFromResult:({data:s})=>({mainModel:e?s==null?void 0:s.entities[e]:void 0})}),{loraModel:r}=mm(void 0,{selectFromResult:({data:s})=>({loraModel:e?s==null?void 0:s.entities[e]:void 0})}),o=n||r;return i.jsxs(W,{sx:{gap:8,w:"full",h:"full"},children:[i.jsx(eae,{selectedModelId:e,setSelectedModelId:t}),i.jsx(nae,{model:o})]})}const nae=e=>{const{model:t}=e;return(t==null?void 0:t.model_format)==="checkpoint"?i.jsx(Yse,{model:t},t.id):(t==null?void 0:t.model_format)==="diffusers"?i.jsx(Qse,{model:t},t.id):(t==null?void 0:t.model_type)==="lora"?i.jsx(Jse,{model:t},t.id):i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",maxH:96,userSelect:"none"},children:i.jsx(Qe,{variant:"subtext",children:"No Model Selected"})})};function rae(){const{t:e}=ye();return i.jsxs(W,{sx:{w:"full",p:4,borderRadius:4,gap:4,justifyContent:"space-between",alignItems:"center",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(W,{sx:{flexDirection:"column",gap:2},children:[i.jsx(Qe,{sx:{fontWeight:600},children:e("modelManager.syncModels")}),i.jsx(Qe,{fontSize:"sm",sx:{_dark:{color:"base.400"}},children:e("modelManager.syncModelsDesc")})]}),i.jsx(Qd,{})]})}function oae(){return i.jsx(W,{children:i.jsx(rae,{})})}const l_=[{id:"modelManager",label:Bn.t("modelManager.modelManager"),content:i.jsx(tae,{})},{id:"importModels",label:Bn.t("modelManager.importModels"),content:i.jsx(Use,{})},{id:"mergeModels",label:Bn.t("modelManager.mergeModels"),content:i.jsx(qse,{})},{id:"settings",label:Bn.t("modelManager.settings"),content:i.jsx(oae,{})}],sae=()=>i.jsxs(Ld,{isLazy:!0,variant:"line",layerStyle:"first",sx:{w:"full",h:"full",p:4,gap:4,borderRadius:"base"},children:[i.jsx(zd,{children:l_.map(e=>i.jsx(kc,{sx:{borderTopRadius:"base"},children:e.label},e.id))}),i.jsx($m,{sx:{w:"full",h:"full"},children:l_.map(e=>i.jsx(Nm,{sx:{w:"full",h:"full"},children:e.content},e.id))})]}),aae=f.memo(sae);const iae=e=>be([t=>t.nodes],t=>{const n=t.invocationTemplates[e];if(n)return n},{memoizeOptions:{resultEqualityCheck:(t,n)=>t!==void 0&&n!==void 0&&t.type===n.type}}),lae=(e,t)=>{const n={id:e,name:t.name,type:t.type};return t.inputRequirement!=="never"&&(t.type==="string"&&(n.value=t.default??""),t.type==="integer"&&(n.value=t.default??0),t.type==="float"&&(n.value=t.default??0),t.type==="boolean"&&(n.value=t.default??!1),t.type==="enum"&&(t.enumType==="number"&&(n.value=t.default??0),t.enumType==="string"&&(n.value=t.default??"")),t.type==="array"&&(n.value=t.default??1),t.type==="image"&&(n.value=void 0),t.type==="image_collection"&&(n.value=[]),t.type==="latents"&&(n.value=void 0),t.type==="conditioning"&&(n.value=void 0),t.type==="unet"&&(n.value=void 0),t.type==="clip"&&(n.value=void 0),t.type==="vae"&&(n.value=void 0),t.type==="control"&&(n.value=void 0),t.type==="model"&&(n.value=void 0),t.type==="refiner_model"&&(n.value=void 0),t.type==="vae_model"&&(n.value=void 0),t.type==="lora_model"&&(n.value=void 0),t.type==="controlnet_model"&&(n.value=void 0)),n},cae=be([e=>e.nodes],e=>e.invocationTemplates),cx="node-drag-handle",c_={dragHandle:`.${cx}`},uae=()=>{const e=B(cae),t=cb();return f.useCallback(n=>{if(n==="progress_image"){const{x:h,y:m}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...c_,id:"progress_image",type:"progress_image",position:{x:h,y:m},data:{}}}const r=e[n];if(r===void 0){console.error(`Unable to find template ${n}.`);return}const o=fi(),s=mw(r.inputs,(h,m,v)=>{const b=fi(),w=lae(b,m);return h[v]=w,h},{}),a=mw(r.outputs,(h,m,v)=>{const w={id:fi(),name:v,type:m.type};return h[v]=w,h},{}),{x:c,y:d}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...c_,id:o,type:"invocation",position:{x:c,y:d},data:{id:o,type:n,inputs:s,outputs:a}}},[e,t])},dae=e=>{const{nodeId:t,title:n,description:r}=e;return i.jsxs(W,{className:cx,sx:{borderTopRadius:"md",alignItems:"center",justifyContent:"space-between",px:2,py:1,bg:"base.100",_dark:{bg:"base.900"}},children:[i.jsx(vn,{label:t,children:i.jsx(Ys,{size:"xs",sx:{fontWeight:600,color:"base.900",_dark:{color:"base.200"}},children:n})}),i.jsx(vn,{label:r,placement:"top",hasArrow:!0,shouldWrapChildren:!0,children:i.jsx(fo,{sx:{h:"min-content",color:"base.700",_dark:{color:"base.300"}},as:GY})})]})},r8=f.memo(dae),o8=()=>()=>!0,fae={position:"absolute",width:"1rem",height:"1rem",borderWidth:0},pae={left:"-1rem"},hae={right:"-0.5rem"},mae=e=>{const{field:t,isValidConnection:n,handleType:r,styles:o}=e,{name:s,type:a}=t;return i.jsx(vn,{label:a,placement:r==="target"?"start":"end",hasArrow:!0,openDelay:f5,children:i.jsx(HM,{type:r,id:s,isValidConnection:n,position:r==="target"?gw.Left:gw.Right,style:{backgroundColor:p5[a].colorCssVar,...o,...fae,...r==="target"?pae:hae}})})},s8=f.memo(mae),gae=e=>i.jsx(XY,{}),vae=f.memo(gae),bae=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(As({nodeId:t,fieldName:n.name,value:s.target.checked}))};return i.jsx(Zb,{onChange:o,isChecked:n.value})},yae=f.memo(bae),xae=e=>null,wae=f.memo(xae);function pg(){return(pg=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}function H1(e){var t=f.useRef(e),n=f.useRef(function(r){t.current&&t.current(r)});return t.current=e,n.current}var Ac=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e0:S.buttons>0)&&o.current?s(u_(o.current,S,c.current)):y(!1)},w=function(){return y(!1)};function y(S){var k=d.current,_=W1(o.current),P=S?_.addEventListener:_.removeEventListener;P(k?"touchmove":"mousemove",b),P(k?"touchend":"mouseup",w)}return[function(S){var k=S.nativeEvent,_=o.current;if(_&&(d_(k),!function(I,E){return E&&!Yu(I)}(k,d.current)&&_)){if(Yu(k)){d.current=!0;var P=k.changedTouches||[];P.length&&(c.current=P[0].identifier)}_.focus(),s(u_(_,k,c.current)),y(!0)}},function(S){var k=S.which||S.keyCode;k<37||k>40||(S.preventDefault(),a({left:k===39?.05:k===37?-.05:0,top:k===40?.05:k===38?-.05:0}))},y]},[a,s]),h=p[0],m=p[1],v=p[2];return f.useEffect(function(){return v},[v]),H.createElement("div",pg({},r,{onTouchStart:h,onMouseDown:h,className:"react-colorful__interactive",ref:o,onKeyDown:m,tabIndex:0,role:"slider"}))}),hg=function(e){return e.filter(Boolean).join(" ")},dx=function(e){var t=e.color,n=e.left,r=e.top,o=r===void 0?.5:r,s=hg(["react-colorful__pointer",e.className]);return H.createElement("div",{className:s,style:{top:100*o+"%",left:100*n+"%"}},H.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},po=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=Math.pow(10,t)),Math.round(n*e)/n},i8=function(e){var t=e.s,n=e.v,r=e.a,o=(200-t)*n/100;return{h:po(e.h),s:po(o>0&&o<200?t*n/100/(o<=100?o:200-o)*100:0),l:po(o/2),a:po(r,2)}},V1=function(e){var t=i8(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},bv=function(e){var t=i8(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},Sae=function(e){var t=e.h,n=e.s,r=e.v,o=e.a;t=t/360*6,n/=100,r/=100;var s=Math.floor(t),a=r*(1-n),c=r*(1-(t-s)*n),d=r*(1-(1-t+s)*n),p=s%6;return{r:po(255*[r,c,a,a,d,r][p]),g:po(255*[d,r,r,c,a,a][p]),b:po(255*[a,a,d,r,r,c][p]),a:po(o,2)}},Cae=function(e){var t=e.r,n=e.g,r=e.b,o=e.a,s=Math.max(t,n,r),a=s-Math.min(t,n,r),c=a?s===t?(n-r)/a:s===n?2+(r-t)/a:4+(t-n)/a:0;return{h:po(60*(c<0?c+6:c)),s:po(s?a/s*100:0),v:po(s/255*100),a:o}},kae=H.memo(function(e){var t=e.hue,n=e.onChange,r=hg(["react-colorful__hue",e.className]);return H.createElement("div",{className:r},H.createElement(ux,{onMove:function(o){n({h:360*o.left})},onKey:function(o){n({h:Ac(t+360*o.left,0,360)})},"aria-label":"Hue","aria-valuenow":po(t),"aria-valuemax":"360","aria-valuemin":"0"},H.createElement(dx,{className:"react-colorful__hue-pointer",left:t/360,color:V1({h:t,s:100,v:100,a:1})})))}),_ae=H.memo(function(e){var t=e.hsva,n=e.onChange,r={backgroundColor:V1({h:t.h,s:100,v:100,a:1})};return H.createElement("div",{className:"react-colorful__saturation",style:r},H.createElement(ux,{onMove:function(o){n({s:100*o.left,v:100-100*o.top})},onKey:function(o){n({s:Ac(t.s+100*o.left,0,100),v:Ac(t.v-100*o.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+po(t.s)+"%, Brightness "+po(t.v)+"%"},H.createElement(dx,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:V1(t)})))}),l8=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0};function Pae(e,t,n){var r=H1(n),o=f.useState(function(){return e.toHsva(t)}),s=o[0],a=o[1],c=f.useRef({color:t,hsva:s});f.useEffect(function(){if(!e.equal(t,c.current.color)){var p=e.toHsva(t);c.current={hsva:p,color:t},a(p)}},[t,e]),f.useEffect(function(){var p;l8(s,c.current.hsva)||e.equal(p=e.fromHsva(s),c.current.color)||(c.current={hsva:s,color:p},r(p))},[s,e,r]);var d=f.useCallback(function(p){a(function(h){return Object.assign({},h,p)})},[]);return[s,d]}var jae=typeof window<"u"?f.useLayoutEffect:f.useEffect,Iae=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},f_=new Map,Eae=function(e){jae(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!f_.has(t)){var n=t.createElement("style");n.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,f_.set(t,n);var r=Iae();r&&n.setAttribute("nonce",r),t.head.appendChild(n)}},[])},Oae=function(e){var t=e.className,n=e.hsva,r=e.onChange,o={backgroundImage:"linear-gradient(90deg, "+bv(Object.assign({},n,{a:0}))+", "+bv(Object.assign({},n,{a:1}))+")"},s=hg(["react-colorful__alpha",t]),a=po(100*n.a);return H.createElement("div",{className:s},H.createElement("div",{className:"react-colorful__alpha-gradient",style:o}),H.createElement(ux,{onMove:function(c){r({a:c.left})},onKey:function(c){r({a:Ac(n.a+c.left)})},"aria-label":"Alpha","aria-valuetext":a+"%","aria-valuenow":a,"aria-valuemin":"0","aria-valuemax":"100"},H.createElement(dx,{className:"react-colorful__alpha-pointer",left:n.a,color:bv(n)})))},Rae=function(e){var t=e.className,n=e.colorModel,r=e.color,o=r===void 0?n.defaultColor:r,s=e.onChange,a=a8(e,["className","colorModel","color","onChange"]),c=f.useRef(null);Eae(c);var d=Pae(n,o,s),p=d[0],h=d[1],m=hg(["react-colorful",t]);return H.createElement("div",pg({},a,{ref:c,className:m}),H.createElement(_ae,{hsva:p,onChange:h}),H.createElement(kae,{hue:p.h,onChange:h}),H.createElement(Oae,{hsva:p,onChange:h,className:"react-colorful__last-control"}))},Mae={defaultColor:{r:0,g:0,b:0,a:1},toHsva:Cae,fromHsva:Sae,equal:l8},c8=function(e){return H.createElement(Rae,pg({},e,{colorModel:Mae}))};const Dae=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(As({nodeId:t,fieldName:n.name,value:s}))};return i.jsx(c8,{className:"nodrag",color:n.value,onChange:o})},Aae=f.memo(Dae),Tae=e=>null,Nae=f.memo(Tae),$ae=e=>null,Lae=f.memo($ae),zae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=lb(),a=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/controlnet/${r==null?void 0:r.model_name}`])??null,[r==null?void 0:r.base_model,r==null?void 0:r.model_name,s==null?void 0:s.entities]),c=f.useMemo(()=>{if(!s)return[];const p=[];return oo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:Qn[h.base_model]})}),p},[s]),d=f.useCallback(p=>{if(!p)return;const h=GO(p);h&&o(As({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return i.jsx(Xr,{tooltip:a==null?void 0:a.description,label:(a==null?void 0:a.base_model)&&Qn[a==null?void 0:a.base_model],value:(a==null?void 0:a.id)??null,placeholder:"Pick one",error:!a,data:c,onChange:d})},Bae=f.memo(zae),Fae=e=>{const{nodeId:t,field:n,template:r}=e,o=te(),s=a=>{o(As({nodeId:t,fieldName:n.name,value:a.target.value}))};return i.jsx(z6,{onChange:s,value:n.value,children:r.options.map(a=>i.jsx("option",{children:a},a))})},Hae=f.memo(Fae),Wae=e=>{var c;const{nodeId:t,field:n}=e,r={id:`node-${t}-${n.name}`,actionType:"SET_MULTI_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}},{isOver:o,setNodeRef:s,active:a}=eb({id:`node_${t}`,data:r});return i.jsxs(W,{ref:s,sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",position:"relative",minH:"10rem"},children:[(c=n.value)==null?void 0:c.map(({image_name:d})=>i.jsx(Uae,{imageName:d},d)),zp(r,a)&&i.jsx(Zh,{isOver:o})]})},Vae=f.memo(Wae),Uae=e=>{const{currentData:t}=Is(e.imageName);return i.jsx(fl,{imageDTO:t,isDropDisabled:!0,isDragDisabled:!0})},Gae=e=>{var p;const{nodeId:t,field:n}=e,r=te(),{currentData:o}=Is(((p=n.value)==null?void 0:p.image_name)??ro.skipToken),s=f.useCallback(()=>{r(As({nodeId:t,fieldName:n.name,value:void 0}))},[r,n.name,t]),a=f.useMemo(()=>{if(o)return{id:`node-${t}-${n.name}`,payloadType:"IMAGE_DTO",payload:{imageDTO:o}}},[n.name,o,t]),c=f.useMemo(()=>({id:`node-${t}-${n.name}`,actionType:"SET_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}}),[n.name,t]),d=f.useMemo(()=>({type:"SET_NODES_IMAGE",nodeId:t,fieldName:n.name}),[t,n.name]);return i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(fl,{imageDTO:o,droppableData:c,draggableData:a,onClickReset:s,postUploadAction:d})})},qae=f.memo(Gae),Kae=e=>i.jsx(PY,{}),p_=f.memo(Kae),Xae=e=>null,Yae=f.memo(Xae),Qae=e=>{const t=Sd("models"),[n,r,o]=e.split("/"),s=WM.safeParse({base_model:n,model_name:o});if(!s.success){t.error({loraModelId:e,errors:s.error.format()},"Failed to parse LoRA model id");return}return s.data},Jae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=mm(),a=f.useMemo(()=>{if(!s)return[];const p=[];return oo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:Qn[h.base_model]})}),p.sort((h,m)=>h.disabled&&!m.disabled?1:-1)},[s]),c=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/lora/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r==null?void 0:r.base_model,r==null?void 0:r.model_name]),d=f.useCallback(p=>{if(!p)return;const h=Qae(p);h&&o(As({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return(s==null?void 0:s.ids.length)===0?i.jsx(W,{sx:{justifyContent:"center",p:2},children:i.jsx(Qe,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):i.jsx(ar,{value:(c==null?void 0:c.id)??null,label:(c==null?void 0:c.base_model)&&Qn[c==null?void 0:c.base_model],placeholder:a.length>0?"Select a LoRA":"No LoRAs available",data:a,nothingFound:"No matching LoRAs",itemComponent:Oi,disabled:a.length===0,filter:(p,h)=>{var m;return((m=h.label)==null?void 0:m.toLowerCase().includes(p.toLowerCase().trim()))||h.value.toLowerCase().includes(p.toLowerCase().trim())},onChange:d})},Zae=f.memo(Jae),eie=e=>{var v,b;const{nodeId:t,field:n}=e,r=te(),{t:o}=ye(),s=ir("syncModels").isFeatureEnabled,{data:a}=Up(Qu),{data:c,isLoading:d}=na(Qu),p=f.useMemo(()=>{if(!c)return[];const w=[];return oo(c.entities,(y,S)=>{y&&w.push({value:S,label:y.model_name,group:Qn[y.base_model]})}),a&&oo(a.entities,(y,S)=>{y&&w.push({value:S,label:y.model_name,group:Qn[y.base_model]})}),w},[c,a]),h=f.useMemo(()=>{var w,y,S,k;return((c==null?void 0:c.entities[`${(w=n.value)==null?void 0:w.base_model}/main/${(y=n.value)==null?void 0:y.model_name}`])||(a==null?void 0:a.entities[`${(S=n.value)==null?void 0:S.base_model}/onnx/${(k=n.value)==null?void 0:k.model_name}`]))??null},[(v=n.value)==null?void 0:v.base_model,(b=n.value)==null?void 0:b.model_name,c==null?void 0:c.entities,a==null?void 0:a.entities]),m=f.useCallback(w=>{if(!w)return;const y=nx(w);y&&r(As({nodeId:t,fieldName:n.name,value:y}))},[r,n.name,t]);return d?i.jsx(ar,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(ar,{tooltip:h==null?void 0:h.description,label:(h==null?void 0:h.base_model)&&Qn[h==null?void 0:h.base_model],value:h==null?void 0:h.id,placeholder:p.length>0?"Select a model":"No models available",data:p,error:p.length===0,disabled:p.length===0,onChange:m}),s&&i.jsx(Re,{mt:7,children:i.jsx(Qd,{iconMode:!0})})]})},tie=f.memo(eie),nie=e=>{const{nodeId:t,field:n}=e,r=te(),[o,s]=f.useState(String(n.value)),a=c=>{s(c),c.match(am)||r(As({nodeId:t,fieldName:n.name,value:e.template.type==="integer"?Math.floor(Number(c)):Number(c)}))};return f.useEffect(()=>{!o.match(am)&&n.value!==Number(o)&&s(String(n.value))},[n.value,o]),i.jsxs(km,{onChange:a,value:o,step:e.template.type==="integer"?1:.1,precision:e.template.type==="integer"?0:3,children:[i.jsx(Pm,{}),i.jsxs(_m,{children:[i.jsx(Im,{}),i.jsx(jm,{})]})]})},rie=f.memo(nie),oie=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(As({nodeId:t,fieldName:n.name,value:s.target.value}))};return["prompt","style"].includes(n.name.toLowerCase())?i.jsx(ey,{onChange:o,value:n.value,rows:2}):i.jsx(Ed,{onChange:o,value:n.value})},sie=f.memo(oie),aie=e=>null,iie=f.memo(aie),lie=e=>null,cie=f.memo(lie),uie=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=t5(),a=f.useMemo(()=>{if(!s)return[];const p=[{value:"default",label:"Default",group:"Default"}];return oo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:Qn[h.base_model]})}),p.sort((h,m)=>h.disabled&&!m.disabled?1:-1)},[s]),c=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r]),d=f.useCallback(p=>{if(!p)return;const h=LO(p);h&&o(As({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return i.jsx(ar,{itemComponent:Oi,tooltip:c==null?void 0:c.description,label:(c==null?void 0:c.base_model)&&Qn[c==null?void 0:c.base_model],value:(c==null?void 0:c.id)??"default",placeholder:"Default",data:a,onChange:d,disabled:a.length===0,clearable:!0})},die=f.memo(uie),fie=e=>{var m,v;const{nodeId:t,field:n}=e,r=te(),{t:o}=ye(),s=ir("syncModels").isFeatureEnabled,{data:a,isLoading:c}=na(ib),d=f.useMemo(()=>{if(!a)return[];const b=[];return oo(a.entities,(w,y)=>{w&&b.push({value:y,label:w.model_name,group:Qn[w.base_model]})}),b},[a]),p=f.useMemo(()=>{var b,w;return(a==null?void 0:a.entities[`${(b=n.value)==null?void 0:b.base_model}/main/${(w=n.value)==null?void 0:w.model_name}`])??null},[(m=n.value)==null?void 0:m.base_model,(v=n.value)==null?void 0:v.model_name,a==null?void 0:a.entities]),h=f.useCallback(b=>{if(!b)return;const w=nx(b);w&&r(As({nodeId:t,fieldName:n.name,value:w}))},[r,n.name,t]);return c?i.jsx(ar,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(ar,{tooltip:p==null?void 0:p.description,label:(p==null?void 0:p.base_model)&&Qn[p==null?void 0:p.base_model],value:p==null?void 0:p.id,placeholder:d.length>0?"Select a model":"No models available",data:d,error:d.length===0,disabled:d.length===0,onChange:h}),s&&i.jsx(Re,{mt:7,children:i.jsx(Qd,{iconMode:!0})})]})},pie=f.memo(fie),hie=e=>{const{nodeId:t,field:n,template:r}=e,{type:o}=n;return o==="string"&&r.type==="string"?i.jsx(sie,{nodeId:t,field:n,template:r}):o==="boolean"&&r.type==="boolean"?i.jsx(yae,{nodeId:t,field:n,template:r}):o==="integer"&&r.type==="integer"||o==="float"&&r.type==="float"?i.jsx(rie,{nodeId:t,field:n,template:r}):o==="enum"&&r.type==="enum"?i.jsx(Hae,{nodeId:t,field:n,template:r}):o==="image"&&r.type==="image"?i.jsx(qae,{nodeId:t,field:n,template:r}):o==="latents"&&r.type==="latents"?i.jsx(Yae,{nodeId:t,field:n,template:r}):o==="conditioning"&&r.type==="conditioning"?i.jsx(Nae,{nodeId:t,field:n,template:r}):o==="unet"&&r.type==="unet"?i.jsx(iie,{nodeId:t,field:n,template:r}):o==="clip"&&r.type==="clip"?i.jsx(wae,{nodeId:t,field:n,template:r}):o==="vae"&&r.type==="vae"?i.jsx(cie,{nodeId:t,field:n,template:r}):o==="control"&&r.type==="control"?i.jsx(Lae,{nodeId:t,field:n,template:r}):o==="model"&&r.type==="model"?i.jsx(tie,{nodeId:t,field:n,template:r}):o==="refiner_model"&&r.type==="refiner_model"?i.jsx(pie,{nodeId:t,field:n,template:r}):o==="vae_model"&&r.type==="vae_model"?i.jsx(die,{nodeId:t,field:n,template:r}):o==="lora_model"&&r.type==="lora_model"?i.jsx(Zae,{nodeId:t,field:n,template:r}):o==="controlnet_model"&&r.type==="controlnet_model"?i.jsx(Bae,{nodeId:t,field:n,template:r}):o==="array"&&r.type==="array"?i.jsx(vae,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?i.jsx(p_,{nodeId:t,field:n,template:r}):o==="color"&&r.type==="color"?i.jsx(Aae,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?i.jsx(p_,{nodeId:t,field:n,template:r}):o==="image_collection"&&r.type==="image_collection"?i.jsx(Vae,{nodeId:t,field:n,template:r}):i.jsxs(Re,{p:2,children:["Unknown field type: ",o]})},mie=f.memo(hie);function gie(e){const{nodeId:t,input:n,template:r,connected:o}=e,s=o8();return i.jsx(Re,{className:"nopan",position:"relative",borderColor:r?!o&&["always","connectionOnly"].includes(String(r==null?void 0:r.inputRequirement))&&n.value===void 0?"warning.400":void 0:"error.400",children:i.jsx(go,{isDisabled:r?o:!0,pl:2,children:r?i.jsxs(i.Fragment,{children:[i.jsxs(pi,{justifyContent:"space-between",alignItems:"center",children:[i.jsx(pi,{children:i.jsx(vn,{label:r==null?void 0:r.description,placement:"top",hasArrow:!0,shouldWrapChildren:!0,openDelay:f5,children:i.jsx(Bo,{children:r==null?void 0:r.title})})}),i.jsx(mie,{nodeId:t,field:n,template:r})]}),!["never","directOnly"].includes((r==null?void 0:r.inputRequirement)??"")&&i.jsx(s8,{nodeId:t,field:r,isValidConnection:s,handleType:"target"})]}):i.jsx(pi,{justifyContent:"space-between",alignItems:"center",children:i.jsxs(Bo,{children:["Unknown input: ",n.name]})})})})}const vie=e=>{const{nodeId:t,template:n,inputs:r}=e,o=B(a=>a.nodes.edges);return f.useCallback(()=>{const a=[],c=cs(r);return c.forEach((d,p)=>{const h=n.inputs[d.name],m=!!o.filter(v=>v.target===t&&v.targetHandle===d.name).length;p{const{nodeId:t,template:n,outputs:r}=e,o=B(a=>a.nodes.edges);return f.useCallback(()=>{const a=[];return cs(r).forEach(d=>{const p=n.outputs[d.name],h=!!o.filter(m=>m.source===t&&m.sourceHandle===d.name).length;a.push(i.jsx(yie,{nodeId:t,output:d,template:p,connected:h},d.id))}),i.jsx(W,{flexDir:"column",children:a})},[o,t,r,n.outputs])()},wie=f.memo(xie),Sie=e=>{const{...t}=e;return i.jsx(Z9,{style:{position:"absolute",border:"none",background:"transparent",width:15,height:15,bottom:0,right:0},minWidth:h5,...t})},U1=f.memo(Sie),G1=e=>{const[t,n]=$c("shadows",["nodeSelectedOutline","dark-lg"]),r=B(o=>o.hotkeys.shift);return i.jsx(Re,{className:r?cx:"nopan",sx:{position:"relative",borderRadius:"md",minWidth:h5,shadow:e.selected?`${t}, ${n}`:`${n}`},children:e.children})},u8=f.memo(e=>{const{id:t,data:n,selected:r}=e,{type:o,inputs:s,outputs:a}=n,c=f.useMemo(()=>iae(o),[o]),d=B(c);return d?i.jsxs(G1,{selected:r,children:[i.jsx(r8,{nodeId:t,title:d.title,description:d.description}),i.jsxs(W,{className:"nopan",sx:{cursor:"auto",flexDirection:"column",borderBottomRadius:"md",py:2,bg:"base.150",_dark:{bg:"base.800"}},children:[i.jsx(wie,{nodeId:t,outputs:a,template:d}),i.jsx(bie,{nodeId:t,inputs:s,template:d})]}),i.jsx(U1,{})]}):i.jsx(G1,{selected:r,children:i.jsxs(W,{className:"nopan",sx:{alignItems:"center",justifyContent:"center",cursor:"auto"},children:[i.jsx(fo,{as:ZI,sx:{boxSize:32,color:"base.600",_dark:{color:"base.400"}}}),i.jsx(U1,{})]})})});u8.displayName="InvocationComponent";const Cie=e=>{const t=vw(a=>a.system.progressImage),n=vw(a=>a.nodes.progressNodeSize),r=VM(),{selected:o}=e,s=(a,c)=>{r(UM(c))};return i.jsxs(G1,{selected:o,children:[i.jsx(r8,{title:"Progress Image",description:"Displays the progress image in the Node Editor"}),i.jsx(W,{sx:{flexDirection:"column",flexShrink:0,borderBottomRadius:"md",bg:"base.200",_dark:{bg:"base.800"},width:n.width-2,height:n.height-2,minW:250,minH:250,overflow:"hidden"},children:t?i.jsx(Lc,{src:t.dataURL,sx:{w:"full",h:"full",objectFit:"contain"}}):i.jsx(W,{sx:{minW:250,minH:250,width:n.width-2,height:n.height-2},children:i.jsx(tl,{})})}),i.jsx(U1,{onResize:s})]})},kie=f.memo(Cie),_ie=()=>{const{t:e}=ye(),{zoomIn:t,zoomOut:n,fitView:r}=cb(),o=te(),s=B(w=>w.nodes.shouldShowGraphOverlay),a=B(w=>w.nodes.shouldShowFieldTypeLegend),c=B(w=>w.nodes.shouldShowMinimapPanel),d=f.useCallback(()=>{t()},[t]),p=f.useCallback(()=>{n()},[n]),h=f.useCallback(()=>{r()},[r]),m=f.useCallback(()=>{o(GM(!s))},[s,o]),v=f.useCallback(()=>{o(qM(!a))},[a,o]),b=f.useCallback(()=>{o(KM(!c))},[c,o]);return i.jsxs(rr,{isAttached:!0,orientation:"vertical",children:[i.jsx(vn,{label:e("nodes.zoomInNodes"),children:i.jsx(ze,{"aria-label":"Zoom in ",onClick:d,icon:i.jsx(yl,{})})}),i.jsx(vn,{label:e("nodes.zoomOutNodes"),children:i.jsx(ze,{"aria-label":"Zoom out",onClick:p,icon:i.jsx(JY,{})})}),i.jsx(vn,{label:e("nodes.fitViewportNodes"),children:i.jsx(ze,{"aria-label":"Fit viewport",onClick:h,icon:i.jsx(zY,{})})}),i.jsx(vn,{label:e(s?"nodes.hideGraphNodes":"nodes.showGraphNodes"),children:i.jsx(ze,{"aria-label":"Toggle nodes graph overlay",isChecked:s,onClick:m,icon:i.jsx(yy,{})})}),i.jsx(vn,{label:e(a?"nodes.hideLegendNodes":"nodes.showLegendNodes"),children:i.jsx(ze,{"aria-label":"Toggle field type legend",isChecked:a,onClick:v,icon:i.jsx(qY,{})})}),i.jsx(vn,{label:e(c?"nodes.hideMinimapnodes":"nodes.showMinimapnodes"),children:i.jsx(ze,{"aria-label":"Toggle minimap",isChecked:c,onClick:b,icon:i.jsx(YY,{})})})]})},Pie=f.memo(_ie),jie=()=>i.jsx(vd,{position:"bottom-left",children:i.jsx(Pie,{})}),Iie=f.memo(jie),Eie=()=>{const e=jp({background:"var(--invokeai-colors-base-200)"},{background:"var(--invokeai-colors-base-500)"}),t=B(o=>o.nodes.shouldShowMinimapPanel),n=jp("var(--invokeai-colors-accent-300)","var(--invokeai-colors-accent-700)"),r=jp("var(--invokeai-colors-blackAlpha-300)","var(--invokeai-colors-blackAlpha-600)");return i.jsx(i.Fragment,{children:t&&i.jsx(W9,{nodeStrokeWidth:3,pannable:!0,zoomable:!0,nodeBorderRadius:30,style:e,nodeColor:n,maskColor:r})})},Oie=f.memo(Eie),Rie=()=>{const{t:e}=ye(),t=te(),{isOpen:n,onOpen:r,onClose:o}=ss(),s=f.useRef(null),a=B(d=>d.nodes.nodes),c=f.useCallback(()=>{t(XM()),t(On(Mn({title:e("toast.nodesCleared"),status:"success"}))),o()},[t,e,o]);return i.jsxs(i.Fragment,{children:[i.jsx(ze,{icon:i.jsx(Eo,{}),tooltip:e("nodes.clearGraph"),"aria-label":e("nodes.clearGraph"),onClick:r,isDisabled:a.length===0}),i.jsxs(Td,{isOpen:n,onClose:o,leastDestructiveRef:s,isCentered:!0,children:[i.jsx(Aa,{}),i.jsxs(Nd,{children:[i.jsx(Da,{fontSize:"lg",fontWeight:"bold",children:e("nodes.clearGraph")}),i.jsx(Ta,{children:i.jsx(Qe,{children:e("nodes.clearGraphDesc")})}),i.jsxs(Ma,{children:[i.jsx(yc,{ref:s,onClick:o,children:e("common.cancel")}),i.jsx(yc,{colorScheme:"red",ml:3,onClick:c,children:e("common.accept")})]})]})]})]})},Mie=f.memo(Rie);function Die(e){const t=["nodes","edges","viewport"];for(const s of t)if(!(s in e))return{isValid:!1,message:Bn.t("toast.nodesNotValidGraph")};if(!Array.isArray(e.nodes)||!Array.isArray(e.edges))return{isValid:!1,message:Bn.t("toast.nodesNotValidGraph")};const n=["data","type"],r=["invocation","progress_image"];if(e.nodes.length>0)for(const s of e.nodes)for(const a of n){if(!(a in s))return{isValid:!1,message:Bn.t("toast.nodesNotValidGraph")};if(a==="type"&&!r.includes(s[a]))return{isValid:!1,message:Bn.t("toast.nodesUnrecognizedTypes")}}const o=["source","sourceHandle","target","targetHandle"];if(e.edges.length>0){for(const s of e.edges)for(const a of o)if(!(a in s))return{isValid:!1,message:Bn.t("toast.nodesBrokenConnections")}}return{isValid:!0,message:Bn.t("toast.nodesLoaded")}}const Aie=()=>{const{t:e}=ye(),t=te(),{fitView:n}=cb(),r=f.useRef(null),o=f.useCallback(s=>{var c;if(!s)return;const a=new FileReader;a.onload=async()=>{const d=a.result;try{const p=await JSON.parse(String(d)),{isValid:h,message:m}=Die(p);h?(t(YM(p.nodes)),t(QM(p.edges)),n(),t(On(Mn({title:m,status:"success"})))):t(On(Mn({title:m,status:"error"}))),a.abort()}catch(p){p&&t(On(Mn({title:e("toast.nodesNotValidJSON"),status:"error"})))}},a.readAsText(s),(c=r.current)==null||c.call(r)},[n,t,e]);return i.jsx(_I,{resetRef:r,accept:"application/json",onChange:o,children:s=>i.jsx(ze,{icon:i.jsx(Vd,{}),tooltip:e("nodes.loadGraph"),"aria-label":e("nodes.loadGraph"),...s})})},Tie=f.memo(Aie);function Nie(e){const{iconButton:t=!1,...n}=e,r=te(),o=B(Kn),s=Xd(),a=f.useCallback(()=>{r(wd("nodes"))},[r]),{t:c}=ye();return tt(["ctrl+enter","meta+enter"],a,{enabled:()=>s,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[s,o]),i.jsx(Re,{style:{flexGrow:4},position:"relative",children:i.jsxs(Re,{style:{position:"relative"},children:[!s&&i.jsx(Re,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},children:i.jsx(MO,{})}),t?i.jsx(ze,{"aria-label":c("parameters.invoke"),type:"submit",icon:i.jsx(aE,{}),isDisabled:!s,onClick:a,flexGrow:1,w:"100%",tooltip:c("parameters.invoke"),tooltipProps:{placement:"bottom"},colorScheme:"accent",id:"invoke-button",_disabled:{background:"none",_hover:{background:"none"}},...n}):i.jsx(Yt,{"aria-label":c("parameters.invoke"),type:"submit",isDisabled:!s,onClick:a,flexGrow:1,w:"100%",colorScheme:"accent",id:"invoke-button",fontWeight:700,_disabled:{background:"none",_hover:{background:"none"}},...n,children:"Invoke"})]})})}function $ie(){const{t:e}=ye(),t=te(),n=f.useCallback(()=>{t(JM())},[t]);return i.jsx(ze,{icon:i.jsx(oQ,{}),tooltip:e("nodes.reloadSchema"),"aria-label":e("nodes.reloadSchema"),onClick:n})}const Lie=()=>{const{t:e}=ye(),t=B(o=>o.nodes.editorInstance),n=B(o=>o.nodes.nodes),r=f.useCallback(()=>{if(t){const o=t.toObject();o.edges=cs(o.edges,c=>ZM(c,["style"]));const s=new Blob([JSON.stringify(o)]),a=document.createElement("a");a.href=URL.createObjectURL(s),a.download="MyNodes.json",document.body.appendChild(a),a.click(),a.remove()}},[t]);return i.jsx(ze,{icon:i.jsx(Um,{}),fontSize:18,tooltip:e("nodes.saveGraph"),"aria-label":e("nodes.saveGraph"),onClick:r,isDisabled:n.length===0})},zie=f.memo(Lie),Bie=()=>i.jsx(vd,{position:"top-center",children:i.jsxs(pi,{children:[i.jsx(Nie,{}),i.jsx(ig,{}),i.jsx($ie,{}),i.jsx(zie,{}),i.jsx(Tie,{}),i.jsx(Mie,{})]})}),Fie=f.memo(Bie),Hie=be([lt],({nodes:e})=>{const t=cs(e.invocationTemplates,n=>({label:n.title,value:n.type,description:n.description}));return t.push({label:"Progress Image",value:"progress_image",description:"Displays the progress image in the Node Editor"}),{data:t}},Je),Wie=()=>{const e=te(),{data:t}=B(Hie),n=uae(),r=Vc(),o=f.useCallback(a=>{const c=n(a);if(!c){r({status:"error",title:`Unknown Invocation type ${a}`});return}e(eD(c))},[e,n,r]),s=f.useCallback(a=>{a&&o(a)},[o]);return i.jsx(W,{sx:{gap:2,alignItems:"center"},children:i.jsx(ar,{selectOnBlur:!1,placeholder:"Add Node",value:null,data:t,maxDropdownHeight:400,nothingFound:"No matching nodes",itemComponent:d8,filter:(a,c)=>c.label.toLowerCase().includes(a.toLowerCase().trim())||c.value.toLowerCase().includes(a.toLowerCase().trim())||c.description.toLowerCase().includes(a.toLowerCase().trim()),onChange:s,sx:{width:"18rem"}})})},d8=f.forwardRef(({label:e,description:t,...n},r)=>i.jsx("div",{ref:r,...n,children:i.jsxs("div",{children:[i.jsx(Qe,{fontWeight:600,children:e}),i.jsx(Qe,{size:"xs",sx:{color:"base.600",_dark:{color:"base.500"}},children:t})]})}));d8.displayName="SelectItem";const Vie=()=>i.jsx(vd,{position:"top-left",children:i.jsx(Wie,{})}),Uie=f.memo(Vie),Gie=()=>i.jsx(W,{sx:{gap:2,flexDir:"column"},children:cs(p5,({title:e,description:t,color:n},r)=>i.jsx(vn,{label:t,children:i.jsx(gl,{colorScheme:n,sx:{userSelect:"none"},textAlign:"center",children:e})},r))}),qie=f.memo(Gie),Kie=()=>{const e=B(n=>n),t=tD(e);return i.jsx(Re,{as:"pre",sx:{fontFamily:"monospace",position:"absolute",top:2,right:2,opacity:.7,p:2,maxHeight:500,maxWidth:500,overflowY:"scroll",borderRadius:"base",bg:"base.200",_dark:{bg:"base.800"}},children:JSON.stringify(t,null,2)})},Xie=f.memo(Kie),Yie=()=>{const e=B(n=>n.nodes.shouldShowGraphOverlay),t=B(n=>n.nodes.shouldShowFieldTypeLegend);return i.jsxs(vd,{position:"top-right",children:[t&&i.jsx(qie,{}),e&&i.jsx(Xie,{})]})},Qie=f.memo(Yie),Jie={invocation:u8,progress_image:kie},Zie=()=>{const e=te(),t=B(p=>p.nodes.nodes),n=B(p=>p.nodes.edges),r=f.useCallback(p=>{e(nD(p))},[e]),o=f.useCallback(p=>{e(rD(p))},[e]),s=f.useCallback((p,h)=>{e(oD(h))},[e]),a=f.useCallback(p=>{e(sD(p))},[e]),c=f.useCallback(()=>{e(aD())},[e]),d=f.useCallback(p=>{e(iD(p)),p&&p.fitView()},[e]);return i.jsxs(lD,{nodeTypes:Jie,nodes:t,edges:n,onNodesChange:r,onEdgesChange:o,onConnectStart:s,onConnect:a,onConnectEnd:c,onInit:d,defaultEdgeOptions:{style:{strokeWidth:2}},children:[i.jsx(Uie,{}),i.jsx(Fie,{}),i.jsx(Qie,{}),i.jsx(Iie,{}),i.jsx(X9,{}),i.jsx(Oie,{})]})},ele=()=>i.jsx(Re,{layerStyle:"first",sx:{position:"relative",width:"full",height:"full",borderRadius:"base"},children:i.jsx(cD,{children:i.jsx(Zie,{})})}),tle=f.memo(ele),nle=()=>i.jsx(tle,{}),rle=f.memo(nle),ole=be(lt,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Je),sle=()=>{const{shouldUseSliders:e,activeLabel:t}=B(ole);return i.jsx(Mo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsx(W,{sx:{flexDirection:"column",gap:3},children:e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(Mc,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(Mc,{})]})})})},f8=f.memo(sle),p8=()=>i.jsxs(i.Fragment,{children:[i.jsx(NO,{}),i.jsx(Yd,{}),i.jsx(f8,{}),i.jsx($O,{}),i.jsx(Jd,{}),i.jsx(Kd,{}),i.jsx(ag,{})]}),h8=()=>i.jsxs(i.Fragment,{children:[i.jsx(ix,{}),i.jsx(Yd,{}),i.jsx(f8,{}),i.jsx(sx,{}),i.jsx(Jd,{}),i.jsx(Kd,{}),i.jsx(ag,{}),i.jsx(ax,{}),i.jsx(qO,{}),i.jsx(ox,{})]}),ale=()=>{const e=B(t=>t.generation.model);return i.jsxs(W,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(rx,{children:e&&e.base_model==="sdxl"?i.jsx(p8,{}):i.jsx(h8,{})}),i.jsx(UO,{})]})},ile=f.memo(ale);var q1={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Konva=void 0;var n=bw;Object.defineProperty(t,"Konva",{enumerable:!0,get:function(){return n.Konva}});const r=bw;e.exports=r.Konva})(q1,q1.exports);var lle=q1.exports;const gd=yd(lle);var m8={exports:{}};/** * @license React * react-reconciler.production.min.js * @@ -63,17 +63,17 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var cle=function(t){var n={},r=f,o=jp,s=Object.assign;function a(l){for(var u="https://reactjs.org/docs/error-decoder.html?invariant="+l,g=1;gZ||C[N]!==j[Z]){var ue=` -`+C[N].replace(" at new "," at ");return l.displayName&&ue.includes("")&&(ue=ue.replace("",l.displayName)),ue}while(1<=N&&0<=Z);break}}}finally{qt=!1,Error.prepareStackTrace=g}return(l=l?l.displayName||l.name:"")?Nt(l):""}var en=Object.prototype.hasOwnProperty,Ut=[],Be=-1;function yt(l){return{current:l}}function Mt(l){0>Be||(l.current=Ut[Be],Ut[Be]=null,Be--)}function Wt(l,u){Be++,Ut[Be]=l.current,l.current=u}var jn={},Gt=yt(jn),un=yt(!1),sn=jn;function Or(l,u){var g=l.type.contextTypes;if(!g)return jn;var x=l.stateNode;if(x&&x.__reactInternalMemoizedUnmaskedChildContext===u)return x.__reactInternalMemoizedMaskedChildContext;var C={},j;for(j in g)C[j]=u[j];return x&&(l=l.stateNode,l.__reactInternalMemoizedUnmaskedChildContext=u,l.__reactInternalMemoizedMaskedChildContext=C),C}function Jn(l){return l=l.childContextTypes,l!=null}function It(){Mt(un),Mt(Gt)}function In(l,u,g){if(Gt.current!==jn)throw Error(a(168));Wt(Gt,u),Wt(un,g)}function Rn(l,u,g){var x=l.stateNode;if(u=u.childContextTypes,typeof x.getChildContext!="function")return g;x=x.getChildContext();for(var C in x)if(!(C in u))throw Error(a(108,M(l)||"Unknown",C));return s({},g,x)}function Zn(l){return l=(l=l.stateNode)&&l.__reactInternalMemoizedMergedChildContext||jn,sn=Gt.current,Wt(Gt,l),Wt(un,un.current),!0}function mr(l,u,g){var x=l.stateNode;if(!x)throw Error(a(169));g?(l=Rn(l,u,sn),x.__reactInternalMemoizedMergedChildContext=l,Mt(un),Mt(Gt),Wt(Gt,l)):Mt(un),Wt(un,g)}var Tn=Math.clz32?Math.clz32:Sn,Nn=Math.log,dn=Math.LN2;function Sn(l){return l>>>=0,l===0?32:31-(Nn(l)/dn|0)|0}var En=64,bn=4194304;function yn(l){switch(l&-l){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 l&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return l&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return l}}function qe(l,u){var g=l.pendingLanes;if(g===0)return 0;var x=0,C=l.suspendedLanes,j=l.pingedLanes,N=g&268435455;if(N!==0){var Z=N&~C;Z!==0?x=yn(Z):(j&=N,j!==0&&(x=yn(j)))}else N=g&~C,N!==0?x=yn(N):j!==0&&(x=yn(j));if(x===0)return 0;if(u!==0&&u!==x&&!(u&C)&&(C=x&-x,j=u&-u,C>=j||C===16&&(j&4194240)!==0))return u;if(x&4&&(x|=g&16),u=l.entangledLanes,u!==0)for(l=l.entanglements,u&=x;0g;g++)u.push(l);return u}function mt(l,u,g){l.pendingLanes|=u,u!==536870912&&(l.suspendedLanes=0,l.pingedLanes=0),l=l.eventTimes,u=31-Tn(u),l[u]=g}function rt(l,u){var g=l.pendingLanes&~u;l.pendingLanes=u,l.suspendedLanes=0,l.pingedLanes=0,l.expiredLanes&=u,l.mutableReadLanes&=u,l.entangledLanes&=u,u=l.entanglements;var x=l.eventTimes;for(l=l.expirationTimes;0>=N,C-=N,To=1<<32-Tn(u)+C|g<Cn?(Br=Jt,Jt=null):Br=Jt.sibling;var kn=at(ce,Jt,ve[Cn],it);if(kn===null){Jt===null&&(Jt=Br);break}l&&Jt&&kn.alternate===null&&u(ce,Jt),ne=j(kn,ne,Cn),rn===null?At=kn:rn.sibling=kn,rn=kn,Jt=Br}if(Cn===ve.length)return g(ce,Jt),er&&Ai(ce,Cn),At;if(Jt===null){for(;CnCn?(Br=Jt,Jt=null):Br=Jt.sibling;var Za=at(ce,Jt,kn.value,it);if(Za===null){Jt===null&&(Jt=Br);break}l&&Jt&&Za.alternate===null&&u(ce,Jt),ne=j(Za,ne,Cn),rn===null?At=Za:rn.sibling=Za,rn=Za,Jt=Br}if(kn.done)return g(ce,Jt),er&&Ai(ce,Cn),At;if(Jt===null){for(;!kn.done;Cn++,kn=ve.next())kn=Qt(ce,kn.value,it),kn!==null&&(ne=j(kn,ne,Cn),rn===null?At=kn:rn.sibling=kn,rn=kn);return er&&Ai(ce,Cn),At}for(Jt=x(ce,Jt);!kn.done;Cn++,kn=ve.next())kn=Yn(Jt,ce,Cn,kn.value,it),kn!==null&&(l&&kn.alternate!==null&&Jt.delete(kn.key===null?Cn:kn.key),ne=j(kn,ne,Cn),rn===null?At=kn:rn.sibling=kn,rn=kn);return l&&Jt.forEach(function(uR){return u(ce,uR)}),er&&Ai(ce,Cn),At}function va(ce,ne,ve,it){if(typeof ve=="object"&&ve!==null&&ve.type===h&&ve.key===null&&(ve=ve.props.children),typeof ve=="object"&&ve!==null){switch(ve.$$typeof){case d:e:{for(var At=ve.key,rn=ne;rn!==null;){if(rn.key===At){if(At=ve.type,At===h){if(rn.tag===7){g(ce,rn.sibling),ne=C(rn,ve.props.children),ne.return=ce,ce=ne;break e}}else if(rn.elementType===At||typeof At=="object"&&At!==null&&At.$$typeof===P&&Ex(At)===rn.type){g(ce,rn.sibling),ne=C(rn,ve.props),ne.ref=Jc(ce,rn,ve),ne.return=ce,ce=ne;break e}g(ce,rn);break}else u(ce,rn);rn=rn.sibling}ve.type===h?(ne=Fi(ve.props.children,ce.mode,it,ve.key),ne.return=ce,ce=ne):(it=Df(ve.type,ve.key,ve.props,null,ce.mode,it),it.ref=Jc(ce,ne,ve),it.return=ce,ce=it)}return N(ce);case p:e:{for(rn=ve.key;ne!==null;){if(ne.key===rn)if(ne.tag===4&&ne.stateNode.containerInfo===ve.containerInfo&&ne.stateNode.implementation===ve.implementation){g(ce,ne.sibling),ne=C(ne,ve.children||[]),ne.return=ce,ce=ne;break e}else{g(ce,ne);break}else u(ce,ne);ne=ne.sibling}ne=m0(ve,ce.mode,it),ne.return=ce,ce=ne}return N(ce);case P:return rn=ve._init,va(ce,ne,rn(ve._payload),it)}if(q(ve))return Ln(ce,ne,ve,it);if(O(ve))return wo(ce,ne,ve,it);af(ce,ve)}return typeof ve=="string"&&ve!==""||typeof ve=="number"?(ve=""+ve,ne!==null&&ne.tag===6?(g(ce,ne.sibling),ne=C(ne,ve),ne.return=ce,ce=ne):(g(ce,ne),ne=h0(ve,ce.mode,it),ne.return=ce,ce=ne),N(ce)):g(ce,ne)}return va}var jl=Ox(!0),Rx=Ox(!1),Zc={},Go=yt(Zc),eu=yt(Zc),Il=yt(Zc);function Fs(l){if(l===Zc)throw Error(a(174));return l}function Ig(l,u){Wt(Il,u),Wt(eu,l),Wt(Go,Zc),l=T(u),Mt(Go),Wt(Go,l)}function El(){Mt(Go),Mt(eu),Mt(Il)}function Mx(l){var u=Fs(Il.current),g=Fs(Go.current);u=z(g,l.type,u),g!==u&&(Wt(eu,l),Wt(Go,u))}function Eg(l){eu.current===l&&(Mt(Go),Mt(eu))}var cr=yt(0);function lf(l){for(var u=l;u!==null;){if(u.tag===13){var g=u.memoizedState;if(g!==null&&(g=g.dehydrated,g===null||$r(g)||$s(g)))return u}else if(u.tag===19&&u.memoizedProps.revealOrder!==void 0){if(u.flags&128)return u}else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===l)break;for(;u.sibling===null;){if(u.return===null||u.return===l)return null;u=u.return}u.sibling.return=u.return,u=u.sibling}return null}var Og=[];function Rg(){for(var l=0;lg?g:4,l(!0);var x=Mg.transition;Mg.transition={};try{l(!1),u()}finally{Ie=g,Mg.transition=x}}function Yx(){return qo().memoizedState}function $8(l,u,g){var x=Ya(l);if(g={lane:x,action:g,hasEagerState:!1,eagerState:null,next:null},Qx(l))Jx(u,g);else if(g=wx(l,u,g,x),g!==null){var C=eo();Ko(g,l,x,C),Zx(g,u,x)}}function L8(l,u,g){var x=Ya(l),C={lane:x,action:g,hasEagerState:!1,eagerState:null,next:null};if(Qx(l))Jx(u,C);else{var j=l.alternate;if(l.lanes===0&&(j===null||j.lanes===0)&&(j=u.lastRenderedReducer,j!==null))try{var N=u.lastRenderedState,Z=j(N,g);if(C.hasEagerState=!0,C.eagerState=Z,fn(Z,N)){var ue=u.interleaved;ue===null?(C.next=C,kg(u)):(C.next=ue.next,ue.next=C),u.interleaved=C;return}}catch{}finally{}g=wx(l,u,C,x),g!==null&&(C=eo(),Ko(g,l,x,C),Zx(g,u,x))}}function Qx(l){var u=l.alternate;return l===ur||u!==null&&u===ur}function Jx(l,u){tu=uf=!0;var g=l.pending;g===null?u.next=u:(u.next=g.next,g.next=u),l.pending=u}function Zx(l,u,g){if(g&4194240){var x=u.lanes;x&=l.pendingLanes,g|=x,u.lanes=g,Oe(l,g)}}var pf={readContext:Uo,useCallback:Qr,useContext:Qr,useEffect:Qr,useImperativeHandle:Qr,useInsertionEffect:Qr,useLayoutEffect:Qr,useMemo:Qr,useReducer:Qr,useRef:Qr,useState:Qr,useDebugValue:Qr,useDeferredValue:Qr,useTransition:Qr,useMutableSource:Qr,useSyncExternalStore:Qr,useId:Qr,unstable_isNewReconciler:!1},z8={readContext:Uo,useCallback:function(l,u){return Hs().memoizedState=[l,u===void 0?null:u],l},useContext:Uo,useEffect:Hx,useImperativeHandle:function(l,u,g){return g=g!=null?g.concat([l]):null,df(4194308,4,Ux.bind(null,u,l),g)},useLayoutEffect:function(l,u){return df(4194308,4,l,u)},useInsertionEffect:function(l,u){return df(4,2,l,u)},useMemo:function(l,u){var g=Hs();return u=u===void 0?null:u,l=l(),g.memoizedState=[l,u],l},useReducer:function(l,u,g){var x=Hs();return u=g!==void 0?g(u):u,x.memoizedState=x.baseState=u,l={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:u},x.queue=l,l=l.dispatch=$8.bind(null,ur,l),[x.memoizedState,l]},useRef:function(l){var u=Hs();return l={current:l},u.memoizedState=l},useState:Bx,useDebugValue:zg,useDeferredValue:function(l){return Hs().memoizedState=l},useTransition:function(){var l=Bx(!1),u=l[0];return l=N8.bind(null,l[1]),Hs().memoizedState=l,[u,l]},useMutableSource:function(){},useSyncExternalStore:function(l,u,g){var x=ur,C=Hs();if(er){if(g===void 0)throw Error(a(407));g=g()}else{if(g=u(),zr===null)throw Error(a(349));Ni&30||Tx(x,u,g)}C.memoizedState=g;var j={value:g,getSnapshot:u};return C.queue=j,Hx($x.bind(null,x,j,l),[l]),x.flags|=2048,ou(9,Nx.bind(null,x,j,g,u),void 0,null),g},useId:function(){var l=Hs(),u=zr.identifierPrefix;if(er){var g=Yr,x=To;g=(x&~(1<<32-Tn(x)-1)).toString(32)+g,u=":"+u+"R"+g,g=nu++,0")&&(ue=ue.replace("",l.displayName)),ue}while(1<=N&&0<=Z);break}}}finally{qt=!1,Error.prepareStackTrace=g}return(l=l?l.displayName||l.name:"")?Nt(l):""}var en=Object.prototype.hasOwnProperty,Ut=[],Be=-1;function yt(l){return{current:l}}function Mt(l){0>Be||(l.current=Ut[Be],Ut[Be]=null,Be--)}function Wt(l,u){Be++,Ut[Be]=l.current,l.current=u}var jn={},Gt=yt(jn),un=yt(!1),sn=jn;function Or(l,u){var g=l.type.contextTypes;if(!g)return jn;var x=l.stateNode;if(x&&x.__reactInternalMemoizedUnmaskedChildContext===u)return x.__reactInternalMemoizedMaskedChildContext;var C={},j;for(j in g)C[j]=u[j];return x&&(l=l.stateNode,l.__reactInternalMemoizedUnmaskedChildContext=u,l.__reactInternalMemoizedMaskedChildContext=C),C}function Jn(l){return l=l.childContextTypes,l!=null}function It(){Mt(un),Mt(Gt)}function In(l,u,g){if(Gt.current!==jn)throw Error(a(168));Wt(Gt,u),Wt(un,g)}function Rn(l,u,g){var x=l.stateNode;if(u=u.childContextTypes,typeof x.getChildContext!="function")return g;x=x.getChildContext();for(var C in x)if(!(C in u))throw Error(a(108,M(l)||"Unknown",C));return s({},g,x)}function Zn(l){return l=(l=l.stateNode)&&l.__reactInternalMemoizedMergedChildContext||jn,sn=Gt.current,Wt(Gt,l),Wt(un,un.current),!0}function mr(l,u,g){var x=l.stateNode;if(!x)throw Error(a(169));g?(l=Rn(l,u,sn),x.__reactInternalMemoizedMergedChildContext=l,Mt(un),Mt(Gt),Wt(Gt,l)):Mt(un),Wt(un,g)}var Tn=Math.clz32?Math.clz32:Sn,Nn=Math.log,dn=Math.LN2;function Sn(l){return l>>>=0,l===0?32:31-(Nn(l)/dn|0)|0}var En=64,bn=4194304;function yn(l){switch(l&-l){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 l&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return l&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return l}}function qe(l,u){var g=l.pendingLanes;if(g===0)return 0;var x=0,C=l.suspendedLanes,j=l.pingedLanes,N=g&268435455;if(N!==0){var Z=N&~C;Z!==0?x=yn(Z):(j&=N,j!==0&&(x=yn(j)))}else N=g&~C,N!==0?x=yn(N):j!==0&&(x=yn(j));if(x===0)return 0;if(u!==0&&u!==x&&!(u&C)&&(C=x&-x,j=u&-u,C>=j||C===16&&(j&4194240)!==0))return u;if(x&4&&(x|=g&16),u=l.entangledLanes,u!==0)for(l=l.entanglements,u&=x;0g;g++)u.push(l);return u}function mt(l,u,g){l.pendingLanes|=u,u!==536870912&&(l.suspendedLanes=0,l.pingedLanes=0),l=l.eventTimes,u=31-Tn(u),l[u]=g}function rt(l,u){var g=l.pendingLanes&~u;l.pendingLanes=u,l.suspendedLanes=0,l.pingedLanes=0,l.expiredLanes&=u,l.mutableReadLanes&=u,l.entangledLanes&=u,u=l.entanglements;var x=l.eventTimes;for(l=l.expirationTimes;0>=N,C-=N,To=1<<32-Tn(u)+C|g<Cn?(Br=Jt,Jt=null):Br=Jt.sibling;var kn=at(ce,Jt,ve[Cn],it);if(kn===null){Jt===null&&(Jt=Br);break}l&&Jt&&kn.alternate===null&&u(ce,Jt),ne=j(kn,ne,Cn),rn===null?At=kn:rn.sibling=kn,rn=kn,Jt=Br}if(Cn===ve.length)return g(ce,Jt),er&&Ai(ce,Cn),At;if(Jt===null){for(;CnCn?(Br=Jt,Jt=null):Br=Jt.sibling;var ei=at(ce,Jt,kn.value,it);if(ei===null){Jt===null&&(Jt=Br);break}l&&Jt&&ei.alternate===null&&u(ce,Jt),ne=j(ei,ne,Cn),rn===null?At=ei:rn.sibling=ei,rn=ei,Jt=Br}if(kn.done)return g(ce,Jt),er&&Ai(ce,Cn),At;if(Jt===null){for(;!kn.done;Cn++,kn=ve.next())kn=Qt(ce,kn.value,it),kn!==null&&(ne=j(kn,ne,Cn),rn===null?At=kn:rn.sibling=kn,rn=kn);return er&&Ai(ce,Cn),At}for(Jt=x(ce,Jt);!kn.done;Cn++,kn=ve.next())kn=Yn(Jt,ce,Cn,kn.value,it),kn!==null&&(l&&kn.alternate!==null&&Jt.delete(kn.key===null?Cn:kn.key),ne=j(kn,ne,Cn),rn===null?At=kn:rn.sibling=kn,rn=kn);return l&&Jt.forEach(function(uR){return u(ce,uR)}),er&&Ai(ce,Cn),At}function va(ce,ne,ve,it){if(typeof ve=="object"&&ve!==null&&ve.type===h&&ve.key===null&&(ve=ve.props.children),typeof ve=="object"&&ve!==null){switch(ve.$$typeof){case d:e:{for(var At=ve.key,rn=ne;rn!==null;){if(rn.key===At){if(At=ve.type,At===h){if(rn.tag===7){g(ce,rn.sibling),ne=C(rn,ve.props.children),ne.return=ce,ce=ne;break e}}else if(rn.elementType===At||typeof At=="object"&&At!==null&&At.$$typeof===P&&Ex(At)===rn.type){g(ce,rn.sibling),ne=C(rn,ve.props),ne.ref=Jc(ce,rn,ve),ne.return=ce,ce=ne;break e}g(ce,rn);break}else u(ce,rn);rn=rn.sibling}ve.type===h?(ne=Fi(ve.props.children,ce.mode,it,ve.key),ne.return=ce,ce=ne):(it=Tf(ve.type,ve.key,ve.props,null,ce.mode,it),it.ref=Jc(ce,ne,ve),it.return=ce,ce=it)}return N(ce);case p:e:{for(rn=ve.key;ne!==null;){if(ne.key===rn)if(ne.tag===4&&ne.stateNode.containerInfo===ve.containerInfo&&ne.stateNode.implementation===ve.implementation){g(ce,ne.sibling),ne=C(ne,ve.children||[]),ne.return=ce,ce=ne;break e}else{g(ce,ne);break}else u(ce,ne);ne=ne.sibling}ne=g0(ve,ce.mode,it),ne.return=ce,ce=ne}return N(ce);case P:return rn=ve._init,va(ce,ne,rn(ve._payload),it)}if(q(ve))return Ln(ce,ne,ve,it);if(O(ve))return wo(ce,ne,ve,it);cf(ce,ve)}return typeof ve=="string"&&ve!==""||typeof ve=="number"?(ve=""+ve,ne!==null&&ne.tag===6?(g(ce,ne.sibling),ne=C(ne,ve),ne.return=ce,ce=ne):(g(ce,ne),ne=m0(ve,ce.mode,it),ne.return=ce,ce=ne),N(ce)):g(ce,ne)}return va}var jl=Ox(!0),Rx=Ox(!1),Zc={},Go=yt(Zc),eu=yt(Zc),Il=yt(Zc);function Fs(l){if(l===Zc)throw Error(a(174));return l}function Eg(l,u){Wt(Il,u),Wt(eu,l),Wt(Go,Zc),l=T(u),Mt(Go),Wt(Go,l)}function El(){Mt(Go),Mt(eu),Mt(Il)}function Mx(l){var u=Fs(Il.current),g=Fs(Go.current);u=z(g,l.type,u),g!==u&&(Wt(eu,l),Wt(Go,u))}function Og(l){eu.current===l&&(Mt(Go),Mt(eu))}var ur=yt(0);function uf(l){for(var u=l;u!==null;){if(u.tag===13){var g=u.memoizedState;if(g!==null&&(g=g.dehydrated,g===null||$r(g)||$s(g)))return u}else if(u.tag===19&&u.memoizedProps.revealOrder!==void 0){if(u.flags&128)return u}else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===l)break;for(;u.sibling===null;){if(u.return===null||u.return===l)return null;u=u.return}u.sibling.return=u.return,u=u.sibling}return null}var Rg=[];function Mg(){for(var l=0;lg?g:4,l(!0);var x=Dg.transition;Dg.transition={};try{l(!1),u()}finally{Ie=g,Dg.transition=x}}function Yx(){return qo().memoizedState}function $8(l,u,g){var x=Qa(l);if(g={lane:x,action:g,hasEagerState:!1,eagerState:null,next:null},Qx(l))Jx(u,g);else if(g=wx(l,u,g,x),g!==null){var C=eo();Ko(g,l,x,C),Zx(g,u,x)}}function L8(l,u,g){var x=Qa(l),C={lane:x,action:g,hasEagerState:!1,eagerState:null,next:null};if(Qx(l))Jx(u,C);else{var j=l.alternate;if(l.lanes===0&&(j===null||j.lanes===0)&&(j=u.lastRenderedReducer,j!==null))try{var N=u.lastRenderedState,Z=j(N,g);if(C.hasEagerState=!0,C.eagerState=Z,fn(Z,N)){var ue=u.interleaved;ue===null?(C.next=C,_g(u)):(C.next=ue.next,ue.next=C),u.interleaved=C;return}}catch{}finally{}g=wx(l,u,C,x),g!==null&&(C=eo(),Ko(g,l,x,C),Zx(g,u,x))}}function Qx(l){var u=l.alternate;return l===dr||u!==null&&u===dr}function Jx(l,u){tu=ff=!0;var g=l.pending;g===null?u.next=u:(u.next=g.next,g.next=u),l.pending=u}function Zx(l,u,g){if(g&4194240){var x=u.lanes;x&=l.pendingLanes,g|=x,u.lanes=g,Oe(l,g)}}var mf={readContext:Uo,useCallback:Qr,useContext:Qr,useEffect:Qr,useImperativeHandle:Qr,useInsertionEffect:Qr,useLayoutEffect:Qr,useMemo:Qr,useReducer:Qr,useRef:Qr,useState:Qr,useDebugValue:Qr,useDeferredValue:Qr,useTransition:Qr,useMutableSource:Qr,useSyncExternalStore:Qr,useId:Qr,unstable_isNewReconciler:!1},z8={readContext:Uo,useCallback:function(l,u){return Hs().memoizedState=[l,u===void 0?null:u],l},useContext:Uo,useEffect:Hx,useImperativeHandle:function(l,u,g){return g=g!=null?g.concat([l]):null,pf(4194308,4,Ux.bind(null,u,l),g)},useLayoutEffect:function(l,u){return pf(4194308,4,l,u)},useInsertionEffect:function(l,u){return pf(4,2,l,u)},useMemo:function(l,u){var g=Hs();return u=u===void 0?null:u,l=l(),g.memoizedState=[l,u],l},useReducer:function(l,u,g){var x=Hs();return u=g!==void 0?g(u):u,x.memoizedState=x.baseState=u,l={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:u},x.queue=l,l=l.dispatch=$8.bind(null,dr,l),[x.memoizedState,l]},useRef:function(l){var u=Hs();return l={current:l},u.memoizedState=l},useState:Bx,useDebugValue:Bg,useDeferredValue:function(l){return Hs().memoizedState=l},useTransition:function(){var l=Bx(!1),u=l[0];return l=N8.bind(null,l[1]),Hs().memoizedState=l,[u,l]},useMutableSource:function(){},useSyncExternalStore:function(l,u,g){var x=dr,C=Hs();if(er){if(g===void 0)throw Error(a(407));g=g()}else{if(g=u(),zr===null)throw Error(a(349));Ni&30||Tx(x,u,g)}C.memoizedState=g;var j={value:g,getSnapshot:u};return C.queue=j,Hx($x.bind(null,x,j,l),[l]),x.flags|=2048,ou(9,Nx.bind(null,x,j,g,u),void 0,null),g},useId:function(){var l=Hs(),u=zr.identifierPrefix;if(er){var g=Yr,x=To;g=(x&~(1<<32-Tn(x)-1)).toString(32)+g,u=":"+u+"R"+g,g=nu++,0a0&&(u.flags|=128,x=!0,iu(C,!1),u.lanes=4194304)}else{if(!x)if(l=lf(j),l!==null){if(u.flags|=128,x=!0,l=l.updateQueue,l!==null&&(u.updateQueue=l,u.flags|=4),iu(C,!0),C.tail===null&&C.tailMode==="hidden"&&!j.alternate&&!er)return Jr(u),null}else 2*Ve()-C.renderingStartTime>a0&&g!==1073741824&&(u.flags|=128,x=!0,iu(C,!1),u.lanes=4194304);C.isBackwards?(j.sibling=u.child,u.child=j):(l=C.last,l!==null?l.sibling=j:u.child=j,C.last=j)}return C.tail!==null?(u=C.tail,C.rendering=u,C.tail=u.sibling,C.renderingStartTime=Ve(),u.sibling=null,l=cr.current,Wt(cr,x?l&1|2:l&1),u):(Jr(u),null);case 22:case 23:return d0(),g=u.memoizedState!==null,l!==null&&l.memoizedState!==null!==g&&(u.flags|=8192),g&&u.mode&1?$o&1073741824&&(Jr(u),le&&u.subtreeFlags&6&&(u.flags|=8192)):Jr(u),null;case 24:return null;case 25:return null}throw Error(a(156,u.tag))}function q8(l,u){switch(gg(u),u.tag){case 1:return Jn(u.type)&&It(),l=u.flags,l&65536?(u.flags=l&-65537|128,u):null;case 3:return El(),Mt(un),Mt(Gt),Rg(),l=u.flags,l&65536&&!(l&128)?(u.flags=l&-65537|128,u):null;case 5:return Eg(u),null;case 13:if(Mt(cr),l=u.memoizedState,l!==null&&l.dehydrated!==null){if(u.alternate===null)throw Error(a(340));kl()}return l=u.flags,l&65536?(u.flags=l&-65537|128,u):null;case 19:return Mt(cr),null;case 4:return El(),null;case 10:return Sg(u.type._context),null;case 22:case 23:return d0(),null;case 24:return null;default:return null}}var bf=!1,Zr=!1,K8=typeof WeakSet=="function"?WeakSet:Set,pt=null;function Rl(l,u){var g=l.ref;if(g!==null)if(typeof g=="function")try{g(null)}catch(x){tr(l,u,x)}else g.current=null}function Kg(l,u,g){try{g()}catch(x){tr(l,u,x)}}var b2=!1;function X8(l,u){for($(l.containerInfo),pt=u;pt!==null;)if(l=pt,u=l.child,(l.subtreeFlags&1028)!==0&&u!==null)u.return=l,pt=u;else for(;pt!==null;){l=pt;try{var g=l.alternate;if(l.flags&1024)switch(l.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var x=g.memoizedProps,C=g.memoizedState,j=l.stateNode,N=j.getSnapshotBeforeUpdate(l.elementType===l.type?x:hs(l.type,x),C);j.__reactInternalSnapshotBeforeUpdate=N}break;case 3:le&&ln(l.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(a(163))}}catch(Z){tr(l,l.return,Z)}if(u=l.sibling,u!==null){u.return=l.return,pt=u;break}pt=l.return}return g=b2,b2=!1,g}function lu(l,u,g){var x=u.updateQueue;if(x=x!==null?x.lastEffect:null,x!==null){var C=x=x.next;do{if((C.tag&l)===l){var j=C.destroy;C.destroy=void 0,j!==void 0&&Kg(u,g,j)}C=C.next}while(C!==x)}}function yf(l,u){if(u=u.updateQueue,u=u!==null?u.lastEffect:null,u!==null){var g=u=u.next;do{if((g.tag&l)===l){var x=g.create;g.destroy=x()}g=g.next}while(g!==u)}}function Xg(l){var u=l.ref;if(u!==null){var g=l.stateNode;switch(l.tag){case 5:l=G(g);break;default:l=g}typeof u=="function"?u(l):u.current=l}}function y2(l){var u=l.alternate;u!==null&&(l.alternate=null,y2(u)),l.child=null,l.deletions=null,l.sibling=null,l.tag===5&&(u=l.stateNode,u!==null&&Ee(u)),l.stateNode=null,l.return=null,l.dependencies=null,l.memoizedProps=null,l.memoizedState=null,l.pendingProps=null,l.stateNode=null,l.updateQueue=null}function x2(l){return l.tag===5||l.tag===3||l.tag===4}function w2(l){e:for(;;){for(;l.sibling===null;){if(l.return===null||x2(l.return))return null;l=l.return}for(l.sibling.return=l.return,l=l.sibling;l.tag!==5&&l.tag!==6&&l.tag!==18;){if(l.flags&2||l.child===null||l.tag===4)continue e;l.child.return=l,l=l.child}if(!(l.flags&2))return l.stateNode}}function Yg(l,u,g){var x=l.tag;if(x===5||x===6)l=l.stateNode,u?Pn(g,l,u):ht(g,l);else if(x!==4&&(l=l.child,l!==null))for(Yg(l,u,g),l=l.sibling;l!==null;)Yg(l,u,g),l=l.sibling}function Qg(l,u,g){var x=l.tag;if(x===5||x===6)l=l.stateNode,u?Ge(g,l,u):we(g,l);else if(x!==4&&(l=l.child,l!==null))for(Qg(l,u,g),l=l.sibling;l!==null;)Qg(l,u,g),l=l.sibling}var Gr=null,ms=!1;function Vs(l,u,g){for(g=g.child;g!==null;)Jg(l,u,g),g=g.sibling}function Jg(l,u,g){if(gn&&typeof gn.onCommitFiberUnmount=="function")try{gn.onCommitFiberUnmount(Xn,g)}catch{}switch(g.tag){case 5:Zr||Rl(g,u);case 6:if(le){var x=Gr,C=ms;Gr=null,Vs(l,u,g),Gr=x,ms=C,Gr!==null&&(ms?Ye(Gr,g.stateNode):Pe(Gr,g.stateNode))}else Vs(l,u,g);break;case 18:le&&Gr!==null&&(ms?He(Gr,g.stateNode):xt(Gr,g.stateNode));break;case 4:le?(x=Gr,C=ms,Gr=g.stateNode.containerInfo,ms=!0,Vs(l,u,g),Gr=x,ms=C):(ge&&(x=g.stateNode.containerInfo,C=xr(x),Wn(x,C)),Vs(l,u,g));break;case 0:case 11:case 14:case 15:if(!Zr&&(x=g.updateQueue,x!==null&&(x=x.lastEffect,x!==null))){C=x=x.next;do{var j=C,N=j.destroy;j=j.tag,N!==void 0&&(j&2||j&4)&&Kg(g,u,N),C=C.next}while(C!==x)}Vs(l,u,g);break;case 1:if(!Zr&&(Rl(g,u),x=g.stateNode,typeof x.componentWillUnmount=="function"))try{x.props=g.memoizedProps,x.state=g.memoizedState,x.componentWillUnmount()}catch(Z){tr(g,u,Z)}Vs(l,u,g);break;case 21:Vs(l,u,g);break;case 22:g.mode&1?(Zr=(x=Zr)||g.memoizedState!==null,Vs(l,u,g),Zr=x):Vs(l,u,g);break;default:Vs(l,u,g)}}function S2(l){var u=l.updateQueue;if(u!==null){l.updateQueue=null;var g=l.stateNode;g===null&&(g=l.stateNode=new K8),u.forEach(function(x){var C=oR.bind(null,l,x);g.has(x)||(g.add(x),x.then(C,C))})}}function gs(l,u){var g=u.deletions;if(g!==null)for(var x=0;x";case wf:return":has("+(t0(l)||"")+")";case Sf:return'[role="'+l.value+'"]';case kf:return'"'+l.value+'"';case Cf:return'[data-testname="'+l.value+'"]';default:throw Error(a(365))}}function I2(l,u){var g=[];l=[l,0];for(var x=0;xC&&(C=N),x&=~j}if(x=C,x=Ve()-x,x=(120>x?120:480>x?480:1080>x?1080:1920>x?1920:3e3>x?3e3:4320>x?4320:1960*Q8(x/1960))-x,10l?16:l,Xa===null)var x=!1;else{if(l=Xa,Xa=null,Ef=0,an&6)throw Error(a(331));var C=an;for(an|=4,pt=l.current;pt!==null;){var j=pt,N=j.child;if(pt.flags&16){var Z=j.deletions;if(Z!==null){for(var ue=0;ueVe()-s0?Li(l,0):o0|=g),xo(l,u)}function $2(l,u){u===0&&(l.mode&1?(u=bn,bn<<=1,!(bn&130023424)&&(bn=4194304)):u=1);var g=eo();l=Bs(l,u),l!==null&&(mt(l,u,g),xo(l,g))}function rR(l){var u=l.memoizedState,g=0;u!==null&&(g=u.retryLane),$2(l,g)}function oR(l,u){var g=0;switch(l.tag){case 13:var x=l.stateNode,C=l.memoizedState;C!==null&&(g=C.retryLane);break;case 19:x=l.stateNode;break;default:throw Error(a(314))}x!==null&&x.delete(u),$2(l,g)}var L2;L2=function(l,u,g){if(l!==null)if(l.memoizedProps!==u.pendingProps||un.current)bo=!0;else{if(!(l.lanes&g)&&!(u.flags&128))return bo=!1,U8(l,u,g);bo=!!(l.flags&131072)}else bo=!1,er&&u.flags&1048576&&mx(u,io,u.index);switch(u.lanes=0,u.tag){case 2:var x=u.type;mf(l,u),l=u.pendingProps;var C=Or(u,Gt.current);Pl(u,g),C=Ag(null,u,x,l,C,g);var j=Tg();return u.flags|=1,typeof C=="object"&&C!==null&&typeof C.render=="function"&&C.$$typeof===void 0?(u.tag=1,u.memoizedState=null,u.updateQueue=null,Jn(x)?(j=!0,Zn(u)):j=!1,u.memoizedState=C.state!==null&&C.state!==void 0?C.state:null,_g(u),C.updater=sf,u.stateNode=C,C._reactInternals=u,jg(u,x,l,g),u=Wg(null,u,x,!0,j,g)):(u.tag=0,er&&j&&mg(u),uo(null,u,C,g),u=u.child),u;case 16:x=u.elementType;e:{switch(mf(l,u),l=u.pendingProps,C=x._init,x=C(x._payload),u.type=x,C=u.tag=aR(x),l=hs(x,l),C){case 0:u=Hg(null,u,x,l,g);break e;case 1:u=u2(null,u,x,l,g);break e;case 11:u=s2(null,u,x,l,g);break e;case 14:u=a2(null,u,x,hs(x.type,l),g);break e}throw Error(a(306,x,""))}return u;case 0:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:hs(x,C),Hg(l,u,x,C,g);case 1:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:hs(x,C),u2(l,u,x,C,g);case 3:e:{if(d2(u),l===null)throw Error(a(387));x=u.pendingProps,j=u.memoizedState,C=j.element,Sx(l,u),of(u,x,null,g);var N=u.memoizedState;if(x=N.element,ke&&j.isDehydrated)if(j={element:x,isDehydrated:!1,cache:N.cache,pendingSuspenseBoundaries:N.pendingSuspenseBoundaries,transitions:N.transitions},u.updateQueue.baseState=j,u.memoizedState=j,u.flags&256){C=Ol(Error(a(423)),u),u=f2(l,u,x,g,C);break e}else if(x!==C){C=Ol(Error(a(424)),u),u=f2(l,u,x,g,C);break e}else for(ke&&(Vo=ee(u.stateNode.containerInfo),No=u,er=!0,ps=null,Qc=!1),g=Rx(u,null,x,g),u.child=g;g;)g.flags=g.flags&-3|4096,g=g.sibling;else{if(kl(),x===C){u=ma(l,u,g);break e}uo(l,u,x,g)}u=u.child}return u;case 5:return Mx(u),l===null&&bg(u),x=u.type,C=u.pendingProps,j=l!==null?l.memoizedProps:null,N=C.children,K(x,C)?N=null:j!==null&&K(x,j)&&(u.flags|=32),c2(l,u),uo(l,u,N,g),u.child;case 6:return l===null&&bg(u),null;case 13:return p2(l,u,g);case 4:return Ig(u,u.stateNode.containerInfo),x=u.pendingProps,l===null?u.child=jl(u,null,x,g):uo(l,u,x,g),u.child;case 11:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:hs(x,C),s2(l,u,x,C,g);case 7:return uo(l,u,u.pendingProps,g),u.child;case 8:return uo(l,u,u.pendingProps.children,g),u.child;case 12:return uo(l,u,u.pendingProps.children,g),u.child;case 10:e:{if(x=u.type._context,C=u.pendingProps,j=u.memoizedProps,N=C.value,xx(u,x,N),j!==null)if(fn(j.value,N)){if(j.children===C.children&&!un.current){u=ma(l,u,g);break e}}else for(j=u.child,j!==null&&(j.return=u);j!==null;){var Z=j.dependencies;if(Z!==null){N=j.child;for(var ue=Z.firstContext;ue!==null;){if(ue.context===x){if(j.tag===1){ue=ha(-1,g&-g),ue.tag=2;var Ne=j.updateQueue;if(Ne!==null){Ne=Ne.shared;var gt=Ne.pending;gt===null?ue.next=ue:(ue.next=gt.next,gt.next=ue),Ne.pending=ue}}j.lanes|=g,ue=j.alternate,ue!==null&&(ue.lanes|=g),Cg(j.return,g,u),Z.lanes|=g;break}ue=ue.next}}else if(j.tag===10)N=j.type===u.type?null:j.child;else if(j.tag===18){if(N=j.return,N===null)throw Error(a(341));N.lanes|=g,Z=N.alternate,Z!==null&&(Z.lanes|=g),Cg(N,g,u),N=j.sibling}else N=j.child;if(N!==null)N.return=j;else for(N=j;N!==null;){if(N===u){N=null;break}if(j=N.sibling,j!==null){j.return=N.return,N=j;break}N=N.return}j=N}uo(l,u,C.children,g),u=u.child}return u;case 9:return C=u.type,x=u.pendingProps.children,Pl(u,g),C=Uo(C),x=x(C),u.flags|=1,uo(l,u,x,g),u.child;case 14:return x=u.type,C=hs(x,u.pendingProps),C=hs(x.type,C),a2(l,u,x,C,g);case 15:return i2(l,u,u.type,u.pendingProps,g);case 17:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:hs(x,C),mf(l,u),u.tag=1,Jn(x)?(l=!0,Zn(u)):l=!1,Pl(u,g),jx(u,x,C),jg(u,x,C,g),Wg(null,u,x,!0,l,g);case 19:return m2(l,u,g);case 22:return l2(l,u,g)}throw Error(a(156,u.tag))};function z2(l,u){return We(l,u)}function sR(l,u,g,x){this.tag=l,this.key=g,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=u,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=x,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Xo(l,u,g,x){return new sR(l,u,g,x)}function p0(l){return l=l.prototype,!(!l||!l.isReactComponent)}function aR(l){if(typeof l=="function")return p0(l)?1:0;if(l!=null){if(l=l.$$typeof,l===y)return 11;if(l===_)return 14}return 2}function Ja(l,u){var g=l.alternate;return g===null?(g=Xo(l.tag,u,l.key,l.mode),g.elementType=l.elementType,g.type=l.type,g.stateNode=l.stateNode,g.alternate=l,l.alternate=g):(g.pendingProps=u,g.type=l.type,g.flags=0,g.subtreeFlags=0,g.deletions=null),g.flags=l.flags&14680064,g.childLanes=l.childLanes,g.lanes=l.lanes,g.child=l.child,g.memoizedProps=l.memoizedProps,g.memoizedState=l.memoizedState,g.updateQueue=l.updateQueue,u=l.dependencies,g.dependencies=u===null?null:{lanes:u.lanes,firstContext:u.firstContext},g.sibling=l.sibling,g.index=l.index,g.ref=l.ref,g}function Df(l,u,g,x,C,j){var N=2;if(x=l,typeof l=="function")p0(l)&&(N=1);else if(typeof l=="string")N=5;else e:switch(l){case h:return Fi(g.children,C,j,u);case m:N=8,C|=8;break;case v:return l=Xo(12,g,u,C|2),l.elementType=v,l.lanes=j,l;case S:return l=Xo(13,g,u,C),l.elementType=S,l.lanes=j,l;case k:return l=Xo(19,g,u,C),l.elementType=k,l.lanes=j,l;case I:return Af(g,C,j,u);default:if(typeof l=="object"&&l!==null)switch(l.$$typeof){case b:N=10;break e;case w:N=9;break e;case y:N=11;break e;case _:N=14;break e;case P:N=16,x=null;break e}throw Error(a(130,l==null?l:typeof l,""))}return u=Xo(N,g,u,C),u.elementType=l,u.type=x,u.lanes=j,u}function Fi(l,u,g,x){return l=Xo(7,l,x,u),l.lanes=g,l}function Af(l,u,g,x){return l=Xo(22,l,x,u),l.elementType=I,l.lanes=g,l.stateNode={isHidden:!1},l}function h0(l,u,g){return l=Xo(6,l,null,u),l.lanes=g,l}function m0(l,u,g){return u=Xo(4,l.children!==null?l.children:[],l.key,u),u.lanes=g,u.stateNode={containerInfo:l.containerInfo,pendingChildren:null,implementation:l.implementation},u}function iR(l,u,g,x,C){this.tag=u,this.containerInfo=l,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=oe,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Bt(0),this.expirationTimes=Bt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Bt(0),this.identifierPrefix=x,this.onRecoverableError=C,ke&&(this.mutableSourceEagerHydrationData=null)}function B2(l,u,g,x,C,j,N,Z,ue){return l=new iR(l,u,g,Z,ue),u===1?(u=1,j===!0&&(u|=8)):u=0,j=Xo(3,null,null,u),l.current=j,j.stateNode=l,j.memoizedState={element:x,isDehydrated:g,cache:null,transitions:null,pendingSuspenseBoundaries:null},_g(j),l}function F2(l){if(!l)return jn;l=l._reactInternals;e:{if(D(l)!==l||l.tag!==1)throw Error(a(170));var u=l;do{switch(u.tag){case 3:u=u.stateNode.context;break e;case 1:if(Jn(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break e}}u=u.return}while(u!==null);throw Error(a(171))}if(l.tag===1){var g=l.type;if(Jn(g))return Rn(l,g,u)}return u}function H2(l){var u=l._reactInternals;if(u===void 0)throw typeof l.render=="function"?Error(a(188)):(l=Object.keys(l).join(","),Error(a(268,l)));return l=Q(u),l===null?null:l.stateNode}function W2(l,u){if(l=l.memoizedState,l!==null&&l.dehydrated!==null){var g=l.retryLane;l.retryLane=g!==0&&g=Ne&&j>=Qt&&C<=gt&&N<=at){l.splice(u,1);break}else if(x!==Ne||g.width!==ue.width||atN){if(!(j!==Qt||g.height!==ue.height||gtC)){Ne>x&&(ue.width+=Ne-x,ue.x=x),gtj&&(ue.height+=Qt-j,ue.y=j),atg&&(g=N)),Ni0&&(u.flags|=128,x=!0,iu(C,!1),u.lanes=4194304)}else{if(!x)if(l=uf(j),l!==null){if(u.flags|=128,x=!0,l=l.updateQueue,l!==null&&(u.updateQueue=l,u.flags|=4),iu(C,!0),C.tail===null&&C.tailMode==="hidden"&&!j.alternate&&!er)return Jr(u),null}else 2*Ve()-C.renderingStartTime>i0&&g!==1073741824&&(u.flags|=128,x=!0,iu(C,!1),u.lanes=4194304);C.isBackwards?(j.sibling=u.child,u.child=j):(l=C.last,l!==null?l.sibling=j:u.child=j,C.last=j)}return C.tail!==null?(u=C.tail,C.rendering=u,C.tail=u.sibling,C.renderingStartTime=Ve(),u.sibling=null,l=ur.current,Wt(ur,x?l&1|2:l&1),u):(Jr(u),null);case 22:case 23:return f0(),g=u.memoizedState!==null,l!==null&&l.memoizedState!==null!==g&&(u.flags|=8192),g&&u.mode&1?$o&1073741824&&(Jr(u),le&&u.subtreeFlags&6&&(u.flags|=8192)):Jr(u),null;case 24:return null;case 25:return null}throw Error(a(156,u.tag))}function q8(l,u){switch(vg(u),u.tag){case 1:return Jn(u.type)&&It(),l=u.flags,l&65536?(u.flags=l&-65537|128,u):null;case 3:return El(),Mt(un),Mt(Gt),Mg(),l=u.flags,l&65536&&!(l&128)?(u.flags=l&-65537|128,u):null;case 5:return Og(u),null;case 13:if(Mt(ur),l=u.memoizedState,l!==null&&l.dehydrated!==null){if(u.alternate===null)throw Error(a(340));kl()}return l=u.flags,l&65536?(u.flags=l&-65537|128,u):null;case 19:return Mt(ur),null;case 4:return El(),null;case 10:return Cg(u.type._context),null;case 22:case 23:return f0(),null;case 24:return null;default:return null}}var xf=!1,Zr=!1,K8=typeof WeakSet=="function"?WeakSet:Set,pt=null;function Rl(l,u){var g=l.ref;if(g!==null)if(typeof g=="function")try{g(null)}catch(x){tr(l,u,x)}else g.current=null}function Xg(l,u,g){try{g()}catch(x){tr(l,u,x)}}var b2=!1;function X8(l,u){for($(l.containerInfo),pt=u;pt!==null;)if(l=pt,u=l.child,(l.subtreeFlags&1028)!==0&&u!==null)u.return=l,pt=u;else for(;pt!==null;){l=pt;try{var g=l.alternate;if(l.flags&1024)switch(l.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var x=g.memoizedProps,C=g.memoizedState,j=l.stateNode,N=j.getSnapshotBeforeUpdate(l.elementType===l.type?x:hs(l.type,x),C);j.__reactInternalSnapshotBeforeUpdate=N}break;case 3:le&&ln(l.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(a(163))}}catch(Z){tr(l,l.return,Z)}if(u=l.sibling,u!==null){u.return=l.return,pt=u;break}pt=l.return}return g=b2,b2=!1,g}function lu(l,u,g){var x=u.updateQueue;if(x=x!==null?x.lastEffect:null,x!==null){var C=x=x.next;do{if((C.tag&l)===l){var j=C.destroy;C.destroy=void 0,j!==void 0&&Xg(u,g,j)}C=C.next}while(C!==x)}}function wf(l,u){if(u=u.updateQueue,u=u!==null?u.lastEffect:null,u!==null){var g=u=u.next;do{if((g.tag&l)===l){var x=g.create;g.destroy=x()}g=g.next}while(g!==u)}}function Yg(l){var u=l.ref;if(u!==null){var g=l.stateNode;switch(l.tag){case 5:l=G(g);break;default:l=g}typeof u=="function"?u(l):u.current=l}}function y2(l){var u=l.alternate;u!==null&&(l.alternate=null,y2(u)),l.child=null,l.deletions=null,l.sibling=null,l.tag===5&&(u=l.stateNode,u!==null&&Ee(u)),l.stateNode=null,l.return=null,l.dependencies=null,l.memoizedProps=null,l.memoizedState=null,l.pendingProps=null,l.stateNode=null,l.updateQueue=null}function x2(l){return l.tag===5||l.tag===3||l.tag===4}function w2(l){e:for(;;){for(;l.sibling===null;){if(l.return===null||x2(l.return))return null;l=l.return}for(l.sibling.return=l.return,l=l.sibling;l.tag!==5&&l.tag!==6&&l.tag!==18;){if(l.flags&2||l.child===null||l.tag===4)continue e;l.child.return=l,l=l.child}if(!(l.flags&2))return l.stateNode}}function Qg(l,u,g){var x=l.tag;if(x===5||x===6)l=l.stateNode,u?Pn(g,l,u):ht(g,l);else if(x!==4&&(l=l.child,l!==null))for(Qg(l,u,g),l=l.sibling;l!==null;)Qg(l,u,g),l=l.sibling}function Jg(l,u,g){var x=l.tag;if(x===5||x===6)l=l.stateNode,u?Ge(g,l,u):we(g,l);else if(x!==4&&(l=l.child,l!==null))for(Jg(l,u,g),l=l.sibling;l!==null;)Jg(l,u,g),l=l.sibling}var Gr=null,ms=!1;function Vs(l,u,g){for(g=g.child;g!==null;)Zg(l,u,g),g=g.sibling}function Zg(l,u,g){if(gn&&typeof gn.onCommitFiberUnmount=="function")try{gn.onCommitFiberUnmount(Xn,g)}catch{}switch(g.tag){case 5:Zr||Rl(g,u);case 6:if(le){var x=Gr,C=ms;Gr=null,Vs(l,u,g),Gr=x,ms=C,Gr!==null&&(ms?Ye(Gr,g.stateNode):Pe(Gr,g.stateNode))}else Vs(l,u,g);break;case 18:le&&Gr!==null&&(ms?He(Gr,g.stateNode):xt(Gr,g.stateNode));break;case 4:le?(x=Gr,C=ms,Gr=g.stateNode.containerInfo,ms=!0,Vs(l,u,g),Gr=x,ms=C):(ge&&(x=g.stateNode.containerInfo,C=xr(x),Wn(x,C)),Vs(l,u,g));break;case 0:case 11:case 14:case 15:if(!Zr&&(x=g.updateQueue,x!==null&&(x=x.lastEffect,x!==null))){C=x=x.next;do{var j=C,N=j.destroy;j=j.tag,N!==void 0&&(j&2||j&4)&&Xg(g,u,N),C=C.next}while(C!==x)}Vs(l,u,g);break;case 1:if(!Zr&&(Rl(g,u),x=g.stateNode,typeof x.componentWillUnmount=="function"))try{x.props=g.memoizedProps,x.state=g.memoizedState,x.componentWillUnmount()}catch(Z){tr(g,u,Z)}Vs(l,u,g);break;case 21:Vs(l,u,g);break;case 22:g.mode&1?(Zr=(x=Zr)||g.memoizedState!==null,Vs(l,u,g),Zr=x):Vs(l,u,g);break;default:Vs(l,u,g)}}function S2(l){var u=l.updateQueue;if(u!==null){l.updateQueue=null;var g=l.stateNode;g===null&&(g=l.stateNode=new K8),u.forEach(function(x){var C=oR.bind(null,l,x);g.has(x)||(g.add(x),x.then(C,C))})}}function gs(l,u){var g=u.deletions;if(g!==null)for(var x=0;x";case Cf:return":has("+(n0(l)||"")+")";case kf:return'[role="'+l.value+'"]';case Pf:return'"'+l.value+'"';case _f:return'[data-testname="'+l.value+'"]';default:throw Error(a(365))}}function I2(l,u){var g=[];l=[l,0];for(var x=0;xC&&(C=N),x&=~j}if(x=C,x=Ve()-x,x=(120>x?120:480>x?480:1080>x?1080:1920>x?1920:3e3>x?3e3:4320>x?4320:1960*Q8(x/1960))-x,10l?16:l,Ya===null)var x=!1;else{if(l=Ya,Ya=null,Rf=0,an&6)throw Error(a(331));var C=an;for(an|=4,pt=l.current;pt!==null;){var j=pt,N=j.child;if(pt.flags&16){var Z=j.deletions;if(Z!==null){for(var ue=0;ueVe()-a0?Li(l,0):s0|=g),xo(l,u)}function $2(l,u){u===0&&(l.mode&1?(u=bn,bn<<=1,!(bn&130023424)&&(bn=4194304)):u=1);var g=eo();l=Bs(l,u),l!==null&&(mt(l,u,g),xo(l,g))}function rR(l){var u=l.memoizedState,g=0;u!==null&&(g=u.retryLane),$2(l,g)}function oR(l,u){var g=0;switch(l.tag){case 13:var x=l.stateNode,C=l.memoizedState;C!==null&&(g=C.retryLane);break;case 19:x=l.stateNode;break;default:throw Error(a(314))}x!==null&&x.delete(u),$2(l,g)}var L2;L2=function(l,u,g){if(l!==null)if(l.memoizedProps!==u.pendingProps||un.current)bo=!0;else{if(!(l.lanes&g)&&!(u.flags&128))return bo=!1,U8(l,u,g);bo=!!(l.flags&131072)}else bo=!1,er&&u.flags&1048576&&mx(u,io,u.index);switch(u.lanes=0,u.tag){case 2:var x=u.type;vf(l,u),l=u.pendingProps;var C=Or(u,Gt.current);Pl(u,g),C=Tg(null,u,x,l,C,g);var j=Ng();return u.flags|=1,typeof C=="object"&&C!==null&&typeof C.render=="function"&&C.$$typeof===void 0?(u.tag=1,u.memoizedState=null,u.updateQueue=null,Jn(x)?(j=!0,Zn(u)):j=!1,u.memoizedState=C.state!==null&&C.state!==void 0?C.state:null,Pg(u),C.updater=lf,u.stateNode=C,C._reactInternals=u,Ig(u,x,l,g),u=Vg(null,u,x,!0,j,g)):(u.tag=0,er&&j&&gg(u),uo(null,u,C,g),u=u.child),u;case 16:x=u.elementType;e:{switch(vf(l,u),l=u.pendingProps,C=x._init,x=C(x._payload),u.type=x,C=u.tag=aR(x),l=hs(x,l),C){case 0:u=Wg(null,u,x,l,g);break e;case 1:u=u2(null,u,x,l,g);break e;case 11:u=s2(null,u,x,l,g);break e;case 14:u=a2(null,u,x,hs(x.type,l),g);break e}throw Error(a(306,x,""))}return u;case 0:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:hs(x,C),Wg(l,u,x,C,g);case 1:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:hs(x,C),u2(l,u,x,C,g);case 3:e:{if(d2(u),l===null)throw Error(a(387));x=u.pendingProps,j=u.memoizedState,C=j.element,Sx(l,u),af(u,x,null,g);var N=u.memoizedState;if(x=N.element,ke&&j.isDehydrated)if(j={element:x,isDehydrated:!1,cache:N.cache,pendingSuspenseBoundaries:N.pendingSuspenseBoundaries,transitions:N.transitions},u.updateQueue.baseState=j,u.memoizedState=j,u.flags&256){C=Ol(Error(a(423)),u),u=f2(l,u,x,g,C);break e}else if(x!==C){C=Ol(Error(a(424)),u),u=f2(l,u,x,g,C);break e}else for(ke&&(Vo=ee(u.stateNode.containerInfo),No=u,er=!0,ps=null,Qc=!1),g=Rx(u,null,x,g),u.child=g;g;)g.flags=g.flags&-3|4096,g=g.sibling;else{if(kl(),x===C){u=ma(l,u,g);break e}uo(l,u,x,g)}u=u.child}return u;case 5:return Mx(u),l===null&&yg(u),x=u.type,C=u.pendingProps,j=l!==null?l.memoizedProps:null,N=C.children,K(x,C)?N=null:j!==null&&K(x,j)&&(u.flags|=32),c2(l,u),uo(l,u,N,g),u.child;case 6:return l===null&&yg(u),null;case 13:return p2(l,u,g);case 4:return Eg(u,u.stateNode.containerInfo),x=u.pendingProps,l===null?u.child=jl(u,null,x,g):uo(l,u,x,g),u.child;case 11:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:hs(x,C),s2(l,u,x,C,g);case 7:return uo(l,u,u.pendingProps,g),u.child;case 8:return uo(l,u,u.pendingProps.children,g),u.child;case 12:return uo(l,u,u.pendingProps.children,g),u.child;case 10:e:{if(x=u.type._context,C=u.pendingProps,j=u.memoizedProps,N=C.value,xx(u,x,N),j!==null)if(fn(j.value,N)){if(j.children===C.children&&!un.current){u=ma(l,u,g);break e}}else for(j=u.child,j!==null&&(j.return=u);j!==null;){var Z=j.dependencies;if(Z!==null){N=j.child;for(var ue=Z.firstContext;ue!==null;){if(ue.context===x){if(j.tag===1){ue=ha(-1,g&-g),ue.tag=2;var Ne=j.updateQueue;if(Ne!==null){Ne=Ne.shared;var gt=Ne.pending;gt===null?ue.next=ue:(ue.next=gt.next,gt.next=ue),Ne.pending=ue}}j.lanes|=g,ue=j.alternate,ue!==null&&(ue.lanes|=g),kg(j.return,g,u),Z.lanes|=g;break}ue=ue.next}}else if(j.tag===10)N=j.type===u.type?null:j.child;else if(j.tag===18){if(N=j.return,N===null)throw Error(a(341));N.lanes|=g,Z=N.alternate,Z!==null&&(Z.lanes|=g),kg(N,g,u),N=j.sibling}else N=j.child;if(N!==null)N.return=j;else for(N=j;N!==null;){if(N===u){N=null;break}if(j=N.sibling,j!==null){j.return=N.return,N=j;break}N=N.return}j=N}uo(l,u,C.children,g),u=u.child}return u;case 9:return C=u.type,x=u.pendingProps.children,Pl(u,g),C=Uo(C),x=x(C),u.flags|=1,uo(l,u,x,g),u.child;case 14:return x=u.type,C=hs(x,u.pendingProps),C=hs(x.type,C),a2(l,u,x,C,g);case 15:return i2(l,u,u.type,u.pendingProps,g);case 17:return x=u.type,C=u.pendingProps,C=u.elementType===x?C:hs(x,C),vf(l,u),u.tag=1,Jn(x)?(l=!0,Zn(u)):l=!1,Pl(u,g),jx(u,x,C),Ig(u,x,C,g),Vg(null,u,x,!0,l,g);case 19:return m2(l,u,g);case 22:return l2(l,u,g)}throw Error(a(156,u.tag))};function z2(l,u){return We(l,u)}function sR(l,u,g,x){this.tag=l,this.key=g,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=u,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=x,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Xo(l,u,g,x){return new sR(l,u,g,x)}function h0(l){return l=l.prototype,!(!l||!l.isReactComponent)}function aR(l){if(typeof l=="function")return h0(l)?1:0;if(l!=null){if(l=l.$$typeof,l===y)return 11;if(l===_)return 14}return 2}function Za(l,u){var g=l.alternate;return g===null?(g=Xo(l.tag,u,l.key,l.mode),g.elementType=l.elementType,g.type=l.type,g.stateNode=l.stateNode,g.alternate=l,l.alternate=g):(g.pendingProps=u,g.type=l.type,g.flags=0,g.subtreeFlags=0,g.deletions=null),g.flags=l.flags&14680064,g.childLanes=l.childLanes,g.lanes=l.lanes,g.child=l.child,g.memoizedProps=l.memoizedProps,g.memoizedState=l.memoizedState,g.updateQueue=l.updateQueue,u=l.dependencies,g.dependencies=u===null?null:{lanes:u.lanes,firstContext:u.firstContext},g.sibling=l.sibling,g.index=l.index,g.ref=l.ref,g}function Tf(l,u,g,x,C,j){var N=2;if(x=l,typeof l=="function")h0(l)&&(N=1);else if(typeof l=="string")N=5;else e:switch(l){case h:return Fi(g.children,C,j,u);case m:N=8,C|=8;break;case v:return l=Xo(12,g,u,C|2),l.elementType=v,l.lanes=j,l;case S:return l=Xo(13,g,u,C),l.elementType=S,l.lanes=j,l;case k:return l=Xo(19,g,u,C),l.elementType=k,l.lanes=j,l;case I:return Nf(g,C,j,u);default:if(typeof l=="object"&&l!==null)switch(l.$$typeof){case b:N=10;break e;case w:N=9;break e;case y:N=11;break e;case _:N=14;break e;case P:N=16,x=null;break e}throw Error(a(130,l==null?l:typeof l,""))}return u=Xo(N,g,u,C),u.elementType=l,u.type=x,u.lanes=j,u}function Fi(l,u,g,x){return l=Xo(7,l,x,u),l.lanes=g,l}function Nf(l,u,g,x){return l=Xo(22,l,x,u),l.elementType=I,l.lanes=g,l.stateNode={isHidden:!1},l}function m0(l,u,g){return l=Xo(6,l,null,u),l.lanes=g,l}function g0(l,u,g){return u=Xo(4,l.children!==null?l.children:[],l.key,u),u.lanes=g,u.stateNode={containerInfo:l.containerInfo,pendingChildren:null,implementation:l.implementation},u}function iR(l,u,g,x,C){this.tag=u,this.containerInfo=l,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=oe,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Bt(0),this.expirationTimes=Bt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Bt(0),this.identifierPrefix=x,this.onRecoverableError=C,ke&&(this.mutableSourceEagerHydrationData=null)}function B2(l,u,g,x,C,j,N,Z,ue){return l=new iR(l,u,g,Z,ue),u===1?(u=1,j===!0&&(u|=8)):u=0,j=Xo(3,null,null,u),l.current=j,j.stateNode=l,j.memoizedState={element:x,isDehydrated:g,cache:null,transitions:null,pendingSuspenseBoundaries:null},Pg(j),l}function F2(l){if(!l)return jn;l=l._reactInternals;e:{if(D(l)!==l||l.tag!==1)throw Error(a(170));var u=l;do{switch(u.tag){case 3:u=u.stateNode.context;break e;case 1:if(Jn(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break e}}u=u.return}while(u!==null);throw Error(a(171))}if(l.tag===1){var g=l.type;if(Jn(g))return Rn(l,g,u)}return u}function H2(l){var u=l._reactInternals;if(u===void 0)throw typeof l.render=="function"?Error(a(188)):(l=Object.keys(l).join(","),Error(a(268,l)));return l=Q(u),l===null?null:l.stateNode}function W2(l,u){if(l=l.memoizedState,l!==null&&l.dehydrated!==null){var g=l.retryLane;l.retryLane=g!==0&&g=Ne&&j>=Qt&&C<=gt&&N<=at){l.splice(u,1);break}else if(x!==Ne||g.width!==ue.width||atN){if(!(j!==Qt||g.height!==ue.height||gtC)){Ne>x&&(ue.width+=Ne-x,ue.x=x),gtj&&(ue.height+=Qt-j,ue.y=j),atg&&(g=N)),N ")+` No matching component was found for: - `)+l.join(" > ")}return null},n.getPublicRootInstance=function(l){if(l=l.current,!l.child)return null;switch(l.child.tag){case 5:return G(l.child.stateNode);default:return l.child.stateNode}},n.injectIntoDevTools=function(l){if(l={bundleType:l.bundleType,version:l.version,rendererPackageName:l.rendererPackageName,rendererConfig:l.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:c.ReactCurrentDispatcher,findHostInstanceByFiber:lR,findFiberByHostInstance:l.findFiberByHostInstance||cR,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")l=!1;else{var u=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(u.isDisabled||!u.supportsFiber)l=!0;else{try{Xn=u.inject(l),gn=u}catch{}l=!!u.checkDCE}}return l},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(l,u,g,x){if(!ct)throw Error(a(363));l=n0(l,u);var C=Tt(l,g,x).disconnect;return{disconnect:function(){C()}}},n.registerMutableSourceForHydration=function(l,u){var g=u._getVersion;g=g(u._source),l.mutableSourceEagerHydrationData==null?l.mutableSourceEagerHydrationData=[u,g]:l.mutableSourceEagerHydrationData.push(u,g)},n.runWithPriority=function(l,u){var g=Ie;try{return Ie=l,u()}finally{Ie=g}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(l,u,g,x){var C=u.current,j=eo(),N=Ya(C);return g=F2(g),u.context===null?u.context=g:u.pendingContext=g,u=ha(j,N),u.payload={element:l},x=x===void 0?null:x,x!==null&&(u.callback=x),l=qa(C,u,N),l!==null&&(Ko(l,C,N,j),rf(l,C,N)),N},n};m8.exports=cle;var ule=m8.exports;const dle=bd(ule);var g8={exports:{}},Cl={};/** + `)+l.join(" > ")}return null},n.getPublicRootInstance=function(l){if(l=l.current,!l.child)return null;switch(l.child.tag){case 5:return G(l.child.stateNode);default:return l.child.stateNode}},n.injectIntoDevTools=function(l){if(l={bundleType:l.bundleType,version:l.version,rendererPackageName:l.rendererPackageName,rendererConfig:l.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:c.ReactCurrentDispatcher,findHostInstanceByFiber:lR,findFiberByHostInstance:l.findFiberByHostInstance||cR,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")l=!1;else{var u=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(u.isDisabled||!u.supportsFiber)l=!0;else{try{Xn=u.inject(l),gn=u}catch{}l=!!u.checkDCE}}return l},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(l,u,g,x){if(!ct)throw Error(a(363));l=r0(l,u);var C=Tt(l,g,x).disconnect;return{disconnect:function(){C()}}},n.registerMutableSourceForHydration=function(l,u){var g=u._getVersion;g=g(u._source),l.mutableSourceEagerHydrationData==null?l.mutableSourceEagerHydrationData=[u,g]:l.mutableSourceEagerHydrationData.push(u,g)},n.runWithPriority=function(l,u){var g=Ie;try{return Ie=l,u()}finally{Ie=g}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(l,u,g,x){var C=u.current,j=eo(),N=Qa(C);return g=F2(g),u.context===null?u.context=g:u.pendingContext=g,u=ha(j,N),u.payload={element:l},x=x===void 0?null:x,x!==null&&(u.callback=x),l=Ka(C,u,N),l!==null&&(Ko(l,C,N,j),sf(l,C,N)),N},n};m8.exports=cle;var ule=m8.exports;const dle=yd(ule);var g8={exports:{}},Cl={};/** * @license React * react-reconciler-constants.production.min.js * @@ -88,7 +88,7 @@ For more info see: https://github.com/konvajs/react-konva/issues/256 `,ple=`ReactKonva: You are using "zIndex" attribute for a Konva node. react-konva may get confused with ordering. Just define correct order of elements in your render function of a component. For more info see: https://github.com/konvajs/react-konva/issues/194 -`,hle={};function hg(e,t,n=hle){if(!m_&&"zIndex"in t&&(console.warn(ple),m_=!0),!g_&&t.draggable){var r=t.x!==void 0||t.y!==void 0,o=t.onDragEnd||t.onDragMove;r&&!o&&(console.warn(fle),g_=!0)}for(var s in n)if(!h_[s]){var a=s.slice(0,2)==="on",c=n[s]!==t[s];if(a&&c){var d=s.substr(2).toLowerCase();d.substr(0,7)==="content"&&(d="content"+d.substr(7,1).toUpperCase()+d.substr(8)),e.off(d,n[s])}var p=!t.hasOwnProperty(s);p&&e.setAttr(s,void 0)}var h=t._useStrictMode,m={},v=!1;const b={};for(var s in t)if(!h_[s]){var a=s.slice(0,2)==="on",w=n[s]!==t[s];if(a&&w){var d=s.substr(2).toLowerCase();d.substr(0,7)==="content"&&(d="content"+d.substr(7,1).toUpperCase()+d.substr(8)),t[s]&&(b[d]=t[s])}!a&&(t[s]!==n[s]||h&&t[s]!==e.getAttr(s))&&(v=!0,m[s]=t[s])}v&&(e.setAttrs(m),Di(e));for(var d in b)e.on(d+fx,b[d])}function Di(e){if(!uD.Konva.autoDrawEnabled){var t=e.getLayer()||e.getStage();t&&t.batchDraw()}}const b8={},mle={};md.Node.prototype._applyProps=hg;function gle(e,t){if(typeof t=="string"){console.error(`Do not use plain text as child of Konva.Node. You are using text: ${t}`);return}e.add(t),Di(e)}function vle(e,t,n){let r=md[e];r||(console.error(`Konva has no node with the type ${e}. Group will be used instead. If you use minimal version of react-konva, just import required nodes into Konva: "import "konva/lib/shapes/${e}" If you want to render DOM elements as part of canvas tree take a look into this demo: https://konvajs.github.io/docs/react/DOM_Portal.html`),r=md.Group);const o={},s={};for(var a in t){var c=a.slice(0,2)==="on";c?s[a]=t[a]:o[a]=t[a]}const d=new r(o);return hg(d,s),d}function ble(e,t,n){console.error(`Text components are not supported for now in ReactKonva. Your text is: "${e}"`)}function yle(e,t,n){return!1}function xle(e){return e}function wle(){return null}function Sle(){return null}function Cle(e,t,n,r){return mle}function kle(){}function _le(e){}function Ple(e,t){return!1}function jle(){return b8}function Ile(){return b8}const Ele=setTimeout,Ole=clearTimeout,Rle=-1;function Mle(e,t){return!1}const Dle=!1,Ale=!0,Tle=!0;function Nle(e,t){t.parent===e?t.moveToTop():e.add(t),Di(e)}function $le(e,t){t.parent===e?t.moveToTop():e.add(t),Di(e)}function y8(e,t,n){t._remove(),e.add(t),t.setZIndex(n.getZIndex()),Di(e)}function Lle(e,t,n){y8(e,t,n)}function zle(e,t){t.destroy(),t.off(fx),Di(e)}function Ble(e,t){t.destroy(),t.off(fx),Di(e)}function Fle(e,t,n){console.error(`Text components are not yet supported in ReactKonva. You text is: "${n}"`)}function Hle(e,t,n){}function Wle(e,t,n,r,o){hg(e,o,r)}function Vle(e){e.hide(),Di(e)}function Ule(e){}function Gle(e,t){(t.visible==null||t.visible)&&e.show()}function qle(e,t){}function Kle(e){}function Xle(){}const Yle=()=>v8.DefaultEventPriority,Qle=Object.freeze(Object.defineProperty({__proto__:null,appendChild:Nle,appendChildToContainer:$le,appendInitialChild:gle,cancelTimeout:Ole,clearContainer:Kle,commitMount:Hle,commitTextUpdate:Fle,commitUpdate:Wle,createInstance:vle,createTextInstance:ble,detachDeletedInstance:Xle,finalizeInitialChildren:yle,getChildHostContext:Ile,getCurrentEventPriority:Yle,getPublicInstance:xle,getRootHostContext:jle,hideInstance:Vle,hideTextInstance:Ule,idlePriority:jp.unstable_IdlePriority,insertBefore:y8,insertInContainerBefore:Lle,isPrimaryRenderer:Dle,noTimeout:Rle,now:jp.unstable_now,prepareForCommit:wle,preparePortalMount:Sle,prepareUpdate:Cle,removeChild:zle,removeChildFromContainer:Ble,resetAfterCommit:kle,resetTextContent:_le,run:jp.unstable_runWithPriority,scheduleTimeout:Ele,shouldDeprioritizeSubtree:Ple,shouldSetTextContent:Mle,supportsMutation:Tle,unhideInstance:Gle,unhideTextInstance:qle,warnsIfNotActing:Ale},Symbol.toStringTag,{value:"Module"}));var Jle=Object.defineProperty,Zle=Object.defineProperties,ece=Object.getOwnPropertyDescriptors,v_=Object.getOwnPropertySymbols,tce=Object.prototype.hasOwnProperty,nce=Object.prototype.propertyIsEnumerable,b_=(e,t,n)=>t in e?Jle(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,y_=(e,t)=>{for(var n in t||(t={}))tce.call(t,n)&&b_(e,n,t[n]);if(v_)for(var n of v_(t))nce.call(t,n)&&b_(e,n,t[n]);return e},rce=(e,t)=>Zle(e,ece(t));function x8(e,t,n){if(!e)return;if(n(e)===!0)return e;let r=t?e.return:e.child;for(;r;){const o=x8(r,t,n);if(o)return o;r=t?null:r.sibling}}function w8(e){try{return Object.defineProperties(e,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return e}}const px=w8(f.createContext(null));class S8 extends f.Component{render(){return f.createElement(px.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:x_,ReactCurrentDispatcher:w_}=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function oce(){const e=f.useContext(px);if(e===null)throw new Error("its-fine: useFiber must be called within a !");const t=f.useId();return f.useMemo(()=>{for(const r of[x_==null?void 0:x_.current,e,e==null?void 0:e.alternate]){if(!r)continue;const o=x8(r,!1,s=>{let a=s.memoizedState;for(;a;){if(a.memoizedState===t)return!0;a=a.next}});if(o)return o}},[e,t])}function sce(){var e,t;const n=oce(),[r]=f.useState(()=>new Map);r.clear();let o=n;for(;o;){const s=(e=o.type)==null?void 0:e._context;s&&s!==px&&!r.has(s)&&r.set(s,(t=w_==null?void 0:w_.current)==null?void 0:t.readContext(w8(s))),o=o.return}return r}function ace(){const e=sce();return f.useMemo(()=>Array.from(e.keys()).reduce((t,n)=>r=>f.createElement(t,null,f.createElement(n.Provider,rce(y_({},r),{value:e.get(n)}))),t=>f.createElement(S8,y_({},t))),[e])}function ice(e){const t=H.useRef({});return H.useLayoutEffect(()=>{t.current=e}),H.useLayoutEffect(()=>()=>{t.current={}},[]),t.current}const lce=e=>{const t=H.useRef(),n=H.useRef(),r=H.useRef(),o=ice(e),s=ace(),a=c=>{const{forwardedRef:d}=e;d&&(typeof d=="function"?d(c):d.current=c)};return H.useLayoutEffect(()=>(n.current=new md.Stage({width:e.width,height:e.height,container:t.current}),a(n.current),r.current=Nu.createContainer(n.current,v8.LegacyRoot,!1,null),Nu.updateContainer(H.createElement(s,{},e.children),r.current),()=>{md.isBrowser&&(a(null),Nu.updateContainer(null,r.current,null),n.current.destroy())}),[]),H.useLayoutEffect(()=>{a(n.current),hg(n.current,e,o),Nu.updateContainer(H.createElement(s,{},e.children),r.current,null)}),H.createElement("div",{ref:t,id:e.id,accessKey:e.accessKey,className:e.className,role:e.role,style:e.style,tabIndex:e.tabIndex,title:e.title})},Pu="Layer",La="Group",aa="Rect",Hi="Circle",am="Line",C8="Image",cce="Transformer",Nu=dle(Qle);Nu.injectIntoDevTools({findHostInstanceByFiber:()=>null,bundleType:0,version:H.version,rendererPackageName:"react-konva"});const uce=H.forwardRef((e,t)=>H.createElement(S8,{},H.createElement(lce,{...e,forwardedRef:t}))),dce=be([mn,ir],(e,t)=>{const{tool:n,isMovingBoundingBox:r}=e;return{tool:n,isStaging:t,isMovingBoundingBox:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),fce=()=>{const e=te(),{tool:t,isStaging:n,isMovingBoundingBox:r}=B(dce);return{handleDragStart:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Up(!0))},[e,r,n,t]),handleDragMove:f.useCallback(o=>{if(!((t==="move"||n)&&!r))return;const s={x:o.target.x(),y:o.target.y()};e(m5(s))},[e,r,n,t]),handleDragEnd:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Up(!1))},[e,r,n,t])}},pce=be([mn,Kn,ir],(e,t,n)=>{const{cursorPosition:r,shouldLockBoundingBox:o,shouldShowBoundingBox:s,tool:a,isMaskEnabled:c,shouldSnapToGrid:d}=e;return{activeTabName:t,isCursorOnCanvas:!!r,shouldLockBoundingBox:o,shouldShowBoundingBox:s,tool:a,isStaging:n,isMaskEnabled:c,shouldSnapToGrid:d}},{memoizeOptions:{resultEqualityCheck:Zt}}),hce=()=>{const e=te(),{activeTabName:t,shouldShowBoundingBox:n,tool:r,isStaging:o,isMaskEnabled:s,shouldSnapToGrid:a}=B(pce),c=f.useRef(null),d=g5(),p=()=>e(cb());tt(["shift+c"],()=>{p()},{enabled:()=>!o,preventDefault:!0},[]);const h=()=>e(Cd(!s));tt(["h"],()=>{h()},{enabled:()=>!o,preventDefault:!0},[s]),tt(["n"],()=>{e(Qu(!a))},{enabled:!0,preventDefault:!0},[a]),tt("esc",()=>{e(dD())},{enabled:()=>!0,preventDefault:!0}),tt("shift+h",()=>{e(fD(!n))},{enabled:()=>!o,preventDefault:!0},[t,n]),tt(["space"],m=>{m.repeat||(d==null||d.container().focus(),r!=="move"&&(c.current=r,e(ea("move"))),r==="move"&&c.current&&c.current!=="move"&&(e(ea(c.current)),c.current="move"))},{keyup:!0,keydown:!0,preventDefault:!0},[r,c])},hx=e=>{const t=e.getPointerPosition(),n=e.getAbsoluteTransform().copy();if(!t||!n)return;const r=n.invert().point(t);return{x:r.x,y:r.y}},k8=()=>{const e=te(),t=Oa(),n=g5();return{updateColorUnderCursor:()=>{if(!n||!t)return;const r=n.getPointerPosition();if(!r)return;const o=pD.pixelRatio,[s,a,c,d]=t.getContext().getImageData(r.x*o,r.y*o,1,1).data;d&&s&&a&&c&&e(hD({r:s,g:a,b:c,a:d}))},commitColorUnderCursor:()=>{e(mD())}}},mce=be([Kn,mn,ir],(e,t,n)=>{const{tool:r}=t;return{tool:r,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),gce=e=>{const t=te(),{tool:n,isStaging:r}=B(mce),{commitColorUnderCursor:o}=k8();return f.useCallback(s=>{if(!e.current)return;if(e.current.container().focus(),n==="move"||r){t(Up(!0));return}if(n==="colorPicker"){o();return}const a=hx(e.current);a&&(s.evt.preventDefault(),t(v5(!0)),t(gD([a.x,a.y])))},[e,n,r,t,o])},vce=be([Kn,mn,ir],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),bce=(e,t,n)=>{const r=te(),{isDrawing:o,tool:s,isStaging:a}=B(vce),{updateColorUnderCursor:c}=k8();return f.useCallback(()=>{if(!e.current)return;const d=hx(e.current);if(d){if(r(vD(d)),n.current=d,s==="colorPicker"){c();return}!o||s==="move"||a||(t.current=!0,r(b5([d.x,d.y])))}},[t,r,o,a,n,e,s,c])},yce=()=>{const e=te();return f.useCallback(()=>{e(bD())},[e])},xce=be([Kn,mn,ir],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),wce=(e,t)=>{const n=te(),{tool:r,isDrawing:o,isStaging:s}=B(xce);return f.useCallback(()=>{if(r==="move"||s){n(Up(!1));return}if(!t.current&&o&&e.current){const a=hx(e.current);if(!a)return;n(b5([a.x,a.y]))}else t.current=!1;n(v5(!1))},[t,n,o,s,e,r])},Sce=be([mn],e=>{const{isMoveStageKeyHeld:t,stageScale:n}=e;return{isMoveStageKeyHeld:t,stageScale:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),Cce=e=>{const t=te(),{isMoveStageKeyHeld:n,stageScale:r}=B(Sce);return f.useCallback(o=>{if(!e.current||n)return;o.evt.preventDefault();const s=e.current.getPointerPosition();if(!s)return;const a={x:(s.x-e.current.x())/r,y:(s.y-e.current.y())/r};let c=o.evt.deltaY;o.evt.ctrlKey&&(c=-c);const d=Es(r*wD**c,xD,yD),p={x:s.x-a.x*d,y:s.y-a.y*d};t(SD(d)),t(m5(p))},[e,n,r,t])},kce=be(mn,e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,stageDimensions:r,stageScale:o,shouldDarkenOutsideBoundingBox:s,stageCoordinates:a}=e;return{boundingBoxCoordinates:t,boundingBoxDimensions:n,shouldDarkenOutsideBoundingBox:s,stageCoordinates:a,stageDimensions:r,stageScale:o}},{memoizeOptions:{resultEqualityCheck:Zt}}),_ce=()=>{const{boundingBoxCoordinates:e,boundingBoxDimensions:t,shouldDarkenOutsideBoundingBox:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=B(kce);return i.jsxs(La,{children:[i.jsx(aa,{offsetX:r.x/s,offsetY:r.y/s,height:o.height/s,width:o.width/s,fill:"rgba(0,0,0,0.4)",listening:!1,visible:n}),i.jsx(aa,{x:e.x,y:e.y,width:t.width,height:t.height,fill:"rgb(255,255,255)",listening:!1,visible:n,globalCompositeOperation:"destination-out"})]})},Pce=be([mn],e=>{const{stageScale:t,stageCoordinates:n,stageDimensions:r}=e;return{stageScale:t,stageCoordinates:n,stageDimensions:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),jce=()=>{const{stageScale:e,stageCoordinates:t,stageDimensions:n}=B(Pce),{colorMode:r}=Ds(),[o,s]=f.useState([]),[a,c]=$c("colors",["base.800","base.200"]),d=f.useCallback(p=>p/e,[e]);return f.useLayoutEffect(()=>{const{width:p,height:h}=n,{x:m,y:v}=t,b={x1:0,y1:0,x2:p,y2:h,offset:{x:d(m),y:d(v)}},w={x:Math.ceil(d(m)/64)*64,y:Math.ceil(d(v)/64)*64},y={x1:-w.x,y1:-w.y,x2:d(p)-w.x+64,y2:d(h)-w.y+64},k={x1:Math.min(b.x1,y.x1),y1:Math.min(b.y1,y.y1),x2:Math.max(b.x2,y.x2),y2:Math.max(b.y2,y.y2)},_=k.x2-k.x1,P=k.y2-k.y1,I=Math.round(_/64)+1,E=Math.round(P/64)+1,O=Ew(0,I).map(M=>i.jsx(am,{x:k.x1+M*64,y:k.y1,points:[0,0,0,P],stroke:r==="dark"?a:c,strokeWidth:1},`x_${M}`)),R=Ew(0,E).map(M=>i.jsx(am,{x:k.x1,y:k.y1+M*64,points:[0,0,_,0],stroke:r==="dark"?a:c,strokeWidth:1},`y_${M}`));s(O.concat(R))},[e,t,n,d,r,a,c]),i.jsx(La,{children:o})},Ice=be([vo,mn],(e,t)=>{const{progressImage:n,sessionId:r}=e,{sessionId:o,boundingBox:s}=t.layerState.stagingArea;return{boundingBox:s,progressImage:r===o?n:void 0}},{memoizeOptions:{resultEqualityCheck:Zt}}),Ece=e=>{const{...t}=e,{progressImage:n,boundingBox:r}=B(Ice),[o,s]=f.useState(null);return f.useEffect(()=>{if(!n)return;const a=new Image;a.onload=()=>{s(a)},a.src=n.dataURL},[n]),n&&r&&o?i.jsx(C8,{x:r.x,y:r.y,width:r.width,height:r.height,image:o,listening:!1,...t}):null},rl=e=>{const{r:t,g:n,b:r,a:o}=e;return`rgba(${t}, ${n}, ${r}, ${o})`},Oce=be(mn,e=>{const{maskColor:t,stageCoordinates:n,stageDimensions:r,stageScale:o}=e;return{stageCoordinates:n,stageDimensions:r,stageScale:o,maskColorString:rl(t)}}),S_=e=>`data:image/svg+xml;utf8, +`,hle={};function mg(e,t,n=hle){if(!m_&&"zIndex"in t&&(console.warn(ple),m_=!0),!g_&&t.draggable){var r=t.x!==void 0||t.y!==void 0,o=t.onDragEnd||t.onDragMove;r&&!o&&(console.warn(fle),g_=!0)}for(var s in n)if(!h_[s]){var a=s.slice(0,2)==="on",c=n[s]!==t[s];if(a&&c){var d=s.substr(2).toLowerCase();d.substr(0,7)==="content"&&(d="content"+d.substr(7,1).toUpperCase()+d.substr(8)),e.off(d,n[s])}var p=!t.hasOwnProperty(s);p&&e.setAttr(s,void 0)}var h=t._useStrictMode,m={},v=!1;const b={};for(var s in t)if(!h_[s]){var a=s.slice(0,2)==="on",w=n[s]!==t[s];if(a&&w){var d=s.substr(2).toLowerCase();d.substr(0,7)==="content"&&(d="content"+d.substr(7,1).toUpperCase()+d.substr(8)),t[s]&&(b[d]=t[s])}!a&&(t[s]!==n[s]||h&&t[s]!==e.getAttr(s))&&(v=!0,m[s]=t[s])}v&&(e.setAttrs(m),Di(e));for(var d in b)e.on(d+fx,b[d])}function Di(e){if(!uD.Konva.autoDrawEnabled){var t=e.getLayer()||e.getStage();t&&t.batchDraw()}}const b8={},mle={};gd.Node.prototype._applyProps=mg;function gle(e,t){if(typeof t=="string"){console.error(`Do not use plain text as child of Konva.Node. You are using text: ${t}`);return}e.add(t),Di(e)}function vle(e,t,n){let r=gd[e];r||(console.error(`Konva has no node with the type ${e}. Group will be used instead. If you use minimal version of react-konva, just import required nodes into Konva: "import "konva/lib/shapes/${e}" If you want to render DOM elements as part of canvas tree take a look into this demo: https://konvajs.github.io/docs/react/DOM_Portal.html`),r=gd.Group);const o={},s={};for(var a in t){var c=a.slice(0,2)==="on";c?s[a]=t[a]:o[a]=t[a]}const d=new r(o);return mg(d,s),d}function ble(e,t,n){console.error(`Text components are not supported for now in ReactKonva. Your text is: "${e}"`)}function yle(e,t,n){return!1}function xle(e){return e}function wle(){return null}function Sle(){return null}function Cle(e,t,n,r){return mle}function kle(){}function _le(e){}function Ple(e,t){return!1}function jle(){return b8}function Ile(){return b8}const Ele=setTimeout,Ole=clearTimeout,Rle=-1;function Mle(e,t){return!1}const Dle=!1,Ale=!0,Tle=!0;function Nle(e,t){t.parent===e?t.moveToTop():e.add(t),Di(e)}function $le(e,t){t.parent===e?t.moveToTop():e.add(t),Di(e)}function y8(e,t,n){t._remove(),e.add(t),t.setZIndex(n.getZIndex()),Di(e)}function Lle(e,t,n){y8(e,t,n)}function zle(e,t){t.destroy(),t.off(fx),Di(e)}function Ble(e,t){t.destroy(),t.off(fx),Di(e)}function Fle(e,t,n){console.error(`Text components are not yet supported in ReactKonva. You text is: "${n}"`)}function Hle(e,t,n){}function Wle(e,t,n,r,o){mg(e,o,r)}function Vle(e){e.hide(),Di(e)}function Ule(e){}function Gle(e,t){(t.visible==null||t.visible)&&e.show()}function qle(e,t){}function Kle(e){}function Xle(){}const Yle=()=>v8.DefaultEventPriority,Qle=Object.freeze(Object.defineProperty({__proto__:null,appendChild:Nle,appendChildToContainer:$le,appendInitialChild:gle,cancelTimeout:Ole,clearContainer:Kle,commitMount:Hle,commitTextUpdate:Fle,commitUpdate:Wle,createInstance:vle,createTextInstance:ble,detachDeletedInstance:Xle,finalizeInitialChildren:yle,getChildHostContext:Ile,getCurrentEventPriority:Yle,getPublicInstance:xle,getRootHostContext:jle,hideInstance:Vle,hideTextInstance:Ule,idlePriority:Ip.unstable_IdlePriority,insertBefore:y8,insertInContainerBefore:Lle,isPrimaryRenderer:Dle,noTimeout:Rle,now:Ip.unstable_now,prepareForCommit:wle,preparePortalMount:Sle,prepareUpdate:Cle,removeChild:zle,removeChildFromContainer:Ble,resetAfterCommit:kle,resetTextContent:_le,run:Ip.unstable_runWithPriority,scheduleTimeout:Ele,shouldDeprioritizeSubtree:Ple,shouldSetTextContent:Mle,supportsMutation:Tle,unhideInstance:Gle,unhideTextInstance:qle,warnsIfNotActing:Ale},Symbol.toStringTag,{value:"Module"}));var Jle=Object.defineProperty,Zle=Object.defineProperties,ece=Object.getOwnPropertyDescriptors,v_=Object.getOwnPropertySymbols,tce=Object.prototype.hasOwnProperty,nce=Object.prototype.propertyIsEnumerable,b_=(e,t,n)=>t in e?Jle(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,y_=(e,t)=>{for(var n in t||(t={}))tce.call(t,n)&&b_(e,n,t[n]);if(v_)for(var n of v_(t))nce.call(t,n)&&b_(e,n,t[n]);return e},rce=(e,t)=>Zle(e,ece(t));function x8(e,t,n){if(!e)return;if(n(e)===!0)return e;let r=t?e.return:e.child;for(;r;){const o=x8(r,t,n);if(o)return o;r=t?null:r.sibling}}function w8(e){try{return Object.defineProperties(e,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return e}}const px=w8(f.createContext(null));class S8 extends f.Component{render(){return f.createElement(px.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:x_,ReactCurrentDispatcher:w_}=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function oce(){const e=f.useContext(px);if(e===null)throw new Error("its-fine: useFiber must be called within a !");const t=f.useId();return f.useMemo(()=>{for(const r of[x_==null?void 0:x_.current,e,e==null?void 0:e.alternate]){if(!r)continue;const o=x8(r,!1,s=>{let a=s.memoizedState;for(;a;){if(a.memoizedState===t)return!0;a=a.next}});if(o)return o}},[e,t])}function sce(){var e,t;const n=oce(),[r]=f.useState(()=>new Map);r.clear();let o=n;for(;o;){const s=(e=o.type)==null?void 0:e._context;s&&s!==px&&!r.has(s)&&r.set(s,(t=w_==null?void 0:w_.current)==null?void 0:t.readContext(w8(s))),o=o.return}return r}function ace(){const e=sce();return f.useMemo(()=>Array.from(e.keys()).reduce((t,n)=>r=>f.createElement(t,null,f.createElement(n.Provider,rce(y_({},r),{value:e.get(n)}))),t=>f.createElement(S8,y_({},t))),[e])}function ice(e){const t=H.useRef({});return H.useLayoutEffect(()=>{t.current=e}),H.useLayoutEffect(()=>()=>{t.current={}},[]),t.current}const lce=e=>{const t=H.useRef(),n=H.useRef(),r=H.useRef(),o=ice(e),s=ace(),a=c=>{const{forwardedRef:d}=e;d&&(typeof d=="function"?d(c):d.current=c)};return H.useLayoutEffect(()=>(n.current=new gd.Stage({width:e.width,height:e.height,container:t.current}),a(n.current),r.current=$u.createContainer(n.current,v8.LegacyRoot,!1,null),$u.updateContainer(H.createElement(s,{},e.children),r.current),()=>{gd.isBrowser&&(a(null),$u.updateContainer(null,r.current,null),n.current.destroy())}),[]),H.useLayoutEffect(()=>{a(n.current),mg(n.current,e,o),$u.updateContainer(H.createElement(s,{},e.children),r.current,null)}),H.createElement("div",{ref:t,id:e.id,accessKey:e.accessKey,className:e.className,role:e.role,style:e.style,tabIndex:e.tabIndex,title:e.title})},ju="Layer",La="Group",aa="Rect",Hi="Circle",im="Line",C8="Image",cce="Transformer",$u=dle(Qle);$u.injectIntoDevTools({findHostInstanceByFiber:()=>null,bundleType:0,version:H.version,rendererPackageName:"react-konva"});const uce=H.forwardRef((e,t)=>H.createElement(S8,{},H.createElement(lce,{...e,forwardedRef:t}))),dce=be([mn,lr],(e,t)=>{const{tool:n,isMovingBoundingBox:r}=e;return{tool:n,isStaging:t,isMovingBoundingBox:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),fce=()=>{const e=te(),{tool:t,isStaging:n,isMovingBoundingBox:r}=B(dce);return{handleDragStart:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Gp(!0))},[e,r,n,t]),handleDragMove:f.useCallback(o=>{if(!((t==="move"||n)&&!r))return;const s={x:o.target.x(),y:o.target.y()};e(m5(s))},[e,r,n,t]),handleDragEnd:f.useCallback(()=>{(t==="move"||n)&&!r&&e(Gp(!1))},[e,r,n,t])}},pce=be([mn,Kn,lr],(e,t,n)=>{const{cursorPosition:r,shouldLockBoundingBox:o,shouldShowBoundingBox:s,tool:a,isMaskEnabled:c,shouldSnapToGrid:d}=e;return{activeTabName:t,isCursorOnCanvas:!!r,shouldLockBoundingBox:o,shouldShowBoundingBox:s,tool:a,isStaging:n,isMaskEnabled:c,shouldSnapToGrid:d}},{memoizeOptions:{resultEqualityCheck:Zt}}),hce=()=>{const e=te(),{activeTabName:t,shouldShowBoundingBox:n,tool:r,isStaging:o,isMaskEnabled:s,shouldSnapToGrid:a}=B(pce),c=f.useRef(null),d=g5(),p=()=>e(ub());tt(["shift+c"],()=>{p()},{enabled:()=>!o,preventDefault:!0},[]);const h=()=>e(kd(!s));tt(["h"],()=>{h()},{enabled:()=>!o,preventDefault:!0},[s]),tt(["n"],()=>{e(Ju(!a))},{enabled:!0,preventDefault:!0},[a]),tt("esc",()=>{e(dD())},{enabled:()=>!0,preventDefault:!0}),tt("shift+h",()=>{e(fD(!n))},{enabled:()=>!o,preventDefault:!0},[t,n]),tt(["space"],m=>{m.repeat||(d==null||d.container().focus(),r!=="move"&&(c.current=r,e(ea("move"))),r==="move"&&c.current&&c.current!=="move"&&(e(ea(c.current)),c.current="move"))},{keyup:!0,keydown:!0,preventDefault:!0},[r,c])},hx=e=>{const t=e.getPointerPosition(),n=e.getAbsoluteTransform().copy();if(!t||!n)return;const r=n.invert().point(t);return{x:r.x,y:r.y}},k8=()=>{const e=te(),t=Oa(),n=g5();return{updateColorUnderCursor:()=>{if(!n||!t)return;const r=n.getPointerPosition();if(!r)return;const o=pD.pixelRatio,[s,a,c,d]=t.getContext().getImageData(r.x*o,r.y*o,1,1).data;d&&s&&a&&c&&e(hD({r:s,g:a,b:c,a:d}))},commitColorUnderCursor:()=>{e(mD())}}},mce=be([Kn,mn,lr],(e,t,n)=>{const{tool:r}=t;return{tool:r,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),gce=e=>{const t=te(),{tool:n,isStaging:r}=B(mce),{commitColorUnderCursor:o}=k8();return f.useCallback(s=>{if(!e.current)return;if(e.current.container().focus(),n==="move"||r){t(Gp(!0));return}if(n==="colorPicker"){o();return}const a=hx(e.current);a&&(s.evt.preventDefault(),t(v5(!0)),t(gD([a.x,a.y])))},[e,n,r,t,o])},vce=be([Kn,mn,lr],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),bce=(e,t,n)=>{const r=te(),{isDrawing:o,tool:s,isStaging:a}=B(vce),{updateColorUnderCursor:c}=k8();return f.useCallback(()=>{if(!e.current)return;const d=hx(e.current);if(d){if(r(vD(d)),n.current=d,s==="colorPicker"){c();return}!o||s==="move"||a||(t.current=!0,r(b5([d.x,d.y])))}},[t,r,o,a,n,e,s,c])},yce=()=>{const e=te();return f.useCallback(()=>{e(bD())},[e])},xce=be([Kn,mn,lr],(e,t,n)=>{const{tool:r,isDrawing:o}=t;return{tool:r,isDrawing:o,activeTabName:e,isStaging:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),wce=(e,t)=>{const n=te(),{tool:r,isDrawing:o,isStaging:s}=B(xce);return f.useCallback(()=>{if(r==="move"||s){n(Gp(!1));return}if(!t.current&&o&&e.current){const a=hx(e.current);if(!a)return;n(b5([a.x,a.y]))}else t.current=!1;n(v5(!1))},[t,n,o,s,e,r])},Sce=be([mn],e=>{const{isMoveStageKeyHeld:t,stageScale:n}=e;return{isMoveStageKeyHeld:t,stageScale:n}},{memoizeOptions:{resultEqualityCheck:Zt}}),Cce=e=>{const t=te(),{isMoveStageKeyHeld:n,stageScale:r}=B(Sce);return f.useCallback(o=>{if(!e.current||n)return;o.evt.preventDefault();const s=e.current.getPointerPosition();if(!s)return;const a={x:(s.x-e.current.x())/r,y:(s.y-e.current.y())/r};let c=o.evt.deltaY;o.evt.ctrlKey&&(c=-c);const d=Es(r*wD**c,xD,yD),p={x:s.x-a.x*d,y:s.y-a.y*d};t(SD(d)),t(m5(p))},[e,n,r,t])},kce=be(mn,e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,stageDimensions:r,stageScale:o,shouldDarkenOutsideBoundingBox:s,stageCoordinates:a}=e;return{boundingBoxCoordinates:t,boundingBoxDimensions:n,shouldDarkenOutsideBoundingBox:s,stageCoordinates:a,stageDimensions:r,stageScale:o}},{memoizeOptions:{resultEqualityCheck:Zt}}),_ce=()=>{const{boundingBoxCoordinates:e,boundingBoxDimensions:t,shouldDarkenOutsideBoundingBox:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=B(kce);return i.jsxs(La,{children:[i.jsx(aa,{offsetX:r.x/s,offsetY:r.y/s,height:o.height/s,width:o.width/s,fill:"rgba(0,0,0,0.4)",listening:!1,visible:n}),i.jsx(aa,{x:e.x,y:e.y,width:t.width,height:t.height,fill:"rgb(255,255,255)",listening:!1,visible:n,globalCompositeOperation:"destination-out"})]})},Pce=be([mn],e=>{const{stageScale:t,stageCoordinates:n,stageDimensions:r}=e;return{stageScale:t,stageCoordinates:n,stageDimensions:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),jce=()=>{const{stageScale:e,stageCoordinates:t,stageDimensions:n}=B(Pce),{colorMode:r}=Ds(),[o,s]=f.useState([]),[a,c]=$c("colors",["base.800","base.200"]),d=f.useCallback(p=>p/e,[e]);return f.useLayoutEffect(()=>{const{width:p,height:h}=n,{x:m,y:v}=t,b={x1:0,y1:0,x2:p,y2:h,offset:{x:d(m),y:d(v)}},w={x:Math.ceil(d(m)/64)*64,y:Math.ceil(d(v)/64)*64},y={x1:-w.x,y1:-w.y,x2:d(p)-w.x+64,y2:d(h)-w.y+64},k={x1:Math.min(b.x1,y.x1),y1:Math.min(b.y1,y.y1),x2:Math.max(b.x2,y.x2),y2:Math.max(b.y2,y.y2)},_=k.x2-k.x1,P=k.y2-k.y1,I=Math.round(_/64)+1,E=Math.round(P/64)+1,O=Ew(0,I).map(M=>i.jsx(im,{x:k.x1+M*64,y:k.y1,points:[0,0,0,P],stroke:r==="dark"?a:c,strokeWidth:1},`x_${M}`)),R=Ew(0,E).map(M=>i.jsx(im,{x:k.x1,y:k.y1+M*64,points:[0,0,_,0],stroke:r==="dark"?a:c,strokeWidth:1},`y_${M}`));s(O.concat(R))},[e,t,n,d,r,a,c]),i.jsx(La,{children:o})},Ice=be([vo,mn],(e,t)=>{const{progressImage:n,sessionId:r}=e,{sessionId:o,boundingBox:s}=t.layerState.stagingArea;return{boundingBox:s,progressImage:r===o?n:void 0}},{memoizeOptions:{resultEqualityCheck:Zt}}),Ece=e=>{const{...t}=e,{progressImage:n,boundingBox:r}=B(Ice),[o,s]=f.useState(null);return f.useEffect(()=>{if(!n)return;const a=new Image;a.onload=()=>{s(a)},a.src=n.dataURL},[n]),n&&r&&o?i.jsx(C8,{x:r.x,y:r.y,width:r.width,height:r.height,image:o,listening:!1,...t}):null},rl=e=>{const{r:t,g:n,b:r,a:o}=e;return`rgba(${t}, ${n}, ${r}, ${o})`},Oce=be(mn,e=>{const{maskColor:t,stageCoordinates:n,stageDimensions:r,stageScale:o}=e;return{stageCoordinates:n,stageDimensions:r,stageScale:o,maskColorString:rl(t)}}),S_=e=>`data:image/svg+xml;utf8, @@ -166,4 +166,4 @@ For more info see: https://github.com/konvajs/react-konva/issues/194 -`.replaceAll("black",e),Rce=e=>{const{...t}=e,{maskColorString:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=B(Oce),[a,c]=f.useState(null),[d,p]=f.useState(0),h=f.useRef(null),m=f.useCallback(()=>{p(d+1),setTimeout(m,500)},[d]);return f.useEffect(()=>{if(a)return;const v=new Image;v.onload=()=>{c(v)},v.src=S_(n)},[a,n]),f.useEffect(()=>{a&&(a.src=S_(n))},[a,n]),f.useEffect(()=>{const v=setInterval(()=>p(b=>(b+1)%5),50);return()=>clearInterval(v)},[]),!a||!Tl(r.x)||!Tl(r.y)||!Tl(s)||!Tl(o.width)||!Tl(o.height)?null:i.jsx(aa,{ref:h,offsetX:r.x/s,offsetY:r.y/s,height:o.height/s,width:o.width/s,fillPatternImage:a,fillPatternOffsetY:Tl(d)?d:0,fillPatternRepeat:"repeat",fillPatternScale:{x:1/s,y:1/s},listening:!0,globalCompositeOperation:"source-in",...t})},Mce=be([mn],e=>({objects:e.layerState.objects}),{memoizeOptions:{resultEqualityCheck:Zt}}),Dce=e=>{const{...t}=e,{objects:n}=B(Mce);return i.jsx(La,{listening:!1,...t,children:n.filter(CD).map((r,o)=>i.jsx(am,{points:r.points,stroke:"rgb(0,0,0)",strokeWidth:r.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:r.tool==="brush"?"source-over":"destination-out"},o))})};var Wi=f,Ace=function(t,n,r){const o=Wi.useRef("loading"),s=Wi.useRef(),[a,c]=Wi.useState(0),d=Wi.useRef(),p=Wi.useRef(),h=Wi.useRef();return(d.current!==t||p.current!==n||h.current!==r)&&(o.current="loading",s.current=void 0,d.current=t,p.current=n,h.current=r),Wi.useLayoutEffect(function(){if(!t)return;var m=document.createElement("img");function v(){o.current="loaded",s.current=m,c(Math.random())}function b(){o.current="failed",s.current=void 0,c(Math.random())}return m.addEventListener("load",v),m.addEventListener("error",b),n&&(m.crossOrigin=n),r&&(m.referrerPolicy=r),m.src=t,function(){m.removeEventListener("load",v),m.removeEventListener("error",b)}},[t,n,r]),[s.current,o.current]};const Tce=bd(Ace),_8=e=>{const{width:t,height:n,x:r,y:o,imageName:s}=e.canvasImage,{currentData:a,isError:c}=Is(s??ro.skipToken),[d]=Tce((a==null?void 0:a.image_url)??"",kD.get()?"use-credentials":"anonymous");return c?i.jsx(aa,{x:r,y:o,width:t,height:n,fill:"red"}):i.jsx(C8,{x:r,y:o,image:d,listening:!1})},Nce=be([mn],e=>{const{layerState:{objects:t}}=e;return{objects:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),$ce=()=>{const{objects:e}=B(Nce);return e?i.jsx(La,{name:"outpainting-objects",listening:!1,children:e.map((t,n)=>{if(B_(t))return i.jsx(_8,{canvasImage:t},n);if(_D(t)){const r=i.jsx(am,{points:t.points,stroke:t.color?rl(t.color):"rgb(0,0,0)",strokeWidth:t.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:t.tool==="brush"?"source-over":"destination-out"},n);return t.clip?i.jsx(La,{clipX:t.clip.x,clipY:t.clip.y,clipWidth:t.clip.width,clipHeight:t.clip.height,children:r},n):r}else{if(PD(t))return i.jsx(aa,{x:t.x,y:t.y,width:t.width,height:t.height,fill:rl(t.color)},n);if(jD(t))return i.jsx(aa,{x:t.x,y:t.y,width:t.width,height:t.height,fill:"rgb(255, 255, 255)",globalCompositeOperation:"destination-out"},n)}})}):null},Lce=be([mn],e=>{const{layerState:t,shouldShowStagingImage:n,shouldShowStagingOutline:r,boundingBoxCoordinates:{x:o,y:s},boundingBoxDimensions:{width:a,height:c}}=e,{selectedImageIndex:d,images:p}=t.stagingArea;return{currentStagingAreaImage:p.length>0&&d!==void 0?p[d]:void 0,isOnFirstImage:d===0,isOnLastImage:d===p.length-1,shouldShowStagingImage:n,shouldShowStagingOutline:r,x:o,y:s,width:a,height:c}},{memoizeOptions:{resultEqualityCheck:Zt}}),zce=e=>{const{...t}=e,{currentStagingAreaImage:n,shouldShowStagingImage:r,shouldShowStagingOutline:o,x:s,y:a,width:c,height:d}=B(Lce);return i.jsxs(La,{...t,children:[r&&n&&i.jsx(_8,{canvasImage:n}),o&&i.jsxs(La,{children:[i.jsx(aa,{x:s,y:a,width:c,height:d,strokeWidth:1,stroke:"white",strokeScaleEnabled:!1}),i.jsx(aa,{x:s,y:a,width:c,height:d,dash:[4,4],strokeWidth:1,stroke:"black",strokeScaleEnabled:!1})]})]})},Bce=be([mn],e=>{const{layerState:{stagingArea:{images:t,selectedImageIndex:n,sessionId:r}},shouldShowStagingOutline:o,shouldShowStagingImage:s}=e;return{currentStagingAreaImage:t.length>0?t[n]:void 0,isOnFirstImage:n===0,isOnLastImage:n===t.length-1,shouldShowStagingImage:s,shouldShowStagingOutline:o,sessionId:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),Fce=()=>{const e=te(),{isOnFirstImage:t,isOnLastImage:n,currentStagingAreaImage:r,shouldShowStagingImage:o,sessionId:s}=B(Bce),{t:a}=ye(),c=f.useCallback(()=>{e(yw(!0))},[e]),d=f.useCallback(()=>{e(yw(!1))},[e]);tt(["left"],()=>{p()},{enabled:()=>!0,preventDefault:!0}),tt(["right"],()=>{h()},{enabled:()=>!0,preventDefault:!0}),tt(["enter"],()=>{m()},{enabled:()=>!0,preventDefault:!0});const p=f.useCallback(()=>e(ID()),[e]),h=f.useCallback(()=>e(ED()),[e]),m=f.useCallback(()=>e(OD(s)),[e,s]),{data:v}=Is((r==null?void 0:r.imageName)??ro.skipToken);return r?i.jsx(W,{pos:"absolute",bottom:4,w:"100%",align:"center",justify:"center",filter:"drop-shadow(0 0.5rem 1rem rgba(0,0,0))",onMouseOver:c,onMouseOut:d,children:i.jsxs(rr,{isAttached:!0,children:[i.jsx(ze,{tooltip:`${a("unifiedCanvas.previous")} (Left)`,"aria-label":`${a("unifiedCanvas.previous")} (Left)`,icon:i.jsx(OY,{}),onClick:p,colorScheme:"accent",isDisabled:t}),i.jsx(ze,{tooltip:`${a("unifiedCanvas.next")} (Right)`,"aria-label":`${a("unifiedCanvas.next")} (Right)`,icon:i.jsx(RY,{}),onClick:h,colorScheme:"accent",isDisabled:n}),i.jsx(ze,{tooltip:`${a("unifiedCanvas.accept")} (Enter)`,"aria-label":`${a("unifiedCanvas.accept")} (Enter)`,icon:i.jsx(AY,{}),onClick:m,colorScheme:"accent"}),i.jsx(ze,{tooltip:a("unifiedCanvas.showHide"),"aria-label":a("unifiedCanvas.showHide"),"data-alert":!o,icon:o?i.jsx(HY,{}):i.jsx(FY,{}),onClick:()=>e(RD(!o)),colorScheme:"accent"}),i.jsx(ze,{tooltip:a("unifiedCanvas.saveToGallery"),"aria-label":a("unifiedCanvas.saveToGallery"),isDisabled:!v||!v.is_intermediate,icon:i.jsx(Vm,{}),onClick:()=>{v&&e(MD({imageDTO:v}))},colorScheme:"accent"}),i.jsx(ze,{tooltip:a("unifiedCanvas.discardAll"),"aria-label":a("unifiedCanvas.discardAll"),icon:i.jsx(yl,{style:{transform:"rotate(45deg)"}}),onClick:()=>e(DD()),colorScheme:"error",fontSize:20})]})}):null},Hce=()=>{const e=B(c=>c.canvas.layerState),t=B(c=>c.canvas.boundingBoxCoordinates),n=B(c=>c.canvas.boundingBoxDimensions),r=B(c=>c.canvas.isMaskEnabled),o=B(c=>c.canvas.shouldPreserveMaskedArea),[s,a]=f.useState();return f.useEffect(()=>{a(void 0)},[e,t,n,r,o]),Tee(async()=>{const c=await AD(e,t,n,r,o);if(!c)return;const{baseImageData:d,maskImageData:p}=c,h=TD(d,p);a(h)},1e3,[e,t,n,r,o]),s},Wce={txt2img:"Text to Image",img2img:"Image to Image",inpaint:"Inpaint",outpaint:"Inpaint"},Vce=()=>{const e=Hce();return i.jsxs(Re,{children:["Mode: ",e?Wce[e]:"..."]})},tc=e=>Math.round(e*100)/100,Uce=be([mn],e=>{const{cursorPosition:t}=e,{cursorX:n,cursorY:r}=t?{cursorX:t.x,cursorY:t.y}:{cursorX:-1,cursorY:-1};return{cursorCoordinatesString:`(${tc(n)}, ${tc(r)})`}},{memoizeOptions:{resultEqualityCheck:Zt}});function Gce(){const{cursorCoordinatesString:e}=B(Uce),{t}=ye();return i.jsx(Re,{children:`${t("unifiedCanvas.cursorPosition")}: ${e}`})}const q1="var(--invokeai-colors-warning-500)",qce=be([mn],e=>{const{stageDimensions:{width:t,height:n},stageCoordinates:{x:r,y:o},boundingBoxDimensions:{width:s,height:a},scaledBoundingBoxDimensions:{width:c,height:d},boundingBoxCoordinates:{x:p,y:h},stageScale:m,shouldShowCanvasDebugInfo:v,layer:b,boundingBoxScaleMethod:w,shouldPreserveMaskedArea:y}=e;let S="inherit";return(w==="none"&&(s<512||a<512)||w==="manual"&&c*d<512*512)&&(S=q1),{activeLayerColor:b==="mask"?q1:"inherit",activeLayerString:b.charAt(0).toUpperCase()+b.slice(1),boundingBoxColor:S,boundingBoxCoordinatesString:`(${tc(p)}, ${tc(h)})`,boundingBoxDimensionsString:`${s}×${a}`,scaledBoundingBoxDimensionsString:`${c}×${d}`,canvasCoordinatesString:`${tc(r)}×${tc(o)}`,canvasDimensionsString:`${t}×${n}`,canvasScaleString:Math.round(m*100),shouldShowCanvasDebugInfo:v,shouldShowBoundingBox:w!=="auto",shouldShowScaledBoundingBox:w!=="none",shouldPreserveMaskedArea:y}},{memoizeOptions:{resultEqualityCheck:Zt}}),Kce=()=>{const{activeLayerColor:e,activeLayerString:t,boundingBoxColor:n,boundingBoxCoordinatesString:r,boundingBoxDimensionsString:o,scaledBoundingBoxDimensionsString:s,shouldShowScaledBoundingBox:a,canvasCoordinatesString:c,canvasDimensionsString:d,canvasScaleString:p,shouldShowCanvasDebugInfo:h,shouldShowBoundingBox:m,shouldPreserveMaskedArea:v}=B(qce),{t:b}=ye();return i.jsxs(W,{sx:{flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,opacity:.65,display:"flex",fontSize:"sm",padding:1,px:2,minWidth:48,margin:1,borderRadius:"base",pointerEvents:"none",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(Vce,{}),i.jsx(Re,{style:{color:e},children:`${b("unifiedCanvas.activeLayer")}: ${t}`}),i.jsx(Re,{children:`${b("unifiedCanvas.canvasScale")}: ${p}%`}),v&&i.jsx(Re,{style:{color:q1},children:"Preserve Masked Area: On"}),m&&i.jsx(Re,{style:{color:n},children:`${b("unifiedCanvas.boundingBox")}: ${o}`}),a&&i.jsx(Re,{style:{color:n},children:`${b("unifiedCanvas.scaledBoundingBox")}: ${s}`}),h&&i.jsxs(i.Fragment,{children:[i.jsx(Re,{children:`${b("unifiedCanvas.boundingBoxPosition")}: ${r}`}),i.jsx(Re,{children:`${b("unifiedCanvas.canvasDimensions")}: ${d}`}),i.jsx(Re,{children:`${b("unifiedCanvas.canvasPosition")}: ${c}`}),i.jsx(Gce,{})]})]})},Xce=be([lt],({canvas:e,generation:t})=>{const{boundingBoxCoordinates:n,boundingBoxDimensions:r,stageScale:o,isDrawing:s,isTransformingBoundingBox:a,isMovingBoundingBox:c,tool:d,shouldSnapToGrid:p}=e,{aspectRatio:h}=t;return{boundingBoxCoordinates:n,boundingBoxDimensions:r,isDrawing:s,isMovingBoundingBox:c,isTransformingBoundingBox:a,stageScale:o,shouldSnapToGrid:p,tool:d,hitStrokeWidth:20/o,aspectRatio:h}},{memoizeOptions:{resultEqualityCheck:Zt}}),Yce=e=>{const{...t}=e,n=te(),{boundingBoxCoordinates:r,boundingBoxDimensions:o,isDrawing:s,isMovingBoundingBox:a,isTransformingBoundingBox:c,stageScale:d,shouldSnapToGrid:p,tool:h,hitStrokeWidth:m,aspectRatio:v}=B(Xce),b=f.useRef(null),w=f.useRef(null),[y,S]=f.useState(!1);f.useEffect(()=>{var F;!b.current||!w.current||(b.current.nodes([w.current]),(F=b.current.getLayer())==null||F.batchDraw())},[]);const k=64*d;tt("N",()=>{n(Qu(!p))});const _=f.useCallback(F=>{if(!p){n(x0({x:Math.floor(F.target.x()),y:Math.floor(F.target.y())}));return}const V=F.target.x(),q=F.target.y(),G=ws(V,64),T=ws(q,64);F.target.x(G),F.target.y(T),n(x0({x:G,y:T}))},[n,p]),P=f.useCallback(()=>{if(!w.current)return;const F=w.current,V=F.scaleX(),q=F.scaleY(),G=Math.round(F.width()*V),T=Math.round(F.height()*q),z=Math.round(F.x()),$=Math.round(F.y());if(v){const Y=ws(G/v,64);n(Js({width:G,height:Y}))}else n(Js({width:G,height:T}));n(x0({x:p?ju(z,64):z,y:p?ju($,64):$})),F.scaleX(1),F.scaleY(1)},[n,p,v]),I=f.useCallback((F,V,q)=>{const G=F.x%k,T=F.y%k;return{x:ju(V.x,k)+G,y:ju(V.y,k)+T}},[k]),E=()=>{n(w0(!0))},O=()=>{n(w0(!1)),n(S0(!1)),n(Bf(!1)),S(!1)},R=()=>{n(S0(!0))},M=()=>{n(w0(!1)),n(S0(!1)),n(Bf(!1)),S(!1)},D=()=>{S(!0)},A=()=>{!c&&!a&&S(!1)},L=()=>{n(Bf(!0))},Q=()=>{n(Bf(!1))};return i.jsxs(La,{...t,children:[i.jsx(aa,{height:o.height,width:o.width,x:r.x,y:r.y,onMouseEnter:L,onMouseOver:L,onMouseLeave:Q,onMouseOut:Q}),i.jsx(aa,{draggable:!0,fillEnabled:!1,height:o.height,hitStrokeWidth:m,listening:!s&&h==="move",onDragStart:R,onDragEnd:M,onDragMove:_,onMouseDown:R,onMouseOut:A,onMouseOver:D,onMouseEnter:D,onMouseUp:M,onTransform:P,onTransformEnd:O,ref:w,stroke:y?"rgba(255,255,255,0.7)":"white",strokeWidth:(y?8:1)/d,width:o.width,x:r.x,y:r.y}),i.jsx(cce,{anchorCornerRadius:3,anchorDragBoundFunc:I,anchorFill:"rgba(212,216,234,1)",anchorSize:15,anchorStroke:"rgb(42,42,42)",borderDash:[4,4],borderEnabled:!0,borderStroke:"black",draggable:!1,enabledAnchors:h==="move"?void 0:[],flipEnabled:!1,ignoreStroke:!0,keepRatio:!1,listening:!s&&h==="move",onDragStart:R,onDragEnd:M,onMouseDown:E,onMouseUp:O,onTransformEnd:O,ref:b,rotateEnabled:!1})]})},Qce=be(mn,e=>{const{cursorPosition:t,brushSize:n,colorPickerColor:r,maskColor:o,brushColor:s,tool:a,layer:c,shouldShowBrush:d,isMovingBoundingBox:p,isTransformingBoundingBox:h,stageScale:m,stageDimensions:v,boundingBoxCoordinates:b,boundingBoxDimensions:w,shouldRestrictStrokesToBox:y}=e,S=y?{clipX:b.x,clipY:b.y,clipWidth:w.width,clipHeight:w.height}:{};return{cursorPosition:t,brushX:t?t.x:v.width/2,brushY:t?t.y:v.height/2,radius:n/2,colorPickerOuterRadius:xw/m,colorPickerInnerRadius:(xw-Av+1)/m,maskColorString:rl({...o,a:.5}),brushColorString:rl(s),colorPickerColorString:rl(r),tool:a,layer:c,shouldShowBrush:d,shouldDrawBrushPreview:!(p||h||!t)&&d,strokeWidth:1.5/m,dotRadius:1.5/m,clip:S}},{memoizeOptions:{resultEqualityCheck:Zt}}),Jce=e=>{const{...t}=e,{brushX:n,brushY:r,radius:o,maskColorString:s,tool:a,layer:c,shouldDrawBrushPreview:d,dotRadius:p,strokeWidth:h,brushColorString:m,colorPickerColorString:v,colorPickerInnerRadius:b,colorPickerOuterRadius:w,clip:y}=B(Qce);return d?i.jsxs(La,{listening:!1,...y,...t,children:[a==="colorPicker"?i.jsxs(i.Fragment,{children:[i.jsx(Hi,{x:n,y:r,radius:w,stroke:m,strokeWidth:Av,strokeScaleEnabled:!1}),i.jsx(Hi,{x:n,y:r,radius:b,stroke:v,strokeWidth:Av,strokeScaleEnabled:!1})]}):i.jsxs(i.Fragment,{children:[i.jsx(Hi,{x:n,y:r,radius:o,fill:c==="mask"?s:m,globalCompositeOperation:a==="eraser"?"destination-out":"source-out"}),i.jsx(Hi,{x:n,y:r,radius:o,stroke:"rgba(255,255,255,0.4)",strokeWidth:h*2,strokeEnabled:!0,listening:!1}),i.jsx(Hi,{x:n,y:r,radius:o,stroke:"rgba(0,0,0,1)",strokeWidth:h,strokeEnabled:!0,listening:!1})]}),i.jsx(Hi,{x:n,y:r,radius:p*2,fill:"rgba(255,255,255,0.4)",listening:!1}),i.jsx(Hi,{x:n,y:r,radius:p,fill:"rgba(0,0,0,1)",listening:!1})]}):null},Zce=be([mn,ir],(e,t)=>{const{isMaskEnabled:n,stageScale:r,shouldShowBoundingBox:o,isTransformingBoundingBox:s,isMouseOverBoundingBox:a,isMovingBoundingBox:c,stageDimensions:d,stageCoordinates:p,tool:h,isMovingStage:m,shouldShowIntermediates:v,shouldShowGrid:b,shouldRestrictStrokesToBox:w,shouldAntialias:y}=e;let S="none";return h==="move"||t?m?S="grabbing":S="grab":s?S=void 0:w&&!a&&(S="default"),{isMaskEnabled:n,isModifyingBoundingBox:s||c,shouldShowBoundingBox:o,shouldShowGrid:b,stageCoordinates:p,stageCursor:S,stageDimensions:d,stageScale:r,tool:h,isStaging:t,shouldShowIntermediates:v,shouldAntialias:y}},Je),eue=je(uce,{shouldForwardProp:e=>!["sx"].includes(e)}),C_=()=>{const{isMaskEnabled:e,isModifyingBoundingBox:t,shouldShowBoundingBox:n,shouldShowGrid:r,stageCoordinates:o,stageCursor:s,stageDimensions:a,stageScale:c,tool:d,isStaging:p,shouldShowIntermediates:h,shouldAntialias:m}=B(Zce);hce();const v=f.useRef(null),b=f.useRef(null),w=f.useCallback(A=>{$D(A),v.current=A},[]),y=f.useCallback(A=>{ND(A),b.current=A},[]),S=f.useRef({x:0,y:0}),k=f.useRef(!1),_=Cce(v),P=gce(v),I=wce(v,k),E=bce(v,k,S),O=yce(),{handleDragStart:R,handleDragMove:M,handleDragEnd:D}=fce();return i.jsx(W,{sx:{position:"relative",height:"100%",width:"100%",borderRadius:"base"},children:i.jsxs(Re,{sx:{position:"relative"},children:[i.jsxs(eue,{tabIndex:-1,ref:w,sx:{outline:"none",overflow:"hidden",cursor:s||void 0,canvas:{outline:"none"}},x:o.x,y:o.y,width:a.width,height:a.height,scale:{x:c,y:c},onTouchStart:P,onTouchMove:E,onTouchEnd:I,onMouseDown:P,onMouseLeave:O,onMouseMove:E,onMouseUp:I,onDragStart:R,onDragMove:M,onDragEnd:D,onContextMenu:A=>A.evt.preventDefault(),onWheel:_,draggable:(d==="move"||p)&&!t,children:[i.jsx(Pu,{id:"grid",visible:r,children:i.jsx(jce,{})}),i.jsx(Pu,{id:"base",ref:y,listening:!1,imageSmoothingEnabled:m,children:i.jsx($ce,{})}),i.jsxs(Pu,{id:"mask",visible:e,listening:!1,children:[i.jsx(Dce,{visible:!0,listening:!1}),i.jsx(Rce,{listening:!1})]}),i.jsx(Pu,{children:i.jsx(_ce,{})}),i.jsxs(Pu,{id:"preview",imageSmoothingEnabled:m,children:[!p&&i.jsx(Jce,{visible:d!=="move",listening:!1}),i.jsx(zce,{visible:p}),h&&i.jsx(Ece,{}),i.jsx(Yce,{visible:n&&!p})]})]}),i.jsx(Kce,{}),i.jsx(Fce,{})]})})},tue=be(mn,aY,Kn,(e,t,n)=>{const{doesCanvasNeedScaling:r,isCanvasInitialized:o}=e;return{doesCanvasNeedScaling:r,activeTabName:n,initialCanvasImage:t,isCanvasInitialized:o}}),k_=()=>{const e=te(),{doesCanvasNeedScaling:t,activeTabName:n,initialCanvasImage:r,isCanvasInitialized:o}=B(tue),s=f.useRef(null);return f.useLayoutEffect(()=>{window.setTimeout(()=>{if(!s.current)return;const{clientWidth:a,clientHeight:c}=s.current;e(LD({width:a,height:c})),e(o?zD():pm()),e(F_(!1))},0)},[e,r,t,n,o]),i.jsx(W,{ref:s,sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,width:"100%",height:"100%"},children:i.jsx(hl,{thickness:"2px",size:"xl"})})};function P8(e,t,n=250){const[r,o]=f.useState(0);return f.useEffect(()=>{const s=setTimeout(()=>{r===1&&e(),o(0)},n);return r===2&&t(),()=>clearTimeout(s)},[r,e,t,n]),()=>o(s=>s+1)}const nue=je(c8,{baseStyle:{paddingInline:4},shouldForwardProp:e=>!["pickerColor"].includes(e)}),bv={width:6,height:6,borderColor:"base.100"},rue=e=>{const{styleClass:t="",...n}=e;return i.jsx(nue,{sx:{".react-colorful__hue-pointer":bv,".react-colorful__saturation-pointer":bv,".react-colorful__alpha-pointer":bv},className:t,...n})},im=f.memo(rue),oue=be([mn,ir],(e,t)=>{const{maskColor:n,layer:r,isMaskEnabled:o,shouldPreserveMaskedArea:s}=e;return{layer:r,maskColor:n,maskColorString:rl(n),isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),sue=()=>{const e=te(),{t}=ye(),{layer:n,maskColor:r,isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:a}=B(oue);tt(["q"],()=>{c()},{enabled:()=>!a,preventDefault:!0},[n]),tt(["shift+c"],()=>{d()},{enabled:()=>!a,preventDefault:!0},[]),tt(["h"],()=>{p()},{enabled:()=>!a,preventDefault:!0},[o]);const c=()=>{e(Gp(n==="mask"?"base":"mask"))},d=()=>e(cb()),p=()=>e(Cd(!o));return i.jsx(xl,{triggerComponent:i.jsx(rr,{children:i.jsx(ze,{"aria-label":t("unifiedCanvas.maskingOptions"),tooltip:t("unifiedCanvas.maskingOptions"),icon:i.jsx(QY,{}),isChecked:n==="mask",isDisabled:a})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(Gn,{label:`${t("unifiedCanvas.enableMask")} (H)`,isChecked:o,onChange:p}),i.jsx(Gn,{label:t("unifiedCanvas.preserveMaskedArea"),isChecked:s,onChange:h=>e(y5(h.target.checked))}),i.jsx(im,{sx:{paddingTop:2,paddingBottom:2},pickerColor:r,onChange:h=>e(x5(h))}),i.jsxs(Yt,{size:"sm",leftIcon:i.jsx(Eo,{}),onClick:d,children:[t("unifiedCanvas.clearMask")," (Shift+C)"]})]})})},aue=be([mn,Kn,vo],(e,t,n)=>{const{futureLayerStates:r}=e;return{canRedo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}});function j8(){const e=te(),{canRedo:t,activeTabName:n}=B(aue),{t:r}=ye(),o=()=>{e(BD())};return tt(["meta+shift+z","ctrl+shift+z","control+y","meta+y"],()=>{o()},{enabled:()=>t,preventDefault:!0},[n,t]),i.jsx(ze,{"aria-label":`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,tooltip:`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,icon:i.jsx(eQ,{}),onClick:o,isDisabled:!t})}const I8=()=>{const e=B(ir),t=te(),{t:n}=ye();return i.jsxs(lx,{title:n("unifiedCanvas.clearCanvasHistory"),acceptCallback:()=>t(FD()),acceptButtonText:n("unifiedCanvas.clearHistory"),triggerComponent:i.jsx(Yt,{size:"sm",leftIcon:i.jsx(Eo,{}),isDisabled:e,children:n("unifiedCanvas.clearCanvasHistory")}),children:[i.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryMessage")}),i.jsx("br",{}),i.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryConfirm")})]})},iue=be([mn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:o,shouldShowGrid:s,shouldShowIntermediates:a,shouldSnapToGrid:c,shouldRestrictStrokesToBox:d,shouldAntialias:p}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:o,shouldShowGrid:s,shouldShowIntermediates:a,shouldSnapToGrid:c,shouldRestrictStrokesToBox:d,shouldAntialias:p}},{memoizeOptions:{resultEqualityCheck:Zt}}),lue=()=>{const e=te(),{t}=ye(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldDarkenOutsideBoundingBox:o,shouldShowCanvasDebugInfo:s,shouldShowGrid:a,shouldShowIntermediates:c,shouldSnapToGrid:d,shouldRestrictStrokesToBox:p,shouldAntialias:h}=B(iue);tt(["n"],()=>{e(Qu(!d))},{enabled:!0,preventDefault:!0},[d]);const m=v=>e(Qu(v.target.checked));return i.jsx(xl,{isLazy:!1,triggerComponent:i.jsx(ze,{tooltip:t("unifiedCanvas.canvasSettings"),"aria-label":t("unifiedCanvas.canvasSettings"),icon:i.jsx(Sy,{})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:c,onChange:v=>e(w5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showGrid"),isChecked:a,onChange:v=>e(S5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.snapToGrid"),isChecked:d,onChange:m}),i.jsx(Gn,{label:t("unifiedCanvas.darkenOutsideSelection"),isChecked:o,onChange:v=>e(C5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:v=>e(k5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:v=>e(_5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.limitStrokesToBox"),isChecked:p,onChange:v=>e(P5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:s,onChange:v=>e(j5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.antialiasing"),isChecked:h,onChange:v=>e(I5(v.target.checked))}),i.jsx(I8,{})]})})},cue=be([mn,ir,vo],(e,t,n)=>{const{isProcessing:r}=n,{tool:o,brushColor:s,brushSize:a}=e;return{tool:o,isStaging:t,isProcessing:r,brushColor:s,brushSize:a}},{memoizeOptions:{resultEqualityCheck:Zt}}),uue=()=>{const e=te(),{tool:t,brushColor:n,brushSize:r,isStaging:o}=B(cue),{t:s}=ye();tt(["b"],()=>{a()},{enabled:()=>!o,preventDefault:!0},[]),tt(["e"],()=>{c()},{enabled:()=>!o,preventDefault:!0},[t]),tt(["c"],()=>{d()},{enabled:()=>!o,preventDefault:!0},[t]),tt(["shift+f"],()=>{p()},{enabled:()=>!o,preventDefault:!0}),tt(["delete","backspace"],()=>{h()},{enabled:()=>!o,preventDefault:!0}),tt(["BracketLeft"],()=>{e(rc(Math.max(r-5,5)))},{enabled:()=>!o,preventDefault:!0},[r]),tt(["BracketRight"],()=>{e(rc(Math.min(r+5,500)))},{enabled:()=>!o,preventDefault:!0},[r]),tt(["Shift+BracketLeft"],()=>{e(oc({...n,a:Es(n.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]),tt(["Shift+BracketRight"],()=>{e(oc({...n,a:Es(n.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]);const a=()=>e(ea("brush")),c=()=>e(ea("eraser")),d=()=>e(ea("colorPicker")),p=()=>e(E5()),h=()=>e(O5());return i.jsxs(rr,{isAttached:!0,children:[i.jsx(ze,{"aria-label":`${s("unifiedCanvas.brush")} (B)`,tooltip:`${s("unifiedCanvas.brush")} (B)`,icon:i.jsx(sE,{}),isChecked:t==="brush"&&!o,onClick:a,isDisabled:o}),i.jsx(ze,{"aria-label":`${s("unifiedCanvas.eraser")} (E)`,tooltip:`${s("unifiedCanvas.eraser")} (E)`,icon:i.jsx(JI,{}),isChecked:t==="eraser"&&!o,isDisabled:o,onClick:c}),i.jsx(ze,{"aria-label":`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:i.jsx(tE,{}),isDisabled:o,onClick:p}),i.jsx(ze,{"aria-label":`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:i.jsx(yl,{style:{transform:"rotate(45deg)"}}),isDisabled:o,onClick:h}),i.jsx(ze,{"aria-label":`${s("unifiedCanvas.colorPicker")} (C)`,tooltip:`${s("unifiedCanvas.colorPicker")} (C)`,icon:i.jsx(eE,{}),isChecked:t==="colorPicker"&&!o,isDisabled:o,onClick:d}),i.jsx(xl,{triggerComponent:i.jsx(ze,{"aria-label":s("unifiedCanvas.brushOptions"),tooltip:s("unifiedCanvas.brushOptions"),icon:i.jsx(xy,{})}),children:i.jsxs(W,{minWidth:60,direction:"column",gap:4,width:"100%",children:[i.jsx(W,{gap:4,justifyContent:"space-between",children:i.jsx(_t,{label:s("unifiedCanvas.brushSize"),value:r,withInput:!0,onChange:m=>e(rc(m)),sliderNumberInputProps:{max:500}})}),i.jsx(im,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:m=>e(oc(m))})]})})]})},due=be([mn,Kn,vo],(e,t,n)=>{const{pastLayerStates:r}=e;return{canUndo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}});function E8(){const e=te(),{t}=ye(),{canUndo:n,activeTabName:r}=B(due),o=()=>{e(HD())};return tt(["meta+z","ctrl+z"],()=>{o()},{enabled:()=>n,preventDefault:!0},[r,n]),i.jsx(ze,{"aria-label":`${t("unifiedCanvas.undo")} (Ctrl+Z)`,tooltip:`${t("unifiedCanvas.undo")} (Ctrl+Z)`,icon:i.jsx(wy,{}),onClick:o,isDisabled:!n})}const fue=be([vo,mn,ir],(e,t,n)=>{const{isProcessing:r}=e,{tool:o,shouldCropToBoundingBoxOnSave:s,layer:a,isMaskEnabled:c}=t;return{isProcessing:r,isStaging:n,isMaskEnabled:c,tool:o,layer:a,shouldCropToBoundingBoxOnSave:s}},{memoizeOptions:{resultEqualityCheck:Zt}}),pue=()=>{const e=te(),{isProcessing:t,isStaging:n,isMaskEnabled:r,layer:o,tool:s}=B(fue),a=Oa(),{t:c}=ye(),{isClipboardAPIAvailable:d}=Gy(),{getUploadButtonProps:p,getUploadInputProps:h}=ng({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}});tt(["v"],()=>{m()},{enabled:()=>!n,preventDefault:!0},[]),tt(["r"],()=>{b()},{enabled:()=>!0,preventDefault:!0},[a]),tt(["shift+m"],()=>{y()},{enabled:()=>!n,preventDefault:!0},[a,t]),tt(["shift+s"],()=>{S()},{enabled:()=>!n,preventDefault:!0},[a,t]),tt(["meta+c","ctrl+c"],()=>{k()},{enabled:()=>!n&&d,preventDefault:!0},[a,t,d]),tt(["shift+d"],()=>{_()},{enabled:()=>!n,preventDefault:!0},[a,t]);const m=()=>e(ea("move")),v=P8(()=>b(!1),()=>b(!0)),b=(I=!1)=>{const E=Oa();if(!E)return;const O=E.getClientRect({skipTransform:!0});e(R5({contentRect:O,shouldScaleTo1:I}))},w=()=>{e(ob()),e(pm())},y=()=>{e(M5())},S=()=>{e(D5())},k=()=>{d&&e(A5())},_=()=>{e(T5())},P=I=>{const E=I;e(Gp(E)),E==="mask"&&!r&&e(Cd(!0))};return i.jsxs(W,{sx:{alignItems:"center",gap:2,flexWrap:"wrap"},children:[i.jsx(Re,{w:24,children:i.jsx(Xr,{tooltip:`${c("unifiedCanvas.layer")} (Q)`,value:o,data:N5,onChange:P,disabled:n})}),i.jsx(sue,{}),i.jsx(uue,{}),i.jsxs(rr,{isAttached:!0,children:[i.jsx(ze,{"aria-label":`${c("unifiedCanvas.move")} (V)`,tooltip:`${c("unifiedCanvas.move")} (V)`,icon:i.jsx(XI,{}),isChecked:s==="move"||n,onClick:m}),i.jsx(ze,{"aria-label":`${c("unifiedCanvas.resetView")} (R)`,tooltip:`${c("unifiedCanvas.resetView")} (R)`,icon:i.jsx(QI,{}),onClick:v})]}),i.jsxs(rr,{isAttached:!0,children:[i.jsx(ze,{"aria-label":`${c("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${c("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:i.jsx(rE,{}),onClick:y,isDisabled:n}),i.jsx(ze,{"aria-label":`${c("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${c("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:i.jsx(Vm,{}),onClick:S,isDisabled:n}),d&&i.jsx(ze,{"aria-label":`${c("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${c("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:i.jsx(qc,{}),onClick:k,isDisabled:n}),i.jsx(ze,{"aria-label":`${c("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${c("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:i.jsx(yy,{}),onClick:_,isDisabled:n})]}),i.jsxs(rr,{isAttached:!0,children:[i.jsx(E8,{}),i.jsx(j8,{})]}),i.jsxs(rr,{isAttached:!0,children:[i.jsx(ze,{"aria-label":`${c("common.upload")}`,tooltip:`${c("common.upload")}`,icon:i.jsx(Wd,{}),isDisabled:n,...p()}),i.jsx("input",{...h()}),i.jsx(ze,{"aria-label":`${c("unifiedCanvas.clearCanvas")}`,tooltip:`${c("unifiedCanvas.clearCanvas")}`,icon:i.jsx(Eo,{}),onClick:w,colorScheme:"error",isDisabled:n})]}),i.jsx(rr,{isAttached:!0,children:i.jsx(lue,{})})]})};function hue(){const e=te(),t=B(o=>o.canvas.brushSize),{t:n}=ye(),r=B(ir);return tt(["BracketLeft"],()=>{e(rc(Math.max(t-5,5)))},{enabled:()=>!r,preventDefault:!0},[t]),tt(["BracketRight"],()=>{e(rc(Math.min(t+5,500)))},{enabled:()=>!r,preventDefault:!0},[t]),i.jsx(_t,{label:n("unifiedCanvas.brushSize"),value:t,withInput:!0,onChange:o=>e(rc(o)),sliderNumberInputProps:{max:500},isCompact:!0})}const mue=be([mn,ir],(e,t)=>{const{brushColor:n,maskColor:r,layer:o}=e;return{brushColor:n,maskColor:r,layer:o,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Zt}});function gue(){const e=te(),{brushColor:t,maskColor:n,layer:r,isStaging:o}=B(mue),s=()=>{if(r==="base")return`rgba(${t.r},${t.g},${t.b},${t.a})`;if(r==="mask")return`rgba(${n.r},${n.g},${n.b},${n.a})`};return tt(["shift+BracketLeft"],()=>{e(oc({...t,a:Es(t.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),tt(["shift+BracketRight"],()=>{e(oc({...t,a:Es(t.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),i.jsx(xl,{triggerComponent:i.jsx(Re,{sx:{width:7,height:7,minWidth:7,minHeight:7,borderRadius:"full",bg:s(),cursor:"pointer"}}),children:i.jsxs(W,{minWidth:60,direction:"column",gap:4,width:"100%",children:[r==="base"&&i.jsx(im,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:t,onChange:a=>e(oc(a))}),r==="mask"&&i.jsx(im,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:a=>e(x5(a))})]})})}function O8(){return i.jsxs(W,{columnGap:4,alignItems:"center",children:[i.jsx(hue,{}),i.jsx(gue,{})]})}function vue(){const e=te(),t=B(r=>r.canvas.shouldRestrictStrokesToBox),{t:n}=ye();return i.jsx(Gn,{label:n("unifiedCanvas.betaLimitToBox"),isChecked:t,onChange:r=>e(P5(r.target.checked))})}function bue(){return i.jsxs(W,{gap:4,alignItems:"center",children:[i.jsx(O8,{}),i.jsx(vue,{})]})}function yue(){const e=te(),{t}=ye(),n=()=>e(cb());return i.jsx(Yt,{size:"sm",leftIcon:i.jsx(Eo,{}),onClick:n,tooltip:`${t("unifiedCanvas.clearMask")} (Shift+C)`,children:t("unifiedCanvas.betaClear")})}function xue(){const e=B(o=>o.canvas.isMaskEnabled),t=te(),{t:n}=ye(),r=()=>t(Cd(!e));return i.jsx(Gn,{label:`${n("unifiedCanvas.enableMask")} (H)`,isChecked:e,onChange:r})}function wue(){const e=te(),{t}=ye(),n=B(r=>r.canvas.shouldPreserveMaskedArea);return i.jsx(Gn,{label:t("unifiedCanvas.betaPreserveMasked"),isChecked:n,onChange:r=>e(y5(r.target.checked))})}function Sue(){return i.jsxs(W,{gap:4,alignItems:"center",children:[i.jsx(O8,{}),i.jsx(xue,{}),i.jsx(wue,{}),i.jsx(yue,{})]})}function Cue(){const e=B(r=>r.canvas.shouldDarkenOutsideBoundingBox),t=te(),{t:n}=ye();return i.jsx(Gn,{label:n("unifiedCanvas.betaDarkenOutside"),isChecked:e,onChange:r=>t(C5(r.target.checked))})}function kue(){const e=B(r=>r.canvas.shouldShowGrid),t=te(),{t:n}=ye();return i.jsx(Gn,{label:n("unifiedCanvas.showGrid"),isChecked:e,onChange:r=>t(S5(r.target.checked))})}function _ue(){const e=B(o=>o.canvas.shouldSnapToGrid),t=te(),{t:n}=ye(),r=o=>t(Qu(o.target.checked));return i.jsx(Gn,{label:`${n("unifiedCanvas.snapToGrid")} (N)`,isChecked:e,onChange:r})}function Pue(){return i.jsxs(W,{alignItems:"center",gap:4,children:[i.jsx(kue,{}),i.jsx(_ue,{}),i.jsx(Cue,{})]})}const jue=be([mn],e=>{const{tool:t,layer:n}=e;return{tool:t,layer:n}},{memoizeOptions:{resultEqualityCheck:Zt}});function Iue(){const{tool:e,layer:t}=B(jue);return i.jsxs(W,{height:8,minHeight:8,maxHeight:8,alignItems:"center",children:[t=="base"&&["brush","eraser","colorPicker"].includes(e)&&i.jsx(bue,{}),t=="mask"&&["brush","eraser","colorPicker"].includes(e)&&i.jsx(Sue,{}),e=="move"&&i.jsx(Pue,{})]})}const Eue=be([mn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:o,shouldAntialias:s}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:o,shouldAntialias:s}},{memoizeOptions:{resultEqualityCheck:Zt}}),Oue=()=>{const e=te(),{t}=ye(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldShowCanvasDebugInfo:o,shouldShowIntermediates:s,shouldAntialias:a}=B(Eue);return i.jsx(xl,{isLazy:!1,triggerComponent:i.jsx(ze,{tooltip:t("unifiedCanvas.canvasSettings"),tooltipProps:{placement:"bottom"},"aria-label":t("unifiedCanvas.canvasSettings"),icon:i.jsx(Sy,{})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:s,onChange:c=>e(w5(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:c=>e(k5(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:c=>e(_5(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:o,onChange:c=>e(j5(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.antialiasing"),isChecked:a,onChange:c=>e(I5(c.target.checked))}),i.jsx(I8,{})]})})};function Rue(){const e=B(ir),t=Oa(),{isClipboardAPIAvailable:n}=Gy(),r=B(c=>c.system.isProcessing),o=te(),{t:s}=ye();tt(["meta+c","ctrl+c"],()=>{a()},{enabled:()=>!e&&n,preventDefault:!0},[t,r,n]);const a=f.useCallback(()=>{n&&o(A5())},[o,n]);return n?i.jsx(ze,{"aria-label":`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:i.jsx(qc,{}),onClick:a,isDisabled:e}):null}function Mue(){const e=te(),{t}=ye(),n=Oa(),r=B(ir);tt(["shift+d"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[n]);const o=()=>{e(T5())};return i.jsx(ze,{"aria-label":`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:i.jsx(yy,{}),onClick:o,isDisabled:r})}function Due(){const e=B(ir),{getUploadButtonProps:t,getUploadInputProps:n}=ng({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}}),{t:r}=ye();return i.jsxs(i.Fragment,{children:[i.jsx(ze,{"aria-label":r("common.upload"),tooltip:r("common.upload"),icon:i.jsx(Wd,{}),isDisabled:e,...t()}),i.jsx("input",{...n()})]})}const Aue=be([mn,ir],(e,t)=>{const{layer:n,isMaskEnabled:r}=e;return{layer:n,isMaskEnabled:r,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Zt}});function Tue(){const e=te(),{t}=ye(),{layer:n,isMaskEnabled:r,isStaging:o}=B(Aue),s=()=>{e(Gp(n==="mask"?"base":"mask"))};tt(["q"],()=>{s()},{enabled:()=>!o,preventDefault:!0},[n]);const a=c=>{const d=c;e(Gp(d)),d==="mask"&&!r&&e(Cd(!0))};return i.jsx(Xr,{tooltip:`${t("unifiedCanvas.layer")} (Q)`,"aria-label":`${t("unifiedCanvas.layer")} (Q)`,value:n,data:N5,onChange:a,disabled:o,w:"full"})}function Nue(){const e=te(),{t}=ye(),n=Oa(),r=B(ir),o=B(a=>a.system.isProcessing);tt(["shift+m"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n,o]);const s=()=>{e(M5())};return i.jsx(ze,{"aria-label":`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:i.jsx(rE,{}),onClick:s,isDisabled:r})}function $ue(){const e=B(s=>s.canvas.tool),t=B(ir),n=te(),{t:r}=ye();tt(["v"],()=>{o()},{enabled:()=>!t,preventDefault:!0},[]);const o=()=>n(ea("move"));return i.jsx(ze,{"aria-label":`${r("unifiedCanvas.move")} (V)`,tooltip:`${r("unifiedCanvas.move")} (V)`,icon:i.jsx(XI,{}),isChecked:e==="move"||t,onClick:o})}function Lue(){const e=B(s=>s.ui.shouldPinParametersPanel),t=B(s=>s.ui.shouldShowParametersPanel),n=te(),{t:r}=ye(),o=()=>{n(ub(!0)),e&&n(ko())};return!e||!t?i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsx(ze,{tooltip:`${r("parameters.showOptionsPanel")} (O)`,tooltipProps:{placement:"top"},"aria-label":r("parameters.showOptionsPanel"),onClick:o,children:i.jsx(xy,{})}),i.jsx(W,{children:i.jsx(Jy,{iconButton:!0})}),i.jsx(W,{children:i.jsx(ag,{width:"100%",height:"40px",btnGroupWidth:"100%"})})]}):null}function zue(){const e=te(),{t}=ye(),n=B(ir),r=()=>{e(ob()),e(pm())};return i.jsx(ze,{"aria-label":t("unifiedCanvas.clearCanvas"),tooltip:t("unifiedCanvas.clearCanvas"),icon:i.jsx(Eo,{}),onClick:r,isDisabled:n,colorScheme:"error"})}function Bue(){const e=Oa(),t=te(),{t:n}=ye();tt(["r"],()=>{o()},{enabled:()=>!0,preventDefault:!0},[e]);const r=P8(()=>o(!1),()=>o(!0)),o=(s=!1)=>{const a=Oa();if(!a)return;const c=a.getClientRect({skipTransform:!0});t(R5({contentRect:c,shouldScaleTo1:s}))};return i.jsx(ze,{"aria-label":`${n("unifiedCanvas.resetView")} (R)`,tooltip:`${n("unifiedCanvas.resetView")} (R)`,icon:i.jsx(QI,{}),onClick:r})}function Fue(){const e=B(ir),t=Oa(),n=B(a=>a.system.isProcessing),r=te(),{t:o}=ye();tt(["shift+s"],()=>{s()},{enabled:()=>!e,preventDefault:!0},[t,n]);const s=()=>{r(D5())};return i.jsx(ze,{"aria-label":`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:i.jsx(Vm,{}),onClick:s,isDisabled:e})}const Hue=be([mn,ir,vo],(e,t,n)=>{const{isProcessing:r}=n,{tool:o}=e;return{tool:o,isStaging:t,isProcessing:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),Wue=()=>{const e=te(),{t}=ye(),{tool:n,isStaging:r}=B(Hue);tt(["b"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[]),tt(["e"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n]),tt(["c"],()=>{a()},{enabled:()=>!r,preventDefault:!0},[n]),tt(["shift+f"],()=>{c()},{enabled:()=>!r,preventDefault:!0}),tt(["delete","backspace"],()=>{d()},{enabled:()=>!r,preventDefault:!0});const o=()=>e(ea("brush")),s=()=>e(ea("eraser")),a=()=>e(ea("colorPicker")),c=()=>e(E5()),d=()=>e(O5());return i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsxs(rr,{children:[i.jsx(ze,{"aria-label":`${t("unifiedCanvas.brush")} (B)`,tooltip:`${t("unifiedCanvas.brush")} (B)`,icon:i.jsx(sE,{}),isChecked:n==="brush"&&!r,onClick:o,isDisabled:r}),i.jsx(ze,{"aria-label":`${t("unifiedCanvas.eraser")} (E)`,tooltip:`${t("unifiedCanvas.eraser")} (B)`,icon:i.jsx(JI,{}),isChecked:n==="eraser"&&!r,isDisabled:r,onClick:s})]}),i.jsxs(rr,{children:[i.jsx(ze,{"aria-label":`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:i.jsx(tE,{}),isDisabled:r,onClick:c}),i.jsx(ze,{"aria-label":`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:i.jsx(yl,{style:{transform:"rotate(45deg)"}}),isDisabled:r,onClick:d})]}),i.jsx(ze,{"aria-label":`${t("unifiedCanvas.colorPicker")} (C)`,tooltip:`${t("unifiedCanvas.colorPicker")} (C)`,icon:i.jsx(eE,{}),isChecked:n==="colorPicker"&&!r,isDisabled:r,onClick:a,width:"max-content"})]})},Vue=()=>i.jsxs(W,{flexDirection:"column",rowGap:2,width:"min-content",children:[i.jsx(Tue,{}),i.jsx(Wue,{}),i.jsxs(W,{gap:2,children:[i.jsx($ue,{}),i.jsx(Bue,{})]}),i.jsxs(W,{columnGap:2,children:[i.jsx(Nue,{}),i.jsx(Fue,{})]}),i.jsxs(W,{columnGap:2,children:[i.jsx(Rue,{}),i.jsx(Mue,{})]}),i.jsxs(W,{gap:2,children:[i.jsx(E8,{}),i.jsx(j8,{})]}),i.jsxs(W,{gap:2,children:[i.jsx(Due,{}),i.jsx(zue,{})]}),i.jsx(Oue,{}),i.jsx(Lue,{})]}),Uue=be([mn,Ba],(e,t)=>{const{doesCanvasNeedScaling:n}=e,{shouldUseCanvasBetaLayout:r}=t;return{doesCanvasNeedScaling:n,shouldUseCanvasBetaLayout:r}},Je),yv={id:"canvas-intial-image",actionType:"SET_CANVAS_INITIAL_IMAGE"},Gue=()=>{const e=te(),{doesCanvasNeedScaling:t,shouldUseCanvasBetaLayout:n}=B(Uue),{isOver:r,setNodeRef:o,active:s}=Z1({id:"unifiedCanvas",data:yv});return f.useLayoutEffect(()=>{const a=()=>{e(ko())};return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[e]),n?i.jsx(Re,{layerStyle:"first",ref:o,tabIndex:0,sx:{w:"full",h:"full",p:4,borderRadius:"base"},children:i.jsxs(W,{sx:{w:"full",h:"full",gap:4},children:[i.jsx(Vue,{}),i.jsxs(W,{sx:{flexDir:"column",w:"full",h:"full",gap:4,position:"relative"},children:[i.jsx(Iue,{}),i.jsxs(Re,{sx:{w:"full",h:"full",position:"relative"},children:[t?i.jsx(k_,{}):i.jsx(C_,{}),Lp(yv,s)&&i.jsx(Jh,{isOver:r,label:"Set Canvas Initial Image"})]})]})]})}):i.jsx(Re,{ref:o,tabIndex:-1,sx:{layerStyle:"first",w:"full",h:"full",p:4,borderRadius:"base"},children:i.jsxs(W,{sx:{flexDirection:"column",alignItems:"center",gap:4,w:"full",h:"full"},children:[i.jsx(pue,{}),i.jsx(W,{sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,w:"full",h:"full"},children:i.jsxs(Re,{sx:{w:"full",h:"full",position:"relative"},children:[t?i.jsx(k_,{}):i.jsx(C_,{}),Lp(yv,s)&&i.jsx(Jh,{isOver:r,label:"Set Canvas Initial Image"})]})})]})})},que=f.memo(Gue),Kue=be([lt],({generation:e})=>{const{infillMethod:t}=e;return{infillMethod:t}},Je),Xue=()=>{const e=te(),{infillMethod:t}=B(Kue),{data:n,isLoading:r}=Z_(),o=n==null?void 0:n.infill_methods,{t:s}=ye(),a=f.useCallback(c=>{e(WD(c))},[e]);return i.jsx(Xr,{disabled:(o==null?void 0:o.length)===0,placeholder:r?"Loading...":void 0,label:s("parameters.infillMethod"),value:t,data:o??[],onChange:a})},Yue=f.memo(Xue),Que=be([Mi],e=>{const{tileSize:t,infillMethod:n}=e;return{tileSize:t,infillMethod:n}},Je),Jue=()=>{const e=te(),{tileSize:t,infillMethod:n}=B(Que),{t:r}=ye(),o=f.useCallback(a=>{e(ww(a))},[e]),s=f.useCallback(()=>{e(ww(32))},[e]);return i.jsx(_t,{isDisabled:n!=="tile",label:r("parameters.tileSize"),min:16,max:64,sliderNumberInputProps:{max:256},value:t,onChange:o,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:s})},Zue=f.memo(Jue),ede=be([mn],e=>{const{boundingBoxScaleMethod:t}=e;return{boundingBoxScale:t}},Je),tde=()=>{const e=te(),{boundingBoxScale:t}=B(ede),{t:n}=ye(),r=o=>{e(UD(o))};return i.jsx(ar,{label:n("parameters.scaleBeforeProcessing"),data:VD,value:t,onChange:r})},nde=f.memo(tde),rde=be([Mi,vo,mn],(e,t,n)=>{const{scaledBoundingBoxDimensions:r,boundingBoxScaleMethod:o}=n;return{scaledBoundingBoxDimensions:r,isManual:o==="manual"}},Je),ode=()=>{const e=te(),{isManual:t,scaledBoundingBoxDimensions:n}=B(rde),{t:r}=ye(),o=a=>{e(qp({...n,height:Math.floor(a)}))},s=()=>{e(qp({...n,height:Math.floor(512)}))};return i.jsx(_t,{isDisabled:!t,label:r("parameters.scaledHeight"),min:64,max:1024,step:64,value:n.height,onChange:o,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:s})},sde=f.memo(ode),ade=be([mn],e=>{const{boundingBoxScaleMethod:t,scaledBoundingBoxDimensions:n}=e;return{scaledBoundingBoxDimensions:n,isManual:t==="manual"}},Je),ide=()=>{const e=te(),{isManual:t,scaledBoundingBoxDimensions:n}=B(ade),{t:r}=ye(),o=a=>{e(qp({...n,width:Math.floor(a)}))},s=()=>{e(qp({...n,width:Math.floor(512)}))};return i.jsx(_t,{isDisabled:!t,label:r("parameters.scaledWidth"),min:64,max:1024,step:64,value:n.width,onChange:o,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:s})},lde=f.memo(ide),cde=()=>{const{t:e}=ye();return i.jsx(Mo,{label:e("parameters.infillScalingHeader"),children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(Yue,{}),i.jsx(Zue,{}),i.jsx(nde,{}),i.jsx(lde,{}),i.jsx(sde,{})]})})},ude=f.memo(cde);function dde(){const e=te(),t=B(r=>r.generation.seamBlur),{t:n}=ye();return i.jsx(_t,{label:n("parameters.seamBlur"),min:0,max:64,sliderNumberInputProps:{max:512},value:t,onChange:r=>{e(Sw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(Sw(16))}})}function fde(){const e=te(),{t}=ye(),n=B(r=>r.generation.seamSize);return i.jsx(_t,{label:t("parameters.seamSize"),min:1,max:256,sliderNumberInputProps:{max:512},value:n,onChange:r=>{e(Cw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>e(Cw(96))})}function pde(){const{t:e}=ye(),t=B(r=>r.generation.seamSteps),n=te();return i.jsx(_t,{label:e("parameters.seamSteps"),min:1,max:100,sliderNumberInputProps:{max:999},value:t,onChange:r=>{n(kw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{n(kw(30))}})}function hde(){const e=te(),{t}=ye(),n=B(r=>r.generation.seamStrength);return i.jsx(_t,{label:t("parameters.seamStrength"),min:.01,max:.99,step:.01,value:n,onChange:r=>{e(_w(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(_w(.7))}})}const mde=()=>{const{t:e}=ye();return i.jsxs(Mo,{label:e("parameters.seamCorrectionHeader"),children:[i.jsx(fde,{}),i.jsx(dde,{}),i.jsx(hde,{}),i.jsx(pde,{})]})},gde=f.memo(mde),vde=be([lt,ir],({canvas:e,generation:t},n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=t;return{boundingBoxDimensions:r,isStaging:n,aspectRatio:o}},Je),bde=()=>{const e=te(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=B(vde),{t:o}=ye(),s=c=>{if(e(Js({...t,height:Math.floor(c)})),r){const d=ws(c*r,64);e(Js({width:d,height:Math.floor(c)}))}},a=()=>{if(e(Js({...t,height:Math.floor(512)})),r){const c=ws(512*r,64);e(Js({width:c,height:Math.floor(512)}))}};return i.jsx(_t,{label:o("parameters.boundingBoxHeight"),min:64,max:1024,step:64,value:t.height,onChange:s,isDisabled:n,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:a})},yde=f.memo(bde),xde=be([lt,ir],({canvas:e,generation:t},n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=t;return{boundingBoxDimensions:r,isStaging:n,aspectRatio:o}},Je),wde=()=>{const e=te(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=B(xde),{t:o}=ye(),s=c=>{if(e(Js({...t,width:Math.floor(c)})),r){const d=ws(c/r,64);e(Js({width:Math.floor(c),height:d}))}},a=()=>{if(e(Js({...t,width:Math.floor(512)})),r){const c=ws(512/r,64);e(Js({width:Math.floor(512),height:c}))}};return i.jsx(_t,{label:o("parameters.boundingBoxWidth"),min:64,max:1024,step:64,value:t.width,onChange:s,isDisabled:n,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:a})},Sde=f.memo(wde);function __(){const e=te(),{t}=ye();return i.jsxs(W,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[i.jsxs(W,{alignItems:"center",gap:2,children:[i.jsx(Qe,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:t("parameters.aspectRatio")}),i.jsx(ml,{}),i.jsx(zO,{}),i.jsx(ze,{tooltip:t("ui.swapSizes"),"aria-label":t("ui.swapSizes"),size:"sm",icon:i.jsx(vO,{}),fontSize:20,onClick:()=>e(GD())})]}),i.jsx(Sde,{}),i.jsx(yde,{})]})}const Cde=be(lt,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Je),kde=()=>{const{shouldUseSliders:e,activeLabel:t}=B(Cde);return i.jsx(Mo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(W,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(yi,{}),i.jsx(wi,{}),i.jsx(Re,{pt:2,children:i.jsx(Ci,{})}),i.jsx(__,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(yi,{})]}),i.jsx(wi,{}),i.jsx(Re,{pt:2,children:i.jsx(Ci,{})}),i.jsx(__,{})]}),i.jsx(KO,{})]})})},_de=f.memo(kde),R8=()=>i.jsxs(i.Fragment,{children:[i.jsx(ix,{}),i.jsx(Xd,{}),i.jsx(_de,{}),i.jsx(sx,{}),i.jsx(rx,{}),i.jsx(qd,{}),i.jsx(ax,{}),i.jsx(gde,{}),i.jsx(ude,{}),i.jsx(ox,{})]}),Pde=()=>i.jsxs(W,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(nx,{children:i.jsx(R8,{})}),i.jsx(que,{})]}),jde=f.memo(Pde),Ide=[{id:"txt2img",translationKey:"common.txt2img",icon:i.jsx(fo,{as:WY,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(ile,{})},{id:"img2img",translationKey:"common.img2img",icon:i.jsx(fo,{as:Oc,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(ase,{})},{id:"unifiedCanvas",translationKey:"common.unifiedCanvas",icon:i.jsx(fo,{as:Zee,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(jde,{})},{id:"nodes",translationKey:"common.nodes",icon:i.jsx(fo,{as:Jee,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(rle,{})},{id:"modelManager",translationKey:"modelManager.modelManager",icon:i.jsx(fo,{as:$Y,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(aae,{})}],Ede=be([bO,vo],(e,t)=>{const{disabledTabs:n}=e,{isNodesEnabled:r}=t;return Ide.filter(s=>s.id==="nodes"?r&&!n.includes(s.id):!n.includes(s.id))},{memoizeOptions:{resultEqualityCheck:Zt}}),Ode=350,xv=20,M8=["modelManager"],Rde=()=>{const e=B(qD),t=B(Kn),n=B(Ede),{shouldPinGallery:r,shouldPinParametersPanel:o,shouldShowGallery:s}=B(y=>y.ui),{t:a}=ye(),c=te();tt("f",()=>{c(KD()),(r||o)&&c(ko())},[r,o]);const d=f.useCallback(()=>{t==="unifiedCanvas"&&c(ko())},[c,t]),p=f.useCallback(y=>{y.target instanceof HTMLElement&&y.target.blur()},[]),h=f.useMemo(()=>n.map(y=>i.jsx(vn,{hasArrow:!0,label:String(a(y.translationKey)),placement:"end",children:i.jsxs(kc,{onClick:p,children:[i.jsx(Z5,{children:String(a(y.translationKey))}),y.icon]})},y.id)),[n,a,p]),m=f.useMemo(()=>n.map(y=>i.jsx(Tm,{children:y.content},y.id)),[n]),{ref:v,minSizePct:b}=Ste(Ode,xv,"app"),w=f.useCallback(y=>{const S=XD[y];S&&c(Yl(S))},[c]);return i.jsxs($d,{defaultIndex:e,index:e,onChange:w,sx:{flexGrow:1,gap:4},isLazy:!0,children:[i.jsxs(Ld,{sx:{pt:2,gap:4,flexDir:"column"},children:[h,i.jsx(ml,{}),i.jsx(ote,{})]}),i.jsxs(Qy,{id:"app",autoSaveId:"app",direction:"horizontal",style:{height:"100%",width:"100%"},children:[i.jsx(hd,{id:"main",children:i.jsx(Nm,{style:{height:"100%",width:"100%"},children:m})}),r&&s&&!M8.includes(t)&&i.jsxs(i.Fragment,{children:[i.jsx(WO,{}),i.jsx(hd,{ref:v,onResize:d,id:"gallery",order:3,defaultSize:b>xv&&b<100?b:xv,minSize:b,maxSize:50,children:i.jsx(hO,{})})]})]})]})},Mde=f.memo(Rde),Dde=be([Kn,Ba],(e,t)=>{const{shouldPinGallery:n,shouldShowGallery:r}=t;return{shouldPinGallery:n,shouldShowGalleryButton:M8.includes(e)?!1:!r}},{memoizeOptions:{resultEqualityCheck:Zt}}),Ade=()=>{const{t:e}=ye(),{shouldPinGallery:t,shouldShowGalleryButton:n}=B(Dde),r=te(),o=()=>{r(Dv(!0)),t&&r(ko())};return n?i.jsx(ze,{tooltip:"Show Gallery (G)",tooltipProps:{placement:"top"},"aria-label":e("accessibility.showGallery"),onClick:o,sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",p:0,insetInlineEnd:0,px:3,h:48,w:8,borderStartEndRadius:0,borderEndEndRadius:0,shadow:"2xl"},children:i.jsx(ete,{})}):null},Tde=f.memo(Ade),wv={borderStartStartRadius:0,borderEndStartRadius:0,shadow:"2xl"},Nde=be([Ba,Kn],(e,t)=>{const{shouldPinParametersPanel:n,shouldUseCanvasBetaLayout:r,shouldShowParametersPanel:o}=e,s=r&&t==="unifiedCanvas",a=!s&&(!n||!o),c=!s&&!o&&["txt2img","img2img","unifiedCanvas"].includes(t);return{shouldPinParametersPanel:n,shouldShowParametersPanelButton:c,shouldShowProcessButtons:a}},{memoizeOptions:{resultEqualityCheck:Zt}}),$de=()=>{const e=te(),{t}=ye(),{shouldShowProcessButtons:n,shouldShowParametersPanelButton:r,shouldPinParametersPanel:o}=B(Nde),s=()=>{e(ub(!0)),o&&e(ko())};return r?i.jsxs(W,{pos:"absolute",transform:"translate(0, -50%)",minW:8,top:"50%",insetInlineStart:"4.5rem",direction:"column",gap:2,children:[i.jsx(ze,{tooltip:"Show Options Panel (O)",tooltipProps:{placement:"top"},"aria-label":t("accessibility.showOptionsPanel"),onClick:s,sx:wv,children:i.jsx(xy,{})}),n&&i.jsxs(i.Fragment,{children:[i.jsx(Jy,{iconButton:!0,sx:wv}),i.jsx(ag,{sx:wv})]})]}):null},Lde=f.memo($de),zde=be([Ba,Kn],(e,t)=>{const{shouldPinParametersPanel:n,shouldShowParametersPanel:r}=e;return{activeTabName:t,shouldPinParametersPanel:n,shouldShowParametersPanel:r}},Je),Bde=()=>{const e=te(),{shouldPinParametersPanel:t,shouldShowParametersPanel:n,activeTabName:r}=B(zde),o=()=>{e(ub(!1))},s=B(c=>c.generation.model),a=f.useMemo(()=>r==="txt2img"?s&&s.base_model==="sdxl"?i.jsx(p8,{}):i.jsx(h8,{}):r==="img2img"?s&&s.base_model==="sdxl"?i.jsx(FO,{}):i.jsx(XO,{}):r==="unifiedCanvas"?i.jsx(R8,{}):null,[r,s]);return t?null:i.jsx(GI,{direction:"left",isResizable:!1,isOpen:n,onClose:o,children:i.jsxs(W,{sx:{flexDir:"column",h:"full",w:ex,gap:2,position:"relative",flexShrink:0,overflowY:"auto"},children:[i.jsxs(W,{paddingBottom:4,justifyContent:"space-between",alignItems:"center",children:[i.jsx(gO,{}),i.jsx(HO,{})]}),i.jsx(W,{sx:{gap:2,flexDirection:"column",h:"full",w:"full"},children:a})]})})},Fde=f.memo(Bde),Hde=be([e=>e.hotkeys,e=>e.ui],(e,t)=>{const{shift:n}=e,{shouldPinParametersPanel:r,shouldPinGallery:o}=t;return{shift:n,shouldPinGallery:o,shouldPinParametersPanel:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),Wde=()=>{const e=te(),{shift:t,shouldPinParametersPanel:n,shouldPinGallery:r}=B(Hde),o=B(Kn);return tt("*",()=>{mP("shift")?!t&&e(jo(!0)):t&&e(jo(!1))},{keyup:!0,keydown:!0},[t]),tt("o",()=>{e(YD()),o==="unifiedCanvas"&&n&&e(ko())}),tt(["shift+o"],()=>{e(QD()),o==="unifiedCanvas"&&e(ko())}),tt("g",()=>{e(JD()),o==="unifiedCanvas"&&r&&e(ko())}),tt(["shift+g"],()=>{e(G_()),o==="unifiedCanvas"&&e(ko())}),tt("1",()=>{e(Yl("txt2img"))}),tt("2",()=>{e(Yl("img2img"))}),tt("3",()=>{e(Yl("unifiedCanvas"))}),tt("4",()=>{e(Yl("nodes"))}),null},Vde=f.memo(Wde),Ude={},Gde=({config:e=Ude,headerComponent:t})=>{const n=B(rP),r=OF(),o=te();return f.useEffect(()=>{Bn.changeLanguage(n)},[n]),f.useEffect(()=>{s5(e)&&(r.info({namespace:"App",config:e},"Received config"),o(ZD(e)))},[o,e,r]),f.useEffect(()=>{o(e9())},[o]),i.jsxs(i.Fragment,{children:[i.jsxs(sl,{w:"100vw",h:"100vh",position:"relative",overflow:"hidden",children:[i.jsx(FH,{children:i.jsxs(sl,{sx:{gap:4,p:4,gridAutoRows:"min-content auto",w:"full",h:"full"},children:[t||i.jsx(Yee,{}),i.jsx(W,{sx:{gap:4,w:"full",h:"full"},children:i.jsx(Mde,{})})]})}),i.jsx(Iee,{}),i.jsx(Fde,{}),i.jsx(Ju,{children:i.jsx(Lde,{})}),i.jsx(Ju,{children:i.jsx(Tde,{})})]}),i.jsx(sY,{}),i.jsx(eY,{}),i.jsx(RF,{}),i.jsx(Vde,{})]})},Jde=f.memo(Gde);export{Jde as default}; +`.replaceAll("black",e),Rce=e=>{const{...t}=e,{maskColorString:n,stageCoordinates:r,stageDimensions:o,stageScale:s}=B(Oce),[a,c]=f.useState(null),[d,p]=f.useState(0),h=f.useRef(null),m=f.useCallback(()=>{p(d+1),setTimeout(m,500)},[d]);return f.useEffect(()=>{if(a)return;const v=new Image;v.onload=()=>{c(v)},v.src=S_(n)},[a,n]),f.useEffect(()=>{a&&(a.src=S_(n))},[a,n]),f.useEffect(()=>{const v=setInterval(()=>p(b=>(b+1)%5),50);return()=>clearInterval(v)},[]),!a||!Tl(r.x)||!Tl(r.y)||!Tl(s)||!Tl(o.width)||!Tl(o.height)?null:i.jsx(aa,{ref:h,offsetX:r.x/s,offsetY:r.y/s,height:o.height/s,width:o.width/s,fillPatternImage:a,fillPatternOffsetY:Tl(d)?d:0,fillPatternRepeat:"repeat",fillPatternScale:{x:1/s,y:1/s},listening:!0,globalCompositeOperation:"source-in",...t})},Mce=be([mn],e=>({objects:e.layerState.objects}),{memoizeOptions:{resultEqualityCheck:Zt}}),Dce=e=>{const{...t}=e,{objects:n}=B(Mce);return i.jsx(La,{listening:!1,...t,children:n.filter(CD).map((r,o)=>i.jsx(im,{points:r.points,stroke:"rgb(0,0,0)",strokeWidth:r.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:r.tool==="brush"?"source-over":"destination-out"},o))})};var Wi=f,Ace=function(t,n,r){const o=Wi.useRef("loading"),s=Wi.useRef(),[a,c]=Wi.useState(0),d=Wi.useRef(),p=Wi.useRef(),h=Wi.useRef();return(d.current!==t||p.current!==n||h.current!==r)&&(o.current="loading",s.current=void 0,d.current=t,p.current=n,h.current=r),Wi.useLayoutEffect(function(){if(!t)return;var m=document.createElement("img");function v(){o.current="loaded",s.current=m,c(Math.random())}function b(){o.current="failed",s.current=void 0,c(Math.random())}return m.addEventListener("load",v),m.addEventListener("error",b),n&&(m.crossOrigin=n),r&&(m.referrerPolicy=r),m.src=t,function(){m.removeEventListener("load",v),m.removeEventListener("error",b)}},[t,n,r]),[s.current,o.current]};const Tce=yd(Ace),_8=e=>{const{width:t,height:n,x:r,y:o,imageName:s}=e.canvasImage,{currentData:a,isError:c}=Is(s??ro.skipToken),[d]=Tce((a==null?void 0:a.image_url)??"",kD.get()?"use-credentials":"anonymous");return c?i.jsx(aa,{x:r,y:o,width:t,height:n,fill:"red"}):i.jsx(C8,{x:r,y:o,image:d,listening:!1})},Nce=be([mn],e=>{const{layerState:{objects:t}}=e;return{objects:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),$ce=()=>{const{objects:e}=B(Nce);return e?i.jsx(La,{name:"outpainting-objects",listening:!1,children:e.map((t,n)=>{if(B_(t))return i.jsx(_8,{canvasImage:t},n);if(_D(t)){const r=i.jsx(im,{points:t.points,stroke:t.color?rl(t.color):"rgb(0,0,0)",strokeWidth:t.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,listening:!1,globalCompositeOperation:t.tool==="brush"?"source-over":"destination-out"},n);return t.clip?i.jsx(La,{clipX:t.clip.x,clipY:t.clip.y,clipWidth:t.clip.width,clipHeight:t.clip.height,children:r},n):r}else{if(PD(t))return i.jsx(aa,{x:t.x,y:t.y,width:t.width,height:t.height,fill:rl(t.color)},n);if(jD(t))return i.jsx(aa,{x:t.x,y:t.y,width:t.width,height:t.height,fill:"rgb(255, 255, 255)",globalCompositeOperation:"destination-out"},n)}})}):null},Lce=be([mn],e=>{const{layerState:t,shouldShowStagingImage:n,shouldShowStagingOutline:r,boundingBoxCoordinates:{x:o,y:s},boundingBoxDimensions:{width:a,height:c}}=e,{selectedImageIndex:d,images:p}=t.stagingArea;return{currentStagingAreaImage:p.length>0&&d!==void 0?p[d]:void 0,isOnFirstImage:d===0,isOnLastImage:d===p.length-1,shouldShowStagingImage:n,shouldShowStagingOutline:r,x:o,y:s,width:a,height:c}},{memoizeOptions:{resultEqualityCheck:Zt}}),zce=e=>{const{...t}=e,{currentStagingAreaImage:n,shouldShowStagingImage:r,shouldShowStagingOutline:o,x:s,y:a,width:c,height:d}=B(Lce);return i.jsxs(La,{...t,children:[r&&n&&i.jsx(_8,{canvasImage:n}),o&&i.jsxs(La,{children:[i.jsx(aa,{x:s,y:a,width:c,height:d,strokeWidth:1,stroke:"white",strokeScaleEnabled:!1}),i.jsx(aa,{x:s,y:a,width:c,height:d,dash:[4,4],strokeWidth:1,stroke:"black",strokeScaleEnabled:!1})]})]})},Bce=be([mn],e=>{const{layerState:{stagingArea:{images:t,selectedImageIndex:n,sessionId:r}},shouldShowStagingOutline:o,shouldShowStagingImage:s}=e;return{currentStagingAreaImage:t.length>0?t[n]:void 0,isOnFirstImage:n===0,isOnLastImage:n===t.length-1,shouldShowStagingImage:s,shouldShowStagingOutline:o,sessionId:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),Fce=()=>{const e=te(),{isOnFirstImage:t,isOnLastImage:n,currentStagingAreaImage:r,shouldShowStagingImage:o,sessionId:s}=B(Bce),{t:a}=ye(),c=f.useCallback(()=>{e(yw(!0))},[e]),d=f.useCallback(()=>{e(yw(!1))},[e]);tt(["left"],()=>{p()},{enabled:()=>!0,preventDefault:!0}),tt(["right"],()=>{h()},{enabled:()=>!0,preventDefault:!0}),tt(["enter"],()=>{m()},{enabled:()=>!0,preventDefault:!0});const p=f.useCallback(()=>e(ID()),[e]),h=f.useCallback(()=>e(ED()),[e]),m=f.useCallback(()=>e(OD(s)),[e,s]),{data:v}=Is((r==null?void 0:r.imageName)??ro.skipToken);return r?i.jsx(W,{pos:"absolute",bottom:4,w:"100%",align:"center",justify:"center",filter:"drop-shadow(0 0.5rem 1rem rgba(0,0,0))",onMouseOver:c,onMouseOut:d,children:i.jsxs(rr,{isAttached:!0,children:[i.jsx(ze,{tooltip:`${a("unifiedCanvas.previous")} (Left)`,"aria-label":`${a("unifiedCanvas.previous")} (Left)`,icon:i.jsx(OY,{}),onClick:p,colorScheme:"accent",isDisabled:t}),i.jsx(ze,{tooltip:`${a("unifiedCanvas.next")} (Right)`,"aria-label":`${a("unifiedCanvas.next")} (Right)`,icon:i.jsx(RY,{}),onClick:h,colorScheme:"accent",isDisabled:n}),i.jsx(ze,{tooltip:`${a("unifiedCanvas.accept")} (Enter)`,"aria-label":`${a("unifiedCanvas.accept")} (Enter)`,icon:i.jsx(AY,{}),onClick:m,colorScheme:"accent"}),i.jsx(ze,{tooltip:a("unifiedCanvas.showHide"),"aria-label":a("unifiedCanvas.showHide"),"data-alert":!o,icon:o?i.jsx(HY,{}):i.jsx(FY,{}),onClick:()=>e(RD(!o)),colorScheme:"accent"}),i.jsx(ze,{tooltip:a("unifiedCanvas.saveToGallery"),"aria-label":a("unifiedCanvas.saveToGallery"),isDisabled:!v||!v.is_intermediate,icon:i.jsx(Um,{}),onClick:()=>{v&&e(MD({imageDTO:v}))},colorScheme:"accent"}),i.jsx(ze,{tooltip:a("unifiedCanvas.discardAll"),"aria-label":a("unifiedCanvas.discardAll"),icon:i.jsx(yl,{style:{transform:"rotate(45deg)"}}),onClick:()=>e(DD()),colorScheme:"error",fontSize:20})]})}):null},Hce=()=>{const e=B(c=>c.canvas.layerState),t=B(c=>c.canvas.boundingBoxCoordinates),n=B(c=>c.canvas.boundingBoxDimensions),r=B(c=>c.canvas.isMaskEnabled),o=B(c=>c.canvas.shouldPreserveMaskedArea),[s,a]=f.useState();return f.useEffect(()=>{a(void 0)},[e,t,n,r,o]),Tee(async()=>{const c=await AD(e,t,n,r,o);if(!c)return;const{baseImageData:d,maskImageData:p}=c,h=TD(d,p);a(h)},1e3,[e,t,n,r,o]),s},Wce={txt2img:"Text to Image",img2img:"Image to Image",inpaint:"Inpaint",outpaint:"Inpaint"},Vce=()=>{const e=Hce();return i.jsxs(Re,{children:["Mode: ",e?Wce[e]:"..."]})},tc=e=>Math.round(e*100)/100,Uce=be([mn],e=>{const{cursorPosition:t}=e,{cursorX:n,cursorY:r}=t?{cursorX:t.x,cursorY:t.y}:{cursorX:-1,cursorY:-1};return{cursorCoordinatesString:`(${tc(n)}, ${tc(r)})`}},{memoizeOptions:{resultEqualityCheck:Zt}});function Gce(){const{cursorCoordinatesString:e}=B(Uce),{t}=ye();return i.jsx(Re,{children:`${t("unifiedCanvas.cursorPosition")}: ${e}`})}const K1="var(--invokeai-colors-warning-500)",qce=be([mn],e=>{const{stageDimensions:{width:t,height:n},stageCoordinates:{x:r,y:o},boundingBoxDimensions:{width:s,height:a},scaledBoundingBoxDimensions:{width:c,height:d},boundingBoxCoordinates:{x:p,y:h},stageScale:m,shouldShowCanvasDebugInfo:v,layer:b,boundingBoxScaleMethod:w,shouldPreserveMaskedArea:y}=e;let S="inherit";return(w==="none"&&(s<512||a<512)||w==="manual"&&c*d<512*512)&&(S=K1),{activeLayerColor:b==="mask"?K1:"inherit",activeLayerString:b.charAt(0).toUpperCase()+b.slice(1),boundingBoxColor:S,boundingBoxCoordinatesString:`(${tc(p)}, ${tc(h)})`,boundingBoxDimensionsString:`${s}×${a}`,scaledBoundingBoxDimensionsString:`${c}×${d}`,canvasCoordinatesString:`${tc(r)}×${tc(o)}`,canvasDimensionsString:`${t}×${n}`,canvasScaleString:Math.round(m*100),shouldShowCanvasDebugInfo:v,shouldShowBoundingBox:w!=="auto",shouldShowScaledBoundingBox:w!=="none",shouldPreserveMaskedArea:y}},{memoizeOptions:{resultEqualityCheck:Zt}}),Kce=()=>{const{activeLayerColor:e,activeLayerString:t,boundingBoxColor:n,boundingBoxCoordinatesString:r,boundingBoxDimensionsString:o,scaledBoundingBoxDimensionsString:s,shouldShowScaledBoundingBox:a,canvasCoordinatesString:c,canvasDimensionsString:d,canvasScaleString:p,shouldShowCanvasDebugInfo:h,shouldShowBoundingBox:m,shouldPreserveMaskedArea:v}=B(qce),{t:b}=ye();return i.jsxs(W,{sx:{flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,opacity:.65,display:"flex",fontSize:"sm",padding:1,px:2,minWidth:48,margin:1,borderRadius:"base",pointerEvents:"none",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(Vce,{}),i.jsx(Re,{style:{color:e},children:`${b("unifiedCanvas.activeLayer")}: ${t}`}),i.jsx(Re,{children:`${b("unifiedCanvas.canvasScale")}: ${p}%`}),v&&i.jsx(Re,{style:{color:K1},children:"Preserve Masked Area: On"}),m&&i.jsx(Re,{style:{color:n},children:`${b("unifiedCanvas.boundingBox")}: ${o}`}),a&&i.jsx(Re,{style:{color:n},children:`${b("unifiedCanvas.scaledBoundingBox")}: ${s}`}),h&&i.jsxs(i.Fragment,{children:[i.jsx(Re,{children:`${b("unifiedCanvas.boundingBoxPosition")}: ${r}`}),i.jsx(Re,{children:`${b("unifiedCanvas.canvasDimensions")}: ${d}`}),i.jsx(Re,{children:`${b("unifiedCanvas.canvasPosition")}: ${c}`}),i.jsx(Gce,{})]})]})},Xce=be([lt],({canvas:e,generation:t})=>{const{boundingBoxCoordinates:n,boundingBoxDimensions:r,stageScale:o,isDrawing:s,isTransformingBoundingBox:a,isMovingBoundingBox:c,tool:d,shouldSnapToGrid:p}=e,{aspectRatio:h}=t;return{boundingBoxCoordinates:n,boundingBoxDimensions:r,isDrawing:s,isMovingBoundingBox:c,isTransformingBoundingBox:a,stageScale:o,shouldSnapToGrid:p,tool:d,hitStrokeWidth:20/o,aspectRatio:h}},{memoizeOptions:{resultEqualityCheck:Zt}}),Yce=e=>{const{...t}=e,n=te(),{boundingBoxCoordinates:r,boundingBoxDimensions:o,isDrawing:s,isMovingBoundingBox:a,isTransformingBoundingBox:c,stageScale:d,shouldSnapToGrid:p,tool:h,hitStrokeWidth:m,aspectRatio:v}=B(Xce),b=f.useRef(null),w=f.useRef(null),[y,S]=f.useState(!1);f.useEffect(()=>{var F;!b.current||!w.current||(b.current.nodes([w.current]),(F=b.current.getLayer())==null||F.batchDraw())},[]);const k=64*d;tt("N",()=>{n(Ju(!p))});const _=f.useCallback(F=>{if(!p){n(w0({x:Math.floor(F.target.x()),y:Math.floor(F.target.y())}));return}const V=F.target.x(),q=F.target.y(),G=ws(V,64),T=ws(q,64);F.target.x(G),F.target.y(T),n(w0({x:G,y:T}))},[n,p]),P=f.useCallback(()=>{if(!w.current)return;const F=w.current,V=F.scaleX(),q=F.scaleY(),G=Math.round(F.width()*V),T=Math.round(F.height()*q),z=Math.round(F.x()),$=Math.round(F.y());if(v){const Y=ws(G/v,64);n(Js({width:G,height:Y}))}else n(Js({width:G,height:T}));n(w0({x:p?Iu(z,64):z,y:p?Iu($,64):$})),F.scaleX(1),F.scaleY(1)},[n,p,v]),I=f.useCallback((F,V,q)=>{const G=F.x%k,T=F.y%k;return{x:Iu(V.x,k)+G,y:Iu(V.y,k)+T}},[k]),E=()=>{n(S0(!0))},O=()=>{n(S0(!1)),n(C0(!1)),n(Ff(!1)),S(!1)},R=()=>{n(C0(!0))},M=()=>{n(S0(!1)),n(C0(!1)),n(Ff(!1)),S(!1)},D=()=>{S(!0)},A=()=>{!c&&!a&&S(!1)},L=()=>{n(Ff(!0))},Q=()=>{n(Ff(!1))};return i.jsxs(La,{...t,children:[i.jsx(aa,{height:o.height,width:o.width,x:r.x,y:r.y,onMouseEnter:L,onMouseOver:L,onMouseLeave:Q,onMouseOut:Q}),i.jsx(aa,{draggable:!0,fillEnabled:!1,height:o.height,hitStrokeWidth:m,listening:!s&&h==="move",onDragStart:R,onDragEnd:M,onDragMove:_,onMouseDown:R,onMouseOut:A,onMouseOver:D,onMouseEnter:D,onMouseUp:M,onTransform:P,onTransformEnd:O,ref:w,stroke:y?"rgba(255,255,255,0.7)":"white",strokeWidth:(y?8:1)/d,width:o.width,x:r.x,y:r.y}),i.jsx(cce,{anchorCornerRadius:3,anchorDragBoundFunc:I,anchorFill:"rgba(212,216,234,1)",anchorSize:15,anchorStroke:"rgb(42,42,42)",borderDash:[4,4],borderEnabled:!0,borderStroke:"black",draggable:!1,enabledAnchors:h==="move"?void 0:[],flipEnabled:!1,ignoreStroke:!0,keepRatio:!1,listening:!s&&h==="move",onDragStart:R,onDragEnd:M,onMouseDown:E,onMouseUp:O,onTransformEnd:O,ref:b,rotateEnabled:!1})]})},Qce=be(mn,e=>{const{cursorPosition:t,brushSize:n,colorPickerColor:r,maskColor:o,brushColor:s,tool:a,layer:c,shouldShowBrush:d,isMovingBoundingBox:p,isTransformingBoundingBox:h,stageScale:m,stageDimensions:v,boundingBoxCoordinates:b,boundingBoxDimensions:w,shouldRestrictStrokesToBox:y}=e,S=y?{clipX:b.x,clipY:b.y,clipWidth:w.width,clipHeight:w.height}:{};return{cursorPosition:t,brushX:t?t.x:v.width/2,brushY:t?t.y:v.height/2,radius:n/2,colorPickerOuterRadius:xw/m,colorPickerInnerRadius:(xw-Tv+1)/m,maskColorString:rl({...o,a:.5}),brushColorString:rl(s),colorPickerColorString:rl(r),tool:a,layer:c,shouldShowBrush:d,shouldDrawBrushPreview:!(p||h||!t)&&d,strokeWidth:1.5/m,dotRadius:1.5/m,clip:S}},{memoizeOptions:{resultEqualityCheck:Zt}}),Jce=e=>{const{...t}=e,{brushX:n,brushY:r,radius:o,maskColorString:s,tool:a,layer:c,shouldDrawBrushPreview:d,dotRadius:p,strokeWidth:h,brushColorString:m,colorPickerColorString:v,colorPickerInnerRadius:b,colorPickerOuterRadius:w,clip:y}=B(Qce);return d?i.jsxs(La,{listening:!1,...y,...t,children:[a==="colorPicker"?i.jsxs(i.Fragment,{children:[i.jsx(Hi,{x:n,y:r,radius:w,stroke:m,strokeWidth:Tv,strokeScaleEnabled:!1}),i.jsx(Hi,{x:n,y:r,radius:b,stroke:v,strokeWidth:Tv,strokeScaleEnabled:!1})]}):i.jsxs(i.Fragment,{children:[i.jsx(Hi,{x:n,y:r,radius:o,fill:c==="mask"?s:m,globalCompositeOperation:a==="eraser"?"destination-out":"source-out"}),i.jsx(Hi,{x:n,y:r,radius:o,stroke:"rgba(255,255,255,0.4)",strokeWidth:h*2,strokeEnabled:!0,listening:!1}),i.jsx(Hi,{x:n,y:r,radius:o,stroke:"rgba(0,0,0,1)",strokeWidth:h,strokeEnabled:!0,listening:!1})]}),i.jsx(Hi,{x:n,y:r,radius:p*2,fill:"rgba(255,255,255,0.4)",listening:!1}),i.jsx(Hi,{x:n,y:r,radius:p,fill:"rgba(0,0,0,1)",listening:!1})]}):null},Zce=be([mn,lr],(e,t)=>{const{isMaskEnabled:n,stageScale:r,shouldShowBoundingBox:o,isTransformingBoundingBox:s,isMouseOverBoundingBox:a,isMovingBoundingBox:c,stageDimensions:d,stageCoordinates:p,tool:h,isMovingStage:m,shouldShowIntermediates:v,shouldShowGrid:b,shouldRestrictStrokesToBox:w,shouldAntialias:y}=e;let S="none";return h==="move"||t?m?S="grabbing":S="grab":s?S=void 0:w&&!a&&(S="default"),{isMaskEnabled:n,isModifyingBoundingBox:s||c,shouldShowBoundingBox:o,shouldShowGrid:b,stageCoordinates:p,stageCursor:S,stageDimensions:d,stageScale:r,tool:h,isStaging:t,shouldShowIntermediates:v,shouldAntialias:y}},Je),eue=je(uce,{shouldForwardProp:e=>!["sx"].includes(e)}),C_=()=>{const{isMaskEnabled:e,isModifyingBoundingBox:t,shouldShowBoundingBox:n,shouldShowGrid:r,stageCoordinates:o,stageCursor:s,stageDimensions:a,stageScale:c,tool:d,isStaging:p,shouldShowIntermediates:h,shouldAntialias:m}=B(Zce);hce();const v=f.useRef(null),b=f.useRef(null),w=f.useCallback(A=>{$D(A),v.current=A},[]),y=f.useCallback(A=>{ND(A),b.current=A},[]),S=f.useRef({x:0,y:0}),k=f.useRef(!1),_=Cce(v),P=gce(v),I=wce(v,k),E=bce(v,k,S),O=yce(),{handleDragStart:R,handleDragMove:M,handleDragEnd:D}=fce();return i.jsx(W,{sx:{position:"relative",height:"100%",width:"100%",borderRadius:"base"},children:i.jsxs(Re,{sx:{position:"relative"},children:[i.jsxs(eue,{tabIndex:-1,ref:w,sx:{outline:"none",overflow:"hidden",cursor:s||void 0,canvas:{outline:"none"}},x:o.x,y:o.y,width:a.width,height:a.height,scale:{x:c,y:c},onTouchStart:P,onTouchMove:E,onTouchEnd:I,onMouseDown:P,onMouseLeave:O,onMouseMove:E,onMouseUp:I,onDragStart:R,onDragMove:M,onDragEnd:D,onContextMenu:A=>A.evt.preventDefault(),onWheel:_,draggable:(d==="move"||p)&&!t,children:[i.jsx(ju,{id:"grid",visible:r,children:i.jsx(jce,{})}),i.jsx(ju,{id:"base",ref:y,listening:!1,imageSmoothingEnabled:m,children:i.jsx($ce,{})}),i.jsxs(ju,{id:"mask",visible:e,listening:!1,children:[i.jsx(Dce,{visible:!0,listening:!1}),i.jsx(Rce,{listening:!1})]}),i.jsx(ju,{children:i.jsx(_ce,{})}),i.jsxs(ju,{id:"preview",imageSmoothingEnabled:m,children:[!p&&i.jsx(Jce,{visible:d!=="move",listening:!1}),i.jsx(zce,{visible:p}),h&&i.jsx(Ece,{}),i.jsx(Yce,{visible:n&&!p})]})]}),i.jsx(Kce,{}),i.jsx(Fce,{})]})})},tue=be(mn,aY,Kn,(e,t,n)=>{const{doesCanvasNeedScaling:r,isCanvasInitialized:o}=e;return{doesCanvasNeedScaling:r,activeTabName:n,initialCanvasImage:t,isCanvasInitialized:o}}),k_=()=>{const e=te(),{doesCanvasNeedScaling:t,activeTabName:n,initialCanvasImage:r,isCanvasInitialized:o}=B(tue),s=f.useRef(null);return f.useLayoutEffect(()=>{window.setTimeout(()=>{if(!s.current)return;const{clientWidth:a,clientHeight:c}=s.current;e(LD({width:a,height:c})),e(o?zD():hm()),e(F_(!1))},0)},[e,r,t,n,o]),i.jsx(W,{ref:s,sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,width:"100%",height:"100%"},children:i.jsx(hl,{thickness:"2px",size:"xl"})})};function P8(e,t,n=250){const[r,o]=f.useState(0);return f.useEffect(()=>{const s=setTimeout(()=>{r===1&&e(),o(0)},n);return r===2&&t(),()=>clearTimeout(s)},[r,e,t,n]),()=>o(s=>s+1)}const nue=je(c8,{baseStyle:{paddingInline:4},shouldForwardProp:e=>!["pickerColor"].includes(e)}),yv={width:6,height:6,borderColor:"base.100"},rue=e=>{const{styleClass:t="",...n}=e;return i.jsx(nue,{sx:{".react-colorful__hue-pointer":yv,".react-colorful__saturation-pointer":yv,".react-colorful__alpha-pointer":yv},className:t,...n})},lm=f.memo(rue),oue=be([mn,lr],(e,t)=>{const{maskColor:n,layer:r,isMaskEnabled:o,shouldPreserveMaskedArea:s}=e;return{layer:r,maskColor:n,maskColorString:rl(n),isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),sue=()=>{const e=te(),{t}=ye(),{layer:n,maskColor:r,isMaskEnabled:o,shouldPreserveMaskedArea:s,isStaging:a}=B(oue);tt(["q"],()=>{c()},{enabled:()=>!a,preventDefault:!0},[n]),tt(["shift+c"],()=>{d()},{enabled:()=>!a,preventDefault:!0},[]),tt(["h"],()=>{p()},{enabled:()=>!a,preventDefault:!0},[o]);const c=()=>{e(qp(n==="mask"?"base":"mask"))},d=()=>e(ub()),p=()=>e(kd(!o));return i.jsx(xl,{triggerComponent:i.jsx(rr,{children:i.jsx(ze,{"aria-label":t("unifiedCanvas.maskingOptions"),tooltip:t("unifiedCanvas.maskingOptions"),icon:i.jsx(QY,{}),isChecked:n==="mask",isDisabled:a})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(Gn,{label:`${t("unifiedCanvas.enableMask")} (H)`,isChecked:o,onChange:p}),i.jsx(Gn,{label:t("unifiedCanvas.preserveMaskedArea"),isChecked:s,onChange:h=>e(y5(h.target.checked))}),i.jsx(lm,{sx:{paddingTop:2,paddingBottom:2},pickerColor:r,onChange:h=>e(x5(h))}),i.jsxs(Yt,{size:"sm",leftIcon:i.jsx(Eo,{}),onClick:d,children:[t("unifiedCanvas.clearMask")," (Shift+C)"]})]})})},aue=be([mn,Kn,vo],(e,t,n)=>{const{futureLayerStates:r}=e;return{canRedo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}});function j8(){const e=te(),{canRedo:t,activeTabName:n}=B(aue),{t:r}=ye(),o=()=>{e(BD())};return tt(["meta+shift+z","ctrl+shift+z","control+y","meta+y"],()=>{o()},{enabled:()=>t,preventDefault:!0},[n,t]),i.jsx(ze,{"aria-label":`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,tooltip:`${r("unifiedCanvas.redo")} (Ctrl+Shift+Z)`,icon:i.jsx(eQ,{}),onClick:o,isDisabled:!t})}const I8=()=>{const e=B(lr),t=te(),{t:n}=ye();return i.jsxs(lx,{title:n("unifiedCanvas.clearCanvasHistory"),acceptCallback:()=>t(FD()),acceptButtonText:n("unifiedCanvas.clearHistory"),triggerComponent:i.jsx(Yt,{size:"sm",leftIcon:i.jsx(Eo,{}),isDisabled:e,children:n("unifiedCanvas.clearCanvasHistory")}),children:[i.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryMessage")}),i.jsx("br",{}),i.jsx("p",{children:n("unifiedCanvas.clearCanvasHistoryConfirm")})]})},iue=be([mn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:o,shouldShowGrid:s,shouldShowIntermediates:a,shouldSnapToGrid:c,shouldRestrictStrokesToBox:d,shouldAntialias:p}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldDarkenOutsideBoundingBox:r,shouldShowCanvasDebugInfo:o,shouldShowGrid:s,shouldShowIntermediates:a,shouldSnapToGrid:c,shouldRestrictStrokesToBox:d,shouldAntialias:p}},{memoizeOptions:{resultEqualityCheck:Zt}}),lue=()=>{const e=te(),{t}=ye(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldDarkenOutsideBoundingBox:o,shouldShowCanvasDebugInfo:s,shouldShowGrid:a,shouldShowIntermediates:c,shouldSnapToGrid:d,shouldRestrictStrokesToBox:p,shouldAntialias:h}=B(iue);tt(["n"],()=>{e(Ju(!d))},{enabled:!0,preventDefault:!0},[d]);const m=v=>e(Ju(v.target.checked));return i.jsx(xl,{isLazy:!1,triggerComponent:i.jsx(ze,{tooltip:t("unifiedCanvas.canvasSettings"),"aria-label":t("unifiedCanvas.canvasSettings"),icon:i.jsx(Cy,{})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:c,onChange:v=>e(w5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showGrid"),isChecked:a,onChange:v=>e(S5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.snapToGrid"),isChecked:d,onChange:m}),i.jsx(Gn,{label:t("unifiedCanvas.darkenOutsideSelection"),isChecked:o,onChange:v=>e(C5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:v=>e(k5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:v=>e(_5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.limitStrokesToBox"),isChecked:p,onChange:v=>e(P5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:s,onChange:v=>e(j5(v.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.antialiasing"),isChecked:h,onChange:v=>e(I5(v.target.checked))}),i.jsx(I8,{})]})})},cue=be([mn,lr,vo],(e,t,n)=>{const{isProcessing:r}=n,{tool:o,brushColor:s,brushSize:a}=e;return{tool:o,isStaging:t,isProcessing:r,brushColor:s,brushSize:a}},{memoizeOptions:{resultEqualityCheck:Zt}}),uue=()=>{const e=te(),{tool:t,brushColor:n,brushSize:r,isStaging:o}=B(cue),{t:s}=ye();tt(["b"],()=>{a()},{enabled:()=>!o,preventDefault:!0},[]),tt(["e"],()=>{c()},{enabled:()=>!o,preventDefault:!0},[t]),tt(["c"],()=>{d()},{enabled:()=>!o,preventDefault:!0},[t]),tt(["shift+f"],()=>{p()},{enabled:()=>!o,preventDefault:!0}),tt(["delete","backspace"],()=>{h()},{enabled:()=>!o,preventDefault:!0}),tt(["BracketLeft"],()=>{e(rc(Math.max(r-5,5)))},{enabled:()=>!o,preventDefault:!0},[r]),tt(["BracketRight"],()=>{e(rc(Math.min(r+5,500)))},{enabled:()=>!o,preventDefault:!0},[r]),tt(["Shift+BracketLeft"],()=>{e(oc({...n,a:Es(n.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]),tt(["Shift+BracketRight"],()=>{e(oc({...n,a:Es(n.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[n]);const a=()=>e(ea("brush")),c=()=>e(ea("eraser")),d=()=>e(ea("colorPicker")),p=()=>e(E5()),h=()=>e(O5());return i.jsxs(rr,{isAttached:!0,children:[i.jsx(ze,{"aria-label":`${s("unifiedCanvas.brush")} (B)`,tooltip:`${s("unifiedCanvas.brush")} (B)`,icon:i.jsx(sE,{}),isChecked:t==="brush"&&!o,onClick:a,isDisabled:o}),i.jsx(ze,{"aria-label":`${s("unifiedCanvas.eraser")} (E)`,tooltip:`${s("unifiedCanvas.eraser")} (E)`,icon:i.jsx(JI,{}),isChecked:t==="eraser"&&!o,isDisabled:o,onClick:c}),i.jsx(ze,{"aria-label":`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${s("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:i.jsx(tE,{}),isDisabled:o,onClick:p}),i.jsx(ze,{"aria-label":`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${s("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:i.jsx(yl,{style:{transform:"rotate(45deg)"}}),isDisabled:o,onClick:h}),i.jsx(ze,{"aria-label":`${s("unifiedCanvas.colorPicker")} (C)`,tooltip:`${s("unifiedCanvas.colorPicker")} (C)`,icon:i.jsx(eE,{}),isChecked:t==="colorPicker"&&!o,isDisabled:o,onClick:d}),i.jsx(xl,{triggerComponent:i.jsx(ze,{"aria-label":s("unifiedCanvas.brushOptions"),tooltip:s("unifiedCanvas.brushOptions"),icon:i.jsx(wy,{})}),children:i.jsxs(W,{minWidth:60,direction:"column",gap:4,width:"100%",children:[i.jsx(W,{gap:4,justifyContent:"space-between",children:i.jsx(_t,{label:s("unifiedCanvas.brushSize"),value:r,withInput:!0,onChange:m=>e(rc(m)),sliderNumberInputProps:{max:500}})}),i.jsx(lm,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:m=>e(oc(m))})]})})]})},due=be([mn,Kn,vo],(e,t,n)=>{const{pastLayerStates:r}=e;return{canUndo:r.length>0&&!n.isProcessing,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}});function E8(){const e=te(),{t}=ye(),{canUndo:n,activeTabName:r}=B(due),o=()=>{e(HD())};return tt(["meta+z","ctrl+z"],()=>{o()},{enabled:()=>n,preventDefault:!0},[r,n]),i.jsx(ze,{"aria-label":`${t("unifiedCanvas.undo")} (Ctrl+Z)`,tooltip:`${t("unifiedCanvas.undo")} (Ctrl+Z)`,icon:i.jsx(Sy,{}),onClick:o,isDisabled:!n})}const fue=be([vo,mn,lr],(e,t,n)=>{const{isProcessing:r}=e,{tool:o,shouldCropToBoundingBoxOnSave:s,layer:a,isMaskEnabled:c}=t;return{isProcessing:r,isStaging:n,isMaskEnabled:c,tool:o,layer:a,shouldCropToBoundingBoxOnSave:s}},{memoizeOptions:{resultEqualityCheck:Zt}}),pue=()=>{const e=te(),{isProcessing:t,isStaging:n,isMaskEnabled:r,layer:o,tool:s}=B(fue),a=Oa(),{t:c}=ye(),{isClipboardAPIAvailable:d}=qy(),{getUploadButtonProps:p,getUploadInputProps:h}=rg({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}});tt(["v"],()=>{m()},{enabled:()=>!n,preventDefault:!0},[]),tt(["r"],()=>{b()},{enabled:()=>!0,preventDefault:!0},[a]),tt(["shift+m"],()=>{y()},{enabled:()=>!n,preventDefault:!0},[a,t]),tt(["shift+s"],()=>{S()},{enabled:()=>!n,preventDefault:!0},[a,t]),tt(["meta+c","ctrl+c"],()=>{k()},{enabled:()=>!n&&d,preventDefault:!0},[a,t,d]),tt(["shift+d"],()=>{_()},{enabled:()=>!n,preventDefault:!0},[a,t]);const m=()=>e(ea("move")),v=P8(()=>b(!1),()=>b(!0)),b=(I=!1)=>{const E=Oa();if(!E)return;const O=E.getClientRect({skipTransform:!0});e(R5({contentRect:O,shouldScaleTo1:I}))},w=()=>{e(sb()),e(hm())},y=()=>{e(M5())},S=()=>{e(D5())},k=()=>{d&&e(A5())},_=()=>{e(T5())},P=I=>{const E=I;e(qp(E)),E==="mask"&&!r&&e(kd(!0))};return i.jsxs(W,{sx:{alignItems:"center",gap:2,flexWrap:"wrap"},children:[i.jsx(Re,{w:24,children:i.jsx(Xr,{tooltip:`${c("unifiedCanvas.layer")} (Q)`,value:o,data:N5,onChange:P,disabled:n})}),i.jsx(sue,{}),i.jsx(uue,{}),i.jsxs(rr,{isAttached:!0,children:[i.jsx(ze,{"aria-label":`${c("unifiedCanvas.move")} (V)`,tooltip:`${c("unifiedCanvas.move")} (V)`,icon:i.jsx(XI,{}),isChecked:s==="move"||n,onClick:m}),i.jsx(ze,{"aria-label":`${c("unifiedCanvas.resetView")} (R)`,tooltip:`${c("unifiedCanvas.resetView")} (R)`,icon:i.jsx(QI,{}),onClick:v})]}),i.jsxs(rr,{isAttached:!0,children:[i.jsx(ze,{"aria-label":`${c("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${c("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:i.jsx(rE,{}),onClick:y,isDisabled:n}),i.jsx(ze,{"aria-label":`${c("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${c("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:i.jsx(Um,{}),onClick:S,isDisabled:n}),d&&i.jsx(ze,{"aria-label":`${c("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${c("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:i.jsx(qc,{}),onClick:k,isDisabled:n}),i.jsx(ze,{"aria-label":`${c("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${c("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:i.jsx(xy,{}),onClick:_,isDisabled:n})]}),i.jsxs(rr,{isAttached:!0,children:[i.jsx(E8,{}),i.jsx(j8,{})]}),i.jsxs(rr,{isAttached:!0,children:[i.jsx(ze,{"aria-label":`${c("common.upload")}`,tooltip:`${c("common.upload")}`,icon:i.jsx(Vd,{}),isDisabled:n,...p()}),i.jsx("input",{...h()}),i.jsx(ze,{"aria-label":`${c("unifiedCanvas.clearCanvas")}`,tooltip:`${c("unifiedCanvas.clearCanvas")}`,icon:i.jsx(Eo,{}),onClick:w,colorScheme:"error",isDisabled:n})]}),i.jsx(rr,{isAttached:!0,children:i.jsx(lue,{})})]})};function hue(){const e=te(),t=B(o=>o.canvas.brushSize),{t:n}=ye(),r=B(lr);return tt(["BracketLeft"],()=>{e(rc(Math.max(t-5,5)))},{enabled:()=>!r,preventDefault:!0},[t]),tt(["BracketRight"],()=>{e(rc(Math.min(t+5,500)))},{enabled:()=>!r,preventDefault:!0},[t]),i.jsx(_t,{label:n("unifiedCanvas.brushSize"),value:t,withInput:!0,onChange:o=>e(rc(o)),sliderNumberInputProps:{max:500},isCompact:!0})}const mue=be([mn,lr],(e,t)=>{const{brushColor:n,maskColor:r,layer:o}=e;return{brushColor:n,maskColor:r,layer:o,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Zt}});function gue(){const e=te(),{brushColor:t,maskColor:n,layer:r,isStaging:o}=B(mue),s=()=>{if(r==="base")return`rgba(${t.r},${t.g},${t.b},${t.a})`;if(r==="mask")return`rgba(${n.r},${n.g},${n.b},${n.a})`};return tt(["shift+BracketLeft"],()=>{e(oc({...t,a:Es(t.a-.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),tt(["shift+BracketRight"],()=>{e(oc({...t,a:Es(t.a+.05,.05,1)}))},{enabled:()=>!o,preventDefault:!0},[t]),i.jsx(xl,{triggerComponent:i.jsx(Re,{sx:{width:7,height:7,minWidth:7,minHeight:7,borderRadius:"full",bg:s(),cursor:"pointer"}}),children:i.jsxs(W,{minWidth:60,direction:"column",gap:4,width:"100%",children:[r==="base"&&i.jsx(lm,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:t,onChange:a=>e(oc(a))}),r==="mask"&&i.jsx(lm,{sx:{width:"100%",paddingTop:2,paddingBottom:2},pickerColor:n,onChange:a=>e(x5(a))})]})})}function O8(){return i.jsxs(W,{columnGap:4,alignItems:"center",children:[i.jsx(hue,{}),i.jsx(gue,{})]})}function vue(){const e=te(),t=B(r=>r.canvas.shouldRestrictStrokesToBox),{t:n}=ye();return i.jsx(Gn,{label:n("unifiedCanvas.betaLimitToBox"),isChecked:t,onChange:r=>e(P5(r.target.checked))})}function bue(){return i.jsxs(W,{gap:4,alignItems:"center",children:[i.jsx(O8,{}),i.jsx(vue,{})]})}function yue(){const e=te(),{t}=ye(),n=()=>e(ub());return i.jsx(Yt,{size:"sm",leftIcon:i.jsx(Eo,{}),onClick:n,tooltip:`${t("unifiedCanvas.clearMask")} (Shift+C)`,children:t("unifiedCanvas.betaClear")})}function xue(){const e=B(o=>o.canvas.isMaskEnabled),t=te(),{t:n}=ye(),r=()=>t(kd(!e));return i.jsx(Gn,{label:`${n("unifiedCanvas.enableMask")} (H)`,isChecked:e,onChange:r})}function wue(){const e=te(),{t}=ye(),n=B(r=>r.canvas.shouldPreserveMaskedArea);return i.jsx(Gn,{label:t("unifiedCanvas.betaPreserveMasked"),isChecked:n,onChange:r=>e(y5(r.target.checked))})}function Sue(){return i.jsxs(W,{gap:4,alignItems:"center",children:[i.jsx(O8,{}),i.jsx(xue,{}),i.jsx(wue,{}),i.jsx(yue,{})]})}function Cue(){const e=B(r=>r.canvas.shouldDarkenOutsideBoundingBox),t=te(),{t:n}=ye();return i.jsx(Gn,{label:n("unifiedCanvas.betaDarkenOutside"),isChecked:e,onChange:r=>t(C5(r.target.checked))})}function kue(){const e=B(r=>r.canvas.shouldShowGrid),t=te(),{t:n}=ye();return i.jsx(Gn,{label:n("unifiedCanvas.showGrid"),isChecked:e,onChange:r=>t(S5(r.target.checked))})}function _ue(){const e=B(o=>o.canvas.shouldSnapToGrid),t=te(),{t:n}=ye(),r=o=>t(Ju(o.target.checked));return i.jsx(Gn,{label:`${n("unifiedCanvas.snapToGrid")} (N)`,isChecked:e,onChange:r})}function Pue(){return i.jsxs(W,{alignItems:"center",gap:4,children:[i.jsx(kue,{}),i.jsx(_ue,{}),i.jsx(Cue,{})]})}const jue=be([mn],e=>{const{tool:t,layer:n}=e;return{tool:t,layer:n}},{memoizeOptions:{resultEqualityCheck:Zt}});function Iue(){const{tool:e,layer:t}=B(jue);return i.jsxs(W,{height:8,minHeight:8,maxHeight:8,alignItems:"center",children:[t=="base"&&["brush","eraser","colorPicker"].includes(e)&&i.jsx(bue,{}),t=="mask"&&["brush","eraser","colorPicker"].includes(e)&&i.jsx(Sue,{}),e=="move"&&i.jsx(Pue,{})]})}const Eue=be([mn],e=>{const{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:o,shouldAntialias:s}=e;return{shouldAutoSave:t,shouldCropToBoundingBoxOnSave:n,shouldShowCanvasDebugInfo:r,shouldShowIntermediates:o,shouldAntialias:s}},{memoizeOptions:{resultEqualityCheck:Zt}}),Oue=()=>{const e=te(),{t}=ye(),{shouldAutoSave:n,shouldCropToBoundingBoxOnSave:r,shouldShowCanvasDebugInfo:o,shouldShowIntermediates:s,shouldAntialias:a}=B(Eue);return i.jsx(xl,{isLazy:!1,triggerComponent:i.jsx(ze,{tooltip:t("unifiedCanvas.canvasSettings"),tooltipProps:{placement:"bottom"},"aria-label":t("unifiedCanvas.canvasSettings"),icon:i.jsx(Cy,{})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(Gn,{label:t("unifiedCanvas.showIntermediates"),isChecked:s,onChange:c=>e(w5(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.autoSaveToGallery"),isChecked:n,onChange:c=>e(k5(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.saveBoxRegionOnly"),isChecked:r,onChange:c=>e(_5(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.showCanvasDebugInfo"),isChecked:o,onChange:c=>e(j5(c.target.checked))}),i.jsx(Gn,{label:t("unifiedCanvas.antialiasing"),isChecked:a,onChange:c=>e(I5(c.target.checked))}),i.jsx(I8,{})]})})};function Rue(){const e=B(lr),t=Oa(),{isClipboardAPIAvailable:n}=qy(),r=B(c=>c.system.isProcessing),o=te(),{t:s}=ye();tt(["meta+c","ctrl+c"],()=>{a()},{enabled:()=>!e&&n,preventDefault:!0},[t,r,n]);const a=f.useCallback(()=>{n&&o(A5())},[o,n]);return n?i.jsx(ze,{"aria-label":`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,tooltip:`${s("unifiedCanvas.copyToClipboard")} (Cmd/Ctrl+C)`,icon:i.jsx(qc,{}),onClick:a,isDisabled:e}):null}function Mue(){const e=te(),{t}=ye(),n=Oa(),r=B(lr);tt(["shift+d"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[n]);const o=()=>{e(T5())};return i.jsx(ze,{"aria-label":`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,tooltip:`${t("unifiedCanvas.downloadAsImage")} (Shift+D)`,icon:i.jsx(xy,{}),onClick:o,isDisabled:r})}function Due(){const e=B(lr),{getUploadButtonProps:t,getUploadInputProps:n}=rg({postUploadAction:{type:"SET_CANVAS_INITIAL_IMAGE"}}),{t:r}=ye();return i.jsxs(i.Fragment,{children:[i.jsx(ze,{"aria-label":r("common.upload"),tooltip:r("common.upload"),icon:i.jsx(Vd,{}),isDisabled:e,...t()}),i.jsx("input",{...n()})]})}const Aue=be([mn,lr],(e,t)=>{const{layer:n,isMaskEnabled:r}=e;return{layer:n,isMaskEnabled:r,isStaging:t}},{memoizeOptions:{resultEqualityCheck:Zt}});function Tue(){const e=te(),{t}=ye(),{layer:n,isMaskEnabled:r,isStaging:o}=B(Aue),s=()=>{e(qp(n==="mask"?"base":"mask"))};tt(["q"],()=>{s()},{enabled:()=>!o,preventDefault:!0},[n]);const a=c=>{const d=c;e(qp(d)),d==="mask"&&!r&&e(kd(!0))};return i.jsx(Xr,{tooltip:`${t("unifiedCanvas.layer")} (Q)`,"aria-label":`${t("unifiedCanvas.layer")} (Q)`,value:n,data:N5,onChange:a,disabled:o,w:"full"})}function Nue(){const e=te(),{t}=ye(),n=Oa(),r=B(lr),o=B(a=>a.system.isProcessing);tt(["shift+m"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n,o]);const s=()=>{e(M5())};return i.jsx(ze,{"aria-label":`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,tooltip:`${t("unifiedCanvas.mergeVisible")} (Shift+M)`,icon:i.jsx(rE,{}),onClick:s,isDisabled:r})}function $ue(){const e=B(s=>s.canvas.tool),t=B(lr),n=te(),{t:r}=ye();tt(["v"],()=>{o()},{enabled:()=>!t,preventDefault:!0},[]);const o=()=>n(ea("move"));return i.jsx(ze,{"aria-label":`${r("unifiedCanvas.move")} (V)`,tooltip:`${r("unifiedCanvas.move")} (V)`,icon:i.jsx(XI,{}),isChecked:e==="move"||t,onClick:o})}function Lue(){const e=B(s=>s.ui.shouldPinParametersPanel),t=B(s=>s.ui.shouldShowParametersPanel),n=te(),{t:r}=ye(),o=()=>{n(db(!0)),e&&n(ko())};return!e||!t?i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsx(ze,{tooltip:`${r("parameters.showOptionsPanel")} (O)`,tooltipProps:{placement:"top"},"aria-label":r("parameters.showOptionsPanel"),onClick:o,children:i.jsx(wy,{})}),i.jsx(W,{children:i.jsx(Zy,{iconButton:!0})}),i.jsx(W,{children:i.jsx(ig,{width:"100%",height:"40px",btnGroupWidth:"100%"})})]}):null}function zue(){const e=te(),{t}=ye(),n=B(lr),r=()=>{e(sb()),e(hm())};return i.jsx(ze,{"aria-label":t("unifiedCanvas.clearCanvas"),tooltip:t("unifiedCanvas.clearCanvas"),icon:i.jsx(Eo,{}),onClick:r,isDisabled:n,colorScheme:"error"})}function Bue(){const e=Oa(),t=te(),{t:n}=ye();tt(["r"],()=>{o()},{enabled:()=>!0,preventDefault:!0},[e]);const r=P8(()=>o(!1),()=>o(!0)),o=(s=!1)=>{const a=Oa();if(!a)return;const c=a.getClientRect({skipTransform:!0});t(R5({contentRect:c,shouldScaleTo1:s}))};return i.jsx(ze,{"aria-label":`${n("unifiedCanvas.resetView")} (R)`,tooltip:`${n("unifiedCanvas.resetView")} (R)`,icon:i.jsx(QI,{}),onClick:r})}function Fue(){const e=B(lr),t=Oa(),n=B(a=>a.system.isProcessing),r=te(),{t:o}=ye();tt(["shift+s"],()=>{s()},{enabled:()=>!e,preventDefault:!0},[t,n]);const s=()=>{r(D5())};return i.jsx(ze,{"aria-label":`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,tooltip:`${o("unifiedCanvas.saveToGallery")} (Shift+S)`,icon:i.jsx(Um,{}),onClick:s,isDisabled:e})}const Hue=be([mn,lr,vo],(e,t,n)=>{const{isProcessing:r}=n,{tool:o}=e;return{tool:o,isStaging:t,isProcessing:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),Wue=()=>{const e=te(),{t}=ye(),{tool:n,isStaging:r}=B(Hue);tt(["b"],()=>{o()},{enabled:()=>!r,preventDefault:!0},[]),tt(["e"],()=>{s()},{enabled:()=>!r,preventDefault:!0},[n]),tt(["c"],()=>{a()},{enabled:()=>!r,preventDefault:!0},[n]),tt(["shift+f"],()=>{c()},{enabled:()=>!r,preventDefault:!0}),tt(["delete","backspace"],()=>{d()},{enabled:()=>!r,preventDefault:!0});const o=()=>e(ea("brush")),s=()=>e(ea("eraser")),a=()=>e(ea("colorPicker")),c=()=>e(E5()),d=()=>e(O5());return i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsxs(rr,{children:[i.jsx(ze,{"aria-label":`${t("unifiedCanvas.brush")} (B)`,tooltip:`${t("unifiedCanvas.brush")} (B)`,icon:i.jsx(sE,{}),isChecked:n==="brush"&&!r,onClick:o,isDisabled:r}),i.jsx(ze,{"aria-label":`${t("unifiedCanvas.eraser")} (E)`,tooltip:`${t("unifiedCanvas.eraser")} (B)`,icon:i.jsx(JI,{}),isChecked:n==="eraser"&&!r,isDisabled:r,onClick:s})]}),i.jsxs(rr,{children:[i.jsx(ze,{"aria-label":`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,tooltip:`${t("unifiedCanvas.fillBoundingBox")} (Shift+F)`,icon:i.jsx(tE,{}),isDisabled:r,onClick:c}),i.jsx(ze,{"aria-label":`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,tooltip:`${t("unifiedCanvas.eraseBoundingBox")} (Del/Backspace)`,icon:i.jsx(yl,{style:{transform:"rotate(45deg)"}}),isDisabled:r,onClick:d})]}),i.jsx(ze,{"aria-label":`${t("unifiedCanvas.colorPicker")} (C)`,tooltip:`${t("unifiedCanvas.colorPicker")} (C)`,icon:i.jsx(eE,{}),isChecked:n==="colorPicker"&&!r,isDisabled:r,onClick:a,width:"max-content"})]})},Vue=()=>i.jsxs(W,{flexDirection:"column",rowGap:2,width:"min-content",children:[i.jsx(Tue,{}),i.jsx(Wue,{}),i.jsxs(W,{gap:2,children:[i.jsx($ue,{}),i.jsx(Bue,{})]}),i.jsxs(W,{columnGap:2,children:[i.jsx(Nue,{}),i.jsx(Fue,{})]}),i.jsxs(W,{columnGap:2,children:[i.jsx(Rue,{}),i.jsx(Mue,{})]}),i.jsxs(W,{gap:2,children:[i.jsx(E8,{}),i.jsx(j8,{})]}),i.jsxs(W,{gap:2,children:[i.jsx(Due,{}),i.jsx(zue,{})]}),i.jsx(Oue,{}),i.jsx(Lue,{})]}),Uue=be([mn,Ba],(e,t)=>{const{doesCanvasNeedScaling:n}=e,{shouldUseCanvasBetaLayout:r}=t;return{doesCanvasNeedScaling:n,shouldUseCanvasBetaLayout:r}},Je),xv={id:"canvas-intial-image",actionType:"SET_CANVAS_INITIAL_IMAGE"},Gue=()=>{const e=te(),{doesCanvasNeedScaling:t,shouldUseCanvasBetaLayout:n}=B(Uue),{isOver:r,setNodeRef:o,active:s}=eb({id:"unifiedCanvas",data:xv});return f.useLayoutEffect(()=>{const a=()=>{e(ko())};return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[e]),n?i.jsx(Re,{layerStyle:"first",ref:o,tabIndex:0,sx:{w:"full",h:"full",p:4,borderRadius:"base"},children:i.jsxs(W,{sx:{w:"full",h:"full",gap:4},children:[i.jsx(Vue,{}),i.jsxs(W,{sx:{flexDir:"column",w:"full",h:"full",gap:4,position:"relative"},children:[i.jsx(Iue,{}),i.jsxs(Re,{sx:{w:"full",h:"full",position:"relative"},children:[t?i.jsx(k_,{}):i.jsx(C_,{}),zp(xv,s)&&i.jsx(Zh,{isOver:r,label:"Set Canvas Initial Image"})]})]})]})}):i.jsx(Re,{ref:o,tabIndex:-1,sx:{layerStyle:"first",w:"full",h:"full",p:4,borderRadius:"base"},children:i.jsxs(W,{sx:{flexDirection:"column",alignItems:"center",gap:4,w:"full",h:"full"},children:[i.jsx(pue,{}),i.jsx(W,{sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:4,w:"full",h:"full"},children:i.jsxs(Re,{sx:{w:"full",h:"full",position:"relative"},children:[t?i.jsx(k_,{}):i.jsx(C_,{}),zp(xv,s)&&i.jsx(Zh,{isOver:r,label:"Set Canvas Initial Image"})]})})]})})},que=f.memo(Gue),Kue=be([lt],({generation:e})=>{const{infillMethod:t}=e;return{infillMethod:t}},Je),Xue=()=>{const e=te(),{infillMethod:t}=B(Kue),{data:n,isLoading:r}=Z_(),o=n==null?void 0:n.infill_methods,{t:s}=ye(),a=f.useCallback(c=>{e(WD(c))},[e]);return i.jsx(Xr,{disabled:(o==null?void 0:o.length)===0,placeholder:r?"Loading...":void 0,label:s("parameters.infillMethod"),value:t,data:o??[],onChange:a})},Yue=f.memo(Xue),Que=be([Mi],e=>{const{tileSize:t,infillMethod:n}=e;return{tileSize:t,infillMethod:n}},Je),Jue=()=>{const e=te(),{tileSize:t,infillMethod:n}=B(Que),{t:r}=ye(),o=f.useCallback(a=>{e(ww(a))},[e]),s=f.useCallback(()=>{e(ww(32))},[e]);return i.jsx(_t,{isDisabled:n!=="tile",label:r("parameters.tileSize"),min:16,max:64,sliderNumberInputProps:{max:256},value:t,onChange:o,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:s})},Zue=f.memo(Jue),ede=be([mn],e=>{const{boundingBoxScaleMethod:t}=e;return{boundingBoxScale:t}},Je),tde=()=>{const e=te(),{boundingBoxScale:t}=B(ede),{t:n}=ye(),r=o=>{e(UD(o))};return i.jsx(ar,{label:n("parameters.scaleBeforeProcessing"),data:VD,value:t,onChange:r})},nde=f.memo(tde),rde=be([Mi,vo,mn],(e,t,n)=>{const{scaledBoundingBoxDimensions:r,boundingBoxScaleMethod:o}=n;return{scaledBoundingBoxDimensions:r,isManual:o==="manual"}},Je),ode=()=>{const e=te(),{isManual:t,scaledBoundingBoxDimensions:n}=B(rde),{t:r}=ye(),o=a=>{e(Kp({...n,height:Math.floor(a)}))},s=()=>{e(Kp({...n,height:Math.floor(512)}))};return i.jsx(_t,{isDisabled:!t,label:r("parameters.scaledHeight"),min:64,max:1024,step:64,value:n.height,onChange:o,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:s})},sde=f.memo(ode),ade=be([mn],e=>{const{boundingBoxScaleMethod:t,scaledBoundingBoxDimensions:n}=e;return{scaledBoundingBoxDimensions:n,isManual:t==="manual"}},Je),ide=()=>{const e=te(),{isManual:t,scaledBoundingBoxDimensions:n}=B(ade),{t:r}=ye(),o=a=>{e(Kp({...n,width:Math.floor(a)}))},s=()=>{e(Kp({...n,width:Math.floor(512)}))};return i.jsx(_t,{isDisabled:!t,label:r("parameters.scaledWidth"),min:64,max:1024,step:64,value:n.width,onChange:o,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:s})},lde=f.memo(ide),cde=()=>{const{t:e}=ye();return i.jsx(Mo,{label:e("parameters.infillScalingHeader"),children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(Yue,{}),i.jsx(Zue,{}),i.jsx(nde,{}),i.jsx(lde,{}),i.jsx(sde,{})]})})},ude=f.memo(cde);function dde(){const e=te(),t=B(r=>r.generation.seamBlur),{t:n}=ye();return i.jsx(_t,{label:n("parameters.seamBlur"),min:0,max:64,sliderNumberInputProps:{max:512},value:t,onChange:r=>{e(Sw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(Sw(16))}})}function fde(){const e=te(),{t}=ye(),n=B(r=>r.generation.seamSize);return i.jsx(_t,{label:t("parameters.seamSize"),min:1,max:256,sliderNumberInputProps:{max:512},value:n,onChange:r=>{e(Cw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>e(Cw(96))})}function pde(){const{t:e}=ye(),t=B(r=>r.generation.seamSteps),n=te();return i.jsx(_t,{label:e("parameters.seamSteps"),min:1,max:100,sliderNumberInputProps:{max:999},value:t,onChange:r=>{n(kw(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{n(kw(30))}})}function hde(){const e=te(),{t}=ye(),n=B(r=>r.generation.seamStrength);return i.jsx(_t,{label:t("parameters.seamStrength"),min:.01,max:.99,step:.01,value:n,onChange:r=>{e(_w(r))},withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>{e(_w(.7))}})}const mde=()=>{const{t:e}=ye();return i.jsxs(Mo,{label:e("parameters.seamCorrectionHeader"),children:[i.jsx(fde,{}),i.jsx(dde,{}),i.jsx(hde,{}),i.jsx(pde,{})]})},gde=f.memo(mde),vde=be([lt,lr],({canvas:e,generation:t},n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=t;return{boundingBoxDimensions:r,isStaging:n,aspectRatio:o}},Je),bde=()=>{const e=te(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=B(vde),{t:o}=ye(),s=c=>{if(e(Js({...t,height:Math.floor(c)})),r){const d=ws(c*r,64);e(Js({width:d,height:Math.floor(c)}))}},a=()=>{if(e(Js({...t,height:Math.floor(512)})),r){const c=ws(512*r,64);e(Js({width:c,height:Math.floor(512)}))}};return i.jsx(_t,{label:o("parameters.boundingBoxHeight"),min:64,max:1024,step:64,value:t.height,onChange:s,isDisabled:n,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:a})},yde=f.memo(bde),xde=be([lt,lr],({canvas:e,generation:t},n)=>{const{boundingBoxDimensions:r}=e,{aspectRatio:o}=t;return{boundingBoxDimensions:r,isStaging:n,aspectRatio:o}},Je),wde=()=>{const e=te(),{boundingBoxDimensions:t,isStaging:n,aspectRatio:r}=B(xde),{t:o}=ye(),s=c=>{if(e(Js({...t,width:Math.floor(c)})),r){const d=ws(c/r,64);e(Js({width:Math.floor(c),height:d}))}},a=()=>{if(e(Js({...t,width:Math.floor(512)})),r){const c=ws(512/r,64);e(Js({width:Math.floor(512),height:c}))}};return i.jsx(_t,{label:o("parameters.boundingBoxWidth"),min:64,max:1024,step:64,value:t.width,onChange:s,isDisabled:n,sliderNumberInputProps:{max:4096},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:a})},Sde=f.memo(wde);function __(){const e=te(),{t}=ye();return i.jsxs(W,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[i.jsxs(W,{alignItems:"center",gap:2,children:[i.jsx(Qe,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:t("parameters.aspectRatio")}),i.jsx(ml,{}),i.jsx(zO,{}),i.jsx(ze,{tooltip:t("ui.swapSizes"),"aria-label":t("ui.swapSizes"),size:"sm",icon:i.jsx(vO,{}),fontSize:20,onClick:()=>e(GD())})]}),i.jsx(Sde,{}),i.jsx(yde,{})]})}const Cde=be(lt,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Je),kde=()=>{const{shouldUseSliders:e,activeLabel:t}=B(Cde);return i.jsx(Mo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(W,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(__,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(__,{})]}),i.jsx(KO,{})]})})},_de=f.memo(kde),R8=()=>i.jsxs(i.Fragment,{children:[i.jsx(ix,{}),i.jsx(Yd,{}),i.jsx(_de,{}),i.jsx(sx,{}),i.jsx(Jd,{}),i.jsx(Kd,{}),i.jsx(ax,{}),i.jsx(gde,{}),i.jsx(ude,{}),i.jsx(ox,{})]}),Pde=()=>i.jsxs(W,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(rx,{children:i.jsx(R8,{})}),i.jsx(que,{})]}),jde=f.memo(Pde),Ide=[{id:"txt2img",translationKey:"common.txt2img",icon:i.jsx(fo,{as:WY,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(ile,{})},{id:"img2img",translationKey:"common.img2img",icon:i.jsx(fo,{as:Oc,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(ase,{})},{id:"unifiedCanvas",translationKey:"common.unifiedCanvas",icon:i.jsx(fo,{as:Zee,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(jde,{})},{id:"nodes",translationKey:"common.nodes",icon:i.jsx(fo,{as:Jee,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(rle,{})},{id:"modelManager",translationKey:"modelManager.modelManager",icon:i.jsx(fo,{as:$Y,sx:{boxSize:6,pointerEvents:"none"}}),content:i.jsx(aae,{})}],Ede=be([bO,vo],(e,t)=>{const{disabledTabs:n}=e,{isNodesEnabled:r}=t;return Ide.filter(s=>s.id==="nodes"?r&&!n.includes(s.id):!n.includes(s.id))},{memoizeOptions:{resultEqualityCheck:Zt}}),Ode=350,wv=20,M8=["modelManager"],Rde=()=>{const e=B(qD),t=B(Kn),n=B(Ede),{shouldPinGallery:r,shouldPinParametersPanel:o,shouldShowGallery:s}=B(y=>y.ui),{t:a}=ye(),c=te();tt("f",()=>{c(KD()),(r||o)&&c(ko())},[r,o]);const d=f.useCallback(()=>{t==="unifiedCanvas"&&c(ko())},[c,t]),p=f.useCallback(y=>{y.target instanceof HTMLElement&&y.target.blur()},[]),h=f.useMemo(()=>n.map(y=>i.jsx(vn,{hasArrow:!0,label:String(a(y.translationKey)),placement:"end",children:i.jsxs(kc,{onClick:p,children:[i.jsx(Z5,{children:String(a(y.translationKey))}),y.icon]})},y.id)),[n,a,p]),m=f.useMemo(()=>n.map(y=>i.jsx(Nm,{children:y.content},y.id)),[n]),{ref:v,minSizePct:b}=Ste(Ode,wv,"app"),w=f.useCallback(y=>{const S=XD[y];S&&c(Yl(S))},[c]);return i.jsxs(Ld,{defaultIndex:e,index:e,onChange:w,sx:{flexGrow:1,gap:4},isLazy:!0,children:[i.jsxs(zd,{sx:{pt:2,gap:4,flexDir:"column"},children:[h,i.jsx(ml,{}),i.jsx(ote,{})]}),i.jsxs(Jy,{id:"app",autoSaveId:"app",direction:"horizontal",style:{height:"100%",width:"100%"},children:[i.jsx(md,{id:"main",children:i.jsx($m,{style:{height:"100%",width:"100%"},children:m})}),r&&s&&!M8.includes(t)&&i.jsxs(i.Fragment,{children:[i.jsx(WO,{}),i.jsx(md,{ref:v,onResize:d,id:"gallery",order:3,defaultSize:b>wv&&b<100?b:wv,minSize:b,maxSize:50,children:i.jsx(hO,{})})]})]})]})},Mde=f.memo(Rde),Dde=be([Kn,Ba],(e,t)=>{const{shouldPinGallery:n,shouldShowGallery:r}=t;return{shouldPinGallery:n,shouldShowGalleryButton:M8.includes(e)?!1:!r}},{memoizeOptions:{resultEqualityCheck:Zt}}),Ade=()=>{const{t:e}=ye(),{shouldPinGallery:t,shouldShowGalleryButton:n}=B(Dde),r=te(),o=()=>{r(Av(!0)),t&&r(ko())};return n?i.jsx(ze,{tooltip:"Show Gallery (G)",tooltipProps:{placement:"top"},"aria-label":e("accessibility.showGallery"),onClick:o,sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",p:0,insetInlineEnd:0,px:3,h:48,w:8,borderStartEndRadius:0,borderEndEndRadius:0,shadow:"2xl"},children:i.jsx(ete,{})}):null},Tde=f.memo(Ade),Sv={borderStartStartRadius:0,borderEndStartRadius:0,shadow:"2xl"},Nde=be([Ba,Kn],(e,t)=>{const{shouldPinParametersPanel:n,shouldUseCanvasBetaLayout:r,shouldShowParametersPanel:o}=e,s=r&&t==="unifiedCanvas",a=!s&&(!n||!o),c=!s&&!o&&["txt2img","img2img","unifiedCanvas"].includes(t);return{shouldPinParametersPanel:n,shouldShowParametersPanelButton:c,shouldShowProcessButtons:a}},{memoizeOptions:{resultEqualityCheck:Zt}}),$de=()=>{const e=te(),{t}=ye(),{shouldShowProcessButtons:n,shouldShowParametersPanelButton:r,shouldPinParametersPanel:o}=B(Nde),s=()=>{e(db(!0)),o&&e(ko())};return r?i.jsxs(W,{pos:"absolute",transform:"translate(0, -50%)",minW:8,top:"50%",insetInlineStart:"4.5rem",direction:"column",gap:2,children:[i.jsx(ze,{tooltip:"Show Options Panel (O)",tooltipProps:{placement:"top"},"aria-label":t("accessibility.showOptionsPanel"),onClick:s,sx:Sv,children:i.jsx(wy,{})}),n&&i.jsxs(i.Fragment,{children:[i.jsx(Zy,{iconButton:!0,sx:Sv}),i.jsx(ig,{sx:Sv})]})]}):null},Lde=f.memo($de),zde=be([Ba,Kn],(e,t)=>{const{shouldPinParametersPanel:n,shouldShowParametersPanel:r}=e;return{activeTabName:t,shouldPinParametersPanel:n,shouldShowParametersPanel:r}},Je),Bde=()=>{const e=te(),{shouldPinParametersPanel:t,shouldShowParametersPanel:n,activeTabName:r}=B(zde),o=()=>{e(db(!1))},s=B(c=>c.generation.model),a=f.useMemo(()=>r==="txt2img"?s&&s.base_model==="sdxl"?i.jsx(p8,{}):i.jsx(h8,{}):r==="img2img"?s&&s.base_model==="sdxl"?i.jsx(FO,{}):i.jsx(XO,{}):r==="unifiedCanvas"?i.jsx(R8,{}):null,[r,s]);return t?null:i.jsx(GI,{direction:"left",isResizable:!1,isOpen:n,onClose:o,children:i.jsxs(W,{sx:{flexDir:"column",h:"full",w:tx,gap:2,position:"relative",flexShrink:0,overflowY:"auto"},children:[i.jsxs(W,{paddingBottom:4,justifyContent:"space-between",alignItems:"center",children:[i.jsx(gO,{}),i.jsx(HO,{})]}),i.jsx(W,{sx:{gap:2,flexDirection:"column",h:"full",w:"full"},children:a})]})})},Fde=f.memo(Bde),Hde=be([e=>e.hotkeys,e=>e.ui],(e,t)=>{const{shift:n}=e,{shouldPinParametersPanel:r,shouldPinGallery:o}=t;return{shift:n,shouldPinGallery:o,shouldPinParametersPanel:r}},{memoizeOptions:{resultEqualityCheck:Zt}}),Wde=()=>{const e=te(),{shift:t,shouldPinParametersPanel:n,shouldPinGallery:r}=B(Hde),o=B(Kn);return tt("*",()=>{mP("shift")?!t&&e(jo(!0)):t&&e(jo(!1))},{keyup:!0,keydown:!0},[t]),tt("o",()=>{e(YD()),o==="unifiedCanvas"&&n&&e(ko())}),tt(["shift+o"],()=>{e(QD()),o==="unifiedCanvas"&&e(ko())}),tt("g",()=>{e(JD()),o==="unifiedCanvas"&&r&&e(ko())}),tt(["shift+g"],()=>{e(G_()),o==="unifiedCanvas"&&e(ko())}),tt("1",()=>{e(Yl("txt2img"))}),tt("2",()=>{e(Yl("img2img"))}),tt("3",()=>{e(Yl("unifiedCanvas"))}),tt("4",()=>{e(Yl("nodes"))}),null},Vde=f.memo(Wde),Ude={},Gde=({config:e=Ude,headerComponent:t})=>{const n=B(rP),r=OF(),o=te();return f.useEffect(()=>{Bn.changeLanguage(n)},[n]),f.useEffect(()=>{o5(e)&&(r.info({namespace:"App",config:e},"Received config"),o(ZD(e)))},[o,e,r]),f.useEffect(()=>{o(e9())},[o]),i.jsxs(i.Fragment,{children:[i.jsxs(sl,{w:"100vw",h:"100vh",position:"relative",overflow:"hidden",children:[i.jsx(FH,{children:i.jsxs(sl,{sx:{gap:4,p:4,gridAutoRows:"min-content auto",w:"full",h:"full"},children:[t||i.jsx(Yee,{}),i.jsx(W,{sx:{gap:4,w:"full",h:"full"},children:i.jsx(Mde,{})})]})}),i.jsx(Iee,{}),i.jsx(Fde,{}),i.jsx(Zu,{children:i.jsx(Lde,{})}),i.jsx(Zu,{children:i.jsx(Tde,{})})]}),i.jsx(sY,{}),i.jsx(eY,{}),i.jsx(RF,{}),i.jsx(Vde,{})]})},Jde=f.memo(Gde);export{Jde as default}; diff --git a/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-31ab5c15.js b/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-6fe89879.js similarity index 99% rename from invokeai/frontend/web/dist/assets/ThemeLocaleProvider-31ab5c15.js rename to invokeai/frontend/web/dist/assets/ThemeLocaleProvider-6fe89879.js index b069480c3f..6f86cc3e56 100644 --- a/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-31ab5c15.js +++ b/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-6fe89879.js @@ -1,4 +1,4 @@ -import{B as m,g7 as Je,A as y,a5 as Ka,g8 as Xa,af as va,aj as d,g9 as b,ga as t,gb as Ya,gc as h,gd as ua,ge as Ja,gf as Qa,aL as Za,gg as et,ad as rt,gh as at}from"./index-de589048.js";import{s as fa,n as o,t as tt,o as ha,p as ot,q as ma,v as ga,w as ya,x as it,y as Sa,z as pa,A as xr,B as nt,D as lt,E as st,F as xa,G as $a,H as ka,J as dt,K as _a,L as ct,M as bt,N as vt,O as ut,Q as wa,R as ft,S as ht,T as mt,U as gt,V as yt,W as St,e as pt,X as xt}from"./menu-11348abc.js";var za=String.raw,Ca=za` +import{B as m,g7 as Je,A as y,a5 as Ka,g8 as Xa,af as va,aj as d,g9 as b,ga as t,gb as Ya,gc as h,gd as ua,ge as Ja,gf as Qa,aL as Za,gg as et,ad as rt,gh as at}from"./index-dd054634.js";import{s as fa,n as o,t as tt,o as ha,p as ot,q as ma,v as ga,w as ya,x as it,y as Sa,z as pa,A as xr,B as nt,D as lt,E as st,F as xa,G as $a,H as ka,J as dt,K as _a,L as ct,M as bt,N as vt,O as ut,Q as wa,R as ft,S as ht,T as mt,U as gt,V as yt,W as St,e as pt,X as xt}from"./menu-b42141e3.js";var za=String.raw,Ca=za` :root, :host { --chakra-vh: 100vh; diff --git a/invokeai/frontend/web/dist/assets/index-dd054634.js b/invokeai/frontend/web/dist/assets/index-dd054634.js new file mode 100644 index 0000000000..fbca2591d7 --- /dev/null +++ b/invokeai/frontend/web/dist/assets/index-dd054634.js @@ -0,0 +1,151 @@ +function b7(e,t){for(var n=0;nr[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();var He=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function dc(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function WY(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}),n}var S7={exports:{}},x_={},w7={exports:{}},ft={};/** + * @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 Yg=Symbol.for("react.element"),qY=Symbol.for("react.portal"),KY=Symbol.for("react.fragment"),XY=Symbol.for("react.strict_mode"),YY=Symbol.for("react.profiler"),QY=Symbol.for("react.provider"),ZY=Symbol.for("react.context"),JY=Symbol.for("react.forward_ref"),eQ=Symbol.for("react.suspense"),tQ=Symbol.for("react.memo"),nQ=Symbol.for("react.lazy"),CP=Symbol.iterator;function rQ(e){return e===null||typeof e!="object"?null:(e=CP&&e[CP]||e["@@iterator"],typeof e=="function"?e:null)}var x7={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C7=Object.assign,T7={};function Lf(e,t,n){this.props=e,this.context=t,this.refs=T7,this.updater=n||x7}Lf.prototype.isReactComponent={};Lf.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)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")};Lf.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function E7(){}E7.prototype=Lf.prototype;function Y5(e,t,n){this.props=e,this.context=t,this.refs=T7,this.updater=n||x7}var Q5=Y5.prototype=new E7;Q5.constructor=Y5;C7(Q5,Lf.prototype);Q5.isPureReactComponent=!0;var TP=Array.isArray,A7=Object.prototype.hasOwnProperty,Z5={current:null},P7={key:!0,ref:!0,__self:!0,__source:!0};function R7(e,t,n){var r,i={},o=null,s=null;if(t!=null)for(r in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(o=""+t.key),t)A7.call(t,r)&&!P7.hasOwnProperty(r)&&(i[r]=t[r]);var a=arguments.length-2;if(a===1)i.children=n;else if(1>>1,Z=D[q];if(0>>1;qi(se,j))lei(W,se)?(D[q]=W,D[le]=j,q=le):(D[q]=se,D[ie]=j,q=ie);else if(lei(W,j))D[q]=W,D[le]=j,q=le;else break e}}return V}function i(D,V){var j=D.sortIndex-V.sortIndex;return j!==0?j:D.id-V.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var s=Date,a=s.now();e.unstable_now=function(){return s.now()-a}}var l=[],u=[],d=1,f=null,p=3,g=!1,m=!1,v=!1,x=typeof setTimeout=="function"?setTimeout:null,_=typeof clearTimeout=="function"?clearTimeout:null,b=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(D){for(var V=n(u);V!==null;){if(V.callback===null)r(u);else if(V.startTime<=D)r(u),V.sortIndex=V.expirationTime,t(l,V);else break;V=n(u)}}function S(D){if(v=!1,y(D),!m)if(n(l)!==null)m=!0,F(C);else{var V=n(u);V!==null&&B(S,V.startTime-D)}}function C(D,V){m=!1,v&&(v=!1,_(P),P=-1),g=!0;var j=p;try{for(y(V),f=n(l);f!==null&&(!(f.expirationTime>V)||D&&!M());){var q=f.callback;if(typeof q=="function"){f.callback=null,p=f.priorityLevel;var Z=q(f.expirationTime<=V);V=e.unstable_now(),typeof Z=="function"?f.callback=Z:f===n(l)&&r(l),y(V)}else r(l);f=n(l)}if(f!==null)var ee=!0;else{var ie=n(u);ie!==null&&B(S,ie.startTime-V),ee=!1}return ee}finally{f=null,p=j,g=!1}}var T=!1,E=null,P=-1,k=5,O=-1;function M(){return!(e.unstable_now()-OD||125q?(D.sortIndex=j,t(u,D),n(l)===null&&D===n(u)&&(v?(_(P),P=-1):v=!0,B(S,j-q))):(D.sortIndex=Z,t(l,D),m||g||(m=!0,F(C))),D},e.unstable_shouldYield=M,e.unstable_wrapCallback=function(D){var V=p;return function(){var j=p;p=V;try{return D.apply(this,arguments)}finally{p=j}}}})(M7);I7.exports=M7;var pQ=I7.exports;/** + * @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. + */var N7=L,Wi=pQ;function ge(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"),mC=Object.prototype.hasOwnProperty,gQ=/^[: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]*$/,PP={},RP={};function mQ(e){return mC.call(RP,e)?!0:mC.call(PP,e)?!1:gQ.test(e)?RP[e]=!0:(PP[e]=!0,!1)}function yQ(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function vQ(e,t,n,r){if(t===null||typeof t>"u"||yQ(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function ci(e,t,n,r,i,o,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=s}var kr={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){kr[e]=new ci(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];kr[t]=new ci(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){kr[e]=new ci(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){kr[e]=new ci(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){kr[e]=new ci(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){kr[e]=new ci(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){kr[e]=new ci(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){kr[e]=new ci(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){kr[e]=new ci(e,5,!1,e.toLowerCase(),null,!1,!1)});var e4=/[\-:]([a-z])/g;function t4(e){return e[1].toUpperCase()}"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(e4,t4);kr[t]=new ci(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(e4,t4);kr[t]=new ci(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(e4,t4);kr[t]=new ci(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){kr[e]=new ci(e,1,!1,e.toLowerCase(),null,!1,!1)});kr.xlinkHref=new ci("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){kr[e]=new ci(e,1,!1,e.toLowerCase(),null,!0,!0)});function n4(e,t,n,r){var i=kr.hasOwnProperty(t)?kr[t]:null;(i!==null?i.type!==0:r||!(2a||i[s]!==o[a]){var l=` +`+i[s].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=s&&0<=a);break}}}finally{Pw=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?sp(e):""}function _Q(e){switch(e.tag){case 5:return sp(e.type);case 16:return sp("Lazy");case 13:return sp("Suspense");case 19:return sp("SuspenseList");case 0:case 2:case 15:return e=Rw(e.type,!1),e;case 11:return e=Rw(e.type.render,!1),e;case 1:return e=Rw(e.type,!0),e;default:return""}}function bC(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Cd:return"Fragment";case xd:return"Portal";case yC:return"Profiler";case r4:return"StrictMode";case vC:return"Suspense";case _C:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case $7:return(e.displayName||"Context")+".Consumer";case D7:return(e._context.displayName||"Context")+".Provider";case i4:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case o4:return t=e.displayName||null,t!==null?t:bC(e.type)||"Memo";case ll:t=e._payload,e=e._init;try{return bC(e(t))}catch{}}return null}function bQ(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=t.render,e=e.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 bC(t);case 8:return t===r4?"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(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ll(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function B7(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function SQ(e){var t=B7(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){r=""+s,o.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]}}}}function Yy(e){e._valueTracker||(e._valueTracker=SQ(e))}function U7(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=B7(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Mv(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function SC(e,t){var n=t.checked;return bn({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function kP(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Ll(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function z7(e,t){t=t.checked,t!=null&&n4(e,"checked",t,!1)}function wC(e,t){z7(e,t);var n=Ll(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?xC(e,t.type,n):t.hasOwnProperty("defaultValue")&&xC(e,t.type,Ll(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function IP(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function xC(e,t,n){(t!=="number"||Mv(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var ap=Array.isArray;function zd(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=Qy.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Fp(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var mp={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},wQ=["Webkit","ms","Moz","O"];Object.keys(mp).forEach(function(e){wQ.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),mp[t]=mp[e]})});function H7(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||mp.hasOwnProperty(e)&&mp[e]?(""+t).trim():t+"px"}function W7(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=H7(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var xQ=bn({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 EC(e,t){if(t){if(xQ[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(ge(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(ge(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(ge(61))}if(t.style!=null&&typeof t.style!="object")throw Error(ge(62))}}function AC(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";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 PC=null;function s4(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var RC=null,Vd=null,jd=null;function LP(e){if(e=Jg(e)){if(typeof RC!="function")throw Error(ge(280));var t=e.stateNode;t&&(t=P_(t),RC(e.stateNode,e.type,t))}}function q7(e){Vd?jd?jd.push(e):jd=[e]:Vd=e}function K7(){if(Vd){var e=Vd,t=jd;if(jd=Vd=null,LP(e),t)for(e=0;e>>=0,e===0?32:31-(NQ(e)/LQ|0)|0}var Zy=64,Jy=4194304;function lp(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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function $v(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,s=n&268435455;if(s!==0){var a=s&~i;a!==0?r=lp(a):(o&=s,o!==0&&(r=lp(o)))}else s=n&~i,s!==0?r=lp(s):o!==0&&(r=lp(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Qg(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Wo(t),e[t]=n}function BQ(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=vp),GP=String.fromCharCode(32),HP=!1;function pM(e,t){switch(e){case"keyup":return hZ.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function gM(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Td=!1;function gZ(e,t){switch(e){case"compositionend":return gM(t);case"keypress":return t.which!==32?null:(HP=!0,GP);case"textInput":return e=t.data,e===GP&&HP?null:e;default:return null}}function mZ(e,t){if(Td)return e==="compositionend"||!p4&&pM(e,t)?(e=fM(),J0=d4=vl=null,Td=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=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=XP(n)}}function _M(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?_M(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function bM(){for(var e=window,t=Mv();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Mv(e.document)}return t}function g4(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function TZ(e){var t=bM(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&_M(n.ownerDocument.documentElement,n)){if(r!==null&&g4(n)){if(t=r.start,e=r.end,e===void 0&&(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,e.getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=r.end===void 0?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=YP(n,o);var s=YP(n,r);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>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;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Ed=null,LC=null,bp=null,DC=!1;function QP(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;DC||Ed==null||Ed!==Mv(r)||(r=Ed,"selectionStart"in r&&g4(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),bp&&Gp(bp,r)||(bp=r,r=Uv(LC,"onSelect"),0Rd||(e.current=VC[Rd],VC[Rd]=null,Rd--)}function Zt(e,t){Rd++,VC[Rd]=e.current,e.current=t}var Dl={},Hr=Ql(Dl),Ci=Ql(!1),Yu=Dl;function df(e,t){var n=e.type.contextTypes;if(!n)return Dl;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Ti(e){return e=e.childContextTypes,e!=null}function Vv(){rn(Ci),rn(Hr)}function i8(e,t,n){if(Hr.current!==Dl)throw Error(ge(168));Zt(Hr,t),Zt(Ci,n)}function RM(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(ge(108,bQ(e)||"Unknown",i));return bn({},n,r)}function jv(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Dl,Yu=Hr.current,Zt(Hr,e),Zt(Ci,Ci.current),!0}function o8(e,t,n){var r=e.stateNode;if(!r)throw Error(ge(169));n?(e=RM(e,t,Yu),r.__reactInternalMemoizedMergedChildContext=e,rn(Ci),rn(Hr),Zt(Hr,e)):rn(Ci),Zt(Ci,n)}var ca=null,R_=!1,jw=!1;function OM(e){ca===null?ca=[e]:ca.push(e)}function $Z(e){R_=!0,OM(e)}function Zl(){if(!jw&&ca!==null){jw=!0;var e=0,t=Dt;try{var n=ca;for(Dt=1;e>=s,i-=s,pa=1<<32-Wo(t)+i|n<P?(k=E,E=null):k=E.sibling;var O=p(_,E,y[P],S);if(O===null){E===null&&(E=k);break}e&&E&&O.alternate===null&&t(_,E),b=o(O,b,P),T===null?C=O:T.sibling=O,T=O,E=k}if(P===y.length)return n(_,E),cn&&Tu(_,P),C;if(E===null){for(;PP?(k=E,E=null):k=E.sibling;var M=p(_,E,O.value,S);if(M===null){E===null&&(E=k);break}e&&E&&M.alternate===null&&t(_,E),b=o(M,b,P),T===null?C=M:T.sibling=M,T=M,E=k}if(O.done)return n(_,E),cn&&Tu(_,P),C;if(E===null){for(;!O.done;P++,O=y.next())O=f(_,O.value,S),O!==null&&(b=o(O,b,P),T===null?C=O:T.sibling=O,T=O);return cn&&Tu(_,P),C}for(E=r(_,E);!O.done;P++,O=y.next())O=g(E,_,P,O.value,S),O!==null&&(e&&O.alternate!==null&&E.delete(O.key===null?P:O.key),b=o(O,b,P),T===null?C=O:T.sibling=O,T=O);return e&&E.forEach(function(G){return t(_,G)}),cn&&Tu(_,P),C}function x(_,b,y,S){if(typeof y=="object"&&y!==null&&y.type===Cd&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case Xy:e:{for(var C=y.key,T=b;T!==null;){if(T.key===C){if(C=y.type,C===Cd){if(T.tag===7){n(_,T.sibling),b=i(T,y.props.children),b.return=_,_=b;break e}}else if(T.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===ll&&f8(C)===T.type){n(_,T.sibling),b=i(T,y.props),b.ref=$h(_,T,y),b.return=_,_=b;break e}n(_,T);break}else t(_,T);T=T.sibling}y.type===Cd?(b=Vu(y.props.children,_.mode,S,y.key),b.return=_,_=b):(S=av(y.type,y.key,y.props,null,_.mode,S),S.ref=$h(_,b,y),S.return=_,_=S)}return s(_);case xd:e:{for(T=y.key;b!==null;){if(b.key===T)if(b.tag===4&&b.stateNode.containerInfo===y.containerInfo&&b.stateNode.implementation===y.implementation){n(_,b.sibling),b=i(b,y.children||[]),b.return=_,_=b;break e}else{n(_,b);break}else t(_,b);b=b.sibling}b=Qw(y,_.mode,S),b.return=_,_=b}return s(_);case ll:return T=y._init,x(_,b,T(y._payload),S)}if(ap(y))return m(_,b,y,S);if(Ih(y))return v(_,b,y,S);s0(_,y)}return typeof y=="string"&&y!==""||typeof y=="number"?(y=""+y,b!==null&&b.tag===6?(n(_,b.sibling),b=i(b,y),b.return=_,_=b):(n(_,b),b=Yw(y,_.mode,S),b.return=_,_=b),s(_)):n(_,b)}return x}var hf=FM(!0),BM=FM(!1),em={},As=Ql(em),Kp=Ql(em),Xp=Ql(em);function Lu(e){if(e===em)throw Error(ge(174));return e}function C4(e,t){switch(Zt(Xp,t),Zt(Kp,e),Zt(As,em),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:TC(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=TC(t,e)}rn(As),Zt(As,t)}function pf(){rn(As),rn(Kp),rn(Xp)}function UM(e){Lu(Xp.current);var t=Lu(As.current),n=TC(t,e.type);t!==n&&(Zt(Kp,e),Zt(As,n))}function T4(e){Kp.current===e&&(rn(As),rn(Kp))}var mn=Ql(0);function Xv(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Gw=[];function E4(){for(var e=0;en?n:4,e(!0);var r=Hw.transition;Hw.transition={};try{e(!1),t()}finally{Dt=n,Hw.transition=r}}function nN(){return wo().memoizedState}function zZ(e,t,n){var r=Pl(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},rN(e))iN(t,n);else if(n=NM(e,t,n,r),n!==null){var i=oi();qo(n,e,r,i),oN(n,t,r)}}function VZ(e,t,n){var r=Pl(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(rN(e))iN(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var s=t.lastRenderedState,a=o(s,n);if(i.hasEagerState=!0,i.eagerState=a,Zo(a,s)){var l=t.interleaved;l===null?(i.next=i,w4(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=NM(e,t,i,r),n!==null&&(i=oi(),qo(n,e,r,i),oN(n,t,r))}}function rN(e){var t=e.alternate;return e===_n||t!==null&&t===_n}function iN(e,t){Sp=Yv=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function oN(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,l4(e,n)}}var Qv={readContext:So,useCallback:$r,useContext:$r,useEffect:$r,useImperativeHandle:$r,useInsertionEffect:$r,useLayoutEffect:$r,useMemo:$r,useReducer:$r,useRef:$r,useState:$r,useDebugValue:$r,useDeferredValue:$r,useTransition:$r,useMutableSource:$r,useSyncExternalStore:$r,useId:$r,unstable_isNewReconciler:!1},jZ={readContext:So,useCallback:function(e,t){return hs().memoizedState=[e,t===void 0?null:t],e},useContext:So,useEffect:p8,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,rv(4194308,4,QM.bind(null,t,e),n)},useLayoutEffect:function(e,t){return rv(4194308,4,e,t)},useInsertionEffect:function(e,t){return rv(4,2,e,t)},useMemo:function(e,t){var n=hs();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=hs();return t=n!==void 0?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=zZ.bind(null,_n,e),[r.memoizedState,e]},useRef:function(e){var t=hs();return e={current:e},t.memoizedState=e},useState:h8,useDebugValue:k4,useDeferredValue:function(e){return hs().memoizedState=e},useTransition:function(){var e=h8(!1),t=e[0];return e=UZ.bind(null,e[1]),hs().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=_n,i=hs();if(cn){if(n===void 0)throw Error(ge(407));n=n()}else{if(n=t(),pr===null)throw Error(ge(349));Zu&30||jM(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,p8(HM.bind(null,r,o,e),[e]),r.flags|=2048,Zp(9,GM.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=hs(),t=pr.identifierPrefix;if(cn){var n=ga,r=pa;n=(r&~(1<<32-Wo(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Yp++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[_s]=t,e[qp]=r,pN(e,t,!1,!1),t.stateNode=e;e:{switch(s=AC(n,r),n){case"dialog":en("cancel",e),en("close",e),i=r;break;case"iframe":case"object":case"embed":en("load",e),i=r;break;case"video":case"audio":for(i=0;imf&&(t.flags|=128,r=!0,Fh(o,!1),t.lanes=4194304)}else{if(!r)if(e=Xv(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Fh(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!cn)return Fr(t),null}else 2*Mn()-o.renderingStartTime>mf&&n!==1073741824&&(t.flags|=128,r=!0,Fh(o,!1),t.lanes=4194304);o.isBackwards?(s.sibling=t.child,t.child=s):(n=o.last,n!==null?n.sibling=s:t.child=s,o.last=s)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Mn(),t.sibling=null,n=mn.current,Zt(mn,r?n&1|2:n&1),t):(Fr(t),null);case 22:case 23:return $4(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?zi&1073741824&&(Fr(t),t.subtreeFlags&6&&(t.flags|=8192)):Fr(t),null;case 24:return null;case 25:return null}throw Error(ge(156,t.tag))}function QZ(e,t){switch(y4(t),t.tag){case 1:return Ti(t.type)&&Vv(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return pf(),rn(Ci),rn(Hr),E4(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return T4(t),null;case 13:if(rn(mn),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(ge(340));ff()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return rn(mn),null;case 4:return pf(),null;case 10:return S4(t.type._context),null;case 22:case 23:return $4(),null;case 24:return null;default:return null}}var l0=!1,jr=!1,ZZ=typeof WeakSet=="function"?WeakSet:Set,Ae=null;function Md(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Tn(e,t,r)}else n.current=null}function e3(e,t,n){try{n()}catch(r){Tn(e,t,r)}}var x8=!1;function JZ(e,t){if($C=Fv,e=bM(),g4(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,a=-1,l=-1,u=0,d=0,f=e,p=null;t:for(;;){for(var g;f!==n||i!==0&&f.nodeType!==3||(a=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(g=f.firstChild)!==null;)p=f,f=g;for(;;){if(f===e)break t;if(p===n&&++u===i&&(a=s),p===o&&++d===r&&(l=s),(g=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=g}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(FC={focusedElem:e,selectionRange:n},Fv=!1,Ae=t;Ae!==null;)if(t=Ae,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Ae=e;else for(;Ae!==null;){t=Ae;try{var m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var v=m.memoizedProps,x=m.memoizedState,_=t.stateNode,b=_.getSnapshotBeforeUpdate(t.elementType===t.type?v:Fo(t.type,v),x);_.__reactInternalSnapshotBeforeUpdate=b}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent="":y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(ge(163))}}catch(S){Tn(t,t.return,S)}if(e=t.sibling,e!==null){e.return=t.return,Ae=e;break}Ae=t.return}return m=x8,x8=!1,m}function wp(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&e3(t,n,o)}i=i.next}while(i!==r)}}function I_(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==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 t3(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function yN(e){var t=e.alternate;t!==null&&(e.alternate=null,yN(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[_s],delete t[qp],delete t[zC],delete t[LZ],delete t[DZ])),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 vN(e){return e.tag===5||e.tag===3||e.tag===4}function C8(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||vN(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function n3(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=zv));else if(r!==4&&(e=e.child,e!==null))for(n3(e,t,n),e=e.sibling;e!==null;)n3(e,t,n),e=e.sibling}function r3(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(r3(e,t,n),e=e.sibling;e!==null;)r3(e,t,n),e=e.sibling}var Ar=null,Uo=!1;function tl(e,t,n){for(n=n.child;n!==null;)_N(e,t,n),n=n.sibling}function _N(e,t,n){if(Es&&typeof Es.onCommitFiberUnmount=="function")try{Es.onCommitFiberUnmount(C_,n)}catch{}switch(n.tag){case 5:jr||Md(n,t);case 6:var r=Ar,i=Uo;Ar=null,tl(e,t,n),Ar=r,Uo=i,Ar!==null&&(Uo?(e=Ar,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Ar.removeChild(n.stateNode));break;case 18:Ar!==null&&(Uo?(e=Ar,n=n.stateNode,e.nodeType===8?Vw(e.parentNode,n):e.nodeType===1&&Vw(e,n),Vp(e)):Vw(Ar,n.stateNode));break;case 4:r=Ar,i=Uo,Ar=n.stateNode.containerInfo,Uo=!0,tl(e,t,n),Ar=r,Uo=i;break;case 0:case 11:case 14:case 15:if(!jr&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,s=o.destroy;o=o.tag,s!==void 0&&(o&2||o&4)&&e3(n,t,s),i=i.next}while(i!==r)}tl(e,t,n);break;case 1:if(!jr&&(Md(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){Tn(n,t,a)}tl(e,t,n);break;case 21:tl(e,t,n);break;case 22:n.mode&1?(jr=(r=jr)||n.memoizedState!==null,tl(e,t,n),jr=r):tl(e,t,n);break;default:tl(e,t,n)}}function T8(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new ZZ),t.forEach(function(r){var i=lJ.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Lo(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~o}if(r=i,r=Mn()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*tJ(r/1960))-r,10e?16:e,_l===null)var r=!1;else{if(e=_l,_l=null,e1=0,vt&6)throw Error(ge(331));var i=vt;for(vt|=4,Ae=e.current;Ae!==null;){var o=Ae,s=o.child;if(Ae.flags&16){var a=o.deletions;if(a!==null){for(var l=0;lMn()-L4?zu(e,0):N4|=n),Ei(e,t)}function AN(e,t){t===0&&(e.mode&1?(t=Jy,Jy<<=1,!(Jy&130023424)&&(Jy=4194304)):t=1);var n=oi();e=Aa(e,t),e!==null&&(Qg(e,t,n),Ei(e,n))}function aJ(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),AN(e,n)}function lJ(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(ge(314))}r!==null&&r.delete(t),AN(e,n)}var PN;PN=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Ci.current)Si=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Si=!1,XZ(e,t,n);Si=!!(e.flags&131072)}else Si=!1,cn&&t.flags&1048576&&kM(t,Hv,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;iv(e,t),e=t.pendingProps;var i=df(t,Hr.current);Hd(t,n),i=P4(null,t,r,e,i,n);var o=R4();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ti(r)?(o=!0,jv(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,x4(t),i.updater=O_,t.stateNode=i,i._reactInternals=t,qC(t,r,e,n),t=YC(null,t,r,!0,o,n)):(t.tag=0,cn&&o&&m4(t),ri(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(iv(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=cJ(r),e=Fo(r,e),i){case 0:t=XC(null,t,r,e,n);break e;case 1:t=b8(null,t,r,e,n);break e;case 11:t=v8(null,t,r,e,n);break e;case 14:t=_8(null,t,r,Fo(r.type,e),n);break e}throw Error(ge(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fo(r,i),XC(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fo(r,i),b8(e,t,r,i,n);case 3:e:{if(dN(t),e===null)throw Error(ge(387));r=t.pendingProps,o=t.memoizedState,i=o.element,LM(e,t),Kv(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=gf(Error(ge(423)),t),t=S8(e,t,r,n,i);break e}else if(r!==i){i=gf(Error(ge(424)),t),t=S8(e,t,r,n,i);break e}else for(ji=Tl(t.stateNode.containerInfo.firstChild),Gi=t,cn=!0,Vo=null,n=BM(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(ff(),r===i){t=Pa(e,t,n);break e}ri(e,t,r,n)}t=t.child}return t;case 5:return UM(t),e===null&&GC(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,s=i.children,BC(r,i)?s=null:o!==null&&BC(r,o)&&(t.flags|=32),cN(e,t),ri(e,t,s,n),t.child;case 6:return e===null&&GC(t),null;case 13:return fN(e,t,n);case 4:return C4(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=hf(t,null,r,n):ri(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fo(r,i),v8(e,t,r,i,n);case 7:return ri(e,t,t.pendingProps,n),t.child;case 8:return ri(e,t,t.pendingProps.children,n),t.child;case 12:return ri(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,s=i.value,Zt(Wv,r._currentValue),r._currentValue=s,o!==null)if(Zo(o.value,s)){if(o.children===i.children&&!Ci.current){t=Pa(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var a=o.dependencies;if(a!==null){s=o.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=va(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),HC(o.return,n,t),a.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(ge(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),HC(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}ri(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Hd(t,n),i=So(i),r=r(i),t.flags|=1,ri(e,t,r,n),t.child;case 14:return r=t.type,i=Fo(r,t.pendingProps),i=Fo(r.type,i),_8(e,t,r,i,n);case 15:return lN(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fo(r,i),iv(e,t),t.tag=1,Ti(r)?(e=!0,jv(t)):e=!1,Hd(t,n),$M(t,r,i),qC(t,r,i,n),YC(null,t,r,!0,e,n);case 19:return hN(e,t,n);case 22:return uN(e,t,n)}throw Error(ge(156,t.tag))};function RN(e,t){return tM(e,t)}function uJ(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 vo(e,t,n,r){return new uJ(e,t,n,r)}function B4(e){return e=e.prototype,!(!e||!e.isReactComponent)}function cJ(e){if(typeof e=="function")return B4(e)?1:0;if(e!=null){if(e=e.$$typeof,e===i4)return 11;if(e===o4)return 14}return 2}function Rl(e,t){var n=e.alternate;return n===null?(n=vo(e.tag,t,e.key,e.mode),n.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=e.flags&14680064,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=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function av(e,t,n,r,i,o){var s=2;if(r=e,typeof e=="function")B4(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case Cd:return Vu(n.children,i,o,t);case r4:s=8,i|=8;break;case yC:return e=vo(12,n,t,i|2),e.elementType=yC,e.lanes=o,e;case vC:return e=vo(13,n,t,i),e.elementType=vC,e.lanes=o,e;case _C:return e=vo(19,n,t,i),e.elementType=_C,e.lanes=o,e;case F7:return N_(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case D7:s=10;break e;case $7:s=9;break e;case i4:s=11;break e;case o4:s=14;break e;case ll:s=16,r=null;break e}throw Error(ge(130,e==null?e:typeof e,""))}return t=vo(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function Vu(e,t,n,r){return e=vo(7,e,r,t),e.lanes=n,e}function N_(e,t,n,r){return e=vo(22,e,r,t),e.elementType=F7,e.lanes=n,e.stateNode={isHidden:!1},e}function Yw(e,t,n){return e=vo(6,e,null,t),e.lanes=n,e}function Qw(e,t,n){return t=vo(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function dJ(e,t,n,r,i){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=kw(0),this.expirationTimes=kw(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=kw(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function U4(e,t,n,r,i,o,s,a,l){return e=new dJ(e,t,n,a,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=vo(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},x4(o),e}function fJ(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(MN)}catch(e){console.error(e)}}MN(),k7.exports=Yi;var bs=k7.exports;const Y9e=dc(bs);var M8=bs;gC.createRoot=M8.createRoot,gC.hydrateRoot=M8.hydrateRoot;const yJ="modulepreload",vJ=function(e,t){return new URL(e,t).href},N8={},NN=function(t,n,r){if(!n||n.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=vJ(o,r),o in N8)return;N8[o]=!0;const s=o.endsWith(".css"),a=s?'[rel="stylesheet"]':"";if(!!r)for(let d=i.length-1;d>=0;d--){const f=i[d];if(f.href===o&&(!s||f.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${a}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":yJ,s||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),s)return new Promise((d,f)=>{u.addEventListener("load",d),u.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t()).catch(o=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o})};function hr(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:B_(e)?2:U_(e)?3:0}function Ol(e,t){return $l(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function lv(e,t){return $l(e)===2?e.get(t):e[t]}function LN(e,t,n){var r=$l(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function DN(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function B_(e){return CJ&&e instanceof Map}function U_(e){return TJ&&e instanceof Set}function lr(e){return e.o||e.t}function H4(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=FN(e);delete t[Xe];for(var n=Kd(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=_J),Object.freeze(e),t&&Ra(e,function(n,r){return tm(r,!0)},!0)),e}function _J(){hr(2)}function W4(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function Ps(e){var t=u3[e];return t||hr(18,e),t}function q4(e,t){u3[e]||(u3[e]=t)}function eg(){return ng}function Zw(e,t){t&&(Ps("Patches"),e.u=[],e.s=[],e.v=t)}function r1(e){l3(e),e.p.forEach(bJ),e.p=null}function l3(e){e===ng&&(ng=e.l)}function L8(e){return ng={p:[],l:ng,h:e,m:!0,_:0}}function bJ(e){var t=e[Xe];t.i===0||t.i===1?t.j():t.g=!0}function Jw(e,t){t._=t.p.length;var n=t.p[0],r=e!==void 0&&e!==n;return t.h.O||Ps("ES5").S(t,e,r),r?(n[Xe].P&&(r1(t),hr(4)),Ai(e)&&(e=i1(t,e),t.l||o1(t,e)),t.u&&Ps("Patches").M(n[Xe].t,e,t.u,t.s)):e=i1(t,n,[]),r1(t),t.u&&t.v(t.u,t.s),e!==V_?e:void 0}function i1(e,t,n){if(W4(t))return t;var r=t[Xe];if(!r)return Ra(t,function(a,l){return D8(e,r,t,a,l,n)},!0),t;if(r.A!==e)return t;if(!r.P)return o1(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=r.i===4||r.i===5?r.o=H4(r.k):r.o,o=i,s=!1;r.i===3&&(o=new Set(i),i.clear(),s=!0),Ra(o,function(a,l){return D8(e,r,i,a,l,n,s)}),o1(e,i,!1),n&&e.u&&Ps("Patches").N(r,n,e.u,e.s)}return r.o}function D8(e,t,n,r,i,o,s){if(ai(i)){var a=i1(e,i,o&&t&&t.i!==3&&!Ol(t.R,r)?o.concat(r):void 0);if(LN(n,r,a),!ai(a))return;e.m=!1}else s&&n.add(i);if(Ai(i)&&!W4(i)){if(!e.h.D&&e._<1)return;i1(e,i),t&&t.A.l||o1(e,i)}}function o1(e,t,n){n===void 0&&(n=!1),!e.l&&e.h.D&&e.m&&tm(t,n)}function ex(e,t){var n=e[Xe];return(n?lr(n):e)[t]}function $8(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function bi(e){e.P||(e.P=!0,e.l&&bi(e.l))}function tx(e){e.o||(e.o=H4(e.t))}function tg(e,t,n){var r=B_(t)?Ps("MapSet").F(t,n):U_(t)?Ps("MapSet").T(t,n):e.O?function(i,o){var s=Array.isArray(i),a={i:s?1:0,A:o?o.A:eg(),P:!1,I:!1,R:{},l:o,t:i,k:null,o:null,j:null,C:!1},l=a,u=rg;s&&(l=[a],u=cp);var d=Proxy.revocable(l,u),f=d.revoke,p=d.proxy;return a.k=p,a.j=f,p}(t,n):Ps("ES5").J(t,n);return(n?n.A:eg()).p.push(r),r}function z_(e){return ai(e)||hr(22,e),function t(n){if(!Ai(n))return n;var r,i=n[Xe],o=$l(n);if(i){if(!i.P&&(i.i<4||!Ps("ES5").K(i)))return i.t;i.I=!0,r=F8(n,o),i.I=!1}else r=F8(n,o);return Ra(r,function(s,a){i&&lv(i.t,s)===a||LN(r,s,t(a))}),o===3?new Set(r):r}(e)}function F8(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return H4(e)}function K4(){function e(o,s){var a=i[o];return a?a.enumerable=s:i[o]=a={configurable:!0,enumerable:s,get:function(){var l=this[Xe];return rg.get(l,o)},set:function(l){var u=this[Xe];rg.set(u,o,l)}},a}function t(o){for(var s=o.length-1;s>=0;s--){var a=o[s][Xe];if(!a.P)switch(a.i){case 5:r(a)&&bi(a);break;case 4:n(a)&&bi(a)}}}function n(o){for(var s=o.t,a=o.k,l=Kd(a),u=l.length-1;u>=0;u--){var d=l[u];if(d!==Xe){var f=s[d];if(f===void 0&&!Ol(s,d))return!0;var p=a[d],g=p&&p[Xe];if(g?g.t!==f:!DN(p,f))return!0}}var m=!!s[Xe];return l.length!==Kd(s).length+(m?0:1)}function r(o){var s=o.k;if(s.length!==o.t.length)return!0;var a=Object.getOwnPropertyDescriptor(s,s.length-1);if(a&&!a.get)return!0;for(var l=0;l1?_-1:0),y=1;y<_;y++)b[y-1]=arguments[y];return l.produce(v,function(S){var C;return(C=o).call.apply(C,[x,S].concat(b))})}}var u;if(typeof o!="function"&&hr(6),s!==void 0&&typeof s!="function"&&hr(7),Ai(i)){var d=L8(r),f=tg(r,i,void 0),p=!0;try{u=o(f),p=!1}finally{p?r1(d):l3(d)}return typeof Promise<"u"&&u instanceof Promise?u.then(function(v){return Zw(d,s),Jw(v,d)},function(v){throw r1(d),v}):(Zw(d,s),Jw(u,d))}if(!i||typeof i!="object"){if((u=o(i))===void 0&&(u=i),u===V_&&(u=void 0),r.D&&tm(u,!0),s){var g=[],m=[];Ps("Patches").M(i,u,g,m),s(g,m)}return u}hr(21,i)},this.produceWithPatches=function(i,o){if(typeof i=="function")return function(u){for(var d=arguments.length,f=Array(d>1?d-1:0),p=1;p=0;i--){var o=r[i];if(o.path.length===0&&o.op==="replace"){n=o.value;break}}i>-1&&(r=r.slice(i+1));var s=Ps("Patches").$;return ai(n)?s(n,r):this.produce(n,function(a){return s(a,r)})},e}(),qi=new BN,UN=qi.produce,Q4=qi.produceWithPatches.bind(qi),AJ=qi.setAutoFreeze.bind(qi),PJ=qi.setUseProxies.bind(qi),c3=qi.applyPatches.bind(qi),RJ=qi.createDraft.bind(qi),OJ=qi.finishDraft.bind(qi);const Jl=UN,Q9e=Object.freeze(Object.defineProperty({__proto__:null,Immer:BN,applyPatches:c3,castDraft:wJ,castImmutable:xJ,createDraft:RJ,current:z_,default:Jl,enableAllPlugins:SJ,enableES5:K4,enableMapSet:$N,enablePatches:X4,finishDraft:OJ,freeze:tm,immerable:qd,isDraft:ai,isDraftable:Ai,nothing:V_,original:G4,produce:UN,produceWithPatches:Q4,setAutoFreeze:AJ,setUseProxies:PJ},Symbol.toStringTag,{value:"Module"}));function ig(e){"@babel/helpers - typeof";return ig=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ig(e)}function kJ(e,t){if(ig(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(ig(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function IJ(e){var t=kJ(e,"string");return ig(t)==="symbol"?t:String(t)}function MJ(e,t,n){return t=IJ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function z8(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function V8(e){for(var t=1;t"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(Pr(1));return n(nm)(e,t)}if(typeof e!="function")throw new Error(Pr(2));var i=e,o=t,s=[],a=s,l=!1;function u(){a===s&&(a=s.slice())}function d(){if(l)throw new Error(Pr(3));return o}function f(v){if(typeof v!="function")throw new Error(Pr(4));if(l)throw new Error(Pr(5));var x=!0;return u(),a.push(v),function(){if(x){if(l)throw new Error(Pr(6));x=!1,u();var b=a.indexOf(v);a.splice(b,1),s=null}}}function p(v){if(!NJ(v))throw new Error(Pr(7));if(typeof v.type>"u")throw new Error(Pr(8));if(l)throw new Error(Pr(9));try{l=!0,o=i(o,v)}finally{l=!1}for(var x=s=a,_=0;_"u")throw new Error(Pr(12));if(typeof n(void 0,{type:yf.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Pr(13))})}function Ff(e){for(var t=Object.keys(e),n={},r=0;r"u")throw u&&u.type,new Error(Pr(14));f[g]=x,d=d||x!==v}return d=d||o.length!==Object.keys(l).length,d?f:l}}function G8(e,t){return function(){return t(e.apply(this,arguments))}}function VN(e,t){if(typeof e=="function")return G8(e,t);if(typeof e!="object"||e===null)throw new Error(Pr(16));var n={};for(var r in e){var i=e[r];typeof i=="function"&&(n[r]=G8(i,t))}return n}function vf(){for(var e=arguments.length,t=new Array(e),n=0;n-1){var u=n[l];return l>0&&(n.splice(l,1),n.unshift(u)),u.value}return s1}function i(a,l){r(a)===s1&&(n.unshift({key:a,value:l}),n.length>e&&n.pop())}function o(){return n}function s(){n=[]}return{get:r,put:i,getEntries:o,clear:s}}var jN=function(t,n){return t===n};function BJ(e){return function(n,r){if(n===null||r===null||n.length!==r.length)return!1;for(var i=n.length,o=0;o1?t-1:0),r=1;r0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]",value:e};if(typeof e!="object"||e===null||o!=null&&o.has(e))return!1;for(var a=r!=null?r(e):Object.entries(e),l=i.length>0,u=function(x,_){var b=t?t+"."+x:x;if(l){var y=i.some(function(S){return S instanceof RegExp?S.test(b):b===S});if(y)return"continue"}if(!n(_))return{value:{keyPath:b,value:_}};if(typeof _=="object"&&(s=QN(_,b,n,r,i,o),s))return{value:s}},d=0,f=a;d-1}function tee(e){return""+e}function nL(e){var t={},n=[],r,i={addCase:function(o,s){var a=typeof o=="string"?o:o.type;if(a in t)throw new Error("addCase cannot be called with two reducers for the same action type");return t[a]=s,i},addMatcher:function(o,s){return n.push({matcher:o,reducer:s}),i},addDefaultCase:function(o){return r=o,i}};return e(i),[t,n,r]}function nee(e){return typeof e=="function"}function rL(e,t,n,r){n===void 0&&(n=[]);var i=typeof t=="function"?nL(t):[t,n,r],o=i[0],s=i[1],a=i[2],l;if(nee(e))l=function(){return d3(e())};else{var u=d3(e);l=function(){return u}}function d(f,p){f===void 0&&(f=l());var g=Fl([o[p.type]],s.filter(function(m){var v=m.matcher;return v(p)}).map(function(m){var v=m.reducer;return v}));return g.filter(function(m){return!!m}).length===0&&(g=[a]),g.reduce(function(m,v){if(v)if(ai(m)){var x=m,_=v(x,p);return _===void 0?m:_}else{if(Ai(m))return Jl(m,function(b){return v(b,p)});var _=v(m,p);if(_===void 0){if(m===null)return m;throw Error("A case reducer on a non-draftable value must not return undefined")}return _}return m},f)}return d.getInitialState=l,d}function ree(e,t){return e+"/"+t}function yn(e){var t=e.name;if(!t)throw new Error("`name` is a required option for createSlice");typeof process<"u";var n=typeof e.initialState=="function"?e.initialState:d3(e.initialState),r=e.reducers||{},i=Object.keys(r),o={},s={},a={};i.forEach(function(d){var f=r[d],p=ree(t,d),g,m;"reducer"in f?(g=f.reducer,m=f.prepare):g=f,o[d]=g,s[p]=g,a[d]=m?Re(p,m):Re(p)});function l(){var d=typeof e.extraReducers=="function"?nL(e.extraReducers):[e.extraReducers],f=d[0],p=f===void 0?{}:f,g=d[1],m=g===void 0?[]:g,v=d[2],x=v===void 0?void 0:v,_=wi(wi({},p),s);return rL(n,function(b){for(var y in _)b.addCase(y,_[y]);for(var S=0,C=m;S0;if(b){var y=m.filter(function(S){return u(x,S,v)}).length>0;y&&(v.ids=Object.keys(v.entities))}}function p(m,v){return g([m],v)}function g(m,v){var x=iL(m,e,v),_=x[0],b=x[1];f(b,v),n(_,v)}return{removeAll:aee(l),addOne:kn(t),addMany:kn(n),setOne:kn(r),setMany:kn(i),setAll:kn(o),updateOne:kn(d),updateMany:kn(f),upsertOne:kn(p),upsertMany:kn(g),removeOne:kn(s),removeMany:kn(a)}}function lee(e,t){var n=oL(e),r=n.removeOne,i=n.removeMany,o=n.removeAll;function s(b,y){return a([b],y)}function a(b,y){b=ju(b);var S=b.filter(function(C){return!(Tp(C,e)in y.entities)});S.length!==0&&x(S,y)}function l(b,y){return u([b],y)}function u(b,y){b=ju(b),b.length!==0&&x(b,y)}function d(b,y){b=ju(b),y.entities={},y.ids=[],a(b,y)}function f(b,y){return p([b],y)}function p(b,y){for(var S=!1,C=0,T=b;C-1;return n&&r}function om(e){return typeof e[0]=="function"&&"pending"in e[0]&&"fulfilled"in e[0]&&"rejected"in e[0]}function H_(){for(var e=[],t=0;t0)for(var y=g.getState(),S=Array.from(n.values()),C=0,T=S;CMath.floor(e/t)*t,Ss=(e,t)=>Math.round(e/t)*t;var Eee=typeof global=="object"&&global&&global.Object===Object&&global;const xL=Eee;var Aee=typeof self=="object"&&self&&self.Object===Object&&self,Pee=xL||Aee||Function("return this")();const Fs=Pee;var Ree=Fs.Symbol;const xo=Ree;var CL=Object.prototype,Oee=CL.hasOwnProperty,kee=CL.toString,Uh=xo?xo.toStringTag:void 0;function Iee(e){var t=Oee.call(e,Uh),n=e[Uh];try{e[Uh]=void 0;var r=!0}catch{}var i=kee.call(e);return r&&(t?e[Uh]=n:delete e[Uh]),i}var Mee=Object.prototype,Nee=Mee.toString;function Lee(e){return Nee.call(e)}var Dee="[object Null]",$ee="[object Undefined]",Z8=xo?xo.toStringTag:void 0;function nu(e){return e==null?e===void 0?$ee:Dee:Z8&&Z8 in Object(e)?Iee(e):Lee(e)}function es(e){return e!=null&&typeof e=="object"}var Fee="[object Symbol]";function W_(e){return typeof e=="symbol"||es(e)&&nu(e)==Fee}function TL(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n0){if(++t>=mte)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function bte(e){return function(){return e}}var Ste=function(){try{var e=gc(Object,"defineProperty");return e({},"",{}),e}catch{}}();const c1=Ste;var wte=c1?function(e,t){return c1(e,"toString",{configurable:!0,enumerable:!1,value:bte(t),writable:!0})}:q_;const xte=wte;var Cte=_te(xte);const RL=Cte;function OL(e,t){for(var n=-1,r=e==null?0:e.length;++n-1}var Ote=9007199254740991,kte=/^(?:0|[1-9]\d*)$/;function rT(e,t){var n=typeof e;return t=t??Ote,!!t&&(n=="number"||n!="symbol"&&kte.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=Nte}function Uf(e){return e!=null&&oT(e.length)&&!nT(e)}function NL(e,t,n){if(!Pi(n))return!1;var r=typeof t;return(r=="number"?Uf(n)&&rT(t,n.length):r=="string"&&t in n)?um(n[t],e):!1}function LL(e){return ML(function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(o=e.length>3&&typeof o=="function"?(i--,o):void 0,s&&NL(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),t=Object(t);++r-1}function Xne(e,t){var n=this.__data__,r=K_(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function Na(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(a)?t>1?VL(a,t-1,n,r,i):fT(i,a):r||(i[i.length]=a)}return i}function hre(e){var t=e==null?0:e.length;return t?VL(e,1):[]}function pre(e){return RL(IL(e,void 0,hre),e+"")}var gre=UL(Object.getPrototypeOf,Object);const hT=gre;var mre="[object Object]",yre=Function.prototype,vre=Object.prototype,jL=yre.toString,_re=vre.hasOwnProperty,bre=jL.call(Object);function GL(e){if(!es(e)||nu(e)!=mre)return!1;var t=hT(e);if(t===null)return!0;var n=_re.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&jL.call(n)==bre}function HL(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(i);++r=r?e:HL(e,t,n)}var wre="\\ud800-\\udfff",xre="\\u0300-\\u036f",Cre="\\ufe20-\\ufe2f",Tre="\\u20d0-\\u20ff",Ere=xre+Cre+Tre,Are="\\ufe0e\\ufe0f",Pre="\\u200d",Rre=RegExp("["+Pre+wre+Ere+Are+"]");function pT(e){return Rre.test(e)}function Ore(e){return e.split("")}var WL="\\ud800-\\udfff",kre="\\u0300-\\u036f",Ire="\\ufe20-\\ufe2f",Mre="\\u20d0-\\u20ff",Nre=kre+Ire+Mre,Lre="\\ufe0e\\ufe0f",Dre="["+WL+"]",g3="["+Nre+"]",m3="\\ud83c[\\udffb-\\udfff]",$re="(?:"+g3+"|"+m3+")",qL="[^"+WL+"]",KL="(?:\\ud83c[\\udde6-\\uddff]){2}",XL="[\\ud800-\\udbff][\\udc00-\\udfff]",Fre="\\u200d",YL=$re+"?",QL="["+Lre+"]?",Bre="(?:"+Fre+"(?:"+[qL,KL,XL].join("|")+")"+QL+YL+")*",Ure=QL+YL+Bre,zre="(?:"+[qL+g3+"?",g3,KL,XL,Dre].join("|")+")",Vre=RegExp(m3+"(?="+m3+")|"+zre+Ure,"g");function jre(e){return e.match(Vre)||[]}function Gre(e){return pT(e)?jre(e):Ore(e)}function Hre(e){return function(t){t=Y_(t);var n=pT(t)?Gre(t):void 0,r=n?n[0]:t.charAt(0),i=n?Sre(n,1).join(""):t.slice(1);return r[e]()+i}}var Wre=Hre("toUpperCase");const qre=Wre;function ZL(e,t,n,r){var i=-1,o=e==null?0:e.length;for(r&&o&&(n=e[++i]);++i=t?e:t)),e}function bl(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=ox(n),n=n===n?n:0),t!==void 0&&(t=ox(t),t=t===t?t:0),$ie(ox(e),t,n)}function Fie(){this.__data__=new Na,this.size=0}function Bie(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Uie(e){return this.__data__.get(e)}function zie(e){return this.__data__.has(e)}var Vie=200;function jie(e,t){var n=this.__data__;if(n instanceof Na){var r=n.__data__;if(!lg||r.lengtha))return!1;var u=o.get(e),d=o.get(t);if(u&&d)return u==t&&d==e;var f=-1,p=!0,g=n&xse?new ug:void 0;for(o.set(e,t),o.set(t,e);++f1),o}),Bf(e,vD(e),n),r&&(n=Ap(n,Aae|Pae|Rae,Eae));for(var i=t.length;i--;)MD(n,t[i]);return n});const rb=Oae;var kae=RD("length");const Iae=kae;var ND="\\ud800-\\udfff",Mae="\\u0300-\\u036f",Nae="\\ufe20-\\ufe2f",Lae="\\u20d0-\\u20ff",Dae=Mae+Nae+Lae,$ae="\\ufe0e\\ufe0f",Fae="["+ND+"]",w3="["+Dae+"]",x3="\\ud83c[\\udffb-\\udfff]",Bae="(?:"+w3+"|"+x3+")",LD="[^"+ND+"]",DD="(?:\\ud83c[\\udde6-\\uddff]){2}",$D="[\\ud800-\\udbff][\\udc00-\\udfff]",Uae="\\u200d",FD=Bae+"?",BD="["+$ae+"]?",zae="(?:"+Uae+"(?:"+[LD,DD,$D].join("|")+")"+BD+FD+")*",Vae=BD+FD+zae,jae="(?:"+[LD+w3+"?",w3,DD,$D,Fae].join("|")+")",k9=RegExp(x3+"(?="+x3+")|"+jae+Vae,"g");function Gae(e){for(var t=k9.lastIndex=0;k9.test(e);)++t;return t}function Hae(e){return pT(e)?Gae(e):Iae(e)}function Wae(e,t,n,r,i){return i(e,function(o,s,a){n=r?(r=!1,o):t(n,o,s,a)}),n}function vT(e,t,n){var r=gr(e)?ZL:Wae,i=arguments.length<3;return r(e,J_(t),n,i,eb)}var qae="[object Map]",Kae="[object Set]";function _T(e){if(e==null)return 0;if(Uf(e))return wae(e)?Hae(e):e.length;var t=Sf(e);return t==qae||t==Kae?e.size:zL(e).length}function Xae(e,t){var n;return eb(e,function(r,i,o){return n=t(r,i,o),!n}),!!n}function ku(e,t,n){var r=gr(e)?CD:Xae;return n&&NL(e,t,n)&&(t=void 0),r(e,J_(t))}var Yae=Die(function(e,t,n){return e+(n?" ":"")+qre(t)});const Qae=Yae;var Zae=1/0,Jae=Zd&&1/yT(new Zd([,-0]))[1]==Zae?function(e){return new Zd(e)}:gte;const ele=Jae;var tle=200;function nle(e,t,n){var r=-1,i=Rte,o=e.length,s=!0,a=[],l=a;if(n)s=!1,i=yae;else if(o>=tle){var u=t?null:ele(e);if(u)return yT(u);s=!1,i=TD,l=new ug}else l=t?[]:a;e:for(;++r{Tae(e,t.payload)}}}),{configChanged:ole}=zD.actions,sle=zD.reducer,eRe={"sd-1":"Stable Diffusion 1.x","sd-2":"Stable Diffusion 2.x",sdxl:"Stable Diffusion XL","sdxl-refiner":"Stable Diffusion XL Refiner"},tRe={"sd-1":"SD1","sd-2":"SD2",sdxl:"SDXL","sdxl-refiner":"SDXLR"},ale={"sd-1":{maxClip:12,markers:[0,1,2,3,4,8,12]},"sd-2":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},sdxl:{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},"sdxl-refiner":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]}},nRe={lycoris:"LyCORIS",diffusers:"Diffusers"},rRe=0,lle=4294967295;var wt;(function(e){e.assertEqual=i=>i;function t(i){}e.assertIs=t;function n(i){throw new Error}e.assertNever=n,e.arrayToEnum=i=>{const o={};for(const s of i)o[s]=s;return o},e.getValidEnumValues=i=>{const o=e.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),s={};for(const a of o)s[a]=i[a];return e.objectValues(s)},e.objectValues=i=>e.objectKeys(i).map(function(o){return i[o]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const o=[];for(const s in i)Object.prototype.hasOwnProperty.call(i,s)&&o.push(s);return o},e.find=(i,o)=>{for(const s of i)if(o(s))return s},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&isFinite(i)&&Math.floor(i)===i;function r(i,o=" | "){return i.map(s=>typeof s=="string"?`'${s}'`:s).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(i,o)=>typeof o=="bigint"?o.toString():o})(wt||(wt={}));var C3;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(C3||(C3={}));const xe=wt.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ml=e=>{switch(typeof e){case"undefined":return xe.undefined;case"string":return xe.string;case"number":return isNaN(e)?xe.nan:xe.number;case"boolean":return xe.boolean;case"function":return xe.function;case"bigint":return xe.bigint;case"symbol":return xe.symbol;case"object":return Array.isArray(e)?xe.array:e===null?xe.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?xe.promise:typeof Map<"u"&&e instanceof Map?xe.map:typeof Set<"u"&&e instanceof Set?xe.set:typeof Date<"u"&&e instanceof Date?xe.date:xe.object;default:return xe.unknown}},me=wt.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),ule=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class Xo extends Error{constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}get errors(){return this.issues}format(t){const n=t||function(o){return o.message},r={_errors:[]},i=o=>{for(const s of o.issues)if(s.code==="invalid_union")s.unionErrors.map(i);else if(s.code==="invalid_return_type")i(s.returnTypeError);else if(s.code==="invalid_arguments")i(s.argumentsError);else if(s.path.length===0)r._errors.push(n(s));else{let a=r,l=0;for(;ln.message){const n={},r=[];for(const i of this.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}Xo.create=e=>new Xo(e);const cg=(e,t)=>{let n;switch(e.code){case me.invalid_type:e.received===xe.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case me.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,wt.jsonStringifyReplacer)}`;break;case me.unrecognized_keys:n=`Unrecognized key(s) in object: ${wt.joinValues(e.keys,", ")}`;break;case me.invalid_union:n="Invalid input";break;case me.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${wt.joinValues(e.options)}`;break;case me.invalid_enum_value:n=`Invalid enum value. Expected ${wt.joinValues(e.options)}, received '${e.received}'`;break;case me.invalid_arguments:n="Invalid function arguments";break;case me.invalid_return_type:n="Invalid function return type";break;case me.invalid_date:n="Invalid date";break;case me.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:wt.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case me.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case me.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case me.custom:n="Invalid input";break;case me.invalid_intersection_types:n="Intersection results could not be merged";break;case me.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case me.not_finite:n="Number must be finite";break;default:n=t.defaultError,wt.assertNever(e)}return{message:n}};let VD=cg;function cle(e){VD=e}function f1(){return VD}const h1=e=>{const{data:t,path:n,errorMaps:r,issueData:i}=e,o=[...n,...i.path||[]],s={...i,path:o};let a="";const l=r.filter(u=>!!u).slice().reverse();for(const u of l)a=u(s,{data:t,defaultError:a}).message;return{...i,path:o,message:i.message||a}},dle=[];function Te(e,t){const n=h1({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,f1(),cg].filter(r=>!!r)});e.common.issues.push(n)}class Wr{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){const r=[];for(const i of n){if(i.status==="aborted")return je;i.status==="dirty"&&t.dirty(),r.push(i.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){const r=[];for(const i of n)r.push({key:await i.key,value:await i.value});return Wr.mergeObjectSync(t,r)}static mergeObjectSync(t,n){const r={};for(const i of n){const{key:o,value:s}=i;if(o.status==="aborted"||s.status==="aborted")return je;o.status==="dirty"&&t.dirty(),s.status==="dirty"&&t.dirty(),(typeof s.value<"u"||i.alwaysSet)&&(r[o.value]=s.value)}return{status:t.value,value:r}}}const je=Object.freeze({status:"aborted"}),jD=e=>({status:"dirty",value:e}),li=e=>({status:"valid",value:e}),T3=e=>e.status==="aborted",E3=e=>e.status==="dirty",p1=e=>e.status==="valid",g1=e=>typeof Promise<"u"&&e instanceof Promise;var Le;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(Le||(Le={}));class Ms{constructor(t,n,r,i){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=i}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const I9=(e,t)=>{if(p1(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new Xo(e.common.issues);return this._error=n,this._error}}};function Qe(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(s,a)=>s.code!=="invalid_type"?{message:a.defaultError}:typeof a.data>"u"?{message:r??a.defaultError}:{message:n??a.defaultError},description:i}}class tt{constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(t){return ml(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ml(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Wr,ctx:{common:t.parent.common,data:t.data,parsedType:ml(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(g1(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){const n=this._parse(t);return Promise.resolve(n)}parse(t,n){const r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){var r;const i={common:{issues:[],async:(r=n==null?void 0:n.async)!==null&&r!==void 0?r:!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ml(t)},o=this._parseSync({data:t,path:i.path,parent:i});return I9(i,o)}async parseAsync(t,n){const r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){const r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ml(t)},i=this._parse({data:t,path:r.path,parent:r}),o=await(g1(i)?i:Promise.resolve(i));return I9(r,o)}refine(t,n){const r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,o)=>{const s=t(i),a=()=>o.addIssue({code:me.custom,...r(i)});return typeof Promise<"u"&&s instanceof Promise?s.then(l=>l?!0:(a(),!1)):s?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(t){return new ts({schema:this,typeName:Ue.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}optional(){return _a.create(this,this._def)}nullable(){return ic.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Yo.create(this,this._def)}promise(){return xf.create(this,this._def)}or(t){return pg.create([this,t],this._def)}and(t){return gg.create(this,t,this._def)}transform(t){return new ts({...Qe(this._def),schema:this,typeName:Ue.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new bg({...Qe(this._def),innerType:this,defaultValue:n,typeName:Ue.ZodDefault})}brand(){return new HD({typeName:Ue.ZodBranded,type:this,...Qe(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new _1({...Qe(this._def),innerType:this,catchValue:n,typeName:Ue.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return hm.create(this,t)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const fle=/^c[^\s-]{8,}$/i,hle=/^[a-z][a-z0-9]*$/,ple=/[0-9A-HJKMNP-TV-Z]{26}/,gle=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,mle=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\])|(\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\.[A-Za-z]{2,})+))$/,yle=/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,vle=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,_le=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ble=e=>e.precision?e.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}Z$`):e.precision===0?e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function Sle(e,t){return!!((t==="v4"||!t)&&vle.test(e)||(t==="v6"||!t)&&_le.test(e))}class Ho extends tt{constructor(){super(...arguments),this._regex=(t,n,r)=>this.refinement(i=>t.test(i),{validation:n,code:me.invalid_string,...Le.errToObj(r)}),this.nonempty=t=>this.min(1,Le.errToObj(t)),this.trim=()=>new Ho({...this._def,checks:[...this._def.checks,{kind:"trim"}]}),this.toLowerCase=()=>new Ho({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]}),this.toUpperCase=()=>new Ho({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==xe.string){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.string,received:o.parsedType}),je}const r=new Wr;let i;for(const o of this._def.checks)if(o.kind==="min")t.data.lengtho.value&&(i=this._getOrReturnCtx(t,i),Te(i,{code:me.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){const s=t.data.length>o.value,a=t.data.length"u"?null:t==null?void 0:t.precision,offset:(n=t==null?void 0:t.offset)!==null&&n!==void 0?n:!1,...Le.errToObj(t==null?void 0:t.message)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...Le.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...Le.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...Le.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...Le.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...Le.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...Le.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...Le.errToObj(n)})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get minLength(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new Ho({checks:[],typeName:Ue.ZodString,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...Qe(e)})};function wle(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r,o=parseInt(e.toFixed(i).replace(".","")),s=parseInt(t.toFixed(i).replace(".",""));return o%s/Math.pow(10,i)}class zl extends tt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==xe.number){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.number,received:o.parsedType}),je}let r;const i=new Wr;for(const o of this._def.checks)o.kind==="int"?wt.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),Te(r,{code:me.invalid_type,expected:"integer",received:"float",message:o.message}),i.dirty()):o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="multipleOf"?wle(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),Te(r,{code:me.not_finite,message:o.message}),i.dirty()):wt.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,Le.toString(n))}gt(t,n){return this.setLimit("min",t,!1,Le.toString(n))}lte(t,n){return this.setLimit("max",t,!0,Le.toString(n))}lt(t,n){return this.setLimit("max",t,!1,Le.toString(n))}setLimit(t,n,r,i){return new zl({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:Le.toString(i)}]})}_addCheck(t){return new zl({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:Le.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Le.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Le.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Le.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Le.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:Le.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:Le.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Le.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Le.toString(t)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuet.kind==="int"||t.kind==="multipleOf"&&wt.isInteger(t.value))}get isFinite(){let t=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.valuenew zl({checks:[],typeName:Ue.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...Qe(e)});class Vl extends tt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce&&(t.data=BigInt(t.data)),this._getType(t)!==xe.bigint){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.bigint,received:o.parsedType}),je}let r;const i=new Wr;for(const o of this._def.checks)o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):wt.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,Le.toString(n))}gt(t,n){return this.setLimit("min",t,!1,Le.toString(n))}lte(t,n){return this.setLimit("max",t,!0,Le.toString(n))}lt(t,n){return this.setLimit("max",t,!1,Le.toString(n))}setLimit(t,n,r,i){return new Vl({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:Le.toString(i)}]})}_addCheck(t){return new Vl({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Le.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Le.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Le.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Le.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:Le.toString(n)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new Vl({checks:[],typeName:Ue.ZodBigInt,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...Qe(e)})};class dg extends tt{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==xe.boolean){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.boolean,received:r.parsedType}),je}return li(t.data)}}dg.create=e=>new dg({typeName:Ue.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...Qe(e)});class nc extends tt{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==xe.date){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.date,received:o.parsedType}),je}if(isNaN(t.data.getTime())){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_date}),je}const r=new Wr;let i;for(const o of this._def.checks)o.kind==="min"?t.data.getTime()o.value&&(i=this._getOrReturnCtx(t,i),Te(i,{code:me.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):wt.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new nc({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:Le.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:Le.toString(n)})}get minDate(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuenew nc({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:Ue.ZodDate,...Qe(e)});class m1 extends tt{_parse(t){if(this._getType(t)!==xe.symbol){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.symbol,received:r.parsedType}),je}return li(t.data)}}m1.create=e=>new m1({typeName:Ue.ZodSymbol,...Qe(e)});class fg extends tt{_parse(t){if(this._getType(t)!==xe.undefined){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.undefined,received:r.parsedType}),je}return li(t.data)}}fg.create=e=>new fg({typeName:Ue.ZodUndefined,...Qe(e)});class hg extends tt{_parse(t){if(this._getType(t)!==xe.null){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.null,received:r.parsedType}),je}return li(t.data)}}hg.create=e=>new hg({typeName:Ue.ZodNull,...Qe(e)});class wf extends tt{constructor(){super(...arguments),this._any=!0}_parse(t){return li(t.data)}}wf.create=e=>new wf({typeName:Ue.ZodAny,...Qe(e)});class Gu extends tt{constructor(){super(...arguments),this._unknown=!0}_parse(t){return li(t.data)}}Gu.create=e=>new Gu({typeName:Ue.ZodUnknown,...Qe(e)});class Oa extends tt{_parse(t){const n=this._getOrReturnCtx(t);return Te(n,{code:me.invalid_type,expected:xe.never,received:n.parsedType}),je}}Oa.create=e=>new Oa({typeName:Ue.ZodNever,...Qe(e)});class y1 extends tt{_parse(t){if(this._getType(t)!==xe.undefined){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.void,received:r.parsedType}),je}return li(t.data)}}y1.create=e=>new y1({typeName:Ue.ZodVoid,...Qe(e)});class Yo extends tt{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==xe.array)return Te(n,{code:me.invalid_type,expected:xe.array,received:n.parsedType}),je;if(i.exactLength!==null){const s=n.data.length>i.exactLength.value,a=n.data.lengthi.maxLength.value&&(Te(n,{code:me.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((s,a)=>i.type._parseAsync(new Ms(n,s,n.path,a)))).then(s=>Wr.mergeArray(r,s));const o=[...n.data].map((s,a)=>i.type._parseSync(new Ms(n,s,n.path,a)));return Wr.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new Yo({...this._def,minLength:{value:t,message:Le.toString(n)}})}max(t,n){return new Yo({...this._def,maxLength:{value:t,message:Le.toString(n)}})}length(t,n){return new Yo({...this._def,exactLength:{value:t,message:Le.toString(n)}})}nonempty(t){return this.min(1,t)}}Yo.create=(e,t)=>new Yo({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Ue.ZodArray,...Qe(t)});function yd(e){if(e instanceof gn){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=_a.create(yd(r))}return new gn({...e._def,shape:()=>t})}else return e instanceof Yo?new Yo({...e._def,type:yd(e.element)}):e instanceof _a?_a.create(yd(e.unwrap())):e instanceof ic?ic.create(yd(e.unwrap())):e instanceof Ns?Ns.create(e.items.map(t=>yd(t))):e}class gn extends tt{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),n=wt.objectKeys(t);return this._cached={shape:t,keys:n}}_parse(t){if(this._getType(t)!==xe.object){const u=this._getOrReturnCtx(t);return Te(u,{code:me.invalid_type,expected:xe.object,received:u.parsedType}),je}const{status:r,ctx:i}=this._processInputParams(t),{shape:o,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof Oa&&this._def.unknownKeys==="strip"))for(const u in i.data)s.includes(u)||a.push(u);const l=[];for(const u of s){const d=o[u],f=i.data[u];l.push({key:{status:"valid",value:u},value:d._parse(new Ms(i,f,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof Oa){const u=this._def.unknownKeys;if(u==="passthrough")for(const d of a)l.push({key:{status:"valid",value:d},value:{status:"valid",value:i.data[d]}});else if(u==="strict")a.length>0&&(Te(i,{code:me.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const u=this._def.catchall;for(const d of a){const f=i.data[d];l.push({key:{status:"valid",value:d},value:u._parse(new Ms(i,f,i.path,d)),alwaysSet:d in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const u=[];for(const d of l){const f=await d.key;u.push({key:f,value:await d.value,alwaysSet:d.alwaysSet})}return u}).then(u=>Wr.mergeObjectSync(r,u)):Wr.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return Le.errToObj,new gn({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{var i,o,s,a;const l=(s=(o=(i=this._def).errorMap)===null||o===void 0?void 0:o.call(i,n,r).message)!==null&&s!==void 0?s:r.defaultError;return n.code==="unrecognized_keys"?{message:(a=Le.errToObj(t).message)!==null&&a!==void 0?a:l}:{message:l}}}:{}})}strip(){return new gn({...this._def,unknownKeys:"strip"})}passthrough(){return new gn({...this._def,unknownKeys:"passthrough"})}extend(t){return new gn({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new gn({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Ue.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new gn({...this._def,catchall:t})}pick(t){const n={};return wt.objectKeys(t).forEach(r=>{t[r]&&this.shape[r]&&(n[r]=this.shape[r])}),new gn({...this._def,shape:()=>n})}omit(t){const n={};return wt.objectKeys(this.shape).forEach(r=>{t[r]||(n[r]=this.shape[r])}),new gn({...this._def,shape:()=>n})}deepPartial(){return yd(this)}partial(t){const n={};return wt.objectKeys(this.shape).forEach(r=>{const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}),new gn({...this._def,shape:()=>n})}required(t){const n={};return wt.objectKeys(this.shape).forEach(r=>{if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof _a;)o=o._def.innerType;n[r]=o}}),new gn({...this._def,shape:()=>n})}keyof(){return GD(wt.objectKeys(this.shape))}}gn.create=(e,t)=>new gn({shape:()=>e,unknownKeys:"strip",catchall:Oa.create(),typeName:Ue.ZodObject,...Qe(t)});gn.strictCreate=(e,t)=>new gn({shape:()=>e,unknownKeys:"strict",catchall:Oa.create(),typeName:Ue.ZodObject,...Qe(t)});gn.lazycreate=(e,t)=>new gn({shape:e,unknownKeys:"strip",catchall:Oa.create(),typeName:Ue.ZodObject,...Qe(t)});class pg extends tt{_parse(t){const{ctx:n}=this._processInputParams(t),r=this._def.options;function i(o){for(const a of o)if(a.result.status==="valid")return a.result;for(const a of o)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;const s=o.map(a=>new Xo(a.ctx.common.issues));return Te(n,{code:me.invalid_union,unionErrors:s}),je}if(n.common.async)return Promise.all(r.map(async o=>{const s={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:s}),ctx:s}})).then(i);{let o;const s=[];for(const l of r){const u={...n,common:{...n.common,issues:[]},parent:null},d=l._parseSync({data:n.data,path:n.path,parent:u});if(d.status==="valid")return d;d.status==="dirty"&&!o&&(o={result:d,ctx:u}),u.common.issues.length&&s.push(u.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;const a=s.map(l=>new Xo(l));return Te(n,{code:me.invalid_union,unionErrors:a}),je}}get options(){return this._def.options}}pg.create=(e,t)=>new pg({options:e,typeName:Ue.ZodUnion,...Qe(t)});const cv=e=>e instanceof yg?cv(e.schema):e instanceof ts?cv(e.innerType()):e instanceof vg?[e.value]:e instanceof jl?e.options:e instanceof _g?Object.keys(e.enum):e instanceof bg?cv(e._def.innerType):e instanceof fg?[void 0]:e instanceof hg?[null]:null;class ib extends tt{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==xe.object)return Te(n,{code:me.invalid_type,expected:xe.object,received:n.parsedType}),je;const r=this.discriminator,i=n.data[r],o=this.optionsMap.get(i);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(Te(n,{code:me.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),je)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){const i=new Map;for(const o of n){const s=cv(o.shape[t]);if(!s)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(const a of s){if(i.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);i.set(a,o)}}return new ib({typeName:Ue.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...Qe(r)})}}function A3(e,t){const n=ml(e),r=ml(t);if(e===t)return{valid:!0,data:e};if(n===xe.object&&r===xe.object){const i=wt.objectKeys(t),o=wt.objectKeys(e).filter(a=>i.indexOf(a)!==-1),s={...e,...t};for(const a of o){const l=A3(e[a],t[a]);if(!l.valid)return{valid:!1};s[a]=l.data}return{valid:!0,data:s}}else if(n===xe.array&&r===xe.array){if(e.length!==t.length)return{valid:!1};const i=[];for(let o=0;o{if(T3(o)||T3(s))return je;const a=A3(o.value,s.value);return a.valid?((E3(o)||E3(s))&&n.dirty(),{status:n.value,value:a.data}):(Te(r,{code:me.invalid_intersection_types}),je)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,s])=>i(o,s)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}gg.create=(e,t,n)=>new gg({left:e,right:t,typeName:Ue.ZodIntersection,...Qe(n)});class Ns extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.array)return Te(r,{code:me.invalid_type,expected:xe.array,received:r.parsedType}),je;if(r.data.lengththis._def.items.length&&(Te(r,{code:me.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const o=[...r.data].map((s,a)=>{const l=this._def.items[a]||this._def.rest;return l?l._parse(new Ms(r,s,r.path,a)):null}).filter(s=>!!s);return r.common.async?Promise.all(o).then(s=>Wr.mergeArray(n,s)):Wr.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new Ns({...this._def,rest:t})}}Ns.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ns({items:e,typeName:Ue.ZodTuple,rest:null,...Qe(t)})};class mg extends tt{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.object)return Te(r,{code:me.invalid_type,expected:xe.object,received:r.parsedType}),je;const i=[],o=this._def.keyType,s=this._def.valueType;for(const a in r.data)i.push({key:o._parse(new Ms(r,a,r.path,a)),value:s._parse(new Ms(r,r.data[a],r.path,a))});return r.common.async?Wr.mergeObjectAsync(n,i):Wr.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof tt?new mg({keyType:t,valueType:n,typeName:Ue.ZodRecord,...Qe(r)}):new mg({keyType:Ho.create(),valueType:t,typeName:Ue.ZodRecord,...Qe(n)})}}class v1 extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.map)return Te(r,{code:me.invalid_type,expected:xe.map,received:r.parsedType}),je;const i=this._def.keyType,o=this._def.valueType,s=[...r.data.entries()].map(([a,l],u)=>({key:i._parse(new Ms(r,a,r.path,[u,"key"])),value:o._parse(new Ms(r,l,r.path,[u,"value"]))}));if(r.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const l of s){const u=await l.key,d=await l.value;if(u.status==="aborted"||d.status==="aborted")return je;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}})}else{const a=new Map;for(const l of s){const u=l.key,d=l.value;if(u.status==="aborted"||d.status==="aborted")return je;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}}}}v1.create=(e,t,n)=>new v1({valueType:t,keyType:e,typeName:Ue.ZodMap,...Qe(n)});class rc extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.set)return Te(r,{code:me.invalid_type,expected:xe.set,received:r.parsedType}),je;const i=this._def;i.minSize!==null&&r.data.sizei.maxSize.value&&(Te(r,{code:me.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());const o=this._def.valueType;function s(l){const u=new Set;for(const d of l){if(d.status==="aborted")return je;d.status==="dirty"&&n.dirty(),u.add(d.value)}return{status:n.value,value:u}}const a=[...r.data.values()].map((l,u)=>o._parse(new Ms(r,l,r.path,u)));return r.common.async?Promise.all(a).then(l=>s(l)):s(a)}min(t,n){return new rc({...this._def,minSize:{value:t,message:Le.toString(n)}})}max(t,n){return new rc({...this._def,maxSize:{value:t,message:Le.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}rc.create=(e,t)=>new rc({valueType:e,minSize:null,maxSize:null,typeName:Ue.ZodSet,...Qe(t)});class Jd extends tt{constructor(){super(...arguments),this.validate=this.implement}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==xe.function)return Te(n,{code:me.invalid_type,expected:xe.function,received:n.parsedType}),je;function r(a,l){return h1({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,f1(),cg].filter(u=>!!u),issueData:{code:me.invalid_arguments,argumentsError:l}})}function i(a,l){return h1({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,f1(),cg].filter(u=>!!u),issueData:{code:me.invalid_return_type,returnTypeError:l}})}const o={errorMap:n.common.contextualErrorMap},s=n.data;return this._def.returns instanceof xf?li(async(...a)=>{const l=new Xo([]),u=await this._def.args.parseAsync(a,o).catch(p=>{throw l.addIssue(r(a,p)),l}),d=await s(...u);return await this._def.returns._def.type.parseAsync(d,o).catch(p=>{throw l.addIssue(i(d,p)),l})}):li((...a)=>{const l=this._def.args.safeParse(a,o);if(!l.success)throw new Xo([r(a,l.error)]);const u=s(...l.data),d=this._def.returns.safeParse(u,o);if(!d.success)throw new Xo([i(u,d.error)]);return d.data})}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new Jd({...this._def,args:Ns.create(t).rest(Gu.create())})}returns(t){return new Jd({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new Jd({args:t||Ns.create([]).rest(Gu.create()),returns:n||Gu.create(),typeName:Ue.ZodFunction,...Qe(r)})}}class yg extends tt{get schema(){return this._def.getter()}_parse(t){const{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}yg.create=(e,t)=>new yg({getter:e,typeName:Ue.ZodLazy,...Qe(t)});class vg extends tt{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return Te(n,{received:n.data,code:me.invalid_literal,expected:this._def.value}),je}return{status:"valid",value:t.data}}get value(){return this._def.value}}vg.create=(e,t)=>new vg({value:e,typeName:Ue.ZodLiteral,...Qe(t)});function GD(e,t){return new jl({values:e,typeName:Ue.ZodEnum,...Qe(t)})}class jl extends tt{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return Te(n,{expected:wt.joinValues(r),received:n.parsedType,code:me.invalid_type}),je}if(this._def.values.indexOf(t.data)===-1){const n=this._getOrReturnCtx(t),r=this._def.values;return Te(n,{received:n.data,code:me.invalid_enum_value,options:r}),je}return li(t.data)}get options(){return this._def.values}get enum(){const t={};for(const n of this._def.values)t[n]=n;return t}get Values(){const t={};for(const n of this._def.values)t[n]=n;return t}get Enum(){const t={};for(const n of this._def.values)t[n]=n;return t}extract(t){return jl.create(t)}exclude(t){return jl.create(this.options.filter(n=>!t.includes(n)))}}jl.create=GD;class _g extends tt{_parse(t){const n=wt.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==xe.string&&r.parsedType!==xe.number){const i=wt.objectValues(n);return Te(r,{expected:wt.joinValues(i),received:r.parsedType,code:me.invalid_type}),je}if(n.indexOf(t.data)===-1){const i=wt.objectValues(n);return Te(r,{received:r.data,code:me.invalid_enum_value,options:i}),je}return li(t.data)}get enum(){return this._def.values}}_g.create=(e,t)=>new _g({values:e,typeName:Ue.ZodNativeEnum,...Qe(t)});class xf extends tt{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==xe.promise&&n.common.async===!1)return Te(n,{code:me.invalid_type,expected:xe.promise,received:n.parsedType}),je;const r=n.parsedType===xe.promise?n.data:Promise.resolve(n.data);return li(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}xf.create=(e,t)=>new xf({type:e,typeName:Ue.ZodPromise,...Qe(t)});class ts extends tt{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Ue.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=this._def.effect||null;if(i.type==="preprocess"){const s=i.transform(r.data);return r.common.async?Promise.resolve(s).then(a=>this._def.schema._parseAsync({data:a,path:r.path,parent:r})):this._def.schema._parseSync({data:s,path:r.path,parent:r})}const o={addIssue:s=>{Te(r,s),s.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),i.type==="refinement"){const s=a=>{const l=i.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?je:(a.status==="dirty"&&n.dirty(),s(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?je:(a.status==="dirty"&&n.dirty(),s(a.value).then(()=>({status:n.value,value:a.value}))))}if(i.type==="transform")if(r.common.async===!1){const s=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!p1(s))return s;const a=i.transform(s.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(s=>p1(s)?Promise.resolve(i.transform(s.value,o)).then(a=>({status:n.value,value:a})):s);wt.assertNever(i)}}ts.create=(e,t,n)=>new ts({schema:e,typeName:Ue.ZodEffects,effect:t,...Qe(n)});ts.createWithPreprocess=(e,t,n)=>new ts({schema:t,effect:{type:"preprocess",transform:e},typeName:Ue.ZodEffects,...Qe(n)});class _a extends tt{_parse(t){return this._getType(t)===xe.undefined?li(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}_a.create=(e,t)=>new _a({innerType:e,typeName:Ue.ZodOptional,...Qe(t)});class ic extends tt{_parse(t){return this._getType(t)===xe.null?li(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}ic.create=(e,t)=>new ic({innerType:e,typeName:Ue.ZodNullable,...Qe(t)});class bg extends tt{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===xe.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}bg.create=(e,t)=>new bg({innerType:e,typeName:Ue.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Qe(t)});class _1 extends tt{_parse(t){const{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return g1(i)?i.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Xo(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Xo(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}_1.create=(e,t)=>new _1({innerType:e,typeName:Ue.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Qe(t)});class b1 extends tt{_parse(t){if(this._getType(t)!==xe.nan){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.nan,received:r.parsedType}),je}return{status:"valid",value:t.data}}}b1.create=e=>new b1({typeName:Ue.ZodNaN,...Qe(e)});const xle=Symbol("zod_brand");class HD extends tt{_parse(t){const{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class hm extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{const o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?je:o.status==="dirty"?(n.dirty(),jD(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{const i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?je:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(t,n){return new hm({in:t,out:n,typeName:Ue.ZodPipeline})}}const WD=(e,t={},n)=>e?wf.create().superRefine((r,i)=>{var o,s;if(!e(r)){const a=typeof t=="function"?t(r):typeof t=="string"?{message:t}:t,l=(s=(o=a.fatal)!==null&&o!==void 0?o:n)!==null&&s!==void 0?s:!0,u=typeof a=="string"?{message:a}:a;i.addIssue({code:"custom",...u,fatal:l})}}):wf.create(),Cle={object:gn.lazycreate};var Ue;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline"})(Ue||(Ue={}));const Tle=(e,t={message:`Input not instance of ${e.name}`})=>WD(n=>n instanceof e,t),qD=Ho.create,KD=zl.create,Ele=b1.create,Ale=Vl.create,XD=dg.create,Ple=nc.create,Rle=m1.create,Ole=fg.create,kle=hg.create,Ile=wf.create,Mle=Gu.create,Nle=Oa.create,Lle=y1.create,Dle=Yo.create,$le=gn.create,Fle=gn.strictCreate,Ble=pg.create,Ule=ib.create,zle=gg.create,Vle=Ns.create,jle=mg.create,Gle=v1.create,Hle=rc.create,Wle=Jd.create,qle=yg.create,Kle=vg.create,Xle=jl.create,Yle=_g.create,Qle=xf.create,M9=ts.create,Zle=_a.create,Jle=ic.create,eue=ts.createWithPreprocess,tue=hm.create,nue=()=>qD().optional(),rue=()=>KD().optional(),iue=()=>XD().optional(),oue={string:e=>Ho.create({...e,coerce:!0}),number:e=>zl.create({...e,coerce:!0}),boolean:e=>dg.create({...e,coerce:!0}),bigint:e=>Vl.create({...e,coerce:!0}),date:e=>nc.create({...e,coerce:!0})},sue=je;var xt=Object.freeze({__proto__:null,defaultErrorMap:cg,setErrorMap:cle,getErrorMap:f1,makeIssue:h1,EMPTY_PATH:dle,addIssueToContext:Te,ParseStatus:Wr,INVALID:je,DIRTY:jD,OK:li,isAborted:T3,isDirty:E3,isValid:p1,isAsync:g1,get util(){return wt},get objectUtil(){return C3},ZodParsedType:xe,getParsedType:ml,ZodType:tt,ZodString:Ho,ZodNumber:zl,ZodBigInt:Vl,ZodBoolean:dg,ZodDate:nc,ZodSymbol:m1,ZodUndefined:fg,ZodNull:hg,ZodAny:wf,ZodUnknown:Gu,ZodNever:Oa,ZodVoid:y1,ZodArray:Yo,ZodObject:gn,ZodUnion:pg,ZodDiscriminatedUnion:ib,ZodIntersection:gg,ZodTuple:Ns,ZodRecord:mg,ZodMap:v1,ZodSet:rc,ZodFunction:Jd,ZodLazy:yg,ZodLiteral:vg,ZodEnum:jl,ZodNativeEnum:_g,ZodPromise:xf,ZodEffects:ts,ZodTransformer:ts,ZodOptional:_a,ZodNullable:ic,ZodDefault:bg,ZodCatch:_1,ZodNaN:b1,BRAND:xle,ZodBranded:HD,ZodPipeline:hm,custom:WD,Schema:tt,ZodSchema:tt,late:Cle,get ZodFirstPartyTypeKind(){return Ue},coerce:oue,any:Ile,array:Dle,bigint:Ale,boolean:XD,date:Ple,discriminatedUnion:Ule,effect:M9,enum:Xle,function:Wle,instanceof:Tle,intersection:zle,lazy:qle,literal:Kle,map:Gle,nan:Ele,nativeEnum:Yle,never:Nle,null:kle,nullable:Jle,number:KD,object:$le,oboolean:iue,onumber:rue,optional:Zle,ostring:nue,pipeline:tue,preprocess:eue,promise:Qle,record:jle,set:Hle,strictObject:Fle,string:qD,symbol:Rle,transformer:M9,tuple:Vle,undefined:Ole,union:Ble,unknown:Mle,void:Lle,NEVER:sue,ZodIssueCode:me,quotelessJson:ule,ZodError:Xo});const aue=xt.string(),iRe=e=>aue.safeParse(e).success,lue=xt.string(),oRe=e=>lue.safeParse(e).success,uue=xt.string(),sRe=e=>uue.safeParse(e).success,cue=xt.string(),aRe=e=>cue.safeParse(e).success,due=xt.number().int().min(1),lRe=e=>due.safeParse(e).success,fue=xt.number().min(1),uRe=e=>fue.safeParse(e).success,hue=xt.enum(["euler","deis","ddim","ddpm","dpmpp_2s","dpmpp_2m","dpmpp_2m_sde","dpmpp_sde","heun","kdpm_2","lms","pndm","unipc","euler_k","dpmpp_2s_k","dpmpp_2m_k","dpmpp_2m_sde_k","dpmpp_sde_k","heun_k","lms_k","euler_a","kdpm_2_a"]),cRe=e=>hue.safeParse(e).success,dRe={euler:"Euler",deis:"DEIS",ddim:"DDIM",ddpm:"DDPM",dpmpp_sde:"DPM++ SDE",dpmpp_2s:"DPM++ 2S",dpmpp_2m:"DPM++ 2M",dpmpp_2m_sde:"DPM++ 2M SDE",heun:"Heun",kdpm_2:"KDPM 2",lms:"LMS",pndm:"PNDM",unipc:"UniPC",euler_k:"Euler Karras",dpmpp_sde_k:"DPM++ SDE Karras",dpmpp_2s_k:"DPM++ 2S Karras",dpmpp_2m_k:"DPM++ 2M Karras",dpmpp_2m_sde_k:"DPM++ 2M SDE Karras",heun_k:"Heun Karras",lms_k:"LMS Karras",euler_a:"Euler Ancestral",kdpm_2_a:"KDPM 2 Ancestral"},pue=xt.number().int().min(0).max(lle),fRe=e=>pue.safeParse(e).success,gue=xt.number().multipleOf(8).min(64),hRe=e=>gue.safeParse(e).success,mue=xt.number().multipleOf(8).min(64),pRe=e=>mue.safeParse(e).success,pm=xt.enum(["sd-1","sd-2","sdxl","sdxl-refiner"]),bT=xt.object({model_name:xt.string().min(1),base_model:pm,model_type:xt.literal("main")}),gRe=e=>bT.safeParse(e).success,YD=xt.object({model_name:xt.string().min(1),base_model:xt.literal("sdxl-refiner"),model_type:xt.literal("main")}),mRe=e=>YD.safeParse(e).success,yue=xt.object({model_name:xt.string().min(1),base_model:pm,model_type:xt.literal("onnx")}),QD=xt.union([bT,yue]),vue=xt.object({model_name:xt.string().min(1),base_model:pm}),yRe=xt.object({model_name:xt.string().min(1),base_model:pm}),vRe=xt.object({model_name:xt.string().min(1),base_model:pm}),_ue=xt.number().min(0).max(1),_Re=e=>_ue.safeParse(e).success;xt.enum(["fp16","fp32"]);const bue=xt.number().min(1).max(10),bRe=e=>bue.safeParse(e).success,Sue=xt.number().min(0).max(1),SRe=e=>Sue.safeParse(e).success,Da={cfgScale:7.5,height:512,img2imgStrength:.75,infillMethod:"patchmatch",iterations:1,perlin:0,positivePrompt:"",negativePrompt:"",scheduler:"euler",seamBlur:16,seamSize:96,seamSteps:30,seamStrength:.7,seed:0,seedWeights:"",shouldFitToWidthHeight:!0,shouldGenerateVariations:!1,shouldRandomizeSeed:!0,shouldUseNoiseSettings:!1,steps:50,threshold:0,tileSize:32,variationAmount:.1,width:512,shouldUseSymmetry:!1,horizontalSymmetrySteps:0,verticalSymmetrySteps:0,model:null,vae:null,vaePrecision:"fp32",seamlessXAxis:!1,seamlessYAxis:!1,clipSkip:0,shouldUseCpuNoise:!0,shouldShowAdvancedOptions:!1,aspectRatio:null},wue=Da,ZD=yn({name:"generation",initialState:wue,reducers:{setPositivePrompt:(e,t)=>{e.positivePrompt=t.payload},setNegativePrompt:(e,t)=>{e.negativePrompt=t.payload},setIterations:(e,t)=>{e.iterations=t.payload},setSteps:(e,t)=>{e.steps=t.payload},clampSymmetrySteps:e=>{e.horizontalSymmetrySteps=bl(e.horizontalSymmetrySteps,0,e.steps),e.verticalSymmetrySteps=bl(e.verticalSymmetrySteps,0,e.steps)},setCfgScale:(e,t)=>{e.cfgScale=t.payload},setThreshold:(e,t)=>{e.threshold=t.payload},setPerlin:(e,t)=>{e.perlin=t.payload},setHeight:(e,t)=>{e.height=t.payload},setWidth:(e,t)=>{e.width=t.payload},toggleSize:e=>{const[t,n]=[e.width,e.height];e.width=n,e.height=t},setScheduler:(e,t)=>{e.scheduler=t.payload},setSeed:(e,t)=>{e.seed=t.payload,e.shouldRandomizeSeed=!1},setImg2imgStrength:(e,t)=>{e.img2imgStrength=t.payload},setSeamlessXAxis:(e,t)=>{e.seamlessXAxis=t.payload},setSeamlessYAxis:(e,t)=>{e.seamlessYAxis=t.payload},setShouldFitToWidthHeight:(e,t)=>{e.shouldFitToWidthHeight=t.payload},resetSeed:e=>{e.seed=-1},setShouldGenerateVariations:(e,t)=>{e.shouldGenerateVariations=t.payload},setVariationAmount:(e,t)=>{e.variationAmount=t.payload},setSeedWeights:(e,t)=>{e.seedWeights=t.payload,e.shouldGenerateVariations=!0,e.variationAmount=0},resetParametersState:e=>({...e,...Da}),setShouldRandomizeSeed:(e,t)=>{e.shouldRandomizeSeed=t.payload},clearInitialImage:e=>{e.initialImage=void 0},setSeamSize:(e,t)=>{e.seamSize=t.payload},setSeamBlur:(e,t)=>{e.seamBlur=t.payload},setSeamStrength:(e,t)=>{e.seamStrength=t.payload},setSeamSteps:(e,t)=>{e.seamSteps=t.payload},setTileSize:(e,t)=>{e.tileSize=t.payload},setInfillMethod:(e,t)=>{e.infillMethod=t.payload},setShouldUseSymmetry:(e,t)=>{e.shouldUseSymmetry=t.payload},setHorizontalSymmetrySteps:(e,t)=>{e.horizontalSymmetrySteps=t.payload},setVerticalSymmetrySteps:(e,t)=>{e.verticalSymmetrySteps=t.payload},setShouldUseNoiseSettings:(e,t)=>{e.shouldUseNoiseSettings=t.payload},initialImageChanged:(e,t)=>{const{image_name:n,width:r,height:i}=t.payload;e.initialImage={imageName:n,width:r,height:i}},modelChanged:(e,t)=>{if(e.model=t.payload,e.model===null)return;const{maxClip:n}=ale[e.model.base_model];e.clipSkip=bl(e.clipSkip,0,n)},vaeSelected:(e,t)=>{e.vae=t.payload},vaePrecisionChanged:(e,t)=>{e.vaePrecision=t.payload},setClipSkip:(e,t)=>{e.clipSkip=t.payload},shouldUseCpuNoiseChanged:(e,t)=>{e.shouldUseCpuNoise=t.payload},setShouldShowAdvancedOptions:(e,t)=>{e.shouldShowAdvancedOptions=t.payload,t.payload||(e.clipSkip=0)},setAspectRatio:(e,t)=>{const n=t.payload;e.aspectRatio=n,n&&(e.height=Ss(e.width/n,8))}},extraReducers:e=>{e.addCase(ole,(t,n)=>{var i;const r=(i=n.payload.sd)==null?void 0:i.defaultModel;if(r&&!t.model){const[o,s,a]=r.split("/"),l=bT.safeParse({model_name:a,base_model:o,model_type:s});l.success&&(t.model=l.data)}}),e.addCase(Cue,(t,n)=>{n.payload||(t.clipSkip=0)})}}),{clampSymmetrySteps:wRe,clearInitialImage:ST,resetParametersState:xRe,resetSeed:CRe,setCfgScale:TRe,setWidth:ERe,setHeight:ARe,toggleSize:PRe,setImg2imgStrength:RRe,setInfillMethod:xue,setIterations:ORe,setPerlin:kRe,setPositivePrompt:IRe,setNegativePrompt:MRe,setScheduler:NRe,setSeamBlur:LRe,setSeamSize:DRe,setSeamSteps:$Re,setSeamStrength:FRe,setSeed:BRe,setSeedWeights:URe,setShouldFitToWidthHeight:zRe,setShouldGenerateVariations:VRe,setShouldRandomizeSeed:jRe,setSteps:GRe,setThreshold:HRe,setTileSize:WRe,setVariationAmount:qRe,setShouldUseSymmetry:KRe,setHorizontalSymmetrySteps:XRe,setVerticalSymmetrySteps:YRe,initialImageChanged:ob,modelChanged:Hu,vaeSelected:JD,setShouldUseNoiseSettings:QRe,setSeamlessXAxis:ZRe,setSeamlessYAxis:JRe,setClipSkip:eOe,shouldUseCpuNoiseChanged:tOe,setShouldShowAdvancedOptions:Cue,setAspectRatio:Tue,vaePrecisionChanged:nOe}=ZD.actions,Eue=ZD.reducer,e$=["txt2img","img2img","unifiedCanvas","nodes","modelManager","batch"],N9=(e,t)=>{typeof t=="number"?e.activeTab=t:e.activeTab=e$.indexOf(t)},t$={activeTab:0,shouldPinParametersPanel:!0,shouldShowParametersPanel:!0,shouldShowImageDetails:!1,shouldUseCanvasBetaLayout:!1,shouldShowExistingModelsInSearch:!1,shouldUseSliders:!1,shouldPinGallery:!0,shouldShowGallery:!0,shouldHidePreview:!1,shouldShowProgressInViewer:!0,shouldShowEmbeddingPicker:!1,favoriteSchedulers:[]},n$=yn({name:"ui",initialState:t$,reducers:{setActiveTab:(e,t)=>{N9(e,t.payload)},setShouldPinParametersPanel:(e,t)=>{e.shouldPinParametersPanel=t.payload,e.shouldShowParametersPanel=!0},setShouldShowParametersPanel:(e,t)=>{e.shouldShowParametersPanel=t.payload},setShouldShowImageDetails:(e,t)=>{e.shouldShowImageDetails=t.payload},setShouldUseCanvasBetaLayout:(e,t)=>{e.shouldUseCanvasBetaLayout=t.payload},setShouldHidePreview:(e,t)=>{e.shouldHidePreview=t.payload},setShouldShowExistingModelsInSearch:(e,t)=>{e.shouldShowExistingModelsInSearch=t.payload},setShouldUseSliders:(e,t)=>{e.shouldUseSliders=t.payload},setShouldShowGallery:(e,t)=>{e.shouldShowGallery=t.payload},togglePinGalleryPanel:e=>{e.shouldPinGallery=!e.shouldPinGallery,e.shouldPinGallery||(e.shouldShowGallery=!0)},togglePinParametersPanel:e=>{e.shouldPinParametersPanel=!e.shouldPinParametersPanel,e.shouldPinParametersPanel||(e.shouldShowParametersPanel=!0)},toggleParametersPanel:e=>{e.shouldShowParametersPanel=!e.shouldShowParametersPanel},toggleGalleryPanel:e=>{e.shouldShowGallery=!e.shouldShowGallery},togglePanels:e=>{e.shouldShowGallery||e.shouldShowParametersPanel?(e.shouldShowGallery=!1,e.shouldShowParametersPanel=!1):(e.shouldShowGallery=!0,e.shouldShowParametersPanel=!0)},setShouldShowProgressInViewer:(e,t)=>{e.shouldShowProgressInViewer=t.payload},favoriteSchedulersChanged:(e,t)=>{e.favoriteSchedulers=t.payload},toggleEmbeddingPicker:e=>{e.shouldShowEmbeddingPicker=!e.shouldShowEmbeddingPicker}},extraReducers(e){e.addCase(ob,t=>{N9(t,"img2img")})}}),{setActiveTab:r$,setShouldPinParametersPanel:rOe,setShouldShowParametersPanel:iOe,setShouldShowImageDetails:oOe,setShouldUseCanvasBetaLayout:Aue,setShouldShowExistingModelsInSearch:sOe,setShouldUseSliders:aOe,setShouldHidePreview:lOe,setShouldShowGallery:uOe,togglePanels:cOe,togglePinGalleryPanel:dOe,togglePinParametersPanel:fOe,toggleParametersPanel:hOe,toggleGalleryPanel:pOe,setShouldShowProgressInViewer:gOe,favoriteSchedulersChanged:mOe,toggleEmbeddingPicker:yOe}=n$.actions,Pue=n$.reducer;let ti=[],gm=(e,t)=>{let n=[],r={get(){return r.lc||r.listen(()=>{})(),r.value},l:t||0,lc:0,listen(i,o){return r.lc=n.push(i,o||r.l)/2,()=>{let s=n.indexOf(i);~s&&(n.splice(s,2),r.lc--,r.lc||r.off())}},notify(i){let o=!ti.length;for(let s=0;s(e.events=e.events||{},e.events[n+g0]||(e.events[n+g0]=r(i=>{e.events[n].reduceRight((o,s)=>(s(o),o),{shared:{},...i})})),e.events[n]=e.events[n]||[],e.events[n].push(t),()=>{let i=e.events[n],o=i.indexOf(t);i.splice(o,1),i.length||(delete e.events[n],e.events[n+g0](),delete e.events[n+g0])}),kue=1e3,Iue=(e,t)=>Oue(e,r=>{let i=t(r);i&&e.events[p0].push(i)},Rue,r=>{let i=e.listen;e.listen=(...s)=>(!e.lc&&!e.active&&(e.active=!0,r()),i(...s));let o=e.off;return e.events[p0]=[],e.off=()=>{o(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let s of e.events[p0])s();e.events[p0]=[]}},kue)},()=>{e.listen=i,e.off=o}}),Mue=(e,t)=>{Array.isArray(e)||(e=[e]);let n,r=()=>{let o=e.map(s=>s.get());(n===void 0||o.some((s,a)=>s!==n[a]))&&(n=o,i.set(t(...o)))},i=gm(void 0,Math.max(...e.map(o=>o.l))+1);return Iue(i,()=>{let o=e.map(s=>s.listen(r,i.l));return r(),()=>{for(let s of o)s()}}),i};const Nue={"Content-Type":"application/json"},Lue=/\/*$/;function Due(e){const t=new URLSearchParams;if(e&&typeof e=="object")for(const[n,r]of Object.entries(e))r!=null&&t.set(n,r);return t.toString()}function $ue(e){return JSON.stringify(e)}function Fue(e,t){let n=`${t.baseUrl?t.baseUrl.replace(Lue,""):""}${e}`;if(t.params.path)for(const[r,i]of Object.entries(t.params.path))n=n.replace(`{${r}}`,encodeURIComponent(String(i)));if(t.params.query){const r=t.querySerializer(t.params.query);r&&(n+=`?${r}`)}return n}function Bue(e={}){const{fetch:t=globalThis.fetch,querySerializer:n,bodySerializer:r,...i}=e,o=new Headers({...Nue,...i.headers??{}});async function s(a,l){const{headers:u,body:d,params:f={},parseAs:p="json",querySerializer:g=n??Due,bodySerializer:m=r??$ue,...v}=l||{},x=Fue(a,{baseUrl:i.baseUrl,params:f,querySerializer:g}),_=new Headers(o),b=new Headers(u);for(const[T,E]of b.entries())E==null?_.delete(T):_.set(T,E);const y={redirect:"follow",...i,...v,headers:_};d&&(y.body=m(d)),y.body instanceof FormData&&_.delete("Content-Type");const S=await t(x,y);if(S.status===204||S.headers.get("Content-Length")==="0")return S.ok?{data:{},response:S}:{error:{},response:S};if(S.ok){let T=S.body;if(p!=="stream"){const E=S.clone();T=typeof E[p]=="function"?await E[p]():await E.text()}return{data:T,response:S}}let C={};try{C=await S.clone().json()}catch{C=await S.clone().text()}return{error:C,response:S}}return{async get(a,l){return s(a,{...l,method:"GET"})},async put(a,l){return s(a,{...l,method:"PUT"})},async post(a,l){return s(a,{...l,method:"POST"})},async del(a,l){return s(a,{...l,method:"DELETE"})},async options(a,l){return s(a,{...l,method:"OPTIONS"})},async head(a,l){return s(a,{...l,method:"HEAD"})},async patch(a,l){return s(a,{...l,method:"PATCH"})},async trace(a,l){return s(a,{...l,method:"TRACE"})}}}const Sg=gm(),wg=gm(),S1=gm(),sb=Mue([Sg,wg,S1],(e,t,n)=>Bue({headers:{...e?{Authorization:`Bearer ${e}`}:{},...n?{"project-id":n}:{}},baseUrl:`${t??""}`})),Ir=Bl("api/sessionCreated",async(e,{rejectWithValue:t})=>{const{graph:n}=e,{post:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{body:n});return o?t({arg:e,status:s.status,error:o}):i}),Uue=e=>Pi(e)&&"status"in e,mm=Bl("api/sessionInvoked",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{put:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{query:{all:!0},path:{session_id:n}}});if(o)return Uue(o)&&o.status===403?t({arg:e,status:s.status,error:o.body.detail}):t({arg:e,status:s.status,error:o})}),mc=Bl("api/sessionCanceled",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{del:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{path:{session_id:n}}});return o?t({arg:e,error:o}):i});Bl("api/listSessions",async(e,{rejectWithValue:t})=>{const{params:n}=e,{get:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{params:n});return o?t({arg:e,error:o}):i});const i$=Co(Ir.rejected,mm.rejected),td=(e,t,n,r,i,o,s)=>{const a=Math.floor(e/2-(n+i/2)*s),l=Math.floor(t/2-(r+o/2)*s);return{x:a,y:l}},nd=(e,t,n,r,i=.95)=>{const o=e*i/n,s=t*i/r;return Math.min(1,Math.min(o,s))},vOe=.999,_Oe=.1,bOe=20,zh=.95,SOe=30,wOe=10,L9=e=>({x:Math.floor(e.x),y:Math.floor(e.y)}),bu=e=>{const{width:t,height:n}=e,r={width:t,height:n},i=512*512,o=t/n;let s=t*n,a=448;for(;s1?(r.width=a,r.height=Ss(a/o,64)):o<1&&(r.height=a,r.width=Ss(a*o,64)),s=r.width*r.height;return r},zue=e=>({width:Ss(e.width,64),height:Ss(e.height,64)}),xOe=[{label:"Base",value:"base"},{label:"Mask",value:"mask"}],COe=[{label:"Auto",value:"auto"},{label:"Manual",value:"manual"},{label:"None",value:"none"}],o$=e=>e.kind==="line"&&e.layer==="mask",TOe=e=>e.kind==="line"&&e.layer==="base",D9=e=>e.kind==="image"&&e.layer==="base",EOe=e=>e.kind==="fillRect"&&e.layer==="base",AOe=e=>e.kind==="eraseRect"&&e.layer==="base",Vue=e=>e.kind==="line",vd={objects:[],stagingArea:{images:[],selectedImageIndex:-1}},s$={boundingBoxCoordinates:{x:0,y:0},boundingBoxDimensions:{width:512,height:512},boundingBoxPreviewFill:{r:0,g:0,b:0,a:.5},boundingBoxScaleMethod:"auto",brushColor:{r:90,g:90,b:255,a:1},brushSize:50,canvasContainerDimensions:{width:0,height:0},colorPickerColor:{r:90,g:90,b:255,a:1},cursorPosition:null,doesCanvasNeedScaling:!1,futureLayerStates:[],isCanvasInitialized:!1,isDrawing:!1,isMaskEnabled:!0,isMouseOverBoundingBox:!1,isMoveBoundingBoxKeyHeld:!1,isMoveStageKeyHeld:!1,isMovingBoundingBox:!1,isMovingStage:!1,isTransformingBoundingBox:!1,layer:"base",layerState:vd,maskColor:{r:255,g:90,b:90,a:1},maxHistory:128,minimumStageScale:1,pastLayerStates:[],scaledBoundingBoxDimensions:{width:512,height:512},shouldAntialias:!0,shouldAutoSave:!1,shouldCropToBoundingBoxOnSave:!1,shouldDarkenOutsideBoundingBox:!1,shouldLockBoundingBox:!1,shouldPreserveMaskedArea:!1,shouldRestrictStrokesToBox:!0,shouldShowBoundingBox:!0,shouldShowBrush:!0,shouldShowBrushPreview:!1,shouldShowCanvasDebugInfo:!1,shouldShowCheckboardTransparency:!1,shouldShowGrid:!0,shouldShowIntermediates:!0,shouldShowStagingImage:!0,shouldShowStagingOutline:!0,shouldSnapToGrid:!0,stageCoordinates:{x:0,y:0},stageDimensions:{width:0,height:0},stageScale:1,tool:"brush"},a$=yn({name:"canvas",initialState:s$,reducers:{setTool:(e,t)=>{const n=t.payload;e.tool=t.payload,n!=="move"&&(e.isTransformingBoundingBox=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1)},setLayer:(e,t)=>{e.layer=t.payload},toggleTool:e=>{const t=e.tool;t!=="move"&&(e.tool=t==="brush"?"eraser":"brush")},setMaskColor:(e,t)=>{e.maskColor=t.payload},setBrushColor:(e,t)=>{e.brushColor=t.payload},setBrushSize:(e,t)=>{e.brushSize=t.payload},clearMask:e=>{e.pastLayerStates.push(Ur(e.layerState)),e.layerState.objects=e.layerState.objects.filter(t=>!o$(t)),e.futureLayerStates=[],e.shouldPreserveMaskedArea=!1},toggleShouldInvertMask:e=>{e.shouldPreserveMaskedArea=!e.shouldPreserveMaskedArea},toggleShouldShowMask:e=>{e.isMaskEnabled=!e.isMaskEnabled},setShouldPreserveMaskedArea:(e,t)=>{e.shouldPreserveMaskedArea=t.payload},setIsMaskEnabled:(e,t)=>{e.isMaskEnabled=t.payload,e.layer=t.payload?"mask":"base"},setShouldShowCheckboardTransparency:(e,t)=>{e.shouldShowCheckboardTransparency=t.payload},setShouldShowBrushPreview:(e,t)=>{e.shouldShowBrushPreview=t.payload},setShouldShowBrush:(e,t)=>{e.shouldShowBrush=t.payload},setCursorPosition:(e,t)=>{e.cursorPosition=t.payload},setInitialCanvasImage:(e,t)=>{const n=t.payload,{width:r,height:i}=n,{stageDimensions:o}=e,s={width:f0(bl(r,64,512),64),height:f0(bl(i,64,512),64)},a={x:Ss(r/2-s.width/2,64),y:Ss(i/2-s.height/2,64)};if(e.boundingBoxScaleMethod==="auto"){const d=bu(s);e.scaledBoundingBoxDimensions=d}e.boundingBoxDimensions=s,e.boundingBoxCoordinates=a,e.pastLayerStates.push(Ur(e.layerState)),e.layerState={...vd,objects:[{kind:"image",layer:"base",x:0,y:0,width:r,height:i,imageName:n.image_name}]},e.futureLayerStates=[],e.isCanvasInitialized=!1;const l=nd(o.width,o.height,r,i,zh),u=td(o.width,o.height,0,0,r,i,l);e.stageScale=l,e.stageCoordinates=u,e.doesCanvasNeedScaling=!0},setBoundingBoxDimensions:(e,t)=>{const n=zue(t.payload);if(e.boundingBoxDimensions=n,e.boundingBoxScaleMethod==="auto"){const r=bu(n);e.scaledBoundingBoxDimensions=r}},flipBoundingBoxAxes:e=>{const[t,n]=[e.boundingBoxDimensions.width,e.boundingBoxDimensions.height];e.boundingBoxDimensions={width:n,height:t}},setBoundingBoxCoordinates:(e,t)=>{e.boundingBoxCoordinates=L9(t.payload)},setStageCoordinates:(e,t)=>{e.stageCoordinates=t.payload},setBoundingBoxPreviewFill:(e,t)=>{e.boundingBoxPreviewFill=t.payload},setDoesCanvasNeedScaling:(e,t)=>{e.doesCanvasNeedScaling=t.payload},setStageScale:(e,t)=>{e.stageScale=t.payload},setShouldDarkenOutsideBoundingBox:(e,t)=>{e.shouldDarkenOutsideBoundingBox=t.payload},setIsDrawing:(e,t)=>{e.isDrawing=t.payload},clearCanvasHistory:e=>{e.pastLayerStates=[],e.futureLayerStates=[]},setShouldLockBoundingBox:(e,t)=>{e.shouldLockBoundingBox=t.payload},toggleShouldLockBoundingBox:e=>{e.shouldLockBoundingBox=!e.shouldLockBoundingBox},setShouldShowBoundingBox:(e,t)=>{e.shouldShowBoundingBox=t.payload},setIsTransformingBoundingBox:(e,t)=>{e.isTransformingBoundingBox=t.payload},setIsMovingBoundingBox:(e,t)=>{e.isMovingBoundingBox=t.payload},setIsMouseOverBoundingBox:(e,t)=>{e.isMouseOverBoundingBox=t.payload},setIsMoveBoundingBoxKeyHeld:(e,t)=>{e.isMoveBoundingBoxKeyHeld=t.payload},setIsMoveStageKeyHeld:(e,t)=>{e.isMoveStageKeyHeld=t.payload},canvasSessionIdChanged:(e,t)=>{e.layerState.stagingArea.sessionId=t.payload},stagingAreaInitialized:(e,t)=>{const{sessionId:n,boundingBox:r}=t.payload;e.layerState.stagingArea={boundingBox:r,sessionId:n,images:[],selectedImageIndex:-1}},addImageToStagingArea:(e,t)=>{const n=t.payload;!n||!e.layerState.stagingArea.boundingBox||(e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea.images.push({kind:"image",layer:"base",...e.layerState.stagingArea.boundingBox,imageName:n.image_name}),e.layerState.stagingArea.selectedImageIndex=e.layerState.stagingArea.images.length-1,e.futureLayerStates=[])},discardStagedImages:e=>{e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea={...vd.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingOutline=!0},addFillRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,brushColor:r}=e;e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"fillRect",layer:"base",...t,...n,color:r}),e.futureLayerStates=[]},addEraseRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n}=e;e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"eraseRect",layer:"base",...t,...n}),e.futureLayerStates=[]},addLine:(e,t)=>{const{tool:n,layer:r,brushColor:i,brushSize:o,shouldRestrictStrokesToBox:s}=e;if(n==="move"||n==="colorPicker")return;const a=o/2,l=r==="base"&&n==="brush"?{color:i}:{};e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const u={kind:"line",layer:r,tool:n,strokeWidth:a,points:t.payload,...l};s&&(u.clip={...e.boundingBoxCoordinates,...e.boundingBoxDimensions}),e.layerState.objects.push(u),e.futureLayerStates=[]},addPointToCurrentLine:(e,t)=>{const n=e.layerState.objects.findLast(Vue);n&&n.points.push(...t.payload)},undo:e=>{const t=e.pastLayerStates.pop();t&&(e.futureLayerStates.unshift(Ur(e.layerState)),e.futureLayerStates.length>e.maxHistory&&e.futureLayerStates.pop(),e.layerState=t)},redo:e=>{const t=e.futureLayerStates.shift();t&&(e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState=t)},setShouldShowGrid:(e,t)=>{e.shouldShowGrid=t.payload},setIsMovingStage:(e,t)=>{e.isMovingStage=t.payload},setShouldSnapToGrid:(e,t)=>{e.shouldSnapToGrid=t.payload},setShouldAutoSave:(e,t)=>{e.shouldAutoSave=t.payload},setShouldShowIntermediates:(e,t)=>{e.shouldShowIntermediates=t.payload},resetCanvas:e=>{e.pastLayerStates.push(Ur(e.layerState)),e.layerState=vd,e.futureLayerStates=[]},setCanvasContainerDimensions:(e,t)=>{e.canvasContainerDimensions=t.payload},resizeAndScaleCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r=e.layerState.objects.find(D9),i={width:Math.floor(t),height:Math.floor(n)};if(!r){const d=nd(i.width,i.height,512,512,zh),f=td(i.width,i.height,0,0,512,512,d),p={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=f,e.stageDimensions=i,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=p,e.boundingBoxScaleMethod==="auto"){const g=bu(p);e.scaledBoundingBoxDimensions=g}return}const{width:o,height:s}=r,l=nd(t,n,o,s,.95),u=td(i.width,i.height,0,0,o,s,l);e.minimumStageScale=l,e.stageScale=l,e.stageCoordinates=L9(u),e.stageDimensions=i,e.isCanvasInitialized=!0},resizeCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r={width:Math.floor(t),height:Math.floor(n)};if(e.stageDimensions=r,!e.layerState.objects.find(D9)){const i=nd(r.width,r.height,512,512,zh),o=td(r.width,r.height,0,0,512,512,i),s={width:512,height:512};if(e.stageScale=i,e.stageCoordinates=o,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=s,e.boundingBoxScaleMethod==="auto"){const a=bu(s);e.scaledBoundingBoxDimensions=a}}},resetCanvasView:(e,t)=>{const{contentRect:n,shouldScaleTo1:r}=t.payload,{stageDimensions:{width:i,height:o}}=e,{x:s,y:a,width:l,height:u}=n;if(l!==0&&u!==0){const d=r?1:nd(i,o,l,u,zh),f=td(i,o,s,a,l,u,d);e.stageScale=d,e.stageCoordinates=f}else{const d=nd(i,o,512,512,zh),f=td(i,o,0,0,512,512,d),p={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=f,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=p,e.boundingBoxScaleMethod==="auto"){const g=bu(p);e.scaledBoundingBoxDimensions=g}}},nextStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex,n=e.layerState.stagingArea.images.length;e.layerState.stagingArea.selectedImageIndex=Math.min(t+1,n-1)},prevStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex;e.layerState.stagingArea.selectedImageIndex=Math.max(t-1,0)},commitStagingAreaImage:(e,t)=>{if(!e.layerState.stagingArea.images.length)return;const{images:n,selectedImageIndex:r}=e.layerState.stagingArea;e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const i=n[r];i&&e.layerState.objects.push({...i}),e.layerState.stagingArea={...vd.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingImage=!0},fitBoundingBoxToStage:e=>{const{boundingBoxDimensions:t,boundingBoxCoordinates:n,stageDimensions:r,stageScale:i}=e,o=r.width/i,s=r.height/i;if(n.x<0||n.x+t.width>o||n.y<0||n.y+t.height>s){const a={width:f0(bl(o,64,512),64),height:f0(bl(s,64,512),64)},l={x:Ss(o/2-a.width/2,64),y:Ss(s/2-a.height/2,64)};if(e.boundingBoxDimensions=a,e.boundingBoxCoordinates=l,e.boundingBoxScaleMethod==="auto"){const u=bu(a);e.scaledBoundingBoxDimensions=u}}},setBoundingBoxScaleMethod:(e,t)=>{if(e.boundingBoxScaleMethod=t.payload,t.payload==="auto"){const n=bu(e.boundingBoxDimensions);e.scaledBoundingBoxDimensions=n}},setScaledBoundingBoxDimensions:(e,t)=>{e.scaledBoundingBoxDimensions=t.payload},setShouldShowStagingImage:(e,t)=>{e.shouldShowStagingImage=t.payload},setShouldShowStagingOutline:(e,t)=>{e.shouldShowStagingOutline=t.payload},setShouldShowCanvasDebugInfo:(e,t)=>{e.shouldShowCanvasDebugInfo=t.payload},setShouldRestrictStrokesToBox:(e,t)=>{e.shouldRestrictStrokesToBox=t.payload},setShouldAntialias:(e,t)=>{e.shouldAntialias=t.payload},setShouldCropToBoundingBoxOnSave:(e,t)=>{e.shouldCropToBoundingBoxOnSave=t.payload},setColorPickerColor:(e,t)=>{e.colorPickerColor=t.payload},commitColorPickerColor:e=>{e.brushColor={...e.colorPickerColor,a:e.brushColor.a},e.tool="brush"},setMergedCanvas:(e,t)=>{e.pastLayerStates.push(Ur(e.layerState)),e.futureLayerStates=[],e.layerState.objects=[t.payload]},resetCanvasInteractionState:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMoveBoundingBoxKeyHeld=!1,e.isMoveStageKeyHeld=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1,e.isTransformingBoundingBox=!1},mouseLeftCanvas:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isTransformingBoundingBox=!1}},extraReducers:e=>{e.addCase(mc.pending,t=>{t.layerState.stagingArea.images.length||(t.layerState.stagingArea=vd.stagingArea)}),e.addCase(Aue,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(r$,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(Tue,(t,n)=>{const r=n.payload;r&&(t.boundingBoxDimensions.height=Ss(t.boundingBoxDimensions.width/r,64))})}}),{addEraseRect:POe,addFillRect:ROe,addImageToStagingArea:jue,addLine:OOe,addPointToCurrentLine:kOe,clearCanvasHistory:IOe,clearMask:MOe,commitColorPickerColor:NOe,commitStagingAreaImage:Gue,discardStagedImages:LOe,fitBoundingBoxToStage:DOe,mouseLeftCanvas:$Oe,nextStagingAreaImage:FOe,prevStagingAreaImage:BOe,redo:UOe,resetCanvas:wT,resetCanvasInteractionState:zOe,resetCanvasView:VOe,resizeAndScaleCanvas:jOe,resizeCanvas:GOe,setBoundingBoxCoordinates:HOe,setBoundingBoxDimensions:WOe,setBoundingBoxPreviewFill:qOe,setBoundingBoxScaleMethod:KOe,flipBoundingBoxAxes:XOe,setBrushColor:YOe,setBrushSize:QOe,setCanvasContainerDimensions:ZOe,setColorPickerColor:JOe,setCursorPosition:eke,setDoesCanvasNeedScaling:tke,setInitialCanvasImage:l$,setIsDrawing:nke,setIsMaskEnabled:rke,setIsMouseOverBoundingBox:ike,setIsMoveBoundingBoxKeyHeld:oke,setIsMoveStageKeyHeld:ske,setIsMovingBoundingBox:ake,setIsMovingStage:lke,setIsTransformingBoundingBox:uke,setLayer:cke,setMaskColor:dke,setMergedCanvas:Hue,setShouldAutoSave:fke,setShouldCropToBoundingBoxOnSave:hke,setShouldDarkenOutsideBoundingBox:pke,setShouldLockBoundingBox:gke,setShouldPreserveMaskedArea:mke,setShouldShowBoundingBox:yke,setShouldShowBrush:vke,setShouldShowBrushPreview:_ke,setShouldShowCanvasDebugInfo:bke,setShouldShowCheckboardTransparency:Ske,setShouldShowGrid:wke,setShouldShowIntermediates:xke,setShouldShowStagingImage:Cke,setShouldShowStagingOutline:Tke,setShouldSnapToGrid:Eke,setStageCoordinates:Ake,setStageScale:Pke,setTool:Rke,toggleShouldLockBoundingBox:Oke,toggleTool:kke,undo:Ike,setScaledBoundingBoxDimensions:Mke,setShouldRestrictStrokesToBox:Nke,stagingAreaInitialized:Wue,canvasSessionIdChanged:que,setShouldAntialias:Lke}=a$.actions,Kue=a$.reducer,Vr=["general"],Sl=["control","mask","user","other"],Xue=100,$9=20;var w1={exports:{}};/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */w1.exports;(function(e,t){(function(){var n,r="4.17.21",i=200,o="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",s="Expected a function",a="Invalid `variable` option passed into `_.template`",l="__lodash_hash_undefined__",u=500,d="__lodash_placeholder__",f=1,p=2,g=4,m=1,v=2,x=1,_=2,b=4,y=8,S=16,C=32,T=64,E=128,P=256,k=512,O=30,M="...",G=800,U=16,A=1,N=2,F=3,B=1/0,D=9007199254740991,V=17976931348623157e292,j=0/0,q=4294967295,Z=q-1,ee=q>>>1,ie=[["ary",E],["bind",x],["bindKey",_],["curry",y],["curryRight",S],["flip",k],["partial",C],["partialRight",T],["rearg",P]],se="[object Arguments]",le="[object Array]",W="[object AsyncFunction]",ne="[object Boolean]",fe="[object Date]",pe="[object DOMException]",ve="[object Error]",ye="[object Function]",We="[object GeneratorFunction]",Me="[object Map]",Ee="[object Number]",lt="[object Null]",_e="[object Object]",jt="[object Promise]",Wn="[object Proxy]",Bt="[object RegExp]",it="[object Set]",mt="[object String]",Jt="[object Symbol]",Mr="[object Undefined]",yr="[object WeakMap]",hi="[object WeakSet]",wn="[object ArrayBuffer]",on="[object DataView]",qn="[object Float32Array]",sn="[object Float64Array]",Gt="[object Int8Array]",vr="[object Int16Array]",Nr="[object Int32Array]",Xr="[object Uint8Array]",Ii="[object Uint8ClampedArray]",An="[object Uint16Array]",Yr="[object Uint32Array]",Vs=/\b__p \+= '';/g,Ji=/\b(__p \+=) '' \+/g,js=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Xt=/&(?:amp|lt|gt|quot|#39);/g,kt=/[&<>"']/g,Kn=RegExp(Xt.source),$n=RegExp(kt.source),or=/<%-([\s\S]+?)%>/g,_r=/<%([\s\S]+?)%>/g,br=/<%=([\s\S]+?)%>/g,eo=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Sr=/^\w*$/,Xn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Mi=/[\\^$.*+?()[\]{}|]/g,os=RegExp(Mi.source),to=/^\s+/,Va=/\s/,Ao=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,wr=/\{\n\/\* \[wrapped with (.+)\] \*/,Gs=/,? & /,Zf=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Jf=/[()=,{}\[\]\/\s]/,eh=/\\(\\)?/g,th=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Po=/\w*$/,nh=/^[-+]0x[0-9a-f]+$/i,rh=/^0b[01]+$/i,kc=/^\[object .+?Constructor\]$/,ih=/^0o[0-7]+$/i,oh=/^(?:0|[1-9]\d*)$/,sh=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ss=/($^)/,ah=/['\n\r\u2028\u2029\\]/g,Ro="\\ud800-\\udfff",ja="\\u0300-\\u036f",lh="\\ufe20-\\ufe2f",Ga="\\u20d0-\\u20ff",cu=ja+lh+Ga,Ic="\\u2700-\\u27bf",Ha="a-z\\xdf-\\xf6\\xf8-\\xff",p2="\\xac\\xb1\\xd7\\xf7",Gm="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",g2="\\u2000-\\u206f",m2=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Hm="A-Z\\xc0-\\xd6\\xd8-\\xde",Wm="\\ufe0e\\ufe0f",qm=p2+Gm+g2+m2,uh="['’]",y2="["+Ro+"]",Km="["+qm+"]",Mc="["+cu+"]",Xm="\\d+",Nc="["+Ic+"]",Lc="["+Ha+"]",Ym="[^"+Ro+qm+Xm+Ic+Ha+Hm+"]",ch="\\ud83c[\\udffb-\\udfff]",Qm="(?:"+Mc+"|"+ch+")",Zm="[^"+Ro+"]",dh="(?:\\ud83c[\\udde6-\\uddff]){2}",fh="[\\ud800-\\udbff][\\udc00-\\udfff]",Hs="["+Hm+"]",Jm="\\u200d",ey="(?:"+Lc+"|"+Ym+")",v2="(?:"+Hs+"|"+Ym+")",Dc="(?:"+uh+"(?:d|ll|m|re|s|t|ve))?",ty="(?:"+uh+"(?:D|LL|M|RE|S|T|VE))?",ny=Qm+"?",ry="["+Wm+"]?",$c="(?:"+Jm+"(?:"+[Zm,dh,fh].join("|")+")"+ry+ny+")*",hh="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ph="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Fc=ry+ny+$c,_2="(?:"+[Nc,dh,fh].join("|")+")"+Fc,iy="(?:"+[Zm+Mc+"?",Mc,dh,fh,y2].join("|")+")",gh=RegExp(uh,"g"),oy=RegExp(Mc,"g"),Oo=RegExp(ch+"(?="+ch+")|"+iy+Fc,"g"),du=RegExp([Hs+"?"+Lc+"+"+Dc+"(?="+[Km,Hs,"$"].join("|")+")",v2+"+"+ty+"(?="+[Km,Hs+ey,"$"].join("|")+")",Hs+"?"+ey+"+"+Dc,Hs+"+"+ty,ph,hh,Xm,_2].join("|"),"g"),b2=RegExp("["+Jm+Ro+cu+Wm+"]"),sy=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,S2=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ay=-1,Ht={};Ht[qn]=Ht[sn]=Ht[Gt]=Ht[vr]=Ht[Nr]=Ht[Xr]=Ht[Ii]=Ht[An]=Ht[Yr]=!0,Ht[se]=Ht[le]=Ht[wn]=Ht[ne]=Ht[on]=Ht[fe]=Ht[ve]=Ht[ye]=Ht[Me]=Ht[Ee]=Ht[_e]=Ht[Bt]=Ht[it]=Ht[mt]=Ht[yr]=!1;var Ut={};Ut[se]=Ut[le]=Ut[wn]=Ut[on]=Ut[ne]=Ut[fe]=Ut[qn]=Ut[sn]=Ut[Gt]=Ut[vr]=Ut[Nr]=Ut[Me]=Ut[Ee]=Ut[_e]=Ut[Bt]=Ut[it]=Ut[mt]=Ut[Jt]=Ut[Xr]=Ut[Ii]=Ut[An]=Ut[Yr]=!0,Ut[ve]=Ut[ye]=Ut[yr]=!1;var ly={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},w2={"&":"&","<":"<",">":">",'"':""","'":"'"},H={"&":"&","<":"<",">":">",""":'"',"'":"'"},Y={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},re=parseFloat,we=parseInt,ot=typeof He=="object"&&He&&He.Object===Object&&He,Mt=typeof self=="object"&&self&&self.Object===Object&&self,qe=ot||Mt||Function("return this")(),Je=t&&!t.nodeType&&t,bt=Je&&!0&&e&&!e.nodeType&&e,Qr=bt&&bt.exports===Je,xr=Qr&&ot.process,sr=function(){try{var J=bt&&bt.require&&bt.require("util").types;return J||xr&&xr.binding&&xr.binding("util")}catch{}}(),Bc=sr&&sr.isArrayBuffer,Uc=sr&&sr.isDate,mh=sr&&sr.isMap,w6=sr&&sr.isRegExp,x6=sr&&sr.isSet,C6=sr&&sr.isTypedArray;function Ni(J,ae,oe){switch(oe.length){case 0:return J.call(ae);case 1:return J.call(ae,oe[0]);case 2:return J.call(ae,oe[0],oe[1]);case 3:return J.call(ae,oe[0],oe[1],oe[2])}return J.apply(ae,oe)}function gG(J,ae,oe,Ce){for(var Ve=-1,Tt=J==null?0:J.length;++Ve-1}function x2(J,ae,oe){for(var Ce=-1,Ve=J==null?0:J.length;++Ce-1;);return oe}function I6(J,ae){for(var oe=J.length;oe--&&zc(ae,J[oe],0)>-1;);return oe}function CG(J,ae){for(var oe=J.length,Ce=0;oe--;)J[oe]===ae&&++Ce;return Ce}var TG=A2(ly),EG=A2(w2);function AG(J){return"\\"+Y[J]}function PG(J,ae){return J==null?n:J[ae]}function Vc(J){return b2.test(J)}function RG(J){return sy.test(J)}function OG(J){for(var ae,oe=[];!(ae=J.next()).done;)oe.push(ae.value);return oe}function k2(J){var ae=-1,oe=Array(J.size);return J.forEach(function(Ce,Ve){oe[++ae]=[Ve,Ce]}),oe}function M6(J,ae){return function(oe){return J(ae(oe))}}function Ka(J,ae){for(var oe=-1,Ce=J.length,Ve=0,Tt=[];++oe-1}function yH(c,h){var w=this.__data__,R=Ey(w,c);return R<0?(++this.size,w.push([c,h])):w[R][1]=h,this}Ws.prototype.clear=hH,Ws.prototype.delete=pH,Ws.prototype.get=gH,Ws.prototype.has=mH,Ws.prototype.set=yH;function qs(c){var h=-1,w=c==null?0:c.length;for(this.clear();++h=h?c:h)),c}function oo(c,h,w,R,I,z){var K,X=h&f,te=h&p,ce=h&g;if(w&&(K=I?w(c,R,I,z):w(c)),K!==n)return K;if(!hn(c))return c;var de=Ge(c);if(de){if(K=SW(c),!X)return pi(c,K)}else{var he=Dr(c),be=he==ye||he==We;if(el(c))return gA(c,X);if(he==_e||he==se||be&&!I){if(K=te||be?{}:NA(c),!X)return te?cW(c,MH(K,c)):uW(c,H6(K,c))}else{if(!Ut[he])return I?c:{};K=wW(c,he,X)}}z||(z=new Io);var Oe=z.get(c);if(Oe)return Oe;z.set(c,K),uP(c)?c.forEach(function(Fe){K.add(oo(Fe,h,w,Fe,c,z))}):aP(c)&&c.forEach(function(Fe,st){K.set(st,oo(Fe,h,w,st,c,z))});var $e=ce?te?rw:nw:te?mi:ar,Ze=de?n:$e(c);return no(Ze||c,function(Fe,st){Ze&&(st=Fe,Fe=c[st]),xh(K,st,oo(Fe,h,w,st,c,z))}),K}function NH(c){var h=ar(c);return function(w){return W6(w,c,h)}}function W6(c,h,w){var R=w.length;if(c==null)return!R;for(c=Wt(c);R--;){var I=w[R],z=h[I],K=c[I];if(K===n&&!(I in c)||!z(K))return!1}return!0}function q6(c,h,w){if(typeof c!="function")throw new ro(s);return Oh(function(){c.apply(n,w)},h)}function Ch(c,h,w,R){var I=-1,z=uy,K=!0,X=c.length,te=[],ce=h.length;if(!X)return te;w&&(h=an(h,Li(w))),R?(z=x2,K=!1):h.length>=i&&(z=yh,K=!1,h=new pu(h));e:for(;++II?0:I+w),R=R===n||R>I?I:Ye(R),R<0&&(R+=I),R=w>R?0:dP(R);w0&&w(X)?h>1?Cr(X,h-1,w,R,I):qa(I,X):R||(I[I.length]=X)}return I}var F2=SA(),Y6=SA(!0);function as(c,h){return c&&F2(c,h,ar)}function B2(c,h){return c&&Y6(c,h,ar)}function Py(c,h){return Wa(h,function(w){return Zs(c[w])})}function mu(c,h){h=Za(h,c);for(var w=0,R=h.length;c!=null&&wh}function $H(c,h){return c!=null&&Nt.call(c,h)}function FH(c,h){return c!=null&&h in Wt(c)}function BH(c,h,w){return c>=Lr(h,w)&&c=120&&de.length>=120)?new pu(K&&de):n}de=c[0];var he=-1,be=X[0];e:for(;++he-1;)X!==c&&_y.call(X,te,1),_y.call(c,te,1);return c}function aA(c,h){for(var w=c?h.length:0,R=w-1;w--;){var I=h[w];if(w==R||I!==z){var z=I;Qs(I)?_y.call(c,I,1):X2(c,I)}}return c}function W2(c,h){return c+wy(z6()*(h-c+1))}function ZH(c,h,w,R){for(var I=-1,z=Qn(Sy((h-c)/(w||1)),0),K=oe(z);z--;)K[R?z:++I]=c,c+=w;return K}function q2(c,h){var w="";if(!c||h<1||h>D)return w;do h%2&&(w+=c),h=wy(h/2),h&&(c+=c);while(h);return w}function et(c,h){return cw($A(c,h,yi),c+"")}function JH(c){return G6(Jc(c))}function eW(c,h){var w=Jc(c);return By(w,gu(h,0,w.length))}function Ah(c,h,w,R){if(!hn(c))return c;h=Za(h,c);for(var I=-1,z=h.length,K=z-1,X=c;X!=null&&++II?0:I+h),w=w>I?I:w,w<0&&(w+=I),I=h>w?0:w-h>>>0,h>>>=0;for(var z=oe(I);++R>>1,K=c[z];K!==null&&!$i(K)&&(w?K<=h:K=i){var ce=h?null:pW(c);if(ce)return dy(ce);K=!1,I=yh,te=new pu}else te=h?[]:X;e:for(;++R=R?c:so(c,h,w)}var pA=HG||function(c){return qe.clearTimeout(c)};function gA(c,h){if(h)return c.slice();var w=c.length,R=D6?D6(w):new c.constructor(w);return c.copy(R),R}function J2(c){var h=new c.constructor(c.byteLength);return new yy(h).set(new yy(c)),h}function oW(c,h){var w=h?J2(c.buffer):c.buffer;return new c.constructor(w,c.byteOffset,c.byteLength)}function sW(c){var h=new c.constructor(c.source,Po.exec(c));return h.lastIndex=c.lastIndex,h}function aW(c){return wh?Wt(wh.call(c)):{}}function mA(c,h){var w=h?J2(c.buffer):c.buffer;return new c.constructor(w,c.byteOffset,c.length)}function yA(c,h){if(c!==h){var w=c!==n,R=c===null,I=c===c,z=$i(c),K=h!==n,X=h===null,te=h===h,ce=$i(h);if(!X&&!ce&&!z&&c>h||z&&K&&te&&!X&&!ce||R&&K&&te||!w&&te||!I)return 1;if(!R&&!z&&!ce&&c=X)return te;var ce=w[R];return te*(ce=="desc"?-1:1)}}return c.index-h.index}function vA(c,h,w,R){for(var I=-1,z=c.length,K=w.length,X=-1,te=h.length,ce=Qn(z-K,0),de=oe(te+ce),he=!R;++X1?w[I-1]:n,K=I>2?w[2]:n;for(z=c.length>3&&typeof z=="function"?(I--,z):n,K&&Jr(w[0],w[1],K)&&(z=I<3?n:z,I=1),h=Wt(h);++R-1?I[z?h[K]:K]:n}}function CA(c){return Ys(function(h){var w=h.length,R=w,I=io.prototype.thru;for(c&&h.reverse();R--;){var z=h[R];if(typeof z!="function")throw new ro(s);if(I&&!K&&$y(z)=="wrapper")var K=new io([],!0)}for(R=K?R:w;++R1&&ht.reverse(),de&&teX))return!1;var ce=z.get(c),de=z.get(h);if(ce&&de)return ce==h&&de==c;var he=-1,be=!0,Oe=w&v?new pu:n;for(z.set(c,h),z.set(h,c);++he1?"& ":"")+h[R],h=h.join(w>2?", ":" "),c.replace(Ao,`{ +/* [wrapped with `+h+`] */ +`)}function CW(c){return Ge(c)||_u(c)||!!(B6&&c&&c[B6])}function Qs(c,h){var w=typeof c;return h=h??D,!!h&&(w=="number"||w!="symbol"&&oh.test(c))&&c>-1&&c%1==0&&c0){if(++h>=G)return arguments[0]}else h=0;return c.apply(n,arguments)}}function By(c,h){var w=-1,R=c.length,I=R-1;for(h=h===n?R:h;++w1?c[h-1]:n;return w=typeof w=="function"?(c.pop(),w):n,XA(c,w)});function YA(c){var h=$(c);return h.__chain__=!0,h}function Lq(c,h){return h(c),c}function Uy(c,h){return h(c)}var Dq=Ys(function(c){var h=c.length,w=h?c[0]:0,R=this.__wrapped__,I=function(z){return $2(z,c)};return h>1||this.__actions__.length||!(R instanceof ut)||!Qs(w)?this.thru(I):(R=R.slice(w,+w+(h?1:0)),R.__actions__.push({func:Uy,args:[I],thisArg:n}),new io(R,this.__chain__).thru(function(z){return h&&!z.length&&z.push(n),z}))});function $q(){return YA(this)}function Fq(){return new io(this.value(),this.__chain__)}function Bq(){this.__values__===n&&(this.__values__=cP(this.value()));var c=this.__index__>=this.__values__.length,h=c?n:this.__values__[this.__index__++];return{done:c,value:h}}function Uq(){return this}function zq(c){for(var h,w=this;w instanceof Ty;){var R=jA(w);R.__index__=0,R.__values__=n,h?I.__wrapped__=R:h=R;var I=R;w=w.__wrapped__}return I.__wrapped__=c,h}function Vq(){var c=this.__wrapped__;if(c instanceof ut){var h=c;return this.__actions__.length&&(h=new ut(this)),h=h.reverse(),h.__actions__.push({func:Uy,args:[dw],thisArg:n}),new io(h,this.__chain__)}return this.thru(dw)}function jq(){return fA(this.__wrapped__,this.__actions__)}var Gq=Iy(function(c,h,w){Nt.call(c,w)?++c[w]:Ks(c,w,1)});function Hq(c,h,w){var R=Ge(c)?T6:LH;return w&&Jr(c,h,w)&&(h=n),R(c,De(h,3))}function Wq(c,h){var w=Ge(c)?Wa:X6;return w(c,De(h,3))}var qq=xA(GA),Kq=xA(HA);function Xq(c,h){return Cr(zy(c,h),1)}function Yq(c,h){return Cr(zy(c,h),B)}function Qq(c,h,w){return w=w===n?1:Ye(w),Cr(zy(c,h),w)}function QA(c,h){var w=Ge(c)?no:Ya;return w(c,De(h,3))}function ZA(c,h){var w=Ge(c)?mG:K6;return w(c,De(h,3))}var Zq=Iy(function(c,h,w){Nt.call(c,w)?c[w].push(h):Ks(c,w,[h])});function Jq(c,h,w,R){c=gi(c)?c:Jc(c),w=w&&!R?Ye(w):0;var I=c.length;return w<0&&(w=Qn(I+w,0)),Wy(c)?w<=I&&c.indexOf(h,w)>-1:!!I&&zc(c,h,w)>-1}var eK=et(function(c,h,w){var R=-1,I=typeof h=="function",z=gi(c)?oe(c.length):[];return Ya(c,function(K){z[++R]=I?Ni(h,K,w):Th(K,h,w)}),z}),tK=Iy(function(c,h,w){Ks(c,w,h)});function zy(c,h){var w=Ge(c)?an:tA;return w(c,De(h,3))}function nK(c,h,w,R){return c==null?[]:(Ge(h)||(h=h==null?[]:[h]),w=R?n:w,Ge(w)||(w=w==null?[]:[w]),oA(c,h,w))}var rK=Iy(function(c,h,w){c[w?0:1].push(h)},function(){return[[],[]]});function iK(c,h,w){var R=Ge(c)?C2:R6,I=arguments.length<3;return R(c,De(h,4),w,I,Ya)}function oK(c,h,w){var R=Ge(c)?yG:R6,I=arguments.length<3;return R(c,De(h,4),w,I,K6)}function sK(c,h){var w=Ge(c)?Wa:X6;return w(c,Gy(De(h,3)))}function aK(c){var h=Ge(c)?G6:JH;return h(c)}function lK(c,h,w){(w?Jr(c,h,w):h===n)?h=1:h=Ye(h);var R=Ge(c)?OH:eW;return R(c,h)}function uK(c){var h=Ge(c)?kH:nW;return h(c)}function cK(c){if(c==null)return 0;if(gi(c))return Wy(c)?jc(c):c.length;var h=Dr(c);return h==Me||h==it?c.size:j2(c).length}function dK(c,h,w){var R=Ge(c)?T2:rW;return w&&Jr(c,h,w)&&(h=n),R(c,De(h,3))}var fK=et(function(c,h){if(c==null)return[];var w=h.length;return w>1&&Jr(c,h[0],h[1])?h=[]:w>2&&Jr(h[0],h[1],h[2])&&(h=[h[0]]),oA(c,Cr(h,1),[])}),Vy=WG||function(){return qe.Date.now()};function hK(c,h){if(typeof h!="function")throw new ro(s);return c=Ye(c),function(){if(--c<1)return h.apply(this,arguments)}}function JA(c,h,w){return h=w?n:h,h=c&&h==null?c.length:h,Xs(c,E,n,n,n,n,h)}function eP(c,h){var w;if(typeof h!="function")throw new ro(s);return c=Ye(c),function(){return--c>0&&(w=h.apply(this,arguments)),c<=1&&(h=n),w}}var hw=et(function(c,h,w){var R=x;if(w.length){var I=Ka(w,Qc(hw));R|=C}return Xs(c,R,h,w,I)}),tP=et(function(c,h,w){var R=x|_;if(w.length){var I=Ka(w,Qc(tP));R|=C}return Xs(h,R,c,w,I)});function nP(c,h,w){h=w?n:h;var R=Xs(c,y,n,n,n,n,n,h);return R.placeholder=nP.placeholder,R}function rP(c,h,w){h=w?n:h;var R=Xs(c,S,n,n,n,n,n,h);return R.placeholder=rP.placeholder,R}function iP(c,h,w){var R,I,z,K,X,te,ce=0,de=!1,he=!1,be=!0;if(typeof c!="function")throw new ro(s);h=lo(h)||0,hn(w)&&(de=!!w.leading,he="maxWait"in w,z=he?Qn(lo(w.maxWait)||0,h):z,be="trailing"in w?!!w.trailing:be);function Oe(Rn){var No=R,ea=I;return R=I=n,ce=Rn,K=c.apply(ea,No),K}function $e(Rn){return ce=Rn,X=Oh(st,h),de?Oe(Rn):K}function Ze(Rn){var No=Rn-te,ea=Rn-ce,xP=h-No;return he?Lr(xP,z-ea):xP}function Fe(Rn){var No=Rn-te,ea=Rn-ce;return te===n||No>=h||No<0||he&&ea>=z}function st(){var Rn=Vy();if(Fe(Rn))return ht(Rn);X=Oh(st,Ze(Rn))}function ht(Rn){return X=n,be&&R?Oe(Rn):(R=I=n,K)}function Fi(){X!==n&&pA(X),ce=0,R=te=I=X=n}function ei(){return X===n?K:ht(Vy())}function Bi(){var Rn=Vy(),No=Fe(Rn);if(R=arguments,I=this,te=Rn,No){if(X===n)return $e(te);if(he)return pA(X),X=Oh(st,h),Oe(te)}return X===n&&(X=Oh(st,h)),K}return Bi.cancel=Fi,Bi.flush=ei,Bi}var pK=et(function(c,h){return q6(c,1,h)}),gK=et(function(c,h,w){return q6(c,lo(h)||0,w)});function mK(c){return Xs(c,k)}function jy(c,h){if(typeof c!="function"||h!=null&&typeof h!="function")throw new ro(s);var w=function(){var R=arguments,I=h?h.apply(this,R):R[0],z=w.cache;if(z.has(I))return z.get(I);var K=c.apply(this,R);return w.cache=z.set(I,K)||z,K};return w.cache=new(jy.Cache||qs),w}jy.Cache=qs;function Gy(c){if(typeof c!="function")throw new ro(s);return function(){var h=arguments;switch(h.length){case 0:return!c.call(this);case 1:return!c.call(this,h[0]);case 2:return!c.call(this,h[0],h[1]);case 3:return!c.call(this,h[0],h[1],h[2])}return!c.apply(this,h)}}function yK(c){return eP(2,c)}var vK=iW(function(c,h){h=h.length==1&&Ge(h[0])?an(h[0],Li(De())):an(Cr(h,1),Li(De()));var w=h.length;return et(function(R){for(var I=-1,z=Lr(R.length,w);++I=h}),_u=Z6(function(){return arguments}())?Z6:function(c){return xn(c)&&Nt.call(c,"callee")&&!F6.call(c,"callee")},Ge=oe.isArray,MK=Bc?Li(Bc):zH;function gi(c){return c!=null&&Hy(c.length)&&!Zs(c)}function Pn(c){return xn(c)&&gi(c)}function NK(c){return c===!0||c===!1||xn(c)&&Zr(c)==ne}var el=KG||Tw,LK=Uc?Li(Uc):VH;function DK(c){return xn(c)&&c.nodeType===1&&!kh(c)}function $K(c){if(c==null)return!0;if(gi(c)&&(Ge(c)||typeof c=="string"||typeof c.splice=="function"||el(c)||Zc(c)||_u(c)))return!c.length;var h=Dr(c);if(h==Me||h==it)return!c.size;if(Rh(c))return!j2(c).length;for(var w in c)if(Nt.call(c,w))return!1;return!0}function FK(c,h){return Eh(c,h)}function BK(c,h,w){w=typeof w=="function"?w:n;var R=w?w(c,h):n;return R===n?Eh(c,h,n,w):!!R}function gw(c){if(!xn(c))return!1;var h=Zr(c);return h==ve||h==pe||typeof c.message=="string"&&typeof c.name=="string"&&!kh(c)}function UK(c){return typeof c=="number"&&U6(c)}function Zs(c){if(!hn(c))return!1;var h=Zr(c);return h==ye||h==We||h==W||h==Wn}function sP(c){return typeof c=="number"&&c==Ye(c)}function Hy(c){return typeof c=="number"&&c>-1&&c%1==0&&c<=D}function hn(c){var h=typeof c;return c!=null&&(h=="object"||h=="function")}function xn(c){return c!=null&&typeof c=="object"}var aP=mh?Li(mh):GH;function zK(c,h){return c===h||V2(c,h,ow(h))}function VK(c,h,w){return w=typeof w=="function"?w:n,V2(c,h,ow(h),w)}function jK(c){return lP(c)&&c!=+c}function GK(c){if(AW(c))throw new Ve(o);return J6(c)}function HK(c){return c===null}function WK(c){return c==null}function lP(c){return typeof c=="number"||xn(c)&&Zr(c)==Ee}function kh(c){if(!xn(c)||Zr(c)!=_e)return!1;var h=vy(c);if(h===null)return!0;var w=Nt.call(h,"constructor")&&h.constructor;return typeof w=="function"&&w instanceof w&&py.call(w)==VG}var mw=w6?Li(w6):HH;function qK(c){return sP(c)&&c>=-D&&c<=D}var uP=x6?Li(x6):WH;function Wy(c){return typeof c=="string"||!Ge(c)&&xn(c)&&Zr(c)==mt}function $i(c){return typeof c=="symbol"||xn(c)&&Zr(c)==Jt}var Zc=C6?Li(C6):qH;function KK(c){return c===n}function XK(c){return xn(c)&&Dr(c)==yr}function YK(c){return xn(c)&&Zr(c)==hi}var QK=Dy(G2),ZK=Dy(function(c,h){return c<=h});function cP(c){if(!c)return[];if(gi(c))return Wy(c)?ko(c):pi(c);if(vh&&c[vh])return OG(c[vh]());var h=Dr(c),w=h==Me?k2:h==it?dy:Jc;return w(c)}function Js(c){if(!c)return c===0?c:0;if(c=lo(c),c===B||c===-B){var h=c<0?-1:1;return h*V}return c===c?c:0}function Ye(c){var h=Js(c),w=h%1;return h===h?w?h-w:h:0}function dP(c){return c?gu(Ye(c),0,q):0}function lo(c){if(typeof c=="number")return c;if($i(c))return j;if(hn(c)){var h=typeof c.valueOf=="function"?c.valueOf():c;c=hn(h)?h+"":h}if(typeof c!="string")return c===0?c:+c;c=O6(c);var w=rh.test(c);return w||ih.test(c)?we(c.slice(2),w?2:8):nh.test(c)?j:+c}function fP(c){return ls(c,mi(c))}function JK(c){return c?gu(Ye(c),-D,D):c===0?c:0}function It(c){return c==null?"":Di(c)}var eX=Xc(function(c,h){if(Rh(h)||gi(h)){ls(h,ar(h),c);return}for(var w in h)Nt.call(h,w)&&xh(c,w,h[w])}),hP=Xc(function(c,h){ls(h,mi(h),c)}),qy=Xc(function(c,h,w,R){ls(h,mi(h),c,R)}),tX=Xc(function(c,h,w,R){ls(h,ar(h),c,R)}),nX=Ys($2);function rX(c,h){var w=Kc(c);return h==null?w:H6(w,h)}var iX=et(function(c,h){c=Wt(c);var w=-1,R=h.length,I=R>2?h[2]:n;for(I&&Jr(h[0],h[1],I)&&(R=1);++w1),z}),ls(c,rw(c),w),R&&(w=oo(w,f|p|g,gW));for(var I=h.length;I--;)X2(w,h[I]);return w});function wX(c,h){return gP(c,Gy(De(h)))}var xX=Ys(function(c,h){return c==null?{}:YH(c,h)});function gP(c,h){if(c==null)return{};var w=an(rw(c),function(R){return[R]});return h=De(h),sA(c,w,function(R,I){return h(R,I[0])})}function CX(c,h,w){h=Za(h,c);var R=-1,I=h.length;for(I||(I=1,c=n);++Rh){var R=c;c=h,h=R}if(w||c%1||h%1){var I=z6();return Lr(c+I*(h-c+re("1e-"+((I+"").length-1))),h)}return W2(c,h)}var LX=Yc(function(c,h,w){return h=h.toLowerCase(),c+(w?vP(h):h)});function vP(c){return _w(It(c).toLowerCase())}function _P(c){return c=It(c),c&&c.replace(sh,TG).replace(oy,"")}function DX(c,h,w){c=It(c),h=Di(h);var R=c.length;w=w===n?R:gu(Ye(w),0,R);var I=w;return w-=h.length,w>=0&&c.slice(w,I)==h}function $X(c){return c=It(c),c&&$n.test(c)?c.replace(kt,EG):c}function FX(c){return c=It(c),c&&os.test(c)?c.replace(Mi,"\\$&"):c}var BX=Yc(function(c,h,w){return c+(w?"-":"")+h.toLowerCase()}),UX=Yc(function(c,h,w){return c+(w?" ":"")+h.toLowerCase()}),zX=wA("toLowerCase");function VX(c,h,w){c=It(c),h=Ye(h);var R=h?jc(c):0;if(!h||R>=h)return c;var I=(h-R)/2;return Ly(wy(I),w)+c+Ly(Sy(I),w)}function jX(c,h,w){c=It(c),h=Ye(h);var R=h?jc(c):0;return h&&R>>0,w?(c=It(c),c&&(typeof h=="string"||h!=null&&!mw(h))&&(h=Di(h),!h&&Vc(c))?Ja(ko(c),0,w):c.split(h,w)):[]}var YX=Yc(function(c,h,w){return c+(w?" ":"")+_w(h)});function QX(c,h,w){return c=It(c),w=w==null?0:gu(Ye(w),0,c.length),h=Di(h),c.slice(w,w+h.length)==h}function ZX(c,h,w){var R=$.templateSettings;w&&Jr(c,h,w)&&(h=n),c=It(c),h=qy({},h,R,RA);var I=qy({},h.imports,R.imports,RA),z=ar(I),K=O2(I,z),X,te,ce=0,de=h.interpolate||ss,he="__p += '",be=I2((h.escape||ss).source+"|"+de.source+"|"+(de===br?th:ss).source+"|"+(h.evaluate||ss).source+"|$","g"),Oe="//# sourceURL="+(Nt.call(h,"sourceURL")?(h.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++ay+"]")+` +`;c.replace(be,function(Fe,st,ht,Fi,ei,Bi){return ht||(ht=Fi),he+=c.slice(ce,Bi).replace(ah,AG),st&&(X=!0,he+=`' + +__e(`+st+`) + +'`),ei&&(te=!0,he+=`'; +`+ei+`; +__p += '`),ht&&(he+=`' + +((__t = (`+ht+`)) == null ? '' : __t) + +'`),ce=Bi+Fe.length,Fe}),he+=`'; +`;var $e=Nt.call(h,"variable")&&h.variable;if(!$e)he=`with (obj) { +`+he+` +} +`;else if(Jf.test($e))throw new Ve(a);he=(te?he.replace(Vs,""):he).replace(Ji,"$1").replace(js,"$1;"),he="function("+($e||"obj")+`) { +`+($e?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(X?", __e = _.escape":"")+(te?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+he+`return __p +}`;var Ze=SP(function(){return Tt(z,Oe+"return "+he).apply(n,K)});if(Ze.source=he,gw(Ze))throw Ze;return Ze}function JX(c){return It(c).toLowerCase()}function eY(c){return It(c).toUpperCase()}function tY(c,h,w){if(c=It(c),c&&(w||h===n))return O6(c);if(!c||!(h=Di(h)))return c;var R=ko(c),I=ko(h),z=k6(R,I),K=I6(R,I)+1;return Ja(R,z,K).join("")}function nY(c,h,w){if(c=It(c),c&&(w||h===n))return c.slice(0,N6(c)+1);if(!c||!(h=Di(h)))return c;var R=ko(c),I=I6(R,ko(h))+1;return Ja(R,0,I).join("")}function rY(c,h,w){if(c=It(c),c&&(w||h===n))return c.replace(to,"");if(!c||!(h=Di(h)))return c;var R=ko(c),I=k6(R,ko(h));return Ja(R,I).join("")}function iY(c,h){var w=O,R=M;if(hn(h)){var I="separator"in h?h.separator:I;w="length"in h?Ye(h.length):w,R="omission"in h?Di(h.omission):R}c=It(c);var z=c.length;if(Vc(c)){var K=ko(c);z=K.length}if(w>=z)return c;var X=w-jc(R);if(X<1)return R;var te=K?Ja(K,0,X).join(""):c.slice(0,X);if(I===n)return te+R;if(K&&(X+=te.length-X),mw(I)){if(c.slice(X).search(I)){var ce,de=te;for(I.global||(I=I2(I.source,It(Po.exec(I))+"g")),I.lastIndex=0;ce=I.exec(de);)var he=ce.index;te=te.slice(0,he===n?X:he)}}else if(c.indexOf(Di(I),X)!=X){var be=te.lastIndexOf(I);be>-1&&(te=te.slice(0,be))}return te+R}function oY(c){return c=It(c),c&&Kn.test(c)?c.replace(Xt,NG):c}var sY=Yc(function(c,h,w){return c+(w?" ":"")+h.toUpperCase()}),_w=wA("toUpperCase");function bP(c,h,w){return c=It(c),h=w?n:h,h===n?RG(c)?$G(c):bG(c):c.match(h)||[]}var SP=et(function(c,h){try{return Ni(c,n,h)}catch(w){return gw(w)?w:new Ve(w)}}),aY=Ys(function(c,h){return no(h,function(w){w=us(w),Ks(c,w,hw(c[w],c))}),c});function lY(c){var h=c==null?0:c.length,w=De();return c=h?an(c,function(R){if(typeof R[1]!="function")throw new ro(s);return[w(R[0]),R[1]]}):[],et(function(R){for(var I=-1;++ID)return[];var w=q,R=Lr(c,q);h=De(h),c-=q;for(var I=R2(R,h);++w0||h<0)?new ut(w):(c<0?w=w.takeRight(-c):c&&(w=w.drop(c)),h!==n&&(h=Ye(h),w=h<0?w.dropRight(-h):w.take(h-c)),w)},ut.prototype.takeRightWhile=function(c){return this.reverse().takeWhile(c).reverse()},ut.prototype.toArray=function(){return this.take(q)},as(ut.prototype,function(c,h){var w=/^(?:filter|find|map|reject)|While$/.test(h),R=/^(?:head|last)$/.test(h),I=$[R?"take"+(h=="last"?"Right":""):h],z=R||/^find/.test(h);I&&($.prototype[h]=function(){var K=this.__wrapped__,X=R?[1]:arguments,te=K instanceof ut,ce=X[0],de=te||Ge(K),he=function(st){var ht=I.apply($,qa([st],X));return R&&be?ht[0]:ht};de&&w&&typeof ce=="function"&&ce.length!=1&&(te=de=!1);var be=this.__chain__,Oe=!!this.__actions__.length,$e=z&&!be,Ze=te&&!Oe;if(!z&&de){K=Ze?K:new ut(this);var Fe=c.apply(K,X);return Fe.__actions__.push({func:Uy,args:[he],thisArg:n}),new io(Fe,be)}return $e&&Ze?c.apply(this,X):(Fe=this.thru(he),$e?R?Fe.value()[0]:Fe.value():Fe)})}),no(["pop","push","shift","sort","splice","unshift"],function(c){var h=fy[c],w=/^(?:push|sort|unshift)$/.test(c)?"tap":"thru",R=/^(?:pop|shift)$/.test(c);$.prototype[c]=function(){var I=arguments;if(R&&!this.__chain__){var z=this.value();return h.apply(Ge(z)?z:[],I)}return this[w](function(K){return h.apply(Ge(K)?K:[],I)})}}),as(ut.prototype,function(c,h){var w=$[h];if(w){var R=w.name+"";Nt.call(qc,R)||(qc[R]=[]),qc[R].push({name:h,func:w})}}),qc[My(n,_).name]=[{name:"wrapper",func:n}],ut.prototype.clone=oH,ut.prototype.reverse=sH,ut.prototype.value=aH,$.prototype.at=Dq,$.prototype.chain=$q,$.prototype.commit=Fq,$.prototype.next=Bq,$.prototype.plant=zq,$.prototype.reverse=Vq,$.prototype.toJSON=$.prototype.valueOf=$.prototype.value=jq,$.prototype.first=$.prototype.head,vh&&($.prototype[vh]=Uq),$},Gc=FG();bt?((bt.exports=Gc)._=Gc,Je._=Gc):qe._=Gc}).call(He)})(w1,w1.exports);var Yue=w1.exports,x1=globalThis&&globalThis.__generator||function(e,t){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(u){return function(d){return l([u,d])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(o=u[0]&2?i.return:u[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,u[1])).done)return o;switch(i=0,o&&(u=[u[0]&2,o.value]),u[0]){case 0:case 1:o=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,i=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]"u"||navigator.onLine===void 0?!0:navigator.onLine}function sce(){return typeof document>"u"?!0:document.visibilityState!=="hidden"}var z9=Jo;function d$(e,t){if(e===t||!(z9(e)&&z9(t)||Array.isArray(e)&&Array.isArray(t)))return t;for(var n=Object.keys(t),r=Object.keys(e),i=n.length===r.length,o=Array.isArray(t)?[]:{},s=0,a=n;s=200&&e.status<=299},lce=function(e){return/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"")};function j9(e){if(!Jo(e))return e;for(var t=In({},e),n=0,r=Object.entries(t);n"u"&&a===V9&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(y,S){return E1(t,null,function(){var C,T,E,P,k,O,M,G,U,A,N,F,B,D,V,j,q,Z,ee,ie,se,le,W,ne,fe,pe,ve,ye,We,Me,Ee,lt,_e,jt,Wn,Bt;return x1(this,function(it){switch(it.label){case 0:return C=S.signal,T=S.getState,E=S.extra,P=S.endpoint,k=S.forced,O=S.type,G=typeof y=="string"?{url:y}:y,U=G.url,A=G.headers,N=A===void 0?new Headers(_.headers):A,F=G.params,B=F===void 0?void 0:F,D=G.responseHandler,V=D===void 0?v??"json":D,j=G.validateStatus,q=j===void 0?x??ace:j,Z=G.timeout,ee=Z===void 0?m:Z,ie=B9(G,["url","headers","params","responseHandler","validateStatus","timeout"]),se=In(xs(In({},_),{signal:C}),ie),N=new Headers(j9(N)),le=se,[4,o(N,{getState:T,extra:E,endpoint:P,forced:k,type:O})];case 1:le.headers=it.sent()||N,W=function(mt){return typeof mt=="object"&&(Jo(mt)||Array.isArray(mt)||typeof mt.toJSON=="function")},!se.headers.has("content-type")&&W(se.body)&&se.headers.set("content-type",p),W(se.body)&&d(se.headers)&&(se.body=JSON.stringify(se.body,g)),B&&(ne=~U.indexOf("?")?"&":"?",fe=l?l(B):new URLSearchParams(j9(B)),U+=ne+fe),U=ice(r,U),pe=new Request(U,se),ve=pe.clone(),M={request:ve},We=!1,Me=ee&&setTimeout(function(){We=!0,S.abort()},ee),it.label=2;case 2:return it.trys.push([2,4,5,6]),[4,a(pe)];case 3:return ye=it.sent(),[3,6];case 4:return Ee=it.sent(),[2,{error:{status:We?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(Ee)},meta:M}];case 5:return Me&&clearTimeout(Me),[7];case 6:lt=ye.clone(),M.response=lt,jt="",it.label=7;case 7:return it.trys.push([7,9,,10]),[4,Promise.all([b(ye,V).then(function(mt){return _e=mt},function(mt){return Wn=mt}),lt.text().then(function(mt){return jt=mt},function(){})])];case 8:if(it.sent(),Wn)throw Wn;return[3,10];case 9:return Bt=it.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:ye.status,data:jt,error:String(Bt)},meta:M}];case 10:return[2,q(ye,_e)?{data:_e,meta:M}:{error:{status:ye.status,data:_e},meta:M}]}})})};function b(y,S){return E1(this,null,function(){var C;return x1(this,function(T){switch(T.label){case 0:return typeof S=="function"?[2,S(y)]:(S==="content-type"&&(S=d(y.headers)?"json":"text"),S!=="json"?[3,2]:[4,y.text()]);case 1:return C=T.sent(),[2,C.length?JSON.parse(C):null];case 2:return[2,y.text()]}})})}}var G9=function(){function e(t,n){n===void 0&&(n=void 0),this.value=t,this.meta=n}return e}(),xT=Re("__rtkq/focused"),f$=Re("__rtkq/unfocused"),CT=Re("__rtkq/online"),h$=Re("__rtkq/offline"),Ls;(function(e){e.query="query",e.mutation="mutation"})(Ls||(Ls={}));function p$(e){return e.type===Ls.query}function cce(e){return e.type===Ls.mutation}function g$(e,t,n,r,i,o){return dce(e)?e(t,n,r,i).map(P3).map(o):Array.isArray(e)?e.map(P3).map(o):[]}function dce(e){return typeof e=="function"}function P3(e){return typeof e=="string"?{type:e}:e}function ux(e){return e!=null}var xg=Symbol("forceQueryFn"),R3=function(e){return typeof e[xg]=="function"};function fce(e){var t=e.serializeQueryArgs,n=e.queryThunk,r=e.mutationThunk,i=e.api,o=e.context,s=new Map,a=new Map,l=i.internalActions,u=l.unsubscribeQueryResult,d=l.removeMutationResult,f=l.updateSubscriptionOptions;return{buildInitiateQuery:b,buildInitiateMutation:y,getRunningQueryThunk:m,getRunningMutationThunk:v,getRunningQueriesThunk:x,getRunningMutationsThunk:_,getRunningOperationPromises:g,removalWarning:p};function p(){throw new Error(`This method had to be removed due to a conceptual bug in RTK. + Please see https://github.com/reduxjs/redux-toolkit/pull/2481 for details. + See https://redux-toolkit.js.org/rtk-query/usage/server-side-rendering for new guidance on SSR.`)}function g(){typeof process<"u";var S=function(C){return Array.from(C.values()).flatMap(function(T){return T?Object.values(T):[]})};return C1(C1([],S(s)),S(a)).filter(ux)}function m(S,C){return function(T){var E,P=o.endpointDefinitions[S],k=t({queryArgs:C,endpointDefinition:P,endpointName:S});return(E=s.get(T))==null?void 0:E[k]}}function v(S,C){return function(T){var E;return(E=a.get(T))==null?void 0:E[C]}}function x(){return function(S){return Object.values(s.get(S)||{}).filter(ux)}}function _(){return function(S){return Object.values(a.get(S)||{}).filter(ux)}}function b(S,C){var T=function(E,P){var k=P===void 0?{}:P,O=k.subscribe,M=O===void 0?!0:O,G=k.forceRefetch,U=k.subscriptionOptions,A=xg,N=k[A];return function(F,B){var D,V,j=t({queryArgs:E,endpointDefinition:C,endpointName:S}),q=n((D={type:"query",subscribe:M,forceRefetch:G,subscriptionOptions:U,endpointName:S,originalArgs:E,queryCacheKey:j},D[xg]=N,D)),Z=i.endpoints[S].select(E),ee=F(q),ie=Z(B()),se=ee.requestId,le=ee.abort,W=ie.requestId!==se,ne=(V=s.get(F))==null?void 0:V[j],fe=function(){return Z(B())},pe=Object.assign(N?ee.then(fe):W&&!ne?Promise.resolve(ie):Promise.all([ne,ee]).then(fe),{arg:E,requestId:se,subscriptionOptions:U,queryCacheKey:j,abort:le,unwrap:function(){return E1(this,null,function(){var ye;return x1(this,function(We){switch(We.label){case 0:return[4,pe];case 1:if(ye=We.sent(),ye.isError)throw ye.error;return[2,ye.data]}})})},refetch:function(){return F(T(E,{subscribe:!1,forceRefetch:!0}))},unsubscribe:function(){M&&F(u({queryCacheKey:j,requestId:se}))},updateSubscriptionOptions:function(ye){pe.subscriptionOptions=ye,F(f({endpointName:S,requestId:se,queryCacheKey:j,options:ye}))}});if(!ne&&!W&&!N){var ve=s.get(F)||{};ve[j]=pe,s.set(F,ve),pe.then(function(){delete ve[j],Object.keys(ve).length||s.delete(F)})}return pe}};return T}function y(S){return function(C,T){var E=T===void 0?{}:T,P=E.track,k=P===void 0?!0:P,O=E.fixedCacheKey;return function(M,G){var U=r({type:"mutation",endpointName:S,originalArgs:C,track:k,fixedCacheKey:O}),A=M(U),N=A.requestId,F=A.abort,B=A.unwrap,D=A.unwrap().then(function(Z){return{data:Z}}).catch(function(Z){return{error:Z}}),V=function(){M(d({requestId:N,fixedCacheKey:O}))},j=Object.assign(D,{arg:A.arg,requestId:N,abort:F,unwrap:B,unsubscribe:V,reset:V}),q=a.get(M)||{};return a.set(M,q),q[N]=j,j.then(function(){delete q[N],Object.keys(q).length||a.delete(M)}),O&&(q[O]=j,j.then(function(){q[O]===j&&(delete q[O],Object.keys(q).length||a.delete(M))})),j}}}}function H9(e){return e}function hce(e){var t=this,n=e.reducerPath,r=e.baseQuery,i=e.context.endpointDefinitions,o=e.serializeQueryArgs,s=e.api,a=function(y,S,C){return function(T){var E=i[y];T(s.internalActions.queryResultPatched({queryCacheKey:o({queryArgs:S,endpointDefinition:E,endpointName:y}),patches:C}))}},l=function(y,S,C){return function(T,E){var P,k,O=s.endpoints[y].select(S)(E()),M={patches:[],inversePatches:[],undo:function(){return T(s.util.patchQueryData(y,S,M.inversePatches))}};if(O.status===ln.uninitialized)return M;if("data"in O)if(Ai(O.data)){var G=Q4(O.data,C),U=G[1],A=G[2];(P=M.patches).push.apply(P,U),(k=M.inversePatches).push.apply(k,A)}else{var N=C(O.data);M.patches.push({op:"replace",path:[],value:N}),M.inversePatches.push({op:"replace",path:[],value:O.data})}return T(s.util.patchQueryData(y,S,M.patches)),M}},u=function(y,S,C){return function(T){var E;return T(s.endpoints[y].initiate(S,(E={subscribe:!1,forceRefetch:!0},E[xg]=function(){return{data:C}},E)))}},d=function(y,S){return E1(t,[y,S],function(C,T){var E,P,k,O,M,G,U,A,N,F,B,D,V,j,q,Z,ee,ie,se=T.signal,le=T.abort,W=T.rejectWithValue,ne=T.fulfillWithValue,fe=T.dispatch,pe=T.getState,ve=T.extra;return x1(this,function(ye){switch(ye.label){case 0:E=i[C.endpointName],ye.label=1;case 1:return ye.trys.push([1,8,,13]),P=H9,k=void 0,O={signal:se,abort:le,dispatch:fe,getState:pe,extra:ve,endpoint:C.endpointName,type:C.type,forced:C.type==="query"?f(C,pe()):void 0},M=C.type==="query"?C[xg]:void 0,M?(k=M(),[3,6]):[3,2];case 2:return E.query?[4,r(E.query(C.originalArgs),O,E.extraOptions)]:[3,4];case 3:return k=ye.sent(),E.transformResponse&&(P=E.transformResponse),[3,6];case 4:return[4,E.queryFn(C.originalArgs,O,E.extraOptions,function(We){return r(We,O,E.extraOptions)})];case 5:k=ye.sent(),ye.label=6;case 6:if(typeof process<"u",k.error)throw new G9(k.error,k.meta);return B=ne,[4,P(k.data,k.meta,C.originalArgs)];case 7:return[2,B.apply(void 0,[ye.sent(),(ee={fulfilledTimeStamp:Date.now(),baseQueryMeta:k.meta},ee[Du]=!0,ee)])];case 8:if(D=ye.sent(),V=D,!(V instanceof G9))return[3,12];j=H9,E.query&&E.transformErrorResponse&&(j=E.transformErrorResponse),ye.label=9;case 9:return ye.trys.push([9,11,,12]),q=W,[4,j(V.value,V.meta,C.originalArgs)];case 10:return[2,q.apply(void 0,[ye.sent(),(ie={baseQueryMeta:V.meta},ie[Du]=!0,ie)])];case 11:return Z=ye.sent(),V=Z,[3,12];case 12:throw typeof process<"u",console.error(V),V;case 13:return[2]}})})};function f(y,S){var C,T,E,P,k=(T=(C=S[n])==null?void 0:C.queries)==null?void 0:T[y.queryCacheKey],O=(E=S[n])==null?void 0:E.config.refetchOnMountOrArgChange,M=k==null?void 0:k.fulfilledTimeStamp,G=(P=y.forceRefetch)!=null?P:y.subscribe&&O;return G?G===!0||(Number(new Date)-Number(M))/1e3>=G:!1}var p=Bl(n+"/executeQuery",d,{getPendingMeta:function(){var y;return y={startedTimeStamp:Date.now()},y[Du]=!0,y},condition:function(y,S){var C=S.getState,T,E,P,k=C(),O=(E=(T=k[n])==null?void 0:T.queries)==null?void 0:E[y.queryCacheKey],M=O==null?void 0:O.fulfilledTimeStamp,G=y.originalArgs,U=O==null?void 0:O.originalArgs,A=i[y.endpointName];return R3(y)?!0:(O==null?void 0:O.status)==="pending"?!1:f(y,k)||p$(A)&&((P=A==null?void 0:A.forceRefetch)!=null&&P.call(A,{currentArg:G,previousArg:U,endpointState:O,state:k}))?!0:!M},dispatchConditionRejection:!0}),g=Bl(n+"/executeMutation",d,{getPendingMeta:function(){var y;return y={startedTimeStamp:Date.now()},y[Du]=!0,y}}),m=function(y){return"force"in y},v=function(y){return"ifOlderThan"in y},x=function(y,S,C){return function(T,E){var P=m(C)&&C.force,k=v(C)&&C.ifOlderThan,O=function(A){return A===void 0&&(A=!0),s.endpoints[y].initiate(S,{forceRefetch:A})},M=s.endpoints[y].select(S)(E());if(P)T(O());else if(k){var G=M==null?void 0:M.fulfilledTimeStamp;if(!G){T(O());return}var U=(Number(new Date)-Number(new Date(G)))/1e3>=k;U&&T(O())}else T(O(!1))}};function _(y){return function(S){var C,T;return((T=(C=S==null?void 0:S.meta)==null?void 0:C.arg)==null?void 0:T.endpointName)===y}}function b(y,S){return{matchPending:Xd(H_(y),_(S)),matchFulfilled:Xd(tu(y),_(S)),matchRejected:Xd(_f(y),_(S))}}return{queryThunk:p,mutationThunk:g,prefetch:x,updateQueryData:l,upsertQueryData:u,patchQueryData:a,buildMatchThunkActions:b}}function m$(e,t,n,r){return g$(n[e.meta.arg.endpointName][t],tu(e)?e.payload:void 0,sm(e)?e.payload:void 0,e.meta.arg.originalArgs,"baseQueryMeta"in e.meta?e.meta.baseQueryMeta:void 0,r)}function m0(e,t,n){var r=e[t];r&&n(r)}function Cg(e){var t;return(t="arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)!=null?t:e.requestId}function W9(e,t,n){var r=e[Cg(t)];r&&n(r)}var Vh={};function pce(e){var t=e.reducerPath,n=e.queryThunk,r=e.mutationThunk,i=e.context,o=i.endpointDefinitions,s=i.apiUid,a=i.extractRehydrationInfo,l=i.hasRehydrationInfo,u=e.assertTagType,d=e.config,f=Re(t+"/resetApiState"),p=yn({name:t+"/queries",initialState:Vh,reducers:{removeQueryResult:{reducer:function(C,T){var E=T.payload.queryCacheKey;delete C[E]},prepare:uv()},queryResultPatched:function(C,T){var E=T.payload,P=E.queryCacheKey,k=E.patches;m0(C,P,function(O){O.data=c3(O.data,k.concat())})}},extraReducers:function(C){C.addCase(n.pending,function(T,E){var P=E.meta,k=E.meta.arg,O,M,G=R3(k);(k.subscribe||G)&&((M=T[O=k.queryCacheKey])!=null||(T[O]={status:ln.uninitialized,endpointName:k.endpointName})),m0(T,k.queryCacheKey,function(U){U.status=ln.pending,U.requestId=G&&U.requestId?U.requestId:P.requestId,k.originalArgs!==void 0&&(U.originalArgs=k.originalArgs),U.startedTimeStamp=P.startedTimeStamp})}).addCase(n.fulfilled,function(T,E){var P=E.meta,k=E.payload;m0(T,P.arg.queryCacheKey,function(O){var M;if(!(O.requestId!==P.requestId&&!R3(P.arg))){var G=o[P.arg.endpointName].merge;if(O.status=ln.fulfilled,G)if(O.data!==void 0){var U=P.fulfilledTimeStamp,A=P.arg,N=P.baseQueryMeta,F=P.requestId,B=Jl(O.data,function(D){return G(D,k,{arg:A.originalArgs,baseQueryMeta:N,fulfilledTimeStamp:U,requestId:F})});O.data=B}else O.data=k;else O.data=(M=o[P.arg.endpointName].structuralSharing)==null||M?d$(ai(O.data)?G4(O.data):O.data,k):k;delete O.error,O.fulfilledTimeStamp=P.fulfilledTimeStamp}})}).addCase(n.rejected,function(T,E){var P=E.meta,k=P.condition,O=P.arg,M=P.requestId,G=E.error,U=E.payload;m0(T,O.queryCacheKey,function(A){if(!k){if(A.requestId!==M)return;A.status=ln.rejected,A.error=U??G}})}).addMatcher(l,function(T,E){for(var P=a(E).queries,k=0,O=Object.entries(P);k"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?$ce:Dce;_$.useSyncExternalStore=Cf.useSyncExternalStore!==void 0?Cf.useSyncExternalStore:Fce;v$.exports=_$;var Bce=v$.exports,b$={exports:{}},S$={};/** + * @license React + * use-sync-external-store-shim/with-selector.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 ab=L,Uce=Bce;function zce(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Vce=typeof Object.is=="function"?Object.is:zce,jce=Uce.useSyncExternalStore,Gce=ab.useRef,Hce=ab.useEffect,Wce=ab.useMemo,qce=ab.useDebugValue;S$.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=Gce(null);if(o.current===null){var s={hasValue:!1,value:null};o.current=s}else s=o.current;o=Wce(function(){function l(g){if(!u){if(u=!0,d=g,g=r(g),i!==void 0&&s.hasValue){var m=s.value;if(i(m,g))return f=m}return f=g}if(m=f,Vce(d,g))return m;var v=r(g);return i!==void 0&&i(m,v)?m:(d=g,f=v)}var u=!1,d,f,p=n===void 0?null:n;return[function(){return l(t())},p===null?void 0:function(){return l(p())}]},[t,n,r,i]);var a=jce(e,o[0],o[1]);return Hce(function(){s.hasValue=!0,s.value=a},[a]),qce(a),a};b$.exports=S$;var w$=b$.exports;const Kce=dc(w$);function Xce(e){e()}let x$=Xce;const Yce=e=>x$=e,Qce=()=>x$,J9=Symbol.for(`react-redux-context-${L.version}`),eR=globalThis;function Zce(){let e=eR[J9];return e||(e=L.createContext(null),eR[J9]=e),e}const Gl=new Proxy({},new Proxy({},{get(e,t){const n=Zce();return(r,...i)=>Reflect[t](n,...i)}}));function TT(e=Gl){return function(){return L.useContext(e)}}const C$=TT(),Jce=()=>{throw new Error("uSES not initialized!")};let T$=Jce;const ede=e=>{T$=e},tde=(e,t)=>e===t;function nde(e=Gl){const t=e===Gl?C$:TT(e);return function(r,i={}){const{equalityFn:o=tde,stabilityCheck:s=void 0,noopCheck:a=void 0}=typeof i=="function"?{equalityFn:i}:i,{store:l,subscription:u,getServerState:d,stabilityCheck:f,noopCheck:p}=t();L.useRef(!0);const g=L.useCallback({[r.name](v){return r(v)}}[r.name],[r,f,s]),m=T$(u.addNestedSub,l.getState,d||l.getState,g,o);return L.useDebugValue(m),m}}const E$=nde();function A1(){return A1=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let r=t;for(;r;)r.callback(),r=r.next})},get(){let r=[],i=t;for(;i;)r.push(i),i=i.next;return r},subscribe(r){let i=!0,o=n={callback:r,next:null,prev:n};return o.prev?o.prev.next=o:t=o,function(){!i||t===null||(i=!1,o.next?o.next.prev=o.prev:n=o.prev,o.prev?o.prev.next=o.next:t=o.next)}}}}const tR={notify(){},get:()=>[]};function pde(e,t){let n,r=tR;function i(f){return l(),r.subscribe(f)}function o(){r.notify()}function s(){d.onStateChange&&d.onStateChange()}function a(){return!!n}function l(){n||(n=t?t.addNestedSub(s):e.subscribe(s),r=hde())}function u(){n&&(n(),n=void 0,r.clear(),r=tR)}const d={addNestedSub:i,notifyNestedSubs:o,handleChangeWrapper:s,isSubscribed:a,trySubscribe:l,tryUnsubscribe:u,getListeners:()=>r};return d}const gde=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",mde=gde?L.useLayoutEffect:L.useEffect;function nR(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function P1(e,t){if(nR(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;i{const u=pde(e);return{store:e,subscription:u,getServerState:r?()=>r:void 0,stabilityCheck:i,noopCheck:o}},[e,r,i,o]),a=L.useMemo(()=>e.getState(),[e]);mde(()=>{const{subscription:u}=s;return u.onStateChange=u.notifyNestedSubs,u.trySubscribe(),a!==e.getState()&&u.notifyNestedSubs(),()=>{u.tryUnsubscribe(),u.onStateChange=void 0}},[s,a]);const l=t||Gl;return Lt.createElement(l.Provider,{value:s},n)}function I$(e=Gl){const t=e===Gl?C$:TT(e);return function(){const{store:r}=t();return r}}const M$=I$();function vde(e=Gl){const t=e===Gl?M$:I$(e);return function(){return t().dispatch}}const N$=vde();ede(w$.useSyncExternalStoreWithSelector);Yce(bs.unstable_batchedUpdates);var _de=globalThis&&globalThis.__spreadArray||function(e,t){for(var n=0,r=t.length,i=e.length;n{const r=wg.get(),i=Sg.get(),o=S1.get();return uce({baseUrl:`${r??""}/api/v1`,prepareHeaders:a=>(i&&a.set("Authorization",`Bearer ${i}`),o&&a.set("project-id",o),a)})(e,t,n)},Hl=Nde({baseQuery:Dde,reducerPath:"api",tagTypes:Lde,endpoints:()=>({})}),$de=(e,t)=>{const n=new Date(e),r=new Date(t);return n>r?1:ne==null,jde=e=>encodeURIComponent(e).replace(/[!'()*]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),k3=Symbol("encodeFragmentIdentifier");function Gde(e){switch(e.arrayFormat){case"index":return t=>(n,r)=>{const i=n.length;return r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Fn(t,e),"[",i,"]"].join("")]:[...n,[Fn(t,e),"[",Fn(i,e),"]=",Fn(r,e)].join("")]};case"bracket":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Fn(t,e),"[]"].join("")]:[...n,[Fn(t,e),"[]=",Fn(r,e)].join("")];case"colon-list-separator":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Fn(t,e),":list="].join("")]:[...n,[Fn(t,e),":list=",Fn(r,e)].join("")];case"comma":case"separator":case"bracket-separator":{const t=e.arrayFormat==="bracket-separator"?"[]=":"=";return n=>(r,i)=>i===void 0||e.skipNull&&i===null||e.skipEmptyString&&i===""?r:(i=i===null?"":i,r.length===0?[[Fn(n,e),t,Fn(i,e)].join("")]:[[r,Fn(i,e)].join(e.arrayFormatSeparator)])}default:return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,Fn(t,e)]:[...n,[Fn(t,e),"=",Fn(r,e)].join("")]}}function Hde(e){let t;switch(e.arrayFormat){case"index":return(n,r,i)=>{if(t=/\[(\d*)]$/.exec(n),n=n.replace(/\[\d*]$/,""),!t){i[n]=r;return}i[n]===void 0&&(i[n]={}),i[n][t[1]]=r};case"bracket":return(n,r,i)=>{if(t=/(\[])$/.exec(n),n=n.replace(/\[]$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"colon-list-separator":return(n,r,i)=>{if(t=/(:list)$/.exec(n),n=n.replace(/:list$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"comma":case"separator":return(n,r,i)=>{const o=typeof r=="string"&&r.includes(e.arrayFormatSeparator),s=typeof r=="string"&&!o&&da(r,e).includes(e.arrayFormatSeparator);r=s?da(r,e):r;const a=o||s?r.split(e.arrayFormatSeparator).map(l=>da(l,e)):r===null?r:da(r,e);i[n]=a};case"bracket-separator":return(n,r,i)=>{const o=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!o){i[n]=r&&da(r,e);return}const s=r===null?[]:r.split(e.arrayFormatSeparator).map(a=>da(a,e));if(i[n]===void 0){i[n]=s;return}i[n]=[...i[n],...s]};default:return(n,r,i)=>{if(i[n]===void 0){i[n]=r;return}i[n]=[...[i[n]].flat(),r]}}}function $$(e){if(typeof e!="string"||e.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function Fn(e,t){return t.encode?t.strict?jde(e):encodeURIComponent(e):e}function da(e,t){return t.decode?Ude(e):e}function F$(e){return Array.isArray(e)?e.sort():typeof e=="object"?F$(Object.keys(e)).sort((t,n)=>Number(t)-Number(n)).map(t=>e[t]):e}function B$(e){const t=e.indexOf("#");return t!==-1&&(e=e.slice(0,t)),e}function Wde(e){let t="";const n=e.indexOf("#");return n!==-1&&(t=e.slice(n)),t}function lR(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""?e=Number(e):t.parseBooleans&&e!==null&&(e.toLowerCase()==="true"||e.toLowerCase()==="false")&&(e=e.toLowerCase()==="true"),e}function kT(e){e=B$(e);const t=e.indexOf("?");return t===-1?"":e.slice(t+1)}function IT(e,t){t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...t},$$(t.arrayFormatSeparator);const n=Hde(t),r=Object.create(null);if(typeof e!="string"||(e=e.trim().replace(/^[?#&]/,""),!e))return r;for(const i of e.split("&")){if(i==="")continue;const o=t.decode?i.replace(/\+/g," "):i;let[s,a]=D$(o,"=");s===void 0&&(s=o),a=a===void 0?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?a:da(a,t),n(da(s,t),a,r)}for(const[i,o]of Object.entries(r))if(typeof o=="object"&&o!==null)for(const[s,a]of Object.entries(o))o[s]=lR(a,t);else r[i]=lR(o,t);return t.sort===!1?r:(t.sort===!0?Object.keys(r).sort():Object.keys(r).sort(t.sort)).reduce((i,o)=>{const s=r[o];return s&&typeof s=="object"&&!Array.isArray(s)?i[o]=F$(s):i[o]=s,i},Object.create(null))}function U$(e,t){if(!e)return"";t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t},$$(t.arrayFormatSeparator);const n=s=>t.skipNull&&Vde(e[s])||t.skipEmptyString&&e[s]==="",r=Gde(t),i={};for(const[s,a]of Object.entries(e))n(s)||(i[s]=a);const o=Object.keys(i);return t.sort!==!1&&o.sort(t.sort),o.map(s=>{const a=e[s];return a===void 0?"":a===null?Fn(s,t):Array.isArray(a)?a.length===0&&t.arrayFormat==="bracket-separator"?Fn(s,t)+"[]":a.reduce(r(s),[]).join("&"):Fn(s,t)+"="+Fn(a,t)}).filter(s=>s.length>0).join("&")}function z$(e,t){var i;t={decode:!0,...t};let[n,r]=D$(e,"#");return n===void 0&&(n=e),{url:((i=n==null?void 0:n.split("?"))==null?void 0:i[0])??"",query:IT(kT(e),t),...t&&t.parseFragmentIdentifier&&r?{fragmentIdentifier:da(r,t)}:{}}}function V$(e,t){t={encode:!0,strict:!0,[k3]:!0,...t};const n=B$(e.url).split("?")[0]||"",r=kT(e.url),i={...IT(r,{sort:!1}),...e.query};let o=U$(i,t);o&&(o=`?${o}`);let s=Wde(e.url);if(e.fragmentIdentifier){const a=new URL(n);a.hash=e.fragmentIdentifier,s=t[k3]?a.hash:`#${e.fragmentIdentifier}`}return`${n}${o}${s}`}function j$(e,t,n){n={parseFragmentIdentifier:!0,[k3]:!1,...n};const{url:r,query:i,fragmentIdentifier:o}=z$(e,n);return V$({url:r,query:zde(i,t),fragmentIdentifier:o},n)}function qde(e,t,n){const r=Array.isArray(t)?i=>!t.includes(i):(i,o)=>!t(i,o);return j$(e,r,n)}const fv=Object.freeze(Object.defineProperty({__proto__:null,exclude:qde,extract:kT,parse:IT,parseUrl:z$,pick:j$,stringify:U$,stringifyUrl:V$},Symbol.toStringTag,{value:"Module"})),jh=(e,t)=>{if(!e)return!1;const n=O1.selectAll(e);if(n.length>1){const r=new Date(t.created_at),i=n[n.length-1];if(!i)return!1;const o=new Date(i.created_at);return r>=o}else if([0,1].includes(n.length))return!0;return!1},rl=e=>Vr.includes(e.image_category)?Vr:Sl,pn=eu({selectId:e=>e.image_name,sortComparer:(e,t)=>$de(t.updated_at,e.updated_at)}),O1=pn.getSelectors(),Bo=e=>`images/?${fv.stringify(e,{arrayFormat:"none"})}`,Ui=Hl.injectEndpoints({endpoints:e=>({listBoards:e.query({query:t=>({url:"boards/",params:t}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Ke}];return t&&i.push(...t.items.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllBoards:e.query({query:()=>({url:"boards/",params:{all:!0}}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Ke}];return t&&i.push(...t.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllImageNamesForBoard:e.query({query:t=>({url:`boards/${t}/image_names`}),providesTags:(t,n,r)=>[{type:"ImageNameList",id:r}],keepUnusedDataFor:0}),getBoardImagesTotal:e.query({query:t=>({url:Bo({board_id:t??"none",categories:Vr,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardImagesTotal",id:r??"none"}],transformResponse:t=>t.total}),getBoardAssetsTotal:e.query({query:t=>({url:Bo({board_id:t??"none",categories:Sl,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardAssetsTotal",id:r??"none"}],transformResponse:t=>t.total}),createBoard:e.mutation({query:t=>({url:"boards/",method:"POST",params:{board_name:t}}),invalidatesTags:[{type:"Board",id:Ke}]}),updateBoard:e.mutation({query:({board_id:t,changes:n})=>({url:`boards/${t}`,method:"PATCH",body:n}),invalidatesTags:(t,n,r)=>[{type:"Board",id:r.board_id}]})})}),{useListBoardsQuery:Dke,useListAllBoardsQuery:$ke,useGetBoardImagesTotalQuery:Fke,useGetBoardAssetsTotalQuery:Bke,useCreateBoardMutation:Uke,useUpdateBoardMutation:zke,useListAllImageNamesForBoardQuery:Vke}=Ui,Se=Hl.injectEndpoints({endpoints:e=>({listImages:e.query({query:t=>({url:Bo(t),method:"GET"}),providesTags:(t,n,{board_id:r,categories:i})=>[{type:"ImageList",id:Bo({board_id:r,categories:i})}],serializeQueryArgs:({queryArgs:t})=>{const{board_id:n,categories:r}=t;return Bo({board_id:n,categories:r})},transformResponse(t){const{items:n}=t;return pn.addMany(pn.getInitialState(),n)},merge:(t,n)=>{pn.addMany(t,O1.selectAll(n))},forceRefetch({currentArg:t,previousArg:n}){return(t==null?void 0:t.offset)!==(n==null?void 0:n.offset)},async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){try{const{data:i}=await r;O1.selectAll(i).forEach(o=>{n(Se.util.upsertQueryData("getImageDTO",o.image_name,o))})}catch{}},keepUnusedDataFor:86400}),getIntermediatesCount:e.query({query:()=>({url:Bo({is_intermediate:!0})}),providesTags:["IntermediatesCount"],transformResponse:t=>t.total}),getImageDTO:e.query({query:t=>({url:`images/i/${t}`}),providesTags:(t,n,r)=>[{type:"Image",id:r}],keepUnusedDataFor:86400}),getImageMetadata:e.query({query:t=>({url:`images/i/${t}/metadata`}),providesTags:(t,n,r)=>[{type:"ImageMetadata",id:r}],keepUnusedDataFor:86400}),clearIntermediates:e.mutation({query:()=>({url:"images/clear-intermediates",method:"POST"}),invalidatesTags:["IntermediatesCount"]}),deleteImage:e.mutation({query:({image_name:t})=>({url:`images/i/${t}`,method:"DELETE"}),invalidatesTags:(t,n,{board_id:r})=>[{type:"BoardImagesTotal",id:r??"none"},{type:"BoardAssetsTotal",id:r??"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){const{image_name:i,board_id:o}=t,s={board_id:o??"none",categories:rl(t)},a=n(Se.util.updateQueryData("listImages",s,l=>{pn.removeOne(l,i)}));try{await r}catch{a.undo()}}}),deleteImages:e.mutation({query:({imageDTOs:t})=>({url:"images/delete",method:"POST",body:{image_names:t.map(r=>r.image_name)}}),invalidatesTags:(t,n,{imageDTOs:r})=>{var o;const i=(o=r[0])==null?void 0:o.board_id;return[{type:"BoardImagesTotal",id:i??"none"},{type:"BoardAssetsTotal",id:i??"none"}]},async onQueryStarted({imageDTOs:t},{dispatch:n,queryFulfilled:r}){try{const{data:i}=await r,o=Yue.keyBy(t,"image_name");i.deleted_images.forEach(s=>{const a=o[s];if(a){const l={board_id:a.board_id??"none",categories:rl(a)};n(Se.util.updateQueryData("listImages",l,u=>{pn.removeOne(u,s)}))}})}catch{}}}),changeImageIsIntermediate:e.mutation({query:({imageDTO:t,is_intermediate:n})=>({url:`images/i/${t.image_name}`,method:"PATCH",body:{is_intermediate:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,is_intermediate:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(Se.util.updateQueryData("getImageDTO",t.image_name,l=>{Object.assign(l,{is_intermediate:n})})));const a=rl(t);if(n)s.push(r(Se.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:a},l=>{pn.removeOne(l,t.image_name)})));else{const l={board_id:t.board_id??"none",categories:a},u=Se.endpoints.listImages.select(l)(o()),{data:d}=Vr.includes(t.image_category)?Ui.endpoints.getBoardImagesTotal.select(t.board_id??"none")(o()):Ui.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(o()),f=u.data&&u.data.ids.length>=(d??0),p=jh(u.data,t);(f||p)&&s.push(r(Se.util.updateQueryData("listImages",l,g=>{pn.upsertOne(g,t)})))}try{await i}catch{s.forEach(l=>l.undo())}}}),changeImageSessionId:e.mutation({query:({imageDTO:t,session_id:n})=>({url:`images/i/${t.image_name}`,method:"PATCH",body:{session_id:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,session_id:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(Se.util.updateQueryData("getImageDTO",t.image_name,a=>{Object.assign(a,{session_id:n})})));try{await i}catch{s.forEach(a=>a.undo())}}}),uploadImage:e.mutation({query:({file:t,image_category:n,is_intermediate:r,session_id:i,board_id:o,crop_visible:s})=>{const a=new FormData;return a.append("file",t),{url:"images/upload",method:"POST",body:a,params:{image_category:n,is_intermediate:r,session_id:i,board_id:o==="none"?void 0:o,crop_visible:s}}},async onQueryStarted({file:t,image_category:n,is_intermediate:r,postUploadAction:i,session_id:o,board_id:s},{dispatch:a,queryFulfilled:l}){try{const{data:u}=await l;if(u.is_intermediate)return;a(Se.util.upsertQueryData("getImageDTO",u.image_name,u));const d=rl(u);a(Se.util.updateQueryData("listImages",{board_id:u.board_id??"none",categories:d},f=>{pn.addOne(f,u)})),a(Se.util.invalidateTags([{type:"BoardImagesTotal",id:u.board_id??"none"},{type:"BoardAssetsTotal",id:u.board_id??"none"}]))}catch{}}}),deleteBoard:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE"}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Ke},{type:"ImageList",id:Bo({board_id:"none",categories:Vr})},{type:"ImageList",id:Bo({board_id:"none",categories:Sl})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_board_images:s}=o;s.forEach(u=>{n(Se.util.updateQueryData("getImageDTO",u,d=>{d.board_id=void 0}))});const a=[{categories:Vr},{categories:Sl}],l=s.map(u=>({id:u,changes:{board_id:void 0}}));a.forEach(u=>{n(Se.util.updateQueryData("listImages",u,d=>{pn.updateMany(d,l)}))})}catch{}}}),deleteBoardAndImages:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE",params:{include_images:!0}}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Ke},{type:"ImageList",id:Bo({board_id:"none",categories:Vr})},{type:"ImageList",id:Bo({board_id:"none",categories:Sl})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_images:s}=o;[{categories:Vr},{categories:Sl}].forEach(l=>{n(Se.util.updateQueryData("listImages",l,u=>{pn.removeMany(u,s)}))})}catch{}}}),addImageToBoard:e.mutation({query:({board_id:t,imageDTO:n})=>{const{image_name:r}=n;return{url:"board_images/",method:"POST",body:{board_id:t,image_name:r}}},invalidatesTags:(t,n,{board_id:r,imageDTO:i})=>[{type:"Board",id:r},{type:"BoardImagesTotal",id:r},{type:"BoardAssetsTotal",id:r},{type:"BoardImagesTotal",id:i.board_id??"none"},{type:"BoardAssetsTotal",id:i.board_id??"none"}],async onQueryStarted({board_id:t,imageDTO:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[],a=rl(n);if(s.push(r(Se.util.updateQueryData("getImageDTO",n.image_name,l=>{l.board_id=t}))),!n.is_intermediate){s.push(r(Se.util.updateQueryData("listImages",{board_id:n.board_id??"none",categories:a},g=>{pn.removeOne(g,n.image_name)})));const l={board_id:t??"none",categories:a},u=Se.endpoints.listImages.select(l)(o()),{data:d}=Vr.includes(n.image_category)?Ui.endpoints.getBoardImagesTotal.select(n.board_id??"none")(o()):Ui.endpoints.getBoardAssetsTotal.select(n.board_id??"none")(o()),f=u.data&&u.data.ids.length>=(d??0),p=jh(u.data,n);(f||p)&&s.push(r(Se.util.updateQueryData("listImages",l,g=>{pn.addOne(g,n)})))}try{await i}catch{s.forEach(l=>l.undo())}}}),removeImageFromBoard:e.mutation({query:({imageDTO:t})=>{const{image_name:n}=t;return{url:"board_images/",method:"DELETE",body:{image_name:n}}},invalidatesTags:(t,n,{imageDTO:r})=>{const{board_id:i}=r;return[{type:"Board",id:i??"none"},{type:"BoardImagesTotal",id:i??"none"},{type:"BoardAssetsTotal",id:i??"none"},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}]},async onQueryStarted({imageDTO:t},{dispatch:n,queryFulfilled:r,getState:i}){const o=rl(t),s=[];s.push(n(Se.util.updateQueryData("getImageDTO",t.image_name,p=>{p.board_id=void 0}))),s.push(n(Se.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:o},p=>{pn.removeOne(p,t.image_name)})));const a={board_id:"none",categories:o},l=Se.endpoints.listImages.select(a)(i()),{data:u}=Vr.includes(t.image_category)?Ui.endpoints.getBoardImagesTotal.select(t.board_id??"none")(i()):Ui.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(i()),d=l.data&&l.data.ids.length>=(u??0),f=jh(l.data,t);(d||f)&&s.push(n(Se.util.updateQueryData("listImages",a,p=>{pn.upsertOne(p,t)})));try{await r}catch{s.forEach(p=>p.undo())}}}),addImagesToBoard:e.mutation({query:({board_id:t,imageDTOs:n})=>({url:"board_images/batch",method:"POST",body:{image_names:n.map(r=>r.image_name),board_id:t}}),invalidatesTags:(t,n,{imageDTOs:r,board_id:i})=>{var s;const o=(s=r[0])==null?void 0:s.board_id;return[{type:"Board",id:i??"none"},{type:"BoardImagesTotal",id:i??"none"},{type:"BoardAssetsTotal",id:i??"none"},{type:"BoardImagesTotal",id:o??"none"},{type:"BoardAssetsTotal",id:o??"none"},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}]},async onQueryStarted({board_id:t,imageDTOs:n},{dispatch:r,queryFulfilled:i,getState:o}){try{const{data:s}=await i,{added_image_names:a}=s;a.forEach(l=>{r(Se.util.updateQueryData("getImageDTO",l,_=>{_.board_id=t}));const u=n.find(_=>_.image_name===l);if(!u)return;const d=rl(u),f=u.board_id;r(Se.util.updateQueryData("listImages",{board_id:f??"none",categories:d},_=>{pn.removeOne(_,u.image_name)}));const p={board_id:t,categories:d},g=Se.endpoints.listImages.select(p)(o()),{data:m}=Vr.includes(u.image_category)?Ui.endpoints.getBoardImagesTotal.select(t??"none")(o()):Ui.endpoints.getBoardAssetsTotal.select(t??"none")(o()),v=g.data&&g.data.ids.length>=(m??0),x=(m||0)>=$9?jh(g.data,u):!0;(v||x)&&r(Se.util.updateQueryData("listImages",p,_=>{pn.upsertOne(_,{...u,board_id:t})}))})}catch{}}}),removeImagesFromBoard:e.mutation({query:({imageDTOs:t})=>({url:"board_images/batch/delete",method:"POST",body:{image_names:t.map(n=>n.image_name)}}),invalidatesTags:(t,n,{imageDTOs:r})=>{const i=[],o=[{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}];return t==null||t.removed_image_names.forEach(s=>{var l;const a=(l=r.find(u=>u.image_name===s))==null?void 0:l.board_id;!a||i.includes(a)||(o.push({type:"Board",id:a}),o.push({type:"BoardImagesTotal",id:a}),o.push({type:"BoardAssetsTotal",id:a}))}),o},async onQueryStarted({imageDTOs:t},{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{removed_image_names:s}=o;s.forEach(a=>{n(Se.util.updateQueryData("getImageDTO",a,v=>{v.board_id=void 0}));const l=t.find(v=>v.image_name===a);if(!l)return;const u=rl(l);n(Se.util.updateQueryData("listImages",{board_id:l.board_id??"none",categories:u},v=>{pn.removeOne(v,l.image_name)}));const d={board_id:"none",categories:u},f=Se.endpoints.listImages.select(d)(i()),{data:p}=Vr.includes(l.image_category)?Ui.endpoints.getBoardImagesTotal.select(l.board_id??"none")(i()):Ui.endpoints.getBoardAssetsTotal.select(l.board_id??"none")(i()),g=f.data&&f.data.ids.length>=(p??0),m=(p||0)>=$9?jh(f.data,l):!0;(g||m)&&n(Se.util.updateQueryData("listImages",d,v=>{pn.upsertOne(v,{...l,board_id:"none"})}))})}catch{}}})})}),{useGetIntermediatesCountQuery:jke,useListImagesQuery:Gke,useLazyListImagesQuery:Hke,useGetImageDTOQuery:Wke,useGetImageMetadataQuery:qke,useDeleteImageMutation:Kke,useDeleteImagesMutation:Xke,useUploadImageMutation:Yke,useClearIntermediatesMutation:Qke,useAddImagesToBoardMutation:Zke,useRemoveImagesFromBoardMutation:Jke,useAddImageToBoardMutation:eIe,useRemoveImageFromBoardMutation:tIe,useChangeImageIsIntermediateMutation:nIe,useChangeImageSessionIdMutation:rIe,useDeleteBoardAndImagesMutation:iIe,useDeleteBoardMutation:oIe}=Se,G$=Re("socket/socketConnected"),H$=Re("socket/appSocketConnected"),W$=Re("socket/socketDisconnected"),q$=Re("socket/appSocketDisconnected"),MT=Re("socket/socketSubscribed"),K$=Re("socket/appSocketSubscribed"),X$=Re("socket/socketUnsubscribed"),Y$=Re("socket/appSocketUnsubscribed"),Q$=Re("socket/socketInvocationStarted"),Z$=Re("socket/appSocketInvocationStarted"),NT=Re("socket/socketInvocationComplete"),J$=Re("socket/appSocketInvocationComplete"),eF=Re("socket/socketInvocationError"),LT=Re("socket/appSocketInvocationError"),tF=Re("socket/socketGraphExecutionStateComplete"),nF=Re("socket/appSocketGraphExecutionStateComplete"),rF=Re("socket/socketGeneratorProgress"),iF=Re("socket/appSocketGeneratorProgress"),oF=Re("socket/socketModelLoadStarted"),Kde=Re("socket/appSocketModelLoadStarted"),sF=Re("socket/socketModelLoadCompleted"),Xde=Re("socket/appSocketModelLoadCompleted"),aF=Re("socket/socketSessionRetrievalError"),lF=Re("socket/appSocketSessionRetrievalError"),uF=Re("socket/socketInvocationRetrievalError"),cF=Re("socket/appSocketInvocationRetrievalError"),DT=Re("controlNet/imageProcessed"),_d={none:{type:"none",label:"none",description:"",default:{type:"none"}},canny_image_processor:{type:"canny_image_processor",label:"Canny",description:"",default:{id:"canny_image_processor",type:"canny_image_processor",low_threshold:100,high_threshold:200}},content_shuffle_image_processor:{type:"content_shuffle_image_processor",label:"Content Shuffle",description:"",default:{id:"content_shuffle_image_processor",type:"content_shuffle_image_processor",detect_resolution:512,image_resolution:512,h:512,w:512,f:256}},hed_image_processor:{type:"hed_image_processor",label:"HED",description:"",default:{id:"hed_image_processor",type:"hed_image_processor",detect_resolution:512,image_resolution:512,scribble:!1}},lineart_anime_image_processor:{type:"lineart_anime_image_processor",label:"Lineart Anime",description:"",default:{id:"lineart_anime_image_processor",type:"lineart_anime_image_processor",detect_resolution:512,image_resolution:512}},lineart_image_processor:{type:"lineart_image_processor",label:"Lineart",description:"",default:{id:"lineart_image_processor",type:"lineart_image_processor",detect_resolution:512,image_resolution:512,coarse:!1}},mediapipe_face_processor:{type:"mediapipe_face_processor",label:"Mediapipe Face",description:"",default:{id:"mediapipe_face_processor",type:"mediapipe_face_processor",max_faces:1,min_confidence:.5}},midas_depth_image_processor:{type:"midas_depth_image_processor",label:"Depth (Midas)",description:"",default:{id:"midas_depth_image_processor",type:"midas_depth_image_processor",a_mult:2,bg_th:.1}},mlsd_image_processor:{type:"mlsd_image_processor",label:"M-LSD",description:"",default:{id:"mlsd_image_processor",type:"mlsd_image_processor",detect_resolution:512,image_resolution:512,thr_d:.1,thr_v:.1}},normalbae_image_processor:{type:"normalbae_image_processor",label:"Normal BAE",description:"",default:{id:"normalbae_image_processor",type:"normalbae_image_processor",detect_resolution:512,image_resolution:512}},openpose_image_processor:{type:"openpose_image_processor",label:"Openpose",description:"",default:{id:"openpose_image_processor",type:"openpose_image_processor",detect_resolution:512,image_resolution:512,hand_and_face:!1}},pidi_image_processor:{type:"pidi_image_processor",label:"PIDI",description:"",default:{id:"pidi_image_processor",type:"pidi_image_processor",detect_resolution:512,image_resolution:512,scribble:!1,safe:!1}},zoe_depth_image_processor:{type:"zoe_depth_image_processor",label:"Depth (Zoe)",description:"",default:{id:"zoe_depth_image_processor",type:"zoe_depth_image_processor"}}},b0={canny:"canny_image_processor",mlsd:"mlsd_image_processor",depth:"midas_depth_image_processor",bae:"normalbae_image_processor",lineart:"lineart_image_processor",lineart_anime:"lineart_anime_image_processor",softedge:"hed_image_processor",shuffle:"content_shuffle_image_processor",openpose:"openpose_image_processor",mediapipe:"mediapipe_face_processor"},uR={isEnabled:!0,model:null,weight:1,beginStepPct:0,endStepPct:1,controlMode:"balanced",resizeMode:"just_resize",controlImage:null,processedControlImage:null,processorType:"canny_image_processor",processorNode:_d.canny_image_processor.default,shouldAutoConfig:!0},I3={controlNets:{},isEnabled:!1,pendingControlImages:[]},dF=yn({name:"controlNet",initialState:I3,reducers:{isControlNetEnabledToggled:e=>{e.isEnabled=!e.isEnabled},controlNetAdded:(e,t)=>{const{controlNetId:n,controlNet:r}=t.payload;e.controlNets[n]={...r??uR,controlNetId:n}},controlNetDuplicated:(e,t)=>{const{sourceControlNetId:n,newControlNetId:r}=t.payload,i=e.controlNets[n];if(!i)return;const o=Ur(i);o.controlNetId=r,e.controlNets[r]=o},controlNetAddedFromImage:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n]={...uR,controlNetId:n,controlImage:r}},controlNetRemoved:(e,t)=>{const{controlNetId:n}=t.payload;delete e.controlNets[n]},controlNetToggled:(e,t)=>{const{controlNetId:n}=t.payload,r=e.controlNets[n];r&&(r.isEnabled=!r.isEnabled)},controlNetImageChanged:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload,i=e.controlNets[n];i&&(i.controlImage=r,i.processedControlImage=null,r!==null&&i.processorType!=="none"&&e.pendingControlImages.push(n))},controlNetProcessedImageChanged:(e,t)=>{const{controlNetId:n,processedControlImage:r}=t.payload,i=e.controlNets[n];i&&(i.processedControlImage=r,e.pendingControlImages=e.pendingControlImages.filter(o=>o!==n))},controlNetModelChanged:(e,t)=>{const{controlNetId:n,model:r}=t.payload,i=e.controlNets[n];if(i&&(i.model=r,i.processedControlImage=null,i.shouldAutoConfig)){let o;for(const s in b0)if(r.model_name.includes(s)){o=b0[s];break}o?(i.processorType=o,i.processorNode=_d[o].default):(i.processorType="none",i.processorNode=_d.none.default)}},controlNetWeightChanged:(e,t)=>{const{controlNetId:n,weight:r}=t.payload,i=e.controlNets[n];i&&(i.weight=r)},controlNetBeginStepPctChanged:(e,t)=>{const{controlNetId:n,beginStepPct:r}=t.payload,i=e.controlNets[n];i&&(i.beginStepPct=r)},controlNetEndStepPctChanged:(e,t)=>{const{controlNetId:n,endStepPct:r}=t.payload,i=e.controlNets[n];i&&(i.endStepPct=r)},controlNetControlModeChanged:(e,t)=>{const{controlNetId:n,controlMode:r}=t.payload,i=e.controlNets[n];i&&(i.controlMode=r)},controlNetResizeModeChanged:(e,t)=>{const{controlNetId:n,resizeMode:r}=t.payload,i=e.controlNets[n];i&&(i.resizeMode=r)},controlNetProcessorParamsChanged:(e,t)=>{const{controlNetId:n,changes:r}=t.payload,i=e.controlNets[n];if(!i)return;const o=i.processorNode;i.processorNode={...o,...r},i.shouldAutoConfig=!1},controlNetProcessorTypeChanged:(e,t)=>{const{controlNetId:n,processorType:r}=t.payload,i=e.controlNets[n];i&&(i.processedControlImage=null,i.processorType=r,i.processorNode=_d[r].default,i.shouldAutoConfig=!1)},controlNetAutoConfigToggled:(e,t)=>{var o;const{controlNetId:n}=t.payload,r=e.controlNets[n];if(!r)return;const i=!r.shouldAutoConfig;if(i){let s;for(const a in b0)if((o=r.model)!=null&&o.model_name.includes(a)){s=b0[a];break}s?(r.processorType=s,r.processorNode=_d[s].default):(r.processorType="none",r.processorNode=_d.none.default)}r.shouldAutoConfig=i},controlNetReset:()=>({...I3})},extraReducers:e=>{e.addCase(DT,(t,n)=>{const r=t.controlNets[n.payload.controlNetId];r&&r.controlImage!==null&&t.pendingControlImages.push(n.payload.controlNetId)}),e.addCase(LT,t=>{t.pendingControlImages=[]}),e.addMatcher(i$,t=>{t.pendingControlImages=[]}),e.addMatcher(Se.endpoints.deleteImage.matchFulfilled,(t,n)=>{const{image_name:r}=n.meta.arg.originalArgs;Ul(t.controlNets,i=>{i.controlImage===r&&(i.controlImage=null,i.processedControlImage=null),i.processedControlImage===r&&(i.processedControlImage=null)})})}}),{isControlNetEnabledToggled:sIe,controlNetAdded:aIe,controlNetDuplicated:lIe,controlNetAddedFromImage:uIe,controlNetRemoved:fF,controlNetImageChanged:$T,controlNetProcessedImageChanged:Yde,controlNetToggled:cIe,controlNetModelChanged:cR,controlNetWeightChanged:dIe,controlNetBeginStepPctChanged:fIe,controlNetEndStepPctChanged:hIe,controlNetControlModeChanged:pIe,controlNetResizeModeChanged:gIe,controlNetProcessorParamsChanged:Qde,controlNetProcessorTypeChanged:Zde,controlNetReset:FT,controlNetAutoConfigToggled:dR}=dF.actions,Jde=dF.reducer,hF={isEnabled:!1,maxPrompts:100,combinatorial:!0},efe=hF,pF=yn({name:"dynamicPrompts",initialState:efe,reducers:{maxPromptsChanged:(e,t)=>{e.maxPrompts=t.payload},maxPromptsReset:e=>{e.maxPrompts=hF.maxPrompts},combinatorialToggled:e=>{e.combinatorial=!e.combinatorial},isEnabledToggled:e=>{e.isEnabled=!e.isEnabled}}}),{isEnabledToggled:mIe,maxPromptsChanged:yIe,maxPromptsReset:vIe,combinatorialToggled:_Ie}=pF.actions,tfe=pF.reducer,gF={selection:[],shouldAutoSwitch:!0,autoAssignBoardOnClick:!0,autoAddBoardId:"none",galleryImageMinimumWidth:96,selectedBoardId:"none",galleryView:"images",shouldShowDeleteButton:!1,boardSearchText:""},mF=yn({name:"gallery",initialState:gF,reducers:{imageSelected:(e,t)=>{e.selection=t.payload?[t.payload]:[]},selectionChanged:(e,t)=>{e.selection=t.payload},shouldAutoSwitchChanged:(e,t)=>{e.shouldAutoSwitch=t.payload},setGalleryImageMinimumWidth:(e,t)=>{e.galleryImageMinimumWidth=t.payload},autoAssignBoardOnClickChanged:(e,t)=>{e.autoAssignBoardOnClick=t.payload},boardIdSelected:(e,t)=>{e.selectedBoardId=t.payload,e.galleryView="images"},autoAddBoardIdChanged:(e,t)=>{if(!t.payload){e.autoAddBoardId="none";return}e.autoAddBoardId=t.payload},galleryViewChanged:(e,t)=>{e.galleryView=t.payload},shouldShowDeleteButtonChanged:(e,t)=>{e.shouldShowDeleteButton=t.payload},boardSearchTextChanged:(e,t)=>{e.boardSearchText=t.payload}},extraReducers:e=>{e.addMatcher(rfe,(t,n)=>{const r=n.meta.arg.originalArgs;r===t.selectedBoardId&&(t.selectedBoardId="none",t.galleryView="images"),r===t.autoAddBoardId&&(t.autoAddBoardId="none")}),e.addMatcher(Ui.endpoints.listAllBoards.matchFulfilled,(t,n)=>{const r=n.payload;t.autoAddBoardId&&(r.map(i=>i.board_id).includes(t.autoAddBoardId)||(t.autoAddBoardId="none"))})}}),{imageSelected:Rs,shouldAutoSwitchChanged:bIe,autoAssignBoardOnClickChanged:SIe,setGalleryImageMinimumWidth:wIe,boardIdSelected:M3,autoAddBoardIdChanged:xIe,galleryViewChanged:k1,selectionChanged:CIe,shouldShowDeleteButtonChanged:TIe,boardSearchTextChanged:EIe}=mF.actions,nfe=mF.reducer,rfe=Co(Se.endpoints.deleteBoard.matchFulfilled,Se.endpoints.deleteBoardAndImages.matchFulfilled),ife={imagesToDelete:[],isModalOpen:!1},yF=yn({name:"deleteImageModal",initialState:ife,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imagesToDeleteSelected:(e,t)=>{e.imagesToDelete=t.payload},imageDeletionCanceled:e=>{e.imagesToDelete=[],e.isModalOpen=!1}}}),{isModalOpenChanged:BT,imagesToDeleteSelected:ofe,imageDeletionCanceled:AIe}=yF.actions,sfe=yF.reducer,afe={isModalOpen:!1,imagesToChange:[]},vF=yn({name:"changeBoardModal",initialState:afe,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imagesToChangeSelected:(e,t)=>{e.imagesToChange=t.payload},changeBoardReset:e=>{e.imagesToChange=[],e.isModalOpen=!1}}}),{isModalOpenChanged:PIe,imagesToChangeSelected:RIe,changeBoardReset:OIe}=vF.actions,lfe=vF.reducer,fR={weight:.75},ufe={loras:{}},_F=yn({name:"lora",initialState:ufe,reducers:{loraAdded:(e,t)=>{const{model_name:n,id:r,base_model:i}=t.payload;e.loras[r]={id:r,model_name:n,base_model:i,...fR}},loraRemoved:(e,t)=>{const n=t.payload;delete e.loras[n]},lorasCleared:e=>{e.loras={}},loraWeightChanged:(e,t)=>{const{id:n,weight:r}=t.payload,i=e.loras[n];i&&(i.weight=r)},loraWeightReset:(e,t)=>{const n=t.payload,r=e.loras[n];r&&(r.weight=fR.weight)}}}),{loraAdded:kIe,loraRemoved:bF,loraWeightChanged:IIe,loraWeightReset:MIe,lorasCleared:NIe}=_F.actions,cfe=_F.reducer;function Eo(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n{let t;const n=new Set,r=(l,u)=>{const d=typeof l=="function"?l(t):l;if(!Object.is(d,t)){const f=t;t=u??typeof d!="object"?d:Object.assign({},t,d),n.forEach(p=>p(t,f))}},i=()=>t,a={setState:r,getState:i,subscribe:l=>(n.add(l),()=>n.delete(l)),destroy:()=>{n.clear()}};return t=e(r,i,a),a},dfe=e=>e?hR(e):hR,{useSyncExternalStoreWithSelector:ffe}=Kce;function hfe(e,t=e.getState,n){const r=ffe(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return L.useDebugValue(r),r}function Ri(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,i]of e)if(!Object.is(i,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r=0;r{}};function Pb(){for(var e=0,t=arguments.length,n={},r;e=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}hv.prototype=Pb.prototype={constructor:hv,on:function(e,t){var n=this._,r=gfe(e+"",n),i,o=-1,s=r.length;if(arguments.length<2){for(;++o0)for(var n=new Array(i),r=0,i,o;r=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),gR.hasOwnProperty(t)?{space:gR[t],local:e}:e}function yfe(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===N3&&t.documentElement.namespaceURI===N3?t.createElement(e):t.createElementNS(n,e)}}function vfe(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function SF(e){var t=Rb(e);return(t.local?vfe:yfe)(t)}function _fe(){}function UT(e){return e==null?_fe:function(){return this.querySelector(e)}}function bfe(e){typeof e!="function"&&(e=UT(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i=y&&(y=b+1);!(C=x[y])&&++y=0;)(s=r[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function Hfe(e){e||(e=Wfe);function t(f,p){return f&&p?e(f.__data__,p.__data__):!f-!p}for(var n=this._groups,r=n.length,i=new Array(r),o=0;ot?1:e>=t?0:NaN}function qfe(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Kfe(){return Array.from(this)}function Xfe(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?she:typeof t=="function"?lhe:ahe)(e,t,n??"")):Tf(this.node(),e)}function Tf(e,t){return e.style.getPropertyValue(t)||EF(e).getComputedStyle(e,null).getPropertyValue(t)}function che(e){return function(){delete this[e]}}function dhe(e,t){return function(){this[e]=t}}function fhe(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function hhe(e,t){return arguments.length>1?this.each((t==null?che:typeof t=="function"?fhe:dhe)(e,t)):this.node()[e]}function AF(e){return e.trim().split(/^|\s+/)}function zT(e){return e.classList||new PF(e)}function PF(e){this._node=e,this._names=AF(e.getAttribute("class")||"")}PF.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function RF(e,t){for(var n=zT(e),r=-1,i=t.length;++r=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function zhe(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,o;n()=>e;function L3(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:s,y:a,dx:l,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}L3.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Qhe(e){return!e.ctrlKey&&!e.button}function Zhe(){return this.parentNode}function Jhe(e,t){return t??{x:e.x,y:e.y}}function epe(){return navigator.maxTouchPoints||"ontouchstart"in this}function tpe(){var e=Qhe,t=Zhe,n=Jhe,r=epe,i={},o=Pb("start","drag","end"),s=0,a,l,u,d,f=0;function p(S){S.on("mousedown.drag",g).filter(r).on("touchstart.drag",x).on("touchmove.drag",_,Yhe).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(S,C){if(!(d||!e.call(this,S,C))){var T=y(this,t.call(this,S,C),S,C,"mouse");T&&(jo(S.view).on("mousemove.drag",m,Tg).on("mouseup.drag",v,Tg),MF(S.view),px(S),u=!1,a=S.clientX,l=S.clientY,T("start",S))}}function m(S){if(ef(S),!u){var C=S.clientX-a,T=S.clientY-l;u=C*C+T*T>f}i.mouse("drag",S)}function v(S){jo(S.view).on("mousemove.drag mouseup.drag",null),NF(S.view,u),ef(S),i.mouse("end",S)}function x(S,C){if(e.call(this,S,C)){var T=S.changedTouches,E=t.call(this,S,C),P=T.length,k,O;for(k=0;k>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?w0(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?w0(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=rpe.exec(e))?new xi(t[1],t[2],t[3],1):(t=ipe.exec(e))?new xi(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=ope.exec(e))?w0(t[1],t[2],t[3],t[4]):(t=spe.exec(e))?w0(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=ape.exec(e))?wR(t[1],t[2]/100,t[3]/100,1):(t=lpe.exec(e))?wR(t[1],t[2]/100,t[3]/100,t[4]):mR.hasOwnProperty(e)?_R(mR[e]):e==="transparent"?new xi(NaN,NaN,NaN,0):null}function _R(e){return new xi(e>>16&255,e>>8&255,e&255,1)}function w0(e,t,n,r){return r<=0&&(e=t=n=NaN),new xi(e,t,n,r)}function dpe(e){return e instanceof vm||(e=Pg(e)),e?(e=e.rgb(),new xi(e.r,e.g,e.b,e.opacity)):new xi}function D3(e,t,n,r){return arguments.length===1?dpe(e):new xi(e,t,n,r??1)}function xi(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}VT(xi,D3,LF(vm,{brighter(e){return e=e==null?M1:Math.pow(M1,e),new xi(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Eg:Math.pow(Eg,e),new xi(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new xi(Wu(this.r),Wu(this.g),Wu(this.b),N1(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:bR,formatHex:bR,formatHex8:fpe,formatRgb:SR,toString:SR}));function bR(){return`#${Fu(this.r)}${Fu(this.g)}${Fu(this.b)}`}function fpe(){return`#${Fu(this.r)}${Fu(this.g)}${Fu(this.b)}${Fu((isNaN(this.opacity)?1:this.opacity)*255)}`}function SR(){const e=N1(this.opacity);return`${e===1?"rgb(":"rgba("}${Wu(this.r)}, ${Wu(this.g)}, ${Wu(this.b)}${e===1?")":`, ${e})`}`}function N1(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Wu(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Fu(e){return e=Wu(e),(e<16?"0":"")+e.toString(16)}function wR(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Go(e,t,n,r)}function DF(e){if(e instanceof Go)return new Go(e.h,e.s,e.l,e.opacity);if(e instanceof vm||(e=Pg(e)),!e)return new Go;if(e instanceof Go)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),s=NaN,a=o-i,l=(o+i)/2;return a?(t===o?s=(n-r)/a+(n0&&l<1?0:s,new Go(s,a,l,e.opacity)}function hpe(e,t,n,r){return arguments.length===1?DF(e):new Go(e,t,n,r??1)}function Go(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}VT(Go,hpe,LF(vm,{brighter(e){return e=e==null?M1:Math.pow(M1,e),new Go(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Eg:Math.pow(Eg,e),new Go(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new xi(gx(e>=240?e-240:e+120,i,r),gx(e,i,r),gx(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Go(xR(this.h),x0(this.s),x0(this.l),N1(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=N1(this.opacity);return`${e===1?"hsl(":"hsla("}${xR(this.h)}, ${x0(this.s)*100}%, ${x0(this.l)*100}%${e===1?")":`, ${e})`}`}}));function xR(e){return e=(e||0)%360,e<0?e+360:e}function x0(e){return Math.max(0,Math.min(1,e||0))}function gx(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const $F=e=>()=>e;function ppe(e,t){return function(n){return e+n*t}}function gpe(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function mpe(e){return(e=+e)==1?FF:function(t,n){return n-t?gpe(t,n,e):$F(isNaN(t)?n:t)}}function FF(e,t){var n=t-e;return n?ppe(e,n):$F(isNaN(e)?t:e)}const CR=function e(t){var n=mpe(t);function r(i,o){var s=n((i=D3(i)).r,(o=D3(o)).r),a=n(i.g,o.g),l=n(i.b,o.b),u=FF(i.opacity,o.opacity);return function(d){return i.r=s(d),i.g=a(d),i.b=l(d),i.opacity=u(d),i+""}}return r.gamma=e,r}(1);function cl(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var $3=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,mx=new RegExp($3.source,"g");function ype(e){return function(){return e}}function vpe(e){return function(t){return e(t)+""}}function _pe(e,t){var n=$3.lastIndex=mx.lastIndex=0,r,i,o,s=-1,a=[],l=[];for(e=e+"",t=t+"";(r=$3.exec(e))&&(i=mx.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),a[s]?a[s]+=o:a[++s]=o),(r=r[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,l.push({i:s,x:cl(r,i)})),n=mx.lastIndex;return n180?d+=360:d-u>180&&(u+=360),p.push({i:f.push(i(f)+"rotate(",null,r)-2,x:cl(u,d)})):d&&f.push(i(f)+"rotate("+d+r)}function a(u,d,f,p){u!==d?p.push({i:f.push(i(f)+"skewX(",null,r)-2,x:cl(u,d)}):d&&f.push(i(f)+"skewX("+d+r)}function l(u,d,f,p,g,m){if(u!==f||d!==p){var v=g.push(i(g)+"scale(",null,",",null,")");m.push({i:v-4,x:cl(u,f)},{i:v-2,x:cl(d,p)})}else(f!==1||p!==1)&&g.push(i(g)+"scale("+f+","+p+")")}return function(u,d){var f=[],p=[];return u=e(u),d=e(d),o(u.translateX,u.translateY,d.translateX,d.translateY,f,p),s(u.rotate,d.rotate,f,p),a(u.skewX,d.skewX,f,p),l(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,p),u=d=null,function(g){for(var m=-1,v=p.length,x;++m=0&&e._call.call(void 0,t),e=e._next;--Ef}function AR(){oc=(D1=Rg.now())+Ob,Ef=dp=0;try{Rpe()}finally{Ef=0,kpe(),oc=0}}function Ope(){var e=Rg.now(),t=e-D1;t>zF&&(Ob-=t,D1=e)}function kpe(){for(var e,t=L1,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:L1=n);fp=e,B3(r)}function B3(e){if(!Ef){dp&&(dp=clearTimeout(dp));var t=e-oc;t>24?(e<1/0&&(dp=setTimeout(AR,e-Rg.now()-Ob)),Gh&&(Gh=clearInterval(Gh))):(Gh||(D1=Rg.now(),Gh=setInterval(Ope,zF)),Ef=1,VF(AR))}}function PR(e,t,n){var r=new $1;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var Ipe=Pb("start","end","cancel","interrupt"),Mpe=[],GF=0,RR=1,U3=2,pv=3,OR=4,z3=5,gv=6;function kb(e,t,n,r,i,o){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;Npe(e,n,{name:t,index:r,group:i,on:Ipe,tween:Mpe,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:GF})}function GT(e,t){var n=rs(e,t);if(n.state>GF)throw new Error("too late; already scheduled");return n}function Bs(e,t){var n=rs(e,t);if(n.state>pv)throw new Error("too late; already running");return n}function rs(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Npe(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=jF(o,0,n.time);function o(u){n.state=RR,n.timer.restart(s,n.delay,n.time),n.delay<=u&&s(u-n.delay)}function s(u){var d,f,p,g;if(n.state!==RR)return l();for(d in r)if(g=r[d],g.name===n.name){if(g.state===pv)return PR(s);g.state===OR?(g.state=gv,g.timer.stop(),g.on.call("interrupt",e,e.__data__,g.index,g.group),delete r[d]):+dU3&&r.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function cge(e,t,n){var r,i,o=uge(t)?GT:Bs;return function(){var s=o(this,e),a=s.on;a!==r&&(i=(r=a).copy()).on(t,n),s.on=i}}function dge(e,t){var n=this._id;return arguments.length<2?rs(this.node(),n).on.on(e):this.each(cge(n,e,t))}function fge(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function hge(){return this.on("end.remove",fge(this._id))}function pge(e){var t=this._name,n=this._id;typeof e!="function"&&(e=UT(e));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s()=>e;function Bge(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function ma(e,t,n){this.k=e,this.x=t,this.y=n}ma.prototype={constructor:ma,scale:function(e){return e===1?this:new ma(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new ma(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var kl=new ma(1,0,0);ma.prototype;function yx(e){e.stopImmediatePropagation()}function Hh(e){e.preventDefault(),e.stopImmediatePropagation()}function Uge(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function zge(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function kR(){return this.__zoom||kl}function Vge(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function jge(){return navigator.maxTouchPoints||"ontouchstart"in this}function Gge(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function Hge(){var e=Uge,t=zge,n=Gge,r=Vge,i=jge,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,l=Ape,u=Pb("start","zoom","end"),d,f,p,g=500,m=150,v=0,x=10;function _(A){A.property("__zoom",kR).on("wheel.zoom",P,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",O).filter(i).on("touchstart.zoom",M).on("touchmove.zoom",G).on("touchend.zoom touchcancel.zoom",U).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}_.transform=function(A,N,F,B){var D=A.selection?A.selection():A;D.property("__zoom",kR),A!==D?C(A,N,F,B):D.interrupt().each(function(){T(this,arguments).event(B).start().zoom(null,typeof N=="function"?N.apply(this,arguments):N).end()})},_.scaleBy=function(A,N,F,B){_.scaleTo(A,function(){var D=this.__zoom.k,V=typeof N=="function"?N.apply(this,arguments):N;return D*V},F,B)},_.scaleTo=function(A,N,F,B){_.transform(A,function(){var D=t.apply(this,arguments),V=this.__zoom,j=F==null?S(D):typeof F=="function"?F.apply(this,arguments):F,q=V.invert(j),Z=typeof N=="function"?N.apply(this,arguments):N;return n(y(b(V,Z),j,q),D,s)},F,B)},_.translateBy=function(A,N,F,B){_.transform(A,function(){return n(this.__zoom.translate(typeof N=="function"?N.apply(this,arguments):N,typeof F=="function"?F.apply(this,arguments):F),t.apply(this,arguments),s)},null,B)},_.translateTo=function(A,N,F,B,D){_.transform(A,function(){var V=t.apply(this,arguments),j=this.__zoom,q=B==null?S(V):typeof B=="function"?B.apply(this,arguments):B;return n(kl.translate(q[0],q[1]).scale(j.k).translate(typeof N=="function"?-N.apply(this,arguments):-N,typeof F=="function"?-F.apply(this,arguments):-F),V,s)},B,D)};function b(A,N){return N=Math.max(o[0],Math.min(o[1],N)),N===A.k?A:new ma(N,A.x,A.y)}function y(A,N,F){var B=N[0]-F[0]*A.k,D=N[1]-F[1]*A.k;return B===A.x&&D===A.y?A:new ma(A.k,B,D)}function S(A){return[(+A[0][0]+ +A[1][0])/2,(+A[0][1]+ +A[1][1])/2]}function C(A,N,F,B){A.on("start.zoom",function(){T(this,arguments).event(B).start()}).on("interrupt.zoom end.zoom",function(){T(this,arguments).event(B).end()}).tween("zoom",function(){var D=this,V=arguments,j=T(D,V).event(B),q=t.apply(D,V),Z=F==null?S(q):typeof F=="function"?F.apply(D,V):F,ee=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),ie=D.__zoom,se=typeof N=="function"?N.apply(D,V):N,le=l(ie.invert(Z).concat(ee/ie.k),se.invert(Z).concat(ee/se.k));return function(W){if(W===1)W=se;else{var ne=le(W),fe=ee/ne[2];W=new ma(fe,Z[0]-ne[0]*fe,Z[1]-ne[1]*fe)}j.zoom(null,W)}})}function T(A,N,F){return!F&&A.__zooming||new E(A,N)}function E(A,N){this.that=A,this.args=N,this.active=0,this.sourceEvent=null,this.extent=t.apply(A,N),this.taps=0}E.prototype={event:function(A){return A&&(this.sourceEvent=A),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(A,N){return this.mouse&&A!=="mouse"&&(this.mouse[1]=N.invert(this.mouse[0])),this.touch0&&A!=="touch"&&(this.touch0[1]=N.invert(this.touch0[0])),this.touch1&&A!=="touch"&&(this.touch1[1]=N.invert(this.touch1[0])),this.that.__zoom=N,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(A){var N=jo(this.that).datum();u.call(A,this.that,new Bge(A,{sourceEvent:this.sourceEvent,target:_,type:A,transform:this.that.__zoom,dispatch:u}),N)}};function P(A,...N){if(!e.apply(this,arguments))return;var F=T(this,N).event(A),B=this.__zoom,D=Math.max(o[0],Math.min(o[1],B.k*Math.pow(2,r.apply(this,arguments)))),V=gs(A);if(F.wheel)(F.mouse[0][0]!==V[0]||F.mouse[0][1]!==V[1])&&(F.mouse[1]=B.invert(F.mouse[0]=V)),clearTimeout(F.wheel);else{if(B.k===D)return;F.mouse=[V,B.invert(V)],mv(this),F.start()}Hh(A),F.wheel=setTimeout(j,m),F.zoom("mouse",n(y(b(B,D),F.mouse[0],F.mouse[1]),F.extent,s));function j(){F.wheel=null,F.end()}}function k(A,...N){if(p||!e.apply(this,arguments))return;var F=A.currentTarget,B=T(this,N,!0).event(A),D=jo(A.view).on("mousemove.zoom",Z,!0).on("mouseup.zoom",ee,!0),V=gs(A,F),j=A.clientX,q=A.clientY;MF(A.view),yx(A),B.mouse=[V,this.__zoom.invert(V)],mv(this),B.start();function Z(ie){if(Hh(ie),!B.moved){var se=ie.clientX-j,le=ie.clientY-q;B.moved=se*se+le*le>v}B.event(ie).zoom("mouse",n(y(B.that.__zoom,B.mouse[0]=gs(ie,F),B.mouse[1]),B.extent,s))}function ee(ie){D.on("mousemove.zoom mouseup.zoom",null),NF(ie.view,B.moved),Hh(ie),B.event(ie).end()}}function O(A,...N){if(e.apply(this,arguments)){var F=this.__zoom,B=gs(A.changedTouches?A.changedTouches[0]:A,this),D=F.invert(B),V=F.k*(A.shiftKey?.5:2),j=n(y(b(F,V),B,D),t.apply(this,N),s);Hh(A),a>0?jo(this).transition().duration(a).call(C,j,B,A):jo(this).call(_.transform,j,B,A)}}function M(A,...N){if(e.apply(this,arguments)){var F=A.touches,B=F.length,D=T(this,N,A.changedTouches.length===B).event(A),V,j,q,Z;for(yx(A),j=0;j"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`},KF=Wl.error001();function Nn(e,t){const n=L.useContext(Ib);if(n===null)throw new Error(KF);return hfe(n,e,t)}const qr=()=>{const e=L.useContext(Ib);if(e===null)throw new Error(KF);return L.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},qge=e=>e.userSelectionActive?"none":"all";function Kge({position:e,children:t,className:n,style:r,...i}){const o=Nn(qge),s=`${e}`.split("-");return ue.jsx("div",{className:Eo(["react-flow__panel",n,...s]),style:{...r,pointerEvents:o},...i,children:t})}function Xge({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:ue.jsx(Kge,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:ue.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const Yge=({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:s=[2,4],labelBgBorderRadius:a=2,children:l,className:u,...d})=>{const f=L.useRef(null),[p,g]=L.useState({x:0,y:0,width:0,height:0}),m=Eo(["react-flow__edge-textwrapper",u]);return L.useEffect(()=>{if(f.current){const v=f.current.getBBox();g({x:v.x,y:v.y,width:v.width,height:v.height})}},[n]),typeof n>"u"||!n?null:ue.jsxs("g",{transform:`translate(${e-p.width/2} ${t-p.height/2})`,className:m,visibility:p.width?"visible":"hidden",...d,children:[i&&ue.jsx("rect",{width:p.width+2*s[0],x:-s[0],y:-s[1],height:p.height+2*s[1],className:"react-flow__edge-textbg",style:o,rx:a,ry:a}),ue.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:f,style:r,children:n}),l]})};var Qge=L.memo(Yge);const WT=e=>({width:e.offsetWidth,height:e.offsetHeight}),Af=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),qT=(e={x:0,y:0},t)=>({x:Af(e.x,t[0][0],t[1][0]),y:Af(e.y,t[0][1],t[1][1])}),IR=(e,t,n)=>en?-Af(Math.abs(e-n),1,50)/50:0,XF=(e,t)=>{const n=IR(e.x,35,t.width-35)*20,r=IR(e.y,35,t.height-35)*20;return[n,r]},YF=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},QF=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),F1=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),ZF=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),MR=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),LIe=(e,t)=>ZF(QF(F1(e),F1(t))),V3=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},Zge=e=>_o(e.width)&&_o(e.height)&&_o(e.x)&&_o(e.y),_o=e=>!isNaN(e)&&isFinite(e),nr=Symbol.for("internals"),JF=["Enter"," ","Escape"],Jge=(e,t)=>{},eme=e=>"nativeEvent"in e;function j3(e){var i,o;const t=eme(e)?e.nativeEvent:e,n=((o=(i=t.composedPath)==null?void 0:i.call(t))==null?void 0:o[0])||e.target;return["INPUT","SELECT","TEXTAREA"].includes(n==null?void 0:n.nodeName)||(n==null?void 0:n.hasAttribute("contenteditable"))||!!(n!=null&&n.closest(".nokey"))}const eB=e=>"clientX"in e,Il=(e,t)=>{var o,s;const n=eB(e),r=n?e.clientX:(o=e.touches)==null?void 0:o[0].clientX,i=n?e.clientY:(s=e.touches)==null?void 0:s[0].clientY;return{x:r-((t==null?void 0:t.left)??0),y:i-((t==null?void 0:t.top)??0)}},_m=({id:e,path:t,labelX:n,labelY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:g=20})=>ue.jsxs(ue.Fragment,{children:[ue.jsx("path",{id:e,style:d,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:f,markerStart:p}),g&&ue.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:g,className:"react-flow__edge-interaction"}),i&&_o(n)&&_o(r)?ue.jsx(Qge,{x:n,y:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u}):null]});_m.displayName="BaseEdge";function Wh(e,t,n){return n===void 0?n:r=>{const i=t().edges.find(o=>o.id===e);i&&n(r,{...i})}}function tB({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,o=n{const[x,_,b]=rB({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return ue.jsx(_m,{path:x,labelX:_,labelY:b,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,interactionWidth:v})});KT.displayName="SimpleBezierEdge";const LR={[Ne.Left]:{x:-1,y:0},[Ne.Right]:{x:1,y:0},[Ne.Top]:{x:0,y:-1},[Ne.Bottom]:{x:0,y:1}},tme=({source:e,sourcePosition:t=Ne.Bottom,target:n})=>t===Ne.Left||t===Ne.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function nme({source:e,sourcePosition:t=Ne.Bottom,target:n,targetPosition:r=Ne.Top,center:i,offset:o}){const s=LR[t],a=LR[r],l={x:e.x+s.x*o,y:e.y+s.y*o},u={x:n.x+a.x*o,y:n.y+a.y*o},d=tme({source:l,sourcePosition:t,target:u}),f=d.x!==0?"x":"y",p=d[f];let g=[],m,v;const[x,_,b,y]=tB({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[f]*a[f]===-1){m=i.x||x,v=i.y||_;const C=[{x:m,y:l.y},{x:m,y:u.y}],T=[{x:l.x,y:v},{x:u.x,y:v}];s[f]===p?g=f==="x"?C:T:g=f==="x"?T:C}else{const C=[{x:l.x,y:u.y}],T=[{x:u.x,y:l.y}];if(f==="x"?g=s.x===p?T:C:g=s.y===p?C:T,t!==r){const E=f==="x"?"y":"x",P=s[f]===a[E],k=l[E]>u[E],O=l[E]{let y="";return b>0&&b{const[_,b,y]=G3({sourceX:e,sourceY:t,sourcePosition:f,targetX:n,targetY:r,targetPosition:p,borderRadius:v==null?void 0:v.borderRadius,offset:v==null?void 0:v.offset});return ue.jsx(_m,{path:_,labelX:b,labelY:y,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:g,markerStart:m,interactionWidth:x})});Mb.displayName="SmoothStepEdge";const XT=L.memo(e=>{var t;return ue.jsx(Mb,{...e,pathOptions:L.useMemo(()=>{var n;return{borderRadius:0,offset:(n=e.pathOptions)==null?void 0:n.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});XT.displayName="StepEdge";function ime({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,s,a]=tB({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,s,a]}const YT=L.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:g})=>{const[m,v,x]=ime({sourceX:e,sourceY:t,targetX:n,targetY:r});return ue.jsx(_m,{path:m,labelX:v,labelY:x,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:g})});YT.displayName="StraightEdge";function E0(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function $R({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case Ne.Left:return[t-E0(t-r,o),n];case Ne.Right:return[t+E0(r-t,o),n];case Ne.Top:return[t,n-E0(n-i,o)];case Ne.Bottom:return[t,n+E0(i-n,o)]}}function iB({sourceX:e,sourceY:t,sourcePosition:n=Ne.Bottom,targetX:r,targetY:i,targetPosition:o=Ne.Top,curvature:s=.25}){const[a,l]=$R({pos:n,x1:e,y1:t,x2:r,y2:i,c:s}),[u,d]=$R({pos:o,x1:r,y1:i,x2:e,y2:t,c:s}),[f,p,g,m]=nB({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:l,targetControlX:u,targetControlY:d});return[`M${e},${t} C${a},${l} ${u},${d} ${r},${i}`,f,p,g,m]}const U1=L.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=Ne.Bottom,targetPosition:o=Ne.Top,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,pathOptions:v,interactionWidth:x})=>{const[_,b,y]=iB({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:v==null?void 0:v.curvature});return ue.jsx(_m,{path:_,labelX:b,labelY:y,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,interactionWidth:x})});U1.displayName="BezierEdge";const QT=L.createContext(null),ome=QT.Provider;QT.Consumer;const sme=()=>L.useContext(QT),ame=e=>"id"in e&&"source"in e&&"target"in e,lme=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,H3=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`,ume=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),oB=(e,t)=>{if(!e.source||!e.target)return t;let n;return ame(e)?n={...e}:n={...e,id:lme(e)},ume(n,t)?t:t.concat(n)},sB=({x:e,y:t},[n,r,i],o,[s,a])=>{const l={x:(e-n)/i,y:(t-r)/i};return o?{x:s*Math.round(l.x/s),y:a*Math.round(l.y/a)}:l},cme=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),rf=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=(e.width??0)*t[0],r=(e.height??0)*t[1],i={x:e.position.x-n,y:e.position.y-r};return{...i,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:i}},aB=(e,t=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,i)=>{const{x:o,y:s}=rf(i,t).positionAbsolute;return QF(r,F1({x:o,y:s,width:i.width||0,height:i.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return ZF(n)},lB=(e,t,[n,r,i]=[0,0,1],o=!1,s=!1,a=[0,0])=>{const l={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},u=[];return e.forEach(d=>{const{width:f,height:p,selectable:g=!0,hidden:m=!1}=d;if(s&&!g||m)return!1;const{positionAbsolute:v}=rf(d,a),x={x:v.x,y:v.y,width:f||0,height:p||0},_=V3(l,x),b=typeof f>"u"||typeof p>"u"||f===null||p===null,y=o&&_>0,S=(f||0)*(p||0);(b||y||_>=S||d.dragging)&&u.push(d)}),u},uB=(e,t)=>{const n=e.map(r=>r.id);return t.filter(r=>n.includes(r.source)||n.includes(r.target))},cB=(e,t,n,r,i,o=.1)=>{const s=t/(e.width*(1+o)),a=n/(e.height*(1+o)),l=Math.min(s,a),u=Af(l,r,i),d=e.x+e.width/2,f=e.y+e.height/2,p=t/2-d*u,g=n/2-f*u;return[p,g,u]},Pu=(e,t=0)=>e.transition().duration(t);function FR(e,t,n,r){return(t[n]||[]).reduce((i,o)=>{var s,a;return`${e.id}-${o.id}-${n}`!==r&&i.push({id:o.id||null,type:n,nodeId:e.id,x:(((s=e.positionAbsolute)==null?void 0:s.x)??0)+o.x+o.width/2,y:(((a=e.positionAbsolute)==null?void 0:a.y)??0)+o.y+o.height/2}),i},[])}function dme(e,t,n,r,i,o){const{x:s,y:a}=Il(e),u=t.elementsFromPoint(s,a).find(m=>m.classList.contains("react-flow__handle"));if(u){const m=u.getAttribute("data-nodeid");if(m){const v=ZT(void 0,u),x=u.getAttribute("data-handleid"),_=o({nodeId:m,id:x,type:v});if(_)return{handle:{id:x,type:v,nodeId:m,x:n.x,y:n.y},validHandleResult:_}}}let d=[],f=1/0;if(i.forEach(m=>{const v=Math.sqrt((m.x-n.x)**2+(m.y-n.y)**2);if(v<=r){const x=o(m);v<=f&&(vm.isValid),g=d.some(({handle:m})=>m.type==="target");return d.find(({handle:m,validHandleResult:v})=>g?m.type==="target":p?v.isValid:!0)||d[0]}const fme={source:null,target:null,sourceHandle:null,targetHandle:null},dB=()=>({handleDomNode:null,isValid:!1,connection:fme,endHandle:null});function fB(e,t,n,r,i,o,s){const a=i==="target",l=s.querySelector(`.react-flow__handle[data-id="${e==null?void 0:e.nodeId}-${e==null?void 0:e.id}-${e==null?void 0:e.type}"]`),u={...dB(),handleDomNode:l};if(l){const d=ZT(void 0,l),f=l.getAttribute("data-nodeid"),p=l.getAttribute("data-handleid"),g=l.classList.contains("connectable"),m=l.classList.contains("connectableend"),v={source:a?f:n,sourceHandle:a?p:r,target:a?n:f,targetHandle:a?r:p};u.connection=v,g&&m&&(t===sc.Strict?a&&d==="source"||!a&&d==="target":f!==n||p!==r)&&(u.endHandle={nodeId:f,handleId:p,type:d},u.isValid=o(v))}return u}function hme({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((i,o)=>{if(o[nr]){const{handleBounds:s}=o[nr];let a=[],l=[];s&&(a=FR(o,s,"source",`${t}-${n}-${r}`),l=FR(o,s,"target",`${t}-${n}-${r}`)),i.push(...a,...l)}return i},[])}function ZT(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function vx(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function pme(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function hB({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:s,isValidConnection:a,edgeUpdaterType:l,onEdgeUpdateEnd:u}){const d=YF(e.target),{connectionMode:f,domNode:p,autoPanOnConnect:g,connectionRadius:m,onConnectStart:v,panBy:x,getNodes:_,cancelConnection:b}=o();let y=0,S;const{x:C,y:T}=Il(e),E=d==null?void 0:d.elementFromPoint(C,T),P=ZT(l,E),k=p==null?void 0:p.getBoundingClientRect();if(!k||!P)return;let O,M=Il(e,k),G=!1,U=null,A=!1,N=null;const F=hme({nodes:_(),nodeId:n,handleId:t,handleType:P}),B=()=>{if(!g)return;const[j,q]=XF(M,k);x({x:j,y:q}),y=requestAnimationFrame(B)};s({connectionPosition:M,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:P,connectionStartHandle:{nodeId:n,handleId:t,type:P},connectionEndHandle:null}),v==null||v(e,{nodeId:n,handleId:t,handleType:P});function D(j){const{transform:q}=o();M=Il(j,k);const{handle:Z,validHandleResult:ee}=dme(j,d,sB(M,q,!1,[1,1]),m,F,ie=>fB(ie,f,n,t,i?"target":"source",a,d));if(S=Z,G||(B(),G=!0),N=ee.handleDomNode,U=ee.connection,A=ee.isValid,s({connectionPosition:S&&A?cme({x:S.x,y:S.y},q):M,connectionStatus:pme(!!S,A),connectionEndHandle:ee.endHandle}),!S&&!A&&!N)return vx(O);U.source!==U.target&&N&&(vx(O),O=N,N.classList.add("connecting","react-flow__handle-connecting"),N.classList.toggle("valid",A),N.classList.toggle("react-flow__handle-valid",A))}function V(j){var q,Z;(S||N)&&U&&A&&(r==null||r(U)),(Z=(q=o()).onConnectEnd)==null||Z.call(q,j),l&&(u==null||u(j)),vx(O),b(),cancelAnimationFrame(y),G=!1,A=!1,U=null,N=null,d.removeEventListener("mousemove",D),d.removeEventListener("mouseup",V),d.removeEventListener("touchmove",D),d.removeEventListener("touchend",V)}d.addEventListener("mousemove",D),d.addEventListener("mouseup",V),d.addEventListener("touchmove",D),d.addEventListener("touchend",V)}const BR=()=>!0,gme=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),mme=(e,t,n)=>r=>{const{connectionStartHandle:i,connectionEndHandle:o,connectionClickStartHandle:s}=r;return{connecting:(i==null?void 0:i.nodeId)===e&&(i==null?void 0:i.handleId)===t&&(i==null?void 0:i.type)===n||(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.handleId)===t&&(o==null?void 0:o.type)===n,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.handleId)===t&&(s==null?void 0:s.type)===n}},pB=L.forwardRef(({type:e="source",position:t=Ne.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:o=!0,id:s,onConnect:a,children:l,className:u,onMouseDown:d,onTouchStart:f,...p},g)=>{var k,O;const m=s||null,v=e==="target",x=qr(),_=sme(),{connectOnClick:b,noPanClassName:y}=Nn(gme,Ri),{connecting:S,clickConnecting:C}=Nn(mme(_,m,e),Ri);_||(O=(k=x.getState()).onError)==null||O.call(k,"010",Wl.error010());const T=M=>{const{defaultEdgeOptions:G,onConnect:U,hasDefaultEdges:A}=x.getState(),N={...G,...M};if(A){const{edges:F,setEdges:B}=x.getState();B(oB(N,F))}U==null||U(N),a==null||a(N)},E=M=>{if(!_)return;const G=eB(M);i&&(G&&M.button===0||!G)&&hB({event:M,handleId:m,nodeId:_,onConnect:T,isTarget:v,getState:x.getState,setState:x.setState,isValidConnection:n||x.getState().isValidConnection||BR}),G?d==null||d(M):f==null||f(M)},P=M=>{const{onClickConnectStart:G,onClickConnectEnd:U,connectionClickStartHandle:A,connectionMode:N,isValidConnection:F}=x.getState();if(!_||!A&&!i)return;if(!A){G==null||G(M,{nodeId:_,handleId:m,handleType:e}),x.setState({connectionClickStartHandle:{nodeId:_,type:e,handleId:m}});return}const B=YF(M.target),D=n||F||BR,{connection:V,isValid:j}=fB({nodeId:_,id:m,type:e},N,A.nodeId,A.handleId||null,A.type,D,B);j&&T(V),U==null||U(M),x.setState({connectionClickStartHandle:null})};return ue.jsx("div",{"data-handleid":m,"data-nodeid":_,"data-handlepos":t,"data-id":`${_}-${m}-${e}`,className:Eo(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",y,u,{source:!v,target:v,connectable:r,connectablestart:i,connectableend:o,connecting:C,connectionindicator:r&&(i&&!S||o&&S)}]),onMouseDown:E,onTouchStart:E,onClick:b?P:void 0,ref:g,...p,children:l})});pB.displayName="Handle";var z1=L.memo(pB);const gB=({data:e,isConnectable:t,targetPosition:n=Ne.Top,sourcePosition:r=Ne.Bottom})=>ue.jsxs(ue.Fragment,{children:[ue.jsx(z1,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,ue.jsx(z1,{type:"source",position:r,isConnectable:t})]});gB.displayName="DefaultNode";var W3=L.memo(gB);const mB=({data:e,isConnectable:t,sourcePosition:n=Ne.Bottom})=>ue.jsxs(ue.Fragment,{children:[e==null?void 0:e.label,ue.jsx(z1,{type:"source",position:n,isConnectable:t})]});mB.displayName="InputNode";var yB=L.memo(mB);const vB=({data:e,isConnectable:t,targetPosition:n=Ne.Top})=>ue.jsxs(ue.Fragment,{children:[ue.jsx(z1,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]});vB.displayName="OutputNode";var _B=L.memo(vB);const JT=()=>null;JT.displayName="GroupNode";const yme=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected)}),A0=e=>e.id;function vme(e,t){return Ri(e.selectedNodes.map(A0),t.selectedNodes.map(A0))&&Ri(e.selectedEdges.map(A0),t.selectedEdges.map(A0))}const bB=L.memo(({onSelectionChange:e})=>{const t=qr(),{selectedNodes:n,selectedEdges:r}=Nn(yme,vme);return L.useEffect(()=>{var o,s;const i={nodes:n,edges:r};e==null||e(i),(s=(o=t.getState()).onSelectionChange)==null||s.call(o,i)},[n,r,e]),null});bB.displayName="SelectionListener";const _me=e=>!!e.onSelectionChange;function bme({onSelectionChange:e}){const t=Nn(_me);return e||t?ue.jsx(bB,{onSelectionChange:e}):null}const Sme=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function rd(e,t){L.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function at(e,t,n){L.useEffect(()=>{typeof t<"u"&&n({[e]:t})},[t])}const wme=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:s,onClickConnectStart:a,onClickConnectEnd:l,nodesDraggable:u,nodesConnectable:d,nodesFocusable:f,edgesFocusable:p,edgesUpdatable:g,elevateNodesOnSelect:m,minZoom:v,maxZoom:x,nodeExtent:_,onNodesChange:b,onEdgesChange:y,elementsSelectable:S,connectionMode:C,snapGrid:T,snapToGrid:E,translateExtent:P,connectOnClick:k,defaultEdgeOptions:O,fitView:M,fitViewOptions:G,onNodesDelete:U,onEdgesDelete:A,onNodeDrag:N,onNodeDragStart:F,onNodeDragStop:B,onSelectionDrag:D,onSelectionDragStart:V,onSelectionDragStop:j,noPanClassName:q,nodeOrigin:Z,rfId:ee,autoPanOnConnect:ie,autoPanOnNodeDrag:se,onError:le,connectionRadius:W,isValidConnection:ne})=>{const{setNodes:fe,setEdges:pe,setDefaultNodesAndEdges:ve,setMinZoom:ye,setMaxZoom:We,setTranslateExtent:Me,setNodeExtent:Ee,reset:lt}=Nn(Sme,Ri),_e=qr();return L.useEffect(()=>{const jt=r==null?void 0:r.map(Wn=>({...Wn,...O}));return ve(n,jt),()=>{lt()}},[]),at("defaultEdgeOptions",O,_e.setState),at("connectionMode",C,_e.setState),at("onConnect",i,_e.setState),at("onConnectStart",o,_e.setState),at("onConnectEnd",s,_e.setState),at("onClickConnectStart",a,_e.setState),at("onClickConnectEnd",l,_e.setState),at("nodesDraggable",u,_e.setState),at("nodesConnectable",d,_e.setState),at("nodesFocusable",f,_e.setState),at("edgesFocusable",p,_e.setState),at("edgesUpdatable",g,_e.setState),at("elementsSelectable",S,_e.setState),at("elevateNodesOnSelect",m,_e.setState),at("snapToGrid",E,_e.setState),at("snapGrid",T,_e.setState),at("onNodesChange",b,_e.setState),at("onEdgesChange",y,_e.setState),at("connectOnClick",k,_e.setState),at("fitViewOnInit",M,_e.setState),at("fitViewOnInitOptions",G,_e.setState),at("onNodesDelete",U,_e.setState),at("onEdgesDelete",A,_e.setState),at("onNodeDrag",N,_e.setState),at("onNodeDragStart",F,_e.setState),at("onNodeDragStop",B,_e.setState),at("onSelectionDrag",D,_e.setState),at("onSelectionDragStart",V,_e.setState),at("onSelectionDragStop",j,_e.setState),at("noPanClassName",q,_e.setState),at("nodeOrigin",Z,_e.setState),at("rfId",ee,_e.setState),at("autoPanOnConnect",ie,_e.setState),at("autoPanOnNodeDrag",se,_e.setState),at("onError",le,_e.setState),at("connectionRadius",W,_e.setState),at("isValidConnection",ne,_e.setState),rd(e,fe),rd(t,pe),rd(v,ye),rd(x,We),rd(P,Me),rd(_,Ee),null},UR={display:"none"},xme={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},SB="react-flow__node-desc",wB="react-flow__edge-desc",Cme="react-flow__aria-live",Tme=e=>e.ariaLiveMessage;function Eme({rfId:e}){const t=Nn(Tme);return ue.jsx("div",{id:`${Cme}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:xme,children:t})}function Ame({rfId:e,disableKeyboardA11y:t}){return ue.jsxs(ue.Fragment,{children:[ue.jsxs("div",{id:`${SB}-${e}`,style:UR,children:["Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "]}),ue.jsx("div",{id:`${wB}-${e}`,style:UR,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!t&&ue.jsx(Eme,{rfId:e})]})}const Pme=(e,t,n)=>n===Ne.Left?e-t:n===Ne.Right?e+t:e,Rme=(e,t,n)=>n===Ne.Top?e-t:n===Ne.Bottom?e+t:e,zR="react-flow__edgeupdater",VR=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:s,type:a})=>ue.jsx("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:s,className:Eo([zR,`${zR}-${a}`]),cx:Pme(t,r,e),cy:Rme(n,r,e),r,stroke:"transparent",fill:"transparent"}),Ome=()=>!0;var id=e=>{const t=({id:n,className:r,type:i,data:o,onClick:s,onEdgeDoubleClick:a,selected:l,animated:u,label:d,labelStyle:f,labelShowBg:p,labelBgStyle:g,labelBgPadding:m,labelBgBorderRadius:v,style:x,source:_,target:b,sourceX:y,sourceY:S,targetX:C,targetY:T,sourcePosition:E,targetPosition:P,elementsSelectable:k,hidden:O,sourceHandleId:M,targetHandleId:G,onContextMenu:U,onMouseEnter:A,onMouseMove:N,onMouseLeave:F,edgeUpdaterRadius:B,onEdgeUpdate:D,onEdgeUpdateStart:V,onEdgeUpdateEnd:j,markerEnd:q,markerStart:Z,rfId:ee,ariaLabel:ie,isFocusable:se,isUpdatable:le,pathOptions:W,interactionWidth:ne})=>{const fe=L.useRef(null),[pe,ve]=L.useState(!1),[ye,We]=L.useState(!1),Me=qr(),Ee=L.useMemo(()=>`url(#${H3(Z,ee)})`,[Z,ee]),lt=L.useMemo(()=>`url(#${H3(q,ee)})`,[q,ee]);if(O)return null;const _e=sn=>{const{edges:Gt,addSelectedEdges:vr}=Me.getState();if(k&&(Me.setState({nodesSelectionActive:!1}),vr([n])),s){const Nr=Gt.find(Xr=>Xr.id===n);s(sn,Nr)}},jt=Wh(n,Me.getState,a),Wn=Wh(n,Me.getState,U),Bt=Wh(n,Me.getState,A),it=Wh(n,Me.getState,N),mt=Wh(n,Me.getState,F),Jt=(sn,Gt)=>{if(sn.button!==0)return;const{edges:vr,isValidConnection:Nr}=Me.getState(),Xr=Gt?b:_,Ii=(Gt?G:M)||null,An=Gt?"target":"source",Yr=Nr||Ome,Vs=Gt,Ji=vr.find(kt=>kt.id===n);We(!0),V==null||V(sn,Ji,An);const js=kt=>{We(!1),j==null||j(kt,Ji,An)};hB({event:sn,handleId:Ii,nodeId:Xr,onConnect:kt=>D==null?void 0:D(Ji,kt),isTarget:Vs,getState:Me.getState,setState:Me.setState,isValidConnection:Yr,edgeUpdaterType:An,onEdgeUpdateEnd:js})},Mr=sn=>Jt(sn,!0),yr=sn=>Jt(sn,!1),hi=()=>ve(!0),wn=()=>ve(!1),on=!k&&!s,qn=sn=>{var Gt;if(JF.includes(sn.key)&&k){const{unselectNodesAndEdges:vr,addSelectedEdges:Nr,edges:Xr}=Me.getState();sn.key==="Escape"?((Gt=fe.current)==null||Gt.blur(),vr({edges:[Xr.find(An=>An.id===n)]})):Nr([n])}};return ue.jsxs("g",{className:Eo(["react-flow__edge",`react-flow__edge-${i}`,r,{selected:l,animated:u,inactive:on,updating:pe}]),onClick:_e,onDoubleClick:jt,onContextMenu:Wn,onMouseEnter:Bt,onMouseMove:it,onMouseLeave:mt,onKeyDown:se?qn:void 0,tabIndex:se?0:void 0,role:se?"button":void 0,"data-testid":`rf__edge-${n}`,"aria-label":ie===null?void 0:ie||`Edge from ${_} to ${b}`,"aria-describedby":se?`${wB}-${ee}`:void 0,ref:fe,children:[!ye&&ue.jsx(e,{id:n,source:_,target:b,selected:l,animated:u,label:d,labelStyle:f,labelShowBg:p,labelBgStyle:g,labelBgPadding:m,labelBgBorderRadius:v,data:o,style:x,sourceX:y,sourceY:S,targetX:C,targetY:T,sourcePosition:E,targetPosition:P,sourceHandleId:M,targetHandleId:G,markerStart:Ee,markerEnd:lt,pathOptions:W,interactionWidth:ne}),le&&ue.jsxs(ue.Fragment,{children:[(le==="source"||le===!0)&&ue.jsx(VR,{position:E,centerX:y,centerY:S,radius:B,onMouseDown:Mr,onMouseEnter:hi,onMouseOut:wn,type:"source"}),(le==="target"||le===!0)&&ue.jsx(VR,{position:P,centerX:C,centerY:T,radius:B,onMouseDown:yr,onMouseEnter:hi,onMouseOut:wn,type:"target"})]})]})};return t.displayName="EdgeWrapper",L.memo(t)};function kme(e){const t={default:id(e.default||U1),straight:id(e.bezier||YT),step:id(e.step||XT),smoothstep:id(e.step||Mb),simplebezier:id(e.simplebezier||KT)},n={},r=Object.keys(e).filter(i=>!["default","bezier"].includes(i)).reduce((i,o)=>(i[o]=id(e[o]||U1),i),n);return{...t,...r}}function jR(e,t,n=null){const r=((n==null?void 0:n.x)||0)+t.x,i=((n==null?void 0:n.y)||0)+t.y,o=(n==null?void 0:n.width)||t.width,s=(n==null?void 0:n.height)||t.height;switch(e){case Ne.Top:return{x:r+o/2,y:i};case Ne.Right:return{x:r+o,y:i+s/2};case Ne.Bottom:return{x:r+o/2,y:i+s};case Ne.Left:return{x:r,y:i+s/2}}}function GR(e,t){return e?e.length===1||!t?e[0]:t&&e.find(n=>n.id===t)||null:null}const Ime=(e,t,n,r,i,o)=>{const s=jR(n,e,t),a=jR(o,r,i);return{sourceX:s.x,sourceY:s.y,targetX:a.x,targetY:a.y}};function Mme({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:o,width:s,height:a,transform:l}){const u={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+r,t.y+o)};u.x===u.x2&&(u.x2+=1),u.y===u.y2&&(u.y2+=1);const d=F1({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:s/l[2],height:a/l[2]}),f=Math.max(0,Math.min(d.x2,u.x2)-Math.max(d.x,u.x)),p=Math.max(0,Math.min(d.y2,u.y2)-Math.max(d.y,u.y));return Math.ceil(f*p)>0}function HR(e){var r,i,o,s,a;const t=((r=e==null?void 0:e[nr])==null?void 0:r.handleBounds)||null,n=t&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((i=e==null?void 0:e.positionAbsolute)==null?void 0:i.x)<"u"&&typeof((o=e==null?void 0:e.positionAbsolute)==null?void 0:o.y)<"u";return[{x:((s=e==null?void 0:e.positionAbsolute)==null?void 0:s.x)||0,y:((a=e==null?void 0:e.positionAbsolute)==null?void 0:a.y)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0},t,!!n]}function xB(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return n?n.selected?!0:xB(n,t):!1}function WR(e,t,n){let r=e;do{if(r!=null&&r.matches(t))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function Nme(e,t,n,r){return Array.from(e.values()).filter(i=>(i.selected||i.id===r)&&(!i.parentNode||!xB(i,e))&&(i.draggable||t&&typeof i.draggable>"u")).map(i=>{var o,s;return{id:i.id,position:i.position||{x:0,y:0},positionAbsolute:i.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((o=i.positionAbsolute)==null?void 0:o.x)??0),y:n.y-(((s=i.positionAbsolute)==null?void 0:s.y)??0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode,width:i.width,height:i.height}})}function Lme(e,t){return!t||t==="parent"?t:[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]}function CB(e,t,n,r,i=[0,0],o){const s=Lme(e,e.extent||r);let a=s;if(e.extent==="parent")if(e.parentNode&&e.width&&e.height){const d=n.get(e.parentNode),{x:f,y:p}=rf(d,i).positionAbsolute;a=d&&_o(f)&&_o(p)&&_o(d.width)&&_o(d.height)?[[f+e.width*i[0],p+e.height*i[1]],[f+d.width-e.width+e.width*i[0],p+d.height-e.height+e.height*i[1]]]:a}else o==null||o("005",Wl.error005()),a=s;else if(e.extent&&e.parentNode){const d=n.get(e.parentNode),{x:f,y:p}=rf(d,i).positionAbsolute;a=[[e.extent[0][0]+f,e.extent[0][1]+p],[e.extent[1][0]+f,e.extent[1][1]+p]]}let l={x:0,y:0};if(e.parentNode){const d=n.get(e.parentNode);l=rf(d,i).positionAbsolute}const u=a?qT(t,a):t;return{position:{x:u.x-l.x,y:u.y-l.y},positionAbsolute:u}}function _x({nodeId:e,dragItems:t,nodeInternals:n}){const r=t.map(i=>({...n.get(i.id),position:i.position,positionAbsolute:i.positionAbsolute}));return[e?r.find(i=>i.id===e):r[0],r]}const qR=(e,t,n,r)=>{const i=t.querySelectorAll(e);if(!i||!i.length)return null;const o=Array.from(i),s=t.getBoundingClientRect(),a={x:s.width*r[0],y:s.height*r[1]};return o.map(l=>{const u=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),position:l.getAttribute("data-handlepos"),x:(u.left-s.left-a.x)/n,y:(u.top-s.top-a.y)/n,...WT(l)}})};function qh(e,t,n){return n===void 0?n:r=>{const i=t().nodeInternals.get(e);n(r,{...i})}}function q3({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:i,unselectNodesAndEdges:o,multiSelectionActive:s,nodeInternals:a}=t.getState(),l=a.get(e);t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&s)&&(o({nodes:[l]}),requestAnimationFrame(()=>{var u;return(u=r==null?void 0:r.current)==null?void 0:u.blur()})):i([e])}function Dme(){const e=qr();return L.useCallback(({sourceEvent:n})=>{const{transform:r,snapGrid:i,snapToGrid:o}=e.getState(),s=n.touches?n.touches[0].clientX:n.clientX,a=n.touches?n.touches[0].clientY:n.clientY,l={x:(s-r[0])/r[2],y:(a-r[1])/r[2]};return{xSnapped:o?i[0]*Math.round(l.x/i[0]):l.x,ySnapped:o?i[1]*Math.round(l.y/i[1]):l.y,...l}},[])}function bx(e){return(t,n,r)=>e==null?void 0:e(t,r)}function TB({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:s}){const a=qr(),[l,u]=L.useState(!1),d=L.useRef([]),f=L.useRef({x:null,y:null}),p=L.useRef(0),g=L.useRef(null),m=L.useRef({x:0,y:0}),v=L.useRef(null),x=L.useRef(!1),_=Dme();return L.useEffect(()=>{if(e!=null&&e.current){const b=jo(e.current),y=({x:C,y:T})=>{const{nodeInternals:E,onNodeDrag:P,onSelectionDrag:k,updateNodePositions:O,nodeExtent:M,snapGrid:G,snapToGrid:U,nodeOrigin:A,onError:N}=a.getState();f.current={x:C,y:T};let F=!1;if(d.current=d.current.map(D=>{const V={x:C-D.distance.x,y:T-D.distance.y};U&&(V.x=G[0]*Math.round(V.x/G[0]),V.y=G[1]*Math.round(V.y/G[1]));const j=CB(D,V,E,M,A,N);return F=F||D.position.x!==j.position.x||D.position.y!==j.position.y,D.position=j.position,D.positionAbsolute=j.positionAbsolute,D}),!F)return;O(d.current,!0,!0),u(!0);const B=i?P:bx(k);if(B&&v.current){const[D,V]=_x({nodeId:i,dragItems:d.current,nodeInternals:E});B(v.current,D,V)}},S=()=>{if(!g.current)return;const[C,T]=XF(m.current,g.current);if(C!==0||T!==0){const{transform:E,panBy:P}=a.getState();f.current.x=(f.current.x??0)-C/E[2],f.current.y=(f.current.y??0)-T/E[2],P({x:C,y:T})&&y(f.current)}p.current=requestAnimationFrame(S)};if(t)b.on(".drag",null);else{const C=tpe().on("start",T=>{var F;const{nodeInternals:E,multiSelectionActive:P,domNode:k,nodesDraggable:O,unselectNodesAndEdges:M,onNodeDragStart:G,onSelectionDragStart:U}=a.getState(),A=i?G:bx(U);!s&&!P&&i&&((F=E.get(i))!=null&&F.selected||M()),i&&o&&s&&q3({id:i,store:a,nodeRef:e});const N=_(T);if(f.current=N,d.current=Nme(E,O,N,i),A&&d.current){const[B,D]=_x({nodeId:i,dragItems:d.current,nodeInternals:E});A(T.sourceEvent,B,D)}g.current=(k==null?void 0:k.getBoundingClientRect())||null,m.current=Il(T.sourceEvent,g.current)}).on("drag",T=>{const E=_(T),{autoPanOnNodeDrag:P}=a.getState();!x.current&&P&&(x.current=!0,S()),(f.current.x!==E.xSnapped||f.current.y!==E.ySnapped)&&d.current&&(v.current=T.sourceEvent,m.current=Il(T.sourceEvent,g.current),y(E))}).on("end",T=>{if(u(!1),x.current=!1,cancelAnimationFrame(p.current),d.current){const{updateNodePositions:E,nodeInternals:P,onNodeDragStop:k,onSelectionDragStop:O}=a.getState(),M=i?k:bx(O);if(E(d.current,!1,!1),M){const[G,U]=_x({nodeId:i,dragItems:d.current,nodeInternals:P});M(T.sourceEvent,G,U)}}}).filter(T=>{const E=T.target;return!T.button&&(!n||!WR(E,`.${n}`,e))&&(!r||WR(E,r,e))});return b.call(C),()=>{b.on(".drag",null)}}}},[e,t,n,r,o,a,i,s,_]),l}function EB(){const e=qr();return L.useCallback(n=>{const{nodeInternals:r,nodeExtent:i,updateNodePositions:o,getNodes:s,snapToGrid:a,snapGrid:l,onError:u,nodesDraggable:d}=e.getState(),f=s().filter(b=>b.selected&&(b.draggable||d&&typeof b.draggable>"u")),p=a?l[0]:5,g=a?l[1]:5,m=n.isShiftPressed?4:1,v=n.x*p*m,x=n.y*g*m,_=f.map(b=>{if(b.positionAbsolute){const y={x:b.positionAbsolute.x+v,y:b.positionAbsolute.y+x};a&&(y.x=l[0]*Math.round(y.x/l[0]),y.y=l[1]*Math.round(y.y/l[1]));const{positionAbsolute:S,position:C}=CB(b,y,r,i,void 0,u);b.position=C,b.positionAbsolute=S}return b});o(_,!0,!1)},[])}const of={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var Kh=e=>{const t=({id:n,type:r,data:i,xPos:o,yPos:s,xPosOrigin:a,yPosOrigin:l,selected:u,onClick:d,onMouseEnter:f,onMouseMove:p,onMouseLeave:g,onContextMenu:m,onDoubleClick:v,style:x,className:_,isDraggable:b,isSelectable:y,isConnectable:S,isFocusable:C,selectNodesOnDrag:T,sourcePosition:E,targetPosition:P,hidden:k,resizeObserver:O,dragHandle:M,zIndex:G,isParent:U,noDragClassName:A,noPanClassName:N,initialized:F,disableKeyboardA11y:B,ariaLabel:D,rfId:V})=>{const j=qr(),q=L.useRef(null),Z=L.useRef(E),ee=L.useRef(P),ie=L.useRef(r),se=y||b||d||f||p||g,le=EB(),W=qh(n,j.getState,f),ne=qh(n,j.getState,p),fe=qh(n,j.getState,g),pe=qh(n,j.getState,m),ve=qh(n,j.getState,v),ye=Ee=>{if(y&&(!T||!b)&&q3({id:n,store:j,nodeRef:q}),d){const lt=j.getState().nodeInternals.get(n);d(Ee,{...lt})}},We=Ee=>{if(!j3(Ee))if(JF.includes(Ee.key)&&y){const lt=Ee.key==="Escape";q3({id:n,store:j,unselect:lt,nodeRef:q})}else!B&&b&&u&&Object.prototype.hasOwnProperty.call(of,Ee.key)&&(j.setState({ariaLiveMessage:`Moved selected node ${Ee.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~s}`}),le({x:of[Ee.key].x,y:of[Ee.key].y,isShiftPressed:Ee.shiftKey}))};L.useEffect(()=>{if(q.current&&!k){const Ee=q.current;return O==null||O.observe(Ee),()=>O==null?void 0:O.unobserve(Ee)}},[k]),L.useEffect(()=>{const Ee=ie.current!==r,lt=Z.current!==E,_e=ee.current!==P;q.current&&(Ee||lt||_e)&&(Ee&&(ie.current=r),lt&&(Z.current=E),_e&&(ee.current=P),j.getState().updateNodeDimensions([{id:n,nodeElement:q.current,forceUpdate:!0}]))},[n,r,E,P]);const Me=TB({nodeRef:q,disabled:k||!b,noDragClassName:A,handleSelector:M,nodeId:n,isSelectable:y,selectNodesOnDrag:T});return k?null:ue.jsx("div",{className:Eo(["react-flow__node",`react-flow__node-${r}`,{[N]:b},_,{selected:u,selectable:y,parent:U,dragging:Me}]),ref:q,style:{zIndex:G,transform:`translate(${a}px,${l}px)`,pointerEvents:se?"all":"none",visibility:F?"visible":"hidden",...x},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:W,onMouseMove:ne,onMouseLeave:fe,onContextMenu:pe,onClick:ye,onDoubleClick:ve,onKeyDown:C?We:void 0,tabIndex:C?0:void 0,role:C?"button":void 0,"aria-describedby":B?void 0:`${SB}-${V}`,"aria-label":D,children:ue.jsx(ome,{value:n,children:ue.jsx(e,{id:n,data:i,type:r,xPos:o,yPos:s,selected:u,isConnectable:S,sourcePosition:E,targetPosition:P,dragging:Me,dragHandle:M,zIndex:G})})})};return t.displayName="NodeWrapper",L.memo(t)};function $me(e){const t={input:Kh(e.input||yB),default:Kh(e.default||W3),output:Kh(e.output||_B),group:Kh(e.group||JT)},n={},r=Object.keys(e).filter(i=>!["input","default","output","group"].includes(i)).reduce((i,o)=>(i[o]=Kh(e[o]||W3),i),n);return{...t,...r}}const Fme=({x:e,y:t,width:n,height:r,origin:i})=>!n||!r?{x:e,y:t}:i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:e,y:t}:{x:e-n*i[0],y:t-r*i[1]},Bme=typeof document<"u"?document:null;var kg=(e=null,t={target:Bme})=>{const[n,r]=L.useState(!1),i=L.useRef(!1),o=L.useRef(new Set([])),[s,a]=L.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.split("+")),d=u.reduce((f,p)=>f.concat(...p),[]);return[u,d]}return[[],[]]},[e]);return L.useEffect(()=>{var l,u;if(e!==null){const d=g=>{if(i.current=g.ctrlKey||g.metaKey||g.shiftKey,!i.current&&j3(g))return!1;const m=XR(g.code,a);o.current.add(g[m]),KR(s,o.current,!1)&&(g.preventDefault(),r(!0))},f=g=>{if(!i.current&&j3(g))return!1;const m=XR(g.code,a);KR(s,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(g[m]),i.current=!1},p=()=>{o.current.clear(),r(!1)};return(l=t==null?void 0:t.target)==null||l.addEventListener("keydown",d),(u=t==null?void 0:t.target)==null||u.addEventListener("keyup",f),window.addEventListener("blur",p),()=>{var g,m;(g=t==null?void 0:t.target)==null||g.removeEventListener("keydown",d),(m=t==null?void 0:t.target)==null||m.removeEventListener("keyup",f),window.removeEventListener("blur",p)}}},[e,r]),n};function KR(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function XR(e,t){return t.includes(e)?"code":"key"}function AB(e,t,n,r){var s,a;if(!e.parentNode)return n;const i=t.get(e.parentNode),o=rf(i,r);return AB(i,t,{x:(n.x??0)+o.x,y:(n.y??0)+o.y,z:(((s=i[nr])==null?void 0:s.z)??0)>(n.z??0)?((a=i[nr])==null?void 0:a.z)??0:n.z??0},r)}function PB(e,t,n){e.forEach(r=>{var i;if(r.parentNode&&!e.has(r.parentNode))throw new Error(`Parent node ${r.parentNode} not found`);if(r.parentNode||n!=null&&n[r.id]){const{x:o,y:s,z:a}=AB(r,e,{...r.position,z:((i=r[nr])==null?void 0:i.z)??0},t);r.positionAbsolute={x:o,y:s},r[nr].z=a,n!=null&&n[r.id]&&(r[nr].isParent=!0)}})}function Sx(e,t,n,r){const i=new Map,o={},s=r?1e3:0;return e.forEach(a=>{var f;const l=(_o(a.zIndex)?a.zIndex:0)+(a.selected?s:0),u=t.get(a.id),d={width:u==null?void 0:u.width,height:u==null?void 0:u.height,...a,positionAbsolute:{x:a.position.x,y:a.position.y}};a.parentNode&&(d.parentNode=a.parentNode,o[a.parentNode]=!0),Object.defineProperty(d,nr,{enumerable:!1,value:{handleBounds:(f=u==null?void 0:u[nr])==null?void 0:f.handleBounds,z:l}}),i.set(a.id,d)}),PB(i,n,o),i}function RB(e,t={}){const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:s,d3Zoom:a,d3Selection:l,fitViewOnInitDone:u,fitViewOnInit:d,nodeOrigin:f}=e(),p=t.initial&&!u&&d;if(a&&l&&(p||!t.initial)){const m=n().filter(x=>{var b;const _=t.includeHiddenNodes?x.width&&x.height:!x.hidden;return(b=t.nodes)!=null&&b.length?_&&t.nodes.some(y=>y.id===x.id):_}),v=m.every(x=>x.width&&x.height);if(m.length>0&&v){const x=aB(m,f),[_,b,y]=cB(x,r,i,t.minZoom??o,t.maxZoom??s,t.padding??.1),S=kl.translate(_,b).scale(y);return typeof t.duration=="number"&&t.duration>0?a.transform(Pu(l,t.duration),S):a.transform(l,S),!0}}return!1}function Ume(e,t){return e.forEach(n=>{const r=t.get(n.id);r&&t.set(r.id,{...r,[nr]:r[nr],selected:n.selected})}),new Map(t)}function zme(e,t){return t.map(n=>{const r=e.find(i=>i.id===n.id);return r&&(n.selected=r.selected),n})}function P0({changedNodes:e,changedEdges:t,get:n,set:r}){const{nodeInternals:i,edges:o,onNodesChange:s,onEdgesChange:a,hasDefaultNodes:l,hasDefaultEdges:u}=n();e!=null&&e.length&&(l&&r({nodeInternals:Ume(e,i)}),s==null||s(e)),t!=null&&t.length&&(u&&r({edges:zme(t,o)}),a==null||a(t))}const od=()=>{},Vme={zoomIn:od,zoomOut:od,zoomTo:od,getZoom:()=>1,setViewport:od,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:od,fitBounds:od,project:e=>e,viewportInitialized:!1},jme=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),Gme=()=>{const e=qr(),{d3Zoom:t,d3Selection:n}=Nn(jme,Ri);return L.useMemo(()=>n&&t?{zoomIn:i=>t.scaleBy(Pu(n,i==null?void 0:i.duration),1.2),zoomOut:i=>t.scaleBy(Pu(n,i==null?void 0:i.duration),1/1.2),zoomTo:(i,o)=>t.scaleTo(Pu(n,o==null?void 0:o.duration),i),getZoom:()=>e.getState().transform[2],setViewport:(i,o)=>{const[s,a,l]=e.getState().transform,u=kl.translate(i.x??s,i.y??a).scale(i.zoom??l);t.transform(Pu(n,o==null?void 0:o.duration),u)},getViewport:()=>{const[i,o,s]=e.getState().transform;return{x:i,y:o,zoom:s}},fitView:i=>RB(e.getState,i),setCenter:(i,o,s)=>{const{width:a,height:l,maxZoom:u}=e.getState(),d=typeof(s==null?void 0:s.zoom)<"u"?s.zoom:u,f=a/2-i*d,p=l/2-o*d,g=kl.translate(f,p).scale(d);t.transform(Pu(n,s==null?void 0:s.duration),g)},fitBounds:(i,o)=>{const{width:s,height:a,minZoom:l,maxZoom:u}=e.getState(),[d,f,p]=cB(i,s,a,l,u,(o==null?void 0:o.padding)??.1),g=kl.translate(d,f).scale(p);t.transform(Pu(n,o==null?void 0:o.duration),g)},project:i=>{const{transform:o,snapToGrid:s,snapGrid:a}=e.getState();return sB(i,o,s,a)},viewportInitialized:!0}:Vme,[t,n])};function OB(){const e=Gme(),t=qr(),n=L.useCallback(()=>t.getState().getNodes().map(v=>({...v})),[]),r=L.useCallback(v=>t.getState().nodeInternals.get(v),[]),i=L.useCallback(()=>{const{edges:v=[]}=t.getState();return v.map(x=>({...x}))},[]),o=L.useCallback(v=>{const{edges:x=[]}=t.getState();return x.find(_=>_.id===v)},[]),s=L.useCallback(v=>{const{getNodes:x,setNodes:_,hasDefaultNodes:b,onNodesChange:y}=t.getState(),S=x(),C=typeof v=="function"?v(S):v;if(b)_(C);else if(y){const T=C.length===0?S.map(E=>({type:"remove",id:E.id})):C.map(E=>({item:E,type:"reset"}));y(T)}},[]),a=L.useCallback(v=>{const{edges:x=[],setEdges:_,hasDefaultEdges:b,onEdgesChange:y}=t.getState(),S=typeof v=="function"?v(x):v;if(b)_(S);else if(y){const C=S.length===0?x.map(T=>({type:"remove",id:T.id})):S.map(T=>({item:T,type:"reset"}));y(C)}},[]),l=L.useCallback(v=>{const x=Array.isArray(v)?v:[v],{getNodes:_,setNodes:b,hasDefaultNodes:y,onNodesChange:S}=t.getState();if(y){const T=[..._(),...x];b(T)}else if(S){const C=x.map(T=>({item:T,type:"add"}));S(C)}},[]),u=L.useCallback(v=>{const x=Array.isArray(v)?v:[v],{edges:_=[],setEdges:b,hasDefaultEdges:y,onEdgesChange:S}=t.getState();if(y)b([..._,...x]);else if(S){const C=x.map(T=>({item:T,type:"add"}));S(C)}},[]),d=L.useCallback(()=>{const{getNodes:v,edges:x=[],transform:_}=t.getState(),[b,y,S]=_;return{nodes:v().map(C=>({...C})),edges:x.map(C=>({...C})),viewport:{x:b,y,zoom:S}}},[]),f=L.useCallback(({nodes:v,edges:x})=>{const{nodeInternals:_,getNodes:b,edges:y,hasDefaultNodes:S,hasDefaultEdges:C,onNodesDelete:T,onEdgesDelete:E,onNodesChange:P,onEdgesChange:k}=t.getState(),O=(v||[]).map(N=>N.id),M=(x||[]).map(N=>N.id),G=b().reduce((N,F)=>{const B=!O.includes(F.id)&&F.parentNode&&N.find(V=>V.id===F.parentNode);return(typeof F.deletable=="boolean"?F.deletable:!0)&&(O.includes(F.id)||B)&&N.push(F),N},[]),U=y.filter(N=>typeof N.deletable=="boolean"?N.deletable:!0),A=U.filter(N=>M.includes(N.id));if(G||A){const N=uB(G,U),F=[...A,...N],B=F.reduce((D,V)=>(D.includes(V.id)||D.push(V.id),D),[]);if((C||S)&&(C&&t.setState({edges:y.filter(D=>!B.includes(D.id))}),S&&(G.forEach(D=>{_.delete(D.id)}),t.setState({nodeInternals:new Map(_)}))),B.length>0&&(E==null||E(F),k&&k(B.map(D=>({id:D,type:"remove"})))),G.length>0&&(T==null||T(G),P)){const D=G.map(V=>({id:V.id,type:"remove"}));P(D)}}},[]),p=L.useCallback(v=>{const x=Zge(v),_=x?null:t.getState().nodeInternals.get(v.id);return[x?v:MR(_),_,x]},[]),g=L.useCallback((v,x=!0,_)=>{const[b,y,S]=p(v);return b?(_||t.getState().getNodes()).filter(C=>{if(!S&&(C.id===y.id||!C.positionAbsolute))return!1;const T=MR(C),E=V3(T,b);return x&&E>0||E>=v.width*v.height}):[]},[]),m=L.useCallback((v,x,_=!0)=>{const[b]=p(v);if(!b)return!1;const y=V3(b,x);return _&&y>0||y>=v.width*v.height},[]);return L.useMemo(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:s,setEdges:a,addNodes:l,addEdges:u,toObject:d,deleteElements:f,getIntersectingNodes:g,isNodeIntersecting:m}),[e,n,r,i,o,s,a,l,u,d,f,g,m])}var Hme=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=qr(),{deleteElements:r}=OB(),i=kg(e),o=kg(t);L.useEffect(()=>{if(i){const{edges:s,getNodes:a}=n.getState(),l=a().filter(d=>d.selected),u=s.filter(d=>d.selected);r({nodes:l,edges:u}),n.setState({nodesSelectionActive:!1})}},[i]),L.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])};function Wme(e){const t=qr();L.useEffect(()=>{let n;const r=()=>{var o,s;if(!e.current)return;const i=WT(e.current);(i.height===0||i.width===0)&&((s=(o=t.getState()).onError)==null||s.call(o,"004",Wl.error004())),t.setState({width:i.width||500,height:i.height||500})};return r(),window.addEventListener("resize",r),e.current&&(n=new ResizeObserver(()=>r()),n.observe(e.current)),()=>{window.removeEventListener("resize",r),n&&e.current&&n.unobserve(e.current)}},[])}const eE={position:"absolute",width:"100%",height:"100%",top:0,left:0},qme=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,wx=e=>({x:e.x,y:e.y,zoom:e.k}),sd=(e,t)=>e.target.closest(`.${t}`),YR=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),Kme=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),Xme=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:s=!1,panOnScrollSpeed:a=.5,panOnScrollMode:l=nf.Free,zoomOnDoubleClick:u=!0,elementsSelectable:d,panOnDrag:f=!0,defaultViewport:p,translateExtent:g,minZoom:m,maxZoom:v,zoomActivationKeyCode:x,preventScrolling:_=!0,children:b,noWheelClassName:y,noPanClassName:S})=>{const C=L.useRef(),T=qr(),E=L.useRef(!1),P=L.useRef(!1),k=L.useRef(null),O=L.useRef({x:0,y:0,zoom:0}),{d3Zoom:M,d3Selection:G,d3ZoomHandler:U,userSelectionActive:A}=Nn(Kme,Ri),N=kg(x),F=L.useRef(0);return Wme(k),L.useEffect(()=>{if(k.current){const B=k.current.getBoundingClientRect(),D=Hge().scaleExtent([m,v]).translateExtent(g),V=jo(k.current).call(D),j=kl.translate(p.x,p.y).scale(Af(p.zoom,m,v)),q=[[0,0],[B.width,B.height]],Z=D.constrain()(j,q,g);D.transform(V,Z),T.setState({d3Zoom:D,d3Selection:V,d3ZoomHandler:V.on("wheel.zoom"),transform:[Z.x,Z.y,Z.k],domNode:k.current.closest(".react-flow")})}},[]),L.useEffect(()=>{G&&M&&(s&&!N&&!A?G.on("wheel.zoom",B=>{if(sd(B,y))return!1;B.preventDefault(),B.stopImmediatePropagation();const D=G.property("__zoom").k||1;if(B.ctrlKey&&o){const Z=gs(B),ee=-B.deltaY*(B.deltaMode===1?.05:B.deltaMode?1:.002)*10,ie=D*Math.pow(2,ee);M.scaleTo(G,ie,Z);return}const V=B.deltaMode===1?20:1,j=l===nf.Vertical?0:B.deltaX*V,q=l===nf.Horizontal?0:B.deltaY*V;M.translateBy(G,-(j/D)*a,-(q/D)*a)},{passive:!1}):typeof U<"u"&&G.on("wheel.zoom",function(B,D){if(!_||sd(B,y))return null;B.preventDefault(),U.call(this,B,D)},{passive:!1}))},[A,s,l,G,M,U,N,o,_,y]),L.useEffect(()=>{M&&M.on("start",B=>{var V;if(!B.sourceEvent)return null;F.current=B.sourceEvent.button;const{onViewportChangeStart:D}=T.getState();if(E.current=!0,((V=B.sourceEvent)==null?void 0:V.type)==="mousedown"&&T.setState({paneDragging:!0}),t||D){const j=wx(B.transform);O.current=j,D==null||D(j),t==null||t(B.sourceEvent,j)}})},[M,t]),L.useEffect(()=>{M&&(A&&!E.current?M.on("zoom",null):A||M.on("zoom",B=>{const{onViewportChange:D}=T.getState();if(T.setState({transform:[B.transform.x,B.transform.y,B.transform.k]}),P.current=!!(r&&YR(f,F.current??0)),e||D){const V=wx(B.transform);D==null||D(V),e==null||e(B.sourceEvent,V)}}))},[A,M,e,f,r]),L.useEffect(()=>{M&&M.on("end",B=>{if(!B.sourceEvent)return null;const{onViewportChangeEnd:D}=T.getState();if(E.current=!1,T.setState({paneDragging:!1}),r&&YR(f,F.current??0)&&!P.current&&r(B.sourceEvent),P.current=!1,(n||D)&&qme(O.current,B.transform)){const V=wx(B.transform);O.current=V,clearTimeout(C.current),C.current=setTimeout(()=>{D==null||D(V),n==null||n(B.sourceEvent,V)},s?150:0)}})},[M,s,f,n,r]),L.useEffect(()=>{M&&M.filter(B=>{const D=N||i,V=o&&B.ctrlKey;if(B.button===1&&B.type==="mousedown"&&(sd(B,"react-flow__node")||sd(B,"react-flow__edge")))return!0;if(!f&&!D&&!s&&!u&&!o||A||!u&&B.type==="dblclick"||sd(B,y)&&B.type==="wheel"||sd(B,S)&&B.type!=="wheel"||!o&&B.ctrlKey&&B.type==="wheel"||!D&&!s&&!V&&B.type==="wheel"||!f&&(B.type==="mousedown"||B.type==="touchstart")||Array.isArray(f)&&!f.includes(B.button)&&(B.type==="mousedown"||B.type==="touchstart"))return!1;const j=Array.isArray(f)&&f.includes(B.button)||!B.button||B.button<=1;return(!B.ctrlKey||B.type==="wheel")&&j})},[A,M,i,o,s,u,f,d,N]),ue.jsx("div",{className:"react-flow__renderer",ref:k,style:eE,children:b})},Yme=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function Qme(){const{userSelectionActive:e,userSelectionRect:t}=Nn(Yme,Ri);return e&&t?ue.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function QR(e,t){const n=e.find(r=>r.id===t.parentNode);if(n){const r=t.position.x+t.width-n.width,i=t.position.y+t.height-n.height;if(r>0||i>0||t.position.x<0||t.position.y<0){if(n.style={...n.style},n.style.width=n.style.width??n.width,n.style.height=n.style.height??n.height,r>0&&(n.style.width+=r),i>0&&(n.style.height+=i),t.position.x<0){const o=Math.abs(t.position.x);n.position.x=n.position.x-o,n.style.width+=o,t.position.x=0}if(t.position.y<0){const o=Math.abs(t.position.y);n.position.y=n.position.y-o,n.style.height+=o,t.position.y=0}n.width=n.style.width,n.height=n.style.height}}}function kB(e,t){if(e.some(r=>r.type==="reset"))return e.filter(r=>r.type==="reset").map(r=>r.item);const n=e.filter(r=>r.type==="add").map(r=>r.item);return t.reduce((r,i)=>{const o=e.filter(a=>a.id===i.id);if(o.length===0)return r.push(i),r;const s={...i};for(const a of o)if(a)switch(a.type){case"select":{s.selected=a.selected;break}case"position":{typeof a.position<"u"&&(s.position=a.position),typeof a.positionAbsolute<"u"&&(s.positionAbsolute=a.positionAbsolute),typeof a.dragging<"u"&&(s.dragging=a.dragging),s.expandParent&&QR(r,s);break}case"dimensions":{typeof a.dimensions<"u"&&(s.width=a.dimensions.width,s.height=a.dimensions.height),typeof a.updateStyle<"u"&&(s.style={...s.style||{},...a.dimensions}),typeof a.resizing=="boolean"&&(s.resizing=a.resizing),s.expandParent&&QR(r,s);break}case"remove":return r}return r.push(s),r},n)}function IB(e,t){return kB(e,t)}function Zme(e,t){return kB(e,t)}const dl=(e,t)=>({id:e,type:"select",selected:t});function Ld(e,t){return e.reduce((n,r)=>{const i=t.includes(r.id);return!r.selected&&i?(r.selected=!0,n.push(dl(r.id,!0))):r.selected&&!i&&(r.selected=!1,n.push(dl(r.id,!1))),n},[])}const xx=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},Jme=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),MB=L.memo(({isSelecting:e,selectionMode:t=Og.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:s,onPaneScroll:a,onPaneMouseEnter:l,onPaneMouseMove:u,onPaneMouseLeave:d,children:f})=>{const p=L.useRef(null),g=qr(),m=L.useRef(0),v=L.useRef(0),x=L.useRef(),{userSelectionActive:_,elementsSelectable:b,dragging:y}=Nn(Jme,Ri),S=()=>{g.setState({userSelectionActive:!1,userSelectionRect:null}),m.current=0,v.current=0},C=U=>{o==null||o(U),g.getState().resetSelectedElements(),g.setState({nodesSelectionActive:!1})},T=U=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){U.preventDefault();return}s==null||s(U)},E=a?U=>a(U):void 0,P=U=>{const{resetSelectedElements:A,domNode:N}=g.getState();if(x.current=N==null?void 0:N.getBoundingClientRect(),!b||!e||U.button!==0||U.target!==p.current||!x.current)return;const{x:F,y:B}=Il(U,x.current);A(),g.setState({userSelectionRect:{width:0,height:0,startX:F,startY:B,x:F,y:B}}),r==null||r(U)},k=U=>{const{userSelectionRect:A,nodeInternals:N,edges:F,transform:B,onNodesChange:D,onEdgesChange:V,nodeOrigin:j,getNodes:q}=g.getState();if(!e||!x.current||!A)return;g.setState({userSelectionActive:!0,nodesSelectionActive:!1});const Z=Il(U,x.current),ee=A.startX??0,ie=A.startY??0,se={...A,x:Z.xpe.id),fe=W.map(pe=>pe.id);if(m.current!==fe.length){m.current=fe.length;const pe=Ld(le,fe);pe.length&&(D==null||D(pe))}if(v.current!==ne.length){v.current=ne.length;const pe=Ld(F,ne);pe.length&&(V==null||V(pe))}g.setState({userSelectionRect:se})},O=U=>{if(U.button!==0)return;const{userSelectionRect:A}=g.getState();!_&&A&&U.target===p.current&&(C==null||C(U)),g.setState({nodesSelectionActive:m.current>0}),S(),i==null||i(U)},M=U=>{_&&(g.setState({nodesSelectionActive:m.current>0}),i==null||i(U)),S()},G=b&&(e||_);return ue.jsxs("div",{className:Eo(["react-flow__pane",{dragging:y,selection:e}]),onClick:G?void 0:xx(C,p),onContextMenu:xx(T,p),onWheel:xx(E,p),onMouseEnter:G?void 0:l,onMouseDown:G?P:void 0,onMouseMove:G?k:u,onMouseUp:G?O:void 0,onMouseLeave:G?M:d,ref:p,style:eE,children:[f,ue.jsx(Qme,{})]})});MB.displayName="Pane";const eye=e=>{const t=e.getNodes().filter(n=>n.selected);return{...aB(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function tye({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=qr(),{width:i,height:o,x:s,y:a,transformString:l,userSelectionActive:u}=Nn(eye,Ri),d=EB(),f=L.useRef(null);if(L.useEffect(()=>{var m;n||(m=f.current)==null||m.focus({preventScroll:!0})},[n]),TB({nodeRef:f}),u||!i||!o)return null;const p=e?m=>{const v=r.getState().getNodes().filter(x=>x.selected);e(m,v)}:void 0,g=m=>{Object.prototype.hasOwnProperty.call(of,m.key)&&d({x:of[m.key].x,y:of[m.key].y,isShiftPressed:m.shiftKey})};return ue.jsx("div",{className:Eo(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l},children:ue.jsx("div",{ref:f,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:n?void 0:-1,onKeyDown:n?void 0:g,style:{width:i,height:o,top:a,left:s}})})}var nye=L.memo(tye);const rye=e=>e.nodesSelectionActive,NB=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,deleteKeyCode:a,onMove:l,onMoveStart:u,onMoveEnd:d,selectionKeyCode:f,selectionOnDrag:p,selectionMode:g,onSelectionStart:m,onSelectionEnd:v,multiSelectionKeyCode:x,panActivationKeyCode:_,zoomActivationKeyCode:b,elementsSelectable:y,zoomOnScroll:S,zoomOnPinch:C,panOnScroll:T,panOnScrollSpeed:E,panOnScrollMode:P,zoomOnDoubleClick:k,panOnDrag:O,defaultViewport:M,translateExtent:G,minZoom:U,maxZoom:A,preventScrolling:N,onSelectionContextMenu:F,noWheelClassName:B,noPanClassName:D,disableKeyboardA11y:V})=>{const j=Nn(rye),q=kg(f),ee=kg(_)||O,ie=q||p&&ee!==!0;return Hme({deleteKeyCode:a,multiSelectionKeyCode:x}),ue.jsx(Xme,{onMove:l,onMoveStart:u,onMoveEnd:d,onPaneContextMenu:o,elementsSelectable:y,zoomOnScroll:S,zoomOnPinch:C,panOnScroll:T,panOnScrollSpeed:E,panOnScrollMode:P,zoomOnDoubleClick:k,panOnDrag:!q&&ee,defaultViewport:M,translateExtent:G,minZoom:U,maxZoom:A,zoomActivationKeyCode:b,preventScrolling:N,noWheelClassName:B,noPanClassName:D,children:ue.jsxs(MB,{onSelectionStart:m,onSelectionEnd:v,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,panOnDrag:ee,isSelecting:!!ie,selectionMode:g,children:[e,j&&ue.jsx(nye,{onSelectionContextMenu:F,noPanClassName:D,disableKeyboardA11y:V})]})})};NB.displayName="FlowRenderer";var iye=L.memo(NB);function oye(e){return Nn(L.useCallback(n=>e?lB(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[e]))}const sye=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),LB=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:s}=Nn(sye,Ri),a=oye(e.onlyRenderVisibleElements),l=L.useRef(),u=L.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const d=new ResizeObserver(f=>{const p=f.map(g=>({id:g.target.getAttribute("data-id"),nodeElement:g.target,forceUpdate:!0}));o(p)});return l.current=d,d},[]);return L.useEffect(()=>()=>{var d;(d=l==null?void 0:l.current)==null||d.disconnect()},[]),ue.jsx("div",{className:"react-flow__nodes",style:eE,children:a.map(d=>{var C,T;let f=d.type||"default";e.nodeTypes[f]||(s==null||s("003",Wl.error003(f)),f="default");const p=e.nodeTypes[f]||e.nodeTypes.default,g=!!(d.draggable||t&&typeof d.draggable>"u"),m=!!(d.selectable||i&&typeof d.selectable>"u"),v=!!(d.connectable||n&&typeof d.connectable>"u"),x=!!(d.focusable||r&&typeof d.focusable>"u"),_=e.nodeExtent?qT(d.positionAbsolute,e.nodeExtent):d.positionAbsolute,b=(_==null?void 0:_.x)??0,y=(_==null?void 0:_.y)??0,S=Fme({x:b,y,width:d.width??0,height:d.height??0,origin:e.nodeOrigin});return ue.jsx(p,{id:d.id,className:d.className,style:d.style,type:f,data:d.data,sourcePosition:d.sourcePosition||Ne.Bottom,targetPosition:d.targetPosition||Ne.Top,hidden:d.hidden,xPos:b,yPos:y,xPosOrigin:S.x,yPosOrigin:S.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!d.selected,isDraggable:g,isSelectable:m,isConnectable:v,isFocusable:x,resizeObserver:u,dragHandle:d.dragHandle,zIndex:((C=d[nr])==null?void 0:C.z)??0,isParent:!!((T=d[nr])!=null&&T.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!d.width&&!!d.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:d.ariaLabel},d.id)})})};LB.displayName="NodeRenderer";var aye=L.memo(LB);const lye=[{level:0,isMaxLevel:!0,edges:[]}];function uye(e,t,n=!1){let r=-1;const i=e.reduce((s,a)=>{var d,f;const l=_o(a.zIndex);let u=l?a.zIndex:0;if(n){const p=t.get(a.target),g=t.get(a.source),m=a.selected||(p==null?void 0:p.selected)||(g==null?void 0:g.selected),v=Math.max(((d=g==null?void 0:g[nr])==null?void 0:d.z)||0,((f=p==null?void 0:p[nr])==null?void 0:f.z)||0,1e3);u=(l?a.zIndex:0)+(m?v:0)}return s[u]?s[u].push(a):s[u]=[a],r=u>r?u:r,s},{}),o=Object.entries(i).map(([s,a])=>{const l=+s;return{edges:a,level:l,isMaxLevel:l===r}});return o.length===0?lye:o}function cye(e,t,n){const r=Nn(L.useCallback(i=>e?i.edges.filter(o=>{const s=t.get(o.source),a=t.get(o.target);return(s==null?void 0:s.width)&&(s==null?void 0:s.height)&&(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&Mme({sourcePos:s.positionAbsolute||{x:0,y:0},targetPos:a.positionAbsolute||{x:0,y:0},sourceWidth:s.width,sourceHeight:s.height,targetWidth:a.width,targetHeight:a.height,width:i.width,height:i.height,transform:i.transform})}):i.edges,[e,t]));return uye(r,t,n)}const dye=({color:e="none",strokeWidth:t=1})=>ue.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:"none",points:"-5,-4 0,0 -5,4"}),fye=({color:e="none",strokeWidth:t=1})=>ue.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:e,points:"-5,-4 0,0 -5,4 -5,-4"}),ZR={[B1.Arrow]:dye,[B1.ArrowClosed]:fye};function hye(e){const t=qr();return L.useMemo(()=>{var i,o;return Object.prototype.hasOwnProperty.call(ZR,e)?ZR[e]:((o=(i=t.getState()).onError)==null||o.call(i,"009",Wl.error009(e)),null)},[e])}const pye=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:o="strokeWidth",strokeWidth:s,orient:a="auto-start-reverse"})=>{const l=hye(t);return l?ue.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:a,refX:"0",refY:"0",children:ue.jsx(l,{color:n,strokeWidth:s})}):null},gye=({defaultColor:e,rfId:t})=>n=>{const r=[];return n.edges.reduce((i,o)=>([o.markerStart,o.markerEnd].forEach(s=>{if(s&&typeof s=="object"){const a=H3(s,t);r.includes(a)||(i.push({id:a,color:s.color||e,...s}),r.push(a))}}),i),[]).sort((i,o)=>i.id.localeCompare(o.id))},DB=({defaultColor:e,rfId:t})=>{const n=Nn(L.useCallback(gye({defaultColor:e,rfId:t}),[e,t]),(r,i)=>!(r.length!==i.length||r.some((o,s)=>o.id!==i[s].id)));return ue.jsx("defs",{children:n.map(r=>ue.jsx(pye,{id:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient},r.id))})};DB.displayName="MarkerDefinitions";var mye=L.memo(DB);const yye=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),$B=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeUpdate:s,onEdgeContextMenu:a,onEdgeMouseEnter:l,onEdgeMouseMove:u,onEdgeMouseLeave:d,onEdgeClick:f,edgeUpdaterRadius:p,onEdgeDoubleClick:g,onEdgeUpdateStart:m,onEdgeUpdateEnd:v,children:x})=>{const{edgesFocusable:_,edgesUpdatable:b,elementsSelectable:y,width:S,height:C,connectionMode:T,nodeInternals:E,onError:P}=Nn(yye,Ri),k=cye(t,E,n);return S?ue.jsxs(ue.Fragment,{children:[k.map(({level:O,edges:M,isMaxLevel:G})=>ue.jsxs("svg",{style:{zIndex:O},width:S,height:C,className:"react-flow__edges react-flow__container",children:[G&&ue.jsx(mye,{defaultColor:e,rfId:r}),ue.jsx("g",{children:M.map(U=>{const[A,N,F]=HR(E.get(U.source)),[B,D,V]=HR(E.get(U.target));if(!F||!V)return null;let j=U.type||"default";i[j]||(P==null||P("011",Wl.error011(j)),j="default");const q=i[j]||i.default,Z=T===sc.Strict?D.target:(D.target??[]).concat(D.source??[]),ee=GR(N.source,U.sourceHandle),ie=GR(Z,U.targetHandle),se=(ee==null?void 0:ee.position)||Ne.Bottom,le=(ie==null?void 0:ie.position)||Ne.Top,W=!!(U.focusable||_&&typeof U.focusable>"u"),ne=typeof s<"u"&&(U.updatable||b&&typeof U.updatable>"u");if(!ee||!ie)return P==null||P("008",Wl.error008(ee,U)),null;const{sourceX:fe,sourceY:pe,targetX:ve,targetY:ye}=Ime(A,ee,se,B,ie,le);return ue.jsx(q,{id:U.id,className:Eo([U.className,o]),type:j,data:U.data,selected:!!U.selected,animated:!!U.animated,hidden:!!U.hidden,label:U.label,labelStyle:U.labelStyle,labelShowBg:U.labelShowBg,labelBgStyle:U.labelBgStyle,labelBgPadding:U.labelBgPadding,labelBgBorderRadius:U.labelBgBorderRadius,style:U.style,source:U.source,target:U.target,sourceHandleId:U.sourceHandle,targetHandleId:U.targetHandle,markerEnd:U.markerEnd,markerStart:U.markerStart,sourceX:fe,sourceY:pe,targetX:ve,targetY:ye,sourcePosition:se,targetPosition:le,elementsSelectable:y,onEdgeUpdate:s,onContextMenu:a,onMouseEnter:l,onMouseMove:u,onMouseLeave:d,onClick:f,edgeUpdaterRadius:p,onEdgeDoubleClick:g,onEdgeUpdateStart:m,onEdgeUpdateEnd:v,rfId:r,ariaLabel:U.ariaLabel,isFocusable:W,isUpdatable:ne,pathOptions:"pathOptions"in U?U.pathOptions:void 0,interactionWidth:U.interactionWidth},U.id)})})]},O)),x]}):null};$B.displayName="EdgeRenderer";var vye=L.memo($B);const _ye=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function bye({children:e}){const t=Nn(_ye);return ue.jsx("div",{className:"react-flow__viewport react-flow__container",style:{transform:t},children:e})}function Sye(e){const t=OB(),n=L.useRef(!1);L.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const wye={[Ne.Left]:Ne.Right,[Ne.Right]:Ne.Left,[Ne.Top]:Ne.Bottom,[Ne.Bottom]:Ne.Top},FB=({nodeId:e,handleType:t,style:n,type:r=yl.Bezier,CustomComponent:i,connectionStatus:o})=>{var T,E,P;const{fromNode:s,handleId:a,toX:l,toY:u,connectionMode:d}=Nn(L.useCallback(k=>({fromNode:k.nodeInternals.get(e),handleId:k.connectionHandleId,toX:(k.connectionPosition.x-k.transform[0])/k.transform[2],toY:(k.connectionPosition.y-k.transform[1])/k.transform[2],connectionMode:k.connectionMode}),[e]),Ri),f=(T=s==null?void 0:s[nr])==null?void 0:T.handleBounds;let p=f==null?void 0:f[t];if(d===sc.Loose&&(p=p||(f==null?void 0:f[t==="source"?"target":"source"])),!s||!p)return null;const g=a?p.find(k=>k.id===a):p[0],m=g?g.x+g.width/2:(s.width??0)/2,v=g?g.y+g.height/2:s.height??0,x=(((E=s.positionAbsolute)==null?void 0:E.x)??0)+m,_=(((P=s.positionAbsolute)==null?void 0:P.y)??0)+v,b=g==null?void 0:g.position,y=b?wye[b]:null;if(!b||!y)return null;if(i)return ue.jsx(i,{connectionLineType:r,connectionLineStyle:n,fromNode:s,fromHandle:g,fromX:x,fromY:_,toX:l,toY:u,fromPosition:b,toPosition:y,connectionStatus:o});let S="";const C={sourceX:x,sourceY:_,sourcePosition:b,targetX:l,targetY:u,targetPosition:y};return r===yl.Bezier?[S]=iB(C):r===yl.Step?[S]=G3({...C,borderRadius:0}):r===yl.SmoothStep?[S]=G3(C):r===yl.SimpleBezier?[S]=rB(C):S=`M${x},${_} ${l},${u}`,ue.jsx("path",{d:S,fill:"none",className:"react-flow__connection-path",style:n})};FB.displayName="ConnectionLine";const xye=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function Cye({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:s,width:a,height:l,connectionStatus:u}=Nn(xye,Ri);return!(i&&o&&a&&s)?null:ue.jsx("svg",{style:e,width:a,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container",children:ue.jsx("g",{className:Eo(["react-flow__connection",u]),children:ue.jsx(FB,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:u})})})}const BB=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:s,onEdgeClick:a,onNodeDoubleClick:l,onEdgeDoubleClick:u,onNodeMouseEnter:d,onNodeMouseMove:f,onNodeMouseLeave:p,onNodeContextMenu:g,onSelectionContextMenu:m,onSelectionStart:v,onSelectionEnd:x,connectionLineType:_,connectionLineStyle:b,connectionLineComponent:y,connectionLineContainerStyle:S,selectionKeyCode:C,selectionOnDrag:T,selectionMode:E,multiSelectionKeyCode:P,panActivationKeyCode:k,zoomActivationKeyCode:O,deleteKeyCode:M,onlyRenderVisibleElements:G,elementsSelectable:U,selectNodesOnDrag:A,defaultViewport:N,translateExtent:F,minZoom:B,maxZoom:D,preventScrolling:V,defaultMarkerColor:j,zoomOnScroll:q,zoomOnPinch:Z,panOnScroll:ee,panOnScrollSpeed:ie,panOnScrollMode:se,zoomOnDoubleClick:le,panOnDrag:W,onPaneClick:ne,onPaneMouseEnter:fe,onPaneMouseMove:pe,onPaneMouseLeave:ve,onPaneScroll:ye,onPaneContextMenu:We,onEdgeUpdate:Me,onEdgeContextMenu:Ee,onEdgeMouseEnter:lt,onEdgeMouseMove:_e,onEdgeMouseLeave:jt,edgeUpdaterRadius:Wn,onEdgeUpdateStart:Bt,onEdgeUpdateEnd:it,noDragClassName:mt,noWheelClassName:Jt,noPanClassName:Mr,elevateEdgesOnSelect:yr,disableKeyboardA11y:hi,nodeOrigin:wn,nodeExtent:on,rfId:qn})=>(Sye(o),ue.jsx(iye,{onPaneClick:ne,onPaneMouseEnter:fe,onPaneMouseMove:pe,onPaneMouseLeave:ve,onPaneContextMenu:We,onPaneScroll:ye,deleteKeyCode:M,selectionKeyCode:C,selectionOnDrag:T,selectionMode:E,onSelectionStart:v,onSelectionEnd:x,multiSelectionKeyCode:P,panActivationKeyCode:k,zoomActivationKeyCode:O,elementsSelectable:U,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:q,zoomOnPinch:Z,zoomOnDoubleClick:le,panOnScroll:ee,panOnScrollSpeed:ie,panOnScrollMode:se,panOnDrag:W,defaultViewport:N,translateExtent:F,minZoom:B,maxZoom:D,onSelectionContextMenu:m,preventScrolling:V,noDragClassName:mt,noWheelClassName:Jt,noPanClassName:Mr,disableKeyboardA11y:hi,children:ue.jsxs(bye,{children:[ue.jsx(vye,{edgeTypes:t,onEdgeClick:a,onEdgeDoubleClick:u,onEdgeUpdate:Me,onlyRenderVisibleElements:G,onEdgeContextMenu:Ee,onEdgeMouseEnter:lt,onEdgeMouseMove:_e,onEdgeMouseLeave:jt,onEdgeUpdateStart:Bt,onEdgeUpdateEnd:it,edgeUpdaterRadius:Wn,defaultMarkerColor:j,noPanClassName:Mr,elevateEdgesOnSelect:!!yr,disableKeyboardA11y:hi,rfId:qn,children:ue.jsx(Cye,{style:b,type:_,component:y,containerStyle:S})}),ue.jsx("div",{className:"react-flow__edgelabel-renderer"}),ue.jsx(aye,{nodeTypes:e,onNodeClick:s,onNodeDoubleClick:l,onNodeMouseEnter:d,onNodeMouseMove:f,onNodeMouseLeave:p,onNodeContextMenu:g,selectNodesOnDrag:A,onlyRenderVisibleElements:G,noPanClassName:Mr,noDragClassName:mt,disableKeyboardA11y:hi,nodeOrigin:wn,nodeExtent:on,rfId:qn})]})}));BB.displayName="GraphView";var Tye=L.memo(BB);const K3=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],il={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:K3,nodeExtent:K3,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:sc.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:Jge,isValidConnection:void 0},Eye=()=>dfe((e,t)=>({...il,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:Sx(n,r,i,o)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:r={}}=t();e({edges:n.map(i=>({...r,...i}))})},setDefaultNodesAndEdges:(n,r)=>{const i=typeof n<"u",o=typeof r<"u",s=i?Sx(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:s,edges:o?r:[],hasDefaultNodes:i,hasDefaultEdges:o})},updateNodeDimensions:n=>{const{onNodesChange:r,nodeInternals:i,fitViewOnInit:o,fitViewOnInitDone:s,fitViewOnInitOptions:a,domNode:l,nodeOrigin:u}=t(),d=l==null?void 0:l.querySelector(".react-flow__viewport");if(!d)return;const f=window.getComputedStyle(d),{m22:p}=new window.DOMMatrixReadOnly(f.transform),g=n.reduce((v,x)=>{const _=i.get(x.id);if(_){const b=WT(x.nodeElement);!!(b.width&&b.height&&(_.width!==b.width||_.height!==b.height||x.forceUpdate))&&(i.set(_.id,{..._,[nr]:{..._[nr],handleBounds:{source:qR(".source",x.nodeElement,p,u),target:qR(".target",x.nodeElement,p,u)}},...b}),v.push({id:_.id,type:"dimensions",dimensions:b}))}return v},[]);PB(i,u);const m=s||o&&!s&&RB(t,{initial:!0,...a});e({nodeInternals:new Map(i),fitViewOnInitDone:m}),(g==null?void 0:g.length)>0&&(r==null||r(g))},updateNodePositions:(n,r=!0,i=!1)=>{const{triggerNodeChanges:o}=t(),s=n.map(a=>{const l={id:a.id,type:"position",dragging:i};return r&&(l.positionAbsolute=a.positionAbsolute,l.position=a.position),l});o(s)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:i,hasDefaultNodes:o,nodeOrigin:s,getNodes:a,elevateNodesOnSelect:l}=t();if(n!=null&&n.length){if(o){const u=IB(n,a()),d=Sx(u,i,s,l);e({nodeInternals:d})}r==null||r(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>dl(l,!0)):(s=Ld(o(),n),a=Ld(i,[])),P0({changedNodes:s,changedEdges:a,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>dl(l,!0)):(s=Ld(i,n),a=Ld(o(),[])),P0({changedNodes:a,changedEdges:s,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:i,getNodes:o}=t(),s=n||o(),a=r||i,l=s.map(d=>(d.selected=!1,dl(d.id,!1))),u=a.map(d=>dl(d.id,!1));P0({changedNodes:l,changedEdges:u,get:t,set:e})},setMinZoom:n=>{const{d3Zoom:r,maxZoom:i}=t();r==null||r.scaleExtent([n,i]),e({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:r,minZoom:i}=t();r==null||r.scaleExtent([i,n]),e({maxZoom:n})},setTranslateExtent:n=>{var r;(r=t().d3Zoom)==null||r.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:r}=t(),o=r().filter(a=>a.selected).map(a=>dl(a.id,!1)),s=n.filter(a=>a.selected).map(a=>dl(a.id,!1));P0({changedNodes:o,changedEdges:s,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(i=>{i.positionAbsolute=qT(i.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:n=>{const{transform:r,width:i,height:o,d3Zoom:s,d3Selection:a,translateExtent:l}=t();if(!s||!a||!n.x&&!n.y)return!1;const u=kl.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),d=[[0,0],[i,o]],f=s==null?void 0:s.constrain()(u,d,l);return s.transform(a,f),r[0]!==f.x||r[1]!==f.y||r[2]!==f.k},cancelConnection:()=>e({connectionNodeId:il.connectionNodeId,connectionHandleId:il.connectionHandleId,connectionHandleType:il.connectionHandleType,connectionStatus:il.connectionStatus,connectionStartHandle:il.connectionStartHandle,connectionEndHandle:il.connectionEndHandle}),reset:()=>e({...il})})),UB=({children:e})=>{const t=L.useRef(null);return t.current||(t.current=Eye()),ue.jsx(Wge,{value:t.current,children:e})};UB.displayName="ReactFlowProvider";const zB=({children:e})=>L.useContext(Ib)?ue.jsx(ue.Fragment,{children:e}):ue.jsx(UB,{children:e});zB.displayName="ReactFlowWrapper";function JR(e,t){return L.useRef(null),L.useMemo(()=>t(e),[e])}const Aye={input:yB,default:W3,output:_B,group:JT},Pye={default:U1,straight:YT,step:XT,smoothstep:Mb,simplebezier:KT},Rye=[0,0],Oye=[15,15],kye={x:0,y:0,zoom:1},Iye={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},Mye=L.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=Aye,edgeTypes:s=Pye,onNodeClick:a,onEdgeClick:l,onInit:u,onMove:d,onMoveStart:f,onMoveEnd:p,onConnect:g,onConnectStart:m,onConnectEnd:v,onClickConnectStart:x,onClickConnectEnd:_,onNodeMouseEnter:b,onNodeMouseMove:y,onNodeMouseLeave:S,onNodeContextMenu:C,onNodeDoubleClick:T,onNodeDragStart:E,onNodeDrag:P,onNodeDragStop:k,onNodesDelete:O,onEdgesDelete:M,onSelectionChange:G,onSelectionDragStart:U,onSelectionDrag:A,onSelectionDragStop:N,onSelectionContextMenu:F,onSelectionStart:B,onSelectionEnd:D,connectionMode:V=sc.Strict,connectionLineType:j=yl.Bezier,connectionLineStyle:q,connectionLineComponent:Z,connectionLineContainerStyle:ee,deleteKeyCode:ie="Backspace",selectionKeyCode:se="Shift",selectionOnDrag:le=!1,selectionMode:W=Og.Full,panActivationKeyCode:ne="Space",multiSelectionKeyCode:fe="Meta",zoomActivationKeyCode:pe="Meta",snapToGrid:ve=!1,snapGrid:ye=Oye,onlyRenderVisibleElements:We=!1,selectNodesOnDrag:Me=!0,nodesDraggable:Ee,nodesConnectable:lt,nodesFocusable:_e,nodeOrigin:jt=Rye,edgesFocusable:Wn,edgesUpdatable:Bt,elementsSelectable:it,defaultViewport:mt=kye,minZoom:Jt=.5,maxZoom:Mr=2,translateExtent:yr=K3,preventScrolling:hi=!0,nodeExtent:wn,defaultMarkerColor:on="#b1b1b7",zoomOnScroll:qn=!0,zoomOnPinch:sn=!0,panOnScroll:Gt=!1,panOnScrollSpeed:vr=.5,panOnScrollMode:Nr=nf.Free,zoomOnDoubleClick:Xr=!0,panOnDrag:Ii=!0,onPaneClick:An,onPaneMouseEnter:Yr,onPaneMouseMove:Vs,onPaneMouseLeave:Ji,onPaneScroll:js,onPaneContextMenu:Xt,children:kt,onEdgeUpdate:Kn,onEdgeContextMenu:$n,onEdgeDoubleClick:or,onEdgeMouseEnter:_r,onEdgeMouseMove:br,onEdgeMouseLeave:eo,onEdgeUpdateStart:Sr,onEdgeUpdateEnd:Xn,edgeUpdaterRadius:Mi=10,onNodesChange:os,onEdgesChange:to,noDragClassName:Va="nodrag",noWheelClassName:Ao="nowheel",noPanClassName:wr="nopan",fitView:Gs=!1,fitViewOptions:Zf,connectOnClick:Jf=!0,attributionPosition:eh,proOptions:th,defaultEdgeOptions:Po,elevateNodesOnSelect:nh=!0,elevateEdgesOnSelect:rh=!1,disableKeyboardA11y:kc=!1,autoPanOnConnect:ih=!0,autoPanOnNodeDrag:oh=!0,connectionRadius:sh=20,isValidConnection:ss,onError:ah,style:Ro,id:ja,...lh},Ga)=>{const cu=JR(o,$me),Ic=JR(s,kme),Ha=ja||"1";return ue.jsx("div",{...lh,style:{...Ro,...Iye},ref:Ga,className:Eo(["react-flow",i]),"data-testid":"rf__wrapper",id:ja,children:ue.jsxs(zB,{children:[ue.jsx(Tye,{onInit:u,onMove:d,onMoveStart:f,onMoveEnd:p,onNodeClick:a,onEdgeClick:l,onNodeMouseEnter:b,onNodeMouseMove:y,onNodeMouseLeave:S,onNodeContextMenu:C,onNodeDoubleClick:T,nodeTypes:cu,edgeTypes:Ic,connectionLineType:j,connectionLineStyle:q,connectionLineComponent:Z,connectionLineContainerStyle:ee,selectionKeyCode:se,selectionOnDrag:le,selectionMode:W,deleteKeyCode:ie,multiSelectionKeyCode:fe,panActivationKeyCode:ne,zoomActivationKeyCode:pe,onlyRenderVisibleElements:We,selectNodesOnDrag:Me,defaultViewport:mt,translateExtent:yr,minZoom:Jt,maxZoom:Mr,preventScrolling:hi,zoomOnScroll:qn,zoomOnPinch:sn,zoomOnDoubleClick:Xr,panOnScroll:Gt,panOnScrollSpeed:vr,panOnScrollMode:Nr,panOnDrag:Ii,onPaneClick:An,onPaneMouseEnter:Yr,onPaneMouseMove:Vs,onPaneMouseLeave:Ji,onPaneScroll:js,onPaneContextMenu:Xt,onSelectionContextMenu:F,onSelectionStart:B,onSelectionEnd:D,onEdgeUpdate:Kn,onEdgeContextMenu:$n,onEdgeDoubleClick:or,onEdgeMouseEnter:_r,onEdgeMouseMove:br,onEdgeMouseLeave:eo,onEdgeUpdateStart:Sr,onEdgeUpdateEnd:Xn,edgeUpdaterRadius:Mi,defaultMarkerColor:on,noDragClassName:Va,noWheelClassName:Ao,noPanClassName:wr,elevateEdgesOnSelect:rh,rfId:Ha,disableKeyboardA11y:kc,nodeOrigin:jt,nodeExtent:wn}),ue.jsx(wme,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:g,onConnectStart:m,onConnectEnd:v,onClickConnectStart:x,onClickConnectEnd:_,nodesDraggable:Ee,nodesConnectable:lt,nodesFocusable:_e,edgesFocusable:Wn,edgesUpdatable:Bt,elementsSelectable:it,elevateNodesOnSelect:nh,minZoom:Jt,maxZoom:Mr,nodeExtent:wn,onNodesChange:os,onEdgesChange:to,snapToGrid:ve,snapGrid:ye,connectionMode:V,translateExtent:yr,connectOnClick:Jf,defaultEdgeOptions:Po,fitView:Gs,fitViewOptions:Zf,onNodesDelete:O,onEdgesDelete:M,onNodeDragStart:E,onNodeDrag:P,onNodeDragStop:k,onSelectionDrag:A,onSelectionDragStart:U,onSelectionDragStop:N,noPanClassName:wr,nodeOrigin:jt,rfId:Ha,autoPanOnConnect:ih,autoPanOnNodeDrag:oh,onError:ah,connectionRadius:sh,isValidConnection:ss}),ue.jsx(bme,{onSelectionChange:G}),kt,ue.jsx(Xge,{proOptions:th,position:eh}),ue.jsx(Ame,{rfId:Ha,disableKeyboardA11y:kc})]})})});Mye.displayName="ReactFlow";var VB={},Nb={},Lb={};Object.defineProperty(Lb,"__esModule",{value:!0});Lb.createLogMethods=void 0;var Nye=function(){return{debug:console.debug.bind(console),error:console.error.bind(console),fatal:console.error.bind(console),info:console.info.bind(console),trace:console.debug.bind(console),warn:console.warn.bind(console)}};Lb.createLogMethods=Nye;var tE={},Db={};Object.defineProperty(Db,"__esModule",{value:!0});Db.boolean=void 0;const Lye=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1"].includes(e.trim().toLowerCase());case"[object Number]":return e.valueOf()===1;case"[object Boolean]":return e.valueOf();default:return!1}};Db.boolean=Lye;var $b={};Object.defineProperty($b,"__esModule",{value:!0});$b.isBooleanable=void 0;const Dye=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1","false","f","no","n","off","0"].includes(e.trim().toLowerCase());case"[object Number]":return[0,1].includes(e.valueOf());case"[object Boolean]":return!0;default:return!1}};$b.isBooleanable=Dye;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isBooleanable=e.boolean=void 0;const t=Db;Object.defineProperty(e,"boolean",{enumerable:!0,get:function(){return t.boolean}});const n=$b;Object.defineProperty(e,"isBooleanable",{enumerable:!0,get:function(){return n.isBooleanable}})})(tE);var eO=Object.prototype.toString,jB=function(t){var n=eO.call(t),r=n==="[object Arguments]";return r||(r=n!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&eO.call(t.callee)==="[object Function]"),r},Cx,tO;function $ye(){if(tO)return Cx;tO=1;var e;if(!Object.keys){var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=jB,i=Object.prototype.propertyIsEnumerable,o=!i.call({toString:null},"toString"),s=i.call(function(){},"prototype"),a=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],l=function(p){var g=p.constructor;return g&&g.prototype===p},u={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},d=function(){if(typeof window>"u")return!1;for(var p in window)try{if(!u["$"+p]&&t.call(window,p)&&window[p]!==null&&typeof window[p]=="object")try{l(window[p])}catch{return!0}}catch{return!0}return!1}(),f=function(p){if(typeof window>"u"||!d)return l(p);try{return l(p)}catch{return!1}};e=function(g){var m=g!==null&&typeof g=="object",v=n.call(g)==="[object Function]",x=r(g),_=m&&n.call(g)==="[object String]",b=[];if(!m&&!v&&!x)throw new TypeError("Object.keys called on a non-object");var y=s&&v;if(_&&g.length>0&&!t.call(g,0))for(var S=0;S0)for(var C=0;C"u"||!ur?dt:ur(Uint8Array),Ku={"%AggregateError%":typeof AggregateError>"u"?dt:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?dt:ArrayBuffer,"%ArrayIteratorPrototype%":ad&&ur?ur([][Symbol.iterator]()):dt,"%AsyncFromSyncIteratorPrototype%":dt,"%AsyncFunction%":bd,"%AsyncGenerator%":bd,"%AsyncGeneratorFunction%":bd,"%AsyncIteratorPrototype%":bd,"%Atomics%":typeof Atomics>"u"?dt:Atomics,"%BigInt%":typeof BigInt>"u"?dt:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?dt:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?dt:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?dt:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?dt:Float32Array,"%Float64Array%":typeof Float64Array>"u"?dt:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?dt:FinalizationRegistry,"%Function%":HB,"%GeneratorFunction%":bd,"%Int8Array%":typeof Int8Array>"u"?dt:Int8Array,"%Int16Array%":typeof Int16Array>"u"?dt:Int16Array,"%Int32Array%":typeof Int32Array>"u"?dt:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":ad&&ur?ur(ur([][Symbol.iterator]())):dt,"%JSON%":typeof JSON=="object"?JSON:dt,"%Map%":typeof Map>"u"?dt:Map,"%MapIteratorPrototype%":typeof Map>"u"||!ad||!ur?dt:ur(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?dt:Promise,"%Proxy%":typeof Proxy>"u"?dt:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?dt:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?dt:Set,"%SetIteratorPrototype%":typeof Set>"u"||!ad||!ur?dt:ur(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?dt:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":ad&&ur?ur(""[Symbol.iterator]()):dt,"%Symbol%":ad?Symbol:dt,"%SyntaxError%":Pf,"%ThrowTypeError%":Jye,"%TypedArray%":t0e,"%TypeError%":sf,"%Uint8Array%":typeof Uint8Array>"u"?dt:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?dt:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?dt:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?dt:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?dt:WeakMap,"%WeakRef%":typeof WeakRef>"u"?dt:WeakRef,"%WeakSet%":typeof WeakSet>"u"?dt:WeakSet};if(ur)try{null.error}catch(e){var n0e=ur(ur(e));Ku["%Error.prototype%"]=n0e}var r0e=function e(t){var n;if(t==="%AsyncFunction%")n=Ex("async function () {}");else if(t==="%GeneratorFunction%")n=Ex("function* () {}");else if(t==="%AsyncGeneratorFunction%")n=Ex("async function* () {}");else if(t==="%AsyncGenerator%"){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if(t==="%AsyncIteratorPrototype%"){var i=e("%AsyncGenerator%");i&&ur&&(n=ur(i.prototype))}return Ku[t]=n,n},sO={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},bm=GB,V1=Zye,i0e=bm.call(Function.call,Array.prototype.concat),o0e=bm.call(Function.apply,Array.prototype.splice),aO=bm.call(Function.call,String.prototype.replace),j1=bm.call(Function.call,String.prototype.slice),s0e=bm.call(Function.call,RegExp.prototype.exec),a0e=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,l0e=/\\(\\)?/g,u0e=function(t){var n=j1(t,0,1),r=j1(t,-1);if(n==="%"&&r!=="%")throw new Pf("invalid intrinsic syntax, expected closing `%`");if(r==="%"&&n!=="%")throw new Pf("invalid intrinsic syntax, expected opening `%`");var i=[];return aO(t,a0e,function(o,s,a,l){i[i.length]=a?aO(l,l0e,"$1"):s||o}),i},c0e=function(t,n){var r=t,i;if(V1(sO,r)&&(i=sO[r],r="%"+i[0]+"%"),V1(Ku,r)){var o=Ku[r];if(o===bd&&(o=r0e(r)),typeof o>"u"&&!n)throw new sf("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:r,value:o}}throw new Pf("intrinsic "+t+" does not exist!")},d0e=function(t,n){if(typeof t!="string"||t.length===0)throw new sf("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof n!="boolean")throw new sf('"allowMissing" argument must be a boolean');if(s0e(/^%?[^%]*%?$/,t)===null)throw new Pf("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=u0e(t),i=r.length>0?r[0]:"",o=c0e("%"+i+"%",n),s=o.name,a=o.value,l=!1,u=o.alias;u&&(i=u[0],o0e(r,i0e([0,1],u)));for(var d=1,f=!0;d=r.length){var v=qu(a,p);f=!!v,f&&"get"in v&&!("originalValue"in v.get)?a=v.get:a=a[p]}else f=V1(a,p),a=a[p];f&&!l&&(Ku[s]=a)}}return a},f0e=d0e,X3=f0e("%Object.defineProperty%",!0),Y3=function(){if(X3)try{return X3({},"a",{value:1}),!0}catch{return!1}return!1};Y3.hasArrayLengthDefineBug=function(){if(!Y3())return null;try{return X3([],"length",{value:1}).length!==1}catch{return!0}};var h0e=Y3,p0e=Uye,g0e=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",m0e=Object.prototype.toString,y0e=Array.prototype.concat,WB=Object.defineProperty,v0e=function(e){return typeof e=="function"&&m0e.call(e)==="[object Function]"},_0e=h0e(),qB=WB&&_0e,b0e=function(e,t,n,r){if(t in e){if(r===!0){if(e[t]===n)return}else if(!v0e(r)||!r())return}qB?WB(e,t,{configurable:!0,enumerable:!1,value:n,writable:!0}):e[t]=n},KB=function(e,t){var n=arguments.length>2?arguments[2]:{},r=p0e(t);g0e&&(r=y0e.call(r,Object.getOwnPropertySymbols(t)));for(var i=0;i":return t>e;case":<":return t=":return t>=e;case":<=":return t<=e;default:throw new Error("Unimplemented comparison operator: ".concat(n))}};zb.testComparisonRange=z0e;var Vb={};Object.defineProperty(Vb,"__esModule",{value:!0});Vb.testRange=void 0;var V0e=function(e,t){return typeof e=="number"?!(et.max||e===t.max&&!t.maxInclusive):!1};Vb.testRange=V0e;(function(e){var t=He&&He.__assign||function(){return t=Object.assign||function(d){for(var f,p=1,g=arguments.length;p0?{path:l.path,query:new RegExp("("+l.keywords.map(function(u){return(0,H0e.escapeRegexString)(u.trim())}).join("|")+")")}:{path:l.path}})};jb.highlight=q0e;var Gb={},tU={exports:{}};(function(e){(function(t,n){e.exports?e.exports=n():t.nearley=n()})(He,function(){function t(u,d,f){return this.id=++t.highestId,this.name=u,this.symbols=d,this.postprocess=f,this}t.highestId=0,t.prototype.toString=function(u){var d=typeof u>"u"?this.symbols.map(l).join(" "):this.symbols.slice(0,u).map(l).join(" ")+" ● "+this.symbols.slice(u).map(l).join(" ");return this.name+" → "+d};function n(u,d,f,p){this.rule=u,this.dot=d,this.reference=f,this.data=[],this.wantedBy=p,this.isComplete=this.dot===u.symbols.length}n.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},n.prototype.nextState=function(u){var d=new n(this.rule,this.dot+1,this.reference,this.wantedBy);return d.left=this,d.right=u,d.isComplete&&(d.data=d.build(),d.right=void 0),d},n.prototype.build=function(){var u=[],d=this;do u.push(d.right.data),d=d.left;while(d.left);return u.reverse(),u},n.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))};function r(u,d){this.grammar=u,this.index=d,this.states=[],this.wants={},this.scannable=[],this.completed={}}r.prototype.process=function(u){for(var d=this.states,f=this.wants,p=this.completed,g=0;g0&&d.push(" ^ "+p+" more lines identical to this"),p=0,d.push(" "+v)),f=v}},s.prototype.getSymbolDisplay=function(u){return a(u)},s.prototype.buildFirstStateStack=function(u,d){if(d.indexOf(u)!==-1)return null;if(u.wantedBy.length===0)return[u];var f=u.wantedBy[0],p=[u].concat(d),g=this.buildFirstStateStack(f,p);return g===null?null:[u].concat(g)},s.prototype.save=function(){var u=this.table[this.current];return u.lexerState=this.lexerState,u},s.prototype.restore=function(u){var d=u.index;this.current=d,this.table[d]=u,this.table.splice(d+1),this.lexerState=u.lexerState,this.results=this.finish()},s.prototype.rewind=function(u){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[u])},s.prototype.finish=function(){var u=[],d=this.grammar.start,f=this.table[this.table.length-1];return f.states.forEach(function(p){p.rule.name===d&&p.dot===p.rule.symbols.length&&p.reference===0&&p.data!==s.fail&&u.push(p)}),u.map(function(p){return p.data})};function a(u){var d=typeof u;if(d==="string")return u;if(d==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return"character matching "+u;if(u.type)return u.type+" token";if(u.test)return"token matching "+String(u.test);throw new Error("Unknown symbol type: "+u)}}function l(u){var d=typeof u;if(d==="string")return u;if(d==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return u.toString();if(u.type)return"%"+u.type;if(u.test)return"<"+String(u.test)+">";throw new Error("Unknown symbol type: "+u)}}return{Parser:s,Grammar:i,Rule:t}})})(tU);var K0e=tU.exports,ac={},nU={},ru={};ru.__esModule=void 0;ru.__esModule=!0;var X0e=typeof Object.setPrototypeOf=="function",Y0e=typeof Object.getPrototypeOf=="function",Q0e=typeof Object.defineProperty=="function",Z0e=typeof Object.create=="function",J0e=typeof Object.prototype.hasOwnProperty=="function",eve=function(t,n){X0e?Object.setPrototypeOf(t,n):t.__proto__=n};ru.setPrototypeOf=eve;var tve=function(t){return Y0e?Object.getPrototypeOf(t):t.__proto__||t.prototype};ru.getPrototypeOf=tve;var lO=!1,nve=function e(t,n,r){if(Q0e&&!lO)try{Object.defineProperty(t,n,r)}catch{lO=!0,e(t,n,r)}else t[n]=r.value};ru.defineProperty=nve;var rU=function(t,n){return J0e?t.hasOwnProperty(t,n):t[n]===void 0};ru.hasOwnProperty=rU;var rve=function(t,n){if(Z0e)return Object.create(t,n);var r=function(){};r.prototype=t;var i=new r;if(typeof n>"u")return i;if(typeof n=="null")throw new Error("PropertyDescriptors must not be null.");if(typeof n=="object")for(var o in n)rU(n,o)&&(i[o]=n[o].value);return i};ru.objectCreate=rve;(function(e){e.__esModule=void 0,e.__esModule=!0;var t=ru,n=t.setPrototypeOf,r=t.getPrototypeOf,i=t.defineProperty,o=t.objectCreate,s=new Error().toString()==="[object Error]",a="";function l(u){var d=this.constructor,f=d.name||function(){var x=d.toString().match(/^function\s*([^\s(]+)/);return x===null?a||"Error":x[1]}(),p=f==="Error",g=p?a:f,m=Error.apply(this,arguments);if(n(m,r(this)),!(m instanceof d)||!(m instanceof l)){var m=this;Error.apply(this,arguments),i(m,"message",{configurable:!0,enumerable:!1,value:u,writable:!0})}if(i(m,"name",{configurable:!0,enumerable:!1,value:g,writable:!0}),Error.captureStackTrace&&Error.captureStackTrace(m,p?l:d),m.stack===void 0){var v=new Error(u);v.name=m.name,m.stack=v.stack}return s&&i(m,"toString",{configurable:!0,enumerable:!1,value:function(){return(this.name||"Error")+(typeof this.message>"u"?"":": "+this.message)},writable:!0}),m}a=l.name||"ExtendableError",l.prototype=o(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),e.ExtendableError=l,e.default=e.ExtendableError})(nU);var iU=He&&He.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(r[o]=i[o])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(ac,"__esModule",{value:!0});ac.SyntaxError=ac.LiqeError=void 0;var ive=nU,oU=function(e){iU(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(ive.ExtendableError);ac.LiqeError=oU;var ove=function(e){iU(t,e);function t(n,r,i,o){var s=e.call(this,n)||this;return s.message=n,s.offset=r,s.line=i,s.column=o,s}return t}(oU);ac.SyntaxError=ove;var iE={},G1=He&&He.__assign||function(){return G1=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$2"]},{name:"comparison_operator$subexpression$1$string$3",symbols:[{literal:":"},{literal:"<"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$3"]},{name:"comparison_operator$subexpression$1$string$4",symbols:[{literal:":"},{literal:">"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$4"]},{name:"comparison_operator$subexpression$1$string$5",symbols:[{literal:":"},{literal:"<"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$5"]},{name:"comparison_operator",symbols:["comparison_operator$subexpression$1"],postprocess:function(e,t){return{location:{start:t,end:t+e[0][0].length},type:"ComparisonOperator",operator:e[0][0]}}},{name:"regex",symbols:["regex_body","regex_flags"],postprocess:function(e){return e.join("")}},{name:"regex_body$ebnf$1",symbols:[]},{name:"regex_body$ebnf$1",symbols:["regex_body$ebnf$1","regex_body_char"],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_body",symbols:[{literal:"/"},"regex_body$ebnf$1",{literal:"/"}],postprocess:function(e){return"/"+e[1].join("")+"/"}},{name:"regex_body_char",symbols:[/[^\\]/],postprocess:na},{name:"regex_body_char",symbols:[{literal:"\\"},/[^\\]/],postprocess:function(e){return"\\"+e[1]}},{name:"regex_flags",symbols:[]},{name:"regex_flags$ebnf$1",symbols:[/[gmiyusd]/]},{name:"regex_flags$ebnf$1",symbols:["regex_flags$ebnf$1",/[gmiyusd]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_flags",symbols:["regex_flags$ebnf$1"],postprocess:function(e){return e[0].join("")}},{name:"unquoted_value$ebnf$1",symbols:[]},{name:"unquoted_value$ebnf$1",symbols:["unquoted_value$ebnf$1",/[a-zA-Z\.\-_*@#$]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"unquoted_value",symbols:[/[a-zA-Z_*@#$]/,"unquoted_value$ebnf$1"],postprocess:function(e){return e[0]+e[1].join("")}}],ParserStart:"main"};iE.default=sve;var sU={},Hb={},xm={};Object.defineProperty(xm,"__esModule",{value:!0});xm.isSafePath=void 0;var ave=/^(\.(?:[_a-zA-Z][a-zA-Z\d_]*|\0|[1-9]\d*))+$/u,lve=function(e){return ave.test(e)};xm.isSafePath=lve;Object.defineProperty(Hb,"__esModule",{value:!0});Hb.createGetValueFunctionBody=void 0;var uve=xm,cve=function(e){if(!(0,uve.isSafePath)(e))throw new Error("Unsafe path.");var t="return subject"+e;return t.replace(/(\.(\d+))/g,".[$2]").replace(/\./g,"?.")};Hb.createGetValueFunctionBody=cve;(function(e){var t=He&&He.__assign||function(){return t=Object.assign||function(o){for(var s,a=1,l=arguments.length;a\d+) col (?\d+)/,mve=function(e){if(e.trim()==="")return{location:{end:0,start:0},type:"EmptyExpression"};var t=new lU.default.Parser(pve),n;try{n=t.feed(e).results}catch(o){if(typeof(o==null?void 0:o.message)=="string"&&typeof(o==null?void 0:o.offset)=="number"){var r=o.message.match(gve);throw r?new dve.SyntaxError("Syntax error at line ".concat(r.groups.line," column ").concat(r.groups.column),o.offset,Number(r.groups.line),Number(r.groups.column)):o}throw o}if(n.length===0)throw new Error("Found no parsings.");if(n.length>1)throw new Error("Ambiguous results.");var i=(0,hve.hydrateAst)(n[0]);return i};Gb.parse=mve;var Wb={};Object.defineProperty(Wb,"__esModule",{value:!0});Wb.test=void 0;var yve=Sm,vve=function(e,t){return(0,yve.filter)(e,[t]).length===1};Wb.test=vve;var uU={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.serialize=void 0;var t=function(o,s){return s==="double"?'"'.concat(o,'"'):s==="single"?"'".concat(o,"'"):o},n=function(o){if(o.type==="LiteralExpression")return o.quoted&&typeof o.value=="string"?t(o.value,o.quotes):String(o.value);if(o.type==="RegexExpression")return String(o.value);if(o.type==="RangeExpression"){var s=o.range,a=s.min,l=s.max,u=s.minInclusive,d=s.maxInclusive;return"".concat(u?"[":"{").concat(a," TO ").concat(l).concat(d?"]":"}")}if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")},r=function(o){if(o.type!=="Tag")throw new Error("Expected a tag expression.");var s=o.field,a=o.expression,l=o.operator;if(s.type==="ImplicitField")return n(a);var u=s.quoted?t(s.name,s.quotes):s.name,d=" ".repeat(a.location.start-l.location.end);return u+l.operator+d+n(a)},i=function(o){if(o.type==="ParenthesizedExpression"){if(!("location"in o.expression))throw new Error("Expected location in expression.");if(!o.location.end)throw new Error("Expected location end.");var s=" ".repeat(o.expression.location.start-(o.location.start+1)),a=" ".repeat(o.location.end-o.expression.location.end-1);return"(".concat(s).concat((0,e.serialize)(o.expression)).concat(a,")")}if(o.type==="Tag")return r(o);if(o.type==="LogicalExpression"){var l="";return o.operator.type==="BooleanOperator"?(l+=" ".repeat(o.operator.location.start-o.left.location.end),l+=o.operator.operator,l+=" ".repeat(o.right.location.start-o.operator.location.end)):l=" ".repeat(o.right.location.start-o.left.location.end),"".concat((0,e.serialize)(o.left)).concat(l).concat((0,e.serialize)(o.right))}if(o.type==="UnaryOperator")return(o.operator==="NOT"?"NOT ":o.operator)+(0,e.serialize)(o.operand);if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")};e.serialize=i})(uU);var qb={};Object.defineProperty(qb,"__esModule",{value:!0});qb.isSafeUnquotedExpression=void 0;var _ve=function(e){return/^[#$*@A-Z_a-z][#$*.@A-Z_a-z-]*$/.test(e)};qb.isSafeUnquotedExpression=_ve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isSafeUnquotedExpression=e.serialize=e.SyntaxError=e.LiqeError=e.test=e.parse=e.highlight=e.filter=void 0;var t=Sm;Object.defineProperty(e,"filter",{enumerable:!0,get:function(){return t.filter}});var n=jb;Object.defineProperty(e,"highlight",{enumerable:!0,get:function(){return n.highlight}});var r=Gb;Object.defineProperty(e,"parse",{enumerable:!0,get:function(){return r.parse}});var i=Wb;Object.defineProperty(e,"test",{enumerable:!0,get:function(){return i.test}});var o=ac;Object.defineProperty(e,"LiqeError",{enumerable:!0,get:function(){return o.LiqeError}}),Object.defineProperty(e,"SyntaxError",{enumerable:!0,get:function(){return o.SyntaxError}});var s=uU;Object.defineProperty(e,"serialize",{enumerable:!0,get:function(){return s.serialize}});var a=qb;Object.defineProperty(e,"isSafeUnquotedExpression",{enumerable:!0,get:function(){return a.isSafeUnquotedExpression}})})(eU);var Cm={},cU={},lc={};Object.defineProperty(lc,"__esModule",{value:!0});lc.ROARR_LOG_FORMAT_VERSION=lc.ROARR_VERSION=void 0;lc.ROARR_VERSION="5.0.0";lc.ROARR_LOG_FORMAT_VERSION="2.0.0";var Tm={};Object.defineProperty(Tm,"__esModule",{value:!0});Tm.logLevels=void 0;Tm.logLevels={debug:20,error:50,fatal:60,info:30,trace:10,warn:40};var dU={},Kb={};Object.defineProperty(Kb,"__esModule",{value:!0});Kb.hasOwnProperty=void 0;const bve=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);Kb.hasOwnProperty=bve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.hasOwnProperty=void 0;var t=Kb;Object.defineProperty(e,"hasOwnProperty",{enumerable:!0,get:function(){return t.hasOwnProperty}})})(dU);var fU={},Xb={},Yb={};Object.defineProperty(Yb,"__esModule",{value:!0});Yb.tokenize=void 0;const Sve=/(?:%(?([+0-]|-\+))?(?\d+)?(?\d+\$)?(?\.\d+)?(?[%BCESb-iosux]))|(\\%)/g,wve=e=>{let t;const n=[];let r=0,i=0,o=null;for(;(t=Sve.exec(e))!==null;){t.index>i&&(o={literal:e.slice(i,t.index),type:"literal"},n.push(o));const s=t[0];i=t.index+s.length,s==="\\%"||s==="%%"?o&&o.type==="literal"?o.literal+="%":(o={literal:"%",type:"literal"},n.push(o)):t.groups&&(o={conversion:t.groups.conversion,flag:t.groups.flag||null,placeholder:s,position:t.groups.position?Number.parseInt(t.groups.position,10)-1:r++,precision:t.groups.precision?Number.parseInt(t.groups.precision.slice(1),10):null,type:"placeholder",width:t.groups.width?Number.parseInt(t.groups.width,10):null},n.push(o))}return i<=e.length-1&&(o&&o.type==="literal"?o.literal+=e.slice(i):n.push({literal:e.slice(i),type:"literal"})),n};Yb.tokenize=wve;Object.defineProperty(Xb,"__esModule",{value:!0});Xb.createPrintf=void 0;const uO=tE,xve=Yb,Cve=(e,t)=>t.placeholder,Tve=e=>{var t;const n=(o,s,a)=>a==="-"?o.padEnd(s," "):a==="-+"?((Number(o)>=0?"+":"")+o).padEnd(s," "):a==="+"?((Number(o)>=0?"+":"")+o).padStart(s," "):a==="0"?o.padStart(s,"0"):o.padStart(s," "),r=(t=e==null?void 0:e.formatUnboundExpression)!==null&&t!==void 0?t:Cve,i={};return(o,...s)=>{let a=i[o];a||(a=i[o]=xve.tokenize(o));let l="";for(const u of a)if(u.type==="literal")l+=u.literal;else{let d=s[u.position];if(d===void 0)l+=r(o,u,s);else if(u.conversion==="b")l+=uO.boolean(d)?"true":"false";else if(u.conversion==="B")l+=uO.boolean(d)?"TRUE":"FALSE";else if(u.conversion==="c")l+=d;else if(u.conversion==="C")l+=String(d).toUpperCase();else if(u.conversion==="i"||u.conversion==="d")d=String(Math.trunc(d)),u.width!==null&&(d=n(d,u.width,u.flag)),l+=d;else if(u.conversion==="e")l+=Number(d).toExponential();else if(u.conversion==="E")l+=Number(d).toExponential().toUpperCase();else if(u.conversion==="f")u.precision!==null&&(d=Number(d).toFixed(u.precision)),u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else if(u.conversion==="o")l+=(Number.parseInt(String(d),10)>>>0).toString(8);else if(u.conversion==="s")u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else if(u.conversion==="S")u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=String(d).toUpperCase();else if(u.conversion==="u")l+=Number.parseInt(String(d),10)>>>0;else if(u.conversion==="x")d=(Number.parseInt(String(d),10)>>>0).toString(16),u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else throw new Error("Unknown format specifier.")}return l}};Xb.createPrintf=Tve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.printf=e.createPrintf=void 0;const t=Xb;Object.defineProperty(e,"createPrintf",{enumerable:!0,get:function(){return t.createPrintf}}),e.printf=t.createPrintf()})(fU);var Q3={exports:{}};(function(e,t){const{hasOwnProperty:n}=Object.prototype,r=x();r.configure=x,r.stringify=r,r.default=r,t.stringify=r,t.configure=x,e.exports=r;const i=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?:[^\ud800-\udbff]|^)[\udc00-\udfff]/;function o(_){return _.length<5e3&&!i.test(_)?`"${_}"`:JSON.stringify(_)}function s(_){if(_.length>200)return _.sort();for(let b=1;b<_.length;b++){const y=_[b];let S=b;for(;S!==0&&_[S-1]>y;)_[S]=_[S-1],S--;_[S]=y}return _}const a=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function l(_){return a.call(_)!==void 0&&_.length!==0}function u(_,b,y){_.length= 1`)}return y===void 0?1/0:y}function g(_){return _===1?"1 item":`${_} items`}function m(_){const b=new Set;for(const y of _)(typeof y=="string"||typeof y=="number")&&b.add(String(y));return b}function v(_){if(n.call(_,"strict")){const b=_.strict;if(typeof b!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(b)return y=>{let S=`Object can not safely be stringified. Received type ${typeof y}`;throw typeof y!="function"&&(S+=` (${y.toString()})`),new Error(S)}}}function x(_){_={..._};const b=v(_);b&&(_.bigint===void 0&&(_.bigint=!1),"circularValue"in _||(_.circularValue=Error));const y=d(_),S=f(_,"bigint"),C=f(_,"deterministic"),T=p(_,"maximumDepth"),E=p(_,"maximumBreadth");function P(U,A,N,F,B,D){let V=A[U];switch(typeof V=="object"&&V!==null&&typeof V.toJSON=="function"&&(V=V.toJSON(U)),V=F.call(A,U,V),typeof V){case"string":return o(V);case"object":{if(V===null)return"null";if(N.indexOf(V)!==-1)return y;let j="",q=",";const Z=D;if(Array.isArray(V)){if(V.length===0)return"[]";if(TE){const ve=V.length-E-1;j+=`${q}"... ${g(ve)} not stringified"`}return B!==""&&(j+=` +${Z}`),N.pop(),`[${j}]`}let ee=Object.keys(V);const ie=ee.length;if(ie===0)return"{}";if(TE){const ne=ie-E;j+=`${le}"...":${se}"${g(ne)} not stringified"`,le=q}return B!==""&&le.length>1&&(j=` +${D}${j} +${Z}`),N.pop(),`{${j}}`}case"number":return isFinite(V)?String(V):b?b(V):"null";case"boolean":return V===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(V);default:return b?b(V):void 0}}function k(U,A,N,F,B,D){switch(typeof A=="object"&&A!==null&&typeof A.toJSON=="function"&&(A=A.toJSON(U)),typeof A){case"string":return o(A);case"object":{if(A===null)return"null";if(N.indexOf(A)!==-1)return y;const V=D;let j="",q=",";if(Array.isArray(A)){if(A.length===0)return"[]";if(TE){const W=A.length-E-1;j+=`${q}"... ${g(W)} not stringified"`}return B!==""&&(j+=` +${V}`),N.pop(),`[${j}]`}N.push(A);let Z="";B!==""&&(D+=B,q=`, +${D}`,Z=" ");let ee="";for(const ie of F){const se=k(ie,A[ie],N,F,B,D);se!==void 0&&(j+=`${ee}${o(ie)}:${Z}${se}`,ee=q)}return B!==""&&ee.length>1&&(j=` +${D}${j} +${V}`),N.pop(),`{${j}}`}case"number":return isFinite(A)?String(A):b?b(A):"null";case"boolean":return A===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(A);default:return b?b(A):void 0}}function O(U,A,N,F,B){switch(typeof A){case"string":return o(A);case"object":{if(A===null)return"null";if(typeof A.toJSON=="function"){if(A=A.toJSON(U),typeof A!="object")return O(U,A,N,F,B);if(A===null)return"null"}if(N.indexOf(A)!==-1)return y;const D=B;if(Array.isArray(A)){if(A.length===0)return"[]";if(TE){const pe=A.length-E-1;se+=`${le}"... ${g(pe)} not stringified"`}return se+=` +${D}`,N.pop(),`[${se}]`}let V=Object.keys(A);const j=V.length;if(j===0)return"{}";if(TE){const se=j-E;Z+=`${ee}"...": "${g(se)} not stringified"`,ee=q}return ee!==""&&(Z=` +${B}${Z} +${D}`),N.pop(),`{${Z}}`}case"number":return isFinite(A)?String(A):b?b(A):"null";case"boolean":return A===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(A);default:return b?b(A):void 0}}function M(U,A,N){switch(typeof A){case"string":return o(A);case"object":{if(A===null)return"null";if(typeof A.toJSON=="function"){if(A=A.toJSON(U),typeof A!="object")return M(U,A,N);if(A===null)return"null"}if(N.indexOf(A)!==-1)return y;let F="";if(Array.isArray(A)){if(A.length===0)return"[]";if(TE){const ie=A.length-E-1;F+=`,"... ${g(ie)} not stringified"`}return N.pop(),`[${F}]`}let B=Object.keys(A);const D=B.length;if(D===0)return"{}";if(TE){const q=D-E;F+=`${V}"...":"${g(q)} not stringified"`}return N.pop(),`{${F}}`}case"number":return isFinite(A)?String(A):b?b(A):"null";case"boolean":return A===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(A);default:return b?b(A):void 0}}function G(U,A,N){if(arguments.length>1){let F="";if(typeof N=="number"?F=" ".repeat(Math.min(N,10)):typeof N=="string"&&(F=N.slice(0,10)),A!=null){if(typeof A=="function")return P("",{"":U},[],A,F,"");if(Array.isArray(A))return k("",U,[],m(A),F,"")}if(F.length!==0)return O("",U,[],F,"")}return M("",U,[])}return G}})(Q3,Q3.exports);var Eve=Q3.exports;(function(e){var t=He&&He.__importDefault||function(y){return y&&y.__esModule?y:{default:y}};Object.defineProperty(e,"__esModule",{value:!0}),e.createLogger=void 0;const n=lc,r=Tm,i=dU,o=fU,s=t(nE),a=t(Eve);let l=!1;const u=(0,s.default)(),d=()=>u.ROARR,f=()=>({messageContext:{},transforms:[]}),p=()=>{const y=d().asyncLocalStorage;if(!y)throw new Error("AsyncLocalContext is unavailable.");const S=y.getStore();return S||f()},g=()=>!!d().asyncLocalStorage,m=()=>{if(g()){const y=p();return(0,i.hasOwnProperty)(y,"sequenceRoot")&&(0,i.hasOwnProperty)(y,"sequence")&&typeof y.sequence=="number"?String(y.sequenceRoot)+"."+String(y.sequence++):String(d().sequence++)}return String(d().sequence++)},v=(y,S)=>(C,T,E,P,k,O,M,G,U,A)=>{y.child({logLevel:S})(C,T,E,P,k,O,M,G,U,A)},x=1e3,_=(y,S)=>(C,T,E,P,k,O,M,G,U,A)=>{const N=(0,a.default)({a:C,b:T,c:E,d:P,e:k,f:O,g:M,h:G,i:U,j:A,logLevel:S});if(!N)throw new Error("Expected key to be a string");const F=d().onceLog;F.has(N)||(F.add(N),F.size>x&&F.clear(),y.child({logLevel:S})(C,T,E,P,k,O,M,G,U,A))},b=(y,S={},C=[])=>{const T=(E,P,k,O,M,G,U,A,N,F)=>{const B=Date.now(),D=m();let V;g()?V=p():V=f();let j,q;if(typeof E=="string"?j={...V.messageContext,...S}:j={...V.messageContext,...S,...E},typeof E=="string"&&P===void 0)q=E;else if(typeof E=="string"){if(!E.includes("%"))throw new Error("When a string parameter is followed by other arguments, then it is assumed that you are attempting to format a message using printf syntax. You either forgot to add printf bindings or if you meant to add context to the log message, pass them in an object as the first parameter.");q=(0,o.printf)(E,P,k,O,M,G,U,A,N,F)}else{let ee=P;if(typeof P!="string")if(P===void 0)ee="";else throw new TypeError("Message must be a string. Received "+typeof P+".");q=(0,o.printf)(ee,k,O,M,G,U,A,N,F)}let Z={context:j,message:q,sequence:D,time:B,version:n.ROARR_LOG_FORMAT_VERSION};for(const ee of[...V.transforms,...C])if(Z=ee(Z),typeof Z!="object"||Z===null)throw new Error("Message transform function must return a message object.");y(Z)};return T.child=E=>{let P;return g()?P=p():P=f(),typeof E=="function"?(0,e.createLogger)(y,{...P.messageContext,...S,...E},[E,...C]):(0,e.createLogger)(y,{...P.messageContext,...S,...E},C)},T.getContext=()=>{let E;return g()?E=p():E=f(),{...E.messageContext,...S}},T.adopt=async(E,P)=>{if(!g())return l===!1&&(l=!0,y({context:{logLevel:r.logLevels.warn,package:"roarr"},message:"async_hooks are unavailable; Roarr.adopt will not function as expected",sequence:m(),time:Date.now(),version:n.ROARR_LOG_FORMAT_VERSION})),E();const k=p();let O;(0,i.hasOwnProperty)(k,"sequenceRoot")&&(0,i.hasOwnProperty)(k,"sequence")&&typeof k.sequence=="number"?O=k.sequenceRoot+"."+String(k.sequence++):O=String(d().sequence++);let M={...k.messageContext};const G=[...k.transforms];typeof P=="function"?G.push(P):M={...M,...P};const U=d().asyncLocalStorage;if(!U)throw new Error("Async local context unavailable.");return U.run({messageContext:M,sequence:0,sequenceRoot:O,transforms:G},()=>E())},T.debug=v(T,r.logLevels.debug),T.debugOnce=_(T,r.logLevels.debug),T.error=v(T,r.logLevels.error),T.errorOnce=_(T,r.logLevels.error),T.fatal=v(T,r.logLevels.fatal),T.fatalOnce=_(T,r.logLevels.fatal),T.info=v(T,r.logLevels.info),T.infoOnce=_(T,r.logLevels.info),T.trace=v(T,r.logLevels.trace),T.traceOnce=_(T,r.logLevels.trace),T.warn=v(T,r.logLevels.warn),T.warnOnce=_(T,r.logLevels.warn),T};e.createLogger=b})(cU);var Qb={},Ave=function(t,n){for(var r=t.split("."),i=n.split("."),o=0;o<3;o++){var s=Number(r[o]),a=Number(i[o]);if(s>a)return 1;if(a>s)return-1;if(!isNaN(s)&&isNaN(a))return 1;if(isNaN(s)&&!isNaN(a))return-1}return 0},Pve=He&&He.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Qb,"__esModule",{value:!0});Qb.createRoarrInitialGlobalStateBrowser=void 0;const cO=lc,dO=Pve(Ave),Rve=e=>{const t=(e.versions||[]).concat();return t.length>1&&t.sort(dO.default),t.includes(cO.ROARR_VERSION)||t.push(cO.ROARR_VERSION),t.sort(dO.default),{sequence:0,...e,versions:t}};Qb.createRoarrInitialGlobalStateBrowser=Rve;var Zb={};Object.defineProperty(Zb,"__esModule",{value:!0});Zb.getLogLevelName=void 0;const Ove=e=>e<=10?"trace":e<=20?"debug":e<=30?"info":e<=40?"warn":e<=50?"error":"fatal";Zb.getLogLevelName=Ove;(function(e){var t=He&&He.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0}),e.getLogLevelName=e.logLevels=e.Roarr=e.ROARR=void 0;const n=cU,r=Qb,o=(0,t(nE).default)(),s=(0,r.createRoarrInitialGlobalStateBrowser)(o.ROARR||{});e.ROARR=s,o.ROARR=s;const a=f=>JSON.stringify(f),l=(0,n.createLogger)(f=>{var p;s.write&&s.write(((p=s.serializeMessage)!==null&&p!==void 0?p:a)(f))});e.Roarr=l;var u=Tm;Object.defineProperty(e,"logLevels",{enumerable:!0,get:function(){return u.logLevels}});var d=Zb;Object.defineProperty(e,"getLogLevelName",{enumerable:!0,get:function(){return d.getLogLevelName}})})(Cm);var kve=He&&He.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i0?g("%c ".concat(p," %c").concat(d?" [".concat(String(d),"]:"):"","%c ").concat(a.message," %O"),v,x,_,f):g("%c ".concat(p," %c").concat(d?" [".concat(String(d),"]:"):"","%c ").concat(a.message),v,x,_)}}};Nb.createLogWriter=Uve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createLogWriter=void 0;var t=Nb;Object.defineProperty(e,"createLogWriter",{enumerable:!0,get:function(){return t.createLogWriter}})})(VB);Cm.ROARR.write=VB.createLogWriter();const pU={};Cm.Roarr.child(pU);const Jb=gm(Cm.Roarr.child(pU)),Ie=e=>Jb.get().child({namespace:e}),DIe=["trace","debug","info","warn","error","fatal"],$Ie={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function zve(){const e=[];return function(t,n){if(typeof n!="object"||n===null)return n;for(;e.length>0&&e.at(-1)!==this;)e.pop();return e.includes(n)?"[Circular]":(e.push(n),n)}}const Ig=Bl("nodes/receivedOpenAPISchema",async(e,{dispatch:t,rejectWithValue:n})=>{const r=Ie("system");try{const o=await(await fetch("openapi.json")).json();return r.info({openAPISchema:o},"Received OpenAPI schema"),JSON.parse(JSON.stringify(o,zve()))}catch(i){return n({error:i})}}),gU={nodes:[],edges:[],schema:null,invocationTemplates:{},connectionStartParams:null,shouldShowGraphOverlay:!1,shouldShowFieldTypeLegend:!1,shouldShowMinimapPanel:!0,editorInstance:void 0,progressNodeSize:{width:512,height:512}},mU=yn({name:"nodes",initialState:gU,reducers:{nodesChanged:(e,t)=>{e.nodes=IB(t.payload,e.nodes)},nodeAdded:(e,t)=>{e.nodes.push(t.payload)},edgesChanged:(e,t)=>{e.edges=Zme(t.payload,e.edges)},connectionStarted:(e,t)=>{e.connectionStartParams=t.payload},connectionMade:(e,t)=>{e.edges=oB(t.payload,e.edges)},connectionEnded:e=>{e.connectionStartParams=null},fieldValueChanged:(e,t)=>{var a,l,u;const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(d=>d.id===n),s=(u=(l=(a=e.nodes)==null?void 0:a[o])==null?void 0:l.data)==null?void 0:u.inputs[r];s&&o>-1&&(s.value=i)},imageCollectionFieldValueChanged:(e,t)=>{var l,u,d;const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(f=>f.id===n);if(o===-1)return;const s=(d=(u=(l=e.nodes)==null?void 0:l[o])==null?void 0:u.data)==null?void 0:d.inputs[r];if(!s)return;const a=Ur(s.value);if(!a){s.value=i;return}s.value=rle(a.concat(i),"image_name")},shouldShowGraphOverlayChanged:(e,t)=>{e.shouldShowGraphOverlay=t.payload},shouldShowFieldTypeLegendChanged:(e,t)=>{e.shouldShowFieldTypeLegend=t.payload},shouldShowMinimapPanelChanged:(e,t)=>{e.shouldShowMinimapPanel=t.payload},nodeTemplatesBuilt:(e,t)=>{e.invocationTemplates=t.payload},nodeEditorReset:e=>{e.nodes=[],e.edges=[]},setEditorInstance:(e,t)=>{e.editorInstance=t.payload},loadFileNodes:(e,t)=>{e.nodes=t.payload},loadFileEdges:(e,t)=>{e.edges=t.payload},setProgressNodeSize:(e,t)=>{e.progressNodeSize=t.payload}},extraReducers:e=>{e.addCase(Ig.fulfilled,(t,n)=>{t.schema=n.payload})}}),{nodesChanged:FIe,edgesChanged:BIe,nodeAdded:UIe,fieldValueChanged:yU,connectionMade:zIe,connectionStarted:VIe,connectionEnded:jIe,shouldShowGraphOverlayChanged:GIe,shouldShowFieldTypeLegendChanged:HIe,shouldShowMinimapPanelChanged:WIe,nodeTemplatesBuilt:oE,nodeEditorReset:sE,imageCollectionFieldValueChanged:qIe,setEditorInstance:KIe,loadFileNodes:XIe,loadFileEdges:YIe,setProgressNodeSize:QIe}=mU.actions,Vve=mU.reducer,vU={esrganModelName:"RealESRGAN_x4plus.pth"},_U=yn({name:"postprocessing",initialState:vU,reducers:{esrganModelNameChanged:(e,t)=>{e.esrganModelName=t.payload}}}),{esrganModelNameChanged:ZIe}=_U.actions,jve=_U.reducer,Gve={positiveStylePrompt:"",negativeStylePrompt:"",shouldConcatSDXLStylePrompt:!0,shouldUseSDXLRefiner:!1,sdxlImg2ImgDenoisingStrength:.7,refinerModel:null,refinerSteps:20,refinerCFGScale:7.5,refinerScheduler:"euler",refinerAestheticScore:6,refinerStart:.7},bU=yn({name:"sdxl",initialState:Gve,reducers:{setPositiveStylePromptSDXL:(e,t)=>{e.positiveStylePrompt=t.payload},setNegativeStylePromptSDXL:(e,t)=>{e.negativeStylePrompt=t.payload},setShouldConcatSDXLStylePrompt:(e,t)=>{e.shouldConcatSDXLStylePrompt=t.payload},setShouldUseSDXLRefiner:(e,t)=>{e.shouldUseSDXLRefiner=t.payload},setSDXLImg2ImgDenoisingStrength:(e,t)=>{e.sdxlImg2ImgDenoisingStrength=t.payload},refinerModelChanged:(e,t)=>{e.refinerModel=t.payload},setRefinerSteps:(e,t)=>{e.refinerSteps=t.payload},setRefinerCFGScale:(e,t)=>{e.refinerCFGScale=t.payload},setRefinerScheduler:(e,t)=>{e.refinerScheduler=t.payload},setRefinerAestheticScore:(e,t)=>{e.refinerAestheticScore=t.payload},setRefinerStart:(e,t)=>{e.refinerStart=t.payload}}}),{setPositiveStylePromptSDXL:JIe,setNegativeStylePromptSDXL:e7e,setShouldConcatSDXLStylePrompt:t7e,setShouldUseSDXLRefiner:Hve,setSDXLImg2ImgDenoisingStrength:n7e,refinerModelChanged:hO,setRefinerSteps:r7e,setRefinerCFGScale:i7e,setRefinerScheduler:o7e,setRefinerAestheticScore:s7e,setRefinerStart:a7e}=bU.actions,Wve=bU.reducer,Em=Re("app/userInvoked"),qve={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class H1{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||qve,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]=this.observers[r]||[],this.observers[r].push(n)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t]=this.observers[t].filter(r=>r!==n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{s(...r)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(s=>{s.apply(s,[t,...r])})}}function Xh(){let e,t;const n=new Promise((r,i)=>{e=r,t=i});return n.resolve=e,n.reject=t,n}function pO(e){return e==null?"":""+e}function Kve(e,t,n){e.forEach(r=>{t[r]&&(n[r]=t[r])})}function aE(e,t,n){function r(s){return s&&s.indexOf("###")>-1?s.replace(/###/g,"."):s}function i(){return!e||typeof e=="string"}const o=typeof t!="string"?[].concat(t):t.split(".");for(;o.length>1;){if(i())return{};const s=r(o.shift());!e[s]&&n&&(e[s]=new n),Object.prototype.hasOwnProperty.call(e,s)?e=e[s]:e={}}return i()?{}:{obj:e,k:r(o.shift())}}function gO(e,t,n){const{obj:r,k:i}=aE(e,t,Object);r[i]=n}function Xve(e,t,n,r){const{obj:i,k:o}=aE(e,t,Object);i[o]=i[o]||[],r&&(i[o]=i[o].concat(n)),r||i[o].push(n)}function W1(e,t){const{obj:n,k:r}=aE(e,t);if(n)return n[r]}function Yve(e,t,n){const r=W1(e,n);return r!==void 0?r:W1(t,n)}function SU(e,t,n){for(const r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?typeof e[r]=="string"||e[r]instanceof String||typeof t[r]=="string"||t[r]instanceof String?n&&(e[r]=t[r]):SU(e[r],t[r],n):e[r]=t[r]);return e}function ld(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var Qve={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function Zve(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,t=>Qve[t]):e}const Jve=[" ",",","?","!",";"];function e1e(e,t,n){t=t||"",n=n||"";const r=Jve.filter(s=>t.indexOf(s)<0&&n.indexOf(s)<0);if(r.length===0)return!0;const i=new RegExp(`(${r.map(s=>s==="?"?"\\?":s).join("|")})`);let o=!i.test(e);if(!o){const s=e.indexOf(n);s>0&&!i.test(e.substring(0,s))&&(o=!0)}return o}function q1(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let i=e;for(let o=0;oo+s;)s++,a=r.slice(o,o+s).join(n),l=i[a];if(l===void 0)return;if(l===null)return null;if(t.endsWith(a)){if(typeof l=="string")return l;if(a&&typeof l[a]=="string")return l[a]}const u=r.slice(o+s).join(n);return u?q1(l,u,n):void 0}i=i[r[o]]}return i}function K1(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class mO extends eS{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const o=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,s=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let a=[t,n];r&&typeof r!="string"&&(a=a.concat(r)),r&&typeof r=="string"&&(a=a.concat(o?r.split(o):r)),t.indexOf(".")>-1&&(a=t.split("."));const l=W1(this.data,a);return l||!s||typeof r!="string"?l:q1(this.data&&this.data[t]&&this.data[t][n],r,o)}addResource(t,n,r,i){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator;let a=[t,n];r&&(a=a.concat(s?r.split(s):r)),t.indexOf(".")>-1&&(a=t.split("."),i=n,n=a[1]),this.addNamespaces(n),gO(this.data,a,i),o.silent||this.emit("added",t,n,r,i)}addResources(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const o in r)(typeof r[o]=="string"||Object.prototype.toString.apply(r[o])==="[object Array]")&&this.addResource(t,n,o,r[o],{silent:!0});i.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},a=[t,n];t.indexOf(".")>-1&&(a=t.split("."),i=r,r=n,n=a[1]),this.addNamespaces(n);let l=W1(this.data,a)||{};i?SU(l,r,o):l={...l,...r},gO(this.data,a,l),s.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,n)}:this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var wU={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(o=>{this.processors[o]&&(t=this.processors[o].process(t,n,r,i))}),t}};const yO={};class X1 extends eS{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Kve(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=Cs.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const r=this.resolve(t,n);return r&&r.res!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let o=n.ns||this.options.defaultNS||[];const s=r&&t.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!e1e(t,r,i);if(s&&!a){const l=t.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:t,namespaces:o};const u=t.split(r);(r!==i||r===i&&this.options.ns.indexOf(u[0])>-1)&&(o=u.shift()),t=u.join(i)}return typeof o=="string"&&(o=[o]),{key:t,namespaces:o}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:s,namespaces:a}=this.extractFromKey(t[t.length-1],n),l=a[a.length-1],u=n.lng||this.language,d=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(d){const S=n.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${S}${s}`,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:`${l}${S}${s}`}return i?{res:s,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:s}const f=this.resolve(t,n);let p=f&&f.res;const g=f&&f.usedKey||s,m=f&&f.exactUsedKey||s,v=Object.prototype.toString.apply(p),x=["[object Number]","[object Function]","[object RegExp]"],_=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,b=!this.i18nFormat||this.i18nFormat.handleAsObject;if(b&&p&&(typeof p!="string"&&typeof p!="boolean"&&typeof p!="number")&&x.indexOf(v)<0&&!(typeof _=="string"&&v==="[object Array]")){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const S=this.options.returnedObjectHandler?this.options.returnedObjectHandler(g,p,{...n,ns:a}):`key '${s} (${this.language})' returned an object instead of string.`;return i?(f.res=S,f):S}if(o){const S=v==="[object Array]",C=S?[]:{},T=S?m:g;for(const E in p)if(Object.prototype.hasOwnProperty.call(p,E)){const P=`${T}${o}${E}`;C[E]=this.translate(P,{...n,joinArrays:!1,ns:a}),C[E]===P&&(C[E]=p[E])}p=C}}else if(b&&typeof _=="string"&&v==="[object Array]")p=p.join(_),p&&(p=this.extendTranslation(p,t,n,r));else{let S=!1,C=!1;const T=n.count!==void 0&&typeof n.count!="string",E=X1.hasDefaultValue(n),P=T?this.pluralResolver.getSuffix(u,n.count,n):"",k=n.ordinal&&T?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",O=n[`defaultValue${P}`]||n[`defaultValue${k}`]||n.defaultValue;!this.isValidLookup(p)&&E&&(S=!0,p=O),this.isValidLookup(p)||(C=!0,p=s);const G=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&C?void 0:p,U=E&&O!==p&&this.options.updateMissing;if(C||S||U){if(this.logger.log(U?"updateKey":"missingKey",u,l,s,U?O:p),o){const B=this.resolve(s,{...n,keySeparator:!1});B&&B.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let A=[];const N=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&N&&N[0])for(let B=0;B{const j=E&&V!==p?V:G;this.options.missingKeyHandler?this.options.missingKeyHandler(B,l,D,j,U,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(B,l,D,j,U,n),this.emit("missingKey",B,l,D,p)};this.options.saveMissing&&(this.options.saveMissingPlurals&&T?A.forEach(B=>{this.pluralResolver.getSuffixes(B,n).forEach(D=>{F([B],s+D,n[`defaultValue${D}`]||O)})}):F(A,s,O))}p=this.extendTranslation(p,t,n,f,r),C&&p===s&&this.options.appendNamespaceToMissingKey&&(p=`${l}:${s}`),(C||S)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?p=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${s}`:s,S?p:void 0):p=this.options.parseMissingKeyHandler(p))}return i?(f.res=p,f):p}extendTranslation(t,n,r,i,o){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const u=typeof t=="string"&&(r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let d;if(u){const p=t.match(this.interpolator.nestingRegexp);d=p&&p.length}let f=r.replace&&typeof r.replace!="string"?r.replace:r;if(this.options.interpolation.defaultVariables&&(f={...this.options.interpolation.defaultVariables,...f}),t=this.interpolator.interpolate(t,f,r.lng||this.language,r),u){const p=t.match(this.interpolator.nestingRegexp),g=p&&p.length;d1&&arguments[1]!==void 0?arguments[1]:{},r,i,o,s,a;return typeof t=="string"&&(t=[t]),t.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),d=u.key;i=d;let f=u.namespaces;this.options.fallbackNS&&(f=f.concat(this.options.fallbackNS));const p=n.count!==void 0&&typeof n.count!="string",g=p&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),m=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",v=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);f.forEach(x=>{this.isValidLookup(r)||(a=x,!yO[`${v[0]}-${x}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(yO[`${v[0]}-${x}`]=!0,this.logger.warn(`key "${i}" for languages "${v.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),v.forEach(_=>{if(this.isValidLookup(r))return;s=_;const b=[d];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(b,d,_,x,n);else{let S;p&&(S=this.pluralResolver.getSuffix(_,n.count,n));const C=`${this.options.pluralSeparator}zero`,T=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(p&&(b.push(d+S),n.ordinal&&S.indexOf(T)===0&&b.push(d+S.replace(T,this.options.pluralSeparator)),g&&b.push(d+C)),m){const E=`${d}${this.options.contextSeparator}${n.context}`;b.push(E),p&&(b.push(E+S),n.ordinal&&S.indexOf(T)===0&&b.push(E+S.replace(T,this.options.pluralSeparator)),g&&b.push(E+C))}}let y;for(;y=b.pop();)this.isValidLookup(r)||(o=y,r=this.getResource(_,x,y,n))}))})}),{res:r,usedKey:i,exactUsedKey:o,usedLng:s,usedNS:a}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,n,r,i):this.resourceStore.getResource(t,n,r,i)}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}function Rx(e){return e.charAt(0).toUpperCase()+e.slice(1)}class vO{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Cs.create("languageUtils")}getScriptPartFromCode(t){if(t=K1(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=K1(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(typeof t=="string"&&t.indexOf("-")>-1){const n=["hans","hant","latn","cyrl","cans","mong","arab"];let r=t.split("-");return this.options.lowerCaseLng?r=r.map(i=>i.toLowerCase()):r.length===2?(r[0]=r[0].toLowerCase(),r[1]=r[1].toUpperCase(),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=Rx(r[1].toLowerCase()))):r.length===3&&(r[0]=r[0].toLowerCase(),r[1].length===2&&(r[1]=r[1].toUpperCase()),r[0]!=="sgn"&&r[2].length===2&&(r[2]=r[2].toUpperCase()),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=Rx(r[1].toLowerCase())),n.indexOf(r[2].toLowerCase())>-1&&(r[2]=Rx(r[2].toLowerCase()))),r.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const i=this.getLanguagePartFromCode(r);if(this.isSupportedCode(i))return n=i;n=this.options.supportedLngs.find(o=>{if(o===i)return o;if(!(o.indexOf("-")<0&&i.indexOf("-")<0)&&o.indexOf(i)===0)return o})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),typeof t=="string"&&(t=[t]),Object.prototype.toString.apply(t)==="[object Array]")return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),i=[],o=s=>{s&&(this.isSupportedCode(s)?i.push(s):this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`))};return typeof t=="string"&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(t))):typeof t=="string"&&o(this.formatLanguageCode(t)),r.forEach(s=>{i.indexOf(s)<0&&o(this.formatLanguageCode(s))}),i}}let t1e=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],n1e={1:function(e){return+(e>1)},2:function(e){return+(e!=1)},3:function(e){return 0},4:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},5:function(e){return e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},6:function(e){return e==1?0:e>=2&&e<=4?1:2},7:function(e){return e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},8:function(e){return e==1?0:e==2?1:e!=8&&e!=11?2:3},9:function(e){return+(e>=2)},10:function(e){return e==1?0:e==2?1:e<7?2:e<11?3:4},11:function(e){return e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3},12:function(e){return+(e%10!=1||e%100==11)},13:function(e){return+(e!==0)},14:function(e){return e==1?0:e==2?1:e==3?2:3},15:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2},16:function(e){return e%10==1&&e%100!=11?0:e!==0?1:2},17:function(e){return e==1||e%10==1&&e%100!=11?0:1},18:function(e){return e==0?0:e==1?1:2},19:function(e){return e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3},20:function(e){return e==1?0:e==0||e%100>0&&e%100<20?1:2},21:function(e){return e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0},22:function(e){return e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3}};const r1e=["v1","v2","v3"],i1e=["v4"],_O={zero:0,one:1,two:2,few:3,many:4,other:5};function o1e(){const e={};return t1e.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:n1e[t.fc]}})}),e}class s1e{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=Cs.create("pluralResolver"),(!this.options.compatibilityJSON||i1e.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=o1e()}addRule(t,n){this.rules[t]=n}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(K1(t),{type:n.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return this.shouldUseIntlApi()?r&&r.resolvedOptions().pluralCategories.length>1:r&&r.numbers.length>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(i=>`${n}${i}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((i,o)=>_O[i]-_O[o]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):r.numbers.map(i=>this.getSuffix(t,i,n)):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(t,r);return i?this.shouldUseIntlApi()?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:this.getSuffixRetroCompatible(i,n):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,n){const r=t.noAbs?t.plurals(n):t.plurals(Math.abs(n));let i=t.numbers[r];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(i===2?i="plural":i===1&&(i=""));const o=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return this.options.compatibilityJSON==="v1"?i===1?"":typeof i=="number"?`_plural_${i.toString()}`:o():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?o():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}shouldUseIntlApi(){return!r1e.includes(this.options.compatibilityJSON)}}function bO(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=Yve(e,t,n);return!o&&i&&typeof n=="string"&&(o=q1(e,n,r),o===void 0&&(o=q1(t,n,r))),o}class a1e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Cs.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(n=>n),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const n=t.interpolation;this.escape=n.escape!==void 0?n.escape:Zve,this.escapeValue=n.escapeValue!==void 0?n.escapeValue:!0,this.useRawValueToEscape=n.useRawValueToEscape!==void 0?n.useRawValueToEscape:!1,this.prefix=n.prefix?ld(n.prefix):n.prefixEscaped||"{{",this.suffix=n.suffix?ld(n.suffix):n.suffixEscaped||"}}",this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||",",this.unescapePrefix=n.unescapeSuffix?"":n.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":n.unescapeSuffix||"",this.nestingPrefix=n.nestingPrefix?ld(n.nestingPrefix):n.nestingPrefixEscaped||ld("$t("),this.nestingSuffix=n.nestingSuffix?ld(n.nestingSuffix):n.nestingSuffixEscaped||ld(")"),this.nestingOptionsSeparator=n.nestingOptionsSeparator?n.nestingOptionsSeparator:n.nestingOptionsSeparator||",",this.maxReplaces=n.maxReplaces?n.maxReplaces:1e3,this.alwaysFormat=n.alwaysFormat!==void 0?n.alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=`${this.prefix}(.+?)${this.suffix}`;this.regexp=new RegExp(t,"g");const n=`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;this.regexpUnescape=new RegExp(n,"g");const r=`${this.nestingPrefix}(.+?)${this.nestingSuffix}`;this.nestingRegexp=new RegExp(r,"g")}interpolate(t,n,r,i){let o,s,a;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(m){return m.replace(/\$/g,"$$$$")}const d=m=>{if(m.indexOf(this.formatSeparator)<0){const b=bO(n,l,m,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(b,void 0,r,{...i,...n,interpolationkey:m}):b}const v=m.split(this.formatSeparator),x=v.shift().trim(),_=v.join(this.formatSeparator).trim();return this.format(bO(n,l,x,this.options.keySeparator,this.options.ignoreJSONStructure),_,r,{...i,...n,interpolationkey:x})};this.resetRegExp();const f=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,p=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:m=>u(m)},{regex:this.regexp,safeValue:m=>this.escapeValue?u(this.escape(m)):u(m)}].forEach(m=>{for(a=0;o=m.regex.exec(t);){const v=o[1].trim();if(s=d(v),s===void 0)if(typeof f=="function"){const _=f(t,o,i);s=typeof _=="string"?_:""}else if(i&&Object.prototype.hasOwnProperty.call(i,v))s="";else if(p){s=o[0];continue}else this.logger.warn(`missed to pass in variable ${v} for interpolating ${t}`),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=pO(s));const x=m.safeValue(s);if(t=t.replace(o[0],x),p?(m.regex.lastIndex+=s.length,m.regex.lastIndex-=o[0].length):m.regex.lastIndex=0,a++,a>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,o,s;function a(l,u){const d=this.nestingOptionsSeparator;if(l.indexOf(d)<0)return l;const f=l.split(new RegExp(`${d}[ ]*{`));let p=`{${f[1]}`;l=f[0],p=this.interpolate(p,s);const g=p.match(/'/g),m=p.match(/"/g);(g&&g.length%2===0&&!m||m.length%2!==0)&&(p=p.replace(/'/g,'"'));try{s=JSON.parse(p),u&&(s={...u,...s})}catch(v){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,v),`${l}${d}${p}`}return delete s.defaultValue,l}for(;i=this.nestingRegexp.exec(t);){let l=[];s={...r},s=s.replace&&typeof s.replace!="string"?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let u=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const d=i[1].split(this.formatSeparator).map(f=>f.trim());i[1]=d.shift(),l=d,u=!0}if(o=n(a.call(this,i[1].trim(),s),s),o&&i[0]===t&&typeof o!="string")return o;typeof o!="string"&&(o=pO(o)),o||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${t}`),o=""),u&&(o=l.reduce((d,f)=>this.format(d,f,r.lng,{...r,interpolationkey:i[1].trim()}),o.trim())),t=t.replace(i[0],o),this.regexp.lastIndex=0}return t}}function l1e(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);t==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):t==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(s=>{if(!s)return;const[a,...l]=s.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,"");n[a.trim()]||(n[a.trim()]=u),u==="false"&&(n[a.trim()]=!1),u==="true"&&(n[a.trim()]=!0),isNaN(u)||(n[a.trim()]=parseInt(u,10))})}return{formatName:t,formatOptions:n}}function ud(e){const t={};return function(r,i,o){const s=i+JSON.stringify(o);let a=t[s];return a||(a=e(K1(i),o),t[s]=a),a(r)}}class u1e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Cs.create("formatter"),this.options=t,this.formats={number:ud((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return o=>i.format(o)}),currency:ud((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return o=>i.format(o)}),datetime:ud((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return o=>i.format(o)}),relativetime:ud((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return o=>i.format(o,r.range||"day")}),list:ud((n,r)=>{const i=new Intl.ListFormat(n,{...r});return o=>i.format(o)})},this.init(t)}init(t){const r=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=ud(n)}format(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return n.split(this.formatSeparator).reduce((a,l)=>{const{formatName:u,formatOptions:d}=l1e(l);if(this.formats[u]){let f=a;try{const p=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},g=p.locale||p.lng||i.locale||i.lng||r;f=this.formats[u](a,g,{...d,...i,...p})}catch(p){this.logger.warn(p)}return f}else this.logger.warn(`there was no format function for ${u}`);return a},t)}}function c1e(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}class d1e extends eS{constructor(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=Cs.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(r,i.backend,i)}queueLoad(t,n,r,i){const o={},s={},a={},l={};return t.forEach(u=>{let d=!0;n.forEach(f=>{const p=`${u}|${f}`;!r.reload&&this.store.hasResourceBundle(u,f)?this.state[p]=2:this.state[p]<0||(this.state[p]===1?s[p]===void 0&&(s[p]=!0):(this.state[p]=1,d=!1,s[p]===void 0&&(s[p]=!0),o[p]===void 0&&(o[p]=!0),l[f]===void 0&&(l[f]=!0)))}),d||(a[u]=!0)}),(Object.keys(o).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(s),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(l)}}loaded(t,n,r){const i=t.split("|"),o=i[0],s=i[1];n&&this.emit("failedLoading",o,s,n),r&&this.store.addResourceBundle(o,s,r),this.state[t]=n?-1:2;const a={};this.queue.forEach(l=>{Xve(l.loaded,[o],s),c1e(l,t),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{a[u]||(a[u]={});const d=l.loaded[u];d.length&&d.forEach(f=>{a[u][f]===void 0&&(a[u][f]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(l=>!l.done)}read(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!t.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:i,wait:o,callback:s});return}this.readingCalls++;const a=(u,d)=>{if(this.readingCalls--,this.waitingReads.length>0){const f=this.waitingReads.shift();this.read(f.lng,f.ns,f.fcName,f.tried,f.wait,f.callback)}if(u&&d&&i{this.read.call(this,t,n,r,i+1,o*2,s)},o);return}s(u,d)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(t,n);u&&typeof u.then=="function"?u.then(d=>a(null,d)).catch(a):a(null,u)}catch(u){a(u)}return}return l(t,n,a)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();typeof t=="string"&&(t=this.languageUtils.toResolveHierarchy(t)),typeof n=="string"&&(n=[n]);const o=this.queueLoad(t,n,r,i);if(!o.toLoad.length)return o.pending.length||i(),null;o.toLoad.forEach(s=>{this.loadOne(s)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),i=r[0],o=r[1];this.read(i,o,"read",void 0,void 0,(s,a)=>{s&&this.logger.warn(`${n}loading namespace ${o} for language ${i} failed`,s),!s&&a&&this.logger.log(`${n}loaded namespace ${o} for language ${i}`,a),this.loaded(t,s,a)})}saveMissing(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend&&this.backend.create){const l={...s,isUpdate:o},u=this.backend.create.bind(this.backend);if(u.length<6)try{let d;u.length===5?d=u(t,n,r,i,l):d=u(t,n,r,i),d&&typeof d.then=="function"?d.then(f=>a(null,f)).catch(a):a(null,d)}catch(d){a(d)}else u(t,n,r,i,a,l)}!t||!t[0]||this.store.addResource(t[0],n,r,i)}}}function SO(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let n={};if(typeof t[1]=="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const r=t[3]||t[2];Object.keys(r).forEach(i=>{n[i]=r[i]})}return n},interpolation:{escapeValue:!0,format:(e,t,n,r)=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function wO(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function R0(){}function f1e(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}class Mg extends eS{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=wO(t),this.services={},this.logger=Cs,this.modules={external:[]},f1e(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(typeof n.ns=="string"?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const i=SO();this.options={...i,...this.options,...wO(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);function o(d){return d?typeof d=="function"?new d:d:null}if(!this.options.isClone){this.modules.logger?Cs.init(o(this.modules.logger),this.options):Cs.init(null,this.options);let d;this.modules.formatter?d=this.modules.formatter:typeof Intl<"u"&&(d=u1e);const f=new vO(this.options);this.store=new mO(this.options.resources,this.options);const p=this.services;p.logger=Cs,p.resourceStore=this.store,p.languageUtils=f,p.pluralResolver=new s1e(f,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),d&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(p.formatter=o(d),p.formatter.init(p,this.options),this.options.interpolation.format=p.formatter.format.bind(p.formatter)),p.interpolator=new a1e(this.options),p.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},p.backendConnector=new d1e(o(this.modules.backend),p.resourceStore,p,this.options),p.backendConnector.on("*",function(g){for(var m=arguments.length,v=new Array(m>1?m-1:0),x=1;x1?m-1:0),x=1;x{g.init&&g.init(this)})}if(this.format=this.options.interpolation.format,r||(r=R0),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const d=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);d.length>0&&d[0]!=="dev"&&(this.options.lng=d[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(d=>{this[d]=function(){return t.store[d](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(d=>{this[d]=function(){return t.store[d](...arguments),t}});const l=Xh(),u=()=>{const d=(f,p)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(p),r(f,p)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return d(null,this.t.bind(this));this.changeLanguage(this.options.lng,d)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),l}loadResources(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:R0;const i=typeof t=="string"?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(i&&i.toLowerCase()==="cimode")return r();const o=[],s=a=>{if(!a)return;this.services.languageUtils.toResolveHierarchy(a).forEach(u=>{o.indexOf(u)<0&&o.push(u)})};i?s(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>s(l)),this.options.preload&&this.options.preload.forEach(a=>s(a)),this.services.backendConnector.load(o,this.options.ns,a=>{!a&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(a)})}else r(null)}reloadResources(t,n,r){const i=Xh();return t||(t=this.languages),n||(n=this.options.ns),r||(r=R0),this.services.backendConnector.reload(t,n,o=>{i.resolve(),r(o)}),i}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&wU.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const i=Xh();this.emit("languageChanging",t);const o=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},s=(l,u)=>{u?(o(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,i.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},a=l=>{!t&&!l&&this.services.languageDetector&&(l=[]);const u=typeof l=="string"?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||o(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,d=>{s(d,u)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(t),i}getFixedT(t,n,r){var i=this;const o=function(s,a){let l;if(typeof a!="object"){for(var u=arguments.length,d=new Array(u>2?u-2:0),f=2;f`${l.keyPrefix}${p}${m}`):g=l.keyPrefix?`${l.keyPrefix}${p}${s}`:s,i.t(g,l)};return typeof t=="string"?o.lng=t:o.lngs=t,o.ns=n,o.keyPrefix=r,o}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=this.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};if(n.precheck){const a=n.precheck(this,s);if(a!==void 0)return a}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(r,t)&&(!i||s(o,t)))}loadNamespaces(t,n){const r=Xh();return this.options.ns?(typeof t=="string"&&(t=[t]),t.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),n&&n(i)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=Xh();typeof t=="string"&&(t=[t]);const i=this.options.preload||[],o=t.filter(s=>i.indexOf(s)<0);return o.length?(this.options.preload=i.concat(o),this.loadResources(s=>{r.resolve(),n&&n(s)}),r):(n&&n(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services&&this.services.languageUtils||new vO(SO());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new Mg(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:R0;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const i={...this.options,...t,isClone:!0},o=new Mg(i);return(t.debug!==void 0||t.prefix!==void 0)&&(o.logger=o.logger.clone(t)),["store","services","language"].forEach(a=>{o[a]=this[a]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new mO(this.store.data,i),o.services.resourceStore=o.store),o.translator=new X1(o.services,i),o.translator.on("*",function(a){for(var l=arguments.length,u=new Array(l>1?l-1:0),d=1;dtypeof e=="string"?{title:e,status:"info",isClosable:!0,duration:2500}:{status:"info",isClosable:!0,duration:2500,...e},xU={isConnected:!1,isProcessing:!1,isGFPGANAvailable:!0,isESRGANAvailable:!0,shouldConfirmOnDelete:!0,currentStep:0,totalSteps:0,currentIteration:0,totalIterations:0,currentStatusHasSteps:!1,isCancelable:!0,enableImageDebugging:!1,toastQueue:[],progressImage:null,shouldAntialiasProgressImage:!1,sessionId:null,cancelType:"immediate",isCancelScheduled:!1,subscribedNodeIds:[],wereModelsReceived:!1,wasSchemaParsed:!1,consoleLogLevel:"debug",shouldLogToConsole:!0,statusTranslationKey:"common.statusDisconnected",canceledSession:"",isPersisted:!1,language:"en",isUploading:!1,isNodesEnabled:!1,shouldUseNSFWChecker:!1,shouldUseWatermarker:!1},CU=yn({name:"system",initialState:xU,reducers:{setIsProcessing:(e,t)=>{e.isProcessing=t.payload},setCurrentStatus:(e,t)=>{e.statusTranslationKey=t.payload},setShouldConfirmOnDelete:(e,t)=>{e.shouldConfirmOnDelete=t.payload},setIsCancelable:(e,t)=>{e.isCancelable=t.payload},setEnableImageDebugging:(e,t)=>{e.enableImageDebugging=t.payload},addToast:(e,t)=>{e.toastQueue.push(t.payload)},clearToastQueue:e=>{e.toastQueue=[]},cancelScheduled:e=>{e.isCancelScheduled=!0},scheduledCancelAborted:e=>{e.isCancelScheduled=!1},cancelTypeChanged:(e,t)=>{e.cancelType=t.payload},subscribedNodeIdsSet:(e,t)=>{e.subscribedNodeIds=t.payload},consoleLogLevelChanged:(e,t)=>{e.consoleLogLevel=t.payload},shouldLogToConsoleChanged:(e,t)=>{e.shouldLogToConsole=t.payload},shouldAntialiasProgressImageChanged:(e,t)=>{e.shouldAntialiasProgressImage=t.payload},isPersistedChanged:(e,t)=>{e.isPersisted=t.payload},languageChanged:(e,t)=>{e.language=t.payload},progressImageSet(e,t){e.progressImage=t.payload},setIsNodesEnabled(e,t){e.isNodesEnabled=t.payload},shouldUseNSFWCheckerChanged(e,t){e.shouldUseNSFWChecker=t.payload},shouldUseWatermarkerChanged(e,t){e.shouldUseWatermarker=t.payload}},extraReducers(e){e.addCase(K$,(t,n)=>{t.sessionId=n.payload.sessionId,t.canceledSession=""}),e.addCase(Y$,t=>{t.sessionId=null}),e.addCase(H$,t=>{t.isConnected=!0,t.isCancelable=!0,t.isProcessing=!1,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.currentIteration=0,t.totalIterations=0,t.statusTranslationKey="common.statusConnected"}),e.addCase(q$,t=>{t.isConnected=!1,t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusDisconnected"}),e.addCase(Z$,t=>{t.isCancelable=!0,t.isProcessing=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusGenerating"}),e.addCase(iF,(t,n)=>{const{step:r,total_steps:i,progress_image:o}=n.payload.data;t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!0,t.currentStep=r+1,t.totalSteps=i,t.progressImage=o??null,t.statusTranslationKey="common.statusGenerating"}),e.addCase(J$,(t,n)=>{const{data:r}=n.payload;t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusProcessingComplete",t.canceledSession===r.graph_execution_state_id&&(t.isProcessing=!1,t.isCancelable=!0)}),e.addCase(nF,t=>{t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null}),e.addCase(Em,t=>{t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.statusTranslationKey="common.statusPreparing"}),e.addCase(mc.fulfilled,(t,n)=>{t.canceledSession=n.meta.arg.session_id,t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Xu({title:Pp("toast.canceled"),status:"warning"}))}),e.addCase(oE,t=>{t.wasSchemaParsed=!0}),e.addMatcher(i$,(t,n)=>{var r;t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Xu({title:Pp("toast.serverError"),status:"error",description:((r=n.payload)==null?void 0:r.status)===422?"Validation Error":void 0}))}),e.addMatcher(y1e,(t,n)=>{t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusError",t.progressImage=null,t.toastQueue.push(Xu({title:Pp("toast.serverError"),status:"error",description:Qae(n.payload.data.error_type)}))})}}),{setIsProcessing:l7e,setShouldConfirmOnDelete:u7e,setCurrentStatus:c7e,setIsCancelable:d7e,setEnableImageDebugging:f7e,addToast:zn,clearToastQueue:h7e,cancelScheduled:p7e,scheduledCancelAborted:g7e,cancelTypeChanged:m7e,subscribedNodeIdsSet:y7e,consoleLogLevelChanged:v7e,shouldLogToConsoleChanged:_7e,isPersistedChanged:b7e,shouldAntialiasProgressImageChanged:S7e,languageChanged:w7e,progressImageSet:h1e,setIsNodesEnabled:x7e,shouldUseNSFWCheckerChanged:p1e,shouldUseWatermarkerChanged:g1e}=CU.actions,m1e=CU.reducer,y1e=Co(LT,lF,cF),v1e={searchFolder:null,advancedAddScanModel:null},TU=yn({name:"modelmanager",initialState:v1e,reducers:{setSearchFolder:(e,t)=>{e.searchFolder=t.payload},setAdvancedAddScanModel:(e,t)=>{e.advancedAddScanModel=t.payload}}}),{setSearchFolder:C7e,setAdvancedAddScanModel:T7e}=TU.actions,_1e=TU.reducer,EU={shift:!1},AU=yn({name:"hotkeys",initialState:EU,reducers:{shiftKeyPressed:(e,t)=>{e.shift=t.payload}}}),{shiftKeyPressed:E7e}=AU.actions,b1e=AU.reducer,S1e=WY(DJ);PU=Z3=void 0;var w1e=S1e,x1e=function(){var t=[],n=[],r=void 0,i=function(u){return r=u,function(d){return function(f){return w1e.compose.apply(void 0,n)(d)(f)}}},o=function(){for(var u,d,f=arguments.length,p=Array(f),g=0;g=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){n=n.call(e)},n:function(){var u=n.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(s)throw a}}}}function OU(e,t){if(e){if(typeof e=="string")return CO(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return CO(e,t)}}function CO(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,i=r.prefix,o=r.driver,s=r.persistWholeStore,a=r.serialize;try{var l=s?$1e:F1e;yield l(t,n,{prefix:i,driver:o,serialize:a})}catch(u){console.warn("redux-remember: persist error",u)}});return function(){return e.apply(this,arguments)}}();function PO(e,t,n,r,i,o,s){try{var a=e[o](s),l=a.value}catch(u){n(u);return}a.done?t(l):Promise.resolve(l).then(r,i)}function RO(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function s(l){PO(o,r,i,s,a,"next",l)}function a(l){PO(o,r,i,s,a,"throw",l)}s(void 0)})}}var U1e=function(){var e=RO(function*(t,n,r){var i=r.prefix,o=r.driver,s=r.serialize,a=r.unserialize,l=r.persistThrottle,u=r.persistDebounce,d=r.persistWholeStore;yield I1e(t,n,{prefix:i,driver:o,unserialize:a,persistWholeStore:d});var f={},p=function(){var g=RO(function*(){var m=RU(t.getState(),n);yield B1e(m,f,{prefix:i,driver:o,serialize:s,persistWholeStore:d}),uE(m,f)||t.dispatch({type:A1e,payload:m}),f=m});return function(){return g.apply(this,arguments)}}();u&&u>0?t.subscribe(R1e(p,u)):t.subscribe(P1e(p,l))});return function(n,r,i){return e.apply(this,arguments)}}();const z1e=U1e;function Ng(e){"@babel/helpers - typeof";return Ng=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ng(e)}function OO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Ix(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:n.state,i=arguments.length>1?arguments[1]:void 0;i.type&&(i.type==="@@INIT"||i.type.startsWith("@@redux/INIT"))&&(n.state=Ix({},r));var o=typeof t=="function"?t:Ff(t);switch(i.type){case J3:return n.state=o(Ix(Ix({},n.state),i.payload||{}),{type:J3}),n.state;default:return o(r,i)}}},W1e=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r.prefix,o=i===void 0?"@@remember-":i,s=r.serialize,a=s===void 0?function(x,_){return JSON.stringify(x)}:s,l=r.unserialize,u=l===void 0?function(x,_){return JSON.parse(x)}:l,d=r.persistThrottle,f=d===void 0?100:d,p=r.persistDebounce,g=r.persistWholeStore,m=g===void 0?!1:g;if(!t)throw Error("redux-remember error: driver required");if(!Array.isArray(n))throw Error("redux-remember error: rememberedKeys needs to be an array");var v=function(_){return function(b,y,S){var C=_(b,y,S);return z1e(C,n,{driver:t,prefix:o,serialize:a,unserialize:u,persistThrottle:f,persistDebounce:p,persistWholeStore:m}),C}};return v};const A7e=["chakra-ui-color-mode","i18nextLng","ROARR_FILTER","ROARR_LOG"],q1e="@@invokeai-",K1e=["cursorPosition","isCanvasInitialized","doesCanvasNeedScaling"],X1e=["pendingControlImages"],Y1e=["selection","selectedBoardId","galleryView"],Q1e=["schema","invocationTemplates"],Z1e=[],J1e=[],e_e=["currentIteration","currentStep","isCancelable","isConnected","isESRGANAvailable","isGFPGANAvailable","isProcessing","totalIterations","totalSteps","isCancelScheduled","progressImage","wereModelsReceived","wasSchemaParsed","isPersisted","isUploading"],t_e=["shouldShowImageDetails"],n_e={canvas:K1e,gallery:Y1e,generation:Z1e,nodes:Q1e,postprocessing:J1e,system:e_e,ui:t_e,controlNet:X1e},r_e=(e,t)=>{const n=rb(e,n_e[t]??[]);return JSON.stringify(n)},i_e={canvas:s$,gallery:gF,generation:Da,nodes:gU,postprocessing:vU,system:xU,config:UD,ui:t$,hotkeys:EU,controlNet:I3},o_e=(e,t)=>mae(JSON.parse(e),i_e[t]),IU=Re("nodes/textToImageGraphBuilt"),MU=Re("nodes/imageToImageGraphBuilt"),NU=Re("nodes/canvasGraphBuilt"),LU=Re("nodes/nodesGraphBuilt"),s_e=Co(IU,MU,NU,LU),a_e=e=>{if(s_e(e)&&e.payload.nodes){const t={};return{...e,payload:{...e.payload,nodes:t}}}return Ig.fulfilled.match(e)?{...e,payload:""}:oE.match(e)?{...e,payload:""}:e},l_e=["canvas/setCursorPosition","canvas/setStageCoordinates","canvas/setStageScale","canvas/setIsDrawing","canvas/setBoundingBoxCoordinates","canvas/setBoundingBoxDimensions","canvas/setIsDrawing","canvas/addPointToCurrentLine","socket/socketGeneratorProgress","socket/appSocketGeneratorProgress","hotkeys/shiftKeyPressed","@@REMEMBER_PERSISTED"],u_e=e=>e,c_e=()=>{Pe({actionCreator:Gue,effect:async(e,{dispatch:t,getState:n})=>{const r=Ie("canvas"),i=n(),{sessionId:o,isProcessing:s}=i.system,a=e.payload;if(s){if(!a){r.debug("No canvas session, skipping cancel");return}if(a!==o){r.debug({canvasSessionId:a,session_id:o},"Canvas session does not match global session, skipping cancel");return}t(mc({session_id:o}))}}})};Re("app/appStarted");const d_e=()=>{Pe({matcher:Se.endpoints.listImages.matchFulfilled,effect:async(e,{dispatch:t,unsubscribe:n,cancelActiveListeners:r})=>{if(e.meta.arg.queryCacheKey!==Bo({board_id:"none",categories:Vr}))return;r(),n();const i=e.payload;if(i.ids.length>0){const o=pn.getSelectors().selectAll(i)[0];t(Rs(o??null))}}})},cE=Hl.injectEndpoints({endpoints:e=>({getAppVersion:e.query({query:()=>({url:"app/version",method:"GET"}),providesTags:["AppVersion"],keepUnusedDataFor:864e5}),getAppConfig:e.query({query:()=>({url:"app/config",method:"GET"}),providesTags:["AppConfig"],keepUnusedDataFor:864e5})})}),{useGetAppVersionQuery:P7e,useGetAppConfigQuery:R7e}=cE,f_e=()=>{Pe({matcher:cE.endpoints.getAppConfig.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const{infill_methods:r=[],nsfw_methods:i=[],watermarking_methods:o=[]}=e.payload,s=t().generation.infillMethod;r.includes(s)||n(xue(r[0])),i.includes("nsfw_checker")||n(p1e(!1)),o.includes("invisible_watermark")||n(g1e(!1))}})},h_e=Re("app/appStarted"),p_e=()=>{Pe({actionCreator:h_e,effect:async(e,{unsubscribe:t,cancelActiveListeners:n})=>{n(),t()}})},dE={memoizeOptions:{resultEqualityCheck:nb}},DU=(e,t)=>{var f;const{generation:n,canvas:r,nodes:i,controlNet:o}=e,s=((f=n.initialImage)==null?void 0:f.imageName)===t,a=r.layerState.objects.some(p=>p.kind==="image"&&p.imageName===t),l=i.nodes.some(p=>ku(p.data.inputs,g=>{var m;return g.type==="image"&&((m=g.value)==null?void 0:m.image_name)===t})),u=ku(o.controlNets,p=>p.controlImage===t||p.processedControlImage===t);return{isInitialImage:s,isCanvasImage:a,isNodesImage:l,isControlNetImage:u}},g_e=si([e=>e],e=>{const{imagesToDelete:t}=e.deleteImageModal;return t.length?t.map(r=>DU(e,r.image_name)):[]},dE),m_e=()=>{Pe({matcher:Se.endpoints.deleteBoardAndImages.matchFulfilled,effect:async(e,{dispatch:t,getState:n})=>{const{deleted_images:r}=e.payload;let i=!1,o=!1,s=!1,a=!1;const l=n();r.forEach(u=>{const d=DU(l,u);d.isInitialImage&&!i&&(t(ST()),i=!0),d.isCanvasImage&&!o&&(t(wT()),o=!0),d.isNodesImage&&!s&&(t(sE()),s=!0),d.isControlNetImage&&!a&&(t(FT()),a=!0)})}})},y_e=()=>{Pe({matcher:Co(M3,k1),effect:async(e,{getState:t,dispatch:n,condition:r,cancelActiveListeners:i})=>{i();const o=t(),s=M3.match(e)?e.payload:o.gallery.selectedBoardId,l=(k1.match(e)?e.payload:o.gallery.galleryView)==="images"?Vr:Sl,u={board_id:s??"none",categories:l};if(await r(()=>Se.endpoints.listImages.select(u)(t()).isSuccess,5e3)){const{data:f}=Se.endpoints.listImages.select(u)(t());if(f){const p=O1.selectAll(f)[0];n(Rs(p??null))}else n(Rs(null))}else n(Rs(null))}})},v_e=Re("canvas/canvasSavedToGallery"),__e=Re("canvas/canvasCopiedToClipboard"),b_e=Re("canvas/canvasDownloadedAsImage"),S_e=Re("canvas/canvasMerged"),w_e=Re("canvas/stagingAreaImageSaved");let $U=null,FU=null;const O7e=e=>{$U=e},nS=()=>$U,k7e=e=>{FU=e},x_e=()=>FU,C_e=async e=>new Promise((t,n)=>{e.toBlob(r=>{if(r){t(r);return}n("Unable to create Blob")})}),Q1=async(e,t)=>await C_e(e.toCanvas(t)),fE=async e=>{const t=nS();if(!t)return;const{shouldCropToBoundingBoxOnSave:n,boundingBoxCoordinates:r,boundingBoxDimensions:i}=e.canvas,o=t.clone();o.scale({x:1,y:1});const s=o.getAbsolutePosition(),a=n?{x:r.x+s.x,y:r.y+s.y,width:i.width,height:i.height}:o.getClientRect();return Q1(o,a)},T_e=e=>{navigator.clipboard.write([new ClipboardItem({[e.type]:e})])},E_e=()=>{Pe({actionCreator:__e,effect:async(e,{dispatch:t,getState:n})=>{const r=Jb.get().child({namespace:"canvasCopiedToClipboardListener"}),i=n(),o=await fE(i);if(!o){r.error("Problem getting base layer blob"),t(zn({title:"Problem Copying Canvas",description:"Unable to export base layer",status:"error"}));return}T_e(o),t(zn({title:"Canvas Copied to Clipboard",status:"success"}))}})},A_e=(e,t)=>{const n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),r.remove()},P_e=()=>{Pe({actionCreator:b_e,effect:async(e,{dispatch:t,getState:n})=>{const r=Jb.get().child({namespace:"canvasSavedToGalleryListener"}),i=n(),o=await fE(i);if(!o){r.error("Problem getting base layer blob"),t(zn({title:"Problem Downloading Canvas",description:"Unable to export base layer",status:"error"}));return}A_e(o,"canvas.png"),t(zn({title:"Canvas Downloaded",status:"success"}))}})},R_e=async()=>{const e=nS();if(!e)return;const t=e.clone();return t.scale({x:1,y:1}),Q1(t,t.getClientRect())},O_e=()=>{Pe({actionCreator:S_e,effect:async(e,{dispatch:t})=>{const n=Jb.get().child({namespace:"canvasCopiedToClipboardListener"}),r=await R_e();if(!r){n.error("Problem getting base layer blob"),t(zn({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const i=nS();if(!i){n.error("Problem getting canvas base layer"),t(zn({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const o=i.getClientRect({relativeTo:i.getParent()}),s=await t(Se.endpoints.uploadImage.initiate({file:new File([r],"mergedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Merged"}}})).unwrap(),{image_name:a}=s;t(Hue({kind:"image",layer:"base",imageName:a,...o}))}})},k_e=()=>{Pe({actionCreator:v_e,effect:async(e,{dispatch:t,getState:n})=>{const r=Ie("canvas"),i=n(),o=await fE(i);if(!o){r.error("Problem getting base layer blob"),t(zn({title:"Problem Saving Canvas",description:"Unable to export base layer",status:"error"}));return}const{autoAddBoardId:s}=i.gallery;t(Se.endpoints.uploadImage.initiate({file:new File([o],"savedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!1,board_id:s==="none"?void 0:s,crop_visible:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Saved to Gallery"}}}))}})},I_e=(e,t,n)=>{var f;if(!(Qde.match(e)||cR.match(e)||$T.match(e)||Zde.match(e)||dR.match(e))||dR.match(e)&&((f=n.controlNet.controlNets[e.payload.controlNetId])==null?void 0:f.shouldAutoConfig)===!0)return!1;const i=t.controlNet.controlNets[e.payload.controlNetId];if(!i)return!1;const{controlImage:o,processorType:s,shouldAutoConfig:a}=i;if(cR.match(e)&&!a)return!1;const l=s!=="none",u=t.system.isProcessing;return l&&!u&&!!o},M_e=()=>{Pe({predicate:I_e,effect:async(e,{dispatch:t,cancelActiveListeners:n,delay:r})=>{const i=Ie("session"),{controlNetId:o}=e.payload;n(),i.trace("ControlNet auto-process triggered"),await r(300),t(DT({controlNetId:o}))}})},yc=Re("system/sessionReadyToInvoke"),BU=e=>(e==null?void 0:e.type)==="image_output",N_e=()=>{Pe({actionCreator:DT,effect:async(e,{dispatch:t,getState:n,take:r})=>{const i=Ie("session"),{controlNetId:o}=e.payload,s=n().controlNet.controlNets[o];if(!(s!=null&&s.controlImage)){i.error("Unable to process ControlNet image");return}const a={nodes:{[s.processorNode.id]:{...s.processorNode,is_intermediate:!0,image:{image_name:s.controlImage}}}},l=t(Ir({graph:a})),[u]=await r(p=>Ir.fulfilled.match(p)&&p.meta.requestId===l.requestId),d=u.payload.id;t(yc());const[f]=await r(p=>NT.match(p)&&p.payload.data.graph_execution_state_id===d);if(BU(f.payload.data.result)){const{image_name:p}=f.payload.data.result.image,[{payload:g}]=await r(v=>Se.endpoints.getImageDTO.matchFulfilled(v)&&v.payload.image_name===p),m=g;i.debug({controlNetId:e.payload,processedControlImage:m},"ControlNet image processed"),t(Yde({controlNetId:o,processedControlImage:m.image_name}))}}})},L_e=()=>{Pe({matcher:Se.endpoints.addImageToBoard.matchFulfilled,effect:e=>{const t=Ie("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Image added to board")}})},D_e=()=>{Pe({matcher:Se.endpoints.addImageToBoard.matchRejected,effect:e=>{const t=Ie("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Problem adding image to board")}})},hE=Re("deleteImageModal/imageDeletionConfirmed"),I7e=e=>e.gallery,M7e=si(e=>e,e=>e.gallery.selection[e.gallery.selection.length-1],dE),UU=si([e=>e],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{board_id:t,categories:n==="images"?Vr:Sl,offset:0,limit:Xue,is_intermediate:!1}},dE),$_e=()=>{Pe({actionCreator:hE,effect:async(e,{dispatch:t,getState:n,condition:r})=>{var p;const{imageDTOs:i,imagesUsage:o}=e.payload;if(i.length!==1||o.length!==1)return;const s=i[0],a=o[0];if(!s||!a)return;t(BT(!1));const l=n(),u=(p=l.gallery.selection[l.gallery.selection.length-1])==null?void 0:p.image_name;if(s&&(s==null?void 0:s.image_name)===u){const{image_name:g}=s,m=UU(l),{data:v}=Se.endpoints.listImages.select(m)(l),x=v?pn.getSelectors().selectAll(v):[],_=x.findIndex(C=>C.image_name===g),b=x.filter(C=>C.image_name!==g),y=bl(_,0,b.length-1),S=b[y];t(Rs(S||null))}a.isCanvasImage&&t(wT()),a.isControlNetImage&&t(FT()),a.isInitialImage&&t(ST()),a.isNodesImage&&t(sE());const{requestId:d}=t(Se.endpoints.deleteImage.initiate(s));await r(g=>Se.endpoints.deleteImage.matchFulfilled(g)&&g.meta.requestId===d,3e4)&&t(Hl.util.invalidateTags([{type:"Board",id:s.board_id}]))}})},F_e=()=>{Pe({actionCreator:hE,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTOs:r,imagesUsage:i}=e.payload;if(!(r.length<1||i.length<1))try{await t(Se.endpoints.deleteImages.initiate({imageDTOs:r})).unwrap();const o=n(),s=UU(o),{data:a}=Se.endpoints.listImages.select(s)(o),l=a?pn.getSelectors().selectAll(a)[0]:void 0;t(Rs(l||null)),t(BT(!1)),i.some(u=>u.isCanvasImage)&&t(wT()),i.some(u=>u.isControlNetImage)&&t(FT()),i.some(u=>u.isInitialImage)&&t(ST()),i.some(u=>u.isNodesImage)&&t(sE())}catch{}}})},B_e=()=>{Pe({matcher:Se.endpoints.deleteImage.matchPending,effect:()=>{}})},U_e=()=>{Pe({matcher:Se.endpoints.deleteImage.matchFulfilled,effect:e=>{Ie("images").debug({imageDTO:e.meta.arg.originalArgs},"Image deleted")}})},z_e=()=>{Pe({matcher:Se.endpoints.deleteImage.matchRejected,effect:e=>{Ie("images").debug({imageDTO:e.meta.arg.originalArgs},"Unable to delete image")}})},zU=Re("dnd/dndDropped"),V_e=()=>{Pe({actionCreator:zU,effect:async(e,{dispatch:t})=>{const n=Ie("images"),{activeData:r,overData:i}=e.payload;if(r.payloadType==="IMAGE_DTO"?n.debug({activeData:r,overData:i},"Image dropped"):r.payloadType==="IMAGE_DTOS"?n.debug({activeData:r,overData:i},`Images (${r.payload.imageDTOs.length}) dropped`):n.debug({activeData:r,overData:i},"Unknown payload dropped"),i.actionType==="SET_CURRENT_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(Rs(r.payload.imageDTO));return}if(i.actionType==="SET_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(ob(r.payload.imageDTO));return}if(i.actionType==="SET_CONTROLNET_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{controlNetId:o}=i.context;t($T({controlImage:r.payload.imageDTO.image_name,controlNetId:o}));return}if(i.actionType==="SET_CANVAS_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(l$(r.payload.imageDTO));return}if(i.actionType==="SET_NODES_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{fieldName:o,nodeId:s}=i.context;t(yU({nodeId:s,fieldName:o,value:r.payload.imageDTO}));return}if(i.actionType==="ADD_TO_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload,{boardId:s}=i.context;t(Se.endpoints.addImageToBoard.initiate({imageDTO:o,board_id:s}));return}if(i.actionType==="REMOVE_FROM_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload;t(Se.endpoints.removeImageFromBoard.initiate({imageDTO:o}));return}if(i.actionType==="ADD_TO_BOARD"&&r.payloadType==="IMAGE_DTOS"&&r.payload.imageDTOs){const{imageDTOs:o}=r.payload,{boardId:s}=i.context;t(Se.endpoints.addImagesToBoard.initiate({imageDTOs:o,board_id:s}));return}if(i.actionType==="REMOVE_FROM_BOARD"&&r.payloadType==="IMAGE_DTOS"&&r.payload.imageDTOs){const{imageDTOs:o}=r.payload;t(Se.endpoints.removeImagesFromBoard.initiate({imageDTOs:o}));return}}})},j_e=()=>{Pe({matcher:Se.endpoints.removeImageFromBoard.matchFulfilled,effect:e=>{const t=Ie("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Image removed from board")}})},G_e=()=>{Pe({matcher:Se.endpoints.removeImageFromBoard.matchRejected,effect:e=>{const t=Ie("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Problem removing image from board")}})},H_e=()=>{Pe({actionCreator:ofe,effect:async(e,{dispatch:t,getState:n})=>{const r=e.payload,i=n(),{shouldConfirmOnDelete:o}=i.system,s=g_e(n()),a=s.some(l=>l.isCanvasImage)||s.some(l=>l.isInitialImage)||s.some(l=>l.isControlNetImage)||s.some(l=>l.isNodesImage);if(o||a){t(BT(!0));return}t(hE({imageDTOs:r,imagesUsage:s}))}})},cd={title:"Image Uploaded",status:"success"},W_e=()=>{Pe({matcher:Se.endpoints.uploadImage.matchFulfilled,effect:(e,{dispatch:t,getState:n})=>{const r=Ie("images"),i=e.payload,o=n(),{autoAddBoardId:s}=o.gallery;r.debug({imageDTO:i},"Image uploaded");const{postUploadAction:a}=e.meta.arg.originalArgs;if(!(e.payload.is_intermediate&&!a)){if((a==null?void 0:a.type)==="TOAST"){const{toastOptions:l}=a;if(!s||s==="none")t(zn({...cd,...l}));else{t(Se.endpoints.addImageToBoard.initiate({board_id:s,imageDTO:i}));const{data:u}=Ui.endpoints.listAllBoards.select()(o),d=u==null?void 0:u.find(p=>p.board_id===s),f=d?`Added to board ${d.board_name}`:`Added to board ${s}`;t(zn({...cd,description:f}))}return}if((a==null?void 0:a.type)==="SET_CANVAS_INITIAL_IMAGE"){t(l$(i)),t(zn({...cd,description:"Set as canvas initial image"}));return}if((a==null?void 0:a.type)==="SET_CONTROLNET_IMAGE"){const{controlNetId:l}=a;t($T({controlNetId:l,controlImage:i.image_name})),t(zn({...cd,description:"Set as control image"}));return}if((a==null?void 0:a.type)==="SET_INITIAL_IMAGE"){t(ob(i)),t(zn({...cd,description:"Set as initial image"}));return}if((a==null?void 0:a.type)==="SET_NODES_IMAGE"){const{nodeId:l,fieldName:u}=a;t(yU({nodeId:l,fieldName:u,value:i})),t(zn({...cd,description:`Set as node field ${u}`}));return}}}})},q_e=()=>{Pe({matcher:Se.endpoints.uploadImage.matchRejected,effect:(e,{dispatch:t})=>{const n=Ie("images"),r={arg:{...rb(e.meta.arg.originalArgs,["file","postUploadAction"]),file:""}};n.error({...r},"Image upload failed"),t(zn({title:"Image Upload Failed",description:e.error.message,status:"error"}))}})},K_e=Re("generation/initialImageSelected"),X_e=Re("generation/modelSelected"),Y_e=()=>{Pe({actionCreator:K_e,effect:(e,{dispatch:t})=>{if(!e.payload){t(zn(Xu({title:Pp("toast.imageNotLoadedDesc"),status:"error"})));return}t(ob(e.payload)),t(zn(Xu(Pp("toast.sentToImageToImage"))))}})},Q_e=()=>{Pe({actionCreator:X_e,effect:(e,{getState:t,dispatch:n})=>{var l;const r=Ie("models"),i=t(),o=QD.safeParse(e.payload);if(!o.success){r.error({error:o.error.format()},"Failed to parse main model");return}const s=o.data,{base_model:a}=s;if(((l=i.generation.model)==null?void 0:l.base_model)!==a){let u=0;Ul(i.lora.loras,(p,g)=>{p.base_model!==a&&(n(bF(g)),u+=1)});const{vae:d}=i.generation;d&&d.base_model!==a&&(n(JD(null)),u+=1);const{controlNets:f}=i.controlNet;Ul(f,(p,g)=>{var m;((m=p.model)==null?void 0:m.base_model)!==a&&(n(fF({controlNetId:g})),u+=1)}),u>0&&n(zn(Xu({title:`Base model changed, cleared ${u} incompatible submodel${u===1?"":"s"}`,status:"warning"})))}n(Hu(s))}})},kO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),IO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),MO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),NO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),LO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),t5=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),Z_e=({base_model:e,model_type:t,model_name:n})=>`${e}/${t}/${n}`,dd=e=>{const t=[];return e.forEach(n=>{const r={...Ur(n),id:Z_e(n)};t.push(r)}),t},fa=Hl.injectEndpoints({endpoints:e=>({getOnnxModels:e.query({query:t=>{const n={model_type:"onnx",base_models:t};return`models/?${fv.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"OnnxModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"OnnxModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return IO.setAll(IO.getInitialState(),i)}}),getMainModels:e.query({query:t=>{const n={model_type:"main",base_models:t};return`models/?${fv.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"MainModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"MainModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return kO.setAll(kO.getInitialState(),i)}}),updateMainModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/main/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),importMainModels:e.mutation({query:({body:t})=>({url:"models/import",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),addMainModels:e.mutation({query:({body:t})=>({url:"models/add",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),deleteMainModels:e.mutation({query:({base_model:t,model_name:n,model_type:r})=>({url:`models/${t}/${r}/${n}`,method:"DELETE"}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),convertMainModels:e.mutation({query:({base_model:t,model_name:n,convert_dest_directory:r})=>({url:`models/convert/${t}/main/${n}`,method:"PUT",params:{convert_dest_directory:r}}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),mergeMainModels:e.mutation({query:({base_model:t,body:n})=>({url:`models/merge/${t}`,method:"PUT",body:n}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),syncModels:e.mutation({query:()=>({url:"models/sync",method:"POST"}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),getLoRAModels:e.query({query:()=>({url:"models/",params:{model_type:"lora"}}),providesTags:(t,n,r)=>{const i=[{type:"LoRAModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"LoRAModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return MO.setAll(MO.getInitialState(),i)}}),updateLoRAModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/lora/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"LoRAModel",id:Ke}]}),deleteLoRAModels:e.mutation({query:({base_model:t,model_name:n})=>({url:`models/${t}/lora/${n}`,method:"DELETE"}),invalidatesTags:[{type:"LoRAModel",id:Ke}]}),getControlNetModels:e.query({query:()=>({url:"models/",params:{model_type:"controlnet"}}),providesTags:(t,n,r)=>{const i=[{type:"ControlNetModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"ControlNetModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return NO.setAll(NO.getInitialState(),i)}}),getVaeModels:e.query({query:()=>({url:"models/",params:{model_type:"vae"}}),providesTags:(t,n,r)=>{const i=[{type:"VaeModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"VaeModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return t5.setAll(t5.getInitialState(),i)}}),getTextualInversionModels:e.query({query:()=>({url:"models/",params:{model_type:"embedding"}}),providesTags:(t,n,r)=>{const i=[{type:"TextualInversionModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"TextualInversionModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return LO.setAll(LO.getInitialState(),i)}}),getModelsInFolder:e.query({query:t=>({url:`/models/search?${fv.stringify(t,{})}`}),providesTags:(t,n,r)=>{const i=[{type:"ScannedModels",id:Ke}];return t&&i.push(...t.map(o=>({type:"ScannedModels",id:o}))),i}}),getCheckpointConfigs:e.query({query:()=>({url:"/models/ckpt_confs"})})})}),{useGetMainModelsQuery:N7e,useGetOnnxModelsQuery:L7e,useGetControlNetModelsQuery:D7e,useGetLoRAModelsQuery:$7e,useGetTextualInversionModelsQuery:F7e,useGetVaeModelsQuery:B7e,useUpdateMainModelsMutation:U7e,useDeleteMainModelsMutation:z7e,useImportMainModelsMutation:V7e,useAddMainModelsMutation:j7e,useConvertMainModelsMutation:G7e,useMergeMainModelsMutation:H7e,useDeleteLoRAModelsMutation:W7e,useUpdateLoRAModelsMutation:q7e,useSyncModelsMutation:K7e,useGetModelsInFolderQuery:X7e,useGetCheckpointConfigsQuery:Y7e}=fa,J_e=()=>{Pe({predicate:(e,t)=>fa.endpoints.getMainModels.matchFulfilled(t)&&!t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=Ie("models");r.info({models:e.payload.entities},`Main models loaded (${e.payload.ids.length})`);const i=t().generation.model;if(ku(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)&&(u==null?void 0:u.model_type)===(i==null?void 0:i.model_type)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(Hu(null));return}const l=QD.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse main model");return}n(Hu(l.data))}}),Pe({predicate:(e,t)=>fa.endpoints.getMainModels.matchFulfilled(t)&&t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=Ie("models");r.info({models:e.payload.entities},`SDXL Refiner models loaded (${e.payload.ids.length})`);const i=t().sdxl.refinerModel;if(ku(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)&&(u==null?void 0:u.model_type)===(i==null?void 0:i.model_type)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(hO(null)),n(Hve(!1));return}const l=YD.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse SDXL Refiner Model");return}n(hO(l.data))}}),Pe({matcher:fa.endpoints.getVaeModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=Ie("models");r.info({models:e.payload.entities},`VAEs loaded (${e.payload.ids.length})`);const i=t().generation.vae;if(i===null||ku(e.payload.entities,l=>(l==null?void 0:l.model_name)===(i==null?void 0:i.model_name)&&(l==null?void 0:l.base_model)===(i==null?void 0:i.base_model)))return;const s=t5.getSelectors().selectAll(e.payload)[0];if(!s){n(Hu(null));return}const a=vue.safeParse(s);if(!a.success){r.error({error:a.error.format()},"Failed to parse VAE model");return}n(JD(a.data))}}),Pe({matcher:fa.endpoints.getLoRAModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{Ie("models").info({models:e.payload.entities},`LoRAs loaded (${e.payload.ids.length})`);const i=t().lora.loras;Ul(i,(o,s)=>{ku(e.payload.entities,l=>(l==null?void 0:l.model_name)===(o==null?void 0:o.model_name)&&(l==null?void 0:l.base_model)===(o==null?void 0:o.base_model))||n(bF(s))})}}),Pe({matcher:fa.endpoints.getControlNetModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{Ie("models").info({models:e.payload.entities},`ControlNet models loaded (${e.payload.ids.length})`);const i=t().controlNet.controlNets;Ul(i,(o,s)=>{ku(e.payload.entities,l=>{var u,d;return(l==null?void 0:l.model_name)===((u=o==null?void 0:o.model)==null?void 0:u.model_name)&&(l==null?void 0:l.base_model)===((d=o==null?void 0:o.model)==null?void 0:d.base_model)})||n(fF({controlNetId:s}))})}}),Pe({matcher:fa.endpoints.getTextualInversionModels.matchFulfilled,effect:async e=>{Ie("models").info({models:e.payload.entities},`Embeddings loaded (${e.payload.ids.length})`)}})},$a=e=>JSON.parse(JSON.stringify(e)),n5=e=>!("$ref"in e),ebe=e=>!("$ref"in e),Q7e=500,tbe={integer:"integer",float:"float",number:"float",string:"string",boolean:"boolean",enum:"enum",ImageField:"image",image_collection:"image_collection",LatentsField:"latents",ConditioningField:"conditioning",UNetField:"unet",ClipField:"clip",VaeField:"vae",model:"model",refiner_model:"refiner_model",vae_model:"vae_model",lora_model:"lora_model",controlnet_model:"controlnet_model",ControlNetModelField:"controlnet_model",array:"array",item:"item",ColorField:"color",ControlField:"control",control:"control",cfg_scale:"float",control_weight:"float"},nbe=500,On=e=>`var(--invokeai-colors-${e}-${nbe})`,Z7e={integer:{color:"red",colorCssVar:On("red"),title:"Integer",description:"Integers are whole numbers, without a decimal point."},float:{color:"orange",colorCssVar:On("orange"),title:"Float",description:"Floats are numbers with a decimal point."},string:{color:"yellow",colorCssVar:On("yellow"),title:"String",description:"Strings are text."},boolean:{color:"green",colorCssVar:On("green"),title:"Boolean",description:"Booleans are true or false."},enum:{color:"blue",colorCssVar:On("blue"),title:"Enum",description:"Enums are values that may be one of a number of options."},image:{color:"purple",colorCssVar:On("purple"),title:"Image",description:"Images may be passed between nodes."},image_collection:{color:"purple",colorCssVar:On("purple"),title:"Image Collection",description:"A collection of images."},latents:{color:"pink",colorCssVar:On("pink"),title:"Latents",description:"Latents may be passed between nodes."},conditioning:{color:"cyan",colorCssVar:On("cyan"),title:"Conditioning",description:"Conditioning may be passed between nodes."},unet:{color:"red",colorCssVar:On("red"),title:"UNet",description:"UNet submodel."},clip:{color:"green",colorCssVar:On("green"),title:"Clip",description:"Tokenizer and text_encoder submodels."},vae:{color:"blue",colorCssVar:On("blue"),title:"Vae",description:"Vae submodel."},control:{color:"cyan",colorCssVar:On("cyan"),title:"Control",description:"Control info passed between nodes."},model:{color:"teal",colorCssVar:On("teal"),title:"Model",description:"Models are models."},refiner_model:{color:"teal",colorCssVar:On("teal"),title:"Refiner Model",description:"Models are models."},vae_model:{color:"teal",colorCssVar:On("teal"),title:"VAE",description:"Models are models."},lora_model:{color:"teal",colorCssVar:On("teal"),title:"LoRA",description:"Models are models."},controlnet_model:{color:"teal",colorCssVar:On("teal"),title:"ControlNet",description:"Models are models."},array:{color:"gray",colorCssVar:On("gray"),title:"Array",description:"TODO: Array type description."},item:{color:"gray",colorCssVar:On("gray"),title:"Collection Item",description:"TODO: Collection Item type description."},color:{color:"gray",colorCssVar:On("gray"),title:"Color",description:"A RGBA color."}},J7e=250,Mx=e=>{const t=e.$ref.split("/").slice(-1)[0];return t||"UNKNOWN FIELD TYPE"},rbe=({schemaObject:e,baseField:t})=>{const n={...t,type:"integer",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},ibe=({schemaObject:e,baseField:t})=>{const n={...t,type:"float",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},obe=({schemaObject:e,baseField:t})=>{const n={...t,type:"string",inputRequirement:"always",inputKind:"any",default:e.default??""};return e.minLength!==void 0&&(n.minLength=e.minLength),e.maxLength!==void 0&&(n.maxLength=e.maxLength),e.pattern!==void 0&&(n.pattern=e.pattern),n},sbe=({schemaObject:e,baseField:t})=>({...t,type:"boolean",inputRequirement:"always",inputKind:"any",default:e.default??!1}),abe=({schemaObject:e,baseField:t})=>({...t,type:"model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),lbe=({schemaObject:e,baseField:t})=>({...t,type:"refiner_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),ube=({schemaObject:e,baseField:t})=>({...t,type:"vae_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),cbe=({schemaObject:e,baseField:t})=>({...t,type:"lora_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),dbe=({schemaObject:e,baseField:t})=>({...t,type:"controlnet_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),fbe=({schemaObject:e,baseField:t})=>({...t,type:"image",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),hbe=({schemaObject:e,baseField:t})=>({...t,type:"image_collection",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),pbe=({schemaObject:e,baseField:t})=>({...t,type:"latents",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),gbe=({schemaObject:e,baseField:t})=>({...t,type:"conditioning",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),mbe=({schemaObject:e,baseField:t})=>({...t,type:"unet",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),ybe=({schemaObject:e,baseField:t})=>({...t,type:"clip",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),vbe=({schemaObject:e,baseField:t})=>({...t,type:"vae",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),_be=({schemaObject:e,baseField:t})=>({...t,type:"control",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),bbe=({schemaObject:e,baseField:t})=>{const n=e.enum??[];return{...t,type:"enum",enumType:e.type??"string",options:n,inputRequirement:"always",inputKind:"direct",default:e.default??n[0]}},DO=({baseField:e})=>({...e,type:"array",inputRequirement:"always",inputKind:"direct",default:[]}),$O=({baseField:e})=>({...e,type:"item",inputRequirement:"always",inputKind:"direct",default:void 0}),Sbe=({schemaObject:e,baseField:t})=>({...t,type:"color",inputRequirement:"always",inputKind:"direct",default:e.default??{r:127,g:127,b:127,a:255}}),VU=(e,t,n)=>{let r="";n&&t in n?r=n[t]??"UNKNOWN FIELD TYPE":e.type?e.enum?r="enum":e.type&&(r=e.type):e.allOf?r=Mx(e.allOf[0]):e.anyOf?r=Mx(e.anyOf[0]):e.oneOf&&(r=Mx(e.oneOf[0]));const i=tbe[r];if(!i)throw`Field type "${r}" is unknown!`;return i},wbe=(e,t,n)=>{const r=VU(e,t,n),i={name:t,title:e.title??"",description:e.description??""};if(["image"].includes(r))return fbe({schemaObject:e,baseField:i});if(["image_collection"].includes(r))return hbe({schemaObject:e,baseField:i});if(["latents"].includes(r))return pbe({schemaObject:e,baseField:i});if(["conditioning"].includes(r))return gbe({schemaObject:e,baseField:i});if(["unet"].includes(r))return mbe({schemaObject:e,baseField:i});if(["clip"].includes(r))return ybe({schemaObject:e,baseField:i});if(["vae"].includes(r))return vbe({schemaObject:e,baseField:i});if(["control"].includes(r))return _be({schemaObject:e,baseField:i});if(["model"].includes(r))return abe({schemaObject:e,baseField:i});if(["refiner_model"].includes(r))return lbe({schemaObject:e,baseField:i});if(["vae_model"].includes(r))return ube({schemaObject:e,baseField:i});if(["lora_model"].includes(r))return cbe({schemaObject:e,baseField:i});if(["controlnet_model"].includes(r))return dbe({schemaObject:e,baseField:i});if(["enum"].includes(r))return bbe({schemaObject:e,baseField:i});if(["integer"].includes(r))return rbe({schemaObject:e,baseField:i});if(["number","float"].includes(r))return ibe({schemaObject:e,baseField:i});if(["string"].includes(r))return obe({schemaObject:e,baseField:i});if(["boolean"].includes(r))return sbe({schemaObject:e,baseField:i});if(["array"].includes(r))return DO({schemaObject:e,baseField:i});if(["item"].includes(r))return $O({schemaObject:e,baseField:i});if(["color"].includes(r))return Sbe({schemaObject:e,baseField:i});if(["array"].includes(r))return DO({schemaObject:e,baseField:i});if(["item"].includes(r))return $O({schemaObject:e,baseField:i})},xbe=(e,t,n)=>{const r=e.$ref.split("/").slice(-1)[0];if(!r)throw Ie("nodes").error({refObject:$a(e)},"No output schema name found in ref object"),"No output schema name found in ref object";const i=t.components.schemas[r];if(!i)throw Ie("nodes").error({outputSchemaName:r},"Output schema not found"),"Output schema not found";return n5(i)?vT(i.properties,(s,a,l)=>{if(!["type","id"].includes(l)&&!["object"].includes(a.type)&&n5(a)){const u=VU(a,l,n);s[l]={name:l,title:a.title??"",description:a.description??"",type:u}}return s},{}):{}},Cbe=e=>e==="l2i"?["id","type","metadata"]:["id","type","is_intermediate","metadata"],Tbe=["Graph","InvocationMeta","MetadataAccumulatorInvocation"],Ebe=e=>{var r;return ID((r=e.components)==null?void 0:r.schemas,(i,o)=>o.includes("Invocation")&&!o.includes("InvocationOutput")&&!Tbe.some(s=>o.includes(s))).reduce((i,o)=>{var s,a,l,u,d;if(ebe(o)){const f=o.properties.type.default,p=Cbe(f),g=((s=o.ui)==null?void 0:s.title)??o.title.replace("Invocation",""),m=(a=o.ui)==null?void 0:a.type_hints,v={};if(f==="collect"){const y=o.properties.item;v.item={type:"item",name:"item",description:y.description??"",title:"Collection Item",inputKind:"connection",inputRequirement:"always",default:void 0}}else if(f==="iterate"){const y=o.properties.collection;v.collection={type:"array",name:"collection",title:y.title??"",default:[],description:y.description??"",inputRequirement:"always",inputKind:"connection"}}else vT(o.properties,(y,S,C)=>{if(!p.includes(C)&&n5(S)){const T=wbe(S,C,m);T&&(y[C]=T)}return y},v);const x=o.output;let _;if(f==="iterate"){const y=(u=(l=e.components)==null?void 0:l.schemas)==null?void 0:u.IterateInvocationOutput;_={item:{name:"item",title:(y==null?void 0:y.title)??"",description:(y==null?void 0:y.description)??"",type:"array"}}}else _=xbe(x,e,m);const b={title:g,type:f,tags:((d=o.ui)==null?void 0:d.tags)??[],description:o.description??"",inputs:v,outputs:_};Object.assign(i,{[f]:b})}return i},{})},Abe=()=>{Pe({actionCreator:Ig.fulfilled,effect:(e,{dispatch:t})=>{const n=Ie("system"),r=e.payload;n.debug({schemaJSON:r},"Dereferenced OpenAPI schema");const i=Ebe(r);n.debug({nodeTemplates:$a(i)},`Built ${_T(i)} node templates`),t(oE(i))}}),Pe({actionCreator:Ig.rejected,effect:()=>{Ie("system").error("Problem dereferencing OpenAPI Schema")}})},Pbe=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(Boolean).map(e=>[e.name,e]),Rbe=new Map(Pbe),Obe=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],r5=Symbol(".toJSON was called"),kbe=e=>{e[r5]=!0;const t=e.toJSON();return delete e[r5],t},Ibe=e=>Rbe.get(e)??Error,jU=({from:e,seen:t,to:n,forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a})=>{if(!n)if(Array.isArray(e))n=[];else if(!a&&FO(e)){const u=Ibe(e.name);n=new u}else n={};if(t.push(e),o>=i)return n;if(s&&typeof e.toJSON=="function"&&e[r5]!==!0)return kbe(e);const l=u=>jU({from:u,seen:[...t],forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a});for(const[u,d]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(d)){n[u]="[object Buffer]";continue}if(d!==null&&typeof d=="object"&&typeof d.pipe=="function"){n[u]="[object Stream]";continue}if(typeof d!="function"){if(!d||typeof d!="object"){n[u]=d;continue}if(!t.includes(e[u])){o++,n[u]=l(e[u]);continue}n[u]="[Circular]"}}for(const{property:u,enumerable:d}of Obe)typeof e[u]<"u"&&e[u]!==null&&Object.defineProperty(n,u,{value:FO(e[u])?l(e[u]):e[u],enumerable:r?!0:d,configurable:!0,writable:!0});return n};function pE(e,t={}){const{maxDepth:n=Number.POSITIVE_INFINITY,useToJSON:r=!0}=t;return typeof e=="object"&&e!==null?jU({from:e,seen:[],forceEnumerable:!0,maxDepth:n,depth:0,useToJSON:r,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}function FO(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}const Mbe=()=>{Pe({actionCreator:mc.pending,effect:()=>{}})},Nbe=()=>{Pe({actionCreator:mc.fulfilled,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session canceled (${n})`)}})},Lbe=()=>{Pe({actionCreator:mc.rejected,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:pE(r)},"Problem canceling session")}}})},Dbe=()=>{Pe({actionCreator:Ir.pending,effect:()=>{}})},$be=()=>{Pe({actionCreator:Ir.fulfilled,effect:e=>{const t=Ie("session"),n=e.payload;t.debug({session:$a(n)},`Session created (${n.id})`)}})},Fbe=()=>{Pe({actionCreator:Ir.rejected,effect:e=>{const t=Ie("session");if(e.payload){const{error:n,status:r}=e.payload,i=$a(e.meta.arg);t.error({graph:i,status:r,error:pE(n)},"Problem creating session")}}})},Bbe=()=>{Pe({actionCreator:mm.pending,effect:()=>{}})},Ube=()=>{Pe({actionCreator:mm.fulfilled,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session invoked (${n})`)}})},zbe=()=>{Pe({actionCreator:mm.rejected,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:pE(r)},"Problem invoking session")}}})},Vbe=()=>{Pe({actionCreator:yc,effect:(e,{getState:t,dispatch:n})=>{const r=Ie("session"),{sessionId:i}=t().system;i&&(r.debug({session_id:i},`Session ready to invoke (${i})})`),n(mm({session_id:i})))}})},jbe=()=>{Pe({actionCreator:G$,effect:(e,{dispatch:t,getState:n})=>{Ie("socketio").debug("Connected");const{nodes:i,config:o}=n(),{disabledTabs:s}=o;!i.schema&&!s.includes("nodes")&&t(Ig()),t(H$(e.payload)),t(fa.util.invalidateTags([{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"LoRAModel",id:Ke},{type:"ControlNetModel",id:Ke},{type:"VaeModel",id:Ke},{type:"TextualInversionModel",id:Ke},{type:"ScannedModels",id:Ke}])),t(cE.util.invalidateTags(["AppConfig","AppVersion"]))}})},Gbe=()=>{Pe({actionCreator:W$,effect:(e,{dispatch:t})=>{Ie("socketio").debug("Disconnected"),t(q$(e.payload))}})},Hbe=()=>{Pe({actionCreator:rF,effect:(e,{dispatch:t,getState:n})=>{const r=Ie("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored generator progress for canceled session");return}r.trace(e.payload,`Generator progress (${e.payload.data.node.type})`),t(iF(e.payload))}})},Wbe=()=>{Pe({actionCreator:tF,effect:(e,{dispatch:t})=>{Ie("socketio").debug(e.payload,"Session complete"),t(nF(e.payload))}})},qbe=["dataURL_image"],Kbe=()=>{Pe({actionCreator:NT,effect:async(e,{dispatch:t,getState:n})=>{const r=Ie("socketio"),{data:i}=e.payload;r.debug({data:$a(i)},`Invocation complete (${e.payload.data.node.type})`);const o=e.payload.data.graph_execution_state_id,{cancelType:s,isCancelScheduled:a}=n().system;s==="scheduled"&&a&&t(mc({session_id:o}));const{result:l,node:u,graph_execution_state_id:d}=i;if(BU(l)&&!qbe.includes(u.type)){const{image_name:f}=l.image,{canvas:p,gallery:g}=n(),m=await t(Se.endpoints.getImageDTO.initiate(f)).unwrap();if(d===p.layerState.stagingArea.sessionId&&t(jue(m)),!m.is_intermediate){const{autoAddBoardId:v}=g;t(v&&v!=="none"?Se.endpoints.addImageToBoard.initiate({board_id:v,imageDTO:m}):Se.util.updateQueryData("listImages",{board_id:"none",categories:Vr},b=>{pn.addOne(b,m)})),t(Se.util.invalidateTags([{type:"BoardImagesTotal",id:v},{type:"BoardAssetsTotal",id:v}]));const{selectedBoardId:x,shouldAutoSwitch:_}=g;_&&(v&&v!==x?(t(M3(v)),t(k1("images"))):v||t(k1("images")),t(Rs(m)))}t(h1e(null))}t(J$(e.payload))}})},Xbe=()=>{Pe({actionCreator:eF,effect:(e,{dispatch:t})=>{Ie("socketio").error(e.payload,`Invocation error (${e.payload.data.node.type})`),t(LT(e.payload))}})},Ybe=()=>{Pe({actionCreator:uF,effect:(e,{dispatch:t})=>{Ie("socketio").error(e.payload,`Invocation retrieval error (${e.payload.data.graph_execution_state_id})`),t(cF(e.payload))}})},Qbe=()=>{Pe({actionCreator:Q$,effect:(e,{dispatch:t,getState:n})=>{const r=Ie("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored invocation started for canceled session");return}r.debug(e.payload,`Invocation started (${e.payload.data.node.type})`),t(Z$(e.payload))}})},Zbe=()=>{Pe({actionCreator:oF,effect:(e,{dispatch:t})=>{const n=Ie("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load started: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(Kde(e.payload))}}),Pe({actionCreator:sF,effect:(e,{dispatch:t})=>{const n=Ie("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load complete: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(Xde(e.payload))}})},Jbe=()=>{Pe({actionCreator:aF,effect:(e,{dispatch:t})=>{Ie("socketio").error(e.payload,`Session retrieval error (${e.payload.data.graph_execution_state_id})`),t(lF(e.payload))}})},eSe=()=>{Pe({actionCreator:MT,effect:(e,{dispatch:t})=>{Ie("socketio").debug(e.payload,"Subscribed"),t(K$(e.payload))}})},tSe=()=>{Pe({actionCreator:X$,effect:(e,{dispatch:t})=>{Ie("socketio").debug(e.payload,"Unsubscribed"),t(Y$(e.payload))}})},nSe=()=>{Pe({actionCreator:w_e,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTO:r}=e.payload;try{const i=await t(Se.endpoints.changeImageIsIntermediate.initiate({imageDTO:r,is_intermediate:!1})).unwrap(),{autoAddBoardId:o}=n().gallery;o&&await t(Se.endpoints.addImageToBoard.initiate({imageDTO:i,board_id:o})),t(zn({title:"Image Saved",status:"success"}))}catch(i){t(zn({title:"Image Saving Failed",description:i==null?void 0:i.message,status:"error"}))}}})},eMe=["sd-1","sd-2","sdxl","sdxl-refiner"],rSe=["sd-1","sd-2","sdxl"],tMe=["sdxl-refiner"],iSe=()=>{Pe({actionCreator:r$,effect:(e,{getState:t,dispatch:n})=>{if(e.payload==="unifiedCanvas"){const{data:i}=fa.endpoints.getMainModels.select(rSe)(t());if(!i){n(Hu(null));return}const o=[];Ul(i.entities,d=>{d&&["sd-1","sd-2"].includes(d.base_model)&&o.push(d)});const s=o[0];if(!s){n(Hu(null));return}const{base_model:a,model_name:l,model_type:u}=s;n(Hu({base_model:a,model_name:l,model_type:u}))}}})},gt="positive_conditioning",_t="negative_conditioning",cr="text_to_latents",Rt="latents_to_image",Dd="nsfw_checker",Yh="invisible_watermark",yt="noise",ms="rand_int",ha="range_of_size",vi="iterate",Gr="main_model_loader",gE="onnx_model_loader",Qh="vae_loader",GU="lora_loader",qt="clip_skip",un="image_to_latents",Un="latents_to_latents",ii="resize_image",fs="inpaint",O0="control_net_collect",Nx="dynamic_prompt",Ot="metadata_accumulator",BO="esrgan",Cn="sdxl_model_loader",ra="t2l_sdxl",Do="l2l_sdxl",fd="sdxl_refiner_model_loader",k0="sdxl_refiner_positive_conditioning",I0="sdxl_refiner_negative_conditioning",Su="l2l_sdxl_refiner",mE="text_to_image_graph",oSe="sdxl_text_to_image_graph",sSe="sxdl_image_to_image_graph",Z1="image_to_image_graph",HU="inpaint_graph",aSe=({image_name:e,esrganModelName:t})=>{const n={id:BO,type:"esrgan",image:{image_name:e},model_name:t,is_intermediate:!1};return{id:"adhoc-esrgan-graph",nodes:{[BO]:n},edges:[]}},lSe=Re("upscale/upscaleRequested"),uSe=()=>{Pe({actionCreator:lSe,effect:async(e,{dispatch:t,getState:n,take:r})=>{const{image_name:i}=e.payload,{esrganModelName:o}=n().postprocessing,s=aSe({image_name:i,esrganModelName:o});t(Ir({graph:s})),await r(Ir.fulfilled.match),t(yc())}})},cSe=e=>{const t=window.open("");t&&e.forEach(n=>{const r=new Image;r.src=n.base64,t.document.write(n.caption),t.document.write("
"),t.document.write(r.outerHTML),t.document.write("

")})},UO=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=i=>t(r.result),r.onerror=i=>n(r.error),r.onabort=i=>n(new Error("Read aborted")),r.readAsDataURL(e)});var yE={exports:{}},rS={},WU={},rt={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e._registerNode=e.Konva=e.glob=void 0;var t=Math.PI/180;function n(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}e.glob=typeof He<"u"?He:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},e.Konva={_global:e.glob,version:"9.2.0",isBrowser:n(),isUnminified:/param/.test((function(i){}).toString()),dblClickWindow:400,getAngle(i){return e.Konva.angleDeg?i*t:i},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,pixelRatio:typeof window<"u"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return e.Konva.DD.isDragging},isDragReady(){return!!e.Konva.DD.node},releaseCanvasOnDestroy:!0,document:e.glob.document,_injectGlobal(i){e.glob.Konva=i}};const r=i=>{e.Konva[i.prototype.getClassName()]=i};e._registerNode=r,e.Konva._injectGlobal(e.Konva)})(rt);var Sn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Util=e.Transform=void 0;const t=rt;class n{constructor(S=[1,0,0,1,0,0]){this.dirty=!1,this.m=S&&S.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new n(this.m)}copyInto(S){S.m[0]=this.m[0],S.m[1]=this.m[1],S.m[2]=this.m[2],S.m[3]=this.m[3],S.m[4]=this.m[4],S.m[5]=this.m[5]}point(S){var C=this.m;return{x:C[0]*S.x+C[2]*S.y+C[4],y:C[1]*S.x+C[3]*S.y+C[5]}}translate(S,C){return this.m[4]+=this.m[0]*S+this.m[2]*C,this.m[5]+=this.m[1]*S+this.m[3]*C,this}scale(S,C){return this.m[0]*=S,this.m[1]*=S,this.m[2]*=C,this.m[3]*=C,this}rotate(S){var C=Math.cos(S),T=Math.sin(S),E=this.m[0]*C+this.m[2]*T,P=this.m[1]*C+this.m[3]*T,k=this.m[0]*-T+this.m[2]*C,O=this.m[1]*-T+this.m[3]*C;return this.m[0]=E,this.m[1]=P,this.m[2]=k,this.m[3]=O,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(S,C){var T=this.m[0]+this.m[2]*C,E=this.m[1]+this.m[3]*C,P=this.m[2]+this.m[0]*S,k=this.m[3]+this.m[1]*S;return this.m[0]=T,this.m[1]=E,this.m[2]=P,this.m[3]=k,this}multiply(S){var C=this.m[0]*S.m[0]+this.m[2]*S.m[1],T=this.m[1]*S.m[0]+this.m[3]*S.m[1],E=this.m[0]*S.m[2]+this.m[2]*S.m[3],P=this.m[1]*S.m[2]+this.m[3]*S.m[3],k=this.m[0]*S.m[4]+this.m[2]*S.m[5]+this.m[4],O=this.m[1]*S.m[4]+this.m[3]*S.m[5]+this.m[5];return this.m[0]=C,this.m[1]=T,this.m[2]=E,this.m[3]=P,this.m[4]=k,this.m[5]=O,this}invert(){var S=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),C=this.m[3]*S,T=-this.m[1]*S,E=-this.m[2]*S,P=this.m[0]*S,k=S*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),O=S*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=C,this.m[1]=T,this.m[2]=E,this.m[3]=P,this.m[4]=k,this.m[5]=O,this}getMatrix(){return this.m}decompose(){var S=this.m[0],C=this.m[1],T=this.m[2],E=this.m[3],P=this.m[4],k=this.m[5],O=S*E-C*T;let M={x:P,y:k,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(S!=0||C!=0){var G=Math.sqrt(S*S+C*C);M.rotation=C>0?Math.acos(S/G):-Math.acos(S/G),M.scaleX=G,M.scaleY=O/G,M.skewX=(S*T+C*E)/O,M.skewY=0}else if(T!=0||E!=0){var U=Math.sqrt(T*T+E*E);M.rotation=Math.PI/2-(E>0?Math.acos(-T/U):-Math.acos(T/U)),M.scaleX=O/U,M.scaleY=U,M.skewX=0,M.skewY=(S*T+C*E)/O}return M.rotation=e.Util._getRotation(M.rotation),M}}e.Transform=n;var r="[object Array]",i="[object Number]",o="[object String]",s="[object Boolean]",a=Math.PI/180,l=180/Math.PI,u="#",d="",f="0",p="Konva warning: ",g="Konva error: ",m="rgb(",v={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,132,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,255,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,203],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:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],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,5]},x=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,_=[];const b=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(y){setTimeout(y,60)};e.Util={_isElement(y){return!!(y&&y.nodeType==1)},_isFunction(y){return!!(y&&y.constructor&&y.call&&y.apply)},_isPlainObject(y){return!!y&&y.constructor===Object},_isArray(y){return Object.prototype.toString.call(y)===r},_isNumber(y){return Object.prototype.toString.call(y)===i&&!isNaN(y)&&isFinite(y)},_isString(y){return Object.prototype.toString.call(y)===o},_isBoolean(y){return Object.prototype.toString.call(y)===s},isObject(y){return y instanceof Object},isValidSelector(y){if(typeof y!="string")return!1;var S=y[0];return S==="#"||S==="."||S===S.toUpperCase()},_sign(y){return y===0||y>0?1:-1},requestAnimFrame(y){_.push(y),_.length===1&&b(function(){const S=_;_=[],S.forEach(function(C){C()})})},createCanvasElement(){var y=document.createElement("canvas");try{y.style=y.style||{}}catch{}return y},createImageElement(){return document.createElement("img")},_isInDocument(y){for(;y=y.parentNode;)if(y==document)return!0;return!1},_urlToImage(y,S){var C=e.Util.createImageElement();C.onload=function(){S(C)},C.src=y},_rgbToHex(y,S,C){return((1<<24)+(y<<16)+(S<<8)+C).toString(16).slice(1)},_hexToRgb(y){y=y.replace(u,d);var S=parseInt(y,16);return{r:S>>16&255,g:S>>8&255,b:S&255}},getRandomColor(){for(var y=(Math.random()*16777215<<0).toString(16);y.length<6;)y=f+y;return u+y},getRGB(y){var S;return y in v?(S=v[y],{r:S[0],g:S[1],b:S[2]}):y[0]===u?this._hexToRgb(y.substring(1)):y.substr(0,4)===m?(S=x.exec(y.replace(/ /g,"")),{r:parseInt(S[1],10),g:parseInt(S[2],10),b:parseInt(S[3],10)}):{r:0,g:0,b:0}},colorToRGBA(y){return y=y||"black",e.Util._namedColorToRBA(y)||e.Util._hex3ColorToRGBA(y)||e.Util._hex4ColorToRGBA(y)||e.Util._hex6ColorToRGBA(y)||e.Util._hex8ColorToRGBA(y)||e.Util._rgbColorToRGBA(y)||e.Util._rgbaColorToRGBA(y)||e.Util._hslColorToRGBA(y)},_namedColorToRBA(y){var S=v[y.toLowerCase()];return S?{r:S[0],g:S[1],b:S[2],a:1}:null},_rgbColorToRGBA(y){if(y.indexOf("rgb(")===0){y=y.match(/rgb\(([^)]+)\)/)[1];var S=y.split(/ *, */).map(Number);return{r:S[0],g:S[1],b:S[2],a:1}}},_rgbaColorToRGBA(y){if(y.indexOf("rgba(")===0){y=y.match(/rgba\(([^)]+)\)/)[1];var S=y.split(/ *, */).map((C,T)=>C.slice(-1)==="%"?T===3?parseInt(C)/100:parseInt(C)/100*255:Number(C));return{r:S[0],g:S[1],b:S[2],a:S[3]}}},_hex8ColorToRGBA(y){if(y[0]==="#"&&y.length===9)return{r:parseInt(y.slice(1,3),16),g:parseInt(y.slice(3,5),16),b:parseInt(y.slice(5,7),16),a:parseInt(y.slice(7,9),16)/255}},_hex6ColorToRGBA(y){if(y[0]==="#"&&y.length===7)return{r:parseInt(y.slice(1,3),16),g:parseInt(y.slice(3,5),16),b:parseInt(y.slice(5,7),16),a:1}},_hex4ColorToRGBA(y){if(y[0]==="#"&&y.length===5)return{r:parseInt(y[1]+y[1],16),g:parseInt(y[2]+y[2],16),b:parseInt(y[3]+y[3],16),a:parseInt(y[4]+y[4],16)/255}},_hex3ColorToRGBA(y){if(y[0]==="#"&&y.length===4)return{r:parseInt(y[1]+y[1],16),g:parseInt(y[2]+y[2],16),b:parseInt(y[3]+y[3],16),a:1}},_hslColorToRGBA(y){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(y)){const[S,...C]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(y),T=Number(C[0])/360,E=Number(C[1])/100,P=Number(C[2])/100;let k,O,M;if(E===0)return M=P*255,{r:Math.round(M),g:Math.round(M),b:Math.round(M),a:1};P<.5?k=P*(1+E):k=P+E-P*E;const G=2*P-k,U=[0,0,0];for(let A=0;A<3;A++)O=T+1/3*-(A-1),O<0&&O++,O>1&&O--,6*O<1?M=G+(k-G)*6*O:2*O<1?M=k:3*O<2?M=G+(k-G)*(2/3-O)*6:M=G,U[A]=M*255;return{r:Math.round(U[0]),g:Math.round(U[1]),b:Math.round(U[2]),a:1}}},haveIntersection(y,S){return!(S.x>y.x+y.width||S.x+S.widthy.y+y.height||S.y+S.height1?(k=C,O=T,M=(C-E)*(C-E)+(T-P)*(T-P)):(k=y+U*(C-y),O=S+U*(T-S),M=(k-E)*(k-E)+(O-P)*(O-P))}return[k,O,M]},_getProjectionToLine(y,S,C){var T=e.Util.cloneObject(y),E=Number.MAX_VALUE;return S.forEach(function(P,k){if(!(!C&&k===S.length-1)){var O=S[(k+1)%S.length],M=e.Util._getProjectionToSegment(P.x,P.y,O.x,O.y,y.x,y.y),G=M[0],U=M[1],A=M[2];AS.length){var k=S;S=y,y=k}for(T=0;T{S.width=0,S.height=0})},drawRoundedRectPath(y,S,C,T){let E=0,P=0,k=0,O=0;typeof T=="number"?E=P=k=O=Math.min(T,S/2,C/2):(E=Math.min(T[0]||0,S/2,C/2),P=Math.min(T[1]||0,S/2,C/2),O=Math.min(T[2]||0,S/2,C/2),k=Math.min(T[3]||0,S/2,C/2)),y.moveTo(E,0),y.lineTo(S-P,0),y.arc(S-P,P,P,Math.PI*3/2,0,!1),y.lineTo(S,C-O),y.arc(S-O,C-O,O,0,Math.PI/2,!1),y.lineTo(k,C),y.arc(k,C-k,k,Math.PI/2,Math.PI,!1),y.lineTo(0,E),y.arc(E,E,E,Math.PI,Math.PI*3/2,!1)}}})(Sn);var fn={},nt={},ke={};Object.defineProperty(ke,"__esModule",{value:!0});ke.getComponentValidator=ke.getBooleanValidator=ke.getNumberArrayValidator=ke.getFunctionValidator=ke.getStringOrGradientValidator=ke.getStringValidator=ke.getNumberOrAutoValidator=ke.getNumberOrArrayOfNumbersValidator=ke.getNumberValidator=ke.alphaComponent=ke.RGBComponent=void 0;const Fa=rt,En=Sn;function Ba(e){return En.Util._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||En.Util._isBoolean(e)?e:Object.prototype.toString.call(e)}function dSe(e){return e>255?255:e<0?0:Math.round(e)}ke.RGBComponent=dSe;function fSe(e){return e>1?1:e<1e-4?1e-4:e}ke.alphaComponent=fSe;function hSe(){if(Fa.Konva.isUnminified)return function(e,t){return En.Util._isNumber(e)||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}ke.getNumberValidator=hSe;function pSe(e){if(Fa.Konva.isUnminified)return function(t,n){let r=En.Util._isNumber(t),i=En.Util._isArray(t)&&t.length==e;return!r&&!i&&En.Util.warn(Ba(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}ke.getNumberOrArrayOfNumbersValidator=pSe;function gSe(){if(Fa.Konva.isUnminified)return function(e,t){var n=En.Util._isNumber(e),r=e==="auto";return n||r||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}ke.getNumberOrAutoValidator=gSe;function mSe(){if(Fa.Konva.isUnminified)return function(e,t){return En.Util._isString(e)||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}ke.getStringValidator=mSe;function ySe(){if(Fa.Konva.isUnminified)return function(e,t){const n=En.Util._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}ke.getStringOrGradientValidator=ySe;function vSe(){if(Fa.Konva.isUnminified)return function(e,t){return En.Util._isFunction(e)||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a function.'),e}}ke.getFunctionValidator=vSe;function _Se(){if(Fa.Konva.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(En.Util._isArray(e)?e.forEach(function(r){En.Util._isNumber(r)||En.Util.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}ke.getNumberArrayValidator=_Se;function bSe(){if(Fa.Konva.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}ke.getBooleanValidator=bSe;function SSe(e){if(Fa.Konva.isUnminified)return function(t,n){return t==null||En.Util.isObject(t)||En.Util.warn(Ba(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}ke.getComponentValidator=SSe;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Factory=void 0;const t=Sn,n=ke;var r="get",i="set";e.Factory={addGetterSetter(o,s,a,l,u){e.Factory.addGetter(o,s,a),e.Factory.addSetter(o,s,l,u),e.Factory.addOverloadedGetterSetter(o,s)},addGetter(o,s,a){var l=r+t.Util._capitalize(s);o.prototype[l]=o.prototype[l]||function(){var u=this.attrs[s];return u===void 0?a:u}},addSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]||e.Factory.overWriteSetter(o,s,a,l)},overWriteSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]=function(d){return a&&d!==void 0&&d!==null&&(d=a.call(this,d,s)),this._setAttr(s,d),l&&l.call(this),this}},addComponentsGetterSetter(o,s,a,l,u){var d=a.length,f=t.Util._capitalize,p=r+f(s),g=i+f(s),m,v;o.prototype[p]=function(){var _={};for(m=0;m{this._setAttr(s+f(S),void 0)}),this._fireChangeEvent(s,b,_),u&&u.call(this),this},e.Factory.addOverloadedGetterSetter(o,s)},addOverloadedGetterSetter(o,s){var a=t.Util._capitalize(s),l=i+a,u=r+a;o.prototype[s]=function(){return arguments.length?(this[l](arguments[0]),this):this[u]()}},addDeprecatedGetterSetter(o,s,a,l){t.Util.error("Adding deprecated "+s);var u=r+t.Util._capitalize(s),d=s+" property is deprecated and will be removed soon. Look at Konva change log for more information.";o.prototype[u]=function(){t.Util.error(d);var f=this.attrs[s];return f===void 0?a:f},e.Factory.addSetter(o,s,l,function(){t.Util.error(d)}),e.Factory.addOverloadedGetterSetter(o,s)},backCompat(o,s){t.Util.each(s,function(a,l){var u=o.prototype[l],d=r+t.Util._capitalize(a),f=i+t.Util._capitalize(a);function p(){u.apply(this,arguments),t.Util.error('"'+a+'" method is deprecated and will be removed soon. Use ""'+l+'" instead.')}o.prototype[a]=p,o.prototype[d]=p,o.prototype[f]=p})},afterSetFilter(){this._filterUpToDate=!1}}})(nt);var Qo={},ba={};Object.defineProperty(ba,"__esModule",{value:!0});ba.HitContext=ba.SceneContext=ba.Context=void 0;const qU=Sn,wSe=rt;function xSe(e){var t=[],n=e.length,r=qU.Util,i,o;for(i=0;itypeof d=="number"?Math.floor(d):d)),o+=CSe+u.join(zO)+TSe)):(o+=a.property,t||(o+=OSe+a.val)),o+=PSe;return o}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=ISe&&n.shift()}reset(){var t=this.getCanvas().getPixelRatio();this.setTransform(1*t,0,0,1*t,0,0)}getCanvas(){return this.canvas}clear(t){var n=this.getCanvas();t?this.clearRect(t.x||0,t.y||0,t.width||0,t.height||0):this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(t){const n=t.attrs.lineCap;n&&this.setAttr("lineCap",n)}_applyOpacity(t){var n=t.getAbsoluteOpacity();n!==1&&this.setAttr("globalAlpha",n)}_applyLineJoin(t){const n=t.attrs.lineJoin;n&&this.setAttr("lineJoin",n)}setAttr(t,n){this._context[t]=n}arc(t,n,r,i,o,s){this._context.arc(t,n,r,i,o,s)}arcTo(t,n,r,i,o){this._context.arcTo(t,n,r,i,o)}beginPath(){this._context.beginPath()}bezierCurveTo(t,n,r,i,o,s){this._context.bezierCurveTo(t,n,r,i,o,s)}clearRect(t,n,r,i){this._context.clearRect(t,n,r,i)}clip(...t){this._context.clip.apply(this._context,t)}closePath(){this._context.closePath()}createImageData(t,n){var r=arguments;if(r.length===2)return this._context.createImageData(t,n);if(r.length===1)return this._context.createImageData(t)}createLinearGradient(t,n,r,i){return this._context.createLinearGradient(t,n,r,i)}createPattern(t,n){return this._context.createPattern(t,n)}createRadialGradient(t,n,r,i,o,s){return this._context.createRadialGradient(t,n,r,i,o,s)}drawImage(t,n,r,i,o,s,a,l,u){var d=arguments,f=this._context;d.length===3?f.drawImage(t,n,r):d.length===5?f.drawImage(t,n,r,i,o):d.length===9&&f.drawImage(t,n,r,i,o,s,a,l,u)}ellipse(t,n,r,i,o,s,a,l){this._context.ellipse(t,n,r,i,o,s,a,l)}isPointInPath(t,n,r,i){return r?this._context.isPointInPath(r,t,n,i):this._context.isPointInPath(t,n,i)}fill(...t){this._context.fill.apply(this._context,t)}fillRect(t,n,r,i){this._context.fillRect(t,n,r,i)}strokeRect(t,n,r,i){this._context.strokeRect(t,n,r,i)}fillText(t,n,r,i){i?this._context.fillText(t,n,r,i):this._context.fillText(t,n,r)}measureText(t){return this._context.measureText(t)}getImageData(t,n,r,i){return this._context.getImageData(t,n,r,i)}lineTo(t,n){this._context.lineTo(t,n)}moveTo(t,n){this._context.moveTo(t,n)}rect(t,n,r,i){this._context.rect(t,n,r,i)}putImageData(t,n,r){this._context.putImageData(t,n,r)}quadraticCurveTo(t,n,r,i){this._context.quadraticCurveTo(t,n,r,i)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,n){this._context.scale(t,n)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(t,n,r,i,o,s){this._context.setTransform(t,n,r,i,o,s)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,n,r,i){this._context.strokeText(t,n,r,i)}transform(t,n,r,i,o,s){this._context.transform(t,n,r,i,o,s)}translate(t,n){this._context.translate(t,n)}_enableTrace(){var t=this,n=VO.length,r=this.setAttr,i,o,s=function(a){var l=t[a],u;t[a]=function(){return o=xSe(Array.prototype.slice.call(arguments,0)),u=l.apply(t,arguments),t._trace({method:a,args:o}),u}};for(i=0;i{i.dragStatus==="dragging"&&(r=!0)}),r},justDragged:!1,get node(){var r;return e.DD._dragElements.forEach(i=>{r=i.node}),r},_dragElements:new Map,_drag(r){const i=[];e.DD._dragElements.forEach((o,s)=>{const{node:a}=o,l=a.getStage();l.setPointersPositions(r),o.pointerId===void 0&&(o.pointerId=n.Util._getFirstPointerId(r));const u=l._changedPointerPositions.find(p=>p.id===o.pointerId);if(u){if(o.dragStatus!=="dragging"){var d=a.dragDistance(),f=Math.max(Math.abs(u.x-o.startPointerPos.x),Math.abs(u.y-o.startPointerPos.y));if(f{o.fire("dragmove",{type:"dragmove",target:o,evt:r},!0)})},_endDragBefore(r){const i=[];e.DD._dragElements.forEach(o=>{const{node:s}=o,a=s.getStage();if(r&&a.setPointersPositions(r),!a._changedPointerPositions.find(d=>d.id===o.pointerId))return;(o.dragStatus==="dragging"||o.dragStatus==="stopped")&&(e.DD.justDragged=!0,t.Konva._mouseListenClick=!1,t.Konva._touchListenClick=!1,t.Konva._pointerListenClick=!1,o.dragStatus="stopped");const u=o.node.getLayer()||o.node instanceof t.Konva.Stage&&o.node;u&&i.indexOf(u)===-1&&i.push(u)}),i.forEach(o=>{o.draw()})},_endDragAfter(r){e.DD._dragElements.forEach((i,o)=>{i.dragStatus==="stopped"&&i.node.fire("dragend",{type:"dragend",target:i.node,evt:r},!0),i.dragStatus!=="dragging"&&e.DD._dragElements.delete(o)})}},t.Konva.isBrowser&&(window.addEventListener("mouseup",e.DD._endDragBefore,!0),window.addEventListener("touchend",e.DD._endDragBefore,!0),window.addEventListener("mousemove",e.DD._drag),window.addEventListener("touchmove",e.DD._drag),window.addEventListener("mouseup",e.DD._endDragAfter,!1),window.addEventListener("touchend",e.DD._endDragAfter,!1))})(sS);Object.defineProperty(fn,"__esModule",{value:!0});fn.Node=void 0;const ct=Sn,Am=nt,N0=Qo,wu=rt,uo=sS,Ln=ke;var _v="absoluteOpacity",L0="allEventListeners",la="absoluteTransform",jO="absoluteScale",xu="canvas",USe="Change",zSe="children",VSe="konva",i5="listening",GO="mouseenter",HO="mouseleave",WO="set",qO="Shape",bv=" ",KO="stage",sl="transform",jSe="Stage",o5="visible",GSe=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(bv);let HSe=1;class ze{constructor(t){this._id=HSe++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===sl||t===la)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){var r=this._cache.get(t),i=t===sl||t===la,o=r===void 0||i&&r.dirty===!0;return o&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const i=n.map(o=>o+"Change.konva").join(bv);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(xu)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===la&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(xu)){const{scene:t,filter:n,hit:r}=this._cache.get(xu);ct.Util.releaseCanvas(t,n,r),this._cache.delete(xu)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){var n=t||{},r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()}));var i=Math.ceil(n.width||r.width),o=Math.ceil(n.height||r.height),s=n.pixelRatio,a=n.x===void 0?Math.floor(r.x):n.x,l=n.y===void 0?Math.floor(r.y):n.y,u=n.offset||0,d=n.drawBorder||!1,f=n.hitCanvasPixelRatio||1;if(!i||!o){ct.Util.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}i+=u*2+1,o+=u*2+1,a-=u,l-=u;var p=new N0.SceneCanvas({pixelRatio:s,width:i,height:o}),g=new N0.SceneCanvas({pixelRatio:s,width:0,height:0,willReadFrequently:!0}),m=new N0.HitCanvas({pixelRatio:f,width:i,height:o}),v=p.getContext(),x=m.getContext();return m.isCache=!0,p.isCache=!0,this._cache.delete(xu),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(p.getContext()._context.imageSmoothingEnabled=!1,g.getContext()._context.imageSmoothingEnabled=!1),v.save(),x.save(),v.translate(-a,-l),x.translate(-a,-l),this._isUnderCache=!0,this._clearSelfAndDescendantCache(_v),this._clearSelfAndDescendantCache(jO),this.drawScene(p,this),this.drawHit(m,this),this._isUnderCache=!1,v.restore(),x.restore(),d&&(v.save(),v.beginPath(),v.rect(0,0,i,o),v.closePath(),v.setAttr("strokeStyle","red"),v.setAttr("lineWidth",5),v.stroke(),v.restore()),this._cache.set(xu,{scene:p,filter:g,hit:m,x:a,y:l}),this._requestDraw(),this}isCached(){return this._cache.has(xu)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){var r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}],i,o,s,a,l=this.getAbsoluteTransform(n);return r.forEach(function(u){var d=l.point(u);i===void 0&&(i=s=d.x,o=a=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),s=Math.max(s,d.x),a=Math.max(a,d.y)}),{x:i,y:o,width:s-i,height:a-o}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);var r=this._getCachedSceneCanvas(),i=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/i,r.height/i),t.restore()}_drawCachedHitCanvas(t){var n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){var t=this.filters(),n=this._getCanvasCache(),r=n.scene,i=n.filter,o=i.getContext(),s,a,l,u;if(t){if(!this._filterUpToDate){var d=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(s=t.length,o.clear(),o.drawImage(r._canvas,0,0,r.getWidth()/d,r.getHeight()/d),a=o.getImageData(0,0,i.getWidth(),i.getHeight()),l=0;l{var n,r;if(!t)return this;for(n in t)n!==zSe&&(r=WO+ct.Util._capitalize(n),ct.Util._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(i5,this._isListening)}_isListening(t){if(!this.listening())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isListening(t):!0}isVisible(){return this._getCache(o5,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);var r=this.getLayer(),i=!1;uo.DD._dragElements.forEach(s=>{s.dragStatus==="dragging"&&(s.node.nodeType==="Stage"||s.node.getLayer()===r)&&(i=!0)});var o=!n&&!wu.Konva.hitOnDragEnabled&&i;return this.isListening()&&this.isVisible()&&!o}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){var t=this.getDepth(),n=this,r=0,i,o,s,a;function l(u){for(i=[],o=u.length,s=0;s0&&i[0].getDepth()<=t&&l(i)}return n.nodeType!==jSe&&l(n.getStage().getChildren()),r}getDepth(){for(var t=0,n=this.parent;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(sl),this._clearSelfAndDescendantCache(la)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){if(!this.getStage())return null;var t=this.getStage().getPointerPosition();if(!t)return null;var n=this.getAbsoluteTransform().copy();return n.invert(),n.point(t)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);var i=this.getAbsoluteTransform(t).getMatrix(),o=new ct.Transform,s=this.offset();return o.m=i.slice(),o.translate(s.x,s.y),o.getTranslation()}setAbsolutePosition(t){var n=this._clearTransform();this.attrs.x=n.x,this.attrs.y=n.y,delete n.x,delete n.y,this._clearCache(sl);var r=this._getAbsoluteTransform().copy();return r.invert(),r.translate(t.x,t.y),t={x:this.attrs.x+r.getTranslation().x,y:this.attrs.y+r.getTranslation().y},this._setTransform(n),this.setPosition({x:t.x,y:t.y}),this._clearCache(sl),this._clearSelfAndDescendantCache(la),this}_setTransform(t){var n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){var t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){var n=t.x,r=t.y,i=this.x(),o=this.y();return n!==void 0&&(i+=n),r!==void 0&&(o+=r),this.setPosition({x:i,y:o}),this}_eachAncestorReverse(t,n){var r=[],i=this.getParent(),o,s;if(!(n&&n._id===this._id)){for(r.unshift(this);i&&(!n||i._id!==n._id);)r.unshift(i),i=i.parent;for(o=r.length,s=0;s0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return ct.Util.warn("Node has no parent. moveToBottom function is ignored."),!1;var t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return ct.Util.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&ct.Util.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");var n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(_v,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){var t=this.opacity(),n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){var t={},n=this.getAttrs(),r,i,o,s,a;t.attrs={};for(r in n)i=n[r],a=ct.Util.isObject(i)&&!ct.Util._isPlainObject(i)&&!ct.Util._isArray(i),!a&&(o=typeof this[r]=="function"&&this[r],delete n[r],s=o?o.call(this):null,n[r]=i,s!==i&&(t.attrs[r]=i));return t.className=this.getClassName(),ct.Util._prepareToStringify(t)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){var i=[];n&&this._isMatch(t)&&i.push(this);for(var o=this.parent;o;){if(o===r)return i;o._isMatch(t)&&i.push(o),o=o.parent}return i}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);var n=t.replace(/ /g,"").split(","),r=n.length,i,o;for(i=0;i{try{const i=t==null?void 0:t.callback;i&&delete t.callback,ct.Util._urlToImage(this.toDataURL(t),function(o){n(o),i==null||i(o)})}catch(i){r(i)}})}toBlob(t){return new Promise((n,r)=>{try{const i=t==null?void 0:t.callback;i&&delete t.callback,this.toCanvas(t).toBlob(o=>{n(o),i==null||i(o)})}catch(i){r(i)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():wu.Konva.dragDistance}_off(t,n,r){var i=this.eventListeners[t],o,s,a;for(o=0;o=0;if(r&&!this.isDragging()){var i=!1;uo.DD._dragElements.forEach(o=>{this.isAncestorOf(o.node)&&(i=!0)}),i||this._createDragElement(t)}})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{this._dragCleanup();var t=this.getStage();if(!t)return;const n=uo.DD._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&uo.DD._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return ct.Util.haveIntersection(r,this.getClientRect())}static create(t,n){return ct.Util._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=ze.prototype.getClassName.call(t),i=t.children,o,s,a;n&&(t.attrs.container=n),wu.Konva[r]||(ct.Util.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=wu.Konva[r];if(o=new l(t.attrs),i)for(s=i.length,a=0;a0}removeChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.destroy()}),this.children=[],this._requestDraw(),this}add(...t){if(t.length===0)return this;if(t.length>1){for(var n=0;n0?n[0]:void 0}_generalFind(t,n){var r=[];return this._descendants(i=>{const o=i._isMatch(t);return o&&r.push(i),!!(o&&n)}),r}_descendants(t){let n=!1;const r=this.getChildren();for(const i of r){if(n=t(i),n)return!0;if(i.hasChildren()&&(n=i._descendants(t),n))return!0}return!1}toObject(){var t=Lx.Node.prototype.toObject.call(this);return t.children=[],this.getChildren().forEach(n=>{t.children.push(n.toObject())}),t}isAncestorOf(t){for(var n=t.getParent();n;){if(n._id===this._id)return!0;n=n.getParent()}return!1}clone(t){var n=Lx.Node.prototype.clone.call(this,t);return this.getChildren().forEach(function(r){n.add(r.clone())}),n}getAllIntersections(t){var n=[];return this.find("Shape").forEach(function(r){r.isVisible()&&r.intersects(t)&&n.push(r)}),n}_clearSelfAndDescendantCache(t){var n;super._clearSelfAndDescendantCache(t),!this.isCached()&&((n=this.children)===null||n===void 0||n.forEach(function(r){r._clearSelfAndDescendantCache(t)}))}_setChildrenIndices(){var t;(t=this.children)===null||t===void 0||t.forEach(function(n,r){n.index=r}),this._requestDraw()}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas(),o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.scene,l=i&&i.isCache;if(!this.isVisible()&&!l)return this;if(a){o.save();var u=this.getAbsoluteTransform(n).getMatrix();o.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this._drawCachedSceneCanvas(o),o.restore()}else this._drawChildren("drawScene",i,n);return this}drawHit(t,n){if(!this.shouldDrawHit(n))return this;var r=this.getLayer(),i=t||r&&r.hitCanvas,o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.hit;if(a){o.save();var l=this.getAbsoluteTransform(n).getMatrix();o.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawCachedHitCanvas(o),o.restore()}else this._drawChildren("drawHit",i,n);return this}_drawChildren(t,n,r){var i,o=n&&n.getContext(),s=this.clipWidth(),a=this.clipHeight(),l=this.clipFunc(),u=s&&a||l;const d=r===this;if(u){o.save();var f=this.getAbsoluteTransform(r),p=f.getMatrix();o.transform(p[0],p[1],p[2],p[3],p[4],p[5]),o.beginPath();let x;if(l)x=l.call(this,o,this);else{var g=this.clipX(),m=this.clipY();o.rect(g,m,s,a)}o.clip.apply(o,x),p=f.copy().invert().getMatrix(),o.transform(p[0],p[1],p[2],p[3],p[4],p[5])}var v=!d&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";v&&(o.save(),o._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(x){x[t](n,r)}),v&&o.restore(),u&&o.restore()}getClientRect(t){var n;t=t||{};var r=t.skipTransform,i=t.relativeTo,o,s,a,l,u={x:1/0,y:1/0,width:0,height:0},d=this;(n=this.children)===null||n===void 0||n.forEach(function(v){if(v.visible()){var x=v.getClientRect({relativeTo:d,skipShadow:t.skipShadow,skipStroke:t.skipStroke});x.width===0&&x.height===0||(o===void 0?(o=x.x,s=x.y,a=x.x+x.width,l=x.y+x.height):(o=Math.min(o,x.x),s=Math.min(s,x.y),a=Math.max(a,x.x+x.width),l=Math.max(l,x.y+x.height)))}});for(var f=this.find("Shape"),p=!1,g=0;gle.indexOf("pointer")>=0?"pointer":le.indexOf("touch")>=0?"touch":"mouse",Z=le=>{const W=q(le);if(W==="pointer")return i.Konva.pointerEventsEnabled&&j.pointer;if(W==="touch")return j.touch;if(W==="mouse")return j.mouse};function ee(le={}){return(le.clipFunc||le.clipWidth||le.clipHeight)&&t.Util.warn("Stage does not support clipping. Please use clip for Layers or Groups."),le}const ie="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);";e.stages=[];class se extends r.Container{constructor(W){super(ee(W)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),e.stages.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{ee(this.attrs)}),this._checkVisibility()}_validateAdd(W){const ne=W.getType()==="Layer",fe=W.getType()==="FastLayer";ne||fe||t.Util.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const W=this.visible()?"":"none";this.content.style.display=W}setContainer(W){if(typeof W===d){if(W.charAt(0)==="."){var ne=W.slice(1);W=document.getElementsByClassName(ne)[0]}else{var fe;W.charAt(0)!=="#"?fe=W:fe=W.slice(1),W=document.getElementById(fe)}if(!W)throw"Can not find container in document with id "+fe}return this._setAttr("container",W),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),W.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var W=this.children,ne=W.length,fe;for(fe=0;fe-1&&e.stages.splice(ne,1),t.Util.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const W=this._pointerPositions[0]||this._changedPointerPositions[0];return W?{x:W.x,y:W.y}:(t.Util.warn(ie),null)}_getPointerById(W){return this._pointerPositions.find(ne=>ne.id===W)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(W){W=W||{},W.x=W.x||0,W.y=W.y||0,W.width=W.width||this.width(),W.height=W.height||this.height();var ne=new o.SceneCanvas({width:W.width,height:W.height,pixelRatio:W.pixelRatio||1}),fe=ne.getContext()._context,pe=this.children;return(W.x||W.y)&&fe.translate(-1*W.x,-1*W.y),pe.forEach(function(ve){if(ve.isVisible()){var ye=ve._toKonvaCanvas(W);fe.drawImage(ye._canvas,W.x,W.y,ye.getWidth()/ye.getPixelRatio(),ye.getHeight()/ye.getPixelRatio())}}),ne}getIntersection(W){if(!W)return null;var ne=this.children,fe=ne.length,pe=fe-1,ve;for(ve=pe;ve>=0;ve--){const ye=ne[ve].getIntersection(W);if(ye)return ye}return null}_resizeDOM(){var W=this.width(),ne=this.height();this.content&&(this.content.style.width=W+f,this.content.style.height=ne+f),this.bufferCanvas.setSize(W,ne),this.bufferHitCanvas.setSize(W,ne),this.children.forEach(fe=>{fe.setSize({width:W,height:ne}),fe.draw()})}add(W,...ne){if(arguments.length>1){for(var fe=0;feD&&t.Util.warn("The stage has "+pe+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),W.setSize({width:this.width(),height:this.height()}),W.draw(),i.Konva.isBrowser&&this.content.appendChild(W.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(W){return l.hasPointerCapture(W,this)}setPointerCapture(W){l.setPointerCapture(W,this)}releaseCapture(W){l.releaseCapture(W,this)}getLayers(){return this.children}_bindContentEvents(){i.Konva.isBrowser&&V.forEach(([W,ne])=>{this.content.addEventListener(W,fe=>{this[ne](fe)},{passive:!1})})}_pointerenter(W){this.setPointersPositions(W);const ne=Z(W.type);this._fire(ne.pointerenter,{evt:W,target:this,currentTarget:this})}_pointerover(W){this.setPointersPositions(W);const ne=Z(W.type);this._fire(ne.pointerover,{evt:W,target:this,currentTarget:this})}_getTargetShape(W){let ne=this[W+"targetShape"];return ne&&!ne.getStage()&&(ne=null),ne}_pointerleave(W){const ne=Z(W.type),fe=q(W.type);if(ne){this.setPointersPositions(W);var pe=this._getTargetShape(fe),ve=!s.DD.isDragging||i.Konva.hitOnDragEnabled;pe&&ve?(pe._fireAndBubble(ne.pointerout,{evt:W}),pe._fireAndBubble(ne.pointerleave,{evt:W}),this._fire(ne.pointerleave,{evt:W,target:this,currentTarget:this}),this[fe+"targetShape"]=null):ve&&(this._fire(ne.pointerleave,{evt:W,target:this,currentTarget:this}),this._fire(ne.pointerout,{evt:W,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(W){const ne=Z(W.type),fe=q(W.type);if(ne){this.setPointersPositions(W);var pe=!1;this._changedPointerPositions.forEach(ve=>{var ye=this.getIntersection(ve);if(s.DD.justDragged=!1,i.Konva["_"+fe+"ListenClick"]=!0,!(ye&&ye.isListening()))return;i.Konva.capturePointerEventsEnabled&&ye.setPointerCapture(ve.id),this[fe+"ClickStartShape"]=ye,ye._fireAndBubble(ne.pointerdown,{evt:W,pointerId:ve.id}),pe=!0;const Me=W.type.indexOf("touch")>=0;ye.preventDefault()&&W.cancelable&&Me&&W.preventDefault()}),pe||this._fire(ne.pointerdown,{evt:W,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(W){const ne=Z(W.type),fe=q(W.type);if(!ne)return;s.DD.isDragging&&s.DD.node.preventDefault()&&W.cancelable&&W.preventDefault(),this.setPointersPositions(W);var pe=!s.DD.isDragging||i.Konva.hitOnDragEnabled;if(!pe)return;var ve={};let ye=!1;var We=this._getTargetShape(fe);this._changedPointerPositions.forEach(Me=>{const Ee=l.getCapturedShape(Me.id)||this.getIntersection(Me),lt=Me.id,_e={evt:W,pointerId:lt};var jt=We!==Ee;if(jt&&We&&(We._fireAndBubble(ne.pointerout,Object.assign({},_e),Ee),We._fireAndBubble(ne.pointerleave,Object.assign({},_e),Ee)),Ee){if(ve[Ee._id])return;ve[Ee._id]=!0}Ee&&Ee.isListening()?(ye=!0,jt&&(Ee._fireAndBubble(ne.pointerover,Object.assign({},_e),We),Ee._fireAndBubble(ne.pointerenter,Object.assign({},_e),We),this[fe+"targetShape"]=Ee),Ee._fireAndBubble(ne.pointermove,Object.assign({},_e))):We&&(this._fire(ne.pointerover,{evt:W,target:this,currentTarget:this,pointerId:lt}),this[fe+"targetShape"]=null)}),ye||this._fire(ne.pointermove,{evt:W,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(W){const ne=Z(W.type),fe=q(W.type);if(!ne)return;this.setPointersPositions(W);const pe=this[fe+"ClickStartShape"],ve=this[fe+"ClickEndShape"];var ye={};let We=!1;this._changedPointerPositions.forEach(Me=>{const Ee=l.getCapturedShape(Me.id)||this.getIntersection(Me);if(Ee){if(Ee.releaseCapture(Me.id),ye[Ee._id])return;ye[Ee._id]=!0}const lt=Me.id,_e={evt:W,pointerId:lt};let jt=!1;i.Konva["_"+fe+"InDblClickWindow"]?(jt=!0,clearTimeout(this[fe+"DblTimeout"])):s.DD.justDragged||(i.Konva["_"+fe+"InDblClickWindow"]=!0,clearTimeout(this[fe+"DblTimeout"])),this[fe+"DblTimeout"]=setTimeout(function(){i.Konva["_"+fe+"InDblClickWindow"]=!1},i.Konva.dblClickWindow),Ee&&Ee.isListening()?(We=!0,this[fe+"ClickEndShape"]=Ee,Ee._fireAndBubble(ne.pointerup,Object.assign({},_e)),i.Konva["_"+fe+"ListenClick"]&&pe&&pe===Ee&&(Ee._fireAndBubble(ne.pointerclick,Object.assign({},_e)),jt&&ve&&ve===Ee&&Ee._fireAndBubble(ne.pointerdblclick,Object.assign({},_e)))):(this[fe+"ClickEndShape"]=null,i.Konva["_"+fe+"ListenClick"]&&this._fire(ne.pointerclick,{evt:W,target:this,currentTarget:this,pointerId:lt}),jt&&this._fire(ne.pointerdblclick,{evt:W,target:this,currentTarget:this,pointerId:lt}))}),We||this._fire(ne.pointerup,{evt:W,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),i.Konva["_"+fe+"ListenClick"]=!1,W.cancelable&&fe!=="touch"&&W.preventDefault()}_contextmenu(W){this.setPointersPositions(W);var ne=this.getIntersection(this.getPointerPosition());ne&&ne.isListening()?ne._fireAndBubble(G,{evt:W}):this._fire(G,{evt:W,target:this,currentTarget:this})}_wheel(W){this.setPointersPositions(W);var ne=this.getIntersection(this.getPointerPosition());ne&&ne.isListening()?ne._fireAndBubble(B,{evt:W}):this._fire(B,{evt:W,target:this,currentTarget:this})}_pointercancel(W){this.setPointersPositions(W);const ne=l.getCapturedShape(W.pointerId)||this.getIntersection(this.getPointerPosition());ne&&ne._fireAndBubble(C,l.createEvent(W)),l.releaseCapture(W.pointerId)}_lostpointercapture(W){l.releaseCapture(W.pointerId)}setPointersPositions(W){var ne=this._getContentPosition(),fe=null,pe=null;W=W||window.event,W.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(W.touches,ve=>{this._pointerPositions.push({id:ve.identifier,x:(ve.clientX-ne.left)/ne.scaleX,y:(ve.clientY-ne.top)/ne.scaleY})}),Array.prototype.forEach.call(W.changedTouches||W.touches,ve=>{this._changedPointerPositions.push({id:ve.identifier,x:(ve.clientX-ne.left)/ne.scaleX,y:(ve.clientY-ne.top)/ne.scaleY})})):(fe=(W.clientX-ne.left)/ne.scaleX,pe=(W.clientY-ne.top)/ne.scaleY,this.pointerPos={x:fe,y:pe},this._pointerPositions=[{x:fe,y:pe,id:t.Util._getFirstPointerId(W)}],this._changedPointerPositions=[{x:fe,y:pe,id:t.Util._getFirstPointerId(W)}])}_setPointerPosition(W){t.Util.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(W)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var W=this.content.getBoundingClientRect();return{top:W.top,left:W.left,scaleX:W.width/this.content.clientWidth||1,scaleY:W.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new o.SceneCanvas({width:this.width(),height:this.height()}),this.bufferHitCanvas=new o.HitCanvas({pixelRatio:1,width:this.width(),height:this.height()}),!!i.Konva.isBrowser){var W=this.container();if(!W)throw"Stage has no container. A container is required.";W.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),W.appendChild(this.content),this._resizeDOM()}}cache(){return t.Util.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(W){W.batchDraw()}),this}}e.Stage=se,se.prototype.nodeType=u,(0,a._registerNode)(se),n.Factory.addGetterSetter(se,"container")})(YU);var Pm={},rr={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.shapes=void 0;const t=rt,n=Sn,r=nt,i=fn,o=ke,s=rt,a=Vi;var l="hasShadow",u="shadowRGBA",d="patternImage",f="linearGradient",p="radialGradient";let g;function m(){return g||(g=n.Util.createCanvasElement().getContext("2d"),g)}e.shapes={};function v(k){const O=this.attrs.fillRule;O?k.fill(O):k.fill()}function x(k){k.stroke()}function _(k){k.fill()}function b(k){k.stroke()}function y(){this._clearCache(l)}function S(){this._clearCache(u)}function C(){this._clearCache(d)}function T(){this._clearCache(f)}function E(){this._clearCache(p)}class P extends i.Node{constructor(O){super(O);let M;for(;M=n.Util.getRandomColor(),!(M&&!(M in e.shapes)););this.colorKey=M,e.shapes[M]=this}getContext(){return n.Util.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return n.Util.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(l,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(d,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var O=m();const M=O.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(M&&M.setTransform){const G=new n.Transform;G.translate(this.fillPatternX(),this.fillPatternY()),G.rotate(t.Konva.getAngle(this.fillPatternRotation())),G.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),G.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const U=G.getMatrix(),A=typeof DOMMatrix>"u"?{a:U[0],b:U[1],c:U[2],d:U[3],e:U[4],f:U[5]}:new DOMMatrix(U);M.setTransform(A)}return M}}_getLinearGradient(){return this._getCache(f,this.__getLinearGradient)}__getLinearGradient(){var O=this.fillLinearGradientColorStops();if(O){for(var M=m(),G=this.fillLinearGradientStartPoint(),U=this.fillLinearGradientEndPoint(),A=M.createLinearGradient(G.x,G.y,U.x,U.y),N=0;Nthis.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const O=this.hitStrokeWidth();return O==="auto"?this.hasStroke():this.strokeEnabled()&&!!O}intersects(O){var M=this.getStage(),G=M.bufferHitCanvas,U;return G.getContext().clear(),this.drawHit(G,null,!0),U=G.context.getImageData(Math.round(O.x),Math.round(O.y),1,1).data,U[3]>0}destroy(){return i.Node.prototype.destroy.call(this),delete e.shapes[this.colorKey],delete this.colorKey,this}_useBufferCanvas(O){var M;if(!this.getStage()||!((M=this.attrs.perfectDrawEnabled)!==null&&M!==void 0?M:!0))return!1;const U=O||this.hasFill(),A=this.hasStroke(),N=this.getAbsoluteOpacity()!==1;if(U&&A&&N)return!0;const F=this.hasShadow(),B=this.shadowForStrokeEnabled();return!!(U&&A&&F&&B)}setStrokeHitEnabled(O){n.Util.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),O?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var O=this.size();return{x:this._centroid?-O.width/2:0,y:this._centroid?-O.height/2:0,width:O.width,height:O.height}}getClientRect(O={}){const M=O.skipTransform,G=O.relativeTo,U=this.getSelfRect(),N=!O.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,F=U.width+N,B=U.height+N,D=!O.skipShadow&&this.hasShadow(),V=D?this.shadowOffsetX():0,j=D?this.shadowOffsetY():0,q=F+Math.abs(V),Z=B+Math.abs(j),ee=D&&this.shadowBlur()||0,ie=q+ee*2,se=Z+ee*2,le={width:ie,height:se,x:-(N/2+ee)+Math.min(V,0)+U.x,y:-(N/2+ee)+Math.min(j,0)+U.y};return M?le:this._transformedRect(le,G)}drawScene(O,M){var G=this.getLayer(),U=O||G.getCanvas(),A=U.getContext(),N=this._getCanvasCache(),F=this.getSceneFunc(),B=this.hasShadow(),D,V,j,q=U.isCache,Z=M===this;if(!this.isVisible()&&!Z)return this;if(N){A.save();var ee=this.getAbsoluteTransform(M).getMatrix();return A.transform(ee[0],ee[1],ee[2],ee[3],ee[4],ee[5]),this._drawCachedSceneCanvas(A),A.restore(),this}if(!F)return this;if(A.save(),this._useBufferCanvas()&&!q){D=this.getStage(),V=D.bufferCanvas,j=V.getContext(),j.clear(),j.save(),j._applyLineJoin(this);var ie=this.getAbsoluteTransform(M).getMatrix();j.transform(ie[0],ie[1],ie[2],ie[3],ie[4],ie[5]),F.call(this,j,this),j.restore();var se=V.pixelRatio;B&&A._applyShadow(this),A._applyOpacity(this),A._applyGlobalCompositeOperation(this),A.drawImage(V._canvas,0,0,V.width/se,V.height/se)}else{if(A._applyLineJoin(this),!Z){var ie=this.getAbsoluteTransform(M).getMatrix();A.transform(ie[0],ie[1],ie[2],ie[3],ie[4],ie[5]),A._applyOpacity(this),A._applyGlobalCompositeOperation(this)}B&&A._applyShadow(this),F.call(this,A,this)}return A.restore(),this}drawHit(O,M,G=!1){if(!this.shouldDrawHit(M,G))return this;var U=this.getLayer(),A=O||U.hitCanvas,N=A&&A.getContext(),F=this.hitFunc()||this.sceneFunc(),B=this._getCanvasCache(),D=B&&B.hit;if(this.colorKey||n.Util.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),D){N.save();var V=this.getAbsoluteTransform(M).getMatrix();return N.transform(V[0],V[1],V[2],V[3],V[4],V[5]),this._drawCachedHitCanvas(N),N.restore(),this}if(!F)return this;if(N.save(),N._applyLineJoin(this),!(this===M)){var q=this.getAbsoluteTransform(M).getMatrix();N.transform(q[0],q[1],q[2],q[3],q[4],q[5])}return F.call(this,N,this),N.restore(),this}drawHitFromCache(O=0){var M=this._getCanvasCache(),G=this._getCachedSceneCanvas(),U=M.hit,A=U.getContext(),N=U.getWidth(),F=U.getHeight(),B,D,V,j,q,Z;A.clear(),A.drawImage(G._canvas,0,0,N,F);try{for(B=A.getImageData(0,0,N,F),D=B.data,V=D.length,j=n.Util._hexToRgb(this.colorKey),q=0;qO?(D[q]=j.r,D[q+1]=j.g,D[q+2]=j.b,D[q+3]=255):D[q+3]=0;A.putImageData(B,0,0)}catch(ee){n.Util.error("Unable to draw hit graph from cached scene canvas. "+ee.message)}return this}hasPointerCapture(O){return a.hasPointerCapture(O,this)}setPointerCapture(O){a.setPointerCapture(O,this)}releaseCapture(O){a.releaseCapture(O,this)}}e.Shape=P,P.prototype._fillFunc=v,P.prototype._strokeFunc=x,P.prototype._fillFuncHit=_,P.prototype._strokeFuncHit=b,P.prototype._centroid=!1,P.prototype.nodeType="Shape",(0,s._registerNode)(P),P.prototype.eventListeners={},P.prototype.on.call(P.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",y),P.prototype.on.call(P.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",S),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",C),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",T),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",E),r.Factory.addGetterSetter(P,"stroke",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(P,"strokeWidth",2,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillAfterStrokeEnabled",!1),r.Factory.addGetterSetter(P,"hitStrokeWidth","auto",(0,o.getNumberOrAutoValidator)()),r.Factory.addGetterSetter(P,"strokeHitEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"perfectDrawEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"shadowForStrokeEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"lineJoin"),r.Factory.addGetterSetter(P,"lineCap"),r.Factory.addGetterSetter(P,"sceneFunc"),r.Factory.addGetterSetter(P,"hitFunc"),r.Factory.addGetterSetter(P,"dash"),r.Factory.addGetterSetter(P,"dashOffset",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowColor",void 0,(0,o.getStringValidator)()),r.Factory.addGetterSetter(P,"shadowBlur",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowOpacity",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"shadowOffset",["x","y"]),r.Factory.addGetterSetter(P,"shadowOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternImage"),r.Factory.addGetterSetter(P,"fill",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(P,"fillPatternX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillLinearGradientColorStops"),r.Factory.addGetterSetter(P,"strokeLinearGradientColorStops"),r.Factory.addGetterSetter(P,"fillRadialGradientStartRadius",0),r.Factory.addGetterSetter(P,"fillRadialGradientEndRadius",0),r.Factory.addGetterSetter(P,"fillRadialGradientColorStops"),r.Factory.addGetterSetter(P,"fillPatternRepeat","repeat"),r.Factory.addGetterSetter(P,"fillEnabled",!0),r.Factory.addGetterSetter(P,"strokeEnabled",!0),r.Factory.addGetterSetter(P,"shadowEnabled",!0),r.Factory.addGetterSetter(P,"dashEnabled",!0),r.Factory.addGetterSetter(P,"strokeScaleEnabled",!0),r.Factory.addGetterSetter(P,"fillPriority","color"),r.Factory.addComponentsGetterSetter(P,"fillPatternOffset",["x","y"]),r.Factory.addGetterSetter(P,"fillPatternOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"fillPatternScale",["x","y"]),r.Factory.addGetterSetter(P,"fillPatternScaleX",1,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternScaleY",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"fillLinearGradientStartPoint",["x","y"]),r.Factory.addComponentsGetterSetter(P,"strokeLinearGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillLinearGradientStartPointX",0),r.Factory.addGetterSetter(P,"strokeLinearGradientStartPointX",0),r.Factory.addGetterSetter(P,"fillLinearGradientStartPointY",0),r.Factory.addGetterSetter(P,"strokeLinearGradientStartPointY",0),r.Factory.addComponentsGetterSetter(P,"fillLinearGradientEndPoint",["x","y"]),r.Factory.addComponentsGetterSetter(P,"strokeLinearGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillLinearGradientEndPointX",0),r.Factory.addGetterSetter(P,"strokeLinearGradientEndPointX",0),r.Factory.addGetterSetter(P,"fillLinearGradientEndPointY",0),r.Factory.addGetterSetter(P,"strokeLinearGradientEndPointY",0),r.Factory.addComponentsGetterSetter(P,"fillRadialGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillRadialGradientStartPointX",0),r.Factory.addGetterSetter(P,"fillRadialGradientStartPointY",0),r.Factory.addComponentsGetterSetter(P,"fillRadialGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillRadialGradientEndPointX",0),r.Factory.addGetterSetter(P,"fillRadialGradientEndPointY",0),r.Factory.addGetterSetter(P,"fillPatternRotation",0),r.Factory.addGetterSetter(P,"fillRule",void 0,(0,o.getStringValidator)()),r.Factory.backCompat(P,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"})})(rr);Object.defineProperty(Pm,"__esModule",{value:!0});Pm.Layer=void 0;const ia=Sn,Dx=vc,hd=fn,_E=nt,XO=Qo,YSe=ke,QSe=rr,ZSe=rt;var JSe="#",e2e="beforeDraw",t2e="draw",JU=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],n2e=JU.length;class Vf extends Dx.Container{constructor(t){super(t),this.canvas=new XO.SceneCanvas,this.hitCanvas=new XO.HitCanvas({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(t){return this.getContext().clear(t),this.getHitCanvas().getContext().clear(t),this}setZIndex(t){super.setZIndex(t);var n=this.getStage();return n&&n.content&&(n.content.removeChild(this.getNativeCanvasElement()),t{this.draw(),this._waitingForDraw=!1})),this}getIntersection(t){if(!this.isListening()||!this.isVisible())return null;for(var n=1,r=!1;;){for(let i=0;i0)return{antialiased:!0};return{}}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas();return this._fire(e2e,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),Dx.Container.prototype.drawScene.call(this,i,n),this._fire(t2e,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),Dx.Container.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){ia.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return ia.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!(!this.parent||!this.parent.content)){var t=this.parent,n=!!this.hitCanvas._canvas.parentNode;n?t.content.removeChild(this.hitCanvas._canvas):t.content.appendChild(this.hitCanvas._canvas)}}destroy(){return ia.Util.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}Pm.Layer=Vf;Vf.prototype.nodeType="Layer";(0,ZSe._registerNode)(Vf);_E.Factory.addGetterSetter(Vf,"imageSmoothingEnabled",!0);_E.Factory.addGetterSetter(Vf,"clearBeforeDraw",!0);_E.Factory.addGetterSetter(Vf,"hitGraphEnabled",!0,(0,YSe.getBooleanValidator)());var lS={};Object.defineProperty(lS,"__esModule",{value:!0});lS.FastLayer=void 0;const r2e=Sn,i2e=Pm,o2e=rt;class bE extends i2e.Layer{constructor(t){super(t),this.listening(!1),r2e.Util.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}lS.FastLayer=bE;bE.prototype.nodeType="FastLayer";(0,o2e._registerNode)(bE);var jf={};Object.defineProperty(jf,"__esModule",{value:!0});jf.Group=void 0;const s2e=Sn,a2e=vc,l2e=rt;class SE extends a2e.Container{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&s2e.Util.throw("You may only add groups and shapes to groups.")}}jf.Group=SE;SE.prototype.nodeType="Group";(0,l2e._registerNode)(SE);var Gf={};Object.defineProperty(Gf,"__esModule",{value:!0});Gf.Animation=void 0;const $x=rt,YO=Sn;var Fx=function(){return $x.glob.performance&&$x.glob.performance.now?function(){return $x.glob.performance.now()}:function(){return new Date().getTime()}}();class ws{constructor(t,n){this.id=ws.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:Fx(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){var n=[];return t?t.length>0?n=t:n=[t]:n=[],this.layers=n,this}getLayers(){return this.layers}addLayer(t){var n=this.layers,r=n.length,i;for(i=0;ithis.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():m<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=m,this.update())}getTime(){return this._time}setPosition(m){this.prevPos=this._pos,this.propFunc(m),this._pos=m}getPosition(m){return m===void 0&&(m=this._time),this.func(m,this.begin,this._change,this.duration)}play(){this.state=a,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=l,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(m){this.pause(),this._time=m,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){var m=this.getTimer()-this._startTime;this.state===a?this.setTime(m):this.state===l&&this.setTime(this.duration-m)}pause(){this.state=s,this.fire("onPause")}getTimer(){return new Date().getTime()}}class p{constructor(m){var v=this,x=m.node,_=x._id,b,y=m.easing||e.Easings.Linear,S=!!m.yoyo,C;typeof m.duration>"u"?b=.3:m.duration===0?b=.001:b=m.duration,this.node=x,this._id=u++;var T=x.getLayer()||(x instanceof i.Konva.Stage?x.getLayers():null);T||t.Util.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new n.Animation(function(){v.tween.onEnterFrame()},T),this.tween=new f(C,function(E){v._tweenFunc(E)},y,0,1,b*1e3,S),this._addListeners(),p.attrs[_]||(p.attrs[_]={}),p.attrs[_][this._id]||(p.attrs[_][this._id]={}),p.tweens[_]||(p.tweens[_]={});for(C in m)o[C]===void 0&&this._addAttr(C,m[C]);this.reset(),this.onFinish=m.onFinish,this.onReset=m.onReset,this.onUpdate=m.onUpdate}_addAttr(m,v){var x=this.node,_=x._id,b,y,S,C,T,E,P,k;if(S=p.tweens[_][m],S&&delete p.attrs[_][S][m],b=x.getAttr(m),t.Util._isArray(v))if(y=[],T=Math.max(v.length,b.length),m==="points"&&v.length!==b.length&&(v.length>b.length?(P=b,b=t.Util._prepareArrayForTween(b,v,x.closed())):(E=v,v=t.Util._prepareArrayForTween(v,b,x.closed()))),m.indexOf("fill")===0)for(C=0;C{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var m=this.node,v=p.attrs[m._id][this._id];v.points&&v.points.trueEnd&&m.setAttr("points",v.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var m=this.node,v=p.attrs[m._id][this._id];v.points&&v.points.trueStart&&m.points(v.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(m){return this.tween.seek(m*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var m=this.node._id,v=this._id,x=p.tweens[m],_;this.pause();for(_ in x)delete p.tweens[m][_];delete p.attrs[m][v]}}e.Tween=p,p.attrs={},p.tweens={},r.Node.prototype.to=function(g){var m=g.onFinish;g.node=this,g.onFinish=function(){this.destroy(),m&&m()};var v=new p(g);v.play()},e.Easings={BackEaseIn(g,m,v,x){var _=1.70158;return v*(g/=x)*g*((_+1)*g-_)+m},BackEaseOut(g,m,v,x){var _=1.70158;return v*((g=g/x-1)*g*((_+1)*g+_)+1)+m},BackEaseInOut(g,m,v,x){var _=1.70158;return(g/=x/2)<1?v/2*(g*g*(((_*=1.525)+1)*g-_))+m:v/2*((g-=2)*g*(((_*=1.525)+1)*g+_)+2)+m},ElasticEaseIn(g,m,v,x,_,b){var y=0;return g===0?m:(g/=x)===1?m+v:(b||(b=x*.3),!_||_0?t:n),d=s*n,f=a*(a>0?t:n),p=l*(l>0?n:t);return{x:u,y:r?-1*p:f,width:d-u,height:p-f}}}uS.Arc=Ua;Ua.prototype._centroid=!0;Ua.prototype.className="Arc";Ua.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,c2e._registerNode)(Ua);cS.Factory.addGetterSetter(Ua,"innerRadius",0,(0,dS.getNumberValidator)());cS.Factory.addGetterSetter(Ua,"outerRadius",0,(0,dS.getNumberValidator)());cS.Factory.addGetterSetter(Ua,"angle",0,(0,dS.getNumberValidator)());cS.Factory.addGetterSetter(Ua,"clockwise",!1,(0,dS.getBooleanValidator)());var fS={},Rm={};Object.defineProperty(Rm,"__esModule",{value:!0});Rm.Line=void 0;const hS=nt,d2e=rr,tz=ke,f2e=rt;function s5(e,t,n,r,i,o,s){var a=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),l=Math.sqrt(Math.pow(i-n,2)+Math.pow(o-r,2)),u=s*a/(a+l),d=s*l/(a+l),f=n-u*(i-e),p=r-u*(o-t),g=n+d*(i-e),m=r+d*(o-t);return[f,p,g,m]}function ZO(e,t){var n=e.length,r=[],i,o;for(i=2;i4){for(a=this.getTensionPoints(),l=a.length,u=o?0:4,o||t.quadraticCurveTo(a[0],a[1],a[2],a[3]);u{let u,d,f;u=l/2,d=0;for(let g=0;g<20;g++)f=u*e.tValues[20][g]+u,d+=e.cValues[20][g]*r(s,a,f);return u*d};e.getCubicArcLength=t;const n=(s,a,l)=>{l===void 0&&(l=1);const u=s[0]-2*s[1]+s[2],d=a[0]-2*a[1]+a[2],f=2*s[1]-2*s[0],p=2*a[1]-2*a[0],g=4*(u*u+d*d),m=4*(u*f+d*p),v=f*f+p*p;if(g===0)return l*Math.sqrt(Math.pow(s[2]-s[0],2)+Math.pow(a[2]-a[0],2));const x=m/(2*g),_=v/g,b=l+x,y=_-x*x,S=b*b+y>0?Math.sqrt(b*b+y):0,C=x*x+y>0?Math.sqrt(x*x+y):0,T=x+Math.sqrt(x*x+y)!==0?y*Math.log(Math.abs((b+S)/(x+C))):0;return Math.sqrt(g)/2*(b*S-x*C+T)};e.getQuadraticArcLength=n;function r(s,a,l){const u=i(1,l,s),d=i(1,l,a),f=u*u+d*d;return Math.sqrt(f)}const i=(s,a,l)=>{const u=l.length-1;let d,f;if(u===0)return 0;if(s===0){f=0;for(let p=0;p<=u;p++)f+=e.binomialCoefficients[u][p]*Math.pow(1-a,u-p)*Math.pow(a,p)*l[p];return f}else{d=new Array(u);for(let p=0;p{let u=1,d=s/a,f=(s-l(d))/a,p=0;for(;u>.001;){const g=l(d+f),m=Math.abs(s-g)/a;if(m500)break}return d};e.t2length=o})(nz);Object.defineProperty(Hf,"__esModule",{value:!0});Hf.Path=void 0;const h2e=nt,p2e=rr,g2e=rt,pd=nz;class Zn extends p2e.Shape{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=Zn.parsePathData(this.data()),this.pathLength=Zn.getPathLength(this.dataArray)}_sceneFunc(t){var n=this.dataArray;t.beginPath();for(var r=!1,i=0;id?u:d,x=u>d?1:u/d,_=u>d?d/u:1;t.translate(a,l),t.rotate(g),t.scale(x,_),t.arc(0,0,v,f,f+p,1-m),t.scale(1/x,1/_),t.rotate(-g),t.translate(-a,-l);break;case"z":r=!0,t.closePath();break}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){var t=[];this.dataArray.forEach(function(u){if(u.command==="A"){var d=u.points[4],f=u.points[5],p=u.points[4]+f,g=Math.PI/180;if(Math.abs(d-p)p;m-=g){const v=Zn.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],m,0);t.push(v.x,v.y)}else for(let m=d+g;mn[i].pathLength;)t-=n[i].pathLength,++i;if(i===o)return r=n[i-1].points.slice(-2),{x:r[0],y:r[1]};if(t<.01)return r=n[i].points.slice(0,2),{x:r[0],y:r[1]};var s=n[i],a=s.points;switch(s.command){case"L":return Zn.getPointOnLine(t,s.start.x,s.start.y,a[0],a[1]);case"C":return Zn.getPointOnCubicBezier((0,pd.t2length)(t,Zn.getPathLength(n),v=>(0,pd.getCubicArcLength)([s.start.x,a[0],a[2],a[4]],[s.start.y,a[1],a[3],a[5]],v)),s.start.x,s.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return Zn.getPointOnQuadraticBezier((0,pd.t2length)(t,Zn.getPathLength(n),v=>(0,pd.getQuadraticArcLength)([s.start.x,a[0],a[2]],[s.start.y,a[1],a[3]],v)),s.start.x,s.start.y,a[0],a[1],a[2],a[3]);case"A":var l=a[0],u=a[1],d=a[2],f=a[3],p=a[4],g=a[5],m=a[6];return p+=g*t/s.pathLength,Zn.getPointOnEllipticalArc(l,u,d,f,p,m)}return null}static getPointOnLine(t,n,r,i,o,s,a){s===void 0&&(s=n),a===void 0&&(a=r);var l=(o-r)/(i-n+1e-8),u=Math.sqrt(t*t/(1+l*l));i0&&!isNaN(m[0]);){var b=null,y=[],S=l,C=u,T,E,P,k,O,M,G,U,A,N;switch(g){case"l":l+=m.shift(),u+=m.shift(),b="L",y.push(l,u);break;case"L":l=m.shift(),u=m.shift(),y.push(l,u);break;case"m":var F=m.shift(),B=m.shift();if(l+=F,u+=B,b="M",s.length>2&&s[s.length-1].command==="z"){for(var D=s.length-2;D>=0;D--)if(s[D].command==="M"){l=s[D].points[0]+F,u=s[D].points[1]+B;break}}y.push(l,u),g="l";break;case"M":l=m.shift(),u=m.shift(),b="M",y.push(l,u),g="L";break;case"h":l+=m.shift(),b="L",y.push(l,u);break;case"H":l=m.shift(),b="L",y.push(l,u);break;case"v":u+=m.shift(),b="L",y.push(l,u);break;case"V":u=m.shift(),b="L",y.push(l,u);break;case"C":y.push(m.shift(),m.shift(),m.shift(),m.shift()),l=m.shift(),u=m.shift(),y.push(l,u);break;case"c":y.push(l+m.shift(),u+m.shift(),l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="C",y.push(l,u);break;case"S":E=l,P=u,T=s[s.length-1],T.command==="C"&&(E=l+(l-T.points[2]),P=u+(u-T.points[3])),y.push(E,P,m.shift(),m.shift()),l=m.shift(),u=m.shift(),b="C",y.push(l,u);break;case"s":E=l,P=u,T=s[s.length-1],T.command==="C"&&(E=l+(l-T.points[2]),P=u+(u-T.points[3])),y.push(E,P,l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="C",y.push(l,u);break;case"Q":y.push(m.shift(),m.shift()),l=m.shift(),u=m.shift(),y.push(l,u);break;case"q":y.push(l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="Q",y.push(l,u);break;case"T":E=l,P=u,T=s[s.length-1],T.command==="Q"&&(E=l+(l-T.points[0]),P=u+(u-T.points[1])),l=m.shift(),u=m.shift(),b="Q",y.push(E,P,l,u);break;case"t":E=l,P=u,T=s[s.length-1],T.command==="Q"&&(E=l+(l-T.points[0]),P=u+(u-T.points[1])),l+=m.shift(),u+=m.shift(),b="Q",y.push(E,P,l,u);break;case"A":k=m.shift(),O=m.shift(),M=m.shift(),G=m.shift(),U=m.shift(),A=l,N=u,l=m.shift(),u=m.shift(),b="A",y=this.convertEndpointToCenterParameterization(A,N,l,u,G,U,k,O,M);break;case"a":k=m.shift(),O=m.shift(),M=m.shift(),G=m.shift(),U=m.shift(),A=l,N=u,l+=m.shift(),u+=m.shift(),b="A",y=this.convertEndpointToCenterParameterization(A,N,l,u,G,U,k,O,M);break}s.push({command:b||g,points:y,start:{x:S,y:C},pathLength:this.calcLength(S,C,b||g,y)})}(g==="z"||g==="Z")&&s.push({command:"z",points:[],start:void 0,pathLength:0})}return s}static calcLength(t,n,r,i){var o,s,a,l,u=Zn;switch(r){case"L":return u.getLineLength(t,n,i[0],i[1]);case"C":return(0,pd.getCubicArcLength)([t,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return(0,pd.getQuadraticArcLength)([t,i[0],i[2]],[n,i[1],i[3]],1);case"A":o=0;var d=i[4],f=i[5],p=i[4]+f,g=Math.PI/180;if(Math.abs(d-p)p;l-=g)a=u.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=u.getLineLength(s.x,s.y,a.x,a.y),s=a;else for(l=d+g;l1&&(a*=Math.sqrt(g),l*=Math.sqrt(g));var m=Math.sqrt((a*a*(l*l)-a*a*(p*p)-l*l*(f*f))/(a*a*(p*p)+l*l*(f*f)));o===s&&(m*=-1),isNaN(m)&&(m=0);var v=m*a*p/l,x=m*-l*f/a,_=(t+r)/2+Math.cos(d)*v-Math.sin(d)*x,b=(n+i)/2+Math.sin(d)*v+Math.cos(d)*x,y=function(O){return Math.sqrt(O[0]*O[0]+O[1]*O[1])},S=function(O,M){return(O[0]*M[0]+O[1]*M[1])/(y(O)*y(M))},C=function(O,M){return(O[0]*M[1]=1&&(k=0),s===0&&k>0&&(k=k-2*Math.PI),s===1&&k<0&&(k=k+2*Math.PI),[_,b,a,l,T,k,d,s]}}Hf.Path=Zn;Zn.prototype.className="Path";Zn.prototype._attrsAffectingSize=["data"];(0,g2e._registerNode)(Zn);h2e.Factory.addGetterSetter(Zn,"data");Object.defineProperty(fS,"__esModule",{value:!0});fS.Arrow=void 0;const pS=nt,m2e=Rm,rz=ke,y2e=rt,JO=Hf;class bc extends m2e.Line{_sceneFunc(t){super._sceneFunc(t);var n=Math.PI*2,r=this.points(),i=r,o=this.tension()!==0&&r.length>4;o&&(i=this.getTensionPoints());var s=this.pointerLength(),a=r.length,l,u;if(o){const p=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],r[a-2],r[a-1]],g=JO.Path.calcLength(i[i.length-4],i[i.length-3],"C",p),m=JO.Path.getPointOnQuadraticBezier(Math.min(1,1-s/g),p[0],p[1],p[2],p[3],p[4],p[5]);l=r[a-2]-m.x,u=r[a-1]-m.y}else l=r[a-2]-r[a-4],u=r[a-1]-r[a-3];var d=(Math.atan2(u,l)+n)%n,f=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[a-2],r[a-1]),t.rotate(d),t.moveTo(0,0),t.lineTo(-s,f/2),t.lineTo(-s,-f/2),t.closePath(),t.restore(),this.__fillStroke(t)),this.pointerAtBeginning()&&(t.save(),t.beginPath(),t.translate(r[0],r[1]),o?(l=(i[0]+i[2])/2-r[0],u=(i[1]+i[3])/2-r[1]):(l=r[2]-r[0],u=r[3]-r[1]),t.rotate((Math.atan2(-u,-l)+n)%n),t.moveTo(0,0),t.lineTo(-s,f/2),t.lineTo(-s,-f/2),t.closePath(),t.restore(),this.__fillStroke(t))}__fillStroke(t){var n=this.dashEnabled();n&&(this.attrs.dashEnabled=!1,t.setLineDash([])),t.fillStrokeShape(this),n&&(this.attrs.dashEnabled=!0)}getSelfRect(){const t=super.getSelfRect(),n=this.pointerWidth()/2;return{x:t.x-n,y:t.y-n,width:t.width+n*2,height:t.height+n*2}}}fS.Arrow=bc;bc.prototype.className="Arrow";(0,y2e._registerNode)(bc);pS.Factory.addGetterSetter(bc,"pointerLength",10,(0,rz.getNumberValidator)());pS.Factory.addGetterSetter(bc,"pointerWidth",10,(0,rz.getNumberValidator)());pS.Factory.addGetterSetter(bc,"pointerAtBeginning",!1);pS.Factory.addGetterSetter(bc,"pointerAtEnding",!0);var gS={};Object.defineProperty(gS,"__esModule",{value:!0});gS.Circle=void 0;const v2e=nt,_2e=rr,b2e=ke,S2e=rt;let Wf=class extends _2e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius()!==t/2&&this.radius(t/2)}setHeight(t){this.radius()!==t/2&&this.radius(t/2)}};gS.Circle=Wf;Wf.prototype._centroid=!0;Wf.prototype.className="Circle";Wf.prototype._attrsAffectingSize=["radius"];(0,S2e._registerNode)(Wf);v2e.Factory.addGetterSetter(Wf,"radius",0,(0,b2e.getNumberValidator)());var mS={};Object.defineProperty(mS,"__esModule",{value:!0});mS.Ellipse=void 0;const wE=nt,w2e=rr,iz=ke,x2e=rt;class ou extends w2e.Shape{_sceneFunc(t){var n=this.radiusX(),r=this.radiusY();t.beginPath(),t.save(),n!==r&&t.scale(1,r/n),t.arc(0,0,n,0,Math.PI*2,!1),t.restore(),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(t){this.radiusX(t/2)}setHeight(t){this.radiusY(t/2)}}mS.Ellipse=ou;ou.prototype.className="Ellipse";ou.prototype._centroid=!0;ou.prototype._attrsAffectingSize=["radiusX","radiusY"];(0,x2e._registerNode)(ou);wE.Factory.addComponentsGetterSetter(ou,"radius",["x","y"]);wE.Factory.addGetterSetter(ou,"radiusX",0,(0,iz.getNumberValidator)());wE.Factory.addGetterSetter(ou,"radiusY",0,(0,iz.getNumberValidator)());var yS={};Object.defineProperty(yS,"__esModule",{value:!0});yS.Image=void 0;const Bx=Sn,Sc=nt,C2e=rr,T2e=rt,Om=ke;let Us=class oz extends C2e.Shape{constructor(t){super(t),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){return super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),i=this.cornerRadius(),o=this.attrs.image;let s;if(o){const a=this.attrs.cropWidth,l=this.attrs.cropHeight;a&&l?s=[o,this.cropX(),this.cropY(),a,l,0,0,n,r]:s=[o,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?Bx.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),o&&(i&&t.clip(),t.drawImage.apply(t,s))}_hitFunc(t){var n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?Bx.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n;return(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width}getHeight(){var t,n;return(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height}static fromURL(t,n,r=null){var i=Bx.Util.createImageElement();i.onload=function(){var o=new oz({image:i});n(o)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};yS.Image=Us;Us.prototype.className="Image";(0,T2e._registerNode)(Us);Sc.Factory.addGetterSetter(Us,"cornerRadius",0,(0,Om.getNumberOrArrayOfNumbersValidator)(4));Sc.Factory.addGetterSetter(Us,"image");Sc.Factory.addComponentsGetterSetter(Us,"crop",["x","y","width","height"]);Sc.Factory.addGetterSetter(Us,"cropX",0,(0,Om.getNumberValidator)());Sc.Factory.addGetterSetter(Us,"cropY",0,(0,Om.getNumberValidator)());Sc.Factory.addGetterSetter(Us,"cropWidth",0,(0,Om.getNumberValidator)());Sc.Factory.addGetterSetter(Us,"cropHeight",0,(0,Om.getNumberValidator)());var Rf={};Object.defineProperty(Rf,"__esModule",{value:!0});Rf.Tag=Rf.Label=void 0;const vS=nt,E2e=rr,A2e=jf,xE=ke,sz=rt;var az=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],P2e="Change.konva",R2e="none",a5="up",l5="right",u5="down",c5="left",O2e=az.length;class CE extends A2e.Group{constructor(t){super(t),this.on("add.konva",function(n){this._addListeners(n.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(t){var n=this,r,i=function(){n._sync()};for(r=0;r{n=Math.min(n,s.x),r=Math.max(r,s.x),i=Math.min(i,s.y),o=Math.max(o,s.y)}),{x:n,y:i,width:r-n,height:o-i}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}bS.RegularPolygon=xc;xc.prototype.className="RegularPolygon";xc.prototype._centroid=!0;xc.prototype._attrsAffectingSize=["radius"];(0,$2e._registerNode)(xc);lz.Factory.addGetterSetter(xc,"radius",0,(0,uz.getNumberValidator)());lz.Factory.addGetterSetter(xc,"sides",0,(0,uz.getNumberValidator)());var SS={};Object.defineProperty(SS,"__esModule",{value:!0});SS.Ring=void 0;const cz=nt,F2e=rr,dz=ke,B2e=rt;var ek=Math.PI*2;class Cc extends F2e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,ek,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),ek,0,!0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(t){this.outerRadius(t/2)}setHeight(t){this.outerRadius(t/2)}}SS.Ring=Cc;Cc.prototype.className="Ring";Cc.prototype._centroid=!0;Cc.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,B2e._registerNode)(Cc);cz.Factory.addGetterSetter(Cc,"innerRadius",0,(0,dz.getNumberValidator)());cz.Factory.addGetterSetter(Cc,"outerRadius",0,(0,dz.getNumberValidator)());var wS={};Object.defineProperty(wS,"__esModule",{value:!0});wS.Sprite=void 0;const Tc=nt,U2e=rr,z2e=Gf,fz=ke,V2e=rt;class zs extends U2e.Shape{constructor(t){super(t),this._updated=!0,this.anim=new z2e.Animation(()=>{var n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+0],l=o[i+1],u=o[i+2],d=o[i+3],f=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,u,d),t.closePath(),t.fillStrokeShape(this)),f)if(s){var p=s[n],g=r*2;t.drawImage(f,a,l,u,d,p[g+0],p[g+1],u,d)}else t.drawImage(f,a,l,u,d,0,0,u,d)}_hitFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+2],l=o[i+3];if(t.beginPath(),s){var u=s[n],d=r*2;t.rect(u[d+0],u[d+1],a,l)}else t.rect(0,0,a,l);t.closePath(),t.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){var t=this;this.interval=setInterval(function(){t._updateIndex()},1e3/this.frameRate())}start(){if(!this.isRunning()){var t=this.getLayer();this.anim.setLayers(t),this._setInterval(),this.anim.start()}}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){var t=this.frameIndex(),n=this.animation(),r=this.animations(),i=r[n],o=i.length/4;t{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t=`"${t}"`),t}).join(", ")}var $0;function zx(){return $0||($0=d5.Util.createCanvasElement().getContext(X2e),$0)}function swe(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function awe(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function lwe(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class Dn extends H2e.Shape{constructor(t){super(lwe(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n1&&(_+=s)}}}_hitFunc(t){var n=this.getWidth(),r=this.getHeight();t.beginPath(),t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}setText(t){var n=d5.Util._isString(t)?t:t==null?"":t+"";return this._setAttr(Y2e,n),this}getWidth(){var t=this.attrs.width===gd||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===gd||this.attrs.height===void 0;return t?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return d5.Util.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(t){var n=zx(),r=this.fontSize(),i;return n.save(),n.font=this._getContextFont(),i=n.measureText(t),n.restore(),{width:i.width,height:r}}_getContextFont(){return this.fontStyle()+D0+this.fontVariant()+D0+(this.fontSize()+ewe)+owe(this.fontFamily())}_addTextLine(t){this.align()===Zh&&(t=t.trim());var r=this._getTextWidth(t);return this.textArr.push({text:t,width:r,lastInParagraph:!1})}_getTextWidth(t){var n=this.letterSpacing(),r=t.length;return zx().measureText(t).width+(r?n*(r-1):0)}_setTextData(){var t=this.text().split(` +`),n=+this.fontSize(),r=0,i=this.lineHeight()*n,o=this.attrs.width,s=this.attrs.height,a=o!==gd&&o!==void 0,l=s!==gd&&s!==void 0,u=this.padding(),d=o-u*2,f=s-u*2,p=0,g=this.wrap(),m=g!==rk,v=g!==rwe&&m,x=this.ellipsis();this.textArr=[],zx().font=this._getContextFont();for(var _=x?this._getTextWidth(Ux):0,b=0,y=t.length;bd)for(;S.length>0;){for(var T=0,E=S.length,P="",k=0;T>>1,M=S.slice(0,O+1),G=this._getTextWidth(M)+_;G<=d?(T=O+1,P=M,k=G):E=O}if(P){if(v){var U,A=S[P.length],N=A===D0||A===tk;N&&k<=d?U=P.length:U=Math.max(P.lastIndexOf(D0),P.lastIndexOf(tk))+1,U>0&&(T=U,P=P.slice(0,T),k=this._getTextWidth(P))}P=P.trimRight(),this._addTextLine(P),r=Math.max(r,k),p+=i;var F=this._shouldHandleEllipsis(p);if(F){this._tryToAddEllipsisToLastLine();break}if(S=S.slice(T),S=S.trimLeft(),S.length>0&&(C=this._getTextWidth(S),C<=d)){this._addTextLine(S),p+=i,r=Math.max(r,C);break}}else break}else this._addTextLine(S),p+=i,r=Math.max(r,C),this._shouldHandleEllipsis(p)&&bf)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,i=this.attrs.height,o=i!==gd&&i!==void 0,s=this.padding(),a=i-s*2,l=this.wrap(),u=l!==rk;return!u||o&&t+r>a}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==gd&&t!==void 0,r=this.padding(),i=t-r*2,o=this.ellipsis(),s=this.textArr[this.textArr.length-1];if(!(!s||!o)){if(n){var a=this._getTextWidth(s.text+Ux)n?null:Jh.Path.getPointAtLengthOfDataArray(t,this.dataArray)}_readDataAttribute(){this.dataArray=Jh.Path.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(t){t.setAttr("font",this._getContextFont()),t.setAttr("textBaseline",this.textBaseline()),t.setAttr("textAlign","left"),t.save();var n=this.textDecoration(),r=this.fill(),i=this.fontSize(),o=this.glyphInfo;n==="underline"&&t.beginPath();for(var s=0;s=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var i=0;ie+`.${Sz}`).join(" "),sk="nodesRect",mwe=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],ywe={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const vwe="ontouchstart"in $o.Konva._global;function _we(e,t){if(e==="rotater")return"crosshair";t+=zt.Util.degToRad(ywe[e]||0);var n=(zt.Util.radToDeg(t)%360+360)%360;return zt.Util._inRange(n,315+22.5,360)||zt.Util._inRange(n,0,22.5)?"ns-resize":zt.Util._inRange(n,45-22.5,45+22.5)?"nesw-resize":zt.Util._inRange(n,90-22.5,90+22.5)?"ew-resize":zt.Util._inRange(n,135-22.5,135+22.5)?"nwse-resize":zt.Util._inRange(n,180-22.5,180+22.5)?"ns-resize":zt.Util._inRange(n,225-22.5,225+22.5)?"nesw-resize":zt.Util._inRange(n,270-22.5,270+22.5)?"ew-resize":zt.Util._inRange(n,315-22.5,315+22.5)?"nwse-resize":(zt.Util.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var e_=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],ak=1e8;function bwe(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function wz(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),i=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return Object.assign(Object.assign({},e),{rotation:e.rotation+t,x:r,y:i})}function Swe(e,t){const n=bwe(e);return wz(e,t,n)}function wwe(e,t,n){let r=t;for(let i=0;ii.isAncestorOf(this)?(zt.Util.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1):!0);this._nodes=t=n,t.length===1&&this.useSingleNodeRotation()?this.rotation(t[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(i=>{const o=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},s=i._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");i.on(s,o),i.on(mwe.map(a=>a+`.${this._getEventNamespace()}`).join(" "),o),i.on(`absoluteTransformChange.${this._getEventNamespace()}`,o),this._proxyDrag(i)}),this._resetTransformCache();var r=!!this.findOne(".top-left");return r&&this.update(),this}_proxyDrag(t){let n;t.on(`dragstart.${this._getEventNamespace()}`,r=>{n=t.getAbsolutePosition(),!this.isDragging()&&t!==this.findOne(".back")&&this.startDrag(r,!1)}),t.on(`dragmove.${this._getEventNamespace()}`,r=>{if(!n)return;const i=t.getAbsolutePosition(),o=i.x-n.x,s=i.y-n.y;this.nodes().forEach(a=>{if(a===t||a.isDragging())return;const l=a.getAbsolutePosition();a.setAbsolutePosition({x:l.x+o,y:l.y+s}),a.startDrag(r)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(t=>{t.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(sk),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(sk,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var i=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),o=t.getAbsoluteScale(r),s=t.getAbsolutePosition(r),a=i.x*o.x-t.offsetX()*o.x,l=i.y*o.y-t.offsetY()*o.y;const u=($o.Konva.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),d={x:s.x+a*Math.cos(u)+l*Math.sin(-u),y:s.y+l*Math.cos(u)+a*Math.sin(u),width:i.width*o.x,height:i.height*o.y,rotation:u};return wz(d,-$o.Konva.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-ak,y:-ak,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const d=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var f=[{x:d.x,y:d.y},{x:d.x+d.width,y:d.y},{x:d.x+d.width,y:d.y+d.height},{x:d.x,y:d.y+d.height}],p=u.getAbsoluteTransform();f.forEach(function(g){var m=p.point(g);n.push(m)})});const r=new zt.Transform;r.rotate(-$o.Konva.getAngle(this.rotation()));var i,o,s,a;n.forEach(function(u){var d=r.point(u);i===void 0&&(i=s=d.x,o=a=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),s=Math.max(s,d.x),a=Math.max(a,d.y)}),r.invert();const l=r.point({x:i,y:o});return{x:l.x,y:l.y,width:s-i,height:a-o,rotation:$o.Konva.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),e_.forEach((function(t){this._createAnchor(t)}).bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new hwe.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:vwe?10:"auto"}),r=this;n.on("mousedown touchstart",function(i){r._handleMouseDown(i)}),n.on("dragstart",i=>{n.stopDrag(),i.cancelBubble=!0}),n.on("dragend",i=>{i.cancelBubble=!0}),n.on("mouseenter",()=>{var i=$o.Konva.getAngle(this.rotation()),o=_we(t,i);n.getStage().content&&(n.getStage().content.style.cursor=o),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){var t=new fwe.Shape({name:"back",width:0,height:0,draggable:!0,sceneFunc(n){var r=this.getParent(),i=r.padding();n.beginPath(),n.rect(-i,-i,this.width()+i*2,this.height()+i*2),n.moveTo(this.width()/2,-i),r.rotateEnabled()&&n.lineTo(this.width()/2,-r.rotateAnchorOffset()*zt.Util._sign(this.height())-i),n.fillStrokeShape(this)},hitFunc:(n,r)=>{if(this.shouldOverdrawWholeArea()){var i=this.padding();n.beginPath(),n.rect(-i,-i,r.width()+i*2,r.height()+i*2),n.fillStrokeShape(r)}}});this.add(t),this._proxyDrag(t),t.on("dragstart",n=>{n.cancelBubble=!0}),t.on("dragmove",n=>{n.cancelBubble=!0}),t.on("dragend",n=>{n.cancelBubble=!0}),this.on("dragmove",n=>{this.update()})}_handleMouseDown(t){this._movingAnchorName=t.target.name().split(" ")[0];var n=this._getNodeRect(),r=n.width,i=n.height,o=Math.sqrt(Math.pow(r,2)+Math.pow(i,2));this.sin=Math.abs(i/o),this.cos=Math.abs(r/o),typeof window<"u"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;var s=t.target.getAbsolutePosition(),a=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:a.x-s.x,y:a.y-s.y},this._fire("transformstart",{evt:t.evt,target:this.getNode()}),this._nodes.forEach(l=>{l._fire("transformstart",{evt:t.evt,target:l})})}_handleMouseMove(t){var n,r,i,o=this.findOne("."+this._movingAnchorName),s=o.getStage();s.setPointersPositions(t);const a=s.getPointerPosition();let l={x:a.x-this._anchorDragOffset.x,y:a.y-this._anchorDragOffset.y};const u=o.getAbsolutePosition();this.anchorDragBoundFunc()&&(l=this.anchorDragBoundFunc()(u,l,t)),o.setAbsolutePosition(l);const d=o.getAbsolutePosition();if(!(u.x===d.x&&u.y===d.y)){if(this._movingAnchorName==="rotater"){var f=this._getNodeRect();n=o.x()-f.width/2,r=-o.y()+f.height/2;let U=Math.atan2(-r,n)+Math.PI/2;f.height<0&&(U-=Math.PI);var p=$o.Konva.getAngle(this.rotation());const A=p+U,N=$o.Konva.getAngle(this.rotationSnapTolerance()),B=wwe(this.rotationSnaps(),A,N)-f.rotation,D=Swe(f,B);this._fitNodesInto(D,t);return}var g=this.shiftBehavior(),m;g==="inverted"?m=this.keepRatio()&&!t.shiftKey:g==="none"?m=this.keepRatio():m=this.keepRatio()||t.shiftKey;var y=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(m){var v=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};i=Math.sqrt(Math.pow(v.x-o.x(),2)+Math.pow(v.y-o.y(),2));var x=this.findOne(".top-left").x()>v.x?-1:1,_=this.findOne(".top-left").y()>v.y?-1:1;n=i*this.cos*x,r=i*this.sin*_,this.findOne(".top-left").x(v.x-n),this.findOne(".top-left").y(v.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(o.y());else if(this._movingAnchorName==="top-right"){if(m){var v=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};i=Math.sqrt(Math.pow(o.x()-v.x,2)+Math.pow(v.y-o.y(),2));var x=this.findOne(".top-right").x()v.y?-1:1;n=i*this.cos*x,r=i*this.sin*_,this.findOne(".top-right").x(v.x+n),this.findOne(".top-right").y(v.y-r)}var b=o.position();this.findOne(".top-left").y(b.y),this.findOne(".bottom-right").x(b.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(o.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(o.x());else if(this._movingAnchorName==="bottom-left"){if(m){var v=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};i=Math.sqrt(Math.pow(v.x-o.x(),2)+Math.pow(o.y()-v.y,2));var x=v.x{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(zt.Util._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(zt.Util._inRange(t.height,-this.padding()*2-i,i)){this.update();return}const o=this.flipEnabled();var s=new zt.Transform;if(s.rotate($o.Konva.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const f=s.point({x:-this.padding()*2,y:0});if(t.x+=f.x,t.y+=f.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,!o){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const f=s.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.width+=this.padding()*2,!o){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const f=s.point({x:0,y:-this.padding()*2});if(t.x+=f.x,t.y+=f.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.height+=this.padding()*2,!o){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const f=s.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.height+=this.padding()*2,!o){this.update();return}}if(this.boundBoxFunc()){const f=this.boundBoxFunc()(r,t);f?t=f:zt.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const a=1e7,l=new zt.Transform;l.translate(r.x,r.y),l.rotate(r.rotation),l.scale(r.width/a,r.height/a);const u=new zt.Transform;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/a,t.height/a);const d=u.multiply(l.invert());this._nodes.forEach(f=>{var p;const g=f.getParent().getAbsoluteTransform(),m=f.getTransform().copy();m.translate(f.offsetX(),f.offsetY());const v=new zt.Transform;v.multiply(g.copy().invert()).multiply(d).multiply(g).multiply(m);const x=v.decompose();f.setAttrs(x),this._fire("transform",{evt:n,target:f}),f._fire("transform",{evt:n,target:f}),(p=f.getLayer())===null||p===void 0||p.batchDraw()}),this.rotation(zt.Util._getRotation(t.rotation)),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(t,n){this.findOne(t).setAttrs(n)}update(){var t,n=this._getNodeRect();this.rotation(zt.Util._getRotation(n.rotation));var r=n.width,i=n.height,o=this.enabledAnchors(),s=this.resizeEnabled(),a=this.padding(),l=this.anchorSize();const u=this.find("._anchor");u.forEach(f=>{f.setAttrs({width:l,height:l,offsetX:l/2,offsetY:l/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:l/2+a,offsetY:l/2+a,visible:s&&o.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:l/2+a,visible:s&&o.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:l/2-a,offsetY:l/2+a,visible:s&&o.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:l/2+a,visible:s&&o.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:i/2,offsetX:l/2-a,visible:s&&o.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:l/2+a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:i,offsetY:l/2-a,visible:s&&o.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:i,offsetX:l/2-a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*zt.Util._sign(i)-a,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:r,height:i,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0});const d=this.anchorStyleFunc();d&&u.forEach(f=>{d(f)}),(t=this.getLayer())===null||t===void 0||t.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var t=this.findOne("."+this._movingAnchorName);t&&t.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),ok.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return ik.Node.prototype.toObject.call(this)}clone(t){var n=ik.Node.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}TS.Transformer=Ct;function xwe(e){return e instanceof Array||zt.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){e_.indexOf(t)===-1&&zt.Util.warn("Unknown anchor name: "+t+". Available names are: "+e_.join(", "))}),e||[]}Ct.prototype.className="Transformer";(0,pwe._registerNode)(Ct);Ft.Factory.addGetterSetter(Ct,"enabledAnchors",e_,xwe);Ft.Factory.addGetterSetter(Ct,"flipEnabled",!0,(0,lu.getBooleanValidator)());Ft.Factory.addGetterSetter(Ct,"resizeEnabled",!0);Ft.Factory.addGetterSetter(Ct,"anchorSize",10,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"rotateEnabled",!0);Ft.Factory.addGetterSetter(Ct,"rotationSnaps",[]);Ft.Factory.addGetterSetter(Ct,"rotateAnchorOffset",50,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"rotationSnapTolerance",5,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"borderEnabled",!0);Ft.Factory.addGetterSetter(Ct,"anchorStroke","rgb(0, 161, 255)");Ft.Factory.addGetterSetter(Ct,"anchorStrokeWidth",1,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"anchorFill","white");Ft.Factory.addGetterSetter(Ct,"anchorCornerRadius",0,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"borderStroke","rgb(0, 161, 255)");Ft.Factory.addGetterSetter(Ct,"borderStrokeWidth",1,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"borderDash");Ft.Factory.addGetterSetter(Ct,"keepRatio",!0);Ft.Factory.addGetterSetter(Ct,"shiftBehavior","default");Ft.Factory.addGetterSetter(Ct,"centeredScaling",!1);Ft.Factory.addGetterSetter(Ct,"ignoreStroke",!1);Ft.Factory.addGetterSetter(Ct,"padding",0,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"node");Ft.Factory.addGetterSetter(Ct,"nodes");Ft.Factory.addGetterSetter(Ct,"boundBoxFunc");Ft.Factory.addGetterSetter(Ct,"anchorDragBoundFunc");Ft.Factory.addGetterSetter(Ct,"anchorStyleFunc");Ft.Factory.addGetterSetter(Ct,"shouldOverdrawWholeArea",!1);Ft.Factory.addGetterSetter(Ct,"useSingleNodeRotation",!0);Ft.Factory.backCompat(Ct,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var ES={};Object.defineProperty(ES,"__esModule",{value:!0});ES.Wedge=void 0;const AS=nt,Cwe=rr,Twe=rt,xz=ke,Ewe=rt;class za extends Cwe.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,Twe.Konva.getAngle(this.angle()),this.clockwise()),t.lineTo(0,0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}ES.Wedge=za;za.prototype.className="Wedge";za.prototype._centroid=!0;za.prototype._attrsAffectingSize=["radius"];(0,Ewe._registerNode)(za);AS.Factory.addGetterSetter(za,"radius",0,(0,xz.getNumberValidator)());AS.Factory.addGetterSetter(za,"angle",0,(0,xz.getNumberValidator)());AS.Factory.addGetterSetter(za,"clockwise",!1);AS.Factory.backCompat(za,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var PS={};Object.defineProperty(PS,"__esModule",{value:!0});PS.Blur=void 0;const lk=nt,Awe=fn,Pwe=ke;function uk(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var Rwe=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],Owe=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function kwe(e,t){var n=e.data,r=e.width,i=e.height,o,s,a,l,u,d,f,p,g,m,v,x,_,b,y,S,C,T,E,P,k,O,M,G,U=t+t+1,A=r-1,N=i-1,F=t+1,B=F*(F+1)/2,D=new uk,V=null,j=D,q=null,Z=null,ee=Rwe[t],ie=Owe[t];for(a=1;a>ie,M!==0?(M=255/M,n[d]=(p*ee>>ie)*M,n[d+1]=(g*ee>>ie)*M,n[d+2]=(m*ee>>ie)*M):n[d]=n[d+1]=n[d+2]=0,p-=x,g-=_,m-=b,v-=y,x-=q.r,_-=q.g,b-=q.b,y-=q.a,l=f+((l=o+t+1)>ie,M>0?(M=255/M,n[l]=(p*ee>>ie)*M,n[l+1]=(g*ee>>ie)*M,n[l+2]=(m*ee>>ie)*M):n[l]=n[l+1]=n[l+2]=0,p-=x,g-=_,m-=b,v-=y,x-=q.r,_-=q.g,b-=q.b,y-=q.a,l=o+((l=s+F)0&&kwe(t,n)};PS.Blur=Iwe;lk.Factory.addGetterSetter(Awe.Node,"blurRadius",0,(0,Pwe.getNumberValidator)(),lk.Factory.afterSetFilter);var RS={};Object.defineProperty(RS,"__esModule",{value:!0});RS.Brighten=void 0;const ck=nt,Mwe=fn,Nwe=ke,Lwe=function(e){var t=this.brightness()*255,n=e.data,r=n.length,i;for(i=0;i255?255:i,o=o<0?0:o>255?255:o,s=s<0?0:s>255?255:s,n[a]=i,n[a+1]=o,n[a+2]=s};OS.Contrast=Fwe;dk.Factory.addGetterSetter(Dwe.Node,"contrast",0,(0,$we.getNumberValidator)(),dk.Factory.afterSetFilter);var kS={};Object.defineProperty(kS,"__esModule",{value:!0});kS.Emboss=void 0;const ql=nt,IS=fn,Bwe=Sn,Cz=ke,Uwe=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),o=0,s=0,a=e.data,l=e.width,u=e.height,d=l*4,f=u;switch(r){case"top-left":o=-1,s=-1;break;case"top":o=-1,s=0;break;case"top-right":o=-1,s=1;break;case"right":o=0,s=1;break;case"bottom-right":o=1,s=1;break;case"bottom":o=1,s=0;break;case"bottom-left":o=1,s=-1;break;case"left":o=0,s=-1;break;default:Bwe.Util.error("Unknown emboss direction: "+r)}do{var p=(f-1)*d,g=o;f+g<1&&(g=0),f+g>u&&(g=0);var m=(f-1+g)*l*4,v=l;do{var x=p+(v-1)*4,_=s;v+_<1&&(_=0),v+_>l&&(_=0);var b=m+(v-1+_)*4,y=a[x]-a[b],S=a[x+1]-a[b+1],C=a[x+2]-a[b+2],T=y,E=T>0?T:-T,P=S>0?S:-S,k=C>0?C:-C;if(P>E&&(T=S),k>E&&(T=C),T*=t,i){var O=a[x]+T,M=a[x+1]+T,G=a[x+2]+T;a[x]=O>255?255:O<0?0:O,a[x+1]=M>255?255:M<0?0:M,a[x+2]=G>255?255:G<0?0:G}else{var U=n-T;U<0?U=0:U>255&&(U=255),a[x]=a[x+1]=a[x+2]=U}}while(--v)}while(--f)};kS.Emboss=Uwe;ql.Factory.addGetterSetter(IS.Node,"embossStrength",.5,(0,Cz.getNumberValidator)(),ql.Factory.afterSetFilter);ql.Factory.addGetterSetter(IS.Node,"embossWhiteLevel",.5,(0,Cz.getNumberValidator)(),ql.Factory.afterSetFilter);ql.Factory.addGetterSetter(IS.Node,"embossDirection","top-left",null,ql.Factory.afterSetFilter);ql.Factory.addGetterSetter(IS.Node,"embossBlend",!1,null,ql.Factory.afterSetFilter);var MS={};Object.defineProperty(MS,"__esModule",{value:!0});MS.Enhance=void 0;const fk=nt,zwe=fn,Vwe=ke;function Gx(e,t,n,r,i){var o=n-t,s=i-r,a;return o===0?r+s/2:s===0?r:(a=(e-t)/o,a=s*a+r,a)}const jwe=function(e){var t=e.data,n=t.length,r=t[0],i=r,o,s=t[1],a=s,l,u=t[2],d=u,f,p,g=this.enhance();if(g!==0){for(p=0;pi&&(i=o),l=t[p+1],la&&(a=l),f=t[p+2],fd&&(d=f);i===r&&(i=255,r=0),a===s&&(a=255,s=0),d===u&&(d=255,u=0);var m,v,x,_,b,y,S,C,T;for(g>0?(v=i+g*(255-i),x=r-g*(r-0),b=a+g*(255-a),y=s-g*(s-0),C=d+g*(255-d),T=u-g*(u-0)):(m=(i+r)*.5,v=i+g*(i-m),x=r+g*(r-m),_=(a+s)*.5,b=a+g*(a-_),y=s+g*(s-_),S=(d+u)*.5,C=d+g*(d-S),T=u+g*(u-S)),p=0;p_?x:_;var b=s,y=o,S,C,T=360/y*Math.PI/180,E,P;for(C=0;Cy?b:y;var S=s,C=o,T,E,P=n.polarRotation||0,k,O;for(d=0;dt&&(S=y,C=0,T=-1),i=0;i=0&&g=0&&m=0&&g=0&&m=255*4?255:0}return s}function ixe(e,t,n){for(var r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],i=Math.round(Math.sqrt(r.length)),o=Math.floor(i/2),s=[],a=0;a=0&&g=0&&m=n))for(o=v;o=r||(s=(n*o+i)*4,a+=S[s+0],l+=S[s+1],u+=S[s+2],d+=S[s+3],y+=1);for(a=a/y,l=l/y,u=u/y,d=d/y,i=g;i=n))for(o=v;o=r||(s=(n*o+i)*4,S[s+0]=a,S[s+1]=l,S[s+2]=u,S[s+3]=d)}};zS.Pixelate=fxe;mk.Factory.addGetterSetter(cxe.Node,"pixelSize",8,(0,dxe.getNumberValidator)(),mk.Factory.afterSetFilter);var VS={};Object.defineProperty(VS,"__esModule",{value:!0});VS.Posterize=void 0;const yk=nt,hxe=fn,pxe=ke,gxe=function(e){var t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,i=255/t,o;for(o=0;o255?255:e<0?0:Math.round(e)});n_.Factory.addGetterSetter(kE.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});n_.Factory.addGetterSetter(kE.Node,"blue",0,mxe.RGBComponent,n_.Factory.afterSetFilter);var GS={};Object.defineProperty(GS,"__esModule",{value:!0});GS.RGBA=void 0;const Dg=nt,HS=fn,vxe=ke,_xe=function(e){var t=e.data,n=t.length,r=this.red(),i=this.green(),o=this.blue(),s=this.alpha(),a,l;for(a=0;a255?255:e<0?0:Math.round(e)});Dg.Factory.addGetterSetter(HS.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Dg.Factory.addGetterSetter(HS.Node,"blue",0,vxe.RGBComponent,Dg.Factory.afterSetFilter);Dg.Factory.addGetterSetter(HS.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var WS={};Object.defineProperty(WS,"__esModule",{value:!0});WS.Sepia=void 0;const bxe=function(e){var t=e.data,n=t.length,r,i,o,s;for(r=0;r127&&(u=255-u),d>127&&(d=255-d),f>127&&(f=255-f),t[l]=u,t[l+1]=d,t[l+2]=f}while(--a)}while(--o)};qS.Solarize=Sxe;var KS={};Object.defineProperty(KS,"__esModule",{value:!0});KS.Threshold=void 0;const vk=nt,wxe=fn,xxe=ke,Cxe=function(e){var t=this.threshold()*255,n=e.data,r=n.length,i;for(i=0;i{const{width:r,height:i}=t,o=document.createElement("div"),s=new tp.Stage({container:o,width:r,height:i}),a=new tp.Layer,l=new tp.Layer;return a.add(new tp.Rect({...t,fill:n?"black":"white"})),e.forEach(u=>l.add(new tp.Line({points:u.points,stroke:n?"white":"black",strokeWidth:u.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,globalCompositeOperation:u.tool==="brush"?"source-over":"destination-out"}))),s.add(a),s.add(l),o.remove(),s},cCe=async(e,t,n)=>new Promise((r,i)=>{const o=document.createElement("canvas");o.width=t,o.height=n;const s=o.getContext("2d"),a=new Image;if(!s){o.remove(),i("Unable to get context");return}a.onload=function(){s.drawImage(a,0,0),o.remove(),r(s.getImageData(0,0,t,n))},a.src=e}),Sk=async(e,t)=>{const n=e.toDataURL(t);return await cCe(n,t.width,t.height)},dCe=async(e,t,n,r,i)=>{const o=Ie("canvas"),s=nS(),a=x_e();if(!s||!a){o.error("Unable to find canvas / stage");return}const l={...t,...n},u=s.clone();u.scale({x:1,y:1});const d=u.getAbsolutePosition(),f={x:l.x+d.x,y:l.y+d.y,width:l.width,height:l.height},p=await Q1(u,f),g=await Sk(u,f),m=await uCe(r?e.objects.filter(o$):[],l,i),v=await Q1(m,l),x=await Sk(m,l);return{baseBlob:p,baseImageData:g,maskBlob:v,maskImageData:x}},fCe=e=>{let t=!0,n=!1;const r=e.length;let i=3;for(i;i{const t=e.length;let n=0;for(n;n{const{isPartiallyTransparent:n,isFullyTransparent:r}=fCe(e.data),i=hCe(t.data);return n?r?"txt2img":"outpaint":i?"inpaint":"img2img"},gCe=e=>ID(e,n=>n.isEnabled&&(!!n.processedControlImage||n.processorType==="none"&&!!n.controlImage)),XS=(e,t,n)=>{const{isEnabled:r,controlNets:i}=e.controlNet,o=gCe(i),s=t.nodes[Ot];if(r&&o.length&&o.length){const a={id:O0,type:"collect",is_intermediate:!0};t.nodes[O0]=a,t.edges.push({source:{node_id:O0,field:"collection"},destination:{node_id:n,field:"control"}}),o.forEach(l=>{const{controlNetId:u,controlImage:d,processedControlImage:f,beginStepPct:p,endStepPct:g,controlMode:m,resizeMode:v,model:x,processorType:_,weight:b}=l,y={id:`control_net_${u}`,type:"controlnet",is_intermediate:!0,begin_step_percent:p,end_step_percent:g,control_mode:m,resize_mode:v,control_model:x,control_weight:b};if(f&&_!=="none")y.image={image_name:f};else if(d)y.image={image_name:d};else return;if(t.nodes[y.id]=y,s){const S=rb(y,["id","type"]);s.controlnets.push(S)}t.edges.push({source:{node_id:y.id,field:"control"},destination:{node_id:O0,field:"item"}})})}},qf=(e,t)=>{const{positivePrompt:n,iterations:r,seed:i,shouldRandomizeSeed:o}=e.generation,{combinatorial:s,isEnabled:a,maxPrompts:l}=e.dynamicPrompts,u=t.nodes[Ot];if(a){ile(t.nodes[gt],"prompt");const d={id:Nx,type:"dynamic_prompt",is_intermediate:!0,max_prompts:s?l:r,combinatorial:s,prompt:n},f={id:vi,type:"iterate",is_intermediate:!0};if(t.nodes[Nx]=d,t.nodes[vi]=f,t.edges.push({source:{node_id:Nx,field:"prompt_collection"},destination:{node_id:vi,field:"collection"}},{source:{node_id:vi,field:"item"},destination:{node_id:gt,field:"prompt"}}),u&&t.edges.push({source:{node_id:vi,field:"item"},destination:{node_id:Ot,field:"positive_prompt"}}),o){const p={id:ms,type:"rand_int",is_intermediate:!0};t.nodes[ms]=p,t.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:yt,field:"seed"}}),u&&t.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:Ot,field:"seed"}})}else t.nodes[yt].seed=i,u&&(u.seed=i)}else{u&&(u.positive_prompt=n);const d={id:ha,type:"range_of_size",is_intermediate:!0,size:r,step:1},f={id:vi,type:"iterate",is_intermediate:!0};if(t.nodes[vi]=f,t.nodes[ha]=d,t.edges.push({source:{node_id:ha,field:"collection"},destination:{node_id:vi,field:"collection"}}),t.edges.push({source:{node_id:vi,field:"item"},destination:{node_id:yt,field:"seed"}}),u&&t.edges.push({source:{node_id:vi,field:"item"},destination:{node_id:Ot,field:"seed"}}),o){const p={id:ms,type:"rand_int",is_intermediate:!0};t.nodes[ms]=p,t.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:ha,field:"start"}})}else d.start=i}},Im=(e,t,n,r=Gr)=>{const{loras:i}=e.lora,o=_T(i),s=t.nodes[Ot];o>0&&(t.edges=t.edges.filter(u=>!(u.source.node_id===r&&["unet"].includes(u.source.field))),t.edges=t.edges.filter(u=>!(u.source.node_id===qt&&["clip"].includes(u.source.field))));let a="",l=0;Ul(i,u=>{const{model_name:d,base_model:f,weight:p}=u,g=`${GU}_${d.replace(".","_")}`,m={type:"lora_loader",id:g,is_intermediate:!0,lora:{model_name:d,base_model:f},weight:p};s&&s.loras.push({lora:{model_name:d,base_model:f},weight:p}),t.nodes[g]=m,l===0?(t.edges.push({source:{node_id:r,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:qt,field:"clip"},destination:{node_id:g,field:"clip"}})):(t.edges.push({source:{node_id:a,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:a,field:"clip"},destination:{node_id:g,field:"clip"}})),l===o-1&&(t.edges.push({source:{node_id:g,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:gt,field:"clip"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:_t,field:"clip"}})),a=g,l+=1})},Az=si(e=>e.ui,e=>e$[e.activeTab],{memoizeOptions:{equalityCheck:nb}}),iMe=si(e=>e.ui,e=>e.activeTab,{memoizeOptions:{equalityCheck:nb}}),oMe=si(e=>e.ui,e=>e,{memoizeOptions:{equalityCheck:nb}}),Ec=(e,t,n=Rt)=>{const i=Az(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[Ot];if(!o)return;o.is_intermediate=!0;const a={id:Dd,type:"img_nsfw",is_intermediate:i};t.nodes[Dd]=a,t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:Dd,field:"image"}}),s&&t.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Dd,field:"metadata"}})},Mm=(e,t,n=Gr)=>{const{vae:r}=e.generation,i=!r,o=t.nodes[Ot];i||(t.nodes[Qh]={type:"vae_loader",id:Qh,is_intermediate:!0,vae_model:r});const s=n==gE;(t.id===mE||t.id===Z1)&&t.edges.push({source:{node_id:i?n:Qh,field:i&&s?"vae_decoder":"vae"},destination:{node_id:Rt,field:"vae"}}),t.id===Z1&&t.edges.push({source:{node_id:i?n:Qh,field:i&&s?"vae_decoder":"vae"},destination:{node_id:un,field:"vae"}}),t.id===HU&&t.edges.push({source:{node_id:i?n:Qh,field:i&&s?"vae_decoder":"vae"},destination:{node_id:fs,field:"vae"}}),r&&o&&(o.vae=r)},Ac=(e,t,n=Rt)=>{const i=Az(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[Dd],a=t.nodes[Ot];if(!o)return;const l={id:Yh,type:"img_watermark",is_intermediate:i};t.nodes[Yh]=l,o.is_intermediate=!0,s?(s.is_intermediate=!0,t.edges.push({source:{node_id:Dd,field:"image"},destination:{node_id:Yh,field:"image"}})):t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:Yh,field:"image"}}),a&&t.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Yh,field:"metadata"}})},mCe=(e,t)=>{const n=Ie("nodes"),{positivePrompt:r,negativePrompt:i,model:o,cfgScale:s,scheduler:a,steps:l,img2imgStrength:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:p}=e.generation,{width:g,height:m}=e.canvas.boundingBoxDimensions,{shouldAutoSave:v}=e.canvas;if(!o)throw n.error("No model found in state"),new Error("No model found in state");const x=p?f:Da.shouldUseCpuNoise,_={id:Z1,nodes:{[gt]:{type:"compel",id:gt,is_intermediate:!0,prompt:r},[_t]:{type:"compel",id:_t,is_intermediate:!0,prompt:i},[yt]:{type:"noise",id:yt,is_intermediate:!0,use_cpu:x},[Gr]:{type:"main_model_loader",id:Gr,is_intermediate:!0,model:o},[qt]:{type:"clip_skip",id:qt,is_intermediate:!0,skipped_layers:d},[Un]:{type:"l2l",id:Un,is_intermediate:!0,cfg_scale:s,scheduler:a,steps:l,strength:u},[un]:{type:"i2l",id:un,is_intermediate:!0},[Rt]:{type:"l2i",id:Rt,is_intermediate:!v}},edges:[{source:{node_id:Gr,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:Un,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:un,field:"latents"},destination:{node_id:Un,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:Un,field:"noise"}},{source:{node_id:Gr,field:"unet"},destination:{node_id:Un,field:"unet"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:Un,field:"negative_conditioning"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:Un,field:"positive_conditioning"}}]};if(t.width!==g||t.height!==m){const b={id:ii,type:"img_resize",image:{image_name:t.image_name},is_intermediate:!0,width:g,height:m};_.nodes[ii]=b,_.edges.push({source:{node_id:ii,field:"image"},destination:{node_id:un,field:"image"}}),_.edges.push({source:{node_id:ii,field:"width"},destination:{node_id:yt,field:"width"}}),_.edges.push({source:{node_id:ii,field:"height"},destination:{node_id:yt,field:"height"}})}else _.nodes[un].image={image_name:t.image_name},_.edges.push({source:{node_id:un,field:"width"},destination:{node_id:yt,field:"width"}}),_.edges.push({source:{node_id:un,field:"height"},destination:{node_id:yt,field:"height"}});return _.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:s,height:m,width:g,positive_prompt:"",negative_prompt:i,model:o,seed:0,steps:l,rand_device:x?"cpu":"cuda",scheduler:a,vae:void 0,controlnets:[],loras:[],clip_skip:d,strength:u,init_image:t.image_name},_.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,_,Un),Mm(e,_),qf(e,_),XS(e,_,Un),e.system.shouldUseNSFWChecker&&Ec(e,_),e.system.shouldUseWatermarker&&Ac(e,_),_},yCe=(e,t,n)=>{const r=Ie("nodes"),{positivePrompt:i,negativePrompt:o,model:s,cfgScale:a,scheduler:l,steps:u,img2imgStrength:d,shouldFitToWidthHeight:f,iterations:p,seed:g,shouldRandomizeSeed:m,seamSize:v,seamBlur:x,seamSteps:_,seamStrength:b,tileSize:y,infillMethod:S,clipSkip:C}=e.generation;if(!s)throw r.error("No model found in state"),new Error("No model found in state");const{width:T,height:E}=e.canvas.boundingBoxDimensions,{scaledBoundingBoxDimensions:P,boundingBoxScaleMethod:k,shouldAutoSave:O}=e.canvas,M={id:HU,nodes:{[fs]:{is_intermediate:!O,type:"inpaint",id:fs,steps:u,width:T,height:E,cfg_scale:a,scheduler:l,image:{image_name:t.image_name},strength:d,fit:f,mask:{image_name:n.image_name},seam_size:v,seam_blur:x,seam_strength:b,seam_steps:_,tile_size:S==="tile"?y:void 0,infill_method:S,inpaint_width:k!=="none"?P.width:void 0,inpaint_height:k!=="none"?P.height:void 0},[gt]:{type:"compel",id:gt,is_intermediate:!0,prompt:i},[_t]:{type:"compel",id:_t,is_intermediate:!0,prompt:o},[Gr]:{type:"main_model_loader",id:Gr,is_intermediate:!0,model:s},[qt]:{type:"clip_skip",id:qt,is_intermediate:!0,skipped_layers:C},[ha]:{type:"range_of_size",id:ha,is_intermediate:!0,size:p,step:1},[vi]:{type:"iterate",id:vi,is_intermediate:!0}},edges:[{source:{node_id:Gr,field:"unet"},destination:{node_id:fs,field:"unet"}},{source:{node_id:Gr,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:fs,field:"negative_conditioning"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:fs,field:"positive_conditioning"}},{source:{node_id:ha,field:"collection"},destination:{node_id:vi,field:"collection"}},{source:{node_id:vi,field:"item"},destination:{node_id:fs,field:"seed"}}]};if(Im(e,M,fs),Mm(e,M),m){const G={id:ms,type:"rand_int"};M.nodes[ms]=G,M.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:ha,field:"start"}})}else M.nodes[ha].start=g;return e.system.shouldUseNSFWChecker&&Ec(e,M,fs),e.system.shouldUseWatermarker&&Ac(e,M,fs),M},vCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,clipSkip:l,shouldUseCpuNoise:u,shouldUseNoiseSettings:d}=e.generation,{width:f,height:p}=e.canvas.boundingBoxDimensions,{shouldAutoSave:g}=e.canvas;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const m=d?u:Da.shouldUseCpuNoise,v=i.model_type==="onnx",x=v?gE:Gr,_=v?"onnx_model_loader":"main_model_loader",b=v?{type:"t2l_onnx",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a}:{type:"t2l",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a},y={id:mE,nodes:{[gt]:{type:v?"prompt_onnx":"compel",id:gt,is_intermediate:!0,prompt:n},[_t]:{type:v?"prompt_onnx":"compel",id:_t,is_intermediate:!0,prompt:r},[yt]:{type:"noise",id:yt,is_intermediate:!0,width:f,height:p,use_cpu:m},[b.id]:b,[x]:{type:_,id:x,is_intermediate:!0,model:i},[qt]:{type:"clip_skip",id:qt,is_intermediate:!0,skipped_layers:l},[Rt]:{type:v?"l2i_onnx":"l2i",id:Rt,is_intermediate:!g}},edges:[{source:{node_id:_t,field:"conditioning"},destination:{node_id:cr,field:"negative_conditioning"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:cr,field:"positive_conditioning"}},{source:{node_id:x,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:x,field:"unet"},destination:{node_id:cr,field:"unet"}},{source:{node_id:cr,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:cr,field:"noise"}}]};return y.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:p,width:f,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:m?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:l},y.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,y,cr,x),Mm(e,y,x),qf(e,y),XS(e,y,cr),e.system.shouldUseNSFWChecker&&Ec(e,y),e.system.shouldUseWatermarker&&Ac(e,y),y},_Ce=(e,t,n,r)=>{let i;if(t==="txt2img")i=vCe(e);else if(t==="img2img"){if(!n)throw new Error("Missing canvas init image");i=mCe(e,n)}else{if(!n||!r)throw new Error("Missing canvas init and mask images");i=yCe(e,n,r)}return i},bCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="unifiedCanvas",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),{layerState:s,boundingBoxCoordinates:a,boundingBoxDimensions:l,isMaskEnabled:u,shouldPreserveMaskedArea:d}=o.canvas,f=await dCe(s,a,l,u,d);if(!f){i.error("Unable to create canvas data");return}const{baseBlob:p,baseImageData:g,maskBlob:m,maskImageData:v}=f,x=pCe(g,v);if(o.system.enableImageDebugging){const E=await UO(p),P=await UO(m);cSe([{base64:P,caption:"mask b64"},{base64:E,caption:"image b64"}])}i.debug(`Generation mode: ${x}`);let _,b;["img2img","inpaint","outpaint"].includes(x)&&(_=await n(Se.endpoints.uploadImage.initiate({file:new File([p],"canvasInitImage.png",{type:"image/png"}),image_category:"general",is_intermediate:!0})).unwrap()),["inpaint","outpaint"].includes(x)&&(b=await n(Se.endpoints.uploadImage.initiate({file:new File([m],"canvasMaskImage.png",{type:"image/png"}),image_category:"mask",is_intermediate:!0})).unwrap());const y=_Ce(o,x,_,b);i.debug({graph:$a(y)},"Canvas graph built"),n(NU(y));const{requestId:S}=n(Ir({graph:y})),[C]=await r(E=>Ir.fulfilled.match(E)&&E.meta.requestId===S),T=C.payload.id;["img2img","inpaint"].includes(x)&&_&&n(Se.endpoints.changeImageSessionId.initiate({imageDTO:_,session_id:T})),["inpaint"].includes(x)&&b&&n(Se.endpoints.changeImageSessionId.initiate({imageDTO:b,session_id:T})),o.canvas.layerState.stagingArea.boundingBox||n(Wue({sessionId:T,boundingBox:{...o.canvas.boundingBoxCoordinates,...o.canvas.boundingBoxDimensions}})),n(que(T)),n(yc())}})},SCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,img2imgStrength:u,shouldFitToWidthHeight:d,width:f,height:p,clipSkip:g,shouldUseCpuNoise:m,shouldUseNoiseSettings:v,vaePrecision:x}=e.generation;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const _=v?m:Da.shouldUseCpuNoise,b={id:Z1,nodes:{[Gr]:{type:"main_model_loader",id:Gr,model:i},[qt]:{type:"clip_skip",id:qt,skipped_layers:g},[gt]:{type:"compel",id:gt,prompt:n},[_t]:{type:"compel",id:_t,prompt:r},[yt]:{type:"noise",id:yt,use_cpu:_},[Rt]:{type:"l2i",id:Rt,fp32:x==="fp32"},[Un]:{type:"l2l",id:Un,cfg_scale:o,scheduler:s,steps:a,strength:u},[un]:{type:"i2l",id:un,fp32:x==="fp32"}},edges:[{source:{node_id:Gr,field:"unet"},destination:{node_id:Un,field:"unet"}},{source:{node_id:Gr,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:Un,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:un,field:"latents"},destination:{node_id:Un,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:Un,field:"noise"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:Un,field:"negative_conditioning"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:Un,field:"positive_conditioning"}}]};if(d&&(l.width!==f||l.height!==p)){const y={id:ii,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:f,height:p};b.nodes[ii]=y,b.edges.push({source:{node_id:ii,field:"image"},destination:{node_id:un,field:"image"}}),b.edges.push({source:{node_id:ii,field:"width"},destination:{node_id:yt,field:"width"}}),b.edges.push({source:{node_id:ii,field:"height"},destination:{node_id:yt,field:"height"}})}else b.nodes[un].image={image_name:l.imageName},b.edges.push({source:{node_id:un,field:"width"},destination:{node_id:yt,field:"width"}}),b.edges.push({source:{node_id:un,field:"height"},destination:{node_id:yt,field:"height"}});return b.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:o,height:p,width:f,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:_?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:g,strength:u,init_image:l.imageName},b.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,b,Un),Mm(e,b),qf(e,b),XS(e,b,Un),e.system.shouldUseNSFWChecker&&Ec(e,b),e.system.shouldUseWatermarker&&Ac(e,b),b},Pz=(e,t,n)=>{const{positivePrompt:r,negativePrompt:i}=e.generation,{refinerModel:o,refinerAestheticScore:s,positiveStylePrompt:a,negativeStylePrompt:l,refinerSteps:u,refinerScheduler:d,refinerCFGScale:f,refinerStart:p}=e.sdxl;if(!o)return;const g=t.nodes[Ot];g&&(g.refiner_model=o,g.refiner_aesthetic_store=s,g.refiner_cfg_scale=f,g.refiner_scheduler=d,g.refiner_start=p,g.refiner_steps=u),t.edges=t.edges.filter(m=>!(m.source.node_id===n&&["latents"].includes(m.source.field))),t.edges=t.edges.filter(m=>!(m.source.node_id===Cn&&["vae"].includes(m.source.field))),n===Do&&t.edges.push({source:{node_id:Cn,field:"vae"},destination:{node_id:un,field:"vae"}}),t.nodes[fd]={type:"sdxl_refiner_model_loader",id:fd,model:o},t.nodes[k0]={type:"sdxl_refiner_compel_prompt",id:k0,style:`${r} ${a}`,aesthetic_score:s},t.nodes[I0]={type:"sdxl_refiner_compel_prompt",id:I0,style:`${i} ${l}`,aesthetic_score:s},t.nodes[Su]={type:"l2l_sdxl",id:Su,cfg_scale:f,steps:u/(1-Math.min(p,.99)),scheduler:d,denoising_start:p,denoising_end:1},t.edges.push({source:{node_id:fd,field:"unet"},destination:{node_id:Su,field:"unet"}},{source:{node_id:fd,field:"vae"},destination:{node_id:Rt,field:"vae"}},{source:{node_id:fd,field:"clip2"},destination:{node_id:k0,field:"clip2"}},{source:{node_id:fd,field:"clip2"},destination:{node_id:I0,field:"clip2"}},{source:{node_id:k0,field:"conditioning"},destination:{node_id:Su,field:"positive_conditioning"}},{source:{node_id:I0,field:"conditioning"},destination:{node_id:Su,field:"negative_conditioning"}},{source:{node_id:n,field:"latents"},destination:{node_id:Su,field:"latents"}},{source:{node_id:Su,field:"latents"},destination:{node_id:Rt,field:"latents"}})},Rz=(e,t,n,r=Cn)=>{const{loras:i}=e.lora,o=_T(i),s=t.nodes[Ot];o>0&&(t.edges=t.edges.filter(u=>!(u.source.node_id===r&&["unet"].includes(u.source.field))&&!(u.source.node_id===r&&["clip"].includes(u.source.field))&&!(u.source.node_id===r&&["clip2"].includes(u.source.field))));let a="",l=0;Ul(i,u=>{const{model_name:d,base_model:f,weight:p}=u,g=`${GU}_${d.replace(".","_")}`,m={type:"sdxl_lora_loader",id:g,is_intermediate:!0,lora:{model_name:d,base_model:f},weight:p};s&&s.loras.push({lora:{model_name:d,base_model:f},weight:p}),t.nodes[g]=m,l===0?(t.edges.push({source:{node_id:r,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:r,field:"clip"},destination:{node_id:g,field:"clip"}}),t.edges.push({source:{node_id:r,field:"clip2"},destination:{node_id:g,field:"clip2"}})):(t.edges.push({source:{node_id:a,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:a,field:"clip"},destination:{node_id:g,field:"clip"}}),t.edges.push({source:{node_id:a,field:"clip2"},destination:{node_id:g,field:"clip2"}})),l===o-1&&(t.edges.push({source:{node_id:g,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:gt,field:"clip"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:_t,field:"clip"}}),t.edges.push({source:{node_id:g,field:"clip2"},destination:{node_id:gt,field:"clip2"}}),t.edges.push({source:{node_id:g,field:"clip2"},destination:{node_id:_t,field:"clip2"}})),a=g,l+=1})},wCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,shouldFitToWidthHeight:u,width:d,height:f,clipSkip:p,shouldUseCpuNoise:g,shouldUseNoiseSettings:m,vaePrecision:v}=e.generation,{positiveStylePrompt:x,negativeStylePrompt:_,shouldConcatSDXLStylePrompt:b,shouldUseSDXLRefiner:y,refinerStart:S,sdxlImg2ImgDenoisingStrength:C}=e.sdxl;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const T=m?g:Da.shouldUseCpuNoise,E={id:sSe,nodes:{[Cn]:{type:"sdxl_model_loader",id:Cn,model:i},[gt]:{type:"sdxl_compel_prompt",id:gt,prompt:n,style:b?`${n} ${x}`:x},[_t]:{type:"sdxl_compel_prompt",id:_t,prompt:r,style:b?`${r} ${_}`:_},[yt]:{type:"noise",id:yt,use_cpu:T},[Rt]:{type:"l2i",id:Rt,fp32:v==="fp32"},[Do]:{type:"l2l_sdxl",id:Do,cfg_scale:o,scheduler:s,steps:a,denoising_start:y?Math.min(S,1-C):1-C,denoising_end:y?S:1},[un]:{type:"i2l",id:un,fp32:v==="fp32"}},edges:[{source:{node_id:Cn,field:"unet"},destination:{node_id:Do,field:"unet"}},{source:{node_id:Cn,field:"vae"},destination:{node_id:Rt,field:"vae"}},{source:{node_id:Cn,field:"vae"},destination:{node_id:un,field:"vae"}},{source:{node_id:Cn,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:Cn,field:"clip2"},destination:{node_id:gt,field:"clip2"}},{source:{node_id:Cn,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:Cn,field:"clip2"},destination:{node_id:_t,field:"clip2"}},{source:{node_id:Do,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:un,field:"latents"},destination:{node_id:Do,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:Do,field:"noise"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:Do,field:"positive_conditioning"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:Do,field:"negative_conditioning"}}]};if(u&&(l.width!==d||l.height!==f)){const P={id:ii,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:d,height:f};E.nodes[ii]=P,E.edges.push({source:{node_id:ii,field:"image"},destination:{node_id:un,field:"image"}}),E.edges.push({source:{node_id:ii,field:"width"},destination:{node_id:yt,field:"width"}}),E.edges.push({source:{node_id:ii,field:"height"},destination:{node_id:yt,field:"height"}})}else E.nodes[un].image={image_name:l.imageName},E.edges.push({source:{node_id:un,field:"width"},destination:{node_id:yt,field:"width"}}),E.edges.push({source:{node_id:un,field:"height"},destination:{node_id:yt,field:"height"}});return E.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"sdxl_img2img",cfg_scale:o,height:f,width:d,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:T?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:p,strength:C,init_image:l.imageName,positive_style_prompt:x,negative_style_prompt:_},E.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Rz(e,E,Do,Cn),y&&Pz(e,E,Do),qf(e,E),e.system.shouldUseNSFWChecker&&Ec(e,E),e.system.shouldUseWatermarker&&Ac(e,E),E},xCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="img2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=wCe(o):a=SCe(o),n(MU(a)),i.debug({graph:$a(a)},"Image to Image graph built"),n(Ir({graph:a})),await r(Ir.fulfilled.match),n(yc())}})};let B0;const CCe=new Uint8Array(16);function TCe(){if(!B0&&(B0=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!B0))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return B0(CCe)}const Er=[];for(let e=0;e<256;++e)Er.push((e+256).toString(16).slice(1));function ECe(e,t=0){return(Er[e[t+0]]+Er[e[t+1]]+Er[e[t+2]]+Er[e[t+3]]+"-"+Er[e[t+4]]+Er[e[t+5]]+"-"+Er[e[t+6]]+Er[e[t+7]]+"-"+Er[e[t+8]]+Er[e[t+9]]+"-"+Er[e[t+10]]+Er[e[t+11]]+Er[e[t+12]]+Er[e[t+13]]+Er[e[t+14]]+Er[e[t+15]]).toLowerCase()}const ACe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),wk={randomUUID:ACe};function PCe(e,t,n){if(wk.randomUUID&&!t&&!e)return wk.randomUUID();e=e||{};const r=e.random||(e.rng||TCe)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=r[i];return t}return ECe(r)}const RCe=e=>{if(e.type==="color"&&e.value){const t=Ur(e.value),{r:n,g:r,b:i,a:o}=e.value,s=Math.max(0,Math.min(o*255,255));return Object.assign(t,{r:n,g:r,b:i,a:s}),t}return e.value},OCe=e=>{const{nodes:t,edges:n}=e.nodes,i=t.filter(a=>a.type!=="progress_image").reduce((a,l)=>{const{id:u,data:d}=l,{type:f,inputs:p}=d,g=vT(p,(v,x,_)=>{const b=RCe(x);return v[_]=b,v},{}),m={type:f,id:u,...g};return Object.assign(a,{[u]:m}),a},{}),o=n.reduce((a,l)=>{const{source:u,target:d,sourceHandle:f,targetHandle:p}=l;return a.push({source:{node_id:u,field:f},destination:{node_id:d,field:p}}),a},[]);return o.forEach(a=>{const l=i[a.destination.node_id],u=a.destination.field;i[a.destination.node_id]=rb(l,u)}),{id:PCe(),nodes:i,edges:o}},kCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="nodes",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),s=OCe(o);n(LU(s)),i.debug({graph:$a(s)},"Nodes graph built"),n(Ir({graph:s})),await r(Ir.fulfilled.match),n(yc())}})},ICe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:p,vaePrecision:g}=e.generation,{positiveStylePrompt:m,negativeStylePrompt:v,shouldConcatSDXLStylePrompt:x,shouldUseSDXLRefiner:_,refinerStart:b}=e.sdxl,y=p?f:Da.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const S={id:oSe,nodes:{[Cn]:{type:"sdxl_model_loader",id:Cn,model:i},[gt]:{type:"sdxl_compel_prompt",id:gt,prompt:n,style:x?`${n} ${m}`:m},[_t]:{type:"sdxl_compel_prompt",id:_t,prompt:r,style:x?`${r} ${v}`:v},[yt]:{type:"noise",id:yt,width:l,height:u,use_cpu:y},[ra]:{type:"t2l_sdxl",id:ra,cfg_scale:o,scheduler:s,steps:a,denoising_end:_?b:1},[Rt]:{type:"l2i",id:Rt,fp32:g==="fp32"}},edges:[{source:{node_id:Cn,field:"unet"},destination:{node_id:ra,field:"unet"}},{source:{node_id:Cn,field:"vae"},destination:{node_id:Rt,field:"vae"}},{source:{node_id:Cn,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:Cn,field:"clip2"},destination:{node_id:gt,field:"clip2"}},{source:{node_id:Cn,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:Cn,field:"clip2"},destination:{node_id:_t,field:"clip2"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:ra,field:"positive_conditioning"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:ra,field:"negative_conditioning"}},{source:{node_id:yt,field:"noise"},destination:{node_id:ra,field:"noise"}},{source:{node_id:ra,field:"latents"},destination:{node_id:Rt,field:"latents"}}]};return S.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"sdxl_txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:y?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:d,positive_style_prompt:m,negative_style_prompt:v},S.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Rz(e,S,ra,Cn),_&&Pz(e,S,ra),qf(e,S),e.system.shouldUseNSFWChecker&&Ec(e,S),e.system.shouldUseWatermarker&&Ac(e,S),S},MCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:p,vaePrecision:g}=e.generation,m=p?f:Da.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const v=i.model_type==="onnx",x=v?gE:Gr,_=v?"onnx_model_loader":"main_model_loader",b=v?{type:"t2l_onnx",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a}:{type:"t2l",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a},y={id:mE,nodes:{[gt]:{type:v?"prompt_onnx":"compel",id:gt,prompt:n,is_intermediate:!0},[_t]:{type:v?"prompt_onnx":"compel",id:_t,prompt:r,is_intermediate:!0},[yt]:{type:"noise",id:yt,width:l,height:u,use_cpu:m,is_intermediate:!0},[b.id]:b,[x]:{type:_,id:x,is_intermediate:!0,model:i},[qt]:{type:"clip_skip",id:qt,skipped_layers:d,is_intermediate:!0},[Rt]:{type:v?"l2i_onnx":"l2i",id:Rt,fp32:g==="fp32"}},edges:[{source:{node_id:x,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:x,field:"unet"},destination:{node_id:cr,field:"unet"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:cr,field:"positive_conditioning"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:cr,field:"negative_conditioning"}},{source:{node_id:cr,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:cr,field:"noise"}}]};return y.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:m?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:d},y.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,y,cr,x),Mm(e,y,x),qf(e,y),XS(e,y,cr),e.system.shouldUseNSFWChecker&&Ec(e,y),e.system.shouldUseWatermarker&&Ac(e,y),y},NCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="txt2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=ICe(o):a=MCe(o),n(IU(a)),i.debug({graph:$a(a)},"Text to Image graph built"),n(Ir({graph:a})),await r(Ir.fulfilled.match),n(yc())}})},Oz=bL(),Pe=Oz.startListening;W_e();q_e();Y_e();$_e();F_e();B_e();U_e();z_e();m_e();H_e();bCe();kCe();NCe();xCe();Vbe();k_e();P_e();E_e();O_e();nSe();c_e();Hbe();Wbe();Kbe();Xbe();Qbe();jbe();Gbe();eSe();tSe();Zbe();Jbe();Ybe();Dbe();$be();Fbe();Bbe();Ube();zbe();Mbe();Nbe();Lbe();N_e();M_e();L_e();D_e();j_e();G_e();y_e();Abe();V_e();Q_e();p_e();J_e();f_e();d_e();uSe();iSe();const LCe={canvas:Kue,gallery:nfe,generation:Eue,nodes:Vve,postprocessing:jve,system:m1e,config:sle,ui:Pue,hotkeys:b1e,controlNet:Jde,dynamicPrompts:tfe,deleteImageModal:sfe,changeBoardModal:lfe,lora:cfe,modelmanager:_1e,sdxl:Wve,[Hl.reducerPath]:Hl.reducer},DCe=Ff(LCe),$Ce=H1e(DCe),FCe=["canvas","gallery","generation","sdxl","nodes","postprocessing","system","ui","controlNet","dynamicPrompts","lora","modelmanager"],BCe=eL({reducer:$Ce,enhancers:e=>e.concat(W1e(window.localStorage,FCe,{persistDebounce:300,serialize:r_e,unserialize:o_e,prefix:q1e})).concat(wL()),middleware:e=>e({immutableCheck:!1,serializableCheck:!1}).concat(Hl.middleware).concat(C1e).prepend(Oz.middleware),devTools:{actionSanitizer:a_e,stateSanitizer:u_e,trace:!0,predicate:(e,t)=>!l_e.includes(t.type)}}),sMe=e=>e,UCe=e=>{const{socket:t,storeApi:n}=e,{dispatch:r,getState:i}=n;t.on("connect",()=>{Ie("socketio").debug("Connected"),r(G$());const{sessionId:s}=i().system;s&&(t.emit("subscribe",{session:s}),r(MT({sessionId:s})))}),t.on("connect_error",o=>{o&&o.message&&o.data==="ERR_UNAUTHENTICATED"&&r(zn(Xu({title:o.message,status:"error",duration:1e4})))}),t.on("disconnect",()=>{r(W$())}),t.on("invocation_started",o=>{r(Q$({data:o}))}),t.on("generator_progress",o=>{r(rF({data:o}))}),t.on("invocation_error",o=>{r(eF({data:o}))}),t.on("invocation_complete",o=>{r(NT({data:o}))}),t.on("graph_execution_state_complete",o=>{r(tF({data:o}))}),t.on("model_load_started",o=>{r(oF({data:o}))}),t.on("model_load_completed",o=>{r(sF({data:o}))}),t.on("session_retrieval_error",o=>{r(aF({data:o}))}),t.on("invocation_retrieval_error",o=>{r(uF({data:o}))})},Ds=Object.create(null);Ds.open="0";Ds.close="1";Ds.ping="2";Ds.pong="3";Ds.message="4";Ds.upgrade="5";Ds.noop="6";const Sv=Object.create(null);Object.keys(Ds).forEach(e=>{Sv[Ds[e]]=e});const zCe={type:"error",data:"parser error"},kz=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",Iz=typeof ArrayBuffer=="function",Mz=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,IE=({type:e,data:t},n,r)=>kz&&t instanceof Blob?n?r(t):xk(t,r):Iz&&(t instanceof ArrayBuffer||Mz(t))?n?r(t):xk(new Blob([t]),r):r(Ds[e]+(t||"")),xk=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)};function Ck(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let Hx;function VCe(e,t){if(kz&&e.data instanceof Blob)return e.data.arrayBuffer().then(Ck).then(t);if(Iz&&(e.data instanceof ArrayBuffer||Mz(e.data)))return t(Ck(e.data));IE(e,!1,n=>{Hx||(Hx=new TextEncoder),t(Hx.encode(n))})}const Tk="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",hp=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,n=e.length,r,i=0,o,s,a,l;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);const u=new ArrayBuffer(t),d=new Uint8Array(u);for(r=0;r>4,d[i++]=(s&15)<<4|a>>2,d[i++]=(a&3)<<6|l&63;return u},GCe=typeof ArrayBuffer=="function",ME=(e,t)=>{if(typeof e!="string")return{type:"message",data:Nz(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:HCe(e.substring(1),t)}:Sv[n]?e.length>1?{type:Sv[n],data:e.substring(1)}:{type:Sv[n]}:zCe},HCe=(e,t)=>{if(GCe){const n=jCe(e);return Nz(n,t)}else return{base64:!0,data:e}},Nz=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},Lz=String.fromCharCode(30),WCe=(e,t)=>{const n=e.length,r=new Array(n);let i=0;e.forEach((o,s)=>{IE(o,!1,a=>{r[s]=a,++i===n&&t(r.join(Lz))})})},qCe=(e,t)=>{const n=e.split(Lz),r=[];for(let i=0;i54;return ME(r?e:Wx.decode(e),n)}const Dz=4;function Hn(e){if(e)return XCe(e)}function XCe(e){for(var t in Hn.prototype)e[t]=Hn.prototype[t];return e}Hn.prototype.on=Hn.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this};Hn.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this};Hn.prototype.off=Hn.prototype.removeListener=Hn.prototype.removeAllListeners=Hn.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var n=this._callbacks["$"+e];if(!n)return this;if(arguments.length==1)return delete this._callbacks["$"+e],this;for(var r,i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function $z(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const YCe=yo.setTimeout,QCe=yo.clearTimeout;function YS(e,t){t.useNativeTimers?(e.setTimeoutFn=YCe.bind(yo),e.clearTimeoutFn=QCe.bind(yo)):(e.setTimeoutFn=yo.setTimeout.bind(yo),e.clearTimeoutFn=yo.clearTimeout.bind(yo))}const ZCe=1.33;function JCe(e){return typeof e=="string"?e3e(e):Math.ceil((e.byteLength||e.size)*ZCe)}function e3e(e){let t=0,n=0;for(let r=0,i=e.length;r=57344?n+=3:(r++,n+=4);return n}function t3e(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}function n3e(e){let t={},n=e.split("&");for(let r=0,i=n.length;r0);return t}function Bz(){const e=Pk(+new Date);return e!==Ak?(Ek=0,Ak=e):e+"."+Pk(Ek++)}for(;U0{this.readyState="paused",t()};if(this.polling||!this.writable){let r=0;this.polling&&(r++,this.once("pollComplete",function(){--r||n()})),this.writable||(r++,this.once("drain",function(){--r||n()}))}else n()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(t){const n=r=>{if(this.readyState==="opening"&&r.type==="open"&&this.onOpen(),r.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(r)};qCe(t,this.socket.binaryType).forEach(n),this.readyState!=="closed"&&(this.polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this.poll())}doClose(){const t=()=>{this.write([{type:"close"}])};this.readyState==="open"?t():this.once("open",t)}write(t){this.writable=!1,WCe(t,n=>{this.doWrite(n,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const t=this.opts.secure?"https":"http",n=this.query||{};return this.opts.timestampRequests!==!1&&(n[this.opts.timestampParam]=Bz()),!this.supportsBinary&&!n.sid&&(n.b64=1),this.createUri(t,n)}request(t={}){return Object.assign(t,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new af(this.uri(),t)}doWrite(t,n){const r=this.request({method:"POST",data:t});r.on("success",n),r.on("error",(i,o)=>{this.onError("xhr post error",i,o)})}doPoll(){const t=this.request();t.on("data",this.onData.bind(this)),t.on("error",(n,r)=>{this.onError("xhr poll error",n,r)}),this.pollXhr=t}}let af=class wv extends Hn{constructor(t,n){super(),YS(this,n),this.opts=n,this.method=n.method||"GET",this.uri=t,this.data=n.data!==void 0?n.data:null,this.create()}create(){var t;const n=$z(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this.opts.xd;const r=this.xhr=new zz(n);try{r.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let i in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&r.setRequestHeader(i,this.opts.extraHeaders[i])}}catch{}if(this.method==="POST")try{r.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{r.setRequestHeader("Accept","*/*")}catch{}(t=this.opts.cookieJar)===null||t===void 0||t.addCookies(r),"withCredentials"in r&&(r.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(r.timeout=this.opts.requestTimeout),r.onreadystatechange=()=>{var i;r.readyState===3&&((i=this.opts.cookieJar)===null||i===void 0||i.parseCookies(r)),r.readyState===4&&(r.status===200||r.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof r.status=="number"?r.status:0)},0))},r.send(this.data)}catch(i){this.setTimeoutFn(()=>{this.onError(i)},0);return}typeof document<"u"&&(this.index=wv.requestsCount++,wv.requests[this.index]=this)}onError(t){this.emitReserved("error",t,this.xhr),this.cleanup(!0)}cleanup(t){if(!(typeof this.xhr>"u"||this.xhr===null)){if(this.xhr.onreadystatechange=s3e,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete wv.requests[this.index],this.xhr=null}}onLoad(){const t=this.xhr.responseText;t!==null&&(this.emitReserved("data",t),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}};af.requestsCount=0;af.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",Rk);else if(typeof addEventListener=="function"){const e="onpagehide"in yo?"pagehide":"unload";addEventListener(e,Rk,!1)}}function Rk(){for(let e in af.requests)af.requests.hasOwnProperty(e)&&af.requests[e].abort()}const LE=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),z0=yo.WebSocket||yo.MozWebSocket,Ok=!0,u3e="arraybuffer",kk=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class c3e extends NE{constructor(t){super(t),this.supportsBinary=!t.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const t=this.uri(),n=this.opts.protocols,r=kk?{}:$z(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(r.headers=this.opts.extraHeaders);try{this.ws=Ok&&!kk?n?new z0(t,n):new z0(t):new z0(t,n,r)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType||u3e,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=t=>this.onClose({description:"websocket connection closed",context:t}),this.ws.onmessage=t=>this.onData(t.data),this.ws.onerror=t=>this.onError("websocket error",t)}write(t){this.writable=!1;for(let n=0;n{const s={};try{Ok&&this.ws.send(o)}catch{}i&&LE(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){const t=this.opts.secure?"wss":"ws",n=this.query||{};return this.opts.timestampRequests&&(n[this.opts.timestampParam]=Bz()),this.supportsBinary||(n.b64=1),this.createUri(t,n)}check(){return!!z0}}function d3e(e,t){return e.type==="message"&&typeof e.data!="string"&&t[0]>=48&&t[0]<=54}class f3e extends NE{get name(){return"webtransport"}doOpen(){typeof WebTransport=="function"&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then(()=>{this.onClose()}).catch(t=>{this.onError("webtransport error",t)}),this.transport.ready.then(()=>{this.transport.createBidirectionalStream().then(t=>{const n=t.readable.getReader();this.writer=t.writable.getWriter();let r;const i=()=>{n.read().then(({done:s,value:a})=>{s||(!r&&a.byteLength===1&&a[0]===54?r=!0:(this.onPacket(KCe(a,r,"arraybuffer")),r=!1),i())}).catch(s=>{})};i();const o=this.query.sid?`0{"sid":"${this.query.sid}"}`:"0";this.writer.write(new TextEncoder().encode(o)).then(()=>this.onOpen())})}))}write(t){this.writable=!1;for(let n=0;n{d3e(r,o)&&this.writer.write(Uint8Array.of(54)),this.writer.write(o).then(()=>{i&&LE(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})})}}doClose(){var t;(t=this.transport)===null||t===void 0||t.close()}}const h3e={websocket:c3e,webtransport:f3e,polling:l3e},p3e=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,g3e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function h5(e){const t=e,n=e.indexOf("["),r=e.indexOf("]");n!=-1&&r!=-1&&(e=e.substring(0,n)+e.substring(n,r).replace(/:/g,";")+e.substring(r,e.length));let i=p3e.exec(e||""),o={},s=14;for(;s--;)o[g3e[s]]=i[s]||"";return n!=-1&&r!=-1&&(o.source=t,o.host=o.host.substring(1,o.host.length-1).replace(/;/g,":"),o.authority=o.authority.replace("[","").replace("]","").replace(/;/g,":"),o.ipv6uri=!0),o.pathNames=m3e(o,o.path),o.queryKey=y3e(o,o.query),o}function m3e(e,t){const n=/\/{2,9}/g,r=t.replace(n,"/").split("/");return(t.slice(0,1)=="/"||t.length===0)&&r.splice(0,1),t.slice(-1)=="/"&&r.splice(r.length-1,1),r}function y3e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,i,o){i&&(n[i]=o)}),n}let Vz=class Sd extends Hn{constructor(t,n={}){super(),this.writeBuffer=[],t&&typeof t=="object"&&(n=t,t=null),t?(t=h5(t),n.hostname=t.host,n.secure=t.protocol==="https"||t.protocol==="wss",n.port=t.port,t.query&&(n.query=t.query)):n.host&&(n.hostname=h5(n.host).host),YS(this,n),this.secure=n.secure!=null?n.secure:typeof location<"u"&&location.protocol==="https:",n.hostname&&!n.port&&(n.port=this.secure?"443":"80"),this.hostname=n.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=n.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=n.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},n),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=n3e(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,typeof addEventListener=="function"&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(t){const n=Object.assign({},this.opts.query);n.EIO=Dz,n.transport=t,this.id&&(n.sid=this.id);const r=Object.assign({},this.opts,{query:n,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[t]);return new h3e[t](r)}open(){let t;if(this.opts.rememberUpgrade&&Sd.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)t="websocket";else if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}else t=this.transports[0];this.readyState="opening";try{t=this.createTransport(t)}catch{this.transports.shift(),this.open();return}t.open(),this.setTransport(t)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",n=>this.onClose("transport close",n))}probe(t){let n=this.createTransport(t),r=!1;Sd.priorWebsocketSuccess=!1;const i=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",f=>{if(!r)if(f.type==="pong"&&f.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Sd.priorWebsocketSuccess=n.name==="websocket",this.transport.pause(()=>{r||this.readyState!=="closed"&&(d(),this.setTransport(n),n.send([{type:"upgrade"}]),this.emitReserved("upgrade",n),n=null,this.upgrading=!1,this.flush())})}else{const p=new Error("probe error");p.transport=n.name,this.emitReserved("upgradeError",p)}}))};function o(){r||(r=!0,d(),n.close(),n=null)}const s=f=>{const p=new Error("probe error: "+f);p.transport=n.name,o(),this.emitReserved("upgradeError",p)};function a(){s("transport closed")}function l(){s("socket closed")}function u(f){n&&f.name!==n.name&&o()}const d=()=>{n.removeListener("open",i),n.removeListener("error",s),n.removeListener("close",a),this.off("close",l),this.off("upgrading",u)};n.once("open",i),n.once("error",s),n.once("close",a),this.once("close",l),this.once("upgrading",u),this.upgrades.indexOf("webtransport")!==-1&&t!=="webtransport"?this.setTimeoutFn(()=>{r||n.open()},200):n.open()}onOpen(){if(this.readyState="open",Sd.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade){let t=0;const n=this.upgrades.length;for(;t{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const t=this.getWritablePackets();this.transport.send(t),this.prevBufferLen=t.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let n=1;for(let r=0;r0&&n>this.maxPayload)return this.writeBuffer.slice(0,r);n+=2}return this.writeBuffer}write(t,n,r){return this.sendPacket("message",t,n,r),this}send(t,n,r){return this.sendPacket("message",t,n,r),this}sendPacket(t,n,r,i){if(typeof n=="function"&&(i=n,n=void 0),typeof r=="function"&&(i=r,r=null),this.readyState==="closing"||this.readyState==="closed")return;r=r||{},r.compress=r.compress!==!1;const o={type:t,data:n,options:r};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),i&&this.once("flush",i),this.flush()}close(){const t=()=>{this.onClose("forced close"),this.transport.close()},n=()=>{this.off("upgrade",n),this.off("upgradeError",n),t()},r=()=>{this.once("upgrade",n),this.once("upgradeError",n)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?r():t()}):this.upgrading?r():t()),this}onError(t){Sd.priorWebsocketSuccess=!1,this.emitReserved("error",t),this.onClose("transport error",t)}onClose(t,n){(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")&&(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),typeof removeEventListener=="function"&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",t,n),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(t){const n=[];let r=0;const i=t.length;for(;rtypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,jz=Object.prototype.toString,S3e=typeof Blob=="function"||typeof Blob<"u"&&jz.call(Blob)==="[object BlobConstructor]",w3e=typeof File=="function"||typeof File<"u"&&jz.call(File)==="[object FileConstructor]";function DE(e){return _3e&&(e instanceof ArrayBuffer||b3e(e))||S3e&&e instanceof Blob||w3e&&e instanceof File}function xv(e,t){if(!e||typeof e!="object")return!1;if(Array.isArray(e)){for(let n=0,r=e.length;n=0&&e.num{delete this.acks[t];for(let s=0;s{this.io.clearTimeoutFn(o),n.apply(this,[null,...s])}}emitWithAck(t,...n){const r=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((i,o)=>{n.push((s,a)=>r?s?o(s):i(a):i(s)),this.emit(t,...n)})}_addToQueue(t){let n;typeof t[t.length-1]=="function"&&(n=t.pop());const r={id:this._queueSeq++,tryCount:0,pending:!1,args:t,flags:Object.assign({fromQueue:!0},this.flags)};t.push((i,...o)=>r!==this._queue[0]?void 0:(i!==null?r.tryCount>this._opts.retries&&(this._queue.shift(),n&&n(i)):(this._queue.shift(),n&&n(null,...o)),r.pending=!1,this._drainQueue())),this._queue.push(r),this._drainQueue()}_drainQueue(t=!1){if(!this.connected||this._queue.length===0)return;const n=this._queue[0];n.pending&&!t||(n.pending=!0,n.tryCount++,this.flags=n.flags,this.emit.apply(this,n.args))}packet(t){t.nsp=this.nsp,this.io._packet(t)}onopen(){typeof this.auth=="function"?this.auth(t=>{this._sendConnectPacket(t)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(t){this.packet({type:pt.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},t):t})}onerror(t){this.connected||this.emitReserved("connect_error",t)}onclose(t,n){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,n)}onpacket(t){if(t.nsp===this.nsp)switch(t.type){case pt.CONNECT:t.data&&t.data.sid?this.onconnect(t.data.sid,t.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case pt.EVENT:case pt.BINARY_EVENT:this.onevent(t);break;case pt.ACK:case pt.BINARY_ACK:this.onack(t);break;case pt.DISCONNECT:this.ondisconnect();break;case pt.CONNECT_ERROR:this.destroy();const r=new Error(t.data.message);r.data=t.data.data,this.emitReserved("connect_error",r);break}}onevent(t){const n=t.data||[];t.id!=null&&n.push(this.ack(t.id)),this.connected?this.emitEvent(n):this.receiveBuffer.push(Object.freeze(n))}emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const n=this._anyListeners.slice();for(const r of n)r.apply(this,t)}super.emit.apply(this,t),this._pid&&t.length&&typeof t[t.length-1]=="string"&&(this._lastOffset=t[t.length-1])}ack(t){const n=this;let r=!1;return function(...i){r||(r=!0,n.packet({type:pt.ACK,id:t,data:i}))}}onack(t){const n=this.acks[t.id];typeof n=="function"&&(n.apply(this,t.data),delete this.acks[t.id])}onconnect(t,n){this.id=t,this.recovered=n&&this._pid===n,this._pid=n,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.receiveBuffer=[],this.sendBuffer.forEach(t=>{this.notifyOutgoingListeners(t),this.packet(t)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:pt.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(t){return this.flags.compress=t,this}get volatile(){return this.flags.volatile=!0,this}timeout(t){return this.flags.timeout=t,this}onAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(t),this}prependAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(t),this}offAny(t){if(!this._anyListeners)return this;if(t){const n=this._anyListeners;for(let r=0;r0&&e.jitter<=1?e.jitter:0,this.attempts=0}Kf.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=Math.floor(t*10)&1?e+n:e-n}return Math.min(e,this.max)|0};Kf.prototype.reset=function(){this.attempts=0};Kf.prototype.setMin=function(e){this.ms=e};Kf.prototype.setMax=function(e){this.max=e};Kf.prototype.setJitter=function(e){this.jitter=e};class m5 extends Hn{constructor(t,n){var r;super(),this.nsps={},this.subs=[],t&&typeof t=="object"&&(n=t,t=void 0),n=n||{},n.path=n.path||"/socket.io",this.opts=n,YS(this,n),this.reconnection(n.reconnection!==!1),this.reconnectionAttempts(n.reconnectionAttempts||1/0),this.reconnectionDelay(n.reconnectionDelay||1e3),this.reconnectionDelayMax(n.reconnectionDelayMax||5e3),this.randomizationFactor((r=n.randomizationFactor)!==null&&r!==void 0?r:.5),this.backoff=new Kf({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=t;const i=n.parser||R3e;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=n.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(t){return arguments.length?(this._reconnection=!!t,this):this._reconnection}reconnectionAttempts(t){return t===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}reconnectionDelay(t){var n;return t===void 0?this._reconnectionDelay:(this._reconnectionDelay=t,(n=this.backoff)===null||n===void 0||n.setMin(t),this)}randomizationFactor(t){var n;return t===void 0?this._randomizationFactor:(this._randomizationFactor=t,(n=this.backoff)===null||n===void 0||n.setJitter(t),this)}reconnectionDelayMax(t){var n;return t===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,(n=this.backoff)===null||n===void 0||n.setMax(t),this)}timeout(t){return arguments.length?(this._timeout=t,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(t){if(~this._readyState.indexOf("open"))return this;this.engine=new Vz(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const i=zo(n,"open",function(){r.onopen(),t&&t()}),o=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),t?t(a):this.maybeReconnectOnOpen()},s=zo(n,"error",o);if(this._timeout!==!1){const a=this._timeout,l=this.setTimeoutFn(()=>{i(),o(new Error("timeout")),n.close()},a);this.opts.autoUnref&&l.unref(),this.subs.push(()=>{this.clearTimeoutFn(l)})}return this.subs.push(i),this.subs.push(s),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(zo(t,"ping",this.onping.bind(this)),zo(t,"data",this.ondata.bind(this)),zo(t,"error",this.onerror.bind(this)),zo(t,"close",this.onclose.bind(this)),zo(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(t){try{this.decoder.add(t)}catch(n){this.onclose("parse error",n)}}ondecoded(t){LE(()=>{this.emitReserved("packet",t)},this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,n){let r=this.nsps[t];return r?this._autoConnect&&!r.active&&r.connect():(r=new Gz(this,t,n),this.nsps[t]=r),r}_destroy(t){const n=Object.keys(this.nsps);for(const r of n)if(this.nsps[r].active)return;this._close()}_packet(t){const n=this.encoder.encode(t);for(let r=0;rt()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(t,n){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",t,n),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const n=this.backoff.duration();this._reconnecting=!0;const r=this.setTimeoutFn(()=>{t.skipReconnect||(this.emitReserved("reconnect_attempt",t.backoff.attempts),!t.skipReconnect&&t.open(i=>{i?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",i)):t.onreconnect()}))},n);this.opts.autoUnref&&r.unref(),this.subs.push(()=>{this.clearTimeoutFn(r)})}}onreconnect(){const t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const np={};function Cv(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=v3e(e,t.path||"/socket.io"),r=n.source,i=n.id,o=n.path,s=np[i]&&o in np[i].nsps,a=t.forceNew||t["force new connection"]||t.multiplex===!1||s;let l;return a?l=new m5(r,t):(np[i]||(np[i]=new m5(r,t)),l=np[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign(Cv,{Manager:m5,Socket:Gz,io:Cv,connect:Cv});const Mk=()=>{let e=!1,n=`${window.location.protocol==="https:"?"wss":"ws"}://${window.location.host}`;const r={timeout:6e4,path:"/ws/socket.io",autoConnect:!1};if(["nodes","package"].includes("production")){const s=wg.get();s&&(n=s.replace(/^https?\:\/\//i,""));const a=Sg.get();a&&(r.auth={token:a}),r.transports=["websocket","polling"]}const i=Cv(n,r);return s=>a=>l=>{const{dispatch:u,getState:d}=s;if(e||(UCe({storeApi:s,socket:i}),e=!0,i.connect()),Ir.fulfilled.match(l)){const f=l.payload.id,p=d().system.sessionId;p&&(i.emit("unsubscribe",{session:p}),u(X$({sessionId:p}))),i.emit("subscribe",{session:f}),u(MT({sessionId:f}))}a(l)}};function k3e(e){if(e.sheet)return e.sheet;for(var t=0;t0?Rr(Xf,--Oi):0,If--,Vn===10&&(If=1,ZS--),Vn}function Hi(){return Vn=Oi2||Fg(Vn)>3?"":" "}function G3e(e,t){for(;--t&&Hi()&&!(Vn<48||Vn>102||Vn>57&&Vn<65||Vn>70&&Vn<97););return Nm(e,Tv()+(t<6&&ks()==32&&Hi()==32))}function v5(e){for(;Hi();)switch(Vn){case e:return Oi;case 34:case 39:e!==34&&e!==39&&v5(Vn);break;case 40:e===41&&v5(e);break;case 92:Hi();break}return Oi}function H3e(e,t){for(;Hi()&&e+Vn!==47+10;)if(e+Vn===42+42&&ks()===47)break;return"/*"+Nm(t,Oi-1)+"*"+QS(e===47?e:Hi())}function W3e(e){for(;!Fg(ks());)Hi();return Nm(e,Oi)}function q3e(e){return Yz(Av("",null,null,null,[""],e=Xz(e),0,[0],e))}function Av(e,t,n,r,i,o,s,a,l){for(var u=0,d=0,f=s,p=0,g=0,m=0,v=1,x=1,_=1,b=0,y="",S=i,C=o,T=r,E=y;x;)switch(m=b,b=Hi()){case 40:if(m!=108&&Rr(E,f-1)==58){y5(E+=Pt(Ev(b),"&","&\f"),"&\f")!=-1&&(_=-1);break}case 34:case 39:case 91:E+=Ev(b);break;case 9:case 10:case 13:case 32:E+=j3e(m);break;case 92:E+=G3e(Tv()-1,7);continue;case 47:switch(ks()){case 42:case 47:V0(K3e(H3e(Hi(),Tv()),t,n),l);break;default:E+="/"}break;case 123*v:a[u++]=ys(E)*_;case 125*v:case 59:case 0:switch(b){case 0:case 125:x=0;case 59+d:_==-1&&(E=Pt(E,/\f/g,"")),g>0&&ys(E)-f&&V0(g>32?Lk(E+";",r,n,f-1):Lk(Pt(E," ","")+";",r,n,f-2),l);break;case 59:E+=";";default:if(V0(T=Nk(E,t,n,u,d,i,a,y,S=[],C=[],f),o),b===123)if(d===0)Av(E,t,T,T,S,o,f,a,C);else switch(p===99&&Rr(E,3)===110?100:p){case 100:case 108:case 109:case 115:Av(e,T,T,r&&V0(Nk(e,T,T,0,0,i,a,y,i,S=[],f),C),i,C,f,a,r?S:C);break;default:Av(E,T,T,T,[""],C,0,a,C)}}u=d=g=0,v=_=1,y=E="",f=s;break;case 58:f=1+ys(E),g=m;default:if(v<1){if(b==123)--v;else if(b==125&&v++==0&&V3e()==125)continue}switch(E+=QS(b),b*v){case 38:_=d>0?1:(E+="\f",-1);break;case 44:a[u++]=(ys(E)-1)*_,_=1;break;case 64:ks()===45&&(E+=Ev(Hi())),p=ks(),d=f=ys(y=E+=W3e(Tv())),b++;break;case 45:m===45&&ys(E)==2&&(v=0)}}return o}function Nk(e,t,n,r,i,o,s,a,l,u,d){for(var f=i-1,p=i===0?o:[""],g=UE(p),m=0,v=0,x=0;m0?p[_]+" "+b:Pt(b,/&\f/g,p[_])))&&(l[x++]=y);return JS(e,t,n,i===0?FE:a,l,u,d)}function K3e(e,t,n){return JS(e,t,n,Hz,QS(z3e()),$g(e,2,-2),0)}function Lk(e,t,n,r){return JS(e,t,n,BE,$g(e,0,r),$g(e,r+1,-1),r)}function lf(e,t){for(var n="",r=UE(e),i=0;i6)switch(Rr(e,t+1)){case 109:if(Rr(e,t+4)!==45)break;case 102:return Pt(e,/(.+:)(.+)-([^]+)/,"$1"+At+"$2-$3$1"+r_+(Rr(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~y5(e,"stretch")?Zz(Pt(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Rr(e,t+1)!==115)break;case 6444:switch(Rr(e,ys(e)-3-(~y5(e,"!important")&&10))){case 107:return Pt(e,":",":"+At)+e;case 101:return Pt(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+At+(Rr(e,14)===45?"inline-":"")+"box$3$1"+At+"$2$3$1"+Br+"$2box$3")+e}break;case 5936:switch(Rr(e,t+11)){case 114:return At+e+Br+Pt(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return At+e+Br+Pt(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return At+e+Br+Pt(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return At+e+Br+e+e}return e}var r5e=function(t,n,r,i){if(t.length>-1&&!t.return)switch(t.type){case BE:t.return=Zz(t.value,t.length);break;case Wz:return lf([rp(t,{value:Pt(t.value,"@","@"+At)})],i);case FE:if(t.length)return U3e(t.props,function(o){switch(B3e(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return lf([rp(t,{props:[Pt(o,/:(read-\w+)/,":"+r_+"$1")]})],i);case"::placeholder":return lf([rp(t,{props:[Pt(o,/:(plac\w+)/,":"+At+"input-$1")]}),rp(t,{props:[Pt(o,/:(plac\w+)/,":"+r_+"$1")]}),rp(t,{props:[Pt(o,/:(plac\w+)/,Br+"input-$1")]})],i)}return""})}},i5e=[r5e],o5e=function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(v){var x=v.getAttribute("data-emotion");x.indexOf(" ")!==-1&&(document.head.appendChild(v),v.setAttribute("data-s",""))})}var i=t.stylisPlugins||i5e,o={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(v){for(var x=v.getAttribute("data-emotion").split(" "),_=1;_=4;++r,i-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(i){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var u5e={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},c5e=/[A-Z]|^ms/g,d5e=/_EMO_([^_]+?)_([^]*?)_EMO_/g,tV=function(t){return t.charCodeAt(1)===45},Fk=function(t){return t!=null&&typeof t!="boolean"},qx=Qz(function(e){return tV(e)?e:e.replace(c5e,"-$&").toLowerCase()}),Bk=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(d5e,function(r,i,o){return vs={name:i,styles:o,next:vs},i})}return u5e[t]!==1&&!tV(t)&&typeof n=="number"&&n!==0?n+"px":n};function Bg(e,t,n){if(n==null)return"";if(n.__emotion_styles!==void 0)return n;switch(typeof n){case"boolean":return"";case"object":{if(n.anim===1)return vs={name:n.name,styles:n.styles,next:vs},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)vs={name:r.name,styles:r.styles,next:vs},r=r.next;var i=n.styles+";";return i}return f5e(e,t,n)}case"function":{if(e!==void 0){var o=vs,s=n(e);return vs=o,Bg(e,t,s)}break}}if(t==null)return n;var a=t[n];return a!==void 0?a:n}function f5e(e,t,n){var r="";if(Array.isArray(n))for(var i=0;i` or ``");return e}var sV=L.createContext({});sV.displayName="ColorModeContext";function VE(){const e=L.useContext(sV);if(e===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return e}function uMe(e,t){const{colorMode:n}=VE();return n==="dark"?t:e}function b5e(){const e=VE(),t=oV();return{...e,theme:t}}function S5e(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__breakpoints)==null?void 0:a.asArray)==null?void 0:l[s]};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function w5e(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__cssMap)==null?void 0:a[s])==null?void 0:l.value};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function cMe(e,t,n){const r=oV();return x5e(e,t,n)(r)}function x5e(e,t,n){const r=Array.isArray(t)?t:[t],i=Array.isArray(n)?n:[n];return o=>{const s=i.filter(Boolean),a=r.map((l,u)=>{var d,f;if(e==="breakpoints")return S5e(o,l,(d=s[u])!=null?d:l);const p=`${e}.${l}`;return w5e(o,p,(f=s[u])!=null?f:l)});return Array.isArray(t)?a:a[0]}}var aV=(...e)=>e.filter(Boolean).join(" ");function C5e(){return!1}function Sa(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}var dMe=e=>{const{condition:t,message:n}=e;t&&C5e()&&console.warn(n)};function Bu(e,...t){return T5e(e)?e(...t):e}var T5e=e=>typeof e=="function",fMe=e=>e?"":void 0,hMe=e=>e?!0:void 0;function pMe(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function gMe(...e){return function(n){e.forEach(r=>{r==null||r(n)})}}var i_={exports:{}};i_.exports;(function(e,t){var n=200,r="__lodash_hash_undefined__",i=800,o=16,s=9007199254740991,a="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",d="[object Boolean]",f="[object Date]",p="[object Error]",g="[object Function]",m="[object GeneratorFunction]",v="[object Map]",x="[object Number]",_="[object Null]",b="[object Object]",y="[object Proxy]",S="[object RegExp]",C="[object Set]",T="[object String]",E="[object Undefined]",P="[object WeakMap]",k="[object ArrayBuffer]",O="[object DataView]",M="[object Float32Array]",G="[object Float64Array]",U="[object Int8Array]",A="[object Int16Array]",N="[object Int32Array]",F="[object Uint8Array]",B="[object Uint8ClampedArray]",D="[object Uint16Array]",V="[object Uint32Array]",j=/[\\^$.*+?()[\]{}|]/g,q=/^\[object .+?Constructor\]$/,Z=/^(?:0|[1-9]\d*)$/,ee={};ee[M]=ee[G]=ee[U]=ee[A]=ee[N]=ee[F]=ee[B]=ee[D]=ee[V]=!0,ee[a]=ee[l]=ee[k]=ee[d]=ee[O]=ee[f]=ee[p]=ee[g]=ee[v]=ee[x]=ee[b]=ee[S]=ee[C]=ee[T]=ee[P]=!1;var ie=typeof He=="object"&&He&&He.Object===Object&&He,se=typeof self=="object"&&self&&self.Object===Object&&self,le=ie||se||Function("return this")(),W=t&&!t.nodeType&&t,ne=W&&!0&&e&&!e.nodeType&&e,fe=ne&&ne.exports===W,pe=fe&&ie.process,ve=function(){try{var H=ne&&ne.require&&ne.require("util").types;return H||pe&&pe.binding&&pe.binding("util")}catch{}}(),ye=ve&&ve.isTypedArray;function We(H,Y,re){switch(re.length){case 0:return H.call(Y);case 1:return H.call(Y,re[0]);case 2:return H.call(Y,re[0],re[1]);case 3:return H.call(Y,re[0],re[1],re[2])}return H.apply(Y,re)}function Me(H,Y){for(var re=-1,we=Array(H);++re-1}function Ao(H,Y){var re=this.__data__,we=Ro(re,H);return we<0?(++this.size,re.push([H,Y])):re[we][1]=Y,this}Xn.prototype.clear=Mi,Xn.prototype.delete=os,Xn.prototype.get=to,Xn.prototype.has=Va,Xn.prototype.set=Ao;function wr(H){var Y=-1,re=H==null?0:H.length;for(this.clear();++Y1?re[ot-1]:void 0,qe=ot>2?re[2]:void 0;for(Mt=H.length>3&&typeof Mt=="function"?(ot--,Mt):void 0,qe&&Zm(re[0],re[1],qe)&&(Mt=ot<3?void 0:Mt,ot=1),Y=Object(Y);++we-1&&H%1==0&&H0){if(++Y>=i)return arguments[0]}else Y=0;return H.apply(void 0,arguments)}}function ry(H){if(H!=null){try{return mt.call(H)}catch{}try{return H+""}catch{}}return""}function $c(H,Y){return H===Y||H!==H&&Y!==Y}var hh=cu(function(){return arguments}())?cu:function(H){return du(H)&&Jt.call(H,"callee")&&!Xr.call(H,"callee")},ph=Array.isArray;function Fc(H){return H!=null&&oy(H.length)&&!gh(H)}function _2(H){return du(H)&&Fc(H)}var iy=Vs||w2;function gh(H){if(!Oo(H))return!1;var Y=Ga(H);return Y==g||Y==m||Y==u||Y==y}function oy(H){return typeof H=="number"&&H>-1&&H%1==0&&H<=s}function Oo(H){var Y=typeof H;return H!=null&&(Y=="object"||Y=="function")}function du(H){return H!=null&&typeof H=="object"}function b2(H){if(!du(H)||Ga(H)!=b)return!1;var Y=vr(H);if(Y===null)return!0;var re=Jt.call(Y,"constructor")&&Y.constructor;return typeof re=="function"&&re instanceof re&&mt.call(re)==hi}var sy=ye?Ee(ye):Ha;function S2(H){return Km(H,ay(H))}function ay(H){return Fc(H)?sh(H,!0):p2(H)}var Ht=Mc(function(H,Y,re,we){Gm(H,Y,re,we)});function Ut(H){return function(){return H}}function ly(H){return H}function w2(){return!1}e.exports=Ht})(i_,i_.exports);var E5e=i_.exports;const Ts=dc(E5e);var A5e=e=>/!(important)?$/.test(e),Vk=e=>typeof e=="string"?e.replace(/!(important)?$/,"").trim():e,P5e=(e,t)=>n=>{const r=String(t),i=A5e(r),o=Vk(r),s=e?`${e}.${o}`:o;let a=Sa(n.__cssMap)&&s in n.__cssMap?n.__cssMap[s].varRef:t;return a=Vk(a),i?`${a} !important`:a};function jE(e){const{scale:t,transform:n,compose:r}=e;return(o,s)=>{var a;const l=P5e(t,o)(s);let u=(a=n==null?void 0:n(l,s))!=null?a:l;return r&&(u=r(u,s)),u}}var j0=(...e)=>t=>e.reduce((n,r)=>r(n),t);function co(e,t){return n=>{const r={property:n,scale:e};return r.transform=jE({scale:e,transform:t}),r}}var R5e=({rtl:e,ltr:t})=>n=>n.direction==="rtl"?e:t;function O5e(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:R5e(t),transform:n?jE({scale:n,compose:r}):r}}var lV=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"];function k5e(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...lV].join(" ")}function I5e(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...lV].join(" ")}var M5e={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},N5e={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"};function L5e(e){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":e,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}var D5e={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},_5={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},$5e=new Set(Object.values(_5)),b5=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),F5e=e=>e.trim();function B5e(e,t){if(e==null||b5.has(e))return e;if(!(S5(e)||b5.has(e)))return`url('${e}')`;const i=/(^[a-z-A-Z]+)\((.*)\)/g.exec(e),o=i==null?void 0:i[1],s=i==null?void 0:i[2];if(!o||!s)return e;const a=o.includes("-gradient")?o:`${o}-gradient`,[l,...u]=s.split(",").map(F5e).filter(Boolean);if((u==null?void 0:u.length)===0)return e;const d=l in _5?_5[l]:l;u.unshift(d);const f=u.map(p=>{if($5e.has(p))return p;const g=p.indexOf(" "),[m,v]=g!==-1?[p.substr(0,g),p.substr(g+1)]:[p],x=S5(v)?v:v&&v.split(" "),_=`colors.${m}`,b=_ in t.__cssMap?t.__cssMap[_].varRef:m;return x?[b,...Array.isArray(x)?x:[x]].join(" "):b});return`${a}(${f.join(", ")})`}var S5=e=>typeof e=="string"&&e.includes("(")&&e.includes(")"),U5e=(e,t)=>B5e(e,t??{});function z5e(e){return/^var\(--.+\)$/.test(e)}var V5e=e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}},ds=e=>t=>`${e}(${t})`,St={filter(e){return e!=="auto"?e:M5e},backdropFilter(e){return e!=="auto"?e:N5e},ring(e){return L5e(St.px(e))},bgClip(e){return e==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform(e){return e==="auto"?k5e():e==="auto-gpu"?I5e():e},vh(e){return e==="$100vh"?"var(--chakra-vh)":e},px(e){if(e==null)return e;const{unitless:t}=V5e(e);return t||typeof e=="number"?`${e}px`:e},fraction(e){return typeof e!="number"||e>1?e:`${e*100}%`},float(e,t){const n={left:"right",right:"left"};return t.direction==="rtl"?n[e]:e},degree(e){if(z5e(e)||e==null)return e;const t=typeof e=="string"&&!e.endsWith("deg");return typeof e=="number"||t?`${e}deg`:e},gradient:U5e,blur:ds("blur"),opacity:ds("opacity"),brightness:ds("brightness"),contrast:ds("contrast"),dropShadow:ds("drop-shadow"),grayscale:ds("grayscale"),hueRotate:ds("hue-rotate"),invert:ds("invert"),saturate:ds("saturate"),sepia:ds("sepia"),bgImage(e){return e==null||S5(e)||b5.has(e)?e:`url(${e})`},outline(e){const t=String(e)==="0"||String(e)==="none";return e!==null&&t?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:e}},flexDirection(e){var t;const{space:n,divide:r}=(t=D5e[e])!=null?t:{},i={flexDirection:e};return n&&(i[n]=1),r&&(i[r]=1),i}},Q={borderWidths:co("borderWidths"),borderStyles:co("borderStyles"),colors:co("colors"),borders:co("borders"),gradients:co("gradients",St.gradient),radii:co("radii",St.px),space:co("space",j0(St.vh,St.px)),spaceT:co("space",j0(St.vh,St.px)),degreeT(e){return{property:e,transform:St.degree}},prop(e,t,n){return{property:e,scale:t,...t&&{transform:jE({scale:t,transform:n})}}},propT(e,t){return{property:e,transform:t}},sizes:co("sizes",j0(St.vh,St.px)),sizesT:co("sizes",j0(St.vh,St.fraction)),shadows:co("shadows"),logical:O5e,blur:co("blur",St.blur)},Pv={background:Q.colors("background"),backgroundColor:Q.colors("backgroundColor"),backgroundImage:Q.gradients("backgroundImage"),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:St.bgClip},bgSize:Q.prop("backgroundSize"),bgPosition:Q.prop("backgroundPosition"),bg:Q.colors("background"),bgColor:Q.colors("backgroundColor"),bgPos:Q.prop("backgroundPosition"),bgRepeat:Q.prop("backgroundRepeat"),bgAttachment:Q.prop("backgroundAttachment"),bgGradient:Q.gradients("backgroundImage"),bgClip:{transform:St.bgClip}};Object.assign(Pv,{bgImage:Pv.backgroundImage,bgImg:Pv.backgroundImage});var Et={border:Q.borders("border"),borderWidth:Q.borderWidths("borderWidth"),borderStyle:Q.borderStyles("borderStyle"),borderColor:Q.colors("borderColor"),borderRadius:Q.radii("borderRadius"),borderTop:Q.borders("borderTop"),borderBlockStart:Q.borders("borderBlockStart"),borderTopLeftRadius:Q.radii("borderTopLeftRadius"),borderStartStartRadius:Q.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:Q.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:Q.radii("borderTopRightRadius"),borderStartEndRadius:Q.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:Q.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:Q.borders("borderRight"),borderInlineEnd:Q.borders("borderInlineEnd"),borderBottom:Q.borders("borderBottom"),borderBlockEnd:Q.borders("borderBlockEnd"),borderBottomLeftRadius:Q.radii("borderBottomLeftRadius"),borderBottomRightRadius:Q.radii("borderBottomRightRadius"),borderLeft:Q.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:Q.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:Q.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:Q.borders(["borderLeft","borderRight"]),borderInline:Q.borders("borderInline"),borderY:Q.borders(["borderTop","borderBottom"]),borderBlock:Q.borders("borderBlock"),borderTopWidth:Q.borderWidths("borderTopWidth"),borderBlockStartWidth:Q.borderWidths("borderBlockStartWidth"),borderTopColor:Q.colors("borderTopColor"),borderBlockStartColor:Q.colors("borderBlockStartColor"),borderTopStyle:Q.borderStyles("borderTopStyle"),borderBlockStartStyle:Q.borderStyles("borderBlockStartStyle"),borderBottomWidth:Q.borderWidths("borderBottomWidth"),borderBlockEndWidth:Q.borderWidths("borderBlockEndWidth"),borderBottomColor:Q.colors("borderBottomColor"),borderBlockEndColor:Q.colors("borderBlockEndColor"),borderBottomStyle:Q.borderStyles("borderBottomStyle"),borderBlockEndStyle:Q.borderStyles("borderBlockEndStyle"),borderLeftWidth:Q.borderWidths("borderLeftWidth"),borderInlineStartWidth:Q.borderWidths("borderInlineStartWidth"),borderLeftColor:Q.colors("borderLeftColor"),borderInlineStartColor:Q.colors("borderInlineStartColor"),borderLeftStyle:Q.borderStyles("borderLeftStyle"),borderInlineStartStyle:Q.borderStyles("borderInlineStartStyle"),borderRightWidth:Q.borderWidths("borderRightWidth"),borderInlineEndWidth:Q.borderWidths("borderInlineEndWidth"),borderRightColor:Q.colors("borderRightColor"),borderInlineEndColor:Q.colors("borderInlineEndColor"),borderRightStyle:Q.borderStyles("borderRightStyle"),borderInlineEndStyle:Q.borderStyles("borderInlineEndStyle"),borderTopRadius:Q.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:Q.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:Q.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:Q.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(Et,{rounded:Et.borderRadius,roundedTop:Et.borderTopRadius,roundedTopLeft:Et.borderTopLeftRadius,roundedTopRight:Et.borderTopRightRadius,roundedTopStart:Et.borderStartStartRadius,roundedTopEnd:Et.borderStartEndRadius,roundedBottom:Et.borderBottomRadius,roundedBottomLeft:Et.borderBottomLeftRadius,roundedBottomRight:Et.borderBottomRightRadius,roundedBottomStart:Et.borderEndStartRadius,roundedBottomEnd:Et.borderEndEndRadius,roundedLeft:Et.borderLeftRadius,roundedRight:Et.borderRightRadius,roundedStart:Et.borderInlineStartRadius,roundedEnd:Et.borderInlineEndRadius,borderStart:Et.borderInlineStart,borderEnd:Et.borderInlineEnd,borderTopStartRadius:Et.borderStartStartRadius,borderTopEndRadius:Et.borderStartEndRadius,borderBottomStartRadius:Et.borderEndStartRadius,borderBottomEndRadius:Et.borderEndEndRadius,borderStartRadius:Et.borderInlineStartRadius,borderEndRadius:Et.borderInlineEndRadius,borderStartWidth:Et.borderInlineStartWidth,borderEndWidth:Et.borderInlineEndWidth,borderStartColor:Et.borderInlineStartColor,borderEndColor:Et.borderInlineEndColor,borderStartStyle:Et.borderInlineStartStyle,borderEndStyle:Et.borderInlineEndStyle});var j5e={color:Q.colors("color"),textColor:Q.colors("color"),fill:Q.colors("fill"),stroke:Q.colors("stroke")},w5={boxShadow:Q.shadows("boxShadow"),mixBlendMode:!0,blendMode:Q.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:Q.prop("backgroundBlendMode"),opacity:!0};Object.assign(w5,{shadow:w5.boxShadow});var G5e={filter:{transform:St.filter},blur:Q.blur("--chakra-blur"),brightness:Q.propT("--chakra-brightness",St.brightness),contrast:Q.propT("--chakra-contrast",St.contrast),hueRotate:Q.degreeT("--chakra-hue-rotate"),invert:Q.propT("--chakra-invert",St.invert),saturate:Q.propT("--chakra-saturate",St.saturate),dropShadow:Q.propT("--chakra-drop-shadow",St.dropShadow),backdropFilter:{transform:St.backdropFilter},backdropBlur:Q.blur("--chakra-backdrop-blur"),backdropBrightness:Q.propT("--chakra-backdrop-brightness",St.brightness),backdropContrast:Q.propT("--chakra-backdrop-contrast",St.contrast),backdropHueRotate:Q.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:Q.propT("--chakra-backdrop-invert",St.invert),backdropSaturate:Q.propT("--chakra-backdrop-saturate",St.saturate)},o_={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:St.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:Q.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:Q.space("gap"),rowGap:Q.space("rowGap"),columnGap:Q.space("columnGap")};Object.assign(o_,{flexDir:o_.flexDirection});var uV={gridGap:Q.space("gridGap"),gridColumnGap:Q.space("gridColumnGap"),gridRowGap:Q.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},H5e={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:St.outline},outlineOffset:!0,outlineColor:Q.colors("outlineColor")},ho={width:Q.sizesT("width"),inlineSize:Q.sizesT("inlineSize"),height:Q.sizes("height"),blockSize:Q.sizes("blockSize"),boxSize:Q.sizes(["width","height"]),minWidth:Q.sizes("minWidth"),minInlineSize:Q.sizes("minInlineSize"),minHeight:Q.sizes("minHeight"),minBlockSize:Q.sizes("minBlockSize"),maxWidth:Q.sizes("maxWidth"),maxInlineSize:Q.sizes("maxInlineSize"),maxHeight:Q.sizes("maxHeight"),maxBlockSize:Q.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,aspectRatio:!0,hideFrom:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (min-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.minW)!=null?i:e})`]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (max-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r._minW)!=null?i:e})`]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:Q.propT("float",St.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(ho,{w:ho.width,h:ho.height,minW:ho.minWidth,maxW:ho.maxWidth,minH:ho.minHeight,maxH:ho.maxHeight,overscroll:ho.overscrollBehavior,overscrollX:ho.overscrollBehaviorX,overscrollY:ho.overscrollBehaviorY});var W5e={listStyleType:!0,listStylePosition:!0,listStylePos:Q.prop("listStylePosition"),listStyleImage:!0,listStyleImg:Q.prop("listStyleImage")};function q5e(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},X5e=K5e(q5e),Y5e={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},Q5e={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},Kx=(e,t,n)=>{const r={},i=X5e(e,t,{});for(const o in i)o in n&&n[o]!=null||(r[o]=i[o]);return r},Z5e={srOnly:{transform(e){return e===!0?Y5e:e==="focusable"?Q5e:{}}},layerStyle:{processResult:!0,transform:(e,t,n)=>Kx(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>Kx(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>Kx(t,e,n)}},Rp={position:!0,pos:Q.prop("position"),zIndex:Q.prop("zIndex","zIndices"),inset:Q.spaceT("inset"),insetX:Q.spaceT(["left","right"]),insetInline:Q.spaceT("insetInline"),insetY:Q.spaceT(["top","bottom"]),insetBlock:Q.spaceT("insetBlock"),top:Q.spaceT("top"),insetBlockStart:Q.spaceT("insetBlockStart"),bottom:Q.spaceT("bottom"),insetBlockEnd:Q.spaceT("insetBlockEnd"),left:Q.spaceT("left"),insetInlineStart:Q.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:Q.spaceT("right"),insetInlineEnd:Q.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(Rp,{insetStart:Rp.insetInlineStart,insetEnd:Rp.insetInlineEnd});var J5e={ring:{transform:St.ring},ringColor:Q.colors("--chakra-ring-color"),ringOffset:Q.prop("--chakra-ring-offset-width"),ringOffsetColor:Q.colors("--chakra-ring-offset-color"),ringInset:Q.prop("--chakra-ring-inset")},tn={margin:Q.spaceT("margin"),marginTop:Q.spaceT("marginTop"),marginBlockStart:Q.spaceT("marginBlockStart"),marginRight:Q.spaceT("marginRight"),marginInlineEnd:Q.spaceT("marginInlineEnd"),marginBottom:Q.spaceT("marginBottom"),marginBlockEnd:Q.spaceT("marginBlockEnd"),marginLeft:Q.spaceT("marginLeft"),marginInlineStart:Q.spaceT("marginInlineStart"),marginX:Q.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:Q.spaceT("marginInline"),marginY:Q.spaceT(["marginTop","marginBottom"]),marginBlock:Q.spaceT("marginBlock"),padding:Q.space("padding"),paddingTop:Q.space("paddingTop"),paddingBlockStart:Q.space("paddingBlockStart"),paddingRight:Q.space("paddingRight"),paddingBottom:Q.space("paddingBottom"),paddingBlockEnd:Q.space("paddingBlockEnd"),paddingLeft:Q.space("paddingLeft"),paddingInlineStart:Q.space("paddingInlineStart"),paddingInlineEnd:Q.space("paddingInlineEnd"),paddingX:Q.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:Q.space("paddingInline"),paddingY:Q.space(["paddingTop","paddingBottom"]),paddingBlock:Q.space("paddingBlock")};Object.assign(tn,{m:tn.margin,mt:tn.marginTop,mr:tn.marginRight,me:tn.marginInlineEnd,marginEnd:tn.marginInlineEnd,mb:tn.marginBottom,ml:tn.marginLeft,ms:tn.marginInlineStart,marginStart:tn.marginInlineStart,mx:tn.marginX,my:tn.marginY,p:tn.padding,pt:tn.paddingTop,py:tn.paddingY,px:tn.paddingX,pb:tn.paddingBottom,pl:tn.paddingLeft,ps:tn.paddingInlineStart,paddingStart:tn.paddingInlineStart,pr:tn.paddingRight,pe:tn.paddingInlineEnd,paddingEnd:tn.paddingInlineEnd});var e4e={textDecorationColor:Q.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:Q.shadows("textShadow")},t4e={clipPath:!0,transform:Q.propT("transform",St.transform),transformOrigin:!0,translateX:Q.spaceT("--chakra-translate-x"),translateY:Q.spaceT("--chakra-translate-y"),skewX:Q.degreeT("--chakra-skew-x"),skewY:Q.degreeT("--chakra-skew-y"),scaleX:Q.prop("--chakra-scale-x"),scaleY:Q.prop("--chakra-scale-y"),scale:Q.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:Q.degreeT("--chakra-rotate")},n4e={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:Q.prop("transitionDuration","transition.duration"),transitionProperty:Q.prop("transitionProperty","transition.property"),transitionTimingFunction:Q.prop("transitionTimingFunction","transition.easing")},r4e={fontFamily:Q.prop("fontFamily","fonts"),fontSize:Q.prop("fontSize","fontSizes",St.px),fontWeight:Q.prop("fontWeight","fontWeights"),lineHeight:Q.prop("lineHeight","lineHeights"),letterSpacing:Q.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,textIndent:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,isTruncated:{transform(e){if(e===!0)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},i4e={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:Q.spaceT("scrollMargin"),scrollMarginTop:Q.spaceT("scrollMarginTop"),scrollMarginBottom:Q.spaceT("scrollMarginBottom"),scrollMarginLeft:Q.spaceT("scrollMarginLeft"),scrollMarginRight:Q.spaceT("scrollMarginRight"),scrollMarginX:Q.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:Q.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:Q.spaceT("scrollPadding"),scrollPaddingTop:Q.spaceT("scrollPaddingTop"),scrollPaddingBottom:Q.spaceT("scrollPaddingBottom"),scrollPaddingLeft:Q.spaceT("scrollPaddingLeft"),scrollPaddingRight:Q.spaceT("scrollPaddingRight"),scrollPaddingX:Q.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:Q.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function cV(e){return Sa(e)&&e.reference?e.reference:String(e)}var e2=(e,...t)=>t.map(cV).join(` ${e} `).replace(/calc/g,""),jk=(...e)=>`calc(${e2("+",...e)})`,Gk=(...e)=>`calc(${e2("-",...e)})`,x5=(...e)=>`calc(${e2("*",...e)})`,Hk=(...e)=>`calc(${e2("/",...e)})`,Wk=e=>{const t=cV(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:x5(t,-1)},Iu=Object.assign(e=>({add:(...t)=>Iu(jk(e,...t)),subtract:(...t)=>Iu(Gk(e,...t)),multiply:(...t)=>Iu(x5(e,...t)),divide:(...t)=>Iu(Hk(e,...t)),negate:()=>Iu(Wk(e)),toString:()=>e.toString()}),{add:jk,subtract:Gk,multiply:x5,divide:Hk,negate:Wk});function o4e(e,t="-"){return e.replace(/\s+/g,t)}function s4e(e){const t=o4e(e.toString());return l4e(a4e(t))}function a4e(e){return e.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?e.replace(".","\\."):e}function l4e(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}function u4e(e,t=""){return[t,e].filter(Boolean).join("-")}function c4e(e,t){return`var(${e}${t?`, ${t}`:""})`}function d4e(e,t=""){return s4e(`--${u4e(e,t)}`)}function C5(e,t,n){const r=d4e(e,n);return{variable:r,reference:c4e(r,t)}}function mMe(e,t){const n={};for(const r of t){if(Array.isArray(r)){const[i,o]=r;n[i]=C5(`${e}-${i}`,o);continue}n[r]=C5(`${e}-${r}`)}return n}function f4e(e){const t=e==null?0:e.length;return t?e[t-1]:void 0}function h4e(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}function T5(e){if(e==null)return e;const{unitless:t}=h4e(e);return t||typeof e=="number"?`${e}px`:e}var dV=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,GE=e=>Object.fromEntries(Object.entries(e).sort(dV));function qk(e){const t=GE(e);return Object.assign(Object.values(t),t)}function p4e(e){const t=Object.keys(GE(e));return new Set(t)}function Kk(e){var t;if(!e)return e;e=(t=T5(e))!=null?t:e;const n=-.02;return typeof e=="number"?`${e+n}`:e.replace(/(\d+\.?\d*)/u,r=>`${parseFloat(r)+n}`)}function pp(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${T5(e)})`),t&&n.push("and",`(max-width: ${T5(t)})`),n.join(" ")}function g4e(e){var t;if(!e)return null;e.base=(t=e.base)!=null?t:"0px";const n=qk(e),r=Object.entries(e).sort(dV).map(([s,a],l,u)=>{var d;let[,f]=(d=u[l+1])!=null?d:[];return f=parseFloat(f)>0?Kk(f):void 0,{_minW:Kk(a),breakpoint:s,minW:a,maxW:f,maxWQuery:pp(null,f),minWQuery:pp(a),minMaxQuery:pp(a,f)}}),i=p4e(e),o=Array.from(i.values());return{keys:i,normalized:n,isResponsive(s){const a=Object.keys(s);return a.length>0&&a.every(l=>i.has(l))},asObject:GE(e),asArray:qk(e),details:r,get(s){return r.find(a=>a.breakpoint===s)},media:[null,...n.map(s=>pp(s)).slice(1)],toArrayValue(s){if(!Sa(s))throw new Error("toArrayValue: value must be an object");const a=o.map(l=>{var u;return(u=s[l])!=null?u:null});for(;f4e(a)===null;)a.pop();return a},toObjectValue(s){if(!Array.isArray(s))throw new Error("toObjectValue: value must be an array");return s.reduce((a,l,u)=>{const d=o[u];return d!=null&&l!=null&&(a[d]=l),a},{})}}}var Tr={hover:(e,t)=>`${e}:hover ${t}, ${e}[data-hover] ${t}`,focus:(e,t)=>`${e}:focus ${t}, ${e}[data-focus] ${t}`,focusVisible:(e,t)=>`${e}:focus-visible ${t}`,focusWithin:(e,t)=>`${e}:focus-within ${t}`,active:(e,t)=>`${e}:active ${t}, ${e}[data-active] ${t}`,disabled:(e,t)=>`${e}:disabled ${t}, ${e}[data-disabled] ${t}`,invalid:(e,t)=>`${e}:invalid ${t}, ${e}[data-invalid] ${t}`,checked:(e,t)=>`${e}:checked ${t}, ${e}[data-checked] ${t}`,indeterminate:(e,t)=>`${e}:indeterminate ${t}, ${e}[aria-checked=mixed] ${t}, ${e}[data-indeterminate] ${t}`,readOnly:(e,t)=>`${e}:read-only ${t}, ${e}[readonly] ${t}, ${e}[data-read-only] ${t}`,expanded:(e,t)=>`${e}:read-only ${t}, ${e}[aria-expanded=true] ${t}, ${e}[data-expanded] ${t}`,placeholderShown:(e,t)=>`${e}:placeholder-shown ${t}`},ol=e=>fV(t=>e(t,"&"),"[role=group]","[data-group]",".group"),oa=e=>fV(t=>e(t,"~ &"),"[data-peer]",".peer"),fV=(e,...t)=>t.map(e).join(", "),t2={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible, &[data-focus-visible]",_disabled:"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_firstLetter:"&::first-letter",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:ol(Tr.hover),_peerHover:oa(Tr.hover),_groupFocus:ol(Tr.focus),_peerFocus:oa(Tr.focus),_groupFocusVisible:ol(Tr.focusVisible),_peerFocusVisible:oa(Tr.focusVisible),_groupActive:ol(Tr.active),_peerActive:oa(Tr.active),_groupDisabled:ol(Tr.disabled),_peerDisabled:oa(Tr.disabled),_groupInvalid:ol(Tr.invalid),_peerInvalid:oa(Tr.invalid),_groupChecked:ol(Tr.checked),_peerChecked:oa(Tr.checked),_groupFocusWithin:ol(Tr.focusWithin),_peerFocusWithin:oa(Tr.focusWithin),_peerPlaceholderShown:oa(Tr.placeholderShown),_placeholder:"&::placeholder",_placeholderShown:"&:placeholder-shown",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &, &[dir=rtl]",_ltr:"[dir=ltr] &, &[dir=ltr]",_mediaDark:"@media (prefers-color-scheme: dark)",_mediaReduceMotion:"@media (prefers-reduced-motion: reduce)",_dark:".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",_light:".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]",_horizontal:"&[data-orientation=horizontal]",_vertical:"&[data-orientation=vertical]"},hV=Object.keys(t2);function Xk(e,t){return C5(String(e).replace(/\./g,"-"),void 0,t)}function m4e(e,t){let n={};const r={};for(const[i,o]of Object.entries(e)){const{isSemantic:s,value:a}=o,{variable:l,reference:u}=Xk(i,t==null?void 0:t.cssVarPrefix);if(!s){if(i.startsWith("space")){const p=i.split("."),[g,...m]=p,v=`${g}.-${m.join(".")}`,x=Iu.negate(a),_=Iu.negate(u);r[v]={value:x,var:l,varRef:_}}n[l]=a,r[i]={value:a,var:l,varRef:u};continue}const d=p=>{const m=[String(i).split(".")[0],p].join(".");if(!e[m])return p;const{reference:x}=Xk(m,t==null?void 0:t.cssVarPrefix);return x},f=Sa(a)?a:{default:a};n=Ts(n,Object.entries(f).reduce((p,[g,m])=>{var v,x;if(!m)return p;const _=d(`${m}`);if(g==="default")return p[l]=_,p;const b=(x=(v=t2)==null?void 0:v[g])!=null?x:g;return p[b]={[l]:_},p},{})),r[i]={value:u,var:l,varRef:u}}return{cssVars:n,cssMap:r}}function y4e(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function v4e(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function _4e(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}function Yk(e,t,n={}){const{stop:r,getKey:i}=n;function o(s,a=[]){var l;if(_4e(s)||Array.isArray(s)){const u={};for(const[d,f]of Object.entries(s)){const p=(l=i==null?void 0:i(d))!=null?l:d,g=[...a,p];if(r!=null&&r(s,g))return t(s,a);u[p]=o(f,g)}return u}return t(s,a)}return o(e)}var b4e=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","gradients","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur","breakpoints"];function S4e(e){return v4e(e,b4e)}function w4e(e){return e.semanticTokens}function x4e(e){const{__cssMap:t,__cssVars:n,__breakpoints:r,...i}=e;return i}var C4e=e=>hV.includes(e)||e==="default";function T4e({tokens:e,semanticTokens:t}){const n={};return Yk(e,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!1,value:r})}),Yk(t,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!0,value:r})},{stop:r=>Object.keys(r).every(C4e)}),n}function yMe(e){var t;const n=x4e(e),r=S4e(n),i=w4e(n),o=T4e({tokens:r,semanticTokens:i}),s=(t=n.config)==null?void 0:t.cssVarPrefix,{cssMap:a,cssVars:l}=m4e(o,{cssVarPrefix:s});return Object.assign(n,{__cssVars:{...{"--chakra-ring-inset":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-ring-offset-width":"0px","--chakra-ring-offset-color":"#fff","--chakra-ring-color":"rgba(66, 153, 225, 0.6)","--chakra-ring-offset-shadow":"0 0 #0000","--chakra-ring-shadow":"0 0 #0000","--chakra-space-x-reverse":"0","--chakra-space-y-reverse":"0"},...l},__cssMap:a,__breakpoints:g4e(n.breakpoints)}),n}var HE=Ts({},Pv,Et,j5e,o_,ho,G5e,J5e,H5e,uV,Z5e,Rp,w5,tn,i4e,r4e,e4e,t4e,W5e,n4e),E4e=Object.assign({},tn,ho,o_,uV,Rp),vMe=Object.keys(E4e),A4e=[...Object.keys(HE),...hV],P4e={...HE,...t2},R4e=e=>e in P4e,O4e=e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:i}=t.__breakpoints,o={};for(const s in e){let a=Bu(e[s],t);if(a==null)continue;if(a=Sa(a)&&n(a)?r(a):a,!Array.isArray(a)){o[s]=a;continue}const l=a.slice(0,i.length).length;for(let u=0;ue.startsWith("--")&&typeof t=="string"&&!I4e(t),N4e=(e,t)=>{var n,r;if(t==null)return t;const i=l=>{var u,d;return(d=(u=e.__cssMap)==null?void 0:u[l])==null?void 0:d.varRef},o=l=>{var u;return(u=i(l))!=null?u:l},[s,a]=k4e(t);return t=(r=(n=i(s))!=null?n:o(a))!=null?r:o(t),t};function L4e(e){const{configs:t={},pseudos:n={},theme:r}=e,i=(o,s=!1)=>{var a,l,u;const d=Bu(o,r),f=O4e(d)(r);let p={};for(let g in f){const m=f[g];let v=Bu(m,r);g in n&&(g=n[g]),M4e(g,v)&&(v=N4e(r,v));let x=t[g];if(x===!0&&(x={property:g}),Sa(v)){p[g]=(a=p[g])!=null?a:{},p[g]=Ts({},p[g],i(v,!0));continue}let _=(u=(l=x==null?void 0:x.transform)==null?void 0:l.call(x,v,r,d))!=null?u:v;_=x!=null&&x.processResult?i(_,!0):_;const b=Bu(x==null?void 0:x.property,r);if(!s&&(x!=null&&x.static)){const y=Bu(x.static,r);p=Ts({},p,y)}if(b&&Array.isArray(b)){for(const y of b)p[y]=_;continue}if(b){b==="&"&&Sa(_)?p=Ts({},p,_):p[b]=_;continue}if(Sa(_)){p=Ts({},p,_);continue}p[g]=_}return p};return i}var D4e=e=>t=>L4e({theme:t,pseudos:t2,configs:HE})(e);function _Me(e){return e}function bMe(e){return e}function SMe(e){return{definePartsStyle(t){return t},defineMultiStyleConfig(t){return{parts:e,...t}}}}function $4e(e,t){if(Array.isArray(e))return e;if(Sa(e))return t(e);if(e!=null)return[e]}function F4e(e,t){for(let n=t+1;n{Ts(u,{[y]:p?b[y]:{[_]:b[y]}})});continue}if(!g){p?Ts(u,b):u[_]=b;continue}u[_]=b}}return u}}function U4e(e){return t=>{var n;const{variant:r,size:i,theme:o}=t,s=B4e(o);return Ts({},Bu((n=e.baseStyle)!=null?n:{},t),s(e,"sizes",i,t),s(e,"variants",r,t))}}function wMe(e,t,n){var r,i,o;return(o=(i=(r=e.__cssMap)==null?void 0:r[`${t}.${n}`])==null?void 0:i.varRef)!=null?o:n}function pV(e){return y4e(e,["styleConfig","size","variant","colorScheme"])}function z4e(e,t){const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}function V4e(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},G4e=j4e(V4e);function gV(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r];t(i,r,e)&&(n[r]=i)}),n}var mV=e=>gV(e,t=>t!=null);function H4e(e){return typeof e=="function"}function W4e(e,...t){return H4e(e)?e(...t):e}function xMe(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}var q4e=typeof Element<"u",K4e=typeof Map=="function",X4e=typeof Set=="function",Y4e=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Rv(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,r,i;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Rv(e[r],t[r]))return!1;return!0}var o;if(K4e&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;for(o=e.entries();!(r=o.next()).done;)if(!Rv(r.value[1],t.get(r.value[0])))return!1;return!0}if(X4e&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(Y4e&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;if(q4e&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!Rv(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var Q4e=function(t,n){try{return Rv(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const Z4e=dc(Q4e);function yV(e,t={}){var n;const{styleConfig:r,...i}=t,{theme:o,colorMode:s}=b5e(),a=e?G4e(o,`components.${e}`):void 0,l=r||a,u=Ts({theme:o,colorMode:s},(n=l==null?void 0:l.defaultProps)!=null?n:{},mV(z4e(i,["children"]))),d=L.useRef({});if(l){const p=U4e(l)(u);Z4e(d.current,p)||(d.current=p)}return d.current}function vV(e,t={}){return yV(e,t)}function CMe(e,t={}){return yV(e,t)}var J4e=new Set([...A4e,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),eTe=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function tTe(e){return eTe.has(e)||!J4e.has(e)}function nTe(e,...t){if(e==null)throw new TypeError("Cannot convert undefined or null to object");const n={...e};for(const r of t)if(r!=null)for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&(i in n&&delete n[i],n[i]=r[i]);return n}var rTe=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,iTe=Qz(function(e){return rTe.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),oTe=iTe,sTe=function(t){return t!=="theme"},Qk=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?oTe:sTe},Zk=function(t,n,r){var i;if(n){var o=n.shouldForwardProp;i=t.__emotion_forwardProp&&o?function(s){return t.__emotion_forwardProp(s)&&o(s)}:o}return typeof i!="function"&&r&&(i=t.__emotion_forwardProp),i},aTe=function(t){var n=t.cache,r=t.serialized,i=t.isStringTag;return Jz(n,r,i),p5e(function(){return eV(n,r,i)}),null},lTe=function e(t,n){var r=t.__emotion_real===t,i=r&&t.__emotion_base||t,o,s;n!==void 0&&(o=n.label,s=n.target);var a=Zk(t,n,r),l=a||Qk(i),u=!l("as");return function(){var d=arguments,f=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&f.push("label:"+o+";"),d[0]==null||d[0].raw===void 0)f.push.apply(f,d);else{f.push(d[0][0]);for(var p=d.length,g=1;gt=>{const{theme:n,css:r,__css:i,sx:o,...s}=t,a=gV(s,(f,p)=>R4e(p)),l=W4e(e,t),u=nTe({},i,l,mV(a),o),d=D4e(u)(t.theme);return r?[d,r]:d};function Xx(e,t){const{baseStyle:n,...r}=t??{};r.shouldForwardProp||(r.shouldForwardProp=tTe);const i=dTe({baseStyle:n}),o=cTe(e,r)(i);return Lt.forwardRef(function(l,u){const{colorMode:d,forced:f}=VE();return Lt.createElement(o,{ref:u,"data-theme":f?d:void 0,...l})})}function fTe(){const e=new Map;return new Proxy(Xx,{apply(t,n,r){return Xx(...r)},get(t,n){return e.has(n)||e.set(n,Xx(n)),e.get(n)}})}var cc=fTe();function Pc(e){return L.forwardRef(e)}const _V=L.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),n2=L.createContext({}),Lm=L.createContext(null),r2=typeof document<"u",a_=r2?L.useLayoutEffect:L.useEffect,bV=L.createContext({strict:!1});function hTe(e,t,n,r){const{visualElement:i}=L.useContext(n2),o=L.useContext(bV),s=L.useContext(Lm),a=L.useContext(_V).reducedMotion,l=L.useRef();r=r||o.renderer,!l.current&&r&&(l.current=r(e,{visualState:t,parent:i,props:n,presenceContext:s,blockInitialAnimation:s?s.initial===!1:!1,reducedMotionConfig:a}));const u=l.current;return L.useInsertionEffect(()=>{u&&u.update(n,s)}),a_(()=>{u&&u.render()}),L.useEffect(()=>{u&&u.updateFeatures()}),(window.HandoffAppearAnimations?a_:L.useEffect)(()=>{u&&u.animationState&&u.animationState.animateChanges()}),u}function $d(e){return typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function pTe(e,t,n){return L.useCallback(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):$d(n)&&(n.current=r))},[t])}function zg(e){return typeof e=="string"||Array.isArray(e)}function i2(e){return typeof e=="object"&&typeof e.start=="function"}const WE=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],qE=["initial",...WE];function o2(e){return i2(e.animate)||qE.some(t=>zg(e[t]))}function SV(e){return!!(o2(e)||e.variants)}function gTe(e,t){if(o2(e)){const{initial:n,animate:r}=e;return{initial:n===!1||zg(n)?n:void 0,animate:zg(r)?r:void 0}}return e.inherit!==!1?t:{}}function mTe(e){const{initial:t,animate:n}=gTe(e,L.useContext(n2));return L.useMemo(()=>({initial:t,animate:n}),[eI(t),eI(n)])}function eI(e){return Array.isArray(e)?e.join(" "):e}const tI={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},Vg={};for(const e in tI)Vg[e]={isEnabled:t=>tI[e].some(n=>!!t[n])};function yTe(e){for(const t in e)Vg[t]={...Vg[t],...e[t]}}const KE=L.createContext({}),wV=L.createContext({}),vTe=Symbol.for("motionComponentSymbol");function _Te({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:i}){e&&yTe(e);function o(a,l){let u;const d={...L.useContext(_V),...a,layoutId:bTe(a)},{isStatic:f}=d,p=mTe(a),g=r(a,f);if(!f&&r2){p.visualElement=hTe(i,g,d,t);const m=L.useContext(wV),v=L.useContext(bV).strict;p.visualElement&&(u=p.visualElement.loadFeatures(d,v,e,m))}return L.createElement(n2.Provider,{value:p},u&&p.visualElement?L.createElement(u,{visualElement:p.visualElement,...d}):null,n(i,a,pTe(g,p.visualElement,l),g,f,p.visualElement))}const s=L.forwardRef(o);return s[vTe]=i,s}function bTe({layoutId:e}){const t=L.useContext(KE).id;return t&&e!==void 0?t+"-"+e:e}function STe(e){function t(r,i={}){return _Te(e(r,i))}if(typeof Proxy>"u")return t;const n=new Map;return new Proxy(t,{get:(r,i)=>(n.has(i)||n.set(i,t(i)),n.get(i))})}const wTe=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function XE(e){return typeof e!="string"||e.includes("-")?!1:!!(wTe.indexOf(e)>-1||/[A-Z]/.test(e))}const l_={};function xTe(e){Object.assign(l_,e)}const Dm=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Rc=new Set(Dm);function xV(e,{layout:t,layoutId:n}){return Rc.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!l_[e]||e==="opacity")}const ki=e=>!!(e&&e.getVelocity),CTe={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},TTe=Dm.length;function ETe(e,{enableHardwareAcceleration:t=!0,allowTransformNone:n=!0},r,i){let o="";for(let s=0;st=>typeof t=="string"&&t.startsWith(e),TV=CV("--"),E5=CV("var(--"),ATe=/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,PTe=(e,t)=>t&&typeof e=="number"?t.transform(e):e,Kl=(e,t,n)=>Math.min(Math.max(n,e),t),Oc={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Op={...Oc,transform:e=>Kl(0,1,e)},G0={...Oc,default:1},kp=e=>Math.round(e*1e5)/1e5,s2=/(-)?([\d]*\.?[\d])+/g,EV=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,RTe=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function $m(e){return typeof e=="string"}const Fm=e=>({test:t=>$m(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),al=Fm("deg"),Is=Fm("%"),Be=Fm("px"),OTe=Fm("vh"),kTe=Fm("vw"),nI={...Is,parse:e=>Is.parse(e)/100,transform:e=>Is.transform(e*100)},rI={...Oc,transform:Math.round},AV={borderWidth:Be,borderTopWidth:Be,borderRightWidth:Be,borderBottomWidth:Be,borderLeftWidth:Be,borderRadius:Be,radius:Be,borderTopLeftRadius:Be,borderTopRightRadius:Be,borderBottomRightRadius:Be,borderBottomLeftRadius:Be,width:Be,maxWidth:Be,height:Be,maxHeight:Be,size:Be,top:Be,right:Be,bottom:Be,left:Be,padding:Be,paddingTop:Be,paddingRight:Be,paddingBottom:Be,paddingLeft:Be,margin:Be,marginTop:Be,marginRight:Be,marginBottom:Be,marginLeft:Be,rotate:al,rotateX:al,rotateY:al,rotateZ:al,scale:G0,scaleX:G0,scaleY:G0,scaleZ:G0,skew:al,skewX:al,skewY:al,distance:Be,translateX:Be,translateY:Be,translateZ:Be,x:Be,y:Be,z:Be,perspective:Be,transformPerspective:Be,opacity:Op,originX:nI,originY:nI,originZ:Be,zIndex:rI,fillOpacity:Op,strokeOpacity:Op,numOctaves:rI};function YE(e,t,n,r){const{style:i,vars:o,transform:s,transformOrigin:a}=e;let l=!1,u=!1,d=!0;for(const f in t){const p=t[f];if(TV(f)){o[f]=p;continue}const g=AV[f],m=PTe(p,g);if(Rc.has(f)){if(l=!0,s[f]=m,!d)continue;p!==(g.default||0)&&(d=!1)}else f.startsWith("origin")?(u=!0,a[f]=m):i[f]=m}if(t.transform||(l||r?i.transform=ETe(e.transform,n,d,r):i.transform&&(i.transform="none")),u){const{originX:f="50%",originY:p="50%",originZ:g=0}=a;i.transformOrigin=`${f} ${p} ${g}`}}const QE=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function PV(e,t,n){for(const r in t)!ki(t[r])&&!xV(r,n)&&(e[r]=t[r])}function ITe({transformTemplate:e},t,n){return L.useMemo(()=>{const r=QE();return YE(r,t,{enableHardwareAcceleration:!n},e),Object.assign({},r.vars,r.style)},[t])}function MTe(e,t,n){const r=e.style||{},i={};return PV(i,r,e),Object.assign(i,ITe(e,t,n)),e.transformValues?e.transformValues(i):i}function NTe(e,t,n){const r={},i=MTe(e,t,n);return e.drag&&e.dragListener!==!1&&(r.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(r.tabIndex=0),r.style=i,r}const LTe=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","ignoreStrict","viewport"]);function u_(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||LTe.has(e)}let RV=e=>!u_(e);function DTe(e){e&&(RV=t=>t.startsWith("on")?!u_(t):e(t))}try{DTe(require("@emotion/is-prop-valid").default)}catch{}function $Te(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(RV(i)||n===!0&&u_(i)||!t&&!u_(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function iI(e,t,n){return typeof e=="string"?e:Be.transform(t+n*e)}function FTe(e,t,n){const r=iI(t,e.x,e.width),i=iI(n,e.y,e.height);return`${r} ${i}`}const BTe={offset:"stroke-dashoffset",array:"stroke-dasharray"},UTe={offset:"strokeDashoffset",array:"strokeDasharray"};function zTe(e,t,n=1,r=0,i=!0){e.pathLength=1;const o=i?BTe:UTe;e[o.offset]=Be.transform(-r);const s=Be.transform(t),a=Be.transform(n);e[o.array]=`${s} ${a}`}function ZE(e,{attrX:t,attrY:n,attrScale:r,originX:i,originY:o,pathLength:s,pathSpacing:a=1,pathOffset:l=0,...u},d,f,p){if(YE(e,u,d,p),f){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:g,style:m,dimensions:v}=e;g.transform&&(v&&(m.transform=g.transform),delete g.transform),v&&(i!==void 0||o!==void 0||m.transform)&&(m.transformOrigin=FTe(v,i!==void 0?i:.5,o!==void 0?o:.5)),t!==void 0&&(g.x=t),n!==void 0&&(g.y=n),r!==void 0&&(g.scale=r),s!==void 0&&zTe(g,s,a,l,!1)}const OV=()=>({...QE(),attrs:{}}),JE=e=>typeof e=="string"&&e.toLowerCase()==="svg";function VTe(e,t,n,r){const i=L.useMemo(()=>{const o=OV();return ZE(o,t,{enableHardwareAcceleration:!1},JE(r),e.transformTemplate),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};PV(o,e.style,e),i.style={...o,...i.style}}return i}function jTe(e=!1){return(n,r,i,{latestValues:o},s)=>{const l=(XE(n)?VTe:NTe)(r,o,s,n),d={...$Te(r,typeof n=="string",e),...l,ref:i},{children:f}=r,p=L.useMemo(()=>ki(f)?f.get():f,[f]);return L.createElement(n,{...d,children:p})}}const e6=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function kV(e,{style:t,vars:n},r,i){Object.assign(e.style,t,i&&i.getProjectionStyles(r));for(const o in n)e.style.setProperty(o,n[o])}const IV=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function MV(e,t,n,r){kV(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(IV.has(i)?i:e6(i),t.attrs[i])}function t6(e,t){const{style:n}=e,r={};for(const i in n)(ki(n[i])||t.style&&ki(t.style[i])||xV(i,e))&&(r[i]=n[i]);return r}function NV(e,t){const n=t6(e,t);for(const r in e)if(ki(e[r])||ki(t[r])){const i=Dm.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;n[i]=e[r]}return n}function n6(e,t,n,r={},i={}){return typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),t}function LV(e){const t=L.useRef(null);return t.current===null&&(t.current=e()),t.current}const c_=e=>Array.isArray(e),GTe=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),HTe=e=>c_(e)?e[e.length-1]||0:e;function Ov(e){const t=ki(e)?e.get():e;return GTe(t)?t.toValue():t}function WTe({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,o){const s={latestValues:qTe(r,i,o,e),renderState:t()};return n&&(s.mount=a=>n(r,a,s)),s}const DV=e=>(t,n)=>{const r=L.useContext(n2),i=L.useContext(Lm),o=()=>WTe(e,t,r,i);return n?o():LV(o)};function qTe(e,t,n,r){const i={},o=r(e,{});for(const p in o)i[p]=Ov(o[p]);let{initial:s,animate:a}=e;const l=o2(e),u=SV(e);t&&u&&!l&&e.inherit!==!1&&(s===void 0&&(s=t.initial),a===void 0&&(a=t.animate));let d=n?n.initial===!1:!1;d=d||s===!1;const f=d?a:s;return f&&typeof f!="boolean"&&!i2(f)&&(Array.isArray(f)?f:[f]).forEach(g=>{const m=n6(e,g);if(!m)return;const{transitionEnd:v,transition:x,..._}=m;for(const b in _){let y=_[b];if(Array.isArray(y)){const S=d?y.length-1:0;y=y[S]}y!==null&&(i[b]=y)}for(const b in v)i[b]=v[b]}),i}const KTe={useVisualState:DV({scrapeMotionValuesFromProps:NV,createRenderState:OV,onMount:(e,t,{renderState:n,latestValues:r})=>{try{n.dimensions=typeof t.getBBox=="function"?t.getBBox():t.getBoundingClientRect()}catch{n.dimensions={x:0,y:0,width:0,height:0}}ZE(n,r,{enableHardwareAcceleration:!1},JE(t.tagName),e.transformTemplate),MV(t,n)}})},XTe={useVisualState:DV({scrapeMotionValuesFromProps:t6,createRenderState:QE})};function YTe(e,{forwardMotionProps:t=!1},n,r){return{...XE(e)?KTe:XTe,preloadedFeatures:n,useRender:jTe(t),createVisualElement:r,Component:e}}function ya(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const $V=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function a2(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const QTe=e=>t=>$V(t)&&e(t,a2(t));function wa(e,t,n,r){return ya(e,t,QTe(n),r)}const ZTe=(e,t)=>n=>t(e(n)),Ml=(...e)=>e.reduce(ZTe);function FV(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const oI=FV("dragHorizontal"),sI=FV("dragVertical");function BV(e){let t=!1;if(e==="y")t=sI();else if(e==="x")t=oI();else{const n=oI(),r=sI();n&&r?t=()=>{n(),r()}:(n&&n(),r&&r())}return t}function UV(){const e=BV(!0);return e?(e(),!1):!0}class uu{constructor(t){this.isMounted=!1,this.node=t}update(){}}const Gn=e=>e;function JTe(e){let t=[],n=[],r=0,i=!1,o=!1;const s=new WeakSet,a={schedule:(l,u=!1,d=!1)=>{const f=d&&i,p=f?t:n;return u&&s.add(l),p.indexOf(l)===-1&&(p.push(l),f&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),s.delete(l)},process:l=>{if(i){o=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let u=0;u(f[p]=JTe(()=>n=!0),f),{}),s=f=>o[f].process(i),a=f=>{n=!1,i.delta=r?1e3/60:Math.max(Math.min(f-i.timestamp,eEe),1),i.timestamp=f,i.isProcessing=!0,H0.forEach(s),i.isProcessing=!1,n&&t&&(r=!1,e(a))},l=()=>{n=!0,r=!0,i.isProcessing||e(a)};return{schedule:H0.reduce((f,p)=>{const g=o[p];return f[p]=(m,v=!1,x=!1)=>(n||l(),g.schedule(m,v,x)),f},{}),cancel:f=>H0.forEach(p=>o[p].cancel(f)),state:i,steps:o}}const{schedule:dn,cancel:Ia,state:zr,steps:Yx}=tEe(typeof requestAnimationFrame<"u"?requestAnimationFrame:Gn,!0);function aI(e,t){const n="pointer"+(t?"enter":"leave"),r="onHover"+(t?"Start":"End"),i=(o,s)=>{if(o.type==="touch"||UV())return;const a=e.getProps();e.animationState&&a.whileHover&&e.animationState.setActive("whileHover",t),a[r]&&dn.update(()=>a[r](o,s))};return wa(e.current,n,i,{passive:!e.getProps()[r]})}class nEe extends uu{mount(){this.unmount=Ml(aI(this.node,!0),aI(this.node,!1))}unmount(){}}class rEe extends uu{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Ml(ya(this.node.current,"focus",()=>this.onFocus()),ya(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const zV=(e,t)=>t?e===t?!0:zV(e,t.parentElement):!1;function Qx(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,a2(n))}class iEe extends uu{constructor(){super(...arguments),this.removeStartListeners=Gn,this.removeEndListeners=Gn,this.removeAccessibleListeners=Gn,this.startPointerPress=(t,n)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),o=wa(window,"pointerup",(a,l)=>{if(!this.checkPressEnd())return;const{onTap:u,onTapCancel:d}=this.node.getProps();dn.update(()=>{zV(this.node.current,a.target)?u&&u(a,l):d&&d(a,l)})},{passive:!(r.onTap||r.onPointerUp)}),s=wa(window,"pointercancel",(a,l)=>this.cancelPress(a,l),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=Ml(o,s),this.startPress(t,n)},this.startAccessiblePress=()=>{const t=o=>{if(o.key!=="Enter"||this.isPressing)return;const s=a=>{a.key!=="Enter"||!this.checkPressEnd()||Qx("up",(l,u)=>{const{onTap:d}=this.node.getProps();d&&dn.update(()=>d(l,u))})};this.removeEndListeners(),this.removeEndListeners=ya(this.node.current,"keyup",s),Qx("down",(a,l)=>{this.startPress(a,l)})},n=ya(this.node.current,"keydown",t),r=()=>{this.isPressing&&Qx("cancel",(o,s)=>this.cancelPress(o,s))},i=ya(this.node.current,"blur",r);this.removeAccessibleListeners=Ml(n,i)}}startPress(t,n){this.isPressing=!0;const{onTapStart:r,whileTap:i}=this.node.getProps();i&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),r&&dn.update(()=>r(t,n))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!UV()}cancelPress(t,n){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&dn.update(()=>r(t,n))}mount(){const t=this.node.getProps(),n=wa(this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),r=ya(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=Ml(n,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const A5=new WeakMap,Zx=new WeakMap,oEe=e=>{const t=A5.get(e.target);t&&t(e)},sEe=e=>{e.forEach(oEe)};function aEe({root:e,...t}){const n=e||document;Zx.has(n)||Zx.set(n,{});const r=Zx.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(sEe,{root:e,...t})),r[i]}function lEe(e,t,n){const r=aEe(t);return A5.set(e,n),r.observe(e),()=>{A5.delete(e),r.unobserve(e)}}const uEe={some:0,all:1};class cEe extends uu{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:o}=t,s={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:uEe[i]},a=l=>{const{isIntersecting:u}=l;if(this.isInView===u||(this.isInView=u,o&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:d,onViewportLeave:f}=this.node.getProps(),p=u?d:f;p&&p(l)};return lEe(this.node.current,s,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(dEe(t,n))&&this.startObserver()}unmount(){}}function dEe({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const fEe={inView:{Feature:cEe},tap:{Feature:iEe},focus:{Feature:rEe},hover:{Feature:nEe}};function VV(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;rt[r]=n.get()),t}function pEe(e){const t={};return e.values.forEach((n,r)=>t[r]=n.getVelocity()),t}function l2(e,t,n){const r=e.getProps();return n6(r,t,n!==void 0?n:r.custom,hEe(e),pEe(e))}const gEe="framerAppearId",mEe="data-"+e6(gEe);let yEe=Gn,r6=Gn;const Nl=e=>e*1e3,xa=e=>e/1e3,vEe={current:!1},jV=e=>Array.isArray(e)&&typeof e[0]=="number";function GV(e){return!!(!e||typeof e=="string"&&HV[e]||jV(e)||Array.isArray(e)&&e.every(GV))}const gp=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,HV={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:gp([0,.65,.55,1]),circOut:gp([.55,0,1,.45]),backIn:gp([.31,.01,.66,-.59]),backOut:gp([.33,1.53,.69,.99])};function WV(e){if(e)return jV(e)?gp(e):Array.isArray(e)?e.map(WV):HV[e]}function _Ee(e,t,n,{delay:r=0,duration:i,repeat:o=0,repeatType:s="loop",ease:a,times:l}={}){const u={[t]:n};l&&(u.offset=l);const d=WV(a);return Array.isArray(d)&&(u.easing=d),e.animate(u,{delay:r,duration:i,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:o+1,direction:s==="reverse"?"alternate":"normal"})}const lI={waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate")},Jx={},qV={};for(const e in lI)qV[e]=()=>(Jx[e]===void 0&&(Jx[e]=lI[e]()),Jx[e]);function bEe(e,{repeat:t,repeatType:n="loop"}){const r=t&&n!=="loop"&&t%2===1?0:e.length-1;return e[r]}const KV=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,SEe=1e-7,wEe=12;function xEe(e,t,n,r,i){let o,s,a=0;do s=t+(n-t)/2,o=KV(s,r,i)-e,o>0?n=s:t=s;while(Math.abs(o)>SEe&&++axEe(o,0,1,e,n);return o=>o===0||o===1?o:KV(i(o),t,r)}const CEe=Bm(.42,0,1,1),TEe=Bm(0,0,.58,1),XV=Bm(.42,0,.58,1),EEe=e=>Array.isArray(e)&&typeof e[0]!="number",YV=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,QV=e=>t=>1-e(1-t),ZV=e=>1-Math.sin(Math.acos(e)),i6=QV(ZV),AEe=YV(i6),JV=Bm(.33,1.53,.69,.99),o6=QV(JV),PEe=YV(o6),REe=e=>(e*=2)<1?.5*o6(e):.5*(2-Math.pow(2,-10*(e-1))),OEe={linear:Gn,easeIn:CEe,easeInOut:XV,easeOut:TEe,circIn:ZV,circInOut:AEe,circOut:i6,backIn:o6,backInOut:PEe,backOut:JV,anticipate:REe},uI=e=>{if(Array.isArray(e)){r6(e.length===4);const[t,n,r,i]=e;return Bm(t,n,r,i)}else if(typeof e=="string")return OEe[e];return e},s6=(e,t)=>n=>!!($m(n)&&RTe.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),ej=(e,t,n)=>r=>{if(!$m(r))return r;const[i,o,s,a]=r.match(s2);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(s),alpha:a!==void 0?parseFloat(a):1}},kEe=e=>Kl(0,255,e),eC={...Oc,transform:e=>Math.round(kEe(e))},Uu={test:s6("rgb","red"),parse:ej("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+eC.transform(e)+", "+eC.transform(t)+", "+eC.transform(n)+", "+kp(Op.transform(r))+")"};function IEe(e){let t="",n="",r="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const P5={test:s6("#"),parse:IEe,transform:Uu.transform},Fd={test:s6("hsl","hue"),parse:ej("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+Is.transform(kp(t))+", "+Is.transform(kp(n))+", "+kp(Op.transform(r))+")"},ni={test:e=>Uu.test(e)||P5.test(e)||Fd.test(e),parse:e=>Uu.test(e)?Uu.parse(e):Fd.test(e)?Fd.parse(e):P5.parse(e),transform:e=>$m(e)?e:e.hasOwnProperty("red")?Uu.transform(e):Fd.transform(e)},vn=(e,t,n)=>-n*e+n*t+e;function tC(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function MEe({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,o=0,s=0;if(!t)i=o=s=n;else{const a=n<.5?n*(1+t):n+t-n*t,l=2*n-a;i=tC(l,a,e+1/3),o=tC(l,a,e),s=tC(l,a,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(s*255),alpha:r}}const nC=(e,t,n)=>{const r=e*e;return Math.sqrt(Math.max(0,n*(t*t-r)+r))},NEe=[P5,Uu,Fd],LEe=e=>NEe.find(t=>t.test(e));function cI(e){const t=LEe(e);let n=t.parse(e);return t===Fd&&(n=MEe(n)),n}const tj=(e,t)=>{const n=cI(e),r=cI(t),i={...n};return o=>(i.red=nC(n.red,r.red,o),i.green=nC(n.green,r.green,o),i.blue=nC(n.blue,r.blue,o),i.alpha=vn(n.alpha,r.alpha,o),Uu.transform(i))};function DEe(e){var t,n;return isNaN(e)&&$m(e)&&(((t=e.match(s2))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(EV))===null||n===void 0?void 0:n.length)||0)>0}const nj={regex:ATe,countKey:"Vars",token:"${v}",parse:Gn},rj={regex:EV,countKey:"Colors",token:"${c}",parse:ni.parse},ij={regex:s2,countKey:"Numbers",token:"${n}",parse:Oc.parse};function rC(e,{regex:t,countKey:n,token:r,parse:i}){const o=e.tokenised.match(t);o&&(e["num"+n]=o.length,e.tokenised=e.tokenised.replace(t,r),e.values.push(...o.map(i)))}function d_(e){const t=e.toString(),n={value:t,tokenised:t,values:[],numVars:0,numColors:0,numNumbers:0};return n.value.includes("var(--")&&rC(n,nj),rC(n,rj),rC(n,ij),n}function oj(e){return d_(e).values}function sj(e){const{values:t,numColors:n,numVars:r,tokenised:i}=d_(e),o=t.length;return s=>{let a=i;for(let l=0;ltypeof e=="number"?0:e;function FEe(e){const t=oj(e);return sj(e)(t.map($Ee))}const Xl={test:DEe,parse:oj,createTransformer:sj,getAnimatableNone:FEe},aj=(e,t)=>n=>`${n>0?t:e}`;function lj(e,t){return typeof e=="number"?n=>vn(e,t,n):ni.test(e)?tj(e,t):e.startsWith("var(")?aj(e,t):cj(e,t)}const uj=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,s)=>lj(o,t[s]));return o=>{for(let s=0;s{const n={...e,...t},r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=lj(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}},cj=(e,t)=>{const n=Xl.createTransformer(t),r=d_(e),i=d_(t);return r.numVars===i.numVars&&r.numColors===i.numColors&&r.numNumbers>=i.numNumbers?Ml(uj(r.values,i.values),n):aj(e,t)},jg=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},dI=(e,t)=>n=>vn(e,t,n);function UEe(e){return typeof e=="number"?dI:typeof e=="string"?ni.test(e)?tj:cj:Array.isArray(e)?uj:typeof e=="object"?BEe:dI}function zEe(e,t,n){const r=[],i=n||UEe(e[0]),o=e.length-1;for(let s=0;st[0];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const s=zEe(t,r,i),a=s.length,l=u=>{let d=0;if(a>1)for(;dl(Kl(e[0],e[o-1],u)):l}function VEe(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const i=jg(0,t,r);e.push(vn(n,1,i))}}function jEe(e){const t=[0];return VEe(t,e.length-1),t}function GEe(e,t){return e.map(n=>n*t)}function HEe(e,t){return e.map(()=>t||XV).splice(0,e.length-1)}function f_({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const i=EEe(r)?r.map(uI):uI(r),o={done:!1,value:t[0]},s=GEe(n&&n.length===t.length?n:jEe(t),e),a=dj(s,t,{ease:Array.isArray(i)?i:HEe(t,i)});return{calculatedDuration:e,next:l=>(o.value=a(l),o.done=l>=e,o)}}function fj(e,t){return t?e*(1e3/t):0}const WEe=5;function hj(e,t,n){const r=Math.max(t-WEe,0);return fj(n-e(r),t-r)}const iC=.001,qEe=.01,fI=10,KEe=.05,XEe=1;function YEe({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,o;yEe(e<=Nl(fI));let s=1-t;s=Kl(KEe,XEe,s),e=Kl(qEe,fI,xa(e)),s<1?(i=u=>{const d=u*s,f=d*e,p=d-n,g=R5(u,s),m=Math.exp(-f);return iC-p/g*m},o=u=>{const f=u*s*e,p=f*n+n,g=Math.pow(s,2)*Math.pow(u,2)*e,m=Math.exp(-f),v=R5(Math.pow(u,2),s);return(-i(u)+iC>0?-1:1)*((p-g)*m)/v}):(i=u=>{const d=Math.exp(-u*e),f=(u-n)*e+1;return-iC+d*f},o=u=>{const d=Math.exp(-u*e),f=(n-u)*(e*e);return d*f});const a=5/e,l=ZEe(i,o,a);if(e=Nl(e),isNaN(l))return{stiffness:100,damping:10,duration:e};{const u=Math.pow(l,2)*r;return{stiffness:u,damping:s*2*Math.sqrt(r*u),duration:e}}}const QEe=12;function ZEe(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function t6e(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!hI(e,e6e)&&hI(e,JEe)){const n=YEe(e);t={...t,...n,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}function pj({keyframes:e,restDelta:t,restSpeed:n,...r}){const i=e[0],o=e[e.length-1],s={done:!1,value:i},{stiffness:a,damping:l,mass:u,velocity:d,duration:f,isResolvedFromDuration:p}=t6e(r),g=d?-xa(d):0,m=l/(2*Math.sqrt(a*u)),v=o-i,x=xa(Math.sqrt(a/u)),_=Math.abs(v)<5;n||(n=_?.01:2),t||(t=_?.005:.5);let b;if(m<1){const y=R5(x,m);b=S=>{const C=Math.exp(-m*x*S);return o-C*((g+m*x*v)/y*Math.sin(y*S)+v*Math.cos(y*S))}}else if(m===1)b=y=>o-Math.exp(-x*y)*(v+(g+x*v)*y);else{const y=x*Math.sqrt(m*m-1);b=S=>{const C=Math.exp(-m*x*S),T=Math.min(y*S,300);return o-C*((g+m*x*v)*Math.sinh(T)+y*v*Math.cosh(T))/y}}return{calculatedDuration:p&&f||null,next:y=>{const S=b(y);if(p)s.done=y>=f;else{let C=g;y!==0&&(m<1?C=hj(b,y,S):C=0);const T=Math.abs(C)<=n,E=Math.abs(o-S)<=t;s.done=T&&E}return s.value=s.done?o:S,s}}}function pI({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:o=500,modifyTarget:s,min:a,max:l,restDelta:u=.5,restSpeed:d}){const f=e[0],p={done:!1,value:f},g=P=>a!==void 0&&Pl,m=P=>a===void 0?l:l===void 0||Math.abs(a-P)-v*Math.exp(-P/r),y=P=>_+b(P),S=P=>{const k=b(P),O=y(P);p.done=Math.abs(k)<=u,p.value=p.done?_:O};let C,T;const E=P=>{g(p.value)&&(C=P,T=pj({keyframes:[p.value,m(p.value)],velocity:hj(y,P,p.value),damping:i,stiffness:o,restDelta:u,restSpeed:d}))};return E(0),{calculatedDuration:null,next:P=>{let k=!1;return!T&&C===void 0&&(k=!0,S(P),E(P)),C!==void 0&&P>C?T.next(P-C):(!k&&S(P),p)}}}const n6e=e=>{const t=({timestamp:n})=>e(n);return{start:()=>dn.update(t,!0),stop:()=>Ia(t),now:()=>zr.isProcessing?zr.timestamp:performance.now()}},gI=2e4;function mI(e){let t=0;const n=50;let r=e.next(t);for(;!r.done&&t=gI?1/0:t}const r6e={decay:pI,inertia:pI,tween:f_,keyframes:f_,spring:pj};function h_({autoplay:e=!0,delay:t=0,driver:n=n6e,keyframes:r,type:i="keyframes",repeat:o=0,repeatDelay:s=0,repeatType:a="loop",onPlay:l,onStop:u,onComplete:d,onUpdate:f,...p}){let g=1,m=!1,v,x;const _=()=>{x=new Promise(q=>{v=q})};_();let b;const y=r6e[i]||f_;let S;y!==f_&&typeof r[0]!="number"&&(S=dj([0,100],r,{clamp:!1}),r=[0,100]);const C=y({...p,keyframes:r});let T;a==="mirror"&&(T=y({...p,keyframes:[...r].reverse(),velocity:-(p.velocity||0)}));let E="idle",P=null,k=null,O=null;C.calculatedDuration===null&&o&&(C.calculatedDuration=mI(C));const{calculatedDuration:M}=C;let G=1/0,U=1/0;M!==null&&(G=M+s,U=G*(o+1)-s);let A=0;const N=q=>{if(k===null)return;g>0&&(k=Math.min(k,q)),g<0&&(k=Math.min(q-U/g,k)),P!==null?A=P:A=Math.round(q-k)*g;const Z=A-t*(g>=0?1:-1),ee=g>=0?Z<0:Z>U;A=Math.max(Z,0),E==="finished"&&P===null&&(A=U);let ie=A,se=C;if(o){const fe=A/G;let pe=Math.floor(fe),ve=fe%1;!ve&&fe>=1&&(ve=1),ve===1&&pe--,pe=Math.min(pe,o+1);const ye=!!(pe%2);ye&&(a==="reverse"?(ve=1-ve,s&&(ve-=s/G)):a==="mirror"&&(se=T));let We=Kl(0,1,ve);A>U&&(We=a==="reverse"&&ye?1:0),ie=We*G}const le=ee?{done:!1,value:r[0]}:se.next(ie);S&&(le.value=S(le.value));let{done:W}=le;!ee&&M!==null&&(W=g>=0?A>=U:A<=0);const ne=P===null&&(E==="finished"||E==="running"&&W);return f&&f(le.value),ne&&D(),le},F=()=>{b&&b.stop(),b=void 0},B=()=>{E="idle",F(),v(),_(),k=O=null},D=()=>{E="finished",d&&d(),F(),v()},V=()=>{if(m)return;b||(b=n(N));const q=b.now();l&&l(),P!==null?k=q-P:(!k||E==="finished")&&(k=q),E==="finished"&&_(),O=k,P=null,E="running",b.start()};e&&V();const j={then(q,Z){return x.then(q,Z)},get time(){return xa(A)},set time(q){q=Nl(q),A=q,P!==null||!b||g===0?P=q:k=b.now()-q/g},get duration(){const q=C.calculatedDuration===null?mI(C):C.calculatedDuration;return xa(q)},get speed(){return g},set speed(q){q===g||!b||(g=q,j.time=xa(A))},get state(){return E},play:V,pause:()=>{E="paused",P=A},stop:()=>{m=!0,E!=="idle"&&(E="idle",u&&u(),B())},cancel:()=>{O!==null&&N(O),B()},complete:()=>{E="finished"},sample:q=>(k=0,N(q))};return j}const i6e=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),W0=10,o6e=2e4,s6e=(e,t)=>t.type==="spring"||e==="backgroundColor"||!GV(t.ease);function a6e(e,t,{onUpdate:n,onComplete:r,...i}){if(!(qV.waapi()&&i6e.has(t)&&!i.repeatDelay&&i.repeatType!=="mirror"&&i.damping!==0&&i.type!=="inertia"))return!1;let s=!1,a,l;const u=()=>{l=new Promise(_=>{a=_})};u();let{keyframes:d,duration:f=300,ease:p,times:g}=i;if(s6e(t,i)){const _=h_({...i,repeat:0,delay:0});let b={done:!1,value:d[0]};const y=[];let S=0;for(;!b.done&&Sm.cancel(),x=()=>{dn.update(v),a(),u()};return m.onfinish=()=>{e.set(bEe(d,i)),r&&r(),x()},{then(_,b){return l.then(_,b)},get time(){return xa(m.currentTime||0)},set time(_){m.currentTime=Nl(_)},get speed(){return m.playbackRate},set speed(_){m.playbackRate=_},get duration(){return xa(f)},play:()=>{s||(m.play(),Ia(v))},pause:()=>m.pause(),stop:()=>{if(s=!0,m.playState==="idle")return;const{currentTime:_}=m;if(_){const b=h_({...i,autoplay:!1});e.setWithVelocity(b.sample(_-W0).value,b.sample(_).value,W0)}x()},complete:()=>m.finish(),cancel:x}}function l6e({keyframes:e,delay:t,onUpdate:n,onComplete:r}){const i=()=>(n&&n(e[e.length-1]),r&&r(),{time:0,speed:1,duration:0,play:Gn,pause:Gn,stop:Gn,then:o=>(o(),Promise.resolve()),cancel:Gn,complete:Gn});return t?h_({keyframes:[0,1],duration:0,delay:t,onComplete:i}):i()}const u6e={type:"spring",stiffness:500,damping:25,restSpeed:10},c6e=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),d6e={type:"keyframes",duration:.8},f6e={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},h6e=(e,{keyframes:t})=>t.length>2?d6e:Rc.has(e)?e.startsWith("scale")?c6e(t[1]):u6e:f6e,O5=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(Xl.test(t)||t==="0")&&!t.startsWith("url(")),p6e=new Set(["brightness","contrast","saturate","opacity"]);function g6e(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(s2)||[];if(!r)return e;const i=n.replace(r,"");let o=p6e.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+i+")"}const m6e=/([a-z-]*)\(.*?\)/g,k5={...Xl,getAnimatableNone:e=>{const t=e.match(m6e);return t?t.map(g6e).join(" "):e}},y6e={...AV,color:ni,backgroundColor:ni,outlineColor:ni,fill:ni,stroke:ni,borderColor:ni,borderTopColor:ni,borderRightColor:ni,borderBottomColor:ni,borderLeftColor:ni,filter:k5,WebkitFilter:k5},a6=e=>y6e[e];function gj(e,t){let n=a6(e);return n!==k5&&(n=Xl),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const mj=e=>/^0[^.\s]+$/.test(e);function v6e(e){if(typeof e=="number")return e===0;if(e!==null)return e==="none"||e==="0"||mj(e)}function _6e(e,t,n,r){const i=O5(t,n);let o;Array.isArray(n)?o=[...n]:o=[null,n];const s=r.from!==void 0?r.from:e.get();let a;const l=[];for(let u=0;ui=>{const o=yj(r,e)||{},s=o.delay||r.delay||0;let{elapsed:a=0}=r;a=a-Nl(s);const l=_6e(t,e,n,o),u=l[0],d=l[l.length-1],f=O5(e,u),p=O5(e,d);let g={keyframes:l,velocity:t.getVelocity(),ease:"easeOut",...o,delay:-a,onUpdate:m=>{t.set(m),o.onUpdate&&o.onUpdate(m)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(b6e(o)||(g={...g,...h6e(e,g)}),g.duration&&(g.duration=Nl(g.duration)),g.repeatDelay&&(g.repeatDelay=Nl(g.repeatDelay)),!f||!p||vEe.current||o.type===!1)return l6e(g);if(t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const m=a6e(t,e,g);if(m)return m}return h_(g)};function p_(e){return!!(ki(e)&&e.add)}const S6e=e=>/^\-?\d*\.?\d+$/.test(e);function u6(e,t){e.indexOf(t)===-1&&e.push(t)}function c6(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class d6{constructor(){this.subscriptions=[]}add(t){return u6(this.subscriptions,t),()=>c6(this.subscriptions,t)}notify(t,n,r){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,r);else for(let o=0;o!isNaN(parseFloat(e));class x6e{constructor(t,n={}){this.version="10.12.22",this.timeDelta=0,this.lastUpdated=0,this.canTrackVelocity=!1,this.events={},this.updateAndNotify=(r,i=!0)=>{this.prev=this.current,this.current=r;const{delta:o,timestamp:s}=zr;this.lastUpdated!==s&&(this.timeDelta=o,this.lastUpdated=s,dn.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),i&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>dn.postRender(this.velocityCheck),this.velocityCheck=({timestamp:r})=>{r!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=t,this.canTrackVelocity=w6e(this.current),this.owner=n.owner}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new d6);const r=this.events[t].add(n);return t==="change"?()=>{r(),dn.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,r){this.set(n),this.prev=t,this.timeDelta=r}jump(t){this.updateAndNotify(t),this.prev=t,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?fj(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function Mf(e,t){return new x6e(e,t)}const vj=e=>t=>t.test(e),C6e={test:e=>e==="auto",parse:e=>e},_j=[Oc,Be,Is,al,kTe,OTe,C6e],ip=e=>_j.find(vj(e)),T6e=[..._j,ni,Xl],E6e=e=>T6e.find(vj(e));function A6e(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,Mf(n))}function P6e(e,t){const n=l2(e,t);let{transitionEnd:r={},transition:i={},...o}=n?e.makeTargetAnimatable(n,!1):{};o={...o,...r};for(const s in o){const a=HTe(o[s]);A6e(e,s,a)}}function R6e(e,t,n){var r,i;const o=Object.keys(t).filter(a=>!e.hasValue(a)),s=o.length;if(s)for(let a=0;al.remove(f))),u.push(v)}return s&&Promise.all(u).then(()=>{s&&P6e(e,s)}),u}function I5(e,t,n={}){const r=l2(e,t,n.custom);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const o=r?()=>Promise.all(bj(e,r,n)):()=>Promise.resolve(),s=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:d,staggerDirection:f}=i;return M6e(e,t,u+l,d,f,n)}:()=>Promise.resolve(),{when:a}=i;if(a){const[l,u]=a==="beforeChildren"?[o,s]:[s,o];return l().then(()=>u())}else return Promise.all([o(),s(n.delay)])}function M6e(e,t,n=0,r=0,i=1,o){const s=[],a=(e.variantChildren.size-1)*r,l=i===1?(u=0)=>u*r:(u=0)=>a-u*r;return Array.from(e.variantChildren).sort(N6e).forEach((u,d)=>{u.notify("AnimationStart",t),s.push(I5(u,t,{...o,delay:n+l(d)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(s)}function N6e(e,t){return e.sortNodePosition(t)}function L6e(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(o=>I5(e,o,n));r=Promise.all(i)}else if(typeof t=="string")r=I5(e,t,n);else{const i=typeof t=="function"?l2(e,t,n.custom):t;r=Promise.all(bj(e,i,n))}return r.then(()=>e.notify("AnimationComplete",t))}const D6e=[...WE].reverse(),$6e=WE.length;function F6e(e){return t=>Promise.all(t.map(({animation:n,options:r})=>L6e(e,n,r)))}function B6e(e){let t=F6e(e);const n=z6e();let r=!0;const i=(l,u)=>{const d=l2(e,u);if(d){const{transition:f,transitionEnd:p,...g}=d;l={...l,...g,...p}}return l};function o(l){t=l(e)}function s(l,u){const d=e.getProps(),f=e.getVariantContext(!0)||{},p=[],g=new Set;let m={},v=1/0;for(let _=0;_<$6e;_++){const b=D6e[_],y=n[b],S=d[b]!==void 0?d[b]:f[b],C=zg(S),T=b===u?y.isActive:null;T===!1&&(v=_);let E=S===f[b]&&S!==d[b]&&C;if(E&&r&&e.manuallyAnimateOnMount&&(E=!1),y.protectedKeys={...m},!y.isActive&&T===null||!S&&!y.prevProp||i2(S)||typeof S=="boolean")continue;const P=U6e(y.prevProp,S);let k=P||b===u&&y.isActive&&!E&&C||_>v&&C;const O=Array.isArray(S)?S:[S];let M=O.reduce(i,{});T===!1&&(M={});const{prevResolvedValues:G={}}=y,U={...G,...M},A=N=>{k=!0,g.delete(N),y.needsAnimating[N]=!0};for(const N in U){const F=M[N],B=G[N];m.hasOwnProperty(N)||(F!==B?c_(F)&&c_(B)?!VV(F,B)||P?A(N):y.protectedKeys[N]=!0:F!==void 0?A(N):g.add(N):F!==void 0&&g.has(N)?A(N):y.protectedKeys[N]=!0)}y.prevProp=S,y.prevResolvedValues=M,y.isActive&&(m={...m,...M}),r&&e.blockInitialAnimation&&(k=!1),k&&!E&&p.push(...O.map(N=>({animation:N,options:{type:b,...l}})))}if(g.size){const _={};g.forEach(b=>{const y=e.getBaseTarget(b);y!==void 0&&(_[b]=y)}),p.push({animation:_})}let x=!!p.length;return r&&d.initial===!1&&!e.manuallyAnimateOnMount&&(x=!1),r=!1,x?t(p):Promise.resolve()}function a(l,u,d){var f;if(n[l].isActive===u)return Promise.resolve();(f=e.variantChildren)===null||f===void 0||f.forEach(g=>{var m;return(m=g.animationState)===null||m===void 0?void 0:m.setActive(l,u)}),n[l].isActive=u;const p=s(d,l);for(const g in n)n[g].protectedKeys={};return p}return{animateChanges:s,setActive:a,setAnimateFunction:o,getState:()=>n}}function U6e(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!VV(t,e):!1}function Cu(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function z6e(){return{animate:Cu(!0),whileInView:Cu(),whileHover:Cu(),whileTap:Cu(),whileDrag:Cu(),whileFocus:Cu(),exit:Cu()}}class V6e extends uu{constructor(t){super(t),t.animationState||(t.animationState=B6e(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();this.unmount(),i2(t)&&(this.unmount=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){}}let j6e=0;class G6e extends uu{constructor(){super(...arguments),this.id=j6e++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n,custom:r}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;const o=this.node.animationState.setActive("exit",!t,{custom:r??this.node.getProps().custom});n&&!t&&o.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const H6e={animation:{Feature:V6e},exit:{Feature:G6e}},yI=(e,t)=>Math.abs(e-t);function W6e(e,t){const n=yI(e.x,t.x),r=yI(e.y,t.y);return Math.sqrt(n**2+r**2)}class Sj{constructor(t,n,{transformPagePoint:r}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const u=sC(this.lastMoveEventInfo,this.history),d=this.startEvent!==null,f=W6e(u.offset,{x:0,y:0})>=3;if(!d&&!f)return;const{point:p}=u,{timestamp:g}=zr;this.history.push({...p,timestamp:g});const{onStart:m,onMove:v}=this.handlers;d||(m&&m(this.lastMoveEvent,u),this.startEvent=this.lastMoveEvent),v&&v(this.lastMoveEvent,u)},this.handlePointerMove=(u,d)=>{this.lastMoveEvent=u,this.lastMoveEventInfo=oC(d,this.transformPagePoint),dn.update(this.updatePoint,!0)},this.handlePointerUp=(u,d)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:f,onSessionEnd:p}=this.handlers,g=sC(u.type==="pointercancel"?this.lastMoveEventInfo:oC(d,this.transformPagePoint),this.history);this.startEvent&&f&&f(u,g),p&&p(u,g)},!$V(t))return;this.handlers=n,this.transformPagePoint=r;const i=a2(t),o=oC(i,this.transformPagePoint),{point:s}=o,{timestamp:a}=zr;this.history=[{...s,timestamp:a}];const{onSessionStart:l}=n;l&&l(t,sC(o,this.history)),this.removeListeners=Ml(wa(window,"pointermove",this.handlePointerMove),wa(window,"pointerup",this.handlePointerUp),wa(window,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),Ia(this.updatePoint)}}function oC(e,t){return t?{point:t(e.point)}:e}function vI(e,t){return{x:e.x-t.x,y:e.y-t.y}}function sC({point:e},t){return{point:e,delta:vI(e,wj(t)),offset:vI(e,q6e(t)),velocity:K6e(t,.1)}}function q6e(e){return e[0]}function wj(e){return e[e.length-1]}function K6e(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=wj(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Nl(t)));)n--;if(!r)return{x:0,y:0};const o=xa(i.timestamp-r.timestamp);if(o===0)return{x:0,y:0};const s={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function Xi(e){return e.max-e.min}function M5(e,t=0,n=.01){return Math.abs(e-t)<=n}function _I(e,t,n,r=.5){e.origin=r,e.originPoint=vn(t.min,t.max,e.origin),e.scale=Xi(n)/Xi(t),(M5(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=vn(n.min,n.max,e.origin)-e.originPoint,(M5(e.translate)||isNaN(e.translate))&&(e.translate=0)}function Ip(e,t,n,r){_I(e.x,t.x,n.x,r?r.originX:void 0),_I(e.y,t.y,n.y,r?r.originY:void 0)}function bI(e,t,n){e.min=n.min+t.min,e.max=e.min+Xi(t)}function X6e(e,t,n){bI(e.x,t.x,n.x),bI(e.y,t.y,n.y)}function SI(e,t,n){e.min=t.min-n.min,e.max=e.min+Xi(t)}function Mp(e,t,n){SI(e.x,t.x,n.x),SI(e.y,t.y,n.y)}function Y6e(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?vn(n,e,r.max):Math.min(e,n)),e}function wI(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function Q6e(e,{top:t,left:n,bottom:r,right:i}){return{x:wI(e.x,n,i),y:wI(e.y,t,r)}}function xI(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=jg(t.min,t.max-r,e.min):r>i&&(n=jg(e.min,e.max-i,t.min)),Kl(0,1,n)}function eAe(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const N5=.35;function tAe(e=N5){return e===!1?e=0:e===!0&&(e=N5),{x:CI(e,"left","right"),y:CI(e,"top","bottom")}}function CI(e,t,n){return{min:TI(e,t),max:TI(e,n)}}function TI(e,t){return typeof e=="number"?e:e[t]||0}const EI=()=>({translate:0,scale:1,origin:0,originPoint:0}),Bd=()=>({x:EI(),y:EI()}),AI=()=>({min:0,max:0}),Bn=()=>({x:AI(),y:AI()});function ps(e){return[e("x"),e("y")]}function xj({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function nAe({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function rAe(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function aC(e){return e===void 0||e===1}function L5({scale:e,scaleX:t,scaleY:n}){return!aC(e)||!aC(t)||!aC(n)}function Ru(e){return L5(e)||Cj(e)||e.z||e.rotate||e.rotateX||e.rotateY}function Cj(e){return PI(e.x)||PI(e.y)}function PI(e){return e&&e!=="0%"}function g_(e,t,n){const r=e-n,i=t*r;return n+i}function RI(e,t,n,r,i){return i!==void 0&&(e=g_(e,i,r)),g_(e,n,r)+t}function D5(e,t=0,n=1,r,i){e.min=RI(e.min,t,n,r,i),e.max=RI(e.max,t,n,r,i)}function Tj(e,{x:t,y:n}){D5(e.x,t.translate,t.scale,t.originPoint),D5(e.y,n.translate,n.scale,n.originPoint)}function iAe(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let o,s;for(let a=0;a1.0000000000001||e<.999999999999?e:1}function fl(e,t){e.min=e.min+t,e.max=e.max+t}function kI(e,t,[n,r,i]){const o=t[i]!==void 0?t[i]:.5,s=vn(e.min,e.max,o);D5(e,t[n],t[r],s,t.scale)}const oAe=["x","scaleX","originX"],sAe=["y","scaleY","originY"];function Ud(e,t){kI(e.x,t,oAe),kI(e.y,t,sAe)}function Ej(e,t){return xj(rAe(e.getBoundingClientRect(),t))}function aAe(e,t,n){const r=Ej(e,n),{scroll:i}=t;return i&&(fl(r.x,i.offset.x),fl(r.y,i.offset.y)),r}const lAe=new WeakMap;class uAe{constructor(t){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Bn(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const i=l=>{this.stopAnimation(),n&&this.snapToCursor(a2(l,"page").point)},o=(l,u)=>{const{drag:d,dragPropagation:f,onDragStart:p}=this.getProps();if(d&&!f&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=BV(d),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),ps(m=>{let v=this.getAxisMotionValue(m).get()||0;if(Is.test(v)){const{projection:x}=this.visualElement;if(x&&x.layout){const _=x.layout.layoutBox[m];_&&(v=Xi(_)*(parseFloat(v)/100))}}this.originPoint[m]=v}),p&&dn.update(()=>p(l,u),!1,!0);const{animationState:g}=this.visualElement;g&&g.setActive("whileDrag",!0)},s=(l,u)=>{const{dragPropagation:d,dragDirectionLock:f,onDirectionLock:p,onDrag:g}=this.getProps();if(!d&&!this.openGlobalLock)return;const{offset:m}=u;if(f&&this.currentDirection===null){this.currentDirection=cAe(m),this.currentDirection!==null&&p&&p(this.currentDirection);return}this.updateAxis("x",u.point,m),this.updateAxis("y",u.point,m),this.visualElement.render(),g&&g(l,u)},a=(l,u)=>this.stop(l,u);this.panSession=new Sj(t,{onSessionStart:i,onStart:o,onMove:s,onSessionEnd:a},{transformPagePoint:this.visualElement.getTransformPagePoint()})}stop(t,n){const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:i}=n;this.startAnimation(i);const{onDragEnd:o}=this.getProps();o&&dn.update(()=>o(t,n))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!q0(t,i,this.currentDirection))return;const o=this.getAxisMotionValue(t);let s=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(s=Y6e(s,this.constraints[t],this.elastic[t])),o.set(s)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),{layout:r}=this.visualElement.projection||{},i=this.constraints;t&&$d(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=Q6e(r.layoutBox,t):this.constraints=!1,this.elastic=tAe(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&ps(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=eAe(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!$d(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=aAe(r,i.root,this.visualElement.getTransformPagePoint());let s=Z6e(i.layout.layoutBox,o);if(n){const a=n(nAe(s));this.hasMutatedConstraints=!!a,a&&(s=xj(a))}return s}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:o,dragSnapToOrigin:s,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},u=ps(d=>{if(!q0(d,n,this.currentDirection))return;let f=l&&l[d]||{};s&&(f={min:0,max:0});const p=i?200:1e6,g=i?40:1e7,m={type:"inertia",velocity:r?t[d]:0,bounceStiffness:p,bounceDamping:g,timeConstant:750,restDelta:1,restSpeed:10,...o,...f};return this.startAxisValueAnimation(d,m)});return Promise.all(u).then(a)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return r.start(l6(t,r,0,n))}stopAnimation(){ps(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const n="_drag"+t.toUpperCase(),r=this.visualElement.getProps(),i=r[n];return i||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){ps(n=>{const{drag:r}=this.getProps();if(!q0(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,o=this.getAxisMotionValue(n);if(i&&i.layout){const{min:s,max:a}=i.layout.layoutBox[n];o.set(t[n]-vn(s,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!$d(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};ps(s=>{const a=this.getAxisMotionValue(s);if(a){const l=a.get();i[s]=J6e({min:l,max:l},this.constraints[s])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),ps(s=>{if(!q0(s,t,null))return;const a=this.getAxisMotionValue(s),{min:l,max:u}=this.constraints[s];a.set(vn(l,u,i[s]))})}addListeners(){if(!this.visualElement.current)return;lAe.set(this.visualElement,this);const t=this.visualElement.current,n=wa(t,"pointerdown",l=>{const{drag:u,dragListener:d=!0}=this.getProps();u&&d&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();$d(l)&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,o=i.addEventListener("measure",r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),r();const s=ya(window,"resize",()=>this.scalePositionWithinConstraints()),a=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(ps(d=>{const f=this.getAxisMotionValue(d);f&&(this.originPoint[d]+=l[d].translate,f.set(f.get()+l[d].translate))}),this.visualElement.render())});return()=>{s(),n(),o(),a&&a()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:o=!1,dragElastic:s=N5,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:o,dragElastic:s,dragMomentum:a}}}function q0(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function cAe(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class dAe extends uu{constructor(t){super(t),this.removeGroupControls=Gn,this.removeListeners=Gn,this.controls=new uAe(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Gn}unmount(){this.removeGroupControls(),this.removeListeners()}}const II=e=>(t,n)=>{e&&dn.update(()=>e(t,n))};class fAe extends uu{constructor(){super(...arguments),this.removePointerDownListener=Gn}onPointerDown(t){this.session=new Sj(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:II(t),onStart:II(n),onMove:r,onEnd:(o,s)=>{delete this.session,i&&dn.update(()=>i(o,s))}}}mount(){this.removePointerDownListener=wa(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}function hAe(){const e=L.useContext(Lm);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,i=L.useId();return L.useEffect(()=>r(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}function TMe(){return pAe(L.useContext(Lm))}function pAe(e){return e===null?!0:e.isPresent}const kv={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function MI(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const op={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(Be.test(e))e=parseFloat(e);else return e;const n=MI(e,t.target.x),r=MI(e,t.target.y);return`${n}% ${r}%`}},gAe={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=Xl.parse(e);if(i.length>5)return r;const o=Xl.createTransformer(e),s=typeof i[0]!="number"?1:0,a=n.x.scale*t.x,l=n.y.scale*t.y;i[0+s]/=a,i[1+s]/=l;const u=vn(a,l,.5);return typeof i[2+s]=="number"&&(i[2+s]/=u),typeof i[3+s]=="number"&&(i[3+s]/=u),o(i)}};class mAe extends Lt.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:o}=t;xTe(yAe),o&&(n.group&&n.group.add(o),r&&r.register&&i&&r.register(o),o.root.didUpdate(),o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),kv.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:o}=this.props,s=r.projection;return s&&(s.isPresent=o,i||t.layoutDependency!==n||n===void 0?s.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?s.promote():s.relegate()||dn.postRender(()=>{const a=s.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),queueMicrotask(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:i}=t;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),r&&r.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function Aj(e){const[t,n]=hAe(),r=L.useContext(KE);return Lt.createElement(mAe,{...e,layoutGroup:r,switchLayoutGroup:L.useContext(wV),isPresent:t,safeToRemove:n})}const yAe={borderRadius:{...op,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:op,borderTopRightRadius:op,borderBottomLeftRadius:op,borderBottomRightRadius:op,boxShadow:gAe},Pj=["TopLeft","TopRight","BottomLeft","BottomRight"],vAe=Pj.length,NI=e=>typeof e=="string"?parseFloat(e):e,LI=e=>typeof e=="number"||Be.test(e);function _Ae(e,t,n,r,i,o){i?(e.opacity=vn(0,n.opacity!==void 0?n.opacity:1,bAe(r)),e.opacityExit=vn(t.opacity!==void 0?t.opacity:1,0,SAe(r))):o&&(e.opacity=vn(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,r));for(let s=0;srt?1:n(jg(e,t,r))}function $I(e,t){e.min=t.min,e.max=t.max}function fo(e,t){$I(e.x,t.x),$I(e.y,t.y)}function FI(e,t,n,r,i){return e-=t,e=g_(e,1/n,r),i!==void 0&&(e=g_(e,1/i,r)),e}function wAe(e,t=0,n=1,r=.5,i,o=e,s=e){if(Is.test(t)&&(t=parseFloat(t),t=vn(s.min,s.max,t/100)-s.min),typeof t!="number")return;let a=vn(o.min,o.max,r);e===o&&(a-=t),e.min=FI(e.min,t,n,a,i),e.max=FI(e.max,t,n,a,i)}function BI(e,t,[n,r,i],o,s){wAe(e,t[n],t[r],t[i],t.scale,o,s)}const xAe=["x","scaleX","originX"],CAe=["y","scaleY","originY"];function UI(e,t,n,r){BI(e.x,t,xAe,n?n.x:void 0,r?r.x:void 0),BI(e.y,t,CAe,n?n.y:void 0,r?r.y:void 0)}function zI(e){return e.translate===0&&e.scale===1}function Oj(e){return zI(e.x)&&zI(e.y)}function $5(e,t){return e.x.min===t.x.min&&e.x.max===t.x.max&&e.y.min===t.y.min&&e.y.max===t.y.max}function VI(e){return Xi(e.x)/Xi(e.y)}class TAe{constructor(){this.members=[]}add(t){u6(this.members,t),t.scheduleRender()}remove(t){if(c6(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(i=>t===i);if(n===0)return!1;let r;for(let i=n;i>=0;i--){const o=this.members[i];if(o.isPresent!==!1){r=o;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender(),t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function jI(e,t,n){let r="";const i=e.x.translate/t.x,o=e.y.translate/t.y;if((i||o)&&(r=`translate3d(${i}px, ${o}px, 0) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{rotate:l,rotateX:u,rotateY:d}=n;l&&(r+=`rotate(${l}deg) `),u&&(r+=`rotateX(${u}deg) `),d&&(r+=`rotateY(${d}deg) `)}const s=e.x.scale*t.x,a=e.y.scale*t.y;return(s!==1||a!==1)&&(r+=`scale(${s}, ${a})`),r||"none"}const EAe=(e,t)=>e.depth-t.depth;class AAe{constructor(){this.children=[],this.isDirty=!1}add(t){u6(this.children,t),this.isDirty=!0}remove(t){c6(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(EAe),this.isDirty=!1,this.children.forEach(t)}}function PAe(e,t){const n=performance.now(),r=({timestamp:i})=>{const o=i-n;o>=t&&(Ia(r),e(o-t))};return dn.read(r,!0),()=>Ia(r)}function RAe(e){window.MotionDebug&&window.MotionDebug.record(e)}function OAe(e){return e instanceof SVGElement&&e.tagName!=="svg"}function kAe(e,t,n){const r=ki(e)?e:Mf(e);return r.start(l6("",r,t,n)),r.animation}const GI=["","X","Y","Z"],HI=1e3;let IAe=0;const Ou={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function kj({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(s={},a=t==null?void 0:t()){this.id=IAe++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{Ou.totalNodes=Ou.resolvedTargetDeltas=Ou.recalculatedProjection=0,this.nodes.forEach(LAe),this.nodes.forEach(UAe),this.nodes.forEach(zAe),this.nodes.forEach(DAe),RAe(Ou)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=s,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;lthis.root.updateBlockedByResize=!1;e(s,()=>{this.root.updateBlockedByResize=!0,f&&f(),f=PAe(p,250),kv.hasAnimatedSinceResize&&(kv.hasAnimatedSinceResize=!1,this.nodes.forEach(qI))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&d&&(l||u)&&this.addEventListener("didUpdate",({delta:f,hasLayoutChanged:p,hasRelativeTargetChanged:g,layout:m})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const v=this.options.transition||d.getDefaultTransition()||WAe,{onLayoutAnimationStart:x,onLayoutAnimationComplete:_}=d.getProps(),b=!this.targetLayout||!$5(this.targetLayout,m)||g,y=!p&&g;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||y||p&&(b||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(f,y);const S={...yj(v,"layout"),onPlay:x,onComplete:_};(d.shouldReduceMotion||this.options.layoutRoot)&&(S.delay=0,S.type=!1),this.startAnimation(S)}else p||qI(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=m})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const s=this.getStack();s&&s.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,Ia(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(VAe),this.animationId++)}getTransformTemplate(){const{visualElement:s}=this.options;return s&&s.getProps().transformTemplate}willUpdate(s=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let d=0;dthis.update()))}clearAllSnapshots(){this.nodes.forEach($Ae),this.sharedNodes.forEach(jAe)}scheduleUpdateProjection(){dn.preRender(this.updateProjection,!1,!0)}scheduleCheckAfterUnmount(){dn.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l{const C=S/1e3;KI(f.x,s.x,C),KI(f.y,s.y,C),this.setTargetDelta(f),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Mp(p,this.layout.layoutBox,this.relativeParent.layout.layoutBox),GAe(this.relativeTarget,this.relativeTargetOrigin,p,C),y&&$5(this.relativeTarget,y)&&(this.isProjectionDirty=!1),y||(y=Bn()),fo(y,this.relativeTarget)),v&&(this.animationValues=d,_Ae(d,u,this.latestValues,C,b,_)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=C},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(s){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(Ia(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=dn.update(()=>{kv.hasAnimatedSinceResize=!0,this.currentAnimation=kAe(0,HI,{...s,onUpdate:a=>{this.mixTargetDelta(a),s.onUpdate&&s.onUpdate(a)},onComplete:()=>{s.onComplete&&s.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const s=this.getStack();s&&s.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(HI),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const s=this.getLead();let{targetWithTransforms:a,target:l,layout:u,latestValues:d}=s;if(!(!a||!l||!u)){if(this!==s&&this.layout&&u&&Ij(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||Bn();const f=Xi(this.layout.layoutBox.x);l.x.min=s.target.x.min,l.x.max=l.x.min+f;const p=Xi(this.layout.layoutBox.y);l.y.min=s.target.y.min,l.y.max=l.y.min+p}fo(a,l),Ud(a,d),Ip(this.projectionDeltaWithTransform,this.layoutCorrected,a,d)}}registerSharedNode(s,a){this.sharedNodes.has(s)||this.sharedNodes.set(s,new TAe),this.sharedNodes.get(s).add(a);const u=a.options.initialPromotionConfig;a.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(a):void 0})}isLead(){const s=this.getStack();return s?s.lead===this:!0}getLead(){var s;const{layoutId:a}=this.options;return a?((s=this.getStack())===null||s===void 0?void 0:s.lead)||this:this}getPrevLead(){var s;const{layoutId:a}=this.options;return a?(s=this.getStack())===null||s===void 0?void 0:s.prevLead:void 0}getStack(){const{layoutId:s}=this.options;if(s)return this.root.sharedNodes.get(s)}promote({needsReset:s,transition:a,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),s&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const s=this.getStack();return s?s.relegate(this):!1}resetRotation(){const{visualElement:s}=this.options;if(!s)return;let a=!1;const{latestValues:l}=s;if((l.rotate||l.rotateX||l.rotateY||l.rotateZ)&&(a=!0),!a)return;const u={};for(let d=0;d{var a;return(a=s.currentAnimation)===null||a===void 0?void 0:a.stop()}),this.root.nodes.forEach(WI),this.root.sharedNodes.clear()}}}function MAe(e){e.updateLayout()}function NAe(e){var t;const n=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:i}=e.layout,{animationType:o}=e.options,s=n.source!==e.layout.source;o==="size"?ps(f=>{const p=s?n.measuredBox[f]:n.layoutBox[f],g=Xi(p);p.min=r[f].min,p.max=p.min+g}):Ij(o,n.layoutBox,r)&&ps(f=>{const p=s?n.measuredBox[f]:n.layoutBox[f],g=Xi(r[f]);p.max=p.min+g,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[f].max=e.relativeTarget[f].min+g)});const a=Bd();Ip(a,r,n.layoutBox);const l=Bd();s?Ip(l,e.applyTransform(i,!0),n.measuredBox):Ip(l,r,n.layoutBox);const u=!Oj(a);let d=!1;if(!e.resumeFrom){const f=e.getClosestProjectingParent();if(f&&!f.resumeFrom){const{snapshot:p,layout:g}=f;if(p&&g){const m=Bn();Mp(m,n.layoutBox,p.layoutBox);const v=Bn();Mp(v,r,g.layoutBox),$5(m,v)||(d=!0),f.options.layoutRoot&&(e.relativeTarget=v,e.relativeTargetOrigin=m,e.relativeParent=f)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:l,layoutDelta:a,hasLayoutChanged:u,hasRelativeTargetChanged:d})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function LAe(e){Ou.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function DAe(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function $Ae(e){e.clearSnapshot()}function WI(e){e.clearMeasurements()}function FAe(e){e.isLayoutDirty=!1}function BAe(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function qI(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function UAe(e){e.resolveTargetDelta()}function zAe(e){e.calcProjection()}function VAe(e){e.resetRotation()}function jAe(e){e.removeLeadSnapshot()}function KI(e,t,n){e.translate=vn(t.translate,0,n),e.scale=vn(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function XI(e,t,n,r){e.min=vn(t.min,n.min,r),e.max=vn(t.max,n.max,r)}function GAe(e,t,n,r){XI(e.x,t.x,n.x,r),XI(e.y,t.y,n.y,r)}function HAe(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const WAe={duration:.45,ease:[.4,0,.1,1]};function YI(e){e.min=Math.round(e.min*2)/2,e.max=Math.round(e.max*2)/2}function qAe(e){YI(e.x),YI(e.y)}function Ij(e,t,n){return e==="position"||e==="preserve-aspect"&&!M5(VI(t),VI(n),.2)}const KAe=kj({attachResizeListener:(e,t)=>ya(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),lC={current:void 0},Mj=kj({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!lC.current){const e=new KAe({});e.mount(window),e.setOptions({layoutScroll:!0}),lC.current=e}return lC.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),XAe={pan:{Feature:fAe},drag:{Feature:dAe,ProjectionNode:Mj,MeasureLayout:Aj}},YAe=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function QAe(e){const t=YAe.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]}function F5(e,t,n=1){const[r,i]=QAe(e);if(!r)return;const o=window.getComputedStyle(t).getPropertyValue(r);return o?o.trim():E5(i)?F5(i,t,n+1):i}function ZAe(e,{...t},n){const r=e.current;if(!(r instanceof Element))return{target:t,transitionEnd:n};n&&(n={...n}),e.values.forEach(i=>{const o=i.get();if(!E5(o))return;const s=F5(o,r);s&&i.set(s)});for(const i in t){const o=t[i];if(!E5(o))continue;const s=F5(o,r);s&&(t[i]=s,n||(n={}),n[i]===void 0&&(n[i]=o))}return{target:t,transitionEnd:n}}const JAe=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),Nj=e=>JAe.has(e),ePe=e=>Object.keys(e).some(Nj),QI=e=>e===Oc||e===Be,ZI=(e,t)=>parseFloat(e.split(", ")[t]),JI=(e,t)=>(n,{transform:r})=>{if(r==="none"||!r)return 0;const i=r.match(/^matrix3d\((.+)\)$/);if(i)return ZI(i[1],t);{const o=r.match(/^matrix\((.+)\)$/);return o?ZI(o[1],e):0}},tPe=new Set(["x","y","z"]),nPe=Dm.filter(e=>!tPe.has(e));function rPe(e){const t=[];return nPe.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t.length&&e.render(),t}const Nf={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:JI(4,13),y:JI(5,14)};Nf.translateX=Nf.x;Nf.translateY=Nf.y;const iPe=(e,t,n)=>{const r=t.measureViewportBox(),i=t.current,o=getComputedStyle(i),{display:s}=o,a={};s==="none"&&t.setStaticValue("display",e.display||"block"),n.forEach(u=>{a[u]=Nf[u](r,o)}),t.render();const l=t.measureViewportBox();return n.forEach(u=>{const d=t.getValue(u);d&&d.jump(a[u]),e[u]=Nf[u](l,o)}),e},oPe=(e,t,n={},r={})=>{t={...t},r={...r};const i=Object.keys(t).filter(Nj);let o=[],s=!1;const a=[];if(i.forEach(l=>{const u=e.getValue(l);if(!e.hasValue(l))return;let d=n[l],f=ip(d);const p=t[l];let g;if(c_(p)){const m=p.length,v=p[0]===null?1:0;d=p[v],f=ip(d);for(let x=v;x=0?window.pageYOffset:null,u=iPe(t,e,a);return o.length&&o.forEach(([d,f])=>{e.getValue(d).set(f)}),e.render(),r2&&l!==null&&window.scrollTo({top:l}),{target:u,transitionEnd:r}}else return{target:t,transitionEnd:r}};function sPe(e,t,n,r){return ePe(t)?oPe(e,t,n,r):{target:t,transitionEnd:r}}const aPe=(e,t,n,r)=>{const i=ZAe(e,t,r);return t=i.target,r=i.transitionEnd,sPe(e,t,n,r)},B5={current:null},Lj={current:!1};function lPe(){if(Lj.current=!0,!!r2)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>B5.current=e.matches;e.addListener(t),t()}else B5.current=!1}function uPe(e,t,n){const{willChange:r}=t;for(const i in t){const o=t[i],s=n[i];if(ki(o))e.addValue(i,o),p_(r)&&r.add(i);else if(ki(s))e.addValue(i,Mf(o,{owner:e})),p_(r)&&r.remove(i);else if(s!==o)if(e.hasValue(i)){const a=e.getValue(i);!a.hasAnimated&&a.set(o)}else{const a=e.getStaticValue(i);e.addValue(i,Mf(a!==void 0?a:o,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const e7=new WeakMap,Dj=Object.keys(Vg),cPe=Dj.length,t7=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],dPe=qE.length;class fPe{constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,visualState:o},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>dn.render(this.render,!1,!0);const{latestValues:a,renderState:l}=o;this.latestValues=a,this.baseTarget={...a},this.initialValues=n.initial?{...a}:{},this.renderState=l,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=s,this.isControllingVariants=o2(n),this.isVariantNode=SV(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:u,...d}=this.scrapeMotionValuesFromProps(n,{});for(const f in d){const p=d[f];a[f]!==void 0&&ki(p)&&(p.set(a[f],!1),p_(u)&&u.add(f))}}scrapeMotionValuesFromProps(t,n){return{}}mount(t){this.current=t,e7.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,r)=>this.bindToMotionValue(r,n)),Lj.current||lPe(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:B5.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){e7.delete(this.current),this.projection&&this.projection.unmount(),Ia(this.notifyUpdate),Ia(this.render),this.valueSubscriptions.forEach(t=>t()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features)this.features[t].unmount();this.current=null}bindToMotionValue(t,n){const r=Rc.has(t),i=n.on("change",s=>{this.latestValues[t]=s,this.props.onUpdate&&dn.update(this.notifyUpdate,!1,!0),r&&this.projection&&(this.projection.isTransformDirty=!0)}),o=n.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(t,()=>{i(),o()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}loadFeatures({children:t,...n},r,i,o){let s,a;for(let l=0;lthis.scheduleRender(),animationType:typeof u=="string"?u:"both",initialPromotionConfig:o,layoutScroll:p,layoutRoot:g})}return a}updateFeatures(){for(const t in this.features){const n=this.features[t];n.isMounted?n.update():(n.mount(),n.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Bn()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}makeTargetAnimatable(t,n=!0){return this.makeTargetAnimatableFromInstance(t,this.props,n)}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let r=0;rn.variantChildren.delete(t)}addValue(t,n){n!==this.values.get(t)&&(this.removeValue(t),this.bindToMotionValue(t,n)),this.values.set(t,n),this.latestValues[t]=n.get()}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let r=this.values.get(t);return r===void 0&&n!==void 0&&(r=Mf(n,{owner:this}),this.addValue(t,r)),r}readValue(t){var n;return this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(n=this.getBaseTargetFromProps(this.props,t))!==null&&n!==void 0?n:this.readValueFromInstance(this.current,t,this.options)}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:r}=this.props,i=typeof r=="string"||typeof r=="object"?(n=n6(this.props,r))===null||n===void 0?void 0:n[t]:void 0;if(r&&i!==void 0)return i;const o=this.getBaseTargetFromProps(this.props,t);return o!==void 0&&!ki(o)?o:this.initialValues[t]!==void 0&&i===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new d6),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class $j extends fPe{sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:r}){delete n[t],delete r[t]}makeTargetAnimatableFromInstance({transition:t,transitionEnd:n,...r},{transformValues:i},o){let s=k6e(r,t||{},this);if(i&&(n&&(n=i(n)),r&&(r=i(r)),s&&(s=i(s))),o){R6e(this,r,s);const a=aPe(this,r,s,n);n=a.transitionEnd,r=a.target}return{transition:t,transitionEnd:n,...r}}}function hPe(e){return window.getComputedStyle(e)}class pPe extends $j{readValueFromInstance(t,n){if(Rc.has(n)){const r=a6(n);return r&&r.default||0}else{const r=hPe(t),i=(TV(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return Ej(t,n)}build(t,n,r,i){YE(t,n,r,i.transformTemplate)}scrapeMotionValuesFromProps(t,n){return t6(t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;ki(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(t,n,r,i){kV(t,n,r,i)}}class gPe extends $j{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(Rc.has(n)){const r=a6(n);return r&&r.default||0}return n=IV.has(n)?n:e6(n),t.getAttribute(n)}measureInstanceViewportBox(){return Bn()}scrapeMotionValuesFromProps(t,n){return NV(t,n)}build(t,n,r,i){ZE(t,n,r,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,r,i){MV(t,n,r,i)}mount(t){this.isSVGTag=JE(t.tagName),super.mount(t)}}const mPe=(e,t)=>XE(e)?new gPe(t,{enableHardwareAcceleration:!1}):new pPe(t,{enableHardwareAcceleration:!0}),yPe={layout:{ProjectionNode:Mj,MeasureLayout:Aj}},vPe={...H6e,...fEe,...XAe,...yPe},_Pe=STe((e,t)=>YTe(e,t,vPe,mPe));function Fj(){const e=L.useRef(!1);return a_(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function bPe(){const e=Fj(),[t,n]=L.useState(0),r=L.useCallback(()=>{e.current&&n(t+1)},[t]);return[L.useCallback(()=>dn.postRender(r),[r]),t]}class SPe extends L.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function wPe({children:e,isPresent:t}){const n=L.useId(),r=L.useRef(null),i=L.useRef({width:0,height:0,top:0,left:0});return L.useInsertionEffect(()=>{const{width:o,height:s,top:a,left:l}=i.current;if(t||!r.current||!o||!s)return;r.current.dataset.motionPopId=n;const u=document.createElement("style");return document.head.appendChild(u),u.sheet&&u.sheet.insertRule(` + [data-motion-pop-id="${n}"] { + position: absolute !important; + width: ${o}px !important; + height: ${s}px !important; + top: ${a}px !important; + left: ${l}px !important; + } + `),()=>{document.head.removeChild(u)}},[t]),L.createElement(SPe,{isPresent:t,childRef:r,sizeRef:i},L.cloneElement(e,{ref:r}))}const uC=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:s})=>{const a=LV(xPe),l=L.useId(),u=L.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:d=>{a.set(d,!0);for(const f of a.values())if(!f)return;r&&r()},register:d=>(a.set(d,!1),()=>a.delete(d))}),o?void 0:[n]);return L.useMemo(()=>{a.forEach((d,f)=>a.set(f,!1))},[n]),L.useEffect(()=>{!n&&!a.size&&r&&r()},[n]),s==="popLayout"&&(e=L.createElement(wPe,{isPresent:n},e)),L.createElement(Lm.Provider,{value:u},e)};function xPe(){return new Map}function CPe(e){return L.useEffect(()=>()=>e(),[])}const wd=e=>e.key||"";function TPe(e,t){e.forEach(n=>{const r=wd(n);t.set(r,n)})}function EPe(e){const t=[];return L.Children.forEach(e,n=>{L.isValidElement(n)&&t.push(n)}),t}const APe=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:s="sync"})=>{const a=L.useContext(KE).forceRender||bPe()[0],l=Fj(),u=EPe(e);let d=u;const f=L.useRef(new Map).current,p=L.useRef(d),g=L.useRef(new Map).current,m=L.useRef(!0);if(a_(()=>{m.current=!1,TPe(u,g),p.current=d}),CPe(()=>{m.current=!0,g.clear(),f.clear()}),m.current)return L.createElement(L.Fragment,null,d.map(b=>L.createElement(uC,{key:wd(b),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:s},b)));d=[...d];const v=p.current.map(wd),x=u.map(wd),_=v.length;for(let b=0;b<_;b++){const y=v[b];x.indexOf(y)===-1&&!f.has(y)&&f.set(y,void 0)}return s==="wait"&&f.size&&(d=[]),f.forEach((b,y)=>{if(x.indexOf(y)!==-1)return;const S=g.get(y);if(!S)return;const C=v.indexOf(y);let T=b;if(!T){const E=()=>{g.delete(y),f.delete(y);const P=p.current.findIndex(k=>k.key===y);if(p.current.splice(P,1),!f.size){if(p.current=u,l.current===!1)return;a(),r&&r()}};T=L.createElement(uC,{key:wd(S),isPresent:!1,onExitComplete:E,custom:t,presenceAffectsLayout:o,mode:s},S),f.set(y,T)}d.splice(C,0,T)}),d=d.map(b=>{const y=b.key;return f.has(y)?b:L.createElement(uC,{key:wd(b),isPresent:!0,presenceAffectsLayout:o,mode:s},b)}),L.createElement(L.Fragment,null,f.size?d:d.map(b=>L.cloneElement(b)))};var PPe=v5e({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),Bj=Pc((e,t)=>{const n=vV("Spinner",e),{label:r="Loading...",thickness:i="2px",speed:o="0.45s",emptyColor:s="transparent",className:a,...l}=pV(e),u=aV("chakra-spinner",a),d={display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:s,borderLeftColor:s,animation:`${PPe} ${o} linear infinite`,...n};return ue.jsx(cc.div,{ref:t,__css:d,className:u,...l,children:r&&ue.jsx(cc.span,{srOnly:!0,children:r})})});Bj.displayName="Spinner";var U5=Pc(function(t,n){const{htmlWidth:r,htmlHeight:i,alt:o,...s}=t;return ue.jsx("img",{width:r,height:i,ref:n,alt:o,...s})});U5.displayName="NativeImage";function RPe(e){const{loading:t,src:n,srcSet:r,onLoad:i,onError:o,crossOrigin:s,sizes:a,ignoreFallback:l}=e,[u,d]=L.useState("pending");L.useEffect(()=>{d(n?"loading":"pending")},[n]);const f=L.useRef(),p=L.useCallback(()=>{if(!n)return;g();const m=new Image;m.src=n,s&&(m.crossOrigin=s),r&&(m.srcset=r),a&&(m.sizes=a),t&&(m.loading=t),m.onload=v=>{g(),d("loaded"),i==null||i(v)},m.onerror=v=>{g(),d("failed"),o==null||o(v)},f.current=m},[n,s,r,a,i,o,t]),g=()=>{f.current&&(f.current.onload=null,f.current.onerror=null,f.current=null)};return _5e(()=>{if(!l)return u==="loading"&&p(),()=>{g()}},[u,p,l]),l?"loaded":u}var OPe=(e,t)=>e!=="loaded"&&t==="beforeLoadOrError"||e==="failed"&&t==="onError";function kPe(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var f6=Pc(function(t,n){const{fallbackSrc:r,fallback:i,src:o,srcSet:s,align:a,fit:l,loading:u,ignoreFallback:d,crossOrigin:f,fallbackStrategy:p="beforeLoadOrError",referrerPolicy:g,...m}=t,v=r!==void 0||i!==void 0,x=u!=null||d||!v,_=RPe({...t,crossOrigin:f,ignoreFallback:x}),b=OPe(_,p),y={ref:n,objectFit:l,objectPosition:a,...x?m:kPe(m,["onError","onLoad"])};return b?i||ue.jsx(cc.img,{as:U5,className:"chakra-image__placeholder",src:r,...y}):ue.jsx(cc.img,{as:U5,src:o,srcSet:s,crossOrigin:f,loading:u,referrerPolicy:g,className:"chakra-image",...y})});f6.displayName="Image";var z5=Pc(function(t,n){const r=vV("Heading",t),{className:i,...o}=pV(t);return ue.jsx(cc.h2,{ref:n,className:aV("chakra-heading",t.className),...o,__css:r})});z5.displayName="Heading";var h6=cc("div");h6.displayName="Box";var Uj=Pc(function(t,n){const{size:r,centerContent:i=!0,...o}=t,s=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return ue.jsx(h6,{ref:n,boxSize:r,__css:{...s,flexShrink:0,flexGrow:0},...o})});Uj.displayName="Square";var IPe=Pc(function(t,n){const{size:r,...i}=t;return ue.jsx(Uj,{size:r,ref:n,borderRadius:"9999px",...i})});IPe.displayName="Circle";var p6=Pc(function(t,n){const{direction:r,align:i,justify:o,wrap:s,basis:a,grow:l,shrink:u,...d}=t,f={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:s,flexBasis:a,flexGrow:l,flexShrink:u};return ue.jsx(cc.div,{ref:n,__css:f,...d})});p6.displayName="Flex";const MPe=""+new URL("logo-13003d72.png",import.meta.url).href,NPe=()=>ue.jsxs(p6,{position:"relative",width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",bg:"#151519",children:[ue.jsx(f6,{src:MPe,w:"8rem",h:"8rem"}),ue.jsx(Bj,{label:"Loading",color:"grey",position:"absolute",size:"sm",width:"24px !important",height:"24px !important",right:"1.5rem",bottom:"1.5rem"})]}),LPe=L.memo(NPe);function V5(e){"@babel/helpers - typeof";return V5=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},V5(e)}var zj=[],DPe=zj.forEach,$Pe=zj.slice;function j5(e){return DPe.call($Pe.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}function Vj(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":V5(XMLHttpRequest))==="object"}function FPe(e){return!!e&&typeof e.then=="function"}function BPe(e){return FPe(e)?e:Promise.resolve(e)}function UPe(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var G5={exports:{}},K0={exports:{}},n7;function zPe(){return n7||(n7=1,function(e,t){var n=typeof self<"u"?self:He,r=function(){function o(){this.fetch=!1,this.DOMException=n.DOMException}return o.prototype=n,new o}();(function(o){(function(s){var a={searchParams:"URLSearchParams"in o,iterable:"Symbol"in o&&"iterator"in Symbol,blob:"FileReader"in o&&"Blob"in o&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in o,arrayBuffer:"ArrayBuffer"in o};function l(A){return A&&DataView.prototype.isPrototypeOf(A)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],d=ArrayBuffer.isView||function(A){return A&&u.indexOf(Object.prototype.toString.call(A))>-1};function f(A){if(typeof A!="string"&&(A=String(A)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(A))throw new TypeError("Invalid character in header field name");return A.toLowerCase()}function p(A){return typeof A!="string"&&(A=String(A)),A}function g(A){var N={next:function(){var F=A.shift();return{done:F===void 0,value:F}}};return a.iterable&&(N[Symbol.iterator]=function(){return N}),N}function m(A){this.map={},A instanceof m?A.forEach(function(N,F){this.append(F,N)},this):Array.isArray(A)?A.forEach(function(N){this.append(N[0],N[1])},this):A&&Object.getOwnPropertyNames(A).forEach(function(N){this.append(N,A[N])},this)}m.prototype.append=function(A,N){A=f(A),N=p(N);var F=this.map[A];this.map[A]=F?F+", "+N:N},m.prototype.delete=function(A){delete this.map[f(A)]},m.prototype.get=function(A){return A=f(A),this.has(A)?this.map[A]:null},m.prototype.has=function(A){return this.map.hasOwnProperty(f(A))},m.prototype.set=function(A,N){this.map[f(A)]=p(N)},m.prototype.forEach=function(A,N){for(var F in this.map)this.map.hasOwnProperty(F)&&A.call(N,this.map[F],F,this)},m.prototype.keys=function(){var A=[];return this.forEach(function(N,F){A.push(F)}),g(A)},m.prototype.values=function(){var A=[];return this.forEach(function(N){A.push(N)}),g(A)},m.prototype.entries=function(){var A=[];return this.forEach(function(N,F){A.push([F,N])}),g(A)},a.iterable&&(m.prototype[Symbol.iterator]=m.prototype.entries);function v(A){if(A.bodyUsed)return Promise.reject(new TypeError("Already read"));A.bodyUsed=!0}function x(A){return new Promise(function(N,F){A.onload=function(){N(A.result)},A.onerror=function(){F(A.error)}})}function _(A){var N=new FileReader,F=x(N);return N.readAsArrayBuffer(A),F}function b(A){var N=new FileReader,F=x(N);return N.readAsText(A),F}function y(A){for(var N=new Uint8Array(A),F=new Array(N.length),B=0;B-1?N:A}function P(A,N){N=N||{};var F=N.body;if(A instanceof P){if(A.bodyUsed)throw new TypeError("Already read");this.url=A.url,this.credentials=A.credentials,N.headers||(this.headers=new m(A.headers)),this.method=A.method,this.mode=A.mode,this.signal=A.signal,!F&&A._bodyInit!=null&&(F=A._bodyInit,A.bodyUsed=!0)}else this.url=String(A);if(this.credentials=N.credentials||this.credentials||"same-origin",(N.headers||!this.headers)&&(this.headers=new m(N.headers)),this.method=E(N.method||this.method||"GET"),this.mode=N.mode||this.mode||null,this.signal=N.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&F)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(F)}P.prototype.clone=function(){return new P(this,{body:this._bodyInit})};function k(A){var N=new FormData;return A.trim().split("&").forEach(function(F){if(F){var B=F.split("="),D=B.shift().replace(/\+/g," "),V=B.join("=").replace(/\+/g," ");N.append(decodeURIComponent(D),decodeURIComponent(V))}}),N}function O(A){var N=new m,F=A.replace(/\r?\n[\t ]+/g," ");return F.split(/\r?\n/).forEach(function(B){var D=B.split(":"),V=D.shift().trim();if(V){var j=D.join(":").trim();N.append(V,j)}}),N}C.call(P.prototype);function M(A,N){N||(N={}),this.type="default",this.status=N.status===void 0?200:N.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in N?N.statusText:"OK",this.headers=new m(N.headers),this.url=N.url||"",this._initBody(A)}C.call(M.prototype),M.prototype.clone=function(){return new M(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new m(this.headers),url:this.url})},M.error=function(){var A=new M(null,{status:0,statusText:""});return A.type="error",A};var G=[301,302,303,307,308];M.redirect=function(A,N){if(G.indexOf(N)===-1)throw new RangeError("Invalid status code");return new M(null,{status:N,headers:{location:A}})},s.DOMException=o.DOMException;try{new s.DOMException}catch{s.DOMException=function(N,F){this.message=N,this.name=F;var B=Error(N);this.stack=B.stack},s.DOMException.prototype=Object.create(Error.prototype),s.DOMException.prototype.constructor=s.DOMException}function U(A,N){return new Promise(function(F,B){var D=new P(A,N);if(D.signal&&D.signal.aborted)return B(new s.DOMException("Aborted","AbortError"));var V=new XMLHttpRequest;function j(){V.abort()}V.onload=function(){var q={status:V.status,statusText:V.statusText,headers:O(V.getAllResponseHeaders()||"")};q.url="responseURL"in V?V.responseURL:q.headers.get("X-Request-URL");var Z="response"in V?V.response:V.responseText;F(new M(Z,q))},V.onerror=function(){B(new TypeError("Network request failed"))},V.ontimeout=function(){B(new TypeError("Network request failed"))},V.onabort=function(){B(new s.DOMException("Aborted","AbortError"))},V.open(D.method,D.url,!0),D.credentials==="include"?V.withCredentials=!0:D.credentials==="omit"&&(V.withCredentials=!1),"responseType"in V&&a.blob&&(V.responseType="blob"),D.headers.forEach(function(q,Z){V.setRequestHeader(Z,q)}),D.signal&&(D.signal.addEventListener("abort",j),V.onreadystatechange=function(){V.readyState===4&&D.signal.removeEventListener("abort",j)}),V.send(typeof D._bodyInit>"u"?null:D._bodyInit)})}return U.polyfill=!0,o.fetch||(o.fetch=U,o.Headers=m,o.Request=P,o.Response=M),s.Headers=m,s.Request=P,s.Response=M,s.fetch=U,Object.defineProperty(s,"__esModule",{value:!0}),s})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var i=r;t=i.fetch,t.default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t}(K0,K0.exports)),K0.exports}(function(e,t){var n;if(typeof fetch=="function"&&(typeof He<"u"&&He.fetch?n=He.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof UPe<"u"&&(typeof window>"u"||typeof window.document>"u")){var r=n||zPe();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(G5,G5.exports);var jj=G5.exports;const Gj=dc(jj),r7=b7({__proto__:null,default:Gj},[jj]);function m_(e){"@babel/helpers - typeof";return m_=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},m_(e)}var Ca;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?Ca=global.fetch:typeof window<"u"&&window.fetch?Ca=window.fetch:Ca=fetch);var Gg;Vj()&&(typeof global<"u"&&global.XMLHttpRequest?Gg=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(Gg=window.XMLHttpRequest));var y_;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?y_=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(y_=window.ActiveXObject));!Ca&&r7&&!Gg&&!y_&&(Ca=Gj||r7);typeof Ca!="function"&&(Ca=void 0);var H5=function(t,n){if(n&&m_(n)==="object"){var r="";for(var i in n)r+="&"+encodeURIComponent(i)+"="+encodeURIComponent(n[i]);if(!r)return t;t=t+(t.indexOf("?")!==-1?"&":"?")+r.slice(1)}return t},i7=function(t,n,r){Ca(t,n).then(function(i){if(!i.ok)return r(i.statusText||"Error",{status:i.status});i.text().then(function(o){r(null,{status:i.status,data:o})}).catch(r)}).catch(r)},o7=!1,VPe=function(t,n,r,i){t.queryStringParams&&(n=H5(n,t.queryStringParams));var o=j5({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);r&&(o["Content-Type"]="application/json");var s=typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions,a=j5({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:o},o7?{}:s);try{i7(n,a,i)}catch(l){if(!s||Object.keys(s).length===0||!l.message||l.message.indexOf("not implemented")<0)return i(l);try{Object.keys(s).forEach(function(u){delete a[u]}),i7(n,a,i),o7=!0}catch(u){i(u)}}},jPe=function(t,n,r,i){r&&m_(r)==="object"&&(r=H5("",r).slice(1)),t.queryStringParams&&(n=H5(n,t.queryStringParams));try{var o;Gg?o=new Gg:o=new y_("MSXML2.XMLHTTP.3.0"),o.open(r?"POST":"GET",n,1),t.crossDomain||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.withCredentials=!!t.withCredentials,r&&o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.overrideMimeType&&o.overrideMimeType("application/json");var s=t.customHeaders;if(s=typeof s=="function"?s():s,s)for(var a in s)o.setRequestHeader(a,s[a]);o.onreadystatechange=function(){o.readyState>3&&i(o.status>=400?o.statusText:null,{status:o.status,data:o.responseText})},o.send(r)}catch(l){console&&console.log(l)}},GPe=function(t,n,r,i){if(typeof r=="function"&&(i=r,r=void 0),i=i||function(){},Ca&&n.indexOf("file:")!==0)return VPe(t,n,r,i);if(Vj()||typeof ActiveXObject=="function")return jPe(t,n,r,i);i(new Error("No fetch and no xhr implementation found!"))};function Hg(e){"@babel/helpers - typeof";return Hg=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Hg(e)}function HPe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s7(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};HPe(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return WPe(e,[{key:"init",value:function(n){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=j5(i,this.options||{},XPe()),this.allOptions=o,this.services&&this.options.reloadInterval&&setInterval(function(){return r.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(n,r,i){this._readAny(n,n,r,r,i)}},{key:"read",value:function(n,r,i){this._readAny([n],n,[r],r,i)}},{key:"_readAny",value:function(n,r,i,o,s){var a=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,i)),l=BPe(l),l.then(function(u){if(!u)return s(null,{});var d=a.services.interpolator.interpolate(u,{lng:n.join("+"),ns:i.join("+")});a.loadUrl(d,s,r,o)})}},{key:"loadUrl",value:function(n,r,i,o){var s=this,a=typeof i=="string"?[i]:i,l=typeof o=="string"?[o]:o,u=this.options.parseLoadPayload(a,l);this.options.request(this.options,n,u,function(d,f){if(f&&(f.status>=500&&f.status<600||!f.status))return r("failed loading "+n+"; status code: "+f.status,!0);if(f&&f.status>=400&&f.status<500)return r("failed loading "+n+"; status code: "+f.status,!1);if(!f&&d&&d.message&&d.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+d.message,!0);if(d)return r(d,!1);var p,g;try{typeof f.data=="string"?p=s.options.parse(f.data,i,o):p=f.data}catch{g="failed parsing "+n+" to json"}if(g)return r(g,!1);r(null,p)})}},{key:"create",value:function(n,r,i,o,s){var a=this;if(this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,i,o),u=0,d=[],f=[];n.forEach(function(p){var g=a.options.addPath;typeof a.options.addPath=="function"&&(g=a.options.addPath(p,r));var m=a.services.interpolator.interpolate(g,{lng:p,ns:r});a.options.request(a.options,m,l,function(v,x){u+=1,d.push(v),f.push(x),u===n.length&&typeof s=="function"&&s(d,f)})})}}},{key:"reload",value:function(){var n=this,r=this.services,i=r.backendConnector,o=r.languageUtils,s=r.logger,a=i.language;if(!(a&&a.toLowerCase()==="cimode")){var l=[],u=function(f){var p=o.toResolveHierarchy(f);p.forEach(function(g){l.indexOf(g)<0&&l.push(g)})};u(a),this.allOptions.preload&&this.allOptions.preload.forEach(function(d){return u(d)}),l.forEach(function(d){n.allOptions.ns.forEach(function(f){i.read(d,f,"read",null,null,function(p,g){p&&s.warn("loading namespace ".concat(f," for language ").concat(d," failed"),p),!p&&g&&s.log("loaded namespace ".concat(f," for language ").concat(d),g),i.loaded("".concat(d,"|").concat(f),p,g)})})})}}}]),e}();Wj.type="backend";const YPe=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,QPe={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},ZPe=e=>QPe[e],JPe=e=>e.replace(YPe,ZPe);let W5={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:JPe};function e8e(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};W5={...W5,...e}}function AMe(){return W5}let qj;function t8e(e){qj=e}function PMe(){return qj}const n8e={type:"3rdParty",init(e){e8e(e.options.react),t8e(e)}};Kr.use(Wj).use(n8e).init({fallbackLng:"en",debug:!1,backend:{loadPath:"/locales/{{lng}}.json"},interpolation:{escapeValue:!1},returnNull:!1});const u2=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Yf(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function g6(e){return"nodeType"in e}function fi(e){var t,n;return e?Yf(e)?e:g6(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function m6(e){const{Document:t}=fi(e);return e instanceof t}function Um(e){return Yf(e)?!1:e instanceof fi(e).HTMLElement}function r8e(e){return e instanceof fi(e).SVGElement}function Qf(e){return e?Yf(e)?e.document:g6(e)?m6(e)?e:Um(e)?e.ownerDocument:document:document:document}const $s=u2?L.useLayoutEffect:L.useEffect;function c2(e){const t=L.useRef(e);return $s(()=>{t.current=e}),L.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i{e.current=setInterval(r,i)},[]),n=L.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function Wg(e,t){t===void 0&&(t=[e]);const n=L.useRef(e);return $s(()=>{n.current!==e&&(n.current=e)},t),n}function zm(e,t){const n=L.useRef();return L.useMemo(()=>{const r=e(n.current);return n.current=r,r},[...t])}function v_(e){const t=c2(e),n=L.useRef(null),r=L.useCallback(i=>{i!==n.current&&(t==null||t(i,n.current)),n.current=i},[]);return[n,r]}function __(e){const t=L.useRef();return L.useEffect(()=>{t.current=e},[e]),t.current}let cC={};function d2(e,t){return L.useMemo(()=>{if(t)return t;const n=cC[e]==null?0:cC[e]+1;return cC[e]=n,e+"-"+n},[e,t])}function Kj(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{const a=Object.entries(s);for(const[l,u]of a){const d=o[l];d!=null&&(o[l]=d+e*u)}return o},{...t})}}const uf=Kj(1),b_=Kj(-1);function o8e(e){return"clientX"in e&&"clientY"in e}function y6(e){if(!e)return!1;const{KeyboardEvent:t}=fi(e.target);return t&&e instanceof t}function s8e(e){if(!e)return!1;const{TouchEvent:t}=fi(e.target);return t&&e instanceof t}function qg(e){if(s8e(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return o8e(e)?{x:e.clientX,y:e.clientY}:null}const Kg=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[Kg.Translate.toString(e),Kg.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),a7="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function a8e(e){return e.matches(a7)?e:e.querySelector(a7)}const l8e={display:"none"};function u8e(e){let{id:t,value:n}=e;return Lt.createElement("div",{id:t,style:l8e},n)}const c8e={position:"fixed",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};function d8e(e){let{id:t,announcement:n}=e;return Lt.createElement("div",{id:t,style:c8e,role:"status","aria-live":"assertive","aria-atomic":!0},n)}function f8e(){const[e,t]=L.useState("");return{announce:L.useCallback(r=>{r!=null&&t(r)},[]),announcement:e}}const Xj=L.createContext(null);function h8e(e){const t=L.useContext(Xj);L.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of ");return t(e)},[e,t])}function p8e(){const[e]=L.useState(()=>new Set),t=L.useCallback(r=>(e.add(r),()=>e.delete(r)),[e]);return[L.useCallback(r=>{let{type:i,event:o}=r;e.forEach(s=>{var a;return(a=s[i])==null?void 0:a.call(s,o)})},[e]),t]}const g8e={draggable:` + To pick up a draggable item, press the space bar. + While dragging, use the arrow keys to move the item. + Press space again to drop the item in its new position, or press escape to cancel. + `},m8e={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function y8e(e){let{announcements:t=m8e,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=g8e}=e;const{announce:o,announcement:s}=f8e(),a=d2("DndLiveRegion"),[l,u]=L.useState(!1);if(L.useEffect(()=>{u(!0)},[]),h8e(L.useMemo(()=>({onDragStart(f){let{active:p}=f;o(t.onDragStart({active:p}))},onDragMove(f){let{active:p,over:g}=f;t.onDragMove&&o(t.onDragMove({active:p,over:g}))},onDragOver(f){let{active:p,over:g}=f;o(t.onDragOver({active:p,over:g}))},onDragEnd(f){let{active:p,over:g}=f;o(t.onDragEnd({active:p,over:g}))},onDragCancel(f){let{active:p,over:g}=f;o(t.onDragCancel({active:p,over:g}))}}),[o,t])),!l)return null;const d=Lt.createElement(Lt.Fragment,null,Lt.createElement(u8e,{id:r,value:i.draggable}),Lt.createElement(d8e,{id:a,announcement:s}));return n?bs.createPortal(d,n):d}var er;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(er||(er={}));function S_(){}function l7(e,t){return L.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function v8e(){for(var e=arguments.length,t=new Array(e),n=0;n[...t].filter(r=>r!=null),[...t])}const ns=Object.freeze({x:0,y:0});function _8e(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function b8e(e,t){const n=qg(e);if(!n)return"0 0";const r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}function S8e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function w8e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function x8e(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function C8e(e,t){if(!e||e.length===0)return null;const[n]=e;return t?n[t]:n}function T8e(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),o=Math.min(t.top+t.height,e.top+e.height),s=i-r,a=o-n;if(r{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=[];for(const o of r){const{id:s}=o,a=n.get(s);if(a){const l=T8e(a,t);l>0&&i.push({id:s,data:{droppableContainer:o,value:l}})}}return i.sort(w8e)};function A8e(e,t){const{top:n,left:r,bottom:i,right:o}=t;return n<=e.y&&e.y<=i&&r<=e.x&&e.x<=o}const P8e=e=>{let{droppableContainers:t,droppableRects:n,pointerCoordinates:r}=e;if(!r)return[];const i=[];for(const o of t){const{id:s}=o,a=n.get(s);if(a&&A8e(r,a)){const u=x8e(a).reduce((f,p)=>f+_8e(r,p),0),d=Number((u/4).toFixed(4));i.push({id:s,data:{droppableContainer:o,value:d}})}}return i.sort(S8e)};function R8e(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function Yj(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:ns}function O8e(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o({...s,top:s.top+e*a.y,bottom:s.bottom+e*a.y,left:s.left+e*a.x,right:s.right+e*a.x}),{...n})}}const k8e=O8e(1);function Qj(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function I8e(e,t,n){const r=Qj(t);if(!r)return e;const{scaleX:i,scaleY:o,x:s,y:a}=r,l=e.left-s-(1-i)*parseFloat(n),u=e.top-a-(1-o)*parseFloat(n.slice(n.indexOf(" ")+1)),d=i?e.width/i:e.width,f=o?e.height/o:e.height;return{width:d,height:f,top:u,right:l+d,bottom:u+f,left:l}}const M8e={ignoreTransform:!1};function Vm(e,t){t===void 0&&(t=M8e);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:u,transformOrigin:d}=fi(e).getComputedStyle(e);u&&(n=I8e(n,u,d))}const{top:r,left:i,width:o,height:s,bottom:a,right:l}=n;return{top:r,left:i,width:o,height:s,bottom:a,right:l}}function u7(e){return Vm(e,{ignoreTransform:!0})}function N8e(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function L8e(e,t){return t===void 0&&(t=fi(e).getComputedStyle(e)),t.position==="fixed"}function D8e(e,t){t===void 0&&(t=fi(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const o=t[i];return typeof o=="string"?n.test(o):!1})}function v6(e,t){const n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(m6(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Um(i)||r8e(i)||n.includes(i))return n;const o=fi(e).getComputedStyle(i);return i!==e&&D8e(i,o)&&n.push(i),L8e(i,o)?n:r(i.parentNode)}return e?r(e):n}function Zj(e){const[t]=v6(e,1);return t??null}function dC(e){return!u2||!e?null:Yf(e)?e:g6(e)?m6(e)||e===Qf(e).scrollingElement?window:Um(e)?e:null:null}function Jj(e){return Yf(e)?e.scrollX:e.scrollLeft}function eG(e){return Yf(e)?e.scrollY:e.scrollTop}function q5(e){return{x:Jj(e),y:eG(e)}}var fr;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(fr||(fr={}));function tG(e){return!u2||!e?!1:e===document.scrollingElement}function nG(e){const t={x:0,y:0},n=tG(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},i=e.scrollTop<=t.y,o=e.scrollLeft<=t.x,s=e.scrollTop>=r.y,a=e.scrollLeft>=r.x;return{isTop:i,isLeft:o,isBottom:s,isRight:a,maxScroll:r,minScroll:t}}const $8e={x:.2,y:.2};function F8e(e,t,n,r,i){let{top:o,left:s,right:a,bottom:l}=n;r===void 0&&(r=10),i===void 0&&(i=$8e);const{isTop:u,isBottom:d,isLeft:f,isRight:p}=nG(e),g={x:0,y:0},m={x:0,y:0},v={height:t.height*i.y,width:t.width*i.x};return!u&&o<=t.top+v.height?(g.y=fr.Backward,m.y=r*Math.abs((t.top+v.height-o)/v.height)):!d&&l>=t.bottom-v.height&&(g.y=fr.Forward,m.y=r*Math.abs((t.bottom-v.height-l)/v.height)),!p&&a>=t.right-v.width?(g.x=fr.Forward,m.x=r*Math.abs((t.right-v.width-a)/v.width)):!f&&s<=t.left+v.width&&(g.x=fr.Backward,m.x=r*Math.abs((t.left+v.width-s)/v.width)),{direction:g,speed:m}}function B8e(e){if(e===document.scrollingElement){const{innerWidth:o,innerHeight:s}=window;return{top:0,left:0,right:o,bottom:s,width:o,height:s}}const{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function rG(e){return e.reduce((t,n)=>uf(t,q5(n)),ns)}function U8e(e){return e.reduce((t,n)=>t+Jj(n),0)}function z8e(e){return e.reduce((t,n)=>t+eG(n),0)}function iG(e,t){if(t===void 0&&(t=Vm),!e)return;const{top:n,left:r,bottom:i,right:o}=t(e);Zj(e)&&(i<=0||o<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const V8e=[["x",["left","right"],U8e],["y",["top","bottom"],z8e]];class _6{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=v6(n),i=rG(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,s,a]of V8e)for(const l of s)Object.defineProperty(this,l,{get:()=>{const u=a(r),d=i[o]-u;return this.rect[l]+d},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Np{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=t}add(t,n,r){var i;(i=this.target)==null||i.addEventListener(t,n,r),this.listeners.push([t,n,r])}}function j8e(e){const{EventTarget:t}=fi(e);return e instanceof t?e:Qf(e)}function fC(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return typeof t=="number"?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t?r>t.y:!1}var po;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(po||(po={}));function c7(e){e.preventDefault()}function G8e(e){e.stopPropagation()}var Qt;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter"})(Qt||(Qt={}));const oG={start:[Qt.Space,Qt.Enter],cancel:[Qt.Esc],end:[Qt.Space,Qt.Enter]},H8e=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case Qt.Right:return{...n,x:n.x+25};case Qt.Left:return{...n,x:n.x-25};case Qt.Down:return{...n,y:n.y+25};case Qt.Up:return{...n,y:n.y-25}}};class sG{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:n}}=t;this.props=t,this.listeners=new Np(Qf(n)),this.windowListeners=new Np(fi(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(po.Resize,this.handleCancel),this.windowListeners.add(po.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(po.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&iG(r),n(ns)}handleKeyDown(t){if(y6(t)){const{active:n,context:r,options:i}=this.props,{keyboardCodes:o=oG,coordinateGetter:s=H8e,scrollBehavior:a="smooth"}=i,{code:l}=t;if(o.end.includes(l)){this.handleEnd(t);return}if(o.cancel.includes(l)){this.handleCancel(t);return}const{collisionRect:u}=r.current,d=u?{x:u.left,y:u.top}:ns;this.referenceCoordinates||(this.referenceCoordinates=d);const f=s(t,{active:n,context:r.current,currentCoordinates:d});if(f){const p=b_(f,d),g={x:0,y:0},{scrollableAncestors:m}=r.current;for(const v of m){const x=t.code,{isTop:_,isRight:b,isLeft:y,isBottom:S,maxScroll:C,minScroll:T}=nG(v),E=B8e(v),P={x:Math.min(x===Qt.Right?E.right-E.width/2:E.right,Math.max(x===Qt.Right?E.left:E.left+E.width/2,f.x)),y:Math.min(x===Qt.Down?E.bottom-E.height/2:E.bottom,Math.max(x===Qt.Down?E.top:E.top+E.height/2,f.y))},k=x===Qt.Right&&!b||x===Qt.Left&&!y,O=x===Qt.Down&&!S||x===Qt.Up&&!_;if(k&&P.x!==f.x){const M=v.scrollLeft+p.x,G=x===Qt.Right&&M<=C.x||x===Qt.Left&&M>=T.x;if(G&&!p.y){v.scrollTo({left:M,behavior:a});return}G?g.x=v.scrollLeft-M:g.x=x===Qt.Right?v.scrollLeft-C.x:v.scrollLeft-T.x,g.x&&v.scrollBy({left:-g.x,behavior:a});break}else if(O&&P.y!==f.y){const M=v.scrollTop+p.y,G=x===Qt.Down&&M<=C.y||x===Qt.Up&&M>=T.y;if(G&&!p.x){v.scrollTo({top:M,behavior:a});return}G?g.y=v.scrollTop-M:g.y=x===Qt.Down?v.scrollTop-C.y:v.scrollTop-T.y,g.y&&v.scrollBy({top:-g.y,behavior:a});break}}this.handleMove(t,uf(b_(f,this.referenceCoordinates),g))}}}handleMove(t,n){const{onMove:r}=this.props;t.preventDefault(),r(n)}handleEnd(t){const{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){const{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}sG.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=oG,onActivation:i}=t,{active:o}=n;const{code:s}=e.nativeEvent;if(r.start.includes(s)){const a=o.activatorNode.current;return a&&e.target!==a?!1:(e.preventDefault(),i==null||i({event:e.nativeEvent}),!0)}return!1}}];function d7(e){return!!(e&&"distance"in e)}function f7(e){return!!(e&&"delay"in e)}class b6{constructor(t,n,r){var i;r===void 0&&(r=j8e(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;const{event:o}=t,{target:s}=o;this.props=t,this.events=n,this.document=Qf(s),this.documentListeners=new Np(this.document),this.listeners=new Np(r),this.windowListeners=new Np(fi(s)),this.initialCoordinates=(i=qg(o))!=null?i:ns,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:n}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),this.windowListeners.add(po.Resize,this.handleCancel),this.windowListeners.add(po.DragStart,c7),this.windowListeners.add(po.VisibilityChange,this.handleCancel),this.windowListeners.add(po.ContextMenu,c7),this.documentListeners.add(po.Keydown,this.handleKeydown),n){if(d7(n))return;if(f7(n)){this.timeoutId=setTimeout(this.handleStart,n.delay);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(po.Click,G8e,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(po.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:r,initialCoordinates:i,props:o}=this,{onMove:s,options:{activationConstraint:a}}=o;if(!i)return;const l=(n=qg(t))!=null?n:ns,u=b_(i,l);if(!r&&a){if(f7(a))return fC(u,a.tolerance)?this.handleCancel():void 0;if(d7(a))return a.tolerance!=null&&fC(u,a.tolerance)?this.handleCancel():fC(u,a.distance)?this.handleStart():void 0}t.cancelable&&t.preventDefault(),s(l)}handleEnd(){const{onEnd:t}=this.props;this.detach(),t()}handleCancel(){const{onCancel:t}=this.props;this.detach(),t()}handleKeydown(t){t.code===Qt.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const W8e={move:{name:"pointermove"},end:{name:"pointerup"}};class aG extends b6{constructor(t){const{event:n}=t,r=Qf(n.target);super(t,W8e,r)}}aG.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r==null||r({event:n}),!0)}}];const q8e={move:{name:"mousemove"},end:{name:"mouseup"}};var K5;(function(e){e[e.RightClick=2]="RightClick"})(K5||(K5={}));class lG extends b6{constructor(t){super(t,q8e,Qf(t.event.target))}}lG.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===K5.RightClick?!1:(r==null||r({event:n}),!0)}}];const hC={move:{name:"touchmove"},end:{name:"touchend"}};class uG extends b6{constructor(t){super(t,hC)}static setup(){return window.addEventListener(hC.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(hC.move.name,t)};function t(){}}}uG.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:i}=n;return i.length>1?!1:(r==null||r({event:n}),!0)}}];var Lp;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(Lp||(Lp={}));var w_;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(w_||(w_={}));function K8e(e){let{acceleration:t,activator:n=Lp.Pointer,canScroll:r,draggingRect:i,enabled:o,interval:s=5,order:a=w_.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:d,delta:f,threshold:p}=e;const g=Y8e({delta:f,disabled:!o}),[m,v]=i8e(),x=L.useRef({x:0,y:0}),_=L.useRef({x:0,y:0}),b=L.useMemo(()=>{switch(n){case Lp.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Lp.DraggableRect:return i}},[n,i,l]),y=L.useRef(null),S=L.useCallback(()=>{const T=y.current;if(!T)return;const E=x.current.x*_.current.x,P=x.current.y*_.current.y;T.scrollBy(E,P)},[]),C=L.useMemo(()=>a===w_.TreeOrder?[...u].reverse():u,[a,u]);L.useEffect(()=>{if(!o||!u.length||!b){v();return}for(const T of C){if((r==null?void 0:r(T))===!1)continue;const E=u.indexOf(T),P=d[E];if(!P)continue;const{direction:k,speed:O}=F8e(T,P,b,t,p);for(const M of["x","y"])g[M][k[M]]||(O[M]=0,k[M]=0);if(O.x>0||O.y>0){v(),y.current=T,m(S,s),x.current=O,_.current=k;return}}x.current={x:0,y:0},_.current={x:0,y:0},v()},[t,S,r,v,o,s,JSON.stringify(b),JSON.stringify(g),m,u,C,d,JSON.stringify(p)])}const X8e={x:{[fr.Backward]:!1,[fr.Forward]:!1},y:{[fr.Backward]:!1,[fr.Forward]:!1}};function Y8e(e){let{delta:t,disabled:n}=e;const r=__(t);return zm(i=>{if(n||!r||!i)return X8e;const o={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[fr.Backward]:i.x[fr.Backward]||o.x===-1,[fr.Forward]:i.x[fr.Forward]||o.x===1},y:{[fr.Backward]:i.y[fr.Backward]||o.y===-1,[fr.Forward]:i.y[fr.Forward]||o.y===1}}},[n,t,r])}function Q8e(e,t){const n=t!==null?e.get(t):void 0,r=n?n.node.current:null;return zm(i=>{var o;return t===null?null:(o=r??i)!=null?o:null},[r,t])}function Z8e(e,t){return L.useMemo(()=>e.reduce((n,r)=>{const{sensor:i}=r,o=i.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,r)}));return[...n,...o]},[]),[e,t])}var Xg;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(Xg||(Xg={}));var X5;(function(e){e.Optimized="optimized"})(X5||(X5={}));const h7=new Map;function J8e(e,t){let{dragging:n,dependencies:r,config:i}=t;const[o,s]=L.useState(null),{frequency:a,measure:l,strategy:u}=i,d=L.useRef(e),f=x(),p=Wg(f),g=L.useCallback(function(_){_===void 0&&(_=[]),!p.current&&s(b=>b===null?_:b.concat(_.filter(y=>!b.includes(y))))},[p]),m=L.useRef(null),v=zm(_=>{if(f&&!n)return h7;if(!_||_===h7||d.current!==e||o!=null){const b=new Map;for(let y of e){if(!y)continue;if(o&&o.length>0&&!o.includes(y.id)&&y.rect.current){b.set(y.id,y.rect.current);continue}const S=y.node.current,C=S?new _6(l(S),S):null;y.rect.current=C,C&&b.set(y.id,C)}return b}return _},[e,o,n,f,l]);return L.useEffect(()=>{d.current=e},[e]),L.useEffect(()=>{f||g()},[n,f]),L.useEffect(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),L.useEffect(()=>{f||typeof a!="number"||m.current!==null||(m.current=setTimeout(()=>{g(),m.current=null},a))},[a,f,g,...r]),{droppableRects:v,measureDroppableContainers:g,measuringScheduled:o!=null};function x(){switch(u){case Xg.Always:return!1;case Xg.BeforeDragging:return n;default:return!n}}}function S6(e,t){return zm(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function e9e(e,t){return S6(e,t)}function t9e(e){let{callback:t,disabled:n}=e;const r=c2(t),i=L.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(r)},[r,n]);return L.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function f2(e){let{callback:t,disabled:n}=e;const r=c2(t),i=L.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return L.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function n9e(e){return new _6(Vm(e),e)}function p7(e,t,n){t===void 0&&(t=n9e);const[r,i]=L.useReducer(a,null),o=t9e({callback(l){if(e)for(const u of l){const{type:d,target:f}=u;if(d==="childList"&&f instanceof HTMLElement&&f.contains(e)){i();break}}}}),s=f2({callback:i});return $s(()=>{i(),e?(s==null||s.observe(e),o==null||o.observe(document.body,{childList:!0,subtree:!0})):(s==null||s.disconnect(),o==null||o.disconnect())},[e]),r;function a(l){if(!e)return null;if(e.isConnected===!1){var u;return(u=l??n)!=null?u:null}const d=t(e);return JSON.stringify(l)===JSON.stringify(d)?l:d}}function r9e(e){const t=S6(e);return Yj(e,t)}const g7=[];function i9e(e){const t=L.useRef(e),n=zm(r=>e?r&&r!==g7&&e&&t.current&&e.parentNode===t.current.parentNode?r:v6(e):g7,[e]);return L.useEffect(()=>{t.current=e},[e]),n}function o9e(e){const[t,n]=L.useState(null),r=L.useRef(e),i=L.useCallback(o=>{const s=dC(o.target);s&&n(a=>a?(a.set(s,q5(s)),new Map(a)):null)},[]);return L.useEffect(()=>{const o=r.current;if(e!==o){s(o);const a=e.map(l=>{const u=dC(l);return u?(u.addEventListener("scroll",i,{passive:!0}),[u,q5(u)]):null}).filter(l=>l!=null);n(a.length?new Map(a):null),r.current=e}return()=>{s(e),s(o)};function s(a){a.forEach(l=>{const u=dC(l);u==null||u.removeEventListener("scroll",i)})}},[i,e]),L.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,s)=>uf(o,s),ns):rG(e):ns,[e,t])}function m7(e,t){t===void 0&&(t=[]);const n=L.useRef(null);return L.useEffect(()=>{n.current=null},t),L.useEffect(()=>{const r=e!==ns;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?b_(e,n.current):ns}function s9e(e){L.useEffect(()=>{if(!u2)return;const t=e.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of t)n==null||n()}},e.map(t=>{let{sensor:n}=t;return n}))}function a9e(e,t){return L.useMemo(()=>e.reduce((n,r)=>{let{eventName:i,handler:o}=r;return n[i]=s=>{o(s,t)},n},{}),[e,t])}function cG(e){return L.useMemo(()=>e?N8e(e):null,[e])}const pC=[];function l9e(e,t){t===void 0&&(t=Vm);const[n]=e,r=cG(n?fi(n):null),[i,o]=L.useReducer(a,pC),s=f2({callback:o});return e.length>0&&i===pC&&o(),$s(()=>{e.length?e.forEach(l=>s==null?void 0:s.observe(l)):(s==null||s.disconnect(),o())},[e]),i;function a(){return e.length?e.map(l=>tG(l)?r:new _6(t(l),l)):pC}}function dG(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Um(t)?t:e}function u9e(e){let{measure:t}=e;const[n,r]=L.useState(null),i=L.useCallback(u=>{for(const{target:d}of u)if(Um(d)){r(f=>{const p=t(d);return f?{...f,width:p.width,height:p.height}:p});break}},[t]),o=f2({callback:i}),s=L.useCallback(u=>{const d=dG(u);o==null||o.disconnect(),d&&(o==null||o.observe(d)),r(d?t(d):null)},[t,o]),[a,l]=v_(s);return L.useMemo(()=>({nodeRef:a,rect:n,setRef:l}),[n,a,l])}const c9e=[{sensor:aG,options:{}},{sensor:sG,options:{}}],d9e={current:{}},Iv={draggable:{measure:u7},droppable:{measure:u7,strategy:Xg.WhileDragging,frequency:X5.Optimized},dragOverlay:{measure:Vm}};class Dp extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,r;return(n=(r=this.get(t))==null?void 0:r.node.current)!=null?n:void 0}}const f9e={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Dp,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:S_},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Iv,measureDroppableContainers:S_,windowRect:null,measuringScheduled:!1},fG={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:S_,draggableNodes:new Map,over:null,measureDroppableContainers:S_},jm=L.createContext(fG),hG=L.createContext(f9e);function h9e(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Dp}}}function p9e(e,t){switch(t.type){case er.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case er.DragMove:return e.draggable.active?{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}}:e;case er.DragEnd:case er.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case er.RegisterDroppable:{const{element:n}=t,{id:r}=n,i=new Dp(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case er.SetDroppableDisabled:{const{id:n,key:r,disabled:i}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const s=new Dp(e.droppable.containers);return s.set(n,{...o,disabled:i}),{...e,droppable:{...e.droppable,containers:s}}}case er.UnregisterDroppable:{const{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const o=new Dp(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function g9e(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:i}=L.useContext(jm),o=__(r),s=__(n==null?void 0:n.id);return L.useEffect(()=>{if(!t&&!r&&o&&s!=null){if(!y6(o)||document.activeElement===o.target)return;const a=i.get(s);if(!a)return;const{activatorNode:l,node:u}=a;if(!l.current&&!u.current)return;requestAnimationFrame(()=>{for(const d of[l.current,u.current]){if(!d)continue;const f=a8e(d);if(f){f.focus();break}}})}},[r,t,i,s,o]),null}function pG(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((i,o)=>o({transform:i,...r}),n):n}function m9e(e){return L.useMemo(()=>({draggable:{...Iv.draggable,...e==null?void 0:e.draggable},droppable:{...Iv.droppable,...e==null?void 0:e.droppable},dragOverlay:{...Iv.dragOverlay,...e==null?void 0:e.dragOverlay}}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function y9e(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e;const o=L.useRef(!1),{x:s,y:a}=typeof i=="boolean"?{x:i,y:i}:i;$s(()=>{if(!s&&!a||!t){o.current=!1;return}if(o.current||!r)return;const u=t==null?void 0:t.node.current;if(!u||u.isConnected===!1)return;const d=n(u),f=Yj(d,r);if(s||(f.x=0),a||(f.y=0),o.current=!0,Math.abs(f.x)>0||Math.abs(f.y)>0){const p=Zj(u);p&&p.scrollBy({top:f.y,left:f.x})}},[t,s,a,r,n])}const h2=L.createContext({...ns,scaleX:1,scaleY:1});var hl;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(hl||(hl={}));const v9e=L.memo(function(t){var n,r,i,o;let{id:s,accessibility:a,autoScroll:l=!0,children:u,sensors:d=c9e,collisionDetection:f=E8e,measuring:p,modifiers:g,...m}=t;const v=L.useReducer(p9e,void 0,h9e),[x,_]=v,[b,y]=p8e(),[S,C]=L.useState(hl.Uninitialized),T=S===hl.Initialized,{draggable:{active:E,nodes:P,translate:k},droppable:{containers:O}}=x,M=E?P.get(E):null,G=L.useRef({initial:null,translated:null}),U=L.useMemo(()=>{var Xt;return E!=null?{id:E,data:(Xt=M==null?void 0:M.data)!=null?Xt:d9e,rect:G}:null},[E,M]),A=L.useRef(null),[N,F]=L.useState(null),[B,D]=L.useState(null),V=Wg(m,Object.values(m)),j=d2("DndDescribedBy",s),q=L.useMemo(()=>O.getEnabled(),[O]),Z=m9e(p),{droppableRects:ee,measureDroppableContainers:ie,measuringScheduled:se}=J8e(q,{dragging:T,dependencies:[k.x,k.y],config:Z.droppable}),le=Q8e(P,E),W=L.useMemo(()=>B?qg(B):null,[B]),ne=js(),fe=e9e(le,Z.draggable.measure);y9e({activeNode:E?P.get(E):null,config:ne.layoutShiftCompensation,initialRect:fe,measure:Z.draggable.measure});const pe=p7(le,Z.draggable.measure,fe),ve=p7(le?le.parentElement:null),ye=L.useRef({activatorEvent:null,active:null,activeNode:le,collisionRect:null,collisions:null,droppableRects:ee,draggableNodes:P,draggingNode:null,draggingNodeRect:null,droppableContainers:O,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),We=O.getNodeFor((n=ye.current.over)==null?void 0:n.id),Me=u9e({measure:Z.dragOverlay.measure}),Ee=(r=Me.nodeRef.current)!=null?r:le,lt=T?(i=Me.rect)!=null?i:pe:null,_e=!!(Me.nodeRef.current&&Me.rect),jt=r9e(_e?null:pe),Wn=cG(Ee?fi(Ee):null),Bt=i9e(T?We??le:null),it=l9e(Bt),mt=pG(g,{transform:{x:k.x-jt.x,y:k.y-jt.y,scaleX:1,scaleY:1},activatorEvent:B,active:U,activeNodeRect:pe,containerNodeRect:ve,draggingNodeRect:lt,over:ye.current.over,overlayNodeRect:Me.rect,scrollableAncestors:Bt,scrollableAncestorRects:it,windowRect:Wn}),Jt=W?uf(W,k):null,Mr=o9e(Bt),yr=m7(Mr),hi=m7(Mr,[pe]),wn=uf(mt,yr),on=lt?k8e(lt,mt):null,qn=U&&on?f({active:U,collisionRect:on,droppableRects:ee,droppableContainers:q,pointerCoordinates:Jt}):null,sn=C8e(qn,"id"),[Gt,vr]=L.useState(null),Nr=_e?mt:uf(mt,hi),Xr=R8e(Nr,(o=Gt==null?void 0:Gt.rect)!=null?o:null,pe),Ii=L.useCallback((Xt,kt)=>{let{sensor:Kn,options:$n}=kt;if(A.current==null)return;const or=P.get(A.current);if(!or)return;const _r=Xt.nativeEvent,br=new Kn({active:A.current,activeNode:or,event:_r,options:$n,context:ye,onStart(Sr){const Xn=A.current;if(Xn==null)return;const Mi=P.get(Xn);if(!Mi)return;const{onDragStart:os}=V.current,to={active:{id:Xn,data:Mi.data,rect:G}};bs.unstable_batchedUpdates(()=>{os==null||os(to),C(hl.Initializing),_({type:er.DragStart,initialCoordinates:Sr,active:Xn}),b({type:"onDragStart",event:to})})},onMove(Sr){_({type:er.DragMove,coordinates:Sr})},onEnd:eo(er.DragEnd),onCancel:eo(er.DragCancel)});bs.unstable_batchedUpdates(()=>{F(br),D(Xt.nativeEvent)});function eo(Sr){return async function(){const{active:Mi,collisions:os,over:to,scrollAdjustedTranslate:Va}=ye.current;let Ao=null;if(Mi&&Va){const{cancelDrop:wr}=V.current;Ao={activatorEvent:_r,active:Mi,collisions:os,delta:Va,over:to},Sr===er.DragEnd&&typeof wr=="function"&&await Promise.resolve(wr(Ao))&&(Sr=er.DragCancel)}A.current=null,bs.unstable_batchedUpdates(()=>{_({type:Sr}),C(hl.Uninitialized),vr(null),F(null),D(null);const wr=Sr===er.DragEnd?"onDragEnd":"onDragCancel";if(Ao){const Gs=V.current[wr];Gs==null||Gs(Ao),b({type:wr,event:Ao})}})}}},[P]),An=L.useCallback((Xt,kt)=>(Kn,$n)=>{const or=Kn.nativeEvent,_r=P.get($n);if(A.current!==null||!_r||or.dndKit||or.defaultPrevented)return;const br={active:_r};Xt(Kn,kt.options,br)===!0&&(or.dndKit={capturedBy:kt.sensor},A.current=$n,Ii(Kn,kt))},[P,Ii]),Yr=Z8e(d,An);s9e(d),$s(()=>{pe&&S===hl.Initializing&&C(hl.Initialized)},[pe,S]),L.useEffect(()=>{const{onDragMove:Xt}=V.current,{active:kt,activatorEvent:Kn,collisions:$n,over:or}=ye.current;if(!kt||!Kn)return;const _r={active:kt,activatorEvent:Kn,collisions:$n,delta:{x:wn.x,y:wn.y},over:or};bs.unstable_batchedUpdates(()=>{Xt==null||Xt(_r),b({type:"onDragMove",event:_r})})},[wn.x,wn.y]),L.useEffect(()=>{const{active:Xt,activatorEvent:kt,collisions:Kn,droppableContainers:$n,scrollAdjustedTranslate:or}=ye.current;if(!Xt||A.current==null||!kt||!or)return;const{onDragOver:_r}=V.current,br=$n.get(sn),eo=br&&br.rect.current?{id:br.id,rect:br.rect.current,data:br.data,disabled:br.disabled}:null,Sr={active:Xt,activatorEvent:kt,collisions:Kn,delta:{x:or.x,y:or.y},over:eo};bs.unstable_batchedUpdates(()=>{vr(eo),_r==null||_r(Sr),b({type:"onDragOver",event:Sr})})},[sn]),$s(()=>{ye.current={activatorEvent:B,active:U,activeNode:le,collisionRect:on,collisions:qn,droppableRects:ee,draggableNodes:P,draggingNode:Ee,draggingNodeRect:lt,droppableContainers:O,over:Gt,scrollableAncestors:Bt,scrollAdjustedTranslate:wn},G.current={initial:lt,translated:on}},[U,le,qn,on,P,Ee,lt,ee,O,Gt,Bt,wn]),K8e({...ne,delta:k,draggingRect:on,pointerCoordinates:Jt,scrollableAncestors:Bt,scrollableAncestorRects:it});const Vs=L.useMemo(()=>({active:U,activeNode:le,activeNodeRect:pe,activatorEvent:B,collisions:qn,containerNodeRect:ve,dragOverlay:Me,draggableNodes:P,droppableContainers:O,droppableRects:ee,over:Gt,measureDroppableContainers:ie,scrollableAncestors:Bt,scrollableAncestorRects:it,measuringConfiguration:Z,measuringScheduled:se,windowRect:Wn}),[U,le,pe,B,qn,ve,Me,P,O,ee,Gt,ie,Bt,it,Z,se,Wn]),Ji=L.useMemo(()=>({activatorEvent:B,activators:Yr,active:U,activeNodeRect:pe,ariaDescribedById:{draggable:j},dispatch:_,draggableNodes:P,over:Gt,measureDroppableContainers:ie}),[B,Yr,U,pe,_,j,P,Gt,ie]);return Lt.createElement(Xj.Provider,{value:y},Lt.createElement(jm.Provider,{value:Ji},Lt.createElement(hG.Provider,{value:Vs},Lt.createElement(h2.Provider,{value:Xr},u)),Lt.createElement(g9e,{disabled:(a==null?void 0:a.restoreFocus)===!1})),Lt.createElement(y8e,{...a,hiddenTextDescribedById:j}));function js(){const Xt=(N==null?void 0:N.autoScrollEnabled)===!1,kt=typeof l=="object"?l.enabled===!1:l===!1,Kn=T&&!Xt&&!kt;return typeof l=="object"?{...l,enabled:Kn}:{enabled:Kn}}}),_9e=L.createContext(null),y7="button",b9e="Droppable";function S9e(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e;const o=d2(b9e),{activators:s,activatorEvent:a,active:l,activeNodeRect:u,ariaDescribedById:d,draggableNodes:f,over:p}=L.useContext(jm),{role:g=y7,roleDescription:m="draggable",tabIndex:v=0}=i??{},x=(l==null?void 0:l.id)===t,_=L.useContext(x?h2:_9e),[b,y]=v_(),[S,C]=v_(),T=a9e(s,t),E=Wg(n);$s(()=>(f.set(t,{id:t,key:o,node:b,activatorNode:S,data:E}),()=>{const k=f.get(t);k&&k.key===o&&f.delete(t)}),[f,t]);const P=L.useMemo(()=>({role:g,tabIndex:v,"aria-disabled":r,"aria-pressed":x&&g===y7?!0:void 0,"aria-roledescription":m,"aria-describedby":d.draggable}),[r,g,v,x,m,d.draggable]);return{active:l,activatorEvent:a,activeNodeRect:u,attributes:P,isDragging:x,listeners:r?void 0:T,node:b,over:p,setNodeRef:y,setActivatorNodeRef:C,transform:_}}function w9e(){return L.useContext(hG)}const x9e="Droppable",C9e={timeout:25};function T9e(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e;const o=d2(x9e),{active:s,dispatch:a,over:l,measureDroppableContainers:u}=L.useContext(jm),d=L.useRef({disabled:n}),f=L.useRef(!1),p=L.useRef(null),g=L.useRef(null),{disabled:m,updateMeasurementsFor:v,timeout:x}={...C9e,...i},_=Wg(v??r),b=L.useCallback(()=>{if(!f.current){f.current=!0;return}g.current!=null&&clearTimeout(g.current),g.current=setTimeout(()=>{u(Array.isArray(_.current)?_.current:[_.current]),g.current=null},x)},[x]),y=f2({callback:b,disabled:m||!s}),S=L.useCallback((P,k)=>{y&&(k&&(y.unobserve(k),f.current=!1),P&&y.observe(P))},[y]),[C,T]=v_(S),E=Wg(t);return L.useEffect(()=>{!y||!C.current||(y.disconnect(),f.current=!1,y.observe(C.current))},[C,y]),$s(()=>(a({type:er.RegisterDroppable,element:{id:r,key:o,disabled:n,node:C,rect:p,data:E}}),()=>a({type:er.UnregisterDroppable,key:o,id:r})),[r]),L.useEffect(()=>{n!==d.current.disabled&&(a({type:er.SetDroppableDisabled,id:r,key:o,disabled:n}),d.current.disabled=n)},[r,o,n,a]),{active:s,rect:p,isOver:(l==null?void 0:l.id)===r,node:C,over:l,setNodeRef:T}}function E9e(e){let{animation:t,children:n}=e;const[r,i]=L.useState(null),[o,s]=L.useState(null),a=__(n);return!n&&!r&&a&&i(a),$s(()=>{if(!o)return;const l=r==null?void 0:r.key,u=r==null?void 0:r.props.id;if(l==null||u==null){i(null);return}Promise.resolve(t(u,o)).then(()=>{i(null)})},[t,r,o]),Lt.createElement(Lt.Fragment,null,n,r?L.cloneElement(r,{ref:s}):null)}const A9e={x:0,y:0,scaleX:1,scaleY:1};function P9e(e){let{children:t}=e;return Lt.createElement(jm.Provider,{value:fG},Lt.createElement(h2.Provider,{value:A9e},t))}const R9e={position:"fixed",touchAction:"none"},O9e=e=>y6(e)?"transform 250ms ease":void 0,k9e=L.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:o,className:s,rect:a,style:l,transform:u,transition:d=O9e}=e;if(!a)return null;const f=i?u:{...u,scaleX:1,scaleY:1},p={...R9e,width:a.width,height:a.height,top:a.top,left:a.left,transform:Kg.Transform.toString(f),transformOrigin:i&&r?b8e(r,a):void 0,transition:typeof d=="function"?d(r):d,...l};return Lt.createElement(n,{className:s,style:p,ref:t},o)}),I9e=e=>t=>{let{active:n,dragOverlay:r}=t;const i={},{styles:o,className:s}=e;if(o!=null&&o.active)for(const[a,l]of Object.entries(o.active))l!==void 0&&(i[a]=n.node.style.getPropertyValue(a),n.node.style.setProperty(a,l));if(o!=null&&o.dragOverlay)for(const[a,l]of Object.entries(o.dragOverlay))l!==void 0&&r.node.style.setProperty(a,l);return s!=null&&s.active&&n.node.classList.add(s.active),s!=null&&s.dragOverlay&&r.node.classList.add(s.dragOverlay),function(){for(const[l,u]of Object.entries(i))n.node.style.setProperty(l,u);s!=null&&s.active&&n.node.classList.remove(s.active)}},M9e=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Kg.Transform.toString(t)},{transform:Kg.Transform.toString(n)}]},N9e={duration:250,easing:"ease",keyframes:M9e,sideEffects:I9e({styles:{active:{opacity:"0"}}})};function L9e(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return c2((o,s)=>{if(t===null)return;const a=n.get(o);if(!a)return;const l=a.node.current;if(!l)return;const u=dG(s);if(!u)return;const{transform:d}=fi(s).getComputedStyle(s),f=Qj(d);if(!f)return;const p=typeof t=="function"?t:D9e(t);return iG(l,i.draggable.measure),p({active:{id:o,data:a.data,node:l,rect:i.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:s,rect:i.dragOverlay.measure(u)},droppableContainers:r,measuringConfiguration:i,transform:f})})}function D9e(e){const{duration:t,easing:n,sideEffects:r,keyframes:i}={...N9e,...e};return o=>{let{active:s,dragOverlay:a,transform:l,...u}=o;if(!t)return;const d={x:a.rect.left-s.rect.left,y:a.rect.top-s.rect.top},f={scaleX:l.scaleX!==1?s.rect.width*l.scaleX/a.rect.width:1,scaleY:l.scaleY!==1?s.rect.height*l.scaleY/a.rect.height:1},p={x:l.x-d.x,y:l.y-d.y,...f},g=i({...u,active:s,dragOverlay:a,transform:{initial:l,final:p}}),[m]=g,v=g[g.length-1];if(JSON.stringify(m)===JSON.stringify(v))return;const x=r==null?void 0:r({active:s,dragOverlay:a,...u}),_=a.node.animate(g,{duration:t,easing:n,fill:"forwards"});return new Promise(b=>{_.onfinish=()=>{x==null||x(),b()}})}}let v7=0;function $9e(e){return L.useMemo(()=>{if(e!=null)return v7++,v7},[e])}const F9e=Lt.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:o,modifiers:s,wrapperElement:a="div",className:l,zIndex:u=999}=e;const{activatorEvent:d,active:f,activeNodeRect:p,containerNodeRect:g,draggableNodes:m,droppableContainers:v,dragOverlay:x,over:_,measuringConfiguration:b,scrollableAncestors:y,scrollableAncestorRects:S,windowRect:C}=w9e(),T=L.useContext(h2),E=$9e(f==null?void 0:f.id),P=pG(s,{activatorEvent:d,active:f,activeNodeRect:p,containerNodeRect:g,draggingNodeRect:x.rect,over:_,overlayNodeRect:x.rect,scrollableAncestors:y,scrollableAncestorRects:S,transform:T,windowRect:C}),k=S6(p),O=L9e({config:r,draggableNodes:m,droppableContainers:v,measuringConfiguration:b}),M=k?x.setRef:void 0;return Lt.createElement(P9e,null,Lt.createElement(E9e,{animation:O},f&&E?Lt.createElement(k9e,{key:E,id:f.id,ref:M,as:a,activatorEvent:d,adjustScale:t,className:l,transition:o,rect:k,style:{zIndex:u,...i},transform:P},n):null))}),B9e=e=>{let{activatorEvent:t,draggingNodeRect:n,transform:r}=e;if(n&&t){const i=qg(t);if(!i)return r;const o=i.x-n.left,s=i.y-n.top;return{...r,x:r.x+o-n.width/2,y:r.y+s-n.height/2}}return r},U9e=()=>N$(),RMe=E$,X0=28,_7={w:X0,h:X0,maxW:X0,maxH:X0,shadow:"dark-lg",borderRadius:"lg",opacity:.3,bg:"base.800",color:"base.50",_dark:{borderColor:"base.200",bg:"base.900",color:"base.100"}},z9e=e=>{if(!e.dragData)return null;if(e.dragData.payloadType==="IMAGE_DTO"){const{thumbnail_url:t,width:n,height:r}=e.dragData.payload.imageDTO;return ue.jsx(h6,{sx:{position:"relative",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",userSelect:"none",cursor:"none"},children:ue.jsx(f6,{sx:{..._7},objectFit:"contain",src:t,width:n,height:r})})}return e.dragData.payloadType==="IMAGE_DTOS"?ue.jsxs(p6,{sx:{cursor:"none",userSelect:"none",position:"relative",alignItems:"center",justifyContent:"center",flexDir:"column",..._7},children:[ue.jsx(z5,{children:e.dragData.payload.imageDTOs.length}),ue.jsx(z5,{size:"sm",children:"Images"})]}):null},V9e=L.memo(z9e);function OMe(e){return T9e(e)}function kMe(e){return S9e(e)}const IMe=(e,t)=>{if(!e||!(t!=null&&t.data.current))return!1;const{actionType:n}=e,{payloadType:r}=t.data.current;if(e.id===t.data.current.id)return!1;switch(n){case"SET_CURRENT_IMAGE":return r==="IMAGE_DTO";case"SET_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_CONTROLNET_IMAGE":return r==="IMAGE_DTO";case"SET_CANVAS_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_NODES_IMAGE":return r==="IMAGE_DTO";case"SET_MULTI_NODES_IMAGE":return r==="IMAGE_DTO"||"IMAGE_DTOS";case"ADD_TO_BATCH":return r==="IMAGE_DTO"||"IMAGE_DTOS";case"ADD_TO_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_DTOS"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload,s=o.board_id??"none",a=e.context.boardId;return s!==a}return r==="IMAGE_DTOS"}case"REMOVE_FROM_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_DTOS"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload;return o.board_id!=="none"}return r==="IMAGE_DTOS"}default:return!1}};function j9e(e){return ue.jsx(v9e,{...e})}const G9e=e=>{const[t,n]=L.useState(null),r=Ie("images"),i=U9e(),o=L.useCallback(d=>{r.trace({dragData:d.active.data.current},"Drag started");const f=d.active.data.current;f&&n(f)},[r]),s=L.useCallback(d=>{var p;r.trace({dragData:d.active.data.current},"Drag ended");const f=(p=d.over)==null?void 0:p.data.current;!t||!f||(i(zU({overData:f,activeData:t})),n(null))},[t,i,r]),a=l7(lG,{activationConstraint:{distance:10}}),l=l7(uG,{activationConstraint:{distance:10}}),u=v8e(a,l);return ue.jsxs(j9e,{onDragStart:o,onDragEnd:s,sensors:u,collisionDetection:P8e,children:[e.children,ue.jsx(F9e,{dropAnimation:null,modifiers:[B9e],children:ue.jsx(APe,{children:t&&ue.jsx(_Pe.div,{layout:!0,initial:{opacity:0,scale:.7},animate:{opacity:1,scale:1,transition:{duration:.1}},children:ue.jsx(V9e,{dragData:t})},"overlay-drag-image")})})]})},H9e=L.memo(G9e),W9e=L.lazy(()=>NN(()=>import("./App-4a928bb6.js"),["./App-4a928bb6.js","./menu-b42141e3.js","./App-6125620a.css"],import.meta.url)),q9e=L.lazy(()=>NN(()=>import("./ThemeLocaleProvider-6fe89879.js"),["./ThemeLocaleProvider-6fe89879.js","./menu-b42141e3.js","./ThemeLocaleProvider-5b992bc7.css"],import.meta.url)),K9e=({apiUrl:e,token:t,config:n,headerComponent:r,middleware:i,projectId:o})=>(L.useEffect(()=>(t&&Sg.set(t),e&&wg.set(e),o&&S1.set(o),PU(),i&&i.length>0?Z3(Mk(),...i):Z3(Mk()),()=>{wg.set(void 0),Sg.set(void 0),S1.set(void 0)}),[e,t,i,o]),ue.jsx(Lt.StrictMode,{children:ue.jsx(yde,{store:BCe,children:ue.jsx(Lt.Suspense,{fallback:ue.jsx(LPe,{}),children:ue.jsx(q9e,{children:ue.jsx(H9e,{children:ue.jsx(W9e,{config:n,headerComponent:r})})})})})})),X9e=L.memo(K9e);gC.createRoot(document.getElementById("root")).render(ue.jsx(X9e,{}));export{CMe as $,L as A,ue as B,Eo as C,Nn as D,rf as E,qr as F,jo as G,Hge as H,Ri as I,kl as J,gs as K,LIe as L,aB as M,sme as N,Dme as O,Kge as P,tpe as Q,Af as R,ug as S,b5e as T,Pc as U,cc as V,aV as W,pMe as X,dMe as Y,APe as Z,_Pe as _,TL as a,WY as a$,pV as a0,Bj as a1,vV as a2,fMe as a3,hMe as a4,_5e as a5,v5e as a6,gMe as a7,Bu as a8,dc as a9,p6 as aA,z5 as aB,sMe as aC,Az as aD,Yke as aE,o5e as aF,zE as aG,eV as aH,a5e as aI,bs as aJ,AP as aK,VE as aL,E7e as aM,$ke as aN,Zke as aO,Jke as aP,OIe as aQ,PIe as aR,ku as aS,g_e as aT,DU as aU,u7e as aV,AIe as aW,BT as aX,hE as aY,D9 as aZ,tke as a_,A1 as aa,MJ as ab,Lt as ac,W4e as ad,xMe as ae,Sa as af,oV as ag,hAe as ah,vMe as ai,C5 as aj,cMe as ak,wMe as al,si as am,dE as an,nb as ao,RMe as ap,$Ie as aq,Cm as ar,VB as as,pU as at,Jb as au,U9e as av,h7e as aw,zn as ax,Xu as ay,h6 as az,aT as b,qke as b$,J9e as b0,Q9e as b1,Z9e as b2,He as b3,Vke as b4,oIe as b5,iIe as b6,Uke as b7,EIe as b8,PCe as b9,fRe as bA,BRe as bB,uRe as bC,TRe as bD,gRe as bE,X_e as bF,cRe as bG,NRe as bH,lRe as bI,GRe as bJ,hRe as bK,ERe as bL,pRe as bM,ARe as bN,_Re as bO,RRe as bP,K_e as bQ,mRe as bR,hO as bS,r7e as bT,i7e as bU,o7e as bV,bRe as bW,s7e as bX,SRe as bY,a7e as bZ,Re as b_,OMe as ba,IMe as bb,xIe as bc,Fke as bd,Bke as be,Wke as bf,M3 as bg,zke as bh,f6 as bi,MPe as bj,dOe as bk,bl,f0 as bm,wIe as bn,bIe as bo,TIe as bp,SIe as bq,Y9e as br,iRe as bs,oRe as bt,sRe as bu,aRe as bv,IRe as bw,MRe as bx,JIe as by,e7e as bz,Rte as c,Ie as c$,ofe as c0,l$ as c1,jOe as c2,r$ as c3,RIe as c4,kMe as c5,uMe as c6,UU as c7,Gke as c8,O1 as c9,gOe as cA,S7e as cB,Aue as cC,DIe as cD,f7e as cE,ST as cF,_Ie as cG,mIe as cH,yIe as cI,vIe as cJ,tOe as cK,HRe as cL,QRe as cM,kRe as cN,p7e as cO,mc as cP,m7e as cQ,fa as cR,rSe as cS,Ul as cT,wRe as cU,Em as cV,F7e as cW,eRe as cX,t7e as cY,N7e as cZ,tMe as c_,CIe as ca,Hke as cb,$9 as cc,k1 as cd,oMe as ce,I7e as cf,uOe as cg,P7e as ch,jke as ci,Qke as cj,FT as ck,wT as cl,dRe as cm,mOe as cn,Kr as co,_7e as cp,R7e as cq,A7e as cr,q1e as cs,v7e as ct,w7e as cu,x7e as cv,Cue as cw,p1e as cx,g1e as cy,aOe as cz,yae as d,T7e as d$,YD as d0,K7e as d1,Hve as d2,ORe as d3,QD as d4,L7e as d5,vue as d6,B7e as d7,JD as d8,nOe as d9,vRe as dA,D7e as dB,cR as dC,dIe as dD,$T as dE,Qde as dF,_d as dG,dR as dH,fIe as dI,hIe as dJ,pIe as dK,Zde as dL,gIe as dM,fF as dN,lIe as dO,cIe as dP,sIe as dQ,gCe as dR,NO as dS,aIe as dT,ZRe as dU,JRe as dV,XRe as dW,YRe as dX,KRe as dY,Y7e as dZ,j7e as d_,Tue as da,Ss as db,PRe as dc,zRe as dd,rRe as de,lle as df,jRe as dg,n7e as dh,IIe as di,MIe as dj,bF as dk,$7e as dl,kIe as dm,_T as dn,rOe as dp,ZIe as dq,lSe as dr,oOe as ds,Se as dt,Ui as du,pn as dv,Rs as dw,M7e as dx,eOe as dy,ale as dz,TD as e,bOe as e$,V7e as e0,eMe as e1,X7e as e2,C7e as e3,H7e as e4,G7e as e5,U7e as e6,q7e as e7,nRe as e8,z7e as e9,VIe as eA,zIe as eB,jIe as eC,KIe as eD,Mye as eE,UB as eF,WU as eG,pQ as eH,rt as eI,lke as eJ,Ake as eK,Eke as eL,zOe as eM,yke as eN,Rke as eO,x_e as eP,MOe as eQ,rke as eR,tp as eS,JOe as eT,NOe as eU,nS as eV,nke as eW,OOe as eX,eke as eY,kOe as eZ,$Oe as e_,W7e as ea,tRe as eb,OB as ec,vT as ed,Q7e as ee,z1 as ef,Ne as eg,Z7e as eh,yU as ei,yRe as ej,J7e as ek,E$ as el,N$ as em,QIe as en,GIe as eo,HIe as ep,WIe as eq,sE as er,XIe as es,YIe as et,Ig as eu,rb as ev,UIe as ew,OCe as ex,FIe as ey,BIe as ez,ML as f,iMe as f$,_Oe as f0,vOe as f1,Pke as f2,o$ as f3,Sg as f4,TOe as f5,EOe as f6,AOe as f7,Tke as f8,BOe as f9,fke as fA,hke as fB,Nke as fC,bke as fD,Lke as fE,QOe as fF,YOe as fG,ROe as fH,POe as fI,Ike as fJ,VOe as fK,S_e as fL,v_e as fM,__e as fN,b_e as fO,xOe as fP,iOe as fQ,xue as fR,WRe as fS,COe as fT,KOe as fU,Mke as fV,LRe as fW,DRe as fX,$Re as fY,FRe as fZ,XOe as f_,FOe as fa,Gue as fb,Cke as fc,w_e as fd,LOe as fe,dCe as ff,pCe as fg,HOe as fh,WOe as fi,uke as fj,ake as fk,ike as fl,SOe as fm,wOe as fn,O7e as fo,k7e as fp,ZOe as fq,GOe as fr,cke as fs,mke as ft,dke as fu,UOe as fv,IOe as fw,xke as fx,wke as fy,pke as fz,cae as g,cOe as g0,e$ as g1,hOe as g2,fOe as g3,pOe as g4,ole as g5,h_e as g6,lMe as g7,sV as g8,SMe as g9,_Me as ga,mMe as gb,bMe as gc,Ts as gd,yMe as ge,aMe as gf,G4e as gg,D4e as gh,TMe as gi,AMe as gj,PMe as gk,VL as h,Pi as i,Uf as j,eb as k,gr as l,J_ as m,cm as n,es as o,nu as p,Q_ as q,Fs as r,fm as s,ox as t,rT as u,kL as v,dT as w,vD as x,NL as y,nle as z}; diff --git a/invokeai/frontend/web/dist/assets/index-de589048.js b/invokeai/frontend/web/dist/assets/index-de589048.js deleted file mode 100644 index e7d24e43fd..0000000000 --- a/invokeai/frontend/web/dist/assets/index-de589048.js +++ /dev/null @@ -1,151 +0,0 @@ -function v7(e,t){for(var n=0;nr[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();var He=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function dc(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function jY(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){if(this instanceof r){var i=[null];i.push.apply(i,arguments);var o=Function.bind.apply(t,i);return new o}return t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}),n}var _7={exports:{}},x_={},b7={exports:{}},ft={};/** - * @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 Yg=Symbol.for("react.element"),GY=Symbol.for("react.portal"),HY=Symbol.for("react.fragment"),WY=Symbol.for("react.strict_mode"),qY=Symbol.for("react.profiler"),KY=Symbol.for("react.provider"),XY=Symbol.for("react.context"),YY=Symbol.for("react.forward_ref"),QY=Symbol.for("react.suspense"),ZY=Symbol.for("react.memo"),JY=Symbol.for("react.lazy"),xP=Symbol.iterator;function eQ(e){return e===null||typeof e!="object"?null:(e=xP&&e[xP]||e["@@iterator"],typeof e=="function"?e:null)}var S7={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},w7=Object.assign,x7={};function Lf(e,t,n){this.props=e,this.context=t,this.refs=x7,this.updater=n||S7}Lf.prototype.isReactComponent={};Lf.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)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")};Lf.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function C7(){}C7.prototype=Lf.prototype;function Q5(e,t,n){this.props=e,this.context=t,this.refs=x7,this.updater=n||S7}var Z5=Q5.prototype=new C7;Z5.constructor=Q5;w7(Z5,Lf.prototype);Z5.isPureReactComponent=!0;var CP=Array.isArray,T7=Object.prototype.hasOwnProperty,J5={current:null},E7={key:!0,ref:!0,__self:!0,__source:!0};function A7(e,t,n){var r,i={},o=null,s=null;if(t!=null)for(r in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(o=""+t.key),t)T7.call(t,r)&&!E7.hasOwnProperty(r)&&(i[r]=t[r]);var a=arguments.length-2;if(a===1)i.children=n;else if(1>>1,Z=D[q];if(0>>1;qi(se,j))lei(W,se)?(D[q]=W,D[le]=j,q=le):(D[q]=se,D[ie]=j,q=ie);else if(lei(W,j))D[q]=W,D[le]=j,q=le;else break e}}return V}function i(D,V){var j=D.sortIndex-V.sortIndex;return j!==0?j:D.id-V.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var s=Date,a=s.now();e.unstable_now=function(){return s.now()-a}}var l=[],u=[],d=1,f=null,p=3,g=!1,m=!1,v=!1,x=typeof setTimeout=="function"?setTimeout:null,_=typeof clearTimeout=="function"?clearTimeout:null,b=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(D){for(var V=n(u);V!==null;){if(V.callback===null)r(u);else if(V.startTime<=D)r(u),V.sortIndex=V.expirationTime,t(l,V);else break;V=n(u)}}function S(D){if(v=!1,y(D),!m)if(n(l)!==null)m=!0,F(C);else{var V=n(u);V!==null&&B(S,V.startTime-D)}}function C(D,V){m=!1,v&&(v=!1,_(P),P=-1),g=!0;var j=p;try{for(y(V),f=n(l);f!==null&&(!(f.expirationTime>V)||D&&!M());){var q=f.callback;if(typeof q=="function"){f.callback=null,p=f.priorityLevel;var Z=q(f.expirationTime<=V);V=e.unstable_now(),typeof Z=="function"?f.callback=Z:f===n(l)&&r(l),y(V)}else r(l);f=n(l)}if(f!==null)var ee=!0;else{var ie=n(u);ie!==null&&B(S,ie.startTime-V),ee=!1}return ee}finally{f=null,p=j,g=!1}}var T=!1,E=null,P=-1,k=5,O=-1;function M(){return!(e.unstable_now()-OD||125q?(D.sortIndex=j,t(u,D),n(l)===null&&D===n(u)&&(v?(_(P),P=-1):v=!0,B(S,j-q))):(D.sortIndex=Z,t(l,D),m||g||(m=!0,F(C))),D},e.unstable_shouldYield=M,e.unstable_wrapCallback=function(D){var V=p;return function(){var j=p;p=V;try{return D.apply(this,arguments)}finally{p=j}}}})(k7);O7.exports=k7;var dQ=O7.exports;/** - * @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. - */var I7=L,Wi=dQ;function ge(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"),yC=Object.prototype.hasOwnProperty,fQ=/^[: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]*$/,AP={},PP={};function hQ(e){return yC.call(PP,e)?!0:yC.call(AP,e)?!1:fQ.test(e)?PP[e]=!0:(AP[e]=!0,!1)}function pQ(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function gQ(e,t,n,r){if(t===null||typeof t>"u"||pQ(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function ci(e,t,n,r,i,o,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=s}var Ir={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Ir[e]=new ci(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Ir[t]=new ci(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Ir[e]=new ci(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Ir[e]=new ci(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){Ir[e]=new ci(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Ir[e]=new ci(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Ir[e]=new ci(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Ir[e]=new ci(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Ir[e]=new ci(e,5,!1,e.toLowerCase(),null,!1,!1)});var t4=/[\-:]([a-z])/g;function n4(e){return e[1].toUpperCase()}"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(t4,n4);Ir[t]=new ci(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(t4,n4);Ir[t]=new ci(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(t4,n4);Ir[t]=new ci(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Ir[e]=new ci(e,1,!1,e.toLowerCase(),null,!1,!1)});Ir.xlinkHref=new ci("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Ir[e]=new ci(e,1,!1,e.toLowerCase(),null,!0,!0)});function r4(e,t,n,r){var i=Ir.hasOwnProperty(t)?Ir[t]:null;(i!==null?i.type!==0:r||!(2a||i[s]!==o[a]){var l=` -`+i[s].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=s&&0<=a);break}}}finally{Rw=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?sp(e):""}function mQ(e){switch(e.tag){case 5:return sp(e.type);case 16:return sp("Lazy");case 13:return sp("Suspense");case 19:return sp("SuspenseList");case 0:case 2:case 15:return e=Ow(e.type,!1),e;case 11:return e=Ow(e.type.render,!1),e;case 1:return e=Ow(e.type,!0),e;default:return""}}function SC(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Cd:return"Fragment";case xd:return"Portal";case vC:return"Profiler";case i4:return"StrictMode";case _C:return"Suspense";case bC:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case L7:return(e.displayName||"Context")+".Consumer";case N7:return(e._context.displayName||"Context")+".Provider";case o4:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case s4:return t=e.displayName||null,t!==null?t:SC(e.type)||"Memo";case ll:t=e._payload,e=e._init;try{return SC(e(t))}catch{}}return null}function yQ(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=t.render,e=e.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 SC(t);case 8:return t===i4?"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(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ll(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function $7(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function vQ(e){var t=$7(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){r=""+s,o.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]}}}}function Yy(e){e._valueTracker||(e._valueTracker=vQ(e))}function F7(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=$7(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Mv(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function wC(e,t){var n=t.checked;return bn({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function OP(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Ll(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function B7(e,t){t=t.checked,t!=null&&r4(e,"checked",t,!1)}function xC(e,t){B7(e,t);var n=Ll(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?CC(e,t.type,n):t.hasOwnProperty("defaultValue")&&CC(e,t.type,Ll(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function kP(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function CC(e,t,n){(t!=="number"||Mv(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var ap=Array.isArray;function zd(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=Qy.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Fp(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var mp={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},_Q=["Webkit","ms","Moz","O"];Object.keys(mp).forEach(function(e){_Q.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),mp[t]=mp[e]})});function j7(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||mp.hasOwnProperty(e)&&mp[e]?(""+t).trim():t+"px"}function G7(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=j7(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var bQ=bn({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 AC(e,t){if(t){if(bQ[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(ge(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(ge(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(ge(61))}if(t.style!=null&&typeof t.style!="object")throw Error(ge(62))}}function PC(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";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 RC=null;function a4(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var OC=null,Vd=null,jd=null;function NP(e){if(e=Jg(e)){if(typeof OC!="function")throw Error(ge(280));var t=e.stateNode;t&&(t=P_(t),OC(e.stateNode,e.type,t))}}function H7(e){Vd?jd?jd.push(e):jd=[e]:Vd=e}function W7(){if(Vd){var e=Vd,t=jd;if(jd=Vd=null,NP(e),t)for(e=0;e>>=0,e===0?32:31-(kQ(e)/IQ|0)|0}var Zy=64,Jy=4194304;function lp(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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function $v(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,s=n&268435455;if(s!==0){var a=s&~i;a!==0?r=lp(a):(o&=s,o!==0&&(r=lp(o)))}else s=n&~i,s!==0?r=lp(s):o!==0&&(r=lp(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Qg(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ho(t),e[t]=n}function DQ(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=vp),jP=String.fromCharCode(32),GP=!1;function fM(e,t){switch(e){case"keyup":return cZ.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function hM(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Td=!1;function fZ(e,t){switch(e){case"compositionend":return hM(t);case"keypress":return t.which!==32?null:(GP=!0,jP);case"textInput":return e=t.data,e===jP&&GP?null:e;default:return null}}function hZ(e,t){if(Td)return e==="compositionend"||!g4&&fM(e,t)?(e=cM(),J0=f4=vl=null,Td=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=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=KP(n)}}function yM(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?yM(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function vM(){for(var e=window,t=Mv();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Mv(e.document)}return t}function m4(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function wZ(e){var t=vM(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&yM(n.ownerDocument.documentElement,n)){if(r!==null&&m4(n)){if(t=r.start,e=r.end,e===void 0&&(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,e.getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=r.end===void 0?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=XP(n,o);var s=XP(n,r);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>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;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Ed=null,DC=null,bp=null,$C=!1;function YP(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;$C||Ed==null||Ed!==Mv(r)||(r=Ed,"selectionStart"in r&&m4(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),bp&&Gp(bp,r)||(bp=r,r=Uv(DC,"onSelect"),0Rd||(e.current=jC[Rd],jC[Rd]=null,Rd--)}function Zt(e,t){Rd++,jC[Rd]=e.current,e.current=t}var Dl={},Hr=Yl(Dl),Ci=Yl(!1),Xu=Dl;function df(e,t){var n=e.type.contextTypes;if(!n)return Dl;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Ti(e){return e=e.childContextTypes,e!=null}function Vv(){rn(Ci),rn(Hr)}function r8(e,t,n){if(Hr.current!==Dl)throw Error(ge(168));Zt(Hr,t),Zt(Ci,n)}function AM(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(ge(108,yQ(e)||"Unknown",i));return bn({},n,r)}function jv(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Dl,Xu=Hr.current,Zt(Hr,e),Zt(Ci,Ci.current),!0}function i8(e,t,n){var r=e.stateNode;if(!r)throw Error(ge(169));n?(e=AM(e,t,Xu),r.__reactInternalMemoizedMergedChildContext=e,rn(Ci),rn(Hr),Zt(Hr,e)):rn(Ci),Zt(Ci,n)}var ua=null,R_=!1,Gw=!1;function PM(e){ua===null?ua=[e]:ua.push(e)}function NZ(e){R_=!0,PM(e)}function Ql(){if(!Gw&&ua!==null){Gw=!0;var e=0,t=Dt;try{var n=ua;for(Dt=1;e>=s,i-=s,ha=1<<32-Ho(t)+i|n<P?(k=E,E=null):k=E.sibling;var O=p(_,E,y[P],S);if(O===null){E===null&&(E=k);break}e&&E&&O.alternate===null&&t(_,E),b=o(O,b,P),T===null?C=O:T.sibling=O,T=O,E=k}if(P===y.length)return n(_,E),cn&&Cu(_,P),C;if(E===null){for(;PP?(k=E,E=null):k=E.sibling;var M=p(_,E,O.value,S);if(M===null){E===null&&(E=k);break}e&&E&&M.alternate===null&&t(_,E),b=o(M,b,P),T===null?C=M:T.sibling=M,T=M,E=k}if(O.done)return n(_,E),cn&&Cu(_,P),C;if(E===null){for(;!O.done;P++,O=y.next())O=f(_,O.value,S),O!==null&&(b=o(O,b,P),T===null?C=O:T.sibling=O,T=O);return cn&&Cu(_,P),C}for(E=r(_,E);!O.done;P++,O=y.next())O=g(E,_,P,O.value,S),O!==null&&(e&&O.alternate!==null&&E.delete(O.key===null?P:O.key),b=o(O,b,P),T===null?C=O:T.sibling=O,T=O);return e&&E.forEach(function(G){return t(_,G)}),cn&&Cu(_,P),C}function x(_,b,y,S){if(typeof y=="object"&&y!==null&&y.type===Cd&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case Xy:e:{for(var C=y.key,T=b;T!==null;){if(T.key===C){if(C=y.type,C===Cd){if(T.tag===7){n(_,T.sibling),b=i(T,y.props.children),b.return=_,_=b;break e}}else if(T.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===ll&&d8(C)===T.type){n(_,T.sibling),b=i(T,y.props),b.ref=$h(_,T,y),b.return=_,_=b;break e}n(_,T);break}else t(_,T);T=T.sibling}y.type===Cd?(b=zu(y.props.children,_.mode,S,y.key),b.return=_,_=b):(S=av(y.type,y.key,y.props,null,_.mode,S),S.ref=$h(_,b,y),S.return=_,_=S)}return s(_);case xd:e:{for(T=y.key;b!==null;){if(b.key===T)if(b.tag===4&&b.stateNode.containerInfo===y.containerInfo&&b.stateNode.implementation===y.implementation){n(_,b.sibling),b=i(b,y.children||[]),b.return=_,_=b;break e}else{n(_,b);break}else t(_,b);b=b.sibling}b=Zw(y,_.mode,S),b.return=_,_=b}return s(_);case ll:return T=y._init,x(_,b,T(y._payload),S)}if(ap(y))return m(_,b,y,S);if(Ih(y))return v(_,b,y,S);s0(_,y)}return typeof y=="string"&&y!==""||typeof y=="number"?(y=""+y,b!==null&&b.tag===6?(n(_,b.sibling),b=i(b,y),b.return=_,_=b):(n(_,b),b=Qw(y,_.mode,S),b.return=_,_=b),s(_)):n(_,b)}return x}var hf=DM(!0),$M=DM(!1),em={},As=Yl(em),Kp=Yl(em),Xp=Yl(em);function Nu(e){if(e===em)throw Error(ge(174));return e}function T4(e,t){switch(Zt(Xp,t),Zt(Kp,e),Zt(As,em),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:EC(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=EC(t,e)}rn(As),Zt(As,t)}function pf(){rn(As),rn(Kp),rn(Xp)}function FM(e){Nu(Xp.current);var t=Nu(As.current),n=EC(t,e.type);t!==n&&(Zt(Kp,e),Zt(As,n))}function E4(e){Kp.current===e&&(rn(As),rn(Kp))}var mn=Yl(0);function Xv(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Hw=[];function A4(){for(var e=0;en?n:4,e(!0);var r=Ww.transition;Ww.transition={};try{e(!1),t()}finally{Dt=n,Ww.transition=r}}function eN(){return wo().memoizedState}function FZ(e,t,n){var r=Pl(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},tN(e))nN(t,n);else if(n=IM(e,t,n,r),n!==null){var i=oi();Wo(n,e,r,i),rN(n,t,r)}}function BZ(e,t,n){var r=Pl(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(tN(e))nN(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var s=t.lastRenderedState,a=o(s,n);if(i.hasEagerState=!0,i.eagerState=a,Qo(a,s)){var l=t.interleaved;l===null?(i.next=i,x4(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=IM(e,t,i,r),n!==null&&(i=oi(),Wo(n,e,r,i),rN(n,t,r))}}function tN(e){var t=e.alternate;return e===_n||t!==null&&t===_n}function nN(e,t){Sp=Yv=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function rN(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,u4(e,n)}}var Qv={readContext:So,useCallback:Fr,useContext:Fr,useEffect:Fr,useImperativeHandle:Fr,useInsertionEffect:Fr,useLayoutEffect:Fr,useMemo:Fr,useReducer:Fr,useRef:Fr,useState:Fr,useDebugValue:Fr,useDeferredValue:Fr,useTransition:Fr,useMutableSource:Fr,useSyncExternalStore:Fr,useId:Fr,unstable_isNewReconciler:!1},UZ={readContext:So,useCallback:function(e,t){return hs().memoizedState=[e,t===void 0?null:t],e},useContext:So,useEffect:h8,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,rv(4194308,4,XM.bind(null,t,e),n)},useLayoutEffect:function(e,t){return rv(4194308,4,e,t)},useInsertionEffect:function(e,t){return rv(4,2,e,t)},useMemo:function(e,t){var n=hs();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=hs();return t=n!==void 0?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=FZ.bind(null,_n,e),[r.memoizedState,e]},useRef:function(e){var t=hs();return e={current:e},t.memoizedState=e},useState:f8,useDebugValue:I4,useDeferredValue:function(e){return hs().memoizedState=e},useTransition:function(){var e=f8(!1),t=e[0];return e=$Z.bind(null,e[1]),hs().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=_n,i=hs();if(cn){if(n===void 0)throw Error(ge(407));n=n()}else{if(n=t(),pr===null)throw Error(ge(349));Qu&30||zM(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,h8(jM.bind(null,r,o,e),[e]),r.flags|=2048,Zp(9,VM.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=hs(),t=pr.identifierPrefix;if(cn){var n=pa,r=ha;n=(r&~(1<<32-Ho(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Yp++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[_s]=t,e[qp]=r,fN(e,t,!1,!1),t.stateNode=e;e:{switch(s=PC(n,r),n){case"dialog":en("cancel",e),en("close",e),i=r;break;case"iframe":case"object":case"embed":en("load",e),i=r;break;case"video":case"audio":for(i=0;imf&&(t.flags|=128,r=!0,Fh(o,!1),t.lanes=4194304)}else{if(!r)if(e=Xv(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Fh(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!cn)return Br(t),null}else 2*In()-o.renderingStartTime>mf&&n!==1073741824&&(t.flags|=128,r=!0,Fh(o,!1),t.lanes=4194304);o.isBackwards?(s.sibling=t.child,t.child=s):(n=o.last,n!==null?n.sibling=s:t.child=s,o.last=s)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=In(),t.sibling=null,n=mn.current,Zt(mn,r?n&1|2:n&1),t):(Br(t),null);case 22:case 23:return F4(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?zi&1073741824&&(Br(t),t.subtreeFlags&6&&(t.flags|=8192)):Br(t),null;case 24:return null;case 25:return null}throw Error(ge(156,t.tag))}function KZ(e,t){switch(v4(t),t.tag){case 1:return Ti(t.type)&&Vv(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return pf(),rn(Ci),rn(Hr),A4(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return E4(t),null;case 13:if(rn(mn),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(ge(340));ff()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return rn(mn),null;case 4:return pf(),null;case 10:return w4(t.type._context),null;case 22:case 23:return F4(),null;case 24:return null;default:return null}}var l0=!1,Gr=!1,XZ=typeof WeakSet=="function"?WeakSet:Set,Ae=null;function Md(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Cn(e,t,r)}else n.current=null}function t3(e,t,n){try{n()}catch(r){Cn(e,t,r)}}var w8=!1;function YZ(e,t){if(FC=Fv,e=vM(),m4(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,a=-1,l=-1,u=0,d=0,f=e,p=null;t:for(;;){for(var g;f!==n||i!==0&&f.nodeType!==3||(a=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(g=f.firstChild)!==null;)p=f,f=g;for(;;){if(f===e)break t;if(p===n&&++u===i&&(a=s),p===o&&++d===r&&(l=s),(g=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=g}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(BC={focusedElem:e,selectionRange:n},Fv=!1,Ae=t;Ae!==null;)if(t=Ae,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Ae=e;else for(;Ae!==null;){t=Ae;try{var m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var v=m.memoizedProps,x=m.memoizedState,_=t.stateNode,b=_.getSnapshotBeforeUpdate(t.elementType===t.type?v:$o(t.type,v),x);_.__reactInternalSnapshotBeforeUpdate=b}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent="":y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(ge(163))}}catch(S){Cn(t,t.return,S)}if(e=t.sibling,e!==null){e.return=t.return,Ae=e;break}Ae=t.return}return m=w8,w8=!1,m}function wp(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&t3(t,n,o)}i=i.next}while(i!==r)}}function I_(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==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 n3(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function gN(e){var t=e.alternate;t!==null&&(e.alternate=null,gN(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[_s],delete t[qp],delete t[VC],delete t[IZ],delete t[MZ])),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 mN(e){return e.tag===5||e.tag===3||e.tag===4}function x8(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||mN(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function r3(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=zv));else if(r!==4&&(e=e.child,e!==null))for(r3(e,t,n),e=e.sibling;e!==null;)r3(e,t,n),e=e.sibling}function i3(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(i3(e,t,n),e=e.sibling;e!==null;)i3(e,t,n),e=e.sibling}var Ar=null,Bo=!1;function el(e,t,n){for(n=n.child;n!==null;)yN(e,t,n),n=n.sibling}function yN(e,t,n){if(Es&&typeof Es.onCommitFiberUnmount=="function")try{Es.onCommitFiberUnmount(C_,n)}catch{}switch(n.tag){case 5:Gr||Md(n,t);case 6:var r=Ar,i=Bo;Ar=null,el(e,t,n),Ar=r,Bo=i,Ar!==null&&(Bo?(e=Ar,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Ar.removeChild(n.stateNode));break;case 18:Ar!==null&&(Bo?(e=Ar,n=n.stateNode,e.nodeType===8?jw(e.parentNode,n):e.nodeType===1&&jw(e,n),Vp(e)):jw(Ar,n.stateNode));break;case 4:r=Ar,i=Bo,Ar=n.stateNode.containerInfo,Bo=!0,el(e,t,n),Ar=r,Bo=i;break;case 0:case 11:case 14:case 15:if(!Gr&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,s=o.destroy;o=o.tag,s!==void 0&&(o&2||o&4)&&t3(n,t,s),i=i.next}while(i!==r)}el(e,t,n);break;case 1:if(!Gr&&(Md(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){Cn(n,t,a)}el(e,t,n);break;case 21:el(e,t,n);break;case 22:n.mode&1?(Gr=(r=Gr)||n.memoizedState!==null,el(e,t,n),Gr=r):el(e,t,n);break;default:el(e,t,n)}}function C8(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new XZ),t.forEach(function(r){var i=oJ.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Lo(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~o}if(r=i,r=In()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*ZZ(r/1960))-r,10e?16:e,_l===null)var r=!1;else{if(e=_l,_l=null,e1=0,yt&6)throw Error(ge(331));var i=yt;for(yt|=4,Ae=e.current;Ae!==null;){var o=Ae,s=o.child;if(Ae.flags&16){var a=o.deletions;if(a!==null){for(var l=0;lIn()-D4?Uu(e,0):L4|=n),Ei(e,t)}function TN(e,t){t===0&&(e.mode&1?(t=Jy,Jy<<=1,!(Jy&130023424)&&(Jy=4194304)):t=1);var n=oi();e=Ea(e,t),e!==null&&(Qg(e,t,n),Ei(e,n))}function iJ(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),TN(e,n)}function oJ(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(ge(314))}r!==null&&r.delete(t),TN(e,n)}var EN;EN=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Ci.current)Si=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Si=!1,WZ(e,t,n);Si=!!(e.flags&131072)}else Si=!1,cn&&t.flags&1048576&&RM(t,Hv,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;iv(e,t),e=t.pendingProps;var i=df(t,Hr.current);Hd(t,n),i=R4(null,t,r,e,i,n);var o=O4();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ti(r)?(o=!0,jv(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,C4(t),i.updater=O_,t.stateNode=i,i._reactInternals=t,KC(t,r,e,n),t=QC(null,t,r,!0,o,n)):(t.tag=0,cn&&o&&y4(t),ri(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(iv(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=aJ(r),e=$o(r,e),i){case 0:t=YC(null,t,r,e,n);break e;case 1:t=_8(null,t,r,e,n);break e;case 11:t=y8(null,t,r,e,n);break e;case 14:t=v8(null,t,r,$o(r.type,e),n);break e}throw Error(ge(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:$o(r,i),YC(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:$o(r,i),_8(e,t,r,i,n);case 3:e:{if(uN(t),e===null)throw Error(ge(387));r=t.pendingProps,o=t.memoizedState,i=o.element,MM(e,t),Kv(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=gf(Error(ge(423)),t),t=b8(e,t,r,n,i);break e}else if(r!==i){i=gf(Error(ge(424)),t),t=b8(e,t,r,n,i);break e}else for(ji=Tl(t.stateNode.containerInfo.firstChild),Gi=t,cn=!0,zo=null,n=$M(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(ff(),r===i){t=Aa(e,t,n);break e}ri(e,t,r,n)}t=t.child}return t;case 5:return FM(t),e===null&&HC(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,s=i.children,UC(r,i)?s=null:o!==null&&UC(r,o)&&(t.flags|=32),lN(e,t),ri(e,t,s,n),t.child;case 6:return e===null&&HC(t),null;case 13:return cN(e,t,n);case 4:return T4(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=hf(t,null,r,n):ri(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:$o(r,i),y8(e,t,r,i,n);case 7:return ri(e,t,t.pendingProps,n),t.child;case 8:return ri(e,t,t.pendingProps.children,n),t.child;case 12:return ri(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,s=i.value,Zt(Wv,r._currentValue),r._currentValue=s,o!==null)if(Qo(o.value,s)){if(o.children===i.children&&!Ci.current){t=Aa(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var a=o.dependencies;if(a!==null){s=o.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=ya(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),WC(o.return,n,t),a.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(ge(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),WC(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}ri(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Hd(t,n),i=So(i),r=r(i),t.flags|=1,ri(e,t,r,n),t.child;case 14:return r=t.type,i=$o(r,t.pendingProps),i=$o(r.type,i),v8(e,t,r,i,n);case 15:return sN(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:$o(r,i),iv(e,t),t.tag=1,Ti(r)?(e=!0,jv(t)):e=!1,Hd(t,n),LM(t,r,i),KC(t,r,i,n),QC(null,t,r,!0,e,n);case 19:return dN(e,t,n);case 22:return aN(e,t,n)}throw Error(ge(156,t.tag))};function AN(e,t){return J7(e,t)}function sJ(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 vo(e,t,n,r){return new sJ(e,t,n,r)}function U4(e){return e=e.prototype,!(!e||!e.isReactComponent)}function aJ(e){if(typeof e=="function")return U4(e)?1:0;if(e!=null){if(e=e.$$typeof,e===o4)return 11;if(e===s4)return 14}return 2}function Rl(e,t){var n=e.alternate;return n===null?(n=vo(e.tag,t,e.key,e.mode),n.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=e.flags&14680064,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=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function av(e,t,n,r,i,o){var s=2;if(r=e,typeof e=="function")U4(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case Cd:return zu(n.children,i,o,t);case i4:s=8,i|=8;break;case vC:return e=vo(12,n,t,i|2),e.elementType=vC,e.lanes=o,e;case _C:return e=vo(13,n,t,i),e.elementType=_C,e.lanes=o,e;case bC:return e=vo(19,n,t,i),e.elementType=bC,e.lanes=o,e;case D7:return N_(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case N7:s=10;break e;case L7:s=9;break e;case o4:s=11;break e;case s4:s=14;break e;case ll:s=16,r=null;break e}throw Error(ge(130,e==null?e:typeof e,""))}return t=vo(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function zu(e,t,n,r){return e=vo(7,e,r,t),e.lanes=n,e}function N_(e,t,n,r){return e=vo(22,e,r,t),e.elementType=D7,e.lanes=n,e.stateNode={isHidden:!1},e}function Qw(e,t,n){return e=vo(6,e,null,t),e.lanes=n,e}function Zw(e,t,n){return t=vo(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function lJ(e,t,n,r,i){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=Iw(0),this.expirationTimes=Iw(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Iw(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function z4(e,t,n,r,i,o,s,a,l){return e=new lJ(e,t,n,a,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=vo(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},C4(o),e}function uJ(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(kN)}catch(e){console.error(e)}}kN(),R7.exports=Yi;var bs=R7.exports;const K9e=dc(bs);var I8=bs;mC.createRoot=I8.createRoot,mC.hydrateRoot=I8.hydrateRoot;const pJ="modulepreload",gJ=function(e,t){return new URL(e,t).href},M8={},IN=function(t,n,r){if(!n||n.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=gJ(o,r),o in M8)return;M8[o]=!0;const s=o.endsWith(".css"),a=s?'[rel="stylesheet"]':"";if(!!r)for(let d=i.length-1;d>=0;d--){const f=i[d];if(f.href===o&&(!s||f.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${a}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":pJ,s||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),s)return new Promise((d,f)=>{u.addEventListener("load",d),u.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t()).catch(o=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o})};function hr(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:B_(e)?2:U_(e)?3:0}function Ol(e,t){return $l(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function lv(e,t){return $l(e)===2?e.get(t):e[t]}function MN(e,t,n){var r=$l(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function NN(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function B_(e){return SJ&&e instanceof Map}function U_(e){return wJ&&e instanceof Set}function lr(e){return e.o||e.t}function W4(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=DN(e);delete t[Xe];for(var n=Kd(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=mJ),Object.freeze(e),t&&Pa(e,function(n,r){return tm(r,!0)},!0)),e}function mJ(){hr(2)}function q4(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function Ps(e){var t=c3[e];return t||hr(18,e),t}function K4(e,t){c3[e]||(c3[e]=t)}function eg(){return ng}function Jw(e,t){t&&(Ps("Patches"),e.u=[],e.s=[],e.v=t)}function r1(e){u3(e),e.p.forEach(yJ),e.p=null}function u3(e){e===ng&&(ng=e.l)}function N8(e){return ng={p:[],l:ng,h:e,m:!0,_:0}}function yJ(e){var t=e[Xe];t.i===0||t.i===1?t.j():t.g=!0}function ex(e,t){t._=t.p.length;var n=t.p[0],r=e!==void 0&&e!==n;return t.h.O||Ps("ES5").S(t,e,r),r?(n[Xe].P&&(r1(t),hr(4)),Ai(e)&&(e=i1(t,e),t.l||o1(t,e)),t.u&&Ps("Patches").M(n[Xe].t,e,t.u,t.s)):e=i1(t,n,[]),r1(t),t.u&&t.v(t.u,t.s),e!==V_?e:void 0}function i1(e,t,n){if(q4(t))return t;var r=t[Xe];if(!r)return Pa(t,function(a,l){return L8(e,r,t,a,l,n)},!0),t;if(r.A!==e)return t;if(!r.P)return o1(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=r.i===4||r.i===5?r.o=W4(r.k):r.o,o=i,s=!1;r.i===3&&(o=new Set(i),i.clear(),s=!0),Pa(o,function(a,l){return L8(e,r,i,a,l,n,s)}),o1(e,i,!1),n&&e.u&&Ps("Patches").N(r,n,e.u,e.s)}return r.o}function L8(e,t,n,r,i,o,s){if(ai(i)){var a=i1(e,i,o&&t&&t.i!==3&&!Ol(t.R,r)?o.concat(r):void 0);if(MN(n,r,a),!ai(a))return;e.m=!1}else s&&n.add(i);if(Ai(i)&&!q4(i)){if(!e.h.D&&e._<1)return;i1(e,i),t&&t.A.l||o1(e,i)}}function o1(e,t,n){n===void 0&&(n=!1),!e.l&&e.h.D&&e.m&&tm(t,n)}function tx(e,t){var n=e[Xe];return(n?lr(n):e)[t]}function D8(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function bi(e){e.P||(e.P=!0,e.l&&bi(e.l))}function nx(e){e.o||(e.o=W4(e.t))}function tg(e,t,n){var r=B_(t)?Ps("MapSet").F(t,n):U_(t)?Ps("MapSet").T(t,n):e.O?function(i,o){var s=Array.isArray(i),a={i:s?1:0,A:o?o.A:eg(),P:!1,I:!1,R:{},l:o,t:i,k:null,o:null,j:null,C:!1},l=a,u=rg;s&&(l=[a],u=cp);var d=Proxy.revocable(l,u),f=d.revoke,p=d.proxy;return a.k=p,a.j=f,p}(t,n):Ps("ES5").J(t,n);return(n?n.A:eg()).p.push(r),r}function z_(e){return ai(e)||hr(22,e),function t(n){if(!Ai(n))return n;var r,i=n[Xe],o=$l(n);if(i){if(!i.P&&(i.i<4||!Ps("ES5").K(i)))return i.t;i.I=!0,r=$8(n,o),i.I=!1}else r=$8(n,o);return Pa(r,function(s,a){i&&lv(i.t,s)===a||MN(r,s,t(a))}),o===3?new Set(r):r}(e)}function $8(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return W4(e)}function X4(){function e(o,s){var a=i[o];return a?a.enumerable=s:i[o]=a={configurable:!0,enumerable:s,get:function(){var l=this[Xe];return rg.get(l,o)},set:function(l){var u=this[Xe];rg.set(u,o,l)}},a}function t(o){for(var s=o.length-1;s>=0;s--){var a=o[s][Xe];if(!a.P)switch(a.i){case 5:r(a)&&bi(a);break;case 4:n(a)&&bi(a)}}}function n(o){for(var s=o.t,a=o.k,l=Kd(a),u=l.length-1;u>=0;u--){var d=l[u];if(d!==Xe){var f=s[d];if(f===void 0&&!Ol(s,d))return!0;var p=a[d],g=p&&p[Xe];if(g?g.t!==f:!NN(p,f))return!0}}var m=!!s[Xe];return l.length!==Kd(s).length+(m?0:1)}function r(o){var s=o.k;if(s.length!==o.t.length)return!0;var a=Object.getOwnPropertyDescriptor(s,s.length-1);if(a&&!a.get)return!0;for(var l=0;l1?_-1:0),y=1;y<_;y++)b[y-1]=arguments[y];return l.produce(v,function(S){var C;return(C=o).call.apply(C,[x,S].concat(b))})}}var u;if(typeof o!="function"&&hr(6),s!==void 0&&typeof s!="function"&&hr(7),Ai(i)){var d=N8(r),f=tg(r,i,void 0),p=!0;try{u=o(f),p=!1}finally{p?r1(d):u3(d)}return typeof Promise<"u"&&u instanceof Promise?u.then(function(v){return Jw(d,s),ex(v,d)},function(v){throw r1(d),v}):(Jw(d,s),ex(u,d))}if(!i||typeof i!="object"){if((u=o(i))===void 0&&(u=i),u===V_&&(u=void 0),r.D&&tm(u,!0),s){var g=[],m=[];Ps("Patches").M(i,u,g,m),s(g,m)}return u}hr(21,i)},this.produceWithPatches=function(i,o){if(typeof i=="function")return function(u){for(var d=arguments.length,f=Array(d>1?d-1:0),p=1;p=0;i--){var o=r[i];if(o.path.length===0&&o.op==="replace"){n=o.value;break}}i>-1&&(r=r.slice(i+1));var s=Ps("Patches").$;return ai(n)?s(n,r):this.produce(n,function(a){return s(a,r)})},e}(),qi=new $N,FN=qi.produce,Z4=qi.produceWithPatches.bind(qi),CJ=qi.setAutoFreeze.bind(qi),TJ=qi.setUseProxies.bind(qi),d3=qi.applyPatches.bind(qi),EJ=qi.createDraft.bind(qi),AJ=qi.finishDraft.bind(qi);const Zl=FN,X9e=Object.freeze(Object.defineProperty({__proto__:null,Immer:$N,applyPatches:d3,castDraft:_J,castImmutable:bJ,createDraft:EJ,current:z_,default:Zl,enableAllPlugins:vJ,enableES5:X4,enableMapSet:LN,enablePatches:Y4,finishDraft:AJ,freeze:tm,immerable:qd,isDraft:ai,isDraftable:Ai,nothing:V_,original:H4,produce:FN,produceWithPatches:Z4,setAutoFreeze:CJ,setUseProxies:TJ},Symbol.toStringTag,{value:"Module"}));function ig(e){"@babel/helpers - typeof";return ig=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ig(e)}function PJ(e,t){if(ig(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(ig(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function RJ(e){var t=PJ(e,"string");return ig(t)==="symbol"?t:String(t)}function OJ(e,t,n){return t=RJ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function U8(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function z8(e){for(var t=1;t"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(Pr(1));return n(nm)(e,t)}if(typeof e!="function")throw new Error(Pr(2));var i=e,o=t,s=[],a=s,l=!1;function u(){a===s&&(a=s.slice())}function d(){if(l)throw new Error(Pr(3));return o}function f(v){if(typeof v!="function")throw new Error(Pr(4));if(l)throw new Error(Pr(5));var x=!0;return u(),a.push(v),function(){if(x){if(l)throw new Error(Pr(6));x=!1,u();var b=a.indexOf(v);a.splice(b,1),s=null}}}function p(v){if(!kJ(v))throw new Error(Pr(7));if(typeof v.type>"u")throw new Error(Pr(8));if(l)throw new Error(Pr(9));try{l=!0,o=i(o,v)}finally{l=!1}for(var x=s=a,_=0;_"u")throw new Error(Pr(12));if(typeof n(void 0,{type:yf.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Pr(13))})}function Ff(e){for(var t=Object.keys(e),n={},r=0;r"u")throw u&&u.type,new Error(Pr(14));f[g]=x,d=d||x!==v}return d=d||o.length!==Object.keys(l).length,d?f:l}}function j8(e,t){return function(){return t(e.apply(this,arguments))}}function UN(e,t){if(typeof e=="function")return j8(e,t);if(typeof e!="object"||e===null)throw new Error(Pr(16));var n={};for(var r in e){var i=e[r];typeof i=="function"&&(n[r]=j8(i,t))}return n}function vf(){for(var e=arguments.length,t=new Array(e),n=0;n-1){var u=n[l];return l>0&&(n.splice(l,1),n.unshift(u)),u.value}return s1}function i(a,l){r(a)===s1&&(n.unshift({key:a,value:l}),n.length>e&&n.pop())}function o(){return n}function s(){n=[]}return{get:r,put:i,getEntries:o,clear:s}}var zN=function(t,n){return t===n};function DJ(e){return function(n,r){if(n===null||r===null||n.length!==r.length)return!1;for(var i=n.length,o=0;o1?t-1:0),r=1;r0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]",value:e};if(typeof e!="object"||e===null||o!=null&&o.has(e))return!1;for(var a=r!=null?r(e):Object.entries(e),l=i.length>0,u=function(x,_){var b=t?t+"."+x:x;if(l){var y=i.some(function(S){return S instanceof RegExp?S.test(b):b===S});if(y)return"continue"}if(!n(_))return{value:{keyPath:b,value:_}};if(typeof _=="object"&&(s=XN(_,b,n,r,i,o),s))return{value:s}},d=0,f=a;d-1}function ZJ(e){return""+e}function eL(e){var t={},n=[],r,i={addCase:function(o,s){var a=typeof o=="string"?o:o.type;if(a in t)throw new Error("addCase cannot be called with two reducers for the same action type");return t[a]=s,i},addMatcher:function(o,s){return n.push({matcher:o,reducer:s}),i},addDefaultCase:function(o){return r=o,i}};return e(i),[t,n,r]}function JJ(e){return typeof e=="function"}function tL(e,t,n,r){n===void 0&&(n=[]);var i=typeof t=="function"?eL(t):[t,n,r],o=i[0],s=i[1],a=i[2],l;if(JJ(e))l=function(){return f3(e())};else{var u=f3(e);l=function(){return u}}function d(f,p){f===void 0&&(f=l());var g=Fl([o[p.type]],s.filter(function(m){var v=m.matcher;return v(p)}).map(function(m){var v=m.reducer;return v}));return g.filter(function(m){return!!m}).length===0&&(g=[a]),g.reduce(function(m,v){if(v)if(ai(m)){var x=m,_=v(x,p);return _===void 0?m:_}else{if(Ai(m))return Zl(m,function(b){return v(b,p)});var _=v(m,p);if(_===void 0){if(m===null)return m;throw Error("A case reducer on a non-draftable value must not return undefined")}return _}return m},f)}return d.getInitialState=l,d}function eee(e,t){return e+"/"+t}function yn(e){var t=e.name;if(!t)throw new Error("`name` is a required option for createSlice");typeof process<"u";var n=typeof e.initialState=="function"?e.initialState:f3(e.initialState),r=e.reducers||{},i=Object.keys(r),o={},s={},a={};i.forEach(function(d){var f=r[d],p=eee(t,d),g,m;"reducer"in f?(g=f.reducer,m=f.prepare):g=f,o[d]=g,s[p]=g,a[d]=m?Re(p,m):Re(p)});function l(){var d=typeof e.extraReducers=="function"?eL(e.extraReducers):[e.extraReducers],f=d[0],p=f===void 0?{}:f,g=d[1],m=g===void 0?[]:g,v=d[2],x=v===void 0?void 0:v,_=wi(wi({},p),s);return tL(n,function(b){for(var y in _)b.addCase(y,_[y]);for(var S=0,C=m;S0;if(b){var y=m.filter(function(S){return u(x,S,v)}).length>0;y&&(v.ids=Object.keys(v.entities))}}function p(m,v){return g([m],v)}function g(m,v){var x=nL(m,e,v),_=x[0],b=x[1];f(b,v),n(_,v)}return{removeAll:iee(l),addOne:On(t),addMany:On(n),setOne:On(r),setMany:On(i),setAll:On(o),updateOne:On(d),updateMany:On(f),upsertOne:On(p),upsertMany:On(g),removeOne:On(s),removeMany:On(a)}}function oee(e,t){var n=rL(e),r=n.removeOne,i=n.removeMany,o=n.removeAll;function s(b,y){return a([b],y)}function a(b,y){b=Vu(b);var S=b.filter(function(C){return!(Tp(C,e)in y.entities)});S.length!==0&&x(S,y)}function l(b,y){return u([b],y)}function u(b,y){b=Vu(b),b.length!==0&&x(b,y)}function d(b,y){b=Vu(b),y.entities={},y.ids=[],a(b,y)}function f(b,y){return p([b],y)}function p(b,y){for(var S=!1,C=0,T=b;C-1;return n&&r}function om(e){return typeof e[0]=="function"&&"pending"in e[0]&&"fulfilled"in e[0]&&"rejected"in e[0]}function H_(){for(var e=[],t=0;t0)for(var y=g.getState(),S=Array.from(n.values()),C=0,T=S;CMath.floor(e/t)*t,Ss=(e,t)=>Math.round(e/t)*t;var xee=typeof global=="object"&&global&&global.Object===Object&&global;const SL=xee;var Cee=typeof self=="object"&&self&&self.Object===Object&&self,Tee=SL||Cee||Function("return this")();const Fs=Tee;var Eee=Fs.Symbol;const xo=Eee;var wL=Object.prototype,Aee=wL.hasOwnProperty,Pee=wL.toString,Uh=xo?xo.toStringTag:void 0;function Ree(e){var t=Aee.call(e,Uh),n=e[Uh];try{e[Uh]=void 0;var r=!0}catch{}var i=Pee.call(e);return r&&(t?e[Uh]=n:delete e[Uh]),i}var Oee=Object.prototype,kee=Oee.toString;function Iee(e){return kee.call(e)}var Mee="[object Null]",Nee="[object Undefined]",Q8=xo?xo.toStringTag:void 0;function tu(e){return e==null?e===void 0?Nee:Mee:Q8&&Q8 in Object(e)?Ree(e):Iee(e)}function Jo(e){return e!=null&&typeof e=="object"}var Lee="[object Symbol]";function W_(e){return typeof e=="symbol"||Jo(e)&&tu(e)==Lee}function xL(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n0){if(++t>=hte)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function yte(e){return function(){return e}}var vte=function(){try{var e=gc(Object,"defineProperty");return e({},"",{}),e}catch{}}();const c1=vte;var _te=c1?function(e,t){return c1(e,"toString",{configurable:!0,enumerable:!1,value:yte(t),writable:!0})}:q_;const bte=_te;var Ste=mte(bte);const AL=Ste;function PL(e,t){for(var n=-1,r=e==null?0:e.length;++n-1}var Ate=9007199254740991,Pte=/^(?:0|[1-9]\d*)$/;function iT(e,t){var n=typeof e;return t=t??Ate,!!t&&(n=="number"||n!="symbol"&&Pte.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=kte}function Uf(e){return e!=null&&sT(e.length)&&!rT(e)}function IL(e,t,n){if(!Pi(n))return!1;var r=typeof t;return(r=="number"?Uf(n)&&iT(t,n.length):r=="string"&&t in n)?um(n[t],e):!1}function ML(e){return kL(function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(o=e.length>3&&typeof o=="function"?(i--,o):void 0,s&&IL(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),t=Object(t);++r-1}function Wne(e,t){var n=this.__data__,r=K_(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function Ma(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(a)?t>1?UL(a,t-1,n,r,i):hT(i,a):r||(i[i.length]=a)}return i}function cre(e){var t=e==null?0:e.length;return t?UL(e,1):[]}function dre(e){return AL(OL(e,void 0,cre),e+"")}var fre=FL(Object.getPrototypeOf,Object);const pT=fre;var hre="[object Object]",pre=Function.prototype,gre=Object.prototype,zL=pre.toString,mre=gre.hasOwnProperty,yre=zL.call(Object);function VL(e){if(!Jo(e)||tu(e)!=hre)return!1;var t=pT(e);if(t===null)return!0;var n=mre.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&zL.call(n)==yre}function jL(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(i);++r=r?e:jL(e,t,n)}var _re="\\ud800-\\udfff",bre="\\u0300-\\u036f",Sre="\\ufe20-\\ufe2f",wre="\\u20d0-\\u20ff",xre=bre+Sre+wre,Cre="\\ufe0e\\ufe0f",Tre="\\u200d",Ere=RegExp("["+Tre+_re+xre+Cre+"]");function gT(e){return Ere.test(e)}function Are(e){return e.split("")}var GL="\\ud800-\\udfff",Pre="\\u0300-\\u036f",Rre="\\ufe20-\\ufe2f",Ore="\\u20d0-\\u20ff",kre=Pre+Rre+Ore,Ire="\\ufe0e\\ufe0f",Mre="["+GL+"]",m3="["+kre+"]",y3="\\ud83c[\\udffb-\\udfff]",Nre="(?:"+m3+"|"+y3+")",HL="[^"+GL+"]",WL="(?:\\ud83c[\\udde6-\\uddff]){2}",qL="[\\ud800-\\udbff][\\udc00-\\udfff]",Lre="\\u200d",KL=Nre+"?",XL="["+Ire+"]?",Dre="(?:"+Lre+"(?:"+[HL,WL,qL].join("|")+")"+XL+KL+")*",$re=XL+KL+Dre,Fre="(?:"+[HL+m3+"?",m3,WL,qL,Mre].join("|")+")",Bre=RegExp(y3+"(?="+y3+")|"+Fre+$re,"g");function Ure(e){return e.match(Bre)||[]}function zre(e){return gT(e)?Ure(e):Are(e)}function Vre(e){return function(t){t=Y_(t);var n=gT(t)?zre(t):void 0,r=n?n[0]:t.charAt(0),i=n?vre(n,1).join(""):t.slice(1);return r[e]()+i}}var jre=Vre("toUpperCase");const Gre=jre;function YL(e,t,n,r){var i=-1,o=e==null?0:e.length;for(r&&o&&(n=e[++i]);++i=t?e:t)),e}function bl(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=sx(n),n=n===n?n:0),t!==void 0&&(t=sx(t),t=t===t?t:0),Nie(sx(e),t,n)}function Lie(){this.__data__=new Ma,this.size=0}function Die(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function $ie(e){return this.__data__.get(e)}function Fie(e){return this.__data__.has(e)}var Bie=200;function Uie(e,t){var n=this.__data__;if(n instanceof Ma){var r=n.__data__;if(!lg||r.lengtha))return!1;var u=o.get(e),d=o.get(t);if(u&&d)return u==t&&d==e;var f=-1,p=!0,g=n&bse?new ug:void 0;for(o.set(e,t),o.set(t,e);++f1),o}),Bf(e,mD(e),n),r&&(n=Ap(n,Cae|Tae|Eae,xae));for(var i=t.length;i--;)kD(n,t[i]);return n});const rb=Aae;var Pae=AD("length");const Rae=Pae;var ID="\\ud800-\\udfff",Oae="\\u0300-\\u036f",kae="\\ufe20-\\ufe2f",Iae="\\u20d0-\\u20ff",Mae=Oae+kae+Iae,Nae="\\ufe0e\\ufe0f",Lae="["+ID+"]",x3="["+Mae+"]",C3="\\ud83c[\\udffb-\\udfff]",Dae="(?:"+x3+"|"+C3+")",MD="[^"+ID+"]",ND="(?:\\ud83c[\\udde6-\\uddff]){2}",LD="[\\ud800-\\udbff][\\udc00-\\udfff]",$ae="\\u200d",DD=Dae+"?",$D="["+Nae+"]?",Fae="(?:"+$ae+"(?:"+[MD,ND,LD].join("|")+")"+$D+DD+")*",Bae=$D+DD+Fae,Uae="(?:"+[MD+x3+"?",x3,ND,LD,Lae].join("|")+")",O9=RegExp(C3+"(?="+C3+")|"+Uae+Bae,"g");function zae(e){for(var t=O9.lastIndex=0;O9.test(e);)++t;return t}function Vae(e){return gT(e)?zae(e):Rae(e)}function jae(e,t,n,r,i){return i(e,function(o,s,a){n=r?(r=!1,o):t(n,o,s,a)}),n}function _T(e,t,n){var r=gr(e)?YL:jae,i=arguments.length<3;return r(e,J_(t),n,i,eb)}var Gae="[object Map]",Hae="[object Set]";function FD(e){if(e==null)return 0;if(Uf(e))return _ae(e)?Vae(e):e.length;var t=Sf(e);return t==Gae||t==Hae?e.size:BL(e).length}function Wae(e,t){var n;return eb(e,function(r,i,o){return n=t(r,i,o),!n}),!!n}function Ou(e,t,n){var r=gr(e)?wD:Wae;return n&&IL(e,t,n)&&(t=void 0),r(e,J_(t))}var qae=Mie(function(e,t,n){return e+(n?" ":"")+Gre(t)});const Kae=qae;var Xae=1/0,Yae=Zd&&1/vT(new Zd([,-0]))[1]==Xae?function(e){return new Zd(e)}:fte;const Qae=Yae;var Zae=200;function Jae(e,t,n){var r=-1,i=Ete,o=e.length,s=!0,a=[],l=a;if(n)s=!1,i=pae;else if(o>=Zae){var u=t?null:Qae(e);if(u)return vT(u);s=!1,i=xD,l=new ug}else l=t?[]:a;e:for(;++r{wae(e,t.payload)}}}),{configChanged:nle}=UD.actions,rle=UD.reducer,Z9e={"sd-1":"Stable Diffusion 1.x","sd-2":"Stable Diffusion 2.x",sdxl:"Stable Diffusion XL","sdxl-refiner":"Stable Diffusion XL Refiner"},J9e={"sd-1":"SD1","sd-2":"SD2",sdxl:"SDXL","sdxl-refiner":"SDXLR"},ile={"sd-1":{maxClip:12,markers:[0,1,2,3,4,8,12]},"sd-2":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},sdxl:{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},"sdxl-refiner":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]}},eRe={lycoris:"LyCORIS",diffusers:"Diffusers"},tRe=0,ole=4294967295;var St;(function(e){e.assertEqual=i=>i;function t(i){}e.assertIs=t;function n(i){throw new Error}e.assertNever=n,e.arrayToEnum=i=>{const o={};for(const s of i)o[s]=s;return o},e.getValidEnumValues=i=>{const o=e.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),s={};for(const a of o)s[a]=i[a];return e.objectValues(s)},e.objectValues=i=>e.objectKeys(i).map(function(o){return i[o]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const o=[];for(const s in i)Object.prototype.hasOwnProperty.call(i,s)&&o.push(s);return o},e.find=(i,o)=>{for(const s of i)if(o(s))return s},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&isFinite(i)&&Math.floor(i)===i;function r(i,o=" | "){return i.map(s=>typeof s=="string"?`'${s}'`:s).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(i,o)=>typeof o=="bigint"?o.toString():o})(St||(St={}));var T3;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(T3||(T3={}));const xe=St.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ml=e=>{switch(typeof e){case"undefined":return xe.undefined;case"string":return xe.string;case"number":return isNaN(e)?xe.nan:xe.number;case"boolean":return xe.boolean;case"function":return xe.function;case"bigint":return xe.bigint;case"symbol":return xe.symbol;case"object":return Array.isArray(e)?xe.array:e===null?xe.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?xe.promise:typeof Map<"u"&&e instanceof Map?xe.map:typeof Set<"u"&&e instanceof Set?xe.set:typeof Date<"u"&&e instanceof Date?xe.date:xe.object;default:return xe.unknown}},me=St.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),sle=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class Ko extends Error{constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}get errors(){return this.issues}format(t){const n=t||function(o){return o.message},r={_errors:[]},i=o=>{for(const s of o.issues)if(s.code==="invalid_union")s.unionErrors.map(i);else if(s.code==="invalid_return_type")i(s.returnTypeError);else if(s.code==="invalid_arguments")i(s.argumentsError);else if(s.path.length===0)r._errors.push(n(s));else{let a=r,l=0;for(;ln.message){const n={},r=[];for(const i of this.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}Ko.create=e=>new Ko(e);const cg=(e,t)=>{let n;switch(e.code){case me.invalid_type:e.received===xe.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case me.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,St.jsonStringifyReplacer)}`;break;case me.unrecognized_keys:n=`Unrecognized key(s) in object: ${St.joinValues(e.keys,", ")}`;break;case me.invalid_union:n="Invalid input";break;case me.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${St.joinValues(e.options)}`;break;case me.invalid_enum_value:n=`Invalid enum value. Expected ${St.joinValues(e.options)}, received '${e.received}'`;break;case me.invalid_arguments:n="Invalid function arguments";break;case me.invalid_return_type:n="Invalid function return type";break;case me.invalid_date:n="Invalid date";break;case me.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:St.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case me.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case me.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case me.custom:n="Invalid input";break;case me.invalid_intersection_types:n="Intersection results could not be merged";break;case me.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case me.not_finite:n="Number must be finite";break;default:n=t.defaultError,St.assertNever(e)}return{message:n}};let zD=cg;function ale(e){zD=e}function f1(){return zD}const h1=e=>{const{data:t,path:n,errorMaps:r,issueData:i}=e,o=[...n,...i.path||[]],s={...i,path:o};let a="";const l=r.filter(u=>!!u).slice().reverse();for(const u of l)a=u(s,{data:t,defaultError:a}).message;return{...i,path:o,message:i.message||a}},lle=[];function Te(e,t){const n=h1({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,f1(),cg].filter(r=>!!r)});e.common.issues.push(n)}class Wr{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){const r=[];for(const i of n){if(i.status==="aborted")return je;i.status==="dirty"&&t.dirty(),r.push(i.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){const r=[];for(const i of n)r.push({key:await i.key,value:await i.value});return Wr.mergeObjectSync(t,r)}static mergeObjectSync(t,n){const r={};for(const i of n){const{key:o,value:s}=i;if(o.status==="aborted"||s.status==="aborted")return je;o.status==="dirty"&&t.dirty(),s.status==="dirty"&&t.dirty(),(typeof s.value<"u"||i.alwaysSet)&&(r[o.value]=s.value)}return{status:t.value,value:r}}}const je=Object.freeze({status:"aborted"}),VD=e=>({status:"dirty",value:e}),li=e=>({status:"valid",value:e}),E3=e=>e.status==="aborted",A3=e=>e.status==="dirty",p1=e=>e.status==="valid",g1=e=>typeof Promise<"u"&&e instanceof Promise;var Le;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(Le||(Le={}));class Ms{constructor(t,n,r,i){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=i}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const k9=(e,t)=>{if(p1(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new Ko(e.common.issues);return this._error=n,this._error}}};function Qe(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(s,a)=>s.code!=="invalid_type"?{message:a.defaultError}:typeof a.data>"u"?{message:r??a.defaultError}:{message:n??a.defaultError},description:i}}class tt{constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(t){return ml(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ml(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Wr,ctx:{common:t.parent.common,data:t.data,parsedType:ml(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(g1(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){const n=this._parse(t);return Promise.resolve(n)}parse(t,n){const r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){var r;const i={common:{issues:[],async:(r=n==null?void 0:n.async)!==null&&r!==void 0?r:!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ml(t)},o=this._parseSync({data:t,path:i.path,parent:i});return k9(i,o)}async parseAsync(t,n){const r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){const r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ml(t)},i=this._parse({data:t,path:r.path,parent:r}),o=await(g1(i)?i:Promise.resolve(i));return k9(r,o)}refine(t,n){const r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,o)=>{const s=t(i),a=()=>o.addIssue({code:me.custom,...r(i)});return typeof Promise<"u"&&s instanceof Promise?s.then(l=>l?!0:(a(),!1)):s?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(t){return new es({schema:this,typeName:Ue.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}optional(){return va.create(this,this._def)}nullable(){return ic.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Xo.create(this,this._def)}promise(){return xf.create(this,this._def)}or(t){return pg.create([this,t],this._def)}and(t){return gg.create(this,t,this._def)}transform(t){return new es({...Qe(this._def),schema:this,typeName:Ue.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new bg({...Qe(this._def),innerType:this,defaultValue:n,typeName:Ue.ZodDefault})}brand(){return new GD({typeName:Ue.ZodBranded,type:this,...Qe(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new _1({...Qe(this._def),innerType:this,catchValue:n,typeName:Ue.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return hm.create(this,t)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const ule=/^c[^\s-]{8,}$/i,cle=/^[a-z][a-z0-9]*$/,dle=/[0-9A-HJKMNP-TV-Z]{26}/,fle=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,hle=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\])|(\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\.[A-Za-z]{2,})+))$/,ple=/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,gle=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,mle=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,yle=e=>e.precision?e.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}Z$`):e.precision===0?e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function vle(e,t){return!!((t==="v4"||!t)&&gle.test(e)||(t==="v6"||!t)&&mle.test(e))}class Go extends tt{constructor(){super(...arguments),this._regex=(t,n,r)=>this.refinement(i=>t.test(i),{validation:n,code:me.invalid_string,...Le.errToObj(r)}),this.nonempty=t=>this.min(1,Le.errToObj(t)),this.trim=()=>new Go({...this._def,checks:[...this._def.checks,{kind:"trim"}]}),this.toLowerCase=()=>new Go({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]}),this.toUpperCase=()=>new Go({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==xe.string){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.string,received:o.parsedType}),je}const r=new Wr;let i;for(const o of this._def.checks)if(o.kind==="min")t.data.lengtho.value&&(i=this._getOrReturnCtx(t,i),Te(i,{code:me.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){const s=t.data.length>o.value,a=t.data.length"u"?null:t==null?void 0:t.precision,offset:(n=t==null?void 0:t.offset)!==null&&n!==void 0?n:!1,...Le.errToObj(t==null?void 0:t.message)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...Le.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...Le.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...Le.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...Le.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...Le.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...Le.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...Le.errToObj(n)})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get minLength(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new Go({checks:[],typeName:Ue.ZodString,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...Qe(e)})};function _le(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r,o=parseInt(e.toFixed(i).replace(".","")),s=parseInt(t.toFixed(i).replace(".",""));return o%s/Math.pow(10,i)}class Ul extends tt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==xe.number){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.number,received:o.parsedType}),je}let r;const i=new Wr;for(const o of this._def.checks)o.kind==="int"?St.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),Te(r,{code:me.invalid_type,expected:"integer",received:"float",message:o.message}),i.dirty()):o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="multipleOf"?_le(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),Te(r,{code:me.not_finite,message:o.message}),i.dirty()):St.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,Le.toString(n))}gt(t,n){return this.setLimit("min",t,!1,Le.toString(n))}lte(t,n){return this.setLimit("max",t,!0,Le.toString(n))}lt(t,n){return this.setLimit("max",t,!1,Le.toString(n))}setLimit(t,n,r,i){return new Ul({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:Le.toString(i)}]})}_addCheck(t){return new Ul({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:Le.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Le.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Le.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Le.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Le.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:Le.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:Le.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Le.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Le.toString(t)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuet.kind==="int"||t.kind==="multipleOf"&&St.isInteger(t.value))}get isFinite(){let t=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.valuenew Ul({checks:[],typeName:Ue.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...Qe(e)});class zl extends tt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce&&(t.data=BigInt(t.data)),this._getType(t)!==xe.bigint){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.bigint,received:o.parsedType}),je}let r;const i=new Wr;for(const o of this._def.checks)o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):St.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,Le.toString(n))}gt(t,n){return this.setLimit("min",t,!1,Le.toString(n))}lte(t,n){return this.setLimit("max",t,!0,Le.toString(n))}lt(t,n){return this.setLimit("max",t,!1,Le.toString(n))}setLimit(t,n,r,i){return new zl({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:Le.toString(i)}]})}_addCheck(t){return new zl({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Le.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Le.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Le.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Le.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:Le.toString(n)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new zl({checks:[],typeName:Ue.ZodBigInt,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...Qe(e)})};class dg extends tt{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==xe.boolean){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.boolean,received:r.parsedType}),je}return li(t.data)}}dg.create=e=>new dg({typeName:Ue.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...Qe(e)});class nc extends tt{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==xe.date){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.date,received:o.parsedType}),je}if(isNaN(t.data.getTime())){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_date}),je}const r=new Wr;let i;for(const o of this._def.checks)o.kind==="min"?t.data.getTime()o.value&&(i=this._getOrReturnCtx(t,i),Te(i,{code:me.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):St.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new nc({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:Le.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:Le.toString(n)})}get minDate(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuenew nc({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:Ue.ZodDate,...Qe(e)});class m1 extends tt{_parse(t){if(this._getType(t)!==xe.symbol){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.symbol,received:r.parsedType}),je}return li(t.data)}}m1.create=e=>new m1({typeName:Ue.ZodSymbol,...Qe(e)});class fg extends tt{_parse(t){if(this._getType(t)!==xe.undefined){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.undefined,received:r.parsedType}),je}return li(t.data)}}fg.create=e=>new fg({typeName:Ue.ZodUndefined,...Qe(e)});class hg extends tt{_parse(t){if(this._getType(t)!==xe.null){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.null,received:r.parsedType}),je}return li(t.data)}}hg.create=e=>new hg({typeName:Ue.ZodNull,...Qe(e)});class wf extends tt{constructor(){super(...arguments),this._any=!0}_parse(t){return li(t.data)}}wf.create=e=>new wf({typeName:Ue.ZodAny,...Qe(e)});class ju extends tt{constructor(){super(...arguments),this._unknown=!0}_parse(t){return li(t.data)}}ju.create=e=>new ju({typeName:Ue.ZodUnknown,...Qe(e)});class Ra extends tt{_parse(t){const n=this._getOrReturnCtx(t);return Te(n,{code:me.invalid_type,expected:xe.never,received:n.parsedType}),je}}Ra.create=e=>new Ra({typeName:Ue.ZodNever,...Qe(e)});class y1 extends tt{_parse(t){if(this._getType(t)!==xe.undefined){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.void,received:r.parsedType}),je}return li(t.data)}}y1.create=e=>new y1({typeName:Ue.ZodVoid,...Qe(e)});class Xo extends tt{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==xe.array)return Te(n,{code:me.invalid_type,expected:xe.array,received:n.parsedType}),je;if(i.exactLength!==null){const s=n.data.length>i.exactLength.value,a=n.data.lengthi.maxLength.value&&(Te(n,{code:me.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((s,a)=>i.type._parseAsync(new Ms(n,s,n.path,a)))).then(s=>Wr.mergeArray(r,s));const o=[...n.data].map((s,a)=>i.type._parseSync(new Ms(n,s,n.path,a)));return Wr.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new Xo({...this._def,minLength:{value:t,message:Le.toString(n)}})}max(t,n){return new Xo({...this._def,maxLength:{value:t,message:Le.toString(n)}})}length(t,n){return new Xo({...this._def,exactLength:{value:t,message:Le.toString(n)}})}nonempty(t){return this.min(1,t)}}Xo.create=(e,t)=>new Xo({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Ue.ZodArray,...Qe(t)});function yd(e){if(e instanceof gn){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=va.create(yd(r))}return new gn({...e._def,shape:()=>t})}else return e instanceof Xo?new Xo({...e._def,type:yd(e.element)}):e instanceof va?va.create(yd(e.unwrap())):e instanceof ic?ic.create(yd(e.unwrap())):e instanceof Ns?Ns.create(e.items.map(t=>yd(t))):e}class gn extends tt{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),n=St.objectKeys(t);return this._cached={shape:t,keys:n}}_parse(t){if(this._getType(t)!==xe.object){const u=this._getOrReturnCtx(t);return Te(u,{code:me.invalid_type,expected:xe.object,received:u.parsedType}),je}const{status:r,ctx:i}=this._processInputParams(t),{shape:o,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof Ra&&this._def.unknownKeys==="strip"))for(const u in i.data)s.includes(u)||a.push(u);const l=[];for(const u of s){const d=o[u],f=i.data[u];l.push({key:{status:"valid",value:u},value:d._parse(new Ms(i,f,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof Ra){const u=this._def.unknownKeys;if(u==="passthrough")for(const d of a)l.push({key:{status:"valid",value:d},value:{status:"valid",value:i.data[d]}});else if(u==="strict")a.length>0&&(Te(i,{code:me.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const u=this._def.catchall;for(const d of a){const f=i.data[d];l.push({key:{status:"valid",value:d},value:u._parse(new Ms(i,f,i.path,d)),alwaysSet:d in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const u=[];for(const d of l){const f=await d.key;u.push({key:f,value:await d.value,alwaysSet:d.alwaysSet})}return u}).then(u=>Wr.mergeObjectSync(r,u)):Wr.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return Le.errToObj,new gn({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{var i,o,s,a;const l=(s=(o=(i=this._def).errorMap)===null||o===void 0?void 0:o.call(i,n,r).message)!==null&&s!==void 0?s:r.defaultError;return n.code==="unrecognized_keys"?{message:(a=Le.errToObj(t).message)!==null&&a!==void 0?a:l}:{message:l}}}:{}})}strip(){return new gn({...this._def,unknownKeys:"strip"})}passthrough(){return new gn({...this._def,unknownKeys:"passthrough"})}extend(t){return new gn({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new gn({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Ue.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new gn({...this._def,catchall:t})}pick(t){const n={};return St.objectKeys(t).forEach(r=>{t[r]&&this.shape[r]&&(n[r]=this.shape[r])}),new gn({...this._def,shape:()=>n})}omit(t){const n={};return St.objectKeys(this.shape).forEach(r=>{t[r]||(n[r]=this.shape[r])}),new gn({...this._def,shape:()=>n})}deepPartial(){return yd(this)}partial(t){const n={};return St.objectKeys(this.shape).forEach(r=>{const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}),new gn({...this._def,shape:()=>n})}required(t){const n={};return St.objectKeys(this.shape).forEach(r=>{if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof va;)o=o._def.innerType;n[r]=o}}),new gn({...this._def,shape:()=>n})}keyof(){return jD(St.objectKeys(this.shape))}}gn.create=(e,t)=>new gn({shape:()=>e,unknownKeys:"strip",catchall:Ra.create(),typeName:Ue.ZodObject,...Qe(t)});gn.strictCreate=(e,t)=>new gn({shape:()=>e,unknownKeys:"strict",catchall:Ra.create(),typeName:Ue.ZodObject,...Qe(t)});gn.lazycreate=(e,t)=>new gn({shape:e,unknownKeys:"strip",catchall:Ra.create(),typeName:Ue.ZodObject,...Qe(t)});class pg extends tt{_parse(t){const{ctx:n}=this._processInputParams(t),r=this._def.options;function i(o){for(const a of o)if(a.result.status==="valid")return a.result;for(const a of o)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;const s=o.map(a=>new Ko(a.ctx.common.issues));return Te(n,{code:me.invalid_union,unionErrors:s}),je}if(n.common.async)return Promise.all(r.map(async o=>{const s={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:s}),ctx:s}})).then(i);{let o;const s=[];for(const l of r){const u={...n,common:{...n.common,issues:[]},parent:null},d=l._parseSync({data:n.data,path:n.path,parent:u});if(d.status==="valid")return d;d.status==="dirty"&&!o&&(o={result:d,ctx:u}),u.common.issues.length&&s.push(u.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;const a=s.map(l=>new Ko(l));return Te(n,{code:me.invalid_union,unionErrors:a}),je}}get options(){return this._def.options}}pg.create=(e,t)=>new pg({options:e,typeName:Ue.ZodUnion,...Qe(t)});const cv=e=>e instanceof yg?cv(e.schema):e instanceof es?cv(e.innerType()):e instanceof vg?[e.value]:e instanceof Vl?e.options:e instanceof _g?Object.keys(e.enum):e instanceof bg?cv(e._def.innerType):e instanceof fg?[void 0]:e instanceof hg?[null]:null;class ib extends tt{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==xe.object)return Te(n,{code:me.invalid_type,expected:xe.object,received:n.parsedType}),je;const r=this.discriminator,i=n.data[r],o=this.optionsMap.get(i);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(Te(n,{code:me.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),je)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){const i=new Map;for(const o of n){const s=cv(o.shape[t]);if(!s)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(const a of s){if(i.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);i.set(a,o)}}return new ib({typeName:Ue.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...Qe(r)})}}function P3(e,t){const n=ml(e),r=ml(t);if(e===t)return{valid:!0,data:e};if(n===xe.object&&r===xe.object){const i=St.objectKeys(t),o=St.objectKeys(e).filter(a=>i.indexOf(a)!==-1),s={...e,...t};for(const a of o){const l=P3(e[a],t[a]);if(!l.valid)return{valid:!1};s[a]=l.data}return{valid:!0,data:s}}else if(n===xe.array&&r===xe.array){if(e.length!==t.length)return{valid:!1};const i=[];for(let o=0;o{if(E3(o)||E3(s))return je;const a=P3(o.value,s.value);return a.valid?((A3(o)||A3(s))&&n.dirty(),{status:n.value,value:a.data}):(Te(r,{code:me.invalid_intersection_types}),je)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,s])=>i(o,s)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}gg.create=(e,t,n)=>new gg({left:e,right:t,typeName:Ue.ZodIntersection,...Qe(n)});class Ns extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.array)return Te(r,{code:me.invalid_type,expected:xe.array,received:r.parsedType}),je;if(r.data.lengththis._def.items.length&&(Te(r,{code:me.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const o=[...r.data].map((s,a)=>{const l=this._def.items[a]||this._def.rest;return l?l._parse(new Ms(r,s,r.path,a)):null}).filter(s=>!!s);return r.common.async?Promise.all(o).then(s=>Wr.mergeArray(n,s)):Wr.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new Ns({...this._def,rest:t})}}Ns.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ns({items:e,typeName:Ue.ZodTuple,rest:null,...Qe(t)})};class mg extends tt{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.object)return Te(r,{code:me.invalid_type,expected:xe.object,received:r.parsedType}),je;const i=[],o=this._def.keyType,s=this._def.valueType;for(const a in r.data)i.push({key:o._parse(new Ms(r,a,r.path,a)),value:s._parse(new Ms(r,r.data[a],r.path,a))});return r.common.async?Wr.mergeObjectAsync(n,i):Wr.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof tt?new mg({keyType:t,valueType:n,typeName:Ue.ZodRecord,...Qe(r)}):new mg({keyType:Go.create(),valueType:t,typeName:Ue.ZodRecord,...Qe(n)})}}class v1 extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.map)return Te(r,{code:me.invalid_type,expected:xe.map,received:r.parsedType}),je;const i=this._def.keyType,o=this._def.valueType,s=[...r.data.entries()].map(([a,l],u)=>({key:i._parse(new Ms(r,a,r.path,[u,"key"])),value:o._parse(new Ms(r,l,r.path,[u,"value"]))}));if(r.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const l of s){const u=await l.key,d=await l.value;if(u.status==="aborted"||d.status==="aborted")return je;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}})}else{const a=new Map;for(const l of s){const u=l.key,d=l.value;if(u.status==="aborted"||d.status==="aborted")return je;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}}}}v1.create=(e,t,n)=>new v1({valueType:t,keyType:e,typeName:Ue.ZodMap,...Qe(n)});class rc extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.set)return Te(r,{code:me.invalid_type,expected:xe.set,received:r.parsedType}),je;const i=this._def;i.minSize!==null&&r.data.sizei.maxSize.value&&(Te(r,{code:me.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());const o=this._def.valueType;function s(l){const u=new Set;for(const d of l){if(d.status==="aborted")return je;d.status==="dirty"&&n.dirty(),u.add(d.value)}return{status:n.value,value:u}}const a=[...r.data.values()].map((l,u)=>o._parse(new Ms(r,l,r.path,u)));return r.common.async?Promise.all(a).then(l=>s(l)):s(a)}min(t,n){return new rc({...this._def,minSize:{value:t,message:Le.toString(n)}})}max(t,n){return new rc({...this._def,maxSize:{value:t,message:Le.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}rc.create=(e,t)=>new rc({valueType:e,minSize:null,maxSize:null,typeName:Ue.ZodSet,...Qe(t)});class Jd extends tt{constructor(){super(...arguments),this.validate=this.implement}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==xe.function)return Te(n,{code:me.invalid_type,expected:xe.function,received:n.parsedType}),je;function r(a,l){return h1({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,f1(),cg].filter(u=>!!u),issueData:{code:me.invalid_arguments,argumentsError:l}})}function i(a,l){return h1({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,f1(),cg].filter(u=>!!u),issueData:{code:me.invalid_return_type,returnTypeError:l}})}const o={errorMap:n.common.contextualErrorMap},s=n.data;return this._def.returns instanceof xf?li(async(...a)=>{const l=new Ko([]),u=await this._def.args.parseAsync(a,o).catch(p=>{throw l.addIssue(r(a,p)),l}),d=await s(...u);return await this._def.returns._def.type.parseAsync(d,o).catch(p=>{throw l.addIssue(i(d,p)),l})}):li((...a)=>{const l=this._def.args.safeParse(a,o);if(!l.success)throw new Ko([r(a,l.error)]);const u=s(...l.data),d=this._def.returns.safeParse(u,o);if(!d.success)throw new Ko([i(u,d.error)]);return d.data})}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new Jd({...this._def,args:Ns.create(t).rest(ju.create())})}returns(t){return new Jd({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new Jd({args:t||Ns.create([]).rest(ju.create()),returns:n||ju.create(),typeName:Ue.ZodFunction,...Qe(r)})}}class yg extends tt{get schema(){return this._def.getter()}_parse(t){const{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}yg.create=(e,t)=>new yg({getter:e,typeName:Ue.ZodLazy,...Qe(t)});class vg extends tt{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return Te(n,{received:n.data,code:me.invalid_literal,expected:this._def.value}),je}return{status:"valid",value:t.data}}get value(){return this._def.value}}vg.create=(e,t)=>new vg({value:e,typeName:Ue.ZodLiteral,...Qe(t)});function jD(e,t){return new Vl({values:e,typeName:Ue.ZodEnum,...Qe(t)})}class Vl extends tt{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return Te(n,{expected:St.joinValues(r),received:n.parsedType,code:me.invalid_type}),je}if(this._def.values.indexOf(t.data)===-1){const n=this._getOrReturnCtx(t),r=this._def.values;return Te(n,{received:n.data,code:me.invalid_enum_value,options:r}),je}return li(t.data)}get options(){return this._def.values}get enum(){const t={};for(const n of this._def.values)t[n]=n;return t}get Values(){const t={};for(const n of this._def.values)t[n]=n;return t}get Enum(){const t={};for(const n of this._def.values)t[n]=n;return t}extract(t){return Vl.create(t)}exclude(t){return Vl.create(this.options.filter(n=>!t.includes(n)))}}Vl.create=jD;class _g extends tt{_parse(t){const n=St.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==xe.string&&r.parsedType!==xe.number){const i=St.objectValues(n);return Te(r,{expected:St.joinValues(i),received:r.parsedType,code:me.invalid_type}),je}if(n.indexOf(t.data)===-1){const i=St.objectValues(n);return Te(r,{received:r.data,code:me.invalid_enum_value,options:i}),je}return li(t.data)}get enum(){return this._def.values}}_g.create=(e,t)=>new _g({values:e,typeName:Ue.ZodNativeEnum,...Qe(t)});class xf extends tt{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==xe.promise&&n.common.async===!1)return Te(n,{code:me.invalid_type,expected:xe.promise,received:n.parsedType}),je;const r=n.parsedType===xe.promise?n.data:Promise.resolve(n.data);return li(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}xf.create=(e,t)=>new xf({type:e,typeName:Ue.ZodPromise,...Qe(t)});class es extends tt{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Ue.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=this._def.effect||null;if(i.type==="preprocess"){const s=i.transform(r.data);return r.common.async?Promise.resolve(s).then(a=>this._def.schema._parseAsync({data:a,path:r.path,parent:r})):this._def.schema._parseSync({data:s,path:r.path,parent:r})}const o={addIssue:s=>{Te(r,s),s.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),i.type==="refinement"){const s=a=>{const l=i.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?je:(a.status==="dirty"&&n.dirty(),s(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?je:(a.status==="dirty"&&n.dirty(),s(a.value).then(()=>({status:n.value,value:a.value}))))}if(i.type==="transform")if(r.common.async===!1){const s=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!p1(s))return s;const a=i.transform(s.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(s=>p1(s)?Promise.resolve(i.transform(s.value,o)).then(a=>({status:n.value,value:a})):s);St.assertNever(i)}}es.create=(e,t,n)=>new es({schema:e,typeName:Ue.ZodEffects,effect:t,...Qe(n)});es.createWithPreprocess=(e,t,n)=>new es({schema:t,effect:{type:"preprocess",transform:e},typeName:Ue.ZodEffects,...Qe(n)});class va extends tt{_parse(t){return this._getType(t)===xe.undefined?li(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}va.create=(e,t)=>new va({innerType:e,typeName:Ue.ZodOptional,...Qe(t)});class ic extends tt{_parse(t){return this._getType(t)===xe.null?li(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}ic.create=(e,t)=>new ic({innerType:e,typeName:Ue.ZodNullable,...Qe(t)});class bg extends tt{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===xe.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}bg.create=(e,t)=>new bg({innerType:e,typeName:Ue.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Qe(t)});class _1 extends tt{_parse(t){const{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return g1(i)?i.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Ko(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Ko(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}_1.create=(e,t)=>new _1({innerType:e,typeName:Ue.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Qe(t)});class b1 extends tt{_parse(t){if(this._getType(t)!==xe.nan){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.nan,received:r.parsedType}),je}return{status:"valid",value:t.data}}}b1.create=e=>new b1({typeName:Ue.ZodNaN,...Qe(e)});const ble=Symbol("zod_brand");class GD extends tt{_parse(t){const{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class hm extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{const o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?je:o.status==="dirty"?(n.dirty(),VD(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{const i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?je:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(t,n){return new hm({in:t,out:n,typeName:Ue.ZodPipeline})}}const HD=(e,t={},n)=>e?wf.create().superRefine((r,i)=>{var o,s;if(!e(r)){const a=typeof t=="function"?t(r):typeof t=="string"?{message:t}:t,l=(s=(o=a.fatal)!==null&&o!==void 0?o:n)!==null&&s!==void 0?s:!0,u=typeof a=="string"?{message:a}:a;i.addIssue({code:"custom",...u,fatal:l})}}):wf.create(),Sle={object:gn.lazycreate};var Ue;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline"})(Ue||(Ue={}));const wle=(e,t={message:`Input not instance of ${e.name}`})=>HD(n=>n instanceof e,t),WD=Go.create,qD=Ul.create,xle=b1.create,Cle=zl.create,KD=dg.create,Tle=nc.create,Ele=m1.create,Ale=fg.create,Ple=hg.create,Rle=wf.create,Ole=ju.create,kle=Ra.create,Ile=y1.create,Mle=Xo.create,Nle=gn.create,Lle=gn.strictCreate,Dle=pg.create,$le=ib.create,Fle=gg.create,Ble=Ns.create,Ule=mg.create,zle=v1.create,Vle=rc.create,jle=Jd.create,Gle=yg.create,Hle=vg.create,Wle=Vl.create,qle=_g.create,Kle=xf.create,I9=es.create,Xle=va.create,Yle=ic.create,Qle=es.createWithPreprocess,Zle=hm.create,Jle=()=>WD().optional(),eue=()=>qD().optional(),tue=()=>KD().optional(),nue={string:e=>Go.create({...e,coerce:!0}),number:e=>Ul.create({...e,coerce:!0}),boolean:e=>dg.create({...e,coerce:!0}),bigint:e=>zl.create({...e,coerce:!0}),date:e=>nc.create({...e,coerce:!0})},rue=je;var wt=Object.freeze({__proto__:null,defaultErrorMap:cg,setErrorMap:ale,getErrorMap:f1,makeIssue:h1,EMPTY_PATH:lle,addIssueToContext:Te,ParseStatus:Wr,INVALID:je,DIRTY:VD,OK:li,isAborted:E3,isDirty:A3,isValid:p1,isAsync:g1,get util(){return St},get objectUtil(){return T3},ZodParsedType:xe,getParsedType:ml,ZodType:tt,ZodString:Go,ZodNumber:Ul,ZodBigInt:zl,ZodBoolean:dg,ZodDate:nc,ZodSymbol:m1,ZodUndefined:fg,ZodNull:hg,ZodAny:wf,ZodUnknown:ju,ZodNever:Ra,ZodVoid:y1,ZodArray:Xo,ZodObject:gn,ZodUnion:pg,ZodDiscriminatedUnion:ib,ZodIntersection:gg,ZodTuple:Ns,ZodRecord:mg,ZodMap:v1,ZodSet:rc,ZodFunction:Jd,ZodLazy:yg,ZodLiteral:vg,ZodEnum:Vl,ZodNativeEnum:_g,ZodPromise:xf,ZodEffects:es,ZodTransformer:es,ZodOptional:va,ZodNullable:ic,ZodDefault:bg,ZodCatch:_1,ZodNaN:b1,BRAND:ble,ZodBranded:GD,ZodPipeline:hm,custom:HD,Schema:tt,ZodSchema:tt,late:Sle,get ZodFirstPartyTypeKind(){return Ue},coerce:nue,any:Rle,array:Mle,bigint:Cle,boolean:KD,date:Tle,discriminatedUnion:$le,effect:I9,enum:Wle,function:jle,instanceof:wle,intersection:Fle,lazy:Gle,literal:Hle,map:zle,nan:xle,nativeEnum:qle,never:kle,null:Ple,nullable:Yle,number:qD,object:Nle,oboolean:tue,onumber:eue,optional:Xle,ostring:Jle,pipeline:Zle,preprocess:Qle,promise:Kle,record:Ule,set:Vle,strictObject:Lle,string:WD,symbol:Ele,transformer:I9,tuple:Ble,undefined:Ale,union:Dle,unknown:Ole,void:Ile,NEVER:rue,ZodIssueCode:me,quotelessJson:sle,ZodError:Ko});const iue=wt.string(),nRe=e=>iue.safeParse(e).success,oue=wt.string(),rRe=e=>oue.safeParse(e).success,sue=wt.string(),iRe=e=>sue.safeParse(e).success,aue=wt.string(),oRe=e=>aue.safeParse(e).success,lue=wt.number().int().min(1),sRe=e=>lue.safeParse(e).success,uue=wt.number().min(1),aRe=e=>uue.safeParse(e).success,cue=wt.enum(["euler","deis","ddim","ddpm","dpmpp_2s","dpmpp_2m","dpmpp_2m_sde","dpmpp_sde","heun","kdpm_2","lms","pndm","unipc","euler_k","dpmpp_2s_k","dpmpp_2m_k","dpmpp_2m_sde_k","dpmpp_sde_k","heun_k","lms_k","euler_a","kdpm_2_a"]),lRe=e=>cue.safeParse(e).success,uRe={euler:"Euler",deis:"DEIS",ddim:"DDIM",ddpm:"DDPM",dpmpp_sde:"DPM++ SDE",dpmpp_2s:"DPM++ 2S",dpmpp_2m:"DPM++ 2M",dpmpp_2m_sde:"DPM++ 2M SDE",heun:"Heun",kdpm_2:"KDPM 2",lms:"LMS",pndm:"PNDM",unipc:"UniPC",euler_k:"Euler Karras",dpmpp_sde_k:"DPM++ SDE Karras",dpmpp_2s_k:"DPM++ 2S Karras",dpmpp_2m_k:"DPM++ 2M Karras",dpmpp_2m_sde_k:"DPM++ 2M SDE Karras",heun_k:"Heun Karras",lms_k:"LMS Karras",euler_a:"Euler Ancestral",kdpm_2_a:"KDPM 2 Ancestral"},due=wt.number().int().min(0).max(ole),cRe=e=>due.safeParse(e).success,fue=wt.number().multipleOf(8).min(64),dRe=e=>fue.safeParse(e).success,hue=wt.number().multipleOf(8).min(64),fRe=e=>hue.safeParse(e).success,pm=wt.enum(["sd-1","sd-2","sdxl","sdxl-refiner"]),bT=wt.object({model_name:wt.string().min(1),base_model:pm,model_type:wt.literal("main")}),hRe=e=>bT.safeParse(e).success,XD=wt.object({model_name:wt.string().min(1),base_model:wt.literal("sdxl-refiner"),model_type:wt.literal("main")}),pRe=e=>XD.safeParse(e).success,pue=wt.object({model_name:wt.string().min(1),base_model:pm,model_type:wt.literal("onnx")}),YD=wt.union([bT,pue]),gue=wt.object({model_name:wt.string().min(1),base_model:pm}),gRe=wt.object({model_name:wt.string().min(1),base_model:pm}),mRe=wt.object({model_name:wt.string().min(1),base_model:pm}),mue=wt.number().min(0).max(1),yRe=e=>mue.safeParse(e).success;wt.enum(["fp16","fp32"]);const yue=wt.number().min(1).max(10),vRe=e=>yue.safeParse(e).success,vue=wt.number().min(0).max(1),_Re=e=>vue.safeParse(e).success,La={cfgScale:7.5,height:512,img2imgStrength:.75,infillMethod:"patchmatch",iterations:1,perlin:0,positivePrompt:"",negativePrompt:"",scheduler:"euler",seamBlur:16,seamSize:96,seamSteps:30,seamStrength:.7,seed:0,seedWeights:"",shouldFitToWidthHeight:!0,shouldGenerateVariations:!1,shouldRandomizeSeed:!0,shouldUseNoiseSettings:!1,steps:50,threshold:0,tileSize:32,variationAmount:.1,width:512,shouldUseSymmetry:!1,horizontalSymmetrySteps:0,verticalSymmetrySteps:0,model:null,vae:null,vaePrecision:"fp32",seamlessXAxis:!1,seamlessYAxis:!1,clipSkip:0,shouldUseCpuNoise:!0,shouldShowAdvancedOptions:!1,aspectRatio:null},_ue=La,QD=yn({name:"generation",initialState:_ue,reducers:{setPositivePrompt:(e,t)=>{e.positivePrompt=t.payload},setNegativePrompt:(e,t)=>{e.negativePrompt=t.payload},setIterations:(e,t)=>{e.iterations=t.payload},setSteps:(e,t)=>{e.steps=t.payload},clampSymmetrySteps:e=>{e.horizontalSymmetrySteps=bl(e.horizontalSymmetrySteps,0,e.steps),e.verticalSymmetrySteps=bl(e.verticalSymmetrySteps,0,e.steps)},setCfgScale:(e,t)=>{e.cfgScale=t.payload},setThreshold:(e,t)=>{e.threshold=t.payload},setPerlin:(e,t)=>{e.perlin=t.payload},setHeight:(e,t)=>{e.height=t.payload},setWidth:(e,t)=>{e.width=t.payload},toggleSize:e=>{const[t,n]=[e.width,e.height];e.width=n,e.height=t},setScheduler:(e,t)=>{e.scheduler=t.payload},setSeed:(e,t)=>{e.seed=t.payload,e.shouldRandomizeSeed=!1},setImg2imgStrength:(e,t)=>{e.img2imgStrength=t.payload},setSeamlessXAxis:(e,t)=>{e.seamlessXAxis=t.payload},setSeamlessYAxis:(e,t)=>{e.seamlessYAxis=t.payload},setShouldFitToWidthHeight:(e,t)=>{e.shouldFitToWidthHeight=t.payload},resetSeed:e=>{e.seed=-1},setShouldGenerateVariations:(e,t)=>{e.shouldGenerateVariations=t.payload},setVariationAmount:(e,t)=>{e.variationAmount=t.payload},setSeedWeights:(e,t)=>{e.seedWeights=t.payload,e.shouldGenerateVariations=!0,e.variationAmount=0},resetParametersState:e=>({...e,...La}),setShouldRandomizeSeed:(e,t)=>{e.shouldRandomizeSeed=t.payload},clearInitialImage:e=>{e.initialImage=void 0},setSeamSize:(e,t)=>{e.seamSize=t.payload},setSeamBlur:(e,t)=>{e.seamBlur=t.payload},setSeamStrength:(e,t)=>{e.seamStrength=t.payload},setSeamSteps:(e,t)=>{e.seamSteps=t.payload},setTileSize:(e,t)=>{e.tileSize=t.payload},setInfillMethod:(e,t)=>{e.infillMethod=t.payload},setShouldUseSymmetry:(e,t)=>{e.shouldUseSymmetry=t.payload},setHorizontalSymmetrySteps:(e,t)=>{e.horizontalSymmetrySteps=t.payload},setVerticalSymmetrySteps:(e,t)=>{e.verticalSymmetrySteps=t.payload},setShouldUseNoiseSettings:(e,t)=>{e.shouldUseNoiseSettings=t.payload},initialImageChanged:(e,t)=>{const{image_name:n,width:r,height:i}=t.payload;e.initialImage={imageName:n,width:r,height:i}},modelChanged:(e,t)=>{if(e.model=t.payload,e.model===null)return;const{maxClip:n}=ile[e.model.base_model];e.clipSkip=bl(e.clipSkip,0,n)},vaeSelected:(e,t)=>{e.vae=t.payload},vaePrecisionChanged:(e,t)=>{e.vaePrecision=t.payload},setClipSkip:(e,t)=>{e.clipSkip=t.payload},shouldUseCpuNoiseChanged:(e,t)=>{e.shouldUseCpuNoise=t.payload},setShouldShowAdvancedOptions:(e,t)=>{e.shouldShowAdvancedOptions=t.payload,t.payload||(e.clipSkip=0)},setAspectRatio:(e,t)=>{const n=t.payload;e.aspectRatio=n,n&&(e.height=Ss(e.width/n,8))}},extraReducers:e=>{e.addCase(nle,(t,n)=>{var i;const r=(i=n.payload.sd)==null?void 0:i.defaultModel;if(r&&!t.model){const[o,s,a]=r.split("/"),l=bT.safeParse({model_name:a,base_model:o,model_type:s});l.success&&(t.model=l.data)}}),e.addCase(Sue,(t,n)=>{n.payload||(t.clipSkip=0)})}}),{clampSymmetrySteps:bRe,clearInitialImage:ST,resetParametersState:SRe,resetSeed:wRe,setCfgScale:xRe,setWidth:CRe,setHeight:TRe,toggleSize:ERe,setImg2imgStrength:ARe,setInfillMethod:bue,setIterations:PRe,setPerlin:RRe,setPositivePrompt:ORe,setNegativePrompt:kRe,setScheduler:IRe,setSeamBlur:MRe,setSeamSize:NRe,setSeamSteps:LRe,setSeamStrength:DRe,setSeed:$Re,setSeedWeights:FRe,setShouldFitToWidthHeight:BRe,setShouldGenerateVariations:URe,setShouldRandomizeSeed:zRe,setSteps:VRe,setThreshold:jRe,setTileSize:GRe,setVariationAmount:HRe,setShouldUseSymmetry:WRe,setHorizontalSymmetrySteps:qRe,setVerticalSymmetrySteps:KRe,initialImageChanged:ob,modelChanged:Gu,vaeSelected:ZD,setShouldUseNoiseSettings:XRe,setSeamlessXAxis:YRe,setSeamlessYAxis:QRe,setClipSkip:ZRe,shouldUseCpuNoiseChanged:JRe,setShouldShowAdvancedOptions:Sue,setAspectRatio:wue,vaePrecisionChanged:eOe}=QD.actions,xue=QD.reducer,JD=["txt2img","img2img","unifiedCanvas","nodes","modelManager","batch"],M9=(e,t)=>{typeof t=="number"?e.activeTab=t:e.activeTab=JD.indexOf(t)},e$={activeTab:0,shouldPinParametersPanel:!0,shouldShowParametersPanel:!0,shouldShowImageDetails:!1,shouldUseCanvasBetaLayout:!1,shouldShowExistingModelsInSearch:!1,shouldUseSliders:!1,shouldPinGallery:!0,shouldShowGallery:!0,shouldHidePreview:!1,shouldShowProgressInViewer:!0,shouldShowEmbeddingPicker:!1,favoriteSchedulers:[]},t$=yn({name:"ui",initialState:e$,reducers:{setActiveTab:(e,t)=>{M9(e,t.payload)},setShouldPinParametersPanel:(e,t)=>{e.shouldPinParametersPanel=t.payload,e.shouldShowParametersPanel=!0},setShouldShowParametersPanel:(e,t)=>{e.shouldShowParametersPanel=t.payload},setShouldShowImageDetails:(e,t)=>{e.shouldShowImageDetails=t.payload},setShouldUseCanvasBetaLayout:(e,t)=>{e.shouldUseCanvasBetaLayout=t.payload},setShouldHidePreview:(e,t)=>{e.shouldHidePreview=t.payload},setShouldShowExistingModelsInSearch:(e,t)=>{e.shouldShowExistingModelsInSearch=t.payload},setShouldUseSliders:(e,t)=>{e.shouldUseSliders=t.payload},setShouldShowGallery:(e,t)=>{e.shouldShowGallery=t.payload},togglePinGalleryPanel:e=>{e.shouldPinGallery=!e.shouldPinGallery,e.shouldPinGallery||(e.shouldShowGallery=!0)},togglePinParametersPanel:e=>{e.shouldPinParametersPanel=!e.shouldPinParametersPanel,e.shouldPinParametersPanel||(e.shouldShowParametersPanel=!0)},toggleParametersPanel:e=>{e.shouldShowParametersPanel=!e.shouldShowParametersPanel},toggleGalleryPanel:e=>{e.shouldShowGallery=!e.shouldShowGallery},togglePanels:e=>{e.shouldShowGallery||e.shouldShowParametersPanel?(e.shouldShowGallery=!1,e.shouldShowParametersPanel=!1):(e.shouldShowGallery=!0,e.shouldShowParametersPanel=!0)},setShouldShowProgressInViewer:(e,t)=>{e.shouldShowProgressInViewer=t.payload},favoriteSchedulersChanged:(e,t)=>{e.favoriteSchedulers=t.payload},toggleEmbeddingPicker:e=>{e.shouldShowEmbeddingPicker=!e.shouldShowEmbeddingPicker}},extraReducers(e){e.addCase(ob,t=>{M9(t,"img2img")})}}),{setActiveTab:n$,setShouldPinParametersPanel:tOe,setShouldShowParametersPanel:nOe,setShouldShowImageDetails:rOe,setShouldUseCanvasBetaLayout:Cue,setShouldShowExistingModelsInSearch:iOe,setShouldUseSliders:oOe,setShouldHidePreview:sOe,setShouldShowGallery:aOe,togglePanels:lOe,togglePinGalleryPanel:uOe,togglePinParametersPanel:cOe,toggleParametersPanel:dOe,toggleGalleryPanel:fOe,setShouldShowProgressInViewer:hOe,favoriteSchedulersChanged:pOe,toggleEmbeddingPicker:gOe}=t$.actions,Tue=t$.reducer;let ti=[],gm=(e,t)=>{let n=[],r={get(){return r.lc||r.listen(()=>{})(),r.value},l:t||0,lc:0,listen(i,o){return r.lc=n.push(i,o||r.l)/2,()=>{let s=n.indexOf(i);~s&&(n.splice(s,2),r.lc--,r.lc||r.off())}},notify(i){let o=!ti.length;for(let s=0;s(e.events=e.events||{},e.events[n+g0]||(e.events[n+g0]=r(i=>{e.events[n].reduceRight((o,s)=>(s(o),o),{shared:{},...i})})),e.events[n]=e.events[n]||[],e.events[n].push(t),()=>{let i=e.events[n],o=i.indexOf(t);i.splice(o,1),i.length||(delete e.events[n],e.events[n+g0](),delete e.events[n+g0])}),Pue=1e3,Rue=(e,t)=>Aue(e,r=>{let i=t(r);i&&e.events[p0].push(i)},Eue,r=>{let i=e.listen;e.listen=(...s)=>(!e.lc&&!e.active&&(e.active=!0,r()),i(...s));let o=e.off;return e.events[p0]=[],e.off=()=>{o(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let s of e.events[p0])s();e.events[p0]=[]}},Pue)},()=>{e.listen=i,e.off=o}}),Oue=(e,t)=>{Array.isArray(e)||(e=[e]);let n,r=()=>{let o=e.map(s=>s.get());(n===void 0||o.some((s,a)=>s!==n[a]))&&(n=o,i.set(t(...o)))},i=gm(void 0,Math.max(...e.map(o=>o.l))+1);return Rue(i,()=>{let o=e.map(s=>s.listen(r,i.l));return r(),()=>{for(let s of o)s()}}),i};const kue={"Content-Type":"application/json"},Iue=/\/*$/;function Mue(e){const t=new URLSearchParams;if(e&&typeof e=="object")for(const[n,r]of Object.entries(e))r!=null&&t.set(n,r);return t.toString()}function Nue(e){return JSON.stringify(e)}function Lue(e,t){let n=`${t.baseUrl?t.baseUrl.replace(Iue,""):""}${e}`;if(t.params.path)for(const[r,i]of Object.entries(t.params.path))n=n.replace(`{${r}}`,encodeURIComponent(String(i)));if(t.params.query){const r=t.querySerializer(t.params.query);r&&(n+=`?${r}`)}return n}function Due(e={}){const{fetch:t=globalThis.fetch,querySerializer:n,bodySerializer:r,...i}=e,o=new Headers({...kue,...i.headers??{}});async function s(a,l){const{headers:u,body:d,params:f={},parseAs:p="json",querySerializer:g=n??Mue,bodySerializer:m=r??Nue,...v}=l||{},x=Lue(a,{baseUrl:i.baseUrl,params:f,querySerializer:g}),_=new Headers(o),b=new Headers(u);for(const[T,E]of b.entries())E==null?_.delete(T):_.set(T,E);const y={redirect:"follow",...i,...v,headers:_};d&&(y.body=m(d)),y.body instanceof FormData&&_.delete("Content-Type");const S=await t(x,y);if(S.status===204||S.headers.get("Content-Length")==="0")return S.ok?{data:{},response:S}:{error:{},response:S};if(S.ok){let T=S.body;if(p!=="stream"){const E=S.clone();T=typeof E[p]=="function"?await E[p]():await E.text()}return{data:T,response:S}}let C={};try{C=await S.clone().json()}catch{C=await S.clone().text()}return{error:C,response:S}}return{async get(a,l){return s(a,{...l,method:"GET"})},async put(a,l){return s(a,{...l,method:"PUT"})},async post(a,l){return s(a,{...l,method:"POST"})},async del(a,l){return s(a,{...l,method:"DELETE"})},async options(a,l){return s(a,{...l,method:"OPTIONS"})},async head(a,l){return s(a,{...l,method:"HEAD"})},async patch(a,l){return s(a,{...l,method:"PATCH"})},async trace(a,l){return s(a,{...l,method:"TRACE"})}}}const Sg=gm(),wg=gm(),S1=gm(),sb=Oue([Sg,wg,S1],(e,t,n)=>Due({headers:{...e?{Authorization:`Bearer ${e}`}:{},...n?{"project-id":n}:{}},baseUrl:`${t??""}`})),Mr=Bl("api/sessionCreated",async(e,{rejectWithValue:t})=>{const{graph:n}=e,{post:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{body:n});return o?t({arg:e,status:s.status,error:o}):i}),$ue=e=>Pi(e)&&"status"in e,mm=Bl("api/sessionInvoked",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{put:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{query:{all:!0},path:{session_id:n}}});if(o)return $ue(o)&&o.status===403?t({arg:e,status:s.status,error:o.body.detail}):t({arg:e,status:s.status,error:o})}),mc=Bl("api/sessionCanceled",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{del:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{path:{session_id:n}}});return o?t({arg:e,error:o}):i});Bl("api/listSessions",async(e,{rejectWithValue:t})=>{const{params:n}=e,{get:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{params:n});return o?t({arg:e,error:o}):i});const r$=Co(Mr.rejected,mm.rejected),td=(e,t,n,r,i,o,s)=>{const a=Math.floor(e/2-(n+i/2)*s),l=Math.floor(t/2-(r+o/2)*s);return{x:a,y:l}},nd=(e,t,n,r,i=.95)=>{const o=e*i/n,s=t*i/r;return Math.min(1,Math.min(o,s))},mOe=.999,yOe=.1,vOe=20,zh=.95,_Oe=30,bOe=10,N9=e=>({x:Math.floor(e.x),y:Math.floor(e.y)}),_u=e=>{const{width:t,height:n}=e,r={width:t,height:n},i=512*512,o=t/n;let s=t*n,a=448;for(;s1?(r.width=a,r.height=Ss(a/o,64)):o<1&&(r.height=a,r.width=Ss(a*o,64)),s=r.width*r.height;return r},Fue=e=>({width:Ss(e.width,64),height:Ss(e.height,64)}),SOe=[{label:"Base",value:"base"},{label:"Mask",value:"mask"}],wOe=[{label:"Auto",value:"auto"},{label:"Manual",value:"manual"},{label:"None",value:"none"}],i$=e=>e.kind==="line"&&e.layer==="mask",xOe=e=>e.kind==="line"&&e.layer==="base",L9=e=>e.kind==="image"&&e.layer==="base",COe=e=>e.kind==="fillRect"&&e.layer==="base",TOe=e=>e.kind==="eraseRect"&&e.layer==="base",Bue=e=>e.kind==="line",vd={objects:[],stagingArea:{images:[],selectedImageIndex:-1}},o$={boundingBoxCoordinates:{x:0,y:0},boundingBoxDimensions:{width:512,height:512},boundingBoxPreviewFill:{r:0,g:0,b:0,a:.5},boundingBoxScaleMethod:"auto",brushColor:{r:90,g:90,b:255,a:1},brushSize:50,canvasContainerDimensions:{width:0,height:0},colorPickerColor:{r:90,g:90,b:255,a:1},cursorPosition:null,doesCanvasNeedScaling:!1,futureLayerStates:[],isCanvasInitialized:!1,isDrawing:!1,isMaskEnabled:!0,isMouseOverBoundingBox:!1,isMoveBoundingBoxKeyHeld:!1,isMoveStageKeyHeld:!1,isMovingBoundingBox:!1,isMovingStage:!1,isTransformingBoundingBox:!1,layer:"base",layerState:vd,maskColor:{r:255,g:90,b:90,a:1},maxHistory:128,minimumStageScale:1,pastLayerStates:[],scaledBoundingBoxDimensions:{width:512,height:512},shouldAntialias:!0,shouldAutoSave:!1,shouldCropToBoundingBoxOnSave:!1,shouldDarkenOutsideBoundingBox:!1,shouldLockBoundingBox:!1,shouldPreserveMaskedArea:!1,shouldRestrictStrokesToBox:!0,shouldShowBoundingBox:!0,shouldShowBrush:!0,shouldShowBrushPreview:!1,shouldShowCanvasDebugInfo:!1,shouldShowCheckboardTransparency:!1,shouldShowGrid:!0,shouldShowIntermediates:!0,shouldShowStagingImage:!0,shouldShowStagingOutline:!0,shouldSnapToGrid:!0,stageCoordinates:{x:0,y:0},stageDimensions:{width:0,height:0},stageScale:1,tool:"brush"},s$=yn({name:"canvas",initialState:o$,reducers:{setTool:(e,t)=>{const n=t.payload;e.tool=t.payload,n!=="move"&&(e.isTransformingBoundingBox=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1)},setLayer:(e,t)=>{e.layer=t.payload},toggleTool:e=>{const t=e.tool;t!=="move"&&(e.tool=t==="brush"?"eraser":"brush")},setMaskColor:(e,t)=>{e.maskColor=t.payload},setBrushColor:(e,t)=>{e.brushColor=t.payload},setBrushSize:(e,t)=>{e.brushSize=t.payload},clearMask:e=>{e.pastLayerStates.push(zr(e.layerState)),e.layerState.objects=e.layerState.objects.filter(t=>!i$(t)),e.futureLayerStates=[],e.shouldPreserveMaskedArea=!1},toggleShouldInvertMask:e=>{e.shouldPreserveMaskedArea=!e.shouldPreserveMaskedArea},toggleShouldShowMask:e=>{e.isMaskEnabled=!e.isMaskEnabled},setShouldPreserveMaskedArea:(e,t)=>{e.shouldPreserveMaskedArea=t.payload},setIsMaskEnabled:(e,t)=>{e.isMaskEnabled=t.payload,e.layer=t.payload?"mask":"base"},setShouldShowCheckboardTransparency:(e,t)=>{e.shouldShowCheckboardTransparency=t.payload},setShouldShowBrushPreview:(e,t)=>{e.shouldShowBrushPreview=t.payload},setShouldShowBrush:(e,t)=>{e.shouldShowBrush=t.payload},setCursorPosition:(e,t)=>{e.cursorPosition=t.payload},setInitialCanvasImage:(e,t)=>{const n=t.payload,{width:r,height:i}=n,{stageDimensions:o}=e,s={width:f0(bl(r,64,512),64),height:f0(bl(i,64,512),64)},a={x:Ss(r/2-s.width/2,64),y:Ss(i/2-s.height/2,64)};if(e.boundingBoxScaleMethod==="auto"){const d=_u(s);e.scaledBoundingBoxDimensions=d}e.boundingBoxDimensions=s,e.boundingBoxCoordinates=a,e.pastLayerStates.push(zr(e.layerState)),e.layerState={...vd,objects:[{kind:"image",layer:"base",x:0,y:0,width:r,height:i,imageName:n.image_name}]},e.futureLayerStates=[],e.isCanvasInitialized=!1;const l=nd(o.width,o.height,r,i,zh),u=td(o.width,o.height,0,0,r,i,l);e.stageScale=l,e.stageCoordinates=u,e.doesCanvasNeedScaling=!0},setBoundingBoxDimensions:(e,t)=>{const n=Fue(t.payload);if(e.boundingBoxDimensions=n,e.boundingBoxScaleMethod==="auto"){const r=_u(n);e.scaledBoundingBoxDimensions=r}},flipBoundingBoxAxes:e=>{const[t,n]=[e.boundingBoxDimensions.width,e.boundingBoxDimensions.height];e.boundingBoxDimensions={width:n,height:t}},setBoundingBoxCoordinates:(e,t)=>{e.boundingBoxCoordinates=N9(t.payload)},setStageCoordinates:(e,t)=>{e.stageCoordinates=t.payload},setBoundingBoxPreviewFill:(e,t)=>{e.boundingBoxPreviewFill=t.payload},setDoesCanvasNeedScaling:(e,t)=>{e.doesCanvasNeedScaling=t.payload},setStageScale:(e,t)=>{e.stageScale=t.payload},setShouldDarkenOutsideBoundingBox:(e,t)=>{e.shouldDarkenOutsideBoundingBox=t.payload},setIsDrawing:(e,t)=>{e.isDrawing=t.payload},clearCanvasHistory:e=>{e.pastLayerStates=[],e.futureLayerStates=[]},setShouldLockBoundingBox:(e,t)=>{e.shouldLockBoundingBox=t.payload},toggleShouldLockBoundingBox:e=>{e.shouldLockBoundingBox=!e.shouldLockBoundingBox},setShouldShowBoundingBox:(e,t)=>{e.shouldShowBoundingBox=t.payload},setIsTransformingBoundingBox:(e,t)=>{e.isTransformingBoundingBox=t.payload},setIsMovingBoundingBox:(e,t)=>{e.isMovingBoundingBox=t.payload},setIsMouseOverBoundingBox:(e,t)=>{e.isMouseOverBoundingBox=t.payload},setIsMoveBoundingBoxKeyHeld:(e,t)=>{e.isMoveBoundingBoxKeyHeld=t.payload},setIsMoveStageKeyHeld:(e,t)=>{e.isMoveStageKeyHeld=t.payload},canvasSessionIdChanged:(e,t)=>{e.layerState.stagingArea.sessionId=t.payload},stagingAreaInitialized:(e,t)=>{const{sessionId:n,boundingBox:r}=t.payload;e.layerState.stagingArea={boundingBox:r,sessionId:n,images:[],selectedImageIndex:-1}},addImageToStagingArea:(e,t)=>{const n=t.payload;!n||!e.layerState.stagingArea.boundingBox||(e.pastLayerStates.push(zr(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea.images.push({kind:"image",layer:"base",...e.layerState.stagingArea.boundingBox,imageName:n.image_name}),e.layerState.stagingArea.selectedImageIndex=e.layerState.stagingArea.images.length-1,e.futureLayerStates=[])},discardStagedImages:e=>{e.pastLayerStates.push(zr(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea={...vd.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingOutline=!0},addFillRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,brushColor:r}=e;e.pastLayerStates.push(zr(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"fillRect",layer:"base",...t,...n,color:r}),e.futureLayerStates=[]},addEraseRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n}=e;e.pastLayerStates.push(zr(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"eraseRect",layer:"base",...t,...n}),e.futureLayerStates=[]},addLine:(e,t)=>{const{tool:n,layer:r,brushColor:i,brushSize:o,shouldRestrictStrokesToBox:s}=e;if(n==="move"||n==="colorPicker")return;const a=o/2,l=r==="base"&&n==="brush"?{color:i}:{};e.pastLayerStates.push(zr(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const u={kind:"line",layer:r,tool:n,strokeWidth:a,points:t.payload,...l};s&&(u.clip={...e.boundingBoxCoordinates,...e.boundingBoxDimensions}),e.layerState.objects.push(u),e.futureLayerStates=[]},addPointToCurrentLine:(e,t)=>{const n=e.layerState.objects.findLast(Bue);n&&n.points.push(...t.payload)},undo:e=>{const t=e.pastLayerStates.pop();t&&(e.futureLayerStates.unshift(zr(e.layerState)),e.futureLayerStates.length>e.maxHistory&&e.futureLayerStates.pop(),e.layerState=t)},redo:e=>{const t=e.futureLayerStates.shift();t&&(e.pastLayerStates.push(zr(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState=t)},setShouldShowGrid:(e,t)=>{e.shouldShowGrid=t.payload},setIsMovingStage:(e,t)=>{e.isMovingStage=t.payload},setShouldSnapToGrid:(e,t)=>{e.shouldSnapToGrid=t.payload},setShouldAutoSave:(e,t)=>{e.shouldAutoSave=t.payload},setShouldShowIntermediates:(e,t)=>{e.shouldShowIntermediates=t.payload},resetCanvas:e=>{e.pastLayerStates.push(zr(e.layerState)),e.layerState=vd,e.futureLayerStates=[]},setCanvasContainerDimensions:(e,t)=>{e.canvasContainerDimensions=t.payload},resizeAndScaleCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r=e.layerState.objects.find(L9),i={width:Math.floor(t),height:Math.floor(n)};if(!r){const d=nd(i.width,i.height,512,512,zh),f=td(i.width,i.height,0,0,512,512,d),p={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=f,e.stageDimensions=i,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=p,e.boundingBoxScaleMethod==="auto"){const g=_u(p);e.scaledBoundingBoxDimensions=g}return}const{width:o,height:s}=r,l=nd(t,n,o,s,.95),u=td(i.width,i.height,0,0,o,s,l);e.minimumStageScale=l,e.stageScale=l,e.stageCoordinates=N9(u),e.stageDimensions=i,e.isCanvasInitialized=!0},resizeCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r={width:Math.floor(t),height:Math.floor(n)};if(e.stageDimensions=r,!e.layerState.objects.find(L9)){const i=nd(r.width,r.height,512,512,zh),o=td(r.width,r.height,0,0,512,512,i),s={width:512,height:512};if(e.stageScale=i,e.stageCoordinates=o,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=s,e.boundingBoxScaleMethod==="auto"){const a=_u(s);e.scaledBoundingBoxDimensions=a}}},resetCanvasView:(e,t)=>{const{contentRect:n,shouldScaleTo1:r}=t.payload,{stageDimensions:{width:i,height:o}}=e,{x:s,y:a,width:l,height:u}=n;if(l!==0&&u!==0){const d=r?1:nd(i,o,l,u,zh),f=td(i,o,s,a,l,u,d);e.stageScale=d,e.stageCoordinates=f}else{const d=nd(i,o,512,512,zh),f=td(i,o,0,0,512,512,d),p={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=f,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=p,e.boundingBoxScaleMethod==="auto"){const g=_u(p);e.scaledBoundingBoxDimensions=g}}},nextStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex,n=e.layerState.stagingArea.images.length;e.layerState.stagingArea.selectedImageIndex=Math.min(t+1,n-1)},prevStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex;e.layerState.stagingArea.selectedImageIndex=Math.max(t-1,0)},commitStagingAreaImage:(e,t)=>{if(!e.layerState.stagingArea.images.length)return;const{images:n,selectedImageIndex:r}=e.layerState.stagingArea;e.pastLayerStates.push(zr(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const i=n[r];i&&e.layerState.objects.push({...i}),e.layerState.stagingArea={...vd.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingImage=!0},fitBoundingBoxToStage:e=>{const{boundingBoxDimensions:t,boundingBoxCoordinates:n,stageDimensions:r,stageScale:i}=e,o=r.width/i,s=r.height/i;if(n.x<0||n.x+t.width>o||n.y<0||n.y+t.height>s){const a={width:f0(bl(o,64,512),64),height:f0(bl(s,64,512),64)},l={x:Ss(o/2-a.width/2,64),y:Ss(s/2-a.height/2,64)};if(e.boundingBoxDimensions=a,e.boundingBoxCoordinates=l,e.boundingBoxScaleMethod==="auto"){const u=_u(a);e.scaledBoundingBoxDimensions=u}}},setBoundingBoxScaleMethod:(e,t)=>{if(e.boundingBoxScaleMethod=t.payload,t.payload==="auto"){const n=_u(e.boundingBoxDimensions);e.scaledBoundingBoxDimensions=n}},setScaledBoundingBoxDimensions:(e,t)=>{e.scaledBoundingBoxDimensions=t.payload},setShouldShowStagingImage:(e,t)=>{e.shouldShowStagingImage=t.payload},setShouldShowStagingOutline:(e,t)=>{e.shouldShowStagingOutline=t.payload},setShouldShowCanvasDebugInfo:(e,t)=>{e.shouldShowCanvasDebugInfo=t.payload},setShouldRestrictStrokesToBox:(e,t)=>{e.shouldRestrictStrokesToBox=t.payload},setShouldAntialias:(e,t)=>{e.shouldAntialias=t.payload},setShouldCropToBoundingBoxOnSave:(e,t)=>{e.shouldCropToBoundingBoxOnSave=t.payload},setColorPickerColor:(e,t)=>{e.colorPickerColor=t.payload},commitColorPickerColor:e=>{e.brushColor={...e.colorPickerColor,a:e.brushColor.a},e.tool="brush"},setMergedCanvas:(e,t)=>{e.pastLayerStates.push(zr(e.layerState)),e.futureLayerStates=[],e.layerState.objects=[t.payload]},resetCanvasInteractionState:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMoveBoundingBoxKeyHeld=!1,e.isMoveStageKeyHeld=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1,e.isTransformingBoundingBox=!1},mouseLeftCanvas:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isTransformingBoundingBox=!1}},extraReducers:e=>{e.addCase(mc.pending,t=>{t.layerState.stagingArea.images.length||(t.layerState.stagingArea=vd.stagingArea)}),e.addCase(Cue,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(n$,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(wue,(t,n)=>{const r=n.payload;r&&(t.boundingBoxDimensions.height=Ss(t.boundingBoxDimensions.width/r,64))})}}),{addEraseRect:EOe,addFillRect:AOe,addImageToStagingArea:Uue,addLine:POe,addPointToCurrentLine:ROe,clearCanvasHistory:OOe,clearMask:kOe,commitColorPickerColor:IOe,commitStagingAreaImage:zue,discardStagedImages:MOe,fitBoundingBoxToStage:NOe,mouseLeftCanvas:LOe,nextStagingAreaImage:DOe,prevStagingAreaImage:$Oe,redo:FOe,resetCanvas:wT,resetCanvasInteractionState:BOe,resetCanvasView:UOe,resizeAndScaleCanvas:zOe,resizeCanvas:VOe,setBoundingBoxCoordinates:jOe,setBoundingBoxDimensions:GOe,setBoundingBoxPreviewFill:HOe,setBoundingBoxScaleMethod:WOe,flipBoundingBoxAxes:qOe,setBrushColor:KOe,setBrushSize:XOe,setCanvasContainerDimensions:YOe,setColorPickerColor:QOe,setCursorPosition:ZOe,setDoesCanvasNeedScaling:JOe,setInitialCanvasImage:a$,setIsDrawing:eke,setIsMaskEnabled:tke,setIsMouseOverBoundingBox:nke,setIsMoveBoundingBoxKeyHeld:rke,setIsMoveStageKeyHeld:ike,setIsMovingBoundingBox:oke,setIsMovingStage:ske,setIsTransformingBoundingBox:ake,setLayer:lke,setMaskColor:uke,setMergedCanvas:Vue,setShouldAutoSave:cke,setShouldCropToBoundingBoxOnSave:dke,setShouldDarkenOutsideBoundingBox:fke,setShouldLockBoundingBox:hke,setShouldPreserveMaskedArea:pke,setShouldShowBoundingBox:gke,setShouldShowBrush:mke,setShouldShowBrushPreview:yke,setShouldShowCanvasDebugInfo:vke,setShouldShowCheckboardTransparency:_ke,setShouldShowGrid:bke,setShouldShowIntermediates:Ske,setShouldShowStagingImage:wke,setShouldShowStagingOutline:xke,setShouldSnapToGrid:Cke,setStageCoordinates:Tke,setStageScale:Eke,setTool:Ake,toggleShouldLockBoundingBox:Pke,toggleTool:Rke,undo:Oke,setScaledBoundingBoxDimensions:kke,setShouldRestrictStrokesToBox:Ike,stagingAreaInitialized:jue,canvasSessionIdChanged:Gue,setShouldAntialias:Mke}=s$.actions,Hue=s$.reducer,jr=["general"],Sl=["control","mask","user","other"],Wue=100,Nke=20;var w1={exports:{}};/** - * @license - * Lodash - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */w1.exports;(function(e,t){(function(){var n,r="4.17.21",i=200,o="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",s="Expected a function",a="Invalid `variable` option passed into `_.template`",l="__lodash_hash_undefined__",u=500,d="__lodash_placeholder__",f=1,p=2,g=4,m=1,v=2,x=1,_=2,b=4,y=8,S=16,C=32,T=64,E=128,P=256,k=512,O=30,M="...",G=800,U=16,A=1,N=2,F=3,B=1/0,D=9007199254740991,V=17976931348623157e292,j=0/0,q=4294967295,Z=q-1,ee=q>>>1,ie=[["ary",E],["bind",x],["bindKey",_],["curry",y],["curryRight",S],["flip",k],["partial",C],["partialRight",T],["rearg",P]],se="[object Arguments]",le="[object Array]",W="[object AsyncFunction]",ne="[object Boolean]",fe="[object Date]",pe="[object DOMException]",ve="[object Error]",ye="[object Function]",We="[object GeneratorFunction]",Me="[object Map]",Ee="[object Number]",lt="[object Null]",_e="[object Object]",jt="[object Promise]",Hn="[object Proxy]",Bt="[object RegExp]",it="[object Set]",gt="[object String]",Jt="[object Symbol]",Nr="[object Undefined]",yr="[object WeakMap]",hi="[object WeakSet]",wn="[object ArrayBuffer]",on="[object DataView]",Wn="[object Float32Array]",sn="[object Float64Array]",Gt="[object Int8Array]",vr="[object Int16Array]",Lr="[object Int32Array]",Xr="[object Uint8Array]",Ii="[object Uint8ClampedArray]",En="[object Uint16Array]",Yr="[object Uint32Array]",Vs=/\b__p \+= '';/g,Ji=/\b(__p \+=) '' \+/g,js=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Xt=/&(?:amp|lt|gt|quot|#39);/g,Ot=/[&<>"']/g,qn=RegExp(Xt.source),Dn=RegExp(Ot.source),or=/<%-([\s\S]+?)%>/g,_r=/<%([\s\S]+?)%>/g,br=/<%=([\s\S]+?)%>/g,eo=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Sr=/^\w*$/,Kn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Mi=/[\\^$.*+?()[\]{}|]/g,is=RegExp(Mi.source),to=/^\s+/,za=/\s/,Ao=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,wr=/\{\n\/\* \[wrapped with (.+)\] \*/,Gs=/,? & /,Zf=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Jf=/[()=,{}\[\]\/\s]/,eh=/\\(\\)?/g,th=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Po=/\w*$/,nh=/^[-+]0x[0-9a-f]+$/i,rh=/^0b[01]+$/i,kc=/^\[object .+?Constructor\]$/,ih=/^0o[0-7]+$/i,oh=/^(?:0|[1-9]\d*)$/,sh=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,os=/($^)/,ah=/['\n\r\u2028\u2029\\]/g,Ro="\\ud800-\\udfff",Va="\\u0300-\\u036f",lh="\\ufe20-\\ufe2f",ja="\\u20d0-\\u20ff",uu=Va+lh+ja,Ic="\\u2700-\\u27bf",Ga="a-z\\xdf-\\xf6\\xf8-\\xff",g2="\\xac\\xb1\\xd7\\xf7",Gm="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",m2="\\u2000-\\u206f",y2=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Hm="A-Z\\xc0-\\xd6\\xd8-\\xde",Wm="\\ufe0e\\ufe0f",qm=g2+Gm+m2+y2,uh="['’]",v2="["+Ro+"]",Km="["+qm+"]",Mc="["+uu+"]",Xm="\\d+",Nc="["+Ic+"]",Lc="["+Ga+"]",Ym="[^"+Ro+qm+Xm+Ic+Ga+Hm+"]",ch="\\ud83c[\\udffb-\\udfff]",Qm="(?:"+Mc+"|"+ch+")",Zm="[^"+Ro+"]",dh="(?:\\ud83c[\\udde6-\\uddff]){2}",fh="[\\ud800-\\udbff][\\udc00-\\udfff]",Hs="["+Hm+"]",Jm="\\u200d",ey="(?:"+Lc+"|"+Ym+")",_2="(?:"+Hs+"|"+Ym+")",Dc="(?:"+uh+"(?:d|ll|m|re|s|t|ve))?",ty="(?:"+uh+"(?:D|LL|M|RE|S|T|VE))?",ny=Qm+"?",ry="["+Wm+"]?",$c="(?:"+Jm+"(?:"+[Zm,dh,fh].join("|")+")"+ry+ny+")*",hh="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ph="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Fc=ry+ny+$c,b2="(?:"+[Nc,dh,fh].join("|")+")"+Fc,iy="(?:"+[Zm+Mc+"?",Mc,dh,fh,v2].join("|")+")",gh=RegExp(uh,"g"),oy=RegExp(Mc,"g"),Oo=RegExp(ch+"(?="+ch+")|"+iy+Fc,"g"),cu=RegExp([Hs+"?"+Lc+"+"+Dc+"(?="+[Km,Hs,"$"].join("|")+")",_2+"+"+ty+"(?="+[Km,Hs+ey,"$"].join("|")+")",Hs+"?"+ey+"+"+Dc,Hs+"+"+ty,ph,hh,Xm,b2].join("|"),"g"),S2=RegExp("["+Jm+Ro+uu+Wm+"]"),sy=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,w2=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ay=-1,Ht={};Ht[Wn]=Ht[sn]=Ht[Gt]=Ht[vr]=Ht[Lr]=Ht[Xr]=Ht[Ii]=Ht[En]=Ht[Yr]=!0,Ht[se]=Ht[le]=Ht[wn]=Ht[ne]=Ht[on]=Ht[fe]=Ht[ve]=Ht[ye]=Ht[Me]=Ht[Ee]=Ht[_e]=Ht[Bt]=Ht[it]=Ht[gt]=Ht[yr]=!1;var Ut={};Ut[se]=Ut[le]=Ut[wn]=Ut[on]=Ut[ne]=Ut[fe]=Ut[Wn]=Ut[sn]=Ut[Gt]=Ut[vr]=Ut[Lr]=Ut[Me]=Ut[Ee]=Ut[_e]=Ut[Bt]=Ut[it]=Ut[gt]=Ut[Jt]=Ut[Xr]=Ut[Ii]=Ut[En]=Ut[Yr]=!0,Ut[ve]=Ut[ye]=Ut[yr]=!1;var ly={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},x2={"&":"&","<":"<",">":">",'"':""","'":"'"},H={"&":"&","<":"<",">":">",""":'"',"'":"'"},Y={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},re=parseFloat,we=parseInt,ot=typeof He=="object"&&He&&He.Object===Object&&He,Mt=typeof self=="object"&&self&&self.Object===Object&&self,qe=ot||Mt||Function("return this")(),Je=t&&!t.nodeType&&t,_t=Je&&!0&&e&&!e.nodeType&&e,Qr=_t&&_t.exports===Je,xr=Qr&&ot.process,sr=function(){try{var J=_t&&_t.require&&_t.require("util").types;return J||xr&&xr.binding&&xr.binding("util")}catch{}}(),Bc=sr&&sr.isArrayBuffer,Uc=sr&&sr.isDate,mh=sr&&sr.isMap,S6=sr&&sr.isRegExp,w6=sr&&sr.isSet,x6=sr&&sr.isTypedArray;function Ni(J,ae,oe){switch(oe.length){case 0:return J.call(ae);case 1:return J.call(ae,oe[0]);case 2:return J.call(ae,oe[0],oe[1]);case 3:return J.call(ae,oe[0],oe[1],oe[2])}return J.apply(ae,oe)}function fG(J,ae,oe,Ce){for(var Ve=-1,Ct=J==null?0:J.length;++Ve-1}function C2(J,ae,oe){for(var Ce=-1,Ve=J==null?0:J.length;++Ce-1;);return oe}function k6(J,ae){for(var oe=J.length;oe--&&zc(ae,J[oe],0)>-1;);return oe}function SG(J,ae){for(var oe=J.length,Ce=0;oe--;)J[oe]===ae&&++Ce;return Ce}var wG=P2(ly),xG=P2(x2);function CG(J){return"\\"+Y[J]}function TG(J,ae){return J==null?n:J[ae]}function Vc(J){return S2.test(J)}function EG(J){return sy.test(J)}function AG(J){for(var ae,oe=[];!(ae=J.next()).done;)oe.push(ae.value);return oe}function I2(J){var ae=-1,oe=Array(J.size);return J.forEach(function(Ce,Ve){oe[++ae]=[Ve,Ce]}),oe}function I6(J,ae){return function(oe){return J(ae(oe))}}function qa(J,ae){for(var oe=-1,Ce=J.length,Ve=0,Ct=[];++oe-1}function pH(c,h){var w=this.__data__,R=Ey(w,c);return R<0?(++this.size,w.push([c,h])):w[R][1]=h,this}Ws.prototype.clear=cH,Ws.prototype.delete=dH,Ws.prototype.get=fH,Ws.prototype.has=hH,Ws.prototype.set=pH;function qs(c){var h=-1,w=c==null?0:c.length;for(this.clear();++h=h?c:h)),c}function oo(c,h,w,R,I,z){var K,X=h&f,te=h&p,ce=h&g;if(w&&(K=I?w(c,R,I,z):w(c)),K!==n)return K;if(!hn(c))return c;var de=Ge(c);if(de){if(K=vW(c),!X)return pi(c,K)}else{var he=$r(c),be=he==ye||he==We;if(Ja(c))return pA(c,X);if(he==_e||he==se||be&&!I){if(K=te||be?{}:MA(c),!X)return te?aW(c,OH(K,c)):sW(c,G6(K,c))}else{if(!Ut[he])return I?c:{};K=_W(c,he,X)}}z||(z=new Io);var Oe=z.get(c);if(Oe)return Oe;z.set(c,K),lP(c)?c.forEach(function(Fe){K.add(oo(Fe,h,w,Fe,c,z))}):sP(c)&&c.forEach(function(Fe,st){K.set(st,oo(Fe,h,w,st,c,z))});var $e=ce?te?iw:rw:te?mi:ar,Ze=de?n:$e(c);return no(Ze||c,function(Fe,st){Ze&&(st=Fe,Fe=c[st]),xh(K,st,oo(Fe,h,w,st,c,z))}),K}function kH(c){var h=ar(c);return function(w){return H6(w,c,h)}}function H6(c,h,w){var R=w.length;if(c==null)return!R;for(c=Wt(c);R--;){var I=w[R],z=h[I],K=c[I];if(K===n&&!(I in c)||!z(K))return!1}return!0}function W6(c,h,w){if(typeof c!="function")throw new ro(s);return Oh(function(){c.apply(n,w)},h)}function Ch(c,h,w,R){var I=-1,z=uy,K=!0,X=c.length,te=[],ce=h.length;if(!X)return te;w&&(h=an(h,Li(w))),R?(z=C2,K=!1):h.length>=i&&(z=yh,K=!1,h=new hu(h));e:for(;++II?0:I+w),R=R===n||R>I?I:Ye(R),R<0&&(R+=I),R=w>R?0:cP(R);w0&&w(X)?h>1?Cr(X,h-1,w,R,I):Wa(I,X):R||(I[I.length]=X)}return I}var B2=bA(),X6=bA(!0);function ss(c,h){return c&&B2(c,h,ar)}function U2(c,h){return c&&X6(c,h,ar)}function Py(c,h){return Ha(h,function(w){return Zs(c[w])})}function gu(c,h){h=Qa(h,c);for(var w=0,R=h.length;c!=null&&wh}function NH(c,h){return c!=null&&Nt.call(c,h)}function LH(c,h){return c!=null&&h in Wt(c)}function DH(c,h,w){return c>=Dr(h,w)&&c=120&&de.length>=120)?new hu(K&&de):n}de=c[0];var he=-1,be=X[0];e:for(;++he-1;)X!==c&&_y.call(X,te,1),_y.call(c,te,1);return c}function sA(c,h){for(var w=c?h.length:0,R=w-1;w--;){var I=h[w];if(w==R||I!==z){var z=I;Qs(I)?_y.call(c,I,1):Y2(c,I)}}return c}function q2(c,h){return c+wy(U6()*(h-c+1))}function XH(c,h,w,R){for(var I=-1,z=Yn(Sy((h-c)/(w||1)),0),K=oe(z);z--;)K[R?z:++I]=c,c+=w;return K}function K2(c,h){var w="";if(!c||h<1||h>D)return w;do h%2&&(w+=c),h=wy(h/2),h&&(c+=c);while(h);return w}function et(c,h){return dw(DA(c,h,yi),c+"")}function YH(c){return j6(Jc(c))}function QH(c,h){var w=Jc(c);return By(w,pu(h,0,w.length))}function Ah(c,h,w,R){if(!hn(c))return c;h=Qa(h,c);for(var I=-1,z=h.length,K=z-1,X=c;X!=null&&++II?0:I+h),w=w>I?I:w,w<0&&(w+=I),I=h>w?0:w-h>>>0,h>>>=0;for(var z=oe(I);++R>>1,K=c[z];K!==null&&!$i(K)&&(w?K<=h:K=i){var ce=h?null:dW(c);if(ce)return dy(ce);K=!1,I=yh,te=new hu}else te=h?[]:X;e:for(;++R=R?c:so(c,h,w)}var hA=VG||function(c){return qe.clearTimeout(c)};function pA(c,h){if(h)return c.slice();var w=c.length,R=L6?L6(w):new c.constructor(w);return c.copy(R),R}function ew(c){var h=new c.constructor(c.byteLength);return new yy(h).set(new yy(c)),h}function nW(c,h){var w=h?ew(c.buffer):c.buffer;return new c.constructor(w,c.byteOffset,c.byteLength)}function rW(c){var h=new c.constructor(c.source,Po.exec(c));return h.lastIndex=c.lastIndex,h}function iW(c){return wh?Wt(wh.call(c)):{}}function gA(c,h){var w=h?ew(c.buffer):c.buffer;return new c.constructor(w,c.byteOffset,c.length)}function mA(c,h){if(c!==h){var w=c!==n,R=c===null,I=c===c,z=$i(c),K=h!==n,X=h===null,te=h===h,ce=$i(h);if(!X&&!ce&&!z&&c>h||z&&K&&te&&!X&&!ce||R&&K&&te||!w&&te||!I)return 1;if(!R&&!z&&!ce&&c=X)return te;var ce=w[R];return te*(ce=="desc"?-1:1)}}return c.index-h.index}function yA(c,h,w,R){for(var I=-1,z=c.length,K=w.length,X=-1,te=h.length,ce=Yn(z-K,0),de=oe(te+ce),he=!R;++X1?w[I-1]:n,K=I>2?w[2]:n;for(z=c.length>3&&typeof z=="function"?(I--,z):n,K&&Jr(w[0],w[1],K)&&(z=I<3?n:z,I=1),h=Wt(h);++R-1?I[z?h[K]:K]:n}}function xA(c){return Ys(function(h){var w=h.length,R=w,I=io.prototype.thru;for(c&&h.reverse();R--;){var z=h[R];if(typeof z!="function")throw new ro(s);if(I&&!K&&$y(z)=="wrapper")var K=new io([],!0)}for(R=K?R:w;++R1&&ht.reverse(),de&&teX))return!1;var ce=z.get(c),de=z.get(h);if(ce&&de)return ce==h&&de==c;var he=-1,be=!0,Oe=w&v?new hu:n;for(z.set(c,h),z.set(h,c);++he1?"& ":"")+h[R],h=h.join(w>2?", ":" "),c.replace(Ao,`{ -/* [wrapped with `+h+`] */ -`)}function SW(c){return Ge(c)||vu(c)||!!(F6&&c&&c[F6])}function Qs(c,h){var w=typeof c;return h=h??D,!!h&&(w=="number"||w!="symbol"&&oh.test(c))&&c>-1&&c%1==0&&c0){if(++h>=G)return arguments[0]}else h=0;return c.apply(n,arguments)}}function By(c,h){var w=-1,R=c.length,I=R-1;for(h=h===n?R:h;++w1?c[h-1]:n;return w=typeof w=="function"?(c.pop(),w):n,KA(c,w)});function XA(c){var h=$(c);return h.__chain__=!0,h}function Iq(c,h){return h(c),c}function Uy(c,h){return h(c)}var Mq=Ys(function(c){var h=c.length,w=h?c[0]:0,R=this.__wrapped__,I=function(z){return F2(z,c)};return h>1||this.__actions__.length||!(R instanceof ut)||!Qs(w)?this.thru(I):(R=R.slice(w,+w+(h?1:0)),R.__actions__.push({func:Uy,args:[I],thisArg:n}),new io(R,this.__chain__).thru(function(z){return h&&!z.length&&z.push(n),z}))});function Nq(){return XA(this)}function Lq(){return new io(this.value(),this.__chain__)}function Dq(){this.__values__===n&&(this.__values__=uP(this.value()));var c=this.__index__>=this.__values__.length,h=c?n:this.__values__[this.__index__++];return{done:c,value:h}}function $q(){return this}function Fq(c){for(var h,w=this;w instanceof Ty;){var R=VA(w);R.__index__=0,R.__values__=n,h?I.__wrapped__=R:h=R;var I=R;w=w.__wrapped__}return I.__wrapped__=c,h}function Bq(){var c=this.__wrapped__;if(c instanceof ut){var h=c;return this.__actions__.length&&(h=new ut(this)),h=h.reverse(),h.__actions__.push({func:Uy,args:[fw],thisArg:n}),new io(h,this.__chain__)}return this.thru(fw)}function Uq(){return dA(this.__wrapped__,this.__actions__)}var zq=Iy(function(c,h,w){Nt.call(c,w)?++c[w]:Ks(c,w,1)});function Vq(c,h,w){var R=Ge(c)?C6:IH;return w&&Jr(c,h,w)&&(h=n),R(c,De(h,3))}function jq(c,h){var w=Ge(c)?Ha:K6;return w(c,De(h,3))}var Gq=wA(jA),Hq=wA(GA);function Wq(c,h){return Cr(zy(c,h),1)}function qq(c,h){return Cr(zy(c,h),B)}function Kq(c,h,w){return w=w===n?1:Ye(w),Cr(zy(c,h),w)}function YA(c,h){var w=Ge(c)?no:Xa;return w(c,De(h,3))}function QA(c,h){var w=Ge(c)?hG:q6;return w(c,De(h,3))}var Xq=Iy(function(c,h,w){Nt.call(c,w)?c[w].push(h):Ks(c,w,[h])});function Yq(c,h,w,R){c=gi(c)?c:Jc(c),w=w&&!R?Ye(w):0;var I=c.length;return w<0&&(w=Yn(I+w,0)),Wy(c)?w<=I&&c.indexOf(h,w)>-1:!!I&&zc(c,h,w)>-1}var Qq=et(function(c,h,w){var R=-1,I=typeof h=="function",z=gi(c)?oe(c.length):[];return Xa(c,function(K){z[++R]=I?Ni(h,K,w):Th(K,h,w)}),z}),Zq=Iy(function(c,h,w){Ks(c,w,h)});function zy(c,h){var w=Ge(c)?an:eA;return w(c,De(h,3))}function Jq(c,h,w,R){return c==null?[]:(Ge(h)||(h=h==null?[]:[h]),w=R?n:w,Ge(w)||(w=w==null?[]:[w]),iA(c,h,w))}var eK=Iy(function(c,h,w){c[w?0:1].push(h)},function(){return[[],[]]});function tK(c,h,w){var R=Ge(c)?T2:P6,I=arguments.length<3;return R(c,De(h,4),w,I,Xa)}function nK(c,h,w){var R=Ge(c)?pG:P6,I=arguments.length<3;return R(c,De(h,4),w,I,q6)}function rK(c,h){var w=Ge(c)?Ha:K6;return w(c,Gy(De(h,3)))}function iK(c){var h=Ge(c)?j6:YH;return h(c)}function oK(c,h,w){(w?Jr(c,h,w):h===n)?h=1:h=Ye(h);var R=Ge(c)?AH:QH;return R(c,h)}function sK(c){var h=Ge(c)?PH:JH;return h(c)}function aK(c){if(c==null)return 0;if(gi(c))return Wy(c)?jc(c):c.length;var h=$r(c);return h==Me||h==it?c.size:G2(c).length}function lK(c,h,w){var R=Ge(c)?E2:eW;return w&&Jr(c,h,w)&&(h=n),R(c,De(h,3))}var uK=et(function(c,h){if(c==null)return[];var w=h.length;return w>1&&Jr(c,h[0],h[1])?h=[]:w>2&&Jr(h[0],h[1],h[2])&&(h=[h[0]]),iA(c,Cr(h,1),[])}),Vy=jG||function(){return qe.Date.now()};function cK(c,h){if(typeof h!="function")throw new ro(s);return c=Ye(c),function(){if(--c<1)return h.apply(this,arguments)}}function ZA(c,h,w){return h=w?n:h,h=c&&h==null?c.length:h,Xs(c,E,n,n,n,n,h)}function JA(c,h){var w;if(typeof h!="function")throw new ro(s);return c=Ye(c),function(){return--c>0&&(w=h.apply(this,arguments)),c<=1&&(h=n),w}}var pw=et(function(c,h,w){var R=x;if(w.length){var I=qa(w,Qc(pw));R|=C}return Xs(c,R,h,w,I)}),eP=et(function(c,h,w){var R=x|_;if(w.length){var I=qa(w,Qc(eP));R|=C}return Xs(h,R,c,w,I)});function tP(c,h,w){h=w?n:h;var R=Xs(c,y,n,n,n,n,n,h);return R.placeholder=tP.placeholder,R}function nP(c,h,w){h=w?n:h;var R=Xs(c,S,n,n,n,n,n,h);return R.placeholder=nP.placeholder,R}function rP(c,h,w){var R,I,z,K,X,te,ce=0,de=!1,he=!1,be=!0;if(typeof c!="function")throw new ro(s);h=lo(h)||0,hn(w)&&(de=!!w.leading,he="maxWait"in w,z=he?Yn(lo(w.maxWait)||0,h):z,be="trailing"in w?!!w.trailing:be);function Oe(Pn){var No=R,ea=I;return R=I=n,ce=Pn,K=c.apply(ea,No),K}function $e(Pn){return ce=Pn,X=Oh(st,h),de?Oe(Pn):K}function Ze(Pn){var No=Pn-te,ea=Pn-ce,wP=h-No;return he?Dr(wP,z-ea):wP}function Fe(Pn){var No=Pn-te,ea=Pn-ce;return te===n||No>=h||No<0||he&&ea>=z}function st(){var Pn=Vy();if(Fe(Pn))return ht(Pn);X=Oh(st,Ze(Pn))}function ht(Pn){return X=n,be&&R?Oe(Pn):(R=I=n,K)}function Fi(){X!==n&&hA(X),ce=0,R=te=I=X=n}function ei(){return X===n?K:ht(Vy())}function Bi(){var Pn=Vy(),No=Fe(Pn);if(R=arguments,I=this,te=Pn,No){if(X===n)return $e(te);if(he)return hA(X),X=Oh(st,h),Oe(te)}return X===n&&(X=Oh(st,h)),K}return Bi.cancel=Fi,Bi.flush=ei,Bi}var dK=et(function(c,h){return W6(c,1,h)}),fK=et(function(c,h,w){return W6(c,lo(h)||0,w)});function hK(c){return Xs(c,k)}function jy(c,h){if(typeof c!="function"||h!=null&&typeof h!="function")throw new ro(s);var w=function(){var R=arguments,I=h?h.apply(this,R):R[0],z=w.cache;if(z.has(I))return z.get(I);var K=c.apply(this,R);return w.cache=z.set(I,K)||z,K};return w.cache=new(jy.Cache||qs),w}jy.Cache=qs;function Gy(c){if(typeof c!="function")throw new ro(s);return function(){var h=arguments;switch(h.length){case 0:return!c.call(this);case 1:return!c.call(this,h[0]);case 2:return!c.call(this,h[0],h[1]);case 3:return!c.call(this,h[0],h[1],h[2])}return!c.apply(this,h)}}function pK(c){return JA(2,c)}var gK=tW(function(c,h){h=h.length==1&&Ge(h[0])?an(h[0],Li(De())):an(Cr(h,1),Li(De()));var w=h.length;return et(function(R){for(var I=-1,z=Dr(R.length,w);++I=h}),vu=Q6(function(){return arguments}())?Q6:function(c){return xn(c)&&Nt.call(c,"callee")&&!$6.call(c,"callee")},Ge=oe.isArray,OK=Bc?Li(Bc):FH;function gi(c){return c!=null&&Hy(c.length)&&!Zs(c)}function An(c){return xn(c)&&gi(c)}function kK(c){return c===!0||c===!1||xn(c)&&Zr(c)==ne}var Ja=HG||Ew,IK=Uc?Li(Uc):BH;function MK(c){return xn(c)&&c.nodeType===1&&!kh(c)}function NK(c){if(c==null)return!0;if(gi(c)&&(Ge(c)||typeof c=="string"||typeof c.splice=="function"||Ja(c)||Zc(c)||vu(c)))return!c.length;var h=$r(c);if(h==Me||h==it)return!c.size;if(Rh(c))return!G2(c).length;for(var w in c)if(Nt.call(c,w))return!1;return!0}function LK(c,h){return Eh(c,h)}function DK(c,h,w){w=typeof w=="function"?w:n;var R=w?w(c,h):n;return R===n?Eh(c,h,n,w):!!R}function mw(c){if(!xn(c))return!1;var h=Zr(c);return h==ve||h==pe||typeof c.message=="string"&&typeof c.name=="string"&&!kh(c)}function $K(c){return typeof c=="number"&&B6(c)}function Zs(c){if(!hn(c))return!1;var h=Zr(c);return h==ye||h==We||h==W||h==Hn}function oP(c){return typeof c=="number"&&c==Ye(c)}function Hy(c){return typeof c=="number"&&c>-1&&c%1==0&&c<=D}function hn(c){var h=typeof c;return c!=null&&(h=="object"||h=="function")}function xn(c){return c!=null&&typeof c=="object"}var sP=mh?Li(mh):zH;function FK(c,h){return c===h||j2(c,h,sw(h))}function BK(c,h,w){return w=typeof w=="function"?w:n,j2(c,h,sw(h),w)}function UK(c){return aP(c)&&c!=+c}function zK(c){if(CW(c))throw new Ve(o);return Z6(c)}function VK(c){return c===null}function jK(c){return c==null}function aP(c){return typeof c=="number"||xn(c)&&Zr(c)==Ee}function kh(c){if(!xn(c)||Zr(c)!=_e)return!1;var h=vy(c);if(h===null)return!0;var w=Nt.call(h,"constructor")&&h.constructor;return typeof w=="function"&&w instanceof w&&py.call(w)==BG}var yw=S6?Li(S6):VH;function GK(c){return oP(c)&&c>=-D&&c<=D}var lP=w6?Li(w6):jH;function Wy(c){return typeof c=="string"||!Ge(c)&&xn(c)&&Zr(c)==gt}function $i(c){return typeof c=="symbol"||xn(c)&&Zr(c)==Jt}var Zc=x6?Li(x6):GH;function HK(c){return c===n}function WK(c){return xn(c)&&$r(c)==yr}function qK(c){return xn(c)&&Zr(c)==hi}var KK=Dy(H2),XK=Dy(function(c,h){return c<=h});function uP(c){if(!c)return[];if(gi(c))return Wy(c)?ko(c):pi(c);if(vh&&c[vh])return AG(c[vh]());var h=$r(c),w=h==Me?I2:h==it?dy:Jc;return w(c)}function Js(c){if(!c)return c===0?c:0;if(c=lo(c),c===B||c===-B){var h=c<0?-1:1;return h*V}return c===c?c:0}function Ye(c){var h=Js(c),w=h%1;return h===h?w?h-w:h:0}function cP(c){return c?pu(Ye(c),0,q):0}function lo(c){if(typeof c=="number")return c;if($i(c))return j;if(hn(c)){var h=typeof c.valueOf=="function"?c.valueOf():c;c=hn(h)?h+"":h}if(typeof c!="string")return c===0?c:+c;c=R6(c);var w=rh.test(c);return w||ih.test(c)?we(c.slice(2),w?2:8):nh.test(c)?j:+c}function dP(c){return as(c,mi(c))}function YK(c){return c?pu(Ye(c),-D,D):c===0?c:0}function kt(c){return c==null?"":Di(c)}var QK=Xc(function(c,h){if(Rh(h)||gi(h)){as(h,ar(h),c);return}for(var w in h)Nt.call(h,w)&&xh(c,w,h[w])}),fP=Xc(function(c,h){as(h,mi(h),c)}),qy=Xc(function(c,h,w,R){as(h,mi(h),c,R)}),ZK=Xc(function(c,h,w,R){as(h,ar(h),c,R)}),JK=Ys(F2);function eX(c,h){var w=Kc(c);return h==null?w:G6(w,h)}var tX=et(function(c,h){c=Wt(c);var w=-1,R=h.length,I=R>2?h[2]:n;for(I&&Jr(h[0],h[1],I)&&(R=1);++w1),z}),as(c,iw(c),w),R&&(w=oo(w,f|p|g,fW));for(var I=h.length;I--;)Y2(w,h[I]);return w});function _X(c,h){return pP(c,Gy(De(h)))}var bX=Ys(function(c,h){return c==null?{}:qH(c,h)});function pP(c,h){if(c==null)return{};var w=an(iw(c),function(R){return[R]});return h=De(h),oA(c,w,function(R,I){return h(R,I[0])})}function SX(c,h,w){h=Qa(h,c);var R=-1,I=h.length;for(I||(I=1,c=n);++Rh){var R=c;c=h,h=R}if(w||c%1||h%1){var I=U6();return Dr(c+I*(h-c+re("1e-"+((I+"").length-1))),h)}return q2(c,h)}var IX=Yc(function(c,h,w){return h=h.toLowerCase(),c+(w?yP(h):h)});function yP(c){return bw(kt(c).toLowerCase())}function vP(c){return c=kt(c),c&&c.replace(sh,wG).replace(oy,"")}function MX(c,h,w){c=kt(c),h=Di(h);var R=c.length;w=w===n?R:pu(Ye(w),0,R);var I=w;return w-=h.length,w>=0&&c.slice(w,I)==h}function NX(c){return c=kt(c),c&&Dn.test(c)?c.replace(Ot,xG):c}function LX(c){return c=kt(c),c&&is.test(c)?c.replace(Mi,"\\$&"):c}var DX=Yc(function(c,h,w){return c+(w?"-":"")+h.toLowerCase()}),$X=Yc(function(c,h,w){return c+(w?" ":"")+h.toLowerCase()}),FX=SA("toLowerCase");function BX(c,h,w){c=kt(c),h=Ye(h);var R=h?jc(c):0;if(!h||R>=h)return c;var I=(h-R)/2;return Ly(wy(I),w)+c+Ly(Sy(I),w)}function UX(c,h,w){c=kt(c),h=Ye(h);var R=h?jc(c):0;return h&&R>>0,w?(c=kt(c),c&&(typeof h=="string"||h!=null&&!yw(h))&&(h=Di(h),!h&&Vc(c))?Za(ko(c),0,w):c.split(h,w)):[]}var qX=Yc(function(c,h,w){return c+(w?" ":"")+bw(h)});function KX(c,h,w){return c=kt(c),w=w==null?0:pu(Ye(w),0,c.length),h=Di(h),c.slice(w,w+h.length)==h}function XX(c,h,w){var R=$.templateSettings;w&&Jr(c,h,w)&&(h=n),c=kt(c),h=qy({},h,R,PA);var I=qy({},h.imports,R.imports,PA),z=ar(I),K=k2(I,z),X,te,ce=0,de=h.interpolate||os,he="__p += '",be=M2((h.escape||os).source+"|"+de.source+"|"+(de===br?th:os).source+"|"+(h.evaluate||os).source+"|$","g"),Oe="//# sourceURL="+(Nt.call(h,"sourceURL")?(h.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++ay+"]")+` -`;c.replace(be,function(Fe,st,ht,Fi,ei,Bi){return ht||(ht=Fi),he+=c.slice(ce,Bi).replace(ah,CG),st&&(X=!0,he+=`' + -__e(`+st+`) + -'`),ei&&(te=!0,he+=`'; -`+ei+`; -__p += '`),ht&&(he+=`' + -((__t = (`+ht+`)) == null ? '' : __t) + -'`),ce=Bi+Fe.length,Fe}),he+=`'; -`;var $e=Nt.call(h,"variable")&&h.variable;if(!$e)he=`with (obj) { -`+he+` -} -`;else if(Jf.test($e))throw new Ve(a);he=(te?he.replace(Vs,""):he).replace(Ji,"$1").replace(js,"$1;"),he="function("+($e||"obj")+`) { -`+($e?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(X?", __e = _.escape":"")+(te?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+he+`return __p -}`;var Ze=bP(function(){return Ct(z,Oe+"return "+he).apply(n,K)});if(Ze.source=he,mw(Ze))throw Ze;return Ze}function YX(c){return kt(c).toLowerCase()}function QX(c){return kt(c).toUpperCase()}function ZX(c,h,w){if(c=kt(c),c&&(w||h===n))return R6(c);if(!c||!(h=Di(h)))return c;var R=ko(c),I=ko(h),z=O6(R,I),K=k6(R,I)+1;return Za(R,z,K).join("")}function JX(c,h,w){if(c=kt(c),c&&(w||h===n))return c.slice(0,M6(c)+1);if(!c||!(h=Di(h)))return c;var R=ko(c),I=k6(R,ko(h))+1;return Za(R,0,I).join("")}function eY(c,h,w){if(c=kt(c),c&&(w||h===n))return c.replace(to,"");if(!c||!(h=Di(h)))return c;var R=ko(c),I=O6(R,ko(h));return Za(R,I).join("")}function tY(c,h){var w=O,R=M;if(hn(h)){var I="separator"in h?h.separator:I;w="length"in h?Ye(h.length):w,R="omission"in h?Di(h.omission):R}c=kt(c);var z=c.length;if(Vc(c)){var K=ko(c);z=K.length}if(w>=z)return c;var X=w-jc(R);if(X<1)return R;var te=K?Za(K,0,X).join(""):c.slice(0,X);if(I===n)return te+R;if(K&&(X+=te.length-X),yw(I)){if(c.slice(X).search(I)){var ce,de=te;for(I.global||(I=M2(I.source,kt(Po.exec(I))+"g")),I.lastIndex=0;ce=I.exec(de);)var he=ce.index;te=te.slice(0,he===n?X:he)}}else if(c.indexOf(Di(I),X)!=X){var be=te.lastIndexOf(I);be>-1&&(te=te.slice(0,be))}return te+R}function nY(c){return c=kt(c),c&&qn.test(c)?c.replace(Xt,kG):c}var rY=Yc(function(c,h,w){return c+(w?" ":"")+h.toUpperCase()}),bw=SA("toUpperCase");function _P(c,h,w){return c=kt(c),h=w?n:h,h===n?EG(c)?NG(c):yG(c):c.match(h)||[]}var bP=et(function(c,h){try{return Ni(c,n,h)}catch(w){return mw(w)?w:new Ve(w)}}),iY=Ys(function(c,h){return no(h,function(w){w=ls(w),Ks(c,w,pw(c[w],c))}),c});function oY(c){var h=c==null?0:c.length,w=De();return c=h?an(c,function(R){if(typeof R[1]!="function")throw new ro(s);return[w(R[0]),R[1]]}):[],et(function(R){for(var I=-1;++ID)return[];var w=q,R=Dr(c,q);h=De(h),c-=q;for(var I=O2(R,h);++w0||h<0)?new ut(w):(c<0?w=w.takeRight(-c):c&&(w=w.drop(c)),h!==n&&(h=Ye(h),w=h<0?w.dropRight(-h):w.take(h-c)),w)},ut.prototype.takeRightWhile=function(c){return this.reverse().takeWhile(c).reverse()},ut.prototype.toArray=function(){return this.take(q)},ss(ut.prototype,function(c,h){var w=/^(?:filter|find|map|reject)|While$/.test(h),R=/^(?:head|last)$/.test(h),I=$[R?"take"+(h=="last"?"Right":""):h],z=R||/^find/.test(h);I&&($.prototype[h]=function(){var K=this.__wrapped__,X=R?[1]:arguments,te=K instanceof ut,ce=X[0],de=te||Ge(K),he=function(st){var ht=I.apply($,Wa([st],X));return R&&be?ht[0]:ht};de&&w&&typeof ce=="function"&&ce.length!=1&&(te=de=!1);var be=this.__chain__,Oe=!!this.__actions__.length,$e=z&&!be,Ze=te&&!Oe;if(!z&&de){K=Ze?K:new ut(this);var Fe=c.apply(K,X);return Fe.__actions__.push({func:Uy,args:[he],thisArg:n}),new io(Fe,be)}return $e&&Ze?c.apply(this,X):(Fe=this.thru(he),$e?R?Fe.value()[0]:Fe.value():Fe)})}),no(["pop","push","shift","sort","splice","unshift"],function(c){var h=fy[c],w=/^(?:push|sort|unshift)$/.test(c)?"tap":"thru",R=/^(?:pop|shift)$/.test(c);$.prototype[c]=function(){var I=arguments;if(R&&!this.__chain__){var z=this.value();return h.apply(Ge(z)?z:[],I)}return this[w](function(K){return h.apply(Ge(K)?K:[],I)})}}),ss(ut.prototype,function(c,h){var w=$[h];if(w){var R=w.name+"";Nt.call(qc,R)||(qc[R]=[]),qc[R].push({name:h,func:w})}}),qc[My(n,_).name]=[{name:"wrapper",func:n}],ut.prototype.clone=nH,ut.prototype.reverse=rH,ut.prototype.value=iH,$.prototype.at=Mq,$.prototype.chain=Nq,$.prototype.commit=Lq,$.prototype.next=Dq,$.prototype.plant=Fq,$.prototype.reverse=Bq,$.prototype.toJSON=$.prototype.valueOf=$.prototype.value=Uq,$.prototype.first=$.prototype.head,vh&&($.prototype[vh]=$q),$},Gc=LG();_t?((_t.exports=Gc)._=Gc,Je._=Gc):qe._=Gc}).call(He)})(w1,w1.exports);var que=w1.exports,x1=globalThis&&globalThis.__generator||function(e,t){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(u){return function(d){return l([u,d])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(o=u[0]&2?i.return:u[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,u[1])).done)return o;switch(i=0,o&&(u=[u[0]&2,o.value]),u[0]){case 0:case 1:o=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,i=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]"u"||navigator.onLine===void 0?!0:navigator.onLine}function rce(){return typeof document>"u"?!0:document.visibilityState!=="hidden"}var B9=Zo;function c$(e,t){if(e===t||!(B9(e)&&B9(t)||Array.isArray(e)&&Array.isArray(t)))return t;for(var n=Object.keys(t),r=Object.keys(e),i=n.length===r.length,o=Array.isArray(t)?[]:{},s=0,a=n;s=200&&e.status<=299},oce=function(e){return/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"")};function z9(e){if(!Zo(e))return e;for(var t=kn({},e),n=0,r=Object.entries(t);n"u"&&a===U9&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(y,S){return E1(t,null,function(){var C,T,E,P,k,O,M,G,U,A,N,F,B,D,V,j,q,Z,ee,ie,se,le,W,ne,fe,pe,ve,ye,We,Me,Ee,lt,_e,jt,Hn,Bt;return x1(this,function(it){switch(it.label){case 0:return C=S.signal,T=S.getState,E=S.extra,P=S.endpoint,k=S.forced,O=S.type,G=typeof y=="string"?{url:y}:y,U=G.url,A=G.headers,N=A===void 0?new Headers(_.headers):A,F=G.params,B=F===void 0?void 0:F,D=G.responseHandler,V=D===void 0?v??"json":D,j=G.validateStatus,q=j===void 0?x??ice:j,Z=G.timeout,ee=Z===void 0?m:Z,ie=$9(G,["url","headers","params","responseHandler","validateStatus","timeout"]),se=kn(xs(kn({},_),{signal:C}),ie),N=new Headers(z9(N)),le=se,[4,o(N,{getState:T,extra:E,endpoint:P,forced:k,type:O})];case 1:le.headers=it.sent()||N,W=function(gt){return typeof gt=="object"&&(Zo(gt)||Array.isArray(gt)||typeof gt.toJSON=="function")},!se.headers.has("content-type")&&W(se.body)&&se.headers.set("content-type",p),W(se.body)&&d(se.headers)&&(se.body=JSON.stringify(se.body,g)),B&&(ne=~U.indexOf("?")?"&":"?",fe=l?l(B):new URLSearchParams(z9(B)),U+=ne+fe),U=tce(r,U),pe=new Request(U,se),ve=pe.clone(),M={request:ve},We=!1,Me=ee&&setTimeout(function(){We=!0,S.abort()},ee),it.label=2;case 2:return it.trys.push([2,4,5,6]),[4,a(pe)];case 3:return ye=it.sent(),[3,6];case 4:return Ee=it.sent(),[2,{error:{status:We?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(Ee)},meta:M}];case 5:return Me&&clearTimeout(Me),[7];case 6:lt=ye.clone(),M.response=lt,jt="",it.label=7;case 7:return it.trys.push([7,9,,10]),[4,Promise.all([b(ye,V).then(function(gt){return _e=gt},function(gt){return Hn=gt}),lt.text().then(function(gt){return jt=gt},function(){})])];case 8:if(it.sent(),Hn)throw Hn;return[3,10];case 9:return Bt=it.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:ye.status,data:jt,error:String(Bt)},meta:M}];case 10:return[2,q(ye,_e)?{data:_e,meta:M}:{error:{status:ye.status,data:_e},meta:M}]}})})};function b(y,S){return E1(this,null,function(){var C;return x1(this,function(T){switch(T.label){case 0:return typeof S=="function"?[2,S(y)]:(S==="content-type"&&(S=d(y.headers)?"json":"text"),S!=="json"?[3,2]:[4,y.text()]);case 1:return C=T.sent(),[2,C.length?JSON.parse(C):null];case 2:return[2,y.text()]}})})}}var V9=function(){function e(t,n){n===void 0&&(n=void 0),this.value=t,this.meta=n}return e}(),xT=Re("__rtkq/focused"),d$=Re("__rtkq/unfocused"),CT=Re("__rtkq/online"),f$=Re("__rtkq/offline"),Ls;(function(e){e.query="query",e.mutation="mutation"})(Ls||(Ls={}));function h$(e){return e.type===Ls.query}function ace(e){return e.type===Ls.mutation}function p$(e,t,n,r,i,o){return lce(e)?e(t,n,r,i).map(R3).map(o):Array.isArray(e)?e.map(R3).map(o):[]}function lce(e){return typeof e=="function"}function R3(e){return typeof e=="string"?{type:e}:e}function cx(e){return e!=null}var xg=Symbol("forceQueryFn"),O3=function(e){return typeof e[xg]=="function"};function uce(e){var t=e.serializeQueryArgs,n=e.queryThunk,r=e.mutationThunk,i=e.api,o=e.context,s=new Map,a=new Map,l=i.internalActions,u=l.unsubscribeQueryResult,d=l.removeMutationResult,f=l.updateSubscriptionOptions;return{buildInitiateQuery:b,buildInitiateMutation:y,getRunningQueryThunk:m,getRunningMutationThunk:v,getRunningQueriesThunk:x,getRunningMutationsThunk:_,getRunningOperationPromises:g,removalWarning:p};function p(){throw new Error(`This method had to be removed due to a conceptual bug in RTK. - Please see https://github.com/reduxjs/redux-toolkit/pull/2481 for details. - See https://redux-toolkit.js.org/rtk-query/usage/server-side-rendering for new guidance on SSR.`)}function g(){typeof process<"u";var S=function(C){return Array.from(C.values()).flatMap(function(T){return T?Object.values(T):[]})};return C1(C1([],S(s)),S(a)).filter(cx)}function m(S,C){return function(T){var E,P=o.endpointDefinitions[S],k=t({queryArgs:C,endpointDefinition:P,endpointName:S});return(E=s.get(T))==null?void 0:E[k]}}function v(S,C){return function(T){var E;return(E=a.get(T))==null?void 0:E[C]}}function x(){return function(S){return Object.values(s.get(S)||{}).filter(cx)}}function _(){return function(S){return Object.values(a.get(S)||{}).filter(cx)}}function b(S,C){var T=function(E,P){var k=P===void 0?{}:P,O=k.subscribe,M=O===void 0?!0:O,G=k.forceRefetch,U=k.subscriptionOptions,A=xg,N=k[A];return function(F,B){var D,V,j=t({queryArgs:E,endpointDefinition:C,endpointName:S}),q=n((D={type:"query",subscribe:M,forceRefetch:G,subscriptionOptions:U,endpointName:S,originalArgs:E,queryCacheKey:j},D[xg]=N,D)),Z=i.endpoints[S].select(E),ee=F(q),ie=Z(B()),se=ee.requestId,le=ee.abort,W=ie.requestId!==se,ne=(V=s.get(F))==null?void 0:V[j],fe=function(){return Z(B())},pe=Object.assign(N?ee.then(fe):W&&!ne?Promise.resolve(ie):Promise.all([ne,ee]).then(fe),{arg:E,requestId:se,subscriptionOptions:U,queryCacheKey:j,abort:le,unwrap:function(){return E1(this,null,function(){var ye;return x1(this,function(We){switch(We.label){case 0:return[4,pe];case 1:if(ye=We.sent(),ye.isError)throw ye.error;return[2,ye.data]}})})},refetch:function(){return F(T(E,{subscribe:!1,forceRefetch:!0}))},unsubscribe:function(){M&&F(u({queryCacheKey:j,requestId:se}))},updateSubscriptionOptions:function(ye){pe.subscriptionOptions=ye,F(f({endpointName:S,requestId:se,queryCacheKey:j,options:ye}))}});if(!ne&&!W&&!N){var ve=s.get(F)||{};ve[j]=pe,s.set(F,ve),pe.then(function(){delete ve[j],Object.keys(ve).length||s.delete(F)})}return pe}};return T}function y(S){return function(C,T){var E=T===void 0?{}:T,P=E.track,k=P===void 0?!0:P,O=E.fixedCacheKey;return function(M,G){var U=r({type:"mutation",endpointName:S,originalArgs:C,track:k,fixedCacheKey:O}),A=M(U),N=A.requestId,F=A.abort,B=A.unwrap,D=A.unwrap().then(function(Z){return{data:Z}}).catch(function(Z){return{error:Z}}),V=function(){M(d({requestId:N,fixedCacheKey:O}))},j=Object.assign(D,{arg:A.arg,requestId:N,abort:F,unwrap:B,unsubscribe:V,reset:V}),q=a.get(M)||{};return a.set(M,q),q[N]=j,j.then(function(){delete q[N],Object.keys(q).length||a.delete(M)}),O&&(q[O]=j,j.then(function(){q[O]===j&&(delete q[O],Object.keys(q).length||a.delete(M))})),j}}}}function j9(e){return e}function cce(e){var t=this,n=e.reducerPath,r=e.baseQuery,i=e.context.endpointDefinitions,o=e.serializeQueryArgs,s=e.api,a=function(y,S,C){return function(T){var E=i[y];T(s.internalActions.queryResultPatched({queryCacheKey:o({queryArgs:S,endpointDefinition:E,endpointName:y}),patches:C}))}},l=function(y,S,C){return function(T,E){var P,k,O=s.endpoints[y].select(S)(E()),M={patches:[],inversePatches:[],undo:function(){return T(s.util.patchQueryData(y,S,M.inversePatches))}};if(O.status===ln.uninitialized)return M;if("data"in O)if(Ai(O.data)){var G=Z4(O.data,C),U=G[1],A=G[2];(P=M.patches).push.apply(P,U),(k=M.inversePatches).push.apply(k,A)}else{var N=C(O.data);M.patches.push({op:"replace",path:[],value:N}),M.inversePatches.push({op:"replace",path:[],value:O.data})}return T(s.util.patchQueryData(y,S,M.patches)),M}},u=function(y,S,C){return function(T){var E;return T(s.endpoints[y].initiate(S,(E={subscribe:!1,forceRefetch:!0},E[xg]=function(){return{data:C}},E)))}},d=function(y,S){return E1(t,[y,S],function(C,T){var E,P,k,O,M,G,U,A,N,F,B,D,V,j,q,Z,ee,ie,se=T.signal,le=T.abort,W=T.rejectWithValue,ne=T.fulfillWithValue,fe=T.dispatch,pe=T.getState,ve=T.extra;return x1(this,function(ye){switch(ye.label){case 0:E=i[C.endpointName],ye.label=1;case 1:return ye.trys.push([1,8,,13]),P=j9,k=void 0,O={signal:se,abort:le,dispatch:fe,getState:pe,extra:ve,endpoint:C.endpointName,type:C.type,forced:C.type==="query"?f(C,pe()):void 0},M=C.type==="query"?C[xg]:void 0,M?(k=M(),[3,6]):[3,2];case 2:return E.query?[4,r(E.query(C.originalArgs),O,E.extraOptions)]:[3,4];case 3:return k=ye.sent(),E.transformResponse&&(P=E.transformResponse),[3,6];case 4:return[4,E.queryFn(C.originalArgs,O,E.extraOptions,function(We){return r(We,O,E.extraOptions)})];case 5:k=ye.sent(),ye.label=6;case 6:if(typeof process<"u",k.error)throw new V9(k.error,k.meta);return B=ne,[4,P(k.data,k.meta,C.originalArgs)];case 7:return[2,B.apply(void 0,[ye.sent(),(ee={fulfilledTimeStamp:Date.now(),baseQueryMeta:k.meta},ee[Lu]=!0,ee)])];case 8:if(D=ye.sent(),V=D,!(V instanceof V9))return[3,12];j=j9,E.query&&E.transformErrorResponse&&(j=E.transformErrorResponse),ye.label=9;case 9:return ye.trys.push([9,11,,12]),q=W,[4,j(V.value,V.meta,C.originalArgs)];case 10:return[2,q.apply(void 0,[ye.sent(),(ie={baseQueryMeta:V.meta},ie[Lu]=!0,ie)])];case 11:return Z=ye.sent(),V=Z,[3,12];case 12:throw typeof process<"u",console.error(V),V;case 13:return[2]}})})};function f(y,S){var C,T,E,P,k=(T=(C=S[n])==null?void 0:C.queries)==null?void 0:T[y.queryCacheKey],O=(E=S[n])==null?void 0:E.config.refetchOnMountOrArgChange,M=k==null?void 0:k.fulfilledTimeStamp,G=(P=y.forceRefetch)!=null?P:y.subscribe&&O;return G?G===!0||(Number(new Date)-Number(M))/1e3>=G:!1}var p=Bl(n+"/executeQuery",d,{getPendingMeta:function(){var y;return y={startedTimeStamp:Date.now()},y[Lu]=!0,y},condition:function(y,S){var C=S.getState,T,E,P,k=C(),O=(E=(T=k[n])==null?void 0:T.queries)==null?void 0:E[y.queryCacheKey],M=O==null?void 0:O.fulfilledTimeStamp,G=y.originalArgs,U=O==null?void 0:O.originalArgs,A=i[y.endpointName];return O3(y)?!0:(O==null?void 0:O.status)==="pending"?!1:f(y,k)||h$(A)&&((P=A==null?void 0:A.forceRefetch)!=null&&P.call(A,{currentArg:G,previousArg:U,endpointState:O,state:k}))?!0:!M},dispatchConditionRejection:!0}),g=Bl(n+"/executeMutation",d,{getPendingMeta:function(){var y;return y={startedTimeStamp:Date.now()},y[Lu]=!0,y}}),m=function(y){return"force"in y},v=function(y){return"ifOlderThan"in y},x=function(y,S,C){return function(T,E){var P=m(C)&&C.force,k=v(C)&&C.ifOlderThan,O=function(A){return A===void 0&&(A=!0),s.endpoints[y].initiate(S,{forceRefetch:A})},M=s.endpoints[y].select(S)(E());if(P)T(O());else if(k){var G=M==null?void 0:M.fulfilledTimeStamp;if(!G){T(O());return}var U=(Number(new Date)-Number(new Date(G)))/1e3>=k;U&&T(O())}else T(O(!1))}};function _(y){return function(S){var C,T;return((T=(C=S==null?void 0:S.meta)==null?void 0:C.arg)==null?void 0:T.endpointName)===y}}function b(y,S){return{matchPending:Xd(H_(y),_(S)),matchFulfilled:Xd(eu(y),_(S)),matchRejected:Xd(_f(y),_(S))}}return{queryThunk:p,mutationThunk:g,prefetch:x,updateQueryData:l,upsertQueryData:u,patchQueryData:a,buildMatchThunkActions:b}}function g$(e,t,n,r){return p$(n[e.meta.arg.endpointName][t],eu(e)?e.payload:void 0,sm(e)?e.payload:void 0,e.meta.arg.originalArgs,"baseQueryMeta"in e.meta?e.meta.baseQueryMeta:void 0,r)}function m0(e,t,n){var r=e[t];r&&n(r)}function Cg(e){var t;return(t="arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)!=null?t:e.requestId}function G9(e,t,n){var r=e[Cg(t)];r&&n(r)}var Vh={};function dce(e){var t=e.reducerPath,n=e.queryThunk,r=e.mutationThunk,i=e.context,o=i.endpointDefinitions,s=i.apiUid,a=i.extractRehydrationInfo,l=i.hasRehydrationInfo,u=e.assertTagType,d=e.config,f=Re(t+"/resetApiState"),p=yn({name:t+"/queries",initialState:Vh,reducers:{removeQueryResult:{reducer:function(C,T){var E=T.payload.queryCacheKey;delete C[E]},prepare:uv()},queryResultPatched:function(C,T){var E=T.payload,P=E.queryCacheKey,k=E.patches;m0(C,P,function(O){O.data=d3(O.data,k.concat())})}},extraReducers:function(C){C.addCase(n.pending,function(T,E){var P=E.meta,k=E.meta.arg,O,M,G=O3(k);(k.subscribe||G)&&((M=T[O=k.queryCacheKey])!=null||(T[O]={status:ln.uninitialized,endpointName:k.endpointName})),m0(T,k.queryCacheKey,function(U){U.status=ln.pending,U.requestId=G&&U.requestId?U.requestId:P.requestId,k.originalArgs!==void 0&&(U.originalArgs=k.originalArgs),U.startedTimeStamp=P.startedTimeStamp})}).addCase(n.fulfilled,function(T,E){var P=E.meta,k=E.payload;m0(T,P.arg.queryCacheKey,function(O){var M;if(!(O.requestId!==P.requestId&&!O3(P.arg))){var G=o[P.arg.endpointName].merge;if(O.status=ln.fulfilled,G)if(O.data!==void 0){var U=P.fulfilledTimeStamp,A=P.arg,N=P.baseQueryMeta,F=P.requestId,B=Zl(O.data,function(D){return G(D,k,{arg:A.originalArgs,baseQueryMeta:N,fulfilledTimeStamp:U,requestId:F})});O.data=B}else O.data=k;else O.data=(M=o[P.arg.endpointName].structuralSharing)==null||M?c$(ai(O.data)?H4(O.data):O.data,k):k;delete O.error,O.fulfilledTimeStamp=P.fulfilledTimeStamp}})}).addCase(n.rejected,function(T,E){var P=E.meta,k=P.condition,O=P.arg,M=P.requestId,G=E.error,U=E.payload;m0(T,O.queryCacheKey,function(A){if(!k){if(A.requestId!==M)return;A.status=ln.rejected,A.error=U??G}})}).addMatcher(l,function(T,E){for(var P=a(E).queries,k=0,O=Object.entries(P);k"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?Nce:Mce;v$.useSyncExternalStore=Cf.useSyncExternalStore!==void 0?Cf.useSyncExternalStore:Lce;y$.exports=v$;var Dce=y$.exports,_$={exports:{}},b$={};/** - * @license React - * use-sync-external-store-shim/with-selector.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 ab=L,$ce=Dce;function Fce(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Bce=typeof Object.is=="function"?Object.is:Fce,Uce=$ce.useSyncExternalStore,zce=ab.useRef,Vce=ab.useEffect,jce=ab.useMemo,Gce=ab.useDebugValue;b$.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=zce(null);if(o.current===null){var s={hasValue:!1,value:null};o.current=s}else s=o.current;o=jce(function(){function l(g){if(!u){if(u=!0,d=g,g=r(g),i!==void 0&&s.hasValue){var m=s.value;if(i(m,g))return f=m}return f=g}if(m=f,Bce(d,g))return m;var v=r(g);return i!==void 0&&i(m,v)?m:(d=g,f=v)}var u=!1,d,f,p=n===void 0?null:n;return[function(){return l(t())},p===null?void 0:function(){return l(p())}]},[t,n,r,i]);var a=Uce(e,o[0],o[1]);return Vce(function(){s.hasValue=!0,s.value=a},[a]),Gce(a),a};_$.exports=b$;var S$=_$.exports;const Hce=dc(S$);function Wce(e){e()}let w$=Wce;const qce=e=>w$=e,Kce=()=>w$,Q9=Symbol.for(`react-redux-context-${L.version}`),Z9=globalThis;function Xce(){let e=Z9[Q9];return e||(e=L.createContext(null),Z9[Q9]=e),e}const jl=new Proxy({},new Proxy({},{get(e,t){const n=Xce();return(r,...i)=>Reflect[t](n,...i)}}));function TT(e=jl){return function(){return L.useContext(e)}}const x$=TT(),Yce=()=>{throw new Error("uSES not initialized!")};let C$=Yce;const Qce=e=>{C$=e},Zce=(e,t)=>e===t;function Jce(e=jl){const t=e===jl?x$:TT(e);return function(r,i={}){const{equalityFn:o=Zce,stabilityCheck:s=void 0,noopCheck:a=void 0}=typeof i=="function"?{equalityFn:i}:i,{store:l,subscription:u,getServerState:d,stabilityCheck:f,noopCheck:p}=t();L.useRef(!0);const g=L.useCallback({[r.name](v){return r(v)}}[r.name],[r,f,s]),m=C$(u.addNestedSub,l.getState,d||l.getState,g,o);return L.useDebugValue(m),m}}const T$=Jce();function A1(){return A1=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let r=t;for(;r;)r.callback(),r=r.next})},get(){let r=[],i=t;for(;i;)r.push(i),i=i.next;return r},subscribe(r){let i=!0,o=n={callback:r,next:null,prev:n};return o.prev?o.prev.next=o:t=o,function(){!i||t===null||(i=!1,o.next?o.next.prev=o.prev:n=o.prev,o.prev?o.prev.next=o.next:t=o.next)}}}}const J9={notify(){},get:()=>[]};function dde(e,t){let n,r=J9;function i(f){return l(),r.subscribe(f)}function o(){r.notify()}function s(){d.onStateChange&&d.onStateChange()}function a(){return!!n}function l(){n||(n=t?t.addNestedSub(s):e.subscribe(s),r=cde())}function u(){n&&(n(),n=void 0,r.clear(),r=J9)}const d={addNestedSub:i,notifyNestedSubs:o,handleChangeWrapper:s,isSubscribed:a,trySubscribe:l,tryUnsubscribe:u,getListeners:()=>r};return d}const fde=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",hde=fde?L.useLayoutEffect:L.useEffect;function eR(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function P1(e,t){if(eR(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;i{const u=dde(e);return{store:e,subscription:u,getServerState:r?()=>r:void 0,stabilityCheck:i,noopCheck:o}},[e,r,i,o]),a=L.useMemo(()=>e.getState(),[e]);hde(()=>{const{subscription:u}=s;return u.onStateChange=u.notifyNestedSubs,u.trySubscribe(),a!==e.getState()&&u.notifyNestedSubs(),()=>{u.tryUnsubscribe(),u.onStateChange=void 0}},[s,a]);const l=t||jl;return Lt.createElement(l.Provider,{value:s},n)}function k$(e=jl){const t=e===jl?x$:TT(e);return function(){const{store:r}=t();return r}}const I$=k$();function gde(e=jl){const t=e===jl?I$:k$(e);return function(){return t().dispatch}}const M$=gde();Qce(S$.useSyncExternalStoreWithSelector);qce(bs.unstable_batchedUpdates);var mde=globalThis&&globalThis.__spreadArray||function(e,t){for(var n=0,r=t.length,i=e.length;n{const r=wg.get(),i=Sg.get(),o=S1.get();return sce({baseUrl:`${r??""}/api/v1`,prepareHeaders:a=>(i&&a.set("Authorization",`Bearer ${i}`),o&&a.set("project-id",o),a)})(e,t,n)},Gl=kde({baseQuery:Mde,reducerPath:"api",tagTypes:Ide,endpoints:()=>({})}),Nde=(e,t)=>{const n=new Date(e),r=new Date(t);return n>r?1:ne==null,Ude=e=>encodeURIComponent(e).replace(/[!'()*]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),I3=Symbol("encodeFragmentIdentifier");function zde(e){switch(e.arrayFormat){case"index":return t=>(n,r)=>{const i=n.length;return r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[$n(t,e),"[",i,"]"].join("")]:[...n,[$n(t,e),"[",$n(i,e),"]=",$n(r,e)].join("")]};case"bracket":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[$n(t,e),"[]"].join("")]:[...n,[$n(t,e),"[]=",$n(r,e)].join("")];case"colon-list-separator":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[$n(t,e),":list="].join("")]:[...n,[$n(t,e),":list=",$n(r,e)].join("")];case"comma":case"separator":case"bracket-separator":{const t=e.arrayFormat==="bracket-separator"?"[]=":"=";return n=>(r,i)=>i===void 0||e.skipNull&&i===null||e.skipEmptyString&&i===""?r:(i=i===null?"":i,r.length===0?[[$n(n,e),t,$n(i,e)].join("")]:[[r,$n(i,e)].join(e.arrayFormatSeparator)])}default:return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,$n(t,e)]:[...n,[$n(t,e),"=",$n(r,e)].join("")]}}function Vde(e){let t;switch(e.arrayFormat){case"index":return(n,r,i)=>{if(t=/\[(\d*)]$/.exec(n),n=n.replace(/\[\d*]$/,""),!t){i[n]=r;return}i[n]===void 0&&(i[n]={}),i[n][t[1]]=r};case"bracket":return(n,r,i)=>{if(t=/(\[])$/.exec(n),n=n.replace(/\[]$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"colon-list-separator":return(n,r,i)=>{if(t=/(:list)$/.exec(n),n=n.replace(/:list$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"comma":case"separator":return(n,r,i)=>{const o=typeof r=="string"&&r.includes(e.arrayFormatSeparator),s=typeof r=="string"&&!o&&ca(r,e).includes(e.arrayFormatSeparator);r=s?ca(r,e):r;const a=o||s?r.split(e.arrayFormatSeparator).map(l=>ca(l,e)):r===null?r:ca(r,e);i[n]=a};case"bracket-separator":return(n,r,i)=>{const o=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!o){i[n]=r&&ca(r,e);return}const s=r===null?[]:r.split(e.arrayFormatSeparator).map(a=>ca(a,e));if(i[n]===void 0){i[n]=s;return}i[n]=[...i[n],...s]};default:return(n,r,i)=>{if(i[n]===void 0){i[n]=r;return}i[n]=[...[i[n]].flat(),r]}}}function D$(e){if(typeof e!="string"||e.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function $n(e,t){return t.encode?t.strict?Ude(e):encodeURIComponent(e):e}function ca(e,t){return t.decode?$de(e):e}function $$(e){return Array.isArray(e)?e.sort():typeof e=="object"?$$(Object.keys(e)).sort((t,n)=>Number(t)-Number(n)).map(t=>e[t]):e}function F$(e){const t=e.indexOf("#");return t!==-1&&(e=e.slice(0,t)),e}function jde(e){let t="";const n=e.indexOf("#");return n!==-1&&(t=e.slice(n)),t}function sR(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""?e=Number(e):t.parseBooleans&&e!==null&&(e.toLowerCase()==="true"||e.toLowerCase()==="false")&&(e=e.toLowerCase()==="true"),e}function kT(e){e=F$(e);const t=e.indexOf("?");return t===-1?"":e.slice(t+1)}function IT(e,t){t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...t},D$(t.arrayFormatSeparator);const n=Vde(t),r=Object.create(null);if(typeof e!="string"||(e=e.trim().replace(/^[?#&]/,""),!e))return r;for(const i of e.split("&")){if(i==="")continue;const o=t.decode?i.replace(/\+/g," "):i;let[s,a]=L$(o,"=");s===void 0&&(s=o),a=a===void 0?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?a:ca(a,t),n(ca(s,t),a,r)}for(const[i,o]of Object.entries(r))if(typeof o=="object"&&o!==null)for(const[s,a]of Object.entries(o))o[s]=sR(a,t);else r[i]=sR(o,t);return t.sort===!1?r:(t.sort===!0?Object.keys(r).sort():Object.keys(r).sort(t.sort)).reduce((i,o)=>{const s=r[o];return s&&typeof s=="object"&&!Array.isArray(s)?i[o]=$$(s):i[o]=s,i},Object.create(null))}function B$(e,t){if(!e)return"";t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t},D$(t.arrayFormatSeparator);const n=s=>t.skipNull&&Bde(e[s])||t.skipEmptyString&&e[s]==="",r=zde(t),i={};for(const[s,a]of Object.entries(e))n(s)||(i[s]=a);const o=Object.keys(i);return t.sort!==!1&&o.sort(t.sort),o.map(s=>{const a=e[s];return a===void 0?"":a===null?$n(s,t):Array.isArray(a)?a.length===0&&t.arrayFormat==="bracket-separator"?$n(s,t)+"[]":a.reduce(r(s),[]).join("&"):$n(s,t)+"="+$n(a,t)}).filter(s=>s.length>0).join("&")}function U$(e,t){var i;t={decode:!0,...t};let[n,r]=L$(e,"#");return n===void 0&&(n=e),{url:((i=n==null?void 0:n.split("?"))==null?void 0:i[0])??"",query:IT(kT(e),t),...t&&t.parseFragmentIdentifier&&r?{fragmentIdentifier:ca(r,t)}:{}}}function z$(e,t){t={encode:!0,strict:!0,[I3]:!0,...t};const n=F$(e.url).split("?")[0]||"",r=kT(e.url),i={...IT(r,{sort:!1}),...e.query};let o=B$(i,t);o&&(o=`?${o}`);let s=jde(e.url);if(e.fragmentIdentifier){const a=new URL(n);a.hash=e.fragmentIdentifier,s=t[I3]?a.hash:`#${e.fragmentIdentifier}`}return`${n}${o}${s}`}function V$(e,t,n){n={parseFragmentIdentifier:!0,[I3]:!1,...n};const{url:r,query:i,fragmentIdentifier:o}=U$(e,n);return z$({url:r,query:Fde(i,t),fragmentIdentifier:o},n)}function Gde(e,t,n){const r=Array.isArray(t)?i=>!t.includes(i):(i,o)=>!t(i,o);return V$(e,r,n)}const fv=Object.freeze(Object.defineProperty({__proto__:null,exclude:Gde,extract:kT,parse:IT,parseUrl:U$,pick:V$,stringify:B$,stringifyUrl:z$},Symbol.toStringTag,{value:"Module"})),jh=(e,t)=>{if(!e)return!1;const n=O1.selectAll(e);if(n.length>1){const r=new Date(t.created_at),i=n[n.length-1];if(!i)return!1;const o=new Date(i.created_at);return r>=o}else if([0,1].includes(n.length))return!0;return!1},nl=e=>jr.includes(e.image_category)?jr:Sl,pn=Jl({selectId:e=>e.image_name,sortComparer:(e,t)=>Nde(t.updated_at,e.updated_at)}),O1=pn.getSelectors(),Fo=e=>`images/?${fv.stringify(e,{arrayFormat:"none"})}`,Ui=Gl.injectEndpoints({endpoints:e=>({listBoards:e.query({query:t=>({url:"boards/",params:t}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Ke}];return t&&i.push(...t.items.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllBoards:e.query({query:()=>({url:"boards/",params:{all:!0}}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Ke}];return t&&i.push(...t.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllImageNamesForBoard:e.query({query:t=>({url:`boards/${t}/image_names`}),providesTags:(t,n,r)=>[{type:"ImageNameList",id:r}],keepUnusedDataFor:0}),getBoardImagesTotal:e.query({query:t=>({url:Fo({board_id:t??"none",categories:jr,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardImagesTotal",id:r??"none"}],transformResponse:t=>t.total}),getBoardAssetsTotal:e.query({query:t=>({url:Fo({board_id:t??"none",categories:Sl,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardAssetsTotal",id:r??"none"}],transformResponse:t=>t.total}),createBoard:e.mutation({query:t=>({url:"boards/",method:"POST",params:{board_name:t}}),invalidatesTags:[{type:"Board",id:Ke}]}),updateBoard:e.mutation({query:({board_id:t,changes:n})=>({url:`boards/${t}`,method:"PATCH",body:n}),invalidatesTags:(t,n,r)=>[{type:"Board",id:r.board_id}]})})}),{useListBoardsQuery:Lke,useListAllBoardsQuery:Dke,useGetBoardImagesTotalQuery:$ke,useGetBoardAssetsTotalQuery:Fke,useCreateBoardMutation:Bke,useUpdateBoardMutation:Uke,useListAllImageNamesForBoardQuery:zke}=Ui,Se=Gl.injectEndpoints({endpoints:e=>({listImages:e.query({query:t=>({url:Fo(t),method:"GET"}),providesTags:(t,n,{board_id:r,categories:i})=>[{type:"ImageList",id:Fo({board_id:r,categories:i})}],serializeQueryArgs:({queryArgs:t})=>{const{board_id:n,categories:r}=t;return Fo({board_id:n,categories:r})},transformResponse(t){const{items:n}=t;return pn.addMany(pn.getInitialState(),n)},merge:(t,n)=>{pn.addMany(t,O1.selectAll(n))},forceRefetch({currentArg:t,previousArg:n}){return(t==null?void 0:t.offset)!==(n==null?void 0:n.offset)},async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){try{const{data:i}=await r;O1.selectAll(i).forEach(o=>{n(Se.util.upsertQueryData("getImageDTO",o.image_name,o))})}catch{}},keepUnusedDataFor:86400}),getIntermediatesCount:e.query({query:()=>({url:Fo({is_intermediate:!0})}),providesTags:["IntermediatesCount"],transformResponse:t=>t.total}),getImageDTO:e.query({query:t=>({url:`images/i/${t}`}),providesTags:(t,n,r)=>[{type:"Image",id:r}],keepUnusedDataFor:86400}),getImageMetadata:e.query({query:t=>({url:`images/i/${t}/metadata`}),providesTags:(t,n,r)=>[{type:"ImageMetadata",id:r}],keepUnusedDataFor:86400}),clearIntermediates:e.mutation({query:()=>({url:"images/clear-intermediates",method:"POST"}),invalidatesTags:["IntermediatesCount"]}),deleteImage:e.mutation({query:({image_name:t})=>({url:`images/i/${t}`,method:"DELETE"}),invalidatesTags:(t,n,{board_id:r})=>[{type:"BoardImagesTotal",id:r??"none"},{type:"BoardAssetsTotal",id:r??"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){const{image_name:i,board_id:o}=t,s={board_id:o??"none",categories:nl(t)},a=n(Se.util.updateQueryData("listImages",s,l=>{pn.removeOne(l,i)}));try{await r}catch{a.undo()}}}),deleteImages:e.mutation({query:({imageDTOs:t})=>({url:"images/delete",method:"POST",body:{image_names:t.map(r=>r.image_name)}}),invalidatesTags:(t,n,r)=>[],async onQueryStarted({imageDTOs:t},{dispatch:n,queryFulfilled:r}){try{const{data:i}=await r,o=que.keyBy(t,"image_name");i.deleted_images.forEach(s=>{const a=o[s];if(a){const l={board_id:a.board_id??"none",categories:nl(a)};n(Se.util.updateQueryData("listImages",l,u=>{pn.removeOne(u,s)}))}})}catch{}}}),changeImageIsIntermediate:e.mutation({query:({imageDTO:t,is_intermediate:n})=>({url:`images/i/${t.image_name}`,method:"PATCH",body:{is_intermediate:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,is_intermediate:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(Se.util.updateQueryData("getImageDTO",t.image_name,l=>{Object.assign(l,{is_intermediate:n})})));const a=nl(t);if(n)s.push(r(Se.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:a},l=>{pn.removeOne(l,t.image_name)})));else{const l={board_id:t.board_id??"none",categories:a},u=Se.endpoints.listImages.select(l)(o()),{data:d}=jr.includes(t.image_category)?Ui.endpoints.getBoardImagesTotal.select(t.board_id??"none")(o()):Ui.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(o()),f=u.data&&u.data.ids.length>=(d??0),p=jh(u.data,t);(f||p)&&s.push(r(Se.util.updateQueryData("listImages",l,g=>{pn.upsertOne(g,t)})))}try{await i}catch{s.forEach(l=>l.undo())}}}),changeImageSessionId:e.mutation({query:({imageDTO:t,session_id:n})=>({url:`images/i/${t.image_name}`,method:"PATCH",body:{session_id:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,session_id:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(Se.util.updateQueryData("getImageDTO",t.image_name,a=>{Object.assign(a,{session_id:n})})));try{await i}catch{s.forEach(a=>a.undo())}}}),uploadImage:e.mutation({query:({file:t,image_category:n,is_intermediate:r,session_id:i,board_id:o,crop_visible:s})=>{const a=new FormData;return a.append("file",t),{url:"images/upload",method:"POST",body:a,params:{image_category:n,is_intermediate:r,session_id:i,board_id:o==="none"?void 0:o,crop_visible:s}}},async onQueryStarted({file:t,image_category:n,is_intermediate:r,postUploadAction:i,session_id:o,board_id:s},{dispatch:a,queryFulfilled:l}){try{const{data:u}=await l;if(u.is_intermediate)return;a(Se.util.upsertQueryData("getImageDTO",u.image_name,u));const d=nl(u);a(Se.util.updateQueryData("listImages",{board_id:u.board_id??"none",categories:d},f=>{pn.addOne(f,u)})),a(Se.util.invalidateTags([{type:"BoardImagesTotal",id:u.board_id??"none"},{type:"BoardAssetsTotal",id:u.board_id??"none"}]))}catch{}}}),deleteBoard:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE"}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Ke},{type:"ImageList",id:Fo({board_id:"none",categories:jr})},{type:"ImageList",id:Fo({board_id:"none",categories:Sl})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_board_images:s}=o;s.forEach(u=>{n(Se.util.updateQueryData("getImageDTO",u,d=>{d.board_id=void 0}))});const a=[{categories:jr},{categories:Sl}],l=s.map(u=>({id:u,changes:{board_id:void 0}}));a.forEach(u=>{n(Se.util.updateQueryData("listImages",u,d=>{pn.updateMany(d,l)}))})}catch{}}}),deleteBoardAndImages:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE",params:{include_images:!0}}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Ke},{type:"ImageList",id:Fo({board_id:"none",categories:jr})},{type:"ImageList",id:Fo({board_id:"none",categories:Sl})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_images:s}=o;[{categories:jr},{categories:Sl}].forEach(l=>{n(Se.util.updateQueryData("listImages",l,u=>{pn.removeMany(u,s)}))})}catch{}}}),addImageToBoard:e.mutation({query:({board_id:t,imageDTO:n})=>{const{image_name:r}=n;return{url:"board_images/",method:"POST",body:{board_id:t,image_name:r}}},invalidatesTags:(t,n,{board_id:r,imageDTO:i})=>[{type:"Board",id:r},{type:"BoardImagesTotal",id:r},{type:"BoardAssetsTotal",id:r},{type:"BoardImagesTotal",id:i.board_id??"none"},{type:"BoardAssetsTotal",id:i.board_id??"none"}],async onQueryStarted({board_id:t,imageDTO:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[],a=nl(n);if(s.push(r(Se.util.updateQueryData("getImageDTO",n.image_name,l=>{l.board_id=t}))),!n.is_intermediate){s.push(r(Se.util.updateQueryData("listImages",{board_id:n.board_id??"none",categories:a},g=>{pn.removeOne(g,n.image_name)})));const l={board_id:t??"none",categories:a},u=Se.endpoints.listImages.select(l)(o()),{data:d}=jr.includes(n.image_category)?Ui.endpoints.getBoardImagesTotal.select(n.board_id??"none")(o()):Ui.endpoints.getBoardAssetsTotal.select(n.board_id??"none")(o()),f=u.data&&u.data.ids.length>=(d??0),p=jh(u.data,n);(f||p)&&s.push(r(Se.util.updateQueryData("listImages",l,g=>{pn.addOne(g,n)})))}try{await i}catch{s.forEach(l=>l.undo())}}}),removeImageFromBoard:e.mutation({query:({imageDTO:t})=>{const{image_name:n}=t;return{url:"board_images/",method:"DELETE",body:{image_name:n}}},invalidatesTags:(t,n,{imageDTO:r})=>{const{board_id:i}=r;return[{type:"Board",id:i??"none"},{type:"BoardImagesTotal",id:i??"none"},{type:"BoardAssetsTotal",id:i??"none"},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}]},async onQueryStarted({imageDTO:t},{dispatch:n,queryFulfilled:r,getState:i}){const o=nl(t),s=[];s.push(n(Se.util.updateQueryData("getImageDTO",t.image_name,p=>{p.board_id=void 0}))),s.push(n(Se.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:o},p=>{pn.removeOne(p,t.image_name)})));const a={board_id:"none",categories:o},l=Se.endpoints.listImages.select(a)(i()),{data:u}=jr.includes(t.image_category)?Ui.endpoints.getBoardImagesTotal.select(t.board_id??"none")(i()):Ui.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(i()),d=l.data&&l.data.ids.length>=(u??0),f=jh(l.data,t);(d||f)&&s.push(n(Se.util.updateQueryData("listImages",a,p=>{pn.upsertOne(p,t)})));try{await r}catch{s.forEach(p=>p.undo())}}}),addImagesToBoard:e.mutation({query:({board_id:t,imageDTOs:n})=>({url:"board_images/batch",method:"POST",body:{image_names:n.map(r=>r.image_name),board_id:t}}),invalidatesTags:(t,n,{board_id:r})=>[{type:"Board",id:r??"none"},{type:"BoardImagesTotal",id:r??"none"},{type:"BoardAssetsTotal",id:r??"none"},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted({board_id:t,imageDTOs:n},{dispatch:r,queryFulfilled:i,getState:o}){try{const{data:s}=await i,{added_image_names:a}=s;a.forEach(l=>{r(Se.util.updateQueryData("getImageDTO",l,_=>{_.board_id=t}));const u=n.find(_=>_.image_name===l);if(!u)return;const d=nl(u),f=u.board_id;r(Se.util.updateQueryData("listImages",{board_id:f??"none",categories:d},_=>{pn.removeOne(_,u.image_name)}));const p={board_id:t,categories:d},g=Se.endpoints.listImages.select(p)(o()),{data:m}=jr.includes(u.image_category)?Ui.endpoints.getBoardImagesTotal.select(u.board_id??"none")(o()):Ui.endpoints.getBoardAssetsTotal.select(u.board_id??"none")(o()),v=g.data&&g.data.ids.length>=(m??0),x=jh(g.data,u);(v||x)&&r(Se.util.updateQueryData("listImages",p,_=>{pn.upsertOne(_,{...u,board_id:t})}))})}catch{}}}),removeImagesFromBoard:e.mutation({query:({imageDTOs:t})=>({url:"board_images/batch/delete",method:"POST",body:{image_names:t.map(n=>n.image_name)}}),invalidatesTags:(t,n,{imageDTOs:r})=>{const i=[],o=[{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}];return t==null||t.removed_image_names.forEach(s=>{var l;const a=(l=r.find(u=>u.image_name===s))==null?void 0:l.board_id;!a||i.includes(a)||(o.push({type:"Board",id:a}),o.push({type:"BoardImagesTotal",id:a}),o.push({type:"BoardAssetsTotal",id:a}))}),o},async onQueryStarted({imageDTOs:t},{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{removed_image_names:s}=o;s.forEach(a=>{n(Se.util.updateQueryData("getImageDTO",a,v=>{v.board_id=void 0}));const l=t.find(v=>v.image_name===a);if(!l)return;const u=nl(l);n(Se.util.updateQueryData("listImages",{board_id:l.board_id??"none",categories:u},v=>{pn.removeOne(v,l.image_name)}));const d={board_id:"none",categories:u},f=Se.endpoints.listImages.select(d)(i()),{data:p}=jr.includes(l.image_category)?Ui.endpoints.getBoardImagesTotal.select(l.board_id??"none")(i()):Ui.endpoints.getBoardAssetsTotal.select(l.board_id??"none")(i()),g=f.data&&f.data.ids.length>=(p??0),m=jh(f.data,l);(g||m)&&n(Se.util.updateQueryData("listImages",d,v=>{pn.upsertOne(v,{...l,board_id:void 0})}))})}catch{}}})})}),{useGetIntermediatesCountQuery:Vke,useListImagesQuery:jke,useLazyListImagesQuery:Gke,useGetImageDTOQuery:Hke,useGetImageMetadataQuery:Wke,useDeleteImageMutation:qke,useDeleteImagesMutation:Kke,useUploadImageMutation:Xke,useClearIntermediatesMutation:Yke,useAddImagesToBoardMutation:Qke,useRemoveImagesFromBoardMutation:Zke,useAddImageToBoardMutation:Jke,useRemoveImageFromBoardMutation:eIe,useChangeImageIsIntermediateMutation:tIe,useChangeImageSessionIdMutation:nIe,useDeleteBoardAndImagesMutation:rIe,useDeleteBoardMutation:iIe}=Se,j$=Re("socket/socketConnected"),G$=Re("socket/appSocketConnected"),H$=Re("socket/socketDisconnected"),W$=Re("socket/appSocketDisconnected"),MT=Re("socket/socketSubscribed"),q$=Re("socket/appSocketSubscribed"),K$=Re("socket/socketUnsubscribed"),X$=Re("socket/appSocketUnsubscribed"),Y$=Re("socket/socketInvocationStarted"),Q$=Re("socket/appSocketInvocationStarted"),NT=Re("socket/socketInvocationComplete"),Z$=Re("socket/appSocketInvocationComplete"),J$=Re("socket/socketInvocationError"),LT=Re("socket/appSocketInvocationError"),eF=Re("socket/socketGraphExecutionStateComplete"),tF=Re("socket/appSocketGraphExecutionStateComplete"),nF=Re("socket/socketGeneratorProgress"),rF=Re("socket/appSocketGeneratorProgress"),iF=Re("socket/socketModelLoadStarted"),Hde=Re("socket/appSocketModelLoadStarted"),oF=Re("socket/socketModelLoadCompleted"),Wde=Re("socket/appSocketModelLoadCompleted"),sF=Re("socket/socketSessionRetrievalError"),aF=Re("socket/appSocketSessionRetrievalError"),lF=Re("socket/socketInvocationRetrievalError"),uF=Re("socket/appSocketInvocationRetrievalError"),DT=Re("controlNet/imageProcessed"),_d={none:{type:"none",label:"none",description:"",default:{type:"none"}},canny_image_processor:{type:"canny_image_processor",label:"Canny",description:"",default:{id:"canny_image_processor",type:"canny_image_processor",low_threshold:100,high_threshold:200}},content_shuffle_image_processor:{type:"content_shuffle_image_processor",label:"Content Shuffle",description:"",default:{id:"content_shuffle_image_processor",type:"content_shuffle_image_processor",detect_resolution:512,image_resolution:512,h:512,w:512,f:256}},hed_image_processor:{type:"hed_image_processor",label:"HED",description:"",default:{id:"hed_image_processor",type:"hed_image_processor",detect_resolution:512,image_resolution:512,scribble:!1}},lineart_anime_image_processor:{type:"lineart_anime_image_processor",label:"Lineart Anime",description:"",default:{id:"lineart_anime_image_processor",type:"lineart_anime_image_processor",detect_resolution:512,image_resolution:512}},lineart_image_processor:{type:"lineart_image_processor",label:"Lineart",description:"",default:{id:"lineart_image_processor",type:"lineart_image_processor",detect_resolution:512,image_resolution:512,coarse:!1}},mediapipe_face_processor:{type:"mediapipe_face_processor",label:"Mediapipe Face",description:"",default:{id:"mediapipe_face_processor",type:"mediapipe_face_processor",max_faces:1,min_confidence:.5}},midas_depth_image_processor:{type:"midas_depth_image_processor",label:"Depth (Midas)",description:"",default:{id:"midas_depth_image_processor",type:"midas_depth_image_processor",a_mult:2,bg_th:.1}},mlsd_image_processor:{type:"mlsd_image_processor",label:"M-LSD",description:"",default:{id:"mlsd_image_processor",type:"mlsd_image_processor",detect_resolution:512,image_resolution:512,thr_d:.1,thr_v:.1}},normalbae_image_processor:{type:"normalbae_image_processor",label:"Normal BAE",description:"",default:{id:"normalbae_image_processor",type:"normalbae_image_processor",detect_resolution:512,image_resolution:512}},openpose_image_processor:{type:"openpose_image_processor",label:"Openpose",description:"",default:{id:"openpose_image_processor",type:"openpose_image_processor",detect_resolution:512,image_resolution:512,hand_and_face:!1}},pidi_image_processor:{type:"pidi_image_processor",label:"PIDI",description:"",default:{id:"pidi_image_processor",type:"pidi_image_processor",detect_resolution:512,image_resolution:512,scribble:!1,safe:!1}},zoe_depth_image_processor:{type:"zoe_depth_image_processor",label:"Depth (Zoe)",description:"",default:{id:"zoe_depth_image_processor",type:"zoe_depth_image_processor"}}},b0={canny:"canny_image_processor",mlsd:"mlsd_image_processor",depth:"midas_depth_image_processor",bae:"normalbae_image_processor",lineart:"lineart_image_processor",lineart_anime:"lineart_anime_image_processor",softedge:"hed_image_processor",shuffle:"content_shuffle_image_processor",openpose:"openpose_image_processor",mediapipe:"mediapipe_face_processor"},aR={isEnabled:!0,model:null,weight:1,beginStepPct:0,endStepPct:1,controlMode:"balanced",resizeMode:"just_resize",controlImage:null,processedControlImage:null,processorType:"canny_image_processor",processorNode:_d.canny_image_processor.default,shouldAutoConfig:!0},M3={controlNets:{},isEnabled:!1,pendingControlImages:[]},cF=yn({name:"controlNet",initialState:M3,reducers:{isControlNetEnabledToggled:e=>{e.isEnabled=!e.isEnabled},controlNetAdded:(e,t)=>{const{controlNetId:n,controlNet:r}=t.payload;e.controlNets[n]={...r??aR,controlNetId:n}},controlNetDuplicated:(e,t)=>{const{sourceControlNetId:n,newControlNetId:r}=t.payload,i=e.controlNets[n];if(!i)return;const o=zr(i);o.controlNetId=r,e.controlNets[r]=o},controlNetAddedFromImage:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n]={...aR,controlNetId:n,controlImage:r}},controlNetRemoved:(e,t)=>{const{controlNetId:n}=t.payload;delete e.controlNets[n]},controlNetToggled:(e,t)=>{const{controlNetId:n}=t.payload,r=e.controlNets[n];r&&(r.isEnabled=!r.isEnabled)},controlNetImageChanged:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload,i=e.controlNets[n];i&&(i.controlImage=r,i.processedControlImage=null,r!==null&&i.processorType!=="none"&&e.pendingControlImages.push(n))},controlNetProcessedImageChanged:(e,t)=>{const{controlNetId:n,processedControlImage:r}=t.payload,i=e.controlNets[n];i&&(i.processedControlImage=r,e.pendingControlImages=e.pendingControlImages.filter(o=>o!==n))},controlNetModelChanged:(e,t)=>{const{controlNetId:n,model:r}=t.payload,i=e.controlNets[n];if(i&&(i.model=r,i.processedControlImage=null,i.shouldAutoConfig)){let o;for(const s in b0)if(r.model_name.includes(s)){o=b0[s];break}o?(i.processorType=o,i.processorNode=_d[o].default):(i.processorType="none",i.processorNode=_d.none.default)}},controlNetWeightChanged:(e,t)=>{const{controlNetId:n,weight:r}=t.payload,i=e.controlNets[n];i&&(i.weight=r)},controlNetBeginStepPctChanged:(e,t)=>{const{controlNetId:n,beginStepPct:r}=t.payload,i=e.controlNets[n];i&&(i.beginStepPct=r)},controlNetEndStepPctChanged:(e,t)=>{const{controlNetId:n,endStepPct:r}=t.payload,i=e.controlNets[n];i&&(i.endStepPct=r)},controlNetControlModeChanged:(e,t)=>{const{controlNetId:n,controlMode:r}=t.payload,i=e.controlNets[n];i&&(i.controlMode=r)},controlNetResizeModeChanged:(e,t)=>{const{controlNetId:n,resizeMode:r}=t.payload,i=e.controlNets[n];i&&(i.resizeMode=r)},controlNetProcessorParamsChanged:(e,t)=>{const{controlNetId:n,changes:r}=t.payload,i=e.controlNets[n];if(!i)return;const o=i.processorNode;i.processorNode={...o,...r},i.shouldAutoConfig=!1},controlNetProcessorTypeChanged:(e,t)=>{const{controlNetId:n,processorType:r}=t.payload,i=e.controlNets[n];i&&(i.processedControlImage=null,i.processorType=r,i.processorNode=_d[r].default,i.shouldAutoConfig=!1)},controlNetAutoConfigToggled:(e,t)=>{var o;const{controlNetId:n}=t.payload,r=e.controlNets[n];if(!r)return;const i=!r.shouldAutoConfig;if(i){let s;for(const a in b0)if((o=r.model)!=null&&o.model_name.includes(a)){s=b0[a];break}s?(r.processorType=s,r.processorNode=_d[s].default):(r.processorType="none",r.processorNode=_d.none.default)}r.shouldAutoConfig=i},controlNetReset:()=>({...M3})},extraReducers:e=>{e.addCase(DT,(t,n)=>{const r=t.controlNets[n.payload.controlNetId];r&&r.controlImage!==null&&t.pendingControlImages.push(n.payload.controlNetId)}),e.addCase(LT,t=>{t.pendingControlImages=[]}),e.addMatcher(r$,t=>{t.pendingControlImages=[]}),e.addMatcher(Se.endpoints.deleteImage.matchFulfilled,(t,n)=>{const{image_name:r}=n.meta.arg.originalArgs;tc(t.controlNets,i=>{i.controlImage===r&&(i.controlImage=null,i.processedControlImage=null),i.processedControlImage===r&&(i.processedControlImage=null)})})}}),{isControlNetEnabledToggled:oIe,controlNetAdded:sIe,controlNetDuplicated:aIe,controlNetAddedFromImage:lIe,controlNetRemoved:dF,controlNetImageChanged:$T,controlNetProcessedImageChanged:qde,controlNetToggled:uIe,controlNetModelChanged:lR,controlNetWeightChanged:cIe,controlNetBeginStepPctChanged:dIe,controlNetEndStepPctChanged:fIe,controlNetControlModeChanged:hIe,controlNetResizeModeChanged:pIe,controlNetProcessorParamsChanged:Kde,controlNetProcessorTypeChanged:Xde,controlNetReset:FT,controlNetAutoConfigToggled:uR}=cF.actions,Yde=cF.reducer,fF={isEnabled:!1,maxPrompts:100,combinatorial:!0},Qde=fF,hF=yn({name:"dynamicPrompts",initialState:Qde,reducers:{maxPromptsChanged:(e,t)=>{e.maxPrompts=t.payload},maxPromptsReset:e=>{e.maxPrompts=fF.maxPrompts},combinatorialToggled:e=>{e.combinatorial=!e.combinatorial},isEnabledToggled:e=>{e.isEnabled=!e.isEnabled}}}),{isEnabledToggled:gIe,maxPromptsChanged:mIe,maxPromptsReset:yIe,combinatorialToggled:vIe}=hF.actions,Zde=hF.reducer,pF={selection:[],shouldAutoSwitch:!0,autoAssignBoardOnClick:!0,autoAddBoardId:"none",galleryImageMinimumWidth:96,selectedBoardId:"none",galleryView:"images",shouldShowDeleteButton:!1,boardSearchText:""},gF=yn({name:"gallery",initialState:pF,reducers:{imageSelected:(e,t)=>{e.selection=t.payload?[t.payload]:[]},selectionChanged:(e,t)=>{e.selection=t.payload},shouldAutoSwitchChanged:(e,t)=>{e.shouldAutoSwitch=t.payload},setGalleryImageMinimumWidth:(e,t)=>{e.galleryImageMinimumWidth=t.payload},autoAssignBoardOnClickChanged:(e,t)=>{e.autoAssignBoardOnClick=t.payload},boardIdSelected:(e,t)=>{e.selectedBoardId=t.payload,e.galleryView="images"},autoAddBoardIdChanged:(e,t)=>{if(!t.payload){e.autoAddBoardId="none";return}e.autoAddBoardId=t.payload},galleryViewChanged:(e,t)=>{e.galleryView=t.payload},shouldShowDeleteButtonChanged:(e,t)=>{e.shouldShowDeleteButton=t.payload},boardSearchTextChanged:(e,t)=>{e.boardSearchText=t.payload}},extraReducers:e=>{e.addMatcher(efe,(t,n)=>{const r=n.meta.arg.originalArgs;r===t.selectedBoardId&&(t.selectedBoardId="none",t.galleryView="images"),r===t.autoAddBoardId&&(t.autoAddBoardId="none")}),e.addMatcher(Ui.endpoints.listAllBoards.matchFulfilled,(t,n)=>{const r=n.payload;t.autoAddBoardId&&(r.map(i=>i.board_id).includes(t.autoAddBoardId)||(t.autoAddBoardId="none"))})}}),{imageSelected:Rs,shouldAutoSwitchChanged:_Ie,autoAssignBoardOnClickChanged:bIe,setGalleryImageMinimumWidth:SIe,boardIdSelected:N3,autoAddBoardIdChanged:wIe,galleryViewChanged:k1,selectionChanged:xIe,shouldShowDeleteButtonChanged:CIe,boardSearchTextChanged:TIe}=gF.actions,Jde=gF.reducer,efe=Co(Se.endpoints.deleteBoard.matchFulfilled,Se.endpoints.deleteBoardAndImages.matchFulfilled),tfe={imagesToDelete:[],isModalOpen:!1},mF=yn({name:"deleteImageModal",initialState:tfe,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imagesToDeleteSelected:(e,t)=>{e.imagesToDelete=t.payload},imageDeletionCanceled:e=>{e.imagesToDelete=[],e.isModalOpen=!1}}}),{isModalOpenChanged:BT,imagesToDeleteSelected:nfe,imageDeletionCanceled:EIe}=mF.actions,rfe=mF.reducer,ife={isModalOpen:!1,imagesToChange:[]},yF=yn({name:"changeBoardModal",initialState:ife,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imagesToChangeSelected:(e,t)=>{e.imagesToChange=t.payload},changeBoardReset:e=>{e.imagesToChange=[],e.isModalOpen=!1}}}),{isModalOpenChanged:AIe,imagesToChangeSelected:PIe,changeBoardReset:RIe}=yF.actions,ofe=yF.reducer,cR={weight:.75},sfe={loras:{}},vF=yn({name:"lora",initialState:sfe,reducers:{loraAdded:(e,t)=>{const{model_name:n,id:r,base_model:i}=t.payload;e.loras[r]={id:r,model_name:n,base_model:i,...cR}},loraRemoved:(e,t)=>{const n=t.payload;delete e.loras[n]},lorasCleared:e=>{e.loras={}},loraWeightChanged:(e,t)=>{const{id:n,weight:r}=t.payload,i=e.loras[n];i&&(i.weight=r)},loraWeightReset:(e,t)=>{const n=t.payload,r=e.loras[n];r&&(r.weight=cR.weight)}}}),{loraAdded:OIe,loraRemoved:_F,loraWeightChanged:kIe,loraWeightReset:IIe,lorasCleared:MIe}=vF.actions,afe=vF.reducer;function Eo(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n{let t;const n=new Set,r=(l,u)=>{const d=typeof l=="function"?l(t):l;if(!Object.is(d,t)){const f=t;t=u??typeof d!="object"?d:Object.assign({},t,d),n.forEach(p=>p(t,f))}},i=()=>t,a={setState:r,getState:i,subscribe:l=>(n.add(l),()=>n.delete(l)),destroy:()=>{n.clear()}};return t=e(r,i,a),a},lfe=e=>e?dR(e):dR,{useSyncExternalStoreWithSelector:ufe}=Hce;function cfe(e,t=e.getState,n){const r=ufe(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return L.useDebugValue(r),r}function Ri(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,i]of e)if(!Object.is(i,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r=0;r{}};function Pb(){for(var e=0,t=arguments.length,n={},r;e=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}hv.prototype=Pb.prototype={constructor:hv,on:function(e,t){var n=this._,r=ffe(e+"",n),i,o=-1,s=r.length;if(arguments.length<2){for(;++o0)for(var n=new Array(i),r=0,i,o;r=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),hR.hasOwnProperty(t)?{space:hR[t],local:e}:e}function pfe(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===L3&&t.documentElement.namespaceURI===L3?t.createElement(e):t.createElementNS(n,e)}}function gfe(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function bF(e){var t=Rb(e);return(t.local?gfe:pfe)(t)}function mfe(){}function UT(e){return e==null?mfe:function(){return this.querySelector(e)}}function yfe(e){typeof e!="function"&&(e=UT(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i=y&&(y=b+1);!(C=x[y])&&++y=0;)(s=r[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function Vfe(e){e||(e=jfe);function t(f,p){return f&&p?e(f.__data__,p.__data__):!f-!p}for(var n=this._groups,r=n.length,i=new Array(r),o=0;ot?1:e>=t?0:NaN}function Gfe(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Hfe(){return Array.from(this)}function Wfe(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?rhe:typeof t=="function"?ohe:ihe)(e,t,n??"")):Tf(this.node(),e)}function Tf(e,t){return e.style.getPropertyValue(t)||TF(e).getComputedStyle(e,null).getPropertyValue(t)}function ahe(e){return function(){delete this[e]}}function lhe(e,t){return function(){this[e]=t}}function uhe(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function che(e,t){return arguments.length>1?this.each((t==null?ahe:typeof t=="function"?uhe:lhe)(e,t)):this.node()[e]}function EF(e){return e.trim().split(/^|\s+/)}function zT(e){return e.classList||new AF(e)}function AF(e){this._node=e,this._names=EF(e.getAttribute("class")||"")}AF.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function PF(e,t){for(var n=zT(e),r=-1,i=t.length;++r=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function Fhe(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,o;n()=>e;function D3(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:s,y:a,dx:l,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}D3.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Khe(e){return!e.ctrlKey&&!e.button}function Xhe(){return this.parentNode}function Yhe(e,t){return t??{x:e.x,y:e.y}}function Qhe(){return navigator.maxTouchPoints||"ontouchstart"in this}function Zhe(){var e=Khe,t=Xhe,n=Yhe,r=Qhe,i={},o=Pb("start","drag","end"),s=0,a,l,u,d,f=0;function p(S){S.on("mousedown.drag",g).filter(r).on("touchstart.drag",x).on("touchmove.drag",_,qhe).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(S,C){if(!(d||!e.call(this,S,C))){var T=y(this,t.call(this,S,C),S,C,"mouse");T&&(Vo(S.view).on("mousemove.drag",m,Tg).on("mouseup.drag",v,Tg),IF(S.view),gx(S),u=!1,a=S.clientX,l=S.clientY,T("start",S))}}function m(S){if(ef(S),!u){var C=S.clientX-a,T=S.clientY-l;u=C*C+T*T>f}i.mouse("drag",S)}function v(S){Vo(S.view).on("mousemove.drag mouseup.drag",null),MF(S.view,u),ef(S),i.mouse("end",S)}function x(S,C){if(e.call(this,S,C)){var T=S.changedTouches,E=t.call(this,S,C),P=T.length,k,O;for(k=0;k>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?w0(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?w0(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=epe.exec(e))?new xi(t[1],t[2],t[3],1):(t=tpe.exec(e))?new xi(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=npe.exec(e))?w0(t[1],t[2],t[3],t[4]):(t=rpe.exec(e))?w0(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=ipe.exec(e))?bR(t[1],t[2]/100,t[3]/100,1):(t=ope.exec(e))?bR(t[1],t[2]/100,t[3]/100,t[4]):pR.hasOwnProperty(e)?yR(pR[e]):e==="transparent"?new xi(NaN,NaN,NaN,0):null}function yR(e){return new xi(e>>16&255,e>>8&255,e&255,1)}function w0(e,t,n,r){return r<=0&&(e=t=n=NaN),new xi(e,t,n,r)}function lpe(e){return e instanceof vm||(e=Pg(e)),e?(e=e.rgb(),new xi(e.r,e.g,e.b,e.opacity)):new xi}function $3(e,t,n,r){return arguments.length===1?lpe(e):new xi(e,t,n,r??1)}function xi(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}VT(xi,$3,NF(vm,{brighter(e){return e=e==null?M1:Math.pow(M1,e),new xi(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Eg:Math.pow(Eg,e),new xi(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new xi(Hu(this.r),Hu(this.g),Hu(this.b),N1(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:vR,formatHex:vR,formatHex8:upe,formatRgb:_R,toString:_R}));function vR(){return`#${$u(this.r)}${$u(this.g)}${$u(this.b)}`}function upe(){return`#${$u(this.r)}${$u(this.g)}${$u(this.b)}${$u((isNaN(this.opacity)?1:this.opacity)*255)}`}function _R(){const e=N1(this.opacity);return`${e===1?"rgb(":"rgba("}${Hu(this.r)}, ${Hu(this.g)}, ${Hu(this.b)}${e===1?")":`, ${e})`}`}function N1(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Hu(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function $u(e){return e=Hu(e),(e<16?"0":"")+e.toString(16)}function bR(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new jo(e,t,n,r)}function LF(e){if(e instanceof jo)return new jo(e.h,e.s,e.l,e.opacity);if(e instanceof vm||(e=Pg(e)),!e)return new jo;if(e instanceof jo)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),s=NaN,a=o-i,l=(o+i)/2;return a?(t===o?s=(n-r)/a+(n0&&l<1?0:s,new jo(s,a,l,e.opacity)}function cpe(e,t,n,r){return arguments.length===1?LF(e):new jo(e,t,n,r??1)}function jo(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}VT(jo,cpe,NF(vm,{brighter(e){return e=e==null?M1:Math.pow(M1,e),new jo(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Eg:Math.pow(Eg,e),new jo(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new xi(mx(e>=240?e-240:e+120,i,r),mx(e,i,r),mx(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new jo(SR(this.h),x0(this.s),x0(this.l),N1(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=N1(this.opacity);return`${e===1?"hsl(":"hsla("}${SR(this.h)}, ${x0(this.s)*100}%, ${x0(this.l)*100}%${e===1?")":`, ${e})`}`}}));function SR(e){return e=(e||0)%360,e<0?e+360:e}function x0(e){return Math.max(0,Math.min(1,e||0))}function mx(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const DF=e=>()=>e;function dpe(e,t){return function(n){return e+n*t}}function fpe(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function hpe(e){return(e=+e)==1?$F:function(t,n){return n-t?fpe(t,n,e):DF(isNaN(t)?n:t)}}function $F(e,t){var n=t-e;return n?dpe(e,n):DF(isNaN(e)?t:e)}const wR=function e(t){var n=hpe(t);function r(i,o){var s=n((i=$3(i)).r,(o=$3(o)).r),a=n(i.g,o.g),l=n(i.b,o.b),u=$F(i.opacity,o.opacity);return function(d){return i.r=s(d),i.g=a(d),i.b=l(d),i.opacity=u(d),i+""}}return r.gamma=e,r}(1);function cl(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var F3=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,yx=new RegExp(F3.source,"g");function ppe(e){return function(){return e}}function gpe(e){return function(t){return e(t)+""}}function mpe(e,t){var n=F3.lastIndex=yx.lastIndex=0,r,i,o,s=-1,a=[],l=[];for(e=e+"",t=t+"";(r=F3.exec(e))&&(i=yx.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),a[s]?a[s]+=o:a[++s]=o),(r=r[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,l.push({i:s,x:cl(r,i)})),n=yx.lastIndex;return n180?d+=360:d-u>180&&(u+=360),p.push({i:f.push(i(f)+"rotate(",null,r)-2,x:cl(u,d)})):d&&f.push(i(f)+"rotate("+d+r)}function a(u,d,f,p){u!==d?p.push({i:f.push(i(f)+"skewX(",null,r)-2,x:cl(u,d)}):d&&f.push(i(f)+"skewX("+d+r)}function l(u,d,f,p,g,m){if(u!==f||d!==p){var v=g.push(i(g)+"scale(",null,",",null,")");m.push({i:v-4,x:cl(u,f)},{i:v-2,x:cl(d,p)})}else(f!==1||p!==1)&&g.push(i(g)+"scale("+f+","+p+")")}return function(u,d){var f=[],p=[];return u=e(u),d=e(d),o(u.translateX,u.translateY,d.translateX,d.translateY,f,p),s(u.rotate,d.rotate,f,p),a(u.skewX,d.skewX,f,p),l(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,p),u=d=null,function(g){for(var m=-1,v=p.length,x;++m=0&&e._call.call(void 0,t),e=e._next;--Ef}function TR(){oc=(D1=Rg.now())+Ob,Ef=dp=0;try{Epe()}finally{Ef=0,Ppe(),oc=0}}function Ape(){var e=Rg.now(),t=e-D1;t>UF&&(Ob-=t,D1=e)}function Ppe(){for(var e,t=L1,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:L1=n);fp=e,U3(r)}function U3(e){if(!Ef){dp&&(dp=clearTimeout(dp));var t=e-oc;t>24?(e<1/0&&(dp=setTimeout(TR,e-Rg.now()-Ob)),Gh&&(Gh=clearInterval(Gh))):(Gh||(D1=Rg.now(),Gh=setInterval(Ape,UF)),Ef=1,zF(TR))}}function ER(e,t,n){var r=new $1;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var Rpe=Pb("start","end","cancel","interrupt"),Ope=[],jF=0,AR=1,z3=2,pv=3,PR=4,V3=5,gv=6;function kb(e,t,n,r,i,o){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;kpe(e,n,{name:t,index:r,group:i,on:Rpe,tween:Ope,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:jF})}function GT(e,t){var n=ns(e,t);if(n.state>jF)throw new Error("too late; already scheduled");return n}function Bs(e,t){var n=ns(e,t);if(n.state>pv)throw new Error("too late; already running");return n}function ns(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function kpe(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=VF(o,0,n.time);function o(u){n.state=AR,n.timer.restart(s,n.delay,n.time),n.delay<=u&&s(u-n.delay)}function s(u){var d,f,p,g;if(n.state!==AR)return l();for(d in r)if(g=r[d],g.name===n.name){if(g.state===pv)return ER(s);g.state===PR?(g.state=gv,g.timer.stop(),g.on.call("interrupt",e,e.__data__,g.index,g.group),delete r[d]):+dz3&&r.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function age(e,t,n){var r,i,o=sge(t)?GT:Bs;return function(){var s=o(this,e),a=s.on;a!==r&&(i=(r=a).copy()).on(t,n),s.on=i}}function lge(e,t){var n=this._id;return arguments.length<2?ns(this.node(),n).on.on(e):this.each(age(n,e,t))}function uge(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function cge(){return this.on("end.remove",uge(this._id))}function dge(e){var t=this._name,n=this._id;typeof e!="function"&&(e=UT(e));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s()=>e;function Dge(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function ga(e,t,n){this.k=e,this.x=t,this.y=n}ga.prototype={constructor:ga,scale:function(e){return e===1?this:new ga(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new ga(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var kl=new ga(1,0,0);ga.prototype;function vx(e){e.stopImmediatePropagation()}function Hh(e){e.preventDefault(),e.stopImmediatePropagation()}function $ge(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Fge(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function RR(){return this.__zoom||kl}function Bge(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Uge(){return navigator.maxTouchPoints||"ontouchstart"in this}function zge(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function Vge(){var e=$ge,t=Fge,n=zge,r=Bge,i=Uge,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,l=Cpe,u=Pb("start","zoom","end"),d,f,p,g=500,m=150,v=0,x=10;function _(A){A.property("__zoom",RR).on("wheel.zoom",P,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",O).filter(i).on("touchstart.zoom",M).on("touchmove.zoom",G).on("touchend.zoom touchcancel.zoom",U).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}_.transform=function(A,N,F,B){var D=A.selection?A.selection():A;D.property("__zoom",RR),A!==D?C(A,N,F,B):D.interrupt().each(function(){T(this,arguments).event(B).start().zoom(null,typeof N=="function"?N.apply(this,arguments):N).end()})},_.scaleBy=function(A,N,F,B){_.scaleTo(A,function(){var D=this.__zoom.k,V=typeof N=="function"?N.apply(this,arguments):N;return D*V},F,B)},_.scaleTo=function(A,N,F,B){_.transform(A,function(){var D=t.apply(this,arguments),V=this.__zoom,j=F==null?S(D):typeof F=="function"?F.apply(this,arguments):F,q=V.invert(j),Z=typeof N=="function"?N.apply(this,arguments):N;return n(y(b(V,Z),j,q),D,s)},F,B)},_.translateBy=function(A,N,F,B){_.transform(A,function(){return n(this.__zoom.translate(typeof N=="function"?N.apply(this,arguments):N,typeof F=="function"?F.apply(this,arguments):F),t.apply(this,arguments),s)},null,B)},_.translateTo=function(A,N,F,B,D){_.transform(A,function(){var V=t.apply(this,arguments),j=this.__zoom,q=B==null?S(V):typeof B=="function"?B.apply(this,arguments):B;return n(kl.translate(q[0],q[1]).scale(j.k).translate(typeof N=="function"?-N.apply(this,arguments):-N,typeof F=="function"?-F.apply(this,arguments):-F),V,s)},B,D)};function b(A,N){return N=Math.max(o[0],Math.min(o[1],N)),N===A.k?A:new ga(N,A.x,A.y)}function y(A,N,F){var B=N[0]-F[0]*A.k,D=N[1]-F[1]*A.k;return B===A.x&&D===A.y?A:new ga(A.k,B,D)}function S(A){return[(+A[0][0]+ +A[1][0])/2,(+A[0][1]+ +A[1][1])/2]}function C(A,N,F,B){A.on("start.zoom",function(){T(this,arguments).event(B).start()}).on("interrupt.zoom end.zoom",function(){T(this,arguments).event(B).end()}).tween("zoom",function(){var D=this,V=arguments,j=T(D,V).event(B),q=t.apply(D,V),Z=F==null?S(q):typeof F=="function"?F.apply(D,V):F,ee=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),ie=D.__zoom,se=typeof N=="function"?N.apply(D,V):N,le=l(ie.invert(Z).concat(ee/ie.k),se.invert(Z).concat(ee/se.k));return function(W){if(W===1)W=se;else{var ne=le(W),fe=ee/ne[2];W=new ga(fe,Z[0]-ne[0]*fe,Z[1]-ne[1]*fe)}j.zoom(null,W)}})}function T(A,N,F){return!F&&A.__zooming||new E(A,N)}function E(A,N){this.that=A,this.args=N,this.active=0,this.sourceEvent=null,this.extent=t.apply(A,N),this.taps=0}E.prototype={event:function(A){return A&&(this.sourceEvent=A),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(A,N){return this.mouse&&A!=="mouse"&&(this.mouse[1]=N.invert(this.mouse[0])),this.touch0&&A!=="touch"&&(this.touch0[1]=N.invert(this.touch0[0])),this.touch1&&A!=="touch"&&(this.touch1[1]=N.invert(this.touch1[0])),this.that.__zoom=N,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(A){var N=Vo(this.that).datum();u.call(A,this.that,new Dge(A,{sourceEvent:this.sourceEvent,target:_,type:A,transform:this.that.__zoom,dispatch:u}),N)}};function P(A,...N){if(!e.apply(this,arguments))return;var F=T(this,N).event(A),B=this.__zoom,D=Math.max(o[0],Math.min(o[1],B.k*Math.pow(2,r.apply(this,arguments)))),V=gs(A);if(F.wheel)(F.mouse[0][0]!==V[0]||F.mouse[0][1]!==V[1])&&(F.mouse[1]=B.invert(F.mouse[0]=V)),clearTimeout(F.wheel);else{if(B.k===D)return;F.mouse=[V,B.invert(V)],mv(this),F.start()}Hh(A),F.wheel=setTimeout(j,m),F.zoom("mouse",n(y(b(B,D),F.mouse[0],F.mouse[1]),F.extent,s));function j(){F.wheel=null,F.end()}}function k(A,...N){if(p||!e.apply(this,arguments))return;var F=A.currentTarget,B=T(this,N,!0).event(A),D=Vo(A.view).on("mousemove.zoom",Z,!0).on("mouseup.zoom",ee,!0),V=gs(A,F),j=A.clientX,q=A.clientY;IF(A.view),vx(A),B.mouse=[V,this.__zoom.invert(V)],mv(this),B.start();function Z(ie){if(Hh(ie),!B.moved){var se=ie.clientX-j,le=ie.clientY-q;B.moved=se*se+le*le>v}B.event(ie).zoom("mouse",n(y(B.that.__zoom,B.mouse[0]=gs(ie,F),B.mouse[1]),B.extent,s))}function ee(ie){D.on("mousemove.zoom mouseup.zoom",null),MF(ie.view,B.moved),Hh(ie),B.event(ie).end()}}function O(A,...N){if(e.apply(this,arguments)){var F=this.__zoom,B=gs(A.changedTouches?A.changedTouches[0]:A,this),D=F.invert(B),V=F.k*(A.shiftKey?.5:2),j=n(y(b(F,V),B,D),t.apply(this,N),s);Hh(A),a>0?Vo(this).transition().duration(a).call(C,j,B,A):Vo(this).call(_.transform,j,B,A)}}function M(A,...N){if(e.apply(this,arguments)){var F=A.touches,B=F.length,D=T(this,N,A.changedTouches.length===B).event(A),V,j,q,Z;for(vx(A),j=0;j"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`},qF=Hl.error001();function Mn(e,t){const n=L.useContext(Ib);if(n===null)throw new Error(qF);return cfe(n,e,t)}const qr=()=>{const e=L.useContext(Ib);if(e===null)throw new Error(qF);return L.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},Gge=e=>e.userSelectionActive?"none":"all";function Hge({position:e,children:t,className:n,style:r,...i}){const o=Mn(Gge),s=`${e}`.split("-");return ue.jsx("div",{className:Eo(["react-flow__panel",n,...s]),style:{...r,pointerEvents:o},...i,children:t})}function Wge({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:ue.jsx(Hge,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:ue.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const qge=({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:s=[2,4],labelBgBorderRadius:a=2,children:l,className:u,...d})=>{const f=L.useRef(null),[p,g]=L.useState({x:0,y:0,width:0,height:0}),m=Eo(["react-flow__edge-textwrapper",u]);return L.useEffect(()=>{if(f.current){const v=f.current.getBBox();g({x:v.x,y:v.y,width:v.width,height:v.height})}},[n]),typeof n>"u"||!n?null:ue.jsxs("g",{transform:`translate(${e-p.width/2} ${t-p.height/2})`,className:m,visibility:p.width?"visible":"hidden",...d,children:[i&&ue.jsx("rect",{width:p.width+2*s[0],x:-s[0],y:-s[1],height:p.height+2*s[1],className:"react-flow__edge-textbg",style:o,rx:a,ry:a}),ue.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:f,style:r,children:n}),l]})};var Kge=L.memo(qge);const WT=e=>({width:e.offsetWidth,height:e.offsetHeight}),Af=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),qT=(e={x:0,y:0},t)=>({x:Af(e.x,t[0][0],t[1][0]),y:Af(e.y,t[0][1],t[1][1])}),OR=(e,t,n)=>en?-Af(Math.abs(e-n),1,50)/50:0,KF=(e,t)=>{const n=OR(e.x,35,t.width-35)*20,r=OR(e.y,35,t.height-35)*20;return[n,r]},XF=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},YF=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),F1=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),QF=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),kR=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),NIe=(e,t)=>QF(YF(F1(e),F1(t))),j3=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},Xge=e=>_o(e.width)&&_o(e.height)&&_o(e.x)&&_o(e.y),_o=e=>!isNaN(e)&&isFinite(e),nr=Symbol.for("internals"),ZF=["Enter"," ","Escape"],Yge=(e,t)=>{},Qge=e=>"nativeEvent"in e;function G3(e){var i,o;const t=Qge(e)?e.nativeEvent:e,n=((o=(i=t.composedPath)==null?void 0:i.call(t))==null?void 0:o[0])||e.target;return["INPUT","SELECT","TEXTAREA"].includes(n==null?void 0:n.nodeName)||(n==null?void 0:n.hasAttribute("contenteditable"))||!!(n!=null&&n.closest(".nokey"))}const JF=e=>"clientX"in e,Il=(e,t)=>{var o,s;const n=JF(e),r=n?e.clientX:(o=e.touches)==null?void 0:o[0].clientX,i=n?e.clientY:(s=e.touches)==null?void 0:s[0].clientY;return{x:r-((t==null?void 0:t.left)??0),y:i-((t==null?void 0:t.top)??0)}},_m=({id:e,path:t,labelX:n,labelY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:g=20})=>ue.jsxs(ue.Fragment,{children:[ue.jsx("path",{id:e,style:d,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:f,markerStart:p}),g&&ue.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:g,className:"react-flow__edge-interaction"}),i&&_o(n)&&_o(r)?ue.jsx(Kge,{x:n,y:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u}):null]});_m.displayName="BaseEdge";function Wh(e,t,n){return n===void 0?n:r=>{const i=t().edges.find(o=>o.id===e);i&&n(r,{...i})}}function eB({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,o=n{const[x,_,b]=nB({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return ue.jsx(_m,{path:x,labelX:_,labelY:b,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,interactionWidth:v})});KT.displayName="SimpleBezierEdge";const MR={[Ne.Left]:{x:-1,y:0},[Ne.Right]:{x:1,y:0},[Ne.Top]:{x:0,y:-1},[Ne.Bottom]:{x:0,y:1}},Zge=({source:e,sourcePosition:t=Ne.Bottom,target:n})=>t===Ne.Left||t===Ne.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function Jge({source:e,sourcePosition:t=Ne.Bottom,target:n,targetPosition:r=Ne.Top,center:i,offset:o}){const s=MR[t],a=MR[r],l={x:e.x+s.x*o,y:e.y+s.y*o},u={x:n.x+a.x*o,y:n.y+a.y*o},d=Zge({source:l,sourcePosition:t,target:u}),f=d.x!==0?"x":"y",p=d[f];let g=[],m,v;const[x,_,b,y]=eB({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[f]*a[f]===-1){m=i.x||x,v=i.y||_;const C=[{x:m,y:l.y},{x:m,y:u.y}],T=[{x:l.x,y:v},{x:u.x,y:v}];s[f]===p?g=f==="x"?C:T:g=f==="x"?T:C}else{const C=[{x:l.x,y:u.y}],T=[{x:u.x,y:l.y}];if(f==="x"?g=s.x===p?T:C:g=s.y===p?C:T,t!==r){const E=f==="x"?"y":"x",P=s[f]===a[E],k=l[E]>u[E],O=l[E]{let y="";return b>0&&b{const[_,b,y]=H3({sourceX:e,sourceY:t,sourcePosition:f,targetX:n,targetY:r,targetPosition:p,borderRadius:v==null?void 0:v.borderRadius,offset:v==null?void 0:v.offset});return ue.jsx(_m,{path:_,labelX:b,labelY:y,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:g,markerStart:m,interactionWidth:x})});Mb.displayName="SmoothStepEdge";const XT=L.memo(e=>{var t;return ue.jsx(Mb,{...e,pathOptions:L.useMemo(()=>{var n;return{borderRadius:0,offset:(n=e.pathOptions)==null?void 0:n.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});XT.displayName="StepEdge";function tme({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,s,a]=eB({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,s,a]}const YT=L.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:g})=>{const[m,v,x]=tme({sourceX:e,sourceY:t,targetX:n,targetY:r});return ue.jsx(_m,{path:m,labelX:v,labelY:x,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:g})});YT.displayName="StraightEdge";function E0(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function LR({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case Ne.Left:return[t-E0(t-r,o),n];case Ne.Right:return[t+E0(r-t,o),n];case Ne.Top:return[t,n-E0(n-i,o)];case Ne.Bottom:return[t,n+E0(i-n,o)]}}function rB({sourceX:e,sourceY:t,sourcePosition:n=Ne.Bottom,targetX:r,targetY:i,targetPosition:o=Ne.Top,curvature:s=.25}){const[a,l]=LR({pos:n,x1:e,y1:t,x2:r,y2:i,c:s}),[u,d]=LR({pos:o,x1:r,y1:i,x2:e,y2:t,c:s}),[f,p,g,m]=tB({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:l,targetControlX:u,targetControlY:d});return[`M${e},${t} C${a},${l} ${u},${d} ${r},${i}`,f,p,g,m]}const U1=L.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=Ne.Bottom,targetPosition:o=Ne.Top,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,pathOptions:v,interactionWidth:x})=>{const[_,b,y]=rB({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:v==null?void 0:v.curvature});return ue.jsx(_m,{path:_,labelX:b,labelY:y,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,interactionWidth:x})});U1.displayName="BezierEdge";const QT=L.createContext(null),nme=QT.Provider;QT.Consumer;const rme=()=>L.useContext(QT),ime=e=>"id"in e&&"source"in e&&"target"in e,ome=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,W3=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`,sme=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),iB=(e,t)=>{if(!e.source||!e.target)return t;let n;return ime(e)?n={...e}:n={...e,id:ome(e)},sme(n,t)?t:t.concat(n)},oB=({x:e,y:t},[n,r,i],o,[s,a])=>{const l={x:(e-n)/i,y:(t-r)/i};return o?{x:s*Math.round(l.x/s),y:a*Math.round(l.y/a)}:l},ame=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),rf=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=(e.width??0)*t[0],r=(e.height??0)*t[1],i={x:e.position.x-n,y:e.position.y-r};return{...i,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:i}},sB=(e,t=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,i)=>{const{x:o,y:s}=rf(i,t).positionAbsolute;return YF(r,F1({x:o,y:s,width:i.width||0,height:i.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return QF(n)},aB=(e,t,[n,r,i]=[0,0,1],o=!1,s=!1,a=[0,0])=>{const l={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},u=[];return e.forEach(d=>{const{width:f,height:p,selectable:g=!0,hidden:m=!1}=d;if(s&&!g||m)return!1;const{positionAbsolute:v}=rf(d,a),x={x:v.x,y:v.y,width:f||0,height:p||0},_=j3(l,x),b=typeof f>"u"||typeof p>"u"||f===null||p===null,y=o&&_>0,S=(f||0)*(p||0);(b||y||_>=S||d.dragging)&&u.push(d)}),u},lB=(e,t)=>{const n=e.map(r=>r.id);return t.filter(r=>n.includes(r.source)||n.includes(r.target))},uB=(e,t,n,r,i,o=.1)=>{const s=t/(e.width*(1+o)),a=n/(e.height*(1+o)),l=Math.min(s,a),u=Af(l,r,i),d=e.x+e.width/2,f=e.y+e.height/2,p=t/2-d*u,g=n/2-f*u;return[p,g,u]},Au=(e,t=0)=>e.transition().duration(t);function DR(e,t,n,r){return(t[n]||[]).reduce((i,o)=>{var s,a;return`${e.id}-${o.id}-${n}`!==r&&i.push({id:o.id||null,type:n,nodeId:e.id,x:(((s=e.positionAbsolute)==null?void 0:s.x)??0)+o.x+o.width/2,y:(((a=e.positionAbsolute)==null?void 0:a.y)??0)+o.y+o.height/2}),i},[])}function lme(e,t,n,r,i,o){const{x:s,y:a}=Il(e),u=t.elementsFromPoint(s,a).find(m=>m.classList.contains("react-flow__handle"));if(u){const m=u.getAttribute("data-nodeid");if(m){const v=ZT(void 0,u),x=u.getAttribute("data-handleid"),_=o({nodeId:m,id:x,type:v});if(_)return{handle:{id:x,type:v,nodeId:m,x:n.x,y:n.y},validHandleResult:_}}}let d=[],f=1/0;if(i.forEach(m=>{const v=Math.sqrt((m.x-n.x)**2+(m.y-n.y)**2);if(v<=r){const x=o(m);v<=f&&(vm.isValid),g=d.some(({handle:m})=>m.type==="target");return d.find(({handle:m,validHandleResult:v})=>g?m.type==="target":p?v.isValid:!0)||d[0]}const ume={source:null,target:null,sourceHandle:null,targetHandle:null},cB=()=>({handleDomNode:null,isValid:!1,connection:ume,endHandle:null});function dB(e,t,n,r,i,o,s){const a=i==="target",l=s.querySelector(`.react-flow__handle[data-id="${e==null?void 0:e.nodeId}-${e==null?void 0:e.id}-${e==null?void 0:e.type}"]`),u={...cB(),handleDomNode:l};if(l){const d=ZT(void 0,l),f=l.getAttribute("data-nodeid"),p=l.getAttribute("data-handleid"),g=l.classList.contains("connectable"),m=l.classList.contains("connectableend"),v={source:a?f:n,sourceHandle:a?p:r,target:a?n:f,targetHandle:a?r:p};u.connection=v,g&&m&&(t===sc.Strict?a&&d==="source"||!a&&d==="target":f!==n||p!==r)&&(u.endHandle={nodeId:f,handleId:p,type:d},u.isValid=o(v))}return u}function cme({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((i,o)=>{if(o[nr]){const{handleBounds:s}=o[nr];let a=[],l=[];s&&(a=DR(o,s,"source",`${t}-${n}-${r}`),l=DR(o,s,"target",`${t}-${n}-${r}`)),i.push(...a,...l)}return i},[])}function ZT(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function _x(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function dme(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function fB({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:s,isValidConnection:a,edgeUpdaterType:l,onEdgeUpdateEnd:u}){const d=XF(e.target),{connectionMode:f,domNode:p,autoPanOnConnect:g,connectionRadius:m,onConnectStart:v,panBy:x,getNodes:_,cancelConnection:b}=o();let y=0,S;const{x:C,y:T}=Il(e),E=d==null?void 0:d.elementFromPoint(C,T),P=ZT(l,E),k=p==null?void 0:p.getBoundingClientRect();if(!k||!P)return;let O,M=Il(e,k),G=!1,U=null,A=!1,N=null;const F=cme({nodes:_(),nodeId:n,handleId:t,handleType:P}),B=()=>{if(!g)return;const[j,q]=KF(M,k);x({x:j,y:q}),y=requestAnimationFrame(B)};s({connectionPosition:M,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:P,connectionStartHandle:{nodeId:n,handleId:t,type:P},connectionEndHandle:null}),v==null||v(e,{nodeId:n,handleId:t,handleType:P});function D(j){const{transform:q}=o();M=Il(j,k);const{handle:Z,validHandleResult:ee}=lme(j,d,oB(M,q,!1,[1,1]),m,F,ie=>dB(ie,f,n,t,i?"target":"source",a,d));if(S=Z,G||(B(),G=!0),N=ee.handleDomNode,U=ee.connection,A=ee.isValid,s({connectionPosition:S&&A?ame({x:S.x,y:S.y},q):M,connectionStatus:dme(!!S,A),connectionEndHandle:ee.endHandle}),!S&&!A&&!N)return _x(O);U.source!==U.target&&N&&(_x(O),O=N,N.classList.add("connecting","react-flow__handle-connecting"),N.classList.toggle("valid",A),N.classList.toggle("react-flow__handle-valid",A))}function V(j){var q,Z;(S||N)&&U&&A&&(r==null||r(U)),(Z=(q=o()).onConnectEnd)==null||Z.call(q,j),l&&(u==null||u(j)),_x(O),b(),cancelAnimationFrame(y),G=!1,A=!1,U=null,N=null,d.removeEventListener("mousemove",D),d.removeEventListener("mouseup",V),d.removeEventListener("touchmove",D),d.removeEventListener("touchend",V)}d.addEventListener("mousemove",D),d.addEventListener("mouseup",V),d.addEventListener("touchmove",D),d.addEventListener("touchend",V)}const $R=()=>!0,fme=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),hme=(e,t,n)=>r=>{const{connectionStartHandle:i,connectionEndHandle:o,connectionClickStartHandle:s}=r;return{connecting:(i==null?void 0:i.nodeId)===e&&(i==null?void 0:i.handleId)===t&&(i==null?void 0:i.type)===n||(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.handleId)===t&&(o==null?void 0:o.type)===n,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.handleId)===t&&(s==null?void 0:s.type)===n}},hB=L.forwardRef(({type:e="source",position:t=Ne.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:o=!0,id:s,onConnect:a,children:l,className:u,onMouseDown:d,onTouchStart:f,...p},g)=>{var k,O;const m=s||null,v=e==="target",x=qr(),_=rme(),{connectOnClick:b,noPanClassName:y}=Mn(fme,Ri),{connecting:S,clickConnecting:C}=Mn(hme(_,m,e),Ri);_||(O=(k=x.getState()).onError)==null||O.call(k,"010",Hl.error010());const T=M=>{const{defaultEdgeOptions:G,onConnect:U,hasDefaultEdges:A}=x.getState(),N={...G,...M};if(A){const{edges:F,setEdges:B}=x.getState();B(iB(N,F))}U==null||U(N),a==null||a(N)},E=M=>{if(!_)return;const G=JF(M);i&&(G&&M.button===0||!G)&&fB({event:M,handleId:m,nodeId:_,onConnect:T,isTarget:v,getState:x.getState,setState:x.setState,isValidConnection:n||x.getState().isValidConnection||$R}),G?d==null||d(M):f==null||f(M)},P=M=>{const{onClickConnectStart:G,onClickConnectEnd:U,connectionClickStartHandle:A,connectionMode:N,isValidConnection:F}=x.getState();if(!_||!A&&!i)return;if(!A){G==null||G(M,{nodeId:_,handleId:m,handleType:e}),x.setState({connectionClickStartHandle:{nodeId:_,type:e,handleId:m}});return}const B=XF(M.target),D=n||F||$R,{connection:V,isValid:j}=dB({nodeId:_,id:m,type:e},N,A.nodeId,A.handleId||null,A.type,D,B);j&&T(V),U==null||U(M),x.setState({connectionClickStartHandle:null})};return ue.jsx("div",{"data-handleid":m,"data-nodeid":_,"data-handlepos":t,"data-id":`${_}-${m}-${e}`,className:Eo(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",y,u,{source:!v,target:v,connectable:r,connectablestart:i,connectableend:o,connecting:C,connectionindicator:r&&(i&&!S||o&&S)}]),onMouseDown:E,onTouchStart:E,onClick:b?P:void 0,ref:g,...p,children:l})});hB.displayName="Handle";var z1=L.memo(hB);const pB=({data:e,isConnectable:t,targetPosition:n=Ne.Top,sourcePosition:r=Ne.Bottom})=>ue.jsxs(ue.Fragment,{children:[ue.jsx(z1,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,ue.jsx(z1,{type:"source",position:r,isConnectable:t})]});pB.displayName="DefaultNode";var q3=L.memo(pB);const gB=({data:e,isConnectable:t,sourcePosition:n=Ne.Bottom})=>ue.jsxs(ue.Fragment,{children:[e==null?void 0:e.label,ue.jsx(z1,{type:"source",position:n,isConnectable:t})]});gB.displayName="InputNode";var mB=L.memo(gB);const yB=({data:e,isConnectable:t,targetPosition:n=Ne.Top})=>ue.jsxs(ue.Fragment,{children:[ue.jsx(z1,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]});yB.displayName="OutputNode";var vB=L.memo(yB);const JT=()=>null;JT.displayName="GroupNode";const pme=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected)}),A0=e=>e.id;function gme(e,t){return Ri(e.selectedNodes.map(A0),t.selectedNodes.map(A0))&&Ri(e.selectedEdges.map(A0),t.selectedEdges.map(A0))}const _B=L.memo(({onSelectionChange:e})=>{const t=qr(),{selectedNodes:n,selectedEdges:r}=Mn(pme,gme);return L.useEffect(()=>{var o,s;const i={nodes:n,edges:r};e==null||e(i),(s=(o=t.getState()).onSelectionChange)==null||s.call(o,i)},[n,r,e]),null});_B.displayName="SelectionListener";const mme=e=>!!e.onSelectionChange;function yme({onSelectionChange:e}){const t=Mn(mme);return e||t?ue.jsx(_B,{onSelectionChange:e}):null}const vme=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function rd(e,t){L.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function at(e,t,n){L.useEffect(()=>{typeof t<"u"&&n({[e]:t})},[t])}const _me=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:s,onClickConnectStart:a,onClickConnectEnd:l,nodesDraggable:u,nodesConnectable:d,nodesFocusable:f,edgesFocusable:p,edgesUpdatable:g,elevateNodesOnSelect:m,minZoom:v,maxZoom:x,nodeExtent:_,onNodesChange:b,onEdgesChange:y,elementsSelectable:S,connectionMode:C,snapGrid:T,snapToGrid:E,translateExtent:P,connectOnClick:k,defaultEdgeOptions:O,fitView:M,fitViewOptions:G,onNodesDelete:U,onEdgesDelete:A,onNodeDrag:N,onNodeDragStart:F,onNodeDragStop:B,onSelectionDrag:D,onSelectionDragStart:V,onSelectionDragStop:j,noPanClassName:q,nodeOrigin:Z,rfId:ee,autoPanOnConnect:ie,autoPanOnNodeDrag:se,onError:le,connectionRadius:W,isValidConnection:ne})=>{const{setNodes:fe,setEdges:pe,setDefaultNodesAndEdges:ve,setMinZoom:ye,setMaxZoom:We,setTranslateExtent:Me,setNodeExtent:Ee,reset:lt}=Mn(vme,Ri),_e=qr();return L.useEffect(()=>{const jt=r==null?void 0:r.map(Hn=>({...Hn,...O}));return ve(n,jt),()=>{lt()}},[]),at("defaultEdgeOptions",O,_e.setState),at("connectionMode",C,_e.setState),at("onConnect",i,_e.setState),at("onConnectStart",o,_e.setState),at("onConnectEnd",s,_e.setState),at("onClickConnectStart",a,_e.setState),at("onClickConnectEnd",l,_e.setState),at("nodesDraggable",u,_e.setState),at("nodesConnectable",d,_e.setState),at("nodesFocusable",f,_e.setState),at("edgesFocusable",p,_e.setState),at("edgesUpdatable",g,_e.setState),at("elementsSelectable",S,_e.setState),at("elevateNodesOnSelect",m,_e.setState),at("snapToGrid",E,_e.setState),at("snapGrid",T,_e.setState),at("onNodesChange",b,_e.setState),at("onEdgesChange",y,_e.setState),at("connectOnClick",k,_e.setState),at("fitViewOnInit",M,_e.setState),at("fitViewOnInitOptions",G,_e.setState),at("onNodesDelete",U,_e.setState),at("onEdgesDelete",A,_e.setState),at("onNodeDrag",N,_e.setState),at("onNodeDragStart",F,_e.setState),at("onNodeDragStop",B,_e.setState),at("onSelectionDrag",D,_e.setState),at("onSelectionDragStart",V,_e.setState),at("onSelectionDragStop",j,_e.setState),at("noPanClassName",q,_e.setState),at("nodeOrigin",Z,_e.setState),at("rfId",ee,_e.setState),at("autoPanOnConnect",ie,_e.setState),at("autoPanOnNodeDrag",se,_e.setState),at("onError",le,_e.setState),at("connectionRadius",W,_e.setState),at("isValidConnection",ne,_e.setState),rd(e,fe),rd(t,pe),rd(v,ye),rd(x,We),rd(P,Me),rd(_,Ee),null},FR={display:"none"},bme={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},bB="react-flow__node-desc",SB="react-flow__edge-desc",Sme="react-flow__aria-live",wme=e=>e.ariaLiveMessage;function xme({rfId:e}){const t=Mn(wme);return ue.jsx("div",{id:`${Sme}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:bme,children:t})}function Cme({rfId:e,disableKeyboardA11y:t}){return ue.jsxs(ue.Fragment,{children:[ue.jsxs("div",{id:`${bB}-${e}`,style:FR,children:["Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "]}),ue.jsx("div",{id:`${SB}-${e}`,style:FR,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!t&&ue.jsx(xme,{rfId:e})]})}const Tme=(e,t,n)=>n===Ne.Left?e-t:n===Ne.Right?e+t:e,Eme=(e,t,n)=>n===Ne.Top?e-t:n===Ne.Bottom?e+t:e,BR="react-flow__edgeupdater",UR=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:s,type:a})=>ue.jsx("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:s,className:Eo([BR,`${BR}-${a}`]),cx:Tme(t,r,e),cy:Eme(n,r,e),r,stroke:"transparent",fill:"transparent"}),Ame=()=>!0;var id=e=>{const t=({id:n,className:r,type:i,data:o,onClick:s,onEdgeDoubleClick:a,selected:l,animated:u,label:d,labelStyle:f,labelShowBg:p,labelBgStyle:g,labelBgPadding:m,labelBgBorderRadius:v,style:x,source:_,target:b,sourceX:y,sourceY:S,targetX:C,targetY:T,sourcePosition:E,targetPosition:P,elementsSelectable:k,hidden:O,sourceHandleId:M,targetHandleId:G,onContextMenu:U,onMouseEnter:A,onMouseMove:N,onMouseLeave:F,edgeUpdaterRadius:B,onEdgeUpdate:D,onEdgeUpdateStart:V,onEdgeUpdateEnd:j,markerEnd:q,markerStart:Z,rfId:ee,ariaLabel:ie,isFocusable:se,isUpdatable:le,pathOptions:W,interactionWidth:ne})=>{const fe=L.useRef(null),[pe,ve]=L.useState(!1),[ye,We]=L.useState(!1),Me=qr(),Ee=L.useMemo(()=>`url(#${W3(Z,ee)})`,[Z,ee]),lt=L.useMemo(()=>`url(#${W3(q,ee)})`,[q,ee]);if(O)return null;const _e=sn=>{const{edges:Gt,addSelectedEdges:vr}=Me.getState();if(k&&(Me.setState({nodesSelectionActive:!1}),vr([n])),s){const Lr=Gt.find(Xr=>Xr.id===n);s(sn,Lr)}},jt=Wh(n,Me.getState,a),Hn=Wh(n,Me.getState,U),Bt=Wh(n,Me.getState,A),it=Wh(n,Me.getState,N),gt=Wh(n,Me.getState,F),Jt=(sn,Gt)=>{if(sn.button!==0)return;const{edges:vr,isValidConnection:Lr}=Me.getState(),Xr=Gt?b:_,Ii=(Gt?G:M)||null,En=Gt?"target":"source",Yr=Lr||Ame,Vs=Gt,Ji=vr.find(Ot=>Ot.id===n);We(!0),V==null||V(sn,Ji,En);const js=Ot=>{We(!1),j==null||j(Ot,Ji,En)};fB({event:sn,handleId:Ii,nodeId:Xr,onConnect:Ot=>D==null?void 0:D(Ji,Ot),isTarget:Vs,getState:Me.getState,setState:Me.setState,isValidConnection:Yr,edgeUpdaterType:En,onEdgeUpdateEnd:js})},Nr=sn=>Jt(sn,!0),yr=sn=>Jt(sn,!1),hi=()=>ve(!0),wn=()=>ve(!1),on=!k&&!s,Wn=sn=>{var Gt;if(ZF.includes(sn.key)&&k){const{unselectNodesAndEdges:vr,addSelectedEdges:Lr,edges:Xr}=Me.getState();sn.key==="Escape"?((Gt=fe.current)==null||Gt.blur(),vr({edges:[Xr.find(En=>En.id===n)]})):Lr([n])}};return ue.jsxs("g",{className:Eo(["react-flow__edge",`react-flow__edge-${i}`,r,{selected:l,animated:u,inactive:on,updating:pe}]),onClick:_e,onDoubleClick:jt,onContextMenu:Hn,onMouseEnter:Bt,onMouseMove:it,onMouseLeave:gt,onKeyDown:se?Wn:void 0,tabIndex:se?0:void 0,role:se?"button":void 0,"data-testid":`rf__edge-${n}`,"aria-label":ie===null?void 0:ie||`Edge from ${_} to ${b}`,"aria-describedby":se?`${SB}-${ee}`:void 0,ref:fe,children:[!ye&&ue.jsx(e,{id:n,source:_,target:b,selected:l,animated:u,label:d,labelStyle:f,labelShowBg:p,labelBgStyle:g,labelBgPadding:m,labelBgBorderRadius:v,data:o,style:x,sourceX:y,sourceY:S,targetX:C,targetY:T,sourcePosition:E,targetPosition:P,sourceHandleId:M,targetHandleId:G,markerStart:Ee,markerEnd:lt,pathOptions:W,interactionWidth:ne}),le&&ue.jsxs(ue.Fragment,{children:[(le==="source"||le===!0)&&ue.jsx(UR,{position:E,centerX:y,centerY:S,radius:B,onMouseDown:Nr,onMouseEnter:hi,onMouseOut:wn,type:"source"}),(le==="target"||le===!0)&&ue.jsx(UR,{position:P,centerX:C,centerY:T,radius:B,onMouseDown:yr,onMouseEnter:hi,onMouseOut:wn,type:"target"})]})]})};return t.displayName="EdgeWrapper",L.memo(t)};function Pme(e){const t={default:id(e.default||U1),straight:id(e.bezier||YT),step:id(e.step||XT),smoothstep:id(e.step||Mb),simplebezier:id(e.simplebezier||KT)},n={},r=Object.keys(e).filter(i=>!["default","bezier"].includes(i)).reduce((i,o)=>(i[o]=id(e[o]||U1),i),n);return{...t,...r}}function zR(e,t,n=null){const r=((n==null?void 0:n.x)||0)+t.x,i=((n==null?void 0:n.y)||0)+t.y,o=(n==null?void 0:n.width)||t.width,s=(n==null?void 0:n.height)||t.height;switch(e){case Ne.Top:return{x:r+o/2,y:i};case Ne.Right:return{x:r+o,y:i+s/2};case Ne.Bottom:return{x:r+o/2,y:i+s};case Ne.Left:return{x:r,y:i+s/2}}}function VR(e,t){return e?e.length===1||!t?e[0]:t&&e.find(n=>n.id===t)||null:null}const Rme=(e,t,n,r,i,o)=>{const s=zR(n,e,t),a=zR(o,r,i);return{sourceX:s.x,sourceY:s.y,targetX:a.x,targetY:a.y}};function Ome({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:o,width:s,height:a,transform:l}){const u={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+r,t.y+o)};u.x===u.x2&&(u.x2+=1),u.y===u.y2&&(u.y2+=1);const d=F1({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:s/l[2],height:a/l[2]}),f=Math.max(0,Math.min(d.x2,u.x2)-Math.max(d.x,u.x)),p=Math.max(0,Math.min(d.y2,u.y2)-Math.max(d.y,u.y));return Math.ceil(f*p)>0}function jR(e){var r,i,o,s,a;const t=((r=e==null?void 0:e[nr])==null?void 0:r.handleBounds)||null,n=t&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((i=e==null?void 0:e.positionAbsolute)==null?void 0:i.x)<"u"&&typeof((o=e==null?void 0:e.positionAbsolute)==null?void 0:o.y)<"u";return[{x:((s=e==null?void 0:e.positionAbsolute)==null?void 0:s.x)||0,y:((a=e==null?void 0:e.positionAbsolute)==null?void 0:a.y)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0},t,!!n]}function wB(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return n?n.selected?!0:wB(n,t):!1}function GR(e,t,n){let r=e;do{if(r!=null&&r.matches(t))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function kme(e,t,n,r){return Array.from(e.values()).filter(i=>(i.selected||i.id===r)&&(!i.parentNode||!wB(i,e))&&(i.draggable||t&&typeof i.draggable>"u")).map(i=>{var o,s;return{id:i.id,position:i.position||{x:0,y:0},positionAbsolute:i.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((o=i.positionAbsolute)==null?void 0:o.x)??0),y:n.y-(((s=i.positionAbsolute)==null?void 0:s.y)??0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode,width:i.width,height:i.height}})}function Ime(e,t){return!t||t==="parent"?t:[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]}function xB(e,t,n,r,i=[0,0],o){const s=Ime(e,e.extent||r);let a=s;if(e.extent==="parent")if(e.parentNode&&e.width&&e.height){const d=n.get(e.parentNode),{x:f,y:p}=rf(d,i).positionAbsolute;a=d&&_o(f)&&_o(p)&&_o(d.width)&&_o(d.height)?[[f+e.width*i[0],p+e.height*i[1]],[f+d.width-e.width+e.width*i[0],p+d.height-e.height+e.height*i[1]]]:a}else o==null||o("005",Hl.error005()),a=s;else if(e.extent&&e.parentNode){const d=n.get(e.parentNode),{x:f,y:p}=rf(d,i).positionAbsolute;a=[[e.extent[0][0]+f,e.extent[0][1]+p],[e.extent[1][0]+f,e.extent[1][1]+p]]}let l={x:0,y:0};if(e.parentNode){const d=n.get(e.parentNode);l=rf(d,i).positionAbsolute}const u=a?qT(t,a):t;return{position:{x:u.x-l.x,y:u.y-l.y},positionAbsolute:u}}function bx({nodeId:e,dragItems:t,nodeInternals:n}){const r=t.map(i=>({...n.get(i.id),position:i.position,positionAbsolute:i.positionAbsolute}));return[e?r.find(i=>i.id===e):r[0],r]}const HR=(e,t,n,r)=>{const i=t.querySelectorAll(e);if(!i||!i.length)return null;const o=Array.from(i),s=t.getBoundingClientRect(),a={x:s.width*r[0],y:s.height*r[1]};return o.map(l=>{const u=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),position:l.getAttribute("data-handlepos"),x:(u.left-s.left-a.x)/n,y:(u.top-s.top-a.y)/n,...WT(l)}})};function qh(e,t,n){return n===void 0?n:r=>{const i=t().nodeInternals.get(e);n(r,{...i})}}function K3({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:i,unselectNodesAndEdges:o,multiSelectionActive:s,nodeInternals:a}=t.getState(),l=a.get(e);t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&s)&&(o({nodes:[l]}),requestAnimationFrame(()=>{var u;return(u=r==null?void 0:r.current)==null?void 0:u.blur()})):i([e])}function Mme(){const e=qr();return L.useCallback(({sourceEvent:n})=>{const{transform:r,snapGrid:i,snapToGrid:o}=e.getState(),s=n.touches?n.touches[0].clientX:n.clientX,a=n.touches?n.touches[0].clientY:n.clientY,l={x:(s-r[0])/r[2],y:(a-r[1])/r[2]};return{xSnapped:o?i[0]*Math.round(l.x/i[0]):l.x,ySnapped:o?i[1]*Math.round(l.y/i[1]):l.y,...l}},[])}function Sx(e){return(t,n,r)=>e==null?void 0:e(t,r)}function CB({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:s}){const a=qr(),[l,u]=L.useState(!1),d=L.useRef([]),f=L.useRef({x:null,y:null}),p=L.useRef(0),g=L.useRef(null),m=L.useRef({x:0,y:0}),v=L.useRef(null),x=L.useRef(!1),_=Mme();return L.useEffect(()=>{if(e!=null&&e.current){const b=Vo(e.current),y=({x:C,y:T})=>{const{nodeInternals:E,onNodeDrag:P,onSelectionDrag:k,updateNodePositions:O,nodeExtent:M,snapGrid:G,snapToGrid:U,nodeOrigin:A,onError:N}=a.getState();f.current={x:C,y:T};let F=!1;if(d.current=d.current.map(D=>{const V={x:C-D.distance.x,y:T-D.distance.y};U&&(V.x=G[0]*Math.round(V.x/G[0]),V.y=G[1]*Math.round(V.y/G[1]));const j=xB(D,V,E,M,A,N);return F=F||D.position.x!==j.position.x||D.position.y!==j.position.y,D.position=j.position,D.positionAbsolute=j.positionAbsolute,D}),!F)return;O(d.current,!0,!0),u(!0);const B=i?P:Sx(k);if(B&&v.current){const[D,V]=bx({nodeId:i,dragItems:d.current,nodeInternals:E});B(v.current,D,V)}},S=()=>{if(!g.current)return;const[C,T]=KF(m.current,g.current);if(C!==0||T!==0){const{transform:E,panBy:P}=a.getState();f.current.x=(f.current.x??0)-C/E[2],f.current.y=(f.current.y??0)-T/E[2],P({x:C,y:T})&&y(f.current)}p.current=requestAnimationFrame(S)};if(t)b.on(".drag",null);else{const C=Zhe().on("start",T=>{var F;const{nodeInternals:E,multiSelectionActive:P,domNode:k,nodesDraggable:O,unselectNodesAndEdges:M,onNodeDragStart:G,onSelectionDragStart:U}=a.getState(),A=i?G:Sx(U);!s&&!P&&i&&((F=E.get(i))!=null&&F.selected||M()),i&&o&&s&&K3({id:i,store:a,nodeRef:e});const N=_(T);if(f.current=N,d.current=kme(E,O,N,i),A&&d.current){const[B,D]=bx({nodeId:i,dragItems:d.current,nodeInternals:E});A(T.sourceEvent,B,D)}g.current=(k==null?void 0:k.getBoundingClientRect())||null,m.current=Il(T.sourceEvent,g.current)}).on("drag",T=>{const E=_(T),{autoPanOnNodeDrag:P}=a.getState();!x.current&&P&&(x.current=!0,S()),(f.current.x!==E.xSnapped||f.current.y!==E.ySnapped)&&d.current&&(v.current=T.sourceEvent,m.current=Il(T.sourceEvent,g.current),y(E))}).on("end",T=>{if(u(!1),x.current=!1,cancelAnimationFrame(p.current),d.current){const{updateNodePositions:E,nodeInternals:P,onNodeDragStop:k,onSelectionDragStop:O}=a.getState(),M=i?k:Sx(O);if(E(d.current,!1,!1),M){const[G,U]=bx({nodeId:i,dragItems:d.current,nodeInternals:P});M(T.sourceEvent,G,U)}}}).filter(T=>{const E=T.target;return!T.button&&(!n||!GR(E,`.${n}`,e))&&(!r||GR(E,r,e))});return b.call(C),()=>{b.on(".drag",null)}}}},[e,t,n,r,o,a,i,s,_]),l}function TB(){const e=qr();return L.useCallback(n=>{const{nodeInternals:r,nodeExtent:i,updateNodePositions:o,getNodes:s,snapToGrid:a,snapGrid:l,onError:u,nodesDraggable:d}=e.getState(),f=s().filter(b=>b.selected&&(b.draggable||d&&typeof b.draggable>"u")),p=a?l[0]:5,g=a?l[1]:5,m=n.isShiftPressed?4:1,v=n.x*p*m,x=n.y*g*m,_=f.map(b=>{if(b.positionAbsolute){const y={x:b.positionAbsolute.x+v,y:b.positionAbsolute.y+x};a&&(y.x=l[0]*Math.round(y.x/l[0]),y.y=l[1]*Math.round(y.y/l[1]));const{positionAbsolute:S,position:C}=xB(b,y,r,i,void 0,u);b.position=C,b.positionAbsolute=S}return b});o(_,!0,!1)},[])}const of={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var Kh=e=>{const t=({id:n,type:r,data:i,xPos:o,yPos:s,xPosOrigin:a,yPosOrigin:l,selected:u,onClick:d,onMouseEnter:f,onMouseMove:p,onMouseLeave:g,onContextMenu:m,onDoubleClick:v,style:x,className:_,isDraggable:b,isSelectable:y,isConnectable:S,isFocusable:C,selectNodesOnDrag:T,sourcePosition:E,targetPosition:P,hidden:k,resizeObserver:O,dragHandle:M,zIndex:G,isParent:U,noDragClassName:A,noPanClassName:N,initialized:F,disableKeyboardA11y:B,ariaLabel:D,rfId:V})=>{const j=qr(),q=L.useRef(null),Z=L.useRef(E),ee=L.useRef(P),ie=L.useRef(r),se=y||b||d||f||p||g,le=TB(),W=qh(n,j.getState,f),ne=qh(n,j.getState,p),fe=qh(n,j.getState,g),pe=qh(n,j.getState,m),ve=qh(n,j.getState,v),ye=Ee=>{if(y&&(!T||!b)&&K3({id:n,store:j,nodeRef:q}),d){const lt=j.getState().nodeInternals.get(n);d(Ee,{...lt})}},We=Ee=>{if(!G3(Ee))if(ZF.includes(Ee.key)&&y){const lt=Ee.key==="Escape";K3({id:n,store:j,unselect:lt,nodeRef:q})}else!B&&b&&u&&Object.prototype.hasOwnProperty.call(of,Ee.key)&&(j.setState({ariaLiveMessage:`Moved selected node ${Ee.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~s}`}),le({x:of[Ee.key].x,y:of[Ee.key].y,isShiftPressed:Ee.shiftKey}))};L.useEffect(()=>{if(q.current&&!k){const Ee=q.current;return O==null||O.observe(Ee),()=>O==null?void 0:O.unobserve(Ee)}},[k]),L.useEffect(()=>{const Ee=ie.current!==r,lt=Z.current!==E,_e=ee.current!==P;q.current&&(Ee||lt||_e)&&(Ee&&(ie.current=r),lt&&(Z.current=E),_e&&(ee.current=P),j.getState().updateNodeDimensions([{id:n,nodeElement:q.current,forceUpdate:!0}]))},[n,r,E,P]);const Me=CB({nodeRef:q,disabled:k||!b,noDragClassName:A,handleSelector:M,nodeId:n,isSelectable:y,selectNodesOnDrag:T});return k?null:ue.jsx("div",{className:Eo(["react-flow__node",`react-flow__node-${r}`,{[N]:b},_,{selected:u,selectable:y,parent:U,dragging:Me}]),ref:q,style:{zIndex:G,transform:`translate(${a}px,${l}px)`,pointerEvents:se?"all":"none",visibility:F?"visible":"hidden",...x},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:W,onMouseMove:ne,onMouseLeave:fe,onContextMenu:pe,onClick:ye,onDoubleClick:ve,onKeyDown:C?We:void 0,tabIndex:C?0:void 0,role:C?"button":void 0,"aria-describedby":B?void 0:`${bB}-${V}`,"aria-label":D,children:ue.jsx(nme,{value:n,children:ue.jsx(e,{id:n,data:i,type:r,xPos:o,yPos:s,selected:u,isConnectable:S,sourcePosition:E,targetPosition:P,dragging:Me,dragHandle:M,zIndex:G})})})};return t.displayName="NodeWrapper",L.memo(t)};function Nme(e){const t={input:Kh(e.input||mB),default:Kh(e.default||q3),output:Kh(e.output||vB),group:Kh(e.group||JT)},n={},r=Object.keys(e).filter(i=>!["input","default","output","group"].includes(i)).reduce((i,o)=>(i[o]=Kh(e[o]||q3),i),n);return{...t,...r}}const Lme=({x:e,y:t,width:n,height:r,origin:i})=>!n||!r?{x:e,y:t}:i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:e,y:t}:{x:e-n*i[0],y:t-r*i[1]},Dme=typeof document<"u"?document:null;var kg=(e=null,t={target:Dme})=>{const[n,r]=L.useState(!1),i=L.useRef(!1),o=L.useRef(new Set([])),[s,a]=L.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.split("+")),d=u.reduce((f,p)=>f.concat(...p),[]);return[u,d]}return[[],[]]},[e]);return L.useEffect(()=>{var l,u;if(e!==null){const d=g=>{if(i.current=g.ctrlKey||g.metaKey||g.shiftKey,!i.current&&G3(g))return!1;const m=qR(g.code,a);o.current.add(g[m]),WR(s,o.current,!1)&&(g.preventDefault(),r(!0))},f=g=>{if(!i.current&&G3(g))return!1;const m=qR(g.code,a);WR(s,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(g[m]),i.current=!1},p=()=>{o.current.clear(),r(!1)};return(l=t==null?void 0:t.target)==null||l.addEventListener("keydown",d),(u=t==null?void 0:t.target)==null||u.addEventListener("keyup",f),window.addEventListener("blur",p),()=>{var g,m;(g=t==null?void 0:t.target)==null||g.removeEventListener("keydown",d),(m=t==null?void 0:t.target)==null||m.removeEventListener("keyup",f),window.removeEventListener("blur",p)}}},[e,r]),n};function WR(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function qR(e,t){return t.includes(e)?"code":"key"}function EB(e,t,n,r){var s,a;if(!e.parentNode)return n;const i=t.get(e.parentNode),o=rf(i,r);return EB(i,t,{x:(n.x??0)+o.x,y:(n.y??0)+o.y,z:(((s=i[nr])==null?void 0:s.z)??0)>(n.z??0)?((a=i[nr])==null?void 0:a.z)??0:n.z??0},r)}function AB(e,t,n){e.forEach(r=>{var i;if(r.parentNode&&!e.has(r.parentNode))throw new Error(`Parent node ${r.parentNode} not found`);if(r.parentNode||n!=null&&n[r.id]){const{x:o,y:s,z:a}=EB(r,e,{...r.position,z:((i=r[nr])==null?void 0:i.z)??0},t);r.positionAbsolute={x:o,y:s},r[nr].z=a,n!=null&&n[r.id]&&(r[nr].isParent=!0)}})}function wx(e,t,n,r){const i=new Map,o={},s=r?1e3:0;return e.forEach(a=>{var f;const l=(_o(a.zIndex)?a.zIndex:0)+(a.selected?s:0),u=t.get(a.id),d={width:u==null?void 0:u.width,height:u==null?void 0:u.height,...a,positionAbsolute:{x:a.position.x,y:a.position.y}};a.parentNode&&(d.parentNode=a.parentNode,o[a.parentNode]=!0),Object.defineProperty(d,nr,{enumerable:!1,value:{handleBounds:(f=u==null?void 0:u[nr])==null?void 0:f.handleBounds,z:l}}),i.set(a.id,d)}),AB(i,n,o),i}function PB(e,t={}){const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:s,d3Zoom:a,d3Selection:l,fitViewOnInitDone:u,fitViewOnInit:d,nodeOrigin:f}=e(),p=t.initial&&!u&&d;if(a&&l&&(p||!t.initial)){const m=n().filter(x=>{var b;const _=t.includeHiddenNodes?x.width&&x.height:!x.hidden;return(b=t.nodes)!=null&&b.length?_&&t.nodes.some(y=>y.id===x.id):_}),v=m.every(x=>x.width&&x.height);if(m.length>0&&v){const x=sB(m,f),[_,b,y]=uB(x,r,i,t.minZoom??o,t.maxZoom??s,t.padding??.1),S=kl.translate(_,b).scale(y);return typeof t.duration=="number"&&t.duration>0?a.transform(Au(l,t.duration),S):a.transform(l,S),!0}}return!1}function $me(e,t){return e.forEach(n=>{const r=t.get(n.id);r&&t.set(r.id,{...r,[nr]:r[nr],selected:n.selected})}),new Map(t)}function Fme(e,t){return t.map(n=>{const r=e.find(i=>i.id===n.id);return r&&(n.selected=r.selected),n})}function P0({changedNodes:e,changedEdges:t,get:n,set:r}){const{nodeInternals:i,edges:o,onNodesChange:s,onEdgesChange:a,hasDefaultNodes:l,hasDefaultEdges:u}=n();e!=null&&e.length&&(l&&r({nodeInternals:$me(e,i)}),s==null||s(e)),t!=null&&t.length&&(u&&r({edges:Fme(t,o)}),a==null||a(t))}const od=()=>{},Bme={zoomIn:od,zoomOut:od,zoomTo:od,getZoom:()=>1,setViewport:od,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:od,fitBounds:od,project:e=>e,viewportInitialized:!1},Ume=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),zme=()=>{const e=qr(),{d3Zoom:t,d3Selection:n}=Mn(Ume,Ri);return L.useMemo(()=>n&&t?{zoomIn:i=>t.scaleBy(Au(n,i==null?void 0:i.duration),1.2),zoomOut:i=>t.scaleBy(Au(n,i==null?void 0:i.duration),1/1.2),zoomTo:(i,o)=>t.scaleTo(Au(n,o==null?void 0:o.duration),i),getZoom:()=>e.getState().transform[2],setViewport:(i,o)=>{const[s,a,l]=e.getState().transform,u=kl.translate(i.x??s,i.y??a).scale(i.zoom??l);t.transform(Au(n,o==null?void 0:o.duration),u)},getViewport:()=>{const[i,o,s]=e.getState().transform;return{x:i,y:o,zoom:s}},fitView:i=>PB(e.getState,i),setCenter:(i,o,s)=>{const{width:a,height:l,maxZoom:u}=e.getState(),d=typeof(s==null?void 0:s.zoom)<"u"?s.zoom:u,f=a/2-i*d,p=l/2-o*d,g=kl.translate(f,p).scale(d);t.transform(Au(n,s==null?void 0:s.duration),g)},fitBounds:(i,o)=>{const{width:s,height:a,minZoom:l,maxZoom:u}=e.getState(),[d,f,p]=uB(i,s,a,l,u,(o==null?void 0:o.padding)??.1),g=kl.translate(d,f).scale(p);t.transform(Au(n,o==null?void 0:o.duration),g)},project:i=>{const{transform:o,snapToGrid:s,snapGrid:a}=e.getState();return oB(i,o,s,a)},viewportInitialized:!0}:Bme,[t,n])};function RB(){const e=zme(),t=qr(),n=L.useCallback(()=>t.getState().getNodes().map(v=>({...v})),[]),r=L.useCallback(v=>t.getState().nodeInternals.get(v),[]),i=L.useCallback(()=>{const{edges:v=[]}=t.getState();return v.map(x=>({...x}))},[]),o=L.useCallback(v=>{const{edges:x=[]}=t.getState();return x.find(_=>_.id===v)},[]),s=L.useCallback(v=>{const{getNodes:x,setNodes:_,hasDefaultNodes:b,onNodesChange:y}=t.getState(),S=x(),C=typeof v=="function"?v(S):v;if(b)_(C);else if(y){const T=C.length===0?S.map(E=>({type:"remove",id:E.id})):C.map(E=>({item:E,type:"reset"}));y(T)}},[]),a=L.useCallback(v=>{const{edges:x=[],setEdges:_,hasDefaultEdges:b,onEdgesChange:y}=t.getState(),S=typeof v=="function"?v(x):v;if(b)_(S);else if(y){const C=S.length===0?x.map(T=>({type:"remove",id:T.id})):S.map(T=>({item:T,type:"reset"}));y(C)}},[]),l=L.useCallback(v=>{const x=Array.isArray(v)?v:[v],{getNodes:_,setNodes:b,hasDefaultNodes:y,onNodesChange:S}=t.getState();if(y){const T=[..._(),...x];b(T)}else if(S){const C=x.map(T=>({item:T,type:"add"}));S(C)}},[]),u=L.useCallback(v=>{const x=Array.isArray(v)?v:[v],{edges:_=[],setEdges:b,hasDefaultEdges:y,onEdgesChange:S}=t.getState();if(y)b([..._,...x]);else if(S){const C=x.map(T=>({item:T,type:"add"}));S(C)}},[]),d=L.useCallback(()=>{const{getNodes:v,edges:x=[],transform:_}=t.getState(),[b,y,S]=_;return{nodes:v().map(C=>({...C})),edges:x.map(C=>({...C})),viewport:{x:b,y,zoom:S}}},[]),f=L.useCallback(({nodes:v,edges:x})=>{const{nodeInternals:_,getNodes:b,edges:y,hasDefaultNodes:S,hasDefaultEdges:C,onNodesDelete:T,onEdgesDelete:E,onNodesChange:P,onEdgesChange:k}=t.getState(),O=(v||[]).map(N=>N.id),M=(x||[]).map(N=>N.id),G=b().reduce((N,F)=>{const B=!O.includes(F.id)&&F.parentNode&&N.find(V=>V.id===F.parentNode);return(typeof F.deletable=="boolean"?F.deletable:!0)&&(O.includes(F.id)||B)&&N.push(F),N},[]),U=y.filter(N=>typeof N.deletable=="boolean"?N.deletable:!0),A=U.filter(N=>M.includes(N.id));if(G||A){const N=lB(G,U),F=[...A,...N],B=F.reduce((D,V)=>(D.includes(V.id)||D.push(V.id),D),[]);if((C||S)&&(C&&t.setState({edges:y.filter(D=>!B.includes(D.id))}),S&&(G.forEach(D=>{_.delete(D.id)}),t.setState({nodeInternals:new Map(_)}))),B.length>0&&(E==null||E(F),k&&k(B.map(D=>({id:D,type:"remove"})))),G.length>0&&(T==null||T(G),P)){const D=G.map(V=>({id:V.id,type:"remove"}));P(D)}}},[]),p=L.useCallback(v=>{const x=Xge(v),_=x?null:t.getState().nodeInternals.get(v.id);return[x?v:kR(_),_,x]},[]),g=L.useCallback((v,x=!0,_)=>{const[b,y,S]=p(v);return b?(_||t.getState().getNodes()).filter(C=>{if(!S&&(C.id===y.id||!C.positionAbsolute))return!1;const T=kR(C),E=j3(T,b);return x&&E>0||E>=v.width*v.height}):[]},[]),m=L.useCallback((v,x,_=!0)=>{const[b]=p(v);if(!b)return!1;const y=j3(b,x);return _&&y>0||y>=v.width*v.height},[]);return L.useMemo(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:s,setEdges:a,addNodes:l,addEdges:u,toObject:d,deleteElements:f,getIntersectingNodes:g,isNodeIntersecting:m}),[e,n,r,i,o,s,a,l,u,d,f,g,m])}var Vme=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=qr(),{deleteElements:r}=RB(),i=kg(e),o=kg(t);L.useEffect(()=>{if(i){const{edges:s,getNodes:a}=n.getState(),l=a().filter(d=>d.selected),u=s.filter(d=>d.selected);r({nodes:l,edges:u}),n.setState({nodesSelectionActive:!1})}},[i]),L.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])};function jme(e){const t=qr();L.useEffect(()=>{let n;const r=()=>{var o,s;if(!e.current)return;const i=WT(e.current);(i.height===0||i.width===0)&&((s=(o=t.getState()).onError)==null||s.call(o,"004",Hl.error004())),t.setState({width:i.width||500,height:i.height||500})};return r(),window.addEventListener("resize",r),e.current&&(n=new ResizeObserver(()=>r()),n.observe(e.current)),()=>{window.removeEventListener("resize",r),n&&e.current&&n.unobserve(e.current)}},[])}const eE={position:"absolute",width:"100%",height:"100%",top:0,left:0},Gme=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,xx=e=>({x:e.x,y:e.y,zoom:e.k}),sd=(e,t)=>e.target.closest(`.${t}`),KR=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),Hme=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),Wme=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:s=!1,panOnScrollSpeed:a=.5,panOnScrollMode:l=nf.Free,zoomOnDoubleClick:u=!0,elementsSelectable:d,panOnDrag:f=!0,defaultViewport:p,translateExtent:g,minZoom:m,maxZoom:v,zoomActivationKeyCode:x,preventScrolling:_=!0,children:b,noWheelClassName:y,noPanClassName:S})=>{const C=L.useRef(),T=qr(),E=L.useRef(!1),P=L.useRef(!1),k=L.useRef(null),O=L.useRef({x:0,y:0,zoom:0}),{d3Zoom:M,d3Selection:G,d3ZoomHandler:U,userSelectionActive:A}=Mn(Hme,Ri),N=kg(x),F=L.useRef(0);return jme(k),L.useEffect(()=>{if(k.current){const B=k.current.getBoundingClientRect(),D=Vge().scaleExtent([m,v]).translateExtent(g),V=Vo(k.current).call(D),j=kl.translate(p.x,p.y).scale(Af(p.zoom,m,v)),q=[[0,0],[B.width,B.height]],Z=D.constrain()(j,q,g);D.transform(V,Z),T.setState({d3Zoom:D,d3Selection:V,d3ZoomHandler:V.on("wheel.zoom"),transform:[Z.x,Z.y,Z.k],domNode:k.current.closest(".react-flow")})}},[]),L.useEffect(()=>{G&&M&&(s&&!N&&!A?G.on("wheel.zoom",B=>{if(sd(B,y))return!1;B.preventDefault(),B.stopImmediatePropagation();const D=G.property("__zoom").k||1;if(B.ctrlKey&&o){const Z=gs(B),ee=-B.deltaY*(B.deltaMode===1?.05:B.deltaMode?1:.002)*10,ie=D*Math.pow(2,ee);M.scaleTo(G,ie,Z);return}const V=B.deltaMode===1?20:1,j=l===nf.Vertical?0:B.deltaX*V,q=l===nf.Horizontal?0:B.deltaY*V;M.translateBy(G,-(j/D)*a,-(q/D)*a)},{passive:!1}):typeof U<"u"&&G.on("wheel.zoom",function(B,D){if(!_||sd(B,y))return null;B.preventDefault(),U.call(this,B,D)},{passive:!1}))},[A,s,l,G,M,U,N,o,_,y]),L.useEffect(()=>{M&&M.on("start",B=>{var V;if(!B.sourceEvent)return null;F.current=B.sourceEvent.button;const{onViewportChangeStart:D}=T.getState();if(E.current=!0,((V=B.sourceEvent)==null?void 0:V.type)==="mousedown"&&T.setState({paneDragging:!0}),t||D){const j=xx(B.transform);O.current=j,D==null||D(j),t==null||t(B.sourceEvent,j)}})},[M,t]),L.useEffect(()=>{M&&(A&&!E.current?M.on("zoom",null):A||M.on("zoom",B=>{const{onViewportChange:D}=T.getState();if(T.setState({transform:[B.transform.x,B.transform.y,B.transform.k]}),P.current=!!(r&&KR(f,F.current??0)),e||D){const V=xx(B.transform);D==null||D(V),e==null||e(B.sourceEvent,V)}}))},[A,M,e,f,r]),L.useEffect(()=>{M&&M.on("end",B=>{if(!B.sourceEvent)return null;const{onViewportChangeEnd:D}=T.getState();if(E.current=!1,T.setState({paneDragging:!1}),r&&KR(f,F.current??0)&&!P.current&&r(B.sourceEvent),P.current=!1,(n||D)&&Gme(O.current,B.transform)){const V=xx(B.transform);O.current=V,clearTimeout(C.current),C.current=setTimeout(()=>{D==null||D(V),n==null||n(B.sourceEvent,V)},s?150:0)}})},[M,s,f,n,r]),L.useEffect(()=>{M&&M.filter(B=>{const D=N||i,V=o&&B.ctrlKey;if(B.button===1&&B.type==="mousedown"&&(sd(B,"react-flow__node")||sd(B,"react-flow__edge")))return!0;if(!f&&!D&&!s&&!u&&!o||A||!u&&B.type==="dblclick"||sd(B,y)&&B.type==="wheel"||sd(B,S)&&B.type!=="wheel"||!o&&B.ctrlKey&&B.type==="wheel"||!D&&!s&&!V&&B.type==="wheel"||!f&&(B.type==="mousedown"||B.type==="touchstart")||Array.isArray(f)&&!f.includes(B.button)&&(B.type==="mousedown"||B.type==="touchstart"))return!1;const j=Array.isArray(f)&&f.includes(B.button)||!B.button||B.button<=1;return(!B.ctrlKey||B.type==="wheel")&&j})},[A,M,i,o,s,u,f,d,N]),ue.jsx("div",{className:"react-flow__renderer",ref:k,style:eE,children:b})},qme=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function Kme(){const{userSelectionActive:e,userSelectionRect:t}=Mn(qme,Ri);return e&&t?ue.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function XR(e,t){const n=e.find(r=>r.id===t.parentNode);if(n){const r=t.position.x+t.width-n.width,i=t.position.y+t.height-n.height;if(r>0||i>0||t.position.x<0||t.position.y<0){if(n.style={...n.style},n.style.width=n.style.width??n.width,n.style.height=n.style.height??n.height,r>0&&(n.style.width+=r),i>0&&(n.style.height+=i),t.position.x<0){const o=Math.abs(t.position.x);n.position.x=n.position.x-o,n.style.width+=o,t.position.x=0}if(t.position.y<0){const o=Math.abs(t.position.y);n.position.y=n.position.y-o,n.style.height+=o,t.position.y=0}n.width=n.style.width,n.height=n.style.height}}}function OB(e,t){if(e.some(r=>r.type==="reset"))return e.filter(r=>r.type==="reset").map(r=>r.item);const n=e.filter(r=>r.type==="add").map(r=>r.item);return t.reduce((r,i)=>{const o=e.filter(a=>a.id===i.id);if(o.length===0)return r.push(i),r;const s={...i};for(const a of o)if(a)switch(a.type){case"select":{s.selected=a.selected;break}case"position":{typeof a.position<"u"&&(s.position=a.position),typeof a.positionAbsolute<"u"&&(s.positionAbsolute=a.positionAbsolute),typeof a.dragging<"u"&&(s.dragging=a.dragging),s.expandParent&&XR(r,s);break}case"dimensions":{typeof a.dimensions<"u"&&(s.width=a.dimensions.width,s.height=a.dimensions.height),typeof a.updateStyle<"u"&&(s.style={...s.style||{},...a.dimensions}),typeof a.resizing=="boolean"&&(s.resizing=a.resizing),s.expandParent&&XR(r,s);break}case"remove":return r}return r.push(s),r},n)}function kB(e,t){return OB(e,t)}function Xme(e,t){return OB(e,t)}const dl=(e,t)=>({id:e,type:"select",selected:t});function Ld(e,t){return e.reduce((n,r)=>{const i=t.includes(r.id);return!r.selected&&i?(r.selected=!0,n.push(dl(r.id,!0))):r.selected&&!i&&(r.selected=!1,n.push(dl(r.id,!1))),n},[])}const Cx=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},Yme=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),IB=L.memo(({isSelecting:e,selectionMode:t=Og.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:s,onPaneScroll:a,onPaneMouseEnter:l,onPaneMouseMove:u,onPaneMouseLeave:d,children:f})=>{const p=L.useRef(null),g=qr(),m=L.useRef(0),v=L.useRef(0),x=L.useRef(),{userSelectionActive:_,elementsSelectable:b,dragging:y}=Mn(Yme,Ri),S=()=>{g.setState({userSelectionActive:!1,userSelectionRect:null}),m.current=0,v.current=0},C=U=>{o==null||o(U),g.getState().resetSelectedElements(),g.setState({nodesSelectionActive:!1})},T=U=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){U.preventDefault();return}s==null||s(U)},E=a?U=>a(U):void 0,P=U=>{const{resetSelectedElements:A,domNode:N}=g.getState();if(x.current=N==null?void 0:N.getBoundingClientRect(),!b||!e||U.button!==0||U.target!==p.current||!x.current)return;const{x:F,y:B}=Il(U,x.current);A(),g.setState({userSelectionRect:{width:0,height:0,startX:F,startY:B,x:F,y:B}}),r==null||r(U)},k=U=>{const{userSelectionRect:A,nodeInternals:N,edges:F,transform:B,onNodesChange:D,onEdgesChange:V,nodeOrigin:j,getNodes:q}=g.getState();if(!e||!x.current||!A)return;g.setState({userSelectionActive:!0,nodesSelectionActive:!1});const Z=Il(U,x.current),ee=A.startX??0,ie=A.startY??0,se={...A,x:Z.xpe.id),fe=W.map(pe=>pe.id);if(m.current!==fe.length){m.current=fe.length;const pe=Ld(le,fe);pe.length&&(D==null||D(pe))}if(v.current!==ne.length){v.current=ne.length;const pe=Ld(F,ne);pe.length&&(V==null||V(pe))}g.setState({userSelectionRect:se})},O=U=>{if(U.button!==0)return;const{userSelectionRect:A}=g.getState();!_&&A&&U.target===p.current&&(C==null||C(U)),g.setState({nodesSelectionActive:m.current>0}),S(),i==null||i(U)},M=U=>{_&&(g.setState({nodesSelectionActive:m.current>0}),i==null||i(U)),S()},G=b&&(e||_);return ue.jsxs("div",{className:Eo(["react-flow__pane",{dragging:y,selection:e}]),onClick:G?void 0:Cx(C,p),onContextMenu:Cx(T,p),onWheel:Cx(E,p),onMouseEnter:G?void 0:l,onMouseDown:G?P:void 0,onMouseMove:G?k:u,onMouseUp:G?O:void 0,onMouseLeave:G?M:d,ref:p,style:eE,children:[f,ue.jsx(Kme,{})]})});IB.displayName="Pane";const Qme=e=>{const t=e.getNodes().filter(n=>n.selected);return{...sB(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function Zme({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=qr(),{width:i,height:o,x:s,y:a,transformString:l,userSelectionActive:u}=Mn(Qme,Ri),d=TB(),f=L.useRef(null);if(L.useEffect(()=>{var m;n||(m=f.current)==null||m.focus({preventScroll:!0})},[n]),CB({nodeRef:f}),u||!i||!o)return null;const p=e?m=>{const v=r.getState().getNodes().filter(x=>x.selected);e(m,v)}:void 0,g=m=>{Object.prototype.hasOwnProperty.call(of,m.key)&&d({x:of[m.key].x,y:of[m.key].y,isShiftPressed:m.shiftKey})};return ue.jsx("div",{className:Eo(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l},children:ue.jsx("div",{ref:f,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:n?void 0:-1,onKeyDown:n?void 0:g,style:{width:i,height:o,top:a,left:s}})})}var Jme=L.memo(Zme);const eye=e=>e.nodesSelectionActive,MB=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,deleteKeyCode:a,onMove:l,onMoveStart:u,onMoveEnd:d,selectionKeyCode:f,selectionOnDrag:p,selectionMode:g,onSelectionStart:m,onSelectionEnd:v,multiSelectionKeyCode:x,panActivationKeyCode:_,zoomActivationKeyCode:b,elementsSelectable:y,zoomOnScroll:S,zoomOnPinch:C,panOnScroll:T,panOnScrollSpeed:E,panOnScrollMode:P,zoomOnDoubleClick:k,panOnDrag:O,defaultViewport:M,translateExtent:G,minZoom:U,maxZoom:A,preventScrolling:N,onSelectionContextMenu:F,noWheelClassName:B,noPanClassName:D,disableKeyboardA11y:V})=>{const j=Mn(eye),q=kg(f),ee=kg(_)||O,ie=q||p&&ee!==!0;return Vme({deleteKeyCode:a,multiSelectionKeyCode:x}),ue.jsx(Wme,{onMove:l,onMoveStart:u,onMoveEnd:d,onPaneContextMenu:o,elementsSelectable:y,zoomOnScroll:S,zoomOnPinch:C,panOnScroll:T,panOnScrollSpeed:E,panOnScrollMode:P,zoomOnDoubleClick:k,panOnDrag:!q&&ee,defaultViewport:M,translateExtent:G,minZoom:U,maxZoom:A,zoomActivationKeyCode:b,preventScrolling:N,noWheelClassName:B,noPanClassName:D,children:ue.jsxs(IB,{onSelectionStart:m,onSelectionEnd:v,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,panOnDrag:ee,isSelecting:!!ie,selectionMode:g,children:[e,j&&ue.jsx(Jme,{onSelectionContextMenu:F,noPanClassName:D,disableKeyboardA11y:V})]})})};MB.displayName="FlowRenderer";var tye=L.memo(MB);function nye(e){return Mn(L.useCallback(n=>e?aB(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[e]))}const rye=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),NB=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:s}=Mn(rye,Ri),a=nye(e.onlyRenderVisibleElements),l=L.useRef(),u=L.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const d=new ResizeObserver(f=>{const p=f.map(g=>({id:g.target.getAttribute("data-id"),nodeElement:g.target,forceUpdate:!0}));o(p)});return l.current=d,d},[]);return L.useEffect(()=>()=>{var d;(d=l==null?void 0:l.current)==null||d.disconnect()},[]),ue.jsx("div",{className:"react-flow__nodes",style:eE,children:a.map(d=>{var C,T;let f=d.type||"default";e.nodeTypes[f]||(s==null||s("003",Hl.error003(f)),f="default");const p=e.nodeTypes[f]||e.nodeTypes.default,g=!!(d.draggable||t&&typeof d.draggable>"u"),m=!!(d.selectable||i&&typeof d.selectable>"u"),v=!!(d.connectable||n&&typeof d.connectable>"u"),x=!!(d.focusable||r&&typeof d.focusable>"u"),_=e.nodeExtent?qT(d.positionAbsolute,e.nodeExtent):d.positionAbsolute,b=(_==null?void 0:_.x)??0,y=(_==null?void 0:_.y)??0,S=Lme({x:b,y,width:d.width??0,height:d.height??0,origin:e.nodeOrigin});return ue.jsx(p,{id:d.id,className:d.className,style:d.style,type:f,data:d.data,sourcePosition:d.sourcePosition||Ne.Bottom,targetPosition:d.targetPosition||Ne.Top,hidden:d.hidden,xPos:b,yPos:y,xPosOrigin:S.x,yPosOrigin:S.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!d.selected,isDraggable:g,isSelectable:m,isConnectable:v,isFocusable:x,resizeObserver:u,dragHandle:d.dragHandle,zIndex:((C=d[nr])==null?void 0:C.z)??0,isParent:!!((T=d[nr])!=null&&T.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!d.width&&!!d.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:d.ariaLabel},d.id)})})};NB.displayName="NodeRenderer";var iye=L.memo(NB);const oye=[{level:0,isMaxLevel:!0,edges:[]}];function sye(e,t,n=!1){let r=-1;const i=e.reduce((s,a)=>{var d,f;const l=_o(a.zIndex);let u=l?a.zIndex:0;if(n){const p=t.get(a.target),g=t.get(a.source),m=a.selected||(p==null?void 0:p.selected)||(g==null?void 0:g.selected),v=Math.max(((d=g==null?void 0:g[nr])==null?void 0:d.z)||0,((f=p==null?void 0:p[nr])==null?void 0:f.z)||0,1e3);u=(l?a.zIndex:0)+(m?v:0)}return s[u]?s[u].push(a):s[u]=[a],r=u>r?u:r,s},{}),o=Object.entries(i).map(([s,a])=>{const l=+s;return{edges:a,level:l,isMaxLevel:l===r}});return o.length===0?oye:o}function aye(e,t,n){const r=Mn(L.useCallback(i=>e?i.edges.filter(o=>{const s=t.get(o.source),a=t.get(o.target);return(s==null?void 0:s.width)&&(s==null?void 0:s.height)&&(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&Ome({sourcePos:s.positionAbsolute||{x:0,y:0},targetPos:a.positionAbsolute||{x:0,y:0},sourceWidth:s.width,sourceHeight:s.height,targetWidth:a.width,targetHeight:a.height,width:i.width,height:i.height,transform:i.transform})}):i.edges,[e,t]));return sye(r,t,n)}const lye=({color:e="none",strokeWidth:t=1})=>ue.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:"none",points:"-5,-4 0,0 -5,4"}),uye=({color:e="none",strokeWidth:t=1})=>ue.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:e,points:"-5,-4 0,0 -5,4 -5,-4"}),YR={[B1.Arrow]:lye,[B1.ArrowClosed]:uye};function cye(e){const t=qr();return L.useMemo(()=>{var i,o;return Object.prototype.hasOwnProperty.call(YR,e)?YR[e]:((o=(i=t.getState()).onError)==null||o.call(i,"009",Hl.error009(e)),null)},[e])}const dye=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:o="strokeWidth",strokeWidth:s,orient:a="auto-start-reverse"})=>{const l=cye(t);return l?ue.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:a,refX:"0",refY:"0",children:ue.jsx(l,{color:n,strokeWidth:s})}):null},fye=({defaultColor:e,rfId:t})=>n=>{const r=[];return n.edges.reduce((i,o)=>([o.markerStart,o.markerEnd].forEach(s=>{if(s&&typeof s=="object"){const a=W3(s,t);r.includes(a)||(i.push({id:a,color:s.color||e,...s}),r.push(a))}}),i),[]).sort((i,o)=>i.id.localeCompare(o.id))},LB=({defaultColor:e,rfId:t})=>{const n=Mn(L.useCallback(fye({defaultColor:e,rfId:t}),[e,t]),(r,i)=>!(r.length!==i.length||r.some((o,s)=>o.id!==i[s].id)));return ue.jsx("defs",{children:n.map(r=>ue.jsx(dye,{id:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient},r.id))})};LB.displayName="MarkerDefinitions";var hye=L.memo(LB);const pye=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),DB=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeUpdate:s,onEdgeContextMenu:a,onEdgeMouseEnter:l,onEdgeMouseMove:u,onEdgeMouseLeave:d,onEdgeClick:f,edgeUpdaterRadius:p,onEdgeDoubleClick:g,onEdgeUpdateStart:m,onEdgeUpdateEnd:v,children:x})=>{const{edgesFocusable:_,edgesUpdatable:b,elementsSelectable:y,width:S,height:C,connectionMode:T,nodeInternals:E,onError:P}=Mn(pye,Ri),k=aye(t,E,n);return S?ue.jsxs(ue.Fragment,{children:[k.map(({level:O,edges:M,isMaxLevel:G})=>ue.jsxs("svg",{style:{zIndex:O},width:S,height:C,className:"react-flow__edges react-flow__container",children:[G&&ue.jsx(hye,{defaultColor:e,rfId:r}),ue.jsx("g",{children:M.map(U=>{const[A,N,F]=jR(E.get(U.source)),[B,D,V]=jR(E.get(U.target));if(!F||!V)return null;let j=U.type||"default";i[j]||(P==null||P("011",Hl.error011(j)),j="default");const q=i[j]||i.default,Z=T===sc.Strict?D.target:(D.target??[]).concat(D.source??[]),ee=VR(N.source,U.sourceHandle),ie=VR(Z,U.targetHandle),se=(ee==null?void 0:ee.position)||Ne.Bottom,le=(ie==null?void 0:ie.position)||Ne.Top,W=!!(U.focusable||_&&typeof U.focusable>"u"),ne=typeof s<"u"&&(U.updatable||b&&typeof U.updatable>"u");if(!ee||!ie)return P==null||P("008",Hl.error008(ee,U)),null;const{sourceX:fe,sourceY:pe,targetX:ve,targetY:ye}=Rme(A,ee,se,B,ie,le);return ue.jsx(q,{id:U.id,className:Eo([U.className,o]),type:j,data:U.data,selected:!!U.selected,animated:!!U.animated,hidden:!!U.hidden,label:U.label,labelStyle:U.labelStyle,labelShowBg:U.labelShowBg,labelBgStyle:U.labelBgStyle,labelBgPadding:U.labelBgPadding,labelBgBorderRadius:U.labelBgBorderRadius,style:U.style,source:U.source,target:U.target,sourceHandleId:U.sourceHandle,targetHandleId:U.targetHandle,markerEnd:U.markerEnd,markerStart:U.markerStart,sourceX:fe,sourceY:pe,targetX:ve,targetY:ye,sourcePosition:se,targetPosition:le,elementsSelectable:y,onEdgeUpdate:s,onContextMenu:a,onMouseEnter:l,onMouseMove:u,onMouseLeave:d,onClick:f,edgeUpdaterRadius:p,onEdgeDoubleClick:g,onEdgeUpdateStart:m,onEdgeUpdateEnd:v,rfId:r,ariaLabel:U.ariaLabel,isFocusable:W,isUpdatable:ne,pathOptions:"pathOptions"in U?U.pathOptions:void 0,interactionWidth:U.interactionWidth},U.id)})})]},O)),x]}):null};DB.displayName="EdgeRenderer";var gye=L.memo(DB);const mye=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function yye({children:e}){const t=Mn(mye);return ue.jsx("div",{className:"react-flow__viewport react-flow__container",style:{transform:t},children:e})}function vye(e){const t=RB(),n=L.useRef(!1);L.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const _ye={[Ne.Left]:Ne.Right,[Ne.Right]:Ne.Left,[Ne.Top]:Ne.Bottom,[Ne.Bottom]:Ne.Top},$B=({nodeId:e,handleType:t,style:n,type:r=yl.Bezier,CustomComponent:i,connectionStatus:o})=>{var T,E,P;const{fromNode:s,handleId:a,toX:l,toY:u,connectionMode:d}=Mn(L.useCallback(k=>({fromNode:k.nodeInternals.get(e),handleId:k.connectionHandleId,toX:(k.connectionPosition.x-k.transform[0])/k.transform[2],toY:(k.connectionPosition.y-k.transform[1])/k.transform[2],connectionMode:k.connectionMode}),[e]),Ri),f=(T=s==null?void 0:s[nr])==null?void 0:T.handleBounds;let p=f==null?void 0:f[t];if(d===sc.Loose&&(p=p||(f==null?void 0:f[t==="source"?"target":"source"])),!s||!p)return null;const g=a?p.find(k=>k.id===a):p[0],m=g?g.x+g.width/2:(s.width??0)/2,v=g?g.y+g.height/2:s.height??0,x=(((E=s.positionAbsolute)==null?void 0:E.x)??0)+m,_=(((P=s.positionAbsolute)==null?void 0:P.y)??0)+v,b=g==null?void 0:g.position,y=b?_ye[b]:null;if(!b||!y)return null;if(i)return ue.jsx(i,{connectionLineType:r,connectionLineStyle:n,fromNode:s,fromHandle:g,fromX:x,fromY:_,toX:l,toY:u,fromPosition:b,toPosition:y,connectionStatus:o});let S="";const C={sourceX:x,sourceY:_,sourcePosition:b,targetX:l,targetY:u,targetPosition:y};return r===yl.Bezier?[S]=rB(C):r===yl.Step?[S]=H3({...C,borderRadius:0}):r===yl.SmoothStep?[S]=H3(C):r===yl.SimpleBezier?[S]=nB(C):S=`M${x},${_} ${l},${u}`,ue.jsx("path",{d:S,fill:"none",className:"react-flow__connection-path",style:n})};$B.displayName="ConnectionLine";const bye=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function Sye({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:s,width:a,height:l,connectionStatus:u}=Mn(bye,Ri);return!(i&&o&&a&&s)?null:ue.jsx("svg",{style:e,width:a,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container",children:ue.jsx("g",{className:Eo(["react-flow__connection",u]),children:ue.jsx($B,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:u})})})}const FB=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:s,onEdgeClick:a,onNodeDoubleClick:l,onEdgeDoubleClick:u,onNodeMouseEnter:d,onNodeMouseMove:f,onNodeMouseLeave:p,onNodeContextMenu:g,onSelectionContextMenu:m,onSelectionStart:v,onSelectionEnd:x,connectionLineType:_,connectionLineStyle:b,connectionLineComponent:y,connectionLineContainerStyle:S,selectionKeyCode:C,selectionOnDrag:T,selectionMode:E,multiSelectionKeyCode:P,panActivationKeyCode:k,zoomActivationKeyCode:O,deleteKeyCode:M,onlyRenderVisibleElements:G,elementsSelectable:U,selectNodesOnDrag:A,defaultViewport:N,translateExtent:F,minZoom:B,maxZoom:D,preventScrolling:V,defaultMarkerColor:j,zoomOnScroll:q,zoomOnPinch:Z,panOnScroll:ee,panOnScrollSpeed:ie,panOnScrollMode:se,zoomOnDoubleClick:le,panOnDrag:W,onPaneClick:ne,onPaneMouseEnter:fe,onPaneMouseMove:pe,onPaneMouseLeave:ve,onPaneScroll:ye,onPaneContextMenu:We,onEdgeUpdate:Me,onEdgeContextMenu:Ee,onEdgeMouseEnter:lt,onEdgeMouseMove:_e,onEdgeMouseLeave:jt,edgeUpdaterRadius:Hn,onEdgeUpdateStart:Bt,onEdgeUpdateEnd:it,noDragClassName:gt,noWheelClassName:Jt,noPanClassName:Nr,elevateEdgesOnSelect:yr,disableKeyboardA11y:hi,nodeOrigin:wn,nodeExtent:on,rfId:Wn})=>(vye(o),ue.jsx(tye,{onPaneClick:ne,onPaneMouseEnter:fe,onPaneMouseMove:pe,onPaneMouseLeave:ve,onPaneContextMenu:We,onPaneScroll:ye,deleteKeyCode:M,selectionKeyCode:C,selectionOnDrag:T,selectionMode:E,onSelectionStart:v,onSelectionEnd:x,multiSelectionKeyCode:P,panActivationKeyCode:k,zoomActivationKeyCode:O,elementsSelectable:U,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:q,zoomOnPinch:Z,zoomOnDoubleClick:le,panOnScroll:ee,panOnScrollSpeed:ie,panOnScrollMode:se,panOnDrag:W,defaultViewport:N,translateExtent:F,minZoom:B,maxZoom:D,onSelectionContextMenu:m,preventScrolling:V,noDragClassName:gt,noWheelClassName:Jt,noPanClassName:Nr,disableKeyboardA11y:hi,children:ue.jsxs(yye,{children:[ue.jsx(gye,{edgeTypes:t,onEdgeClick:a,onEdgeDoubleClick:u,onEdgeUpdate:Me,onlyRenderVisibleElements:G,onEdgeContextMenu:Ee,onEdgeMouseEnter:lt,onEdgeMouseMove:_e,onEdgeMouseLeave:jt,onEdgeUpdateStart:Bt,onEdgeUpdateEnd:it,edgeUpdaterRadius:Hn,defaultMarkerColor:j,noPanClassName:Nr,elevateEdgesOnSelect:!!yr,disableKeyboardA11y:hi,rfId:Wn,children:ue.jsx(Sye,{style:b,type:_,component:y,containerStyle:S})}),ue.jsx("div",{className:"react-flow__edgelabel-renderer"}),ue.jsx(iye,{nodeTypes:e,onNodeClick:s,onNodeDoubleClick:l,onNodeMouseEnter:d,onNodeMouseMove:f,onNodeMouseLeave:p,onNodeContextMenu:g,selectNodesOnDrag:A,onlyRenderVisibleElements:G,noPanClassName:Nr,noDragClassName:gt,disableKeyboardA11y:hi,nodeOrigin:wn,nodeExtent:on,rfId:Wn})]})}));FB.displayName="GraphView";var wye=L.memo(FB);const X3=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],rl={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:X3,nodeExtent:X3,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:sc.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:Yge,isValidConnection:void 0},xye=()=>lfe((e,t)=>({...rl,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:wx(n,r,i,o)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:r={}}=t();e({edges:n.map(i=>({...r,...i}))})},setDefaultNodesAndEdges:(n,r)=>{const i=typeof n<"u",o=typeof r<"u",s=i?wx(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:s,edges:o?r:[],hasDefaultNodes:i,hasDefaultEdges:o})},updateNodeDimensions:n=>{const{onNodesChange:r,nodeInternals:i,fitViewOnInit:o,fitViewOnInitDone:s,fitViewOnInitOptions:a,domNode:l,nodeOrigin:u}=t(),d=l==null?void 0:l.querySelector(".react-flow__viewport");if(!d)return;const f=window.getComputedStyle(d),{m22:p}=new window.DOMMatrixReadOnly(f.transform),g=n.reduce((v,x)=>{const _=i.get(x.id);if(_){const b=WT(x.nodeElement);!!(b.width&&b.height&&(_.width!==b.width||_.height!==b.height||x.forceUpdate))&&(i.set(_.id,{..._,[nr]:{..._[nr],handleBounds:{source:HR(".source",x.nodeElement,p,u),target:HR(".target",x.nodeElement,p,u)}},...b}),v.push({id:_.id,type:"dimensions",dimensions:b}))}return v},[]);AB(i,u);const m=s||o&&!s&&PB(t,{initial:!0,...a});e({nodeInternals:new Map(i),fitViewOnInitDone:m}),(g==null?void 0:g.length)>0&&(r==null||r(g))},updateNodePositions:(n,r=!0,i=!1)=>{const{triggerNodeChanges:o}=t(),s=n.map(a=>{const l={id:a.id,type:"position",dragging:i};return r&&(l.positionAbsolute=a.positionAbsolute,l.position=a.position),l});o(s)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:i,hasDefaultNodes:o,nodeOrigin:s,getNodes:a,elevateNodesOnSelect:l}=t();if(n!=null&&n.length){if(o){const u=kB(n,a()),d=wx(u,i,s,l);e({nodeInternals:d})}r==null||r(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>dl(l,!0)):(s=Ld(o(),n),a=Ld(i,[])),P0({changedNodes:s,changedEdges:a,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>dl(l,!0)):(s=Ld(i,n),a=Ld(o(),[])),P0({changedNodes:a,changedEdges:s,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:i,getNodes:o}=t(),s=n||o(),a=r||i,l=s.map(d=>(d.selected=!1,dl(d.id,!1))),u=a.map(d=>dl(d.id,!1));P0({changedNodes:l,changedEdges:u,get:t,set:e})},setMinZoom:n=>{const{d3Zoom:r,maxZoom:i}=t();r==null||r.scaleExtent([n,i]),e({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:r,minZoom:i}=t();r==null||r.scaleExtent([i,n]),e({maxZoom:n})},setTranslateExtent:n=>{var r;(r=t().d3Zoom)==null||r.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:r}=t(),o=r().filter(a=>a.selected).map(a=>dl(a.id,!1)),s=n.filter(a=>a.selected).map(a=>dl(a.id,!1));P0({changedNodes:o,changedEdges:s,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(i=>{i.positionAbsolute=qT(i.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:n=>{const{transform:r,width:i,height:o,d3Zoom:s,d3Selection:a,translateExtent:l}=t();if(!s||!a||!n.x&&!n.y)return!1;const u=kl.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),d=[[0,0],[i,o]],f=s==null?void 0:s.constrain()(u,d,l);return s.transform(a,f),r[0]!==f.x||r[1]!==f.y||r[2]!==f.k},cancelConnection:()=>e({connectionNodeId:rl.connectionNodeId,connectionHandleId:rl.connectionHandleId,connectionHandleType:rl.connectionHandleType,connectionStatus:rl.connectionStatus,connectionStartHandle:rl.connectionStartHandle,connectionEndHandle:rl.connectionEndHandle}),reset:()=>e({...rl})})),BB=({children:e})=>{const t=L.useRef(null);return t.current||(t.current=xye()),ue.jsx(jge,{value:t.current,children:e})};BB.displayName="ReactFlowProvider";const UB=({children:e})=>L.useContext(Ib)?ue.jsx(ue.Fragment,{children:e}):ue.jsx(BB,{children:e});UB.displayName="ReactFlowWrapper";function QR(e,t){return L.useRef(null),L.useMemo(()=>t(e),[e])}const Cye={input:mB,default:q3,output:vB,group:JT},Tye={default:U1,straight:YT,step:XT,smoothstep:Mb,simplebezier:KT},Eye=[0,0],Aye=[15,15],Pye={x:0,y:0,zoom:1},Rye={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},Oye=L.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=Cye,edgeTypes:s=Tye,onNodeClick:a,onEdgeClick:l,onInit:u,onMove:d,onMoveStart:f,onMoveEnd:p,onConnect:g,onConnectStart:m,onConnectEnd:v,onClickConnectStart:x,onClickConnectEnd:_,onNodeMouseEnter:b,onNodeMouseMove:y,onNodeMouseLeave:S,onNodeContextMenu:C,onNodeDoubleClick:T,onNodeDragStart:E,onNodeDrag:P,onNodeDragStop:k,onNodesDelete:O,onEdgesDelete:M,onSelectionChange:G,onSelectionDragStart:U,onSelectionDrag:A,onSelectionDragStop:N,onSelectionContextMenu:F,onSelectionStart:B,onSelectionEnd:D,connectionMode:V=sc.Strict,connectionLineType:j=yl.Bezier,connectionLineStyle:q,connectionLineComponent:Z,connectionLineContainerStyle:ee,deleteKeyCode:ie="Backspace",selectionKeyCode:se="Shift",selectionOnDrag:le=!1,selectionMode:W=Og.Full,panActivationKeyCode:ne="Space",multiSelectionKeyCode:fe="Meta",zoomActivationKeyCode:pe="Meta",snapToGrid:ve=!1,snapGrid:ye=Aye,onlyRenderVisibleElements:We=!1,selectNodesOnDrag:Me=!0,nodesDraggable:Ee,nodesConnectable:lt,nodesFocusable:_e,nodeOrigin:jt=Eye,edgesFocusable:Hn,edgesUpdatable:Bt,elementsSelectable:it,defaultViewport:gt=Pye,minZoom:Jt=.5,maxZoom:Nr=2,translateExtent:yr=X3,preventScrolling:hi=!0,nodeExtent:wn,defaultMarkerColor:on="#b1b1b7",zoomOnScroll:Wn=!0,zoomOnPinch:sn=!0,panOnScroll:Gt=!1,panOnScrollSpeed:vr=.5,panOnScrollMode:Lr=nf.Free,zoomOnDoubleClick:Xr=!0,panOnDrag:Ii=!0,onPaneClick:En,onPaneMouseEnter:Yr,onPaneMouseMove:Vs,onPaneMouseLeave:Ji,onPaneScroll:js,onPaneContextMenu:Xt,children:Ot,onEdgeUpdate:qn,onEdgeContextMenu:Dn,onEdgeDoubleClick:or,onEdgeMouseEnter:_r,onEdgeMouseMove:br,onEdgeMouseLeave:eo,onEdgeUpdateStart:Sr,onEdgeUpdateEnd:Kn,edgeUpdaterRadius:Mi=10,onNodesChange:is,onEdgesChange:to,noDragClassName:za="nodrag",noWheelClassName:Ao="nowheel",noPanClassName:wr="nopan",fitView:Gs=!1,fitViewOptions:Zf,connectOnClick:Jf=!0,attributionPosition:eh,proOptions:th,defaultEdgeOptions:Po,elevateNodesOnSelect:nh=!0,elevateEdgesOnSelect:rh=!1,disableKeyboardA11y:kc=!1,autoPanOnConnect:ih=!0,autoPanOnNodeDrag:oh=!0,connectionRadius:sh=20,isValidConnection:os,onError:ah,style:Ro,id:Va,...lh},ja)=>{const uu=QR(o,Nme),Ic=QR(s,Pme),Ga=Va||"1";return ue.jsx("div",{...lh,style:{...Ro,...Rye},ref:ja,className:Eo(["react-flow",i]),"data-testid":"rf__wrapper",id:Va,children:ue.jsxs(UB,{children:[ue.jsx(wye,{onInit:u,onMove:d,onMoveStart:f,onMoveEnd:p,onNodeClick:a,onEdgeClick:l,onNodeMouseEnter:b,onNodeMouseMove:y,onNodeMouseLeave:S,onNodeContextMenu:C,onNodeDoubleClick:T,nodeTypes:uu,edgeTypes:Ic,connectionLineType:j,connectionLineStyle:q,connectionLineComponent:Z,connectionLineContainerStyle:ee,selectionKeyCode:se,selectionOnDrag:le,selectionMode:W,deleteKeyCode:ie,multiSelectionKeyCode:fe,panActivationKeyCode:ne,zoomActivationKeyCode:pe,onlyRenderVisibleElements:We,selectNodesOnDrag:Me,defaultViewport:gt,translateExtent:yr,minZoom:Jt,maxZoom:Nr,preventScrolling:hi,zoomOnScroll:Wn,zoomOnPinch:sn,zoomOnDoubleClick:Xr,panOnScroll:Gt,panOnScrollSpeed:vr,panOnScrollMode:Lr,panOnDrag:Ii,onPaneClick:En,onPaneMouseEnter:Yr,onPaneMouseMove:Vs,onPaneMouseLeave:Ji,onPaneScroll:js,onPaneContextMenu:Xt,onSelectionContextMenu:F,onSelectionStart:B,onSelectionEnd:D,onEdgeUpdate:qn,onEdgeContextMenu:Dn,onEdgeDoubleClick:or,onEdgeMouseEnter:_r,onEdgeMouseMove:br,onEdgeMouseLeave:eo,onEdgeUpdateStart:Sr,onEdgeUpdateEnd:Kn,edgeUpdaterRadius:Mi,defaultMarkerColor:on,noDragClassName:za,noWheelClassName:Ao,noPanClassName:wr,elevateEdgesOnSelect:rh,rfId:Ga,disableKeyboardA11y:kc,nodeOrigin:jt,nodeExtent:wn}),ue.jsx(_me,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:g,onConnectStart:m,onConnectEnd:v,onClickConnectStart:x,onClickConnectEnd:_,nodesDraggable:Ee,nodesConnectable:lt,nodesFocusable:_e,edgesFocusable:Hn,edgesUpdatable:Bt,elementsSelectable:it,elevateNodesOnSelect:nh,minZoom:Jt,maxZoom:Nr,nodeExtent:wn,onNodesChange:is,onEdgesChange:to,snapToGrid:ve,snapGrid:ye,connectionMode:V,translateExtent:yr,connectOnClick:Jf,defaultEdgeOptions:Po,fitView:Gs,fitViewOptions:Zf,onNodesDelete:O,onEdgesDelete:M,onNodeDragStart:E,onNodeDrag:P,onNodeDragStop:k,onSelectionDrag:A,onSelectionDragStart:U,onSelectionDragStop:N,noPanClassName:wr,nodeOrigin:jt,rfId:Ga,autoPanOnConnect:ih,autoPanOnNodeDrag:oh,onError:ah,connectionRadius:sh,isValidConnection:os}),ue.jsx(yme,{onSelectionChange:G}),Ot,ue.jsx(Wge,{proOptions:th,position:eh}),ue.jsx(Cme,{rfId:Ga,disableKeyboardA11y:kc})]})})});Oye.displayName="ReactFlow";var zB={},Nb={},Lb={};Object.defineProperty(Lb,"__esModule",{value:!0});Lb.createLogMethods=void 0;var kye=function(){return{debug:console.debug.bind(console),error:console.error.bind(console),fatal:console.error.bind(console),info:console.info.bind(console),trace:console.debug.bind(console),warn:console.warn.bind(console)}};Lb.createLogMethods=kye;var tE={},Db={};Object.defineProperty(Db,"__esModule",{value:!0});Db.boolean=void 0;const Iye=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1"].includes(e.trim().toLowerCase());case"[object Number]":return e.valueOf()===1;case"[object Boolean]":return e.valueOf();default:return!1}};Db.boolean=Iye;var $b={};Object.defineProperty($b,"__esModule",{value:!0});$b.isBooleanable=void 0;const Mye=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1","false","f","no","n","off","0"].includes(e.trim().toLowerCase());case"[object Number]":return[0,1].includes(e.valueOf());case"[object Boolean]":return!0;default:return!1}};$b.isBooleanable=Mye;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isBooleanable=e.boolean=void 0;const t=Db;Object.defineProperty(e,"boolean",{enumerable:!0,get:function(){return t.boolean}});const n=$b;Object.defineProperty(e,"isBooleanable",{enumerable:!0,get:function(){return n.isBooleanable}})})(tE);var ZR=Object.prototype.toString,VB=function(t){var n=ZR.call(t),r=n==="[object Arguments]";return r||(r=n!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&ZR.call(t.callee)==="[object Function]"),r},Tx,JR;function Nye(){if(JR)return Tx;JR=1;var e;if(!Object.keys){var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=VB,i=Object.prototype.propertyIsEnumerable,o=!i.call({toString:null},"toString"),s=i.call(function(){},"prototype"),a=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],l=function(p){var g=p.constructor;return g&&g.prototype===p},u={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},d=function(){if(typeof window>"u")return!1;for(var p in window)try{if(!u["$"+p]&&t.call(window,p)&&window[p]!==null&&typeof window[p]=="object")try{l(window[p])}catch{return!0}}catch{return!0}return!1}(),f=function(p){if(typeof window>"u"||!d)return l(p);try{return l(p)}catch{return!1}};e=function(g){var m=g!==null&&typeof g=="object",v=n.call(g)==="[object Function]",x=r(g),_=m&&n.call(g)==="[object String]",b=[];if(!m&&!v&&!x)throw new TypeError("Object.keys called on a non-object");var y=s&&v;if(_&&g.length>0&&!t.call(g,0))for(var S=0;S0)for(var C=0;C"u"||!ur?dt:ur(Uint8Array),qu={"%AggregateError%":typeof AggregateError>"u"?dt:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?dt:ArrayBuffer,"%ArrayIteratorPrototype%":ad&&ur?ur([][Symbol.iterator]()):dt,"%AsyncFromSyncIteratorPrototype%":dt,"%AsyncFunction%":bd,"%AsyncGenerator%":bd,"%AsyncGeneratorFunction%":bd,"%AsyncIteratorPrototype%":bd,"%Atomics%":typeof Atomics>"u"?dt:Atomics,"%BigInt%":typeof BigInt>"u"?dt:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?dt:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?dt:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?dt:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?dt:Float32Array,"%Float64Array%":typeof Float64Array>"u"?dt:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?dt:FinalizationRegistry,"%Function%":GB,"%GeneratorFunction%":bd,"%Int8Array%":typeof Int8Array>"u"?dt:Int8Array,"%Int16Array%":typeof Int16Array>"u"?dt:Int16Array,"%Int32Array%":typeof Int32Array>"u"?dt:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":ad&&ur?ur(ur([][Symbol.iterator]())):dt,"%JSON%":typeof JSON=="object"?JSON:dt,"%Map%":typeof Map>"u"?dt:Map,"%MapIteratorPrototype%":typeof Map>"u"||!ad||!ur?dt:ur(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?dt:Promise,"%Proxy%":typeof Proxy>"u"?dt:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?dt:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?dt:Set,"%SetIteratorPrototype%":typeof Set>"u"||!ad||!ur?dt:ur(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?dt:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":ad&&ur?ur(""[Symbol.iterator]()):dt,"%Symbol%":ad?Symbol:dt,"%SyntaxError%":Pf,"%ThrowTypeError%":Yye,"%TypedArray%":Zye,"%TypeError%":sf,"%Uint8Array%":typeof Uint8Array>"u"?dt:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?dt:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?dt:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?dt:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?dt:WeakMap,"%WeakRef%":typeof WeakRef>"u"?dt:WeakRef,"%WeakSet%":typeof WeakSet>"u"?dt:WeakSet};if(ur)try{null.error}catch(e){var Jye=ur(ur(e));qu["%Error.prototype%"]=Jye}var e0e=function e(t){var n;if(t==="%AsyncFunction%")n=Ax("async function () {}");else if(t==="%GeneratorFunction%")n=Ax("function* () {}");else if(t==="%AsyncGeneratorFunction%")n=Ax("async function* () {}");else if(t==="%AsyncGenerator%"){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if(t==="%AsyncIteratorPrototype%"){var i=e("%AsyncGenerator%");i&&ur&&(n=ur(i.prototype))}return qu[t]=n,n},iO={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},bm=jB,V1=Xye,t0e=bm.call(Function.call,Array.prototype.concat),n0e=bm.call(Function.apply,Array.prototype.splice),oO=bm.call(Function.call,String.prototype.replace),j1=bm.call(Function.call,String.prototype.slice),r0e=bm.call(Function.call,RegExp.prototype.exec),i0e=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,o0e=/\\(\\)?/g,s0e=function(t){var n=j1(t,0,1),r=j1(t,-1);if(n==="%"&&r!=="%")throw new Pf("invalid intrinsic syntax, expected closing `%`");if(r==="%"&&n!=="%")throw new Pf("invalid intrinsic syntax, expected opening `%`");var i=[];return oO(t,i0e,function(o,s,a,l){i[i.length]=a?oO(l,o0e,"$1"):s||o}),i},a0e=function(t,n){var r=t,i;if(V1(iO,r)&&(i=iO[r],r="%"+i[0]+"%"),V1(qu,r)){var o=qu[r];if(o===bd&&(o=e0e(r)),typeof o>"u"&&!n)throw new sf("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:r,value:o}}throw new Pf("intrinsic "+t+" does not exist!")},l0e=function(t,n){if(typeof t!="string"||t.length===0)throw new sf("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof n!="boolean")throw new sf('"allowMissing" argument must be a boolean');if(r0e(/^%?[^%]*%?$/,t)===null)throw new Pf("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=s0e(t),i=r.length>0?r[0]:"",o=a0e("%"+i+"%",n),s=o.name,a=o.value,l=!1,u=o.alias;u&&(i=u[0],n0e(r,t0e([0,1],u)));for(var d=1,f=!0;d=r.length){var v=Wu(a,p);f=!!v,f&&"get"in v&&!("originalValue"in v.get)?a=v.get:a=a[p]}else f=V1(a,p),a=a[p];f&&!l&&(qu[s]=a)}}return a},u0e=l0e,Y3=u0e("%Object.defineProperty%",!0),Q3=function(){if(Y3)try{return Y3({},"a",{value:1}),!0}catch{return!1}return!1};Q3.hasArrayLengthDefineBug=function(){if(!Q3())return null;try{return Y3([],"length",{value:1}).length!==1}catch{return!0}};var c0e=Q3,d0e=$ye,f0e=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",h0e=Object.prototype.toString,p0e=Array.prototype.concat,HB=Object.defineProperty,g0e=function(e){return typeof e=="function"&&h0e.call(e)==="[object Function]"},m0e=c0e(),WB=HB&&m0e,y0e=function(e,t,n,r){if(t in e){if(r===!0){if(e[t]===n)return}else if(!g0e(r)||!r())return}WB?HB(e,t,{configurable:!0,enumerable:!1,value:n,writable:!0}):e[t]=n},qB=function(e,t){var n=arguments.length>2?arguments[2]:{},r=d0e(t);f0e&&(r=p0e.call(r,Object.getOwnPropertySymbols(t)));for(var i=0;i":return t>e;case":<":return t=":return t>=e;case":<=":return t<=e;default:throw new Error("Unimplemented comparison operator: ".concat(n))}};zb.testComparisonRange=F0e;var Vb={};Object.defineProperty(Vb,"__esModule",{value:!0});Vb.testRange=void 0;var B0e=function(e,t){return typeof e=="number"?!(et.max||e===t.max&&!t.maxInclusive):!1};Vb.testRange=B0e;(function(e){var t=He&&He.__assign||function(){return t=Object.assign||function(d){for(var f,p=1,g=arguments.length;p0?{path:l.path,query:new RegExp("("+l.keywords.map(function(u){return(0,V0e.escapeRegexString)(u.trim())}).join("|")+")")}:{path:l.path}})};jb.highlight=G0e;var Gb={},eU={exports:{}};(function(e){(function(t,n){e.exports?e.exports=n():t.nearley=n()})(He,function(){function t(u,d,f){return this.id=++t.highestId,this.name=u,this.symbols=d,this.postprocess=f,this}t.highestId=0,t.prototype.toString=function(u){var d=typeof u>"u"?this.symbols.map(l).join(" "):this.symbols.slice(0,u).map(l).join(" ")+" ● "+this.symbols.slice(u).map(l).join(" ");return this.name+" → "+d};function n(u,d,f,p){this.rule=u,this.dot=d,this.reference=f,this.data=[],this.wantedBy=p,this.isComplete=this.dot===u.symbols.length}n.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},n.prototype.nextState=function(u){var d=new n(this.rule,this.dot+1,this.reference,this.wantedBy);return d.left=this,d.right=u,d.isComplete&&(d.data=d.build(),d.right=void 0),d},n.prototype.build=function(){var u=[],d=this;do u.push(d.right.data),d=d.left;while(d.left);return u.reverse(),u},n.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))};function r(u,d){this.grammar=u,this.index=d,this.states=[],this.wants={},this.scannable=[],this.completed={}}r.prototype.process=function(u){for(var d=this.states,f=this.wants,p=this.completed,g=0;g0&&d.push(" ^ "+p+" more lines identical to this"),p=0,d.push(" "+v)),f=v}},s.prototype.getSymbolDisplay=function(u){return a(u)},s.prototype.buildFirstStateStack=function(u,d){if(d.indexOf(u)!==-1)return null;if(u.wantedBy.length===0)return[u];var f=u.wantedBy[0],p=[u].concat(d),g=this.buildFirstStateStack(f,p);return g===null?null:[u].concat(g)},s.prototype.save=function(){var u=this.table[this.current];return u.lexerState=this.lexerState,u},s.prototype.restore=function(u){var d=u.index;this.current=d,this.table[d]=u,this.table.splice(d+1),this.lexerState=u.lexerState,this.results=this.finish()},s.prototype.rewind=function(u){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[u])},s.prototype.finish=function(){var u=[],d=this.grammar.start,f=this.table[this.table.length-1];return f.states.forEach(function(p){p.rule.name===d&&p.dot===p.rule.symbols.length&&p.reference===0&&p.data!==s.fail&&u.push(p)}),u.map(function(p){return p.data})};function a(u){var d=typeof u;if(d==="string")return u;if(d==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return"character matching "+u;if(u.type)return u.type+" token";if(u.test)return"token matching "+String(u.test);throw new Error("Unknown symbol type: "+u)}}function l(u){var d=typeof u;if(d==="string")return u;if(d==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return u.toString();if(u.type)return"%"+u.type;if(u.test)return"<"+String(u.test)+">";throw new Error("Unknown symbol type: "+u)}}return{Parser:s,Grammar:i,Rule:t}})})(eU);var H0e=eU.exports,ac={},tU={},nu={};nu.__esModule=void 0;nu.__esModule=!0;var W0e=typeof Object.setPrototypeOf=="function",q0e=typeof Object.getPrototypeOf=="function",K0e=typeof Object.defineProperty=="function",X0e=typeof Object.create=="function",Y0e=typeof Object.prototype.hasOwnProperty=="function",Q0e=function(t,n){W0e?Object.setPrototypeOf(t,n):t.__proto__=n};nu.setPrototypeOf=Q0e;var Z0e=function(t){return q0e?Object.getPrototypeOf(t):t.__proto__||t.prototype};nu.getPrototypeOf=Z0e;var sO=!1,J0e=function e(t,n,r){if(K0e&&!sO)try{Object.defineProperty(t,n,r)}catch{sO=!0,e(t,n,r)}else t[n]=r.value};nu.defineProperty=J0e;var nU=function(t,n){return Y0e?t.hasOwnProperty(t,n):t[n]===void 0};nu.hasOwnProperty=nU;var eve=function(t,n){if(X0e)return Object.create(t,n);var r=function(){};r.prototype=t;var i=new r;if(typeof n>"u")return i;if(typeof n=="null")throw new Error("PropertyDescriptors must not be null.");if(typeof n=="object")for(var o in n)nU(n,o)&&(i[o]=n[o].value);return i};nu.objectCreate=eve;(function(e){e.__esModule=void 0,e.__esModule=!0;var t=nu,n=t.setPrototypeOf,r=t.getPrototypeOf,i=t.defineProperty,o=t.objectCreate,s=new Error().toString()==="[object Error]",a="";function l(u){var d=this.constructor,f=d.name||function(){var x=d.toString().match(/^function\s*([^\s(]+)/);return x===null?a||"Error":x[1]}(),p=f==="Error",g=p?a:f,m=Error.apply(this,arguments);if(n(m,r(this)),!(m instanceof d)||!(m instanceof l)){var m=this;Error.apply(this,arguments),i(m,"message",{configurable:!0,enumerable:!1,value:u,writable:!0})}if(i(m,"name",{configurable:!0,enumerable:!1,value:g,writable:!0}),Error.captureStackTrace&&Error.captureStackTrace(m,p?l:d),m.stack===void 0){var v=new Error(u);v.name=m.name,m.stack=v.stack}return s&&i(m,"toString",{configurable:!0,enumerable:!1,value:function(){return(this.name||"Error")+(typeof this.message>"u"?"":": "+this.message)},writable:!0}),m}a=l.name||"ExtendableError",l.prototype=o(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),e.ExtendableError=l,e.default=e.ExtendableError})(tU);var rU=He&&He.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(r[o]=i[o])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(ac,"__esModule",{value:!0});ac.SyntaxError=ac.LiqeError=void 0;var tve=tU,iU=function(e){rU(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(tve.ExtendableError);ac.LiqeError=iU;var nve=function(e){rU(t,e);function t(n,r,i,o){var s=e.call(this,n)||this;return s.message=n,s.offset=r,s.line=i,s.column=o,s}return t}(iU);ac.SyntaxError=nve;var iE={},G1=He&&He.__assign||function(){return G1=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$2"]},{name:"comparison_operator$subexpression$1$string$3",symbols:[{literal:":"},{literal:"<"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$3"]},{name:"comparison_operator$subexpression$1$string$4",symbols:[{literal:":"},{literal:">"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$4"]},{name:"comparison_operator$subexpression$1$string$5",symbols:[{literal:":"},{literal:"<"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$5"]},{name:"comparison_operator",symbols:["comparison_operator$subexpression$1"],postprocess:function(e,t){return{location:{start:t,end:t+e[0][0].length},type:"ComparisonOperator",operator:e[0][0]}}},{name:"regex",symbols:["regex_body","regex_flags"],postprocess:function(e){return e.join("")}},{name:"regex_body$ebnf$1",symbols:[]},{name:"regex_body$ebnf$1",symbols:["regex_body$ebnf$1","regex_body_char"],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_body",symbols:[{literal:"/"},"regex_body$ebnf$1",{literal:"/"}],postprocess:function(e){return"/"+e[1].join("")+"/"}},{name:"regex_body_char",symbols:[/[^\\]/],postprocess:na},{name:"regex_body_char",symbols:[{literal:"\\"},/[^\\]/],postprocess:function(e){return"\\"+e[1]}},{name:"regex_flags",symbols:[]},{name:"regex_flags$ebnf$1",symbols:[/[gmiyusd]/]},{name:"regex_flags$ebnf$1",symbols:["regex_flags$ebnf$1",/[gmiyusd]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_flags",symbols:["regex_flags$ebnf$1"],postprocess:function(e){return e[0].join("")}},{name:"unquoted_value$ebnf$1",symbols:[]},{name:"unquoted_value$ebnf$1",symbols:["unquoted_value$ebnf$1",/[a-zA-Z\.\-_*@#$]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"unquoted_value",symbols:[/[a-zA-Z_*@#$]/,"unquoted_value$ebnf$1"],postprocess:function(e){return e[0]+e[1].join("")}}],ParserStart:"main"};iE.default=rve;var oU={},Hb={},xm={};Object.defineProperty(xm,"__esModule",{value:!0});xm.isSafePath=void 0;var ive=/^(\.(?:[_a-zA-Z][a-zA-Z\d_]*|\0|[1-9]\d*))+$/u,ove=function(e){return ive.test(e)};xm.isSafePath=ove;Object.defineProperty(Hb,"__esModule",{value:!0});Hb.createGetValueFunctionBody=void 0;var sve=xm,ave=function(e){if(!(0,sve.isSafePath)(e))throw new Error("Unsafe path.");var t="return subject"+e;return t.replace(/(\.(\d+))/g,".[$2]").replace(/\./g,"?.")};Hb.createGetValueFunctionBody=ave;(function(e){var t=He&&He.__assign||function(){return t=Object.assign||function(o){for(var s,a=1,l=arguments.length;a\d+) col (?\d+)/,hve=function(e){if(e.trim()==="")return{location:{end:0,start:0},type:"EmptyExpression"};var t=new aU.default.Parser(dve),n;try{n=t.feed(e).results}catch(o){if(typeof(o==null?void 0:o.message)=="string"&&typeof(o==null?void 0:o.offset)=="number"){var r=o.message.match(fve);throw r?new lve.SyntaxError("Syntax error at line ".concat(r.groups.line," column ").concat(r.groups.column),o.offset,Number(r.groups.line),Number(r.groups.column)):o}throw o}if(n.length===0)throw new Error("Found no parsings.");if(n.length>1)throw new Error("Ambiguous results.");var i=(0,cve.hydrateAst)(n[0]);return i};Gb.parse=hve;var Wb={};Object.defineProperty(Wb,"__esModule",{value:!0});Wb.test=void 0;var pve=Sm,gve=function(e,t){return(0,pve.filter)(e,[t]).length===1};Wb.test=gve;var lU={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.serialize=void 0;var t=function(o,s){return s==="double"?'"'.concat(o,'"'):s==="single"?"'".concat(o,"'"):o},n=function(o){if(o.type==="LiteralExpression")return o.quoted&&typeof o.value=="string"?t(o.value,o.quotes):String(o.value);if(o.type==="RegexExpression")return String(o.value);if(o.type==="RangeExpression"){var s=o.range,a=s.min,l=s.max,u=s.minInclusive,d=s.maxInclusive;return"".concat(u?"[":"{").concat(a," TO ").concat(l).concat(d?"]":"}")}if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")},r=function(o){if(o.type!=="Tag")throw new Error("Expected a tag expression.");var s=o.field,a=o.expression,l=o.operator;if(s.type==="ImplicitField")return n(a);var u=s.quoted?t(s.name,s.quotes):s.name,d=" ".repeat(a.location.start-l.location.end);return u+l.operator+d+n(a)},i=function(o){if(o.type==="ParenthesizedExpression"){if(!("location"in o.expression))throw new Error("Expected location in expression.");if(!o.location.end)throw new Error("Expected location end.");var s=" ".repeat(o.expression.location.start-(o.location.start+1)),a=" ".repeat(o.location.end-o.expression.location.end-1);return"(".concat(s).concat((0,e.serialize)(o.expression)).concat(a,")")}if(o.type==="Tag")return r(o);if(o.type==="LogicalExpression"){var l="";return o.operator.type==="BooleanOperator"?(l+=" ".repeat(o.operator.location.start-o.left.location.end),l+=o.operator.operator,l+=" ".repeat(o.right.location.start-o.operator.location.end)):l=" ".repeat(o.right.location.start-o.left.location.end),"".concat((0,e.serialize)(o.left)).concat(l).concat((0,e.serialize)(o.right))}if(o.type==="UnaryOperator")return(o.operator==="NOT"?"NOT ":o.operator)+(0,e.serialize)(o.operand);if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")};e.serialize=i})(lU);var qb={};Object.defineProperty(qb,"__esModule",{value:!0});qb.isSafeUnquotedExpression=void 0;var mve=function(e){return/^[#$*@A-Z_a-z][#$*.@A-Z_a-z-]*$/.test(e)};qb.isSafeUnquotedExpression=mve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isSafeUnquotedExpression=e.serialize=e.SyntaxError=e.LiqeError=e.test=e.parse=e.highlight=e.filter=void 0;var t=Sm;Object.defineProperty(e,"filter",{enumerable:!0,get:function(){return t.filter}});var n=jb;Object.defineProperty(e,"highlight",{enumerable:!0,get:function(){return n.highlight}});var r=Gb;Object.defineProperty(e,"parse",{enumerable:!0,get:function(){return r.parse}});var i=Wb;Object.defineProperty(e,"test",{enumerable:!0,get:function(){return i.test}});var o=ac;Object.defineProperty(e,"LiqeError",{enumerable:!0,get:function(){return o.LiqeError}}),Object.defineProperty(e,"SyntaxError",{enumerable:!0,get:function(){return o.SyntaxError}});var s=lU;Object.defineProperty(e,"serialize",{enumerable:!0,get:function(){return s.serialize}});var a=qb;Object.defineProperty(e,"isSafeUnquotedExpression",{enumerable:!0,get:function(){return a.isSafeUnquotedExpression}})})(JB);var Cm={},uU={},lc={};Object.defineProperty(lc,"__esModule",{value:!0});lc.ROARR_LOG_FORMAT_VERSION=lc.ROARR_VERSION=void 0;lc.ROARR_VERSION="5.0.0";lc.ROARR_LOG_FORMAT_VERSION="2.0.0";var Tm={};Object.defineProperty(Tm,"__esModule",{value:!0});Tm.logLevels=void 0;Tm.logLevels={debug:20,error:50,fatal:60,info:30,trace:10,warn:40};var cU={},Kb={};Object.defineProperty(Kb,"__esModule",{value:!0});Kb.hasOwnProperty=void 0;const yve=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);Kb.hasOwnProperty=yve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.hasOwnProperty=void 0;var t=Kb;Object.defineProperty(e,"hasOwnProperty",{enumerable:!0,get:function(){return t.hasOwnProperty}})})(cU);var dU={},Xb={},Yb={};Object.defineProperty(Yb,"__esModule",{value:!0});Yb.tokenize=void 0;const vve=/(?:%(?([+0-]|-\+))?(?\d+)?(?\d+\$)?(?\.\d+)?(?[%BCESb-iosux]))|(\\%)/g,_ve=e=>{let t;const n=[];let r=0,i=0,o=null;for(;(t=vve.exec(e))!==null;){t.index>i&&(o={literal:e.slice(i,t.index),type:"literal"},n.push(o));const s=t[0];i=t.index+s.length,s==="\\%"||s==="%%"?o&&o.type==="literal"?o.literal+="%":(o={literal:"%",type:"literal"},n.push(o)):t.groups&&(o={conversion:t.groups.conversion,flag:t.groups.flag||null,placeholder:s,position:t.groups.position?Number.parseInt(t.groups.position,10)-1:r++,precision:t.groups.precision?Number.parseInt(t.groups.precision.slice(1),10):null,type:"placeholder",width:t.groups.width?Number.parseInt(t.groups.width,10):null},n.push(o))}return i<=e.length-1&&(o&&o.type==="literal"?o.literal+=e.slice(i):n.push({literal:e.slice(i),type:"literal"})),n};Yb.tokenize=_ve;Object.defineProperty(Xb,"__esModule",{value:!0});Xb.createPrintf=void 0;const aO=tE,bve=Yb,Sve=(e,t)=>t.placeholder,wve=e=>{var t;const n=(o,s,a)=>a==="-"?o.padEnd(s," "):a==="-+"?((Number(o)>=0?"+":"")+o).padEnd(s," "):a==="+"?((Number(o)>=0?"+":"")+o).padStart(s," "):a==="0"?o.padStart(s,"0"):o.padStart(s," "),r=(t=e==null?void 0:e.formatUnboundExpression)!==null&&t!==void 0?t:Sve,i={};return(o,...s)=>{let a=i[o];a||(a=i[o]=bve.tokenize(o));let l="";for(const u of a)if(u.type==="literal")l+=u.literal;else{let d=s[u.position];if(d===void 0)l+=r(o,u,s);else if(u.conversion==="b")l+=aO.boolean(d)?"true":"false";else if(u.conversion==="B")l+=aO.boolean(d)?"TRUE":"FALSE";else if(u.conversion==="c")l+=d;else if(u.conversion==="C")l+=String(d).toUpperCase();else if(u.conversion==="i"||u.conversion==="d")d=String(Math.trunc(d)),u.width!==null&&(d=n(d,u.width,u.flag)),l+=d;else if(u.conversion==="e")l+=Number(d).toExponential();else if(u.conversion==="E")l+=Number(d).toExponential().toUpperCase();else if(u.conversion==="f")u.precision!==null&&(d=Number(d).toFixed(u.precision)),u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else if(u.conversion==="o")l+=(Number.parseInt(String(d),10)>>>0).toString(8);else if(u.conversion==="s")u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else if(u.conversion==="S")u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=String(d).toUpperCase();else if(u.conversion==="u")l+=Number.parseInt(String(d),10)>>>0;else if(u.conversion==="x")d=(Number.parseInt(String(d),10)>>>0).toString(16),u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else throw new Error("Unknown format specifier.")}return l}};Xb.createPrintf=wve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.printf=e.createPrintf=void 0;const t=Xb;Object.defineProperty(e,"createPrintf",{enumerable:!0,get:function(){return t.createPrintf}}),e.printf=t.createPrintf()})(dU);var Z3={exports:{}};(function(e,t){const{hasOwnProperty:n}=Object.prototype,r=x();r.configure=x,r.stringify=r,r.default=r,t.stringify=r,t.configure=x,e.exports=r;const i=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?:[^\ud800-\udbff]|^)[\udc00-\udfff]/;function o(_){return _.length<5e3&&!i.test(_)?`"${_}"`:JSON.stringify(_)}function s(_){if(_.length>200)return _.sort();for(let b=1;b<_.length;b++){const y=_[b];let S=b;for(;S!==0&&_[S-1]>y;)_[S]=_[S-1],S--;_[S]=y}return _}const a=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function l(_){return a.call(_)!==void 0&&_.length!==0}function u(_,b,y){_.length= 1`)}return y===void 0?1/0:y}function g(_){return _===1?"1 item":`${_} items`}function m(_){const b=new Set;for(const y of _)(typeof y=="string"||typeof y=="number")&&b.add(String(y));return b}function v(_){if(n.call(_,"strict")){const b=_.strict;if(typeof b!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(b)return y=>{let S=`Object can not safely be stringified. Received type ${typeof y}`;throw typeof y!="function"&&(S+=` (${y.toString()})`),new Error(S)}}}function x(_){_={..._};const b=v(_);b&&(_.bigint===void 0&&(_.bigint=!1),"circularValue"in _||(_.circularValue=Error));const y=d(_),S=f(_,"bigint"),C=f(_,"deterministic"),T=p(_,"maximumDepth"),E=p(_,"maximumBreadth");function P(U,A,N,F,B,D){let V=A[U];switch(typeof V=="object"&&V!==null&&typeof V.toJSON=="function"&&(V=V.toJSON(U)),V=F.call(A,U,V),typeof V){case"string":return o(V);case"object":{if(V===null)return"null";if(N.indexOf(V)!==-1)return y;let j="",q=",";const Z=D;if(Array.isArray(V)){if(V.length===0)return"[]";if(TE){const ve=V.length-E-1;j+=`${q}"... ${g(ve)} not stringified"`}return B!==""&&(j+=` -${Z}`),N.pop(),`[${j}]`}let ee=Object.keys(V);const ie=ee.length;if(ie===0)return"{}";if(TE){const ne=ie-E;j+=`${le}"...":${se}"${g(ne)} not stringified"`,le=q}return B!==""&&le.length>1&&(j=` -${D}${j} -${Z}`),N.pop(),`{${j}}`}case"number":return isFinite(V)?String(V):b?b(V):"null";case"boolean":return V===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(V);default:return b?b(V):void 0}}function k(U,A,N,F,B,D){switch(typeof A=="object"&&A!==null&&typeof A.toJSON=="function"&&(A=A.toJSON(U)),typeof A){case"string":return o(A);case"object":{if(A===null)return"null";if(N.indexOf(A)!==-1)return y;const V=D;let j="",q=",";if(Array.isArray(A)){if(A.length===0)return"[]";if(TE){const W=A.length-E-1;j+=`${q}"... ${g(W)} not stringified"`}return B!==""&&(j+=` -${V}`),N.pop(),`[${j}]`}N.push(A);let Z="";B!==""&&(D+=B,q=`, -${D}`,Z=" ");let ee="";for(const ie of F){const se=k(ie,A[ie],N,F,B,D);se!==void 0&&(j+=`${ee}${o(ie)}:${Z}${se}`,ee=q)}return B!==""&&ee.length>1&&(j=` -${D}${j} -${V}`),N.pop(),`{${j}}`}case"number":return isFinite(A)?String(A):b?b(A):"null";case"boolean":return A===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(A);default:return b?b(A):void 0}}function O(U,A,N,F,B){switch(typeof A){case"string":return o(A);case"object":{if(A===null)return"null";if(typeof A.toJSON=="function"){if(A=A.toJSON(U),typeof A!="object")return O(U,A,N,F,B);if(A===null)return"null"}if(N.indexOf(A)!==-1)return y;const D=B;if(Array.isArray(A)){if(A.length===0)return"[]";if(TE){const pe=A.length-E-1;se+=`${le}"... ${g(pe)} not stringified"`}return se+=` -${D}`,N.pop(),`[${se}]`}let V=Object.keys(A);const j=V.length;if(j===0)return"{}";if(TE){const se=j-E;Z+=`${ee}"...": "${g(se)} not stringified"`,ee=q}return ee!==""&&(Z=` -${B}${Z} -${D}`),N.pop(),`{${Z}}`}case"number":return isFinite(A)?String(A):b?b(A):"null";case"boolean":return A===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(A);default:return b?b(A):void 0}}function M(U,A,N){switch(typeof A){case"string":return o(A);case"object":{if(A===null)return"null";if(typeof A.toJSON=="function"){if(A=A.toJSON(U),typeof A!="object")return M(U,A,N);if(A===null)return"null"}if(N.indexOf(A)!==-1)return y;let F="";if(Array.isArray(A)){if(A.length===0)return"[]";if(TE){const ie=A.length-E-1;F+=`,"... ${g(ie)} not stringified"`}return N.pop(),`[${F}]`}let B=Object.keys(A);const D=B.length;if(D===0)return"{}";if(TE){const q=D-E;F+=`${V}"...":"${g(q)} not stringified"`}return N.pop(),`{${F}}`}case"number":return isFinite(A)?String(A):b?b(A):"null";case"boolean":return A===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(A);default:return b?b(A):void 0}}function G(U,A,N){if(arguments.length>1){let F="";if(typeof N=="number"?F=" ".repeat(Math.min(N,10)):typeof N=="string"&&(F=N.slice(0,10)),A!=null){if(typeof A=="function")return P("",{"":U},[],A,F,"");if(Array.isArray(A))return k("",U,[],m(A),F,"")}if(F.length!==0)return O("",U,[],F,"")}return M("",U,[])}return G}})(Z3,Z3.exports);var xve=Z3.exports;(function(e){var t=He&&He.__importDefault||function(y){return y&&y.__esModule?y:{default:y}};Object.defineProperty(e,"__esModule",{value:!0}),e.createLogger=void 0;const n=lc,r=Tm,i=cU,o=dU,s=t(nE),a=t(xve);let l=!1;const u=(0,s.default)(),d=()=>u.ROARR,f=()=>({messageContext:{},transforms:[]}),p=()=>{const y=d().asyncLocalStorage;if(!y)throw new Error("AsyncLocalContext is unavailable.");const S=y.getStore();return S||f()},g=()=>!!d().asyncLocalStorage,m=()=>{if(g()){const y=p();return(0,i.hasOwnProperty)(y,"sequenceRoot")&&(0,i.hasOwnProperty)(y,"sequence")&&typeof y.sequence=="number"?String(y.sequenceRoot)+"."+String(y.sequence++):String(d().sequence++)}return String(d().sequence++)},v=(y,S)=>(C,T,E,P,k,O,M,G,U,A)=>{y.child({logLevel:S})(C,T,E,P,k,O,M,G,U,A)},x=1e3,_=(y,S)=>(C,T,E,P,k,O,M,G,U,A)=>{const N=(0,a.default)({a:C,b:T,c:E,d:P,e:k,f:O,g:M,h:G,i:U,j:A,logLevel:S});if(!N)throw new Error("Expected key to be a string");const F=d().onceLog;F.has(N)||(F.add(N),F.size>x&&F.clear(),y.child({logLevel:S})(C,T,E,P,k,O,M,G,U,A))},b=(y,S={},C=[])=>{const T=(E,P,k,O,M,G,U,A,N,F)=>{const B=Date.now(),D=m();let V;g()?V=p():V=f();let j,q;if(typeof E=="string"?j={...V.messageContext,...S}:j={...V.messageContext,...S,...E},typeof E=="string"&&P===void 0)q=E;else if(typeof E=="string"){if(!E.includes("%"))throw new Error("When a string parameter is followed by other arguments, then it is assumed that you are attempting to format a message using printf syntax. You either forgot to add printf bindings or if you meant to add context to the log message, pass them in an object as the first parameter.");q=(0,o.printf)(E,P,k,O,M,G,U,A,N,F)}else{let ee=P;if(typeof P!="string")if(P===void 0)ee="";else throw new TypeError("Message must be a string. Received "+typeof P+".");q=(0,o.printf)(ee,k,O,M,G,U,A,N,F)}let Z={context:j,message:q,sequence:D,time:B,version:n.ROARR_LOG_FORMAT_VERSION};for(const ee of[...V.transforms,...C])if(Z=ee(Z),typeof Z!="object"||Z===null)throw new Error("Message transform function must return a message object.");y(Z)};return T.child=E=>{let P;return g()?P=p():P=f(),typeof E=="function"?(0,e.createLogger)(y,{...P.messageContext,...S,...E},[E,...C]):(0,e.createLogger)(y,{...P.messageContext,...S,...E},C)},T.getContext=()=>{let E;return g()?E=p():E=f(),{...E.messageContext,...S}},T.adopt=async(E,P)=>{if(!g())return l===!1&&(l=!0,y({context:{logLevel:r.logLevels.warn,package:"roarr"},message:"async_hooks are unavailable; Roarr.adopt will not function as expected",sequence:m(),time:Date.now(),version:n.ROARR_LOG_FORMAT_VERSION})),E();const k=p();let O;(0,i.hasOwnProperty)(k,"sequenceRoot")&&(0,i.hasOwnProperty)(k,"sequence")&&typeof k.sequence=="number"?O=k.sequenceRoot+"."+String(k.sequence++):O=String(d().sequence++);let M={...k.messageContext};const G=[...k.transforms];typeof P=="function"?G.push(P):M={...M,...P};const U=d().asyncLocalStorage;if(!U)throw new Error("Async local context unavailable.");return U.run({messageContext:M,sequence:0,sequenceRoot:O,transforms:G},()=>E())},T.debug=v(T,r.logLevels.debug),T.debugOnce=_(T,r.logLevels.debug),T.error=v(T,r.logLevels.error),T.errorOnce=_(T,r.logLevels.error),T.fatal=v(T,r.logLevels.fatal),T.fatalOnce=_(T,r.logLevels.fatal),T.info=v(T,r.logLevels.info),T.infoOnce=_(T,r.logLevels.info),T.trace=v(T,r.logLevels.trace),T.traceOnce=_(T,r.logLevels.trace),T.warn=v(T,r.logLevels.warn),T.warnOnce=_(T,r.logLevels.warn),T};e.createLogger=b})(uU);var Qb={},Cve=function(t,n){for(var r=t.split("."),i=n.split("."),o=0;o<3;o++){var s=Number(r[o]),a=Number(i[o]);if(s>a)return 1;if(a>s)return-1;if(!isNaN(s)&&isNaN(a))return 1;if(isNaN(s)&&!isNaN(a))return-1}return 0},Tve=He&&He.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Qb,"__esModule",{value:!0});Qb.createRoarrInitialGlobalStateBrowser=void 0;const lO=lc,uO=Tve(Cve),Eve=e=>{const t=(e.versions||[]).concat();return t.length>1&&t.sort(uO.default),t.includes(lO.ROARR_VERSION)||t.push(lO.ROARR_VERSION),t.sort(uO.default),{sequence:0,...e,versions:t}};Qb.createRoarrInitialGlobalStateBrowser=Eve;var Zb={};Object.defineProperty(Zb,"__esModule",{value:!0});Zb.getLogLevelName=void 0;const Ave=e=>e<=10?"trace":e<=20?"debug":e<=30?"info":e<=40?"warn":e<=50?"error":"fatal";Zb.getLogLevelName=Ave;(function(e){var t=He&&He.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0}),e.getLogLevelName=e.logLevels=e.Roarr=e.ROARR=void 0;const n=uU,r=Qb,o=(0,t(nE).default)(),s=(0,r.createRoarrInitialGlobalStateBrowser)(o.ROARR||{});e.ROARR=s,o.ROARR=s;const a=f=>JSON.stringify(f),l=(0,n.createLogger)(f=>{var p;s.write&&s.write(((p=s.serializeMessage)!==null&&p!==void 0?p:a)(f))});e.Roarr=l;var u=Tm;Object.defineProperty(e,"logLevels",{enumerable:!0,get:function(){return u.logLevels}});var d=Zb;Object.defineProperty(e,"getLogLevelName",{enumerable:!0,get:function(){return d.getLogLevelName}})})(Cm);var Pve=He&&He.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i0?g("%c ".concat(p," %c").concat(d?" [".concat(String(d),"]:"):"","%c ").concat(a.message," %O"),v,x,_,f):g("%c ".concat(p," %c").concat(d?" [".concat(String(d),"]:"):"","%c ").concat(a.message),v,x,_)}}};Nb.createLogWriter=$ve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createLogWriter=void 0;var t=Nb;Object.defineProperty(e,"createLogWriter",{enumerable:!0,get:function(){return t.createLogWriter}})})(zB);Cm.ROARR.write=zB.createLogWriter();const hU={};Cm.Roarr.child(hU);const Jb=gm(Cm.Roarr.child(hU)),Ie=e=>Jb.get().child({namespace:e}),LIe=["trace","debug","info","warn","error","fatal"],DIe={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function Fve(){const e=[];return function(t,n){if(typeof n!="object"||n===null)return n;for(;e.length>0&&e.at(-1)!==this;)e.pop();return e.includes(n)?"[Circular]":(e.push(n),n)}}const Ig=Bl("nodes/receivedOpenAPISchema",async(e,{dispatch:t,rejectWithValue:n})=>{const r=Ie("system");try{const o=await(await fetch("openapi.json")).json();return r.info({openAPISchema:o},"Received OpenAPI schema"),JSON.parse(JSON.stringify(o,Fve()))}catch(i){return n({error:i})}}),pU={nodes:[],edges:[],schema:null,invocationTemplates:{},connectionStartParams:null,shouldShowGraphOverlay:!1,shouldShowFieldTypeLegend:!1,shouldShowMinimapPanel:!0,editorInstance:void 0,progressNodeSize:{width:512,height:512}},gU=yn({name:"nodes",initialState:pU,reducers:{nodesChanged:(e,t)=>{e.nodes=kB(t.payload,e.nodes)},nodeAdded:(e,t)=>{e.nodes.push(t.payload)},edgesChanged:(e,t)=>{e.edges=Xme(t.payload,e.edges)},connectionStarted:(e,t)=>{e.connectionStartParams=t.payload},connectionMade:(e,t)=>{e.edges=iB(t.payload,e.edges)},connectionEnded:e=>{e.connectionStartParams=null},fieldValueChanged:(e,t)=>{var a,l,u;const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(d=>d.id===n),s=(u=(l=(a=e.nodes)==null?void 0:a[o])==null?void 0:l.data)==null?void 0:u.inputs[r];s&&o>-1&&(s.value=i)},imageCollectionFieldValueChanged:(e,t)=>{var l,u,d;const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(f=>f.id===n);if(o===-1)return;const s=(d=(u=(l=e.nodes)==null?void 0:l[o])==null?void 0:u.data)==null?void 0:d.inputs[r];if(!s)return;const a=zr(s.value);if(!a){s.value=i;return}s.value=ele(a.concat(i),"image_name")},shouldShowGraphOverlayChanged:(e,t)=>{e.shouldShowGraphOverlay=t.payload},shouldShowFieldTypeLegendChanged:(e,t)=>{e.shouldShowFieldTypeLegend=t.payload},shouldShowMinimapPanelChanged:(e,t)=>{e.shouldShowMinimapPanel=t.payload},nodeTemplatesBuilt:(e,t)=>{e.invocationTemplates=t.payload},nodeEditorReset:e=>{e.nodes=[],e.edges=[]},setEditorInstance:(e,t)=>{e.editorInstance=t.payload},loadFileNodes:(e,t)=>{e.nodes=t.payload},loadFileEdges:(e,t)=>{e.edges=t.payload},setProgressNodeSize:(e,t)=>{e.progressNodeSize=t.payload}},extraReducers:e=>{e.addCase(Ig.fulfilled,(t,n)=>{t.schema=n.payload})}}),{nodesChanged:$Ie,edgesChanged:FIe,nodeAdded:BIe,fieldValueChanged:mU,connectionMade:UIe,connectionStarted:zIe,connectionEnded:VIe,shouldShowGraphOverlayChanged:jIe,shouldShowFieldTypeLegendChanged:GIe,shouldShowMinimapPanelChanged:HIe,nodeTemplatesBuilt:oE,nodeEditorReset:sE,imageCollectionFieldValueChanged:WIe,setEditorInstance:qIe,loadFileNodes:KIe,loadFileEdges:XIe,setProgressNodeSize:YIe}=gU.actions,Bve=gU.reducer,yU={esrganModelName:"RealESRGAN_x4plus.pth"},vU=yn({name:"postprocessing",initialState:yU,reducers:{esrganModelNameChanged:(e,t)=>{e.esrganModelName=t.payload}}}),{esrganModelNameChanged:QIe}=vU.actions,Uve=vU.reducer,zve={positiveStylePrompt:"",negativeStylePrompt:"",shouldConcatSDXLStylePrompt:!0,shouldUseSDXLRefiner:!1,sdxlImg2ImgDenoisingStrength:.7,refinerModel:null,refinerSteps:20,refinerCFGScale:7.5,refinerScheduler:"euler",refinerAestheticScore:6,refinerStart:.7},_U=yn({name:"sdxl",initialState:zve,reducers:{setPositiveStylePromptSDXL:(e,t)=>{e.positiveStylePrompt=t.payload},setNegativeStylePromptSDXL:(e,t)=>{e.negativeStylePrompt=t.payload},setShouldConcatSDXLStylePrompt:(e,t)=>{e.shouldConcatSDXLStylePrompt=t.payload},setShouldUseSDXLRefiner:(e,t)=>{e.shouldUseSDXLRefiner=t.payload},setSDXLImg2ImgDenoisingStrength:(e,t)=>{e.sdxlImg2ImgDenoisingStrength=t.payload},refinerModelChanged:(e,t)=>{e.refinerModel=t.payload},setRefinerSteps:(e,t)=>{e.refinerSteps=t.payload},setRefinerCFGScale:(e,t)=>{e.refinerCFGScale=t.payload},setRefinerScheduler:(e,t)=>{e.refinerScheduler=t.payload},setRefinerAestheticScore:(e,t)=>{e.refinerAestheticScore=t.payload},setRefinerStart:(e,t)=>{e.refinerStart=t.payload}}}),{setPositiveStylePromptSDXL:ZIe,setNegativeStylePromptSDXL:JIe,setShouldConcatSDXLStylePrompt:e7e,setShouldUseSDXLRefiner:Vve,setSDXLImg2ImgDenoisingStrength:t7e,refinerModelChanged:dO,setRefinerSteps:n7e,setRefinerCFGScale:r7e,setRefinerScheduler:i7e,setRefinerAestheticScore:o7e,setRefinerStart:s7e}=_U.actions,jve=_U.reducer,Em=Re("app/userInvoked"),Gve={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class H1{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||Gve,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]=this.observers[r]||[],this.observers[r].push(n)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t]=this.observers[t].filter(r=>r!==n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{s(...r)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(s=>{s.apply(s,[t,...r])})}}function Xh(){let e,t;const n=new Promise((r,i)=>{e=r,t=i});return n.resolve=e,n.reject=t,n}function fO(e){return e==null?"":""+e}function Hve(e,t,n){e.forEach(r=>{t[r]&&(n[r]=t[r])})}function aE(e,t,n){function r(s){return s&&s.indexOf("###")>-1?s.replace(/###/g,"."):s}function i(){return!e||typeof e=="string"}const o=typeof t!="string"?[].concat(t):t.split(".");for(;o.length>1;){if(i())return{};const s=r(o.shift());!e[s]&&n&&(e[s]=new n),Object.prototype.hasOwnProperty.call(e,s)?e=e[s]:e={}}return i()?{}:{obj:e,k:r(o.shift())}}function hO(e,t,n){const{obj:r,k:i}=aE(e,t,Object);r[i]=n}function Wve(e,t,n,r){const{obj:i,k:o}=aE(e,t,Object);i[o]=i[o]||[],r&&(i[o]=i[o].concat(n)),r||i[o].push(n)}function W1(e,t){const{obj:n,k:r}=aE(e,t);if(n)return n[r]}function qve(e,t,n){const r=W1(e,n);return r!==void 0?r:W1(t,n)}function bU(e,t,n){for(const r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?typeof e[r]=="string"||e[r]instanceof String||typeof t[r]=="string"||t[r]instanceof String?n&&(e[r]=t[r]):bU(e[r],t[r],n):e[r]=t[r]);return e}function ld(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var Kve={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function Xve(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,t=>Kve[t]):e}const Yve=[" ",",","?","!",";"];function Qve(e,t,n){t=t||"",n=n||"";const r=Yve.filter(s=>t.indexOf(s)<0&&n.indexOf(s)<0);if(r.length===0)return!0;const i=new RegExp(`(${r.map(s=>s==="?"?"\\?":s).join("|")})`);let o=!i.test(e);if(!o){const s=e.indexOf(n);s>0&&!i.test(e.substring(0,s))&&(o=!0)}return o}function q1(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let i=e;for(let o=0;oo+s;)s++,a=r.slice(o,o+s).join(n),l=i[a];if(l===void 0)return;if(l===null)return null;if(t.endsWith(a)){if(typeof l=="string")return l;if(a&&typeof l[a]=="string")return l[a]}const u=r.slice(o+s).join(n);return u?q1(l,u,n):void 0}i=i[r[o]]}return i}function K1(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class pO extends eS{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const o=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,s=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let a=[t,n];r&&typeof r!="string"&&(a=a.concat(r)),r&&typeof r=="string"&&(a=a.concat(o?r.split(o):r)),t.indexOf(".")>-1&&(a=t.split("."));const l=W1(this.data,a);return l||!s||typeof r!="string"?l:q1(this.data&&this.data[t]&&this.data[t][n],r,o)}addResource(t,n,r,i){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator;let a=[t,n];r&&(a=a.concat(s?r.split(s):r)),t.indexOf(".")>-1&&(a=t.split("."),i=n,n=a[1]),this.addNamespaces(n),hO(this.data,a,i),o.silent||this.emit("added",t,n,r,i)}addResources(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const o in r)(typeof r[o]=="string"||Object.prototype.toString.apply(r[o])==="[object Array]")&&this.addResource(t,n,o,r[o],{silent:!0});i.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},a=[t,n];t.indexOf(".")>-1&&(a=t.split("."),i=r,r=n,n=a[1]),this.addNamespaces(n);let l=W1(this.data,a)||{};i?bU(l,r,o):l={...l,...r},hO(this.data,a,l),s.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,n)}:this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var SU={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(o=>{this.processors[o]&&(t=this.processors[o].process(t,n,r,i))}),t}};const gO={};class X1 extends eS{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Hve(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=Cs.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const r=this.resolve(t,n);return r&&r.res!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let o=n.ns||this.options.defaultNS||[];const s=r&&t.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!Qve(t,r,i);if(s&&!a){const l=t.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:t,namespaces:o};const u=t.split(r);(r!==i||r===i&&this.options.ns.indexOf(u[0])>-1)&&(o=u.shift()),t=u.join(i)}return typeof o=="string"&&(o=[o]),{key:t,namespaces:o}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:s,namespaces:a}=this.extractFromKey(t[t.length-1],n),l=a[a.length-1],u=n.lng||this.language,d=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(d){const S=n.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${S}${s}`,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:`${l}${S}${s}`}return i?{res:s,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:s}const f=this.resolve(t,n);let p=f&&f.res;const g=f&&f.usedKey||s,m=f&&f.exactUsedKey||s,v=Object.prototype.toString.apply(p),x=["[object Number]","[object Function]","[object RegExp]"],_=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,b=!this.i18nFormat||this.i18nFormat.handleAsObject;if(b&&p&&(typeof p!="string"&&typeof p!="boolean"&&typeof p!="number")&&x.indexOf(v)<0&&!(typeof _=="string"&&v==="[object Array]")){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const S=this.options.returnedObjectHandler?this.options.returnedObjectHandler(g,p,{...n,ns:a}):`key '${s} (${this.language})' returned an object instead of string.`;return i?(f.res=S,f):S}if(o){const S=v==="[object Array]",C=S?[]:{},T=S?m:g;for(const E in p)if(Object.prototype.hasOwnProperty.call(p,E)){const P=`${T}${o}${E}`;C[E]=this.translate(P,{...n,joinArrays:!1,ns:a}),C[E]===P&&(C[E]=p[E])}p=C}}else if(b&&typeof _=="string"&&v==="[object Array]")p=p.join(_),p&&(p=this.extendTranslation(p,t,n,r));else{let S=!1,C=!1;const T=n.count!==void 0&&typeof n.count!="string",E=X1.hasDefaultValue(n),P=T?this.pluralResolver.getSuffix(u,n.count,n):"",k=n.ordinal&&T?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",O=n[`defaultValue${P}`]||n[`defaultValue${k}`]||n.defaultValue;!this.isValidLookup(p)&&E&&(S=!0,p=O),this.isValidLookup(p)||(C=!0,p=s);const G=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&C?void 0:p,U=E&&O!==p&&this.options.updateMissing;if(C||S||U){if(this.logger.log(U?"updateKey":"missingKey",u,l,s,U?O:p),o){const B=this.resolve(s,{...n,keySeparator:!1});B&&B.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let A=[];const N=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&N&&N[0])for(let B=0;B{const j=E&&V!==p?V:G;this.options.missingKeyHandler?this.options.missingKeyHandler(B,l,D,j,U,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(B,l,D,j,U,n),this.emit("missingKey",B,l,D,p)};this.options.saveMissing&&(this.options.saveMissingPlurals&&T?A.forEach(B=>{this.pluralResolver.getSuffixes(B,n).forEach(D=>{F([B],s+D,n[`defaultValue${D}`]||O)})}):F(A,s,O))}p=this.extendTranslation(p,t,n,f,r),C&&p===s&&this.options.appendNamespaceToMissingKey&&(p=`${l}:${s}`),(C||S)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?p=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${s}`:s,S?p:void 0):p=this.options.parseMissingKeyHandler(p))}return i?(f.res=p,f):p}extendTranslation(t,n,r,i,o){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const u=typeof t=="string"&&(r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let d;if(u){const p=t.match(this.interpolator.nestingRegexp);d=p&&p.length}let f=r.replace&&typeof r.replace!="string"?r.replace:r;if(this.options.interpolation.defaultVariables&&(f={...this.options.interpolation.defaultVariables,...f}),t=this.interpolator.interpolate(t,f,r.lng||this.language,r),u){const p=t.match(this.interpolator.nestingRegexp),g=p&&p.length;d1&&arguments[1]!==void 0?arguments[1]:{},r,i,o,s,a;return typeof t=="string"&&(t=[t]),t.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),d=u.key;i=d;let f=u.namespaces;this.options.fallbackNS&&(f=f.concat(this.options.fallbackNS));const p=n.count!==void 0&&typeof n.count!="string",g=p&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),m=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",v=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);f.forEach(x=>{this.isValidLookup(r)||(a=x,!gO[`${v[0]}-${x}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(gO[`${v[0]}-${x}`]=!0,this.logger.warn(`key "${i}" for languages "${v.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),v.forEach(_=>{if(this.isValidLookup(r))return;s=_;const b=[d];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(b,d,_,x,n);else{let S;p&&(S=this.pluralResolver.getSuffix(_,n.count,n));const C=`${this.options.pluralSeparator}zero`,T=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(p&&(b.push(d+S),n.ordinal&&S.indexOf(T)===0&&b.push(d+S.replace(T,this.options.pluralSeparator)),g&&b.push(d+C)),m){const E=`${d}${this.options.contextSeparator}${n.context}`;b.push(E),p&&(b.push(E+S),n.ordinal&&S.indexOf(T)===0&&b.push(E+S.replace(T,this.options.pluralSeparator)),g&&b.push(E+C))}}let y;for(;y=b.pop();)this.isValidLookup(r)||(o=y,r=this.getResource(_,x,y,n))}))})}),{res:r,usedKey:i,exactUsedKey:o,usedLng:s,usedNS:a}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,n,r,i):this.resourceStore.getResource(t,n,r,i)}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}function Ox(e){return e.charAt(0).toUpperCase()+e.slice(1)}class mO{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Cs.create("languageUtils")}getScriptPartFromCode(t){if(t=K1(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=K1(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(typeof t=="string"&&t.indexOf("-")>-1){const n=["hans","hant","latn","cyrl","cans","mong","arab"];let r=t.split("-");return this.options.lowerCaseLng?r=r.map(i=>i.toLowerCase()):r.length===2?(r[0]=r[0].toLowerCase(),r[1]=r[1].toUpperCase(),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=Ox(r[1].toLowerCase()))):r.length===3&&(r[0]=r[0].toLowerCase(),r[1].length===2&&(r[1]=r[1].toUpperCase()),r[0]!=="sgn"&&r[2].length===2&&(r[2]=r[2].toUpperCase()),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=Ox(r[1].toLowerCase())),n.indexOf(r[2].toLowerCase())>-1&&(r[2]=Ox(r[2].toLowerCase()))),r.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const i=this.getLanguagePartFromCode(r);if(this.isSupportedCode(i))return n=i;n=this.options.supportedLngs.find(o=>{if(o===i)return o;if(!(o.indexOf("-")<0&&i.indexOf("-")<0)&&o.indexOf(i)===0)return o})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),typeof t=="string"&&(t=[t]),Object.prototype.toString.apply(t)==="[object Array]")return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),i=[],o=s=>{s&&(this.isSupportedCode(s)?i.push(s):this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`))};return typeof t=="string"&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(t))):typeof t=="string"&&o(this.formatLanguageCode(t)),r.forEach(s=>{i.indexOf(s)<0&&o(this.formatLanguageCode(s))}),i}}let Zve=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],Jve={1:function(e){return+(e>1)},2:function(e){return+(e!=1)},3:function(e){return 0},4:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},5:function(e){return e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},6:function(e){return e==1?0:e>=2&&e<=4?1:2},7:function(e){return e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},8:function(e){return e==1?0:e==2?1:e!=8&&e!=11?2:3},9:function(e){return+(e>=2)},10:function(e){return e==1?0:e==2?1:e<7?2:e<11?3:4},11:function(e){return e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3},12:function(e){return+(e%10!=1||e%100==11)},13:function(e){return+(e!==0)},14:function(e){return e==1?0:e==2?1:e==3?2:3},15:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2},16:function(e){return e%10==1&&e%100!=11?0:e!==0?1:2},17:function(e){return e==1||e%10==1&&e%100!=11?0:1},18:function(e){return e==0?0:e==1?1:2},19:function(e){return e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3},20:function(e){return e==1?0:e==0||e%100>0&&e%100<20?1:2},21:function(e){return e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0},22:function(e){return e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3}};const e1e=["v1","v2","v3"],t1e=["v4"],yO={zero:0,one:1,two:2,few:3,many:4,other:5};function n1e(){const e={};return Zve.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:Jve[t.fc]}})}),e}class r1e{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=Cs.create("pluralResolver"),(!this.options.compatibilityJSON||t1e.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=n1e()}addRule(t,n){this.rules[t]=n}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(K1(t),{type:n.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return this.shouldUseIntlApi()?r&&r.resolvedOptions().pluralCategories.length>1:r&&r.numbers.length>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(i=>`${n}${i}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((i,o)=>yO[i]-yO[o]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):r.numbers.map(i=>this.getSuffix(t,i,n)):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(t,r);return i?this.shouldUseIntlApi()?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:this.getSuffixRetroCompatible(i,n):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,n){const r=t.noAbs?t.plurals(n):t.plurals(Math.abs(n));let i=t.numbers[r];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(i===2?i="plural":i===1&&(i=""));const o=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return this.options.compatibilityJSON==="v1"?i===1?"":typeof i=="number"?`_plural_${i.toString()}`:o():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?o():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}shouldUseIntlApi(){return!e1e.includes(this.options.compatibilityJSON)}}function vO(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=qve(e,t,n);return!o&&i&&typeof n=="string"&&(o=q1(e,n,r),o===void 0&&(o=q1(t,n,r))),o}class i1e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Cs.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(n=>n),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const n=t.interpolation;this.escape=n.escape!==void 0?n.escape:Xve,this.escapeValue=n.escapeValue!==void 0?n.escapeValue:!0,this.useRawValueToEscape=n.useRawValueToEscape!==void 0?n.useRawValueToEscape:!1,this.prefix=n.prefix?ld(n.prefix):n.prefixEscaped||"{{",this.suffix=n.suffix?ld(n.suffix):n.suffixEscaped||"}}",this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||",",this.unescapePrefix=n.unescapeSuffix?"":n.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":n.unescapeSuffix||"",this.nestingPrefix=n.nestingPrefix?ld(n.nestingPrefix):n.nestingPrefixEscaped||ld("$t("),this.nestingSuffix=n.nestingSuffix?ld(n.nestingSuffix):n.nestingSuffixEscaped||ld(")"),this.nestingOptionsSeparator=n.nestingOptionsSeparator?n.nestingOptionsSeparator:n.nestingOptionsSeparator||",",this.maxReplaces=n.maxReplaces?n.maxReplaces:1e3,this.alwaysFormat=n.alwaysFormat!==void 0?n.alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=`${this.prefix}(.+?)${this.suffix}`;this.regexp=new RegExp(t,"g");const n=`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;this.regexpUnescape=new RegExp(n,"g");const r=`${this.nestingPrefix}(.+?)${this.nestingSuffix}`;this.nestingRegexp=new RegExp(r,"g")}interpolate(t,n,r,i){let o,s,a;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(m){return m.replace(/\$/g,"$$$$")}const d=m=>{if(m.indexOf(this.formatSeparator)<0){const b=vO(n,l,m,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(b,void 0,r,{...i,...n,interpolationkey:m}):b}const v=m.split(this.formatSeparator),x=v.shift().trim(),_=v.join(this.formatSeparator).trim();return this.format(vO(n,l,x,this.options.keySeparator,this.options.ignoreJSONStructure),_,r,{...i,...n,interpolationkey:x})};this.resetRegExp();const f=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,p=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:m=>u(m)},{regex:this.regexp,safeValue:m=>this.escapeValue?u(this.escape(m)):u(m)}].forEach(m=>{for(a=0;o=m.regex.exec(t);){const v=o[1].trim();if(s=d(v),s===void 0)if(typeof f=="function"){const _=f(t,o,i);s=typeof _=="string"?_:""}else if(i&&Object.prototype.hasOwnProperty.call(i,v))s="";else if(p){s=o[0];continue}else this.logger.warn(`missed to pass in variable ${v} for interpolating ${t}`),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=fO(s));const x=m.safeValue(s);if(t=t.replace(o[0],x),p?(m.regex.lastIndex+=s.length,m.regex.lastIndex-=o[0].length):m.regex.lastIndex=0,a++,a>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,o,s;function a(l,u){const d=this.nestingOptionsSeparator;if(l.indexOf(d)<0)return l;const f=l.split(new RegExp(`${d}[ ]*{`));let p=`{${f[1]}`;l=f[0],p=this.interpolate(p,s);const g=p.match(/'/g),m=p.match(/"/g);(g&&g.length%2===0&&!m||m.length%2!==0)&&(p=p.replace(/'/g,'"'));try{s=JSON.parse(p),u&&(s={...u,...s})}catch(v){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,v),`${l}${d}${p}`}return delete s.defaultValue,l}for(;i=this.nestingRegexp.exec(t);){let l=[];s={...r},s=s.replace&&typeof s.replace!="string"?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let u=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const d=i[1].split(this.formatSeparator).map(f=>f.trim());i[1]=d.shift(),l=d,u=!0}if(o=n(a.call(this,i[1].trim(),s),s),o&&i[0]===t&&typeof o!="string")return o;typeof o!="string"&&(o=fO(o)),o||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${t}`),o=""),u&&(o=l.reduce((d,f)=>this.format(d,f,r.lng,{...r,interpolationkey:i[1].trim()}),o.trim())),t=t.replace(i[0],o),this.regexp.lastIndex=0}return t}}function o1e(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);t==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):t==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(s=>{if(!s)return;const[a,...l]=s.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,"");n[a.trim()]||(n[a.trim()]=u),u==="false"&&(n[a.trim()]=!1),u==="true"&&(n[a.trim()]=!0),isNaN(u)||(n[a.trim()]=parseInt(u,10))})}return{formatName:t,formatOptions:n}}function ud(e){const t={};return function(r,i,o){const s=i+JSON.stringify(o);let a=t[s];return a||(a=e(K1(i),o),t[s]=a),a(r)}}class s1e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Cs.create("formatter"),this.options=t,this.formats={number:ud((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return o=>i.format(o)}),currency:ud((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return o=>i.format(o)}),datetime:ud((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return o=>i.format(o)}),relativetime:ud((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return o=>i.format(o,r.range||"day")}),list:ud((n,r)=>{const i=new Intl.ListFormat(n,{...r});return o=>i.format(o)})},this.init(t)}init(t){const r=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=ud(n)}format(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return n.split(this.formatSeparator).reduce((a,l)=>{const{formatName:u,formatOptions:d}=o1e(l);if(this.formats[u]){let f=a;try{const p=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},g=p.locale||p.lng||i.locale||i.lng||r;f=this.formats[u](a,g,{...d,...i,...p})}catch(p){this.logger.warn(p)}return f}else this.logger.warn(`there was no format function for ${u}`);return a},t)}}function a1e(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}class l1e extends eS{constructor(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=Cs.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(r,i.backend,i)}queueLoad(t,n,r,i){const o={},s={},a={},l={};return t.forEach(u=>{let d=!0;n.forEach(f=>{const p=`${u}|${f}`;!r.reload&&this.store.hasResourceBundle(u,f)?this.state[p]=2:this.state[p]<0||(this.state[p]===1?s[p]===void 0&&(s[p]=!0):(this.state[p]=1,d=!1,s[p]===void 0&&(s[p]=!0),o[p]===void 0&&(o[p]=!0),l[f]===void 0&&(l[f]=!0)))}),d||(a[u]=!0)}),(Object.keys(o).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(s),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(l)}}loaded(t,n,r){const i=t.split("|"),o=i[0],s=i[1];n&&this.emit("failedLoading",o,s,n),r&&this.store.addResourceBundle(o,s,r),this.state[t]=n?-1:2;const a={};this.queue.forEach(l=>{Wve(l.loaded,[o],s),a1e(l,t),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{a[u]||(a[u]={});const d=l.loaded[u];d.length&&d.forEach(f=>{a[u][f]===void 0&&(a[u][f]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(l=>!l.done)}read(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!t.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:i,wait:o,callback:s});return}this.readingCalls++;const a=(u,d)=>{if(this.readingCalls--,this.waitingReads.length>0){const f=this.waitingReads.shift();this.read(f.lng,f.ns,f.fcName,f.tried,f.wait,f.callback)}if(u&&d&&i{this.read.call(this,t,n,r,i+1,o*2,s)},o);return}s(u,d)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(t,n);u&&typeof u.then=="function"?u.then(d=>a(null,d)).catch(a):a(null,u)}catch(u){a(u)}return}return l(t,n,a)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();typeof t=="string"&&(t=this.languageUtils.toResolveHierarchy(t)),typeof n=="string"&&(n=[n]);const o=this.queueLoad(t,n,r,i);if(!o.toLoad.length)return o.pending.length||i(),null;o.toLoad.forEach(s=>{this.loadOne(s)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),i=r[0],o=r[1];this.read(i,o,"read",void 0,void 0,(s,a)=>{s&&this.logger.warn(`${n}loading namespace ${o} for language ${i} failed`,s),!s&&a&&this.logger.log(`${n}loaded namespace ${o} for language ${i}`,a),this.loaded(t,s,a)})}saveMissing(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend&&this.backend.create){const l={...s,isUpdate:o},u=this.backend.create.bind(this.backend);if(u.length<6)try{let d;u.length===5?d=u(t,n,r,i,l):d=u(t,n,r,i),d&&typeof d.then=="function"?d.then(f=>a(null,f)).catch(a):a(null,d)}catch(d){a(d)}else u(t,n,r,i,a,l)}!t||!t[0]||this.store.addResource(t[0],n,r,i)}}}function _O(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let n={};if(typeof t[1]=="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const r=t[3]||t[2];Object.keys(r).forEach(i=>{n[i]=r[i]})}return n},interpolation:{escapeValue:!0,format:(e,t,n,r)=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function bO(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function R0(){}function u1e(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}class Mg extends eS{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=bO(t),this.services={},this.logger=Cs,this.modules={external:[]},u1e(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(typeof n.ns=="string"?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const i=_O();this.options={...i,...this.options,...bO(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);function o(d){return d?typeof d=="function"?new d:d:null}if(!this.options.isClone){this.modules.logger?Cs.init(o(this.modules.logger),this.options):Cs.init(null,this.options);let d;this.modules.formatter?d=this.modules.formatter:typeof Intl<"u"&&(d=s1e);const f=new mO(this.options);this.store=new pO(this.options.resources,this.options);const p=this.services;p.logger=Cs,p.resourceStore=this.store,p.languageUtils=f,p.pluralResolver=new r1e(f,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),d&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(p.formatter=o(d),p.formatter.init(p,this.options),this.options.interpolation.format=p.formatter.format.bind(p.formatter)),p.interpolator=new i1e(this.options),p.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},p.backendConnector=new l1e(o(this.modules.backend),p.resourceStore,p,this.options),p.backendConnector.on("*",function(g){for(var m=arguments.length,v=new Array(m>1?m-1:0),x=1;x1?m-1:0),x=1;x{g.init&&g.init(this)})}if(this.format=this.options.interpolation.format,r||(r=R0),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const d=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);d.length>0&&d[0]!=="dev"&&(this.options.lng=d[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(d=>{this[d]=function(){return t.store[d](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(d=>{this[d]=function(){return t.store[d](...arguments),t}});const l=Xh(),u=()=>{const d=(f,p)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(p),r(f,p)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return d(null,this.t.bind(this));this.changeLanguage(this.options.lng,d)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),l}loadResources(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:R0;const i=typeof t=="string"?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(i&&i.toLowerCase()==="cimode")return r();const o=[],s=a=>{if(!a)return;this.services.languageUtils.toResolveHierarchy(a).forEach(u=>{o.indexOf(u)<0&&o.push(u)})};i?s(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>s(l)),this.options.preload&&this.options.preload.forEach(a=>s(a)),this.services.backendConnector.load(o,this.options.ns,a=>{!a&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(a)})}else r(null)}reloadResources(t,n,r){const i=Xh();return t||(t=this.languages),n||(n=this.options.ns),r||(r=R0),this.services.backendConnector.reload(t,n,o=>{i.resolve(),r(o)}),i}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&SU.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const i=Xh();this.emit("languageChanging",t);const o=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},s=(l,u)=>{u?(o(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,i.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},a=l=>{!t&&!l&&this.services.languageDetector&&(l=[]);const u=typeof l=="string"?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||o(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,d=>{s(d,u)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(t),i}getFixedT(t,n,r){var i=this;const o=function(s,a){let l;if(typeof a!="object"){for(var u=arguments.length,d=new Array(u>2?u-2:0),f=2;f`${l.keyPrefix}${p}${m}`):g=l.keyPrefix?`${l.keyPrefix}${p}${s}`:s,i.t(g,l)};return typeof t=="string"?o.lng=t:o.lngs=t,o.ns=n,o.keyPrefix=r,o}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=this.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};if(n.precheck){const a=n.precheck(this,s);if(a!==void 0)return a}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(r,t)&&(!i||s(o,t)))}loadNamespaces(t,n){const r=Xh();return this.options.ns?(typeof t=="string"&&(t=[t]),t.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),n&&n(i)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=Xh();typeof t=="string"&&(t=[t]);const i=this.options.preload||[],o=t.filter(s=>i.indexOf(s)<0);return o.length?(this.options.preload=i.concat(o),this.loadResources(s=>{r.resolve(),n&&n(s)}),r):(n&&n(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services&&this.services.languageUtils||new mO(_O());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new Mg(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:R0;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const i={...this.options,...t,isClone:!0},o=new Mg(i);return(t.debug!==void 0||t.prefix!==void 0)&&(o.logger=o.logger.clone(t)),["store","services","language"].forEach(a=>{o[a]=this[a]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new pO(this.store.data,i),o.services.resourceStore=o.store),o.translator=new X1(o.services,i),o.translator.on("*",function(a){for(var l=arguments.length,u=new Array(l>1?l-1:0),d=1;dtypeof e=="string"?{title:e,status:"info",isClosable:!0,duration:2500}:{status:"info",isClosable:!0,duration:2500,...e},wU={isConnected:!1,isProcessing:!1,isGFPGANAvailable:!0,isESRGANAvailable:!0,shouldConfirmOnDelete:!0,currentStep:0,totalSteps:0,currentIteration:0,totalIterations:0,currentStatusHasSteps:!1,isCancelable:!0,enableImageDebugging:!1,toastQueue:[],progressImage:null,shouldAntialiasProgressImage:!1,sessionId:null,cancelType:"immediate",isCancelScheduled:!1,subscribedNodeIds:[],wereModelsReceived:!1,wasSchemaParsed:!1,consoleLogLevel:"debug",shouldLogToConsole:!0,statusTranslationKey:"common.statusDisconnected",canceledSession:"",isPersisted:!1,language:"en",isUploading:!1,isNodesEnabled:!1,shouldUseNSFWChecker:!1,shouldUseWatermarker:!1},xU=yn({name:"system",initialState:wU,reducers:{setIsProcessing:(e,t)=>{e.isProcessing=t.payload},setCurrentStatus:(e,t)=>{e.statusTranslationKey=t.payload},setShouldConfirmOnDelete:(e,t)=>{e.shouldConfirmOnDelete=t.payload},setIsCancelable:(e,t)=>{e.isCancelable=t.payload},setEnableImageDebugging:(e,t)=>{e.enableImageDebugging=t.payload},addToast:(e,t)=>{e.toastQueue.push(t.payload)},clearToastQueue:e=>{e.toastQueue=[]},cancelScheduled:e=>{e.isCancelScheduled=!0},scheduledCancelAborted:e=>{e.isCancelScheduled=!1},cancelTypeChanged:(e,t)=>{e.cancelType=t.payload},subscribedNodeIdsSet:(e,t)=>{e.subscribedNodeIds=t.payload},consoleLogLevelChanged:(e,t)=>{e.consoleLogLevel=t.payload},shouldLogToConsoleChanged:(e,t)=>{e.shouldLogToConsole=t.payload},shouldAntialiasProgressImageChanged:(e,t)=>{e.shouldAntialiasProgressImage=t.payload},isPersistedChanged:(e,t)=>{e.isPersisted=t.payload},languageChanged:(e,t)=>{e.language=t.payload},progressImageSet(e,t){e.progressImage=t.payload},setIsNodesEnabled(e,t){e.isNodesEnabled=t.payload},shouldUseNSFWCheckerChanged(e,t){e.shouldUseNSFWChecker=t.payload},shouldUseWatermarkerChanged(e,t){e.shouldUseWatermarker=t.payload}},extraReducers(e){e.addCase(q$,(t,n)=>{t.sessionId=n.payload.sessionId,t.canceledSession=""}),e.addCase(X$,t=>{t.sessionId=null}),e.addCase(G$,t=>{t.isConnected=!0,t.isCancelable=!0,t.isProcessing=!1,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.currentIteration=0,t.totalIterations=0,t.statusTranslationKey="common.statusConnected"}),e.addCase(W$,t=>{t.isConnected=!1,t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusDisconnected"}),e.addCase(Q$,t=>{t.isCancelable=!0,t.isProcessing=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusGenerating"}),e.addCase(rF,(t,n)=>{const{step:r,total_steps:i,progress_image:o}=n.payload.data;t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!0,t.currentStep=r+1,t.totalSteps=i,t.progressImage=o??null,t.statusTranslationKey="common.statusGenerating"}),e.addCase(Z$,(t,n)=>{const{data:r}=n.payload;t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusProcessingComplete",t.canceledSession===r.graph_execution_state_id&&(t.isProcessing=!1,t.isCancelable=!0)}),e.addCase(tF,t=>{t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null}),e.addCase(Em,t=>{t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.statusTranslationKey="common.statusPreparing"}),e.addCase(mc.fulfilled,(t,n)=>{t.canceledSession=n.meta.arg.session_id,t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Ku({title:Pp("toast.canceled"),status:"warning"}))}),e.addCase(oE,t=>{t.wasSchemaParsed=!0}),e.addMatcher(r$,(t,n)=>{var r;t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Ku({title:Pp("toast.serverError"),status:"error",description:((r=n.payload)==null?void 0:r.status)===422?"Validation Error":void 0}))}),e.addMatcher(p1e,(t,n)=>{t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusError",t.progressImage=null,t.toastQueue.push(Ku({title:Pp("toast.serverError"),status:"error",description:Kae(n.payload.data.error_type)}))})}}),{setIsProcessing:a7e,setShouldConfirmOnDelete:l7e,setCurrentStatus:u7e,setIsCancelable:c7e,setEnableImageDebugging:d7e,addToast:Un,clearToastQueue:f7e,cancelScheduled:h7e,scheduledCancelAborted:p7e,cancelTypeChanged:g7e,subscribedNodeIdsSet:m7e,consoleLogLevelChanged:y7e,shouldLogToConsoleChanged:v7e,isPersistedChanged:_7e,shouldAntialiasProgressImageChanged:b7e,languageChanged:S7e,progressImageSet:c1e,setIsNodesEnabled:w7e,shouldUseNSFWCheckerChanged:d1e,shouldUseWatermarkerChanged:f1e}=xU.actions,h1e=xU.reducer,p1e=Co(LT,aF,uF),g1e={searchFolder:null,advancedAddScanModel:null},CU=yn({name:"modelmanager",initialState:g1e,reducers:{setSearchFolder:(e,t)=>{e.searchFolder=t.payload},setAdvancedAddScanModel:(e,t)=>{e.advancedAddScanModel=t.payload}}}),{setSearchFolder:x7e,setAdvancedAddScanModel:C7e}=CU.actions,m1e=CU.reducer,TU={shift:!1},EU=yn({name:"hotkeys",initialState:TU,reducers:{shiftKeyPressed:(e,t)=>{e.shift=t.payload}}}),{shiftKeyPressed:T7e}=EU.actions,y1e=EU.reducer,v1e=jY(MJ);AU=J3=void 0;var _1e=v1e,b1e=function(){var t=[],n=[],r=void 0,i=function(u){return r=u,function(d){return function(f){return _1e.compose.apply(void 0,n)(d)(f)}}},o=function(){for(var u,d,f=arguments.length,p=Array(f),g=0;g=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){n=n.call(e)},n:function(){var u=n.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(s)throw a}}}}function RU(e,t){if(e){if(typeof e=="string")return wO(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return wO(e,t)}}function wO(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,i=r.prefix,o=r.driver,s=r.persistWholeStore,a=r.serialize;try{var l=s?N1e:L1e;yield l(t,n,{prefix:i,driver:o,serialize:a})}catch(u){console.warn("redux-remember: persist error",u)}});return function(){return e.apply(this,arguments)}}();function EO(e,t,n,r,i,o,s){try{var a=e[o](s),l=a.value}catch(u){n(u);return}a.done?t(l):Promise.resolve(l).then(r,i)}function AO(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function s(l){EO(o,r,i,s,a,"next",l)}function a(l){EO(o,r,i,s,a,"throw",l)}s(void 0)})}}var $1e=function(){var e=AO(function*(t,n,r){var i=r.prefix,o=r.driver,s=r.serialize,a=r.unserialize,l=r.persistThrottle,u=r.persistDebounce,d=r.persistWholeStore;yield R1e(t,n,{prefix:i,driver:o,unserialize:a,persistWholeStore:d});var f={},p=function(){var g=AO(function*(){var m=PU(t.getState(),n);yield D1e(m,f,{prefix:i,driver:o,serialize:s,persistWholeStore:d}),uE(m,f)||t.dispatch({type:C1e,payload:m}),f=m});return function(){return g.apply(this,arguments)}}();u&&u>0?t.subscribe(E1e(p,u)):t.subscribe(T1e(p,l))});return function(n,r,i){return e.apply(this,arguments)}}();const F1e=$1e;function Ng(e){"@babel/helpers - typeof";return Ng=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ng(e)}function PO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Mx(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:n.state,i=arguments.length>1?arguments[1]:void 0;i.type&&(i.type==="@@INIT"||i.type.startsWith("@@redux/INIT"))&&(n.state=Mx({},r));var o=typeof t=="function"?t:Ff(t);switch(i.type){case e5:return n.state=o(Mx(Mx({},n.state),i.payload||{}),{type:e5}),n.state;default:return o(r,i)}}},j1e=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r.prefix,o=i===void 0?"@@remember-":i,s=r.serialize,a=s===void 0?function(x,_){return JSON.stringify(x)}:s,l=r.unserialize,u=l===void 0?function(x,_){return JSON.parse(x)}:l,d=r.persistThrottle,f=d===void 0?100:d,p=r.persistDebounce,g=r.persistWholeStore,m=g===void 0?!1:g;if(!t)throw Error("redux-remember error: driver required");if(!Array.isArray(n))throw Error("redux-remember error: rememberedKeys needs to be an array");var v=function(_){return function(b,y,S){var C=_(b,y,S);return F1e(C,n,{driver:t,prefix:o,serialize:a,unserialize:u,persistThrottle:f,persistDebounce:p,persistWholeStore:m}),C}};return v};const E7e=["chakra-ui-color-mode","i18nextLng","ROARR_FILTER","ROARR_LOG"],G1e="@@invokeai-",H1e=["cursorPosition","isCanvasInitialized","doesCanvasNeedScaling"],W1e=["pendingControlImages"],q1e=["selection","selectedBoardId","galleryView"],K1e=["schema","invocationTemplates"],X1e=[],Y1e=[],Q1e=["currentIteration","currentStep","isCancelable","isConnected","isESRGANAvailable","isGFPGANAvailable","isProcessing","totalIterations","totalSteps","isCancelScheduled","progressImage","wereModelsReceived","wasSchemaParsed","isPersisted","isUploading"],Z1e=["shouldShowImageDetails"],J1e={canvas:H1e,gallery:q1e,generation:X1e,nodes:K1e,postprocessing:Y1e,system:Q1e,ui:Z1e,controlNet:W1e},e_e=(e,t)=>{const n=rb(e,J1e[t]??[]);return JSON.stringify(n)},t_e={canvas:o$,gallery:pF,generation:La,nodes:pU,postprocessing:yU,system:wU,config:BD,ui:e$,hotkeys:TU,controlNet:M3},n_e=(e,t)=>hae(JSON.parse(e),t_e[t]),kU=Re("nodes/textToImageGraphBuilt"),IU=Re("nodes/imageToImageGraphBuilt"),MU=Re("nodes/canvasGraphBuilt"),NU=Re("nodes/nodesGraphBuilt"),r_e=Co(kU,IU,MU,NU),i_e=e=>{if(r_e(e)&&e.payload.nodes){const t={};return{...e,payload:{...e.payload,nodes:t}}}return Ig.fulfilled.match(e)?{...e,payload:""}:oE.match(e)?{...e,payload:""}:e},o_e=["canvas/setCursorPosition","canvas/setStageCoordinates","canvas/setStageScale","canvas/setIsDrawing","canvas/setBoundingBoxCoordinates","canvas/setBoundingBoxDimensions","canvas/setIsDrawing","canvas/addPointToCurrentLine","socket/socketGeneratorProgress","socket/appSocketGeneratorProgress","hotkeys/shiftKeyPressed","@@REMEMBER_PERSISTED"],s_e=e=>e,a_e=()=>{Pe({actionCreator:zue,effect:async(e,{dispatch:t,getState:n})=>{const r=Ie("canvas"),i=n(),{sessionId:o,isProcessing:s}=i.system,a=e.payload;if(s){if(!a){r.debug("No canvas session, skipping cancel");return}if(a!==o){r.debug({canvasSessionId:a,session_id:o},"Canvas session does not match global session, skipping cancel");return}t(mc({session_id:o}))}}})};Re("app/appStarted");const l_e=()=>{Pe({matcher:Se.endpoints.listImages.matchFulfilled,effect:async(e,{dispatch:t,unsubscribe:n,cancelActiveListeners:r})=>{if(e.meta.arg.queryCacheKey!==Fo({board_id:"none",categories:jr}))return;r(),n();const i=e.payload;if(i.ids.length>0){const o=pn.getSelectors().selectAll(i)[0];t(Rs(o??null))}}})},cE=Gl.injectEndpoints({endpoints:e=>({getAppVersion:e.query({query:()=>({url:"app/version",method:"GET"}),providesTags:["AppVersion"],keepUnusedDataFor:864e5}),getAppConfig:e.query({query:()=>({url:"app/config",method:"GET"}),providesTags:["AppConfig"],keepUnusedDataFor:864e5})})}),{useGetAppVersionQuery:A7e,useGetAppConfigQuery:P7e}=cE,u_e=()=>{Pe({matcher:cE.endpoints.getAppConfig.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const{infill_methods:r=[],nsfw_methods:i=[],watermarking_methods:o=[]}=e.payload,s=t().generation.infillMethod;r.includes(s)||n(bue(r[0])),i.includes("nsfw_checker")||n(d1e(!1)),o.includes("invisible_watermark")||n(f1e(!1))}})},c_e=Re("app/appStarted"),d_e=()=>{Pe({actionCreator:c_e,effect:async(e,{unsubscribe:t,cancelActiveListeners:n})=>{n(),t()}})},dE={memoizeOptions:{resultEqualityCheck:nb}},LU=(e,t)=>{var f;const{generation:n,canvas:r,nodes:i,controlNet:o}=e,s=((f=n.initialImage)==null?void 0:f.imageName)===t,a=r.layerState.objects.some(p=>p.kind==="image"&&p.imageName===t),l=i.nodes.some(p=>Ou(p.data.inputs,g=>{var m;return g.type==="image"&&((m=g.value)==null?void 0:m.image_name)===t})),u=Ou(o.controlNets,p=>p.controlImage===t||p.processedControlImage===t);return{isInitialImage:s,isCanvasImage:a,isNodesImage:l,isControlNetImage:u}},f_e=si([e=>e],e=>{const{imagesToDelete:t}=e.deleteImageModal;return t.length?t.map(r=>LU(e,r.image_name)):[]},dE),h_e=()=>{Pe({matcher:Se.endpoints.deleteBoardAndImages.matchFulfilled,effect:async(e,{dispatch:t,getState:n})=>{const{deleted_images:r}=e.payload;let i=!1,o=!1,s=!1,a=!1;const l=n();r.forEach(u=>{const d=LU(l,u);d.isInitialImage&&!i&&(t(ST()),i=!0),d.isCanvasImage&&!o&&(t(wT()),o=!0),d.isNodesImage&&!s&&(t(sE()),s=!0),d.isControlNetImage&&!a&&(t(FT()),a=!0)})}})},p_e=()=>{Pe({matcher:Co(N3,k1),effect:async(e,{getState:t,dispatch:n,condition:r,cancelActiveListeners:i})=>{i();const o=t(),s=N3.match(e)?e.payload:o.gallery.selectedBoardId,l=(k1.match(e)?e.payload:o.gallery.galleryView)==="images"?jr:Sl,u={board_id:s??"none",categories:l};if(await r(()=>Se.endpoints.listImages.select(u)(t()).isSuccess,5e3)){const{data:f}=Se.endpoints.listImages.select(u)(t());if(f){const p=O1.selectAll(f)[0];n(Rs(p??null))}else n(Rs(null))}else n(Rs(null))}})},g_e=Re("canvas/canvasSavedToGallery"),m_e=Re("canvas/canvasCopiedToClipboard"),y_e=Re("canvas/canvasDownloadedAsImage"),v_e=Re("canvas/canvasMerged"),__e=Re("canvas/stagingAreaImageSaved");let DU=null,$U=null;const R7e=e=>{DU=e},nS=()=>DU,O7e=e=>{$U=e},b_e=()=>$U,S_e=async e=>new Promise((t,n)=>{e.toBlob(r=>{if(r){t(r);return}n("Unable to create Blob")})}),Q1=async(e,t)=>await S_e(e.toCanvas(t)),fE=async e=>{const t=nS();if(!t)return;const{shouldCropToBoundingBoxOnSave:n,boundingBoxCoordinates:r,boundingBoxDimensions:i}=e.canvas,o=t.clone();o.scale({x:1,y:1});const s=o.getAbsolutePosition(),a=n?{x:r.x+s.x,y:r.y+s.y,width:i.width,height:i.height}:o.getClientRect();return Q1(o,a)},w_e=e=>{navigator.clipboard.write([new ClipboardItem({[e.type]:e})])},x_e=()=>{Pe({actionCreator:m_e,effect:async(e,{dispatch:t,getState:n})=>{const r=Jb.get().child({namespace:"canvasCopiedToClipboardListener"}),i=n(),o=await fE(i);if(!o){r.error("Problem getting base layer blob"),t(Un({title:"Problem Copying Canvas",description:"Unable to export base layer",status:"error"}));return}w_e(o),t(Un({title:"Canvas Copied to Clipboard",status:"success"}))}})},C_e=(e,t)=>{const n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),r.remove()},T_e=()=>{Pe({actionCreator:y_e,effect:async(e,{dispatch:t,getState:n})=>{const r=Jb.get().child({namespace:"canvasSavedToGalleryListener"}),i=n(),o=await fE(i);if(!o){r.error("Problem getting base layer blob"),t(Un({title:"Problem Downloading Canvas",description:"Unable to export base layer",status:"error"}));return}C_e(o,"canvas.png"),t(Un({title:"Canvas Downloaded",status:"success"}))}})},E_e=async()=>{const e=nS();if(!e)return;const t=e.clone();return t.scale({x:1,y:1}),Q1(t,t.getClientRect())},A_e=()=>{Pe({actionCreator:v_e,effect:async(e,{dispatch:t})=>{const n=Jb.get().child({namespace:"canvasCopiedToClipboardListener"}),r=await E_e();if(!r){n.error("Problem getting base layer blob"),t(Un({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const i=nS();if(!i){n.error("Problem getting canvas base layer"),t(Un({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const o=i.getClientRect({relativeTo:i.getParent()}),s=await t(Se.endpoints.uploadImage.initiate({file:new File([r],"mergedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Merged"}}})).unwrap(),{image_name:a}=s;t(Vue({kind:"image",layer:"base",imageName:a,...o}))}})},P_e=()=>{Pe({actionCreator:g_e,effect:async(e,{dispatch:t,getState:n})=>{const r=Ie("canvas"),i=n(),o=await fE(i);if(!o){r.error("Problem getting base layer blob"),t(Un({title:"Problem Saving Canvas",description:"Unable to export base layer",status:"error"}));return}const{autoAddBoardId:s}=i.gallery;t(Se.endpoints.uploadImage.initiate({file:new File([o],"savedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!1,board_id:s==="none"?void 0:s,crop_visible:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Saved to Gallery"}}}))}})},R_e=(e,t,n)=>{var f;if(!(Kde.match(e)||lR.match(e)||$T.match(e)||Xde.match(e)||uR.match(e))||uR.match(e)&&((f=n.controlNet.controlNets[e.payload.controlNetId])==null?void 0:f.shouldAutoConfig)===!0)return!1;const i=t.controlNet.controlNets[e.payload.controlNetId];if(!i)return!1;const{controlImage:o,processorType:s,shouldAutoConfig:a}=i;if(lR.match(e)&&!a)return!1;const l=s!=="none",u=t.system.isProcessing;return l&&!u&&!!o},O_e=()=>{Pe({predicate:R_e,effect:async(e,{dispatch:t,cancelActiveListeners:n,delay:r})=>{const i=Ie("session"),{controlNetId:o}=e.payload;n(),i.trace("ControlNet auto-process triggered"),await r(300),t(DT({controlNetId:o}))}})},yc=Re("system/sessionReadyToInvoke"),FU=e=>(e==null?void 0:e.type)==="image_output",k_e=()=>{Pe({actionCreator:DT,effect:async(e,{dispatch:t,getState:n,take:r})=>{const i=Ie("session"),{controlNetId:o}=e.payload,s=n().controlNet.controlNets[o];if(!(s!=null&&s.controlImage)){i.error("Unable to process ControlNet image");return}const a={nodes:{[s.processorNode.id]:{...s.processorNode,is_intermediate:!0,image:{image_name:s.controlImage}}}},l=t(Mr({graph:a})),[u]=await r(p=>Mr.fulfilled.match(p)&&p.meta.requestId===l.requestId),d=u.payload.id;t(yc());const[f]=await r(p=>NT.match(p)&&p.payload.data.graph_execution_state_id===d);if(FU(f.payload.data.result)){const{image_name:p}=f.payload.data.result.image,[{payload:g}]=await r(v=>Se.endpoints.getImageDTO.matchFulfilled(v)&&v.payload.image_name===p),m=g;i.debug({controlNetId:e.payload,processedControlImage:m},"ControlNet image processed"),t(qde({controlNetId:o,processedControlImage:m.image_name}))}}})},I_e=()=>{Pe({matcher:Se.endpoints.addImageToBoard.matchFulfilled,effect:e=>{const t=Ie("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Image added to board")}})},M_e=()=>{Pe({matcher:Se.endpoints.addImageToBoard.matchRejected,effect:e=>{const t=Ie("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Problem adding image to board")}})},hE=Re("deleteImageModal/imageDeletionConfirmed"),k7e=e=>e.gallery,I7e=si(e=>e,e=>e.gallery.selection[e.gallery.selection.length-1],dE),BU=si([e=>e],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{board_id:t,categories:n==="images"?jr:Sl,offset:0,limit:Wue,is_intermediate:!1}},dE),N_e=()=>{Pe({actionCreator:hE,effect:async(e,{dispatch:t,getState:n,condition:r})=>{var p;const{imageDTOs:i,imagesUsage:o}=e.payload;if(i.length!==1||o.length!==1)return;const s=i[0],a=o[0];if(!s||!a)return;t(BT(!1));const l=n(),u=(p=l.gallery.selection[l.gallery.selection.length-1])==null?void 0:p.image_name;if(s&&(s==null?void 0:s.image_name)===u){const{image_name:g}=s,m=BU(l),{data:v}=Se.endpoints.listImages.select(m)(l),x=v?pn.getSelectors().selectAll(v):[],_=x.findIndex(C=>C.image_name===g),b=x.filter(C=>C.image_name!==g),y=bl(_,0,b.length-1),S=b[y];t(Rs(S||null))}a.isCanvasImage&&t(wT()),a.isControlNetImage&&t(FT()),a.isInitialImage&&t(ST()),a.isNodesImage&&t(sE());const{requestId:d}=t(Se.endpoints.deleteImage.initiate(s));await r(g=>Se.endpoints.deleteImage.matchFulfilled(g)&&g.meta.requestId===d,3e4)&&t(Gl.util.invalidateTags([{type:"Board",id:s.board_id}]))}})},L_e=()=>{Pe({actionCreator:hE,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTOs:r,imagesUsage:i}=e.payload;if(!(r.length<1||i.length<1))try{await t(Se.endpoints.deleteImages.initiate({imageDTOs:r})).unwrap();const o=n(),s=BU(o),{data:a}=Se.endpoints.listImages.select(s)(o),l=a?pn.getSelectors().selectAll(a)[0]:void 0;t(Rs(l||null)),t(BT(!1)),i.some(u=>u.isCanvasImage)&&t(wT()),i.some(u=>u.isControlNetImage)&&t(FT()),i.some(u=>u.isInitialImage)&&t(ST()),i.some(u=>u.isNodesImage)&&t(sE())}catch{}}})},D_e=()=>{Pe({matcher:Se.endpoints.deleteImage.matchPending,effect:()=>{}})},$_e=()=>{Pe({matcher:Se.endpoints.deleteImage.matchFulfilled,effect:e=>{Ie("images").debug({imageDTO:e.meta.arg.originalArgs},"Image deleted")}})},F_e=()=>{Pe({matcher:Se.endpoints.deleteImage.matchRejected,effect:e=>{Ie("images").debug({imageDTO:e.meta.arg.originalArgs},"Unable to delete image")}})},UU=Re("dnd/dndDropped"),B_e=()=>{Pe({actionCreator:UU,effect:async(e,{dispatch:t})=>{const n=Ie("images"),{activeData:r,overData:i}=e.payload;if(r.payloadType==="IMAGE_DTO"?n.debug({activeData:r,overData:i},"Image dropped"):r.payloadType==="IMAGE_DTOS"?n.debug({activeData:r,overData:i},`Images (${r.payload.imageDTOs.length}) dropped`):n.debug({activeData:r,overData:i},"Unknown payload dropped"),i.actionType==="SET_CURRENT_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(Rs(r.payload.imageDTO));return}if(i.actionType==="SET_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(ob(r.payload.imageDTO));return}if(i.actionType==="SET_CONTROLNET_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{controlNetId:o}=i.context;t($T({controlImage:r.payload.imageDTO.image_name,controlNetId:o}));return}if(i.actionType==="SET_CANVAS_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(a$(r.payload.imageDTO));return}if(i.actionType==="SET_NODES_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{fieldName:o,nodeId:s}=i.context;t(mU({nodeId:s,fieldName:o,value:r.payload.imageDTO}));return}if(i.actionType==="ADD_TO_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload,{boardId:s}=i.context;t(Se.endpoints.addImageToBoard.initiate({imageDTO:o,board_id:s}));return}if(i.actionType==="REMOVE_FROM_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload;t(Se.endpoints.removeImageFromBoard.initiate({imageDTO:o}));return}if(i.actionType==="ADD_TO_BOARD"&&r.payloadType==="IMAGE_DTOS"&&r.payload.imageDTOs){const{imageDTOs:o}=r.payload,{boardId:s}=i.context;t(Se.endpoints.addImagesToBoard.initiate({imageDTOs:o,board_id:s}));return}if(i.actionType==="REMOVE_FROM_BOARD"&&r.payloadType==="IMAGE_DTOS"&&r.payload.imageDTOs){const{imageDTOs:o}=r.payload;t(Se.endpoints.removeImagesFromBoard.initiate({imageDTOs:o}));return}}})},U_e=()=>{Pe({matcher:Se.endpoints.removeImageFromBoard.matchFulfilled,effect:e=>{const t=Ie("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Image removed from board")}})},z_e=()=>{Pe({matcher:Se.endpoints.removeImageFromBoard.matchRejected,effect:e=>{const t=Ie("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Problem removing image from board")}})},V_e=()=>{Pe({actionCreator:nfe,effect:async(e,{dispatch:t,getState:n})=>{const r=e.payload,i=n(),{shouldConfirmOnDelete:o}=i.system,s=f_e(n()),a=s.some(l=>l.isCanvasImage)||s.some(l=>l.isInitialImage)||s.some(l=>l.isControlNetImage)||s.some(l=>l.isNodesImage);if(o||a){t(BT(!0));return}t(hE({imageDTOs:r,imagesUsage:s}))}})},cd={title:"Image Uploaded",status:"success"},j_e=()=>{Pe({matcher:Se.endpoints.uploadImage.matchFulfilled,effect:(e,{dispatch:t,getState:n})=>{const r=Ie("images"),i=e.payload,o=n(),{autoAddBoardId:s}=o.gallery;r.debug({imageDTO:i},"Image uploaded");const{postUploadAction:a}=e.meta.arg.originalArgs;if(!(e.payload.is_intermediate&&!a)){if((a==null?void 0:a.type)==="TOAST"){const{toastOptions:l}=a;if(!s||s==="none")t(Un({...cd,...l}));else{t(Se.endpoints.addImageToBoard.initiate({board_id:s,imageDTO:i}));const{data:u}=Ui.endpoints.listAllBoards.select()(o),d=u==null?void 0:u.find(p=>p.board_id===s),f=d?`Added to board ${d.board_name}`:`Added to board ${s}`;t(Un({...cd,description:f}))}return}if((a==null?void 0:a.type)==="SET_CANVAS_INITIAL_IMAGE"){t(a$(i)),t(Un({...cd,description:"Set as canvas initial image"}));return}if((a==null?void 0:a.type)==="SET_CONTROLNET_IMAGE"){const{controlNetId:l}=a;t($T({controlNetId:l,controlImage:i.image_name})),t(Un({...cd,description:"Set as control image"}));return}if((a==null?void 0:a.type)==="SET_INITIAL_IMAGE"){t(ob(i)),t(Un({...cd,description:"Set as initial image"}));return}if((a==null?void 0:a.type)==="SET_NODES_IMAGE"){const{nodeId:l,fieldName:u}=a;t(mU({nodeId:l,fieldName:u,value:i})),t(Un({...cd,description:`Set as node field ${u}`}));return}}}})},G_e=()=>{Pe({matcher:Se.endpoints.uploadImage.matchRejected,effect:(e,{dispatch:t})=>{const n=Ie("images"),r={arg:{...rb(e.meta.arg.originalArgs,["file","postUploadAction"]),file:""}};n.error({...r},"Image upload failed"),t(Un({title:"Image Upload Failed",description:e.error.message,status:"error"}))}})},H_e=Re("generation/initialImageSelected"),W_e=Re("generation/modelSelected"),q_e=()=>{Pe({actionCreator:H_e,effect:(e,{dispatch:t})=>{if(!e.payload){t(Un(Ku({title:Pp("toast.imageNotLoadedDesc"),status:"error"})));return}t(ob(e.payload)),t(Un(Ku(Pp("toast.sentToImageToImage"))))}})},K_e=()=>{Pe({actionCreator:W_e,effect:(e,{getState:t,dispatch:n})=>{var l;const r=Ie("models"),i=t(),o=YD.safeParse(e.payload);if(!o.success){r.error({error:o.error.format()},"Failed to parse main model");return}const s=o.data,{base_model:a}=s;if(((l=i.generation.model)==null?void 0:l.base_model)!==a){let u=0;tc(i.lora.loras,(p,g)=>{p.base_model!==a&&(n(_F(g)),u+=1)});const{vae:d}=i.generation;d&&d.base_model!==a&&(n(ZD(null)),u+=1);const{controlNets:f}=i.controlNet;tc(f,(p,g)=>{var m;((m=p.model)==null?void 0:m.base_model)!==a&&(n(dF({controlNetId:g})),u+=1)}),u>0&&n(Un(Ku({title:`Base model changed, cleared ${u} incompatible submodel${u===1?"":"s"}`,status:"warning"})))}n(Gu(s))}})},RO=Jl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),OO=Jl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),kO=Jl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),IO=Jl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),MO=Jl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),n5=Jl({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),X_e=({base_model:e,model_type:t,model_name:n})=>`${e}/${t}/${n}`,dd=e=>{const t=[];return e.forEach(n=>{const r={...zr(n),id:X_e(n)};t.push(r)}),t},da=Gl.injectEndpoints({endpoints:e=>({getOnnxModels:e.query({query:t=>{const n={model_type:"onnx",base_models:t};return`models/?${fv.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"OnnxModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"OnnxModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return OO.setAll(OO.getInitialState(),i)}}),getMainModels:e.query({query:t=>{const n={model_type:"main",base_models:t};return`models/?${fv.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"MainModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"MainModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return RO.setAll(RO.getInitialState(),i)}}),updateMainModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/main/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),importMainModels:e.mutation({query:({body:t})=>({url:"models/import",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),addMainModels:e.mutation({query:({body:t})=>({url:"models/add",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),deleteMainModels:e.mutation({query:({base_model:t,model_name:n,model_type:r})=>({url:`models/${t}/${r}/${n}`,method:"DELETE"}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),convertMainModels:e.mutation({query:({base_model:t,model_name:n,convert_dest_directory:r})=>({url:`models/convert/${t}/main/${n}`,method:"PUT",params:{convert_dest_directory:r}}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),mergeMainModels:e.mutation({query:({base_model:t,body:n})=>({url:`models/merge/${t}`,method:"PUT",body:n}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),syncModels:e.mutation({query:()=>({url:"models/sync",method:"POST"}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),getLoRAModels:e.query({query:()=>({url:"models/",params:{model_type:"lora"}}),providesTags:(t,n,r)=>{const i=[{type:"LoRAModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"LoRAModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return kO.setAll(kO.getInitialState(),i)}}),updateLoRAModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/lora/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"LoRAModel",id:Ke}]}),deleteLoRAModels:e.mutation({query:({base_model:t,model_name:n})=>({url:`models/${t}/lora/${n}`,method:"DELETE"}),invalidatesTags:[{type:"LoRAModel",id:Ke}]}),getControlNetModels:e.query({query:()=>({url:"models/",params:{model_type:"controlnet"}}),providesTags:(t,n,r)=>{const i=[{type:"ControlNetModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"ControlNetModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return IO.setAll(IO.getInitialState(),i)}}),getVaeModels:e.query({query:()=>({url:"models/",params:{model_type:"vae"}}),providesTags:(t,n,r)=>{const i=[{type:"VaeModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"VaeModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return n5.setAll(n5.getInitialState(),i)}}),getTextualInversionModels:e.query({query:()=>({url:"models/",params:{model_type:"embedding"}}),providesTags:(t,n,r)=>{const i=[{type:"TextualInversionModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"TextualInversionModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return MO.setAll(MO.getInitialState(),i)}}),getModelsInFolder:e.query({query:t=>({url:`/models/search?${fv.stringify(t,{})}`}),providesTags:(t,n,r)=>{const i=[{type:"ScannedModels",id:Ke}];return t&&i.push(...t.map(o=>({type:"ScannedModels",id:o}))),i}}),getCheckpointConfigs:e.query({query:()=>({url:"/models/ckpt_confs"})})})}),{useGetMainModelsQuery:M7e,useGetOnnxModelsQuery:N7e,useGetControlNetModelsQuery:L7e,useGetLoRAModelsQuery:D7e,useGetTextualInversionModelsQuery:$7e,useGetVaeModelsQuery:F7e,useUpdateMainModelsMutation:B7e,useDeleteMainModelsMutation:U7e,useImportMainModelsMutation:z7e,useAddMainModelsMutation:V7e,useConvertMainModelsMutation:j7e,useMergeMainModelsMutation:G7e,useDeleteLoRAModelsMutation:H7e,useUpdateLoRAModelsMutation:W7e,useSyncModelsMutation:q7e,useGetModelsInFolderQuery:K7e,useGetCheckpointConfigsQuery:X7e}=da,Y_e=()=>{Pe({predicate:(e,t)=>da.endpoints.getMainModels.matchFulfilled(t)&&!t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=Ie("models");r.info({models:e.payload.entities},`Main models loaded (${e.payload.ids.length})`);const i=t().generation.model;if(Ou(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)&&(u==null?void 0:u.model_type)===(i==null?void 0:i.model_type)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(Gu(null));return}const l=YD.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse main model");return}n(Gu(l.data))}}),Pe({predicate:(e,t)=>da.endpoints.getMainModels.matchFulfilled(t)&&t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=Ie("models");r.info({models:e.payload.entities},`SDXL Refiner models loaded (${e.payload.ids.length})`);const i=t().sdxl.refinerModel;if(Ou(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)&&(u==null?void 0:u.model_type)===(i==null?void 0:i.model_type)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(dO(null)),n(Vve(!1));return}const l=XD.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse SDXL Refiner Model");return}n(dO(l.data))}}),Pe({matcher:da.endpoints.getVaeModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=Ie("models");r.info({models:e.payload.entities},`VAEs loaded (${e.payload.ids.length})`);const i=t().generation.vae;if(i===null||Ou(e.payload.entities,l=>(l==null?void 0:l.model_name)===(i==null?void 0:i.model_name)&&(l==null?void 0:l.base_model)===(i==null?void 0:i.base_model)))return;const s=n5.getSelectors().selectAll(e.payload)[0];if(!s){n(Gu(null));return}const a=gue.safeParse(s);if(!a.success){r.error({error:a.error.format()},"Failed to parse VAE model");return}n(ZD(a.data))}}),Pe({matcher:da.endpoints.getLoRAModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{Ie("models").info({models:e.payload.entities},`LoRAs loaded (${e.payload.ids.length})`);const i=t().lora.loras;tc(i,(o,s)=>{Ou(e.payload.entities,l=>(l==null?void 0:l.model_name)===(o==null?void 0:o.model_name)&&(l==null?void 0:l.base_model)===(o==null?void 0:o.base_model))||n(_F(s))})}}),Pe({matcher:da.endpoints.getControlNetModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{Ie("models").info({models:e.payload.entities},`ControlNet models loaded (${e.payload.ids.length})`);const i=t().controlNet.controlNets;tc(i,(o,s)=>{Ou(e.payload.entities,l=>{var u,d;return(l==null?void 0:l.model_name)===((u=o==null?void 0:o.model)==null?void 0:u.model_name)&&(l==null?void 0:l.base_model)===((d=o==null?void 0:o.model)==null?void 0:d.base_model)})||n(dF({controlNetId:s}))})}}),Pe({matcher:da.endpoints.getTextualInversionModels.matchFulfilled,effect:async e=>{Ie("models").info({models:e.payload.entities},`Embeddings loaded (${e.payload.ids.length})`)}})},Da=e=>JSON.parse(JSON.stringify(e)),r5=e=>!("$ref"in e),Q_e=e=>!("$ref"in e),Y7e=500,Z_e={integer:"integer",float:"float",number:"float",string:"string",boolean:"boolean",enum:"enum",ImageField:"image",image_collection:"image_collection",LatentsField:"latents",ConditioningField:"conditioning",UNetField:"unet",ClipField:"clip",VaeField:"vae",model:"model",refiner_model:"refiner_model",vae_model:"vae_model",lora_model:"lora_model",controlnet_model:"controlnet_model",ControlNetModelField:"controlnet_model",array:"array",item:"item",ColorField:"color",ControlField:"control",control:"control",cfg_scale:"float",control_weight:"float"},J_e=500,Rn=e=>`var(--invokeai-colors-${e}-${J_e})`,Q7e={integer:{color:"red",colorCssVar:Rn("red"),title:"Integer",description:"Integers are whole numbers, without a decimal point."},float:{color:"orange",colorCssVar:Rn("orange"),title:"Float",description:"Floats are numbers with a decimal point."},string:{color:"yellow",colorCssVar:Rn("yellow"),title:"String",description:"Strings are text."},boolean:{color:"green",colorCssVar:Rn("green"),title:"Boolean",description:"Booleans are true or false."},enum:{color:"blue",colorCssVar:Rn("blue"),title:"Enum",description:"Enums are values that may be one of a number of options."},image:{color:"purple",colorCssVar:Rn("purple"),title:"Image",description:"Images may be passed between nodes."},image_collection:{color:"purple",colorCssVar:Rn("purple"),title:"Image Collection",description:"A collection of images."},latents:{color:"pink",colorCssVar:Rn("pink"),title:"Latents",description:"Latents may be passed between nodes."},conditioning:{color:"cyan",colorCssVar:Rn("cyan"),title:"Conditioning",description:"Conditioning may be passed between nodes."},unet:{color:"red",colorCssVar:Rn("red"),title:"UNet",description:"UNet submodel."},clip:{color:"green",colorCssVar:Rn("green"),title:"Clip",description:"Tokenizer and text_encoder submodels."},vae:{color:"blue",colorCssVar:Rn("blue"),title:"Vae",description:"Vae submodel."},control:{color:"cyan",colorCssVar:Rn("cyan"),title:"Control",description:"Control info passed between nodes."},model:{color:"teal",colorCssVar:Rn("teal"),title:"Model",description:"Models are models."},refiner_model:{color:"teal",colorCssVar:Rn("teal"),title:"Refiner Model",description:"Models are models."},vae_model:{color:"teal",colorCssVar:Rn("teal"),title:"VAE",description:"Models are models."},lora_model:{color:"teal",colorCssVar:Rn("teal"),title:"LoRA",description:"Models are models."},controlnet_model:{color:"teal",colorCssVar:Rn("teal"),title:"ControlNet",description:"Models are models."},array:{color:"gray",colorCssVar:Rn("gray"),title:"Array",description:"TODO: Array type description."},item:{color:"gray",colorCssVar:Rn("gray"),title:"Collection Item",description:"TODO: Collection Item type description."},color:{color:"gray",colorCssVar:Rn("gray"),title:"Color",description:"A RGBA color."}},Z7e=250,Nx=e=>{const t=e.$ref.split("/").slice(-1)[0];return t||"UNKNOWN FIELD TYPE"},ebe=({schemaObject:e,baseField:t})=>{const n={...t,type:"integer",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},tbe=({schemaObject:e,baseField:t})=>{const n={...t,type:"float",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},nbe=({schemaObject:e,baseField:t})=>{const n={...t,type:"string",inputRequirement:"always",inputKind:"any",default:e.default??""};return e.minLength!==void 0&&(n.minLength=e.minLength),e.maxLength!==void 0&&(n.maxLength=e.maxLength),e.pattern!==void 0&&(n.pattern=e.pattern),n},rbe=({schemaObject:e,baseField:t})=>({...t,type:"boolean",inputRequirement:"always",inputKind:"any",default:e.default??!1}),ibe=({schemaObject:e,baseField:t})=>({...t,type:"model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),obe=({schemaObject:e,baseField:t})=>({...t,type:"refiner_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),sbe=({schemaObject:e,baseField:t})=>({...t,type:"vae_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),abe=({schemaObject:e,baseField:t})=>({...t,type:"lora_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),lbe=({schemaObject:e,baseField:t})=>({...t,type:"controlnet_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),ube=({schemaObject:e,baseField:t})=>({...t,type:"image",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),cbe=({schemaObject:e,baseField:t})=>({...t,type:"image_collection",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),dbe=({schemaObject:e,baseField:t})=>({...t,type:"latents",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),fbe=({schemaObject:e,baseField:t})=>({...t,type:"conditioning",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),hbe=({schemaObject:e,baseField:t})=>({...t,type:"unet",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),pbe=({schemaObject:e,baseField:t})=>({...t,type:"clip",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),gbe=({schemaObject:e,baseField:t})=>({...t,type:"vae",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),mbe=({schemaObject:e,baseField:t})=>({...t,type:"control",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),ybe=({schemaObject:e,baseField:t})=>{const n=e.enum??[];return{...t,type:"enum",enumType:e.type??"string",options:n,inputRequirement:"always",inputKind:"direct",default:e.default??n[0]}},NO=({baseField:e})=>({...e,type:"array",inputRequirement:"always",inputKind:"direct",default:[]}),LO=({baseField:e})=>({...e,type:"item",inputRequirement:"always",inputKind:"direct",default:void 0}),vbe=({schemaObject:e,baseField:t})=>({...t,type:"color",inputRequirement:"always",inputKind:"direct",default:e.default??{r:127,g:127,b:127,a:255}}),zU=(e,t,n)=>{let r="";n&&t in n?r=n[t]??"UNKNOWN FIELD TYPE":e.type?e.enum?r="enum":e.type&&(r=e.type):e.allOf?r=Nx(e.allOf[0]):e.anyOf?r=Nx(e.anyOf[0]):e.oneOf&&(r=Nx(e.oneOf[0]));const i=Z_e[r];if(!i)throw`Field type "${r}" is unknown!`;return i},_be=(e,t,n)=>{const r=zU(e,t,n),i={name:t,title:e.title??"",description:e.description??""};if(["image"].includes(r))return ube({schemaObject:e,baseField:i});if(["image_collection"].includes(r))return cbe({schemaObject:e,baseField:i});if(["latents"].includes(r))return dbe({schemaObject:e,baseField:i});if(["conditioning"].includes(r))return fbe({schemaObject:e,baseField:i});if(["unet"].includes(r))return hbe({schemaObject:e,baseField:i});if(["clip"].includes(r))return pbe({schemaObject:e,baseField:i});if(["vae"].includes(r))return gbe({schemaObject:e,baseField:i});if(["control"].includes(r))return mbe({schemaObject:e,baseField:i});if(["model"].includes(r))return ibe({schemaObject:e,baseField:i});if(["refiner_model"].includes(r))return obe({schemaObject:e,baseField:i});if(["vae_model"].includes(r))return sbe({schemaObject:e,baseField:i});if(["lora_model"].includes(r))return abe({schemaObject:e,baseField:i});if(["controlnet_model"].includes(r))return lbe({schemaObject:e,baseField:i});if(["enum"].includes(r))return ybe({schemaObject:e,baseField:i});if(["integer"].includes(r))return ebe({schemaObject:e,baseField:i});if(["number","float"].includes(r))return tbe({schemaObject:e,baseField:i});if(["string"].includes(r))return nbe({schemaObject:e,baseField:i});if(["boolean"].includes(r))return rbe({schemaObject:e,baseField:i});if(["array"].includes(r))return NO({schemaObject:e,baseField:i});if(["item"].includes(r))return LO({schemaObject:e,baseField:i});if(["color"].includes(r))return vbe({schemaObject:e,baseField:i});if(["array"].includes(r))return NO({schemaObject:e,baseField:i});if(["item"].includes(r))return LO({schemaObject:e,baseField:i})},bbe=(e,t,n)=>{const r=e.$ref.split("/").slice(-1)[0];if(!r)throw Ie("nodes").error({refObject:Da(e)},"No output schema name found in ref object"),"No output schema name found in ref object";const i=t.components.schemas[r];if(!i)throw Ie("nodes").error({outputSchemaName:r},"Output schema not found"),"Output schema not found";return r5(i)?_T(i.properties,(s,a,l)=>{if(!["type","id"].includes(l)&&!["object"].includes(a.type)&&r5(a)){const u=zU(a,l,n);s[l]={name:l,title:a.title??"",description:a.description??"",type:u}}return s},{}):{}},Sbe=e=>e==="l2i"?["id","type","metadata"]:["id","type","is_intermediate","metadata"],wbe=["Graph","InvocationMeta","MetadataAccumulatorInvocation"],xbe=e=>{var r;return OD((r=e.components)==null?void 0:r.schemas,(i,o)=>o.includes("Invocation")&&!o.includes("InvocationOutput")&&!wbe.some(s=>o.includes(s))).reduce((i,o)=>{var s,a,l,u,d;if(Q_e(o)){const f=o.properties.type.default,p=Sbe(f),g=((s=o.ui)==null?void 0:s.title)??o.title.replace("Invocation",""),m=(a=o.ui)==null?void 0:a.type_hints,v={};if(f==="collect"){const y=o.properties.item;v.item={type:"item",name:"item",description:y.description??"",title:"Collection Item",inputKind:"connection",inputRequirement:"always",default:void 0}}else if(f==="iterate"){const y=o.properties.collection;v.collection={type:"array",name:"collection",title:y.title??"",default:[],description:y.description??"",inputRequirement:"always",inputKind:"connection"}}else _T(o.properties,(y,S,C)=>{if(!p.includes(C)&&r5(S)){const T=_be(S,C,m);T&&(y[C]=T)}return y},v);const x=o.output;let _;if(f==="iterate"){const y=(u=(l=e.components)==null?void 0:l.schemas)==null?void 0:u.IterateInvocationOutput;_={item:{name:"item",title:(y==null?void 0:y.title)??"",description:(y==null?void 0:y.description)??"",type:"array"}}}else _=bbe(x,e,m);const b={title:g,type:f,tags:((d=o.ui)==null?void 0:d.tags)??[],description:o.description??"",inputs:v,outputs:_};Object.assign(i,{[f]:b})}return i},{})},Cbe=()=>{Pe({actionCreator:Ig.fulfilled,effect:(e,{dispatch:t})=>{const n=Ie("system"),r=e.payload;n.debug({schemaJSON:r},"Dereferenced OpenAPI schema");const i=xbe(r);n.debug({nodeTemplates:Da(i)},`Built ${FD(i)} node templates`),t(oE(i))}}),Pe({actionCreator:Ig.rejected,effect:()=>{Ie("system").error("Problem dereferencing OpenAPI Schema")}})},Tbe=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(Boolean).map(e=>[e.name,e]),Ebe=new Map(Tbe),Abe=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],i5=Symbol(".toJSON was called"),Pbe=e=>{e[i5]=!0;const t=e.toJSON();return delete e[i5],t},Rbe=e=>Ebe.get(e)??Error,VU=({from:e,seen:t,to:n,forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a})=>{if(!n)if(Array.isArray(e))n=[];else if(!a&&DO(e)){const u=Rbe(e.name);n=new u}else n={};if(t.push(e),o>=i)return n;if(s&&typeof e.toJSON=="function"&&e[i5]!==!0)return Pbe(e);const l=u=>VU({from:u,seen:[...t],forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a});for(const[u,d]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(d)){n[u]="[object Buffer]";continue}if(d!==null&&typeof d=="object"&&typeof d.pipe=="function"){n[u]="[object Stream]";continue}if(typeof d!="function"){if(!d||typeof d!="object"){n[u]=d;continue}if(!t.includes(e[u])){o++,n[u]=l(e[u]);continue}n[u]="[Circular]"}}for(const{property:u,enumerable:d}of Abe)typeof e[u]<"u"&&e[u]!==null&&Object.defineProperty(n,u,{value:DO(e[u])?l(e[u]):e[u],enumerable:r?!0:d,configurable:!0,writable:!0});return n};function pE(e,t={}){const{maxDepth:n=Number.POSITIVE_INFINITY,useToJSON:r=!0}=t;return typeof e=="object"&&e!==null?VU({from:e,seen:[],forceEnumerable:!0,maxDepth:n,depth:0,useToJSON:r,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}function DO(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}const Obe=()=>{Pe({actionCreator:mc.pending,effect:()=>{}})},kbe=()=>{Pe({actionCreator:mc.fulfilled,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session canceled (${n})`)}})},Ibe=()=>{Pe({actionCreator:mc.rejected,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:pE(r)},"Problem canceling session")}}})},Mbe=()=>{Pe({actionCreator:Mr.pending,effect:()=>{}})},Nbe=()=>{Pe({actionCreator:Mr.fulfilled,effect:e=>{const t=Ie("session"),n=e.payload;t.debug({session:Da(n)},`Session created (${n.id})`)}})},Lbe=()=>{Pe({actionCreator:Mr.rejected,effect:e=>{const t=Ie("session");if(e.payload){const{error:n,status:r}=e.payload,i=Da(e.meta.arg);t.error({graph:i,status:r,error:pE(n)},"Problem creating session")}}})},Dbe=()=>{Pe({actionCreator:mm.pending,effect:()=>{}})},$be=()=>{Pe({actionCreator:mm.fulfilled,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session invoked (${n})`)}})},Fbe=()=>{Pe({actionCreator:mm.rejected,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:pE(r)},"Problem invoking session")}}})},Bbe=()=>{Pe({actionCreator:yc,effect:(e,{getState:t,dispatch:n})=>{const r=Ie("session"),{sessionId:i}=t().system;i&&(r.debug({session_id:i},`Session ready to invoke (${i})})`),n(mm({session_id:i})))}})},Ube=()=>{Pe({actionCreator:j$,effect:(e,{dispatch:t,getState:n})=>{Ie("socketio").debug("Connected");const{nodes:i,config:o}=n(),{disabledTabs:s}=o;!i.schema&&!s.includes("nodes")&&t(Ig()),t(G$(e.payload)),t(da.util.invalidateTags([{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"LoRAModel",id:Ke},{type:"ControlNetModel",id:Ke},{type:"VaeModel",id:Ke},{type:"TextualInversionModel",id:Ke},{type:"ScannedModels",id:Ke}])),t(cE.util.invalidateTags(["AppConfig","AppVersion"]))}})},zbe=()=>{Pe({actionCreator:H$,effect:(e,{dispatch:t})=>{Ie("socketio").debug("Disconnected"),t(W$(e.payload))}})},Vbe=()=>{Pe({actionCreator:nF,effect:(e,{dispatch:t,getState:n})=>{const r=Ie("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored generator progress for canceled session");return}r.trace(e.payload,`Generator progress (${e.payload.data.node.type})`),t(rF(e.payload))}})},jbe=()=>{Pe({actionCreator:eF,effect:(e,{dispatch:t})=>{Ie("socketio").debug(e.payload,"Session complete"),t(tF(e.payload))}})},Gbe=["dataURL_image"],Hbe=()=>{Pe({actionCreator:NT,effect:async(e,{dispatch:t,getState:n})=>{const r=Ie("socketio"),{data:i}=e.payload;r.debug({data:Da(i)},`Invocation complete (${e.payload.data.node.type})`);const o=e.payload.data.graph_execution_state_id,{cancelType:s,isCancelScheduled:a}=n().system;s==="scheduled"&&a&&t(mc({session_id:o}));const{result:l,node:u,graph_execution_state_id:d}=i;if(FU(l)&&!Gbe.includes(u.type)){const{image_name:f}=l.image,{canvas:p,gallery:g}=n(),m=await t(Se.endpoints.getImageDTO.initiate(f)).unwrap();if(d===p.layerState.stagingArea.sessionId&&t(Uue(m)),!m.is_intermediate){const{autoAddBoardId:v}=g;t(v&&v!=="none"?Se.endpoints.addImageToBoard.initiate({board_id:v,imageDTO:m}):Se.util.updateQueryData("listImages",{board_id:"none",categories:jr},b=>{pn.addOne(b,m)})),t(Se.util.invalidateTags([{type:"BoardImagesTotal",id:v},{type:"BoardAssetsTotal",id:v}]));const{selectedBoardId:x,shouldAutoSwitch:_}=g;_&&(v&&v!==x?(t(N3(v)),t(k1("images"))):v||t(k1("images")),t(Rs(m)))}t(c1e(null))}t(Z$(e.payload))}})},Wbe=()=>{Pe({actionCreator:J$,effect:(e,{dispatch:t})=>{Ie("socketio").error(e.payload,`Invocation error (${e.payload.data.node.type})`),t(LT(e.payload))}})},qbe=()=>{Pe({actionCreator:lF,effect:(e,{dispatch:t})=>{Ie("socketio").error(e.payload,`Invocation retrieval error (${e.payload.data.graph_execution_state_id})`),t(uF(e.payload))}})},Kbe=()=>{Pe({actionCreator:Y$,effect:(e,{dispatch:t,getState:n})=>{const r=Ie("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored invocation started for canceled session");return}r.debug(e.payload,`Invocation started (${e.payload.data.node.type})`),t(Q$(e.payload))}})},Xbe=()=>{Pe({actionCreator:iF,effect:(e,{dispatch:t})=>{const n=Ie("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load started: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(Hde(e.payload))}}),Pe({actionCreator:oF,effect:(e,{dispatch:t})=>{const n=Ie("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load complete: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(Wde(e.payload))}})},Ybe=()=>{Pe({actionCreator:sF,effect:(e,{dispatch:t})=>{Ie("socketio").error(e.payload,`Session retrieval error (${e.payload.data.graph_execution_state_id})`),t(aF(e.payload))}})},Qbe=()=>{Pe({actionCreator:MT,effect:(e,{dispatch:t})=>{Ie("socketio").debug(e.payload,"Subscribed"),t(q$(e.payload))}})},Zbe=()=>{Pe({actionCreator:K$,effect:(e,{dispatch:t})=>{Ie("socketio").debug(e.payload,"Unsubscribed"),t(X$(e.payload))}})},Jbe=()=>{Pe({actionCreator:__e,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTO:r}=e.payload;try{const i=await t(Se.endpoints.changeImageIsIntermediate.initiate({imageDTO:r,is_intermediate:!1})).unwrap(),{autoAddBoardId:o}=n().gallery;o&&await t(Se.endpoints.addImageToBoard.initiate({imageDTO:i,board_id:o})),t(Un({title:"Image Saved",status:"success"}))}catch(i){t(Un({title:"Image Saving Failed",description:i==null?void 0:i.message,status:"error"}))}}})},J7e=["sd-1","sd-2","sdxl","sdxl-refiner"],eSe=["sd-1","sd-2","sdxl"],eMe=["sdxl-refiner"],tSe=()=>{Pe({actionCreator:n$,effect:(e,{getState:t,dispatch:n})=>{if(e.payload==="unifiedCanvas"){const{data:i}=da.endpoints.getMainModels.select(eSe)(t());if(!i){n(Gu(null));return}const o=[];tc(i.entities,d=>{d&&["sd-1","sd-2"].includes(d.base_model)&&o.push(d)});const s=o[0];if(!s){n(Gu(null));return}const{base_model:a,model_name:l,model_type:u}=s;n(Gu({base_model:a,model_name:l,model_type:u}))}}})},vt="positive_conditioning",Pt="negative_conditioning",cr="text_to_latents",Rt="latents_to_image",Dd="nsfw_checker",Yh="invisible_watermark",mt="noise",ms="rand_int",fa="range_of_size",vi="iterate",Or="main_model_loader",rS="onnx_model_loader",Qh="vae_loader",nSe="lora_loader",qt="clip_skip",un="image_to_latents",Bn="latents_to_latents",ii="resize_image",ds="inpaint",O0="control_net_collect",Lx="dynamic_prompt",It="metadata_accumulator",$O="esrgan",Zn="sdxl_model_loader",il="t2l_sdxl",fs="l2l_sdxl",fd="sdxl_refiner_model_loader",k0="sdxl_refiner_positive_conditioning",I0="sdxl_refiner_negative_conditioning",bu="l2l_sdxl_refiner",gE="text_to_image_graph",rSe="sdxl_text_to_image_graph",iSe="sxdl_image_to_image_graph",Z1="image_to_image_graph",jU="inpaint_graph",oSe=({image_name:e,esrganModelName:t})=>{const n={id:$O,type:"esrgan",image:{image_name:e},model_name:t,is_intermediate:!1};return{id:"adhoc-esrgan-graph",nodes:{[$O]:n},edges:[]}},sSe=Re("upscale/upscaleRequested"),aSe=()=>{Pe({actionCreator:sSe,effect:async(e,{dispatch:t,getState:n,take:r})=>{const{image_name:i}=e.payload,{esrganModelName:o}=n().postprocessing,s=oSe({image_name:i,esrganModelName:o});t(Mr({graph:s})),await r(Mr.fulfilled.match),t(yc())}})},lSe=e=>{const t=window.open("");t&&e.forEach(n=>{const r=new Image;r.src=n.base64,t.document.write(n.caption),t.document.write("
"),t.document.write(r.outerHTML),t.document.write("

")})},FO=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=i=>t(r.result),r.onerror=i=>n(r.error),r.onabort=i=>n(new Error("Read aborted")),r.readAsDataURL(e)});var mE={exports:{}},iS={},GU={},rt={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e._registerNode=e.Konva=e.glob=void 0;var t=Math.PI/180;function n(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}e.glob=typeof He<"u"?He:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},e.Konva={_global:e.glob,version:"9.2.0",isBrowser:n(),isUnminified:/param/.test((function(i){}).toString()),dblClickWindow:400,getAngle(i){return e.Konva.angleDeg?i*t:i},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,pixelRatio:typeof window<"u"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return e.Konva.DD.isDragging},isDragReady(){return!!e.Konva.DD.node},releaseCanvasOnDestroy:!0,document:e.glob.document,_injectGlobal(i){e.glob.Konva=i}};const r=i=>{e.Konva[i.prototype.getClassName()]=i};e._registerNode=r,e.Konva._injectGlobal(e.Konva)})(rt);var Sn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Util=e.Transform=void 0;const t=rt;class n{constructor(S=[1,0,0,1,0,0]){this.dirty=!1,this.m=S&&S.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new n(this.m)}copyInto(S){S.m[0]=this.m[0],S.m[1]=this.m[1],S.m[2]=this.m[2],S.m[3]=this.m[3],S.m[4]=this.m[4],S.m[5]=this.m[5]}point(S){var C=this.m;return{x:C[0]*S.x+C[2]*S.y+C[4],y:C[1]*S.x+C[3]*S.y+C[5]}}translate(S,C){return this.m[4]+=this.m[0]*S+this.m[2]*C,this.m[5]+=this.m[1]*S+this.m[3]*C,this}scale(S,C){return this.m[0]*=S,this.m[1]*=S,this.m[2]*=C,this.m[3]*=C,this}rotate(S){var C=Math.cos(S),T=Math.sin(S),E=this.m[0]*C+this.m[2]*T,P=this.m[1]*C+this.m[3]*T,k=this.m[0]*-T+this.m[2]*C,O=this.m[1]*-T+this.m[3]*C;return this.m[0]=E,this.m[1]=P,this.m[2]=k,this.m[3]=O,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(S,C){var T=this.m[0]+this.m[2]*C,E=this.m[1]+this.m[3]*C,P=this.m[2]+this.m[0]*S,k=this.m[3]+this.m[1]*S;return this.m[0]=T,this.m[1]=E,this.m[2]=P,this.m[3]=k,this}multiply(S){var C=this.m[0]*S.m[0]+this.m[2]*S.m[1],T=this.m[1]*S.m[0]+this.m[3]*S.m[1],E=this.m[0]*S.m[2]+this.m[2]*S.m[3],P=this.m[1]*S.m[2]+this.m[3]*S.m[3],k=this.m[0]*S.m[4]+this.m[2]*S.m[5]+this.m[4],O=this.m[1]*S.m[4]+this.m[3]*S.m[5]+this.m[5];return this.m[0]=C,this.m[1]=T,this.m[2]=E,this.m[3]=P,this.m[4]=k,this.m[5]=O,this}invert(){var S=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),C=this.m[3]*S,T=-this.m[1]*S,E=-this.m[2]*S,P=this.m[0]*S,k=S*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),O=S*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=C,this.m[1]=T,this.m[2]=E,this.m[3]=P,this.m[4]=k,this.m[5]=O,this}getMatrix(){return this.m}decompose(){var S=this.m[0],C=this.m[1],T=this.m[2],E=this.m[3],P=this.m[4],k=this.m[5],O=S*E-C*T;let M={x:P,y:k,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(S!=0||C!=0){var G=Math.sqrt(S*S+C*C);M.rotation=C>0?Math.acos(S/G):-Math.acos(S/G),M.scaleX=G,M.scaleY=O/G,M.skewX=(S*T+C*E)/O,M.skewY=0}else if(T!=0||E!=0){var U=Math.sqrt(T*T+E*E);M.rotation=Math.PI/2-(E>0?Math.acos(-T/U):-Math.acos(T/U)),M.scaleX=O/U,M.scaleY=U,M.skewX=0,M.skewY=(S*T+C*E)/O}return M.rotation=e.Util._getRotation(M.rotation),M}}e.Transform=n;var r="[object Array]",i="[object Number]",o="[object String]",s="[object Boolean]",a=Math.PI/180,l=180/Math.PI,u="#",d="",f="0",p="Konva warning: ",g="Konva error: ",m="rgb(",v={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,132,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,255,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,203],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:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],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,5]},x=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,_=[];const b=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(y){setTimeout(y,60)};e.Util={_isElement(y){return!!(y&&y.nodeType==1)},_isFunction(y){return!!(y&&y.constructor&&y.call&&y.apply)},_isPlainObject(y){return!!y&&y.constructor===Object},_isArray(y){return Object.prototype.toString.call(y)===r},_isNumber(y){return Object.prototype.toString.call(y)===i&&!isNaN(y)&&isFinite(y)},_isString(y){return Object.prototype.toString.call(y)===o},_isBoolean(y){return Object.prototype.toString.call(y)===s},isObject(y){return y instanceof Object},isValidSelector(y){if(typeof y!="string")return!1;var S=y[0];return S==="#"||S==="."||S===S.toUpperCase()},_sign(y){return y===0||y>0?1:-1},requestAnimFrame(y){_.push(y),_.length===1&&b(function(){const S=_;_=[],S.forEach(function(C){C()})})},createCanvasElement(){var y=document.createElement("canvas");try{y.style=y.style||{}}catch{}return y},createImageElement(){return document.createElement("img")},_isInDocument(y){for(;y=y.parentNode;)if(y==document)return!0;return!1},_urlToImage(y,S){var C=e.Util.createImageElement();C.onload=function(){S(C)},C.src=y},_rgbToHex(y,S,C){return((1<<24)+(y<<16)+(S<<8)+C).toString(16).slice(1)},_hexToRgb(y){y=y.replace(u,d);var S=parseInt(y,16);return{r:S>>16&255,g:S>>8&255,b:S&255}},getRandomColor(){for(var y=(Math.random()*16777215<<0).toString(16);y.length<6;)y=f+y;return u+y},getRGB(y){var S;return y in v?(S=v[y],{r:S[0],g:S[1],b:S[2]}):y[0]===u?this._hexToRgb(y.substring(1)):y.substr(0,4)===m?(S=x.exec(y.replace(/ /g,"")),{r:parseInt(S[1],10),g:parseInt(S[2],10),b:parseInt(S[3],10)}):{r:0,g:0,b:0}},colorToRGBA(y){return y=y||"black",e.Util._namedColorToRBA(y)||e.Util._hex3ColorToRGBA(y)||e.Util._hex4ColorToRGBA(y)||e.Util._hex6ColorToRGBA(y)||e.Util._hex8ColorToRGBA(y)||e.Util._rgbColorToRGBA(y)||e.Util._rgbaColorToRGBA(y)||e.Util._hslColorToRGBA(y)},_namedColorToRBA(y){var S=v[y.toLowerCase()];return S?{r:S[0],g:S[1],b:S[2],a:1}:null},_rgbColorToRGBA(y){if(y.indexOf("rgb(")===0){y=y.match(/rgb\(([^)]+)\)/)[1];var S=y.split(/ *, */).map(Number);return{r:S[0],g:S[1],b:S[2],a:1}}},_rgbaColorToRGBA(y){if(y.indexOf("rgba(")===0){y=y.match(/rgba\(([^)]+)\)/)[1];var S=y.split(/ *, */).map((C,T)=>C.slice(-1)==="%"?T===3?parseInt(C)/100:parseInt(C)/100*255:Number(C));return{r:S[0],g:S[1],b:S[2],a:S[3]}}},_hex8ColorToRGBA(y){if(y[0]==="#"&&y.length===9)return{r:parseInt(y.slice(1,3),16),g:parseInt(y.slice(3,5),16),b:parseInt(y.slice(5,7),16),a:parseInt(y.slice(7,9),16)/255}},_hex6ColorToRGBA(y){if(y[0]==="#"&&y.length===7)return{r:parseInt(y.slice(1,3),16),g:parseInt(y.slice(3,5),16),b:parseInt(y.slice(5,7),16),a:1}},_hex4ColorToRGBA(y){if(y[0]==="#"&&y.length===5)return{r:parseInt(y[1]+y[1],16),g:parseInt(y[2]+y[2],16),b:parseInt(y[3]+y[3],16),a:parseInt(y[4]+y[4],16)/255}},_hex3ColorToRGBA(y){if(y[0]==="#"&&y.length===4)return{r:parseInt(y[1]+y[1],16),g:parseInt(y[2]+y[2],16),b:parseInt(y[3]+y[3],16),a:1}},_hslColorToRGBA(y){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(y)){const[S,...C]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(y),T=Number(C[0])/360,E=Number(C[1])/100,P=Number(C[2])/100;let k,O,M;if(E===0)return M=P*255,{r:Math.round(M),g:Math.round(M),b:Math.round(M),a:1};P<.5?k=P*(1+E):k=P+E-P*E;const G=2*P-k,U=[0,0,0];for(let A=0;A<3;A++)O=T+1/3*-(A-1),O<0&&O++,O>1&&O--,6*O<1?M=G+(k-G)*6*O:2*O<1?M=k:3*O<2?M=G+(k-G)*(2/3-O)*6:M=G,U[A]=M*255;return{r:Math.round(U[0]),g:Math.round(U[1]),b:Math.round(U[2]),a:1}}},haveIntersection(y,S){return!(S.x>y.x+y.width||S.x+S.widthy.y+y.height||S.y+S.height1?(k=C,O=T,M=(C-E)*(C-E)+(T-P)*(T-P)):(k=y+U*(C-y),O=S+U*(T-S),M=(k-E)*(k-E)+(O-P)*(O-P))}return[k,O,M]},_getProjectionToLine(y,S,C){var T=e.Util.cloneObject(y),E=Number.MAX_VALUE;return S.forEach(function(P,k){if(!(!C&&k===S.length-1)){var O=S[(k+1)%S.length],M=e.Util._getProjectionToSegment(P.x,P.y,O.x,O.y,y.x,y.y),G=M[0],U=M[1],A=M[2];AS.length){var k=S;S=y,y=k}for(T=0;T{S.width=0,S.height=0})},drawRoundedRectPath(y,S,C,T){let E=0,P=0,k=0,O=0;typeof T=="number"?E=P=k=O=Math.min(T,S/2,C/2):(E=Math.min(T[0]||0,S/2,C/2),P=Math.min(T[1]||0,S/2,C/2),O=Math.min(T[2]||0,S/2,C/2),k=Math.min(T[3]||0,S/2,C/2)),y.moveTo(E,0),y.lineTo(S-P,0),y.arc(S-P,P,P,Math.PI*3/2,0,!1),y.lineTo(S,C-O),y.arc(S-O,C-O,O,0,Math.PI/2,!1),y.lineTo(k,C),y.arc(k,C-k,k,Math.PI/2,Math.PI,!1),y.lineTo(0,E),y.arc(E,E,E,Math.PI,Math.PI*3/2,!1)}}})(Sn);var fn={},nt={},ke={};Object.defineProperty(ke,"__esModule",{value:!0});ke.getComponentValidator=ke.getBooleanValidator=ke.getNumberArrayValidator=ke.getFunctionValidator=ke.getStringOrGradientValidator=ke.getStringValidator=ke.getNumberOrAutoValidator=ke.getNumberOrArrayOfNumbersValidator=ke.getNumberValidator=ke.alphaComponent=ke.RGBComponent=void 0;const $a=rt,Tn=Sn;function Fa(e){return Tn.Util._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||Tn.Util._isBoolean(e)?e:Object.prototype.toString.call(e)}function uSe(e){return e>255?255:e<0?0:Math.round(e)}ke.RGBComponent=uSe;function cSe(e){return e>1?1:e<1e-4?1e-4:e}ke.alphaComponent=cSe;function dSe(){if($a.Konva.isUnminified)return function(e,t){return Tn.Util._isNumber(e)||Tn.Util.warn(Fa(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}ke.getNumberValidator=dSe;function fSe(e){if($a.Konva.isUnminified)return function(t,n){let r=Tn.Util._isNumber(t),i=Tn.Util._isArray(t)&&t.length==e;return!r&&!i&&Tn.Util.warn(Fa(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}ke.getNumberOrArrayOfNumbersValidator=fSe;function hSe(){if($a.Konva.isUnminified)return function(e,t){var n=Tn.Util._isNumber(e),r=e==="auto";return n||r||Tn.Util.warn(Fa(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}ke.getNumberOrAutoValidator=hSe;function pSe(){if($a.Konva.isUnminified)return function(e,t){return Tn.Util._isString(e)||Tn.Util.warn(Fa(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}ke.getStringValidator=pSe;function gSe(){if($a.Konva.isUnminified)return function(e,t){const n=Tn.Util._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||Tn.Util.warn(Fa(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}ke.getStringOrGradientValidator=gSe;function mSe(){if($a.Konva.isUnminified)return function(e,t){return Tn.Util._isFunction(e)||Tn.Util.warn(Fa(e)+' is a not valid value for "'+t+'" attribute. The value should be a function.'),e}}ke.getFunctionValidator=mSe;function ySe(){if($a.Konva.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(Tn.Util._isArray(e)?e.forEach(function(r){Tn.Util._isNumber(r)||Tn.Util.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):Tn.Util.warn(Fa(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}ke.getNumberArrayValidator=ySe;function vSe(){if($a.Konva.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||Tn.Util.warn(Fa(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}ke.getBooleanValidator=vSe;function _Se(e){if($a.Konva.isUnminified)return function(t,n){return t==null||Tn.Util.isObject(t)||Tn.Util.warn(Fa(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}ke.getComponentValidator=_Se;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Factory=void 0;const t=Sn,n=ke;var r="get",i="set";e.Factory={addGetterSetter(o,s,a,l,u){e.Factory.addGetter(o,s,a),e.Factory.addSetter(o,s,l,u),e.Factory.addOverloadedGetterSetter(o,s)},addGetter(o,s,a){var l=r+t.Util._capitalize(s);o.prototype[l]=o.prototype[l]||function(){var u=this.attrs[s];return u===void 0?a:u}},addSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]||e.Factory.overWriteSetter(o,s,a,l)},overWriteSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]=function(d){return a&&d!==void 0&&d!==null&&(d=a.call(this,d,s)),this._setAttr(s,d),l&&l.call(this),this}},addComponentsGetterSetter(o,s,a,l,u){var d=a.length,f=t.Util._capitalize,p=r+f(s),g=i+f(s),m,v;o.prototype[p]=function(){var _={};for(m=0;m{this._setAttr(s+f(S),void 0)}),this._fireChangeEvent(s,b,_),u&&u.call(this),this},e.Factory.addOverloadedGetterSetter(o,s)},addOverloadedGetterSetter(o,s){var a=t.Util._capitalize(s),l=i+a,u=r+a;o.prototype[s]=function(){return arguments.length?(this[l](arguments[0]),this):this[u]()}},addDeprecatedGetterSetter(o,s,a,l){t.Util.error("Adding deprecated "+s);var u=r+t.Util._capitalize(s),d=s+" property is deprecated and will be removed soon. Look at Konva change log for more information.";o.prototype[u]=function(){t.Util.error(d);var f=this.attrs[s];return f===void 0?a:f},e.Factory.addSetter(o,s,l,function(){t.Util.error(d)}),e.Factory.addOverloadedGetterSetter(o,s)},backCompat(o,s){t.Util.each(s,function(a,l){var u=o.prototype[l],d=r+t.Util._capitalize(a),f=i+t.Util._capitalize(a);function p(){u.apply(this,arguments),t.Util.error('"'+a+'" method is deprecated and will be removed soon. Use ""'+l+'" instead.')}o.prototype[a]=p,o.prototype[d]=p,o.prototype[f]=p})},afterSetFilter(){this._filterUpToDate=!1}}})(nt);var Yo={},_a={};Object.defineProperty(_a,"__esModule",{value:!0});_a.HitContext=_a.SceneContext=_a.Context=void 0;const HU=Sn,bSe=rt;function SSe(e){var t=[],n=e.length,r=HU.Util,i,o;for(i=0;itypeof d=="number"?Math.floor(d):d)),o+=wSe+u.join(BO)+xSe)):(o+=a.property,t||(o+=PSe+a.val)),o+=ESe;return o}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=OSe&&n.shift()}reset(){var t=this.getCanvas().getPixelRatio();this.setTransform(1*t,0,0,1*t,0,0)}getCanvas(){return this.canvas}clear(t){var n=this.getCanvas();t?this.clearRect(t.x||0,t.y||0,t.width||0,t.height||0):this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(t){const n=t.attrs.lineCap;n&&this.setAttr("lineCap",n)}_applyOpacity(t){var n=t.getAbsoluteOpacity();n!==1&&this.setAttr("globalAlpha",n)}_applyLineJoin(t){const n=t.attrs.lineJoin;n&&this.setAttr("lineJoin",n)}setAttr(t,n){this._context[t]=n}arc(t,n,r,i,o,s){this._context.arc(t,n,r,i,o,s)}arcTo(t,n,r,i,o){this._context.arcTo(t,n,r,i,o)}beginPath(){this._context.beginPath()}bezierCurveTo(t,n,r,i,o,s){this._context.bezierCurveTo(t,n,r,i,o,s)}clearRect(t,n,r,i){this._context.clearRect(t,n,r,i)}clip(...t){this._context.clip.apply(this._context,t)}closePath(){this._context.closePath()}createImageData(t,n){var r=arguments;if(r.length===2)return this._context.createImageData(t,n);if(r.length===1)return this._context.createImageData(t)}createLinearGradient(t,n,r,i){return this._context.createLinearGradient(t,n,r,i)}createPattern(t,n){return this._context.createPattern(t,n)}createRadialGradient(t,n,r,i,o,s){return this._context.createRadialGradient(t,n,r,i,o,s)}drawImage(t,n,r,i,o,s,a,l,u){var d=arguments,f=this._context;d.length===3?f.drawImage(t,n,r):d.length===5?f.drawImage(t,n,r,i,o):d.length===9&&f.drawImage(t,n,r,i,o,s,a,l,u)}ellipse(t,n,r,i,o,s,a,l){this._context.ellipse(t,n,r,i,o,s,a,l)}isPointInPath(t,n,r,i){return r?this._context.isPointInPath(r,t,n,i):this._context.isPointInPath(t,n,i)}fill(...t){this._context.fill.apply(this._context,t)}fillRect(t,n,r,i){this._context.fillRect(t,n,r,i)}strokeRect(t,n,r,i){this._context.strokeRect(t,n,r,i)}fillText(t,n,r,i){i?this._context.fillText(t,n,r,i):this._context.fillText(t,n,r)}measureText(t){return this._context.measureText(t)}getImageData(t,n,r,i){return this._context.getImageData(t,n,r,i)}lineTo(t,n){this._context.lineTo(t,n)}moveTo(t,n){this._context.moveTo(t,n)}rect(t,n,r,i){this._context.rect(t,n,r,i)}putImageData(t,n,r){this._context.putImageData(t,n,r)}quadraticCurveTo(t,n,r,i){this._context.quadraticCurveTo(t,n,r,i)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,n){this._context.scale(t,n)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(t,n,r,i,o,s){this._context.setTransform(t,n,r,i,o,s)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,n,r,i){this._context.strokeText(t,n,r,i)}transform(t,n,r,i,o,s){this._context.transform(t,n,r,i,o,s)}translate(t,n){this._context.translate(t,n)}_enableTrace(){var t=this,n=UO.length,r=this.setAttr,i,o,s=function(a){var l=t[a],u;t[a]=function(){return o=SSe(Array.prototype.slice.call(arguments,0)),u=l.apply(t,arguments),t._trace({method:a,args:o}),u}};for(i=0;i{i.dragStatus==="dragging"&&(r=!0)}),r},justDragged:!1,get node(){var r;return e.DD._dragElements.forEach(i=>{r=i.node}),r},_dragElements:new Map,_drag(r){const i=[];e.DD._dragElements.forEach((o,s)=>{const{node:a}=o,l=a.getStage();l.setPointersPositions(r),o.pointerId===void 0&&(o.pointerId=n.Util._getFirstPointerId(r));const u=l._changedPointerPositions.find(p=>p.id===o.pointerId);if(u){if(o.dragStatus!=="dragging"){var d=a.dragDistance(),f=Math.max(Math.abs(u.x-o.startPointerPos.x),Math.abs(u.y-o.startPointerPos.y));if(f{o.fire("dragmove",{type:"dragmove",target:o,evt:r},!0)})},_endDragBefore(r){const i=[];e.DD._dragElements.forEach(o=>{const{node:s}=o,a=s.getStage();if(r&&a.setPointersPositions(r),!a._changedPointerPositions.find(d=>d.id===o.pointerId))return;(o.dragStatus==="dragging"||o.dragStatus==="stopped")&&(e.DD.justDragged=!0,t.Konva._mouseListenClick=!1,t.Konva._touchListenClick=!1,t.Konva._pointerListenClick=!1,o.dragStatus="stopped");const u=o.node.getLayer()||o.node instanceof t.Konva.Stage&&o.node;u&&i.indexOf(u)===-1&&i.push(u)}),i.forEach(o=>{o.draw()})},_endDragAfter(r){e.DD._dragElements.forEach((i,o)=>{i.dragStatus==="stopped"&&i.node.fire("dragend",{type:"dragend",target:i.node,evt:r},!0),i.dragStatus!=="dragging"&&e.DD._dragElements.delete(o)})}},t.Konva.isBrowser&&(window.addEventListener("mouseup",e.DD._endDragBefore,!0),window.addEventListener("touchend",e.DD._endDragBefore,!0),window.addEventListener("mousemove",e.DD._drag),window.addEventListener("touchmove",e.DD._drag),window.addEventListener("mouseup",e.DD._endDragAfter,!1),window.addEventListener("touchend",e.DD._endDragAfter,!1))})(aS);Object.defineProperty(fn,"__esModule",{value:!0});fn.Node=void 0;const ct=Sn,Am=nt,N0=Yo,Su=rt,uo=aS,Nn=ke;var _v="absoluteOpacity",L0="allEventListeners",aa="absoluteTransform",zO="absoluteScale",wu="canvas",FSe="Change",BSe="children",USe="konva",o5="listening",VO="mouseenter",jO="mouseleave",GO="set",HO="Shape",bv=" ",WO="stage",sl="transform",zSe="Stage",s5="visible",VSe=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(bv);let jSe=1;class ze{constructor(t){this._id=jSe++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===sl||t===aa)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){var r=this._cache.get(t),i=t===sl||t===aa,o=r===void 0||i&&r.dirty===!0;return o&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const i=n.map(o=>o+"Change.konva").join(bv);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(wu)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===aa&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(wu)){const{scene:t,filter:n,hit:r}=this._cache.get(wu);ct.Util.releaseCanvas(t,n,r),this._cache.delete(wu)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){var n=t||{},r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()}));var i=Math.ceil(n.width||r.width),o=Math.ceil(n.height||r.height),s=n.pixelRatio,a=n.x===void 0?Math.floor(r.x):n.x,l=n.y===void 0?Math.floor(r.y):n.y,u=n.offset||0,d=n.drawBorder||!1,f=n.hitCanvasPixelRatio||1;if(!i||!o){ct.Util.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}i+=u*2+1,o+=u*2+1,a-=u,l-=u;var p=new N0.SceneCanvas({pixelRatio:s,width:i,height:o}),g=new N0.SceneCanvas({pixelRatio:s,width:0,height:0,willReadFrequently:!0}),m=new N0.HitCanvas({pixelRatio:f,width:i,height:o}),v=p.getContext(),x=m.getContext();return m.isCache=!0,p.isCache=!0,this._cache.delete(wu),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(p.getContext()._context.imageSmoothingEnabled=!1,g.getContext()._context.imageSmoothingEnabled=!1),v.save(),x.save(),v.translate(-a,-l),x.translate(-a,-l),this._isUnderCache=!0,this._clearSelfAndDescendantCache(_v),this._clearSelfAndDescendantCache(zO),this.drawScene(p,this),this.drawHit(m,this),this._isUnderCache=!1,v.restore(),x.restore(),d&&(v.save(),v.beginPath(),v.rect(0,0,i,o),v.closePath(),v.setAttr("strokeStyle","red"),v.setAttr("lineWidth",5),v.stroke(),v.restore()),this._cache.set(wu,{scene:p,filter:g,hit:m,x:a,y:l}),this._requestDraw(),this}isCached(){return this._cache.has(wu)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){var r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}],i,o,s,a,l=this.getAbsoluteTransform(n);return r.forEach(function(u){var d=l.point(u);i===void 0&&(i=s=d.x,o=a=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),s=Math.max(s,d.x),a=Math.max(a,d.y)}),{x:i,y:o,width:s-i,height:a-o}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);var r=this._getCachedSceneCanvas(),i=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/i,r.height/i),t.restore()}_drawCachedHitCanvas(t){var n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){var t=this.filters(),n=this._getCanvasCache(),r=n.scene,i=n.filter,o=i.getContext(),s,a,l,u;if(t){if(!this._filterUpToDate){var d=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(s=t.length,o.clear(),o.drawImage(r._canvas,0,0,r.getWidth()/d,r.getHeight()/d),a=o.getImageData(0,0,i.getWidth(),i.getHeight()),l=0;l{var n,r;if(!t)return this;for(n in t)n!==BSe&&(r=GO+ct.Util._capitalize(n),ct.Util._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(o5,this._isListening)}_isListening(t){if(!this.listening())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isListening(t):!0}isVisible(){return this._getCache(s5,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);var r=this.getLayer(),i=!1;uo.DD._dragElements.forEach(s=>{s.dragStatus==="dragging"&&(s.node.nodeType==="Stage"||s.node.getLayer()===r)&&(i=!0)});var o=!n&&!Su.Konva.hitOnDragEnabled&&i;return this.isListening()&&this.isVisible()&&!o}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){var t=this.getDepth(),n=this,r=0,i,o,s,a;function l(u){for(i=[],o=u.length,s=0;s0&&i[0].getDepth()<=t&&l(i)}return n.nodeType!==zSe&&l(n.getStage().getChildren()),r}getDepth(){for(var t=0,n=this.parent;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(sl),this._clearSelfAndDescendantCache(aa)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){if(!this.getStage())return null;var t=this.getStage().getPointerPosition();if(!t)return null;var n=this.getAbsoluteTransform().copy();return n.invert(),n.point(t)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);var i=this.getAbsoluteTransform(t).getMatrix(),o=new ct.Transform,s=this.offset();return o.m=i.slice(),o.translate(s.x,s.y),o.getTranslation()}setAbsolutePosition(t){var n=this._clearTransform();this.attrs.x=n.x,this.attrs.y=n.y,delete n.x,delete n.y,this._clearCache(sl);var r=this._getAbsoluteTransform().copy();return r.invert(),r.translate(t.x,t.y),t={x:this.attrs.x+r.getTranslation().x,y:this.attrs.y+r.getTranslation().y},this._setTransform(n),this.setPosition({x:t.x,y:t.y}),this._clearCache(sl),this._clearSelfAndDescendantCache(aa),this}_setTransform(t){var n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){var t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){var n=t.x,r=t.y,i=this.x(),o=this.y();return n!==void 0&&(i+=n),r!==void 0&&(o+=r),this.setPosition({x:i,y:o}),this}_eachAncestorReverse(t,n){var r=[],i=this.getParent(),o,s;if(!(n&&n._id===this._id)){for(r.unshift(this);i&&(!n||i._id!==n._id);)r.unshift(i),i=i.parent;for(o=r.length,s=0;s0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return ct.Util.warn("Node has no parent. moveToBottom function is ignored."),!1;var t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return ct.Util.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&ct.Util.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");var n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(_v,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){var t=this.opacity(),n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){var t={},n=this.getAttrs(),r,i,o,s,a;t.attrs={};for(r in n)i=n[r],a=ct.Util.isObject(i)&&!ct.Util._isPlainObject(i)&&!ct.Util._isArray(i),!a&&(o=typeof this[r]=="function"&&this[r],delete n[r],s=o?o.call(this):null,n[r]=i,s!==i&&(t.attrs[r]=i));return t.className=this.getClassName(),ct.Util._prepareToStringify(t)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){var i=[];n&&this._isMatch(t)&&i.push(this);for(var o=this.parent;o;){if(o===r)return i;o._isMatch(t)&&i.push(o),o=o.parent}return i}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);var n=t.replace(/ /g,"").split(","),r=n.length,i,o;for(i=0;i{try{const i=t==null?void 0:t.callback;i&&delete t.callback,ct.Util._urlToImage(this.toDataURL(t),function(o){n(o),i==null||i(o)})}catch(i){r(i)}})}toBlob(t){return new Promise((n,r)=>{try{const i=t==null?void 0:t.callback;i&&delete t.callback,this.toCanvas(t).toBlob(o=>{n(o),i==null||i(o)})}catch(i){r(i)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():Su.Konva.dragDistance}_off(t,n,r){var i=this.eventListeners[t],o,s,a;for(o=0;o=0;if(r&&!this.isDragging()){var i=!1;uo.DD._dragElements.forEach(o=>{this.isAncestorOf(o.node)&&(i=!0)}),i||this._createDragElement(t)}})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{this._dragCleanup();var t=this.getStage();if(!t)return;const n=uo.DD._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&uo.DD._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return ct.Util.haveIntersection(r,this.getClientRect())}static create(t,n){return ct.Util._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=ze.prototype.getClassName.call(t),i=t.children,o,s,a;n&&(t.attrs.container=n),Su.Konva[r]||(ct.Util.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=Su.Konva[r];if(o=new l(t.attrs),i)for(s=i.length,a=0;a0}removeChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.destroy()}),this.children=[],this._requestDraw(),this}add(...t){if(t.length===0)return this;if(t.length>1){for(var n=0;n0?n[0]:void 0}_generalFind(t,n){var r=[];return this._descendants(i=>{const o=i._isMatch(t);return o&&r.push(i),!!(o&&n)}),r}_descendants(t){let n=!1;const r=this.getChildren();for(const i of r){if(n=t(i),n)return!0;if(i.hasChildren()&&(n=i._descendants(t),n))return!0}return!1}toObject(){var t=Dx.Node.prototype.toObject.call(this);return t.children=[],this.getChildren().forEach(n=>{t.children.push(n.toObject())}),t}isAncestorOf(t){for(var n=t.getParent();n;){if(n._id===this._id)return!0;n=n.getParent()}return!1}clone(t){var n=Dx.Node.prototype.clone.call(this,t);return this.getChildren().forEach(function(r){n.add(r.clone())}),n}getAllIntersections(t){var n=[];return this.find("Shape").forEach(function(r){r.isVisible()&&r.intersects(t)&&n.push(r)}),n}_clearSelfAndDescendantCache(t){var n;super._clearSelfAndDescendantCache(t),!this.isCached()&&((n=this.children)===null||n===void 0||n.forEach(function(r){r._clearSelfAndDescendantCache(t)}))}_setChildrenIndices(){var t;(t=this.children)===null||t===void 0||t.forEach(function(n,r){n.index=r}),this._requestDraw()}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas(),o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.scene,l=i&&i.isCache;if(!this.isVisible()&&!l)return this;if(a){o.save();var u=this.getAbsoluteTransform(n).getMatrix();o.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this._drawCachedSceneCanvas(o),o.restore()}else this._drawChildren("drawScene",i,n);return this}drawHit(t,n){if(!this.shouldDrawHit(n))return this;var r=this.getLayer(),i=t||r&&r.hitCanvas,o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.hit;if(a){o.save();var l=this.getAbsoluteTransform(n).getMatrix();o.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawCachedHitCanvas(o),o.restore()}else this._drawChildren("drawHit",i,n);return this}_drawChildren(t,n,r){var i,o=n&&n.getContext(),s=this.clipWidth(),a=this.clipHeight(),l=this.clipFunc(),u=s&&a||l;const d=r===this;if(u){o.save();var f=this.getAbsoluteTransform(r),p=f.getMatrix();o.transform(p[0],p[1],p[2],p[3],p[4],p[5]),o.beginPath();let x;if(l)x=l.call(this,o,this);else{var g=this.clipX(),m=this.clipY();o.rect(g,m,s,a)}o.clip.apply(o,x),p=f.copy().invert().getMatrix(),o.transform(p[0],p[1],p[2],p[3],p[4],p[5])}var v=!d&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";v&&(o.save(),o._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(x){x[t](n,r)}),v&&o.restore(),u&&o.restore()}getClientRect(t){var n;t=t||{};var r=t.skipTransform,i=t.relativeTo,o,s,a,l,u={x:1/0,y:1/0,width:0,height:0},d=this;(n=this.children)===null||n===void 0||n.forEach(function(v){if(v.visible()){var x=v.getClientRect({relativeTo:d,skipShadow:t.skipShadow,skipStroke:t.skipStroke});x.width===0&&x.height===0||(o===void 0?(o=x.x,s=x.y,a=x.x+x.width,l=x.y+x.height):(o=Math.min(o,x.x),s=Math.min(s,x.y),a=Math.max(a,x.x+x.width),l=Math.max(l,x.y+x.height)))}});for(var f=this.find("Shape"),p=!1,g=0;gle.indexOf("pointer")>=0?"pointer":le.indexOf("touch")>=0?"touch":"mouse",Z=le=>{const W=q(le);if(W==="pointer")return i.Konva.pointerEventsEnabled&&j.pointer;if(W==="touch")return j.touch;if(W==="mouse")return j.mouse};function ee(le={}){return(le.clipFunc||le.clipWidth||le.clipHeight)&&t.Util.warn("Stage does not support clipping. Please use clip for Layers or Groups."),le}const ie="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);";e.stages=[];class se extends r.Container{constructor(W){super(ee(W)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),e.stages.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{ee(this.attrs)}),this._checkVisibility()}_validateAdd(W){const ne=W.getType()==="Layer",fe=W.getType()==="FastLayer";ne||fe||t.Util.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const W=this.visible()?"":"none";this.content.style.display=W}setContainer(W){if(typeof W===d){if(W.charAt(0)==="."){var ne=W.slice(1);W=document.getElementsByClassName(ne)[0]}else{var fe;W.charAt(0)!=="#"?fe=W:fe=W.slice(1),W=document.getElementById(fe)}if(!W)throw"Can not find container in document with id "+fe}return this._setAttr("container",W),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),W.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var W=this.children,ne=W.length,fe;for(fe=0;fe-1&&e.stages.splice(ne,1),t.Util.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const W=this._pointerPositions[0]||this._changedPointerPositions[0];return W?{x:W.x,y:W.y}:(t.Util.warn(ie),null)}_getPointerById(W){return this._pointerPositions.find(ne=>ne.id===W)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(W){W=W||{},W.x=W.x||0,W.y=W.y||0,W.width=W.width||this.width(),W.height=W.height||this.height();var ne=new o.SceneCanvas({width:W.width,height:W.height,pixelRatio:W.pixelRatio||1}),fe=ne.getContext()._context,pe=this.children;return(W.x||W.y)&&fe.translate(-1*W.x,-1*W.y),pe.forEach(function(ve){if(ve.isVisible()){var ye=ve._toKonvaCanvas(W);fe.drawImage(ye._canvas,W.x,W.y,ye.getWidth()/ye.getPixelRatio(),ye.getHeight()/ye.getPixelRatio())}}),ne}getIntersection(W){if(!W)return null;var ne=this.children,fe=ne.length,pe=fe-1,ve;for(ve=pe;ve>=0;ve--){const ye=ne[ve].getIntersection(W);if(ye)return ye}return null}_resizeDOM(){var W=this.width(),ne=this.height();this.content&&(this.content.style.width=W+f,this.content.style.height=ne+f),this.bufferCanvas.setSize(W,ne),this.bufferHitCanvas.setSize(W,ne),this.children.forEach(fe=>{fe.setSize({width:W,height:ne}),fe.draw()})}add(W,...ne){if(arguments.length>1){for(var fe=0;feD&&t.Util.warn("The stage has "+pe+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),W.setSize({width:this.width(),height:this.height()}),W.draw(),i.Konva.isBrowser&&this.content.appendChild(W.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(W){return l.hasPointerCapture(W,this)}setPointerCapture(W){l.setPointerCapture(W,this)}releaseCapture(W){l.releaseCapture(W,this)}getLayers(){return this.children}_bindContentEvents(){i.Konva.isBrowser&&V.forEach(([W,ne])=>{this.content.addEventListener(W,fe=>{this[ne](fe)},{passive:!1})})}_pointerenter(W){this.setPointersPositions(W);const ne=Z(W.type);this._fire(ne.pointerenter,{evt:W,target:this,currentTarget:this})}_pointerover(W){this.setPointersPositions(W);const ne=Z(W.type);this._fire(ne.pointerover,{evt:W,target:this,currentTarget:this})}_getTargetShape(W){let ne=this[W+"targetShape"];return ne&&!ne.getStage()&&(ne=null),ne}_pointerleave(W){const ne=Z(W.type),fe=q(W.type);if(ne){this.setPointersPositions(W);var pe=this._getTargetShape(fe),ve=!s.DD.isDragging||i.Konva.hitOnDragEnabled;pe&&ve?(pe._fireAndBubble(ne.pointerout,{evt:W}),pe._fireAndBubble(ne.pointerleave,{evt:W}),this._fire(ne.pointerleave,{evt:W,target:this,currentTarget:this}),this[fe+"targetShape"]=null):ve&&(this._fire(ne.pointerleave,{evt:W,target:this,currentTarget:this}),this._fire(ne.pointerout,{evt:W,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(W){const ne=Z(W.type),fe=q(W.type);if(ne){this.setPointersPositions(W);var pe=!1;this._changedPointerPositions.forEach(ve=>{var ye=this.getIntersection(ve);if(s.DD.justDragged=!1,i.Konva["_"+fe+"ListenClick"]=!0,!(ye&&ye.isListening()))return;i.Konva.capturePointerEventsEnabled&&ye.setPointerCapture(ve.id),this[fe+"ClickStartShape"]=ye,ye._fireAndBubble(ne.pointerdown,{evt:W,pointerId:ve.id}),pe=!0;const Me=W.type.indexOf("touch")>=0;ye.preventDefault()&&W.cancelable&&Me&&W.preventDefault()}),pe||this._fire(ne.pointerdown,{evt:W,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(W){const ne=Z(W.type),fe=q(W.type);if(!ne)return;s.DD.isDragging&&s.DD.node.preventDefault()&&W.cancelable&&W.preventDefault(),this.setPointersPositions(W);var pe=!s.DD.isDragging||i.Konva.hitOnDragEnabled;if(!pe)return;var ve={};let ye=!1;var We=this._getTargetShape(fe);this._changedPointerPositions.forEach(Me=>{const Ee=l.getCapturedShape(Me.id)||this.getIntersection(Me),lt=Me.id,_e={evt:W,pointerId:lt};var jt=We!==Ee;if(jt&&We&&(We._fireAndBubble(ne.pointerout,Object.assign({},_e),Ee),We._fireAndBubble(ne.pointerleave,Object.assign({},_e),Ee)),Ee){if(ve[Ee._id])return;ve[Ee._id]=!0}Ee&&Ee.isListening()?(ye=!0,jt&&(Ee._fireAndBubble(ne.pointerover,Object.assign({},_e),We),Ee._fireAndBubble(ne.pointerenter,Object.assign({},_e),We),this[fe+"targetShape"]=Ee),Ee._fireAndBubble(ne.pointermove,Object.assign({},_e))):We&&(this._fire(ne.pointerover,{evt:W,target:this,currentTarget:this,pointerId:lt}),this[fe+"targetShape"]=null)}),ye||this._fire(ne.pointermove,{evt:W,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(W){const ne=Z(W.type),fe=q(W.type);if(!ne)return;this.setPointersPositions(W);const pe=this[fe+"ClickStartShape"],ve=this[fe+"ClickEndShape"];var ye={};let We=!1;this._changedPointerPositions.forEach(Me=>{const Ee=l.getCapturedShape(Me.id)||this.getIntersection(Me);if(Ee){if(Ee.releaseCapture(Me.id),ye[Ee._id])return;ye[Ee._id]=!0}const lt=Me.id,_e={evt:W,pointerId:lt};let jt=!1;i.Konva["_"+fe+"InDblClickWindow"]?(jt=!0,clearTimeout(this[fe+"DblTimeout"])):s.DD.justDragged||(i.Konva["_"+fe+"InDblClickWindow"]=!0,clearTimeout(this[fe+"DblTimeout"])),this[fe+"DblTimeout"]=setTimeout(function(){i.Konva["_"+fe+"InDblClickWindow"]=!1},i.Konva.dblClickWindow),Ee&&Ee.isListening()?(We=!0,this[fe+"ClickEndShape"]=Ee,Ee._fireAndBubble(ne.pointerup,Object.assign({},_e)),i.Konva["_"+fe+"ListenClick"]&&pe&&pe===Ee&&(Ee._fireAndBubble(ne.pointerclick,Object.assign({},_e)),jt&&ve&&ve===Ee&&Ee._fireAndBubble(ne.pointerdblclick,Object.assign({},_e)))):(this[fe+"ClickEndShape"]=null,i.Konva["_"+fe+"ListenClick"]&&this._fire(ne.pointerclick,{evt:W,target:this,currentTarget:this,pointerId:lt}),jt&&this._fire(ne.pointerdblclick,{evt:W,target:this,currentTarget:this,pointerId:lt}))}),We||this._fire(ne.pointerup,{evt:W,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),i.Konva["_"+fe+"ListenClick"]=!1,W.cancelable&&fe!=="touch"&&W.preventDefault()}_contextmenu(W){this.setPointersPositions(W);var ne=this.getIntersection(this.getPointerPosition());ne&&ne.isListening()?ne._fireAndBubble(G,{evt:W}):this._fire(G,{evt:W,target:this,currentTarget:this})}_wheel(W){this.setPointersPositions(W);var ne=this.getIntersection(this.getPointerPosition());ne&&ne.isListening()?ne._fireAndBubble(B,{evt:W}):this._fire(B,{evt:W,target:this,currentTarget:this})}_pointercancel(W){this.setPointersPositions(W);const ne=l.getCapturedShape(W.pointerId)||this.getIntersection(this.getPointerPosition());ne&&ne._fireAndBubble(C,l.createEvent(W)),l.releaseCapture(W.pointerId)}_lostpointercapture(W){l.releaseCapture(W.pointerId)}setPointersPositions(W){var ne=this._getContentPosition(),fe=null,pe=null;W=W||window.event,W.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(W.touches,ve=>{this._pointerPositions.push({id:ve.identifier,x:(ve.clientX-ne.left)/ne.scaleX,y:(ve.clientY-ne.top)/ne.scaleY})}),Array.prototype.forEach.call(W.changedTouches||W.touches,ve=>{this._changedPointerPositions.push({id:ve.identifier,x:(ve.clientX-ne.left)/ne.scaleX,y:(ve.clientY-ne.top)/ne.scaleY})})):(fe=(W.clientX-ne.left)/ne.scaleX,pe=(W.clientY-ne.top)/ne.scaleY,this.pointerPos={x:fe,y:pe},this._pointerPositions=[{x:fe,y:pe,id:t.Util._getFirstPointerId(W)}],this._changedPointerPositions=[{x:fe,y:pe,id:t.Util._getFirstPointerId(W)}])}_setPointerPosition(W){t.Util.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(W)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var W=this.content.getBoundingClientRect();return{top:W.top,left:W.left,scaleX:W.width/this.content.clientWidth||1,scaleY:W.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new o.SceneCanvas({width:this.width(),height:this.height()}),this.bufferHitCanvas=new o.HitCanvas({pixelRatio:1,width:this.width(),height:this.height()}),!!i.Konva.isBrowser){var W=this.container();if(!W)throw"Stage has no container. A container is required.";W.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),W.appendChild(this.content),this._resizeDOM()}}cache(){return t.Util.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(W){W.batchDraw()}),this}}e.Stage=se,se.prototype.nodeType=u,(0,a._registerNode)(se),n.Factory.addGetterSetter(se,"container")})(KU);var Pm={},rr={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.shapes=void 0;const t=rt,n=Sn,r=nt,i=fn,o=ke,s=rt,a=Vi;var l="hasShadow",u="shadowRGBA",d="patternImage",f="linearGradient",p="radialGradient";let g;function m(){return g||(g=n.Util.createCanvasElement().getContext("2d"),g)}e.shapes={};function v(k){const O=this.attrs.fillRule;O?k.fill(O):k.fill()}function x(k){k.stroke()}function _(k){k.fill()}function b(k){k.stroke()}function y(){this._clearCache(l)}function S(){this._clearCache(u)}function C(){this._clearCache(d)}function T(){this._clearCache(f)}function E(){this._clearCache(p)}class P extends i.Node{constructor(O){super(O);let M;for(;M=n.Util.getRandomColor(),!(M&&!(M in e.shapes)););this.colorKey=M,e.shapes[M]=this}getContext(){return n.Util.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return n.Util.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(l,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(d,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var O=m();const M=O.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(M&&M.setTransform){const G=new n.Transform;G.translate(this.fillPatternX(),this.fillPatternY()),G.rotate(t.Konva.getAngle(this.fillPatternRotation())),G.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),G.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const U=G.getMatrix(),A=typeof DOMMatrix>"u"?{a:U[0],b:U[1],c:U[2],d:U[3],e:U[4],f:U[5]}:new DOMMatrix(U);M.setTransform(A)}return M}}_getLinearGradient(){return this._getCache(f,this.__getLinearGradient)}__getLinearGradient(){var O=this.fillLinearGradientColorStops();if(O){for(var M=m(),G=this.fillLinearGradientStartPoint(),U=this.fillLinearGradientEndPoint(),A=M.createLinearGradient(G.x,G.y,U.x,U.y),N=0;Nthis.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const O=this.hitStrokeWidth();return O==="auto"?this.hasStroke():this.strokeEnabled()&&!!O}intersects(O){var M=this.getStage(),G=M.bufferHitCanvas,U;return G.getContext().clear(),this.drawHit(G,null,!0),U=G.context.getImageData(Math.round(O.x),Math.round(O.y),1,1).data,U[3]>0}destroy(){return i.Node.prototype.destroy.call(this),delete e.shapes[this.colorKey],delete this.colorKey,this}_useBufferCanvas(O){var M;if(!this.getStage()||!((M=this.attrs.perfectDrawEnabled)!==null&&M!==void 0?M:!0))return!1;const U=O||this.hasFill(),A=this.hasStroke(),N=this.getAbsoluteOpacity()!==1;if(U&&A&&N)return!0;const F=this.hasShadow(),B=this.shadowForStrokeEnabled();return!!(U&&A&&F&&B)}setStrokeHitEnabled(O){n.Util.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),O?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var O=this.size();return{x:this._centroid?-O.width/2:0,y:this._centroid?-O.height/2:0,width:O.width,height:O.height}}getClientRect(O={}){const M=O.skipTransform,G=O.relativeTo,U=this.getSelfRect(),N=!O.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,F=U.width+N,B=U.height+N,D=!O.skipShadow&&this.hasShadow(),V=D?this.shadowOffsetX():0,j=D?this.shadowOffsetY():0,q=F+Math.abs(V),Z=B+Math.abs(j),ee=D&&this.shadowBlur()||0,ie=q+ee*2,se=Z+ee*2,le={width:ie,height:se,x:-(N/2+ee)+Math.min(V,0)+U.x,y:-(N/2+ee)+Math.min(j,0)+U.y};return M?le:this._transformedRect(le,G)}drawScene(O,M){var G=this.getLayer(),U=O||G.getCanvas(),A=U.getContext(),N=this._getCanvasCache(),F=this.getSceneFunc(),B=this.hasShadow(),D,V,j,q=U.isCache,Z=M===this;if(!this.isVisible()&&!Z)return this;if(N){A.save();var ee=this.getAbsoluteTransform(M).getMatrix();return A.transform(ee[0],ee[1],ee[2],ee[3],ee[4],ee[5]),this._drawCachedSceneCanvas(A),A.restore(),this}if(!F)return this;if(A.save(),this._useBufferCanvas()&&!q){D=this.getStage(),V=D.bufferCanvas,j=V.getContext(),j.clear(),j.save(),j._applyLineJoin(this);var ie=this.getAbsoluteTransform(M).getMatrix();j.transform(ie[0],ie[1],ie[2],ie[3],ie[4],ie[5]),F.call(this,j,this),j.restore();var se=V.pixelRatio;B&&A._applyShadow(this),A._applyOpacity(this),A._applyGlobalCompositeOperation(this),A.drawImage(V._canvas,0,0,V.width/se,V.height/se)}else{if(A._applyLineJoin(this),!Z){var ie=this.getAbsoluteTransform(M).getMatrix();A.transform(ie[0],ie[1],ie[2],ie[3],ie[4],ie[5]),A._applyOpacity(this),A._applyGlobalCompositeOperation(this)}B&&A._applyShadow(this),F.call(this,A,this)}return A.restore(),this}drawHit(O,M,G=!1){if(!this.shouldDrawHit(M,G))return this;var U=this.getLayer(),A=O||U.hitCanvas,N=A&&A.getContext(),F=this.hitFunc()||this.sceneFunc(),B=this._getCanvasCache(),D=B&&B.hit;if(this.colorKey||n.Util.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),D){N.save();var V=this.getAbsoluteTransform(M).getMatrix();return N.transform(V[0],V[1],V[2],V[3],V[4],V[5]),this._drawCachedHitCanvas(N),N.restore(),this}if(!F)return this;if(N.save(),N._applyLineJoin(this),!(this===M)){var q=this.getAbsoluteTransform(M).getMatrix();N.transform(q[0],q[1],q[2],q[3],q[4],q[5])}return F.call(this,N,this),N.restore(),this}drawHitFromCache(O=0){var M=this._getCanvasCache(),G=this._getCachedSceneCanvas(),U=M.hit,A=U.getContext(),N=U.getWidth(),F=U.getHeight(),B,D,V,j,q,Z;A.clear(),A.drawImage(G._canvas,0,0,N,F);try{for(B=A.getImageData(0,0,N,F),D=B.data,V=D.length,j=n.Util._hexToRgb(this.colorKey),q=0;qO?(D[q]=j.r,D[q+1]=j.g,D[q+2]=j.b,D[q+3]=255):D[q+3]=0;A.putImageData(B,0,0)}catch(ee){n.Util.error("Unable to draw hit graph from cached scene canvas. "+ee.message)}return this}hasPointerCapture(O){return a.hasPointerCapture(O,this)}setPointerCapture(O){a.setPointerCapture(O,this)}releaseCapture(O){a.releaseCapture(O,this)}}e.Shape=P,P.prototype._fillFunc=v,P.prototype._strokeFunc=x,P.prototype._fillFuncHit=_,P.prototype._strokeFuncHit=b,P.prototype._centroid=!1,P.prototype.nodeType="Shape",(0,s._registerNode)(P),P.prototype.eventListeners={},P.prototype.on.call(P.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",y),P.prototype.on.call(P.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",S),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",C),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",T),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",E),r.Factory.addGetterSetter(P,"stroke",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(P,"strokeWidth",2,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillAfterStrokeEnabled",!1),r.Factory.addGetterSetter(P,"hitStrokeWidth","auto",(0,o.getNumberOrAutoValidator)()),r.Factory.addGetterSetter(P,"strokeHitEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"perfectDrawEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"shadowForStrokeEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"lineJoin"),r.Factory.addGetterSetter(P,"lineCap"),r.Factory.addGetterSetter(P,"sceneFunc"),r.Factory.addGetterSetter(P,"hitFunc"),r.Factory.addGetterSetter(P,"dash"),r.Factory.addGetterSetter(P,"dashOffset",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowColor",void 0,(0,o.getStringValidator)()),r.Factory.addGetterSetter(P,"shadowBlur",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowOpacity",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"shadowOffset",["x","y"]),r.Factory.addGetterSetter(P,"shadowOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternImage"),r.Factory.addGetterSetter(P,"fill",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(P,"fillPatternX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillLinearGradientColorStops"),r.Factory.addGetterSetter(P,"strokeLinearGradientColorStops"),r.Factory.addGetterSetter(P,"fillRadialGradientStartRadius",0),r.Factory.addGetterSetter(P,"fillRadialGradientEndRadius",0),r.Factory.addGetterSetter(P,"fillRadialGradientColorStops"),r.Factory.addGetterSetter(P,"fillPatternRepeat","repeat"),r.Factory.addGetterSetter(P,"fillEnabled",!0),r.Factory.addGetterSetter(P,"strokeEnabled",!0),r.Factory.addGetterSetter(P,"shadowEnabled",!0),r.Factory.addGetterSetter(P,"dashEnabled",!0),r.Factory.addGetterSetter(P,"strokeScaleEnabled",!0),r.Factory.addGetterSetter(P,"fillPriority","color"),r.Factory.addComponentsGetterSetter(P,"fillPatternOffset",["x","y"]),r.Factory.addGetterSetter(P,"fillPatternOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"fillPatternScale",["x","y"]),r.Factory.addGetterSetter(P,"fillPatternScaleX",1,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternScaleY",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"fillLinearGradientStartPoint",["x","y"]),r.Factory.addComponentsGetterSetter(P,"strokeLinearGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillLinearGradientStartPointX",0),r.Factory.addGetterSetter(P,"strokeLinearGradientStartPointX",0),r.Factory.addGetterSetter(P,"fillLinearGradientStartPointY",0),r.Factory.addGetterSetter(P,"strokeLinearGradientStartPointY",0),r.Factory.addComponentsGetterSetter(P,"fillLinearGradientEndPoint",["x","y"]),r.Factory.addComponentsGetterSetter(P,"strokeLinearGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillLinearGradientEndPointX",0),r.Factory.addGetterSetter(P,"strokeLinearGradientEndPointX",0),r.Factory.addGetterSetter(P,"fillLinearGradientEndPointY",0),r.Factory.addGetterSetter(P,"strokeLinearGradientEndPointY",0),r.Factory.addComponentsGetterSetter(P,"fillRadialGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillRadialGradientStartPointX",0),r.Factory.addGetterSetter(P,"fillRadialGradientStartPointY",0),r.Factory.addComponentsGetterSetter(P,"fillRadialGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillRadialGradientEndPointX",0),r.Factory.addGetterSetter(P,"fillRadialGradientEndPointY",0),r.Factory.addGetterSetter(P,"fillPatternRotation",0),r.Factory.addGetterSetter(P,"fillRule",void 0,(0,o.getStringValidator)()),r.Factory.backCompat(P,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"})})(rr);Object.defineProperty(Pm,"__esModule",{value:!0});Pm.Layer=void 0;const ra=Sn,$x=vc,hd=fn,vE=nt,qO=Yo,KSe=ke,XSe=rr,YSe=rt;var QSe="#",ZSe="beforeDraw",JSe="draw",QU=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],e2e=QU.length;class Vf extends $x.Container{constructor(t){super(t),this.canvas=new qO.SceneCanvas,this.hitCanvas=new qO.HitCanvas({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(t){return this.getContext().clear(t),this.getHitCanvas().getContext().clear(t),this}setZIndex(t){super.setZIndex(t);var n=this.getStage();return n&&n.content&&(n.content.removeChild(this.getNativeCanvasElement()),t{this.draw(),this._waitingForDraw=!1})),this}getIntersection(t){if(!this.isListening()||!this.isVisible())return null;for(var n=1,r=!1;;){for(let i=0;i0)return{antialiased:!0};return{}}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas();return this._fire(ZSe,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),$x.Container.prototype.drawScene.call(this,i,n),this._fire(JSe,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),$x.Container.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){ra.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return ra.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!(!this.parent||!this.parent.content)){var t=this.parent,n=!!this.hitCanvas._canvas.parentNode;n?t.content.removeChild(this.hitCanvas._canvas):t.content.appendChild(this.hitCanvas._canvas)}}destroy(){return ra.Util.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}Pm.Layer=Vf;Vf.prototype.nodeType="Layer";(0,YSe._registerNode)(Vf);vE.Factory.addGetterSetter(Vf,"imageSmoothingEnabled",!0);vE.Factory.addGetterSetter(Vf,"clearBeforeDraw",!0);vE.Factory.addGetterSetter(Vf,"hitGraphEnabled",!0,(0,KSe.getBooleanValidator)());var uS={};Object.defineProperty(uS,"__esModule",{value:!0});uS.FastLayer=void 0;const t2e=Sn,n2e=Pm,r2e=rt;class _E extends n2e.Layer{constructor(t){super(t),this.listening(!1),t2e.Util.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}uS.FastLayer=_E;_E.prototype.nodeType="FastLayer";(0,r2e._registerNode)(_E);var jf={};Object.defineProperty(jf,"__esModule",{value:!0});jf.Group=void 0;const i2e=Sn,o2e=vc,s2e=rt;class bE extends o2e.Container{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&i2e.Util.throw("You may only add groups and shapes to groups.")}}jf.Group=bE;bE.prototype.nodeType="Group";(0,s2e._registerNode)(bE);var Gf={};Object.defineProperty(Gf,"__esModule",{value:!0});Gf.Animation=void 0;const Fx=rt,KO=Sn;var Bx=function(){return Fx.glob.performance&&Fx.glob.performance.now?function(){return Fx.glob.performance.now()}:function(){return new Date().getTime()}}();class ws{constructor(t,n){this.id=ws.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:Bx(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){var n=[];return t?t.length>0?n=t:n=[t]:n=[],this.layers=n,this}getLayers(){return this.layers}addLayer(t){var n=this.layers,r=n.length,i;for(i=0;ithis.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():m<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=m,this.update())}getTime(){return this._time}setPosition(m){this.prevPos=this._pos,this.propFunc(m),this._pos=m}getPosition(m){return m===void 0&&(m=this._time),this.func(m,this.begin,this._change,this.duration)}play(){this.state=a,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=l,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(m){this.pause(),this._time=m,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){var m=this.getTimer()-this._startTime;this.state===a?this.setTime(m):this.state===l&&this.setTime(this.duration-m)}pause(){this.state=s,this.fire("onPause")}getTimer(){return new Date().getTime()}}class p{constructor(m){var v=this,x=m.node,_=x._id,b,y=m.easing||e.Easings.Linear,S=!!m.yoyo,C;typeof m.duration>"u"?b=.3:m.duration===0?b=.001:b=m.duration,this.node=x,this._id=u++;var T=x.getLayer()||(x instanceof i.Konva.Stage?x.getLayers():null);T||t.Util.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new n.Animation(function(){v.tween.onEnterFrame()},T),this.tween=new f(C,function(E){v._tweenFunc(E)},y,0,1,b*1e3,S),this._addListeners(),p.attrs[_]||(p.attrs[_]={}),p.attrs[_][this._id]||(p.attrs[_][this._id]={}),p.tweens[_]||(p.tweens[_]={});for(C in m)o[C]===void 0&&this._addAttr(C,m[C]);this.reset(),this.onFinish=m.onFinish,this.onReset=m.onReset,this.onUpdate=m.onUpdate}_addAttr(m,v){var x=this.node,_=x._id,b,y,S,C,T,E,P,k;if(S=p.tweens[_][m],S&&delete p.attrs[_][S][m],b=x.getAttr(m),t.Util._isArray(v))if(y=[],T=Math.max(v.length,b.length),m==="points"&&v.length!==b.length&&(v.length>b.length?(P=b,b=t.Util._prepareArrayForTween(b,v,x.closed())):(E=v,v=t.Util._prepareArrayForTween(v,b,x.closed()))),m.indexOf("fill")===0)for(C=0;C{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var m=this.node,v=p.attrs[m._id][this._id];v.points&&v.points.trueEnd&&m.setAttr("points",v.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var m=this.node,v=p.attrs[m._id][this._id];v.points&&v.points.trueStart&&m.points(v.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(m){return this.tween.seek(m*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var m=this.node._id,v=this._id,x=p.tweens[m],_;this.pause();for(_ in x)delete p.tweens[m][_];delete p.attrs[m][v]}}e.Tween=p,p.attrs={},p.tweens={},r.Node.prototype.to=function(g){var m=g.onFinish;g.node=this,g.onFinish=function(){this.destroy(),m&&m()};var v=new p(g);v.play()},e.Easings={BackEaseIn(g,m,v,x){var _=1.70158;return v*(g/=x)*g*((_+1)*g-_)+m},BackEaseOut(g,m,v,x){var _=1.70158;return v*((g=g/x-1)*g*((_+1)*g+_)+1)+m},BackEaseInOut(g,m,v,x){var _=1.70158;return(g/=x/2)<1?v/2*(g*g*(((_*=1.525)+1)*g-_))+m:v/2*((g-=2)*g*(((_*=1.525)+1)*g+_)+2)+m},ElasticEaseIn(g,m,v,x,_,b){var y=0;return g===0?m:(g/=x)===1?m+v:(b||(b=x*.3),!_||_0?t:n),d=s*n,f=a*(a>0?t:n),p=l*(l>0?n:t);return{x:u,y:r?-1*p:f,width:d-u,height:p-f}}}cS.Arc=Ba;Ba.prototype._centroid=!0;Ba.prototype.className="Arc";Ba.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,l2e._registerNode)(Ba);dS.Factory.addGetterSetter(Ba,"innerRadius",0,(0,fS.getNumberValidator)());dS.Factory.addGetterSetter(Ba,"outerRadius",0,(0,fS.getNumberValidator)());dS.Factory.addGetterSetter(Ba,"angle",0,(0,fS.getNumberValidator)());dS.Factory.addGetterSetter(Ba,"clockwise",!1,(0,fS.getBooleanValidator)());var hS={},Rm={};Object.defineProperty(Rm,"__esModule",{value:!0});Rm.Line=void 0;const pS=nt,u2e=rr,JU=ke,c2e=rt;function a5(e,t,n,r,i,o,s){var a=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),l=Math.sqrt(Math.pow(i-n,2)+Math.pow(o-r,2)),u=s*a/(a+l),d=s*l/(a+l),f=n-u*(i-e),p=r-u*(o-t),g=n+d*(i-e),m=r+d*(o-t);return[f,p,g,m]}function YO(e,t){var n=e.length,r=[],i,o;for(i=2;i4){for(a=this.getTensionPoints(),l=a.length,u=o?0:4,o||t.quadraticCurveTo(a[0],a[1],a[2],a[3]);u{let u,d,f;u=l/2,d=0;for(let g=0;g<20;g++)f=u*e.tValues[20][g]+u,d+=e.cValues[20][g]*r(s,a,f);return u*d};e.getCubicArcLength=t;const n=(s,a,l)=>{l===void 0&&(l=1);const u=s[0]-2*s[1]+s[2],d=a[0]-2*a[1]+a[2],f=2*s[1]-2*s[0],p=2*a[1]-2*a[0],g=4*(u*u+d*d),m=4*(u*f+d*p),v=f*f+p*p;if(g===0)return l*Math.sqrt(Math.pow(s[2]-s[0],2)+Math.pow(a[2]-a[0],2));const x=m/(2*g),_=v/g,b=l+x,y=_-x*x,S=b*b+y>0?Math.sqrt(b*b+y):0,C=x*x+y>0?Math.sqrt(x*x+y):0,T=x+Math.sqrt(x*x+y)!==0?y*Math.log(Math.abs((b+S)/(x+C))):0;return Math.sqrt(g)/2*(b*S-x*C+T)};e.getQuadraticArcLength=n;function r(s,a,l){const u=i(1,l,s),d=i(1,l,a),f=u*u+d*d;return Math.sqrt(f)}const i=(s,a,l)=>{const u=l.length-1;let d,f;if(u===0)return 0;if(s===0){f=0;for(let p=0;p<=u;p++)f+=e.binomialCoefficients[u][p]*Math.pow(1-a,u-p)*Math.pow(a,p)*l[p];return f}else{d=new Array(u);for(let p=0;p{let u=1,d=s/a,f=(s-l(d))/a,p=0;for(;u>.001;){const g=l(d+f),m=Math.abs(s-g)/a;if(m500)break}return d};e.t2length=o})(ez);Object.defineProperty(Hf,"__esModule",{value:!0});Hf.Path=void 0;const d2e=nt,f2e=rr,h2e=rt,pd=ez;class Qn extends f2e.Shape{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=Qn.parsePathData(this.data()),this.pathLength=Qn.getPathLength(this.dataArray)}_sceneFunc(t){var n=this.dataArray;t.beginPath();for(var r=!1,i=0;id?u:d,x=u>d?1:u/d,_=u>d?d/u:1;t.translate(a,l),t.rotate(g),t.scale(x,_),t.arc(0,0,v,f,f+p,1-m),t.scale(1/x,1/_),t.rotate(-g),t.translate(-a,-l);break;case"z":r=!0,t.closePath();break}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){var t=[];this.dataArray.forEach(function(u){if(u.command==="A"){var d=u.points[4],f=u.points[5],p=u.points[4]+f,g=Math.PI/180;if(Math.abs(d-p)p;m-=g){const v=Qn.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],m,0);t.push(v.x,v.y)}else for(let m=d+g;mn[i].pathLength;)t-=n[i].pathLength,++i;if(i===o)return r=n[i-1].points.slice(-2),{x:r[0],y:r[1]};if(t<.01)return r=n[i].points.slice(0,2),{x:r[0],y:r[1]};var s=n[i],a=s.points;switch(s.command){case"L":return Qn.getPointOnLine(t,s.start.x,s.start.y,a[0],a[1]);case"C":return Qn.getPointOnCubicBezier((0,pd.t2length)(t,Qn.getPathLength(n),v=>(0,pd.getCubicArcLength)([s.start.x,a[0],a[2],a[4]],[s.start.y,a[1],a[3],a[5]],v)),s.start.x,s.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return Qn.getPointOnQuadraticBezier((0,pd.t2length)(t,Qn.getPathLength(n),v=>(0,pd.getQuadraticArcLength)([s.start.x,a[0],a[2]],[s.start.y,a[1],a[3]],v)),s.start.x,s.start.y,a[0],a[1],a[2],a[3]);case"A":var l=a[0],u=a[1],d=a[2],f=a[3],p=a[4],g=a[5],m=a[6];return p+=g*t/s.pathLength,Qn.getPointOnEllipticalArc(l,u,d,f,p,m)}return null}static getPointOnLine(t,n,r,i,o,s,a){s===void 0&&(s=n),a===void 0&&(a=r);var l=(o-r)/(i-n+1e-8),u=Math.sqrt(t*t/(1+l*l));i0&&!isNaN(m[0]);){var b=null,y=[],S=l,C=u,T,E,P,k,O,M,G,U,A,N;switch(g){case"l":l+=m.shift(),u+=m.shift(),b="L",y.push(l,u);break;case"L":l=m.shift(),u=m.shift(),y.push(l,u);break;case"m":var F=m.shift(),B=m.shift();if(l+=F,u+=B,b="M",s.length>2&&s[s.length-1].command==="z"){for(var D=s.length-2;D>=0;D--)if(s[D].command==="M"){l=s[D].points[0]+F,u=s[D].points[1]+B;break}}y.push(l,u),g="l";break;case"M":l=m.shift(),u=m.shift(),b="M",y.push(l,u),g="L";break;case"h":l+=m.shift(),b="L",y.push(l,u);break;case"H":l=m.shift(),b="L",y.push(l,u);break;case"v":u+=m.shift(),b="L",y.push(l,u);break;case"V":u=m.shift(),b="L",y.push(l,u);break;case"C":y.push(m.shift(),m.shift(),m.shift(),m.shift()),l=m.shift(),u=m.shift(),y.push(l,u);break;case"c":y.push(l+m.shift(),u+m.shift(),l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="C",y.push(l,u);break;case"S":E=l,P=u,T=s[s.length-1],T.command==="C"&&(E=l+(l-T.points[2]),P=u+(u-T.points[3])),y.push(E,P,m.shift(),m.shift()),l=m.shift(),u=m.shift(),b="C",y.push(l,u);break;case"s":E=l,P=u,T=s[s.length-1],T.command==="C"&&(E=l+(l-T.points[2]),P=u+(u-T.points[3])),y.push(E,P,l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="C",y.push(l,u);break;case"Q":y.push(m.shift(),m.shift()),l=m.shift(),u=m.shift(),y.push(l,u);break;case"q":y.push(l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="Q",y.push(l,u);break;case"T":E=l,P=u,T=s[s.length-1],T.command==="Q"&&(E=l+(l-T.points[0]),P=u+(u-T.points[1])),l=m.shift(),u=m.shift(),b="Q",y.push(E,P,l,u);break;case"t":E=l,P=u,T=s[s.length-1],T.command==="Q"&&(E=l+(l-T.points[0]),P=u+(u-T.points[1])),l+=m.shift(),u+=m.shift(),b="Q",y.push(E,P,l,u);break;case"A":k=m.shift(),O=m.shift(),M=m.shift(),G=m.shift(),U=m.shift(),A=l,N=u,l=m.shift(),u=m.shift(),b="A",y=this.convertEndpointToCenterParameterization(A,N,l,u,G,U,k,O,M);break;case"a":k=m.shift(),O=m.shift(),M=m.shift(),G=m.shift(),U=m.shift(),A=l,N=u,l+=m.shift(),u+=m.shift(),b="A",y=this.convertEndpointToCenterParameterization(A,N,l,u,G,U,k,O,M);break}s.push({command:b||g,points:y,start:{x:S,y:C},pathLength:this.calcLength(S,C,b||g,y)})}(g==="z"||g==="Z")&&s.push({command:"z",points:[],start:void 0,pathLength:0})}return s}static calcLength(t,n,r,i){var o,s,a,l,u=Qn;switch(r){case"L":return u.getLineLength(t,n,i[0],i[1]);case"C":return(0,pd.getCubicArcLength)([t,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return(0,pd.getQuadraticArcLength)([t,i[0],i[2]],[n,i[1],i[3]],1);case"A":o=0;var d=i[4],f=i[5],p=i[4]+f,g=Math.PI/180;if(Math.abs(d-p)p;l-=g)a=u.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=u.getLineLength(s.x,s.y,a.x,a.y),s=a;else for(l=d+g;l1&&(a*=Math.sqrt(g),l*=Math.sqrt(g));var m=Math.sqrt((a*a*(l*l)-a*a*(p*p)-l*l*(f*f))/(a*a*(p*p)+l*l*(f*f)));o===s&&(m*=-1),isNaN(m)&&(m=0);var v=m*a*p/l,x=m*-l*f/a,_=(t+r)/2+Math.cos(d)*v-Math.sin(d)*x,b=(n+i)/2+Math.sin(d)*v+Math.cos(d)*x,y=function(O){return Math.sqrt(O[0]*O[0]+O[1]*O[1])},S=function(O,M){return(O[0]*M[0]+O[1]*M[1])/(y(O)*y(M))},C=function(O,M){return(O[0]*M[1]=1&&(k=0),s===0&&k>0&&(k=k-2*Math.PI),s===1&&k<0&&(k=k+2*Math.PI),[_,b,a,l,T,k,d,s]}}Hf.Path=Qn;Qn.prototype.className="Path";Qn.prototype._attrsAffectingSize=["data"];(0,h2e._registerNode)(Qn);d2e.Factory.addGetterSetter(Qn,"data");Object.defineProperty(hS,"__esModule",{value:!0});hS.Arrow=void 0;const gS=nt,p2e=Rm,tz=ke,g2e=rt,QO=Hf;class bc extends p2e.Line{_sceneFunc(t){super._sceneFunc(t);var n=Math.PI*2,r=this.points(),i=r,o=this.tension()!==0&&r.length>4;o&&(i=this.getTensionPoints());var s=this.pointerLength(),a=r.length,l,u;if(o){const p=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],r[a-2],r[a-1]],g=QO.Path.calcLength(i[i.length-4],i[i.length-3],"C",p),m=QO.Path.getPointOnQuadraticBezier(Math.min(1,1-s/g),p[0],p[1],p[2],p[3],p[4],p[5]);l=r[a-2]-m.x,u=r[a-1]-m.y}else l=r[a-2]-r[a-4],u=r[a-1]-r[a-3];var d=(Math.atan2(u,l)+n)%n,f=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[a-2],r[a-1]),t.rotate(d),t.moveTo(0,0),t.lineTo(-s,f/2),t.lineTo(-s,-f/2),t.closePath(),t.restore(),this.__fillStroke(t)),this.pointerAtBeginning()&&(t.save(),t.beginPath(),t.translate(r[0],r[1]),o?(l=(i[0]+i[2])/2-r[0],u=(i[1]+i[3])/2-r[1]):(l=r[2]-r[0],u=r[3]-r[1]),t.rotate((Math.atan2(-u,-l)+n)%n),t.moveTo(0,0),t.lineTo(-s,f/2),t.lineTo(-s,-f/2),t.closePath(),t.restore(),this.__fillStroke(t))}__fillStroke(t){var n=this.dashEnabled();n&&(this.attrs.dashEnabled=!1,t.setLineDash([])),t.fillStrokeShape(this),n&&(this.attrs.dashEnabled=!0)}getSelfRect(){const t=super.getSelfRect(),n=this.pointerWidth()/2;return{x:t.x-n,y:t.y-n,width:t.width+n*2,height:t.height+n*2}}}hS.Arrow=bc;bc.prototype.className="Arrow";(0,g2e._registerNode)(bc);gS.Factory.addGetterSetter(bc,"pointerLength",10,(0,tz.getNumberValidator)());gS.Factory.addGetterSetter(bc,"pointerWidth",10,(0,tz.getNumberValidator)());gS.Factory.addGetterSetter(bc,"pointerAtBeginning",!1);gS.Factory.addGetterSetter(bc,"pointerAtEnding",!0);var mS={};Object.defineProperty(mS,"__esModule",{value:!0});mS.Circle=void 0;const m2e=nt,y2e=rr,v2e=ke,_2e=rt;let Wf=class extends y2e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius()!==t/2&&this.radius(t/2)}setHeight(t){this.radius()!==t/2&&this.radius(t/2)}};mS.Circle=Wf;Wf.prototype._centroid=!0;Wf.prototype.className="Circle";Wf.prototype._attrsAffectingSize=["radius"];(0,_2e._registerNode)(Wf);m2e.Factory.addGetterSetter(Wf,"radius",0,(0,v2e.getNumberValidator)());var yS={};Object.defineProperty(yS,"__esModule",{value:!0});yS.Ellipse=void 0;const SE=nt,b2e=rr,nz=ke,S2e=rt;class iu extends b2e.Shape{_sceneFunc(t){var n=this.radiusX(),r=this.radiusY();t.beginPath(),t.save(),n!==r&&t.scale(1,r/n),t.arc(0,0,n,0,Math.PI*2,!1),t.restore(),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(t){this.radiusX(t/2)}setHeight(t){this.radiusY(t/2)}}yS.Ellipse=iu;iu.prototype.className="Ellipse";iu.prototype._centroid=!0;iu.prototype._attrsAffectingSize=["radiusX","radiusY"];(0,S2e._registerNode)(iu);SE.Factory.addComponentsGetterSetter(iu,"radius",["x","y"]);SE.Factory.addGetterSetter(iu,"radiusX",0,(0,nz.getNumberValidator)());SE.Factory.addGetterSetter(iu,"radiusY",0,(0,nz.getNumberValidator)());var vS={};Object.defineProperty(vS,"__esModule",{value:!0});vS.Image=void 0;const Ux=Sn,Sc=nt,w2e=rr,x2e=rt,Om=ke;let Us=class rz extends w2e.Shape{constructor(t){super(t),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){return super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),i=this.cornerRadius(),o=this.attrs.image;let s;if(o){const a=this.attrs.cropWidth,l=this.attrs.cropHeight;a&&l?s=[o,this.cropX(),this.cropY(),a,l,0,0,n,r]:s=[o,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?Ux.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),o&&(i&&t.clip(),t.drawImage.apply(t,s))}_hitFunc(t){var n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?Ux.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n;return(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width}getHeight(){var t,n;return(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height}static fromURL(t,n,r=null){var i=Ux.Util.createImageElement();i.onload=function(){var o=new rz({image:i});n(o)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};vS.Image=Us;Us.prototype.className="Image";(0,x2e._registerNode)(Us);Sc.Factory.addGetterSetter(Us,"cornerRadius",0,(0,Om.getNumberOrArrayOfNumbersValidator)(4));Sc.Factory.addGetterSetter(Us,"image");Sc.Factory.addComponentsGetterSetter(Us,"crop",["x","y","width","height"]);Sc.Factory.addGetterSetter(Us,"cropX",0,(0,Om.getNumberValidator)());Sc.Factory.addGetterSetter(Us,"cropY",0,(0,Om.getNumberValidator)());Sc.Factory.addGetterSetter(Us,"cropWidth",0,(0,Om.getNumberValidator)());Sc.Factory.addGetterSetter(Us,"cropHeight",0,(0,Om.getNumberValidator)());var Rf={};Object.defineProperty(Rf,"__esModule",{value:!0});Rf.Tag=Rf.Label=void 0;const _S=nt,C2e=rr,T2e=jf,wE=ke,iz=rt;var oz=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],E2e="Change.konva",A2e="none",l5="up",u5="right",c5="down",d5="left",P2e=oz.length;class xE extends T2e.Group{constructor(t){super(t),this.on("add.konva",function(n){this._addListeners(n.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(t){var n=this,r,i=function(){n._sync()};for(r=0;r{n=Math.min(n,s.x),r=Math.max(r,s.x),i=Math.min(i,s.y),o=Math.max(o,s.y)}),{x:n,y:i,width:r-n,height:o-i}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}SS.RegularPolygon=xc;xc.prototype.className="RegularPolygon";xc.prototype._centroid=!0;xc.prototype._attrsAffectingSize=["radius"];(0,L2e._registerNode)(xc);sz.Factory.addGetterSetter(xc,"radius",0,(0,az.getNumberValidator)());sz.Factory.addGetterSetter(xc,"sides",0,(0,az.getNumberValidator)());var wS={};Object.defineProperty(wS,"__esModule",{value:!0});wS.Ring=void 0;const lz=nt,D2e=rr,uz=ke,$2e=rt;var ZO=Math.PI*2;class Cc extends D2e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,ZO,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),ZO,0,!0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(t){this.outerRadius(t/2)}setHeight(t){this.outerRadius(t/2)}}wS.Ring=Cc;Cc.prototype.className="Ring";Cc.prototype._centroid=!0;Cc.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,$2e._registerNode)(Cc);lz.Factory.addGetterSetter(Cc,"innerRadius",0,(0,uz.getNumberValidator)());lz.Factory.addGetterSetter(Cc,"outerRadius",0,(0,uz.getNumberValidator)());var xS={};Object.defineProperty(xS,"__esModule",{value:!0});xS.Sprite=void 0;const Tc=nt,F2e=rr,B2e=Gf,cz=ke,U2e=rt;class zs extends F2e.Shape{constructor(t){super(t),this._updated=!0,this.anim=new B2e.Animation(()=>{var n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+0],l=o[i+1],u=o[i+2],d=o[i+3],f=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,u,d),t.closePath(),t.fillStrokeShape(this)),f)if(s){var p=s[n],g=r*2;t.drawImage(f,a,l,u,d,p[g+0],p[g+1],u,d)}else t.drawImage(f,a,l,u,d,0,0,u,d)}_hitFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+2],l=o[i+3];if(t.beginPath(),s){var u=s[n],d=r*2;t.rect(u[d+0],u[d+1],a,l)}else t.rect(0,0,a,l);t.closePath(),t.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){var t=this;this.interval=setInterval(function(){t._updateIndex()},1e3/this.frameRate())}start(){if(!this.isRunning()){var t=this.getLayer();this.anim.setLayers(t),this._setInterval(),this.anim.start()}}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){var t=this.frameIndex(),n=this.animation(),r=this.animations(),i=r[n],o=i.length/4;t{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t=`"${t}"`),t}).join(", ")}var $0;function Vx(){return $0||($0=f5.Util.createCanvasElement().getContext(q2e),$0)}function iwe(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function owe(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function swe(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class Ln extends j2e.Shape{constructor(t){super(swe(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n1&&(_+=s)}}}_hitFunc(t){var n=this.getWidth(),r=this.getHeight();t.beginPath(),t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}setText(t){var n=f5.Util._isString(t)?t:t==null?"":t+"";return this._setAttr(K2e,n),this}getWidth(){var t=this.attrs.width===gd||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===gd||this.attrs.height===void 0;return t?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return f5.Util.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(t){var n=Vx(),r=this.fontSize(),i;return n.save(),n.font=this._getContextFont(),i=n.measureText(t),n.restore(),{width:i.width,height:r}}_getContextFont(){return this.fontStyle()+D0+this.fontVariant()+D0+(this.fontSize()+Z2e)+rwe(this.fontFamily())}_addTextLine(t){this.align()===Zh&&(t=t.trim());var r=this._getTextWidth(t);return this.textArr.push({text:t,width:r,lastInParagraph:!1})}_getTextWidth(t){var n=this.letterSpacing(),r=t.length;return Vx().measureText(t).width+(r?n*(r-1):0)}_setTextData(){var t=this.text().split(` -`),n=+this.fontSize(),r=0,i=this.lineHeight()*n,o=this.attrs.width,s=this.attrs.height,a=o!==gd&&o!==void 0,l=s!==gd&&s!==void 0,u=this.padding(),d=o-u*2,f=s-u*2,p=0,g=this.wrap(),m=g!==tk,v=g!==twe&&m,x=this.ellipsis();this.textArr=[],Vx().font=this._getContextFont();for(var _=x?this._getTextWidth(zx):0,b=0,y=t.length;bd)for(;S.length>0;){for(var T=0,E=S.length,P="",k=0;T>>1,M=S.slice(0,O+1),G=this._getTextWidth(M)+_;G<=d?(T=O+1,P=M,k=G):E=O}if(P){if(v){var U,A=S[P.length],N=A===D0||A===JO;N&&k<=d?U=P.length:U=Math.max(P.lastIndexOf(D0),P.lastIndexOf(JO))+1,U>0&&(T=U,P=P.slice(0,T),k=this._getTextWidth(P))}P=P.trimRight(),this._addTextLine(P),r=Math.max(r,k),p+=i;var F=this._shouldHandleEllipsis(p);if(F){this._tryToAddEllipsisToLastLine();break}if(S=S.slice(T),S=S.trimLeft(),S.length>0&&(C=this._getTextWidth(S),C<=d)){this._addTextLine(S),p+=i,r=Math.max(r,C);break}}else break}else this._addTextLine(S),p+=i,r=Math.max(r,C),this._shouldHandleEllipsis(p)&&bf)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,i=this.attrs.height,o=i!==gd&&i!==void 0,s=this.padding(),a=i-s*2,l=this.wrap(),u=l!==tk;return!u||o&&t+r>a}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==gd&&t!==void 0,r=this.padding(),i=t-r*2,o=this.ellipsis(),s=this.textArr[this.textArr.length-1];if(!(!s||!o)){if(n){var a=this._getTextWidth(s.text+zx)n?null:Jh.Path.getPointAtLengthOfDataArray(t,this.dataArray)}_readDataAttribute(){this.dataArray=Jh.Path.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(t){t.setAttr("font",this._getContextFont()),t.setAttr("textBaseline",this.textBaseline()),t.setAttr("textAlign","left"),t.save();var n=this.textDecoration(),r=this.fill(),i=this.fontSize(),o=this.glyphInfo;n==="underline"&&t.beginPath();for(var s=0;s=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var i=0;ie+`.${_z}`).join(" "),ik="nodesRect",pwe=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],gwe={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const mwe="ontouchstart"in Do.Konva._global;function ywe(e,t){if(e==="rotater")return"crosshair";t+=zt.Util.degToRad(gwe[e]||0);var n=(zt.Util.radToDeg(t)%360+360)%360;return zt.Util._inRange(n,315+22.5,360)||zt.Util._inRange(n,0,22.5)?"ns-resize":zt.Util._inRange(n,45-22.5,45+22.5)?"nesw-resize":zt.Util._inRange(n,90-22.5,90+22.5)?"ew-resize":zt.Util._inRange(n,135-22.5,135+22.5)?"nwse-resize":zt.Util._inRange(n,180-22.5,180+22.5)?"ns-resize":zt.Util._inRange(n,225-22.5,225+22.5)?"nesw-resize":zt.Util._inRange(n,270-22.5,270+22.5)?"ew-resize":zt.Util._inRange(n,315-22.5,315+22.5)?"nwse-resize":(zt.Util.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var e_=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],ok=1e8;function vwe(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function bz(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),i=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return Object.assign(Object.assign({},e),{rotation:e.rotation+t,x:r,y:i})}function _we(e,t){const n=vwe(e);return bz(e,t,n)}function bwe(e,t,n){let r=t;for(let i=0;ii.isAncestorOf(this)?(zt.Util.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1):!0);this._nodes=t=n,t.length===1&&this.useSingleNodeRotation()?this.rotation(t[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(i=>{const o=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},s=i._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");i.on(s,o),i.on(pwe.map(a=>a+`.${this._getEventNamespace()}`).join(" "),o),i.on(`absoluteTransformChange.${this._getEventNamespace()}`,o),this._proxyDrag(i)}),this._resetTransformCache();var r=!!this.findOne(".top-left");return r&&this.update(),this}_proxyDrag(t){let n;t.on(`dragstart.${this._getEventNamespace()}`,r=>{n=t.getAbsolutePosition(),!this.isDragging()&&t!==this.findOne(".back")&&this.startDrag(r,!1)}),t.on(`dragmove.${this._getEventNamespace()}`,r=>{if(!n)return;const i=t.getAbsolutePosition(),o=i.x-n.x,s=i.y-n.y;this.nodes().forEach(a=>{if(a===t||a.isDragging())return;const l=a.getAbsolutePosition();a.setAbsolutePosition({x:l.x+o,y:l.y+s}),a.startDrag(r)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(t=>{t.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(ik),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(ik,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var i=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),o=t.getAbsoluteScale(r),s=t.getAbsolutePosition(r),a=i.x*o.x-t.offsetX()*o.x,l=i.y*o.y-t.offsetY()*o.y;const u=(Do.Konva.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),d={x:s.x+a*Math.cos(u)+l*Math.sin(-u),y:s.y+l*Math.cos(u)+a*Math.sin(u),width:i.width*o.x,height:i.height*o.y,rotation:u};return bz(d,-Do.Konva.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-ok,y:-ok,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const d=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var f=[{x:d.x,y:d.y},{x:d.x+d.width,y:d.y},{x:d.x+d.width,y:d.y+d.height},{x:d.x,y:d.y+d.height}],p=u.getAbsoluteTransform();f.forEach(function(g){var m=p.point(g);n.push(m)})});const r=new zt.Transform;r.rotate(-Do.Konva.getAngle(this.rotation()));var i,o,s,a;n.forEach(function(u){var d=r.point(u);i===void 0&&(i=s=d.x,o=a=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),s=Math.max(s,d.x),a=Math.max(a,d.y)}),r.invert();const l=r.point({x:i,y:o});return{x:l.x,y:l.y,width:s-i,height:a-o,rotation:Do.Konva.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),e_.forEach((function(t){this._createAnchor(t)}).bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new dwe.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:mwe?10:"auto"}),r=this;n.on("mousedown touchstart",function(i){r._handleMouseDown(i)}),n.on("dragstart",i=>{n.stopDrag(),i.cancelBubble=!0}),n.on("dragend",i=>{i.cancelBubble=!0}),n.on("mouseenter",()=>{var i=Do.Konva.getAngle(this.rotation()),o=ywe(t,i);n.getStage().content&&(n.getStage().content.style.cursor=o),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){var t=new cwe.Shape({name:"back",width:0,height:0,draggable:!0,sceneFunc(n){var r=this.getParent(),i=r.padding();n.beginPath(),n.rect(-i,-i,this.width()+i*2,this.height()+i*2),n.moveTo(this.width()/2,-i),r.rotateEnabled()&&n.lineTo(this.width()/2,-r.rotateAnchorOffset()*zt.Util._sign(this.height())-i),n.fillStrokeShape(this)},hitFunc:(n,r)=>{if(this.shouldOverdrawWholeArea()){var i=this.padding();n.beginPath(),n.rect(-i,-i,r.width()+i*2,r.height()+i*2),n.fillStrokeShape(r)}}});this.add(t),this._proxyDrag(t),t.on("dragstart",n=>{n.cancelBubble=!0}),t.on("dragmove",n=>{n.cancelBubble=!0}),t.on("dragend",n=>{n.cancelBubble=!0}),this.on("dragmove",n=>{this.update()})}_handleMouseDown(t){this._movingAnchorName=t.target.name().split(" ")[0];var n=this._getNodeRect(),r=n.width,i=n.height,o=Math.sqrt(Math.pow(r,2)+Math.pow(i,2));this.sin=Math.abs(i/o),this.cos=Math.abs(r/o),typeof window<"u"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;var s=t.target.getAbsolutePosition(),a=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:a.x-s.x,y:a.y-s.y},this._fire("transformstart",{evt:t.evt,target:this.getNode()}),this._nodes.forEach(l=>{l._fire("transformstart",{evt:t.evt,target:l})})}_handleMouseMove(t){var n,r,i,o=this.findOne("."+this._movingAnchorName),s=o.getStage();s.setPointersPositions(t);const a=s.getPointerPosition();let l={x:a.x-this._anchorDragOffset.x,y:a.y-this._anchorDragOffset.y};const u=o.getAbsolutePosition();this.anchorDragBoundFunc()&&(l=this.anchorDragBoundFunc()(u,l,t)),o.setAbsolutePosition(l);const d=o.getAbsolutePosition();if(!(u.x===d.x&&u.y===d.y)){if(this._movingAnchorName==="rotater"){var f=this._getNodeRect();n=o.x()-f.width/2,r=-o.y()+f.height/2;let U=Math.atan2(-r,n)+Math.PI/2;f.height<0&&(U-=Math.PI);var p=Do.Konva.getAngle(this.rotation());const A=p+U,N=Do.Konva.getAngle(this.rotationSnapTolerance()),B=bwe(this.rotationSnaps(),A,N)-f.rotation,D=_we(f,B);this._fitNodesInto(D,t);return}var g=this.shiftBehavior(),m;g==="inverted"?m=this.keepRatio()&&!t.shiftKey:g==="none"?m=this.keepRatio():m=this.keepRatio()||t.shiftKey;var y=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(m){var v=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};i=Math.sqrt(Math.pow(v.x-o.x(),2)+Math.pow(v.y-o.y(),2));var x=this.findOne(".top-left").x()>v.x?-1:1,_=this.findOne(".top-left").y()>v.y?-1:1;n=i*this.cos*x,r=i*this.sin*_,this.findOne(".top-left").x(v.x-n),this.findOne(".top-left").y(v.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(o.y());else if(this._movingAnchorName==="top-right"){if(m){var v=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};i=Math.sqrt(Math.pow(o.x()-v.x,2)+Math.pow(v.y-o.y(),2));var x=this.findOne(".top-right").x()v.y?-1:1;n=i*this.cos*x,r=i*this.sin*_,this.findOne(".top-right").x(v.x+n),this.findOne(".top-right").y(v.y-r)}var b=o.position();this.findOne(".top-left").y(b.y),this.findOne(".bottom-right").x(b.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(o.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(o.x());else if(this._movingAnchorName==="bottom-left"){if(m){var v=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};i=Math.sqrt(Math.pow(v.x-o.x(),2)+Math.pow(o.y()-v.y,2));var x=v.x{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(zt.Util._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(zt.Util._inRange(t.height,-this.padding()*2-i,i)){this.update();return}const o=this.flipEnabled();var s=new zt.Transform;if(s.rotate(Do.Konva.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const f=s.point({x:-this.padding()*2,y:0});if(t.x+=f.x,t.y+=f.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,!o){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const f=s.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.width+=this.padding()*2,!o){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const f=s.point({x:0,y:-this.padding()*2});if(t.x+=f.x,t.y+=f.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.height+=this.padding()*2,!o){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const f=s.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.height+=this.padding()*2,!o){this.update();return}}if(this.boundBoxFunc()){const f=this.boundBoxFunc()(r,t);f?t=f:zt.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const a=1e7,l=new zt.Transform;l.translate(r.x,r.y),l.rotate(r.rotation),l.scale(r.width/a,r.height/a);const u=new zt.Transform;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/a,t.height/a);const d=u.multiply(l.invert());this._nodes.forEach(f=>{var p;const g=f.getParent().getAbsoluteTransform(),m=f.getTransform().copy();m.translate(f.offsetX(),f.offsetY());const v=new zt.Transform;v.multiply(g.copy().invert()).multiply(d).multiply(g).multiply(m);const x=v.decompose();f.setAttrs(x),this._fire("transform",{evt:n,target:f}),f._fire("transform",{evt:n,target:f}),(p=f.getLayer())===null||p===void 0||p.batchDraw()}),this.rotation(zt.Util._getRotation(t.rotation)),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(t,n){this.findOne(t).setAttrs(n)}update(){var t,n=this._getNodeRect();this.rotation(zt.Util._getRotation(n.rotation));var r=n.width,i=n.height,o=this.enabledAnchors(),s=this.resizeEnabled(),a=this.padding(),l=this.anchorSize();const u=this.find("._anchor");u.forEach(f=>{f.setAttrs({width:l,height:l,offsetX:l/2,offsetY:l/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:l/2+a,offsetY:l/2+a,visible:s&&o.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:l/2+a,visible:s&&o.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:l/2-a,offsetY:l/2+a,visible:s&&o.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:l/2+a,visible:s&&o.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:i/2,offsetX:l/2-a,visible:s&&o.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:l/2+a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:i,offsetY:l/2-a,visible:s&&o.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:i,offsetX:l/2-a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*zt.Util._sign(i)-a,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:r,height:i,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0});const d=this.anchorStyleFunc();d&&u.forEach(f=>{d(f)}),(t=this.getLayer())===null||t===void 0||t.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var t=this.findOne("."+this._movingAnchorName);t&&t.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),rk.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return nk.Node.prototype.toObject.call(this)}clone(t){var n=nk.Node.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}ES.Transformer=xt;function Swe(e){return e instanceof Array||zt.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){e_.indexOf(t)===-1&&zt.Util.warn("Unknown anchor name: "+t+". Available names are: "+e_.join(", "))}),e||[]}xt.prototype.className="Transformer";(0,fwe._registerNode)(xt);Ft.Factory.addGetterSetter(xt,"enabledAnchors",e_,Swe);Ft.Factory.addGetterSetter(xt,"flipEnabled",!0,(0,au.getBooleanValidator)());Ft.Factory.addGetterSetter(xt,"resizeEnabled",!0);Ft.Factory.addGetterSetter(xt,"anchorSize",10,(0,au.getNumberValidator)());Ft.Factory.addGetterSetter(xt,"rotateEnabled",!0);Ft.Factory.addGetterSetter(xt,"rotationSnaps",[]);Ft.Factory.addGetterSetter(xt,"rotateAnchorOffset",50,(0,au.getNumberValidator)());Ft.Factory.addGetterSetter(xt,"rotationSnapTolerance",5,(0,au.getNumberValidator)());Ft.Factory.addGetterSetter(xt,"borderEnabled",!0);Ft.Factory.addGetterSetter(xt,"anchorStroke","rgb(0, 161, 255)");Ft.Factory.addGetterSetter(xt,"anchorStrokeWidth",1,(0,au.getNumberValidator)());Ft.Factory.addGetterSetter(xt,"anchorFill","white");Ft.Factory.addGetterSetter(xt,"anchorCornerRadius",0,(0,au.getNumberValidator)());Ft.Factory.addGetterSetter(xt,"borderStroke","rgb(0, 161, 255)");Ft.Factory.addGetterSetter(xt,"borderStrokeWidth",1,(0,au.getNumberValidator)());Ft.Factory.addGetterSetter(xt,"borderDash");Ft.Factory.addGetterSetter(xt,"keepRatio",!0);Ft.Factory.addGetterSetter(xt,"shiftBehavior","default");Ft.Factory.addGetterSetter(xt,"centeredScaling",!1);Ft.Factory.addGetterSetter(xt,"ignoreStroke",!1);Ft.Factory.addGetterSetter(xt,"padding",0,(0,au.getNumberValidator)());Ft.Factory.addGetterSetter(xt,"node");Ft.Factory.addGetterSetter(xt,"nodes");Ft.Factory.addGetterSetter(xt,"boundBoxFunc");Ft.Factory.addGetterSetter(xt,"anchorDragBoundFunc");Ft.Factory.addGetterSetter(xt,"anchorStyleFunc");Ft.Factory.addGetterSetter(xt,"shouldOverdrawWholeArea",!1);Ft.Factory.addGetterSetter(xt,"useSingleNodeRotation",!0);Ft.Factory.backCompat(xt,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var AS={};Object.defineProperty(AS,"__esModule",{value:!0});AS.Wedge=void 0;const PS=nt,wwe=rr,xwe=rt,Sz=ke,Cwe=rt;class Ua extends wwe.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,xwe.Konva.getAngle(this.angle()),this.clockwise()),t.lineTo(0,0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}AS.Wedge=Ua;Ua.prototype.className="Wedge";Ua.prototype._centroid=!0;Ua.prototype._attrsAffectingSize=["radius"];(0,Cwe._registerNode)(Ua);PS.Factory.addGetterSetter(Ua,"radius",0,(0,Sz.getNumberValidator)());PS.Factory.addGetterSetter(Ua,"angle",0,(0,Sz.getNumberValidator)());PS.Factory.addGetterSetter(Ua,"clockwise",!1);PS.Factory.backCompat(Ua,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var RS={};Object.defineProperty(RS,"__esModule",{value:!0});RS.Blur=void 0;const sk=nt,Twe=fn,Ewe=ke;function ak(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var Awe=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],Pwe=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function Rwe(e,t){var n=e.data,r=e.width,i=e.height,o,s,a,l,u,d,f,p,g,m,v,x,_,b,y,S,C,T,E,P,k,O,M,G,U=t+t+1,A=r-1,N=i-1,F=t+1,B=F*(F+1)/2,D=new ak,V=null,j=D,q=null,Z=null,ee=Awe[t],ie=Pwe[t];for(a=1;a>ie,M!==0?(M=255/M,n[d]=(p*ee>>ie)*M,n[d+1]=(g*ee>>ie)*M,n[d+2]=(m*ee>>ie)*M):n[d]=n[d+1]=n[d+2]=0,p-=x,g-=_,m-=b,v-=y,x-=q.r,_-=q.g,b-=q.b,y-=q.a,l=f+((l=o+t+1)>ie,M>0?(M=255/M,n[l]=(p*ee>>ie)*M,n[l+1]=(g*ee>>ie)*M,n[l+2]=(m*ee>>ie)*M):n[l]=n[l+1]=n[l+2]=0,p-=x,g-=_,m-=b,v-=y,x-=q.r,_-=q.g,b-=q.b,y-=q.a,l=o+((l=s+F)0&&Rwe(t,n)};RS.Blur=Owe;sk.Factory.addGetterSetter(Twe.Node,"blurRadius",0,(0,Ewe.getNumberValidator)(),sk.Factory.afterSetFilter);var OS={};Object.defineProperty(OS,"__esModule",{value:!0});OS.Brighten=void 0;const lk=nt,kwe=fn,Iwe=ke,Mwe=function(e){var t=this.brightness()*255,n=e.data,r=n.length,i;for(i=0;i255?255:i,o=o<0?0:o>255?255:o,s=s<0?0:s>255?255:s,n[a]=i,n[a+1]=o,n[a+2]=s};kS.Contrast=Dwe;uk.Factory.addGetterSetter(Nwe.Node,"contrast",0,(0,Lwe.getNumberValidator)(),uk.Factory.afterSetFilter);var IS={};Object.defineProperty(IS,"__esModule",{value:!0});IS.Emboss=void 0;const Wl=nt,MS=fn,$we=Sn,wz=ke,Fwe=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),o=0,s=0,a=e.data,l=e.width,u=e.height,d=l*4,f=u;switch(r){case"top-left":o=-1,s=-1;break;case"top":o=-1,s=0;break;case"top-right":o=-1,s=1;break;case"right":o=0,s=1;break;case"bottom-right":o=1,s=1;break;case"bottom":o=1,s=0;break;case"bottom-left":o=1,s=-1;break;case"left":o=0,s=-1;break;default:$we.Util.error("Unknown emboss direction: "+r)}do{var p=(f-1)*d,g=o;f+g<1&&(g=0),f+g>u&&(g=0);var m=(f-1+g)*l*4,v=l;do{var x=p+(v-1)*4,_=s;v+_<1&&(_=0),v+_>l&&(_=0);var b=m+(v-1+_)*4,y=a[x]-a[b],S=a[x+1]-a[b+1],C=a[x+2]-a[b+2],T=y,E=T>0?T:-T,P=S>0?S:-S,k=C>0?C:-C;if(P>E&&(T=S),k>E&&(T=C),T*=t,i){var O=a[x]+T,M=a[x+1]+T,G=a[x+2]+T;a[x]=O>255?255:O<0?0:O,a[x+1]=M>255?255:M<0?0:M,a[x+2]=G>255?255:G<0?0:G}else{var U=n-T;U<0?U=0:U>255&&(U=255),a[x]=a[x+1]=a[x+2]=U}}while(--v)}while(--f)};IS.Emboss=Fwe;Wl.Factory.addGetterSetter(MS.Node,"embossStrength",.5,(0,wz.getNumberValidator)(),Wl.Factory.afterSetFilter);Wl.Factory.addGetterSetter(MS.Node,"embossWhiteLevel",.5,(0,wz.getNumberValidator)(),Wl.Factory.afterSetFilter);Wl.Factory.addGetterSetter(MS.Node,"embossDirection","top-left",null,Wl.Factory.afterSetFilter);Wl.Factory.addGetterSetter(MS.Node,"embossBlend",!1,null,Wl.Factory.afterSetFilter);var NS={};Object.defineProperty(NS,"__esModule",{value:!0});NS.Enhance=void 0;const ck=nt,Bwe=fn,Uwe=ke;function Hx(e,t,n,r,i){var o=n-t,s=i-r,a;return o===0?r+s/2:s===0?r:(a=(e-t)/o,a=s*a+r,a)}const zwe=function(e){var t=e.data,n=t.length,r=t[0],i=r,o,s=t[1],a=s,l,u=t[2],d=u,f,p,g=this.enhance();if(g!==0){for(p=0;pi&&(i=o),l=t[p+1],la&&(a=l),f=t[p+2],fd&&(d=f);i===r&&(i=255,r=0),a===s&&(a=255,s=0),d===u&&(d=255,u=0);var m,v,x,_,b,y,S,C,T;for(g>0?(v=i+g*(255-i),x=r-g*(r-0),b=a+g*(255-a),y=s-g*(s-0),C=d+g*(255-d),T=u-g*(u-0)):(m=(i+r)*.5,v=i+g*(i-m),x=r+g*(r-m),_=(a+s)*.5,b=a+g*(a-_),y=s+g*(s-_),S=(d+u)*.5,C=d+g*(d-S),T=u+g*(u-S)),p=0;p_?x:_;var b=s,y=o,S,C,T=360/y*Math.PI/180,E,P;for(C=0;Cy?b:y;var S=s,C=o,T,E,P=n.polarRotation||0,k,O;for(d=0;dt&&(S=y,C=0,T=-1),i=0;i=0&&g=0&&m=0&&g=0&&m=255*4?255:0}return s}function nxe(e,t,n){for(var r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],i=Math.round(Math.sqrt(r.length)),o=Math.floor(i/2),s=[],a=0;a=0&&g=0&&m=n))for(o=v;o=r||(s=(n*o+i)*4,a+=S[s+0],l+=S[s+1],u+=S[s+2],d+=S[s+3],y+=1);for(a=a/y,l=l/y,u=u/y,d=d/y,i=g;i=n))for(o=v;o=r||(s=(n*o+i)*4,S[s+0]=a,S[s+1]=l,S[s+2]=u,S[s+3]=d)}};VS.Pixelate=cxe;pk.Factory.addGetterSetter(lxe.Node,"pixelSize",8,(0,uxe.getNumberValidator)(),pk.Factory.afterSetFilter);var jS={};Object.defineProperty(jS,"__esModule",{value:!0});jS.Posterize=void 0;const gk=nt,dxe=fn,fxe=ke,hxe=function(e){var t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,i=255/t,o;for(o=0;o255?255:e<0?0:Math.round(e)});n_.Factory.addGetterSetter(OE.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});n_.Factory.addGetterSetter(OE.Node,"blue",0,pxe.RGBComponent,n_.Factory.afterSetFilter);var HS={};Object.defineProperty(HS,"__esModule",{value:!0});HS.RGBA=void 0;const Dg=nt,WS=fn,mxe=ke,yxe=function(e){var t=e.data,n=t.length,r=this.red(),i=this.green(),o=this.blue(),s=this.alpha(),a,l;for(a=0;a255?255:e<0?0:Math.round(e)});Dg.Factory.addGetterSetter(WS.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Dg.Factory.addGetterSetter(WS.Node,"blue",0,mxe.RGBComponent,Dg.Factory.afterSetFilter);Dg.Factory.addGetterSetter(WS.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var qS={};Object.defineProperty(qS,"__esModule",{value:!0});qS.Sepia=void 0;const vxe=function(e){var t=e.data,n=t.length,r,i,o,s;for(r=0;r127&&(u=255-u),d>127&&(d=255-d),f>127&&(f=255-f),t[l]=u,t[l+1]=d,t[l+2]=f}while(--a)}while(--o)};KS.Solarize=_xe;var XS={};Object.defineProperty(XS,"__esModule",{value:!0});XS.Threshold=void 0;const mk=nt,bxe=fn,Sxe=ke,wxe=function(e){var t=this.threshold()*255,n=e.data,r=n.length,i;for(i=0;i{const{width:r,height:i}=t,o=document.createElement("div"),s=new tp.Stage({container:o,width:r,height:i}),a=new tp.Layer,l=new tp.Layer;return a.add(new tp.Rect({...t,fill:n?"black":"white"})),e.forEach(u=>l.add(new tp.Line({points:u.points,stroke:n?"white":"black",strokeWidth:u.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,globalCompositeOperation:u.tool==="brush"?"source-over":"destination-out"}))),s.add(a),s.add(l),o.remove(),s},lCe=async(e,t,n)=>new Promise((r,i)=>{const o=document.createElement("canvas");o.width=t,o.height=n;const s=o.getContext("2d"),a=new Image;if(!s){o.remove(),i("Unable to get context");return}a.onload=function(){s.drawImage(a,0,0),o.remove(),r(s.getImageData(0,0,t,n))},a.src=e}),_k=async(e,t)=>{const n=e.toDataURL(t);return await lCe(n,t.width,t.height)},uCe=async(e,t,n,r,i)=>{const o=Ie("canvas"),s=nS(),a=b_e();if(!s||!a){o.error("Unable to find canvas / stage");return}const l={...t,...n},u=s.clone();u.scale({x:1,y:1});const d=u.getAbsolutePosition(),f={x:l.x+d.x,y:l.y+d.y,width:l.width,height:l.height},p=await Q1(u,f),g=await _k(u,f),m=await aCe(r?e.objects.filter(i$):[],l,i),v=await Q1(m,l),x=await _k(m,l);return{baseBlob:p,baseImageData:g,maskBlob:v,maskImageData:x}},cCe=e=>{let t=!0,n=!1;const r=e.length;let i=3;for(i;i{const t=e.length;let n=0;for(n;n{const{isPartiallyTransparent:n,isFullyTransparent:r}=cCe(e.data),i=dCe(t.data);return n?r?"txt2img":"outpaint":i?"inpaint":"img2img"},hCe=e=>OD(e,n=>n.isEnabled&&(!!n.processedControlImage||n.processorType==="none"&&!!n.controlImage)),YS=(e,t,n)=>{const{isEnabled:r,controlNets:i}=e.controlNet,o=hCe(i),s=t.nodes[It];if(r&&o.length&&o.length){const a={id:O0,type:"collect",is_intermediate:!0};t.nodes[O0]=a,t.edges.push({source:{node_id:O0,field:"collection"},destination:{node_id:n,field:"control"}}),o.forEach(l=>{const{controlNetId:u,controlImage:d,processedControlImage:f,beginStepPct:p,endStepPct:g,controlMode:m,resizeMode:v,model:x,processorType:_,weight:b}=l,y={id:`control_net_${u}`,type:"controlnet",is_intermediate:!0,begin_step_percent:p,end_step_percent:g,control_mode:m,resize_mode:v,control_model:x,control_weight:b};if(f&&_!=="none")y.image={image_name:f};else if(d)y.image={image_name:d};else return;if(t.nodes[y.id]=y,s){const S=rb(y,["id","type"]);s.controlnets.push(S)}t.edges.push({source:{node_id:y.id,field:"control"},destination:{node_id:O0,field:"item"}})})}},qf=(e,t)=>{const{positivePrompt:n,iterations:r,seed:i,shouldRandomizeSeed:o}=e.generation,{combinatorial:s,isEnabled:a,maxPrompts:l}=e.dynamicPrompts,u=t.nodes[It];if(a){tle(t.nodes[vt],"prompt");const d={id:Lx,type:"dynamic_prompt",is_intermediate:!0,max_prompts:s?l:r,combinatorial:s,prompt:n},f={id:vi,type:"iterate",is_intermediate:!0};if(t.nodes[Lx]=d,t.nodes[vi]=f,t.edges.push({source:{node_id:Lx,field:"prompt_collection"},destination:{node_id:vi,field:"collection"}},{source:{node_id:vi,field:"item"},destination:{node_id:vt,field:"prompt"}}),u&&t.edges.push({source:{node_id:vi,field:"item"},destination:{node_id:It,field:"positive_prompt"}}),o){const p={id:ms,type:"rand_int",is_intermediate:!0};t.nodes[ms]=p,t.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:mt,field:"seed"}}),u&&t.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:It,field:"seed"}})}else t.nodes[mt].seed=i,u&&(u.seed=i)}else{u&&(u.positive_prompt=n);const d={id:fa,type:"range_of_size",is_intermediate:!0,size:r,step:1},f={id:vi,type:"iterate",is_intermediate:!0};if(t.nodes[vi]=f,t.nodes[fa]=d,t.edges.push({source:{node_id:fa,field:"collection"},destination:{node_id:vi,field:"collection"}}),t.edges.push({source:{node_id:vi,field:"item"},destination:{node_id:mt,field:"seed"}}),u&&t.edges.push({source:{node_id:vi,field:"item"},destination:{node_id:It,field:"seed"}}),o){const p={id:ms,type:"rand_int",is_intermediate:!0};t.nodes[ms]=p,t.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:fa,field:"start"}})}else d.start=i}},Im=(e,t,n,r=Or)=>{const{loras:i}=e.lora,o=FD(i),s=t.nodes[It];o>0&&(t.edges=t.edges.filter(u=>!(u.source.node_id===Or&&["unet"].includes(u.source.field))&&!(u.source.node_id===rS&&["unet"].includes(u.source.field))),t.edges=t.edges.filter(u=>!(u.source.node_id===qt&&["clip"].includes(u.source.field))));let a="",l=0;tc(i,u=>{const{model_name:d,base_model:f,weight:p}=u,g=`${nSe}_${d.replace(".","_")}`,m={type:"lora_loader",id:g,is_intermediate:!0,lora:{model_name:d,base_model:f},weight:p};s&&s.loras.push({lora:{model_name:d,base_model:f},weight:p}),t.nodes[g]=m,l===0?(t.edges.push({source:{node_id:r,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:qt,field:"clip"},destination:{node_id:g,field:"clip"}})):(t.edges.push({source:{node_id:a,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:a,field:"clip"},destination:{node_id:g,field:"clip"}})),l===o-1&&(t.edges.push({source:{node_id:g,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:vt,field:"clip"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:Pt,field:"clip"}})),a=g,l+=1})},Tz=si(e=>e.ui,e=>JD[e.activeTab],{memoizeOptions:{equalityCheck:nb}}),rMe=si(e=>e.ui,e=>e.activeTab,{memoizeOptions:{equalityCheck:nb}}),iMe=si(e=>e.ui,e=>e,{memoizeOptions:{equalityCheck:nb}}),Ec=(e,t,n=Rt)=>{const i=Tz(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[It];if(!o)return;o.is_intermediate=!0;const a={id:Dd,type:"img_nsfw",is_intermediate:i};t.nodes[Dd]=a,t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:Dd,field:"image"}}),s&&t.edges.push({source:{node_id:It,field:"metadata"},destination:{node_id:Dd,field:"metadata"}})},Mm=(e,t,n=Or)=>{const{vae:r}=e.generation,i=!r,o=t.nodes[It];i||(t.nodes[Qh]={type:"vae_loader",id:Qh,is_intermediate:!0,vae_model:r});const s=n==rS;(t.id===gE||t.id===Z1)&&t.edges.push({source:{node_id:i?n:Qh,field:i&&s?"vae_decoder":"vae"},destination:{node_id:Rt,field:"vae"}}),t.id===Z1&&t.edges.push({source:{node_id:i?n:Qh,field:i&&s?"vae_decoder":"vae"},destination:{node_id:un,field:"vae"}}),t.id===jU&&t.edges.push({source:{node_id:i?n:Qh,field:i&&s?"vae_decoder":"vae"},destination:{node_id:ds,field:"vae"}}),r&&o&&(o.vae=r)},Ac=(e,t,n=Rt)=>{const i=Tz(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[Dd],a=t.nodes[It];if(!o)return;const l={id:Yh,type:"img_watermark",is_intermediate:i};t.nodes[Yh]=l,o.is_intermediate=!0,s?(s.is_intermediate=!0,t.edges.push({source:{node_id:Dd,field:"image"},destination:{node_id:Yh,field:"image"}})):t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:Yh,field:"image"}}),a&&t.edges.push({source:{node_id:It,field:"metadata"},destination:{node_id:Yh,field:"metadata"}})},pCe=(e,t)=>{const n=Ie("nodes"),{positivePrompt:r,negativePrompt:i,model:o,cfgScale:s,scheduler:a,steps:l,img2imgStrength:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:p}=e.generation,{width:g,height:m}=e.canvas.boundingBoxDimensions,{shouldAutoSave:v}=e.canvas;if(!o)throw n.error("No model found in state"),new Error("No model found in state");const x=p?f:La.shouldUseCpuNoise,_={id:Z1,nodes:{[vt]:{type:"compel",id:vt,is_intermediate:!0,prompt:r},[Pt]:{type:"compel",id:Pt,is_intermediate:!0,prompt:i},[mt]:{type:"noise",id:mt,is_intermediate:!0,use_cpu:x},[Or]:{type:"main_model_loader",id:Or,is_intermediate:!0,model:o},[qt]:{type:"clip_skip",id:qt,is_intermediate:!0,skipped_layers:d},[Bn]:{type:"l2l",id:Bn,is_intermediate:!0,cfg_scale:s,scheduler:a,steps:l,strength:u},[un]:{type:"i2l",id:un,is_intermediate:!0},[Rt]:{type:"l2i",id:Rt,is_intermediate:!v}},edges:[{source:{node_id:Or,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:vt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:Pt,field:"clip"}},{source:{node_id:Bn,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:un,field:"latents"},destination:{node_id:Bn,field:"latents"}},{source:{node_id:mt,field:"noise"},destination:{node_id:Bn,field:"noise"}},{source:{node_id:Or,field:"unet"},destination:{node_id:Bn,field:"unet"}},{source:{node_id:Pt,field:"conditioning"},destination:{node_id:Bn,field:"negative_conditioning"}},{source:{node_id:vt,field:"conditioning"},destination:{node_id:Bn,field:"positive_conditioning"}}]};if(t.width!==g||t.height!==m){const b={id:ii,type:"img_resize",image:{image_name:t.image_name},is_intermediate:!0,width:g,height:m};_.nodes[ii]=b,_.edges.push({source:{node_id:ii,field:"image"},destination:{node_id:un,field:"image"}}),_.edges.push({source:{node_id:ii,field:"width"},destination:{node_id:mt,field:"width"}}),_.edges.push({source:{node_id:ii,field:"height"},destination:{node_id:mt,field:"height"}})}else _.nodes[un].image={image_name:t.image_name},_.edges.push({source:{node_id:un,field:"width"},destination:{node_id:mt,field:"width"}}),_.edges.push({source:{node_id:un,field:"height"},destination:{node_id:mt,field:"height"}});return _.nodes[It]={id:It,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:s,height:m,width:g,positive_prompt:"",negative_prompt:i,model:o,seed:0,steps:l,rand_device:x?"cpu":"cuda",scheduler:a,vae:void 0,controlnets:[],loras:[],clip_skip:d,strength:u,init_image:t.image_name},_.edges.push({source:{node_id:It,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,_,Bn),Mm(e,_),qf(e,_),YS(e,_,Bn),e.system.shouldUseNSFWChecker&&Ec(e,_),e.system.shouldUseWatermarker&&Ac(e,_),_},gCe=(e,t,n)=>{const r=Ie("nodes"),{positivePrompt:i,negativePrompt:o,model:s,cfgScale:a,scheduler:l,steps:u,img2imgStrength:d,shouldFitToWidthHeight:f,iterations:p,seed:g,shouldRandomizeSeed:m,seamSize:v,seamBlur:x,seamSteps:_,seamStrength:b,tileSize:y,infillMethod:S,clipSkip:C}=e.generation;if(!s)throw r.error("No model found in state"),new Error("No model found in state");const{width:T,height:E}=e.canvas.boundingBoxDimensions,{scaledBoundingBoxDimensions:P,boundingBoxScaleMethod:k,shouldAutoSave:O}=e.canvas,M={id:jU,nodes:{[ds]:{is_intermediate:!O,type:"inpaint",id:ds,steps:u,width:T,height:E,cfg_scale:a,scheduler:l,image:{image_name:t.image_name},strength:d,fit:f,mask:{image_name:n.image_name},seam_size:v,seam_blur:x,seam_strength:b,seam_steps:_,tile_size:S==="tile"?y:void 0,infill_method:S,inpaint_width:k!=="none"?P.width:void 0,inpaint_height:k!=="none"?P.height:void 0},[vt]:{type:"compel",id:vt,is_intermediate:!0,prompt:i},[Pt]:{type:"compel",id:Pt,is_intermediate:!0,prompt:o},[Or]:{type:"main_model_loader",id:Or,is_intermediate:!0,model:s},[qt]:{type:"clip_skip",id:qt,is_intermediate:!0,skipped_layers:C},[fa]:{type:"range_of_size",id:fa,is_intermediate:!0,size:p,step:1},[vi]:{type:"iterate",id:vi,is_intermediate:!0}},edges:[{source:{node_id:Or,field:"unet"},destination:{node_id:ds,field:"unet"}},{source:{node_id:Or,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:vt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:Pt,field:"clip"}},{source:{node_id:Pt,field:"conditioning"},destination:{node_id:ds,field:"negative_conditioning"}},{source:{node_id:vt,field:"conditioning"},destination:{node_id:ds,field:"positive_conditioning"}},{source:{node_id:fa,field:"collection"},destination:{node_id:vi,field:"collection"}},{source:{node_id:vi,field:"item"},destination:{node_id:ds,field:"seed"}}]};if(Im(e,M,ds),Mm(e,M),m){const G={id:ms,type:"rand_int"};M.nodes[ms]=G,M.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:fa,field:"start"}})}else M.nodes[fa].start=g;return e.system.shouldUseNSFWChecker&&Ec(e,M,ds),e.system.shouldUseWatermarker&&Ac(e,M,ds),M},mCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,clipSkip:l,shouldUseCpuNoise:u,shouldUseNoiseSettings:d}=e.generation,{width:f,height:p}=e.canvas.boundingBoxDimensions,{shouldAutoSave:g}=e.canvas;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const m=d?u:La.shouldUseCpuNoise,v=i.model_type==="onnx",x=v?rS:Or,_=v?"onnx_model_loader":"main_model_loader",b=v?{type:"t2l_onnx",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a}:{type:"t2l",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a},y={id:gE,nodes:{[vt]:{type:v?"prompt_onnx":"compel",id:vt,is_intermediate:!0,prompt:n},[Pt]:{type:v?"prompt_onnx":"compel",id:Pt,is_intermediate:!0,prompt:r},[mt]:{type:"noise",id:mt,is_intermediate:!0,width:f,height:p,use_cpu:m},[b.id]:b,[x]:{type:_,id:x,is_intermediate:!0,model:i},[qt]:{type:"clip_skip",id:qt,is_intermediate:!0,skipped_layers:l},[Rt]:{type:v?"l2i_onnx":"l2i",id:Rt,is_intermediate:!g}},edges:[{source:{node_id:Pt,field:"conditioning"},destination:{node_id:cr,field:"negative_conditioning"}},{source:{node_id:vt,field:"conditioning"},destination:{node_id:cr,field:"positive_conditioning"}},{source:{node_id:x,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:vt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:Pt,field:"clip"}},{source:{node_id:x,field:"unet"},destination:{node_id:cr,field:"unet"}},{source:{node_id:cr,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:mt,field:"noise"},destination:{node_id:cr,field:"noise"}}]};return y.nodes[It]={id:It,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:p,width:f,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:m?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:l},y.edges.push({source:{node_id:It,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,y,cr,x),Mm(e,y,x),qf(e,y),YS(e,y,cr),e.system.shouldUseNSFWChecker&&Ec(e,y),e.system.shouldUseWatermarker&&Ac(e,y),y},yCe=(e,t,n,r)=>{let i;if(t==="txt2img")i=mCe(e);else if(t==="img2img"){if(!n)throw new Error("Missing canvas init image");i=pCe(e,n)}else{if(!n||!r)throw new Error("Missing canvas init and mask images");i=gCe(e,n,r)}return i},vCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="unifiedCanvas",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),{layerState:s,boundingBoxCoordinates:a,boundingBoxDimensions:l,isMaskEnabled:u,shouldPreserveMaskedArea:d}=o.canvas,f=await uCe(s,a,l,u,d);if(!f){i.error("Unable to create canvas data");return}const{baseBlob:p,baseImageData:g,maskBlob:m,maskImageData:v}=f,x=fCe(g,v);if(o.system.enableImageDebugging){const E=await FO(p),P=await FO(m);lSe([{base64:P,caption:"mask b64"},{base64:E,caption:"image b64"}])}i.debug(`Generation mode: ${x}`);let _,b;["img2img","inpaint","outpaint"].includes(x)&&(_=await n(Se.endpoints.uploadImage.initiate({file:new File([p],"canvasInitImage.png",{type:"image/png"}),image_category:"general",is_intermediate:!0})).unwrap()),["inpaint","outpaint"].includes(x)&&(b=await n(Se.endpoints.uploadImage.initiate({file:new File([m],"canvasMaskImage.png",{type:"image/png"}),image_category:"mask",is_intermediate:!0})).unwrap());const y=yCe(o,x,_,b);i.debug({graph:Da(y)},"Canvas graph built"),n(MU(y));const{requestId:S}=n(Mr({graph:y})),[C]=await r(E=>Mr.fulfilled.match(E)&&E.meta.requestId===S),T=C.payload.id;["img2img","inpaint"].includes(x)&&_&&n(Se.endpoints.changeImageSessionId.initiate({imageDTO:_,session_id:T})),["inpaint"].includes(x)&&b&&n(Se.endpoints.changeImageSessionId.initiate({imageDTO:b,session_id:T})),o.canvas.layerState.stagingArea.boundingBox||n(jue({sessionId:T,boundingBox:{...o.canvas.boundingBoxCoordinates,...o.canvas.boundingBoxDimensions}})),n(Gue(T)),n(yc())}})},_Ce=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,img2imgStrength:u,shouldFitToWidthHeight:d,width:f,height:p,clipSkip:g,shouldUseCpuNoise:m,shouldUseNoiseSettings:v,vaePrecision:x}=e.generation;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const _=v?m:La.shouldUseCpuNoise,b={id:Z1,nodes:{[Or]:{type:"main_model_loader",id:Or,model:i},[qt]:{type:"clip_skip",id:qt,skipped_layers:g},[vt]:{type:"compel",id:vt,prompt:n},[Pt]:{type:"compel",id:Pt,prompt:r},[mt]:{type:"noise",id:mt,use_cpu:_},[Rt]:{type:"l2i",id:Rt,fp32:x==="fp32"},[Bn]:{type:"l2l",id:Bn,cfg_scale:o,scheduler:s,steps:a,strength:u},[un]:{type:"i2l",id:un,fp32:x==="fp32"}},edges:[{source:{node_id:Or,field:"unet"},destination:{node_id:Bn,field:"unet"}},{source:{node_id:Or,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:vt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:Pt,field:"clip"}},{source:{node_id:Bn,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:un,field:"latents"},destination:{node_id:Bn,field:"latents"}},{source:{node_id:mt,field:"noise"},destination:{node_id:Bn,field:"noise"}},{source:{node_id:Pt,field:"conditioning"},destination:{node_id:Bn,field:"negative_conditioning"}},{source:{node_id:vt,field:"conditioning"},destination:{node_id:Bn,field:"positive_conditioning"}}]};if(d&&(l.width!==f||l.height!==p)){const y={id:ii,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:f,height:p};b.nodes[ii]=y,b.edges.push({source:{node_id:ii,field:"image"},destination:{node_id:un,field:"image"}}),b.edges.push({source:{node_id:ii,field:"width"},destination:{node_id:mt,field:"width"}}),b.edges.push({source:{node_id:ii,field:"height"},destination:{node_id:mt,field:"height"}})}else b.nodes[un].image={image_name:l.imageName},b.edges.push({source:{node_id:un,field:"width"},destination:{node_id:mt,field:"width"}}),b.edges.push({source:{node_id:un,field:"height"},destination:{node_id:mt,field:"height"}});return b.nodes[It]={id:It,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:o,height:p,width:f,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:_?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:g,strength:u,init_image:l.imageName},b.edges.push({source:{node_id:It,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,b,Bn),Mm(e,b),qf(e,b),YS(e,b,Bn),e.system.shouldUseNSFWChecker&&Ec(e,b),e.system.shouldUseWatermarker&&Ac(e,b),b},Ez=(e,t,n)=>{const{positivePrompt:r,negativePrompt:i}=e.generation,{refinerModel:o,refinerAestheticScore:s,positiveStylePrompt:a,negativeStylePrompt:l,refinerSteps:u,refinerScheduler:d,refinerCFGScale:f,refinerStart:p}=e.sdxl;if(!o)return;const g=t.nodes[It];g&&(g.refiner_model=o,g.refiner_aesthetic_store=s,g.refiner_cfg_scale=f,g.refiner_scheduler=d,g.refiner_start=p,g.refiner_steps=u),t.edges=t.edges.filter(m=>!(m.source.node_id===n&&["latents"].includes(m.source.field))),t.edges=t.edges.filter(m=>!(m.source.node_id===Zn&&["vae"].includes(m.source.field))),n===fs&&t.edges.push({source:{node_id:Zn,field:"vae"},destination:{node_id:un,field:"vae"}}),t.nodes[fd]={type:"sdxl_refiner_model_loader",id:fd,model:o},t.nodes[k0]={type:"sdxl_refiner_compel_prompt",id:k0,style:`${r} ${a}`,aesthetic_score:s},t.nodes[I0]={type:"sdxl_refiner_compel_prompt",id:I0,style:`${i} ${l}`,aesthetic_score:s},t.nodes[bu]={type:"l2l_sdxl",id:bu,cfg_scale:f,steps:u/(1-Math.min(p,.99)),scheduler:d,denoising_start:p,denoising_end:1},t.edges.push({source:{node_id:fd,field:"unet"},destination:{node_id:bu,field:"unet"}},{source:{node_id:fd,field:"vae"},destination:{node_id:Rt,field:"vae"}},{source:{node_id:fd,field:"clip2"},destination:{node_id:k0,field:"clip2"}},{source:{node_id:fd,field:"clip2"},destination:{node_id:I0,field:"clip2"}},{source:{node_id:k0,field:"conditioning"},destination:{node_id:bu,field:"positive_conditioning"}},{source:{node_id:I0,field:"conditioning"},destination:{node_id:bu,field:"negative_conditioning"}},{source:{node_id:n,field:"latents"},destination:{node_id:bu,field:"latents"}},{source:{node_id:bu,field:"latents"},destination:{node_id:Rt,field:"latents"}})},bCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,shouldFitToWidthHeight:u,width:d,height:f,clipSkip:p,shouldUseCpuNoise:g,shouldUseNoiseSettings:m,vaePrecision:v}=e.generation,{positiveStylePrompt:x,negativeStylePrompt:_,shouldConcatSDXLStylePrompt:b,shouldUseSDXLRefiner:y,refinerStart:S,sdxlImg2ImgDenoisingStrength:C}=e.sdxl;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const T=m?g:La.shouldUseCpuNoise,E={id:iSe,nodes:{[Zn]:{type:"sdxl_model_loader",id:Zn,model:i},[vt]:{type:"sdxl_compel_prompt",id:vt,prompt:n,style:b?`${n} ${x}`:x},[Pt]:{type:"sdxl_compel_prompt",id:Pt,prompt:r,style:b?`${r} ${_}`:_},[mt]:{type:"noise",id:mt,use_cpu:T},[Rt]:{type:"l2i",id:Rt,fp32:v==="fp32"},[fs]:{type:"l2l_sdxl",id:fs,cfg_scale:o,scheduler:s,steps:a,denoising_start:y?Math.min(S,1-C):1-C,denoising_end:y?S:1},[un]:{type:"i2l",id:un,fp32:v==="fp32"}},edges:[{source:{node_id:Zn,field:"unet"},destination:{node_id:fs,field:"unet"}},{source:{node_id:Zn,field:"vae"},destination:{node_id:Rt,field:"vae"}},{source:{node_id:Zn,field:"vae"},destination:{node_id:un,field:"vae"}},{source:{node_id:Zn,field:"clip"},destination:{node_id:vt,field:"clip"}},{source:{node_id:Zn,field:"clip2"},destination:{node_id:vt,field:"clip2"}},{source:{node_id:Zn,field:"clip"},destination:{node_id:Pt,field:"clip"}},{source:{node_id:Zn,field:"clip2"},destination:{node_id:Pt,field:"clip2"}},{source:{node_id:fs,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:un,field:"latents"},destination:{node_id:fs,field:"latents"}},{source:{node_id:mt,field:"noise"},destination:{node_id:fs,field:"noise"}},{source:{node_id:vt,field:"conditioning"},destination:{node_id:fs,field:"positive_conditioning"}},{source:{node_id:Pt,field:"conditioning"},destination:{node_id:fs,field:"negative_conditioning"}}]};if(u&&(l.width!==d||l.height!==f)){const P={id:ii,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:d,height:f};E.nodes[ii]=P,E.edges.push({source:{node_id:ii,field:"image"},destination:{node_id:un,field:"image"}}),E.edges.push({source:{node_id:ii,field:"width"},destination:{node_id:mt,field:"width"}}),E.edges.push({source:{node_id:ii,field:"height"},destination:{node_id:mt,field:"height"}})}else E.nodes[un].image={image_name:l.imageName},E.edges.push({source:{node_id:un,field:"width"},destination:{node_id:mt,field:"width"}}),E.edges.push({source:{node_id:un,field:"height"},destination:{node_id:mt,field:"height"}});return E.nodes[It]={id:It,type:"metadata_accumulator",generation_mode:"sdxl_img2img",cfg_scale:o,height:f,width:d,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:T?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:p,strength:C,init_image:l.imageName,positive_style_prompt:x,negative_style_prompt:_},E.edges.push({source:{node_id:It,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),y&&Ez(e,E,fs),qf(e,E),e.system.shouldUseNSFWChecker&&Ec(e,E),e.system.shouldUseWatermarker&&Ac(e,E),E},SCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="img2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=bCe(o):a=_Ce(o),n(IU(a)),i.debug({graph:Da(a)},"Image to Image graph built"),n(Mr({graph:a})),await r(Mr.fulfilled.match),n(yc())}})};let B0;const wCe=new Uint8Array(16);function xCe(){if(!B0&&(B0=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!B0))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return B0(wCe)}const Er=[];for(let e=0;e<256;++e)Er.push((e+256).toString(16).slice(1));function CCe(e,t=0){return(Er[e[t+0]]+Er[e[t+1]]+Er[e[t+2]]+Er[e[t+3]]+"-"+Er[e[t+4]]+Er[e[t+5]]+"-"+Er[e[t+6]]+Er[e[t+7]]+"-"+Er[e[t+8]]+Er[e[t+9]]+"-"+Er[e[t+10]]+Er[e[t+11]]+Er[e[t+12]]+Er[e[t+13]]+Er[e[t+14]]+Er[e[t+15]]).toLowerCase()}const TCe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),bk={randomUUID:TCe};function ECe(e,t,n){if(bk.randomUUID&&!t&&!e)return bk.randomUUID();e=e||{};const r=e.random||(e.rng||xCe)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=r[i];return t}return CCe(r)}const ACe=e=>{if(e.type==="color"&&e.value){const t=zr(e.value),{r:n,g:r,b:i,a:o}=e.value,s=Math.max(0,Math.min(o*255,255));return Object.assign(t,{r:n,g:r,b:i,a:s}),t}return e.value},PCe=e=>{const{nodes:t,edges:n}=e.nodes,i=t.filter(a=>a.type!=="progress_image").reduce((a,l)=>{const{id:u,data:d}=l,{type:f,inputs:p}=d,g=_T(p,(v,x,_)=>{const b=ACe(x);return v[_]=b,v},{}),m={type:f,id:u,...g};return Object.assign(a,{[u]:m}),a},{}),o=n.reduce((a,l)=>{const{source:u,target:d,sourceHandle:f,targetHandle:p}=l;return a.push({source:{node_id:u,field:f},destination:{node_id:d,field:p}}),a},[]);return o.forEach(a=>{const l=i[a.destination.node_id],u=a.destination.field;i[a.destination.node_id]=rb(l,u)}),{id:ECe(),nodes:i,edges:o}},RCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="nodes",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),s=PCe(o);n(NU(s)),i.debug({graph:Da(s)},"Nodes graph built"),n(Mr({graph:s})),await r(Mr.fulfilled.match),n(yc())}})},OCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:p,vaePrecision:g}=e.generation,{positiveStylePrompt:m,negativeStylePrompt:v,shouldConcatSDXLStylePrompt:x,shouldUseSDXLRefiner:_,refinerStart:b}=e.sdxl,y=p?f:La.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const S={id:rSe,nodes:{[Zn]:{type:"sdxl_model_loader",id:Zn,model:i},[vt]:{type:"sdxl_compel_prompt",id:vt,prompt:n,style:x?`${n} ${m}`:m},[Pt]:{type:"sdxl_compel_prompt",id:Pt,prompt:r,style:x?`${r} ${v}`:v},[mt]:{type:"noise",id:mt,width:l,height:u,use_cpu:y},[il]:{type:"t2l_sdxl",id:il,cfg_scale:o,scheduler:s,steps:a,denoising_end:_?b:1},[Rt]:{type:"l2i",id:Rt,fp32:g==="fp32"}},edges:[{source:{node_id:Zn,field:"unet"},destination:{node_id:il,field:"unet"}},{source:{node_id:Zn,field:"vae"},destination:{node_id:Rt,field:"vae"}},{source:{node_id:Zn,field:"clip"},destination:{node_id:vt,field:"clip"}},{source:{node_id:Zn,field:"clip2"},destination:{node_id:vt,field:"clip2"}},{source:{node_id:Zn,field:"clip"},destination:{node_id:Pt,field:"clip"}},{source:{node_id:Zn,field:"clip2"},destination:{node_id:Pt,field:"clip2"}},{source:{node_id:vt,field:"conditioning"},destination:{node_id:il,field:"positive_conditioning"}},{source:{node_id:Pt,field:"conditioning"},destination:{node_id:il,field:"negative_conditioning"}},{source:{node_id:mt,field:"noise"},destination:{node_id:il,field:"noise"}},{source:{node_id:il,field:"latents"},destination:{node_id:Rt,field:"latents"}}]};return S.nodes[It]={id:It,type:"metadata_accumulator",generation_mode:"sdxl_txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:y?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:d,positive_style_prompt:m,negative_style_prompt:v},S.edges.push({source:{node_id:It,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),_&&Ez(e,S,il),qf(e,S),e.system.shouldUseNSFWChecker&&Ec(e,S),e.system.shouldUseWatermarker&&Ac(e,S),S},kCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:p,vaePrecision:g}=e.generation,m=p?f:La.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const v=i.model_type==="onnx",x=v?rS:Or,_=v?"onnx_model_loader":"main_model_loader",b=v?{type:"t2l_onnx",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a}:{type:"t2l",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a},y={id:gE,nodes:{[vt]:{type:v?"prompt_onnx":"compel",id:vt,prompt:n,is_intermediate:!0},[Pt]:{type:v?"prompt_onnx":"compel",id:Pt,prompt:r,is_intermediate:!0},[mt]:{type:"noise",id:mt,width:l,height:u,use_cpu:m,is_intermediate:!0},[b.id]:b,[x]:{type:_,id:x,is_intermediate:!0,model:i},[qt]:{type:"clip_skip",id:qt,skipped_layers:d,is_intermediate:!0},[Rt]:{type:v?"l2i_onnx":"l2i",id:Rt,fp32:g==="fp32"}},edges:[{source:{node_id:x,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:x,field:"unet"},destination:{node_id:cr,field:"unet"}},{source:{node_id:qt,field:"clip"},destination:{node_id:vt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:Pt,field:"clip"}},{source:{node_id:vt,field:"conditioning"},destination:{node_id:cr,field:"positive_conditioning"}},{source:{node_id:Pt,field:"conditioning"},destination:{node_id:cr,field:"negative_conditioning"}},{source:{node_id:cr,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:mt,field:"noise"},destination:{node_id:cr,field:"noise"}}]};return y.nodes[It]={id:It,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:m?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:d},y.edges.push({source:{node_id:It,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,y,cr,x),Mm(e,y,x),qf(e,y),YS(e,y,cr),e.system.shouldUseNSFWChecker&&Ec(e,y),e.system.shouldUseWatermarker&&Ac(e,y),y},ICe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="txt2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=OCe(o):a=kCe(o),n(kU(a)),i.debug({graph:Da(a)},"Text to Image graph built"),n(Mr({graph:a})),await r(Mr.fulfilled.match),n(yc())}})},Az=vL(),Pe=Az.startListening;j_e();G_e();q_e();N_e();L_e();D_e();$_e();F_e();h_e();V_e();vCe();RCe();ICe();SCe();Bbe();P_e();T_e();x_e();A_e();Jbe();a_e();Vbe();jbe();Hbe();Wbe();Kbe();Ube();zbe();Qbe();Zbe();Xbe();Ybe();qbe();Mbe();Nbe();Lbe();Dbe();$be();Fbe();Obe();kbe();Ibe();k_e();O_e();I_e();M_e();U_e();z_e();p_e();Cbe();B_e();K_e();d_e();Y_e();u_e();l_e();aSe();tSe();const MCe={canvas:Hue,gallery:Jde,generation:xue,nodes:Bve,postprocessing:Uve,system:h1e,config:rle,ui:Tue,hotkeys:y1e,controlNet:Yde,dynamicPrompts:Zde,deleteImageModal:rfe,changeBoardModal:ofe,lora:afe,modelmanager:m1e,sdxl:jve,[Gl.reducerPath]:Gl.reducer},NCe=Ff(MCe),LCe=V1e(NCe),DCe=["canvas","gallery","generation","sdxl","nodes","postprocessing","system","ui","controlNet","dynamicPrompts","lora","modelmanager"],$Ce=ZN({reducer:LCe,enhancers:e=>e.concat(j1e(window.localStorage,DCe,{persistDebounce:300,serialize:e_e,unserialize:n_e,prefix:G1e})).concat(bL()),middleware:e=>e({immutableCheck:!1,serializableCheck:!1}).concat(Gl.middleware).concat(S1e).prepend(Az.middleware),devTools:{actionSanitizer:i_e,stateSanitizer:s_e,trace:!0,predicate:(e,t)=>!o_e.includes(t.type)}}),oMe=e=>e,FCe=e=>{const{socket:t,storeApi:n}=e,{dispatch:r,getState:i}=n;t.on("connect",()=>{Ie("socketio").debug("Connected"),r(j$());const{sessionId:s}=i().system;s&&(t.emit("subscribe",{session:s}),r(MT({sessionId:s})))}),t.on("connect_error",o=>{o&&o.message&&o.data==="ERR_UNAUTHENTICATED"&&r(Un(Ku({title:o.message,status:"error",duration:1e4})))}),t.on("disconnect",()=>{r(H$())}),t.on("invocation_started",o=>{r(Y$({data:o}))}),t.on("generator_progress",o=>{r(nF({data:o}))}),t.on("invocation_error",o=>{r(J$({data:o}))}),t.on("invocation_complete",o=>{r(NT({data:o}))}),t.on("graph_execution_state_complete",o=>{r(eF({data:o}))}),t.on("model_load_started",o=>{r(iF({data:o}))}),t.on("model_load_completed",o=>{r(oF({data:o}))}),t.on("session_retrieval_error",o=>{r(sF({data:o}))}),t.on("invocation_retrieval_error",o=>{r(lF({data:o}))})},Ds=Object.create(null);Ds.open="0";Ds.close="1";Ds.ping="2";Ds.pong="3";Ds.message="4";Ds.upgrade="5";Ds.noop="6";const Sv=Object.create(null);Object.keys(Ds).forEach(e=>{Sv[Ds[e]]=e});const BCe={type:"error",data:"parser error"},Pz=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",Rz=typeof ArrayBuffer=="function",Oz=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,kE=({type:e,data:t},n,r)=>Pz&&t instanceof Blob?n?r(t):Sk(t,r):Rz&&(t instanceof ArrayBuffer||Oz(t))?n?r(t):Sk(new Blob([t]),r):r(Ds[e]+(t||"")),Sk=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)};function wk(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let Wx;function UCe(e,t){if(Pz&&e.data instanceof Blob)return e.data.arrayBuffer().then(wk).then(t);if(Rz&&(e.data instanceof ArrayBuffer||Oz(e.data)))return t(wk(e.data));kE(e,!1,n=>{Wx||(Wx=new TextEncoder),t(Wx.encode(n))})}const xk="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",hp=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,n=e.length,r,i=0,o,s,a,l;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);const u=new ArrayBuffer(t),d=new Uint8Array(u);for(r=0;r>4,d[i++]=(s&15)<<4|a>>2,d[i++]=(a&3)<<6|l&63;return u},VCe=typeof ArrayBuffer=="function",IE=(e,t)=>{if(typeof e!="string")return{type:"message",data:kz(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:jCe(e.substring(1),t)}:Sv[n]?e.length>1?{type:Sv[n],data:e.substring(1)}:{type:Sv[n]}:BCe},jCe=(e,t)=>{if(VCe){const n=zCe(e);return kz(n,t)}else return{base64:!0,data:e}},kz=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},Iz=String.fromCharCode(30),GCe=(e,t)=>{const n=e.length,r=new Array(n);let i=0;e.forEach((o,s)=>{kE(o,!1,a=>{r[s]=a,++i===n&&t(r.join(Iz))})})},HCe=(e,t)=>{const n=e.split(Iz),r=[];for(let i=0;i54;return IE(r?e:qx.decode(e),n)}const Mz=4;function Gn(e){if(e)return qCe(e)}function qCe(e){for(var t in Gn.prototype)e[t]=Gn.prototype[t];return e}Gn.prototype.on=Gn.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this};Gn.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this};Gn.prototype.off=Gn.prototype.removeListener=Gn.prototype.removeAllListeners=Gn.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var n=this._callbacks["$"+e];if(!n)return this;if(arguments.length==1)return delete this._callbacks["$"+e],this;for(var r,i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function Nz(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const KCe=yo.setTimeout,XCe=yo.clearTimeout;function QS(e,t){t.useNativeTimers?(e.setTimeoutFn=KCe.bind(yo),e.clearTimeoutFn=XCe.bind(yo)):(e.setTimeoutFn=yo.setTimeout.bind(yo),e.clearTimeoutFn=yo.clearTimeout.bind(yo))}const YCe=1.33;function QCe(e){return typeof e=="string"?ZCe(e):Math.ceil((e.byteLength||e.size)*YCe)}function ZCe(e){let t=0,n=0;for(let r=0,i=e.length;r=57344?n+=3:(r++,n+=4);return n}function JCe(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}function e3e(e){let t={},n=e.split("&");for(let r=0,i=n.length;r0);return t}function Dz(){const e=Ek(+new Date);return e!==Tk?(Ck=0,Tk=e):e+"."+Ek(Ck++)}for(;U0{this.readyState="paused",t()};if(this.polling||!this.writable){let r=0;this.polling&&(r++,this.once("pollComplete",function(){--r||n()})),this.writable||(r++,this.once("drain",function(){--r||n()}))}else n()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(t){const n=r=>{if(this.readyState==="opening"&&r.type==="open"&&this.onOpen(),r.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(r)};HCe(t,this.socket.binaryType).forEach(n),this.readyState!=="closed"&&(this.polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this.poll())}doClose(){const t=()=>{this.write([{type:"close"}])};this.readyState==="open"?t():this.once("open",t)}write(t){this.writable=!1,GCe(t,n=>{this.doWrite(n,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const t=this.opts.secure?"https":"http",n=this.query||{};return this.opts.timestampRequests!==!1&&(n[this.opts.timestampParam]=Dz()),!this.supportsBinary&&!n.sid&&(n.b64=1),this.createUri(t,n)}request(t={}){return Object.assign(t,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new af(this.uri(),t)}doWrite(t,n){const r=this.request({method:"POST",data:t});r.on("success",n),r.on("error",(i,o)=>{this.onError("xhr post error",i,o)})}doPoll(){const t=this.request();t.on("data",this.onData.bind(this)),t.on("error",(n,r)=>{this.onError("xhr poll error",n,r)}),this.pollXhr=t}}let af=class wv extends Gn{constructor(t,n){super(),QS(this,n),this.opts=n,this.method=n.method||"GET",this.uri=t,this.data=n.data!==void 0?n.data:null,this.create()}create(){var t;const n=Nz(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this.opts.xd;const r=this.xhr=new Fz(n);try{r.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let i in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&r.setRequestHeader(i,this.opts.extraHeaders[i])}}catch{}if(this.method==="POST")try{r.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{r.setRequestHeader("Accept","*/*")}catch{}(t=this.opts.cookieJar)===null||t===void 0||t.addCookies(r),"withCredentials"in r&&(r.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(r.timeout=this.opts.requestTimeout),r.onreadystatechange=()=>{var i;r.readyState===3&&((i=this.opts.cookieJar)===null||i===void 0||i.parseCookies(r)),r.readyState===4&&(r.status===200||r.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof r.status=="number"?r.status:0)},0))},r.send(this.data)}catch(i){this.setTimeoutFn(()=>{this.onError(i)},0);return}typeof document<"u"&&(this.index=wv.requestsCount++,wv.requests[this.index]=this)}onError(t){this.emitReserved("error",t,this.xhr),this.cleanup(!0)}cleanup(t){if(!(typeof this.xhr>"u"||this.xhr===null)){if(this.xhr.onreadystatechange=i3e,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete wv.requests[this.index],this.xhr=null}}onLoad(){const t=this.xhr.responseText;t!==null&&(this.emitReserved("data",t),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}};af.requestsCount=0;af.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",Ak);else if(typeof addEventListener=="function"){const e="onpagehide"in yo?"pagehide":"unload";addEventListener(e,Ak,!1)}}function Ak(){for(let e in af.requests)af.requests.hasOwnProperty(e)&&af.requests[e].abort()}const NE=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),z0=yo.WebSocket||yo.MozWebSocket,Pk=!0,a3e="arraybuffer",Rk=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class l3e extends ME{constructor(t){super(t),this.supportsBinary=!t.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const t=this.uri(),n=this.opts.protocols,r=Rk?{}:Nz(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(r.headers=this.opts.extraHeaders);try{this.ws=Pk&&!Rk?n?new z0(t,n):new z0(t):new z0(t,n,r)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType||a3e,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=t=>this.onClose({description:"websocket connection closed",context:t}),this.ws.onmessage=t=>this.onData(t.data),this.ws.onerror=t=>this.onError("websocket error",t)}write(t){this.writable=!1;for(let n=0;n{const s={};try{Pk&&this.ws.send(o)}catch{}i&&NE(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){const t=this.opts.secure?"wss":"ws",n=this.query||{};return this.opts.timestampRequests&&(n[this.opts.timestampParam]=Dz()),this.supportsBinary||(n.b64=1),this.createUri(t,n)}check(){return!!z0}}function u3e(e,t){return e.type==="message"&&typeof e.data!="string"&&t[0]>=48&&t[0]<=54}class c3e extends ME{get name(){return"webtransport"}doOpen(){typeof WebTransport=="function"&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then(()=>{this.onClose()}).catch(t=>{this.onError("webtransport error",t)}),this.transport.ready.then(()=>{this.transport.createBidirectionalStream().then(t=>{const n=t.readable.getReader();this.writer=t.writable.getWriter();let r;const i=()=>{n.read().then(({done:s,value:a})=>{s||(!r&&a.byteLength===1&&a[0]===54?r=!0:(this.onPacket(WCe(a,r,"arraybuffer")),r=!1),i())}).catch(s=>{})};i();const o=this.query.sid?`0{"sid":"${this.query.sid}"}`:"0";this.writer.write(new TextEncoder().encode(o)).then(()=>this.onOpen())})}))}write(t){this.writable=!1;for(let n=0;n{u3e(r,o)&&this.writer.write(Uint8Array.of(54)),this.writer.write(o).then(()=>{i&&NE(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})})}}doClose(){var t;(t=this.transport)===null||t===void 0||t.close()}}const d3e={websocket:l3e,webtransport:c3e,polling:s3e},f3e=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,h3e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function p5(e){const t=e,n=e.indexOf("["),r=e.indexOf("]");n!=-1&&r!=-1&&(e=e.substring(0,n)+e.substring(n,r).replace(/:/g,";")+e.substring(r,e.length));let i=f3e.exec(e||""),o={},s=14;for(;s--;)o[h3e[s]]=i[s]||"";return n!=-1&&r!=-1&&(o.source=t,o.host=o.host.substring(1,o.host.length-1).replace(/;/g,":"),o.authority=o.authority.replace("[","").replace("]","").replace(/;/g,":"),o.ipv6uri=!0),o.pathNames=p3e(o,o.path),o.queryKey=g3e(o,o.query),o}function p3e(e,t){const n=/\/{2,9}/g,r=t.replace(n,"/").split("/");return(t.slice(0,1)=="/"||t.length===0)&&r.splice(0,1),t.slice(-1)=="/"&&r.splice(r.length-1,1),r}function g3e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,i,o){i&&(n[i]=o)}),n}let Bz=class Sd extends Gn{constructor(t,n={}){super(),this.writeBuffer=[],t&&typeof t=="object"&&(n=t,t=null),t?(t=p5(t),n.hostname=t.host,n.secure=t.protocol==="https"||t.protocol==="wss",n.port=t.port,t.query&&(n.query=t.query)):n.host&&(n.hostname=p5(n.host).host),QS(this,n),this.secure=n.secure!=null?n.secure:typeof location<"u"&&location.protocol==="https:",n.hostname&&!n.port&&(n.port=this.secure?"443":"80"),this.hostname=n.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=n.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=n.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},n),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=e3e(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,typeof addEventListener=="function"&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(t){const n=Object.assign({},this.opts.query);n.EIO=Mz,n.transport=t,this.id&&(n.sid=this.id);const r=Object.assign({},this.opts,{query:n,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[t]);return new d3e[t](r)}open(){let t;if(this.opts.rememberUpgrade&&Sd.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)t="websocket";else if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}else t=this.transports[0];this.readyState="opening";try{t=this.createTransport(t)}catch{this.transports.shift(),this.open();return}t.open(),this.setTransport(t)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",n=>this.onClose("transport close",n))}probe(t){let n=this.createTransport(t),r=!1;Sd.priorWebsocketSuccess=!1;const i=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",f=>{if(!r)if(f.type==="pong"&&f.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Sd.priorWebsocketSuccess=n.name==="websocket",this.transport.pause(()=>{r||this.readyState!=="closed"&&(d(),this.setTransport(n),n.send([{type:"upgrade"}]),this.emitReserved("upgrade",n),n=null,this.upgrading=!1,this.flush())})}else{const p=new Error("probe error");p.transport=n.name,this.emitReserved("upgradeError",p)}}))};function o(){r||(r=!0,d(),n.close(),n=null)}const s=f=>{const p=new Error("probe error: "+f);p.transport=n.name,o(),this.emitReserved("upgradeError",p)};function a(){s("transport closed")}function l(){s("socket closed")}function u(f){n&&f.name!==n.name&&o()}const d=()=>{n.removeListener("open",i),n.removeListener("error",s),n.removeListener("close",a),this.off("close",l),this.off("upgrading",u)};n.once("open",i),n.once("error",s),n.once("close",a),this.once("close",l),this.once("upgrading",u),this.upgrades.indexOf("webtransport")!==-1&&t!=="webtransport"?this.setTimeoutFn(()=>{r||n.open()},200):n.open()}onOpen(){if(this.readyState="open",Sd.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade){let t=0;const n=this.upgrades.length;for(;t{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const t=this.getWritablePackets();this.transport.send(t),this.prevBufferLen=t.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let n=1;for(let r=0;r0&&n>this.maxPayload)return this.writeBuffer.slice(0,r);n+=2}return this.writeBuffer}write(t,n,r){return this.sendPacket("message",t,n,r),this}send(t,n,r){return this.sendPacket("message",t,n,r),this}sendPacket(t,n,r,i){if(typeof n=="function"&&(i=n,n=void 0),typeof r=="function"&&(i=r,r=null),this.readyState==="closing"||this.readyState==="closed")return;r=r||{},r.compress=r.compress!==!1;const o={type:t,data:n,options:r};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),i&&this.once("flush",i),this.flush()}close(){const t=()=>{this.onClose("forced close"),this.transport.close()},n=()=>{this.off("upgrade",n),this.off("upgradeError",n),t()},r=()=>{this.once("upgrade",n),this.once("upgradeError",n)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?r():t()}):this.upgrading?r():t()),this}onError(t){Sd.priorWebsocketSuccess=!1,this.emitReserved("error",t),this.onClose("transport error",t)}onClose(t,n){(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")&&(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),typeof removeEventListener=="function"&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",t,n),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(t){const n=[];let r=0;const i=t.length;for(;rtypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,Uz=Object.prototype.toString,_3e=typeof Blob=="function"||typeof Blob<"u"&&Uz.call(Blob)==="[object BlobConstructor]",b3e=typeof File=="function"||typeof File<"u"&&Uz.call(File)==="[object FileConstructor]";function LE(e){return y3e&&(e instanceof ArrayBuffer||v3e(e))||_3e&&e instanceof Blob||b3e&&e instanceof File}function xv(e,t){if(!e||typeof e!="object")return!1;if(Array.isArray(e)){for(let n=0,r=e.length;n=0&&e.num{delete this.acks[t];for(let s=0;s{this.io.clearTimeoutFn(o),n.apply(this,[null,...s])}}emitWithAck(t,...n){const r=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((i,o)=>{n.push((s,a)=>r?s?o(s):i(a):i(s)),this.emit(t,...n)})}_addToQueue(t){let n;typeof t[t.length-1]=="function"&&(n=t.pop());const r={id:this._queueSeq++,tryCount:0,pending:!1,args:t,flags:Object.assign({fromQueue:!0},this.flags)};t.push((i,...o)=>r!==this._queue[0]?void 0:(i!==null?r.tryCount>this._opts.retries&&(this._queue.shift(),n&&n(i)):(this._queue.shift(),n&&n(null,...o)),r.pending=!1,this._drainQueue())),this._queue.push(r),this._drainQueue()}_drainQueue(t=!1){if(!this.connected||this._queue.length===0)return;const n=this._queue[0];n.pending&&!t||(n.pending=!0,n.tryCount++,this.flags=n.flags,this.emit.apply(this,n.args))}packet(t){t.nsp=this.nsp,this.io._packet(t)}onopen(){typeof this.auth=="function"?this.auth(t=>{this._sendConnectPacket(t)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(t){this.packet({type:pt.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},t):t})}onerror(t){this.connected||this.emitReserved("connect_error",t)}onclose(t,n){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,n)}onpacket(t){if(t.nsp===this.nsp)switch(t.type){case pt.CONNECT:t.data&&t.data.sid?this.onconnect(t.data.sid,t.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case pt.EVENT:case pt.BINARY_EVENT:this.onevent(t);break;case pt.ACK:case pt.BINARY_ACK:this.onack(t);break;case pt.DISCONNECT:this.ondisconnect();break;case pt.CONNECT_ERROR:this.destroy();const r=new Error(t.data.message);r.data=t.data.data,this.emitReserved("connect_error",r);break}}onevent(t){const n=t.data||[];t.id!=null&&n.push(this.ack(t.id)),this.connected?this.emitEvent(n):this.receiveBuffer.push(Object.freeze(n))}emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const n=this._anyListeners.slice();for(const r of n)r.apply(this,t)}super.emit.apply(this,t),this._pid&&t.length&&typeof t[t.length-1]=="string"&&(this._lastOffset=t[t.length-1])}ack(t){const n=this;let r=!1;return function(...i){r||(r=!0,n.packet({type:pt.ACK,id:t,data:i}))}}onack(t){const n=this.acks[t.id];typeof n=="function"&&(n.apply(this,t.data),delete this.acks[t.id])}onconnect(t,n){this.id=t,this.recovered=n&&this._pid===n,this._pid=n,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.receiveBuffer=[],this.sendBuffer.forEach(t=>{this.notifyOutgoingListeners(t),this.packet(t)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:pt.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(t){return this.flags.compress=t,this}get volatile(){return this.flags.volatile=!0,this}timeout(t){return this.flags.timeout=t,this}onAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(t),this}prependAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(t),this}offAny(t){if(!this._anyListeners)return this;if(t){const n=this._anyListeners;for(let r=0;r0&&e.jitter<=1?e.jitter:0,this.attempts=0}Kf.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=Math.floor(t*10)&1?e+n:e-n}return Math.min(e,this.max)|0};Kf.prototype.reset=function(){this.attempts=0};Kf.prototype.setMin=function(e){this.ms=e};Kf.prototype.setMax=function(e){this.max=e};Kf.prototype.setJitter=function(e){this.jitter=e};class y5 extends Gn{constructor(t,n){var r;super(),this.nsps={},this.subs=[],t&&typeof t=="object"&&(n=t,t=void 0),n=n||{},n.path=n.path||"/socket.io",this.opts=n,QS(this,n),this.reconnection(n.reconnection!==!1),this.reconnectionAttempts(n.reconnectionAttempts||1/0),this.reconnectionDelay(n.reconnectionDelay||1e3),this.reconnectionDelayMax(n.reconnectionDelayMax||5e3),this.randomizationFactor((r=n.randomizationFactor)!==null&&r!==void 0?r:.5),this.backoff=new Kf({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=t;const i=n.parser||A3e;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=n.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(t){return arguments.length?(this._reconnection=!!t,this):this._reconnection}reconnectionAttempts(t){return t===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}reconnectionDelay(t){var n;return t===void 0?this._reconnectionDelay:(this._reconnectionDelay=t,(n=this.backoff)===null||n===void 0||n.setMin(t),this)}randomizationFactor(t){var n;return t===void 0?this._randomizationFactor:(this._randomizationFactor=t,(n=this.backoff)===null||n===void 0||n.setJitter(t),this)}reconnectionDelayMax(t){var n;return t===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,(n=this.backoff)===null||n===void 0||n.setMax(t),this)}timeout(t){return arguments.length?(this._timeout=t,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(t){if(~this._readyState.indexOf("open"))return this;this.engine=new Bz(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const i=Uo(n,"open",function(){r.onopen(),t&&t()}),o=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),t?t(a):this.maybeReconnectOnOpen()},s=Uo(n,"error",o);if(this._timeout!==!1){const a=this._timeout,l=this.setTimeoutFn(()=>{i(),o(new Error("timeout")),n.close()},a);this.opts.autoUnref&&l.unref(),this.subs.push(()=>{this.clearTimeoutFn(l)})}return this.subs.push(i),this.subs.push(s),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(Uo(t,"ping",this.onping.bind(this)),Uo(t,"data",this.ondata.bind(this)),Uo(t,"error",this.onerror.bind(this)),Uo(t,"close",this.onclose.bind(this)),Uo(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(t){try{this.decoder.add(t)}catch(n){this.onclose("parse error",n)}}ondecoded(t){NE(()=>{this.emitReserved("packet",t)},this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,n){let r=this.nsps[t];return r?this._autoConnect&&!r.active&&r.connect():(r=new zz(this,t,n),this.nsps[t]=r),r}_destroy(t){const n=Object.keys(this.nsps);for(const r of n)if(this.nsps[r].active)return;this._close()}_packet(t){const n=this.encoder.encode(t);for(let r=0;rt()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(t,n){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",t,n),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const n=this.backoff.duration();this._reconnecting=!0;const r=this.setTimeoutFn(()=>{t.skipReconnect||(this.emitReserved("reconnect_attempt",t.backoff.attempts),!t.skipReconnect&&t.open(i=>{i?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",i)):t.onreconnect()}))},n);this.opts.autoUnref&&r.unref(),this.subs.push(()=>{this.clearTimeoutFn(r)})}}onreconnect(){const t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const np={};function Cv(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=m3e(e,t.path||"/socket.io"),r=n.source,i=n.id,o=n.path,s=np[i]&&o in np[i].nsps,a=t.forceNew||t["force new connection"]||t.multiplex===!1||s;let l;return a?l=new y5(r,t):(np[i]||(np[i]=new y5(r,t)),l=np[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign(Cv,{Manager:y5,Socket:zz,io:Cv,connect:Cv});const kk=()=>{let e=!1,n=`${window.location.protocol==="https:"?"wss":"ws"}://${window.location.host}`;const r={timeout:6e4,path:"/ws/socket.io",autoConnect:!1};if(["nodes","package"].includes("production")){const s=wg.get();s&&(n=s.replace(/^https?\:\/\//i,""));const a=Sg.get();a&&(r.auth={token:a}),r.transports=["websocket","polling"]}const i=Cv(n,r);return s=>a=>l=>{const{dispatch:u,getState:d}=s;if(e||(FCe({storeApi:s,socket:i}),e=!0,i.connect()),Mr.fulfilled.match(l)){const f=l.payload.id,p=d().system.sessionId;p&&(i.emit("unsubscribe",{session:p}),u(K$({sessionId:p}))),i.emit("subscribe",{session:f}),u(MT({sessionId:f}))}a(l)}};function R3e(e){if(e.sheet)return e.sheet;for(var t=0;t0?Rr(Xf,--Oi):0,If--,zn===10&&(If=1,JS--),zn}function Hi(){return zn=Oi2||Fg(zn)>3?"":" "}function V3e(e,t){for(;--t&&Hi()&&!(zn<48||zn>102||zn>57&&zn<65||zn>70&&zn<97););return Nm(e,Tv()+(t<6&&ks()==32&&Hi()==32))}function _5(e){for(;Hi();)switch(zn){case e:return Oi;case 34:case 39:e!==34&&e!==39&&_5(zn);break;case 40:e===41&&_5(e);break;case 92:Hi();break}return Oi}function j3e(e,t){for(;Hi()&&e+zn!==47+10;)if(e+zn===42+42&&ks()===47)break;return"/*"+Nm(t,Oi-1)+"*"+ZS(e===47?e:Hi())}function G3e(e){for(;!Fg(ks());)Hi();return Nm(e,Oi)}function H3e(e){return qz(Av("",null,null,null,[""],e=Wz(e),0,[0],e))}function Av(e,t,n,r,i,o,s,a,l){for(var u=0,d=0,f=s,p=0,g=0,m=0,v=1,x=1,_=1,b=0,y="",S=i,C=o,T=r,E=y;x;)switch(m=b,b=Hi()){case 40:if(m!=108&&Rr(E,f-1)==58){v5(E+=At(Ev(b),"&","&\f"),"&\f")!=-1&&(_=-1);break}case 34:case 39:case 91:E+=Ev(b);break;case 9:case 10:case 13:case 32:E+=z3e(m);break;case 92:E+=V3e(Tv()-1,7);continue;case 47:switch(ks()){case 42:case 47:V0(W3e(j3e(Hi(),Tv()),t,n),l);break;default:E+="/"}break;case 123*v:a[u++]=ys(E)*_;case 125*v:case 59:case 0:switch(b){case 0:case 125:x=0;case 59+d:_==-1&&(E=At(E,/\f/g,"")),g>0&&ys(E)-f&&V0(g>32?Mk(E+";",r,n,f-1):Mk(At(E," ","")+";",r,n,f-2),l);break;case 59:E+=";";default:if(V0(T=Ik(E,t,n,u,d,i,a,y,S=[],C=[],f),o),b===123)if(d===0)Av(E,t,T,T,S,o,f,a,C);else switch(p===99&&Rr(E,3)===110?100:p){case 100:case 108:case 109:case 115:Av(e,T,T,r&&V0(Ik(e,T,T,0,0,i,a,y,i,S=[],f),C),i,C,f,a,r?S:C);break;default:Av(E,T,T,T,[""],C,0,a,C)}}u=d=g=0,v=_=1,y=E="",f=s;break;case 58:f=1+ys(E),g=m;default:if(v<1){if(b==123)--v;else if(b==125&&v++==0&&U3e()==125)continue}switch(E+=ZS(b),b*v){case 38:_=d>0?1:(E+="\f",-1);break;case 44:a[u++]=(ys(E)-1)*_,_=1;break;case 64:ks()===45&&(E+=Ev(Hi())),p=ks(),d=f=ys(y=E+=G3e(Tv())),b++;break;case 45:m===45&&ys(E)==2&&(v=0)}}return o}function Ik(e,t,n,r,i,o,s,a,l,u,d){for(var f=i-1,p=i===0?o:[""],g=BE(p),m=0,v=0,x=0;m0?p[_]+" "+b:At(b,/&\f/g,p[_])))&&(l[x++]=y);return e2(e,t,n,i===0?$E:a,l,u,d)}function W3e(e,t,n){return e2(e,t,n,Vz,ZS(B3e()),$g(e,2,-2),0)}function Mk(e,t,n,r){return e2(e,t,n,FE,$g(e,0,r),$g(e,r+1,-1),r)}function lf(e,t){for(var n="",r=BE(e),i=0;i6)switch(Rr(e,t+1)){case 109:if(Rr(e,t+4)!==45)break;case 102:return At(e,/(.+:)(.+)-([^]+)/,"$1"+Et+"$2-$3$1"+r_+(Rr(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~v5(e,"stretch")?Xz(At(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Rr(e,t+1)!==115)break;case 6444:switch(Rr(e,ys(e)-3-(~v5(e,"!important")&&10))){case 107:return At(e,":",":"+Et)+e;case 101:return At(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Et+(Rr(e,14)===45?"inline-":"")+"box$3$1"+Et+"$2$3$1"+Ur+"$2box$3")+e}break;case 5936:switch(Rr(e,t+11)){case 114:return Et+e+Ur+At(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Et+e+Ur+At(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Et+e+Ur+At(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Et+e+Ur+e+e}return e}var t5e=function(t,n,r,i){if(t.length>-1&&!t.return)switch(t.type){case FE:t.return=Xz(t.value,t.length);break;case jz:return lf([rp(t,{value:At(t.value,"@","@"+Et)})],i);case $E:if(t.length)return F3e(t.props,function(o){switch($3e(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return lf([rp(t,{props:[At(o,/:(read-\w+)/,":"+r_+"$1")]})],i);case"::placeholder":return lf([rp(t,{props:[At(o,/:(plac\w+)/,":"+Et+"input-$1")]}),rp(t,{props:[At(o,/:(plac\w+)/,":"+r_+"$1")]}),rp(t,{props:[At(o,/:(plac\w+)/,Ur+"input-$1")]})],i)}return""})}},n5e=[t5e],r5e=function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(v){var x=v.getAttribute("data-emotion");x.indexOf(" ")!==-1&&(document.head.appendChild(v),v.setAttribute("data-s",""))})}var i=t.stylisPlugins||n5e,o={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(v){for(var x=v.getAttribute("data-emotion").split(" "),_=1;_=4;++r,i-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(i){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var a5e={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},l5e=/[A-Z]|^ms/g,u5e=/_EMO_([^_]+?)_([^]*?)_EMO_/g,Zz=function(t){return t.charCodeAt(1)===45},Dk=function(t){return t!=null&&typeof t!="boolean"},Kx=Kz(function(e){return Zz(e)?e:e.replace(l5e,"-$&").toLowerCase()}),$k=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(u5e,function(r,i,o){return vs={name:i,styles:o,next:vs},i})}return a5e[t]!==1&&!Zz(t)&&typeof n=="number"&&n!==0?n+"px":n};function Bg(e,t,n){if(n==null)return"";if(n.__emotion_styles!==void 0)return n;switch(typeof n){case"boolean":return"";case"object":{if(n.anim===1)return vs={name:n.name,styles:n.styles,next:vs},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)vs={name:r.name,styles:r.styles,next:vs},r=r.next;var i=n.styles+";";return i}return c5e(e,t,n)}case"function":{if(e!==void 0){var o=vs,s=n(e);return vs=o,Bg(e,t,s)}break}}if(t==null)return n;var a=t[n];return a!==void 0?a:n}function c5e(e,t,n){var r="";if(Array.isArray(n))for(var i=0;i` or ``");return e}var rV=L.createContext({});rV.displayName="ColorModeContext";function zE(){const e=L.useContext(rV);if(e===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return e}function lMe(e,t){const{colorMode:n}=zE();return n==="dark"?t:e}function v5e(){const e=zE(),t=nV();return{...e,theme:t}}function _5e(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__breakpoints)==null?void 0:a.asArray)==null?void 0:l[s]};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function b5e(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__cssMap)==null?void 0:a[s])==null?void 0:l.value};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function uMe(e,t,n){const r=nV();return S5e(e,t,n)(r)}function S5e(e,t,n){const r=Array.isArray(t)?t:[t],i=Array.isArray(n)?n:[n];return o=>{const s=i.filter(Boolean),a=r.map((l,u)=>{var d,f;if(e==="breakpoints")return _5e(o,l,(d=s[u])!=null?d:l);const p=`${e}.${l}`;return b5e(o,p,(f=s[u])!=null?f:l)});return Array.isArray(t)?a:a[0]}}var iV=(...e)=>e.filter(Boolean).join(" ");function w5e(){return!1}function ba(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}var cMe=e=>{const{condition:t,message:n}=e;t&&w5e()&&console.warn(n)};function Fu(e,...t){return x5e(e)?e(...t):e}var x5e=e=>typeof e=="function",dMe=e=>e?"":void 0,fMe=e=>e?!0:void 0;function hMe(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function pMe(...e){return function(n){e.forEach(r=>{r==null||r(n)})}}var i_={exports:{}};i_.exports;(function(e,t){var n=200,r="__lodash_hash_undefined__",i=800,o=16,s=9007199254740991,a="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",d="[object Boolean]",f="[object Date]",p="[object Error]",g="[object Function]",m="[object GeneratorFunction]",v="[object Map]",x="[object Number]",_="[object Null]",b="[object Object]",y="[object Proxy]",S="[object RegExp]",C="[object Set]",T="[object String]",E="[object Undefined]",P="[object WeakMap]",k="[object ArrayBuffer]",O="[object DataView]",M="[object Float32Array]",G="[object Float64Array]",U="[object Int8Array]",A="[object Int16Array]",N="[object Int32Array]",F="[object Uint8Array]",B="[object Uint8ClampedArray]",D="[object Uint16Array]",V="[object Uint32Array]",j=/[\\^$.*+?()[\]{}|]/g,q=/^\[object .+?Constructor\]$/,Z=/^(?:0|[1-9]\d*)$/,ee={};ee[M]=ee[G]=ee[U]=ee[A]=ee[N]=ee[F]=ee[B]=ee[D]=ee[V]=!0,ee[a]=ee[l]=ee[k]=ee[d]=ee[O]=ee[f]=ee[p]=ee[g]=ee[v]=ee[x]=ee[b]=ee[S]=ee[C]=ee[T]=ee[P]=!1;var ie=typeof He=="object"&&He&&He.Object===Object&&He,se=typeof self=="object"&&self&&self.Object===Object&&self,le=ie||se||Function("return this")(),W=t&&!t.nodeType&&t,ne=W&&!0&&e&&!e.nodeType&&e,fe=ne&&ne.exports===W,pe=fe&&ie.process,ve=function(){try{var H=ne&&ne.require&&ne.require("util").types;return H||pe&&pe.binding&&pe.binding("util")}catch{}}(),ye=ve&&ve.isTypedArray;function We(H,Y,re){switch(re.length){case 0:return H.call(Y);case 1:return H.call(Y,re[0]);case 2:return H.call(Y,re[0],re[1]);case 3:return H.call(Y,re[0],re[1],re[2])}return H.apply(Y,re)}function Me(H,Y){for(var re=-1,we=Array(H);++re-1}function Ao(H,Y){var re=this.__data__,we=Ro(re,H);return we<0?(++this.size,re.push([H,Y])):re[we][1]=Y,this}Kn.prototype.clear=Mi,Kn.prototype.delete=is,Kn.prototype.get=to,Kn.prototype.has=za,Kn.prototype.set=Ao;function wr(H){var Y=-1,re=H==null?0:H.length;for(this.clear();++Y1?re[ot-1]:void 0,qe=ot>2?re[2]:void 0;for(Mt=H.length>3&&typeof Mt=="function"?(ot--,Mt):void 0,qe&&Zm(re[0],re[1],qe)&&(Mt=ot<3?void 0:Mt,ot=1),Y=Object(Y);++we-1&&H%1==0&&H0){if(++Y>=i)return arguments[0]}else Y=0;return H.apply(void 0,arguments)}}function ry(H){if(H!=null){try{return gt.call(H)}catch{}try{return H+""}catch{}}return""}function $c(H,Y){return H===Y||H!==H&&Y!==Y}var hh=uu(function(){return arguments}())?uu:function(H){return cu(H)&&Jt.call(H,"callee")&&!Xr.call(H,"callee")},ph=Array.isArray;function Fc(H){return H!=null&&oy(H.length)&&!gh(H)}function b2(H){return cu(H)&&Fc(H)}var iy=Vs||x2;function gh(H){if(!Oo(H))return!1;var Y=ja(H);return Y==g||Y==m||Y==u||Y==y}function oy(H){return typeof H=="number"&&H>-1&&H%1==0&&H<=s}function Oo(H){var Y=typeof H;return H!=null&&(Y=="object"||Y=="function")}function cu(H){return H!=null&&typeof H=="object"}function S2(H){if(!cu(H)||ja(H)!=b)return!1;var Y=vr(H);if(Y===null)return!0;var re=Jt.call(Y,"constructor")&&Y.constructor;return typeof re=="function"&&re instanceof re&>.call(re)==hi}var sy=ye?Ee(ye):Ga;function w2(H){return Km(H,ay(H))}function ay(H){return Fc(H)?sh(H,!0):g2(H)}var Ht=Mc(function(H,Y,re,we){Gm(H,Y,re,we)});function Ut(H){return function(){return H}}function ly(H){return H}function x2(){return!1}e.exports=Ht})(i_,i_.exports);var C5e=i_.exports;const Ts=dc(C5e);var T5e=e=>/!(important)?$/.test(e),Uk=e=>typeof e=="string"?e.replace(/!(important)?$/,"").trim():e,E5e=(e,t)=>n=>{const r=String(t),i=T5e(r),o=Uk(r),s=e?`${e}.${o}`:o;let a=ba(n.__cssMap)&&s in n.__cssMap?n.__cssMap[s].varRef:t;return a=Uk(a),i?`${a} !important`:a};function VE(e){const{scale:t,transform:n,compose:r}=e;return(o,s)=>{var a;const l=E5e(t,o)(s);let u=(a=n==null?void 0:n(l,s))!=null?a:l;return r&&(u=r(u,s)),u}}var j0=(...e)=>t=>e.reduce((n,r)=>r(n),t);function co(e,t){return n=>{const r={property:n,scale:e};return r.transform=VE({scale:e,transform:t}),r}}var A5e=({rtl:e,ltr:t})=>n=>n.direction==="rtl"?e:t;function P5e(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:A5e(t),transform:n?VE({scale:n,compose:r}):r}}var oV=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"];function R5e(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...oV].join(" ")}function O5e(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...oV].join(" ")}var k5e={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},I5e={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"};function M5e(e){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":e,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}var N5e={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},b5={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},L5e=new Set(Object.values(b5)),S5=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),D5e=e=>e.trim();function $5e(e,t){if(e==null||S5.has(e))return e;if(!(w5(e)||S5.has(e)))return`url('${e}')`;const i=/(^[a-z-A-Z]+)\((.*)\)/g.exec(e),o=i==null?void 0:i[1],s=i==null?void 0:i[2];if(!o||!s)return e;const a=o.includes("-gradient")?o:`${o}-gradient`,[l,...u]=s.split(",").map(D5e).filter(Boolean);if((u==null?void 0:u.length)===0)return e;const d=l in b5?b5[l]:l;u.unshift(d);const f=u.map(p=>{if(L5e.has(p))return p;const g=p.indexOf(" "),[m,v]=g!==-1?[p.substr(0,g),p.substr(g+1)]:[p],x=w5(v)?v:v&&v.split(" "),_=`colors.${m}`,b=_ in t.__cssMap?t.__cssMap[_].varRef:m;return x?[b,...Array.isArray(x)?x:[x]].join(" "):b});return`${a}(${f.join(", ")})`}var w5=e=>typeof e=="string"&&e.includes("(")&&e.includes(")"),F5e=(e,t)=>$5e(e,t??{});function B5e(e){return/^var\(--.+\)$/.test(e)}var U5e=e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}},cs=e=>t=>`${e}(${t})`,bt={filter(e){return e!=="auto"?e:k5e},backdropFilter(e){return e!=="auto"?e:I5e},ring(e){return M5e(bt.px(e))},bgClip(e){return e==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform(e){return e==="auto"?R5e():e==="auto-gpu"?O5e():e},vh(e){return e==="$100vh"?"var(--chakra-vh)":e},px(e){if(e==null)return e;const{unitless:t}=U5e(e);return t||typeof e=="number"?`${e}px`:e},fraction(e){return typeof e!="number"||e>1?e:`${e*100}%`},float(e,t){const n={left:"right",right:"left"};return t.direction==="rtl"?n[e]:e},degree(e){if(B5e(e)||e==null)return e;const t=typeof e=="string"&&!e.endsWith("deg");return typeof e=="number"||t?`${e}deg`:e},gradient:F5e,blur:cs("blur"),opacity:cs("opacity"),brightness:cs("brightness"),contrast:cs("contrast"),dropShadow:cs("drop-shadow"),grayscale:cs("grayscale"),hueRotate:cs("hue-rotate"),invert:cs("invert"),saturate:cs("saturate"),sepia:cs("sepia"),bgImage(e){return e==null||w5(e)||S5.has(e)?e:`url(${e})`},outline(e){const t=String(e)==="0"||String(e)==="none";return e!==null&&t?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:e}},flexDirection(e){var t;const{space:n,divide:r}=(t=N5e[e])!=null?t:{},i={flexDirection:e};return n&&(i[n]=1),r&&(i[r]=1),i}},Q={borderWidths:co("borderWidths"),borderStyles:co("borderStyles"),colors:co("colors"),borders:co("borders"),gradients:co("gradients",bt.gradient),radii:co("radii",bt.px),space:co("space",j0(bt.vh,bt.px)),spaceT:co("space",j0(bt.vh,bt.px)),degreeT(e){return{property:e,transform:bt.degree}},prop(e,t,n){return{property:e,scale:t,...t&&{transform:VE({scale:t,transform:n})}}},propT(e,t){return{property:e,transform:t}},sizes:co("sizes",j0(bt.vh,bt.px)),sizesT:co("sizes",j0(bt.vh,bt.fraction)),shadows:co("shadows"),logical:P5e,blur:co("blur",bt.blur)},Pv={background:Q.colors("background"),backgroundColor:Q.colors("backgroundColor"),backgroundImage:Q.gradients("backgroundImage"),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:bt.bgClip},bgSize:Q.prop("backgroundSize"),bgPosition:Q.prop("backgroundPosition"),bg:Q.colors("background"),bgColor:Q.colors("backgroundColor"),bgPos:Q.prop("backgroundPosition"),bgRepeat:Q.prop("backgroundRepeat"),bgAttachment:Q.prop("backgroundAttachment"),bgGradient:Q.gradients("backgroundImage"),bgClip:{transform:bt.bgClip}};Object.assign(Pv,{bgImage:Pv.backgroundImage,bgImg:Pv.backgroundImage});var Tt={border:Q.borders("border"),borderWidth:Q.borderWidths("borderWidth"),borderStyle:Q.borderStyles("borderStyle"),borderColor:Q.colors("borderColor"),borderRadius:Q.radii("borderRadius"),borderTop:Q.borders("borderTop"),borderBlockStart:Q.borders("borderBlockStart"),borderTopLeftRadius:Q.radii("borderTopLeftRadius"),borderStartStartRadius:Q.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:Q.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:Q.radii("borderTopRightRadius"),borderStartEndRadius:Q.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:Q.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:Q.borders("borderRight"),borderInlineEnd:Q.borders("borderInlineEnd"),borderBottom:Q.borders("borderBottom"),borderBlockEnd:Q.borders("borderBlockEnd"),borderBottomLeftRadius:Q.radii("borderBottomLeftRadius"),borderBottomRightRadius:Q.radii("borderBottomRightRadius"),borderLeft:Q.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:Q.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:Q.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:Q.borders(["borderLeft","borderRight"]),borderInline:Q.borders("borderInline"),borderY:Q.borders(["borderTop","borderBottom"]),borderBlock:Q.borders("borderBlock"),borderTopWidth:Q.borderWidths("borderTopWidth"),borderBlockStartWidth:Q.borderWidths("borderBlockStartWidth"),borderTopColor:Q.colors("borderTopColor"),borderBlockStartColor:Q.colors("borderBlockStartColor"),borderTopStyle:Q.borderStyles("borderTopStyle"),borderBlockStartStyle:Q.borderStyles("borderBlockStartStyle"),borderBottomWidth:Q.borderWidths("borderBottomWidth"),borderBlockEndWidth:Q.borderWidths("borderBlockEndWidth"),borderBottomColor:Q.colors("borderBottomColor"),borderBlockEndColor:Q.colors("borderBlockEndColor"),borderBottomStyle:Q.borderStyles("borderBottomStyle"),borderBlockEndStyle:Q.borderStyles("borderBlockEndStyle"),borderLeftWidth:Q.borderWidths("borderLeftWidth"),borderInlineStartWidth:Q.borderWidths("borderInlineStartWidth"),borderLeftColor:Q.colors("borderLeftColor"),borderInlineStartColor:Q.colors("borderInlineStartColor"),borderLeftStyle:Q.borderStyles("borderLeftStyle"),borderInlineStartStyle:Q.borderStyles("borderInlineStartStyle"),borderRightWidth:Q.borderWidths("borderRightWidth"),borderInlineEndWidth:Q.borderWidths("borderInlineEndWidth"),borderRightColor:Q.colors("borderRightColor"),borderInlineEndColor:Q.colors("borderInlineEndColor"),borderRightStyle:Q.borderStyles("borderRightStyle"),borderInlineEndStyle:Q.borderStyles("borderInlineEndStyle"),borderTopRadius:Q.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:Q.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:Q.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:Q.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(Tt,{rounded:Tt.borderRadius,roundedTop:Tt.borderTopRadius,roundedTopLeft:Tt.borderTopLeftRadius,roundedTopRight:Tt.borderTopRightRadius,roundedTopStart:Tt.borderStartStartRadius,roundedTopEnd:Tt.borderStartEndRadius,roundedBottom:Tt.borderBottomRadius,roundedBottomLeft:Tt.borderBottomLeftRadius,roundedBottomRight:Tt.borderBottomRightRadius,roundedBottomStart:Tt.borderEndStartRadius,roundedBottomEnd:Tt.borderEndEndRadius,roundedLeft:Tt.borderLeftRadius,roundedRight:Tt.borderRightRadius,roundedStart:Tt.borderInlineStartRadius,roundedEnd:Tt.borderInlineEndRadius,borderStart:Tt.borderInlineStart,borderEnd:Tt.borderInlineEnd,borderTopStartRadius:Tt.borderStartStartRadius,borderTopEndRadius:Tt.borderStartEndRadius,borderBottomStartRadius:Tt.borderEndStartRadius,borderBottomEndRadius:Tt.borderEndEndRadius,borderStartRadius:Tt.borderInlineStartRadius,borderEndRadius:Tt.borderInlineEndRadius,borderStartWidth:Tt.borderInlineStartWidth,borderEndWidth:Tt.borderInlineEndWidth,borderStartColor:Tt.borderInlineStartColor,borderEndColor:Tt.borderInlineEndColor,borderStartStyle:Tt.borderInlineStartStyle,borderEndStyle:Tt.borderInlineEndStyle});var z5e={color:Q.colors("color"),textColor:Q.colors("color"),fill:Q.colors("fill"),stroke:Q.colors("stroke")},x5={boxShadow:Q.shadows("boxShadow"),mixBlendMode:!0,blendMode:Q.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:Q.prop("backgroundBlendMode"),opacity:!0};Object.assign(x5,{shadow:x5.boxShadow});var V5e={filter:{transform:bt.filter},blur:Q.blur("--chakra-blur"),brightness:Q.propT("--chakra-brightness",bt.brightness),contrast:Q.propT("--chakra-contrast",bt.contrast),hueRotate:Q.degreeT("--chakra-hue-rotate"),invert:Q.propT("--chakra-invert",bt.invert),saturate:Q.propT("--chakra-saturate",bt.saturate),dropShadow:Q.propT("--chakra-drop-shadow",bt.dropShadow),backdropFilter:{transform:bt.backdropFilter},backdropBlur:Q.blur("--chakra-backdrop-blur"),backdropBrightness:Q.propT("--chakra-backdrop-brightness",bt.brightness),backdropContrast:Q.propT("--chakra-backdrop-contrast",bt.contrast),backdropHueRotate:Q.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:Q.propT("--chakra-backdrop-invert",bt.invert),backdropSaturate:Q.propT("--chakra-backdrop-saturate",bt.saturate)},o_={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:bt.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:Q.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:Q.space("gap"),rowGap:Q.space("rowGap"),columnGap:Q.space("columnGap")};Object.assign(o_,{flexDir:o_.flexDirection});var sV={gridGap:Q.space("gridGap"),gridColumnGap:Q.space("gridColumnGap"),gridRowGap:Q.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},j5e={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:bt.outline},outlineOffset:!0,outlineColor:Q.colors("outlineColor")},ho={width:Q.sizesT("width"),inlineSize:Q.sizesT("inlineSize"),height:Q.sizes("height"),blockSize:Q.sizes("blockSize"),boxSize:Q.sizes(["width","height"]),minWidth:Q.sizes("minWidth"),minInlineSize:Q.sizes("minInlineSize"),minHeight:Q.sizes("minHeight"),minBlockSize:Q.sizes("minBlockSize"),maxWidth:Q.sizes("maxWidth"),maxInlineSize:Q.sizes("maxInlineSize"),maxHeight:Q.sizes("maxHeight"),maxBlockSize:Q.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,aspectRatio:!0,hideFrom:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (min-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.minW)!=null?i:e})`]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (max-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r._minW)!=null?i:e})`]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:Q.propT("float",bt.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(ho,{w:ho.width,h:ho.height,minW:ho.minWidth,maxW:ho.maxWidth,minH:ho.minHeight,maxH:ho.maxHeight,overscroll:ho.overscrollBehavior,overscrollX:ho.overscrollBehaviorX,overscrollY:ho.overscrollBehaviorY});var G5e={listStyleType:!0,listStylePosition:!0,listStylePos:Q.prop("listStylePosition"),listStyleImage:!0,listStyleImg:Q.prop("listStyleImage")};function H5e(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},q5e=W5e(H5e),K5e={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},X5e={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},Xx=(e,t,n)=>{const r={},i=q5e(e,t,{});for(const o in i)o in n&&n[o]!=null||(r[o]=i[o]);return r},Y5e={srOnly:{transform(e){return e===!0?K5e:e==="focusable"?X5e:{}}},layerStyle:{processResult:!0,transform:(e,t,n)=>Xx(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>Xx(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>Xx(t,e,n)}},Rp={position:!0,pos:Q.prop("position"),zIndex:Q.prop("zIndex","zIndices"),inset:Q.spaceT("inset"),insetX:Q.spaceT(["left","right"]),insetInline:Q.spaceT("insetInline"),insetY:Q.spaceT(["top","bottom"]),insetBlock:Q.spaceT("insetBlock"),top:Q.spaceT("top"),insetBlockStart:Q.spaceT("insetBlockStart"),bottom:Q.spaceT("bottom"),insetBlockEnd:Q.spaceT("insetBlockEnd"),left:Q.spaceT("left"),insetInlineStart:Q.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:Q.spaceT("right"),insetInlineEnd:Q.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(Rp,{insetStart:Rp.insetInlineStart,insetEnd:Rp.insetInlineEnd});var Q5e={ring:{transform:bt.ring},ringColor:Q.colors("--chakra-ring-color"),ringOffset:Q.prop("--chakra-ring-offset-width"),ringOffsetColor:Q.colors("--chakra-ring-offset-color"),ringInset:Q.prop("--chakra-ring-inset")},tn={margin:Q.spaceT("margin"),marginTop:Q.spaceT("marginTop"),marginBlockStart:Q.spaceT("marginBlockStart"),marginRight:Q.spaceT("marginRight"),marginInlineEnd:Q.spaceT("marginInlineEnd"),marginBottom:Q.spaceT("marginBottom"),marginBlockEnd:Q.spaceT("marginBlockEnd"),marginLeft:Q.spaceT("marginLeft"),marginInlineStart:Q.spaceT("marginInlineStart"),marginX:Q.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:Q.spaceT("marginInline"),marginY:Q.spaceT(["marginTop","marginBottom"]),marginBlock:Q.spaceT("marginBlock"),padding:Q.space("padding"),paddingTop:Q.space("paddingTop"),paddingBlockStart:Q.space("paddingBlockStart"),paddingRight:Q.space("paddingRight"),paddingBottom:Q.space("paddingBottom"),paddingBlockEnd:Q.space("paddingBlockEnd"),paddingLeft:Q.space("paddingLeft"),paddingInlineStart:Q.space("paddingInlineStart"),paddingInlineEnd:Q.space("paddingInlineEnd"),paddingX:Q.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:Q.space("paddingInline"),paddingY:Q.space(["paddingTop","paddingBottom"]),paddingBlock:Q.space("paddingBlock")};Object.assign(tn,{m:tn.margin,mt:tn.marginTop,mr:tn.marginRight,me:tn.marginInlineEnd,marginEnd:tn.marginInlineEnd,mb:tn.marginBottom,ml:tn.marginLeft,ms:tn.marginInlineStart,marginStart:tn.marginInlineStart,mx:tn.marginX,my:tn.marginY,p:tn.padding,pt:tn.paddingTop,py:tn.paddingY,px:tn.paddingX,pb:tn.paddingBottom,pl:tn.paddingLeft,ps:tn.paddingInlineStart,paddingStart:tn.paddingInlineStart,pr:tn.paddingRight,pe:tn.paddingInlineEnd,paddingEnd:tn.paddingInlineEnd});var Z5e={textDecorationColor:Q.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:Q.shadows("textShadow")},J5e={clipPath:!0,transform:Q.propT("transform",bt.transform),transformOrigin:!0,translateX:Q.spaceT("--chakra-translate-x"),translateY:Q.spaceT("--chakra-translate-y"),skewX:Q.degreeT("--chakra-skew-x"),skewY:Q.degreeT("--chakra-skew-y"),scaleX:Q.prop("--chakra-scale-x"),scaleY:Q.prop("--chakra-scale-y"),scale:Q.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:Q.degreeT("--chakra-rotate")},e4e={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:Q.prop("transitionDuration","transition.duration"),transitionProperty:Q.prop("transitionProperty","transition.property"),transitionTimingFunction:Q.prop("transitionTimingFunction","transition.easing")},t4e={fontFamily:Q.prop("fontFamily","fonts"),fontSize:Q.prop("fontSize","fontSizes",bt.px),fontWeight:Q.prop("fontWeight","fontWeights"),lineHeight:Q.prop("lineHeight","lineHeights"),letterSpacing:Q.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,textIndent:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,isTruncated:{transform(e){if(e===!0)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},n4e={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:Q.spaceT("scrollMargin"),scrollMarginTop:Q.spaceT("scrollMarginTop"),scrollMarginBottom:Q.spaceT("scrollMarginBottom"),scrollMarginLeft:Q.spaceT("scrollMarginLeft"),scrollMarginRight:Q.spaceT("scrollMarginRight"),scrollMarginX:Q.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:Q.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:Q.spaceT("scrollPadding"),scrollPaddingTop:Q.spaceT("scrollPaddingTop"),scrollPaddingBottom:Q.spaceT("scrollPaddingBottom"),scrollPaddingLeft:Q.spaceT("scrollPaddingLeft"),scrollPaddingRight:Q.spaceT("scrollPaddingRight"),scrollPaddingX:Q.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:Q.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function aV(e){return ba(e)&&e.reference?e.reference:String(e)}var t2=(e,...t)=>t.map(aV).join(` ${e} `).replace(/calc/g,""),zk=(...e)=>`calc(${t2("+",...e)})`,Vk=(...e)=>`calc(${t2("-",...e)})`,C5=(...e)=>`calc(${t2("*",...e)})`,jk=(...e)=>`calc(${t2("/",...e)})`,Gk=e=>{const t=aV(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:C5(t,-1)},ku=Object.assign(e=>({add:(...t)=>ku(zk(e,...t)),subtract:(...t)=>ku(Vk(e,...t)),multiply:(...t)=>ku(C5(e,...t)),divide:(...t)=>ku(jk(e,...t)),negate:()=>ku(Gk(e)),toString:()=>e.toString()}),{add:zk,subtract:Vk,multiply:C5,divide:jk,negate:Gk});function r4e(e,t="-"){return e.replace(/\s+/g,t)}function i4e(e){const t=r4e(e.toString());return s4e(o4e(t))}function o4e(e){return e.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?e.replace(".","\\."):e}function s4e(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}function a4e(e,t=""){return[t,e].filter(Boolean).join("-")}function l4e(e,t){return`var(${e}${t?`, ${t}`:""})`}function u4e(e,t=""){return i4e(`--${a4e(e,t)}`)}function T5(e,t,n){const r=u4e(e,n);return{variable:r,reference:l4e(r,t)}}function gMe(e,t){const n={};for(const r of t){if(Array.isArray(r)){const[i,o]=r;n[i]=T5(`${e}-${i}`,o);continue}n[r]=T5(`${e}-${r}`)}return n}function c4e(e){const t=e==null?0:e.length;return t?e[t-1]:void 0}function d4e(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}function E5(e){if(e==null)return e;const{unitless:t}=d4e(e);return t||typeof e=="number"?`${e}px`:e}var lV=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,jE=e=>Object.fromEntries(Object.entries(e).sort(lV));function Hk(e){const t=jE(e);return Object.assign(Object.values(t),t)}function f4e(e){const t=Object.keys(jE(e));return new Set(t)}function Wk(e){var t;if(!e)return e;e=(t=E5(e))!=null?t:e;const n=-.02;return typeof e=="number"?`${e+n}`:e.replace(/(\d+\.?\d*)/u,r=>`${parseFloat(r)+n}`)}function pp(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${E5(e)})`),t&&n.push("and",`(max-width: ${E5(t)})`),n.join(" ")}function h4e(e){var t;if(!e)return null;e.base=(t=e.base)!=null?t:"0px";const n=Hk(e),r=Object.entries(e).sort(lV).map(([s,a],l,u)=>{var d;let[,f]=(d=u[l+1])!=null?d:[];return f=parseFloat(f)>0?Wk(f):void 0,{_minW:Wk(a),breakpoint:s,minW:a,maxW:f,maxWQuery:pp(null,f),minWQuery:pp(a),minMaxQuery:pp(a,f)}}),i=f4e(e),o=Array.from(i.values());return{keys:i,normalized:n,isResponsive(s){const a=Object.keys(s);return a.length>0&&a.every(l=>i.has(l))},asObject:jE(e),asArray:Hk(e),details:r,get(s){return r.find(a=>a.breakpoint===s)},media:[null,...n.map(s=>pp(s)).slice(1)],toArrayValue(s){if(!ba(s))throw new Error("toArrayValue: value must be an object");const a=o.map(l=>{var u;return(u=s[l])!=null?u:null});for(;c4e(a)===null;)a.pop();return a},toObjectValue(s){if(!Array.isArray(s))throw new Error("toObjectValue: value must be an array");return s.reduce((a,l,u)=>{const d=o[u];return d!=null&&l!=null&&(a[d]=l),a},{})}}}var Tr={hover:(e,t)=>`${e}:hover ${t}, ${e}[data-hover] ${t}`,focus:(e,t)=>`${e}:focus ${t}, ${e}[data-focus] ${t}`,focusVisible:(e,t)=>`${e}:focus-visible ${t}`,focusWithin:(e,t)=>`${e}:focus-within ${t}`,active:(e,t)=>`${e}:active ${t}, ${e}[data-active] ${t}`,disabled:(e,t)=>`${e}:disabled ${t}, ${e}[data-disabled] ${t}`,invalid:(e,t)=>`${e}:invalid ${t}, ${e}[data-invalid] ${t}`,checked:(e,t)=>`${e}:checked ${t}, ${e}[data-checked] ${t}`,indeterminate:(e,t)=>`${e}:indeterminate ${t}, ${e}[aria-checked=mixed] ${t}, ${e}[data-indeterminate] ${t}`,readOnly:(e,t)=>`${e}:read-only ${t}, ${e}[readonly] ${t}, ${e}[data-read-only] ${t}`,expanded:(e,t)=>`${e}:read-only ${t}, ${e}[aria-expanded=true] ${t}, ${e}[data-expanded] ${t}`,placeholderShown:(e,t)=>`${e}:placeholder-shown ${t}`},ol=e=>uV(t=>e(t,"&"),"[role=group]","[data-group]",".group"),ia=e=>uV(t=>e(t,"~ &"),"[data-peer]",".peer"),uV=(e,...t)=>t.map(e).join(", "),n2={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible, &[data-focus-visible]",_disabled:"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_firstLetter:"&::first-letter",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:ol(Tr.hover),_peerHover:ia(Tr.hover),_groupFocus:ol(Tr.focus),_peerFocus:ia(Tr.focus),_groupFocusVisible:ol(Tr.focusVisible),_peerFocusVisible:ia(Tr.focusVisible),_groupActive:ol(Tr.active),_peerActive:ia(Tr.active),_groupDisabled:ol(Tr.disabled),_peerDisabled:ia(Tr.disabled),_groupInvalid:ol(Tr.invalid),_peerInvalid:ia(Tr.invalid),_groupChecked:ol(Tr.checked),_peerChecked:ia(Tr.checked),_groupFocusWithin:ol(Tr.focusWithin),_peerFocusWithin:ia(Tr.focusWithin),_peerPlaceholderShown:ia(Tr.placeholderShown),_placeholder:"&::placeholder",_placeholderShown:"&:placeholder-shown",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &, &[dir=rtl]",_ltr:"[dir=ltr] &, &[dir=ltr]",_mediaDark:"@media (prefers-color-scheme: dark)",_mediaReduceMotion:"@media (prefers-reduced-motion: reduce)",_dark:".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",_light:".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]",_horizontal:"&[data-orientation=horizontal]",_vertical:"&[data-orientation=vertical]"},cV=Object.keys(n2);function qk(e,t){return T5(String(e).replace(/\./g,"-"),void 0,t)}function p4e(e,t){let n={};const r={};for(const[i,o]of Object.entries(e)){const{isSemantic:s,value:a}=o,{variable:l,reference:u}=qk(i,t==null?void 0:t.cssVarPrefix);if(!s){if(i.startsWith("space")){const p=i.split("."),[g,...m]=p,v=`${g}.-${m.join(".")}`,x=ku.negate(a),_=ku.negate(u);r[v]={value:x,var:l,varRef:_}}n[l]=a,r[i]={value:a,var:l,varRef:u};continue}const d=p=>{const m=[String(i).split(".")[0],p].join(".");if(!e[m])return p;const{reference:x}=qk(m,t==null?void 0:t.cssVarPrefix);return x},f=ba(a)?a:{default:a};n=Ts(n,Object.entries(f).reduce((p,[g,m])=>{var v,x;if(!m)return p;const _=d(`${m}`);if(g==="default")return p[l]=_,p;const b=(x=(v=n2)==null?void 0:v[g])!=null?x:g;return p[b]={[l]:_},p},{})),r[i]={value:u,var:l,varRef:u}}return{cssVars:n,cssMap:r}}function g4e(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function m4e(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function y4e(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}function Kk(e,t,n={}){const{stop:r,getKey:i}=n;function o(s,a=[]){var l;if(y4e(s)||Array.isArray(s)){const u={};for(const[d,f]of Object.entries(s)){const p=(l=i==null?void 0:i(d))!=null?l:d,g=[...a,p];if(r!=null&&r(s,g))return t(s,a);u[p]=o(f,g)}return u}return t(s,a)}return o(e)}var v4e=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","gradients","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur","breakpoints"];function _4e(e){return m4e(e,v4e)}function b4e(e){return e.semanticTokens}function S4e(e){const{__cssMap:t,__cssVars:n,__breakpoints:r,...i}=e;return i}var w4e=e=>cV.includes(e)||e==="default";function x4e({tokens:e,semanticTokens:t}){const n={};return Kk(e,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!1,value:r})}),Kk(t,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!0,value:r})},{stop:r=>Object.keys(r).every(w4e)}),n}function mMe(e){var t;const n=S4e(e),r=_4e(n),i=b4e(n),o=x4e({tokens:r,semanticTokens:i}),s=(t=n.config)==null?void 0:t.cssVarPrefix,{cssMap:a,cssVars:l}=p4e(o,{cssVarPrefix:s});return Object.assign(n,{__cssVars:{...{"--chakra-ring-inset":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-ring-offset-width":"0px","--chakra-ring-offset-color":"#fff","--chakra-ring-color":"rgba(66, 153, 225, 0.6)","--chakra-ring-offset-shadow":"0 0 #0000","--chakra-ring-shadow":"0 0 #0000","--chakra-space-x-reverse":"0","--chakra-space-y-reverse":"0"},...l},__cssMap:a,__breakpoints:h4e(n.breakpoints)}),n}var GE=Ts({},Pv,Tt,z5e,o_,ho,V5e,Q5e,j5e,sV,Y5e,Rp,x5,tn,n4e,t4e,Z5e,J5e,G5e,e4e),C4e=Object.assign({},tn,ho,o_,sV,Rp),yMe=Object.keys(C4e),T4e=[...Object.keys(GE),...cV],E4e={...GE,...n2},A4e=e=>e in E4e,P4e=e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:i}=t.__breakpoints,o={};for(const s in e){let a=Fu(e[s],t);if(a==null)continue;if(a=ba(a)&&n(a)?r(a):a,!Array.isArray(a)){o[s]=a;continue}const l=a.slice(0,i.length).length;for(let u=0;ue.startsWith("--")&&typeof t=="string"&&!O4e(t),I4e=(e,t)=>{var n,r;if(t==null)return t;const i=l=>{var u,d;return(d=(u=e.__cssMap)==null?void 0:u[l])==null?void 0:d.varRef},o=l=>{var u;return(u=i(l))!=null?u:l},[s,a]=R4e(t);return t=(r=(n=i(s))!=null?n:o(a))!=null?r:o(t),t};function M4e(e){const{configs:t={},pseudos:n={},theme:r}=e,i=(o,s=!1)=>{var a,l,u;const d=Fu(o,r),f=P4e(d)(r);let p={};for(let g in f){const m=f[g];let v=Fu(m,r);g in n&&(g=n[g]),k4e(g,v)&&(v=I4e(r,v));let x=t[g];if(x===!0&&(x={property:g}),ba(v)){p[g]=(a=p[g])!=null?a:{},p[g]=Ts({},p[g],i(v,!0));continue}let _=(u=(l=x==null?void 0:x.transform)==null?void 0:l.call(x,v,r,d))!=null?u:v;_=x!=null&&x.processResult?i(_,!0):_;const b=Fu(x==null?void 0:x.property,r);if(!s&&(x!=null&&x.static)){const y=Fu(x.static,r);p=Ts({},p,y)}if(b&&Array.isArray(b)){for(const y of b)p[y]=_;continue}if(b){b==="&"&&ba(_)?p=Ts({},p,_):p[b]=_;continue}if(ba(_)){p=Ts({},p,_);continue}p[g]=_}return p};return i}var N4e=e=>t=>M4e({theme:t,pseudos:n2,configs:GE})(e);function vMe(e){return e}function _Me(e){return e}function bMe(e){return{definePartsStyle(t){return t},defineMultiStyleConfig(t){return{parts:e,...t}}}}function L4e(e,t){if(Array.isArray(e))return e;if(ba(e))return t(e);if(e!=null)return[e]}function D4e(e,t){for(let n=t+1;n{Ts(u,{[y]:p?b[y]:{[_]:b[y]}})});continue}if(!g){p?Ts(u,b):u[_]=b;continue}u[_]=b}}return u}}function F4e(e){return t=>{var n;const{variant:r,size:i,theme:o}=t,s=$4e(o);return Ts({},Fu((n=e.baseStyle)!=null?n:{},t),s(e,"sizes",i,t),s(e,"variants",r,t))}}function SMe(e,t,n){var r,i,o;return(o=(i=(r=e.__cssMap)==null?void 0:r[`${t}.${n}`])==null?void 0:i.varRef)!=null?o:n}function dV(e){return g4e(e,["styleConfig","size","variant","colorScheme"])}function B4e(e,t){const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}function U4e(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},V4e=z4e(U4e);function fV(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r];t(i,r,e)&&(n[r]=i)}),n}var hV=e=>fV(e,t=>t!=null);function j4e(e){return typeof e=="function"}function G4e(e,...t){return j4e(e)?e(...t):e}function wMe(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}var H4e=typeof Element<"u",W4e=typeof Map=="function",q4e=typeof Set=="function",K4e=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Rv(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,r,i;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Rv(e[r],t[r]))return!1;return!0}var o;if(W4e&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;for(o=e.entries();!(r=o.next()).done;)if(!Rv(r.value[1],t.get(r.value[0])))return!1;return!0}if(q4e&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(K4e&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;if(H4e&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!Rv(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var X4e=function(t,n){try{return Rv(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const Y4e=dc(X4e);function pV(e,t={}){var n;const{styleConfig:r,...i}=t,{theme:o,colorMode:s}=v5e(),a=e?V4e(o,`components.${e}`):void 0,l=r||a,u=Ts({theme:o,colorMode:s},(n=l==null?void 0:l.defaultProps)!=null?n:{},hV(B4e(i,["children"]))),d=L.useRef({});if(l){const p=F4e(l)(u);Y4e(d.current,p)||(d.current=p)}return d.current}function gV(e,t={}){return pV(e,t)}function xMe(e,t={}){return pV(e,t)}var Q4e=new Set([...T4e,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),Z4e=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function J4e(e){return Z4e.has(e)||!Q4e.has(e)}function eTe(e,...t){if(e==null)throw new TypeError("Cannot convert undefined or null to object");const n={...e};for(const r of t)if(r!=null)for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&(i in n&&delete n[i],n[i]=r[i]);return n}var tTe=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,nTe=Kz(function(e){return tTe.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),rTe=nTe,iTe=function(t){return t!=="theme"},Xk=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?rTe:iTe},Yk=function(t,n,r){var i;if(n){var o=n.shouldForwardProp;i=t.__emotion_forwardProp&&o?function(s){return t.__emotion_forwardProp(s)&&o(s)}:o}return typeof i!="function"&&r&&(i=t.__emotion_forwardProp),i},oTe=function(t){var n=t.cache,r=t.serialized,i=t.isStringTag;return Yz(n,r,i),f5e(function(){return Qz(n,r,i)}),null},sTe=function e(t,n){var r=t.__emotion_real===t,i=r&&t.__emotion_base||t,o,s;n!==void 0&&(o=n.label,s=n.target);var a=Yk(t,n,r),l=a||Xk(i),u=!l("as");return function(){var d=arguments,f=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&f.push("label:"+o+";"),d[0]==null||d[0].raw===void 0)f.push.apply(f,d);else{f.push(d[0][0]);for(var p=d.length,g=1;gt=>{const{theme:n,css:r,__css:i,sx:o,...s}=t,a=fV(s,(f,p)=>A4e(p)),l=G4e(e,t),u=eTe({},i,l,hV(a),o),d=N4e(u)(t.theme);return r?[d,r]:d};function Yx(e,t){const{baseStyle:n,...r}=t??{};r.shouldForwardProp||(r.shouldForwardProp=J4e);const i=uTe({baseStyle:n}),o=lTe(e,r)(i);return Lt.forwardRef(function(l,u){const{colorMode:d,forced:f}=zE();return Lt.createElement(o,{ref:u,"data-theme":f?d:void 0,...l})})}function cTe(){const e=new Map;return new Proxy(Yx,{apply(t,n,r){return Yx(...r)},get(t,n){return e.has(n)||e.set(n,Yx(n)),e.get(n)}})}var cc=cTe();function Pc(e){return L.forwardRef(e)}const mV=L.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),r2=L.createContext({}),Lm=L.createContext(null),i2=typeof document<"u",a_=i2?L.useLayoutEffect:L.useEffect,yV=L.createContext({strict:!1});function dTe(e,t,n,r){const{visualElement:i}=L.useContext(r2),o=L.useContext(yV),s=L.useContext(Lm),a=L.useContext(mV).reducedMotion,l=L.useRef();r=r||o.renderer,!l.current&&r&&(l.current=r(e,{visualState:t,parent:i,props:n,presenceContext:s,blockInitialAnimation:s?s.initial===!1:!1,reducedMotionConfig:a}));const u=l.current;return L.useInsertionEffect(()=>{u&&u.update(n,s)}),a_(()=>{u&&u.render()}),L.useEffect(()=>{u&&u.updateFeatures()}),(window.HandoffAppearAnimations?a_:L.useEffect)(()=>{u&&u.animationState&&u.animationState.animateChanges()}),u}function $d(e){return typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function fTe(e,t,n){return L.useCallback(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):$d(n)&&(n.current=r))},[t])}function zg(e){return typeof e=="string"||Array.isArray(e)}function o2(e){return typeof e=="object"&&typeof e.start=="function"}const HE=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],WE=["initial",...HE];function s2(e){return o2(e.animate)||WE.some(t=>zg(e[t]))}function vV(e){return!!(s2(e)||e.variants)}function hTe(e,t){if(s2(e)){const{initial:n,animate:r}=e;return{initial:n===!1||zg(n)?n:void 0,animate:zg(r)?r:void 0}}return e.inherit!==!1?t:{}}function pTe(e){const{initial:t,animate:n}=hTe(e,L.useContext(r2));return L.useMemo(()=>({initial:t,animate:n}),[Zk(t),Zk(n)])}function Zk(e){return Array.isArray(e)?e.join(" "):e}const Jk={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},Vg={};for(const e in Jk)Vg[e]={isEnabled:t=>Jk[e].some(n=>!!t[n])};function gTe(e){for(const t in e)Vg[t]={...Vg[t],...e[t]}}const qE=L.createContext({}),_V=L.createContext({}),mTe=Symbol.for("motionComponentSymbol");function yTe({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:i}){e&&gTe(e);function o(a,l){let u;const d={...L.useContext(mV),...a,layoutId:vTe(a)},{isStatic:f}=d,p=pTe(a),g=r(a,f);if(!f&&i2){p.visualElement=dTe(i,g,d,t);const m=L.useContext(_V),v=L.useContext(yV).strict;p.visualElement&&(u=p.visualElement.loadFeatures(d,v,e,m))}return L.createElement(r2.Provider,{value:p},u&&p.visualElement?L.createElement(u,{visualElement:p.visualElement,...d}):null,n(i,a,fTe(g,p.visualElement,l),g,f,p.visualElement))}const s=L.forwardRef(o);return s[mTe]=i,s}function vTe({layoutId:e}){const t=L.useContext(qE).id;return t&&e!==void 0?t+"-"+e:e}function _Te(e){function t(r,i={}){return yTe(e(r,i))}if(typeof Proxy>"u")return t;const n=new Map;return new Proxy(t,{get:(r,i)=>(n.has(i)||n.set(i,t(i)),n.get(i))})}const bTe=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function KE(e){return typeof e!="string"||e.includes("-")?!1:!!(bTe.indexOf(e)>-1||/[A-Z]/.test(e))}const l_={};function STe(e){Object.assign(l_,e)}const Dm=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Rc=new Set(Dm);function bV(e,{layout:t,layoutId:n}){return Rc.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!l_[e]||e==="opacity")}const ki=e=>!!(e&&e.getVelocity),wTe={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},xTe=Dm.length;function CTe(e,{enableHardwareAcceleration:t=!0,allowTransformNone:n=!0},r,i){let o="";for(let s=0;st=>typeof t=="string"&&t.startsWith(e),wV=SV("--"),A5=SV("var(--"),TTe=/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,ETe=(e,t)=>t&&typeof e=="number"?t.transform(e):e,ql=(e,t,n)=>Math.min(Math.max(n,e),t),Oc={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Op={...Oc,transform:e=>ql(0,1,e)},G0={...Oc,default:1},kp=e=>Math.round(e*1e5)/1e5,a2=/(-)?([\d]*\.?[\d])+/g,xV=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,ATe=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function $m(e){return typeof e=="string"}const Fm=e=>({test:t=>$m(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),al=Fm("deg"),Is=Fm("%"),Be=Fm("px"),PTe=Fm("vh"),RTe=Fm("vw"),eI={...Is,parse:e=>Is.parse(e)/100,transform:e=>Is.transform(e*100)},tI={...Oc,transform:Math.round},CV={borderWidth:Be,borderTopWidth:Be,borderRightWidth:Be,borderBottomWidth:Be,borderLeftWidth:Be,borderRadius:Be,radius:Be,borderTopLeftRadius:Be,borderTopRightRadius:Be,borderBottomRightRadius:Be,borderBottomLeftRadius:Be,width:Be,maxWidth:Be,height:Be,maxHeight:Be,size:Be,top:Be,right:Be,bottom:Be,left:Be,padding:Be,paddingTop:Be,paddingRight:Be,paddingBottom:Be,paddingLeft:Be,margin:Be,marginTop:Be,marginRight:Be,marginBottom:Be,marginLeft:Be,rotate:al,rotateX:al,rotateY:al,rotateZ:al,scale:G0,scaleX:G0,scaleY:G0,scaleZ:G0,skew:al,skewX:al,skewY:al,distance:Be,translateX:Be,translateY:Be,translateZ:Be,x:Be,y:Be,z:Be,perspective:Be,transformPerspective:Be,opacity:Op,originX:eI,originY:eI,originZ:Be,zIndex:tI,fillOpacity:Op,strokeOpacity:Op,numOctaves:tI};function XE(e,t,n,r){const{style:i,vars:o,transform:s,transformOrigin:a}=e;let l=!1,u=!1,d=!0;for(const f in t){const p=t[f];if(wV(f)){o[f]=p;continue}const g=CV[f],m=ETe(p,g);if(Rc.has(f)){if(l=!0,s[f]=m,!d)continue;p!==(g.default||0)&&(d=!1)}else f.startsWith("origin")?(u=!0,a[f]=m):i[f]=m}if(t.transform||(l||r?i.transform=CTe(e.transform,n,d,r):i.transform&&(i.transform="none")),u){const{originX:f="50%",originY:p="50%",originZ:g=0}=a;i.transformOrigin=`${f} ${p} ${g}`}}const YE=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function TV(e,t,n){for(const r in t)!ki(t[r])&&!bV(r,n)&&(e[r]=t[r])}function OTe({transformTemplate:e},t,n){return L.useMemo(()=>{const r=YE();return XE(r,t,{enableHardwareAcceleration:!n},e),Object.assign({},r.vars,r.style)},[t])}function kTe(e,t,n){const r=e.style||{},i={};return TV(i,r,e),Object.assign(i,OTe(e,t,n)),e.transformValues?e.transformValues(i):i}function ITe(e,t,n){const r={},i=kTe(e,t,n);return e.drag&&e.dragListener!==!1&&(r.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(r.tabIndex=0),r.style=i,r}const MTe=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","ignoreStrict","viewport"]);function u_(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||MTe.has(e)}let EV=e=>!u_(e);function NTe(e){e&&(EV=t=>t.startsWith("on")?!u_(t):e(t))}try{NTe(require("@emotion/is-prop-valid").default)}catch{}function LTe(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(EV(i)||n===!0&&u_(i)||!t&&!u_(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function nI(e,t,n){return typeof e=="string"?e:Be.transform(t+n*e)}function DTe(e,t,n){const r=nI(t,e.x,e.width),i=nI(n,e.y,e.height);return`${r} ${i}`}const $Te={offset:"stroke-dashoffset",array:"stroke-dasharray"},FTe={offset:"strokeDashoffset",array:"strokeDasharray"};function BTe(e,t,n=1,r=0,i=!0){e.pathLength=1;const o=i?$Te:FTe;e[o.offset]=Be.transform(-r);const s=Be.transform(t),a=Be.transform(n);e[o.array]=`${s} ${a}`}function QE(e,{attrX:t,attrY:n,attrScale:r,originX:i,originY:o,pathLength:s,pathSpacing:a=1,pathOffset:l=0,...u},d,f,p){if(XE(e,u,d,p),f){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:g,style:m,dimensions:v}=e;g.transform&&(v&&(m.transform=g.transform),delete g.transform),v&&(i!==void 0||o!==void 0||m.transform)&&(m.transformOrigin=DTe(v,i!==void 0?i:.5,o!==void 0?o:.5)),t!==void 0&&(g.x=t),n!==void 0&&(g.y=n),r!==void 0&&(g.scale=r),s!==void 0&&BTe(g,s,a,l,!1)}const AV=()=>({...YE(),attrs:{}}),ZE=e=>typeof e=="string"&&e.toLowerCase()==="svg";function UTe(e,t,n,r){const i=L.useMemo(()=>{const o=AV();return QE(o,t,{enableHardwareAcceleration:!1},ZE(r),e.transformTemplate),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};TV(o,e.style,e),i.style={...o,...i.style}}return i}function zTe(e=!1){return(n,r,i,{latestValues:o},s)=>{const l=(KE(n)?UTe:ITe)(r,o,s,n),d={...LTe(r,typeof n=="string",e),...l,ref:i},{children:f}=r,p=L.useMemo(()=>ki(f)?f.get():f,[f]);return L.createElement(n,{...d,children:p})}}const JE=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function PV(e,{style:t,vars:n},r,i){Object.assign(e.style,t,i&&i.getProjectionStyles(r));for(const o in n)e.style.setProperty(o,n[o])}const RV=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function OV(e,t,n,r){PV(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(RV.has(i)?i:JE(i),t.attrs[i])}function e6(e,t){const{style:n}=e,r={};for(const i in n)(ki(n[i])||t.style&&ki(t.style[i])||bV(i,e))&&(r[i]=n[i]);return r}function kV(e,t){const n=e6(e,t);for(const r in e)if(ki(e[r])||ki(t[r])){const i=Dm.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;n[i]=e[r]}return n}function t6(e,t,n,r={},i={}){return typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),t}function IV(e){const t=L.useRef(null);return t.current===null&&(t.current=e()),t.current}const c_=e=>Array.isArray(e),VTe=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),jTe=e=>c_(e)?e[e.length-1]||0:e;function Ov(e){const t=ki(e)?e.get():e;return VTe(t)?t.toValue():t}function GTe({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,o){const s={latestValues:HTe(r,i,o,e),renderState:t()};return n&&(s.mount=a=>n(r,a,s)),s}const MV=e=>(t,n)=>{const r=L.useContext(r2),i=L.useContext(Lm),o=()=>GTe(e,t,r,i);return n?o():IV(o)};function HTe(e,t,n,r){const i={},o=r(e,{});for(const p in o)i[p]=Ov(o[p]);let{initial:s,animate:a}=e;const l=s2(e),u=vV(e);t&&u&&!l&&e.inherit!==!1&&(s===void 0&&(s=t.initial),a===void 0&&(a=t.animate));let d=n?n.initial===!1:!1;d=d||s===!1;const f=d?a:s;return f&&typeof f!="boolean"&&!o2(f)&&(Array.isArray(f)?f:[f]).forEach(g=>{const m=t6(e,g);if(!m)return;const{transitionEnd:v,transition:x,..._}=m;for(const b in _){let y=_[b];if(Array.isArray(y)){const S=d?y.length-1:0;y=y[S]}y!==null&&(i[b]=y)}for(const b in v)i[b]=v[b]}),i}const WTe={useVisualState:MV({scrapeMotionValuesFromProps:kV,createRenderState:AV,onMount:(e,t,{renderState:n,latestValues:r})=>{try{n.dimensions=typeof t.getBBox=="function"?t.getBBox():t.getBoundingClientRect()}catch{n.dimensions={x:0,y:0,width:0,height:0}}QE(n,r,{enableHardwareAcceleration:!1},ZE(t.tagName),e.transformTemplate),OV(t,n)}})},qTe={useVisualState:MV({scrapeMotionValuesFromProps:e6,createRenderState:YE})};function KTe(e,{forwardMotionProps:t=!1},n,r){return{...KE(e)?WTe:qTe,preloadedFeatures:n,useRender:zTe(t),createVisualElement:r,Component:e}}function ma(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const NV=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function l2(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const XTe=e=>t=>NV(t)&&e(t,l2(t));function Sa(e,t,n,r){return ma(e,t,XTe(n),r)}const YTe=(e,t)=>n=>t(e(n)),Ml=(...e)=>e.reduce(YTe);function LV(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const rI=LV("dragHorizontal"),iI=LV("dragVertical");function DV(e){let t=!1;if(e==="y")t=iI();else if(e==="x")t=rI();else{const n=rI(),r=iI();n&&r?t=()=>{n(),r()}:(n&&n(),r&&r())}return t}function $V(){const e=DV(!0);return e?(e(),!1):!0}class lu{constructor(t){this.isMounted=!1,this.node=t}update(){}}const jn=e=>e;function QTe(e){let t=[],n=[],r=0,i=!1,o=!1;const s=new WeakSet,a={schedule:(l,u=!1,d=!1)=>{const f=d&&i,p=f?t:n;return u&&s.add(l),p.indexOf(l)===-1&&(p.push(l),f&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),s.delete(l)},process:l=>{if(i){o=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let u=0;u(f[p]=QTe(()=>n=!0),f),{}),s=f=>o[f].process(i),a=f=>{n=!1,i.delta=r?1e3/60:Math.max(Math.min(f-i.timestamp,ZTe),1),i.timestamp=f,i.isProcessing=!0,H0.forEach(s),i.isProcessing=!1,n&&t&&(r=!1,e(a))},l=()=>{n=!0,r=!0,i.isProcessing||e(a)};return{schedule:H0.reduce((f,p)=>{const g=o[p];return f[p]=(m,v=!1,x=!1)=>(n||l(),g.schedule(m,v,x)),f},{}),cancel:f=>H0.forEach(p=>o[p].cancel(f)),state:i,steps:o}}const{schedule:dn,cancel:ka,state:Vr,steps:Qx}=JTe(typeof requestAnimationFrame<"u"?requestAnimationFrame:jn,!0);function oI(e,t){const n="pointer"+(t?"enter":"leave"),r="onHover"+(t?"Start":"End"),i=(o,s)=>{if(o.type==="touch"||$V())return;const a=e.getProps();e.animationState&&a.whileHover&&e.animationState.setActive("whileHover",t),a[r]&&dn.update(()=>a[r](o,s))};return Sa(e.current,n,i,{passive:!e.getProps()[r]})}class eEe extends lu{mount(){this.unmount=Ml(oI(this.node,!0),oI(this.node,!1))}unmount(){}}class tEe extends lu{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Ml(ma(this.node.current,"focus",()=>this.onFocus()),ma(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const FV=(e,t)=>t?e===t?!0:FV(e,t.parentElement):!1;function Zx(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,l2(n))}class nEe extends lu{constructor(){super(...arguments),this.removeStartListeners=jn,this.removeEndListeners=jn,this.removeAccessibleListeners=jn,this.startPointerPress=(t,n)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),o=Sa(window,"pointerup",(a,l)=>{if(!this.checkPressEnd())return;const{onTap:u,onTapCancel:d}=this.node.getProps();dn.update(()=>{FV(this.node.current,a.target)?u&&u(a,l):d&&d(a,l)})},{passive:!(r.onTap||r.onPointerUp)}),s=Sa(window,"pointercancel",(a,l)=>this.cancelPress(a,l),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=Ml(o,s),this.startPress(t,n)},this.startAccessiblePress=()=>{const t=o=>{if(o.key!=="Enter"||this.isPressing)return;const s=a=>{a.key!=="Enter"||!this.checkPressEnd()||Zx("up",(l,u)=>{const{onTap:d}=this.node.getProps();d&&dn.update(()=>d(l,u))})};this.removeEndListeners(),this.removeEndListeners=ma(this.node.current,"keyup",s),Zx("down",(a,l)=>{this.startPress(a,l)})},n=ma(this.node.current,"keydown",t),r=()=>{this.isPressing&&Zx("cancel",(o,s)=>this.cancelPress(o,s))},i=ma(this.node.current,"blur",r);this.removeAccessibleListeners=Ml(n,i)}}startPress(t,n){this.isPressing=!0;const{onTapStart:r,whileTap:i}=this.node.getProps();i&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),r&&dn.update(()=>r(t,n))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!$V()}cancelPress(t,n){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&dn.update(()=>r(t,n))}mount(){const t=this.node.getProps(),n=Sa(this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),r=ma(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=Ml(n,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const P5=new WeakMap,Jx=new WeakMap,rEe=e=>{const t=P5.get(e.target);t&&t(e)},iEe=e=>{e.forEach(rEe)};function oEe({root:e,...t}){const n=e||document;Jx.has(n)||Jx.set(n,{});const r=Jx.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(iEe,{root:e,...t})),r[i]}function sEe(e,t,n){const r=oEe(t);return P5.set(e,n),r.observe(e),()=>{P5.delete(e),r.unobserve(e)}}const aEe={some:0,all:1};class lEe extends lu{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:o}=t,s={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:aEe[i]},a=l=>{const{isIntersecting:u}=l;if(this.isInView===u||(this.isInView=u,o&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:d,onViewportLeave:f}=this.node.getProps(),p=u?d:f;p&&p(l)};return sEe(this.node.current,s,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(uEe(t,n))&&this.startObserver()}unmount(){}}function uEe({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const cEe={inView:{Feature:lEe},tap:{Feature:nEe},focus:{Feature:tEe},hover:{Feature:eEe}};function BV(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;rt[r]=n.get()),t}function fEe(e){const t={};return e.values.forEach((n,r)=>t[r]=n.getVelocity()),t}function u2(e,t,n){const r=e.getProps();return t6(r,t,n!==void 0?n:r.custom,dEe(e),fEe(e))}const hEe="framerAppearId",pEe="data-"+JE(hEe);let gEe=jn,n6=jn;const Nl=e=>e*1e3,wa=e=>e/1e3,mEe={current:!1},UV=e=>Array.isArray(e)&&typeof e[0]=="number";function zV(e){return!!(!e||typeof e=="string"&&VV[e]||UV(e)||Array.isArray(e)&&e.every(zV))}const gp=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,VV={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:gp([0,.65,.55,1]),circOut:gp([.55,0,1,.45]),backIn:gp([.31,.01,.66,-.59]),backOut:gp([.33,1.53,.69,.99])};function jV(e){if(e)return UV(e)?gp(e):Array.isArray(e)?e.map(jV):VV[e]}function yEe(e,t,n,{delay:r=0,duration:i,repeat:o=0,repeatType:s="loop",ease:a,times:l}={}){const u={[t]:n};l&&(u.offset=l);const d=jV(a);return Array.isArray(d)&&(u.easing=d),e.animate(u,{delay:r,duration:i,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:o+1,direction:s==="reverse"?"alternate":"normal"})}const sI={waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate")},eC={},GV={};for(const e in sI)GV[e]=()=>(eC[e]===void 0&&(eC[e]=sI[e]()),eC[e]);function vEe(e,{repeat:t,repeatType:n="loop"}){const r=t&&n!=="loop"&&t%2===1?0:e.length-1;return e[r]}const HV=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,_Ee=1e-7,bEe=12;function SEe(e,t,n,r,i){let o,s,a=0;do s=t+(n-t)/2,o=HV(s,r,i)-e,o>0?n=s:t=s;while(Math.abs(o)>_Ee&&++aSEe(o,0,1,e,n);return o=>o===0||o===1?o:HV(i(o),t,r)}const wEe=Bm(.42,0,1,1),xEe=Bm(0,0,.58,1),WV=Bm(.42,0,.58,1),CEe=e=>Array.isArray(e)&&typeof e[0]!="number",qV=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,KV=e=>t=>1-e(1-t),XV=e=>1-Math.sin(Math.acos(e)),r6=KV(XV),TEe=qV(r6),YV=Bm(.33,1.53,.69,.99),i6=KV(YV),EEe=qV(i6),AEe=e=>(e*=2)<1?.5*i6(e):.5*(2-Math.pow(2,-10*(e-1))),PEe={linear:jn,easeIn:wEe,easeInOut:WV,easeOut:xEe,circIn:XV,circInOut:TEe,circOut:r6,backIn:i6,backInOut:EEe,backOut:YV,anticipate:AEe},aI=e=>{if(Array.isArray(e)){n6(e.length===4);const[t,n,r,i]=e;return Bm(t,n,r,i)}else if(typeof e=="string")return PEe[e];return e},o6=(e,t)=>n=>!!($m(n)&&ATe.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),QV=(e,t,n)=>r=>{if(!$m(r))return r;const[i,o,s,a]=r.match(a2);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(s),alpha:a!==void 0?parseFloat(a):1}},REe=e=>ql(0,255,e),tC={...Oc,transform:e=>Math.round(REe(e))},Bu={test:o6("rgb","red"),parse:QV("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+tC.transform(e)+", "+tC.transform(t)+", "+tC.transform(n)+", "+kp(Op.transform(r))+")"};function OEe(e){let t="",n="",r="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const R5={test:o6("#"),parse:OEe,transform:Bu.transform},Fd={test:o6("hsl","hue"),parse:QV("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+Is.transform(kp(t))+", "+Is.transform(kp(n))+", "+kp(Op.transform(r))+")"},ni={test:e=>Bu.test(e)||R5.test(e)||Fd.test(e),parse:e=>Bu.test(e)?Bu.parse(e):Fd.test(e)?Fd.parse(e):R5.parse(e),transform:e=>$m(e)?e:e.hasOwnProperty("red")?Bu.transform(e):Fd.transform(e)},vn=(e,t,n)=>-n*e+n*t+e;function nC(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function kEe({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,o=0,s=0;if(!t)i=o=s=n;else{const a=n<.5?n*(1+t):n+t-n*t,l=2*n-a;i=nC(l,a,e+1/3),o=nC(l,a,e),s=nC(l,a,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(s*255),alpha:r}}const rC=(e,t,n)=>{const r=e*e;return Math.sqrt(Math.max(0,n*(t*t-r)+r))},IEe=[R5,Bu,Fd],MEe=e=>IEe.find(t=>t.test(e));function lI(e){const t=MEe(e);let n=t.parse(e);return t===Fd&&(n=kEe(n)),n}const ZV=(e,t)=>{const n=lI(e),r=lI(t),i={...n};return o=>(i.red=rC(n.red,r.red,o),i.green=rC(n.green,r.green,o),i.blue=rC(n.blue,r.blue,o),i.alpha=vn(n.alpha,r.alpha,o),Bu.transform(i))};function NEe(e){var t,n;return isNaN(e)&&$m(e)&&(((t=e.match(a2))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(xV))===null||n===void 0?void 0:n.length)||0)>0}const JV={regex:TTe,countKey:"Vars",token:"${v}",parse:jn},ej={regex:xV,countKey:"Colors",token:"${c}",parse:ni.parse},tj={regex:a2,countKey:"Numbers",token:"${n}",parse:Oc.parse};function iC(e,{regex:t,countKey:n,token:r,parse:i}){const o=e.tokenised.match(t);o&&(e["num"+n]=o.length,e.tokenised=e.tokenised.replace(t,r),e.values.push(...o.map(i)))}function d_(e){const t=e.toString(),n={value:t,tokenised:t,values:[],numVars:0,numColors:0,numNumbers:0};return n.value.includes("var(--")&&iC(n,JV),iC(n,ej),iC(n,tj),n}function nj(e){return d_(e).values}function rj(e){const{values:t,numColors:n,numVars:r,tokenised:i}=d_(e),o=t.length;return s=>{let a=i;for(let l=0;ltypeof e=="number"?0:e;function DEe(e){const t=nj(e);return rj(e)(t.map(LEe))}const Kl={test:NEe,parse:nj,createTransformer:rj,getAnimatableNone:DEe},ij=(e,t)=>n=>`${n>0?t:e}`;function oj(e,t){return typeof e=="number"?n=>vn(e,t,n):ni.test(e)?ZV(e,t):e.startsWith("var(")?ij(e,t):aj(e,t)}const sj=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,s)=>oj(o,t[s]));return o=>{for(let s=0;s{const n={...e,...t},r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=oj(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}},aj=(e,t)=>{const n=Kl.createTransformer(t),r=d_(e),i=d_(t);return r.numVars===i.numVars&&r.numColors===i.numColors&&r.numNumbers>=i.numNumbers?Ml(sj(r.values,i.values),n):ij(e,t)},jg=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},uI=(e,t)=>n=>vn(e,t,n);function FEe(e){return typeof e=="number"?uI:typeof e=="string"?ni.test(e)?ZV:aj:Array.isArray(e)?sj:typeof e=="object"?$Ee:uI}function BEe(e,t,n){const r=[],i=n||FEe(e[0]),o=e.length-1;for(let s=0;st[0];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const s=BEe(t,r,i),a=s.length,l=u=>{let d=0;if(a>1)for(;dl(ql(e[0],e[o-1],u)):l}function UEe(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const i=jg(0,t,r);e.push(vn(n,1,i))}}function zEe(e){const t=[0];return UEe(t,e.length-1),t}function VEe(e,t){return e.map(n=>n*t)}function jEe(e,t){return e.map(()=>t||WV).splice(0,e.length-1)}function f_({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const i=CEe(r)?r.map(aI):aI(r),o={done:!1,value:t[0]},s=VEe(n&&n.length===t.length?n:zEe(t),e),a=lj(s,t,{ease:Array.isArray(i)?i:jEe(t,i)});return{calculatedDuration:e,next:l=>(o.value=a(l),o.done=l>=e,o)}}function uj(e,t){return t?e*(1e3/t):0}const GEe=5;function cj(e,t,n){const r=Math.max(t-GEe,0);return uj(n-e(r),t-r)}const oC=.001,HEe=.01,cI=10,WEe=.05,qEe=1;function KEe({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,o;gEe(e<=Nl(cI));let s=1-t;s=ql(WEe,qEe,s),e=ql(HEe,cI,wa(e)),s<1?(i=u=>{const d=u*s,f=d*e,p=d-n,g=O5(u,s),m=Math.exp(-f);return oC-p/g*m},o=u=>{const f=u*s*e,p=f*n+n,g=Math.pow(s,2)*Math.pow(u,2)*e,m=Math.exp(-f),v=O5(Math.pow(u,2),s);return(-i(u)+oC>0?-1:1)*((p-g)*m)/v}):(i=u=>{const d=Math.exp(-u*e),f=(u-n)*e+1;return-oC+d*f},o=u=>{const d=Math.exp(-u*e),f=(n-u)*(e*e);return d*f});const a=5/e,l=YEe(i,o,a);if(e=Nl(e),isNaN(l))return{stiffness:100,damping:10,duration:e};{const u=Math.pow(l,2)*r;return{stiffness:u,damping:s*2*Math.sqrt(r*u),duration:e}}}const XEe=12;function YEe(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function JEe(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!dI(e,ZEe)&&dI(e,QEe)){const n=KEe(e);t={...t,...n,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}function dj({keyframes:e,restDelta:t,restSpeed:n,...r}){const i=e[0],o=e[e.length-1],s={done:!1,value:i},{stiffness:a,damping:l,mass:u,velocity:d,duration:f,isResolvedFromDuration:p}=JEe(r),g=d?-wa(d):0,m=l/(2*Math.sqrt(a*u)),v=o-i,x=wa(Math.sqrt(a/u)),_=Math.abs(v)<5;n||(n=_?.01:2),t||(t=_?.005:.5);let b;if(m<1){const y=O5(x,m);b=S=>{const C=Math.exp(-m*x*S);return o-C*((g+m*x*v)/y*Math.sin(y*S)+v*Math.cos(y*S))}}else if(m===1)b=y=>o-Math.exp(-x*y)*(v+(g+x*v)*y);else{const y=x*Math.sqrt(m*m-1);b=S=>{const C=Math.exp(-m*x*S),T=Math.min(y*S,300);return o-C*((g+m*x*v)*Math.sinh(T)+y*v*Math.cosh(T))/y}}return{calculatedDuration:p&&f||null,next:y=>{const S=b(y);if(p)s.done=y>=f;else{let C=g;y!==0&&(m<1?C=cj(b,y,S):C=0);const T=Math.abs(C)<=n,E=Math.abs(o-S)<=t;s.done=T&&E}return s.value=s.done?o:S,s}}}function fI({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:o=500,modifyTarget:s,min:a,max:l,restDelta:u=.5,restSpeed:d}){const f=e[0],p={done:!1,value:f},g=P=>a!==void 0&&Pl,m=P=>a===void 0?l:l===void 0||Math.abs(a-P)-v*Math.exp(-P/r),y=P=>_+b(P),S=P=>{const k=b(P),O=y(P);p.done=Math.abs(k)<=u,p.value=p.done?_:O};let C,T;const E=P=>{g(p.value)&&(C=P,T=dj({keyframes:[p.value,m(p.value)],velocity:cj(y,P,p.value),damping:i,stiffness:o,restDelta:u,restSpeed:d}))};return E(0),{calculatedDuration:null,next:P=>{let k=!1;return!T&&C===void 0&&(k=!0,S(P),E(P)),C!==void 0&&P>C?T.next(P-C):(!k&&S(P),p)}}}const e6e=e=>{const t=({timestamp:n})=>e(n);return{start:()=>dn.update(t,!0),stop:()=>ka(t),now:()=>Vr.isProcessing?Vr.timestamp:performance.now()}},hI=2e4;function pI(e){let t=0;const n=50;let r=e.next(t);for(;!r.done&&t=hI?1/0:t}const t6e={decay:fI,inertia:fI,tween:f_,keyframes:f_,spring:dj};function h_({autoplay:e=!0,delay:t=0,driver:n=e6e,keyframes:r,type:i="keyframes",repeat:o=0,repeatDelay:s=0,repeatType:a="loop",onPlay:l,onStop:u,onComplete:d,onUpdate:f,...p}){let g=1,m=!1,v,x;const _=()=>{x=new Promise(q=>{v=q})};_();let b;const y=t6e[i]||f_;let S;y!==f_&&typeof r[0]!="number"&&(S=lj([0,100],r,{clamp:!1}),r=[0,100]);const C=y({...p,keyframes:r});let T;a==="mirror"&&(T=y({...p,keyframes:[...r].reverse(),velocity:-(p.velocity||0)}));let E="idle",P=null,k=null,O=null;C.calculatedDuration===null&&o&&(C.calculatedDuration=pI(C));const{calculatedDuration:M}=C;let G=1/0,U=1/0;M!==null&&(G=M+s,U=G*(o+1)-s);let A=0;const N=q=>{if(k===null)return;g>0&&(k=Math.min(k,q)),g<0&&(k=Math.min(q-U/g,k)),P!==null?A=P:A=Math.round(q-k)*g;const Z=A-t*(g>=0?1:-1),ee=g>=0?Z<0:Z>U;A=Math.max(Z,0),E==="finished"&&P===null&&(A=U);let ie=A,se=C;if(o){const fe=A/G;let pe=Math.floor(fe),ve=fe%1;!ve&&fe>=1&&(ve=1),ve===1&&pe--,pe=Math.min(pe,o+1);const ye=!!(pe%2);ye&&(a==="reverse"?(ve=1-ve,s&&(ve-=s/G)):a==="mirror"&&(se=T));let We=ql(0,1,ve);A>U&&(We=a==="reverse"&&ye?1:0),ie=We*G}const le=ee?{done:!1,value:r[0]}:se.next(ie);S&&(le.value=S(le.value));let{done:W}=le;!ee&&M!==null&&(W=g>=0?A>=U:A<=0);const ne=P===null&&(E==="finished"||E==="running"&&W);return f&&f(le.value),ne&&D(),le},F=()=>{b&&b.stop(),b=void 0},B=()=>{E="idle",F(),v(),_(),k=O=null},D=()=>{E="finished",d&&d(),F(),v()},V=()=>{if(m)return;b||(b=n(N));const q=b.now();l&&l(),P!==null?k=q-P:(!k||E==="finished")&&(k=q),E==="finished"&&_(),O=k,P=null,E="running",b.start()};e&&V();const j={then(q,Z){return x.then(q,Z)},get time(){return wa(A)},set time(q){q=Nl(q),A=q,P!==null||!b||g===0?P=q:k=b.now()-q/g},get duration(){const q=C.calculatedDuration===null?pI(C):C.calculatedDuration;return wa(q)},get speed(){return g},set speed(q){q===g||!b||(g=q,j.time=wa(A))},get state(){return E},play:V,pause:()=>{E="paused",P=A},stop:()=>{m=!0,E!=="idle"&&(E="idle",u&&u(),B())},cancel:()=>{O!==null&&N(O),B()},complete:()=>{E="finished"},sample:q=>(k=0,N(q))};return j}const n6e=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),W0=10,r6e=2e4,i6e=(e,t)=>t.type==="spring"||e==="backgroundColor"||!zV(t.ease);function o6e(e,t,{onUpdate:n,onComplete:r,...i}){if(!(GV.waapi()&&n6e.has(t)&&!i.repeatDelay&&i.repeatType!=="mirror"&&i.damping!==0&&i.type!=="inertia"))return!1;let s=!1,a,l;const u=()=>{l=new Promise(_=>{a=_})};u();let{keyframes:d,duration:f=300,ease:p,times:g}=i;if(i6e(t,i)){const _=h_({...i,repeat:0,delay:0});let b={done:!1,value:d[0]};const y=[];let S=0;for(;!b.done&&Sm.cancel(),x=()=>{dn.update(v),a(),u()};return m.onfinish=()=>{e.set(vEe(d,i)),r&&r(),x()},{then(_,b){return l.then(_,b)},get time(){return wa(m.currentTime||0)},set time(_){m.currentTime=Nl(_)},get speed(){return m.playbackRate},set speed(_){m.playbackRate=_},get duration(){return wa(f)},play:()=>{s||(m.play(),ka(v))},pause:()=>m.pause(),stop:()=>{if(s=!0,m.playState==="idle")return;const{currentTime:_}=m;if(_){const b=h_({...i,autoplay:!1});e.setWithVelocity(b.sample(_-W0).value,b.sample(_).value,W0)}x()},complete:()=>m.finish(),cancel:x}}function s6e({keyframes:e,delay:t,onUpdate:n,onComplete:r}){const i=()=>(n&&n(e[e.length-1]),r&&r(),{time:0,speed:1,duration:0,play:jn,pause:jn,stop:jn,then:o=>(o(),Promise.resolve()),cancel:jn,complete:jn});return t?h_({keyframes:[0,1],duration:0,delay:t,onComplete:i}):i()}const a6e={type:"spring",stiffness:500,damping:25,restSpeed:10},l6e=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),u6e={type:"keyframes",duration:.8},c6e={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},d6e=(e,{keyframes:t})=>t.length>2?u6e:Rc.has(e)?e.startsWith("scale")?l6e(t[1]):a6e:c6e,k5=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(Kl.test(t)||t==="0")&&!t.startsWith("url(")),f6e=new Set(["brightness","contrast","saturate","opacity"]);function h6e(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(a2)||[];if(!r)return e;const i=n.replace(r,"");let o=f6e.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+i+")"}const p6e=/([a-z-]*)\(.*?\)/g,I5={...Kl,getAnimatableNone:e=>{const t=e.match(p6e);return t?t.map(h6e).join(" "):e}},g6e={...CV,color:ni,backgroundColor:ni,outlineColor:ni,fill:ni,stroke:ni,borderColor:ni,borderTopColor:ni,borderRightColor:ni,borderBottomColor:ni,borderLeftColor:ni,filter:I5,WebkitFilter:I5},s6=e=>g6e[e];function fj(e,t){let n=s6(e);return n!==I5&&(n=Kl),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const hj=e=>/^0[^.\s]+$/.test(e);function m6e(e){if(typeof e=="number")return e===0;if(e!==null)return e==="none"||e==="0"||hj(e)}function y6e(e,t,n,r){const i=k5(t,n);let o;Array.isArray(n)?o=[...n]:o=[null,n];const s=r.from!==void 0?r.from:e.get();let a;const l=[];for(let u=0;ui=>{const o=pj(r,e)||{},s=o.delay||r.delay||0;let{elapsed:a=0}=r;a=a-Nl(s);const l=y6e(t,e,n,o),u=l[0],d=l[l.length-1],f=k5(e,u),p=k5(e,d);let g={keyframes:l,velocity:t.getVelocity(),ease:"easeOut",...o,delay:-a,onUpdate:m=>{t.set(m),o.onUpdate&&o.onUpdate(m)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(v6e(o)||(g={...g,...d6e(e,g)}),g.duration&&(g.duration=Nl(g.duration)),g.repeatDelay&&(g.repeatDelay=Nl(g.repeatDelay)),!f||!p||mEe.current||o.type===!1)return s6e(g);if(t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const m=o6e(t,e,g);if(m)return m}return h_(g)};function p_(e){return!!(ki(e)&&e.add)}const _6e=e=>/^\-?\d*\.?\d+$/.test(e);function l6(e,t){e.indexOf(t)===-1&&e.push(t)}function u6(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class c6{constructor(){this.subscriptions=[]}add(t){return l6(this.subscriptions,t),()=>u6(this.subscriptions,t)}notify(t,n,r){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,r);else for(let o=0;o!isNaN(parseFloat(e));class S6e{constructor(t,n={}){this.version="10.12.22",this.timeDelta=0,this.lastUpdated=0,this.canTrackVelocity=!1,this.events={},this.updateAndNotify=(r,i=!0)=>{this.prev=this.current,this.current=r;const{delta:o,timestamp:s}=Vr;this.lastUpdated!==s&&(this.timeDelta=o,this.lastUpdated=s,dn.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),i&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>dn.postRender(this.velocityCheck),this.velocityCheck=({timestamp:r})=>{r!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=t,this.canTrackVelocity=b6e(this.current),this.owner=n.owner}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new c6);const r=this.events[t].add(n);return t==="change"?()=>{r(),dn.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,r){this.set(n),this.prev=t,this.timeDelta=r}jump(t){this.updateAndNotify(t),this.prev=t,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?uj(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function Mf(e,t){return new S6e(e,t)}const gj=e=>t=>t.test(e),w6e={test:e=>e==="auto",parse:e=>e},mj=[Oc,Be,Is,al,RTe,PTe,w6e],ip=e=>mj.find(gj(e)),x6e=[...mj,ni,Kl],C6e=e=>x6e.find(gj(e));function T6e(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,Mf(n))}function E6e(e,t){const n=u2(e,t);let{transitionEnd:r={},transition:i={},...o}=n?e.makeTargetAnimatable(n,!1):{};o={...o,...r};for(const s in o){const a=jTe(o[s]);T6e(e,s,a)}}function A6e(e,t,n){var r,i;const o=Object.keys(t).filter(a=>!e.hasValue(a)),s=o.length;if(s)for(let a=0;al.remove(f))),u.push(v)}return s&&Promise.all(u).then(()=>{s&&E6e(e,s)}),u}function M5(e,t,n={}){const r=u2(e,t,n.custom);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const o=r?()=>Promise.all(yj(e,r,n)):()=>Promise.resolve(),s=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:d,staggerDirection:f}=i;return k6e(e,t,u+l,d,f,n)}:()=>Promise.resolve(),{when:a}=i;if(a){const[l,u]=a==="beforeChildren"?[o,s]:[s,o];return l().then(()=>u())}else return Promise.all([o(),s(n.delay)])}function k6e(e,t,n=0,r=0,i=1,o){const s=[],a=(e.variantChildren.size-1)*r,l=i===1?(u=0)=>u*r:(u=0)=>a-u*r;return Array.from(e.variantChildren).sort(I6e).forEach((u,d)=>{u.notify("AnimationStart",t),s.push(M5(u,t,{...o,delay:n+l(d)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(s)}function I6e(e,t){return e.sortNodePosition(t)}function M6e(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(o=>M5(e,o,n));r=Promise.all(i)}else if(typeof t=="string")r=M5(e,t,n);else{const i=typeof t=="function"?u2(e,t,n.custom):t;r=Promise.all(yj(e,i,n))}return r.then(()=>e.notify("AnimationComplete",t))}const N6e=[...HE].reverse(),L6e=HE.length;function D6e(e){return t=>Promise.all(t.map(({animation:n,options:r})=>M6e(e,n,r)))}function $6e(e){let t=D6e(e);const n=B6e();let r=!0;const i=(l,u)=>{const d=u2(e,u);if(d){const{transition:f,transitionEnd:p,...g}=d;l={...l,...g,...p}}return l};function o(l){t=l(e)}function s(l,u){const d=e.getProps(),f=e.getVariantContext(!0)||{},p=[],g=new Set;let m={},v=1/0;for(let _=0;_v&&C;const O=Array.isArray(S)?S:[S];let M=O.reduce(i,{});T===!1&&(M={});const{prevResolvedValues:G={}}=y,U={...G,...M},A=N=>{k=!0,g.delete(N),y.needsAnimating[N]=!0};for(const N in U){const F=M[N],B=G[N];m.hasOwnProperty(N)||(F!==B?c_(F)&&c_(B)?!BV(F,B)||P?A(N):y.protectedKeys[N]=!0:F!==void 0?A(N):g.add(N):F!==void 0&&g.has(N)?A(N):y.protectedKeys[N]=!0)}y.prevProp=S,y.prevResolvedValues=M,y.isActive&&(m={...m,...M}),r&&e.blockInitialAnimation&&(k=!1),k&&!E&&p.push(...O.map(N=>({animation:N,options:{type:b,...l}})))}if(g.size){const _={};g.forEach(b=>{const y=e.getBaseTarget(b);y!==void 0&&(_[b]=y)}),p.push({animation:_})}let x=!!p.length;return r&&d.initial===!1&&!e.manuallyAnimateOnMount&&(x=!1),r=!1,x?t(p):Promise.resolve()}function a(l,u,d){var f;if(n[l].isActive===u)return Promise.resolve();(f=e.variantChildren)===null||f===void 0||f.forEach(g=>{var m;return(m=g.animationState)===null||m===void 0?void 0:m.setActive(l,u)}),n[l].isActive=u;const p=s(d,l);for(const g in n)n[g].protectedKeys={};return p}return{animateChanges:s,setActive:a,setAnimateFunction:o,getState:()=>n}}function F6e(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!BV(t,e):!1}function xu(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function B6e(){return{animate:xu(!0),whileInView:xu(),whileHover:xu(),whileTap:xu(),whileDrag:xu(),whileFocus:xu(),exit:xu()}}class U6e extends lu{constructor(t){super(t),t.animationState||(t.animationState=$6e(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();this.unmount(),o2(t)&&(this.unmount=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){}}let z6e=0;class V6e extends lu{constructor(){super(...arguments),this.id=z6e++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n,custom:r}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;const o=this.node.animationState.setActive("exit",!t,{custom:r??this.node.getProps().custom});n&&!t&&o.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const j6e={animation:{Feature:U6e},exit:{Feature:V6e}},gI=(e,t)=>Math.abs(e-t);function G6e(e,t){const n=gI(e.x,t.x),r=gI(e.y,t.y);return Math.sqrt(n**2+r**2)}class vj{constructor(t,n,{transformPagePoint:r}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const u=aC(this.lastMoveEventInfo,this.history),d=this.startEvent!==null,f=G6e(u.offset,{x:0,y:0})>=3;if(!d&&!f)return;const{point:p}=u,{timestamp:g}=Vr;this.history.push({...p,timestamp:g});const{onStart:m,onMove:v}=this.handlers;d||(m&&m(this.lastMoveEvent,u),this.startEvent=this.lastMoveEvent),v&&v(this.lastMoveEvent,u)},this.handlePointerMove=(u,d)=>{this.lastMoveEvent=u,this.lastMoveEventInfo=sC(d,this.transformPagePoint),dn.update(this.updatePoint,!0)},this.handlePointerUp=(u,d)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:f,onSessionEnd:p}=this.handlers,g=aC(u.type==="pointercancel"?this.lastMoveEventInfo:sC(d,this.transformPagePoint),this.history);this.startEvent&&f&&f(u,g),p&&p(u,g)},!NV(t))return;this.handlers=n,this.transformPagePoint=r;const i=l2(t),o=sC(i,this.transformPagePoint),{point:s}=o,{timestamp:a}=Vr;this.history=[{...s,timestamp:a}];const{onSessionStart:l}=n;l&&l(t,aC(o,this.history)),this.removeListeners=Ml(Sa(window,"pointermove",this.handlePointerMove),Sa(window,"pointerup",this.handlePointerUp),Sa(window,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),ka(this.updatePoint)}}function sC(e,t){return t?{point:t(e.point)}:e}function mI(e,t){return{x:e.x-t.x,y:e.y-t.y}}function aC({point:e},t){return{point:e,delta:mI(e,_j(t)),offset:mI(e,H6e(t)),velocity:W6e(t,.1)}}function H6e(e){return e[0]}function _j(e){return e[e.length-1]}function W6e(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=_j(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Nl(t)));)n--;if(!r)return{x:0,y:0};const o=wa(i.timestamp-r.timestamp);if(o===0)return{x:0,y:0};const s={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function Xi(e){return e.max-e.min}function N5(e,t=0,n=.01){return Math.abs(e-t)<=n}function yI(e,t,n,r=.5){e.origin=r,e.originPoint=vn(t.min,t.max,e.origin),e.scale=Xi(n)/Xi(t),(N5(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=vn(n.min,n.max,e.origin)-e.originPoint,(N5(e.translate)||isNaN(e.translate))&&(e.translate=0)}function Ip(e,t,n,r){yI(e.x,t.x,n.x,r?r.originX:void 0),yI(e.y,t.y,n.y,r?r.originY:void 0)}function vI(e,t,n){e.min=n.min+t.min,e.max=e.min+Xi(t)}function q6e(e,t,n){vI(e.x,t.x,n.x),vI(e.y,t.y,n.y)}function _I(e,t,n){e.min=t.min-n.min,e.max=e.min+Xi(t)}function Mp(e,t,n){_I(e.x,t.x,n.x),_I(e.y,t.y,n.y)}function K6e(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?vn(n,e,r.max):Math.min(e,n)),e}function bI(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function X6e(e,{top:t,left:n,bottom:r,right:i}){return{x:bI(e.x,n,i),y:bI(e.y,t,r)}}function SI(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=jg(t.min,t.max-r,e.min):r>i&&(n=jg(e.min,e.max-i,t.min)),ql(0,1,n)}function Z6e(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const L5=.35;function J6e(e=L5){return e===!1?e=0:e===!0&&(e=L5),{x:wI(e,"left","right"),y:wI(e,"top","bottom")}}function wI(e,t,n){return{min:xI(e,t),max:xI(e,n)}}function xI(e,t){return typeof e=="number"?e:e[t]||0}const CI=()=>({translate:0,scale:1,origin:0,originPoint:0}),Bd=()=>({x:CI(),y:CI()}),TI=()=>({min:0,max:0}),Fn=()=>({x:TI(),y:TI()});function ps(e){return[e("x"),e("y")]}function bj({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function eAe({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function tAe(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function lC(e){return e===void 0||e===1}function D5({scale:e,scaleX:t,scaleY:n}){return!lC(e)||!lC(t)||!lC(n)}function Pu(e){return D5(e)||Sj(e)||e.z||e.rotate||e.rotateX||e.rotateY}function Sj(e){return EI(e.x)||EI(e.y)}function EI(e){return e&&e!=="0%"}function g_(e,t,n){const r=e-n,i=t*r;return n+i}function AI(e,t,n,r,i){return i!==void 0&&(e=g_(e,i,r)),g_(e,n,r)+t}function $5(e,t=0,n=1,r,i){e.min=AI(e.min,t,n,r,i),e.max=AI(e.max,t,n,r,i)}function wj(e,{x:t,y:n}){$5(e.x,t.translate,t.scale,t.originPoint),$5(e.y,n.translate,n.scale,n.originPoint)}function nAe(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let o,s;for(let a=0;a1.0000000000001||e<.999999999999?e:1}function fl(e,t){e.min=e.min+t,e.max=e.max+t}function RI(e,t,[n,r,i]){const o=t[i]!==void 0?t[i]:.5,s=vn(e.min,e.max,o);$5(e,t[n],t[r],s,t.scale)}const rAe=["x","scaleX","originX"],iAe=["y","scaleY","originY"];function Ud(e,t){RI(e.x,t,rAe),RI(e.y,t,iAe)}function xj(e,t){return bj(tAe(e.getBoundingClientRect(),t))}function oAe(e,t,n){const r=xj(e,n),{scroll:i}=t;return i&&(fl(r.x,i.offset.x),fl(r.y,i.offset.y)),r}const sAe=new WeakMap;class aAe{constructor(t){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Fn(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const i=l=>{this.stopAnimation(),n&&this.snapToCursor(l2(l,"page").point)},o=(l,u)=>{const{drag:d,dragPropagation:f,onDragStart:p}=this.getProps();if(d&&!f&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=DV(d),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),ps(m=>{let v=this.getAxisMotionValue(m).get()||0;if(Is.test(v)){const{projection:x}=this.visualElement;if(x&&x.layout){const _=x.layout.layoutBox[m];_&&(v=Xi(_)*(parseFloat(v)/100))}}this.originPoint[m]=v}),p&&dn.update(()=>p(l,u),!1,!0);const{animationState:g}=this.visualElement;g&&g.setActive("whileDrag",!0)},s=(l,u)=>{const{dragPropagation:d,dragDirectionLock:f,onDirectionLock:p,onDrag:g}=this.getProps();if(!d&&!this.openGlobalLock)return;const{offset:m}=u;if(f&&this.currentDirection===null){this.currentDirection=lAe(m),this.currentDirection!==null&&p&&p(this.currentDirection);return}this.updateAxis("x",u.point,m),this.updateAxis("y",u.point,m),this.visualElement.render(),g&&g(l,u)},a=(l,u)=>this.stop(l,u);this.panSession=new vj(t,{onSessionStart:i,onStart:o,onMove:s,onSessionEnd:a},{transformPagePoint:this.visualElement.getTransformPagePoint()})}stop(t,n){const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:i}=n;this.startAnimation(i);const{onDragEnd:o}=this.getProps();o&&dn.update(()=>o(t,n))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!q0(t,i,this.currentDirection))return;const o=this.getAxisMotionValue(t);let s=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(s=K6e(s,this.constraints[t],this.elastic[t])),o.set(s)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),{layout:r}=this.visualElement.projection||{},i=this.constraints;t&&$d(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=X6e(r.layoutBox,t):this.constraints=!1,this.elastic=J6e(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&ps(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=Z6e(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!$d(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=oAe(r,i.root,this.visualElement.getTransformPagePoint());let s=Y6e(i.layout.layoutBox,o);if(n){const a=n(eAe(s));this.hasMutatedConstraints=!!a,a&&(s=bj(a))}return s}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:o,dragSnapToOrigin:s,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},u=ps(d=>{if(!q0(d,n,this.currentDirection))return;let f=l&&l[d]||{};s&&(f={min:0,max:0});const p=i?200:1e6,g=i?40:1e7,m={type:"inertia",velocity:r?t[d]:0,bounceStiffness:p,bounceDamping:g,timeConstant:750,restDelta:1,restSpeed:10,...o,...f};return this.startAxisValueAnimation(d,m)});return Promise.all(u).then(a)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return r.start(a6(t,r,0,n))}stopAnimation(){ps(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const n="_drag"+t.toUpperCase(),r=this.visualElement.getProps(),i=r[n];return i||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){ps(n=>{const{drag:r}=this.getProps();if(!q0(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,o=this.getAxisMotionValue(n);if(i&&i.layout){const{min:s,max:a}=i.layout.layoutBox[n];o.set(t[n]-vn(s,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!$d(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};ps(s=>{const a=this.getAxisMotionValue(s);if(a){const l=a.get();i[s]=Q6e({min:l,max:l},this.constraints[s])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),ps(s=>{if(!q0(s,t,null))return;const a=this.getAxisMotionValue(s),{min:l,max:u}=this.constraints[s];a.set(vn(l,u,i[s]))})}addListeners(){if(!this.visualElement.current)return;sAe.set(this.visualElement,this);const t=this.visualElement.current,n=Sa(t,"pointerdown",l=>{const{drag:u,dragListener:d=!0}=this.getProps();u&&d&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();$d(l)&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,o=i.addEventListener("measure",r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),r();const s=ma(window,"resize",()=>this.scalePositionWithinConstraints()),a=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(ps(d=>{const f=this.getAxisMotionValue(d);f&&(this.originPoint[d]+=l[d].translate,f.set(f.get()+l[d].translate))}),this.visualElement.render())});return()=>{s(),n(),o(),a&&a()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:o=!1,dragElastic:s=L5,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:o,dragElastic:s,dragMomentum:a}}}function q0(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function lAe(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class uAe extends lu{constructor(t){super(t),this.removeGroupControls=jn,this.removeListeners=jn,this.controls=new aAe(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||jn}unmount(){this.removeGroupControls(),this.removeListeners()}}const OI=e=>(t,n)=>{e&&dn.update(()=>e(t,n))};class cAe extends lu{constructor(){super(...arguments),this.removePointerDownListener=jn}onPointerDown(t){this.session=new vj(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:OI(t),onStart:OI(n),onMove:r,onEnd:(o,s)=>{delete this.session,i&&dn.update(()=>i(o,s))}}}mount(){this.removePointerDownListener=Sa(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}function dAe(){const e=L.useContext(Lm);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,i=L.useId();return L.useEffect(()=>r(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}function CMe(){return fAe(L.useContext(Lm))}function fAe(e){return e===null?!0:e.isPresent}const kv={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function kI(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const op={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(Be.test(e))e=parseFloat(e);else return e;const n=kI(e,t.target.x),r=kI(e,t.target.y);return`${n}% ${r}%`}},hAe={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=Kl.parse(e);if(i.length>5)return r;const o=Kl.createTransformer(e),s=typeof i[0]!="number"?1:0,a=n.x.scale*t.x,l=n.y.scale*t.y;i[0+s]/=a,i[1+s]/=l;const u=vn(a,l,.5);return typeof i[2+s]=="number"&&(i[2+s]/=u),typeof i[3+s]=="number"&&(i[3+s]/=u),o(i)}};class pAe extends Lt.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:o}=t;STe(gAe),o&&(n.group&&n.group.add(o),r&&r.register&&i&&r.register(o),o.root.didUpdate(),o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),kv.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:o}=this.props,s=r.projection;return s&&(s.isPresent=o,i||t.layoutDependency!==n||n===void 0?s.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?s.promote():s.relegate()||dn.postRender(()=>{const a=s.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),queueMicrotask(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:i}=t;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),r&&r.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function Cj(e){const[t,n]=dAe(),r=L.useContext(qE);return Lt.createElement(pAe,{...e,layoutGroup:r,switchLayoutGroup:L.useContext(_V),isPresent:t,safeToRemove:n})}const gAe={borderRadius:{...op,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:op,borderTopRightRadius:op,borderBottomLeftRadius:op,borderBottomRightRadius:op,boxShadow:hAe},Tj=["TopLeft","TopRight","BottomLeft","BottomRight"],mAe=Tj.length,II=e=>typeof e=="string"?parseFloat(e):e,MI=e=>typeof e=="number"||Be.test(e);function yAe(e,t,n,r,i,o){i?(e.opacity=vn(0,n.opacity!==void 0?n.opacity:1,vAe(r)),e.opacityExit=vn(t.opacity!==void 0?t.opacity:1,0,_Ae(r))):o&&(e.opacity=vn(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,r));for(let s=0;srt?1:n(jg(e,t,r))}function LI(e,t){e.min=t.min,e.max=t.max}function fo(e,t){LI(e.x,t.x),LI(e.y,t.y)}function DI(e,t,n,r,i){return e-=t,e=g_(e,1/n,r),i!==void 0&&(e=g_(e,1/i,r)),e}function bAe(e,t=0,n=1,r=.5,i,o=e,s=e){if(Is.test(t)&&(t=parseFloat(t),t=vn(s.min,s.max,t/100)-s.min),typeof t!="number")return;let a=vn(o.min,o.max,r);e===o&&(a-=t),e.min=DI(e.min,t,n,a,i),e.max=DI(e.max,t,n,a,i)}function $I(e,t,[n,r,i],o,s){bAe(e,t[n],t[r],t[i],t.scale,o,s)}const SAe=["x","scaleX","originX"],wAe=["y","scaleY","originY"];function FI(e,t,n,r){$I(e.x,t,SAe,n?n.x:void 0,r?r.x:void 0),$I(e.y,t,wAe,n?n.y:void 0,r?r.y:void 0)}function BI(e){return e.translate===0&&e.scale===1}function Aj(e){return BI(e.x)&&BI(e.y)}function F5(e,t){return e.x.min===t.x.min&&e.x.max===t.x.max&&e.y.min===t.y.min&&e.y.max===t.y.max}function UI(e){return Xi(e.x)/Xi(e.y)}class xAe{constructor(){this.members=[]}add(t){l6(this.members,t),t.scheduleRender()}remove(t){if(u6(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(i=>t===i);if(n===0)return!1;let r;for(let i=n;i>=0;i--){const o=this.members[i];if(o.isPresent!==!1){r=o;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender(),t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function zI(e,t,n){let r="";const i=e.x.translate/t.x,o=e.y.translate/t.y;if((i||o)&&(r=`translate3d(${i}px, ${o}px, 0) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{rotate:l,rotateX:u,rotateY:d}=n;l&&(r+=`rotate(${l}deg) `),u&&(r+=`rotateX(${u}deg) `),d&&(r+=`rotateY(${d}deg) `)}const s=e.x.scale*t.x,a=e.y.scale*t.y;return(s!==1||a!==1)&&(r+=`scale(${s}, ${a})`),r||"none"}const CAe=(e,t)=>e.depth-t.depth;class TAe{constructor(){this.children=[],this.isDirty=!1}add(t){l6(this.children,t),this.isDirty=!0}remove(t){u6(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(CAe),this.isDirty=!1,this.children.forEach(t)}}function EAe(e,t){const n=performance.now(),r=({timestamp:i})=>{const o=i-n;o>=t&&(ka(r),e(o-t))};return dn.read(r,!0),()=>ka(r)}function AAe(e){window.MotionDebug&&window.MotionDebug.record(e)}function PAe(e){return e instanceof SVGElement&&e.tagName!=="svg"}function RAe(e,t,n){const r=ki(e)?e:Mf(e);return r.start(a6("",r,t,n)),r.animation}const VI=["","X","Y","Z"],jI=1e3;let OAe=0;const Ru={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function Pj({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(s={},a=t==null?void 0:t()){this.id=OAe++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{Ru.totalNodes=Ru.resolvedTargetDeltas=Ru.recalculatedProjection=0,this.nodes.forEach(MAe),this.nodes.forEach(FAe),this.nodes.forEach(BAe),this.nodes.forEach(NAe),AAe(Ru)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=s,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;lthis.root.updateBlockedByResize=!1;e(s,()=>{this.root.updateBlockedByResize=!0,f&&f(),f=EAe(p,250),kv.hasAnimatedSinceResize&&(kv.hasAnimatedSinceResize=!1,this.nodes.forEach(HI))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&d&&(l||u)&&this.addEventListener("didUpdate",({delta:f,hasLayoutChanged:p,hasRelativeTargetChanged:g,layout:m})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const v=this.options.transition||d.getDefaultTransition()||GAe,{onLayoutAnimationStart:x,onLayoutAnimationComplete:_}=d.getProps(),b=!this.targetLayout||!F5(this.targetLayout,m)||g,y=!p&&g;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||y||p&&(b||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(f,y);const S={...pj(v,"layout"),onPlay:x,onComplete:_};(d.shouldReduceMotion||this.options.layoutRoot)&&(S.delay=0,S.type=!1),this.startAnimation(S)}else p||HI(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=m})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const s=this.getStack();s&&s.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,ka(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(UAe),this.animationId++)}getTransformTemplate(){const{visualElement:s}=this.options;return s&&s.getProps().transformTemplate}willUpdate(s=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let d=0;dthis.update()))}clearAllSnapshots(){this.nodes.forEach(LAe),this.sharedNodes.forEach(zAe)}scheduleUpdateProjection(){dn.preRender(this.updateProjection,!1,!0)}scheduleCheckAfterUnmount(){dn.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l{const C=S/1e3;WI(f.x,s.x,C),WI(f.y,s.y,C),this.setTargetDelta(f),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Mp(p,this.layout.layoutBox,this.relativeParent.layout.layoutBox),VAe(this.relativeTarget,this.relativeTargetOrigin,p,C),y&&F5(this.relativeTarget,y)&&(this.isProjectionDirty=!1),y||(y=Fn()),fo(y,this.relativeTarget)),v&&(this.animationValues=d,yAe(d,u,this.latestValues,C,b,_)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=C},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(s){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(ka(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=dn.update(()=>{kv.hasAnimatedSinceResize=!0,this.currentAnimation=RAe(0,jI,{...s,onUpdate:a=>{this.mixTargetDelta(a),s.onUpdate&&s.onUpdate(a)},onComplete:()=>{s.onComplete&&s.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const s=this.getStack();s&&s.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(jI),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const s=this.getLead();let{targetWithTransforms:a,target:l,layout:u,latestValues:d}=s;if(!(!a||!l||!u)){if(this!==s&&this.layout&&u&&Rj(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||Fn();const f=Xi(this.layout.layoutBox.x);l.x.min=s.target.x.min,l.x.max=l.x.min+f;const p=Xi(this.layout.layoutBox.y);l.y.min=s.target.y.min,l.y.max=l.y.min+p}fo(a,l),Ud(a,d),Ip(this.projectionDeltaWithTransform,this.layoutCorrected,a,d)}}registerSharedNode(s,a){this.sharedNodes.has(s)||this.sharedNodes.set(s,new xAe),this.sharedNodes.get(s).add(a);const u=a.options.initialPromotionConfig;a.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(a):void 0})}isLead(){const s=this.getStack();return s?s.lead===this:!0}getLead(){var s;const{layoutId:a}=this.options;return a?((s=this.getStack())===null||s===void 0?void 0:s.lead)||this:this}getPrevLead(){var s;const{layoutId:a}=this.options;return a?(s=this.getStack())===null||s===void 0?void 0:s.prevLead:void 0}getStack(){const{layoutId:s}=this.options;if(s)return this.root.sharedNodes.get(s)}promote({needsReset:s,transition:a,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),s&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const s=this.getStack();return s?s.relegate(this):!1}resetRotation(){const{visualElement:s}=this.options;if(!s)return;let a=!1;const{latestValues:l}=s;if((l.rotate||l.rotateX||l.rotateY||l.rotateZ)&&(a=!0),!a)return;const u={};for(let d=0;d{var a;return(a=s.currentAnimation)===null||a===void 0?void 0:a.stop()}),this.root.nodes.forEach(GI),this.root.sharedNodes.clear()}}}function kAe(e){e.updateLayout()}function IAe(e){var t;const n=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:i}=e.layout,{animationType:o}=e.options,s=n.source!==e.layout.source;o==="size"?ps(f=>{const p=s?n.measuredBox[f]:n.layoutBox[f],g=Xi(p);p.min=r[f].min,p.max=p.min+g}):Rj(o,n.layoutBox,r)&&ps(f=>{const p=s?n.measuredBox[f]:n.layoutBox[f],g=Xi(r[f]);p.max=p.min+g,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[f].max=e.relativeTarget[f].min+g)});const a=Bd();Ip(a,r,n.layoutBox);const l=Bd();s?Ip(l,e.applyTransform(i,!0),n.measuredBox):Ip(l,r,n.layoutBox);const u=!Aj(a);let d=!1;if(!e.resumeFrom){const f=e.getClosestProjectingParent();if(f&&!f.resumeFrom){const{snapshot:p,layout:g}=f;if(p&&g){const m=Fn();Mp(m,n.layoutBox,p.layoutBox);const v=Fn();Mp(v,r,g.layoutBox),F5(m,v)||(d=!0),f.options.layoutRoot&&(e.relativeTarget=v,e.relativeTargetOrigin=m,e.relativeParent=f)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:l,layoutDelta:a,hasLayoutChanged:u,hasRelativeTargetChanged:d})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function MAe(e){Ru.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function NAe(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function LAe(e){e.clearSnapshot()}function GI(e){e.clearMeasurements()}function DAe(e){e.isLayoutDirty=!1}function $Ae(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function HI(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function FAe(e){e.resolveTargetDelta()}function BAe(e){e.calcProjection()}function UAe(e){e.resetRotation()}function zAe(e){e.removeLeadSnapshot()}function WI(e,t,n){e.translate=vn(t.translate,0,n),e.scale=vn(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function qI(e,t,n,r){e.min=vn(t.min,n.min,r),e.max=vn(t.max,n.max,r)}function VAe(e,t,n,r){qI(e.x,t.x,n.x,r),qI(e.y,t.y,n.y,r)}function jAe(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const GAe={duration:.45,ease:[.4,0,.1,1]};function KI(e){e.min=Math.round(e.min*2)/2,e.max=Math.round(e.max*2)/2}function HAe(e){KI(e.x),KI(e.y)}function Rj(e,t,n){return e==="position"||e==="preserve-aspect"&&!N5(UI(t),UI(n),.2)}const WAe=Pj({attachResizeListener:(e,t)=>ma(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),uC={current:void 0},Oj=Pj({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!uC.current){const e=new WAe({});e.mount(window),e.setOptions({layoutScroll:!0}),uC.current=e}return uC.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),qAe={pan:{Feature:cAe},drag:{Feature:uAe,ProjectionNode:Oj,MeasureLayout:Cj}},KAe=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function XAe(e){const t=KAe.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]}function B5(e,t,n=1){const[r,i]=XAe(e);if(!r)return;const o=window.getComputedStyle(t).getPropertyValue(r);return o?o.trim():A5(i)?B5(i,t,n+1):i}function YAe(e,{...t},n){const r=e.current;if(!(r instanceof Element))return{target:t,transitionEnd:n};n&&(n={...n}),e.values.forEach(i=>{const o=i.get();if(!A5(o))return;const s=B5(o,r);s&&i.set(s)});for(const i in t){const o=t[i];if(!A5(o))continue;const s=B5(o,r);s&&(t[i]=s,n||(n={}),n[i]===void 0&&(n[i]=o))}return{target:t,transitionEnd:n}}const QAe=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),kj=e=>QAe.has(e),ZAe=e=>Object.keys(e).some(kj),XI=e=>e===Oc||e===Be,YI=(e,t)=>parseFloat(e.split(", ")[t]),QI=(e,t)=>(n,{transform:r})=>{if(r==="none"||!r)return 0;const i=r.match(/^matrix3d\((.+)\)$/);if(i)return YI(i[1],t);{const o=r.match(/^matrix\((.+)\)$/);return o?YI(o[1],e):0}},JAe=new Set(["x","y","z"]),ePe=Dm.filter(e=>!JAe.has(e));function tPe(e){const t=[];return ePe.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t.length&&e.render(),t}const Nf={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:QI(4,13),y:QI(5,14)};Nf.translateX=Nf.x;Nf.translateY=Nf.y;const nPe=(e,t,n)=>{const r=t.measureViewportBox(),i=t.current,o=getComputedStyle(i),{display:s}=o,a={};s==="none"&&t.setStaticValue("display",e.display||"block"),n.forEach(u=>{a[u]=Nf[u](r,o)}),t.render();const l=t.measureViewportBox();return n.forEach(u=>{const d=t.getValue(u);d&&d.jump(a[u]),e[u]=Nf[u](l,o)}),e},rPe=(e,t,n={},r={})=>{t={...t},r={...r};const i=Object.keys(t).filter(kj);let o=[],s=!1;const a=[];if(i.forEach(l=>{const u=e.getValue(l);if(!e.hasValue(l))return;let d=n[l],f=ip(d);const p=t[l];let g;if(c_(p)){const m=p.length,v=p[0]===null?1:0;d=p[v],f=ip(d);for(let x=v;x=0?window.pageYOffset:null,u=nPe(t,e,a);return o.length&&o.forEach(([d,f])=>{e.getValue(d).set(f)}),e.render(),i2&&l!==null&&window.scrollTo({top:l}),{target:u,transitionEnd:r}}else return{target:t,transitionEnd:r}};function iPe(e,t,n,r){return ZAe(t)?rPe(e,t,n,r):{target:t,transitionEnd:r}}const oPe=(e,t,n,r)=>{const i=YAe(e,t,r);return t=i.target,r=i.transitionEnd,iPe(e,t,n,r)},U5={current:null},Ij={current:!1};function sPe(){if(Ij.current=!0,!!i2)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>U5.current=e.matches;e.addListener(t),t()}else U5.current=!1}function aPe(e,t,n){const{willChange:r}=t;for(const i in t){const o=t[i],s=n[i];if(ki(o))e.addValue(i,o),p_(r)&&r.add(i);else if(ki(s))e.addValue(i,Mf(o,{owner:e})),p_(r)&&r.remove(i);else if(s!==o)if(e.hasValue(i)){const a=e.getValue(i);!a.hasAnimated&&a.set(o)}else{const a=e.getStaticValue(i);e.addValue(i,Mf(a!==void 0?a:o,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const ZI=new WeakMap,Mj=Object.keys(Vg),lPe=Mj.length,JI=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],uPe=WE.length;class cPe{constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,visualState:o},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>dn.render(this.render,!1,!0);const{latestValues:a,renderState:l}=o;this.latestValues=a,this.baseTarget={...a},this.initialValues=n.initial?{...a}:{},this.renderState=l,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=s,this.isControllingVariants=s2(n),this.isVariantNode=vV(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:u,...d}=this.scrapeMotionValuesFromProps(n,{});for(const f in d){const p=d[f];a[f]!==void 0&&ki(p)&&(p.set(a[f],!1),p_(u)&&u.add(f))}}scrapeMotionValuesFromProps(t,n){return{}}mount(t){this.current=t,ZI.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,r)=>this.bindToMotionValue(r,n)),Ij.current||sPe(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:U5.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){ZI.delete(this.current),this.projection&&this.projection.unmount(),ka(this.notifyUpdate),ka(this.render),this.valueSubscriptions.forEach(t=>t()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features)this.features[t].unmount();this.current=null}bindToMotionValue(t,n){const r=Rc.has(t),i=n.on("change",s=>{this.latestValues[t]=s,this.props.onUpdate&&dn.update(this.notifyUpdate,!1,!0),r&&this.projection&&(this.projection.isTransformDirty=!0)}),o=n.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(t,()=>{i(),o()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}loadFeatures({children:t,...n},r,i,o){let s,a;for(let l=0;lthis.scheduleRender(),animationType:typeof u=="string"?u:"both",initialPromotionConfig:o,layoutScroll:p,layoutRoot:g})}return a}updateFeatures(){for(const t in this.features){const n=this.features[t];n.isMounted?n.update():(n.mount(),n.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Fn()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}makeTargetAnimatable(t,n=!0){return this.makeTargetAnimatableFromInstance(t,this.props,n)}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let r=0;rn.variantChildren.delete(t)}addValue(t,n){n!==this.values.get(t)&&(this.removeValue(t),this.bindToMotionValue(t,n)),this.values.set(t,n),this.latestValues[t]=n.get()}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let r=this.values.get(t);return r===void 0&&n!==void 0&&(r=Mf(n,{owner:this}),this.addValue(t,r)),r}readValue(t){var n;return this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(n=this.getBaseTargetFromProps(this.props,t))!==null&&n!==void 0?n:this.readValueFromInstance(this.current,t,this.options)}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:r}=this.props,i=typeof r=="string"||typeof r=="object"?(n=t6(this.props,r))===null||n===void 0?void 0:n[t]:void 0;if(r&&i!==void 0)return i;const o=this.getBaseTargetFromProps(this.props,t);return o!==void 0&&!ki(o)?o:this.initialValues[t]!==void 0&&i===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new c6),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class Nj extends cPe{sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:r}){delete n[t],delete r[t]}makeTargetAnimatableFromInstance({transition:t,transitionEnd:n,...r},{transformValues:i},o){let s=R6e(r,t||{},this);if(i&&(n&&(n=i(n)),r&&(r=i(r)),s&&(s=i(s))),o){A6e(this,r,s);const a=oPe(this,r,s,n);n=a.transitionEnd,r=a.target}return{transition:t,transitionEnd:n,...r}}}function dPe(e){return window.getComputedStyle(e)}class fPe extends Nj{readValueFromInstance(t,n){if(Rc.has(n)){const r=s6(n);return r&&r.default||0}else{const r=dPe(t),i=(wV(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return xj(t,n)}build(t,n,r,i){XE(t,n,r,i.transformTemplate)}scrapeMotionValuesFromProps(t,n){return e6(t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;ki(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(t,n,r,i){PV(t,n,r,i)}}class hPe extends Nj{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(Rc.has(n)){const r=s6(n);return r&&r.default||0}return n=RV.has(n)?n:JE(n),t.getAttribute(n)}measureInstanceViewportBox(){return Fn()}scrapeMotionValuesFromProps(t,n){return kV(t,n)}build(t,n,r,i){QE(t,n,r,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,r,i){OV(t,n,r,i)}mount(t){this.isSVGTag=ZE(t.tagName),super.mount(t)}}const pPe=(e,t)=>KE(e)?new hPe(t,{enableHardwareAcceleration:!1}):new fPe(t,{enableHardwareAcceleration:!0}),gPe={layout:{ProjectionNode:Oj,MeasureLayout:Cj}},mPe={...j6e,...cEe,...qAe,...gPe},yPe=_Te((e,t)=>KTe(e,t,mPe,pPe));function Lj(){const e=L.useRef(!1);return a_(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function vPe(){const e=Lj(),[t,n]=L.useState(0),r=L.useCallback(()=>{e.current&&n(t+1)},[t]);return[L.useCallback(()=>dn.postRender(r),[r]),t]}class _Pe extends L.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function bPe({children:e,isPresent:t}){const n=L.useId(),r=L.useRef(null),i=L.useRef({width:0,height:0,top:0,left:0});return L.useInsertionEffect(()=>{const{width:o,height:s,top:a,left:l}=i.current;if(t||!r.current||!o||!s)return;r.current.dataset.motionPopId=n;const u=document.createElement("style");return document.head.appendChild(u),u.sheet&&u.sheet.insertRule(` - [data-motion-pop-id="${n}"] { - position: absolute !important; - width: ${o}px !important; - height: ${s}px !important; - top: ${a}px !important; - left: ${l}px !important; - } - `),()=>{document.head.removeChild(u)}},[t]),L.createElement(_Pe,{isPresent:t,childRef:r,sizeRef:i},L.cloneElement(e,{ref:r}))}const cC=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:s})=>{const a=IV(SPe),l=L.useId(),u=L.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:d=>{a.set(d,!0);for(const f of a.values())if(!f)return;r&&r()},register:d=>(a.set(d,!1),()=>a.delete(d))}),o?void 0:[n]);return L.useMemo(()=>{a.forEach((d,f)=>a.set(f,!1))},[n]),L.useEffect(()=>{!n&&!a.size&&r&&r()},[n]),s==="popLayout"&&(e=L.createElement(bPe,{isPresent:n},e)),L.createElement(Lm.Provider,{value:u},e)};function SPe(){return new Map}function wPe(e){return L.useEffect(()=>()=>e(),[])}const wd=e=>e.key||"";function xPe(e,t){e.forEach(n=>{const r=wd(n);t.set(r,n)})}function CPe(e){const t=[];return L.Children.forEach(e,n=>{L.isValidElement(n)&&t.push(n)}),t}const TPe=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:s="sync"})=>{const a=L.useContext(qE).forceRender||vPe()[0],l=Lj(),u=CPe(e);let d=u;const f=L.useRef(new Map).current,p=L.useRef(d),g=L.useRef(new Map).current,m=L.useRef(!0);if(a_(()=>{m.current=!1,xPe(u,g),p.current=d}),wPe(()=>{m.current=!0,g.clear(),f.clear()}),m.current)return L.createElement(L.Fragment,null,d.map(b=>L.createElement(cC,{key:wd(b),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:s},b)));d=[...d];const v=p.current.map(wd),x=u.map(wd),_=v.length;for(let b=0;b<_;b++){const y=v[b];x.indexOf(y)===-1&&!f.has(y)&&f.set(y,void 0)}return s==="wait"&&f.size&&(d=[]),f.forEach((b,y)=>{if(x.indexOf(y)!==-1)return;const S=g.get(y);if(!S)return;const C=v.indexOf(y);let T=b;if(!T){const E=()=>{g.delete(y),f.delete(y);const P=p.current.findIndex(k=>k.key===y);if(p.current.splice(P,1),!f.size){if(p.current=u,l.current===!1)return;a(),r&&r()}};T=L.createElement(cC,{key:wd(S),isPresent:!1,onExitComplete:E,custom:t,presenceAffectsLayout:o,mode:s},S),f.set(y,T)}d.splice(C,0,T)}),d=d.map(b=>{const y=b.key;return f.has(y)?b:L.createElement(cC,{key:wd(b),isPresent:!0,presenceAffectsLayout:o,mode:s},b)}),L.createElement(L.Fragment,null,f.size?d:d.map(b=>L.cloneElement(b)))};var EPe=m5e({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),Dj=Pc((e,t)=>{const n=gV("Spinner",e),{label:r="Loading...",thickness:i="2px",speed:o="0.45s",emptyColor:s="transparent",className:a,...l}=dV(e),u=iV("chakra-spinner",a),d={display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:s,borderLeftColor:s,animation:`${EPe} ${o} linear infinite`,...n};return ue.jsx(cc.div,{ref:t,__css:d,className:u,...l,children:r&&ue.jsx(cc.span,{srOnly:!0,children:r})})});Dj.displayName="Spinner";var z5=Pc(function(t,n){const{htmlWidth:r,htmlHeight:i,alt:o,...s}=t;return ue.jsx("img",{width:r,height:i,ref:n,alt:o,...s})});z5.displayName="NativeImage";function APe(e){const{loading:t,src:n,srcSet:r,onLoad:i,onError:o,crossOrigin:s,sizes:a,ignoreFallback:l}=e,[u,d]=L.useState("pending");L.useEffect(()=>{d(n?"loading":"pending")},[n]);const f=L.useRef(),p=L.useCallback(()=>{if(!n)return;g();const m=new Image;m.src=n,s&&(m.crossOrigin=s),r&&(m.srcset=r),a&&(m.sizes=a),t&&(m.loading=t),m.onload=v=>{g(),d("loaded"),i==null||i(v)},m.onerror=v=>{g(),d("failed"),o==null||o(v)},f.current=m},[n,s,r,a,i,o,t]),g=()=>{f.current&&(f.current.onload=null,f.current.onerror=null,f.current=null)};return y5e(()=>{if(!l)return u==="loading"&&p(),()=>{g()}},[u,p,l]),l?"loaded":u}var PPe=(e,t)=>e!=="loaded"&&t==="beforeLoadOrError"||e==="failed"&&t==="onError";function RPe(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var d6=Pc(function(t,n){const{fallbackSrc:r,fallback:i,src:o,srcSet:s,align:a,fit:l,loading:u,ignoreFallback:d,crossOrigin:f,fallbackStrategy:p="beforeLoadOrError",referrerPolicy:g,...m}=t,v=r!==void 0||i!==void 0,x=u!=null||d||!v,_=APe({...t,crossOrigin:f,ignoreFallback:x}),b=PPe(_,p),y={ref:n,objectFit:l,objectPosition:a,...x?m:RPe(m,["onError","onLoad"])};return b?i||ue.jsx(cc.img,{as:z5,className:"chakra-image__placeholder",src:r,...y}):ue.jsx(cc.img,{as:z5,src:o,srcSet:s,crossOrigin:f,loading:u,referrerPolicy:g,className:"chakra-image",...y})});d6.displayName="Image";var V5=Pc(function(t,n){const r=gV("Heading",t),{className:i,...o}=dV(t);return ue.jsx(cc.h2,{ref:n,className:iV("chakra-heading",t.className),...o,__css:r})});V5.displayName="Heading";var f6=cc("div");f6.displayName="Box";var $j=Pc(function(t,n){const{size:r,centerContent:i=!0,...o}=t,s=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return ue.jsx(f6,{ref:n,boxSize:r,__css:{...s,flexShrink:0,flexGrow:0},...o})});$j.displayName="Square";var OPe=Pc(function(t,n){const{size:r,...i}=t;return ue.jsx($j,{size:r,ref:n,borderRadius:"9999px",...i})});OPe.displayName="Circle";var h6=Pc(function(t,n){const{direction:r,align:i,justify:o,wrap:s,basis:a,grow:l,shrink:u,...d}=t,f={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:s,flexBasis:a,flexGrow:l,flexShrink:u};return ue.jsx(cc.div,{ref:n,__css:f,...d})});h6.displayName="Flex";const kPe=""+new URL("logo-13003d72.png",import.meta.url).href,IPe=()=>ue.jsxs(h6,{position:"relative",width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",bg:"#151519",children:[ue.jsx(d6,{src:kPe,w:"8rem",h:"8rem"}),ue.jsx(Dj,{label:"Loading",color:"grey",position:"absolute",size:"sm",width:"24px !important",height:"24px !important",right:"1.5rem",bottom:"1.5rem"})]}),MPe=L.memo(IPe);function j5(e){"@babel/helpers - typeof";return j5=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},j5(e)}var Fj=[],NPe=Fj.forEach,LPe=Fj.slice;function G5(e){return NPe.call(LPe.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}function Bj(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":j5(XMLHttpRequest))==="object"}function DPe(e){return!!e&&typeof e.then=="function"}function $Pe(e){return DPe(e)?e:Promise.resolve(e)}function FPe(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var H5={exports:{}},K0={exports:{}},e7;function BPe(){return e7||(e7=1,function(e,t){var n=typeof self<"u"?self:He,r=function(){function o(){this.fetch=!1,this.DOMException=n.DOMException}return o.prototype=n,new o}();(function(o){(function(s){var a={searchParams:"URLSearchParams"in o,iterable:"Symbol"in o&&"iterator"in Symbol,blob:"FileReader"in o&&"Blob"in o&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in o,arrayBuffer:"ArrayBuffer"in o};function l(A){return A&&DataView.prototype.isPrototypeOf(A)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],d=ArrayBuffer.isView||function(A){return A&&u.indexOf(Object.prototype.toString.call(A))>-1};function f(A){if(typeof A!="string"&&(A=String(A)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(A))throw new TypeError("Invalid character in header field name");return A.toLowerCase()}function p(A){return typeof A!="string"&&(A=String(A)),A}function g(A){var N={next:function(){var F=A.shift();return{done:F===void 0,value:F}}};return a.iterable&&(N[Symbol.iterator]=function(){return N}),N}function m(A){this.map={},A instanceof m?A.forEach(function(N,F){this.append(F,N)},this):Array.isArray(A)?A.forEach(function(N){this.append(N[0],N[1])},this):A&&Object.getOwnPropertyNames(A).forEach(function(N){this.append(N,A[N])},this)}m.prototype.append=function(A,N){A=f(A),N=p(N);var F=this.map[A];this.map[A]=F?F+", "+N:N},m.prototype.delete=function(A){delete this.map[f(A)]},m.prototype.get=function(A){return A=f(A),this.has(A)?this.map[A]:null},m.prototype.has=function(A){return this.map.hasOwnProperty(f(A))},m.prototype.set=function(A,N){this.map[f(A)]=p(N)},m.prototype.forEach=function(A,N){for(var F in this.map)this.map.hasOwnProperty(F)&&A.call(N,this.map[F],F,this)},m.prototype.keys=function(){var A=[];return this.forEach(function(N,F){A.push(F)}),g(A)},m.prototype.values=function(){var A=[];return this.forEach(function(N){A.push(N)}),g(A)},m.prototype.entries=function(){var A=[];return this.forEach(function(N,F){A.push([F,N])}),g(A)},a.iterable&&(m.prototype[Symbol.iterator]=m.prototype.entries);function v(A){if(A.bodyUsed)return Promise.reject(new TypeError("Already read"));A.bodyUsed=!0}function x(A){return new Promise(function(N,F){A.onload=function(){N(A.result)},A.onerror=function(){F(A.error)}})}function _(A){var N=new FileReader,F=x(N);return N.readAsArrayBuffer(A),F}function b(A){var N=new FileReader,F=x(N);return N.readAsText(A),F}function y(A){for(var N=new Uint8Array(A),F=new Array(N.length),B=0;B-1?N:A}function P(A,N){N=N||{};var F=N.body;if(A instanceof P){if(A.bodyUsed)throw new TypeError("Already read");this.url=A.url,this.credentials=A.credentials,N.headers||(this.headers=new m(A.headers)),this.method=A.method,this.mode=A.mode,this.signal=A.signal,!F&&A._bodyInit!=null&&(F=A._bodyInit,A.bodyUsed=!0)}else this.url=String(A);if(this.credentials=N.credentials||this.credentials||"same-origin",(N.headers||!this.headers)&&(this.headers=new m(N.headers)),this.method=E(N.method||this.method||"GET"),this.mode=N.mode||this.mode||null,this.signal=N.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&F)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(F)}P.prototype.clone=function(){return new P(this,{body:this._bodyInit})};function k(A){var N=new FormData;return A.trim().split("&").forEach(function(F){if(F){var B=F.split("="),D=B.shift().replace(/\+/g," "),V=B.join("=").replace(/\+/g," ");N.append(decodeURIComponent(D),decodeURIComponent(V))}}),N}function O(A){var N=new m,F=A.replace(/\r?\n[\t ]+/g," ");return F.split(/\r?\n/).forEach(function(B){var D=B.split(":"),V=D.shift().trim();if(V){var j=D.join(":").trim();N.append(V,j)}}),N}C.call(P.prototype);function M(A,N){N||(N={}),this.type="default",this.status=N.status===void 0?200:N.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in N?N.statusText:"OK",this.headers=new m(N.headers),this.url=N.url||"",this._initBody(A)}C.call(M.prototype),M.prototype.clone=function(){return new M(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new m(this.headers),url:this.url})},M.error=function(){var A=new M(null,{status:0,statusText:""});return A.type="error",A};var G=[301,302,303,307,308];M.redirect=function(A,N){if(G.indexOf(N)===-1)throw new RangeError("Invalid status code");return new M(null,{status:N,headers:{location:A}})},s.DOMException=o.DOMException;try{new s.DOMException}catch{s.DOMException=function(N,F){this.message=N,this.name=F;var B=Error(N);this.stack=B.stack},s.DOMException.prototype=Object.create(Error.prototype),s.DOMException.prototype.constructor=s.DOMException}function U(A,N){return new Promise(function(F,B){var D=new P(A,N);if(D.signal&&D.signal.aborted)return B(new s.DOMException("Aborted","AbortError"));var V=new XMLHttpRequest;function j(){V.abort()}V.onload=function(){var q={status:V.status,statusText:V.statusText,headers:O(V.getAllResponseHeaders()||"")};q.url="responseURL"in V?V.responseURL:q.headers.get("X-Request-URL");var Z="response"in V?V.response:V.responseText;F(new M(Z,q))},V.onerror=function(){B(new TypeError("Network request failed"))},V.ontimeout=function(){B(new TypeError("Network request failed"))},V.onabort=function(){B(new s.DOMException("Aborted","AbortError"))},V.open(D.method,D.url,!0),D.credentials==="include"?V.withCredentials=!0:D.credentials==="omit"&&(V.withCredentials=!1),"responseType"in V&&a.blob&&(V.responseType="blob"),D.headers.forEach(function(q,Z){V.setRequestHeader(Z,q)}),D.signal&&(D.signal.addEventListener("abort",j),V.onreadystatechange=function(){V.readyState===4&&D.signal.removeEventListener("abort",j)}),V.send(typeof D._bodyInit>"u"?null:D._bodyInit)})}return U.polyfill=!0,o.fetch||(o.fetch=U,o.Headers=m,o.Request=P,o.Response=M),s.Headers=m,s.Request=P,s.Response=M,s.fetch=U,Object.defineProperty(s,"__esModule",{value:!0}),s})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var i=r;t=i.fetch,t.default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t}(K0,K0.exports)),K0.exports}(function(e,t){var n;if(typeof fetch=="function"&&(typeof He<"u"&&He.fetch?n=He.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof FPe<"u"&&(typeof window>"u"||typeof window.document>"u")){var r=n||BPe();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(H5,H5.exports);var Uj=H5.exports;const zj=dc(Uj),t7=v7({__proto__:null,default:zj},[Uj]);function m_(e){"@babel/helpers - typeof";return m_=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},m_(e)}var xa;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?xa=global.fetch:typeof window<"u"&&window.fetch?xa=window.fetch:xa=fetch);var Gg;Bj()&&(typeof global<"u"&&global.XMLHttpRequest?Gg=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(Gg=window.XMLHttpRequest));var y_;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?y_=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(y_=window.ActiveXObject));!xa&&t7&&!Gg&&!y_&&(xa=zj||t7);typeof xa!="function"&&(xa=void 0);var W5=function(t,n){if(n&&m_(n)==="object"){var r="";for(var i in n)r+="&"+encodeURIComponent(i)+"="+encodeURIComponent(n[i]);if(!r)return t;t=t+(t.indexOf("?")!==-1?"&":"?")+r.slice(1)}return t},n7=function(t,n,r){xa(t,n).then(function(i){if(!i.ok)return r(i.statusText||"Error",{status:i.status});i.text().then(function(o){r(null,{status:i.status,data:o})}).catch(r)}).catch(r)},r7=!1,UPe=function(t,n,r,i){t.queryStringParams&&(n=W5(n,t.queryStringParams));var o=G5({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);r&&(o["Content-Type"]="application/json");var s=typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions,a=G5({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:o},r7?{}:s);try{n7(n,a,i)}catch(l){if(!s||Object.keys(s).length===0||!l.message||l.message.indexOf("not implemented")<0)return i(l);try{Object.keys(s).forEach(function(u){delete a[u]}),n7(n,a,i),r7=!0}catch(u){i(u)}}},zPe=function(t,n,r,i){r&&m_(r)==="object"&&(r=W5("",r).slice(1)),t.queryStringParams&&(n=W5(n,t.queryStringParams));try{var o;Gg?o=new Gg:o=new y_("MSXML2.XMLHTTP.3.0"),o.open(r?"POST":"GET",n,1),t.crossDomain||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.withCredentials=!!t.withCredentials,r&&o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.overrideMimeType&&o.overrideMimeType("application/json");var s=t.customHeaders;if(s=typeof s=="function"?s():s,s)for(var a in s)o.setRequestHeader(a,s[a]);o.onreadystatechange=function(){o.readyState>3&&i(o.status>=400?o.statusText:null,{status:o.status,data:o.responseText})},o.send(r)}catch(l){console&&console.log(l)}},VPe=function(t,n,r,i){if(typeof r=="function"&&(i=r,r=void 0),i=i||function(){},xa&&n.indexOf("file:")!==0)return UPe(t,n,r,i);if(Bj()||typeof ActiveXObject=="function")return zPe(t,n,r,i);i(new Error("No fetch and no xhr implementation found!"))};function Hg(e){"@babel/helpers - typeof";return Hg=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Hg(e)}function jPe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i7(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};jPe(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return GPe(e,[{key:"init",value:function(n){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=G5(i,this.options||{},qPe()),this.allOptions=o,this.services&&this.options.reloadInterval&&setInterval(function(){return r.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(n,r,i){this._readAny(n,n,r,r,i)}},{key:"read",value:function(n,r,i){this._readAny([n],n,[r],r,i)}},{key:"_readAny",value:function(n,r,i,o,s){var a=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,i)),l=$Pe(l),l.then(function(u){if(!u)return s(null,{});var d=a.services.interpolator.interpolate(u,{lng:n.join("+"),ns:i.join("+")});a.loadUrl(d,s,r,o)})}},{key:"loadUrl",value:function(n,r,i,o){var s=this,a=typeof i=="string"?[i]:i,l=typeof o=="string"?[o]:o,u=this.options.parseLoadPayload(a,l);this.options.request(this.options,n,u,function(d,f){if(f&&(f.status>=500&&f.status<600||!f.status))return r("failed loading "+n+"; status code: "+f.status,!0);if(f&&f.status>=400&&f.status<500)return r("failed loading "+n+"; status code: "+f.status,!1);if(!f&&d&&d.message&&d.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+d.message,!0);if(d)return r(d,!1);var p,g;try{typeof f.data=="string"?p=s.options.parse(f.data,i,o):p=f.data}catch{g="failed parsing "+n+" to json"}if(g)return r(g,!1);r(null,p)})}},{key:"create",value:function(n,r,i,o,s){var a=this;if(this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,i,o),u=0,d=[],f=[];n.forEach(function(p){var g=a.options.addPath;typeof a.options.addPath=="function"&&(g=a.options.addPath(p,r));var m=a.services.interpolator.interpolate(g,{lng:p,ns:r});a.options.request(a.options,m,l,function(v,x){u+=1,d.push(v),f.push(x),u===n.length&&typeof s=="function"&&s(d,f)})})}}},{key:"reload",value:function(){var n=this,r=this.services,i=r.backendConnector,o=r.languageUtils,s=r.logger,a=i.language;if(!(a&&a.toLowerCase()==="cimode")){var l=[],u=function(f){var p=o.toResolveHierarchy(f);p.forEach(function(g){l.indexOf(g)<0&&l.push(g)})};u(a),this.allOptions.preload&&this.allOptions.preload.forEach(function(d){return u(d)}),l.forEach(function(d){n.allOptions.ns.forEach(function(f){i.read(d,f,"read",null,null,function(p,g){p&&s.warn("loading namespace ".concat(f," for language ").concat(d," failed"),p),!p&&g&&s.log("loaded namespace ".concat(f," for language ").concat(d),g),i.loaded("".concat(d,"|").concat(f),p,g)})})})}}}]),e}();jj.type="backend";const KPe=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,XPe={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},YPe=e=>XPe[e],QPe=e=>e.replace(KPe,YPe);let q5={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:QPe};function ZPe(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};q5={...q5,...e}}function EMe(){return q5}let Gj;function JPe(e){Gj=e}function AMe(){return Gj}const e8e={type:"3rdParty",init(e){ZPe(e.options.react),JPe(e)}};Kr.use(jj).use(e8e).init({fallbackLng:"en",debug:!1,backend:{loadPath:"/locales/{{lng}}.json"},interpolation:{escapeValue:!1},returnNull:!1});const c2=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Yf(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function p6(e){return"nodeType"in e}function fi(e){var t,n;return e?Yf(e)?e:p6(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function g6(e){const{Document:t}=fi(e);return e instanceof t}function Um(e){return Yf(e)?!1:e instanceof fi(e).HTMLElement}function t8e(e){return e instanceof fi(e).SVGElement}function Qf(e){return e?Yf(e)?e.document:p6(e)?g6(e)?e:Um(e)?e.ownerDocument:document:document:document}const $s=c2?L.useLayoutEffect:L.useEffect;function d2(e){const t=L.useRef(e);return $s(()=>{t.current=e}),L.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i{e.current=setInterval(r,i)},[]),n=L.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function Wg(e,t){t===void 0&&(t=[e]);const n=L.useRef(e);return $s(()=>{n.current!==e&&(n.current=e)},t),n}function zm(e,t){const n=L.useRef();return L.useMemo(()=>{const r=e(n.current);return n.current=r,r},[...t])}function v_(e){const t=d2(e),n=L.useRef(null),r=L.useCallback(i=>{i!==n.current&&(t==null||t(i,n.current)),n.current=i},[]);return[n,r]}function __(e){const t=L.useRef();return L.useEffect(()=>{t.current=e},[e]),t.current}let dC={};function f2(e,t){return L.useMemo(()=>{if(t)return t;const n=dC[e]==null?0:dC[e]+1;return dC[e]=n,e+"-"+n},[e,t])}function Hj(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{const a=Object.entries(s);for(const[l,u]of a){const d=o[l];d!=null&&(o[l]=d+e*u)}return o},{...t})}}const uf=Hj(1),b_=Hj(-1);function r8e(e){return"clientX"in e&&"clientY"in e}function m6(e){if(!e)return!1;const{KeyboardEvent:t}=fi(e.target);return t&&e instanceof t}function i8e(e){if(!e)return!1;const{TouchEvent:t}=fi(e.target);return t&&e instanceof t}function qg(e){if(i8e(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return r8e(e)?{x:e.clientX,y:e.clientY}:null}const Kg=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[Kg.Translate.toString(e),Kg.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),o7="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function o8e(e){return e.matches(o7)?e:e.querySelector(o7)}const s8e={display:"none"};function a8e(e){let{id:t,value:n}=e;return Lt.createElement("div",{id:t,style:s8e},n)}const l8e={position:"fixed",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};function u8e(e){let{id:t,announcement:n}=e;return Lt.createElement("div",{id:t,style:l8e,role:"status","aria-live":"assertive","aria-atomic":!0},n)}function c8e(){const[e,t]=L.useState("");return{announce:L.useCallback(r=>{r!=null&&t(r)},[]),announcement:e}}const Wj=L.createContext(null);function d8e(e){const t=L.useContext(Wj);L.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of ");return t(e)},[e,t])}function f8e(){const[e]=L.useState(()=>new Set),t=L.useCallback(r=>(e.add(r),()=>e.delete(r)),[e]);return[L.useCallback(r=>{let{type:i,event:o}=r;e.forEach(s=>{var a;return(a=s[i])==null?void 0:a.call(s,o)})},[e]),t]}const h8e={draggable:` - To pick up a draggable item, press the space bar. - While dragging, use the arrow keys to move the item. - Press space again to drop the item in its new position, or press escape to cancel. - `},p8e={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function g8e(e){let{announcements:t=p8e,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=h8e}=e;const{announce:o,announcement:s}=c8e(),a=f2("DndLiveRegion"),[l,u]=L.useState(!1);if(L.useEffect(()=>{u(!0)},[]),d8e(L.useMemo(()=>({onDragStart(f){let{active:p}=f;o(t.onDragStart({active:p}))},onDragMove(f){let{active:p,over:g}=f;t.onDragMove&&o(t.onDragMove({active:p,over:g}))},onDragOver(f){let{active:p,over:g}=f;o(t.onDragOver({active:p,over:g}))},onDragEnd(f){let{active:p,over:g}=f;o(t.onDragEnd({active:p,over:g}))},onDragCancel(f){let{active:p,over:g}=f;o(t.onDragCancel({active:p,over:g}))}}),[o,t])),!l)return null;const d=Lt.createElement(Lt.Fragment,null,Lt.createElement(a8e,{id:r,value:i.draggable}),Lt.createElement(u8e,{id:a,announcement:s}));return n?bs.createPortal(d,n):d}var er;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(er||(er={}));function S_(){}function s7(e,t){return L.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function m8e(){for(var e=arguments.length,t=new Array(e),n=0;n[...t].filter(r=>r!=null),[...t])}const ts=Object.freeze({x:0,y:0});function y8e(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function v8e(e,t){const n=qg(e);if(!n)return"0 0";const r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}function _8e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function b8e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function S8e(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function w8e(e,t){if(!e||e.length===0)return null;const[n]=e;return t?n[t]:n}function x8e(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),o=Math.min(t.top+t.height,e.top+e.height),s=i-r,a=o-n;if(r{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=[];for(const o of r){const{id:s}=o,a=n.get(s);if(a){const l=x8e(a,t);l>0&&i.push({id:s,data:{droppableContainer:o,value:l}})}}return i.sort(b8e)};function T8e(e,t){const{top:n,left:r,bottom:i,right:o}=t;return n<=e.y&&e.y<=i&&r<=e.x&&e.x<=o}const E8e=e=>{let{droppableContainers:t,droppableRects:n,pointerCoordinates:r}=e;if(!r)return[];const i=[];for(const o of t){const{id:s}=o,a=n.get(s);if(a&&T8e(r,a)){const u=S8e(a).reduce((f,p)=>f+y8e(r,p),0),d=Number((u/4).toFixed(4));i.push({id:s,data:{droppableContainer:o,value:d}})}}return i.sort(_8e)};function A8e(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function qj(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:ts}function P8e(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o({...s,top:s.top+e*a.y,bottom:s.bottom+e*a.y,left:s.left+e*a.x,right:s.right+e*a.x}),{...n})}}const R8e=P8e(1);function Kj(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function O8e(e,t,n){const r=Kj(t);if(!r)return e;const{scaleX:i,scaleY:o,x:s,y:a}=r,l=e.left-s-(1-i)*parseFloat(n),u=e.top-a-(1-o)*parseFloat(n.slice(n.indexOf(" ")+1)),d=i?e.width/i:e.width,f=o?e.height/o:e.height;return{width:d,height:f,top:u,right:l+d,bottom:u+f,left:l}}const k8e={ignoreTransform:!1};function Vm(e,t){t===void 0&&(t=k8e);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:u,transformOrigin:d}=fi(e).getComputedStyle(e);u&&(n=O8e(n,u,d))}const{top:r,left:i,width:o,height:s,bottom:a,right:l}=n;return{top:r,left:i,width:o,height:s,bottom:a,right:l}}function a7(e){return Vm(e,{ignoreTransform:!0})}function I8e(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function M8e(e,t){return t===void 0&&(t=fi(e).getComputedStyle(e)),t.position==="fixed"}function N8e(e,t){t===void 0&&(t=fi(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const o=t[i];return typeof o=="string"?n.test(o):!1})}function y6(e,t){const n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(g6(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Um(i)||t8e(i)||n.includes(i))return n;const o=fi(e).getComputedStyle(i);return i!==e&&N8e(i,o)&&n.push(i),M8e(i,o)?n:r(i.parentNode)}return e?r(e):n}function Xj(e){const[t]=y6(e,1);return t??null}function fC(e){return!c2||!e?null:Yf(e)?e:p6(e)?g6(e)||e===Qf(e).scrollingElement?window:Um(e)?e:null:null}function Yj(e){return Yf(e)?e.scrollX:e.scrollLeft}function Qj(e){return Yf(e)?e.scrollY:e.scrollTop}function K5(e){return{x:Yj(e),y:Qj(e)}}var fr;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(fr||(fr={}));function Zj(e){return!c2||!e?!1:e===document.scrollingElement}function Jj(e){const t={x:0,y:0},n=Zj(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},i=e.scrollTop<=t.y,o=e.scrollLeft<=t.x,s=e.scrollTop>=r.y,a=e.scrollLeft>=r.x;return{isTop:i,isLeft:o,isBottom:s,isRight:a,maxScroll:r,minScroll:t}}const L8e={x:.2,y:.2};function D8e(e,t,n,r,i){let{top:o,left:s,right:a,bottom:l}=n;r===void 0&&(r=10),i===void 0&&(i=L8e);const{isTop:u,isBottom:d,isLeft:f,isRight:p}=Jj(e),g={x:0,y:0},m={x:0,y:0},v={height:t.height*i.y,width:t.width*i.x};return!u&&o<=t.top+v.height?(g.y=fr.Backward,m.y=r*Math.abs((t.top+v.height-o)/v.height)):!d&&l>=t.bottom-v.height&&(g.y=fr.Forward,m.y=r*Math.abs((t.bottom-v.height-l)/v.height)),!p&&a>=t.right-v.width?(g.x=fr.Forward,m.x=r*Math.abs((t.right-v.width-a)/v.width)):!f&&s<=t.left+v.width&&(g.x=fr.Backward,m.x=r*Math.abs((t.left+v.width-s)/v.width)),{direction:g,speed:m}}function $8e(e){if(e===document.scrollingElement){const{innerWidth:o,innerHeight:s}=window;return{top:0,left:0,right:o,bottom:s,width:o,height:s}}const{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function eG(e){return e.reduce((t,n)=>uf(t,K5(n)),ts)}function F8e(e){return e.reduce((t,n)=>t+Yj(n),0)}function B8e(e){return e.reduce((t,n)=>t+Qj(n),0)}function tG(e,t){if(t===void 0&&(t=Vm),!e)return;const{top:n,left:r,bottom:i,right:o}=t(e);Xj(e)&&(i<=0||o<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const U8e=[["x",["left","right"],F8e],["y",["top","bottom"],B8e]];class v6{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=y6(n),i=eG(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,s,a]of U8e)for(const l of s)Object.defineProperty(this,l,{get:()=>{const u=a(r),d=i[o]-u;return this.rect[l]+d},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Np{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=t}add(t,n,r){var i;(i=this.target)==null||i.addEventListener(t,n,r),this.listeners.push([t,n,r])}}function z8e(e){const{EventTarget:t}=fi(e);return e instanceof t?e:Qf(e)}function hC(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return typeof t=="number"?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t?r>t.y:!1}var po;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(po||(po={}));function l7(e){e.preventDefault()}function V8e(e){e.stopPropagation()}var Qt;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter"})(Qt||(Qt={}));const nG={start:[Qt.Space,Qt.Enter],cancel:[Qt.Esc],end:[Qt.Space,Qt.Enter]},j8e=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case Qt.Right:return{...n,x:n.x+25};case Qt.Left:return{...n,x:n.x-25};case Qt.Down:return{...n,y:n.y+25};case Qt.Up:return{...n,y:n.y-25}}};class rG{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:n}}=t;this.props=t,this.listeners=new Np(Qf(n)),this.windowListeners=new Np(fi(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(po.Resize,this.handleCancel),this.windowListeners.add(po.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(po.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&tG(r),n(ts)}handleKeyDown(t){if(m6(t)){const{active:n,context:r,options:i}=this.props,{keyboardCodes:o=nG,coordinateGetter:s=j8e,scrollBehavior:a="smooth"}=i,{code:l}=t;if(o.end.includes(l)){this.handleEnd(t);return}if(o.cancel.includes(l)){this.handleCancel(t);return}const{collisionRect:u}=r.current,d=u?{x:u.left,y:u.top}:ts;this.referenceCoordinates||(this.referenceCoordinates=d);const f=s(t,{active:n,context:r.current,currentCoordinates:d});if(f){const p=b_(f,d),g={x:0,y:0},{scrollableAncestors:m}=r.current;for(const v of m){const x=t.code,{isTop:_,isRight:b,isLeft:y,isBottom:S,maxScroll:C,minScroll:T}=Jj(v),E=$8e(v),P={x:Math.min(x===Qt.Right?E.right-E.width/2:E.right,Math.max(x===Qt.Right?E.left:E.left+E.width/2,f.x)),y:Math.min(x===Qt.Down?E.bottom-E.height/2:E.bottom,Math.max(x===Qt.Down?E.top:E.top+E.height/2,f.y))},k=x===Qt.Right&&!b||x===Qt.Left&&!y,O=x===Qt.Down&&!S||x===Qt.Up&&!_;if(k&&P.x!==f.x){const M=v.scrollLeft+p.x,G=x===Qt.Right&&M<=C.x||x===Qt.Left&&M>=T.x;if(G&&!p.y){v.scrollTo({left:M,behavior:a});return}G?g.x=v.scrollLeft-M:g.x=x===Qt.Right?v.scrollLeft-C.x:v.scrollLeft-T.x,g.x&&v.scrollBy({left:-g.x,behavior:a});break}else if(O&&P.y!==f.y){const M=v.scrollTop+p.y,G=x===Qt.Down&&M<=C.y||x===Qt.Up&&M>=T.y;if(G&&!p.x){v.scrollTo({top:M,behavior:a});return}G?g.y=v.scrollTop-M:g.y=x===Qt.Down?v.scrollTop-C.y:v.scrollTop-T.y,g.y&&v.scrollBy({top:-g.y,behavior:a});break}}this.handleMove(t,uf(b_(f,this.referenceCoordinates),g))}}}handleMove(t,n){const{onMove:r}=this.props;t.preventDefault(),r(n)}handleEnd(t){const{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){const{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}rG.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=nG,onActivation:i}=t,{active:o}=n;const{code:s}=e.nativeEvent;if(r.start.includes(s)){const a=o.activatorNode.current;return a&&e.target!==a?!1:(e.preventDefault(),i==null||i({event:e.nativeEvent}),!0)}return!1}}];function u7(e){return!!(e&&"distance"in e)}function c7(e){return!!(e&&"delay"in e)}class _6{constructor(t,n,r){var i;r===void 0&&(r=z8e(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;const{event:o}=t,{target:s}=o;this.props=t,this.events=n,this.document=Qf(s),this.documentListeners=new Np(this.document),this.listeners=new Np(r),this.windowListeners=new Np(fi(s)),this.initialCoordinates=(i=qg(o))!=null?i:ts,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:n}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),this.windowListeners.add(po.Resize,this.handleCancel),this.windowListeners.add(po.DragStart,l7),this.windowListeners.add(po.VisibilityChange,this.handleCancel),this.windowListeners.add(po.ContextMenu,l7),this.documentListeners.add(po.Keydown,this.handleKeydown),n){if(u7(n))return;if(c7(n)){this.timeoutId=setTimeout(this.handleStart,n.delay);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(po.Click,V8e,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(po.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:r,initialCoordinates:i,props:o}=this,{onMove:s,options:{activationConstraint:a}}=o;if(!i)return;const l=(n=qg(t))!=null?n:ts,u=b_(i,l);if(!r&&a){if(c7(a))return hC(u,a.tolerance)?this.handleCancel():void 0;if(u7(a))return a.tolerance!=null&&hC(u,a.tolerance)?this.handleCancel():hC(u,a.distance)?this.handleStart():void 0}t.cancelable&&t.preventDefault(),s(l)}handleEnd(){const{onEnd:t}=this.props;this.detach(),t()}handleCancel(){const{onCancel:t}=this.props;this.detach(),t()}handleKeydown(t){t.code===Qt.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const G8e={move:{name:"pointermove"},end:{name:"pointerup"}};class iG extends _6{constructor(t){const{event:n}=t,r=Qf(n.target);super(t,G8e,r)}}iG.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r==null||r({event:n}),!0)}}];const H8e={move:{name:"mousemove"},end:{name:"mouseup"}};var X5;(function(e){e[e.RightClick=2]="RightClick"})(X5||(X5={}));class oG extends _6{constructor(t){super(t,H8e,Qf(t.event.target))}}oG.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===X5.RightClick?!1:(r==null||r({event:n}),!0)}}];const pC={move:{name:"touchmove"},end:{name:"touchend"}};class sG extends _6{constructor(t){super(t,pC)}static setup(){return window.addEventListener(pC.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(pC.move.name,t)};function t(){}}}sG.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:i}=n;return i.length>1?!1:(r==null||r({event:n}),!0)}}];var Lp;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(Lp||(Lp={}));var w_;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(w_||(w_={}));function W8e(e){let{acceleration:t,activator:n=Lp.Pointer,canScroll:r,draggingRect:i,enabled:o,interval:s=5,order:a=w_.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:d,delta:f,threshold:p}=e;const g=K8e({delta:f,disabled:!o}),[m,v]=n8e(),x=L.useRef({x:0,y:0}),_=L.useRef({x:0,y:0}),b=L.useMemo(()=>{switch(n){case Lp.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Lp.DraggableRect:return i}},[n,i,l]),y=L.useRef(null),S=L.useCallback(()=>{const T=y.current;if(!T)return;const E=x.current.x*_.current.x,P=x.current.y*_.current.y;T.scrollBy(E,P)},[]),C=L.useMemo(()=>a===w_.TreeOrder?[...u].reverse():u,[a,u]);L.useEffect(()=>{if(!o||!u.length||!b){v();return}for(const T of C){if((r==null?void 0:r(T))===!1)continue;const E=u.indexOf(T),P=d[E];if(!P)continue;const{direction:k,speed:O}=D8e(T,P,b,t,p);for(const M of["x","y"])g[M][k[M]]||(O[M]=0,k[M]=0);if(O.x>0||O.y>0){v(),y.current=T,m(S,s),x.current=O,_.current=k;return}}x.current={x:0,y:0},_.current={x:0,y:0},v()},[t,S,r,v,o,s,JSON.stringify(b),JSON.stringify(g),m,u,C,d,JSON.stringify(p)])}const q8e={x:{[fr.Backward]:!1,[fr.Forward]:!1},y:{[fr.Backward]:!1,[fr.Forward]:!1}};function K8e(e){let{delta:t,disabled:n}=e;const r=__(t);return zm(i=>{if(n||!r||!i)return q8e;const o={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[fr.Backward]:i.x[fr.Backward]||o.x===-1,[fr.Forward]:i.x[fr.Forward]||o.x===1},y:{[fr.Backward]:i.y[fr.Backward]||o.y===-1,[fr.Forward]:i.y[fr.Forward]||o.y===1}}},[n,t,r])}function X8e(e,t){const n=t!==null?e.get(t):void 0,r=n?n.node.current:null;return zm(i=>{var o;return t===null?null:(o=r??i)!=null?o:null},[r,t])}function Y8e(e,t){return L.useMemo(()=>e.reduce((n,r)=>{const{sensor:i}=r,o=i.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,r)}));return[...n,...o]},[]),[e,t])}var Xg;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(Xg||(Xg={}));var Y5;(function(e){e.Optimized="optimized"})(Y5||(Y5={}));const d7=new Map;function Q8e(e,t){let{dragging:n,dependencies:r,config:i}=t;const[o,s]=L.useState(null),{frequency:a,measure:l,strategy:u}=i,d=L.useRef(e),f=x(),p=Wg(f),g=L.useCallback(function(_){_===void 0&&(_=[]),!p.current&&s(b=>b===null?_:b.concat(_.filter(y=>!b.includes(y))))},[p]),m=L.useRef(null),v=zm(_=>{if(f&&!n)return d7;if(!_||_===d7||d.current!==e||o!=null){const b=new Map;for(let y of e){if(!y)continue;if(o&&o.length>0&&!o.includes(y.id)&&y.rect.current){b.set(y.id,y.rect.current);continue}const S=y.node.current,C=S?new v6(l(S),S):null;y.rect.current=C,C&&b.set(y.id,C)}return b}return _},[e,o,n,f,l]);return L.useEffect(()=>{d.current=e},[e]),L.useEffect(()=>{f||g()},[n,f]),L.useEffect(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),L.useEffect(()=>{f||typeof a!="number"||m.current!==null||(m.current=setTimeout(()=>{g(),m.current=null},a))},[a,f,g,...r]),{droppableRects:v,measureDroppableContainers:g,measuringScheduled:o!=null};function x(){switch(u){case Xg.Always:return!1;case Xg.BeforeDragging:return n;default:return!n}}}function b6(e,t){return zm(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function Z8e(e,t){return b6(e,t)}function J8e(e){let{callback:t,disabled:n}=e;const r=d2(t),i=L.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(r)},[r,n]);return L.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function h2(e){let{callback:t,disabled:n}=e;const r=d2(t),i=L.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return L.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function e9e(e){return new v6(Vm(e),e)}function f7(e,t,n){t===void 0&&(t=e9e);const[r,i]=L.useReducer(a,null),o=J8e({callback(l){if(e)for(const u of l){const{type:d,target:f}=u;if(d==="childList"&&f instanceof HTMLElement&&f.contains(e)){i();break}}}}),s=h2({callback:i});return $s(()=>{i(),e?(s==null||s.observe(e),o==null||o.observe(document.body,{childList:!0,subtree:!0})):(s==null||s.disconnect(),o==null||o.disconnect())},[e]),r;function a(l){if(!e)return null;if(e.isConnected===!1){var u;return(u=l??n)!=null?u:null}const d=t(e);return JSON.stringify(l)===JSON.stringify(d)?l:d}}function t9e(e){const t=b6(e);return qj(e,t)}const h7=[];function n9e(e){const t=L.useRef(e),n=zm(r=>e?r&&r!==h7&&e&&t.current&&e.parentNode===t.current.parentNode?r:y6(e):h7,[e]);return L.useEffect(()=>{t.current=e},[e]),n}function r9e(e){const[t,n]=L.useState(null),r=L.useRef(e),i=L.useCallback(o=>{const s=fC(o.target);s&&n(a=>a?(a.set(s,K5(s)),new Map(a)):null)},[]);return L.useEffect(()=>{const o=r.current;if(e!==o){s(o);const a=e.map(l=>{const u=fC(l);return u?(u.addEventListener("scroll",i,{passive:!0}),[u,K5(u)]):null}).filter(l=>l!=null);n(a.length?new Map(a):null),r.current=e}return()=>{s(e),s(o)};function s(a){a.forEach(l=>{const u=fC(l);u==null||u.removeEventListener("scroll",i)})}},[i,e]),L.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,s)=>uf(o,s),ts):eG(e):ts,[e,t])}function p7(e,t){t===void 0&&(t=[]);const n=L.useRef(null);return L.useEffect(()=>{n.current=null},t),L.useEffect(()=>{const r=e!==ts;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?b_(e,n.current):ts}function i9e(e){L.useEffect(()=>{if(!c2)return;const t=e.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of t)n==null||n()}},e.map(t=>{let{sensor:n}=t;return n}))}function o9e(e,t){return L.useMemo(()=>e.reduce((n,r)=>{let{eventName:i,handler:o}=r;return n[i]=s=>{o(s,t)},n},{}),[e,t])}function aG(e){return L.useMemo(()=>e?I8e(e):null,[e])}const gC=[];function s9e(e,t){t===void 0&&(t=Vm);const[n]=e,r=aG(n?fi(n):null),[i,o]=L.useReducer(a,gC),s=h2({callback:o});return e.length>0&&i===gC&&o(),$s(()=>{e.length?e.forEach(l=>s==null?void 0:s.observe(l)):(s==null||s.disconnect(),o())},[e]),i;function a(){return e.length?e.map(l=>Zj(l)?r:new v6(t(l),l)):gC}}function lG(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Um(t)?t:e}function a9e(e){let{measure:t}=e;const[n,r]=L.useState(null),i=L.useCallback(u=>{for(const{target:d}of u)if(Um(d)){r(f=>{const p=t(d);return f?{...f,width:p.width,height:p.height}:p});break}},[t]),o=h2({callback:i}),s=L.useCallback(u=>{const d=lG(u);o==null||o.disconnect(),d&&(o==null||o.observe(d)),r(d?t(d):null)},[t,o]),[a,l]=v_(s);return L.useMemo(()=>({nodeRef:a,rect:n,setRef:l}),[n,a,l])}const l9e=[{sensor:iG,options:{}},{sensor:rG,options:{}}],u9e={current:{}},Iv={draggable:{measure:a7},droppable:{measure:a7,strategy:Xg.WhileDragging,frequency:Y5.Optimized},dragOverlay:{measure:Vm}};class Dp extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,r;return(n=(r=this.get(t))==null?void 0:r.node.current)!=null?n:void 0}}const c9e={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Dp,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:S_},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Iv,measureDroppableContainers:S_,windowRect:null,measuringScheduled:!1},uG={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:S_,draggableNodes:new Map,over:null,measureDroppableContainers:S_},jm=L.createContext(uG),cG=L.createContext(c9e);function d9e(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Dp}}}function f9e(e,t){switch(t.type){case er.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case er.DragMove:return e.draggable.active?{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}}:e;case er.DragEnd:case er.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case er.RegisterDroppable:{const{element:n}=t,{id:r}=n,i=new Dp(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case er.SetDroppableDisabled:{const{id:n,key:r,disabled:i}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const s=new Dp(e.droppable.containers);return s.set(n,{...o,disabled:i}),{...e,droppable:{...e.droppable,containers:s}}}case er.UnregisterDroppable:{const{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const o=new Dp(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function h9e(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:i}=L.useContext(jm),o=__(r),s=__(n==null?void 0:n.id);return L.useEffect(()=>{if(!t&&!r&&o&&s!=null){if(!m6(o)||document.activeElement===o.target)return;const a=i.get(s);if(!a)return;const{activatorNode:l,node:u}=a;if(!l.current&&!u.current)return;requestAnimationFrame(()=>{for(const d of[l.current,u.current]){if(!d)continue;const f=o8e(d);if(f){f.focus();break}}})}},[r,t,i,s,o]),null}function dG(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((i,o)=>o({transform:i,...r}),n):n}function p9e(e){return L.useMemo(()=>({draggable:{...Iv.draggable,...e==null?void 0:e.draggable},droppable:{...Iv.droppable,...e==null?void 0:e.droppable},dragOverlay:{...Iv.dragOverlay,...e==null?void 0:e.dragOverlay}}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function g9e(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e;const o=L.useRef(!1),{x:s,y:a}=typeof i=="boolean"?{x:i,y:i}:i;$s(()=>{if(!s&&!a||!t){o.current=!1;return}if(o.current||!r)return;const u=t==null?void 0:t.node.current;if(!u||u.isConnected===!1)return;const d=n(u),f=qj(d,r);if(s||(f.x=0),a||(f.y=0),o.current=!0,Math.abs(f.x)>0||Math.abs(f.y)>0){const p=Xj(u);p&&p.scrollBy({top:f.y,left:f.x})}},[t,s,a,r,n])}const p2=L.createContext({...ts,scaleX:1,scaleY:1});var hl;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(hl||(hl={}));const m9e=L.memo(function(t){var n,r,i,o;let{id:s,accessibility:a,autoScroll:l=!0,children:u,sensors:d=l9e,collisionDetection:f=C8e,measuring:p,modifiers:g,...m}=t;const v=L.useReducer(f9e,void 0,d9e),[x,_]=v,[b,y]=f8e(),[S,C]=L.useState(hl.Uninitialized),T=S===hl.Initialized,{draggable:{active:E,nodes:P,translate:k},droppable:{containers:O}}=x,M=E?P.get(E):null,G=L.useRef({initial:null,translated:null}),U=L.useMemo(()=>{var Xt;return E!=null?{id:E,data:(Xt=M==null?void 0:M.data)!=null?Xt:u9e,rect:G}:null},[E,M]),A=L.useRef(null),[N,F]=L.useState(null),[B,D]=L.useState(null),V=Wg(m,Object.values(m)),j=f2("DndDescribedBy",s),q=L.useMemo(()=>O.getEnabled(),[O]),Z=p9e(p),{droppableRects:ee,measureDroppableContainers:ie,measuringScheduled:se}=Q8e(q,{dragging:T,dependencies:[k.x,k.y],config:Z.droppable}),le=X8e(P,E),W=L.useMemo(()=>B?qg(B):null,[B]),ne=js(),fe=Z8e(le,Z.draggable.measure);g9e({activeNode:E?P.get(E):null,config:ne.layoutShiftCompensation,initialRect:fe,measure:Z.draggable.measure});const pe=f7(le,Z.draggable.measure,fe),ve=f7(le?le.parentElement:null),ye=L.useRef({activatorEvent:null,active:null,activeNode:le,collisionRect:null,collisions:null,droppableRects:ee,draggableNodes:P,draggingNode:null,draggingNodeRect:null,droppableContainers:O,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),We=O.getNodeFor((n=ye.current.over)==null?void 0:n.id),Me=a9e({measure:Z.dragOverlay.measure}),Ee=(r=Me.nodeRef.current)!=null?r:le,lt=T?(i=Me.rect)!=null?i:pe:null,_e=!!(Me.nodeRef.current&&Me.rect),jt=t9e(_e?null:pe),Hn=aG(Ee?fi(Ee):null),Bt=n9e(T?We??le:null),it=s9e(Bt),gt=dG(g,{transform:{x:k.x-jt.x,y:k.y-jt.y,scaleX:1,scaleY:1},activatorEvent:B,active:U,activeNodeRect:pe,containerNodeRect:ve,draggingNodeRect:lt,over:ye.current.over,overlayNodeRect:Me.rect,scrollableAncestors:Bt,scrollableAncestorRects:it,windowRect:Hn}),Jt=W?uf(W,k):null,Nr=r9e(Bt),yr=p7(Nr),hi=p7(Nr,[pe]),wn=uf(gt,yr),on=lt?R8e(lt,gt):null,Wn=U&&on?f({active:U,collisionRect:on,droppableRects:ee,droppableContainers:q,pointerCoordinates:Jt}):null,sn=w8e(Wn,"id"),[Gt,vr]=L.useState(null),Lr=_e?gt:uf(gt,hi),Xr=A8e(Lr,(o=Gt==null?void 0:Gt.rect)!=null?o:null,pe),Ii=L.useCallback((Xt,Ot)=>{let{sensor:qn,options:Dn}=Ot;if(A.current==null)return;const or=P.get(A.current);if(!or)return;const _r=Xt.nativeEvent,br=new qn({active:A.current,activeNode:or,event:_r,options:Dn,context:ye,onStart(Sr){const Kn=A.current;if(Kn==null)return;const Mi=P.get(Kn);if(!Mi)return;const{onDragStart:is}=V.current,to={active:{id:Kn,data:Mi.data,rect:G}};bs.unstable_batchedUpdates(()=>{is==null||is(to),C(hl.Initializing),_({type:er.DragStart,initialCoordinates:Sr,active:Kn}),b({type:"onDragStart",event:to})})},onMove(Sr){_({type:er.DragMove,coordinates:Sr})},onEnd:eo(er.DragEnd),onCancel:eo(er.DragCancel)});bs.unstable_batchedUpdates(()=>{F(br),D(Xt.nativeEvent)});function eo(Sr){return async function(){const{active:Mi,collisions:is,over:to,scrollAdjustedTranslate:za}=ye.current;let Ao=null;if(Mi&&za){const{cancelDrop:wr}=V.current;Ao={activatorEvent:_r,active:Mi,collisions:is,delta:za,over:to},Sr===er.DragEnd&&typeof wr=="function"&&await Promise.resolve(wr(Ao))&&(Sr=er.DragCancel)}A.current=null,bs.unstable_batchedUpdates(()=>{_({type:Sr}),C(hl.Uninitialized),vr(null),F(null),D(null);const wr=Sr===er.DragEnd?"onDragEnd":"onDragCancel";if(Ao){const Gs=V.current[wr];Gs==null||Gs(Ao),b({type:wr,event:Ao})}})}}},[P]),En=L.useCallback((Xt,Ot)=>(qn,Dn)=>{const or=qn.nativeEvent,_r=P.get(Dn);if(A.current!==null||!_r||or.dndKit||or.defaultPrevented)return;const br={active:_r};Xt(qn,Ot.options,br)===!0&&(or.dndKit={capturedBy:Ot.sensor},A.current=Dn,Ii(qn,Ot))},[P,Ii]),Yr=Y8e(d,En);i9e(d),$s(()=>{pe&&S===hl.Initializing&&C(hl.Initialized)},[pe,S]),L.useEffect(()=>{const{onDragMove:Xt}=V.current,{active:Ot,activatorEvent:qn,collisions:Dn,over:or}=ye.current;if(!Ot||!qn)return;const _r={active:Ot,activatorEvent:qn,collisions:Dn,delta:{x:wn.x,y:wn.y},over:or};bs.unstable_batchedUpdates(()=>{Xt==null||Xt(_r),b({type:"onDragMove",event:_r})})},[wn.x,wn.y]),L.useEffect(()=>{const{active:Xt,activatorEvent:Ot,collisions:qn,droppableContainers:Dn,scrollAdjustedTranslate:or}=ye.current;if(!Xt||A.current==null||!Ot||!or)return;const{onDragOver:_r}=V.current,br=Dn.get(sn),eo=br&&br.rect.current?{id:br.id,rect:br.rect.current,data:br.data,disabled:br.disabled}:null,Sr={active:Xt,activatorEvent:Ot,collisions:qn,delta:{x:or.x,y:or.y},over:eo};bs.unstable_batchedUpdates(()=>{vr(eo),_r==null||_r(Sr),b({type:"onDragOver",event:Sr})})},[sn]),$s(()=>{ye.current={activatorEvent:B,active:U,activeNode:le,collisionRect:on,collisions:Wn,droppableRects:ee,draggableNodes:P,draggingNode:Ee,draggingNodeRect:lt,droppableContainers:O,over:Gt,scrollableAncestors:Bt,scrollAdjustedTranslate:wn},G.current={initial:lt,translated:on}},[U,le,Wn,on,P,Ee,lt,ee,O,Gt,Bt,wn]),W8e({...ne,delta:k,draggingRect:on,pointerCoordinates:Jt,scrollableAncestors:Bt,scrollableAncestorRects:it});const Vs=L.useMemo(()=>({active:U,activeNode:le,activeNodeRect:pe,activatorEvent:B,collisions:Wn,containerNodeRect:ve,dragOverlay:Me,draggableNodes:P,droppableContainers:O,droppableRects:ee,over:Gt,measureDroppableContainers:ie,scrollableAncestors:Bt,scrollableAncestorRects:it,measuringConfiguration:Z,measuringScheduled:se,windowRect:Hn}),[U,le,pe,B,Wn,ve,Me,P,O,ee,Gt,ie,Bt,it,Z,se,Hn]),Ji=L.useMemo(()=>({activatorEvent:B,activators:Yr,active:U,activeNodeRect:pe,ariaDescribedById:{draggable:j},dispatch:_,draggableNodes:P,over:Gt,measureDroppableContainers:ie}),[B,Yr,U,pe,_,j,P,Gt,ie]);return Lt.createElement(Wj.Provider,{value:y},Lt.createElement(jm.Provider,{value:Ji},Lt.createElement(cG.Provider,{value:Vs},Lt.createElement(p2.Provider,{value:Xr},u)),Lt.createElement(h9e,{disabled:(a==null?void 0:a.restoreFocus)===!1})),Lt.createElement(g8e,{...a,hiddenTextDescribedById:j}));function js(){const Xt=(N==null?void 0:N.autoScrollEnabled)===!1,Ot=typeof l=="object"?l.enabled===!1:l===!1,qn=T&&!Xt&&!Ot;return typeof l=="object"?{...l,enabled:qn}:{enabled:qn}}}),y9e=L.createContext(null),g7="button",v9e="Droppable";function _9e(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e;const o=f2(v9e),{activators:s,activatorEvent:a,active:l,activeNodeRect:u,ariaDescribedById:d,draggableNodes:f,over:p}=L.useContext(jm),{role:g=g7,roleDescription:m="draggable",tabIndex:v=0}=i??{},x=(l==null?void 0:l.id)===t,_=L.useContext(x?p2:y9e),[b,y]=v_(),[S,C]=v_(),T=o9e(s,t),E=Wg(n);$s(()=>(f.set(t,{id:t,key:o,node:b,activatorNode:S,data:E}),()=>{const k=f.get(t);k&&k.key===o&&f.delete(t)}),[f,t]);const P=L.useMemo(()=>({role:g,tabIndex:v,"aria-disabled":r,"aria-pressed":x&&g===g7?!0:void 0,"aria-roledescription":m,"aria-describedby":d.draggable}),[r,g,v,x,m,d.draggable]);return{active:l,activatorEvent:a,activeNodeRect:u,attributes:P,isDragging:x,listeners:r?void 0:T,node:b,over:p,setNodeRef:y,setActivatorNodeRef:C,transform:_}}function b9e(){return L.useContext(cG)}const S9e="Droppable",w9e={timeout:25};function x9e(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e;const o=f2(S9e),{active:s,dispatch:a,over:l,measureDroppableContainers:u}=L.useContext(jm),d=L.useRef({disabled:n}),f=L.useRef(!1),p=L.useRef(null),g=L.useRef(null),{disabled:m,updateMeasurementsFor:v,timeout:x}={...w9e,...i},_=Wg(v??r),b=L.useCallback(()=>{if(!f.current){f.current=!0;return}g.current!=null&&clearTimeout(g.current),g.current=setTimeout(()=>{u(Array.isArray(_.current)?_.current:[_.current]),g.current=null},x)},[x]),y=h2({callback:b,disabled:m||!s}),S=L.useCallback((P,k)=>{y&&(k&&(y.unobserve(k),f.current=!1),P&&y.observe(P))},[y]),[C,T]=v_(S),E=Wg(t);return L.useEffect(()=>{!y||!C.current||(y.disconnect(),f.current=!1,y.observe(C.current))},[C,y]),$s(()=>(a({type:er.RegisterDroppable,element:{id:r,key:o,disabled:n,node:C,rect:p,data:E}}),()=>a({type:er.UnregisterDroppable,key:o,id:r})),[r]),L.useEffect(()=>{n!==d.current.disabled&&(a({type:er.SetDroppableDisabled,id:r,key:o,disabled:n}),d.current.disabled=n)},[r,o,n,a]),{active:s,rect:p,isOver:(l==null?void 0:l.id)===r,node:C,over:l,setNodeRef:T}}function C9e(e){let{animation:t,children:n}=e;const[r,i]=L.useState(null),[o,s]=L.useState(null),a=__(n);return!n&&!r&&a&&i(a),$s(()=>{if(!o)return;const l=r==null?void 0:r.key,u=r==null?void 0:r.props.id;if(l==null||u==null){i(null);return}Promise.resolve(t(u,o)).then(()=>{i(null)})},[t,r,o]),Lt.createElement(Lt.Fragment,null,n,r?L.cloneElement(r,{ref:s}):null)}const T9e={x:0,y:0,scaleX:1,scaleY:1};function E9e(e){let{children:t}=e;return Lt.createElement(jm.Provider,{value:uG},Lt.createElement(p2.Provider,{value:T9e},t))}const A9e={position:"fixed",touchAction:"none"},P9e=e=>m6(e)?"transform 250ms ease":void 0,R9e=L.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:o,className:s,rect:a,style:l,transform:u,transition:d=P9e}=e;if(!a)return null;const f=i?u:{...u,scaleX:1,scaleY:1},p={...A9e,width:a.width,height:a.height,top:a.top,left:a.left,transform:Kg.Transform.toString(f),transformOrigin:i&&r?v8e(r,a):void 0,transition:typeof d=="function"?d(r):d,...l};return Lt.createElement(n,{className:s,style:p,ref:t},o)}),O9e=e=>t=>{let{active:n,dragOverlay:r}=t;const i={},{styles:o,className:s}=e;if(o!=null&&o.active)for(const[a,l]of Object.entries(o.active))l!==void 0&&(i[a]=n.node.style.getPropertyValue(a),n.node.style.setProperty(a,l));if(o!=null&&o.dragOverlay)for(const[a,l]of Object.entries(o.dragOverlay))l!==void 0&&r.node.style.setProperty(a,l);return s!=null&&s.active&&n.node.classList.add(s.active),s!=null&&s.dragOverlay&&r.node.classList.add(s.dragOverlay),function(){for(const[l,u]of Object.entries(i))n.node.style.setProperty(l,u);s!=null&&s.active&&n.node.classList.remove(s.active)}},k9e=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Kg.Transform.toString(t)},{transform:Kg.Transform.toString(n)}]},I9e={duration:250,easing:"ease",keyframes:k9e,sideEffects:O9e({styles:{active:{opacity:"0"}}})};function M9e(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return d2((o,s)=>{if(t===null)return;const a=n.get(o);if(!a)return;const l=a.node.current;if(!l)return;const u=lG(s);if(!u)return;const{transform:d}=fi(s).getComputedStyle(s),f=Kj(d);if(!f)return;const p=typeof t=="function"?t:N9e(t);return tG(l,i.draggable.measure),p({active:{id:o,data:a.data,node:l,rect:i.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:s,rect:i.dragOverlay.measure(u)},droppableContainers:r,measuringConfiguration:i,transform:f})})}function N9e(e){const{duration:t,easing:n,sideEffects:r,keyframes:i}={...I9e,...e};return o=>{let{active:s,dragOverlay:a,transform:l,...u}=o;if(!t)return;const d={x:a.rect.left-s.rect.left,y:a.rect.top-s.rect.top},f={scaleX:l.scaleX!==1?s.rect.width*l.scaleX/a.rect.width:1,scaleY:l.scaleY!==1?s.rect.height*l.scaleY/a.rect.height:1},p={x:l.x-d.x,y:l.y-d.y,...f},g=i({...u,active:s,dragOverlay:a,transform:{initial:l,final:p}}),[m]=g,v=g[g.length-1];if(JSON.stringify(m)===JSON.stringify(v))return;const x=r==null?void 0:r({active:s,dragOverlay:a,...u}),_=a.node.animate(g,{duration:t,easing:n,fill:"forwards"});return new Promise(b=>{_.onfinish=()=>{x==null||x(),b()}})}}let m7=0;function L9e(e){return L.useMemo(()=>{if(e!=null)return m7++,m7},[e])}const D9e=Lt.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:o,modifiers:s,wrapperElement:a="div",className:l,zIndex:u=999}=e;const{activatorEvent:d,active:f,activeNodeRect:p,containerNodeRect:g,draggableNodes:m,droppableContainers:v,dragOverlay:x,over:_,measuringConfiguration:b,scrollableAncestors:y,scrollableAncestorRects:S,windowRect:C}=b9e(),T=L.useContext(p2),E=L9e(f==null?void 0:f.id),P=dG(s,{activatorEvent:d,active:f,activeNodeRect:p,containerNodeRect:g,draggingNodeRect:x.rect,over:_,overlayNodeRect:x.rect,scrollableAncestors:y,scrollableAncestorRects:S,transform:T,windowRect:C}),k=b6(p),O=M9e({config:r,draggableNodes:m,droppableContainers:v,measuringConfiguration:b}),M=k?x.setRef:void 0;return Lt.createElement(E9e,null,Lt.createElement(C9e,{animation:O},f&&E?Lt.createElement(R9e,{key:E,id:f.id,ref:M,as:a,activatorEvent:d,adjustScale:t,className:l,transition:o,rect:k,style:{zIndex:u,...i},transform:P},n):null))}),$9e=e=>{let{activatorEvent:t,draggingNodeRect:n,transform:r}=e;if(n&&t){const i=qg(t);if(!i)return r;const o=i.x-n.left,s=i.y-n.top;return{...r,x:r.x+o-n.width/2,y:r.y+s-n.height/2}}return r},F9e=()=>M$(),PMe=T$,X0=28,y7={w:X0,h:X0,maxW:X0,maxH:X0,shadow:"dark-lg",borderRadius:"lg",opacity:.3,bg:"base.800",color:"base.50",_dark:{borderColor:"base.200",bg:"base.900",color:"base.100"}},B9e=e=>{if(!e.dragData)return null;if(e.dragData.payloadType==="IMAGE_DTO"){const{thumbnail_url:t,width:n,height:r}=e.dragData.payload.imageDTO;return ue.jsx(f6,{sx:{position:"relative",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",userSelect:"none",cursor:"none"},children:ue.jsx(d6,{sx:{...y7},objectFit:"contain",src:t,width:n,height:r})})}return e.dragData.payloadType==="IMAGE_DTOS"?ue.jsxs(h6,{sx:{cursor:"none",userSelect:"none",position:"relative",alignItems:"center",justifyContent:"center",flexDir:"column",...y7},children:[ue.jsx(V5,{children:e.dragData.payload.imageDTOs.length}),ue.jsx(V5,{size:"sm",children:"Images"})]}):null},U9e=L.memo(B9e);function RMe(e){return x9e(e)}function OMe(e){return _9e(e)}const kMe=(e,t)=>{if(!e||!(t!=null&&t.data.current))return!1;const{actionType:n}=e,{payloadType:r}=t.data.current;if(e.id===t.data.current.id)return!1;switch(n){case"SET_CURRENT_IMAGE":return r==="IMAGE_DTO";case"SET_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_CONTROLNET_IMAGE":return r==="IMAGE_DTO";case"SET_CANVAS_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_NODES_IMAGE":return r==="IMAGE_DTO";case"SET_MULTI_NODES_IMAGE":return r==="IMAGE_DTO"||"IMAGE_DTOS";case"ADD_TO_BATCH":return r==="IMAGE_DTO"||"IMAGE_DTOS";case"ADD_TO_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_DTOS"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload,s=o.board_id??"none",a=e.context.boardId;return s!==a}return r==="IMAGE_DTOS"}case"REMOVE_FROM_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_DTOS"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload;return o.board_id!=="none"}return r==="IMAGE_DTOS"}default:return!1}};function z9e(e){return ue.jsx(m9e,{...e})}const V9e=e=>{const[t,n]=L.useState(null),r=Ie("images"),i=F9e(),o=L.useCallback(d=>{r.trace({dragData:d.active.data.current},"Drag started");const f=d.active.data.current;f&&n(f)},[r]),s=L.useCallback(d=>{var p;r.trace({dragData:d.active.data.current},"Drag ended");const f=(p=d.over)==null?void 0:p.data.current;!t||!f||(i(UU({overData:f,activeData:t})),n(null))},[t,i,r]),a=s7(oG,{activationConstraint:{distance:10}}),l=s7(sG,{activationConstraint:{distance:10}}),u=m8e(a,l);return ue.jsxs(z9e,{onDragStart:o,onDragEnd:s,sensors:u,collisionDetection:E8e,children:[e.children,ue.jsx(D9e,{dropAnimation:null,modifiers:[$9e],children:ue.jsx(TPe,{children:t&&ue.jsx(yPe.div,{layout:!0,initial:{opacity:0,scale:.7},animate:{opacity:1,scale:1,transition:{duration:.1}},children:ue.jsx(U9e,{dragData:t})},"overlay-drag-image")})})]})},j9e=L.memo(V9e),G9e=L.lazy(()=>IN(()=>import("./App-3594329a.js"),["./App-3594329a.js","./menu-11348abc.js","./App-6125620a.css"],import.meta.url)),H9e=L.lazy(()=>IN(()=>import("./ThemeLocaleProvider-31ab5c15.js"),["./ThemeLocaleProvider-31ab5c15.js","./menu-11348abc.js","./ThemeLocaleProvider-5b992bc7.css"],import.meta.url)),W9e=({apiUrl:e,token:t,config:n,headerComponent:r,middleware:i,projectId:o})=>(L.useEffect(()=>(t&&Sg.set(t),e&&wg.set(e),o&&S1.set(o),AU(),i&&i.length>0?J3(kk(),...i):J3(kk()),()=>{wg.set(void 0),Sg.set(void 0),S1.set(void 0)}),[e,t,i,o]),ue.jsx(Lt.StrictMode,{children:ue.jsx(pde,{store:$Ce,children:ue.jsx(Lt.Suspense,{fallback:ue.jsx(MPe,{}),children:ue.jsx(H9e,{children:ue.jsx(j9e,{children:ue.jsx(G9e,{config:n,headerComponent:r})})})})})})),q9e=L.memo(W9e);mC.createRoot(document.getElementById("root")).render(ue.jsx(q9e,{}));export{xMe as $,L as A,ue as B,Eo as C,Mn as D,rf as E,qr as F,Vo as G,Vge as H,Ri as I,kl as J,gs as K,NIe as L,sB as M,rme as N,Mme as O,Hge as P,Zhe as Q,Af as R,ug as S,v5e as T,Pc as U,cc as V,iV as W,hMe as X,cMe as Y,TPe as Z,yPe as _,xL as a,jY as a$,dV as a0,Dj as a1,gV as a2,dMe as a3,fMe as a4,y5e as a5,m5e as a6,pMe as a7,Fu as a8,dc as a9,h6 as aA,V5 as aB,oMe as aC,Tz as aD,Xke as aE,r5e as aF,UE as aG,Qz as aH,o5e as aI,bs as aJ,EP as aK,zE as aL,T7e as aM,Dke as aN,Qke as aO,Zke as aP,RIe as aQ,AIe as aR,Ou as aS,f_e as aT,LU as aU,l7e as aV,EIe as aW,BT as aX,hE as aY,L9 as aZ,JOe as a_,A1 as aa,OJ as ab,Lt as ac,G4e as ad,wMe as ae,ba as af,nV as ag,dAe as ah,yMe as ai,T5 as aj,uMe as ak,SMe as al,si as am,dE as an,nb as ao,PMe as ap,DIe as aq,Cm as ar,zB as as,hU as at,Jb as au,F9e as av,f7e as aw,Un as ax,Ku as ay,f6 as az,lT as b,Wke as b$,Q9e as b0,X9e as b1,Y9e as b2,He as b3,zke as b4,iIe as b5,rIe as b6,Bke as b7,TIe as b8,ECe as b9,cRe as bA,$Re as bB,aRe as bC,xRe as bD,hRe as bE,W_e as bF,lRe as bG,IRe as bH,sRe as bI,VRe as bJ,dRe as bK,CRe as bL,fRe as bM,TRe as bN,yRe as bO,ARe as bP,H_e as bQ,pRe as bR,dO as bS,n7e as bT,r7e as bU,i7e as bV,vRe as bW,o7e as bX,_Re as bY,s7e as bZ,Re as b_,RMe as ba,kMe as bb,wIe as bc,$ke as bd,Fke as be,Hke as bf,N3 as bg,Uke as bh,d6 as bi,kPe as bj,uOe as bk,bl,f0 as bm,SIe as bn,_Ie as bo,CIe as bp,bIe as bq,K9e as br,nRe as bs,rRe as bt,iRe as bu,oRe as bv,ORe as bw,kRe as bx,ZIe as by,JIe as bz,Ete as c,Ie as c$,nfe as c0,a$ as c1,zOe as c2,n$ as c3,PIe as c4,OMe as c5,lMe as c6,BU as c7,jke as c8,O1 as c9,hOe as cA,b7e as cB,Cue as cC,LIe as cD,d7e as cE,ST as cF,vIe as cG,gIe as cH,mIe as cI,yIe as cJ,JRe as cK,jRe as cL,XRe as cM,RRe as cN,h7e as cO,mc as cP,g7e as cQ,da as cR,eSe as cS,tc as cT,bRe as cU,Em as cV,$7e as cW,Z9e as cX,e7e as cY,M7e as cZ,eMe as c_,xIe as ca,Gke as cb,Nke as cc,k1 as cd,iMe as ce,k7e as cf,aOe as cg,A7e as ch,Vke as ci,Yke as cj,FT as ck,wT as cl,uRe as cm,pOe as cn,Kr as co,v7e as cp,P7e as cq,E7e as cr,G1e as cs,y7e as ct,S7e as cu,w7e as cv,Sue as cw,d1e as cx,f1e as cy,oOe as cz,pae as d,C7e as d$,XD as d0,q7e as d1,Vve as d2,PRe as d3,YD as d4,N7e as d5,gue as d6,F7e as d7,ZD as d8,eOe as d9,mRe as dA,L7e as dB,lR as dC,cIe as dD,$T as dE,Kde as dF,_d as dG,uR as dH,dIe as dI,fIe as dJ,hIe as dK,Xde as dL,pIe as dM,dF as dN,aIe as dO,uIe as dP,oIe as dQ,hCe as dR,IO as dS,sIe as dT,YRe as dU,QRe as dV,qRe as dW,KRe as dX,WRe as dY,X7e as dZ,V7e as d_,wue as da,Ss as db,ERe as dc,BRe as dd,tRe as de,ole as df,zRe as dg,t7e as dh,tOe as di,QIe as dj,sSe as dk,rOe as dl,Se as dm,Ui as dn,pn as dp,Rs as dq,I7e as dr,kIe as ds,IIe as dt,_F as du,D7e as dv,OIe as dw,FD as dx,ZRe as dy,ile as dz,xD as e,vOe as e$,z7e as e0,J7e as e1,K7e as e2,x7e as e3,G7e as e4,j7e as e5,B7e as e6,W7e as e7,eRe as e8,U7e as e9,zIe as eA,UIe as eB,VIe as eC,qIe as eD,Oye as eE,BB as eF,GU as eG,dQ as eH,rt as eI,ske as eJ,Tke as eK,Cke as eL,BOe as eM,gke as eN,Ake as eO,b_e as eP,kOe as eQ,tke as eR,tp as eS,QOe as eT,IOe as eU,nS as eV,eke as eW,POe as eX,ZOe as eY,ROe as eZ,LOe as e_,H7e as ea,J9e as eb,RB as ec,_T as ed,Y7e as ee,z1 as ef,Ne as eg,Q7e as eh,mU as ei,gRe as ej,Z7e as ek,T$ as el,M$ as em,YIe as en,jIe as eo,GIe as ep,HIe as eq,sE as er,KIe as es,XIe as et,Ig as eu,rb as ev,BIe as ew,PCe as ex,$Ie as ey,FIe as ez,kL as f,rMe as f$,yOe as f0,mOe as f1,Eke as f2,i$ as f3,Sg as f4,xOe as f5,COe as f6,TOe as f7,xke as f8,$Oe as f9,cke as fA,dke as fB,Ike as fC,vke as fD,Mke as fE,XOe as fF,KOe as fG,AOe as fH,EOe as fI,Oke as fJ,UOe as fK,v_e as fL,g_e as fM,m_e as fN,y_e as fO,SOe as fP,nOe as fQ,bue as fR,GRe as fS,wOe as fT,WOe as fU,kke as fV,MRe as fW,NRe as fX,LRe as fY,DRe as fZ,qOe as f_,DOe as fa,zue as fb,wke as fc,__e as fd,MOe as fe,uCe as ff,fCe as fg,jOe as fh,GOe as fi,ake as fj,oke as fk,nke as fl,_Oe as fm,bOe as fn,R7e as fo,O7e as fp,YOe as fq,VOe as fr,lke as fs,pke as ft,uke as fu,FOe as fv,OOe as fw,Ske as fx,bke as fy,fke as fz,aae as g,lOe as g0,JD as g1,dOe as g2,cOe as g3,fOe as g4,nle as g5,c_e as g6,aMe as g7,rV as g8,bMe as g9,vMe as ga,gMe as gb,_Me as gc,Ts as gd,mMe as ge,sMe as gf,V4e as gg,N4e as gh,CMe as gi,EMe as gj,AMe as gk,UL as h,Pi as i,Uf as j,eb as k,gr as l,J_ as m,cm as n,Jo as o,tu as p,Q_ as q,Fs as r,fm as s,sx as t,iT as u,RL as v,fT as w,mD as x,IL as y,Jae as z}; diff --git a/invokeai/frontend/web/dist/assets/menu-11348abc.js b/invokeai/frontend/web/dist/assets/menu-b42141e3.js similarity index 99% rename from invokeai/frontend/web/dist/assets/menu-11348abc.js rename to invokeai/frontend/web/dist/assets/menu-b42141e3.js index bfcf7978dc..f9c000de8b 100644 --- a/invokeai/frontend/web/dist/assets/menu-11348abc.js +++ b/invokeai/frontend/web/dist/assets/menu-b42141e3.js @@ -1 +1 @@ -import{A as p,B as d,a5 as Z,aJ as xe,gi as We,_ as Be,V as j,a8 as q,U as z,W as R,a2 as _e,a1 as De,a0 as Ce,$ as Ge,Z as Ue,gj as Ve,gk as Ze,ac as A,g7 as D,gf as qe,g9 as Xe}from"./index-de589048.js";function Je(e,t){return`${e} returned \`undefined\`. Seems you forgot to wrap component within ${t}`}function M(e={}){const{name:t,strict:r=!0,hookName:o="useContext",providerName:a="Provider",errorMessage:n,defaultValue:s}=e,i=p.createContext(s);i.displayName=t;function l(){var c;const u=p.useContext(i);if(!u&&r){const f=new Error(n??Je(o,a));throw f.name="ContextError",(c=Error.captureStackTrace)==null||c.call(Error,f,l),f}return u}return[i.Provider,l,i]}var[Ke,Ye]=M({strict:!1,name:"PortalManagerContext"});function Qe(e){const{children:t,zIndex:r}=e;return d.jsx(Ke,{value:{zIndex:r},children:t})}Qe.displayName="PortalManager";var[ke,et]=M({strict:!1,name:"PortalContext"}),J="chakra-portal",tt=".chakra-portal",rt=e=>d.jsx("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0},children:e.children}),nt=e=>{const{appendToParentPortal:t,children:r}=e,[o,a]=p.useState(null),n=p.useRef(null),[,s]=p.useState({});p.useEffect(()=>s({}),[]);const i=et(),l=Ye();Z(()=>{if(!o)return;const u=o.ownerDocument,f=t?i??u.body:u.body;if(!f)return;n.current=u.createElement("div"),n.current.className=J,f.appendChild(n.current),s({});const y=n.current;return()=>{f.contains(y)&&f.removeChild(y)}},[o]);const c=l!=null&&l.zIndex?d.jsx(rt,{zIndex:l==null?void 0:l.zIndex,children:r}):r;return n.current?xe.createPortal(d.jsx(ke,{value:n.current,children:c}),n.current):d.jsx("span",{ref:u=>{u&&a(u)}})},ot=e=>{const{children:t,containerRef:r,appendToParentPortal:o}=e,a=r.current,n=a??(typeof window<"u"?document.body:void 0),s=p.useMemo(()=>{const l=a==null?void 0:a.ownerDocument.createElement("div");return l&&(l.className=J),l},[a]),[,i]=p.useState({});return Z(()=>i({}),[]),Z(()=>{if(!(!s||!n))return n.appendChild(s),()=>{n.removeChild(s)}},[s,n]),n&&s?xe.createPortal(d.jsx(ke,{value:o?s:null,children:t}),s):null};function G(e){const t={appendToParentPortal:!0,...e},{containerRef:r,...o}=t;return r?d.jsx(ot,{containerRef:r,...o}):d.jsx(nt,{...o})}G.className=J;G.selector=tt;G.displayName="Portal";function m(e,t={}){let r=!1;function o(){if(!r){r=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function a(...u){o();for(const f of u)t[f]=l(f);return m(e,t)}function n(...u){for(const f of u)f in t||(t[f]=l(f));return m(e,t)}function s(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.selector]))}function i(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.className]))}function l(u){const g=`chakra-${(["container","root"].includes(u??"")?[e]:[e,u]).filter(Boolean).join("__")}`;return{className:g,selector:`.${g}`,toString:()=>u}}return{parts:a,toPart:l,extend:n,selectors:s,classnames:i,get keys(){return Object.keys(t)},__type:{}}}var Or=m("accordion").parts("root","container","button","panel").extend("icon"),zr=m("alert").parts("title","description","container").extend("icon","spinner"),Rr=m("avatar").parts("label","badge","container").extend("excessLabel","group"),Mr=m("breadcrumb").parts("link","item","container").extend("separator");m("button").parts();var Lr=m("checkbox").parts("control","icon","container").extend("label");m("progress").parts("track","filledTrack").extend("label");var Fr=m("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Hr=m("editable").parts("preview","input","textarea"),Wr=m("form").parts("container","requiredIndicator","helperText"),Br=m("formError").parts("text","icon"),Dr=m("input").parts("addon","field","element","group"),Gr=m("list").parts("container","item","icon"),at=m("menu").parts("button","list","item").extend("groupTitle","icon","command","divider"),Ur=m("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Vr=m("numberinput").parts("root","field","stepperGroup","stepper");m("pininput").parts("field");var Zr=m("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),qr=m("progress").parts("label","filledTrack","track"),Xr=m("radio").parts("container","control","label"),Jr=m("select").parts("field","icon"),Kr=m("slider").parts("container","track","thumb","filledTrack","mark"),Yr=m("stat").parts("container","label","helpText","number","icon"),Qr=m("switch").parts("container","track","thumb"),en=m("table").parts("table","thead","tbody","tr","th","td","tfoot","caption"),tn=m("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator"),rn=m("tag").parts("container","label","closeButton"),nn=m("card").parts("container","header","body","footer");function P(e,t){return r=>r.colorMode==="dark"?t:e}function on(e){const{orientation:t,vertical:r,horizontal:o}=e;return t?t==="vertical"?r:o:{}}var st=(e,t)=>e.find(r=>r.id===t);function re(e,t){const r=we(e,t),o=r?e[r].findIndex(a=>a.id===t):-1;return{position:r,index:o}}function we(e,t){for(const[r,o]of Object.entries(e))if(st(o,t))return r}function it(e){const t=e.includes("right"),r=e.includes("left");let o="center";return t&&(o="flex-end"),r&&(o="flex-start"),{display:"flex",flexDirection:"column",alignItems:o}}function lt(e){const r=e==="top"||e==="bottom"?"0 auto":void 0,o=e.includes("top")?"env(safe-area-inset-top, 0px)":void 0,a=e.includes("bottom")?"env(safe-area-inset-bottom, 0px)":void 0,n=e.includes("left")?void 0:"env(safe-area-inset-right, 0px)",s=e.includes("right")?void 0:"env(safe-area-inset-left, 0px)";return{position:"fixed",zIndex:"var(--toast-z-index, 5500)",pointerEvents:"none",display:"flex",flexDirection:"column",margin:r,top:o,bottom:a,right:n,left:s}}function ct(e,t=[]){const r=p.useRef(e);return p.useEffect(()=>{r.current=e}),p.useCallback((...o)=>{var a;return(a=r.current)==null?void 0:a.call(r,...o)},t)}function ut(e,t){const r=ct(e);p.useEffect(()=>{if(t==null)return;let o=null;return o=window.setTimeout(()=>{r()},t),()=>{o&&window.clearTimeout(o)}},[t,r])}function ne(e,t){const r=p.useRef(!1),o=p.useRef(!1);p.useEffect(()=>{if(r.current&&o.current)return e();o.current=!0},t),p.useEffect(()=>(r.current=!0,()=>{r.current=!1}),[])}var dt={initial:e=>{const{position:t}=e,r=["top","bottom"].includes(t)?"y":"x";let o=["top-right","bottom-right"].includes(t)?1:-1;return t==="bottom"&&(o=1),{opacity:0,[r]:o*24}},animate:{opacity:1,y:0,x:0,scale:1,transition:{duration:.4,ease:[.4,0,.2,1]}},exit:{opacity:0,scale:.85,transition:{duration:.2,ease:[.4,0,1,1]}}},Pe=p.memo(e=>{const{id:t,message:r,onCloseComplete:o,onRequestRemove:a,requestClose:n=!1,position:s="bottom",duration:i=5e3,containerStyle:l,motionVariants:c=dt,toastSpacing:u="0.5rem"}=e,[f,y]=p.useState(i),g=We();ne(()=>{g||o==null||o()},[g]),ne(()=>{y(i)},[i]);const h=()=>y(null),$=()=>y(i),S=()=>{g&&a()};p.useEffect(()=>{g&&n&&a()},[g,n,a]),ut(S,f);const H=p.useMemo(()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:u,...l}),[l,u]),N=p.useMemo(()=>it(s),[s]);return d.jsx(Be.div,{layout:!0,className:"chakra-toast",variants:c,initial:"initial",animate:"animate",exit:"exit",onHoverStart:h,onHoverEnd:$,custom:{position:s},style:N,children:d.jsx(j.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:H,children:q(r,{id:t,onClose:S})})})});Pe.displayName="ToastComponent";function ft(e,t){var r;const o=e??"bottom",n={"top-start":{ltr:"top-left",rtl:"top-right"},"top-end":{ltr:"top-right",rtl:"top-left"},"bottom-start":{ltr:"bottom-left",rtl:"bottom-right"},"bottom-end":{ltr:"bottom-right",rtl:"bottom-left"}}[o];return(r=n==null?void 0:n[t])!=null?r:o}var oe={path:d.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[d.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),d.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),d.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},L=z((e,t)=>{const{as:r,viewBox:o,color:a="currentColor",focusable:n=!1,children:s,className:i,__css:l,...c}=e,u=R("chakra-icon",i),f=_e("Icon",e),y={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:a,...l,...f},g={ref:t,focusable:n,className:u,__css:y},h=o??oe.viewBox;if(r&&typeof r!="string")return d.jsx(j.svg,{as:r,...g,...c});const $=s??oe.path;return d.jsx(j.svg,{verticalAlign:"middle",viewBox:h,...g,...c,children:$})});L.displayName="Icon";function pt(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm6.927,8.2-6.845,9.289a1.011,1.011,0,0,1-1.43.188L5.764,13.769a1,1,0,1,1,1.25-1.562l4.076,3.261,6.227-8.451A1,1,0,1,1,18.927,8.2Z"})})}function mt(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm.25,5a1.5,1.5,0,1,1-1.5,1.5A1.5,1.5,0,0,1,12.25,5ZM14.5,18.5h-4a1,1,0,0,1,0-2h.75a.25.25,0,0,0,.25-.25v-4.5a.25.25,0,0,0-.25-.25H10.5a1,1,0,0,1,0-2h1a2,2,0,0,1,2,2v4.75a.25.25,0,0,0,.25.25h.75a1,1,0,1,1,0,2Z"})})}function ae(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})}var[gt,K]=M({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[bt,Y]=M({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),Ae={info:{icon:mt,colorScheme:"blue"},warning:{icon:ae,colorScheme:"orange"},success:{icon:pt,colorScheme:"green"},error:{icon:ae,colorScheme:"red"},loading:{icon:De,colorScheme:"blue"}};function yt(e){return Ae[e].colorScheme}function vt(e){return Ae[e].icon}var je=z(function(t,r){const o=Y(),{status:a}=K(),n={display:"inline",...o.description};return d.jsx(j.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__desc",t.className),__css:n})});je.displayName="AlertDescription";function Ee(e){const{status:t}=K(),r=vt(t),o=Y(),a=t==="loading"?o.spinner:o.icon;return d.jsx(j.span,{display:"inherit","data-status":t,...e,className:R("chakra-alert__icon",e.className),__css:a,children:e.children||d.jsx(r,{h:"100%",w:"100%"})})}Ee.displayName="AlertIcon";var Ne=z(function(t,r){const o=Y(),{status:a}=K();return d.jsx(j.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__title",t.className),__css:o.title})});Ne.displayName="AlertTitle";var $e=z(function(t,r){var o;const{status:a="info",addRole:n=!0,...s}=Ce(t),i=(o=t.colorScheme)!=null?o:yt(a),l=Ge("Alert",{...t,colorScheme:i}),c={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...l.container};return d.jsx(gt,{value:{status:a},children:d.jsx(bt,{value:l,children:d.jsx(j.div,{"data-status":a,role:n?"alert":void 0,ref:r,...s,className:R("chakra-alert",t.className),__css:c})})})});$e.displayName="Alert";function ht(e){return d.jsx(L,{focusable:"false","aria-hidden":!0,...e,children:d.jsx("path",{fill:"currentColor",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"})})}var Te=z(function(t,r){const o=_e("CloseButton",t),{children:a,isDisabled:n,__css:s,...i}=Ce(t),l={outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0};return d.jsx(j.button,{type:"button","aria-label":"Close",ref:r,disabled:n,__css:{...l,...o,...s},...i,children:a||d.jsx(ht,{width:"1em",height:"1em"})})});Te.displayName="CloseButton";var St={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},C=xt(St);function xt(e){let t=e;const r=new Set,o=a=>{t=a(t),r.forEach(n=>n())};return{getState:()=>t,subscribe:a=>(r.add(a),()=>{o(()=>e),r.delete(a)}),removeToast:(a,n)=>{o(s=>({...s,[n]:s[n].filter(i=>i.id!=a)}))},notify:(a,n)=>{const s=_t(a,n),{position:i,id:l}=s;return o(c=>{var u,f;const g=i.includes("top")?[s,...(u=c[i])!=null?u:[]]:[...(f=c[i])!=null?f:[],s];return{...c,[i]:g}}),l},update:(a,n)=>{a&&o(s=>{const i={...s},{position:l,index:c}=re(i,a);return l&&c!==-1&&(i[l][c]={...i[l][c],...n,message:Ie(n)}),i})},closeAll:({positions:a}={})=>{o(n=>(a??["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce((l,c)=>(l[c]=n[c].map(u=>({...u,requestClose:!0})),l),{...n}))},close:a=>{o(n=>{const s=we(n,a);return s?{...n,[s]:n[s].map(i=>i.id==a?{...i,requestClose:!0}:i)}:n})},isActive:a=>!!re(C.getState(),a).position}}var se=0;function _t(e,t={}){var r,o;se+=1;const a=(r=t.id)!=null?r:se,n=(o=t.position)!=null?o:"bottom";return{id:a,message:e,position:n,duration:t.duration,onCloseComplete:t.onCloseComplete,onRequestRemove:()=>C.removeToast(String(a),n),status:t.status,requestClose:!1,containerStyle:t.containerStyle}}var Ct=e=>{const{status:t,variant:r="solid",id:o,title:a,isClosable:n,onClose:s,description:i,colorScheme:l,icon:c}=e,u=o?{root:`toast-${o}`,title:`toast-${o}-title`,description:`toast-${o}-description`}:void 0;return d.jsxs($e,{addRole:!1,status:t,variant:r,id:u==null?void 0:u.root,alignItems:"start",borderRadius:"md",boxShadow:"lg",paddingEnd:8,textAlign:"start",width:"auto",colorScheme:l,children:[d.jsx(Ee,{children:c}),d.jsxs(j.div,{flex:"1",maxWidth:"100%",children:[a&&d.jsx(Ne,{id:u==null?void 0:u.title,children:a}),i&&d.jsx(je,{id:u==null?void 0:u.description,display:"block",children:i})]}),n&&d.jsx(Te,{size:"sm",onClick:s,position:"absolute",insetEnd:1,top:1})]})};function Ie(e={}){const{render:t,toastComponent:r=Ct}=e;return a=>typeof t=="function"?t({...a,...e}):d.jsx(r,{...a,...e})}function an(e,t){const r=a=>{var n;return{...t,...a,position:ft((n=a==null?void 0:a.position)!=null?n:t==null?void 0:t.position,e)}},o=a=>{const n=r(a),s=Ie(n);return C.notify(s,n)};return o.update=(a,n)=>{C.update(a,r(n))},o.promise=(a,n)=>{const s=o({...n.loading,status:"loading",duration:null});a.then(i=>o.update(s,{status:"success",duration:5e3,...q(n.success,i)})).catch(i=>o.update(s,{status:"error",duration:5e3,...q(n.error,i)}))},o.closeAll=C.closeAll,o.close=C.close,o.isActive=C.isActive,o}var[sn,ln]=M({name:"ToastOptionsContext",strict:!1}),cn=e=>{const t=p.useSyncExternalStore(C.subscribe,C.getState,C.getState),{motionVariants:r,component:o=Pe,portalProps:a}=e,s=Object.keys(t).map(i=>{const l=t[i];return d.jsx("div",{role:"region","aria-live":"polite","aria-label":"Notifications",id:`chakra-toast-manager-${i}`,style:lt(i),children:d.jsx(Ue,{initial:!1,children:l.map(c=>d.jsx(o,{motionVariants:r,...c},c.id))})},i)});return d.jsx(G,{...a,children:s})};function kt(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),r=0;r()=>{if(e.isInitialized)t();else{const r=()=>{setTimeout(()=>{e.off("initialized",r)},0),t()};e.on("initialized",r)}};function le(e,t,r){e.loadNamespaces(t,Oe(e,r))}function ce(e,t,r,o){typeof r=="string"&&(r=[r]),r.forEach(a=>{e.options.ns.indexOf(a)<0&&e.options.ns.push(a)}),e.loadLanguages(t,Oe(e,o))}function wt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const o=t.languages[0],a=t.options?t.options.fallbackLng:!1,n=t.languages[t.languages.length-1];if(o.toLowerCase()==="cimode")return!0;const s=(i,l)=>{const c=t.services.backendConnector.state[`${i}|${l}`];return c===-1||c===2};return r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!s(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(o,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||s(o,e)&&(!a||s(n,e)))}function Pt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!t.languages||!t.languages.length?(X("i18n.languages were undefined or empty",t.languages),!0):t.options.ignoreJSONStructure!==void 0?t.hasLoadedNamespace(e,{lng:r.lng,precheck:(a,n)=>{if(r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&a.services.backendConnector.backend&&a.isLanguageChangingTo&&!n(a.isLanguageChangingTo,e))return!1}}):wt(e,t,r)}const At=p.createContext();class jt{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(r=>{this.usedNamespaces[r]||(this.usedNamespaces[r]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Et=(e,t)=>{const r=p.useRef();return p.useEffect(()=>{r.current=t?r.current:e},[e,t]),r.current};function un(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:r}=t,{i18n:o,defaultNS:a}=p.useContext(At)||{},n=r||o||Ze();if(n&&!n.reportNamespaces&&(n.reportNamespaces=new jt),!n){X("You will need to pass in an i18next instance by using initReactI18next");const v=(w,x)=>typeof x=="string"?x:x&&typeof x=="object"&&typeof x.defaultValue=="string"?x.defaultValue:Array.isArray(w)?w[w.length-1]:w,k=[v,{},!1];return k.t=v,k.i18n={},k.ready=!1,k}n.options.react&&n.options.react.wait!==void 0&&X("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...Ve(),...n.options.react,...t},{useSuspense:i,keyPrefix:l}=s;let c=e||a||n.options&&n.options.defaultNS;c=typeof c=="string"?[c]:c||["translation"],n.reportNamespaces.addUsedNamespaces&&n.reportNamespaces.addUsedNamespaces(c);const u=(n.isInitialized||n.initializedStoreOnce)&&c.every(v=>Pt(v,n,s));function f(){return n.getFixedT(t.lng||null,s.nsMode==="fallback"?c:c[0],l)}const[y,g]=p.useState(f);let h=c.join();t.lng&&(h=`${t.lng}${h}`);const $=Et(h),S=p.useRef(!0);p.useEffect(()=>{const{bindI18n:v,bindI18nStore:k}=s;S.current=!0,!u&&!i&&(t.lng?ce(n,t.lng,c,()=>{S.current&&g(f)}):le(n,c,()=>{S.current&&g(f)})),u&&$&&$!==h&&S.current&&g(f);function w(){S.current&&g(f)}return v&&n&&n.on(v,w),k&&n&&n.store.on(k,w),()=>{S.current=!1,v&&n&&v.split(" ").forEach(x=>n.off(x,w)),k&&n&&k.split(" ").forEach(x=>n.store.off(x,w))}},[n,h]);const H=p.useRef(!0);p.useEffect(()=>{S.current&&!H.current&&g(f),H.current=!1},[n,l]);const N=[y,n,u];if(N.t=y,N.i18n=n,N.ready=u,u||!u&&!i)return N;throw new Promise(v=>{t.lng?ce(n,t.lng,c,()=>v()):le(n,c,()=>v())})}const Nt={dark:["#C1C2C5","#A6A7AB","#909296","#5c5f66","#373A40","#2C2E33","#25262b","#1A1B1E","#141517","#101113"],gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]};function $t(e){return()=>({fontFamily:e.fontFamily||"sans-serif"})}var Tt=Object.defineProperty,ue=Object.getOwnPropertySymbols,It=Object.prototype.hasOwnProperty,Ot=Object.prototype.propertyIsEnumerable,de=(e,t,r)=>t in e?Tt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fe=(e,t)=>{for(var r in t||(t={}))It.call(t,r)&&de(e,r,t[r]);if(ue)for(var r of ue(t))Ot.call(t,r)&&de(e,r,t[r]);return e};function zt(e){return t=>({WebkitTapHighlightColor:"transparent",[t||"&:focus"]:fe({},e.focusRing==="always"||e.focusRing==="auto"?e.focusRingStyles.styles(e):e.focusRingStyles.resetStyles(e)),[t?t.replace(":focus",":focus:not(:focus-visible)"):"&:focus:not(:focus-visible)"]:fe({},e.focusRing==="auto"||e.focusRing==="never"?e.focusRingStyles.resetStyles(e):null)})}function F(e){return t=>typeof e.primaryShade=="number"?e.primaryShade:e.primaryShade[t||e.colorScheme]}function Q(e){const t=F(e);return(r,o,a=!0,n=!0)=>{if(typeof r=="string"&&r.includes(".")){const[i,l]=r.split("."),c=parseInt(l,10);if(i in e.colors&&c>=0&&c<10)return e.colors[i][typeof o=="number"&&!n?o:c]}const s=typeof o=="number"?o:t();return r in e.colors?e.colors[r][s]:a?e.colors[e.primaryColor][s]:r}}function ze(e){let t="";for(let r=1;r{const a={from:(o==null?void 0:o.from)||e.defaultGradient.from,to:(o==null?void 0:o.to)||e.defaultGradient.to,deg:(o==null?void 0:o.deg)||e.defaultGradient.deg};return`linear-gradient(${a.deg}deg, ${t(a.from,r(),!1)} 0%, ${t(a.to,r(),!1)} 100%)`}}function Me(e){return t=>{if(typeof t=="number")return`${t/16}${e}`;if(typeof t=="string"){const r=t.replace("px","");if(!Number.isNaN(Number(r)))return`${Number(r)/16}${e}`}return t}}const E=Me("rem"),U=Me("em");function Le({size:e,sizes:t,units:r}){return e in t?t[e]:typeof e=="number"?r==="em"?U(e):E(e):e||t.md}function W(e){return typeof e=="number"?e:typeof e=="string"&&e.includes("rem")?Number(e.replace("rem",""))*16:typeof e=="string"&&e.includes("em")?Number(e.replace("em",""))*16:Number(e)}function Lt(e){return t=>`@media (min-width: ${U(W(Le({size:t,sizes:e.breakpoints})))})`}function Ft(e){return t=>`@media (max-width: ${U(W(Le({size:t,sizes:e.breakpoints}))-1)})`}function Ht(e){return/^#?([0-9A-F]{3}){1,2}$/i.test(e)}function Wt(e){let t=e.replace("#","");if(t.length===3){const s=t.split("");t=[s[0],s[0],s[1],s[1],s[2],s[2]].join("")}const r=parseInt(t,16),o=r>>16&255,a=r>>8&255,n=r&255;return{r:o,g:a,b:n,a:1}}function Bt(e){const[t,r,o,a]=e.replace(/[^0-9,.]/g,"").split(",").map(Number);return{r:t,g:r,b:o,a:a||1}}function ee(e){return Ht(e)?Wt(e):e.startsWith("rgb")?Bt(e):{r:0,g:0,b:0,a:1}}function T(e,t){if(typeof e!="string"||t>1||t<0)return"rgba(0, 0, 0, 1)";if(e.startsWith("var(--"))return e;const{r,g:o,b:a}=ee(e);return`rgba(${r}, ${o}, ${a}, ${t})`}function Dt(e=0){return{position:"absolute",top:E(e),right:E(e),left:E(e),bottom:E(e)}}function Gt(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=1-t,i=l=>Math.round(l*s);return`rgba(${i(r)}, ${i(o)}, ${i(a)}, ${n})`}function Ut(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=i=>Math.round(i+(255-i)*t);return`rgba(${s(r)}, ${s(o)}, ${s(a)}, ${n})`}function Vt(e){return t=>{if(typeof t=="number")return E(t);const r=typeof e.defaultRadius=="number"?e.defaultRadius:e.radius[e.defaultRadius]||e.defaultRadius;return e.radius[t]||t||r}}function Zt(e,t){if(typeof e=="string"&&e.includes(".")){const[r,o]=e.split("."),a=parseInt(o,10);if(r in t.colors&&a>=0&&a<10)return{isSplittedColor:!0,key:r,shade:a}}return{isSplittedColor:!1}}function qt(e){const t=Q(e),r=F(e),o=Re(e);return({variant:a,color:n,gradient:s,primaryFallback:i})=>{const l=Zt(n,e);switch(a){case"light":return{border:"transparent",background:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1),color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?7:1,i,!1),e.colorScheme==="dark"?.25:.65)};case"subtle":return{border:"transparent",background:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1)};case"outline":return{border:t(n,e.colorScheme==="dark"?5:r("light")),background:"transparent",color:t(n,e.colorScheme==="dark"?5:r("light")),hover:e.colorScheme==="dark"?T(t(n,5,i,!1),.05):T(t(n,0,i,!1),.35)};case"default":return{border:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4],background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,color:e.colorScheme==="dark"?e.white:e.black,hover:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[0]};case"white":return{border:"transparent",background:e.white,color:t(n,r()),hover:null};case"transparent":return{border:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),background:"transparent",hover:null};case"gradient":return{background:o(s),color:e.white,border:"transparent",hover:null};default:{const c=r(),u=l.isSplittedColor?l.shade:c,f=l.isSplittedColor?l.key:n;return{border:"transparent",background:t(f,u,i),color:e.white,hover:t(f,u===9?8:u+1)}}}}}function Xt(e){return t=>{const r=F(e)(t);return e.colors[e.primaryColor][r]}}function Jt(e){return{"@media (hover: hover)":{"&:hover":e},"@media (hover: none)":{"&:active":e}}}function Kt(e){return()=>({userSelect:"none",color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]})}function Yt(e){return()=>e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6]}const b={fontStyles:$t,themeColor:Q,focusStyles:zt,linearGradient:Rt,radialGradient:Mt,smallerThan:Ft,largerThan:Lt,rgba:T,cover:Dt,darken:Gt,lighten:Ut,radius:Vt,variant:qt,primaryShade:F,hover:Jt,gradient:Re,primaryColor:Xt,placeholderStyles:Kt,dimmed:Yt};var Qt=Object.defineProperty,er=Object.defineProperties,tr=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,rr=Object.prototype.hasOwnProperty,nr=Object.prototype.propertyIsEnumerable,me=(e,t,r)=>t in e?Qt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,or=(e,t)=>{for(var r in t||(t={}))rr.call(t,r)&&me(e,r,t[r]);if(pe)for(var r of pe(t))nr.call(t,r)&&me(e,r,t[r]);return e},ar=(e,t)=>er(e,tr(t));function Fe(e){return ar(or({},e),{fn:{fontStyles:b.fontStyles(e),themeColor:b.themeColor(e),focusStyles:b.focusStyles(e),largerThan:b.largerThan(e),smallerThan:b.smallerThan(e),radialGradient:b.radialGradient,linearGradient:b.linearGradient,gradient:b.gradient(e),rgba:b.rgba,cover:b.cover,lighten:b.lighten,darken:b.darken,primaryShade:b.primaryShade(e),radius:b.radius(e),variant:b.variant(e),hover:b.hover,primaryColor:b.primaryColor(e),placeholderStyles:b.placeholderStyles(e),dimmed:b.dimmed(e)}})}const sr={dir:"ltr",primaryShade:{light:6,dark:8},focusRing:"auto",loader:"oval",colorScheme:"light",white:"#fff",black:"#000",defaultRadius:"sm",transitionTimingFunction:"ease",colors:Nt,lineHeight:1.55,fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontFamilyMonospace:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace",primaryColor:"blue",respectReducedMotion:!0,cursorType:"default",defaultGradient:{from:"indigo",to:"cyan",deg:45},shadows:{xs:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.1)",sm:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 0.625rem 0.9375rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.4375rem 0.4375rem -0.3125rem",md:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.25rem 1.5625rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.625rem 0.625rem -0.3125rem",lg:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.75rem 1.4375rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 0.75rem 0.75rem -0.4375rem",xl:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 2.25rem 1.75rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 1.0625rem 1.0625rem -0.4375rem"},fontSizes:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},radius:{xs:"0.125rem",sm:"0.25rem",md:"0.5rem",lg:"1rem",xl:"2rem"},spacing:{xs:"0.625rem",sm:"0.75rem",md:"1rem",lg:"1.25rem",xl:"1.5rem"},breakpoints:{xs:"36em",sm:"48em",md:"62em",lg:"75em",xl:"88em"},headings:{fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontWeight:700,sizes:{h1:{fontSize:"2.125rem",lineHeight:1.3,fontWeight:void 0},h2:{fontSize:"1.625rem",lineHeight:1.35,fontWeight:void 0},h3:{fontSize:"1.375rem",lineHeight:1.4,fontWeight:void 0},h4:{fontSize:"1.125rem",lineHeight:1.45,fontWeight:void 0},h5:{fontSize:"1rem",lineHeight:1.5,fontWeight:void 0},h6:{fontSize:"0.875rem",lineHeight:1.5,fontWeight:void 0}}},other:{},components:{},activeStyles:{transform:"translateY(0.0625rem)"},datesLocale:"en",globalStyles:void 0,focusRingStyles:{styles:e=>({outlineOffset:"0.125rem",outline:`0.125rem solid ${e.colors[e.primaryColor][e.colorScheme==="dark"?7:5]}`}),resetStyles:()=>({outline:"none"}),inputStyles:e=>({outline:"none",borderColor:e.colors[e.primaryColor][typeof e.primaryShade=="object"?e.primaryShade[e.colorScheme]:e.primaryShade]})}},te=Fe(sr);var ir=Object.defineProperty,lr=Object.defineProperties,cr=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,ur=Object.prototype.hasOwnProperty,dr=Object.prototype.propertyIsEnumerable,be=(e,t,r)=>t in e?ir(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fr=(e,t)=>{for(var r in t||(t={}))ur.call(t,r)&&be(e,r,t[r]);if(ge)for(var r of ge(t))dr.call(t,r)&&be(e,r,t[r]);return e},pr=(e,t)=>lr(e,cr(t));function mr({theme:e}){return A.createElement(D,{styles:{"*, *::before, *::after":{boxSizing:"border-box"},html:{colorScheme:e.colorScheme==="dark"?"dark":"light"},body:pr(fr({},e.fn.fontStyles()),{backgroundColor:e.colorScheme==="dark"?e.colors.dark[7]:e.white,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,lineHeight:e.lineHeight,fontSize:e.fontSizes.md,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"})}})}function I(e,t,r,o=E){Object.keys(t).forEach(a=>{e[`--mantine-${r}-${a}`]=o(t[a])})}function gr({theme:e}){const t={"--mantine-color-white":e.white,"--mantine-color-black":e.black,"--mantine-transition-timing-function":e.transitionTimingFunction,"--mantine-line-height":`${e.lineHeight}`,"--mantine-font-family":e.fontFamily,"--mantine-font-family-monospace":e.fontFamilyMonospace,"--mantine-font-family-headings":e.headings.fontFamily,"--mantine-heading-font-weight":`${e.headings.fontWeight}`};I(t,e.shadows,"shadow"),I(t,e.fontSizes,"font-size"),I(t,e.radius,"radius"),I(t,e.spacing,"spacing"),I(t,e.breakpoints,"breakpoints",U),Object.keys(e.colors).forEach(o=>{e.colors[o].forEach((a,n)=>{t[`--mantine-color-${o}-${n}`]=a})});const r=e.headings.sizes;return Object.keys(r).forEach(o=>{t[`--mantine-${o}-font-size`]=r[o].fontSize,t[`--mantine-${o}-line-height`]=`${r[o].lineHeight}`}),A.createElement(D,{styles:{":root":t}})}var br=Object.defineProperty,yr=Object.defineProperties,vr=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,hr=Object.prototype.hasOwnProperty,Sr=Object.prototype.propertyIsEnumerable,ve=(e,t,r)=>t in e?br(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_=(e,t)=>{for(var r in t||(t={}))hr.call(t,r)&&ve(e,r,t[r]);if(ye)for(var r of ye(t))Sr.call(t,r)&&ve(e,r,t[r]);return e},V=(e,t)=>yr(e,vr(t));function xr(e,t){var r;if(!t)return e;const o=Object.keys(e).reduce((a,n)=>{if(n==="headings"&&t.headings){const s=t.headings.sizes?Object.keys(e.headings.sizes).reduce((i,l)=>(i[l]=_(_({},e.headings.sizes[l]),t.headings.sizes[l]),i),{}):e.headings.sizes;return V(_({},a),{headings:V(_(_({},e.headings),t.headings),{sizes:s})})}if(n==="breakpoints"&&t.breakpoints){const s=_(_({},e.breakpoints),t.breakpoints);return V(_({},a),{breakpoints:Object.fromEntries(Object.entries(s).sort((i,l)=>W(i[1])-W(l[1])))})}return a[n]=typeof t[n]=="object"?_(_({},e[n]),t[n]):typeof t[n]=="number"||typeof t[n]=="boolean"||typeof t[n]=="function"?t[n]:t[n]||e[n],a},{});if(t!=null&&t.fontFamily&&!((r=t==null?void 0:t.headings)!=null&&r.fontFamily)&&(o.headings.fontFamily=t.fontFamily),!(o.primaryColor in o.colors))throw new Error("MantineProvider: Invalid theme.primaryColor, it accepts only key of theme.colors, learn more – https://mantine.dev/theming/colors/#primary-color");return o}function _r(e,t){return Fe(xr(e,t))}function Cr(e){return Object.keys(e).reduce((t,r)=>(e[r]!==void 0&&(t[r]=e[r]),t),{})}const kr={html:{fontFamily:"sans-serif",lineHeight:"1.15",textSizeAdjust:"100%"},body:{margin:0},"article, aside, footer, header, nav, section, figcaption, figure, main":{display:"block"},h1:{fontSize:"2em"},hr:{boxSizing:"content-box",height:0,overflow:"visible"},pre:{fontFamily:"monospace, monospace",fontSize:"1em"},a:{background:"transparent",textDecorationSkip:"objects"},"a:active, a:hover":{outlineWidth:0},"abbr[title]":{borderBottom:"none",textDecoration:"underline"},"b, strong":{fontWeight:"bolder"},"code, kbp, samp":{fontFamily:"monospace, monospace",fontSize:"1em"},dfn:{fontStyle:"italic"},mark:{backgroundColor:"#ff0",color:"#000"},small:{fontSize:"80%"},"sub, sup":{fontSize:"75%",lineHeight:0,position:"relative",verticalAlign:"baseline"},sup:{top:"-0.5em"},sub:{bottom:"-0.25em"},"audio, video":{display:"inline-block"},"audio:not([controls])":{display:"none",height:0},img:{borderStyle:"none",verticalAlign:"middle"},"svg:not(:root)":{overflow:"hidden"},"button, input, optgroup, select, textarea":{fontFamily:"sans-serif",fontSize:"100%",lineHeight:"1.15",margin:0},"button, input":{overflow:"visible"},"button, select":{textTransform:"none"},"button, [type=reset], [type=submit]":{WebkitAppearance:"button"},"button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner":{borderStyle:"none",padding:0},"button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring":{outline:`${E(1)} dotted ButtonText`},legend:{boxSizing:"border-box",color:"inherit",display:"table",maxWidth:"100%",padding:0,whiteSpace:"normal"},progress:{display:"inline-block",verticalAlign:"baseline"},textarea:{overflow:"auto"},"[type=checkbox], [type=radio]":{boxSizing:"border-box",padding:0},"[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button":{height:"auto"},"[type=search]":{appearance:"none"},"[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration":{appearance:"none"},"::-webkit-file-upload-button":{appearance:"button",font:"inherit"},"details, menu":{display:"block"},summary:{display:"list-item"},canvas:{display:"inline-block"},template:{display:"none"}};function wr(){return A.createElement(D,{styles:kr})}var Pr=Object.defineProperty,he=Object.getOwnPropertySymbols,Ar=Object.prototype.hasOwnProperty,jr=Object.prototype.propertyIsEnumerable,Se=(e,t,r)=>t in e?Pr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,O=(e,t)=>{for(var r in t||(t={}))Ar.call(t,r)&&Se(e,r,t[r]);if(he)for(var r of he(t))jr.call(t,r)&&Se(e,r,t[r]);return e};const B=p.createContext({theme:te});function He(){var e;return((e=p.useContext(B))==null?void 0:e.theme)||te}function dn(e){const t=He(),r=o=>{var a,n,s,i;return{styles:((a=t.components[o])==null?void 0:a.styles)||{},classNames:((n=t.components[o])==null?void 0:n.classNames)||{},variants:(s=t.components[o])==null?void 0:s.variants,sizes:(i=t.components[o])==null?void 0:i.sizes}};return Array.isArray(e)?e.map(r):[r(e)]}function fn(){var e;return(e=p.useContext(B))==null?void 0:e.emotionCache}function pn(e,t,r){var o;const a=He(),n=(o=a.components[e])==null?void 0:o.defaultProps,s=typeof n=="function"?n(a):n;return O(O(O({},t),s),Cr(r))}function Er({theme:e,emotionCache:t,withNormalizeCSS:r=!1,withGlobalStyles:o=!1,withCSSVariables:a=!1,inherit:n=!1,children:s}){const i=p.useContext(B),l=_r(te,n?O(O({},i.theme),e):e);return A.createElement(qe,{theme:l},A.createElement(B.Provider,{value:{theme:l,emotionCache:t}},r&&A.createElement(wr,null),o&&A.createElement(mr,{theme:l}),a&&A.createElement(gr,{theme:l}),typeof l.globalStyles=="function"&&A.createElement(D,{styles:l.globalStyles(l)}),s))}Er.displayName="@mantine/core/MantineProvider";const{definePartsStyle:Nr,defineMultiStyleConfig:$r}=Xe(at.keys),Tr=Nr(e=>({button:{fontWeight:500,bg:P("base.300","base.500")(e),color:P("base.900","base.100")(e),_hover:{bg:P("base.400","base.600")(e),color:P("base.900","base.50")(e),fontWeight:600}},list:{zIndex:9999,color:P("base.900","base.150")(e),bg:P("base.200","base.800")(e),shadow:"dark-lg",border:"none"},item:{fontSize:"sm",bg:P("base.200","base.800")(e),_hover:{bg:P("base.300","base.700")(e),svg:{opacity:1}},_focus:{bg:P("base.400","base.600")(e)},svg:{opacity:.7,fontSize:14}}})),mn=$r({variants:{invokeAI:Tr},defaultProps:{variant:"invokeAI"}}),gn={variants:{enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.07,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.07,easings:"easeOut"}}}};export{on as A,Yr as B,Te as C,Gr as D,at as E,Ur as F,Vr as G,Zr as H,L as I,Fr as J,Hr as K,Wr as L,Br as M,Mr as N,nn as O,G as P,Or as Q,zr as R,Rr as S,Qe as T,sn as U,cn as V,mn as W,Er as X,M as a,ct as b,an as c,ne as d,un as e,fn as f,He as g,dn as h,Cr as i,W as j,Le as k,pn as l,gn as m,P as n,tn as o,rn as p,Dr as q,E as r,Qr as s,en as t,ln as u,qr as v,Lr as w,Xr as x,Jr as y,Kr as z}; +import{A as p,B as d,a5 as Z,aJ as xe,gi as We,_ as Be,V as j,a8 as q,U as z,W as R,a2 as _e,a1 as De,a0 as Ce,$ as Ge,Z as Ue,gj as Ve,gk as Ze,ac as A,g7 as D,gf as qe,g9 as Xe}from"./index-dd054634.js";function Je(e,t){return`${e} returned \`undefined\`. Seems you forgot to wrap component within ${t}`}function M(e={}){const{name:t,strict:r=!0,hookName:o="useContext",providerName:a="Provider",errorMessage:n,defaultValue:s}=e,i=p.createContext(s);i.displayName=t;function l(){var c;const u=p.useContext(i);if(!u&&r){const f=new Error(n??Je(o,a));throw f.name="ContextError",(c=Error.captureStackTrace)==null||c.call(Error,f,l),f}return u}return[i.Provider,l,i]}var[Ke,Ye]=M({strict:!1,name:"PortalManagerContext"});function Qe(e){const{children:t,zIndex:r}=e;return d.jsx(Ke,{value:{zIndex:r},children:t})}Qe.displayName="PortalManager";var[ke,et]=M({strict:!1,name:"PortalContext"}),J="chakra-portal",tt=".chakra-portal",rt=e=>d.jsx("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0},children:e.children}),nt=e=>{const{appendToParentPortal:t,children:r}=e,[o,a]=p.useState(null),n=p.useRef(null),[,s]=p.useState({});p.useEffect(()=>s({}),[]);const i=et(),l=Ye();Z(()=>{if(!o)return;const u=o.ownerDocument,f=t?i??u.body:u.body;if(!f)return;n.current=u.createElement("div"),n.current.className=J,f.appendChild(n.current),s({});const y=n.current;return()=>{f.contains(y)&&f.removeChild(y)}},[o]);const c=l!=null&&l.zIndex?d.jsx(rt,{zIndex:l==null?void 0:l.zIndex,children:r}):r;return n.current?xe.createPortal(d.jsx(ke,{value:n.current,children:c}),n.current):d.jsx("span",{ref:u=>{u&&a(u)}})},ot=e=>{const{children:t,containerRef:r,appendToParentPortal:o}=e,a=r.current,n=a??(typeof window<"u"?document.body:void 0),s=p.useMemo(()=>{const l=a==null?void 0:a.ownerDocument.createElement("div");return l&&(l.className=J),l},[a]),[,i]=p.useState({});return Z(()=>i({}),[]),Z(()=>{if(!(!s||!n))return n.appendChild(s),()=>{n.removeChild(s)}},[s,n]),n&&s?xe.createPortal(d.jsx(ke,{value:o?s:null,children:t}),s):null};function G(e){const t={appendToParentPortal:!0,...e},{containerRef:r,...o}=t;return r?d.jsx(ot,{containerRef:r,...o}):d.jsx(nt,{...o})}G.className=J;G.selector=tt;G.displayName="Portal";function m(e,t={}){let r=!1;function o(){if(!r){r=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function a(...u){o();for(const f of u)t[f]=l(f);return m(e,t)}function n(...u){for(const f of u)f in t||(t[f]=l(f));return m(e,t)}function s(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.selector]))}function i(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.className]))}function l(u){const g=`chakra-${(["container","root"].includes(u??"")?[e]:[e,u]).filter(Boolean).join("__")}`;return{className:g,selector:`.${g}`,toString:()=>u}}return{parts:a,toPart:l,extend:n,selectors:s,classnames:i,get keys(){return Object.keys(t)},__type:{}}}var Or=m("accordion").parts("root","container","button","panel").extend("icon"),zr=m("alert").parts("title","description","container").extend("icon","spinner"),Rr=m("avatar").parts("label","badge","container").extend("excessLabel","group"),Mr=m("breadcrumb").parts("link","item","container").extend("separator");m("button").parts();var Lr=m("checkbox").parts("control","icon","container").extend("label");m("progress").parts("track","filledTrack").extend("label");var Fr=m("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Hr=m("editable").parts("preview","input","textarea"),Wr=m("form").parts("container","requiredIndicator","helperText"),Br=m("formError").parts("text","icon"),Dr=m("input").parts("addon","field","element","group"),Gr=m("list").parts("container","item","icon"),at=m("menu").parts("button","list","item").extend("groupTitle","icon","command","divider"),Ur=m("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Vr=m("numberinput").parts("root","field","stepperGroup","stepper");m("pininput").parts("field");var Zr=m("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),qr=m("progress").parts("label","filledTrack","track"),Xr=m("radio").parts("container","control","label"),Jr=m("select").parts("field","icon"),Kr=m("slider").parts("container","track","thumb","filledTrack","mark"),Yr=m("stat").parts("container","label","helpText","number","icon"),Qr=m("switch").parts("container","track","thumb"),en=m("table").parts("table","thead","tbody","tr","th","td","tfoot","caption"),tn=m("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator"),rn=m("tag").parts("container","label","closeButton"),nn=m("card").parts("container","header","body","footer");function P(e,t){return r=>r.colorMode==="dark"?t:e}function on(e){const{orientation:t,vertical:r,horizontal:o}=e;return t?t==="vertical"?r:o:{}}var st=(e,t)=>e.find(r=>r.id===t);function re(e,t){const r=we(e,t),o=r?e[r].findIndex(a=>a.id===t):-1;return{position:r,index:o}}function we(e,t){for(const[r,o]of Object.entries(e))if(st(o,t))return r}function it(e){const t=e.includes("right"),r=e.includes("left");let o="center";return t&&(o="flex-end"),r&&(o="flex-start"),{display:"flex",flexDirection:"column",alignItems:o}}function lt(e){const r=e==="top"||e==="bottom"?"0 auto":void 0,o=e.includes("top")?"env(safe-area-inset-top, 0px)":void 0,a=e.includes("bottom")?"env(safe-area-inset-bottom, 0px)":void 0,n=e.includes("left")?void 0:"env(safe-area-inset-right, 0px)",s=e.includes("right")?void 0:"env(safe-area-inset-left, 0px)";return{position:"fixed",zIndex:"var(--toast-z-index, 5500)",pointerEvents:"none",display:"flex",flexDirection:"column",margin:r,top:o,bottom:a,right:n,left:s}}function ct(e,t=[]){const r=p.useRef(e);return p.useEffect(()=>{r.current=e}),p.useCallback((...o)=>{var a;return(a=r.current)==null?void 0:a.call(r,...o)},t)}function ut(e,t){const r=ct(e);p.useEffect(()=>{if(t==null)return;let o=null;return o=window.setTimeout(()=>{r()},t),()=>{o&&window.clearTimeout(o)}},[t,r])}function ne(e,t){const r=p.useRef(!1),o=p.useRef(!1);p.useEffect(()=>{if(r.current&&o.current)return e();o.current=!0},t),p.useEffect(()=>(r.current=!0,()=>{r.current=!1}),[])}var dt={initial:e=>{const{position:t}=e,r=["top","bottom"].includes(t)?"y":"x";let o=["top-right","bottom-right"].includes(t)?1:-1;return t==="bottom"&&(o=1),{opacity:0,[r]:o*24}},animate:{opacity:1,y:0,x:0,scale:1,transition:{duration:.4,ease:[.4,0,.2,1]}},exit:{opacity:0,scale:.85,transition:{duration:.2,ease:[.4,0,1,1]}}},Pe=p.memo(e=>{const{id:t,message:r,onCloseComplete:o,onRequestRemove:a,requestClose:n=!1,position:s="bottom",duration:i=5e3,containerStyle:l,motionVariants:c=dt,toastSpacing:u="0.5rem"}=e,[f,y]=p.useState(i),g=We();ne(()=>{g||o==null||o()},[g]),ne(()=>{y(i)},[i]);const h=()=>y(null),$=()=>y(i),S=()=>{g&&a()};p.useEffect(()=>{g&&n&&a()},[g,n,a]),ut(S,f);const H=p.useMemo(()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:u,...l}),[l,u]),N=p.useMemo(()=>it(s),[s]);return d.jsx(Be.div,{layout:!0,className:"chakra-toast",variants:c,initial:"initial",animate:"animate",exit:"exit",onHoverStart:h,onHoverEnd:$,custom:{position:s},style:N,children:d.jsx(j.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:H,children:q(r,{id:t,onClose:S})})})});Pe.displayName="ToastComponent";function ft(e,t){var r;const o=e??"bottom",n={"top-start":{ltr:"top-left",rtl:"top-right"},"top-end":{ltr:"top-right",rtl:"top-left"},"bottom-start":{ltr:"bottom-left",rtl:"bottom-right"},"bottom-end":{ltr:"bottom-right",rtl:"bottom-left"}}[o];return(r=n==null?void 0:n[t])!=null?r:o}var oe={path:d.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[d.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),d.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),d.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},L=z((e,t)=>{const{as:r,viewBox:o,color:a="currentColor",focusable:n=!1,children:s,className:i,__css:l,...c}=e,u=R("chakra-icon",i),f=_e("Icon",e),y={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:a,...l,...f},g={ref:t,focusable:n,className:u,__css:y},h=o??oe.viewBox;if(r&&typeof r!="string")return d.jsx(j.svg,{as:r,...g,...c});const $=s??oe.path;return d.jsx(j.svg,{verticalAlign:"middle",viewBox:h,...g,...c,children:$})});L.displayName="Icon";function pt(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm6.927,8.2-6.845,9.289a1.011,1.011,0,0,1-1.43.188L5.764,13.769a1,1,0,1,1,1.25-1.562l4.076,3.261,6.227-8.451A1,1,0,1,1,18.927,8.2Z"})})}function mt(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm.25,5a1.5,1.5,0,1,1-1.5,1.5A1.5,1.5,0,0,1,12.25,5ZM14.5,18.5h-4a1,1,0,0,1,0-2h.75a.25.25,0,0,0,.25-.25v-4.5a.25.25,0,0,0-.25-.25H10.5a1,1,0,0,1,0-2h1a2,2,0,0,1,2,2v4.75a.25.25,0,0,0,.25.25h.75a1,1,0,1,1,0,2Z"})})}function ae(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})}var[gt,K]=M({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[bt,Y]=M({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),Ae={info:{icon:mt,colorScheme:"blue"},warning:{icon:ae,colorScheme:"orange"},success:{icon:pt,colorScheme:"green"},error:{icon:ae,colorScheme:"red"},loading:{icon:De,colorScheme:"blue"}};function yt(e){return Ae[e].colorScheme}function vt(e){return Ae[e].icon}var je=z(function(t,r){const o=Y(),{status:a}=K(),n={display:"inline",...o.description};return d.jsx(j.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__desc",t.className),__css:n})});je.displayName="AlertDescription";function Ee(e){const{status:t}=K(),r=vt(t),o=Y(),a=t==="loading"?o.spinner:o.icon;return d.jsx(j.span,{display:"inherit","data-status":t,...e,className:R("chakra-alert__icon",e.className),__css:a,children:e.children||d.jsx(r,{h:"100%",w:"100%"})})}Ee.displayName="AlertIcon";var Ne=z(function(t,r){const o=Y(),{status:a}=K();return d.jsx(j.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__title",t.className),__css:o.title})});Ne.displayName="AlertTitle";var $e=z(function(t,r){var o;const{status:a="info",addRole:n=!0,...s}=Ce(t),i=(o=t.colorScheme)!=null?o:yt(a),l=Ge("Alert",{...t,colorScheme:i}),c={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...l.container};return d.jsx(gt,{value:{status:a},children:d.jsx(bt,{value:l,children:d.jsx(j.div,{"data-status":a,role:n?"alert":void 0,ref:r,...s,className:R("chakra-alert",t.className),__css:c})})})});$e.displayName="Alert";function ht(e){return d.jsx(L,{focusable:"false","aria-hidden":!0,...e,children:d.jsx("path",{fill:"currentColor",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"})})}var Te=z(function(t,r){const o=_e("CloseButton",t),{children:a,isDisabled:n,__css:s,...i}=Ce(t),l={outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0};return d.jsx(j.button,{type:"button","aria-label":"Close",ref:r,disabled:n,__css:{...l,...o,...s},...i,children:a||d.jsx(ht,{width:"1em",height:"1em"})})});Te.displayName="CloseButton";var St={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},C=xt(St);function xt(e){let t=e;const r=new Set,o=a=>{t=a(t),r.forEach(n=>n())};return{getState:()=>t,subscribe:a=>(r.add(a),()=>{o(()=>e),r.delete(a)}),removeToast:(a,n)=>{o(s=>({...s,[n]:s[n].filter(i=>i.id!=a)}))},notify:(a,n)=>{const s=_t(a,n),{position:i,id:l}=s;return o(c=>{var u,f;const g=i.includes("top")?[s,...(u=c[i])!=null?u:[]]:[...(f=c[i])!=null?f:[],s];return{...c,[i]:g}}),l},update:(a,n)=>{a&&o(s=>{const i={...s},{position:l,index:c}=re(i,a);return l&&c!==-1&&(i[l][c]={...i[l][c],...n,message:Ie(n)}),i})},closeAll:({positions:a}={})=>{o(n=>(a??["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce((l,c)=>(l[c]=n[c].map(u=>({...u,requestClose:!0})),l),{...n}))},close:a=>{o(n=>{const s=we(n,a);return s?{...n,[s]:n[s].map(i=>i.id==a?{...i,requestClose:!0}:i)}:n})},isActive:a=>!!re(C.getState(),a).position}}var se=0;function _t(e,t={}){var r,o;se+=1;const a=(r=t.id)!=null?r:se,n=(o=t.position)!=null?o:"bottom";return{id:a,message:e,position:n,duration:t.duration,onCloseComplete:t.onCloseComplete,onRequestRemove:()=>C.removeToast(String(a),n),status:t.status,requestClose:!1,containerStyle:t.containerStyle}}var Ct=e=>{const{status:t,variant:r="solid",id:o,title:a,isClosable:n,onClose:s,description:i,colorScheme:l,icon:c}=e,u=o?{root:`toast-${o}`,title:`toast-${o}-title`,description:`toast-${o}-description`}:void 0;return d.jsxs($e,{addRole:!1,status:t,variant:r,id:u==null?void 0:u.root,alignItems:"start",borderRadius:"md",boxShadow:"lg",paddingEnd:8,textAlign:"start",width:"auto",colorScheme:l,children:[d.jsx(Ee,{children:c}),d.jsxs(j.div,{flex:"1",maxWidth:"100%",children:[a&&d.jsx(Ne,{id:u==null?void 0:u.title,children:a}),i&&d.jsx(je,{id:u==null?void 0:u.description,display:"block",children:i})]}),n&&d.jsx(Te,{size:"sm",onClick:s,position:"absolute",insetEnd:1,top:1})]})};function Ie(e={}){const{render:t,toastComponent:r=Ct}=e;return a=>typeof t=="function"?t({...a,...e}):d.jsx(r,{...a,...e})}function an(e,t){const r=a=>{var n;return{...t,...a,position:ft((n=a==null?void 0:a.position)!=null?n:t==null?void 0:t.position,e)}},o=a=>{const n=r(a),s=Ie(n);return C.notify(s,n)};return o.update=(a,n)=>{C.update(a,r(n))},o.promise=(a,n)=>{const s=o({...n.loading,status:"loading",duration:null});a.then(i=>o.update(s,{status:"success",duration:5e3,...q(n.success,i)})).catch(i=>o.update(s,{status:"error",duration:5e3,...q(n.error,i)}))},o.closeAll=C.closeAll,o.close=C.close,o.isActive=C.isActive,o}var[sn,ln]=M({name:"ToastOptionsContext",strict:!1}),cn=e=>{const t=p.useSyncExternalStore(C.subscribe,C.getState,C.getState),{motionVariants:r,component:o=Pe,portalProps:a}=e,s=Object.keys(t).map(i=>{const l=t[i];return d.jsx("div",{role:"region","aria-live":"polite","aria-label":"Notifications",id:`chakra-toast-manager-${i}`,style:lt(i),children:d.jsx(Ue,{initial:!1,children:l.map(c=>d.jsx(o,{motionVariants:r,...c},c.id))})},i)});return d.jsx(G,{...a,children:s})};function kt(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),r=0;r()=>{if(e.isInitialized)t();else{const r=()=>{setTimeout(()=>{e.off("initialized",r)},0),t()};e.on("initialized",r)}};function le(e,t,r){e.loadNamespaces(t,Oe(e,r))}function ce(e,t,r,o){typeof r=="string"&&(r=[r]),r.forEach(a=>{e.options.ns.indexOf(a)<0&&e.options.ns.push(a)}),e.loadLanguages(t,Oe(e,o))}function wt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const o=t.languages[0],a=t.options?t.options.fallbackLng:!1,n=t.languages[t.languages.length-1];if(o.toLowerCase()==="cimode")return!0;const s=(i,l)=>{const c=t.services.backendConnector.state[`${i}|${l}`];return c===-1||c===2};return r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!s(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(o,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||s(o,e)&&(!a||s(n,e)))}function Pt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!t.languages||!t.languages.length?(X("i18n.languages were undefined or empty",t.languages),!0):t.options.ignoreJSONStructure!==void 0?t.hasLoadedNamespace(e,{lng:r.lng,precheck:(a,n)=>{if(r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&a.services.backendConnector.backend&&a.isLanguageChangingTo&&!n(a.isLanguageChangingTo,e))return!1}}):wt(e,t,r)}const At=p.createContext();class jt{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(r=>{this.usedNamespaces[r]||(this.usedNamespaces[r]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Et=(e,t)=>{const r=p.useRef();return p.useEffect(()=>{r.current=t?r.current:e},[e,t]),r.current};function un(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:r}=t,{i18n:o,defaultNS:a}=p.useContext(At)||{},n=r||o||Ze();if(n&&!n.reportNamespaces&&(n.reportNamespaces=new jt),!n){X("You will need to pass in an i18next instance by using initReactI18next");const v=(w,x)=>typeof x=="string"?x:x&&typeof x=="object"&&typeof x.defaultValue=="string"?x.defaultValue:Array.isArray(w)?w[w.length-1]:w,k=[v,{},!1];return k.t=v,k.i18n={},k.ready=!1,k}n.options.react&&n.options.react.wait!==void 0&&X("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...Ve(),...n.options.react,...t},{useSuspense:i,keyPrefix:l}=s;let c=e||a||n.options&&n.options.defaultNS;c=typeof c=="string"?[c]:c||["translation"],n.reportNamespaces.addUsedNamespaces&&n.reportNamespaces.addUsedNamespaces(c);const u=(n.isInitialized||n.initializedStoreOnce)&&c.every(v=>Pt(v,n,s));function f(){return n.getFixedT(t.lng||null,s.nsMode==="fallback"?c:c[0],l)}const[y,g]=p.useState(f);let h=c.join();t.lng&&(h=`${t.lng}${h}`);const $=Et(h),S=p.useRef(!0);p.useEffect(()=>{const{bindI18n:v,bindI18nStore:k}=s;S.current=!0,!u&&!i&&(t.lng?ce(n,t.lng,c,()=>{S.current&&g(f)}):le(n,c,()=>{S.current&&g(f)})),u&&$&&$!==h&&S.current&&g(f);function w(){S.current&&g(f)}return v&&n&&n.on(v,w),k&&n&&n.store.on(k,w),()=>{S.current=!1,v&&n&&v.split(" ").forEach(x=>n.off(x,w)),k&&n&&k.split(" ").forEach(x=>n.store.off(x,w))}},[n,h]);const H=p.useRef(!0);p.useEffect(()=>{S.current&&!H.current&&g(f),H.current=!1},[n,l]);const N=[y,n,u];if(N.t=y,N.i18n=n,N.ready=u,u||!u&&!i)return N;throw new Promise(v=>{t.lng?ce(n,t.lng,c,()=>v()):le(n,c,()=>v())})}const Nt={dark:["#C1C2C5","#A6A7AB","#909296","#5c5f66","#373A40","#2C2E33","#25262b","#1A1B1E","#141517","#101113"],gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]};function $t(e){return()=>({fontFamily:e.fontFamily||"sans-serif"})}var Tt=Object.defineProperty,ue=Object.getOwnPropertySymbols,It=Object.prototype.hasOwnProperty,Ot=Object.prototype.propertyIsEnumerable,de=(e,t,r)=>t in e?Tt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fe=(e,t)=>{for(var r in t||(t={}))It.call(t,r)&&de(e,r,t[r]);if(ue)for(var r of ue(t))Ot.call(t,r)&&de(e,r,t[r]);return e};function zt(e){return t=>({WebkitTapHighlightColor:"transparent",[t||"&:focus"]:fe({},e.focusRing==="always"||e.focusRing==="auto"?e.focusRingStyles.styles(e):e.focusRingStyles.resetStyles(e)),[t?t.replace(":focus",":focus:not(:focus-visible)"):"&:focus:not(:focus-visible)"]:fe({},e.focusRing==="auto"||e.focusRing==="never"?e.focusRingStyles.resetStyles(e):null)})}function F(e){return t=>typeof e.primaryShade=="number"?e.primaryShade:e.primaryShade[t||e.colorScheme]}function Q(e){const t=F(e);return(r,o,a=!0,n=!0)=>{if(typeof r=="string"&&r.includes(".")){const[i,l]=r.split("."),c=parseInt(l,10);if(i in e.colors&&c>=0&&c<10)return e.colors[i][typeof o=="number"&&!n?o:c]}const s=typeof o=="number"?o:t();return r in e.colors?e.colors[r][s]:a?e.colors[e.primaryColor][s]:r}}function ze(e){let t="";for(let r=1;r{const a={from:(o==null?void 0:o.from)||e.defaultGradient.from,to:(o==null?void 0:o.to)||e.defaultGradient.to,deg:(o==null?void 0:o.deg)||e.defaultGradient.deg};return`linear-gradient(${a.deg}deg, ${t(a.from,r(),!1)} 0%, ${t(a.to,r(),!1)} 100%)`}}function Me(e){return t=>{if(typeof t=="number")return`${t/16}${e}`;if(typeof t=="string"){const r=t.replace("px","");if(!Number.isNaN(Number(r)))return`${Number(r)/16}${e}`}return t}}const E=Me("rem"),U=Me("em");function Le({size:e,sizes:t,units:r}){return e in t?t[e]:typeof e=="number"?r==="em"?U(e):E(e):e||t.md}function W(e){return typeof e=="number"?e:typeof e=="string"&&e.includes("rem")?Number(e.replace("rem",""))*16:typeof e=="string"&&e.includes("em")?Number(e.replace("em",""))*16:Number(e)}function Lt(e){return t=>`@media (min-width: ${U(W(Le({size:t,sizes:e.breakpoints})))})`}function Ft(e){return t=>`@media (max-width: ${U(W(Le({size:t,sizes:e.breakpoints}))-1)})`}function Ht(e){return/^#?([0-9A-F]{3}){1,2}$/i.test(e)}function Wt(e){let t=e.replace("#","");if(t.length===3){const s=t.split("");t=[s[0],s[0],s[1],s[1],s[2],s[2]].join("")}const r=parseInt(t,16),o=r>>16&255,a=r>>8&255,n=r&255;return{r:o,g:a,b:n,a:1}}function Bt(e){const[t,r,o,a]=e.replace(/[^0-9,.]/g,"").split(",").map(Number);return{r:t,g:r,b:o,a:a||1}}function ee(e){return Ht(e)?Wt(e):e.startsWith("rgb")?Bt(e):{r:0,g:0,b:0,a:1}}function T(e,t){if(typeof e!="string"||t>1||t<0)return"rgba(0, 0, 0, 1)";if(e.startsWith("var(--"))return e;const{r,g:o,b:a}=ee(e);return`rgba(${r}, ${o}, ${a}, ${t})`}function Dt(e=0){return{position:"absolute",top:E(e),right:E(e),left:E(e),bottom:E(e)}}function Gt(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=1-t,i=l=>Math.round(l*s);return`rgba(${i(r)}, ${i(o)}, ${i(a)}, ${n})`}function Ut(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=i=>Math.round(i+(255-i)*t);return`rgba(${s(r)}, ${s(o)}, ${s(a)}, ${n})`}function Vt(e){return t=>{if(typeof t=="number")return E(t);const r=typeof e.defaultRadius=="number"?e.defaultRadius:e.radius[e.defaultRadius]||e.defaultRadius;return e.radius[t]||t||r}}function Zt(e,t){if(typeof e=="string"&&e.includes(".")){const[r,o]=e.split("."),a=parseInt(o,10);if(r in t.colors&&a>=0&&a<10)return{isSplittedColor:!0,key:r,shade:a}}return{isSplittedColor:!1}}function qt(e){const t=Q(e),r=F(e),o=Re(e);return({variant:a,color:n,gradient:s,primaryFallback:i})=>{const l=Zt(n,e);switch(a){case"light":return{border:"transparent",background:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1),color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?7:1,i,!1),e.colorScheme==="dark"?.25:.65)};case"subtle":return{border:"transparent",background:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1)};case"outline":return{border:t(n,e.colorScheme==="dark"?5:r("light")),background:"transparent",color:t(n,e.colorScheme==="dark"?5:r("light")),hover:e.colorScheme==="dark"?T(t(n,5,i,!1),.05):T(t(n,0,i,!1),.35)};case"default":return{border:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4],background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,color:e.colorScheme==="dark"?e.white:e.black,hover:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[0]};case"white":return{border:"transparent",background:e.white,color:t(n,r()),hover:null};case"transparent":return{border:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),background:"transparent",hover:null};case"gradient":return{background:o(s),color:e.white,border:"transparent",hover:null};default:{const c=r(),u=l.isSplittedColor?l.shade:c,f=l.isSplittedColor?l.key:n;return{border:"transparent",background:t(f,u,i),color:e.white,hover:t(f,u===9?8:u+1)}}}}}function Xt(e){return t=>{const r=F(e)(t);return e.colors[e.primaryColor][r]}}function Jt(e){return{"@media (hover: hover)":{"&:hover":e},"@media (hover: none)":{"&:active":e}}}function Kt(e){return()=>({userSelect:"none",color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]})}function Yt(e){return()=>e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6]}const b={fontStyles:$t,themeColor:Q,focusStyles:zt,linearGradient:Rt,radialGradient:Mt,smallerThan:Ft,largerThan:Lt,rgba:T,cover:Dt,darken:Gt,lighten:Ut,radius:Vt,variant:qt,primaryShade:F,hover:Jt,gradient:Re,primaryColor:Xt,placeholderStyles:Kt,dimmed:Yt};var Qt=Object.defineProperty,er=Object.defineProperties,tr=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,rr=Object.prototype.hasOwnProperty,nr=Object.prototype.propertyIsEnumerable,me=(e,t,r)=>t in e?Qt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,or=(e,t)=>{for(var r in t||(t={}))rr.call(t,r)&&me(e,r,t[r]);if(pe)for(var r of pe(t))nr.call(t,r)&&me(e,r,t[r]);return e},ar=(e,t)=>er(e,tr(t));function Fe(e){return ar(or({},e),{fn:{fontStyles:b.fontStyles(e),themeColor:b.themeColor(e),focusStyles:b.focusStyles(e),largerThan:b.largerThan(e),smallerThan:b.smallerThan(e),radialGradient:b.radialGradient,linearGradient:b.linearGradient,gradient:b.gradient(e),rgba:b.rgba,cover:b.cover,lighten:b.lighten,darken:b.darken,primaryShade:b.primaryShade(e),radius:b.radius(e),variant:b.variant(e),hover:b.hover,primaryColor:b.primaryColor(e),placeholderStyles:b.placeholderStyles(e),dimmed:b.dimmed(e)}})}const sr={dir:"ltr",primaryShade:{light:6,dark:8},focusRing:"auto",loader:"oval",colorScheme:"light",white:"#fff",black:"#000",defaultRadius:"sm",transitionTimingFunction:"ease",colors:Nt,lineHeight:1.55,fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontFamilyMonospace:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace",primaryColor:"blue",respectReducedMotion:!0,cursorType:"default",defaultGradient:{from:"indigo",to:"cyan",deg:45},shadows:{xs:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.1)",sm:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 0.625rem 0.9375rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.4375rem 0.4375rem -0.3125rem",md:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.25rem 1.5625rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.625rem 0.625rem -0.3125rem",lg:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.75rem 1.4375rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 0.75rem 0.75rem -0.4375rem",xl:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 2.25rem 1.75rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 1.0625rem 1.0625rem -0.4375rem"},fontSizes:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},radius:{xs:"0.125rem",sm:"0.25rem",md:"0.5rem",lg:"1rem",xl:"2rem"},spacing:{xs:"0.625rem",sm:"0.75rem",md:"1rem",lg:"1.25rem",xl:"1.5rem"},breakpoints:{xs:"36em",sm:"48em",md:"62em",lg:"75em",xl:"88em"},headings:{fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontWeight:700,sizes:{h1:{fontSize:"2.125rem",lineHeight:1.3,fontWeight:void 0},h2:{fontSize:"1.625rem",lineHeight:1.35,fontWeight:void 0},h3:{fontSize:"1.375rem",lineHeight:1.4,fontWeight:void 0},h4:{fontSize:"1.125rem",lineHeight:1.45,fontWeight:void 0},h5:{fontSize:"1rem",lineHeight:1.5,fontWeight:void 0},h6:{fontSize:"0.875rem",lineHeight:1.5,fontWeight:void 0}}},other:{},components:{},activeStyles:{transform:"translateY(0.0625rem)"},datesLocale:"en",globalStyles:void 0,focusRingStyles:{styles:e=>({outlineOffset:"0.125rem",outline:`0.125rem solid ${e.colors[e.primaryColor][e.colorScheme==="dark"?7:5]}`}),resetStyles:()=>({outline:"none"}),inputStyles:e=>({outline:"none",borderColor:e.colors[e.primaryColor][typeof e.primaryShade=="object"?e.primaryShade[e.colorScheme]:e.primaryShade]})}},te=Fe(sr);var ir=Object.defineProperty,lr=Object.defineProperties,cr=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,ur=Object.prototype.hasOwnProperty,dr=Object.prototype.propertyIsEnumerable,be=(e,t,r)=>t in e?ir(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fr=(e,t)=>{for(var r in t||(t={}))ur.call(t,r)&&be(e,r,t[r]);if(ge)for(var r of ge(t))dr.call(t,r)&&be(e,r,t[r]);return e},pr=(e,t)=>lr(e,cr(t));function mr({theme:e}){return A.createElement(D,{styles:{"*, *::before, *::after":{boxSizing:"border-box"},html:{colorScheme:e.colorScheme==="dark"?"dark":"light"},body:pr(fr({},e.fn.fontStyles()),{backgroundColor:e.colorScheme==="dark"?e.colors.dark[7]:e.white,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,lineHeight:e.lineHeight,fontSize:e.fontSizes.md,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"})}})}function I(e,t,r,o=E){Object.keys(t).forEach(a=>{e[`--mantine-${r}-${a}`]=o(t[a])})}function gr({theme:e}){const t={"--mantine-color-white":e.white,"--mantine-color-black":e.black,"--mantine-transition-timing-function":e.transitionTimingFunction,"--mantine-line-height":`${e.lineHeight}`,"--mantine-font-family":e.fontFamily,"--mantine-font-family-monospace":e.fontFamilyMonospace,"--mantine-font-family-headings":e.headings.fontFamily,"--mantine-heading-font-weight":`${e.headings.fontWeight}`};I(t,e.shadows,"shadow"),I(t,e.fontSizes,"font-size"),I(t,e.radius,"radius"),I(t,e.spacing,"spacing"),I(t,e.breakpoints,"breakpoints",U),Object.keys(e.colors).forEach(o=>{e.colors[o].forEach((a,n)=>{t[`--mantine-color-${o}-${n}`]=a})});const r=e.headings.sizes;return Object.keys(r).forEach(o=>{t[`--mantine-${o}-font-size`]=r[o].fontSize,t[`--mantine-${o}-line-height`]=`${r[o].lineHeight}`}),A.createElement(D,{styles:{":root":t}})}var br=Object.defineProperty,yr=Object.defineProperties,vr=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,hr=Object.prototype.hasOwnProperty,Sr=Object.prototype.propertyIsEnumerable,ve=(e,t,r)=>t in e?br(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_=(e,t)=>{for(var r in t||(t={}))hr.call(t,r)&&ve(e,r,t[r]);if(ye)for(var r of ye(t))Sr.call(t,r)&&ve(e,r,t[r]);return e},V=(e,t)=>yr(e,vr(t));function xr(e,t){var r;if(!t)return e;const o=Object.keys(e).reduce((a,n)=>{if(n==="headings"&&t.headings){const s=t.headings.sizes?Object.keys(e.headings.sizes).reduce((i,l)=>(i[l]=_(_({},e.headings.sizes[l]),t.headings.sizes[l]),i),{}):e.headings.sizes;return V(_({},a),{headings:V(_(_({},e.headings),t.headings),{sizes:s})})}if(n==="breakpoints"&&t.breakpoints){const s=_(_({},e.breakpoints),t.breakpoints);return V(_({},a),{breakpoints:Object.fromEntries(Object.entries(s).sort((i,l)=>W(i[1])-W(l[1])))})}return a[n]=typeof t[n]=="object"?_(_({},e[n]),t[n]):typeof t[n]=="number"||typeof t[n]=="boolean"||typeof t[n]=="function"?t[n]:t[n]||e[n],a},{});if(t!=null&&t.fontFamily&&!((r=t==null?void 0:t.headings)!=null&&r.fontFamily)&&(o.headings.fontFamily=t.fontFamily),!(o.primaryColor in o.colors))throw new Error("MantineProvider: Invalid theme.primaryColor, it accepts only key of theme.colors, learn more – https://mantine.dev/theming/colors/#primary-color");return o}function _r(e,t){return Fe(xr(e,t))}function Cr(e){return Object.keys(e).reduce((t,r)=>(e[r]!==void 0&&(t[r]=e[r]),t),{})}const kr={html:{fontFamily:"sans-serif",lineHeight:"1.15",textSizeAdjust:"100%"},body:{margin:0},"article, aside, footer, header, nav, section, figcaption, figure, main":{display:"block"},h1:{fontSize:"2em"},hr:{boxSizing:"content-box",height:0,overflow:"visible"},pre:{fontFamily:"monospace, monospace",fontSize:"1em"},a:{background:"transparent",textDecorationSkip:"objects"},"a:active, a:hover":{outlineWidth:0},"abbr[title]":{borderBottom:"none",textDecoration:"underline"},"b, strong":{fontWeight:"bolder"},"code, kbp, samp":{fontFamily:"monospace, monospace",fontSize:"1em"},dfn:{fontStyle:"italic"},mark:{backgroundColor:"#ff0",color:"#000"},small:{fontSize:"80%"},"sub, sup":{fontSize:"75%",lineHeight:0,position:"relative",verticalAlign:"baseline"},sup:{top:"-0.5em"},sub:{bottom:"-0.25em"},"audio, video":{display:"inline-block"},"audio:not([controls])":{display:"none",height:0},img:{borderStyle:"none",verticalAlign:"middle"},"svg:not(:root)":{overflow:"hidden"},"button, input, optgroup, select, textarea":{fontFamily:"sans-serif",fontSize:"100%",lineHeight:"1.15",margin:0},"button, input":{overflow:"visible"},"button, select":{textTransform:"none"},"button, [type=reset], [type=submit]":{WebkitAppearance:"button"},"button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner":{borderStyle:"none",padding:0},"button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring":{outline:`${E(1)} dotted ButtonText`},legend:{boxSizing:"border-box",color:"inherit",display:"table",maxWidth:"100%",padding:0,whiteSpace:"normal"},progress:{display:"inline-block",verticalAlign:"baseline"},textarea:{overflow:"auto"},"[type=checkbox], [type=radio]":{boxSizing:"border-box",padding:0},"[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button":{height:"auto"},"[type=search]":{appearance:"none"},"[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration":{appearance:"none"},"::-webkit-file-upload-button":{appearance:"button",font:"inherit"},"details, menu":{display:"block"},summary:{display:"list-item"},canvas:{display:"inline-block"},template:{display:"none"}};function wr(){return A.createElement(D,{styles:kr})}var Pr=Object.defineProperty,he=Object.getOwnPropertySymbols,Ar=Object.prototype.hasOwnProperty,jr=Object.prototype.propertyIsEnumerable,Se=(e,t,r)=>t in e?Pr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,O=(e,t)=>{for(var r in t||(t={}))Ar.call(t,r)&&Se(e,r,t[r]);if(he)for(var r of he(t))jr.call(t,r)&&Se(e,r,t[r]);return e};const B=p.createContext({theme:te});function He(){var e;return((e=p.useContext(B))==null?void 0:e.theme)||te}function dn(e){const t=He(),r=o=>{var a,n,s,i;return{styles:((a=t.components[o])==null?void 0:a.styles)||{},classNames:((n=t.components[o])==null?void 0:n.classNames)||{},variants:(s=t.components[o])==null?void 0:s.variants,sizes:(i=t.components[o])==null?void 0:i.sizes}};return Array.isArray(e)?e.map(r):[r(e)]}function fn(){var e;return(e=p.useContext(B))==null?void 0:e.emotionCache}function pn(e,t,r){var o;const a=He(),n=(o=a.components[e])==null?void 0:o.defaultProps,s=typeof n=="function"?n(a):n;return O(O(O({},t),s),Cr(r))}function Er({theme:e,emotionCache:t,withNormalizeCSS:r=!1,withGlobalStyles:o=!1,withCSSVariables:a=!1,inherit:n=!1,children:s}){const i=p.useContext(B),l=_r(te,n?O(O({},i.theme),e):e);return A.createElement(qe,{theme:l},A.createElement(B.Provider,{value:{theme:l,emotionCache:t}},r&&A.createElement(wr,null),o&&A.createElement(mr,{theme:l}),a&&A.createElement(gr,{theme:l}),typeof l.globalStyles=="function"&&A.createElement(D,{styles:l.globalStyles(l)}),s))}Er.displayName="@mantine/core/MantineProvider";const{definePartsStyle:Nr,defineMultiStyleConfig:$r}=Xe(at.keys),Tr=Nr(e=>({button:{fontWeight:500,bg:P("base.300","base.500")(e),color:P("base.900","base.100")(e),_hover:{bg:P("base.400","base.600")(e),color:P("base.900","base.50")(e),fontWeight:600}},list:{zIndex:9999,color:P("base.900","base.150")(e),bg:P("base.200","base.800")(e),shadow:"dark-lg",border:"none"},item:{fontSize:"sm",bg:P("base.200","base.800")(e),_hover:{bg:P("base.300","base.700")(e),svg:{opacity:1}},_focus:{bg:P("base.400","base.600")(e)},svg:{opacity:.7,fontSize:14}}})),mn=$r({variants:{invokeAI:Tr},defaultProps:{variant:"invokeAI"}}),gn={variants:{enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.07,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.07,easings:"easeOut"}}}};export{on as A,Yr as B,Te as C,Gr as D,at as E,Ur as F,Vr as G,Zr as H,L as I,Fr as J,Hr as K,Wr as L,Br as M,Mr as N,nn as O,G as P,Or as Q,zr as R,Rr as S,Qe as T,sn as U,cn as V,mn as W,Er as X,M as a,ct as b,an as c,ne as d,un as e,fn as f,He as g,dn as h,Cr as i,W as j,Le as k,pn as l,gn as m,P as n,tn as o,rn as p,Dr as q,E as r,Qr as s,en as t,ln as u,qr as v,Lr as w,Xr as x,Jr as y,Kr as z}; From 16b956616fdf825bc97588897ae8417e62a421b5 Mon Sep 17 00:00:00 2001 From: Millun Atluri Date: Wed, 9 Aug 2023 11:22:27 +1000 Subject: [PATCH 130/287] Update version to 3.0.2 --- invokeai/version/invokeai_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/version/invokeai_version.py b/invokeai/version/invokeai_version.py index bede8666bc..131942e76a 100644 --- a/invokeai/version/invokeai_version.py +++ b/invokeai/version/invokeai_version.py @@ -1 +1 @@ -__version__ = "3.0.2a1" +__version__ = "3.0.2" From 628df4ec98cc2e258ef686a8a053cec62f4dc8d9 Mon Sep 17 00:00:00 2001 From: Millun Atluri Date: Wed, 9 Aug 2023 13:00:35 +1000 Subject: [PATCH 131/287] Add updated frontend html file --- invokeai/frontend/web/dist/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/frontend/web/dist/index.html b/invokeai/frontend/web/dist/index.html index d9c398de7c..71e57e68c0 100644 --- a/invokeai/frontend/web/dist/index.html +++ b/invokeai/frontend/web/dist/index.html @@ -12,7 +12,7 @@ margin: 0; } - + From c82da330dbbbbb1eb1f9271f445e0ac45c32e8c5 Mon Sep 17 00:00:00 2001 From: Millun Atluri Date: Wed, 9 Aug 2023 13:19:41 +1000 Subject: [PATCH 132/287] Pin safetensors to 0.3.1 Safetensors 0.3.2 does not ship an ARM64 wheel so install on macOS fails --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 2ae297a6da..6d6bb054cd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -77,7 +77,7 @@ dependencies = [ "realesrgan", "requests~=2.28.2", "rich~=13.3", - "safetensors~=0.3.0", + "safetensors==0.3.1", "scikit-image~=0.21.0", "send2trash", "test-tube~=0.7.5", From 06842f8e0a1be3f43219664895d1fb0288105260 Mon Sep 17 00:00:00 2001 From: Millun Atluri Date: Wed, 9 Aug 2023 14:27:12 +1000 Subject: [PATCH 133/287] Update to 3.0.2rc1 --- invokeai/version/invokeai_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/version/invokeai_version.py b/invokeai/version/invokeai_version.py index 131942e76a..1f71ca0010 100644 --- a/invokeai/version/invokeai_version.py +++ b/invokeai/version/invokeai_version.py @@ -1 +1 @@ -__version__ = "3.0.2" +__version__ = "3.0.2rc1" From 2f68a1a76cdd8367f75b94749ba4dcafe4c6360d Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 9 Aug 2023 09:21:29 -0400 Subject: [PATCH 134/287] use Stalker's simplified LoRA vector-length detection code --- invokeai/backend/model_management/util.py | 73 ++++------------------- 1 file changed, 12 insertions(+), 61 deletions(-) diff --git a/invokeai/backend/model_management/util.py b/invokeai/backend/model_management/util.py index ece9c96d4c..f435ab79b6 100644 --- a/invokeai/backend/model_management/util.py +++ b/invokeai/backend/model_management/util.py @@ -9,15 +9,11 @@ def lora_token_vector_length(checkpoint: dict) -> int: :param checkpoint: The checkpoint """ - def _handle_unet_key(key, tensor, checkpoint): + def _get_shape_1(key, tensor, checkpoint): lora_token_vector_length = None - if "_attn2_to_k." not in key and "_attn2_to_v." not in key: - return lora_token_vector_length # check lora/locon - if ".lora_up.weight" in key: - lora_token_vector_length = tensor.shape[0] - elif ".lora_down.weight" in key: + if ".lora_down.weight" in key: lora_token_vector_length = tensor.shape[1] # check loha (don't worry about hada_t1/hada_t2 as it used only in 4d shapes) @@ -49,65 +45,20 @@ def lora_token_vector_length(checkpoint: dict) -> int: return lora_token_vector_length - def _handle_te_key(key, tensor, checkpoint): - lora_token_vector_length = None - if "text_model_encoder_layers_" not in key: - return lora_token_vector_length - - # skip detect by mlp - if "_self_attn_" not in key: - return lora_token_vector_length - - # check lora/locon - if ".lora_up.weight" in key: - lora_token_vector_length = tensor.shape[0] - elif ".lora_down.weight" in key: - lora_token_vector_length = tensor.shape[1] - - # check loha (don't worry about hada_t1/hada_t2 as it used only in 4d shapes) - elif ".hada_w1_a" in key or ".hada_w2_a" in key: - lora_token_vector_length = tensor.shape[0] - elif ".hada_w1_b" in key or ".hada_w2_b" in key: - lora_token_vector_length = tensor.shape[1] - - # check lokr (don't worry about lokr_t2 as it used only in 4d shapes) - elif ".lokr_" in key: - _lokr_key = key.split(".")[0] - - if _lokr_key + ".lokr_w1" in checkpoint: - _lokr_w1 = checkpoint[_lokr_key + ".lokr_w1"] - elif _lokr_key + "lokr_w1_b" in checkpoint: - _lokr_w1 = checkpoint[_lokr_key + ".lokr_w1_b"] - else: - return lora_token_vector_length # unknown format - - if _lokr_key + ".lokr_w2" in checkpoint: - _lokr_w2 = checkpoint[_lokr_key + ".lokr_w2"] - elif _lokr_key + "lokr_w2_b" in checkpoint: - _lokr_w2 = checkpoint[_lokr_key + ".lokr_w2_b"] - else: - return lora_token_vector_length # unknown format - - lora_token_vector_length = _lokr_w1.shape[1] * _lokr_w2.shape[1] - - elif ".diff" in key: - lora_token_vector_length = tensor.shape[1] - - return lora_token_vector_length - lora_token_vector_length = None lora_te1_length = None lora_te2_length = None for key, tensor in checkpoint.items(): - if key.startswith("lora_unet_"): - lora_token_vector_length = _handle_unet_key(key, tensor, checkpoint) - elif key.startswith("lora_te_"): - lora_token_vector_length = _handle_te_key(key, tensor, checkpoint) - - elif key.startswith("lora_te1_"): - lora_te1_length = _handle_te_key(key, tensor, checkpoint) - elif key.startswith("lora_te2_"): - lora_te2_length = _handle_te_key(key, tensor, checkpoint) + if key.startswith("lora_unet_") and ("_attn2_to_k." in key or "_attn2_to_v." in key): + lora_token_vector_length = _get_shape_1(key, tensor, checkpoint) + elif key.startswith("lora_te") and "_self_attn_" in key: + tmp_length = _get_shape_1(key, tensor, checkpoint) + if key.startswith("lora_te_"): + lora_token_vector_length = tmp_length + elif key.startswith("lora_te1_"): + lora_te1_length = tmp_length + elif key.startswith("lora_te2_"): + lora_te2_length = tmp_length if lora_te1_length is not None and lora_te2_length is not None: lora_token_vector_length = lora_te1_length + lora_te2_length From 2c2b731386979e467f50089939bc1dea583322a4 Mon Sep 17 00:00:00 2001 From: Eugene Brodsky Date: Wed, 9 Aug 2023 13:08:59 -0400 Subject: [PATCH 135/287] fix typo --- invokeai/frontend/install/import_images.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/frontend/install/import_images.py b/invokeai/frontend/install/import_images.py index ea5a9d2d97..1f68f23607 100644 --- a/invokeai/frontend/install/import_images.py +++ b/invokeai/frontend/install/import_images.py @@ -1,5 +1,5 @@ # Copyright (c) 2023 - The InvokeAI Team -# Primary Author: David Lovell (github @f412design, discord @techedi) +# Primary Author: David Lovell (github @f412design, discord @techjedi) # co-author, minor tweaks - Lincoln Stein # pylint: disable=line-too-long From c8fbaf54b668e99b6ff79f805ebb107d01512dd3 Mon Sep 17 00:00:00 2001 From: Martin Kristiansen Date: Sun, 6 Aug 2023 01:30:35 -0400 Subject: [PATCH 136/287] Add self.min, not self.max --- invokeai/app/invocations/image.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index c0aa7ad5ef..10efaf776d 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -501,7 +501,7 @@ class ImageLerpInvocation(BaseInvocation, PILInvocationConfig): image = context.services.images.get_pil_image(self.image.image_name) image_arr = numpy.asarray(image, dtype=numpy.float32) / 255 - image_arr = image_arr * (self.max - self.min) + self.max + image_arr = image_arr * (self.max - self.min) + self.min lerp_image = Image.fromarray(numpy.uint8(image_arr)) From 17fed1c870e35469de1b7461975aa3bcf8ec6387 Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Thu, 10 Aug 2023 05:03:33 +0300 Subject: [PATCH 137/287] Fix merge conflict errors --- invokeai/app/invocations/image.py | 1 - invokeai/app/invocations/latent.py | 17 +---------------- .../stable_diffusion/diffusers_pipeline.py | 5 ----- 3 files changed, 1 insertion(+), 22 deletions(-) diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index ae09a0abfd..697df5c689 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -2,7 +2,6 @@ from typing import Literal, Optional -import cv2 import numpy import cv2 from PIL import Image, ImageFilter, ImageOps, ImageChops diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index 02cee4cfa0..6d746b387d 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -25,7 +25,7 @@ from .controlnet_image_processors import ControlField from .image import ImageOutput from .model import ModelInfo, UNetField, VaeField from ..models.image import ImageCategory, ImageField, ResourceOrigin -from ...backend.model_management import ModelPatcher +from ...backend.model_management import ModelPatcher, BaseModelType from ...backend.stable_diffusion import PipelineIntermediateState from ...backend.stable_diffusion.diffusers_pipeline import ( ConditioningData, @@ -35,22 +35,7 @@ from ...backend.stable_diffusion.diffusers_pipeline import ( ) from ...backend.stable_diffusion.diffusion.shared_invokeai_diffusion import PostprocessingSettings from ...backend.stable_diffusion.schedulers import SCHEDULER_MAP -from ...backend.model_management import ModelPatcher, BaseModelType from ...backend.util.devices import choose_torch_device, torch_dtype, choose_precision -from ..models.image import ImageCategory, ImageField, ResourceOrigin -from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext -from .compel import ConditioningField -from .controlnet_image_processors import ControlField -from .image import ImageOutput -from .model import ModelInfo, UNetField, VaeField -from invokeai.app.util.controlnet_utils import prepare_control_image - -from diffusers.models.attention_processor import ( - AttnProcessor2_0, - LoRAAttnProcessor2_0, - LoRAXFormersAttnProcessor, - XFormersAttnProcessor, -) import torchvision.transforms as T from torchvision.transforms.functional import resize as tv_resize diff --git a/invokeai/backend/stable_diffusion/diffusers_pipeline.py b/invokeai/backend/stable_diffusion/diffusers_pipeline.py index f6b0b9a6ae..e5bb1f0f3d 100644 --- a/invokeai/backend/stable_diffusion/diffusers_pipeline.py +++ b/invokeai/backend/stable_diffusion/diffusers_pipeline.py @@ -5,7 +5,6 @@ import inspect import math import secrets from dataclasses import dataclass, field -import inspect from typing import Any, Callable, Generic, List, Optional, Type, TypeVar, Union import PIL.Image @@ -13,14 +12,12 @@ import einops import psutil import torch import torchvision.transforms as T -from accelerate.utils import set_seed from diffusers.models import AutoencoderKL, UNet2DConditionModel from diffusers.models.controlnet import ControlNetModel from diffusers.pipelines.stable_diffusion import StableDiffusionPipelineOutput from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion import ( StableDiffusionPipeline, ) - from diffusers.pipelines.stable_diffusion.safety_checker import ( StableDiffusionSafetyChecker, ) @@ -29,7 +26,6 @@ from diffusers.schedulers.scheduling_utils import SchedulerMixin, SchedulerOutpu from diffusers.utils.import_utils import is_xformers_available from diffusers.utils.outputs import BaseOutput from pydantic import Field -from torchvision.transforms.functional import resize as tv_resize from transformers import CLIPFeatureExtractor, CLIPTextModel, CLIPTokenizer from typing_extensions import ParamSpec @@ -334,7 +330,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): # diffusers enable sdp automatically return - if self.unet.device.type == "cpu" or self.unet.device.type == "mps": mem_free = psutil.virtual_memory().free elif self.unet.device.type == "cuda": From e9ec5ab85cb233fe6e776519d6ba2b7cae153231 Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Thu, 10 Aug 2023 06:19:22 +0300 Subject: [PATCH 138/287] Apply requested changes Co-Authored-By: psychedelicious <4822129+psychedelicious@users.noreply.github.com> --- invokeai/app/invocations/compel.py | 10 +++++++++- invokeai/app/invocations/image.py | 14 +++++++++----- invokeai/app/invocations/latent.py | 30 ++++++++++++++++++++---------- invokeai/app/util/step_callback.py | 5 ++--- 4 files changed, 40 insertions(+), 19 deletions(-) diff --git a/invokeai/app/invocations/compel.py b/invokeai/app/invocations/compel.py index 8ecd22e2d7..484d813dea 100644 --- a/invokeai/app/invocations/compel.py +++ b/invokeai/app/invocations/compel.py @@ -157,7 +157,15 @@ class CompelInvocation(BaseInvocation): class SDXLPromptInvocationBase: - def run_clip_compel(self, context, clip_field, prompt, get_pooled, lora_prefix, zero_on_empty): + def run_clip_compel( + self, + context: InvocationContext, + clip_field: ClipField, + prompt: str, + get_pooled: bool, + lora_prefix: str, + zero_on_empty: bool, + ): tokenizer_info = context.services.model_manager.get_model( **clip_field.tokenizer.dict(), context=context, diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index 697df5c689..9e5cb9ecef 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -705,12 +705,16 @@ class MaskEdgeInvocation(BaseInvocation, PILInvocationConfig): class ColorCorrectInvocation(BaseInvocation, PILInvocationConfig): + """ + Shifts the colors of a target image to match the reference image, optionally + using a mask to only color-correct certain regions of the target image. + """ type: Literal["color_correct"] = "color_correct" - init: Optional[ImageField] = Field(default=None, description="Initial image") - result: Optional[ImageField] = Field(default=None, description="Resulted image") - mask: Optional[ImageField] = Field(default=None, description="Mask image") + image: Optional[ImageField] = Field(default=None, description="The image to color-correct") + reference: Optional[ImageField] = Field(default=None, description="Reference image for color-correction") + mask: Optional[ImageField] = Field(default=None, description="Mask to use when applying color-correction") mask_blur_radius: float = Field(default=8, description="Mask blur radius") def invoke(self, context: InvocationContext) -> ImageOutput: @@ -721,11 +725,11 @@ class ColorCorrectInvocation(BaseInvocation, PILInvocationConfig): ).convert("L") init_image = context.services.images.get_pil_image( - self.init.image_name + self.reference.image_name ) result = context.services.images.get_pil_image( - self.result.image_name + self.image.image_name ).convert("RGBA") diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index 6d746b387d..c24e9aeba1 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -336,7 +336,9 @@ class TextToLatentsInvocation(BaseInvocation): def invoke(self, context: InvocationContext) -> LatentsOutput: with SilenceWarnings(): noise = context.services.latents.get(self.noise.latents_name) - seed = self.noise.seed or 0 + seed = self.noise.seed + if seed is None: + seed = 0 # Get the source node id (we are invoking the prepared node) graph_execution_state = context.services.graph_execution_manager.get(context.graph_execution_state_id) @@ -420,6 +422,7 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): # Inputs noise: Optional[LatentsField] = Field(description="The noise to use (test override for future optional)") + # denoising_start = 1 - strength denoising_start: float = Field(default=0.0, ge=0, le=1, description="") #denoising_end: float = Field(default=1.0, ge=0, le=1, description="") @@ -462,16 +465,23 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): @torch.no_grad() def invoke(self, context: InvocationContext) -> LatentsOutput: with SilenceWarnings(): # this quenches NSFW nag from diffusers - latent = context.services.latents.get(self.latents.latents_name) - seed = self.latents.seed or 0 - + seed = None noise = None if self.noise is not None: noise = context.services.latents.get(self.noise.latents_name) - if self.noise.seed is not None: - seed = self.noise.seed + seed = self.noise.seed - mask = self.prep_mask_tensor(self.mask, context, latent) + if self.latents is not None: + latents = context.services.latents.get(self.latents.latents_name) + if seed is None: + seed = self.latents.seed + else: + latents = torch.zeros_like(noise) + + if seed is None: + seed = 0 + + mask = self.prep_mask_tensor(self.mask, context, latents) # Get the source node id (we are invoking the prepared node) graph_execution_state = context.services.graph_execution_manager.get(context.graph_execution_state_id) @@ -497,7 +507,7 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): with ExitStack() as exit_stack, ModelPatcher.apply_lora_unet( unet_info.context.model, _lora_loader() ), unet_info as unet: - latent = latent.to(device=unet.device, dtype=unet.dtype) + latents = latents.to(device=unet.device, dtype=unet.dtype) if noise is not None: noise = noise.to(device=unet.device, dtype=unet.dtype) if mask is not None: @@ -516,7 +526,7 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): model=pipeline, context=context, control_input=self.control, - latents_shape=latent.shape, + latents_shape=latents.shape, # do_classifier_free_guidance=(self.cfg_scale >= 1.0)) do_classifier_free_guidance=True, exit_stack=exit_stack, @@ -531,7 +541,7 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): ) result_latents, result_attention_map_saver = pipeline.latents_from_embeddings( - latents=latent, + latents=latents, timesteps=timesteps, noise=noise, seed=seed, diff --git a/invokeai/app/util/step_callback.py b/invokeai/app/util/step_callback.py index 5770b61ec9..3cadfa1c12 100644 --- a/invokeai/app/util/step_callback.py +++ b/invokeai/app/util/step_callback.py @@ -58,6 +58,8 @@ def stable_diffusion_step_callback( # TODO: only output a preview image when requested if base_model in [BaseModelType.StableDiffusionXL, BaseModelType.StableDiffusionXLRefiner]: + # fast latents preview matrix for sdxl + # generated by @StAlKeR7779 sdxl_latent_rgb_factors = torch.tensor( [ # R G B @@ -72,9 +74,6 @@ def stable_diffusion_step_callback( sdxl_smooth_matrix = torch.tensor( [ - # [ 0.0478, 0.1285, 0.0478], - # [ 0.1285, 0.2948, 0.1285], - # [ 0.0478, 0.1285, 0.0478], [0.0358, 0.0964, 0.0358], [0.0964, 0.4711, 0.0964], [0.0358, 0.0964, 0.0358], From 49cce1eec65268a782bdf359ee36ea93d1dc3639 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed, 9 Aug 2023 00:13:59 +1000 Subject: [PATCH 139/287] feat: add `app_version` to image metadata --- invokeai/app/invocations/metadata.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/invokeai/app/invocations/metadata.py b/invokeai/app/invocations/metadata.py index f91e6cc4c7..4f51bf10b8 100644 --- a/invokeai/app/invocations/metadata.py +++ b/invokeai/app/invocations/metadata.py @@ -2,6 +2,7 @@ from typing import Literal, Optional, Union from pydantic import Field +from ...version import __version__ from invokeai.app.invocations.baseinvocation import ( BaseInvocation, BaseInvocationOutput, @@ -23,6 +24,7 @@ class LoRAMetadataField(BaseModelExcludeNull): class CoreMetadata(BaseModelExcludeNull): """Core generation metadata for an image generated in InvokeAI.""" + app_version: str = Field(default=__version__, description="The version of InvokeAI used to generate this image") generation_mode: str = Field( description="The generation mode that output this image", ) From da0efeaa7f485f67dc344dd6aea1f4dd05e50045 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Thu, 10 Aug 2023 15:20:37 +1000 Subject: [PATCH 140/287] fix(ui): fix canvas model switching There was no check at all to see if the canvas had a valid model already selected. The first model in the list was selected every time. Now, we check if its valid. If not, we go through the logic to try and pick the first valid model. If there are no valid models, or there was a problem listing models, the model selection is cleared. --- .../listeners/tabChanged.ts | 63 ++++++++++--------- 1 file changed, 33 insertions(+), 30 deletions(-) diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/tabChanged.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/tabChanged.ts index 0569827859..6d3e599ae2 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/tabChanged.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/tabChanged.ts @@ -1,55 +1,58 @@ import { modelChanged } from 'features/parameters/store/generationSlice'; import { setActiveTab } from 'features/ui/store/uiSlice'; -import { forEach } from 'lodash-es'; import { NON_REFINER_BASE_MODELS } from 'services/api/constants'; -import { - MainModelConfigEntity, - modelsApi, -} from 'services/api/endpoints/models'; +import { mainModelsAdapter, modelsApi } from 'services/api/endpoints/models'; import { startAppListening } from '..'; export const addTabChangedListener = () => { startAppListening({ actionCreator: setActiveTab, - effect: (action, { getState, dispatch }) => { + effect: async (action, { getState, dispatch }) => { const activeTabName = action.payload; if (activeTabName === 'unifiedCanvas') { - // grab the models from RTK Query cache - const { data } = modelsApi.endpoints.getMainModels.select( - NON_REFINER_BASE_MODELS - )(getState()); + const currentBaseModel = getState().generation.model?.base_model; - if (!data) { - // no models yet, so we can't do anything - dispatch(modelChanged(null)); + if (currentBaseModel && ['sd-1', 'sd-2'].includes(currentBaseModel)) { + // if we're already on a valid model, no change needed return; } - // need to filter out all the invalid canvas models (currently, this is just sdxl) - const validCanvasModels: MainModelConfigEntity[] = []; + try { + // just grab fresh models + const modelsRequest = dispatch( + modelsApi.endpoints.getMainModels.initiate(NON_REFINER_BASE_MODELS) + ); + const models = await modelsRequest.unwrap(); + // cancel this cache subscription + modelsRequest.unsubscribe(); - forEach(data.entities, (entity) => { - if (!entity) { + if (!models.ids.length) { + // no valid canvas models + dispatch(modelChanged(null)); return; } - if (['sd-1', 'sd-2'].includes(entity.base_model)) { - validCanvasModels.push(entity); + + // need to filter out all the invalid canvas models (currently sdxl & refiner) + const validCanvasModels = mainModelsAdapter + .getSelectors() + .selectAll(models) + .filter((model) => ['sd-1', 'sd-2'].includes(model.base_model)); + + const firstValidCanvasModel = validCanvasModels[0]; + + if (!firstValidCanvasModel) { + // no valid canvas models + dispatch(modelChanged(null)); + return; } - }); - // this could still be undefined even tho TS doesn't say so - const firstValidCanvasModel = validCanvasModels[0]; + const { base_model, model_name, model_type } = firstValidCanvasModel; - if (!firstValidCanvasModel) { - // uh oh, we have no models that are valid for canvas + dispatch(modelChanged({ base_model, model_name, model_type })); + } catch { + // network request failed, bail dispatch(modelChanged(null)); - return; } - - // only store the model name and base model in redux - const { base_model, model_name, model_type } = firstValidCanvasModel; - - dispatch(modelChanged({ base_model, model_name, model_type })); } }, }); From 3cd05cf6bfd02ba1666a14fe027d04cca756068d Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Thu, 10 Aug 2023 15:31:29 +1000 Subject: [PATCH 141/287] fix(ui): fix lora sort was sorting with disabled at top of list instead of bottom fixes #4217 --- .../web/src/features/lora/components/ParamLoraSelect.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/frontend/web/src/features/lora/components/ParamLoraSelect.tsx b/invokeai/frontend/web/src/features/lora/components/ParamLoraSelect.tsx index 631047aaab..6771a8873e 100644 --- a/invokeai/frontend/web/src/features/lora/components/ParamLoraSelect.tsx +++ b/invokeai/frontend/web/src/features/lora/components/ParamLoraSelect.tsx @@ -59,7 +59,7 @@ const ParamLoRASelect = () => { a.label && b.label ? (a.label?.localeCompare(b.label) ? 1 : -1) : -1 ); - return data.sort((a, b) => (a.disabled && !b.disabled ? -1 : 1)); + return data.sort((a, b) => (a.disabled && !b.disabled ? 1 : -1)); }, [loras, loraModels, currentMainModel?.base_model]); const handleChange = useCallback( From 7bad9bcf5322bbd10286925dcf3796960f80c434 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 9 Aug 2023 13:38:58 -0400 Subject: [PATCH 142/287] update dependencies and docs to cu118 --- README.md | 2 +- docs/installation/010_INSTALL_AUTOMATED.md | 2 +- docs/installation/020_INSTALL_MANUAL.md | 6 +-- .../installation/030_INSTALL_CUDA_AND_ROCM.md | 12 ++--- docs/installation/070_INSTALL_XFORMERS.md | 47 +++++++++++-------- installer/lib/installer.py | 4 +- 6 files changed, 41 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 7b3f95ab10..f10c372545 100644 --- a/README.md +++ b/README.md @@ -161,7 +161,7 @@ the command `npm install -g yarn` if needed) _For Windows/Linux with an NVIDIA GPU:_ ```terminal - pip install "InvokeAI[xformers]" --use-pep517 --extra-index-url https://download.pytorch.org/whl/cu117 + pip install "InvokeAI[xformers]" --use-pep517 --extra-index-url https://download.pytorch.org/whl/cu118 ``` _For Linux with an AMD GPU:_ diff --git a/docs/installation/010_INSTALL_AUTOMATED.md b/docs/installation/010_INSTALL_AUTOMATED.md index 07a88d5d1b..0937c07bca 100644 --- a/docs/installation/010_INSTALL_AUTOMATED.md +++ b/docs/installation/010_INSTALL_AUTOMATED.md @@ -471,7 +471,7 @@ Then type the following commands: === "NVIDIA System" ```bash - pip install torch torchvision --force-reinstall --extra-index-url https://download.pytorch.org/whl/cu117 + pip install torch torchvision --force-reinstall --extra-index-url https://download.pytorch.org/whl/cu118 pip install xformers ``` diff --git a/docs/installation/020_INSTALL_MANUAL.md b/docs/installation/020_INSTALL_MANUAL.md index 84f19da9bf..a68e5b1414 100644 --- a/docs/installation/020_INSTALL_MANUAL.md +++ b/docs/installation/020_INSTALL_MANUAL.md @@ -148,7 +148,7 @@ manager, please follow these steps: === "CUDA (NVidia)" ```bash - pip install "InvokeAI[xformers]" --use-pep517 --extra-index-url https://download.pytorch.org/whl/cu117 + pip install "InvokeAI[xformers]" --use-pep517 --extra-index-url https://download.pytorch.org/whl/cu118 ``` === "ROCm (AMD)" @@ -312,7 +312,7 @@ installation protocol (important!) === "CUDA (NVidia)" ```bash - pip install -e .[xformers] --use-pep517 --extra-index-url https://download.pytorch.org/whl/cu117 + pip install -e .[xformers] --use-pep517 --extra-index-url https://download.pytorch.org/whl/cu118 ``` === "ROCm (AMD)" @@ -356,7 +356,7 @@ you can do so using this unsupported recipe: mkdir ~/invokeai conda create -n invokeai python=3.10 conda activate invokeai -pip install InvokeAI[xformers] --use-pep517 --extra-index-url https://download.pytorch.org/whl/cu117 +pip install InvokeAI[xformers] --use-pep517 --extra-index-url https://download.pytorch.org/whl/cu118 invokeai-configure --root ~/invokeai invokeai --root ~/invokeai --web ``` diff --git a/docs/installation/030_INSTALL_CUDA_AND_ROCM.md b/docs/installation/030_INSTALL_CUDA_AND_ROCM.md index 3d3445e3a0..314043f538 100644 --- a/docs/installation/030_INSTALL_CUDA_AND_ROCM.md +++ b/docs/installation/030_INSTALL_CUDA_AND_ROCM.md @@ -34,11 +34,11 @@ directly from NVIDIA. **Do not try to install Ubuntu's nvidia-cuda-toolkit package. It is out of date and will cause conflicts among the NVIDIA driver and binaries.** -Go to [CUDA Toolkit 11.7 -Downloads](https://developer.nvidia.com/cuda-11-7-0-download-archive), -and use the target selection wizard to choose your operating system, -hardware platform, and preferred installation method (e.g. "local" -versus "network"). +Go to [CUDA Toolkit +Downloads](https://developer.nvidia.com/cuda-downloads), and use the +target selection wizard to choose your operating system, hardware +platform, and preferred installation method (e.g. "local" versus +"network"). This will provide you with a downloadable install file or, depending on your choices, a recipe for downloading and running a install shell @@ -61,7 +61,7 @@ Runtime Site](https://developer.nvidia.com/nvidia-container-runtime) When installing torch and torchvision manually with `pip`, remember to provide the argument `--extra-index-url -https://download.pytorch.org/whl/cu117` as described in the [Manual +https://download.pytorch.org/whl/cu118` as described in the [Manual Installation Guide](020_INSTALL_MANUAL.md). ## :simple-amd: ROCm diff --git a/docs/installation/070_INSTALL_XFORMERS.md b/docs/installation/070_INSTALL_XFORMERS.md index be54a3ee86..849f9d1ddc 100644 --- a/docs/installation/070_INSTALL_XFORMERS.md +++ b/docs/installation/070_INSTALL_XFORMERS.md @@ -28,18 +28,21 @@ command line, then just be sure to activate it's virtual environment. Then run the following three commands: ```sh -pip install xformers==0.0.16rc425 -pip install triton +pip install xformers~=0.0.19 +pip install triton # WON'T WORK ON WINDOWS python -m xformers.info output ``` The first command installs `xformers`, the second installs the `triton` training accelerator, and the third prints out the `xformers` -installation status. If all goes well, you'll see a report like the +installation status. On Windows, please omit the `triton` package, +which is not available on that platform. + +If all goes well, you'll see a report like the following: ```sh -xFormers 0.0.16rc425 +xFormers 0.0.20 memory_efficient_attention.cutlassF: available memory_efficient_attention.cutlassB: available memory_efficient_attention.flshattF: available @@ -48,22 +51,28 @@ memory_efficient_attention.smallkF: available memory_efficient_attention.smallkB: available memory_efficient_attention.tritonflashattF: available memory_efficient_attention.tritonflashattB: available +indexing.scaled_index_addF: available +indexing.scaled_index_addB: available +indexing.index_select: available +swiglu.dual_gemm_silu: available +swiglu.gemm_fused_operand_sum: available swiglu.fused.p.cpp: available is_triton_available: True is_functorch_available: False -pytorch.version: 1.13.1+cu117 +pytorch.version: 2.0.1+cu118 pytorch.cuda: available -gpu.compute_capability: 8.6 -gpu.name: NVIDIA RTX A2000 12GB +gpu.compute_capability: 8.9 +gpu.name: NVIDIA GeForce RTX 4070 build.info: available -build.cuda_version: 1107 -build.python_version: 3.10.9 -build.torch_version: 1.13.1+cu117 +build.cuda_version: 1108 +build.python_version: 3.10.11 +build.torch_version: 2.0.1+cu118 build.env.TORCH_CUDA_ARCH_LIST: 5.0+PTX 6.0 6.1 7.0 7.5 8.0 8.6 build.env.XFORMERS_BUILD_TYPE: Release build.env.XFORMERS_ENABLE_DEBUG_ASSERTIONS: None build.env.NVCC_FLAGS: None -build.env.XFORMERS_PACKAGE_FROM: wheel-v0.0.16rc425 +build.env.XFORMERS_PACKAGE_FROM: wheel-v0.0.20 +build.nvcc_version: 11.8.89 source.privacy: open source ``` @@ -83,14 +92,14 @@ installed from source. These instructions were written for a system running Ubuntu 22.04, but other Linux distributions should be able to adapt this recipe. -#### 1. Install CUDA Toolkit 11.7 +#### 1. Install CUDA Toolkit 11.8 You will need the CUDA developer's toolkit in order to compile and install xFormers. **Do not try to install Ubuntu's nvidia-cuda-toolkit package.** It is out of date and will cause conflicts among the NVIDIA driver and binaries. Instead install the CUDA Toolkit package provided -by NVIDIA itself. Go to [CUDA Toolkit 11.7 -Downloads](https://developer.nvidia.com/cuda-11-7-0-download-archive) +by NVIDIA itself. Go to [CUDA Toolkit 11.8 +Downloads](https://developer.nvidia.com/cuda-11-8-0-download-archive) and use the target selection wizard to choose your platform and Linux distribution. Select an installer type of "runfile (local)" at the last step. @@ -101,17 +110,17 @@ example, the install script recipe for Ubuntu 22.04 running on a x86_64 system is: ``` -wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run -sudo sh cuda_11.7.0_515.43.04_linux.run +wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run +sudo sh cuda_11.8.0_520.61.05_linux.run ``` Rather than cut-and-paste this example, We recommend that you walk through the toolkit wizard in order to get the most up to date installer for your system. -#### 2. Confirm/Install pyTorch 1.13 with CUDA 11.7 support +#### 2. Confirm/Install pyTorch 2.01 with CUDA 11.8 support -If you are using InvokeAI 2.3 or higher, these will already be +If you are using InvokeAI 3.0.2 or higher, these will already be installed. If not, you can check whether you have the needed libraries using a quick command. Activate the invokeai virtual environment, either by entering the "developer's console", or manually with a @@ -124,7 +133,7 @@ Then run the command: python -c 'exec("import torch\nprint(torch.__version__)")' ``` -If it prints __1.13.1+cu117__ you're good. If not, you can install the +If it prints __1.13.1+cu118__ you're good. If not, you can install the most up to date libraries with this command: ```sh diff --git a/installer/lib/installer.py b/installer/lib/installer.py index 545d99ab0b..f8bd72d495 100644 --- a/installer/lib/installer.py +++ b/installer/lib/installer.py @@ -463,10 +463,10 @@ def get_torch_source() -> (Union[str, None], str): url = "https://download.pytorch.org/whl/cpu" if device == "cuda": - url = "https://download.pytorch.org/whl/cu117" + url = "https://download.pytorch.org/whl/cu118" optional_modules = "[xformers,onnx-cuda]" if device == "cuda_and_dml": - url = "https://download.pytorch.org/whl/cu117" + url = "https://download.pytorch.org/whl/cu118" optional_modules = "[xformers,onnx-directml]" # in all other cases, Torch wheels should be coming from PyPi as of Torch 1.13 From 6c8e898f099c8bd95b15b97ab4badbffddbb8463 Mon Sep 17 00:00:00 2001 From: Kent Keirsey <31807370+hipsterusername@users.noreply.github.com> Date: Thu, 10 Aug 2023 16:00:33 -0400 Subject: [PATCH 143/287] Update scripts/verify_checkpoint_template.py Co-authored-by: Eugene Brodsky --- scripts/verify_checkpoint_template.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/verify_checkpoint_template.py b/scripts/verify_checkpoint_template.py index 68ed72037e..15194290f5 100755 --- a/scripts/verify_checkpoint_template.py +++ b/scripts/verify_checkpoint_template.py @@ -12,7 +12,7 @@ from pathlib import Path from invokeai.backend.model_management.models.base import read_checkpoint_meta -parser = argparse.ArgumentParser(description="Create a .json template from checkpoint/safetensors model") +parser = argparse.ArgumentParser(description="Compare a checkpoint/safetensors file to a JSON metadata template.") parser.add_argument("--checkpoint", "--in", type=Path, help="Path to the input checkpoint/safetensors file") parser.add_argument("--template", "--out", type=Path, help="Path to the template .json file to match against") From a969707e4569201cf6fab297e8734fb312337448 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 9 Aug 2023 10:52:29 -0400 Subject: [PATCH 144/287] prevent vae: '' from crashing model --- invokeai/app/api/routers/models.py | 6 +++++- invokeai/backend/model_management/model_manager.py | 2 +- tests/test_model_manager.py | 9 +++++++++ .../test_model_manager/configs/relative_sub.models.yaml | 7 +++++++ 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/invokeai/app/api/routers/models.py b/invokeai/app/api/routers/models.py index 2f59f1dd0f..b6c1edbbe1 100644 --- a/invokeai/app/api/routers/models.py +++ b/invokeai/app/api/routers/models.py @@ -104,8 +104,12 @@ async def update_model( ): # model manager moved model path during rename - don't overwrite it info.path = new_info.get("path") + # replace empty string values with None/null to avoid phenomenon of vae: '' + info_dict = info.dict() + info_dict = {x: info_dict[x] if info_dict[x] else None for x in info_dict.keys()} + ApiDependencies.invoker.services.model_manager.update_model( - model_name=model_name, base_model=base_model, model_type=model_type, model_attributes=info.dict() + model_name=model_name, base_model=base_model, model_type=model_type, model_attributes=info_dict ) model_raw = ApiDependencies.invoker.services.model_manager.list_model( diff --git a/invokeai/backend/model_management/model_manager.py b/invokeai/backend/model_management/model_manager.py index 6664d32540..adc3aaa661 100644 --- a/invokeai/backend/model_management/model_manager.py +++ b/invokeai/backend/model_management/model_manager.py @@ -526,7 +526,7 @@ class ModelManager(object): # Does the config explicitly override the submodel? if submodel_type is not None and hasattr(model_config, submodel_type): submodel_path = getattr(model_config, submodel_type) - if submodel_path is not None: + if submodel_path is not None and len(submodel_path) > 0: model_path = getattr(model_config, submodel_type) is_submodel_override = True diff --git a/tests/test_model_manager.py b/tests/test_model_manager.py index 4314bad595..4aa2c4d3b2 100644 --- a/tests/test_model_manager.py +++ b/tests/test_model_manager.py @@ -7,6 +7,7 @@ from invokeai.backend import ModelManager, BaseModelType, ModelType, SubModelTyp BASIC_MODEL_NAME = ("SDXL base", BaseModelType.StableDiffusionXL, ModelType.Main) VAE_OVERRIDE_MODEL_NAME = ("SDXL with VAE", BaseModelType.StableDiffusionXL, ModelType.Main) +VAE_NULL_OVERRIDE_MODEL_NAME = ("SDXL with empty VAE", BaseModelType.StableDiffusionXL, ModelType.Main) @pytest.fixture @@ -36,3 +37,11 @@ def test_get_model_path_for_overridden_vae(model_manager: ModelManager, datadir: expected_vae_path = datadir / "models" / "sdxl" / "vae" / "sdxl-vae-fp16-fix" assert vae_model_path == expected_vae_path assert is_override + + +def test_get_model_path_for_null_overridden_vae(model_manager: ModelManager, datadir: Path): + model_config = model_manager._get_model_config( + VAE_NULL_OVERRIDE_MODEL_NAME[1], VAE_NULL_OVERRIDE_MODEL_NAME[0], VAE_NULL_OVERRIDE_MODEL_NAME[2] + ) + vae_model_path, is_override = model_manager._get_model_path(model_config, SubModelType.Vae) + assert not is_override diff --git a/tests/test_model_manager/configs/relative_sub.models.yaml b/tests/test_model_manager/configs/relative_sub.models.yaml index 3ec7a3adff..2e26710d13 100644 --- a/tests/test_model_manager/configs/relative_sub.models.yaml +++ b/tests/test_model_manager/configs/relative_sub.models.yaml @@ -13,3 +13,10 @@ sdxl/main/SDXL with VAE: vae: sdxl/vae/sdxl-vae-fp16-fix/ variant: normal format: diffusers + +sdxl/main/SDXL with empty VAE: + path: sdxl/main/SDXL base 1_0 + description: SDXL with customized VAE + vae: '' + variant: normal + format: diffusers From 1bfe9835cf11d0683fc094160b5303d73684143d Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 9 Aug 2023 14:55:02 -0400 Subject: [PATCH 145/287] clip cache settings to permissible values; remove redundant imports in install __init__ file --- invokeai/backend/install/invokeai_configure.py | 15 ++++++++++++--- invokeai/backend/install/migrate_to_3.py | 1 - invokeai/frontend/install/__init__.py | 3 --- invokeai/frontend/install/invokeai_configure.py | 2 +- pyproject.toml | 8 ++++---- 5 files changed, 17 insertions(+), 12 deletions(-) diff --git a/invokeai/backend/install/invokeai_configure.py b/invokeai/backend/install/invokeai_configure.py index 6931b6e41f..e08713584a 100755 --- a/invokeai/backend/install/invokeai_configure.py +++ b/invokeai/backend/install/invokeai_configure.py @@ -21,7 +21,6 @@ from argparse import Namespace from enum import Enum from pathlib import Path from shutil import get_terminal_size -from typing import get_type_hints from urllib import request import npyscreen @@ -399,7 +398,7 @@ Use cursor arrows to make a checkbox selection, and space to toggle. self.max_cache_size = self.add_widget_intelligent( IntTitleSlider, name="RAM cache size (GB). Make this at least large enough to hold a single full model.", - value=old_opts.max_cache_size, + value=clip(old_opts.max_cache_size, range=(3.0, MAX_RAM)), out_of=MAX_RAM, lowest=3, begin_entry_at=6, @@ -418,7 +417,7 @@ Use cursor arrows to make a checkbox selection, and space to toggle. self.nextrely -= 1 self.max_vram_cache_size = self.add_widget_intelligent( npyscreen.Slider, - value=old_opts.max_vram_cache_size, + value=clip(old_opts.max_vram_cache_size, range=(0, MAX_VRAM)), out_of=round(MAX_VRAM * 2) / 2, lowest=0.0, relx=8, @@ -596,6 +595,16 @@ def default_user_selections(program_opts: Namespace) -> InstallSelections: ) +# ------------------------------------- +def clip(value: float, range: tuple[float, float]) -> float: + minimum, maximum = range + if value < minimum: + value = minimum + if value > maximum: + value = maximum + return value + + # ------------------------------------- def initialize_rootdir(root: Path, yes_to_all: bool = False): logger.info("Initializing InvokeAI runtime directory") diff --git a/invokeai/backend/install/migrate_to_3.py b/invokeai/backend/install/migrate_to_3.py index 9152e46951..3f360f291d 100644 --- a/invokeai/backend/install/migrate_to_3.py +++ b/invokeai/backend/install/migrate_to_3.py @@ -591,7 +591,6 @@ script, which will perform a full upgrade in place.""", # TODO: revisit - don't rely on invokeai.yaml to exist yet! dest_is_setup = (dest_root / "models/core").exists() and (dest_root / "databases").exists() if not dest_is_setup: - import invokeai.frontend.install.invokeai_configure from invokeai.backend.install.invokeai_configure import initialize_rootdir initialize_rootdir(dest_root, True) diff --git a/invokeai/frontend/install/__init__.py b/invokeai/frontend/install/__init__.py index fb8cdff1b3..2a248eb49f 100644 --- a/invokeai/frontend/install/__init__.py +++ b/invokeai/frontend/install/__init__.py @@ -1,6 +1,3 @@ """ Initialization file for invokeai.frontend.config """ -from .invokeai_configure import main as invokeai_configure -from .invokeai_update import main as invokeai_update -from .model_install import main as invokeai_model_install diff --git a/invokeai/frontend/install/invokeai_configure.py b/invokeai/frontend/install/invokeai_configure.py index e087e4f40f..157d57fafc 100644 --- a/invokeai/frontend/install/invokeai_configure.py +++ b/invokeai/frontend/install/invokeai_configure.py @@ -1,4 +1,4 @@ """ Wrapper for invokeai.backend.configure.invokeai_configure """ -from ...backend.install.invokeai_configure import main +from ...backend.install.invokeai_configure import main as invokeai_configure diff --git a/pyproject.toml b/pyproject.toml index 506850fd4c..8fb2e7aaa7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -118,7 +118,7 @@ dependencies = [ [project.scripts] # legacy entrypoints; provided for backwards compatibility -"configure_invokeai.py" = "invokeai.frontend.install:invokeai_configure" +"configure_invokeai.py" = "invokeai.frontend.install.invokeai_configure:invokeai_configure" "textual_inversion.py" = "invokeai.frontend.training:invokeai_textual_inversion" # shortcut commands to start cli and web @@ -130,12 +130,12 @@ dependencies = [ "invokeai-web" = "invokeai.app.api_app:invoke_api" # full commands -"invokeai-configure" = "invokeai.frontend.install:invokeai_configure" +"invokeai-configure" = "invokeai.frontend.install.invokeai_configure:invokeai_configure" "invokeai-merge" = "invokeai.frontend.merge:invokeai_merge_diffusers" "invokeai-ti" = "invokeai.frontend.training:invokeai_textual_inversion" -"invokeai-model-install" = "invokeai.frontend.install:invokeai_model_install" +"invokeai-model-install" = "invokeai.frontend.install.model_install:main" "invokeai-migrate3" = "invokeai.backend.install.migrate_to_3:main" -"invokeai-update" = "invokeai.frontend.install:invokeai_update" +"invokeai-update" = "invokeai.frontend.install.invokeai_update:main" "invokeai-metadata" = "invokeai.frontend.CLI.sd_metadata:print_metadata" "invokeai-node-cli" = "invokeai.app.cli_app:invoke_cli" "invokeai-node-web" = "invokeai.app.api_app:invoke_api" From d0fee93aac1d56bf9b1166037c8e443fb43f8fab Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Wed, 9 Aug 2023 16:08:36 -0400 Subject: [PATCH 146/287] round slider values to nice numbers --- .../backend/install/invokeai_configure.py | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/invokeai/backend/install/invokeai_configure.py b/invokeai/backend/install/invokeai_configure.py index e08713584a..6996b913c2 100755 --- a/invokeai/backend/install/invokeai_configure.py +++ b/invokeai/backend/install/invokeai_configure.py @@ -395,13 +395,23 @@ Use cursor arrows to make a checkbox selection, and space to toggle. max_width=80, scroll_exit=True, ) - self.max_cache_size = self.add_widget_intelligent( - IntTitleSlider, + self.nextrely += 1 + self.add_widget_intelligent( + npyscreen.TitleFixedText, name="RAM cache size (GB). Make this at least large enough to hold a single full model.", - value=clip(old_opts.max_cache_size, range=(3.0, MAX_RAM)), - out_of=MAX_RAM, - lowest=3, - begin_entry_at=6, + begin_entry_at=0, + editable=False, + color="CONTROL", + scroll_exit=True, + ) + self.nextrely -= 1 + self.max_cache_size = self.add_widget_intelligent( + npyscreen.Slider, + value=clip(old_opts.max_cache_size, range=(3.0, MAX_RAM), step=0.5), + out_of=round(MAX_RAM), + lowest=0.0, + step=0.5, + relx=8, scroll_exit=True, ) if HAS_CUDA: @@ -417,7 +427,7 @@ Use cursor arrows to make a checkbox selection, and space to toggle. self.nextrely -= 1 self.max_vram_cache_size = self.add_widget_intelligent( npyscreen.Slider, - value=clip(old_opts.max_vram_cache_size, range=(0, MAX_VRAM)), + value=clip(old_opts.max_vram_cache_size, range=(0, MAX_VRAM), step=0.25), out_of=round(MAX_VRAM * 2) / 2, lowest=0.0, relx=8, @@ -596,13 +606,13 @@ def default_user_selections(program_opts: Namespace) -> InstallSelections: # ------------------------------------- -def clip(value: float, range: tuple[float, float]) -> float: +def clip(value: float, range: tuple[float, float], step: float) -> float: minimum, maximum = range if value < minimum: value = minimum if value > maximum: value = maximum - return value + return round(value / step) * step # ------------------------------------- From 2ef6a8995b6e01365c84e173888ccbffd3516d06 Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Thu, 10 Aug 2023 23:17:09 +0300 Subject: [PATCH 147/287] Temporary force set vae to same precision as unet --- invokeai/app/invocations/generate.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/invokeai/app/invocations/generate.py b/invokeai/app/invocations/generate.py index 88a76e930c..c9d82ae8de 100644 --- a/invokeai/app/invocations/generate.py +++ b/invokeai/app/invocations/generate.py @@ -181,6 +181,8 @@ class InpaintInvocation(BaseInvocation): device = context.services.model_manager.mgr.cache.execution_device dtype = context.services.model_manager.mgr.cache.precision + vae.to(dtype=unet.dtype) + pipeline = StableDiffusionGeneratorPipeline( vae=vae, text_encoder=None, From 56023bc725a213981d335dde70f01704c7388cfc Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Fri, 11 Aug 2023 02:08:08 +0300 Subject: [PATCH 148/287] Add support for LyCORIS IA3 format --- invokeai/backend/model_management/lora.py | 5 +- .../backend/model_management/models/lora.py | 88 ++++++++++--------- invokeai/backend/model_management/util.py | 34 ++++--- 3 files changed, 71 insertions(+), 56 deletions(-) diff --git a/invokeai/backend/model_management/lora.py b/invokeai/backend/model_management/lora.py index e8e2b3f51f..3da27988dc 100644 --- a/invokeai/backend/model_management/lora.py +++ b/invokeai/backend/model_management/lora.py @@ -143,7 +143,7 @@ class ModelPatcher: # with torch.autocast(device_type="cpu"): layer.to(dtype=torch.float32) layer_scale = layer.alpha / layer.rank if (layer.alpha and layer.rank) else 1.0 - layer_weight = layer.get_weight() * lora_weight * layer_scale + layer_weight = layer.get_weight(original_weights[module_key]) * lora_weight * layer_scale if module.weight.shape != layer_weight.shape: # TODO: debug on lycoris @@ -361,7 +361,8 @@ class ONNXModelPatcher: layer.to(dtype=torch.float32) layer_key = layer_key.replace(prefix, "") - layer_weight = layer.get_weight().detach().cpu().numpy() * lora_weight + # TODO: rewrite to pass original tensor weight(required by ia3) + layer_weight = layer.get_weight(None).detach().cpu().numpy() * lora_weight if layer_key is blended_loras: blended_loras[layer_key] += layer_weight else: diff --git a/invokeai/backend/model_management/models/lora.py b/invokeai/backend/model_management/models/lora.py index 1983c05503..c3f25e6852 100644 --- a/invokeai/backend/model_management/models/lora.py +++ b/invokeai/backend/model_management/models/lora.py @@ -122,41 +122,7 @@ class LoRALayerBase: self.rank = None # set in layer implementation self.layer_key = layer_key - def forward( - self, - module: torch.nn.Module, - input_h: Any, # for real looks like Tuple[torch.nn.Tensor] but not sure - multiplier: float, - ): - if type(module) == torch.nn.Conv2d: - op = torch.nn.functional.conv2d - extra_args = dict( - stride=module.stride, - padding=module.padding, - dilation=module.dilation, - groups=module.groups, - ) - - else: - op = torch.nn.functional.linear - extra_args = {} - - weight = self.get_weight() - - bias = self.bias if self.bias is not None else 0 - scale = self.alpha / self.rank if (self.alpha and self.rank) else 1.0 - return ( - op( - *input_h, - (weight + bias).view(module.weight.shape), - None, - **extra_args, - ) - * multiplier - * scale - ) - - def get_weight(self): + def get_weight(self, orig_weight: torch.Tensor): raise NotImplementedError() def calc_size(self) -> int: @@ -197,7 +163,7 @@ class LoRALayer(LoRALayerBase): self.rank = self.down.shape[0] - def get_weight(self): + def get_weight(self, orig_weight: torch.Tensor): if self.mid is not None: up = self.up.reshape(self.up.shape[0], self.up.shape[1]) down = self.down.reshape(self.down.shape[0], self.down.shape[1]) @@ -260,7 +226,7 @@ class LoHALayer(LoRALayerBase): self.rank = self.w1_b.shape[0] - def get_weight(self): + def get_weight(self, orig_weight: torch.Tensor): if self.t1 is None: weight = (self.w1_a @ self.w1_b) * (self.w2_a @ self.w2_b) @@ -342,7 +308,7 @@ class LoKRLayer(LoRALayerBase): else: self.rank = None # unscaled - def get_weight(self): + def get_weight(self, orig_weight: torch.Tensor): w1 = self.w1 if w1 is None: w1 = self.w1_a @ self.w1_b @@ -410,7 +376,7 @@ class FullLayer(LoRALayerBase): self.rank = None # unscaled - def get_weight(self): + def get_weight(self, orig_weight: torch.Tensor): return self.weight def calc_size(self) -> int: @@ -427,6 +393,44 @@ class FullLayer(LoRALayerBase): self.weight = self.weight.to(device=device, dtype=dtype) +class IA3Layer(LoRALayerBase): + # weight: torch.Tensor + # on_input: torch.Tensor + + def __init__( + self, + layer_key: str, + values: dict, + ): + super().__init__(layer_key, values) + + self.weight = values["weight"] + self.on_input = values["on_input"] + + self.rank = None # unscaled + + def get_weight(self, orig_weight: torch.Tensor): + weight = self.weight + if not self.on_input: + weight = weight.reshape(-1, 1) + return orig_weight * weight + + def calc_size(self) -> int: + model_size = super().calc_size() + model_size += self.weight.nelement() * self.weight.element_size() + model_size += self.on_input.nelement() * self.on_input.element_size() + return model_size + + def to( + self, + device: Optional[torch.device] = None, + dtype: Optional[torch.dtype] = None, + ): + super().to(device=device, dtype=dtype) + + self.weight = self.weight.to(device=device, dtype=dtype) + self.on_input = self.on_input.to(device=device, dtype=dtype) + # TODO: rename all methods used in model logic with Info postfix and remove here Raw postfix class LoRAModelRaw: # (torch.nn.Module): @@ -547,11 +551,15 @@ class LoRAModelRaw: # (torch.nn.Module): elif "lokr_w1_b" in values or "lokr_w1" in values: layer = LoKRLayer(layer_key, values) + # diff elif "diff" in values: layer = FullLayer(layer_key, values) + # ia3 + elif "weight" in values and "on_input" in values: + layer = IA3Layer(layer_key, values) + else: - # TODO: ia3/... format print(f">> Encountered unknown lora layer module in {model.name}: {layer_key} - {list(values.keys())}") raise Exception("Unknown lora format!") diff --git a/invokeai/backend/model_management/util.py b/invokeai/backend/model_management/util.py index f435ab79b6..0702224bc7 100644 --- a/invokeai/backend/model_management/util.py +++ b/invokeai/backend/model_management/util.py @@ -12,37 +12,43 @@ def lora_token_vector_length(checkpoint: dict) -> int: def _get_shape_1(key, tensor, checkpoint): lora_token_vector_length = None + if "." not in key: + return lora_token_vector_length # wrong key format + model_key, lora_key = key.split(".", 1) + # check lora/locon - if ".lora_down.weight" in key: + if lora_key == "lora_down.weight": lora_token_vector_length = tensor.shape[1] # check loha (don't worry about hada_t1/hada_t2 as it used only in 4d shapes) - elif ".hada_w1_b" in key or ".hada_w2_b" in key: + elif lora_key in ["hada_w1_b", "hada_w2_b"]: lora_token_vector_length = tensor.shape[1] # check lokr (don't worry about lokr_t2 as it used only in 4d shapes) - elif ".lokr_" in key: - _lokr_key = key.split(".")[0] - - if _lokr_key + ".lokr_w1" in checkpoint: - _lokr_w1 = checkpoint[_lokr_key + ".lokr_w1"] - elif _lokr_key + "lokr_w1_b" in checkpoint: - _lokr_w1 = checkpoint[_lokr_key + ".lokr_w1_b"] + elif "lokr_" in lora_key: + if model_key + ".lokr_w1" in checkpoint: + _lokr_w1 = checkpoint[model_key + ".lokr_w1"] + elif model_key + "lokr_w1_b" in checkpoint: + _lokr_w1 = checkpoint[model_key + ".lokr_w1_b"] else: return lora_token_vector_length # unknown format - if _lokr_key + ".lokr_w2" in checkpoint: - _lokr_w2 = checkpoint[_lokr_key + ".lokr_w2"] - elif _lokr_key + "lokr_w2_b" in checkpoint: - _lokr_w2 = checkpoint[_lokr_key + ".lokr_w2_b"] + if model_key + ".lokr_w2" in checkpoint: + _lokr_w2 = checkpoint[model_key + ".lokr_w2"] + elif model_key + "lokr_w2_b" in checkpoint: + _lokr_w2 = checkpoint[model_key + ".lokr_w2_b"] else: return lora_token_vector_length # unknown format lora_token_vector_length = _lokr_w1.shape[1] * _lokr_w2.shape[1] - elif ".diff" in key: + elif lora_key == "diff": lora_token_vector_length = tensor.shape[1] + # ia3 can be detected only by shape[0] in text encoder + elif lora_key == "weight" and "lora_unet_" not in model_key: + lora_token_vector_length = tensor.shape[0] + return lora_token_vector_length lora_token_vector_length = None From c0c2ab3dcf1f1275193cdfe45e8175b6df780d6e Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Fri, 11 Aug 2023 03:20:56 +0300 Subject: [PATCH 149/287] Format by black --- invokeai/backend/model_management/models/lora.py | 1 + invokeai/backend/model_management/util.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/invokeai/backend/model_management/models/lora.py b/invokeai/backend/model_management/models/lora.py index c3f25e6852..88a50fb4fd 100644 --- a/invokeai/backend/model_management/models/lora.py +++ b/invokeai/backend/model_management/models/lora.py @@ -393,6 +393,7 @@ class FullLayer(LoRALayerBase): self.weight = self.weight.to(device=device, dtype=dtype) + class IA3Layer(LoRALayerBase): # weight: torch.Tensor # on_input: torch.Tensor diff --git a/invokeai/backend/model_management/util.py b/invokeai/backend/model_management/util.py index 0702224bc7..6d70107c93 100644 --- a/invokeai/backend/model_management/util.py +++ b/invokeai/backend/model_management/util.py @@ -13,7 +13,7 @@ def lora_token_vector_length(checkpoint: dict) -> int: lora_token_vector_length = None if "." not in key: - return lora_token_vector_length # wrong key format + return lora_token_vector_length # wrong key format model_key, lora_key = key.split(".", 1) # check lora/locon From f851ad7ba0fb80b822392328800a0be246fbf43a Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Thu, 10 Aug 2023 20:59:22 -0400 Subject: [PATCH 150/287] Two changes to command-line scripts - installer - use correct entry point for invokeai-configure - model merge script - prevent error when `--root` not provided --- installer/lib/installer.py | 2 +- invokeai/frontend/merge/merge_diffusers.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/installer/lib/installer.py b/installer/lib/installer.py index f8bd72d495..cc694c2934 100644 --- a/installer/lib/installer.py +++ b/installer/lib/installer.py @@ -348,7 +348,7 @@ class InvokeAiInstance: introduction() - from invokeai.frontend.install import invokeai_configure + from invokeai.frontend.install.invokeai_configure import invokeai_configure # NOTE: currently the config script does its own arg parsing! this means the command-line switches # from the installer will also automatically propagate down to the config script. diff --git a/invokeai/frontend/merge/merge_diffusers.py b/invokeai/frontend/merge/merge_diffusers.py index db493ec17f..f2e211a1b4 100644 --- a/invokeai/frontend/merge/merge_diffusers.py +++ b/invokeai/frontend/merge/merge_diffusers.py @@ -382,7 +382,8 @@ def run_cli(args: Namespace): def main(): args = _parse_args() - config.parse_args(["--root", str(args.root_dir)]) + if args.root_dir: + config.parse_args(["--root", str(args.root_dir)]) try: if args.front_end: From a7399aca0ce5b47728114ea1d1c7a67398fcfc0f Mon Sep 17 00:00:00 2001 From: Millun Atluri Date: Fri, 11 Aug 2023 11:53:52 +1000 Subject: [PATCH 151/287] Add new JS files for 3.0.2 build --- .../{App-4a928bb6.js => App-fd54b7b9.js} | 4 +- ...879.js => ThemeLocaleProvider-139ac716.js} | 2 +- .../{index-dd054634.js => index-815faab3.js} | 38 +++++++++---------- .../{menu-b42141e3.js => menu-e9f8a36e.js} | 2 +- invokeai/frontend/web/dist/index.html | 2 +- 5 files changed, 24 insertions(+), 24 deletions(-) rename invokeai/frontend/web/dist/assets/{App-4a928bb6.js => App-fd54b7b9.js} (87%) rename invokeai/frontend/web/dist/assets/{ThemeLocaleProvider-6fe89879.js => ThemeLocaleProvider-139ac716.js} (99%) rename invokeai/frontend/web/dist/assets/{index-dd054634.js => index-815faab3.js} (80%) rename invokeai/frontend/web/dist/assets/{menu-b42141e3.js => menu-e9f8a36e.js} (99%) diff --git a/invokeai/frontend/web/dist/assets/App-4a928bb6.js b/invokeai/frontend/web/dist/assets/App-fd54b7b9.js similarity index 87% rename from invokeai/frontend/web/dist/assets/App-4a928bb6.js rename to invokeai/frontend/web/dist/assets/App-fd54b7b9.js index 4b274bda51..592be24a90 100644 --- a/invokeai/frontend/web/dist/assets/App-4a928bb6.js +++ b/invokeai/frontend/web/dist/assets/App-fd54b7b9.js @@ -1,4 +1,4 @@ -import{t as Cv,r as dR,i as kv,a as Tc,b as P_,S as j_,c as I_,d as E_,e as _v,f as O_,g as Pv,h as fR,j as pR,k as hR,l as mR,m as R_,n as gR,o as vR,p as bR,q as M_,s as yR,u as xR,v as wR,w as SR,x as CR,y as kR,z as _R,A as f,B as i,C as cm,D as Lp,E as PR,F as D_,G as A_,H as jR,P as vd,I as X1,J as IR,K as ER,L as OR,M as RR,N as MR,O as DR,Q as AR,R as V2,T as TR,U as Ae,V as je,W as Ct,X as et,Y as bd,Z as mo,_ as Er,$ as Fr,a0 as qn,a1 as hl,a2 as ia,a3 as Ft,a4 as rs,a5 as nc,a6 as za,a7 as um,a8 as Y1,a9 as yd,aa as sr,ab as NR,ac as H,ad as U2,ae as $R,af as jv,ag as Nc,ah as LR,ai as T_,aj as N_,ak as $c,al as zR,am as be,an as Je,ao as Zt,ap as B,aq as BR,ar as G2,as as FR,at as HR,au as q2,av as te,aw as WR,ax as On,ay as Mn,az as Re,aA as W,aB as Ys,aC as lt,aD as Kn,aE as $_,aF as VR,aG as UR,aH as GR,aI as qR,aJ as _i,aK as Q1,aL as Ds,aM as jo,aN as dm,aO as KR,aP as XR,aQ as K2,aR as J1,aS as wa,aT as YR,aU as L_,aV as z_,aW as X2,aX as QR,aY as JR,aZ as B_,a_ as F_,a$ as Z1,b0 as ZR,b1 as e7,b2 as t7,b3 as Al,b4 as n7,b5 as r7,b6 as o7,b7 as s7,b8 as Y2,b9 as fi,ba as eb,bb as zp,bc as fm,bd as H_,be as W_,bf as Is,bg as V_,bh as a7,bi as Lc,bj as U_,bk as G_,bl as Es,bm as Iu,bn as Bp,bo as i7,bp as l7,bq as c7,br as u7,bs as Lf,bt as zf,bu as pu,bv as v0,bw as Lu,bx as zu,by as Bu,bz as Fu,bA as Q2,bB as Fp,bC as b0,bD as Hp,bE as J2,bF as Iv,bG as y0,bH as Ev,bI as x0,bJ as Wp,bK as Z2,bL as vc,bM as ew,bN as bc,bO as tw,bP as Vp,bQ as tb,bR as d7,bS as q_,bT as Ov,bU as Rv,bV as K_,bW as f7,bX as Mv,bY as p7,bZ as Dv,b_ as nb,b$ as rb,c0 as pm,c1 as h7,c2 as hm,c3 as Yl,c4 as X_,c5 as m7,c6 as jp,c7 as ob,c8 as Y_,c9 as g7,ca as hu,cb as Q_,cc as J_,cd as nw,ce as Ba,cf as v7,cg as Av,ch as b7,ci as y7,cj as x7,ck as w7,cl as sb,cm as ab,cn as S7,co as Bn,cp as rw,cq as Z_,cr as C7,cs as k7,ct as _7,cu as P7,cv as j7,cw as I7,cx as E7,cy as O7,cz as R7,cA as e5,cB as M7,cC as D7,cD as A7,cE as T7,cF as N7,cG as $7,cH as L7,cI as z7,cJ as B7,cK as F7,cL as ow,cM as H7,cN as sw,cO as W7,cP as V7,cQ as U7,cR as G7,cS as Qu,cT as oo,cU as xd,cV as wd,cW as q7,cX as Qn,cY as K7,cZ as na,c_ as ib,c$ as Sd,d0 as X7,d1 as Y7,d2 as Q7,d3 as aw,d4 as J7,d5 as Up,d6 as Z7,d7 as t5,d8 as iw,d9 as eM,da as tM,db as ws,dc as nM,dd as rM,de as n5,df as r5,dg as oM,dh as lw,di as sM,dj as aM,dk as iM,dl as mm,dm as lM,dn as o5,dp as cM,dq as uM,dr as s5,ds as dM,dt as fM,du as cw,dv as pM,dw as uw,dx as hM,dy as dw,dz as Bf,dA as mM,dB as lb,dC as a5,dD as gM,dE as vM,dF as bM,dG as ls,dH as yM,dI as xM,dJ as wM,dK as SM,dL as CM,dM as kM,dN as _M,dO as PM,dP as jM,dQ as IM,dR as EM,dS as OM,dT as RM,dU as MM,dV as DM,dW as fw,dX as pw,dY as AM,dZ as i5,d_ as l5,d$ as Cd,e0 as c5,e1 as Gi,e2 as u5,e3 as hw,e4 as TM,e5 as NM,e6 as d5,e7 as $M,e8 as LM,e9 as zM,ea as BM,eb as FM,ec as cb,ed as mw,ee as f5,ef as HM,eg as gw,eh as p5,ei as As,ej as WM,ek as h5,el as vw,em as VM,en as UM,eo as GM,ep as qM,eq as KM,er as XM,es as YM,et as QM,eu as JM,ev as ZM,ew as eD,ex as tD,ey as nD,ez as rD,eA as oD,eB as sD,eC as aD,eD as iD,eE as lD,eF as cD,eG as bw,eH as Ip,eI as uD,eJ as Gp,eK as m5,eL as Ju,eM as dD,eN as fD,eO as ea,eP as g5,eQ as ub,eR as kd,eS as pD,eT as hD,eU as mD,eV as Oa,eW as v5,eX as gD,eY as vD,eZ as b5,e_ as bD,e$ as yD,f0 as xD,f1 as wD,f2 as SD,f3 as CD,f4 as kD,f5 as _D,f6 as PD,f7 as jD,f8 as yw,f9 as ID,fa as ED,fb as OD,fc as RD,fd as MD,fe as DD,ff as AD,fg as TD,fh as w0,fi as Js,fj as S0,fk as C0,fl as Ff,fm as xw,fn as Tv,fo as ND,fp as $D,fq as LD,fr as zD,fs as qp,ft as y5,fu as x5,fv as BD,fw as FD,fx as w5,fy as S5,fz as C5,fA as k5,fB as _5,fC as P5,fD as j5,fE as I5,fF as rc,fG as oc,fH as E5,fI as O5,fJ as HD,fK as R5,fL as M5,fM as D5,fN as A5,fO as T5,fP as N5,fQ as db,fR as WD,fS as ww,fT as VD,fU as UD,fV as Kp,fW as Sw,fX as Cw,fY as kw,fZ as _w,f_ as GD,f$ as qD,g0 as KD,g1 as XD,g2 as YD,g3 as QD,g4 as JD,g5 as ZD,g6 as e9}from"./index-dd054634.js";import{u as t9,c as n9,a as Dn,b as or,I as fo,d as Fa,P as Zu,C as r9,e as ye,f as $5,g as Ha,h as o9,r as Ue,i as s9,j as Pw,k as Vt,l as Cr,m as ed}from"./menu-b42141e3.js";var jw=1/0,a9=17976931348623157e292;function k0(e){if(!e)return e===0?e:0;if(e=Cv(e),e===jw||e===-jw){var t=e<0?-1:1;return t*a9}return e===e?e:0}var i9=function(){return dR.Date.now()};const _0=i9;var l9="Expected a function",c9=Math.max,u9=Math.min;function d9(e,t,n){var r,o,s,a,c,d,p=0,h=!1,m=!1,v=!0;if(typeof e!="function")throw new TypeError(l9);t=Cv(t)||0,kv(n)&&(h=!!n.leading,m="maxWait"in n,s=m?c9(Cv(n.maxWait)||0,t):s,v="trailing"in n?!!n.trailing:v);function b(O){var R=r,M=o;return r=o=void 0,p=O,a=e.apply(M,R),a}function w(O){return p=O,c=setTimeout(k,t),h?b(O):a}function y(O){var R=O-d,M=O-p,D=t-R;return m?u9(D,s-M):D}function S(O){var R=O-d,M=O-p;return d===void 0||R>=t||R<0||m&&M>=s}function k(){var O=_0();if(S(O))return _(O);c=setTimeout(k,y(O))}function _(O){return c=void 0,v&&r?b(O):(r=o=void 0,a)}function P(){c!==void 0&&clearTimeout(c),p=0,r=d=o=c=void 0}function I(){return c===void 0?a:_(_0())}function E(){var O=_0(),R=S(O);if(r=arguments,o=this,d=O,R){if(c===void 0)return w(d);if(m)return clearTimeout(c),c=setTimeout(k,t),b(d)}return c===void 0&&(c=setTimeout(k,t)),a}return E.cancel=P,E.flush=I,E}var f9=200;function p9(e,t,n,r){var o=-1,s=I_,a=!0,c=e.length,d=[],p=t.length;if(!c)return d;n&&(t=Tc(t,P_(n))),r?(s=E_,a=!1):t.length>=f9&&(s=_v,a=!1,t=new j_(t));e:for(;++o=120&&h.length>=120)?new j_(a&&h):void 0}h=e[0];var m=-1,v=c[0];e:for(;++m{r.has(s)&&n(o,s)})}function D9(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}const L5=({id:e,x:t,y:n,width:r,height:o,style:s,color:a,strokeColor:c,strokeWidth:d,className:p,borderRadius:h,shapeRendering:m,onClick:v})=>{const{background:b,backgroundColor:w}=s||{},y=a||b||w;return i.jsx("rect",{className:cm(["react-flow__minimap-node",p]),x:t,y:n,rx:h,ry:h,width:r,height:o,fill:y,stroke:c,strokeWidth:d,shapeRendering:m,onClick:v?S=>v(S,e):void 0})};L5.displayName="MiniMapNode";var A9=f.memo(L5);const T9=e=>e.nodeOrigin,N9=e=>e.getNodes().filter(t=>!t.hidden&&t.width&&t.height),P0=e=>e instanceof Function?e:()=>e;function $9({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o=2,nodeComponent:s=A9,onClick:a}){const c=Lp(N9,X1),d=Lp(T9),p=P0(t),h=P0(e),m=P0(n),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return i.jsx(i.Fragment,{children:c.map(b=>{const{x:w,y}=PR(b,d).positionAbsolute;return i.jsx(s,{x:w,y,width:b.width,height:b.height,style:b.style,className:m(b),color:p(b),borderRadius:r,strokeColor:h(b),strokeWidth:o,shapeRendering:v,onClick:a,id:b.id},b.id)})})}var L9=f.memo($9);const z9=200,B9=150,F9=e=>{const t=e.getNodes(),n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:t.length>0?OR(RR(t,e.nodeOrigin),n):n,rfId:e.rfId}},H9="react-flow__minimap-desc";function z5({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:a=2,nodeComponent:c,maskColor:d="rgb(240, 240, 240, 0.6)",maskStrokeColor:p="none",maskStrokeWidth:h=1,position:m="bottom-right",onClick:v,onNodeClick:b,pannable:w=!1,zoomable:y=!1,ariaLabel:S="React Flow mini map",inversePan:k=!1,zoomStep:_=10}){const P=D_(),I=f.useRef(null),{boundingRect:E,viewBB:O,rfId:R}=Lp(F9,X1),M=(e==null?void 0:e.width)??z9,D=(e==null?void 0:e.height)??B9,A=E.width/M,L=E.height/D,Q=Math.max(A,L),F=Q*M,V=Q*D,q=5*Q,G=E.x-(F-E.width)/2-q,T=E.y-(V-E.height)/2-q,z=F+q*2,$=V+q*2,Y=`${H9}-${R}`,ae=f.useRef(0);ae.current=Q,f.useEffect(()=>{if(I.current){const X=A_(I.current),K=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le}=P.getState();if(re.sourceEvent.type!=="wheel"||!pe||!le)return;const ge=-re.sourceEvent.deltaY*(re.sourceEvent.deltaMode===1?.05:re.sourceEvent.deltaMode?1:.002)*_,ke=oe[2]*Math.pow(2,ge);le.scaleTo(pe,ke)},U=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le,translateExtent:ge,width:ke,height:xe}=P.getState();if(re.sourceEvent.type!=="mousemove"||!pe||!le)return;const de=ae.current*Math.max(1,oe[2])*(k?-1:1),Te={x:oe[0]-re.sourceEvent.movementX*de,y:oe[1]-re.sourceEvent.movementY*de},Ee=[[0,0],[ke,xe]],$e=IR.translate(Te.x,Te.y).scale(oe[2]),kt=le.constrain()($e,Ee,ge);le.transform(pe,kt)},se=jR().on("zoom",w?U:null).on("zoom.wheel",y?K:null);return X.call(se),()=>{X.on("zoom",null)}}},[w,y,k,_]);const fe=v?X=>{const K=ER(X);v(X,{x:K[0],y:K[1]})}:void 0,ie=b?(X,K)=>{const U=P.getState().nodeInternals.get(K);b(X,U)}:void 0;return i.jsx(vd,{position:m,style:e,className:cm(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:i.jsxs("svg",{width:M,height:D,viewBox:`${G} ${T} ${z} ${$}`,role:"img","aria-labelledby":Y,ref:I,onClick:fe,children:[S&&i.jsx("title",{id:Y,children:S}),i.jsx(L9,{onClick:ie,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:a,nodeComponent:c}),i.jsx("path",{className:"react-flow__minimap-mask",d:`M${G-q},${T-q}h${z+q*2}v${$+q*2}h${-z-q*2}z +import{t as Cv,r as dR,i as kv,a as Tc,b as P_,S as j_,c as I_,d as E_,e as _v,f as O_,g as Pv,h as fR,j as pR,k as hR,l as mR,m as R_,n as gR,o as vR,p as bR,q as M_,s as yR,u as xR,v as wR,w as SR,x as CR,y as kR,z as _R,A as f,B as i,C as cm,D as Lp,E as PR,F as D_,G as A_,H as jR,P as vd,I as X1,J as IR,K as ER,L as OR,M as RR,N as MR,O as DR,Q as AR,R as V2,T as TR,U as Ae,V as je,W as Ct,X as et,Y as bd,Z as mo,_ as Er,$ as Fr,a0 as qn,a1 as hl,a2 as ia,a3 as Ft,a4 as rs,a5 as nc,a6 as za,a7 as um,a8 as Y1,a9 as yd,aa as sr,ab as NR,ac as H,ad as U2,ae as $R,af as jv,ag as Nc,ah as LR,ai as T_,aj as N_,ak as $c,al as zR,am as be,an as Je,ao as Zt,ap as B,aq as BR,ar as G2,as as FR,at as HR,au as q2,av as te,aw as WR,ax as On,ay as Mn,az as Re,aA as W,aB as Ys,aC as lt,aD as Kn,aE as $_,aF as VR,aG as UR,aH as GR,aI as qR,aJ as _i,aK as Q1,aL as Ds,aM as jo,aN as dm,aO as KR,aP as XR,aQ as K2,aR as J1,aS as wa,aT as YR,aU as L_,aV as z_,aW as X2,aX as QR,aY as JR,aZ as B_,a_ as F_,a$ as Z1,b0 as ZR,b1 as e7,b2 as t7,b3 as Al,b4 as n7,b5 as r7,b6 as o7,b7 as s7,b8 as Y2,b9 as fi,ba as eb,bb as zp,bc as fm,bd as H_,be as W_,bf as Is,bg as V_,bh as a7,bi as Lc,bj as U_,bk as G_,bl as Es,bm as Iu,bn as Bp,bo as i7,bp as l7,bq as c7,br as u7,bs as Lf,bt as zf,bu as pu,bv as v0,bw as Lu,bx as zu,by as Bu,bz as Fu,bA as Q2,bB as Fp,bC as b0,bD as Hp,bE as J2,bF as Iv,bG as y0,bH as Ev,bI as x0,bJ as Wp,bK as Z2,bL as vc,bM as ew,bN as bc,bO as tw,bP as Vp,bQ as tb,bR as d7,bS as q_,bT as Ov,bU as Rv,bV as K_,bW as f7,bX as Mv,bY as p7,bZ as Dv,b_ as nb,b$ as rb,c0 as pm,c1 as h7,c2 as hm,c3 as Yl,c4 as X_,c5 as m7,c6 as jp,c7 as ob,c8 as Y_,c9 as g7,ca as hu,cb as Q_,cc as J_,cd as nw,ce as Ba,cf as v7,cg as Av,ch as b7,ci as y7,cj as x7,ck as w7,cl as sb,cm as ab,cn as S7,co as Bn,cp as rw,cq as Z_,cr as C7,cs as k7,ct as _7,cu as P7,cv as j7,cw as I7,cx as E7,cy as O7,cz as R7,cA as e5,cB as M7,cC as D7,cD as A7,cE as T7,cF as N7,cG as $7,cH as L7,cI as z7,cJ as B7,cK as F7,cL as ow,cM as H7,cN as sw,cO as W7,cP as V7,cQ as U7,cR as G7,cS as Qu,cT as oo,cU as xd,cV as wd,cW as q7,cX as Qn,cY as K7,cZ as na,c_ as ib,c$ as Sd,d0 as X7,d1 as Y7,d2 as Q7,d3 as aw,d4 as J7,d5 as Up,d6 as Z7,d7 as t5,d8 as iw,d9 as eM,da as tM,db as ws,dc as nM,dd as rM,de as n5,df as r5,dg as oM,dh as lw,di as sM,dj as aM,dk as iM,dl as mm,dm as lM,dn as o5,dp as cM,dq as uM,dr as s5,ds as dM,dt as fM,du as cw,dv as pM,dw as uw,dx as hM,dy as dw,dz as Bf,dA as mM,dB as lb,dC as a5,dD as gM,dE as vM,dF as bM,dG as ls,dH as yM,dI as xM,dJ as wM,dK as SM,dL as CM,dM as kM,dN as _M,dO as PM,dP as jM,dQ as IM,dR as EM,dS as OM,dT as RM,dU as MM,dV as DM,dW as fw,dX as pw,dY as AM,dZ as i5,d_ as l5,d$ as Cd,e0 as c5,e1 as Gi,e2 as u5,e3 as hw,e4 as TM,e5 as NM,e6 as d5,e7 as $M,e8 as LM,e9 as zM,ea as BM,eb as FM,ec as cb,ed as mw,ee as f5,ef as HM,eg as gw,eh as p5,ei as As,ej as WM,ek as h5,el as vw,em as VM,en as UM,eo as GM,ep as qM,eq as KM,er as XM,es as YM,et as QM,eu as JM,ev as ZM,ew as eD,ex as tD,ey as nD,ez as rD,eA as oD,eB as sD,eC as aD,eD as iD,eE as lD,eF as cD,eG as bw,eH as Ip,eI as uD,eJ as Gp,eK as m5,eL as Ju,eM as dD,eN as fD,eO as ea,eP as g5,eQ as ub,eR as kd,eS as pD,eT as hD,eU as mD,eV as Oa,eW as v5,eX as gD,eY as vD,eZ as b5,e_ as bD,e$ as yD,f0 as xD,f1 as wD,f2 as SD,f3 as CD,f4 as kD,f5 as _D,f6 as PD,f7 as jD,f8 as yw,f9 as ID,fa as ED,fb as OD,fc as RD,fd as MD,fe as DD,ff as AD,fg as TD,fh as w0,fi as Js,fj as S0,fk as C0,fl as Ff,fm as xw,fn as Tv,fo as ND,fp as $D,fq as LD,fr as zD,fs as qp,ft as y5,fu as x5,fv as BD,fw as FD,fx as w5,fy as S5,fz as C5,fA as k5,fB as _5,fC as P5,fD as j5,fE as I5,fF as rc,fG as oc,fH as E5,fI as O5,fJ as HD,fK as R5,fL as M5,fM as D5,fN as A5,fO as T5,fP as N5,fQ as db,fR as WD,fS as ww,fT as VD,fU as UD,fV as Kp,fW as Sw,fX as Cw,fY as kw,fZ as _w,f_ as GD,f$ as qD,g0 as KD,g1 as XD,g2 as YD,g3 as QD,g4 as JD,g5 as ZD,g6 as e9}from"./index-815faab3.js";import{u as t9,c as n9,a as Dn,b as or,I as fo,d as Fa,P as Zu,C as r9,e as ye,f as $5,g as Ha,h as o9,r as Ue,i as s9,j as Pw,k as Vt,l as Cr,m as ed}from"./menu-e9f8a36e.js";var jw=1/0,a9=17976931348623157e292;function k0(e){if(!e)return e===0?e:0;if(e=Cv(e),e===jw||e===-jw){var t=e<0?-1:1;return t*a9}return e===e?e:0}var i9=function(){return dR.Date.now()};const _0=i9;var l9="Expected a function",c9=Math.max,u9=Math.min;function d9(e,t,n){var r,o,s,a,c,d,p=0,h=!1,m=!1,v=!0;if(typeof e!="function")throw new TypeError(l9);t=Cv(t)||0,kv(n)&&(h=!!n.leading,m="maxWait"in n,s=m?c9(Cv(n.maxWait)||0,t):s,v="trailing"in n?!!n.trailing:v);function b(O){var R=r,M=o;return r=o=void 0,p=O,a=e.apply(M,R),a}function w(O){return p=O,c=setTimeout(k,t),h?b(O):a}function y(O){var R=O-d,M=O-p,D=t-R;return m?u9(D,s-M):D}function S(O){var R=O-d,M=O-p;return d===void 0||R>=t||R<0||m&&M>=s}function k(){var O=_0();if(S(O))return _(O);c=setTimeout(k,y(O))}function _(O){return c=void 0,v&&r?b(O):(r=o=void 0,a)}function P(){c!==void 0&&clearTimeout(c),p=0,r=d=o=c=void 0}function I(){return c===void 0?a:_(_0())}function E(){var O=_0(),R=S(O);if(r=arguments,o=this,d=O,R){if(c===void 0)return w(d);if(m)return clearTimeout(c),c=setTimeout(k,t),b(d)}return c===void 0&&(c=setTimeout(k,t)),a}return E.cancel=P,E.flush=I,E}var f9=200;function p9(e,t,n,r){var o=-1,s=I_,a=!0,c=e.length,d=[],p=t.length;if(!c)return d;n&&(t=Tc(t,P_(n))),r?(s=E_,a=!1):t.length>=f9&&(s=_v,a=!1,t=new j_(t));e:for(;++o=120&&h.length>=120)?new j_(a&&h):void 0}h=e[0];var m=-1,v=c[0];e:for(;++m{r.has(s)&&n(o,s)})}function D9(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}const L5=({id:e,x:t,y:n,width:r,height:o,style:s,color:a,strokeColor:c,strokeWidth:d,className:p,borderRadius:h,shapeRendering:m,onClick:v})=>{const{background:b,backgroundColor:w}=s||{},y=a||b||w;return i.jsx("rect",{className:cm(["react-flow__minimap-node",p]),x:t,y:n,rx:h,ry:h,width:r,height:o,fill:y,stroke:c,strokeWidth:d,shapeRendering:m,onClick:v?S=>v(S,e):void 0})};L5.displayName="MiniMapNode";var A9=f.memo(L5);const T9=e=>e.nodeOrigin,N9=e=>e.getNodes().filter(t=>!t.hidden&&t.width&&t.height),P0=e=>e instanceof Function?e:()=>e;function $9({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o=2,nodeComponent:s=A9,onClick:a}){const c=Lp(N9,X1),d=Lp(T9),p=P0(t),h=P0(e),m=P0(n),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return i.jsx(i.Fragment,{children:c.map(b=>{const{x:w,y}=PR(b,d).positionAbsolute;return i.jsx(s,{x:w,y,width:b.width,height:b.height,style:b.style,className:m(b),color:p(b),borderRadius:r,strokeColor:h(b),strokeWidth:o,shapeRendering:v,onClick:a,id:b.id},b.id)})})}var L9=f.memo($9);const z9=200,B9=150,F9=e=>{const t=e.getNodes(),n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:t.length>0?OR(RR(t,e.nodeOrigin),n):n,rfId:e.rfId}},H9="react-flow__minimap-desc";function z5({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:a=2,nodeComponent:c,maskColor:d="rgb(240, 240, 240, 0.6)",maskStrokeColor:p="none",maskStrokeWidth:h=1,position:m="bottom-right",onClick:v,onNodeClick:b,pannable:w=!1,zoomable:y=!1,ariaLabel:S="React Flow mini map",inversePan:k=!1,zoomStep:_=10}){const P=D_(),I=f.useRef(null),{boundingRect:E,viewBB:O,rfId:R}=Lp(F9,X1),M=(e==null?void 0:e.width)??z9,D=(e==null?void 0:e.height)??B9,A=E.width/M,L=E.height/D,Q=Math.max(A,L),F=Q*M,V=Q*D,q=5*Q,G=E.x-(F-E.width)/2-q,T=E.y-(V-E.height)/2-q,z=F+q*2,$=V+q*2,Y=`${H9}-${R}`,ae=f.useRef(0);ae.current=Q,f.useEffect(()=>{if(I.current){const X=A_(I.current),K=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le}=P.getState();if(re.sourceEvent.type!=="wheel"||!pe||!le)return;const ge=-re.sourceEvent.deltaY*(re.sourceEvent.deltaMode===1?.05:re.sourceEvent.deltaMode?1:.002)*_,ke=oe[2]*Math.pow(2,ge);le.scaleTo(pe,ke)},U=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le,translateExtent:ge,width:ke,height:xe}=P.getState();if(re.sourceEvent.type!=="mousemove"||!pe||!le)return;const de=ae.current*Math.max(1,oe[2])*(k?-1:1),Te={x:oe[0]-re.sourceEvent.movementX*de,y:oe[1]-re.sourceEvent.movementY*de},Ee=[[0,0],[ke,xe]],$e=IR.translate(Te.x,Te.y).scale(oe[2]),kt=le.constrain()($e,Ee,ge);le.transform(pe,kt)},se=jR().on("zoom",w?U:null).on("zoom.wheel",y?K:null);return X.call(se),()=>{X.on("zoom",null)}}},[w,y,k,_]);const fe=v?X=>{const K=ER(X);v(X,{x:K[0],y:K[1]})}:void 0,ie=b?(X,K)=>{const U=P.getState().nodeInternals.get(K);b(X,U)}:void 0;return i.jsx(vd,{position:m,style:e,className:cm(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:i.jsxs("svg",{width:M,height:D,viewBox:`${G} ${T} ${z} ${$}`,role:"img","aria-labelledby":Y,ref:I,onClick:fe,children:[S&&i.jsx("title",{id:Y,children:S}),i.jsx(L9,{onClick:ie,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:a,nodeComponent:c}),i.jsx("path",{className:"react-flow__minimap-mask",d:`M${G-q},${T-q}h${z+q*2}v${$+q*2}h${-z-q*2}z M${O.x},${O.y}h${O.width}v${O.height}h${-O.width}z`,fill:d,fillRule:"evenodd",stroke:p,strokeWidth:h,pointerEvents:"none"})]})})}z5.displayName="MiniMap";var W9=f.memo(z5),Ss;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Ss||(Ss={}));function V9({color:e,dimensions:t,lineWidth:n}){return i.jsx("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function U9({color:e,radius:t}){return i.jsx("circle",{cx:t,cy:t,r:t,fill:e})}const G9={[Ss.Dots]:"#91919a",[Ss.Lines]:"#eee",[Ss.Cross]:"#e2e2e2"},q9={[Ss.Dots]:1,[Ss.Lines]:1,[Ss.Cross]:6},K9=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function B5({id:e,variant:t=Ss.Dots,gap:n=20,size:r,lineWidth:o=1,offset:s=2,color:a,style:c,className:d}){const p=f.useRef(null),{transform:h,patternId:m}=Lp(K9,X1),v=a||G9[t],b=r||q9[t],w=t===Ss.Dots,y=t===Ss.Cross,S=Array.isArray(n)?n:[n,n],k=[S[0]*h[2]||1,S[1]*h[2]||1],_=b*h[2],P=y?[_,_]:k,I=w?[_/s,_/s]:[P[0]/s,P[1]/s];return i.jsxs("svg",{className:cm(["react-flow__background",d]),style:{...c,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:p,"data-testid":"rf__background",children:[i.jsx("pattern",{id:m+e,x:h[0]%k[0],y:h[1]%k[1],width:k[0],height:k[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${I[0]},-${I[1]})`,children:w?i.jsx(U9,{color:v,radius:_/s}):i.jsx(V9,{dimensions:P,color:v,lineWidth:o})}),i.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${m+e})`})]})}B5.displayName="Background";var X9=f.memo(B5),Hu;(function(e){e.Line="line",e.Handle="handle"})(Hu||(Hu={}));function Y9({width:e,prevWidth:t,height:n,prevHeight:r,invertX:o,invertY:s}){const a=e-t,c=n-r,d=[a>0?1:a<0?-1:0,c>0?1:c<0?-1:0];return a&&o&&(d[0]=d[0]*-1),c&&s&&(d[1]=d[1]*-1),d}const F5={width:0,height:0,x:0,y:0},Q9={...F5,pointerX:0,pointerY:0,aspectRatio:1};function J9({nodeId:e,position:t,variant:n=Hu.Handle,className:r,style:o={},children:s,color:a,minWidth:c=10,minHeight:d=10,maxWidth:p=Number.MAX_VALUE,maxHeight:h=Number.MAX_VALUE,keepAspectRatio:m=!1,shouldResize:v,onResizeStart:b,onResize:w,onResizeEnd:y}){const S=MR(),k=typeof e=="string"?e:S,_=D_(),P=f.useRef(null),I=f.useRef(Q9),E=f.useRef(F5),O=DR(),R=n===Hu.Line?"right":"bottom-right",M=t??R;f.useEffect(()=>{if(!P.current||!k)return;const Q=A_(P.current),F=M.includes("right")||M.includes("left"),V=M.includes("bottom")||M.includes("top"),q=M.includes("left"),G=M.includes("top"),T=AR().on("start",z=>{const $=_.getState().nodeInternals.get(k),{xSnapped:Y,ySnapped:ae}=O(z);E.current={width:($==null?void 0:$.width)??0,height:($==null?void 0:$.height)??0,x:($==null?void 0:$.position.x)??0,y:($==null?void 0:$.position.y)??0},I.current={...E.current,pointerX:Y,pointerY:ae,aspectRatio:E.current.width/E.current.height},b==null||b(z,{...E.current})}).on("drag",z=>{const{nodeInternals:$,triggerNodeChanges:Y}=_.getState(),{xSnapped:ae,ySnapped:fe}=O(z),ie=$.get(k);if(ie){const X=[],{pointerX:K,pointerY:U,width:se,height:re,x:oe,y:pe,aspectRatio:le}=I.current,{x:ge,y:ke,width:xe,height:de}=E.current,Te=Math.floor(F?ae-K:0),Ee=Math.floor(V?fe-U:0);let $e=V2(se+(q?-Te:Te),c,p),kt=V2(re+(G?-Ee:Ee),d,h);if(m){const Me=$e/kt,Pt=F&&V,Tt=F&&!V,we=V&&!F;$e=Me<=le&&Pt||we?kt*le:$e,kt=Me>le&&Pt||Tt?$e/le:kt,$e>=p?($e=p,kt=p/le):$e<=c&&($e=c,kt=c/le),kt>=h?(kt=h,$e=h*le):kt<=d&&(kt=d,$e=d*le)}const ct=$e!==xe,on=kt!==de;if(q||G){const Me=q?oe-($e-se):oe,Pt=G?pe-(kt-re):pe,Tt=Me!==ge&&ct,we=Pt!==ke&&on;if(Tt||we){const ht={id:ie.id,type:"position",position:{x:Tt?Me:ge,y:we?Pt:ke}};X.push(ht),E.current.x=ht.position.x,E.current.y=ht.position.y}}if(ct||on){const Me={id:k,type:"dimensions",updateStyle:!0,resizing:!0,dimensions:{width:$e,height:kt}};X.push(Me),E.current.width=$e,E.current.height=kt}if(X.length===0)return;const vt=Y9({width:E.current.width,prevWidth:xe,height:E.current.height,prevHeight:de,invertX:q,invertY:G}),bt={...E.current,direction:vt};if((v==null?void 0:v(z,bt))===!1)return;w==null||w(z,bt),Y(X)}}).on("end",z=>{const $={id:k,type:"dimensions",resizing:!1};y==null||y(z,{...E.current}),_.getState().triggerNodeChanges([$])});return Q.call(T),()=>{Q.on(".drag",null)}},[k,M,c,d,p,h,m,O,b,w,y]);const D=M.split("-"),A=n===Hu.Line?"borderColor":"backgroundColor",L=a?{...o,[A]:a}:o;return i.jsx("div",{className:cm(["react-flow__resize-control","nodrag",...D,n,r]),ref:P,style:L,children:s})}var Z9=f.memo(J9);function eA(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function H5(e){var t;return eA(e)&&(t=e.ownerDocument)!=null?t:document}function tA(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var nA=tA();const W5=1/60*1e3,rA=typeof performance<"u"?()=>performance.now():()=>Date.now(),V5=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(rA()),W5);function oA(e){let t=[],n=[],r=0,o=!1,s=!1;const a=new WeakSet,c={schedule:(d,p=!1,h=!1)=>{const m=h&&o,v=m?t:n;return p&&a.add(d),v.indexOf(d)===-1&&(v.push(d),m&&o&&(r=t.length)),d},cancel:d=>{const p=n.indexOf(d);p!==-1&&n.splice(p,1),a.delete(d)},process:d=>{if(o){s=!0;return}if(o=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let p=0;p(e[t]=oA(()=>td=!0),e),{}),aA=_d.reduce((e,t)=>{const n=gm[t];return e[t]=(r,o=!1,s=!1)=>(td||cA(),n.schedule(r,o,s)),e},{}),iA=_d.reduce((e,t)=>(e[t]=gm[t].cancel,e),{});_d.reduce((e,t)=>(e[t]=()=>gm[t].process(sc),e),{});const lA=e=>gm[e].process(sc),U5=e=>{td=!1,sc.delta=Nv?W5:Math.max(Math.min(e-sc.timestamp,sA),1),sc.timestamp=e,$v=!0,_d.forEach(lA),$v=!1,td&&(Nv=!1,V5(U5))},cA=()=>{td=!0,Nv=!0,$v||V5(U5)},Rw=()=>sc;function fb(e){const t=Object.assign({},e);for(let n in t)t[n]===void 0&&delete t[n];return t}function uA(e){const{theme:t}=TR(),n=t9();return f.useMemo(()=>n9(t.direction,{...n,...e}),[e,t.direction,n])}var dA=Object.defineProperty,fA=(e,t,n)=>t in e?dA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vr=(e,t,n)=>(fA(e,typeof t!="symbol"?t+"":t,n),n);function Mw(e){return e.sort((t,n)=>{const r=t.compareDocumentPosition(n);if(r&Node.DOCUMENT_POSITION_FOLLOWING||r&Node.DOCUMENT_POSITION_CONTAINED_BY)return-1;if(r&Node.DOCUMENT_POSITION_PRECEDING||r&Node.DOCUMENT_POSITION_CONTAINS)return 1;if(r&Node.DOCUMENT_POSITION_DISCONNECTED||r&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC)throw Error("Cannot sort the given nodes.");return 0})}var pA=e=>typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE;function Dw(e,t,n){let r=e+1;return n&&r>=t&&(r=0),r}function Aw(e,t,n){let r=e-1;return n&&r<0&&(r=t),r}var Lv=typeof window<"u"?f.useLayoutEffect:f.useEffect,Xp=e=>e,hA=class{constructor(){vr(this,"descendants",new Map),vr(this,"register",e=>{if(e!=null)return pA(e)?this.registerNode(e):t=>{this.registerNode(t,e)}}),vr(this,"unregister",e=>{this.descendants.delete(e);const t=Mw(Array.from(this.descendants.keys()));this.assignIndex(t)}),vr(this,"destroy",()=>{this.descendants.clear()}),vr(this,"assignIndex",e=>{this.descendants.forEach(t=>{const n=e.indexOf(t.node);t.index=n,t.node.dataset.index=t.index.toString()})}),vr(this,"count",()=>this.descendants.size),vr(this,"enabledCount",()=>this.enabledValues().length),vr(this,"values",()=>Array.from(this.descendants.values()).sort((t,n)=>t.index-n.index)),vr(this,"enabledValues",()=>this.values().filter(e=>!e.disabled)),vr(this,"item",e=>{if(this.count()!==0)return this.values()[e]}),vr(this,"enabledItem",e=>{if(this.enabledCount()!==0)return this.enabledValues()[e]}),vr(this,"first",()=>this.item(0)),vr(this,"firstEnabled",()=>this.enabledItem(0)),vr(this,"last",()=>this.item(this.descendants.size-1)),vr(this,"lastEnabled",()=>{const e=this.enabledValues().length-1;return this.enabledItem(e)}),vr(this,"indexOf",e=>{var t,n;return e&&(n=(t=this.descendants.get(e))==null?void 0:t.index)!=null?n:-1}),vr(this,"enabledIndexOf",e=>e==null?-1:this.enabledValues().findIndex(t=>t.node.isSameNode(e))),vr(this,"next",(e,t=!0)=>{const n=Dw(e,this.count(),t);return this.item(n)}),vr(this,"nextEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=Dw(r,this.enabledCount(),t);return this.enabledItem(o)}),vr(this,"prev",(e,t=!0)=>{const n=Aw(e,this.count()-1,t);return this.item(n)}),vr(this,"prevEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=Aw(r,this.enabledCount()-1,t);return this.enabledItem(o)}),vr(this,"registerNode",(e,t)=>{if(!e||this.descendants.has(e))return;const n=Array.from(this.descendants.keys()).concat(e),r=Mw(n);t!=null&&t.disabled&&(t.disabled=!!t.disabled);const o={node:e,index:-1,...t};this.descendants.set(e,o),this.assignIndex(r)})}};function mA(e,t){if(e!=null){if(typeof e=="function"){e(t);return}try{e.current=t}catch{throw new Error(`Cannot assign value '${t}' to ref '${e}'`)}}}function cn(...e){return t=>{e.forEach(n=>{mA(n,t)})}}function gA(...e){return f.useMemo(()=>cn(...e),e)}function vA(){const e=f.useRef(new hA);return Lv(()=>()=>e.current.destroy()),e.current}var[bA,G5]=Dn({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function yA(e){const t=G5(),[n,r]=f.useState(-1),o=f.useRef(null);Lv(()=>()=>{o.current&&t.unregister(o.current)},[]),Lv(()=>{if(!o.current)return;const a=Number(o.current.dataset.index);n!=a&&!Number.isNaN(a)&&r(a)});const s=Xp(e?t.register(e):t.register);return{descendants:t,index:n,enabledIndex:t.enabledIndexOf(o.current),register:cn(s,o)}}function pb(){return[Xp(bA),()=>Xp(G5()),()=>vA(),o=>yA(o)]}var[xA,vm]=Dn({name:"AccordionStylesContext",hookName:"useAccordionStyles",providerName:""}),[wA,hb]=Dn({name:"AccordionItemContext",hookName:"useAccordionItemContext",providerName:""}),[SA,Xde,CA,kA]=pb(),Eu=Ae(function(t,n){const{getButtonProps:r}=hb(),o=r(t,n),a={display:"flex",alignItems:"center",width:"100%",outline:0,...vm().button};return i.jsx(je.button,{...o,className:Ct("chakra-accordion__button",t.className),__css:a})});Eu.displayName="AccordionButton";function zc(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:o=(v,b)=>v!==b}=e,s=or(r),a=or(o),[c,d]=f.useState(n),p=t!==void 0,h=p?t:c,m=or(v=>{const w=typeof v=="function"?v(h):v;a(h,w)&&(p||d(w),s(w))},[p,s,h,a]);return[h,m]}function _A(e){const{onChange:t,defaultIndex:n,index:r,allowMultiple:o,allowToggle:s,...a}=e;IA(e),EA(e);const c=CA(),[d,p]=f.useState(-1);f.useEffect(()=>()=>{p(-1)},[]);const[h,m]=zc({value:r,defaultValue(){return o?n??[]:n??-1},onChange:t});return{index:h,setIndex:m,htmlProps:a,getAccordionItemProps:b=>{let w=!1;return b!==null&&(w=Array.isArray(h)?h.includes(b):h===b),{isOpen:w,onChange:S=>{if(b!==null)if(o&&Array.isArray(h)){const k=S?h.concat(b):h.filter(_=>_!==b);m(k)}else S?m(b):s&&m(-1)}}},focusedIndex:d,setFocusedIndex:p,descendants:c}}var[PA,mb]=Dn({name:"AccordionContext",hookName:"useAccordionContext",providerName:"Accordion"});function jA(e){const{isDisabled:t,isFocusable:n,id:r,...o}=e,{getAccordionItemProps:s,setFocusedIndex:a}=mb(),c=f.useRef(null),d=f.useId(),p=r??d,h=`accordion-button-${p}`,m=`accordion-panel-${p}`;OA(e);const{register:v,index:b,descendants:w}=kA({disabled:t&&!n}),{isOpen:y,onChange:S}=s(b===-1?null:b);RA({isOpen:y,isDisabled:t});const k=()=>{S==null||S(!0)},_=()=>{S==null||S(!1)},P=f.useCallback(()=>{S==null||S(!y),a(b)},[b,a,y,S]),I=f.useCallback(M=>{const A={ArrowDown:()=>{const L=w.nextEnabled(b);L==null||L.node.focus()},ArrowUp:()=>{const L=w.prevEnabled(b);L==null||L.node.focus()},Home:()=>{const L=w.firstEnabled();L==null||L.node.focus()},End:()=>{const L=w.lastEnabled();L==null||L.node.focus()}}[M.key];A&&(M.preventDefault(),A(M))},[w,b]),E=f.useCallback(()=>{a(b)},[a,b]),O=f.useCallback(function(D={},A=null){return{...D,type:"button",ref:cn(v,c,A),id:h,disabled:!!t,"aria-expanded":!!y,"aria-controls":m,onClick:et(D.onClick,P),onFocus:et(D.onFocus,E),onKeyDown:et(D.onKeyDown,I)}},[h,t,y,P,E,I,m,v]),R=f.useCallback(function(D={},A=null){return{...D,ref:A,role:"region",id:m,"aria-labelledby":h,hidden:!y}},[h,y,m]);return{isOpen:y,isDisabled:t,isFocusable:n,onOpen:k,onClose:_,getButtonProps:O,getPanelProps:R,htmlProps:o}}function IA(e){const t=e.index||e.defaultIndex,n=t!=null&&!Array.isArray(t)&&e.allowMultiple;bd({condition:!!n,message:`If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: ${typeof t},`})}function EA(e){bd({condition:!!(e.allowMultiple&&e.allowToggle),message:"If 'allowMultiple' is passed, 'allowToggle' will be ignored. Either remove 'allowToggle' or 'allowMultiple' depending on whether you want multiple accordions visible or not"})}function OA(e){bd({condition:!!(e.isFocusable&&!e.isDisabled),message:`Using only 'isFocusable', this prop is reserved for situations where you pass 'isDisabled' but you still want the element to receive focus (A11y). Either remove it or pass 'isDisabled' as well. `})}function RA(e){bd({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}function Ou(e){const{isOpen:t,isDisabled:n}=hb(),{reduceMotion:r}=mb(),o=Ct("chakra-accordion__icon",e.className),s=vm(),a={opacity:n?.4:1,transform:t?"rotate(-180deg)":void 0,transition:r?void 0:"transform 0.2s",transformOrigin:"center",...s.icon};return i.jsx(fo,{viewBox:"0 0 24 24","aria-hidden":!0,className:o,__css:a,...e,children:i.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})})}Ou.displayName="AccordionIcon";var Ru=Ae(function(t,n){const{children:r,className:o}=t,{htmlProps:s,...a}=jA(t),d={...vm().container,overflowAnchor:"none"},p=f.useMemo(()=>a,[a]);return i.jsx(wA,{value:p,children:i.jsx(je.div,{ref:n,...s,className:Ct("chakra-accordion__item",o),__css:d,children:typeof r=="function"?r({isExpanded:!!a.isOpen,isDisabled:!!a.isDisabled}):r})})});Ru.displayName="AccordionItem";var qi={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]},mu={scale:{enter:{scale:1},exit:{scale:.95}},fade:{enter:{opacity:1},exit:{opacity:0}},pushLeft:{enter:{x:"100%"},exit:{x:"-30%"}},pushRight:{enter:{x:"-100%"},exit:{x:"30%"}},pushUp:{enter:{y:"100%"},exit:{y:"-30%"}},pushDown:{enter:{y:"-100%"},exit:{y:"30%"}},slideLeft:{position:{left:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"-100%",y:0}},slideRight:{position:{right:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"100%",y:0}},slideUp:{position:{top:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"-100%"}},slideDown:{position:{bottom:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"100%"}}};function zv(e){var t;switch((t=e==null?void 0:e.direction)!=null?t:"right"){case"right":return mu.slideRight;case"left":return mu.slideLeft;case"bottom":return mu.slideDown;case"top":return mu.slideUp;default:return mu.slideRight}}var Xi={enter:{duration:.2,ease:qi.easeOut},exit:{duration:.1,ease:qi.easeIn}},Cs={enter:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.enter}),exit:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.exit})},MA=e=>e!=null&&parseInt(e.toString(),10)>0,Tw={exit:{height:{duration:.2,ease:qi.ease},opacity:{duration:.3,ease:qi.ease}},enter:{height:{duration:.3,ease:qi.ease},opacity:{duration:.4,ease:qi.ease}}},DA={exit:({animateOpacity:e,startingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:MA(t)?1:0},height:t,transitionEnd:r==null?void 0:r.exit,transition:(s=n==null?void 0:n.exit)!=null?s:Cs.exit(Tw.exit,o)}},enter:({animateOpacity:e,endingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:1},height:t,transitionEnd:r==null?void 0:r.enter,transition:(s=n==null?void 0:n.enter)!=null?s:Cs.enter(Tw.enter,o)}}},bm=f.forwardRef((e,t)=>{const{in:n,unmountOnExit:r,animateOpacity:o=!0,startingHeight:s=0,endingHeight:a="auto",style:c,className:d,transition:p,transitionEnd:h,...m}=e,[v,b]=f.useState(!1);f.useEffect(()=>{const _=setTimeout(()=>{b(!0)});return()=>clearTimeout(_)},[]),bd({condition:Number(s)>0&&!!r,message:"startingHeight and unmountOnExit are mutually exclusive. You can't use them together"});const w=parseFloat(s.toString())>0,y={startingHeight:s,endingHeight:a,animateOpacity:o,transition:v?p:{enter:{duration:0}},transitionEnd:{enter:h==null?void 0:h.enter,exit:r?h==null?void 0:h.exit:{...h==null?void 0:h.exit,display:w?"block":"none"}}},S=r?n:!0,k=n||r?"enter":"exit";return i.jsx(mo,{initial:!1,custom:y,children:S&&i.jsx(Er.div,{ref:t,...m,className:Ct("chakra-collapse",d),style:{overflow:"hidden",display:"block",...c},custom:y,variants:DA,initial:r?"exit":!1,animate:k,exit:"exit"})})});bm.displayName="Collapse";var AA={enter:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:1,transition:(r=e==null?void 0:e.enter)!=null?r:Cs.enter(Xi.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:0,transition:(r=e==null?void 0:e.exit)!=null?r:Cs.exit(Xi.exit,n),transitionEnd:t==null?void 0:t.exit}}},q5={initial:"exit",animate:"enter",exit:"exit",variants:AA},TA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,className:s,transition:a,transitionEnd:c,delay:d,...p}=t,h=o||r?"enter":"exit",m=r?o&&r:!0,v={transition:a,transitionEnd:c,delay:d};return i.jsx(mo,{custom:v,children:m&&i.jsx(Er.div,{ref:n,className:Ct("chakra-fade",s),custom:v,...q5,animate:h,...p})})});TA.displayName="Fade";var NA={exit:({reverse:e,initialScale:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,...e?{scale:t,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{scale:t,...r==null?void 0:r.exit}},transition:(s=n==null?void 0:n.exit)!=null?s:Cs.exit(Xi.exit,o)}},enter:({transitionEnd:e,transition:t,delay:n})=>{var r;return{opacity:1,scale:1,transition:(r=t==null?void 0:t.enter)!=null?r:Cs.enter(Xi.enter,n),transitionEnd:e==null?void 0:e.enter}}},K5={initial:"exit",animate:"enter",exit:"exit",variants:NA},$A=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,initialScale:a=.95,className:c,transition:d,transitionEnd:p,delay:h,...m}=t,v=r?o&&r:!0,b=o||r?"enter":"exit",w={initialScale:a,reverse:s,transition:d,transitionEnd:p,delay:h};return i.jsx(mo,{custom:w,children:v&&i.jsx(Er.div,{ref:n,className:Ct("chakra-offset-slide",c),...K5,animate:b,custom:w,...m})})});$A.displayName="ScaleFade";var LA={initial:({offsetX:e,offsetY:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,x:e,y:t,transition:(s=n==null?void 0:n.exit)!=null?s:Cs.exit(Xi.exit,o),transitionEnd:r==null?void 0:r.exit}},enter:({transition:e,transitionEnd:t,delay:n})=>{var r;return{opacity:1,x:0,y:0,transition:(r=e==null?void 0:e.enter)!=null?r:Cs.enter(Xi.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({offsetY:e,offsetX:t,transition:n,transitionEnd:r,reverse:o,delay:s})=>{var a;const c={x:t,y:e};return{opacity:0,transition:(a=n==null?void 0:n.exit)!=null?a:Cs.exit(Xi.exit,s),...o?{...c,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{...c,...r==null?void 0:r.exit}}}}},Bv={initial:"initial",animate:"enter",exit:"exit",variants:LA},zA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,className:a,offsetX:c=0,offsetY:d=8,transition:p,transitionEnd:h,delay:m,...v}=t,b=r?o&&r:!0,w=o||r?"enter":"exit",y={offsetX:c,offsetY:d,reverse:s,transition:p,transitionEnd:h,delay:m};return i.jsx(mo,{custom:y,children:b&&i.jsx(Er.div,{ref:n,className:Ct("chakra-offset-slide",a),custom:y,...Bv,animate:w,...v})})});zA.displayName="SlideFade";var Nw={exit:{duration:.15,ease:qi.easeInOut},enter:{type:"spring",damping:25,stiffness:180}},BA={exit:({direction:e,transition:t,transitionEnd:n,delay:r})=>{var o;const{exit:s}=zv({direction:e});return{...s,transition:(o=t==null?void 0:t.exit)!=null?o:Cs.exit(Nw.exit,r),transitionEnd:n==null?void 0:n.exit}},enter:({direction:e,transitionEnd:t,transition:n,delay:r})=>{var o;const{enter:s}=zv({direction:e});return{...s,transition:(o=n==null?void 0:n.enter)!=null?o:Cs.enter(Nw.enter,r),transitionEnd:t==null?void 0:t.enter}}},X5=f.forwardRef(function(t,n){const{direction:r="right",style:o,unmountOnExit:s,in:a,className:c,transition:d,transitionEnd:p,delay:h,motionProps:m,...v}=t,b=zv({direction:r}),w=Object.assign({position:"fixed"},b.position,o),y=s?a&&s:!0,S=a||s?"enter":"exit",k={transitionEnd:p,transition:d,direction:r,delay:h};return i.jsx(mo,{custom:k,children:y&&i.jsx(Er.div,{...v,ref:n,initial:"exit",className:Ct("chakra-slide",c),animate:S,exit:"exit",custom:k,variants:BA,style:w,...m})})});X5.displayName="Slide";var Mu=Ae(function(t,n){const{className:r,motionProps:o,...s}=t,{reduceMotion:a}=mb(),{getPanelProps:c,isOpen:d}=hb(),p=c(s,n),h=Ct("chakra-accordion__panel",r),m=vm();a||delete p.hidden;const v=i.jsx(je.div,{...p,__css:m.panel,className:h});return a?v:i.jsx(bm,{in:d,...o,children:v})});Mu.displayName="AccordionPanel";var Y5=Ae(function({children:t,reduceMotion:n,...r},o){const s=Fr("Accordion",r),a=qn(r),{htmlProps:c,descendants:d,...p}=_A(a),h=f.useMemo(()=>({...p,reduceMotion:!!n}),[p,n]);return i.jsx(SA,{value:d,children:i.jsx(PA,{value:h,children:i.jsx(xA,{value:s,children:i.jsx(je.div,{ref:o,...c,className:Ct("chakra-accordion",r.className),__css:s.root,children:t})})})})});Y5.displayName="Accordion";function Pd(e){return f.Children.toArray(e).filter(t=>f.isValidElement(t))}var[FA,HA]=Dn({strict:!1,name:"ButtonGroupContext"}),WA={horizontal:{"> *:first-of-type:not(:last-of-type)":{borderEndRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderStartRadius:0}},vertical:{"> *:first-of-type:not(:last-of-type)":{borderBottomRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderTopRadius:0}}},VA={horizontal:e=>({"& > *:not(style) ~ *:not(style)":{marginStart:e}}),vertical:e=>({"& > *:not(style) ~ *:not(style)":{marginTop:e}})},rr=Ae(function(t,n){const{size:r,colorScheme:o,variant:s,className:a,spacing:c="0.5rem",isAttached:d,isDisabled:p,orientation:h="horizontal",...m}=t,v=Ct("chakra-button__group",a),b=f.useMemo(()=>({size:r,colorScheme:o,variant:s,isDisabled:p}),[r,o,s,p]);let w={display:"inline-flex",...d?WA[h]:VA[h](c)};const y=h==="vertical";return i.jsx(FA,{value:b,children:i.jsx(je.div,{ref:n,role:"group",__css:w,className:v,"data-attached":d?"":void 0,"data-orientation":h,flexDir:y?"column":void 0,...m})})});rr.displayName="ButtonGroup";function UA(e){const[t,n]=f.useState(!e);return{ref:f.useCallback(s=>{s&&n(s.tagName==="BUTTON")},[]),type:t?"button":void 0}}function Fv(e){const{children:t,className:n,...r}=e,o=f.isValidElement(t)?f.cloneElement(t,{"aria-hidden":!0,focusable:!1}):t,s=Ct("chakra-button__icon",n);return i.jsx(je.span,{display:"inline-flex",alignSelf:"center",flexShrink:0,...r,className:s,children:o})}Fv.displayName="ButtonIcon";function Yp(e){const{label:t,placement:n,spacing:r="0.5rem",children:o=i.jsx(hl,{color:"currentColor",width:"1em",height:"1em"}),className:s,__css:a,...c}=e,d=Ct("chakra-button__spinner",s),p=n==="start"?"marginEnd":"marginStart",h=f.useMemo(()=>({display:"flex",alignItems:"center",position:t?"relative":"absolute",[p]:t?r:0,fontSize:"1em",lineHeight:"normal",...a}),[a,t,p,r]);return i.jsx(je.div,{className:d,...c,__css:h,children:o})}Yp.displayName="ButtonSpinner";var yc=Ae((e,t)=>{const n=HA(),r=ia("Button",{...n,...e}),{isDisabled:o=n==null?void 0:n.isDisabled,isLoading:s,isActive:a,children:c,leftIcon:d,rightIcon:p,loadingText:h,iconSpacing:m="0.5rem",type:v,spinner:b,spinnerPlacement:w="start",className:y,as:S,...k}=qn(e),_=f.useMemo(()=>{const O={...r==null?void 0:r._focus,zIndex:1};return{display:"inline-flex",appearance:"none",alignItems:"center",justifyContent:"center",userSelect:"none",position:"relative",whiteSpace:"nowrap",verticalAlign:"middle",outline:"none",...r,...!!n&&{_focus:O}}},[r,n]),{ref:P,type:I}=UA(S),E={rightIcon:p,leftIcon:d,iconSpacing:m,children:c};return i.jsxs(je.button,{ref:gA(t,P),as:S,type:v??I,"data-active":Ft(a),"data-loading":Ft(s),__css:_,className:Ct("chakra-button",y),...k,disabled:o||s,children:[s&&w==="start"&&i.jsx(Yp,{className:"chakra-button__spinner--start",label:h,placement:"start",spacing:m,children:b}),s?h||i.jsx(je.span,{opacity:0,children:i.jsx($w,{...E})}):i.jsx($w,{...E}),s&&w==="end"&&i.jsx(Yp,{className:"chakra-button__spinner--end",label:h,placement:"end",spacing:m,children:b})]})});yc.displayName="Button";function $w(e){const{leftIcon:t,rightIcon:n,children:r,iconSpacing:o}=e;return i.jsxs(i.Fragment,{children:[t&&i.jsx(Fv,{marginEnd:o,children:t}),r,n&&i.jsx(Fv,{marginStart:o,children:n})]})}var ka=Ae((e,t)=>{const{icon:n,children:r,isRound:o,"aria-label":s,...a}=e,c=n||r,d=f.isValidElement(c)?f.cloneElement(c,{"aria-hidden":!0,focusable:!1}):null;return i.jsx(yc,{padding:"0",borderRadius:o?"full":void 0,ref:t,"aria-label":s,...a,children:d})});ka.displayName="IconButton";var[Yde,GA]=Dn({name:"CheckboxGroupContext",strict:!1});function qA(e){const[t,n]=f.useState(e),[r,o]=f.useState(!1);return e!==t&&(o(!0),n(e)),r}function KA(e){return i.jsx(je.svg,{width:"1.2em",viewBox:"0 0 12 10",style:{fill:"none",strokeWidth:2,stroke:"currentColor",strokeDasharray:16},...e,children:i.jsx("polyline",{points:"1.5 6 4.5 9 10.5 1"})})}function XA(e){return i.jsx(je.svg,{width:"1.2em",viewBox:"0 0 24 24",style:{stroke:"currentColor",strokeWidth:4},...e,children:i.jsx("line",{x1:"21",x2:"3",y1:"12",y2:"12"})})}function YA(e){const{isIndeterminate:t,isChecked:n,...r}=e,o=t?XA:KA;return n||t?i.jsx(je.div,{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:i.jsx(o,{...r})}):null}var[QA,Q5]=Dn({name:"FormControlStylesContext",errorMessage:`useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[JA,jd]=Dn({strict:!1,name:"FormControlContext"});function ZA(e){const{id:t,isRequired:n,isInvalid:r,isDisabled:o,isReadOnly:s,...a}=e,c=f.useId(),d=t||`field-${c}`,p=`${d}-label`,h=`${d}-feedback`,m=`${d}-helptext`,[v,b]=f.useState(!1),[w,y]=f.useState(!1),[S,k]=f.useState(!1),_=f.useCallback((R={},M=null)=>({id:m,...R,ref:cn(M,D=>{D&&y(!0)})}),[m]),P=f.useCallback((R={},M=null)=>({...R,ref:M,"data-focus":Ft(S),"data-disabled":Ft(o),"data-invalid":Ft(r),"data-readonly":Ft(s),id:R.id!==void 0?R.id:p,htmlFor:R.htmlFor!==void 0?R.htmlFor:d}),[d,o,S,r,s,p]),I=f.useCallback((R={},M=null)=>({id:h,...R,ref:cn(M,D=>{D&&b(!0)}),"aria-live":"polite"}),[h]),E=f.useCallback((R={},M=null)=>({...R,...a,ref:M,role:"group"}),[a]),O=f.useCallback((R={},M=null)=>({...R,ref:M,role:"presentation","aria-hidden":!0,children:R.children||"*"}),[]);return{isRequired:!!n,isInvalid:!!r,isReadOnly:!!s,isDisabled:!!o,isFocused:!!S,onFocus:()=>k(!0),onBlur:()=>k(!1),hasFeedbackText:v,setHasFeedbackText:b,hasHelpText:w,setHasHelpText:y,id:d,labelId:p,feedbackId:h,helpTextId:m,htmlProps:a,getHelpTextProps:_,getErrorMessageProps:I,getRootProps:E,getLabelProps:P,getRequiredIndicatorProps:O}}var go=Ae(function(t,n){const r=Fr("Form",t),o=qn(t),{getRootProps:s,htmlProps:a,...c}=ZA(o),d=Ct("chakra-form-control",t.className);return i.jsx(JA,{value:c,children:i.jsx(QA,{value:r,children:i.jsx(je.div,{...s({},n),className:d,__css:r.container})})})});go.displayName="FormControl";var eT=Ae(function(t,n){const r=jd(),o=Q5(),s=Ct("chakra-form__helper-text",t.className);return i.jsx(je.div,{...r==null?void 0:r.getHelpTextProps(t,n),__css:o.helperText,className:s})});eT.displayName="FormHelperText";var Bo=Ae(function(t,n){var r;const o=ia("FormLabel",t),s=qn(t),{className:a,children:c,requiredIndicator:d=i.jsx(J5,{}),optionalIndicator:p=null,...h}=s,m=jd(),v=(r=m==null?void 0:m.getLabelProps(h,n))!=null?r:{ref:n,...h};return i.jsxs(je.label,{...v,className:Ct("chakra-form__label",s.className),__css:{display:"block",textAlign:"start",...o},children:[c,m!=null&&m.isRequired?d:p]})});Bo.displayName="FormLabel";var J5=Ae(function(t,n){const r=jd(),o=Q5();if(!(r!=null&&r.isRequired))return null;const s=Ct("chakra-form__required-indicator",t.className);return i.jsx(je.span,{...r==null?void 0:r.getRequiredIndicatorProps(t,n),__css:o.requiredIndicator,className:s})});J5.displayName="RequiredIndicator";function gb(e){const{isDisabled:t,isInvalid:n,isReadOnly:r,isRequired:o,...s}=vb(e);return{...s,disabled:t,readOnly:r,required:o,"aria-invalid":rs(n),"aria-required":rs(o),"aria-readonly":rs(r)}}function vb(e){var t,n,r;const o=jd(),{id:s,disabled:a,readOnly:c,required:d,isRequired:p,isInvalid:h,isReadOnly:m,isDisabled:v,onFocus:b,onBlur:w,...y}=e,S=e["aria-describedby"]?[e["aria-describedby"]]:[];return o!=null&&o.hasFeedbackText&&(o!=null&&o.isInvalid)&&S.push(o.feedbackId),o!=null&&o.hasHelpText&&S.push(o.helpTextId),{...y,"aria-describedby":S.join(" ")||void 0,id:s??(o==null?void 0:o.id),isDisabled:(t=a??v)!=null?t:o==null?void 0:o.isDisabled,isReadOnly:(n=c??m)!=null?n:o==null?void 0:o.isReadOnly,isRequired:(r=d??p)!=null?r:o==null?void 0:o.isRequired,isInvalid:h??(o==null?void 0:o.isInvalid),onFocus:et(o==null?void 0:o.onFocus,b),onBlur:et(o==null?void 0:o.onBlur,w)}}var bb={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},Z5=je("span",{baseStyle:bb});Z5.displayName="VisuallyHidden";var tT=je("input",{baseStyle:bb});tT.displayName="VisuallyHiddenInput";const nT=()=>typeof document<"u";let Lw=!1,Id=null,ol=!1,Hv=!1;const Wv=new Set;function yb(e,t){Wv.forEach(n=>n(e,t))}const rT=typeof window<"u"&&window.navigator!=null?/^Mac/.test(window.navigator.platform):!1;function oT(e){return!(e.metaKey||!rT&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function zw(e){ol=!0,oT(e)&&(Id="keyboard",yb("keyboard",e))}function Nl(e){if(Id="pointer",e.type==="mousedown"||e.type==="pointerdown"){ol=!0;const t=e.composedPath?e.composedPath()[0]:e.target;let n=!1;try{n=t.matches(":focus-visible")}catch{}if(n)return;yb("pointer",e)}}function sT(e){return e.mozInputSource===0&&e.isTrusted?!0:e.detail===0&&!e.pointerType}function aT(e){sT(e)&&(ol=!0,Id="virtual")}function iT(e){e.target===window||e.target===document||(!ol&&!Hv&&(Id="virtual",yb("virtual",e)),ol=!1,Hv=!1)}function lT(){ol=!1,Hv=!0}function Bw(){return Id!=="pointer"}function cT(){if(!nT()||Lw)return;const{focus:e}=HTMLElement.prototype;HTMLElement.prototype.focus=function(...n){ol=!0,e.apply(this,n)},document.addEventListener("keydown",zw,!0),document.addEventListener("keyup",zw,!0),document.addEventListener("click",aT,!0),window.addEventListener("focus",iT,!0),window.addEventListener("blur",lT,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",Nl,!0),document.addEventListener("pointermove",Nl,!0),document.addEventListener("pointerup",Nl,!0)):(document.addEventListener("mousedown",Nl,!0),document.addEventListener("mousemove",Nl,!0),document.addEventListener("mouseup",Nl,!0)),Lw=!0}function e3(e){cT(),e(Bw());const t=()=>e(Bw());return Wv.add(t),()=>{Wv.delete(t)}}function uT(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function t3(e={}){const t=vb(e),{isDisabled:n,isReadOnly:r,isRequired:o,isInvalid:s,id:a,onBlur:c,onFocus:d,"aria-describedby":p}=t,{defaultChecked:h,isChecked:m,isFocusable:v,onChange:b,isIndeterminate:w,name:y,value:S,tabIndex:k=void 0,"aria-label":_,"aria-labelledby":P,"aria-invalid":I,...E}=e,O=uT(E,["isDisabled","isReadOnly","isRequired","isInvalid","id","onBlur","onFocus","aria-describedby"]),R=or(b),M=or(c),D=or(d),[A,L]=f.useState(!1),[Q,F]=f.useState(!1),[V,q]=f.useState(!1),[G,T]=f.useState(!1);f.useEffect(()=>e3(L),[]);const z=f.useRef(null),[$,Y]=f.useState(!0),[ae,fe]=f.useState(!!h),ie=m!==void 0,X=ie?m:ae,K=f.useCallback(de=>{if(r||n){de.preventDefault();return}ie||fe(X?de.target.checked:w?!0:de.target.checked),R==null||R(de)},[r,n,X,ie,w,R]);nc(()=>{z.current&&(z.current.indeterminate=!!w)},[w]),Fa(()=>{n&&F(!1)},[n,F]),nc(()=>{const de=z.current;if(!(de!=null&&de.form))return;const Te=()=>{fe(!!h)};return de.form.addEventListener("reset",Te),()=>{var Ee;return(Ee=de.form)==null?void 0:Ee.removeEventListener("reset",Te)}},[]);const U=n&&!v,se=f.useCallback(de=>{de.key===" "&&T(!0)},[T]),re=f.useCallback(de=>{de.key===" "&&T(!1)},[T]);nc(()=>{if(!z.current)return;z.current.checked!==X&&fe(z.current.checked)},[z.current]);const oe=f.useCallback((de={},Te=null)=>{const Ee=$e=>{Q&&$e.preventDefault(),T(!0)};return{...de,ref:Te,"data-active":Ft(G),"data-hover":Ft(V),"data-checked":Ft(X),"data-focus":Ft(Q),"data-focus-visible":Ft(Q&&A),"data-indeterminate":Ft(w),"data-disabled":Ft(n),"data-invalid":Ft(s),"data-readonly":Ft(r),"aria-hidden":!0,onMouseDown:et(de.onMouseDown,Ee),onMouseUp:et(de.onMouseUp,()=>T(!1)),onMouseEnter:et(de.onMouseEnter,()=>q(!0)),onMouseLeave:et(de.onMouseLeave,()=>q(!1))}},[G,X,n,Q,A,V,w,s,r]),pe=f.useCallback((de={},Te=null)=>({...de,ref:Te,"data-active":Ft(G),"data-hover":Ft(V),"data-checked":Ft(X),"data-focus":Ft(Q),"data-focus-visible":Ft(Q&&A),"data-indeterminate":Ft(w),"data-disabled":Ft(n),"data-invalid":Ft(s),"data-readonly":Ft(r)}),[G,X,n,Q,A,V,w,s,r]),le=f.useCallback((de={},Te=null)=>({...O,...de,ref:cn(Te,Ee=>{Ee&&Y(Ee.tagName==="LABEL")}),onClick:et(de.onClick,()=>{var Ee;$||((Ee=z.current)==null||Ee.click(),requestAnimationFrame(()=>{var $e;($e=z.current)==null||$e.focus({preventScroll:!0})}))}),"data-disabled":Ft(n),"data-checked":Ft(X),"data-invalid":Ft(s)}),[O,n,X,s,$]),ge=f.useCallback((de={},Te=null)=>({...de,ref:cn(z,Te),type:"checkbox",name:y,value:S,id:a,tabIndex:k,onChange:et(de.onChange,K),onBlur:et(de.onBlur,M,()=>F(!1)),onFocus:et(de.onFocus,D,()=>F(!0)),onKeyDown:et(de.onKeyDown,se),onKeyUp:et(de.onKeyUp,re),required:o,checked:X,disabled:U,readOnly:r,"aria-label":_,"aria-labelledby":P,"aria-invalid":I?!!I:s,"aria-describedby":p,"aria-disabled":n,style:bb}),[y,S,a,K,M,D,se,re,o,X,U,r,_,P,I,s,p,n,k]),ke=f.useCallback((de={},Te=null)=>({...de,ref:Te,onMouseDown:et(de.onMouseDown,dT),"data-disabled":Ft(n),"data-checked":Ft(X),"data-invalid":Ft(s)}),[X,n,s]);return{state:{isInvalid:s,isFocused:Q,isChecked:X,isActive:G,isHovered:V,isIndeterminate:w,isDisabled:n,isReadOnly:r,isRequired:o},getRootProps:le,getCheckboxProps:oe,getIndicatorProps:pe,getInputProps:ge,getLabelProps:ke,htmlProps:O}}function dT(e){e.preventDefault(),e.stopPropagation()}var fT={display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",userSelect:"none",flexShrink:0},pT={cursor:"pointer",display:"inline-flex",alignItems:"center",verticalAlign:"top",position:"relative"},hT=za({from:{opacity:0,strokeDashoffset:16,transform:"scale(0.95)"},to:{opacity:1,strokeDashoffset:0,transform:"scale(1)"}}),mT=za({from:{opacity:0},to:{opacity:1}}),gT=za({from:{transform:"scaleX(0.65)"},to:{transform:"scaleX(1)"}}),n3=Ae(function(t,n){const r=GA(),o={...r,...t},s=Fr("Checkbox",o),a=qn(t),{spacing:c="0.5rem",className:d,children:p,iconColor:h,iconSize:m,icon:v=i.jsx(YA,{}),isChecked:b,isDisabled:w=r==null?void 0:r.isDisabled,onChange:y,inputProps:S,...k}=a;let _=b;r!=null&&r.value&&a.value&&(_=r.value.includes(a.value));let P=y;r!=null&&r.onChange&&a.value&&(P=um(r.onChange,y));const{state:I,getInputProps:E,getCheckboxProps:O,getLabelProps:R,getRootProps:M}=t3({...k,isDisabled:w,isChecked:_,onChange:P}),D=qA(I.isChecked),A=f.useMemo(()=>({animation:D?I.isIndeterminate?`${mT} 20ms linear, ${gT} 200ms linear`:`${hT} 200ms linear`:void 0,fontSize:m,color:h,...s.icon}),[h,m,D,I.isIndeterminate,s.icon]),L=f.cloneElement(v,{__css:A,isIndeterminate:I.isIndeterminate,isChecked:I.isChecked});return i.jsxs(je.label,{__css:{...pT,...s.container},className:Ct("chakra-checkbox",d),...M(),children:[i.jsx("input",{className:"chakra-checkbox__input",...E(S,n)}),i.jsx(je.span,{__css:{...fT,...s.control},className:"chakra-checkbox__control",...O(),children:L}),p&&i.jsx(je.span,{className:"chakra-checkbox__label",...R(),__css:{marginStart:c,...s.label},children:p})]})});n3.displayName="Checkbox";function vT(e){const t=parseFloat(e);return typeof t!="number"||Number.isNaN(t)?0:t}function xb(e,t){let n=vT(e);const r=10**(t??10);return n=Math.round(n*r)/r,t?n.toFixed(t):n.toString()}function Vv(e){if(!Number.isFinite(e))return 0;let t=1,n=0;for(;Math.round(e*t)/t!==e;)t*=10,n+=1;return n}function Qp(e,t,n){return(e-t)*100/(n-t)}function r3(e,t,n){return(n-t)*e+t}function Uv(e,t,n){const r=Math.round((e-t)/n)*n+t,o=Vv(n);return xb(r,o)}function ac(e,t,n){return e==null?e:(n{var A;return r==null?"":(A=j0(r,s,n))!=null?A:""}),v=typeof o<"u",b=v?o:h,w=o3(oi(b),s),y=n??w,S=f.useCallback(A=>{A!==b&&(v||m(A.toString()),p==null||p(A.toString(),oi(A)))},[p,v,b]),k=f.useCallback(A=>{let L=A;return d&&(L=ac(L,a,c)),xb(L,y)},[y,d,c,a]),_=f.useCallback((A=s)=>{let L;b===""?L=oi(A):L=oi(b)+A,L=k(L),S(L)},[k,s,S,b]),P=f.useCallback((A=s)=>{let L;b===""?L=oi(-A):L=oi(b)-A,L=k(L),S(L)},[k,s,S,b]),I=f.useCallback(()=>{var A;let L;r==null?L="":L=(A=j0(r,s,n))!=null?A:a,S(L)},[r,n,s,S,a]),E=f.useCallback(A=>{var L;const Q=(L=j0(A,s,y))!=null?L:a;S(Q)},[y,s,S,a]),O=oi(b);return{isOutOfRange:O>c||O" `}),[xT,a3]=Dn({name:"EditableContext",errorMessage:"useEditableContext: context is undefined. Seems you forgot to wrap the editable components in ``"}),i3={fontSize:"inherit",fontWeight:"inherit",textAlign:"inherit",bg:"transparent"},l3=Ae(function(t,n){const{getInputProps:r}=a3(),o=s3(),s=r(t,n),a=Ct("chakra-editable__input",t.className);return i.jsx(je.input,{...s,__css:{outline:0,...i3,...o.input},className:a})});l3.displayName="EditableInput";var c3=Ae(function(t,n){const{getPreviewProps:r}=a3(),o=s3(),s=r(t,n),a=Ct("chakra-editable__preview",t.className);return i.jsx(je.span,{...s,__css:{cursor:"text",display:"inline-block",...i3,...o.preview},className:a})});c3.displayName="EditablePreview";function Yi(e,t,n,r){const o=or(n);return f.useEffect(()=>{const s=typeof e=="function"?e():e??document;if(!(!n||!s))return s.addEventListener(t,o,r),()=>{s.removeEventListener(t,o,r)}},[t,e,r,o,n]),()=>{const s=typeof e=="function"?e():e??document;s==null||s.removeEventListener(t,o,r)}}function wT(e){return"current"in e}var u3=()=>typeof window<"u";function ST(){var e;const t=navigator.userAgentData;return(e=t==null?void 0:t.platform)!=null?e:navigator.platform}var CT=e=>u3()&&e.test(navigator.vendor),kT=e=>u3()&&e.test(ST()),_T=()=>kT(/mac|iphone|ipad|ipod/i),PT=()=>_T()&&CT(/apple/i);function d3(e){const{ref:t,elements:n,enabled:r}=e,o=()=>{var s,a;return(a=(s=t.current)==null?void 0:s.ownerDocument)!=null?a:document};Yi(o,"pointerdown",s=>{if(!PT()||!r)return;const a=s.target,d=(n??[t]).some(p=>{const h=wT(p)?p.current:p;return(h==null?void 0:h.contains(a))||h===a});o().activeElement!==a&&d&&(s.preventDefault(),a.focus())})}function Fw(e,t){return e?e===t||e.contains(t):!1}function jT(e={}){const{onChange:t,onCancel:n,onSubmit:r,onBlur:o,value:s,isDisabled:a,defaultValue:c,startWithEditView:d,isPreviewFocusable:p=!0,submitOnBlur:h=!0,selectAllOnFocus:m=!0,placeholder:v,onEdit:b,finalFocusRef:w,...y}=e,S=or(b),k=!!(d&&!a),[_,P]=f.useState(k),[I,E]=zc({defaultValue:c||"",value:s,onChange:t}),[O,R]=f.useState(I),M=f.useRef(null),D=f.useRef(null),A=f.useRef(null),L=f.useRef(null),Q=f.useRef(null);d3({ref:M,enabled:_,elements:[L,Q]});const F=!_&&!a;nc(()=>{var oe,pe;_&&((oe=M.current)==null||oe.focus(),m&&((pe=M.current)==null||pe.select()))},[]),Fa(()=>{var oe,pe,le,ge;if(!_){w?(oe=w.current)==null||oe.focus():(pe=A.current)==null||pe.focus();return}(le=M.current)==null||le.focus(),m&&((ge=M.current)==null||ge.select()),S==null||S()},[_,S,m]);const V=f.useCallback(()=>{F&&P(!0)},[F]),q=f.useCallback(()=>{R(I)},[I]),G=f.useCallback(()=>{P(!1),E(O),n==null||n(O),o==null||o(O)},[n,o,E,O]),T=f.useCallback(()=>{P(!1),R(I),r==null||r(I),o==null||o(O)},[I,r,o,O]);f.useEffect(()=>{if(_)return;const oe=M.current;(oe==null?void 0:oe.ownerDocument.activeElement)===oe&&(oe==null||oe.blur())},[_]);const z=f.useCallback(oe=>{E(oe.currentTarget.value)},[E]),$=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G,Enter:ke=>{!ke.shiftKey&&!ke.metaKey&&T()}}[pe];ge&&(oe.preventDefault(),ge(oe))},[G,T]),Y=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G}[pe];ge&&(oe.preventDefault(),ge(oe))},[G]),ae=I.length===0,fe=f.useCallback(oe=>{var pe;if(!_)return;const le=oe.currentTarget.ownerDocument,ge=(pe=oe.relatedTarget)!=null?pe:le.activeElement,ke=Fw(L.current,ge),xe=Fw(Q.current,ge);!ke&&!xe&&(h?T():G())},[h,T,G,_]),ie=f.useCallback((oe={},pe=null)=>{const le=F&&p?0:void 0;return{...oe,ref:cn(pe,D),children:ae?v:I,hidden:_,"aria-disabled":rs(a),tabIndex:le,onFocus:et(oe.onFocus,V,q)}},[a,_,F,p,ae,V,q,v,I]),X=f.useCallback((oe={},pe=null)=>({...oe,hidden:!_,placeholder:v,ref:cn(pe,M),disabled:a,"aria-disabled":rs(a),value:I,onBlur:et(oe.onBlur,fe),onChange:et(oe.onChange,z),onKeyDown:et(oe.onKeyDown,$),onFocus:et(oe.onFocus,q)}),[a,_,fe,z,$,q,v,I]),K=f.useCallback((oe={},pe=null)=>({...oe,hidden:!_,placeholder:v,ref:cn(pe,M),disabled:a,"aria-disabled":rs(a),value:I,onBlur:et(oe.onBlur,fe),onChange:et(oe.onChange,z),onKeyDown:et(oe.onKeyDown,Y),onFocus:et(oe.onFocus,q)}),[a,_,fe,z,Y,q,v,I]),U=f.useCallback((oe={},pe=null)=>({"aria-label":"Edit",...oe,type:"button",onClick:et(oe.onClick,V),ref:cn(pe,A),disabled:a}),[V,a]),se=f.useCallback((oe={},pe=null)=>({...oe,"aria-label":"Submit",ref:cn(Q,pe),type:"button",onClick:et(oe.onClick,T),disabled:a}),[T,a]),re=f.useCallback((oe={},pe=null)=>({"aria-label":"Cancel",id:"cancel",...oe,ref:cn(L,pe),type:"button",onClick:et(oe.onClick,G),disabled:a}),[G,a]);return{isEditing:_,isDisabled:a,isValueEmpty:ae,value:I,onEdit:V,onCancel:G,onSubmit:T,getPreviewProps:ie,getInputProps:X,getTextareaProps:K,getEditButtonProps:U,getSubmitButtonProps:se,getCancelButtonProps:re,htmlProps:y}}var f3=Ae(function(t,n){const r=Fr("Editable",t),o=qn(t),{htmlProps:s,...a}=jT(o),{isEditing:c,onSubmit:d,onCancel:p,onEdit:h}=a,m=Ct("chakra-editable",t.className),v=Y1(t.children,{isEditing:c,onSubmit:d,onCancel:p,onEdit:h});return i.jsx(xT,{value:a,children:i.jsx(yT,{value:r,children:i.jsx(je.div,{ref:n,...s,className:m,children:v})})})});f3.displayName="Editable";var p3={exports:{}},IT="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",ET=IT,OT=ET;function h3(){}function m3(){}m3.resetWarningCache=h3;var RT=function(){function e(r,o,s,a,c,d){if(d!==OT){var p=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw p.name="Invariant Violation",p}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:m3,resetWarningCache:h3};return n.PropTypes=n,n};p3.exports=RT();var MT=p3.exports;const zn=yd(MT);var Gv="data-focus-lock",g3="data-focus-lock-disabled",DT="data-no-focus-lock",AT="data-autofocus-inside",TT="data-no-autofocus";function NT(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function $T(e,t){var n=f.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}function v3(e,t){return $T(t||null,function(n){return e.forEach(function(r){return NT(r,n)})})}var I0={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"},Qs=function(){return Qs=Object.assign||function(t){for(var n,r=1,o=arguments.length;r0&&s[s.length-1])&&(p[0]===6||p[0]===2)){n=0;continue}if(p[0]===3&&(!s||p[1]>s[0]&&p[1]0)&&!(o=r.next()).done;)s.push(o.value)}catch(c){a={error:c}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return s}function qv(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,s;r=0}).sort(QT)},JT=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],kb=JT.join(","),ZT="".concat(kb,", [data-focus-guard]"),T3=function(e,t){return la((e.shadowRoot||e).children).reduce(function(n,r){return n.concat(r.matches(t?ZT:kb)?[r]:[],T3(r))},[])},eN=function(e,t){var n;return e instanceof HTMLIFrameElement&&(!((n=e.contentDocument)===null||n===void 0)&&n.body)?ym([e.contentDocument.body],t):[e]},ym=function(e,t){return e.reduce(function(n,r){var o,s=T3(r,t),a=(o=[]).concat.apply(o,s.map(function(c){return eN(c,t)}));return n.concat(a,r.parentNode?la(r.parentNode.querySelectorAll(kb)).filter(function(c){return c===r}):[])},[])},tN=function(e){var t=e.querySelectorAll("[".concat(AT,"]"));return la(t).map(function(n){return ym([n])}).reduce(function(n,r){return n.concat(r)},[])},_b=function(e,t){return la(e).filter(function(n){return E3(t,n)}).filter(function(n){return KT(n)})},Ww=function(e,t){return t===void 0&&(t=new Map),la(e).filter(function(n){return O3(t,n)})},Xv=function(e,t,n){return A3(_b(ym(e,n),t),!0,n)},Vw=function(e,t){return A3(_b(ym(e),t),!1)},nN=function(e,t){return _b(tN(e),t)},ic=function(e,t){return e.shadowRoot?ic(e.shadowRoot,t):Object.getPrototypeOf(e).contains!==void 0&&Object.getPrototypeOf(e).contains.call(e,t)?!0:la(e.children).some(function(n){var r;if(n instanceof HTMLIFrameElement){var o=(r=n.contentDocument)===null||r===void 0?void 0:r.body;return o?ic(o,t):!1}return ic(n,t)})},rN=function(e){for(var t=new Set,n=e.length,r=0;r0&&t.add(o),(s&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(r)}return e.filter(function(a,c){return!t.has(c)})},N3=function(e){return e.parentNode?N3(e.parentNode):e},Pb=function(e){var t=Jp(e);return t.filter(Boolean).reduce(function(n,r){var o=r.getAttribute(Gv);return n.push.apply(n,o?rN(la(N3(r).querySelectorAll("[".concat(Gv,'="').concat(o,'"]:not([').concat(g3,'="disabled"])')))):[r]),n},[])},oN=function(e){try{return e()}catch{return}},nd=function(e){if(e===void 0&&(e=document),!(!e||!e.activeElement)){var t=e.activeElement;return t.shadowRoot?nd(t.shadowRoot):t instanceof HTMLIFrameElement&&oN(function(){return t.contentWindow.document})?nd(t.contentWindow.document):t}},sN=function(e,t){return e===t},aN=function(e,t){return!!la(e.querySelectorAll("iframe")).some(function(n){return sN(n,t)})},$3=function(e,t){return t===void 0&&(t=nd(P3(e).ownerDocument)),!t||t.dataset&&t.dataset.focusGuard?!1:Pb(e).some(function(n){return ic(n,t)||aN(n,t)})},iN=function(e){e===void 0&&(e=document);var t=nd(e);return t?la(e.querySelectorAll("[".concat(DT,"]"))).some(function(n){return ic(n,t)}):!1},lN=function(e,t){return t.filter(D3).filter(function(n){return n.name===e.name}).filter(function(n){return n.checked})[0]||e},jb=function(e,t){return D3(e)&&e.name?lN(e,t):e},cN=function(e){var t=new Set;return e.forEach(function(n){return t.add(jb(n,e))}),e.filter(function(n){return t.has(n)})},Uw=function(e){return e[0]&&e.length>1?jb(e[0],e):e[0]},Gw=function(e,t){return e.length>1?e.indexOf(jb(e[t],e)):t},L3="NEW_FOCUS",uN=function(e,t,n,r){var o=e.length,s=e[0],a=e[o-1],c=Cb(n);if(!(n&&e.indexOf(n)>=0)){var d=n!==void 0?t.indexOf(n):-1,p=r?t.indexOf(r):d,h=r?e.indexOf(r):-1,m=d-p,v=t.indexOf(s),b=t.indexOf(a),w=cN(t),y=n!==void 0?w.indexOf(n):-1,S=y-(r?w.indexOf(r):d),k=Gw(e,0),_=Gw(e,o-1);if(d===-1||h===-1)return L3;if(!m&&h>=0)return h;if(d<=v&&c&&Math.abs(m)>1)return _;if(d>=b&&c&&Math.abs(m)>1)return k;if(m&&Math.abs(S)>1)return h;if(d<=v)return _;if(d>b)return k;if(m)return Math.abs(m)>1?h:(o+h+m)%o}},dN=function(e){return function(t){var n,r=(n=R3(t))===null||n===void 0?void 0:n.autofocus;return t.autofocus||r!==void 0&&r!=="false"||e.indexOf(t)>=0}},fN=function(e,t,n){var r=e.map(function(s){var a=s.node;return a}),o=Ww(r.filter(dN(n)));return o&&o.length?Uw(o):Uw(Ww(t))},Yv=function(e,t){return t===void 0&&(t=[]),t.push(e),e.parentNode&&Yv(e.parentNode.host||e.parentNode,t),t},E0=function(e,t){for(var n=Yv(e),r=Yv(t),o=0;o=0)return s}return!1},z3=function(e,t,n){var r=Jp(e),o=Jp(t),s=r[0],a=!1;return o.filter(Boolean).forEach(function(c){a=E0(a||c,c)||a,n.filter(Boolean).forEach(function(d){var p=E0(s,d);p&&(!a||ic(p,a)?a=p:a=E0(p,a))})}),a},pN=function(e,t){return e.reduce(function(n,r){return n.concat(nN(r,t))},[])},hN=function(e,t){var n=new Map;return t.forEach(function(r){return n.set(r.node,r)}),e.map(function(r){return n.get(r)}).filter(YT)},mN=function(e,t){var n=nd(Jp(e).length>0?document:P3(e).ownerDocument),r=Pb(e).filter(Zp),o=z3(n||e,e,r),s=new Map,a=Vw(r,s),c=Xv(r,s).filter(function(b){var w=b.node;return Zp(w)});if(!(!c[0]&&(c=a,!c[0]))){var d=Vw([o],s).map(function(b){var w=b.node;return w}),p=hN(d,c),h=p.map(function(b){var w=b.node;return w}),m=uN(h,d,n,t);if(m===L3){var v=fN(a,h,pN(r,s));if(v)return{node:v};console.warn("focus-lock: cannot find any node to move focus into");return}return m===void 0?m:p[m]}},gN=function(e){var t=Pb(e).filter(Zp),n=z3(e,e,t),r=new Map,o=Xv([n],r,!0),s=Xv(t,r).filter(function(a){var c=a.node;return Zp(c)}).map(function(a){var c=a.node;return c});return o.map(function(a){var c=a.node,d=a.index;return{node:c,index:d,lockItem:s.indexOf(c)>=0,guard:Cb(c)}})},vN=function(e,t){"focus"in e&&e.focus(t),"contentWindow"in e&&e.contentWindow&&e.contentWindow.focus()},O0=0,R0=!1,B3=function(e,t,n){n===void 0&&(n={});var r=mN(e,t);if(!R0&&r){if(O0>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),R0=!0,setTimeout(function(){R0=!1},1);return}O0++,vN(r.node,n.focusOptions),O0--}};function Ib(e){setTimeout(e,1)}var bN=function(){return document&&document.activeElement===document.body},yN=function(){return bN()||iN()},lc=null,Ql=null,cc=null,rd=!1,xN=function(){return!0},wN=function(t){return(lc.whiteList||xN)(t)},SN=function(t,n){cc={observerNode:t,portaledElement:n}},CN=function(t){return cc&&cc.portaledElement===t};function qw(e,t,n,r){var o=null,s=e;do{var a=r[s];if(a.guard)a.node.dataset.focusAutoGuard&&(o=a);else if(a.lockItem){if(s!==e)return;o=null}else break}while((s+=n)!==t);o&&(o.node.tabIndex=0)}var kN=function(t){return t&&"current"in t?t.current:t},_N=function(t){return t?!!rd:rd==="meanwhile"},PN=function e(t,n,r){return n&&(n.host===t&&(!n.activeElement||r.contains(n.activeElement))||n.parentNode&&e(t,n.parentNode,r))},jN=function(t,n){return n.some(function(r){return PN(t,r,r)})},eh=function(){var t=!1;if(lc){var n=lc,r=n.observed,o=n.persistentFocus,s=n.autoFocus,a=n.shards,c=n.crossFrame,d=n.focusOptions,p=r||cc&&cc.portaledElement,h=document&&document.activeElement;if(p){var m=[p].concat(a.map(kN).filter(Boolean));if((!h||wN(h))&&(o||_N(c)||!yN()||!Ql&&s)&&(p&&!($3(m)||h&&jN(h,m)||CN(h))&&(document&&!Ql&&h&&!s?(h.blur&&h.blur(),document.body.focus()):(t=B3(m,Ql,{focusOptions:d}),cc={})),rd=!1,Ql=document&&document.activeElement),document){var v=document&&document.activeElement,b=gN(m),w=b.map(function(y){var S=y.node;return S}).indexOf(v);w>-1&&(b.filter(function(y){var S=y.guard,k=y.node;return S&&k.dataset.focusAutoGuard}).forEach(function(y){var S=y.node;return S.removeAttribute("tabIndex")}),qw(w,b.length,1,b),qw(w,-1,-1,b))}}}return t},F3=function(t){eh()&&t&&(t.stopPropagation(),t.preventDefault())},Eb=function(){return Ib(eh)},IN=function(t){var n=t.target,r=t.currentTarget;r.contains(n)||SN(r,n)},EN=function(){return null},H3=function(){rd="just",Ib(function(){rd="meanwhile"})},ON=function(){document.addEventListener("focusin",F3),document.addEventListener("focusout",Eb),window.addEventListener("blur",H3)},RN=function(){document.removeEventListener("focusin",F3),document.removeEventListener("focusout",Eb),window.removeEventListener("blur",H3)};function MN(e){return e.filter(function(t){var n=t.disabled;return!n})}function DN(e){var t=e.slice(-1)[0];t&&!lc&&ON();var n=lc,r=n&&t&&t.id===n.id;lc=t,n&&!r&&(n.onDeactivation(),e.filter(function(o){var s=o.id;return s===n.id}).length||n.returnFocus(!t)),t?(Ql=null,(!r||n.observed!==t.observed)&&t.onActivation(),eh(),Ib(eh)):(RN(),Ql=null)}C3.assignSyncMedium(IN);k3.assignMedium(Eb);zT.assignMedium(function(e){return e({moveFocusInside:B3,focusInside:$3})});const AN=WT(MN,DN)(EN);var W3=f.forwardRef(function(t,n){return f.createElement(_3,sr({sideCar:AN,ref:n},t))}),V3=_3.propTypes||{};V3.sideCar;D9(V3,["sideCar"]);W3.propTypes={};const Kw=W3;function U3(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function Ob(e){var t;if(!U3(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function TN(e){var t,n;return(n=(t=G3(e))==null?void 0:t.defaultView)!=null?n:window}function G3(e){return U3(e)?e.ownerDocument:document}function NN(e){return G3(e).activeElement}function $N(e){const t=e.ownerDocument.defaultView||window,{overflow:n,overflowX:r,overflowY:o}=t.getComputedStyle(e);return/auto|scroll|overlay|hidden/.test(n+o+r)}function LN(e){return e.localName==="html"?e:e.assignedSlot||e.parentElement||e.ownerDocument.documentElement}function q3(e){return["html","body","#document"].includes(e.localName)?e.ownerDocument.body:Ob(e)&&$N(e)?e:q3(LN(e))}var K3=e=>e.hasAttribute("tabindex"),zN=e=>K3(e)&&e.tabIndex===-1;function BN(e){return!!e.getAttribute("disabled")||!!e.getAttribute("aria-disabled")}function X3(e){return e.parentElement&&X3(e.parentElement)?!0:e.hidden}function FN(e){const t=e.getAttribute("contenteditable");return t!=="false"&&t!=null}function Y3(e){if(!Ob(e)||X3(e)||BN(e))return!1;const{localName:t}=e;if(["input","select","textarea","button"].indexOf(t)>=0)return!0;const r={a:()=>e.hasAttribute("href"),audio:()=>e.hasAttribute("controls"),video:()=>e.hasAttribute("controls")};return t in r?r[t]():FN(e)?!0:K3(e)}function HN(e){return e?Ob(e)&&Y3(e)&&!zN(e):!1}var WN=["input:not(:disabled):not([disabled])","select:not(:disabled):not([disabled])","textarea:not(:disabled):not([disabled])","embed","iframe","object","a[href]","area[href]","button:not(:disabled):not([disabled])","[tabindex]","audio[controls]","video[controls]","*[tabindex]:not([aria-disabled])","*[contenteditable]"],VN=WN.join(),UN=e=>e.offsetWidth>0&&e.offsetHeight>0;function Q3(e){const t=Array.from(e.querySelectorAll(VN));return t.unshift(e),t.filter(n=>Y3(n)&&UN(n))}var Xw,GN=(Xw=Kw.default)!=null?Xw:Kw,J3=e=>{const{initialFocusRef:t,finalFocusRef:n,contentRef:r,restoreFocus:o,children:s,isDisabled:a,autoFocus:c,persistentFocus:d,lockFocusAcrossFrames:p}=e,h=f.useCallback(()=>{t!=null&&t.current?t.current.focus():r!=null&&r.current&&Q3(r.current).length===0&&requestAnimationFrame(()=>{var w;(w=r.current)==null||w.focus()})},[t,r]),m=f.useCallback(()=>{var b;(b=n==null?void 0:n.current)==null||b.focus()},[n]),v=o&&!n;return i.jsx(GN,{crossFrame:p,persistentFocus:d,autoFocus:c,disabled:a,onActivation:h,onDeactivation:m,returnFocus:v,children:s})};J3.displayName="FocusLock";var qN=nA?f.useLayoutEffect:f.useEffect;function th(e,t=[]){const n=f.useRef(e);return qN(()=>{n.current=e}),f.useCallback((...r)=>{var o;return(o=n.current)==null?void 0:o.call(n,...r)},t)}function KN(e,t,n,r){const o=th(t);return f.useEffect(()=>{var s;const a=(s=U2(n))!=null?s:document;if(t)return a.addEventListener(e,o,r),()=>{a.removeEventListener(e,o,r)}},[e,n,r,o,t]),()=>{var s;((s=U2(n))!=null?s:document).removeEventListener(e,o,r)}}function XN(e){const{ref:t,handler:n,enabled:r=!0}=e,o=th(n),a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{M0(m,t)&&(a.isPointerDown=!0)},d=m=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&M0(m,t)&&(a.isPointerDown=!1,o(m))},p=m=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&M0(m,t)&&(a.isPointerDown=!1,o(m))},h=H5(t.current);return h.addEventListener("mousedown",c,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",c,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",c,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",c,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,a,r])}function M0(e,t){var n;const r=e.target;return r&&!H5(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function YN(e,t){const n=f.useId();return f.useMemo(()=>e||[t,n].filter(Boolean).join("-"),[e,t,n])}function QN(e,t){const n=e!==void 0;return[n,n&&typeof e<"u"?e:t]}function ss(e={}){const{onClose:t,onOpen:n,isOpen:r,id:o}=e,s=th(n),a=th(t),[c,d]=f.useState(e.defaultIsOpen||!1),[p,h]=QN(r,c),m=YN(o,"disclosure"),v=f.useCallback(()=>{p||d(!1),a==null||a()},[p,a]),b=f.useCallback(()=>{p||d(!0),s==null||s()},[p,s]),w=f.useCallback(()=>{(h?v:b)()},[h,b,v]);return{isOpen:!!h,onOpen:b,onClose:v,onToggle:w,isControlled:p,getButtonProps:(y={})=>({...y,"aria-expanded":h,"aria-controls":m,onClick:$R(y.onClick,w)}),getDisclosureProps:(y={})=>({...y,hidden:!h,id:m})}}var[JN,ZN]=Dn({name:"InputGroupStylesContext",errorMessage:`useInputGroupStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Z3=Ae(function(t,n){const r=Fr("Input",t),{children:o,className:s,...a}=qn(t),c=Ct("chakra-input__group",s),d={},p=Pd(o),h=r.field;p.forEach(v=>{var b,w;r&&(h&&v.type.id==="InputLeftElement"&&(d.paddingStart=(b=h.height)!=null?b:h.h),h&&v.type.id==="InputRightElement"&&(d.paddingEnd=(w=h.height)!=null?w:h.h),v.type.id==="InputRightAddon"&&(d.borderEndRadius=0),v.type.id==="InputLeftAddon"&&(d.borderStartRadius=0))});const m=p.map(v=>{var b,w;const y=fb({size:((b=v.props)==null?void 0:b.size)||t.size,variant:((w=v.props)==null?void 0:w.variant)||t.variant});return v.type.id!=="Input"?f.cloneElement(v,y):f.cloneElement(v,Object.assign(y,d,v.props))});return i.jsx(je.div,{className:c,ref:n,__css:{width:"100%",display:"flex",position:"relative",isolation:"isolate",...r.group},"data-group":!0,...a,children:i.jsx(JN,{value:r,children:m})})});Z3.displayName="InputGroup";var e$=je("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",top:"0",zIndex:2}}),xm=Ae(function(t,n){var r,o;const{placement:s="left",...a}=t,c=ZN(),d=c.field,h={[s==="left"?"insetStart":"insetEnd"]:"0",width:(r=d==null?void 0:d.height)!=null?r:d==null?void 0:d.h,height:(o=d==null?void 0:d.height)!=null?o:d==null?void 0:d.h,fontSize:d==null?void 0:d.fontSize,...c.element};return i.jsx(e$,{ref:n,__css:h,...a})});xm.id="InputElement";xm.displayName="InputElement";var e6=Ae(function(t,n){const{className:r,...o}=t,s=Ct("chakra-input__left-element",r);return i.jsx(xm,{ref:n,placement:"left",className:s,...o})});e6.id="InputLeftElement";e6.displayName="InputLeftElement";var Rb=Ae(function(t,n){const{className:r,...o}=t,s=Ct("chakra-input__right-element",r);return i.jsx(xm,{ref:n,placement:"right",className:s,...o})});Rb.id="InputRightElement";Rb.displayName="InputRightElement";var Ed=Ae(function(t,n){const{htmlSize:r,...o}=t,s=Fr("Input",o),a=qn(o),c=gb(a),d=Ct("chakra-input",t.className);return i.jsx(je.input,{size:r,...c,__css:s.field,ref:n,className:d})});Ed.displayName="Input";Ed.id="Input";var Mb=Ae(function(t,n){const r=ia("Link",t),{className:o,isExternal:s,...a}=qn(t);return i.jsx(je.a,{target:s?"_blank":void 0,rel:s?"noopener":void 0,ref:n,className:Ct("chakra-link",o),...a,__css:r})});Mb.displayName="Link";var[t$,t6]=Dn({name:"ListStylesContext",errorMessage:`useListStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Db=Ae(function(t,n){const r=Fr("List",t),{children:o,styleType:s="none",stylePosition:a,spacing:c,...d}=qn(t),p=Pd(o),m=c?{["& > *:not(style) ~ *:not(style)"]:{mt:c}}:{};return i.jsx(t$,{value:r,children:i.jsx(je.ul,{ref:n,listStyleType:s,listStylePosition:a,role:"list",__css:{...r.container,...m},...d,children:p})})});Db.displayName="List";var n$=Ae((e,t)=>{const{as:n,...r}=e;return i.jsx(Db,{ref:t,as:"ol",styleType:"decimal",marginStart:"1em",...r})});n$.displayName="OrderedList";var Ab=Ae(function(t,n){const{as:r,...o}=t;return i.jsx(Db,{ref:n,as:"ul",styleType:"initial",marginStart:"1em",...o})});Ab.displayName="UnorderedList";var Sa=Ae(function(t,n){const r=t6();return i.jsx(je.li,{ref:n,...t,__css:r.item})});Sa.displayName="ListItem";var r$=Ae(function(t,n){const r=t6();return i.jsx(fo,{ref:n,role:"presentation",...t,__css:r.icon})});r$.displayName="ListIcon";var sl=Ae(function(t,n){const{templateAreas:r,gap:o,rowGap:s,columnGap:a,column:c,row:d,autoFlow:p,autoRows:h,templateRows:m,autoColumns:v,templateColumns:b,...w}=t,y={display:"grid",gridTemplateAreas:r,gridGap:o,gridRowGap:s,gridColumnGap:a,gridAutoColumns:v,gridColumn:c,gridRow:d,gridAutoFlow:p,gridAutoRows:h,gridTemplateRows:m,gridTemplateColumns:b};return i.jsx(je.div,{ref:n,__css:y,...w})});sl.displayName="Grid";function n6(e,t){return Array.isArray(e)?e.map(n=>n===null?null:t(n)):jv(e)?Object.keys(e).reduce((n,r)=>(n[r]=t(e[r]),n),{}):e!=null?t(e):null}var ml=je("div",{baseStyle:{flex:1,justifySelf:"stretch",alignSelf:"stretch"}});ml.displayName="Spacer";var Qe=Ae(function(t,n){const r=ia("Text",t),{className:o,align:s,decoration:a,casing:c,...d}=qn(t),p=fb({textAlign:t.align,textDecoration:t.decoration,textTransform:t.casing});return i.jsx(je.p,{ref:n,className:Ct("chakra-text",t.className),...p,...d,__css:r})});Qe.displayName="Text";var r6=e=>i.jsx(je.div,{className:"chakra-stack__item",...e,__css:{display:"inline-block",flex:"0 0 auto",minWidth:0,...e.__css}});r6.displayName="StackItem";function o$(e){const{spacing:t,direction:n}=e,r={column:{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},"column-reverse":{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},row:{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0},"row-reverse":{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0}};return{"&":n6(n,o=>r[o])}}var Tb=Ae((e,t)=>{const{isInline:n,direction:r,align:o,justify:s,spacing:a="0.5rem",wrap:c,children:d,divider:p,className:h,shouldWrapChildren:m,...v}=e,b=n?"row":r??"column",w=f.useMemo(()=>o$({spacing:a,direction:b}),[a,b]),y=!!p,S=!m&&!y,k=f.useMemo(()=>{const P=Pd(d);return S?P:P.map((I,E)=>{const O=typeof I.key<"u"?I.key:E,R=E+1===P.length,D=m?i.jsx(r6,{children:I},O):I;if(!y)return D;const A=f.cloneElement(p,{__css:w}),L=R?null:A;return i.jsxs(f.Fragment,{children:[D,L]},O)})},[p,w,y,S,m,d]),_=Ct("chakra-stack",h);return i.jsx(je.div,{ref:t,display:"flex",alignItems:o,justifyContent:s,flexDirection:b,flexWrap:c,gap:y?void 0:a,className:_,...v,children:k})});Tb.displayName="Stack";var o6=Ae((e,t)=>i.jsx(Tb,{align:"center",...e,direction:"column",ref:t}));o6.displayName="VStack";var pi=Ae((e,t)=>i.jsx(Tb,{align:"center",...e,direction:"row",ref:t}));pi.displayName="HStack";function Yw(e){return n6(e,t=>t==="auto"?"auto":`span ${t}/span ${t}`)}var Qv=Ae(function(t,n){const{area:r,colSpan:o,colStart:s,colEnd:a,rowEnd:c,rowSpan:d,rowStart:p,...h}=t,m=fb({gridArea:r,gridColumn:Yw(o),gridRow:Yw(d),gridColumnStart:s,gridColumnEnd:a,gridRowStart:p,gridRowEnd:c});return i.jsx(je.div,{ref:n,__css:m,...h})});Qv.displayName="GridItem";var gl=Ae(function(t,n){const r=ia("Badge",t),{className:o,...s}=qn(t);return i.jsx(je.span,{ref:n,className:Ct("chakra-badge",t.className),...s,__css:{display:"inline-block",whiteSpace:"nowrap",verticalAlign:"middle",...r}})});gl.displayName="Badge";var Wa=Ae(function(t,n){const{borderLeftWidth:r,borderBottomWidth:o,borderTopWidth:s,borderRightWidth:a,borderWidth:c,borderStyle:d,borderColor:p,...h}=ia("Divider",t),{className:m,orientation:v="horizontal",__css:b,...w}=qn(t),y={vertical:{borderLeftWidth:r||a||c||"1px",height:"100%"},horizontal:{borderBottomWidth:o||s||c||"1px",width:"100%"}};return i.jsx(je.hr,{ref:n,"aria-orientation":v,...w,__css:{...h,border:"0",borderColor:p,borderStyle:d,...y[v],...b},className:Ct("chakra-divider",m)})});Wa.displayName="Divider";function s$(e){const{key:t}=e;return t.length===1||t.length>1&&/[^a-zA-Z0-9]/.test(t)}function a$(e={}){const{timeout:t=300,preventDefault:n=()=>!0}=e,[r,o]=f.useState([]),s=f.useRef(),a=()=>{s.current&&(clearTimeout(s.current),s.current=null)},c=()=>{a(),s.current=setTimeout(()=>{o([]),s.current=null},t)};f.useEffect(()=>a,[]);function d(p){return h=>{if(h.key==="Backspace"){const m=[...r];m.pop(),o(m);return}if(s$(h)){const m=r.concat(h.key);n(h)&&(h.preventDefault(),h.stopPropagation()),o(m),p(m.join("")),c()}}}return d}function i$(e,t,n,r){if(t==null)return r;if(!r)return e.find(a=>n(a).toLowerCase().startsWith(t.toLowerCase()));const o=e.filter(s=>n(s).toLowerCase().startsWith(t.toLowerCase()));if(o.length>0){let s;return o.includes(r)?(s=o.indexOf(r)+1,s===o.length&&(s=0),o[s]):(s=e.indexOf(o[0]),e[s])}return r}function l$(){const e=f.useRef(new Map),t=e.current,n=f.useCallback((o,s,a,c)=>{e.current.set(a,{type:s,el:o,options:c}),o.addEventListener(s,a,c)},[]),r=f.useCallback((o,s,a,c)=>{o.removeEventListener(s,a,c),e.current.delete(a)},[]);return f.useEffect(()=>()=>{t.forEach((o,s)=>{r(o.el,o.type,s,o.options)})},[r,t]),{add:n,remove:r}}function D0(e){const t=e.target,{tagName:n,isContentEditable:r}=t;return n!=="INPUT"&&n!=="TEXTAREA"&&r!==!0}function s6(e={}){const{ref:t,isDisabled:n,isFocusable:r,clickOnEnter:o=!0,clickOnSpace:s=!0,onMouseDown:a,onMouseUp:c,onClick:d,onKeyDown:p,onKeyUp:h,tabIndex:m,onMouseOver:v,onMouseLeave:b,...w}=e,[y,S]=f.useState(!0),[k,_]=f.useState(!1),P=l$(),I=T=>{T&&T.tagName!=="BUTTON"&&S(!1)},E=y?m:m||0,O=n&&!r,R=f.useCallback(T=>{if(n){T.stopPropagation(),T.preventDefault();return}T.currentTarget.focus(),d==null||d(T)},[n,d]),M=f.useCallback(T=>{k&&D0(T)&&(T.preventDefault(),T.stopPropagation(),_(!1),P.remove(document,"keyup",M,!1))},[k,P]),D=f.useCallback(T=>{if(p==null||p(T),n||T.defaultPrevented||T.metaKey||!D0(T.nativeEvent)||y)return;const z=o&&T.key==="Enter";s&&T.key===" "&&(T.preventDefault(),_(!0)),z&&(T.preventDefault(),T.currentTarget.click()),P.add(document,"keyup",M,!1)},[n,y,p,o,s,P,M]),A=f.useCallback(T=>{if(h==null||h(T),n||T.defaultPrevented||T.metaKey||!D0(T.nativeEvent)||y)return;s&&T.key===" "&&(T.preventDefault(),_(!1),T.currentTarget.click())},[s,y,n,h]),L=f.useCallback(T=>{T.button===0&&(_(!1),P.remove(document,"mouseup",L,!1))},[P]),Q=f.useCallback(T=>{if(T.button!==0)return;if(n){T.stopPropagation(),T.preventDefault();return}y||_(!0),T.currentTarget.focus({preventScroll:!0}),P.add(document,"mouseup",L,!1),a==null||a(T)},[n,y,a,P,L]),F=f.useCallback(T=>{T.button===0&&(y||_(!1),c==null||c(T))},[c,y]),V=f.useCallback(T=>{if(n){T.preventDefault();return}v==null||v(T)},[n,v]),q=f.useCallback(T=>{k&&(T.preventDefault(),_(!1)),b==null||b(T)},[k,b]),G=cn(t,I);return y?{...w,ref:G,type:"button","aria-disabled":O?void 0:n,disabled:O,onClick:R,onMouseDown:a,onMouseUp:c,onKeyUp:h,onKeyDown:p,onMouseOver:v,onMouseLeave:b}:{...w,ref:G,role:"button","data-active":Ft(k),"aria-disabled":n?"true":void 0,tabIndex:O?void 0:E,onClick:R,onMouseDown:Q,onMouseUp:F,onKeyUp:A,onKeyDown:D,onMouseOver:V,onMouseLeave:q}}function c$(e){const t=e.current;if(!t)return!1;const n=NN(t);return!n||t.contains(n)?!1:!!HN(n)}function a6(e,t){const{shouldFocus:n,visible:r,focusRef:o}=t,s=n&&!r;Fa(()=>{if(!s||c$(e))return;const a=(o==null?void 0:o.current)||e.current;let c;if(a)return c=requestAnimationFrame(()=>{a.focus({preventScroll:!0})}),()=>{cancelAnimationFrame(c)}},[s,e,o])}var u$={preventScroll:!0,shouldFocus:!1};function d$(e,t=u$){const{focusRef:n,preventScroll:r,shouldFocus:o,visible:s}=t,a=f$(e)?e.current:e,c=o&&s,d=f.useRef(c),p=f.useRef(s);nc(()=>{!p.current&&s&&(d.current=c),p.current=s},[s,c]);const h=f.useCallback(()=>{if(!(!s||!a||!d.current)&&(d.current=!1,!a.contains(document.activeElement)))if(n!=null&&n.current)requestAnimationFrame(()=>{var m;(m=n.current)==null||m.focus({preventScroll:r})});else{const m=Q3(a);m.length>0&&requestAnimationFrame(()=>{m[0].focus({preventScroll:r})})}},[s,r,a,n]);Fa(()=>{h()},[h]),Yi(a,"transitionend",h)}function f$(e){return"current"in e}var $l=(e,t)=>({var:e,varRef:t?`var(${e}, ${t})`:`var(${e})`}),Ir={arrowShadowColor:$l("--popper-arrow-shadow-color"),arrowSize:$l("--popper-arrow-size","8px"),arrowSizeHalf:$l("--popper-arrow-size-half"),arrowBg:$l("--popper-arrow-bg"),transformOrigin:$l("--popper-transform-origin"),arrowOffset:$l("--popper-arrow-offset")};function p$(e){if(e.includes("top"))return"1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("bottom"))return"-1px -1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("right"))return"-1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("left"))return"1px -1px 0px 0 var(--popper-arrow-shadow-color)"}var h$={top:"bottom center","top-start":"bottom left","top-end":"bottom right",bottom:"top center","bottom-start":"top left","bottom-end":"top right",left:"right center","left-start":"right top","left-end":"right bottom",right:"left center","right-start":"left top","right-end":"left bottom"},m$=e=>h$[e],Qw={scroll:!0,resize:!0};function g$(e){let t;return typeof e=="object"?t={enabled:!0,options:{...Qw,...e}}:t={enabled:e,options:Qw},t}var v$={name:"matchWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect:({state:e})=>()=>{const t=e.elements.reference;e.elements.popper.style.width=`${t.offsetWidth}px`}},b$={name:"transformOrigin",enabled:!0,phase:"write",fn:({state:e})=>{Jw(e)},effect:({state:e})=>()=>{Jw(e)}},Jw=e=>{e.elements.popper.style.setProperty(Ir.transformOrigin.var,m$(e.placement))},y$={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:({state:e})=>{x$(e)}},x$=e=>{var t;if(!e.placement)return;const n=w$(e.placement);if((t=e.elements)!=null&&t.arrow&&n){Object.assign(e.elements.arrow.style,{[n.property]:n.value,width:Ir.arrowSize.varRef,height:Ir.arrowSize.varRef,zIndex:-1});const r={[Ir.arrowSizeHalf.var]:`calc(${Ir.arrowSize.varRef} / 2 - 1px)`,[Ir.arrowOffset.var]:`calc(${Ir.arrowSizeHalf.varRef} * -1)`};for(const o in r)e.elements.arrow.style.setProperty(o,r[o])}},w$=e=>{if(e.startsWith("top"))return{property:"bottom",value:Ir.arrowOffset.varRef};if(e.startsWith("bottom"))return{property:"top",value:Ir.arrowOffset.varRef};if(e.startsWith("left"))return{property:"right",value:Ir.arrowOffset.varRef};if(e.startsWith("right"))return{property:"left",value:Ir.arrowOffset.varRef}},S$={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:({state:e})=>{Zw(e)},effect:({state:e})=>()=>{Zw(e)}},Zw=e=>{if(!e.elements.arrow)return;const t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");if(!t)return;const n=p$(e.placement);n&&t.style.setProperty("--popper-arrow-default-shadow",n),Object.assign(t.style,{transform:"rotate(45deg)",background:Ir.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:"var(--popper-arrow-shadow, var(--popper-arrow-default-shadow))"})},C$={"start-start":{ltr:"left-start",rtl:"right-start"},"start-end":{ltr:"left-end",rtl:"right-end"},"end-start":{ltr:"right-start",rtl:"left-start"},"end-end":{ltr:"right-end",rtl:"left-end"},start:{ltr:"left",rtl:"right"},end:{ltr:"right",rtl:"left"}},k$={"auto-start":"auto-end","auto-end":"auto-start","top-start":"top-end","top-end":"top-start","bottom-start":"bottom-end","bottom-end":"bottom-start"};function _$(e,t="ltr"){var n,r;const o=((n=C$[e])==null?void 0:n[t])||e;return t==="ltr"?o:(r=k$[e])!=null?r:o}var _o="top",as="bottom",is="right",Po="left",Nb="auto",Od=[_o,as,is,Po],xc="start",od="end",P$="clippingParents",i6="viewport",gu="popper",j$="reference",eS=Od.reduce(function(e,t){return e.concat([t+"-"+xc,t+"-"+od])},[]),l6=[].concat(Od,[Nb]).reduce(function(e,t){return e.concat([t,t+"-"+xc,t+"-"+od])},[]),I$="beforeRead",E$="read",O$="afterRead",R$="beforeMain",M$="main",D$="afterMain",A$="beforeWrite",T$="write",N$="afterWrite",$$=[I$,E$,O$,R$,M$,D$,A$,T$,N$];function ra(e){return e?(e.nodeName||"").toLowerCase():null}function Fo(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function al(e){var t=Fo(e).Element;return e instanceof t||e instanceof Element}function os(e){var t=Fo(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function $b(e){if(typeof ShadowRoot>"u")return!1;var t=Fo(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function L$(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},o=t.attributes[n]||{},s=t.elements[n];!os(s)||!ra(s)||(Object.assign(s.style,r),Object.keys(o).forEach(function(a){var c=o[a];c===!1?s.removeAttribute(a):s.setAttribute(a,c===!0?"":c)}))})}function z$(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var o=t.elements[r],s=t.attributes[r]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),c=a.reduce(function(d,p){return d[p]="",d},{});!os(o)||!ra(o)||(Object.assign(o.style,c),Object.keys(s).forEach(function(d){o.removeAttribute(d)}))})}}const B$={name:"applyStyles",enabled:!0,phase:"write",fn:L$,effect:z$,requires:["computeStyles"]};function ta(e){return e.split("-")[0]}var Qi=Math.max,nh=Math.min,wc=Math.round;function Jv(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function c6(){return!/^((?!chrome|android).)*safari/i.test(Jv())}function Sc(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),o=1,s=1;t&&os(e)&&(o=e.offsetWidth>0&&wc(r.width)/e.offsetWidth||1,s=e.offsetHeight>0&&wc(r.height)/e.offsetHeight||1);var a=al(e)?Fo(e):window,c=a.visualViewport,d=!c6()&&n,p=(r.left+(d&&c?c.offsetLeft:0))/o,h=(r.top+(d&&c?c.offsetTop:0))/s,m=r.width/o,v=r.height/s;return{width:m,height:v,top:h,right:p+m,bottom:h+v,left:p,x:p,y:h}}function Lb(e){var t=Sc(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function u6(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&$b(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Ra(e){return Fo(e).getComputedStyle(e)}function F$(e){return["table","td","th"].indexOf(ra(e))>=0}function Pi(e){return((al(e)?e.ownerDocument:e.document)||window.document).documentElement}function wm(e){return ra(e)==="html"?e:e.assignedSlot||e.parentNode||($b(e)?e.host:null)||Pi(e)}function tS(e){return!os(e)||Ra(e).position==="fixed"?null:e.offsetParent}function H$(e){var t=/firefox/i.test(Jv()),n=/Trident/i.test(Jv());if(n&&os(e)){var r=Ra(e);if(r.position==="fixed")return null}var o=wm(e);for($b(o)&&(o=o.host);os(o)&&["html","body"].indexOf(ra(o))<0;){var s=Ra(o);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||t&&s.willChange==="filter"||t&&s.filter&&s.filter!=="none")return o;o=o.parentNode}return null}function Rd(e){for(var t=Fo(e),n=tS(e);n&&F$(n)&&Ra(n).position==="static";)n=tS(n);return n&&(ra(n)==="html"||ra(n)==="body"&&Ra(n).position==="static")?t:n||H$(e)||t}function zb(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Wu(e,t,n){return Qi(e,nh(t,n))}function W$(e,t,n){var r=Wu(e,t,n);return r>n?n:r}function d6(){return{top:0,right:0,bottom:0,left:0}}function f6(e){return Object.assign({},d6(),e)}function p6(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var V$=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,f6(typeof t!="number"?t:p6(t,Od))};function U$(e){var t,n=e.state,r=e.name,o=e.options,s=n.elements.arrow,a=n.modifiersData.popperOffsets,c=ta(n.placement),d=zb(c),p=[Po,is].indexOf(c)>=0,h=p?"height":"width";if(!(!s||!a)){var m=V$(o.padding,n),v=Lb(s),b=d==="y"?_o:Po,w=d==="y"?as:is,y=n.rects.reference[h]+n.rects.reference[d]-a[d]-n.rects.popper[h],S=a[d]-n.rects.reference[d],k=Rd(s),_=k?d==="y"?k.clientHeight||0:k.clientWidth||0:0,P=y/2-S/2,I=m[b],E=_-v[h]-m[w],O=_/2-v[h]/2+P,R=Wu(I,O,E),M=d;n.modifiersData[r]=(t={},t[M]=R,t.centerOffset=R-O,t)}}function G$(e){var t=e.state,n=e.options,r=n.element,o=r===void 0?"[data-popper-arrow]":r;o!=null&&(typeof o=="string"&&(o=t.elements.popper.querySelector(o),!o)||u6(t.elements.popper,o)&&(t.elements.arrow=o))}const q$={name:"arrow",enabled:!0,phase:"main",fn:U$,effect:G$,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Cc(e){return e.split("-")[1]}var K$={top:"auto",right:"auto",bottom:"auto",left:"auto"};function X$(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:wc(n*o)/o||0,y:wc(r*o)/o||0}}function nS(e){var t,n=e.popper,r=e.popperRect,o=e.placement,s=e.variation,a=e.offsets,c=e.position,d=e.gpuAcceleration,p=e.adaptive,h=e.roundOffsets,m=e.isFixed,v=a.x,b=v===void 0?0:v,w=a.y,y=w===void 0?0:w,S=typeof h=="function"?h({x:b,y}):{x:b,y};b=S.x,y=S.y;var k=a.hasOwnProperty("x"),_=a.hasOwnProperty("y"),P=Po,I=_o,E=window;if(p){var O=Rd(n),R="clientHeight",M="clientWidth";if(O===Fo(n)&&(O=Pi(n),Ra(O).position!=="static"&&c==="absolute"&&(R="scrollHeight",M="scrollWidth")),O=O,o===_o||(o===Po||o===is)&&s===od){I=as;var D=m&&O===E&&E.visualViewport?E.visualViewport.height:O[R];y-=D-r.height,y*=d?1:-1}if(o===Po||(o===_o||o===as)&&s===od){P=is;var A=m&&O===E&&E.visualViewport?E.visualViewport.width:O[M];b-=A-r.width,b*=d?1:-1}}var L=Object.assign({position:c},p&&K$),Q=h===!0?X$({x:b,y},Fo(n)):{x:b,y};if(b=Q.x,y=Q.y,d){var F;return Object.assign({},L,(F={},F[I]=_?"0":"",F[P]=k?"0":"",F.transform=(E.devicePixelRatio||1)<=1?"translate("+b+"px, "+y+"px)":"translate3d("+b+"px, "+y+"px, 0)",F))}return Object.assign({},L,(t={},t[I]=_?y+"px":"",t[P]=k?b+"px":"",t.transform="",t))}function Y$(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=r===void 0?!0:r,s=n.adaptive,a=s===void 0?!0:s,c=n.roundOffsets,d=c===void 0?!0:c,p={placement:ta(t.placement),variation:Cc(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,nS(Object.assign({},p,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:d})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,nS(Object.assign({},p,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:d})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const Q$={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Y$,data:{}};var Hf={passive:!0};function J$(e){var t=e.state,n=e.instance,r=e.options,o=r.scroll,s=o===void 0?!0:o,a=r.resize,c=a===void 0?!0:a,d=Fo(t.elements.popper),p=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&p.forEach(function(h){h.addEventListener("scroll",n.update,Hf)}),c&&d.addEventListener("resize",n.update,Hf),function(){s&&p.forEach(function(h){h.removeEventListener("scroll",n.update,Hf)}),c&&d.removeEventListener("resize",n.update,Hf)}}const Z$={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:J$,data:{}};var eL={left:"right",right:"left",bottom:"top",top:"bottom"};function Ep(e){return e.replace(/left|right|bottom|top/g,function(t){return eL[t]})}var tL={start:"end",end:"start"};function rS(e){return e.replace(/start|end/g,function(t){return tL[t]})}function Bb(e){var t=Fo(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function Fb(e){return Sc(Pi(e)).left+Bb(e).scrollLeft}function nL(e,t){var n=Fo(e),r=Pi(e),o=n.visualViewport,s=r.clientWidth,a=r.clientHeight,c=0,d=0;if(o){s=o.width,a=o.height;var p=c6();(p||!p&&t==="fixed")&&(c=o.offsetLeft,d=o.offsetTop)}return{width:s,height:a,x:c+Fb(e),y:d}}function rL(e){var t,n=Pi(e),r=Bb(e),o=(t=e.ownerDocument)==null?void 0:t.body,s=Qi(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=Qi(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),c=-r.scrollLeft+Fb(e),d=-r.scrollTop;return Ra(o||n).direction==="rtl"&&(c+=Qi(n.clientWidth,o?o.clientWidth:0)-s),{width:s,height:a,x:c,y:d}}function Hb(e){var t=Ra(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function h6(e){return["html","body","#document"].indexOf(ra(e))>=0?e.ownerDocument.body:os(e)&&Hb(e)?e:h6(wm(e))}function Vu(e,t){var n;t===void 0&&(t=[]);var r=h6(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=Fo(r),a=o?[s].concat(s.visualViewport||[],Hb(r)?r:[]):r,c=t.concat(a);return o?c:c.concat(Vu(wm(a)))}function Zv(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function oL(e,t){var n=Sc(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function oS(e,t,n){return t===i6?Zv(nL(e,n)):al(t)?oL(t,n):Zv(rL(Pi(e)))}function sL(e){var t=Vu(wm(e)),n=["absolute","fixed"].indexOf(Ra(e).position)>=0,r=n&&os(e)?Rd(e):e;return al(r)?t.filter(function(o){return al(o)&&u6(o,r)&&ra(o)!=="body"}):[]}function aL(e,t,n,r){var o=t==="clippingParents"?sL(e):[].concat(t),s=[].concat(o,[n]),a=s[0],c=s.reduce(function(d,p){var h=oS(e,p,r);return d.top=Qi(h.top,d.top),d.right=nh(h.right,d.right),d.bottom=nh(h.bottom,d.bottom),d.left=Qi(h.left,d.left),d},oS(e,a,r));return c.width=c.right-c.left,c.height=c.bottom-c.top,c.x=c.left,c.y=c.top,c}function m6(e){var t=e.reference,n=e.element,r=e.placement,o=r?ta(r):null,s=r?Cc(r):null,a=t.x+t.width/2-n.width/2,c=t.y+t.height/2-n.height/2,d;switch(o){case _o:d={x:a,y:t.y-n.height};break;case as:d={x:a,y:t.y+t.height};break;case is:d={x:t.x+t.width,y:c};break;case Po:d={x:t.x-n.width,y:c};break;default:d={x:t.x,y:t.y}}var p=o?zb(o):null;if(p!=null){var h=p==="y"?"height":"width";switch(s){case xc:d[p]=d[p]-(t[h]/2-n[h]/2);break;case od:d[p]=d[p]+(t[h]/2-n[h]/2);break}}return d}function sd(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=r===void 0?e.placement:r,s=n.strategy,a=s===void 0?e.strategy:s,c=n.boundary,d=c===void 0?P$:c,p=n.rootBoundary,h=p===void 0?i6:p,m=n.elementContext,v=m===void 0?gu:m,b=n.altBoundary,w=b===void 0?!1:b,y=n.padding,S=y===void 0?0:y,k=f6(typeof S!="number"?S:p6(S,Od)),_=v===gu?j$:gu,P=e.rects.popper,I=e.elements[w?_:v],E=aL(al(I)?I:I.contextElement||Pi(e.elements.popper),d,h,a),O=Sc(e.elements.reference),R=m6({reference:O,element:P,strategy:"absolute",placement:o}),M=Zv(Object.assign({},P,R)),D=v===gu?M:O,A={top:E.top-D.top+k.top,bottom:D.bottom-E.bottom+k.bottom,left:E.left-D.left+k.left,right:D.right-E.right+k.right},L=e.modifiersData.offset;if(v===gu&&L){var Q=L[o];Object.keys(A).forEach(function(F){var V=[is,as].indexOf(F)>=0?1:-1,q=[_o,as].indexOf(F)>=0?"y":"x";A[F]+=Q[q]*V})}return A}function iL(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=n.boundary,s=n.rootBoundary,a=n.padding,c=n.flipVariations,d=n.allowedAutoPlacements,p=d===void 0?l6:d,h=Cc(r),m=h?c?eS:eS.filter(function(w){return Cc(w)===h}):Od,v=m.filter(function(w){return p.indexOf(w)>=0});v.length===0&&(v=m);var b=v.reduce(function(w,y){return w[y]=sd(e,{placement:y,boundary:o,rootBoundary:s,padding:a})[ta(y)],w},{});return Object.keys(b).sort(function(w,y){return b[w]-b[y]})}function lL(e){if(ta(e)===Nb)return[];var t=Ep(e);return[rS(e),t,rS(t)]}function cL(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,c=a===void 0?!0:a,d=n.fallbackPlacements,p=n.padding,h=n.boundary,m=n.rootBoundary,v=n.altBoundary,b=n.flipVariations,w=b===void 0?!0:b,y=n.allowedAutoPlacements,S=t.options.placement,k=ta(S),_=k===S,P=d||(_||!w?[Ep(S)]:lL(S)),I=[S].concat(P).reduce(function(X,K){return X.concat(ta(K)===Nb?iL(t,{placement:K,boundary:h,rootBoundary:m,padding:p,flipVariations:w,allowedAutoPlacements:y}):K)},[]),E=t.rects.reference,O=t.rects.popper,R=new Map,M=!0,D=I[0],A=0;A=0,q=V?"width":"height",G=sd(t,{placement:L,boundary:h,rootBoundary:m,altBoundary:v,padding:p}),T=V?F?is:Po:F?as:_o;E[q]>O[q]&&(T=Ep(T));var z=Ep(T),$=[];if(s&&$.push(G[Q]<=0),c&&$.push(G[T]<=0,G[z]<=0),$.every(function(X){return X})){D=L,M=!1;break}R.set(L,$)}if(M)for(var Y=w?3:1,ae=function(K){var U=I.find(function(se){var re=R.get(se);if(re)return re.slice(0,K).every(function(oe){return oe})});if(U)return D=U,"break"},fe=Y;fe>0;fe--){var ie=ae(fe);if(ie==="break")break}t.placement!==D&&(t.modifiersData[r]._skip=!0,t.placement=D,t.reset=!0)}}const uL={name:"flip",enabled:!0,phase:"main",fn:cL,requiresIfExists:["offset"],data:{_skip:!1}};function sS(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function aS(e){return[_o,is,as,Po].some(function(t){return e[t]>=0})}function dL(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,s=t.modifiersData.preventOverflow,a=sd(t,{elementContext:"reference"}),c=sd(t,{altBoundary:!0}),d=sS(a,r),p=sS(c,o,s),h=aS(d),m=aS(p);t.modifiersData[n]={referenceClippingOffsets:d,popperEscapeOffsets:p,isReferenceHidden:h,hasPopperEscaped:m},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":m})}const fL={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:dL};function pL(e,t,n){var r=ta(e),o=[Po,_o].indexOf(r)>=0?-1:1,s=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=s[0],c=s[1];return a=a||0,c=(c||0)*o,[Po,is].indexOf(r)>=0?{x:c,y:a}:{x:a,y:c}}function hL(e){var t=e.state,n=e.options,r=e.name,o=n.offset,s=o===void 0?[0,0]:o,a=l6.reduce(function(h,m){return h[m]=pL(m,t.rects,s),h},{}),c=a[t.placement],d=c.x,p=c.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=d,t.modifiersData.popperOffsets.y+=p),t.modifiersData[r]=a}const mL={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:hL};function gL(e){var t=e.state,n=e.name;t.modifiersData[n]=m6({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const vL={name:"popperOffsets",enabled:!0,phase:"read",fn:gL,data:{}};function bL(e){return e==="x"?"y":"x"}function yL(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,c=a===void 0?!1:a,d=n.boundary,p=n.rootBoundary,h=n.altBoundary,m=n.padding,v=n.tether,b=v===void 0?!0:v,w=n.tetherOffset,y=w===void 0?0:w,S=sd(t,{boundary:d,rootBoundary:p,padding:m,altBoundary:h}),k=ta(t.placement),_=Cc(t.placement),P=!_,I=zb(k),E=bL(I),O=t.modifiersData.popperOffsets,R=t.rects.reference,M=t.rects.popper,D=typeof y=="function"?y(Object.assign({},t.rects,{placement:t.placement})):y,A=typeof D=="number"?{mainAxis:D,altAxis:D}:Object.assign({mainAxis:0,altAxis:0},D),L=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,Q={x:0,y:0};if(O){if(s){var F,V=I==="y"?_o:Po,q=I==="y"?as:is,G=I==="y"?"height":"width",T=O[I],z=T+S[V],$=T-S[q],Y=b?-M[G]/2:0,ae=_===xc?R[G]:M[G],fe=_===xc?-M[G]:-R[G],ie=t.elements.arrow,X=b&&ie?Lb(ie):{width:0,height:0},K=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:d6(),U=K[V],se=K[q],re=Wu(0,R[G],X[G]),oe=P?R[G]/2-Y-re-U-A.mainAxis:ae-re-U-A.mainAxis,pe=P?-R[G]/2+Y+re+se+A.mainAxis:fe+re+se+A.mainAxis,le=t.elements.arrow&&Rd(t.elements.arrow),ge=le?I==="y"?le.clientTop||0:le.clientLeft||0:0,ke=(F=L==null?void 0:L[I])!=null?F:0,xe=T+oe-ke-ge,de=T+pe-ke,Te=Wu(b?nh(z,xe):z,T,b?Qi($,de):$);O[I]=Te,Q[I]=Te-T}if(c){var Ee,$e=I==="x"?_o:Po,kt=I==="x"?as:is,ct=O[E],on=E==="y"?"height":"width",vt=ct+S[$e],bt=ct-S[kt],Se=[_o,Po].indexOf(k)!==-1,Me=(Ee=L==null?void 0:L[E])!=null?Ee:0,Pt=Se?vt:ct-R[on]-M[on]-Me+A.altAxis,Tt=Se?ct+R[on]+M[on]-Me-A.altAxis:bt,we=b&&Se?W$(Pt,ct,Tt):Wu(b?Pt:vt,ct,b?Tt:bt);O[E]=we,Q[E]=we-ct}t.modifiersData[r]=Q}}const xL={name:"preventOverflow",enabled:!0,phase:"main",fn:yL,requiresIfExists:["offset"]};function wL(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function SL(e){return e===Fo(e)||!os(e)?Bb(e):wL(e)}function CL(e){var t=e.getBoundingClientRect(),n=wc(t.width)/e.offsetWidth||1,r=wc(t.height)/e.offsetHeight||1;return n!==1||r!==1}function kL(e,t,n){n===void 0&&(n=!1);var r=os(t),o=os(t)&&CL(t),s=Pi(t),a=Sc(e,o,n),c={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(r||!r&&!n)&&((ra(t)!=="body"||Hb(s))&&(c=SL(t)),os(t)?(d=Sc(t,!0),d.x+=t.clientLeft,d.y+=t.clientTop):s&&(d.x=Fb(s))),{x:a.left+c.scrollLeft-d.x,y:a.top+c.scrollTop-d.y,width:a.width,height:a.height}}function _L(e){var t=new Map,n=new Set,r=[];e.forEach(function(s){t.set(s.name,s)});function o(s){n.add(s.name);var a=[].concat(s.requires||[],s.requiresIfExists||[]);a.forEach(function(c){if(!n.has(c)){var d=t.get(c);d&&o(d)}}),r.push(s)}return e.forEach(function(s){n.has(s.name)||o(s)}),r}function PL(e){var t=_L(e);return $$.reduce(function(n,r){return n.concat(t.filter(function(o){return o.phase===r}))},[])}function jL(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function IL(e){var t=e.reduce(function(n,r){var o=n[r.name];return n[r.name]=o?Object.assign({},o,r,{options:Object.assign({},o.options,r.options),data:Object.assign({},o.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var iS={placement:"bottom",modifiers:[],strategy:"absolute"};function lS(){for(var e=arguments.length,t=new Array(e),n=0;n{}),P=f.useCallback(()=>{var A;!t||!w.current||!y.current||((A=_.current)==null||A.call(_),S.current=RL(w.current,y.current,{placement:k,modifiers:[S$,y$,b$,{...v$,enabled:!!v},{name:"eventListeners",...g$(a)},{name:"arrow",options:{padding:s}},{name:"offset",options:{offset:c??[0,d]}},{name:"flip",enabled:!!p,options:{padding:8}},{name:"preventOverflow",enabled:!!m,options:{boundary:h}},...n??[]],strategy:o}),S.current.forceUpdate(),_.current=S.current.destroy)},[k,t,n,v,a,s,c,d,p,m,h,o]);f.useEffect(()=>()=>{var A;!w.current&&!y.current&&((A=S.current)==null||A.destroy(),S.current=null)},[]);const I=f.useCallback(A=>{w.current=A,P()},[P]),E=f.useCallback((A={},L=null)=>({...A,ref:cn(I,L)}),[I]),O=f.useCallback(A=>{y.current=A,P()},[P]),R=f.useCallback((A={},L=null)=>({...A,ref:cn(O,L),style:{...A.style,position:o,minWidth:v?void 0:"max-content",inset:"0 auto auto 0"}}),[o,O,v]),M=f.useCallback((A={},L=null)=>{const{size:Q,shadowColor:F,bg:V,style:q,...G}=A;return{...G,ref:L,"data-popper-arrow":"",style:ML(A)}},[]),D=f.useCallback((A={},L=null)=>({...A,ref:L,"data-popper-arrow-inner":""}),[]);return{update(){var A;(A=S.current)==null||A.update()},forceUpdate(){var A;(A=S.current)==null||A.forceUpdate()},transformOrigin:Ir.transformOrigin.varRef,referenceRef:I,popperRef:O,getPopperProps:R,getArrowProps:M,getArrowInnerProps:D,getReferenceProps:E}}function ML(e){const{size:t,shadowColor:n,bg:r,style:o}=e,s={...o,position:"absolute"};return t&&(s["--popper-arrow-size"]=t),n&&(s["--popper-arrow-shadow-color"]=n),r&&(s["--popper-arrow-bg"]=r),s}function Vb(e={}){const{onClose:t,onOpen:n,isOpen:r,id:o}=e,s=or(n),a=or(t),[c,d]=f.useState(e.defaultIsOpen||!1),p=r!==void 0?r:c,h=r!==void 0,m=f.useId(),v=o??`disclosure-${m}`,b=f.useCallback(()=>{h||d(!1),a==null||a()},[h,a]),w=f.useCallback(()=>{h||d(!0),s==null||s()},[h,s]),y=f.useCallback(()=>{p?b():w()},[p,w,b]);function S(_={}){return{..._,"aria-expanded":p,"aria-controls":v,onClick(P){var I;(I=_.onClick)==null||I.call(_,P),y()}}}function k(_={}){return{..._,hidden:!p,id:v}}return{isOpen:p,onOpen:w,onClose:b,onToggle:y,isControlled:h,getButtonProps:S,getDisclosureProps:k}}function DL(e){const{ref:t,handler:n,enabled:r=!0}=e,o=or(n),a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{A0(m,t)&&(a.isPointerDown=!0)},d=m=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&A0(m,t)&&(a.isPointerDown=!1,o(m))},p=m=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&A0(m,t)&&(a.isPointerDown=!1,o(m))},h=g6(t.current);return h.addEventListener("mousedown",c,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",c,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",c,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",c,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,a,r])}function A0(e,t){var n;const r=e.target;return r&&!g6(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function g6(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function v6(e){const{isOpen:t,ref:n}=e,[r,o]=f.useState(t),[s,a]=f.useState(!1);return f.useEffect(()=>{s||(o(t),a(!0))},[t,s,r]),Yi(()=>n.current,"animationend",()=>{o(t)}),{present:!(t?!1:!r),onComplete(){var d;const p=TN(n.current),h=new p.CustomEvent("animationend",{bubbles:!0});(d=n.current)==null||d.dispatchEvent(h)}}}function Ub(e){const{wasSelected:t,enabled:n,isSelected:r,mode:o="unmount"}=e;return!!(!n||r||o==="keepMounted"&&t)}var[AL,TL,NL,$L]=pb(),[LL,Md]=Dn({strict:!1,name:"MenuContext"});function zL(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}function b6(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function cS(e){return b6(e).activeElement===e}function BL(e={}){const{id:t,closeOnSelect:n=!0,closeOnBlur:r=!0,initialFocusRef:o,autoSelect:s=!0,isLazy:a,isOpen:c,defaultIsOpen:d,onClose:p,onOpen:h,placement:m="bottom-start",lazyBehavior:v="unmount",direction:b,computePositionOnMount:w=!1,...y}=e,S=f.useRef(null),k=f.useRef(null),_=NL(),P=f.useCallback(()=>{requestAnimationFrame(()=>{var ie;(ie=S.current)==null||ie.focus({preventScroll:!1})})},[]),I=f.useCallback(()=>{const ie=setTimeout(()=>{var X;if(o)(X=o.current)==null||X.focus();else{const K=_.firstEnabled();K&&F(K.index)}});z.current.add(ie)},[_,o]),E=f.useCallback(()=>{const ie=setTimeout(()=>{const X=_.lastEnabled();X&&F(X.index)});z.current.add(ie)},[_]),O=f.useCallback(()=>{h==null||h(),s?I():P()},[s,I,P,h]),{isOpen:R,onOpen:M,onClose:D,onToggle:A}=Vb({isOpen:c,defaultIsOpen:d,onClose:p,onOpen:O});DL({enabled:R&&r,ref:S,handler:ie=>{var X;(X=k.current)!=null&&X.contains(ie.target)||D()}});const L=Wb({...y,enabled:R||w,placement:m,direction:b}),[Q,F]=f.useState(-1);Fa(()=>{R||F(-1)},[R]),a6(S,{focusRef:k,visible:R,shouldFocus:!0});const V=v6({isOpen:R,ref:S}),[q,G]=zL(t,"menu-button","menu-list"),T=f.useCallback(()=>{M(),P()},[M,P]),z=f.useRef(new Set([]));KL(()=>{z.current.forEach(ie=>clearTimeout(ie)),z.current.clear()});const $=f.useCallback(()=>{M(),I()},[I,M]),Y=f.useCallback(()=>{M(),E()},[M,E]),ae=f.useCallback(()=>{var ie,X;const K=b6(S.current),U=(ie=S.current)==null?void 0:ie.contains(K.activeElement);if(!(R&&!U))return;const re=(X=_.item(Q))==null?void 0:X.node;re==null||re.focus()},[R,Q,_]),fe=f.useRef(null);return{openAndFocusMenu:T,openAndFocusFirstItem:$,openAndFocusLastItem:Y,onTransitionEnd:ae,unstable__animationState:V,descendants:_,popper:L,buttonId:q,menuId:G,forceUpdate:L.forceUpdate,orientation:"vertical",isOpen:R,onToggle:A,onOpen:M,onClose:D,menuRef:S,buttonRef:k,focusedIndex:Q,closeOnSelect:n,closeOnBlur:r,autoSelect:s,setFocusedIndex:F,isLazy:a,lazyBehavior:v,initialFocusRef:o,rafId:fe}}function FL(e={},t=null){const n=Md(),{onToggle:r,popper:o,openAndFocusFirstItem:s,openAndFocusLastItem:a}=n,c=f.useCallback(d=>{const p=d.key,m={Enter:s,ArrowDown:s,ArrowUp:a}[p];m&&(d.preventDefault(),d.stopPropagation(),m(d))},[s,a]);return{...e,ref:cn(n.buttonRef,t,o.referenceRef),id:n.buttonId,"data-active":Ft(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:et(e.onClick,r),onKeyDown:et(e.onKeyDown,c)}}function e1(e){var t;return GL(e)&&!!((t=e==null?void 0:e.getAttribute("role"))!=null&&t.startsWith("menuitem"))}function HL(e={},t=null){const n=Md();if(!n)throw new Error("useMenuContext: context is undefined. Seems you forgot to wrap component within ");const{focusedIndex:r,setFocusedIndex:o,menuRef:s,isOpen:a,onClose:c,menuId:d,isLazy:p,lazyBehavior:h,unstable__animationState:m}=n,v=TL(),b=a$({preventDefault:k=>k.key!==" "&&e1(k.target)}),w=f.useCallback(k=>{if(!k.currentTarget.contains(k.target))return;const _=k.key,I={Tab:O=>O.preventDefault(),Escape:c,ArrowDown:()=>{const O=v.nextEnabled(r);O&&o(O.index)},ArrowUp:()=>{const O=v.prevEnabled(r);O&&o(O.index)}}[_];if(I){k.preventDefault(),I(k);return}const E=b(O=>{const R=i$(v.values(),O,M=>{var D,A;return(A=(D=M==null?void 0:M.node)==null?void 0:D.textContent)!=null?A:""},v.item(r));if(R){const M=v.indexOf(R.node);o(M)}});e1(k.target)&&E(k)},[v,r,b,c,o]),y=f.useRef(!1);a&&(y.current=!0);const S=Ub({wasSelected:y.current,enabled:p,mode:h,isSelected:m.present});return{...e,ref:cn(s,t),children:S?e.children:null,tabIndex:-1,role:"menu",id:d,style:{...e.style,transformOrigin:"var(--popper-transform-origin)"},"aria-orientation":"vertical",onKeyDown:et(e.onKeyDown,w)}}function WL(e={}){const{popper:t,isOpen:n}=Md();return t.getPopperProps({...e,style:{visibility:n?"visible":"hidden",...e.style}})}function y6(e={},t=null){const{onMouseEnter:n,onMouseMove:r,onMouseLeave:o,onClick:s,onFocus:a,isDisabled:c,isFocusable:d,closeOnSelect:p,type:h,...m}=e,v=Md(),{setFocusedIndex:b,focusedIndex:w,closeOnSelect:y,onClose:S,menuRef:k,isOpen:_,menuId:P,rafId:I}=v,E=f.useRef(null),O=`${P}-menuitem-${f.useId()}`,{index:R,register:M}=$L({disabled:c&&!d}),D=f.useCallback(T=>{n==null||n(T),!c&&b(R)},[b,R,c,n]),A=f.useCallback(T=>{r==null||r(T),E.current&&!cS(E.current)&&D(T)},[D,r]),L=f.useCallback(T=>{o==null||o(T),!c&&b(-1)},[b,c,o]),Q=f.useCallback(T=>{s==null||s(T),e1(T.currentTarget)&&(p??y)&&S()},[S,s,y,p]),F=f.useCallback(T=>{a==null||a(T),b(R)},[b,a,R]),V=R===w,q=c&&!d;Fa(()=>{_&&(V&&!q&&E.current?(I.current&&cancelAnimationFrame(I.current),I.current=requestAnimationFrame(()=>{var T;(T=E.current)==null||T.focus(),I.current=null})):k.current&&!cS(k.current)&&k.current.focus({preventScroll:!0}))},[V,q,k,_]);const G=s6({onClick:Q,onFocus:F,onMouseEnter:D,onMouseMove:A,onMouseLeave:L,ref:cn(M,E,t),isDisabled:c,isFocusable:d});return{...m,...G,type:h??G.type,id:O,role:"menuitem",tabIndex:V?0:-1}}function VL(e={},t=null){const{type:n="radio",isChecked:r,...o}=e;return{...y6(o,t),role:`menuitem${n}`,"aria-checked":r}}function UL(e={}){const{children:t,type:n="radio",value:r,defaultValue:o,onChange:s,...a}=e,d=n==="radio"?"":[],[p,h]=zc({defaultValue:o??d,value:r,onChange:s}),m=f.useCallback(w=>{if(n==="radio"&&typeof p=="string"&&h(w),n==="checkbox"&&Array.isArray(p)){const y=p.includes(w)?p.filter(S=>S!==w):p.concat(w);h(y)}},[p,h,n]),b=Pd(t).map(w=>{if(w.type.id!=="MenuItemOption")return w;const y=k=>{var _,P;m(w.props.value),(P=(_=w.props).onClick)==null||P.call(_,k)},S=n==="radio"?w.props.value===p:p.includes(w.props.value);return f.cloneElement(w,{type:n,onClick:y,isChecked:S})});return{...a,children:b}}function GL(e){var t;if(!qL(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function qL(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function KL(e,t=[]){return f.useEffect(()=>()=>e(),t)}var[XL,Hc]=Dn({name:"MenuStylesContext",errorMessage:`useMenuStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Dd=e=>{const{children:t}=e,n=Fr("Menu",e),r=qn(e),{direction:o}=Nc(),{descendants:s,...a}=BL({...r,direction:o}),c=f.useMemo(()=>a,[a]),{isOpen:d,onClose:p,forceUpdate:h}=c;return i.jsx(AL,{value:s,children:i.jsx(LL,{value:c,children:i.jsx(XL,{value:n,children:Y1(t,{isOpen:d,onClose:p,forceUpdate:h})})})})};Dd.displayName="Menu";var x6=Ae((e,t)=>{const n=Hc();return i.jsx(je.span,{ref:t,...e,__css:n.command,className:"chakra-menu__command"})});x6.displayName="MenuCommand";var w6=Ae((e,t)=>{const{type:n,...r}=e,o=Hc(),s=r.as||n?n??void 0:"button",a=f.useMemo(()=>({textDecoration:"none",color:"inherit",userSelect:"none",display:"flex",width:"100%",alignItems:"center",textAlign:"start",flex:"0 0 auto",outline:0,...o.item}),[o.item]);return i.jsx(je.button,{ref:t,type:s,...r,__css:a})}),Gb=e=>{const{className:t,children:n,...r}=e,o=Hc(),s=f.Children.only(n),a=f.isValidElement(s)?f.cloneElement(s,{focusable:"false","aria-hidden":!0,className:Ct("chakra-menu__icon",s.props.className)}):null,c=Ct("chakra-menu__icon-wrapper",t);return i.jsx(je.span,{className:c,...r,__css:o.icon,children:a})};Gb.displayName="MenuIcon";var jr=Ae((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",command:o,commandSpacing:s="0.75rem",children:a,...c}=e,d=y6(c,t),h=n||o?i.jsx("span",{style:{pointerEvents:"none",flex:1},children:a}):a;return i.jsxs(w6,{...d,className:Ct("chakra-menu__menuitem",d.className),children:[n&&i.jsx(Gb,{fontSize:"0.8em",marginEnd:r,children:n}),h,o&&i.jsx(x6,{marginStart:s,children:o})]})});jr.displayName="MenuItem";var YL={enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.2,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.1,easings:"easeOut"}}},QL=je(Er.div),il=Ae(function(t,n){var r,o;const{rootProps:s,motionProps:a,...c}=t,{isOpen:d,onTransitionEnd:p,unstable__animationState:h}=Md(),m=HL(c,n),v=WL(s),b=Hc();return i.jsx(je.div,{...v,__css:{zIndex:(o=t.zIndex)!=null?o:(r=b.list)==null?void 0:r.zIndex},children:i.jsx(QL,{variants:YL,initial:!1,animate:d?"enter":"exit",__css:{outline:0,...b.list},...a,className:Ct("chakra-menu__menu-list",m.className),...m,onUpdate:p,onAnimationComplete:um(h.onComplete,m.onAnimationComplete)})})});il.displayName="MenuList";var ad=Ae((e,t)=>{const{title:n,children:r,className:o,...s}=e,a=Ct("chakra-menu__group__title",o),c=Hc();return i.jsxs("div",{ref:t,className:"chakra-menu__group",role:"group",children:[n&&i.jsx(je.p,{className:a,...s,__css:c.groupTitle,children:n}),r]})});ad.displayName="MenuGroup";var S6=e=>{const{className:t,title:n,...r}=e,o=UL(r);return i.jsx(ad,{title:n,className:Ct("chakra-menu__option-group",t),...o})};S6.displayName="MenuOptionGroup";var JL=Ae((e,t)=>{const n=Hc();return i.jsx(je.button,{ref:t,...e,__css:{display:"inline-flex",appearance:"none",alignItems:"center",outline:0,...n.button}})}),Ad=Ae((e,t)=>{const{children:n,as:r,...o}=e,s=FL(o,t),a=r||JL;return i.jsx(a,{...s,className:Ct("chakra-menu__menu-button",e.className),children:i.jsx(je.span,{__css:{pointerEvents:"none",flex:"1 1 auto",minW:0},children:e.children})})});Ad.displayName="MenuButton";var ZL=e=>i.jsx("svg",{viewBox:"0 0 14 14",width:"1em",height:"1em",...e,children:i.jsx("polygon",{fill:"currentColor",points:"5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039"})}),rh=Ae((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",...o}=e,s=VL(o,t);return i.jsxs(w6,{...s,className:Ct("chakra-menu__menuitem-option",o.className),children:[n!==null&&i.jsx(Gb,{fontSize:"0.8em",marginEnd:r,opacity:e.isChecked?1:0,children:n||i.jsx(ZL,{})}),i.jsx("span",{style:{flex:1},children:s.children})]})});rh.id="MenuItemOption";rh.displayName="MenuItemOption";var ez={slideInBottom:{...Bv,custom:{offsetY:16,reverse:!0}},slideInRight:{...Bv,custom:{offsetX:16,reverse:!0}},scale:{...K5,custom:{initialScale:.95,reverse:!0}},none:{}},tz=je(Er.section),nz=e=>ez[e||"none"],C6=f.forwardRef((e,t)=>{const{preset:n,motionProps:r=nz(n),...o}=e;return i.jsx(tz,{ref:t,...r,...o})});C6.displayName="ModalTransition";var rz=Object.defineProperty,oz=(e,t,n)=>t in e?rz(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,sz=(e,t,n)=>(oz(e,typeof t!="symbol"?t+"":t,n),n),az=class{constructor(){sz(this,"modals"),this.modals=new Map}add(e){return this.modals.set(e,this.modals.size+1),this.modals.size}remove(e){this.modals.delete(e)}isTopModal(e){return e?this.modals.get(e)===this.modals.size:!1}},t1=new az;function k6(e,t){const[n,r]=f.useState(0);return f.useEffect(()=>{const o=e.current;if(o){if(t){const s=t1.add(o);r(s)}return()=>{t1.remove(o),r(0)}}},[t,e]),n}var iz=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Ll=new WeakMap,Wf=new WeakMap,Vf={},T0=0,_6=function(e){return e&&(e.host||_6(e.parentNode))},lz=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=_6(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},cz=function(e,t,n,r){var o=lz(t,Array.isArray(e)?e:[e]);Vf[n]||(Vf[n]=new WeakMap);var s=Vf[n],a=[],c=new Set,d=new Set(o),p=function(m){!m||c.has(m)||(c.add(m),p(m.parentNode))};o.forEach(p);var h=function(m){!m||d.has(m)||Array.prototype.forEach.call(m.children,function(v){if(c.has(v))h(v);else{var b=v.getAttribute(r),w=b!==null&&b!=="false",y=(Ll.get(v)||0)+1,S=(s.get(v)||0)+1;Ll.set(v,y),s.set(v,S),a.push(v),y===1&&w&&Wf.set(v,!0),S===1&&v.setAttribute(n,"true"),w||v.setAttribute(r,"true")}})};return h(t),c.clear(),T0++,function(){a.forEach(function(m){var v=Ll.get(m)-1,b=s.get(m)-1;Ll.set(m,v),s.set(m,b),v||(Wf.has(m)||m.removeAttribute(r),Wf.delete(m)),b||m.removeAttribute(n)}),T0--,T0||(Ll=new WeakMap,Ll=new WeakMap,Wf=new WeakMap,Vf={})}},uz=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||iz(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),cz(r,o,n,"aria-hidden")):function(){return null}};function dz(e){const{isOpen:t,onClose:n,id:r,closeOnOverlayClick:o=!0,closeOnEsc:s=!0,useInert:a=!0,onOverlayClick:c,onEsc:d}=e,p=f.useRef(null),h=f.useRef(null),[m,v,b]=pz(r,"chakra-modal","chakra-modal--header","chakra-modal--body");fz(p,t&&a);const w=k6(p,t),y=f.useRef(null),S=f.useCallback(D=>{y.current=D.target},[]),k=f.useCallback(D=>{D.key==="Escape"&&(D.stopPropagation(),s&&(n==null||n()),d==null||d())},[s,n,d]),[_,P]=f.useState(!1),[I,E]=f.useState(!1),O=f.useCallback((D={},A=null)=>({role:"dialog",...D,ref:cn(A,p),id:m,tabIndex:-1,"aria-modal":!0,"aria-labelledby":_?v:void 0,"aria-describedby":I?b:void 0,onClick:et(D.onClick,L=>L.stopPropagation())}),[b,I,m,v,_]),R=f.useCallback(D=>{D.stopPropagation(),y.current===D.target&&t1.isTopModal(p.current)&&(o&&(n==null||n()),c==null||c())},[n,o,c]),M=f.useCallback((D={},A=null)=>({...D,ref:cn(A,h),onClick:et(D.onClick,R),onKeyDown:et(D.onKeyDown,k),onMouseDown:et(D.onMouseDown,S)}),[k,S,R]);return{isOpen:t,onClose:n,headerId:v,bodyId:b,setBodyMounted:E,setHeaderMounted:P,dialogRef:p,overlayRef:h,getDialogProps:O,getDialogContainerProps:M,index:w}}function fz(e,t){const n=e.current;f.useEffect(()=>{if(!(!e.current||!t))return uz(e.current)},[t,e,n])}function pz(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}var[hz,Wc]=Dn({name:"ModalStylesContext",errorMessage:`useModalStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[mz,ll]=Dn({strict:!0,name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap modal components in ``"}),id=e=>{const t={scrollBehavior:"outside",autoFocus:!0,trapFocus:!0,returnFocusOnClose:!0,blockScrollOnMount:!0,allowPinchZoom:!1,motionPreset:"scale",lockFocusAcrossFrames:!0,...e},{portalProps:n,children:r,autoFocus:o,trapFocus:s,initialFocusRef:a,finalFocusRef:c,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:m,motionPreset:v,lockFocusAcrossFrames:b,onCloseComplete:w}=t,y=Fr("Modal",t),k={...dz(t),autoFocus:o,trapFocus:s,initialFocusRef:a,finalFocusRef:c,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:m,motionPreset:v,lockFocusAcrossFrames:b};return i.jsx(mz,{value:k,children:i.jsx(hz,{value:y,children:i.jsx(mo,{onExitComplete:w,children:k.isOpen&&i.jsx(Zu,{...n,children:r})})})})};id.displayName="Modal";var Op="right-scroll-bar-position",Rp="width-before-scroll-bar",gz="with-scroll-bars-hidden",vz="--removed-body-scroll-bar-size",P6=w3(),N0=function(){},Sm=f.forwardRef(function(e,t){var n=f.useRef(null),r=f.useState({onScrollCapture:N0,onWheelCapture:N0,onTouchMoveCapture:N0}),o=r[0],s=r[1],a=e.forwardProps,c=e.children,d=e.className,p=e.removeScrollBar,h=e.enabled,m=e.shards,v=e.sideCar,b=e.noIsolation,w=e.inert,y=e.allowPinchZoom,S=e.as,k=S===void 0?"div":S,_=e.gapMode,P=b3(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),I=v,E=v3([n,t]),O=Qs(Qs({},P),o);return f.createElement(f.Fragment,null,h&&f.createElement(I,{sideCar:P6,removeScrollBar:p,shards:m,noIsolation:b,inert:w,setCallbacks:s,allowPinchZoom:!!y,lockRef:n,gapMode:_}),a?f.cloneElement(f.Children.only(c),Qs(Qs({},O),{ref:E})):f.createElement(k,Qs({},O,{className:d,ref:E}),c))});Sm.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Sm.classNames={fullWidth:Rp,zeroRight:Op};var uS,bz=function(){if(uS)return uS;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function yz(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=bz();return t&&e.setAttribute("nonce",t),e}function xz(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function wz(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Sz=function(){var e=0,t=null;return{add:function(n){e==0&&(t=yz())&&(xz(t,n),wz(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Cz=function(){var e=Sz();return function(t,n){f.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},j6=function(){var e=Cz(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},kz={left:0,top:0,right:0,gap:0},$0=function(e){return parseInt(e||"",10)||0},_z=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[$0(n),$0(r),$0(o)]},Pz=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return kz;var t=_z(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},jz=j6(),Iz=function(e,t,n,r){var o=e.left,s=e.top,a=e.right,c=e.gap;return n===void 0&&(n="margin"),` .`.concat(gz,` { @@ -55,7 +55,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho * Released under the MIT license. */function _n(e,t){if(qm(e))for(let n=0;nt(e[n],n,e));return e}function no(e,t){const n=Ei(t);if(Ms(t)||n){let o=n?"":{};if(e){const s=window.getComputedStyle(e,null);o=n?z4(e,s,t):t.reduce((a,c)=>(a[c]=z4(e,s,c),a),o)}return o}e&&_n(Ho(t),o=>SQ(e,o,t[o]))}const ys=(e,t)=>{const{o:n,u:r,_:o}=e;let s=n,a;const c=(h,m)=>{const v=s,b=h,w=m||(r?!r(v,b):v!==b);return(w||o)&&(s=b,a=v),[s,w,a]};return[t?h=>c(t(s,a),h):c,h=>[s,!!h,a]]},Ud=()=>typeof window<"u",uE=Ud()&&Node.ELEMENT_NODE,{toString:iQ,hasOwnProperty:tv}=Object.prototype,Ua=e=>e===void 0,Gm=e=>e===null,lQ=e=>Ua(e)||Gm(e)?`${e}`:iQ.call(e).replace(/^\[object (.+)\]$/,"$1").toLowerCase(),gi=e=>typeof e=="number",Ei=e=>typeof e=="string",ky=e=>typeof e=="boolean",Rs=e=>typeof e=="function",Ms=e=>Array.isArray(e),fd=e=>typeof e=="object"&&!Ms(e)&&!Gm(e),qm=e=>{const t=!!e&&e.length,n=gi(t)&&t>-1&&t%1==0;return Ms(e)||!Rs(e)&&n?t>0&&fd(e)?t-1 in e:!0:!1},k1=e=>{if(!e||!fd(e)||lQ(e)!=="object")return!1;let t;const n="constructor",r=e[n],o=r&&r.prototype,s=tv.call(e,n),a=o&&tv.call(o,"isPrototypeOf");if(r&&!s&&!a)return!1;for(t in e);return Ua(t)||tv.call(e,t)},qh=e=>{const t=HTMLElement;return e?t?e instanceof t:e.nodeType===uE:!1},Km=e=>{const t=Element;return e?t?e instanceof t:e.nodeType===uE:!1},_y=(e,t,n)=>e.indexOf(t,n),An=(e,t,n)=>(!n&&!Ei(t)&&qm(t)?Array.prototype.push.apply(e,t):e.push(t),e),ul=e=>{const t=Array.from,n=[];return t&&e?t(e):(e instanceof Set?e.forEach(r=>{An(n,r)}):_n(e,r=>{An(n,r)}),n)},Py=e=>!!e&&e.length===0,ca=(e,t,n)=>{_n(e,o=>o&&o.apply(void 0,t||[])),!n&&(e.length=0)},Xm=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Ho=e=>e?Object.keys(e):[],hr=(e,t,n,r,o,s,a)=>{const c=[t,n,r,o,s,a];return(typeof e!="object"||Gm(e))&&!Rs(e)&&(e={}),_n(c,d=>{_n(Ho(d),p=>{const h=d[p];if(e===h)return!0;const m=Ms(h);if(h&&(k1(h)||m)){const v=e[p];let b=v;m&&!Ms(v)?b=[]:!m&&!k1(v)&&(b={}),e[p]=hr(b,h)}else e[p]=h})}),e},jy=e=>{for(const t in e)return!1;return!0},dE=(e,t,n,r)=>{if(Ua(r))return n?n[e]:t;n&&(Ei(r)||gi(r))&&(n[e]=r)},to=(e,t,n)=>{if(Ua(n))return e?e.getAttribute(t):null;e&&e.setAttribute(t,n)},So=(e,t)=>{e&&e.removeAttribute(t)},Zi=(e,t,n,r)=>{if(n){const o=to(e,t)||"",s=new Set(o.split(" "));s[r?"add":"delete"](n);const a=ul(s).join(" ").trim();to(e,t,a)}},cQ=(e,t,n)=>{const r=to(e,t)||"";return new Set(r.split(" ")).has(n)},Ps=(e,t)=>dE("scrollLeft",0,e,t),ja=(e,t)=>dE("scrollTop",0,e,t),_1=Ud()&&Element.prototype,fE=(e,t)=>{const n=[],r=t?Km(t)?t:null:document;return r?An(n,r.querySelectorAll(e)):n},uQ=(e,t)=>{const n=t?Km(t)?t:null:document;return n?n.querySelector(e):null},Kh=(e,t)=>Km(e)?(_1.matches||_1.msMatchesSelector).call(e,t):!1,Iy=e=>e?ul(e.childNodes):[],$a=e=>e?e.parentElement:null,Jl=(e,t)=>{if(Km(e)){const n=_1.closest;if(n)return n.call(e,t);do{if(Kh(e,t))return e;e=$a(e)}while(e)}return null},dQ=(e,t,n)=>{const r=e&&Jl(e,t),o=e&&uQ(n,r),s=Jl(o,t)===r;return r&&o?r===e||o===e||s&&Jl(Jl(e,n),t)!==r:!1},Ey=(e,t,n)=>{if(n&&e){let r=t,o;qm(n)?(o=document.createDocumentFragment(),_n(n,s=>{s===r&&(r=s.previousSibling),o.appendChild(s)})):o=n,t&&(r?r!==t&&(r=r.nextSibling):r=e.firstChild),e.insertBefore(o,r||null)}},ns=(e,t)=>{Ey(e,null,t)},fQ=(e,t)=>{Ey($a(e),e,t)},N4=(e,t)=>{Ey($a(e),e&&e.nextSibling,t)},sa=e=>{if(qm(e))_n(ul(e),t=>sa(t));else if(e){const t=$a(e);t&&t.removeChild(e)}},el=e=>{const t=document.createElement("div");return e&&to(t,"class",e),t},pE=e=>{const t=el();return t.innerHTML=e.trim(),_n(Iy(t),n=>sa(n))},P1=e=>e.charAt(0).toUpperCase()+e.slice(1),pQ=()=>el().style,hQ=["-webkit-","-moz-","-o-","-ms-"],mQ=["WebKit","Moz","O","MS","webkit","moz","o","ms"],nv={},rv={},gQ=e=>{let t=rv[e];if(Xm(rv,e))return t;const n=P1(e),r=pQ();return _n(hQ,o=>{const s=o.replace(/-/g,"");return!(t=[e,o+e,s+n,P1(s)+n].find(c=>r[c]!==void 0))}),rv[e]=t||""},Gd=e=>{if(Ud()){let t=nv[e]||window[e];return Xm(nv,e)||(_n(mQ,n=>(t=t||window[n+P1(e)],!t)),nv[e]=t),t}},vQ=Gd("MutationObserver"),$4=Gd("IntersectionObserver"),Zl=Gd("ResizeObserver"),hE=Gd("cancelAnimationFrame"),mE=Gd("requestAnimationFrame"),Xh=Ud()&&window.setTimeout,j1=Ud()&&window.clearTimeout,bQ=/[^\x20\t\r\n\f]+/g,gE=(e,t,n)=>{const r=e&&e.classList;let o,s=0,a=!1;if(r&&t&&Ei(t)){const c=t.match(bQ)||[];for(a=c.length>0;o=c[s++];)a=!!n(r,o)&&a}return a},Oy=(e,t)=>{gE(e,t,(n,r)=>n.remove(r))},Ia=(e,t)=>(gE(e,t,(n,r)=>n.add(r)),Oy.bind(0,e,t)),Ym=(e,t,n,r)=>{if(e&&t){let o=!0;return _n(n,s=>{const a=r?r(e[s]):e[s],c=r?r(t[s]):t[s];a!==c&&(o=!1)}),o}return!1},vE=(e,t)=>Ym(e,t,["w","h"]),bE=(e,t)=>Ym(e,t,["x","y"]),yQ=(e,t)=>Ym(e,t,["t","r","b","l"]),L4=(e,t,n)=>Ym(e,t,["width","height"],n&&(r=>Math.round(r))),ts=()=>{},Kl=e=>{let t;const n=e?Xh:mE,r=e?j1:hE;return[o=>{r(t),t=n(o,Rs(e)?e():e)},()=>r(t)]},Ry=(e,t)=>{let n,r,o,s=ts;const{v:a,g:c,p:d}=t||{},p=function(w){s(),j1(n),n=r=void 0,s=ts,e.apply(this,w)},h=b=>d&&r?d(r,b):b,m=()=>{s!==ts&&p(h(o)||o)},v=function(){const w=ul(arguments),y=Rs(a)?a():a;if(gi(y)&&y>=0){const k=Rs(c)?c():c,_=gi(k)&&k>=0,P=y>0?Xh:mE,I=y>0?j1:hE,O=h(w)||w,R=p.bind(0,O);s();const M=P(R,y);s=()=>I(M),_&&!n&&(n=Xh(m,k)),r=o=O}else p(w)};return v.m=m,v},xQ={opacity:1,zindex:1},hp=(e,t)=>{const n=t?parseFloat(e):parseInt(e,10);return n===n?n:0},wQ=(e,t)=>!xQ[e.toLowerCase()]&&gi(t)?`${t}px`:t,z4=(e,t,n)=>t!=null?t[n]||t.getPropertyValue(n):e.style[n],SQ=(e,t,n)=>{try{const{style:r}=e;Ua(r[t])?r.setProperty(t,n):r[t]=wQ(t,n)}catch{}},pd=e=>no(e,"direction")==="rtl",B4=(e,t,n)=>{const r=t?`${t}-`:"",o=n?`-${n}`:"",s=`${r}top${o}`,a=`${r}right${o}`,c=`${r}bottom${o}`,d=`${r}left${o}`,p=no(e,[s,a,c,d]);return{t:hp(p[s],!0),r:hp(p[a],!0),b:hp(p[c],!0),l:hp(p[d],!0)}},{round:F4}=Math,My={w:0,h:0},hd=e=>e?{w:e.offsetWidth,h:e.offsetHeight}:My,$p=e=>e?{w:e.clientWidth,h:e.clientHeight}:My,Yh=e=>e?{w:e.scrollWidth,h:e.scrollHeight}:My,Qh=e=>{const t=parseFloat(no(e,"height"))||0,n=parseFloat(no(e,"width"))||0;return{w:n-F4(n),h:t-F4(t)}},Zs=e=>e.getBoundingClientRect();let mp;const CQ=()=>{if(Ua(mp)){mp=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get(){mp=!0}}))}catch{}}return mp},yE=e=>e.split(" "),kQ=(e,t,n,r)=>{_n(yE(t),o=>{e.removeEventListener(o,n,r)})},Tr=(e,t,n,r)=>{var o;const s=CQ(),a=(o=s&&r&&r.S)!=null?o:s,c=r&&r.$||!1,d=r&&r.C||!1,p=[],h=s?{passive:a,capture:c}:c;return _n(yE(t),m=>{const v=d?b=>{e.removeEventListener(m,v,c),n&&n(b)}:n;An(p,kQ.bind(null,e,m,v,c)),e.addEventListener(m,v,h)}),ca.bind(0,p)},xE=e=>e.stopPropagation(),wE=e=>e.preventDefault(),_Q={x:0,y:0},ov=e=>{const t=e?Zs(e):0;return t?{x:t.left+window.pageYOffset,y:t.top+window.pageXOffset}:_Q},H4=(e,t)=>{_n(Ms(t)?t:[t],e)},Dy=e=>{const t=new Map,n=(s,a)=>{if(s){const c=t.get(s);H4(d=>{c&&c[d?"delete":"clear"](d)},a)}else t.forEach(c=>{c.clear()}),t.clear()},r=(s,a)=>{if(Ei(s)){const p=t.get(s)||new Set;return t.set(s,p),H4(h=>{Rs(h)&&p.add(h)},a),n.bind(0,s,a)}ky(a)&&a&&n();const c=Ho(s),d=[];return _n(c,p=>{const h=s[p];h&&An(d,r(p,h))}),ca.bind(0,d)},o=(s,a)=>{const c=t.get(s);_n(ul(c),d=>{a&&!Py(a)?d.apply(0,a):d()})};return r(e||{}),[r,n,o]},W4=e=>JSON.stringify(e,(t,n)=>{if(Rs(n))throw new Error;return n}),PQ={paddingAbsolute:!1,showNativeOverlaidScrollbars:!1,update:{elementEvents:[["img","load"]],debounce:[0,33],attributes:null,ignoreMutation:null},overflow:{x:"scroll",y:"scroll"},scrollbars:{theme:"os-theme-dark",visibility:"auto",autoHide:"never",autoHideDelay:1300,dragScroll:!0,clickScroll:!1,pointers:["mouse","touch","pen"]}},SE=(e,t)=>{const n={},r=Ho(t).concat(Ho(e));return _n(r,o=>{const s=e[o],a=t[o];if(fd(s)&&fd(a))hr(n[o]={},SE(s,a)),jy(n[o])&&delete n[o];else if(Xm(t,o)&&a!==s){let c=!0;if(Ms(s)||Ms(a))try{W4(s)===W4(a)&&(c=!1)}catch{}c&&(n[o]=a)}}),n},CE="os-environment",kE=`${CE}-flexbox-glue`,jQ=`${kE}-max`,_E="os-scrollbar-hidden",sv="data-overlayscrollbars-initialize",xs="data-overlayscrollbars",PE=`${xs}-overflow-x`,jE=`${xs}-overflow-y`,hc="overflowVisible",IQ="scrollbarHidden",V4="scrollbarPressed",Jh="updating",ai="data-overlayscrollbars-viewport",av="arrange",IE="scrollbarHidden",mc=hc,I1="data-overlayscrollbars-padding",EQ=mc,U4="data-overlayscrollbars-content",Ay="os-size-observer",OQ=`${Ay}-appear`,RQ=`${Ay}-listener`,MQ="os-trinsic-observer",DQ="os-no-css-vars",AQ="os-theme-none",Oo="os-scrollbar",TQ=`${Oo}-rtl`,NQ=`${Oo}-horizontal`,$Q=`${Oo}-vertical`,EE=`${Oo}-track`,Ty=`${Oo}-handle`,LQ=`${Oo}-visible`,zQ=`${Oo}-cornerless`,G4=`${Oo}-transitionless`,q4=`${Oo}-interaction`,K4=`${Oo}-unusable`,X4=`${Oo}-auto-hidden`,Y4=`${Oo}-wheel`,BQ=`${EE}-interactive`,FQ=`${Ty}-interactive`,OE={},dl=()=>OE,HQ=e=>{const t=[];return _n(Ms(e)?e:[e],n=>{const r=Ho(n);_n(r,o=>{An(t,OE[o]=n[o])})}),t},WQ="__osOptionsValidationPlugin",VQ="__osSizeObserverPlugin",Ny="__osScrollbarsHidingPlugin",UQ="__osClickScrollPlugin";let iv;const Q4=(e,t,n,r)=>{ns(e,t);const o=$p(t),s=hd(t),a=Qh(n);return r&&sa(t),{x:s.h-o.h+a.h,y:s.w-o.w+a.w}},GQ=e=>{let t=!1;const n=Ia(e,_E);try{t=no(e,gQ("scrollbar-width"))==="none"||window.getComputedStyle(e,"::-webkit-scrollbar").getPropertyValue("display")==="none"}catch{}return n(),t},qQ=(e,t)=>{const n="hidden";no(e,{overflowX:n,overflowY:n,direction:"rtl"}),Ps(e,0);const r=ov(e),o=ov(t);Ps(e,-999);const s=ov(t);return{i:r.x===o.x,n:o.x!==s.x}},KQ=(e,t)=>{const n=Ia(e,kE),r=Zs(e),o=Zs(t),s=L4(o,r,!0),a=Ia(e,jQ),c=Zs(e),d=Zs(t),p=L4(d,c,!0);return n(),a(),s&&p},XQ=()=>{const{body:e}=document,n=pE(`
`)[0],r=n.firstChild,[o,,s]=Dy(),[a,c]=ys({o:Q4(e,n,r),u:bE},Q4.bind(0,e,n,r,!0)),[d]=c(),p=GQ(n),h={x:d.x===0,y:d.y===0},m={elements:{host:null,padding:!p,viewport:_=>p&&_===_.ownerDocument.body&&_,content:!1},scrollbars:{slot:!0},cancel:{nativeScrollbarsOverlaid:!1,body:null}},v=hr({},PQ),b=hr.bind(0,{},v),w=hr.bind(0,{},m),y={k:d,A:h,I:p,L:no(n,"zIndex")==="-1",B:qQ(n,r),V:KQ(n,r),Y:o.bind(0,"z"),j:o.bind(0,"r"),N:w,q:_=>hr(m,_)&&w(),F:b,G:_=>hr(v,_)&&b(),X:hr({},m),U:hr({},v)},S=window.addEventListener,k=Ry(_=>s(_?"z":"r"),{v:33,g:99});if(So(n,"style"),sa(n),S("resize",k.bind(0,!1)),!p&&(!h.x||!h.y)){let _;S("resize",()=>{const P=dl()[Ny];_=_||P&&P.R(),_&&_(y,a,k.bind(0,!0))})}return y},Ro=()=>(iv||(iv=XQ()),iv),$y=(e,t)=>Rs(t)?t.apply(0,e):t,YQ=(e,t,n,r)=>{const o=Ua(r)?n:r;return $y(e,o)||t.apply(0,e)},RE=(e,t,n,r)=>{const o=Ua(r)?n:r,s=$y(e,o);return!!s&&(qh(s)?s:t.apply(0,e))},QQ=(e,t,n)=>{const{nativeScrollbarsOverlaid:r,body:o}=n||{},{A:s,I:a}=Ro(),{nativeScrollbarsOverlaid:c,body:d}=t,p=r??c,h=Ua(o)?d:o,m=(s.x||s.y)&&p,v=e&&(Gm(h)?!a:h);return!!m||!!v},Ly=new WeakMap,JQ=(e,t)=>{Ly.set(e,t)},ZQ=e=>{Ly.delete(e)},ME=e=>Ly.get(e),J4=(e,t)=>e?t.split(".").reduce((n,r)=>n&&Xm(n,r)?n[r]:void 0,e):void 0,E1=(e,t,n)=>r=>[J4(e,r),n||J4(t,r)!==void 0],DE=e=>{let t=e;return[()=>t,n=>{t=hr({},t,n)}]},gp="tabindex",vp=el.bind(0,""),lv=e=>{ns($a(e),Iy(e)),sa(e)},eJ=e=>{const t=Ro(),{N:n,I:r}=t,o=dl()[Ny],s=o&&o.T,{elements:a}=n(),{host:c,padding:d,viewport:p,content:h}=a,m=qh(e),v=m?{}:e,{elements:b}=v,{host:w,padding:y,viewport:S,content:k}=b||{},_=m?e:v.target,P=Kh(_,"textarea"),I=_.ownerDocument,E=I.documentElement,O=_===I.body,R=I.defaultView,M=YQ.bind(0,[_]),D=RE.bind(0,[_]),A=$y.bind(0,[_]),L=M.bind(0,vp,p),Q=D.bind(0,vp,h),F=L(S),V=F===_,q=V&&O,G=!V&&Q(k),T=!V&&qh(F)&&F===G,z=T&&!!A(h),$=z?L():F,Y=z?G:Q(),fe=q?E:T?$:F,ie=P?M(vp,c,w):_,X=q?fe:ie,K=T?Y:G,U=I.activeElement,se=!V&&R.top===R&&U===_,re={W:_,Z:X,J:fe,K:!V&&D(vp,d,y),tt:K,nt:!V&&!r&&s&&s(t),ot:q?E:fe,st:q?I:fe,et:R,ct:I,rt:P,it:O,lt:m,ut:V,dt:T,ft:(vt,bt)=>cQ(fe,V?xs:ai,V?bt:vt),_t:(vt,bt,Se)=>Zi(fe,V?xs:ai,V?bt:vt,Se)},oe=Ho(re).reduce((vt,bt)=>{const Se=re[bt];return An(vt,Se&&!$a(Se)?Se:!1)},[]),pe=vt=>vt?_y(oe,vt)>-1:null,{W:le,Z:ge,K:ke,J:xe,tt:de,nt:Te}=re,Ee=[()=>{So(ge,xs),So(ge,sv),So(le,sv),O&&(So(E,xs),So(E,sv))}],$e=P&&pe(ge);let kt=P?le:Iy([de,xe,ke,ge,le].find(vt=>pe(vt)===!1));const ct=q?le:de||xe;return[re,()=>{to(ge,xs,V?"viewport":"host"),to(ke,I1,""),to(de,U4,""),V||to(xe,ai,"");const vt=O&&!V?Ia($a(_),_E):ts;if($e&&(N4(le,ge),An(Ee,()=>{N4(ge,le),sa(ge)})),ns(ct,kt),ns(ge,ke),ns(ke||ge,!V&&xe),ns(xe,de),An(Ee,()=>{vt(),So(ke,I1),So(de,U4),So(xe,PE),So(xe,jE),So(xe,ai),pe(de)&&lv(de),pe(xe)&&lv(xe),pe(ke)&&lv(ke)}),r&&!V&&(Zi(xe,ai,IE,!0),An(Ee,So.bind(0,xe,ai))),Te&&(fQ(xe,Te),An(Ee,sa.bind(0,Te))),se){const bt=to(xe,gp);to(xe,gp,"-1"),xe.focus();const Se=()=>bt?to(xe,gp,bt):So(xe,gp),Me=Tr(I,"pointerdown keydown",()=>{Se(),Me()});An(Ee,[Se,Me])}else U&&U.focus&&U.focus();kt=0},ca.bind(0,Ee)]},tJ=(e,t)=>{const{tt:n}=e,[r]=t;return o=>{const{V:s}=Ro(),{ht:a}=r(),{vt:c}=o,d=(n||!s)&&c;return d&&no(n,{height:a?"":"100%"}),{gt:d,wt:d}}},nJ=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:a,ut:c}=e,[d,p]=ys({u:yQ,o:B4()},B4.bind(0,o,"padding",""));return(h,m,v)=>{let[b,w]=p(v);const{I:y,V:S}=Ro(),{bt:k}=n(),{gt:_,wt:P,yt:I}=h,[E,O]=m("paddingAbsolute");(_||w||!S&&P)&&([b,w]=d(v));const M=!c&&(O||I||w);if(M){const D=!E||!s&&!y,A=b.r+b.l,L=b.t+b.b,Q={marginRight:D&&!k?-A:0,marginBottom:D?-L:0,marginLeft:D&&k?-A:0,top:D?-b.t:0,right:D?k?-b.r:"auto":0,left:D?k?"auto":-b.l:0,width:D?`calc(100% + ${A}px)`:""},F={paddingTop:D?b.t:0,paddingRight:D?b.r:0,paddingBottom:D?b.b:0,paddingLeft:D?b.l:0};no(s||a,Q),no(a,F),r({K:b,St:!D,P:s?F:hr({},Q,F)})}return{xt:M}}},{max:O1}=Math,ii=O1.bind(0,0),AE="visible",Z4="hidden",rJ=42,bp={u:vE,o:{w:0,h:0}},oJ={u:bE,o:{x:Z4,y:Z4}},sJ=(e,t)=>{const n=window.devicePixelRatio%1!==0?1:0,r={w:ii(e.w-t.w),h:ii(e.h-t.h)};return{w:r.w>n?r.w:0,h:r.h>n?r.h:0}},yp=e=>e.indexOf(AE)===0,aJ=(e,t)=>{const[n,r]=t,{Z:o,K:s,J:a,nt:c,ut:d,_t:p,it:h,et:m}=e,{k:v,V:b,I:w,A:y}=Ro(),S=dl()[Ny],k=!d&&!w&&(y.x||y.y),_=h&&d,[P,I]=ys(bp,Qh.bind(0,a)),[E,O]=ys(bp,Yh.bind(0,a)),[R,M]=ys(bp),[D,A]=ys(bp),[L]=ys(oJ),Q=(z,$)=>{if(no(a,{height:""}),$){const{St:Y,K:ae}=n(),{$t:fe,D:ie}=z,X=Qh(o),K=$p(o),U=no(a,"boxSizing")==="content-box",se=Y||U?ae.b+ae.t:0,re=!(y.x&&U);no(a,{height:K.h+X.h+(fe.x&&re?ie.x:0)-se})}},F=(z,$)=>{const Y=!w&&!z?rJ:0,ae=(pe,le,ge)=>{const ke=no(a,pe),de=($?$[pe]:ke)==="scroll";return[ke,de,de&&!w?le?Y:ge:0,le&&!!Y]},[fe,ie,X,K]=ae("overflowX",y.x,v.x),[U,se,re,oe]=ae("overflowY",y.y,v.y);return{Ct:{x:fe,y:U},$t:{x:ie,y:se},D:{x:X,y:re},M:{x:K,y:oe}}},V=(z,$,Y,ae)=>{const fe=(se,re)=>{const oe=yp(se),pe=re&&oe&&se.replace(`${AE}-`,"")||"";return[re&&!oe?se:"",yp(pe)?"hidden":pe]},[ie,X]=fe(Y.x,$.x),[K,U]=fe(Y.y,$.y);return ae.overflowX=X&&K?X:ie,ae.overflowY=U&&ie?U:K,F(z,ae)},q=(z,$,Y,ae)=>{const{D:fe,M:ie}=z,{x:X,y:K}=ie,{x:U,y:se}=fe,{P:re}=n(),oe=$?"marginLeft":"marginRight",pe=$?"paddingLeft":"paddingRight",le=re[oe],ge=re.marginBottom,ke=re[pe],xe=re.paddingBottom;ae.width=`calc(100% + ${se+-1*le}px)`,ae[oe]=-se+le,ae.marginBottom=-U+ge,Y&&(ae[pe]=ke+(K?se:0),ae.paddingBottom=xe+(X?U:0))},[G,T]=S?S.H(k,b,a,c,n,F,q):[()=>k,()=>[ts]];return(z,$,Y)=>{const{gt:ae,Ot:fe,wt:ie,xt:X,vt:K,yt:U}=z,{ht:se,bt:re}=n(),[oe,pe]=$("showNativeOverlaidScrollbars"),[le,ge]=$("overflow"),ke=oe&&y.x&&y.y,xe=!d&&!b&&(ae||ie||fe||pe||K),de=yp(le.x),Te=yp(le.y),Ee=de||Te;let $e=I(Y),kt=O(Y),ct=M(Y),on=A(Y),vt;if(pe&&w&&p(IE,IQ,!ke),xe&&(vt=F(ke),Q(vt,se)),ae||X||ie||U||pe){Ee&&p(mc,hc,!1);const[Pe,Ye]=T(ke,re,vt),[Ke,dt]=$e=P(Y),[zt,cr]=kt=E(Y),pn=$p(a);let ln=zt,Hr=pn;Pe(),(cr||dt||pe)&&Ye&&!ke&&G(Ye,zt,Ke,re)&&(Hr=$p(a),ln=Yh(a));const xr={w:ii(O1(zt.w,ln.w)+Ke.w),h:ii(O1(zt.h,ln.h)+Ke.h)},Fn={w:ii((_?m.innerWidth:Hr.w+ii(pn.w-zt.w))+Ke.w),h:ii((_?m.innerHeight+Ke.h:Hr.h+ii(pn.h-zt.h))+Ke.h)};on=D(Fn),ct=R(sJ(xr,Fn),Y)}const[bt,Se]=on,[Me,Pt]=ct,[Tt,we]=kt,[ht,$t]=$e,Lt={x:Me.w>0,y:Me.h>0},Le=de&&Te&&(Lt.x||Lt.y)||de&&Lt.x&&!Lt.y||Te&&Lt.y&&!Lt.x;if(X||U||$t||we||Se||Pt||ge||pe||xe){const Pe={marginRight:0,marginBottom:0,marginLeft:0,width:"",overflowY:"",overflowX:""},Ye=V(ke,Lt,le,Pe),Ke=G(Ye,Tt,ht,re);d||q(Ye,re,Ke,Pe),xe&&Q(Ye,se),d?(to(o,PE,Pe.overflowX),to(o,jE,Pe.overflowY)):no(a,Pe)}Zi(o,xs,hc,Le),Zi(s,I1,EQ,Le),d||Zi(a,ai,mc,Ee);const[Ge,Pn]=L(F(ke).Ct);return r({Ct:Ge,zt:{x:bt.w,y:bt.h},Tt:{x:Me.w,y:Me.h},Et:Lt}),{It:Pn,At:Se,Lt:Pt}}},ek=(e,t,n)=>{const r={},o=t||{},s=Ho(e).concat(Ho(o));return _n(s,a=>{const c=e[a],d=o[a];r[a]=!!(n||c||d)}),r},iJ=(e,t)=>{const{W:n,J:r,_t:o,ut:s}=e,{I:a,A:c,V:d}=Ro(),p=!a&&(c.x||c.y),h=[tJ(e,t),nJ(e,t),aJ(e,t)];return(m,v,b)=>{const w=ek(hr({gt:!1,xt:!1,yt:!1,vt:!1,At:!1,Lt:!1,It:!1,Ot:!1,wt:!1},v),{},b),y=p||!d,S=y&&Ps(r),k=y&&ja(r);o("",Jh,!0);let _=w;return _n(h,P=>{_=ek(_,P(_,m,!!b)||{},b)}),Ps(r,S),ja(r,k),o("",Jh),s||(Ps(n,0),ja(n,0)),_}},lJ=(e,t,n)=>{let r,o=!1;const s=()=>{o=!0},a=c=>{if(n){const d=n.reduce((p,h)=>{if(h){const[m,v]=h,b=v&&m&&(c?c(m):fE(m,e));b&&b.length&&v&&Ei(v)&&An(p,[b,v.trim()],!0)}return p},[]);_n(d,p=>_n(p[0],h=>{const m=p[1],v=r.get(h)||[];if(e.contains(h)){const w=Tr(h,m,y=>{o?(w(),r.delete(h)):t(y)});r.set(h,An(v,w))}else ca(v),r.delete(h)}))}};return n&&(r=new WeakMap,a()),[s,a]},tk=(e,t,n,r)=>{let o=!1;const{Ht:s,Pt:a,Dt:c,Mt:d,Rt:p,kt:h}=r||{},m=Ry(()=>{o&&n(!0)},{v:33,g:99}),[v,b]=lJ(e,m,c),w=s||[],y=a||[],S=w.concat(y),k=(P,I)=>{const E=p||ts,O=h||ts,R=new Set,M=new Set;let D=!1,A=!1;if(_n(P,L=>{const{attributeName:Q,target:F,type:V,oldValue:q,addedNodes:G,removedNodes:T}=L,z=V==="attributes",$=V==="childList",Y=e===F,ae=z&&Ei(Q)?to(F,Q):0,fe=ae!==0&&q!==ae,ie=_y(y,Q)>-1&&fe;if(t&&($||!Y)){const X=!z,K=z&&fe,U=K&&d&&Kh(F,d),re=(U?!E(F,Q,q,ae):X||K)&&!O(L,!!U,e,r);_n(G,oe=>R.add(oe)),_n(T,oe=>R.add(oe)),A=A||re}!t&&Y&&fe&&!E(F,Q,q,ae)&&(M.add(Q),D=D||ie)}),R.size>0&&b(L=>ul(R).reduce((Q,F)=>(An(Q,fE(L,F)),Kh(F,L)?An(Q,F):Q),[])),t)return!I&&A&&n(!1),[!1];if(M.size>0||D){const L=[ul(M),D];return!I&&n.apply(0,L),L}},_=new vQ(P=>k(P));return _.observe(e,{attributes:!0,attributeOldValue:!0,attributeFilter:S,subtree:t,childList:t,characterData:t}),o=!0,[()=>{o&&(v(),_.disconnect(),o=!1)},()=>{if(o){m.m();const P=_.takeRecords();return!Py(P)&&k(P,!0)}}]},xp=3333333,wp=e=>e&&(e.height||e.width),TE=(e,t,n)=>{const{Bt:r=!1,Vt:o=!1}=n||{},s=dl()[VQ],{B:a}=Ro(),d=pE(`
`)[0],p=d.firstChild,h=pd.bind(0,e),[m]=ys({o:void 0,_:!0,u:(y,S)=>!(!y||!wp(y)&&wp(S))}),v=y=>{const S=Ms(y)&&y.length>0&&fd(y[0]),k=!S&&ky(y[0]);let _=!1,P=!1,I=!0;if(S){const[E,,O]=m(y.pop().contentRect),R=wp(E),M=wp(O);_=!O||!R,P=!M&&R,I=!_}else k?[,I]=y:P=y===!0;if(r&&I){const E=k?y[0]:pd(d);Ps(d,E?a.n?-xp:a.i?0:xp:xp),ja(d,xp)}_||t({gt:!k,Yt:k?y:void 0,Vt:!!P})},b=[];let w=o?v:!1;return[()=>{ca(b),sa(d)},()=>{if(Zl){const y=new Zl(v);y.observe(p),An(b,()=>{y.disconnect()})}else if(s){const[y,S]=s.O(p,v,o);w=y,An(b,S)}if(r){const[y]=ys({o:void 0},h);An(b,Tr(d,"scroll",S=>{const k=y(),[_,P,I]=k;P&&(Oy(p,"ltr rtl"),_?Ia(p,"rtl"):Ia(p,"ltr"),v([!!_,P,I])),xE(S)}))}w&&(Ia(d,OQ),An(b,Tr(d,"animationstart",w,{C:!!Zl}))),(Zl||s)&&ns(e,d)}]},cJ=e=>e.h===0||e.isIntersecting||e.intersectionRatio>0,uJ=(e,t)=>{let n;const r=el(MQ),o=[],[s]=ys({o:!1}),a=(d,p)=>{if(d){const h=s(cJ(d)),[,m]=h;if(m)return!p&&t(h),[h]}},c=(d,p)=>{if(d&&d.length>0)return a(d.pop(),p)};return[()=>{ca(o),sa(r)},()=>{if($4)n=new $4(d=>c(d),{root:e}),n.observe(r),An(o,()=>{n.disconnect()});else{const d=()=>{const m=hd(r);a(m)},[p,h]=TE(r,d);An(o,p),h(),d()}ns(e,r)},()=>{if(n)return c(n.takeRecords(),!0)}]},nk=`[${xs}]`,dJ=`[${ai}]`,cv=["tabindex"],rk=["wrap","cols","rows"],uv=["id","class","style","open"],fJ=(e,t,n)=>{let r,o,s;const{Z:a,J:c,tt:d,rt:p,ut:h,ft:m,_t:v}=e,{V:b}=Ro(),[w]=ys({u:vE,o:{w:0,h:0}},()=>{const V=m(mc,hc),q=m(av,""),G=q&&Ps(c),T=q&&ja(c);v(mc,hc),v(av,""),v("",Jh,!0);const z=Yh(d),$=Yh(c),Y=Qh(c);return v(mc,hc,V),v(av,"",q),v("",Jh),Ps(c,G),ja(c,T),{w:$.w+z.w+Y.w,h:$.h+z.h+Y.h}}),y=p?rk:uv.concat(rk),S=Ry(n,{v:()=>r,g:()=>o,p(V,q){const[G]=V,[T]=q;return[Ho(G).concat(Ho(T)).reduce((z,$)=>(z[$]=G[$]||T[$],z),{})]}}),k=V=>{_n(V||cv,q=>{if(_y(cv,q)>-1){const G=to(a,q);Ei(G)?to(c,q,G):So(c,q)}})},_=(V,q)=>{const[G,T]=V,z={vt:T};return t({ht:G}),!q&&n(z),z},P=({gt:V,Yt:q,Vt:G})=>{const T=!V||G?n:S;let z=!1;if(q){const[$,Y]=q;z=Y,t({bt:$})}T({gt:V,yt:z})},I=(V,q)=>{const[,G]=w(),T={wt:G};return G&&!q&&(V?n:S)(T),T},E=(V,q,G)=>{const T={Ot:q};return q?!G&&S(T):h||k(V),T},[O,R,M]=d||!b?uJ(a,_):[ts,ts,ts],[D,A]=h?[ts,ts]:TE(a,P,{Vt:!0,Bt:!0}),[L,Q]=tk(a,!1,E,{Pt:uv,Ht:uv.concat(cv)}),F=h&&Zl&&new Zl(P.bind(0,{gt:!0}));return F&&F.observe(a),k(),[()=>{O(),D(),s&&s[0](),F&&F.disconnect(),L()},()=>{A(),R()},()=>{const V={},q=Q(),G=M(),T=s&&s[1]();return q&&hr(V,E.apply(0,An(q,!0))),G&&hr(V,_.apply(0,An(G,!0))),T&&hr(V,I.apply(0,An(T,!0))),V},V=>{const[q]=V("update.ignoreMutation"),[G,T]=V("update.attributes"),[z,$]=V("update.elementEvents"),[Y,ae]=V("update.debounce"),fe=$||T,ie=X=>Rs(q)&&q(X);if(fe&&(s&&(s[1](),s[0]()),s=tk(d||c,!0,I,{Ht:y.concat(G||[]),Dt:z,Mt:nk,kt:(X,K)=>{const{target:U,attributeName:se}=X;return(!K&&se&&!h?dQ(U,nk,dJ):!1)||!!Jl(U,`.${Oo}`)||!!ie(X)}})),ae)if(S.m(),Ms(Y)){const X=Y[0],K=Y[1];r=gi(X)&&X,o=gi(K)&&K}else gi(Y)?(r=Y,o=!1):(r=!1,o=!1)}]},ok={x:0,y:0},pJ=e=>({K:{t:0,r:0,b:0,l:0},St:!1,P:{marginRight:0,marginBottom:0,marginLeft:0,paddingTop:0,paddingRight:0,paddingBottom:0,paddingLeft:0},zt:ok,Tt:ok,Ct:{x:"hidden",y:"hidden"},Et:{x:!1,y:!1},ht:!1,bt:pd(e.Z)}),hJ=(e,t)=>{const n=E1(t,{}),[r,o,s]=Dy(),[a,c,d]=eJ(e),p=DE(pJ(a)),[h,m]=p,v=iJ(a,p),b=(P,I,E)=>{const R=Ho(P).some(M=>P[M])||!jy(I)||E;return R&&s("u",[P,I,E]),R},[w,y,S,k]=fJ(a,m,P=>b(v(n,P),{},!1)),_=h.bind(0);return _.jt=P=>r("u",P),_.Nt=()=>{const{W:P,J:I}=a,E=Ps(P),O=ja(P);y(),c(),Ps(I,E),ja(I,O)},_.qt=a,[(P,I)=>{const E=E1(t,P,I);return k(E),b(v(E,S(),I),P,!!I)},_,()=>{o(),w(),d()}]},{round:sk}=Math,mJ=e=>{const{width:t,height:n}=Zs(e),{w:r,h:o}=hd(e);return{x:sk(t)/r||1,y:sk(n)/o||1}},gJ=(e,t,n)=>{const r=t.scrollbars,{button:o,isPrimary:s,pointerType:a}=e,{pointers:c}=r;return o===0&&s&&r[n?"dragScroll":"clickScroll"]&&(c||[]).includes(a)},vJ=(e,t)=>Tr(e,"mousedown",Tr.bind(0,t,"click",xE,{C:!0,$:!0}),{$:!0}),ak="pointerup pointerleave pointercancel lostpointercapture",bJ=(e,t,n,r,o,s,a)=>{const{B:c}=Ro(),{Ft:d,Gt:p,Xt:h}=r,m=`scroll${a?"Left":"Top"}`,v=`client${a?"X":"Y"}`,b=a?"width":"height",w=a?"left":"top",y=a?"w":"h",S=a?"x":"y",k=(_,P)=>I=>{const{Tt:E}=s(),O=hd(p)[y]-hd(d)[y],M=P*I/O*E[S],A=pd(h)&&a?c.n||c.i?1:-1:1;o[m]=_+M*A};return Tr(p,"pointerdown",_=>{const P=Jl(_.target,`.${Ty}`)===d,I=P?d:p;if(Zi(t,xs,V4,!0),gJ(_,e,P)){const E=!P&&_.shiftKey,O=()=>Zs(d),R=()=>Zs(p),M=($,Y)=>($||O())[w]-(Y||R())[w],D=k(o[m]||0,1/mJ(o)[S]),A=_[v],L=O(),Q=R(),F=L[b],V=M(L,Q)+F/2,q=A-Q[w],G=P?0:q-V,T=$=>{ca(z),I.releasePointerCapture($.pointerId)},z=[Zi.bind(0,t,xs,V4),Tr(n,ak,T),Tr(n,"selectstart",$=>wE($),{S:!1}),Tr(p,ak,T),Tr(p,"pointermove",$=>{const Y=$[v]-A;(P||E)&&D(G+Y)})];if(E)D(G);else if(!P){const $=dl()[UQ];$&&An(z,$.O(D,M,G,F,q))}I.setPointerCapture(_.pointerId)}})},yJ=(e,t)=>(n,r,o,s,a,c)=>{const{Xt:d}=n,[p,h]=Kl(333),m=!!a.scrollBy;let v=!0;return ca.bind(0,[Tr(d,"pointerenter",()=>{r(q4,!0)}),Tr(d,"pointerleave pointercancel",()=>{r(q4)}),Tr(d,"wheel",b=>{const{deltaX:w,deltaY:y,deltaMode:S}=b;m&&v&&S===0&&$a(d)===s&&a.scrollBy({left:w,top:y,behavior:"smooth"}),v=!1,r(Y4,!0),p(()=>{v=!0,r(Y4)}),wE(b)},{S:!1,$:!0}),vJ(d,o),bJ(e,s,o,n,a,t,c),h])},{min:R1,max:ik,abs:xJ,round:wJ}=Math,NE=(e,t,n,r)=>{if(r){const c=n?"x":"y",{Tt:d,zt:p}=r,h=p[c],m=d[c];return ik(0,R1(1,h/(h+m)))}const o=n?"width":"height",s=Zs(e)[o],a=Zs(t)[o];return ik(0,R1(1,s/a))},SJ=(e,t,n,r,o,s)=>{const{B:a}=Ro(),c=s?"x":"y",d=s?"Left":"Top",{Tt:p}=r,h=wJ(p[c]),m=xJ(n[`scroll${d}`]),v=s&&o,b=a.i?m:h-m,y=R1(1,(v?b:m)/h),S=NE(e,t,s);return 1/S*(1-S)*y},CJ=(e,t,n)=>{const{N:r,L:o}=Ro(),{scrollbars:s}=r(),{slot:a}=s,{ct:c,W:d,Z:p,J:h,lt:m,ot:v,it:b,ut:w}=t,{scrollbars:y}=m?{}:e,{slot:S}=y||{},k=RE([d,p,h],()=>w&&b?d:p,a,S),_=(G,T,z)=>{const $=z?Ia:Oy;_n(G,Y=>{$(Y.Xt,T)})},P=(G,T)=>{_n(G,z=>{const[$,Y]=T(z);no($,Y)})},I=(G,T,z)=>{P(G,$=>{const{Ft:Y,Gt:ae}=$;return[Y,{[z?"width":"height"]:`${(100*NE(Y,ae,z,T)).toFixed(3)}%`}]})},E=(G,T,z)=>{const $=z?"X":"Y";P(G,Y=>{const{Ft:ae,Gt:fe,Xt:ie}=Y,X=SJ(ae,fe,v,T,pd(ie),z);return[ae,{transform:X===X?`translate${$}(${(100*X).toFixed(3)}%)`:""}]})},O=[],R=[],M=[],D=(G,T,z)=>{const $=ky(z),Y=$?z:!0,ae=$?!z:!0;Y&&_(R,G,T),ae&&_(M,G,T)},A=G=>{I(R,G,!0),I(M,G)},L=G=>{E(R,G,!0),E(M,G)},Q=G=>{const T=G?NQ:$Q,z=G?R:M,$=Py(z)?G4:"",Y=el(`${Oo} ${T} ${$}`),ae=el(EE),fe=el(Ty),ie={Xt:Y,Gt:ae,Ft:fe};return o||Ia(Y,DQ),ns(Y,ae),ns(ae,fe),An(z,ie),An(O,[sa.bind(0,Y),n(ie,D,c,p,v,G)]),ie},F=Q.bind(0,!0),V=Q.bind(0,!1),q=()=>{ns(k,R[0].Xt),ns(k,M[0].Xt),Xh(()=>{D(G4)},300)};return F(),V(),[{Ut:A,Wt:L,Zt:D,Jt:{Kt:R,Qt:F,tn:P.bind(0,R)},nn:{Kt:M,Qt:V,tn:P.bind(0,M)}},q,ca.bind(0,O)]},kJ=(e,t,n,r)=>{let o,s,a,c,d,p=0;const h=DE({}),[m]=h,[v,b]=Kl(),[w,y]=Kl(),[S,k]=Kl(100),[_,P]=Kl(100),[I,E]=Kl(()=>p),[O,R,M]=CJ(e,n.qt,yJ(t,n)),{Z:D,J:A,ot:L,st:Q,ut:F,it:V}=n.qt,{Jt:q,nn:G,Zt:T,Ut:z,Wt:$}=O,{tn:Y}=q,{tn:ae}=G,fe=se=>{const{Xt:re}=se,oe=F&&!V&&$a(re)===A&&re;return[oe,{transform:oe?`translate(${Ps(L)}px, ${ja(L)}px)`:""}]},ie=(se,re)=>{if(E(),se)T(X4);else{const oe=()=>T(X4,!0);p>0&&!re?I(oe):oe()}},X=()=>{c=s,c&&ie(!0)},K=[k,E,P,y,b,M,Tr(D,"pointerover",X,{C:!0}),Tr(D,"pointerenter",X),Tr(D,"pointerleave",()=>{c=!1,s&&ie(!1)}),Tr(D,"pointermove",()=>{o&&v(()=>{k(),ie(!0),_(()=>{o&&ie(!1)})})}),Tr(Q,"scroll",se=>{w(()=>{$(n()),a&&ie(!0),S(()=>{a&&!c&&ie(!1)})}),r(se),F&&Y(fe),F&&ae(fe)})],U=m.bind(0);return U.qt=O,U.Nt=R,[(se,re,oe)=>{const{At:pe,Lt:le,It:ge,yt:ke}=oe,{A:xe}=Ro(),de=E1(t,se,re),Te=n(),{Tt:Ee,Ct:$e,bt:kt}=Te,[ct,on]=de("showNativeOverlaidScrollbars"),[vt,bt]=de("scrollbars.theme"),[Se,Me]=de("scrollbars.visibility"),[Pt,Tt]=de("scrollbars.autoHide"),[we]=de("scrollbars.autoHideDelay"),[ht,$t]=de("scrollbars.dragScroll"),[Lt,Le]=de("scrollbars.clickScroll"),Ge=pe||le||ke,Pn=ge||Me,Pe=ct&&xe.x&&xe.y,Ye=(Ke,dt)=>{const zt=Se==="visible"||Se==="auto"&&Ke==="scroll";return T(LQ,zt,dt),zt};if(p=we,on&&T(AQ,Pe),bt&&(T(d),T(vt,!0),d=vt),Tt&&(o=Pt==="move",s=Pt==="leave",a=Pt!=="never",ie(!a,!0)),$t&&T(FQ,ht),Le&&T(BQ,Lt),Pn){const Ke=Ye($e.x,!0),dt=Ye($e.y,!1);T(zQ,!(Ke&&dt))}Ge&&(z(Te),$(Te),T(K4,!Ee.x,!0),T(K4,!Ee.y,!1),T(TQ,kt&&!V))},U,ca.bind(0,K)]},$E=(e,t,n)=>{Rs(e)&&e(t||void 0,n||void 0)},di=(e,t,n)=>{const{F:r,N:o,Y:s,j:a}=Ro(),c=dl(),d=qh(e),p=d?e:e.target,h=ME(p);if(t&&!h){let m=!1;const v=F=>{const V=dl()[WQ],q=V&&V.O;return q?q(F,!0):F},b=hr({},r(),v(t)),[w,y,S]=Dy(n),[k,_,P]=hJ(e,b),[I,E,O]=kJ(e,b,_,F=>S("scroll",[Q,F])),R=(F,V)=>k(F,!!V),M=R.bind(0,{},!0),D=s(M),A=a(M),L=F=>{ZQ(p),D(),A(),O(),P(),m=!0,S("destroyed",[Q,!!F]),y()},Q={options(F,V){if(F){const q=V?r():{},G=SE(b,hr(q,v(F)));jy(G)||(hr(b,G),R(G))}return hr({},b)},on:w,off:(F,V)=>{F&&V&&y(F,V)},state(){const{zt:F,Tt:V,Ct:q,Et:G,K:T,St:z,bt:$}=_();return hr({},{overflowEdge:F,overflowAmount:V,overflowStyle:q,hasOverflow:G,padding:T,paddingAbsolute:z,directionRTL:$,destroyed:m})},elements(){const{W:F,Z:V,K:q,J:G,tt:T,ot:z,st:$}=_.qt,{Jt:Y,nn:ae}=E.qt,fe=X=>{const{Ft:K,Gt:U,Xt:se}=X;return{scrollbar:se,track:U,handle:K}},ie=X=>{const{Kt:K,Qt:U}=X,se=fe(K[0]);return hr({},se,{clone:()=>{const re=fe(U());return I({},!0,{}),re}})};return hr({},{target:F,host:V,padding:q||G,viewport:G,content:T||G,scrollOffsetElement:z,scrollEventElement:$,scrollbarHorizontal:ie(Y),scrollbarVertical:ie(ae)})},update:F=>R({},F),destroy:L.bind(0)};return _.jt((F,V,q)=>{I(V,q,F)}),JQ(p,Q),_n(Ho(c),F=>$E(c[F],0,Q)),QQ(_.qt.it,o().cancel,!d&&e.cancel)?(L(!0),Q):(_.Nt(),E.Nt(),S("initialized",[Q]),_.jt((F,V,q)=>{const{gt:G,yt:T,vt:z,At:$,Lt:Y,It:ae,wt:fe,Ot:ie}=F;S("updated",[Q,{updateHints:{sizeChanged:G,directionChanged:T,heightIntrinsicChanged:z,overflowEdgeChanged:$,overflowAmountChanged:Y,overflowStyleChanged:ae,contentMutation:fe,hostMutation:ie},changedOptions:V,force:q}])}),Q.update(!0),Q)}return h};di.plugin=e=>{_n(HQ(e),t=>$E(t,di))};di.valid=e=>{const t=e&&e.elements,n=Rs(t)&&t();return k1(n)&&!!ME(n.target)};di.env=()=>{const{k:e,A:t,I:n,B:r,V:o,L:s,X:a,U:c,N:d,q:p,F:h,G:m}=Ro();return hr({},{scrollbarsSize:e,scrollbarsOverlaid:t,scrollbarsHiding:n,rtlScrollBehavior:r,flexboxGlue:o,cssCustomProperties:s,staticDefaultInitialization:a,staticDefaultOptions:c,getDefaultInitialization:d,setDefaultInitialization:p,getDefaultOptions:h,setDefaultOptions:m})};const _J=()=>{if(typeof window>"u"){const p=()=>{};return[p,p]}let e,t;const n=window,r=typeof n.requestIdleCallback=="function",o=n.requestAnimationFrame,s=n.cancelAnimationFrame,a=r?n.requestIdleCallback:o,c=r?n.cancelIdleCallback:s,d=()=>{c(e),s(t)};return[(p,h)=>{d(),e=a(r?()=>{d(),t=o(p)}:p,typeof h=="object"?h:{timeout:2233})},d]},LE=e=>{const{options:t,events:n,defer:r}=e||{},[o,s]=f.useMemo(_J,[]),a=f.useRef(null),c=f.useRef(r),d=f.useRef(t),p=f.useRef(n);return f.useEffect(()=>{c.current=r},[r]),f.useEffect(()=>{const{current:h}=a;d.current=t,di.valid(h)&&h.options(t||{},!0)},[t]),f.useEffect(()=>{const{current:h}=a;p.current=n,di.valid(h)&&h.on(n||{},!0)},[n]),f.useEffect(()=>()=>{var h;s(),(h=a.current)==null||h.destroy()},[]),f.useMemo(()=>[h=>{const m=a.current;if(di.valid(m))return;const v=c.current,b=d.current||{},w=p.current||{},y=()=>a.current=di(h,b,w);v?o(y,v):y()},()=>a.current],[])},PJ=(e,t)=>{const{element:n="div",options:r,events:o,defer:s,children:a,...c}=e,d=n,p=f.useRef(null),h=f.useRef(null),[m,v]=LE({options:r,events:o,defer:s});return f.useEffect(()=>{const{current:b}=p,{current:w}=h;return b&&w&&m({target:b,elements:{viewport:w,content:w}}),()=>{var y;return(y=v())==null?void 0:y.destroy()}},[m,n]),f.useImperativeHandle(t,()=>({osInstance:v,getElement:()=>p.current}),[]),H.createElement(d,{"data-overlayscrollbars-initialize":"",ref:p,...c},H.createElement("div",{ref:h},a))},zE=f.forwardRef(PJ);var BE={exports:{}},FE={};const Lo=Z1(ZR),Su=Z1(e7),jJ=Z1(t7);(function(e){var t,n,r=Al&&Al.__generator||function(J,ee){var he,_e,me,ut,ot={label:0,sent:function(){if(1&me[0])throw me[1];return me[1]},trys:[],ops:[]};return ut={next:Ht(0),throw:Ht(1),return:Ht(2)},typeof Symbol=="function"&&(ut[Symbol.iterator]=function(){return this}),ut;function Ht(ft){return function(xt){return function(He){if(he)throw new TypeError("Generator is already executing.");for(;ot;)try{if(he=1,_e&&(me=2&He[0]?_e.return:He[0]?_e.throw||((me=_e.return)&&me.call(_e),0):_e.next)&&!(me=me.call(_e,He[1])).done)return me;switch(_e=0,me&&(He=[2&He[0],me.value]),He[0]){case 0:case 1:me=He;break;case 4:return ot.label++,{value:He[1],done:!1};case 5:ot.label++,_e=He[1],He=[0];continue;case 7:He=ot.ops.pop(),ot.trys.pop();continue;default:if(!((me=(me=ot.trys).length>0&&me[me.length-1])||He[0]!==6&&He[0]!==2)){ot=0;continue}if(He[0]===3&&(!me||He[1]>me[0]&&He[1]=200&&J.status<=299},Q=function(J){return/ion\/(vnd\.api\+)?json/.test(J.get("content-type")||"")};function F(J){if(!(0,D.isPlainObject)(J))return J;for(var ee=S({},J),he=0,_e=Object.entries(ee);he<_e.length;he++){var me=_e[he];me[1]===void 0&&delete ee[me[0]]}return ee}function V(J){var ee=this;J===void 0&&(J={});var he=J.baseUrl,_e=J.prepareHeaders,me=_e===void 0?function(en){return en}:_e,ut=J.fetchFn,ot=ut===void 0?A:ut,Ht=J.paramsSerializer,ft=J.isJsonContentType,xt=ft===void 0?Q:ft,He=J.jsonContentType,Ce=He===void 0?"application/json":He,Xe=J.jsonReplacer,jt=J.timeout,Et=J.responseHandler,Nt=J.validateStatus,qt=P(J,["baseUrl","prepareHeaders","fetchFn","paramsSerializer","isJsonContentType","jsonContentType","jsonReplacer","timeout","responseHandler","validateStatus"]);return typeof fetch>"u"&&ot===A&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(en,Ut){return E(ee,null,function(){var Be,yt,Mt,Wt,jn,Gt,un,sn,Or,Jn,It,In,Rn,Zn,mr,Tn,Nn,dn,Sn,En,bn,yn,qe,Ot,St,st,wt,Bt,mt,rt,Oe,Ie,De,We,Ze,Dt;return r(this,function(Rt){switch(Rt.label){case 0:return Be=Ut.signal,yt=Ut.getState,Mt=Ut.extra,Wt=Ut.endpoint,jn=Ut.forced,Gt=Ut.type,Or=(sn=typeof en=="string"?{url:en}:en).url,It=(Jn=sn.headers)===void 0?new Headers(qt.headers):Jn,Rn=(In=sn.params)===void 0?void 0:In,mr=(Zn=sn.responseHandler)===void 0?Et??"json":Zn,Nn=(Tn=sn.validateStatus)===void 0?Nt??L:Tn,Sn=(dn=sn.timeout)===void 0?jt:dn,En=P(sn,["url","headers","params","responseHandler","validateStatus","timeout"]),bn=S(k(S({},qt),{signal:Be}),En),It=new Headers(F(It)),yn=bn,[4,me(It,{getState:yt,extra:Mt,endpoint:Wt,forced:jn,type:Gt})];case 1:yn.headers=Rt.sent()||It,qe=function(Ve){return typeof Ve=="object"&&((0,D.isPlainObject)(Ve)||Array.isArray(Ve)||typeof Ve.toJSON=="function")},!bn.headers.has("content-type")&&qe(bn.body)&&bn.headers.set("content-type",Ce),qe(bn.body)&&xt(bn.headers)&&(bn.body=JSON.stringify(bn.body,Xe)),Rn&&(Ot=~Or.indexOf("?")?"&":"?",St=Ht?Ht(Rn):new URLSearchParams(F(Rn)),Or+=Ot+St),Or=function(Ve,nn){if(!Ve)return nn;if(!nn)return Ve;if(function(hn){return new RegExp("(^|:)//").test(hn)}(nn))return nn;var xn=Ve.endsWith("/")||!nn.startsWith("?")?"/":"";return Ve=function(hn){return hn.replace(/\/$/,"")}(Ve),""+Ve+xn+function(hn){return hn.replace(/^\//,"")}(nn)}(he,Or),st=new Request(Or,bn),wt=st.clone(),un={request:wt},mt=!1,rt=Sn&&setTimeout(function(){mt=!0,Ut.abort()},Sn),Rt.label=2;case 2:return Rt.trys.push([2,4,5,6]),[4,ot(st)];case 3:return Bt=Rt.sent(),[3,6];case 4:return Oe=Rt.sent(),[2,{error:{status:mt?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(Oe)},meta:un}];case 5:return rt&&clearTimeout(rt),[7];case 6:Ie=Bt.clone(),un.response=Ie,We="",Rt.label=7;case 7:return Rt.trys.push([7,9,,10]),[4,Promise.all([tn(Bt,mr).then(function(Ve){return De=Ve},function(Ve){return Ze=Ve}),Ie.text().then(function(Ve){return We=Ve},function(){})])];case 8:if(Rt.sent(),Ze)throw Ze;return[3,10];case 9:return Dt=Rt.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:Bt.status,data:We,error:String(Dt)},meta:un}];case 10:return[2,Nn(Bt,De)?{data:De,meta:un}:{error:{status:Bt.status,data:De},meta:un}]}})})};function tn(en,Ut){return E(this,null,function(){var Be;return r(this,function(yt){switch(yt.label){case 0:return typeof Ut=="function"?[2,Ut(en)]:(Ut==="content-type"&&(Ut=xt(en.headers)?"json":"text"),Ut!=="json"?[3,2]:[4,en.text()]);case 1:return[2,(Be=yt.sent()).length?JSON.parse(Be):null];case 2:return[2,en.text()]}})})}}var q=function(J,ee){ee===void 0&&(ee=void 0),this.value=J,this.meta=ee};function G(J,ee){return J===void 0&&(J=0),ee===void 0&&(ee=5),E(this,null,function(){var he,_e;return r(this,function(me){switch(me.label){case 0:return he=Math.min(J,ee),_e=~~((Math.random()+.4)*(300<=Ie)}var En=(0,$e.createAsyncThunk)(Rn+"/executeQuery",dn,{getPendingMeta:function(){var qe;return(qe={startedTimeStamp:Date.now()})[$e.SHOULD_AUTOBATCH]=!0,qe},condition:function(qe,Ot){var St,st,wt,Bt=(0,Ot.getState)(),mt=(st=(St=Bt[Rn])==null?void 0:St.queries)==null?void 0:st[qe.queryCacheKey],rt=mt==null?void 0:mt.fulfilledTimeStamp,Oe=qe.originalArgs,Ie=mt==null?void 0:mt.originalArgs,De=mr[qe.endpointName];return!(!de(qe)&&((mt==null?void 0:mt.status)==="pending"||!Sn(qe,Bt)&&(!oe(De)||!((wt=De==null?void 0:De.forceRefetch)!=null&&wt.call(De,{currentArg:Oe,previousArg:Ie,endpointState:mt,state:Bt})))&&rt))},dispatchConditionRejection:!0}),bn=(0,$e.createAsyncThunk)(Rn+"/executeMutation",dn,{getPendingMeta:function(){var qe;return(qe={startedTimeStamp:Date.now()})[$e.SHOULD_AUTOBATCH]=!0,qe}});function yn(qe){return function(Ot){var St,st;return((st=(St=Ot==null?void 0:Ot.meta)==null?void 0:St.arg)==null?void 0:st.endpointName)===qe}}return{queryThunk:En,mutationThunk:bn,prefetch:function(qe,Ot,St){return function(st,wt){var Bt=function(De){return"force"in De}(St)&&St.force,mt=function(De){return"ifOlderThan"in De}(St)&&St.ifOlderThan,rt=function(De){return De===void 0&&(De=!0),Nn.endpoints[qe].initiate(Ot,{forceRefetch:De})},Oe=Nn.endpoints[qe].select(Ot)(wt());if(Bt)st(rt());else if(mt){var Ie=Oe==null?void 0:Oe.fulfilledTimeStamp;if(!Ie)return void st(rt());(Number(new Date)-Number(new Date(Ie)))/1e3>=mt&&st(rt())}else st(rt(!1))}},updateQueryData:function(qe,Ot,St){return function(st,wt){var Bt,mt,rt=Nn.endpoints[qe].select(Ot)(wt()),Oe={patches:[],inversePatches:[],undo:function(){return st(Nn.util.patchQueryData(qe,Ot,Oe.inversePatches))}};if(rt.status===t.uninitialized)return Oe;if("data"in rt)if((0,Ee.isDraftable)(rt.data)){var Ie=(0,Ee.produceWithPatches)(rt.data,St),De=Ie[2];(Bt=Oe.patches).push.apply(Bt,Ie[1]),(mt=Oe.inversePatches).push.apply(mt,De)}else{var We=St(rt.data);Oe.patches.push({op:"replace",path:[],value:We}),Oe.inversePatches.push({op:"replace",path:[],value:rt.data})}return st(Nn.util.patchQueryData(qe,Ot,Oe.patches)),Oe}},upsertQueryData:function(qe,Ot,St){return function(st){var wt;return st(Nn.endpoints[qe].initiate(Ot,((wt={subscribe:!1,forceRefetch:!0})[xe]=function(){return{data:St}},wt)))}},patchQueryData:function(qe,Ot,St){return function(st){st(Nn.internalActions.queryResultPatched({queryCacheKey:Tn({queryArgs:Ot,endpointDefinition:mr[qe],endpointName:qe}),patches:St}))}},buildMatchThunkActions:function(qe,Ot){return{matchPending:(0,Te.isAllOf)((0,Te.isPending)(qe),yn(Ot)),matchFulfilled:(0,Te.isAllOf)((0,Te.isFulfilled)(qe),yn(Ot)),matchRejected:(0,Te.isAllOf)((0,Te.isRejected)(qe),yn(Ot))}}}}({baseQuery:_e,reducerPath:me,context:he,api:J,serializeQueryArgs:ut}),Xe=Ce.queryThunk,jt=Ce.mutationThunk,Et=Ce.patchQueryData,Nt=Ce.updateQueryData,qt=Ce.upsertQueryData,tn=Ce.prefetch,en=Ce.buildMatchThunkActions,Ut=function(It){var In=It.reducerPath,Rn=It.queryThunk,Zn=It.mutationThunk,mr=It.context,Tn=mr.endpointDefinitions,Nn=mr.apiUid,dn=mr.extractRehydrationInfo,Sn=mr.hasRehydrationInfo,En=It.assertTagType,bn=It.config,yn=(0,ge.createAction)(In+"/resetApiState"),qe=(0,ge.createSlice)({name:In+"/queries",initialState:Pt,reducers:{removeQueryResult:{reducer:function(rt,Oe){delete rt[Oe.payload.queryCacheKey]},prepare:(0,ge.prepareAutoBatched)()},queryResultPatched:function(rt,Oe){var Ie=Oe.payload,De=Ie.patches;bt(rt,Ie.queryCacheKey,function(We){We.data=(0,vt.applyPatches)(We.data,De.concat())})}},extraReducers:function(rt){rt.addCase(Rn.pending,function(Oe,Ie){var De,We=Ie.meta,Ze=Ie.meta.arg,Dt=de(Ze);(Ze.subscribe||Dt)&&(Oe[De=Ze.queryCacheKey]!=null||(Oe[De]={status:t.uninitialized,endpointName:Ze.endpointName})),bt(Oe,Ze.queryCacheKey,function(Rt){Rt.status=t.pending,Rt.requestId=Dt&&Rt.requestId?Rt.requestId:We.requestId,Ze.originalArgs!==void 0&&(Rt.originalArgs=Ze.originalArgs),Rt.startedTimeStamp=We.startedTimeStamp})}).addCase(Rn.fulfilled,function(Oe,Ie){var De=Ie.meta,We=Ie.payload;bt(Oe,De.arg.queryCacheKey,function(Ze){var Dt;if(Ze.requestId===De.requestId||de(De.arg)){var Rt=Tn[De.arg.endpointName].merge;if(Ze.status=t.fulfilled,Rt)if(Ze.data!==void 0){var Ve=De.fulfilledTimeStamp,nn=De.arg,xn=De.baseQueryMeta,hn=De.requestId,gr=(0,ge.createNextState)(Ze.data,function(Xn){return Rt(Xn,We,{arg:nn.originalArgs,baseQueryMeta:xn,fulfilledTimeStamp:Ve,requestId:hn})});Ze.data=gr}else Ze.data=We;else Ze.data=(Dt=Tn[De.arg.endpointName].structuralSharing)==null||Dt?M((0,on.isDraft)(Ze.data)?(0,vt.original)(Ze.data):Ze.data,We):We;delete Ze.error,Ze.fulfilledTimeStamp=De.fulfilledTimeStamp}})}).addCase(Rn.rejected,function(Oe,Ie){var De=Ie.meta,We=De.condition,Ze=De.requestId,Dt=Ie.error,Rt=Ie.payload;bt(Oe,De.arg.queryCacheKey,function(Ve){if(!We){if(Ve.requestId!==Ze)return;Ve.status=t.rejected,Ve.error=Rt??Dt}})}).addMatcher(Sn,function(Oe,Ie){for(var De=dn(Ie).queries,We=0,Ze=Object.entries(De);We"u"||navigator.onLine===void 0||navigator.onLine,focused:typeof document>"u"||document.visibilityState!=="hidden",middlewareRegistered:!1},bn),reducers:{middlewareRegistered:function(rt,Oe){rt.middlewareRegistered=rt.middlewareRegistered!=="conflict"&&Nn===Oe.payload||"conflict"}},extraReducers:function(rt){rt.addCase(fe,function(Oe){Oe.online=!0}).addCase(ie,function(Oe){Oe.online=!1}).addCase(Y,function(Oe){Oe.focused=!0}).addCase(ae,function(Oe){Oe.focused=!1}).addMatcher(Sn,function(Oe){return S({},Oe)})}}),mt=(0,ge.combineReducers)({queries:qe.reducer,mutations:Ot.reducer,provided:St.reducer,subscriptions:wt.reducer,config:Bt.reducer});return{reducer:function(rt,Oe){return mt(yn.match(Oe)?void 0:rt,Oe)},actions:k(S(S(S(S(S({},Bt.actions),qe.actions),st.actions),wt.actions),Ot.actions),{unsubscribeMutationResult:Ot.actions.removeMutationResult,resetApiState:yn})}}({context:he,queryThunk:Xe,mutationThunk:jt,reducerPath:me,assertTagType:He,config:{refetchOnFocus:ft,refetchOnReconnect:xt,refetchOnMountOrArgChange:Ht,keepUnusedDataFor:ot,reducerPath:me}}),Be=Ut.reducer,yt=Ut.actions;$r(J.util,{patchQueryData:Et,updateQueryData:Nt,upsertQueryData:qt,prefetch:tn,resetApiState:yt.resetApiState}),$r(J.internalActions,yt);var Mt=function(It){var In=It.reducerPath,Rn=It.queryThunk,Zn=It.api,mr=It.context,Tn=mr.apiUid,Nn={invalidateTags:(0,cr.createAction)(In+"/invalidateTags")},dn=[Wr,pn,Hr,xr,Wn,Do];return{middleware:function(En){var bn=!1,yn=k(S({},It),{internalState:{currentSubscriptions:{}},refetchQuery:Sn}),qe=dn.map(function(st){return st(yn)}),Ot=function(st){var wt=st.api,Bt=st.queryThunk,mt=st.internalState,rt=wt.reducerPath+"/subscriptions",Oe=null,Ie=!1,De=wt.internalActions,We=De.updateSubscriptionOptions,Ze=De.unsubscribeQueryResult;return function(Dt,Rt){var Ve,nn;if(Oe||(Oe=JSON.parse(JSON.stringify(mt.currentSubscriptions))),wt.util.resetApiState.match(Dt))return Oe=mt.currentSubscriptions={},[!0,!1];if(wt.internalActions.internal_probeSubscription.match(Dt)){var xn=Dt.payload;return[!1,!!((Ve=mt.currentSubscriptions[xn.queryCacheKey])!=null&&Ve[xn.requestId])]}var hn=function(gn,Vn){var ao,fn,$n,Ur,Rr,Ga,ef,Ao,fa;if(We.match(Vn)){var zs=Vn.payload,pa=zs.queryCacheKey,io=zs.requestId;return(ao=gn==null?void 0:gn[pa])!=null&&ao[io]&&(gn[pa][io]=zs.options),!0}if(Ze.match(Vn)){var lo=Vn.payload;return io=lo.requestId,gn[pa=lo.queryCacheKey]&&delete gn[pa][io],!0}if(wt.internalActions.removeQueryResult.match(Vn))return delete gn[Vn.payload.queryCacheKey],!0;if(Bt.pending.match(Vn)){var co=Vn.meta;if(io=co.requestId,(Yr=co.arg).subscribe)return(Wo=($n=gn[fn=Yr.queryCacheKey])!=null?$n:gn[fn]={})[io]=(Rr=(Ur=Yr.subscriptionOptions)!=null?Ur:Wo[io])!=null?Rr:{},!0}if(Bt.rejected.match(Vn)){var Wo,To=Vn.meta,Yr=To.arg;if(io=To.requestId,To.condition&&Yr.subscribe)return(Wo=(ef=gn[Ga=Yr.queryCacheKey])!=null?ef:gn[Ga]={})[io]=(fa=(Ao=Yr.subscriptionOptions)!=null?Ao:Wo[io])!=null?fa:{},!0}return!1}(mt.currentSubscriptions,Dt);if(hn){Ie||(ds(function(){var gn=JSON.parse(JSON.stringify(mt.currentSubscriptions)),Vn=(0,Vr.produceWithPatches)(Oe,function(){return gn});Rt.next(wt.internalActions.subscriptionsUpdated(Vn[1])),Oe=gn,Ie=!1}),Ie=!0);var gr=!!((nn=Dt.type)!=null&&nn.startsWith(rt)),Xn=Bt.rejected.match(Dt)&&Dt.meta.condition&&!!Dt.meta.arg.subscribe;return[!gr&&!Xn,!1]}return[!0,!1]}}(yn),St=function(st){var wt=st.reducerPath,Bt=st.context,mt=st.refetchQuery,rt=st.internalState,Oe=st.api.internalActions.removeQueryResult;function Ie(De,We){var Ze=De.getState()[wt],Dt=Ze.queries,Rt=rt.currentSubscriptions;Bt.batch(function(){for(var Ve=0,nn=Object.keys(Rt);Ve{const{boardToDelete:t,setBoardToDelete:n}=e,{t:r}=ye(),o=B(_=>_.config.canRestoreDeletedImagesFromBin),{currentData:s,isFetching:a}=n7((t==null?void 0:t.board_id)??ro.skipToken),c=f.useMemo(()=>be([lt],_=>{const P=(s??[]).map(E=>L_(_,E));return{imageUsageSummary:{isInitialImage:wa(P,E=>E.isInitialImage),isCanvasImage:wa(P,E=>E.isCanvasImage),isNodesImage:wa(P,E=>E.isNodesImage),isControlNetImage:wa(P,E=>E.isControlNetImage)}}}),[s]),[d,{isLoading:p}]=r7(),[h,{isLoading:m}]=o7(),{imageUsageSummary:v}=B(c),b=f.useCallback(()=>{t&&(d(t.board_id),n(void 0))},[t,d,n]),w=f.useCallback(()=>{t&&(h(t.board_id),n(void 0))},[t,h,n]),y=f.useCallback(()=>{n(void 0)},[n]),S=f.useRef(null),k=f.useMemo(()=>m||p||a,[m,p,a]);return t?i.jsx(Td,{isOpen:!!t,onClose:y,leastDestructiveRef:S,isCentered:!0,children:i.jsx(Aa,{children:i.jsxs(Nd,{children:[i.jsxs(Da,{fontSize:"lg",fontWeight:"bold",children:["Delete ",t.board_name]}),i.jsx(Ta,{children:i.jsxs(W,{direction:"column",gap:3,children:[a?i.jsx(Em,{children:i.jsx(W,{sx:{w:"full",h:32}})}):i.jsx(UI,{imageUsage:v,topMessage:"This board contains images used in the following features:",bottomMessage:"Deleting this board and its images will reset any features currently using them."}),i.jsx(Qe,{children:"Deleted boards cannot be restored."}),i.jsx(Qe,{children:r(o?"gallery.deleteImageBin":"gallery.deleteImagePermanent")})]})}),i.jsx(Ma,{children:i.jsxs(W,{sx:{justifyContent:"space-between",width:"full",gap:2},children:[i.jsx(Yt,{ref:S,onClick:y,children:"Cancel"}),i.jsx(Yt,{colorScheme:"warning",isLoading:k,onClick:b,children:"Delete Board Only"}),i.jsx(Yt,{colorScheme:"error",isLoading:k,onClick:w,children:"Delete Board and Images"})]})})]})})}):null},EJ=f.memo(IJ),HE=Ae((e,t)=>{const{role:n,tooltip:r="",tooltipProps:o,isChecked:s,...a}=e;return i.jsx(vn,{label:r,hasArrow:!0,...o,...o!=null&&o.placement?{placement:o.placement}:{placement:"top"},children:i.jsx(ka,{ref:t,role:n,colorScheme:s?"accent":"base",...a})})});HE.displayName="IAIIconButton";const ze=f.memo(HE),OJ="My Board",RJ=()=>{const[e,{isLoading:t}]=s7(),n=f.useCallback(()=>{e(OJ)},[e]);return i.jsx(ze,{icon:i.jsx(yl,{}),isLoading:t,tooltip:"Add Board","aria-label":"Add Board",onClick:n,size:"sm"})};var lk={path:i.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[i.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),i.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),i.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},WE=Ae((e,t)=>{const{as:n,viewBox:r,color:o="currentColor",focusable:s=!1,children:a,className:c,__css:d,...p}=e,h=Ct("chakra-icon",c),m=ia("Icon",e),v={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:o,...d,...m},b={ref:t,focusable:s,className:h,__css:v},w=r??lk.viewBox;if(n&&typeof n!="string")return i.jsx(je.svg,{as:n,...b,...p});const y=a??lk.path;return i.jsx(je.svg,{verticalAlign:"middle",viewBox:w,...b,...p,children:y})});WE.displayName="Icon";function qd(e){const{viewBox:t="0 0 24 24",d:n,displayName:r,defaultProps:o={}}=e,s=f.Children.toArray(e.path),a=Ae((c,d)=>i.jsx(WE,{ref:d,viewBox:t,...o,...c,children:s.length?s:i.jsx("path",{fill:"currentColor",d:n})}));return a.displayName=r,a}var VE=qd({displayName:"ExternalLinkIcon",path:i.jsxs("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2",children:[i.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),i.jsx("path",{d:"M15 3h6v6"}),i.jsx("path",{d:"M10 14L21 3"})]})}),zy=qd({d:"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z",displayName:"ChevronUpIcon"}),MJ=qd({displayName:"CloseIcon",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"}),DJ=qd({displayName:"DeleteIcon",path:i.jsx("g",{fill:"currentColor",children:i.jsx("path",{d:"M19.452 7.5H4.547a.5.5 0 00-.5.545l1.287 14.136A2 2 0 007.326 24h9.347a2 2 0 001.992-1.819L19.95 8.045a.5.5 0 00-.129-.382.5.5 0 00-.369-.163zm-9.2 13a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zm5 0a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zM22 4h-4.75a.25.25 0 01-.25-.25V2.5A2.5 2.5 0 0014.5 0h-5A2.5 2.5 0 007 2.5v1.25a.25.25 0 01-.25.25H2a1 1 0 000 2h20a1 1 0 000-2zM9 3.75V2.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v1.25a.25.25 0 01-.25.25h-5.5A.25.25 0 019 3.75z"})})}),AJ=qd({displayName:"ChevronDownIcon",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"});const TJ=be([lt],({gallery:e})=>{const{boardSearchText:t}=e;return{boardSearchText:t}},Je),NJ=()=>{const e=te(),{boardSearchText:t}=B(TJ),n=f.useRef(null),r=f.useCallback(c=>{e(Y2(c))},[e]),o=f.useCallback(()=>{e(Y2(""))},[e]),s=f.useCallback(c=>{c.key==="Escape"&&o()},[o]),a=f.useCallback(c=>{r(c.target.value)},[r]);return f.useEffect(()=>{n.current&&n.current.focus()},[]),i.jsxs(Z3,{children:[i.jsx(Ed,{ref:n,placeholder:"Search Boards...",value:t,onKeyDown:s,onChange:a}),t&&t.length&&i.jsx(Rb,{children:i.jsx(ka,{onClick:o,size:"xs",variant:"ghost","aria-label":"Clear Search",opacity:.5,icon:i.jsx(MJ,{boxSize:2})})})]})},$J=f.memo(NJ),LJ=e=>{const{isOver:t,label:n="Drop"}=e,r=f.useRef(fi()),{colorMode:o}=Ds();return i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsxs(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full"},children:[i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:Fe("base.700","base.900")(o),opacity:.7,borderRadius:"base",alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),i.jsx(W,{sx:{position:"absolute",top:.5,insetInlineStart:.5,insetInlineEnd:.5,bottom:.5,opacity:1,borderWidth:2,borderColor:t?Fe("base.50","base.50")(o):Fe("base.200","base.300")(o),borderRadius:"lg",borderStyle:"dashed",transitionProperty:"common",transitionDuration:"0.1s",alignItems:"center",justifyContent:"center"},children:i.jsx(Re,{sx:{fontSize:"2xl",fontWeight:600,transform:t?"scale(1.1)":"scale(1)",color:t?Fe("base.50","base.50")(o):Fe("base.200","base.300")(o),transitionProperty:"common",transitionDuration:"0.1s"},children:n})})]})},r.current)},Zh=f.memo(LJ),zJ=e=>{const{dropLabel:t,data:n,disabled:r}=e,o=f.useRef(fi()),{isOver:s,setNodeRef:a,active:c}=eb({id:o.current,disabled:r,data:n});return i.jsx(Re,{ref:a,position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",pointerEvents:"none",children:i.jsx(mo,{children:zp(n,c)&&i.jsx(Zh,{isOver:s,label:t})})})},By=f.memo(zJ),Fy=({isSelected:e,isHovered:t})=>i.jsx(Re,{className:"selection-box",sx:{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,borderRadius:"base",opacity:e?1:.7,transitionProperty:"common",transitionDuration:"0.1s",shadow:e?t?"hoverSelected.light":"selected.light":t?"hoverUnselected.light":void 0,_dark:{shadow:e?t?"hoverSelected.dark":"selected.dark":t?"hoverUnselected.dark":void 0}}}),UE=()=>i.jsx(W,{sx:{position:"absolute",insetInlineEnd:0,top:0,p:1},children:i.jsx(gl,{variant:"solid",sx:{bg:"accent.400",_dark:{bg:"accent.500"}},children:"auto"})});var Uu=globalThis&&globalThis.__assign||function(){return Uu=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{const{boardName:t}=dm(void 0,{selectFromResult:({data:n})=>{const r=n==null?void 0:n.find(s=>s.board_id===e);return{boardName:(r==null?void 0:r.board_name)||"Uncategorized"}}});return t},BJ=({board:e,setBoardToDelete:t})=>{const n=f.useCallback(()=>{t&&t(e)},[e,t]);return i.jsxs(i.Fragment,{children:[e.image_count>0&&i.jsx(i.Fragment,{}),i.jsx(jr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(Eo,{}),onClick:n,children:"Delete Board"})]})},FJ=f.memo(BJ),HJ=()=>i.jsx(i.Fragment,{}),WJ=f.memo(HJ),Hy=f.memo(({board:e,board_id:t,setBoardToDelete:n,children:r})=>{const o=te(),s=f.useMemo(()=>be(lt,({gallery:v,system:b})=>{const w=v.autoAddBoardId===t,y=b.isProcessing,S=v.autoAssignBoardOnClick;return{isAutoAdd:w,isProcessing:y,autoAssignBoardOnClick:S}}),[t]),{isAutoAdd:a,isProcessing:c,autoAssignBoardOnClick:d}=B(s),p=Qm(t),h=f.useCallback(()=>{o(fm(t))},[t,o]),m=f.useCallback(v=>{v.preventDefault()},[]);return i.jsx(GE,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>i.jsx(il,{sx:{visibility:"visible !important"},motionProps:ed,onContextMenu:m,children:i.jsxs(ad,{title:p,children:[i.jsx(jr,{icon:i.jsx(yl,{}),isDisabled:a||c||d,onClick:h,children:"Auto-add to this Board"}),!e&&i.jsx(WJ,{}),e&&i.jsx(FJ,{board:e,setBoardToDelete:n})]})}),children:r})});Hy.displayName="HoverableBoard";const qE=f.memo(({board:e,isSelected:t,setBoardToDelete:n})=>{const r=te(),o=f.useMemo(()=>be(lt,({gallery:A,system:L})=>{const Q=e.board_id===A.autoAddBoardId,F=A.autoAssignBoardOnClick,V=L.isProcessing;return{isSelectedForAutoAdd:Q,autoAssignBoardOnClick:F,isProcessing:V}},Je),[e.board_id]),{isSelectedForAutoAdd:s,autoAssignBoardOnClick:a,isProcessing:c}=B(o),[d,p]=f.useState(!1),h=f.useCallback(()=>{p(!0)},[]),m=f.useCallback(()=>{p(!1)},[]),{data:v}=H_(e.board_id),{data:b}=W_(e.board_id),w=f.useMemo(()=>{if(!(!v||!b))return`${v} image${v>1?"s":""}, ${b} asset${b>1?"s":""}`},[b,v]),{currentData:y}=Is(e.cover_image_name??ro.skipToken),{board_name:S,board_id:k}=e,[_,P]=f.useState(S),I=f.useCallback(()=>{r(V_(k)),a&&!c&&r(fm(k))},[k,a,c,r]),[E,{isLoading:O}]=a7(),R=f.useMemo(()=>({id:k,actionType:"ADD_TO_BOARD",context:{boardId:k}}),[k]),M=f.useCallback(async A=>{if(!A.trim()){P(S);return}if(A!==S)try{const{board_name:L}=await E({board_id:k,changes:{board_name:A}}).unwrap();P(L)}catch{P(S)}},[k,S,E]),D=f.useCallback(A=>{P(A)},[]);return i.jsx(Re,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:i.jsx(W,{onMouseOver:h,onMouseOut:m,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",w:"full",h:"full"},children:i.jsx(Hy,{board:e,board_id:k,setBoardToDelete:n,children:A=>i.jsx(vn,{label:w,openDelay:1e3,hasArrow:!0,children:i.jsxs(W,{ref:A,onClick:I,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[y!=null&&y.thumbnail_url?i.jsx(Lc,{src:y==null?void 0:y.thumbnail_url,draggable:!1,sx:{objectFit:"cover",w:"full",h:"full",maxH:"full",borderRadius:"base",borderBottomRadius:"lg"}}):i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:i.jsx(fo,{boxSize:12,as:aQ,sx:{mt:-6,opacity:.7,color:"base.500",_dark:{color:"base.500"}}})}),s&&i.jsx(UE,{}),i.jsx(Fy,{isSelected:t,isHovered:d}),i.jsx(W,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:t?"accent.400":"base.500",color:t?"base.50":"base.100",_dark:{bg:t?"accent.500":"base.600",color:t?"base.50":"base.100"},lineHeight:"short",fontSize:"xs"},children:i.jsxs(f3,{value:_,isDisabled:O,submitOnBlur:!0,onChange:D,onSubmit:M,sx:{w:"full"},children:[i.jsx(c3,{sx:{p:0,fontWeight:t?700:500,textAlign:"center",overflow:"hidden",textOverflow:"ellipsis"},noOfLines:1}),i.jsx(l3,{sx:{p:0,_focusVisible:{p:0,textAlign:"center",boxShadow:"none"}}})]})}),i.jsx(By,{data:R,dropLabel:i.jsx(Qe,{fontSize:"md",children:"Move"})})]})})})})})});qE.displayName="HoverableBoard";const VJ=be(lt,({gallery:e,system:t})=>{const{autoAddBoardId:n,autoAssignBoardOnClick:r}=e,{isProcessing:o}=t;return{autoAddBoardId:n,autoAssignBoardOnClick:r,isProcessing:o}},Je),KE=f.memo(({isSelected:e})=>{const t=te(),{autoAddBoardId:n,autoAssignBoardOnClick:r,isProcessing:o}=B(VJ),s=Qm("none"),a=f.useCallback(()=>{t(V_("none")),r&&!o&&t(fm("none"))},[t,r,o]),[c,d]=f.useState(!1),p=f.useCallback(()=>{d(!0)},[]),h=f.useCallback(()=>{d(!1)},[]),m=f.useMemo(()=>({id:"no_board",actionType:"REMOVE_FROM_BOARD"}),[]);return i.jsx(Re,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:i.jsx(W,{onMouseOver:p,onMouseOut:h,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",borderRadius:"base",w:"full",h:"full"},children:i.jsx(Hy,{board_id:"none",children:v=>i.jsxs(W,{ref:v,onClick:a,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:i.jsx(Lc,{src:U_,alt:"invoke-ai-logo",sx:{opacity:.4,filter:"grayscale(1)",mt:-6,w:16,h:16,minW:16,minH:16,userSelect:"none"}})}),n==="none"&&i.jsx(UE,{}),i.jsx(W,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:e?"accent.400":"base.500",color:e?"base.50":"base.100",_dark:{bg:e?"accent.500":"base.600",color:e?"base.50":"base.100"},lineHeight:"short",fontSize:"xs",fontWeight:e?700:500},children:s}),i.jsx(Fy,{isSelected:e,isHovered:c}),i.jsx(By,{data:m,dropLabel:i.jsx(Qe,{fontSize:"md",children:"Move"})})]})})})})});KE.displayName="HoverableBoard";const UJ=be([lt],({gallery:e})=>{const{selectedBoardId:t,boardSearchText:n}=e;return{selectedBoardId:t,boardSearchText:n}},Je),GJ=e=>{const{isOpen:t}=e,{selectedBoardId:n,boardSearchText:r}=B(UJ),{data:o}=dm(),s=r?o==null?void 0:o.filter(d=>d.board_name.toLowerCase().includes(r.toLowerCase())):o,[a,c]=f.useState();return i.jsxs(i.Fragment,{children:[i.jsx(bm,{in:t,animateOpacity:!0,children:i.jsxs(W,{layerStyle:"first",sx:{flexDir:"column",gap:2,p:2,mt:2,borderRadius:"base"},children:[i.jsxs(W,{sx:{gap:2,alignItems:"center"},children:[i.jsx($J,{}),i.jsx(RJ,{})]}),i.jsx(zE,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:i.jsxs(sl,{className:"list-container",sx:{gridTemplateColumns:"repeat(auto-fill, minmax(108px, 1fr));",maxH:346},children:[i.jsx(Qv,{sx:{p:1.5},children:i.jsx(KE,{isSelected:n==="none"})}),s&&s.map(d=>i.jsx(Qv,{sx:{p:1.5},children:i.jsx(qE,{board:d,isSelected:n===d.board_id,setBoardToDelete:c})},d.board_id))]})})]})}),i.jsx(EJ,{boardToDelete:a,setBoardToDelete:c})]})},qJ=f.memo(GJ),KJ=be([lt],e=>{const{selectedBoardId:t}=e.gallery;return{selectedBoardId:t}},Je),XJ=e=>{const{isOpen:t,onToggle:n}=e,{selectedBoardId:r}=B(KJ),o=Qm(r),s=f.useMemo(()=>o.length>20?`${o.substring(0,20)}...`:o,[o]);return i.jsxs(W,{as:yc,onClick:n,size:"sm",sx:{position:"relative",gap:2,w:"full",justifyContent:"space-between",alignItems:"center",px:2},children:[i.jsx(Qe,{noOfLines:1,sx:{fontWeight:600,w:"100%",textAlign:"center",color:"base.800",_dark:{color:"base.200"}},children:s}),i.jsx(zy,{sx:{transform:t?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]})},YJ=f.memo(XJ);function XE(e){return nt({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146z"}}]})(e)}function YE(e){return nt({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146zm.122 2.112v-.002.002zm0-.002v.002a.5.5 0 0 1-.122.51L6.293 6.878a.5.5 0 0 1-.511.12H5.78l-.014-.004a4.507 4.507 0 0 0-.288-.076 4.922 4.922 0 0 0-.765-.116c-.422-.028-.836.008-1.175.15l5.51 5.509c.141-.34.177-.753.149-1.175a4.924 4.924 0 0 0-.192-1.054l-.004-.013v-.001a.5.5 0 0 1 .12-.512l3.536-3.535a.5.5 0 0 1 .532-.115l.096.022c.087.017.208.034.344.034.114 0 .23-.011.343-.04L9.927 2.028c-.029.113-.04.23-.04.343a1.779 1.779 0 0 0 .062.46z"}}]})(e)}const QJ=be([lt],e=>{const{shouldPinGallery:t}=e.ui;return{shouldPinGallery:t}},Je),JJ=()=>{const e=te(),{t}=ye(),{shouldPinGallery:n}=B(QJ),r=()=>{e(G_()),e(ko())};return i.jsx(ze,{size:"sm","aria-label":t("gallery.pinGallery"),tooltip:`${t("gallery.pinGallery")} (Shift+G)`,onClick:r,icon:n?i.jsx(XE,{}):i.jsx(YE,{})})},ZJ=e=>{const{triggerComponent:t,children:n,hasArrow:r=!0,isLazy:o=!0,...s}=e;return i.jsxs(Qb,{isLazy:o,...s,children:[i.jsx(Yb,{children:t}),i.jsxs(Jb,{shadow:"dark-lg",children:[r&&i.jsx(D6,{}),n]})]})},xl=f.memo(ZJ);function eZ(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12 16c1.671 0 3-1.331 3-3s-1.329-3-3-3-3 1.331-3 3 1.329 3 3 3z"}},{tag:"path",attr:{d:"M20.817 11.186a8.94 8.94 0 0 0-1.355-3.219 9.053 9.053 0 0 0-2.43-2.43 8.95 8.95 0 0 0-3.219-1.355 9.028 9.028 0 0 0-1.838-.18V2L8 5l3.975 3V6.002c.484-.002.968.044 1.435.14a6.961 6.961 0 0 1 2.502 1.053 7.005 7.005 0 0 1 1.892 1.892A6.967 6.967 0 0 1 19 13a7.032 7.032 0 0 1-.55 2.725 7.11 7.11 0 0 1-.644 1.188 7.2 7.2 0 0 1-.858 1.039 7.028 7.028 0 0 1-3.536 1.907 7.13 7.13 0 0 1-2.822 0 6.961 6.961 0 0 1-2.503-1.054 7.002 7.002 0 0 1-1.89-1.89A6.996 6.996 0 0 1 5 13H3a9.02 9.02 0 0 0 1.539 5.034 9.096 9.096 0 0 0 2.428 2.428A8.95 8.95 0 0 0 12 22a9.09 9.09 0 0 0 1.814-.183 9.014 9.014 0 0 0 3.218-1.355 8.886 8.886 0 0 0 1.331-1.099 9.228 9.228 0 0 0 1.1-1.332A8.952 8.952 0 0 0 21 13a9.09 9.09 0 0 0-.183-1.814z"}}]})(e)}const tZ=e=>{const[t,n]=f.useState(!1),{label:r,value:o,min:s=1,max:a=100,step:c=1,onChange:d,tooltipSuffix:p="",withSliderMarks:h=!1,withInput:m=!1,isInteger:v=!1,inputWidth:b=16,withReset:w=!1,hideTooltip:y=!1,isCompact:S=!1,isDisabled:k=!1,sliderMarks:_,handleReset:P,sliderFormControlProps:I,sliderFormLabelProps:E,sliderMarkProps:O,sliderTrackProps:R,sliderThumbProps:M,sliderNumberInputProps:D,sliderNumberInputFieldProps:A,sliderNumberInputStepperProps:L,sliderTooltipProps:Q,sliderIAIIconButtonProps:F,...V}=e,q=te(),{t:G}=ye(),[T,z]=f.useState(String(o));f.useEffect(()=>{z(o)},[o]);const $=f.useMemo(()=>D!=null&&D.min?D.min:s,[s,D==null?void 0:D.min]),Y=f.useMemo(()=>D!=null&&D.max?D.max:a,[a,D==null?void 0:D.max]),ae=f.useCallback(re=>{d(re)},[d]),fe=f.useCallback(re=>{re.target.value===""&&(re.target.value=String($));const oe=Es(v?Math.floor(Number(re.target.value)):Number(T),$,Y),pe=Iu(oe,c);d(pe),z(pe)},[v,T,$,Y,d,c]),ie=f.useCallback(re=>{z(re)},[]),X=f.useCallback(()=>{P&&P()},[P]),K=f.useCallback(re=>{re.target instanceof HTMLDivElement&&re.target.focus()},[]),U=f.useCallback(re=>{re.shiftKey&&q(jo(!0))},[q]),se=f.useCallback(re=>{re.shiftKey||q(jo(!1))},[q]);return i.jsxs(go,{onClick:K,sx:S?{display:"flex",flexDirection:"row",alignItems:"center",columnGap:4,margin:0,padding:0}:{},isDisabled:k,...I,children:[r&&i.jsx(Bo,{sx:m?{mb:-1.5}:{},...E,children:r}),i.jsxs(pi,{w:"100%",gap:2,alignItems:"center",children:[i.jsxs(Q6,{"aria-label":r,value:o,min:s,max:a,step:c,onChange:ae,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),focusThumbOnChange:!1,isDisabled:k,...V,children:[h&&!_&&i.jsxs(i.Fragment,{children:[i.jsx(ql,{value:s,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...O,children:s}),i.jsx(ql,{value:a,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...O,children:a})]}),h&&_&&i.jsx(i.Fragment,{children:_.map((re,oe)=>oe===0?i.jsx(ql,{value:re,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...O,children:re},re):oe===_.length-1?i.jsx(ql,{value:re,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...O,children:re},re):i.jsx(ql,{value:re,sx:{transform:"translateX(-50%)"},...O,children:re},re))}),i.jsx(Z6,{...R,children:i.jsx(eP,{})}),i.jsx(vn,{hasArrow:!0,placement:"top",isOpen:t,label:`${o}${p}`,hidden:y,...Q,children:i.jsx(J6,{...M,zIndex:0})})]}),m&&i.jsxs(km,{min:$,max:Y,step:c,value:T,onChange:ie,onBlur:fe,focusInputOnChange:!1,...D,children:[i.jsx(Pm,{onKeyDown:U,onKeyUp:se,minWidth:b,...A}),i.jsxs(_m,{...L,children:[i.jsx(Im,{onClick:()=>d(Number(T))}),i.jsx(jm,{onClick:()=>d(Number(T))})]})]}),w&&i.jsx(ze,{size:"sm","aria-label":G("accessibility.reset"),tooltip:G("accessibility.reset"),icon:i.jsx(eZ,{}),isDisabled:k,onClick:X,...F})]})]})},_t=f.memo(tZ),QE=f.forwardRef(({label:e,tooltip:t,description:n,disabled:r,...o},s)=>i.jsx(vn,{label:t,placement:"top",hasArrow:!0,openDelay:500,children:i.jsx(Re,{ref:s,...o,children:i.jsxs(Re,{children:[i.jsx(_c,{children:e}),n&&i.jsx(_c,{size:"xs",color:"base.600",children:n})]})})}));QE.displayName="IAIMantineSelectItemWithTooltip";const Oi=f.memo(QE),nZ=be([lt],({gallery:e,system:t})=>{const{autoAddBoardId:n,autoAssignBoardOnClick:r}=e,{isProcessing:o}=t;return{autoAddBoardId:n,autoAssignBoardOnClick:r,isProcessing:o}},Je),rZ=()=>{const e=te(),{autoAddBoardId:t,autoAssignBoardOnClick:n,isProcessing:r}=B(nZ),o=f.useRef(null),{boards:s,hasBoards:a}=dm(void 0,{selectFromResult:({data:d})=>{const p=[{label:"None",value:"none"}];return d==null||d.forEach(({board_id:h,board_name:m})=>{p.push({label:m,value:h})}),{boards:p,hasBoards:p.length>1}}}),c=f.useCallback(d=>{d&&e(fm(d))},[e]);return i.jsx(ar,{label:"Auto-Add Board",inputRef:o,autoFocus:!0,placeholder:"Select a Board",value:t,data:s,nothingFound:"No matching Boards",itemComponent:Oi,disabled:!a||n||r,filter:(d,p)=>{var h;return((h=p.label)==null?void 0:h.toLowerCase().includes(d.toLowerCase().trim()))||p.value.toLowerCase().includes(d.toLowerCase().trim())},onChange:c})},oZ=e=>{const{label:t,...n}=e,{colorMode:r}=Ds();return i.jsx(n3,{colorScheme:"accent",...n,children:i.jsx(Qe,{sx:{fontSize:"sm",color:Fe("base.800","base.200")(r)},children:t})})},Gn=f.memo(oZ),sZ=be([lt],e=>{const{galleryImageMinimumWidth:t,shouldAutoSwitch:n,autoAssignBoardOnClick:r,shouldShowDeleteButton:o}=e.gallery;return{galleryImageMinimumWidth:t,shouldAutoSwitch:n,autoAssignBoardOnClick:r,shouldShowDeleteButton:o}},Je),aZ=()=>{const e=te(),{t}=ye(),{galleryImageMinimumWidth:n,shouldAutoSwitch:r,autoAssignBoardOnClick:o,shouldShowDeleteButton:s}=B(sZ),a=f.useCallback(h=>{e(Bp(h))},[e]),c=f.useCallback(()=>{e(Bp(64))},[e]),d=f.useCallback(h=>{e(i7(h.target.checked))},[e]),p=f.useCallback(h=>{e(l7(h.target.checked))},[e]);return i.jsx(xl,{triggerComponent:i.jsx(ze,{tooltip:t("gallery.gallerySettings"),"aria-label":t("gallery.gallerySettings"),size:"sm",icon:i.jsx(Cy,{})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(_t,{value:n,onChange:a,min:32,max:256,hideTooltip:!0,label:t("gallery.galleryImageSize"),withReset:!0,handleReset:c}),i.jsx(yr,{label:t("gallery.autoSwitchNewImages"),isChecked:r,onChange:d}),i.jsx(yr,{label:"Show Delete Button",isChecked:s,onChange:p}),i.jsx(Gn,{label:t("gallery.autoAssignBoardOnClick"),isChecked:o,onChange:h=>e(c7(h.target.checked))}),i.jsx(rZ,{})]})})},iZ=e=>e.image?i.jsx(Em,{sx:{w:`${e.image.width}px`,h:"auto",objectFit:"contain",aspectRatio:`${e.image.width}/${e.image.height}`}}):i.jsx(W,{sx:{opacity:.7,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",bg:"base.200",_dark:{bg:"base.900"}},children:i.jsx(hl,{size:"xl"})}),tl=e=>{const{icon:t=Oc,boxSize:n=16}=e;return i.jsxs(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",flexDir:"column",gap:2,userSelect:"none",opacity:.7,color:"base.700",_dark:{color:"base.500"},...e.sx},children:[i.jsx(fo,{as:t,boxSize:n,opacity:.7}),e.label&&i.jsx(Qe,{textAlign:"center",children:e.label})]})},Jm=0,Ri=1,Kc=2,JE=4;function lZ(e,t){return n=>e(t(n))}function cZ(e,t){return t(e)}function ZE(e,t){return n=>e(t,n)}function ck(e,t){return()=>e(t)}function Wy(e,t){return t(e),e}function wl(...e){return e}function uZ(e){e()}function uk(e){return()=>e}function dZ(...e){return()=>{e.map(uZ)}}function Zm(){}function ho(e,t){return e(Ri,t)}function Ar(e,t){e(Jm,t)}function Vy(e){e(Kc)}function eg(e){return e(JE)}function Un(e,t){return ho(e,ZE(t,Jm))}function dk(e,t){const n=e(Ri,r=>{n(),t(r)});return n}function Sr(){const e=[];return(t,n)=>{switch(t){case Kc:e.splice(0,e.length);return;case Ri:return e.push(n),()=>{const r=e.indexOf(n);r>-1&&e.splice(r,1)};case Jm:e.slice().forEach(r=>{r(n)});return;default:throw new Error(`unrecognized action ${t}`)}}}function Kt(e){let t=e;const n=Sr();return(r,o)=>{switch(r){case Ri:o(t);break;case Jm:t=o;break;case JE:return t}return n(r,o)}}function fZ(e){let t,n;const r=()=>t&&t();return function(o,s){switch(o){case Ri:return s?n===s?void 0:(r(),n=s,t=ho(e,s),t):(r(),Zm);case Kc:r(),n=null;return;default:throw new Error(`unrecognized action ${o}`)}}}function Gu(e){return Wy(Sr(),t=>Un(e,t))}function gc(e,t){return Wy(Kt(t),n=>Un(e,n))}function pZ(...e){return t=>e.reduceRight(cZ,t)}function Xt(e,...t){const n=pZ(...t);return(r,o)=>{switch(r){case Ri:return ho(e,n(o));case Kc:Vy(e);return}}}function eO(e,t){return e===t}function Co(e=eO){let t;return n=>r=>{e(t,r)||(t=r,n(r))}}function Kr(e){return t=>n=>{e(n)&&t(n)}}function nr(e){return t=>lZ(t,e)}function li(e){return t=>()=>t(e)}function Sp(e,t){return n=>r=>n(t=e(t,r))}function M1(e){return t=>n=>{e>0?e--:t(n)}}function Au(e){let t=null,n;return r=>o=>{t=o,!n&&(n=setTimeout(()=>{n=void 0,r(t)},e))}}function fk(e){let t,n;return r=>o=>{t=o,n&&clearTimeout(n),n=setTimeout(()=>{r(t)},e)}}function Xs(...e){const t=new Array(e.length);let n=0,r=null;const o=Math.pow(2,e.length)-1;return e.forEach((s,a)=>{const c=Math.pow(2,a);ho(s,d=>{const p=n;n=n|c,t[a]=d,p!==o&&n===o&&r&&(r(),r=null)})}),s=>a=>{const c=()=>s([a].concat(t));n===o?c():r=c}}function pk(...e){return function(t,n){switch(t){case Ri:return dZ(...e.map(r=>ho(r,n)));case Kc:return;default:throw new Error(`unrecognized action ${t}`)}}}function wn(e,t=eO){return Xt(e,Co(t))}function Ca(...e){const t=Sr(),n=new Array(e.length);let r=0;const o=Math.pow(2,e.length)-1;return e.forEach((s,a)=>{const c=Math.pow(2,a);ho(s,d=>{n[a]=d,r=r|c,r===o&&Ar(t,n)})}),function(s,a){switch(s){case Ri:return r===o&&a(n),ho(t,a);case Kc:return Vy(t);default:throw new Error(`unrecognized action ${s}`)}}}function ua(e,t=[],{singleton:n}={singleton:!0}){return{id:hZ(),constructor:e,dependencies:t,singleton:n}}const hZ=()=>Symbol();function mZ(e){const t=new Map,n=({id:r,constructor:o,dependencies:s,singleton:a})=>{if(a&&t.has(r))return t.get(r);const c=o(s.map(d=>n(d)));return a&&t.set(r,c),c};return n(e)}function gZ(e,t){const n={},r={};let o=0;const s=e.length;for(;o(S[k]=_=>{const P=y[t.methods[k]];Ar(P,_)},S),{})}function h(y){return a.reduce((S,k)=>(S[k]=fZ(y[t.events[k]]),S),{})}return{Component:H.forwardRef((y,S)=>{const{children:k,..._}=y,[P]=H.useState(()=>Wy(mZ(e),E=>d(E,_))),[I]=H.useState(ck(h,P));return Cp(()=>{for(const E of a)E in _&&ho(I[E],_[E]);return()=>{Object.values(I).map(Vy)}},[_,I,P]),Cp(()=>{d(P,_)}),H.useImperativeHandle(S,uk(p(P))),H.createElement(c.Provider,{value:P},n?H.createElement(n,gZ([...r,...o,...a],_),k):k)}),usePublisher:y=>H.useCallback(ZE(Ar,H.useContext(c)[y]),[y]),useEmitterValue:y=>{const k=H.useContext(c)[y],[_,P]=H.useState(ck(eg,k));return Cp(()=>ho(k,I=>{I!==_&&P(uk(I))}),[k,_]),_},useEmitter:(y,S)=>{const _=H.useContext(c)[y];Cp(()=>ho(_,S),[S,_])}}}const bZ=typeof document<"u"?H.useLayoutEffect:H.useEffect,yZ=bZ;var Uy=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e))(Uy||{});const xZ={0:"debug",1:"log",2:"warn",3:"error"},wZ=()=>typeof globalThis>"u"?window:globalThis,tO=ua(()=>{const e=Kt(3);return{log:Kt((n,r,o=1)=>{var s;const a=(s=wZ().VIRTUOSO_LOG_LEVEL)!=null?s:eg(e);o>=a&&console[xZ[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",n,r)}),logLevel:e}},[],{singleton:!0});function nO(e,t=!0){const n=H.useRef(null);let r=o=>{};if(typeof ResizeObserver<"u"){const o=H.useMemo(()=>new ResizeObserver(s=>{const a=s[0].target;a.offsetParent!==null&&e(a)}),[e]);r=s=>{s&&t?(o.observe(s),n.current=s):(n.current&&o.unobserve(n.current),n.current=null)}}return{ref:n,callbackRef:r}}function tg(e,t=!0){return nO(e,t).callbackRef}function em(e,t){return Math.round(e.getBoundingClientRect()[t])}function rO(e,t){return Math.abs(e-t)<1.01}function oO(e,t,n,r=Zm,o){const s=H.useRef(null),a=H.useRef(null),c=H.useRef(null),d=H.useCallback(m=>{const v=m.target,b=v===window||v===document,w=b?window.pageYOffset||document.documentElement.scrollTop:v.scrollTop,y=b?document.documentElement.scrollHeight:v.scrollHeight,S=b?window.innerHeight:v.offsetHeight,k=()=>{e({scrollTop:Math.max(w,0),scrollHeight:y,viewportHeight:S})};m.suppressFlushSync?k():u7.flushSync(k),a.current!==null&&(w===a.current||w<=0||w===y-S)&&(a.current=null,t(!0),c.current&&(clearTimeout(c.current),c.current=null))},[e,t]);H.useEffect(()=>{const m=o||s.current;return r(o||s.current),d({target:m,suppressFlushSync:!0}),m.addEventListener("scroll",d,{passive:!0}),()=>{r(null),m.removeEventListener("scroll",d)}},[s,d,n,r,o]);function p(m){const v=s.current;if(!v||"offsetHeight"in v&&v.offsetHeight===0)return;const b=m.behavior==="smooth";let w,y,S;v===window?(y=Math.max(em(document.documentElement,"height"),document.documentElement.scrollHeight),w=window.innerHeight,S=document.documentElement.scrollTop):(y=v.scrollHeight,w=em(v,"height"),S=v.scrollTop);const k=y-w;if(m.top=Math.ceil(Math.max(Math.min(k,m.top),0)),rO(w,y)||m.top===S){e({scrollTop:S,scrollHeight:y,viewportHeight:w}),b&&t(!0);return}b?(a.current=m.top,c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{c.current=null,a.current=null,t(!0)},1e3)):a.current=null,v.scrollTo(m)}function h(m){s.current.scrollBy(m)}return{scrollerRef:s,scrollByCallback:h,scrollToCallback:p}}const ng=ua(()=>{const e=Sr(),t=Sr(),n=Kt(0),r=Sr(),o=Kt(0),s=Sr(),a=Sr(),c=Kt(0),d=Kt(0),p=Kt(0),h=Kt(0),m=Sr(),v=Sr(),b=Kt(!1);return Un(Xt(e,nr(({scrollTop:w})=>w)),t),Un(Xt(e,nr(({scrollHeight:w})=>w)),a),Un(t,o),{scrollContainerState:e,scrollTop:t,viewportHeight:s,headerHeight:c,fixedHeaderHeight:d,fixedFooterHeight:p,footerHeight:h,scrollHeight:a,smoothScrollTargetReached:r,scrollTo:m,scrollBy:v,statefulScrollTop:o,deviation:n,scrollingInProgress:b}},[],{singleton:!0}),SZ=typeof document<"u"&&"scrollBehavior"in document.documentElement.style;function CZ(e){const t=typeof e=="number"?{index:e}:e;return t.align||(t.align="start"),(!t.behavior||!SZ)&&(t.behavior="auto"),t.offset||(t.offset=0),t}const tm="up",qu="down",kZ="none",_Z={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,scrollHeight:0}},PZ=0,sO=ua(([{scrollContainerState:e,scrollTop:t,viewportHeight:n,headerHeight:r,footerHeight:o,scrollBy:s}])=>{const a=Kt(!1),c=Kt(!0),d=Sr(),p=Sr(),h=Kt(4),m=Kt(PZ),v=gc(Xt(pk(Xt(wn(t),M1(1),li(!0)),Xt(wn(t),M1(1),li(!1),fk(100))),Co()),!1),b=gc(Xt(pk(Xt(s,li(!0)),Xt(s,li(!1),fk(200))),Co()),!1);Un(Xt(Ca(wn(t),wn(m)),nr(([_,P])=>_<=P),Co()),c),Un(Xt(c,Au(50)),p);const w=Gu(Xt(Ca(e,wn(n),wn(r),wn(o),wn(h)),Sp((_,[{scrollTop:P,scrollHeight:I},E,O,R,M])=>{const D=P+E-I>-M,A={viewportHeight:E,scrollTop:P,scrollHeight:I};if(D){let Q,F;return P>_.state.scrollTop?(Q="SCROLLED_DOWN",F=_.state.scrollTop-P):(Q="SIZE_DECREASED",F=_.state.scrollTop-P||_.scrollTopDelta),{atBottom:!0,state:A,atBottomBecause:Q,scrollTopDelta:F}}let L;return A.scrollHeight>_.state.scrollHeight?L="SIZE_INCREASED":E<_.state.viewportHeight?L="VIEWPORT_HEIGHT_DECREASING":P<_.state.scrollTop?L="SCROLLING_UPWARDS":L="NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",{atBottom:!1,notAtBottomBecause:L,state:A}},_Z),Co((_,P)=>_&&_.atBottom===P.atBottom))),y=gc(Xt(e,Sp((_,{scrollTop:P,scrollHeight:I,viewportHeight:E})=>{if(rO(_.scrollHeight,I))return{scrollTop:P,scrollHeight:I,jump:0,changed:!1};{const O=I-(P+E)<1;return _.scrollTop!==P&&O?{scrollHeight:I,scrollTop:P,jump:_.scrollTop-P,changed:!0}:{scrollHeight:I,scrollTop:P,jump:0,changed:!0}}},{scrollHeight:0,jump:0,scrollTop:0,changed:!1}),Kr(_=>_.changed),nr(_=>_.jump)),0);Un(Xt(w,nr(_=>_.atBottom)),a),Un(Xt(a,Au(50)),d);const S=Kt(qu);Un(Xt(e,nr(({scrollTop:_})=>_),Co(),Sp((_,P)=>eg(b)?{direction:_.direction,prevScrollTop:P}:{direction:P<_.prevScrollTop?tm:qu,prevScrollTop:P},{direction:qu,prevScrollTop:0}),nr(_=>_.direction)),S),Un(Xt(e,Au(50),li(kZ)),S);const k=Kt(0);return Un(Xt(v,Kr(_=>!_),li(0)),k),Un(Xt(t,Au(100),Xs(v),Kr(([_,P])=>!!P),Sp(([_,P],[I])=>[P,I],[0,0]),nr(([_,P])=>P-_)),k),{isScrolling:v,isAtTop:c,isAtBottom:a,atBottomState:w,atTopStateChange:p,atBottomStateChange:d,scrollDirection:S,atBottomThreshold:h,atTopThreshold:m,scrollVelocity:k,lastJumpDueToItemResize:y}},wl(ng)),jZ=ua(([{log:e}])=>{const t=Kt(!1),n=Gu(Xt(t,Kr(r=>r),Co()));return ho(t,r=>{r&&eg(e)("props updated",{},Uy.DEBUG)}),{propsReady:t,didMount:n}},wl(tO),{singleton:!0});function aO(e,t){e==0?t():requestAnimationFrame(()=>aO(e-1,t))}function IZ(e,t){const n=t-1;return typeof e=="number"?e:e.index==="LAST"?n:e.index}function D1(e,t){return!!(e&&e[0]===t[0]&&e[1]===t[1])}function EZ(e,t){return!!(e&&e.startIndex===t.startIndex&&e.endIndex===t.endIndex)}const nm="top",rm="bottom",hk="none";function mk(e,t,n){return typeof e=="number"?n===tm&&t===nm||n===qu&&t===rm?e:0:n===tm?t===nm?e.main:e.reverse:t===rm?e.main:e.reverse}function gk(e,t){return typeof e=="number"?e:e[t]||0}const OZ=ua(([{scrollTop:e,viewportHeight:t,deviation:n,headerHeight:r,fixedHeaderHeight:o}])=>{const s=Sr(),a=Kt(0),c=Kt(0),d=Kt(0),p=gc(Xt(Ca(wn(e),wn(t),wn(r),wn(s,D1),wn(d),wn(a),wn(o),wn(n),wn(c)),nr(([h,m,v,[b,w],y,S,k,_,P])=>{const I=h-_,E=S+k,O=Math.max(v-I,0);let R=hk;const M=gk(P,nm),D=gk(P,rm);return b-=_,b+=v+k,w+=v+k,w-=_,b>h+E-M&&(R=tm),wh!=null),Co(D1)),[0,0]);return{listBoundary:s,overscan:d,topListHeight:a,increaseViewportBy:c,visibleRange:p}},wl(ng),{singleton:!0}),RZ=ua(([{scrollVelocity:e}])=>{const t=Kt(!1),n=Sr(),r=Kt(!1);return Un(Xt(e,Xs(r,t,n),Kr(([o,s])=>!!s),nr(([o,s,a,c])=>{const{exit:d,enter:p}=s;if(a){if(d(o,c))return!1}else if(p(o,c))return!0;return a}),Co()),t),ho(Xt(Ca(t,e,n),Xs(r)),([[o,s,a],c])=>o&&c&&c.change&&c.change(s,a)),{isSeeking:t,scrollSeekConfiguration:r,scrollVelocity:e,scrollSeekRangeChanged:n}},wl(sO),{singleton:!0});function MZ(e){let t=!1,n;return()=>(t||(t=!0,n=e()),n)}const DZ=ua(([{scrollTo:e,scrollContainerState:t}])=>{const n=Sr(),r=Sr(),o=Sr(),s=Kt(!1),a=Kt(void 0);return Un(Xt(Ca(n,r),nr(([{viewportHeight:c,scrollTop:d,scrollHeight:p},{offsetTop:h}])=>({scrollTop:Math.max(0,d-h),scrollHeight:p,viewportHeight:c}))),t),Un(Xt(e,Xs(r),nr(([c,{offsetTop:d}])=>({...c,top:c.top+d}))),o),{useWindowScroll:s,customScrollParent:a,windowScrollContainerState:n,windowViewportRect:r,windowScrollTo:o}},wl(ng)),dv="-webkit-sticky",vk="sticky",iO=MZ(()=>{if(typeof document>"u")return vk;const e=document.createElement("div");return e.style.position=dv,e.style.position===dv?dv:vk});function AZ(e,t){const n=H.useRef(null),r=H.useCallback(c=>{if(c===null||!c.offsetParent)return;const d=c.getBoundingClientRect(),p=d.width;let h,m;if(t){const v=t.getBoundingClientRect(),b=d.top-v.top;h=v.height-Math.max(0,b),m=b+t.scrollTop}else h=window.innerHeight-Math.max(0,d.top),m=d.top+window.pageYOffset;n.current={offsetTop:m,visibleHeight:h,visibleWidth:p},e(n.current)},[e,t]),{callbackRef:o,ref:s}=nO(r),a=H.useCallback(()=>{r(s.current)},[r,s]);return H.useEffect(()=>{if(t){t.addEventListener("scroll",a);const c=new ResizeObserver(a);return c.observe(t),()=>{t.removeEventListener("scroll",a),c.unobserve(t)}}else return window.addEventListener("scroll",a),window.addEventListener("resize",a),()=>{window.removeEventListener("scroll",a),window.removeEventListener("resize",a)}},[a,t]),o}H.createContext(void 0);const lO=H.createContext(void 0);function TZ(e){return e}iO();const NZ={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},cO={width:"100%",height:"100%",position:"absolute",top:0};iO();function nl(e,t){if(typeof e!="string")return{context:t}}function $Z({usePublisher:e,useEmitter:t,useEmitterValue:n}){return H.memo(function({style:s,children:a,...c}){const d=e("scrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),m=n("scrollerRef"),v=n("context"),{scrollerRef:b,scrollByCallback:w,scrollToCallback:y}=oO(d,h,p,m);return t("scrollTo",y),t("scrollBy",w),H.createElement(p,{ref:b,style:{...NZ,...s},"data-test-id":"virtuoso-scroller","data-virtuoso-scroller":!0,tabIndex:0,...c,...nl(p,v)},a)})}function LZ({usePublisher:e,useEmitter:t,useEmitterValue:n}){return H.memo(function({style:s,children:a,...c}){const d=e("windowScrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),m=n("totalListHeight"),v=n("deviation"),b=n("customScrollParent"),w=n("context"),{scrollerRef:y,scrollByCallback:S,scrollToCallback:k}=oO(d,h,p,Zm,b);return yZ(()=>(y.current=b||window,()=>{y.current=null}),[y,b]),t("windowScrollTo",k),t("scrollBy",S),H.createElement(p,{style:{position:"relative",...s,...m!==0?{height:m+v}:{}},"data-virtuoso-scroller":!0,...c,...nl(p,w)},a)})}const bk={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},zZ={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},{round:yk,ceil:xk,floor:om,min:fv,max:Ku}=Math;function BZ(e){return{...zZ,items:e}}function wk(e,t,n){return Array.from({length:t-e+1}).map((r,o)=>{const s=n===null?null:n[o+e];return{index:o+e,data:s}})}function FZ(e,t){return e&&e.column===t.column&&e.row===t.row}function kp(e,t){return e&&e.width===t.width&&e.height===t.height}const HZ=ua(([{overscan:e,visibleRange:t,listBoundary:n},{scrollTop:r,viewportHeight:o,scrollBy:s,scrollTo:a,smoothScrollTargetReached:c,scrollContainerState:d,footerHeight:p,headerHeight:h},m,v,{propsReady:b,didMount:w},{windowViewportRect:y,useWindowScroll:S,customScrollParent:k,windowScrollContainerState:_,windowScrollTo:P},I])=>{const E=Kt(0),O=Kt(0),R=Kt(bk),M=Kt({height:0,width:0}),D=Kt({height:0,width:0}),A=Sr(),L=Sr(),Q=Kt(0),F=Kt(null),V=Kt({row:0,column:0}),q=Sr(),G=Sr(),T=Kt(!1),z=Kt(0),$=Kt(!0),Y=Kt(!1);ho(Xt(w,Xs(z),Kr(([U,se])=>!!se)),()=>{Ar($,!1),Ar(O,0)}),ho(Xt(Ca(w,$,D,M,z,Y),Kr(([U,se,re,oe,,pe])=>U&&!se&&re.height!==0&&oe.height!==0&&!pe)),([,,,,U])=>{Ar(Y,!0),aO(1,()=>{Ar(A,U)}),dk(Xt(r),()=>{Ar(n,[0,0]),Ar($,!0)})}),Un(Xt(G,Kr(U=>U!=null&&U.scrollTop>0),li(0)),O),ho(Xt(w,Xs(G),Kr(([,U])=>U!=null)),([,U])=>{U&&(Ar(M,U.viewport),Ar(D,U==null?void 0:U.item),Ar(V,U.gap),U.scrollTop>0&&(Ar(T,!0),dk(Xt(r,M1(1)),se=>{Ar(T,!1)}),Ar(a,{top:U.scrollTop})))}),Un(Xt(M,nr(({height:U})=>U)),o),Un(Xt(Ca(wn(M,kp),wn(D,kp),wn(V,(U,se)=>U&&U.column===se.column&&U.row===se.row),wn(r)),nr(([U,se,re,oe])=>({viewport:U,item:se,gap:re,scrollTop:oe}))),q),Un(Xt(Ca(wn(E),t,wn(V,FZ),wn(D,kp),wn(M,kp),wn(F),wn(O),wn(T),wn($),wn(z)),Kr(([,,,,,,,U])=>!U),nr(([U,[se,re],oe,pe,le,ge,ke,,xe,de])=>{const{row:Te,column:Ee}=oe,{height:$e,width:kt}=pe,{width:ct}=le;if(ke===0&&(U===0||ct===0))return bk;if(kt===0){const $t=IZ(de,U),Lt=$t===0?Math.max(ke-1,0):$t;return BZ(wk($t,Lt,ge))}const on=uO(ct,kt,Ee);let vt,bt;xe?se===0&&re===0&&ke>0?(vt=0,bt=ke-1):(vt=on*om((se+Te)/($e+Te)),bt=on*xk((re+Te)/($e+Te))-1,bt=fv(U-1,Ku(bt,on-1)),vt=fv(bt,Ku(0,vt))):(vt=0,bt=-1);const Se=wk(vt,bt,ge),{top:Me,bottom:Pt}=Sk(le,oe,pe,Se),Tt=xk(U/on),ht=Tt*$e+(Tt-1)*Te-Pt;return{items:Se,offsetTop:Me,offsetBottom:ht,top:Me,bottom:Pt,itemHeight:$e,itemWidth:kt}})),R),Un(Xt(F,Kr(U=>U!==null),nr(U=>U.length)),E),Un(Xt(Ca(M,D,R,V),Kr(([U,se,{items:re}])=>re.length>0&&se.height!==0&&U.height!==0),nr(([U,se,{items:re},oe])=>{const{top:pe,bottom:le}=Sk(U,oe,se,re);return[pe,le]}),Co(D1)),n);const ae=Kt(!1);Un(Xt(r,Xs(ae),nr(([U,se])=>se||U!==0)),ae);const fe=Gu(Xt(wn(R),Kr(({items:U})=>U.length>0),Xs(E,ae),Kr(([{items:U},se,re])=>re&&U[U.length-1].index===se-1),nr(([,U])=>U-1),Co())),ie=Gu(Xt(wn(R),Kr(({items:U})=>U.length>0&&U[0].index===0),li(0),Co())),X=Gu(Xt(wn(R),Xs(T),Kr(([{items:U},se])=>U.length>0&&!se),nr(([{items:U}])=>({startIndex:U[0].index,endIndex:U[U.length-1].index})),Co(EZ),Au(0)));Un(X,v.scrollSeekRangeChanged),Un(Xt(A,Xs(M,D,E,V),nr(([U,se,re,oe,pe])=>{const le=CZ(U),{align:ge,behavior:ke,offset:xe}=le;let de=le.index;de==="LAST"&&(de=oe-1),de=Ku(0,de,fv(oe-1,de));let Te=A1(se,pe,re,de);return ge==="end"?Te=yk(Te-se.height+re.height):ge==="center"&&(Te=yk(Te-se.height/2+re.height/2)),xe&&(Te+=xe),{top:Te,behavior:ke}})),a);const K=gc(Xt(R,nr(U=>U.offsetBottom+U.bottom)),0);return Un(Xt(y,nr(U=>({width:U.visibleWidth,height:U.visibleHeight}))),M),{data:F,totalCount:E,viewportDimensions:M,itemDimensions:D,scrollTop:r,scrollHeight:L,overscan:e,scrollBy:s,scrollTo:a,scrollToIndex:A,smoothScrollTargetReached:c,windowViewportRect:y,windowScrollTo:P,useWindowScroll:S,customScrollParent:k,windowScrollContainerState:_,deviation:Q,scrollContainerState:d,footerHeight:p,headerHeight:h,initialItemCount:O,gap:V,restoreStateFrom:G,...v,initialTopMostItemIndex:z,gridState:R,totalListHeight:K,...m,startReached:ie,endReached:fe,rangeChanged:X,stateChanged:q,propsReady:b,stateRestoreInProgress:T,...I}},wl(OZ,ng,sO,RZ,jZ,DZ,tO));function Sk(e,t,n,r){const{height:o}=n;if(o===void 0||r.length===0)return{top:0,bottom:0};const s=A1(e,t,n,r[0].index),a=A1(e,t,n,r[r.length-1].index)+o;return{top:s,bottom:a}}function A1(e,t,n,r){const o=uO(e.width,n.width,t.column),s=om(r/o),a=s*n.height+Ku(0,s-1)*t.row;return a>0?a+t.row:a}function uO(e,t,n){return Ku(1,om((e+n)/(om(t)+n)))}const WZ=ua(()=>{const e=Kt(p=>`Item ${p}`),t=Kt({}),n=Kt(null),r=Kt("virtuoso-grid-item"),o=Kt("virtuoso-grid-list"),s=Kt(TZ),a=Kt("div"),c=Kt(Zm),d=(p,h=null)=>gc(Xt(t,nr(m=>m[p]),Co()),h);return{context:n,itemContent:e,components:t,computeItemKey:s,itemClassName:r,listClassName:o,headerFooterTag:a,scrollerRef:c,FooterComponent:d("Footer"),HeaderComponent:d("Header"),ListComponent:d("List","div"),ItemComponent:d("Item","div"),ScrollerComponent:d("Scroller","div"),ScrollSeekPlaceholder:d("ScrollSeekPlaceholder","div")}}),VZ=ua(([e,t])=>({...e,...t}),wl(HZ,WZ)),UZ=H.memo(function(){const t=pr("gridState"),n=pr("listClassName"),r=pr("itemClassName"),o=pr("itemContent"),s=pr("computeItemKey"),a=pr("isSeeking"),c=js("scrollHeight"),d=pr("ItemComponent"),p=pr("ListComponent"),h=pr("ScrollSeekPlaceholder"),m=pr("context"),v=js("itemDimensions"),b=js("gap"),w=pr("log"),y=pr("stateRestoreInProgress"),S=tg(k=>{const _=k.parentElement.parentElement.scrollHeight;c(_);const P=k.firstChild;if(P){const{width:I,height:E}=P.getBoundingClientRect();v({width:I,height:E})}b({row:Ck("row-gap",getComputedStyle(k).rowGap,w),column:Ck("column-gap",getComputedStyle(k).columnGap,w)})});return y?null:H.createElement(p,{ref:S,className:n,...nl(p,m),style:{paddingTop:t.offsetTop,paddingBottom:t.offsetBottom},"data-test-id":"virtuoso-item-list"},t.items.map(k=>{const _=s(k.index,k.data,m);return a?H.createElement(h,{key:_,...nl(h,m),index:k.index,height:t.itemHeight,width:t.itemWidth}):H.createElement(d,{...nl(d,m),className:r,"data-index":k.index,key:_},o(k.index,k.data,m))}))}),GZ=H.memo(function(){const t=pr("HeaderComponent"),n=js("headerHeight"),r=pr("headerFooterTag"),o=tg(a=>n(em(a,"height"))),s=pr("context");return t?H.createElement(r,{ref:o},H.createElement(t,nl(t,s))):null}),qZ=H.memo(function(){const t=pr("FooterComponent"),n=js("footerHeight"),r=pr("headerFooterTag"),o=tg(a=>n(em(a,"height"))),s=pr("context");return t?H.createElement(r,{ref:o},H.createElement(t,nl(t,s))):null}),KZ=({children:e})=>{const t=H.useContext(lO),n=js("itemDimensions"),r=js("viewportDimensions"),o=tg(s=>{r(s.getBoundingClientRect())});return H.useEffect(()=>{t&&(r({height:t.viewportHeight,width:t.viewportWidth}),n({height:t.itemHeight,width:t.itemWidth}))},[t,r,n]),H.createElement("div",{style:cO,ref:o},e)},XZ=({children:e})=>{const t=H.useContext(lO),n=js("windowViewportRect"),r=js("itemDimensions"),o=pr("customScrollParent"),s=AZ(n,o);return H.useEffect(()=>{t&&(r({height:t.itemHeight,width:t.itemWidth}),n({offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:t.viewportWidth}))},[t,n,r]),H.createElement("div",{ref:s,style:cO},e)},YZ=H.memo(function({...t}){const n=pr("useWindowScroll"),r=pr("customScrollParent"),o=r||n?ZZ:JZ,s=r||n?XZ:KZ;return H.createElement(o,{...t},H.createElement(s,null,H.createElement(GZ,null),H.createElement(UZ,null),H.createElement(qZ,null)))}),{Component:QZ,usePublisher:js,useEmitterValue:pr,useEmitter:dO}=vZ(VZ,{optional:{context:"context",totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",data:"data",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",restoreStateFrom:"restoreStateFrom",initialTopMostItemIndex:"initialTopMostItemIndex"},methods:{scrollTo:"scrollTo",scrollBy:"scrollBy",scrollToIndex:"scrollToIndex"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",stateChanged:"stateChanged"}},YZ),JZ=$Z({usePublisher:js,useEmitterValue:pr,useEmitter:dO}),ZZ=LZ({usePublisher:js,useEmitterValue:pr,useEmitter:dO});function Ck(e,t,n){return t!=="normal"&&!(t!=null&&t.endsWith("px"))&&n(`${e} was not resolved to pixel value correctly`,t,Uy.WARN),t==="normal"?0:parseInt(t??"0",10)}const eee=QZ,tee=e=>{const t=B(s=>s.gallery.galleryView),{data:n}=H_(e),{data:r}=W_(e),o=f.useMemo(()=>t==="images"?n:r,[t,r,n]);return{totalImages:n,totalAssets:r,currentViewTotal:o}},nee=({imageDTO:e})=>i.jsx(W,{sx:{pointerEvents:"none",flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,p:2,alignItems:"flex-start",gap:2},children:i.jsxs(gl,{variant:"solid",colorScheme:"base",children:[e.width," × ",e.height]})}),rg=({postUploadAction:e,isDisabled:t})=>{const n=B(d=>d.gallery.autoAddBoardId),[r]=$_(),o=f.useCallback(d=>{const p=d[0];p&&r({file:p,image_category:"user",is_intermediate:!1,postUploadAction:e??{type:"TOAST"},board_id:n==="none"?void 0:n})},[n,e,r]),{getRootProps:s,getInputProps:a,open:c}=ny({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},onDropAccepted:o,disabled:t,noDrag:!0,multiple:!1});return{getUploadButtonProps:s,getUploadInputProps:a,openUploader:c}},Gy=()=>{const e=te(),t=Vc(),{t:n}=ye(),r=f.useCallback(()=>{t({title:n("toast.parameterSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),o=f.useCallback(()=>{t({title:n("toast.parameterNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),s=f.useCallback(()=>{t({title:n("toast.parametersSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),a=f.useCallback(()=>{t({title:n("toast.parametersNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),c=f.useCallback((O,R,M,D)=>{if(Lf(O)||zf(R)||pu(M)||v0(D)){Lf(O)&&e(Lu(O)),zf(R)&&e(zu(R)),pu(M)&&e(Bu(M)),pu(D)&&e(Fu(D)),r();return}o()},[e,r,o]),d=f.useCallback(O=>{if(!Lf(O)){o();return}e(Lu(O)),r()},[e,r,o]),p=f.useCallback(O=>{if(!zf(O)){o();return}e(zu(O)),r()},[e,r,o]),h=f.useCallback(O=>{if(!pu(O)){o();return}e(Bu(O)),r()},[e,r,o]),m=f.useCallback(O=>{if(!v0(O)){o();return}e(Fu(O)),r()},[e,r,o]),v=f.useCallback(O=>{if(!Q2(O)){o();return}e(Fp(O)),r()},[e,r,o]),b=f.useCallback(O=>{if(!b0(O)){o();return}e(Hp(O)),r()},[e,r,o]),w=f.useCallback(O=>{if(!J2(O)){o();return}e(Iv(O)),r()},[e,r,o]),y=f.useCallback(O=>{if(!y0(O)){o();return}e(Ev(O)),r()},[e,r,o]),S=f.useCallback(O=>{if(!x0(O)){o();return}e(Wp(O)),r()},[e,r,o]),k=f.useCallback(O=>{if(!Z2(O)){o();return}e(vc(O)),r()},[e,r,o]),_=f.useCallback(O=>{if(!ew(O)){o();return}e(bc(O)),r()},[e,r,o]),P=f.useCallback(O=>{if(!tw(O)){o();return}e(Vp(O)),r()},[e,r,o]),I=f.useCallback(O=>{e(tb(O))},[e]),E=f.useCallback(O=>{if(!O){a();return}const{cfg_scale:R,height:M,model:D,positive_prompt:A,negative_prompt:L,scheduler:Q,seed:F,steps:V,width:q,strength:G,positive_style_prompt:T,negative_style_prompt:z,refiner_model:$,refiner_cfg_scale:Y,refiner_steps:ae,refiner_scheduler:fe,refiner_aesthetic_store:ie,refiner_start:X}=O;b0(R)&&e(Hp(R)),J2(D)&&e(Iv(D)),Lf(A)&&e(Lu(A)),zf(L)&&e(zu(L)),y0(Q)&&e(Ev(Q)),Q2(F)&&e(Fp(F)),x0(V)&&e(Wp(V)),Z2(q)&&e(vc(q)),ew(M)&&e(bc(M)),tw(G)&&e(Vp(G)),pu(T)&&e(Bu(T)),v0(z)&&e(Fu(z)),d7($)&&e(q_($)),x0(ae)&&e(Ov(ae)),b0(Y)&&e(Rv(Y)),y0(fe)&&e(K_(fe)),f7(ie)&&e(Mv(ie)),p7(X)&&e(Dv(X)),s()},[a,s,e]);return{recallBothPrompts:c,recallPositivePrompt:d,recallNegativePrompt:p,recallSDXLPositiveStylePrompt:h,recallSDXLNegativeStylePrompt:m,recallSeed:v,recallCfgScale:b,recallModel:w,recallScheduler:y,recallSteps:S,recallWidth:k,recallHeight:_,recallStrength:P,recallAllParameters:E,sendToImageToImage:I}},ir=e=>{const t=B(a=>a.config.disabledTabs),n=B(a=>a.config.disabledFeatures),r=B(a=>a.config.disabledSDFeatures),o=f.useMemo(()=>n.includes(e)||r.includes(e)||t.includes(e),[n,r,t,e]),s=f.useMemo(()=>!(n.includes(e)||r.includes(e)||t.includes(e)),[n,r,t,e]);return{isFeatureDisabled:o,isFeatureEnabled:s}},qy=()=>{const e=Vc(),{t}=ye(),n=f.useMemo(()=>!!navigator.clipboard&&!!window.ClipboardItem,[]),r=f.useCallback(async o=>{n||e({title:t("toast.problemCopyingImage"),description:"Your browser doesn't support the Clipboard API.",status:"error",duration:2500,isClosable:!0});try{const a=await(await fetch(o)).blob();await navigator.clipboard.write([new ClipboardItem({[a.type]:a})]),e({title:t("toast.imageCopied"),status:"success",duration:2500,isClosable:!0})}catch(s){e({title:t("toast.problemCopyingImage"),description:String(s),status:"error",duration:2500,isClosable:!0})}},[n,t,e]);return{isClipboardAPIAvailable:n,copyImageToClipboard:r}};function ree(e,t,n){var r=this,o=f.useRef(null),s=f.useRef(0),a=f.useRef(null),c=f.useRef([]),d=f.useRef(),p=f.useRef(),h=f.useRef(e),m=f.useRef(!0);f.useEffect(function(){h.current=e},[e]);var v=!t&&t!==0&&typeof window<"u";if(typeof e!="function")throw new TypeError("Expected a function");t=+t||0;var b=!!(n=n||{}).leading,w=!("trailing"in n)||!!n.trailing,y="maxWait"in n,S=y?Math.max(+n.maxWait||0,t):null;f.useEffect(function(){return m.current=!0,function(){m.current=!1}},[]);var k=f.useMemo(function(){var _=function(M){var D=c.current,A=d.current;return c.current=d.current=null,s.current=M,p.current=h.current.apply(A,D)},P=function(M,D){v&&cancelAnimationFrame(a.current),a.current=v?requestAnimationFrame(M):setTimeout(M,D)},I=function(M){if(!m.current)return!1;var D=M-o.current;return!o.current||D>=t||D<0||y&&M-s.current>=S},E=function(M){return a.current=null,w&&c.current?_(M):(c.current=d.current=null,p.current)},O=function M(){var D=Date.now();if(I(D))return E(D);if(m.current){var A=t-(D-o.current),L=y?Math.min(A,S-(D-s.current)):A;P(M,L)}},R=function(){var M=Date.now(),D=I(M);if(c.current=[].slice.call(arguments),d.current=r,o.current=M,D){if(!a.current&&m.current)return s.current=o.current,P(O,t),b?_(o.current):p.current;if(y)return P(O,t),_(o.current)}return a.current||P(O,t),p.current};return R.cancel=function(){a.current&&(v?cancelAnimationFrame(a.current):clearTimeout(a.current)),s.current=0,c.current=o.current=d.current=a.current=null},R.isPending=function(){return!!a.current},R.flush=function(){return a.current?E(Date.now()):p.current},R},[b,y,t,S,w,v]);return k}function oee(e,t){return e===t}function kk(e){return typeof e=="function"?function(){return e}:e}function Ky(e,t,n){var r,o,s=n&&n.equalityFn||oee,a=(r=f.useState(kk(e)),o=r[1],[r[0],f.useCallback(function(m){return o(kk(m))},[])]),c=a[0],d=a[1],p=ree(f.useCallback(function(m){return d(m)},[d]),t,n),h=f.useRef(e);return s(h.current,e)||(p(e),h.current=e),[c,p]}nb("gallery/requestedBoardImagesDeletion");const see=nb("gallery/sentImageToCanvas"),fO=nb("gallery/sentImageToImg2Img"),aee=e=>{const{imageDTO:t}=e,n=te(),{t:r}=ye(),o=Vc(),s=ir("unifiedCanvas").isFeatureEnabled,[a,c]=Ky(t.image_name,500),{currentData:d}=rb(c.isPending()?ro.skipToken:a??ro.skipToken),{isClipboardAPIAvailable:p,copyImageToClipboard:h}=qy(),m=d==null?void 0:d.metadata,v=f.useCallback(()=>{t&&n(pm([t]))},[n,t]),{recallBothPrompts:b,recallSeed:w,recallAllParameters:y}=Gy(),S=f.useCallback(()=>{b(m==null?void 0:m.positive_prompt,m==null?void 0:m.negative_prompt,m==null?void 0:m.positive_style_prompt,m==null?void 0:m.negative_style_prompt)},[m==null?void 0:m.negative_prompt,m==null?void 0:m.positive_prompt,m==null?void 0:m.positive_style_prompt,m==null?void 0:m.negative_style_prompt,b]),k=f.useCallback(()=>{w(m==null?void 0:m.seed)},[m==null?void 0:m.seed,w]),_=f.useCallback(()=>{n(fO()),n(tb(t))},[n,t]),P=f.useCallback(()=>{n(see()),n(h7(t)),n(hm()),n(Yl("unifiedCanvas")),o({title:r("toast.sentToUnifiedCanvas"),status:"success",duration:2500,isClosable:!0})},[n,t,r,o]),I=f.useCallback(()=>{console.log(m),y(m)},[m,y]),E=f.useCallback(()=>{n(X_([t])),n(J1(!0))},[n,t]),O=f.useCallback(()=>{h(t.image_url)},[h,t.image_url]);return i.jsxs(i.Fragment,{children:[i.jsx(jr,{as:"a",href:t.image_url,target:"_blank",icon:i.jsx(BY,{}),children:r("common.openInNewTab")}),p&&i.jsx(jr,{icon:i.jsx(qc,{}),onClickCapture:O,children:r("parameters.copyImage")}),i.jsx(jr,{as:"a",download:!0,href:t.image_url,target:"_blank",icon:i.jsx(xy,{}),w:"100%",children:r("parameters.downloadImage")}),i.jsx(jr,{icon:i.jsx(iE,{}),onClickCapture:S,isDisabled:(m==null?void 0:m.positive_prompt)===void 0&&(m==null?void 0:m.negative_prompt)===void 0,children:r("parameters.usePrompt")}),i.jsx(jr,{icon:i.jsx(lE,{}),onClickCapture:k,isDisabled:(m==null?void 0:m.seed)===void 0,children:r("parameters.useSeed")}),i.jsx(jr,{icon:i.jsx(YI,{}),onClickCapture:I,isDisabled:!m,children:r("parameters.useAll")}),i.jsx(jr,{icon:i.jsx(T4,{}),onClickCapture:_,id:"send-to-img2img",children:r("parameters.sendToImg2Img")}),s&&i.jsx(jr,{icon:i.jsx(T4,{}),onClickCapture:P,id:"send-to-canvas",children:r("parameters.sendToUnifiedCanvas")}),i.jsx(jr,{icon:i.jsx(nE,{}),onClickCapture:E,children:"Change Board"}),i.jsx(jr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(Eo,{}),onClickCapture:v,children:r("gallery.deleteImage")})]})},pO=f.memo(aee),iee=()=>{const e=te(),t=B(o=>o.gallery.selection),n=f.useCallback(()=>{e(X_(t)),e(J1(!0))},[e,t]),r=f.useCallback(()=>{e(pm(t))},[e,t]);return i.jsxs(i.Fragment,{children:[i.jsx(jr,{icon:i.jsx(nE,{}),onClickCapture:n,children:"Change Board"}),i.jsx(jr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(Eo,{}),onClickCapture:r,children:"Delete Selection"})]})},lee=be([lt],({gallery:e})=>({selectionCount:e.selection.length}),Je),cee=({imageDTO:e,children:t})=>{const{selectionCount:n}=B(lee),r=f.useCallback(o=>{o.preventDefault()},[]);return i.jsx(GE,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>e?n>1?i.jsx(il,{sx:{visibility:"visible !important"},motionProps:ed,onContextMenu:r,children:i.jsx(iee,{})}):i.jsx(il,{sx:{visibility:"visible !important"},motionProps:ed,onContextMenu:r,children:i.jsx(pO,{imageDTO:e})}):null,children:t})},uee=f.memo(cee),dee=e=>{const{data:t,disabled:n,onClick:r}=e,o=f.useRef(fi()),{attributes:s,listeners:a,setNodeRef:c}=m7({id:o.current,disabled:n,data:t});return i.jsx(Re,{onClick:r,ref:c,position:"absolute",w:"full",h:"full",top:0,insetInlineStart:0,...s,...a})},fee=f.memo(dee),pee=e=>{const{imageDTO:t,onClickReset:n,onError:r,onClick:o,withResetIcon:s=!1,withMetadataOverlay:a=!1,isDropDisabled:c=!1,isDragDisabled:d=!1,isUploadDisabled:p=!1,minSize:h=24,postUploadAction:m,imageSx:v,fitContainer:b=!1,droppableData:w,draggableData:y,dropLabel:S,isSelected:k=!1,thumbnail:_=!1,resetTooltip:P="Reset",resetIcon:I=i.jsx(Sy,{}),noContentFallback:E=i.jsx(tl,{icon:Oc}),useThumbailFallback:O,withHoverOverlay:R=!1}=e,{colorMode:M}=Ds(),[D,A]=f.useState(!1),L=f.useCallback(()=>{A(!0)},[]),Q=f.useCallback(()=>{A(!1)},[]),{getUploadButtonProps:F,getUploadInputProps:V}=rg({postUploadAction:m,isDisabled:p}),q=jp("drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-600))","drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-800))"),G=p?{}:{cursor:"pointer",bg:Fe("base.200","base.800")(M),_hover:{bg:Fe("base.300","base.650")(M),color:Fe("base.500","base.300")(M)}};return i.jsx(uee,{imageDTO:t,children:T=>i.jsxs(W,{ref:T,onMouseOver:L,onMouseOut:Q,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative",minW:h||void 0,minH:h||void 0,userSelect:"none",cursor:d||!t?"default":"pointer"},children:[t&&i.jsxs(W,{sx:{w:"full",h:"full",position:b?"absolute":"relative",alignItems:"center",justifyContent:"center"},children:[i.jsx(Lc,{src:_?t.thumbnail_url:t.image_url,fallbackStrategy:"beforeLoadOrError",fallbackSrc:O?t.thumbnail_url:void 0,fallback:O?void 0:i.jsx(iZ,{image:t}),width:t.width,height:t.height,onError:r,draggable:!1,sx:{objectFit:"contain",maxW:"full",maxH:"full",borderRadius:"base",...v}}),a&&i.jsx(nee,{imageDTO:t}),i.jsx(Fy,{isSelected:k,isHovered:R?D:!1})]}),!t&&!p&&i.jsx(i.Fragment,{children:i.jsxs(W,{sx:{minH:h,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",transitionProperty:"common",transitionDuration:"0.1s",color:Fe("base.500","base.500")(M),...G},...F(),children:[i.jsx("input",{...V()}),i.jsx(fo,{as:Vd,sx:{boxSize:16}})]})}),!t&&p&&E,t&&!d&&i.jsx(fee,{data:y,disabled:d||!t,onClick:o}),!c&&i.jsx(By,{data:w,disabled:c,dropLabel:S}),n&&s&&t&&i.jsx(ze,{onClick:n,"aria-label":P,tooltip:P,icon:I,size:"sm",variant:"link",sx:{position:"absolute",top:1,insetInlineEnd:1,p:0,minW:0,svg:{transitionProperty:"common",transitionDuration:"normal",fill:"base.100",_hover:{fill:"base.50"},filter:q}}})]})})},fl=f.memo(pee),hee=()=>i.jsx(Em,{sx:{position:"relative",height:"full",width:"full","::before":{content:"''",display:"block",pt:"100%"}},children:i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineStart:0,height:"full",width:"full"}})}),mee=be([lt,ob],({gallery:e},t)=>{const n=e.selection;return{queryArgs:t,selection:n}},Je),gee=e=>{const t=te(),{queryArgs:n,selection:r}=B(mee),{imageDTOs:o}=Y_(n,{selectFromResult:p=>({imageDTOs:p.data?g7.selectAll(p.data):[]})}),s=ir("multiselect").isFeatureEnabled,a=f.useCallback(p=>{var h;if(e){if(!s){t(hu([e]));return}if(p.shiftKey){const m=e.image_name,v=(h=r[r.length-1])==null?void 0:h.image_name,b=o.findIndex(y=>y.image_name===v),w=o.findIndex(y=>y.image_name===m);if(b>-1&&w>-1){const y=Math.min(b,w),S=Math.max(b,w),k=o.slice(y,S+1);t(hu(Ow(r.concat(k))))}}else p.ctrlKey||p.metaKey?r.some(m=>m.image_name===e.image_name)&&r.length>1?t(hu(r.filter(m=>m.image_name!==e.image_name))):t(hu(Ow(r.concat(e)))):t(hu([e]))}},[t,e,o,r,s]),c=f.useMemo(()=>e?r.some(p=>p.image_name===e.image_name):!1,[e,r]),d=f.useMemo(()=>r.length,[r.length]);return{selection:r,selectionCount:d,isSelected:c,handleClick:a}},vee=e=>{const t=te(),{imageName:n}=e,{currentData:r}=Is(n),o=B(m=>m.gallery.shouldShowDeleteButton),{handleClick:s,isSelected:a,selection:c,selectionCount:d}=gee(r),p=f.useCallback(m=>{m.stopPropagation(),r&&t(pm([r]))},[t,r]),h=f.useMemo(()=>{if(d>1)return{id:"gallery-image",payloadType:"IMAGE_DTOS",payload:{imageDTOs:c}};if(r)return{id:"gallery-image",payloadType:"IMAGE_DTO",payload:{imageDTO:r}}},[r,c,d]);return r?i.jsx(Re,{sx:{w:"full",h:"full",touchAction:"none"},children:i.jsx(W,{userSelect:"none",sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1"},children:i.jsx(fl,{onClick:s,imageDTO:r,draggableData:h,isSelected:a,minSize:0,onClickReset:p,imageSx:{w:"full",h:"full"},isDropDisabled:!0,isUploadDisabled:!0,thumbnail:!0,withHoverOverlay:!0,resetIcon:i.jsx(Eo,{}),resetTooltip:"Delete image",withResetIcon:o})})}):i.jsx(hee,{})},bee=f.memo(vee),yee=Ae((e,t)=>i.jsx(Re,{className:"item-container",ref:t,p:1.5,children:e.children})),xee=Ae((e,t)=>{const n=B(r=>r.gallery.galleryImageMinimumWidth);return i.jsx(sl,{...e,className:"list-container",ref:t,sx:{gridTemplateColumns:`repeat(auto-fill, minmax(${n}px, 1fr));`},children:e.children})}),wee={defer:!0,options:{scrollbars:{visibility:"auto",autoHide:"leave",autoHideDelay:1300,theme:"os-theme-dark"},overflow:{x:"hidden"}}},See=()=>{const{t:e}=ye(),t=f.useRef(null),[n,r]=f.useState(null),[o,s]=LE(wee),a=B(S=>S.gallery.selectedBoardId),{currentViewTotal:c}=tee(a),d=B(ob),{currentData:p,isFetching:h,isSuccess:m,isError:v}=Y_(d),[b]=Q_(),w=f.useMemo(()=>!p||!c?!1:p.ids.length{w&&b({...d,offset:(p==null?void 0:p.ids.length)??0,limit:J_})},[w,b,d,p==null?void 0:p.ids.length]);return f.useEffect(()=>{const{current:S}=t;return n&&S&&o({target:S,elements:{viewport:n}}),()=>{var k;return(k=s())==null?void 0:k.destroy()}},[n,o,s]),p?m&&(p==null?void 0:p.ids.length)===0?i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(tl,{label:e("gallery.noImagesInGallery"),icon:Oc})}):m&&p?i.jsxs(i.Fragment,{children:[i.jsx(Re,{ref:t,"data-overlayscrollbars":"",h:"100%",children:i.jsx(eee,{style:{height:"100%"},data:p.ids,endReached:y,components:{Item:yee,List:xee},scrollerRef:r,itemContent:(S,k)=>i.jsx(bee,{imageName:k},k)})}),i.jsx(Yt,{onClick:y,isDisabled:!w,isLoading:h,loadingText:"Loading",flexShrink:0,children:`Load More (${p.ids.length} of ${c})`})]}):v?i.jsx(Re,{sx:{w:"full",h:"full"},children:i.jsx(tl,{label:"Unable to load Gallery",icon:ZI})}):null:i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(tl,{label:"Loading...",icon:Oc})})},Cee=f.memo(See),kee=be([lt],e=>{const{galleryView:t}=e.gallery;return{galleryView:t}},Je),_ee=()=>{const e=f.useRef(null),t=f.useRef(null),{galleryView:n}=B(kee),r=te(),{isOpen:o,onToggle:s}=ss(),a=f.useCallback(()=>{r(nw("images"))},[r]),c=f.useCallback(()=>{r(nw("assets"))},[r]);return i.jsxs(o6,{sx:{flexDirection:"column",h:"full",w:"full",borderRadius:"base"},children:[i.jsxs(Re,{sx:{w:"full"},children:[i.jsxs(W,{ref:e,sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:[i.jsx(YJ,{isOpen:o,onToggle:s}),i.jsx(aZ,{}),i.jsx(JJ,{})]}),i.jsx(Re,{children:i.jsx(qJ,{isOpen:o})})]}),i.jsxs(W,{ref:t,direction:"column",gap:2,h:"full",w:"full",children:[i.jsx(W,{sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:i.jsx(Ld,{index:n==="images"?0:1,variant:"unstyled",size:"sm",sx:{w:"full"},children:i.jsx(zd,{children:i.jsxs(rr,{isAttached:!0,sx:{w:"full"},children:[i.jsx(kc,{as:Yt,size:"sm",isChecked:n==="images",onClick:a,sx:{w:"full"},leftIcon:i.jsx(UY,{}),children:"Images"}),i.jsx(kc,{as:Yt,size:"sm",isChecked:n==="assets",onClick:c,sx:{w:"full"},leftIcon:i.jsx(nQ,{}),children:"Assets"})]})})})}),i.jsx(Cee,{})]})]})},hO=f.memo(_ee),Pee=be([Kn,Ba,v7,lr],(e,t,n,r)=>{const{shouldPinGallery:o,shouldShowGallery:s}=t,{galleryImageMinimumWidth:a}=n;return{activeTabName:e,isStaging:r,shouldPinGallery:o,shouldShowGallery:s,galleryImageMinimumWidth:a,isResizable:e!=="unifiedCanvas"}},{memoizeOptions:{resultEqualityCheck:Zt}}),jee=()=>{const e=te(),{shouldPinGallery:t,shouldShowGallery:n,galleryImageMinimumWidth:r}=B(Pee),o=()=>{e(Av(!1)),t&&e(ko())};tt("esc",()=>{e(Av(!1))},{enabled:()=>!t,preventDefault:!0},[t]);const s=32;return tt("shift+up",()=>{if(r<256){const a=Es(r+s,32,256);e(Bp(a))}},[r]),tt("shift+down",()=>{if(r>32){const a=Es(r-s,32,256);e(Bp(a))}},[r]),t?null:i.jsx(GI,{direction:"right",isResizable:!0,isOpen:n,onClose:o,minWidth:400,children:i.jsx(hO,{})})},Iee=f.memo(jee);function Eee(e){const{title:t,hotkey:n,description:r}=e;return i.jsxs(sl,{sx:{gridTemplateColumns:"auto max-content",justifyContent:"space-between",alignItems:"center"},children:[i.jsxs(sl,{children:[i.jsx(Qe,{fontWeight:600,children:t}),r&&i.jsx(Qe,{sx:{fontSize:"sm"},variant:"subtext",children:r})]}),i.jsx(Re,{sx:{fontSize:"sm",fontWeight:600,px:2,py:1},children:n})]})}function Oee({children:e}){const{isOpen:t,onOpen:n,onClose:r}=ss(),{t:o}=ye(),s=[{title:o("hotkeys.invoke.title"),desc:o("hotkeys.invoke.desc"),hotkey:"Ctrl+Enter"},{title:o("hotkeys.cancel.title"),desc:o("hotkeys.cancel.desc"),hotkey:"Shift+X"},{title:o("hotkeys.focusPrompt.title"),desc:o("hotkeys.focusPrompt.desc"),hotkey:"Alt+A"},{title:o("hotkeys.toggleOptions.title"),desc:o("hotkeys.toggleOptions.desc"),hotkey:"O"},{title:o("hotkeys.pinOptions.title"),desc:o("hotkeys.pinOptions.desc"),hotkey:"Shift+O"},{title:o("hotkeys.toggleGallery.title"),desc:o("hotkeys.toggleGallery.desc"),hotkey:"G"},{title:o("hotkeys.maximizeWorkSpace.title"),desc:o("hotkeys.maximizeWorkSpace.desc"),hotkey:"F"},{title:o("hotkeys.changeTabs.title"),desc:o("hotkeys.changeTabs.desc"),hotkey:"1-5"}],a=[{title:o("hotkeys.setPrompt.title"),desc:o("hotkeys.setPrompt.desc"),hotkey:"P"},{title:o("hotkeys.setSeed.title"),desc:o("hotkeys.setSeed.desc"),hotkey:"S"},{title:o("hotkeys.setParameters.title"),desc:o("hotkeys.setParameters.desc"),hotkey:"A"},{title:o("hotkeys.upscale.title"),desc:o("hotkeys.upscale.desc"),hotkey:"Shift+U"},{title:o("hotkeys.showInfo.title"),desc:o("hotkeys.showInfo.desc"),hotkey:"I"},{title:o("hotkeys.sendToImageToImage.title"),desc:o("hotkeys.sendToImageToImage.desc"),hotkey:"Shift+I"},{title:o("hotkeys.deleteImage.title"),desc:o("hotkeys.deleteImage.desc"),hotkey:"Del"},{title:o("hotkeys.closePanels.title"),desc:o("hotkeys.closePanels.desc"),hotkey:"Esc"}],c=[{title:o("hotkeys.previousImage.title"),desc:o("hotkeys.previousImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextImage.title"),desc:o("hotkeys.nextImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.toggleGalleryPin.title"),desc:o("hotkeys.toggleGalleryPin.desc"),hotkey:"Shift+G"},{title:o("hotkeys.increaseGalleryThumbSize.title"),desc:o("hotkeys.increaseGalleryThumbSize.desc"),hotkey:"Shift+Up"},{title:o("hotkeys.decreaseGalleryThumbSize.title"),desc:o("hotkeys.decreaseGalleryThumbSize.desc"),hotkey:"Shift+Down"}],d=[{title:o("hotkeys.selectBrush.title"),desc:o("hotkeys.selectBrush.desc"),hotkey:"B"},{title:o("hotkeys.selectEraser.title"),desc:o("hotkeys.selectEraser.desc"),hotkey:"E"},{title:o("hotkeys.decreaseBrushSize.title"),desc:o("hotkeys.decreaseBrushSize.desc"),hotkey:"["},{title:o("hotkeys.increaseBrushSize.title"),desc:o("hotkeys.increaseBrushSize.desc"),hotkey:"]"},{title:o("hotkeys.decreaseBrushOpacity.title"),desc:o("hotkeys.decreaseBrushOpacity.desc"),hotkey:"Shift + ["},{title:o("hotkeys.increaseBrushOpacity.title"),desc:o("hotkeys.increaseBrushOpacity.desc"),hotkey:"Shift + ]"},{title:o("hotkeys.moveTool.title"),desc:o("hotkeys.moveTool.desc"),hotkey:"V"},{title:o("hotkeys.fillBoundingBox.title"),desc:o("hotkeys.fillBoundingBox.desc"),hotkey:"Shift + F"},{title:o("hotkeys.eraseBoundingBox.title"),desc:o("hotkeys.eraseBoundingBox.desc"),hotkey:"Delete / Backspace"},{title:o("hotkeys.colorPicker.title"),desc:o("hotkeys.colorPicker.desc"),hotkey:"C"},{title:o("hotkeys.toggleSnap.title"),desc:o("hotkeys.toggleSnap.desc"),hotkey:"N"},{title:o("hotkeys.quickToggleMove.title"),desc:o("hotkeys.quickToggleMove.desc"),hotkey:"Hold Space"},{title:o("hotkeys.toggleLayer.title"),desc:o("hotkeys.toggleLayer.desc"),hotkey:"Q"},{title:o("hotkeys.clearMask.title"),desc:o("hotkeys.clearMask.desc"),hotkey:"Shift+C"},{title:o("hotkeys.hideMask.title"),desc:o("hotkeys.hideMask.desc"),hotkey:"H"},{title:o("hotkeys.showHideBoundingBox.title"),desc:o("hotkeys.showHideBoundingBox.desc"),hotkey:"Shift+H"},{title:o("hotkeys.mergeVisible.title"),desc:o("hotkeys.mergeVisible.desc"),hotkey:"Shift+M"},{title:o("hotkeys.saveToGallery.title"),desc:o("hotkeys.saveToGallery.desc"),hotkey:"Shift+S"},{title:o("hotkeys.copyToClipboard.title"),desc:o("hotkeys.copyToClipboard.desc"),hotkey:"Ctrl+C"},{title:o("hotkeys.downloadImage.title"),desc:o("hotkeys.downloadImage.desc"),hotkey:"Shift+D"},{title:o("hotkeys.undoStroke.title"),desc:o("hotkeys.undoStroke.desc"),hotkey:"Ctrl+Z"},{title:o("hotkeys.redoStroke.title"),desc:o("hotkeys.redoStroke.desc"),hotkey:"Ctrl+Shift+Z, Ctrl+Y"},{title:o("hotkeys.resetView.title"),desc:o("hotkeys.resetView.desc"),hotkey:"R"},{title:o("hotkeys.previousStagingImage.title"),desc:o("hotkeys.previousStagingImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextStagingImage.title"),desc:o("hotkeys.nextStagingImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.acceptStagingImage.title"),desc:o("hotkeys.acceptStagingImage.desc"),hotkey:"Enter"}],p=h=>i.jsx(W,{flexDir:"column",gap:4,children:h.map((m,v)=>i.jsxs(W,{flexDir:"column",px:2,gap:4,children:[i.jsx(Eee,{title:m.title,description:m.desc,hotkey:m.hotkey}),v{const{data:t}=b7(),n=f.useRef(null),r=mO(n);return i.jsxs(W,{alignItems:"center",gap:3,ps:1,ref:n,children:[i.jsx(Lc,{src:U_,alt:"invoke-ai-logo",sx:{w:"32px",h:"32px",minW:"32px",minH:"32px",userSelect:"none"}}),i.jsxs(W,{sx:{gap:3,alignItems:"center"},children:[i.jsxs(Qe,{sx:{fontSize:"xl",userSelect:"none"},children:["invoke ",i.jsx("strong",{children:"ai"})]}),i.jsx(mo,{children:e&&r&&t&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:i.jsx(Qe,{sx:{fontWeight:600,marginTop:1,color:"base.300",fontSize:14},variant:"subtext",children:t.version})},"statusText")})]})]})},$ee=e=>{const{tooltip:t,inputRef:n,label:r,disabled:o,required:s,...a}=e,c=VI();return i.jsx(vn,{label:t,placement:"top",hasArrow:!0,children:i.jsx(vy,{label:r?i.jsx(go,{isRequired:s,isDisabled:o,children:i.jsx(Bo,{children:r})}):void 0,disabled:o,ref:n,styles:c,...a})})},Xr=f.memo($ee);function Yo(e){const{t}=ye(),{label:n,textProps:r,useBadge:o=!1,badgeLabel:s=t("settings.experimental"),badgeProps:a,...c}=e;return i.jsxs(W,{justifyContent:"space-between",py:1,children:[i.jsxs(W,{gap:2,alignItems:"center",children:[i.jsx(Qe,{sx:{fontSize:14,_dark:{color:"base.300"}},...r,children:n}),o&&i.jsx(gl,{size:"xs",sx:{px:2,color:"base.700",bg:"accent.200",_dark:{bg:"accent.500",color:"base.200"}},...a,children:s})]}),i.jsx(yr,{...c})]})}const Xl=e=>i.jsx(W,{sx:{flexDirection:"column",gap:2,p:4,borderRadius:"base",bg:"base.100",_dark:{bg:"base.900"}},children:e.children});function Lee(){const e=te(),{data:t,refetch:n}=y7(),[r,{isLoading:o}]=x7(),s=f.useCallback(()=>{r().unwrap().then(c=>{e(w7()),e(sb()),e(On({title:`Cleared ${c} intermediates`,status:"info"}))})},[r,e]);f.useEffect(()=>{n()},[n]);const a=t?`Clear ${t} Intermediate${t>1?"s":""}`:"No Intermediates to Clear";return i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:"Clear Intermediates"}),i.jsx(Yt,{colorScheme:"warning",onClick:s,isLoading:o,isDisabled:!t,children:a}),i.jsx(Qe,{fontWeight:"bold",children:"Clearing intermediates will reset your Canvas and ControlNet state."}),i.jsx(Qe,{variant:"subtext",children:"Intermediate images are byproducts of generation, different from the result images in the gallery. Clearing intermediates will free disk space."}),i.jsx(Qe,{variant:"subtext",children:"Your gallery images will not be deleted."})]})}const zee=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:a,base700:c,base800:d,base900:p,accent200:h,accent300:m,accent400:v,accent500:b,accent600:w}=by(),{colorMode:y}=Ds(),[S]=$c("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:Fe(c,r)(y)},separatorLabel:{color:Fe(s,s)(y),"::after":{borderTopColor:Fe(r,c)(y)}},searchInput:{":placeholder":{color:Fe(r,c)(y)}},input:{backgroundColor:Fe(e,p)(y),borderWidth:"2px",borderColor:Fe(n,d)(y),color:Fe(p,t)(y),paddingRight:24,fontWeight:600,"&:hover":{borderColor:Fe(r,a)(y)},"&:focus":{borderColor:Fe(m,w)(y)},"&:is(:focus, :hover)":{borderColor:Fe(o,s)(y)},"&:focus-within":{borderColor:Fe(h,w)(y)},"&[data-disabled]":{backgroundColor:Fe(r,c)(y),color:Fe(a,o)(y),cursor:"not-allowed"}},value:{backgroundColor:Fe(n,d)(y),color:Fe(p,t)(y),button:{color:Fe(p,t)(y)},"&:hover":{backgroundColor:Fe(r,c)(y),cursor:"pointer"}},dropdown:{backgroundColor:Fe(n,d)(y),borderColor:Fe(n,d)(y),boxShadow:S},item:{backgroundColor:Fe(n,d)(y),color:Fe(d,n)(y),padding:6,"&[data-hovered]":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)},"&[data-active]":{backgroundColor:Fe(r,c)(y),"&:hover":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)}},"&[data-selected]":{backgroundColor:Fe(v,w)(y),color:Fe(e,t)(y),fontWeight:600,"&:hover":{backgroundColor:Fe(b,b)(y),color:Fe("white",e)(y)}},"&[data-disabled]":{color:Fe(s,a)(y),cursor:"not-allowed"}},rightSection:{width:24,padding:20,button:{color:Fe(p,t)(y)}}}),[h,m,v,b,w,t,n,r,o,e,s,a,c,d,p,S,y])},Bee=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,label:o,disabled:s,...a}=e,c=te(),d=f.useCallback(m=>{m.shiftKey&&c(jo(!0))},[c]),p=f.useCallback(m=>{m.shiftKey||c(jo(!1))},[c]),h=zee();return i.jsx(vn,{label:n,placement:"top",hasArrow:!0,isOpen:!0,children:i.jsx(LI,{label:o?i.jsx(go,{isDisabled:s,children:i.jsx(Bo,{children:o})}):void 0,ref:r,disabled:s,onKeyDown:d,onKeyUp:p,searchable:t,maxDropdownHeight:300,styles:h,...a})})},Fee=f.memo(Bee),Hee=cs(ab,(e,t)=>({value:t,label:e})).sort((e,t)=>e.label.localeCompare(t.label));function Wee(){const e=te(),{t}=ye(),n=B(o=>o.ui.favoriteSchedulers),r=f.useCallback(o=>{e(S7(o))},[e]);return i.jsx(Fee,{label:t("settings.favoriteSchedulers"),value:n,data:Hee,onChange:r,clearable:!0,searchable:!0,maxSelectedValues:99,placeholder:t("settings.favoriteSchedulersPlaceholder")})}const Vee={ar:Bn.t("common.langArabic",{lng:"ar"}),nl:Bn.t("common.langDutch",{lng:"nl"}),en:Bn.t("common.langEnglish",{lng:"en"}),fr:Bn.t("common.langFrench",{lng:"fr"}),de:Bn.t("common.langGerman",{lng:"de"}),he:Bn.t("common.langHebrew",{lng:"he"}),it:Bn.t("common.langItalian",{lng:"it"}),ja:Bn.t("common.langJapanese",{lng:"ja"}),ko:Bn.t("common.langKorean",{lng:"ko"}),pl:Bn.t("common.langPolish",{lng:"pl"}),pt_BR:Bn.t("common.langBrPortuguese",{lng:"pt_BR"}),pt:Bn.t("common.langPortuguese",{lng:"pt"}),ru:Bn.t("common.langRussian",{lng:"ru"}),zh_CN:Bn.t("common.langSimplifiedChinese",{lng:"zh_CN"}),es:Bn.t("common.langSpanish",{lng:"es"}),uk:Bn.t("common.langUkranian",{lng:"ua"})},Uee=be([lt],({system:e,ui:t,generation:n})=>{const{shouldConfirmOnDelete:r,enableImageDebugging:o,consoleLogLevel:s,shouldLogToConsole:a,shouldAntialiasProgressImage:c,isNodesEnabled:d,shouldUseNSFWChecker:p,shouldUseWatermarker:h}=e,{shouldUseCanvasBetaLayout:m,shouldUseSliders:v,shouldShowProgressInViewer:b}=t,{shouldShowAdvancedOptions:w}=n;return{shouldConfirmOnDelete:r,enableImageDebugging:o,shouldUseCanvasBetaLayout:m,shouldUseSliders:v,shouldShowProgressInViewer:b,consoleLogLevel:s,shouldLogToConsole:a,shouldAntialiasProgressImage:c,shouldShowAdvancedOptions:w,isNodesEnabled:d,shouldUseNSFWChecker:p,shouldUseWatermarker:h}},{memoizeOptions:{resultEqualityCheck:Zt}}),Gee=({children:e,config:t})=>{const n=te(),{t:r}=ye(),o=(t==null?void 0:t.shouldShowBetaLayout)??!0,s=(t==null?void 0:t.shouldShowDeveloperSettings)??!0,a=(t==null?void 0:t.shouldShowResetWebUiText)??!0,c=(t==null?void 0:t.shouldShowAdvancedOptionsSettings)??!0,d=(t==null?void 0:t.shouldShowClearIntermediates)??!0,p=(t==null?void 0:t.shouldShowNodesToggle)??!0,h=(t==null?void 0:t.shouldShowLocalizationToggle)??!0;f.useEffect(()=>{s||n(rw(!1))},[s,n]);const{isNSFWCheckerAvailable:m,isWatermarkerAvailable:v}=Z_(void 0,{selectFromResult:({data:X})=>({isNSFWCheckerAvailable:(X==null?void 0:X.nsfw_methods.includes("nsfw_checker"))??!1,isWatermarkerAvailable:(X==null?void 0:X.watermarking_methods.includes("invisible_watermark"))??!1})}),{isOpen:b,onOpen:w,onClose:y}=ss(),{isOpen:S,onOpen:k,onClose:_}=ss(),{shouldConfirmOnDelete:P,enableImageDebugging:I,shouldUseCanvasBetaLayout:E,shouldUseSliders:O,shouldShowProgressInViewer:R,consoleLogLevel:M,shouldLogToConsole:D,shouldAntialiasProgressImage:A,shouldShowAdvancedOptions:L,isNodesEnabled:Q,shouldUseNSFWChecker:F,shouldUseWatermarker:V}=B(Uee),q=f.useCallback(()=>{Object.keys(window.localStorage).forEach(X=>{(C7.includes(X)||X.startsWith(k7))&&localStorage.removeItem(X)}),y(),k()},[y,k]),G=f.useCallback(X=>{n(_7(X))},[n]),T=f.useCallback(X=>{n(P7(X))},[n]),z=f.useCallback(X=>{n(rw(X.target.checked))},[n]),$=f.useCallback(X=>{n(j7(X.target.checked))},[n]),{colorMode:Y,toggleColorMode:ae}=Ds(),fe=ir("localization").isFeatureEnabled,ie=B(rP);return i.jsxs(i.Fragment,{children:[f.cloneElement(e,{onClick:w}),i.jsxs(id,{isOpen:b,onClose:y,size:"2xl",isCentered:!0,children:[i.jsx(Aa,{}),i.jsxs(ld,{children:[i.jsx(Da,{bg:"none",children:r("common.settingsLabel")}),i.jsx(qb,{}),i.jsx(Ta,{children:i.jsxs(W,{sx:{gap:4,flexDirection:"column"},children:[i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.general")}),i.jsx(Yo,{label:r("settings.confirmOnDelete"),isChecked:P,onChange:X=>n(z_(X.target.checked))}),c&&i.jsx(Yo,{label:r("settings.showAdvancedOptions"),isChecked:L,onChange:X=>n(I7(X.target.checked))})]}),i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.generation")}),i.jsx(Wee,{}),i.jsx(Yo,{label:"Enable NSFW Checker",isDisabled:!m,isChecked:F,onChange:X=>n(E7(X.target.checked))}),i.jsx(Yo,{label:"Enable Invisible Watermark",isDisabled:!v,isChecked:V,onChange:X=>n(O7(X.target.checked))})]}),i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.ui")}),i.jsx(Yo,{label:r("common.darkMode"),isChecked:Y==="dark",onChange:ae}),i.jsx(Yo,{label:r("settings.useSlidersForAll"),isChecked:O,onChange:X=>n(R7(X.target.checked))}),i.jsx(Yo,{label:r("settings.showProgressInViewer"),isChecked:R,onChange:X=>n(e5(X.target.checked))}),i.jsx(Yo,{label:r("settings.antialiasProgressImages"),isChecked:A,onChange:X=>n(M7(X.target.checked))}),o&&i.jsx(Yo,{label:r("settings.alternateCanvasLayout"),useBadge:!0,badgeLabel:r("settings.beta"),isChecked:E,onChange:X=>n(D7(X.target.checked))}),p&&i.jsx(Yo,{label:r("settings.enableNodesEditor"),useBadge:!0,isChecked:Q,onChange:$}),h&&i.jsx(Xr,{disabled:!fe,label:r("common.languagePickerLabel"),value:ie,data:Object.entries(Vee).map(([X,K])=>({value:X,label:K})),onChange:T})]}),s&&i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.developer")}),i.jsx(Yo,{label:r("settings.shouldLogToConsole"),isChecked:D,onChange:z}),i.jsx(Xr,{disabled:!D,label:r("settings.consoleLogLevel"),onChange:G,value:M,data:A7.concat()}),i.jsx(Yo,{label:r("settings.enableImageDebugging"),isChecked:I,onChange:X=>n(T7(X.target.checked))})]}),d&&i.jsx(Lee,{}),i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.resetWebUI")}),i.jsx(Yt,{colorScheme:"error",onClick:q,children:r("settings.resetWebUI")}),a&&i.jsxs(i.Fragment,{children:[i.jsx(Qe,{variant:"subtext",children:r("settings.resetWebUIDesc1")}),i.jsx(Qe,{variant:"subtext",children:r("settings.resetWebUIDesc2")})]})]})]})}),i.jsx(Ma,{children:i.jsx(Yt,{onClick:y,children:r("common.close")})})]})]}),i.jsxs(id,{closeOnOverlayClick:!1,isOpen:S,onClose:_,isCentered:!0,children:[i.jsx(Aa,{backdropFilter:"blur(40px)"}),i.jsxs(ld,{children:[i.jsx(Da,{}),i.jsx(Ta,{children:i.jsx(W,{justifyContent:"center",children:i.jsx(Qe,{fontSize:"lg",children:i.jsx(Qe,{children:r("settings.resetComplete")})})})}),i.jsx(Ma,{})]})]})]})},qee=be(vo,e=>{const{isConnected:t,isProcessing:n,statusTranslationKey:r,currentIteration:o,totalIterations:s,currentStatusHasSteps:a}=e;return{isConnected:t,isProcessing:n,currentIteration:o,totalIterations:s,statusTranslationKey:r,currentStatusHasSteps:a}},Je),jk={ok:"green.400",working:"yellow.400",error:"red.400"},Ik={ok:"green.600",working:"yellow.500",error:"red.500"},Kee=()=>{const{isConnected:e,isProcessing:t,currentIteration:n,totalIterations:r,statusTranslationKey:o}=B(qee),{t:s}=ye(),a=f.useRef(null),c=f.useMemo(()=>t?"working":e?"ok":"error",[t,e]),d=f.useMemo(()=>{if(n&&r)return` (${n}/${r})`},[n,r]),p=mO(a);return i.jsxs(W,{ref:a,h:"full",px:2,alignItems:"center",gap:5,children:[i.jsx(mo,{children:p&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:i.jsxs(Qe,{sx:{fontSize:"sm",fontWeight:"600",pb:"1px",userSelect:"none",color:Ik[c],_dark:{color:jk[c]}},children:[s(o),d]})},"statusText")}),i.jsx(fo,{as:TY,sx:{boxSize:"0.5rem",color:Ik[c],_dark:{color:jk[c]}}})]})},Xee=()=>{const{t:e}=ye(),t=ir("bugLink").isFeatureEnabled,n=ir("discordLink").isFeatureEnabled,r=ir("githubLink").isFeatureEnabled,o="http://github.com/invoke-ai/InvokeAI",s="https://discord.gg/ZmtBAhwWhy";return i.jsxs(W,{sx:{gap:2,alignItems:"center"},children:[i.jsx(gO,{}),i.jsx(ml,{}),i.jsx(Kee,{}),i.jsxs(Dd,{children:[i.jsx(Ad,{as:ze,variant:"link","aria-label":e("accessibility.menu"),icon:i.jsx(MY,{}),sx:{boxSize:8}}),i.jsxs(il,{motionProps:ed,children:[i.jsxs(ad,{title:e("common.communityLabel"),children:[r&&i.jsx(jr,{as:"a",href:o,target:"_blank",icon:i.jsx(_Y,{}),children:e("common.githubLabel")}),t&&i.jsx(jr,{as:"a",href:`${o}/issues`,target:"_blank",icon:i.jsx(DY,{}),children:e("common.reportBugLabel")}),n&&i.jsx(jr,{as:"a",href:s,target:"_blank",icon:i.jsx(kY,{}),children:e("common.discordLabel")})]}),i.jsxs(ad,{title:e("common.settingsLabel"),children:[i.jsx(Oee,{children:i.jsx(jr,{as:"button",icon:i.jsx(KY,{}),children:e("common.hotkeysLabel")})}),i.jsx(Gee,{children:i.jsx(jr,{as:"button",icon:i.jsx(NY,{}),children:e("common.settingsLabel")})})]})]})]})]})},Yee=f.memo(Xee);function Qee(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M16.5 9c-.42 0-.83.04-1.24.11L1.01 3 1 10l9 2-9 2 .01 7 8.07-3.46C9.59 21.19 12.71 24 16.5 24c4.14 0 7.5-3.36 7.5-7.5S20.64 9 16.5 9zm0 13c-3.03 0-5.5-2.47-5.5-5.5s2.47-5.5 5.5-5.5 5.5 2.47 5.5 5.5-2.47 5.5-5.5 5.5z"}},{tag:"path",attr:{d:"M18.27 14.03l-1.77 1.76-1.77-1.76-.7.7 1.76 1.77-1.76 1.77.7.7 1.77-1.76 1.77 1.76.7-.7-1.76-1.77 1.76-1.77z"}}]})(e)}function Jee(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M17 16l-4-4V8.82C14.16 8.4 15 7.3 15 6c0-1.66-1.34-3-3-3S9 4.34 9 6c0 1.3.84 2.4 2 2.82V12l-4 4H3v5h5v-3.05l4-4.2 4 4.2V21h5v-5h-4z"}}]})(e)}function Zee(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 20H4v-4h4v4zm0-6H4v-4h4v4zm0-6H4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4z"}}]})(e)}function ete(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-11-4l2.03 2.71L16 11l4 5H8l3-4zM2 6v14c0 1.1.9 2 2 2h14v-2H4V6H2z"}}]})(e)}function tte(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}}]})(e)}function vO(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3z"}}]})(e)}const nte=be(vo,e=>{const{isUploading:t}=e;let n="";return t&&(n="Uploading..."),{tooltip:n,shouldShow:t}}),rte=()=>{const{shouldShow:e,tooltip:t}=B(nte);return e?i.jsx(W,{sx:{alignItems:"center",justifyContent:"center",color:"base.600"},children:i.jsx(vn,{label:t,placement:"right",hasArrow:!0,children:i.jsx(hl,{})})}):null},ote=f.memo(rte),bO=e=>e.config,{createElement:Rc,createContext:ste,forwardRef:yO,useCallback:si,useContext:xO,useEffect:Ea,useImperativeHandle:wO,useLayoutEffect:ate,useMemo:ite,useRef:es,useState:Xu}=Q1,Ek=Q1["useId".toString()],lte=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",sm=lte?ate:()=>{},cte=typeof Ek=="function"?Ek:()=>null;let ute=0;function Xy(e=null){const t=cte(),n=es(e||t||null);return n.current===null&&(n.current=""+ute++),n.current}const og=ste(null);og.displayName="PanelGroupContext";function SO({children:e=null,className:t="",collapsedSize:n=0,collapsible:r=!1,defaultSize:o=null,forwardedRef:s,id:a=null,maxSize:c=100,minSize:d=10,onCollapse:p=null,onResize:h=null,order:m=null,style:v={},tagName:b="div"}){const w=xO(og);if(w===null)throw Error("Panel components must be rendered within a PanelGroup container");const y=Xy(a),{collapsePanel:S,expandPanel:k,getPanelStyle:_,registerPanel:P,resizePanel:I,unregisterPanel:E}=w,O=es({onCollapse:p,onResize:h});if(Ea(()=>{O.current.onCollapse=p,O.current.onResize=h}),d<0||d>100)throw Error(`Panel minSize must be between 0 and 100, but was ${d}`);if(c<0||c>100)throw Error(`Panel maxSize must be between 0 and 100, but was ${c}`);if(o!==null){if(o<0||o>100)throw Error(`Panel defaultSize must be between 0 and 100, but was ${o}`);d>o&&!r&&(console.error(`Panel minSize ${d} cannot be greater than defaultSize ${o}`),o=d)}const R=_(y,o),M=es({size:Ok(R)}),D=es({callbacksRef:O,collapsedSize:n,collapsible:r,defaultSize:o,id:y,maxSize:c,minSize:d,order:m});return sm(()=>{M.current.size=Ok(R),D.current.callbacksRef=O,D.current.collapsedSize=n,D.current.collapsible=r,D.current.defaultSize=o,D.current.id=y,D.current.maxSize=c,D.current.minSize=d,D.current.order=m}),sm(()=>(P(y,D),()=>{E(y)}),[m,y,P,E]),wO(s,()=>({collapse:()=>S(y),expand:()=>k(y),getCollapsed(){return M.current.size===0},getSize(){return M.current.size},resize:A=>I(y,A)}),[S,k,y,I]),Rc(b,{children:e,className:t,"data-panel":"","data-panel-collapsible":r||void 0,"data-panel-id":y,"data-panel-size":parseFloat(""+R.flexGrow).toFixed(1),id:`data-panel-id-${y}`,style:{...R,...v}})}const md=yO((e,t)=>Rc(SO,{...e,forwardedRef:t}));SO.displayName="Panel";md.displayName="forwardRef(Panel)";function Ok(e){const{flexGrow:t}=e;return typeof t=="string"?parseFloat(t):t}const pl=10;function Tu(e,t,n,r,o,s,a,c){const{sizes:d}=c||{},p=d||s;if(o===0)return p;const h=Jo(t),m=p.concat();let v=0;{const y=o<0?r:n,S=h.findIndex(I=>I.current.id===y),k=h[S],_=p[S],P=Rk(k,Math.abs(o),_,e);if(_===P)return p;P===0&&_>0&&a.set(y,_),o=o<0?_-P:P-_}let b=o<0?n:r,w=h.findIndex(y=>y.current.id===b);for(;;){const y=h[w],S=p[w],k=Math.abs(o)-Math.abs(v),_=Rk(y,0-k,S,e);if(S!==_&&(_===0&&S>0&&a.set(y.current.id,S),v+=S-_,m[w]=_,v.toPrecision(pl).localeCompare(Math.abs(o).toPrecision(pl),void 0,{numeric:!0})>=0))break;if(o<0){if(--w<0)break}else if(++w>=h.length)break}return v===0?p:(b=o<0?r:n,w=h.findIndex(y=>y.current.id===b),m[w]=p[w]+v,m)}function Gl(e,t,n){t.forEach((r,o)=>{const{callbacksRef:s,collapsedSize:a,collapsible:c,id:d}=e[o].current,p=n[d];if(p!==r){n[d]=r;const{onCollapse:h,onResize:m}=s.current;m&&m(r,p),c&&h&&((p==null||p===a)&&r!==a?h(!1):p!==a&&r===a&&h(!0))}})}function pv(e,t){if(t.length<2)return[null,null];const n=t.findIndex(a=>a.current.id===e);if(n<0)return[null,null];const r=n===t.length-1,o=r?t[n-1].current.id:e,s=r?e:t[n+1].current.id;return[o,s]}function CO(e,t,n){if(e.size===1)return"100";const o=Jo(e).findIndex(a=>a.current.id===t),s=n[o];return s==null?"0":s.toPrecision(pl)}function dte(e){const t=document.querySelector(`[data-panel-id="${e}"]`);return t||null}function Yy(e){const t=document.querySelector(`[data-panel-group-id="${e}"]`);return t||null}function sg(e){const t=document.querySelector(`[data-panel-resize-handle-id="${e}"]`);return t||null}function fte(e){return kO().findIndex(r=>r.getAttribute("data-panel-resize-handle-id")===e)??null}function kO(){return Array.from(document.querySelectorAll("[data-panel-resize-handle-id]"))}function _O(e){return Array.from(document.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`))}function Qy(e,t,n){var d,p,h,m;const r=sg(t),o=_O(e),s=r?o.indexOf(r):-1,a=((p=(d=n[s])==null?void 0:d.current)==null?void 0:p.id)??null,c=((m=(h=n[s+1])==null?void 0:h.current)==null?void 0:m.id)??null;return[a,c]}function Jo(e){return Array.from(e.values()).sort((t,n)=>{const r=t.current.order,o=n.current.order;return r==null&&o==null?0:r==null?-1:o==null?1:r-o})}function Rk(e,t,n,r){var h;const o=n+t,{collapsedSize:s,collapsible:a,maxSize:c,minSize:d}=e.current;if(a){if(n>s){if(o<=d/2+s)return s}else if(!((h=r==null?void 0:r.type)==null?void 0:h.startsWith("key"))&&o{const{direction:a,panels:c}=e.current,d=Yy(t),{height:p,width:h}=d.getBoundingClientRect(),v=_O(t).map(b=>{const w=b.getAttribute("data-panel-resize-handle-id"),y=Jo(c),[S,k]=Qy(t,w,y);if(S==null||k==null)return()=>{};let _=0,P=100,I=0,E=0;y.forEach(L=>{L.current.id===S?(P=L.current.maxSize,_=L.current.minSize):(I+=L.current.minSize,E+=L.current.maxSize)});const O=Math.min(P,100-I),R=Math.max(_,(y.length-1)*100-E),M=CO(c,S,o);b.setAttribute("aria-valuemax",""+Math.round(O)),b.setAttribute("aria-valuemin",""+Math.round(R)),b.setAttribute("aria-valuenow",""+Math.round(parseInt(M)));const D=L=>{if(!L.defaultPrevented)switch(L.key){case"Enter":{L.preventDefault();const Q=y.findIndex(F=>F.current.id===S);if(Q>=0){const F=y[Q],V=o[Q];if(V!=null){let q=0;V.toPrecision(pl)<=F.current.minSize.toPrecision(pl)?q=a==="horizontal"?h:p:q=-(a==="horizontal"?h:p);const G=Tu(L,c,S,k,q,o,s.current,null);o!==G&&r(G)}}break}}};b.addEventListener("keydown",D);const A=dte(S);return A!=null&&b.setAttribute("aria-controls",A.id),()=>{b.removeAttribute("aria-valuemax"),b.removeAttribute("aria-valuemin"),b.removeAttribute("aria-valuenow"),b.removeEventListener("keydown",D),A!=null&&b.removeAttribute("aria-controls")}});return()=>{v.forEach(b=>b())}},[e,t,n,s,r,o])}function hte({disabled:e,handleId:t,resizeHandler:n}){Ea(()=>{if(e||n==null)return;const r=sg(t);if(r==null)return;const o=s=>{if(!s.defaultPrevented)switch(s.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{s.preventDefault(),n(s);break}case"F6":{s.preventDefault();const a=kO(),c=fte(t);PO(c!==null);const d=s.shiftKey?c>0?c-1:a.length-1:c+1{r.removeEventListener("keydown",o)}},[e,t,n])}function mte(e,t){if(e.length!==t.length)return!1;for(let n=0;nR.current.id===I),O=r[E];if(O.current.collapsible){const R=h[E];(R===0||R.toPrecision(pl)===O.current.minSize.toPrecision(pl))&&(k=k<0?-O.current.minSize*w:O.current.minSize*w)}return k}else return jO(e,n,o,c,d)}function vte(e){return e.type==="keydown"}function T1(e){return e.type.startsWith("mouse")}function N1(e){return e.type.startsWith("touch")}let $1=null,Ki=null;function IO(e){switch(e){case"horizontal":return"ew-resize";case"horizontal-max":return"w-resize";case"horizontal-min":return"e-resize";case"vertical":return"ns-resize";case"vertical-max":return"n-resize";case"vertical-min":return"s-resize"}}function bte(){Ki!==null&&(document.head.removeChild(Ki),$1=null,Ki=null)}function hv(e){if($1===e)return;$1=e;const t=IO(e);Ki===null&&(Ki=document.createElement("style"),document.head.appendChild(Ki)),Ki.innerHTML=`*{cursor: ${t}!important;}`}function yte(e,t=10){let n=null;return(...o)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...o)},t)}}function EO(e){return e.map(t=>{const{minSize:n,order:r}=t.current;return r?`${r}:${n}`:`${n}`}).sort((t,n)=>t.localeCompare(n)).join(",")}function OO(e,t){try{const n=t.getItem(`PanelGroup:sizes:${e}`);if(n){const r=JSON.parse(n);if(typeof r=="object"&&r!=null)return r}}catch{}return null}function xte(e,t,n){const r=OO(e,n);if(r){const o=EO(t);return r[o]??null}return null}function wte(e,t,n,r){const o=EO(t),s=OO(e,r)||{};s[o]=n;try{r.setItem(`PanelGroup:sizes:${e}`,JSON.stringify(s))}catch(a){console.error(a)}}const mv={};function Mk(e){try{if(typeof localStorage<"u")e.getItem=t=>localStorage.getItem(t),e.setItem=(t,n)=>{localStorage.setItem(t,n)};else throw new Error("localStorage not supported in this environment")}catch(t){console.error(t),e.getItem=()=>null,e.setItem=()=>{}}}const Nu={getItem:e=>(Mk(Nu),Nu.getItem(e)),setItem:(e,t)=>{Mk(Nu),Nu.setItem(e,t)}};function RO({autoSaveId:e,children:t=null,className:n="",direction:r,disablePointerEventsDuringResize:o=!1,forwardedRef:s,id:a=null,onLayout:c,storage:d=Nu,style:p={},tagName:h="div"}){const m=Xy(a),[v,b]=Xu(null),[w,y]=Xu(new Map),S=es(null),k=es({onLayout:c});Ea(()=>{k.current.onLayout=c});const _=es({}),[P,I]=Xu([]),E=es(new Map),O=es(0),R=es({direction:r,panels:w,sizes:P});wO(s,()=>({getLayout:()=>{const{sizes:T}=R.current;return T},setLayout:T=>{const z=T.reduce((fe,ie)=>fe+ie,0);PO(z===100,"Panel sizes must add up to 100%");const{panels:$}=R.current,Y=_.current,ae=Jo($);I(T),Gl(ae,T,Y)}}),[]),sm(()=>{R.current.direction=r,R.current.panels=w,R.current.sizes=P}),pte({committedValuesRef:R,groupId:m,panels:w,setSizes:I,sizes:P,panelSizeBeforeCollapse:E}),Ea(()=>{const{onLayout:T}=k.current,{panels:z,sizes:$}=R.current;if($.length>0){T&&T($);const Y=_.current,ae=Jo(z);Gl(ae,$,Y)}},[P]),sm(()=>{if(R.current.sizes.length===w.size)return;let z=null;if(e){const $=Jo(w);z=xte(e,$,d)}if(z!=null)I(z);else{const $=Jo(w);let Y=0,ae=0,fe=0;if($.forEach(ie=>{fe+=ie.current.minSize,ie.current.defaultSize===null?Y++:ae+=ie.current.defaultSize}),ae>100)throw new Error("Default panel sizes cannot exceed 100%");if($.length>1&&Y===0&&ae!==100)throw new Error("Invalid default sizes specified for panels");if(fe>100)throw new Error("Minimum panel sizes cannot exceed 100%");I($.map(ie=>ie.current.defaultSize===null?(100-ae)/Y:ie.current.defaultSize))}},[e,w,d]),Ea(()=>{if(e){if(P.length===0||P.length!==w.size)return;const T=Jo(w);mv[e]||(mv[e]=yte(wte,100)),mv[e](e,T,P,d)}},[e,w,P,d]);const M=si((T,z)=>{const{panels:$}=R.current;return $.size===0?{flexBasis:0,flexGrow:z??void 0,flexShrink:1,overflow:"hidden"}:{flexBasis:0,flexGrow:CO($,T,P),flexShrink:1,overflow:"hidden",pointerEvents:o&&v!==null?"none":void 0}},[v,o,P]),D=si((T,z)=>{y($=>{if($.has(T))return $;const Y=new Map($);return Y.set(T,z),Y})},[]),A=si(T=>$=>{$.preventDefault();const{direction:Y,panels:ae,sizes:fe}=R.current,ie=Jo(ae),[X,K]=Qy(m,T,ie);if(X==null||K==null)return;let U=gte($,m,T,ie,Y,fe,S.current);if(U===0)return;const re=Yy(m).getBoundingClientRect(),oe=Y==="horizontal";document.dir==="rtl"&&oe&&(U=-U);const pe=oe?re.width:re.height,le=U/pe*100,ge=Tu($,ae,X,K,le,fe,E.current,S.current),ke=!mte(fe,ge);if((T1($)||N1($))&&O.current!=le&&hv(ke?oe?"horizontal":"vertical":oe?U<0?"horizontal-min":"horizontal-max":U<0?"vertical-min":"vertical-max"),ke){const xe=_.current;I(ge),Gl(ie,ge,xe)}O.current=le},[m]),L=si(T=>{y(z=>{if(!z.has(T))return z;const $=new Map(z);return $.delete(T),$})},[]),Q=si(T=>{const{panels:z,sizes:$}=R.current,Y=z.get(T);if(Y==null)return;const{collapsedSize:ae,collapsible:fe}=Y.current;if(!fe)return;const ie=Jo(z),X=ie.indexOf(Y);if(X<0)return;const K=$[X];if(K===ae)return;E.current.set(T,K);const[U,se]=pv(T,ie);if(U==null||se==null)return;const oe=X===ie.length-1?K:ae-K,pe=Tu(null,z,U,se,oe,$,E.current,null);if($!==pe){const le=_.current;I(pe),Gl(ie,pe,le)}},[]),F=si(T=>{const{panels:z,sizes:$}=R.current,Y=z.get(T);if(Y==null)return;const{collapsedSize:ae,minSize:fe}=Y.current,ie=E.current.get(T)||fe;if(!ie)return;const X=Jo(z),K=X.indexOf(Y);if(K<0||$[K]!==ae)return;const[se,re]=pv(T,X);if(se==null||re==null)return;const pe=K===X.length-1?ae-ie:ie,le=Tu(null,z,se,re,pe,$,E.current,null);if($!==le){const ge=_.current;I(le),Gl(X,le,ge)}},[]),V=si((T,z)=>{const{panels:$,sizes:Y}=R.current,ae=$.get(T);if(ae==null)return;const{collapsedSize:fe,collapsible:ie,maxSize:X,minSize:K}=ae.current,U=Jo($),se=U.indexOf(ae);if(se<0)return;const re=Y[se];if(re===z)return;ie&&z===fe||(z=Math.min(X,Math.max(K,z)));const[oe,pe]=pv(T,U);if(oe==null||pe==null)return;const ge=se===U.length-1?re-z:z-re,ke=Tu(null,$,oe,pe,ge,Y,E.current,null);if(Y!==ke){const xe=_.current;I(ke),Gl(U,ke,xe)}},[]),q=ite(()=>({activeHandleId:v,collapsePanel:Q,direction:r,expandPanel:F,getPanelStyle:M,groupId:m,registerPanel:D,registerResizeHandle:A,resizePanel:V,startDragging:(T,z)=>{if(b(T),T1(z)||N1(z)){const $=sg(T);S.current={dragHandleRect:$.getBoundingClientRect(),dragOffset:jO(z,T,r),sizes:R.current.sizes}}},stopDragging:()=>{bte(),b(null),S.current=null},unregisterPanel:L}),[v,Q,r,F,M,m,D,A,V,L]),G={display:"flex",flexDirection:r==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return Rc(og.Provider,{children:Rc(h,{children:t,className:n,"data-panel-group":"","data-panel-group-direction":r,"data-panel-group-id":m,style:{...G,...p}}),value:q})}const Jy=yO((e,t)=>Rc(RO,{...e,forwardedRef:t}));RO.displayName="PanelGroup";Jy.displayName="forwardRef(PanelGroup)";function L1({children:e=null,className:t="",disabled:n=!1,id:r=null,onDragging:o,style:s={},tagName:a="div"}){const c=es(null),d=es({onDragging:o});Ea(()=>{d.current.onDragging=o});const p=xO(og);if(p===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{activeHandleId:h,direction:m,groupId:v,registerResizeHandle:b,startDragging:w,stopDragging:y}=p,S=Xy(r),k=h===S,[_,P]=Xu(!1),[I,E]=Xu(null),O=si(()=>{c.current.blur(),y();const{onDragging:D}=d.current;D&&D(!1)},[y]);Ea(()=>{if(n)E(null);else{const M=b(S);E(()=>M)}},[n,S,b]),Ea(()=>{if(n||I==null||!k)return;const M=Q=>{I(Q)},D=Q=>{I(Q)},L=c.current.ownerDocument;return L.body.addEventListener("contextmenu",O),L.body.addEventListener("mousemove",M),L.body.addEventListener("touchmove",M),L.body.addEventListener("mouseleave",D),window.addEventListener("mouseup",O),window.addEventListener("touchend",O),()=>{L.body.removeEventListener("contextmenu",O),L.body.removeEventListener("mousemove",M),L.body.removeEventListener("touchmove",M),L.body.removeEventListener("mouseleave",D),window.removeEventListener("mouseup",O),window.removeEventListener("touchend",O)}},[m,n,k,I,O]),hte({disabled:n,handleId:S,resizeHandler:I});const R={cursor:IO(m),touchAction:"none",userSelect:"none"};return Rc(a,{children:e,className:t,"data-resize-handle-active":k?"pointer":_?"keyboard":void 0,"data-panel-group-direction":m,"data-panel-group-id":v,"data-panel-resize-handle-enabled":!n,"data-panel-resize-handle-id":S,onBlur:()=>P(!1),onFocus:()=>P(!0),onMouseDown:M=>{w(S,M.nativeEvent);const{onDragging:D}=d.current;D&&D(!0)},onMouseUp:O,onTouchCancel:O,onTouchEnd:O,onTouchStart:M=>{w(S,M.nativeEvent);const{onDragging:D}=d.current;D&&D(!0)},ref:c,role:"separator",style:{...R,...s},tabIndex:0})}L1.displayName="PanelResizeHandle";const Ste=(e,t,n,r="horizontal")=>{const o=f.useRef(null),[s,a]=f.useState(t),c=f.useCallback(()=>{var p,h;const d=(p=o.current)==null?void 0:p.getSize();d!==void 0&&d{const d=document.querySelector(`[data-panel-group-id="${n}"]`),p=document.querySelectorAll("[data-panel-resize-handle-id]");if(!d)return;const h=new ResizeObserver(()=>{let m=r==="horizontal"?d.getBoundingClientRect().width:d.getBoundingClientRect().height;p.forEach(v=>{m-=r==="horizontal"?v.getBoundingClientRect().width:v.getBoundingClientRect().height}),a(e/m*100)});return h.observe(d),p.forEach(m=>{h.observe(m)}),window.addEventListener("resize",c),()=>{h.disconnect(),window.removeEventListener("resize",c)}},[n,c,s,e,r]),{ref:o,minSizePct:s}},Cte=be([lt],e=>{const{initialImage:t}=e.generation;return{initialImage:t,isResetButtonDisabled:!t}},Je),kte=()=>{const{initialImage:e}=B(Cte),{currentData:t}=Is((e==null?void 0:e.imageName)??ro.skipToken),n=f.useMemo(()=>{if(t)return{id:"initial-image",payloadType:"IMAGE_DTO",payload:{imageDTO:t}}},[t]),r=f.useMemo(()=>({id:"initial-image",actionType:"SET_INITIAL_IMAGE"}),[]);return i.jsx(fl,{imageDTO:t,droppableData:r,draggableData:n,isUploadDisabled:!0,fitContainer:!0,dropLabel:"Set as Initial Image",noContentFallback:i.jsx(tl,{label:"No initial image selected"})})},_te=be([lt],e=>{const{initialImage:t}=e.generation;return{isResetButtonDisabled:!t}},Je),Pte={type:"SET_INITIAL_IMAGE"},jte=()=>{const{isResetButtonDisabled:e}=B(_te),t=te(),{getUploadButtonProps:n,getUploadInputProps:r}=rg({postUploadAction:Pte}),o=f.useCallback(()=>{t(N7())},[t]);return i.jsxs(W,{layerStyle:"first",sx:{position:"relative",flexDirection:"column",height:"full",width:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",p:4,gap:4},children:[i.jsxs(W,{sx:{w:"full",flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},children:[i.jsx(Qe,{sx:{fontWeight:600,userSelect:"none",color:"base.700",_dark:{color:"base.200"}},children:"Initial Image"}),i.jsx(ml,{}),i.jsx(ze,{tooltip:"Upload Initial Image","aria-label":"Upload Initial Image",icon:i.jsx(Vd,{}),...n()}),i.jsx(ze,{tooltip:"Reset Initial Image","aria-label":"Reset Initial Image",icon:i.jsx(Sy,{}),onClick:o,isDisabled:e})]}),i.jsx(kte,{}),i.jsx("input",{...r()})]})},Ite=e=>{const{label:t,activeLabel:n,children:r,defaultIsOpen:o=!1}=e,{isOpen:s,onToggle:a}=ss({defaultIsOpen:o}),{colorMode:c}=Ds();return i.jsxs(Re,{children:[i.jsxs(W,{onClick:a,sx:{alignItems:"center",p:2,px:4,gap:2,borderTopRadius:"base",borderBottomRadius:s?0:"base",bg:s?Fe("base.200","base.750")(c):Fe("base.150","base.800")(c),color:Fe("base.900","base.100")(c),_hover:{bg:s?Fe("base.250","base.700")(c):Fe("base.200","base.750")(c)},fontSize:"sm",fontWeight:600,cursor:"pointer",transitionProperty:"common",transitionDuration:"normal",userSelect:"none"},children:[t,i.jsx(mo,{children:n&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsx(Qe,{sx:{color:"accent.500",_dark:{color:"accent.300"}},children:n})},"statusText")}),i.jsx(ml,{}),i.jsx(zy,{sx:{w:"1rem",h:"1rem",transform:s?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]}),i.jsx(bm,{in:s,animateOpacity:!0,style:{overflow:"unset"},children:i.jsx(Re,{sx:{p:4,borderBottomRadius:"base",bg:"base.100",_dark:{bg:"base.800"}},children:r})})]})},Mo=f.memo(Ite),Ete=be(lt,e=>{const{combinatorial:t,isEnabled:n}=e.dynamicPrompts;return{combinatorial:t,isDisabled:!n}},Je),Ote=()=>{const{combinatorial:e,isDisabled:t}=B(Ete),n=te(),r=f.useCallback(()=>{n($7())},[n]);return i.jsx(yr,{isDisabled:t,label:"Combinatorial Generation",isChecked:e,onChange:r})},Rte=be(lt,e=>{const{isEnabled:t}=e.dynamicPrompts;return{isEnabled:t}},Je),Mte=()=>{const e=te(),{isEnabled:t}=B(Rte),n=f.useCallback(()=>{e(L7())},[e]);return i.jsx(yr,{label:"Enable Dynamic Prompts",isChecked:t,onChange:n})},Dte=be(lt,e=>{const{maxPrompts:t,combinatorial:n,isEnabled:r}=e.dynamicPrompts,{min:o,sliderMax:s,inputMax:a}=e.config.sd.dynamicPrompts.maxPrompts;return{maxPrompts:t,min:o,sliderMax:s,inputMax:a,isDisabled:!r||!n}},Je),Ate=()=>{const{maxPrompts:e,min:t,sliderMax:n,inputMax:r,isDisabled:o}=B(Dte),s=te(),a=f.useCallback(d=>{s(z7(d))},[s]),c=f.useCallback(()=>{s(B7())},[s]);return i.jsx(_t,{label:"Max Prompts",isDisabled:o,min:t,max:n,value:e,onChange:a,sliderNumberInputProps:{max:r},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:c})},Tte=be(lt,e=>{const{isEnabled:t}=e.dynamicPrompts;return{activeLabel:t?"Enabled":void 0}},Je),Kd=()=>{const{activeLabel:e}=B(Tte);return ir("dynamicPrompting").isFeatureEnabled?i.jsx(Mo,{label:"Dynamic Prompts",activeLabel:e,children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(Mte,{}),i.jsx(Ote,{}),i.jsx(Ate,{})]})}):null},Nte=be(lt,e=>{const{shouldUseNoiseSettings:t,shouldUseCpuNoise:n}=e.generation;return{isDisabled:!t,shouldUseCpuNoise:n}},Je),$te=()=>{const e=te(),{isDisabled:t,shouldUseCpuNoise:n}=B(Nte),r=o=>e(F7(o.target.checked));return i.jsx(yr,{isDisabled:t,label:"Use CPU Noise",isChecked:n,onChange:r})},Lte=be(lt,e=>{const{shouldUseNoiseSettings:t,threshold:n}=e.generation;return{isDisabled:!t,threshold:n}},Je);function zte(){const e=te(),{threshold:t,isDisabled:n}=B(Lte),{t:r}=ye();return i.jsx(_t,{isDisabled:n,label:r("parameters.noiseThreshold"),min:0,max:20,step:.1,onChange:o=>e(ow(o)),handleReset:()=>e(ow(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const Bte=()=>{const e=te(),t=B(r=>r.generation.shouldUseNoiseSettings),n=r=>e(H7(r.target.checked));return i.jsx(yr,{label:"Enable Noise Settings",isChecked:t,onChange:n})},Fte=be(lt,e=>{const{shouldUseNoiseSettings:t,perlin:n}=e.generation;return{isDisabled:!t,perlin:n}},Je);function Hte(){const e=te(),{perlin:t,isDisabled:n}=B(Fte),{t:r}=ye();return i.jsx(_t,{isDisabled:n,label:r("parameters.perlinNoise"),min:0,max:1,step:.05,onChange:o=>e(sw(o)),handleReset:()=>e(sw(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const Wte=be(lt,e=>{const{shouldUseNoiseSettings:t}=e.generation;return{activeLabel:t?"Enabled":void 0}},Je),Vte=()=>{const{t:e}=ye(),t=ir("noise").isFeatureEnabled,n=ir("perlinNoise").isFeatureEnabled,r=ir("noiseThreshold").isFeatureEnabled,{activeLabel:o}=B(Wte);return t?i.jsx(Mo,{label:e("parameters.noiseSettings"),activeLabel:o,children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(Bte,{}),i.jsx($te,{}),n&&i.jsx(Hte,{}),r&&i.jsx(zte,{})]})}):null},ag=f.memo(Vte),Ute=be(vo,e=>({isProcessing:e.isProcessing,isConnected:e.isConnected,isCancelable:e.isCancelable,currentIteration:e.currentIteration,totalIterations:e.totalIterations,sessionId:e.sessionId,cancelType:e.cancelType,isCancelScheduled:e.isCancelScheduled}),{memoizeOptions:{resultEqualityCheck:Zt}}),Gte=e=>{const t=te(),{btnGroupWidth:n="auto",...r}=e,{isProcessing:o,isConnected:s,isCancelable:a,cancelType:c,isCancelScheduled:d,sessionId:p}=B(Ute),h=f.useCallback(()=>{if(p){if(c==="scheduled"){t(W7());return}t(V7({session_id:p}))}},[t,p,c]),{t:m}=ye(),v=f.useCallback(y=>{const S=Array.isArray(y)?y[0]:y;t(U7(S))},[t]);tt("shift+x",()=>{(s||o)&&a&&h()},[s,o,a]);const b=f.useMemo(()=>m(d?"parameters.cancel.isScheduled":c==="immediate"?"parameters.cancel.immediate":"parameters.cancel.schedule"),[m,c,d]),w=f.useMemo(()=>d?i.jsx(Yp,{}):c==="immediate"?i.jsx(tte,{}):i.jsx(Qee,{}),[c,d]);return i.jsxs(rr,{isAttached:!0,width:n,children:[i.jsx(ze,{icon:w,tooltip:b,"aria-label":b,isDisabled:!s||!o||!a,onClick:h,colorScheme:"error",id:"cancel-button",...r}),i.jsxs(Dd,{closeOnSelect:!1,children:[i.jsx(Ad,{as:ze,tooltip:m("parameters.cancel.setType"),"aria-label":m("parameters.cancel.setType"),icon:i.jsx(AJ,{w:"1em",h:"1em"}),paddingX:0,paddingY:0,colorScheme:"error",minWidth:5,...r}),i.jsx(il,{minWidth:"240px",children:i.jsxs(S6,{value:c,title:"Cancel Type",type:"radio",onChange:v,children:[i.jsx(rh,{value:"immediate",children:m("parameters.cancel.immediate")}),i.jsx(rh,{value:"scheduled",children:m("parameters.cancel.schedule")})]})})]})]})},ig=f.memo(Gte),qte=be([lt,Kn],(e,t)=>{const{generation:n,system:r}=e,{initialImage:o}=n,{isProcessing:s,isConnected:a}=r;let c=!0;const d=[];t==="img2img"&&!o&&(c=!1,d.push("No initial image selected"));const{isSuccess:p}=G7.endpoints.getMainModels.select(Qu)(e);return p||(c=!1,d.push("Models are not loaded")),s&&(c=!1,d.push("System Busy")),a||(c=!1,d.push("System Disconnected")),oo(e.controlNet.controlNets,(h,m)=>{h.model||(c=!1,d.push(`ControlNet ${m} has no model selected.`))}),{isReady:c,reasonsWhyNotReady:d}},Je),Xd=()=>{const{isReady:e}=B(qte);return e},Kte=be(vo,e=>({isProcessing:e.isProcessing,currentStep:e.currentStep,totalSteps:e.totalSteps,currentStatusHasSteps:e.currentStatusHasSteps}),{memoizeOptions:{resultEqualityCheck:Zt}}),Xte=()=>{const{t:e}=ye(),{isProcessing:t,currentStep:n,totalSteps:r,currentStatusHasSteps:o}=B(Kte),s=n?Math.round(n*100/r):0;return i.jsx(N6,{value:s,"aria-label":e("accessibility.invokeProgressBar"),isIndeterminate:t&&!o,height:"full",colorScheme:"accent"})},MO=f.memo(Xte),Dk={_disabled:{bg:"none",color:"base.600",cursor:"not-allowed",_hover:{color:"base.600",bg:"none"}}},Yte=be([lt,Kn,kr],({gallery:e},t,n)=>{const{autoAddBoardId:r}=e;return{isBusy:n,autoAddBoardId:r,activeTabName:t}},Je);function Zy(e){const{iconButton:t=!1,...n}=e,r=te(),o=Xd(),{isBusy:s,autoAddBoardId:a,activeTabName:c}=B(Yte),d=Qm(a),p=f.useCallback(()=>{r(xd()),r(wd(c))},[r,c]),{t:h}=ye();return tt(["ctrl+enter","meta+enter"],p,{enabled:()=>o,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[o,c]),i.jsx(Re,{style:{flexGrow:4},position:"relative",children:i.jsxs(Re,{style:{position:"relative"},children:[!o&&i.jsx(Re,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},...n,children:i.jsx(MO,{})}),i.jsx(vn,{placement:"top",hasArrow:!0,openDelay:500,label:a?`Auto-Adding to ${d}`:void 0,children:t?i.jsx(ze,{"aria-label":h("parameters.invoke"),type:"submit",icon:i.jsx(aE,{}),isDisabled:!o||s,onClick:p,tooltip:h("parameters.invoke"),tooltipProps:{placement:"top"},colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,...s?Dk:{}}}):i.jsx(Yt,{"aria-label":h("parameters.invoke"),type:"submit",isDisabled:!o||s,onClick:p,colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,fontWeight:700,...s?Dk:{}},children:"Invoke"})})]})})}const Yd=()=>i.jsxs(W,{gap:2,children:[i.jsx(Zy,{}),i.jsx(ig,{})]}),ex=e=>{e.stopPropagation()},Qte=Ae((e,t)=>{const n=te(),r=f.useCallback(s=>{s.shiftKey&&n(jo(!0))},[n]),o=f.useCallback(s=>{s.shiftKey||n(jo(!1))},[n]);return i.jsx(ey,{ref:t,onPaste:ex,onKeyDown:r,onKeyUp:o,...e})}),lg=f.memo(Qte),Jte=e=>{const{onClick:t}=e;return i.jsx(ze,{size:"sm","aria-label":"Add Embedding",tooltip:"Add Embedding",icon:i.jsx(yy,{}),sx:{p:2,color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}}},variant:"link",onClick:t})},cg=f.memo(Jte),tx="28rem",ug=e=>{const{onSelect:t,isOpen:n,onClose:r,children:o}=e,{data:s}=q7(),a=f.useRef(null),c=B(h=>h.generation.model),d=f.useMemo(()=>{if(!s)return[];const h=[];return oo(s.entities,(m,v)=>{if(!m)return;const b=(c==null?void 0:c.base_model)!==m.base_model;h.push({value:m.model_name,label:m.model_name,group:Qn[m.base_model],disabled:b,tooltip:b?`Incompatible base model: ${m.base_model}`:void 0})}),h.sort((m,v)=>{var b;return m.label&&v.label?(b=m.label)!=null&&b.localeCompare(v.label)?-1:1:-1}),h.sort((m,v)=>m.disabled&&!v.disabled?1:-1)},[s,c==null?void 0:c.base_model]),p=f.useCallback(h=>{h&&t(h)},[t]);return i.jsxs(Qb,{initialFocusRef:a,isOpen:n,onClose:r,placement:"bottom",openDelay:0,closeDelay:0,closeOnBlur:!0,returnFocusOnClose:!0,children:[i.jsx(Yb,{children:o}),i.jsx(Jb,{sx:{p:0,top:-1,shadow:"dark-lg",borderColor:"accent.300",borderWidth:"2px",borderStyle:"solid",_dark:{borderColor:"accent.400"}},children:i.jsx(A6,{sx:{p:0,w:`calc(${tx} - 2rem )`},children:d.length===0?i.jsx(W,{sx:{justifyContent:"center",p:2,fontSize:"sm",color:"base.500",_dark:{color:"base.700"}},children:i.jsx(Qe,{children:"No Embeddings Loaded"})}):i.jsx(ar,{inputRef:a,autoFocus:!0,placeholder:"Add Embedding",value:null,data:d,nothingFound:"No matching Embeddings",itemComponent:Oi,disabled:d.length===0,onDropdownClose:r,filter:(h,m)=>{var v;return((v=m.label)==null?void 0:v.toLowerCase().includes(h.toLowerCase().trim()))||m.value.toLowerCase().includes(h.toLowerCase().trim())},onChange:p})})})]})},DO=()=>{const e=B(m=>m.generation.negativePrompt),t=f.useRef(null),{isOpen:n,onClose:r,onOpen:o}=ss(),s=te(),{t:a}=ye(),c=f.useCallback(m=>{s(zu(m.target.value))},[s]),d=f.useCallback(m=>{m.key==="<"&&o()},[o]),p=f.useCallback(m=>{if(!t.current)return;const v=t.current.selectionStart;if(v===void 0)return;let b=e.slice(0,v);b[b.length-1]!=="<"&&(b+="<"),b+=`${m}>`;const w=b.length;b+=e.slice(v),_i.flushSync(()=>{s(zu(b))}),t.current.selectionEnd=w,r()},[s,r,e]),h=ir("embedding").isFeatureEnabled;return i.jsxs(go,{children:[i.jsx(ug,{isOpen:n,onClose:r,onSelect:p,children:i.jsx(lg,{id:"negativePrompt",name:"negativePrompt",ref:t,value:e,placeholder:a("parameters.negativePromptPlaceholder"),onChange:c,resize:"vertical",fontSize:"sm",minH:16,...h&&{onKeyDown:d}})}),!n&&h&&i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(cg,{onClick:o})})]})},Zte=be([lt,Kn],({generation:e,ui:t},n)=>({shouldPinParametersPanel:t.shouldPinParametersPanel,prompt:e.positivePrompt,activeTabName:n}),{memoizeOptions:{resultEqualityCheck:Zt}}),AO=()=>{const e=te(),{prompt:t,shouldPinParametersPanel:n,activeTabName:r}=B(Zte),o=Xd(),s=f.useRef(null),{isOpen:a,onClose:c,onOpen:d}=ss(),{t:p}=ye(),h=f.useCallback(w=>{e(Lu(w.target.value))},[e]);tt("alt+a",()=>{var w;(w=s.current)==null||w.focus()},[]);const m=f.useCallback(w=>{if(!s.current)return;const y=s.current.selectionStart;if(y===void 0)return;let S=t.slice(0,y);S[S.length-1]!=="<"&&(S+="<"),S+=`${w}>`;const k=S.length;S+=t.slice(y),_i.flushSync(()=>{e(Lu(S))}),s.current.selectionStart=k,s.current.selectionEnd=k,c()},[e,c,t]),v=ir("embedding").isFeatureEnabled,b=f.useCallback(w=>{w.key==="Enter"&&w.shiftKey===!1&&o&&(w.preventDefault(),e(xd()),e(wd(r))),v&&w.key==="<"&&d()},[o,e,r,d,v]);return i.jsxs(Re,{position:"relative",children:[i.jsx(go,{children:i.jsx(ug,{isOpen:a,onClose:c,onSelect:m,children:i.jsx(lg,{id:"prompt",name:"prompt",ref:s,value:t,placeholder:p("parameters.positivePromptPlaceholder"),onChange:h,onKeyDown:b,resize:"vertical",minH:32})})}),!a&&v&&i.jsx(Re,{sx:{position:"absolute",top:n?5:0,insetInlineEnd:0},children:i.jsx(cg,{onClick:d})})]})};function ene(){const e=B(o=>o.sdxl.shouldConcatSDXLStylePrompt),t=B(o=>o.ui.shouldPinParametersPanel),n=te(),r=()=>{n(K7(!e))};return i.jsx(ze,{"aria-label":"Concatenate Prompt & Style",tooltip:"Concatenate Prompt & Style",variant:"outline",isChecked:e,onClick:r,icon:i.jsx(oE,{}),size:"xs",sx:{position:"absolute",insetInlineEnd:1,top:t?12:20,border:"none",color:e?"accent.500":"base.500",_hover:{bg:"none"}}})}const Ak={position:"absolute",bg:"none",w:"full",minH:2,borderRadius:0,borderLeft:"none",borderRight:"none",zIndex:2,maskImage:"radial-gradient(circle at center, black, black 65%, black 30%, black 15%, transparent)"};function TO(){return i.jsxs(W,{children:[i.jsx(Re,{as:Er.div,initial:{scaleX:0,borderWidth:0,display:"none"},animate:{display:["block","block","block","none"],scaleX:[0,.25,.5,1],borderWidth:[0,3,3,0],transition:{duration:.37,times:[0,.25,.5,1]}},sx:{top:"1px",borderTop:"none",borderColor:"base.400",...Ak,_dark:{borderColor:"accent.500"}}}),i.jsx(Re,{as:Er.div,initial:{opacity:0,scale:0},animate:{opacity:[0,1,1,1],scale:[0,.75,1.5,1],transition:{duration:.42,times:[0,.25,.5,1]}},exit:{opacity:0,scale:0},sx:{zIndex:3,position:"absolute",left:"48%",top:"3px",p:1,borderRadius:4,bg:"accent.400",color:"base.50",_dark:{bg:"accent.500"}},children:i.jsx(oE,{size:12})}),i.jsx(Re,{as:Er.div,initial:{scaleX:0,borderWidth:0,display:"none"},animate:{display:["block","block","block","none"],scaleX:[0,.25,.5,1],borderWidth:[0,3,3,0],transition:{duration:.37,times:[0,.25,.5,1]}},sx:{top:"17px",borderBottom:"none",borderColor:"base.400",...Ak,_dark:{borderColor:"accent.500"}}})]})}const tne=be([lt,Kn],({sdxl:e},t)=>{const{negativeStylePrompt:n,shouldConcatSDXLStylePrompt:r}=e;return{prompt:n,shouldConcatSDXLStylePrompt:r,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),nne=()=>{const e=te(),t=Xd(),n=f.useRef(null),{isOpen:r,onClose:o,onOpen:s}=ss(),{prompt:a,activeTabName:c,shouldConcatSDXLStylePrompt:d}=B(tne),p=f.useCallback(b=>{e(Fu(b.target.value))},[e]),h=f.useCallback(b=>{if(!n.current)return;const w=n.current.selectionStart;if(w===void 0)return;let y=a.slice(0,w);y[y.length-1]!=="<"&&(y+="<"),y+=`${b}>`;const S=y.length;y+=a.slice(w),_i.flushSync(()=>{e(Fu(y))}),n.current.selectionStart=S,n.current.selectionEnd=S,o()},[e,o,a]),m=ir("embedding").isFeatureEnabled,v=f.useCallback(b=>{b.key==="Enter"&&b.shiftKey===!1&&t&&(b.preventDefault(),e(xd()),e(wd(c))),m&&b.key==="<"&&s()},[t,e,c,s,m]);return i.jsxs(Re,{position:"relative",children:[i.jsx(mo,{children:d&&i.jsx(Re,{sx:{position:"absolute",left:"3",w:"94%",top:"-17px"},children:i.jsx(TO,{})})}),i.jsx(go,{children:i.jsx(ug,{isOpen:r,onClose:o,onSelect:h,children:i.jsx(lg,{id:"prompt",name:"prompt",ref:n,value:a,placeholder:"Negative Style Prompt",onChange:p,onKeyDown:v,resize:"vertical",fontSize:"sm",minH:16})})}),!r&&m&&i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(cg,{onClick:s})})]})},rne=be([lt,Kn],({sdxl:e},t)=>{const{positiveStylePrompt:n,shouldConcatSDXLStylePrompt:r}=e;return{prompt:n,shouldConcatSDXLStylePrompt:r,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),one=()=>{const e=te(),t=Xd(),n=f.useRef(null),{isOpen:r,onClose:o,onOpen:s}=ss(),{prompt:a,activeTabName:c,shouldConcatSDXLStylePrompt:d}=B(rne),p=f.useCallback(b=>{e(Bu(b.target.value))},[e]),h=f.useCallback(b=>{if(!n.current)return;const w=n.current.selectionStart;if(w===void 0)return;let y=a.slice(0,w);y[y.length-1]!=="<"&&(y+="<"),y+=`${b}>`;const S=y.length;y+=a.slice(w),_i.flushSync(()=>{e(Bu(y))}),n.current.selectionStart=S,n.current.selectionEnd=S,o()},[e,o,a]),m=ir("embedding").isFeatureEnabled,v=f.useCallback(b=>{b.key==="Enter"&&b.shiftKey===!1&&t&&(b.preventDefault(),e(xd()),e(wd(c))),m&&b.key==="<"&&s()},[t,e,c,s,m]);return i.jsxs(Re,{position:"relative",children:[i.jsx(mo,{children:d&&i.jsx(Re,{sx:{position:"absolute",left:"3",w:"94%",top:"-17px"},children:i.jsx(TO,{})})}),i.jsx(go,{children:i.jsx(ug,{isOpen:r,onClose:o,onSelect:h,children:i.jsx(lg,{id:"prompt",name:"prompt",ref:n,value:a,placeholder:"Positive Style Prompt",onChange:p,onKeyDown:v,resize:"vertical",minH:16})})}),!r&&m&&i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(cg,{onClick:s})})]})};function NO(){return i.jsxs(W,{sx:{flexDirection:"column",gap:2},children:[i.jsx(AO,{}),i.jsx(ene,{}),i.jsx(one,{}),i.jsx(DO,{}),i.jsx(nne,{})]})}const Xc=()=>{const{isRefinerAvailable:e}=na(ib,{selectFromResult:({data:t})=>({isRefinerAvailable:t?t.ids.length>0:!1})});return e},sne=be([lt],({sdxl:e,hotkeys:t})=>{const{refinerAestheticScore:n}=e,{shift:r}=t;return{refinerAestheticScore:n,shift:r}},Je),ane=()=>{const{refinerAestheticScore:e,shift:t}=B(sne),n=Xc(),r=te(),o=f.useCallback(a=>r(Mv(a)),[r]),s=f.useCallback(()=>r(Mv(6)),[r]);return i.jsx(_t,{label:"Aesthetic Score",step:t?.1:.5,min:1,max:10,onChange:o,handleReset:s,value:e,sliderNumberInputProps:{max:10},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!n})},ine=f.memo(ane),am=/^-?(0\.)?\.?$/,lne=e=>{const{label:t,isDisabled:n=!1,showStepper:r=!0,isInvalid:o,value:s,onChange:a,min:c,max:d,isInteger:p=!0,formControlProps:h,formLabelProps:m,numberInputFieldProps:v,numberInputStepperProps:b,tooltipProps:w,...y}=e,S=te(),[k,_]=f.useState(String(s));f.useEffect(()=>{!k.match(am)&&s!==Number(k)&&_(String(s))},[s,k]);const P=R=>{_(R),R.match(am)||a(p?Math.floor(Number(R)):Number(R))},I=R=>{const M=Es(p?Math.floor(Number(R.target.value)):Number(R.target.value),c,d);_(String(M)),a(M)},E=f.useCallback(R=>{R.shiftKey&&S(jo(!0))},[S]),O=f.useCallback(R=>{R.shiftKey||S(jo(!1))},[S]);return i.jsx(vn,{...w,children:i.jsxs(go,{isDisabled:n,isInvalid:o,...h,children:[t&&i.jsx(Bo,{...m,children:t}),i.jsxs(km,{value:k,min:c,max:d,keepWithinRange:!0,clampValueOnBlur:!1,onChange:P,onBlur:I,...y,onPaste:ex,children:[i.jsx(Pm,{...v,onKeyDown:E,onKeyUp:O}),r&&i.jsxs(_m,{children:[i.jsx(Im,{...b}),i.jsx(jm,{...b})]})]})]})})},Yc=f.memo(lne),cne=be([lt],({sdxl:e,ui:t,hotkeys:n})=>{const{refinerCFGScale:r}=e,{shouldUseSliders:o}=t,{shift:s}=n;return{refinerCFGScale:r,shouldUseSliders:o,shift:s}},Je),une=()=>{const{refinerCFGScale:e,shouldUseSliders:t,shift:n}=B(cne),r=Xc(),o=te(),{t:s}=ye(),a=f.useCallback(d=>o(Rv(d)),[o]),c=f.useCallback(()=>o(Rv(7)),[o]);return t?i.jsx(_t,{label:s("parameters.cfgScale"),step:n?.1:.5,min:1,max:20,onChange:a,handleReset:c,value:e,sliderNumberInputProps:{max:200},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!r}):i.jsx(Yc,{label:s("parameters.cfgScale"),step:.5,min:1,max:200,onChange:a,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"},isDisabled:!r})},dne=f.memo(une),fne=e=>{const t=Sd("models"),[n,r,o]=e.split("/"),s=X7.safeParse({base_model:n,model_name:o,model_type:r});if(!s.success){t.error({mainModelId:e,errors:s.error.format()},"Failed to parse main model id");return}return s.data};function Qd(e){const{iconMode:t=!1}=e,n=te(),{t:r}=ye(),[o,{isLoading:s}]=Y7(),a=()=>{o().unwrap().then(c=>{n(On(Mn({title:`${r("modelManager.modelsSynced")}`,status:"success"})))}).catch(c=>{c&&n(On(Mn({title:`${r("modelManager.modelSyncFailed")}`,status:"error"})))})};return t?i.jsx(ze,{icon:i.jsx(cE,{}),tooltip:r("modelManager.syncModels"),"aria-label":r("modelManager.syncModels"),isLoading:s,onClick:a,size:"sm"}):i.jsx(Yt,{isLoading:s,onClick:a,minW:"max-content",children:"Sync Models"})}const pne=be(lt,e=>({model:e.sdxl.refinerModel}),Je),hne=()=>{const e=te(),t=ir("syncModels").isFeatureEnabled,{model:n}=B(pne),{data:r,isLoading:o}=na(ib),s=f.useMemo(()=>{if(!r)return[];const d=[];return oo(r.entities,(p,h)=>{p&&d.push({value:h,label:p.model_name,group:Qn[p.base_model]})}),d},[r]),a=f.useMemo(()=>(r==null?void 0:r.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])??null,[r==null?void 0:r.entities,n]),c=f.useCallback(d=>{if(!d)return;const p=fne(d);p&&e(q_(p))},[e]);return o?i.jsx(ar,{label:"Refiner Model",placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(ar,{tooltip:a==null?void 0:a.description,label:"Refiner Model",value:a==null?void 0:a.id,placeholder:s.length>0?"Select a model":"No models available",data:s,error:s.length===0,disabled:s.length===0,onChange:c,w:"100%"}),t&&i.jsx(Re,{mt:7,children:i.jsx(Qd,{iconMode:!0})})]})},mne=f.memo(hne),gne=be(lt,({ui:e,sdxl:t})=>{const{refinerScheduler:n}=t,{favoriteSchedulers:r}=e,o=cs(ab,(s,a)=>({value:a,label:s,group:r.includes(a)?"Favorites":void 0})).sort((s,a)=>s.label.localeCompare(a.label));return{refinerScheduler:n,data:o}},Je),vne=()=>{const e=te(),{t}=ye(),{refinerScheduler:n,data:r}=B(gne),o=Xc(),s=f.useCallback(a=>{a&&e(K_(a))},[e]);return i.jsx(ar,{w:"100%",label:t("parameters.scheduler"),value:n,data:r,onChange:s,disabled:!o})},bne=f.memo(vne),yne=be([lt],({sdxl:e})=>{const{refinerStart:t}=e;return{refinerStart:t}},Je),xne=()=>{const{refinerStart:e}=B(yne),t=te(),n=Xc(),r=f.useCallback(s=>t(Dv(s)),[t]),o=f.useCallback(()=>t(Dv(.7)),[t]);return i.jsx(_t,{label:"Refiner Start",step:.01,min:0,max:1,onChange:r,handleReset:o,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!n})},wne=f.memo(xne),Sne=be([lt],({sdxl:e,ui:t})=>{const{refinerSteps:n}=e,{shouldUseSliders:r}=t;return{refinerSteps:n,shouldUseSliders:r}},Je),Cne=()=>{const{refinerSteps:e,shouldUseSliders:t}=B(Sne),n=Xc(),r=te(),{t:o}=ye(),s=f.useCallback(c=>{r(Ov(c))},[r]),a=f.useCallback(()=>{r(Ov(20))},[r]);return t?i.jsx(_t,{label:o("parameters.steps"),min:1,max:100,step:1,onChange:s,handleReset:a,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:500},isDisabled:!n}):i.jsx(Yc,{label:o("parameters.steps"),min:1,max:500,step:1,onChange:s,value:e,numberInputFieldProps:{textAlign:"center"},isDisabled:!n})},kne=f.memo(Cne);function _ne(){const e=B(o=>o.sdxl.shouldUseSDXLRefiner),t=Xc(),n=te(),r=o=>{n(Q7(o.target.checked))};return i.jsx(yr,{label:"Use Refiner",isChecked:e,onChange:r,isDisabled:!t})}const Pne=be(lt,e=>{const{shouldUseSDXLRefiner:t}=e.sdxl,{shouldUseSliders:n}=e.ui;return{activeLabel:t?"Enabled":void 0,shouldUseSliders:n}},Je),$O=()=>{const{activeLabel:e,shouldUseSliders:t}=B(Pne);return i.jsx(Mo,{label:"Refiner",activeLabel:e,children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(_ne,{}),i.jsx(mne,{}),i.jsxs(W,{gap:2,flexDirection:t?"column":"row",children:[i.jsx(kne,{}),i.jsx(dne,{})]}),i.jsx(bne,{}),i.jsx(ine,{}),i.jsx(wne,{})]})})},jne=be([lt],({generation:e,config:t,ui:n,hotkeys:r})=>{const{initial:o,min:s,sliderMax:a,inputMax:c}=t.sd.guidance,{cfgScale:d}=e,{shouldUseSliders:p}=n,{shift:h}=r;return{cfgScale:d,initial:o,min:s,sliderMax:a,inputMax:c,shouldUseSliders:p,shift:h}},Je),Ine=()=>{const{cfgScale:e,initial:t,min:n,sliderMax:r,inputMax:o,shouldUseSliders:s,shift:a}=B(jne),c=te(),{t:d}=ye(),p=f.useCallback(m=>c(Hp(m)),[c]),h=f.useCallback(()=>c(Hp(t)),[c,t]);return s?i.jsx(_t,{label:d("parameters.cfgScale"),step:a?.1:.5,min:n,max:r,onChange:p,handleReset:h,value:e,sliderNumberInputProps:{max:o},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1}):i.jsx(Yc,{label:d("parameters.cfgScale"),step:.5,min:n,max:o,onChange:p,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"}})},xi=f.memo(Ine),Ene=be([lt],e=>{const{initial:t,min:n,sliderMax:r,inputMax:o,fineStep:s,coarseStep:a}=e.config.sd.iterations,{iterations:c}=e.generation,{shouldUseSliders:d}=e.ui,p=e.dynamicPrompts.isEnabled&&e.dynamicPrompts.combinatorial,h=e.hotkeys.shift?s:a;return{iterations:c,initial:t,min:n,sliderMax:r,inputMax:o,step:h,shouldUseSliders:d,isDisabled:p}},Je),One=()=>{const{iterations:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:a,isDisabled:c}=B(Ene),d=te(),{t:p}=ye(),h=f.useCallback(v=>{d(aw(v))},[d]),m=f.useCallback(()=>{d(aw(t))},[d,t]);return a?i.jsx(_t,{isDisabled:c,label:p("parameters.images"),step:s,min:n,max:r,onChange:h,handleReset:m,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):i.jsx(Yc,{isDisabled:c,label:p("parameters.images"),step:s,min:n,max:o,onChange:h,value:e,numberInputFieldProps:{textAlign:"center"}})},wi=f.memo(One),nx=e=>{const t=Sd("models"),[n,r,o]=e.split("/"),s=J7.safeParse({base_model:n,model_name:o,model_type:r});if(!s.success){t.error({mainModelId:e,errors:s.error.format()},"Failed to parse main model id");return}return s.data},Rne=be(lt,e=>({model:e.generation.model}),Je),Mne=()=>{const e=te(),{t}=ye(),{model:n}=B(Rne),r=ir("syncModels").isFeatureEnabled,{data:o,isLoading:s}=na(Qu),{data:a,isLoading:c}=Up(Qu),d=B(Kn),p=f.useMemo(()=>{if(!o)return[];const v=[];return oo(o.entities,(b,w)=>{!b||d==="unifiedCanvas"&&b.base_model==="sdxl"||v.push({value:w,label:b.model_name,group:Qn[b.base_model]})}),oo(a==null?void 0:a.entities,(b,w)=>{!b||d==="unifiedCanvas"||d==="img2img"||v.push({value:w,label:b.model_name,group:Qn[b.base_model]})}),v},[o,a,d]),h=f.useMemo(()=>((o==null?void 0:o.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])||(a==null?void 0:a.entities[`${n==null?void 0:n.base_model}/onnx/${n==null?void 0:n.model_name}`]))??null,[o==null?void 0:o.entities,n,a==null?void 0:a.entities]),m=f.useCallback(v=>{if(!v)return;const b=nx(v);b&&e(Iv(b))},[e]);return s||c?i.jsx(ar,{label:t("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:3,children:[i.jsx(ar,{tooltip:h==null?void 0:h.description,label:t("modelManager.model"),value:h==null?void 0:h.id,placeholder:p.length>0?"Select a model":"No models available",data:p,error:p.length===0,disabled:p.length===0,onChange:m,w:"100%"}),r&&i.jsx(Re,{mt:7,children:i.jsx(Qd,{iconMode:!0})})]})},Dne=f.memo(Mne),LO=e=>{const t=Sd("models"),[n,r,o]=e.split("/"),s=Z7.safeParse({base_model:n,model_name:o});if(!s.success){t.error({vaeModelId:e,errors:s.error.format()},"Failed to parse VAE model id");return}return s.data},Ane=be(lt,({generation:e})=>{const{model:t,vae:n}=e;return{model:t,vae:n}},Je),Tne=()=>{const e=te(),{t}=ye(),{model:n,vae:r}=B(Ane),{data:o}=t5(),s=f.useMemo(()=>{if(!o)return[];const d=[{value:"default",label:"Default",group:"Default"}];return oo(o.entities,(p,h)=>{if(!p)return;const m=(n==null?void 0:n.base_model)!==p.base_model;d.push({value:h,label:p.model_name,group:Qn[p.base_model],disabled:m,tooltip:m?`Incompatible base model: ${p.base_model}`:void 0})}),d.sort((p,h)=>p.disabled&&!h.disabled?1:-1)},[o,n==null?void 0:n.base_model]),a=f.useMemo(()=>(o==null?void 0:o.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[o==null?void 0:o.entities,r]),c=f.useCallback(d=>{if(!d||d==="default"){e(iw(null));return}const p=LO(d);p&&e(iw(p))},[e]);return i.jsx(ar,{itemComponent:Oi,tooltip:a==null?void 0:a.description,label:t("modelManager.vae"),value:(a==null?void 0:a.id)??"default",placeholder:"Default",data:s,onChange:c,disabled:s.length===0,clearable:!0})},Nne=f.memo(Tne),Mi=e=>e.generation,$ne=be([Ba,Mi],(e,t)=>{const{scheduler:n}=t,{favoriteSchedulers:r}=e,o=cs(ab,(s,a)=>({value:a,label:s,group:r.includes(a)?"Favorites":void 0})).sort((s,a)=>s.label.localeCompare(a.label));return{scheduler:n,data:o}},Je),Lne=()=>{const e=te(),{t}=ye(),{scheduler:n,data:r}=B($ne),o=f.useCallback(s=>{s&&e(Ev(s))},[e]);return i.jsx(ar,{label:t("parameters.scheduler"),value:n,data:r,onChange:o})},zne=f.memo(Lne),Bne=be(lt,({generation:e})=>{const{vaePrecision:t}=e;return{vaePrecision:t}},Je),Fne=["fp16","fp32"],Hne=()=>{const e=te(),{vaePrecision:t}=B(Bne),n=f.useCallback(r=>{r&&e(eM(r))},[e]);return i.jsx(Xr,{label:"VAE Precision",value:t,data:Fne,onChange:n})},Wne=f.memo(Hne),Vne=()=>{const e=ir("vae").isFeatureEnabled;return i.jsxs(W,{gap:3,w:"full",flexWrap:e?"wrap":"nowrap",children:[i.jsx(Re,{w:"full",children:i.jsx(Dne,{})}),i.jsx(Re,{w:"full",children:i.jsx(zne,{})}),e&&i.jsxs(W,{w:"full",gap:3,children:[i.jsx(Nne,{}),i.jsx(Wne,{})]})]})},Si=f.memo(Vne),Une=[{name:"Free",value:null},{name:"2:3",value:2/3},{name:"16:9",value:16/9},{name:"1:1",value:1/1}];function zO(){const e=B(o=>o.generation.aspectRatio),t=te(),n=B(o=>o.generation.shouldFitToWidthHeight),r=B(Kn);return i.jsx(W,{gap:2,flexGrow:1,children:i.jsx(rr,{isAttached:!0,children:Une.map(o=>i.jsx(Yt,{size:"sm",isChecked:e===o.value,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(tM(o.value)),children:o.name},o.name))})})}const Gne=be([lt],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.height,{height:p}=e,{aspectRatio:h}=e,m=t.shift?c:d;return{height:p,initial:r,min:o,sliderMax:s,inputMax:a,step:m,aspectRatio:h}},Je),qne=e=>{const{height:t,initial:n,min:r,sliderMax:o,inputMax:s,step:a,aspectRatio:c}=B(Gne),d=te(),{t:p}=ye(),h=f.useCallback(v=>{if(d(bc(v)),c){const b=ws(v*c,8);d(vc(b))}},[d,c]),m=f.useCallback(()=>{if(d(bc(n)),c){const v=ws(n*c,8);d(vc(v))}},[d,n,c]);return i.jsx(_t,{label:p("parameters.height"),value:t,min:r,step:a,max:o,onChange:h,handleReset:m,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},Kne=f.memo(qne),Xne=be([lt],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.width,{width:p,aspectRatio:h}=e,m=t.shift?c:d;return{width:p,initial:r,min:o,sliderMax:s,inputMax:a,step:m,aspectRatio:h}},Je),Yne=e=>{const{width:t,initial:n,min:r,sliderMax:o,inputMax:s,step:a,aspectRatio:c}=B(Xne),d=te(),{t:p}=ye(),h=f.useCallback(v=>{if(d(vc(v)),c){const b=ws(v/c,8);d(bc(b))}},[d,c]),m=f.useCallback(()=>{if(d(vc(n)),c){const v=ws(n/c,8);d(bc(v))}},[d,n,c]);return i.jsx(_t,{label:p("parameters.width"),value:t,min:r,step:a,max:o,onChange:h,handleReset:m,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},Qne=f.memo(Yne);function Mc(){const{t:e}=ye(),t=te(),n=B(o=>o.generation.shouldFitToWidthHeight),r=B(Kn);return i.jsxs(W,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[i.jsxs(W,{alignItems:"center",gap:2,children:[i.jsx(Qe,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:e("parameters.aspectRatio")}),i.jsx(ml,{}),i.jsx(zO,{}),i.jsx(ze,{tooltip:e("ui.swapSizes"),"aria-label":e("ui.swapSizes"),size:"sm",icon:i.jsx(vO,{}),fontSize:20,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(nM())})]}),i.jsx(W,{gap:2,alignItems:"center",children:i.jsxs(W,{gap:2,flexDirection:"column",width:"full",children:[i.jsx(Qne,{isDisabled:r==="img2img"?!n:!1}),i.jsx(Kne,{isDisabled:r==="img2img"?!n:!1})]})})]})}const Jne=be([lt],({generation:e,config:t,ui:n,hotkeys:r})=>{const{initial:o,min:s,sliderMax:a,inputMax:c,fineStep:d,coarseStep:p}=t.sd.steps,{steps:h}=e,{shouldUseSliders:m}=n,v=r.shift?d:p;return{steps:h,initial:o,min:s,sliderMax:a,inputMax:c,step:v,shouldUseSliders:m}},Je),Zne=()=>{const{steps:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:a}=B(Jne),c=te(),{t:d}=ye(),p=f.useCallback(v=>{c(Wp(v))},[c]),h=f.useCallback(()=>{c(Wp(t))},[c,t]),m=f.useCallback(()=>{c(xd())},[c]);return a?i.jsx(_t,{label:d("parameters.steps"),min:n,max:r,step:s,onChange:p,handleReset:h,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):i.jsx(Yc,{label:d("parameters.steps"),min:n,max:o,step:s,onChange:p,value:e,numberInputFieldProps:{textAlign:"center"},onBlur:m})},Ci=f.memo(Zne);function BO(){const e=te(),t=B(o=>o.generation.shouldFitToWidthHeight),n=o=>e(rM(o.target.checked)),{t:r}=ye();return i.jsx(yr,{label:r("parameters.imageFit"),isChecked:t,onChange:n})}function ere(){const e=B(a=>a.generation.seed),t=B(a=>a.generation.shouldRandomizeSeed),n=B(a=>a.generation.shouldGenerateVariations),{t:r}=ye(),o=te(),s=a=>o(Fp(a));return i.jsx(Yc,{label:r("parameters.seed"),step:1,precision:0,flexGrow:1,min:n5,max:r5,isDisabled:t,isInvalid:e<0&&n,onChange:s,value:e})}const tre=(e,t)=>Math.floor(Math.random()*(t-e+1)+e);function nre(){const e=te(),t=B(o=>o.generation.shouldRandomizeSeed),{t:n}=ye(),r=()=>e(Fp(tre(n5,r5)));return i.jsx(ze,{size:"sm",isDisabled:t,"aria-label":n("parameters.shuffle"),tooltip:n("parameters.shuffle"),onClick:r,icon:i.jsx(ZY,{})})}const rre=()=>{const e=te(),{t}=ye(),n=B(o=>o.generation.shouldRandomizeSeed),r=o=>e(oM(o.target.checked));return i.jsx(yr,{label:t("common.random"),isChecked:n,onChange:r})},ore=f.memo(rre),sre=()=>i.jsxs(W,{sx:{gap:3,alignItems:"flex-end"},children:[i.jsx(ere,{}),i.jsx(nre,{}),i.jsx(ore,{})]}),ki=f.memo(sre),are=be([lt],({sdxl:e})=>{const{sdxlImg2ImgDenoisingStrength:t}=e;return{sdxlImg2ImgDenoisingStrength:t}},Je),ire=()=>{const{sdxlImg2ImgDenoisingStrength:e}=B(are),t=te(),{t:n}=ye(),r=f.useCallback(s=>t(lw(s)),[t]),o=f.useCallback(()=>{t(lw(.7))},[t]);return i.jsx(_t,{label:`${n("parameters.denoisingStrength")}`,step:.01,min:0,max:1,onChange:r,handleReset:o,value:e,isInteger:!1,withInput:!0,withSliderMarks:!0,withReset:!0})},lre=f.memo(ire),cre=be([Ba,Mi],(e,t)=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Je),ure=()=>{const{shouldUseSliders:e,activeLabel:t}=B(cre);return i.jsx(Mo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(W,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(Mc,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(Mc,{})]}),i.jsx(lre,{}),i.jsx(BO,{})]})})},dre=f.memo(ure),fre=e=>{const t=te(),{lora:n}=e,r=f.useCallback(a=>{t(sM({id:n.id,weight:a}))},[t,n.id]),o=f.useCallback(()=>{t(aM(n.id))},[t,n.id]),s=f.useCallback(()=>{t(iM(n.id))},[t,n.id]);return i.jsxs(W,{sx:{gap:2.5,alignItems:"flex-end"},children:[i.jsx(_t,{label:n.model_name,value:n.weight,onChange:r,min:-1,max:2,step:.01,withInput:!0,withReset:!0,handleReset:o,withSliderMarks:!0,sliderMarks:[-1,0,1,2],sliderNumberInputProps:{min:-50,max:50}}),i.jsx(ze,{size:"sm",onClick:s,tooltip:"Remove LoRA","aria-label":"Remove LoRA",icon:i.jsx(Eo,{}),colorScheme:"error"})]})},pre=f.memo(fre),hre=be(lt,({lora:e})=>({lorasArray:cs(e.loras)}),Je),mre=()=>{const{lorasArray:e}=B(hre);return i.jsx(i.Fragment,{children:e.map((t,n)=>i.jsxs(i.Fragment,{children:[n>0&&i.jsx(Wa,{pt:1},`${t.model_name}-divider`),i.jsx(pre,{lora:t},t.model_name)]}))})},gre=be(lt,({lora:e})=>({loras:e.loras}),Je),vre=()=>{const e=te(),{loras:t}=B(gre),{data:n}=mm(),r=B(a=>a.generation.model),o=f.useMemo(()=>{if(!n)return[];const a=[];return oo(n.entities,(c,d)=>{if(!c||d in t)return;const p=(r==null?void 0:r.base_model)!==c.base_model;a.push({value:d,label:c.model_name,disabled:p,group:Qn[c.base_model],tooltip:p?`Incompatible base model: ${c.base_model}`:void 0})}),a.sort((c,d)=>{var p;return c.label&&d.label&&(p=c.label)!=null&&p.localeCompare(d.label)?1:-1}),a.sort((c,d)=>c.disabled&&!d.disabled?-1:1)},[t,n,r==null?void 0:r.base_model]),s=f.useCallback(a=>{if(!a)return;const c=n==null?void 0:n.entities[a];c&&e(lM(c))},[e,n==null?void 0:n.entities]);return(n==null?void 0:n.ids.length)===0?i.jsx(W,{sx:{justifyContent:"center",p:2},children:i.jsx(Qe,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):i.jsx(ar,{placeholder:o.length===0?"All LoRAs added":"Add LoRA",value:null,data:o,nothingFound:"No matching LoRAs",itemComponent:Oi,disabled:o.length===0,filter:(a,c)=>{var d;return((d=c.label)==null?void 0:d.toLowerCase().includes(a.toLowerCase().trim()))||c.value.toLowerCase().includes(a.toLowerCase().trim())},onChange:s})},bre=be(lt,e=>{const t=o5(e.lora.loras);return{activeLabel:t>0?`${t} Active`:void 0}},Je),yre=()=>{const{activeLabel:e}=B(bre);return ir("lora").isFeatureEnabled?i.jsx(Mo,{label:"LoRA",activeLabel:e,children:i.jsxs(W,{sx:{flexDir:"column",gap:2},children:[i.jsx(vre,{}),i.jsx(mre,{})]})}):null},Jd=f.memo(yre),FO=()=>i.jsxs(i.Fragment,{children:[i.jsx(NO,{}),i.jsx(Yd,{}),i.jsx(dre,{}),i.jsx($O,{}),i.jsx(Jd,{}),i.jsx(Kd,{}),i.jsx(ag,{})]}),HO=e=>{const{sx:t}=e,n=te(),r=B(a=>a.ui.shouldPinParametersPanel),{t:o}=ye(),s=()=>{n(cM(!r)),n(ko())};return i.jsx(ze,{...e,tooltip:o("common.pinOptionsPanel"),"aria-label":o("common.pinOptionsPanel"),onClick:s,icon:r?i.jsx(XE,{}):i.jsx(YE,{}),variant:"ghost",size:"sm",sx:{color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}},...t}})},xre=be(Ba,e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=e;return{shouldPinParametersPanel:t,shouldShowParametersPanel:n}}),wre=e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=B(xre);return t&&n?i.jsxs(Re,{sx:{position:"relative",h:"full",w:tx,flexShrink:0},children:[i.jsx(W,{sx:{gap:2,flexDirection:"column",h:"full",w:"full",position:"absolute",overflowY:"auto"},children:e.children}),i.jsx(HO,{sx:{position:"absolute",top:0,insetInlineEnd:0}})]}):null},rx=f.memo(wre),Sre=e=>{const{direction:t="horizontal",...n}=e,{colorMode:r}=Ds();return t==="horizontal"?i.jsx(L1,{children:i.jsx(W,{sx:{w:6,h:"full",justifyContent:"center",alignItems:"center"},...n,children:i.jsx(Re,{sx:{w:.5,h:"calc(100% - 4px)",bg:Fe("base.100","base.850")(r)}})})}):i.jsx(L1,{children:i.jsx(W,{sx:{w:"full",h:6,justifyContent:"center",alignItems:"center"},...n,children:i.jsx(Re,{sx:{w:"calc(100% - 4px)",h:.5,bg:Fe("base.100","base.850")(r)}})})})},WO=f.memo(Sre),Cre=be([lt],({system:e})=>{const{isProcessing:t,isConnected:n}=e;return n&&!t}),kre=e=>{const{onClick:t,isDisabled:n}=e,{t:r}=ye(),o=B(Cre);return i.jsx(ze,{onClick:t,icon:i.jsx(Eo,{}),tooltip:`${r("gallery.deleteImage")} (Del)`,"aria-label":`${r("gallery.deleteImage")} (Del)`,isDisabled:n||!o,colorScheme:"error"})},_re=[{label:"RealESRGAN x2 Plus",value:"RealESRGAN_x2plus.pth",tooltip:"Attempts to retain sharpness, low smoothing",group:"x2 Upscalers"},{label:"RealESRGAN x4 Plus",value:"RealESRGAN_x4plus.pth",tooltip:"Best for photos and highly detailed images, medium smoothing",group:"x4 Upscalers"},{label:"RealESRGAN x4 Plus (anime 6B)",value:"RealESRGAN_x4plus_anime_6B.pth",tooltip:"Best for anime/manga, high smoothing",group:"x4 Upscalers"},{label:"ESRGAN SRx4",value:"ESRGAN_SRx4_DF2KOST_official-ff704c30.pth",tooltip:"Retains sharpness, low smoothing",group:"x4 Upscalers"}];function Pre(){const e=B(r=>r.postprocessing.esrganModelName),t=te(),n=r=>t(uM(r));return i.jsx(Xr,{label:"ESRGAN Model",value:e,itemComponent:Oi,onChange:n,data:_re})}const jre=e=>{const{imageDTO:t}=e,n=te(),r=B(kr),{t:o}=ye(),{isOpen:s,onOpen:a,onClose:c}=ss(),d=f.useCallback(()=>{c(),t&&n(s5({image_name:t.image_name}))},[n,t,c]);return i.jsx(xl,{isOpen:s,onClose:c,triggerComponent:i.jsx(ze,{onClick:a,icon:i.jsx(LY,{}),"aria-label":o("parameters.upscale")}),children:i.jsxs(W,{sx:{flexDirection:"column",gap:4},children:[i.jsx(Pre,{}),i.jsx(Yt,{size:"sm",isDisabled:!t||r,onClick:d,children:o("parameters.upscaleImage")})]})})},Ire=be([lt,Kn],({gallery:e,system:t,ui:n},r)=>{const{isProcessing:o,isConnected:s,shouldConfirmOnDelete:a,progressImage:c}=t,{shouldShowImageDetails:d,shouldHidePreview:p,shouldShowProgressInViewer:h}=n,m=e.selection[e.selection.length-1];return{canDeleteImage:s&&!o,shouldConfirmOnDelete:a,isProcessing:o,isConnected:s,shouldDisableToolbarButtons:!!c||!m,shouldShowImageDetails:d,activeTabName:r,shouldHidePreview:p,shouldShowProgressInViewer:h,lastSelectedImage:m}},{memoizeOptions:{resultEqualityCheck:Zt}}),Ere=e=>{const t=te(),{isProcessing:n,isConnected:r,shouldDisableToolbarButtons:o,shouldShowImageDetails:s,lastSelectedImage:a,shouldShowProgressInViewer:c}=B(Ire),d=ir("upscaling").isFeatureEnabled,p=Vc(),{t:h}=ye(),{recallBothPrompts:m,recallSeed:v,recallAllParameters:b}=Gy(),[w,y]=Ky(a,500),{currentData:S}=Is((a==null?void 0:a.image_name)??ro.skipToken),{currentData:k}=rb(y.isPending()?ro.skipToken:(w==null?void 0:w.image_name)??ro.skipToken),_=k==null?void 0:k.metadata,P=f.useCallback(()=>{b(_)},[_,b]);tt("a",()=>{},[_,b]);const I=f.useCallback(()=>{v(_==null?void 0:_.seed)},[_==null?void 0:_.seed,v]);tt("s",I,[S]);const E=f.useCallback(()=>{m(_==null?void 0:_.positive_prompt,_==null?void 0:_.negative_prompt,_==null?void 0:_.positive_style_prompt,_==null?void 0:_.negative_style_prompt)},[_==null?void 0:_.negative_prompt,_==null?void 0:_.positive_prompt,_==null?void 0:_.positive_style_prompt,_==null?void 0:_.negative_style_prompt,m]);tt("p",E,[S]);const O=f.useCallback(()=>{t(fO()),t(tb(S))},[t,S]);tt("shift+i",O,[S]);const R=f.useCallback(()=>{S&&t(s5({image_name:S.image_name}))},[t,S]),M=f.useCallback(()=>{S&&t(pm([S]))},[t,S]);tt("Shift+U",()=>{R()},{enabled:()=>!!(d&&!o&&r&&!n)},[d,S,o,r,n]);const D=f.useCallback(()=>t(dM(!s)),[t,s]);tt("i",()=>{S?D():p({title:h("toast.metadataLoadFailed"),status:"error",duration:2500,isClosable:!0})},[S,s,p]),tt("delete",()=>{M()},[t,S]);const A=f.useCallback(()=>{t(e5(!c))},[t,c]);return i.jsx(i.Fragment,{children:i.jsxs(W,{sx:{flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},...e,children:[i.jsx(rr,{isAttached:!0,isDisabled:o,children:i.jsxs(Dd,{children:[i.jsx(Ad,{as:ze,"aria-label":`${h("parameters.sendTo")}...`,tooltip:`${h("parameters.sendTo")}...`,isDisabled:!S,icon:i.jsx(rQ,{})}),i.jsx(il,{motionProps:ed,children:S&&i.jsx(pO,{imageDTO:S})})]})}),i.jsxs(rr,{isAttached:!0,isDisabled:o,children:[i.jsx(ze,{icon:i.jsx(iE,{}),tooltip:`${h("parameters.usePrompt")} (P)`,"aria-label":`${h("parameters.usePrompt")} (P)`,isDisabled:!(_!=null&&_.positive_prompt),onClick:E}),i.jsx(ze,{icon:i.jsx(lE,{}),tooltip:`${h("parameters.useSeed")} (S)`,"aria-label":`${h("parameters.useSeed")} (S)`,isDisabled:!(_!=null&&_.seed),onClick:I}),i.jsx(ze,{icon:i.jsx(YI,{}),tooltip:`${h("parameters.useAll")} (A)`,"aria-label":`${h("parameters.useAll")} (A)`,isDisabled:!_,onClick:P})]}),d&&i.jsx(rr,{isAttached:!0,isDisabled:o,children:d&&i.jsx(jre,{imageDTO:S})}),i.jsx(rr,{isAttached:!0,isDisabled:o,children:i.jsx(ze,{icon:i.jsx(yy,{}),tooltip:`${h("parameters.info")} (I)`,"aria-label":`${h("parameters.info")} (I)`,isChecked:s,onClick:D})}),i.jsx(rr,{isAttached:!0,children:i.jsx(ze,{"aria-label":h("settings.displayInProgress"),tooltip:h("settings.displayInProgress"),icon:i.jsx(VY,{}),isChecked:c,onClick:A})}),i.jsx(rr,{isAttached:!0,children:i.jsx(kre,{onClick:M,isDisabled:o})})]})})},Ore=be([lt,ob],(e,t)=>{var _,P;const{data:n,status:r}=fM.endpoints.listImages.select(t)(e),{data:o}=e.gallery.galleryView==="images"?cw.endpoints.getBoardImagesTotal.select(t.board_id??"none")(e):cw.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(e),s=e.gallery.selection[e.gallery.selection.length-1],a=r==="pending";if(!n||!s||o===0)return{isFetching:a,queryArgs:t,isOnFirstImage:!0,isOnLastImage:!0};const c={...t,offset:n.ids.length,limit:J_},d=pM.getSelectors(),p=d.selectAll(n),h=p.findIndex(I=>I.image_name===s.image_name),m=Es(h+1,0,p.length-1),v=Es(h-1,0,p.length-1),b=(_=p[m])==null?void 0:_.image_name,w=(P=p[v])==null?void 0:P.image_name,y=b?d.selectById(n,b):void 0,S=w?d.selectById(n,w):void 0,k=p.length;return{loadedImagesCount:p.length,currentImageIndex:h,areMoreImagesAvailable:(o??0)>k,isFetching:r==="pending",nextImage:y,prevImage:S,queryArgs:c}},{memoizeOptions:{resultEqualityCheck:Zt}}),VO=()=>{const e=te(),{nextImage:t,prevImage:n,areMoreImagesAvailable:r,isFetching:o,queryArgs:s,loadedImagesCount:a,currentImageIndex:c}=B(Ore),d=f.useCallback(()=>{n&&e(uw(n))},[e,n]),p=f.useCallback(()=>{t&&e(uw(t))},[e,t]),[h]=Q_(),m=f.useCallback(()=>{h(s)},[h,s]);return{handlePrevImage:d,handleNextImage:p,isOnFirstImage:c===0,isOnLastImage:c!==void 0&&c===a-1,nextImage:t,prevImage:n,areMoreImagesAvailable:r,handleLoadMoreImages:m,isFetching:o}};function Rre(e){return nt({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M245.09 327.74v-37.32c57.07 0 84.51 13.47 108.58 38.68 5.4 5.65 15 1.32 14.29-6.43-5.45-61.45-34.14-117.09-122.87-117.09v-37.32a8.32 8.32 0 00-14.05-6L146.58 242a8.2 8.2 0 000 11.94L231 333.71a8.32 8.32 0 0014.09-5.97z"}},{tag:"path",attr:{fill:"none",strokeMiterlimit:"10",strokeWidth:"32",d:"M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64z"}}]})(e)}const bs=({label:e,value:t,onClick:n,isLink:r,labelPosition:o,withCopy:s=!1})=>{const{t:a}=ye();return t?i.jsxs(W,{gap:2,children:[n&&i.jsx(vn,{label:`Recall ${e}`,children:i.jsx(ka,{"aria-label":a("accessibility.useThisParameter"),icon:i.jsx(Rre,{}),size:"xs",variant:"ghost",fontSize:20,onClick:n})}),s&&i.jsx(vn,{label:`Copy ${e}`,children:i.jsx(ka,{"aria-label":`Copy ${e}`,icon:i.jsx(qc,{}),size:"xs",variant:"ghost",fontSize:14,onClick:()=>navigator.clipboard.writeText(t.toString())})}),i.jsxs(W,{direction:o?"column":"row",children:[i.jsxs(Qe,{fontWeight:"semibold",whiteSpace:"pre-wrap",pr:2,children:[e,":"]}),r?i.jsxs(Mb,{href:t.toString(),isExternal:!0,wordBreak:"break-all",children:[t.toString()," ",i.jsx(VE,{mx:"2px"})]}):i.jsx(Qe,{overflowY:"scroll",wordBreak:"break-all",children:t.toString()})]})]}):null},Mre=e=>{const{metadata:t}=e,{recallPositivePrompt:n,recallNegativePrompt:r,recallSeed:o,recallCfgScale:s,recallModel:a,recallScheduler:c,recallSteps:d,recallWidth:p,recallHeight:h,recallStrength:m}=Gy(),v=f.useCallback(()=>{n(t==null?void 0:t.positive_prompt)},[t==null?void 0:t.positive_prompt,n]),b=f.useCallback(()=>{r(t==null?void 0:t.negative_prompt)},[t==null?void 0:t.negative_prompt,r]),w=f.useCallback(()=>{o(t==null?void 0:t.seed)},[t==null?void 0:t.seed,o]),y=f.useCallback(()=>{a(t==null?void 0:t.model)},[t==null?void 0:t.model,a]),S=f.useCallback(()=>{p(t==null?void 0:t.width)},[t==null?void 0:t.width,p]),k=f.useCallback(()=>{h(t==null?void 0:t.height)},[t==null?void 0:t.height,h]),_=f.useCallback(()=>{c(t==null?void 0:t.scheduler)},[t==null?void 0:t.scheduler,c]),P=f.useCallback(()=>{d(t==null?void 0:t.steps)},[t==null?void 0:t.steps,d]),I=f.useCallback(()=>{s(t==null?void 0:t.cfg_scale)},[t==null?void 0:t.cfg_scale,s]),E=f.useCallback(()=>{m(t==null?void 0:t.strength)},[t==null?void 0:t.strength,m]);return!t||Object.keys(t).length===0?null:i.jsxs(i.Fragment,{children:[t.generation_mode&&i.jsx(bs,{label:"Generation Mode",value:t.generation_mode}),t.positive_prompt&&i.jsx(bs,{label:"Positive Prompt",labelPosition:"top",value:t.positive_prompt,onClick:v}),t.negative_prompt&&i.jsx(bs,{label:"Negative Prompt",labelPosition:"top",value:t.negative_prompt,onClick:b}),t.seed!==void 0&&i.jsx(bs,{label:"Seed",value:t.seed,onClick:w}),t.model!==void 0&&i.jsx(bs,{label:"Model",value:t.model.model_name,onClick:y}),t.width&&i.jsx(bs,{label:"Width",value:t.width,onClick:S}),t.height&&i.jsx(bs,{label:"Height",value:t.height,onClick:k}),t.scheduler&&i.jsx(bs,{label:"Scheduler",value:t.scheduler,onClick:_}),t.steps&&i.jsx(bs,{label:"Steps",value:t.steps,onClick:P}),t.cfg_scale!==void 0&&i.jsx(bs,{label:"CFG scale",value:t.cfg_scale,onClick:I}),t.strength&&i.jsx(bs,{label:"Image to image strength",value:t.strength,onClick:E})]})},Dre=e=>{const{copyTooltip:t,jsonObject:n}=e,r=f.useMemo(()=>JSON.stringify(n,null,2),[n]);return i.jsxs(W,{sx:{borderRadius:"base",bg:"whiteAlpha.500",_dark:{bg:"blackAlpha.500"},flexGrow:1,w:"full",h:"full",position:"relative"},children:[i.jsx(Re,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"auto",p:4},children:i.jsx(zE,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:i.jsx("pre",{children:r})})}),i.jsx(W,{sx:{position:"absolute",top:0,insetInlineEnd:0,p:2},children:i.jsx(vn,{label:t,children:i.jsx(ka,{"aria-label":t,icon:i.jsx(qc,{}),variant:"ghost",onClick:()=>navigator.clipboard.writeText(r)})})})]})},Are=({image:e})=>{const[t,n]=Ky(e.image_name,500),{currentData:r}=rb(n.isPending()?ro.skipToken:t??ro.skipToken),o=r==null?void 0:r.metadata,s=r==null?void 0:r.graph,a=f.useMemo(()=>{const c=[];return o&&c.push({label:"Core Metadata",data:o,copyTooltip:"Copy Core Metadata JSON"}),e&&c.push({label:"Image Details",data:e,copyTooltip:"Copy Image Details JSON"}),s&&c.push({label:"Graph",data:s,copyTooltip:"Copy Graph JSON"}),c},[o,s,e]);return i.jsxs(W,{sx:{padding:4,gap:1,flexDirection:"column",width:"full",height:"full",backdropFilter:"blur(20px)",bg:"baseAlpha.200",_dark:{bg:"blackAlpha.600"},borderRadius:"base",position:"absolute",overflow:"hidden"},children:[i.jsxs(W,{gap:2,children:[i.jsx(Qe,{fontWeight:"semibold",children:"File:"}),i.jsxs(Mb,{href:e.image_url,isExternal:!0,maxW:"calc(100% - 3rem)",children:[e.image_name,i.jsx(VE,{mx:"2px"})]})]}),i.jsx(Mre,{metadata:o}),i.jsxs(Ld,{variant:"line",sx:{display:"flex",flexDir:"column",w:"full",h:"full"},children:[i.jsx(zd,{children:a.map(c=>i.jsx(kc,{sx:{borderTopRadius:"base"},children:i.jsx(Qe,{sx:{color:"base.700",_dark:{color:"base.300"}},children:c.label})},c.label))}),i.jsx($m,{sx:{w:"full",h:"full"},children:a.map(c=>i.jsx(Nm,{sx:{w:"full",h:"full",p:0,pt:4},children:i.jsx(Dre,{jsonObject:c.data,copyTooltip:c.copyTooltip})},c.label))})]})]})},Tre=f.memo(Are),gv={color:"base.100",pointerEvents:"auto"},Nre=()=>{const{t:e}=ye(),{handlePrevImage:t,handleNextImage:n,isOnFirstImage:r,isOnLastImage:o,handleLoadMoreImages:s,areMoreImagesAvailable:a,isFetching:c}=VO();return i.jsxs(Re,{sx:{position:"relative",height:"100%",width:"100%"},children:[i.jsx(Re,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineStart:0},children:!r&&i.jsx(ka,{"aria-label":e("accessibility.previousImage"),icon:i.jsx(IY,{size:64}),variant:"unstyled",onClick:t,boxSize:16,sx:gv})}),i.jsxs(Re,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineEnd:0},children:[!o&&i.jsx(ka,{"aria-label":e("accessibility.nextImage"),icon:i.jsx(EY,{size:64}),variant:"unstyled",onClick:n,boxSize:16,sx:gv}),o&&a&&!c&&i.jsx(ka,{"aria-label":e("accessibility.loadMore"),icon:i.jsx(jY,{size:64}),variant:"unstyled",onClick:s,boxSize:16,sx:gv}),o&&a&&c&&i.jsx(W,{sx:{w:16,h:16,alignItems:"center",justifyContent:"center"},children:i.jsx(hl,{opacity:.5,size:"xl"})})]})]})},$re=f.memo(Nre),Lre=be([lt,hM],({ui:e,system:t},n)=>{const{shouldShowImageDetails:r,shouldHidePreview:o,shouldShowProgressInViewer:s}=e,{progressImage:a,shouldAntialiasProgressImage:c}=t;return{shouldShowImageDetails:r,shouldHidePreview:o,imageName:n==null?void 0:n.image_name,progressImage:a,shouldShowProgressInViewer:s,shouldAntialiasProgressImage:c}},{memoizeOptions:{resultEqualityCheck:Zt}}),zre=()=>{const{shouldShowImageDetails:e,imageName:t,progressImage:n,shouldShowProgressInViewer:r,shouldAntialiasProgressImage:o}=B(Lre),{handlePrevImage:s,handleNextImage:a,isOnLastImage:c,handleLoadMoreImages:d,areMoreImagesAvailable:p,isFetching:h}=VO();tt("left",()=>{s()},[s]),tt("right",()=>{if(c&&p&&!h){d();return}c||a()},[c,p,d,h,a]);const{currentData:m}=Is(t??ro.skipToken),v=f.useMemo(()=>{if(m)return{id:"current-image",payloadType:"IMAGE_DTO",payload:{imageDTO:m}}},[m]),b=f.useMemo(()=>({id:"current-image",actionType:"SET_CURRENT_IMAGE"}),[]),[w,y]=f.useState(!1),S=f.useRef(0),k=f.useCallback(()=>{y(!0),window.clearTimeout(S.current)},[]),_=f.useCallback(()=>{S.current=window.setTimeout(()=>{y(!1)},500)},[]);return i.jsxs(W,{onMouseOver:k,onMouseOut:_,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative"},children:[n&&r?i.jsx(Lc,{src:n.dataURL,width:n.width,height:n.height,draggable:!1,sx:{objectFit:"contain",maxWidth:"full",maxHeight:"full",height:"auto",position:"absolute",borderRadius:"base",imageRendering:o?"auto":"pixelated"}}):i.jsx(fl,{imageDTO:m,droppableData:b,draggableData:v,isUploadDisabled:!0,fitContainer:!0,useThumbailFallback:!0,dropLabel:"Set as Current Image",noContentFallback:i.jsx(tl,{icon:Oc,label:"No image selected"})}),e&&m&&i.jsx(Re,{sx:{position:"absolute",top:"0",width:"full",height:"full",borderRadius:"base"},children:i.jsx(Tre,{image:m})}),i.jsx(mo,{children:!e&&m&&w&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},style:{position:"absolute",top:"0",width:"100%",height:"100%",pointerEvents:"none"},children:i.jsx($re,{})},"nextPrevButtons")})]})},Bre=f.memo(zre),Fre=()=>i.jsxs(W,{sx:{position:"relative",flexDirection:"column",height:"100%",width:"100%",rowGap:4,alignItems:"center",justifyContent:"center"},children:[i.jsx(Ere,{}),i.jsx(Bre,{})]}),UO=()=>i.jsx(Re,{layerStyle:"first",sx:{position:"relative",width:"100%",height:"100%",p:4,borderRadius:"base"},children:i.jsx(W,{sx:{width:"100%",height:"100%"},children:i.jsx(Fre,{})})});function Hre(){const e=B(d=>d.generation.clipSkip),{model:t}=B(d=>d.generation),n=te(),{t:r}=ye(),o=f.useCallback(d=>{n(dw(d))},[n]),s=f.useCallback(()=>{n(dw(0))},[n]),a=f.useMemo(()=>t?Bf[t.base_model].maxClip:Bf["sd-1"].maxClip,[t]),c=f.useMemo(()=>t?Bf[t.base_model].markers:Bf["sd-1"].markers,[t]);return i.jsx(_t,{label:r("parameters.clipSkip"),"aria-label":r("parameters.clipSkip"),min:0,max:a,step:1,value:e,onChange:o,withSliderMarks:!0,sliderMarks:c,withInput:!0,withReset:!0,handleReset:s})}const Wre=be(lt,e=>({activeLabel:e.generation.clipSkip>0?"Clip Skip":void 0}),Je);function ox(){const{activeLabel:e}=B(Wre);return B(n=>n.generation.shouldShowAdvancedOptions)?i.jsx(Mo,{label:"Advanced",activeLabel:e,children:i.jsx(W,{sx:{flexDir:"column",gap:2},children:i.jsx(Hre,{})})}):null}const GO=e=>{const t=Sd("models"),[n,r,o]=e.split("/"),s=mM.safeParse({base_model:n,model_name:o});if(!s.success){t.error({controlNetModelId:e,errors:s.error.format()},"Failed to parse ControlNet model id");return}return s.data},Vre=be(lt,({generation:e})=>{const{model:t}=e;return{mainModel:t}},Je),Ure=e=>{const{controlNetId:t,model:n,isEnabled:r}=e.controlNet,o=te(),s=B(kr),{mainModel:a}=B(Vre),{data:c}=lb(),d=f.useMemo(()=>{if(!c)return[];const m=[];return oo(c.entities,(v,b)=>{if(!v)return;const w=(v==null?void 0:v.base_model)!==(a==null?void 0:a.base_model);m.push({value:b,label:v.model_name,group:Qn[v.base_model],disabled:w,tooltip:w?`Incompatible base model: ${v.base_model}`:void 0})}),m},[c,a==null?void 0:a.base_model]),p=f.useMemo(()=>(c==null?void 0:c.entities[`${n==null?void 0:n.base_model}/controlnet/${n==null?void 0:n.model_name}`])??null,[n==null?void 0:n.base_model,n==null?void 0:n.model_name,c==null?void 0:c.entities]),h=f.useCallback(m=>{if(!m)return;const v=GO(m);v&&o(a5({controlNetId:t,model:v}))},[t,o]);return i.jsx(ar,{itemComponent:Oi,data:d,error:!p||(a==null?void 0:a.base_model)!==p.base_model,placeholder:"Select a model",value:(p==null?void 0:p.id)??null,onChange:h,disabled:s||!r,tooltip:p==null?void 0:p.description})},Gre=f.memo(Ure),qre=e=>{const{weight:t,isEnabled:n,controlNetId:r}=e.controlNet,o=te(),s=f.useCallback(a=>{o(gM({controlNetId:r,weight:a}))},[r,o]);return i.jsx(_t,{isDisabled:!n,label:"Weight",value:t,onChange:s,min:0,max:2,step:.01,withSliderMarks:!0,sliderMarks:[0,1,2]})},Kre=f.memo(qre),Xre=be(lt,({controlNet:e})=>{const{pendingControlImages:t}=e;return{pendingControlImages:t}},Je),Yre=e=>{const{height:t}=e,{controlImage:n,processedControlImage:r,processorType:o,isEnabled:s,controlNetId:a}=e.controlNet,c=te(),{pendingControlImages:d}=B(Xre),[p,h]=f.useState(!1),{currentData:m}=Is(n??ro.skipToken),{currentData:v}=Is(r??ro.skipToken),b=f.useCallback(()=>{c(vM({controlNetId:a,controlImage:null}))},[a,c]),w=f.useCallback(()=>{h(!0)},[]),y=f.useCallback(()=>{h(!1)},[]),S=f.useMemo(()=>{if(m)return{id:a,payloadType:"IMAGE_DTO",payload:{imageDTO:m}}},[m,a]),k=f.useMemo(()=>({id:a,actionType:"SET_CONTROLNET_IMAGE",context:{controlNetId:a}}),[a]),_=f.useMemo(()=>({type:"SET_CONTROLNET_IMAGE",controlNetId:a}),[a]),P=m&&v&&!p&&!d.includes(a)&&o!=="none";return i.jsxs(W,{onMouseEnter:w,onMouseLeave:y,sx:{position:"relative",w:"full",h:t,alignItems:"center",justifyContent:"center",pointerEvents:s?"auto":"none",opacity:s?1:.5},children:[i.jsx(fl,{draggableData:S,droppableData:k,imageDTO:m,isDropDisabled:P||!s,onClickReset:b,postUploadAction:_,resetTooltip:"Reset Control Image",withResetIcon:!!m}),i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",opacity:P?1:0,transitionProperty:"common",transitionDuration:"normal",pointerEvents:"none"},children:i.jsx(fl,{draggableData:S,droppableData:k,imageDTO:v,isUploadDisabled:!0,isDropDisabled:!s,onClickReset:b,resetTooltip:"Reset Control Image",withResetIcon:!!m})}),d.includes(a)&&i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",alignItems:"center",justifyContent:"center",opacity:.8,borderRadius:"base",bg:"base.400",_dark:{bg:"base.900"}},children:i.jsx(hl,{size:"xl",sx:{color:"base.100",_dark:{color:"base.400"}}})})]})},Tk=f.memo(Yre),Ts=()=>{const e=te();return f.useCallback((n,r)=>{e(bM({controlNetId:n,changes:r}))},[e])};function Ns(e){return i.jsx(W,{sx:{flexDirection:"column",gap:2},children:e.children})}const Nk=ls.canny_image_processor.default,Qre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{low_threshold:o,high_threshold:s}=n,a=B(kr),c=Ts(),d=f.useCallback(v=>{c(t,{low_threshold:v})},[t,c]),p=f.useCallback(()=>{c(t,{low_threshold:Nk.low_threshold})},[t,c]),h=f.useCallback(v=>{c(t,{high_threshold:v})},[t,c]),m=f.useCallback(()=>{c(t,{high_threshold:Nk.high_threshold})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{isDisabled:a||!r,label:"Low Threshold",value:o,onChange:d,handleReset:p,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0}),i.jsx(_t,{isDisabled:a||!r,label:"High Threshold",value:s,onChange:h,handleReset:m,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0})]})},Jre=f.memo(Qre),Cu=ls.content_shuffle_image_processor.default,Zre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,w:a,h:c,f:d}=n,p=Ts(),h=B(kr),m=f.useCallback(E=>{p(t,{detect_resolution:E})},[t,p]),v=f.useCallback(()=>{p(t,{detect_resolution:Cu.detect_resolution})},[t,p]),b=f.useCallback(E=>{p(t,{image_resolution:E})},[t,p]),w=f.useCallback(()=>{p(t,{image_resolution:Cu.image_resolution})},[t,p]),y=f.useCallback(E=>{p(t,{w:E})},[t,p]),S=f.useCallback(()=>{p(t,{w:Cu.w})},[t,p]),k=f.useCallback(E=>{p(t,{h:E})},[t,p]),_=f.useCallback(()=>{p(t,{h:Cu.h})},[t,p]),P=f.useCallback(E=>{p(t,{f:E})},[t,p]),I=f.useCallback(()=>{p(t,{f:Cu.f})},[t,p]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:m,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:b,handleReset:w,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"W",value:a,onChange:y,handleReset:S,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"H",value:c,onChange:k,handleReset:_,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"F",value:d,onChange:P,handleReset:I,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r})]})},eoe=f.memo(Zre),$k=ls.hed_image_processor.default,toe=e=>{const{controlNetId:t,processorNode:{detect_resolution:n,image_resolution:r,scribble:o},isEnabled:s}=e,a=B(kr),c=Ts(),d=f.useCallback(b=>{c(t,{detect_resolution:b})},[t,c]),p=f.useCallback(b=>{c(t,{image_resolution:b})},[t,c]),h=f.useCallback(b=>{c(t,{scribble:b.target.checked})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:$k.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:$k.image_resolution})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:n,onChange:d,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:a||!s}),i.jsx(_t,{label:"Image Resolution",value:r,onChange:p,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:a||!s}),i.jsx(yr,{label:"Scribble",isChecked:o,onChange:h,isDisabled:a||!s})]})},noe=f.memo(toe),Lk=ls.lineart_anime_image_processor.default,roe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,a=Ts(),c=B(kr),d=f.useCallback(v=>{a(t,{detect_resolution:v})},[t,a]),p=f.useCallback(v=>{a(t,{image_resolution:v})},[t,a]),h=f.useCallback(()=>{a(t,{detect_resolution:Lk.detect_resolution})},[t,a]),m=f.useCallback(()=>{a(t,{image_resolution:Lk.image_resolution})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},ooe=f.memo(roe),zk=ls.lineart_image_processor.default,soe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,coarse:a}=n,c=Ts(),d=B(kr),p=f.useCallback(w=>{c(t,{detect_resolution:w})},[t,c]),h=f.useCallback(w=>{c(t,{image_resolution:w})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:zk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:zk.image_resolution})},[t,c]),b=f.useCallback(w=>{c(t,{coarse:w.target.checked})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(yr,{label:"Coarse",isChecked:a,onChange:b,isDisabled:d||!r})]})},aoe=f.memo(soe),Bk=ls.mediapipe_face_processor.default,ioe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{max_faces:o,min_confidence:s}=n,a=Ts(),c=B(kr),d=f.useCallback(v=>{a(t,{max_faces:v})},[t,a]),p=f.useCallback(v=>{a(t,{min_confidence:v})},[t,a]),h=f.useCallback(()=>{a(t,{max_faces:Bk.max_faces})},[t,a]),m=f.useCallback(()=>{a(t,{min_confidence:Bk.min_confidence})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Max Faces",value:o,onChange:d,handleReset:h,withReset:!0,min:1,max:20,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Min Confidence",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},loe=f.memo(ioe),Fk=ls.midas_depth_image_processor.default,coe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{a_mult:o,bg_th:s}=n,a=Ts(),c=B(kr),d=f.useCallback(v=>{a(t,{a_mult:v})},[t,a]),p=f.useCallback(v=>{a(t,{bg_th:v})},[t,a]),h=f.useCallback(()=>{a(t,{a_mult:Fk.a_mult})},[t,a]),m=f.useCallback(()=>{a(t,{bg_th:Fk.bg_th})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"a_mult",value:o,onChange:d,handleReset:h,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"bg_th",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},uoe=f.memo(coe),_p=ls.mlsd_image_processor.default,doe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,thr_d:a,thr_v:c}=n,d=Ts(),p=B(kr),h=f.useCallback(_=>{d(t,{detect_resolution:_})},[t,d]),m=f.useCallback(_=>{d(t,{image_resolution:_})},[t,d]),v=f.useCallback(_=>{d(t,{thr_d:_})},[t,d]),b=f.useCallback(_=>{d(t,{thr_v:_})},[t,d]),w=f.useCallback(()=>{d(t,{detect_resolution:_p.detect_resolution})},[t,d]),y=f.useCallback(()=>{d(t,{image_resolution:_p.image_resolution})},[t,d]),S=f.useCallback(()=>{d(t,{thr_d:_p.thr_d})},[t,d]),k=f.useCallback(()=>{d(t,{thr_v:_p.thr_v})},[t,d]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:h,handleReset:w,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:m,handleReset:y,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"W",value:a,onChange:v,handleReset:S,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"H",value:c,onChange:b,handleReset:k,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r})]})},foe=f.memo(doe),Hk=ls.normalbae_image_processor.default,poe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,a=Ts(),c=B(kr),d=f.useCallback(v=>{a(t,{detect_resolution:v})},[t,a]),p=f.useCallback(v=>{a(t,{image_resolution:v})},[t,a]),h=f.useCallback(()=>{a(t,{detect_resolution:Hk.detect_resolution})},[t,a]),m=f.useCallback(()=>{a(t,{image_resolution:Hk.image_resolution})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},hoe=f.memo(poe),Wk=ls.openpose_image_processor.default,moe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,hand_and_face:a}=n,c=Ts(),d=B(kr),p=f.useCallback(w=>{c(t,{detect_resolution:w})},[t,c]),h=f.useCallback(w=>{c(t,{image_resolution:w})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:Wk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:Wk.image_resolution})},[t,c]),b=f.useCallback(w=>{c(t,{hand_and_face:w.target.checked})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(yr,{label:"Hand and Face",isChecked:a,onChange:b,isDisabled:d||!r})]})},goe=f.memo(moe),Vk=ls.pidi_image_processor.default,voe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,scribble:a,safe:c}=n,d=Ts(),p=B(kr),h=f.useCallback(S=>{d(t,{detect_resolution:S})},[t,d]),m=f.useCallback(S=>{d(t,{image_resolution:S})},[t,d]),v=f.useCallback(()=>{d(t,{detect_resolution:Vk.detect_resolution})},[t,d]),b=f.useCallback(()=>{d(t,{image_resolution:Vk.image_resolution})},[t,d]),w=f.useCallback(S=>{d(t,{scribble:S.target.checked})},[t,d]),y=f.useCallback(S=>{d(t,{safe:S.target.checked})},[t,d]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:m,handleReset:b,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(yr,{label:"Scribble",isChecked:a,onChange:w}),i.jsx(yr,{label:"Safe",isChecked:c,onChange:y,isDisabled:p||!r})]})},boe=f.memo(voe),yoe=e=>null,xoe=f.memo(yoe),woe=e=>{const{controlNetId:t,isEnabled:n,processorNode:r}=e.controlNet;return r.type==="canny_image_processor"?i.jsx(Jre,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="hed_image_processor"?i.jsx(noe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="lineart_image_processor"?i.jsx(aoe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="content_shuffle_image_processor"?i.jsx(eoe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="lineart_anime_image_processor"?i.jsx(ooe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="mediapipe_face_processor"?i.jsx(loe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="midas_depth_image_processor"?i.jsx(uoe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="mlsd_image_processor"?i.jsx(foe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="normalbae_image_processor"?i.jsx(hoe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="openpose_image_processor"?i.jsx(goe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="pidi_image_processor"?i.jsx(boe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="zoe_depth_image_processor"?i.jsx(xoe,{controlNetId:t,processorNode:r,isEnabled:n}):null},Soe=f.memo(woe),Coe=e=>{const{controlNetId:t,isEnabled:n,shouldAutoConfig:r}=e.controlNet,o=te(),s=B(kr),a=f.useCallback(()=>{o(yM({controlNetId:t}))},[t,o]);return i.jsx(yr,{label:"Auto configure processor","aria-label":"Auto configure processor",isChecked:r,onChange:a,isDisabled:s||!n})},koe=f.memo(Coe),Uk=e=>`${Math.round(e*100)}%`,_oe=e=>{const{beginStepPct:t,endStepPct:n,isEnabled:r,controlNetId:o}=e.controlNet,s=te(),a=f.useCallback(c=>{s(xM({controlNetId:o,beginStepPct:c[0]})),s(wM({controlNetId:o,endStepPct:c[1]}))},[o,s]);return i.jsxs(go,{isDisabled:!r,children:[i.jsx(Bo,{children:"Begin / End Step Percentage"}),i.jsx(pi,{w:"100%",gap:2,alignItems:"center",children:i.jsxs(K6,{"aria-label":["Begin Step %","End Step %"],value:[t,n],onChange:a,min:0,max:1,step:.01,minStepsBetweenThumbs:5,isDisabled:!r,children:[i.jsx(X6,{children:i.jsx(Y6,{})}),i.jsx(vn,{label:Uk(t),placement:"top",hasArrow:!0,children:i.jsx(s1,{index:0})}),i.jsx(vn,{label:Uk(n),placement:"top",hasArrow:!0,children:i.jsx(s1,{index:1})}),i.jsx(Ap,{value:0,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},children:"0%"}),i.jsx(Ap,{value:.5,sx:{insetInlineStart:"50% !important",transform:"translateX(-50%)"},children:"50%"}),i.jsx(Ap,{value:1,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},children:"100%"})]})})]})},Poe=f.memo(_oe),joe=[{label:"Balanced",value:"balanced"},{label:"Prompt",value:"more_prompt"},{label:"Control",value:"more_control"},{label:"Mega Control",value:"unbalanced"}];function Ioe(e){const{controlMode:t,isEnabled:n,controlNetId:r}=e.controlNet,o=te(),s=f.useCallback(a=>{o(SM({controlNetId:r,controlMode:a}))},[r,o]);return i.jsx(Xr,{disabled:!n,label:"Control Mode",data:joe,value:String(t),onChange:s})}const Eoe=be(bO,e=>cs(ls,n=>({value:n.type,label:n.label})).sort((n,r)=>n.value==="none"?-1:r.value==="none"?1:n.label.localeCompare(r.label)).filter(n=>!e.sd.disabledControlNetProcessors.includes(n.value)),Je),Ooe=e=>{const t=te(),{controlNetId:n,isEnabled:r,processorNode:o}=e.controlNet,s=B(kr),a=B(Eoe),c=f.useCallback(d=>{t(CM({controlNetId:n,processorType:d}))},[n,t]);return i.jsx(ar,{label:"Processor",value:o.type??"canny_image_processor",data:a,onChange:c,disabled:s||!r})},Roe=f.memo(Ooe),Moe=[{label:"Resize",value:"just_resize"},{label:"Crop",value:"crop_resize"},{label:"Fill",value:"fill_resize"}];function Doe(e){const{resizeMode:t,isEnabled:n,controlNetId:r}=e.controlNet,o=te(),s=f.useCallback(a=>{o(kM({controlNetId:r,resizeMode:a}))},[r,o]);return i.jsx(Xr,{disabled:!n,label:"Resize Mode",data:Moe,value:String(t),onChange:s})}const Aoe=e=>{const{controlNet:t}=e,{controlNetId:n}=t,r=te(),o=be(lt,({controlNet:v})=>{const b=v.controlNets[n];if(!b)return{isEnabled:!1,shouldAutoConfig:!1};const{isEnabled:w,shouldAutoConfig:y}=b;return{isEnabled:w,shouldAutoConfig:y}},Je),{isEnabled:s,shouldAutoConfig:a}=B(o),[c,d]=Dee(!1),p=f.useCallback(()=>{r(_M({controlNetId:n}))},[n,r]),h=f.useCallback(()=>{r(PM({sourceControlNetId:n,newControlNetId:fi()}))},[n,r]),m=f.useCallback(()=>{r(jM({controlNetId:n}))},[n,r]);return i.jsxs(W,{sx:{flexDir:"column",gap:3,p:3,borderRadius:"base",position:"relative",bg:"base.200",_dark:{bg:"base.850"}},children:[i.jsxs(W,{sx:{gap:2,alignItems:"center"},children:[i.jsx(yr,{tooltip:"Toggle this ControlNet","aria-label":"Toggle this ControlNet",isChecked:s,onChange:m}),i.jsx(Re,{sx:{w:"full",minW:0,opacity:s?1:.5,pointerEvents:s?"auto":"none",transitionProperty:"common",transitionDuration:"0.1s"},children:i.jsx(Gre,{controlNet:t})}),i.jsx(ze,{size:"sm",tooltip:"Duplicate","aria-label":"Duplicate",onClick:h,icon:i.jsx(qc,{})}),i.jsx(ze,{size:"sm",tooltip:"Delete","aria-label":"Delete",colorScheme:"error",onClick:p,icon:i.jsx(Eo,{})}),i.jsx(ze,{size:"sm",tooltip:c?"Hide Advanced":"Show Advanced","aria-label":c?"Hide Advanced":"Show Advanced",onClick:d,variant:"ghost",sx:{_hover:{bg:"none"}},icon:i.jsx(zy,{sx:{boxSize:4,color:"base.700",transform:c?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal",_dark:{color:"base.300"}}})}),!a&&i.jsx(Re,{sx:{position:"absolute",w:1.5,h:1.5,borderRadius:"full",top:4,insetInlineEnd:4,bg:"accent.700",_dark:{bg:"accent.400"}}})]}),i.jsxs(W,{sx:{w:"full",flexDirection:"column",gap:3},children:[i.jsxs(W,{sx:{gap:4,w:"full",alignItems:"center"},children:[i.jsxs(W,{sx:{flexDir:"column",gap:3,h:28,w:"full",paddingInlineStart:1,paddingInlineEnd:c?1:0,pb:2,justifyContent:"space-between"},children:[i.jsx(Kre,{controlNet:t}),i.jsx(Poe,{controlNet:t})]}),!c&&i.jsx(W,{sx:{alignItems:"center",justifyContent:"center",h:28,w:28,aspectRatio:"1/1"},children:i.jsx(Tk,{controlNet:t,height:28})})]}),i.jsxs(W,{sx:{gap:2},children:[i.jsx(Ioe,{controlNet:t}),i.jsx(Doe,{controlNet:t})]}),i.jsx(Roe,{controlNet:t})]}),c&&i.jsxs(i.Fragment,{children:[i.jsx(Tk,{controlNet:t,height:"392px"}),i.jsx(koe,{controlNet:t}),i.jsx(Soe,{controlNet:t})]})]})},Toe=f.memo(Aoe),Noe=be(lt,e=>{const{isEnabled:t}=e.controlNet;return{isEnabled:t}},Je),$oe=()=>{const{isEnabled:e}=B(Noe),t=te(),n=f.useCallback(()=>{t(IM())},[t]);return i.jsx(yr,{label:"Enable ControlNet",isChecked:e,onChange:n,formControlProps:{width:"100%"}})},Loe=be([lt],({controlNet:e})=>{const{controlNets:t,isEnabled:n}=e,r=EM(t),o=n&&r.length>0?`${r.length} Active`:void 0;return{controlNetsArray:cs(t),activeLabel:o}},Je),zoe=()=>{const{controlNetsArray:e,activeLabel:t}=B(Loe),n=ir("controlNet").isFeatureDisabled,r=te(),{firstModel:o}=lb(void 0,{selectFromResult:a=>({firstModel:a.data?OM.getSelectors().selectAll(a.data)[0]:void 0})}),s=f.useCallback(()=>{if(!o)return;const a=fi();r(RM({controlNetId:a})),r(a5({controlNetId:a,model:o}))},[r,o]);return n?null:i.jsx(Mo,{label:"ControlNet",activeLabel:t,children:i.jsxs(W,{sx:{flexDir:"column",gap:3},children:[i.jsxs(W,{gap:2,alignItems:"center",children:[i.jsx(W,{sx:{flexDirection:"column",w:"100%",gap:2,px:4,py:2,borderRadius:4,bg:"base.200",_dark:{bg:"base.850"}},children:i.jsx($oe,{})}),i.jsx(ze,{tooltip:"Add ControlNet","aria-label":"Add ControlNet",icon:i.jsx(yl,{}),isDisabled:!o,flexGrow:1,size:"md",onClick:s})]}),e.map((a,c)=>i.jsxs(f.Fragment,{children:[c>0&&i.jsx(Wa,{}),i.jsx(Toe,{controlNet:a})]},a.controlNetId))]})})},sx=f.memo(zoe),Boe=be(Mi,e=>{const{seamlessXAxis:t}=e;return{seamlessXAxis:t}},Je),Foe=()=>{const{t:e}=ye(),{seamlessXAxis:t}=B(Boe),n=te(),r=f.useCallback(o=>{n(MM(o.target.checked))},[n]);return i.jsx(yr,{label:e("parameters.seamlessXAxis"),"aria-label":e("parameters.seamlessXAxis"),isChecked:t,onChange:r})},Hoe=f.memo(Foe),Woe=be(Mi,e=>{const{seamlessYAxis:t}=e;return{seamlessYAxis:t}},Je),Voe=()=>{const{t:e}=ye(),{seamlessYAxis:t}=B(Woe),n=te(),r=f.useCallback(o=>{n(DM(o.target.checked))},[n]);return i.jsx(yr,{label:e("parameters.seamlessYAxis"),"aria-label":e("parameters.seamlessYAxis"),isChecked:t,onChange:r})},Uoe=f.memo(Voe),Goe=(e,t)=>{if(e&&t)return"X & Y";if(e)return"X";if(t)return"Y"},qoe=be(Mi,e=>{const{seamlessXAxis:t,seamlessYAxis:n}=e;return{activeLabel:Goe(t,n)}},Je),Koe=()=>{const{t:e}=ye(),{activeLabel:t}=B(qoe);return ir("seamless").isFeatureEnabled?i.jsx(Mo,{label:e("parameters.seamlessTiling"),activeLabel:t,children:i.jsxs(W,{sx:{gap:5},children:[i.jsx(Re,{flexGrow:1,children:i.jsx(Hoe,{})}),i.jsx(Re,{flexGrow:1,children:i.jsx(Uoe,{})})]})}):null},qO=f.memo(Koe);function Xoe(){const e=B(o=>o.generation.horizontalSymmetrySteps),t=B(o=>o.generation.steps),n=te(),{t:r}=ye();return i.jsx(_t,{label:r("parameters.hSymmetryStep"),value:e,onChange:o=>n(fw(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(fw(0))})}function Yoe(){const e=B(o=>o.generation.verticalSymmetrySteps),t=B(o=>o.generation.steps),n=te(),{t:r}=ye();return i.jsx(_t,{label:r("parameters.vSymmetryStep"),value:e,onChange:o=>n(pw(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(pw(0))})}function Qoe(){const e=B(n=>n.generation.shouldUseSymmetry),t=te();return i.jsx(yr,{label:"Enable Symmetry",isChecked:e,onChange:n=>t(AM(n.target.checked))})}const Joe=be(lt,e=>({activeLabel:e.generation.shouldUseSymmetry?"Enabled":void 0}),Je),Zoe=()=>{const{t:e}=ye(),{activeLabel:t}=B(Joe);return ir("symmetry").isFeatureEnabled?i.jsx(Mo,{label:e("parameters.symmetry"),activeLabel:t,children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(Qoe,{}),i.jsx(Xoe,{}),i.jsx(Yoe,{})]})}):null},ax=f.memo(Zoe);function ix(){return i.jsxs(W,{sx:{flexDirection:"column",gap:2},children:[i.jsx(AO,{}),i.jsx(DO,{})]})}const ese=be([lt],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.img2imgStrength,{img2imgStrength:p}=e,h=t.shift?c:d;return{img2imgStrength:p,initial:r,min:o,sliderMax:s,inputMax:a,step:h}},Je),tse=()=>{const{img2imgStrength:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s}=B(ese),a=te(),{t:c}=ye(),d=f.useCallback(h=>a(Vp(h)),[a]),p=f.useCallback(()=>{a(Vp(t))},[a,t]);return i.jsx(_t,{label:`${c("parameters.denoisingStrength")}`,step:s,min:n,max:r,onChange:d,handleReset:p,value:e,isInteger:!1,withInput:!0,withSliderMarks:!0,withReset:!0,sliderNumberInputProps:{max:o}})},KO=f.memo(tse),nse=be([Ba,Mi],(e,t)=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Je),rse=()=>{const{shouldUseSliders:e,activeLabel:t}=B(nse);return i.jsx(Mo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(W,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(Mc,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(Mc,{})]}),i.jsx(KO,{}),i.jsx(BO,{})]})})},ose=f.memo(rse),XO=()=>i.jsxs(i.Fragment,{children:[i.jsx(ix,{}),i.jsx(Yd,{}),i.jsx(ose,{}),i.jsx(sx,{}),i.jsx(Jd,{}),i.jsx(Kd,{}),i.jsx(ag,{}),i.jsx(ax,{}),i.jsx(qO,{}),i.jsx(ox,{})]}),sse=()=>{const e=te(),t=f.useRef(null),n=B(o=>o.generation.model),r=f.useCallback(()=>{t.current&&t.current.setLayout([50,50])},[]);return i.jsxs(W,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(rx,{children:n&&n.base_model==="sdxl"?i.jsx(FO,{}):i.jsx(XO,{})}),i.jsx(Re,{sx:{w:"full",h:"full"},children:i.jsxs(Jy,{ref:t,autoSaveId:"imageTab.content",direction:"horizontal",style:{height:"100%",width:"100%"},children:[i.jsx(md,{id:"imageTab.content.initImage",order:0,defaultSize:50,minSize:25,style:{position:"relative"},children:i.jsx(jte,{})}),i.jsx(WO,{onDoubleClick:r}),i.jsx(md,{id:"imageTab.content.selectedImage",order:1,defaultSize:50,minSize:25,onResize:()=>{e(ko())},children:i.jsx(UO,{})})]})})]})},ase=f.memo(sse);var ise=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,o,s;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(o=r;o--!==0;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(s=Object.keys(t),r=s.length,r!==Object.keys(n).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[o]))return!1;for(o=r;o--!==0;){var a=s[o];if(!e(t[a],n[a]))return!1}return!0}return t!==t&&n!==n};const Gk=yd(ise);function z1(e){return e===null||typeof e!="object"?{}:Object.keys(e).reduce((t,n)=>{const r=e[n];return r!=null&&r!==!1&&(t[n]=r),t},{})}var lse=Object.defineProperty,qk=Object.getOwnPropertySymbols,cse=Object.prototype.hasOwnProperty,use=Object.prototype.propertyIsEnumerable,Kk=(e,t,n)=>t in e?lse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dse=(e,t)=>{for(var n in t||(t={}))cse.call(t,n)&&Kk(e,n,t[n]);if(qk)for(var n of qk(t))use.call(t,n)&&Kk(e,n,t[n]);return e};function YO(e,t){if(t===null||typeof t!="object")return{};const n=dse({},t);return Object.keys(t).forEach(r=>{r.includes(`${String(e)}.`)&&delete n[r]}),n}const fse="__MANTINE_FORM_INDEX__";function Xk(e,t){return t?typeof t=="boolean"?t:Array.isArray(t)?t.includes(e.replace(/[.][0-9]/g,`.${fse}`)):!1:!1}function Yk(e,t,n){typeof n.value=="object"&&(n.value=ec(n.value)),!n.enumerable||n.get||n.set||!n.configurable||!n.writable||t==="__proto__"?Object.defineProperty(e,t,n):e[t]=n.value}function ec(e){if(typeof e!="object")return e;var t=0,n,r,o,s=Object.prototype.toString.call(e);if(s==="[object Object]"?o=Object.create(e.__proto__||null):s==="[object Array]"?o=Array(e.length):s==="[object Set]"?(o=new Set,e.forEach(function(a){o.add(ec(a))})):s==="[object Map]"?(o=new Map,e.forEach(function(a,c){o.set(ec(c),ec(a))})):s==="[object Date]"?o=new Date(+e):s==="[object RegExp]"?o=new RegExp(e.source,e.flags):s==="[object DataView]"?o=new e.constructor(ec(e.buffer)):s==="[object ArrayBuffer]"?o=e.slice(0):s.slice(-6)==="Array]"&&(o=new e.constructor(e)),o){for(r=Object.getOwnPropertySymbols(e);t0,errors:t}}function B1(e,t,n="",r={}){return typeof e!="object"||e===null?r:Object.keys(e).reduce((o,s)=>{const a=e[s],c=`${n===""?"":`${n}.`}${s}`,d=xa(c,t);let p=!1;return typeof a=="function"&&(o[c]=a(d,t,c)),typeof a=="object"&&Array.isArray(d)&&(p=!0,d.forEach((h,m)=>B1(a,t,`${c}.${m}`,o))),typeof a=="object"&&typeof d=="object"&&d!==null&&(p||B1(a,t,c,o)),o},r)}function F1(e,t){return Qk(typeof e=="function"?e(t):B1(e,t))}function Pp(e,t,n){if(typeof e!="string")return{hasError:!1,error:null};const r=F1(t,n),o=Object.keys(r.errors).find(s=>e.split(".").every((a,c)=>a===s.split(".")[c]));return{hasError:!!o,error:o?r.errors[o]:null}}function pse(e,{from:t,to:n},r){const o=xa(e,r);if(!Array.isArray(o))return r;const s=[...o],a=o[t];return s.splice(t,1),s.splice(n,0,a),dg(e,s,r)}var hse=Object.defineProperty,Jk=Object.getOwnPropertySymbols,mse=Object.prototype.hasOwnProperty,gse=Object.prototype.propertyIsEnumerable,Zk=(e,t,n)=>t in e?hse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vse=(e,t)=>{for(var n in t||(t={}))mse.call(t,n)&&Zk(e,n,t[n]);if(Jk)for(var n of Jk(t))gse.call(t,n)&&Zk(e,n,t[n]);return e};function bse(e,{from:t,to:n},r){const o=`${e}.${t}`,s=`${e}.${n}`,a=vse({},r);return Object.keys(r).every(c=>{let d,p;if(c.startsWith(o)&&(d=c,p=c.replace(o,s)),c.startsWith(s)&&(d=c.replace(s,o),p=c),d&&p){const h=a[d],m=a[p];return m===void 0?delete a[d]:a[d]=m,h===void 0?delete a[p]:a[p]=h,!1}return!0}),a}function yse(e,t,n){const r=xa(e,n);return Array.isArray(r)?dg(e,r.filter((o,s)=>s!==t),n):n}var xse=Object.defineProperty,e_=Object.getOwnPropertySymbols,wse=Object.prototype.hasOwnProperty,Sse=Object.prototype.propertyIsEnumerable,t_=(e,t,n)=>t in e?xse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Cse=(e,t)=>{for(var n in t||(t={}))wse.call(t,n)&&t_(e,n,t[n]);if(e_)for(var n of e_(t))Sse.call(t,n)&&t_(e,n,t[n]);return e};function n_(e,t){const n=e.substring(t.length+1).split(".")[0];return parseInt(n,10)}function r_(e,t,n,r){if(t===void 0)return n;const o=`${String(e)}`;let s=n;r===-1&&(s=YO(`${o}.${t}`,s));const a=Cse({},s),c=new Set;return Object.entries(s).filter(([d])=>{if(!d.startsWith(`${o}.`))return!1;const p=n_(d,o);return Number.isNaN(p)?!1:p>=t}).forEach(([d,p])=>{const h=n_(d,o),m=d.replace(`${o}.${h}`,`${o}.${h+r}`);a[m]=p,c.add(m),c.has(d)||delete a[d]}),a}function kse(e,t,n,r){const o=xa(e,r);if(!Array.isArray(o))return r;const s=[...o];return s.splice(typeof n=="number"?n:s.length,0,t),dg(e,s,r)}function o_(e,t){const n=Object.keys(e);if(typeof t=="string"){const r=n.filter(o=>o.startsWith(`${t}.`));return e[t]||r.some(o=>e[o])||!1}return n.some(r=>e[r])}function _se(e){return t=>{if(!t)e(t);else if(typeof t=="function")e(t);else if(typeof t=="object"&&"nativeEvent"in t){const{currentTarget:n}=t;n instanceof HTMLInputElement?n.type==="checkbox"?e(n.checked):e(n.value):(n instanceof HTMLTextAreaElement||n instanceof HTMLSelectElement)&&e(n.value)}else e(t)}}var Pse=Object.defineProperty,jse=Object.defineProperties,Ise=Object.getOwnPropertyDescriptors,s_=Object.getOwnPropertySymbols,Ese=Object.prototype.hasOwnProperty,Ose=Object.prototype.propertyIsEnumerable,a_=(e,t,n)=>t in e?Pse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ri=(e,t)=>{for(var n in t||(t={}))Ese.call(t,n)&&a_(e,n,t[n]);if(s_)for(var n of s_(t))Ose.call(t,n)&&a_(e,n,t[n]);return e},vv=(e,t)=>jse(e,Ise(t));function Sl({initialValues:e={},initialErrors:t={},initialDirty:n={},initialTouched:r={},clearInputErrorOnChange:o=!0,validateInputOnChange:s=!1,validateInputOnBlur:a=!1,transformValues:c=p=>p,validate:d}={}){const[p,h]=f.useState(r),[m,v]=f.useState(n),[b,w]=f.useState(e),[y,S]=f.useState(z1(t)),k=f.useRef(e),_=K=>{k.current=K},P=f.useCallback(()=>h({}),[]),I=K=>{const U=K?ri(ri({},b),K):b;_(U),v({})},E=f.useCallback(K=>S(U=>z1(typeof K=="function"?K(U):K)),[]),O=f.useCallback(()=>S({}),[]),R=f.useCallback(()=>{w(e),O(),_(e),v({}),P()},[]),M=f.useCallback((K,U)=>E(se=>vv(ri({},se),{[K]:U})),[]),D=f.useCallback(K=>E(U=>{if(typeof K!="string")return U;const se=ri({},U);return delete se[K],se}),[]),A=f.useCallback(K=>v(U=>{if(typeof K!="string")return U;const se=YO(K,U);return delete se[K],se}),[]),L=f.useCallback((K,U)=>{const se=Xk(K,s);A(K),h(re=>vv(ri({},re),{[K]:!0})),w(re=>{const oe=dg(K,U,re);if(se){const pe=Pp(K,d,oe);pe.hasError?M(K,pe.error):D(K)}return oe}),!se&&o&&M(K,null)},[]),Q=f.useCallback(K=>{w(U=>{const se=typeof K=="function"?K(U):K;return ri(ri({},U),se)}),o&&O()},[]),F=f.useCallback((K,U)=>{A(K),w(se=>pse(K,U,se)),S(se=>bse(K,U,se))},[]),V=f.useCallback((K,U)=>{A(K),w(se=>yse(K,U,se)),S(se=>r_(K,U,se,-1))},[]),q=f.useCallback((K,U,se)=>{A(K),w(re=>kse(K,U,se,re)),S(re=>r_(K,se,re,1))},[]),G=f.useCallback(()=>{const K=F1(d,b);return S(K.errors),K},[b,d]),T=f.useCallback(K=>{const U=Pp(K,d,b);return U.hasError?M(K,U.error):D(K),U},[b,d]),z=(K,{type:U="input",withError:se=!0,withFocus:re=!0}={})=>{const pe={onChange:_se(le=>L(K,le))};return se&&(pe.error=y[K]),U==="checkbox"?pe.checked=xa(K,b):pe.value=xa(K,b),re&&(pe.onFocus=()=>h(le=>vv(ri({},le),{[K]:!0})),pe.onBlur=()=>{if(Xk(K,a)){const le=Pp(K,d,b);le.hasError?M(K,le.error):D(K)}}),pe},$=(K,U)=>se=>{se==null||se.preventDefault();const re=G();re.hasErrors?U==null||U(re.errors,b,se):K==null||K(c(b),se)},Y=K=>c(K||b),ae=f.useCallback(K=>{K.preventDefault(),R()},[]),fe=K=>{if(K){const se=xa(K,m);if(typeof se=="boolean")return se;const re=xa(K,b),oe=xa(K,k.current);return!Gk(re,oe)}return Object.keys(m).length>0?o_(m):!Gk(b,k.current)},ie=f.useCallback(K=>o_(p,K),[p]),X=f.useCallback(K=>K?!Pp(K,d,b).hasError:!F1(d,b).hasErrors,[b,d]);return{values:b,errors:y,setValues:Q,setErrors:E,setFieldValue:L,setFieldError:M,clearFieldError:D,clearErrors:O,reset:R,validate:G,validateField:T,reorderListItem:F,removeListItem:V,insertListItem:q,getInputProps:z,onSubmit:$,onReset:ae,isDirty:fe,isTouched:ie,setTouched:h,setDirty:v,resetTouched:P,resetDirty:I,isValid:X,getTransformedValues:Y}}function br(e){const{...t}=e,{base50:n,base100:r,base200:o,base300:s,base800:a,base700:c,base900:d,accent500:p,accent300:h}=by(),{colorMode:m}=Ds();return i.jsx(FI,{styles:()=>({input:{color:Fe(d,r)(m),backgroundColor:Fe(n,d)(m),borderColor:Fe(o,a)(m),borderWidth:2,outline:"none",":focus":{borderColor:Fe(h,p)(m)}},label:{color:Fe(c,s)(m),fontWeight:"normal",marginBottom:4}}),...t})}const Rse=[{value:"sd-1",label:Qn["sd-1"]},{value:"sd-2",label:Qn["sd-2"]},{value:"sdxl",label:Qn.sdxl},{value:"sdxl-refiner",label:Qn["sdxl-refiner"]}];function Zd(e){const{...t}=e,{t:n}=ye();return i.jsx(Xr,{label:n("modelManager.baseModel"),data:Rse,...t})}function JO(e){const{data:t}=i5(),{...n}=e;return i.jsx(Xr,{label:"Config File",placeholder:"Select A Config File",data:t||[],...n})}const Mse=[{value:"normal",label:"Normal"},{value:"inpaint",label:"Inpaint"},{value:"depth",label:"Depth"}];function fg(e){const{...t}=e,{t:n}=ye();return i.jsx(Xr,{label:n("modelManager.variant"),data:Mse,...t})}function ZO(e){var p;const{t}=ye(),n=te(),{model_path:r}=e,o=Sl({initialValues:{model_name:((p=r==null?void 0:r.split("\\").splice(-1)[0])==null?void 0:p.split(".")[0])??"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"checkpoint",error:void 0,vae:"",variant:"normal",config:"configs\\stable-diffusion\\v1-inference.yaml"}}),[s]=l5(),[a,c]=f.useState(!1),d=h=>{s({body:h}).unwrap().then(m=>{n(On(Mn({title:`Model Added: ${h.model_name}`,status:"success"}))),o.reset(),r&&n(Cd(null))}).catch(m=>{m&&n(On(Mn({title:"Model Add Failed",status:"error"})))})};return i.jsx("form",{onSubmit:o.onSubmit(h=>d(h)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsx(br,{label:"Model Name",required:!0,...o.getInputProps("model_name")}),i.jsx(Zd,{...o.getInputProps("base_model")}),i.jsx(br,{label:"Model Location",required:!0,...o.getInputProps("path")}),i.jsx(br,{label:"Description",...o.getInputProps("description")}),i.jsx(br,{label:"VAE Location",...o.getInputProps("vae")}),i.jsx(fg,{...o.getInputProps("variant")}),i.jsxs(W,{flexDirection:"column",width:"100%",gap:2,children:[a?i.jsx(br,{required:!0,label:"Custom Config File Location",...o.getInputProps("config")}):i.jsx(JO,{required:!0,width:"100%",...o.getInputProps("config")}),i.jsx(Gn,{isChecked:a,onChange:()=>c(!a),label:"Use Custom Config"}),i.jsx(Yt,{mt:2,type:"submit",children:t("modelManager.addModel")})]})]})})}function e8(e){const{t}=ye(),n=te(),{model_path:r}=e,[o]=l5(),s=Sl({initialValues:{model_name:(r==null?void 0:r.split("\\").splice(-1)[0])??"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"diffusers",error:void 0,vae:"",variant:"normal"}}),a=c=>{o({body:c}).unwrap().then(d=>{n(On(Mn({title:`Model Added: ${c.model_name}`,status:"success"}))),s.reset(),r&&n(Cd(null))}).catch(d=>{d&&n(On(Mn({title:"Model Add Failed",status:"error"})))})};return i.jsx("form",{onSubmit:s.onSubmit(c=>a(c)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsx(br,{required:!0,label:"Model Name",...s.getInputProps("model_name")}),i.jsx(Zd,{...s.getInputProps("base_model")}),i.jsx(br,{required:!0,label:"Model Location",placeholder:"Provide the path to a local folder where your Diffusers Model is stored",...s.getInputProps("path")}),i.jsx(br,{label:"Description",...s.getInputProps("description")}),i.jsx(br,{label:"VAE Location",...s.getInputProps("vae")}),i.jsx(fg,{...s.getInputProps("variant")}),i.jsx(Yt,{mt:2,type:"submit",children:t("modelManager.addModel")})]})})}const t8=[{label:"Diffusers",value:"diffusers"},{label:"Checkpoint / Safetensors",value:"checkpoint"}];function Dse(){const[e,t]=f.useState("diffusers");return i.jsxs(W,{flexDirection:"column",gap:4,width:"100%",children:[i.jsx(Xr,{label:"Model Type",value:e,data:t8,onChange:n=>{n&&t(n)}}),i.jsxs(W,{sx:{p:4,borderRadius:4,bg:"base.300",_dark:{bg:"base.850"}},children:[e==="diffusers"&&i.jsx(e8,{}),e==="checkpoint"&&i.jsx(ZO,{})]})]})}const Ase=[{label:"None",value:"none"},{label:"v_prediction",value:"v_prediction"},{label:"epsilon",value:"epsilon"},{label:"sample",value:"sample"}];function Tse(){const e=te(),{t}=ye(),n=B(c=>c.system.isProcessing),[r,{isLoading:o}]=c5(),s=Sl({initialValues:{location:"",prediction_type:void 0}}),a=c=>{const d={location:c.location,prediction_type:c.prediction_type==="none"?void 0:c.prediction_type};r({body:d}).unwrap().then(p=>{e(On(Mn({title:"Model Added",status:"success"}))),s.reset()}).catch(p=>{p&&(console.log(p),e(On(Mn({title:`${p.data.detail} `,status:"error"}))))})};return i.jsx("form",{onSubmit:s.onSubmit(c=>a(c)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",width:"100%",gap:4,children:[i.jsx(br,{label:"Model Location",placeholder:"Provide a path to a local Diffusers model, local checkpoint / safetensors model a HuggingFace Repo ID, or a checkpoint/diffusers model URL.",w:"100%",...s.getInputProps("location")}),i.jsx(Xr,{label:"Prediction Type (for Stable Diffusion 2.x Models only)",data:Ase,defaultValue:"none",...s.getInputProps("prediction_type")}),i.jsx(Yt,{type:"submit",isLoading:o,isDisabled:o||n,children:t("modelManager.addModel")})]})})}function Nse(){const[e,t]=f.useState("simple");return i.jsxs(W,{flexDirection:"column",width:"100%",overflow:"scroll",maxHeight:window.innerHeight-250,gap:4,children:[i.jsxs(rr,{isAttached:!0,children:[i.jsx(Yt,{size:"sm",isChecked:e=="simple",onClick:()=>t("simple"),children:"Simple"}),i.jsx(Yt,{size:"sm",isChecked:e=="advanced",onClick:()=>t("advanced"),children:"Advanced"})]}),i.jsxs(W,{sx:{p:4,borderRadius:4,background:"base.200",_dark:{background:"base.800"}},children:[e==="simple"&&i.jsx(Tse,{}),e==="advanced"&&i.jsx(Dse,{})]})]})}const $se={display:"flex",flexDirection:"row",alignItems:"center",gap:10},Lse=e=>{const{label:t="",labelPos:n="top",isDisabled:r=!1,isInvalid:o,formControlProps:s,...a}=e,c=te(),d=f.useCallback(h=>{h.shiftKey&&c(jo(!0))},[c]),p=f.useCallback(h=>{h.shiftKey||c(jo(!1))},[c]);return i.jsxs(go,{isInvalid:o,isDisabled:r,...s,style:n==="side"?$se:void 0,children:[t!==""&&i.jsx(Bo,{children:t}),i.jsx(Ed,{...a,onPaste:ex,onKeyDown:d,onKeyUp:p})]})},Dc=f.memo(Lse);function zse(e){const{...t}=e;return i.jsx(Aj,{w:"100%",...t,children:e.children})}function Bse(){const e=B(y=>y.modelmanager.searchFolder),[t,n]=f.useState(""),{data:r}=na(Gi),{foundModels:o,alreadyInstalled:s,filteredModels:a}=u5({search_path:e||""},{selectFromResult:({data:y})=>{const S=b9(r==null?void 0:r.entities),k=cs(S,"path"),_=m9(y,k),P=C9(y,k);return{foundModels:y,alreadyInstalled:i_(P,t),filteredModels:i_(_,t)}}}),[c,{isLoading:d}]=c5(),p=te(),{t:h}=ye(),m=f.useCallback(y=>{const S=y.currentTarget.id.split("\\").splice(-1)[0];c({body:{location:y.currentTarget.id}}).unwrap().then(k=>{p(On(Mn({title:`Added Model: ${S}`,status:"success"})))}).catch(k=>{k&&p(On(Mn({title:"Failed To Add Model",status:"error"})))})},[p,c]),v=f.useCallback(y=>{n(y.target.value)},[]),b=({models:y,showActions:S=!0})=>y.map(k=>i.jsxs(W,{sx:{p:4,gap:4,alignItems:"center",borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(W,{w:"100%",sx:{flexDirection:"column",minW:"25%"},children:[i.jsx(Qe,{sx:{fontWeight:600},children:k.split("\\").slice(-1)[0]}),i.jsx(Qe,{sx:{fontSize:"sm",color:"base.600",_dark:{color:"base.400"}},children:k})]}),S?i.jsxs(W,{gap:2,children:[i.jsx(Yt,{id:k,onClick:m,isLoading:d,children:"Quick Add"}),i.jsx(Yt,{onClick:()=>p(Cd(k)),isLoading:d,children:"Advanced"})]}):i.jsx(Qe,{sx:{fontWeight:600,p:2,borderRadius:4,color:"accent.50",bg:"accent.400",_dark:{color:"accent.100",bg:"accent.600"}},children:"Installed"})]},k));return(()=>e?!o||o.length===0?i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",height:96,userSelect:"none",bg:"base.200",_dark:{bg:"base.900"}},children:i.jsx(Qe,{variant:"subtext",children:"No Models Found"})}):i.jsxs(W,{sx:{flexDirection:"column",gap:2,w:"100%",minW:"50%"},children:[i.jsx(Dc,{onChange:v,label:h("modelManager.search"),labelPos:"side"}),i.jsxs(W,{p:2,gap:2,children:[i.jsxs(Qe,{sx:{fontWeight:600},children:["Models Found: ",o.length]}),i.jsxs(Qe,{sx:{fontWeight:600,color:"accent.500",_dark:{color:"accent.200"}},children:["Not Installed: ",a.length]})]}),i.jsx(zse,{offsetScrollbars:!0,children:i.jsxs(W,{gap:2,flexDirection:"column",children:[b({models:a}),b({models:s,showActions:!1})]})})]}):null)()}const i_=(e,t)=>{const n=[];return oo(e,r=>{if(!r)return null;r.includes(t)&&n.push(r)}),n};function Fse(){const e=B(a=>a.modelmanager.advancedAddScanModel),[t,n]=f.useState("diffusers"),[r,o]=f.useState(!0);f.useEffect(()=>{e&&[".ckpt",".safetensors",".pth",".pt"].some(a=>e.endsWith(a))?n("checkpoint"):n("diffusers")},[e,n,r]);const s=te();return e?i.jsxs(Re,{as:Er.div,initial:{x:-100,opacity:0},animate:{x:0,opacity:1,transition:{duration:.2}},sx:{display:"flex",flexDirection:"column",minWidth:"40%",maxHeight:window.innerHeight-300,overflow:"scroll",p:4,gap:4,borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(W,{justifyContent:"space-between",alignItems:"center",children:[i.jsx(Qe,{size:"xl",fontWeight:600,children:r||t==="checkpoint"?"Add Checkpoint Model":"Add Diffusers Model"}),i.jsx(ze,{icon:i.jsx(sQ,{}),"aria-label":"Close Advanced",onClick:()=>s(Cd(null)),size:"sm"})]}),i.jsx(Xr,{label:"Model Type",value:t,data:t8,onChange:a=>{a&&(n(a),o(a==="checkpoint"))}}),r?i.jsx(ZO,{model_path:e},e):i.jsx(e8,{model_path:e},e)]}):null}function Hse(){const e=te(),{t}=ye(),n=B(c=>c.modelmanager.searchFolder),{refetch:r}=u5({search_path:n||""}),o=Sl({initialValues:{folder:""}}),s=f.useCallback(c=>{e(hw(c.folder))},[e]),a=()=>{r()};return i.jsx("form",{onSubmit:o.onSubmit(c=>s(c)),style:{width:"100%"},children:i.jsxs(W,{sx:{w:"100%",gap:2,borderRadius:4,alignItems:"center"},children:[i.jsxs(W,{w:"100%",alignItems:"center",gap:4,minH:12,children:[i.jsx(Qe,{sx:{fontSize:"sm",fontWeight:600,color:"base.700",minW:"max-content",_dark:{color:"base.300"}},children:"Folder"}),n?i.jsx(W,{sx:{w:"100%",p:2,px:4,bg:"base.300",borderRadius:4,fontSize:"sm",fontWeight:"bold",_dark:{bg:"base.700"}},children:n}):i.jsx(Dc,{w:"100%",size:"md",...o.getInputProps("folder")})]}),i.jsxs(W,{gap:2,children:[n?i.jsx(ze,{"aria-label":t("modelManager.scanAgain"),tooltip:t("modelManager.scanAgain"),icon:i.jsx(cE,{}),onClick:a,fontSize:18,size:"sm"}):i.jsx(ze,{"aria-label":t("modelManager.findModels"),tooltip:t("modelManager.findModels"),icon:i.jsx(tQ,{}),fontSize:18,size:"sm",type:"submit"}),i.jsx(ze,{"aria-label":t("modelManager.clearCheckpointFolder"),tooltip:t("modelManager.clearCheckpointFolder"),icon:i.jsx(Eo,{}),size:"sm",onClick:()=>{e(hw(null)),e(Cd(null))},isDisabled:!n,colorScheme:"red"})]})]})})}const Wse=f.memo(Hse);function Vse(){return i.jsxs(W,{flexDirection:"column",w:"100%",gap:4,children:[i.jsx(Wse,{}),i.jsxs(W,{gap:4,children:[i.jsx(W,{sx:{maxHeight:window.innerHeight-300,overflow:"scroll",gap:4,w:"100%"},children:i.jsx(Bse,{})}),i.jsx(Fse,{})]})]})}function Use(){const[e,t]=f.useState("add"),{t:n}=ye();return i.jsxs(W,{flexDirection:"column",gap:4,children:[i.jsxs(rr,{isAttached:!0,children:[i.jsx(Yt,{onClick:()=>t("add"),isChecked:e=="add",size:"sm",width:"100%",children:n("modelManager.addModel")}),i.jsx(Yt,{onClick:()=>t("scan"),isChecked:e=="scan",size:"sm",width:"100%",children:n("modelManager.scanForModels")})]}),e=="add"&&i.jsx(Nse,{}),e=="scan"&&i.jsx(Vse,{})]})}const Gse=[{label:"Stable Diffusion 1",value:"sd-1"},{label:"Stable Diffusion 2",value:"sd-2"}];function qse(){var T,z;const{t:e}=ye(),t=te(),{data:n}=na(Gi),[r,{isLoading:o}]=TM(),[s,a]=f.useState("sd-1"),c=Iw(n==null?void 0:n.entities,($,Y)=>($==null?void 0:$.model_format)==="diffusers"&&($==null?void 0:$.base_model)==="sd-1"),d=Iw(n==null?void 0:n.entities,($,Y)=>($==null?void 0:$.model_format)==="diffusers"&&($==null?void 0:$.base_model)==="sd-2"),p=f.useMemo(()=>({"sd-1":c,"sd-2":d}),[c,d]),[h,m]=f.useState(((T=Object.keys(p[s]))==null?void 0:T[0])??null),[v,b]=f.useState(((z=Object.keys(p[s]))==null?void 0:z[1])??null),[w,y]=f.useState(null),[S,k]=f.useState(""),[_,P]=f.useState(.5),[I,E]=f.useState("weighted_sum"),[O,R]=f.useState("root"),[M,D]=f.useState(""),[A,L]=f.useState(!1),Q=Object.keys(p[s]).filter($=>$!==v&&$!==w),F=Object.keys(p[s]).filter($=>$!==h&&$!==w),V=Object.keys(p[s]).filter($=>$!==h&&$!==v),q=$=>{a($),m(null),b(null)},G=()=>{const $=[];let Y=[h,v,w];Y=Y.filter(fe=>fe!==null),Y.forEach(fe=>{var X;const ie=(X=fe==null?void 0:fe.split("/"))==null?void 0:X[2];ie&&$.push(ie)});const ae={model_names:$,merged_model_name:S!==""?S:$.join("-"),alpha:_,interp:I,force:A,merge_dest_directory:O==="root"?void 0:M};r({base_model:s,body:ae}).unwrap().then(fe=>{t(On(Mn({title:e("modelManager.modelsMerged"),status:"success"})))}).catch(fe=>{fe&&t(On(Mn({title:e("modelManager.modelsMergeFailed"),status:"error"})))})};return i.jsxs(W,{flexDirection:"column",rowGap:4,children:[i.jsxs(W,{sx:{flexDirection:"column",rowGap:1},children:[i.jsx(Qe,{children:e("modelManager.modelMergeHeaderHelp1")}),i.jsx(Qe,{fontSize:"sm",variant:"subtext",children:e("modelManager.modelMergeHeaderHelp2")})]}),i.jsxs(W,{columnGap:4,children:[i.jsx(Xr,{label:"Model Type",w:"100%",data:Gse,value:s,onChange:q}),i.jsx(ar,{label:e("modelManager.modelOne"),w:"100%",value:h,placeholder:e("modelManager.selectModel"),data:Q,onChange:$=>m($)}),i.jsx(ar,{label:e("modelManager.modelTwo"),w:"100%",placeholder:e("modelManager.selectModel"),value:v,data:F,onChange:$=>b($)}),i.jsx(ar,{label:e("modelManager.modelThree"),data:V,w:"100%",placeholder:e("modelManager.selectModel"),clearable:!0,onChange:$=>{$?(y($),E("weighted_sum")):(y(null),E("add_difference"))}})]}),i.jsx(Dc,{label:e("modelManager.mergedModelName"),value:S,onChange:$=>k($.target.value)}),i.jsxs(W,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(_t,{label:e("modelManager.alpha"),min:.01,max:.99,step:.01,value:_,onChange:$=>P($),withInput:!0,withReset:!0,handleReset:()=>P(.5),withSliderMarks:!0}),i.jsx(Qe,{variant:"subtext",fontSize:"sm",children:e("modelManager.modelMergeAlphaHelp")})]}),i.jsxs(W,{sx:{padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(Qe,{fontWeight:500,fontSize:"sm",variant:"subtext",children:e("modelManager.interpolationType")}),i.jsx(oh,{value:I,onChange:$=>E($),children:i.jsx(W,{columnGap:4,children:w===null?i.jsxs(i.Fragment,{children:[i.jsx(ya,{value:"weighted_sum",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.weightedSum")})}),i.jsx(ya,{value:"sigmoid",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.sigmoid")})}),i.jsx(ya,{value:"inv_sigmoid",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.inverseSigmoid")})})]}):i.jsx(ya,{value:"add_difference",children:i.jsx(vn,{label:e("modelManager.modelMergeInterpAddDifferenceHelp"),children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.addDifference")})})})})})]}),i.jsxs(W,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.900"}},children:[i.jsxs(W,{columnGap:4,children:[i.jsx(Qe,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:e("modelManager.mergedModelSaveLocation")}),i.jsx(oh,{value:O,onChange:$=>R($),children:i.jsxs(W,{columnGap:4,children:[i.jsx(ya,{value:"root",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.invokeAIFolder")})}),i.jsx(ya,{value:"custom",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.custom")})})]})})]}),O==="custom"&&i.jsx(Dc,{label:e("modelManager.mergedModelCustomSaveLocation"),value:M,onChange:$=>D($.target.value)})]}),i.jsx(Gn,{label:e("modelManager.ignoreMismatch"),isChecked:A,onChange:$=>L($.target.checked),fontWeight:"500"}),i.jsx(Yt,{onClick:G,isLoading:o,isDisabled:h===null||v===null,children:e("modelManager.merge")})]})}const Kse=Ae((e,t)=>{const{t:n}=ye(),{acceptButtonText:r=n("common.accept"),acceptCallback:o,cancelButtonText:s=n("common.cancel"),cancelCallback:a,children:c,title:d,triggerComponent:p}=e,{isOpen:h,onOpen:m,onClose:v}=ss(),b=f.useRef(null),w=()=>{o(),v()},y=()=>{a&&a(),v()};return i.jsxs(i.Fragment,{children:[f.cloneElement(p,{onClick:m,ref:t}),i.jsx(Td,{isOpen:h,leastDestructiveRef:b,onClose:v,isCentered:!0,children:i.jsx(Aa,{children:i.jsxs(Nd,{children:[i.jsx(Da,{fontSize:"lg",fontWeight:"bold",children:d}),i.jsx(Ta,{children:c}),i.jsxs(Ma,{children:[i.jsx(Yt,{ref:b,onClick:y,children:s}),i.jsx(Yt,{colorScheme:"error",onClick:w,ml:3,children:r})]})]})})})]})}),lx=f.memo(Kse);function Xse(e){const{model:t}=e,n=te(),{t:r}=ye(),[o,{isLoading:s}]=NM(),[a,c]=f.useState("InvokeAIRoot"),[d,p]=f.useState("");f.useEffect(()=>{c("InvokeAIRoot")},[t]);const h=()=>{c("InvokeAIRoot")},m=()=>{const v={base_model:t.base_model,model_name:t.model_name,convert_dest_directory:a==="Custom"?d:void 0};if(a==="Custom"&&d===""){n(On(Mn({title:r("modelManager.noCustomLocationProvided"),status:"error"})));return}n(On(Mn({title:`${r("modelManager.convertingModelBegin")}: ${t.model_name}`,status:"info"}))),o(v).unwrap().then(()=>{n(On(Mn({title:`${r("modelManager.modelConverted")}: ${t.model_name}`,status:"success"})))}).catch(()=>{n(On(Mn({title:`${r("modelManager.modelConversionFailed")}: ${t.model_name}`,status:"error"})))})};return i.jsxs(lx,{title:`${r("modelManager.convert")} ${t.model_name}`,acceptCallback:m,cancelCallback:h,acceptButtonText:`${r("modelManager.convert")}`,triggerComponent:i.jsxs(Yt,{size:"sm","aria-label":r("modelManager.convertToDiffusers"),className:" modal-close-btn",isLoading:s,children:["🧨 ",r("modelManager.convertToDiffusers")]}),motionPreset:"slideInBottom",children:[i.jsxs(W,{flexDirection:"column",rowGap:4,children:[i.jsx(Qe,{children:r("modelManager.convertToDiffusersHelpText1")}),i.jsxs(Ab,{children:[i.jsx(Sa,{children:r("modelManager.convertToDiffusersHelpText2")}),i.jsx(Sa,{children:r("modelManager.convertToDiffusersHelpText3")}),i.jsx(Sa,{children:r("modelManager.convertToDiffusersHelpText4")}),i.jsx(Sa,{children:r("modelManager.convertToDiffusersHelpText5")})]}),i.jsx(Qe,{children:r("modelManager.convertToDiffusersHelpText6")})]}),i.jsxs(W,{flexDir:"column",gap:2,children:[i.jsxs(W,{marginTop:4,flexDir:"column",gap:2,children:[i.jsx(Qe,{fontWeight:"600",children:r("modelManager.convertToDiffusersSaveLocation")}),i.jsx(oh,{value:a,onChange:v=>c(v),children:i.jsxs(W,{gap:4,children:[i.jsx(ya,{value:"InvokeAIRoot",children:i.jsx(vn,{label:"Save converted model in the InvokeAI root folder",children:r("modelManager.invokeRoot")})}),i.jsx(ya,{value:"Custom",children:i.jsx(vn,{label:"Save converted model in a custom folder",children:r("modelManager.custom")})})]})})]}),a==="Custom"&&i.jsxs(W,{flexDirection:"column",rowGap:2,children:[i.jsx(Qe,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:r("modelManager.customSaveLocation")}),i.jsx(Dc,{value:d,onChange:v=>{p(v.target.value)},width:"full"})]})]})]})}function Yse(e){const t=B(kr),{model:n}=e,[r,{isLoading:o}]=d5(),{data:s}=i5(),[a,c]=f.useState(!1);f.useEffect(()=>{s!=null&&s.includes(n.config)||c(!0)},[s,n.config]);const d=te(),{t:p}=ye(),h=Sl({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"checkpoint",vae:n.vae?n.vae:"",config:n.config?n.config:"",variant:n.variant},validate:{path:v=>v.trim().length===0?"Must provide a path":null}}),m=f.useCallback(v=>{const b={base_model:n.base_model,model_name:n.model_name,body:v};r(b).unwrap().then(w=>{h.setValues(w),d(On(Mn({title:p("modelManager.modelUpdated"),status:"success"})))}).catch(w=>{h.reset(),d(On(Mn({title:p("modelManager.modelUpdateFailed"),status:"error"})))})},[h,d,n.base_model,n.model_name,p,r]);return i.jsxs(W,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(W,{justifyContent:"space-between",alignItems:"center",children:[i.jsxs(W,{flexDirection:"column",children:[i.jsx(Qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(Qe,{fontSize:"sm",color:"base.400",children:[Qn[n.base_model]," Model"]})]}),[""].includes(n.base_model)?i.jsx(gl,{sx:{p:2,borderRadius:4,bg:"error.200",_dark:{bg:"error.400"}},children:"Conversion Not Supported"}):i.jsx(Xse,{model:n})]}),i.jsx(Wa,{}),i.jsx(W,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",children:i.jsx("form",{onSubmit:h.onSubmit(v=>m(v)),children:i.jsxs(W,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(br,{label:p("modelManager.name"),...h.getInputProps("model_name")}),i.jsx(br,{label:p("modelManager.description"),...h.getInputProps("description")}),i.jsx(Zd,{required:!0,...h.getInputProps("base_model")}),i.jsx(fg,{required:!0,...h.getInputProps("variant")}),i.jsx(br,{required:!0,label:p("modelManager.modelLocation"),...h.getInputProps("path")}),i.jsx(br,{label:p("modelManager.vaeLocation"),...h.getInputProps("vae")}),i.jsxs(W,{flexDirection:"column",gap:2,children:[a?i.jsx(br,{required:!0,label:p("modelManager.config"),...h.getInputProps("config")}):i.jsx(JO,{required:!0,...h.getInputProps("config")}),i.jsx(Gn,{isChecked:a,onChange:()=>c(!a),label:"Use Custom Config"})]}),i.jsx(Yt,{type:"submit",isDisabled:t||o,isLoading:o,children:p("modelManager.updateModel")})]})})})]})}function Qse(e){const t=B(kr),{model:n}=e,[r,{isLoading:o}]=d5(),s=te(),{t:a}=ye(),c=Sl({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"diffusers",vae:n.vae?n.vae:"",variant:n.variant},validate:{path:p=>p.trim().length===0?"Must provide a path":null}}),d=f.useCallback(p=>{const h={base_model:n.base_model,model_name:n.model_name,body:p};r(h).unwrap().then(m=>{c.setValues(m),s(On(Mn({title:a("modelManager.modelUpdated"),status:"success"})))}).catch(m=>{c.reset(),s(On(Mn({title:a("modelManager.modelUpdateFailed"),status:"error"})))})},[c,s,n.base_model,n.model_name,a,r]);return i.jsxs(W,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(W,{flexDirection:"column",children:[i.jsx(Qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(Qe,{fontSize:"sm",color:"base.400",children:[Qn[n.base_model]," Model"]})]}),i.jsx(Wa,{}),i.jsx("form",{onSubmit:c.onSubmit(p=>d(p)),children:i.jsxs(W,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(br,{label:a("modelManager.name"),...c.getInputProps("model_name")}),i.jsx(br,{label:a("modelManager.description"),...c.getInputProps("description")}),i.jsx(Zd,{required:!0,...c.getInputProps("base_model")}),i.jsx(fg,{required:!0,...c.getInputProps("variant")}),i.jsx(br,{required:!0,label:a("modelManager.modelLocation"),...c.getInputProps("path")}),i.jsx(br,{label:a("modelManager.vaeLocation"),...c.getInputProps("vae")}),i.jsx(Yt,{type:"submit",isDisabled:t||o,isLoading:o,children:a("modelManager.updateModel")})]})})]})}function Jse(e){const t=B(kr),{model:n}=e,[r,{isLoading:o}]=$M(),s=te(),{t:a}=ye(),c=Sl({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"lora",path:n.path?n.path:"",description:n.description?n.description:"",model_format:n.model_format},validate:{path:p=>p.trim().length===0?"Must provide a path":null}}),d=f.useCallback(p=>{const h={base_model:n.base_model,model_name:n.model_name,body:p};r(h).unwrap().then(m=>{c.setValues(m),s(On(Mn({title:a("modelManager.modelUpdated"),status:"success"})))}).catch(m=>{c.reset(),s(On(Mn({title:a("modelManager.modelUpdateFailed"),status:"error"})))})},[s,c,n.base_model,n.model_name,a,r]);return i.jsxs(W,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(W,{flexDirection:"column",children:[i.jsx(Qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(Qe,{fontSize:"sm",color:"base.400",children:[Qn[n.base_model]," Model ⋅"," ",LM[n.model_format]," format"]})]}),i.jsx(Wa,{}),i.jsx("form",{onSubmit:c.onSubmit(p=>d(p)),children:i.jsxs(W,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(br,{label:a("modelManager.name"),...c.getInputProps("model_name")}),i.jsx(br,{label:a("modelManager.description"),...c.getInputProps("description")}),i.jsx(Zd,{...c.getInputProps("base_model")}),i.jsx(br,{label:a("modelManager.modelLocation"),...c.getInputProps("path")}),i.jsx(Yt,{type:"submit",isDisabled:t||o,isLoading:o,children:a("modelManager.updateModel")})]})})]})}function Zse(e){const t=B(kr),{t:n}=ye(),r=te(),[o]=zM(),[s]=BM(),{model:a,isSelected:c,setSelectedModelId:d}=e,p=f.useCallback(()=>{d(a.id)},[a.id,d]),h=f.useCallback(()=>{const m={main:o,lora:s,onnx:o}[a.model_type];m(a).unwrap().then(v=>{r(On(Mn({title:`${n("modelManager.modelDeleted")}: ${a.model_name}`,status:"success"})))}).catch(v=>{v&&r(On(Mn({title:`${n("modelManager.modelDeleteFailed")}: ${a.model_name}`,status:"error"})))}),d(void 0)},[o,s,a,d,r,n]);return i.jsxs(W,{sx:{gap:2,alignItems:"center",w:"full"},children:[i.jsx(W,{as:Yt,isChecked:c,sx:{justifyContent:"start",p:2,borderRadius:"base",w:"full",alignItems:"center",bg:c?"accent.400":"base.100",color:c?"base.50":"base.800",_hover:{bg:c?"accent.500":"base.300",color:c?"base.50":"base.800"},_dark:{color:c?"base.50":"base.100",bg:c?"accent.600":"base.850",_hover:{color:c?"base.50":"base.100",bg:c?"accent.550":"base.700"}}},onClick:p,children:i.jsxs(W,{gap:4,alignItems:"center",children:[i.jsx(gl,{minWidth:14,p:.5,fontSize:"sm",variant:"solid",children:FM[a.base_model]}),i.jsx(vn,{label:a.description,hasArrow:!0,placement:"bottom",children:i.jsx(Qe,{sx:{fontWeight:500},children:a.model_name})})]})}),i.jsx(lx,{title:n("modelManager.deleteModel"),acceptCallback:h,acceptButtonText:n("modelManager.delete"),triggerComponent:i.jsx(ze,{icon:i.jsx(DJ,{}),"aria-label":n("modelManager.deleteConfig"),isDisabled:t,colorScheme:"error"}),children:i.jsxs(W,{rowGap:4,flexDirection:"column",children:[i.jsx("p",{style:{fontWeight:"bold"},children:n("modelManager.deleteMsg1")}),i.jsx("p",{children:n("modelManager.deleteMsg2")})]})})]})}const eae=e=>{const{selectedModelId:t,setSelectedModelId:n}=e,{t:r}=ye(),[o,s]=f.useState(""),[a,c]=f.useState("all"),{filteredDiffusersModels:d,isLoadingDiffusersModels:p}=na(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredDiffusersModels:ku(P,"main","diffusers",o),isLoadingDiffusersModels:I})}),{filteredCheckpointModels:h,isLoadingCheckpointModels:m}=na(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredCheckpointModels:ku(P,"main","checkpoint",o),isLoadingCheckpointModels:I})}),{filteredLoraModels:v,isLoadingLoraModels:b}=mm(void 0,{selectFromResult:({data:P,isLoading:I})=>({filteredLoraModels:ku(P,"lora",void 0,o),isLoadingLoraModels:I})}),{filteredOnnxModels:w,isLoadingOnnxModels:y}=Up(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredOnnxModels:ku(P,"onnx","onnx",o),isLoadingOnnxModels:I})}),{filteredOliveModels:S,isLoadingOliveModels:k}=Up(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredOliveModels:ku(P,"onnx","olive",o),isLoadingOliveModels:I})}),_=f.useCallback(P=>{s(P.target.value)},[]);return i.jsx(W,{flexDirection:"column",rowGap:4,width:"50%",minWidth:"50%",children:i.jsxs(W,{flexDirection:"column",gap:4,paddingInlineEnd:4,children:[i.jsxs(rr,{isAttached:!0,children:[i.jsx(Yt,{onClick:()=>c("all"),isChecked:a==="all",size:"sm",children:r("modelManager.allModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("diffusers"),isChecked:a==="diffusers",children:r("modelManager.diffusersModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("checkpoint"),isChecked:a==="checkpoint",children:r("modelManager.checkpointModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("onnx"),isChecked:a==="onnx",children:r("modelManager.onnxModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("olive"),isChecked:a==="olive",children:r("modelManager.oliveModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("lora"),isChecked:a==="lora",children:r("modelManager.loraModels")})]}),i.jsx(Dc,{onChange:_,label:r("modelManager.search"),labelPos:"side"}),i.jsxs(W,{flexDirection:"column",gap:4,maxHeight:window.innerHeight-280,overflow:"scroll",children:[p&&i.jsx(Pu,{loadingMessage:"Loading Diffusers..."}),["all","diffusers"].includes(a)&&!p&&d.length>0&&i.jsx(_u,{title:"Diffusers",modelList:d,selected:{selectedModelId:t,setSelectedModelId:n}},"diffusers"),m&&i.jsx(Pu,{loadingMessage:"Loading Checkpoints..."}),["all","checkpoint"].includes(a)&&!m&&h.length>0&&i.jsx(_u,{title:"Checkpoints",modelList:h,selected:{selectedModelId:t,setSelectedModelId:n}},"checkpoints"),b&&i.jsx(Pu,{loadingMessage:"Loading LoRAs..."}),["all","lora"].includes(a)&&!b&&v.length>0&&i.jsx(_u,{title:"LoRAs",modelList:v,selected:{selectedModelId:t,setSelectedModelId:n}},"loras"),k&&i.jsx(Pu,{loadingMessage:"Loading Olives..."}),["all","olive"].includes(a)&&!k&&S.length>0&&i.jsx(_u,{title:"Olives",modelList:S,selected:{selectedModelId:t,setSelectedModelId:n}},"olive"),y&&i.jsx(Pu,{loadingMessage:"Loading ONNX..."}),["all","onnx"].includes(a)&&!y&&w.length>0&&i.jsx(_u,{title:"ONNX",modelList:w,selected:{selectedModelId:t,setSelectedModelId:n}},"onnx")]})]})})},ku=(e,t,n,r)=>{const o=[];return oo(e==null?void 0:e.entities,s=>{if(!s)return;const a=s.model_name.toLowerCase().includes(r.toLowerCase()),c=n===void 0||s.model_format===n,d=s.model_type===t;a&&c&&d&&o.push(s)}),o},n8=e=>i.jsx(W,{flexDirection:"column",gap:4,borderRadius:4,p:4,sx:{bg:"base.200",_dark:{bg:"base.800"}},children:e.children});function _u(e){const{title:t,modelList:n,selected:r}=e;return i.jsx(n8,{children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(Qe,{variant:"subtext",fontSize:"sm",children:t}),n.map(o=>i.jsx(Zse,{model:o,isSelected:r.selectedModelId===o.id,setSelectedModelId:r.setSelectedModelId},o.id))]})})}function Pu({loadingMessage:e}){return i.jsx(n8,{children:i.jsxs(W,{justifyContent:"center",alignItems:"center",flexDirection:"column",p:4,gap:8,children:[i.jsx(hl,{}),i.jsx(Qe,{variant:"subtext",children:e||"Fetching..."})]})})}function tae(){const[e,t]=f.useState(),{mainModel:n}=na(Gi,{selectFromResult:({data:s})=>({mainModel:e?s==null?void 0:s.entities[e]:void 0})}),{loraModel:r}=mm(void 0,{selectFromResult:({data:s})=>({loraModel:e?s==null?void 0:s.entities[e]:void 0})}),o=n||r;return i.jsxs(W,{sx:{gap:8,w:"full",h:"full"},children:[i.jsx(eae,{selectedModelId:e,setSelectedModelId:t}),i.jsx(nae,{model:o})]})}const nae=e=>{const{model:t}=e;return(t==null?void 0:t.model_format)==="checkpoint"?i.jsx(Yse,{model:t},t.id):(t==null?void 0:t.model_format)==="diffusers"?i.jsx(Qse,{model:t},t.id):(t==null?void 0:t.model_type)==="lora"?i.jsx(Jse,{model:t},t.id):i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",maxH:96,userSelect:"none"},children:i.jsx(Qe,{variant:"subtext",children:"No Model Selected"})})};function rae(){const{t:e}=ye();return i.jsxs(W,{sx:{w:"full",p:4,borderRadius:4,gap:4,justifyContent:"space-between",alignItems:"center",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(W,{sx:{flexDirection:"column",gap:2},children:[i.jsx(Qe,{sx:{fontWeight:600},children:e("modelManager.syncModels")}),i.jsx(Qe,{fontSize:"sm",sx:{_dark:{color:"base.400"}},children:e("modelManager.syncModelsDesc")})]}),i.jsx(Qd,{})]})}function oae(){return i.jsx(W,{children:i.jsx(rae,{})})}const l_=[{id:"modelManager",label:Bn.t("modelManager.modelManager"),content:i.jsx(tae,{})},{id:"importModels",label:Bn.t("modelManager.importModels"),content:i.jsx(Use,{})},{id:"mergeModels",label:Bn.t("modelManager.mergeModels"),content:i.jsx(qse,{})},{id:"settings",label:Bn.t("modelManager.settings"),content:i.jsx(oae,{})}],sae=()=>i.jsxs(Ld,{isLazy:!0,variant:"line",layerStyle:"first",sx:{w:"full",h:"full",p:4,gap:4,borderRadius:"base"},children:[i.jsx(zd,{children:l_.map(e=>i.jsx(kc,{sx:{borderTopRadius:"base"},children:e.label},e.id))}),i.jsx($m,{sx:{w:"full",h:"full"},children:l_.map(e=>i.jsx(Nm,{sx:{w:"full",h:"full"},children:e.content},e.id))})]}),aae=f.memo(sae);const iae=e=>be([t=>t.nodes],t=>{const n=t.invocationTemplates[e];if(n)return n},{memoizeOptions:{resultEqualityCheck:(t,n)=>t!==void 0&&n!==void 0&&t.type===n.type}}),lae=(e,t)=>{const n={id:e,name:t.name,type:t.type};return t.inputRequirement!=="never"&&(t.type==="string"&&(n.value=t.default??""),t.type==="integer"&&(n.value=t.default??0),t.type==="float"&&(n.value=t.default??0),t.type==="boolean"&&(n.value=t.default??!1),t.type==="enum"&&(t.enumType==="number"&&(n.value=t.default??0),t.enumType==="string"&&(n.value=t.default??"")),t.type==="array"&&(n.value=t.default??1),t.type==="image"&&(n.value=void 0),t.type==="image_collection"&&(n.value=[]),t.type==="latents"&&(n.value=void 0),t.type==="conditioning"&&(n.value=void 0),t.type==="unet"&&(n.value=void 0),t.type==="clip"&&(n.value=void 0),t.type==="vae"&&(n.value=void 0),t.type==="control"&&(n.value=void 0),t.type==="model"&&(n.value=void 0),t.type==="refiner_model"&&(n.value=void 0),t.type==="vae_model"&&(n.value=void 0),t.type==="lora_model"&&(n.value=void 0),t.type==="controlnet_model"&&(n.value=void 0)),n},cae=be([e=>e.nodes],e=>e.invocationTemplates),cx="node-drag-handle",c_={dragHandle:`.${cx}`},uae=()=>{const e=B(cae),t=cb();return f.useCallback(n=>{if(n==="progress_image"){const{x:h,y:m}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...c_,id:"progress_image",type:"progress_image",position:{x:h,y:m},data:{}}}const r=e[n];if(r===void 0){console.error(`Unable to find template ${n}.`);return}const o=fi(),s=mw(r.inputs,(h,m,v)=>{const b=fi(),w=lae(b,m);return h[v]=w,h},{}),a=mw(r.outputs,(h,m,v)=>{const w={id:fi(),name:v,type:m.type};return h[v]=w,h},{}),{x:c,y:d}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...c_,id:o,type:"invocation",position:{x:c,y:d},data:{id:o,type:n,inputs:s,outputs:a}}},[e,t])},dae=e=>{const{nodeId:t,title:n,description:r}=e;return i.jsxs(W,{className:cx,sx:{borderTopRadius:"md",alignItems:"center",justifyContent:"space-between",px:2,py:1,bg:"base.100",_dark:{bg:"base.900"}},children:[i.jsx(vn,{label:t,children:i.jsx(Ys,{size:"xs",sx:{fontWeight:600,color:"base.900",_dark:{color:"base.200"}},children:n})}),i.jsx(vn,{label:r,placement:"top",hasArrow:!0,shouldWrapChildren:!0,children:i.jsx(fo,{sx:{h:"min-content",color:"base.700",_dark:{color:"base.300"}},as:GY})})]})},r8=f.memo(dae),o8=()=>()=>!0,fae={position:"absolute",width:"1rem",height:"1rem",borderWidth:0},pae={left:"-1rem"},hae={right:"-0.5rem"},mae=e=>{const{field:t,isValidConnection:n,handleType:r,styles:o}=e,{name:s,type:a}=t;return i.jsx(vn,{label:a,placement:r==="target"?"start":"end",hasArrow:!0,openDelay:f5,children:i.jsx(HM,{type:r,id:s,isValidConnection:n,position:r==="target"?gw.Left:gw.Right,style:{backgroundColor:p5[a].colorCssVar,...o,...fae,...r==="target"?pae:hae}})})},s8=f.memo(mae),gae=e=>i.jsx(XY,{}),vae=f.memo(gae),bae=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(As({nodeId:t,fieldName:n.name,value:s.target.checked}))};return i.jsx(Zb,{onChange:o,isChecked:n.value})},yae=f.memo(bae),xae=e=>null,wae=f.memo(xae);function pg(){return(pg=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}function H1(e){var t=f.useRef(e),n=f.useRef(function(r){t.current&&t.current(r)});return t.current=e,n.current}var Ac=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e0:S.buttons>0)&&o.current?s(u_(o.current,S,c.current)):y(!1)},w=function(){return y(!1)};function y(S){var k=d.current,_=W1(o.current),P=S?_.addEventListener:_.removeEventListener;P(k?"touchmove":"mousemove",b),P(k?"touchend":"mouseup",w)}return[function(S){var k=S.nativeEvent,_=o.current;if(_&&(d_(k),!function(I,E){return E&&!Yu(I)}(k,d.current)&&_)){if(Yu(k)){d.current=!0;var P=k.changedTouches||[];P.length&&(c.current=P[0].identifier)}_.focus(),s(u_(_,k,c.current)),y(!0)}},function(S){var k=S.which||S.keyCode;k<37||k>40||(S.preventDefault(),a({left:k===39?.05:k===37?-.05:0,top:k===40?.05:k===38?-.05:0}))},y]},[a,s]),h=p[0],m=p[1],v=p[2];return f.useEffect(function(){return v},[v]),H.createElement("div",pg({},r,{onTouchStart:h,onMouseDown:h,className:"react-colorful__interactive",ref:o,onKeyDown:m,tabIndex:0,role:"slider"}))}),hg=function(e){return e.filter(Boolean).join(" ")},dx=function(e){var t=e.color,n=e.left,r=e.top,o=r===void 0?.5:r,s=hg(["react-colorful__pointer",e.className]);return H.createElement("div",{className:s,style:{top:100*o+"%",left:100*n+"%"}},H.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},po=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=Math.pow(10,t)),Math.round(n*e)/n},i8=function(e){var t=e.s,n=e.v,r=e.a,o=(200-t)*n/100;return{h:po(e.h),s:po(o>0&&o<200?t*n/100/(o<=100?o:200-o)*100:0),l:po(o/2),a:po(r,2)}},V1=function(e){var t=i8(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},bv=function(e){var t=i8(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},Sae=function(e){var t=e.h,n=e.s,r=e.v,o=e.a;t=t/360*6,n/=100,r/=100;var s=Math.floor(t),a=r*(1-n),c=r*(1-(t-s)*n),d=r*(1-(1-t+s)*n),p=s%6;return{r:po(255*[r,c,a,a,d,r][p]),g:po(255*[d,r,r,c,a,a][p]),b:po(255*[a,a,d,r,r,c][p]),a:po(o,2)}},Cae=function(e){var t=e.r,n=e.g,r=e.b,o=e.a,s=Math.max(t,n,r),a=s-Math.min(t,n,r),c=a?s===t?(n-r)/a:s===n?2+(r-t)/a:4+(t-n)/a:0;return{h:po(60*(c<0?c+6:c)),s:po(s?a/s*100:0),v:po(s/255*100),a:o}},kae=H.memo(function(e){var t=e.hue,n=e.onChange,r=hg(["react-colorful__hue",e.className]);return H.createElement("div",{className:r},H.createElement(ux,{onMove:function(o){n({h:360*o.left})},onKey:function(o){n({h:Ac(t+360*o.left,0,360)})},"aria-label":"Hue","aria-valuenow":po(t),"aria-valuemax":"360","aria-valuemin":"0"},H.createElement(dx,{className:"react-colorful__hue-pointer",left:t/360,color:V1({h:t,s:100,v:100,a:1})})))}),_ae=H.memo(function(e){var t=e.hsva,n=e.onChange,r={backgroundColor:V1({h:t.h,s:100,v:100,a:1})};return H.createElement("div",{className:"react-colorful__saturation",style:r},H.createElement(ux,{onMove:function(o){n({s:100*o.left,v:100-100*o.top})},onKey:function(o){n({s:Ac(t.s+100*o.left,0,100),v:Ac(t.v-100*o.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+po(t.s)+"%, Brightness "+po(t.v)+"%"},H.createElement(dx,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:V1(t)})))}),l8=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0};function Pae(e,t,n){var r=H1(n),o=f.useState(function(){return e.toHsva(t)}),s=o[0],a=o[1],c=f.useRef({color:t,hsva:s});f.useEffect(function(){if(!e.equal(t,c.current.color)){var p=e.toHsva(t);c.current={hsva:p,color:t},a(p)}},[t,e]),f.useEffect(function(){var p;l8(s,c.current.hsva)||e.equal(p=e.fromHsva(s),c.current.color)||(c.current={hsva:s,color:p},r(p))},[s,e,r]);var d=f.useCallback(function(p){a(function(h){return Object.assign({},h,p)})},[]);return[s,d]}var jae=typeof window<"u"?f.useLayoutEffect:f.useEffect,Iae=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},f_=new Map,Eae=function(e){jae(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!f_.has(t)){var n=t.createElement("style");n.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,f_.set(t,n);var r=Iae();r&&n.setAttribute("nonce",r),t.head.appendChild(n)}},[])},Oae=function(e){var t=e.className,n=e.hsva,r=e.onChange,o={backgroundImage:"linear-gradient(90deg, "+bv(Object.assign({},n,{a:0}))+", "+bv(Object.assign({},n,{a:1}))+")"},s=hg(["react-colorful__alpha",t]),a=po(100*n.a);return H.createElement("div",{className:s},H.createElement("div",{className:"react-colorful__alpha-gradient",style:o}),H.createElement(ux,{onMove:function(c){r({a:c.left})},onKey:function(c){r({a:Ac(n.a+c.left)})},"aria-label":"Alpha","aria-valuetext":a+"%","aria-valuenow":a,"aria-valuemin":"0","aria-valuemax":"100"},H.createElement(dx,{className:"react-colorful__alpha-pointer",left:n.a,color:bv(n)})))},Rae=function(e){var t=e.className,n=e.colorModel,r=e.color,o=r===void 0?n.defaultColor:r,s=e.onChange,a=a8(e,["className","colorModel","color","onChange"]),c=f.useRef(null);Eae(c);var d=Pae(n,o,s),p=d[0],h=d[1],m=hg(["react-colorful",t]);return H.createElement("div",pg({},a,{ref:c,className:m}),H.createElement(_ae,{hsva:p,onChange:h}),H.createElement(kae,{hue:p.h,onChange:h}),H.createElement(Oae,{hsva:p,onChange:h,className:"react-colorful__last-control"}))},Mae={defaultColor:{r:0,g:0,b:0,a:1},toHsva:Cae,fromHsva:Sae,equal:l8},c8=function(e){return H.createElement(Rae,pg({},e,{colorModel:Mae}))};const Dae=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(As({nodeId:t,fieldName:n.name,value:s}))};return i.jsx(c8,{className:"nodrag",color:n.value,onChange:o})},Aae=f.memo(Dae),Tae=e=>null,Nae=f.memo(Tae),$ae=e=>null,Lae=f.memo($ae),zae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=lb(),a=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/controlnet/${r==null?void 0:r.model_name}`])??null,[r==null?void 0:r.base_model,r==null?void 0:r.model_name,s==null?void 0:s.entities]),c=f.useMemo(()=>{if(!s)return[];const p=[];return oo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:Qn[h.base_model]})}),p},[s]),d=f.useCallback(p=>{if(!p)return;const h=GO(p);h&&o(As({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return i.jsx(Xr,{tooltip:a==null?void 0:a.description,label:(a==null?void 0:a.base_model)&&Qn[a==null?void 0:a.base_model],value:(a==null?void 0:a.id)??null,placeholder:"Pick one",error:!a,data:c,onChange:d})},Bae=f.memo(zae),Fae=e=>{const{nodeId:t,field:n,template:r}=e,o=te(),s=a=>{o(As({nodeId:t,fieldName:n.name,value:a.target.value}))};return i.jsx(z6,{onChange:s,value:n.value,children:r.options.map(a=>i.jsx("option",{children:a},a))})},Hae=f.memo(Fae),Wae=e=>{var c;const{nodeId:t,field:n}=e,r={id:`node-${t}-${n.name}`,actionType:"SET_MULTI_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}},{isOver:o,setNodeRef:s,active:a}=eb({id:`node_${t}`,data:r});return i.jsxs(W,{ref:s,sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",position:"relative",minH:"10rem"},children:[(c=n.value)==null?void 0:c.map(({image_name:d})=>i.jsx(Uae,{imageName:d},d)),zp(r,a)&&i.jsx(Zh,{isOver:o})]})},Vae=f.memo(Wae),Uae=e=>{const{currentData:t}=Is(e.imageName);return i.jsx(fl,{imageDTO:t,isDropDisabled:!0,isDragDisabled:!0})},Gae=e=>{var p;const{nodeId:t,field:n}=e,r=te(),{currentData:o}=Is(((p=n.value)==null?void 0:p.image_name)??ro.skipToken),s=f.useCallback(()=>{r(As({nodeId:t,fieldName:n.name,value:void 0}))},[r,n.name,t]),a=f.useMemo(()=>{if(o)return{id:`node-${t}-${n.name}`,payloadType:"IMAGE_DTO",payload:{imageDTO:o}}},[n.name,o,t]),c=f.useMemo(()=>({id:`node-${t}-${n.name}`,actionType:"SET_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}}),[n.name,t]),d=f.useMemo(()=>({type:"SET_NODES_IMAGE",nodeId:t,fieldName:n.name}),[t,n.name]);return i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(fl,{imageDTO:o,droppableData:c,draggableData:a,onClickReset:s,postUploadAction:d})})},qae=f.memo(Gae),Kae=e=>i.jsx(PY,{}),p_=f.memo(Kae),Xae=e=>null,Yae=f.memo(Xae),Qae=e=>{const t=Sd("models"),[n,r,o]=e.split("/"),s=WM.safeParse({base_model:n,model_name:o});if(!s.success){t.error({loraModelId:e,errors:s.error.format()},"Failed to parse LoRA model id");return}return s.data},Jae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=mm(),a=f.useMemo(()=>{if(!s)return[];const p=[];return oo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:Qn[h.base_model]})}),p.sort((h,m)=>h.disabled&&!m.disabled?1:-1)},[s]),c=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/lora/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r==null?void 0:r.base_model,r==null?void 0:r.model_name]),d=f.useCallback(p=>{if(!p)return;const h=Qae(p);h&&o(As({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return(s==null?void 0:s.ids.length)===0?i.jsx(W,{sx:{justifyContent:"center",p:2},children:i.jsx(Qe,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):i.jsx(ar,{value:(c==null?void 0:c.id)??null,label:(c==null?void 0:c.base_model)&&Qn[c==null?void 0:c.base_model],placeholder:a.length>0?"Select a LoRA":"No LoRAs available",data:a,nothingFound:"No matching LoRAs",itemComponent:Oi,disabled:a.length===0,filter:(p,h)=>{var m;return((m=h.label)==null?void 0:m.toLowerCase().includes(p.toLowerCase().trim()))||h.value.toLowerCase().includes(p.toLowerCase().trim())},onChange:d})},Zae=f.memo(Jae),eie=e=>{var v,b;const{nodeId:t,field:n}=e,r=te(),{t:o}=ye(),s=ir("syncModels").isFeatureEnabled,{data:a}=Up(Qu),{data:c,isLoading:d}=na(Qu),p=f.useMemo(()=>{if(!c)return[];const w=[];return oo(c.entities,(y,S)=>{y&&w.push({value:S,label:y.model_name,group:Qn[y.base_model]})}),a&&oo(a.entities,(y,S)=>{y&&w.push({value:S,label:y.model_name,group:Qn[y.base_model]})}),w},[c,a]),h=f.useMemo(()=>{var w,y,S,k;return((c==null?void 0:c.entities[`${(w=n.value)==null?void 0:w.base_model}/main/${(y=n.value)==null?void 0:y.model_name}`])||(a==null?void 0:a.entities[`${(S=n.value)==null?void 0:S.base_model}/onnx/${(k=n.value)==null?void 0:k.model_name}`]))??null},[(v=n.value)==null?void 0:v.base_model,(b=n.value)==null?void 0:b.model_name,c==null?void 0:c.entities,a==null?void 0:a.entities]),m=f.useCallback(w=>{if(!w)return;const y=nx(w);y&&r(As({nodeId:t,fieldName:n.name,value:y}))},[r,n.name,t]);return d?i.jsx(ar,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(ar,{tooltip:h==null?void 0:h.description,label:(h==null?void 0:h.base_model)&&Qn[h==null?void 0:h.base_model],value:h==null?void 0:h.id,placeholder:p.length>0?"Select a model":"No models available",data:p,error:p.length===0,disabled:p.length===0,onChange:m}),s&&i.jsx(Re,{mt:7,children:i.jsx(Qd,{iconMode:!0})})]})},tie=f.memo(eie),nie=e=>{const{nodeId:t,field:n}=e,r=te(),[o,s]=f.useState(String(n.value)),a=c=>{s(c),c.match(am)||r(As({nodeId:t,fieldName:n.name,value:e.template.type==="integer"?Math.floor(Number(c)):Number(c)}))};return f.useEffect(()=>{!o.match(am)&&n.value!==Number(o)&&s(String(n.value))},[n.value,o]),i.jsxs(km,{onChange:a,value:o,step:e.template.type==="integer"?1:.1,precision:e.template.type==="integer"?0:3,children:[i.jsx(Pm,{}),i.jsxs(_m,{children:[i.jsx(Im,{}),i.jsx(jm,{})]})]})},rie=f.memo(nie),oie=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(As({nodeId:t,fieldName:n.name,value:s.target.value}))};return["prompt","style"].includes(n.name.toLowerCase())?i.jsx(ey,{onChange:o,value:n.value,rows:2}):i.jsx(Ed,{onChange:o,value:n.value})},sie=f.memo(oie),aie=e=>null,iie=f.memo(aie),lie=e=>null,cie=f.memo(lie),uie=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=t5(),a=f.useMemo(()=>{if(!s)return[];const p=[{value:"default",label:"Default",group:"Default"}];return oo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:Qn[h.base_model]})}),p.sort((h,m)=>h.disabled&&!m.disabled?1:-1)},[s]),c=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r]),d=f.useCallback(p=>{if(!p)return;const h=LO(p);h&&o(As({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return i.jsx(ar,{itemComponent:Oi,tooltip:c==null?void 0:c.description,label:(c==null?void 0:c.base_model)&&Qn[c==null?void 0:c.base_model],value:(c==null?void 0:c.id)??"default",placeholder:"Default",data:a,onChange:d,disabled:a.length===0,clearable:!0})},die=f.memo(uie),fie=e=>{var m,v;const{nodeId:t,field:n}=e,r=te(),{t:o}=ye(),s=ir("syncModels").isFeatureEnabled,{data:a,isLoading:c}=na(ib),d=f.useMemo(()=>{if(!a)return[];const b=[];return oo(a.entities,(w,y)=>{w&&b.push({value:y,label:w.model_name,group:Qn[w.base_model]})}),b},[a]),p=f.useMemo(()=>{var b,w;return(a==null?void 0:a.entities[`${(b=n.value)==null?void 0:b.base_model}/main/${(w=n.value)==null?void 0:w.model_name}`])??null},[(m=n.value)==null?void 0:m.base_model,(v=n.value)==null?void 0:v.model_name,a==null?void 0:a.entities]),h=f.useCallback(b=>{if(!b)return;const w=nx(b);w&&r(As({nodeId:t,fieldName:n.name,value:w}))},[r,n.name,t]);return c?i.jsx(ar,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(ar,{tooltip:p==null?void 0:p.description,label:(p==null?void 0:p.base_model)&&Qn[p==null?void 0:p.base_model],value:p==null?void 0:p.id,placeholder:d.length>0?"Select a model":"No models available",data:d,error:d.length===0,disabled:d.length===0,onChange:h}),s&&i.jsx(Re,{mt:7,children:i.jsx(Qd,{iconMode:!0})})]})},pie=f.memo(fie),hie=e=>{const{nodeId:t,field:n,template:r}=e,{type:o}=n;return o==="string"&&r.type==="string"?i.jsx(sie,{nodeId:t,field:n,template:r}):o==="boolean"&&r.type==="boolean"?i.jsx(yae,{nodeId:t,field:n,template:r}):o==="integer"&&r.type==="integer"||o==="float"&&r.type==="float"?i.jsx(rie,{nodeId:t,field:n,template:r}):o==="enum"&&r.type==="enum"?i.jsx(Hae,{nodeId:t,field:n,template:r}):o==="image"&&r.type==="image"?i.jsx(qae,{nodeId:t,field:n,template:r}):o==="latents"&&r.type==="latents"?i.jsx(Yae,{nodeId:t,field:n,template:r}):o==="conditioning"&&r.type==="conditioning"?i.jsx(Nae,{nodeId:t,field:n,template:r}):o==="unet"&&r.type==="unet"?i.jsx(iie,{nodeId:t,field:n,template:r}):o==="clip"&&r.type==="clip"?i.jsx(wae,{nodeId:t,field:n,template:r}):o==="vae"&&r.type==="vae"?i.jsx(cie,{nodeId:t,field:n,template:r}):o==="control"&&r.type==="control"?i.jsx(Lae,{nodeId:t,field:n,template:r}):o==="model"&&r.type==="model"?i.jsx(tie,{nodeId:t,field:n,template:r}):o==="refiner_model"&&r.type==="refiner_model"?i.jsx(pie,{nodeId:t,field:n,template:r}):o==="vae_model"&&r.type==="vae_model"?i.jsx(die,{nodeId:t,field:n,template:r}):o==="lora_model"&&r.type==="lora_model"?i.jsx(Zae,{nodeId:t,field:n,template:r}):o==="controlnet_model"&&r.type==="controlnet_model"?i.jsx(Bae,{nodeId:t,field:n,template:r}):o==="array"&&r.type==="array"?i.jsx(vae,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?i.jsx(p_,{nodeId:t,field:n,template:r}):o==="color"&&r.type==="color"?i.jsx(Aae,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?i.jsx(p_,{nodeId:t,field:n,template:r}):o==="image_collection"&&r.type==="image_collection"?i.jsx(Vae,{nodeId:t,field:n,template:r}):i.jsxs(Re,{p:2,children:["Unknown field type: ",o]})},mie=f.memo(hie);function gie(e){const{nodeId:t,input:n,template:r,connected:o}=e,s=o8();return i.jsx(Re,{className:"nopan",position:"relative",borderColor:r?!o&&["always","connectionOnly"].includes(String(r==null?void 0:r.inputRequirement))&&n.value===void 0?"warning.400":void 0:"error.400",children:i.jsx(go,{isDisabled:r?o:!0,pl:2,children:r?i.jsxs(i.Fragment,{children:[i.jsxs(pi,{justifyContent:"space-between",alignItems:"center",children:[i.jsx(pi,{children:i.jsx(vn,{label:r==null?void 0:r.description,placement:"top",hasArrow:!0,shouldWrapChildren:!0,openDelay:f5,children:i.jsx(Bo,{children:r==null?void 0:r.title})})}),i.jsx(mie,{nodeId:t,field:n,template:r})]}),!["never","directOnly"].includes((r==null?void 0:r.inputRequirement)??"")&&i.jsx(s8,{nodeId:t,field:r,isValidConnection:s,handleType:"target"})]}):i.jsx(pi,{justifyContent:"space-between",alignItems:"center",children:i.jsxs(Bo,{children:["Unknown input: ",n.name]})})})})}const vie=e=>{const{nodeId:t,template:n,inputs:r}=e,o=B(a=>a.nodes.edges);return f.useCallback(()=>{const a=[],c=cs(r);return c.forEach((d,p)=>{const h=n.inputs[d.name],m=!!o.filter(v=>v.target===t&&v.targetHandle===d.name).length;p{const{nodeId:t,template:n,outputs:r}=e,o=B(a=>a.nodes.edges);return f.useCallback(()=>{const a=[];return cs(r).forEach(d=>{const p=n.outputs[d.name],h=!!o.filter(m=>m.source===t&&m.sourceHandle===d.name).length;a.push(i.jsx(yie,{nodeId:t,output:d,template:p,connected:h},d.id))}),i.jsx(W,{flexDir:"column",children:a})},[o,t,r,n.outputs])()},wie=f.memo(xie),Sie=e=>{const{...t}=e;return i.jsx(Z9,{style:{position:"absolute",border:"none",background:"transparent",width:15,height:15,bottom:0,right:0},minWidth:h5,...t})},U1=f.memo(Sie),G1=e=>{const[t,n]=$c("shadows",["nodeSelectedOutline","dark-lg"]),r=B(o=>o.hotkeys.shift);return i.jsx(Re,{className:r?cx:"nopan",sx:{position:"relative",borderRadius:"md",minWidth:h5,shadow:e.selected?`${t}, ${n}`:`${n}`},children:e.children})},u8=f.memo(e=>{const{id:t,data:n,selected:r}=e,{type:o,inputs:s,outputs:a}=n,c=f.useMemo(()=>iae(o),[o]),d=B(c);return d?i.jsxs(G1,{selected:r,children:[i.jsx(r8,{nodeId:t,title:d.title,description:d.description}),i.jsxs(W,{className:"nopan",sx:{cursor:"auto",flexDirection:"column",borderBottomRadius:"md",py:2,bg:"base.150",_dark:{bg:"base.800"}},children:[i.jsx(wie,{nodeId:t,outputs:a,template:d}),i.jsx(bie,{nodeId:t,inputs:s,template:d})]}),i.jsx(U1,{})]}):i.jsx(G1,{selected:r,children:i.jsxs(W,{className:"nopan",sx:{alignItems:"center",justifyContent:"center",cursor:"auto"},children:[i.jsx(fo,{as:ZI,sx:{boxSize:32,color:"base.600",_dark:{color:"base.400"}}}),i.jsx(U1,{})]})})});u8.displayName="InvocationComponent";const Cie=e=>{const t=vw(a=>a.system.progressImage),n=vw(a=>a.nodes.progressNodeSize),r=VM(),{selected:o}=e,s=(a,c)=>{r(UM(c))};return i.jsxs(G1,{selected:o,children:[i.jsx(r8,{title:"Progress Image",description:"Displays the progress image in the Node Editor"}),i.jsx(W,{sx:{flexDirection:"column",flexShrink:0,borderBottomRadius:"md",bg:"base.200",_dark:{bg:"base.800"},width:n.width-2,height:n.height-2,minW:250,minH:250,overflow:"hidden"},children:t?i.jsx(Lc,{src:t.dataURL,sx:{w:"full",h:"full",objectFit:"contain"}}):i.jsx(W,{sx:{minW:250,minH:250,width:n.width-2,height:n.height-2},children:i.jsx(tl,{})})}),i.jsx(U1,{onResize:s})]})},kie=f.memo(Cie),_ie=()=>{const{t:e}=ye(),{zoomIn:t,zoomOut:n,fitView:r}=cb(),o=te(),s=B(w=>w.nodes.shouldShowGraphOverlay),a=B(w=>w.nodes.shouldShowFieldTypeLegend),c=B(w=>w.nodes.shouldShowMinimapPanel),d=f.useCallback(()=>{t()},[t]),p=f.useCallback(()=>{n()},[n]),h=f.useCallback(()=>{r()},[r]),m=f.useCallback(()=>{o(GM(!s))},[s,o]),v=f.useCallback(()=>{o(qM(!a))},[a,o]),b=f.useCallback(()=>{o(KM(!c))},[c,o]);return i.jsxs(rr,{isAttached:!0,orientation:"vertical",children:[i.jsx(vn,{label:e("nodes.zoomInNodes"),children:i.jsx(ze,{"aria-label":"Zoom in ",onClick:d,icon:i.jsx(yl,{})})}),i.jsx(vn,{label:e("nodes.zoomOutNodes"),children:i.jsx(ze,{"aria-label":"Zoom out",onClick:p,icon:i.jsx(JY,{})})}),i.jsx(vn,{label:e("nodes.fitViewportNodes"),children:i.jsx(ze,{"aria-label":"Fit viewport",onClick:h,icon:i.jsx(zY,{})})}),i.jsx(vn,{label:e(s?"nodes.hideGraphNodes":"nodes.showGraphNodes"),children:i.jsx(ze,{"aria-label":"Toggle nodes graph overlay",isChecked:s,onClick:m,icon:i.jsx(yy,{})})}),i.jsx(vn,{label:e(a?"nodes.hideLegendNodes":"nodes.showLegendNodes"),children:i.jsx(ze,{"aria-label":"Toggle field type legend",isChecked:a,onClick:v,icon:i.jsx(qY,{})})}),i.jsx(vn,{label:e(c?"nodes.hideMinimapnodes":"nodes.showMinimapnodes"),children:i.jsx(ze,{"aria-label":"Toggle minimap",isChecked:c,onClick:b,icon:i.jsx(YY,{})})})]})},Pie=f.memo(_ie),jie=()=>i.jsx(vd,{position:"bottom-left",children:i.jsx(Pie,{})}),Iie=f.memo(jie),Eie=()=>{const e=jp({background:"var(--invokeai-colors-base-200)"},{background:"var(--invokeai-colors-base-500)"}),t=B(o=>o.nodes.shouldShowMinimapPanel),n=jp("var(--invokeai-colors-accent-300)","var(--invokeai-colors-accent-700)"),r=jp("var(--invokeai-colors-blackAlpha-300)","var(--invokeai-colors-blackAlpha-600)");return i.jsx(i.Fragment,{children:t&&i.jsx(W9,{nodeStrokeWidth:3,pannable:!0,zoomable:!0,nodeBorderRadius:30,style:e,nodeColor:n,maskColor:r})})},Oie=f.memo(Eie),Rie=()=>{const{t:e}=ye(),t=te(),{isOpen:n,onOpen:r,onClose:o}=ss(),s=f.useRef(null),a=B(d=>d.nodes.nodes),c=f.useCallback(()=>{t(XM()),t(On(Mn({title:e("toast.nodesCleared"),status:"success"}))),o()},[t,e,o]);return i.jsxs(i.Fragment,{children:[i.jsx(ze,{icon:i.jsx(Eo,{}),tooltip:e("nodes.clearGraph"),"aria-label":e("nodes.clearGraph"),onClick:r,isDisabled:a.length===0}),i.jsxs(Td,{isOpen:n,onClose:o,leastDestructiveRef:s,isCentered:!0,children:[i.jsx(Aa,{}),i.jsxs(Nd,{children:[i.jsx(Da,{fontSize:"lg",fontWeight:"bold",children:e("nodes.clearGraph")}),i.jsx(Ta,{children:i.jsx(Qe,{children:e("nodes.clearGraphDesc")})}),i.jsxs(Ma,{children:[i.jsx(yc,{ref:s,onClick:o,children:e("common.cancel")}),i.jsx(yc,{colorScheme:"red",ml:3,onClick:c,children:e("common.accept")})]})]})]})]})},Mie=f.memo(Rie);function Die(e){const t=["nodes","edges","viewport"];for(const s of t)if(!(s in e))return{isValid:!1,message:Bn.t("toast.nodesNotValidGraph")};if(!Array.isArray(e.nodes)||!Array.isArray(e.edges))return{isValid:!1,message:Bn.t("toast.nodesNotValidGraph")};const n=["data","type"],r=["invocation","progress_image"];if(e.nodes.length>0)for(const s of e.nodes)for(const a of n){if(!(a in s))return{isValid:!1,message:Bn.t("toast.nodesNotValidGraph")};if(a==="type"&&!r.includes(s[a]))return{isValid:!1,message:Bn.t("toast.nodesUnrecognizedTypes")}}const o=["source","sourceHandle","target","targetHandle"];if(e.edges.length>0){for(const s of e.edges)for(const a of o)if(!(a in s))return{isValid:!1,message:Bn.t("toast.nodesBrokenConnections")}}return{isValid:!0,message:Bn.t("toast.nodesLoaded")}}const Aie=()=>{const{t:e}=ye(),t=te(),{fitView:n}=cb(),r=f.useRef(null),o=f.useCallback(s=>{var c;if(!s)return;const a=new FileReader;a.onload=async()=>{const d=a.result;try{const p=await JSON.parse(String(d)),{isValid:h,message:m}=Die(p);h?(t(YM(p.nodes)),t(QM(p.edges)),n(),t(On(Mn({title:m,status:"success"})))):t(On(Mn({title:m,status:"error"}))),a.abort()}catch(p){p&&t(On(Mn({title:e("toast.nodesNotValidJSON"),status:"error"})))}},a.readAsText(s),(c=r.current)==null||c.call(r)},[n,t,e]);return i.jsx(_I,{resetRef:r,accept:"application/json",onChange:o,children:s=>i.jsx(ze,{icon:i.jsx(Vd,{}),tooltip:e("nodes.loadGraph"),"aria-label":e("nodes.loadGraph"),...s})})},Tie=f.memo(Aie);function Nie(e){const{iconButton:t=!1,...n}=e,r=te(),o=B(Kn),s=Xd(),a=f.useCallback(()=>{r(wd("nodes"))},[r]),{t:c}=ye();return tt(["ctrl+enter","meta+enter"],a,{enabled:()=>s,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[s,o]),i.jsx(Re,{style:{flexGrow:4},position:"relative",children:i.jsxs(Re,{style:{position:"relative"},children:[!s&&i.jsx(Re,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},children:i.jsx(MO,{})}),t?i.jsx(ze,{"aria-label":c("parameters.invoke"),type:"submit",icon:i.jsx(aE,{}),isDisabled:!s,onClick:a,flexGrow:1,w:"100%",tooltip:c("parameters.invoke"),tooltipProps:{placement:"bottom"},colorScheme:"accent",id:"invoke-button",_disabled:{background:"none",_hover:{background:"none"}},...n}):i.jsx(Yt,{"aria-label":c("parameters.invoke"),type:"submit",isDisabled:!s,onClick:a,flexGrow:1,w:"100%",colorScheme:"accent",id:"invoke-button",fontWeight:700,_disabled:{background:"none",_hover:{background:"none"}},...n,children:"Invoke"})]})})}function $ie(){const{t:e}=ye(),t=te(),n=f.useCallback(()=>{t(JM())},[t]);return i.jsx(ze,{icon:i.jsx(oQ,{}),tooltip:e("nodes.reloadSchema"),"aria-label":e("nodes.reloadSchema"),onClick:n})}const Lie=()=>{const{t:e}=ye(),t=B(o=>o.nodes.editorInstance),n=B(o=>o.nodes.nodes),r=f.useCallback(()=>{if(t){const o=t.toObject();o.edges=cs(o.edges,c=>ZM(c,["style"]));const s=new Blob([JSON.stringify(o)]),a=document.createElement("a");a.href=URL.createObjectURL(s),a.download="MyNodes.json",document.body.appendChild(a),a.click(),a.remove()}},[t]);return i.jsx(ze,{icon:i.jsx(Um,{}),fontSize:18,tooltip:e("nodes.saveGraph"),"aria-label":e("nodes.saveGraph"),onClick:r,isDisabled:n.length===0})},zie=f.memo(Lie),Bie=()=>i.jsx(vd,{position:"top-center",children:i.jsxs(pi,{children:[i.jsx(Nie,{}),i.jsx(ig,{}),i.jsx($ie,{}),i.jsx(zie,{}),i.jsx(Tie,{}),i.jsx(Mie,{})]})}),Fie=f.memo(Bie),Hie=be([lt],({nodes:e})=>{const t=cs(e.invocationTemplates,n=>({label:n.title,value:n.type,description:n.description}));return t.push({label:"Progress Image",value:"progress_image",description:"Displays the progress image in the Node Editor"}),{data:t}},Je),Wie=()=>{const e=te(),{data:t}=B(Hie),n=uae(),r=Vc(),o=f.useCallback(a=>{const c=n(a);if(!c){r({status:"error",title:`Unknown Invocation type ${a}`});return}e(eD(c))},[e,n,r]),s=f.useCallback(a=>{a&&o(a)},[o]);return i.jsx(W,{sx:{gap:2,alignItems:"center"},children:i.jsx(ar,{selectOnBlur:!1,placeholder:"Add Node",value:null,data:t,maxDropdownHeight:400,nothingFound:"No matching nodes",itemComponent:d8,filter:(a,c)=>c.label.toLowerCase().includes(a.toLowerCase().trim())||c.value.toLowerCase().includes(a.toLowerCase().trim())||c.description.toLowerCase().includes(a.toLowerCase().trim()),onChange:s,sx:{width:"18rem"}})})},d8=f.forwardRef(({label:e,description:t,...n},r)=>i.jsx("div",{ref:r,...n,children:i.jsxs("div",{children:[i.jsx(Qe,{fontWeight:600,children:e}),i.jsx(Qe,{size:"xs",sx:{color:"base.600",_dark:{color:"base.500"}},children:t})]})}));d8.displayName="SelectItem";const Vie=()=>i.jsx(vd,{position:"top-left",children:i.jsx(Wie,{})}),Uie=f.memo(Vie),Gie=()=>i.jsx(W,{sx:{gap:2,flexDir:"column"},children:cs(p5,({title:e,description:t,color:n},r)=>i.jsx(vn,{label:t,children:i.jsx(gl,{colorScheme:n,sx:{userSelect:"none"},textAlign:"center",children:e})},r))}),qie=f.memo(Gie),Kie=()=>{const e=B(n=>n),t=tD(e);return i.jsx(Re,{as:"pre",sx:{fontFamily:"monospace",position:"absolute",top:2,right:2,opacity:.7,p:2,maxHeight:500,maxWidth:500,overflowY:"scroll",borderRadius:"base",bg:"base.200",_dark:{bg:"base.800"}},children:JSON.stringify(t,null,2)})},Xie=f.memo(Kie),Yie=()=>{const e=B(n=>n.nodes.shouldShowGraphOverlay),t=B(n=>n.nodes.shouldShowFieldTypeLegend);return i.jsxs(vd,{position:"top-right",children:[t&&i.jsx(qie,{}),e&&i.jsx(Xie,{})]})},Qie=f.memo(Yie),Jie={invocation:u8,progress_image:kie},Zie=()=>{const e=te(),t=B(p=>p.nodes.nodes),n=B(p=>p.nodes.edges),r=f.useCallback(p=>{e(nD(p))},[e]),o=f.useCallback(p=>{e(rD(p))},[e]),s=f.useCallback((p,h)=>{e(oD(h))},[e]),a=f.useCallback(p=>{e(sD(p))},[e]),c=f.useCallback(()=>{e(aD())},[e]),d=f.useCallback(p=>{e(iD(p)),p&&p.fitView()},[e]);return i.jsxs(lD,{nodeTypes:Jie,nodes:t,edges:n,onNodesChange:r,onEdgesChange:o,onConnectStart:s,onConnect:a,onConnectEnd:c,onInit:d,defaultEdgeOptions:{style:{strokeWidth:2}},children:[i.jsx(Uie,{}),i.jsx(Fie,{}),i.jsx(Qie,{}),i.jsx(Iie,{}),i.jsx(X9,{}),i.jsx(Oie,{})]})},ele=()=>i.jsx(Re,{layerStyle:"first",sx:{position:"relative",width:"full",height:"full",borderRadius:"base"},children:i.jsx(cD,{children:i.jsx(Zie,{})})}),tle=f.memo(ele),nle=()=>i.jsx(tle,{}),rle=f.memo(nle),ole=be(lt,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Je),sle=()=>{const{shouldUseSliders:e,activeLabel:t}=B(ole);return i.jsx(Mo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsx(W,{sx:{flexDirection:"column",gap:3},children:e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(Mc,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(Mc,{})]})})})},f8=f.memo(sle),p8=()=>i.jsxs(i.Fragment,{children:[i.jsx(NO,{}),i.jsx(Yd,{}),i.jsx(f8,{}),i.jsx($O,{}),i.jsx(Jd,{}),i.jsx(Kd,{}),i.jsx(ag,{})]}),h8=()=>i.jsxs(i.Fragment,{children:[i.jsx(ix,{}),i.jsx(Yd,{}),i.jsx(f8,{}),i.jsx(sx,{}),i.jsx(Jd,{}),i.jsx(Kd,{}),i.jsx(ag,{}),i.jsx(ax,{}),i.jsx(qO,{}),i.jsx(ox,{})]}),ale=()=>{const e=B(t=>t.generation.model);return i.jsxs(W,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(rx,{children:e&&e.base_model==="sdxl"?i.jsx(p8,{}):i.jsx(h8,{})}),i.jsx(UO,{})]})},ile=f.memo(ale);var q1={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Konva=void 0;var n=bw;Object.defineProperty(t,"Konva",{enumerable:!0,get:function(){return n.Konva}});const r=bw;e.exports=r.Konva})(q1,q1.exports);var lle=q1.exports;const gd=yd(lle);var m8={exports:{}};/** + See https://redux-toolkit.js.org/rtk-query/usage/server-side-rendering for new guidance on SSR.`)}}}({queryThunk:Xe,mutationThunk:jt,api:J,serializeQueryArgs:ut,context:he}),Or=sn.buildInitiateQuery,Jn=sn.buildInitiateMutation;return $r(J.util,{getRunningOperationPromises:sn.getRunningOperationPromises,getRunningOperationPromise:sn.removalWarning,getRunningMutationThunk:sn.getRunningMutationThunk,getRunningMutationsThunk:sn.getRunningMutationsThunk,getRunningQueryThunk:sn.getRunningQueryThunk,getRunningQueriesThunk:sn.getRunningQueriesThunk}),{name:fs,injectEndpoint:function(It,In){var Rn,Zn=J;(Rn=Zn.endpoints)[It]!=null||(Rn[It]={}),oe(In)?$r(Zn.endpoints[It],{name:It,select:Gt(It,In),initiate:Or(It,In)},en(Xe,It)):In.type===U.mutation&&$r(Zn.endpoints[It],{name:It,select:un(),initiate:Jn(It)},en(jt,It))}}}}},Ls=Ke(da())})(FE);BE.exports=FE;var ro=BE.exports;const IJ=e=>{const{boardToDelete:t,setBoardToDelete:n}=e,{t:r}=ye(),o=B(_=>_.config.canRestoreDeletedImagesFromBin),{currentData:s,isFetching:a}=n7((t==null?void 0:t.board_id)??ro.skipToken),c=f.useMemo(()=>be([lt],_=>{const P=(s??[]).map(E=>L_(_,E));return{imageUsageSummary:{isInitialImage:wa(P,E=>E.isInitialImage),isCanvasImage:wa(P,E=>E.isCanvasImage),isNodesImage:wa(P,E=>E.isNodesImage),isControlNetImage:wa(P,E=>E.isControlNetImage)}}}),[s]),[d,{isLoading:p}]=r7(),[h,{isLoading:m}]=o7(),{imageUsageSummary:v}=B(c),b=f.useCallback(()=>{t&&(d(t.board_id),n(void 0))},[t,d,n]),w=f.useCallback(()=>{t&&(h(t.board_id),n(void 0))},[t,h,n]),y=f.useCallback(()=>{n(void 0)},[n]),S=f.useRef(null),k=f.useMemo(()=>m||p||a,[m,p,a]);return t?i.jsx(Td,{isOpen:!!t,onClose:y,leastDestructiveRef:S,isCentered:!0,children:i.jsx(Aa,{children:i.jsxs(Nd,{children:[i.jsxs(Da,{fontSize:"lg",fontWeight:"bold",children:["Delete ",t.board_name]}),i.jsx(Ta,{children:i.jsxs(W,{direction:"column",gap:3,children:[a?i.jsx(Em,{children:i.jsx(W,{sx:{w:"full",h:32}})}):i.jsx(UI,{imageUsage:v,topMessage:"This board contains images used in the following features:",bottomMessage:"Deleting this board and its images will reset any features currently using them."}),i.jsx(Qe,{children:"Deleted boards cannot be restored."}),i.jsx(Qe,{children:r(o?"gallery.deleteImageBin":"gallery.deleteImagePermanent")})]})}),i.jsx(Ma,{children:i.jsxs(W,{sx:{justifyContent:"space-between",width:"full",gap:2},children:[i.jsx(Yt,{ref:S,onClick:y,children:"Cancel"}),i.jsx(Yt,{colorScheme:"warning",isLoading:k,onClick:b,children:"Delete Board Only"}),i.jsx(Yt,{colorScheme:"error",isLoading:k,onClick:w,children:"Delete Board and Images"})]})})]})})}):null},EJ=f.memo(IJ),HE=Ae((e,t)=>{const{role:n,tooltip:r="",tooltipProps:o,isChecked:s,...a}=e;return i.jsx(vn,{label:r,hasArrow:!0,...o,...o!=null&&o.placement?{placement:o.placement}:{placement:"top"},children:i.jsx(ka,{ref:t,role:n,colorScheme:s?"accent":"base",...a})})});HE.displayName="IAIIconButton";const ze=f.memo(HE),OJ="My Board",RJ=()=>{const[e,{isLoading:t}]=s7(),n=f.useCallback(()=>{e(OJ)},[e]);return i.jsx(ze,{icon:i.jsx(yl,{}),isLoading:t,tooltip:"Add Board","aria-label":"Add Board",onClick:n,size:"sm"})};var lk={path:i.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[i.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),i.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),i.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},WE=Ae((e,t)=>{const{as:n,viewBox:r,color:o="currentColor",focusable:s=!1,children:a,className:c,__css:d,...p}=e,h=Ct("chakra-icon",c),m=ia("Icon",e),v={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:o,...d,...m},b={ref:t,focusable:s,className:h,__css:v},w=r??lk.viewBox;if(n&&typeof n!="string")return i.jsx(je.svg,{as:n,...b,...p});const y=a??lk.path;return i.jsx(je.svg,{verticalAlign:"middle",viewBox:w,...b,...p,children:y})});WE.displayName="Icon";function qd(e){const{viewBox:t="0 0 24 24",d:n,displayName:r,defaultProps:o={}}=e,s=f.Children.toArray(e.path),a=Ae((c,d)=>i.jsx(WE,{ref:d,viewBox:t,...o,...c,children:s.length?s:i.jsx("path",{fill:"currentColor",d:n})}));return a.displayName=r,a}var VE=qd({displayName:"ExternalLinkIcon",path:i.jsxs("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"2",children:[i.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),i.jsx("path",{d:"M15 3h6v6"}),i.jsx("path",{d:"M10 14L21 3"})]})}),zy=qd({d:"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z",displayName:"ChevronUpIcon"}),MJ=qd({displayName:"CloseIcon",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"}),DJ=qd({displayName:"DeleteIcon",path:i.jsx("g",{fill:"currentColor",children:i.jsx("path",{d:"M19.452 7.5H4.547a.5.5 0 00-.5.545l1.287 14.136A2 2 0 007.326 24h9.347a2 2 0 001.992-1.819L19.95 8.045a.5.5 0 00-.129-.382.5.5 0 00-.369-.163zm-9.2 13a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zm5 0a.75.75 0 01-1.5 0v-9a.75.75 0 011.5 0zM22 4h-4.75a.25.25 0 01-.25-.25V2.5A2.5 2.5 0 0014.5 0h-5A2.5 2.5 0 007 2.5v1.25a.25.25 0 01-.25.25H2a1 1 0 000 2h20a1 1 0 000-2zM9 3.75V2.5a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v1.25a.25.25 0 01-.25.25h-5.5A.25.25 0 019 3.75z"})})}),AJ=qd({displayName:"ChevronDownIcon",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"});const TJ=be([lt],({gallery:e})=>{const{boardSearchText:t}=e;return{boardSearchText:t}},Je),NJ=()=>{const e=te(),{boardSearchText:t}=B(TJ),n=f.useRef(null),r=f.useCallback(c=>{e(Y2(c))},[e]),o=f.useCallback(()=>{e(Y2(""))},[e]),s=f.useCallback(c=>{c.key==="Escape"&&o()},[o]),a=f.useCallback(c=>{r(c.target.value)},[r]);return f.useEffect(()=>{n.current&&n.current.focus()},[]),i.jsxs(Z3,{children:[i.jsx(Ed,{ref:n,placeholder:"Search Boards...",value:t,onKeyDown:s,onChange:a}),t&&t.length&&i.jsx(Rb,{children:i.jsx(ka,{onClick:o,size:"xs",variant:"ghost","aria-label":"Clear Search",opacity:.5,icon:i.jsx(MJ,{boxSize:2})})})]})},$J=f.memo(NJ),LJ=e=>{const{isOver:t,label:n="Drop"}=e,r=f.useRef(fi()),{colorMode:o}=Ds();return i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsxs(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full"},children:[i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",bg:Fe("base.700","base.900")(o),opacity:.7,borderRadius:"base",alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"0.1s"}}),i.jsx(W,{sx:{position:"absolute",top:.5,insetInlineStart:.5,insetInlineEnd:.5,bottom:.5,opacity:1,borderWidth:2,borderColor:t?Fe("base.50","base.50")(o):Fe("base.200","base.300")(o),borderRadius:"lg",borderStyle:"dashed",transitionProperty:"common",transitionDuration:"0.1s",alignItems:"center",justifyContent:"center"},children:i.jsx(Re,{sx:{fontSize:"2xl",fontWeight:600,transform:t?"scale(1.1)":"scale(1)",color:t?Fe("base.50","base.50")(o):Fe("base.200","base.300")(o),transitionProperty:"common",transitionDuration:"0.1s"},children:n})})]})},r.current)},Zh=f.memo(LJ),zJ=e=>{const{dropLabel:t,data:n,disabled:r}=e,o=f.useRef(fi()),{isOver:s,setNodeRef:a,active:c}=eb({id:o.current,disabled:r,data:n});return i.jsx(Re,{ref:a,position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",pointerEvents:"none",children:i.jsx(mo,{children:zp(n,c)&&i.jsx(Zh,{isOver:s,label:t})})})},By=f.memo(zJ),Fy=({isSelected:e,isHovered:t})=>i.jsx(Re,{className:"selection-box",sx:{position:"absolute",top:0,insetInlineEnd:0,bottom:0,insetInlineStart:0,borderRadius:"base",opacity:e?1:.7,transitionProperty:"common",transitionDuration:"0.1s",shadow:e?t?"hoverSelected.light":"selected.light":t?"hoverUnselected.light":void 0,_dark:{shadow:e?t?"hoverSelected.dark":"selected.dark":t?"hoverUnselected.dark":void 0}}}),UE=()=>i.jsx(W,{sx:{position:"absolute",insetInlineEnd:0,top:0,p:1},children:i.jsx(gl,{variant:"solid",sx:{bg:"accent.400",_dark:{bg:"accent.500"}},children:"auto"})});var Uu=globalThis&&globalThis.__assign||function(){return Uu=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{const{boardName:t}=dm(void 0,{selectFromResult:({data:n})=>{const r=n==null?void 0:n.find(s=>s.board_id===e);return{boardName:(r==null?void 0:r.board_name)||"Uncategorized"}}});return t},BJ=({board:e,setBoardToDelete:t})=>{const n=f.useCallback(()=>{t&&t(e)},[e,t]);return i.jsxs(i.Fragment,{children:[e.image_count>0&&i.jsx(i.Fragment,{}),i.jsx(jr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(Eo,{}),onClick:n,children:"Delete Board"})]})},FJ=f.memo(BJ),HJ=()=>i.jsx(i.Fragment,{}),WJ=f.memo(HJ),Hy=f.memo(({board:e,board_id:t,setBoardToDelete:n,children:r})=>{const o=te(),s=f.useMemo(()=>be(lt,({gallery:v,system:b})=>{const w=v.autoAddBoardId===t,y=b.isProcessing,S=v.autoAssignBoardOnClick;return{isAutoAdd:w,isProcessing:y,autoAssignBoardOnClick:S}}),[t]),{isAutoAdd:a,isProcessing:c,autoAssignBoardOnClick:d}=B(s),p=Qm(t),h=f.useCallback(()=>{o(fm(t))},[t,o]),m=f.useCallback(v=>{v.preventDefault()},[]);return i.jsx(GE,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>i.jsx(il,{sx:{visibility:"visible !important"},motionProps:ed,onContextMenu:m,children:i.jsxs(ad,{title:p,children:[i.jsx(jr,{icon:i.jsx(yl,{}),isDisabled:a||c||d,onClick:h,children:"Auto-add to this Board"}),!e&&i.jsx(WJ,{}),e&&i.jsx(FJ,{board:e,setBoardToDelete:n})]})}),children:r})});Hy.displayName="HoverableBoard";const qE=f.memo(({board:e,isSelected:t,setBoardToDelete:n})=>{const r=te(),o=f.useMemo(()=>be(lt,({gallery:A,system:L})=>{const Q=e.board_id===A.autoAddBoardId,F=A.autoAssignBoardOnClick,V=L.isProcessing;return{isSelectedForAutoAdd:Q,autoAssignBoardOnClick:F,isProcessing:V}},Je),[e.board_id]),{isSelectedForAutoAdd:s,autoAssignBoardOnClick:a,isProcessing:c}=B(o),[d,p]=f.useState(!1),h=f.useCallback(()=>{p(!0)},[]),m=f.useCallback(()=>{p(!1)},[]),{data:v}=H_(e.board_id),{data:b}=W_(e.board_id),w=f.useMemo(()=>{if(!(!v||!b))return`${v} image${v>1?"s":""}, ${b} asset${b>1?"s":""}`},[b,v]),{currentData:y}=Is(e.cover_image_name??ro.skipToken),{board_name:S,board_id:k}=e,[_,P]=f.useState(S),I=f.useCallback(()=>{r(V_(k)),a&&!c&&r(fm(k))},[k,a,c,r]),[E,{isLoading:O}]=a7(),R=f.useMemo(()=>({id:k,actionType:"ADD_TO_BOARD",context:{boardId:k}}),[k]),M=f.useCallback(async A=>{if(!A.trim()){P(S);return}if(A!==S)try{const{board_name:L}=await E({board_id:k,changes:{board_name:A}}).unwrap();P(L)}catch{P(S)}},[k,S,E]),D=f.useCallback(A=>{P(A)},[]);return i.jsx(Re,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:i.jsx(W,{onMouseOver:h,onMouseOut:m,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",w:"full",h:"full"},children:i.jsx(Hy,{board:e,board_id:k,setBoardToDelete:n,children:A=>i.jsx(vn,{label:w,openDelay:1e3,hasArrow:!0,children:i.jsxs(W,{ref:A,onClick:I,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[y!=null&&y.thumbnail_url?i.jsx(Lc,{src:y==null?void 0:y.thumbnail_url,draggable:!1,sx:{objectFit:"cover",w:"full",h:"full",maxH:"full",borderRadius:"base",borderBottomRadius:"lg"}}):i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:i.jsx(fo,{boxSize:12,as:aQ,sx:{mt:-6,opacity:.7,color:"base.500",_dark:{color:"base.500"}}})}),s&&i.jsx(UE,{}),i.jsx(Fy,{isSelected:t,isHovered:d}),i.jsx(W,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:t?"accent.400":"base.500",color:t?"base.50":"base.100",_dark:{bg:t?"accent.500":"base.600",color:t?"base.50":"base.100"},lineHeight:"short",fontSize:"xs"},children:i.jsxs(f3,{value:_,isDisabled:O,submitOnBlur:!0,onChange:D,onSubmit:M,sx:{w:"full"},children:[i.jsx(c3,{sx:{p:0,fontWeight:t?700:500,textAlign:"center",overflow:"hidden",textOverflow:"ellipsis"},noOfLines:1}),i.jsx(l3,{sx:{p:0,_focusVisible:{p:0,textAlign:"center",boxShadow:"none"}}})]})}),i.jsx(By,{data:R,dropLabel:i.jsx(Qe,{fontSize:"md",children:"Move"})})]})})})})})});qE.displayName="HoverableBoard";const VJ=be(lt,({gallery:e,system:t})=>{const{autoAddBoardId:n,autoAssignBoardOnClick:r}=e,{isProcessing:o}=t;return{autoAddBoardId:n,autoAssignBoardOnClick:r,isProcessing:o}},Je),KE=f.memo(({isSelected:e})=>{const t=te(),{autoAddBoardId:n,autoAssignBoardOnClick:r,isProcessing:o}=B(VJ),s=Qm("none"),a=f.useCallback(()=>{t(V_("none")),r&&!o&&t(fm("none"))},[t,r,o]),[c,d]=f.useState(!1),p=f.useCallback(()=>{d(!0)},[]),h=f.useCallback(()=>{d(!1)},[]),m=f.useMemo(()=>({id:"no_board",actionType:"REMOVE_FROM_BOARD"}),[]);return i.jsx(Re,{sx:{w:"full",h:"full",touchAction:"none",userSelect:"none"},children:i.jsx(W,{onMouseOver:p,onMouseOut:h,sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1",borderRadius:"base",w:"full",h:"full"},children:i.jsx(Hy,{board_id:"none",children:v=>i.jsxs(W,{ref:v,onClick:a,sx:{w:"full",h:"full",position:"relative",justifyContent:"center",alignItems:"center",borderRadius:"base",cursor:"pointer",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center"},children:i.jsx(Lc,{src:U_,alt:"invoke-ai-logo",sx:{opacity:.4,filter:"grayscale(1)",mt:-6,w:16,h:16,minW:16,minH:16,userSelect:"none"}})}),n==="none"&&i.jsx(UE,{}),i.jsx(W,{sx:{position:"absolute",bottom:0,left:0,p:1,justifyContent:"center",alignItems:"center",w:"full",maxW:"full",borderBottomRadius:"base",bg:e?"accent.400":"base.500",color:e?"base.50":"base.100",_dark:{bg:e?"accent.500":"base.600",color:e?"base.50":"base.100"},lineHeight:"short",fontSize:"xs",fontWeight:e?700:500},children:s}),i.jsx(Fy,{isSelected:e,isHovered:c}),i.jsx(By,{data:m,dropLabel:i.jsx(Qe,{fontSize:"md",children:"Move"})})]})})})})});KE.displayName="HoverableBoard";const UJ=be([lt],({gallery:e})=>{const{selectedBoardId:t,boardSearchText:n}=e;return{selectedBoardId:t,boardSearchText:n}},Je),GJ=e=>{const{isOpen:t}=e,{selectedBoardId:n,boardSearchText:r}=B(UJ),{data:o}=dm(),s=r?o==null?void 0:o.filter(d=>d.board_name.toLowerCase().includes(r.toLowerCase())):o,[a,c]=f.useState();return i.jsxs(i.Fragment,{children:[i.jsx(bm,{in:t,animateOpacity:!0,children:i.jsxs(W,{layerStyle:"first",sx:{flexDir:"column",gap:2,p:2,mt:2,borderRadius:"base"},children:[i.jsxs(W,{sx:{gap:2,alignItems:"center"},children:[i.jsx($J,{}),i.jsx(RJ,{})]}),i.jsx(zE,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:i.jsxs(sl,{className:"list-container",sx:{gridTemplateColumns:"repeat(auto-fill, minmax(108px, 1fr));",maxH:346},children:[i.jsx(Qv,{sx:{p:1.5},children:i.jsx(KE,{isSelected:n==="none"})}),s&&s.map(d=>i.jsx(Qv,{sx:{p:1.5},children:i.jsx(qE,{board:d,isSelected:n===d.board_id,setBoardToDelete:c})},d.board_id))]})})]})}),i.jsx(EJ,{boardToDelete:a,setBoardToDelete:c})]})},qJ=f.memo(GJ),KJ=be([lt],e=>{const{selectedBoardId:t}=e.gallery;return{selectedBoardId:t}},Je),XJ=e=>{const{isOpen:t,onToggle:n}=e,{selectedBoardId:r}=B(KJ),o=Qm(r),s=f.useMemo(()=>o.length>20?`${o.substring(0,20)}...`:o,[o]);return i.jsxs(W,{as:yc,onClick:n,size:"sm",sx:{position:"relative",gap:2,w:"full",justifyContent:"space-between",alignItems:"center",px:2},children:[i.jsx(Qe,{noOfLines:1,sx:{fontWeight:600,w:"100%",textAlign:"center",color:"base.800",_dark:{color:"base.200"}},children:s}),i.jsx(zy,{sx:{transform:t?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]})},YJ=f.memo(XJ);function XE(e){return nt({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146z"}}]})(e)}function YE(e){return nt({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146zm.122 2.112v-.002.002zm0-.002v.002a.5.5 0 0 1-.122.51L6.293 6.878a.5.5 0 0 1-.511.12H5.78l-.014-.004a4.507 4.507 0 0 0-.288-.076 4.922 4.922 0 0 0-.765-.116c-.422-.028-.836.008-1.175.15l5.51 5.509c.141-.34.177-.753.149-1.175a4.924 4.924 0 0 0-.192-1.054l-.004-.013v-.001a.5.5 0 0 1 .12-.512l3.536-3.535a.5.5 0 0 1 .532-.115l.096.022c.087.017.208.034.344.034.114 0 .23-.011.343-.04L9.927 2.028c-.029.113-.04.23-.04.343a1.779 1.779 0 0 0 .062.46z"}}]})(e)}const QJ=be([lt],e=>{const{shouldPinGallery:t}=e.ui;return{shouldPinGallery:t}},Je),JJ=()=>{const e=te(),{t}=ye(),{shouldPinGallery:n}=B(QJ),r=()=>{e(G_()),e(ko())};return i.jsx(ze,{size:"sm","aria-label":t("gallery.pinGallery"),tooltip:`${t("gallery.pinGallery")} (Shift+G)`,onClick:r,icon:n?i.jsx(XE,{}):i.jsx(YE,{})})},ZJ=e=>{const{triggerComponent:t,children:n,hasArrow:r=!0,isLazy:o=!0,...s}=e;return i.jsxs(Qb,{isLazy:o,...s,children:[i.jsx(Yb,{children:t}),i.jsxs(Jb,{shadow:"dark-lg",children:[r&&i.jsx(D6,{}),n]})]})},xl=f.memo(ZJ);function eZ(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12 16c1.671 0 3-1.331 3-3s-1.329-3-3-3-3 1.331-3 3 1.329 3 3 3z"}},{tag:"path",attr:{d:"M20.817 11.186a8.94 8.94 0 0 0-1.355-3.219 9.053 9.053 0 0 0-2.43-2.43 8.95 8.95 0 0 0-3.219-1.355 9.028 9.028 0 0 0-1.838-.18V2L8 5l3.975 3V6.002c.484-.002.968.044 1.435.14a6.961 6.961 0 0 1 2.502 1.053 7.005 7.005 0 0 1 1.892 1.892A6.967 6.967 0 0 1 19 13a7.032 7.032 0 0 1-.55 2.725 7.11 7.11 0 0 1-.644 1.188 7.2 7.2 0 0 1-.858 1.039 7.028 7.028 0 0 1-3.536 1.907 7.13 7.13 0 0 1-2.822 0 6.961 6.961 0 0 1-2.503-1.054 7.002 7.002 0 0 1-1.89-1.89A6.996 6.996 0 0 1 5 13H3a9.02 9.02 0 0 0 1.539 5.034 9.096 9.096 0 0 0 2.428 2.428A8.95 8.95 0 0 0 12 22a9.09 9.09 0 0 0 1.814-.183 9.014 9.014 0 0 0 3.218-1.355 8.886 8.886 0 0 0 1.331-1.099 9.228 9.228 0 0 0 1.1-1.332A8.952 8.952 0 0 0 21 13a9.09 9.09 0 0 0-.183-1.814z"}}]})(e)}const tZ=e=>{const[t,n]=f.useState(!1),{label:r,value:o,min:s=1,max:a=100,step:c=1,onChange:d,tooltipSuffix:p="",withSliderMarks:h=!1,withInput:m=!1,isInteger:v=!1,inputWidth:b=16,withReset:w=!1,hideTooltip:y=!1,isCompact:S=!1,isDisabled:k=!1,sliderMarks:_,handleReset:P,sliderFormControlProps:I,sliderFormLabelProps:E,sliderMarkProps:O,sliderTrackProps:R,sliderThumbProps:M,sliderNumberInputProps:D,sliderNumberInputFieldProps:A,sliderNumberInputStepperProps:L,sliderTooltipProps:Q,sliderIAIIconButtonProps:F,...V}=e,q=te(),{t:G}=ye(),[T,z]=f.useState(String(o));f.useEffect(()=>{z(o)},[o]);const $=f.useMemo(()=>D!=null&&D.min?D.min:s,[s,D==null?void 0:D.min]),Y=f.useMemo(()=>D!=null&&D.max?D.max:a,[a,D==null?void 0:D.max]),ae=f.useCallback(re=>{d(re)},[d]),fe=f.useCallback(re=>{re.target.value===""&&(re.target.value=String($));const oe=Es(v?Math.floor(Number(re.target.value)):Number(T),$,Y),pe=Iu(oe,c);d(pe),z(pe)},[v,T,$,Y,d,c]),ie=f.useCallback(re=>{z(re)},[]),X=f.useCallback(()=>{P&&P()},[P]),K=f.useCallback(re=>{re.target instanceof HTMLDivElement&&re.target.focus()},[]),U=f.useCallback(re=>{re.shiftKey&&q(jo(!0))},[q]),se=f.useCallback(re=>{re.shiftKey||q(jo(!1))},[q]);return i.jsxs(go,{onClick:K,sx:S?{display:"flex",flexDirection:"row",alignItems:"center",columnGap:4,margin:0,padding:0}:{},isDisabled:k,...I,children:[r&&i.jsx(Bo,{sx:m?{mb:-1.5}:{},...E,children:r}),i.jsxs(pi,{w:"100%",gap:2,alignItems:"center",children:[i.jsxs(Q6,{"aria-label":r,value:o,min:s,max:a,step:c,onChange:ae,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),focusThumbOnChange:!1,isDisabled:k,...V,children:[h&&!_&&i.jsxs(i.Fragment,{children:[i.jsx(ql,{value:s,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...O,children:s}),i.jsx(ql,{value:a,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...O,children:a})]}),h&&_&&i.jsx(i.Fragment,{children:_.map((re,oe)=>oe===0?i.jsx(ql,{value:re,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},...O,children:re},re):oe===_.length-1?i.jsx(ql,{value:re,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},...O,children:re},re):i.jsx(ql,{value:re,sx:{transform:"translateX(-50%)"},...O,children:re},re))}),i.jsx(Z6,{...R,children:i.jsx(eP,{})}),i.jsx(vn,{hasArrow:!0,placement:"top",isOpen:t,label:`${o}${p}`,hidden:y,...Q,children:i.jsx(J6,{...M,zIndex:0})})]}),m&&i.jsxs(km,{min:$,max:Y,step:c,value:T,onChange:ie,onBlur:fe,focusInputOnChange:!1,...D,children:[i.jsx(Pm,{onKeyDown:U,onKeyUp:se,minWidth:b,...A}),i.jsxs(_m,{...L,children:[i.jsx(Im,{onClick:()=>d(Number(T))}),i.jsx(jm,{onClick:()=>d(Number(T))})]})]}),w&&i.jsx(ze,{size:"sm","aria-label":G("accessibility.reset"),tooltip:G("accessibility.reset"),icon:i.jsx(eZ,{}),isDisabled:k,onClick:X,...F})]})]})},_t=f.memo(tZ),QE=f.forwardRef(({label:e,tooltip:t,description:n,disabled:r,...o},s)=>i.jsx(vn,{label:t,placement:"top",hasArrow:!0,openDelay:500,children:i.jsx(Re,{ref:s,...o,children:i.jsxs(Re,{children:[i.jsx(_c,{children:e}),n&&i.jsx(_c,{size:"xs",color:"base.600",children:n})]})})}));QE.displayName="IAIMantineSelectItemWithTooltip";const Oi=f.memo(QE),nZ=be([lt],({gallery:e,system:t})=>{const{autoAddBoardId:n,autoAssignBoardOnClick:r}=e,{isProcessing:o}=t;return{autoAddBoardId:n,autoAssignBoardOnClick:r,isProcessing:o}},Je),rZ=()=>{const e=te(),{autoAddBoardId:t,autoAssignBoardOnClick:n,isProcessing:r}=B(nZ),o=f.useRef(null),{boards:s,hasBoards:a}=dm(void 0,{selectFromResult:({data:d})=>{const p=[{label:"None",value:"none"}];return d==null||d.forEach(({board_id:h,board_name:m})=>{p.push({label:m,value:h})}),{boards:p,hasBoards:p.length>1}}}),c=f.useCallback(d=>{d&&e(fm(d))},[e]);return i.jsx(ar,{label:"Auto-Add Board",inputRef:o,autoFocus:!0,placeholder:"Select a Board",value:t,data:s,nothingFound:"No matching Boards",itemComponent:Oi,disabled:!a||n||r,filter:(d,p)=>{var h;return((h=p.label)==null?void 0:h.toLowerCase().includes(d.toLowerCase().trim()))||p.value.toLowerCase().includes(d.toLowerCase().trim())},onChange:c})},oZ=e=>{const{label:t,...n}=e,{colorMode:r}=Ds();return i.jsx(n3,{colorScheme:"accent",...n,children:i.jsx(Qe,{sx:{fontSize:"sm",color:Fe("base.800","base.200")(r)},children:t})})},Gn=f.memo(oZ),sZ=be([lt],e=>{const{galleryImageMinimumWidth:t,shouldAutoSwitch:n,autoAssignBoardOnClick:r,shouldShowDeleteButton:o}=e.gallery;return{galleryImageMinimumWidth:t,shouldAutoSwitch:n,autoAssignBoardOnClick:r,shouldShowDeleteButton:o}},Je),aZ=()=>{const e=te(),{t}=ye(),{galleryImageMinimumWidth:n,shouldAutoSwitch:r,autoAssignBoardOnClick:o,shouldShowDeleteButton:s}=B(sZ),a=f.useCallback(h=>{e(Bp(h))},[e]),c=f.useCallback(()=>{e(Bp(64))},[e]),d=f.useCallback(h=>{e(i7(h.target.checked))},[e]),p=f.useCallback(h=>{e(l7(h.target.checked))},[e]);return i.jsx(xl,{triggerComponent:i.jsx(ze,{tooltip:t("gallery.gallerySettings"),"aria-label":t("gallery.gallerySettings"),size:"sm",icon:i.jsx(Cy,{})}),children:i.jsxs(W,{direction:"column",gap:2,children:[i.jsx(_t,{value:n,onChange:a,min:32,max:256,hideTooltip:!0,label:t("gallery.galleryImageSize"),withReset:!0,handleReset:c}),i.jsx(yr,{label:t("gallery.autoSwitchNewImages"),isChecked:r,onChange:d}),i.jsx(yr,{label:"Show Delete Button",isChecked:s,onChange:p}),i.jsx(Gn,{label:t("gallery.autoAssignBoardOnClick"),isChecked:o,onChange:h=>e(c7(h.target.checked))}),i.jsx(rZ,{})]})})},iZ=e=>e.image?i.jsx(Em,{sx:{w:`${e.image.width}px`,h:"auto",objectFit:"contain",aspectRatio:`${e.image.width}/${e.image.height}`}}):i.jsx(W,{sx:{opacity:.7,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",bg:"base.200",_dark:{bg:"base.900"}},children:i.jsx(hl,{size:"xl"})}),tl=e=>{const{icon:t=Oc,boxSize:n=16}=e;return i.jsxs(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",flexDir:"column",gap:2,userSelect:"none",opacity:.7,color:"base.700",_dark:{color:"base.500"},...e.sx},children:[i.jsx(fo,{as:t,boxSize:n,opacity:.7}),e.label&&i.jsx(Qe,{textAlign:"center",children:e.label})]})},Jm=0,Ri=1,Kc=2,JE=4;function lZ(e,t){return n=>e(t(n))}function cZ(e,t){return t(e)}function ZE(e,t){return n=>e(t,n)}function ck(e,t){return()=>e(t)}function Wy(e,t){return t(e),e}function wl(...e){return e}function uZ(e){e()}function uk(e){return()=>e}function dZ(...e){return()=>{e.map(uZ)}}function Zm(){}function ho(e,t){return e(Ri,t)}function Ar(e,t){e(Jm,t)}function Vy(e){e(Kc)}function eg(e){return e(JE)}function Un(e,t){return ho(e,ZE(t,Jm))}function dk(e,t){const n=e(Ri,r=>{n(),t(r)});return n}function Sr(){const e=[];return(t,n)=>{switch(t){case Kc:e.splice(0,e.length);return;case Ri:return e.push(n),()=>{const r=e.indexOf(n);r>-1&&e.splice(r,1)};case Jm:e.slice().forEach(r=>{r(n)});return;default:throw new Error(`unrecognized action ${t}`)}}}function Kt(e){let t=e;const n=Sr();return(r,o)=>{switch(r){case Ri:o(t);break;case Jm:t=o;break;case JE:return t}return n(r,o)}}function fZ(e){let t,n;const r=()=>t&&t();return function(o,s){switch(o){case Ri:return s?n===s?void 0:(r(),n=s,t=ho(e,s),t):(r(),Zm);case Kc:r(),n=null;return;default:throw new Error(`unrecognized action ${o}`)}}}function Gu(e){return Wy(Sr(),t=>Un(e,t))}function gc(e,t){return Wy(Kt(t),n=>Un(e,n))}function pZ(...e){return t=>e.reduceRight(cZ,t)}function Xt(e,...t){const n=pZ(...t);return(r,o)=>{switch(r){case Ri:return ho(e,n(o));case Kc:Vy(e);return}}}function eO(e,t){return e===t}function Co(e=eO){let t;return n=>r=>{e(t,r)||(t=r,n(r))}}function Kr(e){return t=>n=>{e(n)&&t(n)}}function nr(e){return t=>lZ(t,e)}function li(e){return t=>()=>t(e)}function Sp(e,t){return n=>r=>n(t=e(t,r))}function M1(e){return t=>n=>{e>0?e--:t(n)}}function Au(e){let t=null,n;return r=>o=>{t=o,!n&&(n=setTimeout(()=>{n=void 0,r(t)},e))}}function fk(e){let t,n;return r=>o=>{t=o,n&&clearTimeout(n),n=setTimeout(()=>{r(t)},e)}}function Xs(...e){const t=new Array(e.length);let n=0,r=null;const o=Math.pow(2,e.length)-1;return e.forEach((s,a)=>{const c=Math.pow(2,a);ho(s,d=>{const p=n;n=n|c,t[a]=d,p!==o&&n===o&&r&&(r(),r=null)})}),s=>a=>{const c=()=>s([a].concat(t));n===o?c():r=c}}function pk(...e){return function(t,n){switch(t){case Ri:return dZ(...e.map(r=>ho(r,n)));case Kc:return;default:throw new Error(`unrecognized action ${t}`)}}}function wn(e,t=eO){return Xt(e,Co(t))}function Ca(...e){const t=Sr(),n=new Array(e.length);let r=0;const o=Math.pow(2,e.length)-1;return e.forEach((s,a)=>{const c=Math.pow(2,a);ho(s,d=>{n[a]=d,r=r|c,r===o&&Ar(t,n)})}),function(s,a){switch(s){case Ri:return r===o&&a(n),ho(t,a);case Kc:return Vy(t);default:throw new Error(`unrecognized action ${s}`)}}}function ua(e,t=[],{singleton:n}={singleton:!0}){return{id:hZ(),constructor:e,dependencies:t,singleton:n}}const hZ=()=>Symbol();function mZ(e){const t=new Map,n=({id:r,constructor:o,dependencies:s,singleton:a})=>{if(a&&t.has(r))return t.get(r);const c=o(s.map(d=>n(d)));return a&&t.set(r,c),c};return n(e)}function gZ(e,t){const n={},r={};let o=0;const s=e.length;for(;o(S[k]=_=>{const P=y[t.methods[k]];Ar(P,_)},S),{})}function h(y){return a.reduce((S,k)=>(S[k]=fZ(y[t.events[k]]),S),{})}return{Component:H.forwardRef((y,S)=>{const{children:k,..._}=y,[P]=H.useState(()=>Wy(mZ(e),E=>d(E,_))),[I]=H.useState(ck(h,P));return Cp(()=>{for(const E of a)E in _&&ho(I[E],_[E]);return()=>{Object.values(I).map(Vy)}},[_,I,P]),Cp(()=>{d(P,_)}),H.useImperativeHandle(S,uk(p(P))),H.createElement(c.Provider,{value:P},n?H.createElement(n,gZ([...r,...o,...a],_),k):k)}),usePublisher:y=>H.useCallback(ZE(Ar,H.useContext(c)[y]),[y]),useEmitterValue:y=>{const k=H.useContext(c)[y],[_,P]=H.useState(ck(eg,k));return Cp(()=>ho(k,I=>{I!==_&&P(uk(I))}),[k,_]),_},useEmitter:(y,S)=>{const _=H.useContext(c)[y];Cp(()=>ho(_,S),[S,_])}}}const bZ=typeof document<"u"?H.useLayoutEffect:H.useEffect,yZ=bZ;var Uy=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e))(Uy||{});const xZ={0:"debug",1:"log",2:"warn",3:"error"},wZ=()=>typeof globalThis>"u"?window:globalThis,tO=ua(()=>{const e=Kt(3);return{log:Kt((n,r,o=1)=>{var s;const a=(s=wZ().VIRTUOSO_LOG_LEVEL)!=null?s:eg(e);o>=a&&console[xZ[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",n,r)}),logLevel:e}},[],{singleton:!0});function nO(e,t=!0){const n=H.useRef(null);let r=o=>{};if(typeof ResizeObserver<"u"){const o=H.useMemo(()=>new ResizeObserver(s=>{const a=s[0].target;a.offsetParent!==null&&e(a)}),[e]);r=s=>{s&&t?(o.observe(s),n.current=s):(n.current&&o.unobserve(n.current),n.current=null)}}return{ref:n,callbackRef:r}}function tg(e,t=!0){return nO(e,t).callbackRef}function em(e,t){return Math.round(e.getBoundingClientRect()[t])}function rO(e,t){return Math.abs(e-t)<1.01}function oO(e,t,n,r=Zm,o){const s=H.useRef(null),a=H.useRef(null),c=H.useRef(null),d=H.useCallback(m=>{const v=m.target,b=v===window||v===document,w=b?window.pageYOffset||document.documentElement.scrollTop:v.scrollTop,y=b?document.documentElement.scrollHeight:v.scrollHeight,S=b?window.innerHeight:v.offsetHeight,k=()=>{e({scrollTop:Math.max(w,0),scrollHeight:y,viewportHeight:S})};m.suppressFlushSync?k():u7.flushSync(k),a.current!==null&&(w===a.current||w<=0||w===y-S)&&(a.current=null,t(!0),c.current&&(clearTimeout(c.current),c.current=null))},[e,t]);H.useEffect(()=>{const m=o||s.current;return r(o||s.current),d({target:m,suppressFlushSync:!0}),m.addEventListener("scroll",d,{passive:!0}),()=>{r(null),m.removeEventListener("scroll",d)}},[s,d,n,r,o]);function p(m){const v=s.current;if(!v||"offsetHeight"in v&&v.offsetHeight===0)return;const b=m.behavior==="smooth";let w,y,S;v===window?(y=Math.max(em(document.documentElement,"height"),document.documentElement.scrollHeight),w=window.innerHeight,S=document.documentElement.scrollTop):(y=v.scrollHeight,w=em(v,"height"),S=v.scrollTop);const k=y-w;if(m.top=Math.ceil(Math.max(Math.min(k,m.top),0)),rO(w,y)||m.top===S){e({scrollTop:S,scrollHeight:y,viewportHeight:w}),b&&t(!0);return}b?(a.current=m.top,c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{c.current=null,a.current=null,t(!0)},1e3)):a.current=null,v.scrollTo(m)}function h(m){s.current.scrollBy(m)}return{scrollerRef:s,scrollByCallback:h,scrollToCallback:p}}const ng=ua(()=>{const e=Sr(),t=Sr(),n=Kt(0),r=Sr(),o=Kt(0),s=Sr(),a=Sr(),c=Kt(0),d=Kt(0),p=Kt(0),h=Kt(0),m=Sr(),v=Sr(),b=Kt(!1);return Un(Xt(e,nr(({scrollTop:w})=>w)),t),Un(Xt(e,nr(({scrollHeight:w})=>w)),a),Un(t,o),{scrollContainerState:e,scrollTop:t,viewportHeight:s,headerHeight:c,fixedHeaderHeight:d,fixedFooterHeight:p,footerHeight:h,scrollHeight:a,smoothScrollTargetReached:r,scrollTo:m,scrollBy:v,statefulScrollTop:o,deviation:n,scrollingInProgress:b}},[],{singleton:!0}),SZ=typeof document<"u"&&"scrollBehavior"in document.documentElement.style;function CZ(e){const t=typeof e=="number"?{index:e}:e;return t.align||(t.align="start"),(!t.behavior||!SZ)&&(t.behavior="auto"),t.offset||(t.offset=0),t}const tm="up",qu="down",kZ="none",_Z={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,scrollHeight:0}},PZ=0,sO=ua(([{scrollContainerState:e,scrollTop:t,viewportHeight:n,headerHeight:r,footerHeight:o,scrollBy:s}])=>{const a=Kt(!1),c=Kt(!0),d=Sr(),p=Sr(),h=Kt(4),m=Kt(PZ),v=gc(Xt(pk(Xt(wn(t),M1(1),li(!0)),Xt(wn(t),M1(1),li(!1),fk(100))),Co()),!1),b=gc(Xt(pk(Xt(s,li(!0)),Xt(s,li(!1),fk(200))),Co()),!1);Un(Xt(Ca(wn(t),wn(m)),nr(([_,P])=>_<=P),Co()),c),Un(Xt(c,Au(50)),p);const w=Gu(Xt(Ca(e,wn(n),wn(r),wn(o),wn(h)),Sp((_,[{scrollTop:P,scrollHeight:I},E,O,R,M])=>{const D=P+E-I>-M,A={viewportHeight:E,scrollTop:P,scrollHeight:I};if(D){let Q,F;return P>_.state.scrollTop?(Q="SCROLLED_DOWN",F=_.state.scrollTop-P):(Q="SIZE_DECREASED",F=_.state.scrollTop-P||_.scrollTopDelta),{atBottom:!0,state:A,atBottomBecause:Q,scrollTopDelta:F}}let L;return A.scrollHeight>_.state.scrollHeight?L="SIZE_INCREASED":E<_.state.viewportHeight?L="VIEWPORT_HEIGHT_DECREASING":P<_.state.scrollTop?L="SCROLLING_UPWARDS":L="NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",{atBottom:!1,notAtBottomBecause:L,state:A}},_Z),Co((_,P)=>_&&_.atBottom===P.atBottom))),y=gc(Xt(e,Sp((_,{scrollTop:P,scrollHeight:I,viewportHeight:E})=>{if(rO(_.scrollHeight,I))return{scrollTop:P,scrollHeight:I,jump:0,changed:!1};{const O=I-(P+E)<1;return _.scrollTop!==P&&O?{scrollHeight:I,scrollTop:P,jump:_.scrollTop-P,changed:!0}:{scrollHeight:I,scrollTop:P,jump:0,changed:!0}}},{scrollHeight:0,jump:0,scrollTop:0,changed:!1}),Kr(_=>_.changed),nr(_=>_.jump)),0);Un(Xt(w,nr(_=>_.atBottom)),a),Un(Xt(a,Au(50)),d);const S=Kt(qu);Un(Xt(e,nr(({scrollTop:_})=>_),Co(),Sp((_,P)=>eg(b)?{direction:_.direction,prevScrollTop:P}:{direction:P<_.prevScrollTop?tm:qu,prevScrollTop:P},{direction:qu,prevScrollTop:0}),nr(_=>_.direction)),S),Un(Xt(e,Au(50),li(kZ)),S);const k=Kt(0);return Un(Xt(v,Kr(_=>!_),li(0)),k),Un(Xt(t,Au(100),Xs(v),Kr(([_,P])=>!!P),Sp(([_,P],[I])=>[P,I],[0,0]),nr(([_,P])=>P-_)),k),{isScrolling:v,isAtTop:c,isAtBottom:a,atBottomState:w,atTopStateChange:p,atBottomStateChange:d,scrollDirection:S,atBottomThreshold:h,atTopThreshold:m,scrollVelocity:k,lastJumpDueToItemResize:y}},wl(ng)),jZ=ua(([{log:e}])=>{const t=Kt(!1),n=Gu(Xt(t,Kr(r=>r),Co()));return ho(t,r=>{r&&eg(e)("props updated",{},Uy.DEBUG)}),{propsReady:t,didMount:n}},wl(tO),{singleton:!0});function aO(e,t){e==0?t():requestAnimationFrame(()=>aO(e-1,t))}function IZ(e,t){const n=t-1;return typeof e=="number"?e:e.index==="LAST"?n:e.index}function D1(e,t){return!!(e&&e[0]===t[0]&&e[1]===t[1])}function EZ(e,t){return!!(e&&e.startIndex===t.startIndex&&e.endIndex===t.endIndex)}const nm="top",rm="bottom",hk="none";function mk(e,t,n){return typeof e=="number"?n===tm&&t===nm||n===qu&&t===rm?e:0:n===tm?t===nm?e.main:e.reverse:t===rm?e.main:e.reverse}function gk(e,t){return typeof e=="number"?e:e[t]||0}const OZ=ua(([{scrollTop:e,viewportHeight:t,deviation:n,headerHeight:r,fixedHeaderHeight:o}])=>{const s=Sr(),a=Kt(0),c=Kt(0),d=Kt(0),p=gc(Xt(Ca(wn(e),wn(t),wn(r),wn(s,D1),wn(d),wn(a),wn(o),wn(n),wn(c)),nr(([h,m,v,[b,w],y,S,k,_,P])=>{const I=h-_,E=S+k,O=Math.max(v-I,0);let R=hk;const M=gk(P,nm),D=gk(P,rm);return b-=_,b+=v+k,w+=v+k,w-=_,b>h+E-M&&(R=tm),wh!=null),Co(D1)),[0,0]);return{listBoundary:s,overscan:d,topListHeight:a,increaseViewportBy:c,visibleRange:p}},wl(ng),{singleton:!0}),RZ=ua(([{scrollVelocity:e}])=>{const t=Kt(!1),n=Sr(),r=Kt(!1);return Un(Xt(e,Xs(r,t,n),Kr(([o,s])=>!!s),nr(([o,s,a,c])=>{const{exit:d,enter:p}=s;if(a){if(d(o,c))return!1}else if(p(o,c))return!0;return a}),Co()),t),ho(Xt(Ca(t,e,n),Xs(r)),([[o,s,a],c])=>o&&c&&c.change&&c.change(s,a)),{isSeeking:t,scrollSeekConfiguration:r,scrollVelocity:e,scrollSeekRangeChanged:n}},wl(sO),{singleton:!0});function MZ(e){let t=!1,n;return()=>(t||(t=!0,n=e()),n)}const DZ=ua(([{scrollTo:e,scrollContainerState:t}])=>{const n=Sr(),r=Sr(),o=Sr(),s=Kt(!1),a=Kt(void 0);return Un(Xt(Ca(n,r),nr(([{viewportHeight:c,scrollTop:d,scrollHeight:p},{offsetTop:h}])=>({scrollTop:Math.max(0,d-h),scrollHeight:p,viewportHeight:c}))),t),Un(Xt(e,Xs(r),nr(([c,{offsetTop:d}])=>({...c,top:c.top+d}))),o),{useWindowScroll:s,customScrollParent:a,windowScrollContainerState:n,windowViewportRect:r,windowScrollTo:o}},wl(ng)),dv="-webkit-sticky",vk="sticky",iO=MZ(()=>{if(typeof document>"u")return vk;const e=document.createElement("div");return e.style.position=dv,e.style.position===dv?dv:vk});function AZ(e,t){const n=H.useRef(null),r=H.useCallback(c=>{if(c===null||!c.offsetParent)return;const d=c.getBoundingClientRect(),p=d.width;let h,m;if(t){const v=t.getBoundingClientRect(),b=d.top-v.top;h=v.height-Math.max(0,b),m=b+t.scrollTop}else h=window.innerHeight-Math.max(0,d.top),m=d.top+window.pageYOffset;n.current={offsetTop:m,visibleHeight:h,visibleWidth:p},e(n.current)},[e,t]),{callbackRef:o,ref:s}=nO(r),a=H.useCallback(()=>{r(s.current)},[r,s]);return H.useEffect(()=>{if(t){t.addEventListener("scroll",a);const c=new ResizeObserver(a);return c.observe(t),()=>{t.removeEventListener("scroll",a),c.unobserve(t)}}else return window.addEventListener("scroll",a),window.addEventListener("resize",a),()=>{window.removeEventListener("scroll",a),window.removeEventListener("resize",a)}},[a,t]),o}H.createContext(void 0);const lO=H.createContext(void 0);function TZ(e){return e}iO();const NZ={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},cO={width:"100%",height:"100%",position:"absolute",top:0};iO();function nl(e,t){if(typeof e!="string")return{context:t}}function $Z({usePublisher:e,useEmitter:t,useEmitterValue:n}){return H.memo(function({style:s,children:a,...c}){const d=e("scrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),m=n("scrollerRef"),v=n("context"),{scrollerRef:b,scrollByCallback:w,scrollToCallback:y}=oO(d,h,p,m);return t("scrollTo",y),t("scrollBy",w),H.createElement(p,{ref:b,style:{...NZ,...s},"data-test-id":"virtuoso-scroller","data-virtuoso-scroller":!0,tabIndex:0,...c,...nl(p,v)},a)})}function LZ({usePublisher:e,useEmitter:t,useEmitterValue:n}){return H.memo(function({style:s,children:a,...c}){const d=e("windowScrollContainerState"),p=n("ScrollerComponent"),h=e("smoothScrollTargetReached"),m=n("totalListHeight"),v=n("deviation"),b=n("customScrollParent"),w=n("context"),{scrollerRef:y,scrollByCallback:S,scrollToCallback:k}=oO(d,h,p,Zm,b);return yZ(()=>(y.current=b||window,()=>{y.current=null}),[y,b]),t("windowScrollTo",k),t("scrollBy",S),H.createElement(p,{style:{position:"relative",...s,...m!==0?{height:m+v}:{}},"data-virtuoso-scroller":!0,...c,...nl(p,w)},a)})}const bk={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},zZ={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},{round:yk,ceil:xk,floor:om,min:fv,max:Ku}=Math;function BZ(e){return{...zZ,items:e}}function wk(e,t,n){return Array.from({length:t-e+1}).map((r,o)=>{const s=n===null?null:n[o+e];return{index:o+e,data:s}})}function FZ(e,t){return e&&e.column===t.column&&e.row===t.row}function kp(e,t){return e&&e.width===t.width&&e.height===t.height}const HZ=ua(([{overscan:e,visibleRange:t,listBoundary:n},{scrollTop:r,viewportHeight:o,scrollBy:s,scrollTo:a,smoothScrollTargetReached:c,scrollContainerState:d,footerHeight:p,headerHeight:h},m,v,{propsReady:b,didMount:w},{windowViewportRect:y,useWindowScroll:S,customScrollParent:k,windowScrollContainerState:_,windowScrollTo:P},I])=>{const E=Kt(0),O=Kt(0),R=Kt(bk),M=Kt({height:0,width:0}),D=Kt({height:0,width:0}),A=Sr(),L=Sr(),Q=Kt(0),F=Kt(null),V=Kt({row:0,column:0}),q=Sr(),G=Sr(),T=Kt(!1),z=Kt(0),$=Kt(!0),Y=Kt(!1);ho(Xt(w,Xs(z),Kr(([U,se])=>!!se)),()=>{Ar($,!1),Ar(O,0)}),ho(Xt(Ca(w,$,D,M,z,Y),Kr(([U,se,re,oe,,pe])=>U&&!se&&re.height!==0&&oe.height!==0&&!pe)),([,,,,U])=>{Ar(Y,!0),aO(1,()=>{Ar(A,U)}),dk(Xt(r),()=>{Ar(n,[0,0]),Ar($,!0)})}),Un(Xt(G,Kr(U=>U!=null&&U.scrollTop>0),li(0)),O),ho(Xt(w,Xs(G),Kr(([,U])=>U!=null)),([,U])=>{U&&(Ar(M,U.viewport),Ar(D,U==null?void 0:U.item),Ar(V,U.gap),U.scrollTop>0&&(Ar(T,!0),dk(Xt(r,M1(1)),se=>{Ar(T,!1)}),Ar(a,{top:U.scrollTop})))}),Un(Xt(M,nr(({height:U})=>U)),o),Un(Xt(Ca(wn(M,kp),wn(D,kp),wn(V,(U,se)=>U&&U.column===se.column&&U.row===se.row),wn(r)),nr(([U,se,re,oe])=>({viewport:U,item:se,gap:re,scrollTop:oe}))),q),Un(Xt(Ca(wn(E),t,wn(V,FZ),wn(D,kp),wn(M,kp),wn(F),wn(O),wn(T),wn($),wn(z)),Kr(([,,,,,,,U])=>!U),nr(([U,[se,re],oe,pe,le,ge,ke,,xe,de])=>{const{row:Te,column:Ee}=oe,{height:$e,width:kt}=pe,{width:ct}=le;if(ke===0&&(U===0||ct===0))return bk;if(kt===0){const $t=IZ(de,U),Lt=$t===0?Math.max(ke-1,0):$t;return BZ(wk($t,Lt,ge))}const on=uO(ct,kt,Ee);let vt,bt;xe?se===0&&re===0&&ke>0?(vt=0,bt=ke-1):(vt=on*om((se+Te)/($e+Te)),bt=on*xk((re+Te)/($e+Te))-1,bt=fv(U-1,Ku(bt,on-1)),vt=fv(bt,Ku(0,vt))):(vt=0,bt=-1);const Se=wk(vt,bt,ge),{top:Me,bottom:Pt}=Sk(le,oe,pe,Se),Tt=xk(U/on),ht=Tt*$e+(Tt-1)*Te-Pt;return{items:Se,offsetTop:Me,offsetBottom:ht,top:Me,bottom:Pt,itemHeight:$e,itemWidth:kt}})),R),Un(Xt(F,Kr(U=>U!==null),nr(U=>U.length)),E),Un(Xt(Ca(M,D,R,V),Kr(([U,se,{items:re}])=>re.length>0&&se.height!==0&&U.height!==0),nr(([U,se,{items:re},oe])=>{const{top:pe,bottom:le}=Sk(U,oe,se,re);return[pe,le]}),Co(D1)),n);const ae=Kt(!1);Un(Xt(r,Xs(ae),nr(([U,se])=>se||U!==0)),ae);const fe=Gu(Xt(wn(R),Kr(({items:U})=>U.length>0),Xs(E,ae),Kr(([{items:U},se,re])=>re&&U[U.length-1].index===se-1),nr(([,U])=>U-1),Co())),ie=Gu(Xt(wn(R),Kr(({items:U})=>U.length>0&&U[0].index===0),li(0),Co())),X=Gu(Xt(wn(R),Xs(T),Kr(([{items:U},se])=>U.length>0&&!se),nr(([{items:U}])=>({startIndex:U[0].index,endIndex:U[U.length-1].index})),Co(EZ),Au(0)));Un(X,v.scrollSeekRangeChanged),Un(Xt(A,Xs(M,D,E,V),nr(([U,se,re,oe,pe])=>{const le=CZ(U),{align:ge,behavior:ke,offset:xe}=le;let de=le.index;de==="LAST"&&(de=oe-1),de=Ku(0,de,fv(oe-1,de));let Te=A1(se,pe,re,de);return ge==="end"?Te=yk(Te-se.height+re.height):ge==="center"&&(Te=yk(Te-se.height/2+re.height/2)),xe&&(Te+=xe),{top:Te,behavior:ke}})),a);const K=gc(Xt(R,nr(U=>U.offsetBottom+U.bottom)),0);return Un(Xt(y,nr(U=>({width:U.visibleWidth,height:U.visibleHeight}))),M),{data:F,totalCount:E,viewportDimensions:M,itemDimensions:D,scrollTop:r,scrollHeight:L,overscan:e,scrollBy:s,scrollTo:a,scrollToIndex:A,smoothScrollTargetReached:c,windowViewportRect:y,windowScrollTo:P,useWindowScroll:S,customScrollParent:k,windowScrollContainerState:_,deviation:Q,scrollContainerState:d,footerHeight:p,headerHeight:h,initialItemCount:O,gap:V,restoreStateFrom:G,...v,initialTopMostItemIndex:z,gridState:R,totalListHeight:K,...m,startReached:ie,endReached:fe,rangeChanged:X,stateChanged:q,propsReady:b,stateRestoreInProgress:T,...I}},wl(OZ,ng,sO,RZ,jZ,DZ,tO));function Sk(e,t,n,r){const{height:o}=n;if(o===void 0||r.length===0)return{top:0,bottom:0};const s=A1(e,t,n,r[0].index),a=A1(e,t,n,r[r.length-1].index)+o;return{top:s,bottom:a}}function A1(e,t,n,r){const o=uO(e.width,n.width,t.column),s=om(r/o),a=s*n.height+Ku(0,s-1)*t.row;return a>0?a+t.row:a}function uO(e,t,n){return Ku(1,om((e+n)/(om(t)+n)))}const WZ=ua(()=>{const e=Kt(p=>`Item ${p}`),t=Kt({}),n=Kt(null),r=Kt("virtuoso-grid-item"),o=Kt("virtuoso-grid-list"),s=Kt(TZ),a=Kt("div"),c=Kt(Zm),d=(p,h=null)=>gc(Xt(t,nr(m=>m[p]),Co()),h);return{context:n,itemContent:e,components:t,computeItemKey:s,itemClassName:r,listClassName:o,headerFooterTag:a,scrollerRef:c,FooterComponent:d("Footer"),HeaderComponent:d("Header"),ListComponent:d("List","div"),ItemComponent:d("Item","div"),ScrollerComponent:d("Scroller","div"),ScrollSeekPlaceholder:d("ScrollSeekPlaceholder","div")}}),VZ=ua(([e,t])=>({...e,...t}),wl(HZ,WZ)),UZ=H.memo(function(){const t=pr("gridState"),n=pr("listClassName"),r=pr("itemClassName"),o=pr("itemContent"),s=pr("computeItemKey"),a=pr("isSeeking"),c=js("scrollHeight"),d=pr("ItemComponent"),p=pr("ListComponent"),h=pr("ScrollSeekPlaceholder"),m=pr("context"),v=js("itemDimensions"),b=js("gap"),w=pr("log"),y=pr("stateRestoreInProgress"),S=tg(k=>{const _=k.parentElement.parentElement.scrollHeight;c(_);const P=k.firstChild;if(P){const{width:I,height:E}=P.getBoundingClientRect();v({width:I,height:E})}b({row:Ck("row-gap",getComputedStyle(k).rowGap,w),column:Ck("column-gap",getComputedStyle(k).columnGap,w)})});return y?null:H.createElement(p,{ref:S,className:n,...nl(p,m),style:{paddingTop:t.offsetTop,paddingBottom:t.offsetBottom},"data-test-id":"virtuoso-item-list"},t.items.map(k=>{const _=s(k.index,k.data,m);return a?H.createElement(h,{key:_,...nl(h,m),index:k.index,height:t.itemHeight,width:t.itemWidth}):H.createElement(d,{...nl(d,m),className:r,"data-index":k.index,key:_},o(k.index,k.data,m))}))}),GZ=H.memo(function(){const t=pr("HeaderComponent"),n=js("headerHeight"),r=pr("headerFooterTag"),o=tg(a=>n(em(a,"height"))),s=pr("context");return t?H.createElement(r,{ref:o},H.createElement(t,nl(t,s))):null}),qZ=H.memo(function(){const t=pr("FooterComponent"),n=js("footerHeight"),r=pr("headerFooterTag"),o=tg(a=>n(em(a,"height"))),s=pr("context");return t?H.createElement(r,{ref:o},H.createElement(t,nl(t,s))):null}),KZ=({children:e})=>{const t=H.useContext(lO),n=js("itemDimensions"),r=js("viewportDimensions"),o=tg(s=>{r(s.getBoundingClientRect())});return H.useEffect(()=>{t&&(r({height:t.viewportHeight,width:t.viewportWidth}),n({height:t.itemHeight,width:t.itemWidth}))},[t,r,n]),H.createElement("div",{style:cO,ref:o},e)},XZ=({children:e})=>{const t=H.useContext(lO),n=js("windowViewportRect"),r=js("itemDimensions"),o=pr("customScrollParent"),s=AZ(n,o);return H.useEffect(()=>{t&&(r({height:t.itemHeight,width:t.itemWidth}),n({offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:t.viewportWidth}))},[t,n,r]),H.createElement("div",{ref:s,style:cO},e)},YZ=H.memo(function({...t}){const n=pr("useWindowScroll"),r=pr("customScrollParent"),o=r||n?ZZ:JZ,s=r||n?XZ:KZ;return H.createElement(o,{...t},H.createElement(s,null,H.createElement(GZ,null),H.createElement(UZ,null),H.createElement(qZ,null)))}),{Component:QZ,usePublisher:js,useEmitterValue:pr,useEmitter:dO}=vZ(VZ,{optional:{context:"context",totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",data:"data",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",restoreStateFrom:"restoreStateFrom",initialTopMostItemIndex:"initialTopMostItemIndex"},methods:{scrollTo:"scrollTo",scrollBy:"scrollBy",scrollToIndex:"scrollToIndex"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",stateChanged:"stateChanged"}},YZ),JZ=$Z({usePublisher:js,useEmitterValue:pr,useEmitter:dO}),ZZ=LZ({usePublisher:js,useEmitterValue:pr,useEmitter:dO});function Ck(e,t,n){return t!=="normal"&&!(t!=null&&t.endsWith("px"))&&n(`${e} was not resolved to pixel value correctly`,t,Uy.WARN),t==="normal"?0:parseInt(t??"0",10)}const eee=QZ,tee=e=>{const t=B(s=>s.gallery.galleryView),{data:n}=H_(e),{data:r}=W_(e),o=f.useMemo(()=>t==="images"?n:r,[t,r,n]);return{totalImages:n,totalAssets:r,currentViewTotal:o}},nee=({imageDTO:e})=>i.jsx(W,{sx:{pointerEvents:"none",flexDirection:"column",position:"absolute",top:0,insetInlineStart:0,p:2,alignItems:"flex-start",gap:2},children:i.jsxs(gl,{variant:"solid",colorScheme:"base",children:[e.width," × ",e.height]})}),rg=({postUploadAction:e,isDisabled:t})=>{const n=B(d=>d.gallery.autoAddBoardId),[r]=$_(),o=f.useCallback(d=>{const p=d[0];p&&r({file:p,image_category:"user",is_intermediate:!1,postUploadAction:e??{type:"TOAST"},board_id:n==="none"?void 0:n})},[n,e,r]),{getRootProps:s,getInputProps:a,open:c}=ny({accept:{"image/png":[".png"],"image/jpeg":[".jpg",".jpeg",".png"]},onDropAccepted:o,disabled:t,noDrag:!0,multiple:!1});return{getUploadButtonProps:s,getUploadInputProps:a,openUploader:c}},Gy=()=>{const e=te(),t=Vc(),{t:n}=ye(),r=f.useCallback(()=>{t({title:n("toast.parameterSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),o=f.useCallback(()=>{t({title:n("toast.parameterNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),s=f.useCallback(()=>{t({title:n("toast.parametersSet"),status:"info",duration:2500,isClosable:!0})},[n,t]),a=f.useCallback(()=>{t({title:n("toast.parametersNotSet"),status:"warning",duration:2500,isClosable:!0})},[n,t]),c=f.useCallback((O,R,M,D)=>{if(Lf(O)||zf(R)||pu(M)||v0(D)){Lf(O)&&e(Lu(O)),zf(R)&&e(zu(R)),pu(M)&&e(Bu(M)),pu(D)&&e(Fu(D)),r();return}o()},[e,r,o]),d=f.useCallback(O=>{if(!Lf(O)){o();return}e(Lu(O)),r()},[e,r,o]),p=f.useCallback(O=>{if(!zf(O)){o();return}e(zu(O)),r()},[e,r,o]),h=f.useCallback(O=>{if(!pu(O)){o();return}e(Bu(O)),r()},[e,r,o]),m=f.useCallback(O=>{if(!v0(O)){o();return}e(Fu(O)),r()},[e,r,o]),v=f.useCallback(O=>{if(!Q2(O)){o();return}e(Fp(O)),r()},[e,r,o]),b=f.useCallback(O=>{if(!b0(O)){o();return}e(Hp(O)),r()},[e,r,o]),w=f.useCallback(O=>{if(!J2(O)){o();return}e(Iv(O)),r()},[e,r,o]),y=f.useCallback(O=>{if(!y0(O)){o();return}e(Ev(O)),r()},[e,r,o]),S=f.useCallback(O=>{if(!x0(O)){o();return}e(Wp(O)),r()},[e,r,o]),k=f.useCallback(O=>{if(!Z2(O)){o();return}e(vc(O)),r()},[e,r,o]),_=f.useCallback(O=>{if(!ew(O)){o();return}e(bc(O)),r()},[e,r,o]),P=f.useCallback(O=>{if(!tw(O)){o();return}e(Vp(O)),r()},[e,r,o]),I=f.useCallback(O=>{e(tb(O))},[e]),E=f.useCallback(O=>{if(!O){a();return}const{cfg_scale:R,height:M,model:D,positive_prompt:A,negative_prompt:L,scheduler:Q,seed:F,steps:V,width:q,strength:G,positive_style_prompt:T,negative_style_prompt:z,refiner_model:$,refiner_cfg_scale:Y,refiner_steps:ae,refiner_scheduler:fe,refiner_aesthetic_store:ie,refiner_start:X}=O;b0(R)&&e(Hp(R)),J2(D)&&e(Iv(D)),Lf(A)&&e(Lu(A)),zf(L)&&e(zu(L)),y0(Q)&&e(Ev(Q)),Q2(F)&&e(Fp(F)),x0(V)&&e(Wp(V)),Z2(q)&&e(vc(q)),ew(M)&&e(bc(M)),tw(G)&&e(Vp(G)),pu(T)&&e(Bu(T)),v0(z)&&e(Fu(z)),d7($)&&e(q_($)),x0(ae)&&e(Ov(ae)),b0(Y)&&e(Rv(Y)),y0(fe)&&e(K_(fe)),f7(ie)&&e(Mv(ie)),p7(X)&&e(Dv(X)),s()},[a,s,e]);return{recallBothPrompts:c,recallPositivePrompt:d,recallNegativePrompt:p,recallSDXLPositiveStylePrompt:h,recallSDXLNegativeStylePrompt:m,recallSeed:v,recallCfgScale:b,recallModel:w,recallScheduler:y,recallSteps:S,recallWidth:k,recallHeight:_,recallStrength:P,recallAllParameters:E,sendToImageToImage:I}},ir=e=>{const t=B(a=>a.config.disabledTabs),n=B(a=>a.config.disabledFeatures),r=B(a=>a.config.disabledSDFeatures),o=f.useMemo(()=>n.includes(e)||r.includes(e)||t.includes(e),[n,r,t,e]),s=f.useMemo(()=>!(n.includes(e)||r.includes(e)||t.includes(e)),[n,r,t,e]);return{isFeatureDisabled:o,isFeatureEnabled:s}},qy=()=>{const e=Vc(),{t}=ye(),n=f.useMemo(()=>!!navigator.clipboard&&!!window.ClipboardItem,[]),r=f.useCallback(async o=>{n||e({title:t("toast.problemCopyingImage"),description:"Your browser doesn't support the Clipboard API.",status:"error",duration:2500,isClosable:!0});try{const a=await(await fetch(o)).blob();await navigator.clipboard.write([new ClipboardItem({[a.type]:a})]),e({title:t("toast.imageCopied"),status:"success",duration:2500,isClosable:!0})}catch(s){e({title:t("toast.problemCopyingImage"),description:String(s),status:"error",duration:2500,isClosable:!0})}},[n,t,e]);return{isClipboardAPIAvailable:n,copyImageToClipboard:r}};function ree(e,t,n){var r=this,o=f.useRef(null),s=f.useRef(0),a=f.useRef(null),c=f.useRef([]),d=f.useRef(),p=f.useRef(),h=f.useRef(e),m=f.useRef(!0);f.useEffect(function(){h.current=e},[e]);var v=!t&&t!==0&&typeof window<"u";if(typeof e!="function")throw new TypeError("Expected a function");t=+t||0;var b=!!(n=n||{}).leading,w=!("trailing"in n)||!!n.trailing,y="maxWait"in n,S=y?Math.max(+n.maxWait||0,t):null;f.useEffect(function(){return m.current=!0,function(){m.current=!1}},[]);var k=f.useMemo(function(){var _=function(M){var D=c.current,A=d.current;return c.current=d.current=null,s.current=M,p.current=h.current.apply(A,D)},P=function(M,D){v&&cancelAnimationFrame(a.current),a.current=v?requestAnimationFrame(M):setTimeout(M,D)},I=function(M){if(!m.current)return!1;var D=M-o.current;return!o.current||D>=t||D<0||y&&M-s.current>=S},E=function(M){return a.current=null,w&&c.current?_(M):(c.current=d.current=null,p.current)},O=function M(){var D=Date.now();if(I(D))return E(D);if(m.current){var A=t-(D-o.current),L=y?Math.min(A,S-(D-s.current)):A;P(M,L)}},R=function(){var M=Date.now(),D=I(M);if(c.current=[].slice.call(arguments),d.current=r,o.current=M,D){if(!a.current&&m.current)return s.current=o.current,P(O,t),b?_(o.current):p.current;if(y)return P(O,t),_(o.current)}return a.current||P(O,t),p.current};return R.cancel=function(){a.current&&(v?cancelAnimationFrame(a.current):clearTimeout(a.current)),s.current=0,c.current=o.current=d.current=a.current=null},R.isPending=function(){return!!a.current},R.flush=function(){return a.current?E(Date.now()):p.current},R},[b,y,t,S,w,v]);return k}function oee(e,t){return e===t}function kk(e){return typeof e=="function"?function(){return e}:e}function Ky(e,t,n){var r,o,s=n&&n.equalityFn||oee,a=(r=f.useState(kk(e)),o=r[1],[r[0],f.useCallback(function(m){return o(kk(m))},[])]),c=a[0],d=a[1],p=ree(f.useCallback(function(m){return d(m)},[d]),t,n),h=f.useRef(e);return s(h.current,e)||(p(e),h.current=e),[c,p]}nb("gallery/requestedBoardImagesDeletion");const see=nb("gallery/sentImageToCanvas"),fO=nb("gallery/sentImageToImg2Img"),aee=e=>{const{imageDTO:t}=e,n=te(),{t:r}=ye(),o=Vc(),s=ir("unifiedCanvas").isFeatureEnabled,[a,c]=Ky(t.image_name,500),{currentData:d}=rb(c.isPending()?ro.skipToken:a??ro.skipToken),{isClipboardAPIAvailable:p,copyImageToClipboard:h}=qy(),m=d==null?void 0:d.metadata,v=f.useCallback(()=>{t&&n(pm([t]))},[n,t]),{recallBothPrompts:b,recallSeed:w,recallAllParameters:y}=Gy(),S=f.useCallback(()=>{b(m==null?void 0:m.positive_prompt,m==null?void 0:m.negative_prompt,m==null?void 0:m.positive_style_prompt,m==null?void 0:m.negative_style_prompt)},[m==null?void 0:m.negative_prompt,m==null?void 0:m.positive_prompt,m==null?void 0:m.positive_style_prompt,m==null?void 0:m.negative_style_prompt,b]),k=f.useCallback(()=>{w(m==null?void 0:m.seed)},[m==null?void 0:m.seed,w]),_=f.useCallback(()=>{n(fO()),n(tb(t))},[n,t]),P=f.useCallback(()=>{n(see()),n(h7(t)),n(hm()),n(Yl("unifiedCanvas")),o({title:r("toast.sentToUnifiedCanvas"),status:"success",duration:2500,isClosable:!0})},[n,t,r,o]),I=f.useCallback(()=>{console.log(m),y(m)},[m,y]),E=f.useCallback(()=>{n(X_([t])),n(J1(!0))},[n,t]),O=f.useCallback(()=>{h(t.image_url)},[h,t.image_url]);return i.jsxs(i.Fragment,{children:[i.jsx(jr,{as:"a",href:t.image_url,target:"_blank",icon:i.jsx(BY,{}),children:r("common.openInNewTab")}),p&&i.jsx(jr,{icon:i.jsx(qc,{}),onClickCapture:O,children:r("parameters.copyImage")}),i.jsx(jr,{as:"a",download:!0,href:t.image_url,target:"_blank",icon:i.jsx(xy,{}),w:"100%",children:r("parameters.downloadImage")}),i.jsx(jr,{icon:i.jsx(iE,{}),onClickCapture:S,isDisabled:(m==null?void 0:m.positive_prompt)===void 0&&(m==null?void 0:m.negative_prompt)===void 0,children:r("parameters.usePrompt")}),i.jsx(jr,{icon:i.jsx(lE,{}),onClickCapture:k,isDisabled:(m==null?void 0:m.seed)===void 0,children:r("parameters.useSeed")}),i.jsx(jr,{icon:i.jsx(YI,{}),onClickCapture:I,isDisabled:!m,children:r("parameters.useAll")}),i.jsx(jr,{icon:i.jsx(T4,{}),onClickCapture:_,id:"send-to-img2img",children:r("parameters.sendToImg2Img")}),s&&i.jsx(jr,{icon:i.jsx(T4,{}),onClickCapture:P,id:"send-to-canvas",children:r("parameters.sendToUnifiedCanvas")}),i.jsx(jr,{icon:i.jsx(nE,{}),onClickCapture:E,children:"Change Board"}),i.jsx(jr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(Eo,{}),onClickCapture:v,children:r("gallery.deleteImage")})]})},pO=f.memo(aee),iee=()=>{const e=te(),t=B(o=>o.gallery.selection),n=f.useCallback(()=>{e(X_(t)),e(J1(!0))},[e,t]),r=f.useCallback(()=>{e(pm(t))},[e,t]);return i.jsxs(i.Fragment,{children:[i.jsx(jr,{icon:i.jsx(nE,{}),onClickCapture:n,children:"Change Board"}),i.jsx(jr,{sx:{color:"error.600",_dark:{color:"error.300"}},icon:i.jsx(Eo,{}),onClickCapture:r,children:"Delete Selection"})]})},lee=be([lt],({gallery:e})=>({selectionCount:e.selection.length}),Je),cee=({imageDTO:e,children:t})=>{const{selectionCount:n}=B(lee),r=f.useCallback(o=>{o.preventDefault()},[]);return i.jsx(GE,{menuProps:{size:"sm",isLazy:!0},menuButtonProps:{bg:"transparent",_hover:{bg:"transparent"}},renderMenu:()=>e?n>1?i.jsx(il,{sx:{visibility:"visible !important"},motionProps:ed,onContextMenu:r,children:i.jsx(iee,{})}):i.jsx(il,{sx:{visibility:"visible !important"},motionProps:ed,onContextMenu:r,children:i.jsx(pO,{imageDTO:e})}):null,children:t})},uee=f.memo(cee),dee=e=>{const{data:t,disabled:n,onClick:r}=e,o=f.useRef(fi()),{attributes:s,listeners:a,setNodeRef:c}=m7({id:o.current,disabled:n,data:t});return i.jsx(Re,{onClick:r,ref:c,position:"absolute",w:"full",h:"full",top:0,insetInlineStart:0,...s,...a})},fee=f.memo(dee),pee=e=>{const{imageDTO:t,onClickReset:n,onError:r,onClick:o,withResetIcon:s=!1,withMetadataOverlay:a=!1,isDropDisabled:c=!1,isDragDisabled:d=!1,isUploadDisabled:p=!1,minSize:h=24,postUploadAction:m,imageSx:v,fitContainer:b=!1,droppableData:w,draggableData:y,dropLabel:S,isSelected:k=!1,thumbnail:_=!1,resetTooltip:P="Reset",resetIcon:I=i.jsx(Sy,{}),noContentFallback:E=i.jsx(tl,{icon:Oc}),useThumbailFallback:O,withHoverOverlay:R=!1}=e,{colorMode:M}=Ds(),[D,A]=f.useState(!1),L=f.useCallback(()=>{A(!0)},[]),Q=f.useCallback(()=>{A(!1)},[]),{getUploadButtonProps:F,getUploadInputProps:V}=rg({postUploadAction:m,isDisabled:p}),q=jp("drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-600))","drop-shadow(0px 0px 0.1rem var(--invokeai-colors-base-800))"),G=p?{}:{cursor:"pointer",bg:Fe("base.200","base.800")(M),_hover:{bg:Fe("base.300","base.650")(M),color:Fe("base.500","base.300")(M)}};return i.jsx(uee,{imageDTO:t,children:T=>i.jsxs(W,{ref:T,onMouseOver:L,onMouseOut:Q,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative",minW:h||void 0,minH:h||void 0,userSelect:"none",cursor:d||!t?"default":"pointer"},children:[t&&i.jsxs(W,{sx:{w:"full",h:"full",position:b?"absolute":"relative",alignItems:"center",justifyContent:"center"},children:[i.jsx(Lc,{src:_?t.thumbnail_url:t.image_url,fallbackStrategy:"beforeLoadOrError",fallbackSrc:O?t.thumbnail_url:void 0,fallback:O?void 0:i.jsx(iZ,{image:t}),width:t.width,height:t.height,onError:r,draggable:!1,sx:{objectFit:"contain",maxW:"full",maxH:"full",borderRadius:"base",...v}}),a&&i.jsx(nee,{imageDTO:t}),i.jsx(Fy,{isSelected:k,isHovered:R?D:!1})]}),!t&&!p&&i.jsx(i.Fragment,{children:i.jsxs(W,{sx:{minH:h,w:"full",h:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",transitionProperty:"common",transitionDuration:"0.1s",color:Fe("base.500","base.500")(M),...G},...F(),children:[i.jsx("input",{...V()}),i.jsx(fo,{as:Vd,sx:{boxSize:16}})]})}),!t&&p&&E,t&&!d&&i.jsx(fee,{data:y,disabled:d||!t,onClick:o}),!c&&i.jsx(By,{data:w,disabled:c,dropLabel:S}),n&&s&&t&&i.jsx(ze,{onClick:n,"aria-label":P,tooltip:P,icon:I,size:"sm",variant:"link",sx:{position:"absolute",top:1,insetInlineEnd:1,p:0,minW:0,svg:{transitionProperty:"common",transitionDuration:"normal",fill:"base.100",_hover:{fill:"base.50"},filter:q}}})]})})},fl=f.memo(pee),hee=()=>i.jsx(Em,{sx:{position:"relative",height:"full",width:"full","::before":{content:"''",display:"block",pt:"100%"}},children:i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineStart:0,height:"full",width:"full"}})}),mee=be([lt,ob],({gallery:e},t)=>{const n=e.selection;return{queryArgs:t,selection:n}},Je),gee=e=>{const t=te(),{queryArgs:n,selection:r}=B(mee),{imageDTOs:o}=Y_(n,{selectFromResult:p=>({imageDTOs:p.data?g7.selectAll(p.data):[]})}),s=ir("multiselect").isFeatureEnabled,a=f.useCallback(p=>{var h;if(e){if(!s){t(hu([e]));return}if(p.shiftKey){const m=e.image_name,v=(h=r[r.length-1])==null?void 0:h.image_name,b=o.findIndex(y=>y.image_name===v),w=o.findIndex(y=>y.image_name===m);if(b>-1&&w>-1){const y=Math.min(b,w),S=Math.max(b,w),k=o.slice(y,S+1);t(hu(Ow(r.concat(k))))}}else p.ctrlKey||p.metaKey?r.some(m=>m.image_name===e.image_name)&&r.length>1?t(hu(r.filter(m=>m.image_name!==e.image_name))):t(hu(Ow(r.concat(e)))):t(hu([e]))}},[t,e,o,r,s]),c=f.useMemo(()=>e?r.some(p=>p.image_name===e.image_name):!1,[e,r]),d=f.useMemo(()=>r.length,[r.length]);return{selection:r,selectionCount:d,isSelected:c,handleClick:a}},vee=e=>{const t=te(),{imageName:n}=e,{currentData:r}=Is(n),o=B(m=>m.gallery.shouldShowDeleteButton),{handleClick:s,isSelected:a,selection:c,selectionCount:d}=gee(r),p=f.useCallback(m=>{m.stopPropagation(),r&&t(pm([r]))},[t,r]),h=f.useMemo(()=>{if(d>1)return{id:"gallery-image",payloadType:"IMAGE_DTOS",payload:{imageDTOs:c}};if(r)return{id:"gallery-image",payloadType:"IMAGE_DTO",payload:{imageDTO:r}}},[r,c,d]);return r?i.jsx(Re,{sx:{w:"full",h:"full",touchAction:"none"},children:i.jsx(W,{userSelect:"none",sx:{position:"relative",justifyContent:"center",alignItems:"center",aspectRatio:"1/1"},children:i.jsx(fl,{onClick:s,imageDTO:r,draggableData:h,isSelected:a,minSize:0,onClickReset:p,imageSx:{w:"full",h:"full"},isDropDisabled:!0,isUploadDisabled:!0,thumbnail:!0,withHoverOverlay:!0,resetIcon:i.jsx(Eo,{}),resetTooltip:"Delete image",withResetIcon:o})})}):i.jsx(hee,{})},bee=f.memo(vee),yee=Ae((e,t)=>i.jsx(Re,{className:"item-container",ref:t,p:1.5,children:e.children})),xee=Ae((e,t)=>{const n=B(r=>r.gallery.galleryImageMinimumWidth);return i.jsx(sl,{...e,className:"list-container",ref:t,sx:{gridTemplateColumns:`repeat(auto-fill, minmax(${n}px, 1fr));`},children:e.children})}),wee={defer:!0,options:{scrollbars:{visibility:"auto",autoHide:"leave",autoHideDelay:1300,theme:"os-theme-dark"},overflow:{x:"hidden"}}},See=()=>{const{t:e}=ye(),t=f.useRef(null),[n,r]=f.useState(null),[o,s]=LE(wee),a=B(S=>S.gallery.selectedBoardId),{currentViewTotal:c}=tee(a),d=B(ob),{currentData:p,isFetching:h,isSuccess:m,isError:v}=Y_(d),[b]=Q_(),w=f.useMemo(()=>!p||!c?!1:p.ids.length{w&&b({...d,offset:(p==null?void 0:p.ids.length)??0,limit:J_})},[w,b,d,p==null?void 0:p.ids.length]);return f.useEffect(()=>{const{current:S}=t;return n&&S&&o({target:S,elements:{viewport:n}}),()=>{var k;return(k=s())==null?void 0:k.destroy()}},[n,o,s]),p?m&&(p==null?void 0:p.ids.length)===0?i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(tl,{label:e("gallery.noImagesInGallery"),icon:Oc})}):m&&p?i.jsxs(i.Fragment,{children:[i.jsx(Re,{ref:t,"data-overlayscrollbars":"",h:"100%",children:i.jsx(eee,{style:{height:"100%"},data:p.ids,endReached:y,components:{Item:yee,List:xee},scrollerRef:r,itemContent:(S,k)=>i.jsx(bee,{imageName:k},k)})}),i.jsx(Yt,{onClick:y,isDisabled:!w,isLoading:h,loadingText:"Loading",flexShrink:0,children:`Load More (${p.ids.length} of ${c})`})]}):v?i.jsx(Re,{sx:{w:"full",h:"full"},children:i.jsx(tl,{label:"Unable to load Gallery",icon:ZI})}):null:i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(tl,{label:"Loading...",icon:Oc})})},Cee=f.memo(See),kee=be([lt],e=>{const{galleryView:t}=e.gallery;return{galleryView:t}},Je),_ee=()=>{const e=f.useRef(null),t=f.useRef(null),{galleryView:n}=B(kee),r=te(),{isOpen:o,onToggle:s}=ss(),a=f.useCallback(()=>{r(nw("images"))},[r]),c=f.useCallback(()=>{r(nw("assets"))},[r]);return i.jsxs(o6,{sx:{flexDirection:"column",h:"full",w:"full",borderRadius:"base"},children:[i.jsxs(Re,{sx:{w:"full"},children:[i.jsxs(W,{ref:e,sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:[i.jsx(YJ,{isOpen:o,onToggle:s}),i.jsx(aZ,{}),i.jsx(JJ,{})]}),i.jsx(Re,{children:i.jsx(qJ,{isOpen:o})})]}),i.jsxs(W,{ref:t,direction:"column",gap:2,h:"full",w:"full",children:[i.jsx(W,{sx:{alignItems:"center",justifyContent:"space-between",gap:2},children:i.jsx(Ld,{index:n==="images"?0:1,variant:"unstyled",size:"sm",sx:{w:"full"},children:i.jsx(zd,{children:i.jsxs(rr,{isAttached:!0,sx:{w:"full"},children:[i.jsx(kc,{as:Yt,size:"sm",isChecked:n==="images",onClick:a,sx:{w:"full"},leftIcon:i.jsx(UY,{}),children:"Images"}),i.jsx(kc,{as:Yt,size:"sm",isChecked:n==="assets",onClick:c,sx:{w:"full"},leftIcon:i.jsx(nQ,{}),children:"Assets"})]})})})}),i.jsx(Cee,{})]})]})},hO=f.memo(_ee),Pee=be([Kn,Ba,v7,lr],(e,t,n,r)=>{const{shouldPinGallery:o,shouldShowGallery:s}=t,{galleryImageMinimumWidth:a}=n;return{activeTabName:e,isStaging:r,shouldPinGallery:o,shouldShowGallery:s,galleryImageMinimumWidth:a,isResizable:e!=="unifiedCanvas"}},{memoizeOptions:{resultEqualityCheck:Zt}}),jee=()=>{const e=te(),{shouldPinGallery:t,shouldShowGallery:n,galleryImageMinimumWidth:r}=B(Pee),o=()=>{e(Av(!1)),t&&e(ko())};tt("esc",()=>{e(Av(!1))},{enabled:()=>!t,preventDefault:!0},[t]);const s=32;return tt("shift+up",()=>{if(r<256){const a=Es(r+s,32,256);e(Bp(a))}},[r]),tt("shift+down",()=>{if(r>32){const a=Es(r-s,32,256);e(Bp(a))}},[r]),t?null:i.jsx(GI,{direction:"right",isResizable:!0,isOpen:n,onClose:o,minWidth:400,children:i.jsx(hO,{})})},Iee=f.memo(jee);function Eee(e){const{title:t,hotkey:n,description:r}=e;return i.jsxs(sl,{sx:{gridTemplateColumns:"auto max-content",justifyContent:"space-between",alignItems:"center"},children:[i.jsxs(sl,{children:[i.jsx(Qe,{fontWeight:600,children:t}),r&&i.jsx(Qe,{sx:{fontSize:"sm"},variant:"subtext",children:r})]}),i.jsx(Re,{sx:{fontSize:"sm",fontWeight:600,px:2,py:1},children:n})]})}function Oee({children:e}){const{isOpen:t,onOpen:n,onClose:r}=ss(),{t:o}=ye(),s=[{title:o("hotkeys.invoke.title"),desc:o("hotkeys.invoke.desc"),hotkey:"Ctrl+Enter"},{title:o("hotkeys.cancel.title"),desc:o("hotkeys.cancel.desc"),hotkey:"Shift+X"},{title:o("hotkeys.focusPrompt.title"),desc:o("hotkeys.focusPrompt.desc"),hotkey:"Alt+A"},{title:o("hotkeys.toggleOptions.title"),desc:o("hotkeys.toggleOptions.desc"),hotkey:"O"},{title:o("hotkeys.pinOptions.title"),desc:o("hotkeys.pinOptions.desc"),hotkey:"Shift+O"},{title:o("hotkeys.toggleGallery.title"),desc:o("hotkeys.toggleGallery.desc"),hotkey:"G"},{title:o("hotkeys.maximizeWorkSpace.title"),desc:o("hotkeys.maximizeWorkSpace.desc"),hotkey:"F"},{title:o("hotkeys.changeTabs.title"),desc:o("hotkeys.changeTabs.desc"),hotkey:"1-5"}],a=[{title:o("hotkeys.setPrompt.title"),desc:o("hotkeys.setPrompt.desc"),hotkey:"P"},{title:o("hotkeys.setSeed.title"),desc:o("hotkeys.setSeed.desc"),hotkey:"S"},{title:o("hotkeys.setParameters.title"),desc:o("hotkeys.setParameters.desc"),hotkey:"A"},{title:o("hotkeys.upscale.title"),desc:o("hotkeys.upscale.desc"),hotkey:"Shift+U"},{title:o("hotkeys.showInfo.title"),desc:o("hotkeys.showInfo.desc"),hotkey:"I"},{title:o("hotkeys.sendToImageToImage.title"),desc:o("hotkeys.sendToImageToImage.desc"),hotkey:"Shift+I"},{title:o("hotkeys.deleteImage.title"),desc:o("hotkeys.deleteImage.desc"),hotkey:"Del"},{title:o("hotkeys.closePanels.title"),desc:o("hotkeys.closePanels.desc"),hotkey:"Esc"}],c=[{title:o("hotkeys.previousImage.title"),desc:o("hotkeys.previousImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextImage.title"),desc:o("hotkeys.nextImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.toggleGalleryPin.title"),desc:o("hotkeys.toggleGalleryPin.desc"),hotkey:"Shift+G"},{title:o("hotkeys.increaseGalleryThumbSize.title"),desc:o("hotkeys.increaseGalleryThumbSize.desc"),hotkey:"Shift+Up"},{title:o("hotkeys.decreaseGalleryThumbSize.title"),desc:o("hotkeys.decreaseGalleryThumbSize.desc"),hotkey:"Shift+Down"}],d=[{title:o("hotkeys.selectBrush.title"),desc:o("hotkeys.selectBrush.desc"),hotkey:"B"},{title:o("hotkeys.selectEraser.title"),desc:o("hotkeys.selectEraser.desc"),hotkey:"E"},{title:o("hotkeys.decreaseBrushSize.title"),desc:o("hotkeys.decreaseBrushSize.desc"),hotkey:"["},{title:o("hotkeys.increaseBrushSize.title"),desc:o("hotkeys.increaseBrushSize.desc"),hotkey:"]"},{title:o("hotkeys.decreaseBrushOpacity.title"),desc:o("hotkeys.decreaseBrushOpacity.desc"),hotkey:"Shift + ["},{title:o("hotkeys.increaseBrushOpacity.title"),desc:o("hotkeys.increaseBrushOpacity.desc"),hotkey:"Shift + ]"},{title:o("hotkeys.moveTool.title"),desc:o("hotkeys.moveTool.desc"),hotkey:"V"},{title:o("hotkeys.fillBoundingBox.title"),desc:o("hotkeys.fillBoundingBox.desc"),hotkey:"Shift + F"},{title:o("hotkeys.eraseBoundingBox.title"),desc:o("hotkeys.eraseBoundingBox.desc"),hotkey:"Delete / Backspace"},{title:o("hotkeys.colorPicker.title"),desc:o("hotkeys.colorPicker.desc"),hotkey:"C"},{title:o("hotkeys.toggleSnap.title"),desc:o("hotkeys.toggleSnap.desc"),hotkey:"N"},{title:o("hotkeys.quickToggleMove.title"),desc:o("hotkeys.quickToggleMove.desc"),hotkey:"Hold Space"},{title:o("hotkeys.toggleLayer.title"),desc:o("hotkeys.toggleLayer.desc"),hotkey:"Q"},{title:o("hotkeys.clearMask.title"),desc:o("hotkeys.clearMask.desc"),hotkey:"Shift+C"},{title:o("hotkeys.hideMask.title"),desc:o("hotkeys.hideMask.desc"),hotkey:"H"},{title:o("hotkeys.showHideBoundingBox.title"),desc:o("hotkeys.showHideBoundingBox.desc"),hotkey:"Shift+H"},{title:o("hotkeys.mergeVisible.title"),desc:o("hotkeys.mergeVisible.desc"),hotkey:"Shift+M"},{title:o("hotkeys.saveToGallery.title"),desc:o("hotkeys.saveToGallery.desc"),hotkey:"Shift+S"},{title:o("hotkeys.copyToClipboard.title"),desc:o("hotkeys.copyToClipboard.desc"),hotkey:"Ctrl+C"},{title:o("hotkeys.downloadImage.title"),desc:o("hotkeys.downloadImage.desc"),hotkey:"Shift+D"},{title:o("hotkeys.undoStroke.title"),desc:o("hotkeys.undoStroke.desc"),hotkey:"Ctrl+Z"},{title:o("hotkeys.redoStroke.title"),desc:o("hotkeys.redoStroke.desc"),hotkey:"Ctrl+Shift+Z, Ctrl+Y"},{title:o("hotkeys.resetView.title"),desc:o("hotkeys.resetView.desc"),hotkey:"R"},{title:o("hotkeys.previousStagingImage.title"),desc:o("hotkeys.previousStagingImage.desc"),hotkey:"Arrow Left"},{title:o("hotkeys.nextStagingImage.title"),desc:o("hotkeys.nextStagingImage.desc"),hotkey:"Arrow Right"},{title:o("hotkeys.acceptStagingImage.title"),desc:o("hotkeys.acceptStagingImage.desc"),hotkey:"Enter"}],p=h=>i.jsx(W,{flexDir:"column",gap:4,children:h.map((m,v)=>i.jsxs(W,{flexDir:"column",px:2,gap:4,children:[i.jsx(Eee,{title:m.title,description:m.desc,hotkey:m.hotkey}),v{const{data:t}=b7(),n=f.useRef(null),r=mO(n);return i.jsxs(W,{alignItems:"center",gap:3,ps:1,ref:n,children:[i.jsx(Lc,{src:U_,alt:"invoke-ai-logo",sx:{w:"32px",h:"32px",minW:"32px",minH:"32px",userSelect:"none"}}),i.jsxs(W,{sx:{gap:3,alignItems:"center"},children:[i.jsxs(Qe,{sx:{fontSize:"xl",userSelect:"none"},children:["invoke ",i.jsx("strong",{children:"ai"})]}),i.jsx(mo,{children:e&&r&&t&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:i.jsx(Qe,{sx:{fontWeight:600,marginTop:1,color:"base.300",fontSize:14},variant:"subtext",children:t.version})},"statusText")})]})]})},$ee=e=>{const{tooltip:t,inputRef:n,label:r,disabled:o,required:s,...a}=e,c=VI();return i.jsx(vn,{label:t,placement:"top",hasArrow:!0,children:i.jsx(vy,{label:r?i.jsx(go,{isRequired:s,isDisabled:o,children:i.jsx(Bo,{children:r})}):void 0,disabled:o,ref:n,styles:c,...a})})},Xr=f.memo($ee);function Yo(e){const{t}=ye(),{label:n,textProps:r,useBadge:o=!1,badgeLabel:s=t("settings.experimental"),badgeProps:a,...c}=e;return i.jsxs(W,{justifyContent:"space-between",py:1,children:[i.jsxs(W,{gap:2,alignItems:"center",children:[i.jsx(Qe,{sx:{fontSize:14,_dark:{color:"base.300"}},...r,children:n}),o&&i.jsx(gl,{size:"xs",sx:{px:2,color:"base.700",bg:"accent.200",_dark:{bg:"accent.500",color:"base.200"}},...a,children:s})]}),i.jsx(yr,{...c})]})}const Xl=e=>i.jsx(W,{sx:{flexDirection:"column",gap:2,p:4,borderRadius:"base",bg:"base.100",_dark:{bg:"base.900"}},children:e.children});function Lee(){const e=te(),{data:t,refetch:n}=y7(),[r,{isLoading:o}]=x7(),s=f.useCallback(()=>{r().unwrap().then(c=>{e(w7()),e(sb()),e(On({title:`Cleared ${c} intermediates`,status:"info"}))})},[r,e]);f.useEffect(()=>{n()},[n]);const a=t?`Clear ${t} Intermediate${t>1?"s":""}`:"No Intermediates to Clear";return i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:"Clear Intermediates"}),i.jsx(Yt,{colorScheme:"warning",onClick:s,isLoading:o,isDisabled:!t,children:a}),i.jsx(Qe,{fontWeight:"bold",children:"Clearing intermediates will reset your Canvas and ControlNet state."}),i.jsx(Qe,{variant:"subtext",children:"Intermediate images are byproducts of generation, different from the result images in the gallery. Clearing intermediates will free disk space."}),i.jsx(Qe,{variant:"subtext",children:"Your gallery images will not be deleted."})]})}const zee=()=>{const{base50:e,base100:t,base200:n,base300:r,base400:o,base500:s,base600:a,base700:c,base800:d,base900:p,accent200:h,accent300:m,accent400:v,accent500:b,accent600:w}=by(),{colorMode:y}=Ds(),[S]=$c("shadows",["dark-lg"]);return f.useCallback(()=>({label:{color:Fe(c,r)(y)},separatorLabel:{color:Fe(s,s)(y),"::after":{borderTopColor:Fe(r,c)(y)}},searchInput:{":placeholder":{color:Fe(r,c)(y)}},input:{backgroundColor:Fe(e,p)(y),borderWidth:"2px",borderColor:Fe(n,d)(y),color:Fe(p,t)(y),paddingRight:24,fontWeight:600,"&:hover":{borderColor:Fe(r,a)(y)},"&:focus":{borderColor:Fe(m,w)(y)},"&:is(:focus, :hover)":{borderColor:Fe(o,s)(y)},"&:focus-within":{borderColor:Fe(h,w)(y)},"&[data-disabled]":{backgroundColor:Fe(r,c)(y),color:Fe(a,o)(y),cursor:"not-allowed"}},value:{backgroundColor:Fe(n,d)(y),color:Fe(p,t)(y),button:{color:Fe(p,t)(y)},"&:hover":{backgroundColor:Fe(r,c)(y),cursor:"pointer"}},dropdown:{backgroundColor:Fe(n,d)(y),borderColor:Fe(n,d)(y),boxShadow:S},item:{backgroundColor:Fe(n,d)(y),color:Fe(d,n)(y),padding:6,"&[data-hovered]":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)},"&[data-active]":{backgroundColor:Fe(r,c)(y),"&:hover":{color:Fe(p,t)(y),backgroundColor:Fe(r,c)(y)}},"&[data-selected]":{backgroundColor:Fe(v,w)(y),color:Fe(e,t)(y),fontWeight:600,"&:hover":{backgroundColor:Fe(b,b)(y),color:Fe("white",e)(y)}},"&[data-disabled]":{color:Fe(s,a)(y),cursor:"not-allowed"}},rightSection:{width:24,padding:20,button:{color:Fe(p,t)(y)}}}),[h,m,v,b,w,t,n,r,o,e,s,a,c,d,p,S,y])},Bee=e=>{const{searchable:t=!0,tooltip:n,inputRef:r,label:o,disabled:s,...a}=e,c=te(),d=f.useCallback(m=>{m.shiftKey&&c(jo(!0))},[c]),p=f.useCallback(m=>{m.shiftKey||c(jo(!1))},[c]),h=zee();return i.jsx(vn,{label:n,placement:"top",hasArrow:!0,isOpen:!0,children:i.jsx(LI,{label:o?i.jsx(go,{isDisabled:s,children:i.jsx(Bo,{children:o})}):void 0,ref:r,disabled:s,onKeyDown:d,onKeyUp:p,searchable:t,maxDropdownHeight:300,styles:h,...a})})},Fee=f.memo(Bee),Hee=cs(ab,(e,t)=>({value:t,label:e})).sort((e,t)=>e.label.localeCompare(t.label));function Wee(){const e=te(),{t}=ye(),n=B(o=>o.ui.favoriteSchedulers),r=f.useCallback(o=>{e(S7(o))},[e]);return i.jsx(Fee,{label:t("settings.favoriteSchedulers"),value:n,data:Hee,onChange:r,clearable:!0,searchable:!0,maxSelectedValues:99,placeholder:t("settings.favoriteSchedulersPlaceholder")})}const Vee={ar:Bn.t("common.langArabic",{lng:"ar"}),nl:Bn.t("common.langDutch",{lng:"nl"}),en:Bn.t("common.langEnglish",{lng:"en"}),fr:Bn.t("common.langFrench",{lng:"fr"}),de:Bn.t("common.langGerman",{lng:"de"}),he:Bn.t("common.langHebrew",{lng:"he"}),it:Bn.t("common.langItalian",{lng:"it"}),ja:Bn.t("common.langJapanese",{lng:"ja"}),ko:Bn.t("common.langKorean",{lng:"ko"}),pl:Bn.t("common.langPolish",{lng:"pl"}),pt_BR:Bn.t("common.langBrPortuguese",{lng:"pt_BR"}),pt:Bn.t("common.langPortuguese",{lng:"pt"}),ru:Bn.t("common.langRussian",{lng:"ru"}),zh_CN:Bn.t("common.langSimplifiedChinese",{lng:"zh_CN"}),es:Bn.t("common.langSpanish",{lng:"es"}),uk:Bn.t("common.langUkranian",{lng:"ua"})},Uee=be([lt],({system:e,ui:t,generation:n})=>{const{shouldConfirmOnDelete:r,enableImageDebugging:o,consoleLogLevel:s,shouldLogToConsole:a,shouldAntialiasProgressImage:c,isNodesEnabled:d,shouldUseNSFWChecker:p,shouldUseWatermarker:h}=e,{shouldUseCanvasBetaLayout:m,shouldUseSliders:v,shouldShowProgressInViewer:b}=t,{shouldShowAdvancedOptions:w}=n;return{shouldConfirmOnDelete:r,enableImageDebugging:o,shouldUseCanvasBetaLayout:m,shouldUseSliders:v,shouldShowProgressInViewer:b,consoleLogLevel:s,shouldLogToConsole:a,shouldAntialiasProgressImage:c,shouldShowAdvancedOptions:w,isNodesEnabled:d,shouldUseNSFWChecker:p,shouldUseWatermarker:h}},{memoizeOptions:{resultEqualityCheck:Zt}}),Gee=({children:e,config:t})=>{const n=te(),{t:r}=ye(),o=(t==null?void 0:t.shouldShowBetaLayout)??!0,s=(t==null?void 0:t.shouldShowDeveloperSettings)??!0,a=(t==null?void 0:t.shouldShowResetWebUiText)??!0,c=(t==null?void 0:t.shouldShowAdvancedOptionsSettings)??!0,d=(t==null?void 0:t.shouldShowClearIntermediates)??!0,p=(t==null?void 0:t.shouldShowNodesToggle)??!0,h=(t==null?void 0:t.shouldShowLocalizationToggle)??!0;f.useEffect(()=>{s||n(rw(!1))},[s,n]);const{isNSFWCheckerAvailable:m,isWatermarkerAvailable:v}=Z_(void 0,{selectFromResult:({data:X})=>({isNSFWCheckerAvailable:(X==null?void 0:X.nsfw_methods.includes("nsfw_checker"))??!1,isWatermarkerAvailable:(X==null?void 0:X.watermarking_methods.includes("invisible_watermark"))??!1})}),{isOpen:b,onOpen:w,onClose:y}=ss(),{isOpen:S,onOpen:k,onClose:_}=ss(),{shouldConfirmOnDelete:P,enableImageDebugging:I,shouldUseCanvasBetaLayout:E,shouldUseSliders:O,shouldShowProgressInViewer:R,consoleLogLevel:M,shouldLogToConsole:D,shouldAntialiasProgressImage:A,shouldShowAdvancedOptions:L,isNodesEnabled:Q,shouldUseNSFWChecker:F,shouldUseWatermarker:V}=B(Uee),q=f.useCallback(()=>{Object.keys(window.localStorage).forEach(X=>{(C7.includes(X)||X.startsWith(k7))&&localStorage.removeItem(X)}),y(),k()},[y,k]),G=f.useCallback(X=>{n(_7(X))},[n]),T=f.useCallback(X=>{n(P7(X))},[n]),z=f.useCallback(X=>{n(rw(X.target.checked))},[n]),$=f.useCallback(X=>{n(j7(X.target.checked))},[n]),{colorMode:Y,toggleColorMode:ae}=Ds(),fe=ir("localization").isFeatureEnabled,ie=B(rP);return i.jsxs(i.Fragment,{children:[f.cloneElement(e,{onClick:w}),i.jsxs(id,{isOpen:b,onClose:y,size:"2xl",isCentered:!0,children:[i.jsx(Aa,{}),i.jsxs(ld,{children:[i.jsx(Da,{bg:"none",children:r("common.settingsLabel")}),i.jsx(qb,{}),i.jsx(Ta,{children:i.jsxs(W,{sx:{gap:4,flexDirection:"column"},children:[i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.general")}),i.jsx(Yo,{label:r("settings.confirmOnDelete"),isChecked:P,onChange:X=>n(z_(X.target.checked))}),c&&i.jsx(Yo,{label:r("settings.showAdvancedOptions"),isChecked:L,onChange:X=>n(I7(X.target.checked))})]}),i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.generation")}),i.jsx(Wee,{}),i.jsx(Yo,{label:"Enable NSFW Checker",isDisabled:!m,isChecked:F,onChange:X=>n(E7(X.target.checked))}),i.jsx(Yo,{label:"Enable Invisible Watermark",isDisabled:!v,isChecked:V,onChange:X=>n(O7(X.target.checked))})]}),i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.ui")}),i.jsx(Yo,{label:r("common.darkMode"),isChecked:Y==="dark",onChange:ae}),i.jsx(Yo,{label:r("settings.useSlidersForAll"),isChecked:O,onChange:X=>n(R7(X.target.checked))}),i.jsx(Yo,{label:r("settings.showProgressInViewer"),isChecked:R,onChange:X=>n(e5(X.target.checked))}),i.jsx(Yo,{label:r("settings.antialiasProgressImages"),isChecked:A,onChange:X=>n(M7(X.target.checked))}),o&&i.jsx(Yo,{label:r("settings.alternateCanvasLayout"),useBadge:!0,badgeLabel:r("settings.beta"),isChecked:E,onChange:X=>n(D7(X.target.checked))}),p&&i.jsx(Yo,{label:r("settings.enableNodesEditor"),useBadge:!0,isChecked:Q,onChange:$}),h&&i.jsx(Xr,{disabled:!fe,label:r("common.languagePickerLabel"),value:ie,data:Object.entries(Vee).map(([X,K])=>({value:X,label:K})),onChange:T})]}),s&&i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.developer")}),i.jsx(Yo,{label:r("settings.shouldLogToConsole"),isChecked:D,onChange:z}),i.jsx(Xr,{disabled:!D,label:r("settings.consoleLogLevel"),onChange:G,value:M,data:A7.concat()}),i.jsx(Yo,{label:r("settings.enableImageDebugging"),isChecked:I,onChange:X=>n(T7(X.target.checked))})]}),d&&i.jsx(Lee,{}),i.jsxs(Xl,{children:[i.jsx(Ys,{size:"sm",children:r("settings.resetWebUI")}),i.jsx(Yt,{colorScheme:"error",onClick:q,children:r("settings.resetWebUI")}),a&&i.jsxs(i.Fragment,{children:[i.jsx(Qe,{variant:"subtext",children:r("settings.resetWebUIDesc1")}),i.jsx(Qe,{variant:"subtext",children:r("settings.resetWebUIDesc2")})]})]})]})}),i.jsx(Ma,{children:i.jsx(Yt,{onClick:y,children:r("common.close")})})]})]}),i.jsxs(id,{closeOnOverlayClick:!1,isOpen:S,onClose:_,isCentered:!0,children:[i.jsx(Aa,{backdropFilter:"blur(40px)"}),i.jsxs(ld,{children:[i.jsx(Da,{}),i.jsx(Ta,{children:i.jsx(W,{justifyContent:"center",children:i.jsx(Qe,{fontSize:"lg",children:i.jsx(Qe,{children:r("settings.resetComplete")})})})}),i.jsx(Ma,{})]})]})]})},qee=be(vo,e=>{const{isConnected:t,isProcessing:n,statusTranslationKey:r,currentIteration:o,totalIterations:s,currentStatusHasSteps:a}=e;return{isConnected:t,isProcessing:n,currentIteration:o,totalIterations:s,statusTranslationKey:r,currentStatusHasSteps:a}},Je),jk={ok:"green.400",working:"yellow.400",error:"red.400"},Ik={ok:"green.600",working:"yellow.500",error:"red.500"},Kee=()=>{const{isConnected:e,isProcessing:t,currentIteration:n,totalIterations:r,statusTranslationKey:o}=B(qee),{t:s}=ye(),a=f.useRef(null),c=f.useMemo(()=>t?"working":e?"ok":"error",[t,e]),d=f.useMemo(()=>{if(n&&r)return` (${n}/${r})`},[n,r]),p=mO(a);return i.jsxs(W,{ref:a,h:"full",px:2,alignItems:"center",gap:5,children:[i.jsx(mo,{children:p&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15}},exit:{opacity:0,transition:{delay:.8}},children:i.jsxs(Qe,{sx:{fontSize:"sm",fontWeight:"600",pb:"1px",userSelect:"none",color:Ik[c],_dark:{color:jk[c]}},children:[s(o),d]})},"statusText")}),i.jsx(fo,{as:TY,sx:{boxSize:"0.5rem",color:Ik[c],_dark:{color:jk[c]}}})]})},Xee=()=>{const{t:e}=ye(),t=ir("bugLink").isFeatureEnabled,n=ir("discordLink").isFeatureEnabled,r=ir("githubLink").isFeatureEnabled,o="http://github.com/invoke-ai/InvokeAI",s="https://discord.gg/ZmtBAhwWhy";return i.jsxs(W,{sx:{gap:2,alignItems:"center"},children:[i.jsx(gO,{}),i.jsx(ml,{}),i.jsx(Kee,{}),i.jsxs(Dd,{children:[i.jsx(Ad,{as:ze,variant:"link","aria-label":e("accessibility.menu"),icon:i.jsx(MY,{}),sx:{boxSize:8}}),i.jsxs(il,{motionProps:ed,children:[i.jsxs(ad,{title:e("common.communityLabel"),children:[r&&i.jsx(jr,{as:"a",href:o,target:"_blank",icon:i.jsx(_Y,{}),children:e("common.githubLabel")}),t&&i.jsx(jr,{as:"a",href:`${o}/issues`,target:"_blank",icon:i.jsx(DY,{}),children:e("common.reportBugLabel")}),n&&i.jsx(jr,{as:"a",href:s,target:"_blank",icon:i.jsx(kY,{}),children:e("common.discordLabel")})]}),i.jsxs(ad,{title:e("common.settingsLabel"),children:[i.jsx(Oee,{children:i.jsx(jr,{as:"button",icon:i.jsx(KY,{}),children:e("common.hotkeysLabel")})}),i.jsx(Gee,{children:i.jsx(jr,{as:"button",icon:i.jsx(NY,{}),children:e("common.settingsLabel")})})]})]})]})]})},Yee=f.memo(Xee);function Qee(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M16.5 9c-.42 0-.83.04-1.24.11L1.01 3 1 10l9 2-9 2 .01 7 8.07-3.46C9.59 21.19 12.71 24 16.5 24c4.14 0 7.5-3.36 7.5-7.5S20.64 9 16.5 9zm0 13c-3.03 0-5.5-2.47-5.5-5.5s2.47-5.5 5.5-5.5 5.5 2.47 5.5 5.5-2.47 5.5-5.5 5.5z"}},{tag:"path",attr:{d:"M18.27 14.03l-1.77 1.76-1.77-1.76-.7.7 1.76 1.77-1.76 1.77.7.7 1.77-1.76 1.77 1.76.7-.7-1.76-1.77 1.76-1.77z"}}]})(e)}function Jee(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M17 16l-4-4V8.82C14.16 8.4 15 7.3 15 6c0-1.66-1.34-3-3-3S9 4.34 9 6c0 1.3.84 2.4 2 2.82V12l-4 4H3v5h5v-3.05l4-4.2 4 4.2V21h5v-5h-4z"}}]})(e)}function Zee(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 20H4v-4h4v4zm0-6H4v-4h4v4zm0-6H4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4zm6 12h-4v-4h4v4zm0-6h-4v-4h4v4zm0-6h-4V4h4v4z"}}]})(e)}function ete(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-11-4l2.03 2.71L16 11l4 5H8l3-4zM2 6v14c0 1.1.9 2 2 2h14v-2H4V6H2z"}}]})(e)}function tte(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}}]})(e)}function vO(e){return nt({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"}},{tag:"path",attr:{d:"M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3z"}}]})(e)}const nte=be(vo,e=>{const{isUploading:t}=e;let n="";return t&&(n="Uploading..."),{tooltip:n,shouldShow:t}}),rte=()=>{const{shouldShow:e,tooltip:t}=B(nte);return e?i.jsx(W,{sx:{alignItems:"center",justifyContent:"center",color:"base.600"},children:i.jsx(vn,{label:t,placement:"right",hasArrow:!0,children:i.jsx(hl,{})})}):null},ote=f.memo(rte),bO=e=>e.config,{createElement:Rc,createContext:ste,forwardRef:yO,useCallback:si,useContext:xO,useEffect:Ea,useImperativeHandle:wO,useLayoutEffect:ate,useMemo:ite,useRef:es,useState:Xu}=Q1,Ek=Q1["useId".toString()],lte=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",sm=lte?ate:()=>{},cte=typeof Ek=="function"?Ek:()=>null;let ute=0;function Xy(e=null){const t=cte(),n=es(e||t||null);return n.current===null&&(n.current=""+ute++),n.current}const og=ste(null);og.displayName="PanelGroupContext";function SO({children:e=null,className:t="",collapsedSize:n=0,collapsible:r=!1,defaultSize:o=null,forwardedRef:s,id:a=null,maxSize:c=100,minSize:d=10,onCollapse:p=null,onResize:h=null,order:m=null,style:v={},tagName:b="div"}){const w=xO(og);if(w===null)throw Error("Panel components must be rendered within a PanelGroup container");const y=Xy(a),{collapsePanel:S,expandPanel:k,getPanelStyle:_,registerPanel:P,resizePanel:I,unregisterPanel:E}=w,O=es({onCollapse:p,onResize:h});if(Ea(()=>{O.current.onCollapse=p,O.current.onResize=h}),d<0||d>100)throw Error(`Panel minSize must be between 0 and 100, but was ${d}`);if(c<0||c>100)throw Error(`Panel maxSize must be between 0 and 100, but was ${c}`);if(o!==null){if(o<0||o>100)throw Error(`Panel defaultSize must be between 0 and 100, but was ${o}`);d>o&&!r&&(console.error(`Panel minSize ${d} cannot be greater than defaultSize ${o}`),o=d)}const R=_(y,o),M=es({size:Ok(R)}),D=es({callbacksRef:O,collapsedSize:n,collapsible:r,defaultSize:o,id:y,maxSize:c,minSize:d,order:m});return sm(()=>{M.current.size=Ok(R),D.current.callbacksRef=O,D.current.collapsedSize=n,D.current.collapsible=r,D.current.defaultSize=o,D.current.id=y,D.current.maxSize=c,D.current.minSize=d,D.current.order=m}),sm(()=>(P(y,D),()=>{E(y)}),[m,y,P,E]),wO(s,()=>({collapse:()=>S(y),expand:()=>k(y),getCollapsed(){return M.current.size===0},getSize(){return M.current.size},resize:A=>I(y,A)}),[S,k,y,I]),Rc(b,{children:e,className:t,"data-panel":"","data-panel-collapsible":r||void 0,"data-panel-id":y,"data-panel-size":parseFloat(""+R.flexGrow).toFixed(1),id:`data-panel-id-${y}`,style:{...R,...v}})}const md=yO((e,t)=>Rc(SO,{...e,forwardedRef:t}));SO.displayName="Panel";md.displayName="forwardRef(Panel)";function Ok(e){const{flexGrow:t}=e;return typeof t=="string"?parseFloat(t):t}const pl=10;function Tu(e,t,n,r,o,s,a,c){const{sizes:d}=c||{},p=d||s;if(o===0)return p;const h=Jo(t),m=p.concat();let v=0;{const y=o<0?r:n,S=h.findIndex(I=>I.current.id===y),k=h[S],_=p[S],P=Rk(k,Math.abs(o),_,e);if(_===P)return p;P===0&&_>0&&a.set(y,_),o=o<0?_-P:P-_}let b=o<0?n:r,w=h.findIndex(y=>y.current.id===b);for(;;){const y=h[w],S=p[w],k=Math.abs(o)-Math.abs(v),_=Rk(y,0-k,S,e);if(S!==_&&(_===0&&S>0&&a.set(y.current.id,S),v+=S-_,m[w]=_,v.toPrecision(pl).localeCompare(Math.abs(o).toPrecision(pl),void 0,{numeric:!0})>=0))break;if(o<0){if(--w<0)break}else if(++w>=h.length)break}return v===0?p:(b=o<0?r:n,w=h.findIndex(y=>y.current.id===b),m[w]=p[w]+v,m)}function Gl(e,t,n){t.forEach((r,o)=>{const{callbacksRef:s,collapsedSize:a,collapsible:c,id:d}=e[o].current,p=n[d];if(p!==r){n[d]=r;const{onCollapse:h,onResize:m}=s.current;m&&m(r,p),c&&h&&((p==null||p===a)&&r!==a?h(!1):p!==a&&r===a&&h(!0))}})}function pv(e,t){if(t.length<2)return[null,null];const n=t.findIndex(a=>a.current.id===e);if(n<0)return[null,null];const r=n===t.length-1,o=r?t[n-1].current.id:e,s=r?e:t[n+1].current.id;return[o,s]}function CO(e,t,n){if(e.size===1)return"100";const o=Jo(e).findIndex(a=>a.current.id===t),s=n[o];return s==null?"0":s.toPrecision(pl)}function dte(e){const t=document.querySelector(`[data-panel-id="${e}"]`);return t||null}function Yy(e){const t=document.querySelector(`[data-panel-group-id="${e}"]`);return t||null}function sg(e){const t=document.querySelector(`[data-panel-resize-handle-id="${e}"]`);return t||null}function fte(e){return kO().findIndex(r=>r.getAttribute("data-panel-resize-handle-id")===e)??null}function kO(){return Array.from(document.querySelectorAll("[data-panel-resize-handle-id]"))}function _O(e){return Array.from(document.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`))}function Qy(e,t,n){var d,p,h,m;const r=sg(t),o=_O(e),s=r?o.indexOf(r):-1,a=((p=(d=n[s])==null?void 0:d.current)==null?void 0:p.id)??null,c=((m=(h=n[s+1])==null?void 0:h.current)==null?void 0:m.id)??null;return[a,c]}function Jo(e){return Array.from(e.values()).sort((t,n)=>{const r=t.current.order,o=n.current.order;return r==null&&o==null?0:r==null?-1:o==null?1:r-o})}function Rk(e,t,n,r){var h;const o=n+t,{collapsedSize:s,collapsible:a,maxSize:c,minSize:d}=e.current;if(a){if(n>s){if(o<=d/2+s)return s}else if(!((h=r==null?void 0:r.type)==null?void 0:h.startsWith("key"))&&o{const{direction:a,panels:c}=e.current,d=Yy(t),{height:p,width:h}=d.getBoundingClientRect(),v=_O(t).map(b=>{const w=b.getAttribute("data-panel-resize-handle-id"),y=Jo(c),[S,k]=Qy(t,w,y);if(S==null||k==null)return()=>{};let _=0,P=100,I=0,E=0;y.forEach(L=>{L.current.id===S?(P=L.current.maxSize,_=L.current.minSize):(I+=L.current.minSize,E+=L.current.maxSize)});const O=Math.min(P,100-I),R=Math.max(_,(y.length-1)*100-E),M=CO(c,S,o);b.setAttribute("aria-valuemax",""+Math.round(O)),b.setAttribute("aria-valuemin",""+Math.round(R)),b.setAttribute("aria-valuenow",""+Math.round(parseInt(M)));const D=L=>{if(!L.defaultPrevented)switch(L.key){case"Enter":{L.preventDefault();const Q=y.findIndex(F=>F.current.id===S);if(Q>=0){const F=y[Q],V=o[Q];if(V!=null){let q=0;V.toPrecision(pl)<=F.current.minSize.toPrecision(pl)?q=a==="horizontal"?h:p:q=-(a==="horizontal"?h:p);const G=Tu(L,c,S,k,q,o,s.current,null);o!==G&&r(G)}}break}}};b.addEventListener("keydown",D);const A=dte(S);return A!=null&&b.setAttribute("aria-controls",A.id),()=>{b.removeAttribute("aria-valuemax"),b.removeAttribute("aria-valuemin"),b.removeAttribute("aria-valuenow"),b.removeEventListener("keydown",D),A!=null&&b.removeAttribute("aria-controls")}});return()=>{v.forEach(b=>b())}},[e,t,n,s,r,o])}function hte({disabled:e,handleId:t,resizeHandler:n}){Ea(()=>{if(e||n==null)return;const r=sg(t);if(r==null)return;const o=s=>{if(!s.defaultPrevented)switch(s.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{s.preventDefault(),n(s);break}case"F6":{s.preventDefault();const a=kO(),c=fte(t);PO(c!==null);const d=s.shiftKey?c>0?c-1:a.length-1:c+1{r.removeEventListener("keydown",o)}},[e,t,n])}function mte(e,t){if(e.length!==t.length)return!1;for(let n=0;nR.current.id===I),O=r[E];if(O.current.collapsible){const R=h[E];(R===0||R.toPrecision(pl)===O.current.minSize.toPrecision(pl))&&(k=k<0?-O.current.minSize*w:O.current.minSize*w)}return k}else return jO(e,n,o,c,d)}function vte(e){return e.type==="keydown"}function T1(e){return e.type.startsWith("mouse")}function N1(e){return e.type.startsWith("touch")}let $1=null,Ki=null;function IO(e){switch(e){case"horizontal":return"ew-resize";case"horizontal-max":return"w-resize";case"horizontal-min":return"e-resize";case"vertical":return"ns-resize";case"vertical-max":return"n-resize";case"vertical-min":return"s-resize"}}function bte(){Ki!==null&&(document.head.removeChild(Ki),$1=null,Ki=null)}function hv(e){if($1===e)return;$1=e;const t=IO(e);Ki===null&&(Ki=document.createElement("style"),document.head.appendChild(Ki)),Ki.innerHTML=`*{cursor: ${t}!important;}`}function yte(e,t=10){let n=null;return(...o)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...o)},t)}}function EO(e){return e.map(t=>{const{minSize:n,order:r}=t.current;return r?`${r}:${n}`:`${n}`}).sort((t,n)=>t.localeCompare(n)).join(",")}function OO(e,t){try{const n=t.getItem(`PanelGroup:sizes:${e}`);if(n){const r=JSON.parse(n);if(typeof r=="object"&&r!=null)return r}}catch{}return null}function xte(e,t,n){const r=OO(e,n);if(r){const o=EO(t);return r[o]??null}return null}function wte(e,t,n,r){const o=EO(t),s=OO(e,r)||{};s[o]=n;try{r.setItem(`PanelGroup:sizes:${e}`,JSON.stringify(s))}catch(a){console.error(a)}}const mv={};function Mk(e){try{if(typeof localStorage<"u")e.getItem=t=>localStorage.getItem(t),e.setItem=(t,n)=>{localStorage.setItem(t,n)};else throw new Error("localStorage not supported in this environment")}catch(t){console.error(t),e.getItem=()=>null,e.setItem=()=>{}}}const Nu={getItem:e=>(Mk(Nu),Nu.getItem(e)),setItem:(e,t)=>{Mk(Nu),Nu.setItem(e,t)}};function RO({autoSaveId:e,children:t=null,className:n="",direction:r,disablePointerEventsDuringResize:o=!1,forwardedRef:s,id:a=null,onLayout:c,storage:d=Nu,style:p={},tagName:h="div"}){const m=Xy(a),[v,b]=Xu(null),[w,y]=Xu(new Map),S=es(null),k=es({onLayout:c});Ea(()=>{k.current.onLayout=c});const _=es({}),[P,I]=Xu([]),E=es(new Map),O=es(0),R=es({direction:r,panels:w,sizes:P});wO(s,()=>({getLayout:()=>{const{sizes:T}=R.current;return T},setLayout:T=>{const z=T.reduce((fe,ie)=>fe+ie,0);PO(z===100,"Panel sizes must add up to 100%");const{panels:$}=R.current,Y=_.current,ae=Jo($);I(T),Gl(ae,T,Y)}}),[]),sm(()=>{R.current.direction=r,R.current.panels=w,R.current.sizes=P}),pte({committedValuesRef:R,groupId:m,panels:w,setSizes:I,sizes:P,panelSizeBeforeCollapse:E}),Ea(()=>{const{onLayout:T}=k.current,{panels:z,sizes:$}=R.current;if($.length>0){T&&T($);const Y=_.current,ae=Jo(z);Gl(ae,$,Y)}},[P]),sm(()=>{if(R.current.sizes.length===w.size)return;let z=null;if(e){const $=Jo(w);z=xte(e,$,d)}if(z!=null)I(z);else{const $=Jo(w);let Y=0,ae=0,fe=0;if($.forEach(ie=>{fe+=ie.current.minSize,ie.current.defaultSize===null?Y++:ae+=ie.current.defaultSize}),ae>100)throw new Error("Default panel sizes cannot exceed 100%");if($.length>1&&Y===0&&ae!==100)throw new Error("Invalid default sizes specified for panels");if(fe>100)throw new Error("Minimum panel sizes cannot exceed 100%");I($.map(ie=>ie.current.defaultSize===null?(100-ae)/Y:ie.current.defaultSize))}},[e,w,d]),Ea(()=>{if(e){if(P.length===0||P.length!==w.size)return;const T=Jo(w);mv[e]||(mv[e]=yte(wte,100)),mv[e](e,T,P,d)}},[e,w,P,d]);const M=si((T,z)=>{const{panels:$}=R.current;return $.size===0?{flexBasis:0,flexGrow:z??void 0,flexShrink:1,overflow:"hidden"}:{flexBasis:0,flexGrow:CO($,T,P),flexShrink:1,overflow:"hidden",pointerEvents:o&&v!==null?"none":void 0}},[v,o,P]),D=si((T,z)=>{y($=>{if($.has(T))return $;const Y=new Map($);return Y.set(T,z),Y})},[]),A=si(T=>$=>{$.preventDefault();const{direction:Y,panels:ae,sizes:fe}=R.current,ie=Jo(ae),[X,K]=Qy(m,T,ie);if(X==null||K==null)return;let U=gte($,m,T,ie,Y,fe,S.current);if(U===0)return;const re=Yy(m).getBoundingClientRect(),oe=Y==="horizontal";document.dir==="rtl"&&oe&&(U=-U);const pe=oe?re.width:re.height,le=U/pe*100,ge=Tu($,ae,X,K,le,fe,E.current,S.current),ke=!mte(fe,ge);if((T1($)||N1($))&&O.current!=le&&hv(ke?oe?"horizontal":"vertical":oe?U<0?"horizontal-min":"horizontal-max":U<0?"vertical-min":"vertical-max"),ke){const xe=_.current;I(ge),Gl(ie,ge,xe)}O.current=le},[m]),L=si(T=>{y(z=>{if(!z.has(T))return z;const $=new Map(z);return $.delete(T),$})},[]),Q=si(T=>{const{panels:z,sizes:$}=R.current,Y=z.get(T);if(Y==null)return;const{collapsedSize:ae,collapsible:fe}=Y.current;if(!fe)return;const ie=Jo(z),X=ie.indexOf(Y);if(X<0)return;const K=$[X];if(K===ae)return;E.current.set(T,K);const[U,se]=pv(T,ie);if(U==null||se==null)return;const oe=X===ie.length-1?K:ae-K,pe=Tu(null,z,U,se,oe,$,E.current,null);if($!==pe){const le=_.current;I(pe),Gl(ie,pe,le)}},[]),F=si(T=>{const{panels:z,sizes:$}=R.current,Y=z.get(T);if(Y==null)return;const{collapsedSize:ae,minSize:fe}=Y.current,ie=E.current.get(T)||fe;if(!ie)return;const X=Jo(z),K=X.indexOf(Y);if(K<0||$[K]!==ae)return;const[se,re]=pv(T,X);if(se==null||re==null)return;const pe=K===X.length-1?ae-ie:ie,le=Tu(null,z,se,re,pe,$,E.current,null);if($!==le){const ge=_.current;I(le),Gl(X,le,ge)}},[]),V=si((T,z)=>{const{panels:$,sizes:Y}=R.current,ae=$.get(T);if(ae==null)return;const{collapsedSize:fe,collapsible:ie,maxSize:X,minSize:K}=ae.current,U=Jo($),se=U.indexOf(ae);if(se<0)return;const re=Y[se];if(re===z)return;ie&&z===fe||(z=Math.min(X,Math.max(K,z)));const[oe,pe]=pv(T,U);if(oe==null||pe==null)return;const ge=se===U.length-1?re-z:z-re,ke=Tu(null,$,oe,pe,ge,Y,E.current,null);if(Y!==ke){const xe=_.current;I(ke),Gl(U,ke,xe)}},[]),q=ite(()=>({activeHandleId:v,collapsePanel:Q,direction:r,expandPanel:F,getPanelStyle:M,groupId:m,registerPanel:D,registerResizeHandle:A,resizePanel:V,startDragging:(T,z)=>{if(b(T),T1(z)||N1(z)){const $=sg(T);S.current={dragHandleRect:$.getBoundingClientRect(),dragOffset:jO(z,T,r),sizes:R.current.sizes}}},stopDragging:()=>{bte(),b(null),S.current=null},unregisterPanel:L}),[v,Q,r,F,M,m,D,A,V,L]),G={display:"flex",flexDirection:r==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return Rc(og.Provider,{children:Rc(h,{children:t,className:n,"data-panel-group":"","data-panel-group-direction":r,"data-panel-group-id":m,style:{...G,...p}}),value:q})}const Jy=yO((e,t)=>Rc(RO,{...e,forwardedRef:t}));RO.displayName="PanelGroup";Jy.displayName="forwardRef(PanelGroup)";function L1({children:e=null,className:t="",disabled:n=!1,id:r=null,onDragging:o,style:s={},tagName:a="div"}){const c=es(null),d=es({onDragging:o});Ea(()=>{d.current.onDragging=o});const p=xO(og);if(p===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{activeHandleId:h,direction:m,groupId:v,registerResizeHandle:b,startDragging:w,stopDragging:y}=p,S=Xy(r),k=h===S,[_,P]=Xu(!1),[I,E]=Xu(null),O=si(()=>{c.current.blur(),y();const{onDragging:D}=d.current;D&&D(!1)},[y]);Ea(()=>{if(n)E(null);else{const M=b(S);E(()=>M)}},[n,S,b]),Ea(()=>{if(n||I==null||!k)return;const M=Q=>{I(Q)},D=Q=>{I(Q)},L=c.current.ownerDocument;return L.body.addEventListener("contextmenu",O),L.body.addEventListener("mousemove",M),L.body.addEventListener("touchmove",M),L.body.addEventListener("mouseleave",D),window.addEventListener("mouseup",O),window.addEventListener("touchend",O),()=>{L.body.removeEventListener("contextmenu",O),L.body.removeEventListener("mousemove",M),L.body.removeEventListener("touchmove",M),L.body.removeEventListener("mouseleave",D),window.removeEventListener("mouseup",O),window.removeEventListener("touchend",O)}},[m,n,k,I,O]),hte({disabled:n,handleId:S,resizeHandler:I});const R={cursor:IO(m),touchAction:"none",userSelect:"none"};return Rc(a,{children:e,className:t,"data-resize-handle-active":k?"pointer":_?"keyboard":void 0,"data-panel-group-direction":m,"data-panel-group-id":v,"data-panel-resize-handle-enabled":!n,"data-panel-resize-handle-id":S,onBlur:()=>P(!1),onFocus:()=>P(!0),onMouseDown:M=>{w(S,M.nativeEvent);const{onDragging:D}=d.current;D&&D(!0)},onMouseUp:O,onTouchCancel:O,onTouchEnd:O,onTouchStart:M=>{w(S,M.nativeEvent);const{onDragging:D}=d.current;D&&D(!0)},ref:c,role:"separator",style:{...R,...s},tabIndex:0})}L1.displayName="PanelResizeHandle";const Ste=(e,t,n,r="horizontal")=>{const o=f.useRef(null),[s,a]=f.useState(t),c=f.useCallback(()=>{var p,h;const d=(p=o.current)==null?void 0:p.getSize();d!==void 0&&d{const d=document.querySelector(`[data-panel-group-id="${n}"]`),p=document.querySelectorAll("[data-panel-resize-handle-id]");if(!d)return;const h=new ResizeObserver(()=>{let m=r==="horizontal"?d.getBoundingClientRect().width:d.getBoundingClientRect().height;p.forEach(v=>{m-=r==="horizontal"?v.getBoundingClientRect().width:v.getBoundingClientRect().height}),a(e/m*100)});return h.observe(d),p.forEach(m=>{h.observe(m)}),window.addEventListener("resize",c),()=>{h.disconnect(),window.removeEventListener("resize",c)}},[n,c,s,e,r]),{ref:o,minSizePct:s}},Cte=be([lt],e=>{const{initialImage:t}=e.generation;return{initialImage:t,isResetButtonDisabled:!t}},Je),kte=()=>{const{initialImage:e}=B(Cte),{currentData:t}=Is((e==null?void 0:e.imageName)??ro.skipToken),n=f.useMemo(()=>{if(t)return{id:"initial-image",payloadType:"IMAGE_DTO",payload:{imageDTO:t}}},[t]),r=f.useMemo(()=>({id:"initial-image",actionType:"SET_INITIAL_IMAGE"}),[]);return i.jsx(fl,{imageDTO:t,droppableData:r,draggableData:n,isUploadDisabled:!0,fitContainer:!0,dropLabel:"Set as Initial Image",noContentFallback:i.jsx(tl,{label:"No initial image selected"})})},_te=be([lt],e=>{const{initialImage:t}=e.generation;return{isResetButtonDisabled:!t}},Je),Pte={type:"SET_INITIAL_IMAGE"},jte=()=>{const{isResetButtonDisabled:e}=B(_te),t=te(),{getUploadButtonProps:n,getUploadInputProps:r}=rg({postUploadAction:Pte}),o=f.useCallback(()=>{t(N7())},[t]);return i.jsxs(W,{layerStyle:"first",sx:{position:"relative",flexDirection:"column",height:"full",width:"full",alignItems:"center",justifyContent:"center",borderRadius:"base",p:4,gap:4},children:[i.jsxs(W,{sx:{w:"full",flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},children:[i.jsx(Qe,{sx:{fontWeight:600,userSelect:"none",color:"base.700",_dark:{color:"base.200"}},children:"Initial Image"}),i.jsx(ml,{}),i.jsx(ze,{tooltip:"Upload Initial Image","aria-label":"Upload Initial Image",icon:i.jsx(Vd,{}),...n()}),i.jsx(ze,{tooltip:"Reset Initial Image","aria-label":"Reset Initial Image",icon:i.jsx(Sy,{}),onClick:o,isDisabled:e})]}),i.jsx(kte,{}),i.jsx("input",{...r()})]})},Ite=e=>{const{label:t,activeLabel:n,children:r,defaultIsOpen:o=!1}=e,{isOpen:s,onToggle:a}=ss({defaultIsOpen:o}),{colorMode:c}=Ds();return i.jsxs(Re,{children:[i.jsxs(W,{onClick:a,sx:{alignItems:"center",p:2,px:4,gap:2,borderTopRadius:"base",borderBottomRadius:s?0:"base",bg:s?Fe("base.200","base.750")(c):Fe("base.150","base.800")(c),color:Fe("base.900","base.100")(c),_hover:{bg:s?Fe("base.250","base.700")(c):Fe("base.200","base.750")(c)},fontSize:"sm",fontWeight:600,cursor:"pointer",transitionProperty:"common",transitionDuration:"normal",userSelect:"none"},children:[t,i.jsx(mo,{children:n&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},children:i.jsx(Qe,{sx:{color:"accent.500",_dark:{color:"accent.300"}},children:n})},"statusText")}),i.jsx(ml,{}),i.jsx(zy,{sx:{w:"1rem",h:"1rem",transform:s?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal"}})]}),i.jsx(bm,{in:s,animateOpacity:!0,style:{overflow:"unset"},children:i.jsx(Re,{sx:{p:4,borderBottomRadius:"base",bg:"base.100",_dark:{bg:"base.800"}},children:r})})]})},Mo=f.memo(Ite),Ete=be(lt,e=>{const{combinatorial:t,isEnabled:n}=e.dynamicPrompts;return{combinatorial:t,isDisabled:!n}},Je),Ote=()=>{const{combinatorial:e,isDisabled:t}=B(Ete),n=te(),r=f.useCallback(()=>{n($7())},[n]);return i.jsx(yr,{isDisabled:t,label:"Combinatorial Generation",isChecked:e,onChange:r})},Rte=be(lt,e=>{const{isEnabled:t}=e.dynamicPrompts;return{isEnabled:t}},Je),Mte=()=>{const e=te(),{isEnabled:t}=B(Rte),n=f.useCallback(()=>{e(L7())},[e]);return i.jsx(yr,{label:"Enable Dynamic Prompts",isChecked:t,onChange:n})},Dte=be(lt,e=>{const{maxPrompts:t,combinatorial:n,isEnabled:r}=e.dynamicPrompts,{min:o,sliderMax:s,inputMax:a}=e.config.sd.dynamicPrompts.maxPrompts;return{maxPrompts:t,min:o,sliderMax:s,inputMax:a,isDisabled:!r||!n}},Je),Ate=()=>{const{maxPrompts:e,min:t,sliderMax:n,inputMax:r,isDisabled:o}=B(Dte),s=te(),a=f.useCallback(d=>{s(z7(d))},[s]),c=f.useCallback(()=>{s(B7())},[s]);return i.jsx(_t,{label:"Max Prompts",isDisabled:o,min:t,max:n,value:e,onChange:a,sliderNumberInputProps:{max:r},withSliderMarks:!0,withInput:!0,withReset:!0,handleReset:c})},Tte=be(lt,e=>{const{isEnabled:t}=e.dynamicPrompts;return{activeLabel:t?"Enabled":void 0}},Je),Kd=()=>{const{activeLabel:e}=B(Tte);return ir("dynamicPrompting").isFeatureEnabled?i.jsx(Mo,{label:"Dynamic Prompts",activeLabel:e,children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(Mte,{}),i.jsx(Ote,{}),i.jsx(Ate,{})]})}):null},Nte=be(lt,e=>{const{shouldUseNoiseSettings:t,shouldUseCpuNoise:n}=e.generation;return{isDisabled:!t,shouldUseCpuNoise:n}},Je),$te=()=>{const e=te(),{isDisabled:t,shouldUseCpuNoise:n}=B(Nte),r=o=>e(F7(o.target.checked));return i.jsx(yr,{isDisabled:t,label:"Use CPU Noise",isChecked:n,onChange:r})},Lte=be(lt,e=>{const{shouldUseNoiseSettings:t,threshold:n}=e.generation;return{isDisabled:!t,threshold:n}},Je);function zte(){const e=te(),{threshold:t,isDisabled:n}=B(Lte),{t:r}=ye();return i.jsx(_t,{isDisabled:n,label:r("parameters.noiseThreshold"),min:0,max:20,step:.1,onChange:o=>e(ow(o)),handleReset:()=>e(ow(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const Bte=()=>{const e=te(),t=B(r=>r.generation.shouldUseNoiseSettings),n=r=>e(H7(r.target.checked));return i.jsx(yr,{label:"Enable Noise Settings",isChecked:t,onChange:n})},Fte=be(lt,e=>{const{shouldUseNoiseSettings:t,perlin:n}=e.generation;return{isDisabled:!t,perlin:n}},Je);function Hte(){const e=te(),{perlin:t,isDisabled:n}=B(Fte),{t:r}=ye();return i.jsx(_t,{isDisabled:n,label:r("parameters.perlinNoise"),min:0,max:1,step:.05,onChange:o=>e(sw(o)),handleReset:()=>e(sw(0)),value:t,withInput:!0,withReset:!0,withSliderMarks:!0})}const Wte=be(lt,e=>{const{shouldUseNoiseSettings:t}=e.generation;return{activeLabel:t?"Enabled":void 0}},Je),Vte=()=>{const{t:e}=ye(),t=ir("noise").isFeatureEnabled,n=ir("perlinNoise").isFeatureEnabled,r=ir("noiseThreshold").isFeatureEnabled,{activeLabel:o}=B(Wte);return t?i.jsx(Mo,{label:e("parameters.noiseSettings"),activeLabel:o,children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(Bte,{}),i.jsx($te,{}),n&&i.jsx(Hte,{}),r&&i.jsx(zte,{})]})}):null},ag=f.memo(Vte),Ute=be(vo,e=>({isProcessing:e.isProcessing,isConnected:e.isConnected,isCancelable:e.isCancelable,currentIteration:e.currentIteration,totalIterations:e.totalIterations,sessionId:e.sessionId,cancelType:e.cancelType,isCancelScheduled:e.isCancelScheduled}),{memoizeOptions:{resultEqualityCheck:Zt}}),Gte=e=>{const t=te(),{btnGroupWidth:n="auto",...r}=e,{isProcessing:o,isConnected:s,isCancelable:a,cancelType:c,isCancelScheduled:d,sessionId:p}=B(Ute),h=f.useCallback(()=>{if(p){if(c==="scheduled"){t(W7());return}t(V7({session_id:p}))}},[t,p,c]),{t:m}=ye(),v=f.useCallback(y=>{const S=Array.isArray(y)?y[0]:y;t(U7(S))},[t]);tt("shift+x",()=>{(s||o)&&a&&h()},[s,o,a]);const b=f.useMemo(()=>m(d?"parameters.cancel.isScheduled":c==="immediate"?"parameters.cancel.immediate":"parameters.cancel.schedule"),[m,c,d]),w=f.useMemo(()=>d?i.jsx(Yp,{}):c==="immediate"?i.jsx(tte,{}):i.jsx(Qee,{}),[c,d]);return i.jsxs(rr,{isAttached:!0,width:n,children:[i.jsx(ze,{icon:w,tooltip:b,"aria-label":b,isDisabled:!s||!o||!a,onClick:h,colorScheme:"error",id:"cancel-button",...r}),i.jsxs(Dd,{closeOnSelect:!1,children:[i.jsx(Ad,{as:ze,tooltip:m("parameters.cancel.setType"),"aria-label":m("parameters.cancel.setType"),icon:i.jsx(AJ,{w:"1em",h:"1em"}),paddingX:0,paddingY:0,colorScheme:"error",minWidth:5,...r}),i.jsx(il,{minWidth:"240px",children:i.jsxs(S6,{value:c,title:"Cancel Type",type:"radio",onChange:v,children:[i.jsx(rh,{value:"immediate",children:m("parameters.cancel.immediate")}),i.jsx(rh,{value:"scheduled",children:m("parameters.cancel.schedule")})]})})]})]})},ig=f.memo(Gte),qte=be([lt,Kn],(e,t)=>{const{generation:n,system:r}=e,{initialImage:o}=n,{isProcessing:s,isConnected:a}=r;let c=!0;const d=[];t==="img2img"&&!o&&(c=!1,d.push("No initial image selected"));const{isSuccess:p}=G7.endpoints.getMainModels.select(Qu)(e);return p||(c=!1,d.push("Models are not loaded")),s&&(c=!1,d.push("System Busy")),a||(c=!1,d.push("System Disconnected")),oo(e.controlNet.controlNets,(h,m)=>{h.model||(c=!1,d.push(`ControlNet ${m} has no model selected.`))}),{isReady:c,reasonsWhyNotReady:d}},Je),Xd=()=>{const{isReady:e}=B(qte);return e},Kte=be(vo,e=>({isProcessing:e.isProcessing,currentStep:e.currentStep,totalSteps:e.totalSteps,currentStatusHasSteps:e.currentStatusHasSteps}),{memoizeOptions:{resultEqualityCheck:Zt}}),Xte=()=>{const{t:e}=ye(),{isProcessing:t,currentStep:n,totalSteps:r,currentStatusHasSteps:o}=B(Kte),s=n?Math.round(n*100/r):0;return i.jsx(N6,{value:s,"aria-label":e("accessibility.invokeProgressBar"),isIndeterminate:t&&!o,height:"full",colorScheme:"accent"})},MO=f.memo(Xte),Dk={_disabled:{bg:"none",color:"base.600",cursor:"not-allowed",_hover:{color:"base.600",bg:"none"}}},Yte=be([lt,Kn,kr],({gallery:e},t,n)=>{const{autoAddBoardId:r}=e;return{isBusy:n,autoAddBoardId:r,activeTabName:t}},Je);function Zy(e){const{iconButton:t=!1,...n}=e,r=te(),o=Xd(),{isBusy:s,autoAddBoardId:a,activeTabName:c}=B(Yte),d=Qm(a),p=f.useCallback(()=>{r(xd()),r(wd(c))},[r,c]),{t:h}=ye();return tt(["ctrl+enter","meta+enter"],p,{enabled:()=>o,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[o,c]),i.jsx(Re,{style:{flexGrow:4},position:"relative",children:i.jsxs(Re,{style:{position:"relative"},children:[!o&&i.jsx(Re,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},...n,children:i.jsx(MO,{})}),i.jsx(vn,{placement:"top",hasArrow:!0,openDelay:500,label:a?`Auto-Adding to ${d}`:void 0,children:t?i.jsx(ze,{"aria-label":h("parameters.invoke"),type:"submit",icon:i.jsx(aE,{}),isDisabled:!o||s,onClick:p,tooltip:h("parameters.invoke"),tooltipProps:{placement:"top"},colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,...s?Dk:{}}}):i.jsx(Yt,{"aria-label":h("parameters.invoke"),type:"submit",isDisabled:!o||s,onClick:p,colorScheme:"accent",id:"invoke-button",...n,sx:{w:"full",flexGrow:1,fontWeight:700,...s?Dk:{}},children:"Invoke"})})]})})}const Yd=()=>i.jsxs(W,{gap:2,children:[i.jsx(Zy,{}),i.jsx(ig,{})]}),ex=e=>{e.stopPropagation()},Qte=Ae((e,t)=>{const n=te(),r=f.useCallback(s=>{s.shiftKey&&n(jo(!0))},[n]),o=f.useCallback(s=>{s.shiftKey||n(jo(!1))},[n]);return i.jsx(ey,{ref:t,onPaste:ex,onKeyDown:r,onKeyUp:o,...e})}),lg=f.memo(Qte),Jte=e=>{const{onClick:t}=e;return i.jsx(ze,{size:"sm","aria-label":"Add Embedding",tooltip:"Add Embedding",icon:i.jsx(yy,{}),sx:{p:2,color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}}},variant:"link",onClick:t})},cg=f.memo(Jte),tx="28rem",ug=e=>{const{onSelect:t,isOpen:n,onClose:r,children:o}=e,{data:s}=q7(),a=f.useRef(null),c=B(h=>h.generation.model),d=f.useMemo(()=>{if(!s)return[];const h=[];return oo(s.entities,(m,v)=>{if(!m)return;const b=(c==null?void 0:c.base_model)!==m.base_model;h.push({value:m.model_name,label:m.model_name,group:Qn[m.base_model],disabled:b,tooltip:b?`Incompatible base model: ${m.base_model}`:void 0})}),h.sort((m,v)=>{var b;return m.label&&v.label?(b=m.label)!=null&&b.localeCompare(v.label)?-1:1:-1}),h.sort((m,v)=>m.disabled&&!v.disabled?1:-1)},[s,c==null?void 0:c.base_model]),p=f.useCallback(h=>{h&&t(h)},[t]);return i.jsxs(Qb,{initialFocusRef:a,isOpen:n,onClose:r,placement:"bottom",openDelay:0,closeDelay:0,closeOnBlur:!0,returnFocusOnClose:!0,children:[i.jsx(Yb,{children:o}),i.jsx(Jb,{sx:{p:0,top:-1,shadow:"dark-lg",borderColor:"accent.300",borderWidth:"2px",borderStyle:"solid",_dark:{borderColor:"accent.400"}},children:i.jsx(A6,{sx:{p:0,w:`calc(${tx} - 2rem )`},children:d.length===0?i.jsx(W,{sx:{justifyContent:"center",p:2,fontSize:"sm",color:"base.500",_dark:{color:"base.700"}},children:i.jsx(Qe,{children:"No Embeddings Loaded"})}):i.jsx(ar,{inputRef:a,autoFocus:!0,placeholder:"Add Embedding",value:null,data:d,nothingFound:"No matching Embeddings",itemComponent:Oi,disabled:d.length===0,onDropdownClose:r,filter:(h,m)=>{var v;return((v=m.label)==null?void 0:v.toLowerCase().includes(h.toLowerCase().trim()))||m.value.toLowerCase().includes(h.toLowerCase().trim())},onChange:p})})})]})},DO=()=>{const e=B(m=>m.generation.negativePrompt),t=f.useRef(null),{isOpen:n,onClose:r,onOpen:o}=ss(),s=te(),{t:a}=ye(),c=f.useCallback(m=>{s(zu(m.target.value))},[s]),d=f.useCallback(m=>{m.key==="<"&&o()},[o]),p=f.useCallback(m=>{if(!t.current)return;const v=t.current.selectionStart;if(v===void 0)return;let b=e.slice(0,v);b[b.length-1]!=="<"&&(b+="<"),b+=`${m}>`;const w=b.length;b+=e.slice(v),_i.flushSync(()=>{s(zu(b))}),t.current.selectionEnd=w,r()},[s,r,e]),h=ir("embedding").isFeatureEnabled;return i.jsxs(go,{children:[i.jsx(ug,{isOpen:n,onClose:r,onSelect:p,children:i.jsx(lg,{id:"negativePrompt",name:"negativePrompt",ref:t,value:e,placeholder:a("parameters.negativePromptPlaceholder"),onChange:c,resize:"vertical",fontSize:"sm",minH:16,...h&&{onKeyDown:d}})}),!n&&h&&i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(cg,{onClick:o})})]})},Zte=be([lt,Kn],({generation:e,ui:t},n)=>({shouldPinParametersPanel:t.shouldPinParametersPanel,prompt:e.positivePrompt,activeTabName:n}),{memoizeOptions:{resultEqualityCheck:Zt}}),AO=()=>{const e=te(),{prompt:t,shouldPinParametersPanel:n,activeTabName:r}=B(Zte),o=Xd(),s=f.useRef(null),{isOpen:a,onClose:c,onOpen:d}=ss(),{t:p}=ye(),h=f.useCallback(w=>{e(Lu(w.target.value))},[e]);tt("alt+a",()=>{var w;(w=s.current)==null||w.focus()},[]);const m=f.useCallback(w=>{if(!s.current)return;const y=s.current.selectionStart;if(y===void 0)return;let S=t.slice(0,y);S[S.length-1]!=="<"&&(S+="<"),S+=`${w}>`;const k=S.length;S+=t.slice(y),_i.flushSync(()=>{e(Lu(S))}),s.current.selectionStart=k,s.current.selectionEnd=k,c()},[e,c,t]),v=ir("embedding").isFeatureEnabled,b=f.useCallback(w=>{w.key==="Enter"&&w.shiftKey===!1&&o&&(w.preventDefault(),e(xd()),e(wd(r))),v&&w.key==="<"&&d()},[o,e,r,d,v]);return i.jsxs(Re,{position:"relative",children:[i.jsx(go,{children:i.jsx(ug,{isOpen:a,onClose:c,onSelect:m,children:i.jsx(lg,{id:"prompt",name:"prompt",ref:s,value:t,placeholder:p("parameters.positivePromptPlaceholder"),onChange:h,onKeyDown:b,resize:"vertical",minH:32})})}),!a&&v&&i.jsx(Re,{sx:{position:"absolute",top:n?5:0,insetInlineEnd:0},children:i.jsx(cg,{onClick:d})})]})};function ene(){const e=B(o=>o.sdxl.shouldConcatSDXLStylePrompt),t=B(o=>o.ui.shouldPinParametersPanel),n=te(),r=()=>{n(K7(!e))};return i.jsx(ze,{"aria-label":"Concatenate Prompt & Style",tooltip:"Concatenate Prompt & Style",variant:"outline",isChecked:e,onClick:r,icon:i.jsx(oE,{}),size:"xs",sx:{position:"absolute",insetInlineEnd:1,top:t?12:20,border:"none",color:e?"accent.500":"base.500",_hover:{bg:"none"}}})}const Ak={position:"absolute",bg:"none",w:"full",minH:2,borderRadius:0,borderLeft:"none",borderRight:"none",zIndex:2,maskImage:"radial-gradient(circle at center, black, black 65%, black 30%, black 15%, transparent)"};function TO(){return i.jsxs(W,{children:[i.jsx(Re,{as:Er.div,initial:{scaleX:0,borderWidth:0,display:"none"},animate:{display:["block","block","block","none"],scaleX:[0,.25,.5,1],borderWidth:[0,3,3,0],transition:{duration:.37,times:[0,.25,.5,1]}},sx:{top:"1px",borderTop:"none",borderColor:"base.400",...Ak,_dark:{borderColor:"accent.500"}}}),i.jsx(Re,{as:Er.div,initial:{opacity:0,scale:0},animate:{opacity:[0,1,1,1],scale:[0,.75,1.5,1],transition:{duration:.42,times:[0,.25,.5,1]}},exit:{opacity:0,scale:0},sx:{zIndex:3,position:"absolute",left:"48%",top:"3px",p:1,borderRadius:4,bg:"accent.400",color:"base.50",_dark:{bg:"accent.500"}},children:i.jsx(oE,{size:12})}),i.jsx(Re,{as:Er.div,initial:{scaleX:0,borderWidth:0,display:"none"},animate:{display:["block","block","block","none"],scaleX:[0,.25,.5,1],borderWidth:[0,3,3,0],transition:{duration:.37,times:[0,.25,.5,1]}},sx:{top:"17px",borderBottom:"none",borderColor:"base.400",...Ak,_dark:{borderColor:"accent.500"}}})]})}const tne=be([lt,Kn],({sdxl:e},t)=>{const{negativeStylePrompt:n,shouldConcatSDXLStylePrompt:r}=e;return{prompt:n,shouldConcatSDXLStylePrompt:r,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),nne=()=>{const e=te(),t=Xd(),n=f.useRef(null),{isOpen:r,onClose:o,onOpen:s}=ss(),{prompt:a,activeTabName:c,shouldConcatSDXLStylePrompt:d}=B(tne),p=f.useCallback(b=>{e(Fu(b.target.value))},[e]),h=f.useCallback(b=>{if(!n.current)return;const w=n.current.selectionStart;if(w===void 0)return;let y=a.slice(0,w);y[y.length-1]!=="<"&&(y+="<"),y+=`${b}>`;const S=y.length;y+=a.slice(w),_i.flushSync(()=>{e(Fu(y))}),n.current.selectionStart=S,n.current.selectionEnd=S,o()},[e,o,a]),m=ir("embedding").isFeatureEnabled,v=f.useCallback(b=>{b.key==="Enter"&&b.shiftKey===!1&&t&&(b.preventDefault(),e(xd()),e(wd(c))),m&&b.key==="<"&&s()},[t,e,c,s,m]);return i.jsxs(Re,{position:"relative",children:[i.jsx(mo,{children:d&&i.jsx(Re,{sx:{position:"absolute",left:"3",w:"94%",top:"-17px"},children:i.jsx(TO,{})})}),i.jsx(go,{children:i.jsx(ug,{isOpen:r,onClose:o,onSelect:h,children:i.jsx(lg,{id:"prompt",name:"prompt",ref:n,value:a,placeholder:"Negative Style Prompt",onChange:p,onKeyDown:v,resize:"vertical",fontSize:"sm",minH:16})})}),!r&&m&&i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(cg,{onClick:s})})]})},rne=be([lt,Kn],({sdxl:e},t)=>{const{positiveStylePrompt:n,shouldConcatSDXLStylePrompt:r}=e;return{prompt:n,shouldConcatSDXLStylePrompt:r,activeTabName:t}},{memoizeOptions:{resultEqualityCheck:Zt}}),one=()=>{const e=te(),t=Xd(),n=f.useRef(null),{isOpen:r,onClose:o,onOpen:s}=ss(),{prompt:a,activeTabName:c,shouldConcatSDXLStylePrompt:d}=B(rne),p=f.useCallback(b=>{e(Bu(b.target.value))},[e]),h=f.useCallback(b=>{if(!n.current)return;const w=n.current.selectionStart;if(w===void 0)return;let y=a.slice(0,w);y[y.length-1]!=="<"&&(y+="<"),y+=`${b}>`;const S=y.length;y+=a.slice(w),_i.flushSync(()=>{e(Bu(y))}),n.current.selectionStart=S,n.current.selectionEnd=S,o()},[e,o,a]),m=ir("embedding").isFeatureEnabled,v=f.useCallback(b=>{b.key==="Enter"&&b.shiftKey===!1&&t&&(b.preventDefault(),e(xd()),e(wd(c))),m&&b.key==="<"&&s()},[t,e,c,s,m]);return i.jsxs(Re,{position:"relative",children:[i.jsx(mo,{children:d&&i.jsx(Re,{sx:{position:"absolute",left:"3",w:"94%",top:"-17px"},children:i.jsx(TO,{})})}),i.jsx(go,{children:i.jsx(ug,{isOpen:r,onClose:o,onSelect:h,children:i.jsx(lg,{id:"prompt",name:"prompt",ref:n,value:a,placeholder:"Positive Style Prompt",onChange:p,onKeyDown:v,resize:"vertical",minH:16})})}),!r&&m&&i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineEnd:0},children:i.jsx(cg,{onClick:s})})]})};function NO(){return i.jsxs(W,{sx:{flexDirection:"column",gap:2},children:[i.jsx(AO,{}),i.jsx(ene,{}),i.jsx(one,{}),i.jsx(DO,{}),i.jsx(nne,{})]})}const Xc=()=>{const{isRefinerAvailable:e}=na(ib,{selectFromResult:({data:t})=>({isRefinerAvailable:t?t.ids.length>0:!1})});return e},sne=be([lt],({sdxl:e,hotkeys:t})=>{const{refinerAestheticScore:n}=e,{shift:r}=t;return{refinerAestheticScore:n,shift:r}},Je),ane=()=>{const{refinerAestheticScore:e,shift:t}=B(sne),n=Xc(),r=te(),o=f.useCallback(a=>r(Mv(a)),[r]),s=f.useCallback(()=>r(Mv(6)),[r]);return i.jsx(_t,{label:"Aesthetic Score",step:t?.1:.5,min:1,max:10,onChange:o,handleReset:s,value:e,sliderNumberInputProps:{max:10},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!n})},ine=f.memo(ane),am=/^-?(0\.)?\.?$/,lne=e=>{const{label:t,isDisabled:n=!1,showStepper:r=!0,isInvalid:o,value:s,onChange:a,min:c,max:d,isInteger:p=!0,formControlProps:h,formLabelProps:m,numberInputFieldProps:v,numberInputStepperProps:b,tooltipProps:w,...y}=e,S=te(),[k,_]=f.useState(String(s));f.useEffect(()=>{!k.match(am)&&s!==Number(k)&&_(String(s))},[s,k]);const P=R=>{_(R),R.match(am)||a(p?Math.floor(Number(R)):Number(R))},I=R=>{const M=Es(p?Math.floor(Number(R.target.value)):Number(R.target.value),c,d);_(String(M)),a(M)},E=f.useCallback(R=>{R.shiftKey&&S(jo(!0))},[S]),O=f.useCallback(R=>{R.shiftKey||S(jo(!1))},[S]);return i.jsx(vn,{...w,children:i.jsxs(go,{isDisabled:n,isInvalid:o,...h,children:[t&&i.jsx(Bo,{...m,children:t}),i.jsxs(km,{value:k,min:c,max:d,keepWithinRange:!0,clampValueOnBlur:!1,onChange:P,onBlur:I,...y,onPaste:ex,children:[i.jsx(Pm,{...v,onKeyDown:E,onKeyUp:O}),r&&i.jsxs(_m,{children:[i.jsx(Im,{...b}),i.jsx(jm,{...b})]})]})]})})},Yc=f.memo(lne),cne=be([lt],({sdxl:e,ui:t,hotkeys:n})=>{const{refinerCFGScale:r}=e,{shouldUseSliders:o}=t,{shift:s}=n;return{refinerCFGScale:r,shouldUseSliders:o,shift:s}},Je),une=()=>{const{refinerCFGScale:e,shouldUseSliders:t,shift:n}=B(cne),r=Xc(),o=te(),{t:s}=ye(),a=f.useCallback(d=>o(Rv(d)),[o]),c=f.useCallback(()=>o(Rv(7)),[o]);return t?i.jsx(_t,{label:s("parameters.cfgScale"),step:n?.1:.5,min:1,max:20,onChange:a,handleReset:c,value:e,sliderNumberInputProps:{max:200},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!r}):i.jsx(Yc,{label:s("parameters.cfgScale"),step:.5,min:1,max:200,onChange:a,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"},isDisabled:!r})},dne=f.memo(une),fne=e=>{const t=Sd("models"),[n,r,o]=e.split("/"),s=X7.safeParse({base_model:n,model_name:o,model_type:r});if(!s.success){t.error({mainModelId:e,errors:s.error.format()},"Failed to parse main model id");return}return s.data};function Qd(e){const{iconMode:t=!1}=e,n=te(),{t:r}=ye(),[o,{isLoading:s}]=Y7(),a=()=>{o().unwrap().then(c=>{n(On(Mn({title:`${r("modelManager.modelsSynced")}`,status:"success"})))}).catch(c=>{c&&n(On(Mn({title:`${r("modelManager.modelSyncFailed")}`,status:"error"})))})};return t?i.jsx(ze,{icon:i.jsx(cE,{}),tooltip:r("modelManager.syncModels"),"aria-label":r("modelManager.syncModels"),isLoading:s,onClick:a,size:"sm"}):i.jsx(Yt,{isLoading:s,onClick:a,minW:"max-content",children:"Sync Models"})}const pne=be(lt,e=>({model:e.sdxl.refinerModel}),Je),hne=()=>{const e=te(),t=ir("syncModels").isFeatureEnabled,{model:n}=B(pne),{data:r,isLoading:o}=na(ib),s=f.useMemo(()=>{if(!r)return[];const d=[];return oo(r.entities,(p,h)=>{p&&d.push({value:h,label:p.model_name,group:Qn[p.base_model]})}),d},[r]),a=f.useMemo(()=>(r==null?void 0:r.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])??null,[r==null?void 0:r.entities,n]),c=f.useCallback(d=>{if(!d)return;const p=fne(d);p&&e(q_(p))},[e]);return o?i.jsx(ar,{label:"Refiner Model",placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(ar,{tooltip:a==null?void 0:a.description,label:"Refiner Model",value:a==null?void 0:a.id,placeholder:s.length>0?"Select a model":"No models available",data:s,error:s.length===0,disabled:s.length===0,onChange:c,w:"100%"}),t&&i.jsx(Re,{mt:7,children:i.jsx(Qd,{iconMode:!0})})]})},mne=f.memo(hne),gne=be(lt,({ui:e,sdxl:t})=>{const{refinerScheduler:n}=t,{favoriteSchedulers:r}=e,o=cs(ab,(s,a)=>({value:a,label:s,group:r.includes(a)?"Favorites":void 0})).sort((s,a)=>s.label.localeCompare(a.label));return{refinerScheduler:n,data:o}},Je),vne=()=>{const e=te(),{t}=ye(),{refinerScheduler:n,data:r}=B(gne),o=Xc(),s=f.useCallback(a=>{a&&e(K_(a))},[e]);return i.jsx(ar,{w:"100%",label:t("parameters.scheduler"),value:n,data:r,onChange:s,disabled:!o})},bne=f.memo(vne),yne=be([lt],({sdxl:e})=>{const{refinerStart:t}=e;return{refinerStart:t}},Je),xne=()=>{const{refinerStart:e}=B(yne),t=te(),n=Xc(),r=f.useCallback(s=>t(Dv(s)),[t]),o=f.useCallback(()=>t(Dv(.7)),[t]);return i.jsx(_t,{label:"Refiner Start",step:.01,min:0,max:1,onChange:r,handleReset:o,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1,isDisabled:!n})},wne=f.memo(xne),Sne=be([lt],({sdxl:e,ui:t})=>{const{refinerSteps:n}=e,{shouldUseSliders:r}=t;return{refinerSteps:n,shouldUseSliders:r}},Je),Cne=()=>{const{refinerSteps:e,shouldUseSliders:t}=B(Sne),n=Xc(),r=te(),{t:o}=ye(),s=f.useCallback(c=>{r(Ov(c))},[r]),a=f.useCallback(()=>{r(Ov(20))},[r]);return t?i.jsx(_t,{label:o("parameters.steps"),min:1,max:100,step:1,onChange:s,handleReset:a,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:500},isDisabled:!n}):i.jsx(Yc,{label:o("parameters.steps"),min:1,max:500,step:1,onChange:s,value:e,numberInputFieldProps:{textAlign:"center"},isDisabled:!n})},kne=f.memo(Cne);function _ne(){const e=B(o=>o.sdxl.shouldUseSDXLRefiner),t=Xc(),n=te(),r=o=>{n(Q7(o.target.checked))};return i.jsx(yr,{label:"Use Refiner",isChecked:e,onChange:r,isDisabled:!t})}const Pne=be(lt,e=>{const{shouldUseSDXLRefiner:t}=e.sdxl,{shouldUseSliders:n}=e.ui;return{activeLabel:t?"Enabled":void 0,shouldUseSliders:n}},Je),$O=()=>{const{activeLabel:e,shouldUseSliders:t}=B(Pne);return i.jsx(Mo,{label:"Refiner",activeLabel:e,children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(_ne,{}),i.jsx(mne,{}),i.jsxs(W,{gap:2,flexDirection:t?"column":"row",children:[i.jsx(kne,{}),i.jsx(dne,{})]}),i.jsx(bne,{}),i.jsx(ine,{}),i.jsx(wne,{})]})})},jne=be([lt],({generation:e,config:t,ui:n,hotkeys:r})=>{const{initial:o,min:s,sliderMax:a,inputMax:c}=t.sd.guidance,{cfgScale:d}=e,{shouldUseSliders:p}=n,{shift:h}=r;return{cfgScale:d,initial:o,min:s,sliderMax:a,inputMax:c,shouldUseSliders:p,shift:h}},Je),Ine=()=>{const{cfgScale:e,initial:t,min:n,sliderMax:r,inputMax:o,shouldUseSliders:s,shift:a}=B(jne),c=te(),{t:d}=ye(),p=f.useCallback(m=>c(Hp(m)),[c]),h=f.useCallback(()=>c(Hp(t)),[c,t]);return s?i.jsx(_t,{label:d("parameters.cfgScale"),step:a?.1:.5,min:n,max:r,onChange:p,handleReset:h,value:e,sliderNumberInputProps:{max:o},withInput:!0,withReset:!0,withSliderMarks:!0,isInteger:!1}):i.jsx(Yc,{label:d("parameters.cfgScale"),step:.5,min:n,max:o,onChange:p,value:e,isInteger:!1,numberInputFieldProps:{textAlign:"center"}})},xi=f.memo(Ine),Ene=be([lt],e=>{const{initial:t,min:n,sliderMax:r,inputMax:o,fineStep:s,coarseStep:a}=e.config.sd.iterations,{iterations:c}=e.generation,{shouldUseSliders:d}=e.ui,p=e.dynamicPrompts.isEnabled&&e.dynamicPrompts.combinatorial,h=e.hotkeys.shift?s:a;return{iterations:c,initial:t,min:n,sliderMax:r,inputMax:o,step:h,shouldUseSliders:d,isDisabled:p}},Je),One=()=>{const{iterations:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:a,isDisabled:c}=B(Ene),d=te(),{t:p}=ye(),h=f.useCallback(v=>{d(aw(v))},[d]),m=f.useCallback(()=>{d(aw(t))},[d,t]);return a?i.jsx(_t,{isDisabled:c,label:p("parameters.images"),step:s,min:n,max:r,onChange:h,handleReset:m,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):i.jsx(Yc,{isDisabled:c,label:p("parameters.images"),step:s,min:n,max:o,onChange:h,value:e,numberInputFieldProps:{textAlign:"center"}})},wi=f.memo(One),nx=e=>{const t=Sd("models"),[n,r,o]=e.split("/"),s=J7.safeParse({base_model:n,model_name:o,model_type:r});if(!s.success){t.error({mainModelId:e,errors:s.error.format()},"Failed to parse main model id");return}return s.data},Rne=be(lt,e=>({model:e.generation.model}),Je),Mne=()=>{const e=te(),{t}=ye(),{model:n}=B(Rne),r=ir("syncModels").isFeatureEnabled,{data:o,isLoading:s}=na(Qu),{data:a,isLoading:c}=Up(Qu),d=B(Kn),p=f.useMemo(()=>{if(!o)return[];const v=[];return oo(o.entities,(b,w)=>{!b||d==="unifiedCanvas"&&b.base_model==="sdxl"||v.push({value:w,label:b.model_name,group:Qn[b.base_model]})}),oo(a==null?void 0:a.entities,(b,w)=>{!b||d==="unifiedCanvas"||d==="img2img"||v.push({value:w,label:b.model_name,group:Qn[b.base_model]})}),v},[o,a,d]),h=f.useMemo(()=>((o==null?void 0:o.entities[`${n==null?void 0:n.base_model}/main/${n==null?void 0:n.model_name}`])||(a==null?void 0:a.entities[`${n==null?void 0:n.base_model}/onnx/${n==null?void 0:n.model_name}`]))??null,[o==null?void 0:o.entities,n,a==null?void 0:a.entities]),m=f.useCallback(v=>{if(!v)return;const b=nx(v);b&&e(Iv(b))},[e]);return s||c?i.jsx(ar,{label:t("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:3,children:[i.jsx(ar,{tooltip:h==null?void 0:h.description,label:t("modelManager.model"),value:h==null?void 0:h.id,placeholder:p.length>0?"Select a model":"No models available",data:p,error:p.length===0,disabled:p.length===0,onChange:m,w:"100%"}),r&&i.jsx(Re,{mt:7,children:i.jsx(Qd,{iconMode:!0})})]})},Dne=f.memo(Mne),LO=e=>{const t=Sd("models"),[n,r,o]=e.split("/"),s=Z7.safeParse({base_model:n,model_name:o});if(!s.success){t.error({vaeModelId:e,errors:s.error.format()},"Failed to parse VAE model id");return}return s.data},Ane=be(lt,({generation:e})=>{const{model:t,vae:n}=e;return{model:t,vae:n}},Je),Tne=()=>{const e=te(),{t}=ye(),{model:n,vae:r}=B(Ane),{data:o}=t5(),s=f.useMemo(()=>{if(!o)return[];const d=[{value:"default",label:"Default",group:"Default"}];return oo(o.entities,(p,h)=>{if(!p)return;const m=(n==null?void 0:n.base_model)!==p.base_model;d.push({value:h,label:p.model_name,group:Qn[p.base_model],disabled:m,tooltip:m?`Incompatible base model: ${p.base_model}`:void 0})}),d.sort((p,h)=>p.disabled&&!h.disabled?1:-1)},[o,n==null?void 0:n.base_model]),a=f.useMemo(()=>(o==null?void 0:o.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[o==null?void 0:o.entities,r]),c=f.useCallback(d=>{if(!d||d==="default"){e(iw(null));return}const p=LO(d);p&&e(iw(p))},[e]);return i.jsx(ar,{itemComponent:Oi,tooltip:a==null?void 0:a.description,label:t("modelManager.vae"),value:(a==null?void 0:a.id)??"default",placeholder:"Default",data:s,onChange:c,disabled:s.length===0,clearable:!0})},Nne=f.memo(Tne),Mi=e=>e.generation,$ne=be([Ba,Mi],(e,t)=>{const{scheduler:n}=t,{favoriteSchedulers:r}=e,o=cs(ab,(s,a)=>({value:a,label:s,group:r.includes(a)?"Favorites":void 0})).sort((s,a)=>s.label.localeCompare(a.label));return{scheduler:n,data:o}},Je),Lne=()=>{const e=te(),{t}=ye(),{scheduler:n,data:r}=B($ne),o=f.useCallback(s=>{s&&e(Ev(s))},[e]);return i.jsx(ar,{label:t("parameters.scheduler"),value:n,data:r,onChange:o})},zne=f.memo(Lne),Bne=be(lt,({generation:e})=>{const{vaePrecision:t}=e;return{vaePrecision:t}},Je),Fne=["fp16","fp32"],Hne=()=>{const e=te(),{vaePrecision:t}=B(Bne),n=f.useCallback(r=>{r&&e(eM(r))},[e]);return i.jsx(Xr,{label:"VAE Precision",value:t,data:Fne,onChange:n})},Wne=f.memo(Hne),Vne=()=>{const e=ir("vae").isFeatureEnabled;return i.jsxs(W,{gap:3,w:"full",flexWrap:e?"wrap":"nowrap",children:[i.jsx(Re,{w:"full",children:i.jsx(Dne,{})}),i.jsx(Re,{w:"full",children:i.jsx(zne,{})}),e&&i.jsxs(W,{w:"full",gap:3,children:[i.jsx(Nne,{}),i.jsx(Wne,{})]})]})},Si=f.memo(Vne),Une=[{name:"Free",value:null},{name:"2:3",value:2/3},{name:"16:9",value:16/9},{name:"1:1",value:1/1}];function zO(){const e=B(o=>o.generation.aspectRatio),t=te(),n=B(o=>o.generation.shouldFitToWidthHeight),r=B(Kn);return i.jsx(W,{gap:2,flexGrow:1,children:i.jsx(rr,{isAttached:!0,children:Une.map(o=>i.jsx(Yt,{size:"sm",isChecked:e===o.value,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(tM(o.value)),children:o.name},o.name))})})}const Gne=be([lt],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.height,{height:p}=e,{aspectRatio:h}=e,m=t.shift?c:d;return{height:p,initial:r,min:o,sliderMax:s,inputMax:a,step:m,aspectRatio:h}},Je),qne=e=>{const{height:t,initial:n,min:r,sliderMax:o,inputMax:s,step:a,aspectRatio:c}=B(Gne),d=te(),{t:p}=ye(),h=f.useCallback(v=>{if(d(bc(v)),c){const b=ws(v*c,8);d(vc(b))}},[d,c]),m=f.useCallback(()=>{if(d(bc(n)),c){const v=ws(n*c,8);d(vc(v))}},[d,n,c]);return i.jsx(_t,{label:p("parameters.height"),value:t,min:r,step:a,max:o,onChange:h,handleReset:m,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},Kne=f.memo(qne),Xne=be([lt],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.width,{width:p,aspectRatio:h}=e,m=t.shift?c:d;return{width:p,initial:r,min:o,sliderMax:s,inputMax:a,step:m,aspectRatio:h}},Je),Yne=e=>{const{width:t,initial:n,min:r,sliderMax:o,inputMax:s,step:a,aspectRatio:c}=B(Xne),d=te(),{t:p}=ye(),h=f.useCallback(v=>{if(d(vc(v)),c){const b=ws(v/c,8);d(bc(b))}},[d,c]),m=f.useCallback(()=>{if(d(vc(n)),c){const v=ws(n/c,8);d(bc(v))}},[d,n,c]);return i.jsx(_t,{label:p("parameters.width"),value:t,min:r,step:a,max:o,onChange:h,handleReset:m,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:s},...e})},Qne=f.memo(Yne);function Mc(){const{t:e}=ye(),t=te(),n=B(o=>o.generation.shouldFitToWidthHeight),r=B(Kn);return i.jsxs(W,{sx:{gap:2,p:4,borderRadius:4,flexDirection:"column",w:"full",bg:"base.150",_dark:{bg:"base.750"}},children:[i.jsxs(W,{alignItems:"center",gap:2,children:[i.jsx(Qe,{sx:{fontSize:"sm",width:"full",color:"base.700",_dark:{color:"base.300"}},children:e("parameters.aspectRatio")}),i.jsx(ml,{}),i.jsx(zO,{}),i.jsx(ze,{tooltip:e("ui.swapSizes"),"aria-label":e("ui.swapSizes"),size:"sm",icon:i.jsx(vO,{}),fontSize:20,isDisabled:r==="img2img"?!n:!1,onClick:()=>t(nM())})]}),i.jsx(W,{gap:2,alignItems:"center",children:i.jsxs(W,{gap:2,flexDirection:"column",width:"full",children:[i.jsx(Qne,{isDisabled:r==="img2img"?!n:!1}),i.jsx(Kne,{isDisabled:r==="img2img"?!n:!1})]})})]})}const Jne=be([lt],({generation:e,config:t,ui:n,hotkeys:r})=>{const{initial:o,min:s,sliderMax:a,inputMax:c,fineStep:d,coarseStep:p}=t.sd.steps,{steps:h}=e,{shouldUseSliders:m}=n,v=r.shift?d:p;return{steps:h,initial:o,min:s,sliderMax:a,inputMax:c,step:v,shouldUseSliders:m}},Je),Zne=()=>{const{steps:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s,shouldUseSliders:a}=B(Jne),c=te(),{t:d}=ye(),p=f.useCallback(v=>{c(Wp(v))},[c]),h=f.useCallback(()=>{c(Wp(t))},[c,t]),m=f.useCallback(()=>{c(xd())},[c]);return a?i.jsx(_t,{label:d("parameters.steps"),min:n,max:r,step:s,onChange:p,handleReset:h,value:e,withInput:!0,withReset:!0,withSliderMarks:!0,sliderNumberInputProps:{max:o}}):i.jsx(Yc,{label:d("parameters.steps"),min:n,max:o,step:s,onChange:p,value:e,numberInputFieldProps:{textAlign:"center"},onBlur:m})},Ci=f.memo(Zne);function BO(){const e=te(),t=B(o=>o.generation.shouldFitToWidthHeight),n=o=>e(rM(o.target.checked)),{t:r}=ye();return i.jsx(yr,{label:r("parameters.imageFit"),isChecked:t,onChange:n})}function ere(){const e=B(a=>a.generation.seed),t=B(a=>a.generation.shouldRandomizeSeed),n=B(a=>a.generation.shouldGenerateVariations),{t:r}=ye(),o=te(),s=a=>o(Fp(a));return i.jsx(Yc,{label:r("parameters.seed"),step:1,precision:0,flexGrow:1,min:n5,max:r5,isDisabled:t,isInvalid:e<0&&n,onChange:s,value:e})}const tre=(e,t)=>Math.floor(Math.random()*(t-e+1)+e);function nre(){const e=te(),t=B(o=>o.generation.shouldRandomizeSeed),{t:n}=ye(),r=()=>e(Fp(tre(n5,r5)));return i.jsx(ze,{size:"sm",isDisabled:t,"aria-label":n("parameters.shuffle"),tooltip:n("parameters.shuffle"),onClick:r,icon:i.jsx(ZY,{})})}const rre=()=>{const e=te(),{t}=ye(),n=B(o=>o.generation.shouldRandomizeSeed),r=o=>e(oM(o.target.checked));return i.jsx(yr,{label:t("common.random"),isChecked:n,onChange:r})},ore=f.memo(rre),sre=()=>i.jsxs(W,{sx:{gap:3,alignItems:"flex-end"},children:[i.jsx(ere,{}),i.jsx(nre,{}),i.jsx(ore,{})]}),ki=f.memo(sre),are=be([lt],({sdxl:e})=>{const{sdxlImg2ImgDenoisingStrength:t}=e;return{sdxlImg2ImgDenoisingStrength:t}},Je),ire=()=>{const{sdxlImg2ImgDenoisingStrength:e}=B(are),t=te(),{t:n}=ye(),r=f.useCallback(s=>t(lw(s)),[t]),o=f.useCallback(()=>{t(lw(.7))},[t]);return i.jsx(_t,{label:`${n("parameters.denoisingStrength")}`,step:.01,min:0,max:1,onChange:r,handleReset:o,value:e,isInteger:!1,withInput:!0,withSliderMarks:!0,withReset:!0})},lre=f.memo(ire),cre=be([Ba,Mi],(e,t)=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Je),ure=()=>{const{shouldUseSliders:e,activeLabel:t}=B(cre);return i.jsx(Mo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(W,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(Mc,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(Mc,{})]}),i.jsx(lre,{}),i.jsx(BO,{})]})})},dre=f.memo(ure),fre=e=>{const t=te(),{lora:n}=e,r=f.useCallback(a=>{t(sM({id:n.id,weight:a}))},[t,n.id]),o=f.useCallback(()=>{t(aM(n.id))},[t,n.id]),s=f.useCallback(()=>{t(iM(n.id))},[t,n.id]);return i.jsxs(W,{sx:{gap:2.5,alignItems:"flex-end"},children:[i.jsx(_t,{label:n.model_name,value:n.weight,onChange:r,min:-1,max:2,step:.01,withInput:!0,withReset:!0,handleReset:o,withSliderMarks:!0,sliderMarks:[-1,0,1,2],sliderNumberInputProps:{min:-50,max:50}}),i.jsx(ze,{size:"sm",onClick:s,tooltip:"Remove LoRA","aria-label":"Remove LoRA",icon:i.jsx(Eo,{}),colorScheme:"error"})]})},pre=f.memo(fre),hre=be(lt,({lora:e})=>({lorasArray:cs(e.loras)}),Je),mre=()=>{const{lorasArray:e}=B(hre);return i.jsx(i.Fragment,{children:e.map((t,n)=>i.jsxs(i.Fragment,{children:[n>0&&i.jsx(Wa,{pt:1},`${t.model_name}-divider`),i.jsx(pre,{lora:t},t.model_name)]}))})},gre=be(lt,({lora:e})=>({loras:e.loras}),Je),vre=()=>{const e=te(),{loras:t}=B(gre),{data:n}=mm(),r=B(a=>a.generation.model),o=f.useMemo(()=>{if(!n)return[];const a=[];return oo(n.entities,(c,d)=>{if(!c||d in t)return;const p=(r==null?void 0:r.base_model)!==c.base_model;a.push({value:d,label:c.model_name,disabled:p,group:Qn[c.base_model],tooltip:p?`Incompatible base model: ${c.base_model}`:void 0})}),a.sort((c,d)=>c.disabled&&!d.disabled?1:-1)},[t,n,r==null?void 0:r.base_model]),s=f.useCallback(a=>{if(!a)return;const c=n==null?void 0:n.entities[a];c&&e(lM(c))},[e,n==null?void 0:n.entities]);return(n==null?void 0:n.ids.length)===0?i.jsx(W,{sx:{justifyContent:"center",p:2},children:i.jsx(Qe,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):i.jsx(ar,{placeholder:o.length===0?"All LoRAs added":"Add LoRA",value:null,data:o,nothingFound:"No matching LoRAs",itemComponent:Oi,disabled:o.length===0,filter:(a,c)=>{var d;return((d=c.label)==null?void 0:d.toLowerCase().includes(a.toLowerCase().trim()))||c.value.toLowerCase().includes(a.toLowerCase().trim())},onChange:s})},bre=be(lt,e=>{const t=o5(e.lora.loras);return{activeLabel:t>0?`${t} Active`:void 0}},Je),yre=()=>{const{activeLabel:e}=B(bre);return ir("lora").isFeatureEnabled?i.jsx(Mo,{label:"LoRA",activeLabel:e,children:i.jsxs(W,{sx:{flexDir:"column",gap:2},children:[i.jsx(vre,{}),i.jsx(mre,{})]})}):null},Jd=f.memo(yre),FO=()=>i.jsxs(i.Fragment,{children:[i.jsx(NO,{}),i.jsx(Yd,{}),i.jsx(dre,{}),i.jsx($O,{}),i.jsx(Jd,{}),i.jsx(Kd,{}),i.jsx(ag,{})]}),HO=e=>{const{sx:t}=e,n=te(),r=B(a=>a.ui.shouldPinParametersPanel),{t:o}=ye(),s=()=>{n(cM(!r)),n(ko())};return i.jsx(ze,{...e,tooltip:o("common.pinOptionsPanel"),"aria-label":o("common.pinOptionsPanel"),onClick:s,icon:r?i.jsx(XE,{}):i.jsx(YE,{}),variant:"ghost",size:"sm",sx:{color:"base.500",_hover:{color:"base.600"},_active:{color:"base.700"},_dark:{color:"base.500",_hover:{color:"base.400"},_active:{color:"base.300"}},...t}})},xre=be(Ba,e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=e;return{shouldPinParametersPanel:t,shouldShowParametersPanel:n}}),wre=e=>{const{shouldPinParametersPanel:t,shouldShowParametersPanel:n}=B(xre);return t&&n?i.jsxs(Re,{sx:{position:"relative",h:"full",w:tx,flexShrink:0},children:[i.jsx(W,{sx:{gap:2,flexDirection:"column",h:"full",w:"full",position:"absolute",overflowY:"auto"},children:e.children}),i.jsx(HO,{sx:{position:"absolute",top:0,insetInlineEnd:0}})]}):null},rx=f.memo(wre),Sre=e=>{const{direction:t="horizontal",...n}=e,{colorMode:r}=Ds();return t==="horizontal"?i.jsx(L1,{children:i.jsx(W,{sx:{w:6,h:"full",justifyContent:"center",alignItems:"center"},...n,children:i.jsx(Re,{sx:{w:.5,h:"calc(100% - 4px)",bg:Fe("base.100","base.850")(r)}})})}):i.jsx(L1,{children:i.jsx(W,{sx:{w:"full",h:6,justifyContent:"center",alignItems:"center"},...n,children:i.jsx(Re,{sx:{w:"calc(100% - 4px)",h:.5,bg:Fe("base.100","base.850")(r)}})})})},WO=f.memo(Sre),Cre=be([lt],({system:e})=>{const{isProcessing:t,isConnected:n}=e;return n&&!t}),kre=e=>{const{onClick:t,isDisabled:n}=e,{t:r}=ye(),o=B(Cre);return i.jsx(ze,{onClick:t,icon:i.jsx(Eo,{}),tooltip:`${r("gallery.deleteImage")} (Del)`,"aria-label":`${r("gallery.deleteImage")} (Del)`,isDisabled:n||!o,colorScheme:"error"})},_re=[{label:"RealESRGAN x2 Plus",value:"RealESRGAN_x2plus.pth",tooltip:"Attempts to retain sharpness, low smoothing",group:"x2 Upscalers"},{label:"RealESRGAN x4 Plus",value:"RealESRGAN_x4plus.pth",tooltip:"Best for photos and highly detailed images, medium smoothing",group:"x4 Upscalers"},{label:"RealESRGAN x4 Plus (anime 6B)",value:"RealESRGAN_x4plus_anime_6B.pth",tooltip:"Best for anime/manga, high smoothing",group:"x4 Upscalers"},{label:"ESRGAN SRx4",value:"ESRGAN_SRx4_DF2KOST_official-ff704c30.pth",tooltip:"Retains sharpness, low smoothing",group:"x4 Upscalers"}];function Pre(){const e=B(r=>r.postprocessing.esrganModelName),t=te(),n=r=>t(uM(r));return i.jsx(Xr,{label:"ESRGAN Model",value:e,itemComponent:Oi,onChange:n,data:_re})}const jre=e=>{const{imageDTO:t}=e,n=te(),r=B(kr),{t:o}=ye(),{isOpen:s,onOpen:a,onClose:c}=ss(),d=f.useCallback(()=>{c(),t&&n(s5({image_name:t.image_name}))},[n,t,c]);return i.jsx(xl,{isOpen:s,onClose:c,triggerComponent:i.jsx(ze,{onClick:a,icon:i.jsx(LY,{}),"aria-label":o("parameters.upscale")}),children:i.jsxs(W,{sx:{flexDirection:"column",gap:4},children:[i.jsx(Pre,{}),i.jsx(Yt,{size:"sm",isDisabled:!t||r,onClick:d,children:o("parameters.upscaleImage")})]})})},Ire=be([lt,Kn],({gallery:e,system:t,ui:n},r)=>{const{isProcessing:o,isConnected:s,shouldConfirmOnDelete:a,progressImage:c}=t,{shouldShowImageDetails:d,shouldHidePreview:p,shouldShowProgressInViewer:h}=n,m=e.selection[e.selection.length-1];return{canDeleteImage:s&&!o,shouldConfirmOnDelete:a,isProcessing:o,isConnected:s,shouldDisableToolbarButtons:!!c||!m,shouldShowImageDetails:d,activeTabName:r,shouldHidePreview:p,shouldShowProgressInViewer:h,lastSelectedImage:m}},{memoizeOptions:{resultEqualityCheck:Zt}}),Ere=e=>{const t=te(),{isProcessing:n,isConnected:r,shouldDisableToolbarButtons:o,shouldShowImageDetails:s,lastSelectedImage:a,shouldShowProgressInViewer:c}=B(Ire),d=ir("upscaling").isFeatureEnabled,p=Vc(),{t:h}=ye(),{recallBothPrompts:m,recallSeed:v,recallAllParameters:b}=Gy(),[w,y]=Ky(a,500),{currentData:S}=Is((a==null?void 0:a.image_name)??ro.skipToken),{currentData:k}=rb(y.isPending()?ro.skipToken:(w==null?void 0:w.image_name)??ro.skipToken),_=k==null?void 0:k.metadata,P=f.useCallback(()=>{b(_)},[_,b]);tt("a",()=>{},[_,b]);const I=f.useCallback(()=>{v(_==null?void 0:_.seed)},[_==null?void 0:_.seed,v]);tt("s",I,[S]);const E=f.useCallback(()=>{m(_==null?void 0:_.positive_prompt,_==null?void 0:_.negative_prompt,_==null?void 0:_.positive_style_prompt,_==null?void 0:_.negative_style_prompt)},[_==null?void 0:_.negative_prompt,_==null?void 0:_.positive_prompt,_==null?void 0:_.positive_style_prompt,_==null?void 0:_.negative_style_prompt,m]);tt("p",E,[S]);const O=f.useCallback(()=>{t(fO()),t(tb(S))},[t,S]);tt("shift+i",O,[S]);const R=f.useCallback(()=>{S&&t(s5({image_name:S.image_name}))},[t,S]),M=f.useCallback(()=>{S&&t(pm([S]))},[t,S]);tt("Shift+U",()=>{R()},{enabled:()=>!!(d&&!o&&r&&!n)},[d,S,o,r,n]);const D=f.useCallback(()=>t(dM(!s)),[t,s]);tt("i",()=>{S?D():p({title:h("toast.metadataLoadFailed"),status:"error",duration:2500,isClosable:!0})},[S,s,p]),tt("delete",()=>{M()},[t,S]);const A=f.useCallback(()=>{t(e5(!c))},[t,c]);return i.jsx(i.Fragment,{children:i.jsxs(W,{sx:{flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:2},...e,children:[i.jsx(rr,{isAttached:!0,isDisabled:o,children:i.jsxs(Dd,{children:[i.jsx(Ad,{as:ze,"aria-label":`${h("parameters.sendTo")}...`,tooltip:`${h("parameters.sendTo")}...`,isDisabled:!S,icon:i.jsx(rQ,{})}),i.jsx(il,{motionProps:ed,children:S&&i.jsx(pO,{imageDTO:S})})]})}),i.jsxs(rr,{isAttached:!0,isDisabled:o,children:[i.jsx(ze,{icon:i.jsx(iE,{}),tooltip:`${h("parameters.usePrompt")} (P)`,"aria-label":`${h("parameters.usePrompt")} (P)`,isDisabled:!(_!=null&&_.positive_prompt),onClick:E}),i.jsx(ze,{icon:i.jsx(lE,{}),tooltip:`${h("parameters.useSeed")} (S)`,"aria-label":`${h("parameters.useSeed")} (S)`,isDisabled:!(_!=null&&_.seed),onClick:I}),i.jsx(ze,{icon:i.jsx(YI,{}),tooltip:`${h("parameters.useAll")} (A)`,"aria-label":`${h("parameters.useAll")} (A)`,isDisabled:!_,onClick:P})]}),d&&i.jsx(rr,{isAttached:!0,isDisabled:o,children:d&&i.jsx(jre,{imageDTO:S})}),i.jsx(rr,{isAttached:!0,isDisabled:o,children:i.jsx(ze,{icon:i.jsx(yy,{}),tooltip:`${h("parameters.info")} (I)`,"aria-label":`${h("parameters.info")} (I)`,isChecked:s,onClick:D})}),i.jsx(rr,{isAttached:!0,children:i.jsx(ze,{"aria-label":h("settings.displayInProgress"),tooltip:h("settings.displayInProgress"),icon:i.jsx(VY,{}),isChecked:c,onClick:A})}),i.jsx(rr,{isAttached:!0,children:i.jsx(kre,{onClick:M,isDisabled:o})})]})})},Ore=be([lt,ob],(e,t)=>{var _,P;const{data:n,status:r}=fM.endpoints.listImages.select(t)(e),{data:o}=e.gallery.galleryView==="images"?cw.endpoints.getBoardImagesTotal.select(t.board_id??"none")(e):cw.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(e),s=e.gallery.selection[e.gallery.selection.length-1],a=r==="pending";if(!n||!s||o===0)return{isFetching:a,queryArgs:t,isOnFirstImage:!0,isOnLastImage:!0};const c={...t,offset:n.ids.length,limit:J_},d=pM.getSelectors(),p=d.selectAll(n),h=p.findIndex(I=>I.image_name===s.image_name),m=Es(h+1,0,p.length-1),v=Es(h-1,0,p.length-1),b=(_=p[m])==null?void 0:_.image_name,w=(P=p[v])==null?void 0:P.image_name,y=b?d.selectById(n,b):void 0,S=w?d.selectById(n,w):void 0,k=p.length;return{loadedImagesCount:p.length,currentImageIndex:h,areMoreImagesAvailable:(o??0)>k,isFetching:r==="pending",nextImage:y,prevImage:S,queryArgs:c}},{memoizeOptions:{resultEqualityCheck:Zt}}),VO=()=>{const e=te(),{nextImage:t,prevImage:n,areMoreImagesAvailable:r,isFetching:o,queryArgs:s,loadedImagesCount:a,currentImageIndex:c}=B(Ore),d=f.useCallback(()=>{n&&e(uw(n))},[e,n]),p=f.useCallback(()=>{t&&e(uw(t))},[e,t]),[h]=Q_(),m=f.useCallback(()=>{h(s)},[h,s]);return{handlePrevImage:d,handleNextImage:p,isOnFirstImage:c===0,isOnLastImage:c!==void 0&&c===a-1,nextImage:t,prevImage:n,areMoreImagesAvailable:r,handleLoadMoreImages:m,isFetching:o}};function Rre(e){return nt({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M245.09 327.74v-37.32c57.07 0 84.51 13.47 108.58 38.68 5.4 5.65 15 1.32 14.29-6.43-5.45-61.45-34.14-117.09-122.87-117.09v-37.32a8.32 8.32 0 00-14.05-6L146.58 242a8.2 8.2 0 000 11.94L231 333.71a8.32 8.32 0 0014.09-5.97z"}},{tag:"path",attr:{fill:"none",strokeMiterlimit:"10",strokeWidth:"32",d:"M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64z"}}]})(e)}const bs=({label:e,value:t,onClick:n,isLink:r,labelPosition:o,withCopy:s=!1})=>{const{t:a}=ye();return t?i.jsxs(W,{gap:2,children:[n&&i.jsx(vn,{label:`Recall ${e}`,children:i.jsx(ka,{"aria-label":a("accessibility.useThisParameter"),icon:i.jsx(Rre,{}),size:"xs",variant:"ghost",fontSize:20,onClick:n})}),s&&i.jsx(vn,{label:`Copy ${e}`,children:i.jsx(ka,{"aria-label":`Copy ${e}`,icon:i.jsx(qc,{}),size:"xs",variant:"ghost",fontSize:14,onClick:()=>navigator.clipboard.writeText(t.toString())})}),i.jsxs(W,{direction:o?"column":"row",children:[i.jsxs(Qe,{fontWeight:"semibold",whiteSpace:"pre-wrap",pr:2,children:[e,":"]}),r?i.jsxs(Mb,{href:t.toString(),isExternal:!0,wordBreak:"break-all",children:[t.toString()," ",i.jsx(VE,{mx:"2px"})]}):i.jsx(Qe,{overflowY:"scroll",wordBreak:"break-all",children:t.toString()})]})]}):null},Mre=e=>{const{metadata:t}=e,{recallPositivePrompt:n,recallNegativePrompt:r,recallSeed:o,recallCfgScale:s,recallModel:a,recallScheduler:c,recallSteps:d,recallWidth:p,recallHeight:h,recallStrength:m}=Gy(),v=f.useCallback(()=>{n(t==null?void 0:t.positive_prompt)},[t==null?void 0:t.positive_prompt,n]),b=f.useCallback(()=>{r(t==null?void 0:t.negative_prompt)},[t==null?void 0:t.negative_prompt,r]),w=f.useCallback(()=>{o(t==null?void 0:t.seed)},[t==null?void 0:t.seed,o]),y=f.useCallback(()=>{a(t==null?void 0:t.model)},[t==null?void 0:t.model,a]),S=f.useCallback(()=>{p(t==null?void 0:t.width)},[t==null?void 0:t.width,p]),k=f.useCallback(()=>{h(t==null?void 0:t.height)},[t==null?void 0:t.height,h]),_=f.useCallback(()=>{c(t==null?void 0:t.scheduler)},[t==null?void 0:t.scheduler,c]),P=f.useCallback(()=>{d(t==null?void 0:t.steps)},[t==null?void 0:t.steps,d]),I=f.useCallback(()=>{s(t==null?void 0:t.cfg_scale)},[t==null?void 0:t.cfg_scale,s]),E=f.useCallback(()=>{m(t==null?void 0:t.strength)},[t==null?void 0:t.strength,m]);return!t||Object.keys(t).length===0?null:i.jsxs(i.Fragment,{children:[t.generation_mode&&i.jsx(bs,{label:"Generation Mode",value:t.generation_mode}),t.positive_prompt&&i.jsx(bs,{label:"Positive Prompt",labelPosition:"top",value:t.positive_prompt,onClick:v}),t.negative_prompt&&i.jsx(bs,{label:"Negative Prompt",labelPosition:"top",value:t.negative_prompt,onClick:b}),t.seed!==void 0&&i.jsx(bs,{label:"Seed",value:t.seed,onClick:w}),t.model!==void 0&&i.jsx(bs,{label:"Model",value:t.model.model_name,onClick:y}),t.width&&i.jsx(bs,{label:"Width",value:t.width,onClick:S}),t.height&&i.jsx(bs,{label:"Height",value:t.height,onClick:k}),t.scheduler&&i.jsx(bs,{label:"Scheduler",value:t.scheduler,onClick:_}),t.steps&&i.jsx(bs,{label:"Steps",value:t.steps,onClick:P}),t.cfg_scale!==void 0&&i.jsx(bs,{label:"CFG scale",value:t.cfg_scale,onClick:I}),t.strength&&i.jsx(bs,{label:"Image to image strength",value:t.strength,onClick:E})]})},Dre=e=>{const{copyTooltip:t,jsonObject:n}=e,r=f.useMemo(()=>JSON.stringify(n,null,2),[n]);return i.jsxs(W,{sx:{borderRadius:"base",bg:"whiteAlpha.500",_dark:{bg:"blackAlpha.500"},flexGrow:1,w:"full",h:"full",position:"relative"},children:[i.jsx(Re,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"auto",p:4},children:i.jsx(zE,{defer:!0,style:{height:"100%",width:"100%"},options:{scrollbars:{visibility:"auto",autoHide:"move",autoHideDelay:1300,theme:"os-theme-dark"}},children:i.jsx("pre",{children:r})})}),i.jsx(W,{sx:{position:"absolute",top:0,insetInlineEnd:0,p:2},children:i.jsx(vn,{label:t,children:i.jsx(ka,{"aria-label":t,icon:i.jsx(qc,{}),variant:"ghost",onClick:()=>navigator.clipboard.writeText(r)})})})]})},Are=({image:e})=>{const[t,n]=Ky(e.image_name,500),{currentData:r}=rb(n.isPending()?ro.skipToken:t??ro.skipToken),o=r==null?void 0:r.metadata,s=r==null?void 0:r.graph,a=f.useMemo(()=>{const c=[];return o&&c.push({label:"Core Metadata",data:o,copyTooltip:"Copy Core Metadata JSON"}),e&&c.push({label:"Image Details",data:e,copyTooltip:"Copy Image Details JSON"}),s&&c.push({label:"Graph",data:s,copyTooltip:"Copy Graph JSON"}),c},[o,s,e]);return i.jsxs(W,{sx:{padding:4,gap:1,flexDirection:"column",width:"full",height:"full",backdropFilter:"blur(20px)",bg:"baseAlpha.200",_dark:{bg:"blackAlpha.600"},borderRadius:"base",position:"absolute",overflow:"hidden"},children:[i.jsxs(W,{gap:2,children:[i.jsx(Qe,{fontWeight:"semibold",children:"File:"}),i.jsxs(Mb,{href:e.image_url,isExternal:!0,maxW:"calc(100% - 3rem)",children:[e.image_name,i.jsx(VE,{mx:"2px"})]})]}),i.jsx(Mre,{metadata:o}),i.jsxs(Ld,{variant:"line",sx:{display:"flex",flexDir:"column",w:"full",h:"full"},children:[i.jsx(zd,{children:a.map(c=>i.jsx(kc,{sx:{borderTopRadius:"base"},children:i.jsx(Qe,{sx:{color:"base.700",_dark:{color:"base.300"}},children:c.label})},c.label))}),i.jsx($m,{sx:{w:"full",h:"full"},children:a.map(c=>i.jsx(Nm,{sx:{w:"full",h:"full",p:0,pt:4},children:i.jsx(Dre,{jsonObject:c.data,copyTooltip:c.copyTooltip})},c.label))})]})]})},Tre=f.memo(Are),gv={color:"base.100",pointerEvents:"auto"},Nre=()=>{const{t:e}=ye(),{handlePrevImage:t,handleNextImage:n,isOnFirstImage:r,isOnLastImage:o,handleLoadMoreImages:s,areMoreImagesAvailable:a,isFetching:c}=VO();return i.jsxs(Re,{sx:{position:"relative",height:"100%",width:"100%"},children:[i.jsx(Re,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineStart:0},children:!r&&i.jsx(ka,{"aria-label":e("accessibility.previousImage"),icon:i.jsx(IY,{size:64}),variant:"unstyled",onClick:t,boxSize:16,sx:gv})}),i.jsxs(Re,{sx:{pos:"absolute",top:"50%",transform:"translate(0, -50%)",insetInlineEnd:0},children:[!o&&i.jsx(ka,{"aria-label":e("accessibility.nextImage"),icon:i.jsx(EY,{size:64}),variant:"unstyled",onClick:n,boxSize:16,sx:gv}),o&&a&&!c&&i.jsx(ka,{"aria-label":e("accessibility.loadMore"),icon:i.jsx(jY,{size:64}),variant:"unstyled",onClick:s,boxSize:16,sx:gv}),o&&a&&c&&i.jsx(W,{sx:{w:16,h:16,alignItems:"center",justifyContent:"center"},children:i.jsx(hl,{opacity:.5,size:"xl"})})]})]})},$re=f.memo(Nre),Lre=be([lt,hM],({ui:e,system:t},n)=>{const{shouldShowImageDetails:r,shouldHidePreview:o,shouldShowProgressInViewer:s}=e,{progressImage:a,shouldAntialiasProgressImage:c}=t;return{shouldShowImageDetails:r,shouldHidePreview:o,imageName:n==null?void 0:n.image_name,progressImage:a,shouldShowProgressInViewer:s,shouldAntialiasProgressImage:c}},{memoizeOptions:{resultEqualityCheck:Zt}}),zre=()=>{const{shouldShowImageDetails:e,imageName:t,progressImage:n,shouldShowProgressInViewer:r,shouldAntialiasProgressImage:o}=B(Lre),{handlePrevImage:s,handleNextImage:a,isOnLastImage:c,handleLoadMoreImages:d,areMoreImagesAvailable:p,isFetching:h}=VO();tt("left",()=>{s()},[s]),tt("right",()=>{if(c&&p&&!h){d();return}c||a()},[c,p,d,h,a]);const{currentData:m}=Is(t??ro.skipToken),v=f.useMemo(()=>{if(m)return{id:"current-image",payloadType:"IMAGE_DTO",payload:{imageDTO:m}}},[m]),b=f.useMemo(()=>({id:"current-image",actionType:"SET_CURRENT_IMAGE"}),[]),[w,y]=f.useState(!1),S=f.useRef(0),k=f.useCallback(()=>{y(!0),window.clearTimeout(S.current)},[]),_=f.useCallback(()=>{S.current=window.setTimeout(()=>{y(!1)},500)},[]);return i.jsxs(W,{onMouseOver:k,onMouseOut:_,sx:{width:"full",height:"full",alignItems:"center",justifyContent:"center",position:"relative"},children:[n&&r?i.jsx(Lc,{src:n.dataURL,width:n.width,height:n.height,draggable:!1,sx:{objectFit:"contain",maxWidth:"full",maxHeight:"full",height:"auto",position:"absolute",borderRadius:"base",imageRendering:o?"auto":"pixelated"}}):i.jsx(fl,{imageDTO:m,droppableData:b,draggableData:v,isUploadDisabled:!0,fitContainer:!0,useThumbailFallback:!0,dropLabel:"Set as Current Image",noContentFallback:i.jsx(tl,{icon:Oc,label:"No image selected"})}),e&&m&&i.jsx(Re,{sx:{position:"absolute",top:"0",width:"full",height:"full",borderRadius:"base"},children:i.jsx(Tre,{image:m})}),i.jsx(mo,{children:!e&&m&&w&&i.jsx(Er.div,{initial:{opacity:0},animate:{opacity:1,transition:{duration:.1}},exit:{opacity:0,transition:{duration:.1}},style:{position:"absolute",top:"0",width:"100%",height:"100%",pointerEvents:"none"},children:i.jsx($re,{})},"nextPrevButtons")})]})},Bre=f.memo(zre),Fre=()=>i.jsxs(W,{sx:{position:"relative",flexDirection:"column",height:"100%",width:"100%",rowGap:4,alignItems:"center",justifyContent:"center"},children:[i.jsx(Ere,{}),i.jsx(Bre,{})]}),UO=()=>i.jsx(Re,{layerStyle:"first",sx:{position:"relative",width:"100%",height:"100%",p:4,borderRadius:"base"},children:i.jsx(W,{sx:{width:"100%",height:"100%"},children:i.jsx(Fre,{})})});function Hre(){const e=B(d=>d.generation.clipSkip),{model:t}=B(d=>d.generation),n=te(),{t:r}=ye(),o=f.useCallback(d=>{n(dw(d))},[n]),s=f.useCallback(()=>{n(dw(0))},[n]),a=f.useMemo(()=>t?Bf[t.base_model].maxClip:Bf["sd-1"].maxClip,[t]),c=f.useMemo(()=>t?Bf[t.base_model].markers:Bf["sd-1"].markers,[t]);return i.jsx(_t,{label:r("parameters.clipSkip"),"aria-label":r("parameters.clipSkip"),min:0,max:a,step:1,value:e,onChange:o,withSliderMarks:!0,sliderMarks:c,withInput:!0,withReset:!0,handleReset:s})}const Wre=be(lt,e=>({activeLabel:e.generation.clipSkip>0?"Clip Skip":void 0}),Je);function ox(){const{activeLabel:e}=B(Wre);return B(n=>n.generation.shouldShowAdvancedOptions)?i.jsx(Mo,{label:"Advanced",activeLabel:e,children:i.jsx(W,{sx:{flexDir:"column",gap:2},children:i.jsx(Hre,{})})}):null}const GO=e=>{const t=Sd("models"),[n,r,o]=e.split("/"),s=mM.safeParse({base_model:n,model_name:o});if(!s.success){t.error({controlNetModelId:e,errors:s.error.format()},"Failed to parse ControlNet model id");return}return s.data},Vre=be(lt,({generation:e})=>{const{model:t}=e;return{mainModel:t}},Je),Ure=e=>{const{controlNetId:t,model:n,isEnabled:r}=e.controlNet,o=te(),s=B(kr),{mainModel:a}=B(Vre),{data:c}=lb(),d=f.useMemo(()=>{if(!c)return[];const m=[];return oo(c.entities,(v,b)=>{if(!v)return;const w=(v==null?void 0:v.base_model)!==(a==null?void 0:a.base_model);m.push({value:b,label:v.model_name,group:Qn[v.base_model],disabled:w,tooltip:w?`Incompatible base model: ${v.base_model}`:void 0})}),m},[c,a==null?void 0:a.base_model]),p=f.useMemo(()=>(c==null?void 0:c.entities[`${n==null?void 0:n.base_model}/controlnet/${n==null?void 0:n.model_name}`])??null,[n==null?void 0:n.base_model,n==null?void 0:n.model_name,c==null?void 0:c.entities]),h=f.useCallback(m=>{if(!m)return;const v=GO(m);v&&o(a5({controlNetId:t,model:v}))},[t,o]);return i.jsx(ar,{itemComponent:Oi,data:d,error:!p||(a==null?void 0:a.base_model)!==p.base_model,placeholder:"Select a model",value:(p==null?void 0:p.id)??null,onChange:h,disabled:s||!r,tooltip:p==null?void 0:p.description})},Gre=f.memo(Ure),qre=e=>{const{weight:t,isEnabled:n,controlNetId:r}=e.controlNet,o=te(),s=f.useCallback(a=>{o(gM({controlNetId:r,weight:a}))},[r,o]);return i.jsx(_t,{isDisabled:!n,label:"Weight",value:t,onChange:s,min:0,max:2,step:.01,withSliderMarks:!0,sliderMarks:[0,1,2]})},Kre=f.memo(qre),Xre=be(lt,({controlNet:e})=>{const{pendingControlImages:t}=e;return{pendingControlImages:t}},Je),Yre=e=>{const{height:t}=e,{controlImage:n,processedControlImage:r,processorType:o,isEnabled:s,controlNetId:a}=e.controlNet,c=te(),{pendingControlImages:d}=B(Xre),[p,h]=f.useState(!1),{currentData:m}=Is(n??ro.skipToken),{currentData:v}=Is(r??ro.skipToken),b=f.useCallback(()=>{c(vM({controlNetId:a,controlImage:null}))},[a,c]),w=f.useCallback(()=>{h(!0)},[]),y=f.useCallback(()=>{h(!1)},[]),S=f.useMemo(()=>{if(m)return{id:a,payloadType:"IMAGE_DTO",payload:{imageDTO:m}}},[m,a]),k=f.useMemo(()=>({id:a,actionType:"SET_CONTROLNET_IMAGE",context:{controlNetId:a}}),[a]),_=f.useMemo(()=>({type:"SET_CONTROLNET_IMAGE",controlNetId:a}),[a]),P=m&&v&&!p&&!d.includes(a)&&o!=="none";return i.jsxs(W,{onMouseEnter:w,onMouseLeave:y,sx:{position:"relative",w:"full",h:t,alignItems:"center",justifyContent:"center",pointerEvents:s?"auto":"none",opacity:s?1:.5},children:[i.jsx(fl,{draggableData:S,droppableData:k,imageDTO:m,isDropDisabled:P||!s,onClickReset:b,postUploadAction:_,resetTooltip:"Reset Control Image",withResetIcon:!!m}),i.jsx(Re,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",opacity:P?1:0,transitionProperty:"common",transitionDuration:"normal",pointerEvents:"none"},children:i.jsx(fl,{draggableData:S,droppableData:k,imageDTO:v,isUploadDisabled:!0,isDropDisabled:!s,onClickReset:b,resetTooltip:"Reset Control Image",withResetIcon:!!m})}),d.includes(a)&&i.jsx(W,{sx:{position:"absolute",top:0,insetInlineStart:0,w:"full",h:"full",alignItems:"center",justifyContent:"center",opacity:.8,borderRadius:"base",bg:"base.400",_dark:{bg:"base.900"}},children:i.jsx(hl,{size:"xl",sx:{color:"base.100",_dark:{color:"base.400"}}})})]})},Tk=f.memo(Yre),Ts=()=>{const e=te();return f.useCallback((n,r)=>{e(bM({controlNetId:n,changes:r}))},[e])};function Ns(e){return i.jsx(W,{sx:{flexDirection:"column",gap:2},children:e.children})}const Nk=ls.canny_image_processor.default,Qre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{low_threshold:o,high_threshold:s}=n,a=B(kr),c=Ts(),d=f.useCallback(v=>{c(t,{low_threshold:v})},[t,c]),p=f.useCallback(()=>{c(t,{low_threshold:Nk.low_threshold})},[t,c]),h=f.useCallback(v=>{c(t,{high_threshold:v})},[t,c]),m=f.useCallback(()=>{c(t,{high_threshold:Nk.high_threshold})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{isDisabled:a||!r,label:"Low Threshold",value:o,onChange:d,handleReset:p,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0}),i.jsx(_t,{isDisabled:a||!r,label:"High Threshold",value:s,onChange:h,handleReset:m,withReset:!0,min:0,max:255,withInput:!0,withSliderMarks:!0})]})},Jre=f.memo(Qre),Cu=ls.content_shuffle_image_processor.default,Zre=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,w:a,h:c,f:d}=n,p=Ts(),h=B(kr),m=f.useCallback(E=>{p(t,{detect_resolution:E})},[t,p]),v=f.useCallback(()=>{p(t,{detect_resolution:Cu.detect_resolution})},[t,p]),b=f.useCallback(E=>{p(t,{image_resolution:E})},[t,p]),w=f.useCallback(()=>{p(t,{image_resolution:Cu.image_resolution})},[t,p]),y=f.useCallback(E=>{p(t,{w:E})},[t,p]),S=f.useCallback(()=>{p(t,{w:Cu.w})},[t,p]),k=f.useCallback(E=>{p(t,{h:E})},[t,p]),_=f.useCallback(()=>{p(t,{h:Cu.h})},[t,p]),P=f.useCallback(E=>{p(t,{f:E})},[t,p]),I=f.useCallback(()=>{p(t,{f:Cu.f})},[t,p]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:m,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:b,handleReset:w,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"W",value:a,onChange:y,handleReset:S,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"H",value:c,onChange:k,handleReset:_,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r}),i.jsx(_t,{label:"F",value:d,onChange:P,handleReset:I,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:h||!r})]})},eoe=f.memo(Zre),$k=ls.hed_image_processor.default,toe=e=>{const{controlNetId:t,processorNode:{detect_resolution:n,image_resolution:r,scribble:o},isEnabled:s}=e,a=B(kr),c=Ts(),d=f.useCallback(b=>{c(t,{detect_resolution:b})},[t,c]),p=f.useCallback(b=>{c(t,{image_resolution:b})},[t,c]),h=f.useCallback(b=>{c(t,{scribble:b.target.checked})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:$k.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:$k.image_resolution})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:n,onChange:d,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:a||!s}),i.jsx(_t,{label:"Image Resolution",value:r,onChange:p,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:a||!s}),i.jsx(yr,{label:"Scribble",isChecked:o,onChange:h,isDisabled:a||!s})]})},noe=f.memo(toe),Lk=ls.lineart_anime_image_processor.default,roe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,a=Ts(),c=B(kr),d=f.useCallback(v=>{a(t,{detect_resolution:v})},[t,a]),p=f.useCallback(v=>{a(t,{image_resolution:v})},[t,a]),h=f.useCallback(()=>{a(t,{detect_resolution:Lk.detect_resolution})},[t,a]),m=f.useCallback(()=>{a(t,{image_resolution:Lk.image_resolution})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},ooe=f.memo(roe),zk=ls.lineart_image_processor.default,soe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,coarse:a}=n,c=Ts(),d=B(kr),p=f.useCallback(w=>{c(t,{detect_resolution:w})},[t,c]),h=f.useCallback(w=>{c(t,{image_resolution:w})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:zk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:zk.image_resolution})},[t,c]),b=f.useCallback(w=>{c(t,{coarse:w.target.checked})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(yr,{label:"Coarse",isChecked:a,onChange:b,isDisabled:d||!r})]})},aoe=f.memo(soe),Bk=ls.mediapipe_face_processor.default,ioe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{max_faces:o,min_confidence:s}=n,a=Ts(),c=B(kr),d=f.useCallback(v=>{a(t,{max_faces:v})},[t,a]),p=f.useCallback(v=>{a(t,{min_confidence:v})},[t,a]),h=f.useCallback(()=>{a(t,{max_faces:Bk.max_faces})},[t,a]),m=f.useCallback(()=>{a(t,{min_confidence:Bk.min_confidence})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Max Faces",value:o,onChange:d,handleReset:h,withReset:!0,min:1,max:20,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Min Confidence",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},loe=f.memo(ioe),Fk=ls.midas_depth_image_processor.default,coe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{a_mult:o,bg_th:s}=n,a=Ts(),c=B(kr),d=f.useCallback(v=>{a(t,{a_mult:v})},[t,a]),p=f.useCallback(v=>{a(t,{bg_th:v})},[t,a]),h=f.useCallback(()=>{a(t,{a_mult:Fk.a_mult})},[t,a]),m=f.useCallback(()=>{a(t,{bg_th:Fk.bg_th})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"a_mult",value:o,onChange:d,handleReset:h,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"bg_th",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:20,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},uoe=f.memo(coe),_p=ls.mlsd_image_processor.default,doe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,thr_d:a,thr_v:c}=n,d=Ts(),p=B(kr),h=f.useCallback(_=>{d(t,{detect_resolution:_})},[t,d]),m=f.useCallback(_=>{d(t,{image_resolution:_})},[t,d]),v=f.useCallback(_=>{d(t,{thr_d:_})},[t,d]),b=f.useCallback(_=>{d(t,{thr_v:_})},[t,d]),w=f.useCallback(()=>{d(t,{detect_resolution:_p.detect_resolution})},[t,d]),y=f.useCallback(()=>{d(t,{image_resolution:_p.image_resolution})},[t,d]),S=f.useCallback(()=>{d(t,{thr_d:_p.thr_d})},[t,d]),k=f.useCallback(()=>{d(t,{thr_v:_p.thr_v})},[t,d]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:h,handleReset:w,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:m,handleReset:y,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"W",value:a,onChange:v,handleReset:S,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"H",value:c,onChange:b,handleReset:k,withReset:!0,min:0,max:1,step:.01,withInput:!0,withSliderMarks:!0,isDisabled:p||!r})]})},foe=f.memo(doe),Hk=ls.normalbae_image_processor.default,poe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s}=n,a=Ts(),c=B(kr),d=f.useCallback(v=>{a(t,{detect_resolution:v})},[t,a]),p=f.useCallback(v=>{a(t,{image_resolution:v})},[t,a]),h=f.useCallback(()=>{a(t,{detect_resolution:Hk.detect_resolution})},[t,a]),m=f.useCallback(()=>{a(t,{image_resolution:Hk.image_resolution})},[t,a]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:d,handleReset:h,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:c||!r})]})},hoe=f.memo(poe),Wk=ls.openpose_image_processor.default,moe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,hand_and_face:a}=n,c=Ts(),d=B(kr),p=f.useCallback(w=>{c(t,{detect_resolution:w})},[t,c]),h=f.useCallback(w=>{c(t,{image_resolution:w})},[t,c]),m=f.useCallback(()=>{c(t,{detect_resolution:Wk.detect_resolution})},[t,c]),v=f.useCallback(()=>{c(t,{image_resolution:Wk.image_resolution})},[t,c]),b=f.useCallback(w=>{c(t,{hand_and_face:w.target.checked})},[t,c]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:p,handleReset:m,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:d||!r}),i.jsx(yr,{label:"Hand and Face",isChecked:a,onChange:b,isDisabled:d||!r})]})},goe=f.memo(moe),Vk=ls.pidi_image_processor.default,voe=e=>{const{controlNetId:t,processorNode:n,isEnabled:r}=e,{image_resolution:o,detect_resolution:s,scribble:a,safe:c}=n,d=Ts(),p=B(kr),h=f.useCallback(S=>{d(t,{detect_resolution:S})},[t,d]),m=f.useCallback(S=>{d(t,{image_resolution:S})},[t,d]),v=f.useCallback(()=>{d(t,{detect_resolution:Vk.detect_resolution})},[t,d]),b=f.useCallback(()=>{d(t,{image_resolution:Vk.image_resolution})},[t,d]),w=f.useCallback(S=>{d(t,{scribble:S.target.checked})},[t,d]),y=f.useCallback(S=>{d(t,{safe:S.target.checked})},[t,d]);return i.jsxs(Ns,{children:[i.jsx(_t,{label:"Detect Resolution",value:s,onChange:h,handleReset:v,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(_t,{label:"Image Resolution",value:o,onChange:m,handleReset:b,withReset:!0,min:0,max:4096,withInput:!0,withSliderMarks:!0,isDisabled:p||!r}),i.jsx(yr,{label:"Scribble",isChecked:a,onChange:w}),i.jsx(yr,{label:"Safe",isChecked:c,onChange:y,isDisabled:p||!r})]})},boe=f.memo(voe),yoe=e=>null,xoe=f.memo(yoe),woe=e=>{const{controlNetId:t,isEnabled:n,processorNode:r}=e.controlNet;return r.type==="canny_image_processor"?i.jsx(Jre,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="hed_image_processor"?i.jsx(noe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="lineart_image_processor"?i.jsx(aoe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="content_shuffle_image_processor"?i.jsx(eoe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="lineart_anime_image_processor"?i.jsx(ooe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="mediapipe_face_processor"?i.jsx(loe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="midas_depth_image_processor"?i.jsx(uoe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="mlsd_image_processor"?i.jsx(foe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="normalbae_image_processor"?i.jsx(hoe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="openpose_image_processor"?i.jsx(goe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="pidi_image_processor"?i.jsx(boe,{controlNetId:t,processorNode:r,isEnabled:n}):r.type==="zoe_depth_image_processor"?i.jsx(xoe,{controlNetId:t,processorNode:r,isEnabled:n}):null},Soe=f.memo(woe),Coe=e=>{const{controlNetId:t,isEnabled:n,shouldAutoConfig:r}=e.controlNet,o=te(),s=B(kr),a=f.useCallback(()=>{o(yM({controlNetId:t}))},[t,o]);return i.jsx(yr,{label:"Auto configure processor","aria-label":"Auto configure processor",isChecked:r,onChange:a,isDisabled:s||!n})},koe=f.memo(Coe),Uk=e=>`${Math.round(e*100)}%`,_oe=e=>{const{beginStepPct:t,endStepPct:n,isEnabled:r,controlNetId:o}=e.controlNet,s=te(),a=f.useCallback(c=>{s(xM({controlNetId:o,beginStepPct:c[0]})),s(wM({controlNetId:o,endStepPct:c[1]}))},[o,s]);return i.jsxs(go,{isDisabled:!r,children:[i.jsx(Bo,{children:"Begin / End Step Percentage"}),i.jsx(pi,{w:"100%",gap:2,alignItems:"center",children:i.jsxs(K6,{"aria-label":["Begin Step %","End Step %"],value:[t,n],onChange:a,min:0,max:1,step:.01,minStepsBetweenThumbs:5,isDisabled:!r,children:[i.jsx(X6,{children:i.jsx(Y6,{})}),i.jsx(vn,{label:Uk(t),placement:"top",hasArrow:!0,children:i.jsx(s1,{index:0})}),i.jsx(vn,{label:Uk(n),placement:"top",hasArrow:!0,children:i.jsx(s1,{index:1})}),i.jsx(Ap,{value:0,sx:{insetInlineStart:"0 !important",insetInlineEnd:"unset !important"},children:"0%"}),i.jsx(Ap,{value:.5,sx:{insetInlineStart:"50% !important",transform:"translateX(-50%)"},children:"50%"}),i.jsx(Ap,{value:1,sx:{insetInlineStart:"unset !important",insetInlineEnd:"0 !important"},children:"100%"})]})})]})},Poe=f.memo(_oe),joe=[{label:"Balanced",value:"balanced"},{label:"Prompt",value:"more_prompt"},{label:"Control",value:"more_control"},{label:"Mega Control",value:"unbalanced"}];function Ioe(e){const{controlMode:t,isEnabled:n,controlNetId:r}=e.controlNet,o=te(),s=f.useCallback(a=>{o(SM({controlNetId:r,controlMode:a}))},[r,o]);return i.jsx(Xr,{disabled:!n,label:"Control Mode",data:joe,value:String(t),onChange:s})}const Eoe=be(bO,e=>cs(ls,n=>({value:n.type,label:n.label})).sort((n,r)=>n.value==="none"?-1:r.value==="none"?1:n.label.localeCompare(r.label)).filter(n=>!e.sd.disabledControlNetProcessors.includes(n.value)),Je),Ooe=e=>{const t=te(),{controlNetId:n,isEnabled:r,processorNode:o}=e.controlNet,s=B(kr),a=B(Eoe),c=f.useCallback(d=>{t(CM({controlNetId:n,processorType:d}))},[n,t]);return i.jsx(ar,{label:"Processor",value:o.type??"canny_image_processor",data:a,onChange:c,disabled:s||!r})},Roe=f.memo(Ooe),Moe=[{label:"Resize",value:"just_resize"},{label:"Crop",value:"crop_resize"},{label:"Fill",value:"fill_resize"}];function Doe(e){const{resizeMode:t,isEnabled:n,controlNetId:r}=e.controlNet,o=te(),s=f.useCallback(a=>{o(kM({controlNetId:r,resizeMode:a}))},[r,o]);return i.jsx(Xr,{disabled:!n,label:"Resize Mode",data:Moe,value:String(t),onChange:s})}const Aoe=e=>{const{controlNet:t}=e,{controlNetId:n}=t,r=te(),o=be(lt,({controlNet:v})=>{const b=v.controlNets[n];if(!b)return{isEnabled:!1,shouldAutoConfig:!1};const{isEnabled:w,shouldAutoConfig:y}=b;return{isEnabled:w,shouldAutoConfig:y}},Je),{isEnabled:s,shouldAutoConfig:a}=B(o),[c,d]=Dee(!1),p=f.useCallback(()=>{r(_M({controlNetId:n}))},[n,r]),h=f.useCallback(()=>{r(PM({sourceControlNetId:n,newControlNetId:fi()}))},[n,r]),m=f.useCallback(()=>{r(jM({controlNetId:n}))},[n,r]);return i.jsxs(W,{sx:{flexDir:"column",gap:3,p:3,borderRadius:"base",position:"relative",bg:"base.200",_dark:{bg:"base.850"}},children:[i.jsxs(W,{sx:{gap:2,alignItems:"center"},children:[i.jsx(yr,{tooltip:"Toggle this ControlNet","aria-label":"Toggle this ControlNet",isChecked:s,onChange:m}),i.jsx(Re,{sx:{w:"full",minW:0,opacity:s?1:.5,pointerEvents:s?"auto":"none",transitionProperty:"common",transitionDuration:"0.1s"},children:i.jsx(Gre,{controlNet:t})}),i.jsx(ze,{size:"sm",tooltip:"Duplicate","aria-label":"Duplicate",onClick:h,icon:i.jsx(qc,{})}),i.jsx(ze,{size:"sm",tooltip:"Delete","aria-label":"Delete",colorScheme:"error",onClick:p,icon:i.jsx(Eo,{})}),i.jsx(ze,{size:"sm",tooltip:c?"Hide Advanced":"Show Advanced","aria-label":c?"Hide Advanced":"Show Advanced",onClick:d,variant:"ghost",sx:{_hover:{bg:"none"}},icon:i.jsx(zy,{sx:{boxSize:4,color:"base.700",transform:c?"rotate(0deg)":"rotate(180deg)",transitionProperty:"common",transitionDuration:"normal",_dark:{color:"base.300"}}})}),!a&&i.jsx(Re,{sx:{position:"absolute",w:1.5,h:1.5,borderRadius:"full",top:4,insetInlineEnd:4,bg:"accent.700",_dark:{bg:"accent.400"}}})]}),i.jsxs(W,{sx:{w:"full",flexDirection:"column",gap:3},children:[i.jsxs(W,{sx:{gap:4,w:"full",alignItems:"center"},children:[i.jsxs(W,{sx:{flexDir:"column",gap:3,h:28,w:"full",paddingInlineStart:1,paddingInlineEnd:c?1:0,pb:2,justifyContent:"space-between"},children:[i.jsx(Kre,{controlNet:t}),i.jsx(Poe,{controlNet:t})]}),!c&&i.jsx(W,{sx:{alignItems:"center",justifyContent:"center",h:28,w:28,aspectRatio:"1/1"},children:i.jsx(Tk,{controlNet:t,height:28})})]}),i.jsxs(W,{sx:{gap:2},children:[i.jsx(Ioe,{controlNet:t}),i.jsx(Doe,{controlNet:t})]}),i.jsx(Roe,{controlNet:t})]}),c&&i.jsxs(i.Fragment,{children:[i.jsx(Tk,{controlNet:t,height:"392px"}),i.jsx(koe,{controlNet:t}),i.jsx(Soe,{controlNet:t})]})]})},Toe=f.memo(Aoe),Noe=be(lt,e=>{const{isEnabled:t}=e.controlNet;return{isEnabled:t}},Je),$oe=()=>{const{isEnabled:e}=B(Noe),t=te(),n=f.useCallback(()=>{t(IM())},[t]);return i.jsx(yr,{label:"Enable ControlNet",isChecked:e,onChange:n,formControlProps:{width:"100%"}})},Loe=be([lt],({controlNet:e})=>{const{controlNets:t,isEnabled:n}=e,r=EM(t),o=n&&r.length>0?`${r.length} Active`:void 0;return{controlNetsArray:cs(t),activeLabel:o}},Je),zoe=()=>{const{controlNetsArray:e,activeLabel:t}=B(Loe),n=ir("controlNet").isFeatureDisabled,r=te(),{firstModel:o}=lb(void 0,{selectFromResult:a=>({firstModel:a.data?OM.getSelectors().selectAll(a.data)[0]:void 0})}),s=f.useCallback(()=>{if(!o)return;const a=fi();r(RM({controlNetId:a})),r(a5({controlNetId:a,model:o}))},[r,o]);return n?null:i.jsx(Mo,{label:"ControlNet",activeLabel:t,children:i.jsxs(W,{sx:{flexDir:"column",gap:3},children:[i.jsxs(W,{gap:2,alignItems:"center",children:[i.jsx(W,{sx:{flexDirection:"column",w:"100%",gap:2,px:4,py:2,borderRadius:4,bg:"base.200",_dark:{bg:"base.850"}},children:i.jsx($oe,{})}),i.jsx(ze,{tooltip:"Add ControlNet","aria-label":"Add ControlNet",icon:i.jsx(yl,{}),isDisabled:!o,flexGrow:1,size:"md",onClick:s})]}),e.map((a,c)=>i.jsxs(f.Fragment,{children:[c>0&&i.jsx(Wa,{}),i.jsx(Toe,{controlNet:a})]},a.controlNetId))]})})},sx=f.memo(zoe),Boe=be(Mi,e=>{const{seamlessXAxis:t}=e;return{seamlessXAxis:t}},Je),Foe=()=>{const{t:e}=ye(),{seamlessXAxis:t}=B(Boe),n=te(),r=f.useCallback(o=>{n(MM(o.target.checked))},[n]);return i.jsx(yr,{label:e("parameters.seamlessXAxis"),"aria-label":e("parameters.seamlessXAxis"),isChecked:t,onChange:r})},Hoe=f.memo(Foe),Woe=be(Mi,e=>{const{seamlessYAxis:t}=e;return{seamlessYAxis:t}},Je),Voe=()=>{const{t:e}=ye(),{seamlessYAxis:t}=B(Woe),n=te(),r=f.useCallback(o=>{n(DM(o.target.checked))},[n]);return i.jsx(yr,{label:e("parameters.seamlessYAxis"),"aria-label":e("parameters.seamlessYAxis"),isChecked:t,onChange:r})},Uoe=f.memo(Voe),Goe=(e,t)=>{if(e&&t)return"X & Y";if(e)return"X";if(t)return"Y"},qoe=be(Mi,e=>{const{seamlessXAxis:t,seamlessYAxis:n}=e;return{activeLabel:Goe(t,n)}},Je),Koe=()=>{const{t:e}=ye(),{activeLabel:t}=B(qoe);return ir("seamless").isFeatureEnabled?i.jsx(Mo,{label:e("parameters.seamlessTiling"),activeLabel:t,children:i.jsxs(W,{sx:{gap:5},children:[i.jsx(Re,{flexGrow:1,children:i.jsx(Hoe,{})}),i.jsx(Re,{flexGrow:1,children:i.jsx(Uoe,{})})]})}):null},qO=f.memo(Koe);function Xoe(){const e=B(o=>o.generation.horizontalSymmetrySteps),t=B(o=>o.generation.steps),n=te(),{t:r}=ye();return i.jsx(_t,{label:r("parameters.hSymmetryStep"),value:e,onChange:o=>n(fw(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(fw(0))})}function Yoe(){const e=B(o=>o.generation.verticalSymmetrySteps),t=B(o=>o.generation.steps),n=te(),{t:r}=ye();return i.jsx(_t,{label:r("parameters.vSymmetryStep"),value:e,onChange:o=>n(pw(o)),min:0,max:t,step:1,withInput:!0,withSliderMarks:!0,withReset:!0,handleReset:()=>n(pw(0))})}function Qoe(){const e=B(n=>n.generation.shouldUseSymmetry),t=te();return i.jsx(yr,{label:"Enable Symmetry",isChecked:e,onChange:n=>t(AM(n.target.checked))})}const Joe=be(lt,e=>({activeLabel:e.generation.shouldUseSymmetry?"Enabled":void 0}),Je),Zoe=()=>{const{t:e}=ye(),{activeLabel:t}=B(Joe);return ir("symmetry").isFeatureEnabled?i.jsx(Mo,{label:e("parameters.symmetry"),activeLabel:t,children:i.jsxs(W,{sx:{gap:2,flexDirection:"column"},children:[i.jsx(Qoe,{}),i.jsx(Xoe,{}),i.jsx(Yoe,{})]})}):null},ax=f.memo(Zoe);function ix(){return i.jsxs(W,{sx:{flexDirection:"column",gap:2},children:[i.jsx(AO,{}),i.jsx(DO,{})]})}const ese=be([lt],({generation:e,hotkeys:t,config:n})=>{const{initial:r,min:o,sliderMax:s,inputMax:a,fineStep:c,coarseStep:d}=n.sd.img2imgStrength,{img2imgStrength:p}=e,h=t.shift?c:d;return{img2imgStrength:p,initial:r,min:o,sliderMax:s,inputMax:a,step:h}},Je),tse=()=>{const{img2imgStrength:e,initial:t,min:n,sliderMax:r,inputMax:o,step:s}=B(ese),a=te(),{t:c}=ye(),d=f.useCallback(h=>a(Vp(h)),[a]),p=f.useCallback(()=>{a(Vp(t))},[a,t]);return i.jsx(_t,{label:`${c("parameters.denoisingStrength")}`,step:s,min:n,max:r,onChange:d,handleReset:p,value:e,isInteger:!1,withInput:!0,withSliderMarks:!0,withReset:!0,sliderNumberInputProps:{max:o}})},KO=f.memo(tse),nse=be([Ba,Mi],(e,t)=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Je),rse=()=>{const{shouldUseSliders:e,activeLabel:t}=B(nse);return i.jsx(Mo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsxs(W,{sx:{flexDirection:"column",gap:3},children:[e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(Mc,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(Mc,{})]}),i.jsx(KO,{}),i.jsx(BO,{})]})})},ose=f.memo(rse),XO=()=>i.jsxs(i.Fragment,{children:[i.jsx(ix,{}),i.jsx(Yd,{}),i.jsx(ose,{}),i.jsx(sx,{}),i.jsx(Jd,{}),i.jsx(Kd,{}),i.jsx(ag,{}),i.jsx(ax,{}),i.jsx(qO,{}),i.jsx(ox,{})]}),sse=()=>{const e=te(),t=f.useRef(null),n=B(o=>o.generation.model),r=f.useCallback(()=>{t.current&&t.current.setLayout([50,50])},[]);return i.jsxs(W,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(rx,{children:n&&n.base_model==="sdxl"?i.jsx(FO,{}):i.jsx(XO,{})}),i.jsx(Re,{sx:{w:"full",h:"full"},children:i.jsxs(Jy,{ref:t,autoSaveId:"imageTab.content",direction:"horizontal",style:{height:"100%",width:"100%"},children:[i.jsx(md,{id:"imageTab.content.initImage",order:0,defaultSize:50,minSize:25,style:{position:"relative"},children:i.jsx(jte,{})}),i.jsx(WO,{onDoubleClick:r}),i.jsx(md,{id:"imageTab.content.selectedImage",order:1,defaultSize:50,minSize:25,onResize:()=>{e(ko())},children:i.jsx(UO,{})})]})})]})},ase=f.memo(sse);var ise=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,o,s;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(o=r;o--!==0;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(s=Object.keys(t),r=s.length,r!==Object.keys(n).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[o]))return!1;for(o=r;o--!==0;){var a=s[o];if(!e(t[a],n[a]))return!1}return!0}return t!==t&&n!==n};const Gk=yd(ise);function z1(e){return e===null||typeof e!="object"?{}:Object.keys(e).reduce((t,n)=>{const r=e[n];return r!=null&&r!==!1&&(t[n]=r),t},{})}var lse=Object.defineProperty,qk=Object.getOwnPropertySymbols,cse=Object.prototype.hasOwnProperty,use=Object.prototype.propertyIsEnumerable,Kk=(e,t,n)=>t in e?lse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dse=(e,t)=>{for(var n in t||(t={}))cse.call(t,n)&&Kk(e,n,t[n]);if(qk)for(var n of qk(t))use.call(t,n)&&Kk(e,n,t[n]);return e};function YO(e,t){if(t===null||typeof t!="object")return{};const n=dse({},t);return Object.keys(t).forEach(r=>{r.includes(`${String(e)}.`)&&delete n[r]}),n}const fse="__MANTINE_FORM_INDEX__";function Xk(e,t){return t?typeof t=="boolean"?t:Array.isArray(t)?t.includes(e.replace(/[.][0-9]/g,`.${fse}`)):!1:!1}function Yk(e,t,n){typeof n.value=="object"&&(n.value=ec(n.value)),!n.enumerable||n.get||n.set||!n.configurable||!n.writable||t==="__proto__"?Object.defineProperty(e,t,n):e[t]=n.value}function ec(e){if(typeof e!="object")return e;var t=0,n,r,o,s=Object.prototype.toString.call(e);if(s==="[object Object]"?o=Object.create(e.__proto__||null):s==="[object Array]"?o=Array(e.length):s==="[object Set]"?(o=new Set,e.forEach(function(a){o.add(ec(a))})):s==="[object Map]"?(o=new Map,e.forEach(function(a,c){o.set(ec(c),ec(a))})):s==="[object Date]"?o=new Date(+e):s==="[object RegExp]"?o=new RegExp(e.source,e.flags):s==="[object DataView]"?o=new e.constructor(ec(e.buffer)):s==="[object ArrayBuffer]"?o=e.slice(0):s.slice(-6)==="Array]"&&(o=new e.constructor(e)),o){for(r=Object.getOwnPropertySymbols(e);t0,errors:t}}function B1(e,t,n="",r={}){return typeof e!="object"||e===null?r:Object.keys(e).reduce((o,s)=>{const a=e[s],c=`${n===""?"":`${n}.`}${s}`,d=xa(c,t);let p=!1;return typeof a=="function"&&(o[c]=a(d,t,c)),typeof a=="object"&&Array.isArray(d)&&(p=!0,d.forEach((h,m)=>B1(a,t,`${c}.${m}`,o))),typeof a=="object"&&typeof d=="object"&&d!==null&&(p||B1(a,t,c,o)),o},r)}function F1(e,t){return Qk(typeof e=="function"?e(t):B1(e,t))}function Pp(e,t,n){if(typeof e!="string")return{hasError:!1,error:null};const r=F1(t,n),o=Object.keys(r.errors).find(s=>e.split(".").every((a,c)=>a===s.split(".")[c]));return{hasError:!!o,error:o?r.errors[o]:null}}function pse(e,{from:t,to:n},r){const o=xa(e,r);if(!Array.isArray(o))return r;const s=[...o],a=o[t];return s.splice(t,1),s.splice(n,0,a),dg(e,s,r)}var hse=Object.defineProperty,Jk=Object.getOwnPropertySymbols,mse=Object.prototype.hasOwnProperty,gse=Object.prototype.propertyIsEnumerable,Zk=(e,t,n)=>t in e?hse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vse=(e,t)=>{for(var n in t||(t={}))mse.call(t,n)&&Zk(e,n,t[n]);if(Jk)for(var n of Jk(t))gse.call(t,n)&&Zk(e,n,t[n]);return e};function bse(e,{from:t,to:n},r){const o=`${e}.${t}`,s=`${e}.${n}`,a=vse({},r);return Object.keys(r).every(c=>{let d,p;if(c.startsWith(o)&&(d=c,p=c.replace(o,s)),c.startsWith(s)&&(d=c.replace(s,o),p=c),d&&p){const h=a[d],m=a[p];return m===void 0?delete a[d]:a[d]=m,h===void 0?delete a[p]:a[p]=h,!1}return!0}),a}function yse(e,t,n){const r=xa(e,n);return Array.isArray(r)?dg(e,r.filter((o,s)=>s!==t),n):n}var xse=Object.defineProperty,e_=Object.getOwnPropertySymbols,wse=Object.prototype.hasOwnProperty,Sse=Object.prototype.propertyIsEnumerable,t_=(e,t,n)=>t in e?xse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Cse=(e,t)=>{for(var n in t||(t={}))wse.call(t,n)&&t_(e,n,t[n]);if(e_)for(var n of e_(t))Sse.call(t,n)&&t_(e,n,t[n]);return e};function n_(e,t){const n=e.substring(t.length+1).split(".")[0];return parseInt(n,10)}function r_(e,t,n,r){if(t===void 0)return n;const o=`${String(e)}`;let s=n;r===-1&&(s=YO(`${o}.${t}`,s));const a=Cse({},s),c=new Set;return Object.entries(s).filter(([d])=>{if(!d.startsWith(`${o}.`))return!1;const p=n_(d,o);return Number.isNaN(p)?!1:p>=t}).forEach(([d,p])=>{const h=n_(d,o),m=d.replace(`${o}.${h}`,`${o}.${h+r}`);a[m]=p,c.add(m),c.has(d)||delete a[d]}),a}function kse(e,t,n,r){const o=xa(e,r);if(!Array.isArray(o))return r;const s=[...o];return s.splice(typeof n=="number"?n:s.length,0,t),dg(e,s,r)}function o_(e,t){const n=Object.keys(e);if(typeof t=="string"){const r=n.filter(o=>o.startsWith(`${t}.`));return e[t]||r.some(o=>e[o])||!1}return n.some(r=>e[r])}function _se(e){return t=>{if(!t)e(t);else if(typeof t=="function")e(t);else if(typeof t=="object"&&"nativeEvent"in t){const{currentTarget:n}=t;n instanceof HTMLInputElement?n.type==="checkbox"?e(n.checked):e(n.value):(n instanceof HTMLTextAreaElement||n instanceof HTMLSelectElement)&&e(n.value)}else e(t)}}var Pse=Object.defineProperty,jse=Object.defineProperties,Ise=Object.getOwnPropertyDescriptors,s_=Object.getOwnPropertySymbols,Ese=Object.prototype.hasOwnProperty,Ose=Object.prototype.propertyIsEnumerable,a_=(e,t,n)=>t in e?Pse(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ri=(e,t)=>{for(var n in t||(t={}))Ese.call(t,n)&&a_(e,n,t[n]);if(s_)for(var n of s_(t))Ose.call(t,n)&&a_(e,n,t[n]);return e},vv=(e,t)=>jse(e,Ise(t));function Sl({initialValues:e={},initialErrors:t={},initialDirty:n={},initialTouched:r={},clearInputErrorOnChange:o=!0,validateInputOnChange:s=!1,validateInputOnBlur:a=!1,transformValues:c=p=>p,validate:d}={}){const[p,h]=f.useState(r),[m,v]=f.useState(n),[b,w]=f.useState(e),[y,S]=f.useState(z1(t)),k=f.useRef(e),_=K=>{k.current=K},P=f.useCallback(()=>h({}),[]),I=K=>{const U=K?ri(ri({},b),K):b;_(U),v({})},E=f.useCallback(K=>S(U=>z1(typeof K=="function"?K(U):K)),[]),O=f.useCallback(()=>S({}),[]),R=f.useCallback(()=>{w(e),O(),_(e),v({}),P()},[]),M=f.useCallback((K,U)=>E(se=>vv(ri({},se),{[K]:U})),[]),D=f.useCallback(K=>E(U=>{if(typeof K!="string")return U;const se=ri({},U);return delete se[K],se}),[]),A=f.useCallback(K=>v(U=>{if(typeof K!="string")return U;const se=YO(K,U);return delete se[K],se}),[]),L=f.useCallback((K,U)=>{const se=Xk(K,s);A(K),h(re=>vv(ri({},re),{[K]:!0})),w(re=>{const oe=dg(K,U,re);if(se){const pe=Pp(K,d,oe);pe.hasError?M(K,pe.error):D(K)}return oe}),!se&&o&&M(K,null)},[]),Q=f.useCallback(K=>{w(U=>{const se=typeof K=="function"?K(U):K;return ri(ri({},U),se)}),o&&O()},[]),F=f.useCallback((K,U)=>{A(K),w(se=>pse(K,U,se)),S(se=>bse(K,U,se))},[]),V=f.useCallback((K,U)=>{A(K),w(se=>yse(K,U,se)),S(se=>r_(K,U,se,-1))},[]),q=f.useCallback((K,U,se)=>{A(K),w(re=>kse(K,U,se,re)),S(re=>r_(K,se,re,1))},[]),G=f.useCallback(()=>{const K=F1(d,b);return S(K.errors),K},[b,d]),T=f.useCallback(K=>{const U=Pp(K,d,b);return U.hasError?M(K,U.error):D(K),U},[b,d]),z=(K,{type:U="input",withError:se=!0,withFocus:re=!0}={})=>{const pe={onChange:_se(le=>L(K,le))};return se&&(pe.error=y[K]),U==="checkbox"?pe.checked=xa(K,b):pe.value=xa(K,b),re&&(pe.onFocus=()=>h(le=>vv(ri({},le),{[K]:!0})),pe.onBlur=()=>{if(Xk(K,a)){const le=Pp(K,d,b);le.hasError?M(K,le.error):D(K)}}),pe},$=(K,U)=>se=>{se==null||se.preventDefault();const re=G();re.hasErrors?U==null||U(re.errors,b,se):K==null||K(c(b),se)},Y=K=>c(K||b),ae=f.useCallback(K=>{K.preventDefault(),R()},[]),fe=K=>{if(K){const se=xa(K,m);if(typeof se=="boolean")return se;const re=xa(K,b),oe=xa(K,k.current);return!Gk(re,oe)}return Object.keys(m).length>0?o_(m):!Gk(b,k.current)},ie=f.useCallback(K=>o_(p,K),[p]),X=f.useCallback(K=>K?!Pp(K,d,b).hasError:!F1(d,b).hasErrors,[b,d]);return{values:b,errors:y,setValues:Q,setErrors:E,setFieldValue:L,setFieldError:M,clearFieldError:D,clearErrors:O,reset:R,validate:G,validateField:T,reorderListItem:F,removeListItem:V,insertListItem:q,getInputProps:z,onSubmit:$,onReset:ae,isDirty:fe,isTouched:ie,setTouched:h,setDirty:v,resetTouched:P,resetDirty:I,isValid:X,getTransformedValues:Y}}function br(e){const{...t}=e,{base50:n,base100:r,base200:o,base300:s,base800:a,base700:c,base900:d,accent500:p,accent300:h}=by(),{colorMode:m}=Ds();return i.jsx(FI,{styles:()=>({input:{color:Fe(d,r)(m),backgroundColor:Fe(n,d)(m),borderColor:Fe(o,a)(m),borderWidth:2,outline:"none",":focus":{borderColor:Fe(h,p)(m)}},label:{color:Fe(c,s)(m),fontWeight:"normal",marginBottom:4}}),...t})}const Rse=[{value:"sd-1",label:Qn["sd-1"]},{value:"sd-2",label:Qn["sd-2"]},{value:"sdxl",label:Qn.sdxl},{value:"sdxl-refiner",label:Qn["sdxl-refiner"]}];function Zd(e){const{...t}=e,{t:n}=ye();return i.jsx(Xr,{label:n("modelManager.baseModel"),data:Rse,...t})}function JO(e){const{data:t}=i5(),{...n}=e;return i.jsx(Xr,{label:"Config File",placeholder:"Select A Config File",data:t||[],...n})}const Mse=[{value:"normal",label:"Normal"},{value:"inpaint",label:"Inpaint"},{value:"depth",label:"Depth"}];function fg(e){const{...t}=e,{t:n}=ye();return i.jsx(Xr,{label:n("modelManager.variant"),data:Mse,...t})}function ZO(e){var p;const{t}=ye(),n=te(),{model_path:r}=e,o=Sl({initialValues:{model_name:((p=r==null?void 0:r.split("\\").splice(-1)[0])==null?void 0:p.split(".")[0])??"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"checkpoint",error:void 0,vae:"",variant:"normal",config:"configs\\stable-diffusion\\v1-inference.yaml"}}),[s]=l5(),[a,c]=f.useState(!1),d=h=>{s({body:h}).unwrap().then(m=>{n(On(Mn({title:`Model Added: ${h.model_name}`,status:"success"}))),o.reset(),r&&n(Cd(null))}).catch(m=>{m&&n(On(Mn({title:"Model Add Failed",status:"error"})))})};return i.jsx("form",{onSubmit:o.onSubmit(h=>d(h)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsx(br,{label:"Model Name",required:!0,...o.getInputProps("model_name")}),i.jsx(Zd,{...o.getInputProps("base_model")}),i.jsx(br,{label:"Model Location",required:!0,...o.getInputProps("path")}),i.jsx(br,{label:"Description",...o.getInputProps("description")}),i.jsx(br,{label:"VAE Location",...o.getInputProps("vae")}),i.jsx(fg,{...o.getInputProps("variant")}),i.jsxs(W,{flexDirection:"column",width:"100%",gap:2,children:[a?i.jsx(br,{required:!0,label:"Custom Config File Location",...o.getInputProps("config")}):i.jsx(JO,{required:!0,width:"100%",...o.getInputProps("config")}),i.jsx(Gn,{isChecked:a,onChange:()=>c(!a),label:"Use Custom Config"}),i.jsx(Yt,{mt:2,type:"submit",children:t("modelManager.addModel")})]})]})})}function e8(e){const{t}=ye(),n=te(),{model_path:r}=e,[o]=l5(),s=Sl({initialValues:{model_name:(r==null?void 0:r.split("\\").splice(-1)[0])??"",base_model:"sd-1",model_type:"main",path:r||"",description:"",model_format:"diffusers",error:void 0,vae:"",variant:"normal"}}),a=c=>{o({body:c}).unwrap().then(d=>{n(On(Mn({title:`Model Added: ${c.model_name}`,status:"success"}))),s.reset(),r&&n(Cd(null))}).catch(d=>{d&&n(On(Mn({title:"Model Add Failed",status:"error"})))})};return i.jsx("form",{onSubmit:s.onSubmit(c=>a(c)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",gap:2,children:[i.jsx(br,{required:!0,label:"Model Name",...s.getInputProps("model_name")}),i.jsx(Zd,{...s.getInputProps("base_model")}),i.jsx(br,{required:!0,label:"Model Location",placeholder:"Provide the path to a local folder where your Diffusers Model is stored",...s.getInputProps("path")}),i.jsx(br,{label:"Description",...s.getInputProps("description")}),i.jsx(br,{label:"VAE Location",...s.getInputProps("vae")}),i.jsx(fg,{...s.getInputProps("variant")}),i.jsx(Yt,{mt:2,type:"submit",children:t("modelManager.addModel")})]})})}const t8=[{label:"Diffusers",value:"diffusers"},{label:"Checkpoint / Safetensors",value:"checkpoint"}];function Dse(){const[e,t]=f.useState("diffusers");return i.jsxs(W,{flexDirection:"column",gap:4,width:"100%",children:[i.jsx(Xr,{label:"Model Type",value:e,data:t8,onChange:n=>{n&&t(n)}}),i.jsxs(W,{sx:{p:4,borderRadius:4,bg:"base.300",_dark:{bg:"base.850"}},children:[e==="diffusers"&&i.jsx(e8,{}),e==="checkpoint"&&i.jsx(ZO,{})]})]})}const Ase=[{label:"None",value:"none"},{label:"v_prediction",value:"v_prediction"},{label:"epsilon",value:"epsilon"},{label:"sample",value:"sample"}];function Tse(){const e=te(),{t}=ye(),n=B(c=>c.system.isProcessing),[r,{isLoading:o}]=c5(),s=Sl({initialValues:{location:"",prediction_type:void 0}}),a=c=>{const d={location:c.location,prediction_type:c.prediction_type==="none"?void 0:c.prediction_type};r({body:d}).unwrap().then(p=>{e(On(Mn({title:"Model Added",status:"success"}))),s.reset()}).catch(p=>{p&&(console.log(p),e(On(Mn({title:`${p.data.detail} `,status:"error"}))))})};return i.jsx("form",{onSubmit:s.onSubmit(c=>a(c)),style:{width:"100%"},children:i.jsxs(W,{flexDirection:"column",width:"100%",gap:4,children:[i.jsx(br,{label:"Model Location",placeholder:"Provide a path to a local Diffusers model, local checkpoint / safetensors model a HuggingFace Repo ID, or a checkpoint/diffusers model URL.",w:"100%",...s.getInputProps("location")}),i.jsx(Xr,{label:"Prediction Type (for Stable Diffusion 2.x Models only)",data:Ase,defaultValue:"none",...s.getInputProps("prediction_type")}),i.jsx(Yt,{type:"submit",isLoading:o,isDisabled:o||n,children:t("modelManager.addModel")})]})})}function Nse(){const[e,t]=f.useState("simple");return i.jsxs(W,{flexDirection:"column",width:"100%",overflow:"scroll",maxHeight:window.innerHeight-250,gap:4,children:[i.jsxs(rr,{isAttached:!0,children:[i.jsx(Yt,{size:"sm",isChecked:e=="simple",onClick:()=>t("simple"),children:"Simple"}),i.jsx(Yt,{size:"sm",isChecked:e=="advanced",onClick:()=>t("advanced"),children:"Advanced"})]}),i.jsxs(W,{sx:{p:4,borderRadius:4,background:"base.200",_dark:{background:"base.800"}},children:[e==="simple"&&i.jsx(Tse,{}),e==="advanced"&&i.jsx(Dse,{})]})]})}const $se={display:"flex",flexDirection:"row",alignItems:"center",gap:10},Lse=e=>{const{label:t="",labelPos:n="top",isDisabled:r=!1,isInvalid:o,formControlProps:s,...a}=e,c=te(),d=f.useCallback(h=>{h.shiftKey&&c(jo(!0))},[c]),p=f.useCallback(h=>{h.shiftKey||c(jo(!1))},[c]);return i.jsxs(go,{isInvalid:o,isDisabled:r,...s,style:n==="side"?$se:void 0,children:[t!==""&&i.jsx(Bo,{children:t}),i.jsx(Ed,{...a,onPaste:ex,onKeyDown:d,onKeyUp:p})]})},Dc=f.memo(Lse);function zse(e){const{...t}=e;return i.jsx(Aj,{w:"100%",...t,children:e.children})}function Bse(){const e=B(y=>y.modelmanager.searchFolder),[t,n]=f.useState(""),{data:r}=na(Gi),{foundModels:o,alreadyInstalled:s,filteredModels:a}=u5({search_path:e||""},{selectFromResult:({data:y})=>{const S=b9(r==null?void 0:r.entities),k=cs(S,"path"),_=m9(y,k),P=C9(y,k);return{foundModels:y,alreadyInstalled:i_(P,t),filteredModels:i_(_,t)}}}),[c,{isLoading:d}]=c5(),p=te(),{t:h}=ye(),m=f.useCallback(y=>{const S=y.currentTarget.id.split("\\").splice(-1)[0];c({body:{location:y.currentTarget.id}}).unwrap().then(k=>{p(On(Mn({title:`Added Model: ${S}`,status:"success"})))}).catch(k=>{k&&p(On(Mn({title:"Failed To Add Model",status:"error"})))})},[p,c]),v=f.useCallback(y=>{n(y.target.value)},[]),b=({models:y,showActions:S=!0})=>y.map(k=>i.jsxs(W,{sx:{p:4,gap:4,alignItems:"center",borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(W,{w:"100%",sx:{flexDirection:"column",minW:"25%"},children:[i.jsx(Qe,{sx:{fontWeight:600},children:k.split("\\").slice(-1)[0]}),i.jsx(Qe,{sx:{fontSize:"sm",color:"base.600",_dark:{color:"base.400"}},children:k})]}),S?i.jsxs(W,{gap:2,children:[i.jsx(Yt,{id:k,onClick:m,isLoading:d,children:"Quick Add"}),i.jsx(Yt,{onClick:()=>p(Cd(k)),isLoading:d,children:"Advanced"})]}):i.jsx(Qe,{sx:{fontWeight:600,p:2,borderRadius:4,color:"accent.50",bg:"accent.400",_dark:{color:"accent.100",bg:"accent.600"}},children:"Installed"})]},k));return(()=>e?!o||o.length===0?i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",height:96,userSelect:"none",bg:"base.200",_dark:{bg:"base.900"}},children:i.jsx(Qe,{variant:"subtext",children:"No Models Found"})}):i.jsxs(W,{sx:{flexDirection:"column",gap:2,w:"100%",minW:"50%"},children:[i.jsx(Dc,{onChange:v,label:h("modelManager.search"),labelPos:"side"}),i.jsxs(W,{p:2,gap:2,children:[i.jsxs(Qe,{sx:{fontWeight:600},children:["Models Found: ",o.length]}),i.jsxs(Qe,{sx:{fontWeight:600,color:"accent.500",_dark:{color:"accent.200"}},children:["Not Installed: ",a.length]})]}),i.jsx(zse,{offsetScrollbars:!0,children:i.jsxs(W,{gap:2,flexDirection:"column",children:[b({models:a}),b({models:s,showActions:!1})]})})]}):null)()}const i_=(e,t)=>{const n=[];return oo(e,r=>{if(!r)return null;r.includes(t)&&n.push(r)}),n};function Fse(){const e=B(a=>a.modelmanager.advancedAddScanModel),[t,n]=f.useState("diffusers"),[r,o]=f.useState(!0);f.useEffect(()=>{e&&[".ckpt",".safetensors",".pth",".pt"].some(a=>e.endsWith(a))?n("checkpoint"):n("diffusers")},[e,n,r]);const s=te();return e?i.jsxs(Re,{as:Er.div,initial:{x:-100,opacity:0},animate:{x:0,opacity:1,transition:{duration:.2}},sx:{display:"flex",flexDirection:"column",minWidth:"40%",maxHeight:window.innerHeight-300,overflow:"scroll",p:4,gap:4,borderRadius:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(W,{justifyContent:"space-between",alignItems:"center",children:[i.jsx(Qe,{size:"xl",fontWeight:600,children:r||t==="checkpoint"?"Add Checkpoint Model":"Add Diffusers Model"}),i.jsx(ze,{icon:i.jsx(sQ,{}),"aria-label":"Close Advanced",onClick:()=>s(Cd(null)),size:"sm"})]}),i.jsx(Xr,{label:"Model Type",value:t,data:t8,onChange:a=>{a&&(n(a),o(a==="checkpoint"))}}),r?i.jsx(ZO,{model_path:e},e):i.jsx(e8,{model_path:e},e)]}):null}function Hse(){const e=te(),{t}=ye(),n=B(c=>c.modelmanager.searchFolder),{refetch:r}=u5({search_path:n||""}),o=Sl({initialValues:{folder:""}}),s=f.useCallback(c=>{e(hw(c.folder))},[e]),a=()=>{r()};return i.jsx("form",{onSubmit:o.onSubmit(c=>s(c)),style:{width:"100%"},children:i.jsxs(W,{sx:{w:"100%",gap:2,borderRadius:4,alignItems:"center"},children:[i.jsxs(W,{w:"100%",alignItems:"center",gap:4,minH:12,children:[i.jsx(Qe,{sx:{fontSize:"sm",fontWeight:600,color:"base.700",minW:"max-content",_dark:{color:"base.300"}},children:"Folder"}),n?i.jsx(W,{sx:{w:"100%",p:2,px:4,bg:"base.300",borderRadius:4,fontSize:"sm",fontWeight:"bold",_dark:{bg:"base.700"}},children:n}):i.jsx(Dc,{w:"100%",size:"md",...o.getInputProps("folder")})]}),i.jsxs(W,{gap:2,children:[n?i.jsx(ze,{"aria-label":t("modelManager.scanAgain"),tooltip:t("modelManager.scanAgain"),icon:i.jsx(cE,{}),onClick:a,fontSize:18,size:"sm"}):i.jsx(ze,{"aria-label":t("modelManager.findModels"),tooltip:t("modelManager.findModels"),icon:i.jsx(tQ,{}),fontSize:18,size:"sm",type:"submit"}),i.jsx(ze,{"aria-label":t("modelManager.clearCheckpointFolder"),tooltip:t("modelManager.clearCheckpointFolder"),icon:i.jsx(Eo,{}),size:"sm",onClick:()=>{e(hw(null)),e(Cd(null))},isDisabled:!n,colorScheme:"red"})]})]})})}const Wse=f.memo(Hse);function Vse(){return i.jsxs(W,{flexDirection:"column",w:"100%",gap:4,children:[i.jsx(Wse,{}),i.jsxs(W,{gap:4,children:[i.jsx(W,{sx:{maxHeight:window.innerHeight-300,overflow:"scroll",gap:4,w:"100%"},children:i.jsx(Bse,{})}),i.jsx(Fse,{})]})]})}function Use(){const[e,t]=f.useState("add"),{t:n}=ye();return i.jsxs(W,{flexDirection:"column",gap:4,children:[i.jsxs(rr,{isAttached:!0,children:[i.jsx(Yt,{onClick:()=>t("add"),isChecked:e=="add",size:"sm",width:"100%",children:n("modelManager.addModel")}),i.jsx(Yt,{onClick:()=>t("scan"),isChecked:e=="scan",size:"sm",width:"100%",children:n("modelManager.scanForModels")})]}),e=="add"&&i.jsx(Nse,{}),e=="scan"&&i.jsx(Vse,{})]})}const Gse=[{label:"Stable Diffusion 1",value:"sd-1"},{label:"Stable Diffusion 2",value:"sd-2"}];function qse(){var T,z;const{t:e}=ye(),t=te(),{data:n}=na(Gi),[r,{isLoading:o}]=TM(),[s,a]=f.useState("sd-1"),c=Iw(n==null?void 0:n.entities,($,Y)=>($==null?void 0:$.model_format)==="diffusers"&&($==null?void 0:$.base_model)==="sd-1"),d=Iw(n==null?void 0:n.entities,($,Y)=>($==null?void 0:$.model_format)==="diffusers"&&($==null?void 0:$.base_model)==="sd-2"),p=f.useMemo(()=>({"sd-1":c,"sd-2":d}),[c,d]),[h,m]=f.useState(((T=Object.keys(p[s]))==null?void 0:T[0])??null),[v,b]=f.useState(((z=Object.keys(p[s]))==null?void 0:z[1])??null),[w,y]=f.useState(null),[S,k]=f.useState(""),[_,P]=f.useState(.5),[I,E]=f.useState("weighted_sum"),[O,R]=f.useState("root"),[M,D]=f.useState(""),[A,L]=f.useState(!1),Q=Object.keys(p[s]).filter($=>$!==v&&$!==w),F=Object.keys(p[s]).filter($=>$!==h&&$!==w),V=Object.keys(p[s]).filter($=>$!==h&&$!==v),q=$=>{a($),m(null),b(null)},G=()=>{const $=[];let Y=[h,v,w];Y=Y.filter(fe=>fe!==null),Y.forEach(fe=>{var X;const ie=(X=fe==null?void 0:fe.split("/"))==null?void 0:X[2];ie&&$.push(ie)});const ae={model_names:$,merged_model_name:S!==""?S:$.join("-"),alpha:_,interp:I,force:A,merge_dest_directory:O==="root"?void 0:M};r({base_model:s,body:ae}).unwrap().then(fe=>{t(On(Mn({title:e("modelManager.modelsMerged"),status:"success"})))}).catch(fe=>{fe&&t(On(Mn({title:e("modelManager.modelsMergeFailed"),status:"error"})))})};return i.jsxs(W,{flexDirection:"column",rowGap:4,children:[i.jsxs(W,{sx:{flexDirection:"column",rowGap:1},children:[i.jsx(Qe,{children:e("modelManager.modelMergeHeaderHelp1")}),i.jsx(Qe,{fontSize:"sm",variant:"subtext",children:e("modelManager.modelMergeHeaderHelp2")})]}),i.jsxs(W,{columnGap:4,children:[i.jsx(Xr,{label:"Model Type",w:"100%",data:Gse,value:s,onChange:q}),i.jsx(ar,{label:e("modelManager.modelOne"),w:"100%",value:h,placeholder:e("modelManager.selectModel"),data:Q,onChange:$=>m($)}),i.jsx(ar,{label:e("modelManager.modelTwo"),w:"100%",placeholder:e("modelManager.selectModel"),value:v,data:F,onChange:$=>b($)}),i.jsx(ar,{label:e("modelManager.modelThree"),data:V,w:"100%",placeholder:e("modelManager.selectModel"),clearable:!0,onChange:$=>{$?(y($),E("weighted_sum")):(y(null),E("add_difference"))}})]}),i.jsx(Dc,{label:e("modelManager.mergedModelName"),value:S,onChange:$=>k($.target.value)}),i.jsxs(W,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(_t,{label:e("modelManager.alpha"),min:.01,max:.99,step:.01,value:_,onChange:$=>P($),withInput:!0,withReset:!0,handleReset:()=>P(.5),withSliderMarks:!0}),i.jsx(Qe,{variant:"subtext",fontSize:"sm",children:e("modelManager.modelMergeAlphaHelp")})]}),i.jsxs(W,{sx:{padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsx(Qe,{fontWeight:500,fontSize:"sm",variant:"subtext",children:e("modelManager.interpolationType")}),i.jsx(oh,{value:I,onChange:$=>E($),children:i.jsx(W,{columnGap:4,children:w===null?i.jsxs(i.Fragment,{children:[i.jsx(ya,{value:"weighted_sum",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.weightedSum")})}),i.jsx(ya,{value:"sigmoid",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.sigmoid")})}),i.jsx(ya,{value:"inv_sigmoid",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.inverseSigmoid")})})]}):i.jsx(ya,{value:"add_difference",children:i.jsx(vn,{label:e("modelManager.modelMergeInterpAddDifferenceHelp"),children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.addDifference")})})})})})]}),i.jsxs(W,{sx:{flexDirection:"column",padding:4,borderRadius:"base",gap:4,bg:"base.200",_dark:{bg:"base.900"}},children:[i.jsxs(W,{columnGap:4,children:[i.jsx(Qe,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:e("modelManager.mergedModelSaveLocation")}),i.jsx(oh,{value:O,onChange:$=>R($),children:i.jsxs(W,{columnGap:4,children:[i.jsx(ya,{value:"root",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.invokeAIFolder")})}),i.jsx(ya,{value:"custom",children:i.jsx(Qe,{fontSize:"sm",children:e("modelManager.custom")})})]})})]}),O==="custom"&&i.jsx(Dc,{label:e("modelManager.mergedModelCustomSaveLocation"),value:M,onChange:$=>D($.target.value)})]}),i.jsx(Gn,{label:e("modelManager.ignoreMismatch"),isChecked:A,onChange:$=>L($.target.checked),fontWeight:"500"}),i.jsx(Yt,{onClick:G,isLoading:o,isDisabled:h===null||v===null,children:e("modelManager.merge")})]})}const Kse=Ae((e,t)=>{const{t:n}=ye(),{acceptButtonText:r=n("common.accept"),acceptCallback:o,cancelButtonText:s=n("common.cancel"),cancelCallback:a,children:c,title:d,triggerComponent:p}=e,{isOpen:h,onOpen:m,onClose:v}=ss(),b=f.useRef(null),w=()=>{o(),v()},y=()=>{a&&a(),v()};return i.jsxs(i.Fragment,{children:[f.cloneElement(p,{onClick:m,ref:t}),i.jsx(Td,{isOpen:h,leastDestructiveRef:b,onClose:v,isCentered:!0,children:i.jsx(Aa,{children:i.jsxs(Nd,{children:[i.jsx(Da,{fontSize:"lg",fontWeight:"bold",children:d}),i.jsx(Ta,{children:c}),i.jsxs(Ma,{children:[i.jsx(Yt,{ref:b,onClick:y,children:s}),i.jsx(Yt,{colorScheme:"error",onClick:w,ml:3,children:r})]})]})})})]})}),lx=f.memo(Kse);function Xse(e){const{model:t}=e,n=te(),{t:r}=ye(),[o,{isLoading:s}]=NM(),[a,c]=f.useState("InvokeAIRoot"),[d,p]=f.useState("");f.useEffect(()=>{c("InvokeAIRoot")},[t]);const h=()=>{c("InvokeAIRoot")},m=()=>{const v={base_model:t.base_model,model_name:t.model_name,convert_dest_directory:a==="Custom"?d:void 0};if(a==="Custom"&&d===""){n(On(Mn({title:r("modelManager.noCustomLocationProvided"),status:"error"})));return}n(On(Mn({title:`${r("modelManager.convertingModelBegin")}: ${t.model_name}`,status:"info"}))),o(v).unwrap().then(()=>{n(On(Mn({title:`${r("modelManager.modelConverted")}: ${t.model_name}`,status:"success"})))}).catch(()=>{n(On(Mn({title:`${r("modelManager.modelConversionFailed")}: ${t.model_name}`,status:"error"})))})};return i.jsxs(lx,{title:`${r("modelManager.convert")} ${t.model_name}`,acceptCallback:m,cancelCallback:h,acceptButtonText:`${r("modelManager.convert")}`,triggerComponent:i.jsxs(Yt,{size:"sm","aria-label":r("modelManager.convertToDiffusers"),className:" modal-close-btn",isLoading:s,children:["🧨 ",r("modelManager.convertToDiffusers")]}),motionPreset:"slideInBottom",children:[i.jsxs(W,{flexDirection:"column",rowGap:4,children:[i.jsx(Qe,{children:r("modelManager.convertToDiffusersHelpText1")}),i.jsxs(Ab,{children:[i.jsx(Sa,{children:r("modelManager.convertToDiffusersHelpText2")}),i.jsx(Sa,{children:r("modelManager.convertToDiffusersHelpText3")}),i.jsx(Sa,{children:r("modelManager.convertToDiffusersHelpText4")}),i.jsx(Sa,{children:r("modelManager.convertToDiffusersHelpText5")})]}),i.jsx(Qe,{children:r("modelManager.convertToDiffusersHelpText6")})]}),i.jsxs(W,{flexDir:"column",gap:2,children:[i.jsxs(W,{marginTop:4,flexDir:"column",gap:2,children:[i.jsx(Qe,{fontWeight:"600",children:r("modelManager.convertToDiffusersSaveLocation")}),i.jsx(oh,{value:a,onChange:v=>c(v),children:i.jsxs(W,{gap:4,children:[i.jsx(ya,{value:"InvokeAIRoot",children:i.jsx(vn,{label:"Save converted model in the InvokeAI root folder",children:r("modelManager.invokeRoot")})}),i.jsx(ya,{value:"Custom",children:i.jsx(vn,{label:"Save converted model in a custom folder",children:r("modelManager.custom")})})]})})]}),a==="Custom"&&i.jsxs(W,{flexDirection:"column",rowGap:2,children:[i.jsx(Qe,{fontWeight:"500",fontSize:"sm",variant:"subtext",children:r("modelManager.customSaveLocation")}),i.jsx(Dc,{value:d,onChange:v=>{p(v.target.value)},width:"full"})]})]})]})}function Yse(e){const t=B(kr),{model:n}=e,[r,{isLoading:o}]=d5(),{data:s}=i5(),[a,c]=f.useState(!1);f.useEffect(()=>{s!=null&&s.includes(n.config)||c(!0)},[s,n.config]);const d=te(),{t:p}=ye(),h=Sl({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"checkpoint",vae:n.vae?n.vae:"",config:n.config?n.config:"",variant:n.variant},validate:{path:v=>v.trim().length===0?"Must provide a path":null}}),m=f.useCallback(v=>{const b={base_model:n.base_model,model_name:n.model_name,body:v};r(b).unwrap().then(w=>{h.setValues(w),d(On(Mn({title:p("modelManager.modelUpdated"),status:"success"})))}).catch(w=>{h.reset(),d(On(Mn({title:p("modelManager.modelUpdateFailed"),status:"error"})))})},[h,d,n.base_model,n.model_name,p,r]);return i.jsxs(W,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(W,{justifyContent:"space-between",alignItems:"center",children:[i.jsxs(W,{flexDirection:"column",children:[i.jsx(Qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(Qe,{fontSize:"sm",color:"base.400",children:[Qn[n.base_model]," Model"]})]}),[""].includes(n.base_model)?i.jsx(gl,{sx:{p:2,borderRadius:4,bg:"error.200",_dark:{bg:"error.400"}},children:"Conversion Not Supported"}):i.jsx(Xse,{model:n})]}),i.jsx(Wa,{}),i.jsx(W,{flexDirection:"column",maxHeight:window.innerHeight-270,overflowY:"scroll",children:i.jsx("form",{onSubmit:h.onSubmit(v=>m(v)),children:i.jsxs(W,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(br,{label:p("modelManager.name"),...h.getInputProps("model_name")}),i.jsx(br,{label:p("modelManager.description"),...h.getInputProps("description")}),i.jsx(Zd,{required:!0,...h.getInputProps("base_model")}),i.jsx(fg,{required:!0,...h.getInputProps("variant")}),i.jsx(br,{required:!0,label:p("modelManager.modelLocation"),...h.getInputProps("path")}),i.jsx(br,{label:p("modelManager.vaeLocation"),...h.getInputProps("vae")}),i.jsxs(W,{flexDirection:"column",gap:2,children:[a?i.jsx(br,{required:!0,label:p("modelManager.config"),...h.getInputProps("config")}):i.jsx(JO,{required:!0,...h.getInputProps("config")}),i.jsx(Gn,{isChecked:a,onChange:()=>c(!a),label:"Use Custom Config"})]}),i.jsx(Yt,{type:"submit",isDisabled:t||o,isLoading:o,children:p("modelManager.updateModel")})]})})})]})}function Qse(e){const t=B(kr),{model:n}=e,[r,{isLoading:o}]=d5(),s=te(),{t:a}=ye(),c=Sl({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"main",path:n.path?n.path:"",description:n.description?n.description:"",model_format:"diffusers",vae:n.vae?n.vae:"",variant:n.variant},validate:{path:p=>p.trim().length===0?"Must provide a path":null}}),d=f.useCallback(p=>{const h={base_model:n.base_model,model_name:n.model_name,body:p};r(h).unwrap().then(m=>{c.setValues(m),s(On(Mn({title:a("modelManager.modelUpdated"),status:"success"})))}).catch(m=>{c.reset(),s(On(Mn({title:a("modelManager.modelUpdateFailed"),status:"error"})))})},[c,s,n.base_model,n.model_name,a,r]);return i.jsxs(W,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(W,{flexDirection:"column",children:[i.jsx(Qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(Qe,{fontSize:"sm",color:"base.400",children:[Qn[n.base_model]," Model"]})]}),i.jsx(Wa,{}),i.jsx("form",{onSubmit:c.onSubmit(p=>d(p)),children:i.jsxs(W,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(br,{label:a("modelManager.name"),...c.getInputProps("model_name")}),i.jsx(br,{label:a("modelManager.description"),...c.getInputProps("description")}),i.jsx(Zd,{required:!0,...c.getInputProps("base_model")}),i.jsx(fg,{required:!0,...c.getInputProps("variant")}),i.jsx(br,{required:!0,label:a("modelManager.modelLocation"),...c.getInputProps("path")}),i.jsx(br,{label:a("modelManager.vaeLocation"),...c.getInputProps("vae")}),i.jsx(Yt,{type:"submit",isDisabled:t||o,isLoading:o,children:a("modelManager.updateModel")})]})})]})}function Jse(e){const t=B(kr),{model:n}=e,[r,{isLoading:o}]=$M(),s=te(),{t:a}=ye(),c=Sl({initialValues:{model_name:n.model_name?n.model_name:"",base_model:n.base_model,model_type:"lora",path:n.path?n.path:"",description:n.description?n.description:"",model_format:n.model_format},validate:{path:p=>p.trim().length===0?"Must provide a path":null}}),d=f.useCallback(p=>{const h={base_model:n.base_model,model_name:n.model_name,body:p};r(h).unwrap().then(m=>{c.setValues(m),s(On(Mn({title:a("modelManager.modelUpdated"),status:"success"})))}).catch(m=>{c.reset(),s(On(Mn({title:a("modelManager.modelUpdateFailed"),status:"error"})))})},[s,c,n.base_model,n.model_name,a,r]);return i.jsxs(W,{flexDirection:"column",rowGap:4,width:"100%",children:[i.jsxs(W,{flexDirection:"column",children:[i.jsx(Qe,{fontSize:"lg",fontWeight:"bold",children:n.model_name}),i.jsxs(Qe,{fontSize:"sm",color:"base.400",children:[Qn[n.base_model]," Model ⋅"," ",LM[n.model_format]," format"]})]}),i.jsx(Wa,{}),i.jsx("form",{onSubmit:c.onSubmit(p=>d(p)),children:i.jsxs(W,{flexDirection:"column",overflowY:"scroll",gap:4,children:[i.jsx(br,{label:a("modelManager.name"),...c.getInputProps("model_name")}),i.jsx(br,{label:a("modelManager.description"),...c.getInputProps("description")}),i.jsx(Zd,{...c.getInputProps("base_model")}),i.jsx(br,{label:a("modelManager.modelLocation"),...c.getInputProps("path")}),i.jsx(Yt,{type:"submit",isDisabled:t||o,isLoading:o,children:a("modelManager.updateModel")})]})})]})}function Zse(e){const t=B(kr),{t:n}=ye(),r=te(),[o]=zM(),[s]=BM(),{model:a,isSelected:c,setSelectedModelId:d}=e,p=f.useCallback(()=>{d(a.id)},[a.id,d]),h=f.useCallback(()=>{const m={main:o,lora:s,onnx:o}[a.model_type];m(a).unwrap().then(v=>{r(On(Mn({title:`${n("modelManager.modelDeleted")}: ${a.model_name}`,status:"success"})))}).catch(v=>{v&&r(On(Mn({title:`${n("modelManager.modelDeleteFailed")}: ${a.model_name}`,status:"error"})))}),d(void 0)},[o,s,a,d,r,n]);return i.jsxs(W,{sx:{gap:2,alignItems:"center",w:"full"},children:[i.jsx(W,{as:Yt,isChecked:c,sx:{justifyContent:"start",p:2,borderRadius:"base",w:"full",alignItems:"center",bg:c?"accent.400":"base.100",color:c?"base.50":"base.800",_hover:{bg:c?"accent.500":"base.300",color:c?"base.50":"base.800"},_dark:{color:c?"base.50":"base.100",bg:c?"accent.600":"base.850",_hover:{color:c?"base.50":"base.100",bg:c?"accent.550":"base.700"}}},onClick:p,children:i.jsxs(W,{gap:4,alignItems:"center",children:[i.jsx(gl,{minWidth:14,p:.5,fontSize:"sm",variant:"solid",children:FM[a.base_model]}),i.jsx(vn,{label:a.description,hasArrow:!0,placement:"bottom",children:i.jsx(Qe,{sx:{fontWeight:500},children:a.model_name})})]})}),i.jsx(lx,{title:n("modelManager.deleteModel"),acceptCallback:h,acceptButtonText:n("modelManager.delete"),triggerComponent:i.jsx(ze,{icon:i.jsx(DJ,{}),"aria-label":n("modelManager.deleteConfig"),isDisabled:t,colorScheme:"error"}),children:i.jsxs(W,{rowGap:4,flexDirection:"column",children:[i.jsx("p",{style:{fontWeight:"bold"},children:n("modelManager.deleteMsg1")}),i.jsx("p",{children:n("modelManager.deleteMsg2")})]})})]})}const eae=e=>{const{selectedModelId:t,setSelectedModelId:n}=e,{t:r}=ye(),[o,s]=f.useState(""),[a,c]=f.useState("all"),{filteredDiffusersModels:d,isLoadingDiffusersModels:p}=na(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredDiffusersModels:ku(P,"main","diffusers",o),isLoadingDiffusersModels:I})}),{filteredCheckpointModels:h,isLoadingCheckpointModels:m}=na(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredCheckpointModels:ku(P,"main","checkpoint",o),isLoadingCheckpointModels:I})}),{filteredLoraModels:v,isLoadingLoraModels:b}=mm(void 0,{selectFromResult:({data:P,isLoading:I})=>({filteredLoraModels:ku(P,"lora",void 0,o),isLoadingLoraModels:I})}),{filteredOnnxModels:w,isLoadingOnnxModels:y}=Up(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredOnnxModels:ku(P,"onnx","onnx",o),isLoadingOnnxModels:I})}),{filteredOliveModels:S,isLoadingOliveModels:k}=Up(Gi,{selectFromResult:({data:P,isLoading:I})=>({filteredOliveModels:ku(P,"onnx","olive",o),isLoadingOliveModels:I})}),_=f.useCallback(P=>{s(P.target.value)},[]);return i.jsx(W,{flexDirection:"column",rowGap:4,width:"50%",minWidth:"50%",children:i.jsxs(W,{flexDirection:"column",gap:4,paddingInlineEnd:4,children:[i.jsxs(rr,{isAttached:!0,children:[i.jsx(Yt,{onClick:()=>c("all"),isChecked:a==="all",size:"sm",children:r("modelManager.allModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("diffusers"),isChecked:a==="diffusers",children:r("modelManager.diffusersModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("checkpoint"),isChecked:a==="checkpoint",children:r("modelManager.checkpointModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("onnx"),isChecked:a==="onnx",children:r("modelManager.onnxModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("olive"),isChecked:a==="olive",children:r("modelManager.oliveModels")}),i.jsx(Yt,{size:"sm",onClick:()=>c("lora"),isChecked:a==="lora",children:r("modelManager.loraModels")})]}),i.jsx(Dc,{onChange:_,label:r("modelManager.search"),labelPos:"side"}),i.jsxs(W,{flexDirection:"column",gap:4,maxHeight:window.innerHeight-280,overflow:"scroll",children:[p&&i.jsx(Pu,{loadingMessage:"Loading Diffusers..."}),["all","diffusers"].includes(a)&&!p&&d.length>0&&i.jsx(_u,{title:"Diffusers",modelList:d,selected:{selectedModelId:t,setSelectedModelId:n}},"diffusers"),m&&i.jsx(Pu,{loadingMessage:"Loading Checkpoints..."}),["all","checkpoint"].includes(a)&&!m&&h.length>0&&i.jsx(_u,{title:"Checkpoints",modelList:h,selected:{selectedModelId:t,setSelectedModelId:n}},"checkpoints"),b&&i.jsx(Pu,{loadingMessage:"Loading LoRAs..."}),["all","lora"].includes(a)&&!b&&v.length>0&&i.jsx(_u,{title:"LoRAs",modelList:v,selected:{selectedModelId:t,setSelectedModelId:n}},"loras"),k&&i.jsx(Pu,{loadingMessage:"Loading Olives..."}),["all","olive"].includes(a)&&!k&&S.length>0&&i.jsx(_u,{title:"Olives",modelList:S,selected:{selectedModelId:t,setSelectedModelId:n}},"olive"),y&&i.jsx(Pu,{loadingMessage:"Loading ONNX..."}),["all","onnx"].includes(a)&&!y&&w.length>0&&i.jsx(_u,{title:"ONNX",modelList:w,selected:{selectedModelId:t,setSelectedModelId:n}},"onnx")]})]})})},ku=(e,t,n,r)=>{const o=[];return oo(e==null?void 0:e.entities,s=>{if(!s)return;const a=s.model_name.toLowerCase().includes(r.toLowerCase()),c=n===void 0||s.model_format===n,d=s.model_type===t;a&&c&&d&&o.push(s)}),o},n8=e=>i.jsx(W,{flexDirection:"column",gap:4,borderRadius:4,p:4,sx:{bg:"base.200",_dark:{bg:"base.800"}},children:e.children});function _u(e){const{title:t,modelList:n,selected:r}=e;return i.jsx(n8,{children:i.jsxs(W,{sx:{gap:2,flexDir:"column"},children:[i.jsx(Qe,{variant:"subtext",fontSize:"sm",children:t}),n.map(o=>i.jsx(Zse,{model:o,isSelected:r.selectedModelId===o.id,setSelectedModelId:r.setSelectedModelId},o.id))]})})}function Pu({loadingMessage:e}){return i.jsx(n8,{children:i.jsxs(W,{justifyContent:"center",alignItems:"center",flexDirection:"column",p:4,gap:8,children:[i.jsx(hl,{}),i.jsx(Qe,{variant:"subtext",children:e||"Fetching..."})]})})}function tae(){const[e,t]=f.useState(),{mainModel:n}=na(Gi,{selectFromResult:({data:s})=>({mainModel:e?s==null?void 0:s.entities[e]:void 0})}),{loraModel:r}=mm(void 0,{selectFromResult:({data:s})=>({loraModel:e?s==null?void 0:s.entities[e]:void 0})}),o=n||r;return i.jsxs(W,{sx:{gap:8,w:"full",h:"full"},children:[i.jsx(eae,{selectedModelId:e,setSelectedModelId:t}),i.jsx(nae,{model:o})]})}const nae=e=>{const{model:t}=e;return(t==null?void 0:t.model_format)==="checkpoint"?i.jsx(Yse,{model:t},t.id):(t==null?void 0:t.model_format)==="diffusers"?i.jsx(Qse,{model:t},t.id):(t==null?void 0:t.model_type)==="lora"?i.jsx(Jse,{model:t},t.id):i.jsx(W,{sx:{w:"full",h:"full",justifyContent:"center",alignItems:"center",maxH:96,userSelect:"none"},children:i.jsx(Qe,{variant:"subtext",children:"No Model Selected"})})};function rae(){const{t:e}=ye();return i.jsxs(W,{sx:{w:"full",p:4,borderRadius:4,gap:4,justifyContent:"space-between",alignItems:"center",bg:"base.200",_dark:{bg:"base.800"}},children:[i.jsxs(W,{sx:{flexDirection:"column",gap:2},children:[i.jsx(Qe,{sx:{fontWeight:600},children:e("modelManager.syncModels")}),i.jsx(Qe,{fontSize:"sm",sx:{_dark:{color:"base.400"}},children:e("modelManager.syncModelsDesc")})]}),i.jsx(Qd,{})]})}function oae(){return i.jsx(W,{children:i.jsx(rae,{})})}const l_=[{id:"modelManager",label:Bn.t("modelManager.modelManager"),content:i.jsx(tae,{})},{id:"importModels",label:Bn.t("modelManager.importModels"),content:i.jsx(Use,{})},{id:"mergeModels",label:Bn.t("modelManager.mergeModels"),content:i.jsx(qse,{})},{id:"settings",label:Bn.t("modelManager.settings"),content:i.jsx(oae,{})}],sae=()=>i.jsxs(Ld,{isLazy:!0,variant:"line",layerStyle:"first",sx:{w:"full",h:"full",p:4,gap:4,borderRadius:"base"},children:[i.jsx(zd,{children:l_.map(e=>i.jsx(kc,{sx:{borderTopRadius:"base"},children:e.label},e.id))}),i.jsx($m,{sx:{w:"full",h:"full"},children:l_.map(e=>i.jsx(Nm,{sx:{w:"full",h:"full"},children:e.content},e.id))})]}),aae=f.memo(sae);const iae=e=>be([t=>t.nodes],t=>{const n=t.invocationTemplates[e];if(n)return n},{memoizeOptions:{resultEqualityCheck:(t,n)=>t!==void 0&&n!==void 0&&t.type===n.type}}),lae=(e,t)=>{const n={id:e,name:t.name,type:t.type};return t.inputRequirement!=="never"&&(t.type==="string"&&(n.value=t.default??""),t.type==="integer"&&(n.value=t.default??0),t.type==="float"&&(n.value=t.default??0),t.type==="boolean"&&(n.value=t.default??!1),t.type==="enum"&&(t.enumType==="number"&&(n.value=t.default??0),t.enumType==="string"&&(n.value=t.default??"")),t.type==="array"&&(n.value=t.default??1),t.type==="image"&&(n.value=void 0),t.type==="image_collection"&&(n.value=[]),t.type==="latents"&&(n.value=void 0),t.type==="conditioning"&&(n.value=void 0),t.type==="unet"&&(n.value=void 0),t.type==="clip"&&(n.value=void 0),t.type==="vae"&&(n.value=void 0),t.type==="control"&&(n.value=void 0),t.type==="model"&&(n.value=void 0),t.type==="refiner_model"&&(n.value=void 0),t.type==="vae_model"&&(n.value=void 0),t.type==="lora_model"&&(n.value=void 0),t.type==="controlnet_model"&&(n.value=void 0)),n},cae=be([e=>e.nodes],e=>e.invocationTemplates),cx="node-drag-handle",c_={dragHandle:`.${cx}`},uae=()=>{const e=B(cae),t=cb();return f.useCallback(n=>{if(n==="progress_image"){const{x:h,y:m}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...c_,id:"progress_image",type:"progress_image",position:{x:h,y:m},data:{}}}const r=e[n];if(r===void 0){console.error(`Unable to find template ${n}.`);return}const o=fi(),s=mw(r.inputs,(h,m,v)=>{const b=fi(),w=lae(b,m);return h[v]=w,h},{}),a=mw(r.outputs,(h,m,v)=>{const w={id:fi(),name:v,type:m.type};return h[v]=w,h},{}),{x:c,y:d}=t.project({x:window.innerWidth/2.5,y:window.innerHeight/8});return{...c_,id:o,type:"invocation",position:{x:c,y:d},data:{id:o,type:n,inputs:s,outputs:a}}},[e,t])},dae=e=>{const{nodeId:t,title:n,description:r}=e;return i.jsxs(W,{className:cx,sx:{borderTopRadius:"md",alignItems:"center",justifyContent:"space-between",px:2,py:1,bg:"base.100",_dark:{bg:"base.900"}},children:[i.jsx(vn,{label:t,children:i.jsx(Ys,{size:"xs",sx:{fontWeight:600,color:"base.900",_dark:{color:"base.200"}},children:n})}),i.jsx(vn,{label:r,placement:"top",hasArrow:!0,shouldWrapChildren:!0,children:i.jsx(fo,{sx:{h:"min-content",color:"base.700",_dark:{color:"base.300"}},as:GY})})]})},r8=f.memo(dae),o8=()=>()=>!0,fae={position:"absolute",width:"1rem",height:"1rem",borderWidth:0},pae={left:"-1rem"},hae={right:"-0.5rem"},mae=e=>{const{field:t,isValidConnection:n,handleType:r,styles:o}=e,{name:s,type:a}=t;return i.jsx(vn,{label:a,placement:r==="target"?"start":"end",hasArrow:!0,openDelay:f5,children:i.jsx(HM,{type:r,id:s,isValidConnection:n,position:r==="target"?gw.Left:gw.Right,style:{backgroundColor:p5[a].colorCssVar,...o,...fae,...r==="target"?pae:hae}})})},s8=f.memo(mae),gae=e=>i.jsx(XY,{}),vae=f.memo(gae),bae=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(As({nodeId:t,fieldName:n.name,value:s.target.checked}))};return i.jsx(Zb,{onChange:o,isChecked:n.value})},yae=f.memo(bae),xae=e=>null,wae=f.memo(xae);function pg(){return(pg=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}function H1(e){var t=f.useRef(e),n=f.useRef(function(r){t.current&&t.current(r)});return t.current=e,n.current}var Ac=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e0:S.buttons>0)&&o.current?s(u_(o.current,S,c.current)):y(!1)},w=function(){return y(!1)};function y(S){var k=d.current,_=W1(o.current),P=S?_.addEventListener:_.removeEventListener;P(k?"touchmove":"mousemove",b),P(k?"touchend":"mouseup",w)}return[function(S){var k=S.nativeEvent,_=o.current;if(_&&(d_(k),!function(I,E){return E&&!Yu(I)}(k,d.current)&&_)){if(Yu(k)){d.current=!0;var P=k.changedTouches||[];P.length&&(c.current=P[0].identifier)}_.focus(),s(u_(_,k,c.current)),y(!0)}},function(S){var k=S.which||S.keyCode;k<37||k>40||(S.preventDefault(),a({left:k===39?.05:k===37?-.05:0,top:k===40?.05:k===38?-.05:0}))},y]},[a,s]),h=p[0],m=p[1],v=p[2];return f.useEffect(function(){return v},[v]),H.createElement("div",pg({},r,{onTouchStart:h,onMouseDown:h,className:"react-colorful__interactive",ref:o,onKeyDown:m,tabIndex:0,role:"slider"}))}),hg=function(e){return e.filter(Boolean).join(" ")},dx=function(e){var t=e.color,n=e.left,r=e.top,o=r===void 0?.5:r,s=hg(["react-colorful__pointer",e.className]);return H.createElement("div",{className:s,style:{top:100*o+"%",left:100*n+"%"}},H.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},po=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=Math.pow(10,t)),Math.round(n*e)/n},i8=function(e){var t=e.s,n=e.v,r=e.a,o=(200-t)*n/100;return{h:po(e.h),s:po(o>0&&o<200?t*n/100/(o<=100?o:200-o)*100:0),l:po(o/2),a:po(r,2)}},V1=function(e){var t=i8(e);return"hsl("+t.h+", "+t.s+"%, "+t.l+"%)"},bv=function(e){var t=i8(e);return"hsla("+t.h+", "+t.s+"%, "+t.l+"%, "+t.a+")"},Sae=function(e){var t=e.h,n=e.s,r=e.v,o=e.a;t=t/360*6,n/=100,r/=100;var s=Math.floor(t),a=r*(1-n),c=r*(1-(t-s)*n),d=r*(1-(1-t+s)*n),p=s%6;return{r:po(255*[r,c,a,a,d,r][p]),g:po(255*[d,r,r,c,a,a][p]),b:po(255*[a,a,d,r,r,c][p]),a:po(o,2)}},Cae=function(e){var t=e.r,n=e.g,r=e.b,o=e.a,s=Math.max(t,n,r),a=s-Math.min(t,n,r),c=a?s===t?(n-r)/a:s===n?2+(r-t)/a:4+(t-n)/a:0;return{h:po(60*(c<0?c+6:c)),s:po(s?a/s*100:0),v:po(s/255*100),a:o}},kae=H.memo(function(e){var t=e.hue,n=e.onChange,r=hg(["react-colorful__hue",e.className]);return H.createElement("div",{className:r},H.createElement(ux,{onMove:function(o){n({h:360*o.left})},onKey:function(o){n({h:Ac(t+360*o.left,0,360)})},"aria-label":"Hue","aria-valuenow":po(t),"aria-valuemax":"360","aria-valuemin":"0"},H.createElement(dx,{className:"react-colorful__hue-pointer",left:t/360,color:V1({h:t,s:100,v:100,a:1})})))}),_ae=H.memo(function(e){var t=e.hsva,n=e.onChange,r={backgroundColor:V1({h:t.h,s:100,v:100,a:1})};return H.createElement("div",{className:"react-colorful__saturation",style:r},H.createElement(ux,{onMove:function(o){n({s:100*o.left,v:100-100*o.top})},onKey:function(o){n({s:Ac(t.s+100*o.left,0,100),v:Ac(t.v-100*o.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+po(t.s)+"%, Brightness "+po(t.v)+"%"},H.createElement(dx,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:V1(t)})))}),l8=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0};function Pae(e,t,n){var r=H1(n),o=f.useState(function(){return e.toHsva(t)}),s=o[0],a=o[1],c=f.useRef({color:t,hsva:s});f.useEffect(function(){if(!e.equal(t,c.current.color)){var p=e.toHsva(t);c.current={hsva:p,color:t},a(p)}},[t,e]),f.useEffect(function(){var p;l8(s,c.current.hsva)||e.equal(p=e.fromHsva(s),c.current.color)||(c.current={hsva:s,color:p},r(p))},[s,e,r]);var d=f.useCallback(function(p){a(function(h){return Object.assign({},h,p)})},[]);return[s,d]}var jae=typeof window<"u"?f.useLayoutEffect:f.useEffect,Iae=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},f_=new Map,Eae=function(e){jae(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!f_.has(t)){var n=t.createElement("style");n.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,f_.set(t,n);var r=Iae();r&&n.setAttribute("nonce",r),t.head.appendChild(n)}},[])},Oae=function(e){var t=e.className,n=e.hsva,r=e.onChange,o={backgroundImage:"linear-gradient(90deg, "+bv(Object.assign({},n,{a:0}))+", "+bv(Object.assign({},n,{a:1}))+")"},s=hg(["react-colorful__alpha",t]),a=po(100*n.a);return H.createElement("div",{className:s},H.createElement("div",{className:"react-colorful__alpha-gradient",style:o}),H.createElement(ux,{onMove:function(c){r({a:c.left})},onKey:function(c){r({a:Ac(n.a+c.left)})},"aria-label":"Alpha","aria-valuetext":a+"%","aria-valuenow":a,"aria-valuemin":"0","aria-valuemax":"100"},H.createElement(dx,{className:"react-colorful__alpha-pointer",left:n.a,color:bv(n)})))},Rae=function(e){var t=e.className,n=e.colorModel,r=e.color,o=r===void 0?n.defaultColor:r,s=e.onChange,a=a8(e,["className","colorModel","color","onChange"]),c=f.useRef(null);Eae(c);var d=Pae(n,o,s),p=d[0],h=d[1],m=hg(["react-colorful",t]);return H.createElement("div",pg({},a,{ref:c,className:m}),H.createElement(_ae,{hsva:p,onChange:h}),H.createElement(kae,{hue:p.h,onChange:h}),H.createElement(Oae,{hsva:p,onChange:h,className:"react-colorful__last-control"}))},Mae={defaultColor:{r:0,g:0,b:0,a:1},toHsva:Cae,fromHsva:Sae,equal:l8},c8=function(e){return H.createElement(Rae,pg({},e,{colorModel:Mae}))};const Dae=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(As({nodeId:t,fieldName:n.name,value:s}))};return i.jsx(c8,{className:"nodrag",color:n.value,onChange:o})},Aae=f.memo(Dae),Tae=e=>null,Nae=f.memo(Tae),$ae=e=>null,Lae=f.memo($ae),zae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=lb(),a=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/controlnet/${r==null?void 0:r.model_name}`])??null,[r==null?void 0:r.base_model,r==null?void 0:r.model_name,s==null?void 0:s.entities]),c=f.useMemo(()=>{if(!s)return[];const p=[];return oo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:Qn[h.base_model]})}),p},[s]),d=f.useCallback(p=>{if(!p)return;const h=GO(p);h&&o(As({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return i.jsx(Xr,{tooltip:a==null?void 0:a.description,label:(a==null?void 0:a.base_model)&&Qn[a==null?void 0:a.base_model],value:(a==null?void 0:a.id)??null,placeholder:"Pick one",error:!a,data:c,onChange:d})},Bae=f.memo(zae),Fae=e=>{const{nodeId:t,field:n,template:r}=e,o=te(),s=a=>{o(As({nodeId:t,fieldName:n.name,value:a.target.value}))};return i.jsx(z6,{onChange:s,value:n.value,children:r.options.map(a=>i.jsx("option",{children:a},a))})},Hae=f.memo(Fae),Wae=e=>{var c;const{nodeId:t,field:n}=e,r={id:`node-${t}-${n.name}`,actionType:"SET_MULTI_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}},{isOver:o,setNodeRef:s,active:a}=eb({id:`node_${t}`,data:r});return i.jsxs(W,{ref:s,sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center",position:"relative",minH:"10rem"},children:[(c=n.value)==null?void 0:c.map(({image_name:d})=>i.jsx(Uae,{imageName:d},d)),zp(r,a)&&i.jsx(Zh,{isOver:o})]})},Vae=f.memo(Wae),Uae=e=>{const{currentData:t}=Is(e.imageName);return i.jsx(fl,{imageDTO:t,isDropDisabled:!0,isDragDisabled:!0})},Gae=e=>{var p;const{nodeId:t,field:n}=e,r=te(),{currentData:o}=Is(((p=n.value)==null?void 0:p.image_name)??ro.skipToken),s=f.useCallback(()=>{r(As({nodeId:t,fieldName:n.name,value:void 0}))},[r,n.name,t]),a=f.useMemo(()=>{if(o)return{id:`node-${t}-${n.name}`,payloadType:"IMAGE_DTO",payload:{imageDTO:o}}},[n.name,o,t]),c=f.useMemo(()=>({id:`node-${t}-${n.name}`,actionType:"SET_NODES_IMAGE",context:{nodeId:t,fieldName:n.name}}),[n.name,t]),d=f.useMemo(()=>({type:"SET_NODES_IMAGE",nodeId:t,fieldName:n.name}),[t,n.name]);return i.jsx(W,{sx:{w:"full",h:"full",alignItems:"center",justifyContent:"center"},children:i.jsx(fl,{imageDTO:o,droppableData:c,draggableData:a,onClickReset:s,postUploadAction:d})})},qae=f.memo(Gae),Kae=e=>i.jsx(PY,{}),p_=f.memo(Kae),Xae=e=>null,Yae=f.memo(Xae),Qae=e=>{const t=Sd("models"),[n,r,o]=e.split("/"),s=WM.safeParse({base_model:n,model_name:o});if(!s.success){t.error({loraModelId:e,errors:s.error.format()},"Failed to parse LoRA model id");return}return s.data},Jae=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=mm(),a=f.useMemo(()=>{if(!s)return[];const p=[];return oo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:Qn[h.base_model]})}),p.sort((h,m)=>h.disabled&&!m.disabled?1:-1)},[s]),c=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/lora/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r==null?void 0:r.base_model,r==null?void 0:r.model_name]),d=f.useCallback(p=>{if(!p)return;const h=Qae(p);h&&o(As({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return(s==null?void 0:s.ids.length)===0?i.jsx(W,{sx:{justifyContent:"center",p:2},children:i.jsx(Qe,{sx:{fontSize:"sm",color:"base.500",_dark:"base.700"},children:"No LoRAs Loaded"})}):i.jsx(ar,{value:(c==null?void 0:c.id)??null,label:(c==null?void 0:c.base_model)&&Qn[c==null?void 0:c.base_model],placeholder:a.length>0?"Select a LoRA":"No LoRAs available",data:a,nothingFound:"No matching LoRAs",itemComponent:Oi,disabled:a.length===0,filter:(p,h)=>{var m;return((m=h.label)==null?void 0:m.toLowerCase().includes(p.toLowerCase().trim()))||h.value.toLowerCase().includes(p.toLowerCase().trim())},onChange:d})},Zae=f.memo(Jae),eie=e=>{var v,b;const{nodeId:t,field:n}=e,r=te(),{t:o}=ye(),s=ir("syncModels").isFeatureEnabled,{data:a}=Up(Qu),{data:c,isLoading:d}=na(Qu),p=f.useMemo(()=>{if(!c)return[];const w=[];return oo(c.entities,(y,S)=>{y&&w.push({value:S,label:y.model_name,group:Qn[y.base_model]})}),a&&oo(a.entities,(y,S)=>{y&&w.push({value:S,label:y.model_name,group:Qn[y.base_model]})}),w},[c,a]),h=f.useMemo(()=>{var w,y,S,k;return((c==null?void 0:c.entities[`${(w=n.value)==null?void 0:w.base_model}/main/${(y=n.value)==null?void 0:y.model_name}`])||(a==null?void 0:a.entities[`${(S=n.value)==null?void 0:S.base_model}/onnx/${(k=n.value)==null?void 0:k.model_name}`]))??null},[(v=n.value)==null?void 0:v.base_model,(b=n.value)==null?void 0:b.model_name,c==null?void 0:c.entities,a==null?void 0:a.entities]),m=f.useCallback(w=>{if(!w)return;const y=nx(w);y&&r(As({nodeId:t,fieldName:n.name,value:y}))},[r,n.name,t]);return d?i.jsx(ar,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(ar,{tooltip:h==null?void 0:h.description,label:(h==null?void 0:h.base_model)&&Qn[h==null?void 0:h.base_model],value:h==null?void 0:h.id,placeholder:p.length>0?"Select a model":"No models available",data:p,error:p.length===0,disabled:p.length===0,onChange:m}),s&&i.jsx(Re,{mt:7,children:i.jsx(Qd,{iconMode:!0})})]})},tie=f.memo(eie),nie=e=>{const{nodeId:t,field:n}=e,r=te(),[o,s]=f.useState(String(n.value)),a=c=>{s(c),c.match(am)||r(As({nodeId:t,fieldName:n.name,value:e.template.type==="integer"?Math.floor(Number(c)):Number(c)}))};return f.useEffect(()=>{!o.match(am)&&n.value!==Number(o)&&s(String(n.value))},[n.value,o]),i.jsxs(km,{onChange:a,value:o,step:e.template.type==="integer"?1:.1,precision:e.template.type==="integer"?0:3,children:[i.jsx(Pm,{}),i.jsxs(_m,{children:[i.jsx(Im,{}),i.jsx(jm,{})]})]})},rie=f.memo(nie),oie=e=>{const{nodeId:t,field:n}=e,r=te(),o=s=>{r(As({nodeId:t,fieldName:n.name,value:s.target.value}))};return["prompt","style"].includes(n.name.toLowerCase())?i.jsx(ey,{onChange:o,value:n.value,rows:2}):i.jsx(Ed,{onChange:o,value:n.value})},sie=f.memo(oie),aie=e=>null,iie=f.memo(aie),lie=e=>null,cie=f.memo(lie),uie=e=>{const{nodeId:t,field:n}=e,r=n.value,o=te(),{data:s}=t5(),a=f.useMemo(()=>{if(!s)return[];const p=[{value:"default",label:"Default",group:"Default"}];return oo(s.entities,(h,m)=>{h&&p.push({value:m,label:h.model_name,group:Qn[h.base_model]})}),p.sort((h,m)=>h.disabled&&!m.disabled?1:-1)},[s]),c=f.useMemo(()=>(s==null?void 0:s.entities[`${r==null?void 0:r.base_model}/vae/${r==null?void 0:r.model_name}`])??null,[s==null?void 0:s.entities,r]),d=f.useCallback(p=>{if(!p)return;const h=LO(p);h&&o(As({nodeId:t,fieldName:n.name,value:h}))},[o,n.name,t]);return i.jsx(ar,{itemComponent:Oi,tooltip:c==null?void 0:c.description,label:(c==null?void 0:c.base_model)&&Qn[c==null?void 0:c.base_model],value:(c==null?void 0:c.id)??"default",placeholder:"Default",data:a,onChange:d,disabled:a.length===0,clearable:!0})},die=f.memo(uie),fie=e=>{var m,v;const{nodeId:t,field:n}=e,r=te(),{t:o}=ye(),s=ir("syncModels").isFeatureEnabled,{data:a,isLoading:c}=na(ib),d=f.useMemo(()=>{if(!a)return[];const b=[];return oo(a.entities,(w,y)=>{w&&b.push({value:y,label:w.model_name,group:Qn[w.base_model]})}),b},[a]),p=f.useMemo(()=>{var b,w;return(a==null?void 0:a.entities[`${(b=n.value)==null?void 0:b.base_model}/main/${(w=n.value)==null?void 0:w.model_name}`])??null},[(m=n.value)==null?void 0:m.base_model,(v=n.value)==null?void 0:v.model_name,a==null?void 0:a.entities]),h=f.useCallback(b=>{if(!b)return;const w=nx(b);w&&r(As({nodeId:t,fieldName:n.name,value:w}))},[r,n.name,t]);return c?i.jsx(ar,{label:o("modelManager.model"),placeholder:"Loading...",disabled:!0,data:[]}):i.jsxs(W,{w:"100%",alignItems:"center",gap:2,children:[i.jsx(ar,{tooltip:p==null?void 0:p.description,label:(p==null?void 0:p.base_model)&&Qn[p==null?void 0:p.base_model],value:p==null?void 0:p.id,placeholder:d.length>0?"Select a model":"No models available",data:d,error:d.length===0,disabled:d.length===0,onChange:h}),s&&i.jsx(Re,{mt:7,children:i.jsx(Qd,{iconMode:!0})})]})},pie=f.memo(fie),hie=e=>{const{nodeId:t,field:n,template:r}=e,{type:o}=n;return o==="string"&&r.type==="string"?i.jsx(sie,{nodeId:t,field:n,template:r}):o==="boolean"&&r.type==="boolean"?i.jsx(yae,{nodeId:t,field:n,template:r}):o==="integer"&&r.type==="integer"||o==="float"&&r.type==="float"?i.jsx(rie,{nodeId:t,field:n,template:r}):o==="enum"&&r.type==="enum"?i.jsx(Hae,{nodeId:t,field:n,template:r}):o==="image"&&r.type==="image"?i.jsx(qae,{nodeId:t,field:n,template:r}):o==="latents"&&r.type==="latents"?i.jsx(Yae,{nodeId:t,field:n,template:r}):o==="conditioning"&&r.type==="conditioning"?i.jsx(Nae,{nodeId:t,field:n,template:r}):o==="unet"&&r.type==="unet"?i.jsx(iie,{nodeId:t,field:n,template:r}):o==="clip"&&r.type==="clip"?i.jsx(wae,{nodeId:t,field:n,template:r}):o==="vae"&&r.type==="vae"?i.jsx(cie,{nodeId:t,field:n,template:r}):o==="control"&&r.type==="control"?i.jsx(Lae,{nodeId:t,field:n,template:r}):o==="model"&&r.type==="model"?i.jsx(tie,{nodeId:t,field:n,template:r}):o==="refiner_model"&&r.type==="refiner_model"?i.jsx(pie,{nodeId:t,field:n,template:r}):o==="vae_model"&&r.type==="vae_model"?i.jsx(die,{nodeId:t,field:n,template:r}):o==="lora_model"&&r.type==="lora_model"?i.jsx(Zae,{nodeId:t,field:n,template:r}):o==="controlnet_model"&&r.type==="controlnet_model"?i.jsx(Bae,{nodeId:t,field:n,template:r}):o==="array"&&r.type==="array"?i.jsx(vae,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?i.jsx(p_,{nodeId:t,field:n,template:r}):o==="color"&&r.type==="color"?i.jsx(Aae,{nodeId:t,field:n,template:r}):o==="item"&&r.type==="item"?i.jsx(p_,{nodeId:t,field:n,template:r}):o==="image_collection"&&r.type==="image_collection"?i.jsx(Vae,{nodeId:t,field:n,template:r}):i.jsxs(Re,{p:2,children:["Unknown field type: ",o]})},mie=f.memo(hie);function gie(e){const{nodeId:t,input:n,template:r,connected:o}=e,s=o8();return i.jsx(Re,{className:"nopan",position:"relative",borderColor:r?!o&&["always","connectionOnly"].includes(String(r==null?void 0:r.inputRequirement))&&n.value===void 0?"warning.400":void 0:"error.400",children:i.jsx(go,{isDisabled:r?o:!0,pl:2,children:r?i.jsxs(i.Fragment,{children:[i.jsxs(pi,{justifyContent:"space-between",alignItems:"center",children:[i.jsx(pi,{children:i.jsx(vn,{label:r==null?void 0:r.description,placement:"top",hasArrow:!0,shouldWrapChildren:!0,openDelay:f5,children:i.jsx(Bo,{children:r==null?void 0:r.title})})}),i.jsx(mie,{nodeId:t,field:n,template:r})]}),!["never","directOnly"].includes((r==null?void 0:r.inputRequirement)??"")&&i.jsx(s8,{nodeId:t,field:r,isValidConnection:s,handleType:"target"})]}):i.jsx(pi,{justifyContent:"space-between",alignItems:"center",children:i.jsxs(Bo,{children:["Unknown input: ",n.name]})})})})}const vie=e=>{const{nodeId:t,template:n,inputs:r}=e,o=B(a=>a.nodes.edges);return f.useCallback(()=>{const a=[],c=cs(r);return c.forEach((d,p)=>{const h=n.inputs[d.name],m=!!o.filter(v=>v.target===t&&v.targetHandle===d.name).length;p{const{nodeId:t,template:n,outputs:r}=e,o=B(a=>a.nodes.edges);return f.useCallback(()=>{const a=[];return cs(r).forEach(d=>{const p=n.outputs[d.name],h=!!o.filter(m=>m.source===t&&m.sourceHandle===d.name).length;a.push(i.jsx(yie,{nodeId:t,output:d,template:p,connected:h},d.id))}),i.jsx(W,{flexDir:"column",children:a})},[o,t,r,n.outputs])()},wie=f.memo(xie),Sie=e=>{const{...t}=e;return i.jsx(Z9,{style:{position:"absolute",border:"none",background:"transparent",width:15,height:15,bottom:0,right:0},minWidth:h5,...t})},U1=f.memo(Sie),G1=e=>{const[t,n]=$c("shadows",["nodeSelectedOutline","dark-lg"]),r=B(o=>o.hotkeys.shift);return i.jsx(Re,{className:r?cx:"nopan",sx:{position:"relative",borderRadius:"md",minWidth:h5,shadow:e.selected?`${t}, ${n}`:`${n}`},children:e.children})},u8=f.memo(e=>{const{id:t,data:n,selected:r}=e,{type:o,inputs:s,outputs:a}=n,c=f.useMemo(()=>iae(o),[o]),d=B(c);return d?i.jsxs(G1,{selected:r,children:[i.jsx(r8,{nodeId:t,title:d.title,description:d.description}),i.jsxs(W,{className:"nopan",sx:{cursor:"auto",flexDirection:"column",borderBottomRadius:"md",py:2,bg:"base.150",_dark:{bg:"base.800"}},children:[i.jsx(wie,{nodeId:t,outputs:a,template:d}),i.jsx(bie,{nodeId:t,inputs:s,template:d})]}),i.jsx(U1,{})]}):i.jsx(G1,{selected:r,children:i.jsxs(W,{className:"nopan",sx:{alignItems:"center",justifyContent:"center",cursor:"auto"},children:[i.jsx(fo,{as:ZI,sx:{boxSize:32,color:"base.600",_dark:{color:"base.400"}}}),i.jsx(U1,{})]})})});u8.displayName="InvocationComponent";const Cie=e=>{const t=vw(a=>a.system.progressImage),n=vw(a=>a.nodes.progressNodeSize),r=VM(),{selected:o}=e,s=(a,c)=>{r(UM(c))};return i.jsxs(G1,{selected:o,children:[i.jsx(r8,{title:"Progress Image",description:"Displays the progress image in the Node Editor"}),i.jsx(W,{sx:{flexDirection:"column",flexShrink:0,borderBottomRadius:"md",bg:"base.200",_dark:{bg:"base.800"},width:n.width-2,height:n.height-2,minW:250,minH:250,overflow:"hidden"},children:t?i.jsx(Lc,{src:t.dataURL,sx:{w:"full",h:"full",objectFit:"contain"}}):i.jsx(W,{sx:{minW:250,minH:250,width:n.width-2,height:n.height-2},children:i.jsx(tl,{})})}),i.jsx(U1,{onResize:s})]})},kie=f.memo(Cie),_ie=()=>{const{t:e}=ye(),{zoomIn:t,zoomOut:n,fitView:r}=cb(),o=te(),s=B(w=>w.nodes.shouldShowGraphOverlay),a=B(w=>w.nodes.shouldShowFieldTypeLegend),c=B(w=>w.nodes.shouldShowMinimapPanel),d=f.useCallback(()=>{t()},[t]),p=f.useCallback(()=>{n()},[n]),h=f.useCallback(()=>{r()},[r]),m=f.useCallback(()=>{o(GM(!s))},[s,o]),v=f.useCallback(()=>{o(qM(!a))},[a,o]),b=f.useCallback(()=>{o(KM(!c))},[c,o]);return i.jsxs(rr,{isAttached:!0,orientation:"vertical",children:[i.jsx(vn,{label:e("nodes.zoomInNodes"),children:i.jsx(ze,{"aria-label":"Zoom in ",onClick:d,icon:i.jsx(yl,{})})}),i.jsx(vn,{label:e("nodes.zoomOutNodes"),children:i.jsx(ze,{"aria-label":"Zoom out",onClick:p,icon:i.jsx(JY,{})})}),i.jsx(vn,{label:e("nodes.fitViewportNodes"),children:i.jsx(ze,{"aria-label":"Fit viewport",onClick:h,icon:i.jsx(zY,{})})}),i.jsx(vn,{label:e(s?"nodes.hideGraphNodes":"nodes.showGraphNodes"),children:i.jsx(ze,{"aria-label":"Toggle nodes graph overlay",isChecked:s,onClick:m,icon:i.jsx(yy,{})})}),i.jsx(vn,{label:e(a?"nodes.hideLegendNodes":"nodes.showLegendNodes"),children:i.jsx(ze,{"aria-label":"Toggle field type legend",isChecked:a,onClick:v,icon:i.jsx(qY,{})})}),i.jsx(vn,{label:e(c?"nodes.hideMinimapnodes":"nodes.showMinimapnodes"),children:i.jsx(ze,{"aria-label":"Toggle minimap",isChecked:c,onClick:b,icon:i.jsx(YY,{})})})]})},Pie=f.memo(_ie),jie=()=>i.jsx(vd,{position:"bottom-left",children:i.jsx(Pie,{})}),Iie=f.memo(jie),Eie=()=>{const e=jp({background:"var(--invokeai-colors-base-200)"},{background:"var(--invokeai-colors-base-500)"}),t=B(o=>o.nodes.shouldShowMinimapPanel),n=jp("var(--invokeai-colors-accent-300)","var(--invokeai-colors-accent-700)"),r=jp("var(--invokeai-colors-blackAlpha-300)","var(--invokeai-colors-blackAlpha-600)");return i.jsx(i.Fragment,{children:t&&i.jsx(W9,{nodeStrokeWidth:3,pannable:!0,zoomable:!0,nodeBorderRadius:30,style:e,nodeColor:n,maskColor:r})})},Oie=f.memo(Eie),Rie=()=>{const{t:e}=ye(),t=te(),{isOpen:n,onOpen:r,onClose:o}=ss(),s=f.useRef(null),a=B(d=>d.nodes.nodes),c=f.useCallback(()=>{t(XM()),t(On(Mn({title:e("toast.nodesCleared"),status:"success"}))),o()},[t,e,o]);return i.jsxs(i.Fragment,{children:[i.jsx(ze,{icon:i.jsx(Eo,{}),tooltip:e("nodes.clearGraph"),"aria-label":e("nodes.clearGraph"),onClick:r,isDisabled:a.length===0}),i.jsxs(Td,{isOpen:n,onClose:o,leastDestructiveRef:s,isCentered:!0,children:[i.jsx(Aa,{}),i.jsxs(Nd,{children:[i.jsx(Da,{fontSize:"lg",fontWeight:"bold",children:e("nodes.clearGraph")}),i.jsx(Ta,{children:i.jsx(Qe,{children:e("nodes.clearGraphDesc")})}),i.jsxs(Ma,{children:[i.jsx(yc,{ref:s,onClick:o,children:e("common.cancel")}),i.jsx(yc,{colorScheme:"red",ml:3,onClick:c,children:e("common.accept")})]})]})]})]})},Mie=f.memo(Rie);function Die(e){const t=["nodes","edges","viewport"];for(const s of t)if(!(s in e))return{isValid:!1,message:Bn.t("toast.nodesNotValidGraph")};if(!Array.isArray(e.nodes)||!Array.isArray(e.edges))return{isValid:!1,message:Bn.t("toast.nodesNotValidGraph")};const n=["data","type"],r=["invocation","progress_image"];if(e.nodes.length>0)for(const s of e.nodes)for(const a of n){if(!(a in s))return{isValid:!1,message:Bn.t("toast.nodesNotValidGraph")};if(a==="type"&&!r.includes(s[a]))return{isValid:!1,message:Bn.t("toast.nodesUnrecognizedTypes")}}const o=["source","sourceHandle","target","targetHandle"];if(e.edges.length>0){for(const s of e.edges)for(const a of o)if(!(a in s))return{isValid:!1,message:Bn.t("toast.nodesBrokenConnections")}}return{isValid:!0,message:Bn.t("toast.nodesLoaded")}}const Aie=()=>{const{t:e}=ye(),t=te(),{fitView:n}=cb(),r=f.useRef(null),o=f.useCallback(s=>{var c;if(!s)return;const a=new FileReader;a.onload=async()=>{const d=a.result;try{const p=await JSON.parse(String(d)),{isValid:h,message:m}=Die(p);h?(t(YM(p.nodes)),t(QM(p.edges)),n(),t(On(Mn({title:m,status:"success"})))):t(On(Mn({title:m,status:"error"}))),a.abort()}catch(p){p&&t(On(Mn({title:e("toast.nodesNotValidJSON"),status:"error"})))}},a.readAsText(s),(c=r.current)==null||c.call(r)},[n,t,e]);return i.jsx(_I,{resetRef:r,accept:"application/json",onChange:o,children:s=>i.jsx(ze,{icon:i.jsx(Vd,{}),tooltip:e("nodes.loadGraph"),"aria-label":e("nodes.loadGraph"),...s})})},Tie=f.memo(Aie);function Nie(e){const{iconButton:t=!1,...n}=e,r=te(),o=B(Kn),s=Xd(),a=f.useCallback(()=>{r(wd("nodes"))},[r]),{t:c}=ye();return tt(["ctrl+enter","meta+enter"],a,{enabled:()=>s,preventDefault:!0,enableOnFormTags:["input","textarea","select"]},[s,o]),i.jsx(Re,{style:{flexGrow:4},position:"relative",children:i.jsxs(Re,{style:{position:"relative"},children:[!s&&i.jsx(Re,{borderRadius:"base",style:{position:"absolute",bottom:"0",left:"0",right:"0",height:"100%",overflow:"clip"},children:i.jsx(MO,{})}),t?i.jsx(ze,{"aria-label":c("parameters.invoke"),type:"submit",icon:i.jsx(aE,{}),isDisabled:!s,onClick:a,flexGrow:1,w:"100%",tooltip:c("parameters.invoke"),tooltipProps:{placement:"bottom"},colorScheme:"accent",id:"invoke-button",_disabled:{background:"none",_hover:{background:"none"}},...n}):i.jsx(Yt,{"aria-label":c("parameters.invoke"),type:"submit",isDisabled:!s,onClick:a,flexGrow:1,w:"100%",colorScheme:"accent",id:"invoke-button",fontWeight:700,_disabled:{background:"none",_hover:{background:"none"}},...n,children:"Invoke"})]})})}function $ie(){const{t:e}=ye(),t=te(),n=f.useCallback(()=>{t(JM())},[t]);return i.jsx(ze,{icon:i.jsx(oQ,{}),tooltip:e("nodes.reloadSchema"),"aria-label":e("nodes.reloadSchema"),onClick:n})}const Lie=()=>{const{t:e}=ye(),t=B(o=>o.nodes.editorInstance),n=B(o=>o.nodes.nodes),r=f.useCallback(()=>{if(t){const o=t.toObject();o.edges=cs(o.edges,c=>ZM(c,["style"]));const s=new Blob([JSON.stringify(o)]),a=document.createElement("a");a.href=URL.createObjectURL(s),a.download="MyNodes.json",document.body.appendChild(a),a.click(),a.remove()}},[t]);return i.jsx(ze,{icon:i.jsx(Um,{}),fontSize:18,tooltip:e("nodes.saveGraph"),"aria-label":e("nodes.saveGraph"),onClick:r,isDisabled:n.length===0})},zie=f.memo(Lie),Bie=()=>i.jsx(vd,{position:"top-center",children:i.jsxs(pi,{children:[i.jsx(Nie,{}),i.jsx(ig,{}),i.jsx($ie,{}),i.jsx(zie,{}),i.jsx(Tie,{}),i.jsx(Mie,{})]})}),Fie=f.memo(Bie),Hie=be([lt],({nodes:e})=>{const t=cs(e.invocationTemplates,n=>({label:n.title,value:n.type,description:n.description}));return t.push({label:"Progress Image",value:"progress_image",description:"Displays the progress image in the Node Editor"}),{data:t}},Je),Wie=()=>{const e=te(),{data:t}=B(Hie),n=uae(),r=Vc(),o=f.useCallback(a=>{const c=n(a);if(!c){r({status:"error",title:`Unknown Invocation type ${a}`});return}e(eD(c))},[e,n,r]),s=f.useCallback(a=>{a&&o(a)},[o]);return i.jsx(W,{sx:{gap:2,alignItems:"center"},children:i.jsx(ar,{selectOnBlur:!1,placeholder:"Add Node",value:null,data:t,maxDropdownHeight:400,nothingFound:"No matching nodes",itemComponent:d8,filter:(a,c)=>c.label.toLowerCase().includes(a.toLowerCase().trim())||c.value.toLowerCase().includes(a.toLowerCase().trim())||c.description.toLowerCase().includes(a.toLowerCase().trim()),onChange:s,sx:{width:"18rem"}})})},d8=f.forwardRef(({label:e,description:t,...n},r)=>i.jsx("div",{ref:r,...n,children:i.jsxs("div",{children:[i.jsx(Qe,{fontWeight:600,children:e}),i.jsx(Qe,{size:"xs",sx:{color:"base.600",_dark:{color:"base.500"}},children:t})]})}));d8.displayName="SelectItem";const Vie=()=>i.jsx(vd,{position:"top-left",children:i.jsx(Wie,{})}),Uie=f.memo(Vie),Gie=()=>i.jsx(W,{sx:{gap:2,flexDir:"column"},children:cs(p5,({title:e,description:t,color:n},r)=>i.jsx(vn,{label:t,children:i.jsx(gl,{colorScheme:n,sx:{userSelect:"none"},textAlign:"center",children:e})},r))}),qie=f.memo(Gie),Kie=()=>{const e=B(n=>n),t=tD(e);return i.jsx(Re,{as:"pre",sx:{fontFamily:"monospace",position:"absolute",top:2,right:2,opacity:.7,p:2,maxHeight:500,maxWidth:500,overflowY:"scroll",borderRadius:"base",bg:"base.200",_dark:{bg:"base.800"}},children:JSON.stringify(t,null,2)})},Xie=f.memo(Kie),Yie=()=>{const e=B(n=>n.nodes.shouldShowGraphOverlay),t=B(n=>n.nodes.shouldShowFieldTypeLegend);return i.jsxs(vd,{position:"top-right",children:[t&&i.jsx(qie,{}),e&&i.jsx(Xie,{})]})},Qie=f.memo(Yie),Jie={invocation:u8,progress_image:kie},Zie=()=>{const e=te(),t=B(p=>p.nodes.nodes),n=B(p=>p.nodes.edges),r=f.useCallback(p=>{e(nD(p))},[e]),o=f.useCallback(p=>{e(rD(p))},[e]),s=f.useCallback((p,h)=>{e(oD(h))},[e]),a=f.useCallback(p=>{e(sD(p))},[e]),c=f.useCallback(()=>{e(aD())},[e]),d=f.useCallback(p=>{e(iD(p)),p&&p.fitView()},[e]);return i.jsxs(lD,{nodeTypes:Jie,nodes:t,edges:n,onNodesChange:r,onEdgesChange:o,onConnectStart:s,onConnect:a,onConnectEnd:c,onInit:d,defaultEdgeOptions:{style:{strokeWidth:2}},children:[i.jsx(Uie,{}),i.jsx(Fie,{}),i.jsx(Qie,{}),i.jsx(Iie,{}),i.jsx(X9,{}),i.jsx(Oie,{})]})},ele=()=>i.jsx(Re,{layerStyle:"first",sx:{position:"relative",width:"full",height:"full",borderRadius:"base"},children:i.jsx(cD,{children:i.jsx(Zie,{})})}),tle=f.memo(ele),nle=()=>i.jsx(tle,{}),rle=f.memo(nle),ole=be(lt,({ui:e,generation:t})=>{const{shouldUseSliders:n}=e,{shouldRandomizeSeed:r}=t;return{shouldUseSliders:n,activeLabel:r?void 0:"Manual Seed"}},Je),sle=()=>{const{shouldUseSliders:e,activeLabel:t}=B(ole);return i.jsx(Mo,{label:"General",activeLabel:t,defaultIsOpen:!0,children:i.jsx(W,{sx:{flexDirection:"column",gap:3},children:e?i.jsxs(i.Fragment,{children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{}),i.jsx(Si,{}),i.jsx(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(Mc,{})]}):i.jsxs(i.Fragment,{children:[i.jsxs(W,{gap:3,children:[i.jsx(wi,{}),i.jsx(Ci,{}),i.jsx(xi,{})]}),i.jsx(Si,{}),i.jsx(Re,{pt:2,children:i.jsx(ki,{})}),i.jsx(Mc,{})]})})})},f8=f.memo(sle),p8=()=>i.jsxs(i.Fragment,{children:[i.jsx(NO,{}),i.jsx(Yd,{}),i.jsx(f8,{}),i.jsx($O,{}),i.jsx(Jd,{}),i.jsx(Kd,{}),i.jsx(ag,{})]}),h8=()=>i.jsxs(i.Fragment,{children:[i.jsx(ix,{}),i.jsx(Yd,{}),i.jsx(f8,{}),i.jsx(sx,{}),i.jsx(Jd,{}),i.jsx(Kd,{}),i.jsx(ag,{}),i.jsx(ax,{}),i.jsx(qO,{}),i.jsx(ox,{})]}),ale=()=>{const e=B(t=>t.generation.model);return i.jsxs(W,{sx:{gap:4,w:"full",h:"full"},children:[i.jsx(rx,{children:e&&e.base_model==="sdxl"?i.jsx(p8,{}):i.jsx(h8,{})}),i.jsx(UO,{})]})},ile=f.memo(ale);var q1={exports:{}};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Konva=void 0;var n=bw;Object.defineProperty(t,"Konva",{enumerable:!0,get:function(){return n.Konva}});const r=bw;e.exports=r.Konva})(q1,q1.exports);var lle=q1.exports;const gd=yd(lle);var m8={exports:{}};/** * @license React * react-reconciler.production.min.js * diff --git a/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-6fe89879.js b/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-139ac716.js similarity index 99% rename from invokeai/frontend/web/dist/assets/ThemeLocaleProvider-6fe89879.js rename to invokeai/frontend/web/dist/assets/ThemeLocaleProvider-139ac716.js index 6f86cc3e56..70d8fbf6f2 100644 --- a/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-6fe89879.js +++ b/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-139ac716.js @@ -1,4 +1,4 @@ -import{B as m,g7 as Je,A as y,a5 as Ka,g8 as Xa,af as va,aj as d,g9 as b,ga as t,gb as Ya,gc as h,gd as ua,ge as Ja,gf as Qa,aL as Za,gg as et,ad as rt,gh as at}from"./index-dd054634.js";import{s as fa,n as o,t as tt,o as ha,p as ot,q as ma,v as ga,w as ya,x as it,y as Sa,z as pa,A as xr,B as nt,D as lt,E as st,F as xa,G as $a,H as ka,J as dt,K as _a,L as ct,M as bt,N as vt,O as ut,Q as wa,R as ft,S as ht,T as mt,U as gt,V as yt,W as St,e as pt,X as xt}from"./menu-b42141e3.js";var za=String.raw,Ca=za` +import{B as m,g7 as Je,A as y,a5 as Ka,g8 as Xa,af as va,aj as d,g9 as b,ga as t,gb as Ya,gc as h,gd as ua,ge as Ja,gf as Qa,aL as Za,gg as et,ad as rt,gh as at}from"./index-815faab3.js";import{s as fa,n as o,t as tt,o as ha,p as ot,q as ma,v as ga,w as ya,x as it,y as Sa,z as pa,A as xr,B as nt,D as lt,E as st,F as xa,G as $a,H as ka,J as dt,K as _a,L as ct,M as bt,N as vt,O as ut,Q as wa,R as ft,S as ht,T as mt,U as gt,V as yt,W as St,e as pt,X as xt}from"./menu-e9f8a36e.js";var za=String.raw,Ca=za` :root, :host { --chakra-vh: 100vh; diff --git a/invokeai/frontend/web/dist/assets/index-dd054634.js b/invokeai/frontend/web/dist/assets/index-815faab3.js similarity index 80% rename from invokeai/frontend/web/dist/assets/index-dd054634.js rename to invokeai/frontend/web/dist/assets/index-815faab3.js index fbca2591d7..ff2607543b 100644 --- a/invokeai/frontend/web/dist/assets/index-dd054634.js +++ b/invokeai/frontend/web/dist/assets/index-815faab3.js @@ -6,7 +6,7 @@ function b7(e,t){for(var n=0;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),mC=Object.prototype.hasOwnProperty,gQ=/^[: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]*$/,PP={},RP={};function mQ(e){return mC.call(RP,e)?!0:mC.call(PP,e)?!1:gQ.test(e)?RP[e]=!0:(PP[e]=!0,!1)}function yQ(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function vQ(e,t,n,r){if(t===null||typeof t>"u"||yQ(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function ci(e,t,n,r,i,o,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=s}var kr={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){kr[e]=new ci(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];kr[t]=new ci(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){kr[e]=new ci(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){kr[e]=new ci(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){kr[e]=new ci(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){kr[e]=new ci(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){kr[e]=new ci(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){kr[e]=new ci(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){kr[e]=new ci(e,5,!1,e.toLowerCase(),null,!1,!1)});var e4=/[\-:]([a-z])/g;function t4(e){return e[1].toUpperCase()}"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(e4,t4);kr[t]=new ci(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(e4,t4);kr[t]=new ci(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(e4,t4);kr[t]=new ci(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){kr[e]=new ci(e,1,!1,e.toLowerCase(),null,!1,!1)});kr.xlinkHref=new ci("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){kr[e]=new ci(e,1,!1,e.toLowerCase(),null,!0,!0)});function n4(e,t,n,r){var i=kr.hasOwnProperty(t)?kr[t]:null;(i!==null?i.type!==0:r||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),mC=Object.prototype.hasOwnProperty,gQ=/^[: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]*$/,RP={},OP={};function mQ(e){return mC.call(OP,e)?!0:mC.call(RP,e)?!1:gQ.test(e)?OP[e]=!0:(RP[e]=!0,!1)}function yQ(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function vQ(e,t,n,r){if(t===null||typeof t>"u"||yQ(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function ci(e,t,n,r,i,o,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=s}var kr={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){kr[e]=new ci(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];kr[t]=new ci(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){kr[e]=new ci(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){kr[e]=new ci(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){kr[e]=new ci(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){kr[e]=new ci(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){kr[e]=new ci(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){kr[e]=new ci(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){kr[e]=new ci(e,5,!1,e.toLowerCase(),null,!1,!1)});var t4=/[\-:]([a-z])/g;function n4(e){return e[1].toUpperCase()}"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(t4,n4);kr[t]=new ci(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(t4,n4);kr[t]=new ci(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(t4,n4);kr[t]=new ci(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){kr[e]=new ci(e,1,!1,e.toLowerCase(),null,!1,!1)});kr.xlinkHref=new ci("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){kr[e]=new ci(e,1,!1,e.toLowerCase(),null,!0,!0)});function r4(e,t,n,r){var i=kr.hasOwnProperty(t)?kr[t]:null;(i!==null?i.type!==0:r||!(2a||i[s]!==o[a]){var l=` -`+i[s].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=s&&0<=a);break}}}finally{Pw=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?sp(e):""}function _Q(e){switch(e.tag){case 5:return sp(e.type);case 16:return sp("Lazy");case 13:return sp("Suspense");case 19:return sp("SuspenseList");case 0:case 2:case 15:return e=Rw(e.type,!1),e;case 11:return e=Rw(e.type.render,!1),e;case 1:return e=Rw(e.type,!0),e;default:return""}}function bC(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Cd:return"Fragment";case xd:return"Portal";case yC:return"Profiler";case r4:return"StrictMode";case vC:return"Suspense";case _C:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case $7:return(e.displayName||"Context")+".Consumer";case D7:return(e._context.displayName||"Context")+".Provider";case i4:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case o4:return t=e.displayName||null,t!==null?t:bC(e.type)||"Memo";case ll:t=e._payload,e=e._init;try{return bC(e(t))}catch{}}return null}function bQ(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=t.render,e=e.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 bC(t);case 8:return t===r4?"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(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ll(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function B7(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function SQ(e){var t=B7(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){r=""+s,o.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]}}}}function Yy(e){e._valueTracker||(e._valueTracker=SQ(e))}function U7(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=B7(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Mv(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function SC(e,t){var n=t.checked;return bn({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function kP(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Ll(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function z7(e,t){t=t.checked,t!=null&&n4(e,"checked",t,!1)}function wC(e,t){z7(e,t);var n=Ll(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?xC(e,t.type,n):t.hasOwnProperty("defaultValue")&&xC(e,t.type,Ll(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function IP(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function xC(e,t,n){(t!=="number"||Mv(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var ap=Array.isArray;function zd(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=Qy.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Fp(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var mp={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},wQ=["Webkit","ms","Moz","O"];Object.keys(mp).forEach(function(e){wQ.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),mp[t]=mp[e]})});function H7(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||mp.hasOwnProperty(e)&&mp[e]?(""+t).trim():t+"px"}function W7(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=H7(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var xQ=bn({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 EC(e,t){if(t){if(xQ[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(ge(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(ge(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(ge(61))}if(t.style!=null&&typeof t.style!="object")throw Error(ge(62))}}function AC(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";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 PC=null;function s4(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var RC=null,Vd=null,jd=null;function LP(e){if(e=Jg(e)){if(typeof RC!="function")throw Error(ge(280));var t=e.stateNode;t&&(t=P_(t),RC(e.stateNode,e.type,t))}}function q7(e){Vd?jd?jd.push(e):jd=[e]:Vd=e}function K7(){if(Vd){var e=Vd,t=jd;if(jd=Vd=null,LP(e),t)for(e=0;e>>=0,e===0?32:31-(NQ(e)/LQ|0)|0}var Zy=64,Jy=4194304;function lp(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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function $v(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,s=n&268435455;if(s!==0){var a=s&~i;a!==0?r=lp(a):(o&=s,o!==0&&(r=lp(o)))}else s=n&~i,s!==0?r=lp(s):o!==0&&(r=lp(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Qg(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Wo(t),e[t]=n}function BQ(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=vp),GP=String.fromCharCode(32),HP=!1;function pM(e,t){switch(e){case"keyup":return hZ.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function gM(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Td=!1;function gZ(e,t){switch(e){case"compositionend":return gM(t);case"keypress":return t.which!==32?null:(HP=!0,GP);case"textInput":return e=t.data,e===GP&&HP?null:e;default:return null}}function mZ(e,t){if(Td)return e==="compositionend"||!p4&&pM(e,t)?(e=fM(),J0=d4=vl=null,Td=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=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=XP(n)}}function _M(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?_M(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function bM(){for(var e=window,t=Mv();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Mv(e.document)}return t}function g4(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function TZ(e){var t=bM(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&_M(n.ownerDocument.documentElement,n)){if(r!==null&&g4(n)){if(t=r.start,e=r.end,e===void 0&&(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,e.getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=r.end===void 0?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=YP(n,o);var s=YP(n,r);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>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;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Ed=null,LC=null,bp=null,DC=!1;function QP(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;DC||Ed==null||Ed!==Mv(r)||(r=Ed,"selectionStart"in r&&g4(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),bp&&Gp(bp,r)||(bp=r,r=Uv(LC,"onSelect"),0Rd||(e.current=VC[Rd],VC[Rd]=null,Rd--)}function Zt(e,t){Rd++,VC[Rd]=e.current,e.current=t}var Dl={},Hr=Ql(Dl),Ci=Ql(!1),Yu=Dl;function df(e,t){var n=e.type.contextTypes;if(!n)return Dl;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Ti(e){return e=e.childContextTypes,e!=null}function Vv(){rn(Ci),rn(Hr)}function i8(e,t,n){if(Hr.current!==Dl)throw Error(ge(168));Zt(Hr,t),Zt(Ci,n)}function RM(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(ge(108,bQ(e)||"Unknown",i));return bn({},n,r)}function jv(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Dl,Yu=Hr.current,Zt(Hr,e),Zt(Ci,Ci.current),!0}function o8(e,t,n){var r=e.stateNode;if(!r)throw Error(ge(169));n?(e=RM(e,t,Yu),r.__reactInternalMemoizedMergedChildContext=e,rn(Ci),rn(Hr),Zt(Hr,e)):rn(Ci),Zt(Ci,n)}var ca=null,R_=!1,jw=!1;function OM(e){ca===null?ca=[e]:ca.push(e)}function $Z(e){R_=!0,OM(e)}function Zl(){if(!jw&&ca!==null){jw=!0;var e=0,t=Dt;try{var n=ca;for(Dt=1;e>=s,i-=s,pa=1<<32-Wo(t)+i|n<P?(k=E,E=null):k=E.sibling;var O=p(_,E,y[P],S);if(O===null){E===null&&(E=k);break}e&&E&&O.alternate===null&&t(_,E),b=o(O,b,P),T===null?C=O:T.sibling=O,T=O,E=k}if(P===y.length)return n(_,E),cn&&Tu(_,P),C;if(E===null){for(;PP?(k=E,E=null):k=E.sibling;var M=p(_,E,O.value,S);if(M===null){E===null&&(E=k);break}e&&E&&M.alternate===null&&t(_,E),b=o(M,b,P),T===null?C=M:T.sibling=M,T=M,E=k}if(O.done)return n(_,E),cn&&Tu(_,P),C;if(E===null){for(;!O.done;P++,O=y.next())O=f(_,O.value,S),O!==null&&(b=o(O,b,P),T===null?C=O:T.sibling=O,T=O);return cn&&Tu(_,P),C}for(E=r(_,E);!O.done;P++,O=y.next())O=g(E,_,P,O.value,S),O!==null&&(e&&O.alternate!==null&&E.delete(O.key===null?P:O.key),b=o(O,b,P),T===null?C=O:T.sibling=O,T=O);return e&&E.forEach(function(G){return t(_,G)}),cn&&Tu(_,P),C}function x(_,b,y,S){if(typeof y=="object"&&y!==null&&y.type===Cd&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case Xy:e:{for(var C=y.key,T=b;T!==null;){if(T.key===C){if(C=y.type,C===Cd){if(T.tag===7){n(_,T.sibling),b=i(T,y.props.children),b.return=_,_=b;break e}}else if(T.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===ll&&f8(C)===T.type){n(_,T.sibling),b=i(T,y.props),b.ref=$h(_,T,y),b.return=_,_=b;break e}n(_,T);break}else t(_,T);T=T.sibling}y.type===Cd?(b=Vu(y.props.children,_.mode,S,y.key),b.return=_,_=b):(S=av(y.type,y.key,y.props,null,_.mode,S),S.ref=$h(_,b,y),S.return=_,_=S)}return s(_);case xd:e:{for(T=y.key;b!==null;){if(b.key===T)if(b.tag===4&&b.stateNode.containerInfo===y.containerInfo&&b.stateNode.implementation===y.implementation){n(_,b.sibling),b=i(b,y.children||[]),b.return=_,_=b;break e}else{n(_,b);break}else t(_,b);b=b.sibling}b=Qw(y,_.mode,S),b.return=_,_=b}return s(_);case ll:return T=y._init,x(_,b,T(y._payload),S)}if(ap(y))return m(_,b,y,S);if(Ih(y))return v(_,b,y,S);s0(_,y)}return typeof y=="string"&&y!==""||typeof y=="number"?(y=""+y,b!==null&&b.tag===6?(n(_,b.sibling),b=i(b,y),b.return=_,_=b):(n(_,b),b=Yw(y,_.mode,S),b.return=_,_=b),s(_)):n(_,b)}return x}var hf=FM(!0),BM=FM(!1),em={},As=Ql(em),Kp=Ql(em),Xp=Ql(em);function Lu(e){if(e===em)throw Error(ge(174));return e}function C4(e,t){switch(Zt(Xp,t),Zt(Kp,e),Zt(As,em),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:TC(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=TC(t,e)}rn(As),Zt(As,t)}function pf(){rn(As),rn(Kp),rn(Xp)}function UM(e){Lu(Xp.current);var t=Lu(As.current),n=TC(t,e.type);t!==n&&(Zt(Kp,e),Zt(As,n))}function T4(e){Kp.current===e&&(rn(As),rn(Kp))}var mn=Ql(0);function Xv(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Gw=[];function E4(){for(var e=0;en?n:4,e(!0);var r=Hw.transition;Hw.transition={};try{e(!1),t()}finally{Dt=n,Hw.transition=r}}function nN(){return wo().memoizedState}function zZ(e,t,n){var r=Pl(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},rN(e))iN(t,n);else if(n=NM(e,t,n,r),n!==null){var i=oi();qo(n,e,r,i),oN(n,t,r)}}function VZ(e,t,n){var r=Pl(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(rN(e))iN(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var s=t.lastRenderedState,a=o(s,n);if(i.hasEagerState=!0,i.eagerState=a,Zo(a,s)){var l=t.interleaved;l===null?(i.next=i,w4(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=NM(e,t,i,r),n!==null&&(i=oi(),qo(n,e,r,i),oN(n,t,r))}}function rN(e){var t=e.alternate;return e===_n||t!==null&&t===_n}function iN(e,t){Sp=Yv=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function oN(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,l4(e,n)}}var Qv={readContext:So,useCallback:$r,useContext:$r,useEffect:$r,useImperativeHandle:$r,useInsertionEffect:$r,useLayoutEffect:$r,useMemo:$r,useReducer:$r,useRef:$r,useState:$r,useDebugValue:$r,useDeferredValue:$r,useTransition:$r,useMutableSource:$r,useSyncExternalStore:$r,useId:$r,unstable_isNewReconciler:!1},jZ={readContext:So,useCallback:function(e,t){return hs().memoizedState=[e,t===void 0?null:t],e},useContext:So,useEffect:p8,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,rv(4194308,4,QM.bind(null,t,e),n)},useLayoutEffect:function(e,t){return rv(4194308,4,e,t)},useInsertionEffect:function(e,t){return rv(4,2,e,t)},useMemo:function(e,t){var n=hs();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=hs();return t=n!==void 0?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=zZ.bind(null,_n,e),[r.memoizedState,e]},useRef:function(e){var t=hs();return e={current:e},t.memoizedState=e},useState:h8,useDebugValue:k4,useDeferredValue:function(e){return hs().memoizedState=e},useTransition:function(){var e=h8(!1),t=e[0];return e=UZ.bind(null,e[1]),hs().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=_n,i=hs();if(cn){if(n===void 0)throw Error(ge(407));n=n()}else{if(n=t(),pr===null)throw Error(ge(349));Zu&30||jM(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,p8(HM.bind(null,r,o,e),[e]),r.flags|=2048,Zp(9,GM.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=hs(),t=pr.identifierPrefix;if(cn){var n=ga,r=pa;n=(r&~(1<<32-Wo(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Yp++,0")&&(l=l.replace("",e.displayName)),l}while(1<=s&&0<=a);break}}}finally{Pw=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?sp(e):""}function _Q(e){switch(e.tag){case 5:return sp(e.type);case 16:return sp("Lazy");case 13:return sp("Suspense");case 19:return sp("SuspenseList");case 0:case 2:case 15:return e=Rw(e.type,!1),e;case 11:return e=Rw(e.type.render,!1),e;case 1:return e=Rw(e.type,!0),e;default:return""}}function bC(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Cd:return"Fragment";case xd:return"Portal";case yC:return"Profiler";case i4:return"StrictMode";case vC:return"Suspense";case _C:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case $7:return(e.displayName||"Context")+".Consumer";case D7:return(e._context.displayName||"Context")+".Provider";case o4:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case s4:return t=e.displayName||null,t!==null?t:bC(e.type)||"Memo";case ll:t=e._payload,e=e._init;try{return bC(e(t))}catch{}}return null}function bQ(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=t.render,e=e.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 bC(t);case 8:return t===i4?"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(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Dl(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function B7(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function SQ(e){var t=B7(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){r=""+s,o.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]}}}}function Yy(e){e._valueTracker||(e._valueTracker=SQ(e))}function U7(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=B7(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Mv(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function SC(e,t){var n=t.checked;return bn({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function IP(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Dl(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function z7(e,t){t=t.checked,t!=null&&r4(e,"checked",t,!1)}function wC(e,t){z7(e,t);var n=Dl(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?xC(e,t.type,n):t.hasOwnProperty("defaultValue")&&xC(e,t.type,Dl(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function MP(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function xC(e,t,n){(t!=="number"||Mv(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var ap=Array.isArray;function zd(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=Qy.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Fp(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var mp={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},wQ=["Webkit","ms","Moz","O"];Object.keys(mp).forEach(function(e){wQ.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),mp[t]=mp[e]})});function H7(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||mp.hasOwnProperty(e)&&mp[e]?(""+t).trim():t+"px"}function W7(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=H7(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var xQ=bn({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 EC(e,t){if(t){if(xQ[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(ge(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(ge(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(ge(61))}if(t.style!=null&&typeof t.style!="object")throw Error(ge(62))}}function AC(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";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 PC=null;function a4(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var RC=null,Vd=null,jd=null;function DP(e){if(e=Jg(e)){if(typeof RC!="function")throw Error(ge(280));var t=e.stateNode;t&&(t=P_(t),RC(e.stateNode,e.type,t))}}function q7(e){Vd?jd?jd.push(e):jd=[e]:Vd=e}function K7(){if(Vd){var e=Vd,t=jd;if(jd=Vd=null,DP(e),t)for(e=0;e>>=0,e===0?32:31-(NQ(e)/LQ|0)|0}var Zy=64,Jy=4194304;function lp(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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function $v(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,s=n&268435455;if(s!==0){var a=s&~i;a!==0?r=lp(a):(o&=s,o!==0&&(r=lp(o)))}else s=n&~i,s!==0?r=lp(s):o!==0&&(r=lp(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Qg(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Wo(t),e[t]=n}function BQ(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=vp),HP=String.fromCharCode(32),WP=!1;function pM(e,t){switch(e){case"keyup":return hZ.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function gM(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Td=!1;function gZ(e,t){switch(e){case"compositionend":return gM(t);case"keypress":return t.which!==32?null:(WP=!0,HP);case"textInput":return e=t.data,e===HP&&WP?null:e;default:return null}}function mZ(e,t){if(Td)return e==="compositionend"||!g4&&pM(e,t)?(e=fM(),J0=f4=vl=null,Td=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=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=YP(n)}}function _M(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?_M(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function bM(){for(var e=window,t=Mv();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Mv(e.document)}return t}function m4(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function TZ(e){var t=bM(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&_M(n.ownerDocument.documentElement,n)){if(r!==null&&m4(n)){if(t=r.start,e=r.end,e===void 0&&(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,e.getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=r.end===void 0?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=QP(n,o);var s=QP(n,r);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>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;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Ed=null,LC=null,bp=null,DC=!1;function ZP(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;DC||Ed==null||Ed!==Mv(r)||(r=Ed,"selectionStart"in r&&m4(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),bp&&Gp(bp,r)||(bp=r,r=Uv(LC,"onSelect"),0Rd||(e.current=VC[Rd],VC[Rd]=null,Rd--)}function Zt(e,t){Rd++,VC[Rd]=e.current,e.current=t}var $l={},Hr=Ql($l),Ci=Ql(!1),Xu=$l;function df(e,t){var n=e.type.contextTypes;if(!n)return $l;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Ti(e){return e=e.childContextTypes,e!=null}function Vv(){rn(Ci),rn(Hr)}function o8(e,t,n){if(Hr.current!==$l)throw Error(ge(168));Zt(Hr,t),Zt(Ci,n)}function RM(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(ge(108,bQ(e)||"Unknown",i));return bn({},n,r)}function jv(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||$l,Xu=Hr.current,Zt(Hr,e),Zt(Ci,Ci.current),!0}function s8(e,t,n){var r=e.stateNode;if(!r)throw Error(ge(169));n?(e=RM(e,t,Xu),r.__reactInternalMemoizedMergedChildContext=e,rn(Ci),rn(Hr),Zt(Hr,e)):rn(Ci),Zt(Ci,n)}var ca=null,R_=!1,jw=!1;function OM(e){ca===null?ca=[e]:ca.push(e)}function $Z(e){R_=!0,OM(e)}function Zl(){if(!jw&&ca!==null){jw=!0;var e=0,t=Dt;try{var n=ca;for(Dt=1;e>=s,i-=s,pa=1<<32-Wo(t)+i|n<P?(k=E,E=null):k=E.sibling;var O=p(_,E,y[P],S);if(O===null){E===null&&(E=k);break}e&&E&&O.alternate===null&&t(_,E),b=o(O,b,P),T===null?C=O:T.sibling=O,T=O,E=k}if(P===y.length)return n(_,E),cn&&Tu(_,P),C;if(E===null){for(;PP?(k=E,E=null):k=E.sibling;var M=p(_,E,O.value,S);if(M===null){E===null&&(E=k);break}e&&E&&M.alternate===null&&t(_,E),b=o(M,b,P),T===null?C=M:T.sibling=M,T=M,E=k}if(O.done)return n(_,E),cn&&Tu(_,P),C;if(E===null){for(;!O.done;P++,O=y.next())O=f(_,O.value,S),O!==null&&(b=o(O,b,P),T===null?C=O:T.sibling=O,T=O);return cn&&Tu(_,P),C}for(E=r(_,E);!O.done;P++,O=y.next())O=g(E,_,P,O.value,S),O!==null&&(e&&O.alternate!==null&&E.delete(O.key===null?P:O.key),b=o(O,b,P),T===null?C=O:T.sibling=O,T=O);return e&&E.forEach(function(G){return t(_,G)}),cn&&Tu(_,P),C}function x(_,b,y,S){if(typeof y=="object"&&y!==null&&y.type===Cd&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case Xy:e:{for(var C=y.key,T=b;T!==null;){if(T.key===C){if(C=y.type,C===Cd){if(T.tag===7){n(_,T.sibling),b=i(T,y.props.children),b.return=_,_=b;break e}}else if(T.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===ll&&h8(C)===T.type){n(_,T.sibling),b=i(T,y.props),b.ref=$h(_,T,y),b.return=_,_=b;break e}n(_,T);break}else t(_,T);T=T.sibling}y.type===Cd?(b=Vu(y.props.children,_.mode,S,y.key),b.return=_,_=b):(S=av(y.type,y.key,y.props,null,_.mode,S),S.ref=$h(_,b,y),S.return=_,_=S)}return s(_);case xd:e:{for(T=y.key;b!==null;){if(b.key===T)if(b.tag===4&&b.stateNode.containerInfo===y.containerInfo&&b.stateNode.implementation===y.implementation){n(_,b.sibling),b=i(b,y.children||[]),b.return=_,_=b;break e}else{n(_,b);break}else t(_,b);b=b.sibling}b=Qw(y,_.mode,S),b.return=_,_=b}return s(_);case ll:return T=y._init,x(_,b,T(y._payload),S)}if(ap(y))return m(_,b,y,S);if(Ih(y))return v(_,b,y,S);s0(_,y)}return typeof y=="string"&&y!==""||typeof y=="number"?(y=""+y,b!==null&&b.tag===6?(n(_,b.sibling),b=i(b,y),b.return=_,_=b):(n(_,b),b=Yw(y,_.mode,S),b.return=_,_=b),s(_)):n(_,b)}return x}var hf=FM(!0),BM=FM(!1),em={},As=Ql(em),Kp=Ql(em),Xp=Ql(em);function Lu(e){if(e===em)throw Error(ge(174));return e}function T4(e,t){switch(Zt(Xp,t),Zt(Kp,e),Zt(As,em),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:TC(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=TC(t,e)}rn(As),Zt(As,t)}function pf(){rn(As),rn(Kp),rn(Xp)}function UM(e){Lu(Xp.current);var t=Lu(As.current),n=TC(t,e.type);t!==n&&(Zt(Kp,e),Zt(As,n))}function E4(e){Kp.current===e&&(rn(As),rn(Kp))}var mn=Ql(0);function Xv(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Gw=[];function A4(){for(var e=0;en?n:4,e(!0);var r=Hw.transition;Hw.transition={};try{e(!1),t()}finally{Dt=n,Hw.transition=r}}function nN(){return wo().memoizedState}function zZ(e,t,n){var r=Rl(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},rN(e))iN(t,n);else if(n=NM(e,t,n,r),n!==null){var i=oi();qo(n,e,r,i),oN(n,t,r)}}function VZ(e,t,n){var r=Rl(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(rN(e))iN(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var s=t.lastRenderedState,a=o(s,n);if(i.hasEagerState=!0,i.eagerState=a,Zo(a,s)){var l=t.interleaved;l===null?(i.next=i,x4(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=NM(e,t,i,r),n!==null&&(i=oi(),qo(n,e,r,i),oN(n,t,r))}}function rN(e){var t=e.alternate;return e===_n||t!==null&&t===_n}function iN(e,t){Sp=Yv=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function oN(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,u4(e,n)}}var Qv={readContext:So,useCallback:$r,useContext:$r,useEffect:$r,useImperativeHandle:$r,useInsertionEffect:$r,useLayoutEffect:$r,useMemo:$r,useReducer:$r,useRef:$r,useState:$r,useDebugValue:$r,useDeferredValue:$r,useTransition:$r,useMutableSource:$r,useSyncExternalStore:$r,useId:$r,unstable_isNewReconciler:!1},jZ={readContext:So,useCallback:function(e,t){return hs().memoizedState=[e,t===void 0?null:t],e},useContext:So,useEffect:g8,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,rv(4194308,4,QM.bind(null,t,e),n)},useLayoutEffect:function(e,t){return rv(4194308,4,e,t)},useInsertionEffect:function(e,t){return rv(4,2,e,t)},useMemo:function(e,t){var n=hs();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=hs();return t=n!==void 0?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=zZ.bind(null,_n,e),[r.memoizedState,e]},useRef:function(e){var t=hs();return e={current:e},t.memoizedState=e},useState:p8,useDebugValue:I4,useDeferredValue:function(e){return hs().memoizedState=e},useTransition:function(){var e=p8(!1),t=e[0];return e=UZ.bind(null,e[1]),hs().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=_n,i=hs();if(cn){if(n===void 0)throw Error(ge(407));n=n()}else{if(n=t(),pr===null)throw Error(ge(349));Qu&30||jM(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,g8(HM.bind(null,r,o,e),[e]),r.flags|=2048,Zp(9,GM.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=hs(),t=pr.identifierPrefix;if(cn){var n=ga,r=pa;n=(r&~(1<<32-Wo(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Yp++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[_s]=t,e[qp]=r,pN(e,t,!1,!1),t.stateNode=e;e:{switch(s=AC(n,r),n){case"dialog":en("cancel",e),en("close",e),i=r;break;case"iframe":case"object":case"embed":en("load",e),i=r;break;case"video":case"audio":for(i=0;imf&&(t.flags|=128,r=!0,Fh(o,!1),t.lanes=4194304)}else{if(!r)if(e=Xv(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Fh(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!cn)return Fr(t),null}else 2*Mn()-o.renderingStartTime>mf&&n!==1073741824&&(t.flags|=128,r=!0,Fh(o,!1),t.lanes=4194304);o.isBackwards?(s.sibling=t.child,t.child=s):(n=o.last,n!==null?n.sibling=s:t.child=s,o.last=s)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Mn(),t.sibling=null,n=mn.current,Zt(mn,r?n&1|2:n&1),t):(Fr(t),null);case 22:case 23:return $4(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?zi&1073741824&&(Fr(t),t.subtreeFlags&6&&(t.flags|=8192)):Fr(t),null;case 24:return null;case 25:return null}throw Error(ge(156,t.tag))}function QZ(e,t){switch(y4(t),t.tag){case 1:return Ti(t.type)&&Vv(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return pf(),rn(Ci),rn(Hr),E4(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return T4(t),null;case 13:if(rn(mn),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(ge(340));ff()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return rn(mn),null;case 4:return pf(),null;case 10:return S4(t.type._context),null;case 22:case 23:return $4(),null;case 24:return null;default:return null}}var l0=!1,jr=!1,ZZ=typeof WeakSet=="function"?WeakSet:Set,Ae=null;function Md(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Tn(e,t,r)}else n.current=null}function e3(e,t,n){try{n()}catch(r){Tn(e,t,r)}}var x8=!1;function JZ(e,t){if($C=Fv,e=bM(),g4(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,a=-1,l=-1,u=0,d=0,f=e,p=null;t:for(;;){for(var g;f!==n||i!==0&&f.nodeType!==3||(a=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(g=f.firstChild)!==null;)p=f,f=g;for(;;){if(f===e)break t;if(p===n&&++u===i&&(a=s),p===o&&++d===r&&(l=s),(g=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=g}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(FC={focusedElem:e,selectionRange:n},Fv=!1,Ae=t;Ae!==null;)if(t=Ae,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Ae=e;else for(;Ae!==null;){t=Ae;try{var m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var v=m.memoizedProps,x=m.memoizedState,_=t.stateNode,b=_.getSnapshotBeforeUpdate(t.elementType===t.type?v:Fo(t.type,v),x);_.__reactInternalSnapshotBeforeUpdate=b}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent="":y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(ge(163))}}catch(S){Tn(t,t.return,S)}if(e=t.sibling,e!==null){e.return=t.return,Ae=e;break}Ae=t.return}return m=x8,x8=!1,m}function wp(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&e3(t,n,o)}i=i.next}while(i!==r)}}function I_(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==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 t3(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function yN(e){var t=e.alternate;t!==null&&(e.alternate=null,yN(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[_s],delete t[qp],delete t[zC],delete t[LZ],delete t[DZ])),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 vN(e){return e.tag===5||e.tag===3||e.tag===4}function C8(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||vN(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function n3(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=zv));else if(r!==4&&(e=e.child,e!==null))for(n3(e,t,n),e=e.sibling;e!==null;)n3(e,t,n),e=e.sibling}function r3(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(r3(e,t,n),e=e.sibling;e!==null;)r3(e,t,n),e=e.sibling}var Ar=null,Uo=!1;function tl(e,t,n){for(n=n.child;n!==null;)_N(e,t,n),n=n.sibling}function _N(e,t,n){if(Es&&typeof Es.onCommitFiberUnmount=="function")try{Es.onCommitFiberUnmount(C_,n)}catch{}switch(n.tag){case 5:jr||Md(n,t);case 6:var r=Ar,i=Uo;Ar=null,tl(e,t,n),Ar=r,Uo=i,Ar!==null&&(Uo?(e=Ar,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Ar.removeChild(n.stateNode));break;case 18:Ar!==null&&(Uo?(e=Ar,n=n.stateNode,e.nodeType===8?Vw(e.parentNode,n):e.nodeType===1&&Vw(e,n),Vp(e)):Vw(Ar,n.stateNode));break;case 4:r=Ar,i=Uo,Ar=n.stateNode.containerInfo,Uo=!0,tl(e,t,n),Ar=r,Uo=i;break;case 0:case 11:case 14:case 15:if(!jr&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,s=o.destroy;o=o.tag,s!==void 0&&(o&2||o&4)&&e3(n,t,s),i=i.next}while(i!==r)}tl(e,t,n);break;case 1:if(!jr&&(Md(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){Tn(n,t,a)}tl(e,t,n);break;case 21:tl(e,t,n);break;case 22:n.mode&1?(jr=(r=jr)||n.memoizedState!==null,tl(e,t,n),jr=r):tl(e,t,n);break;default:tl(e,t,n)}}function T8(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new ZZ),t.forEach(function(r){var i=lJ.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Lo(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~o}if(r=i,r=Mn()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*tJ(r/1960))-r,10e?16:e,_l===null)var r=!1;else{if(e=_l,_l=null,e1=0,vt&6)throw Error(ge(331));var i=vt;for(vt|=4,Ae=e.current;Ae!==null;){var o=Ae,s=o.child;if(Ae.flags&16){var a=o.deletions;if(a!==null){for(var l=0;lMn()-L4?zu(e,0):N4|=n),Ei(e,t)}function AN(e,t){t===0&&(e.mode&1?(t=Jy,Jy<<=1,!(Jy&130023424)&&(Jy=4194304)):t=1);var n=oi();e=Aa(e,t),e!==null&&(Qg(e,t,n),Ei(e,n))}function aJ(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),AN(e,n)}function lJ(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(ge(314))}r!==null&&r.delete(t),AN(e,n)}var PN;PN=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Ci.current)Si=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Si=!1,XZ(e,t,n);Si=!!(e.flags&131072)}else Si=!1,cn&&t.flags&1048576&&kM(t,Hv,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;iv(e,t),e=t.pendingProps;var i=df(t,Hr.current);Hd(t,n),i=P4(null,t,r,e,i,n);var o=R4();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ti(r)?(o=!0,jv(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,x4(t),i.updater=O_,t.stateNode=i,i._reactInternals=t,qC(t,r,e,n),t=YC(null,t,r,!0,o,n)):(t.tag=0,cn&&o&&m4(t),ri(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(iv(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=cJ(r),e=Fo(r,e),i){case 0:t=XC(null,t,r,e,n);break e;case 1:t=b8(null,t,r,e,n);break e;case 11:t=v8(null,t,r,e,n);break e;case 14:t=_8(null,t,r,Fo(r.type,e),n);break e}throw Error(ge(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fo(r,i),XC(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fo(r,i),b8(e,t,r,i,n);case 3:e:{if(dN(t),e===null)throw Error(ge(387));r=t.pendingProps,o=t.memoizedState,i=o.element,LM(e,t),Kv(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=gf(Error(ge(423)),t),t=S8(e,t,r,n,i);break e}else if(r!==i){i=gf(Error(ge(424)),t),t=S8(e,t,r,n,i);break e}else for(ji=Tl(t.stateNode.containerInfo.firstChild),Gi=t,cn=!0,Vo=null,n=BM(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(ff(),r===i){t=Pa(e,t,n);break e}ri(e,t,r,n)}t=t.child}return t;case 5:return UM(t),e===null&&GC(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,s=i.children,BC(r,i)?s=null:o!==null&&BC(r,o)&&(t.flags|=32),cN(e,t),ri(e,t,s,n),t.child;case 6:return e===null&&GC(t),null;case 13:return fN(e,t,n);case 4:return C4(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=hf(t,null,r,n):ri(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fo(r,i),v8(e,t,r,i,n);case 7:return ri(e,t,t.pendingProps,n),t.child;case 8:return ri(e,t,t.pendingProps.children,n),t.child;case 12:return ri(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,s=i.value,Zt(Wv,r._currentValue),r._currentValue=s,o!==null)if(Zo(o.value,s)){if(o.children===i.children&&!Ci.current){t=Pa(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var a=o.dependencies;if(a!==null){s=o.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=va(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),HC(o.return,n,t),a.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(ge(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),HC(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}ri(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Hd(t,n),i=So(i),r=r(i),t.flags|=1,ri(e,t,r,n),t.child;case 14:return r=t.type,i=Fo(r,t.pendingProps),i=Fo(r.type,i),_8(e,t,r,i,n);case 15:return lN(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fo(r,i),iv(e,t),t.tag=1,Ti(r)?(e=!0,jv(t)):e=!1,Hd(t,n),$M(t,r,i),qC(t,r,i,n),YC(null,t,r,!0,e,n);case 19:return hN(e,t,n);case 22:return uN(e,t,n)}throw Error(ge(156,t.tag))};function RN(e,t){return tM(e,t)}function uJ(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 vo(e,t,n,r){return new uJ(e,t,n,r)}function B4(e){return e=e.prototype,!(!e||!e.isReactComponent)}function cJ(e){if(typeof e=="function")return B4(e)?1:0;if(e!=null){if(e=e.$$typeof,e===i4)return 11;if(e===o4)return 14}return 2}function Rl(e,t){var n=e.alternate;return n===null?(n=vo(e.tag,t,e.key,e.mode),n.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=e.flags&14680064,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=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function av(e,t,n,r,i,o){var s=2;if(r=e,typeof e=="function")B4(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case Cd:return Vu(n.children,i,o,t);case r4:s=8,i|=8;break;case yC:return e=vo(12,n,t,i|2),e.elementType=yC,e.lanes=o,e;case vC:return e=vo(13,n,t,i),e.elementType=vC,e.lanes=o,e;case _C:return e=vo(19,n,t,i),e.elementType=_C,e.lanes=o,e;case F7:return N_(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case D7:s=10;break e;case $7:s=9;break e;case i4:s=11;break e;case o4:s=14;break e;case ll:s=16,r=null;break e}throw Error(ge(130,e==null?e:typeof e,""))}return t=vo(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function Vu(e,t,n,r){return e=vo(7,e,r,t),e.lanes=n,e}function N_(e,t,n,r){return e=vo(22,e,r,t),e.elementType=F7,e.lanes=n,e.stateNode={isHidden:!1},e}function Yw(e,t,n){return e=vo(6,e,null,t),e.lanes=n,e}function Qw(e,t,n){return t=vo(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function dJ(e,t,n,r,i){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=kw(0),this.expirationTimes=kw(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=kw(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function U4(e,t,n,r,i,o,s,a,l){return e=new dJ(e,t,n,a,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=vo(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},x4(o),e}function fJ(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(MN)}catch(e){console.error(e)}}MN(),k7.exports=Yi;var bs=k7.exports;const Y9e=dc(bs);var M8=bs;gC.createRoot=M8.createRoot,gC.hydrateRoot=M8.hydrateRoot;const yJ="modulepreload",vJ=function(e,t){return new URL(e,t).href},N8={},NN=function(t,n,r){if(!n||n.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=vJ(o,r),o in N8)return;N8[o]=!0;const s=o.endsWith(".css"),a=s?'[rel="stylesheet"]':"";if(!!r)for(let d=i.length-1;d>=0;d--){const f=i[d];if(f.href===o&&(!s||f.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${a}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":yJ,s||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),s)return new Promise((d,f)=>{u.addEventListener("load",d),u.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t()).catch(o=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o})};function hr(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:B_(e)?2:U_(e)?3:0}function Ol(e,t){return $l(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function lv(e,t){return $l(e)===2?e.get(t):e[t]}function LN(e,t,n){var r=$l(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function DN(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function B_(e){return CJ&&e instanceof Map}function U_(e){return TJ&&e instanceof Set}function lr(e){return e.o||e.t}function H4(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=FN(e);delete t[Xe];for(var n=Kd(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=_J),Object.freeze(e),t&&Ra(e,function(n,r){return tm(r,!0)},!0)),e}function _J(){hr(2)}function W4(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function Ps(e){var t=u3[e];return t||hr(18,e),t}function q4(e,t){u3[e]||(u3[e]=t)}function eg(){return ng}function Zw(e,t){t&&(Ps("Patches"),e.u=[],e.s=[],e.v=t)}function r1(e){l3(e),e.p.forEach(bJ),e.p=null}function l3(e){e===ng&&(ng=e.l)}function L8(e){return ng={p:[],l:ng,h:e,m:!0,_:0}}function bJ(e){var t=e[Xe];t.i===0||t.i===1?t.j():t.g=!0}function Jw(e,t){t._=t.p.length;var n=t.p[0],r=e!==void 0&&e!==n;return t.h.O||Ps("ES5").S(t,e,r),r?(n[Xe].P&&(r1(t),hr(4)),Ai(e)&&(e=i1(t,e),t.l||o1(t,e)),t.u&&Ps("Patches").M(n[Xe].t,e,t.u,t.s)):e=i1(t,n,[]),r1(t),t.u&&t.v(t.u,t.s),e!==V_?e:void 0}function i1(e,t,n){if(W4(t))return t;var r=t[Xe];if(!r)return Ra(t,function(a,l){return D8(e,r,t,a,l,n)},!0),t;if(r.A!==e)return t;if(!r.P)return o1(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=r.i===4||r.i===5?r.o=H4(r.k):r.o,o=i,s=!1;r.i===3&&(o=new Set(i),i.clear(),s=!0),Ra(o,function(a,l){return D8(e,r,i,a,l,n,s)}),o1(e,i,!1),n&&e.u&&Ps("Patches").N(r,n,e.u,e.s)}return r.o}function D8(e,t,n,r,i,o,s){if(ai(i)){var a=i1(e,i,o&&t&&t.i!==3&&!Ol(t.R,r)?o.concat(r):void 0);if(LN(n,r,a),!ai(a))return;e.m=!1}else s&&n.add(i);if(Ai(i)&&!W4(i)){if(!e.h.D&&e._<1)return;i1(e,i),t&&t.A.l||o1(e,i)}}function o1(e,t,n){n===void 0&&(n=!1),!e.l&&e.h.D&&e.m&&tm(t,n)}function ex(e,t){var n=e[Xe];return(n?lr(n):e)[t]}function $8(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function bi(e){e.P||(e.P=!0,e.l&&bi(e.l))}function tx(e){e.o||(e.o=H4(e.t))}function tg(e,t,n){var r=B_(t)?Ps("MapSet").F(t,n):U_(t)?Ps("MapSet").T(t,n):e.O?function(i,o){var s=Array.isArray(i),a={i:s?1:0,A:o?o.A:eg(),P:!1,I:!1,R:{},l:o,t:i,k:null,o:null,j:null,C:!1},l=a,u=rg;s&&(l=[a],u=cp);var d=Proxy.revocable(l,u),f=d.revoke,p=d.proxy;return a.k=p,a.j=f,p}(t,n):Ps("ES5").J(t,n);return(n?n.A:eg()).p.push(r),r}function z_(e){return ai(e)||hr(22,e),function t(n){if(!Ai(n))return n;var r,i=n[Xe],o=$l(n);if(i){if(!i.P&&(i.i<4||!Ps("ES5").K(i)))return i.t;i.I=!0,r=F8(n,o),i.I=!1}else r=F8(n,o);return Ra(r,function(s,a){i&&lv(i.t,s)===a||LN(r,s,t(a))}),o===3?new Set(r):r}(e)}function F8(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return H4(e)}function K4(){function e(o,s){var a=i[o];return a?a.enumerable=s:i[o]=a={configurable:!0,enumerable:s,get:function(){var l=this[Xe];return rg.get(l,o)},set:function(l){var u=this[Xe];rg.set(u,o,l)}},a}function t(o){for(var s=o.length-1;s>=0;s--){var a=o[s][Xe];if(!a.P)switch(a.i){case 5:r(a)&&bi(a);break;case 4:n(a)&&bi(a)}}}function n(o){for(var s=o.t,a=o.k,l=Kd(a),u=l.length-1;u>=0;u--){var d=l[u];if(d!==Xe){var f=s[d];if(f===void 0&&!Ol(s,d))return!0;var p=a[d],g=p&&p[Xe];if(g?g.t!==f:!DN(p,f))return!0}}var m=!!s[Xe];return l.length!==Kd(s).length+(m?0:1)}function r(o){var s=o.k;if(s.length!==o.t.length)return!0;var a=Object.getOwnPropertyDescriptor(s,s.length-1);if(a&&!a.get)return!0;for(var l=0;l1?_-1:0),y=1;y<_;y++)b[y-1]=arguments[y];return l.produce(v,function(S){var C;return(C=o).call.apply(C,[x,S].concat(b))})}}var u;if(typeof o!="function"&&hr(6),s!==void 0&&typeof s!="function"&&hr(7),Ai(i)){var d=L8(r),f=tg(r,i,void 0),p=!0;try{u=o(f),p=!1}finally{p?r1(d):l3(d)}return typeof Promise<"u"&&u instanceof Promise?u.then(function(v){return Zw(d,s),Jw(v,d)},function(v){throw r1(d),v}):(Zw(d,s),Jw(u,d))}if(!i||typeof i!="object"){if((u=o(i))===void 0&&(u=i),u===V_&&(u=void 0),r.D&&tm(u,!0),s){var g=[],m=[];Ps("Patches").M(i,u,g,m),s(g,m)}return u}hr(21,i)},this.produceWithPatches=function(i,o){if(typeof i=="function")return function(u){for(var d=arguments.length,f=Array(d>1?d-1:0),p=1;p=0;i--){var o=r[i];if(o.path.length===0&&o.op==="replace"){n=o.value;break}}i>-1&&(r=r.slice(i+1));var s=Ps("Patches").$;return ai(n)?s(n,r):this.produce(n,function(a){return s(a,r)})},e}(),qi=new BN,UN=qi.produce,Q4=qi.produceWithPatches.bind(qi),AJ=qi.setAutoFreeze.bind(qi),PJ=qi.setUseProxies.bind(qi),c3=qi.applyPatches.bind(qi),RJ=qi.createDraft.bind(qi),OJ=qi.finishDraft.bind(qi);const Jl=UN,Q9e=Object.freeze(Object.defineProperty({__proto__:null,Immer:BN,applyPatches:c3,castDraft:wJ,castImmutable:xJ,createDraft:RJ,current:z_,default:Jl,enableAllPlugins:SJ,enableES5:K4,enableMapSet:$N,enablePatches:X4,finishDraft:OJ,freeze:tm,immerable:qd,isDraft:ai,isDraftable:Ai,nothing:V_,original:G4,produce:UN,produceWithPatches:Q4,setAutoFreeze:AJ,setUseProxies:PJ},Symbol.toStringTag,{value:"Module"}));function ig(e){"@babel/helpers - typeof";return ig=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ig(e)}function kJ(e,t){if(ig(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(ig(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function IJ(e){var t=kJ(e,"string");return ig(t)==="symbol"?t:String(t)}function MJ(e,t,n){return t=IJ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function z8(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function V8(e){for(var t=1;t"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(Pr(1));return n(nm)(e,t)}if(typeof e!="function")throw new Error(Pr(2));var i=e,o=t,s=[],a=s,l=!1;function u(){a===s&&(a=s.slice())}function d(){if(l)throw new Error(Pr(3));return o}function f(v){if(typeof v!="function")throw new Error(Pr(4));if(l)throw new Error(Pr(5));var x=!0;return u(),a.push(v),function(){if(x){if(l)throw new Error(Pr(6));x=!1,u();var b=a.indexOf(v);a.splice(b,1),s=null}}}function p(v){if(!NJ(v))throw new Error(Pr(7));if(typeof v.type>"u")throw new Error(Pr(8));if(l)throw new Error(Pr(9));try{l=!0,o=i(o,v)}finally{l=!1}for(var x=s=a,_=0;_"u")throw new Error(Pr(12));if(typeof n(void 0,{type:yf.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Pr(13))})}function Ff(e){for(var t=Object.keys(e),n={},r=0;r"u")throw u&&u.type,new Error(Pr(14));f[g]=x,d=d||x!==v}return d=d||o.length!==Object.keys(l).length,d?f:l}}function G8(e,t){return function(){return t(e.apply(this,arguments))}}function VN(e,t){if(typeof e=="function")return G8(e,t);if(typeof e!="object"||e===null)throw new Error(Pr(16));var n={};for(var r in e){var i=e[r];typeof i=="function"&&(n[r]=G8(i,t))}return n}function vf(){for(var e=arguments.length,t=new Array(e),n=0;n-1){var u=n[l];return l>0&&(n.splice(l,1),n.unshift(u)),u.value}return s1}function i(a,l){r(a)===s1&&(n.unshift({key:a,value:l}),n.length>e&&n.pop())}function o(){return n}function s(){n=[]}return{get:r,put:i,getEntries:o,clear:s}}var jN=function(t,n){return t===n};function BJ(e){return function(n,r){if(n===null||r===null||n.length!==r.length)return!1;for(var i=n.length,o=0;o1?t-1:0),r=1;r0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]",value:e};if(typeof e!="object"||e===null||o!=null&&o.has(e))return!1;for(var a=r!=null?r(e):Object.entries(e),l=i.length>0,u=function(x,_){var b=t?t+"."+x:x;if(l){var y=i.some(function(S){return S instanceof RegExp?S.test(b):b===S});if(y)return"continue"}if(!n(_))return{value:{keyPath:b,value:_}};if(typeof _=="object"&&(s=QN(_,b,n,r,i,o),s))return{value:s}},d=0,f=a;d-1}function tee(e){return""+e}function nL(e){var t={},n=[],r,i={addCase:function(o,s){var a=typeof o=="string"?o:o.type;if(a in t)throw new Error("addCase cannot be called with two reducers for the same action type");return t[a]=s,i},addMatcher:function(o,s){return n.push({matcher:o,reducer:s}),i},addDefaultCase:function(o){return r=o,i}};return e(i),[t,n,r]}function nee(e){return typeof e=="function"}function rL(e,t,n,r){n===void 0&&(n=[]);var i=typeof t=="function"?nL(t):[t,n,r],o=i[0],s=i[1],a=i[2],l;if(nee(e))l=function(){return d3(e())};else{var u=d3(e);l=function(){return u}}function d(f,p){f===void 0&&(f=l());var g=Fl([o[p.type]],s.filter(function(m){var v=m.matcher;return v(p)}).map(function(m){var v=m.reducer;return v}));return g.filter(function(m){return!!m}).length===0&&(g=[a]),g.reduce(function(m,v){if(v)if(ai(m)){var x=m,_=v(x,p);return _===void 0?m:_}else{if(Ai(m))return Jl(m,function(b){return v(b,p)});var _=v(m,p);if(_===void 0){if(m===null)return m;throw Error("A case reducer on a non-draftable value must not return undefined")}return _}return m},f)}return d.getInitialState=l,d}function ree(e,t){return e+"/"+t}function yn(e){var t=e.name;if(!t)throw new Error("`name` is a required option for createSlice");typeof process<"u";var n=typeof e.initialState=="function"?e.initialState:d3(e.initialState),r=e.reducers||{},i=Object.keys(r),o={},s={},a={};i.forEach(function(d){var f=r[d],p=ree(t,d),g,m;"reducer"in f?(g=f.reducer,m=f.prepare):g=f,o[d]=g,s[p]=g,a[d]=m?Re(p,m):Re(p)});function l(){var d=typeof e.extraReducers=="function"?nL(e.extraReducers):[e.extraReducers],f=d[0],p=f===void 0?{}:f,g=d[1],m=g===void 0?[]:g,v=d[2],x=v===void 0?void 0:v,_=wi(wi({},p),s);return rL(n,function(b){for(var y in _)b.addCase(y,_[y]);for(var S=0,C=m;S0;if(b){var y=m.filter(function(S){return u(x,S,v)}).length>0;y&&(v.ids=Object.keys(v.entities))}}function p(m,v){return g([m],v)}function g(m,v){var x=iL(m,e,v),_=x[0],b=x[1];f(b,v),n(_,v)}return{removeAll:aee(l),addOne:kn(t),addMany:kn(n),setOne:kn(r),setMany:kn(i),setAll:kn(o),updateOne:kn(d),updateMany:kn(f),upsertOne:kn(p),upsertMany:kn(g),removeOne:kn(s),removeMany:kn(a)}}function lee(e,t){var n=oL(e),r=n.removeOne,i=n.removeMany,o=n.removeAll;function s(b,y){return a([b],y)}function a(b,y){b=ju(b);var S=b.filter(function(C){return!(Tp(C,e)in y.entities)});S.length!==0&&x(S,y)}function l(b,y){return u([b],y)}function u(b,y){b=ju(b),b.length!==0&&x(b,y)}function d(b,y){b=ju(b),y.entities={},y.ids=[],a(b,y)}function f(b,y){return p([b],y)}function p(b,y){for(var S=!1,C=0,T=b;C-1;return n&&r}function om(e){return typeof e[0]=="function"&&"pending"in e[0]&&"fulfilled"in e[0]&&"rejected"in e[0]}function H_(){for(var e=[],t=0;t0)for(var y=g.getState(),S=Array.from(n.values()),C=0,T=S;CMath.floor(e/t)*t,Ss=(e,t)=>Math.round(e/t)*t;var Eee=typeof global=="object"&&global&&global.Object===Object&&global;const xL=Eee;var Aee=typeof self=="object"&&self&&self.Object===Object&&self,Pee=xL||Aee||Function("return this")();const Fs=Pee;var Ree=Fs.Symbol;const xo=Ree;var CL=Object.prototype,Oee=CL.hasOwnProperty,kee=CL.toString,Uh=xo?xo.toStringTag:void 0;function Iee(e){var t=Oee.call(e,Uh),n=e[Uh];try{e[Uh]=void 0;var r=!0}catch{}var i=kee.call(e);return r&&(t?e[Uh]=n:delete e[Uh]),i}var Mee=Object.prototype,Nee=Mee.toString;function Lee(e){return Nee.call(e)}var Dee="[object Null]",$ee="[object Undefined]",Z8=xo?xo.toStringTag:void 0;function nu(e){return e==null?e===void 0?$ee:Dee:Z8&&Z8 in Object(e)?Iee(e):Lee(e)}function es(e){return e!=null&&typeof e=="object"}var Fee="[object Symbol]";function W_(e){return typeof e=="symbol"||es(e)&&nu(e)==Fee}function TL(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n0){if(++t>=mte)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function bte(e){return function(){return e}}var Ste=function(){try{var e=gc(Object,"defineProperty");return e({},"",{}),e}catch{}}();const c1=Ste;var wte=c1?function(e,t){return c1(e,"toString",{configurable:!0,enumerable:!1,value:bte(t),writable:!0})}:q_;const xte=wte;var Cte=_te(xte);const RL=Cte;function OL(e,t){for(var n=-1,r=e==null?0:e.length;++n-1}var Ote=9007199254740991,kte=/^(?:0|[1-9]\d*)$/;function rT(e,t){var n=typeof e;return t=t??Ote,!!t&&(n=="number"||n!="symbol"&&kte.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=Nte}function Uf(e){return e!=null&&oT(e.length)&&!nT(e)}function NL(e,t,n){if(!Pi(n))return!1;var r=typeof t;return(r=="number"?Uf(n)&&rT(t,n.length):r=="string"&&t in n)?um(n[t],e):!1}function LL(e){return ML(function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(o=e.length>3&&typeof o=="function"?(i--,o):void 0,s&&NL(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),t=Object(t);++r-1}function Xne(e,t){var n=this.__data__,r=K_(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function Na(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(a)?t>1?VL(a,t-1,n,r,i):fT(i,a):r||(i[i.length]=a)}return i}function hre(e){var t=e==null?0:e.length;return t?VL(e,1):[]}function pre(e){return RL(IL(e,void 0,hre),e+"")}var gre=UL(Object.getPrototypeOf,Object);const hT=gre;var mre="[object Object]",yre=Function.prototype,vre=Object.prototype,jL=yre.toString,_re=vre.hasOwnProperty,bre=jL.call(Object);function GL(e){if(!es(e)||nu(e)!=mre)return!1;var t=hT(e);if(t===null)return!0;var n=_re.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&jL.call(n)==bre}function HL(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(i);++r=r?e:HL(e,t,n)}var wre="\\ud800-\\udfff",xre="\\u0300-\\u036f",Cre="\\ufe20-\\ufe2f",Tre="\\u20d0-\\u20ff",Ere=xre+Cre+Tre,Are="\\ufe0e\\ufe0f",Pre="\\u200d",Rre=RegExp("["+Pre+wre+Ere+Are+"]");function pT(e){return Rre.test(e)}function Ore(e){return e.split("")}var WL="\\ud800-\\udfff",kre="\\u0300-\\u036f",Ire="\\ufe20-\\ufe2f",Mre="\\u20d0-\\u20ff",Nre=kre+Ire+Mre,Lre="\\ufe0e\\ufe0f",Dre="["+WL+"]",g3="["+Nre+"]",m3="\\ud83c[\\udffb-\\udfff]",$re="(?:"+g3+"|"+m3+")",qL="[^"+WL+"]",KL="(?:\\ud83c[\\udde6-\\uddff]){2}",XL="[\\ud800-\\udbff][\\udc00-\\udfff]",Fre="\\u200d",YL=$re+"?",QL="["+Lre+"]?",Bre="(?:"+Fre+"(?:"+[qL,KL,XL].join("|")+")"+QL+YL+")*",Ure=QL+YL+Bre,zre="(?:"+[qL+g3+"?",g3,KL,XL,Dre].join("|")+")",Vre=RegExp(m3+"(?="+m3+")|"+zre+Ure,"g");function jre(e){return e.match(Vre)||[]}function Gre(e){return pT(e)?jre(e):Ore(e)}function Hre(e){return function(t){t=Y_(t);var n=pT(t)?Gre(t):void 0,r=n?n[0]:t.charAt(0),i=n?Sre(n,1).join(""):t.slice(1);return r[e]()+i}}var Wre=Hre("toUpperCase");const qre=Wre;function ZL(e,t,n,r){var i=-1,o=e==null?0:e.length;for(r&&o&&(n=e[++i]);++i=t?e:t)),e}function bl(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=ox(n),n=n===n?n:0),t!==void 0&&(t=ox(t),t=t===t?t:0),$ie(ox(e),t,n)}function Fie(){this.__data__=new Na,this.size=0}function Bie(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Uie(e){return this.__data__.get(e)}function zie(e){return this.__data__.has(e)}var Vie=200;function jie(e,t){var n=this.__data__;if(n instanceof Na){var r=n.__data__;if(!lg||r.lengtha))return!1;var u=o.get(e),d=o.get(t);if(u&&d)return u==t&&d==e;var f=-1,p=!0,g=n&xse?new ug:void 0;for(o.set(e,t),o.set(t,e);++f1),o}),Bf(e,vD(e),n),r&&(n=Ap(n,Aae|Pae|Rae,Eae));for(var i=t.length;i--;)MD(n,t[i]);return n});const rb=Oae;var kae=RD("length");const Iae=kae;var ND="\\ud800-\\udfff",Mae="\\u0300-\\u036f",Nae="\\ufe20-\\ufe2f",Lae="\\u20d0-\\u20ff",Dae=Mae+Nae+Lae,$ae="\\ufe0e\\ufe0f",Fae="["+ND+"]",w3="["+Dae+"]",x3="\\ud83c[\\udffb-\\udfff]",Bae="(?:"+w3+"|"+x3+")",LD="[^"+ND+"]",DD="(?:\\ud83c[\\udde6-\\uddff]){2}",$D="[\\ud800-\\udbff][\\udc00-\\udfff]",Uae="\\u200d",FD=Bae+"?",BD="["+$ae+"]?",zae="(?:"+Uae+"(?:"+[LD,DD,$D].join("|")+")"+BD+FD+")*",Vae=BD+FD+zae,jae="(?:"+[LD+w3+"?",w3,DD,$D,Fae].join("|")+")",k9=RegExp(x3+"(?="+x3+")|"+jae+Vae,"g");function Gae(e){for(var t=k9.lastIndex=0;k9.test(e);)++t;return t}function Hae(e){return pT(e)?Gae(e):Iae(e)}function Wae(e,t,n,r,i){return i(e,function(o,s,a){n=r?(r=!1,o):t(n,o,s,a)}),n}function vT(e,t,n){var r=gr(e)?ZL:Wae,i=arguments.length<3;return r(e,J_(t),n,i,eb)}var qae="[object Map]",Kae="[object Set]";function _T(e){if(e==null)return 0;if(Uf(e))return wae(e)?Hae(e):e.length;var t=Sf(e);return t==qae||t==Kae?e.size:zL(e).length}function Xae(e,t){var n;return eb(e,function(r,i,o){return n=t(r,i,o),!n}),!!n}function ku(e,t,n){var r=gr(e)?CD:Xae;return n&&NL(e,t,n)&&(t=void 0),r(e,J_(t))}var Yae=Die(function(e,t,n){return e+(n?" ":"")+qre(t)});const Qae=Yae;var Zae=1/0,Jae=Zd&&1/yT(new Zd([,-0]))[1]==Zae?function(e){return new Zd(e)}:gte;const ele=Jae;var tle=200;function nle(e,t,n){var r=-1,i=Rte,o=e.length,s=!0,a=[],l=a;if(n)s=!1,i=yae;else if(o>=tle){var u=t?null:ele(e);if(u)return yT(u);s=!1,i=TD,l=new ug}else l=t?[]:a;e:for(;++r{Tae(e,t.payload)}}}),{configChanged:ole}=zD.actions,sle=zD.reducer,eRe={"sd-1":"Stable Diffusion 1.x","sd-2":"Stable Diffusion 2.x",sdxl:"Stable Diffusion XL","sdxl-refiner":"Stable Diffusion XL Refiner"},tRe={"sd-1":"SD1","sd-2":"SD2",sdxl:"SDXL","sdxl-refiner":"SDXLR"},ale={"sd-1":{maxClip:12,markers:[0,1,2,3,4,8,12]},"sd-2":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},sdxl:{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},"sdxl-refiner":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]}},nRe={lycoris:"LyCORIS",diffusers:"Diffusers"},rRe=0,lle=4294967295;var wt;(function(e){e.assertEqual=i=>i;function t(i){}e.assertIs=t;function n(i){throw new Error}e.assertNever=n,e.arrayToEnum=i=>{const o={};for(const s of i)o[s]=s;return o},e.getValidEnumValues=i=>{const o=e.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),s={};for(const a of o)s[a]=i[a];return e.objectValues(s)},e.objectValues=i=>e.objectKeys(i).map(function(o){return i[o]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const o=[];for(const s in i)Object.prototype.hasOwnProperty.call(i,s)&&o.push(s);return o},e.find=(i,o)=>{for(const s of i)if(o(s))return s},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&isFinite(i)&&Math.floor(i)===i;function r(i,o=" | "){return i.map(s=>typeof s=="string"?`'${s}'`:s).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(i,o)=>typeof o=="bigint"?o.toString():o})(wt||(wt={}));var C3;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(C3||(C3={}));const xe=wt.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ml=e=>{switch(typeof e){case"undefined":return xe.undefined;case"string":return xe.string;case"number":return isNaN(e)?xe.nan:xe.number;case"boolean":return xe.boolean;case"function":return xe.function;case"bigint":return xe.bigint;case"symbol":return xe.symbol;case"object":return Array.isArray(e)?xe.array:e===null?xe.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?xe.promise:typeof Map<"u"&&e instanceof Map?xe.map:typeof Set<"u"&&e instanceof Set?xe.set:typeof Date<"u"&&e instanceof Date?xe.date:xe.object;default:return xe.unknown}},me=wt.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),ule=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class Xo extends Error{constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}get errors(){return this.issues}format(t){const n=t||function(o){return o.message},r={_errors:[]},i=o=>{for(const s of o.issues)if(s.code==="invalid_union")s.unionErrors.map(i);else if(s.code==="invalid_return_type")i(s.returnTypeError);else if(s.code==="invalid_arguments")i(s.argumentsError);else if(s.path.length===0)r._errors.push(n(s));else{let a=r,l=0;for(;ln.message){const n={},r=[];for(const i of this.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}Xo.create=e=>new Xo(e);const cg=(e,t)=>{let n;switch(e.code){case me.invalid_type:e.received===xe.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case me.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,wt.jsonStringifyReplacer)}`;break;case me.unrecognized_keys:n=`Unrecognized key(s) in object: ${wt.joinValues(e.keys,", ")}`;break;case me.invalid_union:n="Invalid input";break;case me.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${wt.joinValues(e.options)}`;break;case me.invalid_enum_value:n=`Invalid enum value. Expected ${wt.joinValues(e.options)}, received '${e.received}'`;break;case me.invalid_arguments:n="Invalid function arguments";break;case me.invalid_return_type:n="Invalid function return type";break;case me.invalid_date:n="Invalid date";break;case me.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:wt.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case me.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case me.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case me.custom:n="Invalid input";break;case me.invalid_intersection_types:n="Intersection results could not be merged";break;case me.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case me.not_finite:n="Number must be finite";break;default:n=t.defaultError,wt.assertNever(e)}return{message:n}};let VD=cg;function cle(e){VD=e}function f1(){return VD}const h1=e=>{const{data:t,path:n,errorMaps:r,issueData:i}=e,o=[...n,...i.path||[]],s={...i,path:o};let a="";const l=r.filter(u=>!!u).slice().reverse();for(const u of l)a=u(s,{data:t,defaultError:a}).message;return{...i,path:o,message:i.message||a}},dle=[];function Te(e,t){const n=h1({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,f1(),cg].filter(r=>!!r)});e.common.issues.push(n)}class Wr{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){const r=[];for(const i of n){if(i.status==="aborted")return je;i.status==="dirty"&&t.dirty(),r.push(i.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){const r=[];for(const i of n)r.push({key:await i.key,value:await i.value});return Wr.mergeObjectSync(t,r)}static mergeObjectSync(t,n){const r={};for(const i of n){const{key:o,value:s}=i;if(o.status==="aborted"||s.status==="aborted")return je;o.status==="dirty"&&t.dirty(),s.status==="dirty"&&t.dirty(),(typeof s.value<"u"||i.alwaysSet)&&(r[o.value]=s.value)}return{status:t.value,value:r}}}const je=Object.freeze({status:"aborted"}),jD=e=>({status:"dirty",value:e}),li=e=>({status:"valid",value:e}),T3=e=>e.status==="aborted",E3=e=>e.status==="dirty",p1=e=>e.status==="valid",g1=e=>typeof Promise<"u"&&e instanceof Promise;var Le;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(Le||(Le={}));class Ms{constructor(t,n,r,i){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=i}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const I9=(e,t)=>{if(p1(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new Xo(e.common.issues);return this._error=n,this._error}}};function Qe(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(s,a)=>s.code!=="invalid_type"?{message:a.defaultError}:typeof a.data>"u"?{message:r??a.defaultError}:{message:n??a.defaultError},description:i}}class tt{constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(t){return ml(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ml(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Wr,ctx:{common:t.parent.common,data:t.data,parsedType:ml(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(g1(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){const n=this._parse(t);return Promise.resolve(n)}parse(t,n){const r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){var r;const i={common:{issues:[],async:(r=n==null?void 0:n.async)!==null&&r!==void 0?r:!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ml(t)},o=this._parseSync({data:t,path:i.path,parent:i});return I9(i,o)}async parseAsync(t,n){const r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){const r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ml(t)},i=this._parse({data:t,path:r.path,parent:r}),o=await(g1(i)?i:Promise.resolve(i));return I9(r,o)}refine(t,n){const r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,o)=>{const s=t(i),a=()=>o.addIssue({code:me.custom,...r(i)});return typeof Promise<"u"&&s instanceof Promise?s.then(l=>l?!0:(a(),!1)):s?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(t){return new ts({schema:this,typeName:Ue.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}optional(){return _a.create(this,this._def)}nullable(){return ic.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Yo.create(this,this._def)}promise(){return xf.create(this,this._def)}or(t){return pg.create([this,t],this._def)}and(t){return gg.create(this,t,this._def)}transform(t){return new ts({...Qe(this._def),schema:this,typeName:Ue.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new bg({...Qe(this._def),innerType:this,defaultValue:n,typeName:Ue.ZodDefault})}brand(){return new HD({typeName:Ue.ZodBranded,type:this,...Qe(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new _1({...Qe(this._def),innerType:this,catchValue:n,typeName:Ue.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return hm.create(this,t)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const fle=/^c[^\s-]{8,}$/i,hle=/^[a-z][a-z0-9]*$/,ple=/[0-9A-HJKMNP-TV-Z]{26}/,gle=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,mle=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\])|(\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\.[A-Za-z]{2,})+))$/,yle=/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,vle=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,_le=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ble=e=>e.precision?e.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}Z$`):e.precision===0?e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function Sle(e,t){return!!((t==="v4"||!t)&&vle.test(e)||(t==="v6"||!t)&&_le.test(e))}class Ho extends tt{constructor(){super(...arguments),this._regex=(t,n,r)=>this.refinement(i=>t.test(i),{validation:n,code:me.invalid_string,...Le.errToObj(r)}),this.nonempty=t=>this.min(1,Le.errToObj(t)),this.trim=()=>new Ho({...this._def,checks:[...this._def.checks,{kind:"trim"}]}),this.toLowerCase=()=>new Ho({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]}),this.toUpperCase=()=>new Ho({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==xe.string){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.string,received:o.parsedType}),je}const r=new Wr;let i;for(const o of this._def.checks)if(o.kind==="min")t.data.lengtho.value&&(i=this._getOrReturnCtx(t,i),Te(i,{code:me.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){const s=t.data.length>o.value,a=t.data.length"u"?null:t==null?void 0:t.precision,offset:(n=t==null?void 0:t.offset)!==null&&n!==void 0?n:!1,...Le.errToObj(t==null?void 0:t.message)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...Le.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...Le.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...Le.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...Le.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...Le.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...Le.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...Le.errToObj(n)})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get minLength(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new Ho({checks:[],typeName:Ue.ZodString,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...Qe(e)})};function wle(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r,o=parseInt(e.toFixed(i).replace(".","")),s=parseInt(t.toFixed(i).replace(".",""));return o%s/Math.pow(10,i)}class zl extends tt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==xe.number){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.number,received:o.parsedType}),je}let r;const i=new Wr;for(const o of this._def.checks)o.kind==="int"?wt.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),Te(r,{code:me.invalid_type,expected:"integer",received:"float",message:o.message}),i.dirty()):o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="multipleOf"?wle(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),Te(r,{code:me.not_finite,message:o.message}),i.dirty()):wt.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,Le.toString(n))}gt(t,n){return this.setLimit("min",t,!1,Le.toString(n))}lte(t,n){return this.setLimit("max",t,!0,Le.toString(n))}lt(t,n){return this.setLimit("max",t,!1,Le.toString(n))}setLimit(t,n,r,i){return new zl({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:Le.toString(i)}]})}_addCheck(t){return new zl({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:Le.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Le.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Le.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Le.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Le.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:Le.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:Le.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Le.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Le.toString(t)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuet.kind==="int"||t.kind==="multipleOf"&&wt.isInteger(t.value))}get isFinite(){let t=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.valuenew zl({checks:[],typeName:Ue.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...Qe(e)});class Vl extends tt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce&&(t.data=BigInt(t.data)),this._getType(t)!==xe.bigint){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.bigint,received:o.parsedType}),je}let r;const i=new Wr;for(const o of this._def.checks)o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):wt.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,Le.toString(n))}gt(t,n){return this.setLimit("min",t,!1,Le.toString(n))}lte(t,n){return this.setLimit("max",t,!0,Le.toString(n))}lt(t,n){return this.setLimit("max",t,!1,Le.toString(n))}setLimit(t,n,r,i){return new Vl({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:Le.toString(i)}]})}_addCheck(t){return new Vl({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Le.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Le.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Le.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Le.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:Le.toString(n)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new Vl({checks:[],typeName:Ue.ZodBigInt,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...Qe(e)})};class dg extends tt{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==xe.boolean){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.boolean,received:r.parsedType}),je}return li(t.data)}}dg.create=e=>new dg({typeName:Ue.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...Qe(e)});class nc extends tt{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==xe.date){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.date,received:o.parsedType}),je}if(isNaN(t.data.getTime())){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_date}),je}const r=new Wr;let i;for(const o of this._def.checks)o.kind==="min"?t.data.getTime()o.value&&(i=this._getOrReturnCtx(t,i),Te(i,{code:me.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):wt.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new nc({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:Le.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:Le.toString(n)})}get minDate(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuenew nc({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:Ue.ZodDate,...Qe(e)});class m1 extends tt{_parse(t){if(this._getType(t)!==xe.symbol){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.symbol,received:r.parsedType}),je}return li(t.data)}}m1.create=e=>new m1({typeName:Ue.ZodSymbol,...Qe(e)});class fg extends tt{_parse(t){if(this._getType(t)!==xe.undefined){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.undefined,received:r.parsedType}),je}return li(t.data)}}fg.create=e=>new fg({typeName:Ue.ZodUndefined,...Qe(e)});class hg extends tt{_parse(t){if(this._getType(t)!==xe.null){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.null,received:r.parsedType}),je}return li(t.data)}}hg.create=e=>new hg({typeName:Ue.ZodNull,...Qe(e)});class wf extends tt{constructor(){super(...arguments),this._any=!0}_parse(t){return li(t.data)}}wf.create=e=>new wf({typeName:Ue.ZodAny,...Qe(e)});class Gu extends tt{constructor(){super(...arguments),this._unknown=!0}_parse(t){return li(t.data)}}Gu.create=e=>new Gu({typeName:Ue.ZodUnknown,...Qe(e)});class Oa extends tt{_parse(t){const n=this._getOrReturnCtx(t);return Te(n,{code:me.invalid_type,expected:xe.never,received:n.parsedType}),je}}Oa.create=e=>new Oa({typeName:Ue.ZodNever,...Qe(e)});class y1 extends tt{_parse(t){if(this._getType(t)!==xe.undefined){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.void,received:r.parsedType}),je}return li(t.data)}}y1.create=e=>new y1({typeName:Ue.ZodVoid,...Qe(e)});class Yo extends tt{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==xe.array)return Te(n,{code:me.invalid_type,expected:xe.array,received:n.parsedType}),je;if(i.exactLength!==null){const s=n.data.length>i.exactLength.value,a=n.data.lengthi.maxLength.value&&(Te(n,{code:me.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((s,a)=>i.type._parseAsync(new Ms(n,s,n.path,a)))).then(s=>Wr.mergeArray(r,s));const o=[...n.data].map((s,a)=>i.type._parseSync(new Ms(n,s,n.path,a)));return Wr.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new Yo({...this._def,minLength:{value:t,message:Le.toString(n)}})}max(t,n){return new Yo({...this._def,maxLength:{value:t,message:Le.toString(n)}})}length(t,n){return new Yo({...this._def,exactLength:{value:t,message:Le.toString(n)}})}nonempty(t){return this.min(1,t)}}Yo.create=(e,t)=>new Yo({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Ue.ZodArray,...Qe(t)});function yd(e){if(e instanceof gn){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=_a.create(yd(r))}return new gn({...e._def,shape:()=>t})}else return e instanceof Yo?new Yo({...e._def,type:yd(e.element)}):e instanceof _a?_a.create(yd(e.unwrap())):e instanceof ic?ic.create(yd(e.unwrap())):e instanceof Ns?Ns.create(e.items.map(t=>yd(t))):e}class gn extends tt{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),n=wt.objectKeys(t);return this._cached={shape:t,keys:n}}_parse(t){if(this._getType(t)!==xe.object){const u=this._getOrReturnCtx(t);return Te(u,{code:me.invalid_type,expected:xe.object,received:u.parsedType}),je}const{status:r,ctx:i}=this._processInputParams(t),{shape:o,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof Oa&&this._def.unknownKeys==="strip"))for(const u in i.data)s.includes(u)||a.push(u);const l=[];for(const u of s){const d=o[u],f=i.data[u];l.push({key:{status:"valid",value:u},value:d._parse(new Ms(i,f,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof Oa){const u=this._def.unknownKeys;if(u==="passthrough")for(const d of a)l.push({key:{status:"valid",value:d},value:{status:"valid",value:i.data[d]}});else if(u==="strict")a.length>0&&(Te(i,{code:me.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const u=this._def.catchall;for(const d of a){const f=i.data[d];l.push({key:{status:"valid",value:d},value:u._parse(new Ms(i,f,i.path,d)),alwaysSet:d in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const u=[];for(const d of l){const f=await d.key;u.push({key:f,value:await d.value,alwaysSet:d.alwaysSet})}return u}).then(u=>Wr.mergeObjectSync(r,u)):Wr.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return Le.errToObj,new gn({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{var i,o,s,a;const l=(s=(o=(i=this._def).errorMap)===null||o===void 0?void 0:o.call(i,n,r).message)!==null&&s!==void 0?s:r.defaultError;return n.code==="unrecognized_keys"?{message:(a=Le.errToObj(t).message)!==null&&a!==void 0?a:l}:{message:l}}}:{}})}strip(){return new gn({...this._def,unknownKeys:"strip"})}passthrough(){return new gn({...this._def,unknownKeys:"passthrough"})}extend(t){return new gn({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new gn({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Ue.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new gn({...this._def,catchall:t})}pick(t){const n={};return wt.objectKeys(t).forEach(r=>{t[r]&&this.shape[r]&&(n[r]=this.shape[r])}),new gn({...this._def,shape:()=>n})}omit(t){const n={};return wt.objectKeys(this.shape).forEach(r=>{t[r]||(n[r]=this.shape[r])}),new gn({...this._def,shape:()=>n})}deepPartial(){return yd(this)}partial(t){const n={};return wt.objectKeys(this.shape).forEach(r=>{const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}),new gn({...this._def,shape:()=>n})}required(t){const n={};return wt.objectKeys(this.shape).forEach(r=>{if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof _a;)o=o._def.innerType;n[r]=o}}),new gn({...this._def,shape:()=>n})}keyof(){return GD(wt.objectKeys(this.shape))}}gn.create=(e,t)=>new gn({shape:()=>e,unknownKeys:"strip",catchall:Oa.create(),typeName:Ue.ZodObject,...Qe(t)});gn.strictCreate=(e,t)=>new gn({shape:()=>e,unknownKeys:"strict",catchall:Oa.create(),typeName:Ue.ZodObject,...Qe(t)});gn.lazycreate=(e,t)=>new gn({shape:e,unknownKeys:"strip",catchall:Oa.create(),typeName:Ue.ZodObject,...Qe(t)});class pg extends tt{_parse(t){const{ctx:n}=this._processInputParams(t),r=this._def.options;function i(o){for(const a of o)if(a.result.status==="valid")return a.result;for(const a of o)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;const s=o.map(a=>new Xo(a.ctx.common.issues));return Te(n,{code:me.invalid_union,unionErrors:s}),je}if(n.common.async)return Promise.all(r.map(async o=>{const s={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:s}),ctx:s}})).then(i);{let o;const s=[];for(const l of r){const u={...n,common:{...n.common,issues:[]},parent:null},d=l._parseSync({data:n.data,path:n.path,parent:u});if(d.status==="valid")return d;d.status==="dirty"&&!o&&(o={result:d,ctx:u}),u.common.issues.length&&s.push(u.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;const a=s.map(l=>new Xo(l));return Te(n,{code:me.invalid_union,unionErrors:a}),je}}get options(){return this._def.options}}pg.create=(e,t)=>new pg({options:e,typeName:Ue.ZodUnion,...Qe(t)});const cv=e=>e instanceof yg?cv(e.schema):e instanceof ts?cv(e.innerType()):e instanceof vg?[e.value]:e instanceof jl?e.options:e instanceof _g?Object.keys(e.enum):e instanceof bg?cv(e._def.innerType):e instanceof fg?[void 0]:e instanceof hg?[null]:null;class ib extends tt{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==xe.object)return Te(n,{code:me.invalid_type,expected:xe.object,received:n.parsedType}),je;const r=this.discriminator,i=n.data[r],o=this.optionsMap.get(i);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(Te(n,{code:me.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),je)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){const i=new Map;for(const o of n){const s=cv(o.shape[t]);if(!s)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(const a of s){if(i.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);i.set(a,o)}}return new ib({typeName:Ue.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...Qe(r)})}}function A3(e,t){const n=ml(e),r=ml(t);if(e===t)return{valid:!0,data:e};if(n===xe.object&&r===xe.object){const i=wt.objectKeys(t),o=wt.objectKeys(e).filter(a=>i.indexOf(a)!==-1),s={...e,...t};for(const a of o){const l=A3(e[a],t[a]);if(!l.valid)return{valid:!1};s[a]=l.data}return{valid:!0,data:s}}else if(n===xe.array&&r===xe.array){if(e.length!==t.length)return{valid:!1};const i=[];for(let o=0;o{if(T3(o)||T3(s))return je;const a=A3(o.value,s.value);return a.valid?((E3(o)||E3(s))&&n.dirty(),{status:n.value,value:a.data}):(Te(r,{code:me.invalid_intersection_types}),je)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,s])=>i(o,s)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}gg.create=(e,t,n)=>new gg({left:e,right:t,typeName:Ue.ZodIntersection,...Qe(n)});class Ns extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.array)return Te(r,{code:me.invalid_type,expected:xe.array,received:r.parsedType}),je;if(r.data.lengththis._def.items.length&&(Te(r,{code:me.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const o=[...r.data].map((s,a)=>{const l=this._def.items[a]||this._def.rest;return l?l._parse(new Ms(r,s,r.path,a)):null}).filter(s=>!!s);return r.common.async?Promise.all(o).then(s=>Wr.mergeArray(n,s)):Wr.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new Ns({...this._def,rest:t})}}Ns.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ns({items:e,typeName:Ue.ZodTuple,rest:null,...Qe(t)})};class mg extends tt{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.object)return Te(r,{code:me.invalid_type,expected:xe.object,received:r.parsedType}),je;const i=[],o=this._def.keyType,s=this._def.valueType;for(const a in r.data)i.push({key:o._parse(new Ms(r,a,r.path,a)),value:s._parse(new Ms(r,r.data[a],r.path,a))});return r.common.async?Wr.mergeObjectAsync(n,i):Wr.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof tt?new mg({keyType:t,valueType:n,typeName:Ue.ZodRecord,...Qe(r)}):new mg({keyType:Ho.create(),valueType:t,typeName:Ue.ZodRecord,...Qe(n)})}}class v1 extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.map)return Te(r,{code:me.invalid_type,expected:xe.map,received:r.parsedType}),je;const i=this._def.keyType,o=this._def.valueType,s=[...r.data.entries()].map(([a,l],u)=>({key:i._parse(new Ms(r,a,r.path,[u,"key"])),value:o._parse(new Ms(r,l,r.path,[u,"value"]))}));if(r.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const l of s){const u=await l.key,d=await l.value;if(u.status==="aborted"||d.status==="aborted")return je;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}})}else{const a=new Map;for(const l of s){const u=l.key,d=l.value;if(u.status==="aborted"||d.status==="aborted")return je;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}}}}v1.create=(e,t,n)=>new v1({valueType:t,keyType:e,typeName:Ue.ZodMap,...Qe(n)});class rc extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.set)return Te(r,{code:me.invalid_type,expected:xe.set,received:r.parsedType}),je;const i=this._def;i.minSize!==null&&r.data.sizei.maxSize.value&&(Te(r,{code:me.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());const o=this._def.valueType;function s(l){const u=new Set;for(const d of l){if(d.status==="aborted")return je;d.status==="dirty"&&n.dirty(),u.add(d.value)}return{status:n.value,value:u}}const a=[...r.data.values()].map((l,u)=>o._parse(new Ms(r,l,r.path,u)));return r.common.async?Promise.all(a).then(l=>s(l)):s(a)}min(t,n){return new rc({...this._def,minSize:{value:t,message:Le.toString(n)}})}max(t,n){return new rc({...this._def,maxSize:{value:t,message:Le.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}rc.create=(e,t)=>new rc({valueType:e,minSize:null,maxSize:null,typeName:Ue.ZodSet,...Qe(t)});class Jd extends tt{constructor(){super(...arguments),this.validate=this.implement}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==xe.function)return Te(n,{code:me.invalid_type,expected:xe.function,received:n.parsedType}),je;function r(a,l){return h1({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,f1(),cg].filter(u=>!!u),issueData:{code:me.invalid_arguments,argumentsError:l}})}function i(a,l){return h1({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,f1(),cg].filter(u=>!!u),issueData:{code:me.invalid_return_type,returnTypeError:l}})}const o={errorMap:n.common.contextualErrorMap},s=n.data;return this._def.returns instanceof xf?li(async(...a)=>{const l=new Xo([]),u=await this._def.args.parseAsync(a,o).catch(p=>{throw l.addIssue(r(a,p)),l}),d=await s(...u);return await this._def.returns._def.type.parseAsync(d,o).catch(p=>{throw l.addIssue(i(d,p)),l})}):li((...a)=>{const l=this._def.args.safeParse(a,o);if(!l.success)throw new Xo([r(a,l.error)]);const u=s(...l.data),d=this._def.returns.safeParse(u,o);if(!d.success)throw new Xo([i(u,d.error)]);return d.data})}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new Jd({...this._def,args:Ns.create(t).rest(Gu.create())})}returns(t){return new Jd({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new Jd({args:t||Ns.create([]).rest(Gu.create()),returns:n||Gu.create(),typeName:Ue.ZodFunction,...Qe(r)})}}class yg extends tt{get schema(){return this._def.getter()}_parse(t){const{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}yg.create=(e,t)=>new yg({getter:e,typeName:Ue.ZodLazy,...Qe(t)});class vg extends tt{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return Te(n,{received:n.data,code:me.invalid_literal,expected:this._def.value}),je}return{status:"valid",value:t.data}}get value(){return this._def.value}}vg.create=(e,t)=>new vg({value:e,typeName:Ue.ZodLiteral,...Qe(t)});function GD(e,t){return new jl({values:e,typeName:Ue.ZodEnum,...Qe(t)})}class jl extends tt{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return Te(n,{expected:wt.joinValues(r),received:n.parsedType,code:me.invalid_type}),je}if(this._def.values.indexOf(t.data)===-1){const n=this._getOrReturnCtx(t),r=this._def.values;return Te(n,{received:n.data,code:me.invalid_enum_value,options:r}),je}return li(t.data)}get options(){return this._def.values}get enum(){const t={};for(const n of this._def.values)t[n]=n;return t}get Values(){const t={};for(const n of this._def.values)t[n]=n;return t}get Enum(){const t={};for(const n of this._def.values)t[n]=n;return t}extract(t){return jl.create(t)}exclude(t){return jl.create(this.options.filter(n=>!t.includes(n)))}}jl.create=GD;class _g extends tt{_parse(t){const n=wt.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==xe.string&&r.parsedType!==xe.number){const i=wt.objectValues(n);return Te(r,{expected:wt.joinValues(i),received:r.parsedType,code:me.invalid_type}),je}if(n.indexOf(t.data)===-1){const i=wt.objectValues(n);return Te(r,{received:r.data,code:me.invalid_enum_value,options:i}),je}return li(t.data)}get enum(){return this._def.values}}_g.create=(e,t)=>new _g({values:e,typeName:Ue.ZodNativeEnum,...Qe(t)});class xf extends tt{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==xe.promise&&n.common.async===!1)return Te(n,{code:me.invalid_type,expected:xe.promise,received:n.parsedType}),je;const r=n.parsedType===xe.promise?n.data:Promise.resolve(n.data);return li(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}xf.create=(e,t)=>new xf({type:e,typeName:Ue.ZodPromise,...Qe(t)});class ts extends tt{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Ue.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=this._def.effect||null;if(i.type==="preprocess"){const s=i.transform(r.data);return r.common.async?Promise.resolve(s).then(a=>this._def.schema._parseAsync({data:a,path:r.path,parent:r})):this._def.schema._parseSync({data:s,path:r.path,parent:r})}const o={addIssue:s=>{Te(r,s),s.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),i.type==="refinement"){const s=a=>{const l=i.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?je:(a.status==="dirty"&&n.dirty(),s(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?je:(a.status==="dirty"&&n.dirty(),s(a.value).then(()=>({status:n.value,value:a.value}))))}if(i.type==="transform")if(r.common.async===!1){const s=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!p1(s))return s;const a=i.transform(s.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(s=>p1(s)?Promise.resolve(i.transform(s.value,o)).then(a=>({status:n.value,value:a})):s);wt.assertNever(i)}}ts.create=(e,t,n)=>new ts({schema:e,typeName:Ue.ZodEffects,effect:t,...Qe(n)});ts.createWithPreprocess=(e,t,n)=>new ts({schema:t,effect:{type:"preprocess",transform:e},typeName:Ue.ZodEffects,...Qe(n)});class _a extends tt{_parse(t){return this._getType(t)===xe.undefined?li(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}_a.create=(e,t)=>new _a({innerType:e,typeName:Ue.ZodOptional,...Qe(t)});class ic extends tt{_parse(t){return this._getType(t)===xe.null?li(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}ic.create=(e,t)=>new ic({innerType:e,typeName:Ue.ZodNullable,...Qe(t)});class bg extends tt{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===xe.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}bg.create=(e,t)=>new bg({innerType:e,typeName:Ue.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Qe(t)});class _1 extends tt{_parse(t){const{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return g1(i)?i.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Xo(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Xo(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}_1.create=(e,t)=>new _1({innerType:e,typeName:Ue.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Qe(t)});class b1 extends tt{_parse(t){if(this._getType(t)!==xe.nan){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.nan,received:r.parsedType}),je}return{status:"valid",value:t.data}}}b1.create=e=>new b1({typeName:Ue.ZodNaN,...Qe(e)});const xle=Symbol("zod_brand");class HD extends tt{_parse(t){const{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class hm extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{const o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?je:o.status==="dirty"?(n.dirty(),jD(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{const i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?je:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(t,n){return new hm({in:t,out:n,typeName:Ue.ZodPipeline})}}const WD=(e,t={},n)=>e?wf.create().superRefine((r,i)=>{var o,s;if(!e(r)){const a=typeof t=="function"?t(r):typeof t=="string"?{message:t}:t,l=(s=(o=a.fatal)!==null&&o!==void 0?o:n)!==null&&s!==void 0?s:!0,u=typeof a=="string"?{message:a}:a;i.addIssue({code:"custom",...u,fatal:l})}}):wf.create(),Cle={object:gn.lazycreate};var Ue;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline"})(Ue||(Ue={}));const Tle=(e,t={message:`Input not instance of ${e.name}`})=>WD(n=>n instanceof e,t),qD=Ho.create,KD=zl.create,Ele=b1.create,Ale=Vl.create,XD=dg.create,Ple=nc.create,Rle=m1.create,Ole=fg.create,kle=hg.create,Ile=wf.create,Mle=Gu.create,Nle=Oa.create,Lle=y1.create,Dle=Yo.create,$le=gn.create,Fle=gn.strictCreate,Ble=pg.create,Ule=ib.create,zle=gg.create,Vle=Ns.create,jle=mg.create,Gle=v1.create,Hle=rc.create,Wle=Jd.create,qle=yg.create,Kle=vg.create,Xle=jl.create,Yle=_g.create,Qle=xf.create,M9=ts.create,Zle=_a.create,Jle=ic.create,eue=ts.createWithPreprocess,tue=hm.create,nue=()=>qD().optional(),rue=()=>KD().optional(),iue=()=>XD().optional(),oue={string:e=>Ho.create({...e,coerce:!0}),number:e=>zl.create({...e,coerce:!0}),boolean:e=>dg.create({...e,coerce:!0}),bigint:e=>Vl.create({...e,coerce:!0}),date:e=>nc.create({...e,coerce:!0})},sue=je;var xt=Object.freeze({__proto__:null,defaultErrorMap:cg,setErrorMap:cle,getErrorMap:f1,makeIssue:h1,EMPTY_PATH:dle,addIssueToContext:Te,ParseStatus:Wr,INVALID:je,DIRTY:jD,OK:li,isAborted:T3,isDirty:E3,isValid:p1,isAsync:g1,get util(){return wt},get objectUtil(){return C3},ZodParsedType:xe,getParsedType:ml,ZodType:tt,ZodString:Ho,ZodNumber:zl,ZodBigInt:Vl,ZodBoolean:dg,ZodDate:nc,ZodSymbol:m1,ZodUndefined:fg,ZodNull:hg,ZodAny:wf,ZodUnknown:Gu,ZodNever:Oa,ZodVoid:y1,ZodArray:Yo,ZodObject:gn,ZodUnion:pg,ZodDiscriminatedUnion:ib,ZodIntersection:gg,ZodTuple:Ns,ZodRecord:mg,ZodMap:v1,ZodSet:rc,ZodFunction:Jd,ZodLazy:yg,ZodLiteral:vg,ZodEnum:jl,ZodNativeEnum:_g,ZodPromise:xf,ZodEffects:ts,ZodTransformer:ts,ZodOptional:_a,ZodNullable:ic,ZodDefault:bg,ZodCatch:_1,ZodNaN:b1,BRAND:xle,ZodBranded:HD,ZodPipeline:hm,custom:WD,Schema:tt,ZodSchema:tt,late:Cle,get ZodFirstPartyTypeKind(){return Ue},coerce:oue,any:Ile,array:Dle,bigint:Ale,boolean:XD,date:Ple,discriminatedUnion:Ule,effect:M9,enum:Xle,function:Wle,instanceof:Tle,intersection:zle,lazy:qle,literal:Kle,map:Gle,nan:Ele,nativeEnum:Yle,never:Nle,null:kle,nullable:Jle,number:KD,object:$le,oboolean:iue,onumber:rue,optional:Zle,ostring:nue,pipeline:tue,preprocess:eue,promise:Qle,record:jle,set:Hle,strictObject:Fle,string:qD,symbol:Rle,transformer:M9,tuple:Vle,undefined:Ole,union:Ble,unknown:Mle,void:Lle,NEVER:sue,ZodIssueCode:me,quotelessJson:ule,ZodError:Xo});const aue=xt.string(),iRe=e=>aue.safeParse(e).success,lue=xt.string(),oRe=e=>lue.safeParse(e).success,uue=xt.string(),sRe=e=>uue.safeParse(e).success,cue=xt.string(),aRe=e=>cue.safeParse(e).success,due=xt.number().int().min(1),lRe=e=>due.safeParse(e).success,fue=xt.number().min(1),uRe=e=>fue.safeParse(e).success,hue=xt.enum(["euler","deis","ddim","ddpm","dpmpp_2s","dpmpp_2m","dpmpp_2m_sde","dpmpp_sde","heun","kdpm_2","lms","pndm","unipc","euler_k","dpmpp_2s_k","dpmpp_2m_k","dpmpp_2m_sde_k","dpmpp_sde_k","heun_k","lms_k","euler_a","kdpm_2_a"]),cRe=e=>hue.safeParse(e).success,dRe={euler:"Euler",deis:"DEIS",ddim:"DDIM",ddpm:"DDPM",dpmpp_sde:"DPM++ SDE",dpmpp_2s:"DPM++ 2S",dpmpp_2m:"DPM++ 2M",dpmpp_2m_sde:"DPM++ 2M SDE",heun:"Heun",kdpm_2:"KDPM 2",lms:"LMS",pndm:"PNDM",unipc:"UniPC",euler_k:"Euler Karras",dpmpp_sde_k:"DPM++ SDE Karras",dpmpp_2s_k:"DPM++ 2S Karras",dpmpp_2m_k:"DPM++ 2M Karras",dpmpp_2m_sde_k:"DPM++ 2M SDE Karras",heun_k:"Heun Karras",lms_k:"LMS Karras",euler_a:"Euler Ancestral",kdpm_2_a:"KDPM 2 Ancestral"},pue=xt.number().int().min(0).max(lle),fRe=e=>pue.safeParse(e).success,gue=xt.number().multipleOf(8).min(64),hRe=e=>gue.safeParse(e).success,mue=xt.number().multipleOf(8).min(64),pRe=e=>mue.safeParse(e).success,pm=xt.enum(["sd-1","sd-2","sdxl","sdxl-refiner"]),bT=xt.object({model_name:xt.string().min(1),base_model:pm,model_type:xt.literal("main")}),gRe=e=>bT.safeParse(e).success,YD=xt.object({model_name:xt.string().min(1),base_model:xt.literal("sdxl-refiner"),model_type:xt.literal("main")}),mRe=e=>YD.safeParse(e).success,yue=xt.object({model_name:xt.string().min(1),base_model:pm,model_type:xt.literal("onnx")}),QD=xt.union([bT,yue]),vue=xt.object({model_name:xt.string().min(1),base_model:pm}),yRe=xt.object({model_name:xt.string().min(1),base_model:pm}),vRe=xt.object({model_name:xt.string().min(1),base_model:pm}),_ue=xt.number().min(0).max(1),_Re=e=>_ue.safeParse(e).success;xt.enum(["fp16","fp32"]);const bue=xt.number().min(1).max(10),bRe=e=>bue.safeParse(e).success,Sue=xt.number().min(0).max(1),SRe=e=>Sue.safeParse(e).success,Da={cfgScale:7.5,height:512,img2imgStrength:.75,infillMethod:"patchmatch",iterations:1,perlin:0,positivePrompt:"",negativePrompt:"",scheduler:"euler",seamBlur:16,seamSize:96,seamSteps:30,seamStrength:.7,seed:0,seedWeights:"",shouldFitToWidthHeight:!0,shouldGenerateVariations:!1,shouldRandomizeSeed:!0,shouldUseNoiseSettings:!1,steps:50,threshold:0,tileSize:32,variationAmount:.1,width:512,shouldUseSymmetry:!1,horizontalSymmetrySteps:0,verticalSymmetrySteps:0,model:null,vae:null,vaePrecision:"fp32",seamlessXAxis:!1,seamlessYAxis:!1,clipSkip:0,shouldUseCpuNoise:!0,shouldShowAdvancedOptions:!1,aspectRatio:null},wue=Da,ZD=yn({name:"generation",initialState:wue,reducers:{setPositivePrompt:(e,t)=>{e.positivePrompt=t.payload},setNegativePrompt:(e,t)=>{e.negativePrompt=t.payload},setIterations:(e,t)=>{e.iterations=t.payload},setSteps:(e,t)=>{e.steps=t.payload},clampSymmetrySteps:e=>{e.horizontalSymmetrySteps=bl(e.horizontalSymmetrySteps,0,e.steps),e.verticalSymmetrySteps=bl(e.verticalSymmetrySteps,0,e.steps)},setCfgScale:(e,t)=>{e.cfgScale=t.payload},setThreshold:(e,t)=>{e.threshold=t.payload},setPerlin:(e,t)=>{e.perlin=t.payload},setHeight:(e,t)=>{e.height=t.payload},setWidth:(e,t)=>{e.width=t.payload},toggleSize:e=>{const[t,n]=[e.width,e.height];e.width=n,e.height=t},setScheduler:(e,t)=>{e.scheduler=t.payload},setSeed:(e,t)=>{e.seed=t.payload,e.shouldRandomizeSeed=!1},setImg2imgStrength:(e,t)=>{e.img2imgStrength=t.payload},setSeamlessXAxis:(e,t)=>{e.seamlessXAxis=t.payload},setSeamlessYAxis:(e,t)=>{e.seamlessYAxis=t.payload},setShouldFitToWidthHeight:(e,t)=>{e.shouldFitToWidthHeight=t.payload},resetSeed:e=>{e.seed=-1},setShouldGenerateVariations:(e,t)=>{e.shouldGenerateVariations=t.payload},setVariationAmount:(e,t)=>{e.variationAmount=t.payload},setSeedWeights:(e,t)=>{e.seedWeights=t.payload,e.shouldGenerateVariations=!0,e.variationAmount=0},resetParametersState:e=>({...e,...Da}),setShouldRandomizeSeed:(e,t)=>{e.shouldRandomizeSeed=t.payload},clearInitialImage:e=>{e.initialImage=void 0},setSeamSize:(e,t)=>{e.seamSize=t.payload},setSeamBlur:(e,t)=>{e.seamBlur=t.payload},setSeamStrength:(e,t)=>{e.seamStrength=t.payload},setSeamSteps:(e,t)=>{e.seamSteps=t.payload},setTileSize:(e,t)=>{e.tileSize=t.payload},setInfillMethod:(e,t)=>{e.infillMethod=t.payload},setShouldUseSymmetry:(e,t)=>{e.shouldUseSymmetry=t.payload},setHorizontalSymmetrySteps:(e,t)=>{e.horizontalSymmetrySteps=t.payload},setVerticalSymmetrySteps:(e,t)=>{e.verticalSymmetrySteps=t.payload},setShouldUseNoiseSettings:(e,t)=>{e.shouldUseNoiseSettings=t.payload},initialImageChanged:(e,t)=>{const{image_name:n,width:r,height:i}=t.payload;e.initialImage={imageName:n,width:r,height:i}},modelChanged:(e,t)=>{if(e.model=t.payload,e.model===null)return;const{maxClip:n}=ale[e.model.base_model];e.clipSkip=bl(e.clipSkip,0,n)},vaeSelected:(e,t)=>{e.vae=t.payload},vaePrecisionChanged:(e,t)=>{e.vaePrecision=t.payload},setClipSkip:(e,t)=>{e.clipSkip=t.payload},shouldUseCpuNoiseChanged:(e,t)=>{e.shouldUseCpuNoise=t.payload},setShouldShowAdvancedOptions:(e,t)=>{e.shouldShowAdvancedOptions=t.payload,t.payload||(e.clipSkip=0)},setAspectRatio:(e,t)=>{const n=t.payload;e.aspectRatio=n,n&&(e.height=Ss(e.width/n,8))}},extraReducers:e=>{e.addCase(ole,(t,n)=>{var i;const r=(i=n.payload.sd)==null?void 0:i.defaultModel;if(r&&!t.model){const[o,s,a]=r.split("/"),l=bT.safeParse({model_name:a,base_model:o,model_type:s});l.success&&(t.model=l.data)}}),e.addCase(Cue,(t,n)=>{n.payload||(t.clipSkip=0)})}}),{clampSymmetrySteps:wRe,clearInitialImage:ST,resetParametersState:xRe,resetSeed:CRe,setCfgScale:TRe,setWidth:ERe,setHeight:ARe,toggleSize:PRe,setImg2imgStrength:RRe,setInfillMethod:xue,setIterations:ORe,setPerlin:kRe,setPositivePrompt:IRe,setNegativePrompt:MRe,setScheduler:NRe,setSeamBlur:LRe,setSeamSize:DRe,setSeamSteps:$Re,setSeamStrength:FRe,setSeed:BRe,setSeedWeights:URe,setShouldFitToWidthHeight:zRe,setShouldGenerateVariations:VRe,setShouldRandomizeSeed:jRe,setSteps:GRe,setThreshold:HRe,setTileSize:WRe,setVariationAmount:qRe,setShouldUseSymmetry:KRe,setHorizontalSymmetrySteps:XRe,setVerticalSymmetrySteps:YRe,initialImageChanged:ob,modelChanged:Hu,vaeSelected:JD,setShouldUseNoiseSettings:QRe,setSeamlessXAxis:ZRe,setSeamlessYAxis:JRe,setClipSkip:eOe,shouldUseCpuNoiseChanged:tOe,setShouldShowAdvancedOptions:Cue,setAspectRatio:Tue,vaePrecisionChanged:nOe}=ZD.actions,Eue=ZD.reducer,e$=["txt2img","img2img","unifiedCanvas","nodes","modelManager","batch"],N9=(e,t)=>{typeof t=="number"?e.activeTab=t:e.activeTab=e$.indexOf(t)},t$={activeTab:0,shouldPinParametersPanel:!0,shouldShowParametersPanel:!0,shouldShowImageDetails:!1,shouldUseCanvasBetaLayout:!1,shouldShowExistingModelsInSearch:!1,shouldUseSliders:!1,shouldPinGallery:!0,shouldShowGallery:!0,shouldHidePreview:!1,shouldShowProgressInViewer:!0,shouldShowEmbeddingPicker:!1,favoriteSchedulers:[]},n$=yn({name:"ui",initialState:t$,reducers:{setActiveTab:(e,t)=>{N9(e,t.payload)},setShouldPinParametersPanel:(e,t)=>{e.shouldPinParametersPanel=t.payload,e.shouldShowParametersPanel=!0},setShouldShowParametersPanel:(e,t)=>{e.shouldShowParametersPanel=t.payload},setShouldShowImageDetails:(e,t)=>{e.shouldShowImageDetails=t.payload},setShouldUseCanvasBetaLayout:(e,t)=>{e.shouldUseCanvasBetaLayout=t.payload},setShouldHidePreview:(e,t)=>{e.shouldHidePreview=t.payload},setShouldShowExistingModelsInSearch:(e,t)=>{e.shouldShowExistingModelsInSearch=t.payload},setShouldUseSliders:(e,t)=>{e.shouldUseSliders=t.payload},setShouldShowGallery:(e,t)=>{e.shouldShowGallery=t.payload},togglePinGalleryPanel:e=>{e.shouldPinGallery=!e.shouldPinGallery,e.shouldPinGallery||(e.shouldShowGallery=!0)},togglePinParametersPanel:e=>{e.shouldPinParametersPanel=!e.shouldPinParametersPanel,e.shouldPinParametersPanel||(e.shouldShowParametersPanel=!0)},toggleParametersPanel:e=>{e.shouldShowParametersPanel=!e.shouldShowParametersPanel},toggleGalleryPanel:e=>{e.shouldShowGallery=!e.shouldShowGallery},togglePanels:e=>{e.shouldShowGallery||e.shouldShowParametersPanel?(e.shouldShowGallery=!1,e.shouldShowParametersPanel=!1):(e.shouldShowGallery=!0,e.shouldShowParametersPanel=!0)},setShouldShowProgressInViewer:(e,t)=>{e.shouldShowProgressInViewer=t.payload},favoriteSchedulersChanged:(e,t)=>{e.favoriteSchedulers=t.payload},toggleEmbeddingPicker:e=>{e.shouldShowEmbeddingPicker=!e.shouldShowEmbeddingPicker}},extraReducers(e){e.addCase(ob,t=>{N9(t,"img2img")})}}),{setActiveTab:r$,setShouldPinParametersPanel:rOe,setShouldShowParametersPanel:iOe,setShouldShowImageDetails:oOe,setShouldUseCanvasBetaLayout:Aue,setShouldShowExistingModelsInSearch:sOe,setShouldUseSliders:aOe,setShouldHidePreview:lOe,setShouldShowGallery:uOe,togglePanels:cOe,togglePinGalleryPanel:dOe,togglePinParametersPanel:fOe,toggleParametersPanel:hOe,toggleGalleryPanel:pOe,setShouldShowProgressInViewer:gOe,favoriteSchedulersChanged:mOe,toggleEmbeddingPicker:yOe}=n$.actions,Pue=n$.reducer;let ti=[],gm=(e,t)=>{let n=[],r={get(){return r.lc||r.listen(()=>{})(),r.value},l:t||0,lc:0,listen(i,o){return r.lc=n.push(i,o||r.l)/2,()=>{let s=n.indexOf(i);~s&&(n.splice(s,2),r.lc--,r.lc||r.off())}},notify(i){let o=!ti.length;for(let s=0;s(e.events=e.events||{},e.events[n+g0]||(e.events[n+g0]=r(i=>{e.events[n].reduceRight((o,s)=>(s(o),o),{shared:{},...i})})),e.events[n]=e.events[n]||[],e.events[n].push(t),()=>{let i=e.events[n],o=i.indexOf(t);i.splice(o,1),i.length||(delete e.events[n],e.events[n+g0](),delete e.events[n+g0])}),kue=1e3,Iue=(e,t)=>Oue(e,r=>{let i=t(r);i&&e.events[p0].push(i)},Rue,r=>{let i=e.listen;e.listen=(...s)=>(!e.lc&&!e.active&&(e.active=!0,r()),i(...s));let o=e.off;return e.events[p0]=[],e.off=()=>{o(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let s of e.events[p0])s();e.events[p0]=[]}},kue)},()=>{e.listen=i,e.off=o}}),Mue=(e,t)=>{Array.isArray(e)||(e=[e]);let n,r=()=>{let o=e.map(s=>s.get());(n===void 0||o.some((s,a)=>s!==n[a]))&&(n=o,i.set(t(...o)))},i=gm(void 0,Math.max(...e.map(o=>o.l))+1);return Iue(i,()=>{let o=e.map(s=>s.listen(r,i.l));return r(),()=>{for(let s of o)s()}}),i};const Nue={"Content-Type":"application/json"},Lue=/\/*$/;function Due(e){const t=new URLSearchParams;if(e&&typeof e=="object")for(const[n,r]of Object.entries(e))r!=null&&t.set(n,r);return t.toString()}function $ue(e){return JSON.stringify(e)}function Fue(e,t){let n=`${t.baseUrl?t.baseUrl.replace(Lue,""):""}${e}`;if(t.params.path)for(const[r,i]of Object.entries(t.params.path))n=n.replace(`{${r}}`,encodeURIComponent(String(i)));if(t.params.query){const r=t.querySerializer(t.params.query);r&&(n+=`?${r}`)}return n}function Bue(e={}){const{fetch:t=globalThis.fetch,querySerializer:n,bodySerializer:r,...i}=e,o=new Headers({...Nue,...i.headers??{}});async function s(a,l){const{headers:u,body:d,params:f={},parseAs:p="json",querySerializer:g=n??Due,bodySerializer:m=r??$ue,...v}=l||{},x=Fue(a,{baseUrl:i.baseUrl,params:f,querySerializer:g}),_=new Headers(o),b=new Headers(u);for(const[T,E]of b.entries())E==null?_.delete(T):_.set(T,E);const y={redirect:"follow",...i,...v,headers:_};d&&(y.body=m(d)),y.body instanceof FormData&&_.delete("Content-Type");const S=await t(x,y);if(S.status===204||S.headers.get("Content-Length")==="0")return S.ok?{data:{},response:S}:{error:{},response:S};if(S.ok){let T=S.body;if(p!=="stream"){const E=S.clone();T=typeof E[p]=="function"?await E[p]():await E.text()}return{data:T,response:S}}let C={};try{C=await S.clone().json()}catch{C=await S.clone().text()}return{error:C,response:S}}return{async get(a,l){return s(a,{...l,method:"GET"})},async put(a,l){return s(a,{...l,method:"PUT"})},async post(a,l){return s(a,{...l,method:"POST"})},async del(a,l){return s(a,{...l,method:"DELETE"})},async options(a,l){return s(a,{...l,method:"OPTIONS"})},async head(a,l){return s(a,{...l,method:"HEAD"})},async patch(a,l){return s(a,{...l,method:"PATCH"})},async trace(a,l){return s(a,{...l,method:"TRACE"})}}}const Sg=gm(),wg=gm(),S1=gm(),sb=Mue([Sg,wg,S1],(e,t,n)=>Bue({headers:{...e?{Authorization:`Bearer ${e}`}:{},...n?{"project-id":n}:{}},baseUrl:`${t??""}`})),Ir=Bl("api/sessionCreated",async(e,{rejectWithValue:t})=>{const{graph:n}=e,{post:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{body:n});return o?t({arg:e,status:s.status,error:o}):i}),Uue=e=>Pi(e)&&"status"in e,mm=Bl("api/sessionInvoked",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{put:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{query:{all:!0},path:{session_id:n}}});if(o)return Uue(o)&&o.status===403?t({arg:e,status:s.status,error:o.body.detail}):t({arg:e,status:s.status,error:o})}),mc=Bl("api/sessionCanceled",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{del:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{path:{session_id:n}}});return o?t({arg:e,error:o}):i});Bl("api/listSessions",async(e,{rejectWithValue:t})=>{const{params:n}=e,{get:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{params:n});return o?t({arg:e,error:o}):i});const i$=Co(Ir.rejected,mm.rejected),td=(e,t,n,r,i,o,s)=>{const a=Math.floor(e/2-(n+i/2)*s),l=Math.floor(t/2-(r+o/2)*s);return{x:a,y:l}},nd=(e,t,n,r,i=.95)=>{const o=e*i/n,s=t*i/r;return Math.min(1,Math.min(o,s))},vOe=.999,_Oe=.1,bOe=20,zh=.95,SOe=30,wOe=10,L9=e=>({x:Math.floor(e.x),y:Math.floor(e.y)}),bu=e=>{const{width:t,height:n}=e,r={width:t,height:n},i=512*512,o=t/n;let s=t*n,a=448;for(;s1?(r.width=a,r.height=Ss(a/o,64)):o<1&&(r.height=a,r.width=Ss(a*o,64)),s=r.width*r.height;return r},zue=e=>({width:Ss(e.width,64),height:Ss(e.height,64)}),xOe=[{label:"Base",value:"base"},{label:"Mask",value:"mask"}],COe=[{label:"Auto",value:"auto"},{label:"Manual",value:"manual"},{label:"None",value:"none"}],o$=e=>e.kind==="line"&&e.layer==="mask",TOe=e=>e.kind==="line"&&e.layer==="base",D9=e=>e.kind==="image"&&e.layer==="base",EOe=e=>e.kind==="fillRect"&&e.layer==="base",AOe=e=>e.kind==="eraseRect"&&e.layer==="base",Vue=e=>e.kind==="line",vd={objects:[],stagingArea:{images:[],selectedImageIndex:-1}},s$={boundingBoxCoordinates:{x:0,y:0},boundingBoxDimensions:{width:512,height:512},boundingBoxPreviewFill:{r:0,g:0,b:0,a:.5},boundingBoxScaleMethod:"auto",brushColor:{r:90,g:90,b:255,a:1},brushSize:50,canvasContainerDimensions:{width:0,height:0},colorPickerColor:{r:90,g:90,b:255,a:1},cursorPosition:null,doesCanvasNeedScaling:!1,futureLayerStates:[],isCanvasInitialized:!1,isDrawing:!1,isMaskEnabled:!0,isMouseOverBoundingBox:!1,isMoveBoundingBoxKeyHeld:!1,isMoveStageKeyHeld:!1,isMovingBoundingBox:!1,isMovingStage:!1,isTransformingBoundingBox:!1,layer:"base",layerState:vd,maskColor:{r:255,g:90,b:90,a:1},maxHistory:128,minimumStageScale:1,pastLayerStates:[],scaledBoundingBoxDimensions:{width:512,height:512},shouldAntialias:!0,shouldAutoSave:!1,shouldCropToBoundingBoxOnSave:!1,shouldDarkenOutsideBoundingBox:!1,shouldLockBoundingBox:!1,shouldPreserveMaskedArea:!1,shouldRestrictStrokesToBox:!0,shouldShowBoundingBox:!0,shouldShowBrush:!0,shouldShowBrushPreview:!1,shouldShowCanvasDebugInfo:!1,shouldShowCheckboardTransparency:!1,shouldShowGrid:!0,shouldShowIntermediates:!0,shouldShowStagingImage:!0,shouldShowStagingOutline:!0,shouldSnapToGrid:!0,stageCoordinates:{x:0,y:0},stageDimensions:{width:0,height:0},stageScale:1,tool:"brush"},a$=yn({name:"canvas",initialState:s$,reducers:{setTool:(e,t)=>{const n=t.payload;e.tool=t.payload,n!=="move"&&(e.isTransformingBoundingBox=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1)},setLayer:(e,t)=>{e.layer=t.payload},toggleTool:e=>{const t=e.tool;t!=="move"&&(e.tool=t==="brush"?"eraser":"brush")},setMaskColor:(e,t)=>{e.maskColor=t.payload},setBrushColor:(e,t)=>{e.brushColor=t.payload},setBrushSize:(e,t)=>{e.brushSize=t.payload},clearMask:e=>{e.pastLayerStates.push(Ur(e.layerState)),e.layerState.objects=e.layerState.objects.filter(t=>!o$(t)),e.futureLayerStates=[],e.shouldPreserveMaskedArea=!1},toggleShouldInvertMask:e=>{e.shouldPreserveMaskedArea=!e.shouldPreserveMaskedArea},toggleShouldShowMask:e=>{e.isMaskEnabled=!e.isMaskEnabled},setShouldPreserveMaskedArea:(e,t)=>{e.shouldPreserveMaskedArea=t.payload},setIsMaskEnabled:(e,t)=>{e.isMaskEnabled=t.payload,e.layer=t.payload?"mask":"base"},setShouldShowCheckboardTransparency:(e,t)=>{e.shouldShowCheckboardTransparency=t.payload},setShouldShowBrushPreview:(e,t)=>{e.shouldShowBrushPreview=t.payload},setShouldShowBrush:(e,t)=>{e.shouldShowBrush=t.payload},setCursorPosition:(e,t)=>{e.cursorPosition=t.payload},setInitialCanvasImage:(e,t)=>{const n=t.payload,{width:r,height:i}=n,{stageDimensions:o}=e,s={width:f0(bl(r,64,512),64),height:f0(bl(i,64,512),64)},a={x:Ss(r/2-s.width/2,64),y:Ss(i/2-s.height/2,64)};if(e.boundingBoxScaleMethod==="auto"){const d=bu(s);e.scaledBoundingBoxDimensions=d}e.boundingBoxDimensions=s,e.boundingBoxCoordinates=a,e.pastLayerStates.push(Ur(e.layerState)),e.layerState={...vd,objects:[{kind:"image",layer:"base",x:0,y:0,width:r,height:i,imageName:n.image_name}]},e.futureLayerStates=[],e.isCanvasInitialized=!1;const l=nd(o.width,o.height,r,i,zh),u=td(o.width,o.height,0,0,r,i,l);e.stageScale=l,e.stageCoordinates=u,e.doesCanvasNeedScaling=!0},setBoundingBoxDimensions:(e,t)=>{const n=zue(t.payload);if(e.boundingBoxDimensions=n,e.boundingBoxScaleMethod==="auto"){const r=bu(n);e.scaledBoundingBoxDimensions=r}},flipBoundingBoxAxes:e=>{const[t,n]=[e.boundingBoxDimensions.width,e.boundingBoxDimensions.height];e.boundingBoxDimensions={width:n,height:t}},setBoundingBoxCoordinates:(e,t)=>{e.boundingBoxCoordinates=L9(t.payload)},setStageCoordinates:(e,t)=>{e.stageCoordinates=t.payload},setBoundingBoxPreviewFill:(e,t)=>{e.boundingBoxPreviewFill=t.payload},setDoesCanvasNeedScaling:(e,t)=>{e.doesCanvasNeedScaling=t.payload},setStageScale:(e,t)=>{e.stageScale=t.payload},setShouldDarkenOutsideBoundingBox:(e,t)=>{e.shouldDarkenOutsideBoundingBox=t.payload},setIsDrawing:(e,t)=>{e.isDrawing=t.payload},clearCanvasHistory:e=>{e.pastLayerStates=[],e.futureLayerStates=[]},setShouldLockBoundingBox:(e,t)=>{e.shouldLockBoundingBox=t.payload},toggleShouldLockBoundingBox:e=>{e.shouldLockBoundingBox=!e.shouldLockBoundingBox},setShouldShowBoundingBox:(e,t)=>{e.shouldShowBoundingBox=t.payload},setIsTransformingBoundingBox:(e,t)=>{e.isTransformingBoundingBox=t.payload},setIsMovingBoundingBox:(e,t)=>{e.isMovingBoundingBox=t.payload},setIsMouseOverBoundingBox:(e,t)=>{e.isMouseOverBoundingBox=t.payload},setIsMoveBoundingBoxKeyHeld:(e,t)=>{e.isMoveBoundingBoxKeyHeld=t.payload},setIsMoveStageKeyHeld:(e,t)=>{e.isMoveStageKeyHeld=t.payload},canvasSessionIdChanged:(e,t)=>{e.layerState.stagingArea.sessionId=t.payload},stagingAreaInitialized:(e,t)=>{const{sessionId:n,boundingBox:r}=t.payload;e.layerState.stagingArea={boundingBox:r,sessionId:n,images:[],selectedImageIndex:-1}},addImageToStagingArea:(e,t)=>{const n=t.payload;!n||!e.layerState.stagingArea.boundingBox||(e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea.images.push({kind:"image",layer:"base",...e.layerState.stagingArea.boundingBox,imageName:n.image_name}),e.layerState.stagingArea.selectedImageIndex=e.layerState.stagingArea.images.length-1,e.futureLayerStates=[])},discardStagedImages:e=>{e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea={...vd.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingOutline=!0},addFillRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,brushColor:r}=e;e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"fillRect",layer:"base",...t,...n,color:r}),e.futureLayerStates=[]},addEraseRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n}=e;e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"eraseRect",layer:"base",...t,...n}),e.futureLayerStates=[]},addLine:(e,t)=>{const{tool:n,layer:r,brushColor:i,brushSize:o,shouldRestrictStrokesToBox:s}=e;if(n==="move"||n==="colorPicker")return;const a=o/2,l=r==="base"&&n==="brush"?{color:i}:{};e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const u={kind:"line",layer:r,tool:n,strokeWidth:a,points:t.payload,...l};s&&(u.clip={...e.boundingBoxCoordinates,...e.boundingBoxDimensions}),e.layerState.objects.push(u),e.futureLayerStates=[]},addPointToCurrentLine:(e,t)=>{const n=e.layerState.objects.findLast(Vue);n&&n.points.push(...t.payload)},undo:e=>{const t=e.pastLayerStates.pop();t&&(e.futureLayerStates.unshift(Ur(e.layerState)),e.futureLayerStates.length>e.maxHistory&&e.futureLayerStates.pop(),e.layerState=t)},redo:e=>{const t=e.futureLayerStates.shift();t&&(e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState=t)},setShouldShowGrid:(e,t)=>{e.shouldShowGrid=t.payload},setIsMovingStage:(e,t)=>{e.isMovingStage=t.payload},setShouldSnapToGrid:(e,t)=>{e.shouldSnapToGrid=t.payload},setShouldAutoSave:(e,t)=>{e.shouldAutoSave=t.payload},setShouldShowIntermediates:(e,t)=>{e.shouldShowIntermediates=t.payload},resetCanvas:e=>{e.pastLayerStates.push(Ur(e.layerState)),e.layerState=vd,e.futureLayerStates=[]},setCanvasContainerDimensions:(e,t)=>{e.canvasContainerDimensions=t.payload},resizeAndScaleCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r=e.layerState.objects.find(D9),i={width:Math.floor(t),height:Math.floor(n)};if(!r){const d=nd(i.width,i.height,512,512,zh),f=td(i.width,i.height,0,0,512,512,d),p={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=f,e.stageDimensions=i,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=p,e.boundingBoxScaleMethod==="auto"){const g=bu(p);e.scaledBoundingBoxDimensions=g}return}const{width:o,height:s}=r,l=nd(t,n,o,s,.95),u=td(i.width,i.height,0,0,o,s,l);e.minimumStageScale=l,e.stageScale=l,e.stageCoordinates=L9(u),e.stageDimensions=i,e.isCanvasInitialized=!0},resizeCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r={width:Math.floor(t),height:Math.floor(n)};if(e.stageDimensions=r,!e.layerState.objects.find(D9)){const i=nd(r.width,r.height,512,512,zh),o=td(r.width,r.height,0,0,512,512,i),s={width:512,height:512};if(e.stageScale=i,e.stageCoordinates=o,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=s,e.boundingBoxScaleMethod==="auto"){const a=bu(s);e.scaledBoundingBoxDimensions=a}}},resetCanvasView:(e,t)=>{const{contentRect:n,shouldScaleTo1:r}=t.payload,{stageDimensions:{width:i,height:o}}=e,{x:s,y:a,width:l,height:u}=n;if(l!==0&&u!==0){const d=r?1:nd(i,o,l,u,zh),f=td(i,o,s,a,l,u,d);e.stageScale=d,e.stageCoordinates=f}else{const d=nd(i,o,512,512,zh),f=td(i,o,0,0,512,512,d),p={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=f,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=p,e.boundingBoxScaleMethod==="auto"){const g=bu(p);e.scaledBoundingBoxDimensions=g}}},nextStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex,n=e.layerState.stagingArea.images.length;e.layerState.stagingArea.selectedImageIndex=Math.min(t+1,n-1)},prevStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex;e.layerState.stagingArea.selectedImageIndex=Math.max(t-1,0)},commitStagingAreaImage:(e,t)=>{if(!e.layerState.stagingArea.images.length)return;const{images:n,selectedImageIndex:r}=e.layerState.stagingArea;e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const i=n[r];i&&e.layerState.objects.push({...i}),e.layerState.stagingArea={...vd.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingImage=!0},fitBoundingBoxToStage:e=>{const{boundingBoxDimensions:t,boundingBoxCoordinates:n,stageDimensions:r,stageScale:i}=e,o=r.width/i,s=r.height/i;if(n.x<0||n.x+t.width>o||n.y<0||n.y+t.height>s){const a={width:f0(bl(o,64,512),64),height:f0(bl(s,64,512),64)},l={x:Ss(o/2-a.width/2,64),y:Ss(s/2-a.height/2,64)};if(e.boundingBoxDimensions=a,e.boundingBoxCoordinates=l,e.boundingBoxScaleMethod==="auto"){const u=bu(a);e.scaledBoundingBoxDimensions=u}}},setBoundingBoxScaleMethod:(e,t)=>{if(e.boundingBoxScaleMethod=t.payload,t.payload==="auto"){const n=bu(e.boundingBoxDimensions);e.scaledBoundingBoxDimensions=n}},setScaledBoundingBoxDimensions:(e,t)=>{e.scaledBoundingBoxDimensions=t.payload},setShouldShowStagingImage:(e,t)=>{e.shouldShowStagingImage=t.payload},setShouldShowStagingOutline:(e,t)=>{e.shouldShowStagingOutline=t.payload},setShouldShowCanvasDebugInfo:(e,t)=>{e.shouldShowCanvasDebugInfo=t.payload},setShouldRestrictStrokesToBox:(e,t)=>{e.shouldRestrictStrokesToBox=t.payload},setShouldAntialias:(e,t)=>{e.shouldAntialias=t.payload},setShouldCropToBoundingBoxOnSave:(e,t)=>{e.shouldCropToBoundingBoxOnSave=t.payload},setColorPickerColor:(e,t)=>{e.colorPickerColor=t.payload},commitColorPickerColor:e=>{e.brushColor={...e.colorPickerColor,a:e.brushColor.a},e.tool="brush"},setMergedCanvas:(e,t)=>{e.pastLayerStates.push(Ur(e.layerState)),e.futureLayerStates=[],e.layerState.objects=[t.payload]},resetCanvasInteractionState:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMoveBoundingBoxKeyHeld=!1,e.isMoveStageKeyHeld=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1,e.isTransformingBoundingBox=!1},mouseLeftCanvas:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isTransformingBoundingBox=!1}},extraReducers:e=>{e.addCase(mc.pending,t=>{t.layerState.stagingArea.images.length||(t.layerState.stagingArea=vd.stagingArea)}),e.addCase(Aue,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(r$,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(Tue,(t,n)=>{const r=n.payload;r&&(t.boundingBoxDimensions.height=Ss(t.boundingBoxDimensions.width/r,64))})}}),{addEraseRect:POe,addFillRect:ROe,addImageToStagingArea:jue,addLine:OOe,addPointToCurrentLine:kOe,clearCanvasHistory:IOe,clearMask:MOe,commitColorPickerColor:NOe,commitStagingAreaImage:Gue,discardStagedImages:LOe,fitBoundingBoxToStage:DOe,mouseLeftCanvas:$Oe,nextStagingAreaImage:FOe,prevStagingAreaImage:BOe,redo:UOe,resetCanvas:wT,resetCanvasInteractionState:zOe,resetCanvasView:VOe,resizeAndScaleCanvas:jOe,resizeCanvas:GOe,setBoundingBoxCoordinates:HOe,setBoundingBoxDimensions:WOe,setBoundingBoxPreviewFill:qOe,setBoundingBoxScaleMethod:KOe,flipBoundingBoxAxes:XOe,setBrushColor:YOe,setBrushSize:QOe,setCanvasContainerDimensions:ZOe,setColorPickerColor:JOe,setCursorPosition:eke,setDoesCanvasNeedScaling:tke,setInitialCanvasImage:l$,setIsDrawing:nke,setIsMaskEnabled:rke,setIsMouseOverBoundingBox:ike,setIsMoveBoundingBoxKeyHeld:oke,setIsMoveStageKeyHeld:ske,setIsMovingBoundingBox:ake,setIsMovingStage:lke,setIsTransformingBoundingBox:uke,setLayer:cke,setMaskColor:dke,setMergedCanvas:Hue,setShouldAutoSave:fke,setShouldCropToBoundingBoxOnSave:hke,setShouldDarkenOutsideBoundingBox:pke,setShouldLockBoundingBox:gke,setShouldPreserveMaskedArea:mke,setShouldShowBoundingBox:yke,setShouldShowBrush:vke,setShouldShowBrushPreview:_ke,setShouldShowCanvasDebugInfo:bke,setShouldShowCheckboardTransparency:Ske,setShouldShowGrid:wke,setShouldShowIntermediates:xke,setShouldShowStagingImage:Cke,setShouldShowStagingOutline:Tke,setShouldSnapToGrid:Eke,setStageCoordinates:Ake,setStageScale:Pke,setTool:Rke,toggleShouldLockBoundingBox:Oke,toggleTool:kke,undo:Ike,setScaledBoundingBoxDimensions:Mke,setShouldRestrictStrokesToBox:Nke,stagingAreaInitialized:Wue,canvasSessionIdChanged:que,setShouldAntialias:Lke}=a$.actions,Kue=a$.reducer,Vr=["general"],Sl=["control","mask","user","other"],Xue=100,$9=20;var w1={exports:{}};/** +`+o.stack}return{value:e,source:t,stack:i,digest:null}}function Kw(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function KC(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var WZ=typeof WeakMap=="function"?WeakMap:Map;function sN(e,t,n){n=va(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Jv||(Jv=!0,i3=r),KC(e,t)},n}function aN(e,t,n){n=va(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var i=t.value;n.payload=function(){return r(i)},n.callback=function(){KC(e,t)}}var o=e.stateNode;return o!==null&&typeof o.componentDidCatch=="function"&&(n.callback=function(){KC(e,t),typeof r!="function"&&(Pl===null?Pl=new Set([this]):Pl.add(this));var s=t.stack;this.componentDidCatch(t.value,{componentStack:s!==null?s:""})}),n}function m8(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new WZ;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(i.add(n),e=sJ.bind(null,e,t,n),t.then(e,e))}function y8(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function v8(e,t,n,r,i){return e.mode&1?(e.flags|=65536,e.lanes=i,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=va(-1,1),t.tag=2,Al(n,t,1))),n.lanes|=1),e)}var qZ=Ma.ReactCurrentOwner,Si=!1;function ri(e,t,n,r){t.child=e===null?BM(t,null,n,r):hf(t,e.child,n,r)}function _8(e,t,n,r,i){n=n.render;var o=t.ref;return Hd(t,i),r=R4(e,t,n,r,o,i),n=O4(),e!==null&&!Si?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Pa(e,t,i)):(cn&&n&&y4(t),t.flags|=1,ri(e,t,r,i),t.child)}function b8(e,t,n,r,i){if(e===null){var o=n.type;return typeof o=="function"&&!U4(o)&&o.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=o,lN(e,t,o,r,i)):(e=av(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(o=e.child,!(e.lanes&i)){var s=o.memoizedProps;if(n=n.compare,n=n!==null?n:Gp,n(s,r)&&e.ref===t.ref)return Pa(e,t,i)}return t.flags|=1,e=Ol(o,r),e.ref=t.ref,e.return=t,t.child=e}function lN(e,t,n,r,i){if(e!==null){var o=e.memoizedProps;if(Gp(o,r)&&e.ref===t.ref)if(Si=!1,t.pendingProps=r=o,(e.lanes&i)!==0)e.flags&131072&&(Si=!0);else return t.lanes=e.lanes,Pa(e,t,i)}return XC(e,t,n,r,i)}function uN(e,t,n){var r=t.pendingProps,i=r.children,o=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Zt(Nd,zi),zi|=n;else{if(!(n&1073741824))return e=o!==null?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Zt(Nd,zi),zi|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=o!==null?o.baseLanes:n,Zt(Nd,zi),zi|=r}else o!==null?(r=o.baseLanes|n,t.memoizedState=null):r=n,Zt(Nd,zi),zi|=r;return ri(e,t,i,n),t.child}function cN(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function XC(e,t,n,r,i){var o=Ti(n)?Xu:Hr.current;return o=df(t,o),Hd(t,i),n=R4(e,t,n,r,o,i),r=O4(),e!==null&&!Si?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Pa(e,t,i)):(cn&&r&&y4(t),t.flags|=1,ri(e,t,n,i),t.child)}function S8(e,t,n,r,i){if(Ti(n)){var o=!0;jv(t)}else o=!1;if(Hd(t,i),t.stateNode===null)iv(e,t),$M(t,n,r),qC(t,n,r,i),r=!0;else if(e===null){var s=t.stateNode,a=t.memoizedProps;s.props=a;var l=s.context,u=n.contextType;typeof u=="object"&&u!==null?u=So(u):(u=Ti(n)?Xu:Hr.current,u=df(t,u));var d=n.getDerivedStateFromProps,f=typeof d=="function"||typeof s.getSnapshotBeforeUpdate=="function";f||typeof s.UNSAFE_componentWillReceiveProps!="function"&&typeof s.componentWillReceiveProps!="function"||(a!==r||l!==u)&&f8(t,s,r,u),ul=!1;var p=t.memoizedState;s.state=p,Kv(t,r,s,i),l=t.memoizedState,a!==r||p!==l||Ci.current||ul?(typeof d=="function"&&(WC(t,n,d,r),l=t.memoizedState),(a=ul||d8(t,n,a,r,p,l,u))?(f||typeof s.UNSAFE_componentWillMount!="function"&&typeof s.componentWillMount!="function"||(typeof s.componentWillMount=="function"&&s.componentWillMount(),typeof s.UNSAFE_componentWillMount=="function"&&s.UNSAFE_componentWillMount()),typeof s.componentDidMount=="function"&&(t.flags|=4194308)):(typeof s.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),s.props=r,s.state=l,s.context=u,r=a):(typeof s.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{s=t.stateNode,LM(e,t),a=t.memoizedProps,u=t.type===t.elementType?a:Fo(t.type,a),s.props=u,f=t.pendingProps,p=s.context,l=n.contextType,typeof l=="object"&&l!==null?l=So(l):(l=Ti(n)?Xu:Hr.current,l=df(t,l));var g=n.getDerivedStateFromProps;(d=typeof g=="function"||typeof s.getSnapshotBeforeUpdate=="function")||typeof s.UNSAFE_componentWillReceiveProps!="function"&&typeof s.componentWillReceiveProps!="function"||(a!==f||p!==l)&&f8(t,s,r,l),ul=!1,p=t.memoizedState,s.state=p,Kv(t,r,s,i);var m=t.memoizedState;a!==f||p!==m||Ci.current||ul?(typeof g=="function"&&(WC(t,n,g,r),m=t.memoizedState),(u=ul||d8(t,n,u,r,p,m,l)||!1)?(d||typeof s.UNSAFE_componentWillUpdate!="function"&&typeof s.componentWillUpdate!="function"||(typeof s.componentWillUpdate=="function"&&s.componentWillUpdate(r,m,l),typeof s.UNSAFE_componentWillUpdate=="function"&&s.UNSAFE_componentWillUpdate(r,m,l)),typeof s.componentDidUpdate=="function"&&(t.flags|=4),typeof s.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof s.componentDidUpdate!="function"||a===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof s.getSnapshotBeforeUpdate!="function"||a===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),s.props=r,s.state=m,s.context=l,r=u):(typeof s.componentDidUpdate!="function"||a===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof s.getSnapshotBeforeUpdate!="function"||a===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),r=!1)}return YC(e,t,n,r,o,i)}function YC(e,t,n,r,i,o){cN(e,t);var s=(t.flags&128)!==0;if(!r&&!s)return i&&s8(t,n,!1),Pa(e,t,o);r=t.stateNode,qZ.current=t;var a=s&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&s?(t.child=hf(t,e.child,null,o),t.child=hf(t,null,a,o)):ri(e,t,a,o),t.memoizedState=r.state,i&&s8(t,n,!0),t.child}function dN(e){var t=e.stateNode;t.pendingContext?o8(e,t.pendingContext,t.pendingContext!==t.context):t.context&&o8(e,t.context,!1),T4(e,t.containerInfo)}function w8(e,t,n,r,i){return ff(),_4(i),t.flags|=256,ri(e,t,n,r),t.child}var QC={dehydrated:null,treeContext:null,retryLane:0};function ZC(e){return{baseLanes:e,cachePool:null,transitions:null}}function fN(e,t,n){var r=t.pendingProps,i=mn.current,o=!1,s=(t.flags&128)!==0,a;if((a=s)||(a=e!==null&&e.memoizedState===null?!1:(i&2)!==0),a?(o=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(i|=1),Zt(mn,i&1),e===null)return GC(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(s=r.children,e=r.fallback,o?(r=t.mode,o=t.child,s={mode:"hidden",children:s},!(r&1)&&o!==null?(o.childLanes=0,o.pendingProps=s):o=N_(s,r,0,null),e=Vu(e,r,n,null),o.return=t,e.return=t,o.sibling=e,t.child=o,t.child.memoizedState=ZC(n),t.memoizedState=QC,e):M4(t,s));if(i=e.memoizedState,i!==null&&(a=i.dehydrated,a!==null))return KZ(e,t,s,r,a,i,n);if(o){o=r.fallback,s=t.mode,i=e.child,a=i.sibling;var l={mode:"hidden",children:r.children};return!(s&1)&&t.child!==i?(r=t.child,r.childLanes=0,r.pendingProps=l,t.deletions=null):(r=Ol(i,l),r.subtreeFlags=i.subtreeFlags&14680064),a!==null?o=Ol(a,o):(o=Vu(o,s,n,null),o.flags|=2),o.return=t,r.return=t,r.sibling=o,t.child=r,r=o,o=t.child,s=e.child.memoizedState,s=s===null?ZC(n):{baseLanes:s.baseLanes|n,cachePool:null,transitions:s.transitions},o.memoizedState=s,o.childLanes=e.childLanes&~n,t.memoizedState=QC,r}return o=e.child,e=o.sibling,r=Ol(o,{mode:"visible",children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function M4(e,t){return t=N_({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function a0(e,t,n,r){return r!==null&&_4(r),hf(t,e.child,null,n),e=M4(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function KZ(e,t,n,r,i,o,s){if(n)return t.flags&256?(t.flags&=-257,r=Kw(Error(ge(422))),a0(e,t,s,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(o=r.fallback,i=t.mode,r=N_({mode:"visible",children:r.children},i,0,null),o=Vu(o,i,s,null),o.flags|=2,r.return=t,o.return=t,r.sibling=o,t.child=r,t.mode&1&&hf(t,e.child,null,s),t.child.memoizedState=ZC(s),t.memoizedState=QC,o);if(!(t.mode&1))return a0(e,t,s,null);if(i.data==="$!"){if(r=i.nextSibling&&i.nextSibling.dataset,r)var a=r.dgst;return r=a,o=Error(ge(419)),r=Kw(o,r,void 0),a0(e,t,s,r)}if(a=(s&e.childLanes)!==0,Si||a){if(r=pr,r!==null){switch(s&-s){case 4:i=2;break;case 16:i=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:i=32;break;case 536870912:i=268435456;break;default:i=0}i=i&(r.suspendedLanes|s)?0:i,i!==0&&i!==o.retryLane&&(o.retryLane=i,Aa(e,i),qo(r,e,i,-1))}return B4(),r=Kw(Error(ge(421))),a0(e,t,s,r)}return i.data==="$?"?(t.flags|=128,t.child=e.child,t=aJ.bind(null,e),i._reactRetry=t,null):(e=o.treeContext,ji=El(i.nextSibling),Gi=t,cn=!0,Vo=null,e!==null&&(go[mo++]=pa,go[mo++]=ga,go[mo++]=Yu,pa=e.id,ga=e.overflow,Yu=t),t=M4(t,r.children),t.flags|=4096,t)}function x8(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),HC(e.return,t,n)}function Xw(e,t,n,r,i){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i)}function hN(e,t,n){var r=t.pendingProps,i=r.revealOrder,o=r.tail;if(ri(e,t,r.children,n),r=mn.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&x8(e,n,t);else if(e.tag===19)x8(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Zt(mn,r),!(t.mode&1))t.memoizedState=null;else switch(i){case"forwards":for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&Xv(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Xw(t,!1,i,n,o);break;case"backwards":for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&Xv(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Xw(t,!0,n,null,o);break;case"together":Xw(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function iv(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Pa(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Zu|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(ge(153));if(t.child!==null){for(e=t.child,n=Ol(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Ol(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function XZ(e,t,n){switch(t.tag){case 3:dN(t),ff();break;case 5:UM(t);break;case 1:Ti(t.type)&&jv(t);break;case 4:T4(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,i=t.memoizedProps.value;Zt(Wv,r._currentValue),r._currentValue=i;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(Zt(mn,mn.current&1),t.flags|=128,null):n&t.child.childLanes?fN(e,t,n):(Zt(mn,mn.current&1),e=Pa(e,t,n),e!==null?e.sibling:null);Zt(mn,mn.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return hN(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),Zt(mn,mn.current),r)break;return null;case 22:case 23:return t.lanes=0,uN(e,t,n)}return Pa(e,t,n)}var pN,JC,gN,mN;pN=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};JC=function(){};gN=function(e,t,n,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,Lu(As.current);var o=null;switch(n){case"input":i=SC(e,i),r=SC(e,r),o=[];break;case"select":i=bn({},i,{value:void 0}),r=bn({},r,{value:void 0}),o=[];break;case"textarea":i=CC(e,i),r=CC(e,r),o=[];break;default:typeof i.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=zv)}EC(n,r);var s;n=null;for(u in i)if(!r.hasOwnProperty(u)&&i.hasOwnProperty(u)&&i[u]!=null)if(u==="style"){var a=i[u];for(s in a)a.hasOwnProperty(s)&&(n||(n={}),n[s]="")}else u!=="dangerouslySetInnerHTML"&&u!=="children"&&u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&($p.hasOwnProperty(u)?o||(o=[]):(o=o||[]).push(u,null));for(u in r){var l=r[u];if(a=i!=null?i[u]:void 0,r.hasOwnProperty(u)&&l!==a&&(l!=null||a!=null))if(u==="style")if(a){for(s in a)!a.hasOwnProperty(s)||l&&l.hasOwnProperty(s)||(n||(n={}),n[s]="");for(s in l)l.hasOwnProperty(s)&&a[s]!==l[s]&&(n||(n={}),n[s]=l[s])}else n||(o||(o=[]),o.push(u,n)),n=l;else u==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,a=a?a.__html:void 0,l!=null&&a!==l&&(o=o||[]).push(u,l)):u==="children"?typeof l!="string"&&typeof l!="number"||(o=o||[]).push(u,""+l):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&($p.hasOwnProperty(u)?(l!=null&&u==="onScroll"&&en("scroll",e),o||a===l||(o=[])):(o=o||[]).push(u,l))}n&&(o=o||[]).push("style",n);var u=o;(t.updateQueue=u)&&(t.flags|=4)}};mN=function(e,t,n,r){n!==r&&(t.flags|=4)};function Fh(e,t){if(!cn)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Fr(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&14680064,r|=i.flags&14680064,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function YZ(e,t,n){var r=t.pendingProps;switch(v4(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Fr(t),null;case 1:return Ti(t.type)&&Vv(),Fr(t),null;case 3:return r=t.stateNode,pf(),rn(Ci),rn(Hr),A4(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(o0(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Vo!==null&&(a3(Vo),Vo=null))),JC(e,t),Fr(t),null;case 5:E4(t);var i=Lu(Xp.current);if(n=t.type,e!==null&&t.stateNode!=null)gN(e,t,n,r,i),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(ge(166));return Fr(t),null}if(e=Lu(As.current),o0(t)){r=t.stateNode,n=t.type;var o=t.memoizedProps;switch(r[_s]=t,r[qp]=o,e=(t.mode&1)!==0,n){case"dialog":en("cancel",r),en("close",r);break;case"iframe":case"object":case"embed":en("load",r);break;case"video":case"audio":for(i=0;i<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[_s]=t,e[qp]=r,pN(e,t,!1,!1),t.stateNode=e;e:{switch(s=AC(n,r),n){case"dialog":en("cancel",e),en("close",e),i=r;break;case"iframe":case"object":case"embed":en("load",e),i=r;break;case"video":case"audio":for(i=0;imf&&(t.flags|=128,r=!0,Fh(o,!1),t.lanes=4194304)}else{if(!r)if(e=Xv(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Fh(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!cn)return Fr(t),null}else 2*Mn()-o.renderingStartTime>mf&&n!==1073741824&&(t.flags|=128,r=!0,Fh(o,!1),t.lanes=4194304);o.isBackwards?(s.sibling=t.child,t.child=s):(n=o.last,n!==null?n.sibling=s:t.child=s,o.last=s)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Mn(),t.sibling=null,n=mn.current,Zt(mn,r?n&1|2:n&1),t):(Fr(t),null);case 22:case 23:return F4(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?zi&1073741824&&(Fr(t),t.subtreeFlags&6&&(t.flags|=8192)):Fr(t),null;case 24:return null;case 25:return null}throw Error(ge(156,t.tag))}function QZ(e,t){switch(v4(t),t.tag){case 1:return Ti(t.type)&&Vv(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return pf(),rn(Ci),rn(Hr),A4(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return E4(t),null;case 13:if(rn(mn),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(ge(340));ff()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return rn(mn),null;case 4:return pf(),null;case 10:return w4(t.type._context),null;case 22:case 23:return F4(),null;case 24:return null;default:return null}}var l0=!1,jr=!1,ZZ=typeof WeakSet=="function"?WeakSet:Set,Ae=null;function Md(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Tn(e,t,r)}else n.current=null}function e3(e,t,n){try{n()}catch(r){Tn(e,t,r)}}var C8=!1;function JZ(e,t){if($C=Fv,e=bM(),m4(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,a=-1,l=-1,u=0,d=0,f=e,p=null;t:for(;;){for(var g;f!==n||i!==0&&f.nodeType!==3||(a=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(g=f.firstChild)!==null;)p=f,f=g;for(;;){if(f===e)break t;if(p===n&&++u===i&&(a=s),p===o&&++d===r&&(l=s),(g=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=g}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(FC={focusedElem:e,selectionRange:n},Fv=!1,Ae=t;Ae!==null;)if(t=Ae,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Ae=e;else for(;Ae!==null;){t=Ae;try{var m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var v=m.memoizedProps,x=m.memoizedState,_=t.stateNode,b=_.getSnapshotBeforeUpdate(t.elementType===t.type?v:Fo(t.type,v),x);_.__reactInternalSnapshotBeforeUpdate=b}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent="":y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(ge(163))}}catch(S){Tn(t,t.return,S)}if(e=t.sibling,e!==null){e.return=t.return,Ae=e;break}Ae=t.return}return m=C8,C8=!1,m}function wp(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&e3(t,n,o)}i=i.next}while(i!==r)}}function I_(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==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 t3(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function yN(e){var t=e.alternate;t!==null&&(e.alternate=null,yN(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[_s],delete t[qp],delete t[zC],delete t[LZ],delete t[DZ])),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 vN(e){return e.tag===5||e.tag===3||e.tag===4}function T8(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||vN(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function n3(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=zv));else if(r!==4&&(e=e.child,e!==null))for(n3(e,t,n),e=e.sibling;e!==null;)n3(e,t,n),e=e.sibling}function r3(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(r3(e,t,n),e=e.sibling;e!==null;)r3(e,t,n),e=e.sibling}var Ar=null,Uo=!1;function tl(e,t,n){for(n=n.child;n!==null;)_N(e,t,n),n=n.sibling}function _N(e,t,n){if(Es&&typeof Es.onCommitFiberUnmount=="function")try{Es.onCommitFiberUnmount(C_,n)}catch{}switch(n.tag){case 5:jr||Md(n,t);case 6:var r=Ar,i=Uo;Ar=null,tl(e,t,n),Ar=r,Uo=i,Ar!==null&&(Uo?(e=Ar,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Ar.removeChild(n.stateNode));break;case 18:Ar!==null&&(Uo?(e=Ar,n=n.stateNode,e.nodeType===8?Vw(e.parentNode,n):e.nodeType===1&&Vw(e,n),Vp(e)):Vw(Ar,n.stateNode));break;case 4:r=Ar,i=Uo,Ar=n.stateNode.containerInfo,Uo=!0,tl(e,t,n),Ar=r,Uo=i;break;case 0:case 11:case 14:case 15:if(!jr&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,s=o.destroy;o=o.tag,s!==void 0&&(o&2||o&4)&&e3(n,t,s),i=i.next}while(i!==r)}tl(e,t,n);break;case 1:if(!jr&&(Md(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){Tn(n,t,a)}tl(e,t,n);break;case 21:tl(e,t,n);break;case 22:n.mode&1?(jr=(r=jr)||n.memoizedState!==null,tl(e,t,n),jr=r):tl(e,t,n);break;default:tl(e,t,n)}}function E8(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new ZZ),t.forEach(function(r){var i=lJ.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Lo(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~o}if(r=i,r=Mn()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*tJ(r/1960))-r,10e?16:e,_l===null)var r=!1;else{if(e=_l,_l=null,e1=0,vt&6)throw Error(ge(331));var i=vt;for(vt|=4,Ae=e.current;Ae!==null;){var o=Ae,s=o.child;if(Ae.flags&16){var a=o.deletions;if(a!==null){for(var l=0;lMn()-D4?zu(e,0):L4|=n),Ei(e,t)}function AN(e,t){t===0&&(e.mode&1?(t=Jy,Jy<<=1,!(Jy&130023424)&&(Jy=4194304)):t=1);var n=oi();e=Aa(e,t),e!==null&&(Qg(e,t,n),Ei(e,n))}function aJ(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),AN(e,n)}function lJ(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(ge(314))}r!==null&&r.delete(t),AN(e,n)}var PN;PN=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Ci.current)Si=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Si=!1,XZ(e,t,n);Si=!!(e.flags&131072)}else Si=!1,cn&&t.flags&1048576&&kM(t,Hv,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;iv(e,t),e=t.pendingProps;var i=df(t,Hr.current);Hd(t,n),i=R4(null,t,r,e,i,n);var o=O4();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ti(r)?(o=!0,jv(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,C4(t),i.updater=O_,t.stateNode=i,i._reactInternals=t,qC(t,r,e,n),t=YC(null,t,r,!0,o,n)):(t.tag=0,cn&&o&&y4(t),ri(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(iv(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=cJ(r),e=Fo(r,e),i){case 0:t=XC(null,t,r,e,n);break e;case 1:t=S8(null,t,r,e,n);break e;case 11:t=_8(null,t,r,e,n);break e;case 14:t=b8(null,t,r,Fo(r.type,e),n);break e}throw Error(ge(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fo(r,i),XC(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fo(r,i),S8(e,t,r,i,n);case 3:e:{if(dN(t),e===null)throw Error(ge(387));r=t.pendingProps,o=t.memoizedState,i=o.element,LM(e,t),Kv(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=gf(Error(ge(423)),t),t=w8(e,t,r,n,i);break e}else if(r!==i){i=gf(Error(ge(424)),t),t=w8(e,t,r,n,i);break e}else for(ji=El(t.stateNode.containerInfo.firstChild),Gi=t,cn=!0,Vo=null,n=BM(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(ff(),r===i){t=Pa(e,t,n);break e}ri(e,t,r,n)}t=t.child}return t;case 5:return UM(t),e===null&&GC(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,s=i.children,BC(r,i)?s=null:o!==null&&BC(r,o)&&(t.flags|=32),cN(e,t),ri(e,t,s,n),t.child;case 6:return e===null&&GC(t),null;case 13:return fN(e,t,n);case 4:return T4(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=hf(t,null,r,n):ri(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fo(r,i),_8(e,t,r,i,n);case 7:return ri(e,t,t.pendingProps,n),t.child;case 8:return ri(e,t,t.pendingProps.children,n),t.child;case 12:return ri(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,s=i.value,Zt(Wv,r._currentValue),r._currentValue=s,o!==null)if(Zo(o.value,s)){if(o.children===i.children&&!Ci.current){t=Pa(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var a=o.dependencies;if(a!==null){s=o.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=va(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),HC(o.return,n,t),a.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(ge(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),HC(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}ri(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Hd(t,n),i=So(i),r=r(i),t.flags|=1,ri(e,t,r,n),t.child;case 14:return r=t.type,i=Fo(r,t.pendingProps),i=Fo(r.type,i),b8(e,t,r,i,n);case 15:return lN(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fo(r,i),iv(e,t),t.tag=1,Ti(r)?(e=!0,jv(t)):e=!1,Hd(t,n),$M(t,r,i),qC(t,r,i,n),YC(null,t,r,!0,e,n);case 19:return hN(e,t,n);case 22:return uN(e,t,n)}throw Error(ge(156,t.tag))};function RN(e,t){return tM(e,t)}function uJ(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 vo(e,t,n,r){return new uJ(e,t,n,r)}function U4(e){return e=e.prototype,!(!e||!e.isReactComponent)}function cJ(e){if(typeof e=="function")return U4(e)?1:0;if(e!=null){if(e=e.$$typeof,e===o4)return 11;if(e===s4)return 14}return 2}function Ol(e,t){var n=e.alternate;return n===null?(n=vo(e.tag,t,e.key,e.mode),n.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=e.flags&14680064,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=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function av(e,t,n,r,i,o){var s=2;if(r=e,typeof e=="function")U4(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case Cd:return Vu(n.children,i,o,t);case i4:s=8,i|=8;break;case yC:return e=vo(12,n,t,i|2),e.elementType=yC,e.lanes=o,e;case vC:return e=vo(13,n,t,i),e.elementType=vC,e.lanes=o,e;case _C:return e=vo(19,n,t,i),e.elementType=_C,e.lanes=o,e;case F7:return N_(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case D7:s=10;break e;case $7:s=9;break e;case o4:s=11;break e;case s4:s=14;break e;case ll:s=16,r=null;break e}throw Error(ge(130,e==null?e:typeof e,""))}return t=vo(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function Vu(e,t,n,r){return e=vo(7,e,r,t),e.lanes=n,e}function N_(e,t,n,r){return e=vo(22,e,r,t),e.elementType=F7,e.lanes=n,e.stateNode={isHidden:!1},e}function Yw(e,t,n){return e=vo(6,e,null,t),e.lanes=n,e}function Qw(e,t,n){return t=vo(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function dJ(e,t,n,r,i){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=kw(0),this.expirationTimes=kw(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=kw(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function z4(e,t,n,r,i,o,s,a,l){return e=new dJ(e,t,n,a,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=vo(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},C4(o),e}function fJ(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(MN)}catch(e){console.error(e)}}MN(),k7.exports=Yi;var bs=k7.exports;const Y9e=dc(bs);var N8=bs;gC.createRoot=N8.createRoot,gC.hydrateRoot=N8.hydrateRoot;const yJ="modulepreload",vJ=function(e,t){return new URL(e,t).href},L8={},NN=function(t,n,r){if(!n||n.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=vJ(o,r),o in L8)return;L8[o]=!0;const s=o.endsWith(".css"),a=s?'[rel="stylesheet"]':"";if(!!r)for(let d=i.length-1;d>=0;d--){const f=i[d];if(f.href===o&&(!s||f.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${a}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":yJ,s||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),s)return new Promise((d,f)=>{u.addEventListener("load",d),u.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t()).catch(o=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o})};function hr(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:B_(e)?2:U_(e)?3:0}function kl(e,t){return Fl(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function lv(e,t){return Fl(e)===2?e.get(t):e[t]}function LN(e,t,n){var r=Fl(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function DN(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function B_(e){return CJ&&e instanceof Map}function U_(e){return TJ&&e instanceof Set}function lr(e){return e.o||e.t}function W4(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=FN(e);delete t[Xe];for(var n=Kd(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=_J),Object.freeze(e),t&&Ra(e,function(n,r){return tm(r,!0)},!0)),e}function _J(){hr(2)}function q4(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function Ps(e){var t=u3[e];return t||hr(18,e),t}function K4(e,t){u3[e]||(u3[e]=t)}function eg(){return ng}function Zw(e,t){t&&(Ps("Patches"),e.u=[],e.s=[],e.v=t)}function r1(e){l3(e),e.p.forEach(bJ),e.p=null}function l3(e){e===ng&&(ng=e.l)}function D8(e){return ng={p:[],l:ng,h:e,m:!0,_:0}}function bJ(e){var t=e[Xe];t.i===0||t.i===1?t.j():t.g=!0}function Jw(e,t){t._=t.p.length;var n=t.p[0],r=e!==void 0&&e!==n;return t.h.O||Ps("ES5").S(t,e,r),r?(n[Xe].P&&(r1(t),hr(4)),Ai(e)&&(e=i1(t,e),t.l||o1(t,e)),t.u&&Ps("Patches").M(n[Xe].t,e,t.u,t.s)):e=i1(t,n,[]),r1(t),t.u&&t.v(t.u,t.s),e!==V_?e:void 0}function i1(e,t,n){if(q4(t))return t;var r=t[Xe];if(!r)return Ra(t,function(a,l){return $8(e,r,t,a,l,n)},!0),t;if(r.A!==e)return t;if(!r.P)return o1(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=r.i===4||r.i===5?r.o=W4(r.k):r.o,o=i,s=!1;r.i===3&&(o=new Set(i),i.clear(),s=!0),Ra(o,function(a,l){return $8(e,r,i,a,l,n,s)}),o1(e,i,!1),n&&e.u&&Ps("Patches").N(r,n,e.u,e.s)}return r.o}function $8(e,t,n,r,i,o,s){if(ai(i)){var a=i1(e,i,o&&t&&t.i!==3&&!kl(t.R,r)?o.concat(r):void 0);if(LN(n,r,a),!ai(a))return;e.m=!1}else s&&n.add(i);if(Ai(i)&&!q4(i)){if(!e.h.D&&e._<1)return;i1(e,i),t&&t.A.l||o1(e,i)}}function o1(e,t,n){n===void 0&&(n=!1),!e.l&&e.h.D&&e.m&&tm(t,n)}function ex(e,t){var n=e[Xe];return(n?lr(n):e)[t]}function F8(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function bi(e){e.P||(e.P=!0,e.l&&bi(e.l))}function tx(e){e.o||(e.o=W4(e.t))}function tg(e,t,n){var r=B_(t)?Ps("MapSet").F(t,n):U_(t)?Ps("MapSet").T(t,n):e.O?function(i,o){var s=Array.isArray(i),a={i:s?1:0,A:o?o.A:eg(),P:!1,I:!1,R:{},l:o,t:i,k:null,o:null,j:null,C:!1},l=a,u=rg;s&&(l=[a],u=cp);var d=Proxy.revocable(l,u),f=d.revoke,p=d.proxy;return a.k=p,a.j=f,p}(t,n):Ps("ES5").J(t,n);return(n?n.A:eg()).p.push(r),r}function z_(e){return ai(e)||hr(22,e),function t(n){if(!Ai(n))return n;var r,i=n[Xe],o=Fl(n);if(i){if(!i.P&&(i.i<4||!Ps("ES5").K(i)))return i.t;i.I=!0,r=B8(n,o),i.I=!1}else r=B8(n,o);return Ra(r,function(s,a){i&&lv(i.t,s)===a||LN(r,s,t(a))}),o===3?new Set(r):r}(e)}function B8(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return W4(e)}function X4(){function e(o,s){var a=i[o];return a?a.enumerable=s:i[o]=a={configurable:!0,enumerable:s,get:function(){var l=this[Xe];return rg.get(l,o)},set:function(l){var u=this[Xe];rg.set(u,o,l)}},a}function t(o){for(var s=o.length-1;s>=0;s--){var a=o[s][Xe];if(!a.P)switch(a.i){case 5:r(a)&&bi(a);break;case 4:n(a)&&bi(a)}}}function n(o){for(var s=o.t,a=o.k,l=Kd(a),u=l.length-1;u>=0;u--){var d=l[u];if(d!==Xe){var f=s[d];if(f===void 0&&!kl(s,d))return!0;var p=a[d],g=p&&p[Xe];if(g?g.t!==f:!DN(p,f))return!0}}var m=!!s[Xe];return l.length!==Kd(s).length+(m?0:1)}function r(o){var s=o.k;if(s.length!==o.t.length)return!0;var a=Object.getOwnPropertyDescriptor(s,s.length-1);if(a&&!a.get)return!0;for(var l=0;l1?_-1:0),y=1;y<_;y++)b[y-1]=arguments[y];return l.produce(v,function(S){var C;return(C=o).call.apply(C,[x,S].concat(b))})}}var u;if(typeof o!="function"&&hr(6),s!==void 0&&typeof s!="function"&&hr(7),Ai(i)){var d=D8(r),f=tg(r,i,void 0),p=!0;try{u=o(f),p=!1}finally{p?r1(d):l3(d)}return typeof Promise<"u"&&u instanceof Promise?u.then(function(v){return Zw(d,s),Jw(v,d)},function(v){throw r1(d),v}):(Zw(d,s),Jw(u,d))}if(!i||typeof i!="object"){if((u=o(i))===void 0&&(u=i),u===V_&&(u=void 0),r.D&&tm(u,!0),s){var g=[],m=[];Ps("Patches").M(i,u,g,m),s(g,m)}return u}hr(21,i)},this.produceWithPatches=function(i,o){if(typeof i=="function")return function(u){for(var d=arguments.length,f=Array(d>1?d-1:0),p=1;p=0;i--){var o=r[i];if(o.path.length===0&&o.op==="replace"){n=o.value;break}}i>-1&&(r=r.slice(i+1));var s=Ps("Patches").$;return ai(n)?s(n,r):this.produce(n,function(a){return s(a,r)})},e}(),qi=new BN,UN=qi.produce,Z4=qi.produceWithPatches.bind(qi),AJ=qi.setAutoFreeze.bind(qi),PJ=qi.setUseProxies.bind(qi),c3=qi.applyPatches.bind(qi),RJ=qi.createDraft.bind(qi),OJ=qi.finishDraft.bind(qi);const Jl=UN,Q9e=Object.freeze(Object.defineProperty({__proto__:null,Immer:BN,applyPatches:c3,castDraft:wJ,castImmutable:xJ,createDraft:RJ,current:z_,default:Jl,enableAllPlugins:SJ,enableES5:X4,enableMapSet:$N,enablePatches:Y4,finishDraft:OJ,freeze:tm,immerable:qd,isDraft:ai,isDraftable:Ai,nothing:V_,original:H4,produce:UN,produceWithPatches:Z4,setAutoFreeze:AJ,setUseProxies:PJ},Symbol.toStringTag,{value:"Module"}));function ig(e){"@babel/helpers - typeof";return ig=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ig(e)}function kJ(e,t){if(ig(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(ig(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function IJ(e){var t=kJ(e,"string");return ig(t)==="symbol"?t:String(t)}function MJ(e,t,n){return t=IJ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function V8(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function j8(e){for(var t=1;t"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(Pr(1));return n(nm)(e,t)}if(typeof e!="function")throw new Error(Pr(2));var i=e,o=t,s=[],a=s,l=!1;function u(){a===s&&(a=s.slice())}function d(){if(l)throw new Error(Pr(3));return o}function f(v){if(typeof v!="function")throw new Error(Pr(4));if(l)throw new Error(Pr(5));var x=!0;return u(),a.push(v),function(){if(x){if(l)throw new Error(Pr(6));x=!1,u();var b=a.indexOf(v);a.splice(b,1),s=null}}}function p(v){if(!NJ(v))throw new Error(Pr(7));if(typeof v.type>"u")throw new Error(Pr(8));if(l)throw new Error(Pr(9));try{l=!0,o=i(o,v)}finally{l=!1}for(var x=s=a,_=0;_"u")throw new Error(Pr(12));if(typeof n(void 0,{type:yf.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Pr(13))})}function Ff(e){for(var t=Object.keys(e),n={},r=0;r"u")throw u&&u.type,new Error(Pr(14));f[g]=x,d=d||x!==v}return d=d||o.length!==Object.keys(l).length,d?f:l}}function H8(e,t){return function(){return t(e.apply(this,arguments))}}function VN(e,t){if(typeof e=="function")return H8(e,t);if(typeof e!="object"||e===null)throw new Error(Pr(16));var n={};for(var r in e){var i=e[r];typeof i=="function"&&(n[r]=H8(i,t))}return n}function vf(){for(var e=arguments.length,t=new Array(e),n=0;n-1){var u=n[l];return l>0&&(n.splice(l,1),n.unshift(u)),u.value}return s1}function i(a,l){r(a)===s1&&(n.unshift({key:a,value:l}),n.length>e&&n.pop())}function o(){return n}function s(){n=[]}return{get:r,put:i,getEntries:o,clear:s}}var jN=function(t,n){return t===n};function BJ(e){return function(n,r){if(n===null||r===null||n.length!==r.length)return!1;for(var i=n.length,o=0;o1?t-1:0),r=1;r0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]",value:e};if(typeof e!="object"||e===null||o!=null&&o.has(e))return!1;for(var a=r!=null?r(e):Object.entries(e),l=i.length>0,u=function(x,_){var b=t?t+"."+x:x;if(l){var y=i.some(function(S){return S instanceof RegExp?S.test(b):b===S});if(y)return"continue"}if(!n(_))return{value:{keyPath:b,value:_}};if(typeof _=="object"&&(s=QN(_,b,n,r,i,o),s))return{value:s}},d=0,f=a;d-1}function tee(e){return""+e}function nL(e){var t={},n=[],r,i={addCase:function(o,s){var a=typeof o=="string"?o:o.type;if(a in t)throw new Error("addCase cannot be called with two reducers for the same action type");return t[a]=s,i},addMatcher:function(o,s){return n.push({matcher:o,reducer:s}),i},addDefaultCase:function(o){return r=o,i}};return e(i),[t,n,r]}function nee(e){return typeof e=="function"}function rL(e,t,n,r){n===void 0&&(n=[]);var i=typeof t=="function"?nL(t):[t,n,r],o=i[0],s=i[1],a=i[2],l;if(nee(e))l=function(){return d3(e())};else{var u=d3(e);l=function(){return u}}function d(f,p){f===void 0&&(f=l());var g=Bl([o[p.type]],s.filter(function(m){var v=m.matcher;return v(p)}).map(function(m){var v=m.reducer;return v}));return g.filter(function(m){return!!m}).length===0&&(g=[a]),g.reduce(function(m,v){if(v)if(ai(m)){var x=m,_=v(x,p);return _===void 0?m:_}else{if(Ai(m))return Jl(m,function(b){return v(b,p)});var _=v(m,p);if(_===void 0){if(m===null)return m;throw Error("A case reducer on a non-draftable value must not return undefined")}return _}return m},f)}return d.getInitialState=l,d}function ree(e,t){return e+"/"+t}function yn(e){var t=e.name;if(!t)throw new Error("`name` is a required option for createSlice");typeof process<"u";var n=typeof e.initialState=="function"?e.initialState:d3(e.initialState),r=e.reducers||{},i=Object.keys(r),o={},s={},a={};i.forEach(function(d){var f=r[d],p=ree(t,d),g,m;"reducer"in f?(g=f.reducer,m=f.prepare):g=f,o[d]=g,s[p]=g,a[d]=m?Re(p,m):Re(p)});function l(){var d=typeof e.extraReducers=="function"?nL(e.extraReducers):[e.extraReducers],f=d[0],p=f===void 0?{}:f,g=d[1],m=g===void 0?[]:g,v=d[2],x=v===void 0?void 0:v,_=wi(wi({},p),s);return rL(n,function(b){for(var y in _)b.addCase(y,_[y]);for(var S=0,C=m;S0;if(b){var y=m.filter(function(S){return u(x,S,v)}).length>0;y&&(v.ids=Object.keys(v.entities))}}function p(m,v){return g([m],v)}function g(m,v){var x=iL(m,e,v),_=x[0],b=x[1];f(b,v),n(_,v)}return{removeAll:aee(l),addOne:kn(t),addMany:kn(n),setOne:kn(r),setMany:kn(i),setAll:kn(o),updateOne:kn(d),updateMany:kn(f),upsertOne:kn(p),upsertMany:kn(g),removeOne:kn(s),removeMany:kn(a)}}function lee(e,t){var n=oL(e),r=n.removeOne,i=n.removeMany,o=n.removeAll;function s(b,y){return a([b],y)}function a(b,y){b=ju(b);var S=b.filter(function(C){return!(Tp(C,e)in y.entities)});S.length!==0&&x(S,y)}function l(b,y){return u([b],y)}function u(b,y){b=ju(b),b.length!==0&&x(b,y)}function d(b,y){b=ju(b),y.entities={},y.ids=[],a(b,y)}function f(b,y){return p([b],y)}function p(b,y){for(var S=!1,C=0,T=b;C-1;return n&&r}function om(e){return typeof e[0]=="function"&&"pending"in e[0]&&"fulfilled"in e[0]&&"rejected"in e[0]}function H_(){for(var e=[],t=0;t0)for(var y=g.getState(),S=Array.from(n.values()),C=0,T=S;CMath.floor(e/t)*t,Ss=(e,t)=>Math.round(e/t)*t;var Eee=typeof global=="object"&&global&&global.Object===Object&&global;const xL=Eee;var Aee=typeof self=="object"&&self&&self.Object===Object&&self,Pee=xL||Aee||Function("return this")();const Fs=Pee;var Ree=Fs.Symbol;const xo=Ree;var CL=Object.prototype,Oee=CL.hasOwnProperty,kee=CL.toString,Uh=xo?xo.toStringTag:void 0;function Iee(e){var t=Oee.call(e,Uh),n=e[Uh];try{e[Uh]=void 0;var r=!0}catch{}var i=kee.call(e);return r&&(t?e[Uh]=n:delete e[Uh]),i}var Mee=Object.prototype,Nee=Mee.toString;function Lee(e){return Nee.call(e)}var Dee="[object Null]",$ee="[object Undefined]",J8=xo?xo.toStringTag:void 0;function nu(e){return e==null?e===void 0?$ee:Dee:J8&&J8 in Object(e)?Iee(e):Lee(e)}function es(e){return e!=null&&typeof e=="object"}var Fee="[object Symbol]";function W_(e){return typeof e=="symbol"||es(e)&&nu(e)==Fee}function TL(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n0){if(++t>=mte)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function bte(e){return function(){return e}}var Ste=function(){try{var e=gc(Object,"defineProperty");return e({},"",{}),e}catch{}}();const c1=Ste;var wte=c1?function(e,t){return c1(e,"toString",{configurable:!0,enumerable:!1,value:bte(t),writable:!0})}:q_;const xte=wte;var Cte=_te(xte);const RL=Cte;function OL(e,t){for(var n=-1,r=e==null?0:e.length;++n-1}var Ote=9007199254740991,kte=/^(?:0|[1-9]\d*)$/;function iT(e,t){var n=typeof e;return t=t??Ote,!!t&&(n=="number"||n!="symbol"&&kte.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=Nte}function Uf(e){return e!=null&&sT(e.length)&&!rT(e)}function NL(e,t,n){if(!Pi(n))return!1;var r=typeof t;return(r=="number"?Uf(n)&&iT(t,n.length):r=="string"&&t in n)?um(n[t],e):!1}function LL(e){return ML(function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(o=e.length>3&&typeof o=="function"?(i--,o):void 0,s&&NL(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),t=Object(t);++r-1}function Xne(e,t){var n=this.__data__,r=K_(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function Na(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(a)?t>1?VL(a,t-1,n,r,i):hT(i,a):r||(i[i.length]=a)}return i}function hre(e){var t=e==null?0:e.length;return t?VL(e,1):[]}function pre(e){return RL(IL(e,void 0,hre),e+"")}var gre=UL(Object.getPrototypeOf,Object);const pT=gre;var mre="[object Object]",yre=Function.prototype,vre=Object.prototype,jL=yre.toString,_re=vre.hasOwnProperty,bre=jL.call(Object);function GL(e){if(!es(e)||nu(e)!=mre)return!1;var t=pT(e);if(t===null)return!0;var n=_re.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&jL.call(n)==bre}function HL(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(i);++r=r?e:HL(e,t,n)}var wre="\\ud800-\\udfff",xre="\\u0300-\\u036f",Cre="\\ufe20-\\ufe2f",Tre="\\u20d0-\\u20ff",Ere=xre+Cre+Tre,Are="\\ufe0e\\ufe0f",Pre="\\u200d",Rre=RegExp("["+Pre+wre+Ere+Are+"]");function gT(e){return Rre.test(e)}function Ore(e){return e.split("")}var WL="\\ud800-\\udfff",kre="\\u0300-\\u036f",Ire="\\ufe20-\\ufe2f",Mre="\\u20d0-\\u20ff",Nre=kre+Ire+Mre,Lre="\\ufe0e\\ufe0f",Dre="["+WL+"]",g3="["+Nre+"]",m3="\\ud83c[\\udffb-\\udfff]",$re="(?:"+g3+"|"+m3+")",qL="[^"+WL+"]",KL="(?:\\ud83c[\\udde6-\\uddff]){2}",XL="[\\ud800-\\udbff][\\udc00-\\udfff]",Fre="\\u200d",YL=$re+"?",QL="["+Lre+"]?",Bre="(?:"+Fre+"(?:"+[qL,KL,XL].join("|")+")"+QL+YL+")*",Ure=QL+YL+Bre,zre="(?:"+[qL+g3+"?",g3,KL,XL,Dre].join("|")+")",Vre=RegExp(m3+"(?="+m3+")|"+zre+Ure,"g");function jre(e){return e.match(Vre)||[]}function Gre(e){return gT(e)?jre(e):Ore(e)}function Hre(e){return function(t){t=Y_(t);var n=gT(t)?Gre(t):void 0,r=n?n[0]:t.charAt(0),i=n?Sre(n,1).join(""):t.slice(1);return r[e]()+i}}var Wre=Hre("toUpperCase");const qre=Wre;function ZL(e,t,n,r){var i=-1,o=e==null?0:e.length;for(r&&o&&(n=e[++i]);++i=t?e:t)),e}function bl(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=ox(n),n=n===n?n:0),t!==void 0&&(t=ox(t),t=t===t?t:0),$ie(ox(e),t,n)}function Fie(){this.__data__=new Na,this.size=0}function Bie(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Uie(e){return this.__data__.get(e)}function zie(e){return this.__data__.has(e)}var Vie=200;function jie(e,t){var n=this.__data__;if(n instanceof Na){var r=n.__data__;if(!lg||r.lengtha))return!1;var u=o.get(e),d=o.get(t);if(u&&d)return u==t&&d==e;var f=-1,p=!0,g=n&xse?new ug:void 0;for(o.set(e,t),o.set(t,e);++f1),o}),Bf(e,vD(e),n),r&&(n=Ap(n,Aae|Pae|Rae,Eae));for(var i=t.length;i--;)MD(n,t[i]);return n});const rb=Oae;var kae=RD("length");const Iae=kae;var ND="\\ud800-\\udfff",Mae="\\u0300-\\u036f",Nae="\\ufe20-\\ufe2f",Lae="\\u20d0-\\u20ff",Dae=Mae+Nae+Lae,$ae="\\ufe0e\\ufe0f",Fae="["+ND+"]",w3="["+Dae+"]",x3="\\ud83c[\\udffb-\\udfff]",Bae="(?:"+w3+"|"+x3+")",LD="[^"+ND+"]",DD="(?:\\ud83c[\\udde6-\\uddff]){2}",$D="[\\ud800-\\udbff][\\udc00-\\udfff]",Uae="\\u200d",FD=Bae+"?",BD="["+$ae+"]?",zae="(?:"+Uae+"(?:"+[LD,DD,$D].join("|")+")"+BD+FD+")*",Vae=BD+FD+zae,jae="(?:"+[LD+w3+"?",w3,DD,$D,Fae].join("|")+")",I9=RegExp(x3+"(?="+x3+")|"+jae+Vae,"g");function Gae(e){for(var t=I9.lastIndex=0;I9.test(e);)++t;return t}function Hae(e){return gT(e)?Gae(e):Iae(e)}function Wae(e,t,n,r,i){return i(e,function(o,s,a){n=r?(r=!1,o):t(n,o,s,a)}),n}function _T(e,t,n){var r=gr(e)?ZL:Wae,i=arguments.length<3;return r(e,J_(t),n,i,eb)}var qae="[object Map]",Kae="[object Set]";function bT(e){if(e==null)return 0;if(Uf(e))return wae(e)?Hae(e):e.length;var t=Sf(e);return t==qae||t==Kae?e.size:zL(e).length}function Xae(e,t){var n;return eb(e,function(r,i,o){return n=t(r,i,o),!n}),!!n}function ku(e,t,n){var r=gr(e)?CD:Xae;return n&&NL(e,t,n)&&(t=void 0),r(e,J_(t))}var Yae=Die(function(e,t,n){return e+(n?" ":"")+qre(t)});const Qae=Yae;var Zae=1/0,Jae=Zd&&1/vT(new Zd([,-0]))[1]==Zae?function(e){return new Zd(e)}:gte;const ele=Jae;var tle=200;function nle(e,t,n){var r=-1,i=Rte,o=e.length,s=!0,a=[],l=a;if(n)s=!1,i=yae;else if(o>=tle){var u=t?null:ele(e);if(u)return vT(u);s=!1,i=TD,l=new ug}else l=t?[]:a;e:for(;++r{Tae(e,t.payload)}}}),{configChanged:ole}=zD.actions,sle=zD.reducer,eRe={"sd-1":"Stable Diffusion 1.x","sd-2":"Stable Diffusion 2.x",sdxl:"Stable Diffusion XL","sdxl-refiner":"Stable Diffusion XL Refiner"},tRe={"sd-1":"SD1","sd-2":"SD2",sdxl:"SDXL","sdxl-refiner":"SDXLR"},ale={"sd-1":{maxClip:12,markers:[0,1,2,3,4,8,12]},"sd-2":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},sdxl:{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},"sdxl-refiner":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]}},nRe={lycoris:"LyCORIS",diffusers:"Diffusers"},rRe=0,lle=4294967295;var wt;(function(e){e.assertEqual=i=>i;function t(i){}e.assertIs=t;function n(i){throw new Error}e.assertNever=n,e.arrayToEnum=i=>{const o={};for(const s of i)o[s]=s;return o},e.getValidEnumValues=i=>{const o=e.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),s={};for(const a of o)s[a]=i[a];return e.objectValues(s)},e.objectValues=i=>e.objectKeys(i).map(function(o){return i[o]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const o=[];for(const s in i)Object.prototype.hasOwnProperty.call(i,s)&&o.push(s);return o},e.find=(i,o)=>{for(const s of i)if(o(s))return s},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&isFinite(i)&&Math.floor(i)===i;function r(i,o=" | "){return i.map(s=>typeof s=="string"?`'${s}'`:s).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(i,o)=>typeof o=="bigint"?o.toString():o})(wt||(wt={}));var C3;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(C3||(C3={}));const xe=wt.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ml=e=>{switch(typeof e){case"undefined":return xe.undefined;case"string":return xe.string;case"number":return isNaN(e)?xe.nan:xe.number;case"boolean":return xe.boolean;case"function":return xe.function;case"bigint":return xe.bigint;case"symbol":return xe.symbol;case"object":return Array.isArray(e)?xe.array:e===null?xe.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?xe.promise:typeof Map<"u"&&e instanceof Map?xe.map:typeof Set<"u"&&e instanceof Set?xe.set:typeof Date<"u"&&e instanceof Date?xe.date:xe.object;default:return xe.unknown}},me=wt.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),ule=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class Xo extends Error{constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}get errors(){return this.issues}format(t){const n=t||function(o){return o.message},r={_errors:[]},i=o=>{for(const s of o.issues)if(s.code==="invalid_union")s.unionErrors.map(i);else if(s.code==="invalid_return_type")i(s.returnTypeError);else if(s.code==="invalid_arguments")i(s.argumentsError);else if(s.path.length===0)r._errors.push(n(s));else{let a=r,l=0;for(;ln.message){const n={},r=[];for(const i of this.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}Xo.create=e=>new Xo(e);const cg=(e,t)=>{let n;switch(e.code){case me.invalid_type:e.received===xe.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case me.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,wt.jsonStringifyReplacer)}`;break;case me.unrecognized_keys:n=`Unrecognized key(s) in object: ${wt.joinValues(e.keys,", ")}`;break;case me.invalid_union:n="Invalid input";break;case me.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${wt.joinValues(e.options)}`;break;case me.invalid_enum_value:n=`Invalid enum value. Expected ${wt.joinValues(e.options)}, received '${e.received}'`;break;case me.invalid_arguments:n="Invalid function arguments";break;case me.invalid_return_type:n="Invalid function return type";break;case me.invalid_date:n="Invalid date";break;case me.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:wt.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case me.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case me.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case me.custom:n="Invalid input";break;case me.invalid_intersection_types:n="Intersection results could not be merged";break;case me.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case me.not_finite:n="Number must be finite";break;default:n=t.defaultError,wt.assertNever(e)}return{message:n}};let VD=cg;function cle(e){VD=e}function f1(){return VD}const h1=e=>{const{data:t,path:n,errorMaps:r,issueData:i}=e,o=[...n,...i.path||[]],s={...i,path:o};let a="";const l=r.filter(u=>!!u).slice().reverse();for(const u of l)a=u(s,{data:t,defaultError:a}).message;return{...i,path:o,message:i.message||a}},dle=[];function Te(e,t){const n=h1({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,f1(),cg].filter(r=>!!r)});e.common.issues.push(n)}class Wr{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){const r=[];for(const i of n){if(i.status==="aborted")return je;i.status==="dirty"&&t.dirty(),r.push(i.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){const r=[];for(const i of n)r.push({key:await i.key,value:await i.value});return Wr.mergeObjectSync(t,r)}static mergeObjectSync(t,n){const r={};for(const i of n){const{key:o,value:s}=i;if(o.status==="aborted"||s.status==="aborted")return je;o.status==="dirty"&&t.dirty(),s.status==="dirty"&&t.dirty(),(typeof s.value<"u"||i.alwaysSet)&&(r[o.value]=s.value)}return{status:t.value,value:r}}}const je=Object.freeze({status:"aborted"}),jD=e=>({status:"dirty",value:e}),li=e=>({status:"valid",value:e}),T3=e=>e.status==="aborted",E3=e=>e.status==="dirty",p1=e=>e.status==="valid",g1=e=>typeof Promise<"u"&&e instanceof Promise;var Le;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(Le||(Le={}));class Ms{constructor(t,n,r,i){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=i}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const M9=(e,t)=>{if(p1(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new Xo(e.common.issues);return this._error=n,this._error}}};function Qe(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(s,a)=>s.code!=="invalid_type"?{message:a.defaultError}:typeof a.data>"u"?{message:r??a.defaultError}:{message:n??a.defaultError},description:i}}class tt{constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(t){return ml(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ml(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Wr,ctx:{common:t.parent.common,data:t.data,parsedType:ml(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(g1(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){const n=this._parse(t);return Promise.resolve(n)}parse(t,n){const r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){var r;const i={common:{issues:[],async:(r=n==null?void 0:n.async)!==null&&r!==void 0?r:!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ml(t)},o=this._parseSync({data:t,path:i.path,parent:i});return M9(i,o)}async parseAsync(t,n){const r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){const r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ml(t)},i=this._parse({data:t,path:r.path,parent:r}),o=await(g1(i)?i:Promise.resolve(i));return M9(r,o)}refine(t,n){const r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,o)=>{const s=t(i),a=()=>o.addIssue({code:me.custom,...r(i)});return typeof Promise<"u"&&s instanceof Promise?s.then(l=>l?!0:(a(),!1)):s?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(t){return new ts({schema:this,typeName:Ue.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}optional(){return _a.create(this,this._def)}nullable(){return ic.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Yo.create(this,this._def)}promise(){return xf.create(this,this._def)}or(t){return pg.create([this,t],this._def)}and(t){return gg.create(this,t,this._def)}transform(t){return new ts({...Qe(this._def),schema:this,typeName:Ue.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new bg({...Qe(this._def),innerType:this,defaultValue:n,typeName:Ue.ZodDefault})}brand(){return new HD({typeName:Ue.ZodBranded,type:this,...Qe(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new _1({...Qe(this._def),innerType:this,catchValue:n,typeName:Ue.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return hm.create(this,t)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const fle=/^c[^\s-]{8,}$/i,hle=/^[a-z][a-z0-9]*$/,ple=/[0-9A-HJKMNP-TV-Z]{26}/,gle=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,mle=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\])|(\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\.[A-Za-z]{2,})+))$/,yle=/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,vle=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,_le=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ble=e=>e.precision?e.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}Z$`):e.precision===0?e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function Sle(e,t){return!!((t==="v4"||!t)&&vle.test(e)||(t==="v6"||!t)&&_le.test(e))}class Ho extends tt{constructor(){super(...arguments),this._regex=(t,n,r)=>this.refinement(i=>t.test(i),{validation:n,code:me.invalid_string,...Le.errToObj(r)}),this.nonempty=t=>this.min(1,Le.errToObj(t)),this.trim=()=>new Ho({...this._def,checks:[...this._def.checks,{kind:"trim"}]}),this.toLowerCase=()=>new Ho({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]}),this.toUpperCase=()=>new Ho({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==xe.string){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.string,received:o.parsedType}),je}const r=new Wr;let i;for(const o of this._def.checks)if(o.kind==="min")t.data.lengtho.value&&(i=this._getOrReturnCtx(t,i),Te(i,{code:me.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){const s=t.data.length>o.value,a=t.data.length"u"?null:t==null?void 0:t.precision,offset:(n=t==null?void 0:t.offset)!==null&&n!==void 0?n:!1,...Le.errToObj(t==null?void 0:t.message)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...Le.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...Le.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...Le.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...Le.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...Le.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...Le.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...Le.errToObj(n)})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get minLength(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new Ho({checks:[],typeName:Ue.ZodString,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...Qe(e)})};function wle(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r,o=parseInt(e.toFixed(i).replace(".","")),s=parseInt(t.toFixed(i).replace(".",""));return o%s/Math.pow(10,i)}class zl extends tt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==xe.number){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.number,received:o.parsedType}),je}let r;const i=new Wr;for(const o of this._def.checks)o.kind==="int"?wt.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),Te(r,{code:me.invalid_type,expected:"integer",received:"float",message:o.message}),i.dirty()):o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="multipleOf"?wle(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),Te(r,{code:me.not_finite,message:o.message}),i.dirty()):wt.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,Le.toString(n))}gt(t,n){return this.setLimit("min",t,!1,Le.toString(n))}lte(t,n){return this.setLimit("max",t,!0,Le.toString(n))}lt(t,n){return this.setLimit("max",t,!1,Le.toString(n))}setLimit(t,n,r,i){return new zl({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:Le.toString(i)}]})}_addCheck(t){return new zl({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:Le.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Le.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Le.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Le.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Le.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:Le.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:Le.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Le.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Le.toString(t)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuet.kind==="int"||t.kind==="multipleOf"&&wt.isInteger(t.value))}get isFinite(){let t=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.valuenew zl({checks:[],typeName:Ue.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...Qe(e)});class Vl extends tt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce&&(t.data=BigInt(t.data)),this._getType(t)!==xe.bigint){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.bigint,received:o.parsedType}),je}let r;const i=new Wr;for(const o of this._def.checks)o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):wt.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,Le.toString(n))}gt(t,n){return this.setLimit("min",t,!1,Le.toString(n))}lte(t,n){return this.setLimit("max",t,!0,Le.toString(n))}lt(t,n){return this.setLimit("max",t,!1,Le.toString(n))}setLimit(t,n,r,i){return new Vl({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:Le.toString(i)}]})}_addCheck(t){return new Vl({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Le.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Le.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Le.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Le.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:Le.toString(n)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new Vl({checks:[],typeName:Ue.ZodBigInt,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...Qe(e)})};class dg extends tt{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==xe.boolean){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.boolean,received:r.parsedType}),je}return li(t.data)}}dg.create=e=>new dg({typeName:Ue.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...Qe(e)});class nc extends tt{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==xe.date){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.date,received:o.parsedType}),je}if(isNaN(t.data.getTime())){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_date}),je}const r=new Wr;let i;for(const o of this._def.checks)o.kind==="min"?t.data.getTime()o.value&&(i=this._getOrReturnCtx(t,i),Te(i,{code:me.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):wt.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new nc({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:Le.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:Le.toString(n)})}get minDate(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuenew nc({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:Ue.ZodDate,...Qe(e)});class m1 extends tt{_parse(t){if(this._getType(t)!==xe.symbol){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.symbol,received:r.parsedType}),je}return li(t.data)}}m1.create=e=>new m1({typeName:Ue.ZodSymbol,...Qe(e)});class fg extends tt{_parse(t){if(this._getType(t)!==xe.undefined){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.undefined,received:r.parsedType}),je}return li(t.data)}}fg.create=e=>new fg({typeName:Ue.ZodUndefined,...Qe(e)});class hg extends tt{_parse(t){if(this._getType(t)!==xe.null){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.null,received:r.parsedType}),je}return li(t.data)}}hg.create=e=>new hg({typeName:Ue.ZodNull,...Qe(e)});class wf extends tt{constructor(){super(...arguments),this._any=!0}_parse(t){return li(t.data)}}wf.create=e=>new wf({typeName:Ue.ZodAny,...Qe(e)});class Gu extends tt{constructor(){super(...arguments),this._unknown=!0}_parse(t){return li(t.data)}}Gu.create=e=>new Gu({typeName:Ue.ZodUnknown,...Qe(e)});class Oa extends tt{_parse(t){const n=this._getOrReturnCtx(t);return Te(n,{code:me.invalid_type,expected:xe.never,received:n.parsedType}),je}}Oa.create=e=>new Oa({typeName:Ue.ZodNever,...Qe(e)});class y1 extends tt{_parse(t){if(this._getType(t)!==xe.undefined){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.void,received:r.parsedType}),je}return li(t.data)}}y1.create=e=>new y1({typeName:Ue.ZodVoid,...Qe(e)});class Yo extends tt{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==xe.array)return Te(n,{code:me.invalid_type,expected:xe.array,received:n.parsedType}),je;if(i.exactLength!==null){const s=n.data.length>i.exactLength.value,a=n.data.lengthi.maxLength.value&&(Te(n,{code:me.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((s,a)=>i.type._parseAsync(new Ms(n,s,n.path,a)))).then(s=>Wr.mergeArray(r,s));const o=[...n.data].map((s,a)=>i.type._parseSync(new Ms(n,s,n.path,a)));return Wr.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new Yo({...this._def,minLength:{value:t,message:Le.toString(n)}})}max(t,n){return new Yo({...this._def,maxLength:{value:t,message:Le.toString(n)}})}length(t,n){return new Yo({...this._def,exactLength:{value:t,message:Le.toString(n)}})}nonempty(t){return this.min(1,t)}}Yo.create=(e,t)=>new Yo({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Ue.ZodArray,...Qe(t)});function yd(e){if(e instanceof gn){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=_a.create(yd(r))}return new gn({...e._def,shape:()=>t})}else return e instanceof Yo?new Yo({...e._def,type:yd(e.element)}):e instanceof _a?_a.create(yd(e.unwrap())):e instanceof ic?ic.create(yd(e.unwrap())):e instanceof Ns?Ns.create(e.items.map(t=>yd(t))):e}class gn extends tt{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),n=wt.objectKeys(t);return this._cached={shape:t,keys:n}}_parse(t){if(this._getType(t)!==xe.object){const u=this._getOrReturnCtx(t);return Te(u,{code:me.invalid_type,expected:xe.object,received:u.parsedType}),je}const{status:r,ctx:i}=this._processInputParams(t),{shape:o,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof Oa&&this._def.unknownKeys==="strip"))for(const u in i.data)s.includes(u)||a.push(u);const l=[];for(const u of s){const d=o[u],f=i.data[u];l.push({key:{status:"valid",value:u},value:d._parse(new Ms(i,f,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof Oa){const u=this._def.unknownKeys;if(u==="passthrough")for(const d of a)l.push({key:{status:"valid",value:d},value:{status:"valid",value:i.data[d]}});else if(u==="strict")a.length>0&&(Te(i,{code:me.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const u=this._def.catchall;for(const d of a){const f=i.data[d];l.push({key:{status:"valid",value:d},value:u._parse(new Ms(i,f,i.path,d)),alwaysSet:d in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const u=[];for(const d of l){const f=await d.key;u.push({key:f,value:await d.value,alwaysSet:d.alwaysSet})}return u}).then(u=>Wr.mergeObjectSync(r,u)):Wr.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return Le.errToObj,new gn({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{var i,o,s,a;const l=(s=(o=(i=this._def).errorMap)===null||o===void 0?void 0:o.call(i,n,r).message)!==null&&s!==void 0?s:r.defaultError;return n.code==="unrecognized_keys"?{message:(a=Le.errToObj(t).message)!==null&&a!==void 0?a:l}:{message:l}}}:{}})}strip(){return new gn({...this._def,unknownKeys:"strip"})}passthrough(){return new gn({...this._def,unknownKeys:"passthrough"})}extend(t){return new gn({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new gn({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Ue.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new gn({...this._def,catchall:t})}pick(t){const n={};return wt.objectKeys(t).forEach(r=>{t[r]&&this.shape[r]&&(n[r]=this.shape[r])}),new gn({...this._def,shape:()=>n})}omit(t){const n={};return wt.objectKeys(this.shape).forEach(r=>{t[r]||(n[r]=this.shape[r])}),new gn({...this._def,shape:()=>n})}deepPartial(){return yd(this)}partial(t){const n={};return wt.objectKeys(this.shape).forEach(r=>{const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}),new gn({...this._def,shape:()=>n})}required(t){const n={};return wt.objectKeys(this.shape).forEach(r=>{if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof _a;)o=o._def.innerType;n[r]=o}}),new gn({...this._def,shape:()=>n})}keyof(){return GD(wt.objectKeys(this.shape))}}gn.create=(e,t)=>new gn({shape:()=>e,unknownKeys:"strip",catchall:Oa.create(),typeName:Ue.ZodObject,...Qe(t)});gn.strictCreate=(e,t)=>new gn({shape:()=>e,unknownKeys:"strict",catchall:Oa.create(),typeName:Ue.ZodObject,...Qe(t)});gn.lazycreate=(e,t)=>new gn({shape:e,unknownKeys:"strip",catchall:Oa.create(),typeName:Ue.ZodObject,...Qe(t)});class pg extends tt{_parse(t){const{ctx:n}=this._processInputParams(t),r=this._def.options;function i(o){for(const a of o)if(a.result.status==="valid")return a.result;for(const a of o)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;const s=o.map(a=>new Xo(a.ctx.common.issues));return Te(n,{code:me.invalid_union,unionErrors:s}),je}if(n.common.async)return Promise.all(r.map(async o=>{const s={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:s}),ctx:s}})).then(i);{let o;const s=[];for(const l of r){const u={...n,common:{...n.common,issues:[]},parent:null},d=l._parseSync({data:n.data,path:n.path,parent:u});if(d.status==="valid")return d;d.status==="dirty"&&!o&&(o={result:d,ctx:u}),u.common.issues.length&&s.push(u.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;const a=s.map(l=>new Xo(l));return Te(n,{code:me.invalid_union,unionErrors:a}),je}}get options(){return this._def.options}}pg.create=(e,t)=>new pg({options:e,typeName:Ue.ZodUnion,...Qe(t)});const cv=e=>e instanceof yg?cv(e.schema):e instanceof ts?cv(e.innerType()):e instanceof vg?[e.value]:e instanceof jl?e.options:e instanceof _g?Object.keys(e.enum):e instanceof bg?cv(e._def.innerType):e instanceof fg?[void 0]:e instanceof hg?[null]:null;class ib extends tt{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==xe.object)return Te(n,{code:me.invalid_type,expected:xe.object,received:n.parsedType}),je;const r=this.discriminator,i=n.data[r],o=this.optionsMap.get(i);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(Te(n,{code:me.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),je)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){const i=new Map;for(const o of n){const s=cv(o.shape[t]);if(!s)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(const a of s){if(i.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);i.set(a,o)}}return new ib({typeName:Ue.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...Qe(r)})}}function A3(e,t){const n=ml(e),r=ml(t);if(e===t)return{valid:!0,data:e};if(n===xe.object&&r===xe.object){const i=wt.objectKeys(t),o=wt.objectKeys(e).filter(a=>i.indexOf(a)!==-1),s={...e,...t};for(const a of o){const l=A3(e[a],t[a]);if(!l.valid)return{valid:!1};s[a]=l.data}return{valid:!0,data:s}}else if(n===xe.array&&r===xe.array){if(e.length!==t.length)return{valid:!1};const i=[];for(let o=0;o{if(T3(o)||T3(s))return je;const a=A3(o.value,s.value);return a.valid?((E3(o)||E3(s))&&n.dirty(),{status:n.value,value:a.data}):(Te(r,{code:me.invalid_intersection_types}),je)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,s])=>i(o,s)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}gg.create=(e,t,n)=>new gg({left:e,right:t,typeName:Ue.ZodIntersection,...Qe(n)});class Ns extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.array)return Te(r,{code:me.invalid_type,expected:xe.array,received:r.parsedType}),je;if(r.data.lengththis._def.items.length&&(Te(r,{code:me.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const o=[...r.data].map((s,a)=>{const l=this._def.items[a]||this._def.rest;return l?l._parse(new Ms(r,s,r.path,a)):null}).filter(s=>!!s);return r.common.async?Promise.all(o).then(s=>Wr.mergeArray(n,s)):Wr.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new Ns({...this._def,rest:t})}}Ns.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ns({items:e,typeName:Ue.ZodTuple,rest:null,...Qe(t)})};class mg extends tt{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.object)return Te(r,{code:me.invalid_type,expected:xe.object,received:r.parsedType}),je;const i=[],o=this._def.keyType,s=this._def.valueType;for(const a in r.data)i.push({key:o._parse(new Ms(r,a,r.path,a)),value:s._parse(new Ms(r,r.data[a],r.path,a))});return r.common.async?Wr.mergeObjectAsync(n,i):Wr.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof tt?new mg({keyType:t,valueType:n,typeName:Ue.ZodRecord,...Qe(r)}):new mg({keyType:Ho.create(),valueType:t,typeName:Ue.ZodRecord,...Qe(n)})}}class v1 extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.map)return Te(r,{code:me.invalid_type,expected:xe.map,received:r.parsedType}),je;const i=this._def.keyType,o=this._def.valueType,s=[...r.data.entries()].map(([a,l],u)=>({key:i._parse(new Ms(r,a,r.path,[u,"key"])),value:o._parse(new Ms(r,l,r.path,[u,"value"]))}));if(r.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const l of s){const u=await l.key,d=await l.value;if(u.status==="aborted"||d.status==="aborted")return je;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}})}else{const a=new Map;for(const l of s){const u=l.key,d=l.value;if(u.status==="aborted"||d.status==="aborted")return je;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}}}}v1.create=(e,t,n)=>new v1({valueType:t,keyType:e,typeName:Ue.ZodMap,...Qe(n)});class rc extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.set)return Te(r,{code:me.invalid_type,expected:xe.set,received:r.parsedType}),je;const i=this._def;i.minSize!==null&&r.data.sizei.maxSize.value&&(Te(r,{code:me.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());const o=this._def.valueType;function s(l){const u=new Set;for(const d of l){if(d.status==="aborted")return je;d.status==="dirty"&&n.dirty(),u.add(d.value)}return{status:n.value,value:u}}const a=[...r.data.values()].map((l,u)=>o._parse(new Ms(r,l,r.path,u)));return r.common.async?Promise.all(a).then(l=>s(l)):s(a)}min(t,n){return new rc({...this._def,minSize:{value:t,message:Le.toString(n)}})}max(t,n){return new rc({...this._def,maxSize:{value:t,message:Le.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}rc.create=(e,t)=>new rc({valueType:e,minSize:null,maxSize:null,typeName:Ue.ZodSet,...Qe(t)});class Jd extends tt{constructor(){super(...arguments),this.validate=this.implement}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==xe.function)return Te(n,{code:me.invalid_type,expected:xe.function,received:n.parsedType}),je;function r(a,l){return h1({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,f1(),cg].filter(u=>!!u),issueData:{code:me.invalid_arguments,argumentsError:l}})}function i(a,l){return h1({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,f1(),cg].filter(u=>!!u),issueData:{code:me.invalid_return_type,returnTypeError:l}})}const o={errorMap:n.common.contextualErrorMap},s=n.data;return this._def.returns instanceof xf?li(async(...a)=>{const l=new Xo([]),u=await this._def.args.parseAsync(a,o).catch(p=>{throw l.addIssue(r(a,p)),l}),d=await s(...u);return await this._def.returns._def.type.parseAsync(d,o).catch(p=>{throw l.addIssue(i(d,p)),l})}):li((...a)=>{const l=this._def.args.safeParse(a,o);if(!l.success)throw new Xo([r(a,l.error)]);const u=s(...l.data),d=this._def.returns.safeParse(u,o);if(!d.success)throw new Xo([i(u,d.error)]);return d.data})}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new Jd({...this._def,args:Ns.create(t).rest(Gu.create())})}returns(t){return new Jd({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new Jd({args:t||Ns.create([]).rest(Gu.create()),returns:n||Gu.create(),typeName:Ue.ZodFunction,...Qe(r)})}}class yg extends tt{get schema(){return this._def.getter()}_parse(t){const{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}yg.create=(e,t)=>new yg({getter:e,typeName:Ue.ZodLazy,...Qe(t)});class vg extends tt{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return Te(n,{received:n.data,code:me.invalid_literal,expected:this._def.value}),je}return{status:"valid",value:t.data}}get value(){return this._def.value}}vg.create=(e,t)=>new vg({value:e,typeName:Ue.ZodLiteral,...Qe(t)});function GD(e,t){return new jl({values:e,typeName:Ue.ZodEnum,...Qe(t)})}class jl extends tt{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return Te(n,{expected:wt.joinValues(r),received:n.parsedType,code:me.invalid_type}),je}if(this._def.values.indexOf(t.data)===-1){const n=this._getOrReturnCtx(t),r=this._def.values;return Te(n,{received:n.data,code:me.invalid_enum_value,options:r}),je}return li(t.data)}get options(){return this._def.values}get enum(){const t={};for(const n of this._def.values)t[n]=n;return t}get Values(){const t={};for(const n of this._def.values)t[n]=n;return t}get Enum(){const t={};for(const n of this._def.values)t[n]=n;return t}extract(t){return jl.create(t)}exclude(t){return jl.create(this.options.filter(n=>!t.includes(n)))}}jl.create=GD;class _g extends tt{_parse(t){const n=wt.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==xe.string&&r.parsedType!==xe.number){const i=wt.objectValues(n);return Te(r,{expected:wt.joinValues(i),received:r.parsedType,code:me.invalid_type}),je}if(n.indexOf(t.data)===-1){const i=wt.objectValues(n);return Te(r,{received:r.data,code:me.invalid_enum_value,options:i}),je}return li(t.data)}get enum(){return this._def.values}}_g.create=(e,t)=>new _g({values:e,typeName:Ue.ZodNativeEnum,...Qe(t)});class xf extends tt{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==xe.promise&&n.common.async===!1)return Te(n,{code:me.invalid_type,expected:xe.promise,received:n.parsedType}),je;const r=n.parsedType===xe.promise?n.data:Promise.resolve(n.data);return li(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}xf.create=(e,t)=>new xf({type:e,typeName:Ue.ZodPromise,...Qe(t)});class ts extends tt{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Ue.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=this._def.effect||null;if(i.type==="preprocess"){const s=i.transform(r.data);return r.common.async?Promise.resolve(s).then(a=>this._def.schema._parseAsync({data:a,path:r.path,parent:r})):this._def.schema._parseSync({data:s,path:r.path,parent:r})}const o={addIssue:s=>{Te(r,s),s.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),i.type==="refinement"){const s=a=>{const l=i.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?je:(a.status==="dirty"&&n.dirty(),s(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?je:(a.status==="dirty"&&n.dirty(),s(a.value).then(()=>({status:n.value,value:a.value}))))}if(i.type==="transform")if(r.common.async===!1){const s=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!p1(s))return s;const a=i.transform(s.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(s=>p1(s)?Promise.resolve(i.transform(s.value,o)).then(a=>({status:n.value,value:a})):s);wt.assertNever(i)}}ts.create=(e,t,n)=>new ts({schema:e,typeName:Ue.ZodEffects,effect:t,...Qe(n)});ts.createWithPreprocess=(e,t,n)=>new ts({schema:t,effect:{type:"preprocess",transform:e},typeName:Ue.ZodEffects,...Qe(n)});class _a extends tt{_parse(t){return this._getType(t)===xe.undefined?li(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}_a.create=(e,t)=>new _a({innerType:e,typeName:Ue.ZodOptional,...Qe(t)});class ic extends tt{_parse(t){return this._getType(t)===xe.null?li(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}ic.create=(e,t)=>new ic({innerType:e,typeName:Ue.ZodNullable,...Qe(t)});class bg extends tt{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===xe.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}bg.create=(e,t)=>new bg({innerType:e,typeName:Ue.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Qe(t)});class _1 extends tt{_parse(t){const{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return g1(i)?i.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Xo(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Xo(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}_1.create=(e,t)=>new _1({innerType:e,typeName:Ue.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Qe(t)});class b1 extends tt{_parse(t){if(this._getType(t)!==xe.nan){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.nan,received:r.parsedType}),je}return{status:"valid",value:t.data}}}b1.create=e=>new b1({typeName:Ue.ZodNaN,...Qe(e)});const xle=Symbol("zod_brand");class HD extends tt{_parse(t){const{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class hm extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{const o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?je:o.status==="dirty"?(n.dirty(),jD(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{const i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?je:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(t,n){return new hm({in:t,out:n,typeName:Ue.ZodPipeline})}}const WD=(e,t={},n)=>e?wf.create().superRefine((r,i)=>{var o,s;if(!e(r)){const a=typeof t=="function"?t(r):typeof t=="string"?{message:t}:t,l=(s=(o=a.fatal)!==null&&o!==void 0?o:n)!==null&&s!==void 0?s:!0,u=typeof a=="string"?{message:a}:a;i.addIssue({code:"custom",...u,fatal:l})}}):wf.create(),Cle={object:gn.lazycreate};var Ue;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline"})(Ue||(Ue={}));const Tle=(e,t={message:`Input not instance of ${e.name}`})=>WD(n=>n instanceof e,t),qD=Ho.create,KD=zl.create,Ele=b1.create,Ale=Vl.create,XD=dg.create,Ple=nc.create,Rle=m1.create,Ole=fg.create,kle=hg.create,Ile=wf.create,Mle=Gu.create,Nle=Oa.create,Lle=y1.create,Dle=Yo.create,$le=gn.create,Fle=gn.strictCreate,Ble=pg.create,Ule=ib.create,zle=gg.create,Vle=Ns.create,jle=mg.create,Gle=v1.create,Hle=rc.create,Wle=Jd.create,qle=yg.create,Kle=vg.create,Xle=jl.create,Yle=_g.create,Qle=xf.create,N9=ts.create,Zle=_a.create,Jle=ic.create,eue=ts.createWithPreprocess,tue=hm.create,nue=()=>qD().optional(),rue=()=>KD().optional(),iue=()=>XD().optional(),oue={string:e=>Ho.create({...e,coerce:!0}),number:e=>zl.create({...e,coerce:!0}),boolean:e=>dg.create({...e,coerce:!0}),bigint:e=>Vl.create({...e,coerce:!0}),date:e=>nc.create({...e,coerce:!0})},sue=je;var xt=Object.freeze({__proto__:null,defaultErrorMap:cg,setErrorMap:cle,getErrorMap:f1,makeIssue:h1,EMPTY_PATH:dle,addIssueToContext:Te,ParseStatus:Wr,INVALID:je,DIRTY:jD,OK:li,isAborted:T3,isDirty:E3,isValid:p1,isAsync:g1,get util(){return wt},get objectUtil(){return C3},ZodParsedType:xe,getParsedType:ml,ZodType:tt,ZodString:Ho,ZodNumber:zl,ZodBigInt:Vl,ZodBoolean:dg,ZodDate:nc,ZodSymbol:m1,ZodUndefined:fg,ZodNull:hg,ZodAny:wf,ZodUnknown:Gu,ZodNever:Oa,ZodVoid:y1,ZodArray:Yo,ZodObject:gn,ZodUnion:pg,ZodDiscriminatedUnion:ib,ZodIntersection:gg,ZodTuple:Ns,ZodRecord:mg,ZodMap:v1,ZodSet:rc,ZodFunction:Jd,ZodLazy:yg,ZodLiteral:vg,ZodEnum:jl,ZodNativeEnum:_g,ZodPromise:xf,ZodEffects:ts,ZodTransformer:ts,ZodOptional:_a,ZodNullable:ic,ZodDefault:bg,ZodCatch:_1,ZodNaN:b1,BRAND:xle,ZodBranded:HD,ZodPipeline:hm,custom:WD,Schema:tt,ZodSchema:tt,late:Cle,get ZodFirstPartyTypeKind(){return Ue},coerce:oue,any:Ile,array:Dle,bigint:Ale,boolean:XD,date:Ple,discriminatedUnion:Ule,effect:N9,enum:Xle,function:Wle,instanceof:Tle,intersection:zle,lazy:qle,literal:Kle,map:Gle,nan:Ele,nativeEnum:Yle,never:Nle,null:kle,nullable:Jle,number:KD,object:$le,oboolean:iue,onumber:rue,optional:Zle,ostring:nue,pipeline:tue,preprocess:eue,promise:Qle,record:jle,set:Hle,strictObject:Fle,string:qD,symbol:Rle,transformer:N9,tuple:Vle,undefined:Ole,union:Ble,unknown:Mle,void:Lle,NEVER:sue,ZodIssueCode:me,quotelessJson:ule,ZodError:Xo});const aue=xt.string(),iRe=e=>aue.safeParse(e).success,lue=xt.string(),oRe=e=>lue.safeParse(e).success,uue=xt.string(),sRe=e=>uue.safeParse(e).success,cue=xt.string(),aRe=e=>cue.safeParse(e).success,due=xt.number().int().min(1),lRe=e=>due.safeParse(e).success,fue=xt.number().min(1),uRe=e=>fue.safeParse(e).success,hue=xt.enum(["euler","deis","ddim","ddpm","dpmpp_2s","dpmpp_2m","dpmpp_2m_sde","dpmpp_sde","heun","kdpm_2","lms","pndm","unipc","euler_k","dpmpp_2s_k","dpmpp_2m_k","dpmpp_2m_sde_k","dpmpp_sde_k","heun_k","lms_k","euler_a","kdpm_2_a"]),cRe=e=>hue.safeParse(e).success,dRe={euler:"Euler",deis:"DEIS",ddim:"DDIM",ddpm:"DDPM",dpmpp_sde:"DPM++ SDE",dpmpp_2s:"DPM++ 2S",dpmpp_2m:"DPM++ 2M",dpmpp_2m_sde:"DPM++ 2M SDE",heun:"Heun",kdpm_2:"KDPM 2",lms:"LMS",pndm:"PNDM",unipc:"UniPC",euler_k:"Euler Karras",dpmpp_sde_k:"DPM++ SDE Karras",dpmpp_2s_k:"DPM++ 2S Karras",dpmpp_2m_k:"DPM++ 2M Karras",dpmpp_2m_sde_k:"DPM++ 2M SDE Karras",heun_k:"Heun Karras",lms_k:"LMS Karras",euler_a:"Euler Ancestral",kdpm_2_a:"KDPM 2 Ancestral"},pue=xt.number().int().min(0).max(lle),fRe=e=>pue.safeParse(e).success,gue=xt.number().multipleOf(8).min(64),hRe=e=>gue.safeParse(e).success,mue=xt.number().multipleOf(8).min(64),pRe=e=>mue.safeParse(e).success,pm=xt.enum(["sd-1","sd-2","sdxl","sdxl-refiner"]),ST=xt.object({model_name:xt.string().min(1),base_model:pm,model_type:xt.literal("main")}),gRe=e=>ST.safeParse(e).success,YD=xt.object({model_name:xt.string().min(1),base_model:xt.literal("sdxl-refiner"),model_type:xt.literal("main")}),mRe=e=>YD.safeParse(e).success,yue=xt.object({model_name:xt.string().min(1),base_model:pm,model_type:xt.literal("onnx")}),QD=xt.union([ST,yue]),vue=xt.object({model_name:xt.string().min(1),base_model:pm}),yRe=xt.object({model_name:xt.string().min(1),base_model:pm}),vRe=xt.object({model_name:xt.string().min(1),base_model:pm}),_ue=xt.number().min(0).max(1),_Re=e=>_ue.safeParse(e).success;xt.enum(["fp16","fp32"]);const bue=xt.number().min(1).max(10),bRe=e=>bue.safeParse(e).success,Sue=xt.number().min(0).max(1),SRe=e=>Sue.safeParse(e).success,Da={cfgScale:7.5,height:512,img2imgStrength:.75,infillMethod:"patchmatch",iterations:1,perlin:0,positivePrompt:"",negativePrompt:"",scheduler:"euler",seamBlur:16,seamSize:96,seamSteps:30,seamStrength:.7,seed:0,seedWeights:"",shouldFitToWidthHeight:!0,shouldGenerateVariations:!1,shouldRandomizeSeed:!0,shouldUseNoiseSettings:!1,steps:50,threshold:0,tileSize:32,variationAmount:.1,width:512,shouldUseSymmetry:!1,horizontalSymmetrySteps:0,verticalSymmetrySteps:0,model:null,vae:null,vaePrecision:"fp32",seamlessXAxis:!1,seamlessYAxis:!1,clipSkip:0,shouldUseCpuNoise:!0,shouldShowAdvancedOptions:!1,aspectRatio:null},wue=Da,ZD=yn({name:"generation",initialState:wue,reducers:{setPositivePrompt:(e,t)=>{e.positivePrompt=t.payload},setNegativePrompt:(e,t)=>{e.negativePrompt=t.payload},setIterations:(e,t)=>{e.iterations=t.payload},setSteps:(e,t)=>{e.steps=t.payload},clampSymmetrySteps:e=>{e.horizontalSymmetrySteps=bl(e.horizontalSymmetrySteps,0,e.steps),e.verticalSymmetrySteps=bl(e.verticalSymmetrySteps,0,e.steps)},setCfgScale:(e,t)=>{e.cfgScale=t.payload},setThreshold:(e,t)=>{e.threshold=t.payload},setPerlin:(e,t)=>{e.perlin=t.payload},setHeight:(e,t)=>{e.height=t.payload},setWidth:(e,t)=>{e.width=t.payload},toggleSize:e=>{const[t,n]=[e.width,e.height];e.width=n,e.height=t},setScheduler:(e,t)=>{e.scheduler=t.payload},setSeed:(e,t)=>{e.seed=t.payload,e.shouldRandomizeSeed=!1},setImg2imgStrength:(e,t)=>{e.img2imgStrength=t.payload},setSeamlessXAxis:(e,t)=>{e.seamlessXAxis=t.payload},setSeamlessYAxis:(e,t)=>{e.seamlessYAxis=t.payload},setShouldFitToWidthHeight:(e,t)=>{e.shouldFitToWidthHeight=t.payload},resetSeed:e=>{e.seed=-1},setShouldGenerateVariations:(e,t)=>{e.shouldGenerateVariations=t.payload},setVariationAmount:(e,t)=>{e.variationAmount=t.payload},setSeedWeights:(e,t)=>{e.seedWeights=t.payload,e.shouldGenerateVariations=!0,e.variationAmount=0},resetParametersState:e=>({...e,...Da}),setShouldRandomizeSeed:(e,t)=>{e.shouldRandomizeSeed=t.payload},clearInitialImage:e=>{e.initialImage=void 0},setSeamSize:(e,t)=>{e.seamSize=t.payload},setSeamBlur:(e,t)=>{e.seamBlur=t.payload},setSeamStrength:(e,t)=>{e.seamStrength=t.payload},setSeamSteps:(e,t)=>{e.seamSteps=t.payload},setTileSize:(e,t)=>{e.tileSize=t.payload},setInfillMethod:(e,t)=>{e.infillMethod=t.payload},setShouldUseSymmetry:(e,t)=>{e.shouldUseSymmetry=t.payload},setHorizontalSymmetrySteps:(e,t)=>{e.horizontalSymmetrySteps=t.payload},setVerticalSymmetrySteps:(e,t)=>{e.verticalSymmetrySteps=t.payload},setShouldUseNoiseSettings:(e,t)=>{e.shouldUseNoiseSettings=t.payload},initialImageChanged:(e,t)=>{const{image_name:n,width:r,height:i}=t.payload;e.initialImage={imageName:n,width:r,height:i}},modelChanged:(e,t)=>{if(e.model=t.payload,e.model===null)return;const{maxClip:n}=ale[e.model.base_model];e.clipSkip=bl(e.clipSkip,0,n)},vaeSelected:(e,t)=>{e.vae=t.payload},vaePrecisionChanged:(e,t)=>{e.vaePrecision=t.payload},setClipSkip:(e,t)=>{e.clipSkip=t.payload},shouldUseCpuNoiseChanged:(e,t)=>{e.shouldUseCpuNoise=t.payload},setShouldShowAdvancedOptions:(e,t)=>{e.shouldShowAdvancedOptions=t.payload,t.payload||(e.clipSkip=0)},setAspectRatio:(e,t)=>{const n=t.payload;e.aspectRatio=n,n&&(e.height=Ss(e.width/n,8))}},extraReducers:e=>{e.addCase(ole,(t,n)=>{var i;const r=(i=n.payload.sd)==null?void 0:i.defaultModel;if(r&&!t.model){const[o,s,a]=r.split("/"),l=ST.safeParse({model_name:a,base_model:o,model_type:s});l.success&&(t.model=l.data)}}),e.addCase(Cue,(t,n)=>{n.payload||(t.clipSkip=0)})}}),{clampSymmetrySteps:wRe,clearInitialImage:wT,resetParametersState:xRe,resetSeed:CRe,setCfgScale:TRe,setWidth:ERe,setHeight:ARe,toggleSize:PRe,setImg2imgStrength:RRe,setInfillMethod:xue,setIterations:ORe,setPerlin:kRe,setPositivePrompt:IRe,setNegativePrompt:MRe,setScheduler:NRe,setSeamBlur:LRe,setSeamSize:DRe,setSeamSteps:$Re,setSeamStrength:FRe,setSeed:BRe,setSeedWeights:URe,setShouldFitToWidthHeight:zRe,setShouldGenerateVariations:VRe,setShouldRandomizeSeed:jRe,setSteps:GRe,setThreshold:HRe,setTileSize:WRe,setVariationAmount:qRe,setShouldUseSymmetry:KRe,setHorizontalSymmetrySteps:XRe,setVerticalSymmetrySteps:YRe,initialImageChanged:ob,modelChanged:Sl,vaeSelected:JD,setShouldUseNoiseSettings:QRe,setSeamlessXAxis:ZRe,setSeamlessYAxis:JRe,setClipSkip:eOe,shouldUseCpuNoiseChanged:tOe,setShouldShowAdvancedOptions:Cue,setAspectRatio:Tue,vaePrecisionChanged:nOe}=ZD.actions,Eue=ZD.reducer,e$=["txt2img","img2img","unifiedCanvas","nodes","modelManager","batch"],L9=(e,t)=>{typeof t=="number"?e.activeTab=t:e.activeTab=e$.indexOf(t)},t$={activeTab:0,shouldPinParametersPanel:!0,shouldShowParametersPanel:!0,shouldShowImageDetails:!1,shouldUseCanvasBetaLayout:!1,shouldShowExistingModelsInSearch:!1,shouldUseSliders:!1,shouldPinGallery:!0,shouldShowGallery:!0,shouldHidePreview:!1,shouldShowProgressInViewer:!0,shouldShowEmbeddingPicker:!1,favoriteSchedulers:[]},n$=yn({name:"ui",initialState:t$,reducers:{setActiveTab:(e,t)=>{L9(e,t.payload)},setShouldPinParametersPanel:(e,t)=>{e.shouldPinParametersPanel=t.payload,e.shouldShowParametersPanel=!0},setShouldShowParametersPanel:(e,t)=>{e.shouldShowParametersPanel=t.payload},setShouldShowImageDetails:(e,t)=>{e.shouldShowImageDetails=t.payload},setShouldUseCanvasBetaLayout:(e,t)=>{e.shouldUseCanvasBetaLayout=t.payload},setShouldHidePreview:(e,t)=>{e.shouldHidePreview=t.payload},setShouldShowExistingModelsInSearch:(e,t)=>{e.shouldShowExistingModelsInSearch=t.payload},setShouldUseSliders:(e,t)=>{e.shouldUseSliders=t.payload},setShouldShowGallery:(e,t)=>{e.shouldShowGallery=t.payload},togglePinGalleryPanel:e=>{e.shouldPinGallery=!e.shouldPinGallery,e.shouldPinGallery||(e.shouldShowGallery=!0)},togglePinParametersPanel:e=>{e.shouldPinParametersPanel=!e.shouldPinParametersPanel,e.shouldPinParametersPanel||(e.shouldShowParametersPanel=!0)},toggleParametersPanel:e=>{e.shouldShowParametersPanel=!e.shouldShowParametersPanel},toggleGalleryPanel:e=>{e.shouldShowGallery=!e.shouldShowGallery},togglePanels:e=>{e.shouldShowGallery||e.shouldShowParametersPanel?(e.shouldShowGallery=!1,e.shouldShowParametersPanel=!1):(e.shouldShowGallery=!0,e.shouldShowParametersPanel=!0)},setShouldShowProgressInViewer:(e,t)=>{e.shouldShowProgressInViewer=t.payload},favoriteSchedulersChanged:(e,t)=>{e.favoriteSchedulers=t.payload},toggleEmbeddingPicker:e=>{e.shouldShowEmbeddingPicker=!e.shouldShowEmbeddingPicker}},extraReducers(e){e.addCase(ob,t=>{L9(t,"img2img")})}}),{setActiveTab:r$,setShouldPinParametersPanel:rOe,setShouldShowParametersPanel:iOe,setShouldShowImageDetails:oOe,setShouldUseCanvasBetaLayout:Aue,setShouldShowExistingModelsInSearch:sOe,setShouldUseSliders:aOe,setShouldHidePreview:lOe,setShouldShowGallery:uOe,togglePanels:cOe,togglePinGalleryPanel:dOe,togglePinParametersPanel:fOe,toggleParametersPanel:hOe,toggleGalleryPanel:pOe,setShouldShowProgressInViewer:gOe,favoriteSchedulersChanged:mOe,toggleEmbeddingPicker:yOe}=n$.actions,Pue=n$.reducer;let ti=[],gm=(e,t)=>{let n=[],r={get(){return r.lc||r.listen(()=>{})(),r.value},l:t||0,lc:0,listen(i,o){return r.lc=n.push(i,o||r.l)/2,()=>{let s=n.indexOf(i);~s&&(n.splice(s,2),r.lc--,r.lc||r.off())}},notify(i){let o=!ti.length;for(let s=0;s(e.events=e.events||{},e.events[n+g0]||(e.events[n+g0]=r(i=>{e.events[n].reduceRight((o,s)=>(s(o),o),{shared:{},...i})})),e.events[n]=e.events[n]||[],e.events[n].push(t),()=>{let i=e.events[n],o=i.indexOf(t);i.splice(o,1),i.length||(delete e.events[n],e.events[n+g0](),delete e.events[n+g0])}),kue=1e3,Iue=(e,t)=>Oue(e,r=>{let i=t(r);i&&e.events[p0].push(i)},Rue,r=>{let i=e.listen;e.listen=(...s)=>(!e.lc&&!e.active&&(e.active=!0,r()),i(...s));let o=e.off;return e.events[p0]=[],e.off=()=>{o(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let s of e.events[p0])s();e.events[p0]=[]}},kue)},()=>{e.listen=i,e.off=o}}),Mue=(e,t)=>{Array.isArray(e)||(e=[e]);let n,r=()=>{let o=e.map(s=>s.get());(n===void 0||o.some((s,a)=>s!==n[a]))&&(n=o,i.set(t(...o)))},i=gm(void 0,Math.max(...e.map(o=>o.l))+1);return Iue(i,()=>{let o=e.map(s=>s.listen(r,i.l));return r(),()=>{for(let s of o)s()}}),i};const Nue={"Content-Type":"application/json"},Lue=/\/*$/;function Due(e){const t=new URLSearchParams;if(e&&typeof e=="object")for(const[n,r]of Object.entries(e))r!=null&&t.set(n,r);return t.toString()}function $ue(e){return JSON.stringify(e)}function Fue(e,t){let n=`${t.baseUrl?t.baseUrl.replace(Lue,""):""}${e}`;if(t.params.path)for(const[r,i]of Object.entries(t.params.path))n=n.replace(`{${r}}`,encodeURIComponent(String(i)));if(t.params.query){const r=t.querySerializer(t.params.query);r&&(n+=`?${r}`)}return n}function Bue(e={}){const{fetch:t=globalThis.fetch,querySerializer:n,bodySerializer:r,...i}=e,o=new Headers({...Nue,...i.headers??{}});async function s(a,l){const{headers:u,body:d,params:f={},parseAs:p="json",querySerializer:g=n??Due,bodySerializer:m=r??$ue,...v}=l||{},x=Fue(a,{baseUrl:i.baseUrl,params:f,querySerializer:g}),_=new Headers(o),b=new Headers(u);for(const[T,E]of b.entries())E==null?_.delete(T):_.set(T,E);const y={redirect:"follow",...i,...v,headers:_};d&&(y.body=m(d)),y.body instanceof FormData&&_.delete("Content-Type");const S=await t(x,y);if(S.status===204||S.headers.get("Content-Length")==="0")return S.ok?{data:{},response:S}:{error:{},response:S};if(S.ok){let T=S.body;if(p!=="stream"){const E=S.clone();T=typeof E[p]=="function"?await E[p]():await E.text()}return{data:T,response:S}}let C={};try{C=await S.clone().json()}catch{C=await S.clone().text()}return{error:C,response:S}}return{async get(a,l){return s(a,{...l,method:"GET"})},async put(a,l){return s(a,{...l,method:"PUT"})},async post(a,l){return s(a,{...l,method:"POST"})},async del(a,l){return s(a,{...l,method:"DELETE"})},async options(a,l){return s(a,{...l,method:"OPTIONS"})},async head(a,l){return s(a,{...l,method:"HEAD"})},async patch(a,l){return s(a,{...l,method:"PATCH"})},async trace(a,l){return s(a,{...l,method:"TRACE"})}}}const Sg=gm(),wg=gm(),S1=gm(),sb=Mue([Sg,wg,S1],(e,t,n)=>Bue({headers:{...e?{Authorization:`Bearer ${e}`}:{},...n?{"project-id":n}:{}},baseUrl:`${t??""}`})),Ir=Ul("api/sessionCreated",async(e,{rejectWithValue:t})=>{const{graph:n}=e,{post:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{body:n});return o?t({arg:e,status:s.status,error:o}):i}),Uue=e=>Pi(e)&&"status"in e,mm=Ul("api/sessionInvoked",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{put:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{query:{all:!0},path:{session_id:n}}});if(o)return Uue(o)&&o.status===403?t({arg:e,status:s.status,error:o.body.detail}):t({arg:e,status:s.status,error:o})}),mc=Ul("api/sessionCanceled",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{del:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{path:{session_id:n}}});return o?t({arg:e,error:o}):i});Ul("api/listSessions",async(e,{rejectWithValue:t})=>{const{params:n}=e,{get:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{params:n});return o?t({arg:e,error:o}):i});const i$=Co(Ir.rejected,mm.rejected),td=(e,t,n,r,i,o,s)=>{const a=Math.floor(e/2-(n+i/2)*s),l=Math.floor(t/2-(r+o/2)*s);return{x:a,y:l}},nd=(e,t,n,r,i=.95)=>{const o=e*i/n,s=t*i/r;return Math.min(1,Math.min(o,s))},vOe=.999,_Oe=.1,bOe=20,zh=.95,SOe=30,wOe=10,D9=e=>({x:Math.floor(e.x),y:Math.floor(e.y)}),bu=e=>{const{width:t,height:n}=e,r={width:t,height:n},i=512*512,o=t/n;let s=t*n,a=448;for(;s1?(r.width=a,r.height=Ss(a/o,64)):o<1&&(r.height=a,r.width=Ss(a*o,64)),s=r.width*r.height;return r},zue=e=>({width:Ss(e.width,64),height:Ss(e.height,64)}),xOe=[{label:"Base",value:"base"},{label:"Mask",value:"mask"}],COe=[{label:"Auto",value:"auto"},{label:"Manual",value:"manual"},{label:"None",value:"none"}],o$=e=>e.kind==="line"&&e.layer==="mask",TOe=e=>e.kind==="line"&&e.layer==="base",$9=e=>e.kind==="image"&&e.layer==="base",EOe=e=>e.kind==="fillRect"&&e.layer==="base",AOe=e=>e.kind==="eraseRect"&&e.layer==="base",Vue=e=>e.kind==="line",vd={objects:[],stagingArea:{images:[],selectedImageIndex:-1}},s$={boundingBoxCoordinates:{x:0,y:0},boundingBoxDimensions:{width:512,height:512},boundingBoxPreviewFill:{r:0,g:0,b:0,a:.5},boundingBoxScaleMethod:"auto",brushColor:{r:90,g:90,b:255,a:1},brushSize:50,canvasContainerDimensions:{width:0,height:0},colorPickerColor:{r:90,g:90,b:255,a:1},cursorPosition:null,doesCanvasNeedScaling:!1,futureLayerStates:[],isCanvasInitialized:!1,isDrawing:!1,isMaskEnabled:!0,isMouseOverBoundingBox:!1,isMoveBoundingBoxKeyHeld:!1,isMoveStageKeyHeld:!1,isMovingBoundingBox:!1,isMovingStage:!1,isTransformingBoundingBox:!1,layer:"base",layerState:vd,maskColor:{r:255,g:90,b:90,a:1},maxHistory:128,minimumStageScale:1,pastLayerStates:[],scaledBoundingBoxDimensions:{width:512,height:512},shouldAntialias:!0,shouldAutoSave:!1,shouldCropToBoundingBoxOnSave:!1,shouldDarkenOutsideBoundingBox:!1,shouldLockBoundingBox:!1,shouldPreserveMaskedArea:!1,shouldRestrictStrokesToBox:!0,shouldShowBoundingBox:!0,shouldShowBrush:!0,shouldShowBrushPreview:!1,shouldShowCanvasDebugInfo:!1,shouldShowCheckboardTransparency:!1,shouldShowGrid:!0,shouldShowIntermediates:!0,shouldShowStagingImage:!0,shouldShowStagingOutline:!0,shouldSnapToGrid:!0,stageCoordinates:{x:0,y:0},stageDimensions:{width:0,height:0},stageScale:1,tool:"brush"},a$=yn({name:"canvas",initialState:s$,reducers:{setTool:(e,t)=>{const n=t.payload;e.tool=t.payload,n!=="move"&&(e.isTransformingBoundingBox=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1)},setLayer:(e,t)=>{e.layer=t.payload},toggleTool:e=>{const t=e.tool;t!=="move"&&(e.tool=t==="brush"?"eraser":"brush")},setMaskColor:(e,t)=>{e.maskColor=t.payload},setBrushColor:(e,t)=>{e.brushColor=t.payload},setBrushSize:(e,t)=>{e.brushSize=t.payload},clearMask:e=>{e.pastLayerStates.push(Ur(e.layerState)),e.layerState.objects=e.layerState.objects.filter(t=>!o$(t)),e.futureLayerStates=[],e.shouldPreserveMaskedArea=!1},toggleShouldInvertMask:e=>{e.shouldPreserveMaskedArea=!e.shouldPreserveMaskedArea},toggleShouldShowMask:e=>{e.isMaskEnabled=!e.isMaskEnabled},setShouldPreserveMaskedArea:(e,t)=>{e.shouldPreserveMaskedArea=t.payload},setIsMaskEnabled:(e,t)=>{e.isMaskEnabled=t.payload,e.layer=t.payload?"mask":"base"},setShouldShowCheckboardTransparency:(e,t)=>{e.shouldShowCheckboardTransparency=t.payload},setShouldShowBrushPreview:(e,t)=>{e.shouldShowBrushPreview=t.payload},setShouldShowBrush:(e,t)=>{e.shouldShowBrush=t.payload},setCursorPosition:(e,t)=>{e.cursorPosition=t.payload},setInitialCanvasImage:(e,t)=>{const n=t.payload,{width:r,height:i}=n,{stageDimensions:o}=e,s={width:f0(bl(r,64,512),64),height:f0(bl(i,64,512),64)},a={x:Ss(r/2-s.width/2,64),y:Ss(i/2-s.height/2,64)};if(e.boundingBoxScaleMethod==="auto"){const d=bu(s);e.scaledBoundingBoxDimensions=d}e.boundingBoxDimensions=s,e.boundingBoxCoordinates=a,e.pastLayerStates.push(Ur(e.layerState)),e.layerState={...vd,objects:[{kind:"image",layer:"base",x:0,y:0,width:r,height:i,imageName:n.image_name}]},e.futureLayerStates=[],e.isCanvasInitialized=!1;const l=nd(o.width,o.height,r,i,zh),u=td(o.width,o.height,0,0,r,i,l);e.stageScale=l,e.stageCoordinates=u,e.doesCanvasNeedScaling=!0},setBoundingBoxDimensions:(e,t)=>{const n=zue(t.payload);if(e.boundingBoxDimensions=n,e.boundingBoxScaleMethod==="auto"){const r=bu(n);e.scaledBoundingBoxDimensions=r}},flipBoundingBoxAxes:e=>{const[t,n]=[e.boundingBoxDimensions.width,e.boundingBoxDimensions.height];e.boundingBoxDimensions={width:n,height:t}},setBoundingBoxCoordinates:(e,t)=>{e.boundingBoxCoordinates=D9(t.payload)},setStageCoordinates:(e,t)=>{e.stageCoordinates=t.payload},setBoundingBoxPreviewFill:(e,t)=>{e.boundingBoxPreviewFill=t.payload},setDoesCanvasNeedScaling:(e,t)=>{e.doesCanvasNeedScaling=t.payload},setStageScale:(e,t)=>{e.stageScale=t.payload},setShouldDarkenOutsideBoundingBox:(e,t)=>{e.shouldDarkenOutsideBoundingBox=t.payload},setIsDrawing:(e,t)=>{e.isDrawing=t.payload},clearCanvasHistory:e=>{e.pastLayerStates=[],e.futureLayerStates=[]},setShouldLockBoundingBox:(e,t)=>{e.shouldLockBoundingBox=t.payload},toggleShouldLockBoundingBox:e=>{e.shouldLockBoundingBox=!e.shouldLockBoundingBox},setShouldShowBoundingBox:(e,t)=>{e.shouldShowBoundingBox=t.payload},setIsTransformingBoundingBox:(e,t)=>{e.isTransformingBoundingBox=t.payload},setIsMovingBoundingBox:(e,t)=>{e.isMovingBoundingBox=t.payload},setIsMouseOverBoundingBox:(e,t)=>{e.isMouseOverBoundingBox=t.payload},setIsMoveBoundingBoxKeyHeld:(e,t)=>{e.isMoveBoundingBoxKeyHeld=t.payload},setIsMoveStageKeyHeld:(e,t)=>{e.isMoveStageKeyHeld=t.payload},canvasSessionIdChanged:(e,t)=>{e.layerState.stagingArea.sessionId=t.payload},stagingAreaInitialized:(e,t)=>{const{sessionId:n,boundingBox:r}=t.payload;e.layerState.stagingArea={boundingBox:r,sessionId:n,images:[],selectedImageIndex:-1}},addImageToStagingArea:(e,t)=>{const n=t.payload;!n||!e.layerState.stagingArea.boundingBox||(e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea.images.push({kind:"image",layer:"base",...e.layerState.stagingArea.boundingBox,imageName:n.image_name}),e.layerState.stagingArea.selectedImageIndex=e.layerState.stagingArea.images.length-1,e.futureLayerStates=[])},discardStagedImages:e=>{e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea={...vd.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingOutline=!0},addFillRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,brushColor:r}=e;e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"fillRect",layer:"base",...t,...n,color:r}),e.futureLayerStates=[]},addEraseRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n}=e;e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"eraseRect",layer:"base",...t,...n}),e.futureLayerStates=[]},addLine:(e,t)=>{const{tool:n,layer:r,brushColor:i,brushSize:o,shouldRestrictStrokesToBox:s}=e;if(n==="move"||n==="colorPicker")return;const a=o/2,l=r==="base"&&n==="brush"?{color:i}:{};e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const u={kind:"line",layer:r,tool:n,strokeWidth:a,points:t.payload,...l};s&&(u.clip={...e.boundingBoxCoordinates,...e.boundingBoxDimensions}),e.layerState.objects.push(u),e.futureLayerStates=[]},addPointToCurrentLine:(e,t)=>{const n=e.layerState.objects.findLast(Vue);n&&n.points.push(...t.payload)},undo:e=>{const t=e.pastLayerStates.pop();t&&(e.futureLayerStates.unshift(Ur(e.layerState)),e.futureLayerStates.length>e.maxHistory&&e.futureLayerStates.pop(),e.layerState=t)},redo:e=>{const t=e.futureLayerStates.shift();t&&(e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState=t)},setShouldShowGrid:(e,t)=>{e.shouldShowGrid=t.payload},setIsMovingStage:(e,t)=>{e.isMovingStage=t.payload},setShouldSnapToGrid:(e,t)=>{e.shouldSnapToGrid=t.payload},setShouldAutoSave:(e,t)=>{e.shouldAutoSave=t.payload},setShouldShowIntermediates:(e,t)=>{e.shouldShowIntermediates=t.payload},resetCanvas:e=>{e.pastLayerStates.push(Ur(e.layerState)),e.layerState=vd,e.futureLayerStates=[]},setCanvasContainerDimensions:(e,t)=>{e.canvasContainerDimensions=t.payload},resizeAndScaleCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r=e.layerState.objects.find($9),i={width:Math.floor(t),height:Math.floor(n)};if(!r){const d=nd(i.width,i.height,512,512,zh),f=td(i.width,i.height,0,0,512,512,d),p={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=f,e.stageDimensions=i,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=p,e.boundingBoxScaleMethod==="auto"){const g=bu(p);e.scaledBoundingBoxDimensions=g}return}const{width:o,height:s}=r,l=nd(t,n,o,s,.95),u=td(i.width,i.height,0,0,o,s,l);e.minimumStageScale=l,e.stageScale=l,e.stageCoordinates=D9(u),e.stageDimensions=i,e.isCanvasInitialized=!0},resizeCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r={width:Math.floor(t),height:Math.floor(n)};if(e.stageDimensions=r,!e.layerState.objects.find($9)){const i=nd(r.width,r.height,512,512,zh),o=td(r.width,r.height,0,0,512,512,i),s={width:512,height:512};if(e.stageScale=i,e.stageCoordinates=o,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=s,e.boundingBoxScaleMethod==="auto"){const a=bu(s);e.scaledBoundingBoxDimensions=a}}},resetCanvasView:(e,t)=>{const{contentRect:n,shouldScaleTo1:r}=t.payload,{stageDimensions:{width:i,height:o}}=e,{x:s,y:a,width:l,height:u}=n;if(l!==0&&u!==0){const d=r?1:nd(i,o,l,u,zh),f=td(i,o,s,a,l,u,d);e.stageScale=d,e.stageCoordinates=f}else{const d=nd(i,o,512,512,zh),f=td(i,o,0,0,512,512,d),p={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=f,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=p,e.boundingBoxScaleMethod==="auto"){const g=bu(p);e.scaledBoundingBoxDimensions=g}}},nextStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex,n=e.layerState.stagingArea.images.length;e.layerState.stagingArea.selectedImageIndex=Math.min(t+1,n-1)},prevStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex;e.layerState.stagingArea.selectedImageIndex=Math.max(t-1,0)},commitStagingAreaImage:(e,t)=>{if(!e.layerState.stagingArea.images.length)return;const{images:n,selectedImageIndex:r}=e.layerState.stagingArea;e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const i=n[r];i&&e.layerState.objects.push({...i}),e.layerState.stagingArea={...vd.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingImage=!0},fitBoundingBoxToStage:e=>{const{boundingBoxDimensions:t,boundingBoxCoordinates:n,stageDimensions:r,stageScale:i}=e,o=r.width/i,s=r.height/i;if(n.x<0||n.x+t.width>o||n.y<0||n.y+t.height>s){const a={width:f0(bl(o,64,512),64),height:f0(bl(s,64,512),64)},l={x:Ss(o/2-a.width/2,64),y:Ss(s/2-a.height/2,64)};if(e.boundingBoxDimensions=a,e.boundingBoxCoordinates=l,e.boundingBoxScaleMethod==="auto"){const u=bu(a);e.scaledBoundingBoxDimensions=u}}},setBoundingBoxScaleMethod:(e,t)=>{if(e.boundingBoxScaleMethod=t.payload,t.payload==="auto"){const n=bu(e.boundingBoxDimensions);e.scaledBoundingBoxDimensions=n}},setScaledBoundingBoxDimensions:(e,t)=>{e.scaledBoundingBoxDimensions=t.payload},setShouldShowStagingImage:(e,t)=>{e.shouldShowStagingImage=t.payload},setShouldShowStagingOutline:(e,t)=>{e.shouldShowStagingOutline=t.payload},setShouldShowCanvasDebugInfo:(e,t)=>{e.shouldShowCanvasDebugInfo=t.payload},setShouldRestrictStrokesToBox:(e,t)=>{e.shouldRestrictStrokesToBox=t.payload},setShouldAntialias:(e,t)=>{e.shouldAntialias=t.payload},setShouldCropToBoundingBoxOnSave:(e,t)=>{e.shouldCropToBoundingBoxOnSave=t.payload},setColorPickerColor:(e,t)=>{e.colorPickerColor=t.payload},commitColorPickerColor:e=>{e.brushColor={...e.colorPickerColor,a:e.brushColor.a},e.tool="brush"},setMergedCanvas:(e,t)=>{e.pastLayerStates.push(Ur(e.layerState)),e.futureLayerStates=[],e.layerState.objects=[t.payload]},resetCanvasInteractionState:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMoveBoundingBoxKeyHeld=!1,e.isMoveStageKeyHeld=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1,e.isTransformingBoundingBox=!1},mouseLeftCanvas:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isTransformingBoundingBox=!1}},extraReducers:e=>{e.addCase(mc.pending,t=>{t.layerState.stagingArea.images.length||(t.layerState.stagingArea=vd.stagingArea)}),e.addCase(Aue,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(r$,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(Tue,(t,n)=>{const r=n.payload;r&&(t.boundingBoxDimensions.height=Ss(t.boundingBoxDimensions.width/r,64))})}}),{addEraseRect:POe,addFillRect:ROe,addImageToStagingArea:jue,addLine:OOe,addPointToCurrentLine:kOe,clearCanvasHistory:IOe,clearMask:MOe,commitColorPickerColor:NOe,commitStagingAreaImage:Gue,discardStagedImages:LOe,fitBoundingBoxToStage:DOe,mouseLeftCanvas:$Oe,nextStagingAreaImage:FOe,prevStagingAreaImage:BOe,redo:UOe,resetCanvas:xT,resetCanvasInteractionState:zOe,resetCanvasView:VOe,resizeAndScaleCanvas:jOe,resizeCanvas:GOe,setBoundingBoxCoordinates:HOe,setBoundingBoxDimensions:WOe,setBoundingBoxPreviewFill:qOe,setBoundingBoxScaleMethod:KOe,flipBoundingBoxAxes:XOe,setBrushColor:YOe,setBrushSize:QOe,setCanvasContainerDimensions:ZOe,setColorPickerColor:JOe,setCursorPosition:eke,setDoesCanvasNeedScaling:tke,setInitialCanvasImage:l$,setIsDrawing:nke,setIsMaskEnabled:rke,setIsMouseOverBoundingBox:ike,setIsMoveBoundingBoxKeyHeld:oke,setIsMoveStageKeyHeld:ske,setIsMovingBoundingBox:ake,setIsMovingStage:lke,setIsTransformingBoundingBox:uke,setLayer:cke,setMaskColor:dke,setMergedCanvas:Hue,setShouldAutoSave:fke,setShouldCropToBoundingBoxOnSave:hke,setShouldDarkenOutsideBoundingBox:pke,setShouldLockBoundingBox:gke,setShouldPreserveMaskedArea:mke,setShouldShowBoundingBox:yke,setShouldShowBrush:vke,setShouldShowBrushPreview:_ke,setShouldShowCanvasDebugInfo:bke,setShouldShowCheckboardTransparency:Ske,setShouldShowGrid:wke,setShouldShowIntermediates:xke,setShouldShowStagingImage:Cke,setShouldShowStagingOutline:Tke,setShouldSnapToGrid:Eke,setStageCoordinates:Ake,setStageScale:Pke,setTool:Rke,toggleShouldLockBoundingBox:Oke,toggleTool:kke,undo:Ike,setScaledBoundingBoxDimensions:Mke,setShouldRestrictStrokesToBox:Nke,stagingAreaInitialized:Wue,canvasSessionIdChanged:que,setShouldAntialias:Lke}=a$.actions,Kue=a$.reducer,Vr=["general"],wl=["control","mask","user","other"],Xue=100,F9=20;var w1={exports:{}};/** * @license * Lodash * Copyright OpenJS Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */w1.exports;(function(e,t){(function(){var n,r="4.17.21",i=200,o="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",s="Expected a function",a="Invalid `variable` option passed into `_.template`",l="__lodash_hash_undefined__",u=500,d="__lodash_placeholder__",f=1,p=2,g=4,m=1,v=2,x=1,_=2,b=4,y=8,S=16,C=32,T=64,E=128,P=256,k=512,O=30,M="...",G=800,U=16,A=1,N=2,F=3,B=1/0,D=9007199254740991,V=17976931348623157e292,j=0/0,q=4294967295,Z=q-1,ee=q>>>1,ie=[["ary",E],["bind",x],["bindKey",_],["curry",y],["curryRight",S],["flip",k],["partial",C],["partialRight",T],["rearg",P]],se="[object Arguments]",le="[object Array]",W="[object AsyncFunction]",ne="[object Boolean]",fe="[object Date]",pe="[object DOMException]",ve="[object Error]",ye="[object Function]",We="[object GeneratorFunction]",Me="[object Map]",Ee="[object Number]",lt="[object Null]",_e="[object Object]",jt="[object Promise]",Wn="[object Proxy]",Bt="[object RegExp]",it="[object Set]",mt="[object String]",Jt="[object Symbol]",Mr="[object Undefined]",yr="[object WeakMap]",hi="[object WeakSet]",wn="[object ArrayBuffer]",on="[object DataView]",qn="[object Float32Array]",sn="[object Float64Array]",Gt="[object Int8Array]",vr="[object Int16Array]",Nr="[object Int32Array]",Xr="[object Uint8Array]",Ii="[object Uint8ClampedArray]",An="[object Uint16Array]",Yr="[object Uint32Array]",Vs=/\b__p \+= '';/g,Ji=/\b(__p \+=) '' \+/g,js=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Xt=/&(?:amp|lt|gt|quot|#39);/g,kt=/[&<>"']/g,Kn=RegExp(Xt.source),$n=RegExp(kt.source),or=/<%-([\s\S]+?)%>/g,_r=/<%([\s\S]+?)%>/g,br=/<%=([\s\S]+?)%>/g,eo=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Sr=/^\w*$/,Xn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Mi=/[\\^$.*+?()[\]{}|]/g,os=RegExp(Mi.source),to=/^\s+/,Va=/\s/,Ao=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,wr=/\{\n\/\* \[wrapped with (.+)\] \*/,Gs=/,? & /,Zf=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Jf=/[()=,{}\[\]\/\s]/,eh=/\\(\\)?/g,th=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Po=/\w*$/,nh=/^[-+]0x[0-9a-f]+$/i,rh=/^0b[01]+$/i,kc=/^\[object .+?Constructor\]$/,ih=/^0o[0-7]+$/i,oh=/^(?:0|[1-9]\d*)$/,sh=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ss=/($^)/,ah=/['\n\r\u2028\u2029\\]/g,Ro="\\ud800-\\udfff",ja="\\u0300-\\u036f",lh="\\ufe20-\\ufe2f",Ga="\\u20d0-\\u20ff",cu=ja+lh+Ga,Ic="\\u2700-\\u27bf",Ha="a-z\\xdf-\\xf6\\xf8-\\xff",p2="\\xac\\xb1\\xd7\\xf7",Gm="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",g2="\\u2000-\\u206f",m2=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Hm="A-Z\\xc0-\\xd6\\xd8-\\xde",Wm="\\ufe0e\\ufe0f",qm=p2+Gm+g2+m2,uh="['’]",y2="["+Ro+"]",Km="["+qm+"]",Mc="["+cu+"]",Xm="\\d+",Nc="["+Ic+"]",Lc="["+Ha+"]",Ym="[^"+Ro+qm+Xm+Ic+Ha+Hm+"]",ch="\\ud83c[\\udffb-\\udfff]",Qm="(?:"+Mc+"|"+ch+")",Zm="[^"+Ro+"]",dh="(?:\\ud83c[\\udde6-\\uddff]){2}",fh="[\\ud800-\\udbff][\\udc00-\\udfff]",Hs="["+Hm+"]",Jm="\\u200d",ey="(?:"+Lc+"|"+Ym+")",v2="(?:"+Hs+"|"+Ym+")",Dc="(?:"+uh+"(?:d|ll|m|re|s|t|ve))?",ty="(?:"+uh+"(?:D|LL|M|RE|S|T|VE))?",ny=Qm+"?",ry="["+Wm+"]?",$c="(?:"+Jm+"(?:"+[Zm,dh,fh].join("|")+")"+ry+ny+")*",hh="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ph="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Fc=ry+ny+$c,_2="(?:"+[Nc,dh,fh].join("|")+")"+Fc,iy="(?:"+[Zm+Mc+"?",Mc,dh,fh,y2].join("|")+")",gh=RegExp(uh,"g"),oy=RegExp(Mc,"g"),Oo=RegExp(ch+"(?="+ch+")|"+iy+Fc,"g"),du=RegExp([Hs+"?"+Lc+"+"+Dc+"(?="+[Km,Hs,"$"].join("|")+")",v2+"+"+ty+"(?="+[Km,Hs+ey,"$"].join("|")+")",Hs+"?"+ey+"+"+Dc,Hs+"+"+ty,ph,hh,Xm,_2].join("|"),"g"),b2=RegExp("["+Jm+Ro+cu+Wm+"]"),sy=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,S2=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ay=-1,Ht={};Ht[qn]=Ht[sn]=Ht[Gt]=Ht[vr]=Ht[Nr]=Ht[Xr]=Ht[Ii]=Ht[An]=Ht[Yr]=!0,Ht[se]=Ht[le]=Ht[wn]=Ht[ne]=Ht[on]=Ht[fe]=Ht[ve]=Ht[ye]=Ht[Me]=Ht[Ee]=Ht[_e]=Ht[Bt]=Ht[it]=Ht[mt]=Ht[yr]=!1;var Ut={};Ut[se]=Ut[le]=Ut[wn]=Ut[on]=Ut[ne]=Ut[fe]=Ut[qn]=Ut[sn]=Ut[Gt]=Ut[vr]=Ut[Nr]=Ut[Me]=Ut[Ee]=Ut[_e]=Ut[Bt]=Ut[it]=Ut[mt]=Ut[Jt]=Ut[Xr]=Ut[Ii]=Ut[An]=Ut[Yr]=!0,Ut[ve]=Ut[ye]=Ut[yr]=!1;var ly={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},w2={"&":"&","<":"<",">":">",'"':""","'":"'"},H={"&":"&","<":"<",">":">",""":'"',"'":"'"},Y={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},re=parseFloat,we=parseInt,ot=typeof He=="object"&&He&&He.Object===Object&&He,Mt=typeof self=="object"&&self&&self.Object===Object&&self,qe=ot||Mt||Function("return this")(),Je=t&&!t.nodeType&&t,bt=Je&&!0&&e&&!e.nodeType&&e,Qr=bt&&bt.exports===Je,xr=Qr&&ot.process,sr=function(){try{var J=bt&&bt.require&&bt.require("util").types;return J||xr&&xr.binding&&xr.binding("util")}catch{}}(),Bc=sr&&sr.isArrayBuffer,Uc=sr&&sr.isDate,mh=sr&&sr.isMap,w6=sr&&sr.isRegExp,x6=sr&&sr.isSet,C6=sr&&sr.isTypedArray;function Ni(J,ae,oe){switch(oe.length){case 0:return J.call(ae);case 1:return J.call(ae,oe[0]);case 2:return J.call(ae,oe[0],oe[1]);case 3:return J.call(ae,oe[0],oe[1],oe[2])}return J.apply(ae,oe)}function gG(J,ae,oe,Ce){for(var Ve=-1,Tt=J==null?0:J.length;++Ve-1}function x2(J,ae,oe){for(var Ce=-1,Ve=J==null?0:J.length;++Ce-1;);return oe}function I6(J,ae){for(var oe=J.length;oe--&&zc(ae,J[oe],0)>-1;);return oe}function CG(J,ae){for(var oe=J.length,Ce=0;oe--;)J[oe]===ae&&++Ce;return Ce}var TG=A2(ly),EG=A2(w2);function AG(J){return"\\"+Y[J]}function PG(J,ae){return J==null?n:J[ae]}function Vc(J){return b2.test(J)}function RG(J){return sy.test(J)}function OG(J){for(var ae,oe=[];!(ae=J.next()).done;)oe.push(ae.value);return oe}function k2(J){var ae=-1,oe=Array(J.size);return J.forEach(function(Ce,Ve){oe[++ae]=[Ve,Ce]}),oe}function M6(J,ae){return function(oe){return J(ae(oe))}}function Ka(J,ae){for(var oe=-1,Ce=J.length,Ve=0,Tt=[];++oe-1}function yH(c,h){var w=this.__data__,R=Ey(w,c);return R<0?(++this.size,w.push([c,h])):w[R][1]=h,this}Ws.prototype.clear=hH,Ws.prototype.delete=pH,Ws.prototype.get=gH,Ws.prototype.has=mH,Ws.prototype.set=yH;function qs(c){var h=-1,w=c==null?0:c.length;for(this.clear();++h=h?c:h)),c}function oo(c,h,w,R,I,z){var K,X=h&f,te=h&p,ce=h&g;if(w&&(K=I?w(c,R,I,z):w(c)),K!==n)return K;if(!hn(c))return c;var de=Ge(c);if(de){if(K=SW(c),!X)return pi(c,K)}else{var he=Dr(c),be=he==ye||he==We;if(el(c))return gA(c,X);if(he==_e||he==se||be&&!I){if(K=te||be?{}:NA(c),!X)return te?cW(c,MH(K,c)):uW(c,H6(K,c))}else{if(!Ut[he])return I?c:{};K=wW(c,he,X)}}z||(z=new Io);var Oe=z.get(c);if(Oe)return Oe;z.set(c,K),uP(c)?c.forEach(function(Fe){K.add(oo(Fe,h,w,Fe,c,z))}):aP(c)&&c.forEach(function(Fe,st){K.set(st,oo(Fe,h,w,st,c,z))});var $e=ce?te?rw:nw:te?mi:ar,Ze=de?n:$e(c);return no(Ze||c,function(Fe,st){Ze&&(st=Fe,Fe=c[st]),xh(K,st,oo(Fe,h,w,st,c,z))}),K}function NH(c){var h=ar(c);return function(w){return W6(w,c,h)}}function W6(c,h,w){var R=w.length;if(c==null)return!R;for(c=Wt(c);R--;){var I=w[R],z=h[I],K=c[I];if(K===n&&!(I in c)||!z(K))return!1}return!0}function q6(c,h,w){if(typeof c!="function")throw new ro(s);return Oh(function(){c.apply(n,w)},h)}function Ch(c,h,w,R){var I=-1,z=uy,K=!0,X=c.length,te=[],ce=h.length;if(!X)return te;w&&(h=an(h,Li(w))),R?(z=x2,K=!1):h.length>=i&&(z=yh,K=!1,h=new pu(h));e:for(;++II?0:I+w),R=R===n||R>I?I:Ye(R),R<0&&(R+=I),R=w>R?0:dP(R);w0&&w(X)?h>1?Cr(X,h-1,w,R,I):qa(I,X):R||(I[I.length]=X)}return I}var F2=SA(),Y6=SA(!0);function as(c,h){return c&&F2(c,h,ar)}function B2(c,h){return c&&Y6(c,h,ar)}function Py(c,h){return Wa(h,function(w){return Zs(c[w])})}function mu(c,h){h=Za(h,c);for(var w=0,R=h.length;c!=null&&wh}function $H(c,h){return c!=null&&Nt.call(c,h)}function FH(c,h){return c!=null&&h in Wt(c)}function BH(c,h,w){return c>=Lr(h,w)&&c=120&&de.length>=120)?new pu(K&&de):n}de=c[0];var he=-1,be=X[0];e:for(;++he-1;)X!==c&&_y.call(X,te,1),_y.call(c,te,1);return c}function aA(c,h){for(var w=c?h.length:0,R=w-1;w--;){var I=h[w];if(w==R||I!==z){var z=I;Qs(I)?_y.call(c,I,1):X2(c,I)}}return c}function W2(c,h){return c+wy(z6()*(h-c+1))}function ZH(c,h,w,R){for(var I=-1,z=Qn(Sy((h-c)/(w||1)),0),K=oe(z);z--;)K[R?z:++I]=c,c+=w;return K}function q2(c,h){var w="";if(!c||h<1||h>D)return w;do h%2&&(w+=c),h=wy(h/2),h&&(c+=c);while(h);return w}function et(c,h){return cw($A(c,h,yi),c+"")}function JH(c){return G6(Jc(c))}function eW(c,h){var w=Jc(c);return By(w,gu(h,0,w.length))}function Ah(c,h,w,R){if(!hn(c))return c;h=Za(h,c);for(var I=-1,z=h.length,K=z-1,X=c;X!=null&&++II?0:I+h),w=w>I?I:w,w<0&&(w+=I),I=h>w?0:w-h>>>0,h>>>=0;for(var z=oe(I);++R>>1,K=c[z];K!==null&&!$i(K)&&(w?K<=h:K=i){var ce=h?null:pW(c);if(ce)return dy(ce);K=!1,I=yh,te=new pu}else te=h?[]:X;e:for(;++R=R?c:so(c,h,w)}var pA=HG||function(c){return qe.clearTimeout(c)};function gA(c,h){if(h)return c.slice();var w=c.length,R=D6?D6(w):new c.constructor(w);return c.copy(R),R}function J2(c){var h=new c.constructor(c.byteLength);return new yy(h).set(new yy(c)),h}function oW(c,h){var w=h?J2(c.buffer):c.buffer;return new c.constructor(w,c.byteOffset,c.byteLength)}function sW(c){var h=new c.constructor(c.source,Po.exec(c));return h.lastIndex=c.lastIndex,h}function aW(c){return wh?Wt(wh.call(c)):{}}function mA(c,h){var w=h?J2(c.buffer):c.buffer;return new c.constructor(w,c.byteOffset,c.length)}function yA(c,h){if(c!==h){var w=c!==n,R=c===null,I=c===c,z=$i(c),K=h!==n,X=h===null,te=h===h,ce=$i(h);if(!X&&!ce&&!z&&c>h||z&&K&&te&&!X&&!ce||R&&K&&te||!w&&te||!I)return 1;if(!R&&!z&&!ce&&c=X)return te;var ce=w[R];return te*(ce=="desc"?-1:1)}}return c.index-h.index}function vA(c,h,w,R){for(var I=-1,z=c.length,K=w.length,X=-1,te=h.length,ce=Qn(z-K,0),de=oe(te+ce),he=!R;++X1?w[I-1]:n,K=I>2?w[2]:n;for(z=c.length>3&&typeof z=="function"?(I--,z):n,K&&Jr(w[0],w[1],K)&&(z=I<3?n:z,I=1),h=Wt(h);++R-1?I[z?h[K]:K]:n}}function CA(c){return Ys(function(h){var w=h.length,R=w,I=io.prototype.thru;for(c&&h.reverse();R--;){var z=h[R];if(typeof z!="function")throw new ro(s);if(I&&!K&&$y(z)=="wrapper")var K=new io([],!0)}for(R=K?R:w;++R1&&ht.reverse(),de&&teX))return!1;var ce=z.get(c),de=z.get(h);if(ce&&de)return ce==h&&de==c;var he=-1,be=!0,Oe=w&v?new pu:n;for(z.set(c,h),z.set(h,c);++he1?"& ":"")+h[R],h=h.join(w>2?", ":" "),c.replace(Ao,`{ + */w1.exports;(function(e,t){(function(){var n,r="4.17.21",i=200,o="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",s="Expected a function",a="Invalid `variable` option passed into `_.template`",l="__lodash_hash_undefined__",u=500,d="__lodash_placeholder__",f=1,p=2,g=4,m=1,v=2,x=1,_=2,b=4,y=8,S=16,C=32,T=64,E=128,P=256,k=512,O=30,M="...",G=800,U=16,A=1,N=2,F=3,B=1/0,D=9007199254740991,V=17976931348623157e292,j=0/0,q=4294967295,Z=q-1,ee=q>>>1,ie=[["ary",E],["bind",x],["bindKey",_],["curry",y],["curryRight",S],["flip",k],["partial",C],["partialRight",T],["rearg",P]],se="[object Arguments]",le="[object Array]",W="[object AsyncFunction]",ne="[object Boolean]",fe="[object Date]",pe="[object DOMException]",ve="[object Error]",ye="[object Function]",We="[object GeneratorFunction]",Me="[object Map]",Ee="[object Number]",lt="[object Null]",_e="[object Object]",jt="[object Promise]",Wn="[object Proxy]",Bt="[object RegExp]",it="[object Set]",mt="[object String]",Jt="[object Symbol]",Mr="[object Undefined]",yr="[object WeakMap]",hi="[object WeakSet]",wn="[object ArrayBuffer]",on="[object DataView]",qn="[object Float32Array]",sn="[object Float64Array]",Gt="[object Int8Array]",vr="[object Int16Array]",Nr="[object Int32Array]",Xr="[object Uint8Array]",Ii="[object Uint8ClampedArray]",An="[object Uint16Array]",Yr="[object Uint32Array]",Vs=/\b__p \+= '';/g,Ji=/\b(__p \+=) '' \+/g,js=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Xt=/&(?:amp|lt|gt|quot|#39);/g,kt=/[&<>"']/g,Kn=RegExp(Xt.source),$n=RegExp(kt.source),or=/<%-([\s\S]+?)%>/g,_r=/<%([\s\S]+?)%>/g,br=/<%=([\s\S]+?)%>/g,eo=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Sr=/^\w*$/,Xn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Mi=/[\\^$.*+?()[\]{}|]/g,os=RegExp(Mi.source),to=/^\s+/,Va=/\s/,Ao=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,wr=/\{\n\/\* \[wrapped with (.+)\] \*/,Gs=/,? & /,Zf=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Jf=/[()=,{}\[\]\/\s]/,eh=/\\(\\)?/g,th=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Po=/\w*$/,nh=/^[-+]0x[0-9a-f]+$/i,rh=/^0b[01]+$/i,kc=/^\[object .+?Constructor\]$/,ih=/^0o[0-7]+$/i,oh=/^(?:0|[1-9]\d*)$/,sh=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ss=/($^)/,ah=/['\n\r\u2028\u2029\\]/g,Ro="\\ud800-\\udfff",ja="\\u0300-\\u036f",lh="\\ufe20-\\ufe2f",Ga="\\u20d0-\\u20ff",cu=ja+lh+Ga,Ic="\\u2700-\\u27bf",Ha="a-z\\xdf-\\xf6\\xf8-\\xff",p2="\\xac\\xb1\\xd7\\xf7",Gm="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",g2="\\u2000-\\u206f",m2=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Hm="A-Z\\xc0-\\xd6\\xd8-\\xde",Wm="\\ufe0e\\ufe0f",qm=p2+Gm+g2+m2,uh="['’]",y2="["+Ro+"]",Km="["+qm+"]",Mc="["+cu+"]",Xm="\\d+",Nc="["+Ic+"]",Lc="["+Ha+"]",Ym="[^"+Ro+qm+Xm+Ic+Ha+Hm+"]",ch="\\ud83c[\\udffb-\\udfff]",Qm="(?:"+Mc+"|"+ch+")",Zm="[^"+Ro+"]",dh="(?:\\ud83c[\\udde6-\\uddff]){2}",fh="[\\ud800-\\udbff][\\udc00-\\udfff]",Hs="["+Hm+"]",Jm="\\u200d",ey="(?:"+Lc+"|"+Ym+")",v2="(?:"+Hs+"|"+Ym+")",Dc="(?:"+uh+"(?:d|ll|m|re|s|t|ve))?",ty="(?:"+uh+"(?:D|LL|M|RE|S|T|VE))?",ny=Qm+"?",ry="["+Wm+"]?",$c="(?:"+Jm+"(?:"+[Zm,dh,fh].join("|")+")"+ry+ny+")*",hh="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ph="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Fc=ry+ny+$c,_2="(?:"+[Nc,dh,fh].join("|")+")"+Fc,iy="(?:"+[Zm+Mc+"?",Mc,dh,fh,y2].join("|")+")",gh=RegExp(uh,"g"),oy=RegExp(Mc,"g"),Oo=RegExp(ch+"(?="+ch+")|"+iy+Fc,"g"),du=RegExp([Hs+"?"+Lc+"+"+Dc+"(?="+[Km,Hs,"$"].join("|")+")",v2+"+"+ty+"(?="+[Km,Hs+ey,"$"].join("|")+")",Hs+"?"+ey+"+"+Dc,Hs+"+"+ty,ph,hh,Xm,_2].join("|"),"g"),b2=RegExp("["+Jm+Ro+cu+Wm+"]"),sy=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,S2=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ay=-1,Ht={};Ht[qn]=Ht[sn]=Ht[Gt]=Ht[vr]=Ht[Nr]=Ht[Xr]=Ht[Ii]=Ht[An]=Ht[Yr]=!0,Ht[se]=Ht[le]=Ht[wn]=Ht[ne]=Ht[on]=Ht[fe]=Ht[ve]=Ht[ye]=Ht[Me]=Ht[Ee]=Ht[_e]=Ht[Bt]=Ht[it]=Ht[mt]=Ht[yr]=!1;var Ut={};Ut[se]=Ut[le]=Ut[wn]=Ut[on]=Ut[ne]=Ut[fe]=Ut[qn]=Ut[sn]=Ut[Gt]=Ut[vr]=Ut[Nr]=Ut[Me]=Ut[Ee]=Ut[_e]=Ut[Bt]=Ut[it]=Ut[mt]=Ut[Jt]=Ut[Xr]=Ut[Ii]=Ut[An]=Ut[Yr]=!0,Ut[ve]=Ut[ye]=Ut[yr]=!1;var ly={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},w2={"&":"&","<":"<",">":">",'"':""","'":"'"},H={"&":"&","<":"<",">":">",""":'"',"'":"'"},Y={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},re=parseFloat,we=parseInt,ot=typeof He=="object"&&He&&He.Object===Object&&He,Mt=typeof self=="object"&&self&&self.Object===Object&&self,qe=ot||Mt||Function("return this")(),Je=t&&!t.nodeType&&t,bt=Je&&!0&&e&&!e.nodeType&&e,Qr=bt&&bt.exports===Je,xr=Qr&&ot.process,sr=function(){try{var J=bt&&bt.require&&bt.require("util").types;return J||xr&&xr.binding&&xr.binding("util")}catch{}}(),Bc=sr&&sr.isArrayBuffer,Uc=sr&&sr.isDate,mh=sr&&sr.isMap,x6=sr&&sr.isRegExp,C6=sr&&sr.isSet,T6=sr&&sr.isTypedArray;function Ni(J,ae,oe){switch(oe.length){case 0:return J.call(ae);case 1:return J.call(ae,oe[0]);case 2:return J.call(ae,oe[0],oe[1]);case 3:return J.call(ae,oe[0],oe[1],oe[2])}return J.apply(ae,oe)}function gG(J,ae,oe,Ce){for(var Ve=-1,Tt=J==null?0:J.length;++Ve-1}function x2(J,ae,oe){for(var Ce=-1,Ve=J==null?0:J.length;++Ce-1;);return oe}function M6(J,ae){for(var oe=J.length;oe--&&zc(ae,J[oe],0)>-1;);return oe}function CG(J,ae){for(var oe=J.length,Ce=0;oe--;)J[oe]===ae&&++Ce;return Ce}var TG=A2(ly),EG=A2(w2);function AG(J){return"\\"+Y[J]}function PG(J,ae){return J==null?n:J[ae]}function Vc(J){return b2.test(J)}function RG(J){return sy.test(J)}function OG(J){for(var ae,oe=[];!(ae=J.next()).done;)oe.push(ae.value);return oe}function k2(J){var ae=-1,oe=Array(J.size);return J.forEach(function(Ce,Ve){oe[++ae]=[Ve,Ce]}),oe}function N6(J,ae){return function(oe){return J(ae(oe))}}function Ka(J,ae){for(var oe=-1,Ce=J.length,Ve=0,Tt=[];++oe-1}function yH(c,h){var w=this.__data__,R=Ey(w,c);return R<0?(++this.size,w.push([c,h])):w[R][1]=h,this}Ws.prototype.clear=hH,Ws.prototype.delete=pH,Ws.prototype.get=gH,Ws.prototype.has=mH,Ws.prototype.set=yH;function qs(c){var h=-1,w=c==null?0:c.length;for(this.clear();++h=h?c:h)),c}function oo(c,h,w,R,I,z){var K,X=h&f,te=h&p,ce=h&g;if(w&&(K=I?w(c,R,I,z):w(c)),K!==n)return K;if(!hn(c))return c;var de=Ge(c);if(de){if(K=SW(c),!X)return pi(c,K)}else{var he=Dr(c),be=he==ye||he==We;if(el(c))return mA(c,X);if(he==_e||he==se||be&&!I){if(K=te||be?{}:LA(c),!X)return te?cW(c,MH(K,c)):uW(c,W6(K,c))}else{if(!Ut[he])return I?c:{};K=wW(c,he,X)}}z||(z=new Io);var Oe=z.get(c);if(Oe)return Oe;z.set(c,K),cP(c)?c.forEach(function(Fe){K.add(oo(Fe,h,w,Fe,c,z))}):lP(c)&&c.forEach(function(Fe,st){K.set(st,oo(Fe,h,w,st,c,z))});var $e=ce?te?rw:nw:te?mi:ar,Ze=de?n:$e(c);return no(Ze||c,function(Fe,st){Ze&&(st=Fe,Fe=c[st]),xh(K,st,oo(Fe,h,w,st,c,z))}),K}function NH(c){var h=ar(c);return function(w){return q6(w,c,h)}}function q6(c,h,w){var R=w.length;if(c==null)return!R;for(c=Wt(c);R--;){var I=w[R],z=h[I],K=c[I];if(K===n&&!(I in c)||!z(K))return!1}return!0}function K6(c,h,w){if(typeof c!="function")throw new ro(s);return Oh(function(){c.apply(n,w)},h)}function Ch(c,h,w,R){var I=-1,z=uy,K=!0,X=c.length,te=[],ce=h.length;if(!X)return te;w&&(h=an(h,Li(w))),R?(z=x2,K=!1):h.length>=i&&(z=yh,K=!1,h=new pu(h));e:for(;++II?0:I+w),R=R===n||R>I?I:Ye(R),R<0&&(R+=I),R=w>R?0:fP(R);w0&&w(X)?h>1?Cr(X,h-1,w,R,I):qa(I,X):R||(I[I.length]=X)}return I}var F2=wA(),Q6=wA(!0);function as(c,h){return c&&F2(c,h,ar)}function B2(c,h){return c&&Q6(c,h,ar)}function Py(c,h){return Wa(h,function(w){return Zs(c[w])})}function mu(c,h){h=Za(h,c);for(var w=0,R=h.length;c!=null&&wh}function $H(c,h){return c!=null&&Nt.call(c,h)}function FH(c,h){return c!=null&&h in Wt(c)}function BH(c,h,w){return c>=Lr(h,w)&&c=120&&de.length>=120)?new pu(K&&de):n}de=c[0];var he=-1,be=X[0];e:for(;++he-1;)X!==c&&_y.call(X,te,1),_y.call(c,te,1);return c}function lA(c,h){for(var w=c?h.length:0,R=w-1;w--;){var I=h[w];if(w==R||I!==z){var z=I;Qs(I)?_y.call(c,I,1):X2(c,I)}}return c}function W2(c,h){return c+wy(V6()*(h-c+1))}function ZH(c,h,w,R){for(var I=-1,z=Qn(Sy((h-c)/(w||1)),0),K=oe(z);z--;)K[R?z:++I]=c,c+=w;return K}function q2(c,h){var w="";if(!c||h<1||h>D)return w;do h%2&&(w+=c),h=wy(h/2),h&&(c+=c);while(h);return w}function et(c,h){return cw(FA(c,h,yi),c+"")}function JH(c){return H6(Jc(c))}function eW(c,h){var w=Jc(c);return By(w,gu(h,0,w.length))}function Ah(c,h,w,R){if(!hn(c))return c;h=Za(h,c);for(var I=-1,z=h.length,K=z-1,X=c;X!=null&&++II?0:I+h),w=w>I?I:w,w<0&&(w+=I),I=h>w?0:w-h>>>0,h>>>=0;for(var z=oe(I);++R>>1,K=c[z];K!==null&&!$i(K)&&(w?K<=h:K=i){var ce=h?null:pW(c);if(ce)return dy(ce);K=!1,I=yh,te=new pu}else te=h?[]:X;e:for(;++R=R?c:so(c,h,w)}var gA=HG||function(c){return qe.clearTimeout(c)};function mA(c,h){if(h)return c.slice();var w=c.length,R=$6?$6(w):new c.constructor(w);return c.copy(R),R}function J2(c){var h=new c.constructor(c.byteLength);return new yy(h).set(new yy(c)),h}function oW(c,h){var w=h?J2(c.buffer):c.buffer;return new c.constructor(w,c.byteOffset,c.byteLength)}function sW(c){var h=new c.constructor(c.source,Po.exec(c));return h.lastIndex=c.lastIndex,h}function aW(c){return wh?Wt(wh.call(c)):{}}function yA(c,h){var w=h?J2(c.buffer):c.buffer;return new c.constructor(w,c.byteOffset,c.length)}function vA(c,h){if(c!==h){var w=c!==n,R=c===null,I=c===c,z=$i(c),K=h!==n,X=h===null,te=h===h,ce=$i(h);if(!X&&!ce&&!z&&c>h||z&&K&&te&&!X&&!ce||R&&K&&te||!w&&te||!I)return 1;if(!R&&!z&&!ce&&c=X)return te;var ce=w[R];return te*(ce=="desc"?-1:1)}}return c.index-h.index}function _A(c,h,w,R){for(var I=-1,z=c.length,K=w.length,X=-1,te=h.length,ce=Qn(z-K,0),de=oe(te+ce),he=!R;++X1?w[I-1]:n,K=I>2?w[2]:n;for(z=c.length>3&&typeof z=="function"?(I--,z):n,K&&Jr(w[0],w[1],K)&&(z=I<3?n:z,I=1),h=Wt(h);++R-1?I[z?h[K]:K]:n}}function TA(c){return Ys(function(h){var w=h.length,R=w,I=io.prototype.thru;for(c&&h.reverse();R--;){var z=h[R];if(typeof z!="function")throw new ro(s);if(I&&!K&&$y(z)=="wrapper")var K=new io([],!0)}for(R=K?R:w;++R1&&ht.reverse(),de&&teX))return!1;var ce=z.get(c),de=z.get(h);if(ce&&de)return ce==h&&de==c;var he=-1,be=!0,Oe=w&v?new pu:n;for(z.set(c,h),z.set(h,c);++he1?"& ":"")+h[R],h=h.join(w>2?", ":" "),c.replace(Ao,`{ /* [wrapped with `+h+`] */ -`)}function CW(c){return Ge(c)||_u(c)||!!(B6&&c&&c[B6])}function Qs(c,h){var w=typeof c;return h=h??D,!!h&&(w=="number"||w!="symbol"&&oh.test(c))&&c>-1&&c%1==0&&c0){if(++h>=G)return arguments[0]}else h=0;return c.apply(n,arguments)}}function By(c,h){var w=-1,R=c.length,I=R-1;for(h=h===n?R:h;++w1?c[h-1]:n;return w=typeof w=="function"?(c.pop(),w):n,XA(c,w)});function YA(c){var h=$(c);return h.__chain__=!0,h}function Lq(c,h){return h(c),c}function Uy(c,h){return h(c)}var Dq=Ys(function(c){var h=c.length,w=h?c[0]:0,R=this.__wrapped__,I=function(z){return $2(z,c)};return h>1||this.__actions__.length||!(R instanceof ut)||!Qs(w)?this.thru(I):(R=R.slice(w,+w+(h?1:0)),R.__actions__.push({func:Uy,args:[I],thisArg:n}),new io(R,this.__chain__).thru(function(z){return h&&!z.length&&z.push(n),z}))});function $q(){return YA(this)}function Fq(){return new io(this.value(),this.__chain__)}function Bq(){this.__values__===n&&(this.__values__=cP(this.value()));var c=this.__index__>=this.__values__.length,h=c?n:this.__values__[this.__index__++];return{done:c,value:h}}function Uq(){return this}function zq(c){for(var h,w=this;w instanceof Ty;){var R=jA(w);R.__index__=0,R.__values__=n,h?I.__wrapped__=R:h=R;var I=R;w=w.__wrapped__}return I.__wrapped__=c,h}function Vq(){var c=this.__wrapped__;if(c instanceof ut){var h=c;return this.__actions__.length&&(h=new ut(this)),h=h.reverse(),h.__actions__.push({func:Uy,args:[dw],thisArg:n}),new io(h,this.__chain__)}return this.thru(dw)}function jq(){return fA(this.__wrapped__,this.__actions__)}var Gq=Iy(function(c,h,w){Nt.call(c,w)?++c[w]:Ks(c,w,1)});function Hq(c,h,w){var R=Ge(c)?T6:LH;return w&&Jr(c,h,w)&&(h=n),R(c,De(h,3))}function Wq(c,h){var w=Ge(c)?Wa:X6;return w(c,De(h,3))}var qq=xA(GA),Kq=xA(HA);function Xq(c,h){return Cr(zy(c,h),1)}function Yq(c,h){return Cr(zy(c,h),B)}function Qq(c,h,w){return w=w===n?1:Ye(w),Cr(zy(c,h),w)}function QA(c,h){var w=Ge(c)?no:Ya;return w(c,De(h,3))}function ZA(c,h){var w=Ge(c)?mG:K6;return w(c,De(h,3))}var Zq=Iy(function(c,h,w){Nt.call(c,w)?c[w].push(h):Ks(c,w,[h])});function Jq(c,h,w,R){c=gi(c)?c:Jc(c),w=w&&!R?Ye(w):0;var I=c.length;return w<0&&(w=Qn(I+w,0)),Wy(c)?w<=I&&c.indexOf(h,w)>-1:!!I&&zc(c,h,w)>-1}var eK=et(function(c,h,w){var R=-1,I=typeof h=="function",z=gi(c)?oe(c.length):[];return Ya(c,function(K){z[++R]=I?Ni(h,K,w):Th(K,h,w)}),z}),tK=Iy(function(c,h,w){Ks(c,w,h)});function zy(c,h){var w=Ge(c)?an:tA;return w(c,De(h,3))}function nK(c,h,w,R){return c==null?[]:(Ge(h)||(h=h==null?[]:[h]),w=R?n:w,Ge(w)||(w=w==null?[]:[w]),oA(c,h,w))}var rK=Iy(function(c,h,w){c[w?0:1].push(h)},function(){return[[],[]]});function iK(c,h,w){var R=Ge(c)?C2:R6,I=arguments.length<3;return R(c,De(h,4),w,I,Ya)}function oK(c,h,w){var R=Ge(c)?yG:R6,I=arguments.length<3;return R(c,De(h,4),w,I,K6)}function sK(c,h){var w=Ge(c)?Wa:X6;return w(c,Gy(De(h,3)))}function aK(c){var h=Ge(c)?G6:JH;return h(c)}function lK(c,h,w){(w?Jr(c,h,w):h===n)?h=1:h=Ye(h);var R=Ge(c)?OH:eW;return R(c,h)}function uK(c){var h=Ge(c)?kH:nW;return h(c)}function cK(c){if(c==null)return 0;if(gi(c))return Wy(c)?jc(c):c.length;var h=Dr(c);return h==Me||h==it?c.size:j2(c).length}function dK(c,h,w){var R=Ge(c)?T2:rW;return w&&Jr(c,h,w)&&(h=n),R(c,De(h,3))}var fK=et(function(c,h){if(c==null)return[];var w=h.length;return w>1&&Jr(c,h[0],h[1])?h=[]:w>2&&Jr(h[0],h[1],h[2])&&(h=[h[0]]),oA(c,Cr(h,1),[])}),Vy=WG||function(){return qe.Date.now()};function hK(c,h){if(typeof h!="function")throw new ro(s);return c=Ye(c),function(){if(--c<1)return h.apply(this,arguments)}}function JA(c,h,w){return h=w?n:h,h=c&&h==null?c.length:h,Xs(c,E,n,n,n,n,h)}function eP(c,h){var w;if(typeof h!="function")throw new ro(s);return c=Ye(c),function(){return--c>0&&(w=h.apply(this,arguments)),c<=1&&(h=n),w}}var hw=et(function(c,h,w){var R=x;if(w.length){var I=Ka(w,Qc(hw));R|=C}return Xs(c,R,h,w,I)}),tP=et(function(c,h,w){var R=x|_;if(w.length){var I=Ka(w,Qc(tP));R|=C}return Xs(h,R,c,w,I)});function nP(c,h,w){h=w?n:h;var R=Xs(c,y,n,n,n,n,n,h);return R.placeholder=nP.placeholder,R}function rP(c,h,w){h=w?n:h;var R=Xs(c,S,n,n,n,n,n,h);return R.placeholder=rP.placeholder,R}function iP(c,h,w){var R,I,z,K,X,te,ce=0,de=!1,he=!1,be=!0;if(typeof c!="function")throw new ro(s);h=lo(h)||0,hn(w)&&(de=!!w.leading,he="maxWait"in w,z=he?Qn(lo(w.maxWait)||0,h):z,be="trailing"in w?!!w.trailing:be);function Oe(Rn){var No=R,ea=I;return R=I=n,ce=Rn,K=c.apply(ea,No),K}function $e(Rn){return ce=Rn,X=Oh(st,h),de?Oe(Rn):K}function Ze(Rn){var No=Rn-te,ea=Rn-ce,xP=h-No;return he?Lr(xP,z-ea):xP}function Fe(Rn){var No=Rn-te,ea=Rn-ce;return te===n||No>=h||No<0||he&&ea>=z}function st(){var Rn=Vy();if(Fe(Rn))return ht(Rn);X=Oh(st,Ze(Rn))}function ht(Rn){return X=n,be&&R?Oe(Rn):(R=I=n,K)}function Fi(){X!==n&&pA(X),ce=0,R=te=I=X=n}function ei(){return X===n?K:ht(Vy())}function Bi(){var Rn=Vy(),No=Fe(Rn);if(R=arguments,I=this,te=Rn,No){if(X===n)return $e(te);if(he)return pA(X),X=Oh(st,h),Oe(te)}return X===n&&(X=Oh(st,h)),K}return Bi.cancel=Fi,Bi.flush=ei,Bi}var pK=et(function(c,h){return q6(c,1,h)}),gK=et(function(c,h,w){return q6(c,lo(h)||0,w)});function mK(c){return Xs(c,k)}function jy(c,h){if(typeof c!="function"||h!=null&&typeof h!="function")throw new ro(s);var w=function(){var R=arguments,I=h?h.apply(this,R):R[0],z=w.cache;if(z.has(I))return z.get(I);var K=c.apply(this,R);return w.cache=z.set(I,K)||z,K};return w.cache=new(jy.Cache||qs),w}jy.Cache=qs;function Gy(c){if(typeof c!="function")throw new ro(s);return function(){var h=arguments;switch(h.length){case 0:return!c.call(this);case 1:return!c.call(this,h[0]);case 2:return!c.call(this,h[0],h[1]);case 3:return!c.call(this,h[0],h[1],h[2])}return!c.apply(this,h)}}function yK(c){return eP(2,c)}var vK=iW(function(c,h){h=h.length==1&&Ge(h[0])?an(h[0],Li(De())):an(Cr(h,1),Li(De()));var w=h.length;return et(function(R){for(var I=-1,z=Lr(R.length,w);++I=h}),_u=Z6(function(){return arguments}())?Z6:function(c){return xn(c)&&Nt.call(c,"callee")&&!F6.call(c,"callee")},Ge=oe.isArray,MK=Bc?Li(Bc):zH;function gi(c){return c!=null&&Hy(c.length)&&!Zs(c)}function Pn(c){return xn(c)&&gi(c)}function NK(c){return c===!0||c===!1||xn(c)&&Zr(c)==ne}var el=KG||Tw,LK=Uc?Li(Uc):VH;function DK(c){return xn(c)&&c.nodeType===1&&!kh(c)}function $K(c){if(c==null)return!0;if(gi(c)&&(Ge(c)||typeof c=="string"||typeof c.splice=="function"||el(c)||Zc(c)||_u(c)))return!c.length;var h=Dr(c);if(h==Me||h==it)return!c.size;if(Rh(c))return!j2(c).length;for(var w in c)if(Nt.call(c,w))return!1;return!0}function FK(c,h){return Eh(c,h)}function BK(c,h,w){w=typeof w=="function"?w:n;var R=w?w(c,h):n;return R===n?Eh(c,h,n,w):!!R}function gw(c){if(!xn(c))return!1;var h=Zr(c);return h==ve||h==pe||typeof c.message=="string"&&typeof c.name=="string"&&!kh(c)}function UK(c){return typeof c=="number"&&U6(c)}function Zs(c){if(!hn(c))return!1;var h=Zr(c);return h==ye||h==We||h==W||h==Wn}function sP(c){return typeof c=="number"&&c==Ye(c)}function Hy(c){return typeof c=="number"&&c>-1&&c%1==0&&c<=D}function hn(c){var h=typeof c;return c!=null&&(h=="object"||h=="function")}function xn(c){return c!=null&&typeof c=="object"}var aP=mh?Li(mh):GH;function zK(c,h){return c===h||V2(c,h,ow(h))}function VK(c,h,w){return w=typeof w=="function"?w:n,V2(c,h,ow(h),w)}function jK(c){return lP(c)&&c!=+c}function GK(c){if(AW(c))throw new Ve(o);return J6(c)}function HK(c){return c===null}function WK(c){return c==null}function lP(c){return typeof c=="number"||xn(c)&&Zr(c)==Ee}function kh(c){if(!xn(c)||Zr(c)!=_e)return!1;var h=vy(c);if(h===null)return!0;var w=Nt.call(h,"constructor")&&h.constructor;return typeof w=="function"&&w instanceof w&&py.call(w)==VG}var mw=w6?Li(w6):HH;function qK(c){return sP(c)&&c>=-D&&c<=D}var uP=x6?Li(x6):WH;function Wy(c){return typeof c=="string"||!Ge(c)&&xn(c)&&Zr(c)==mt}function $i(c){return typeof c=="symbol"||xn(c)&&Zr(c)==Jt}var Zc=C6?Li(C6):qH;function KK(c){return c===n}function XK(c){return xn(c)&&Dr(c)==yr}function YK(c){return xn(c)&&Zr(c)==hi}var QK=Dy(G2),ZK=Dy(function(c,h){return c<=h});function cP(c){if(!c)return[];if(gi(c))return Wy(c)?ko(c):pi(c);if(vh&&c[vh])return OG(c[vh]());var h=Dr(c),w=h==Me?k2:h==it?dy:Jc;return w(c)}function Js(c){if(!c)return c===0?c:0;if(c=lo(c),c===B||c===-B){var h=c<0?-1:1;return h*V}return c===c?c:0}function Ye(c){var h=Js(c),w=h%1;return h===h?w?h-w:h:0}function dP(c){return c?gu(Ye(c),0,q):0}function lo(c){if(typeof c=="number")return c;if($i(c))return j;if(hn(c)){var h=typeof c.valueOf=="function"?c.valueOf():c;c=hn(h)?h+"":h}if(typeof c!="string")return c===0?c:+c;c=O6(c);var w=rh.test(c);return w||ih.test(c)?we(c.slice(2),w?2:8):nh.test(c)?j:+c}function fP(c){return ls(c,mi(c))}function JK(c){return c?gu(Ye(c),-D,D):c===0?c:0}function It(c){return c==null?"":Di(c)}var eX=Xc(function(c,h){if(Rh(h)||gi(h)){ls(h,ar(h),c);return}for(var w in h)Nt.call(h,w)&&xh(c,w,h[w])}),hP=Xc(function(c,h){ls(h,mi(h),c)}),qy=Xc(function(c,h,w,R){ls(h,mi(h),c,R)}),tX=Xc(function(c,h,w,R){ls(h,ar(h),c,R)}),nX=Ys($2);function rX(c,h){var w=Kc(c);return h==null?w:H6(w,h)}var iX=et(function(c,h){c=Wt(c);var w=-1,R=h.length,I=R>2?h[2]:n;for(I&&Jr(h[0],h[1],I)&&(R=1);++w1),z}),ls(c,rw(c),w),R&&(w=oo(w,f|p|g,gW));for(var I=h.length;I--;)X2(w,h[I]);return w});function wX(c,h){return gP(c,Gy(De(h)))}var xX=Ys(function(c,h){return c==null?{}:YH(c,h)});function gP(c,h){if(c==null)return{};var w=an(rw(c),function(R){return[R]});return h=De(h),sA(c,w,function(R,I){return h(R,I[0])})}function CX(c,h,w){h=Za(h,c);var R=-1,I=h.length;for(I||(I=1,c=n);++Rh){var R=c;c=h,h=R}if(w||c%1||h%1){var I=z6();return Lr(c+I*(h-c+re("1e-"+((I+"").length-1))),h)}return W2(c,h)}var LX=Yc(function(c,h,w){return h=h.toLowerCase(),c+(w?vP(h):h)});function vP(c){return _w(It(c).toLowerCase())}function _P(c){return c=It(c),c&&c.replace(sh,TG).replace(oy,"")}function DX(c,h,w){c=It(c),h=Di(h);var R=c.length;w=w===n?R:gu(Ye(w),0,R);var I=w;return w-=h.length,w>=0&&c.slice(w,I)==h}function $X(c){return c=It(c),c&&$n.test(c)?c.replace(kt,EG):c}function FX(c){return c=It(c),c&&os.test(c)?c.replace(Mi,"\\$&"):c}var BX=Yc(function(c,h,w){return c+(w?"-":"")+h.toLowerCase()}),UX=Yc(function(c,h,w){return c+(w?" ":"")+h.toLowerCase()}),zX=wA("toLowerCase");function VX(c,h,w){c=It(c),h=Ye(h);var R=h?jc(c):0;if(!h||R>=h)return c;var I=(h-R)/2;return Ly(wy(I),w)+c+Ly(Sy(I),w)}function jX(c,h,w){c=It(c),h=Ye(h);var R=h?jc(c):0;return h&&R>>0,w?(c=It(c),c&&(typeof h=="string"||h!=null&&!mw(h))&&(h=Di(h),!h&&Vc(c))?Ja(ko(c),0,w):c.split(h,w)):[]}var YX=Yc(function(c,h,w){return c+(w?" ":"")+_w(h)});function QX(c,h,w){return c=It(c),w=w==null?0:gu(Ye(w),0,c.length),h=Di(h),c.slice(w,w+h.length)==h}function ZX(c,h,w){var R=$.templateSettings;w&&Jr(c,h,w)&&(h=n),c=It(c),h=qy({},h,R,RA);var I=qy({},h.imports,R.imports,RA),z=ar(I),K=O2(I,z),X,te,ce=0,de=h.interpolate||ss,he="__p += '",be=I2((h.escape||ss).source+"|"+de.source+"|"+(de===br?th:ss).source+"|"+(h.evaluate||ss).source+"|$","g"),Oe="//# sourceURL="+(Nt.call(h,"sourceURL")?(h.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++ay+"]")+` +`)}function CW(c){return Ge(c)||_u(c)||!!(U6&&c&&c[U6])}function Qs(c,h){var w=typeof c;return h=h??D,!!h&&(w=="number"||w!="symbol"&&oh.test(c))&&c>-1&&c%1==0&&c0){if(++h>=G)return arguments[0]}else h=0;return c.apply(n,arguments)}}function By(c,h){var w=-1,R=c.length,I=R-1;for(h=h===n?R:h;++w1?c[h-1]:n;return w=typeof w=="function"?(c.pop(),w):n,YA(c,w)});function QA(c){var h=$(c);return h.__chain__=!0,h}function Lq(c,h){return h(c),c}function Uy(c,h){return h(c)}var Dq=Ys(function(c){var h=c.length,w=h?c[0]:0,R=this.__wrapped__,I=function(z){return $2(z,c)};return h>1||this.__actions__.length||!(R instanceof ut)||!Qs(w)?this.thru(I):(R=R.slice(w,+w+(h?1:0)),R.__actions__.push({func:Uy,args:[I],thisArg:n}),new io(R,this.__chain__).thru(function(z){return h&&!z.length&&z.push(n),z}))});function $q(){return QA(this)}function Fq(){return new io(this.value(),this.__chain__)}function Bq(){this.__values__===n&&(this.__values__=dP(this.value()));var c=this.__index__>=this.__values__.length,h=c?n:this.__values__[this.__index__++];return{done:c,value:h}}function Uq(){return this}function zq(c){for(var h,w=this;w instanceof Ty;){var R=GA(w);R.__index__=0,R.__values__=n,h?I.__wrapped__=R:h=R;var I=R;w=w.__wrapped__}return I.__wrapped__=c,h}function Vq(){var c=this.__wrapped__;if(c instanceof ut){var h=c;return this.__actions__.length&&(h=new ut(this)),h=h.reverse(),h.__actions__.push({func:Uy,args:[dw],thisArg:n}),new io(h,this.__chain__)}return this.thru(dw)}function jq(){return hA(this.__wrapped__,this.__actions__)}var Gq=Iy(function(c,h,w){Nt.call(c,w)?++c[w]:Ks(c,w,1)});function Hq(c,h,w){var R=Ge(c)?E6:LH;return w&&Jr(c,h,w)&&(h=n),R(c,De(h,3))}function Wq(c,h){var w=Ge(c)?Wa:Y6;return w(c,De(h,3))}var qq=CA(HA),Kq=CA(WA);function Xq(c,h){return Cr(zy(c,h),1)}function Yq(c,h){return Cr(zy(c,h),B)}function Qq(c,h,w){return w=w===n?1:Ye(w),Cr(zy(c,h),w)}function ZA(c,h){var w=Ge(c)?no:Ya;return w(c,De(h,3))}function JA(c,h){var w=Ge(c)?mG:X6;return w(c,De(h,3))}var Zq=Iy(function(c,h,w){Nt.call(c,w)?c[w].push(h):Ks(c,w,[h])});function Jq(c,h,w,R){c=gi(c)?c:Jc(c),w=w&&!R?Ye(w):0;var I=c.length;return w<0&&(w=Qn(I+w,0)),Wy(c)?w<=I&&c.indexOf(h,w)>-1:!!I&&zc(c,h,w)>-1}var eK=et(function(c,h,w){var R=-1,I=typeof h=="function",z=gi(c)?oe(c.length):[];return Ya(c,function(K){z[++R]=I?Ni(h,K,w):Th(K,h,w)}),z}),tK=Iy(function(c,h,w){Ks(c,w,h)});function zy(c,h){var w=Ge(c)?an:nA;return w(c,De(h,3))}function nK(c,h,w,R){return c==null?[]:(Ge(h)||(h=h==null?[]:[h]),w=R?n:w,Ge(w)||(w=w==null?[]:[w]),sA(c,h,w))}var rK=Iy(function(c,h,w){c[w?0:1].push(h)},function(){return[[],[]]});function iK(c,h,w){var R=Ge(c)?C2:O6,I=arguments.length<3;return R(c,De(h,4),w,I,Ya)}function oK(c,h,w){var R=Ge(c)?yG:O6,I=arguments.length<3;return R(c,De(h,4),w,I,X6)}function sK(c,h){var w=Ge(c)?Wa:Y6;return w(c,Gy(De(h,3)))}function aK(c){var h=Ge(c)?H6:JH;return h(c)}function lK(c,h,w){(w?Jr(c,h,w):h===n)?h=1:h=Ye(h);var R=Ge(c)?OH:eW;return R(c,h)}function uK(c){var h=Ge(c)?kH:nW;return h(c)}function cK(c){if(c==null)return 0;if(gi(c))return Wy(c)?jc(c):c.length;var h=Dr(c);return h==Me||h==it?c.size:j2(c).length}function dK(c,h,w){var R=Ge(c)?T2:rW;return w&&Jr(c,h,w)&&(h=n),R(c,De(h,3))}var fK=et(function(c,h){if(c==null)return[];var w=h.length;return w>1&&Jr(c,h[0],h[1])?h=[]:w>2&&Jr(h[0],h[1],h[2])&&(h=[h[0]]),sA(c,Cr(h,1),[])}),Vy=WG||function(){return qe.Date.now()};function hK(c,h){if(typeof h!="function")throw new ro(s);return c=Ye(c),function(){if(--c<1)return h.apply(this,arguments)}}function eP(c,h,w){return h=w?n:h,h=c&&h==null?c.length:h,Xs(c,E,n,n,n,n,h)}function tP(c,h){var w;if(typeof h!="function")throw new ro(s);return c=Ye(c),function(){return--c>0&&(w=h.apply(this,arguments)),c<=1&&(h=n),w}}var hw=et(function(c,h,w){var R=x;if(w.length){var I=Ka(w,Qc(hw));R|=C}return Xs(c,R,h,w,I)}),nP=et(function(c,h,w){var R=x|_;if(w.length){var I=Ka(w,Qc(nP));R|=C}return Xs(h,R,c,w,I)});function rP(c,h,w){h=w?n:h;var R=Xs(c,y,n,n,n,n,n,h);return R.placeholder=rP.placeholder,R}function iP(c,h,w){h=w?n:h;var R=Xs(c,S,n,n,n,n,n,h);return R.placeholder=iP.placeholder,R}function oP(c,h,w){var R,I,z,K,X,te,ce=0,de=!1,he=!1,be=!0;if(typeof c!="function")throw new ro(s);h=lo(h)||0,hn(w)&&(de=!!w.leading,he="maxWait"in w,z=he?Qn(lo(w.maxWait)||0,h):z,be="trailing"in w?!!w.trailing:be);function Oe(Rn){var No=R,ea=I;return R=I=n,ce=Rn,K=c.apply(ea,No),K}function $e(Rn){return ce=Rn,X=Oh(st,h),de?Oe(Rn):K}function Ze(Rn){var No=Rn-te,ea=Rn-ce,CP=h-No;return he?Lr(CP,z-ea):CP}function Fe(Rn){var No=Rn-te,ea=Rn-ce;return te===n||No>=h||No<0||he&&ea>=z}function st(){var Rn=Vy();if(Fe(Rn))return ht(Rn);X=Oh(st,Ze(Rn))}function ht(Rn){return X=n,be&&R?Oe(Rn):(R=I=n,K)}function Fi(){X!==n&&gA(X),ce=0,R=te=I=X=n}function ei(){return X===n?K:ht(Vy())}function Bi(){var Rn=Vy(),No=Fe(Rn);if(R=arguments,I=this,te=Rn,No){if(X===n)return $e(te);if(he)return gA(X),X=Oh(st,h),Oe(te)}return X===n&&(X=Oh(st,h)),K}return Bi.cancel=Fi,Bi.flush=ei,Bi}var pK=et(function(c,h){return K6(c,1,h)}),gK=et(function(c,h,w){return K6(c,lo(h)||0,w)});function mK(c){return Xs(c,k)}function jy(c,h){if(typeof c!="function"||h!=null&&typeof h!="function")throw new ro(s);var w=function(){var R=arguments,I=h?h.apply(this,R):R[0],z=w.cache;if(z.has(I))return z.get(I);var K=c.apply(this,R);return w.cache=z.set(I,K)||z,K};return w.cache=new(jy.Cache||qs),w}jy.Cache=qs;function Gy(c){if(typeof c!="function")throw new ro(s);return function(){var h=arguments;switch(h.length){case 0:return!c.call(this);case 1:return!c.call(this,h[0]);case 2:return!c.call(this,h[0],h[1]);case 3:return!c.call(this,h[0],h[1],h[2])}return!c.apply(this,h)}}function yK(c){return tP(2,c)}var vK=iW(function(c,h){h=h.length==1&&Ge(h[0])?an(h[0],Li(De())):an(Cr(h,1),Li(De()));var w=h.length;return et(function(R){for(var I=-1,z=Lr(R.length,w);++I=h}),_u=J6(function(){return arguments}())?J6:function(c){return xn(c)&&Nt.call(c,"callee")&&!B6.call(c,"callee")},Ge=oe.isArray,MK=Bc?Li(Bc):zH;function gi(c){return c!=null&&Hy(c.length)&&!Zs(c)}function Pn(c){return xn(c)&&gi(c)}function NK(c){return c===!0||c===!1||xn(c)&&Zr(c)==ne}var el=KG||Tw,LK=Uc?Li(Uc):VH;function DK(c){return xn(c)&&c.nodeType===1&&!kh(c)}function $K(c){if(c==null)return!0;if(gi(c)&&(Ge(c)||typeof c=="string"||typeof c.splice=="function"||el(c)||Zc(c)||_u(c)))return!c.length;var h=Dr(c);if(h==Me||h==it)return!c.size;if(Rh(c))return!j2(c).length;for(var w in c)if(Nt.call(c,w))return!1;return!0}function FK(c,h){return Eh(c,h)}function BK(c,h,w){w=typeof w=="function"?w:n;var R=w?w(c,h):n;return R===n?Eh(c,h,n,w):!!R}function gw(c){if(!xn(c))return!1;var h=Zr(c);return h==ve||h==pe||typeof c.message=="string"&&typeof c.name=="string"&&!kh(c)}function UK(c){return typeof c=="number"&&z6(c)}function Zs(c){if(!hn(c))return!1;var h=Zr(c);return h==ye||h==We||h==W||h==Wn}function aP(c){return typeof c=="number"&&c==Ye(c)}function Hy(c){return typeof c=="number"&&c>-1&&c%1==0&&c<=D}function hn(c){var h=typeof c;return c!=null&&(h=="object"||h=="function")}function xn(c){return c!=null&&typeof c=="object"}var lP=mh?Li(mh):GH;function zK(c,h){return c===h||V2(c,h,ow(h))}function VK(c,h,w){return w=typeof w=="function"?w:n,V2(c,h,ow(h),w)}function jK(c){return uP(c)&&c!=+c}function GK(c){if(AW(c))throw new Ve(o);return eA(c)}function HK(c){return c===null}function WK(c){return c==null}function uP(c){return typeof c=="number"||xn(c)&&Zr(c)==Ee}function kh(c){if(!xn(c)||Zr(c)!=_e)return!1;var h=vy(c);if(h===null)return!0;var w=Nt.call(h,"constructor")&&h.constructor;return typeof w=="function"&&w instanceof w&&py.call(w)==VG}var mw=x6?Li(x6):HH;function qK(c){return aP(c)&&c>=-D&&c<=D}var cP=C6?Li(C6):WH;function Wy(c){return typeof c=="string"||!Ge(c)&&xn(c)&&Zr(c)==mt}function $i(c){return typeof c=="symbol"||xn(c)&&Zr(c)==Jt}var Zc=T6?Li(T6):qH;function KK(c){return c===n}function XK(c){return xn(c)&&Dr(c)==yr}function YK(c){return xn(c)&&Zr(c)==hi}var QK=Dy(G2),ZK=Dy(function(c,h){return c<=h});function dP(c){if(!c)return[];if(gi(c))return Wy(c)?ko(c):pi(c);if(vh&&c[vh])return OG(c[vh]());var h=Dr(c),w=h==Me?k2:h==it?dy:Jc;return w(c)}function Js(c){if(!c)return c===0?c:0;if(c=lo(c),c===B||c===-B){var h=c<0?-1:1;return h*V}return c===c?c:0}function Ye(c){var h=Js(c),w=h%1;return h===h?w?h-w:h:0}function fP(c){return c?gu(Ye(c),0,q):0}function lo(c){if(typeof c=="number")return c;if($i(c))return j;if(hn(c)){var h=typeof c.valueOf=="function"?c.valueOf():c;c=hn(h)?h+"":h}if(typeof c!="string")return c===0?c:+c;c=k6(c);var w=rh.test(c);return w||ih.test(c)?we(c.slice(2),w?2:8):nh.test(c)?j:+c}function hP(c){return ls(c,mi(c))}function JK(c){return c?gu(Ye(c),-D,D):c===0?c:0}function It(c){return c==null?"":Di(c)}var eX=Xc(function(c,h){if(Rh(h)||gi(h)){ls(h,ar(h),c);return}for(var w in h)Nt.call(h,w)&&xh(c,w,h[w])}),pP=Xc(function(c,h){ls(h,mi(h),c)}),qy=Xc(function(c,h,w,R){ls(h,mi(h),c,R)}),tX=Xc(function(c,h,w,R){ls(h,ar(h),c,R)}),nX=Ys($2);function rX(c,h){var w=Kc(c);return h==null?w:W6(w,h)}var iX=et(function(c,h){c=Wt(c);var w=-1,R=h.length,I=R>2?h[2]:n;for(I&&Jr(h[0],h[1],I)&&(R=1);++w1),z}),ls(c,rw(c),w),R&&(w=oo(w,f|p|g,gW));for(var I=h.length;I--;)X2(w,h[I]);return w});function wX(c,h){return mP(c,Gy(De(h)))}var xX=Ys(function(c,h){return c==null?{}:YH(c,h)});function mP(c,h){if(c==null)return{};var w=an(rw(c),function(R){return[R]});return h=De(h),aA(c,w,function(R,I){return h(R,I[0])})}function CX(c,h,w){h=Za(h,c);var R=-1,I=h.length;for(I||(I=1,c=n);++Rh){var R=c;c=h,h=R}if(w||c%1||h%1){var I=V6();return Lr(c+I*(h-c+re("1e-"+((I+"").length-1))),h)}return W2(c,h)}var LX=Yc(function(c,h,w){return h=h.toLowerCase(),c+(w?_P(h):h)});function _P(c){return _w(It(c).toLowerCase())}function bP(c){return c=It(c),c&&c.replace(sh,TG).replace(oy,"")}function DX(c,h,w){c=It(c),h=Di(h);var R=c.length;w=w===n?R:gu(Ye(w),0,R);var I=w;return w-=h.length,w>=0&&c.slice(w,I)==h}function $X(c){return c=It(c),c&&$n.test(c)?c.replace(kt,EG):c}function FX(c){return c=It(c),c&&os.test(c)?c.replace(Mi,"\\$&"):c}var BX=Yc(function(c,h,w){return c+(w?"-":"")+h.toLowerCase()}),UX=Yc(function(c,h,w){return c+(w?" ":"")+h.toLowerCase()}),zX=xA("toLowerCase");function VX(c,h,w){c=It(c),h=Ye(h);var R=h?jc(c):0;if(!h||R>=h)return c;var I=(h-R)/2;return Ly(wy(I),w)+c+Ly(Sy(I),w)}function jX(c,h,w){c=It(c),h=Ye(h);var R=h?jc(c):0;return h&&R>>0,w?(c=It(c),c&&(typeof h=="string"||h!=null&&!mw(h))&&(h=Di(h),!h&&Vc(c))?Ja(ko(c),0,w):c.split(h,w)):[]}var YX=Yc(function(c,h,w){return c+(w?" ":"")+_w(h)});function QX(c,h,w){return c=It(c),w=w==null?0:gu(Ye(w),0,c.length),h=Di(h),c.slice(w,w+h.length)==h}function ZX(c,h,w){var R=$.templateSettings;w&&Jr(c,h,w)&&(h=n),c=It(c),h=qy({},h,R,OA);var I=qy({},h.imports,R.imports,OA),z=ar(I),K=O2(I,z),X,te,ce=0,de=h.interpolate||ss,he="__p += '",be=I2((h.escape||ss).source+"|"+de.source+"|"+(de===br?th:ss).source+"|"+(h.evaluate||ss).source+"|$","g"),Oe="//# sourceURL="+(Nt.call(h,"sourceURL")?(h.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++ay+"]")+` `;c.replace(be,function(Fe,st,ht,Fi,ei,Bi){return ht||(ht=Fi),he+=c.slice(ce,Bi).replace(ah,AG),st&&(X=!0,he+=`' + __e(`+st+`) + '`),ei&&(te=!0,he+=`'; @@ -63,9 +63,9 @@ __p += '`),ht&&(he+=`' + function print() { __p += __j.call(arguments, '') } `:`; `)+he+`return __p -}`;var Ze=SP(function(){return Tt(z,Oe+"return "+he).apply(n,K)});if(Ze.source=he,gw(Ze))throw Ze;return Ze}function JX(c){return It(c).toLowerCase()}function eY(c){return It(c).toUpperCase()}function tY(c,h,w){if(c=It(c),c&&(w||h===n))return O6(c);if(!c||!(h=Di(h)))return c;var R=ko(c),I=ko(h),z=k6(R,I),K=I6(R,I)+1;return Ja(R,z,K).join("")}function nY(c,h,w){if(c=It(c),c&&(w||h===n))return c.slice(0,N6(c)+1);if(!c||!(h=Di(h)))return c;var R=ko(c),I=I6(R,ko(h))+1;return Ja(R,0,I).join("")}function rY(c,h,w){if(c=It(c),c&&(w||h===n))return c.replace(to,"");if(!c||!(h=Di(h)))return c;var R=ko(c),I=k6(R,ko(h));return Ja(R,I).join("")}function iY(c,h){var w=O,R=M;if(hn(h)){var I="separator"in h?h.separator:I;w="length"in h?Ye(h.length):w,R="omission"in h?Di(h.omission):R}c=It(c);var z=c.length;if(Vc(c)){var K=ko(c);z=K.length}if(w>=z)return c;var X=w-jc(R);if(X<1)return R;var te=K?Ja(K,0,X).join(""):c.slice(0,X);if(I===n)return te+R;if(K&&(X+=te.length-X),mw(I)){if(c.slice(X).search(I)){var ce,de=te;for(I.global||(I=I2(I.source,It(Po.exec(I))+"g")),I.lastIndex=0;ce=I.exec(de);)var he=ce.index;te=te.slice(0,he===n?X:he)}}else if(c.indexOf(Di(I),X)!=X){var be=te.lastIndexOf(I);be>-1&&(te=te.slice(0,be))}return te+R}function oY(c){return c=It(c),c&&Kn.test(c)?c.replace(Xt,NG):c}var sY=Yc(function(c,h,w){return c+(w?" ":"")+h.toUpperCase()}),_w=wA("toUpperCase");function bP(c,h,w){return c=It(c),h=w?n:h,h===n?RG(c)?$G(c):bG(c):c.match(h)||[]}var SP=et(function(c,h){try{return Ni(c,n,h)}catch(w){return gw(w)?w:new Ve(w)}}),aY=Ys(function(c,h){return no(h,function(w){w=us(w),Ks(c,w,hw(c[w],c))}),c});function lY(c){var h=c==null?0:c.length,w=De();return c=h?an(c,function(R){if(typeof R[1]!="function")throw new ro(s);return[w(R[0]),R[1]]}):[],et(function(R){for(var I=-1;++ID)return[];var w=q,R=Lr(c,q);h=De(h),c-=q;for(var I=R2(R,h);++w0||h<0)?new ut(w):(c<0?w=w.takeRight(-c):c&&(w=w.drop(c)),h!==n&&(h=Ye(h),w=h<0?w.dropRight(-h):w.take(h-c)),w)},ut.prototype.takeRightWhile=function(c){return this.reverse().takeWhile(c).reverse()},ut.prototype.toArray=function(){return this.take(q)},as(ut.prototype,function(c,h){var w=/^(?:filter|find|map|reject)|While$/.test(h),R=/^(?:head|last)$/.test(h),I=$[R?"take"+(h=="last"?"Right":""):h],z=R||/^find/.test(h);I&&($.prototype[h]=function(){var K=this.__wrapped__,X=R?[1]:arguments,te=K instanceof ut,ce=X[0],de=te||Ge(K),he=function(st){var ht=I.apply($,qa([st],X));return R&&be?ht[0]:ht};de&&w&&typeof ce=="function"&&ce.length!=1&&(te=de=!1);var be=this.__chain__,Oe=!!this.__actions__.length,$e=z&&!be,Ze=te&&!Oe;if(!z&&de){K=Ze?K:new ut(this);var Fe=c.apply(K,X);return Fe.__actions__.push({func:Uy,args:[he],thisArg:n}),new io(Fe,be)}return $e&&Ze?c.apply(this,X):(Fe=this.thru(he),$e?R?Fe.value()[0]:Fe.value():Fe)})}),no(["pop","push","shift","sort","splice","unshift"],function(c){var h=fy[c],w=/^(?:push|sort|unshift)$/.test(c)?"tap":"thru",R=/^(?:pop|shift)$/.test(c);$.prototype[c]=function(){var I=arguments;if(R&&!this.__chain__){var z=this.value();return h.apply(Ge(z)?z:[],I)}return this[w](function(K){return h.apply(Ge(K)?K:[],I)})}}),as(ut.prototype,function(c,h){var w=$[h];if(w){var R=w.name+"";Nt.call(qc,R)||(qc[R]=[]),qc[R].push({name:h,func:w})}}),qc[My(n,_).name]=[{name:"wrapper",func:n}],ut.prototype.clone=oH,ut.prototype.reverse=sH,ut.prototype.value=aH,$.prototype.at=Dq,$.prototype.chain=$q,$.prototype.commit=Fq,$.prototype.next=Bq,$.prototype.plant=zq,$.prototype.reverse=Vq,$.prototype.toJSON=$.prototype.valueOf=$.prototype.value=jq,$.prototype.first=$.prototype.head,vh&&($.prototype[vh]=Uq),$},Gc=FG();bt?((bt.exports=Gc)._=Gc,Je._=Gc):qe._=Gc}).call(He)})(w1,w1.exports);var Yue=w1.exports,x1=globalThis&&globalThis.__generator||function(e,t){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(u){return function(d){return l([u,d])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(o=u[0]&2?i.return:u[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,u[1])).done)return o;switch(i=0,o&&(u=[u[0]&2,o.value]),u[0]){case 0:case 1:o=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,i=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]"u"||navigator.onLine===void 0?!0:navigator.onLine}function sce(){return typeof document>"u"?!0:document.visibilityState!=="hidden"}var z9=Jo;function d$(e,t){if(e===t||!(z9(e)&&z9(t)||Array.isArray(e)&&Array.isArray(t)))return t;for(var n=Object.keys(t),r=Object.keys(e),i=n.length===r.length,o=Array.isArray(t)?[]:{},s=0,a=n;s=200&&e.status<=299},lce=function(e){return/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"")};function j9(e){if(!Jo(e))return e;for(var t=In({},e),n=0,r=Object.entries(t);n"u"&&a===V9&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(y,S){return E1(t,null,function(){var C,T,E,P,k,O,M,G,U,A,N,F,B,D,V,j,q,Z,ee,ie,se,le,W,ne,fe,pe,ve,ye,We,Me,Ee,lt,_e,jt,Wn,Bt;return x1(this,function(it){switch(it.label){case 0:return C=S.signal,T=S.getState,E=S.extra,P=S.endpoint,k=S.forced,O=S.type,G=typeof y=="string"?{url:y}:y,U=G.url,A=G.headers,N=A===void 0?new Headers(_.headers):A,F=G.params,B=F===void 0?void 0:F,D=G.responseHandler,V=D===void 0?v??"json":D,j=G.validateStatus,q=j===void 0?x??ace:j,Z=G.timeout,ee=Z===void 0?m:Z,ie=B9(G,["url","headers","params","responseHandler","validateStatus","timeout"]),se=In(xs(In({},_),{signal:C}),ie),N=new Headers(j9(N)),le=se,[4,o(N,{getState:T,extra:E,endpoint:P,forced:k,type:O})];case 1:le.headers=it.sent()||N,W=function(mt){return typeof mt=="object"&&(Jo(mt)||Array.isArray(mt)||typeof mt.toJSON=="function")},!se.headers.has("content-type")&&W(se.body)&&se.headers.set("content-type",p),W(se.body)&&d(se.headers)&&(se.body=JSON.stringify(se.body,g)),B&&(ne=~U.indexOf("?")?"&":"?",fe=l?l(B):new URLSearchParams(j9(B)),U+=ne+fe),U=ice(r,U),pe=new Request(U,se),ve=pe.clone(),M={request:ve},We=!1,Me=ee&&setTimeout(function(){We=!0,S.abort()},ee),it.label=2;case 2:return it.trys.push([2,4,5,6]),[4,a(pe)];case 3:return ye=it.sent(),[3,6];case 4:return Ee=it.sent(),[2,{error:{status:We?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(Ee)},meta:M}];case 5:return Me&&clearTimeout(Me),[7];case 6:lt=ye.clone(),M.response=lt,jt="",it.label=7;case 7:return it.trys.push([7,9,,10]),[4,Promise.all([b(ye,V).then(function(mt){return _e=mt},function(mt){return Wn=mt}),lt.text().then(function(mt){return jt=mt},function(){})])];case 8:if(it.sent(),Wn)throw Wn;return[3,10];case 9:return Bt=it.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:ye.status,data:jt,error:String(Bt)},meta:M}];case 10:return[2,q(ye,_e)?{data:_e,meta:M}:{error:{status:ye.status,data:_e},meta:M}]}})})};function b(y,S){return E1(this,null,function(){var C;return x1(this,function(T){switch(T.label){case 0:return typeof S=="function"?[2,S(y)]:(S==="content-type"&&(S=d(y.headers)?"json":"text"),S!=="json"?[3,2]:[4,y.text()]);case 1:return C=T.sent(),[2,C.length?JSON.parse(C):null];case 2:return[2,y.text()]}})})}}var G9=function(){function e(t,n){n===void 0&&(n=void 0),this.value=t,this.meta=n}return e}(),xT=Re("__rtkq/focused"),f$=Re("__rtkq/unfocused"),CT=Re("__rtkq/online"),h$=Re("__rtkq/offline"),Ls;(function(e){e.query="query",e.mutation="mutation"})(Ls||(Ls={}));function p$(e){return e.type===Ls.query}function cce(e){return e.type===Ls.mutation}function g$(e,t,n,r,i,o){return dce(e)?e(t,n,r,i).map(P3).map(o):Array.isArray(e)?e.map(P3).map(o):[]}function dce(e){return typeof e=="function"}function P3(e){return typeof e=="string"?{type:e}:e}function ux(e){return e!=null}var xg=Symbol("forceQueryFn"),R3=function(e){return typeof e[xg]=="function"};function fce(e){var t=e.serializeQueryArgs,n=e.queryThunk,r=e.mutationThunk,i=e.api,o=e.context,s=new Map,a=new Map,l=i.internalActions,u=l.unsubscribeQueryResult,d=l.removeMutationResult,f=l.updateSubscriptionOptions;return{buildInitiateQuery:b,buildInitiateMutation:y,getRunningQueryThunk:m,getRunningMutationThunk:v,getRunningQueriesThunk:x,getRunningMutationsThunk:_,getRunningOperationPromises:g,removalWarning:p};function p(){throw new Error(`This method had to be removed due to a conceptual bug in RTK. +}`;var Ze=wP(function(){return Tt(z,Oe+"return "+he).apply(n,K)});if(Ze.source=he,gw(Ze))throw Ze;return Ze}function JX(c){return It(c).toLowerCase()}function eY(c){return It(c).toUpperCase()}function tY(c,h,w){if(c=It(c),c&&(w||h===n))return k6(c);if(!c||!(h=Di(h)))return c;var R=ko(c),I=ko(h),z=I6(R,I),K=M6(R,I)+1;return Ja(R,z,K).join("")}function nY(c,h,w){if(c=It(c),c&&(w||h===n))return c.slice(0,L6(c)+1);if(!c||!(h=Di(h)))return c;var R=ko(c),I=M6(R,ko(h))+1;return Ja(R,0,I).join("")}function rY(c,h,w){if(c=It(c),c&&(w||h===n))return c.replace(to,"");if(!c||!(h=Di(h)))return c;var R=ko(c),I=I6(R,ko(h));return Ja(R,I).join("")}function iY(c,h){var w=O,R=M;if(hn(h)){var I="separator"in h?h.separator:I;w="length"in h?Ye(h.length):w,R="omission"in h?Di(h.omission):R}c=It(c);var z=c.length;if(Vc(c)){var K=ko(c);z=K.length}if(w>=z)return c;var X=w-jc(R);if(X<1)return R;var te=K?Ja(K,0,X).join(""):c.slice(0,X);if(I===n)return te+R;if(K&&(X+=te.length-X),mw(I)){if(c.slice(X).search(I)){var ce,de=te;for(I.global||(I=I2(I.source,It(Po.exec(I))+"g")),I.lastIndex=0;ce=I.exec(de);)var he=ce.index;te=te.slice(0,he===n?X:he)}}else if(c.indexOf(Di(I),X)!=X){var be=te.lastIndexOf(I);be>-1&&(te=te.slice(0,be))}return te+R}function oY(c){return c=It(c),c&&Kn.test(c)?c.replace(Xt,NG):c}var sY=Yc(function(c,h,w){return c+(w?" ":"")+h.toUpperCase()}),_w=xA("toUpperCase");function SP(c,h,w){return c=It(c),h=w?n:h,h===n?RG(c)?$G(c):bG(c):c.match(h)||[]}var wP=et(function(c,h){try{return Ni(c,n,h)}catch(w){return gw(w)?w:new Ve(w)}}),aY=Ys(function(c,h){return no(h,function(w){w=us(w),Ks(c,w,hw(c[w],c))}),c});function lY(c){var h=c==null?0:c.length,w=De();return c=h?an(c,function(R){if(typeof R[1]!="function")throw new ro(s);return[w(R[0]),R[1]]}):[],et(function(R){for(var I=-1;++ID)return[];var w=q,R=Lr(c,q);h=De(h),c-=q;for(var I=R2(R,h);++w0||h<0)?new ut(w):(c<0?w=w.takeRight(-c):c&&(w=w.drop(c)),h!==n&&(h=Ye(h),w=h<0?w.dropRight(-h):w.take(h-c)),w)},ut.prototype.takeRightWhile=function(c){return this.reverse().takeWhile(c).reverse()},ut.prototype.toArray=function(){return this.take(q)},as(ut.prototype,function(c,h){var w=/^(?:filter|find|map|reject)|While$/.test(h),R=/^(?:head|last)$/.test(h),I=$[R?"take"+(h=="last"?"Right":""):h],z=R||/^find/.test(h);I&&($.prototype[h]=function(){var K=this.__wrapped__,X=R?[1]:arguments,te=K instanceof ut,ce=X[0],de=te||Ge(K),he=function(st){var ht=I.apply($,qa([st],X));return R&&be?ht[0]:ht};de&&w&&typeof ce=="function"&&ce.length!=1&&(te=de=!1);var be=this.__chain__,Oe=!!this.__actions__.length,$e=z&&!be,Ze=te&&!Oe;if(!z&&de){K=Ze?K:new ut(this);var Fe=c.apply(K,X);return Fe.__actions__.push({func:Uy,args:[he],thisArg:n}),new io(Fe,be)}return $e&&Ze?c.apply(this,X):(Fe=this.thru(he),$e?R?Fe.value()[0]:Fe.value():Fe)})}),no(["pop","push","shift","sort","splice","unshift"],function(c){var h=fy[c],w=/^(?:push|sort|unshift)$/.test(c)?"tap":"thru",R=/^(?:pop|shift)$/.test(c);$.prototype[c]=function(){var I=arguments;if(R&&!this.__chain__){var z=this.value();return h.apply(Ge(z)?z:[],I)}return this[w](function(K){return h.apply(Ge(K)?K:[],I)})}}),as(ut.prototype,function(c,h){var w=$[h];if(w){var R=w.name+"";Nt.call(qc,R)||(qc[R]=[]),qc[R].push({name:h,func:w})}}),qc[My(n,_).name]=[{name:"wrapper",func:n}],ut.prototype.clone=oH,ut.prototype.reverse=sH,ut.prototype.value=aH,$.prototype.at=Dq,$.prototype.chain=$q,$.prototype.commit=Fq,$.prototype.next=Bq,$.prototype.plant=zq,$.prototype.reverse=Vq,$.prototype.toJSON=$.prototype.valueOf=$.prototype.value=jq,$.prototype.first=$.prototype.head,vh&&($.prototype[vh]=Uq),$},Gc=FG();bt?((bt.exports=Gc)._=Gc,Je._=Gc):qe._=Gc}).call(He)})(w1,w1.exports);var Yue=w1.exports,x1=globalThis&&globalThis.__generator||function(e,t){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(u){return function(d){return l([u,d])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(o=u[0]&2?i.return:u[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,u[1])).done)return o;switch(i=0,o&&(u=[u[0]&2,o.value]),u[0]){case 0:case 1:o=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,i=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]"u"||navigator.onLine===void 0?!0:navigator.onLine}function sce(){return typeof document>"u"?!0:document.visibilityState!=="hidden"}var V9=Jo;function d$(e,t){if(e===t||!(V9(e)&&V9(t)||Array.isArray(e)&&Array.isArray(t)))return t;for(var n=Object.keys(t),r=Object.keys(e),i=n.length===r.length,o=Array.isArray(t)?[]:{},s=0,a=n;s=200&&e.status<=299},lce=function(e){return/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"")};function G9(e){if(!Jo(e))return e;for(var t=In({},e),n=0,r=Object.entries(t);n"u"&&a===j9&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(y,S){return E1(t,null,function(){var C,T,E,P,k,O,M,G,U,A,N,F,B,D,V,j,q,Z,ee,ie,se,le,W,ne,fe,pe,ve,ye,We,Me,Ee,lt,_e,jt,Wn,Bt;return x1(this,function(it){switch(it.label){case 0:return C=S.signal,T=S.getState,E=S.extra,P=S.endpoint,k=S.forced,O=S.type,G=typeof y=="string"?{url:y}:y,U=G.url,A=G.headers,N=A===void 0?new Headers(_.headers):A,F=G.params,B=F===void 0?void 0:F,D=G.responseHandler,V=D===void 0?v??"json":D,j=G.validateStatus,q=j===void 0?x??ace:j,Z=G.timeout,ee=Z===void 0?m:Z,ie=U9(G,["url","headers","params","responseHandler","validateStatus","timeout"]),se=In(xs(In({},_),{signal:C}),ie),N=new Headers(G9(N)),le=se,[4,o(N,{getState:T,extra:E,endpoint:P,forced:k,type:O})];case 1:le.headers=it.sent()||N,W=function(mt){return typeof mt=="object"&&(Jo(mt)||Array.isArray(mt)||typeof mt.toJSON=="function")},!se.headers.has("content-type")&&W(se.body)&&se.headers.set("content-type",p),W(se.body)&&d(se.headers)&&(se.body=JSON.stringify(se.body,g)),B&&(ne=~U.indexOf("?")?"&":"?",fe=l?l(B):new URLSearchParams(G9(B)),U+=ne+fe),U=ice(r,U),pe=new Request(U,se),ve=pe.clone(),M={request:ve},We=!1,Me=ee&&setTimeout(function(){We=!0,S.abort()},ee),it.label=2;case 2:return it.trys.push([2,4,5,6]),[4,a(pe)];case 3:return ye=it.sent(),[3,6];case 4:return Ee=it.sent(),[2,{error:{status:We?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(Ee)},meta:M}];case 5:return Me&&clearTimeout(Me),[7];case 6:lt=ye.clone(),M.response=lt,jt="",it.label=7;case 7:return it.trys.push([7,9,,10]),[4,Promise.all([b(ye,V).then(function(mt){return _e=mt},function(mt){return Wn=mt}),lt.text().then(function(mt){return jt=mt},function(){})])];case 8:if(it.sent(),Wn)throw Wn;return[3,10];case 9:return Bt=it.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:ye.status,data:jt,error:String(Bt)},meta:M}];case 10:return[2,q(ye,_e)?{data:_e,meta:M}:{error:{status:ye.status,data:_e},meta:M}]}})})};function b(y,S){return E1(this,null,function(){var C;return x1(this,function(T){switch(T.label){case 0:return typeof S=="function"?[2,S(y)]:(S==="content-type"&&(S=d(y.headers)?"json":"text"),S!=="json"?[3,2]:[4,y.text()]);case 1:return C=T.sent(),[2,C.length?JSON.parse(C):null];case 2:return[2,y.text()]}})})}}var H9=function(){function e(t,n){n===void 0&&(n=void 0),this.value=t,this.meta=n}return e}(),CT=Re("__rtkq/focused"),f$=Re("__rtkq/unfocused"),TT=Re("__rtkq/online"),h$=Re("__rtkq/offline"),Ls;(function(e){e.query="query",e.mutation="mutation"})(Ls||(Ls={}));function p$(e){return e.type===Ls.query}function cce(e){return e.type===Ls.mutation}function g$(e,t,n,r,i,o){return dce(e)?e(t,n,r,i).map(P3).map(o):Array.isArray(e)?e.map(P3).map(o):[]}function dce(e){return typeof e=="function"}function P3(e){return typeof e=="string"?{type:e}:e}function ux(e){return e!=null}var xg=Symbol("forceQueryFn"),R3=function(e){return typeof e[xg]=="function"};function fce(e){var t=e.serializeQueryArgs,n=e.queryThunk,r=e.mutationThunk,i=e.api,o=e.context,s=new Map,a=new Map,l=i.internalActions,u=l.unsubscribeQueryResult,d=l.removeMutationResult,f=l.updateSubscriptionOptions;return{buildInitiateQuery:b,buildInitiateMutation:y,getRunningQueryThunk:m,getRunningMutationThunk:v,getRunningQueriesThunk:x,getRunningMutationsThunk:_,getRunningOperationPromises:g,removalWarning:p};function p(){throw new Error(`This method had to be removed due to a conceptual bug in RTK. Please see https://github.com/reduxjs/redux-toolkit/pull/2481 for details. - See https://redux-toolkit.js.org/rtk-query/usage/server-side-rendering for new guidance on SSR.`)}function g(){typeof process<"u";var S=function(C){return Array.from(C.values()).flatMap(function(T){return T?Object.values(T):[]})};return C1(C1([],S(s)),S(a)).filter(ux)}function m(S,C){return function(T){var E,P=o.endpointDefinitions[S],k=t({queryArgs:C,endpointDefinition:P,endpointName:S});return(E=s.get(T))==null?void 0:E[k]}}function v(S,C){return function(T){var E;return(E=a.get(T))==null?void 0:E[C]}}function x(){return function(S){return Object.values(s.get(S)||{}).filter(ux)}}function _(){return function(S){return Object.values(a.get(S)||{}).filter(ux)}}function b(S,C){var T=function(E,P){var k=P===void 0?{}:P,O=k.subscribe,M=O===void 0?!0:O,G=k.forceRefetch,U=k.subscriptionOptions,A=xg,N=k[A];return function(F,B){var D,V,j=t({queryArgs:E,endpointDefinition:C,endpointName:S}),q=n((D={type:"query",subscribe:M,forceRefetch:G,subscriptionOptions:U,endpointName:S,originalArgs:E,queryCacheKey:j},D[xg]=N,D)),Z=i.endpoints[S].select(E),ee=F(q),ie=Z(B()),se=ee.requestId,le=ee.abort,W=ie.requestId!==se,ne=(V=s.get(F))==null?void 0:V[j],fe=function(){return Z(B())},pe=Object.assign(N?ee.then(fe):W&&!ne?Promise.resolve(ie):Promise.all([ne,ee]).then(fe),{arg:E,requestId:se,subscriptionOptions:U,queryCacheKey:j,abort:le,unwrap:function(){return E1(this,null,function(){var ye;return x1(this,function(We){switch(We.label){case 0:return[4,pe];case 1:if(ye=We.sent(),ye.isError)throw ye.error;return[2,ye.data]}})})},refetch:function(){return F(T(E,{subscribe:!1,forceRefetch:!0}))},unsubscribe:function(){M&&F(u({queryCacheKey:j,requestId:se}))},updateSubscriptionOptions:function(ye){pe.subscriptionOptions=ye,F(f({endpointName:S,requestId:se,queryCacheKey:j,options:ye}))}});if(!ne&&!W&&!N){var ve=s.get(F)||{};ve[j]=pe,s.set(F,ve),pe.then(function(){delete ve[j],Object.keys(ve).length||s.delete(F)})}return pe}};return T}function y(S){return function(C,T){var E=T===void 0?{}:T,P=E.track,k=P===void 0?!0:P,O=E.fixedCacheKey;return function(M,G){var U=r({type:"mutation",endpointName:S,originalArgs:C,track:k,fixedCacheKey:O}),A=M(U),N=A.requestId,F=A.abort,B=A.unwrap,D=A.unwrap().then(function(Z){return{data:Z}}).catch(function(Z){return{error:Z}}),V=function(){M(d({requestId:N,fixedCacheKey:O}))},j=Object.assign(D,{arg:A.arg,requestId:N,abort:F,unwrap:B,unsubscribe:V,reset:V}),q=a.get(M)||{};return a.set(M,q),q[N]=j,j.then(function(){delete q[N],Object.keys(q).length||a.delete(M)}),O&&(q[O]=j,j.then(function(){q[O]===j&&(delete q[O],Object.keys(q).length||a.delete(M))})),j}}}}function H9(e){return e}function hce(e){var t=this,n=e.reducerPath,r=e.baseQuery,i=e.context.endpointDefinitions,o=e.serializeQueryArgs,s=e.api,a=function(y,S,C){return function(T){var E=i[y];T(s.internalActions.queryResultPatched({queryCacheKey:o({queryArgs:S,endpointDefinition:E,endpointName:y}),patches:C}))}},l=function(y,S,C){return function(T,E){var P,k,O=s.endpoints[y].select(S)(E()),M={patches:[],inversePatches:[],undo:function(){return T(s.util.patchQueryData(y,S,M.inversePatches))}};if(O.status===ln.uninitialized)return M;if("data"in O)if(Ai(O.data)){var G=Q4(O.data,C),U=G[1],A=G[2];(P=M.patches).push.apply(P,U),(k=M.inversePatches).push.apply(k,A)}else{var N=C(O.data);M.patches.push({op:"replace",path:[],value:N}),M.inversePatches.push({op:"replace",path:[],value:O.data})}return T(s.util.patchQueryData(y,S,M.patches)),M}},u=function(y,S,C){return function(T){var E;return T(s.endpoints[y].initiate(S,(E={subscribe:!1,forceRefetch:!0},E[xg]=function(){return{data:C}},E)))}},d=function(y,S){return E1(t,[y,S],function(C,T){var E,P,k,O,M,G,U,A,N,F,B,D,V,j,q,Z,ee,ie,se=T.signal,le=T.abort,W=T.rejectWithValue,ne=T.fulfillWithValue,fe=T.dispatch,pe=T.getState,ve=T.extra;return x1(this,function(ye){switch(ye.label){case 0:E=i[C.endpointName],ye.label=1;case 1:return ye.trys.push([1,8,,13]),P=H9,k=void 0,O={signal:se,abort:le,dispatch:fe,getState:pe,extra:ve,endpoint:C.endpointName,type:C.type,forced:C.type==="query"?f(C,pe()):void 0},M=C.type==="query"?C[xg]:void 0,M?(k=M(),[3,6]):[3,2];case 2:return E.query?[4,r(E.query(C.originalArgs),O,E.extraOptions)]:[3,4];case 3:return k=ye.sent(),E.transformResponse&&(P=E.transformResponse),[3,6];case 4:return[4,E.queryFn(C.originalArgs,O,E.extraOptions,function(We){return r(We,O,E.extraOptions)})];case 5:k=ye.sent(),ye.label=6;case 6:if(typeof process<"u",k.error)throw new G9(k.error,k.meta);return B=ne,[4,P(k.data,k.meta,C.originalArgs)];case 7:return[2,B.apply(void 0,[ye.sent(),(ee={fulfilledTimeStamp:Date.now(),baseQueryMeta:k.meta},ee[Du]=!0,ee)])];case 8:if(D=ye.sent(),V=D,!(V instanceof G9))return[3,12];j=H9,E.query&&E.transformErrorResponse&&(j=E.transformErrorResponse),ye.label=9;case 9:return ye.trys.push([9,11,,12]),q=W,[4,j(V.value,V.meta,C.originalArgs)];case 10:return[2,q.apply(void 0,[ye.sent(),(ie={baseQueryMeta:V.meta},ie[Du]=!0,ie)])];case 11:return Z=ye.sent(),V=Z,[3,12];case 12:throw typeof process<"u",console.error(V),V;case 13:return[2]}})})};function f(y,S){var C,T,E,P,k=(T=(C=S[n])==null?void 0:C.queries)==null?void 0:T[y.queryCacheKey],O=(E=S[n])==null?void 0:E.config.refetchOnMountOrArgChange,M=k==null?void 0:k.fulfilledTimeStamp,G=(P=y.forceRefetch)!=null?P:y.subscribe&&O;return G?G===!0||(Number(new Date)-Number(M))/1e3>=G:!1}var p=Bl(n+"/executeQuery",d,{getPendingMeta:function(){var y;return y={startedTimeStamp:Date.now()},y[Du]=!0,y},condition:function(y,S){var C=S.getState,T,E,P,k=C(),O=(E=(T=k[n])==null?void 0:T.queries)==null?void 0:E[y.queryCacheKey],M=O==null?void 0:O.fulfilledTimeStamp,G=y.originalArgs,U=O==null?void 0:O.originalArgs,A=i[y.endpointName];return R3(y)?!0:(O==null?void 0:O.status)==="pending"?!1:f(y,k)||p$(A)&&((P=A==null?void 0:A.forceRefetch)!=null&&P.call(A,{currentArg:G,previousArg:U,endpointState:O,state:k}))?!0:!M},dispatchConditionRejection:!0}),g=Bl(n+"/executeMutation",d,{getPendingMeta:function(){var y;return y={startedTimeStamp:Date.now()},y[Du]=!0,y}}),m=function(y){return"force"in y},v=function(y){return"ifOlderThan"in y},x=function(y,S,C){return function(T,E){var P=m(C)&&C.force,k=v(C)&&C.ifOlderThan,O=function(A){return A===void 0&&(A=!0),s.endpoints[y].initiate(S,{forceRefetch:A})},M=s.endpoints[y].select(S)(E());if(P)T(O());else if(k){var G=M==null?void 0:M.fulfilledTimeStamp;if(!G){T(O());return}var U=(Number(new Date)-Number(new Date(G)))/1e3>=k;U&&T(O())}else T(O(!1))}};function _(y){return function(S){var C,T;return((T=(C=S==null?void 0:S.meta)==null?void 0:C.arg)==null?void 0:T.endpointName)===y}}function b(y,S){return{matchPending:Xd(H_(y),_(S)),matchFulfilled:Xd(tu(y),_(S)),matchRejected:Xd(_f(y),_(S))}}return{queryThunk:p,mutationThunk:g,prefetch:x,updateQueryData:l,upsertQueryData:u,patchQueryData:a,buildMatchThunkActions:b}}function m$(e,t,n,r){return g$(n[e.meta.arg.endpointName][t],tu(e)?e.payload:void 0,sm(e)?e.payload:void 0,e.meta.arg.originalArgs,"baseQueryMeta"in e.meta?e.meta.baseQueryMeta:void 0,r)}function m0(e,t,n){var r=e[t];r&&n(r)}function Cg(e){var t;return(t="arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)!=null?t:e.requestId}function W9(e,t,n){var r=e[Cg(t)];r&&n(r)}var Vh={};function pce(e){var t=e.reducerPath,n=e.queryThunk,r=e.mutationThunk,i=e.context,o=i.endpointDefinitions,s=i.apiUid,a=i.extractRehydrationInfo,l=i.hasRehydrationInfo,u=e.assertTagType,d=e.config,f=Re(t+"/resetApiState"),p=yn({name:t+"/queries",initialState:Vh,reducers:{removeQueryResult:{reducer:function(C,T){var E=T.payload.queryCacheKey;delete C[E]},prepare:uv()},queryResultPatched:function(C,T){var E=T.payload,P=E.queryCacheKey,k=E.patches;m0(C,P,function(O){O.data=c3(O.data,k.concat())})}},extraReducers:function(C){C.addCase(n.pending,function(T,E){var P=E.meta,k=E.meta.arg,O,M,G=R3(k);(k.subscribe||G)&&((M=T[O=k.queryCacheKey])!=null||(T[O]={status:ln.uninitialized,endpointName:k.endpointName})),m0(T,k.queryCacheKey,function(U){U.status=ln.pending,U.requestId=G&&U.requestId?U.requestId:P.requestId,k.originalArgs!==void 0&&(U.originalArgs=k.originalArgs),U.startedTimeStamp=P.startedTimeStamp})}).addCase(n.fulfilled,function(T,E){var P=E.meta,k=E.payload;m0(T,P.arg.queryCacheKey,function(O){var M;if(!(O.requestId!==P.requestId&&!R3(P.arg))){var G=o[P.arg.endpointName].merge;if(O.status=ln.fulfilled,G)if(O.data!==void 0){var U=P.fulfilledTimeStamp,A=P.arg,N=P.baseQueryMeta,F=P.requestId,B=Jl(O.data,function(D){return G(D,k,{arg:A.originalArgs,baseQueryMeta:N,fulfilledTimeStamp:U,requestId:F})});O.data=B}else O.data=k;else O.data=(M=o[P.arg.endpointName].structuralSharing)==null||M?d$(ai(O.data)?G4(O.data):O.data,k):k;delete O.error,O.fulfilledTimeStamp=P.fulfilledTimeStamp}})}).addCase(n.rejected,function(T,E){var P=E.meta,k=P.condition,O=P.arg,M=P.requestId,G=E.error,U=E.payload;m0(T,O.queryCacheKey,function(A){if(!k){if(A.requestId!==M)return;A.status=ln.rejected,A.error=U??G}})}).addMatcher(l,function(T,E){for(var P=a(E).queries,k=0,O=Object.entries(P);k=G:!1}var p=Ul(n+"/executeQuery",d,{getPendingMeta:function(){var y;return y={startedTimeStamp:Date.now()},y[Du]=!0,y},condition:function(y,S){var C=S.getState,T,E,P,k=C(),O=(E=(T=k[n])==null?void 0:T.queries)==null?void 0:E[y.queryCacheKey],M=O==null?void 0:O.fulfilledTimeStamp,G=y.originalArgs,U=O==null?void 0:O.originalArgs,A=i[y.endpointName];return R3(y)?!0:(O==null?void 0:O.status)==="pending"?!1:f(y,k)||p$(A)&&((P=A==null?void 0:A.forceRefetch)!=null&&P.call(A,{currentArg:G,previousArg:U,endpointState:O,state:k}))?!0:!M},dispatchConditionRejection:!0}),g=Ul(n+"/executeMutation",d,{getPendingMeta:function(){var y;return y={startedTimeStamp:Date.now()},y[Du]=!0,y}}),m=function(y){return"force"in y},v=function(y){return"ifOlderThan"in y},x=function(y,S,C){return function(T,E){var P=m(C)&&C.force,k=v(C)&&C.ifOlderThan,O=function(A){return A===void 0&&(A=!0),s.endpoints[y].initiate(S,{forceRefetch:A})},M=s.endpoints[y].select(S)(E());if(P)T(O());else if(k){var G=M==null?void 0:M.fulfilledTimeStamp;if(!G){T(O());return}var U=(Number(new Date)-Number(new Date(G)))/1e3>=k;U&&T(O())}else T(O(!1))}};function _(y){return function(S){var C,T;return((T=(C=S==null?void 0:S.meta)==null?void 0:C.arg)==null?void 0:T.endpointName)===y}}function b(y,S){return{matchPending:Xd(H_(y),_(S)),matchFulfilled:Xd(tu(y),_(S)),matchRejected:Xd(_f(y),_(S))}}return{queryThunk:p,mutationThunk:g,prefetch:x,updateQueryData:l,upsertQueryData:u,patchQueryData:a,buildMatchThunkActions:b}}function m$(e,t,n,r){return g$(n[e.meta.arg.endpointName][t],tu(e)?e.payload:void 0,sm(e)?e.payload:void 0,e.meta.arg.originalArgs,"baseQueryMeta"in e.meta?e.meta.baseQueryMeta:void 0,r)}function m0(e,t,n){var r=e[t];r&&n(r)}function Cg(e){var t;return(t="arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)!=null?t:e.requestId}function q9(e,t,n){var r=e[Cg(t)];r&&n(r)}var Vh={};function pce(e){var t=e.reducerPath,n=e.queryThunk,r=e.mutationThunk,i=e.context,o=i.endpointDefinitions,s=i.apiUid,a=i.extractRehydrationInfo,l=i.hasRehydrationInfo,u=e.assertTagType,d=e.config,f=Re(t+"/resetApiState"),p=yn({name:t+"/queries",initialState:Vh,reducers:{removeQueryResult:{reducer:function(C,T){var E=T.payload.queryCacheKey;delete C[E]},prepare:uv()},queryResultPatched:function(C,T){var E=T.payload,P=E.queryCacheKey,k=E.patches;m0(C,P,function(O){O.data=c3(O.data,k.concat())})}},extraReducers:function(C){C.addCase(n.pending,function(T,E){var P=E.meta,k=E.meta.arg,O,M,G=R3(k);(k.subscribe||G)&&((M=T[O=k.queryCacheKey])!=null||(T[O]={status:ln.uninitialized,endpointName:k.endpointName})),m0(T,k.queryCacheKey,function(U){U.status=ln.pending,U.requestId=G&&U.requestId?U.requestId:P.requestId,k.originalArgs!==void 0&&(U.originalArgs=k.originalArgs),U.startedTimeStamp=P.startedTimeStamp})}).addCase(n.fulfilled,function(T,E){var P=E.meta,k=E.payload;m0(T,P.arg.queryCacheKey,function(O){var M;if(!(O.requestId!==P.requestId&&!R3(P.arg))){var G=o[P.arg.endpointName].merge;if(O.status=ln.fulfilled,G)if(O.data!==void 0){var U=P.fulfilledTimeStamp,A=P.arg,N=P.baseQueryMeta,F=P.requestId,B=Jl(O.data,function(D){return G(D,k,{arg:A.originalArgs,baseQueryMeta:N,fulfilledTimeStamp:U,requestId:F})});O.data=B}else O.data=k;else O.data=(M=o[P.arg.endpointName].structuralSharing)==null||M?d$(ai(O.data)?H4(O.data):O.data,k):k;delete O.error,O.fulfilledTimeStamp=P.fulfilledTimeStamp}})}).addCase(n.rejected,function(T,E){var P=E.meta,k=P.condition,O=P.arg,M=P.requestId,G=E.error,U=E.payload;m0(T,O.queryCacheKey,function(A){if(!k){if(A.requestId!==M)return;A.status=ln.rejected,A.error=U??G}})}).addMatcher(l,function(T,E){for(var P=a(E).queries,k=0,O=Object.entries(P);kx$=e,Qce=()=>x$,J9=Symbol.for(`react-redux-context-${L.version}`),eR=globalThis;function Zce(){let e=eR[J9];return e||(e=L.createContext(null),eR[J9]=e),e}const Gl=new Proxy({},new Proxy({},{get(e,t){const n=Zce();return(r,...i)=>Reflect[t](n,...i)}}));function TT(e=Gl){return function(){return L.useContext(e)}}const C$=TT(),Jce=()=>{throw new Error("uSES not initialized!")};let T$=Jce;const ede=e=>{T$=e},tde=(e,t)=>e===t;function nde(e=Gl){const t=e===Gl?C$:TT(e);return function(r,i={}){const{equalityFn:o=tde,stabilityCheck:s=void 0,noopCheck:a=void 0}=typeof i=="function"?{equalityFn:i}:i,{store:l,subscription:u,getServerState:d,stabilityCheck:f,noopCheck:p}=t();L.useRef(!0);const g=L.useCallback({[r.name](v){return r(v)}}[r.name],[r,f,s]),m=T$(u.addNestedSub,l.getState,d||l.getState,g,o);return L.useDebugValue(m),m}}const E$=nde();function A1(){return A1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx$=e,Qce=()=>x$,eR=Symbol.for(`react-redux-context-${L.version}`),tR=globalThis;function Zce(){let e=tR[eR];return e||(e=L.createContext(null),tR[eR]=e),e}const Gl=new Proxy({},new Proxy({},{get(e,t){const n=Zce();return(r,...i)=>Reflect[t](n,...i)}}));function ET(e=Gl){return function(){return L.useContext(e)}}const C$=ET(),Jce=()=>{throw new Error("uSES not initialized!")};let T$=Jce;const ede=e=>{T$=e},tde=(e,t)=>e===t;function nde(e=Gl){const t=e===Gl?C$:ET(e);return function(r,i={}){const{equalityFn:o=tde,stabilityCheck:s=void 0,noopCheck:a=void 0}=typeof i=="function"?{equalityFn:i}:i,{store:l,subscription:u,getServerState:d,stabilityCheck:f,noopCheck:p}=t();L.useRef(!0);const g=L.useCallback({[r.name](v){return r(v)}}[r.name],[r,f,s]),m=T$(u.addNestedSub,l.getState,d||l.getState,g,o);return L.useDebugValue(m),m}}const E$=nde();function A1(){return A1=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let r=t;for(;r;)r.callback(),r=r.next})},get(){let r=[],i=t;for(;i;)r.push(i),i=i.next;return r},subscribe(r){let i=!0,o=n={callback:r,next:null,prev:n};return o.prev?o.prev.next=o:t=o,function(){!i||t===null||(i=!1,o.next?o.next.prev=o.prev:n=o.prev,o.prev?o.prev.next=o.next:t=o.next)}}}}const tR={notify(){},get:()=>[]};function pde(e,t){let n,r=tR;function i(f){return l(),r.subscribe(f)}function o(){r.notify()}function s(){d.onStateChange&&d.onStateChange()}function a(){return!!n}function l(){n||(n=t?t.addNestedSub(s):e.subscribe(s),r=hde())}function u(){n&&(n(),n=void 0,r.clear(),r=tR)}const d={addNestedSub:i,notifyNestedSubs:o,handleChangeWrapper:s,isSubscribed:a,trySubscribe:l,tryUnsubscribe:u,getListeners:()=>r};return d}const gde=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",mde=gde?L.useLayoutEffect:L.useEffect;function nR(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function P1(e,t){if(nR(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;i{const u=pde(e);return{store:e,subscription:u,getServerState:r?()=>r:void 0,stabilityCheck:i,noopCheck:o}},[e,r,i,o]),a=L.useMemo(()=>e.getState(),[e]);mde(()=>{const{subscription:u}=s;return u.onStateChange=u.notifyNestedSubs,u.trySubscribe(),a!==e.getState()&&u.notifyNestedSubs(),()=>{u.tryUnsubscribe(),u.onStateChange=void 0}},[s,a]);const l=t||Gl;return Lt.createElement(l.Provider,{value:s},n)}function I$(e=Gl){const t=e===Gl?C$:TT(e);return function(){const{store:r}=t();return r}}const M$=I$();function vde(e=Gl){const t=e===Gl?M$:I$(e);return function(){return t().dispatch}}const N$=vde();ede(w$.useSyncExternalStoreWithSelector);Yce(bs.unstable_batchedUpdates);var _de=globalThis&&globalThis.__spreadArray||function(e,t){for(var n=0,r=t.length,i=e.length;n{const r=wg.get(),i=Sg.get(),o=S1.get();return uce({baseUrl:`${r??""}/api/v1`,prepareHeaders:a=>(i&&a.set("Authorization",`Bearer ${i}`),o&&a.set("project-id",o),a)})(e,t,n)},Hl=Nde({baseQuery:Dde,reducerPath:"api",tagTypes:Lde,endpoints:()=>({})}),$de=(e,t)=>{const n=new Date(e),r=new Date(t);return n>r?1:ne==null,jde=e=>encodeURIComponent(e).replace(/[!'()*]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),k3=Symbol("encodeFragmentIdentifier");function Gde(e){switch(e.arrayFormat){case"index":return t=>(n,r)=>{const i=n.length;return r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Fn(t,e),"[",i,"]"].join("")]:[...n,[Fn(t,e),"[",Fn(i,e),"]=",Fn(r,e)].join("")]};case"bracket":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Fn(t,e),"[]"].join("")]:[...n,[Fn(t,e),"[]=",Fn(r,e)].join("")];case"colon-list-separator":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Fn(t,e),":list="].join("")]:[...n,[Fn(t,e),":list=",Fn(r,e)].join("")];case"comma":case"separator":case"bracket-separator":{const t=e.arrayFormat==="bracket-separator"?"[]=":"=";return n=>(r,i)=>i===void 0||e.skipNull&&i===null||e.skipEmptyString&&i===""?r:(i=i===null?"":i,r.length===0?[[Fn(n,e),t,Fn(i,e)].join("")]:[[r,Fn(i,e)].join(e.arrayFormatSeparator)])}default:return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,Fn(t,e)]:[...n,[Fn(t,e),"=",Fn(r,e)].join("")]}}function Hde(e){let t;switch(e.arrayFormat){case"index":return(n,r,i)=>{if(t=/\[(\d*)]$/.exec(n),n=n.replace(/\[\d*]$/,""),!t){i[n]=r;return}i[n]===void 0&&(i[n]={}),i[n][t[1]]=r};case"bracket":return(n,r,i)=>{if(t=/(\[])$/.exec(n),n=n.replace(/\[]$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"colon-list-separator":return(n,r,i)=>{if(t=/(:list)$/.exec(n),n=n.replace(/:list$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"comma":case"separator":return(n,r,i)=>{const o=typeof r=="string"&&r.includes(e.arrayFormatSeparator),s=typeof r=="string"&&!o&&da(r,e).includes(e.arrayFormatSeparator);r=s?da(r,e):r;const a=o||s?r.split(e.arrayFormatSeparator).map(l=>da(l,e)):r===null?r:da(r,e);i[n]=a};case"bracket-separator":return(n,r,i)=>{const o=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!o){i[n]=r&&da(r,e);return}const s=r===null?[]:r.split(e.arrayFormatSeparator).map(a=>da(a,e));if(i[n]===void 0){i[n]=s;return}i[n]=[...i[n],...s]};default:return(n,r,i)=>{if(i[n]===void 0){i[n]=r;return}i[n]=[...[i[n]].flat(),r]}}}function $$(e){if(typeof e!="string"||e.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function Fn(e,t){return t.encode?t.strict?jde(e):encodeURIComponent(e):e}function da(e,t){return t.decode?Ude(e):e}function F$(e){return Array.isArray(e)?e.sort():typeof e=="object"?F$(Object.keys(e)).sort((t,n)=>Number(t)-Number(n)).map(t=>e[t]):e}function B$(e){const t=e.indexOf("#");return t!==-1&&(e=e.slice(0,t)),e}function Wde(e){let t="";const n=e.indexOf("#");return n!==-1&&(t=e.slice(n)),t}function lR(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""?e=Number(e):t.parseBooleans&&e!==null&&(e.toLowerCase()==="true"||e.toLowerCase()==="false")&&(e=e.toLowerCase()==="true"),e}function kT(e){e=B$(e);const t=e.indexOf("?");return t===-1?"":e.slice(t+1)}function IT(e,t){t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...t},$$(t.arrayFormatSeparator);const n=Hde(t),r=Object.create(null);if(typeof e!="string"||(e=e.trim().replace(/^[?#&]/,""),!e))return r;for(const i of e.split("&")){if(i==="")continue;const o=t.decode?i.replace(/\+/g," "):i;let[s,a]=D$(o,"=");s===void 0&&(s=o),a=a===void 0?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?a:da(a,t),n(da(s,t),a,r)}for(const[i,o]of Object.entries(r))if(typeof o=="object"&&o!==null)for(const[s,a]of Object.entries(o))o[s]=lR(a,t);else r[i]=lR(o,t);return t.sort===!1?r:(t.sort===!0?Object.keys(r).sort():Object.keys(r).sort(t.sort)).reduce((i,o)=>{const s=r[o];return s&&typeof s=="object"&&!Array.isArray(s)?i[o]=F$(s):i[o]=s,i},Object.create(null))}function U$(e,t){if(!e)return"";t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t},$$(t.arrayFormatSeparator);const n=s=>t.skipNull&&Vde(e[s])||t.skipEmptyString&&e[s]==="",r=Gde(t),i={};for(const[s,a]of Object.entries(e))n(s)||(i[s]=a);const o=Object.keys(i);return t.sort!==!1&&o.sort(t.sort),o.map(s=>{const a=e[s];return a===void 0?"":a===null?Fn(s,t):Array.isArray(a)?a.length===0&&t.arrayFormat==="bracket-separator"?Fn(s,t)+"[]":a.reduce(r(s),[]).join("&"):Fn(s,t)+"="+Fn(a,t)}).filter(s=>s.length>0).join("&")}function z$(e,t){var i;t={decode:!0,...t};let[n,r]=D$(e,"#");return n===void 0&&(n=e),{url:((i=n==null?void 0:n.split("?"))==null?void 0:i[0])??"",query:IT(kT(e),t),...t&&t.parseFragmentIdentifier&&r?{fragmentIdentifier:da(r,t)}:{}}}function V$(e,t){t={encode:!0,strict:!0,[k3]:!0,...t};const n=B$(e.url).split("?")[0]||"",r=kT(e.url),i={...IT(r,{sort:!1}),...e.query};let o=U$(i,t);o&&(o=`?${o}`);let s=Wde(e.url);if(e.fragmentIdentifier){const a=new URL(n);a.hash=e.fragmentIdentifier,s=t[k3]?a.hash:`#${e.fragmentIdentifier}`}return`${n}${o}${s}`}function j$(e,t,n){n={parseFragmentIdentifier:!0,[k3]:!1,...n};const{url:r,query:i,fragmentIdentifier:o}=z$(e,n);return V$({url:r,query:zde(i,t),fragmentIdentifier:o},n)}function qde(e,t,n){const r=Array.isArray(t)?i=>!t.includes(i):(i,o)=>!t(i,o);return j$(e,r,n)}const fv=Object.freeze(Object.defineProperty({__proto__:null,exclude:qde,extract:kT,parse:IT,parseUrl:z$,pick:j$,stringify:U$,stringifyUrl:V$},Symbol.toStringTag,{value:"Module"})),jh=(e,t)=>{if(!e)return!1;const n=O1.selectAll(e);if(n.length>1){const r=new Date(t.created_at),i=n[n.length-1];if(!i)return!1;const o=new Date(i.created_at);return r>=o}else if([0,1].includes(n.length))return!0;return!1},rl=e=>Vr.includes(e.image_category)?Vr:Sl,pn=eu({selectId:e=>e.image_name,sortComparer:(e,t)=>$de(t.updated_at,e.updated_at)}),O1=pn.getSelectors(),Bo=e=>`images/?${fv.stringify(e,{arrayFormat:"none"})}`,Ui=Hl.injectEndpoints({endpoints:e=>({listBoards:e.query({query:t=>({url:"boards/",params:t}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Ke}];return t&&i.push(...t.items.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllBoards:e.query({query:()=>({url:"boards/",params:{all:!0}}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Ke}];return t&&i.push(...t.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllImageNamesForBoard:e.query({query:t=>({url:`boards/${t}/image_names`}),providesTags:(t,n,r)=>[{type:"ImageNameList",id:r}],keepUnusedDataFor:0}),getBoardImagesTotal:e.query({query:t=>({url:Bo({board_id:t??"none",categories:Vr,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardImagesTotal",id:r??"none"}],transformResponse:t=>t.total}),getBoardAssetsTotal:e.query({query:t=>({url:Bo({board_id:t??"none",categories:Sl,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardAssetsTotal",id:r??"none"}],transformResponse:t=>t.total}),createBoard:e.mutation({query:t=>({url:"boards/",method:"POST",params:{board_name:t}}),invalidatesTags:[{type:"Board",id:Ke}]}),updateBoard:e.mutation({query:({board_id:t,changes:n})=>({url:`boards/${t}`,method:"PATCH",body:n}),invalidatesTags:(t,n,r)=>[{type:"Board",id:r.board_id}]})})}),{useListBoardsQuery:Dke,useListAllBoardsQuery:$ke,useGetBoardImagesTotalQuery:Fke,useGetBoardAssetsTotalQuery:Bke,useCreateBoardMutation:Uke,useUpdateBoardMutation:zke,useListAllImageNamesForBoardQuery:Vke}=Ui,Se=Hl.injectEndpoints({endpoints:e=>({listImages:e.query({query:t=>({url:Bo(t),method:"GET"}),providesTags:(t,n,{board_id:r,categories:i})=>[{type:"ImageList",id:Bo({board_id:r,categories:i})}],serializeQueryArgs:({queryArgs:t})=>{const{board_id:n,categories:r}=t;return Bo({board_id:n,categories:r})},transformResponse(t){const{items:n}=t;return pn.addMany(pn.getInitialState(),n)},merge:(t,n)=>{pn.addMany(t,O1.selectAll(n))},forceRefetch({currentArg:t,previousArg:n}){return(t==null?void 0:t.offset)!==(n==null?void 0:n.offset)},async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){try{const{data:i}=await r;O1.selectAll(i).forEach(o=>{n(Se.util.upsertQueryData("getImageDTO",o.image_name,o))})}catch{}},keepUnusedDataFor:86400}),getIntermediatesCount:e.query({query:()=>({url:Bo({is_intermediate:!0})}),providesTags:["IntermediatesCount"],transformResponse:t=>t.total}),getImageDTO:e.query({query:t=>({url:`images/i/${t}`}),providesTags:(t,n,r)=>[{type:"Image",id:r}],keepUnusedDataFor:86400}),getImageMetadata:e.query({query:t=>({url:`images/i/${t}/metadata`}),providesTags:(t,n,r)=>[{type:"ImageMetadata",id:r}],keepUnusedDataFor:86400}),clearIntermediates:e.mutation({query:()=>({url:"images/clear-intermediates",method:"POST"}),invalidatesTags:["IntermediatesCount"]}),deleteImage:e.mutation({query:({image_name:t})=>({url:`images/i/${t}`,method:"DELETE"}),invalidatesTags:(t,n,{board_id:r})=>[{type:"BoardImagesTotal",id:r??"none"},{type:"BoardAssetsTotal",id:r??"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){const{image_name:i,board_id:o}=t,s={board_id:o??"none",categories:rl(t)},a=n(Se.util.updateQueryData("listImages",s,l=>{pn.removeOne(l,i)}));try{await r}catch{a.undo()}}}),deleteImages:e.mutation({query:({imageDTOs:t})=>({url:"images/delete",method:"POST",body:{image_names:t.map(r=>r.image_name)}}),invalidatesTags:(t,n,{imageDTOs:r})=>{var o;const i=(o=r[0])==null?void 0:o.board_id;return[{type:"BoardImagesTotal",id:i??"none"},{type:"BoardAssetsTotal",id:i??"none"}]},async onQueryStarted({imageDTOs:t},{dispatch:n,queryFulfilled:r}){try{const{data:i}=await r,o=Yue.keyBy(t,"image_name");i.deleted_images.forEach(s=>{const a=o[s];if(a){const l={board_id:a.board_id??"none",categories:rl(a)};n(Se.util.updateQueryData("listImages",l,u=>{pn.removeOne(u,s)}))}})}catch{}}}),changeImageIsIntermediate:e.mutation({query:({imageDTO:t,is_intermediate:n})=>({url:`images/i/${t.image_name}`,method:"PATCH",body:{is_intermediate:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,is_intermediate:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(Se.util.updateQueryData("getImageDTO",t.image_name,l=>{Object.assign(l,{is_intermediate:n})})));const a=rl(t);if(n)s.push(r(Se.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:a},l=>{pn.removeOne(l,t.image_name)})));else{const l={board_id:t.board_id??"none",categories:a},u=Se.endpoints.listImages.select(l)(o()),{data:d}=Vr.includes(t.image_category)?Ui.endpoints.getBoardImagesTotal.select(t.board_id??"none")(o()):Ui.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(o()),f=u.data&&u.data.ids.length>=(d??0),p=jh(u.data,t);(f||p)&&s.push(r(Se.util.updateQueryData("listImages",l,g=>{pn.upsertOne(g,t)})))}try{await i}catch{s.forEach(l=>l.undo())}}}),changeImageSessionId:e.mutation({query:({imageDTO:t,session_id:n})=>({url:`images/i/${t.image_name}`,method:"PATCH",body:{session_id:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,session_id:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(Se.util.updateQueryData("getImageDTO",t.image_name,a=>{Object.assign(a,{session_id:n})})));try{await i}catch{s.forEach(a=>a.undo())}}}),uploadImage:e.mutation({query:({file:t,image_category:n,is_intermediate:r,session_id:i,board_id:o,crop_visible:s})=>{const a=new FormData;return a.append("file",t),{url:"images/upload",method:"POST",body:a,params:{image_category:n,is_intermediate:r,session_id:i,board_id:o==="none"?void 0:o,crop_visible:s}}},async onQueryStarted({file:t,image_category:n,is_intermediate:r,postUploadAction:i,session_id:o,board_id:s},{dispatch:a,queryFulfilled:l}){try{const{data:u}=await l;if(u.is_intermediate)return;a(Se.util.upsertQueryData("getImageDTO",u.image_name,u));const d=rl(u);a(Se.util.updateQueryData("listImages",{board_id:u.board_id??"none",categories:d},f=>{pn.addOne(f,u)})),a(Se.util.invalidateTags([{type:"BoardImagesTotal",id:u.board_id??"none"},{type:"BoardAssetsTotal",id:u.board_id??"none"}]))}catch{}}}),deleteBoard:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE"}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Ke},{type:"ImageList",id:Bo({board_id:"none",categories:Vr})},{type:"ImageList",id:Bo({board_id:"none",categories:Sl})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_board_images:s}=o;s.forEach(u=>{n(Se.util.updateQueryData("getImageDTO",u,d=>{d.board_id=void 0}))});const a=[{categories:Vr},{categories:Sl}],l=s.map(u=>({id:u,changes:{board_id:void 0}}));a.forEach(u=>{n(Se.util.updateQueryData("listImages",u,d=>{pn.updateMany(d,l)}))})}catch{}}}),deleteBoardAndImages:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE",params:{include_images:!0}}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Ke},{type:"ImageList",id:Bo({board_id:"none",categories:Vr})},{type:"ImageList",id:Bo({board_id:"none",categories:Sl})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_images:s}=o;[{categories:Vr},{categories:Sl}].forEach(l=>{n(Se.util.updateQueryData("listImages",l,u=>{pn.removeMany(u,s)}))})}catch{}}}),addImageToBoard:e.mutation({query:({board_id:t,imageDTO:n})=>{const{image_name:r}=n;return{url:"board_images/",method:"POST",body:{board_id:t,image_name:r}}},invalidatesTags:(t,n,{board_id:r,imageDTO:i})=>[{type:"Board",id:r},{type:"BoardImagesTotal",id:r},{type:"BoardAssetsTotal",id:r},{type:"BoardImagesTotal",id:i.board_id??"none"},{type:"BoardAssetsTotal",id:i.board_id??"none"}],async onQueryStarted({board_id:t,imageDTO:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[],a=rl(n);if(s.push(r(Se.util.updateQueryData("getImageDTO",n.image_name,l=>{l.board_id=t}))),!n.is_intermediate){s.push(r(Se.util.updateQueryData("listImages",{board_id:n.board_id??"none",categories:a},g=>{pn.removeOne(g,n.image_name)})));const l={board_id:t??"none",categories:a},u=Se.endpoints.listImages.select(l)(o()),{data:d}=Vr.includes(n.image_category)?Ui.endpoints.getBoardImagesTotal.select(n.board_id??"none")(o()):Ui.endpoints.getBoardAssetsTotal.select(n.board_id??"none")(o()),f=u.data&&u.data.ids.length>=(d??0),p=jh(u.data,n);(f||p)&&s.push(r(Se.util.updateQueryData("listImages",l,g=>{pn.addOne(g,n)})))}try{await i}catch{s.forEach(l=>l.undo())}}}),removeImageFromBoard:e.mutation({query:({imageDTO:t})=>{const{image_name:n}=t;return{url:"board_images/",method:"DELETE",body:{image_name:n}}},invalidatesTags:(t,n,{imageDTO:r})=>{const{board_id:i}=r;return[{type:"Board",id:i??"none"},{type:"BoardImagesTotal",id:i??"none"},{type:"BoardAssetsTotal",id:i??"none"},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}]},async onQueryStarted({imageDTO:t},{dispatch:n,queryFulfilled:r,getState:i}){const o=rl(t),s=[];s.push(n(Se.util.updateQueryData("getImageDTO",t.image_name,p=>{p.board_id=void 0}))),s.push(n(Se.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:o},p=>{pn.removeOne(p,t.image_name)})));const a={board_id:"none",categories:o},l=Se.endpoints.listImages.select(a)(i()),{data:u}=Vr.includes(t.image_category)?Ui.endpoints.getBoardImagesTotal.select(t.board_id??"none")(i()):Ui.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(i()),d=l.data&&l.data.ids.length>=(u??0),f=jh(l.data,t);(d||f)&&s.push(n(Se.util.updateQueryData("listImages",a,p=>{pn.upsertOne(p,t)})));try{await r}catch{s.forEach(p=>p.undo())}}}),addImagesToBoard:e.mutation({query:({board_id:t,imageDTOs:n})=>({url:"board_images/batch",method:"POST",body:{image_names:n.map(r=>r.image_name),board_id:t}}),invalidatesTags:(t,n,{imageDTOs:r,board_id:i})=>{var s;const o=(s=r[0])==null?void 0:s.board_id;return[{type:"Board",id:i??"none"},{type:"BoardImagesTotal",id:i??"none"},{type:"BoardAssetsTotal",id:i??"none"},{type:"BoardImagesTotal",id:o??"none"},{type:"BoardAssetsTotal",id:o??"none"},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}]},async onQueryStarted({board_id:t,imageDTOs:n},{dispatch:r,queryFulfilled:i,getState:o}){try{const{data:s}=await i,{added_image_names:a}=s;a.forEach(l=>{r(Se.util.updateQueryData("getImageDTO",l,_=>{_.board_id=t}));const u=n.find(_=>_.image_name===l);if(!u)return;const d=rl(u),f=u.board_id;r(Se.util.updateQueryData("listImages",{board_id:f??"none",categories:d},_=>{pn.removeOne(_,u.image_name)}));const p={board_id:t,categories:d},g=Se.endpoints.listImages.select(p)(o()),{data:m}=Vr.includes(u.image_category)?Ui.endpoints.getBoardImagesTotal.select(t??"none")(o()):Ui.endpoints.getBoardAssetsTotal.select(t??"none")(o()),v=g.data&&g.data.ids.length>=(m??0),x=(m||0)>=$9?jh(g.data,u):!0;(v||x)&&r(Se.util.updateQueryData("listImages",p,_=>{pn.upsertOne(_,{...u,board_id:t})}))})}catch{}}}),removeImagesFromBoard:e.mutation({query:({imageDTOs:t})=>({url:"board_images/batch/delete",method:"POST",body:{image_names:t.map(n=>n.image_name)}}),invalidatesTags:(t,n,{imageDTOs:r})=>{const i=[],o=[{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}];return t==null||t.removed_image_names.forEach(s=>{var l;const a=(l=r.find(u=>u.image_name===s))==null?void 0:l.board_id;!a||i.includes(a)||(o.push({type:"Board",id:a}),o.push({type:"BoardImagesTotal",id:a}),o.push({type:"BoardAssetsTotal",id:a}))}),o},async onQueryStarted({imageDTOs:t},{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{removed_image_names:s}=o;s.forEach(a=>{n(Se.util.updateQueryData("getImageDTO",a,v=>{v.board_id=void 0}));const l=t.find(v=>v.image_name===a);if(!l)return;const u=rl(l);n(Se.util.updateQueryData("listImages",{board_id:l.board_id??"none",categories:u},v=>{pn.removeOne(v,l.image_name)}));const d={board_id:"none",categories:u},f=Se.endpoints.listImages.select(d)(i()),{data:p}=Vr.includes(l.image_category)?Ui.endpoints.getBoardImagesTotal.select(l.board_id??"none")(i()):Ui.endpoints.getBoardAssetsTotal.select(l.board_id??"none")(i()),g=f.data&&f.data.ids.length>=(p??0),m=(p||0)>=$9?jh(f.data,l):!0;(g||m)&&n(Se.util.updateQueryData("listImages",d,v=>{pn.upsertOne(v,{...l,board_id:"none"})}))})}catch{}}})})}),{useGetIntermediatesCountQuery:jke,useListImagesQuery:Gke,useLazyListImagesQuery:Hke,useGetImageDTOQuery:Wke,useGetImageMetadataQuery:qke,useDeleteImageMutation:Kke,useDeleteImagesMutation:Xke,useUploadImageMutation:Yke,useClearIntermediatesMutation:Qke,useAddImagesToBoardMutation:Zke,useRemoveImagesFromBoardMutation:Jke,useAddImageToBoardMutation:eIe,useRemoveImageFromBoardMutation:tIe,useChangeImageIsIntermediateMutation:nIe,useChangeImageSessionIdMutation:rIe,useDeleteBoardAndImagesMutation:iIe,useDeleteBoardMutation:oIe}=Se,G$=Re("socket/socketConnected"),H$=Re("socket/appSocketConnected"),W$=Re("socket/socketDisconnected"),q$=Re("socket/appSocketDisconnected"),MT=Re("socket/socketSubscribed"),K$=Re("socket/appSocketSubscribed"),X$=Re("socket/socketUnsubscribed"),Y$=Re("socket/appSocketUnsubscribed"),Q$=Re("socket/socketInvocationStarted"),Z$=Re("socket/appSocketInvocationStarted"),NT=Re("socket/socketInvocationComplete"),J$=Re("socket/appSocketInvocationComplete"),eF=Re("socket/socketInvocationError"),LT=Re("socket/appSocketInvocationError"),tF=Re("socket/socketGraphExecutionStateComplete"),nF=Re("socket/appSocketGraphExecutionStateComplete"),rF=Re("socket/socketGeneratorProgress"),iF=Re("socket/appSocketGeneratorProgress"),oF=Re("socket/socketModelLoadStarted"),Kde=Re("socket/appSocketModelLoadStarted"),sF=Re("socket/socketModelLoadCompleted"),Xde=Re("socket/appSocketModelLoadCompleted"),aF=Re("socket/socketSessionRetrievalError"),lF=Re("socket/appSocketSessionRetrievalError"),uF=Re("socket/socketInvocationRetrievalError"),cF=Re("socket/appSocketInvocationRetrievalError"),DT=Re("controlNet/imageProcessed"),_d={none:{type:"none",label:"none",description:"",default:{type:"none"}},canny_image_processor:{type:"canny_image_processor",label:"Canny",description:"",default:{id:"canny_image_processor",type:"canny_image_processor",low_threshold:100,high_threshold:200}},content_shuffle_image_processor:{type:"content_shuffle_image_processor",label:"Content Shuffle",description:"",default:{id:"content_shuffle_image_processor",type:"content_shuffle_image_processor",detect_resolution:512,image_resolution:512,h:512,w:512,f:256}},hed_image_processor:{type:"hed_image_processor",label:"HED",description:"",default:{id:"hed_image_processor",type:"hed_image_processor",detect_resolution:512,image_resolution:512,scribble:!1}},lineart_anime_image_processor:{type:"lineart_anime_image_processor",label:"Lineart Anime",description:"",default:{id:"lineart_anime_image_processor",type:"lineart_anime_image_processor",detect_resolution:512,image_resolution:512}},lineart_image_processor:{type:"lineart_image_processor",label:"Lineart",description:"",default:{id:"lineart_image_processor",type:"lineart_image_processor",detect_resolution:512,image_resolution:512,coarse:!1}},mediapipe_face_processor:{type:"mediapipe_face_processor",label:"Mediapipe Face",description:"",default:{id:"mediapipe_face_processor",type:"mediapipe_face_processor",max_faces:1,min_confidence:.5}},midas_depth_image_processor:{type:"midas_depth_image_processor",label:"Depth (Midas)",description:"",default:{id:"midas_depth_image_processor",type:"midas_depth_image_processor",a_mult:2,bg_th:.1}},mlsd_image_processor:{type:"mlsd_image_processor",label:"M-LSD",description:"",default:{id:"mlsd_image_processor",type:"mlsd_image_processor",detect_resolution:512,image_resolution:512,thr_d:.1,thr_v:.1}},normalbae_image_processor:{type:"normalbae_image_processor",label:"Normal BAE",description:"",default:{id:"normalbae_image_processor",type:"normalbae_image_processor",detect_resolution:512,image_resolution:512}},openpose_image_processor:{type:"openpose_image_processor",label:"Openpose",description:"",default:{id:"openpose_image_processor",type:"openpose_image_processor",detect_resolution:512,image_resolution:512,hand_and_face:!1}},pidi_image_processor:{type:"pidi_image_processor",label:"PIDI",description:"",default:{id:"pidi_image_processor",type:"pidi_image_processor",detect_resolution:512,image_resolution:512,scribble:!1,safe:!1}},zoe_depth_image_processor:{type:"zoe_depth_image_processor",label:"Depth (Zoe)",description:"",default:{id:"zoe_depth_image_processor",type:"zoe_depth_image_processor"}}},b0={canny:"canny_image_processor",mlsd:"mlsd_image_processor",depth:"midas_depth_image_processor",bae:"normalbae_image_processor",lineart:"lineart_image_processor",lineart_anime:"lineart_anime_image_processor",softedge:"hed_image_processor",shuffle:"content_shuffle_image_processor",openpose:"openpose_image_processor",mediapipe:"mediapipe_face_processor"},uR={isEnabled:!0,model:null,weight:1,beginStepPct:0,endStepPct:1,controlMode:"balanced",resizeMode:"just_resize",controlImage:null,processedControlImage:null,processorType:"canny_image_processor",processorNode:_d.canny_image_processor.default,shouldAutoConfig:!0},I3={controlNets:{},isEnabled:!1,pendingControlImages:[]},dF=yn({name:"controlNet",initialState:I3,reducers:{isControlNetEnabledToggled:e=>{e.isEnabled=!e.isEnabled},controlNetAdded:(e,t)=>{const{controlNetId:n,controlNet:r}=t.payload;e.controlNets[n]={...r??uR,controlNetId:n}},controlNetDuplicated:(e,t)=>{const{sourceControlNetId:n,newControlNetId:r}=t.payload,i=e.controlNets[n];if(!i)return;const o=Ur(i);o.controlNetId=r,e.controlNets[r]=o},controlNetAddedFromImage:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n]={...uR,controlNetId:n,controlImage:r}},controlNetRemoved:(e,t)=>{const{controlNetId:n}=t.payload;delete e.controlNets[n]},controlNetToggled:(e,t)=>{const{controlNetId:n}=t.payload,r=e.controlNets[n];r&&(r.isEnabled=!r.isEnabled)},controlNetImageChanged:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload,i=e.controlNets[n];i&&(i.controlImage=r,i.processedControlImage=null,r!==null&&i.processorType!=="none"&&e.pendingControlImages.push(n))},controlNetProcessedImageChanged:(e,t)=>{const{controlNetId:n,processedControlImage:r}=t.payload,i=e.controlNets[n];i&&(i.processedControlImage=r,e.pendingControlImages=e.pendingControlImages.filter(o=>o!==n))},controlNetModelChanged:(e,t)=>{const{controlNetId:n,model:r}=t.payload,i=e.controlNets[n];if(i&&(i.model=r,i.processedControlImage=null,i.shouldAutoConfig)){let o;for(const s in b0)if(r.model_name.includes(s)){o=b0[s];break}o?(i.processorType=o,i.processorNode=_d[o].default):(i.processorType="none",i.processorNode=_d.none.default)}},controlNetWeightChanged:(e,t)=>{const{controlNetId:n,weight:r}=t.payload,i=e.controlNets[n];i&&(i.weight=r)},controlNetBeginStepPctChanged:(e,t)=>{const{controlNetId:n,beginStepPct:r}=t.payload,i=e.controlNets[n];i&&(i.beginStepPct=r)},controlNetEndStepPctChanged:(e,t)=>{const{controlNetId:n,endStepPct:r}=t.payload,i=e.controlNets[n];i&&(i.endStepPct=r)},controlNetControlModeChanged:(e,t)=>{const{controlNetId:n,controlMode:r}=t.payload,i=e.controlNets[n];i&&(i.controlMode=r)},controlNetResizeModeChanged:(e,t)=>{const{controlNetId:n,resizeMode:r}=t.payload,i=e.controlNets[n];i&&(i.resizeMode=r)},controlNetProcessorParamsChanged:(e,t)=>{const{controlNetId:n,changes:r}=t.payload,i=e.controlNets[n];if(!i)return;const o=i.processorNode;i.processorNode={...o,...r},i.shouldAutoConfig=!1},controlNetProcessorTypeChanged:(e,t)=>{const{controlNetId:n,processorType:r}=t.payload,i=e.controlNets[n];i&&(i.processedControlImage=null,i.processorType=r,i.processorNode=_d[r].default,i.shouldAutoConfig=!1)},controlNetAutoConfigToggled:(e,t)=>{var o;const{controlNetId:n}=t.payload,r=e.controlNets[n];if(!r)return;const i=!r.shouldAutoConfig;if(i){let s;for(const a in b0)if((o=r.model)!=null&&o.model_name.includes(a)){s=b0[a];break}s?(r.processorType=s,r.processorNode=_d[s].default):(r.processorType="none",r.processorNode=_d.none.default)}r.shouldAutoConfig=i},controlNetReset:()=>({...I3})},extraReducers:e=>{e.addCase(DT,(t,n)=>{const r=t.controlNets[n.payload.controlNetId];r&&r.controlImage!==null&&t.pendingControlImages.push(n.payload.controlNetId)}),e.addCase(LT,t=>{t.pendingControlImages=[]}),e.addMatcher(i$,t=>{t.pendingControlImages=[]}),e.addMatcher(Se.endpoints.deleteImage.matchFulfilled,(t,n)=>{const{image_name:r}=n.meta.arg.originalArgs;Ul(t.controlNets,i=>{i.controlImage===r&&(i.controlImage=null,i.processedControlImage=null),i.processedControlImage===r&&(i.processedControlImage=null)})})}}),{isControlNetEnabledToggled:sIe,controlNetAdded:aIe,controlNetDuplicated:lIe,controlNetAddedFromImage:uIe,controlNetRemoved:fF,controlNetImageChanged:$T,controlNetProcessedImageChanged:Yde,controlNetToggled:cIe,controlNetModelChanged:cR,controlNetWeightChanged:dIe,controlNetBeginStepPctChanged:fIe,controlNetEndStepPctChanged:hIe,controlNetControlModeChanged:pIe,controlNetResizeModeChanged:gIe,controlNetProcessorParamsChanged:Qde,controlNetProcessorTypeChanged:Zde,controlNetReset:FT,controlNetAutoConfigToggled:dR}=dF.actions,Jde=dF.reducer,hF={isEnabled:!1,maxPrompts:100,combinatorial:!0},efe=hF,pF=yn({name:"dynamicPrompts",initialState:efe,reducers:{maxPromptsChanged:(e,t)=>{e.maxPrompts=t.payload},maxPromptsReset:e=>{e.maxPrompts=hF.maxPrompts},combinatorialToggled:e=>{e.combinatorial=!e.combinatorial},isEnabledToggled:e=>{e.isEnabled=!e.isEnabled}}}),{isEnabledToggled:mIe,maxPromptsChanged:yIe,maxPromptsReset:vIe,combinatorialToggled:_Ie}=pF.actions,tfe=pF.reducer,gF={selection:[],shouldAutoSwitch:!0,autoAssignBoardOnClick:!0,autoAddBoardId:"none",galleryImageMinimumWidth:96,selectedBoardId:"none",galleryView:"images",shouldShowDeleteButton:!1,boardSearchText:""},mF=yn({name:"gallery",initialState:gF,reducers:{imageSelected:(e,t)=>{e.selection=t.payload?[t.payload]:[]},selectionChanged:(e,t)=>{e.selection=t.payload},shouldAutoSwitchChanged:(e,t)=>{e.shouldAutoSwitch=t.payload},setGalleryImageMinimumWidth:(e,t)=>{e.galleryImageMinimumWidth=t.payload},autoAssignBoardOnClickChanged:(e,t)=>{e.autoAssignBoardOnClick=t.payload},boardIdSelected:(e,t)=>{e.selectedBoardId=t.payload,e.galleryView="images"},autoAddBoardIdChanged:(e,t)=>{if(!t.payload){e.autoAddBoardId="none";return}e.autoAddBoardId=t.payload},galleryViewChanged:(e,t)=>{e.galleryView=t.payload},shouldShowDeleteButtonChanged:(e,t)=>{e.shouldShowDeleteButton=t.payload},boardSearchTextChanged:(e,t)=>{e.boardSearchText=t.payload}},extraReducers:e=>{e.addMatcher(rfe,(t,n)=>{const r=n.meta.arg.originalArgs;r===t.selectedBoardId&&(t.selectedBoardId="none",t.galleryView="images"),r===t.autoAddBoardId&&(t.autoAddBoardId="none")}),e.addMatcher(Ui.endpoints.listAllBoards.matchFulfilled,(t,n)=>{const r=n.payload;t.autoAddBoardId&&(r.map(i=>i.board_id).includes(t.autoAddBoardId)||(t.autoAddBoardId="none"))})}}),{imageSelected:Rs,shouldAutoSwitchChanged:bIe,autoAssignBoardOnClickChanged:SIe,setGalleryImageMinimumWidth:wIe,boardIdSelected:M3,autoAddBoardIdChanged:xIe,galleryViewChanged:k1,selectionChanged:CIe,shouldShowDeleteButtonChanged:TIe,boardSearchTextChanged:EIe}=mF.actions,nfe=mF.reducer,rfe=Co(Se.endpoints.deleteBoard.matchFulfilled,Se.endpoints.deleteBoardAndImages.matchFulfilled),ife={imagesToDelete:[],isModalOpen:!1},yF=yn({name:"deleteImageModal",initialState:ife,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imagesToDeleteSelected:(e,t)=>{e.imagesToDelete=t.payload},imageDeletionCanceled:e=>{e.imagesToDelete=[],e.isModalOpen=!1}}}),{isModalOpenChanged:BT,imagesToDeleteSelected:ofe,imageDeletionCanceled:AIe}=yF.actions,sfe=yF.reducer,afe={isModalOpen:!1,imagesToChange:[]},vF=yn({name:"changeBoardModal",initialState:afe,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imagesToChangeSelected:(e,t)=>{e.imagesToChange=t.payload},changeBoardReset:e=>{e.imagesToChange=[],e.isModalOpen=!1}}}),{isModalOpenChanged:PIe,imagesToChangeSelected:RIe,changeBoardReset:OIe}=vF.actions,lfe=vF.reducer,fR={weight:.75},ufe={loras:{}},_F=yn({name:"lora",initialState:ufe,reducers:{loraAdded:(e,t)=>{const{model_name:n,id:r,base_model:i}=t.payload;e.loras[r]={id:r,model_name:n,base_model:i,...fR}},loraRemoved:(e,t)=>{const n=t.payload;delete e.loras[n]},lorasCleared:e=>{e.loras={}},loraWeightChanged:(e,t)=>{const{id:n,weight:r}=t.payload,i=e.loras[n];i&&(i.weight=r)},loraWeightReset:(e,t)=>{const n=t.payload,r=e.loras[n];r&&(r.weight=fR.weight)}}}),{loraAdded:kIe,loraRemoved:bF,loraWeightChanged:IIe,loraWeightReset:MIe,lorasCleared:NIe}=_F.actions,cfe=_F.reducer;function Eo(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n{let t;const n=new Set,r=(l,u)=>{const d=typeof l=="function"?l(t):l;if(!Object.is(d,t)){const f=t;t=u??typeof d!="object"?d:Object.assign({},t,d),n.forEach(p=>p(t,f))}},i=()=>t,a={setState:r,getState:i,subscribe:l=>(n.add(l),()=>n.delete(l)),destroy:()=>{n.clear()}};return t=e(r,i,a),a},dfe=e=>e?hR(e):hR,{useSyncExternalStoreWithSelector:ffe}=Kce;function hfe(e,t=e.getState,n){const r=ffe(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return L.useDebugValue(r),r}function Ri(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,i]of e)if(!Object.is(i,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r=0;r{}};function Pb(){for(var e=0,t=arguments.length,n={},r;e=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}hv.prototype=Pb.prototype={constructor:hv,on:function(e,t){var n=this._,r=gfe(e+"",n),i,o=-1,s=r.length;if(arguments.length<2){for(;++o0)for(var n=new Array(i),r=0,i,o;r=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),gR.hasOwnProperty(t)?{space:gR[t],local:e}:e}function yfe(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===N3&&t.documentElement.namespaceURI===N3?t.createElement(e):t.createElementNS(n,e)}}function vfe(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function SF(e){var t=Rb(e);return(t.local?vfe:yfe)(t)}function _fe(){}function UT(e){return e==null?_fe:function(){return this.querySelector(e)}}function bfe(e){typeof e!="function"&&(e=UT(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i=y&&(y=b+1);!(C=x[y])&&++y=0;)(s=r[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function Hfe(e){e||(e=Wfe);function t(f,p){return f&&p?e(f.__data__,p.__data__):!f-!p}for(var n=this._groups,r=n.length,i=new Array(r),o=0;ot?1:e>=t?0:NaN}function qfe(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Kfe(){return Array.from(this)}function Xfe(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?she:typeof t=="function"?lhe:ahe)(e,t,n??"")):Tf(this.node(),e)}function Tf(e,t){return e.style.getPropertyValue(t)||EF(e).getComputedStyle(e,null).getPropertyValue(t)}function che(e){return function(){delete this[e]}}function dhe(e,t){return function(){this[e]=t}}function fhe(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function hhe(e,t){return arguments.length>1?this.each((t==null?che:typeof t=="function"?fhe:dhe)(e,t)):this.node()[e]}function AF(e){return e.trim().split(/^|\s+/)}function zT(e){return e.classList||new PF(e)}function PF(e){this._node=e,this._names=AF(e.getAttribute("class")||"")}PF.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function RF(e,t){for(var n=zT(e),r=-1,i=t.length;++r=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function zhe(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,o;n()=>e;function L3(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:s,y:a,dx:l,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}L3.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Qhe(e){return!e.ctrlKey&&!e.button}function Zhe(){return this.parentNode}function Jhe(e,t){return t??{x:e.x,y:e.y}}function epe(){return navigator.maxTouchPoints||"ontouchstart"in this}function tpe(){var e=Qhe,t=Zhe,n=Jhe,r=epe,i={},o=Pb("start","drag","end"),s=0,a,l,u,d,f=0;function p(S){S.on("mousedown.drag",g).filter(r).on("touchstart.drag",x).on("touchmove.drag",_,Yhe).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(S,C){if(!(d||!e.call(this,S,C))){var T=y(this,t.call(this,S,C),S,C,"mouse");T&&(jo(S.view).on("mousemove.drag",m,Tg).on("mouseup.drag",v,Tg),MF(S.view),px(S),u=!1,a=S.clientX,l=S.clientY,T("start",S))}}function m(S){if(ef(S),!u){var C=S.clientX-a,T=S.clientY-l;u=C*C+T*T>f}i.mouse("drag",S)}function v(S){jo(S.view).on("mousemove.drag mouseup.drag",null),NF(S.view,u),ef(S),i.mouse("end",S)}function x(S,C){if(e.call(this,S,C)){var T=S.changedTouches,E=t.call(this,S,C),P=T.length,k,O;for(k=0;k>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?w0(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?w0(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=rpe.exec(e))?new xi(t[1],t[2],t[3],1):(t=ipe.exec(e))?new xi(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=ope.exec(e))?w0(t[1],t[2],t[3],t[4]):(t=spe.exec(e))?w0(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=ape.exec(e))?wR(t[1],t[2]/100,t[3]/100,1):(t=lpe.exec(e))?wR(t[1],t[2]/100,t[3]/100,t[4]):mR.hasOwnProperty(e)?_R(mR[e]):e==="transparent"?new xi(NaN,NaN,NaN,0):null}function _R(e){return new xi(e>>16&255,e>>8&255,e&255,1)}function w0(e,t,n,r){return r<=0&&(e=t=n=NaN),new xi(e,t,n,r)}function dpe(e){return e instanceof vm||(e=Pg(e)),e?(e=e.rgb(),new xi(e.r,e.g,e.b,e.opacity)):new xi}function D3(e,t,n,r){return arguments.length===1?dpe(e):new xi(e,t,n,r??1)}function xi(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}VT(xi,D3,LF(vm,{brighter(e){return e=e==null?M1:Math.pow(M1,e),new xi(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Eg:Math.pow(Eg,e),new xi(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new xi(Wu(this.r),Wu(this.g),Wu(this.b),N1(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:bR,formatHex:bR,formatHex8:fpe,formatRgb:SR,toString:SR}));function bR(){return`#${Fu(this.r)}${Fu(this.g)}${Fu(this.b)}`}function fpe(){return`#${Fu(this.r)}${Fu(this.g)}${Fu(this.b)}${Fu((isNaN(this.opacity)?1:this.opacity)*255)}`}function SR(){const e=N1(this.opacity);return`${e===1?"rgb(":"rgba("}${Wu(this.r)}, ${Wu(this.g)}, ${Wu(this.b)}${e===1?")":`, ${e})`}`}function N1(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Wu(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Fu(e){return e=Wu(e),(e<16?"0":"")+e.toString(16)}function wR(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Go(e,t,n,r)}function DF(e){if(e instanceof Go)return new Go(e.h,e.s,e.l,e.opacity);if(e instanceof vm||(e=Pg(e)),!e)return new Go;if(e instanceof Go)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),s=NaN,a=o-i,l=(o+i)/2;return a?(t===o?s=(n-r)/a+(n0&&l<1?0:s,new Go(s,a,l,e.opacity)}function hpe(e,t,n,r){return arguments.length===1?DF(e):new Go(e,t,n,r??1)}function Go(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}VT(Go,hpe,LF(vm,{brighter(e){return e=e==null?M1:Math.pow(M1,e),new Go(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Eg:Math.pow(Eg,e),new Go(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new xi(gx(e>=240?e-240:e+120,i,r),gx(e,i,r),gx(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Go(xR(this.h),x0(this.s),x0(this.l),N1(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=N1(this.opacity);return`${e===1?"hsl(":"hsla("}${xR(this.h)}, ${x0(this.s)*100}%, ${x0(this.l)*100}%${e===1?")":`, ${e})`}`}}));function xR(e){return e=(e||0)%360,e<0?e+360:e}function x0(e){return Math.max(0,Math.min(1,e||0))}function gx(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const $F=e=>()=>e;function ppe(e,t){return function(n){return e+n*t}}function gpe(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function mpe(e){return(e=+e)==1?FF:function(t,n){return n-t?gpe(t,n,e):$F(isNaN(t)?n:t)}}function FF(e,t){var n=t-e;return n?ppe(e,n):$F(isNaN(e)?t:e)}const CR=function e(t){var n=mpe(t);function r(i,o){var s=n((i=D3(i)).r,(o=D3(o)).r),a=n(i.g,o.g),l=n(i.b,o.b),u=FF(i.opacity,o.opacity);return function(d){return i.r=s(d),i.g=a(d),i.b=l(d),i.opacity=u(d),i+""}}return r.gamma=e,r}(1);function cl(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var $3=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,mx=new RegExp($3.source,"g");function ype(e){return function(){return e}}function vpe(e){return function(t){return e(t)+""}}function _pe(e,t){var n=$3.lastIndex=mx.lastIndex=0,r,i,o,s=-1,a=[],l=[];for(e=e+"",t=t+"";(r=$3.exec(e))&&(i=mx.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),a[s]?a[s]+=o:a[++s]=o),(r=r[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,l.push({i:s,x:cl(r,i)})),n=mx.lastIndex;return n180?d+=360:d-u>180&&(u+=360),p.push({i:f.push(i(f)+"rotate(",null,r)-2,x:cl(u,d)})):d&&f.push(i(f)+"rotate("+d+r)}function a(u,d,f,p){u!==d?p.push({i:f.push(i(f)+"skewX(",null,r)-2,x:cl(u,d)}):d&&f.push(i(f)+"skewX("+d+r)}function l(u,d,f,p,g,m){if(u!==f||d!==p){var v=g.push(i(g)+"scale(",null,",",null,")");m.push({i:v-4,x:cl(u,f)},{i:v-2,x:cl(d,p)})}else(f!==1||p!==1)&&g.push(i(g)+"scale("+f+","+p+")")}return function(u,d){var f=[],p=[];return u=e(u),d=e(d),o(u.translateX,u.translateY,d.translateX,d.translateY,f,p),s(u.rotate,d.rotate,f,p),a(u.skewX,d.skewX,f,p),l(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,p),u=d=null,function(g){for(var m=-1,v=p.length,x;++m=0&&e._call.call(void 0,t),e=e._next;--Ef}function AR(){oc=(D1=Rg.now())+Ob,Ef=dp=0;try{Rpe()}finally{Ef=0,kpe(),oc=0}}function Ope(){var e=Rg.now(),t=e-D1;t>zF&&(Ob-=t,D1=e)}function kpe(){for(var e,t=L1,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:L1=n);fp=e,B3(r)}function B3(e){if(!Ef){dp&&(dp=clearTimeout(dp));var t=e-oc;t>24?(e<1/0&&(dp=setTimeout(AR,e-Rg.now()-Ob)),Gh&&(Gh=clearInterval(Gh))):(Gh||(D1=Rg.now(),Gh=setInterval(Ope,zF)),Ef=1,VF(AR))}}function PR(e,t,n){var r=new $1;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var Ipe=Pb("start","end","cancel","interrupt"),Mpe=[],GF=0,RR=1,U3=2,pv=3,OR=4,z3=5,gv=6;function kb(e,t,n,r,i,o){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;Npe(e,n,{name:t,index:r,group:i,on:Ipe,tween:Mpe,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:GF})}function GT(e,t){var n=rs(e,t);if(n.state>GF)throw new Error("too late; already scheduled");return n}function Bs(e,t){var n=rs(e,t);if(n.state>pv)throw new Error("too late; already running");return n}function rs(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Npe(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=jF(o,0,n.time);function o(u){n.state=RR,n.timer.restart(s,n.delay,n.time),n.delay<=u&&s(u-n.delay)}function s(u){var d,f,p,g;if(n.state!==RR)return l();for(d in r)if(g=r[d],g.name===n.name){if(g.state===pv)return PR(s);g.state===OR?(g.state=gv,g.timer.stop(),g.on.call("interrupt",e,e.__data__,g.index,g.group),delete r[d]):+dU3&&r.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function cge(e,t,n){var r,i,o=uge(t)?GT:Bs;return function(){var s=o(this,e),a=s.on;a!==r&&(i=(r=a).copy()).on(t,n),s.on=i}}function dge(e,t){var n=this._id;return arguments.length<2?rs(this.node(),n).on.on(e):this.each(cge(n,e,t))}function fge(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function hge(){return this.on("end.remove",fge(this._id))}function pge(e){var t=this._name,n=this._id;typeof e!="function"&&(e=UT(e));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s()=>e;function Bge(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function ma(e,t,n){this.k=e,this.x=t,this.y=n}ma.prototype={constructor:ma,scale:function(e){return e===1?this:new ma(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new ma(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var kl=new ma(1,0,0);ma.prototype;function yx(e){e.stopImmediatePropagation()}function Hh(e){e.preventDefault(),e.stopImmediatePropagation()}function Uge(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function zge(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function kR(){return this.__zoom||kl}function Vge(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function jge(){return navigator.maxTouchPoints||"ontouchstart"in this}function Gge(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function Hge(){var e=Uge,t=zge,n=Gge,r=Vge,i=jge,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,l=Ape,u=Pb("start","zoom","end"),d,f,p,g=500,m=150,v=0,x=10;function _(A){A.property("__zoom",kR).on("wheel.zoom",P,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",O).filter(i).on("touchstart.zoom",M).on("touchmove.zoom",G).on("touchend.zoom touchcancel.zoom",U).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}_.transform=function(A,N,F,B){var D=A.selection?A.selection():A;D.property("__zoom",kR),A!==D?C(A,N,F,B):D.interrupt().each(function(){T(this,arguments).event(B).start().zoom(null,typeof N=="function"?N.apply(this,arguments):N).end()})},_.scaleBy=function(A,N,F,B){_.scaleTo(A,function(){var D=this.__zoom.k,V=typeof N=="function"?N.apply(this,arguments):N;return D*V},F,B)},_.scaleTo=function(A,N,F,B){_.transform(A,function(){var D=t.apply(this,arguments),V=this.__zoom,j=F==null?S(D):typeof F=="function"?F.apply(this,arguments):F,q=V.invert(j),Z=typeof N=="function"?N.apply(this,arguments):N;return n(y(b(V,Z),j,q),D,s)},F,B)},_.translateBy=function(A,N,F,B){_.transform(A,function(){return n(this.__zoom.translate(typeof N=="function"?N.apply(this,arguments):N,typeof F=="function"?F.apply(this,arguments):F),t.apply(this,arguments),s)},null,B)},_.translateTo=function(A,N,F,B,D){_.transform(A,function(){var V=t.apply(this,arguments),j=this.__zoom,q=B==null?S(V):typeof B=="function"?B.apply(this,arguments):B;return n(kl.translate(q[0],q[1]).scale(j.k).translate(typeof N=="function"?-N.apply(this,arguments):-N,typeof F=="function"?-F.apply(this,arguments):-F),V,s)},B,D)};function b(A,N){return N=Math.max(o[0],Math.min(o[1],N)),N===A.k?A:new ma(N,A.x,A.y)}function y(A,N,F){var B=N[0]-F[0]*A.k,D=N[1]-F[1]*A.k;return B===A.x&&D===A.y?A:new ma(A.k,B,D)}function S(A){return[(+A[0][0]+ +A[1][0])/2,(+A[0][1]+ +A[1][1])/2]}function C(A,N,F,B){A.on("start.zoom",function(){T(this,arguments).event(B).start()}).on("interrupt.zoom end.zoom",function(){T(this,arguments).event(B).end()}).tween("zoom",function(){var D=this,V=arguments,j=T(D,V).event(B),q=t.apply(D,V),Z=F==null?S(q):typeof F=="function"?F.apply(D,V):F,ee=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),ie=D.__zoom,se=typeof N=="function"?N.apply(D,V):N,le=l(ie.invert(Z).concat(ee/ie.k),se.invert(Z).concat(ee/se.k));return function(W){if(W===1)W=se;else{var ne=le(W),fe=ee/ne[2];W=new ma(fe,Z[0]-ne[0]*fe,Z[1]-ne[1]*fe)}j.zoom(null,W)}})}function T(A,N,F){return!F&&A.__zooming||new E(A,N)}function E(A,N){this.that=A,this.args=N,this.active=0,this.sourceEvent=null,this.extent=t.apply(A,N),this.taps=0}E.prototype={event:function(A){return A&&(this.sourceEvent=A),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(A,N){return this.mouse&&A!=="mouse"&&(this.mouse[1]=N.invert(this.mouse[0])),this.touch0&&A!=="touch"&&(this.touch0[1]=N.invert(this.touch0[0])),this.touch1&&A!=="touch"&&(this.touch1[1]=N.invert(this.touch1[0])),this.that.__zoom=N,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(A){var N=jo(this.that).datum();u.call(A,this.that,new Bge(A,{sourceEvent:this.sourceEvent,target:_,type:A,transform:this.that.__zoom,dispatch:u}),N)}};function P(A,...N){if(!e.apply(this,arguments))return;var F=T(this,N).event(A),B=this.__zoom,D=Math.max(o[0],Math.min(o[1],B.k*Math.pow(2,r.apply(this,arguments)))),V=gs(A);if(F.wheel)(F.mouse[0][0]!==V[0]||F.mouse[0][1]!==V[1])&&(F.mouse[1]=B.invert(F.mouse[0]=V)),clearTimeout(F.wheel);else{if(B.k===D)return;F.mouse=[V,B.invert(V)],mv(this),F.start()}Hh(A),F.wheel=setTimeout(j,m),F.zoom("mouse",n(y(b(B,D),F.mouse[0],F.mouse[1]),F.extent,s));function j(){F.wheel=null,F.end()}}function k(A,...N){if(p||!e.apply(this,arguments))return;var F=A.currentTarget,B=T(this,N,!0).event(A),D=jo(A.view).on("mousemove.zoom",Z,!0).on("mouseup.zoom",ee,!0),V=gs(A,F),j=A.clientX,q=A.clientY;MF(A.view),yx(A),B.mouse=[V,this.__zoom.invert(V)],mv(this),B.start();function Z(ie){if(Hh(ie),!B.moved){var se=ie.clientX-j,le=ie.clientY-q;B.moved=se*se+le*le>v}B.event(ie).zoom("mouse",n(y(B.that.__zoom,B.mouse[0]=gs(ie,F),B.mouse[1]),B.extent,s))}function ee(ie){D.on("mousemove.zoom mouseup.zoom",null),NF(ie.view,B.moved),Hh(ie),B.event(ie).end()}}function O(A,...N){if(e.apply(this,arguments)){var F=this.__zoom,B=gs(A.changedTouches?A.changedTouches[0]:A,this),D=F.invert(B),V=F.k*(A.shiftKey?.5:2),j=n(y(b(F,V),B,D),t.apply(this,N),s);Hh(A),a>0?jo(this).transition().duration(a).call(C,j,B,A):jo(this).call(_.transform,j,B,A)}}function M(A,...N){if(e.apply(this,arguments)){var F=A.touches,B=F.length,D=T(this,N,A.changedTouches.length===B).event(A),V,j,q,Z;for(yx(A),j=0;j"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`},KF=Wl.error001();function Nn(e,t){const n=L.useContext(Ib);if(n===null)throw new Error(KF);return hfe(n,e,t)}const qr=()=>{const e=L.useContext(Ib);if(e===null)throw new Error(KF);return L.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},qge=e=>e.userSelectionActive?"none":"all";function Kge({position:e,children:t,className:n,style:r,...i}){const o=Nn(qge),s=`${e}`.split("-");return ue.jsx("div",{className:Eo(["react-flow__panel",n,...s]),style:{...r,pointerEvents:o},...i,children:t})}function Xge({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:ue.jsx(Kge,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:ue.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const Yge=({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:s=[2,4],labelBgBorderRadius:a=2,children:l,className:u,...d})=>{const f=L.useRef(null),[p,g]=L.useState({x:0,y:0,width:0,height:0}),m=Eo(["react-flow__edge-textwrapper",u]);return L.useEffect(()=>{if(f.current){const v=f.current.getBBox();g({x:v.x,y:v.y,width:v.width,height:v.height})}},[n]),typeof n>"u"||!n?null:ue.jsxs("g",{transform:`translate(${e-p.width/2} ${t-p.height/2})`,className:m,visibility:p.width?"visible":"hidden",...d,children:[i&&ue.jsx("rect",{width:p.width+2*s[0],x:-s[0],y:-s[1],height:p.height+2*s[1],className:"react-flow__edge-textbg",style:o,rx:a,ry:a}),ue.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:f,style:r,children:n}),l]})};var Qge=L.memo(Yge);const WT=e=>({width:e.offsetWidth,height:e.offsetHeight}),Af=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),qT=(e={x:0,y:0},t)=>({x:Af(e.x,t[0][0],t[1][0]),y:Af(e.y,t[0][1],t[1][1])}),IR=(e,t,n)=>en?-Af(Math.abs(e-n),1,50)/50:0,XF=(e,t)=>{const n=IR(e.x,35,t.width-35)*20,r=IR(e.y,35,t.height-35)*20;return[n,r]},YF=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},QF=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),F1=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),ZF=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),MR=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),LIe=(e,t)=>ZF(QF(F1(e),F1(t))),V3=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},Zge=e=>_o(e.width)&&_o(e.height)&&_o(e.x)&&_o(e.y),_o=e=>!isNaN(e)&&isFinite(e),nr=Symbol.for("internals"),JF=["Enter"," ","Escape"],Jge=(e,t)=>{},eme=e=>"nativeEvent"in e;function j3(e){var i,o;const t=eme(e)?e.nativeEvent:e,n=((o=(i=t.composedPath)==null?void 0:i.call(t))==null?void 0:o[0])||e.target;return["INPUT","SELECT","TEXTAREA"].includes(n==null?void 0:n.nodeName)||(n==null?void 0:n.hasAttribute("contenteditable"))||!!(n!=null&&n.closest(".nokey"))}const eB=e=>"clientX"in e,Il=(e,t)=>{var o,s;const n=eB(e),r=n?e.clientX:(o=e.touches)==null?void 0:o[0].clientX,i=n?e.clientY:(s=e.touches)==null?void 0:s[0].clientY;return{x:r-((t==null?void 0:t.left)??0),y:i-((t==null?void 0:t.top)??0)}},_m=({id:e,path:t,labelX:n,labelY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:g=20})=>ue.jsxs(ue.Fragment,{children:[ue.jsx("path",{id:e,style:d,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:f,markerStart:p}),g&&ue.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:g,className:"react-flow__edge-interaction"}),i&&_o(n)&&_o(r)?ue.jsx(Qge,{x:n,y:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u}):null]});_m.displayName="BaseEdge";function Wh(e,t,n){return n===void 0?n:r=>{const i=t().edges.find(o=>o.id===e);i&&n(r,{...i})}}function tB({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,o=n{const[x,_,b]=rB({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return ue.jsx(_m,{path:x,labelX:_,labelY:b,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,interactionWidth:v})});KT.displayName="SimpleBezierEdge";const LR={[Ne.Left]:{x:-1,y:0},[Ne.Right]:{x:1,y:0},[Ne.Top]:{x:0,y:-1},[Ne.Bottom]:{x:0,y:1}},tme=({source:e,sourcePosition:t=Ne.Bottom,target:n})=>t===Ne.Left||t===Ne.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function nme({source:e,sourcePosition:t=Ne.Bottom,target:n,targetPosition:r=Ne.Top,center:i,offset:o}){const s=LR[t],a=LR[r],l={x:e.x+s.x*o,y:e.y+s.y*o},u={x:n.x+a.x*o,y:n.y+a.y*o},d=tme({source:l,sourcePosition:t,target:u}),f=d.x!==0?"x":"y",p=d[f];let g=[],m,v;const[x,_,b,y]=tB({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[f]*a[f]===-1){m=i.x||x,v=i.y||_;const C=[{x:m,y:l.y},{x:m,y:u.y}],T=[{x:l.x,y:v},{x:u.x,y:v}];s[f]===p?g=f==="x"?C:T:g=f==="x"?T:C}else{const C=[{x:l.x,y:u.y}],T=[{x:u.x,y:l.y}];if(f==="x"?g=s.x===p?T:C:g=s.y===p?C:T,t!==r){const E=f==="x"?"y":"x",P=s[f]===a[E],k=l[E]>u[E],O=l[E]{let y="";return b>0&&b{const[_,b,y]=G3({sourceX:e,sourceY:t,sourcePosition:f,targetX:n,targetY:r,targetPosition:p,borderRadius:v==null?void 0:v.borderRadius,offset:v==null?void 0:v.offset});return ue.jsx(_m,{path:_,labelX:b,labelY:y,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:g,markerStart:m,interactionWidth:x})});Mb.displayName="SmoothStepEdge";const XT=L.memo(e=>{var t;return ue.jsx(Mb,{...e,pathOptions:L.useMemo(()=>{var n;return{borderRadius:0,offset:(n=e.pathOptions)==null?void 0:n.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});XT.displayName="StepEdge";function ime({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,s,a]=tB({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,s,a]}const YT=L.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:g})=>{const[m,v,x]=ime({sourceX:e,sourceY:t,targetX:n,targetY:r});return ue.jsx(_m,{path:m,labelX:v,labelY:x,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:g})});YT.displayName="StraightEdge";function E0(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function $R({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case Ne.Left:return[t-E0(t-r,o),n];case Ne.Right:return[t+E0(r-t,o),n];case Ne.Top:return[t,n-E0(n-i,o)];case Ne.Bottom:return[t,n+E0(i-n,o)]}}function iB({sourceX:e,sourceY:t,sourcePosition:n=Ne.Bottom,targetX:r,targetY:i,targetPosition:o=Ne.Top,curvature:s=.25}){const[a,l]=$R({pos:n,x1:e,y1:t,x2:r,y2:i,c:s}),[u,d]=$R({pos:o,x1:r,y1:i,x2:e,y2:t,c:s}),[f,p,g,m]=nB({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:l,targetControlX:u,targetControlY:d});return[`M${e},${t} C${a},${l} ${u},${d} ${r},${i}`,f,p,g,m]}const U1=L.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=Ne.Bottom,targetPosition:o=Ne.Top,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,pathOptions:v,interactionWidth:x})=>{const[_,b,y]=iB({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:v==null?void 0:v.curvature});return ue.jsx(_m,{path:_,labelX:b,labelY:y,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,interactionWidth:x})});U1.displayName="BezierEdge";const QT=L.createContext(null),ome=QT.Provider;QT.Consumer;const sme=()=>L.useContext(QT),ame=e=>"id"in e&&"source"in e&&"target"in e,lme=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,H3=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`,ume=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),oB=(e,t)=>{if(!e.source||!e.target)return t;let n;return ame(e)?n={...e}:n={...e,id:lme(e)},ume(n,t)?t:t.concat(n)},sB=({x:e,y:t},[n,r,i],o,[s,a])=>{const l={x:(e-n)/i,y:(t-r)/i};return o?{x:s*Math.round(l.x/s),y:a*Math.round(l.y/a)}:l},cme=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),rf=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=(e.width??0)*t[0],r=(e.height??0)*t[1],i={x:e.position.x-n,y:e.position.y-r};return{...i,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:i}},aB=(e,t=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,i)=>{const{x:o,y:s}=rf(i,t).positionAbsolute;return QF(r,F1({x:o,y:s,width:i.width||0,height:i.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return ZF(n)},lB=(e,t,[n,r,i]=[0,0,1],o=!1,s=!1,a=[0,0])=>{const l={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},u=[];return e.forEach(d=>{const{width:f,height:p,selectable:g=!0,hidden:m=!1}=d;if(s&&!g||m)return!1;const{positionAbsolute:v}=rf(d,a),x={x:v.x,y:v.y,width:f||0,height:p||0},_=V3(l,x),b=typeof f>"u"||typeof p>"u"||f===null||p===null,y=o&&_>0,S=(f||0)*(p||0);(b||y||_>=S||d.dragging)&&u.push(d)}),u},uB=(e,t)=>{const n=e.map(r=>r.id);return t.filter(r=>n.includes(r.source)||n.includes(r.target))},cB=(e,t,n,r,i,o=.1)=>{const s=t/(e.width*(1+o)),a=n/(e.height*(1+o)),l=Math.min(s,a),u=Af(l,r,i),d=e.x+e.width/2,f=e.y+e.height/2,p=t/2-d*u,g=n/2-f*u;return[p,g,u]},Pu=(e,t=0)=>e.transition().duration(t);function FR(e,t,n,r){return(t[n]||[]).reduce((i,o)=>{var s,a;return`${e.id}-${o.id}-${n}`!==r&&i.push({id:o.id||null,type:n,nodeId:e.id,x:(((s=e.positionAbsolute)==null?void 0:s.x)??0)+o.x+o.width/2,y:(((a=e.positionAbsolute)==null?void 0:a.y)??0)+o.y+o.height/2}),i},[])}function dme(e,t,n,r,i,o){const{x:s,y:a}=Il(e),u=t.elementsFromPoint(s,a).find(m=>m.classList.contains("react-flow__handle"));if(u){const m=u.getAttribute("data-nodeid");if(m){const v=ZT(void 0,u),x=u.getAttribute("data-handleid"),_=o({nodeId:m,id:x,type:v});if(_)return{handle:{id:x,type:v,nodeId:m,x:n.x,y:n.y},validHandleResult:_}}}let d=[],f=1/0;if(i.forEach(m=>{const v=Math.sqrt((m.x-n.x)**2+(m.y-n.y)**2);if(v<=r){const x=o(m);v<=f&&(vm.isValid),g=d.some(({handle:m})=>m.type==="target");return d.find(({handle:m,validHandleResult:v})=>g?m.type==="target":p?v.isValid:!0)||d[0]}const fme={source:null,target:null,sourceHandle:null,targetHandle:null},dB=()=>({handleDomNode:null,isValid:!1,connection:fme,endHandle:null});function fB(e,t,n,r,i,o,s){const a=i==="target",l=s.querySelector(`.react-flow__handle[data-id="${e==null?void 0:e.nodeId}-${e==null?void 0:e.id}-${e==null?void 0:e.type}"]`),u={...dB(),handleDomNode:l};if(l){const d=ZT(void 0,l),f=l.getAttribute("data-nodeid"),p=l.getAttribute("data-handleid"),g=l.classList.contains("connectable"),m=l.classList.contains("connectableend"),v={source:a?f:n,sourceHandle:a?p:r,target:a?n:f,targetHandle:a?r:p};u.connection=v,g&&m&&(t===sc.Strict?a&&d==="source"||!a&&d==="target":f!==n||p!==r)&&(u.endHandle={nodeId:f,handleId:p,type:d},u.isValid=o(v))}return u}function hme({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((i,o)=>{if(o[nr]){const{handleBounds:s}=o[nr];let a=[],l=[];s&&(a=FR(o,s,"source",`${t}-${n}-${r}`),l=FR(o,s,"target",`${t}-${n}-${r}`)),i.push(...a,...l)}return i},[])}function ZT(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function vx(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function pme(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function hB({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:s,isValidConnection:a,edgeUpdaterType:l,onEdgeUpdateEnd:u}){const d=YF(e.target),{connectionMode:f,domNode:p,autoPanOnConnect:g,connectionRadius:m,onConnectStart:v,panBy:x,getNodes:_,cancelConnection:b}=o();let y=0,S;const{x:C,y:T}=Il(e),E=d==null?void 0:d.elementFromPoint(C,T),P=ZT(l,E),k=p==null?void 0:p.getBoundingClientRect();if(!k||!P)return;let O,M=Il(e,k),G=!1,U=null,A=!1,N=null;const F=hme({nodes:_(),nodeId:n,handleId:t,handleType:P}),B=()=>{if(!g)return;const[j,q]=XF(M,k);x({x:j,y:q}),y=requestAnimationFrame(B)};s({connectionPosition:M,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:P,connectionStartHandle:{nodeId:n,handleId:t,type:P},connectionEndHandle:null}),v==null||v(e,{nodeId:n,handleId:t,handleType:P});function D(j){const{transform:q}=o();M=Il(j,k);const{handle:Z,validHandleResult:ee}=dme(j,d,sB(M,q,!1,[1,1]),m,F,ie=>fB(ie,f,n,t,i?"target":"source",a,d));if(S=Z,G||(B(),G=!0),N=ee.handleDomNode,U=ee.connection,A=ee.isValid,s({connectionPosition:S&&A?cme({x:S.x,y:S.y},q):M,connectionStatus:pme(!!S,A),connectionEndHandle:ee.endHandle}),!S&&!A&&!N)return vx(O);U.source!==U.target&&N&&(vx(O),O=N,N.classList.add("connecting","react-flow__handle-connecting"),N.classList.toggle("valid",A),N.classList.toggle("react-flow__handle-valid",A))}function V(j){var q,Z;(S||N)&&U&&A&&(r==null||r(U)),(Z=(q=o()).onConnectEnd)==null||Z.call(q,j),l&&(u==null||u(j)),vx(O),b(),cancelAnimationFrame(y),G=!1,A=!1,U=null,N=null,d.removeEventListener("mousemove",D),d.removeEventListener("mouseup",V),d.removeEventListener("touchmove",D),d.removeEventListener("touchend",V)}d.addEventListener("mousemove",D),d.addEventListener("mouseup",V),d.addEventListener("touchmove",D),d.addEventListener("touchend",V)}const BR=()=>!0,gme=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),mme=(e,t,n)=>r=>{const{connectionStartHandle:i,connectionEndHandle:o,connectionClickStartHandle:s}=r;return{connecting:(i==null?void 0:i.nodeId)===e&&(i==null?void 0:i.handleId)===t&&(i==null?void 0:i.type)===n||(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.handleId)===t&&(o==null?void 0:o.type)===n,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.handleId)===t&&(s==null?void 0:s.type)===n}},pB=L.forwardRef(({type:e="source",position:t=Ne.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:o=!0,id:s,onConnect:a,children:l,className:u,onMouseDown:d,onTouchStart:f,...p},g)=>{var k,O;const m=s||null,v=e==="target",x=qr(),_=sme(),{connectOnClick:b,noPanClassName:y}=Nn(gme,Ri),{connecting:S,clickConnecting:C}=Nn(mme(_,m,e),Ri);_||(O=(k=x.getState()).onError)==null||O.call(k,"010",Wl.error010());const T=M=>{const{defaultEdgeOptions:G,onConnect:U,hasDefaultEdges:A}=x.getState(),N={...G,...M};if(A){const{edges:F,setEdges:B}=x.getState();B(oB(N,F))}U==null||U(N),a==null||a(N)},E=M=>{if(!_)return;const G=eB(M);i&&(G&&M.button===0||!G)&&hB({event:M,handleId:m,nodeId:_,onConnect:T,isTarget:v,getState:x.getState,setState:x.setState,isValidConnection:n||x.getState().isValidConnection||BR}),G?d==null||d(M):f==null||f(M)},P=M=>{const{onClickConnectStart:G,onClickConnectEnd:U,connectionClickStartHandle:A,connectionMode:N,isValidConnection:F}=x.getState();if(!_||!A&&!i)return;if(!A){G==null||G(M,{nodeId:_,handleId:m,handleType:e}),x.setState({connectionClickStartHandle:{nodeId:_,type:e,handleId:m}});return}const B=YF(M.target),D=n||F||BR,{connection:V,isValid:j}=fB({nodeId:_,id:m,type:e},N,A.nodeId,A.handleId||null,A.type,D,B);j&&T(V),U==null||U(M),x.setState({connectionClickStartHandle:null})};return ue.jsx("div",{"data-handleid":m,"data-nodeid":_,"data-handlepos":t,"data-id":`${_}-${m}-${e}`,className:Eo(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",y,u,{source:!v,target:v,connectable:r,connectablestart:i,connectableend:o,connecting:C,connectionindicator:r&&(i&&!S||o&&S)}]),onMouseDown:E,onTouchStart:E,onClick:b?P:void 0,ref:g,...p,children:l})});pB.displayName="Handle";var z1=L.memo(pB);const gB=({data:e,isConnectable:t,targetPosition:n=Ne.Top,sourcePosition:r=Ne.Bottom})=>ue.jsxs(ue.Fragment,{children:[ue.jsx(z1,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,ue.jsx(z1,{type:"source",position:r,isConnectable:t})]});gB.displayName="DefaultNode";var W3=L.memo(gB);const mB=({data:e,isConnectable:t,sourcePosition:n=Ne.Bottom})=>ue.jsxs(ue.Fragment,{children:[e==null?void 0:e.label,ue.jsx(z1,{type:"source",position:n,isConnectable:t})]});mB.displayName="InputNode";var yB=L.memo(mB);const vB=({data:e,isConnectable:t,targetPosition:n=Ne.Top})=>ue.jsxs(ue.Fragment,{children:[ue.jsx(z1,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]});vB.displayName="OutputNode";var _B=L.memo(vB);const JT=()=>null;JT.displayName="GroupNode";const yme=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected)}),A0=e=>e.id;function vme(e,t){return Ri(e.selectedNodes.map(A0),t.selectedNodes.map(A0))&&Ri(e.selectedEdges.map(A0),t.selectedEdges.map(A0))}const bB=L.memo(({onSelectionChange:e})=>{const t=qr(),{selectedNodes:n,selectedEdges:r}=Nn(yme,vme);return L.useEffect(()=>{var o,s;const i={nodes:n,edges:r};e==null||e(i),(s=(o=t.getState()).onSelectionChange)==null||s.call(o,i)},[n,r,e]),null});bB.displayName="SelectionListener";const _me=e=>!!e.onSelectionChange;function bme({onSelectionChange:e}){const t=Nn(_me);return e||t?ue.jsx(bB,{onSelectionChange:e}):null}const Sme=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function rd(e,t){L.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function at(e,t,n){L.useEffect(()=>{typeof t<"u"&&n({[e]:t})},[t])}const wme=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:s,onClickConnectStart:a,onClickConnectEnd:l,nodesDraggable:u,nodesConnectable:d,nodesFocusable:f,edgesFocusable:p,edgesUpdatable:g,elevateNodesOnSelect:m,minZoom:v,maxZoom:x,nodeExtent:_,onNodesChange:b,onEdgesChange:y,elementsSelectable:S,connectionMode:C,snapGrid:T,snapToGrid:E,translateExtent:P,connectOnClick:k,defaultEdgeOptions:O,fitView:M,fitViewOptions:G,onNodesDelete:U,onEdgesDelete:A,onNodeDrag:N,onNodeDragStart:F,onNodeDragStop:B,onSelectionDrag:D,onSelectionDragStart:V,onSelectionDragStop:j,noPanClassName:q,nodeOrigin:Z,rfId:ee,autoPanOnConnect:ie,autoPanOnNodeDrag:se,onError:le,connectionRadius:W,isValidConnection:ne})=>{const{setNodes:fe,setEdges:pe,setDefaultNodesAndEdges:ve,setMinZoom:ye,setMaxZoom:We,setTranslateExtent:Me,setNodeExtent:Ee,reset:lt}=Nn(Sme,Ri),_e=qr();return L.useEffect(()=>{const jt=r==null?void 0:r.map(Wn=>({...Wn,...O}));return ve(n,jt),()=>{lt()}},[]),at("defaultEdgeOptions",O,_e.setState),at("connectionMode",C,_e.setState),at("onConnect",i,_e.setState),at("onConnectStart",o,_e.setState),at("onConnectEnd",s,_e.setState),at("onClickConnectStart",a,_e.setState),at("onClickConnectEnd",l,_e.setState),at("nodesDraggable",u,_e.setState),at("nodesConnectable",d,_e.setState),at("nodesFocusable",f,_e.setState),at("edgesFocusable",p,_e.setState),at("edgesUpdatable",g,_e.setState),at("elementsSelectable",S,_e.setState),at("elevateNodesOnSelect",m,_e.setState),at("snapToGrid",E,_e.setState),at("snapGrid",T,_e.setState),at("onNodesChange",b,_e.setState),at("onEdgesChange",y,_e.setState),at("connectOnClick",k,_e.setState),at("fitViewOnInit",M,_e.setState),at("fitViewOnInitOptions",G,_e.setState),at("onNodesDelete",U,_e.setState),at("onEdgesDelete",A,_e.setState),at("onNodeDrag",N,_e.setState),at("onNodeDragStart",F,_e.setState),at("onNodeDragStop",B,_e.setState),at("onSelectionDrag",D,_e.setState),at("onSelectionDragStart",V,_e.setState),at("onSelectionDragStop",j,_e.setState),at("noPanClassName",q,_e.setState),at("nodeOrigin",Z,_e.setState),at("rfId",ee,_e.setState),at("autoPanOnConnect",ie,_e.setState),at("autoPanOnNodeDrag",se,_e.setState),at("onError",le,_e.setState),at("connectionRadius",W,_e.setState),at("isValidConnection",ne,_e.setState),rd(e,fe),rd(t,pe),rd(v,ye),rd(x,We),rd(P,Me),rd(_,Ee),null},UR={display:"none"},xme={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},SB="react-flow__node-desc",wB="react-flow__edge-desc",Cme="react-flow__aria-live",Tme=e=>e.ariaLiveMessage;function Eme({rfId:e}){const t=Nn(Tme);return ue.jsx("div",{id:`${Cme}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:xme,children:t})}function Ame({rfId:e,disableKeyboardA11y:t}){return ue.jsxs(ue.Fragment,{children:[ue.jsxs("div",{id:`${SB}-${e}`,style:UR,children:["Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "]}),ue.jsx("div",{id:`${wB}-${e}`,style:UR,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!t&&ue.jsx(Eme,{rfId:e})]})}const Pme=(e,t,n)=>n===Ne.Left?e-t:n===Ne.Right?e+t:e,Rme=(e,t,n)=>n===Ne.Top?e-t:n===Ne.Bottom?e+t:e,zR="react-flow__edgeupdater",VR=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:s,type:a})=>ue.jsx("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:s,className:Eo([zR,`${zR}-${a}`]),cx:Pme(t,r,e),cy:Rme(n,r,e),r,stroke:"transparent",fill:"transparent"}),Ome=()=>!0;var id=e=>{const t=({id:n,className:r,type:i,data:o,onClick:s,onEdgeDoubleClick:a,selected:l,animated:u,label:d,labelStyle:f,labelShowBg:p,labelBgStyle:g,labelBgPadding:m,labelBgBorderRadius:v,style:x,source:_,target:b,sourceX:y,sourceY:S,targetX:C,targetY:T,sourcePosition:E,targetPosition:P,elementsSelectable:k,hidden:O,sourceHandleId:M,targetHandleId:G,onContextMenu:U,onMouseEnter:A,onMouseMove:N,onMouseLeave:F,edgeUpdaterRadius:B,onEdgeUpdate:D,onEdgeUpdateStart:V,onEdgeUpdateEnd:j,markerEnd:q,markerStart:Z,rfId:ee,ariaLabel:ie,isFocusable:se,isUpdatable:le,pathOptions:W,interactionWidth:ne})=>{const fe=L.useRef(null),[pe,ve]=L.useState(!1),[ye,We]=L.useState(!1),Me=qr(),Ee=L.useMemo(()=>`url(#${H3(Z,ee)})`,[Z,ee]),lt=L.useMemo(()=>`url(#${H3(q,ee)})`,[q,ee]);if(O)return null;const _e=sn=>{const{edges:Gt,addSelectedEdges:vr}=Me.getState();if(k&&(Me.setState({nodesSelectionActive:!1}),vr([n])),s){const Nr=Gt.find(Xr=>Xr.id===n);s(sn,Nr)}},jt=Wh(n,Me.getState,a),Wn=Wh(n,Me.getState,U),Bt=Wh(n,Me.getState,A),it=Wh(n,Me.getState,N),mt=Wh(n,Me.getState,F),Jt=(sn,Gt)=>{if(sn.button!==0)return;const{edges:vr,isValidConnection:Nr}=Me.getState(),Xr=Gt?b:_,Ii=(Gt?G:M)||null,An=Gt?"target":"source",Yr=Nr||Ome,Vs=Gt,Ji=vr.find(kt=>kt.id===n);We(!0),V==null||V(sn,Ji,An);const js=kt=>{We(!1),j==null||j(kt,Ji,An)};hB({event:sn,handleId:Ii,nodeId:Xr,onConnect:kt=>D==null?void 0:D(Ji,kt),isTarget:Vs,getState:Me.getState,setState:Me.setState,isValidConnection:Yr,edgeUpdaterType:An,onEdgeUpdateEnd:js})},Mr=sn=>Jt(sn,!0),yr=sn=>Jt(sn,!1),hi=()=>ve(!0),wn=()=>ve(!1),on=!k&&!s,qn=sn=>{var Gt;if(JF.includes(sn.key)&&k){const{unselectNodesAndEdges:vr,addSelectedEdges:Nr,edges:Xr}=Me.getState();sn.key==="Escape"?((Gt=fe.current)==null||Gt.blur(),vr({edges:[Xr.find(An=>An.id===n)]})):Nr([n])}};return ue.jsxs("g",{className:Eo(["react-flow__edge",`react-flow__edge-${i}`,r,{selected:l,animated:u,inactive:on,updating:pe}]),onClick:_e,onDoubleClick:jt,onContextMenu:Wn,onMouseEnter:Bt,onMouseMove:it,onMouseLeave:mt,onKeyDown:se?qn:void 0,tabIndex:se?0:void 0,role:se?"button":void 0,"data-testid":`rf__edge-${n}`,"aria-label":ie===null?void 0:ie||`Edge from ${_} to ${b}`,"aria-describedby":se?`${wB}-${ee}`:void 0,ref:fe,children:[!ye&&ue.jsx(e,{id:n,source:_,target:b,selected:l,animated:u,label:d,labelStyle:f,labelShowBg:p,labelBgStyle:g,labelBgPadding:m,labelBgBorderRadius:v,data:o,style:x,sourceX:y,sourceY:S,targetX:C,targetY:T,sourcePosition:E,targetPosition:P,sourceHandleId:M,targetHandleId:G,markerStart:Ee,markerEnd:lt,pathOptions:W,interactionWidth:ne}),le&&ue.jsxs(ue.Fragment,{children:[(le==="source"||le===!0)&&ue.jsx(VR,{position:E,centerX:y,centerY:S,radius:B,onMouseDown:Mr,onMouseEnter:hi,onMouseOut:wn,type:"source"}),(le==="target"||le===!0)&&ue.jsx(VR,{position:P,centerX:C,centerY:T,radius:B,onMouseDown:yr,onMouseEnter:hi,onMouseOut:wn,type:"target"})]})]})};return t.displayName="EdgeWrapper",L.memo(t)};function kme(e){const t={default:id(e.default||U1),straight:id(e.bezier||YT),step:id(e.step||XT),smoothstep:id(e.step||Mb),simplebezier:id(e.simplebezier||KT)},n={},r=Object.keys(e).filter(i=>!["default","bezier"].includes(i)).reduce((i,o)=>(i[o]=id(e[o]||U1),i),n);return{...t,...r}}function jR(e,t,n=null){const r=((n==null?void 0:n.x)||0)+t.x,i=((n==null?void 0:n.y)||0)+t.y,o=(n==null?void 0:n.width)||t.width,s=(n==null?void 0:n.height)||t.height;switch(e){case Ne.Top:return{x:r+o/2,y:i};case Ne.Right:return{x:r+o,y:i+s/2};case Ne.Bottom:return{x:r+o/2,y:i+s};case Ne.Left:return{x:r,y:i+s/2}}}function GR(e,t){return e?e.length===1||!t?e[0]:t&&e.find(n=>n.id===t)||null:null}const Ime=(e,t,n,r,i,o)=>{const s=jR(n,e,t),a=jR(o,r,i);return{sourceX:s.x,sourceY:s.y,targetX:a.x,targetY:a.y}};function Mme({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:o,width:s,height:a,transform:l}){const u={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+r,t.y+o)};u.x===u.x2&&(u.x2+=1),u.y===u.y2&&(u.y2+=1);const d=F1({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:s/l[2],height:a/l[2]}),f=Math.max(0,Math.min(d.x2,u.x2)-Math.max(d.x,u.x)),p=Math.max(0,Math.min(d.y2,u.y2)-Math.max(d.y,u.y));return Math.ceil(f*p)>0}function HR(e){var r,i,o,s,a;const t=((r=e==null?void 0:e[nr])==null?void 0:r.handleBounds)||null,n=t&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((i=e==null?void 0:e.positionAbsolute)==null?void 0:i.x)<"u"&&typeof((o=e==null?void 0:e.positionAbsolute)==null?void 0:o.y)<"u";return[{x:((s=e==null?void 0:e.positionAbsolute)==null?void 0:s.x)||0,y:((a=e==null?void 0:e.positionAbsolute)==null?void 0:a.y)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0},t,!!n]}function xB(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return n?n.selected?!0:xB(n,t):!1}function WR(e,t,n){let r=e;do{if(r!=null&&r.matches(t))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function Nme(e,t,n,r){return Array.from(e.values()).filter(i=>(i.selected||i.id===r)&&(!i.parentNode||!xB(i,e))&&(i.draggable||t&&typeof i.draggable>"u")).map(i=>{var o,s;return{id:i.id,position:i.position||{x:0,y:0},positionAbsolute:i.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((o=i.positionAbsolute)==null?void 0:o.x)??0),y:n.y-(((s=i.positionAbsolute)==null?void 0:s.y)??0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode,width:i.width,height:i.height}})}function Lme(e,t){return!t||t==="parent"?t:[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]}function CB(e,t,n,r,i=[0,0],o){const s=Lme(e,e.extent||r);let a=s;if(e.extent==="parent")if(e.parentNode&&e.width&&e.height){const d=n.get(e.parentNode),{x:f,y:p}=rf(d,i).positionAbsolute;a=d&&_o(f)&&_o(p)&&_o(d.width)&&_o(d.height)?[[f+e.width*i[0],p+e.height*i[1]],[f+d.width-e.width+e.width*i[0],p+d.height-e.height+e.height*i[1]]]:a}else o==null||o("005",Wl.error005()),a=s;else if(e.extent&&e.parentNode){const d=n.get(e.parentNode),{x:f,y:p}=rf(d,i).positionAbsolute;a=[[e.extent[0][0]+f,e.extent[0][1]+p],[e.extent[1][0]+f,e.extent[1][1]+p]]}let l={x:0,y:0};if(e.parentNode){const d=n.get(e.parentNode);l=rf(d,i).positionAbsolute}const u=a?qT(t,a):t;return{position:{x:u.x-l.x,y:u.y-l.y},positionAbsolute:u}}function _x({nodeId:e,dragItems:t,nodeInternals:n}){const r=t.map(i=>({...n.get(i.id),position:i.position,positionAbsolute:i.positionAbsolute}));return[e?r.find(i=>i.id===e):r[0],r]}const qR=(e,t,n,r)=>{const i=t.querySelectorAll(e);if(!i||!i.length)return null;const o=Array.from(i),s=t.getBoundingClientRect(),a={x:s.width*r[0],y:s.height*r[1]};return o.map(l=>{const u=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),position:l.getAttribute("data-handlepos"),x:(u.left-s.left-a.x)/n,y:(u.top-s.top-a.y)/n,...WT(l)}})};function qh(e,t,n){return n===void 0?n:r=>{const i=t().nodeInternals.get(e);n(r,{...i})}}function q3({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:i,unselectNodesAndEdges:o,multiSelectionActive:s,nodeInternals:a}=t.getState(),l=a.get(e);t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&s)&&(o({nodes:[l]}),requestAnimationFrame(()=>{var u;return(u=r==null?void 0:r.current)==null?void 0:u.blur()})):i([e])}function Dme(){const e=qr();return L.useCallback(({sourceEvent:n})=>{const{transform:r,snapGrid:i,snapToGrid:o}=e.getState(),s=n.touches?n.touches[0].clientX:n.clientX,a=n.touches?n.touches[0].clientY:n.clientY,l={x:(s-r[0])/r[2],y:(a-r[1])/r[2]};return{xSnapped:o?i[0]*Math.round(l.x/i[0]):l.x,ySnapped:o?i[1]*Math.round(l.y/i[1]):l.y,...l}},[])}function bx(e){return(t,n,r)=>e==null?void 0:e(t,r)}function TB({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:s}){const a=qr(),[l,u]=L.useState(!1),d=L.useRef([]),f=L.useRef({x:null,y:null}),p=L.useRef(0),g=L.useRef(null),m=L.useRef({x:0,y:0}),v=L.useRef(null),x=L.useRef(!1),_=Dme();return L.useEffect(()=>{if(e!=null&&e.current){const b=jo(e.current),y=({x:C,y:T})=>{const{nodeInternals:E,onNodeDrag:P,onSelectionDrag:k,updateNodePositions:O,nodeExtent:M,snapGrid:G,snapToGrid:U,nodeOrigin:A,onError:N}=a.getState();f.current={x:C,y:T};let F=!1;if(d.current=d.current.map(D=>{const V={x:C-D.distance.x,y:T-D.distance.y};U&&(V.x=G[0]*Math.round(V.x/G[0]),V.y=G[1]*Math.round(V.y/G[1]));const j=CB(D,V,E,M,A,N);return F=F||D.position.x!==j.position.x||D.position.y!==j.position.y,D.position=j.position,D.positionAbsolute=j.positionAbsolute,D}),!F)return;O(d.current,!0,!0),u(!0);const B=i?P:bx(k);if(B&&v.current){const[D,V]=_x({nodeId:i,dragItems:d.current,nodeInternals:E});B(v.current,D,V)}},S=()=>{if(!g.current)return;const[C,T]=XF(m.current,g.current);if(C!==0||T!==0){const{transform:E,panBy:P}=a.getState();f.current.x=(f.current.x??0)-C/E[2],f.current.y=(f.current.y??0)-T/E[2],P({x:C,y:T})&&y(f.current)}p.current=requestAnimationFrame(S)};if(t)b.on(".drag",null);else{const C=tpe().on("start",T=>{var F;const{nodeInternals:E,multiSelectionActive:P,domNode:k,nodesDraggable:O,unselectNodesAndEdges:M,onNodeDragStart:G,onSelectionDragStart:U}=a.getState(),A=i?G:bx(U);!s&&!P&&i&&((F=E.get(i))!=null&&F.selected||M()),i&&o&&s&&q3({id:i,store:a,nodeRef:e});const N=_(T);if(f.current=N,d.current=Nme(E,O,N,i),A&&d.current){const[B,D]=_x({nodeId:i,dragItems:d.current,nodeInternals:E});A(T.sourceEvent,B,D)}g.current=(k==null?void 0:k.getBoundingClientRect())||null,m.current=Il(T.sourceEvent,g.current)}).on("drag",T=>{const E=_(T),{autoPanOnNodeDrag:P}=a.getState();!x.current&&P&&(x.current=!0,S()),(f.current.x!==E.xSnapped||f.current.y!==E.ySnapped)&&d.current&&(v.current=T.sourceEvent,m.current=Il(T.sourceEvent,g.current),y(E))}).on("end",T=>{if(u(!1),x.current=!1,cancelAnimationFrame(p.current),d.current){const{updateNodePositions:E,nodeInternals:P,onNodeDragStop:k,onSelectionDragStop:O}=a.getState(),M=i?k:bx(O);if(E(d.current,!1,!1),M){const[G,U]=_x({nodeId:i,dragItems:d.current,nodeInternals:P});M(T.sourceEvent,G,U)}}}).filter(T=>{const E=T.target;return!T.button&&(!n||!WR(E,`.${n}`,e))&&(!r||WR(E,r,e))});return b.call(C),()=>{b.on(".drag",null)}}}},[e,t,n,r,o,a,i,s,_]),l}function EB(){const e=qr();return L.useCallback(n=>{const{nodeInternals:r,nodeExtent:i,updateNodePositions:o,getNodes:s,snapToGrid:a,snapGrid:l,onError:u,nodesDraggable:d}=e.getState(),f=s().filter(b=>b.selected&&(b.draggable||d&&typeof b.draggable>"u")),p=a?l[0]:5,g=a?l[1]:5,m=n.isShiftPressed?4:1,v=n.x*p*m,x=n.y*g*m,_=f.map(b=>{if(b.positionAbsolute){const y={x:b.positionAbsolute.x+v,y:b.positionAbsolute.y+x};a&&(y.x=l[0]*Math.round(y.x/l[0]),y.y=l[1]*Math.round(y.y/l[1]));const{positionAbsolute:S,position:C}=CB(b,y,r,i,void 0,u);b.position=C,b.positionAbsolute=S}return b});o(_,!0,!1)},[])}const of={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var Kh=e=>{const t=({id:n,type:r,data:i,xPos:o,yPos:s,xPosOrigin:a,yPosOrigin:l,selected:u,onClick:d,onMouseEnter:f,onMouseMove:p,onMouseLeave:g,onContextMenu:m,onDoubleClick:v,style:x,className:_,isDraggable:b,isSelectable:y,isConnectable:S,isFocusable:C,selectNodesOnDrag:T,sourcePosition:E,targetPosition:P,hidden:k,resizeObserver:O,dragHandle:M,zIndex:G,isParent:U,noDragClassName:A,noPanClassName:N,initialized:F,disableKeyboardA11y:B,ariaLabel:D,rfId:V})=>{const j=qr(),q=L.useRef(null),Z=L.useRef(E),ee=L.useRef(P),ie=L.useRef(r),se=y||b||d||f||p||g,le=EB(),W=qh(n,j.getState,f),ne=qh(n,j.getState,p),fe=qh(n,j.getState,g),pe=qh(n,j.getState,m),ve=qh(n,j.getState,v),ye=Ee=>{if(y&&(!T||!b)&&q3({id:n,store:j,nodeRef:q}),d){const lt=j.getState().nodeInternals.get(n);d(Ee,{...lt})}},We=Ee=>{if(!j3(Ee))if(JF.includes(Ee.key)&&y){const lt=Ee.key==="Escape";q3({id:n,store:j,unselect:lt,nodeRef:q})}else!B&&b&&u&&Object.prototype.hasOwnProperty.call(of,Ee.key)&&(j.setState({ariaLiveMessage:`Moved selected node ${Ee.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~s}`}),le({x:of[Ee.key].x,y:of[Ee.key].y,isShiftPressed:Ee.shiftKey}))};L.useEffect(()=>{if(q.current&&!k){const Ee=q.current;return O==null||O.observe(Ee),()=>O==null?void 0:O.unobserve(Ee)}},[k]),L.useEffect(()=>{const Ee=ie.current!==r,lt=Z.current!==E,_e=ee.current!==P;q.current&&(Ee||lt||_e)&&(Ee&&(ie.current=r),lt&&(Z.current=E),_e&&(ee.current=P),j.getState().updateNodeDimensions([{id:n,nodeElement:q.current,forceUpdate:!0}]))},[n,r,E,P]);const Me=TB({nodeRef:q,disabled:k||!b,noDragClassName:A,handleSelector:M,nodeId:n,isSelectable:y,selectNodesOnDrag:T});return k?null:ue.jsx("div",{className:Eo(["react-flow__node",`react-flow__node-${r}`,{[N]:b},_,{selected:u,selectable:y,parent:U,dragging:Me}]),ref:q,style:{zIndex:G,transform:`translate(${a}px,${l}px)`,pointerEvents:se?"all":"none",visibility:F?"visible":"hidden",...x},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:W,onMouseMove:ne,onMouseLeave:fe,onContextMenu:pe,onClick:ye,onDoubleClick:ve,onKeyDown:C?We:void 0,tabIndex:C?0:void 0,role:C?"button":void 0,"aria-describedby":B?void 0:`${SB}-${V}`,"aria-label":D,children:ue.jsx(ome,{value:n,children:ue.jsx(e,{id:n,data:i,type:r,xPos:o,yPos:s,selected:u,isConnectable:S,sourcePosition:E,targetPosition:P,dragging:Me,dragHandle:M,zIndex:G})})})};return t.displayName="NodeWrapper",L.memo(t)};function $me(e){const t={input:Kh(e.input||yB),default:Kh(e.default||W3),output:Kh(e.output||_B),group:Kh(e.group||JT)},n={},r=Object.keys(e).filter(i=>!["input","default","output","group"].includes(i)).reduce((i,o)=>(i[o]=Kh(e[o]||W3),i),n);return{...t,...r}}const Fme=({x:e,y:t,width:n,height:r,origin:i})=>!n||!r?{x:e,y:t}:i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:e,y:t}:{x:e-n*i[0],y:t-r*i[1]},Bme=typeof document<"u"?document:null;var kg=(e=null,t={target:Bme})=>{const[n,r]=L.useState(!1),i=L.useRef(!1),o=L.useRef(new Set([])),[s,a]=L.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.split("+")),d=u.reduce((f,p)=>f.concat(...p),[]);return[u,d]}return[[],[]]},[e]);return L.useEffect(()=>{var l,u;if(e!==null){const d=g=>{if(i.current=g.ctrlKey||g.metaKey||g.shiftKey,!i.current&&j3(g))return!1;const m=XR(g.code,a);o.current.add(g[m]),KR(s,o.current,!1)&&(g.preventDefault(),r(!0))},f=g=>{if(!i.current&&j3(g))return!1;const m=XR(g.code,a);KR(s,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(g[m]),i.current=!1},p=()=>{o.current.clear(),r(!1)};return(l=t==null?void 0:t.target)==null||l.addEventListener("keydown",d),(u=t==null?void 0:t.target)==null||u.addEventListener("keyup",f),window.addEventListener("blur",p),()=>{var g,m;(g=t==null?void 0:t.target)==null||g.removeEventListener("keydown",d),(m=t==null?void 0:t.target)==null||m.removeEventListener("keyup",f),window.removeEventListener("blur",p)}}},[e,r]),n};function KR(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function XR(e,t){return t.includes(e)?"code":"key"}function AB(e,t,n,r){var s,a;if(!e.parentNode)return n;const i=t.get(e.parentNode),o=rf(i,r);return AB(i,t,{x:(n.x??0)+o.x,y:(n.y??0)+o.y,z:(((s=i[nr])==null?void 0:s.z)??0)>(n.z??0)?((a=i[nr])==null?void 0:a.z)??0:n.z??0},r)}function PB(e,t,n){e.forEach(r=>{var i;if(r.parentNode&&!e.has(r.parentNode))throw new Error(`Parent node ${r.parentNode} not found`);if(r.parentNode||n!=null&&n[r.id]){const{x:o,y:s,z:a}=AB(r,e,{...r.position,z:((i=r[nr])==null?void 0:i.z)??0},t);r.positionAbsolute={x:o,y:s},r[nr].z=a,n!=null&&n[r.id]&&(r[nr].isParent=!0)}})}function Sx(e,t,n,r){const i=new Map,o={},s=r?1e3:0;return e.forEach(a=>{var f;const l=(_o(a.zIndex)?a.zIndex:0)+(a.selected?s:0),u=t.get(a.id),d={width:u==null?void 0:u.width,height:u==null?void 0:u.height,...a,positionAbsolute:{x:a.position.x,y:a.position.y}};a.parentNode&&(d.parentNode=a.parentNode,o[a.parentNode]=!0),Object.defineProperty(d,nr,{enumerable:!1,value:{handleBounds:(f=u==null?void 0:u[nr])==null?void 0:f.handleBounds,z:l}}),i.set(a.id,d)}),PB(i,n,o),i}function RB(e,t={}){const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:s,d3Zoom:a,d3Selection:l,fitViewOnInitDone:u,fitViewOnInit:d,nodeOrigin:f}=e(),p=t.initial&&!u&&d;if(a&&l&&(p||!t.initial)){const m=n().filter(x=>{var b;const _=t.includeHiddenNodes?x.width&&x.height:!x.hidden;return(b=t.nodes)!=null&&b.length?_&&t.nodes.some(y=>y.id===x.id):_}),v=m.every(x=>x.width&&x.height);if(m.length>0&&v){const x=aB(m,f),[_,b,y]=cB(x,r,i,t.minZoom??o,t.maxZoom??s,t.padding??.1),S=kl.translate(_,b).scale(y);return typeof t.duration=="number"&&t.duration>0?a.transform(Pu(l,t.duration),S):a.transform(l,S),!0}}return!1}function Ume(e,t){return e.forEach(n=>{const r=t.get(n.id);r&&t.set(r.id,{...r,[nr]:r[nr],selected:n.selected})}),new Map(t)}function zme(e,t){return t.map(n=>{const r=e.find(i=>i.id===n.id);return r&&(n.selected=r.selected),n})}function P0({changedNodes:e,changedEdges:t,get:n,set:r}){const{nodeInternals:i,edges:o,onNodesChange:s,onEdgesChange:a,hasDefaultNodes:l,hasDefaultEdges:u}=n();e!=null&&e.length&&(l&&r({nodeInternals:Ume(e,i)}),s==null||s(e)),t!=null&&t.length&&(u&&r({edges:zme(t,o)}),a==null||a(t))}const od=()=>{},Vme={zoomIn:od,zoomOut:od,zoomTo:od,getZoom:()=>1,setViewport:od,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:od,fitBounds:od,project:e=>e,viewportInitialized:!1},jme=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),Gme=()=>{const e=qr(),{d3Zoom:t,d3Selection:n}=Nn(jme,Ri);return L.useMemo(()=>n&&t?{zoomIn:i=>t.scaleBy(Pu(n,i==null?void 0:i.duration),1.2),zoomOut:i=>t.scaleBy(Pu(n,i==null?void 0:i.duration),1/1.2),zoomTo:(i,o)=>t.scaleTo(Pu(n,o==null?void 0:o.duration),i),getZoom:()=>e.getState().transform[2],setViewport:(i,o)=>{const[s,a,l]=e.getState().transform,u=kl.translate(i.x??s,i.y??a).scale(i.zoom??l);t.transform(Pu(n,o==null?void 0:o.duration),u)},getViewport:()=>{const[i,o,s]=e.getState().transform;return{x:i,y:o,zoom:s}},fitView:i=>RB(e.getState,i),setCenter:(i,o,s)=>{const{width:a,height:l,maxZoom:u}=e.getState(),d=typeof(s==null?void 0:s.zoom)<"u"?s.zoom:u,f=a/2-i*d,p=l/2-o*d,g=kl.translate(f,p).scale(d);t.transform(Pu(n,s==null?void 0:s.duration),g)},fitBounds:(i,o)=>{const{width:s,height:a,minZoom:l,maxZoom:u}=e.getState(),[d,f,p]=cB(i,s,a,l,u,(o==null?void 0:o.padding)??.1),g=kl.translate(d,f).scale(p);t.transform(Pu(n,o==null?void 0:o.duration),g)},project:i=>{const{transform:o,snapToGrid:s,snapGrid:a}=e.getState();return sB(i,o,s,a)},viewportInitialized:!0}:Vme,[t,n])};function OB(){const e=Gme(),t=qr(),n=L.useCallback(()=>t.getState().getNodes().map(v=>({...v})),[]),r=L.useCallback(v=>t.getState().nodeInternals.get(v),[]),i=L.useCallback(()=>{const{edges:v=[]}=t.getState();return v.map(x=>({...x}))},[]),o=L.useCallback(v=>{const{edges:x=[]}=t.getState();return x.find(_=>_.id===v)},[]),s=L.useCallback(v=>{const{getNodes:x,setNodes:_,hasDefaultNodes:b,onNodesChange:y}=t.getState(),S=x(),C=typeof v=="function"?v(S):v;if(b)_(C);else if(y){const T=C.length===0?S.map(E=>({type:"remove",id:E.id})):C.map(E=>({item:E,type:"reset"}));y(T)}},[]),a=L.useCallback(v=>{const{edges:x=[],setEdges:_,hasDefaultEdges:b,onEdgesChange:y}=t.getState(),S=typeof v=="function"?v(x):v;if(b)_(S);else if(y){const C=S.length===0?x.map(T=>({type:"remove",id:T.id})):S.map(T=>({item:T,type:"reset"}));y(C)}},[]),l=L.useCallback(v=>{const x=Array.isArray(v)?v:[v],{getNodes:_,setNodes:b,hasDefaultNodes:y,onNodesChange:S}=t.getState();if(y){const T=[..._(),...x];b(T)}else if(S){const C=x.map(T=>({item:T,type:"add"}));S(C)}},[]),u=L.useCallback(v=>{const x=Array.isArray(v)?v:[v],{edges:_=[],setEdges:b,hasDefaultEdges:y,onEdgesChange:S}=t.getState();if(y)b([..._,...x]);else if(S){const C=x.map(T=>({item:T,type:"add"}));S(C)}},[]),d=L.useCallback(()=>{const{getNodes:v,edges:x=[],transform:_}=t.getState(),[b,y,S]=_;return{nodes:v().map(C=>({...C})),edges:x.map(C=>({...C})),viewport:{x:b,y,zoom:S}}},[]),f=L.useCallback(({nodes:v,edges:x})=>{const{nodeInternals:_,getNodes:b,edges:y,hasDefaultNodes:S,hasDefaultEdges:C,onNodesDelete:T,onEdgesDelete:E,onNodesChange:P,onEdgesChange:k}=t.getState(),O=(v||[]).map(N=>N.id),M=(x||[]).map(N=>N.id),G=b().reduce((N,F)=>{const B=!O.includes(F.id)&&F.parentNode&&N.find(V=>V.id===F.parentNode);return(typeof F.deletable=="boolean"?F.deletable:!0)&&(O.includes(F.id)||B)&&N.push(F),N},[]),U=y.filter(N=>typeof N.deletable=="boolean"?N.deletable:!0),A=U.filter(N=>M.includes(N.id));if(G||A){const N=uB(G,U),F=[...A,...N],B=F.reduce((D,V)=>(D.includes(V.id)||D.push(V.id),D),[]);if((C||S)&&(C&&t.setState({edges:y.filter(D=>!B.includes(D.id))}),S&&(G.forEach(D=>{_.delete(D.id)}),t.setState({nodeInternals:new Map(_)}))),B.length>0&&(E==null||E(F),k&&k(B.map(D=>({id:D,type:"remove"})))),G.length>0&&(T==null||T(G),P)){const D=G.map(V=>({id:V.id,type:"remove"}));P(D)}}},[]),p=L.useCallback(v=>{const x=Zge(v),_=x?null:t.getState().nodeInternals.get(v.id);return[x?v:MR(_),_,x]},[]),g=L.useCallback((v,x=!0,_)=>{const[b,y,S]=p(v);return b?(_||t.getState().getNodes()).filter(C=>{if(!S&&(C.id===y.id||!C.positionAbsolute))return!1;const T=MR(C),E=V3(T,b);return x&&E>0||E>=v.width*v.height}):[]},[]),m=L.useCallback((v,x,_=!0)=>{const[b]=p(v);if(!b)return!1;const y=V3(b,x);return _&&y>0||y>=v.width*v.height},[]);return L.useMemo(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:s,setEdges:a,addNodes:l,addEdges:u,toObject:d,deleteElements:f,getIntersectingNodes:g,isNodeIntersecting:m}),[e,n,r,i,o,s,a,l,u,d,f,g,m])}var Hme=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=qr(),{deleteElements:r}=OB(),i=kg(e),o=kg(t);L.useEffect(()=>{if(i){const{edges:s,getNodes:a}=n.getState(),l=a().filter(d=>d.selected),u=s.filter(d=>d.selected);r({nodes:l,edges:u}),n.setState({nodesSelectionActive:!1})}},[i]),L.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])};function Wme(e){const t=qr();L.useEffect(()=>{let n;const r=()=>{var o,s;if(!e.current)return;const i=WT(e.current);(i.height===0||i.width===0)&&((s=(o=t.getState()).onError)==null||s.call(o,"004",Wl.error004())),t.setState({width:i.width||500,height:i.height||500})};return r(),window.addEventListener("resize",r),e.current&&(n=new ResizeObserver(()=>r()),n.observe(e.current)),()=>{window.removeEventListener("resize",r),n&&e.current&&n.unobserve(e.current)}},[])}const eE={position:"absolute",width:"100%",height:"100%",top:0,left:0},qme=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,wx=e=>({x:e.x,y:e.y,zoom:e.k}),sd=(e,t)=>e.target.closest(`.${t}`),YR=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),Kme=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),Xme=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:s=!1,panOnScrollSpeed:a=.5,panOnScrollMode:l=nf.Free,zoomOnDoubleClick:u=!0,elementsSelectable:d,panOnDrag:f=!0,defaultViewport:p,translateExtent:g,minZoom:m,maxZoom:v,zoomActivationKeyCode:x,preventScrolling:_=!0,children:b,noWheelClassName:y,noPanClassName:S})=>{const C=L.useRef(),T=qr(),E=L.useRef(!1),P=L.useRef(!1),k=L.useRef(null),O=L.useRef({x:0,y:0,zoom:0}),{d3Zoom:M,d3Selection:G,d3ZoomHandler:U,userSelectionActive:A}=Nn(Kme,Ri),N=kg(x),F=L.useRef(0);return Wme(k),L.useEffect(()=>{if(k.current){const B=k.current.getBoundingClientRect(),D=Hge().scaleExtent([m,v]).translateExtent(g),V=jo(k.current).call(D),j=kl.translate(p.x,p.y).scale(Af(p.zoom,m,v)),q=[[0,0],[B.width,B.height]],Z=D.constrain()(j,q,g);D.transform(V,Z),T.setState({d3Zoom:D,d3Selection:V,d3ZoomHandler:V.on("wheel.zoom"),transform:[Z.x,Z.y,Z.k],domNode:k.current.closest(".react-flow")})}},[]),L.useEffect(()=>{G&&M&&(s&&!N&&!A?G.on("wheel.zoom",B=>{if(sd(B,y))return!1;B.preventDefault(),B.stopImmediatePropagation();const D=G.property("__zoom").k||1;if(B.ctrlKey&&o){const Z=gs(B),ee=-B.deltaY*(B.deltaMode===1?.05:B.deltaMode?1:.002)*10,ie=D*Math.pow(2,ee);M.scaleTo(G,ie,Z);return}const V=B.deltaMode===1?20:1,j=l===nf.Vertical?0:B.deltaX*V,q=l===nf.Horizontal?0:B.deltaY*V;M.translateBy(G,-(j/D)*a,-(q/D)*a)},{passive:!1}):typeof U<"u"&&G.on("wheel.zoom",function(B,D){if(!_||sd(B,y))return null;B.preventDefault(),U.call(this,B,D)},{passive:!1}))},[A,s,l,G,M,U,N,o,_,y]),L.useEffect(()=>{M&&M.on("start",B=>{var V;if(!B.sourceEvent)return null;F.current=B.sourceEvent.button;const{onViewportChangeStart:D}=T.getState();if(E.current=!0,((V=B.sourceEvent)==null?void 0:V.type)==="mousedown"&&T.setState({paneDragging:!0}),t||D){const j=wx(B.transform);O.current=j,D==null||D(j),t==null||t(B.sourceEvent,j)}})},[M,t]),L.useEffect(()=>{M&&(A&&!E.current?M.on("zoom",null):A||M.on("zoom",B=>{const{onViewportChange:D}=T.getState();if(T.setState({transform:[B.transform.x,B.transform.y,B.transform.k]}),P.current=!!(r&&YR(f,F.current??0)),e||D){const V=wx(B.transform);D==null||D(V),e==null||e(B.sourceEvent,V)}}))},[A,M,e,f,r]),L.useEffect(()=>{M&&M.on("end",B=>{if(!B.sourceEvent)return null;const{onViewportChangeEnd:D}=T.getState();if(E.current=!1,T.setState({paneDragging:!1}),r&&YR(f,F.current??0)&&!P.current&&r(B.sourceEvent),P.current=!1,(n||D)&&qme(O.current,B.transform)){const V=wx(B.transform);O.current=V,clearTimeout(C.current),C.current=setTimeout(()=>{D==null||D(V),n==null||n(B.sourceEvent,V)},s?150:0)}})},[M,s,f,n,r]),L.useEffect(()=>{M&&M.filter(B=>{const D=N||i,V=o&&B.ctrlKey;if(B.button===1&&B.type==="mousedown"&&(sd(B,"react-flow__node")||sd(B,"react-flow__edge")))return!0;if(!f&&!D&&!s&&!u&&!o||A||!u&&B.type==="dblclick"||sd(B,y)&&B.type==="wheel"||sd(B,S)&&B.type!=="wheel"||!o&&B.ctrlKey&&B.type==="wheel"||!D&&!s&&!V&&B.type==="wheel"||!f&&(B.type==="mousedown"||B.type==="touchstart")||Array.isArray(f)&&!f.includes(B.button)&&(B.type==="mousedown"||B.type==="touchstart"))return!1;const j=Array.isArray(f)&&f.includes(B.button)||!B.button||B.button<=1;return(!B.ctrlKey||B.type==="wheel")&&j})},[A,M,i,o,s,u,f,d,N]),ue.jsx("div",{className:"react-flow__renderer",ref:k,style:eE,children:b})},Yme=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function Qme(){const{userSelectionActive:e,userSelectionRect:t}=Nn(Yme,Ri);return e&&t?ue.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function QR(e,t){const n=e.find(r=>r.id===t.parentNode);if(n){const r=t.position.x+t.width-n.width,i=t.position.y+t.height-n.height;if(r>0||i>0||t.position.x<0||t.position.y<0){if(n.style={...n.style},n.style.width=n.style.width??n.width,n.style.height=n.style.height??n.height,r>0&&(n.style.width+=r),i>0&&(n.style.height+=i),t.position.x<0){const o=Math.abs(t.position.x);n.position.x=n.position.x-o,n.style.width+=o,t.position.x=0}if(t.position.y<0){const o=Math.abs(t.position.y);n.position.y=n.position.y-o,n.style.height+=o,t.position.y=0}n.width=n.style.width,n.height=n.style.height}}}function kB(e,t){if(e.some(r=>r.type==="reset"))return e.filter(r=>r.type==="reset").map(r=>r.item);const n=e.filter(r=>r.type==="add").map(r=>r.item);return t.reduce((r,i)=>{const o=e.filter(a=>a.id===i.id);if(o.length===0)return r.push(i),r;const s={...i};for(const a of o)if(a)switch(a.type){case"select":{s.selected=a.selected;break}case"position":{typeof a.position<"u"&&(s.position=a.position),typeof a.positionAbsolute<"u"&&(s.positionAbsolute=a.positionAbsolute),typeof a.dragging<"u"&&(s.dragging=a.dragging),s.expandParent&&QR(r,s);break}case"dimensions":{typeof a.dimensions<"u"&&(s.width=a.dimensions.width,s.height=a.dimensions.height),typeof a.updateStyle<"u"&&(s.style={...s.style||{},...a.dimensions}),typeof a.resizing=="boolean"&&(s.resizing=a.resizing),s.expandParent&&QR(r,s);break}case"remove":return r}return r.push(s),r},n)}function IB(e,t){return kB(e,t)}function Zme(e,t){return kB(e,t)}const dl=(e,t)=>({id:e,type:"select",selected:t});function Ld(e,t){return e.reduce((n,r)=>{const i=t.includes(r.id);return!r.selected&&i?(r.selected=!0,n.push(dl(r.id,!0))):r.selected&&!i&&(r.selected=!1,n.push(dl(r.id,!1))),n},[])}const xx=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},Jme=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),MB=L.memo(({isSelecting:e,selectionMode:t=Og.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:s,onPaneScroll:a,onPaneMouseEnter:l,onPaneMouseMove:u,onPaneMouseLeave:d,children:f})=>{const p=L.useRef(null),g=qr(),m=L.useRef(0),v=L.useRef(0),x=L.useRef(),{userSelectionActive:_,elementsSelectable:b,dragging:y}=Nn(Jme,Ri),S=()=>{g.setState({userSelectionActive:!1,userSelectionRect:null}),m.current=0,v.current=0},C=U=>{o==null||o(U),g.getState().resetSelectedElements(),g.setState({nodesSelectionActive:!1})},T=U=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){U.preventDefault();return}s==null||s(U)},E=a?U=>a(U):void 0,P=U=>{const{resetSelectedElements:A,domNode:N}=g.getState();if(x.current=N==null?void 0:N.getBoundingClientRect(),!b||!e||U.button!==0||U.target!==p.current||!x.current)return;const{x:F,y:B}=Il(U,x.current);A(),g.setState({userSelectionRect:{width:0,height:0,startX:F,startY:B,x:F,y:B}}),r==null||r(U)},k=U=>{const{userSelectionRect:A,nodeInternals:N,edges:F,transform:B,onNodesChange:D,onEdgesChange:V,nodeOrigin:j,getNodes:q}=g.getState();if(!e||!x.current||!A)return;g.setState({userSelectionActive:!0,nodesSelectionActive:!1});const Z=Il(U,x.current),ee=A.startX??0,ie=A.startY??0,se={...A,x:Z.xpe.id),fe=W.map(pe=>pe.id);if(m.current!==fe.length){m.current=fe.length;const pe=Ld(le,fe);pe.length&&(D==null||D(pe))}if(v.current!==ne.length){v.current=ne.length;const pe=Ld(F,ne);pe.length&&(V==null||V(pe))}g.setState({userSelectionRect:se})},O=U=>{if(U.button!==0)return;const{userSelectionRect:A}=g.getState();!_&&A&&U.target===p.current&&(C==null||C(U)),g.setState({nodesSelectionActive:m.current>0}),S(),i==null||i(U)},M=U=>{_&&(g.setState({nodesSelectionActive:m.current>0}),i==null||i(U)),S()},G=b&&(e||_);return ue.jsxs("div",{className:Eo(["react-flow__pane",{dragging:y,selection:e}]),onClick:G?void 0:xx(C,p),onContextMenu:xx(T,p),onWheel:xx(E,p),onMouseEnter:G?void 0:l,onMouseDown:G?P:void 0,onMouseMove:G?k:u,onMouseUp:G?O:void 0,onMouseLeave:G?M:d,ref:p,style:eE,children:[f,ue.jsx(Qme,{})]})});MB.displayName="Pane";const eye=e=>{const t=e.getNodes().filter(n=>n.selected);return{...aB(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function tye({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=qr(),{width:i,height:o,x:s,y:a,transformString:l,userSelectionActive:u}=Nn(eye,Ri),d=EB(),f=L.useRef(null);if(L.useEffect(()=>{var m;n||(m=f.current)==null||m.focus({preventScroll:!0})},[n]),TB({nodeRef:f}),u||!i||!o)return null;const p=e?m=>{const v=r.getState().getNodes().filter(x=>x.selected);e(m,v)}:void 0,g=m=>{Object.prototype.hasOwnProperty.call(of,m.key)&&d({x:of[m.key].x,y:of[m.key].y,isShiftPressed:m.shiftKey})};return ue.jsx("div",{className:Eo(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l},children:ue.jsx("div",{ref:f,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:n?void 0:-1,onKeyDown:n?void 0:g,style:{width:i,height:o,top:a,left:s}})})}var nye=L.memo(tye);const rye=e=>e.nodesSelectionActive,NB=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,deleteKeyCode:a,onMove:l,onMoveStart:u,onMoveEnd:d,selectionKeyCode:f,selectionOnDrag:p,selectionMode:g,onSelectionStart:m,onSelectionEnd:v,multiSelectionKeyCode:x,panActivationKeyCode:_,zoomActivationKeyCode:b,elementsSelectable:y,zoomOnScroll:S,zoomOnPinch:C,panOnScroll:T,panOnScrollSpeed:E,panOnScrollMode:P,zoomOnDoubleClick:k,panOnDrag:O,defaultViewport:M,translateExtent:G,minZoom:U,maxZoom:A,preventScrolling:N,onSelectionContextMenu:F,noWheelClassName:B,noPanClassName:D,disableKeyboardA11y:V})=>{const j=Nn(rye),q=kg(f),ee=kg(_)||O,ie=q||p&&ee!==!0;return Hme({deleteKeyCode:a,multiSelectionKeyCode:x}),ue.jsx(Xme,{onMove:l,onMoveStart:u,onMoveEnd:d,onPaneContextMenu:o,elementsSelectable:y,zoomOnScroll:S,zoomOnPinch:C,panOnScroll:T,panOnScrollSpeed:E,panOnScrollMode:P,zoomOnDoubleClick:k,panOnDrag:!q&&ee,defaultViewport:M,translateExtent:G,minZoom:U,maxZoom:A,zoomActivationKeyCode:b,preventScrolling:N,noWheelClassName:B,noPanClassName:D,children:ue.jsxs(MB,{onSelectionStart:m,onSelectionEnd:v,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,panOnDrag:ee,isSelecting:!!ie,selectionMode:g,children:[e,j&&ue.jsx(nye,{onSelectionContextMenu:F,noPanClassName:D,disableKeyboardA11y:V})]})})};NB.displayName="FlowRenderer";var iye=L.memo(NB);function oye(e){return Nn(L.useCallback(n=>e?lB(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[e]))}const sye=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),LB=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:s}=Nn(sye,Ri),a=oye(e.onlyRenderVisibleElements),l=L.useRef(),u=L.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const d=new ResizeObserver(f=>{const p=f.map(g=>({id:g.target.getAttribute("data-id"),nodeElement:g.target,forceUpdate:!0}));o(p)});return l.current=d,d},[]);return L.useEffect(()=>()=>{var d;(d=l==null?void 0:l.current)==null||d.disconnect()},[]),ue.jsx("div",{className:"react-flow__nodes",style:eE,children:a.map(d=>{var C,T;let f=d.type||"default";e.nodeTypes[f]||(s==null||s("003",Wl.error003(f)),f="default");const p=e.nodeTypes[f]||e.nodeTypes.default,g=!!(d.draggable||t&&typeof d.draggable>"u"),m=!!(d.selectable||i&&typeof d.selectable>"u"),v=!!(d.connectable||n&&typeof d.connectable>"u"),x=!!(d.focusable||r&&typeof d.focusable>"u"),_=e.nodeExtent?qT(d.positionAbsolute,e.nodeExtent):d.positionAbsolute,b=(_==null?void 0:_.x)??0,y=(_==null?void 0:_.y)??0,S=Fme({x:b,y,width:d.width??0,height:d.height??0,origin:e.nodeOrigin});return ue.jsx(p,{id:d.id,className:d.className,style:d.style,type:f,data:d.data,sourcePosition:d.sourcePosition||Ne.Bottom,targetPosition:d.targetPosition||Ne.Top,hidden:d.hidden,xPos:b,yPos:y,xPosOrigin:S.x,yPosOrigin:S.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!d.selected,isDraggable:g,isSelectable:m,isConnectable:v,isFocusable:x,resizeObserver:u,dragHandle:d.dragHandle,zIndex:((C=d[nr])==null?void 0:C.z)??0,isParent:!!((T=d[nr])!=null&&T.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!d.width&&!!d.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:d.ariaLabel},d.id)})})};LB.displayName="NodeRenderer";var aye=L.memo(LB);const lye=[{level:0,isMaxLevel:!0,edges:[]}];function uye(e,t,n=!1){let r=-1;const i=e.reduce((s,a)=>{var d,f;const l=_o(a.zIndex);let u=l?a.zIndex:0;if(n){const p=t.get(a.target),g=t.get(a.source),m=a.selected||(p==null?void 0:p.selected)||(g==null?void 0:g.selected),v=Math.max(((d=g==null?void 0:g[nr])==null?void 0:d.z)||0,((f=p==null?void 0:p[nr])==null?void 0:f.z)||0,1e3);u=(l?a.zIndex:0)+(m?v:0)}return s[u]?s[u].push(a):s[u]=[a],r=u>r?u:r,s},{}),o=Object.entries(i).map(([s,a])=>{const l=+s;return{edges:a,level:l,isMaxLevel:l===r}});return o.length===0?lye:o}function cye(e,t,n){const r=Nn(L.useCallback(i=>e?i.edges.filter(o=>{const s=t.get(o.source),a=t.get(o.target);return(s==null?void 0:s.width)&&(s==null?void 0:s.height)&&(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&Mme({sourcePos:s.positionAbsolute||{x:0,y:0},targetPos:a.positionAbsolute||{x:0,y:0},sourceWidth:s.width,sourceHeight:s.height,targetWidth:a.width,targetHeight:a.height,width:i.width,height:i.height,transform:i.transform})}):i.edges,[e,t]));return uye(r,t,n)}const dye=({color:e="none",strokeWidth:t=1})=>ue.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:"none",points:"-5,-4 0,0 -5,4"}),fye=({color:e="none",strokeWidth:t=1})=>ue.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:e,points:"-5,-4 0,0 -5,4 -5,-4"}),ZR={[B1.Arrow]:dye,[B1.ArrowClosed]:fye};function hye(e){const t=qr();return L.useMemo(()=>{var i,o;return Object.prototype.hasOwnProperty.call(ZR,e)?ZR[e]:((o=(i=t.getState()).onError)==null||o.call(i,"009",Wl.error009(e)),null)},[e])}const pye=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:o="strokeWidth",strokeWidth:s,orient:a="auto-start-reverse"})=>{const l=hye(t);return l?ue.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:a,refX:"0",refY:"0",children:ue.jsx(l,{color:n,strokeWidth:s})}):null},gye=({defaultColor:e,rfId:t})=>n=>{const r=[];return n.edges.reduce((i,o)=>([o.markerStart,o.markerEnd].forEach(s=>{if(s&&typeof s=="object"){const a=H3(s,t);r.includes(a)||(i.push({id:a,color:s.color||e,...s}),r.push(a))}}),i),[]).sort((i,o)=>i.id.localeCompare(o.id))},DB=({defaultColor:e,rfId:t})=>{const n=Nn(L.useCallback(gye({defaultColor:e,rfId:t}),[e,t]),(r,i)=>!(r.length!==i.length||r.some((o,s)=>o.id!==i[s].id)));return ue.jsx("defs",{children:n.map(r=>ue.jsx(pye,{id:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient},r.id))})};DB.displayName="MarkerDefinitions";var mye=L.memo(DB);const yye=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),$B=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeUpdate:s,onEdgeContextMenu:a,onEdgeMouseEnter:l,onEdgeMouseMove:u,onEdgeMouseLeave:d,onEdgeClick:f,edgeUpdaterRadius:p,onEdgeDoubleClick:g,onEdgeUpdateStart:m,onEdgeUpdateEnd:v,children:x})=>{const{edgesFocusable:_,edgesUpdatable:b,elementsSelectable:y,width:S,height:C,connectionMode:T,nodeInternals:E,onError:P}=Nn(yye,Ri),k=cye(t,E,n);return S?ue.jsxs(ue.Fragment,{children:[k.map(({level:O,edges:M,isMaxLevel:G})=>ue.jsxs("svg",{style:{zIndex:O},width:S,height:C,className:"react-flow__edges react-flow__container",children:[G&&ue.jsx(mye,{defaultColor:e,rfId:r}),ue.jsx("g",{children:M.map(U=>{const[A,N,F]=HR(E.get(U.source)),[B,D,V]=HR(E.get(U.target));if(!F||!V)return null;let j=U.type||"default";i[j]||(P==null||P("011",Wl.error011(j)),j="default");const q=i[j]||i.default,Z=T===sc.Strict?D.target:(D.target??[]).concat(D.source??[]),ee=GR(N.source,U.sourceHandle),ie=GR(Z,U.targetHandle),se=(ee==null?void 0:ee.position)||Ne.Bottom,le=(ie==null?void 0:ie.position)||Ne.Top,W=!!(U.focusable||_&&typeof U.focusable>"u"),ne=typeof s<"u"&&(U.updatable||b&&typeof U.updatable>"u");if(!ee||!ie)return P==null||P("008",Wl.error008(ee,U)),null;const{sourceX:fe,sourceY:pe,targetX:ve,targetY:ye}=Ime(A,ee,se,B,ie,le);return ue.jsx(q,{id:U.id,className:Eo([U.className,o]),type:j,data:U.data,selected:!!U.selected,animated:!!U.animated,hidden:!!U.hidden,label:U.label,labelStyle:U.labelStyle,labelShowBg:U.labelShowBg,labelBgStyle:U.labelBgStyle,labelBgPadding:U.labelBgPadding,labelBgBorderRadius:U.labelBgBorderRadius,style:U.style,source:U.source,target:U.target,sourceHandleId:U.sourceHandle,targetHandleId:U.targetHandle,markerEnd:U.markerEnd,markerStart:U.markerStart,sourceX:fe,sourceY:pe,targetX:ve,targetY:ye,sourcePosition:se,targetPosition:le,elementsSelectable:y,onEdgeUpdate:s,onContextMenu:a,onMouseEnter:l,onMouseMove:u,onMouseLeave:d,onClick:f,edgeUpdaterRadius:p,onEdgeDoubleClick:g,onEdgeUpdateStart:m,onEdgeUpdateEnd:v,rfId:r,ariaLabel:U.ariaLabel,isFocusable:W,isUpdatable:ne,pathOptions:"pathOptions"in U?U.pathOptions:void 0,interactionWidth:U.interactionWidth},U.id)})})]},O)),x]}):null};$B.displayName="EdgeRenderer";var vye=L.memo($B);const _ye=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function bye({children:e}){const t=Nn(_ye);return ue.jsx("div",{className:"react-flow__viewport react-flow__container",style:{transform:t},children:e})}function Sye(e){const t=OB(),n=L.useRef(!1);L.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const wye={[Ne.Left]:Ne.Right,[Ne.Right]:Ne.Left,[Ne.Top]:Ne.Bottom,[Ne.Bottom]:Ne.Top},FB=({nodeId:e,handleType:t,style:n,type:r=yl.Bezier,CustomComponent:i,connectionStatus:o})=>{var T,E,P;const{fromNode:s,handleId:a,toX:l,toY:u,connectionMode:d}=Nn(L.useCallback(k=>({fromNode:k.nodeInternals.get(e),handleId:k.connectionHandleId,toX:(k.connectionPosition.x-k.transform[0])/k.transform[2],toY:(k.connectionPosition.y-k.transform[1])/k.transform[2],connectionMode:k.connectionMode}),[e]),Ri),f=(T=s==null?void 0:s[nr])==null?void 0:T.handleBounds;let p=f==null?void 0:f[t];if(d===sc.Loose&&(p=p||(f==null?void 0:f[t==="source"?"target":"source"])),!s||!p)return null;const g=a?p.find(k=>k.id===a):p[0],m=g?g.x+g.width/2:(s.width??0)/2,v=g?g.y+g.height/2:s.height??0,x=(((E=s.positionAbsolute)==null?void 0:E.x)??0)+m,_=(((P=s.positionAbsolute)==null?void 0:P.y)??0)+v,b=g==null?void 0:g.position,y=b?wye[b]:null;if(!b||!y)return null;if(i)return ue.jsx(i,{connectionLineType:r,connectionLineStyle:n,fromNode:s,fromHandle:g,fromX:x,fromY:_,toX:l,toY:u,fromPosition:b,toPosition:y,connectionStatus:o});let S="";const C={sourceX:x,sourceY:_,sourcePosition:b,targetX:l,targetY:u,targetPosition:y};return r===yl.Bezier?[S]=iB(C):r===yl.Step?[S]=G3({...C,borderRadius:0}):r===yl.SmoothStep?[S]=G3(C):r===yl.SimpleBezier?[S]=rB(C):S=`M${x},${_} ${l},${u}`,ue.jsx("path",{d:S,fill:"none",className:"react-flow__connection-path",style:n})};FB.displayName="ConnectionLine";const xye=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function Cye({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:s,width:a,height:l,connectionStatus:u}=Nn(xye,Ri);return!(i&&o&&a&&s)?null:ue.jsx("svg",{style:e,width:a,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container",children:ue.jsx("g",{className:Eo(["react-flow__connection",u]),children:ue.jsx(FB,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:u})})})}const BB=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:s,onEdgeClick:a,onNodeDoubleClick:l,onEdgeDoubleClick:u,onNodeMouseEnter:d,onNodeMouseMove:f,onNodeMouseLeave:p,onNodeContextMenu:g,onSelectionContextMenu:m,onSelectionStart:v,onSelectionEnd:x,connectionLineType:_,connectionLineStyle:b,connectionLineComponent:y,connectionLineContainerStyle:S,selectionKeyCode:C,selectionOnDrag:T,selectionMode:E,multiSelectionKeyCode:P,panActivationKeyCode:k,zoomActivationKeyCode:O,deleteKeyCode:M,onlyRenderVisibleElements:G,elementsSelectable:U,selectNodesOnDrag:A,defaultViewport:N,translateExtent:F,minZoom:B,maxZoom:D,preventScrolling:V,defaultMarkerColor:j,zoomOnScroll:q,zoomOnPinch:Z,panOnScroll:ee,panOnScrollSpeed:ie,panOnScrollMode:se,zoomOnDoubleClick:le,panOnDrag:W,onPaneClick:ne,onPaneMouseEnter:fe,onPaneMouseMove:pe,onPaneMouseLeave:ve,onPaneScroll:ye,onPaneContextMenu:We,onEdgeUpdate:Me,onEdgeContextMenu:Ee,onEdgeMouseEnter:lt,onEdgeMouseMove:_e,onEdgeMouseLeave:jt,edgeUpdaterRadius:Wn,onEdgeUpdateStart:Bt,onEdgeUpdateEnd:it,noDragClassName:mt,noWheelClassName:Jt,noPanClassName:Mr,elevateEdgesOnSelect:yr,disableKeyboardA11y:hi,nodeOrigin:wn,nodeExtent:on,rfId:qn})=>(Sye(o),ue.jsx(iye,{onPaneClick:ne,onPaneMouseEnter:fe,onPaneMouseMove:pe,onPaneMouseLeave:ve,onPaneContextMenu:We,onPaneScroll:ye,deleteKeyCode:M,selectionKeyCode:C,selectionOnDrag:T,selectionMode:E,onSelectionStart:v,onSelectionEnd:x,multiSelectionKeyCode:P,panActivationKeyCode:k,zoomActivationKeyCode:O,elementsSelectable:U,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:q,zoomOnPinch:Z,zoomOnDoubleClick:le,panOnScroll:ee,panOnScrollSpeed:ie,panOnScrollMode:se,panOnDrag:W,defaultViewport:N,translateExtent:F,minZoom:B,maxZoom:D,onSelectionContextMenu:m,preventScrolling:V,noDragClassName:mt,noWheelClassName:Jt,noPanClassName:Mr,disableKeyboardA11y:hi,children:ue.jsxs(bye,{children:[ue.jsx(vye,{edgeTypes:t,onEdgeClick:a,onEdgeDoubleClick:u,onEdgeUpdate:Me,onlyRenderVisibleElements:G,onEdgeContextMenu:Ee,onEdgeMouseEnter:lt,onEdgeMouseMove:_e,onEdgeMouseLeave:jt,onEdgeUpdateStart:Bt,onEdgeUpdateEnd:it,edgeUpdaterRadius:Wn,defaultMarkerColor:j,noPanClassName:Mr,elevateEdgesOnSelect:!!yr,disableKeyboardA11y:hi,rfId:qn,children:ue.jsx(Cye,{style:b,type:_,component:y,containerStyle:S})}),ue.jsx("div",{className:"react-flow__edgelabel-renderer"}),ue.jsx(aye,{nodeTypes:e,onNodeClick:s,onNodeDoubleClick:l,onNodeMouseEnter:d,onNodeMouseMove:f,onNodeMouseLeave:p,onNodeContextMenu:g,selectNodesOnDrag:A,onlyRenderVisibleElements:G,noPanClassName:Mr,noDragClassName:mt,disableKeyboardA11y:hi,nodeOrigin:wn,nodeExtent:on,rfId:qn})]})}));BB.displayName="GraphView";var Tye=L.memo(BB);const K3=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],il={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:K3,nodeExtent:K3,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:sc.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:Jge,isValidConnection:void 0},Eye=()=>dfe((e,t)=>({...il,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:Sx(n,r,i,o)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:r={}}=t();e({edges:n.map(i=>({...r,...i}))})},setDefaultNodesAndEdges:(n,r)=>{const i=typeof n<"u",o=typeof r<"u",s=i?Sx(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:s,edges:o?r:[],hasDefaultNodes:i,hasDefaultEdges:o})},updateNodeDimensions:n=>{const{onNodesChange:r,nodeInternals:i,fitViewOnInit:o,fitViewOnInitDone:s,fitViewOnInitOptions:a,domNode:l,nodeOrigin:u}=t(),d=l==null?void 0:l.querySelector(".react-flow__viewport");if(!d)return;const f=window.getComputedStyle(d),{m22:p}=new window.DOMMatrixReadOnly(f.transform),g=n.reduce((v,x)=>{const _=i.get(x.id);if(_){const b=WT(x.nodeElement);!!(b.width&&b.height&&(_.width!==b.width||_.height!==b.height||x.forceUpdate))&&(i.set(_.id,{..._,[nr]:{..._[nr],handleBounds:{source:qR(".source",x.nodeElement,p,u),target:qR(".target",x.nodeElement,p,u)}},...b}),v.push({id:_.id,type:"dimensions",dimensions:b}))}return v},[]);PB(i,u);const m=s||o&&!s&&RB(t,{initial:!0,...a});e({nodeInternals:new Map(i),fitViewOnInitDone:m}),(g==null?void 0:g.length)>0&&(r==null||r(g))},updateNodePositions:(n,r=!0,i=!1)=>{const{triggerNodeChanges:o}=t(),s=n.map(a=>{const l={id:a.id,type:"position",dragging:i};return r&&(l.positionAbsolute=a.positionAbsolute,l.position=a.position),l});o(s)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:i,hasDefaultNodes:o,nodeOrigin:s,getNodes:a,elevateNodesOnSelect:l}=t();if(n!=null&&n.length){if(o){const u=IB(n,a()),d=Sx(u,i,s,l);e({nodeInternals:d})}r==null||r(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>dl(l,!0)):(s=Ld(o(),n),a=Ld(i,[])),P0({changedNodes:s,changedEdges:a,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>dl(l,!0)):(s=Ld(i,n),a=Ld(o(),[])),P0({changedNodes:a,changedEdges:s,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:i,getNodes:o}=t(),s=n||o(),a=r||i,l=s.map(d=>(d.selected=!1,dl(d.id,!1))),u=a.map(d=>dl(d.id,!1));P0({changedNodes:l,changedEdges:u,get:t,set:e})},setMinZoom:n=>{const{d3Zoom:r,maxZoom:i}=t();r==null||r.scaleExtent([n,i]),e({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:r,minZoom:i}=t();r==null||r.scaleExtent([i,n]),e({maxZoom:n})},setTranslateExtent:n=>{var r;(r=t().d3Zoom)==null||r.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:r}=t(),o=r().filter(a=>a.selected).map(a=>dl(a.id,!1)),s=n.filter(a=>a.selected).map(a=>dl(a.id,!1));P0({changedNodes:o,changedEdges:s,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(i=>{i.positionAbsolute=qT(i.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:n=>{const{transform:r,width:i,height:o,d3Zoom:s,d3Selection:a,translateExtent:l}=t();if(!s||!a||!n.x&&!n.y)return!1;const u=kl.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),d=[[0,0],[i,o]],f=s==null?void 0:s.constrain()(u,d,l);return s.transform(a,f),r[0]!==f.x||r[1]!==f.y||r[2]!==f.k},cancelConnection:()=>e({connectionNodeId:il.connectionNodeId,connectionHandleId:il.connectionHandleId,connectionHandleType:il.connectionHandleType,connectionStatus:il.connectionStatus,connectionStartHandle:il.connectionStartHandle,connectionEndHandle:il.connectionEndHandle}),reset:()=>e({...il})})),UB=({children:e})=>{const t=L.useRef(null);return t.current||(t.current=Eye()),ue.jsx(Wge,{value:t.current,children:e})};UB.displayName="ReactFlowProvider";const zB=({children:e})=>L.useContext(Ib)?ue.jsx(ue.Fragment,{children:e}):ue.jsx(UB,{children:e});zB.displayName="ReactFlowWrapper";function JR(e,t){return L.useRef(null),L.useMemo(()=>t(e),[e])}const Aye={input:yB,default:W3,output:_B,group:JT},Pye={default:U1,straight:YT,step:XT,smoothstep:Mb,simplebezier:KT},Rye=[0,0],Oye=[15,15],kye={x:0,y:0,zoom:1},Iye={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},Mye=L.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=Aye,edgeTypes:s=Pye,onNodeClick:a,onEdgeClick:l,onInit:u,onMove:d,onMoveStart:f,onMoveEnd:p,onConnect:g,onConnectStart:m,onConnectEnd:v,onClickConnectStart:x,onClickConnectEnd:_,onNodeMouseEnter:b,onNodeMouseMove:y,onNodeMouseLeave:S,onNodeContextMenu:C,onNodeDoubleClick:T,onNodeDragStart:E,onNodeDrag:P,onNodeDragStop:k,onNodesDelete:O,onEdgesDelete:M,onSelectionChange:G,onSelectionDragStart:U,onSelectionDrag:A,onSelectionDragStop:N,onSelectionContextMenu:F,onSelectionStart:B,onSelectionEnd:D,connectionMode:V=sc.Strict,connectionLineType:j=yl.Bezier,connectionLineStyle:q,connectionLineComponent:Z,connectionLineContainerStyle:ee,deleteKeyCode:ie="Backspace",selectionKeyCode:se="Shift",selectionOnDrag:le=!1,selectionMode:W=Og.Full,panActivationKeyCode:ne="Space",multiSelectionKeyCode:fe="Meta",zoomActivationKeyCode:pe="Meta",snapToGrid:ve=!1,snapGrid:ye=Oye,onlyRenderVisibleElements:We=!1,selectNodesOnDrag:Me=!0,nodesDraggable:Ee,nodesConnectable:lt,nodesFocusable:_e,nodeOrigin:jt=Rye,edgesFocusable:Wn,edgesUpdatable:Bt,elementsSelectable:it,defaultViewport:mt=kye,minZoom:Jt=.5,maxZoom:Mr=2,translateExtent:yr=K3,preventScrolling:hi=!0,nodeExtent:wn,defaultMarkerColor:on="#b1b1b7",zoomOnScroll:qn=!0,zoomOnPinch:sn=!0,panOnScroll:Gt=!1,panOnScrollSpeed:vr=.5,panOnScrollMode:Nr=nf.Free,zoomOnDoubleClick:Xr=!0,panOnDrag:Ii=!0,onPaneClick:An,onPaneMouseEnter:Yr,onPaneMouseMove:Vs,onPaneMouseLeave:Ji,onPaneScroll:js,onPaneContextMenu:Xt,children:kt,onEdgeUpdate:Kn,onEdgeContextMenu:$n,onEdgeDoubleClick:or,onEdgeMouseEnter:_r,onEdgeMouseMove:br,onEdgeMouseLeave:eo,onEdgeUpdateStart:Sr,onEdgeUpdateEnd:Xn,edgeUpdaterRadius:Mi=10,onNodesChange:os,onEdgesChange:to,noDragClassName:Va="nodrag",noWheelClassName:Ao="nowheel",noPanClassName:wr="nopan",fitView:Gs=!1,fitViewOptions:Zf,connectOnClick:Jf=!0,attributionPosition:eh,proOptions:th,defaultEdgeOptions:Po,elevateNodesOnSelect:nh=!0,elevateEdgesOnSelect:rh=!1,disableKeyboardA11y:kc=!1,autoPanOnConnect:ih=!0,autoPanOnNodeDrag:oh=!0,connectionRadius:sh=20,isValidConnection:ss,onError:ah,style:Ro,id:ja,...lh},Ga)=>{const cu=JR(o,$me),Ic=JR(s,kme),Ha=ja||"1";return ue.jsx("div",{...lh,style:{...Ro,...Iye},ref:Ga,className:Eo(["react-flow",i]),"data-testid":"rf__wrapper",id:ja,children:ue.jsxs(zB,{children:[ue.jsx(Tye,{onInit:u,onMove:d,onMoveStart:f,onMoveEnd:p,onNodeClick:a,onEdgeClick:l,onNodeMouseEnter:b,onNodeMouseMove:y,onNodeMouseLeave:S,onNodeContextMenu:C,onNodeDoubleClick:T,nodeTypes:cu,edgeTypes:Ic,connectionLineType:j,connectionLineStyle:q,connectionLineComponent:Z,connectionLineContainerStyle:ee,selectionKeyCode:se,selectionOnDrag:le,selectionMode:W,deleteKeyCode:ie,multiSelectionKeyCode:fe,panActivationKeyCode:ne,zoomActivationKeyCode:pe,onlyRenderVisibleElements:We,selectNodesOnDrag:Me,defaultViewport:mt,translateExtent:yr,minZoom:Jt,maxZoom:Mr,preventScrolling:hi,zoomOnScroll:qn,zoomOnPinch:sn,zoomOnDoubleClick:Xr,panOnScroll:Gt,panOnScrollSpeed:vr,panOnScrollMode:Nr,panOnDrag:Ii,onPaneClick:An,onPaneMouseEnter:Yr,onPaneMouseMove:Vs,onPaneMouseLeave:Ji,onPaneScroll:js,onPaneContextMenu:Xt,onSelectionContextMenu:F,onSelectionStart:B,onSelectionEnd:D,onEdgeUpdate:Kn,onEdgeContextMenu:$n,onEdgeDoubleClick:or,onEdgeMouseEnter:_r,onEdgeMouseMove:br,onEdgeMouseLeave:eo,onEdgeUpdateStart:Sr,onEdgeUpdateEnd:Xn,edgeUpdaterRadius:Mi,defaultMarkerColor:on,noDragClassName:Va,noWheelClassName:Ao,noPanClassName:wr,elevateEdgesOnSelect:rh,rfId:Ha,disableKeyboardA11y:kc,nodeOrigin:jt,nodeExtent:wn}),ue.jsx(wme,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:g,onConnectStart:m,onConnectEnd:v,onClickConnectStart:x,onClickConnectEnd:_,nodesDraggable:Ee,nodesConnectable:lt,nodesFocusable:_e,edgesFocusable:Wn,edgesUpdatable:Bt,elementsSelectable:it,elevateNodesOnSelect:nh,minZoom:Jt,maxZoom:Mr,nodeExtent:wn,onNodesChange:os,onEdgesChange:to,snapToGrid:ve,snapGrid:ye,connectionMode:V,translateExtent:yr,connectOnClick:Jf,defaultEdgeOptions:Po,fitView:Gs,fitViewOptions:Zf,onNodesDelete:O,onEdgesDelete:M,onNodeDragStart:E,onNodeDrag:P,onNodeDragStop:k,onSelectionDrag:A,onSelectionDragStart:U,onSelectionDragStop:N,noPanClassName:wr,nodeOrigin:jt,rfId:Ha,autoPanOnConnect:ih,autoPanOnNodeDrag:oh,onError:ah,connectionRadius:sh,isValidConnection:ss}),ue.jsx(bme,{onSelectionChange:G}),kt,ue.jsx(Xge,{proOptions:th,position:eh}),ue.jsx(Ame,{rfId:Ha,disableKeyboardA11y:kc})]})})});Mye.displayName="ReactFlow";var VB={},Nb={},Lb={};Object.defineProperty(Lb,"__esModule",{value:!0});Lb.createLogMethods=void 0;var Nye=function(){return{debug:console.debug.bind(console),error:console.error.bind(console),fatal:console.error.bind(console),info:console.info.bind(console),trace:console.debug.bind(console),warn:console.warn.bind(console)}};Lb.createLogMethods=Nye;var tE={},Db={};Object.defineProperty(Db,"__esModule",{value:!0});Db.boolean=void 0;const Lye=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1"].includes(e.trim().toLowerCase());case"[object Number]":return e.valueOf()===1;case"[object Boolean]":return e.valueOf();default:return!1}};Db.boolean=Lye;var $b={};Object.defineProperty($b,"__esModule",{value:!0});$b.isBooleanable=void 0;const Dye=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1","false","f","no","n","off","0"].includes(e.trim().toLowerCase());case"[object Number]":return[0,1].includes(e.valueOf());case"[object Boolean]":return!0;default:return!1}};$b.isBooleanable=Dye;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isBooleanable=e.boolean=void 0;const t=Db;Object.defineProperty(e,"boolean",{enumerable:!0,get:function(){return t.boolean}});const n=$b;Object.defineProperty(e,"isBooleanable",{enumerable:!0,get:function(){return n.isBooleanable}})})(tE);var eO=Object.prototype.toString,jB=function(t){var n=eO.call(t),r=n==="[object Arguments]";return r||(r=n!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&eO.call(t.callee)==="[object Function]"),r},Cx,tO;function $ye(){if(tO)return Cx;tO=1;var e;if(!Object.keys){var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=jB,i=Object.prototype.propertyIsEnumerable,o=!i.call({toString:null},"toString"),s=i.call(function(){},"prototype"),a=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],l=function(p){var g=p.constructor;return g&&g.prototype===p},u={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},d=function(){if(typeof window>"u")return!1;for(var p in window)try{if(!u["$"+p]&&t.call(window,p)&&window[p]!==null&&typeof window[p]=="object")try{l(window[p])}catch{return!0}}catch{return!0}return!1}(),f=function(p){if(typeof window>"u"||!d)return l(p);try{return l(p)}catch{return!1}};e=function(g){var m=g!==null&&typeof g=="object",v=n.call(g)==="[object Function]",x=r(g),_=m&&n.call(g)==="[object String]",b=[];if(!m&&!v&&!x)throw new TypeError("Object.keys called on a non-object");var y=s&&v;if(_&&g.length>0&&!t.call(g,0))for(var S=0;S0)for(var C=0;C"u"||!ur?dt:ur(Uint8Array),Ku={"%AggregateError%":typeof AggregateError>"u"?dt:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?dt:ArrayBuffer,"%ArrayIteratorPrototype%":ad&&ur?ur([][Symbol.iterator]()):dt,"%AsyncFromSyncIteratorPrototype%":dt,"%AsyncFunction%":bd,"%AsyncGenerator%":bd,"%AsyncGeneratorFunction%":bd,"%AsyncIteratorPrototype%":bd,"%Atomics%":typeof Atomics>"u"?dt:Atomics,"%BigInt%":typeof BigInt>"u"?dt:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?dt:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?dt:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?dt:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?dt:Float32Array,"%Float64Array%":typeof Float64Array>"u"?dt:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?dt:FinalizationRegistry,"%Function%":HB,"%GeneratorFunction%":bd,"%Int8Array%":typeof Int8Array>"u"?dt:Int8Array,"%Int16Array%":typeof Int16Array>"u"?dt:Int16Array,"%Int32Array%":typeof Int32Array>"u"?dt:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":ad&&ur?ur(ur([][Symbol.iterator]())):dt,"%JSON%":typeof JSON=="object"?JSON:dt,"%Map%":typeof Map>"u"?dt:Map,"%MapIteratorPrototype%":typeof Map>"u"||!ad||!ur?dt:ur(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?dt:Promise,"%Proxy%":typeof Proxy>"u"?dt:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?dt:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?dt:Set,"%SetIteratorPrototype%":typeof Set>"u"||!ad||!ur?dt:ur(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?dt:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":ad&&ur?ur(""[Symbol.iterator]()):dt,"%Symbol%":ad?Symbol:dt,"%SyntaxError%":Pf,"%ThrowTypeError%":Jye,"%TypedArray%":t0e,"%TypeError%":sf,"%Uint8Array%":typeof Uint8Array>"u"?dt:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?dt:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?dt:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?dt:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?dt:WeakMap,"%WeakRef%":typeof WeakRef>"u"?dt:WeakRef,"%WeakSet%":typeof WeakSet>"u"?dt:WeakSet};if(ur)try{null.error}catch(e){var n0e=ur(ur(e));Ku["%Error.prototype%"]=n0e}var r0e=function e(t){var n;if(t==="%AsyncFunction%")n=Ex("async function () {}");else if(t==="%GeneratorFunction%")n=Ex("function* () {}");else if(t==="%AsyncGeneratorFunction%")n=Ex("async function* () {}");else if(t==="%AsyncGenerator%"){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if(t==="%AsyncIteratorPrototype%"){var i=e("%AsyncGenerator%");i&&ur&&(n=ur(i.prototype))}return Ku[t]=n,n},sO={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},bm=GB,V1=Zye,i0e=bm.call(Function.call,Array.prototype.concat),o0e=bm.call(Function.apply,Array.prototype.splice),aO=bm.call(Function.call,String.prototype.replace),j1=bm.call(Function.call,String.prototype.slice),s0e=bm.call(Function.call,RegExp.prototype.exec),a0e=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,l0e=/\\(\\)?/g,u0e=function(t){var n=j1(t,0,1),r=j1(t,-1);if(n==="%"&&r!=="%")throw new Pf("invalid intrinsic syntax, expected closing `%`");if(r==="%"&&n!=="%")throw new Pf("invalid intrinsic syntax, expected opening `%`");var i=[];return aO(t,a0e,function(o,s,a,l){i[i.length]=a?aO(l,l0e,"$1"):s||o}),i},c0e=function(t,n){var r=t,i;if(V1(sO,r)&&(i=sO[r],r="%"+i[0]+"%"),V1(Ku,r)){var o=Ku[r];if(o===bd&&(o=r0e(r)),typeof o>"u"&&!n)throw new sf("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:r,value:o}}throw new Pf("intrinsic "+t+" does not exist!")},d0e=function(t,n){if(typeof t!="string"||t.length===0)throw new sf("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof n!="boolean")throw new sf('"allowMissing" argument must be a boolean');if(s0e(/^%?[^%]*%?$/,t)===null)throw new Pf("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=u0e(t),i=r.length>0?r[0]:"",o=c0e("%"+i+"%",n),s=o.name,a=o.value,l=!1,u=o.alias;u&&(i=u[0],o0e(r,i0e([0,1],u)));for(var d=1,f=!0;d=r.length){var v=qu(a,p);f=!!v,f&&"get"in v&&!("originalValue"in v.get)?a=v.get:a=a[p]}else f=V1(a,p),a=a[p];f&&!l&&(Ku[s]=a)}}return a},f0e=d0e,X3=f0e("%Object.defineProperty%",!0),Y3=function(){if(X3)try{return X3({},"a",{value:1}),!0}catch{return!1}return!1};Y3.hasArrayLengthDefineBug=function(){if(!Y3())return null;try{return X3([],"length",{value:1}).length!==1}catch{return!0}};var h0e=Y3,p0e=Uye,g0e=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",m0e=Object.prototype.toString,y0e=Array.prototype.concat,WB=Object.defineProperty,v0e=function(e){return typeof e=="function"&&m0e.call(e)==="[object Function]"},_0e=h0e(),qB=WB&&_0e,b0e=function(e,t,n,r){if(t in e){if(r===!0){if(e[t]===n)return}else if(!v0e(r)||!r())return}qB?WB(e,t,{configurable:!0,enumerable:!1,value:n,writable:!0}):e[t]=n},KB=function(e,t){var n=arguments.length>2?arguments[2]:{},r=p0e(t);g0e&&(r=y0e.call(r,Object.getOwnPropertySymbols(t)));for(var i=0;i":return t>e;case":<":return t=":return t>=e;case":<=":return t<=e;default:throw new Error("Unimplemented comparison operator: ".concat(n))}};zb.testComparisonRange=z0e;var Vb={};Object.defineProperty(Vb,"__esModule",{value:!0});Vb.testRange=void 0;var V0e=function(e,t){return typeof e=="number"?!(et.max||e===t.max&&!t.maxInclusive):!1};Vb.testRange=V0e;(function(e){var t=He&&He.__assign||function(){return t=Object.assign||function(d){for(var f,p=1,g=arguments.length;p0?{path:l.path,query:new RegExp("("+l.keywords.map(function(u){return(0,H0e.escapeRegexString)(u.trim())}).join("|")+")")}:{path:l.path}})};jb.highlight=q0e;var Gb={},tU={exports:{}};(function(e){(function(t,n){e.exports?e.exports=n():t.nearley=n()})(He,function(){function t(u,d,f){return this.id=++t.highestId,this.name=u,this.symbols=d,this.postprocess=f,this}t.highestId=0,t.prototype.toString=function(u){var d=typeof u>"u"?this.symbols.map(l).join(" "):this.symbols.slice(0,u).map(l).join(" ")+" ● "+this.symbols.slice(u).map(l).join(" ");return this.name+" → "+d};function n(u,d,f,p){this.rule=u,this.dot=d,this.reference=f,this.data=[],this.wantedBy=p,this.isComplete=this.dot===u.symbols.length}n.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},n.prototype.nextState=function(u){var d=new n(this.rule,this.dot+1,this.reference,this.wantedBy);return d.left=this,d.right=u,d.isComplete&&(d.data=d.build(),d.right=void 0),d},n.prototype.build=function(){var u=[],d=this;do u.push(d.right.data),d=d.left;while(d.left);return u.reverse(),u},n.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))};function r(u,d){this.grammar=u,this.index=d,this.states=[],this.wants={},this.scannable=[],this.completed={}}r.prototype.process=function(u){for(var d=this.states,f=this.wants,p=this.completed,g=0;g{let r=t;for(;r;)r.callback(),r=r.next})},get(){let r=[],i=t;for(;i;)r.push(i),i=i.next;return r},subscribe(r){let i=!0,o=n={callback:r,next:null,prev:n};return o.prev?o.prev.next=o:t=o,function(){!i||t===null||(i=!1,o.next?o.next.prev=o.prev:n=o.prev,o.prev?o.prev.next=o.next:t=o.next)}}}}const nR={notify(){},get:()=>[]};function pde(e,t){let n,r=nR;function i(f){return l(),r.subscribe(f)}function o(){r.notify()}function s(){d.onStateChange&&d.onStateChange()}function a(){return!!n}function l(){n||(n=t?t.addNestedSub(s):e.subscribe(s),r=hde())}function u(){n&&(n(),n=void 0,r.clear(),r=nR)}const d={addNestedSub:i,notifyNestedSubs:o,handleChangeWrapper:s,isSubscribed:a,trySubscribe:l,tryUnsubscribe:u,getListeners:()=>r};return d}const gde=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",mde=gde?L.useLayoutEffect:L.useEffect;function rR(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function P1(e,t){if(rR(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;i{const u=pde(e);return{store:e,subscription:u,getServerState:r?()=>r:void 0,stabilityCheck:i,noopCheck:o}},[e,r,i,o]),a=L.useMemo(()=>e.getState(),[e]);mde(()=>{const{subscription:u}=s;return u.onStateChange=u.notifyNestedSubs,u.trySubscribe(),a!==e.getState()&&u.notifyNestedSubs(),()=>{u.tryUnsubscribe(),u.onStateChange=void 0}},[s,a]);const l=t||Gl;return Lt.createElement(l.Provider,{value:s},n)}function I$(e=Gl){const t=e===Gl?C$:ET(e);return function(){const{store:r}=t();return r}}const M$=I$();function vde(e=Gl){const t=e===Gl?M$:I$(e);return function(){return t().dispatch}}const N$=vde();ede(w$.useSyncExternalStoreWithSelector);Yce(bs.unstable_batchedUpdates);var _de=globalThis&&globalThis.__spreadArray||function(e,t){for(var n=0,r=t.length,i=e.length;n{const r=wg.get(),i=Sg.get(),o=S1.get();return uce({baseUrl:`${r??""}/api/v1`,prepareHeaders:a=>(i&&a.set("Authorization",`Bearer ${i}`),o&&a.set("project-id",o),a)})(e,t,n)},Hl=Nde({baseQuery:Dde,reducerPath:"api",tagTypes:Lde,endpoints:()=>({})}),$de=(e,t)=>{const n=new Date(e),r=new Date(t);return n>r?1:ne==null,jde=e=>encodeURIComponent(e).replace(/[!'()*]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),k3=Symbol("encodeFragmentIdentifier");function Gde(e){switch(e.arrayFormat){case"index":return t=>(n,r)=>{const i=n.length;return r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Fn(t,e),"[",i,"]"].join("")]:[...n,[Fn(t,e),"[",Fn(i,e),"]=",Fn(r,e)].join("")]};case"bracket":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Fn(t,e),"[]"].join("")]:[...n,[Fn(t,e),"[]=",Fn(r,e)].join("")];case"colon-list-separator":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Fn(t,e),":list="].join("")]:[...n,[Fn(t,e),":list=",Fn(r,e)].join("")];case"comma":case"separator":case"bracket-separator":{const t=e.arrayFormat==="bracket-separator"?"[]=":"=";return n=>(r,i)=>i===void 0||e.skipNull&&i===null||e.skipEmptyString&&i===""?r:(i=i===null?"":i,r.length===0?[[Fn(n,e),t,Fn(i,e)].join("")]:[[r,Fn(i,e)].join(e.arrayFormatSeparator)])}default:return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,Fn(t,e)]:[...n,[Fn(t,e),"=",Fn(r,e)].join("")]}}function Hde(e){let t;switch(e.arrayFormat){case"index":return(n,r,i)=>{if(t=/\[(\d*)]$/.exec(n),n=n.replace(/\[\d*]$/,""),!t){i[n]=r;return}i[n]===void 0&&(i[n]={}),i[n][t[1]]=r};case"bracket":return(n,r,i)=>{if(t=/(\[])$/.exec(n),n=n.replace(/\[]$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"colon-list-separator":return(n,r,i)=>{if(t=/(:list)$/.exec(n),n=n.replace(/:list$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"comma":case"separator":return(n,r,i)=>{const o=typeof r=="string"&&r.includes(e.arrayFormatSeparator),s=typeof r=="string"&&!o&&da(r,e).includes(e.arrayFormatSeparator);r=s?da(r,e):r;const a=o||s?r.split(e.arrayFormatSeparator).map(l=>da(l,e)):r===null?r:da(r,e);i[n]=a};case"bracket-separator":return(n,r,i)=>{const o=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!o){i[n]=r&&da(r,e);return}const s=r===null?[]:r.split(e.arrayFormatSeparator).map(a=>da(a,e));if(i[n]===void 0){i[n]=s;return}i[n]=[...i[n],...s]};default:return(n,r,i)=>{if(i[n]===void 0){i[n]=r;return}i[n]=[...[i[n]].flat(),r]}}}function $$(e){if(typeof e!="string"||e.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function Fn(e,t){return t.encode?t.strict?jde(e):encodeURIComponent(e):e}function da(e,t){return t.decode?Ude(e):e}function F$(e){return Array.isArray(e)?e.sort():typeof e=="object"?F$(Object.keys(e)).sort((t,n)=>Number(t)-Number(n)).map(t=>e[t]):e}function B$(e){const t=e.indexOf("#");return t!==-1&&(e=e.slice(0,t)),e}function Wde(e){let t="";const n=e.indexOf("#");return n!==-1&&(t=e.slice(n)),t}function uR(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""?e=Number(e):t.parseBooleans&&e!==null&&(e.toLowerCase()==="true"||e.toLowerCase()==="false")&&(e=e.toLowerCase()==="true"),e}function IT(e){e=B$(e);const t=e.indexOf("?");return t===-1?"":e.slice(t+1)}function MT(e,t){t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...t},$$(t.arrayFormatSeparator);const n=Hde(t),r=Object.create(null);if(typeof e!="string"||(e=e.trim().replace(/^[?#&]/,""),!e))return r;for(const i of e.split("&")){if(i==="")continue;const o=t.decode?i.replace(/\+/g," "):i;let[s,a]=D$(o,"=");s===void 0&&(s=o),a=a===void 0?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?a:da(a,t),n(da(s,t),a,r)}for(const[i,o]of Object.entries(r))if(typeof o=="object"&&o!==null)for(const[s,a]of Object.entries(o))o[s]=uR(a,t);else r[i]=uR(o,t);return t.sort===!1?r:(t.sort===!0?Object.keys(r).sort():Object.keys(r).sort(t.sort)).reduce((i,o)=>{const s=r[o];return s&&typeof s=="object"&&!Array.isArray(s)?i[o]=F$(s):i[o]=s,i},Object.create(null))}function U$(e,t){if(!e)return"";t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t},$$(t.arrayFormatSeparator);const n=s=>t.skipNull&&Vde(e[s])||t.skipEmptyString&&e[s]==="",r=Gde(t),i={};for(const[s,a]of Object.entries(e))n(s)||(i[s]=a);const o=Object.keys(i);return t.sort!==!1&&o.sort(t.sort),o.map(s=>{const a=e[s];return a===void 0?"":a===null?Fn(s,t):Array.isArray(a)?a.length===0&&t.arrayFormat==="bracket-separator"?Fn(s,t)+"[]":a.reduce(r(s),[]).join("&"):Fn(s,t)+"="+Fn(a,t)}).filter(s=>s.length>0).join("&")}function z$(e,t){var i;t={decode:!0,...t};let[n,r]=D$(e,"#");return n===void 0&&(n=e),{url:((i=n==null?void 0:n.split("?"))==null?void 0:i[0])??"",query:MT(IT(e),t),...t&&t.parseFragmentIdentifier&&r?{fragmentIdentifier:da(r,t)}:{}}}function V$(e,t){t={encode:!0,strict:!0,[k3]:!0,...t};const n=B$(e.url).split("?")[0]||"",r=IT(e.url),i={...MT(r,{sort:!1}),...e.query};let o=U$(i,t);o&&(o=`?${o}`);let s=Wde(e.url);if(e.fragmentIdentifier){const a=new URL(n);a.hash=e.fragmentIdentifier,s=t[k3]?a.hash:`#${e.fragmentIdentifier}`}return`${n}${o}${s}`}function j$(e,t,n){n={parseFragmentIdentifier:!0,[k3]:!1,...n};const{url:r,query:i,fragmentIdentifier:o}=z$(e,n);return V$({url:r,query:zde(i,t),fragmentIdentifier:o},n)}function qde(e,t,n){const r=Array.isArray(t)?i=>!t.includes(i):(i,o)=>!t(i,o);return j$(e,r,n)}const fv=Object.freeze(Object.defineProperty({__proto__:null,exclude:qde,extract:IT,parse:MT,parseUrl:z$,pick:j$,stringify:U$,stringifyUrl:V$},Symbol.toStringTag,{value:"Module"})),jh=(e,t)=>{if(!e)return!1;const n=O1.selectAll(e);if(n.length>1){const r=new Date(t.created_at),i=n[n.length-1];if(!i)return!1;const o=new Date(i.created_at);return r>=o}else if([0,1].includes(n.length))return!0;return!1},rl=e=>Vr.includes(e.image_category)?Vr:wl,pn=eu({selectId:e=>e.image_name,sortComparer:(e,t)=>$de(t.updated_at,e.updated_at)}),O1=pn.getSelectors(),Bo=e=>`images/?${fv.stringify(e,{arrayFormat:"none"})}`,Ui=Hl.injectEndpoints({endpoints:e=>({listBoards:e.query({query:t=>({url:"boards/",params:t}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Ke}];return t&&i.push(...t.items.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllBoards:e.query({query:()=>({url:"boards/",params:{all:!0}}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Ke}];return t&&i.push(...t.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllImageNamesForBoard:e.query({query:t=>({url:`boards/${t}/image_names`}),providesTags:(t,n,r)=>[{type:"ImageNameList",id:r}],keepUnusedDataFor:0}),getBoardImagesTotal:e.query({query:t=>({url:Bo({board_id:t??"none",categories:Vr,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardImagesTotal",id:r??"none"}],transformResponse:t=>t.total}),getBoardAssetsTotal:e.query({query:t=>({url:Bo({board_id:t??"none",categories:wl,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardAssetsTotal",id:r??"none"}],transformResponse:t=>t.total}),createBoard:e.mutation({query:t=>({url:"boards/",method:"POST",params:{board_name:t}}),invalidatesTags:[{type:"Board",id:Ke}]}),updateBoard:e.mutation({query:({board_id:t,changes:n})=>({url:`boards/${t}`,method:"PATCH",body:n}),invalidatesTags:(t,n,r)=>[{type:"Board",id:r.board_id}]})})}),{useListBoardsQuery:Dke,useListAllBoardsQuery:$ke,useGetBoardImagesTotalQuery:Fke,useGetBoardAssetsTotalQuery:Bke,useCreateBoardMutation:Uke,useUpdateBoardMutation:zke,useListAllImageNamesForBoardQuery:Vke}=Ui,Se=Hl.injectEndpoints({endpoints:e=>({listImages:e.query({query:t=>({url:Bo(t),method:"GET"}),providesTags:(t,n,{board_id:r,categories:i})=>[{type:"ImageList",id:Bo({board_id:r,categories:i})}],serializeQueryArgs:({queryArgs:t})=>{const{board_id:n,categories:r}=t;return Bo({board_id:n,categories:r})},transformResponse(t){const{items:n}=t;return pn.addMany(pn.getInitialState(),n)},merge:(t,n)=>{pn.addMany(t,O1.selectAll(n))},forceRefetch({currentArg:t,previousArg:n}){return(t==null?void 0:t.offset)!==(n==null?void 0:n.offset)},async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){try{const{data:i}=await r;O1.selectAll(i).forEach(o=>{n(Se.util.upsertQueryData("getImageDTO",o.image_name,o))})}catch{}},keepUnusedDataFor:86400}),getIntermediatesCount:e.query({query:()=>({url:Bo({is_intermediate:!0})}),providesTags:["IntermediatesCount"],transformResponse:t=>t.total}),getImageDTO:e.query({query:t=>({url:`images/i/${t}`}),providesTags:(t,n,r)=>[{type:"Image",id:r}],keepUnusedDataFor:86400}),getImageMetadata:e.query({query:t=>({url:`images/i/${t}/metadata`}),providesTags:(t,n,r)=>[{type:"ImageMetadata",id:r}],keepUnusedDataFor:86400}),clearIntermediates:e.mutation({query:()=>({url:"images/clear-intermediates",method:"POST"}),invalidatesTags:["IntermediatesCount"]}),deleteImage:e.mutation({query:({image_name:t})=>({url:`images/i/${t}`,method:"DELETE"}),invalidatesTags:(t,n,{board_id:r})=>[{type:"BoardImagesTotal",id:r??"none"},{type:"BoardAssetsTotal",id:r??"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){const{image_name:i,board_id:o}=t,s={board_id:o??"none",categories:rl(t)},a=n(Se.util.updateQueryData("listImages",s,l=>{pn.removeOne(l,i)}));try{await r}catch{a.undo()}}}),deleteImages:e.mutation({query:({imageDTOs:t})=>({url:"images/delete",method:"POST",body:{image_names:t.map(r=>r.image_name)}}),invalidatesTags:(t,n,{imageDTOs:r})=>{var o;const i=(o=r[0])==null?void 0:o.board_id;return[{type:"BoardImagesTotal",id:i??"none"},{type:"BoardAssetsTotal",id:i??"none"}]},async onQueryStarted({imageDTOs:t},{dispatch:n,queryFulfilled:r}){try{const{data:i}=await r,o=Yue.keyBy(t,"image_name");i.deleted_images.forEach(s=>{const a=o[s];if(a){const l={board_id:a.board_id??"none",categories:rl(a)};n(Se.util.updateQueryData("listImages",l,u=>{pn.removeOne(u,s)}))}})}catch{}}}),changeImageIsIntermediate:e.mutation({query:({imageDTO:t,is_intermediate:n})=>({url:`images/i/${t.image_name}`,method:"PATCH",body:{is_intermediate:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,is_intermediate:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(Se.util.updateQueryData("getImageDTO",t.image_name,l=>{Object.assign(l,{is_intermediate:n})})));const a=rl(t);if(n)s.push(r(Se.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:a},l=>{pn.removeOne(l,t.image_name)})));else{const l={board_id:t.board_id??"none",categories:a},u=Se.endpoints.listImages.select(l)(o()),{data:d}=Vr.includes(t.image_category)?Ui.endpoints.getBoardImagesTotal.select(t.board_id??"none")(o()):Ui.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(o()),f=u.data&&u.data.ids.length>=(d??0),p=jh(u.data,t);(f||p)&&s.push(r(Se.util.updateQueryData("listImages",l,g=>{pn.upsertOne(g,t)})))}try{await i}catch{s.forEach(l=>l.undo())}}}),changeImageSessionId:e.mutation({query:({imageDTO:t,session_id:n})=>({url:`images/i/${t.image_name}`,method:"PATCH",body:{session_id:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,session_id:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(Se.util.updateQueryData("getImageDTO",t.image_name,a=>{Object.assign(a,{session_id:n})})));try{await i}catch{s.forEach(a=>a.undo())}}}),uploadImage:e.mutation({query:({file:t,image_category:n,is_intermediate:r,session_id:i,board_id:o,crop_visible:s})=>{const a=new FormData;return a.append("file",t),{url:"images/upload",method:"POST",body:a,params:{image_category:n,is_intermediate:r,session_id:i,board_id:o==="none"?void 0:o,crop_visible:s}}},async onQueryStarted({file:t,image_category:n,is_intermediate:r,postUploadAction:i,session_id:o,board_id:s},{dispatch:a,queryFulfilled:l}){try{const{data:u}=await l;if(u.is_intermediate)return;a(Se.util.upsertQueryData("getImageDTO",u.image_name,u));const d=rl(u);a(Se.util.updateQueryData("listImages",{board_id:u.board_id??"none",categories:d},f=>{pn.addOne(f,u)})),a(Se.util.invalidateTags([{type:"BoardImagesTotal",id:u.board_id??"none"},{type:"BoardAssetsTotal",id:u.board_id??"none"}]))}catch{}}}),deleteBoard:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE"}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Ke},{type:"ImageList",id:Bo({board_id:"none",categories:Vr})},{type:"ImageList",id:Bo({board_id:"none",categories:wl})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_board_images:s}=o;s.forEach(u=>{n(Se.util.updateQueryData("getImageDTO",u,d=>{d.board_id=void 0}))});const a=[{categories:Vr},{categories:wl}],l=s.map(u=>({id:u,changes:{board_id:void 0}}));a.forEach(u=>{n(Se.util.updateQueryData("listImages",u,d=>{pn.updateMany(d,l)}))})}catch{}}}),deleteBoardAndImages:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE",params:{include_images:!0}}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Ke},{type:"ImageList",id:Bo({board_id:"none",categories:Vr})},{type:"ImageList",id:Bo({board_id:"none",categories:wl})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_images:s}=o;[{categories:Vr},{categories:wl}].forEach(l=>{n(Se.util.updateQueryData("listImages",l,u=>{pn.removeMany(u,s)}))})}catch{}}}),addImageToBoard:e.mutation({query:({board_id:t,imageDTO:n})=>{const{image_name:r}=n;return{url:"board_images/",method:"POST",body:{board_id:t,image_name:r}}},invalidatesTags:(t,n,{board_id:r,imageDTO:i})=>[{type:"Board",id:r},{type:"BoardImagesTotal",id:r},{type:"BoardAssetsTotal",id:r},{type:"BoardImagesTotal",id:i.board_id??"none"},{type:"BoardAssetsTotal",id:i.board_id??"none"}],async onQueryStarted({board_id:t,imageDTO:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[],a=rl(n);if(s.push(r(Se.util.updateQueryData("getImageDTO",n.image_name,l=>{l.board_id=t}))),!n.is_intermediate){s.push(r(Se.util.updateQueryData("listImages",{board_id:n.board_id??"none",categories:a},g=>{pn.removeOne(g,n.image_name)})));const l={board_id:t??"none",categories:a},u=Se.endpoints.listImages.select(l)(o()),{data:d}=Vr.includes(n.image_category)?Ui.endpoints.getBoardImagesTotal.select(n.board_id??"none")(o()):Ui.endpoints.getBoardAssetsTotal.select(n.board_id??"none")(o()),f=u.data&&u.data.ids.length>=(d??0),p=jh(u.data,n);(f||p)&&s.push(r(Se.util.updateQueryData("listImages",l,g=>{pn.addOne(g,n)})))}try{await i}catch{s.forEach(l=>l.undo())}}}),removeImageFromBoard:e.mutation({query:({imageDTO:t})=>{const{image_name:n}=t;return{url:"board_images/",method:"DELETE",body:{image_name:n}}},invalidatesTags:(t,n,{imageDTO:r})=>{const{board_id:i}=r;return[{type:"Board",id:i??"none"},{type:"BoardImagesTotal",id:i??"none"},{type:"BoardAssetsTotal",id:i??"none"},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}]},async onQueryStarted({imageDTO:t},{dispatch:n,queryFulfilled:r,getState:i}){const o=rl(t),s=[];s.push(n(Se.util.updateQueryData("getImageDTO",t.image_name,p=>{p.board_id=void 0}))),s.push(n(Se.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:o},p=>{pn.removeOne(p,t.image_name)})));const a={board_id:"none",categories:o},l=Se.endpoints.listImages.select(a)(i()),{data:u}=Vr.includes(t.image_category)?Ui.endpoints.getBoardImagesTotal.select(t.board_id??"none")(i()):Ui.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(i()),d=l.data&&l.data.ids.length>=(u??0),f=jh(l.data,t);(d||f)&&s.push(n(Se.util.updateQueryData("listImages",a,p=>{pn.upsertOne(p,t)})));try{await r}catch{s.forEach(p=>p.undo())}}}),addImagesToBoard:e.mutation({query:({board_id:t,imageDTOs:n})=>({url:"board_images/batch",method:"POST",body:{image_names:n.map(r=>r.image_name),board_id:t}}),invalidatesTags:(t,n,{imageDTOs:r,board_id:i})=>{var s;const o=(s=r[0])==null?void 0:s.board_id;return[{type:"Board",id:i??"none"},{type:"BoardImagesTotal",id:i??"none"},{type:"BoardAssetsTotal",id:i??"none"},{type:"BoardImagesTotal",id:o??"none"},{type:"BoardAssetsTotal",id:o??"none"},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}]},async onQueryStarted({board_id:t,imageDTOs:n},{dispatch:r,queryFulfilled:i,getState:o}){try{const{data:s}=await i,{added_image_names:a}=s;a.forEach(l=>{r(Se.util.updateQueryData("getImageDTO",l,_=>{_.board_id=t}));const u=n.find(_=>_.image_name===l);if(!u)return;const d=rl(u),f=u.board_id;r(Se.util.updateQueryData("listImages",{board_id:f??"none",categories:d},_=>{pn.removeOne(_,u.image_name)}));const p={board_id:t,categories:d},g=Se.endpoints.listImages.select(p)(o()),{data:m}=Vr.includes(u.image_category)?Ui.endpoints.getBoardImagesTotal.select(t??"none")(o()):Ui.endpoints.getBoardAssetsTotal.select(t??"none")(o()),v=g.data&&g.data.ids.length>=(m??0),x=(m||0)>=F9?jh(g.data,u):!0;(v||x)&&r(Se.util.updateQueryData("listImages",p,_=>{pn.upsertOne(_,{...u,board_id:t})}))})}catch{}}}),removeImagesFromBoard:e.mutation({query:({imageDTOs:t})=>({url:"board_images/batch/delete",method:"POST",body:{image_names:t.map(n=>n.image_name)}}),invalidatesTags:(t,n,{imageDTOs:r})=>{const i=[],o=[{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}];return t==null||t.removed_image_names.forEach(s=>{var l;const a=(l=r.find(u=>u.image_name===s))==null?void 0:l.board_id;!a||i.includes(a)||(o.push({type:"Board",id:a}),o.push({type:"BoardImagesTotal",id:a}),o.push({type:"BoardAssetsTotal",id:a}))}),o},async onQueryStarted({imageDTOs:t},{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{removed_image_names:s}=o;s.forEach(a=>{n(Se.util.updateQueryData("getImageDTO",a,v=>{v.board_id=void 0}));const l=t.find(v=>v.image_name===a);if(!l)return;const u=rl(l);n(Se.util.updateQueryData("listImages",{board_id:l.board_id??"none",categories:u},v=>{pn.removeOne(v,l.image_name)}));const d={board_id:"none",categories:u},f=Se.endpoints.listImages.select(d)(i()),{data:p}=Vr.includes(l.image_category)?Ui.endpoints.getBoardImagesTotal.select(l.board_id??"none")(i()):Ui.endpoints.getBoardAssetsTotal.select(l.board_id??"none")(i()),g=f.data&&f.data.ids.length>=(p??0),m=(p||0)>=F9?jh(f.data,l):!0;(g||m)&&n(Se.util.updateQueryData("listImages",d,v=>{pn.upsertOne(v,{...l,board_id:"none"})}))})}catch{}}})})}),{useGetIntermediatesCountQuery:jke,useListImagesQuery:Gke,useLazyListImagesQuery:Hke,useGetImageDTOQuery:Wke,useGetImageMetadataQuery:qke,useDeleteImageMutation:Kke,useDeleteImagesMutation:Xke,useUploadImageMutation:Yke,useClearIntermediatesMutation:Qke,useAddImagesToBoardMutation:Zke,useRemoveImagesFromBoardMutation:Jke,useAddImageToBoardMutation:eIe,useRemoveImageFromBoardMutation:tIe,useChangeImageIsIntermediateMutation:nIe,useChangeImageSessionIdMutation:rIe,useDeleteBoardAndImagesMutation:iIe,useDeleteBoardMutation:oIe}=Se,G$=Re("socket/socketConnected"),H$=Re("socket/appSocketConnected"),W$=Re("socket/socketDisconnected"),q$=Re("socket/appSocketDisconnected"),NT=Re("socket/socketSubscribed"),K$=Re("socket/appSocketSubscribed"),X$=Re("socket/socketUnsubscribed"),Y$=Re("socket/appSocketUnsubscribed"),Q$=Re("socket/socketInvocationStarted"),Z$=Re("socket/appSocketInvocationStarted"),LT=Re("socket/socketInvocationComplete"),J$=Re("socket/appSocketInvocationComplete"),eF=Re("socket/socketInvocationError"),DT=Re("socket/appSocketInvocationError"),tF=Re("socket/socketGraphExecutionStateComplete"),nF=Re("socket/appSocketGraphExecutionStateComplete"),rF=Re("socket/socketGeneratorProgress"),iF=Re("socket/appSocketGeneratorProgress"),oF=Re("socket/socketModelLoadStarted"),Kde=Re("socket/appSocketModelLoadStarted"),sF=Re("socket/socketModelLoadCompleted"),Xde=Re("socket/appSocketModelLoadCompleted"),aF=Re("socket/socketSessionRetrievalError"),lF=Re("socket/appSocketSessionRetrievalError"),uF=Re("socket/socketInvocationRetrievalError"),cF=Re("socket/appSocketInvocationRetrievalError"),$T=Re("controlNet/imageProcessed"),_d={none:{type:"none",label:"none",description:"",default:{type:"none"}},canny_image_processor:{type:"canny_image_processor",label:"Canny",description:"",default:{id:"canny_image_processor",type:"canny_image_processor",low_threshold:100,high_threshold:200}},content_shuffle_image_processor:{type:"content_shuffle_image_processor",label:"Content Shuffle",description:"",default:{id:"content_shuffle_image_processor",type:"content_shuffle_image_processor",detect_resolution:512,image_resolution:512,h:512,w:512,f:256}},hed_image_processor:{type:"hed_image_processor",label:"HED",description:"",default:{id:"hed_image_processor",type:"hed_image_processor",detect_resolution:512,image_resolution:512,scribble:!1}},lineart_anime_image_processor:{type:"lineart_anime_image_processor",label:"Lineart Anime",description:"",default:{id:"lineart_anime_image_processor",type:"lineart_anime_image_processor",detect_resolution:512,image_resolution:512}},lineart_image_processor:{type:"lineart_image_processor",label:"Lineart",description:"",default:{id:"lineart_image_processor",type:"lineart_image_processor",detect_resolution:512,image_resolution:512,coarse:!1}},mediapipe_face_processor:{type:"mediapipe_face_processor",label:"Mediapipe Face",description:"",default:{id:"mediapipe_face_processor",type:"mediapipe_face_processor",max_faces:1,min_confidence:.5}},midas_depth_image_processor:{type:"midas_depth_image_processor",label:"Depth (Midas)",description:"",default:{id:"midas_depth_image_processor",type:"midas_depth_image_processor",a_mult:2,bg_th:.1}},mlsd_image_processor:{type:"mlsd_image_processor",label:"M-LSD",description:"",default:{id:"mlsd_image_processor",type:"mlsd_image_processor",detect_resolution:512,image_resolution:512,thr_d:.1,thr_v:.1}},normalbae_image_processor:{type:"normalbae_image_processor",label:"Normal BAE",description:"",default:{id:"normalbae_image_processor",type:"normalbae_image_processor",detect_resolution:512,image_resolution:512}},openpose_image_processor:{type:"openpose_image_processor",label:"Openpose",description:"",default:{id:"openpose_image_processor",type:"openpose_image_processor",detect_resolution:512,image_resolution:512,hand_and_face:!1}},pidi_image_processor:{type:"pidi_image_processor",label:"PIDI",description:"",default:{id:"pidi_image_processor",type:"pidi_image_processor",detect_resolution:512,image_resolution:512,scribble:!1,safe:!1}},zoe_depth_image_processor:{type:"zoe_depth_image_processor",label:"Depth (Zoe)",description:"",default:{id:"zoe_depth_image_processor",type:"zoe_depth_image_processor"}}},b0={canny:"canny_image_processor",mlsd:"mlsd_image_processor",depth:"midas_depth_image_processor",bae:"normalbae_image_processor",lineart:"lineart_image_processor",lineart_anime:"lineart_anime_image_processor",softedge:"hed_image_processor",shuffle:"content_shuffle_image_processor",openpose:"openpose_image_processor",mediapipe:"mediapipe_face_processor"},cR={isEnabled:!0,model:null,weight:1,beginStepPct:0,endStepPct:1,controlMode:"balanced",resizeMode:"just_resize",controlImage:null,processedControlImage:null,processorType:"canny_image_processor",processorNode:_d.canny_image_processor.default,shouldAutoConfig:!0},I3={controlNets:{},isEnabled:!1,pendingControlImages:[]},dF=yn({name:"controlNet",initialState:I3,reducers:{isControlNetEnabledToggled:e=>{e.isEnabled=!e.isEnabled},controlNetAdded:(e,t)=>{const{controlNetId:n,controlNet:r}=t.payload;e.controlNets[n]={...r??cR,controlNetId:n}},controlNetDuplicated:(e,t)=>{const{sourceControlNetId:n,newControlNetId:r}=t.payload,i=e.controlNets[n];if(!i)return;const o=Ur(i);o.controlNetId=r,e.controlNets[r]=o},controlNetAddedFromImage:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n]={...cR,controlNetId:n,controlImage:r}},controlNetRemoved:(e,t)=>{const{controlNetId:n}=t.payload;delete e.controlNets[n]},controlNetToggled:(e,t)=>{const{controlNetId:n}=t.payload,r=e.controlNets[n];r&&(r.isEnabled=!r.isEnabled)},controlNetImageChanged:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload,i=e.controlNets[n];i&&(i.controlImage=r,i.processedControlImage=null,r!==null&&i.processorType!=="none"&&e.pendingControlImages.push(n))},controlNetProcessedImageChanged:(e,t)=>{const{controlNetId:n,processedControlImage:r}=t.payload,i=e.controlNets[n];i&&(i.processedControlImage=r,e.pendingControlImages=e.pendingControlImages.filter(o=>o!==n))},controlNetModelChanged:(e,t)=>{const{controlNetId:n,model:r}=t.payload,i=e.controlNets[n];if(i&&(i.model=r,i.processedControlImage=null,i.shouldAutoConfig)){let o;for(const s in b0)if(r.model_name.includes(s)){o=b0[s];break}o?(i.processorType=o,i.processorNode=_d[o].default):(i.processorType="none",i.processorNode=_d.none.default)}},controlNetWeightChanged:(e,t)=>{const{controlNetId:n,weight:r}=t.payload,i=e.controlNets[n];i&&(i.weight=r)},controlNetBeginStepPctChanged:(e,t)=>{const{controlNetId:n,beginStepPct:r}=t.payload,i=e.controlNets[n];i&&(i.beginStepPct=r)},controlNetEndStepPctChanged:(e,t)=>{const{controlNetId:n,endStepPct:r}=t.payload,i=e.controlNets[n];i&&(i.endStepPct=r)},controlNetControlModeChanged:(e,t)=>{const{controlNetId:n,controlMode:r}=t.payload,i=e.controlNets[n];i&&(i.controlMode=r)},controlNetResizeModeChanged:(e,t)=>{const{controlNetId:n,resizeMode:r}=t.payload,i=e.controlNets[n];i&&(i.resizeMode=r)},controlNetProcessorParamsChanged:(e,t)=>{const{controlNetId:n,changes:r}=t.payload,i=e.controlNets[n];if(!i)return;const o=i.processorNode;i.processorNode={...o,...r},i.shouldAutoConfig=!1},controlNetProcessorTypeChanged:(e,t)=>{const{controlNetId:n,processorType:r}=t.payload,i=e.controlNets[n];i&&(i.processedControlImage=null,i.processorType=r,i.processorNode=_d[r].default,i.shouldAutoConfig=!1)},controlNetAutoConfigToggled:(e,t)=>{var o;const{controlNetId:n}=t.payload,r=e.controlNets[n];if(!r)return;const i=!r.shouldAutoConfig;if(i){let s;for(const a in b0)if((o=r.model)!=null&&o.model_name.includes(a)){s=b0[a];break}s?(r.processorType=s,r.processorNode=_d[s].default):(r.processorType="none",r.processorNode=_d.none.default)}r.shouldAutoConfig=i},controlNetReset:()=>({...I3})},extraReducers:e=>{e.addCase($T,(t,n)=>{const r=t.controlNets[n.payload.controlNetId];r&&r.controlImage!==null&&t.pendingControlImages.push(n.payload.controlNetId)}),e.addCase(DT,t=>{t.pendingControlImages=[]}),e.addMatcher(i$,t=>{t.pendingControlImages=[]}),e.addMatcher(Se.endpoints.deleteImage.matchFulfilled,(t,n)=>{const{image_name:r}=n.meta.arg.originalArgs;tc(t.controlNets,i=>{i.controlImage===r&&(i.controlImage=null,i.processedControlImage=null),i.processedControlImage===r&&(i.processedControlImage=null)})})}}),{isControlNetEnabledToggled:sIe,controlNetAdded:aIe,controlNetDuplicated:lIe,controlNetAddedFromImage:uIe,controlNetRemoved:fF,controlNetImageChanged:FT,controlNetProcessedImageChanged:Yde,controlNetToggled:cIe,controlNetModelChanged:dR,controlNetWeightChanged:dIe,controlNetBeginStepPctChanged:fIe,controlNetEndStepPctChanged:hIe,controlNetControlModeChanged:pIe,controlNetResizeModeChanged:gIe,controlNetProcessorParamsChanged:Qde,controlNetProcessorTypeChanged:Zde,controlNetReset:BT,controlNetAutoConfigToggled:fR}=dF.actions,Jde=dF.reducer,hF={isEnabled:!1,maxPrompts:100,combinatorial:!0},efe=hF,pF=yn({name:"dynamicPrompts",initialState:efe,reducers:{maxPromptsChanged:(e,t)=>{e.maxPrompts=t.payload},maxPromptsReset:e=>{e.maxPrompts=hF.maxPrompts},combinatorialToggled:e=>{e.combinatorial=!e.combinatorial},isEnabledToggled:e=>{e.isEnabled=!e.isEnabled}}}),{isEnabledToggled:mIe,maxPromptsChanged:yIe,maxPromptsReset:vIe,combinatorialToggled:_Ie}=pF.actions,tfe=pF.reducer,gF={selection:[],shouldAutoSwitch:!0,autoAssignBoardOnClick:!0,autoAddBoardId:"none",galleryImageMinimumWidth:96,selectedBoardId:"none",galleryView:"images",shouldShowDeleteButton:!1,boardSearchText:""},mF=yn({name:"gallery",initialState:gF,reducers:{imageSelected:(e,t)=>{e.selection=t.payload?[t.payload]:[]},selectionChanged:(e,t)=>{e.selection=t.payload},shouldAutoSwitchChanged:(e,t)=>{e.shouldAutoSwitch=t.payload},setGalleryImageMinimumWidth:(e,t)=>{e.galleryImageMinimumWidth=t.payload},autoAssignBoardOnClickChanged:(e,t)=>{e.autoAssignBoardOnClick=t.payload},boardIdSelected:(e,t)=>{e.selectedBoardId=t.payload,e.galleryView="images"},autoAddBoardIdChanged:(e,t)=>{if(!t.payload){e.autoAddBoardId="none";return}e.autoAddBoardId=t.payload},galleryViewChanged:(e,t)=>{e.galleryView=t.payload},shouldShowDeleteButtonChanged:(e,t)=>{e.shouldShowDeleteButton=t.payload},boardSearchTextChanged:(e,t)=>{e.boardSearchText=t.payload}},extraReducers:e=>{e.addMatcher(rfe,(t,n)=>{const r=n.meta.arg.originalArgs;r===t.selectedBoardId&&(t.selectedBoardId="none",t.galleryView="images"),r===t.autoAddBoardId&&(t.autoAddBoardId="none")}),e.addMatcher(Ui.endpoints.listAllBoards.matchFulfilled,(t,n)=>{const r=n.payload;t.autoAddBoardId&&(r.map(i=>i.board_id).includes(t.autoAddBoardId)||(t.autoAddBoardId="none"))})}}),{imageSelected:Rs,shouldAutoSwitchChanged:bIe,autoAssignBoardOnClickChanged:SIe,setGalleryImageMinimumWidth:wIe,boardIdSelected:M3,autoAddBoardIdChanged:xIe,galleryViewChanged:k1,selectionChanged:CIe,shouldShowDeleteButtonChanged:TIe,boardSearchTextChanged:EIe}=mF.actions,nfe=mF.reducer,rfe=Co(Se.endpoints.deleteBoard.matchFulfilled,Se.endpoints.deleteBoardAndImages.matchFulfilled),ife={imagesToDelete:[],isModalOpen:!1},yF=yn({name:"deleteImageModal",initialState:ife,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imagesToDeleteSelected:(e,t)=>{e.imagesToDelete=t.payload},imageDeletionCanceled:e=>{e.imagesToDelete=[],e.isModalOpen=!1}}}),{isModalOpenChanged:UT,imagesToDeleteSelected:ofe,imageDeletionCanceled:AIe}=yF.actions,sfe=yF.reducer,afe={isModalOpen:!1,imagesToChange:[]},vF=yn({name:"changeBoardModal",initialState:afe,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imagesToChangeSelected:(e,t)=>{e.imagesToChange=t.payload},changeBoardReset:e=>{e.imagesToChange=[],e.isModalOpen=!1}}}),{isModalOpenChanged:PIe,imagesToChangeSelected:RIe,changeBoardReset:OIe}=vF.actions,lfe=vF.reducer,hR={weight:.75},ufe={loras:{}},_F=yn({name:"lora",initialState:ufe,reducers:{loraAdded:(e,t)=>{const{model_name:n,id:r,base_model:i}=t.payload;e.loras[r]={id:r,model_name:n,base_model:i,...hR}},loraRemoved:(e,t)=>{const n=t.payload;delete e.loras[n]},lorasCleared:e=>{e.loras={}},loraWeightChanged:(e,t)=>{const{id:n,weight:r}=t.payload,i=e.loras[n];i&&(i.weight=r)},loraWeightReset:(e,t)=>{const n=t.payload,r=e.loras[n];r&&(r.weight=hR.weight)}}}),{loraAdded:kIe,loraRemoved:bF,loraWeightChanged:IIe,loraWeightReset:MIe,lorasCleared:NIe}=_F.actions,cfe=_F.reducer;function Eo(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n{let t;const n=new Set,r=(l,u)=>{const d=typeof l=="function"?l(t):l;if(!Object.is(d,t)){const f=t;t=u??typeof d!="object"?d:Object.assign({},t,d),n.forEach(p=>p(t,f))}},i=()=>t,a={setState:r,getState:i,subscribe:l=>(n.add(l),()=>n.delete(l)),destroy:()=>{n.clear()}};return t=e(r,i,a),a},dfe=e=>e?pR(e):pR,{useSyncExternalStoreWithSelector:ffe}=Kce;function hfe(e,t=e.getState,n){const r=ffe(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return L.useDebugValue(r),r}function Ri(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,i]of e)if(!Object.is(i,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r=0;r{}};function Pb(){for(var e=0,t=arguments.length,n={},r;e=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}hv.prototype=Pb.prototype={constructor:hv,on:function(e,t){var n=this._,r=gfe(e+"",n),i,o=-1,s=r.length;if(arguments.length<2){for(;++o0)for(var n=new Array(i),r=0,i,o;r=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),mR.hasOwnProperty(t)?{space:mR[t],local:e}:e}function yfe(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===N3&&t.documentElement.namespaceURI===N3?t.createElement(e):t.createElementNS(n,e)}}function vfe(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function SF(e){var t=Rb(e);return(t.local?vfe:yfe)(t)}function _fe(){}function zT(e){return e==null?_fe:function(){return this.querySelector(e)}}function bfe(e){typeof e!="function"&&(e=zT(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i=y&&(y=b+1);!(C=x[y])&&++y=0;)(s=r[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function Hfe(e){e||(e=Wfe);function t(f,p){return f&&p?e(f.__data__,p.__data__):!f-!p}for(var n=this._groups,r=n.length,i=new Array(r),o=0;ot?1:e>=t?0:NaN}function qfe(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Kfe(){return Array.from(this)}function Xfe(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?she:typeof t=="function"?lhe:ahe)(e,t,n??"")):Tf(this.node(),e)}function Tf(e,t){return e.style.getPropertyValue(t)||EF(e).getComputedStyle(e,null).getPropertyValue(t)}function che(e){return function(){delete this[e]}}function dhe(e,t){return function(){this[e]=t}}function fhe(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function hhe(e,t){return arguments.length>1?this.each((t==null?che:typeof t=="function"?fhe:dhe)(e,t)):this.node()[e]}function AF(e){return e.trim().split(/^|\s+/)}function VT(e){return e.classList||new PF(e)}function PF(e){this._node=e,this._names=AF(e.getAttribute("class")||"")}PF.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function RF(e,t){for(var n=VT(e),r=-1,i=t.length;++r=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function zhe(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,o;n()=>e;function L3(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:s,y:a,dx:l,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}L3.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Qhe(e){return!e.ctrlKey&&!e.button}function Zhe(){return this.parentNode}function Jhe(e,t){return t??{x:e.x,y:e.y}}function epe(){return navigator.maxTouchPoints||"ontouchstart"in this}function tpe(){var e=Qhe,t=Zhe,n=Jhe,r=epe,i={},o=Pb("start","drag","end"),s=0,a,l,u,d,f=0;function p(S){S.on("mousedown.drag",g).filter(r).on("touchstart.drag",x).on("touchmove.drag",_,Yhe).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(S,C){if(!(d||!e.call(this,S,C))){var T=y(this,t.call(this,S,C),S,C,"mouse");T&&(jo(S.view).on("mousemove.drag",m,Tg).on("mouseup.drag",v,Tg),MF(S.view),px(S),u=!1,a=S.clientX,l=S.clientY,T("start",S))}}function m(S){if(ef(S),!u){var C=S.clientX-a,T=S.clientY-l;u=C*C+T*T>f}i.mouse("drag",S)}function v(S){jo(S.view).on("mousemove.drag mouseup.drag",null),NF(S.view,u),ef(S),i.mouse("end",S)}function x(S,C){if(e.call(this,S,C)){var T=S.changedTouches,E=t.call(this,S,C),P=T.length,k,O;for(k=0;k>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?w0(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?w0(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=rpe.exec(e))?new xi(t[1],t[2],t[3],1):(t=ipe.exec(e))?new xi(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=ope.exec(e))?w0(t[1],t[2],t[3],t[4]):(t=spe.exec(e))?w0(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=ape.exec(e))?xR(t[1],t[2]/100,t[3]/100,1):(t=lpe.exec(e))?xR(t[1],t[2]/100,t[3]/100,t[4]):yR.hasOwnProperty(e)?bR(yR[e]):e==="transparent"?new xi(NaN,NaN,NaN,0):null}function bR(e){return new xi(e>>16&255,e>>8&255,e&255,1)}function w0(e,t,n,r){return r<=0&&(e=t=n=NaN),new xi(e,t,n,r)}function dpe(e){return e instanceof vm||(e=Pg(e)),e?(e=e.rgb(),new xi(e.r,e.g,e.b,e.opacity)):new xi}function D3(e,t,n,r){return arguments.length===1?dpe(e):new xi(e,t,n,r??1)}function xi(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}jT(xi,D3,LF(vm,{brighter(e){return e=e==null?M1:Math.pow(M1,e),new xi(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Eg:Math.pow(Eg,e),new xi(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new xi(Hu(this.r),Hu(this.g),Hu(this.b),N1(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:SR,formatHex:SR,formatHex8:fpe,formatRgb:wR,toString:wR}));function SR(){return`#${Fu(this.r)}${Fu(this.g)}${Fu(this.b)}`}function fpe(){return`#${Fu(this.r)}${Fu(this.g)}${Fu(this.b)}${Fu((isNaN(this.opacity)?1:this.opacity)*255)}`}function wR(){const e=N1(this.opacity);return`${e===1?"rgb(":"rgba("}${Hu(this.r)}, ${Hu(this.g)}, ${Hu(this.b)}${e===1?")":`, ${e})`}`}function N1(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Hu(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Fu(e){return e=Hu(e),(e<16?"0":"")+e.toString(16)}function xR(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Go(e,t,n,r)}function DF(e){if(e instanceof Go)return new Go(e.h,e.s,e.l,e.opacity);if(e instanceof vm||(e=Pg(e)),!e)return new Go;if(e instanceof Go)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),s=NaN,a=o-i,l=(o+i)/2;return a?(t===o?s=(n-r)/a+(n0&&l<1?0:s,new Go(s,a,l,e.opacity)}function hpe(e,t,n,r){return arguments.length===1?DF(e):new Go(e,t,n,r??1)}function Go(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}jT(Go,hpe,LF(vm,{brighter(e){return e=e==null?M1:Math.pow(M1,e),new Go(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Eg:Math.pow(Eg,e),new Go(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new xi(gx(e>=240?e-240:e+120,i,r),gx(e,i,r),gx(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Go(CR(this.h),x0(this.s),x0(this.l),N1(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=N1(this.opacity);return`${e===1?"hsl(":"hsla("}${CR(this.h)}, ${x0(this.s)*100}%, ${x0(this.l)*100}%${e===1?")":`, ${e})`}`}}));function CR(e){return e=(e||0)%360,e<0?e+360:e}function x0(e){return Math.max(0,Math.min(1,e||0))}function gx(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const $F=e=>()=>e;function ppe(e,t){return function(n){return e+n*t}}function gpe(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function mpe(e){return(e=+e)==1?FF:function(t,n){return n-t?gpe(t,n,e):$F(isNaN(t)?n:t)}}function FF(e,t){var n=t-e;return n?ppe(e,n):$F(isNaN(e)?t:e)}const TR=function e(t){var n=mpe(t);function r(i,o){var s=n((i=D3(i)).r,(o=D3(o)).r),a=n(i.g,o.g),l=n(i.b,o.b),u=FF(i.opacity,o.opacity);return function(d){return i.r=s(d),i.g=a(d),i.b=l(d),i.opacity=u(d),i+""}}return r.gamma=e,r}(1);function cl(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var $3=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,mx=new RegExp($3.source,"g");function ype(e){return function(){return e}}function vpe(e){return function(t){return e(t)+""}}function _pe(e,t){var n=$3.lastIndex=mx.lastIndex=0,r,i,o,s=-1,a=[],l=[];for(e=e+"",t=t+"";(r=$3.exec(e))&&(i=mx.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),a[s]?a[s]+=o:a[++s]=o),(r=r[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,l.push({i:s,x:cl(r,i)})),n=mx.lastIndex;return n180?d+=360:d-u>180&&(u+=360),p.push({i:f.push(i(f)+"rotate(",null,r)-2,x:cl(u,d)})):d&&f.push(i(f)+"rotate("+d+r)}function a(u,d,f,p){u!==d?p.push({i:f.push(i(f)+"skewX(",null,r)-2,x:cl(u,d)}):d&&f.push(i(f)+"skewX("+d+r)}function l(u,d,f,p,g,m){if(u!==f||d!==p){var v=g.push(i(g)+"scale(",null,",",null,")");m.push({i:v-4,x:cl(u,f)},{i:v-2,x:cl(d,p)})}else(f!==1||p!==1)&&g.push(i(g)+"scale("+f+","+p+")")}return function(u,d){var f=[],p=[];return u=e(u),d=e(d),o(u.translateX,u.translateY,d.translateX,d.translateY,f,p),s(u.rotate,d.rotate,f,p),a(u.skewX,d.skewX,f,p),l(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,p),u=d=null,function(g){for(var m=-1,v=p.length,x;++m=0&&e._call.call(void 0,t),e=e._next;--Ef}function PR(){oc=(D1=Rg.now())+Ob,Ef=dp=0;try{Rpe()}finally{Ef=0,kpe(),oc=0}}function Ope(){var e=Rg.now(),t=e-D1;t>zF&&(Ob-=t,D1=e)}function kpe(){for(var e,t=L1,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:L1=n);fp=e,B3(r)}function B3(e){if(!Ef){dp&&(dp=clearTimeout(dp));var t=e-oc;t>24?(e<1/0&&(dp=setTimeout(PR,e-Rg.now()-Ob)),Gh&&(Gh=clearInterval(Gh))):(Gh||(D1=Rg.now(),Gh=setInterval(Ope,zF)),Ef=1,VF(PR))}}function RR(e,t,n){var r=new $1;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var Ipe=Pb("start","end","cancel","interrupt"),Mpe=[],GF=0,OR=1,U3=2,pv=3,kR=4,z3=5,gv=6;function kb(e,t,n,r,i,o){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;Npe(e,n,{name:t,index:r,group:i,on:Ipe,tween:Mpe,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:GF})}function HT(e,t){var n=rs(e,t);if(n.state>GF)throw new Error("too late; already scheduled");return n}function Bs(e,t){var n=rs(e,t);if(n.state>pv)throw new Error("too late; already running");return n}function rs(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Npe(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=jF(o,0,n.time);function o(u){n.state=OR,n.timer.restart(s,n.delay,n.time),n.delay<=u&&s(u-n.delay)}function s(u){var d,f,p,g;if(n.state!==OR)return l();for(d in r)if(g=r[d],g.name===n.name){if(g.state===pv)return RR(s);g.state===kR?(g.state=gv,g.timer.stop(),g.on.call("interrupt",e,e.__data__,g.index,g.group),delete r[d]):+dU3&&r.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function cge(e,t,n){var r,i,o=uge(t)?HT:Bs;return function(){var s=o(this,e),a=s.on;a!==r&&(i=(r=a).copy()).on(t,n),s.on=i}}function dge(e,t){var n=this._id;return arguments.length<2?rs(this.node(),n).on.on(e):this.each(cge(n,e,t))}function fge(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function hge(){return this.on("end.remove",fge(this._id))}function pge(e){var t=this._name,n=this._id;typeof e!="function"&&(e=zT(e));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s()=>e;function Bge(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function ma(e,t,n){this.k=e,this.x=t,this.y=n}ma.prototype={constructor:ma,scale:function(e){return e===1?this:new ma(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new ma(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Il=new ma(1,0,0);ma.prototype;function yx(e){e.stopImmediatePropagation()}function Hh(e){e.preventDefault(),e.stopImmediatePropagation()}function Uge(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function zge(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function IR(){return this.__zoom||Il}function Vge(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function jge(){return navigator.maxTouchPoints||"ontouchstart"in this}function Gge(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function Hge(){var e=Uge,t=zge,n=Gge,r=Vge,i=jge,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,l=Ape,u=Pb("start","zoom","end"),d,f,p,g=500,m=150,v=0,x=10;function _(A){A.property("__zoom",IR).on("wheel.zoom",P,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",O).filter(i).on("touchstart.zoom",M).on("touchmove.zoom",G).on("touchend.zoom touchcancel.zoom",U).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}_.transform=function(A,N,F,B){var D=A.selection?A.selection():A;D.property("__zoom",IR),A!==D?C(A,N,F,B):D.interrupt().each(function(){T(this,arguments).event(B).start().zoom(null,typeof N=="function"?N.apply(this,arguments):N).end()})},_.scaleBy=function(A,N,F,B){_.scaleTo(A,function(){var D=this.__zoom.k,V=typeof N=="function"?N.apply(this,arguments):N;return D*V},F,B)},_.scaleTo=function(A,N,F,B){_.transform(A,function(){var D=t.apply(this,arguments),V=this.__zoom,j=F==null?S(D):typeof F=="function"?F.apply(this,arguments):F,q=V.invert(j),Z=typeof N=="function"?N.apply(this,arguments):N;return n(y(b(V,Z),j,q),D,s)},F,B)},_.translateBy=function(A,N,F,B){_.transform(A,function(){return n(this.__zoom.translate(typeof N=="function"?N.apply(this,arguments):N,typeof F=="function"?F.apply(this,arguments):F),t.apply(this,arguments),s)},null,B)},_.translateTo=function(A,N,F,B,D){_.transform(A,function(){var V=t.apply(this,arguments),j=this.__zoom,q=B==null?S(V):typeof B=="function"?B.apply(this,arguments):B;return n(Il.translate(q[0],q[1]).scale(j.k).translate(typeof N=="function"?-N.apply(this,arguments):-N,typeof F=="function"?-F.apply(this,arguments):-F),V,s)},B,D)};function b(A,N){return N=Math.max(o[0],Math.min(o[1],N)),N===A.k?A:new ma(N,A.x,A.y)}function y(A,N,F){var B=N[0]-F[0]*A.k,D=N[1]-F[1]*A.k;return B===A.x&&D===A.y?A:new ma(A.k,B,D)}function S(A){return[(+A[0][0]+ +A[1][0])/2,(+A[0][1]+ +A[1][1])/2]}function C(A,N,F,B){A.on("start.zoom",function(){T(this,arguments).event(B).start()}).on("interrupt.zoom end.zoom",function(){T(this,arguments).event(B).end()}).tween("zoom",function(){var D=this,V=arguments,j=T(D,V).event(B),q=t.apply(D,V),Z=F==null?S(q):typeof F=="function"?F.apply(D,V):F,ee=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),ie=D.__zoom,se=typeof N=="function"?N.apply(D,V):N,le=l(ie.invert(Z).concat(ee/ie.k),se.invert(Z).concat(ee/se.k));return function(W){if(W===1)W=se;else{var ne=le(W),fe=ee/ne[2];W=new ma(fe,Z[0]-ne[0]*fe,Z[1]-ne[1]*fe)}j.zoom(null,W)}})}function T(A,N,F){return!F&&A.__zooming||new E(A,N)}function E(A,N){this.that=A,this.args=N,this.active=0,this.sourceEvent=null,this.extent=t.apply(A,N),this.taps=0}E.prototype={event:function(A){return A&&(this.sourceEvent=A),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(A,N){return this.mouse&&A!=="mouse"&&(this.mouse[1]=N.invert(this.mouse[0])),this.touch0&&A!=="touch"&&(this.touch0[1]=N.invert(this.touch0[0])),this.touch1&&A!=="touch"&&(this.touch1[1]=N.invert(this.touch1[0])),this.that.__zoom=N,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(A){var N=jo(this.that).datum();u.call(A,this.that,new Bge(A,{sourceEvent:this.sourceEvent,target:_,type:A,transform:this.that.__zoom,dispatch:u}),N)}};function P(A,...N){if(!e.apply(this,arguments))return;var F=T(this,N).event(A),B=this.__zoom,D=Math.max(o[0],Math.min(o[1],B.k*Math.pow(2,r.apply(this,arguments)))),V=gs(A);if(F.wheel)(F.mouse[0][0]!==V[0]||F.mouse[0][1]!==V[1])&&(F.mouse[1]=B.invert(F.mouse[0]=V)),clearTimeout(F.wheel);else{if(B.k===D)return;F.mouse=[V,B.invert(V)],mv(this),F.start()}Hh(A),F.wheel=setTimeout(j,m),F.zoom("mouse",n(y(b(B,D),F.mouse[0],F.mouse[1]),F.extent,s));function j(){F.wheel=null,F.end()}}function k(A,...N){if(p||!e.apply(this,arguments))return;var F=A.currentTarget,B=T(this,N,!0).event(A),D=jo(A.view).on("mousemove.zoom",Z,!0).on("mouseup.zoom",ee,!0),V=gs(A,F),j=A.clientX,q=A.clientY;MF(A.view),yx(A),B.mouse=[V,this.__zoom.invert(V)],mv(this),B.start();function Z(ie){if(Hh(ie),!B.moved){var se=ie.clientX-j,le=ie.clientY-q;B.moved=se*se+le*le>v}B.event(ie).zoom("mouse",n(y(B.that.__zoom,B.mouse[0]=gs(ie,F),B.mouse[1]),B.extent,s))}function ee(ie){D.on("mousemove.zoom mouseup.zoom",null),NF(ie.view,B.moved),Hh(ie),B.event(ie).end()}}function O(A,...N){if(e.apply(this,arguments)){var F=this.__zoom,B=gs(A.changedTouches?A.changedTouches[0]:A,this),D=F.invert(B),V=F.k*(A.shiftKey?.5:2),j=n(y(b(F,V),B,D),t.apply(this,N),s);Hh(A),a>0?jo(this).transition().duration(a).call(C,j,B,A):jo(this).call(_.transform,j,B,A)}}function M(A,...N){if(e.apply(this,arguments)){var F=A.touches,B=F.length,D=T(this,N,A.changedTouches.length===B).event(A),V,j,q,Z;for(yx(A),j=0;j"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`},KF=Wl.error001();function Nn(e,t){const n=L.useContext(Ib);if(n===null)throw new Error(KF);return hfe(n,e,t)}const qr=()=>{const e=L.useContext(Ib);if(e===null)throw new Error(KF);return L.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},qge=e=>e.userSelectionActive?"none":"all";function Kge({position:e,children:t,className:n,style:r,...i}){const o=Nn(qge),s=`${e}`.split("-");return ue.jsx("div",{className:Eo(["react-flow__panel",n,...s]),style:{...r,pointerEvents:o},...i,children:t})}function Xge({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:ue.jsx(Kge,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:ue.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const Yge=({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:s=[2,4],labelBgBorderRadius:a=2,children:l,className:u,...d})=>{const f=L.useRef(null),[p,g]=L.useState({x:0,y:0,width:0,height:0}),m=Eo(["react-flow__edge-textwrapper",u]);return L.useEffect(()=>{if(f.current){const v=f.current.getBBox();g({x:v.x,y:v.y,width:v.width,height:v.height})}},[n]),typeof n>"u"||!n?null:ue.jsxs("g",{transform:`translate(${e-p.width/2} ${t-p.height/2})`,className:m,visibility:p.width?"visible":"hidden",...d,children:[i&&ue.jsx("rect",{width:p.width+2*s[0],x:-s[0],y:-s[1],height:p.height+2*s[1],className:"react-flow__edge-textbg",style:o,rx:a,ry:a}),ue.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:f,style:r,children:n}),l]})};var Qge=L.memo(Yge);const qT=e=>({width:e.offsetWidth,height:e.offsetHeight}),Af=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),KT=(e={x:0,y:0},t)=>({x:Af(e.x,t[0][0],t[1][0]),y:Af(e.y,t[0][1],t[1][1])}),MR=(e,t,n)=>en?-Af(Math.abs(e-n),1,50)/50:0,XF=(e,t)=>{const n=MR(e.x,35,t.width-35)*20,r=MR(e.y,35,t.height-35)*20;return[n,r]},YF=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},QF=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),F1=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),ZF=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),NR=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),LIe=(e,t)=>ZF(QF(F1(e),F1(t))),V3=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},Zge=e=>_o(e.width)&&_o(e.height)&&_o(e.x)&&_o(e.y),_o=e=>!isNaN(e)&&isFinite(e),nr=Symbol.for("internals"),JF=["Enter"," ","Escape"],Jge=(e,t)=>{},eme=e=>"nativeEvent"in e;function j3(e){var i,o;const t=eme(e)?e.nativeEvent:e,n=((o=(i=t.composedPath)==null?void 0:i.call(t))==null?void 0:o[0])||e.target;return["INPUT","SELECT","TEXTAREA"].includes(n==null?void 0:n.nodeName)||(n==null?void 0:n.hasAttribute("contenteditable"))||!!(n!=null&&n.closest(".nokey"))}const eB=e=>"clientX"in e,Ml=(e,t)=>{var o,s;const n=eB(e),r=n?e.clientX:(o=e.touches)==null?void 0:o[0].clientX,i=n?e.clientY:(s=e.touches)==null?void 0:s[0].clientY;return{x:r-((t==null?void 0:t.left)??0),y:i-((t==null?void 0:t.top)??0)}},_m=({id:e,path:t,labelX:n,labelY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:g=20})=>ue.jsxs(ue.Fragment,{children:[ue.jsx("path",{id:e,style:d,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:f,markerStart:p}),g&&ue.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:g,className:"react-flow__edge-interaction"}),i&&_o(n)&&_o(r)?ue.jsx(Qge,{x:n,y:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u}):null]});_m.displayName="BaseEdge";function Wh(e,t,n){return n===void 0?n:r=>{const i=t().edges.find(o=>o.id===e);i&&n(r,{...i})}}function tB({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,o=n{const[x,_,b]=rB({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return ue.jsx(_m,{path:x,labelX:_,labelY:b,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,interactionWidth:v})});XT.displayName="SimpleBezierEdge";const DR={[Ne.Left]:{x:-1,y:0},[Ne.Right]:{x:1,y:0},[Ne.Top]:{x:0,y:-1},[Ne.Bottom]:{x:0,y:1}},tme=({source:e,sourcePosition:t=Ne.Bottom,target:n})=>t===Ne.Left||t===Ne.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function nme({source:e,sourcePosition:t=Ne.Bottom,target:n,targetPosition:r=Ne.Top,center:i,offset:o}){const s=DR[t],a=DR[r],l={x:e.x+s.x*o,y:e.y+s.y*o},u={x:n.x+a.x*o,y:n.y+a.y*o},d=tme({source:l,sourcePosition:t,target:u}),f=d.x!==0?"x":"y",p=d[f];let g=[],m,v;const[x,_,b,y]=tB({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[f]*a[f]===-1){m=i.x||x,v=i.y||_;const C=[{x:m,y:l.y},{x:m,y:u.y}],T=[{x:l.x,y:v},{x:u.x,y:v}];s[f]===p?g=f==="x"?C:T:g=f==="x"?T:C}else{const C=[{x:l.x,y:u.y}],T=[{x:u.x,y:l.y}];if(f==="x"?g=s.x===p?T:C:g=s.y===p?C:T,t!==r){const E=f==="x"?"y":"x",P=s[f]===a[E],k=l[E]>u[E],O=l[E]{let y="";return b>0&&b{const[_,b,y]=G3({sourceX:e,sourceY:t,sourcePosition:f,targetX:n,targetY:r,targetPosition:p,borderRadius:v==null?void 0:v.borderRadius,offset:v==null?void 0:v.offset});return ue.jsx(_m,{path:_,labelX:b,labelY:y,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:g,markerStart:m,interactionWidth:x})});Mb.displayName="SmoothStepEdge";const YT=L.memo(e=>{var t;return ue.jsx(Mb,{...e,pathOptions:L.useMemo(()=>{var n;return{borderRadius:0,offset:(n=e.pathOptions)==null?void 0:n.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});YT.displayName="StepEdge";function ime({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,s,a]=tB({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,s,a]}const QT=L.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:g})=>{const[m,v,x]=ime({sourceX:e,sourceY:t,targetX:n,targetY:r});return ue.jsx(_m,{path:m,labelX:v,labelY:x,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:g})});QT.displayName="StraightEdge";function E0(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function FR({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case Ne.Left:return[t-E0(t-r,o),n];case Ne.Right:return[t+E0(r-t,o),n];case Ne.Top:return[t,n-E0(n-i,o)];case Ne.Bottom:return[t,n+E0(i-n,o)]}}function iB({sourceX:e,sourceY:t,sourcePosition:n=Ne.Bottom,targetX:r,targetY:i,targetPosition:o=Ne.Top,curvature:s=.25}){const[a,l]=FR({pos:n,x1:e,y1:t,x2:r,y2:i,c:s}),[u,d]=FR({pos:o,x1:r,y1:i,x2:e,y2:t,c:s}),[f,p,g,m]=nB({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:l,targetControlX:u,targetControlY:d});return[`M${e},${t} C${a},${l} ${u},${d} ${r},${i}`,f,p,g,m]}const U1=L.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=Ne.Bottom,targetPosition:o=Ne.Top,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,pathOptions:v,interactionWidth:x})=>{const[_,b,y]=iB({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:v==null?void 0:v.curvature});return ue.jsx(_m,{path:_,labelX:b,labelY:y,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,interactionWidth:x})});U1.displayName="BezierEdge";const ZT=L.createContext(null),ome=ZT.Provider;ZT.Consumer;const sme=()=>L.useContext(ZT),ame=e=>"id"in e&&"source"in e&&"target"in e,lme=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,H3=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`,ume=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),oB=(e,t)=>{if(!e.source||!e.target)return t;let n;return ame(e)?n={...e}:n={...e,id:lme(e)},ume(n,t)?t:t.concat(n)},sB=({x:e,y:t},[n,r,i],o,[s,a])=>{const l={x:(e-n)/i,y:(t-r)/i};return o?{x:s*Math.round(l.x/s),y:a*Math.round(l.y/a)}:l},cme=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),rf=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=(e.width??0)*t[0],r=(e.height??0)*t[1],i={x:e.position.x-n,y:e.position.y-r};return{...i,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:i}},aB=(e,t=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,i)=>{const{x:o,y:s}=rf(i,t).positionAbsolute;return QF(r,F1({x:o,y:s,width:i.width||0,height:i.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return ZF(n)},lB=(e,t,[n,r,i]=[0,0,1],o=!1,s=!1,a=[0,0])=>{const l={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},u=[];return e.forEach(d=>{const{width:f,height:p,selectable:g=!0,hidden:m=!1}=d;if(s&&!g||m)return!1;const{positionAbsolute:v}=rf(d,a),x={x:v.x,y:v.y,width:f||0,height:p||0},_=V3(l,x),b=typeof f>"u"||typeof p>"u"||f===null||p===null,y=o&&_>0,S=(f||0)*(p||0);(b||y||_>=S||d.dragging)&&u.push(d)}),u},uB=(e,t)=>{const n=e.map(r=>r.id);return t.filter(r=>n.includes(r.source)||n.includes(r.target))},cB=(e,t,n,r,i,o=.1)=>{const s=t/(e.width*(1+o)),a=n/(e.height*(1+o)),l=Math.min(s,a),u=Af(l,r,i),d=e.x+e.width/2,f=e.y+e.height/2,p=t/2-d*u,g=n/2-f*u;return[p,g,u]},Pu=(e,t=0)=>e.transition().duration(t);function BR(e,t,n,r){return(t[n]||[]).reduce((i,o)=>{var s,a;return`${e.id}-${o.id}-${n}`!==r&&i.push({id:o.id||null,type:n,nodeId:e.id,x:(((s=e.positionAbsolute)==null?void 0:s.x)??0)+o.x+o.width/2,y:(((a=e.positionAbsolute)==null?void 0:a.y)??0)+o.y+o.height/2}),i},[])}function dme(e,t,n,r,i,o){const{x:s,y:a}=Ml(e),u=t.elementsFromPoint(s,a).find(m=>m.classList.contains("react-flow__handle"));if(u){const m=u.getAttribute("data-nodeid");if(m){const v=JT(void 0,u),x=u.getAttribute("data-handleid"),_=o({nodeId:m,id:x,type:v});if(_)return{handle:{id:x,type:v,nodeId:m,x:n.x,y:n.y},validHandleResult:_}}}let d=[],f=1/0;if(i.forEach(m=>{const v=Math.sqrt((m.x-n.x)**2+(m.y-n.y)**2);if(v<=r){const x=o(m);v<=f&&(vm.isValid),g=d.some(({handle:m})=>m.type==="target");return d.find(({handle:m,validHandleResult:v})=>g?m.type==="target":p?v.isValid:!0)||d[0]}const fme={source:null,target:null,sourceHandle:null,targetHandle:null},dB=()=>({handleDomNode:null,isValid:!1,connection:fme,endHandle:null});function fB(e,t,n,r,i,o,s){const a=i==="target",l=s.querySelector(`.react-flow__handle[data-id="${e==null?void 0:e.nodeId}-${e==null?void 0:e.id}-${e==null?void 0:e.type}"]`),u={...dB(),handleDomNode:l};if(l){const d=JT(void 0,l),f=l.getAttribute("data-nodeid"),p=l.getAttribute("data-handleid"),g=l.classList.contains("connectable"),m=l.classList.contains("connectableend"),v={source:a?f:n,sourceHandle:a?p:r,target:a?n:f,targetHandle:a?r:p};u.connection=v,g&&m&&(t===sc.Strict?a&&d==="source"||!a&&d==="target":f!==n||p!==r)&&(u.endHandle={nodeId:f,handleId:p,type:d},u.isValid=o(v))}return u}function hme({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((i,o)=>{if(o[nr]){const{handleBounds:s}=o[nr];let a=[],l=[];s&&(a=BR(o,s,"source",`${t}-${n}-${r}`),l=BR(o,s,"target",`${t}-${n}-${r}`)),i.push(...a,...l)}return i},[])}function JT(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function vx(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function pme(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function hB({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:s,isValidConnection:a,edgeUpdaterType:l,onEdgeUpdateEnd:u}){const d=YF(e.target),{connectionMode:f,domNode:p,autoPanOnConnect:g,connectionRadius:m,onConnectStart:v,panBy:x,getNodes:_,cancelConnection:b}=o();let y=0,S;const{x:C,y:T}=Ml(e),E=d==null?void 0:d.elementFromPoint(C,T),P=JT(l,E),k=p==null?void 0:p.getBoundingClientRect();if(!k||!P)return;let O,M=Ml(e,k),G=!1,U=null,A=!1,N=null;const F=hme({nodes:_(),nodeId:n,handleId:t,handleType:P}),B=()=>{if(!g)return;const[j,q]=XF(M,k);x({x:j,y:q}),y=requestAnimationFrame(B)};s({connectionPosition:M,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:P,connectionStartHandle:{nodeId:n,handleId:t,type:P},connectionEndHandle:null}),v==null||v(e,{nodeId:n,handleId:t,handleType:P});function D(j){const{transform:q}=o();M=Ml(j,k);const{handle:Z,validHandleResult:ee}=dme(j,d,sB(M,q,!1,[1,1]),m,F,ie=>fB(ie,f,n,t,i?"target":"source",a,d));if(S=Z,G||(B(),G=!0),N=ee.handleDomNode,U=ee.connection,A=ee.isValid,s({connectionPosition:S&&A?cme({x:S.x,y:S.y},q):M,connectionStatus:pme(!!S,A),connectionEndHandle:ee.endHandle}),!S&&!A&&!N)return vx(O);U.source!==U.target&&N&&(vx(O),O=N,N.classList.add("connecting","react-flow__handle-connecting"),N.classList.toggle("valid",A),N.classList.toggle("react-flow__handle-valid",A))}function V(j){var q,Z;(S||N)&&U&&A&&(r==null||r(U)),(Z=(q=o()).onConnectEnd)==null||Z.call(q,j),l&&(u==null||u(j)),vx(O),b(),cancelAnimationFrame(y),G=!1,A=!1,U=null,N=null,d.removeEventListener("mousemove",D),d.removeEventListener("mouseup",V),d.removeEventListener("touchmove",D),d.removeEventListener("touchend",V)}d.addEventListener("mousemove",D),d.addEventListener("mouseup",V),d.addEventListener("touchmove",D),d.addEventListener("touchend",V)}const UR=()=>!0,gme=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),mme=(e,t,n)=>r=>{const{connectionStartHandle:i,connectionEndHandle:o,connectionClickStartHandle:s}=r;return{connecting:(i==null?void 0:i.nodeId)===e&&(i==null?void 0:i.handleId)===t&&(i==null?void 0:i.type)===n||(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.handleId)===t&&(o==null?void 0:o.type)===n,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.handleId)===t&&(s==null?void 0:s.type)===n}},pB=L.forwardRef(({type:e="source",position:t=Ne.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:o=!0,id:s,onConnect:a,children:l,className:u,onMouseDown:d,onTouchStart:f,...p},g)=>{var k,O;const m=s||null,v=e==="target",x=qr(),_=sme(),{connectOnClick:b,noPanClassName:y}=Nn(gme,Ri),{connecting:S,clickConnecting:C}=Nn(mme(_,m,e),Ri);_||(O=(k=x.getState()).onError)==null||O.call(k,"010",Wl.error010());const T=M=>{const{defaultEdgeOptions:G,onConnect:U,hasDefaultEdges:A}=x.getState(),N={...G,...M};if(A){const{edges:F,setEdges:B}=x.getState();B(oB(N,F))}U==null||U(N),a==null||a(N)},E=M=>{if(!_)return;const G=eB(M);i&&(G&&M.button===0||!G)&&hB({event:M,handleId:m,nodeId:_,onConnect:T,isTarget:v,getState:x.getState,setState:x.setState,isValidConnection:n||x.getState().isValidConnection||UR}),G?d==null||d(M):f==null||f(M)},P=M=>{const{onClickConnectStart:G,onClickConnectEnd:U,connectionClickStartHandle:A,connectionMode:N,isValidConnection:F}=x.getState();if(!_||!A&&!i)return;if(!A){G==null||G(M,{nodeId:_,handleId:m,handleType:e}),x.setState({connectionClickStartHandle:{nodeId:_,type:e,handleId:m}});return}const B=YF(M.target),D=n||F||UR,{connection:V,isValid:j}=fB({nodeId:_,id:m,type:e},N,A.nodeId,A.handleId||null,A.type,D,B);j&&T(V),U==null||U(M),x.setState({connectionClickStartHandle:null})};return ue.jsx("div",{"data-handleid":m,"data-nodeid":_,"data-handlepos":t,"data-id":`${_}-${m}-${e}`,className:Eo(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",y,u,{source:!v,target:v,connectable:r,connectablestart:i,connectableend:o,connecting:C,connectionindicator:r&&(i&&!S||o&&S)}]),onMouseDown:E,onTouchStart:E,onClick:b?P:void 0,ref:g,...p,children:l})});pB.displayName="Handle";var z1=L.memo(pB);const gB=({data:e,isConnectable:t,targetPosition:n=Ne.Top,sourcePosition:r=Ne.Bottom})=>ue.jsxs(ue.Fragment,{children:[ue.jsx(z1,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,ue.jsx(z1,{type:"source",position:r,isConnectable:t})]});gB.displayName="DefaultNode";var W3=L.memo(gB);const mB=({data:e,isConnectable:t,sourcePosition:n=Ne.Bottom})=>ue.jsxs(ue.Fragment,{children:[e==null?void 0:e.label,ue.jsx(z1,{type:"source",position:n,isConnectable:t})]});mB.displayName="InputNode";var yB=L.memo(mB);const vB=({data:e,isConnectable:t,targetPosition:n=Ne.Top})=>ue.jsxs(ue.Fragment,{children:[ue.jsx(z1,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]});vB.displayName="OutputNode";var _B=L.memo(vB);const eE=()=>null;eE.displayName="GroupNode";const yme=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected)}),A0=e=>e.id;function vme(e,t){return Ri(e.selectedNodes.map(A0),t.selectedNodes.map(A0))&&Ri(e.selectedEdges.map(A0),t.selectedEdges.map(A0))}const bB=L.memo(({onSelectionChange:e})=>{const t=qr(),{selectedNodes:n,selectedEdges:r}=Nn(yme,vme);return L.useEffect(()=>{var o,s;const i={nodes:n,edges:r};e==null||e(i),(s=(o=t.getState()).onSelectionChange)==null||s.call(o,i)},[n,r,e]),null});bB.displayName="SelectionListener";const _me=e=>!!e.onSelectionChange;function bme({onSelectionChange:e}){const t=Nn(_me);return e||t?ue.jsx(bB,{onSelectionChange:e}):null}const Sme=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function rd(e,t){L.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function at(e,t,n){L.useEffect(()=>{typeof t<"u"&&n({[e]:t})},[t])}const wme=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:s,onClickConnectStart:a,onClickConnectEnd:l,nodesDraggable:u,nodesConnectable:d,nodesFocusable:f,edgesFocusable:p,edgesUpdatable:g,elevateNodesOnSelect:m,minZoom:v,maxZoom:x,nodeExtent:_,onNodesChange:b,onEdgesChange:y,elementsSelectable:S,connectionMode:C,snapGrid:T,snapToGrid:E,translateExtent:P,connectOnClick:k,defaultEdgeOptions:O,fitView:M,fitViewOptions:G,onNodesDelete:U,onEdgesDelete:A,onNodeDrag:N,onNodeDragStart:F,onNodeDragStop:B,onSelectionDrag:D,onSelectionDragStart:V,onSelectionDragStop:j,noPanClassName:q,nodeOrigin:Z,rfId:ee,autoPanOnConnect:ie,autoPanOnNodeDrag:se,onError:le,connectionRadius:W,isValidConnection:ne})=>{const{setNodes:fe,setEdges:pe,setDefaultNodesAndEdges:ve,setMinZoom:ye,setMaxZoom:We,setTranslateExtent:Me,setNodeExtent:Ee,reset:lt}=Nn(Sme,Ri),_e=qr();return L.useEffect(()=>{const jt=r==null?void 0:r.map(Wn=>({...Wn,...O}));return ve(n,jt),()=>{lt()}},[]),at("defaultEdgeOptions",O,_e.setState),at("connectionMode",C,_e.setState),at("onConnect",i,_e.setState),at("onConnectStart",o,_e.setState),at("onConnectEnd",s,_e.setState),at("onClickConnectStart",a,_e.setState),at("onClickConnectEnd",l,_e.setState),at("nodesDraggable",u,_e.setState),at("nodesConnectable",d,_e.setState),at("nodesFocusable",f,_e.setState),at("edgesFocusable",p,_e.setState),at("edgesUpdatable",g,_e.setState),at("elementsSelectable",S,_e.setState),at("elevateNodesOnSelect",m,_e.setState),at("snapToGrid",E,_e.setState),at("snapGrid",T,_e.setState),at("onNodesChange",b,_e.setState),at("onEdgesChange",y,_e.setState),at("connectOnClick",k,_e.setState),at("fitViewOnInit",M,_e.setState),at("fitViewOnInitOptions",G,_e.setState),at("onNodesDelete",U,_e.setState),at("onEdgesDelete",A,_e.setState),at("onNodeDrag",N,_e.setState),at("onNodeDragStart",F,_e.setState),at("onNodeDragStop",B,_e.setState),at("onSelectionDrag",D,_e.setState),at("onSelectionDragStart",V,_e.setState),at("onSelectionDragStop",j,_e.setState),at("noPanClassName",q,_e.setState),at("nodeOrigin",Z,_e.setState),at("rfId",ee,_e.setState),at("autoPanOnConnect",ie,_e.setState),at("autoPanOnNodeDrag",se,_e.setState),at("onError",le,_e.setState),at("connectionRadius",W,_e.setState),at("isValidConnection",ne,_e.setState),rd(e,fe),rd(t,pe),rd(v,ye),rd(x,We),rd(P,Me),rd(_,Ee),null},zR={display:"none"},xme={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},SB="react-flow__node-desc",wB="react-flow__edge-desc",Cme="react-flow__aria-live",Tme=e=>e.ariaLiveMessage;function Eme({rfId:e}){const t=Nn(Tme);return ue.jsx("div",{id:`${Cme}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:xme,children:t})}function Ame({rfId:e,disableKeyboardA11y:t}){return ue.jsxs(ue.Fragment,{children:[ue.jsxs("div",{id:`${SB}-${e}`,style:zR,children:["Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "]}),ue.jsx("div",{id:`${wB}-${e}`,style:zR,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!t&&ue.jsx(Eme,{rfId:e})]})}const Pme=(e,t,n)=>n===Ne.Left?e-t:n===Ne.Right?e+t:e,Rme=(e,t,n)=>n===Ne.Top?e-t:n===Ne.Bottom?e+t:e,VR="react-flow__edgeupdater",jR=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:s,type:a})=>ue.jsx("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:s,className:Eo([VR,`${VR}-${a}`]),cx:Pme(t,r,e),cy:Rme(n,r,e),r,stroke:"transparent",fill:"transparent"}),Ome=()=>!0;var id=e=>{const t=({id:n,className:r,type:i,data:o,onClick:s,onEdgeDoubleClick:a,selected:l,animated:u,label:d,labelStyle:f,labelShowBg:p,labelBgStyle:g,labelBgPadding:m,labelBgBorderRadius:v,style:x,source:_,target:b,sourceX:y,sourceY:S,targetX:C,targetY:T,sourcePosition:E,targetPosition:P,elementsSelectable:k,hidden:O,sourceHandleId:M,targetHandleId:G,onContextMenu:U,onMouseEnter:A,onMouseMove:N,onMouseLeave:F,edgeUpdaterRadius:B,onEdgeUpdate:D,onEdgeUpdateStart:V,onEdgeUpdateEnd:j,markerEnd:q,markerStart:Z,rfId:ee,ariaLabel:ie,isFocusable:se,isUpdatable:le,pathOptions:W,interactionWidth:ne})=>{const fe=L.useRef(null),[pe,ve]=L.useState(!1),[ye,We]=L.useState(!1),Me=qr(),Ee=L.useMemo(()=>`url(#${H3(Z,ee)})`,[Z,ee]),lt=L.useMemo(()=>`url(#${H3(q,ee)})`,[q,ee]);if(O)return null;const _e=sn=>{const{edges:Gt,addSelectedEdges:vr}=Me.getState();if(k&&(Me.setState({nodesSelectionActive:!1}),vr([n])),s){const Nr=Gt.find(Xr=>Xr.id===n);s(sn,Nr)}},jt=Wh(n,Me.getState,a),Wn=Wh(n,Me.getState,U),Bt=Wh(n,Me.getState,A),it=Wh(n,Me.getState,N),mt=Wh(n,Me.getState,F),Jt=(sn,Gt)=>{if(sn.button!==0)return;const{edges:vr,isValidConnection:Nr}=Me.getState(),Xr=Gt?b:_,Ii=(Gt?G:M)||null,An=Gt?"target":"source",Yr=Nr||Ome,Vs=Gt,Ji=vr.find(kt=>kt.id===n);We(!0),V==null||V(sn,Ji,An);const js=kt=>{We(!1),j==null||j(kt,Ji,An)};hB({event:sn,handleId:Ii,nodeId:Xr,onConnect:kt=>D==null?void 0:D(Ji,kt),isTarget:Vs,getState:Me.getState,setState:Me.setState,isValidConnection:Yr,edgeUpdaterType:An,onEdgeUpdateEnd:js})},Mr=sn=>Jt(sn,!0),yr=sn=>Jt(sn,!1),hi=()=>ve(!0),wn=()=>ve(!1),on=!k&&!s,qn=sn=>{var Gt;if(JF.includes(sn.key)&&k){const{unselectNodesAndEdges:vr,addSelectedEdges:Nr,edges:Xr}=Me.getState();sn.key==="Escape"?((Gt=fe.current)==null||Gt.blur(),vr({edges:[Xr.find(An=>An.id===n)]})):Nr([n])}};return ue.jsxs("g",{className:Eo(["react-flow__edge",`react-flow__edge-${i}`,r,{selected:l,animated:u,inactive:on,updating:pe}]),onClick:_e,onDoubleClick:jt,onContextMenu:Wn,onMouseEnter:Bt,onMouseMove:it,onMouseLeave:mt,onKeyDown:se?qn:void 0,tabIndex:se?0:void 0,role:se?"button":void 0,"data-testid":`rf__edge-${n}`,"aria-label":ie===null?void 0:ie||`Edge from ${_} to ${b}`,"aria-describedby":se?`${wB}-${ee}`:void 0,ref:fe,children:[!ye&&ue.jsx(e,{id:n,source:_,target:b,selected:l,animated:u,label:d,labelStyle:f,labelShowBg:p,labelBgStyle:g,labelBgPadding:m,labelBgBorderRadius:v,data:o,style:x,sourceX:y,sourceY:S,targetX:C,targetY:T,sourcePosition:E,targetPosition:P,sourceHandleId:M,targetHandleId:G,markerStart:Ee,markerEnd:lt,pathOptions:W,interactionWidth:ne}),le&&ue.jsxs(ue.Fragment,{children:[(le==="source"||le===!0)&&ue.jsx(jR,{position:E,centerX:y,centerY:S,radius:B,onMouseDown:Mr,onMouseEnter:hi,onMouseOut:wn,type:"source"}),(le==="target"||le===!0)&&ue.jsx(jR,{position:P,centerX:C,centerY:T,radius:B,onMouseDown:yr,onMouseEnter:hi,onMouseOut:wn,type:"target"})]})]})};return t.displayName="EdgeWrapper",L.memo(t)};function kme(e){const t={default:id(e.default||U1),straight:id(e.bezier||QT),step:id(e.step||YT),smoothstep:id(e.step||Mb),simplebezier:id(e.simplebezier||XT)},n={},r=Object.keys(e).filter(i=>!["default","bezier"].includes(i)).reduce((i,o)=>(i[o]=id(e[o]||U1),i),n);return{...t,...r}}function GR(e,t,n=null){const r=((n==null?void 0:n.x)||0)+t.x,i=((n==null?void 0:n.y)||0)+t.y,o=(n==null?void 0:n.width)||t.width,s=(n==null?void 0:n.height)||t.height;switch(e){case Ne.Top:return{x:r+o/2,y:i};case Ne.Right:return{x:r+o,y:i+s/2};case Ne.Bottom:return{x:r+o/2,y:i+s};case Ne.Left:return{x:r,y:i+s/2}}}function HR(e,t){return e?e.length===1||!t?e[0]:t&&e.find(n=>n.id===t)||null:null}const Ime=(e,t,n,r,i,o)=>{const s=GR(n,e,t),a=GR(o,r,i);return{sourceX:s.x,sourceY:s.y,targetX:a.x,targetY:a.y}};function Mme({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:o,width:s,height:a,transform:l}){const u={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+r,t.y+o)};u.x===u.x2&&(u.x2+=1),u.y===u.y2&&(u.y2+=1);const d=F1({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:s/l[2],height:a/l[2]}),f=Math.max(0,Math.min(d.x2,u.x2)-Math.max(d.x,u.x)),p=Math.max(0,Math.min(d.y2,u.y2)-Math.max(d.y,u.y));return Math.ceil(f*p)>0}function WR(e){var r,i,o,s,a;const t=((r=e==null?void 0:e[nr])==null?void 0:r.handleBounds)||null,n=t&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((i=e==null?void 0:e.positionAbsolute)==null?void 0:i.x)<"u"&&typeof((o=e==null?void 0:e.positionAbsolute)==null?void 0:o.y)<"u";return[{x:((s=e==null?void 0:e.positionAbsolute)==null?void 0:s.x)||0,y:((a=e==null?void 0:e.positionAbsolute)==null?void 0:a.y)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0},t,!!n]}function xB(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return n?n.selected?!0:xB(n,t):!1}function qR(e,t,n){let r=e;do{if(r!=null&&r.matches(t))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function Nme(e,t,n,r){return Array.from(e.values()).filter(i=>(i.selected||i.id===r)&&(!i.parentNode||!xB(i,e))&&(i.draggable||t&&typeof i.draggable>"u")).map(i=>{var o,s;return{id:i.id,position:i.position||{x:0,y:0},positionAbsolute:i.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((o=i.positionAbsolute)==null?void 0:o.x)??0),y:n.y-(((s=i.positionAbsolute)==null?void 0:s.y)??0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode,width:i.width,height:i.height}})}function Lme(e,t){return!t||t==="parent"?t:[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]}function CB(e,t,n,r,i=[0,0],o){const s=Lme(e,e.extent||r);let a=s;if(e.extent==="parent")if(e.parentNode&&e.width&&e.height){const d=n.get(e.parentNode),{x:f,y:p}=rf(d,i).positionAbsolute;a=d&&_o(f)&&_o(p)&&_o(d.width)&&_o(d.height)?[[f+e.width*i[0],p+e.height*i[1]],[f+d.width-e.width+e.width*i[0],p+d.height-e.height+e.height*i[1]]]:a}else o==null||o("005",Wl.error005()),a=s;else if(e.extent&&e.parentNode){const d=n.get(e.parentNode),{x:f,y:p}=rf(d,i).positionAbsolute;a=[[e.extent[0][0]+f,e.extent[0][1]+p],[e.extent[1][0]+f,e.extent[1][1]+p]]}let l={x:0,y:0};if(e.parentNode){const d=n.get(e.parentNode);l=rf(d,i).positionAbsolute}const u=a?KT(t,a):t;return{position:{x:u.x-l.x,y:u.y-l.y},positionAbsolute:u}}function _x({nodeId:e,dragItems:t,nodeInternals:n}){const r=t.map(i=>({...n.get(i.id),position:i.position,positionAbsolute:i.positionAbsolute}));return[e?r.find(i=>i.id===e):r[0],r]}const KR=(e,t,n,r)=>{const i=t.querySelectorAll(e);if(!i||!i.length)return null;const o=Array.from(i),s=t.getBoundingClientRect(),a={x:s.width*r[0],y:s.height*r[1]};return o.map(l=>{const u=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),position:l.getAttribute("data-handlepos"),x:(u.left-s.left-a.x)/n,y:(u.top-s.top-a.y)/n,...qT(l)}})};function qh(e,t,n){return n===void 0?n:r=>{const i=t().nodeInternals.get(e);n(r,{...i})}}function q3({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:i,unselectNodesAndEdges:o,multiSelectionActive:s,nodeInternals:a}=t.getState(),l=a.get(e);t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&s)&&(o({nodes:[l]}),requestAnimationFrame(()=>{var u;return(u=r==null?void 0:r.current)==null?void 0:u.blur()})):i([e])}function Dme(){const e=qr();return L.useCallback(({sourceEvent:n})=>{const{transform:r,snapGrid:i,snapToGrid:o}=e.getState(),s=n.touches?n.touches[0].clientX:n.clientX,a=n.touches?n.touches[0].clientY:n.clientY,l={x:(s-r[0])/r[2],y:(a-r[1])/r[2]};return{xSnapped:o?i[0]*Math.round(l.x/i[0]):l.x,ySnapped:o?i[1]*Math.round(l.y/i[1]):l.y,...l}},[])}function bx(e){return(t,n,r)=>e==null?void 0:e(t,r)}function TB({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:s}){const a=qr(),[l,u]=L.useState(!1),d=L.useRef([]),f=L.useRef({x:null,y:null}),p=L.useRef(0),g=L.useRef(null),m=L.useRef({x:0,y:0}),v=L.useRef(null),x=L.useRef(!1),_=Dme();return L.useEffect(()=>{if(e!=null&&e.current){const b=jo(e.current),y=({x:C,y:T})=>{const{nodeInternals:E,onNodeDrag:P,onSelectionDrag:k,updateNodePositions:O,nodeExtent:M,snapGrid:G,snapToGrid:U,nodeOrigin:A,onError:N}=a.getState();f.current={x:C,y:T};let F=!1;if(d.current=d.current.map(D=>{const V={x:C-D.distance.x,y:T-D.distance.y};U&&(V.x=G[0]*Math.round(V.x/G[0]),V.y=G[1]*Math.round(V.y/G[1]));const j=CB(D,V,E,M,A,N);return F=F||D.position.x!==j.position.x||D.position.y!==j.position.y,D.position=j.position,D.positionAbsolute=j.positionAbsolute,D}),!F)return;O(d.current,!0,!0),u(!0);const B=i?P:bx(k);if(B&&v.current){const[D,V]=_x({nodeId:i,dragItems:d.current,nodeInternals:E});B(v.current,D,V)}},S=()=>{if(!g.current)return;const[C,T]=XF(m.current,g.current);if(C!==0||T!==0){const{transform:E,panBy:P}=a.getState();f.current.x=(f.current.x??0)-C/E[2],f.current.y=(f.current.y??0)-T/E[2],P({x:C,y:T})&&y(f.current)}p.current=requestAnimationFrame(S)};if(t)b.on(".drag",null);else{const C=tpe().on("start",T=>{var F;const{nodeInternals:E,multiSelectionActive:P,domNode:k,nodesDraggable:O,unselectNodesAndEdges:M,onNodeDragStart:G,onSelectionDragStart:U}=a.getState(),A=i?G:bx(U);!s&&!P&&i&&((F=E.get(i))!=null&&F.selected||M()),i&&o&&s&&q3({id:i,store:a,nodeRef:e});const N=_(T);if(f.current=N,d.current=Nme(E,O,N,i),A&&d.current){const[B,D]=_x({nodeId:i,dragItems:d.current,nodeInternals:E});A(T.sourceEvent,B,D)}g.current=(k==null?void 0:k.getBoundingClientRect())||null,m.current=Ml(T.sourceEvent,g.current)}).on("drag",T=>{const E=_(T),{autoPanOnNodeDrag:P}=a.getState();!x.current&&P&&(x.current=!0,S()),(f.current.x!==E.xSnapped||f.current.y!==E.ySnapped)&&d.current&&(v.current=T.sourceEvent,m.current=Ml(T.sourceEvent,g.current),y(E))}).on("end",T=>{if(u(!1),x.current=!1,cancelAnimationFrame(p.current),d.current){const{updateNodePositions:E,nodeInternals:P,onNodeDragStop:k,onSelectionDragStop:O}=a.getState(),M=i?k:bx(O);if(E(d.current,!1,!1),M){const[G,U]=_x({nodeId:i,dragItems:d.current,nodeInternals:P});M(T.sourceEvent,G,U)}}}).filter(T=>{const E=T.target;return!T.button&&(!n||!qR(E,`.${n}`,e))&&(!r||qR(E,r,e))});return b.call(C),()=>{b.on(".drag",null)}}}},[e,t,n,r,o,a,i,s,_]),l}function EB(){const e=qr();return L.useCallback(n=>{const{nodeInternals:r,nodeExtent:i,updateNodePositions:o,getNodes:s,snapToGrid:a,snapGrid:l,onError:u,nodesDraggable:d}=e.getState(),f=s().filter(b=>b.selected&&(b.draggable||d&&typeof b.draggable>"u")),p=a?l[0]:5,g=a?l[1]:5,m=n.isShiftPressed?4:1,v=n.x*p*m,x=n.y*g*m,_=f.map(b=>{if(b.positionAbsolute){const y={x:b.positionAbsolute.x+v,y:b.positionAbsolute.y+x};a&&(y.x=l[0]*Math.round(y.x/l[0]),y.y=l[1]*Math.round(y.y/l[1]));const{positionAbsolute:S,position:C}=CB(b,y,r,i,void 0,u);b.position=C,b.positionAbsolute=S}return b});o(_,!0,!1)},[])}const of={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var Kh=e=>{const t=({id:n,type:r,data:i,xPos:o,yPos:s,xPosOrigin:a,yPosOrigin:l,selected:u,onClick:d,onMouseEnter:f,onMouseMove:p,onMouseLeave:g,onContextMenu:m,onDoubleClick:v,style:x,className:_,isDraggable:b,isSelectable:y,isConnectable:S,isFocusable:C,selectNodesOnDrag:T,sourcePosition:E,targetPosition:P,hidden:k,resizeObserver:O,dragHandle:M,zIndex:G,isParent:U,noDragClassName:A,noPanClassName:N,initialized:F,disableKeyboardA11y:B,ariaLabel:D,rfId:V})=>{const j=qr(),q=L.useRef(null),Z=L.useRef(E),ee=L.useRef(P),ie=L.useRef(r),se=y||b||d||f||p||g,le=EB(),W=qh(n,j.getState,f),ne=qh(n,j.getState,p),fe=qh(n,j.getState,g),pe=qh(n,j.getState,m),ve=qh(n,j.getState,v),ye=Ee=>{if(y&&(!T||!b)&&q3({id:n,store:j,nodeRef:q}),d){const lt=j.getState().nodeInternals.get(n);d(Ee,{...lt})}},We=Ee=>{if(!j3(Ee))if(JF.includes(Ee.key)&&y){const lt=Ee.key==="Escape";q3({id:n,store:j,unselect:lt,nodeRef:q})}else!B&&b&&u&&Object.prototype.hasOwnProperty.call(of,Ee.key)&&(j.setState({ariaLiveMessage:`Moved selected node ${Ee.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~s}`}),le({x:of[Ee.key].x,y:of[Ee.key].y,isShiftPressed:Ee.shiftKey}))};L.useEffect(()=>{if(q.current&&!k){const Ee=q.current;return O==null||O.observe(Ee),()=>O==null?void 0:O.unobserve(Ee)}},[k]),L.useEffect(()=>{const Ee=ie.current!==r,lt=Z.current!==E,_e=ee.current!==P;q.current&&(Ee||lt||_e)&&(Ee&&(ie.current=r),lt&&(Z.current=E),_e&&(ee.current=P),j.getState().updateNodeDimensions([{id:n,nodeElement:q.current,forceUpdate:!0}]))},[n,r,E,P]);const Me=TB({nodeRef:q,disabled:k||!b,noDragClassName:A,handleSelector:M,nodeId:n,isSelectable:y,selectNodesOnDrag:T});return k?null:ue.jsx("div",{className:Eo(["react-flow__node",`react-flow__node-${r}`,{[N]:b},_,{selected:u,selectable:y,parent:U,dragging:Me}]),ref:q,style:{zIndex:G,transform:`translate(${a}px,${l}px)`,pointerEvents:se?"all":"none",visibility:F?"visible":"hidden",...x},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:W,onMouseMove:ne,onMouseLeave:fe,onContextMenu:pe,onClick:ye,onDoubleClick:ve,onKeyDown:C?We:void 0,tabIndex:C?0:void 0,role:C?"button":void 0,"aria-describedby":B?void 0:`${SB}-${V}`,"aria-label":D,children:ue.jsx(ome,{value:n,children:ue.jsx(e,{id:n,data:i,type:r,xPos:o,yPos:s,selected:u,isConnectable:S,sourcePosition:E,targetPosition:P,dragging:Me,dragHandle:M,zIndex:G})})})};return t.displayName="NodeWrapper",L.memo(t)};function $me(e){const t={input:Kh(e.input||yB),default:Kh(e.default||W3),output:Kh(e.output||_B),group:Kh(e.group||eE)},n={},r=Object.keys(e).filter(i=>!["input","default","output","group"].includes(i)).reduce((i,o)=>(i[o]=Kh(e[o]||W3),i),n);return{...t,...r}}const Fme=({x:e,y:t,width:n,height:r,origin:i})=>!n||!r?{x:e,y:t}:i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:e,y:t}:{x:e-n*i[0],y:t-r*i[1]},Bme=typeof document<"u"?document:null;var kg=(e=null,t={target:Bme})=>{const[n,r]=L.useState(!1),i=L.useRef(!1),o=L.useRef(new Set([])),[s,a]=L.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.split("+")),d=u.reduce((f,p)=>f.concat(...p),[]);return[u,d]}return[[],[]]},[e]);return L.useEffect(()=>{var l,u;if(e!==null){const d=g=>{if(i.current=g.ctrlKey||g.metaKey||g.shiftKey,!i.current&&j3(g))return!1;const m=YR(g.code,a);o.current.add(g[m]),XR(s,o.current,!1)&&(g.preventDefault(),r(!0))},f=g=>{if(!i.current&&j3(g))return!1;const m=YR(g.code,a);XR(s,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(g[m]),i.current=!1},p=()=>{o.current.clear(),r(!1)};return(l=t==null?void 0:t.target)==null||l.addEventListener("keydown",d),(u=t==null?void 0:t.target)==null||u.addEventListener("keyup",f),window.addEventListener("blur",p),()=>{var g,m;(g=t==null?void 0:t.target)==null||g.removeEventListener("keydown",d),(m=t==null?void 0:t.target)==null||m.removeEventListener("keyup",f),window.removeEventListener("blur",p)}}},[e,r]),n};function XR(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function YR(e,t){return t.includes(e)?"code":"key"}function AB(e,t,n,r){var s,a;if(!e.parentNode)return n;const i=t.get(e.parentNode),o=rf(i,r);return AB(i,t,{x:(n.x??0)+o.x,y:(n.y??0)+o.y,z:(((s=i[nr])==null?void 0:s.z)??0)>(n.z??0)?((a=i[nr])==null?void 0:a.z)??0:n.z??0},r)}function PB(e,t,n){e.forEach(r=>{var i;if(r.parentNode&&!e.has(r.parentNode))throw new Error(`Parent node ${r.parentNode} not found`);if(r.parentNode||n!=null&&n[r.id]){const{x:o,y:s,z:a}=AB(r,e,{...r.position,z:((i=r[nr])==null?void 0:i.z)??0},t);r.positionAbsolute={x:o,y:s},r[nr].z=a,n!=null&&n[r.id]&&(r[nr].isParent=!0)}})}function Sx(e,t,n,r){const i=new Map,o={},s=r?1e3:0;return e.forEach(a=>{var f;const l=(_o(a.zIndex)?a.zIndex:0)+(a.selected?s:0),u=t.get(a.id),d={width:u==null?void 0:u.width,height:u==null?void 0:u.height,...a,positionAbsolute:{x:a.position.x,y:a.position.y}};a.parentNode&&(d.parentNode=a.parentNode,o[a.parentNode]=!0),Object.defineProperty(d,nr,{enumerable:!1,value:{handleBounds:(f=u==null?void 0:u[nr])==null?void 0:f.handleBounds,z:l}}),i.set(a.id,d)}),PB(i,n,o),i}function RB(e,t={}){const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:s,d3Zoom:a,d3Selection:l,fitViewOnInitDone:u,fitViewOnInit:d,nodeOrigin:f}=e(),p=t.initial&&!u&&d;if(a&&l&&(p||!t.initial)){const m=n().filter(x=>{var b;const _=t.includeHiddenNodes?x.width&&x.height:!x.hidden;return(b=t.nodes)!=null&&b.length?_&&t.nodes.some(y=>y.id===x.id):_}),v=m.every(x=>x.width&&x.height);if(m.length>0&&v){const x=aB(m,f),[_,b,y]=cB(x,r,i,t.minZoom??o,t.maxZoom??s,t.padding??.1),S=Il.translate(_,b).scale(y);return typeof t.duration=="number"&&t.duration>0?a.transform(Pu(l,t.duration),S):a.transform(l,S),!0}}return!1}function Ume(e,t){return e.forEach(n=>{const r=t.get(n.id);r&&t.set(r.id,{...r,[nr]:r[nr],selected:n.selected})}),new Map(t)}function zme(e,t){return t.map(n=>{const r=e.find(i=>i.id===n.id);return r&&(n.selected=r.selected),n})}function P0({changedNodes:e,changedEdges:t,get:n,set:r}){const{nodeInternals:i,edges:o,onNodesChange:s,onEdgesChange:a,hasDefaultNodes:l,hasDefaultEdges:u}=n();e!=null&&e.length&&(l&&r({nodeInternals:Ume(e,i)}),s==null||s(e)),t!=null&&t.length&&(u&&r({edges:zme(t,o)}),a==null||a(t))}const od=()=>{},Vme={zoomIn:od,zoomOut:od,zoomTo:od,getZoom:()=>1,setViewport:od,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:od,fitBounds:od,project:e=>e,viewportInitialized:!1},jme=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),Gme=()=>{const e=qr(),{d3Zoom:t,d3Selection:n}=Nn(jme,Ri);return L.useMemo(()=>n&&t?{zoomIn:i=>t.scaleBy(Pu(n,i==null?void 0:i.duration),1.2),zoomOut:i=>t.scaleBy(Pu(n,i==null?void 0:i.duration),1/1.2),zoomTo:(i,o)=>t.scaleTo(Pu(n,o==null?void 0:o.duration),i),getZoom:()=>e.getState().transform[2],setViewport:(i,o)=>{const[s,a,l]=e.getState().transform,u=Il.translate(i.x??s,i.y??a).scale(i.zoom??l);t.transform(Pu(n,o==null?void 0:o.duration),u)},getViewport:()=>{const[i,o,s]=e.getState().transform;return{x:i,y:o,zoom:s}},fitView:i=>RB(e.getState,i),setCenter:(i,o,s)=>{const{width:a,height:l,maxZoom:u}=e.getState(),d=typeof(s==null?void 0:s.zoom)<"u"?s.zoom:u,f=a/2-i*d,p=l/2-o*d,g=Il.translate(f,p).scale(d);t.transform(Pu(n,s==null?void 0:s.duration),g)},fitBounds:(i,o)=>{const{width:s,height:a,minZoom:l,maxZoom:u}=e.getState(),[d,f,p]=cB(i,s,a,l,u,(o==null?void 0:o.padding)??.1),g=Il.translate(d,f).scale(p);t.transform(Pu(n,o==null?void 0:o.duration),g)},project:i=>{const{transform:o,snapToGrid:s,snapGrid:a}=e.getState();return sB(i,o,s,a)},viewportInitialized:!0}:Vme,[t,n])};function OB(){const e=Gme(),t=qr(),n=L.useCallback(()=>t.getState().getNodes().map(v=>({...v})),[]),r=L.useCallback(v=>t.getState().nodeInternals.get(v),[]),i=L.useCallback(()=>{const{edges:v=[]}=t.getState();return v.map(x=>({...x}))},[]),o=L.useCallback(v=>{const{edges:x=[]}=t.getState();return x.find(_=>_.id===v)},[]),s=L.useCallback(v=>{const{getNodes:x,setNodes:_,hasDefaultNodes:b,onNodesChange:y}=t.getState(),S=x(),C=typeof v=="function"?v(S):v;if(b)_(C);else if(y){const T=C.length===0?S.map(E=>({type:"remove",id:E.id})):C.map(E=>({item:E,type:"reset"}));y(T)}},[]),a=L.useCallback(v=>{const{edges:x=[],setEdges:_,hasDefaultEdges:b,onEdgesChange:y}=t.getState(),S=typeof v=="function"?v(x):v;if(b)_(S);else if(y){const C=S.length===0?x.map(T=>({type:"remove",id:T.id})):S.map(T=>({item:T,type:"reset"}));y(C)}},[]),l=L.useCallback(v=>{const x=Array.isArray(v)?v:[v],{getNodes:_,setNodes:b,hasDefaultNodes:y,onNodesChange:S}=t.getState();if(y){const T=[..._(),...x];b(T)}else if(S){const C=x.map(T=>({item:T,type:"add"}));S(C)}},[]),u=L.useCallback(v=>{const x=Array.isArray(v)?v:[v],{edges:_=[],setEdges:b,hasDefaultEdges:y,onEdgesChange:S}=t.getState();if(y)b([..._,...x]);else if(S){const C=x.map(T=>({item:T,type:"add"}));S(C)}},[]),d=L.useCallback(()=>{const{getNodes:v,edges:x=[],transform:_}=t.getState(),[b,y,S]=_;return{nodes:v().map(C=>({...C})),edges:x.map(C=>({...C})),viewport:{x:b,y,zoom:S}}},[]),f=L.useCallback(({nodes:v,edges:x})=>{const{nodeInternals:_,getNodes:b,edges:y,hasDefaultNodes:S,hasDefaultEdges:C,onNodesDelete:T,onEdgesDelete:E,onNodesChange:P,onEdgesChange:k}=t.getState(),O=(v||[]).map(N=>N.id),M=(x||[]).map(N=>N.id),G=b().reduce((N,F)=>{const B=!O.includes(F.id)&&F.parentNode&&N.find(V=>V.id===F.parentNode);return(typeof F.deletable=="boolean"?F.deletable:!0)&&(O.includes(F.id)||B)&&N.push(F),N},[]),U=y.filter(N=>typeof N.deletable=="boolean"?N.deletable:!0),A=U.filter(N=>M.includes(N.id));if(G||A){const N=uB(G,U),F=[...A,...N],B=F.reduce((D,V)=>(D.includes(V.id)||D.push(V.id),D),[]);if((C||S)&&(C&&t.setState({edges:y.filter(D=>!B.includes(D.id))}),S&&(G.forEach(D=>{_.delete(D.id)}),t.setState({nodeInternals:new Map(_)}))),B.length>0&&(E==null||E(F),k&&k(B.map(D=>({id:D,type:"remove"})))),G.length>0&&(T==null||T(G),P)){const D=G.map(V=>({id:V.id,type:"remove"}));P(D)}}},[]),p=L.useCallback(v=>{const x=Zge(v),_=x?null:t.getState().nodeInternals.get(v.id);return[x?v:NR(_),_,x]},[]),g=L.useCallback((v,x=!0,_)=>{const[b,y,S]=p(v);return b?(_||t.getState().getNodes()).filter(C=>{if(!S&&(C.id===y.id||!C.positionAbsolute))return!1;const T=NR(C),E=V3(T,b);return x&&E>0||E>=v.width*v.height}):[]},[]),m=L.useCallback((v,x,_=!0)=>{const[b]=p(v);if(!b)return!1;const y=V3(b,x);return _&&y>0||y>=v.width*v.height},[]);return L.useMemo(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:s,setEdges:a,addNodes:l,addEdges:u,toObject:d,deleteElements:f,getIntersectingNodes:g,isNodeIntersecting:m}),[e,n,r,i,o,s,a,l,u,d,f,g,m])}var Hme=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=qr(),{deleteElements:r}=OB(),i=kg(e),o=kg(t);L.useEffect(()=>{if(i){const{edges:s,getNodes:a}=n.getState(),l=a().filter(d=>d.selected),u=s.filter(d=>d.selected);r({nodes:l,edges:u}),n.setState({nodesSelectionActive:!1})}},[i]),L.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])};function Wme(e){const t=qr();L.useEffect(()=>{let n;const r=()=>{var o,s;if(!e.current)return;const i=qT(e.current);(i.height===0||i.width===0)&&((s=(o=t.getState()).onError)==null||s.call(o,"004",Wl.error004())),t.setState({width:i.width||500,height:i.height||500})};return r(),window.addEventListener("resize",r),e.current&&(n=new ResizeObserver(()=>r()),n.observe(e.current)),()=>{window.removeEventListener("resize",r),n&&e.current&&n.unobserve(e.current)}},[])}const tE={position:"absolute",width:"100%",height:"100%",top:0,left:0},qme=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,wx=e=>({x:e.x,y:e.y,zoom:e.k}),sd=(e,t)=>e.target.closest(`.${t}`),QR=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),Kme=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),Xme=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:s=!1,panOnScrollSpeed:a=.5,panOnScrollMode:l=nf.Free,zoomOnDoubleClick:u=!0,elementsSelectable:d,panOnDrag:f=!0,defaultViewport:p,translateExtent:g,minZoom:m,maxZoom:v,zoomActivationKeyCode:x,preventScrolling:_=!0,children:b,noWheelClassName:y,noPanClassName:S})=>{const C=L.useRef(),T=qr(),E=L.useRef(!1),P=L.useRef(!1),k=L.useRef(null),O=L.useRef({x:0,y:0,zoom:0}),{d3Zoom:M,d3Selection:G,d3ZoomHandler:U,userSelectionActive:A}=Nn(Kme,Ri),N=kg(x),F=L.useRef(0);return Wme(k),L.useEffect(()=>{if(k.current){const B=k.current.getBoundingClientRect(),D=Hge().scaleExtent([m,v]).translateExtent(g),V=jo(k.current).call(D),j=Il.translate(p.x,p.y).scale(Af(p.zoom,m,v)),q=[[0,0],[B.width,B.height]],Z=D.constrain()(j,q,g);D.transform(V,Z),T.setState({d3Zoom:D,d3Selection:V,d3ZoomHandler:V.on("wheel.zoom"),transform:[Z.x,Z.y,Z.k],domNode:k.current.closest(".react-flow")})}},[]),L.useEffect(()=>{G&&M&&(s&&!N&&!A?G.on("wheel.zoom",B=>{if(sd(B,y))return!1;B.preventDefault(),B.stopImmediatePropagation();const D=G.property("__zoom").k||1;if(B.ctrlKey&&o){const Z=gs(B),ee=-B.deltaY*(B.deltaMode===1?.05:B.deltaMode?1:.002)*10,ie=D*Math.pow(2,ee);M.scaleTo(G,ie,Z);return}const V=B.deltaMode===1?20:1,j=l===nf.Vertical?0:B.deltaX*V,q=l===nf.Horizontal?0:B.deltaY*V;M.translateBy(G,-(j/D)*a,-(q/D)*a)},{passive:!1}):typeof U<"u"&&G.on("wheel.zoom",function(B,D){if(!_||sd(B,y))return null;B.preventDefault(),U.call(this,B,D)},{passive:!1}))},[A,s,l,G,M,U,N,o,_,y]),L.useEffect(()=>{M&&M.on("start",B=>{var V;if(!B.sourceEvent)return null;F.current=B.sourceEvent.button;const{onViewportChangeStart:D}=T.getState();if(E.current=!0,((V=B.sourceEvent)==null?void 0:V.type)==="mousedown"&&T.setState({paneDragging:!0}),t||D){const j=wx(B.transform);O.current=j,D==null||D(j),t==null||t(B.sourceEvent,j)}})},[M,t]),L.useEffect(()=>{M&&(A&&!E.current?M.on("zoom",null):A||M.on("zoom",B=>{const{onViewportChange:D}=T.getState();if(T.setState({transform:[B.transform.x,B.transform.y,B.transform.k]}),P.current=!!(r&&QR(f,F.current??0)),e||D){const V=wx(B.transform);D==null||D(V),e==null||e(B.sourceEvent,V)}}))},[A,M,e,f,r]),L.useEffect(()=>{M&&M.on("end",B=>{if(!B.sourceEvent)return null;const{onViewportChangeEnd:D}=T.getState();if(E.current=!1,T.setState({paneDragging:!1}),r&&QR(f,F.current??0)&&!P.current&&r(B.sourceEvent),P.current=!1,(n||D)&&qme(O.current,B.transform)){const V=wx(B.transform);O.current=V,clearTimeout(C.current),C.current=setTimeout(()=>{D==null||D(V),n==null||n(B.sourceEvent,V)},s?150:0)}})},[M,s,f,n,r]),L.useEffect(()=>{M&&M.filter(B=>{const D=N||i,V=o&&B.ctrlKey;if(B.button===1&&B.type==="mousedown"&&(sd(B,"react-flow__node")||sd(B,"react-flow__edge")))return!0;if(!f&&!D&&!s&&!u&&!o||A||!u&&B.type==="dblclick"||sd(B,y)&&B.type==="wheel"||sd(B,S)&&B.type!=="wheel"||!o&&B.ctrlKey&&B.type==="wheel"||!D&&!s&&!V&&B.type==="wheel"||!f&&(B.type==="mousedown"||B.type==="touchstart")||Array.isArray(f)&&!f.includes(B.button)&&(B.type==="mousedown"||B.type==="touchstart"))return!1;const j=Array.isArray(f)&&f.includes(B.button)||!B.button||B.button<=1;return(!B.ctrlKey||B.type==="wheel")&&j})},[A,M,i,o,s,u,f,d,N]),ue.jsx("div",{className:"react-flow__renderer",ref:k,style:tE,children:b})},Yme=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function Qme(){const{userSelectionActive:e,userSelectionRect:t}=Nn(Yme,Ri);return e&&t?ue.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function ZR(e,t){const n=e.find(r=>r.id===t.parentNode);if(n){const r=t.position.x+t.width-n.width,i=t.position.y+t.height-n.height;if(r>0||i>0||t.position.x<0||t.position.y<0){if(n.style={...n.style},n.style.width=n.style.width??n.width,n.style.height=n.style.height??n.height,r>0&&(n.style.width+=r),i>0&&(n.style.height+=i),t.position.x<0){const o=Math.abs(t.position.x);n.position.x=n.position.x-o,n.style.width+=o,t.position.x=0}if(t.position.y<0){const o=Math.abs(t.position.y);n.position.y=n.position.y-o,n.style.height+=o,t.position.y=0}n.width=n.style.width,n.height=n.style.height}}}function kB(e,t){if(e.some(r=>r.type==="reset"))return e.filter(r=>r.type==="reset").map(r=>r.item);const n=e.filter(r=>r.type==="add").map(r=>r.item);return t.reduce((r,i)=>{const o=e.filter(a=>a.id===i.id);if(o.length===0)return r.push(i),r;const s={...i};for(const a of o)if(a)switch(a.type){case"select":{s.selected=a.selected;break}case"position":{typeof a.position<"u"&&(s.position=a.position),typeof a.positionAbsolute<"u"&&(s.positionAbsolute=a.positionAbsolute),typeof a.dragging<"u"&&(s.dragging=a.dragging),s.expandParent&&ZR(r,s);break}case"dimensions":{typeof a.dimensions<"u"&&(s.width=a.dimensions.width,s.height=a.dimensions.height),typeof a.updateStyle<"u"&&(s.style={...s.style||{},...a.dimensions}),typeof a.resizing=="boolean"&&(s.resizing=a.resizing),s.expandParent&&ZR(r,s);break}case"remove":return r}return r.push(s),r},n)}function IB(e,t){return kB(e,t)}function Zme(e,t){return kB(e,t)}const dl=(e,t)=>({id:e,type:"select",selected:t});function Ld(e,t){return e.reduce((n,r)=>{const i=t.includes(r.id);return!r.selected&&i?(r.selected=!0,n.push(dl(r.id,!0))):r.selected&&!i&&(r.selected=!1,n.push(dl(r.id,!1))),n},[])}const xx=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},Jme=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),MB=L.memo(({isSelecting:e,selectionMode:t=Og.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:s,onPaneScroll:a,onPaneMouseEnter:l,onPaneMouseMove:u,onPaneMouseLeave:d,children:f})=>{const p=L.useRef(null),g=qr(),m=L.useRef(0),v=L.useRef(0),x=L.useRef(),{userSelectionActive:_,elementsSelectable:b,dragging:y}=Nn(Jme,Ri),S=()=>{g.setState({userSelectionActive:!1,userSelectionRect:null}),m.current=0,v.current=0},C=U=>{o==null||o(U),g.getState().resetSelectedElements(),g.setState({nodesSelectionActive:!1})},T=U=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){U.preventDefault();return}s==null||s(U)},E=a?U=>a(U):void 0,P=U=>{const{resetSelectedElements:A,domNode:N}=g.getState();if(x.current=N==null?void 0:N.getBoundingClientRect(),!b||!e||U.button!==0||U.target!==p.current||!x.current)return;const{x:F,y:B}=Ml(U,x.current);A(),g.setState({userSelectionRect:{width:0,height:0,startX:F,startY:B,x:F,y:B}}),r==null||r(U)},k=U=>{const{userSelectionRect:A,nodeInternals:N,edges:F,transform:B,onNodesChange:D,onEdgesChange:V,nodeOrigin:j,getNodes:q}=g.getState();if(!e||!x.current||!A)return;g.setState({userSelectionActive:!0,nodesSelectionActive:!1});const Z=Ml(U,x.current),ee=A.startX??0,ie=A.startY??0,se={...A,x:Z.xpe.id),fe=W.map(pe=>pe.id);if(m.current!==fe.length){m.current=fe.length;const pe=Ld(le,fe);pe.length&&(D==null||D(pe))}if(v.current!==ne.length){v.current=ne.length;const pe=Ld(F,ne);pe.length&&(V==null||V(pe))}g.setState({userSelectionRect:se})},O=U=>{if(U.button!==0)return;const{userSelectionRect:A}=g.getState();!_&&A&&U.target===p.current&&(C==null||C(U)),g.setState({nodesSelectionActive:m.current>0}),S(),i==null||i(U)},M=U=>{_&&(g.setState({nodesSelectionActive:m.current>0}),i==null||i(U)),S()},G=b&&(e||_);return ue.jsxs("div",{className:Eo(["react-flow__pane",{dragging:y,selection:e}]),onClick:G?void 0:xx(C,p),onContextMenu:xx(T,p),onWheel:xx(E,p),onMouseEnter:G?void 0:l,onMouseDown:G?P:void 0,onMouseMove:G?k:u,onMouseUp:G?O:void 0,onMouseLeave:G?M:d,ref:p,style:tE,children:[f,ue.jsx(Qme,{})]})});MB.displayName="Pane";const eye=e=>{const t=e.getNodes().filter(n=>n.selected);return{...aB(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function tye({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=qr(),{width:i,height:o,x:s,y:a,transformString:l,userSelectionActive:u}=Nn(eye,Ri),d=EB(),f=L.useRef(null);if(L.useEffect(()=>{var m;n||(m=f.current)==null||m.focus({preventScroll:!0})},[n]),TB({nodeRef:f}),u||!i||!o)return null;const p=e?m=>{const v=r.getState().getNodes().filter(x=>x.selected);e(m,v)}:void 0,g=m=>{Object.prototype.hasOwnProperty.call(of,m.key)&&d({x:of[m.key].x,y:of[m.key].y,isShiftPressed:m.shiftKey})};return ue.jsx("div",{className:Eo(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l},children:ue.jsx("div",{ref:f,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:n?void 0:-1,onKeyDown:n?void 0:g,style:{width:i,height:o,top:a,left:s}})})}var nye=L.memo(tye);const rye=e=>e.nodesSelectionActive,NB=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,deleteKeyCode:a,onMove:l,onMoveStart:u,onMoveEnd:d,selectionKeyCode:f,selectionOnDrag:p,selectionMode:g,onSelectionStart:m,onSelectionEnd:v,multiSelectionKeyCode:x,panActivationKeyCode:_,zoomActivationKeyCode:b,elementsSelectable:y,zoomOnScroll:S,zoomOnPinch:C,panOnScroll:T,panOnScrollSpeed:E,panOnScrollMode:P,zoomOnDoubleClick:k,panOnDrag:O,defaultViewport:M,translateExtent:G,minZoom:U,maxZoom:A,preventScrolling:N,onSelectionContextMenu:F,noWheelClassName:B,noPanClassName:D,disableKeyboardA11y:V})=>{const j=Nn(rye),q=kg(f),ee=kg(_)||O,ie=q||p&&ee!==!0;return Hme({deleteKeyCode:a,multiSelectionKeyCode:x}),ue.jsx(Xme,{onMove:l,onMoveStart:u,onMoveEnd:d,onPaneContextMenu:o,elementsSelectable:y,zoomOnScroll:S,zoomOnPinch:C,panOnScroll:T,panOnScrollSpeed:E,panOnScrollMode:P,zoomOnDoubleClick:k,panOnDrag:!q&&ee,defaultViewport:M,translateExtent:G,minZoom:U,maxZoom:A,zoomActivationKeyCode:b,preventScrolling:N,noWheelClassName:B,noPanClassName:D,children:ue.jsxs(MB,{onSelectionStart:m,onSelectionEnd:v,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,panOnDrag:ee,isSelecting:!!ie,selectionMode:g,children:[e,j&&ue.jsx(nye,{onSelectionContextMenu:F,noPanClassName:D,disableKeyboardA11y:V})]})})};NB.displayName="FlowRenderer";var iye=L.memo(NB);function oye(e){return Nn(L.useCallback(n=>e?lB(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[e]))}const sye=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),LB=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:s}=Nn(sye,Ri),a=oye(e.onlyRenderVisibleElements),l=L.useRef(),u=L.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const d=new ResizeObserver(f=>{const p=f.map(g=>({id:g.target.getAttribute("data-id"),nodeElement:g.target,forceUpdate:!0}));o(p)});return l.current=d,d},[]);return L.useEffect(()=>()=>{var d;(d=l==null?void 0:l.current)==null||d.disconnect()},[]),ue.jsx("div",{className:"react-flow__nodes",style:tE,children:a.map(d=>{var C,T;let f=d.type||"default";e.nodeTypes[f]||(s==null||s("003",Wl.error003(f)),f="default");const p=e.nodeTypes[f]||e.nodeTypes.default,g=!!(d.draggable||t&&typeof d.draggable>"u"),m=!!(d.selectable||i&&typeof d.selectable>"u"),v=!!(d.connectable||n&&typeof d.connectable>"u"),x=!!(d.focusable||r&&typeof d.focusable>"u"),_=e.nodeExtent?KT(d.positionAbsolute,e.nodeExtent):d.positionAbsolute,b=(_==null?void 0:_.x)??0,y=(_==null?void 0:_.y)??0,S=Fme({x:b,y,width:d.width??0,height:d.height??0,origin:e.nodeOrigin});return ue.jsx(p,{id:d.id,className:d.className,style:d.style,type:f,data:d.data,sourcePosition:d.sourcePosition||Ne.Bottom,targetPosition:d.targetPosition||Ne.Top,hidden:d.hidden,xPos:b,yPos:y,xPosOrigin:S.x,yPosOrigin:S.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!d.selected,isDraggable:g,isSelectable:m,isConnectable:v,isFocusable:x,resizeObserver:u,dragHandle:d.dragHandle,zIndex:((C=d[nr])==null?void 0:C.z)??0,isParent:!!((T=d[nr])!=null&&T.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!d.width&&!!d.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:d.ariaLabel},d.id)})})};LB.displayName="NodeRenderer";var aye=L.memo(LB);const lye=[{level:0,isMaxLevel:!0,edges:[]}];function uye(e,t,n=!1){let r=-1;const i=e.reduce((s,a)=>{var d,f;const l=_o(a.zIndex);let u=l?a.zIndex:0;if(n){const p=t.get(a.target),g=t.get(a.source),m=a.selected||(p==null?void 0:p.selected)||(g==null?void 0:g.selected),v=Math.max(((d=g==null?void 0:g[nr])==null?void 0:d.z)||0,((f=p==null?void 0:p[nr])==null?void 0:f.z)||0,1e3);u=(l?a.zIndex:0)+(m?v:0)}return s[u]?s[u].push(a):s[u]=[a],r=u>r?u:r,s},{}),o=Object.entries(i).map(([s,a])=>{const l=+s;return{edges:a,level:l,isMaxLevel:l===r}});return o.length===0?lye:o}function cye(e,t,n){const r=Nn(L.useCallback(i=>e?i.edges.filter(o=>{const s=t.get(o.source),a=t.get(o.target);return(s==null?void 0:s.width)&&(s==null?void 0:s.height)&&(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&Mme({sourcePos:s.positionAbsolute||{x:0,y:0},targetPos:a.positionAbsolute||{x:0,y:0},sourceWidth:s.width,sourceHeight:s.height,targetWidth:a.width,targetHeight:a.height,width:i.width,height:i.height,transform:i.transform})}):i.edges,[e,t]));return uye(r,t,n)}const dye=({color:e="none",strokeWidth:t=1})=>ue.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:"none",points:"-5,-4 0,0 -5,4"}),fye=({color:e="none",strokeWidth:t=1})=>ue.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:e,points:"-5,-4 0,0 -5,4 -5,-4"}),JR={[B1.Arrow]:dye,[B1.ArrowClosed]:fye};function hye(e){const t=qr();return L.useMemo(()=>{var i,o;return Object.prototype.hasOwnProperty.call(JR,e)?JR[e]:((o=(i=t.getState()).onError)==null||o.call(i,"009",Wl.error009(e)),null)},[e])}const pye=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:o="strokeWidth",strokeWidth:s,orient:a="auto-start-reverse"})=>{const l=hye(t);return l?ue.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:a,refX:"0",refY:"0",children:ue.jsx(l,{color:n,strokeWidth:s})}):null},gye=({defaultColor:e,rfId:t})=>n=>{const r=[];return n.edges.reduce((i,o)=>([o.markerStart,o.markerEnd].forEach(s=>{if(s&&typeof s=="object"){const a=H3(s,t);r.includes(a)||(i.push({id:a,color:s.color||e,...s}),r.push(a))}}),i),[]).sort((i,o)=>i.id.localeCompare(o.id))},DB=({defaultColor:e,rfId:t})=>{const n=Nn(L.useCallback(gye({defaultColor:e,rfId:t}),[e,t]),(r,i)=>!(r.length!==i.length||r.some((o,s)=>o.id!==i[s].id)));return ue.jsx("defs",{children:n.map(r=>ue.jsx(pye,{id:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient},r.id))})};DB.displayName="MarkerDefinitions";var mye=L.memo(DB);const yye=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),$B=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeUpdate:s,onEdgeContextMenu:a,onEdgeMouseEnter:l,onEdgeMouseMove:u,onEdgeMouseLeave:d,onEdgeClick:f,edgeUpdaterRadius:p,onEdgeDoubleClick:g,onEdgeUpdateStart:m,onEdgeUpdateEnd:v,children:x})=>{const{edgesFocusable:_,edgesUpdatable:b,elementsSelectable:y,width:S,height:C,connectionMode:T,nodeInternals:E,onError:P}=Nn(yye,Ri),k=cye(t,E,n);return S?ue.jsxs(ue.Fragment,{children:[k.map(({level:O,edges:M,isMaxLevel:G})=>ue.jsxs("svg",{style:{zIndex:O},width:S,height:C,className:"react-flow__edges react-flow__container",children:[G&&ue.jsx(mye,{defaultColor:e,rfId:r}),ue.jsx("g",{children:M.map(U=>{const[A,N,F]=WR(E.get(U.source)),[B,D,V]=WR(E.get(U.target));if(!F||!V)return null;let j=U.type||"default";i[j]||(P==null||P("011",Wl.error011(j)),j="default");const q=i[j]||i.default,Z=T===sc.Strict?D.target:(D.target??[]).concat(D.source??[]),ee=HR(N.source,U.sourceHandle),ie=HR(Z,U.targetHandle),se=(ee==null?void 0:ee.position)||Ne.Bottom,le=(ie==null?void 0:ie.position)||Ne.Top,W=!!(U.focusable||_&&typeof U.focusable>"u"),ne=typeof s<"u"&&(U.updatable||b&&typeof U.updatable>"u");if(!ee||!ie)return P==null||P("008",Wl.error008(ee,U)),null;const{sourceX:fe,sourceY:pe,targetX:ve,targetY:ye}=Ime(A,ee,se,B,ie,le);return ue.jsx(q,{id:U.id,className:Eo([U.className,o]),type:j,data:U.data,selected:!!U.selected,animated:!!U.animated,hidden:!!U.hidden,label:U.label,labelStyle:U.labelStyle,labelShowBg:U.labelShowBg,labelBgStyle:U.labelBgStyle,labelBgPadding:U.labelBgPadding,labelBgBorderRadius:U.labelBgBorderRadius,style:U.style,source:U.source,target:U.target,sourceHandleId:U.sourceHandle,targetHandleId:U.targetHandle,markerEnd:U.markerEnd,markerStart:U.markerStart,sourceX:fe,sourceY:pe,targetX:ve,targetY:ye,sourcePosition:se,targetPosition:le,elementsSelectable:y,onEdgeUpdate:s,onContextMenu:a,onMouseEnter:l,onMouseMove:u,onMouseLeave:d,onClick:f,edgeUpdaterRadius:p,onEdgeDoubleClick:g,onEdgeUpdateStart:m,onEdgeUpdateEnd:v,rfId:r,ariaLabel:U.ariaLabel,isFocusable:W,isUpdatable:ne,pathOptions:"pathOptions"in U?U.pathOptions:void 0,interactionWidth:U.interactionWidth},U.id)})})]},O)),x]}):null};$B.displayName="EdgeRenderer";var vye=L.memo($B);const _ye=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function bye({children:e}){const t=Nn(_ye);return ue.jsx("div",{className:"react-flow__viewport react-flow__container",style:{transform:t},children:e})}function Sye(e){const t=OB(),n=L.useRef(!1);L.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const wye={[Ne.Left]:Ne.Right,[Ne.Right]:Ne.Left,[Ne.Top]:Ne.Bottom,[Ne.Bottom]:Ne.Top},FB=({nodeId:e,handleType:t,style:n,type:r=yl.Bezier,CustomComponent:i,connectionStatus:o})=>{var T,E,P;const{fromNode:s,handleId:a,toX:l,toY:u,connectionMode:d}=Nn(L.useCallback(k=>({fromNode:k.nodeInternals.get(e),handleId:k.connectionHandleId,toX:(k.connectionPosition.x-k.transform[0])/k.transform[2],toY:(k.connectionPosition.y-k.transform[1])/k.transform[2],connectionMode:k.connectionMode}),[e]),Ri),f=(T=s==null?void 0:s[nr])==null?void 0:T.handleBounds;let p=f==null?void 0:f[t];if(d===sc.Loose&&(p=p||(f==null?void 0:f[t==="source"?"target":"source"])),!s||!p)return null;const g=a?p.find(k=>k.id===a):p[0],m=g?g.x+g.width/2:(s.width??0)/2,v=g?g.y+g.height/2:s.height??0,x=(((E=s.positionAbsolute)==null?void 0:E.x)??0)+m,_=(((P=s.positionAbsolute)==null?void 0:P.y)??0)+v,b=g==null?void 0:g.position,y=b?wye[b]:null;if(!b||!y)return null;if(i)return ue.jsx(i,{connectionLineType:r,connectionLineStyle:n,fromNode:s,fromHandle:g,fromX:x,fromY:_,toX:l,toY:u,fromPosition:b,toPosition:y,connectionStatus:o});let S="";const C={sourceX:x,sourceY:_,sourcePosition:b,targetX:l,targetY:u,targetPosition:y};return r===yl.Bezier?[S]=iB(C):r===yl.Step?[S]=G3({...C,borderRadius:0}):r===yl.SmoothStep?[S]=G3(C):r===yl.SimpleBezier?[S]=rB(C):S=`M${x},${_} ${l},${u}`,ue.jsx("path",{d:S,fill:"none",className:"react-flow__connection-path",style:n})};FB.displayName="ConnectionLine";const xye=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function Cye({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:s,width:a,height:l,connectionStatus:u}=Nn(xye,Ri);return!(i&&o&&a&&s)?null:ue.jsx("svg",{style:e,width:a,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container",children:ue.jsx("g",{className:Eo(["react-flow__connection",u]),children:ue.jsx(FB,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:u})})})}const BB=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:s,onEdgeClick:a,onNodeDoubleClick:l,onEdgeDoubleClick:u,onNodeMouseEnter:d,onNodeMouseMove:f,onNodeMouseLeave:p,onNodeContextMenu:g,onSelectionContextMenu:m,onSelectionStart:v,onSelectionEnd:x,connectionLineType:_,connectionLineStyle:b,connectionLineComponent:y,connectionLineContainerStyle:S,selectionKeyCode:C,selectionOnDrag:T,selectionMode:E,multiSelectionKeyCode:P,panActivationKeyCode:k,zoomActivationKeyCode:O,deleteKeyCode:M,onlyRenderVisibleElements:G,elementsSelectable:U,selectNodesOnDrag:A,defaultViewport:N,translateExtent:F,minZoom:B,maxZoom:D,preventScrolling:V,defaultMarkerColor:j,zoomOnScroll:q,zoomOnPinch:Z,panOnScroll:ee,panOnScrollSpeed:ie,panOnScrollMode:se,zoomOnDoubleClick:le,panOnDrag:W,onPaneClick:ne,onPaneMouseEnter:fe,onPaneMouseMove:pe,onPaneMouseLeave:ve,onPaneScroll:ye,onPaneContextMenu:We,onEdgeUpdate:Me,onEdgeContextMenu:Ee,onEdgeMouseEnter:lt,onEdgeMouseMove:_e,onEdgeMouseLeave:jt,edgeUpdaterRadius:Wn,onEdgeUpdateStart:Bt,onEdgeUpdateEnd:it,noDragClassName:mt,noWheelClassName:Jt,noPanClassName:Mr,elevateEdgesOnSelect:yr,disableKeyboardA11y:hi,nodeOrigin:wn,nodeExtent:on,rfId:qn})=>(Sye(o),ue.jsx(iye,{onPaneClick:ne,onPaneMouseEnter:fe,onPaneMouseMove:pe,onPaneMouseLeave:ve,onPaneContextMenu:We,onPaneScroll:ye,deleteKeyCode:M,selectionKeyCode:C,selectionOnDrag:T,selectionMode:E,onSelectionStart:v,onSelectionEnd:x,multiSelectionKeyCode:P,panActivationKeyCode:k,zoomActivationKeyCode:O,elementsSelectable:U,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:q,zoomOnPinch:Z,zoomOnDoubleClick:le,panOnScroll:ee,panOnScrollSpeed:ie,panOnScrollMode:se,panOnDrag:W,defaultViewport:N,translateExtent:F,minZoom:B,maxZoom:D,onSelectionContextMenu:m,preventScrolling:V,noDragClassName:mt,noWheelClassName:Jt,noPanClassName:Mr,disableKeyboardA11y:hi,children:ue.jsxs(bye,{children:[ue.jsx(vye,{edgeTypes:t,onEdgeClick:a,onEdgeDoubleClick:u,onEdgeUpdate:Me,onlyRenderVisibleElements:G,onEdgeContextMenu:Ee,onEdgeMouseEnter:lt,onEdgeMouseMove:_e,onEdgeMouseLeave:jt,onEdgeUpdateStart:Bt,onEdgeUpdateEnd:it,edgeUpdaterRadius:Wn,defaultMarkerColor:j,noPanClassName:Mr,elevateEdgesOnSelect:!!yr,disableKeyboardA11y:hi,rfId:qn,children:ue.jsx(Cye,{style:b,type:_,component:y,containerStyle:S})}),ue.jsx("div",{className:"react-flow__edgelabel-renderer"}),ue.jsx(aye,{nodeTypes:e,onNodeClick:s,onNodeDoubleClick:l,onNodeMouseEnter:d,onNodeMouseMove:f,onNodeMouseLeave:p,onNodeContextMenu:g,selectNodesOnDrag:A,onlyRenderVisibleElements:G,noPanClassName:Mr,noDragClassName:mt,disableKeyboardA11y:hi,nodeOrigin:wn,nodeExtent:on,rfId:qn})]})}));BB.displayName="GraphView";var Tye=L.memo(BB);const K3=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],il={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:K3,nodeExtent:K3,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:sc.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:Jge,isValidConnection:void 0},Eye=()=>dfe((e,t)=>({...il,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:Sx(n,r,i,o)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:r={}}=t();e({edges:n.map(i=>({...r,...i}))})},setDefaultNodesAndEdges:(n,r)=>{const i=typeof n<"u",o=typeof r<"u",s=i?Sx(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:s,edges:o?r:[],hasDefaultNodes:i,hasDefaultEdges:o})},updateNodeDimensions:n=>{const{onNodesChange:r,nodeInternals:i,fitViewOnInit:o,fitViewOnInitDone:s,fitViewOnInitOptions:a,domNode:l,nodeOrigin:u}=t(),d=l==null?void 0:l.querySelector(".react-flow__viewport");if(!d)return;const f=window.getComputedStyle(d),{m22:p}=new window.DOMMatrixReadOnly(f.transform),g=n.reduce((v,x)=>{const _=i.get(x.id);if(_){const b=qT(x.nodeElement);!!(b.width&&b.height&&(_.width!==b.width||_.height!==b.height||x.forceUpdate))&&(i.set(_.id,{..._,[nr]:{..._[nr],handleBounds:{source:KR(".source",x.nodeElement,p,u),target:KR(".target",x.nodeElement,p,u)}},...b}),v.push({id:_.id,type:"dimensions",dimensions:b}))}return v},[]);PB(i,u);const m=s||o&&!s&&RB(t,{initial:!0,...a});e({nodeInternals:new Map(i),fitViewOnInitDone:m}),(g==null?void 0:g.length)>0&&(r==null||r(g))},updateNodePositions:(n,r=!0,i=!1)=>{const{triggerNodeChanges:o}=t(),s=n.map(a=>{const l={id:a.id,type:"position",dragging:i};return r&&(l.positionAbsolute=a.positionAbsolute,l.position=a.position),l});o(s)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:i,hasDefaultNodes:o,nodeOrigin:s,getNodes:a,elevateNodesOnSelect:l}=t();if(n!=null&&n.length){if(o){const u=IB(n,a()),d=Sx(u,i,s,l);e({nodeInternals:d})}r==null||r(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>dl(l,!0)):(s=Ld(o(),n),a=Ld(i,[])),P0({changedNodes:s,changedEdges:a,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>dl(l,!0)):(s=Ld(i,n),a=Ld(o(),[])),P0({changedNodes:a,changedEdges:s,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:i,getNodes:o}=t(),s=n||o(),a=r||i,l=s.map(d=>(d.selected=!1,dl(d.id,!1))),u=a.map(d=>dl(d.id,!1));P0({changedNodes:l,changedEdges:u,get:t,set:e})},setMinZoom:n=>{const{d3Zoom:r,maxZoom:i}=t();r==null||r.scaleExtent([n,i]),e({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:r,minZoom:i}=t();r==null||r.scaleExtent([i,n]),e({maxZoom:n})},setTranslateExtent:n=>{var r;(r=t().d3Zoom)==null||r.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:r}=t(),o=r().filter(a=>a.selected).map(a=>dl(a.id,!1)),s=n.filter(a=>a.selected).map(a=>dl(a.id,!1));P0({changedNodes:o,changedEdges:s,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(i=>{i.positionAbsolute=KT(i.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:n=>{const{transform:r,width:i,height:o,d3Zoom:s,d3Selection:a,translateExtent:l}=t();if(!s||!a||!n.x&&!n.y)return!1;const u=Il.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),d=[[0,0],[i,o]],f=s==null?void 0:s.constrain()(u,d,l);return s.transform(a,f),r[0]!==f.x||r[1]!==f.y||r[2]!==f.k},cancelConnection:()=>e({connectionNodeId:il.connectionNodeId,connectionHandleId:il.connectionHandleId,connectionHandleType:il.connectionHandleType,connectionStatus:il.connectionStatus,connectionStartHandle:il.connectionStartHandle,connectionEndHandle:il.connectionEndHandle}),reset:()=>e({...il})})),UB=({children:e})=>{const t=L.useRef(null);return t.current||(t.current=Eye()),ue.jsx(Wge,{value:t.current,children:e})};UB.displayName="ReactFlowProvider";const zB=({children:e})=>L.useContext(Ib)?ue.jsx(ue.Fragment,{children:e}):ue.jsx(UB,{children:e});zB.displayName="ReactFlowWrapper";function eO(e,t){return L.useRef(null),L.useMemo(()=>t(e),[e])}const Aye={input:yB,default:W3,output:_B,group:eE},Pye={default:U1,straight:QT,step:YT,smoothstep:Mb,simplebezier:XT},Rye=[0,0],Oye=[15,15],kye={x:0,y:0,zoom:1},Iye={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},Mye=L.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=Aye,edgeTypes:s=Pye,onNodeClick:a,onEdgeClick:l,onInit:u,onMove:d,onMoveStart:f,onMoveEnd:p,onConnect:g,onConnectStart:m,onConnectEnd:v,onClickConnectStart:x,onClickConnectEnd:_,onNodeMouseEnter:b,onNodeMouseMove:y,onNodeMouseLeave:S,onNodeContextMenu:C,onNodeDoubleClick:T,onNodeDragStart:E,onNodeDrag:P,onNodeDragStop:k,onNodesDelete:O,onEdgesDelete:M,onSelectionChange:G,onSelectionDragStart:U,onSelectionDrag:A,onSelectionDragStop:N,onSelectionContextMenu:F,onSelectionStart:B,onSelectionEnd:D,connectionMode:V=sc.Strict,connectionLineType:j=yl.Bezier,connectionLineStyle:q,connectionLineComponent:Z,connectionLineContainerStyle:ee,deleteKeyCode:ie="Backspace",selectionKeyCode:se="Shift",selectionOnDrag:le=!1,selectionMode:W=Og.Full,panActivationKeyCode:ne="Space",multiSelectionKeyCode:fe="Meta",zoomActivationKeyCode:pe="Meta",snapToGrid:ve=!1,snapGrid:ye=Oye,onlyRenderVisibleElements:We=!1,selectNodesOnDrag:Me=!0,nodesDraggable:Ee,nodesConnectable:lt,nodesFocusable:_e,nodeOrigin:jt=Rye,edgesFocusable:Wn,edgesUpdatable:Bt,elementsSelectable:it,defaultViewport:mt=kye,minZoom:Jt=.5,maxZoom:Mr=2,translateExtent:yr=K3,preventScrolling:hi=!0,nodeExtent:wn,defaultMarkerColor:on="#b1b1b7",zoomOnScroll:qn=!0,zoomOnPinch:sn=!0,panOnScroll:Gt=!1,panOnScrollSpeed:vr=.5,panOnScrollMode:Nr=nf.Free,zoomOnDoubleClick:Xr=!0,panOnDrag:Ii=!0,onPaneClick:An,onPaneMouseEnter:Yr,onPaneMouseMove:Vs,onPaneMouseLeave:Ji,onPaneScroll:js,onPaneContextMenu:Xt,children:kt,onEdgeUpdate:Kn,onEdgeContextMenu:$n,onEdgeDoubleClick:or,onEdgeMouseEnter:_r,onEdgeMouseMove:br,onEdgeMouseLeave:eo,onEdgeUpdateStart:Sr,onEdgeUpdateEnd:Xn,edgeUpdaterRadius:Mi=10,onNodesChange:os,onEdgesChange:to,noDragClassName:Va="nodrag",noWheelClassName:Ao="nowheel",noPanClassName:wr="nopan",fitView:Gs=!1,fitViewOptions:Zf,connectOnClick:Jf=!0,attributionPosition:eh,proOptions:th,defaultEdgeOptions:Po,elevateNodesOnSelect:nh=!0,elevateEdgesOnSelect:rh=!1,disableKeyboardA11y:kc=!1,autoPanOnConnect:ih=!0,autoPanOnNodeDrag:oh=!0,connectionRadius:sh=20,isValidConnection:ss,onError:ah,style:Ro,id:ja,...lh},Ga)=>{const cu=eO(o,$me),Ic=eO(s,kme),Ha=ja||"1";return ue.jsx("div",{...lh,style:{...Ro,...Iye},ref:Ga,className:Eo(["react-flow",i]),"data-testid":"rf__wrapper",id:ja,children:ue.jsxs(zB,{children:[ue.jsx(Tye,{onInit:u,onMove:d,onMoveStart:f,onMoveEnd:p,onNodeClick:a,onEdgeClick:l,onNodeMouseEnter:b,onNodeMouseMove:y,onNodeMouseLeave:S,onNodeContextMenu:C,onNodeDoubleClick:T,nodeTypes:cu,edgeTypes:Ic,connectionLineType:j,connectionLineStyle:q,connectionLineComponent:Z,connectionLineContainerStyle:ee,selectionKeyCode:se,selectionOnDrag:le,selectionMode:W,deleteKeyCode:ie,multiSelectionKeyCode:fe,panActivationKeyCode:ne,zoomActivationKeyCode:pe,onlyRenderVisibleElements:We,selectNodesOnDrag:Me,defaultViewport:mt,translateExtent:yr,minZoom:Jt,maxZoom:Mr,preventScrolling:hi,zoomOnScroll:qn,zoomOnPinch:sn,zoomOnDoubleClick:Xr,panOnScroll:Gt,panOnScrollSpeed:vr,panOnScrollMode:Nr,panOnDrag:Ii,onPaneClick:An,onPaneMouseEnter:Yr,onPaneMouseMove:Vs,onPaneMouseLeave:Ji,onPaneScroll:js,onPaneContextMenu:Xt,onSelectionContextMenu:F,onSelectionStart:B,onSelectionEnd:D,onEdgeUpdate:Kn,onEdgeContextMenu:$n,onEdgeDoubleClick:or,onEdgeMouseEnter:_r,onEdgeMouseMove:br,onEdgeMouseLeave:eo,onEdgeUpdateStart:Sr,onEdgeUpdateEnd:Xn,edgeUpdaterRadius:Mi,defaultMarkerColor:on,noDragClassName:Va,noWheelClassName:Ao,noPanClassName:wr,elevateEdgesOnSelect:rh,rfId:Ha,disableKeyboardA11y:kc,nodeOrigin:jt,nodeExtent:wn}),ue.jsx(wme,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:g,onConnectStart:m,onConnectEnd:v,onClickConnectStart:x,onClickConnectEnd:_,nodesDraggable:Ee,nodesConnectable:lt,nodesFocusable:_e,edgesFocusable:Wn,edgesUpdatable:Bt,elementsSelectable:it,elevateNodesOnSelect:nh,minZoom:Jt,maxZoom:Mr,nodeExtent:wn,onNodesChange:os,onEdgesChange:to,snapToGrid:ve,snapGrid:ye,connectionMode:V,translateExtent:yr,connectOnClick:Jf,defaultEdgeOptions:Po,fitView:Gs,fitViewOptions:Zf,onNodesDelete:O,onEdgesDelete:M,onNodeDragStart:E,onNodeDrag:P,onNodeDragStop:k,onSelectionDrag:A,onSelectionDragStart:U,onSelectionDragStop:N,noPanClassName:wr,nodeOrigin:jt,rfId:Ha,autoPanOnConnect:ih,autoPanOnNodeDrag:oh,onError:ah,connectionRadius:sh,isValidConnection:ss}),ue.jsx(bme,{onSelectionChange:G}),kt,ue.jsx(Xge,{proOptions:th,position:eh}),ue.jsx(Ame,{rfId:Ha,disableKeyboardA11y:kc})]})})});Mye.displayName="ReactFlow";var VB={},Nb={},Lb={};Object.defineProperty(Lb,"__esModule",{value:!0});Lb.createLogMethods=void 0;var Nye=function(){return{debug:console.debug.bind(console),error:console.error.bind(console),fatal:console.error.bind(console),info:console.info.bind(console),trace:console.debug.bind(console),warn:console.warn.bind(console)}};Lb.createLogMethods=Nye;var nE={},Db={};Object.defineProperty(Db,"__esModule",{value:!0});Db.boolean=void 0;const Lye=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1"].includes(e.trim().toLowerCase());case"[object Number]":return e.valueOf()===1;case"[object Boolean]":return e.valueOf();default:return!1}};Db.boolean=Lye;var $b={};Object.defineProperty($b,"__esModule",{value:!0});$b.isBooleanable=void 0;const Dye=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1","false","f","no","n","off","0"].includes(e.trim().toLowerCase());case"[object Number]":return[0,1].includes(e.valueOf());case"[object Boolean]":return!0;default:return!1}};$b.isBooleanable=Dye;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isBooleanable=e.boolean=void 0;const t=Db;Object.defineProperty(e,"boolean",{enumerable:!0,get:function(){return t.boolean}});const n=$b;Object.defineProperty(e,"isBooleanable",{enumerable:!0,get:function(){return n.isBooleanable}})})(nE);var tO=Object.prototype.toString,jB=function(t){var n=tO.call(t),r=n==="[object Arguments]";return r||(r=n!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&tO.call(t.callee)==="[object Function]"),r},Cx,nO;function $ye(){if(nO)return Cx;nO=1;var e;if(!Object.keys){var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=jB,i=Object.prototype.propertyIsEnumerable,o=!i.call({toString:null},"toString"),s=i.call(function(){},"prototype"),a=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],l=function(p){var g=p.constructor;return g&&g.prototype===p},u={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},d=function(){if(typeof window>"u")return!1;for(var p in window)try{if(!u["$"+p]&&t.call(window,p)&&window[p]!==null&&typeof window[p]=="object")try{l(window[p])}catch{return!0}}catch{return!0}return!1}(),f=function(p){if(typeof window>"u"||!d)return l(p);try{return l(p)}catch{return!1}};e=function(g){var m=g!==null&&typeof g=="object",v=n.call(g)==="[object Function]",x=r(g),_=m&&n.call(g)==="[object String]",b=[];if(!m&&!v&&!x)throw new TypeError("Object.keys called on a non-object");var y=s&&v;if(_&&g.length>0&&!t.call(g,0))for(var S=0;S0)for(var C=0;C"u"||!ur?dt:ur(Uint8Array),qu={"%AggregateError%":typeof AggregateError>"u"?dt:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?dt:ArrayBuffer,"%ArrayIteratorPrototype%":ad&&ur?ur([][Symbol.iterator]()):dt,"%AsyncFromSyncIteratorPrototype%":dt,"%AsyncFunction%":bd,"%AsyncGenerator%":bd,"%AsyncGeneratorFunction%":bd,"%AsyncIteratorPrototype%":bd,"%Atomics%":typeof Atomics>"u"?dt:Atomics,"%BigInt%":typeof BigInt>"u"?dt:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?dt:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?dt:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?dt:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?dt:Float32Array,"%Float64Array%":typeof Float64Array>"u"?dt:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?dt:FinalizationRegistry,"%Function%":HB,"%GeneratorFunction%":bd,"%Int8Array%":typeof Int8Array>"u"?dt:Int8Array,"%Int16Array%":typeof Int16Array>"u"?dt:Int16Array,"%Int32Array%":typeof Int32Array>"u"?dt:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":ad&&ur?ur(ur([][Symbol.iterator]())):dt,"%JSON%":typeof JSON=="object"?JSON:dt,"%Map%":typeof Map>"u"?dt:Map,"%MapIteratorPrototype%":typeof Map>"u"||!ad||!ur?dt:ur(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?dt:Promise,"%Proxy%":typeof Proxy>"u"?dt:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?dt:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?dt:Set,"%SetIteratorPrototype%":typeof Set>"u"||!ad||!ur?dt:ur(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?dt:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":ad&&ur?ur(""[Symbol.iterator]()):dt,"%Symbol%":ad?Symbol:dt,"%SyntaxError%":Pf,"%ThrowTypeError%":Jye,"%TypedArray%":t0e,"%TypeError%":sf,"%Uint8Array%":typeof Uint8Array>"u"?dt:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?dt:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?dt:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?dt:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?dt:WeakMap,"%WeakRef%":typeof WeakRef>"u"?dt:WeakRef,"%WeakSet%":typeof WeakSet>"u"?dt:WeakSet};if(ur)try{null.error}catch(e){var n0e=ur(ur(e));qu["%Error.prototype%"]=n0e}var r0e=function e(t){var n;if(t==="%AsyncFunction%")n=Ex("async function () {}");else if(t==="%GeneratorFunction%")n=Ex("function* () {}");else if(t==="%AsyncGeneratorFunction%")n=Ex("async function* () {}");else if(t==="%AsyncGenerator%"){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if(t==="%AsyncIteratorPrototype%"){var i=e("%AsyncGenerator%");i&&ur&&(n=ur(i.prototype))}return qu[t]=n,n},aO={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},bm=GB,V1=Zye,i0e=bm.call(Function.call,Array.prototype.concat),o0e=bm.call(Function.apply,Array.prototype.splice),lO=bm.call(Function.call,String.prototype.replace),j1=bm.call(Function.call,String.prototype.slice),s0e=bm.call(Function.call,RegExp.prototype.exec),a0e=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,l0e=/\\(\\)?/g,u0e=function(t){var n=j1(t,0,1),r=j1(t,-1);if(n==="%"&&r!=="%")throw new Pf("invalid intrinsic syntax, expected closing `%`");if(r==="%"&&n!=="%")throw new Pf("invalid intrinsic syntax, expected opening `%`");var i=[];return lO(t,a0e,function(o,s,a,l){i[i.length]=a?lO(l,l0e,"$1"):s||o}),i},c0e=function(t,n){var r=t,i;if(V1(aO,r)&&(i=aO[r],r="%"+i[0]+"%"),V1(qu,r)){var o=qu[r];if(o===bd&&(o=r0e(r)),typeof o>"u"&&!n)throw new sf("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:r,value:o}}throw new Pf("intrinsic "+t+" does not exist!")},d0e=function(t,n){if(typeof t!="string"||t.length===0)throw new sf("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof n!="boolean")throw new sf('"allowMissing" argument must be a boolean');if(s0e(/^%?[^%]*%?$/,t)===null)throw new Pf("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=u0e(t),i=r.length>0?r[0]:"",o=c0e("%"+i+"%",n),s=o.name,a=o.value,l=!1,u=o.alias;u&&(i=u[0],o0e(r,i0e([0,1],u)));for(var d=1,f=!0;d=r.length){var v=Wu(a,p);f=!!v,f&&"get"in v&&!("originalValue"in v.get)?a=v.get:a=a[p]}else f=V1(a,p),a=a[p];f&&!l&&(qu[s]=a)}}return a},f0e=d0e,X3=f0e("%Object.defineProperty%",!0),Y3=function(){if(X3)try{return X3({},"a",{value:1}),!0}catch{return!1}return!1};Y3.hasArrayLengthDefineBug=function(){if(!Y3())return null;try{return X3([],"length",{value:1}).length!==1}catch{return!0}};var h0e=Y3,p0e=Uye,g0e=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",m0e=Object.prototype.toString,y0e=Array.prototype.concat,WB=Object.defineProperty,v0e=function(e){return typeof e=="function"&&m0e.call(e)==="[object Function]"},_0e=h0e(),qB=WB&&_0e,b0e=function(e,t,n,r){if(t in e){if(r===!0){if(e[t]===n)return}else if(!v0e(r)||!r())return}qB?WB(e,t,{configurable:!0,enumerable:!1,value:n,writable:!0}):e[t]=n},KB=function(e,t){var n=arguments.length>2?arguments[2]:{},r=p0e(t);g0e&&(r=y0e.call(r,Object.getOwnPropertySymbols(t)));for(var i=0;i":return t>e;case":<":return t=":return t>=e;case":<=":return t<=e;default:throw new Error("Unimplemented comparison operator: ".concat(n))}};zb.testComparisonRange=z0e;var Vb={};Object.defineProperty(Vb,"__esModule",{value:!0});Vb.testRange=void 0;var V0e=function(e,t){return typeof e=="number"?!(et.max||e===t.max&&!t.maxInclusive):!1};Vb.testRange=V0e;(function(e){var t=He&&He.__assign||function(){return t=Object.assign||function(d){for(var f,p=1,g=arguments.length;p0?{path:l.path,query:new RegExp("("+l.keywords.map(function(u){return(0,H0e.escapeRegexString)(u.trim())}).join("|")+")")}:{path:l.path}})};jb.highlight=q0e;var Gb={},tU={exports:{}};(function(e){(function(t,n){e.exports?e.exports=n():t.nearley=n()})(He,function(){function t(u,d,f){return this.id=++t.highestId,this.name=u,this.symbols=d,this.postprocess=f,this}t.highestId=0,t.prototype.toString=function(u){var d=typeof u>"u"?this.symbols.map(l).join(" "):this.symbols.slice(0,u).map(l).join(" ")+" ● "+this.symbols.slice(u).map(l).join(" ");return this.name+" → "+d};function n(u,d,f,p){this.rule=u,this.dot=d,this.reference=f,this.data=[],this.wantedBy=p,this.isComplete=this.dot===u.symbols.length}n.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},n.prototype.nextState=function(u){var d=new n(this.rule,this.dot+1,this.reference,this.wantedBy);return d.left=this,d.right=u,d.isComplete&&(d.data=d.build(),d.right=void 0),d},n.prototype.build=function(){var u=[],d=this;do u.push(d.right.data),d=d.left;while(d.left);return u.reverse(),u},n.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))};function r(u,d){this.grammar=u,this.index=d,this.states=[],this.wants={},this.scannable=[],this.completed={}}r.prototype.process=function(u){for(var d=this.states,f=this.wants,p=this.completed,g=0;g0&&d.push(" ^ "+p+" more lines identical to this"),p=0,d.push(" "+v)),f=v}},s.prototype.getSymbolDisplay=function(u){return a(u)},s.prototype.buildFirstStateStack=function(u,d){if(d.indexOf(u)!==-1)return null;if(u.wantedBy.length===0)return[u];var f=u.wantedBy[0],p=[u].concat(d),g=this.buildFirstStateStack(f,p);return g===null?null:[u].concat(g)},s.prototype.save=function(){var u=this.table[this.current];return u.lexerState=this.lexerState,u},s.prototype.restore=function(u){var d=u.index;this.current=d,this.table[d]=u,this.table.splice(d+1),this.lexerState=u.lexerState,this.results=this.finish()},s.prototype.rewind=function(u){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[u])},s.prototype.finish=function(){var u=[],d=this.grammar.start,f=this.table[this.table.length-1];return f.states.forEach(function(p){p.rule.name===d&&p.dot===p.rule.symbols.length&&p.reference===0&&p.data!==s.fail&&u.push(p)}),u.map(function(p){return p.data})};function a(u){var d=typeof u;if(d==="string")return u;if(d==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return"character matching "+u;if(u.type)return u.type+" token";if(u.test)return"token matching "+String(u.test);throw new Error("Unknown symbol type: "+u)}}function l(u){var d=typeof u;if(d==="string")return u;if(d==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return u.toString();if(u.type)return"%"+u.type;if(u.test)return"<"+String(u.test)+">";throw new Error("Unknown symbol type: "+u)}}return{Parser:s,Grammar:i,Rule:t}})})(tU);var K0e=tU.exports,ac={},nU={},ru={};ru.__esModule=void 0;ru.__esModule=!0;var X0e=typeof Object.setPrototypeOf=="function",Y0e=typeof Object.getPrototypeOf=="function",Q0e=typeof Object.defineProperty=="function",Z0e=typeof Object.create=="function",J0e=typeof Object.prototype.hasOwnProperty=="function",eve=function(t,n){X0e?Object.setPrototypeOf(t,n):t.__proto__=n};ru.setPrototypeOf=eve;var tve=function(t){return Y0e?Object.getPrototypeOf(t):t.__proto__||t.prototype};ru.getPrototypeOf=tve;var lO=!1,nve=function e(t,n,r){if(Q0e&&!lO)try{Object.defineProperty(t,n,r)}catch{lO=!0,e(t,n,r)}else t[n]=r.value};ru.defineProperty=nve;var rU=function(t,n){return J0e?t.hasOwnProperty(t,n):t[n]===void 0};ru.hasOwnProperty=rU;var rve=function(t,n){if(Z0e)return Object.create(t,n);var r=function(){};r.prototype=t;var i=new r;if(typeof n>"u")return i;if(typeof n=="null")throw new Error("PropertyDescriptors must not be null.");if(typeof n=="object")for(var o in n)rU(n,o)&&(i[o]=n[o].value);return i};ru.objectCreate=rve;(function(e){e.__esModule=void 0,e.__esModule=!0;var t=ru,n=t.setPrototypeOf,r=t.getPrototypeOf,i=t.defineProperty,o=t.objectCreate,s=new Error().toString()==="[object Error]",a="";function l(u){var d=this.constructor,f=d.name||function(){var x=d.toString().match(/^function\s*([^\s(]+)/);return x===null?a||"Error":x[1]}(),p=f==="Error",g=p?a:f,m=Error.apply(this,arguments);if(n(m,r(this)),!(m instanceof d)||!(m instanceof l)){var m=this;Error.apply(this,arguments),i(m,"message",{configurable:!0,enumerable:!1,value:u,writable:!0})}if(i(m,"name",{configurable:!0,enumerable:!1,value:g,writable:!0}),Error.captureStackTrace&&Error.captureStackTrace(m,p?l:d),m.stack===void 0){var v=new Error(u);v.name=m.name,m.stack=v.stack}return s&&i(m,"toString",{configurable:!0,enumerable:!1,value:function(){return(this.name||"Error")+(typeof this.message>"u"?"":": "+this.message)},writable:!0}),m}a=l.name||"ExtendableError",l.prototype=o(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),e.ExtendableError=l,e.default=e.ExtendableError})(nU);var iU=He&&He.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(r[o]=i[o])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(ac,"__esModule",{value:!0});ac.SyntaxError=ac.LiqeError=void 0;var ive=nU,oU=function(e){iU(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(ive.ExtendableError);ac.LiqeError=oU;var ove=function(e){iU(t,e);function t(n,r,i,o){var s=e.call(this,n)||this;return s.message=n,s.offset=r,s.line=i,s.column=o,s}return t}(oU);ac.SyntaxError=ove;var iE={},G1=He&&He.__assign||function(){return G1=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$2"]},{name:"comparison_operator$subexpression$1$string$3",symbols:[{literal:":"},{literal:"<"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$3"]},{name:"comparison_operator$subexpression$1$string$4",symbols:[{literal:":"},{literal:">"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$4"]},{name:"comparison_operator$subexpression$1$string$5",symbols:[{literal:":"},{literal:"<"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$5"]},{name:"comparison_operator",symbols:["comparison_operator$subexpression$1"],postprocess:function(e,t){return{location:{start:t,end:t+e[0][0].length},type:"ComparisonOperator",operator:e[0][0]}}},{name:"regex",symbols:["regex_body","regex_flags"],postprocess:function(e){return e.join("")}},{name:"regex_body$ebnf$1",symbols:[]},{name:"regex_body$ebnf$1",symbols:["regex_body$ebnf$1","regex_body_char"],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_body",symbols:[{literal:"/"},"regex_body$ebnf$1",{literal:"/"}],postprocess:function(e){return"/"+e[1].join("")+"/"}},{name:"regex_body_char",symbols:[/[^\\]/],postprocess:na},{name:"regex_body_char",symbols:[{literal:"\\"},/[^\\]/],postprocess:function(e){return"\\"+e[1]}},{name:"regex_flags",symbols:[]},{name:"regex_flags$ebnf$1",symbols:[/[gmiyusd]/]},{name:"regex_flags$ebnf$1",symbols:["regex_flags$ebnf$1",/[gmiyusd]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_flags",symbols:["regex_flags$ebnf$1"],postprocess:function(e){return e[0].join("")}},{name:"unquoted_value$ebnf$1",symbols:[]},{name:"unquoted_value$ebnf$1",symbols:["unquoted_value$ebnf$1",/[a-zA-Z\.\-_*@#$]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"unquoted_value",symbols:[/[a-zA-Z_*@#$]/,"unquoted_value$ebnf$1"],postprocess:function(e){return e[0]+e[1].join("")}}],ParserStart:"main"};iE.default=sve;var sU={},Hb={},xm={};Object.defineProperty(xm,"__esModule",{value:!0});xm.isSafePath=void 0;var ave=/^(\.(?:[_a-zA-Z][a-zA-Z\d_]*|\0|[1-9]\d*))+$/u,lve=function(e){return ave.test(e)};xm.isSafePath=lve;Object.defineProperty(Hb,"__esModule",{value:!0});Hb.createGetValueFunctionBody=void 0;var uve=xm,cve=function(e){if(!(0,uve.isSafePath)(e))throw new Error("Unsafe path.");var t="return subject"+e;return t.replace(/(\.(\d+))/g,".[$2]").replace(/\./g,"?.")};Hb.createGetValueFunctionBody=cve;(function(e){var t=He&&He.__assign||function(){return t=Object.assign||function(o){for(var s,a=1,l=arguments.length;a\d+) col (?\d+)/,mve=function(e){if(e.trim()==="")return{location:{end:0,start:0},type:"EmptyExpression"};var t=new lU.default.Parser(pve),n;try{n=t.feed(e).results}catch(o){if(typeof(o==null?void 0:o.message)=="string"&&typeof(o==null?void 0:o.offset)=="number"){var r=o.message.match(gve);throw r?new dve.SyntaxError("Syntax error at line ".concat(r.groups.line," column ").concat(r.groups.column),o.offset,Number(r.groups.line),Number(r.groups.column)):o}throw o}if(n.length===0)throw new Error("Found no parsings.");if(n.length>1)throw new Error("Ambiguous results.");var i=(0,hve.hydrateAst)(n[0]);return i};Gb.parse=mve;var Wb={};Object.defineProperty(Wb,"__esModule",{value:!0});Wb.test=void 0;var yve=Sm,vve=function(e,t){return(0,yve.filter)(e,[t]).length===1};Wb.test=vve;var uU={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.serialize=void 0;var t=function(o,s){return s==="double"?'"'.concat(o,'"'):s==="single"?"'".concat(o,"'"):o},n=function(o){if(o.type==="LiteralExpression")return o.quoted&&typeof o.value=="string"?t(o.value,o.quotes):String(o.value);if(o.type==="RegexExpression")return String(o.value);if(o.type==="RangeExpression"){var s=o.range,a=s.min,l=s.max,u=s.minInclusive,d=s.maxInclusive;return"".concat(u?"[":"{").concat(a," TO ").concat(l).concat(d?"]":"}")}if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")},r=function(o){if(o.type!=="Tag")throw new Error("Expected a tag expression.");var s=o.field,a=o.expression,l=o.operator;if(s.type==="ImplicitField")return n(a);var u=s.quoted?t(s.name,s.quotes):s.name,d=" ".repeat(a.location.start-l.location.end);return u+l.operator+d+n(a)},i=function(o){if(o.type==="ParenthesizedExpression"){if(!("location"in o.expression))throw new Error("Expected location in expression.");if(!o.location.end)throw new Error("Expected location end.");var s=" ".repeat(o.expression.location.start-(o.location.start+1)),a=" ".repeat(o.location.end-o.expression.location.end-1);return"(".concat(s).concat((0,e.serialize)(o.expression)).concat(a,")")}if(o.type==="Tag")return r(o);if(o.type==="LogicalExpression"){var l="";return o.operator.type==="BooleanOperator"?(l+=" ".repeat(o.operator.location.start-o.left.location.end),l+=o.operator.operator,l+=" ".repeat(o.right.location.start-o.operator.location.end)):l=" ".repeat(o.right.location.start-o.left.location.end),"".concat((0,e.serialize)(o.left)).concat(l).concat((0,e.serialize)(o.right))}if(o.type==="UnaryOperator")return(o.operator==="NOT"?"NOT ":o.operator)+(0,e.serialize)(o.operand);if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")};e.serialize=i})(uU);var qb={};Object.defineProperty(qb,"__esModule",{value:!0});qb.isSafeUnquotedExpression=void 0;var _ve=function(e){return/^[#$*@A-Z_a-z][#$*.@A-Z_a-z-]*$/.test(e)};qb.isSafeUnquotedExpression=_ve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isSafeUnquotedExpression=e.serialize=e.SyntaxError=e.LiqeError=e.test=e.parse=e.highlight=e.filter=void 0;var t=Sm;Object.defineProperty(e,"filter",{enumerable:!0,get:function(){return t.filter}});var n=jb;Object.defineProperty(e,"highlight",{enumerable:!0,get:function(){return n.highlight}});var r=Gb;Object.defineProperty(e,"parse",{enumerable:!0,get:function(){return r.parse}});var i=Wb;Object.defineProperty(e,"test",{enumerable:!0,get:function(){return i.test}});var o=ac;Object.defineProperty(e,"LiqeError",{enumerable:!0,get:function(){return o.LiqeError}}),Object.defineProperty(e,"SyntaxError",{enumerable:!0,get:function(){return o.SyntaxError}});var s=uU;Object.defineProperty(e,"serialize",{enumerable:!0,get:function(){return s.serialize}});var a=qb;Object.defineProperty(e,"isSafeUnquotedExpression",{enumerable:!0,get:function(){return a.isSafeUnquotedExpression}})})(eU);var Cm={},cU={},lc={};Object.defineProperty(lc,"__esModule",{value:!0});lc.ROARR_LOG_FORMAT_VERSION=lc.ROARR_VERSION=void 0;lc.ROARR_VERSION="5.0.0";lc.ROARR_LOG_FORMAT_VERSION="2.0.0";var Tm={};Object.defineProperty(Tm,"__esModule",{value:!0});Tm.logLevels=void 0;Tm.logLevels={debug:20,error:50,fatal:60,info:30,trace:10,warn:40};var dU={},Kb={};Object.defineProperty(Kb,"__esModule",{value:!0});Kb.hasOwnProperty=void 0;const bve=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);Kb.hasOwnProperty=bve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.hasOwnProperty=void 0;var t=Kb;Object.defineProperty(e,"hasOwnProperty",{enumerable:!0,get:function(){return t.hasOwnProperty}})})(dU);var fU={},Xb={},Yb={};Object.defineProperty(Yb,"__esModule",{value:!0});Yb.tokenize=void 0;const Sve=/(?:%(?([+0-]|-\+))?(?\d+)?(?\d+\$)?(?\.\d+)?(?[%BCESb-iosux]))|(\\%)/g,wve=e=>{let t;const n=[];let r=0,i=0,o=null;for(;(t=Sve.exec(e))!==null;){t.index>i&&(o={literal:e.slice(i,t.index),type:"literal"},n.push(o));const s=t[0];i=t.index+s.length,s==="\\%"||s==="%%"?o&&o.type==="literal"?o.literal+="%":(o={literal:"%",type:"literal"},n.push(o)):t.groups&&(o={conversion:t.groups.conversion,flag:t.groups.flag||null,placeholder:s,position:t.groups.position?Number.parseInt(t.groups.position,10)-1:r++,precision:t.groups.precision?Number.parseInt(t.groups.precision.slice(1),10):null,type:"placeholder",width:t.groups.width?Number.parseInt(t.groups.width,10):null},n.push(o))}return i<=e.length-1&&(o&&o.type==="literal"?o.literal+=e.slice(i):n.push({literal:e.slice(i),type:"literal"})),n};Yb.tokenize=wve;Object.defineProperty(Xb,"__esModule",{value:!0});Xb.createPrintf=void 0;const uO=tE,xve=Yb,Cve=(e,t)=>t.placeholder,Tve=e=>{var t;const n=(o,s,a)=>a==="-"?o.padEnd(s," "):a==="-+"?((Number(o)>=0?"+":"")+o).padEnd(s," "):a==="+"?((Number(o)>=0?"+":"")+o).padStart(s," "):a==="0"?o.padStart(s,"0"):o.padStart(s," "),r=(t=e==null?void 0:e.formatUnboundExpression)!==null&&t!==void 0?t:Cve,i={};return(o,...s)=>{let a=i[o];a||(a=i[o]=xve.tokenize(o));let l="";for(const u of a)if(u.type==="literal")l+=u.literal;else{let d=s[u.position];if(d===void 0)l+=r(o,u,s);else if(u.conversion==="b")l+=uO.boolean(d)?"true":"false";else if(u.conversion==="B")l+=uO.boolean(d)?"TRUE":"FALSE";else if(u.conversion==="c")l+=d;else if(u.conversion==="C")l+=String(d).toUpperCase();else if(u.conversion==="i"||u.conversion==="d")d=String(Math.trunc(d)),u.width!==null&&(d=n(d,u.width,u.flag)),l+=d;else if(u.conversion==="e")l+=Number(d).toExponential();else if(u.conversion==="E")l+=Number(d).toExponential().toUpperCase();else if(u.conversion==="f")u.precision!==null&&(d=Number(d).toFixed(u.precision)),u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else if(u.conversion==="o")l+=(Number.parseInt(String(d),10)>>>0).toString(8);else if(u.conversion==="s")u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else if(u.conversion==="S")u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=String(d).toUpperCase();else if(u.conversion==="u")l+=Number.parseInt(String(d),10)>>>0;else if(u.conversion==="x")d=(Number.parseInt(String(d),10)>>>0).toString(16),u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else throw new Error("Unknown format specifier.")}return l}};Xb.createPrintf=Tve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.printf=e.createPrintf=void 0;const t=Xb;Object.defineProperty(e,"createPrintf",{enumerable:!0,get:function(){return t.createPrintf}}),e.printf=t.createPrintf()})(fU);var Q3={exports:{}};(function(e,t){const{hasOwnProperty:n}=Object.prototype,r=x();r.configure=x,r.stringify=r,r.default=r,t.stringify=r,t.configure=x,e.exports=r;const i=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?:[^\ud800-\udbff]|^)[\udc00-\udfff]/;function o(_){return _.length<5e3&&!i.test(_)?`"${_}"`:JSON.stringify(_)}function s(_){if(_.length>200)return _.sort();for(let b=1;b<_.length;b++){const y=_[b];let S=b;for(;S!==0&&_[S-1]>y;)_[S]=_[S-1],S--;_[S]=y}return _}const a=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function l(_){return a.call(_)!==void 0&&_.length!==0}function u(_,b,y){_.length= 1`)}return y===void 0?1/0:y}function g(_){return _===1?"1 item":`${_} items`}function m(_){const b=new Set;for(const y of _)(typeof y=="string"||typeof y=="number")&&b.add(String(y));return b}function v(_){if(n.call(_,"strict")){const b=_.strict;if(typeof b!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(b)return y=>{let S=`Object can not safely be stringified. Received type ${typeof y}`;throw typeof y!="function"&&(S+=` (${y.toString()})`),new Error(S)}}}function x(_){_={..._};const b=v(_);b&&(_.bigint===void 0&&(_.bigint=!1),"circularValue"in _||(_.circularValue=Error));const y=d(_),S=f(_,"bigint"),C=f(_,"deterministic"),T=p(_,"maximumDepth"),E=p(_,"maximumBreadth");function P(U,A,N,F,B,D){let V=A[U];switch(typeof V=="object"&&V!==null&&typeof V.toJSON=="function"&&(V=V.toJSON(U)),V=F.call(A,U,V),typeof V){case"string":return o(V);case"object":{if(V===null)return"null";if(N.indexOf(V)!==-1)return y;let j="",q=",";const Z=D;if(Array.isArray(V)){if(V.length===0)return"[]";if(T0&&d.push(" ^ "+p+" more lines identical to this"),p=0,d.push(" "+v)),f=v}},s.prototype.getSymbolDisplay=function(u){return a(u)},s.prototype.buildFirstStateStack=function(u,d){if(d.indexOf(u)!==-1)return null;if(u.wantedBy.length===0)return[u];var f=u.wantedBy[0],p=[u].concat(d),g=this.buildFirstStateStack(f,p);return g===null?null:[u].concat(g)},s.prototype.save=function(){var u=this.table[this.current];return u.lexerState=this.lexerState,u},s.prototype.restore=function(u){var d=u.index;this.current=d,this.table[d]=u,this.table.splice(d+1),this.lexerState=u.lexerState,this.results=this.finish()},s.prototype.rewind=function(u){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[u])},s.prototype.finish=function(){var u=[],d=this.grammar.start,f=this.table[this.table.length-1];return f.states.forEach(function(p){p.rule.name===d&&p.dot===p.rule.symbols.length&&p.reference===0&&p.data!==s.fail&&u.push(p)}),u.map(function(p){return p.data})};function a(u){var d=typeof u;if(d==="string")return u;if(d==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return"character matching "+u;if(u.type)return u.type+" token";if(u.test)return"token matching "+String(u.test);throw new Error("Unknown symbol type: "+u)}}function l(u){var d=typeof u;if(d==="string")return u;if(d==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return u.toString();if(u.type)return"%"+u.type;if(u.test)return"<"+String(u.test)+">";throw new Error("Unknown symbol type: "+u)}}return{Parser:s,Grammar:i,Rule:t}})})(tU);var K0e=tU.exports,ac={},nU={},ru={};ru.__esModule=void 0;ru.__esModule=!0;var X0e=typeof Object.setPrototypeOf=="function",Y0e=typeof Object.getPrototypeOf=="function",Q0e=typeof Object.defineProperty=="function",Z0e=typeof Object.create=="function",J0e=typeof Object.prototype.hasOwnProperty=="function",eve=function(t,n){X0e?Object.setPrototypeOf(t,n):t.__proto__=n};ru.setPrototypeOf=eve;var tve=function(t){return Y0e?Object.getPrototypeOf(t):t.__proto__||t.prototype};ru.getPrototypeOf=tve;var uO=!1,nve=function e(t,n,r){if(Q0e&&!uO)try{Object.defineProperty(t,n,r)}catch{uO=!0,e(t,n,r)}else t[n]=r.value};ru.defineProperty=nve;var rU=function(t,n){return J0e?t.hasOwnProperty(t,n):t[n]===void 0};ru.hasOwnProperty=rU;var rve=function(t,n){if(Z0e)return Object.create(t,n);var r=function(){};r.prototype=t;var i=new r;if(typeof n>"u")return i;if(typeof n=="null")throw new Error("PropertyDescriptors must not be null.");if(typeof n=="object")for(var o in n)rU(n,o)&&(i[o]=n[o].value);return i};ru.objectCreate=rve;(function(e){e.__esModule=void 0,e.__esModule=!0;var t=ru,n=t.setPrototypeOf,r=t.getPrototypeOf,i=t.defineProperty,o=t.objectCreate,s=new Error().toString()==="[object Error]",a="";function l(u){var d=this.constructor,f=d.name||function(){var x=d.toString().match(/^function\s*([^\s(]+)/);return x===null?a||"Error":x[1]}(),p=f==="Error",g=p?a:f,m=Error.apply(this,arguments);if(n(m,r(this)),!(m instanceof d)||!(m instanceof l)){var m=this;Error.apply(this,arguments),i(m,"message",{configurable:!0,enumerable:!1,value:u,writable:!0})}if(i(m,"name",{configurable:!0,enumerable:!1,value:g,writable:!0}),Error.captureStackTrace&&Error.captureStackTrace(m,p?l:d),m.stack===void 0){var v=new Error(u);v.name=m.name,m.stack=v.stack}return s&&i(m,"toString",{configurable:!0,enumerable:!1,value:function(){return(this.name||"Error")+(typeof this.message>"u"?"":": "+this.message)},writable:!0}),m}a=l.name||"ExtendableError",l.prototype=o(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),e.ExtendableError=l,e.default=e.ExtendableError})(nU);var iU=He&&He.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(r[o]=i[o])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(ac,"__esModule",{value:!0});ac.SyntaxError=ac.LiqeError=void 0;var ive=nU,oU=function(e){iU(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(ive.ExtendableError);ac.LiqeError=oU;var ove=function(e){iU(t,e);function t(n,r,i,o){var s=e.call(this,n)||this;return s.message=n,s.offset=r,s.line=i,s.column=o,s}return t}(oU);ac.SyntaxError=ove;var oE={},G1=He&&He.__assign||function(){return G1=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$2"]},{name:"comparison_operator$subexpression$1$string$3",symbols:[{literal:":"},{literal:"<"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$3"]},{name:"comparison_operator$subexpression$1$string$4",symbols:[{literal:":"},{literal:">"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$4"]},{name:"comparison_operator$subexpression$1$string$5",symbols:[{literal:":"},{literal:"<"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$5"]},{name:"comparison_operator",symbols:["comparison_operator$subexpression$1"],postprocess:function(e,t){return{location:{start:t,end:t+e[0][0].length},type:"ComparisonOperator",operator:e[0][0]}}},{name:"regex",symbols:["regex_body","regex_flags"],postprocess:function(e){return e.join("")}},{name:"regex_body$ebnf$1",symbols:[]},{name:"regex_body$ebnf$1",symbols:["regex_body$ebnf$1","regex_body_char"],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_body",symbols:[{literal:"/"},"regex_body$ebnf$1",{literal:"/"}],postprocess:function(e){return"/"+e[1].join("")+"/"}},{name:"regex_body_char",symbols:[/[^\\]/],postprocess:na},{name:"regex_body_char",symbols:[{literal:"\\"},/[^\\]/],postprocess:function(e){return"\\"+e[1]}},{name:"regex_flags",symbols:[]},{name:"regex_flags$ebnf$1",symbols:[/[gmiyusd]/]},{name:"regex_flags$ebnf$1",symbols:["regex_flags$ebnf$1",/[gmiyusd]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_flags",symbols:["regex_flags$ebnf$1"],postprocess:function(e){return e[0].join("")}},{name:"unquoted_value$ebnf$1",symbols:[]},{name:"unquoted_value$ebnf$1",symbols:["unquoted_value$ebnf$1",/[a-zA-Z\.\-_*@#$]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"unquoted_value",symbols:[/[a-zA-Z_*@#$]/,"unquoted_value$ebnf$1"],postprocess:function(e){return e[0]+e[1].join("")}}],ParserStart:"main"};oE.default=sve;var sU={},Hb={},xm={};Object.defineProperty(xm,"__esModule",{value:!0});xm.isSafePath=void 0;var ave=/^(\.(?:[_a-zA-Z][a-zA-Z\d_]*|\0|[1-9]\d*))+$/u,lve=function(e){return ave.test(e)};xm.isSafePath=lve;Object.defineProperty(Hb,"__esModule",{value:!0});Hb.createGetValueFunctionBody=void 0;var uve=xm,cve=function(e){if(!(0,uve.isSafePath)(e))throw new Error("Unsafe path.");var t="return subject"+e;return t.replace(/(\.(\d+))/g,".[$2]").replace(/\./g,"?.")};Hb.createGetValueFunctionBody=cve;(function(e){var t=He&&He.__assign||function(){return t=Object.assign||function(o){for(var s,a=1,l=arguments.length;a\d+) col (?\d+)/,mve=function(e){if(e.trim()==="")return{location:{end:0,start:0},type:"EmptyExpression"};var t=new lU.default.Parser(pve),n;try{n=t.feed(e).results}catch(o){if(typeof(o==null?void 0:o.message)=="string"&&typeof(o==null?void 0:o.offset)=="number"){var r=o.message.match(gve);throw r?new dve.SyntaxError("Syntax error at line ".concat(r.groups.line," column ").concat(r.groups.column),o.offset,Number(r.groups.line),Number(r.groups.column)):o}throw o}if(n.length===0)throw new Error("Found no parsings.");if(n.length>1)throw new Error("Ambiguous results.");var i=(0,hve.hydrateAst)(n[0]);return i};Gb.parse=mve;var Wb={};Object.defineProperty(Wb,"__esModule",{value:!0});Wb.test=void 0;var yve=Sm,vve=function(e,t){return(0,yve.filter)(e,[t]).length===1};Wb.test=vve;var uU={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.serialize=void 0;var t=function(o,s){return s==="double"?'"'.concat(o,'"'):s==="single"?"'".concat(o,"'"):o},n=function(o){if(o.type==="LiteralExpression")return o.quoted&&typeof o.value=="string"?t(o.value,o.quotes):String(o.value);if(o.type==="RegexExpression")return String(o.value);if(o.type==="RangeExpression"){var s=o.range,a=s.min,l=s.max,u=s.minInclusive,d=s.maxInclusive;return"".concat(u?"[":"{").concat(a," TO ").concat(l).concat(d?"]":"}")}if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")},r=function(o){if(o.type!=="Tag")throw new Error("Expected a tag expression.");var s=o.field,a=o.expression,l=o.operator;if(s.type==="ImplicitField")return n(a);var u=s.quoted?t(s.name,s.quotes):s.name,d=" ".repeat(a.location.start-l.location.end);return u+l.operator+d+n(a)},i=function(o){if(o.type==="ParenthesizedExpression"){if(!("location"in o.expression))throw new Error("Expected location in expression.");if(!o.location.end)throw new Error("Expected location end.");var s=" ".repeat(o.expression.location.start-(o.location.start+1)),a=" ".repeat(o.location.end-o.expression.location.end-1);return"(".concat(s).concat((0,e.serialize)(o.expression)).concat(a,")")}if(o.type==="Tag")return r(o);if(o.type==="LogicalExpression"){var l="";return o.operator.type==="BooleanOperator"?(l+=" ".repeat(o.operator.location.start-o.left.location.end),l+=o.operator.operator,l+=" ".repeat(o.right.location.start-o.operator.location.end)):l=" ".repeat(o.right.location.start-o.left.location.end),"".concat((0,e.serialize)(o.left)).concat(l).concat((0,e.serialize)(o.right))}if(o.type==="UnaryOperator")return(o.operator==="NOT"?"NOT ":o.operator)+(0,e.serialize)(o.operand);if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")};e.serialize=i})(uU);var qb={};Object.defineProperty(qb,"__esModule",{value:!0});qb.isSafeUnquotedExpression=void 0;var _ve=function(e){return/^[#$*@A-Z_a-z][#$*.@A-Z_a-z-]*$/.test(e)};qb.isSafeUnquotedExpression=_ve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isSafeUnquotedExpression=e.serialize=e.SyntaxError=e.LiqeError=e.test=e.parse=e.highlight=e.filter=void 0;var t=Sm;Object.defineProperty(e,"filter",{enumerable:!0,get:function(){return t.filter}});var n=jb;Object.defineProperty(e,"highlight",{enumerable:!0,get:function(){return n.highlight}});var r=Gb;Object.defineProperty(e,"parse",{enumerable:!0,get:function(){return r.parse}});var i=Wb;Object.defineProperty(e,"test",{enumerable:!0,get:function(){return i.test}});var o=ac;Object.defineProperty(e,"LiqeError",{enumerable:!0,get:function(){return o.LiqeError}}),Object.defineProperty(e,"SyntaxError",{enumerable:!0,get:function(){return o.SyntaxError}});var s=uU;Object.defineProperty(e,"serialize",{enumerable:!0,get:function(){return s.serialize}});var a=qb;Object.defineProperty(e,"isSafeUnquotedExpression",{enumerable:!0,get:function(){return a.isSafeUnquotedExpression}})})(eU);var Cm={},cU={},lc={};Object.defineProperty(lc,"__esModule",{value:!0});lc.ROARR_LOG_FORMAT_VERSION=lc.ROARR_VERSION=void 0;lc.ROARR_VERSION="5.0.0";lc.ROARR_LOG_FORMAT_VERSION="2.0.0";var Tm={};Object.defineProperty(Tm,"__esModule",{value:!0});Tm.logLevels=void 0;Tm.logLevels={debug:20,error:50,fatal:60,info:30,trace:10,warn:40};var dU={},Kb={};Object.defineProperty(Kb,"__esModule",{value:!0});Kb.hasOwnProperty=void 0;const bve=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);Kb.hasOwnProperty=bve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.hasOwnProperty=void 0;var t=Kb;Object.defineProperty(e,"hasOwnProperty",{enumerable:!0,get:function(){return t.hasOwnProperty}})})(dU);var fU={},Xb={},Yb={};Object.defineProperty(Yb,"__esModule",{value:!0});Yb.tokenize=void 0;const Sve=/(?:%(?([+0-]|-\+))?(?\d+)?(?\d+\$)?(?\.\d+)?(?[%BCESb-iosux]))|(\\%)/g,wve=e=>{let t;const n=[];let r=0,i=0,o=null;for(;(t=Sve.exec(e))!==null;){t.index>i&&(o={literal:e.slice(i,t.index),type:"literal"},n.push(o));const s=t[0];i=t.index+s.length,s==="\\%"||s==="%%"?o&&o.type==="literal"?o.literal+="%":(o={literal:"%",type:"literal"},n.push(o)):t.groups&&(o={conversion:t.groups.conversion,flag:t.groups.flag||null,placeholder:s,position:t.groups.position?Number.parseInt(t.groups.position,10)-1:r++,precision:t.groups.precision?Number.parseInt(t.groups.precision.slice(1),10):null,type:"placeholder",width:t.groups.width?Number.parseInt(t.groups.width,10):null},n.push(o))}return i<=e.length-1&&(o&&o.type==="literal"?o.literal+=e.slice(i):n.push({literal:e.slice(i),type:"literal"})),n};Yb.tokenize=wve;Object.defineProperty(Xb,"__esModule",{value:!0});Xb.createPrintf=void 0;const cO=nE,xve=Yb,Cve=(e,t)=>t.placeholder,Tve=e=>{var t;const n=(o,s,a)=>a==="-"?o.padEnd(s," "):a==="-+"?((Number(o)>=0?"+":"")+o).padEnd(s," "):a==="+"?((Number(o)>=0?"+":"")+o).padStart(s," "):a==="0"?o.padStart(s,"0"):o.padStart(s," "),r=(t=e==null?void 0:e.formatUnboundExpression)!==null&&t!==void 0?t:Cve,i={};return(o,...s)=>{let a=i[o];a||(a=i[o]=xve.tokenize(o));let l="";for(const u of a)if(u.type==="literal")l+=u.literal;else{let d=s[u.position];if(d===void 0)l+=r(o,u,s);else if(u.conversion==="b")l+=cO.boolean(d)?"true":"false";else if(u.conversion==="B")l+=cO.boolean(d)?"TRUE":"FALSE";else if(u.conversion==="c")l+=d;else if(u.conversion==="C")l+=String(d).toUpperCase();else if(u.conversion==="i"||u.conversion==="d")d=String(Math.trunc(d)),u.width!==null&&(d=n(d,u.width,u.flag)),l+=d;else if(u.conversion==="e")l+=Number(d).toExponential();else if(u.conversion==="E")l+=Number(d).toExponential().toUpperCase();else if(u.conversion==="f")u.precision!==null&&(d=Number(d).toFixed(u.precision)),u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else if(u.conversion==="o")l+=(Number.parseInt(String(d),10)>>>0).toString(8);else if(u.conversion==="s")u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else if(u.conversion==="S")u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=String(d).toUpperCase();else if(u.conversion==="u")l+=Number.parseInt(String(d),10)>>>0;else if(u.conversion==="x")d=(Number.parseInt(String(d),10)>>>0).toString(16),u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else throw new Error("Unknown format specifier.")}return l}};Xb.createPrintf=Tve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.printf=e.createPrintf=void 0;const t=Xb;Object.defineProperty(e,"createPrintf",{enumerable:!0,get:function(){return t.createPrintf}}),e.printf=t.createPrintf()})(fU);var Q3={exports:{}};(function(e,t){const{hasOwnProperty:n}=Object.prototype,r=x();r.configure=x,r.stringify=r,r.default=r,t.stringify=r,t.configure=x,e.exports=r;const i=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?:[^\ud800-\udbff]|^)[\udc00-\udfff]/;function o(_){return _.length<5e3&&!i.test(_)?`"${_}"`:JSON.stringify(_)}function s(_){if(_.length>200)return _.sort();for(let b=1;b<_.length;b++){const y=_[b];let S=b;for(;S!==0&&_[S-1]>y;)_[S]=_[S-1],S--;_[S]=y}return _}const a=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function l(_){return a.call(_)!==void 0&&_.length!==0}function u(_,b,y){_.length= 1`)}return y===void 0?1/0:y}function g(_){return _===1?"1 item":`${_} items`}function m(_){const b=new Set;for(const y of _)(typeof y=="string"||typeof y=="number")&&b.add(String(y));return b}function v(_){if(n.call(_,"strict")){const b=_.strict;if(typeof b!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(b)return y=>{let S=`Object can not safely be stringified. Received type ${typeof y}`;throw typeof y!="function"&&(S+=` (${y.toString()})`),new Error(S)}}}function x(_){_={..._};const b=v(_);b&&(_.bigint===void 0&&(_.bigint=!1),"circularValue"in _||(_.circularValue=Error));const y=d(_),S=f(_,"bigint"),C=f(_,"deterministic"),T=p(_,"maximumDepth"),E=p(_,"maximumBreadth");function P(U,A,N,F,B,D){let V=A[U];switch(typeof V=="object"&&V!==null&&typeof V.toJSON=="function"&&(V=V.toJSON(U)),V=F.call(A,U,V),typeof V){case"string":return o(V);case"object":{if(V===null)return"null";if(N.indexOf(V)!==-1)return y;let j="",q=",";const Z=D;if(Array.isArray(V)){if(V.length===0)return"[]";if(TE){const ve=V.length-E-1;j+=`${q}"... ${g(ve)} not stringified"`}return B!==""&&(j+=` ${Z}`),N.pop(),`[${j}]`}let ee=Object.keys(V);const ie=ee.length;if(ie===0)return"{}";if(TE){const se=j-E;Z+=`${ee}"...": "${g(se)} not stringified"`,ee=q}return ee!==""&&(Z=` ${B}${Z} -${D}`),N.pop(),`{${Z}}`}case"number":return isFinite(A)?String(A):b?b(A):"null";case"boolean":return A===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(A);default:return b?b(A):void 0}}function M(U,A,N){switch(typeof A){case"string":return o(A);case"object":{if(A===null)return"null";if(typeof A.toJSON=="function"){if(A=A.toJSON(U),typeof A!="object")return M(U,A,N);if(A===null)return"null"}if(N.indexOf(A)!==-1)return y;let F="";if(Array.isArray(A)){if(A.length===0)return"[]";if(TE){const ie=A.length-E-1;F+=`,"... ${g(ie)} not stringified"`}return N.pop(),`[${F}]`}let B=Object.keys(A);const D=B.length;if(D===0)return"{}";if(TE){const q=D-E;F+=`${V}"...":"${g(q)} not stringified"`}return N.pop(),`{${F}}`}case"number":return isFinite(A)?String(A):b?b(A):"null";case"boolean":return A===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(A);default:return b?b(A):void 0}}function G(U,A,N){if(arguments.length>1){let F="";if(typeof N=="number"?F=" ".repeat(Math.min(N,10)):typeof N=="string"&&(F=N.slice(0,10)),A!=null){if(typeof A=="function")return P("",{"":U},[],A,F,"");if(Array.isArray(A))return k("",U,[],m(A),F,"")}if(F.length!==0)return O("",U,[],F,"")}return M("",U,[])}return G}})(Q3,Q3.exports);var Eve=Q3.exports;(function(e){var t=He&&He.__importDefault||function(y){return y&&y.__esModule?y:{default:y}};Object.defineProperty(e,"__esModule",{value:!0}),e.createLogger=void 0;const n=lc,r=Tm,i=dU,o=fU,s=t(nE),a=t(Eve);let l=!1;const u=(0,s.default)(),d=()=>u.ROARR,f=()=>({messageContext:{},transforms:[]}),p=()=>{const y=d().asyncLocalStorage;if(!y)throw new Error("AsyncLocalContext is unavailable.");const S=y.getStore();return S||f()},g=()=>!!d().asyncLocalStorage,m=()=>{if(g()){const y=p();return(0,i.hasOwnProperty)(y,"sequenceRoot")&&(0,i.hasOwnProperty)(y,"sequence")&&typeof y.sequence=="number"?String(y.sequenceRoot)+"."+String(y.sequence++):String(d().sequence++)}return String(d().sequence++)},v=(y,S)=>(C,T,E,P,k,O,M,G,U,A)=>{y.child({logLevel:S})(C,T,E,P,k,O,M,G,U,A)},x=1e3,_=(y,S)=>(C,T,E,P,k,O,M,G,U,A)=>{const N=(0,a.default)({a:C,b:T,c:E,d:P,e:k,f:O,g:M,h:G,i:U,j:A,logLevel:S});if(!N)throw new Error("Expected key to be a string");const F=d().onceLog;F.has(N)||(F.add(N),F.size>x&&F.clear(),y.child({logLevel:S})(C,T,E,P,k,O,M,G,U,A))},b=(y,S={},C=[])=>{const T=(E,P,k,O,M,G,U,A,N,F)=>{const B=Date.now(),D=m();let V;g()?V=p():V=f();let j,q;if(typeof E=="string"?j={...V.messageContext,...S}:j={...V.messageContext,...S,...E},typeof E=="string"&&P===void 0)q=E;else if(typeof E=="string"){if(!E.includes("%"))throw new Error("When a string parameter is followed by other arguments, then it is assumed that you are attempting to format a message using printf syntax. You either forgot to add printf bindings or if you meant to add context to the log message, pass them in an object as the first parameter.");q=(0,o.printf)(E,P,k,O,M,G,U,A,N,F)}else{let ee=P;if(typeof P!="string")if(P===void 0)ee="";else throw new TypeError("Message must be a string. Received "+typeof P+".");q=(0,o.printf)(ee,k,O,M,G,U,A,N,F)}let Z={context:j,message:q,sequence:D,time:B,version:n.ROARR_LOG_FORMAT_VERSION};for(const ee of[...V.transforms,...C])if(Z=ee(Z),typeof Z!="object"||Z===null)throw new Error("Message transform function must return a message object.");y(Z)};return T.child=E=>{let P;return g()?P=p():P=f(),typeof E=="function"?(0,e.createLogger)(y,{...P.messageContext,...S,...E},[E,...C]):(0,e.createLogger)(y,{...P.messageContext,...S,...E},C)},T.getContext=()=>{let E;return g()?E=p():E=f(),{...E.messageContext,...S}},T.adopt=async(E,P)=>{if(!g())return l===!1&&(l=!0,y({context:{logLevel:r.logLevels.warn,package:"roarr"},message:"async_hooks are unavailable; Roarr.adopt will not function as expected",sequence:m(),time:Date.now(),version:n.ROARR_LOG_FORMAT_VERSION})),E();const k=p();let O;(0,i.hasOwnProperty)(k,"sequenceRoot")&&(0,i.hasOwnProperty)(k,"sequence")&&typeof k.sequence=="number"?O=k.sequenceRoot+"."+String(k.sequence++):O=String(d().sequence++);let M={...k.messageContext};const G=[...k.transforms];typeof P=="function"?G.push(P):M={...M,...P};const U=d().asyncLocalStorage;if(!U)throw new Error("Async local context unavailable.");return U.run({messageContext:M,sequence:0,sequenceRoot:O,transforms:G},()=>E())},T.debug=v(T,r.logLevels.debug),T.debugOnce=_(T,r.logLevels.debug),T.error=v(T,r.logLevels.error),T.errorOnce=_(T,r.logLevels.error),T.fatal=v(T,r.logLevels.fatal),T.fatalOnce=_(T,r.logLevels.fatal),T.info=v(T,r.logLevels.info),T.infoOnce=_(T,r.logLevels.info),T.trace=v(T,r.logLevels.trace),T.traceOnce=_(T,r.logLevels.trace),T.warn=v(T,r.logLevels.warn),T.warnOnce=_(T,r.logLevels.warn),T};e.createLogger=b})(cU);var Qb={},Ave=function(t,n){for(var r=t.split("."),i=n.split("."),o=0;o<3;o++){var s=Number(r[o]),a=Number(i[o]);if(s>a)return 1;if(a>s)return-1;if(!isNaN(s)&&isNaN(a))return 1;if(isNaN(s)&&!isNaN(a))return-1}return 0},Pve=He&&He.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Qb,"__esModule",{value:!0});Qb.createRoarrInitialGlobalStateBrowser=void 0;const cO=lc,dO=Pve(Ave),Rve=e=>{const t=(e.versions||[]).concat();return t.length>1&&t.sort(dO.default),t.includes(cO.ROARR_VERSION)||t.push(cO.ROARR_VERSION),t.sort(dO.default),{sequence:0,...e,versions:t}};Qb.createRoarrInitialGlobalStateBrowser=Rve;var Zb={};Object.defineProperty(Zb,"__esModule",{value:!0});Zb.getLogLevelName=void 0;const Ove=e=>e<=10?"trace":e<=20?"debug":e<=30?"info":e<=40?"warn":e<=50?"error":"fatal";Zb.getLogLevelName=Ove;(function(e){var t=He&&He.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0}),e.getLogLevelName=e.logLevels=e.Roarr=e.ROARR=void 0;const n=cU,r=Qb,o=(0,t(nE).default)(),s=(0,r.createRoarrInitialGlobalStateBrowser)(o.ROARR||{});e.ROARR=s,o.ROARR=s;const a=f=>JSON.stringify(f),l=(0,n.createLogger)(f=>{var p;s.write&&s.write(((p=s.serializeMessage)!==null&&p!==void 0?p:a)(f))});e.Roarr=l;var u=Tm;Object.defineProperty(e,"logLevels",{enumerable:!0,get:function(){return u.logLevels}});var d=Zb;Object.defineProperty(e,"getLogLevelName",{enumerable:!0,get:function(){return d.getLogLevelName}})})(Cm);var kve=He&&He.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);iE){const ie=A.length-E-1;F+=`,"... ${g(ie)} not stringified"`}return N.pop(),`[${F}]`}let B=Object.keys(A);const D=B.length;if(D===0)return"{}";if(TE){const q=D-E;F+=`${V}"...":"${g(q)} not stringified"`}return N.pop(),`{${F}}`}case"number":return isFinite(A)?String(A):b?b(A):"null";case"boolean":return A===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(A);default:return b?b(A):void 0}}function G(U,A,N){if(arguments.length>1){let F="";if(typeof N=="number"?F=" ".repeat(Math.min(N,10)):typeof N=="string"&&(F=N.slice(0,10)),A!=null){if(typeof A=="function")return P("",{"":U},[],A,F,"");if(Array.isArray(A))return k("",U,[],m(A),F,"")}if(F.length!==0)return O("",U,[],F,"")}return M("",U,[])}return G}})(Q3,Q3.exports);var Eve=Q3.exports;(function(e){var t=He&&He.__importDefault||function(y){return y&&y.__esModule?y:{default:y}};Object.defineProperty(e,"__esModule",{value:!0}),e.createLogger=void 0;const n=lc,r=Tm,i=dU,o=fU,s=t(rE),a=t(Eve);let l=!1;const u=(0,s.default)(),d=()=>u.ROARR,f=()=>({messageContext:{},transforms:[]}),p=()=>{const y=d().asyncLocalStorage;if(!y)throw new Error("AsyncLocalContext is unavailable.");const S=y.getStore();return S||f()},g=()=>!!d().asyncLocalStorage,m=()=>{if(g()){const y=p();return(0,i.hasOwnProperty)(y,"sequenceRoot")&&(0,i.hasOwnProperty)(y,"sequence")&&typeof y.sequence=="number"?String(y.sequenceRoot)+"."+String(y.sequence++):String(d().sequence++)}return String(d().sequence++)},v=(y,S)=>(C,T,E,P,k,O,M,G,U,A)=>{y.child({logLevel:S})(C,T,E,P,k,O,M,G,U,A)},x=1e3,_=(y,S)=>(C,T,E,P,k,O,M,G,U,A)=>{const N=(0,a.default)({a:C,b:T,c:E,d:P,e:k,f:O,g:M,h:G,i:U,j:A,logLevel:S});if(!N)throw new Error("Expected key to be a string");const F=d().onceLog;F.has(N)||(F.add(N),F.size>x&&F.clear(),y.child({logLevel:S})(C,T,E,P,k,O,M,G,U,A))},b=(y,S={},C=[])=>{const T=(E,P,k,O,M,G,U,A,N,F)=>{const B=Date.now(),D=m();let V;g()?V=p():V=f();let j,q;if(typeof E=="string"?j={...V.messageContext,...S}:j={...V.messageContext,...S,...E},typeof E=="string"&&P===void 0)q=E;else if(typeof E=="string"){if(!E.includes("%"))throw new Error("When a string parameter is followed by other arguments, then it is assumed that you are attempting to format a message using printf syntax. You either forgot to add printf bindings or if you meant to add context to the log message, pass them in an object as the first parameter.");q=(0,o.printf)(E,P,k,O,M,G,U,A,N,F)}else{let ee=P;if(typeof P!="string")if(P===void 0)ee="";else throw new TypeError("Message must be a string. Received "+typeof P+".");q=(0,o.printf)(ee,k,O,M,G,U,A,N,F)}let Z={context:j,message:q,sequence:D,time:B,version:n.ROARR_LOG_FORMAT_VERSION};for(const ee of[...V.transforms,...C])if(Z=ee(Z),typeof Z!="object"||Z===null)throw new Error("Message transform function must return a message object.");y(Z)};return T.child=E=>{let P;return g()?P=p():P=f(),typeof E=="function"?(0,e.createLogger)(y,{...P.messageContext,...S,...E},[E,...C]):(0,e.createLogger)(y,{...P.messageContext,...S,...E},C)},T.getContext=()=>{let E;return g()?E=p():E=f(),{...E.messageContext,...S}},T.adopt=async(E,P)=>{if(!g())return l===!1&&(l=!0,y({context:{logLevel:r.logLevels.warn,package:"roarr"},message:"async_hooks are unavailable; Roarr.adopt will not function as expected",sequence:m(),time:Date.now(),version:n.ROARR_LOG_FORMAT_VERSION})),E();const k=p();let O;(0,i.hasOwnProperty)(k,"sequenceRoot")&&(0,i.hasOwnProperty)(k,"sequence")&&typeof k.sequence=="number"?O=k.sequenceRoot+"."+String(k.sequence++):O=String(d().sequence++);let M={...k.messageContext};const G=[...k.transforms];typeof P=="function"?G.push(P):M={...M,...P};const U=d().asyncLocalStorage;if(!U)throw new Error("Async local context unavailable.");return U.run({messageContext:M,sequence:0,sequenceRoot:O,transforms:G},()=>E())},T.debug=v(T,r.logLevels.debug),T.debugOnce=_(T,r.logLevels.debug),T.error=v(T,r.logLevels.error),T.errorOnce=_(T,r.logLevels.error),T.fatal=v(T,r.logLevels.fatal),T.fatalOnce=_(T,r.logLevels.fatal),T.info=v(T,r.logLevels.info),T.infoOnce=_(T,r.logLevels.info),T.trace=v(T,r.logLevels.trace),T.traceOnce=_(T,r.logLevels.trace),T.warn=v(T,r.logLevels.warn),T.warnOnce=_(T,r.logLevels.warn),T};e.createLogger=b})(cU);var Qb={},Ave=function(t,n){for(var r=t.split("."),i=n.split("."),o=0;o<3;o++){var s=Number(r[o]),a=Number(i[o]);if(s>a)return 1;if(a>s)return-1;if(!isNaN(s)&&isNaN(a))return 1;if(isNaN(s)&&!isNaN(a))return-1}return 0},Pve=He&&He.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Qb,"__esModule",{value:!0});Qb.createRoarrInitialGlobalStateBrowser=void 0;const dO=lc,fO=Pve(Ave),Rve=e=>{const t=(e.versions||[]).concat();return t.length>1&&t.sort(fO.default),t.includes(dO.ROARR_VERSION)||t.push(dO.ROARR_VERSION),t.sort(fO.default),{sequence:0,...e,versions:t}};Qb.createRoarrInitialGlobalStateBrowser=Rve;var Zb={};Object.defineProperty(Zb,"__esModule",{value:!0});Zb.getLogLevelName=void 0;const Ove=e=>e<=10?"trace":e<=20?"debug":e<=30?"info":e<=40?"warn":e<=50?"error":"fatal";Zb.getLogLevelName=Ove;(function(e){var t=He&&He.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0}),e.getLogLevelName=e.logLevels=e.Roarr=e.ROARR=void 0;const n=cU,r=Qb,o=(0,t(rE).default)(),s=(0,r.createRoarrInitialGlobalStateBrowser)(o.ROARR||{});e.ROARR=s,o.ROARR=s;const a=f=>JSON.stringify(f),l=(0,n.createLogger)(f=>{var p;s.write&&s.write(((p=s.serializeMessage)!==null&&p!==void 0?p:a)(f))});e.Roarr=l;var u=Tm;Object.defineProperty(e,"logLevels",{enumerable:!0,get:function(){return u.logLevels}});var d=Zb;Object.defineProperty(e,"getLogLevelName",{enumerable:!0,get:function(){return d.getLogLevelName}})})(Cm);var kve=He&&He.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i0?g("%c ".concat(p," %c").concat(d?" [".concat(String(d),"]:"):"","%c ").concat(a.message," %O"),v,x,_,f):g("%c ".concat(p," %c").concat(d?" [".concat(String(d),"]:"):"","%c ").concat(a.message),v,x,_)}}};Nb.createLogWriter=Uve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createLogWriter=void 0;var t=Nb;Object.defineProperty(e,"createLogWriter",{enumerable:!0,get:function(){return t.createLogWriter}})})(VB);Cm.ROARR.write=VB.createLogWriter();const pU={};Cm.Roarr.child(pU);const Jb=gm(Cm.Roarr.child(pU)),Ie=e=>Jb.get().child({namespace:e}),DIe=["trace","debug","info","warn","error","fatal"],$Ie={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function zve(){const e=[];return function(t,n){if(typeof n!="object"||n===null)return n;for(;e.length>0&&e.at(-1)!==this;)e.pop();return e.includes(n)?"[Circular]":(e.push(n),n)}}const Ig=Bl("nodes/receivedOpenAPISchema",async(e,{dispatch:t,rejectWithValue:n})=>{const r=Ie("system");try{const o=await(await fetch("openapi.json")).json();return r.info({openAPISchema:o},"Received OpenAPI schema"),JSON.parse(JSON.stringify(o,zve()))}catch(i){return n({error:i})}}),gU={nodes:[],edges:[],schema:null,invocationTemplates:{},connectionStartParams:null,shouldShowGraphOverlay:!1,shouldShowFieldTypeLegend:!1,shouldShowMinimapPanel:!0,editorInstance:void 0,progressNodeSize:{width:512,height:512}},mU=yn({name:"nodes",initialState:gU,reducers:{nodesChanged:(e,t)=>{e.nodes=IB(t.payload,e.nodes)},nodeAdded:(e,t)=>{e.nodes.push(t.payload)},edgesChanged:(e,t)=>{e.edges=Zme(t.payload,e.edges)},connectionStarted:(e,t)=>{e.connectionStartParams=t.payload},connectionMade:(e,t)=>{e.edges=oB(t.payload,e.edges)},connectionEnded:e=>{e.connectionStartParams=null},fieldValueChanged:(e,t)=>{var a,l,u;const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(d=>d.id===n),s=(u=(l=(a=e.nodes)==null?void 0:a[o])==null?void 0:l.data)==null?void 0:u.inputs[r];s&&o>-1&&(s.value=i)},imageCollectionFieldValueChanged:(e,t)=>{var l,u,d;const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(f=>f.id===n);if(o===-1)return;const s=(d=(u=(l=e.nodes)==null?void 0:l[o])==null?void 0:u.data)==null?void 0:d.inputs[r];if(!s)return;const a=Ur(s.value);if(!a){s.value=i;return}s.value=rle(a.concat(i),"image_name")},shouldShowGraphOverlayChanged:(e,t)=>{e.shouldShowGraphOverlay=t.payload},shouldShowFieldTypeLegendChanged:(e,t)=>{e.shouldShowFieldTypeLegend=t.payload},shouldShowMinimapPanelChanged:(e,t)=>{e.shouldShowMinimapPanel=t.payload},nodeTemplatesBuilt:(e,t)=>{e.invocationTemplates=t.payload},nodeEditorReset:e=>{e.nodes=[],e.edges=[]},setEditorInstance:(e,t)=>{e.editorInstance=t.payload},loadFileNodes:(e,t)=>{e.nodes=t.payload},loadFileEdges:(e,t)=>{e.edges=t.payload},setProgressNodeSize:(e,t)=>{e.progressNodeSize=t.payload}},extraReducers:e=>{e.addCase(Ig.fulfilled,(t,n)=>{t.schema=n.payload})}}),{nodesChanged:FIe,edgesChanged:BIe,nodeAdded:UIe,fieldValueChanged:yU,connectionMade:zIe,connectionStarted:VIe,connectionEnded:jIe,shouldShowGraphOverlayChanged:GIe,shouldShowFieldTypeLegendChanged:HIe,shouldShowMinimapPanelChanged:WIe,nodeTemplatesBuilt:oE,nodeEditorReset:sE,imageCollectionFieldValueChanged:qIe,setEditorInstance:KIe,loadFileNodes:XIe,loadFileEdges:YIe,setProgressNodeSize:QIe}=mU.actions,Vve=mU.reducer,vU={esrganModelName:"RealESRGAN_x4plus.pth"},_U=yn({name:"postprocessing",initialState:vU,reducers:{esrganModelNameChanged:(e,t)=>{e.esrganModelName=t.payload}}}),{esrganModelNameChanged:ZIe}=_U.actions,jve=_U.reducer,Gve={positiveStylePrompt:"",negativeStylePrompt:"",shouldConcatSDXLStylePrompt:!0,shouldUseSDXLRefiner:!1,sdxlImg2ImgDenoisingStrength:.7,refinerModel:null,refinerSteps:20,refinerCFGScale:7.5,refinerScheduler:"euler",refinerAestheticScore:6,refinerStart:.7},bU=yn({name:"sdxl",initialState:Gve,reducers:{setPositiveStylePromptSDXL:(e,t)=>{e.positiveStylePrompt=t.payload},setNegativeStylePromptSDXL:(e,t)=>{e.negativeStylePrompt=t.payload},setShouldConcatSDXLStylePrompt:(e,t)=>{e.shouldConcatSDXLStylePrompt=t.payload},setShouldUseSDXLRefiner:(e,t)=>{e.shouldUseSDXLRefiner=t.payload},setSDXLImg2ImgDenoisingStrength:(e,t)=>{e.sdxlImg2ImgDenoisingStrength=t.payload},refinerModelChanged:(e,t)=>{e.refinerModel=t.payload},setRefinerSteps:(e,t)=>{e.refinerSteps=t.payload},setRefinerCFGScale:(e,t)=>{e.refinerCFGScale=t.payload},setRefinerScheduler:(e,t)=>{e.refinerScheduler=t.payload},setRefinerAestheticScore:(e,t)=>{e.refinerAestheticScore=t.payload},setRefinerStart:(e,t)=>{e.refinerStart=t.payload}}}),{setPositiveStylePromptSDXL:JIe,setNegativeStylePromptSDXL:e7e,setShouldConcatSDXLStylePrompt:t7e,setShouldUseSDXLRefiner:Hve,setSDXLImg2ImgDenoisingStrength:n7e,refinerModelChanged:hO,setRefinerSteps:r7e,setRefinerCFGScale:i7e,setRefinerScheduler:o7e,setRefinerAestheticScore:s7e,setRefinerStart:a7e}=bU.actions,Wve=bU.reducer,Em=Re("app/userInvoked"),qve={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class H1{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||qve,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]=this.observers[r]||[],this.observers[r].push(n)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t]=this.observers[t].filter(r=>r!==n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{s(...r)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(s=>{s.apply(s,[t,...r])})}}function Xh(){let e,t;const n=new Promise((r,i)=>{e=r,t=i});return n.resolve=e,n.reject=t,n}function pO(e){return e==null?"":""+e}function Kve(e,t,n){e.forEach(r=>{t[r]&&(n[r]=t[r])})}function aE(e,t,n){function r(s){return s&&s.indexOf("###")>-1?s.replace(/###/g,"."):s}function i(){return!e||typeof e=="string"}const o=typeof t!="string"?[].concat(t):t.split(".");for(;o.length>1;){if(i())return{};const s=r(o.shift());!e[s]&&n&&(e[s]=new n),Object.prototype.hasOwnProperty.call(e,s)?e=e[s]:e={}}return i()?{}:{obj:e,k:r(o.shift())}}function gO(e,t,n){const{obj:r,k:i}=aE(e,t,Object);r[i]=n}function Xve(e,t,n,r){const{obj:i,k:o}=aE(e,t,Object);i[o]=i[o]||[],r&&(i[o]=i[o].concat(n)),r||i[o].push(n)}function W1(e,t){const{obj:n,k:r}=aE(e,t);if(n)return n[r]}function Yve(e,t,n){const r=W1(e,n);return r!==void 0?r:W1(t,n)}function SU(e,t,n){for(const r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?typeof e[r]=="string"||e[r]instanceof String||typeof t[r]=="string"||t[r]instanceof String?n&&(e[r]=t[r]):SU(e[r],t[r],n):e[r]=t[r]);return e}function ld(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var Qve={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function Zve(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,t=>Qve[t]):e}const Jve=[" ",",","?","!",";"];function e1e(e,t,n){t=t||"",n=n||"";const r=Jve.filter(s=>t.indexOf(s)<0&&n.indexOf(s)<0);if(r.length===0)return!0;const i=new RegExp(`(${r.map(s=>s==="?"?"\\?":s).join("|")})`);let o=!i.test(e);if(!o){const s=e.indexOf(n);s>0&&!i.test(e.substring(0,s))&&(o=!0)}return o}function q1(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let i=e;for(let o=0;oo+s;)s++,a=r.slice(o,o+s).join(n),l=i[a];if(l===void 0)return;if(l===null)return null;if(t.endsWith(a)){if(typeof l=="string")return l;if(a&&typeof l[a]=="string")return l[a]}const u=r.slice(o+s).join(n);return u?q1(l,u,n):void 0}i=i[r[o]]}return i}function K1(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class mO extends eS{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const o=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,s=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let a=[t,n];r&&typeof r!="string"&&(a=a.concat(r)),r&&typeof r=="string"&&(a=a.concat(o?r.split(o):r)),t.indexOf(".")>-1&&(a=t.split("."));const l=W1(this.data,a);return l||!s||typeof r!="string"?l:q1(this.data&&this.data[t]&&this.data[t][n],r,o)}addResource(t,n,r,i){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator;let a=[t,n];r&&(a=a.concat(s?r.split(s):r)),t.indexOf(".")>-1&&(a=t.split("."),i=n,n=a[1]),this.addNamespaces(n),gO(this.data,a,i),o.silent||this.emit("added",t,n,r,i)}addResources(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const o in r)(typeof r[o]=="string"||Object.prototype.toString.apply(r[o])==="[object Array]")&&this.addResource(t,n,o,r[o],{silent:!0});i.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},a=[t,n];t.indexOf(".")>-1&&(a=t.split("."),i=r,r=n,n=a[1]),this.addNamespaces(n);let l=W1(this.data,a)||{};i?SU(l,r,o):l={...l,...r},gO(this.data,a,l),s.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,n)}:this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var wU={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(o=>{this.processors[o]&&(t=this.processors[o].process(t,n,r,i))}),t}};const yO={};class X1 extends eS{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Kve(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=Cs.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const r=this.resolve(t,n);return r&&r.res!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let o=n.ns||this.options.defaultNS||[];const s=r&&t.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!e1e(t,r,i);if(s&&!a){const l=t.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:t,namespaces:o};const u=t.split(r);(r!==i||r===i&&this.options.ns.indexOf(u[0])>-1)&&(o=u.shift()),t=u.join(i)}return typeof o=="string"&&(o=[o]),{key:t,namespaces:o}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:s,namespaces:a}=this.extractFromKey(t[t.length-1],n),l=a[a.length-1],u=n.lng||this.language,d=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(d){const S=n.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${S}${s}`,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:`${l}${S}${s}`}return i?{res:s,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:s}const f=this.resolve(t,n);let p=f&&f.res;const g=f&&f.usedKey||s,m=f&&f.exactUsedKey||s,v=Object.prototype.toString.apply(p),x=["[object Number]","[object Function]","[object RegExp]"],_=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,b=!this.i18nFormat||this.i18nFormat.handleAsObject;if(b&&p&&(typeof p!="string"&&typeof p!="boolean"&&typeof p!="number")&&x.indexOf(v)<0&&!(typeof _=="string"&&v==="[object Array]")){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const S=this.options.returnedObjectHandler?this.options.returnedObjectHandler(g,p,{...n,ns:a}):`key '${s} (${this.language})' returned an object instead of string.`;return i?(f.res=S,f):S}if(o){const S=v==="[object Array]",C=S?[]:{},T=S?m:g;for(const E in p)if(Object.prototype.hasOwnProperty.call(p,E)){const P=`${T}${o}${E}`;C[E]=this.translate(P,{...n,joinArrays:!1,ns:a}),C[E]===P&&(C[E]=p[E])}p=C}}else if(b&&typeof _=="string"&&v==="[object Array]")p=p.join(_),p&&(p=this.extendTranslation(p,t,n,r));else{let S=!1,C=!1;const T=n.count!==void 0&&typeof n.count!="string",E=X1.hasDefaultValue(n),P=T?this.pluralResolver.getSuffix(u,n.count,n):"",k=n.ordinal&&T?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",O=n[`defaultValue${P}`]||n[`defaultValue${k}`]||n.defaultValue;!this.isValidLookup(p)&&E&&(S=!0,p=O),this.isValidLookup(p)||(C=!0,p=s);const G=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&C?void 0:p,U=E&&O!==p&&this.options.updateMissing;if(C||S||U){if(this.logger.log(U?"updateKey":"missingKey",u,l,s,U?O:p),o){const B=this.resolve(s,{...n,keySeparator:!1});B&&B.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let A=[];const N=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&N&&N[0])for(let B=0;B{const j=E&&V!==p?V:G;this.options.missingKeyHandler?this.options.missingKeyHandler(B,l,D,j,U,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(B,l,D,j,U,n),this.emit("missingKey",B,l,D,p)};this.options.saveMissing&&(this.options.saveMissingPlurals&&T?A.forEach(B=>{this.pluralResolver.getSuffixes(B,n).forEach(D=>{F([B],s+D,n[`defaultValue${D}`]||O)})}):F(A,s,O))}p=this.extendTranslation(p,t,n,f,r),C&&p===s&&this.options.appendNamespaceToMissingKey&&(p=`${l}:${s}`),(C||S)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?p=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${s}`:s,S?p:void 0):p=this.options.parseMissingKeyHandler(p))}return i?(f.res=p,f):p}extendTranslation(t,n,r,i,o){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const u=typeof t=="string"&&(r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let d;if(u){const p=t.match(this.interpolator.nestingRegexp);d=p&&p.length}let f=r.replace&&typeof r.replace!="string"?r.replace:r;if(this.options.interpolation.defaultVariables&&(f={...this.options.interpolation.defaultVariables,...f}),t=this.interpolator.interpolate(t,f,r.lng||this.language,r),u){const p=t.match(this.interpolator.nestingRegexp),g=p&&p.length;d1&&arguments[1]!==void 0?arguments[1]:{},r,i,o,s,a;return typeof t=="string"&&(t=[t]),t.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),d=u.key;i=d;let f=u.namespaces;this.options.fallbackNS&&(f=f.concat(this.options.fallbackNS));const p=n.count!==void 0&&typeof n.count!="string",g=p&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),m=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",v=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);f.forEach(x=>{this.isValidLookup(r)||(a=x,!yO[`${v[0]}-${x}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(yO[`${v[0]}-${x}`]=!0,this.logger.warn(`key "${i}" for languages "${v.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),v.forEach(_=>{if(this.isValidLookup(r))return;s=_;const b=[d];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(b,d,_,x,n);else{let S;p&&(S=this.pluralResolver.getSuffix(_,n.count,n));const C=`${this.options.pluralSeparator}zero`,T=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(p&&(b.push(d+S),n.ordinal&&S.indexOf(T)===0&&b.push(d+S.replace(T,this.options.pluralSeparator)),g&&b.push(d+C)),m){const E=`${d}${this.options.contextSeparator}${n.context}`;b.push(E),p&&(b.push(E+S),n.ordinal&&S.indexOf(T)===0&&b.push(E+S.replace(T,this.options.pluralSeparator)),g&&b.push(E+C))}}let y;for(;y=b.pop();)this.isValidLookup(r)||(o=y,r=this.getResource(_,x,y,n))}))})}),{res:r,usedKey:i,exactUsedKey:o,usedLng:s,usedNS:a}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,n,r,i):this.resourceStore.getResource(t,n,r,i)}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}function Rx(e){return e.charAt(0).toUpperCase()+e.slice(1)}class vO{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Cs.create("languageUtils")}getScriptPartFromCode(t){if(t=K1(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=K1(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(typeof t=="string"&&t.indexOf("-")>-1){const n=["hans","hant","latn","cyrl","cans","mong","arab"];let r=t.split("-");return this.options.lowerCaseLng?r=r.map(i=>i.toLowerCase()):r.length===2?(r[0]=r[0].toLowerCase(),r[1]=r[1].toUpperCase(),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=Rx(r[1].toLowerCase()))):r.length===3&&(r[0]=r[0].toLowerCase(),r[1].length===2&&(r[1]=r[1].toUpperCase()),r[0]!=="sgn"&&r[2].length===2&&(r[2]=r[2].toUpperCase()),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=Rx(r[1].toLowerCase())),n.indexOf(r[2].toLowerCase())>-1&&(r[2]=Rx(r[2].toLowerCase()))),r.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const i=this.getLanguagePartFromCode(r);if(this.isSupportedCode(i))return n=i;n=this.options.supportedLngs.find(o=>{if(o===i)return o;if(!(o.indexOf("-")<0&&i.indexOf("-")<0)&&o.indexOf(i)===0)return o})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),typeof t=="string"&&(t=[t]),Object.prototype.toString.apply(t)==="[object Array]")return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),i=[],o=s=>{s&&(this.isSupportedCode(s)?i.push(s):this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`))};return typeof t=="string"&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(t))):typeof t=="string"&&o(this.formatLanguageCode(t)),r.forEach(s=>{i.indexOf(s)<0&&o(this.formatLanguageCode(s))}),i}}let t1e=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],n1e={1:function(e){return+(e>1)},2:function(e){return+(e!=1)},3:function(e){return 0},4:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},5:function(e){return e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},6:function(e){return e==1?0:e>=2&&e<=4?1:2},7:function(e){return e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},8:function(e){return e==1?0:e==2?1:e!=8&&e!=11?2:3},9:function(e){return+(e>=2)},10:function(e){return e==1?0:e==2?1:e<7?2:e<11?3:4},11:function(e){return e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3},12:function(e){return+(e%10!=1||e%100==11)},13:function(e){return+(e!==0)},14:function(e){return e==1?0:e==2?1:e==3?2:3},15:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2},16:function(e){return e%10==1&&e%100!=11?0:e!==0?1:2},17:function(e){return e==1||e%10==1&&e%100!=11?0:1},18:function(e){return e==0?0:e==1?1:2},19:function(e){return e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3},20:function(e){return e==1?0:e==0||e%100>0&&e%100<20?1:2},21:function(e){return e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0},22:function(e){return e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3}};const r1e=["v1","v2","v3"],i1e=["v4"],_O={zero:0,one:1,two:2,few:3,many:4,other:5};function o1e(){const e={};return t1e.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:n1e[t.fc]}})}),e}class s1e{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=Cs.create("pluralResolver"),(!this.options.compatibilityJSON||i1e.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=o1e()}addRule(t,n){this.rules[t]=n}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(K1(t),{type:n.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return this.shouldUseIntlApi()?r&&r.resolvedOptions().pluralCategories.length>1:r&&r.numbers.length>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(i=>`${n}${i}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((i,o)=>_O[i]-_O[o]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):r.numbers.map(i=>this.getSuffix(t,i,n)):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(t,r);return i?this.shouldUseIntlApi()?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:this.getSuffixRetroCompatible(i,n):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,n){const r=t.noAbs?t.plurals(n):t.plurals(Math.abs(n));let i=t.numbers[r];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(i===2?i="plural":i===1&&(i=""));const o=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return this.options.compatibilityJSON==="v1"?i===1?"":typeof i=="number"?`_plural_${i.toString()}`:o():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?o():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}shouldUseIntlApi(){return!r1e.includes(this.options.compatibilityJSON)}}function bO(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=Yve(e,t,n);return!o&&i&&typeof n=="string"&&(o=q1(e,n,r),o===void 0&&(o=q1(t,n,r))),o}class a1e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Cs.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(n=>n),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const n=t.interpolation;this.escape=n.escape!==void 0?n.escape:Zve,this.escapeValue=n.escapeValue!==void 0?n.escapeValue:!0,this.useRawValueToEscape=n.useRawValueToEscape!==void 0?n.useRawValueToEscape:!1,this.prefix=n.prefix?ld(n.prefix):n.prefixEscaped||"{{",this.suffix=n.suffix?ld(n.suffix):n.suffixEscaped||"}}",this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||",",this.unescapePrefix=n.unescapeSuffix?"":n.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":n.unescapeSuffix||"",this.nestingPrefix=n.nestingPrefix?ld(n.nestingPrefix):n.nestingPrefixEscaped||ld("$t("),this.nestingSuffix=n.nestingSuffix?ld(n.nestingSuffix):n.nestingSuffixEscaped||ld(")"),this.nestingOptionsSeparator=n.nestingOptionsSeparator?n.nestingOptionsSeparator:n.nestingOptionsSeparator||",",this.maxReplaces=n.maxReplaces?n.maxReplaces:1e3,this.alwaysFormat=n.alwaysFormat!==void 0?n.alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=`${this.prefix}(.+?)${this.suffix}`;this.regexp=new RegExp(t,"g");const n=`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;this.regexpUnescape=new RegExp(n,"g");const r=`${this.nestingPrefix}(.+?)${this.nestingSuffix}`;this.nestingRegexp=new RegExp(r,"g")}interpolate(t,n,r,i){let o,s,a;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(m){return m.replace(/\$/g,"$$$$")}const d=m=>{if(m.indexOf(this.formatSeparator)<0){const b=bO(n,l,m,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(b,void 0,r,{...i,...n,interpolationkey:m}):b}const v=m.split(this.formatSeparator),x=v.shift().trim(),_=v.join(this.formatSeparator).trim();return this.format(bO(n,l,x,this.options.keySeparator,this.options.ignoreJSONStructure),_,r,{...i,...n,interpolationkey:x})};this.resetRegExp();const f=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,p=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:m=>u(m)},{regex:this.regexp,safeValue:m=>this.escapeValue?u(this.escape(m)):u(m)}].forEach(m=>{for(a=0;o=m.regex.exec(t);){const v=o[1].trim();if(s=d(v),s===void 0)if(typeof f=="function"){const _=f(t,o,i);s=typeof _=="string"?_:""}else if(i&&Object.prototype.hasOwnProperty.call(i,v))s="";else if(p){s=o[0];continue}else this.logger.warn(`missed to pass in variable ${v} for interpolating ${t}`),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=pO(s));const x=m.safeValue(s);if(t=t.replace(o[0],x),p?(m.regex.lastIndex+=s.length,m.regex.lastIndex-=o[0].length):m.regex.lastIndex=0,a++,a>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,o,s;function a(l,u){const d=this.nestingOptionsSeparator;if(l.indexOf(d)<0)return l;const f=l.split(new RegExp(`${d}[ ]*{`));let p=`{${f[1]}`;l=f[0],p=this.interpolate(p,s);const g=p.match(/'/g),m=p.match(/"/g);(g&&g.length%2===0&&!m||m.length%2!==0)&&(p=p.replace(/'/g,'"'));try{s=JSON.parse(p),u&&(s={...u,...s})}catch(v){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,v),`${l}${d}${p}`}return delete s.defaultValue,l}for(;i=this.nestingRegexp.exec(t);){let l=[];s={...r},s=s.replace&&typeof s.replace!="string"?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let u=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const d=i[1].split(this.formatSeparator).map(f=>f.trim());i[1]=d.shift(),l=d,u=!0}if(o=n(a.call(this,i[1].trim(),s),s),o&&i[0]===t&&typeof o!="string")return o;typeof o!="string"&&(o=pO(o)),o||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${t}`),o=""),u&&(o=l.reduce((d,f)=>this.format(d,f,r.lng,{...r,interpolationkey:i[1].trim()}),o.trim())),t=t.replace(i[0],o),this.regexp.lastIndex=0}return t}}function l1e(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);t==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):t==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(s=>{if(!s)return;const[a,...l]=s.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,"");n[a.trim()]||(n[a.trim()]=u),u==="false"&&(n[a.trim()]=!1),u==="true"&&(n[a.trim()]=!0),isNaN(u)||(n[a.trim()]=parseInt(u,10))})}return{formatName:t,formatOptions:n}}function ud(e){const t={};return function(r,i,o){const s=i+JSON.stringify(o);let a=t[s];return a||(a=e(K1(i),o),t[s]=a),a(r)}}class u1e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Cs.create("formatter"),this.options=t,this.formats={number:ud((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return o=>i.format(o)}),currency:ud((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return o=>i.format(o)}),datetime:ud((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return o=>i.format(o)}),relativetime:ud((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return o=>i.format(o,r.range||"day")}),list:ud((n,r)=>{const i=new Intl.ListFormat(n,{...r});return o=>i.format(o)})},this.init(t)}init(t){const r=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=ud(n)}format(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return n.split(this.formatSeparator).reduce((a,l)=>{const{formatName:u,formatOptions:d}=l1e(l);if(this.formats[u]){let f=a;try{const p=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},g=p.locale||p.lng||i.locale||i.lng||r;f=this.formats[u](a,g,{...d,...i,...p})}catch(p){this.logger.warn(p)}return f}else this.logger.warn(`there was no format function for ${u}`);return a},t)}}function c1e(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}class d1e extends eS{constructor(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=Cs.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(r,i.backend,i)}queueLoad(t,n,r,i){const o={},s={},a={},l={};return t.forEach(u=>{let d=!0;n.forEach(f=>{const p=`${u}|${f}`;!r.reload&&this.store.hasResourceBundle(u,f)?this.state[p]=2:this.state[p]<0||(this.state[p]===1?s[p]===void 0&&(s[p]=!0):(this.state[p]=1,d=!1,s[p]===void 0&&(s[p]=!0),o[p]===void 0&&(o[p]=!0),l[f]===void 0&&(l[f]=!0)))}),d||(a[u]=!0)}),(Object.keys(o).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(s),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(l)}}loaded(t,n,r){const i=t.split("|"),o=i[0],s=i[1];n&&this.emit("failedLoading",o,s,n),r&&this.store.addResourceBundle(o,s,r),this.state[t]=n?-1:2;const a={};this.queue.forEach(l=>{Xve(l.loaded,[o],s),c1e(l,t),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{a[u]||(a[u]={});const d=l.loaded[u];d.length&&d.forEach(f=>{a[u][f]===void 0&&(a[u][f]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(l=>!l.done)}read(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!t.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:i,wait:o,callback:s});return}this.readingCalls++;const a=(u,d)=>{if(this.readingCalls--,this.waitingReads.length>0){const f=this.waitingReads.shift();this.read(f.lng,f.ns,f.fcName,f.tried,f.wait,f.callback)}if(u&&d&&i{this.read.call(this,t,n,r,i+1,o*2,s)},o);return}s(u,d)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(t,n);u&&typeof u.then=="function"?u.then(d=>a(null,d)).catch(a):a(null,u)}catch(u){a(u)}return}return l(t,n,a)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();typeof t=="string"&&(t=this.languageUtils.toResolveHierarchy(t)),typeof n=="string"&&(n=[n]);const o=this.queueLoad(t,n,r,i);if(!o.toLoad.length)return o.pending.length||i(),null;o.toLoad.forEach(s=>{this.loadOne(s)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),i=r[0],o=r[1];this.read(i,o,"read",void 0,void 0,(s,a)=>{s&&this.logger.warn(`${n}loading namespace ${o} for language ${i} failed`,s),!s&&a&&this.logger.log(`${n}loaded namespace ${o} for language ${i}`,a),this.loaded(t,s,a)})}saveMissing(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend&&this.backend.create){const l={...s,isUpdate:o},u=this.backend.create.bind(this.backend);if(u.length<6)try{let d;u.length===5?d=u(t,n,r,i,l):d=u(t,n,r,i),d&&typeof d.then=="function"?d.then(f=>a(null,f)).catch(a):a(null,d)}catch(d){a(d)}else u(t,n,r,i,a,l)}!t||!t[0]||this.store.addResource(t[0],n,r,i)}}}function SO(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let n={};if(typeof t[1]=="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const r=t[3]||t[2];Object.keys(r).forEach(i=>{n[i]=r[i]})}return n},interpolation:{escapeValue:!0,format:(e,t,n,r)=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function wO(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function R0(){}function f1e(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}class Mg extends eS{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=wO(t),this.services={},this.logger=Cs,this.modules={external:[]},f1e(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(typeof n.ns=="string"?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const i=SO();this.options={...i,...this.options,...wO(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);function o(d){return d?typeof d=="function"?new d:d:null}if(!this.options.isClone){this.modules.logger?Cs.init(o(this.modules.logger),this.options):Cs.init(null,this.options);let d;this.modules.formatter?d=this.modules.formatter:typeof Intl<"u"&&(d=u1e);const f=new vO(this.options);this.store=new mO(this.options.resources,this.options);const p=this.services;p.logger=Cs,p.resourceStore=this.store,p.languageUtils=f,p.pluralResolver=new s1e(f,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),d&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(p.formatter=o(d),p.formatter.init(p,this.options),this.options.interpolation.format=p.formatter.format.bind(p.formatter)),p.interpolator=new a1e(this.options),p.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},p.backendConnector=new d1e(o(this.modules.backend),p.resourceStore,p,this.options),p.backendConnector.on("*",function(g){for(var m=arguments.length,v=new Array(m>1?m-1:0),x=1;x1?m-1:0),x=1;x{g.init&&g.init(this)})}if(this.format=this.options.interpolation.format,r||(r=R0),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const d=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);d.length>0&&d[0]!=="dev"&&(this.options.lng=d[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(d=>{this[d]=function(){return t.store[d](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(d=>{this[d]=function(){return t.store[d](...arguments),t}});const l=Xh(),u=()=>{const d=(f,p)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(p),r(f,p)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return d(null,this.t.bind(this));this.changeLanguage(this.options.lng,d)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),l}loadResources(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:R0;const i=typeof t=="string"?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(i&&i.toLowerCase()==="cimode")return r();const o=[],s=a=>{if(!a)return;this.services.languageUtils.toResolveHierarchy(a).forEach(u=>{o.indexOf(u)<0&&o.push(u)})};i?s(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>s(l)),this.options.preload&&this.options.preload.forEach(a=>s(a)),this.services.backendConnector.load(o,this.options.ns,a=>{!a&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(a)})}else r(null)}reloadResources(t,n,r){const i=Xh();return t||(t=this.languages),n||(n=this.options.ns),r||(r=R0),this.services.backendConnector.reload(t,n,o=>{i.resolve(),r(o)}),i}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&wU.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const i=Xh();this.emit("languageChanging",t);const o=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},s=(l,u)=>{u?(o(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,i.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},a=l=>{!t&&!l&&this.services.languageDetector&&(l=[]);const u=typeof l=="string"?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||o(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,d=>{s(d,u)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(t),i}getFixedT(t,n,r){var i=this;const o=function(s,a){let l;if(typeof a!="object"){for(var u=arguments.length,d=new Array(u>2?u-2:0),f=2;f`${l.keyPrefix}${p}${m}`):g=l.keyPrefix?`${l.keyPrefix}${p}${s}`:s,i.t(g,l)};return typeof t=="string"?o.lng=t:o.lngs=t,o.ns=n,o.keyPrefix=r,o}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=this.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};if(n.precheck){const a=n.precheck(this,s);if(a!==void 0)return a}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(r,t)&&(!i||s(o,t)))}loadNamespaces(t,n){const r=Xh();return this.options.ns?(typeof t=="string"&&(t=[t]),t.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),n&&n(i)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=Xh();typeof t=="string"&&(t=[t]);const i=this.options.preload||[],o=t.filter(s=>i.indexOf(s)<0);return o.length?(this.options.preload=i.concat(o),this.loadResources(s=>{r.resolve(),n&&n(s)}),r):(n&&n(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services&&this.services.languageUtils||new vO(SO());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new Mg(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:R0;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const i={...this.options,...t,isClone:!0},o=new Mg(i);return(t.debug!==void 0||t.prefix!==void 0)&&(o.logger=o.logger.clone(t)),["store","services","language"].forEach(a=>{o[a]=this[a]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new mO(this.store.data,i),o.services.resourceStore=o.store),o.translator=new X1(o.services,i),o.translator.on("*",function(a){for(var l=arguments.length,u=new Array(l>1?l-1:0),d=1;dtypeof e=="string"?{title:e,status:"info",isClosable:!0,duration:2500}:{status:"info",isClosable:!0,duration:2500,...e},xU={isConnected:!1,isProcessing:!1,isGFPGANAvailable:!0,isESRGANAvailable:!0,shouldConfirmOnDelete:!0,currentStep:0,totalSteps:0,currentIteration:0,totalIterations:0,currentStatusHasSteps:!1,isCancelable:!0,enableImageDebugging:!1,toastQueue:[],progressImage:null,shouldAntialiasProgressImage:!1,sessionId:null,cancelType:"immediate",isCancelScheduled:!1,subscribedNodeIds:[],wereModelsReceived:!1,wasSchemaParsed:!1,consoleLogLevel:"debug",shouldLogToConsole:!0,statusTranslationKey:"common.statusDisconnected",canceledSession:"",isPersisted:!1,language:"en",isUploading:!1,isNodesEnabled:!1,shouldUseNSFWChecker:!1,shouldUseWatermarker:!1},CU=yn({name:"system",initialState:xU,reducers:{setIsProcessing:(e,t)=>{e.isProcessing=t.payload},setCurrentStatus:(e,t)=>{e.statusTranslationKey=t.payload},setShouldConfirmOnDelete:(e,t)=>{e.shouldConfirmOnDelete=t.payload},setIsCancelable:(e,t)=>{e.isCancelable=t.payload},setEnableImageDebugging:(e,t)=>{e.enableImageDebugging=t.payload},addToast:(e,t)=>{e.toastQueue.push(t.payload)},clearToastQueue:e=>{e.toastQueue=[]},cancelScheduled:e=>{e.isCancelScheduled=!0},scheduledCancelAborted:e=>{e.isCancelScheduled=!1},cancelTypeChanged:(e,t)=>{e.cancelType=t.payload},subscribedNodeIdsSet:(e,t)=>{e.subscribedNodeIds=t.payload},consoleLogLevelChanged:(e,t)=>{e.consoleLogLevel=t.payload},shouldLogToConsoleChanged:(e,t)=>{e.shouldLogToConsole=t.payload},shouldAntialiasProgressImageChanged:(e,t)=>{e.shouldAntialiasProgressImage=t.payload},isPersistedChanged:(e,t)=>{e.isPersisted=t.payload},languageChanged:(e,t)=>{e.language=t.payload},progressImageSet(e,t){e.progressImage=t.payload},setIsNodesEnabled(e,t){e.isNodesEnabled=t.payload},shouldUseNSFWCheckerChanged(e,t){e.shouldUseNSFWChecker=t.payload},shouldUseWatermarkerChanged(e,t){e.shouldUseWatermarker=t.payload}},extraReducers(e){e.addCase(K$,(t,n)=>{t.sessionId=n.payload.sessionId,t.canceledSession=""}),e.addCase(Y$,t=>{t.sessionId=null}),e.addCase(H$,t=>{t.isConnected=!0,t.isCancelable=!0,t.isProcessing=!1,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.currentIteration=0,t.totalIterations=0,t.statusTranslationKey="common.statusConnected"}),e.addCase(q$,t=>{t.isConnected=!1,t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusDisconnected"}),e.addCase(Z$,t=>{t.isCancelable=!0,t.isProcessing=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusGenerating"}),e.addCase(iF,(t,n)=>{const{step:r,total_steps:i,progress_image:o}=n.payload.data;t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!0,t.currentStep=r+1,t.totalSteps=i,t.progressImage=o??null,t.statusTranslationKey="common.statusGenerating"}),e.addCase(J$,(t,n)=>{const{data:r}=n.payload;t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusProcessingComplete",t.canceledSession===r.graph_execution_state_id&&(t.isProcessing=!1,t.isCancelable=!0)}),e.addCase(nF,t=>{t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null}),e.addCase(Em,t=>{t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.statusTranslationKey="common.statusPreparing"}),e.addCase(mc.fulfilled,(t,n)=>{t.canceledSession=n.meta.arg.session_id,t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Xu({title:Pp("toast.canceled"),status:"warning"}))}),e.addCase(oE,t=>{t.wasSchemaParsed=!0}),e.addMatcher(i$,(t,n)=>{var r;t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Xu({title:Pp("toast.serverError"),status:"error",description:((r=n.payload)==null?void 0:r.status)===422?"Validation Error":void 0}))}),e.addMatcher(y1e,(t,n)=>{t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusError",t.progressImage=null,t.toastQueue.push(Xu({title:Pp("toast.serverError"),status:"error",description:Qae(n.payload.data.error_type)}))})}}),{setIsProcessing:l7e,setShouldConfirmOnDelete:u7e,setCurrentStatus:c7e,setIsCancelable:d7e,setEnableImageDebugging:f7e,addToast:zn,clearToastQueue:h7e,cancelScheduled:p7e,scheduledCancelAborted:g7e,cancelTypeChanged:m7e,subscribedNodeIdsSet:y7e,consoleLogLevelChanged:v7e,shouldLogToConsoleChanged:_7e,isPersistedChanged:b7e,shouldAntialiasProgressImageChanged:S7e,languageChanged:w7e,progressImageSet:h1e,setIsNodesEnabled:x7e,shouldUseNSFWCheckerChanged:p1e,shouldUseWatermarkerChanged:g1e}=CU.actions,m1e=CU.reducer,y1e=Co(LT,lF,cF),v1e={searchFolder:null,advancedAddScanModel:null},TU=yn({name:"modelmanager",initialState:v1e,reducers:{setSearchFolder:(e,t)=>{e.searchFolder=t.payload},setAdvancedAddScanModel:(e,t)=>{e.advancedAddScanModel=t.payload}}}),{setSearchFolder:C7e,setAdvancedAddScanModel:T7e}=TU.actions,_1e=TU.reducer,EU={shift:!1},AU=yn({name:"hotkeys",initialState:EU,reducers:{shiftKeyPressed:(e,t)=>{e.shift=t.payload}}}),{shiftKeyPressed:E7e}=AU.actions,b1e=AU.reducer,S1e=WY(DJ);PU=Z3=void 0;var w1e=S1e,x1e=function(){var t=[],n=[],r=void 0,i=function(u){return r=u,function(d){return function(f){return w1e.compose.apply(void 0,n)(d)(f)}}},o=function(){for(var u,d,f=arguments.length,p=Array(f),g=0;g0?g("%c ".concat(p," %c").concat(d?" [".concat(String(d),"]:"):"","%c ").concat(a.message," %O"),v,x,_,f):g("%c ".concat(p," %c").concat(d?" [".concat(String(d),"]:"):"","%c ").concat(a.message),v,x,_)}}};Nb.createLogWriter=Uve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createLogWriter=void 0;var t=Nb;Object.defineProperty(e,"createLogWriter",{enumerable:!0,get:function(){return t.createLogWriter}})})(VB);Cm.ROARR.write=VB.createLogWriter();const pU={};Cm.Roarr.child(pU);const Jb=gm(Cm.Roarr.child(pU)),Ie=e=>Jb.get().child({namespace:e}),DIe=["trace","debug","info","warn","error","fatal"],$Ie={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function zve(){const e=[];return function(t,n){if(typeof n!="object"||n===null)return n;for(;e.length>0&&e.at(-1)!==this;)e.pop();return e.includes(n)?"[Circular]":(e.push(n),n)}}const Ig=Ul("nodes/receivedOpenAPISchema",async(e,{dispatch:t,rejectWithValue:n})=>{const r=Ie("system");try{const o=await(await fetch("openapi.json")).json();return r.info({openAPISchema:o},"Received OpenAPI schema"),JSON.parse(JSON.stringify(o,zve()))}catch(i){return n({error:i})}}),gU={nodes:[],edges:[],schema:null,invocationTemplates:{},connectionStartParams:null,shouldShowGraphOverlay:!1,shouldShowFieldTypeLegend:!1,shouldShowMinimapPanel:!0,editorInstance:void 0,progressNodeSize:{width:512,height:512}},mU=yn({name:"nodes",initialState:gU,reducers:{nodesChanged:(e,t)=>{e.nodes=IB(t.payload,e.nodes)},nodeAdded:(e,t)=>{e.nodes.push(t.payload)},edgesChanged:(e,t)=>{e.edges=Zme(t.payload,e.edges)},connectionStarted:(e,t)=>{e.connectionStartParams=t.payload},connectionMade:(e,t)=>{e.edges=oB(t.payload,e.edges)},connectionEnded:e=>{e.connectionStartParams=null},fieldValueChanged:(e,t)=>{var a,l,u;const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(d=>d.id===n),s=(u=(l=(a=e.nodes)==null?void 0:a[o])==null?void 0:l.data)==null?void 0:u.inputs[r];s&&o>-1&&(s.value=i)},imageCollectionFieldValueChanged:(e,t)=>{var l,u,d;const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(f=>f.id===n);if(o===-1)return;const s=(d=(u=(l=e.nodes)==null?void 0:l[o])==null?void 0:u.data)==null?void 0:d.inputs[r];if(!s)return;const a=Ur(s.value);if(!a){s.value=i;return}s.value=rle(a.concat(i),"image_name")},shouldShowGraphOverlayChanged:(e,t)=>{e.shouldShowGraphOverlay=t.payload},shouldShowFieldTypeLegendChanged:(e,t)=>{e.shouldShowFieldTypeLegend=t.payload},shouldShowMinimapPanelChanged:(e,t)=>{e.shouldShowMinimapPanel=t.payload},nodeTemplatesBuilt:(e,t)=>{e.invocationTemplates=t.payload},nodeEditorReset:e=>{e.nodes=[],e.edges=[]},setEditorInstance:(e,t)=>{e.editorInstance=t.payload},loadFileNodes:(e,t)=>{e.nodes=t.payload},loadFileEdges:(e,t)=>{e.edges=t.payload},setProgressNodeSize:(e,t)=>{e.progressNodeSize=t.payload}},extraReducers:e=>{e.addCase(Ig.fulfilled,(t,n)=>{t.schema=n.payload})}}),{nodesChanged:FIe,edgesChanged:BIe,nodeAdded:UIe,fieldValueChanged:yU,connectionMade:zIe,connectionStarted:VIe,connectionEnded:jIe,shouldShowGraphOverlayChanged:GIe,shouldShowFieldTypeLegendChanged:HIe,shouldShowMinimapPanelChanged:WIe,nodeTemplatesBuilt:sE,nodeEditorReset:aE,imageCollectionFieldValueChanged:qIe,setEditorInstance:KIe,loadFileNodes:XIe,loadFileEdges:YIe,setProgressNodeSize:QIe}=mU.actions,Vve=mU.reducer,vU={esrganModelName:"RealESRGAN_x4plus.pth"},_U=yn({name:"postprocessing",initialState:vU,reducers:{esrganModelNameChanged:(e,t)=>{e.esrganModelName=t.payload}}}),{esrganModelNameChanged:ZIe}=_U.actions,jve=_U.reducer,Gve={positiveStylePrompt:"",negativeStylePrompt:"",shouldConcatSDXLStylePrompt:!0,shouldUseSDXLRefiner:!1,sdxlImg2ImgDenoisingStrength:.7,refinerModel:null,refinerSteps:20,refinerCFGScale:7.5,refinerScheduler:"euler",refinerAestheticScore:6,refinerStart:.7},bU=yn({name:"sdxl",initialState:Gve,reducers:{setPositiveStylePromptSDXL:(e,t)=>{e.positiveStylePrompt=t.payload},setNegativeStylePromptSDXL:(e,t)=>{e.negativeStylePrompt=t.payload},setShouldConcatSDXLStylePrompt:(e,t)=>{e.shouldConcatSDXLStylePrompt=t.payload},setShouldUseSDXLRefiner:(e,t)=>{e.shouldUseSDXLRefiner=t.payload},setSDXLImg2ImgDenoisingStrength:(e,t)=>{e.sdxlImg2ImgDenoisingStrength=t.payload},refinerModelChanged:(e,t)=>{e.refinerModel=t.payload},setRefinerSteps:(e,t)=>{e.refinerSteps=t.payload},setRefinerCFGScale:(e,t)=>{e.refinerCFGScale=t.payload},setRefinerScheduler:(e,t)=>{e.refinerScheduler=t.payload},setRefinerAestheticScore:(e,t)=>{e.refinerAestheticScore=t.payload},setRefinerStart:(e,t)=>{e.refinerStart=t.payload}}}),{setPositiveStylePromptSDXL:JIe,setNegativeStylePromptSDXL:e7e,setShouldConcatSDXLStylePrompt:t7e,setShouldUseSDXLRefiner:Hve,setSDXLImg2ImgDenoisingStrength:n7e,refinerModelChanged:pO,setRefinerSteps:r7e,setRefinerCFGScale:i7e,setRefinerScheduler:o7e,setRefinerAestheticScore:s7e,setRefinerStart:a7e}=bU.actions,Wve=bU.reducer,Em=Re("app/userInvoked"),qve={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class H1{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||qve,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]=this.observers[r]||[],this.observers[r].push(n)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t]=this.observers[t].filter(r=>r!==n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{s(...r)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(s=>{s.apply(s,[t,...r])})}}function Xh(){let e,t;const n=new Promise((r,i)=>{e=r,t=i});return n.resolve=e,n.reject=t,n}function gO(e){return e==null?"":""+e}function Kve(e,t,n){e.forEach(r=>{t[r]&&(n[r]=t[r])})}function lE(e,t,n){function r(s){return s&&s.indexOf("###")>-1?s.replace(/###/g,"."):s}function i(){return!e||typeof e=="string"}const o=typeof t!="string"?[].concat(t):t.split(".");for(;o.length>1;){if(i())return{};const s=r(o.shift());!e[s]&&n&&(e[s]=new n),Object.prototype.hasOwnProperty.call(e,s)?e=e[s]:e={}}return i()?{}:{obj:e,k:r(o.shift())}}function mO(e,t,n){const{obj:r,k:i}=lE(e,t,Object);r[i]=n}function Xve(e,t,n,r){const{obj:i,k:o}=lE(e,t,Object);i[o]=i[o]||[],r&&(i[o]=i[o].concat(n)),r||i[o].push(n)}function W1(e,t){const{obj:n,k:r}=lE(e,t);if(n)return n[r]}function Yve(e,t,n){const r=W1(e,n);return r!==void 0?r:W1(t,n)}function SU(e,t,n){for(const r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?typeof e[r]=="string"||e[r]instanceof String||typeof t[r]=="string"||t[r]instanceof String?n&&(e[r]=t[r]):SU(e[r],t[r],n):e[r]=t[r]);return e}function ld(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var Qve={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function Zve(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,t=>Qve[t]):e}const Jve=[" ",",","?","!",";"];function e1e(e,t,n){t=t||"",n=n||"";const r=Jve.filter(s=>t.indexOf(s)<0&&n.indexOf(s)<0);if(r.length===0)return!0;const i=new RegExp(`(${r.map(s=>s==="?"?"\\?":s).join("|")})`);let o=!i.test(e);if(!o){const s=e.indexOf(n);s>0&&!i.test(e.substring(0,s))&&(o=!0)}return o}function q1(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let i=e;for(let o=0;oo+s;)s++,a=r.slice(o,o+s).join(n),l=i[a];if(l===void 0)return;if(l===null)return null;if(t.endsWith(a)){if(typeof l=="string")return l;if(a&&typeof l[a]=="string")return l[a]}const u=r.slice(o+s).join(n);return u?q1(l,u,n):void 0}i=i[r[o]]}return i}function K1(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class yO extends eS{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const o=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,s=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let a=[t,n];r&&typeof r!="string"&&(a=a.concat(r)),r&&typeof r=="string"&&(a=a.concat(o?r.split(o):r)),t.indexOf(".")>-1&&(a=t.split("."));const l=W1(this.data,a);return l||!s||typeof r!="string"?l:q1(this.data&&this.data[t]&&this.data[t][n],r,o)}addResource(t,n,r,i){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator;let a=[t,n];r&&(a=a.concat(s?r.split(s):r)),t.indexOf(".")>-1&&(a=t.split("."),i=n,n=a[1]),this.addNamespaces(n),mO(this.data,a,i),o.silent||this.emit("added",t,n,r,i)}addResources(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const o in r)(typeof r[o]=="string"||Object.prototype.toString.apply(r[o])==="[object Array]")&&this.addResource(t,n,o,r[o],{silent:!0});i.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},a=[t,n];t.indexOf(".")>-1&&(a=t.split("."),i=r,r=n,n=a[1]),this.addNamespaces(n);let l=W1(this.data,a)||{};i?SU(l,r,o):l={...l,...r},mO(this.data,a,l),s.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,n)}:this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var wU={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(o=>{this.processors[o]&&(t=this.processors[o].process(t,n,r,i))}),t}};const vO={};class X1 extends eS{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Kve(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=Cs.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const r=this.resolve(t,n);return r&&r.res!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let o=n.ns||this.options.defaultNS||[];const s=r&&t.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!e1e(t,r,i);if(s&&!a){const l=t.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:t,namespaces:o};const u=t.split(r);(r!==i||r===i&&this.options.ns.indexOf(u[0])>-1)&&(o=u.shift()),t=u.join(i)}return typeof o=="string"&&(o=[o]),{key:t,namespaces:o}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:s,namespaces:a}=this.extractFromKey(t[t.length-1],n),l=a[a.length-1],u=n.lng||this.language,d=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(d){const S=n.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${S}${s}`,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:`${l}${S}${s}`}return i?{res:s,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:s}const f=this.resolve(t,n);let p=f&&f.res;const g=f&&f.usedKey||s,m=f&&f.exactUsedKey||s,v=Object.prototype.toString.apply(p),x=["[object Number]","[object Function]","[object RegExp]"],_=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,b=!this.i18nFormat||this.i18nFormat.handleAsObject;if(b&&p&&(typeof p!="string"&&typeof p!="boolean"&&typeof p!="number")&&x.indexOf(v)<0&&!(typeof _=="string"&&v==="[object Array]")){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const S=this.options.returnedObjectHandler?this.options.returnedObjectHandler(g,p,{...n,ns:a}):`key '${s} (${this.language})' returned an object instead of string.`;return i?(f.res=S,f):S}if(o){const S=v==="[object Array]",C=S?[]:{},T=S?m:g;for(const E in p)if(Object.prototype.hasOwnProperty.call(p,E)){const P=`${T}${o}${E}`;C[E]=this.translate(P,{...n,joinArrays:!1,ns:a}),C[E]===P&&(C[E]=p[E])}p=C}}else if(b&&typeof _=="string"&&v==="[object Array]")p=p.join(_),p&&(p=this.extendTranslation(p,t,n,r));else{let S=!1,C=!1;const T=n.count!==void 0&&typeof n.count!="string",E=X1.hasDefaultValue(n),P=T?this.pluralResolver.getSuffix(u,n.count,n):"",k=n.ordinal&&T?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",O=n[`defaultValue${P}`]||n[`defaultValue${k}`]||n.defaultValue;!this.isValidLookup(p)&&E&&(S=!0,p=O),this.isValidLookup(p)||(C=!0,p=s);const G=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&C?void 0:p,U=E&&O!==p&&this.options.updateMissing;if(C||S||U){if(this.logger.log(U?"updateKey":"missingKey",u,l,s,U?O:p),o){const B=this.resolve(s,{...n,keySeparator:!1});B&&B.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let A=[];const N=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&N&&N[0])for(let B=0;B{const j=E&&V!==p?V:G;this.options.missingKeyHandler?this.options.missingKeyHandler(B,l,D,j,U,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(B,l,D,j,U,n),this.emit("missingKey",B,l,D,p)};this.options.saveMissing&&(this.options.saveMissingPlurals&&T?A.forEach(B=>{this.pluralResolver.getSuffixes(B,n).forEach(D=>{F([B],s+D,n[`defaultValue${D}`]||O)})}):F(A,s,O))}p=this.extendTranslation(p,t,n,f,r),C&&p===s&&this.options.appendNamespaceToMissingKey&&(p=`${l}:${s}`),(C||S)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?p=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${s}`:s,S?p:void 0):p=this.options.parseMissingKeyHandler(p))}return i?(f.res=p,f):p}extendTranslation(t,n,r,i,o){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const u=typeof t=="string"&&(r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let d;if(u){const p=t.match(this.interpolator.nestingRegexp);d=p&&p.length}let f=r.replace&&typeof r.replace!="string"?r.replace:r;if(this.options.interpolation.defaultVariables&&(f={...this.options.interpolation.defaultVariables,...f}),t=this.interpolator.interpolate(t,f,r.lng||this.language,r),u){const p=t.match(this.interpolator.nestingRegexp),g=p&&p.length;d1&&arguments[1]!==void 0?arguments[1]:{},r,i,o,s,a;return typeof t=="string"&&(t=[t]),t.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),d=u.key;i=d;let f=u.namespaces;this.options.fallbackNS&&(f=f.concat(this.options.fallbackNS));const p=n.count!==void 0&&typeof n.count!="string",g=p&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),m=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",v=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);f.forEach(x=>{this.isValidLookup(r)||(a=x,!vO[`${v[0]}-${x}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(vO[`${v[0]}-${x}`]=!0,this.logger.warn(`key "${i}" for languages "${v.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),v.forEach(_=>{if(this.isValidLookup(r))return;s=_;const b=[d];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(b,d,_,x,n);else{let S;p&&(S=this.pluralResolver.getSuffix(_,n.count,n));const C=`${this.options.pluralSeparator}zero`,T=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(p&&(b.push(d+S),n.ordinal&&S.indexOf(T)===0&&b.push(d+S.replace(T,this.options.pluralSeparator)),g&&b.push(d+C)),m){const E=`${d}${this.options.contextSeparator}${n.context}`;b.push(E),p&&(b.push(E+S),n.ordinal&&S.indexOf(T)===0&&b.push(E+S.replace(T,this.options.pluralSeparator)),g&&b.push(E+C))}}let y;for(;y=b.pop();)this.isValidLookup(r)||(o=y,r=this.getResource(_,x,y,n))}))})}),{res:r,usedKey:i,exactUsedKey:o,usedLng:s,usedNS:a}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,n,r,i):this.resourceStore.getResource(t,n,r,i)}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}function Rx(e){return e.charAt(0).toUpperCase()+e.slice(1)}class _O{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Cs.create("languageUtils")}getScriptPartFromCode(t){if(t=K1(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=K1(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(typeof t=="string"&&t.indexOf("-")>-1){const n=["hans","hant","latn","cyrl","cans","mong","arab"];let r=t.split("-");return this.options.lowerCaseLng?r=r.map(i=>i.toLowerCase()):r.length===2?(r[0]=r[0].toLowerCase(),r[1]=r[1].toUpperCase(),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=Rx(r[1].toLowerCase()))):r.length===3&&(r[0]=r[0].toLowerCase(),r[1].length===2&&(r[1]=r[1].toUpperCase()),r[0]!=="sgn"&&r[2].length===2&&(r[2]=r[2].toUpperCase()),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=Rx(r[1].toLowerCase())),n.indexOf(r[2].toLowerCase())>-1&&(r[2]=Rx(r[2].toLowerCase()))),r.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const i=this.getLanguagePartFromCode(r);if(this.isSupportedCode(i))return n=i;n=this.options.supportedLngs.find(o=>{if(o===i)return o;if(!(o.indexOf("-")<0&&i.indexOf("-")<0)&&o.indexOf(i)===0)return o})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),typeof t=="string"&&(t=[t]),Object.prototype.toString.apply(t)==="[object Array]")return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),i=[],o=s=>{s&&(this.isSupportedCode(s)?i.push(s):this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`))};return typeof t=="string"&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(t))):typeof t=="string"&&o(this.formatLanguageCode(t)),r.forEach(s=>{i.indexOf(s)<0&&o(this.formatLanguageCode(s))}),i}}let t1e=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],n1e={1:function(e){return+(e>1)},2:function(e){return+(e!=1)},3:function(e){return 0},4:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},5:function(e){return e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},6:function(e){return e==1?0:e>=2&&e<=4?1:2},7:function(e){return e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},8:function(e){return e==1?0:e==2?1:e!=8&&e!=11?2:3},9:function(e){return+(e>=2)},10:function(e){return e==1?0:e==2?1:e<7?2:e<11?3:4},11:function(e){return e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3},12:function(e){return+(e%10!=1||e%100==11)},13:function(e){return+(e!==0)},14:function(e){return e==1?0:e==2?1:e==3?2:3},15:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2},16:function(e){return e%10==1&&e%100!=11?0:e!==0?1:2},17:function(e){return e==1||e%10==1&&e%100!=11?0:1},18:function(e){return e==0?0:e==1?1:2},19:function(e){return e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3},20:function(e){return e==1?0:e==0||e%100>0&&e%100<20?1:2},21:function(e){return e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0},22:function(e){return e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3}};const r1e=["v1","v2","v3"],i1e=["v4"],bO={zero:0,one:1,two:2,few:3,many:4,other:5};function o1e(){const e={};return t1e.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:n1e[t.fc]}})}),e}class s1e{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=Cs.create("pluralResolver"),(!this.options.compatibilityJSON||i1e.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=o1e()}addRule(t,n){this.rules[t]=n}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(K1(t),{type:n.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return this.shouldUseIntlApi()?r&&r.resolvedOptions().pluralCategories.length>1:r&&r.numbers.length>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(i=>`${n}${i}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((i,o)=>bO[i]-bO[o]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):r.numbers.map(i=>this.getSuffix(t,i,n)):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(t,r);return i?this.shouldUseIntlApi()?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:this.getSuffixRetroCompatible(i,n):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,n){const r=t.noAbs?t.plurals(n):t.plurals(Math.abs(n));let i=t.numbers[r];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(i===2?i="plural":i===1&&(i=""));const o=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return this.options.compatibilityJSON==="v1"?i===1?"":typeof i=="number"?`_plural_${i.toString()}`:o():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?o():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}shouldUseIntlApi(){return!r1e.includes(this.options.compatibilityJSON)}}function SO(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=Yve(e,t,n);return!o&&i&&typeof n=="string"&&(o=q1(e,n,r),o===void 0&&(o=q1(t,n,r))),o}class a1e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Cs.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(n=>n),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const n=t.interpolation;this.escape=n.escape!==void 0?n.escape:Zve,this.escapeValue=n.escapeValue!==void 0?n.escapeValue:!0,this.useRawValueToEscape=n.useRawValueToEscape!==void 0?n.useRawValueToEscape:!1,this.prefix=n.prefix?ld(n.prefix):n.prefixEscaped||"{{",this.suffix=n.suffix?ld(n.suffix):n.suffixEscaped||"}}",this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||",",this.unescapePrefix=n.unescapeSuffix?"":n.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":n.unescapeSuffix||"",this.nestingPrefix=n.nestingPrefix?ld(n.nestingPrefix):n.nestingPrefixEscaped||ld("$t("),this.nestingSuffix=n.nestingSuffix?ld(n.nestingSuffix):n.nestingSuffixEscaped||ld(")"),this.nestingOptionsSeparator=n.nestingOptionsSeparator?n.nestingOptionsSeparator:n.nestingOptionsSeparator||",",this.maxReplaces=n.maxReplaces?n.maxReplaces:1e3,this.alwaysFormat=n.alwaysFormat!==void 0?n.alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=`${this.prefix}(.+?)${this.suffix}`;this.regexp=new RegExp(t,"g");const n=`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;this.regexpUnescape=new RegExp(n,"g");const r=`${this.nestingPrefix}(.+?)${this.nestingSuffix}`;this.nestingRegexp=new RegExp(r,"g")}interpolate(t,n,r,i){let o,s,a;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(m){return m.replace(/\$/g,"$$$$")}const d=m=>{if(m.indexOf(this.formatSeparator)<0){const b=SO(n,l,m,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(b,void 0,r,{...i,...n,interpolationkey:m}):b}const v=m.split(this.formatSeparator),x=v.shift().trim(),_=v.join(this.formatSeparator).trim();return this.format(SO(n,l,x,this.options.keySeparator,this.options.ignoreJSONStructure),_,r,{...i,...n,interpolationkey:x})};this.resetRegExp();const f=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,p=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:m=>u(m)},{regex:this.regexp,safeValue:m=>this.escapeValue?u(this.escape(m)):u(m)}].forEach(m=>{for(a=0;o=m.regex.exec(t);){const v=o[1].trim();if(s=d(v),s===void 0)if(typeof f=="function"){const _=f(t,o,i);s=typeof _=="string"?_:""}else if(i&&Object.prototype.hasOwnProperty.call(i,v))s="";else if(p){s=o[0];continue}else this.logger.warn(`missed to pass in variable ${v} for interpolating ${t}`),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=gO(s));const x=m.safeValue(s);if(t=t.replace(o[0],x),p?(m.regex.lastIndex+=s.length,m.regex.lastIndex-=o[0].length):m.regex.lastIndex=0,a++,a>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,o,s;function a(l,u){const d=this.nestingOptionsSeparator;if(l.indexOf(d)<0)return l;const f=l.split(new RegExp(`${d}[ ]*{`));let p=`{${f[1]}`;l=f[0],p=this.interpolate(p,s);const g=p.match(/'/g),m=p.match(/"/g);(g&&g.length%2===0&&!m||m.length%2!==0)&&(p=p.replace(/'/g,'"'));try{s=JSON.parse(p),u&&(s={...u,...s})}catch(v){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,v),`${l}${d}${p}`}return delete s.defaultValue,l}for(;i=this.nestingRegexp.exec(t);){let l=[];s={...r},s=s.replace&&typeof s.replace!="string"?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let u=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const d=i[1].split(this.formatSeparator).map(f=>f.trim());i[1]=d.shift(),l=d,u=!0}if(o=n(a.call(this,i[1].trim(),s),s),o&&i[0]===t&&typeof o!="string")return o;typeof o!="string"&&(o=gO(o)),o||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${t}`),o=""),u&&(o=l.reduce((d,f)=>this.format(d,f,r.lng,{...r,interpolationkey:i[1].trim()}),o.trim())),t=t.replace(i[0],o),this.regexp.lastIndex=0}return t}}function l1e(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);t==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):t==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(s=>{if(!s)return;const[a,...l]=s.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,"");n[a.trim()]||(n[a.trim()]=u),u==="false"&&(n[a.trim()]=!1),u==="true"&&(n[a.trim()]=!0),isNaN(u)||(n[a.trim()]=parseInt(u,10))})}return{formatName:t,formatOptions:n}}function ud(e){const t={};return function(r,i,o){const s=i+JSON.stringify(o);let a=t[s];return a||(a=e(K1(i),o),t[s]=a),a(r)}}class u1e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Cs.create("formatter"),this.options=t,this.formats={number:ud((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return o=>i.format(o)}),currency:ud((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return o=>i.format(o)}),datetime:ud((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return o=>i.format(o)}),relativetime:ud((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return o=>i.format(o,r.range||"day")}),list:ud((n,r)=>{const i=new Intl.ListFormat(n,{...r});return o=>i.format(o)})},this.init(t)}init(t){const r=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=ud(n)}format(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return n.split(this.formatSeparator).reduce((a,l)=>{const{formatName:u,formatOptions:d}=l1e(l);if(this.formats[u]){let f=a;try{const p=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},g=p.locale||p.lng||i.locale||i.lng||r;f=this.formats[u](a,g,{...d,...i,...p})}catch(p){this.logger.warn(p)}return f}else this.logger.warn(`there was no format function for ${u}`);return a},t)}}function c1e(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}class d1e extends eS{constructor(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=Cs.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(r,i.backend,i)}queueLoad(t,n,r,i){const o={},s={},a={},l={};return t.forEach(u=>{let d=!0;n.forEach(f=>{const p=`${u}|${f}`;!r.reload&&this.store.hasResourceBundle(u,f)?this.state[p]=2:this.state[p]<0||(this.state[p]===1?s[p]===void 0&&(s[p]=!0):(this.state[p]=1,d=!1,s[p]===void 0&&(s[p]=!0),o[p]===void 0&&(o[p]=!0),l[f]===void 0&&(l[f]=!0)))}),d||(a[u]=!0)}),(Object.keys(o).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(s),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(l)}}loaded(t,n,r){const i=t.split("|"),o=i[0],s=i[1];n&&this.emit("failedLoading",o,s,n),r&&this.store.addResourceBundle(o,s,r),this.state[t]=n?-1:2;const a={};this.queue.forEach(l=>{Xve(l.loaded,[o],s),c1e(l,t),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{a[u]||(a[u]={});const d=l.loaded[u];d.length&&d.forEach(f=>{a[u][f]===void 0&&(a[u][f]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(l=>!l.done)}read(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!t.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:i,wait:o,callback:s});return}this.readingCalls++;const a=(u,d)=>{if(this.readingCalls--,this.waitingReads.length>0){const f=this.waitingReads.shift();this.read(f.lng,f.ns,f.fcName,f.tried,f.wait,f.callback)}if(u&&d&&i{this.read.call(this,t,n,r,i+1,o*2,s)},o);return}s(u,d)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(t,n);u&&typeof u.then=="function"?u.then(d=>a(null,d)).catch(a):a(null,u)}catch(u){a(u)}return}return l(t,n,a)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();typeof t=="string"&&(t=this.languageUtils.toResolveHierarchy(t)),typeof n=="string"&&(n=[n]);const o=this.queueLoad(t,n,r,i);if(!o.toLoad.length)return o.pending.length||i(),null;o.toLoad.forEach(s=>{this.loadOne(s)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),i=r[0],o=r[1];this.read(i,o,"read",void 0,void 0,(s,a)=>{s&&this.logger.warn(`${n}loading namespace ${o} for language ${i} failed`,s),!s&&a&&this.logger.log(`${n}loaded namespace ${o} for language ${i}`,a),this.loaded(t,s,a)})}saveMissing(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend&&this.backend.create){const l={...s,isUpdate:o},u=this.backend.create.bind(this.backend);if(u.length<6)try{let d;u.length===5?d=u(t,n,r,i,l):d=u(t,n,r,i),d&&typeof d.then=="function"?d.then(f=>a(null,f)).catch(a):a(null,d)}catch(d){a(d)}else u(t,n,r,i,a,l)}!t||!t[0]||this.store.addResource(t[0],n,r,i)}}}function wO(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let n={};if(typeof t[1]=="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const r=t[3]||t[2];Object.keys(r).forEach(i=>{n[i]=r[i]})}return n},interpolation:{escapeValue:!0,format:(e,t,n,r)=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function xO(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function R0(){}function f1e(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}class Mg extends eS{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=xO(t),this.services={},this.logger=Cs,this.modules={external:[]},f1e(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(typeof n.ns=="string"?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const i=wO();this.options={...i,...this.options,...xO(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);function o(d){return d?typeof d=="function"?new d:d:null}if(!this.options.isClone){this.modules.logger?Cs.init(o(this.modules.logger),this.options):Cs.init(null,this.options);let d;this.modules.formatter?d=this.modules.formatter:typeof Intl<"u"&&(d=u1e);const f=new _O(this.options);this.store=new yO(this.options.resources,this.options);const p=this.services;p.logger=Cs,p.resourceStore=this.store,p.languageUtils=f,p.pluralResolver=new s1e(f,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),d&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(p.formatter=o(d),p.formatter.init(p,this.options),this.options.interpolation.format=p.formatter.format.bind(p.formatter)),p.interpolator=new a1e(this.options),p.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},p.backendConnector=new d1e(o(this.modules.backend),p.resourceStore,p,this.options),p.backendConnector.on("*",function(g){for(var m=arguments.length,v=new Array(m>1?m-1:0),x=1;x1?m-1:0),x=1;x{g.init&&g.init(this)})}if(this.format=this.options.interpolation.format,r||(r=R0),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const d=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);d.length>0&&d[0]!=="dev"&&(this.options.lng=d[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(d=>{this[d]=function(){return t.store[d](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(d=>{this[d]=function(){return t.store[d](...arguments),t}});const l=Xh(),u=()=>{const d=(f,p)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(p),r(f,p)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return d(null,this.t.bind(this));this.changeLanguage(this.options.lng,d)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),l}loadResources(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:R0;const i=typeof t=="string"?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(i&&i.toLowerCase()==="cimode")return r();const o=[],s=a=>{if(!a)return;this.services.languageUtils.toResolveHierarchy(a).forEach(u=>{o.indexOf(u)<0&&o.push(u)})};i?s(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>s(l)),this.options.preload&&this.options.preload.forEach(a=>s(a)),this.services.backendConnector.load(o,this.options.ns,a=>{!a&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(a)})}else r(null)}reloadResources(t,n,r){const i=Xh();return t||(t=this.languages),n||(n=this.options.ns),r||(r=R0),this.services.backendConnector.reload(t,n,o=>{i.resolve(),r(o)}),i}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&wU.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const i=Xh();this.emit("languageChanging",t);const o=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},s=(l,u)=>{u?(o(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,i.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},a=l=>{!t&&!l&&this.services.languageDetector&&(l=[]);const u=typeof l=="string"?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||o(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,d=>{s(d,u)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(t),i}getFixedT(t,n,r){var i=this;const o=function(s,a){let l;if(typeof a!="object"){for(var u=arguments.length,d=new Array(u>2?u-2:0),f=2;f`${l.keyPrefix}${p}${m}`):g=l.keyPrefix?`${l.keyPrefix}${p}${s}`:s,i.t(g,l)};return typeof t=="string"?o.lng=t:o.lngs=t,o.ns=n,o.keyPrefix=r,o}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=this.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};if(n.precheck){const a=n.precheck(this,s);if(a!==void 0)return a}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(r,t)&&(!i||s(o,t)))}loadNamespaces(t,n){const r=Xh();return this.options.ns?(typeof t=="string"&&(t=[t]),t.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),n&&n(i)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=Xh();typeof t=="string"&&(t=[t]);const i=this.options.preload||[],o=t.filter(s=>i.indexOf(s)<0);return o.length?(this.options.preload=i.concat(o),this.loadResources(s=>{r.resolve(),n&&n(s)}),r):(n&&n(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services&&this.services.languageUtils||new _O(wO());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new Mg(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:R0;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const i={...this.options,...t,isClone:!0},o=new Mg(i);return(t.debug!==void 0||t.prefix!==void 0)&&(o.logger=o.logger.clone(t)),["store","services","language"].forEach(a=>{o[a]=this[a]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new yO(this.store.data,i),o.services.resourceStore=o.store),o.translator=new X1(o.services,i),o.translator.on("*",function(a){for(var l=arguments.length,u=new Array(l>1?l-1:0),d=1;dtypeof e=="string"?{title:e,status:"info",isClosable:!0,duration:2500}:{status:"info",isClosable:!0,duration:2500,...e},xU={isConnected:!1,isProcessing:!1,isGFPGANAvailable:!0,isESRGANAvailable:!0,shouldConfirmOnDelete:!0,currentStep:0,totalSteps:0,currentIteration:0,totalIterations:0,currentStatusHasSteps:!1,isCancelable:!0,enableImageDebugging:!1,toastQueue:[],progressImage:null,shouldAntialiasProgressImage:!1,sessionId:null,cancelType:"immediate",isCancelScheduled:!1,subscribedNodeIds:[],wereModelsReceived:!1,wasSchemaParsed:!1,consoleLogLevel:"debug",shouldLogToConsole:!0,statusTranslationKey:"common.statusDisconnected",canceledSession:"",isPersisted:!1,language:"en",isUploading:!1,isNodesEnabled:!1,shouldUseNSFWChecker:!1,shouldUseWatermarker:!1},CU=yn({name:"system",initialState:xU,reducers:{setIsProcessing:(e,t)=>{e.isProcessing=t.payload},setCurrentStatus:(e,t)=>{e.statusTranslationKey=t.payload},setShouldConfirmOnDelete:(e,t)=>{e.shouldConfirmOnDelete=t.payload},setIsCancelable:(e,t)=>{e.isCancelable=t.payload},setEnableImageDebugging:(e,t)=>{e.enableImageDebugging=t.payload},addToast:(e,t)=>{e.toastQueue.push(t.payload)},clearToastQueue:e=>{e.toastQueue=[]},cancelScheduled:e=>{e.isCancelScheduled=!0},scheduledCancelAborted:e=>{e.isCancelScheduled=!1},cancelTypeChanged:(e,t)=>{e.cancelType=t.payload},subscribedNodeIdsSet:(e,t)=>{e.subscribedNodeIds=t.payload},consoleLogLevelChanged:(e,t)=>{e.consoleLogLevel=t.payload},shouldLogToConsoleChanged:(e,t)=>{e.shouldLogToConsole=t.payload},shouldAntialiasProgressImageChanged:(e,t)=>{e.shouldAntialiasProgressImage=t.payload},isPersistedChanged:(e,t)=>{e.isPersisted=t.payload},languageChanged:(e,t)=>{e.language=t.payload},progressImageSet(e,t){e.progressImage=t.payload},setIsNodesEnabled(e,t){e.isNodesEnabled=t.payload},shouldUseNSFWCheckerChanged(e,t){e.shouldUseNSFWChecker=t.payload},shouldUseWatermarkerChanged(e,t){e.shouldUseWatermarker=t.payload}},extraReducers(e){e.addCase(K$,(t,n)=>{t.sessionId=n.payload.sessionId,t.canceledSession=""}),e.addCase(Y$,t=>{t.sessionId=null}),e.addCase(H$,t=>{t.isConnected=!0,t.isCancelable=!0,t.isProcessing=!1,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.currentIteration=0,t.totalIterations=0,t.statusTranslationKey="common.statusConnected"}),e.addCase(q$,t=>{t.isConnected=!1,t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusDisconnected"}),e.addCase(Z$,t=>{t.isCancelable=!0,t.isProcessing=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusGenerating"}),e.addCase(iF,(t,n)=>{const{step:r,total_steps:i,progress_image:o}=n.payload.data;t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!0,t.currentStep=r+1,t.totalSteps=i,t.progressImage=o??null,t.statusTranslationKey="common.statusGenerating"}),e.addCase(J$,(t,n)=>{const{data:r}=n.payload;t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusProcessingComplete",t.canceledSession===r.graph_execution_state_id&&(t.isProcessing=!1,t.isCancelable=!0)}),e.addCase(nF,t=>{t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null}),e.addCase(Em,t=>{t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.statusTranslationKey="common.statusPreparing"}),e.addCase(mc.fulfilled,(t,n)=>{t.canceledSession=n.meta.arg.session_id,t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Ku({title:Pp("toast.canceled"),status:"warning"}))}),e.addCase(sE,t=>{t.wasSchemaParsed=!0}),e.addMatcher(i$,(t,n)=>{var r;t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Ku({title:Pp("toast.serverError"),status:"error",description:((r=n.payload)==null?void 0:r.status)===422?"Validation Error":void 0}))}),e.addMatcher(y1e,(t,n)=>{t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusError",t.progressImage=null,t.toastQueue.push(Ku({title:Pp("toast.serverError"),status:"error",description:Qae(n.payload.data.error_type)}))})}}),{setIsProcessing:l7e,setShouldConfirmOnDelete:u7e,setCurrentStatus:c7e,setIsCancelable:d7e,setEnableImageDebugging:f7e,addToast:zn,clearToastQueue:h7e,cancelScheduled:p7e,scheduledCancelAborted:g7e,cancelTypeChanged:m7e,subscribedNodeIdsSet:y7e,consoleLogLevelChanged:v7e,shouldLogToConsoleChanged:_7e,isPersistedChanged:b7e,shouldAntialiasProgressImageChanged:S7e,languageChanged:w7e,progressImageSet:h1e,setIsNodesEnabled:x7e,shouldUseNSFWCheckerChanged:p1e,shouldUseWatermarkerChanged:g1e}=CU.actions,m1e=CU.reducer,y1e=Co(DT,lF,cF),v1e={searchFolder:null,advancedAddScanModel:null},TU=yn({name:"modelmanager",initialState:v1e,reducers:{setSearchFolder:(e,t)=>{e.searchFolder=t.payload},setAdvancedAddScanModel:(e,t)=>{e.advancedAddScanModel=t.payload}}}),{setSearchFolder:C7e,setAdvancedAddScanModel:T7e}=TU.actions,_1e=TU.reducer,EU={shift:!1},AU=yn({name:"hotkeys",initialState:EU,reducers:{shiftKeyPressed:(e,t)=>{e.shift=t.payload}}}),{shiftKeyPressed:E7e}=AU.actions,b1e=AU.reducer,S1e=WY(DJ);PU=Z3=void 0;var w1e=S1e,x1e=function(){var t=[],n=[],r=void 0,i=function(u){return r=u,function(d){return function(f){return w1e.compose.apply(void 0,n)(d)(f)}}},o=function(){for(var u,d,f=arguments.length,p=Array(f),g=0;g=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){n=n.call(e)},n:function(){var u=n.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(s)throw a}}}}function OU(e,t){if(e){if(typeof e=="string")return CO(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return CO(e,t)}}function CO(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,i=r.prefix,o=r.driver,s=r.persistWholeStore,a=r.serialize;try{var l=s?$1e:F1e;yield l(t,n,{prefix:i,driver:o,serialize:a})}catch(u){console.warn("redux-remember: persist error",u)}});return function(){return e.apply(this,arguments)}}();function PO(e,t,n,r,i,o,s){try{var a=e[o](s),l=a.value}catch(u){n(u);return}a.done?t(l):Promise.resolve(l).then(r,i)}function RO(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function s(l){PO(o,r,i,s,a,"next",l)}function a(l){PO(o,r,i,s,a,"throw",l)}s(void 0)})}}var U1e=function(){var e=RO(function*(t,n,r){var i=r.prefix,o=r.driver,s=r.serialize,a=r.unserialize,l=r.persistThrottle,u=r.persistDebounce,d=r.persistWholeStore;yield I1e(t,n,{prefix:i,driver:o,unserialize:a,persistWholeStore:d});var f={},p=function(){var g=RO(function*(){var m=RU(t.getState(),n);yield B1e(m,f,{prefix:i,driver:o,serialize:s,persistWholeStore:d}),uE(m,f)||t.dispatch({type:A1e,payload:m}),f=m});return function(){return g.apply(this,arguments)}}();u&&u>0?t.subscribe(R1e(p,u)):t.subscribe(P1e(p,l))});return function(n,r,i){return e.apply(this,arguments)}}();const z1e=U1e;function Ng(e){"@babel/helpers - typeof";return Ng=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ng(e)}function OO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Ix(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:n.state,i=arguments.length>1?arguments[1]:void 0;i.type&&(i.type==="@@INIT"||i.type.startsWith("@@redux/INIT"))&&(n.state=Ix({},r));var o=typeof t=="function"?t:Ff(t);switch(i.type){case J3:return n.state=o(Ix(Ix({},n.state),i.payload||{}),{type:J3}),n.state;default:return o(r,i)}}},W1e=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r.prefix,o=i===void 0?"@@remember-":i,s=r.serialize,a=s===void 0?function(x,_){return JSON.stringify(x)}:s,l=r.unserialize,u=l===void 0?function(x,_){return JSON.parse(x)}:l,d=r.persistThrottle,f=d===void 0?100:d,p=r.persistDebounce,g=r.persistWholeStore,m=g===void 0?!1:g;if(!t)throw Error("redux-remember error: driver required");if(!Array.isArray(n))throw Error("redux-remember error: rememberedKeys needs to be an array");var v=function(_){return function(b,y,S){var C=_(b,y,S);return z1e(C,n,{driver:t,prefix:o,serialize:a,unserialize:u,persistThrottle:f,persistDebounce:p,persistWholeStore:m}),C}};return v};const A7e=["chakra-ui-color-mode","i18nextLng","ROARR_FILTER","ROARR_LOG"],q1e="@@invokeai-",K1e=["cursorPosition","isCanvasInitialized","doesCanvasNeedScaling"],X1e=["pendingControlImages"],Y1e=["selection","selectedBoardId","galleryView"],Q1e=["schema","invocationTemplates"],Z1e=[],J1e=[],e_e=["currentIteration","currentStep","isCancelable","isConnected","isESRGANAvailable","isGFPGANAvailable","isProcessing","totalIterations","totalSteps","isCancelScheduled","progressImage","wereModelsReceived","wasSchemaParsed","isPersisted","isUploading"],t_e=["shouldShowImageDetails"],n_e={canvas:K1e,gallery:Y1e,generation:Z1e,nodes:Q1e,postprocessing:J1e,system:e_e,ui:t_e,controlNet:X1e},r_e=(e,t)=>{const n=rb(e,n_e[t]??[]);return JSON.stringify(n)},i_e={canvas:s$,gallery:gF,generation:Da,nodes:gU,postprocessing:vU,system:xU,config:UD,ui:t$,hotkeys:EU,controlNet:I3},o_e=(e,t)=>mae(JSON.parse(e),i_e[t]),IU=Re("nodes/textToImageGraphBuilt"),MU=Re("nodes/imageToImageGraphBuilt"),NU=Re("nodes/canvasGraphBuilt"),LU=Re("nodes/nodesGraphBuilt"),s_e=Co(IU,MU,NU,LU),a_e=e=>{if(s_e(e)&&e.payload.nodes){const t={};return{...e,payload:{...e.payload,nodes:t}}}return Ig.fulfilled.match(e)?{...e,payload:""}:oE.match(e)?{...e,payload:""}:e},l_e=["canvas/setCursorPosition","canvas/setStageCoordinates","canvas/setStageScale","canvas/setIsDrawing","canvas/setBoundingBoxCoordinates","canvas/setBoundingBoxDimensions","canvas/setIsDrawing","canvas/addPointToCurrentLine","socket/socketGeneratorProgress","socket/appSocketGeneratorProgress","hotkeys/shiftKeyPressed","@@REMEMBER_PERSISTED"],u_e=e=>e,c_e=()=>{Pe({actionCreator:Gue,effect:async(e,{dispatch:t,getState:n})=>{const r=Ie("canvas"),i=n(),{sessionId:o,isProcessing:s}=i.system,a=e.payload;if(s){if(!a){r.debug("No canvas session, skipping cancel");return}if(a!==o){r.debug({canvasSessionId:a,session_id:o},"Canvas session does not match global session, skipping cancel");return}t(mc({session_id:o}))}}})};Re("app/appStarted");const d_e=()=>{Pe({matcher:Se.endpoints.listImages.matchFulfilled,effect:async(e,{dispatch:t,unsubscribe:n,cancelActiveListeners:r})=>{if(e.meta.arg.queryCacheKey!==Bo({board_id:"none",categories:Vr}))return;r(),n();const i=e.payload;if(i.ids.length>0){const o=pn.getSelectors().selectAll(i)[0];t(Rs(o??null))}}})},cE=Hl.injectEndpoints({endpoints:e=>({getAppVersion:e.query({query:()=>({url:"app/version",method:"GET"}),providesTags:["AppVersion"],keepUnusedDataFor:864e5}),getAppConfig:e.query({query:()=>({url:"app/config",method:"GET"}),providesTags:["AppConfig"],keepUnusedDataFor:864e5})})}),{useGetAppVersionQuery:P7e,useGetAppConfigQuery:R7e}=cE,f_e=()=>{Pe({matcher:cE.endpoints.getAppConfig.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const{infill_methods:r=[],nsfw_methods:i=[],watermarking_methods:o=[]}=e.payload,s=t().generation.infillMethod;r.includes(s)||n(xue(r[0])),i.includes("nsfw_checker")||n(p1e(!1)),o.includes("invisible_watermark")||n(g1e(!1))}})},h_e=Re("app/appStarted"),p_e=()=>{Pe({actionCreator:h_e,effect:async(e,{unsubscribe:t,cancelActiveListeners:n})=>{n(),t()}})},dE={memoizeOptions:{resultEqualityCheck:nb}},DU=(e,t)=>{var f;const{generation:n,canvas:r,nodes:i,controlNet:o}=e,s=((f=n.initialImage)==null?void 0:f.imageName)===t,a=r.layerState.objects.some(p=>p.kind==="image"&&p.imageName===t),l=i.nodes.some(p=>ku(p.data.inputs,g=>{var m;return g.type==="image"&&((m=g.value)==null?void 0:m.image_name)===t})),u=ku(o.controlNets,p=>p.controlImage===t||p.processedControlImage===t);return{isInitialImage:s,isCanvasImage:a,isNodesImage:l,isControlNetImage:u}},g_e=si([e=>e],e=>{const{imagesToDelete:t}=e.deleteImageModal;return t.length?t.map(r=>DU(e,r.image_name)):[]},dE),m_e=()=>{Pe({matcher:Se.endpoints.deleteBoardAndImages.matchFulfilled,effect:async(e,{dispatch:t,getState:n})=>{const{deleted_images:r}=e.payload;let i=!1,o=!1,s=!1,a=!1;const l=n();r.forEach(u=>{const d=DU(l,u);d.isInitialImage&&!i&&(t(ST()),i=!0),d.isCanvasImage&&!o&&(t(wT()),o=!0),d.isNodesImage&&!s&&(t(sE()),s=!0),d.isControlNetImage&&!a&&(t(FT()),a=!0)})}})},y_e=()=>{Pe({matcher:Co(M3,k1),effect:async(e,{getState:t,dispatch:n,condition:r,cancelActiveListeners:i})=>{i();const o=t(),s=M3.match(e)?e.payload:o.gallery.selectedBoardId,l=(k1.match(e)?e.payload:o.gallery.galleryView)==="images"?Vr:Sl,u={board_id:s??"none",categories:l};if(await r(()=>Se.endpoints.listImages.select(u)(t()).isSuccess,5e3)){const{data:f}=Se.endpoints.listImages.select(u)(t());if(f){const p=O1.selectAll(f)[0];n(Rs(p??null))}else n(Rs(null))}else n(Rs(null))}})},v_e=Re("canvas/canvasSavedToGallery"),__e=Re("canvas/canvasCopiedToClipboard"),b_e=Re("canvas/canvasDownloadedAsImage"),S_e=Re("canvas/canvasMerged"),w_e=Re("canvas/stagingAreaImageSaved");let $U=null,FU=null;const O7e=e=>{$U=e},nS=()=>$U,k7e=e=>{FU=e},x_e=()=>FU,C_e=async e=>new Promise((t,n)=>{e.toBlob(r=>{if(r){t(r);return}n("Unable to create Blob")})}),Q1=async(e,t)=>await C_e(e.toCanvas(t)),fE=async e=>{const t=nS();if(!t)return;const{shouldCropToBoundingBoxOnSave:n,boundingBoxCoordinates:r,boundingBoxDimensions:i}=e.canvas,o=t.clone();o.scale({x:1,y:1});const s=o.getAbsolutePosition(),a=n?{x:r.x+s.x,y:r.y+s.y,width:i.width,height:i.height}:o.getClientRect();return Q1(o,a)},T_e=e=>{navigator.clipboard.write([new ClipboardItem({[e.type]:e})])},E_e=()=>{Pe({actionCreator:__e,effect:async(e,{dispatch:t,getState:n})=>{const r=Jb.get().child({namespace:"canvasCopiedToClipboardListener"}),i=n(),o=await fE(i);if(!o){r.error("Problem getting base layer blob"),t(zn({title:"Problem Copying Canvas",description:"Unable to export base layer",status:"error"}));return}T_e(o),t(zn({title:"Canvas Copied to Clipboard",status:"success"}))}})},A_e=(e,t)=>{const n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),r.remove()},P_e=()=>{Pe({actionCreator:b_e,effect:async(e,{dispatch:t,getState:n})=>{const r=Jb.get().child({namespace:"canvasSavedToGalleryListener"}),i=n(),o=await fE(i);if(!o){r.error("Problem getting base layer blob"),t(zn({title:"Problem Downloading Canvas",description:"Unable to export base layer",status:"error"}));return}A_e(o,"canvas.png"),t(zn({title:"Canvas Downloaded",status:"success"}))}})},R_e=async()=>{const e=nS();if(!e)return;const t=e.clone();return t.scale({x:1,y:1}),Q1(t,t.getClientRect())},O_e=()=>{Pe({actionCreator:S_e,effect:async(e,{dispatch:t})=>{const n=Jb.get().child({namespace:"canvasCopiedToClipboardListener"}),r=await R_e();if(!r){n.error("Problem getting base layer blob"),t(zn({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const i=nS();if(!i){n.error("Problem getting canvas base layer"),t(zn({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const o=i.getClientRect({relativeTo:i.getParent()}),s=await t(Se.endpoints.uploadImage.initiate({file:new File([r],"mergedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Merged"}}})).unwrap(),{image_name:a}=s;t(Hue({kind:"image",layer:"base",imageName:a,...o}))}})},k_e=()=>{Pe({actionCreator:v_e,effect:async(e,{dispatch:t,getState:n})=>{const r=Ie("canvas"),i=n(),o=await fE(i);if(!o){r.error("Problem getting base layer blob"),t(zn({title:"Problem Saving Canvas",description:"Unable to export base layer",status:"error"}));return}const{autoAddBoardId:s}=i.gallery;t(Se.endpoints.uploadImage.initiate({file:new File([o],"savedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!1,board_id:s==="none"?void 0:s,crop_visible:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Saved to Gallery"}}}))}})},I_e=(e,t,n)=>{var f;if(!(Qde.match(e)||cR.match(e)||$T.match(e)||Zde.match(e)||dR.match(e))||dR.match(e)&&((f=n.controlNet.controlNets[e.payload.controlNetId])==null?void 0:f.shouldAutoConfig)===!0)return!1;const i=t.controlNet.controlNets[e.payload.controlNetId];if(!i)return!1;const{controlImage:o,processorType:s,shouldAutoConfig:a}=i;if(cR.match(e)&&!a)return!1;const l=s!=="none",u=t.system.isProcessing;return l&&!u&&!!o},M_e=()=>{Pe({predicate:I_e,effect:async(e,{dispatch:t,cancelActiveListeners:n,delay:r})=>{const i=Ie("session"),{controlNetId:o}=e.payload;n(),i.trace("ControlNet auto-process triggered"),await r(300),t(DT({controlNetId:o}))}})},yc=Re("system/sessionReadyToInvoke"),BU=e=>(e==null?void 0:e.type)==="image_output",N_e=()=>{Pe({actionCreator:DT,effect:async(e,{dispatch:t,getState:n,take:r})=>{const i=Ie("session"),{controlNetId:o}=e.payload,s=n().controlNet.controlNets[o];if(!(s!=null&&s.controlImage)){i.error("Unable to process ControlNet image");return}const a={nodes:{[s.processorNode.id]:{...s.processorNode,is_intermediate:!0,image:{image_name:s.controlImage}}}},l=t(Ir({graph:a})),[u]=await r(p=>Ir.fulfilled.match(p)&&p.meta.requestId===l.requestId),d=u.payload.id;t(yc());const[f]=await r(p=>NT.match(p)&&p.payload.data.graph_execution_state_id===d);if(BU(f.payload.data.result)){const{image_name:p}=f.payload.data.result.image,[{payload:g}]=await r(v=>Se.endpoints.getImageDTO.matchFulfilled(v)&&v.payload.image_name===p),m=g;i.debug({controlNetId:e.payload,processedControlImage:m},"ControlNet image processed"),t(Yde({controlNetId:o,processedControlImage:m.image_name}))}}})},L_e=()=>{Pe({matcher:Se.endpoints.addImageToBoard.matchFulfilled,effect:e=>{const t=Ie("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Image added to board")}})},D_e=()=>{Pe({matcher:Se.endpoints.addImageToBoard.matchRejected,effect:e=>{const t=Ie("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Problem adding image to board")}})},hE=Re("deleteImageModal/imageDeletionConfirmed"),I7e=e=>e.gallery,M7e=si(e=>e,e=>e.gallery.selection[e.gallery.selection.length-1],dE),UU=si([e=>e],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{board_id:t,categories:n==="images"?Vr:Sl,offset:0,limit:Xue,is_intermediate:!1}},dE),$_e=()=>{Pe({actionCreator:hE,effect:async(e,{dispatch:t,getState:n,condition:r})=>{var p;const{imageDTOs:i,imagesUsage:o}=e.payload;if(i.length!==1||o.length!==1)return;const s=i[0],a=o[0];if(!s||!a)return;t(BT(!1));const l=n(),u=(p=l.gallery.selection[l.gallery.selection.length-1])==null?void 0:p.image_name;if(s&&(s==null?void 0:s.image_name)===u){const{image_name:g}=s,m=UU(l),{data:v}=Se.endpoints.listImages.select(m)(l),x=v?pn.getSelectors().selectAll(v):[],_=x.findIndex(C=>C.image_name===g),b=x.filter(C=>C.image_name!==g),y=bl(_,0,b.length-1),S=b[y];t(Rs(S||null))}a.isCanvasImage&&t(wT()),a.isControlNetImage&&t(FT()),a.isInitialImage&&t(ST()),a.isNodesImage&&t(sE());const{requestId:d}=t(Se.endpoints.deleteImage.initiate(s));await r(g=>Se.endpoints.deleteImage.matchFulfilled(g)&&g.meta.requestId===d,3e4)&&t(Hl.util.invalidateTags([{type:"Board",id:s.board_id}]))}})},F_e=()=>{Pe({actionCreator:hE,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTOs:r,imagesUsage:i}=e.payload;if(!(r.length<1||i.length<1))try{await t(Se.endpoints.deleteImages.initiate({imageDTOs:r})).unwrap();const o=n(),s=UU(o),{data:a}=Se.endpoints.listImages.select(s)(o),l=a?pn.getSelectors().selectAll(a)[0]:void 0;t(Rs(l||null)),t(BT(!1)),i.some(u=>u.isCanvasImage)&&t(wT()),i.some(u=>u.isControlNetImage)&&t(FT()),i.some(u=>u.isInitialImage)&&t(ST()),i.some(u=>u.isNodesImage)&&t(sE())}catch{}}})},B_e=()=>{Pe({matcher:Se.endpoints.deleteImage.matchPending,effect:()=>{}})},U_e=()=>{Pe({matcher:Se.endpoints.deleteImage.matchFulfilled,effect:e=>{Ie("images").debug({imageDTO:e.meta.arg.originalArgs},"Image deleted")}})},z_e=()=>{Pe({matcher:Se.endpoints.deleteImage.matchRejected,effect:e=>{Ie("images").debug({imageDTO:e.meta.arg.originalArgs},"Unable to delete image")}})},zU=Re("dnd/dndDropped"),V_e=()=>{Pe({actionCreator:zU,effect:async(e,{dispatch:t})=>{const n=Ie("images"),{activeData:r,overData:i}=e.payload;if(r.payloadType==="IMAGE_DTO"?n.debug({activeData:r,overData:i},"Image dropped"):r.payloadType==="IMAGE_DTOS"?n.debug({activeData:r,overData:i},`Images (${r.payload.imageDTOs.length}) dropped`):n.debug({activeData:r,overData:i},"Unknown payload dropped"),i.actionType==="SET_CURRENT_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(Rs(r.payload.imageDTO));return}if(i.actionType==="SET_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(ob(r.payload.imageDTO));return}if(i.actionType==="SET_CONTROLNET_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{controlNetId:o}=i.context;t($T({controlImage:r.payload.imageDTO.image_name,controlNetId:o}));return}if(i.actionType==="SET_CANVAS_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(l$(r.payload.imageDTO));return}if(i.actionType==="SET_NODES_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{fieldName:o,nodeId:s}=i.context;t(yU({nodeId:s,fieldName:o,value:r.payload.imageDTO}));return}if(i.actionType==="ADD_TO_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload,{boardId:s}=i.context;t(Se.endpoints.addImageToBoard.initiate({imageDTO:o,board_id:s}));return}if(i.actionType==="REMOVE_FROM_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload;t(Se.endpoints.removeImageFromBoard.initiate({imageDTO:o}));return}if(i.actionType==="ADD_TO_BOARD"&&r.payloadType==="IMAGE_DTOS"&&r.payload.imageDTOs){const{imageDTOs:o}=r.payload,{boardId:s}=i.context;t(Se.endpoints.addImagesToBoard.initiate({imageDTOs:o,board_id:s}));return}if(i.actionType==="REMOVE_FROM_BOARD"&&r.payloadType==="IMAGE_DTOS"&&r.payload.imageDTOs){const{imageDTOs:o}=r.payload;t(Se.endpoints.removeImagesFromBoard.initiate({imageDTOs:o}));return}}})},j_e=()=>{Pe({matcher:Se.endpoints.removeImageFromBoard.matchFulfilled,effect:e=>{const t=Ie("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Image removed from board")}})},G_e=()=>{Pe({matcher:Se.endpoints.removeImageFromBoard.matchRejected,effect:e=>{const t=Ie("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Problem removing image from board")}})},H_e=()=>{Pe({actionCreator:ofe,effect:async(e,{dispatch:t,getState:n})=>{const r=e.payload,i=n(),{shouldConfirmOnDelete:o}=i.system,s=g_e(n()),a=s.some(l=>l.isCanvasImage)||s.some(l=>l.isInitialImage)||s.some(l=>l.isControlNetImage)||s.some(l=>l.isNodesImage);if(o||a){t(BT(!0));return}t(hE({imageDTOs:r,imagesUsage:s}))}})},cd={title:"Image Uploaded",status:"success"},W_e=()=>{Pe({matcher:Se.endpoints.uploadImage.matchFulfilled,effect:(e,{dispatch:t,getState:n})=>{const r=Ie("images"),i=e.payload,o=n(),{autoAddBoardId:s}=o.gallery;r.debug({imageDTO:i},"Image uploaded");const{postUploadAction:a}=e.meta.arg.originalArgs;if(!(e.payload.is_intermediate&&!a)){if((a==null?void 0:a.type)==="TOAST"){const{toastOptions:l}=a;if(!s||s==="none")t(zn({...cd,...l}));else{t(Se.endpoints.addImageToBoard.initiate({board_id:s,imageDTO:i}));const{data:u}=Ui.endpoints.listAllBoards.select()(o),d=u==null?void 0:u.find(p=>p.board_id===s),f=d?`Added to board ${d.board_name}`:`Added to board ${s}`;t(zn({...cd,description:f}))}return}if((a==null?void 0:a.type)==="SET_CANVAS_INITIAL_IMAGE"){t(l$(i)),t(zn({...cd,description:"Set as canvas initial image"}));return}if((a==null?void 0:a.type)==="SET_CONTROLNET_IMAGE"){const{controlNetId:l}=a;t($T({controlNetId:l,controlImage:i.image_name})),t(zn({...cd,description:"Set as control image"}));return}if((a==null?void 0:a.type)==="SET_INITIAL_IMAGE"){t(ob(i)),t(zn({...cd,description:"Set as initial image"}));return}if((a==null?void 0:a.type)==="SET_NODES_IMAGE"){const{nodeId:l,fieldName:u}=a;t(yU({nodeId:l,fieldName:u,value:i})),t(zn({...cd,description:`Set as node field ${u}`}));return}}}})},q_e=()=>{Pe({matcher:Se.endpoints.uploadImage.matchRejected,effect:(e,{dispatch:t})=>{const n=Ie("images"),r={arg:{...rb(e.meta.arg.originalArgs,["file","postUploadAction"]),file:""}};n.error({...r},"Image upload failed"),t(zn({title:"Image Upload Failed",description:e.error.message,status:"error"}))}})},K_e=Re("generation/initialImageSelected"),X_e=Re("generation/modelSelected"),Y_e=()=>{Pe({actionCreator:K_e,effect:(e,{dispatch:t})=>{if(!e.payload){t(zn(Xu({title:Pp("toast.imageNotLoadedDesc"),status:"error"})));return}t(ob(e.payload)),t(zn(Xu(Pp("toast.sentToImageToImage"))))}})},Q_e=()=>{Pe({actionCreator:X_e,effect:(e,{getState:t,dispatch:n})=>{var l;const r=Ie("models"),i=t(),o=QD.safeParse(e.payload);if(!o.success){r.error({error:o.error.format()},"Failed to parse main model");return}const s=o.data,{base_model:a}=s;if(((l=i.generation.model)==null?void 0:l.base_model)!==a){let u=0;Ul(i.lora.loras,(p,g)=>{p.base_model!==a&&(n(bF(g)),u+=1)});const{vae:d}=i.generation;d&&d.base_model!==a&&(n(JD(null)),u+=1);const{controlNets:f}=i.controlNet;Ul(f,(p,g)=>{var m;((m=p.model)==null?void 0:m.base_model)!==a&&(n(fF({controlNetId:g})),u+=1)}),u>0&&n(zn(Xu({title:`Base model changed, cleared ${u} incompatible submodel${u===1?"":"s"}`,status:"warning"})))}n(Hu(s))}})},kO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),IO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),MO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),NO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),LO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),t5=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),Z_e=({base_model:e,model_type:t,model_name:n})=>`${e}/${t}/${n}`,dd=e=>{const t=[];return e.forEach(n=>{const r={...Ur(n),id:Z_e(n)};t.push(r)}),t},fa=Hl.injectEndpoints({endpoints:e=>({getOnnxModels:e.query({query:t=>{const n={model_type:"onnx",base_models:t};return`models/?${fv.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"OnnxModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"OnnxModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return IO.setAll(IO.getInitialState(),i)}}),getMainModels:e.query({query:t=>{const n={model_type:"main",base_models:t};return`models/?${fv.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"MainModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"MainModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return kO.setAll(kO.getInitialState(),i)}}),updateMainModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/main/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),importMainModels:e.mutation({query:({body:t})=>({url:"models/import",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),addMainModels:e.mutation({query:({body:t})=>({url:"models/add",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),deleteMainModels:e.mutation({query:({base_model:t,model_name:n,model_type:r})=>({url:`models/${t}/${r}/${n}`,method:"DELETE"}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),convertMainModels:e.mutation({query:({base_model:t,model_name:n,convert_dest_directory:r})=>({url:`models/convert/${t}/main/${n}`,method:"PUT",params:{convert_dest_directory:r}}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),mergeMainModels:e.mutation({query:({base_model:t,body:n})=>({url:`models/merge/${t}`,method:"PUT",body:n}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),syncModels:e.mutation({query:()=>({url:"models/sync",method:"POST"}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),getLoRAModels:e.query({query:()=>({url:"models/",params:{model_type:"lora"}}),providesTags:(t,n,r)=>{const i=[{type:"LoRAModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"LoRAModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return MO.setAll(MO.getInitialState(),i)}}),updateLoRAModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/lora/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"LoRAModel",id:Ke}]}),deleteLoRAModels:e.mutation({query:({base_model:t,model_name:n})=>({url:`models/${t}/lora/${n}`,method:"DELETE"}),invalidatesTags:[{type:"LoRAModel",id:Ke}]}),getControlNetModels:e.query({query:()=>({url:"models/",params:{model_type:"controlnet"}}),providesTags:(t,n,r)=>{const i=[{type:"ControlNetModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"ControlNetModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return NO.setAll(NO.getInitialState(),i)}}),getVaeModels:e.query({query:()=>({url:"models/",params:{model_type:"vae"}}),providesTags:(t,n,r)=>{const i=[{type:"VaeModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"VaeModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return t5.setAll(t5.getInitialState(),i)}}),getTextualInversionModels:e.query({query:()=>({url:"models/",params:{model_type:"embedding"}}),providesTags:(t,n,r)=>{const i=[{type:"TextualInversionModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"TextualInversionModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return LO.setAll(LO.getInitialState(),i)}}),getModelsInFolder:e.query({query:t=>({url:`/models/search?${fv.stringify(t,{})}`}),providesTags:(t,n,r)=>{const i=[{type:"ScannedModels",id:Ke}];return t&&i.push(...t.map(o=>({type:"ScannedModels",id:o}))),i}}),getCheckpointConfigs:e.query({query:()=>({url:"/models/ckpt_confs"})})})}),{useGetMainModelsQuery:N7e,useGetOnnxModelsQuery:L7e,useGetControlNetModelsQuery:D7e,useGetLoRAModelsQuery:$7e,useGetTextualInversionModelsQuery:F7e,useGetVaeModelsQuery:B7e,useUpdateMainModelsMutation:U7e,useDeleteMainModelsMutation:z7e,useImportMainModelsMutation:V7e,useAddMainModelsMutation:j7e,useConvertMainModelsMutation:G7e,useMergeMainModelsMutation:H7e,useDeleteLoRAModelsMutation:W7e,useUpdateLoRAModelsMutation:q7e,useSyncModelsMutation:K7e,useGetModelsInFolderQuery:X7e,useGetCheckpointConfigsQuery:Y7e}=fa,J_e=()=>{Pe({predicate:(e,t)=>fa.endpoints.getMainModels.matchFulfilled(t)&&!t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=Ie("models");r.info({models:e.payload.entities},`Main models loaded (${e.payload.ids.length})`);const i=t().generation.model;if(ku(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)&&(u==null?void 0:u.model_type)===(i==null?void 0:i.model_type)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(Hu(null));return}const l=QD.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse main model");return}n(Hu(l.data))}}),Pe({predicate:(e,t)=>fa.endpoints.getMainModels.matchFulfilled(t)&&t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=Ie("models");r.info({models:e.payload.entities},`SDXL Refiner models loaded (${e.payload.ids.length})`);const i=t().sdxl.refinerModel;if(ku(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)&&(u==null?void 0:u.model_type)===(i==null?void 0:i.model_type)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(hO(null)),n(Hve(!1));return}const l=YD.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse SDXL Refiner Model");return}n(hO(l.data))}}),Pe({matcher:fa.endpoints.getVaeModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=Ie("models");r.info({models:e.payload.entities},`VAEs loaded (${e.payload.ids.length})`);const i=t().generation.vae;if(i===null||ku(e.payload.entities,l=>(l==null?void 0:l.model_name)===(i==null?void 0:i.model_name)&&(l==null?void 0:l.base_model)===(i==null?void 0:i.base_model)))return;const s=t5.getSelectors().selectAll(e.payload)[0];if(!s){n(Hu(null));return}const a=vue.safeParse(s);if(!a.success){r.error({error:a.error.format()},"Failed to parse VAE model");return}n(JD(a.data))}}),Pe({matcher:fa.endpoints.getLoRAModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{Ie("models").info({models:e.payload.entities},`LoRAs loaded (${e.payload.ids.length})`);const i=t().lora.loras;Ul(i,(o,s)=>{ku(e.payload.entities,l=>(l==null?void 0:l.model_name)===(o==null?void 0:o.model_name)&&(l==null?void 0:l.base_model)===(o==null?void 0:o.base_model))||n(bF(s))})}}),Pe({matcher:fa.endpoints.getControlNetModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{Ie("models").info({models:e.payload.entities},`ControlNet models loaded (${e.payload.ids.length})`);const i=t().controlNet.controlNets;Ul(i,(o,s)=>{ku(e.payload.entities,l=>{var u,d;return(l==null?void 0:l.model_name)===((u=o==null?void 0:o.model)==null?void 0:u.model_name)&&(l==null?void 0:l.base_model)===((d=o==null?void 0:o.model)==null?void 0:d.base_model)})||n(fF({controlNetId:s}))})}}),Pe({matcher:fa.endpoints.getTextualInversionModels.matchFulfilled,effect:async e=>{Ie("models").info({models:e.payload.entities},`Embeddings loaded (${e.payload.ids.length})`)}})},$a=e=>JSON.parse(JSON.stringify(e)),n5=e=>!("$ref"in e),ebe=e=>!("$ref"in e),Q7e=500,tbe={integer:"integer",float:"float",number:"float",string:"string",boolean:"boolean",enum:"enum",ImageField:"image",image_collection:"image_collection",LatentsField:"latents",ConditioningField:"conditioning",UNetField:"unet",ClipField:"clip",VaeField:"vae",model:"model",refiner_model:"refiner_model",vae_model:"vae_model",lora_model:"lora_model",controlnet_model:"controlnet_model",ControlNetModelField:"controlnet_model",array:"array",item:"item",ColorField:"color",ControlField:"control",control:"control",cfg_scale:"float",control_weight:"float"},nbe=500,On=e=>`var(--invokeai-colors-${e}-${nbe})`,Z7e={integer:{color:"red",colorCssVar:On("red"),title:"Integer",description:"Integers are whole numbers, without a decimal point."},float:{color:"orange",colorCssVar:On("orange"),title:"Float",description:"Floats are numbers with a decimal point."},string:{color:"yellow",colorCssVar:On("yellow"),title:"String",description:"Strings are text."},boolean:{color:"green",colorCssVar:On("green"),title:"Boolean",description:"Booleans are true or false."},enum:{color:"blue",colorCssVar:On("blue"),title:"Enum",description:"Enums are values that may be one of a number of options."},image:{color:"purple",colorCssVar:On("purple"),title:"Image",description:"Images may be passed between nodes."},image_collection:{color:"purple",colorCssVar:On("purple"),title:"Image Collection",description:"A collection of images."},latents:{color:"pink",colorCssVar:On("pink"),title:"Latents",description:"Latents may be passed between nodes."},conditioning:{color:"cyan",colorCssVar:On("cyan"),title:"Conditioning",description:"Conditioning may be passed between nodes."},unet:{color:"red",colorCssVar:On("red"),title:"UNet",description:"UNet submodel."},clip:{color:"green",colorCssVar:On("green"),title:"Clip",description:"Tokenizer and text_encoder submodels."},vae:{color:"blue",colorCssVar:On("blue"),title:"Vae",description:"Vae submodel."},control:{color:"cyan",colorCssVar:On("cyan"),title:"Control",description:"Control info passed between nodes."},model:{color:"teal",colorCssVar:On("teal"),title:"Model",description:"Models are models."},refiner_model:{color:"teal",colorCssVar:On("teal"),title:"Refiner Model",description:"Models are models."},vae_model:{color:"teal",colorCssVar:On("teal"),title:"VAE",description:"Models are models."},lora_model:{color:"teal",colorCssVar:On("teal"),title:"LoRA",description:"Models are models."},controlnet_model:{color:"teal",colorCssVar:On("teal"),title:"ControlNet",description:"Models are models."},array:{color:"gray",colorCssVar:On("gray"),title:"Array",description:"TODO: Array type description."},item:{color:"gray",colorCssVar:On("gray"),title:"Collection Item",description:"TODO: Collection Item type description."},color:{color:"gray",colorCssVar:On("gray"),title:"Color",description:"A RGBA color."}},J7e=250,Mx=e=>{const t=e.$ref.split("/").slice(-1)[0];return t||"UNKNOWN FIELD TYPE"},rbe=({schemaObject:e,baseField:t})=>{const n={...t,type:"integer",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},ibe=({schemaObject:e,baseField:t})=>{const n={...t,type:"float",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},obe=({schemaObject:e,baseField:t})=>{const n={...t,type:"string",inputRequirement:"always",inputKind:"any",default:e.default??""};return e.minLength!==void 0&&(n.minLength=e.minLength),e.maxLength!==void 0&&(n.maxLength=e.maxLength),e.pattern!==void 0&&(n.pattern=e.pattern),n},sbe=({schemaObject:e,baseField:t})=>({...t,type:"boolean",inputRequirement:"always",inputKind:"any",default:e.default??!1}),abe=({schemaObject:e,baseField:t})=>({...t,type:"model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),lbe=({schemaObject:e,baseField:t})=>({...t,type:"refiner_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),ube=({schemaObject:e,baseField:t})=>({...t,type:"vae_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),cbe=({schemaObject:e,baseField:t})=>({...t,type:"lora_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),dbe=({schemaObject:e,baseField:t})=>({...t,type:"controlnet_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),fbe=({schemaObject:e,baseField:t})=>({...t,type:"image",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),hbe=({schemaObject:e,baseField:t})=>({...t,type:"image_collection",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),pbe=({schemaObject:e,baseField:t})=>({...t,type:"latents",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),gbe=({schemaObject:e,baseField:t})=>({...t,type:"conditioning",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),mbe=({schemaObject:e,baseField:t})=>({...t,type:"unet",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),ybe=({schemaObject:e,baseField:t})=>({...t,type:"clip",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),vbe=({schemaObject:e,baseField:t})=>({...t,type:"vae",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),_be=({schemaObject:e,baseField:t})=>({...t,type:"control",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),bbe=({schemaObject:e,baseField:t})=>{const n=e.enum??[];return{...t,type:"enum",enumType:e.type??"string",options:n,inputRequirement:"always",inputKind:"direct",default:e.default??n[0]}},DO=({baseField:e})=>({...e,type:"array",inputRequirement:"always",inputKind:"direct",default:[]}),$O=({baseField:e})=>({...e,type:"item",inputRequirement:"always",inputKind:"direct",default:void 0}),Sbe=({schemaObject:e,baseField:t})=>({...t,type:"color",inputRequirement:"always",inputKind:"direct",default:e.default??{r:127,g:127,b:127,a:255}}),VU=(e,t,n)=>{let r="";n&&t in n?r=n[t]??"UNKNOWN FIELD TYPE":e.type?e.enum?r="enum":e.type&&(r=e.type):e.allOf?r=Mx(e.allOf[0]):e.anyOf?r=Mx(e.anyOf[0]):e.oneOf&&(r=Mx(e.oneOf[0]));const i=tbe[r];if(!i)throw`Field type "${r}" is unknown!`;return i},wbe=(e,t,n)=>{const r=VU(e,t,n),i={name:t,title:e.title??"",description:e.description??""};if(["image"].includes(r))return fbe({schemaObject:e,baseField:i});if(["image_collection"].includes(r))return hbe({schemaObject:e,baseField:i});if(["latents"].includes(r))return pbe({schemaObject:e,baseField:i});if(["conditioning"].includes(r))return gbe({schemaObject:e,baseField:i});if(["unet"].includes(r))return mbe({schemaObject:e,baseField:i});if(["clip"].includes(r))return ybe({schemaObject:e,baseField:i});if(["vae"].includes(r))return vbe({schemaObject:e,baseField:i});if(["control"].includes(r))return _be({schemaObject:e,baseField:i});if(["model"].includes(r))return abe({schemaObject:e,baseField:i});if(["refiner_model"].includes(r))return lbe({schemaObject:e,baseField:i});if(["vae_model"].includes(r))return ube({schemaObject:e,baseField:i});if(["lora_model"].includes(r))return cbe({schemaObject:e,baseField:i});if(["controlnet_model"].includes(r))return dbe({schemaObject:e,baseField:i});if(["enum"].includes(r))return bbe({schemaObject:e,baseField:i});if(["integer"].includes(r))return rbe({schemaObject:e,baseField:i});if(["number","float"].includes(r))return ibe({schemaObject:e,baseField:i});if(["string"].includes(r))return obe({schemaObject:e,baseField:i});if(["boolean"].includes(r))return sbe({schemaObject:e,baseField:i});if(["array"].includes(r))return DO({schemaObject:e,baseField:i});if(["item"].includes(r))return $O({schemaObject:e,baseField:i});if(["color"].includes(r))return Sbe({schemaObject:e,baseField:i});if(["array"].includes(r))return DO({schemaObject:e,baseField:i});if(["item"].includes(r))return $O({schemaObject:e,baseField:i})},xbe=(e,t,n)=>{const r=e.$ref.split("/").slice(-1)[0];if(!r)throw Ie("nodes").error({refObject:$a(e)},"No output schema name found in ref object"),"No output schema name found in ref object";const i=t.components.schemas[r];if(!i)throw Ie("nodes").error({outputSchemaName:r},"Output schema not found"),"Output schema not found";return n5(i)?vT(i.properties,(s,a,l)=>{if(!["type","id"].includes(l)&&!["object"].includes(a.type)&&n5(a)){const u=VU(a,l,n);s[l]={name:l,title:a.title??"",description:a.description??"",type:u}}return s},{}):{}},Cbe=e=>e==="l2i"?["id","type","metadata"]:["id","type","is_intermediate","metadata"],Tbe=["Graph","InvocationMeta","MetadataAccumulatorInvocation"],Ebe=e=>{var r;return ID((r=e.components)==null?void 0:r.schemas,(i,o)=>o.includes("Invocation")&&!o.includes("InvocationOutput")&&!Tbe.some(s=>o.includes(s))).reduce((i,o)=>{var s,a,l,u,d;if(ebe(o)){const f=o.properties.type.default,p=Cbe(f),g=((s=o.ui)==null?void 0:s.title)??o.title.replace("Invocation",""),m=(a=o.ui)==null?void 0:a.type_hints,v={};if(f==="collect"){const y=o.properties.item;v.item={type:"item",name:"item",description:y.description??"",title:"Collection Item",inputKind:"connection",inputRequirement:"always",default:void 0}}else if(f==="iterate"){const y=o.properties.collection;v.collection={type:"array",name:"collection",title:y.title??"",default:[],description:y.description??"",inputRequirement:"always",inputKind:"connection"}}else vT(o.properties,(y,S,C)=>{if(!p.includes(C)&&n5(S)){const T=wbe(S,C,m);T&&(y[C]=T)}return y},v);const x=o.output;let _;if(f==="iterate"){const y=(u=(l=e.components)==null?void 0:l.schemas)==null?void 0:u.IterateInvocationOutput;_={item:{name:"item",title:(y==null?void 0:y.title)??"",description:(y==null?void 0:y.description)??"",type:"array"}}}else _=xbe(x,e,m);const b={title:g,type:f,tags:((d=o.ui)==null?void 0:d.tags)??[],description:o.description??"",inputs:v,outputs:_};Object.assign(i,{[f]:b})}return i},{})},Abe=()=>{Pe({actionCreator:Ig.fulfilled,effect:(e,{dispatch:t})=>{const n=Ie("system"),r=e.payload;n.debug({schemaJSON:r},"Dereferenced OpenAPI schema");const i=Ebe(r);n.debug({nodeTemplates:$a(i)},`Built ${_T(i)} node templates`),t(oE(i))}}),Pe({actionCreator:Ig.rejected,effect:()=>{Ie("system").error("Problem dereferencing OpenAPI Schema")}})},Pbe=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(Boolean).map(e=>[e.name,e]),Rbe=new Map(Pbe),Obe=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],r5=Symbol(".toJSON was called"),kbe=e=>{e[r5]=!0;const t=e.toJSON();return delete e[r5],t},Ibe=e=>Rbe.get(e)??Error,jU=({from:e,seen:t,to:n,forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a})=>{if(!n)if(Array.isArray(e))n=[];else if(!a&&FO(e)){const u=Ibe(e.name);n=new u}else n={};if(t.push(e),o>=i)return n;if(s&&typeof e.toJSON=="function"&&e[r5]!==!0)return kbe(e);const l=u=>jU({from:u,seen:[...t],forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a});for(const[u,d]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(d)){n[u]="[object Buffer]";continue}if(d!==null&&typeof d=="object"&&typeof d.pipe=="function"){n[u]="[object Stream]";continue}if(typeof d!="function"){if(!d||typeof d!="object"){n[u]=d;continue}if(!t.includes(e[u])){o++,n[u]=l(e[u]);continue}n[u]="[Circular]"}}for(const{property:u,enumerable:d}of Obe)typeof e[u]<"u"&&e[u]!==null&&Object.defineProperty(n,u,{value:FO(e[u])?l(e[u]):e[u],enumerable:r?!0:d,configurable:!0,writable:!0});return n};function pE(e,t={}){const{maxDepth:n=Number.POSITIVE_INFINITY,useToJSON:r=!0}=t;return typeof e=="object"&&e!==null?jU({from:e,seen:[],forceEnumerable:!0,maxDepth:n,depth:0,useToJSON:r,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}function FO(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}const Mbe=()=>{Pe({actionCreator:mc.pending,effect:()=>{}})},Nbe=()=>{Pe({actionCreator:mc.fulfilled,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session canceled (${n})`)}})},Lbe=()=>{Pe({actionCreator:mc.rejected,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:pE(r)},"Problem canceling session")}}})},Dbe=()=>{Pe({actionCreator:Ir.pending,effect:()=>{}})},$be=()=>{Pe({actionCreator:Ir.fulfilled,effect:e=>{const t=Ie("session"),n=e.payload;t.debug({session:$a(n)},`Session created (${n.id})`)}})},Fbe=()=>{Pe({actionCreator:Ir.rejected,effect:e=>{const t=Ie("session");if(e.payload){const{error:n,status:r}=e.payload,i=$a(e.meta.arg);t.error({graph:i,status:r,error:pE(n)},"Problem creating session")}}})},Bbe=()=>{Pe({actionCreator:mm.pending,effect:()=>{}})},Ube=()=>{Pe({actionCreator:mm.fulfilled,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session invoked (${n})`)}})},zbe=()=>{Pe({actionCreator:mm.rejected,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:pE(r)},"Problem invoking session")}}})},Vbe=()=>{Pe({actionCreator:yc,effect:(e,{getState:t,dispatch:n})=>{const r=Ie("session"),{sessionId:i}=t().system;i&&(r.debug({session_id:i},`Session ready to invoke (${i})})`),n(mm({session_id:i})))}})},jbe=()=>{Pe({actionCreator:G$,effect:(e,{dispatch:t,getState:n})=>{Ie("socketio").debug("Connected");const{nodes:i,config:o}=n(),{disabledTabs:s}=o;!i.schema&&!s.includes("nodes")&&t(Ig()),t(H$(e.payload)),t(fa.util.invalidateTags([{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"LoRAModel",id:Ke},{type:"ControlNetModel",id:Ke},{type:"VaeModel",id:Ke},{type:"TextualInversionModel",id:Ke},{type:"ScannedModels",id:Ke}])),t(cE.util.invalidateTags(["AppConfig","AppVersion"]))}})},Gbe=()=>{Pe({actionCreator:W$,effect:(e,{dispatch:t})=>{Ie("socketio").debug("Disconnected"),t(q$(e.payload))}})},Hbe=()=>{Pe({actionCreator:rF,effect:(e,{dispatch:t,getState:n})=>{const r=Ie("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored generator progress for canceled session");return}r.trace(e.payload,`Generator progress (${e.payload.data.node.type})`),t(iF(e.payload))}})},Wbe=()=>{Pe({actionCreator:tF,effect:(e,{dispatch:t})=>{Ie("socketio").debug(e.payload,"Session complete"),t(nF(e.payload))}})},qbe=["dataURL_image"],Kbe=()=>{Pe({actionCreator:NT,effect:async(e,{dispatch:t,getState:n})=>{const r=Ie("socketio"),{data:i}=e.payload;r.debug({data:$a(i)},`Invocation complete (${e.payload.data.node.type})`);const o=e.payload.data.graph_execution_state_id,{cancelType:s,isCancelScheduled:a}=n().system;s==="scheduled"&&a&&t(mc({session_id:o}));const{result:l,node:u,graph_execution_state_id:d}=i;if(BU(l)&&!qbe.includes(u.type)){const{image_name:f}=l.image,{canvas:p,gallery:g}=n(),m=await t(Se.endpoints.getImageDTO.initiate(f)).unwrap();if(d===p.layerState.stagingArea.sessionId&&t(jue(m)),!m.is_intermediate){const{autoAddBoardId:v}=g;t(v&&v!=="none"?Se.endpoints.addImageToBoard.initiate({board_id:v,imageDTO:m}):Se.util.updateQueryData("listImages",{board_id:"none",categories:Vr},b=>{pn.addOne(b,m)})),t(Se.util.invalidateTags([{type:"BoardImagesTotal",id:v},{type:"BoardAssetsTotal",id:v}]));const{selectedBoardId:x,shouldAutoSwitch:_}=g;_&&(v&&v!==x?(t(M3(v)),t(k1("images"))):v||t(k1("images")),t(Rs(m)))}t(h1e(null))}t(J$(e.payload))}})},Xbe=()=>{Pe({actionCreator:eF,effect:(e,{dispatch:t})=>{Ie("socketio").error(e.payload,`Invocation error (${e.payload.data.node.type})`),t(LT(e.payload))}})},Ybe=()=>{Pe({actionCreator:uF,effect:(e,{dispatch:t})=>{Ie("socketio").error(e.payload,`Invocation retrieval error (${e.payload.data.graph_execution_state_id})`),t(cF(e.payload))}})},Qbe=()=>{Pe({actionCreator:Q$,effect:(e,{dispatch:t,getState:n})=>{const r=Ie("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored invocation started for canceled session");return}r.debug(e.payload,`Invocation started (${e.payload.data.node.type})`),t(Z$(e.payload))}})},Zbe=()=>{Pe({actionCreator:oF,effect:(e,{dispatch:t})=>{const n=Ie("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load started: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(Kde(e.payload))}}),Pe({actionCreator:sF,effect:(e,{dispatch:t})=>{const n=Ie("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load complete: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(Xde(e.payload))}})},Jbe=()=>{Pe({actionCreator:aF,effect:(e,{dispatch:t})=>{Ie("socketio").error(e.payload,`Session retrieval error (${e.payload.data.graph_execution_state_id})`),t(lF(e.payload))}})},eSe=()=>{Pe({actionCreator:MT,effect:(e,{dispatch:t})=>{Ie("socketio").debug(e.payload,"Subscribed"),t(K$(e.payload))}})},tSe=()=>{Pe({actionCreator:X$,effect:(e,{dispatch:t})=>{Ie("socketio").debug(e.payload,"Unsubscribed"),t(Y$(e.payload))}})},nSe=()=>{Pe({actionCreator:w_e,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTO:r}=e.payload;try{const i=await t(Se.endpoints.changeImageIsIntermediate.initiate({imageDTO:r,is_intermediate:!1})).unwrap(),{autoAddBoardId:o}=n().gallery;o&&await t(Se.endpoints.addImageToBoard.initiate({imageDTO:i,board_id:o})),t(zn({title:"Image Saved",status:"success"}))}catch(i){t(zn({title:"Image Saving Failed",description:i==null?void 0:i.message,status:"error"}))}}})},eMe=["sd-1","sd-2","sdxl","sdxl-refiner"],rSe=["sd-1","sd-2","sdxl"],tMe=["sdxl-refiner"],iSe=()=>{Pe({actionCreator:r$,effect:(e,{getState:t,dispatch:n})=>{if(e.payload==="unifiedCanvas"){const{data:i}=fa.endpoints.getMainModels.select(rSe)(t());if(!i){n(Hu(null));return}const o=[];Ul(i.entities,d=>{d&&["sd-1","sd-2"].includes(d.base_model)&&o.push(d)});const s=o[0];if(!s){n(Hu(null));return}const{base_model:a,model_name:l,model_type:u}=s;n(Hu({base_model:a,model_name:l,model_type:u}))}}})},gt="positive_conditioning",_t="negative_conditioning",cr="text_to_latents",Rt="latents_to_image",Dd="nsfw_checker",Yh="invisible_watermark",yt="noise",ms="rand_int",ha="range_of_size",vi="iterate",Gr="main_model_loader",gE="onnx_model_loader",Qh="vae_loader",GU="lora_loader",qt="clip_skip",un="image_to_latents",Un="latents_to_latents",ii="resize_image",fs="inpaint",O0="control_net_collect",Nx="dynamic_prompt",Ot="metadata_accumulator",BO="esrgan",Cn="sdxl_model_loader",ra="t2l_sdxl",Do="l2l_sdxl",fd="sdxl_refiner_model_loader",k0="sdxl_refiner_positive_conditioning",I0="sdxl_refiner_negative_conditioning",Su="l2l_sdxl_refiner",mE="text_to_image_graph",oSe="sdxl_text_to_image_graph",sSe="sxdl_image_to_image_graph",Z1="image_to_image_graph",HU="inpaint_graph",aSe=({image_name:e,esrganModelName:t})=>{const n={id:BO,type:"esrgan",image:{image_name:e},model_name:t,is_intermediate:!1};return{id:"adhoc-esrgan-graph",nodes:{[BO]:n},edges:[]}},lSe=Re("upscale/upscaleRequested"),uSe=()=>{Pe({actionCreator:lSe,effect:async(e,{dispatch:t,getState:n,take:r})=>{const{image_name:i}=e.payload,{esrganModelName:o}=n().postprocessing,s=aSe({image_name:i,esrganModelName:o});t(Ir({graph:s})),await r(Ir.fulfilled.match),t(yc())}})},cSe=e=>{const t=window.open("");t&&e.forEach(n=>{const r=new Image;r.src=n.base64,t.document.write(n.caption),t.document.write("
"),t.document.write(r.outerHTML),t.document.write("

")})},UO=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=i=>t(r.result),r.onerror=i=>n(r.error),r.onabort=i=>n(new Error("Read aborted")),r.readAsDataURL(e)});var yE={exports:{}},rS={},WU={},rt={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e._registerNode=e.Konva=e.glob=void 0;var t=Math.PI/180;function n(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}e.glob=typeof He<"u"?He:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},e.Konva={_global:e.glob,version:"9.2.0",isBrowser:n(),isUnminified:/param/.test((function(i){}).toString()),dblClickWindow:400,getAngle(i){return e.Konva.angleDeg?i*t:i},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,pixelRatio:typeof window<"u"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return e.Konva.DD.isDragging},isDragReady(){return!!e.Konva.DD.node},releaseCanvasOnDestroy:!0,document:e.glob.document,_injectGlobal(i){e.glob.Konva=i}};const r=i=>{e.Konva[i.prototype.getClassName()]=i};e._registerNode=r,e.Konva._injectGlobal(e.Konva)})(rt);var Sn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Util=e.Transform=void 0;const t=rt;class n{constructor(S=[1,0,0,1,0,0]){this.dirty=!1,this.m=S&&S.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new n(this.m)}copyInto(S){S.m[0]=this.m[0],S.m[1]=this.m[1],S.m[2]=this.m[2],S.m[3]=this.m[3],S.m[4]=this.m[4],S.m[5]=this.m[5]}point(S){var C=this.m;return{x:C[0]*S.x+C[2]*S.y+C[4],y:C[1]*S.x+C[3]*S.y+C[5]}}translate(S,C){return this.m[4]+=this.m[0]*S+this.m[2]*C,this.m[5]+=this.m[1]*S+this.m[3]*C,this}scale(S,C){return this.m[0]*=S,this.m[1]*=S,this.m[2]*=C,this.m[3]*=C,this}rotate(S){var C=Math.cos(S),T=Math.sin(S),E=this.m[0]*C+this.m[2]*T,P=this.m[1]*C+this.m[3]*T,k=this.m[0]*-T+this.m[2]*C,O=this.m[1]*-T+this.m[3]*C;return this.m[0]=E,this.m[1]=P,this.m[2]=k,this.m[3]=O,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(S,C){var T=this.m[0]+this.m[2]*C,E=this.m[1]+this.m[3]*C,P=this.m[2]+this.m[0]*S,k=this.m[3]+this.m[1]*S;return this.m[0]=T,this.m[1]=E,this.m[2]=P,this.m[3]=k,this}multiply(S){var C=this.m[0]*S.m[0]+this.m[2]*S.m[1],T=this.m[1]*S.m[0]+this.m[3]*S.m[1],E=this.m[0]*S.m[2]+this.m[2]*S.m[3],P=this.m[1]*S.m[2]+this.m[3]*S.m[3],k=this.m[0]*S.m[4]+this.m[2]*S.m[5]+this.m[4],O=this.m[1]*S.m[4]+this.m[3]*S.m[5]+this.m[5];return this.m[0]=C,this.m[1]=T,this.m[2]=E,this.m[3]=P,this.m[4]=k,this.m[5]=O,this}invert(){var S=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),C=this.m[3]*S,T=-this.m[1]*S,E=-this.m[2]*S,P=this.m[0]*S,k=S*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),O=S*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=C,this.m[1]=T,this.m[2]=E,this.m[3]=P,this.m[4]=k,this.m[5]=O,this}getMatrix(){return this.m}decompose(){var S=this.m[0],C=this.m[1],T=this.m[2],E=this.m[3],P=this.m[4],k=this.m[5],O=S*E-C*T;let M={x:P,y:k,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(S!=0||C!=0){var G=Math.sqrt(S*S+C*C);M.rotation=C>0?Math.acos(S/G):-Math.acos(S/G),M.scaleX=G,M.scaleY=O/G,M.skewX=(S*T+C*E)/O,M.skewY=0}else if(T!=0||E!=0){var U=Math.sqrt(T*T+E*E);M.rotation=Math.PI/2-(E>0?Math.acos(-T/U):-Math.acos(T/U)),M.scaleX=O/U,M.scaleY=U,M.skewX=0,M.skewY=(S*T+C*E)/O}return M.rotation=e.Util._getRotation(M.rotation),M}}e.Transform=n;var r="[object Array]",i="[object Number]",o="[object String]",s="[object Boolean]",a=Math.PI/180,l=180/Math.PI,u="#",d="",f="0",p="Konva warning: ",g="Konva error: ",m="rgb(",v={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,132,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,255,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,203],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:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],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,5]},x=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,_=[];const b=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(y){setTimeout(y,60)};e.Util={_isElement(y){return!!(y&&y.nodeType==1)},_isFunction(y){return!!(y&&y.constructor&&y.call&&y.apply)},_isPlainObject(y){return!!y&&y.constructor===Object},_isArray(y){return Object.prototype.toString.call(y)===r},_isNumber(y){return Object.prototype.toString.call(y)===i&&!isNaN(y)&&isFinite(y)},_isString(y){return Object.prototype.toString.call(y)===o},_isBoolean(y){return Object.prototype.toString.call(y)===s},isObject(y){return y instanceof Object},isValidSelector(y){if(typeof y!="string")return!1;var S=y[0];return S==="#"||S==="."||S===S.toUpperCase()},_sign(y){return y===0||y>0?1:-1},requestAnimFrame(y){_.push(y),_.length===1&&b(function(){const S=_;_=[],S.forEach(function(C){C()})})},createCanvasElement(){var y=document.createElement("canvas");try{y.style=y.style||{}}catch{}return y},createImageElement(){return document.createElement("img")},_isInDocument(y){for(;y=y.parentNode;)if(y==document)return!0;return!1},_urlToImage(y,S){var C=e.Util.createImageElement();C.onload=function(){S(C)},C.src=y},_rgbToHex(y,S,C){return((1<<24)+(y<<16)+(S<<8)+C).toString(16).slice(1)},_hexToRgb(y){y=y.replace(u,d);var S=parseInt(y,16);return{r:S>>16&255,g:S>>8&255,b:S&255}},getRandomColor(){for(var y=(Math.random()*16777215<<0).toString(16);y.length<6;)y=f+y;return u+y},getRGB(y){var S;return y in v?(S=v[y],{r:S[0],g:S[1],b:S[2]}):y[0]===u?this._hexToRgb(y.substring(1)):y.substr(0,4)===m?(S=x.exec(y.replace(/ /g,"")),{r:parseInt(S[1],10),g:parseInt(S[2],10),b:parseInt(S[3],10)}):{r:0,g:0,b:0}},colorToRGBA(y){return y=y||"black",e.Util._namedColorToRBA(y)||e.Util._hex3ColorToRGBA(y)||e.Util._hex4ColorToRGBA(y)||e.Util._hex6ColorToRGBA(y)||e.Util._hex8ColorToRGBA(y)||e.Util._rgbColorToRGBA(y)||e.Util._rgbaColorToRGBA(y)||e.Util._hslColorToRGBA(y)},_namedColorToRBA(y){var S=v[y.toLowerCase()];return S?{r:S[0],g:S[1],b:S[2],a:1}:null},_rgbColorToRGBA(y){if(y.indexOf("rgb(")===0){y=y.match(/rgb\(([^)]+)\)/)[1];var S=y.split(/ *, */).map(Number);return{r:S[0],g:S[1],b:S[2],a:1}}},_rgbaColorToRGBA(y){if(y.indexOf("rgba(")===0){y=y.match(/rgba\(([^)]+)\)/)[1];var S=y.split(/ *, */).map((C,T)=>C.slice(-1)==="%"?T===3?parseInt(C)/100:parseInt(C)/100*255:Number(C));return{r:S[0],g:S[1],b:S[2],a:S[3]}}},_hex8ColorToRGBA(y){if(y[0]==="#"&&y.length===9)return{r:parseInt(y.slice(1,3),16),g:parseInt(y.slice(3,5),16),b:parseInt(y.slice(5,7),16),a:parseInt(y.slice(7,9),16)/255}},_hex6ColorToRGBA(y){if(y[0]==="#"&&y.length===7)return{r:parseInt(y.slice(1,3),16),g:parseInt(y.slice(3,5),16),b:parseInt(y.slice(5,7),16),a:1}},_hex4ColorToRGBA(y){if(y[0]==="#"&&y.length===5)return{r:parseInt(y[1]+y[1],16),g:parseInt(y[2]+y[2],16),b:parseInt(y[3]+y[3],16),a:parseInt(y[4]+y[4],16)/255}},_hex3ColorToRGBA(y){if(y[0]==="#"&&y.length===4)return{r:parseInt(y[1]+y[1],16),g:parseInt(y[2]+y[2],16),b:parseInt(y[3]+y[3],16),a:1}},_hslColorToRGBA(y){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(y)){const[S,...C]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(y),T=Number(C[0])/360,E=Number(C[1])/100,P=Number(C[2])/100;let k,O,M;if(E===0)return M=P*255,{r:Math.round(M),g:Math.round(M),b:Math.round(M),a:1};P<.5?k=P*(1+E):k=P+E-P*E;const G=2*P-k,U=[0,0,0];for(let A=0;A<3;A++)O=T+1/3*-(A-1),O<0&&O++,O>1&&O--,6*O<1?M=G+(k-G)*6*O:2*O<1?M=k:3*O<2?M=G+(k-G)*(2/3-O)*6:M=G,U[A]=M*255;return{r:Math.round(U[0]),g:Math.round(U[1]),b:Math.round(U[2]),a:1}}},haveIntersection(y,S){return!(S.x>y.x+y.width||S.x+S.widthy.y+y.height||S.y+S.height1?(k=C,O=T,M=(C-E)*(C-E)+(T-P)*(T-P)):(k=y+U*(C-y),O=S+U*(T-S),M=(k-E)*(k-E)+(O-P)*(O-P))}return[k,O,M]},_getProjectionToLine(y,S,C){var T=e.Util.cloneObject(y),E=Number.MAX_VALUE;return S.forEach(function(P,k){if(!(!C&&k===S.length-1)){var O=S[(k+1)%S.length],M=e.Util._getProjectionToSegment(P.x,P.y,O.x,O.y,y.x,y.y),G=M[0],U=M[1],A=M[2];AS.length){var k=S;S=y,y=k}for(T=0;T{S.width=0,S.height=0})},drawRoundedRectPath(y,S,C,T){let E=0,P=0,k=0,O=0;typeof T=="number"?E=P=k=O=Math.min(T,S/2,C/2):(E=Math.min(T[0]||0,S/2,C/2),P=Math.min(T[1]||0,S/2,C/2),O=Math.min(T[2]||0,S/2,C/2),k=Math.min(T[3]||0,S/2,C/2)),y.moveTo(E,0),y.lineTo(S-P,0),y.arc(S-P,P,P,Math.PI*3/2,0,!1),y.lineTo(S,C-O),y.arc(S-O,C-O,O,0,Math.PI/2,!1),y.lineTo(k,C),y.arc(k,C-k,k,Math.PI/2,Math.PI,!1),y.lineTo(0,E),y.arc(E,E,E,Math.PI,Math.PI*3/2,!1)}}})(Sn);var fn={},nt={},ke={};Object.defineProperty(ke,"__esModule",{value:!0});ke.getComponentValidator=ke.getBooleanValidator=ke.getNumberArrayValidator=ke.getFunctionValidator=ke.getStringOrGradientValidator=ke.getStringValidator=ke.getNumberOrAutoValidator=ke.getNumberOrArrayOfNumbersValidator=ke.getNumberValidator=ke.alphaComponent=ke.RGBComponent=void 0;const Fa=rt,En=Sn;function Ba(e){return En.Util._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||En.Util._isBoolean(e)?e:Object.prototype.toString.call(e)}function dSe(e){return e>255?255:e<0?0:Math.round(e)}ke.RGBComponent=dSe;function fSe(e){return e>1?1:e<1e-4?1e-4:e}ke.alphaComponent=fSe;function hSe(){if(Fa.Konva.isUnminified)return function(e,t){return En.Util._isNumber(e)||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}ke.getNumberValidator=hSe;function pSe(e){if(Fa.Konva.isUnminified)return function(t,n){let r=En.Util._isNumber(t),i=En.Util._isArray(t)&&t.length==e;return!r&&!i&&En.Util.warn(Ba(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}ke.getNumberOrArrayOfNumbersValidator=pSe;function gSe(){if(Fa.Konva.isUnminified)return function(e,t){var n=En.Util._isNumber(e),r=e==="auto";return n||r||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}ke.getNumberOrAutoValidator=gSe;function mSe(){if(Fa.Konva.isUnminified)return function(e,t){return En.Util._isString(e)||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}ke.getStringValidator=mSe;function ySe(){if(Fa.Konva.isUnminified)return function(e,t){const n=En.Util._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}ke.getStringOrGradientValidator=ySe;function vSe(){if(Fa.Konva.isUnminified)return function(e,t){return En.Util._isFunction(e)||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a function.'),e}}ke.getFunctionValidator=vSe;function _Se(){if(Fa.Konva.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(En.Util._isArray(e)?e.forEach(function(r){En.Util._isNumber(r)||En.Util.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}ke.getNumberArrayValidator=_Se;function bSe(){if(Fa.Konva.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}ke.getBooleanValidator=bSe;function SSe(e){if(Fa.Konva.isUnminified)return function(t,n){return t==null||En.Util.isObject(t)||En.Util.warn(Ba(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}ke.getComponentValidator=SSe;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Factory=void 0;const t=Sn,n=ke;var r="get",i="set";e.Factory={addGetterSetter(o,s,a,l,u){e.Factory.addGetter(o,s,a),e.Factory.addSetter(o,s,l,u),e.Factory.addOverloadedGetterSetter(o,s)},addGetter(o,s,a){var l=r+t.Util._capitalize(s);o.prototype[l]=o.prototype[l]||function(){var u=this.attrs[s];return u===void 0?a:u}},addSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]||e.Factory.overWriteSetter(o,s,a,l)},overWriteSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]=function(d){return a&&d!==void 0&&d!==null&&(d=a.call(this,d,s)),this._setAttr(s,d),l&&l.call(this),this}},addComponentsGetterSetter(o,s,a,l,u){var d=a.length,f=t.Util._capitalize,p=r+f(s),g=i+f(s),m,v;o.prototype[p]=function(){var _={};for(m=0;m{this._setAttr(s+f(S),void 0)}),this._fireChangeEvent(s,b,_),u&&u.call(this),this},e.Factory.addOverloadedGetterSetter(o,s)},addOverloadedGetterSetter(o,s){var a=t.Util._capitalize(s),l=i+a,u=r+a;o.prototype[s]=function(){return arguments.length?(this[l](arguments[0]),this):this[u]()}},addDeprecatedGetterSetter(o,s,a,l){t.Util.error("Adding deprecated "+s);var u=r+t.Util._capitalize(s),d=s+" property is deprecated and will be removed soon. Look at Konva change log for more information.";o.prototype[u]=function(){t.Util.error(d);var f=this.attrs[s];return f===void 0?a:f},e.Factory.addSetter(o,s,l,function(){t.Util.error(d)}),e.Factory.addOverloadedGetterSetter(o,s)},backCompat(o,s){t.Util.each(s,function(a,l){var u=o.prototype[l],d=r+t.Util._capitalize(a),f=i+t.Util._capitalize(a);function p(){u.apply(this,arguments),t.Util.error('"'+a+'" method is deprecated and will be removed soon. Use ""'+l+'" instead.')}o.prototype[a]=p,o.prototype[d]=p,o.prototype[f]=p})},afterSetFilter(){this._filterUpToDate=!1}}})(nt);var Qo={},ba={};Object.defineProperty(ba,"__esModule",{value:!0});ba.HitContext=ba.SceneContext=ba.Context=void 0;const qU=Sn,wSe=rt;function xSe(e){var t=[],n=e.length,r=qU.Util,i,o;for(i=0;itypeof d=="number"?Math.floor(d):d)),o+=CSe+u.join(zO)+TSe)):(o+=a.property,t||(o+=OSe+a.val)),o+=PSe;return o}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=ISe&&n.shift()}reset(){var t=this.getCanvas().getPixelRatio();this.setTransform(1*t,0,0,1*t,0,0)}getCanvas(){return this.canvas}clear(t){var n=this.getCanvas();t?this.clearRect(t.x||0,t.y||0,t.width||0,t.height||0):this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(t){const n=t.attrs.lineCap;n&&this.setAttr("lineCap",n)}_applyOpacity(t){var n=t.getAbsoluteOpacity();n!==1&&this.setAttr("globalAlpha",n)}_applyLineJoin(t){const n=t.attrs.lineJoin;n&&this.setAttr("lineJoin",n)}setAttr(t,n){this._context[t]=n}arc(t,n,r,i,o,s){this._context.arc(t,n,r,i,o,s)}arcTo(t,n,r,i,o){this._context.arcTo(t,n,r,i,o)}beginPath(){this._context.beginPath()}bezierCurveTo(t,n,r,i,o,s){this._context.bezierCurveTo(t,n,r,i,o,s)}clearRect(t,n,r,i){this._context.clearRect(t,n,r,i)}clip(...t){this._context.clip.apply(this._context,t)}closePath(){this._context.closePath()}createImageData(t,n){var r=arguments;if(r.length===2)return this._context.createImageData(t,n);if(r.length===1)return this._context.createImageData(t)}createLinearGradient(t,n,r,i){return this._context.createLinearGradient(t,n,r,i)}createPattern(t,n){return this._context.createPattern(t,n)}createRadialGradient(t,n,r,i,o,s){return this._context.createRadialGradient(t,n,r,i,o,s)}drawImage(t,n,r,i,o,s,a,l,u){var d=arguments,f=this._context;d.length===3?f.drawImage(t,n,r):d.length===5?f.drawImage(t,n,r,i,o):d.length===9&&f.drawImage(t,n,r,i,o,s,a,l,u)}ellipse(t,n,r,i,o,s,a,l){this._context.ellipse(t,n,r,i,o,s,a,l)}isPointInPath(t,n,r,i){return r?this._context.isPointInPath(r,t,n,i):this._context.isPointInPath(t,n,i)}fill(...t){this._context.fill.apply(this._context,t)}fillRect(t,n,r,i){this._context.fillRect(t,n,r,i)}strokeRect(t,n,r,i){this._context.strokeRect(t,n,r,i)}fillText(t,n,r,i){i?this._context.fillText(t,n,r,i):this._context.fillText(t,n,r)}measureText(t){return this._context.measureText(t)}getImageData(t,n,r,i){return this._context.getImageData(t,n,r,i)}lineTo(t,n){this._context.lineTo(t,n)}moveTo(t,n){this._context.moveTo(t,n)}rect(t,n,r,i){this._context.rect(t,n,r,i)}putImageData(t,n,r){this._context.putImageData(t,n,r)}quadraticCurveTo(t,n,r,i){this._context.quadraticCurveTo(t,n,r,i)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,n){this._context.scale(t,n)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(t,n,r,i,o,s){this._context.setTransform(t,n,r,i,o,s)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,n,r,i){this._context.strokeText(t,n,r,i)}transform(t,n,r,i,o,s){this._context.transform(t,n,r,i,o,s)}translate(t,n){this._context.translate(t,n)}_enableTrace(){var t=this,n=VO.length,r=this.setAttr,i,o,s=function(a){var l=t[a],u;t[a]=function(){return o=xSe(Array.prototype.slice.call(arguments,0)),u=l.apply(t,arguments),t._trace({method:a,args:o}),u}};for(i=0;i{i.dragStatus==="dragging"&&(r=!0)}),r},justDragged:!1,get node(){var r;return e.DD._dragElements.forEach(i=>{r=i.node}),r},_dragElements:new Map,_drag(r){const i=[];e.DD._dragElements.forEach((o,s)=>{const{node:a}=o,l=a.getStage();l.setPointersPositions(r),o.pointerId===void 0&&(o.pointerId=n.Util._getFirstPointerId(r));const u=l._changedPointerPositions.find(p=>p.id===o.pointerId);if(u){if(o.dragStatus!=="dragging"){var d=a.dragDistance(),f=Math.max(Math.abs(u.x-o.startPointerPos.x),Math.abs(u.y-o.startPointerPos.y));if(f{o.fire("dragmove",{type:"dragmove",target:o,evt:r},!0)})},_endDragBefore(r){const i=[];e.DD._dragElements.forEach(o=>{const{node:s}=o,a=s.getStage();if(r&&a.setPointersPositions(r),!a._changedPointerPositions.find(d=>d.id===o.pointerId))return;(o.dragStatus==="dragging"||o.dragStatus==="stopped")&&(e.DD.justDragged=!0,t.Konva._mouseListenClick=!1,t.Konva._touchListenClick=!1,t.Konva._pointerListenClick=!1,o.dragStatus="stopped");const u=o.node.getLayer()||o.node instanceof t.Konva.Stage&&o.node;u&&i.indexOf(u)===-1&&i.push(u)}),i.forEach(o=>{o.draw()})},_endDragAfter(r){e.DD._dragElements.forEach((i,o)=>{i.dragStatus==="stopped"&&i.node.fire("dragend",{type:"dragend",target:i.node,evt:r},!0),i.dragStatus!=="dragging"&&e.DD._dragElements.delete(o)})}},t.Konva.isBrowser&&(window.addEventListener("mouseup",e.DD._endDragBefore,!0),window.addEventListener("touchend",e.DD._endDragBefore,!0),window.addEventListener("mousemove",e.DD._drag),window.addEventListener("touchmove",e.DD._drag),window.addEventListener("mouseup",e.DD._endDragAfter,!1),window.addEventListener("touchend",e.DD._endDragAfter,!1))})(sS);Object.defineProperty(fn,"__esModule",{value:!0});fn.Node=void 0;const ct=Sn,Am=nt,N0=Qo,wu=rt,uo=sS,Ln=ke;var _v="absoluteOpacity",L0="allEventListeners",la="absoluteTransform",jO="absoluteScale",xu="canvas",USe="Change",zSe="children",VSe="konva",i5="listening",GO="mouseenter",HO="mouseleave",WO="set",qO="Shape",bv=" ",KO="stage",sl="transform",jSe="Stage",o5="visible",GSe=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(bv);let HSe=1;class ze{constructor(t){this._id=HSe++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===sl||t===la)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){var r=this._cache.get(t),i=t===sl||t===la,o=r===void 0||i&&r.dirty===!0;return o&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const i=n.map(o=>o+"Change.konva").join(bv);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(xu)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===la&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(xu)){const{scene:t,filter:n,hit:r}=this._cache.get(xu);ct.Util.releaseCanvas(t,n,r),this._cache.delete(xu)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){var n=t||{},r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()}));var i=Math.ceil(n.width||r.width),o=Math.ceil(n.height||r.height),s=n.pixelRatio,a=n.x===void 0?Math.floor(r.x):n.x,l=n.y===void 0?Math.floor(r.y):n.y,u=n.offset||0,d=n.drawBorder||!1,f=n.hitCanvasPixelRatio||1;if(!i||!o){ct.Util.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}i+=u*2+1,o+=u*2+1,a-=u,l-=u;var p=new N0.SceneCanvas({pixelRatio:s,width:i,height:o}),g=new N0.SceneCanvas({pixelRatio:s,width:0,height:0,willReadFrequently:!0}),m=new N0.HitCanvas({pixelRatio:f,width:i,height:o}),v=p.getContext(),x=m.getContext();return m.isCache=!0,p.isCache=!0,this._cache.delete(xu),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(p.getContext()._context.imageSmoothingEnabled=!1,g.getContext()._context.imageSmoothingEnabled=!1),v.save(),x.save(),v.translate(-a,-l),x.translate(-a,-l),this._isUnderCache=!0,this._clearSelfAndDescendantCache(_v),this._clearSelfAndDescendantCache(jO),this.drawScene(p,this),this.drawHit(m,this),this._isUnderCache=!1,v.restore(),x.restore(),d&&(v.save(),v.beginPath(),v.rect(0,0,i,o),v.closePath(),v.setAttr("strokeStyle","red"),v.setAttr("lineWidth",5),v.stroke(),v.restore()),this._cache.set(xu,{scene:p,filter:g,hit:m,x:a,y:l}),this._requestDraw(),this}isCached(){return this._cache.has(xu)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){var r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}],i,o,s,a,l=this.getAbsoluteTransform(n);return r.forEach(function(u){var d=l.point(u);i===void 0&&(i=s=d.x,o=a=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),s=Math.max(s,d.x),a=Math.max(a,d.y)}),{x:i,y:o,width:s-i,height:a-o}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);var r=this._getCachedSceneCanvas(),i=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/i,r.height/i),t.restore()}_drawCachedHitCanvas(t){var n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){var t=this.filters(),n=this._getCanvasCache(),r=n.scene,i=n.filter,o=i.getContext(),s,a,l,u;if(t){if(!this._filterUpToDate){var d=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(s=t.length,o.clear(),o.drawImage(r._canvas,0,0,r.getWidth()/d,r.getHeight()/d),a=o.getImageData(0,0,i.getWidth(),i.getHeight()),l=0;l{var n,r;if(!t)return this;for(n in t)n!==zSe&&(r=WO+ct.Util._capitalize(n),ct.Util._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(i5,this._isListening)}_isListening(t){if(!this.listening())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isListening(t):!0}isVisible(){return this._getCache(o5,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);var r=this.getLayer(),i=!1;uo.DD._dragElements.forEach(s=>{s.dragStatus==="dragging"&&(s.node.nodeType==="Stage"||s.node.getLayer()===r)&&(i=!0)});var o=!n&&!wu.Konva.hitOnDragEnabled&&i;return this.isListening()&&this.isVisible()&&!o}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){var t=this.getDepth(),n=this,r=0,i,o,s,a;function l(u){for(i=[],o=u.length,s=0;s0&&i[0].getDepth()<=t&&l(i)}return n.nodeType!==jSe&&l(n.getStage().getChildren()),r}getDepth(){for(var t=0,n=this.parent;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(sl),this._clearSelfAndDescendantCache(la)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){if(!this.getStage())return null;var t=this.getStage().getPointerPosition();if(!t)return null;var n=this.getAbsoluteTransform().copy();return n.invert(),n.point(t)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);var i=this.getAbsoluteTransform(t).getMatrix(),o=new ct.Transform,s=this.offset();return o.m=i.slice(),o.translate(s.x,s.y),o.getTranslation()}setAbsolutePosition(t){var n=this._clearTransform();this.attrs.x=n.x,this.attrs.y=n.y,delete n.x,delete n.y,this._clearCache(sl);var r=this._getAbsoluteTransform().copy();return r.invert(),r.translate(t.x,t.y),t={x:this.attrs.x+r.getTranslation().x,y:this.attrs.y+r.getTranslation().y},this._setTransform(n),this.setPosition({x:t.x,y:t.y}),this._clearCache(sl),this._clearSelfAndDescendantCache(la),this}_setTransform(t){var n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){var t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){var n=t.x,r=t.y,i=this.x(),o=this.y();return n!==void 0&&(i+=n),r!==void 0&&(o+=r),this.setPosition({x:i,y:o}),this}_eachAncestorReverse(t,n){var r=[],i=this.getParent(),o,s;if(!(n&&n._id===this._id)){for(r.unshift(this);i&&(!n||i._id!==n._id);)r.unshift(i),i=i.parent;for(o=r.length,s=0;s0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return ct.Util.warn("Node has no parent. moveToBottom function is ignored."),!1;var t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return ct.Util.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&ct.Util.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");var n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(_v,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){var t=this.opacity(),n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){var t={},n=this.getAttrs(),r,i,o,s,a;t.attrs={};for(r in n)i=n[r],a=ct.Util.isObject(i)&&!ct.Util._isPlainObject(i)&&!ct.Util._isArray(i),!a&&(o=typeof this[r]=="function"&&this[r],delete n[r],s=o?o.call(this):null,n[r]=i,s!==i&&(t.attrs[r]=i));return t.className=this.getClassName(),ct.Util._prepareToStringify(t)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){var i=[];n&&this._isMatch(t)&&i.push(this);for(var o=this.parent;o;){if(o===r)return i;o._isMatch(t)&&i.push(o),o=o.parent}return i}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);var n=t.replace(/ /g,"").split(","),r=n.length,i,o;for(i=0;i{try{const i=t==null?void 0:t.callback;i&&delete t.callback,ct.Util._urlToImage(this.toDataURL(t),function(o){n(o),i==null||i(o)})}catch(i){r(i)}})}toBlob(t){return new Promise((n,r)=>{try{const i=t==null?void 0:t.callback;i&&delete t.callback,this.toCanvas(t).toBlob(o=>{n(o),i==null||i(o)})}catch(i){r(i)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():wu.Konva.dragDistance}_off(t,n,r){var i=this.eventListeners[t],o,s,a;for(o=0;o=0;if(r&&!this.isDragging()){var i=!1;uo.DD._dragElements.forEach(o=>{this.isAncestorOf(o.node)&&(i=!0)}),i||this._createDragElement(t)}})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{this._dragCleanup();var t=this.getStage();if(!t)return;const n=uo.DD._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&uo.DD._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return ct.Util.haveIntersection(r,this.getClientRect())}static create(t,n){return ct.Util._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=ze.prototype.getClassName.call(t),i=t.children,o,s,a;n&&(t.attrs.container=n),wu.Konva[r]||(ct.Util.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=wu.Konva[r];if(o=new l(t.attrs),i)for(s=i.length,a=0;a0}removeChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.destroy()}),this.children=[],this._requestDraw(),this}add(...t){if(t.length===0)return this;if(t.length>1){for(var n=0;n0?n[0]:void 0}_generalFind(t,n){var r=[];return this._descendants(i=>{const o=i._isMatch(t);return o&&r.push(i),!!(o&&n)}),r}_descendants(t){let n=!1;const r=this.getChildren();for(const i of r){if(n=t(i),n)return!0;if(i.hasChildren()&&(n=i._descendants(t),n))return!0}return!1}toObject(){var t=Lx.Node.prototype.toObject.call(this);return t.children=[],this.getChildren().forEach(n=>{t.children.push(n.toObject())}),t}isAncestorOf(t){for(var n=t.getParent();n;){if(n._id===this._id)return!0;n=n.getParent()}return!1}clone(t){var n=Lx.Node.prototype.clone.call(this,t);return this.getChildren().forEach(function(r){n.add(r.clone())}),n}getAllIntersections(t){var n=[];return this.find("Shape").forEach(function(r){r.isVisible()&&r.intersects(t)&&n.push(r)}),n}_clearSelfAndDescendantCache(t){var n;super._clearSelfAndDescendantCache(t),!this.isCached()&&((n=this.children)===null||n===void 0||n.forEach(function(r){r._clearSelfAndDescendantCache(t)}))}_setChildrenIndices(){var t;(t=this.children)===null||t===void 0||t.forEach(function(n,r){n.index=r}),this._requestDraw()}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas(),o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.scene,l=i&&i.isCache;if(!this.isVisible()&&!l)return this;if(a){o.save();var u=this.getAbsoluteTransform(n).getMatrix();o.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this._drawCachedSceneCanvas(o),o.restore()}else this._drawChildren("drawScene",i,n);return this}drawHit(t,n){if(!this.shouldDrawHit(n))return this;var r=this.getLayer(),i=t||r&&r.hitCanvas,o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.hit;if(a){o.save();var l=this.getAbsoluteTransform(n).getMatrix();o.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawCachedHitCanvas(o),o.restore()}else this._drawChildren("drawHit",i,n);return this}_drawChildren(t,n,r){var i,o=n&&n.getContext(),s=this.clipWidth(),a=this.clipHeight(),l=this.clipFunc(),u=s&&a||l;const d=r===this;if(u){o.save();var f=this.getAbsoluteTransform(r),p=f.getMatrix();o.transform(p[0],p[1],p[2],p[3],p[4],p[5]),o.beginPath();let x;if(l)x=l.call(this,o,this);else{var g=this.clipX(),m=this.clipY();o.rect(g,m,s,a)}o.clip.apply(o,x),p=f.copy().invert().getMatrix(),o.transform(p[0],p[1],p[2],p[3],p[4],p[5])}var v=!d&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";v&&(o.save(),o._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(x){x[t](n,r)}),v&&o.restore(),u&&o.restore()}getClientRect(t){var n;t=t||{};var r=t.skipTransform,i=t.relativeTo,o,s,a,l,u={x:1/0,y:1/0,width:0,height:0},d=this;(n=this.children)===null||n===void 0||n.forEach(function(v){if(v.visible()){var x=v.getClientRect({relativeTo:d,skipShadow:t.skipShadow,skipStroke:t.skipStroke});x.width===0&&x.height===0||(o===void 0?(o=x.x,s=x.y,a=x.x+x.width,l=x.y+x.height):(o=Math.min(o,x.x),s=Math.min(s,x.y),a=Math.max(a,x.x+x.width),l=Math.max(l,x.y+x.height)))}});for(var f=this.find("Shape"),p=!1,g=0;gle.indexOf("pointer")>=0?"pointer":le.indexOf("touch")>=0?"touch":"mouse",Z=le=>{const W=q(le);if(W==="pointer")return i.Konva.pointerEventsEnabled&&j.pointer;if(W==="touch")return j.touch;if(W==="mouse")return j.mouse};function ee(le={}){return(le.clipFunc||le.clipWidth||le.clipHeight)&&t.Util.warn("Stage does not support clipping. Please use clip for Layers or Groups."),le}const ie="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);";e.stages=[];class se extends r.Container{constructor(W){super(ee(W)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),e.stages.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{ee(this.attrs)}),this._checkVisibility()}_validateAdd(W){const ne=W.getType()==="Layer",fe=W.getType()==="FastLayer";ne||fe||t.Util.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const W=this.visible()?"":"none";this.content.style.display=W}setContainer(W){if(typeof W===d){if(W.charAt(0)==="."){var ne=W.slice(1);W=document.getElementsByClassName(ne)[0]}else{var fe;W.charAt(0)!=="#"?fe=W:fe=W.slice(1),W=document.getElementById(fe)}if(!W)throw"Can not find container in document with id "+fe}return this._setAttr("container",W),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),W.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var W=this.children,ne=W.length,fe;for(fe=0;fe-1&&e.stages.splice(ne,1),t.Util.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const W=this._pointerPositions[0]||this._changedPointerPositions[0];return W?{x:W.x,y:W.y}:(t.Util.warn(ie),null)}_getPointerById(W){return this._pointerPositions.find(ne=>ne.id===W)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(W){W=W||{},W.x=W.x||0,W.y=W.y||0,W.width=W.width||this.width(),W.height=W.height||this.height();var ne=new o.SceneCanvas({width:W.width,height:W.height,pixelRatio:W.pixelRatio||1}),fe=ne.getContext()._context,pe=this.children;return(W.x||W.y)&&fe.translate(-1*W.x,-1*W.y),pe.forEach(function(ve){if(ve.isVisible()){var ye=ve._toKonvaCanvas(W);fe.drawImage(ye._canvas,W.x,W.y,ye.getWidth()/ye.getPixelRatio(),ye.getHeight()/ye.getPixelRatio())}}),ne}getIntersection(W){if(!W)return null;var ne=this.children,fe=ne.length,pe=fe-1,ve;for(ve=pe;ve>=0;ve--){const ye=ne[ve].getIntersection(W);if(ye)return ye}return null}_resizeDOM(){var W=this.width(),ne=this.height();this.content&&(this.content.style.width=W+f,this.content.style.height=ne+f),this.bufferCanvas.setSize(W,ne),this.bufferHitCanvas.setSize(W,ne),this.children.forEach(fe=>{fe.setSize({width:W,height:ne}),fe.draw()})}add(W,...ne){if(arguments.length>1){for(var fe=0;feD&&t.Util.warn("The stage has "+pe+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),W.setSize({width:this.width(),height:this.height()}),W.draw(),i.Konva.isBrowser&&this.content.appendChild(W.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(W){return l.hasPointerCapture(W,this)}setPointerCapture(W){l.setPointerCapture(W,this)}releaseCapture(W){l.releaseCapture(W,this)}getLayers(){return this.children}_bindContentEvents(){i.Konva.isBrowser&&V.forEach(([W,ne])=>{this.content.addEventListener(W,fe=>{this[ne](fe)},{passive:!1})})}_pointerenter(W){this.setPointersPositions(W);const ne=Z(W.type);this._fire(ne.pointerenter,{evt:W,target:this,currentTarget:this})}_pointerover(W){this.setPointersPositions(W);const ne=Z(W.type);this._fire(ne.pointerover,{evt:W,target:this,currentTarget:this})}_getTargetShape(W){let ne=this[W+"targetShape"];return ne&&!ne.getStage()&&(ne=null),ne}_pointerleave(W){const ne=Z(W.type),fe=q(W.type);if(ne){this.setPointersPositions(W);var pe=this._getTargetShape(fe),ve=!s.DD.isDragging||i.Konva.hitOnDragEnabled;pe&&ve?(pe._fireAndBubble(ne.pointerout,{evt:W}),pe._fireAndBubble(ne.pointerleave,{evt:W}),this._fire(ne.pointerleave,{evt:W,target:this,currentTarget:this}),this[fe+"targetShape"]=null):ve&&(this._fire(ne.pointerleave,{evt:W,target:this,currentTarget:this}),this._fire(ne.pointerout,{evt:W,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(W){const ne=Z(W.type),fe=q(W.type);if(ne){this.setPointersPositions(W);var pe=!1;this._changedPointerPositions.forEach(ve=>{var ye=this.getIntersection(ve);if(s.DD.justDragged=!1,i.Konva["_"+fe+"ListenClick"]=!0,!(ye&&ye.isListening()))return;i.Konva.capturePointerEventsEnabled&&ye.setPointerCapture(ve.id),this[fe+"ClickStartShape"]=ye,ye._fireAndBubble(ne.pointerdown,{evt:W,pointerId:ve.id}),pe=!0;const Me=W.type.indexOf("touch")>=0;ye.preventDefault()&&W.cancelable&&Me&&W.preventDefault()}),pe||this._fire(ne.pointerdown,{evt:W,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(W){const ne=Z(W.type),fe=q(W.type);if(!ne)return;s.DD.isDragging&&s.DD.node.preventDefault()&&W.cancelable&&W.preventDefault(),this.setPointersPositions(W);var pe=!s.DD.isDragging||i.Konva.hitOnDragEnabled;if(!pe)return;var ve={};let ye=!1;var We=this._getTargetShape(fe);this._changedPointerPositions.forEach(Me=>{const Ee=l.getCapturedShape(Me.id)||this.getIntersection(Me),lt=Me.id,_e={evt:W,pointerId:lt};var jt=We!==Ee;if(jt&&We&&(We._fireAndBubble(ne.pointerout,Object.assign({},_e),Ee),We._fireAndBubble(ne.pointerleave,Object.assign({},_e),Ee)),Ee){if(ve[Ee._id])return;ve[Ee._id]=!0}Ee&&Ee.isListening()?(ye=!0,jt&&(Ee._fireAndBubble(ne.pointerover,Object.assign({},_e),We),Ee._fireAndBubble(ne.pointerenter,Object.assign({},_e),We),this[fe+"targetShape"]=Ee),Ee._fireAndBubble(ne.pointermove,Object.assign({},_e))):We&&(this._fire(ne.pointerover,{evt:W,target:this,currentTarget:this,pointerId:lt}),this[fe+"targetShape"]=null)}),ye||this._fire(ne.pointermove,{evt:W,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(W){const ne=Z(W.type),fe=q(W.type);if(!ne)return;this.setPointersPositions(W);const pe=this[fe+"ClickStartShape"],ve=this[fe+"ClickEndShape"];var ye={};let We=!1;this._changedPointerPositions.forEach(Me=>{const Ee=l.getCapturedShape(Me.id)||this.getIntersection(Me);if(Ee){if(Ee.releaseCapture(Me.id),ye[Ee._id])return;ye[Ee._id]=!0}const lt=Me.id,_e={evt:W,pointerId:lt};let jt=!1;i.Konva["_"+fe+"InDblClickWindow"]?(jt=!0,clearTimeout(this[fe+"DblTimeout"])):s.DD.justDragged||(i.Konva["_"+fe+"InDblClickWindow"]=!0,clearTimeout(this[fe+"DblTimeout"])),this[fe+"DblTimeout"]=setTimeout(function(){i.Konva["_"+fe+"InDblClickWindow"]=!1},i.Konva.dblClickWindow),Ee&&Ee.isListening()?(We=!0,this[fe+"ClickEndShape"]=Ee,Ee._fireAndBubble(ne.pointerup,Object.assign({},_e)),i.Konva["_"+fe+"ListenClick"]&&pe&&pe===Ee&&(Ee._fireAndBubble(ne.pointerclick,Object.assign({},_e)),jt&&ve&&ve===Ee&&Ee._fireAndBubble(ne.pointerdblclick,Object.assign({},_e)))):(this[fe+"ClickEndShape"]=null,i.Konva["_"+fe+"ListenClick"]&&this._fire(ne.pointerclick,{evt:W,target:this,currentTarget:this,pointerId:lt}),jt&&this._fire(ne.pointerdblclick,{evt:W,target:this,currentTarget:this,pointerId:lt}))}),We||this._fire(ne.pointerup,{evt:W,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),i.Konva["_"+fe+"ListenClick"]=!1,W.cancelable&&fe!=="touch"&&W.preventDefault()}_contextmenu(W){this.setPointersPositions(W);var ne=this.getIntersection(this.getPointerPosition());ne&&ne.isListening()?ne._fireAndBubble(G,{evt:W}):this._fire(G,{evt:W,target:this,currentTarget:this})}_wheel(W){this.setPointersPositions(W);var ne=this.getIntersection(this.getPointerPosition());ne&&ne.isListening()?ne._fireAndBubble(B,{evt:W}):this._fire(B,{evt:W,target:this,currentTarget:this})}_pointercancel(W){this.setPointersPositions(W);const ne=l.getCapturedShape(W.pointerId)||this.getIntersection(this.getPointerPosition());ne&&ne._fireAndBubble(C,l.createEvent(W)),l.releaseCapture(W.pointerId)}_lostpointercapture(W){l.releaseCapture(W.pointerId)}setPointersPositions(W){var ne=this._getContentPosition(),fe=null,pe=null;W=W||window.event,W.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(W.touches,ve=>{this._pointerPositions.push({id:ve.identifier,x:(ve.clientX-ne.left)/ne.scaleX,y:(ve.clientY-ne.top)/ne.scaleY})}),Array.prototype.forEach.call(W.changedTouches||W.touches,ve=>{this._changedPointerPositions.push({id:ve.identifier,x:(ve.clientX-ne.left)/ne.scaleX,y:(ve.clientY-ne.top)/ne.scaleY})})):(fe=(W.clientX-ne.left)/ne.scaleX,pe=(W.clientY-ne.top)/ne.scaleY,this.pointerPos={x:fe,y:pe},this._pointerPositions=[{x:fe,y:pe,id:t.Util._getFirstPointerId(W)}],this._changedPointerPositions=[{x:fe,y:pe,id:t.Util._getFirstPointerId(W)}])}_setPointerPosition(W){t.Util.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(W)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var W=this.content.getBoundingClientRect();return{top:W.top,left:W.left,scaleX:W.width/this.content.clientWidth||1,scaleY:W.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new o.SceneCanvas({width:this.width(),height:this.height()}),this.bufferHitCanvas=new o.HitCanvas({pixelRatio:1,width:this.width(),height:this.height()}),!!i.Konva.isBrowser){var W=this.container();if(!W)throw"Stage has no container. A container is required.";W.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),W.appendChild(this.content),this._resizeDOM()}}cache(){return t.Util.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(W){W.batchDraw()}),this}}e.Stage=se,se.prototype.nodeType=u,(0,a._registerNode)(se),n.Factory.addGetterSetter(se,"container")})(YU);var Pm={},rr={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.shapes=void 0;const t=rt,n=Sn,r=nt,i=fn,o=ke,s=rt,a=Vi;var l="hasShadow",u="shadowRGBA",d="patternImage",f="linearGradient",p="radialGradient";let g;function m(){return g||(g=n.Util.createCanvasElement().getContext("2d"),g)}e.shapes={};function v(k){const O=this.attrs.fillRule;O?k.fill(O):k.fill()}function x(k){k.stroke()}function _(k){k.fill()}function b(k){k.stroke()}function y(){this._clearCache(l)}function S(){this._clearCache(u)}function C(){this._clearCache(d)}function T(){this._clearCache(f)}function E(){this._clearCache(p)}class P extends i.Node{constructor(O){super(O);let M;for(;M=n.Util.getRandomColor(),!(M&&!(M in e.shapes)););this.colorKey=M,e.shapes[M]=this}getContext(){return n.Util.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return n.Util.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(l,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(d,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var O=m();const M=O.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(M&&M.setTransform){const G=new n.Transform;G.translate(this.fillPatternX(),this.fillPatternY()),G.rotate(t.Konva.getAngle(this.fillPatternRotation())),G.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),G.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const U=G.getMatrix(),A=typeof DOMMatrix>"u"?{a:U[0],b:U[1],c:U[2],d:U[3],e:U[4],f:U[5]}:new DOMMatrix(U);M.setTransform(A)}return M}}_getLinearGradient(){return this._getCache(f,this.__getLinearGradient)}__getLinearGradient(){var O=this.fillLinearGradientColorStops();if(O){for(var M=m(),G=this.fillLinearGradientStartPoint(),U=this.fillLinearGradientEndPoint(),A=M.createLinearGradient(G.x,G.y,U.x,U.y),N=0;Nthis.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const O=this.hitStrokeWidth();return O==="auto"?this.hasStroke():this.strokeEnabled()&&!!O}intersects(O){var M=this.getStage(),G=M.bufferHitCanvas,U;return G.getContext().clear(),this.drawHit(G,null,!0),U=G.context.getImageData(Math.round(O.x),Math.round(O.y),1,1).data,U[3]>0}destroy(){return i.Node.prototype.destroy.call(this),delete e.shapes[this.colorKey],delete this.colorKey,this}_useBufferCanvas(O){var M;if(!this.getStage()||!((M=this.attrs.perfectDrawEnabled)!==null&&M!==void 0?M:!0))return!1;const U=O||this.hasFill(),A=this.hasStroke(),N=this.getAbsoluteOpacity()!==1;if(U&&A&&N)return!0;const F=this.hasShadow(),B=this.shadowForStrokeEnabled();return!!(U&&A&&F&&B)}setStrokeHitEnabled(O){n.Util.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),O?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var O=this.size();return{x:this._centroid?-O.width/2:0,y:this._centroid?-O.height/2:0,width:O.width,height:O.height}}getClientRect(O={}){const M=O.skipTransform,G=O.relativeTo,U=this.getSelfRect(),N=!O.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,F=U.width+N,B=U.height+N,D=!O.skipShadow&&this.hasShadow(),V=D?this.shadowOffsetX():0,j=D?this.shadowOffsetY():0,q=F+Math.abs(V),Z=B+Math.abs(j),ee=D&&this.shadowBlur()||0,ie=q+ee*2,se=Z+ee*2,le={width:ie,height:se,x:-(N/2+ee)+Math.min(V,0)+U.x,y:-(N/2+ee)+Math.min(j,0)+U.y};return M?le:this._transformedRect(le,G)}drawScene(O,M){var G=this.getLayer(),U=O||G.getCanvas(),A=U.getContext(),N=this._getCanvasCache(),F=this.getSceneFunc(),B=this.hasShadow(),D,V,j,q=U.isCache,Z=M===this;if(!this.isVisible()&&!Z)return this;if(N){A.save();var ee=this.getAbsoluteTransform(M).getMatrix();return A.transform(ee[0],ee[1],ee[2],ee[3],ee[4],ee[5]),this._drawCachedSceneCanvas(A),A.restore(),this}if(!F)return this;if(A.save(),this._useBufferCanvas()&&!q){D=this.getStage(),V=D.bufferCanvas,j=V.getContext(),j.clear(),j.save(),j._applyLineJoin(this);var ie=this.getAbsoluteTransform(M).getMatrix();j.transform(ie[0],ie[1],ie[2],ie[3],ie[4],ie[5]),F.call(this,j,this),j.restore();var se=V.pixelRatio;B&&A._applyShadow(this),A._applyOpacity(this),A._applyGlobalCompositeOperation(this),A.drawImage(V._canvas,0,0,V.width/se,V.height/se)}else{if(A._applyLineJoin(this),!Z){var ie=this.getAbsoluteTransform(M).getMatrix();A.transform(ie[0],ie[1],ie[2],ie[3],ie[4],ie[5]),A._applyOpacity(this),A._applyGlobalCompositeOperation(this)}B&&A._applyShadow(this),F.call(this,A,this)}return A.restore(),this}drawHit(O,M,G=!1){if(!this.shouldDrawHit(M,G))return this;var U=this.getLayer(),A=O||U.hitCanvas,N=A&&A.getContext(),F=this.hitFunc()||this.sceneFunc(),B=this._getCanvasCache(),D=B&&B.hit;if(this.colorKey||n.Util.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),D){N.save();var V=this.getAbsoluteTransform(M).getMatrix();return N.transform(V[0],V[1],V[2],V[3],V[4],V[5]),this._drawCachedHitCanvas(N),N.restore(),this}if(!F)return this;if(N.save(),N._applyLineJoin(this),!(this===M)){var q=this.getAbsoluteTransform(M).getMatrix();N.transform(q[0],q[1],q[2],q[3],q[4],q[5])}return F.call(this,N,this),N.restore(),this}drawHitFromCache(O=0){var M=this._getCanvasCache(),G=this._getCachedSceneCanvas(),U=M.hit,A=U.getContext(),N=U.getWidth(),F=U.getHeight(),B,D,V,j,q,Z;A.clear(),A.drawImage(G._canvas,0,0,N,F);try{for(B=A.getImageData(0,0,N,F),D=B.data,V=D.length,j=n.Util._hexToRgb(this.colorKey),q=0;qO?(D[q]=j.r,D[q+1]=j.g,D[q+2]=j.b,D[q+3]=255):D[q+3]=0;A.putImageData(B,0,0)}catch(ee){n.Util.error("Unable to draw hit graph from cached scene canvas. "+ee.message)}return this}hasPointerCapture(O){return a.hasPointerCapture(O,this)}setPointerCapture(O){a.setPointerCapture(O,this)}releaseCapture(O){a.releaseCapture(O,this)}}e.Shape=P,P.prototype._fillFunc=v,P.prototype._strokeFunc=x,P.prototype._fillFuncHit=_,P.prototype._strokeFuncHit=b,P.prototype._centroid=!1,P.prototype.nodeType="Shape",(0,s._registerNode)(P),P.prototype.eventListeners={},P.prototype.on.call(P.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",y),P.prototype.on.call(P.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",S),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",C),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",T),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",E),r.Factory.addGetterSetter(P,"stroke",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(P,"strokeWidth",2,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillAfterStrokeEnabled",!1),r.Factory.addGetterSetter(P,"hitStrokeWidth","auto",(0,o.getNumberOrAutoValidator)()),r.Factory.addGetterSetter(P,"strokeHitEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"perfectDrawEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"shadowForStrokeEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"lineJoin"),r.Factory.addGetterSetter(P,"lineCap"),r.Factory.addGetterSetter(P,"sceneFunc"),r.Factory.addGetterSetter(P,"hitFunc"),r.Factory.addGetterSetter(P,"dash"),r.Factory.addGetterSetter(P,"dashOffset",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowColor",void 0,(0,o.getStringValidator)()),r.Factory.addGetterSetter(P,"shadowBlur",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowOpacity",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"shadowOffset",["x","y"]),r.Factory.addGetterSetter(P,"shadowOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternImage"),r.Factory.addGetterSetter(P,"fill",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(P,"fillPatternX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillLinearGradientColorStops"),r.Factory.addGetterSetter(P,"strokeLinearGradientColorStops"),r.Factory.addGetterSetter(P,"fillRadialGradientStartRadius",0),r.Factory.addGetterSetter(P,"fillRadialGradientEndRadius",0),r.Factory.addGetterSetter(P,"fillRadialGradientColorStops"),r.Factory.addGetterSetter(P,"fillPatternRepeat","repeat"),r.Factory.addGetterSetter(P,"fillEnabled",!0),r.Factory.addGetterSetter(P,"strokeEnabled",!0),r.Factory.addGetterSetter(P,"shadowEnabled",!0),r.Factory.addGetterSetter(P,"dashEnabled",!0),r.Factory.addGetterSetter(P,"strokeScaleEnabled",!0),r.Factory.addGetterSetter(P,"fillPriority","color"),r.Factory.addComponentsGetterSetter(P,"fillPatternOffset",["x","y"]),r.Factory.addGetterSetter(P,"fillPatternOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"fillPatternScale",["x","y"]),r.Factory.addGetterSetter(P,"fillPatternScaleX",1,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternScaleY",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"fillLinearGradientStartPoint",["x","y"]),r.Factory.addComponentsGetterSetter(P,"strokeLinearGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillLinearGradientStartPointX",0),r.Factory.addGetterSetter(P,"strokeLinearGradientStartPointX",0),r.Factory.addGetterSetter(P,"fillLinearGradientStartPointY",0),r.Factory.addGetterSetter(P,"strokeLinearGradientStartPointY",0),r.Factory.addComponentsGetterSetter(P,"fillLinearGradientEndPoint",["x","y"]),r.Factory.addComponentsGetterSetter(P,"strokeLinearGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillLinearGradientEndPointX",0),r.Factory.addGetterSetter(P,"strokeLinearGradientEndPointX",0),r.Factory.addGetterSetter(P,"fillLinearGradientEndPointY",0),r.Factory.addGetterSetter(P,"strokeLinearGradientEndPointY",0),r.Factory.addComponentsGetterSetter(P,"fillRadialGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillRadialGradientStartPointX",0),r.Factory.addGetterSetter(P,"fillRadialGradientStartPointY",0),r.Factory.addComponentsGetterSetter(P,"fillRadialGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillRadialGradientEndPointX",0),r.Factory.addGetterSetter(P,"fillRadialGradientEndPointY",0),r.Factory.addGetterSetter(P,"fillPatternRotation",0),r.Factory.addGetterSetter(P,"fillRule",void 0,(0,o.getStringValidator)()),r.Factory.backCompat(P,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"})})(rr);Object.defineProperty(Pm,"__esModule",{value:!0});Pm.Layer=void 0;const ia=Sn,Dx=vc,hd=fn,_E=nt,XO=Qo,YSe=ke,QSe=rr,ZSe=rt;var JSe="#",e2e="beforeDraw",t2e="draw",JU=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],n2e=JU.length;class Vf extends Dx.Container{constructor(t){super(t),this.canvas=new XO.SceneCanvas,this.hitCanvas=new XO.HitCanvas({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(t){return this.getContext().clear(t),this.getHitCanvas().getContext().clear(t),this}setZIndex(t){super.setZIndex(t);var n=this.getStage();return n&&n.content&&(n.content.removeChild(this.getNativeCanvasElement()),t{this.draw(),this._waitingForDraw=!1})),this}getIntersection(t){if(!this.isListening()||!this.isVisible())return null;for(var n=1,r=!1;;){for(let i=0;i0)return{antialiased:!0};return{}}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas();return this._fire(e2e,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),Dx.Container.prototype.drawScene.call(this,i,n),this._fire(t2e,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),Dx.Container.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){ia.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return ia.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!(!this.parent||!this.parent.content)){var t=this.parent,n=!!this.hitCanvas._canvas.parentNode;n?t.content.removeChild(this.hitCanvas._canvas):t.content.appendChild(this.hitCanvas._canvas)}}destroy(){return ia.Util.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}Pm.Layer=Vf;Vf.prototype.nodeType="Layer";(0,ZSe._registerNode)(Vf);_E.Factory.addGetterSetter(Vf,"imageSmoothingEnabled",!0);_E.Factory.addGetterSetter(Vf,"clearBeforeDraw",!0);_E.Factory.addGetterSetter(Vf,"hitGraphEnabled",!0,(0,YSe.getBooleanValidator)());var lS={};Object.defineProperty(lS,"__esModule",{value:!0});lS.FastLayer=void 0;const r2e=Sn,i2e=Pm,o2e=rt;class bE extends i2e.Layer{constructor(t){super(t),this.listening(!1),r2e.Util.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}lS.FastLayer=bE;bE.prototype.nodeType="FastLayer";(0,o2e._registerNode)(bE);var jf={};Object.defineProperty(jf,"__esModule",{value:!0});jf.Group=void 0;const s2e=Sn,a2e=vc,l2e=rt;class SE extends a2e.Container{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&s2e.Util.throw("You may only add groups and shapes to groups.")}}jf.Group=SE;SE.prototype.nodeType="Group";(0,l2e._registerNode)(SE);var Gf={};Object.defineProperty(Gf,"__esModule",{value:!0});Gf.Animation=void 0;const $x=rt,YO=Sn;var Fx=function(){return $x.glob.performance&&$x.glob.performance.now?function(){return $x.glob.performance.now()}:function(){return new Date().getTime()}}();class ws{constructor(t,n){this.id=ws.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:Fx(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){var n=[];return t?t.length>0?n=t:n=[t]:n=[],this.layers=n,this}getLayers(){return this.layers}addLayer(t){var n=this.layers,r=n.length,i;for(i=0;ithis.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():m<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=m,this.update())}getTime(){return this._time}setPosition(m){this.prevPos=this._pos,this.propFunc(m),this._pos=m}getPosition(m){return m===void 0&&(m=this._time),this.func(m,this.begin,this._change,this.duration)}play(){this.state=a,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=l,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(m){this.pause(),this._time=m,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){var m=this.getTimer()-this._startTime;this.state===a?this.setTime(m):this.state===l&&this.setTime(this.duration-m)}pause(){this.state=s,this.fire("onPause")}getTimer(){return new Date().getTime()}}class p{constructor(m){var v=this,x=m.node,_=x._id,b,y=m.easing||e.Easings.Linear,S=!!m.yoyo,C;typeof m.duration>"u"?b=.3:m.duration===0?b=.001:b=m.duration,this.node=x,this._id=u++;var T=x.getLayer()||(x instanceof i.Konva.Stage?x.getLayers():null);T||t.Util.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new n.Animation(function(){v.tween.onEnterFrame()},T),this.tween=new f(C,function(E){v._tweenFunc(E)},y,0,1,b*1e3,S),this._addListeners(),p.attrs[_]||(p.attrs[_]={}),p.attrs[_][this._id]||(p.attrs[_][this._id]={}),p.tweens[_]||(p.tweens[_]={});for(C in m)o[C]===void 0&&this._addAttr(C,m[C]);this.reset(),this.onFinish=m.onFinish,this.onReset=m.onReset,this.onUpdate=m.onUpdate}_addAttr(m,v){var x=this.node,_=x._id,b,y,S,C,T,E,P,k;if(S=p.tweens[_][m],S&&delete p.attrs[_][S][m],b=x.getAttr(m),t.Util._isArray(v))if(y=[],T=Math.max(v.length,b.length),m==="points"&&v.length!==b.length&&(v.length>b.length?(P=b,b=t.Util._prepareArrayForTween(b,v,x.closed())):(E=v,v=t.Util._prepareArrayForTween(v,b,x.closed()))),m.indexOf("fill")===0)for(C=0;C{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var m=this.node,v=p.attrs[m._id][this._id];v.points&&v.points.trueEnd&&m.setAttr("points",v.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var m=this.node,v=p.attrs[m._id][this._id];v.points&&v.points.trueStart&&m.points(v.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(m){return this.tween.seek(m*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var m=this.node._id,v=this._id,x=p.tweens[m],_;this.pause();for(_ in x)delete p.tweens[m][_];delete p.attrs[m][v]}}e.Tween=p,p.attrs={},p.tweens={},r.Node.prototype.to=function(g){var m=g.onFinish;g.node=this,g.onFinish=function(){this.destroy(),m&&m()};var v=new p(g);v.play()},e.Easings={BackEaseIn(g,m,v,x){var _=1.70158;return v*(g/=x)*g*((_+1)*g-_)+m},BackEaseOut(g,m,v,x){var _=1.70158;return v*((g=g/x-1)*g*((_+1)*g+_)+1)+m},BackEaseInOut(g,m,v,x){var _=1.70158;return(g/=x/2)<1?v/2*(g*g*(((_*=1.525)+1)*g-_))+m:v/2*((g-=2)*g*(((_*=1.525)+1)*g+_)+2)+m},ElasticEaseIn(g,m,v,x,_,b){var y=0;return g===0?m:(g/=x)===1?m+v:(b||(b=x*.3),!_||_0?t:n),d=s*n,f=a*(a>0?t:n),p=l*(l>0?n:t);return{x:u,y:r?-1*p:f,width:d-u,height:p-f}}}uS.Arc=Ua;Ua.prototype._centroid=!0;Ua.prototype.className="Arc";Ua.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,c2e._registerNode)(Ua);cS.Factory.addGetterSetter(Ua,"innerRadius",0,(0,dS.getNumberValidator)());cS.Factory.addGetterSetter(Ua,"outerRadius",0,(0,dS.getNumberValidator)());cS.Factory.addGetterSetter(Ua,"angle",0,(0,dS.getNumberValidator)());cS.Factory.addGetterSetter(Ua,"clockwise",!1,(0,dS.getBooleanValidator)());var fS={},Rm={};Object.defineProperty(Rm,"__esModule",{value:!0});Rm.Line=void 0;const hS=nt,d2e=rr,tz=ke,f2e=rt;function s5(e,t,n,r,i,o,s){var a=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),l=Math.sqrt(Math.pow(i-n,2)+Math.pow(o-r,2)),u=s*a/(a+l),d=s*l/(a+l),f=n-u*(i-e),p=r-u*(o-t),g=n+d*(i-e),m=r+d*(o-t);return[f,p,g,m]}function ZO(e,t){var n=e.length,r=[],i,o;for(i=2;i4){for(a=this.getTensionPoints(),l=a.length,u=o?0:4,o||t.quadraticCurveTo(a[0],a[1],a[2],a[3]);u{let u,d,f;u=l/2,d=0;for(let g=0;g<20;g++)f=u*e.tValues[20][g]+u,d+=e.cValues[20][g]*r(s,a,f);return u*d};e.getCubicArcLength=t;const n=(s,a,l)=>{l===void 0&&(l=1);const u=s[0]-2*s[1]+s[2],d=a[0]-2*a[1]+a[2],f=2*s[1]-2*s[0],p=2*a[1]-2*a[0],g=4*(u*u+d*d),m=4*(u*f+d*p),v=f*f+p*p;if(g===0)return l*Math.sqrt(Math.pow(s[2]-s[0],2)+Math.pow(a[2]-a[0],2));const x=m/(2*g),_=v/g,b=l+x,y=_-x*x,S=b*b+y>0?Math.sqrt(b*b+y):0,C=x*x+y>0?Math.sqrt(x*x+y):0,T=x+Math.sqrt(x*x+y)!==0?y*Math.log(Math.abs((b+S)/(x+C))):0;return Math.sqrt(g)/2*(b*S-x*C+T)};e.getQuadraticArcLength=n;function r(s,a,l){const u=i(1,l,s),d=i(1,l,a),f=u*u+d*d;return Math.sqrt(f)}const i=(s,a,l)=>{const u=l.length-1;let d,f;if(u===0)return 0;if(s===0){f=0;for(let p=0;p<=u;p++)f+=e.binomialCoefficients[u][p]*Math.pow(1-a,u-p)*Math.pow(a,p)*l[p];return f}else{d=new Array(u);for(let p=0;p{let u=1,d=s/a,f=(s-l(d))/a,p=0;for(;u>.001;){const g=l(d+f),m=Math.abs(s-g)/a;if(m500)break}return d};e.t2length=o})(nz);Object.defineProperty(Hf,"__esModule",{value:!0});Hf.Path=void 0;const h2e=nt,p2e=rr,g2e=rt,pd=nz;class Zn extends p2e.Shape{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=Zn.parsePathData(this.data()),this.pathLength=Zn.getPathLength(this.dataArray)}_sceneFunc(t){var n=this.dataArray;t.beginPath();for(var r=!1,i=0;id?u:d,x=u>d?1:u/d,_=u>d?d/u:1;t.translate(a,l),t.rotate(g),t.scale(x,_),t.arc(0,0,v,f,f+p,1-m),t.scale(1/x,1/_),t.rotate(-g),t.translate(-a,-l);break;case"z":r=!0,t.closePath();break}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){var t=[];this.dataArray.forEach(function(u){if(u.command==="A"){var d=u.points[4],f=u.points[5],p=u.points[4]+f,g=Math.PI/180;if(Math.abs(d-p)p;m-=g){const v=Zn.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],m,0);t.push(v.x,v.y)}else for(let m=d+g;mn[i].pathLength;)t-=n[i].pathLength,++i;if(i===o)return r=n[i-1].points.slice(-2),{x:r[0],y:r[1]};if(t<.01)return r=n[i].points.slice(0,2),{x:r[0],y:r[1]};var s=n[i],a=s.points;switch(s.command){case"L":return Zn.getPointOnLine(t,s.start.x,s.start.y,a[0],a[1]);case"C":return Zn.getPointOnCubicBezier((0,pd.t2length)(t,Zn.getPathLength(n),v=>(0,pd.getCubicArcLength)([s.start.x,a[0],a[2],a[4]],[s.start.y,a[1],a[3],a[5]],v)),s.start.x,s.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return Zn.getPointOnQuadraticBezier((0,pd.t2length)(t,Zn.getPathLength(n),v=>(0,pd.getQuadraticArcLength)([s.start.x,a[0],a[2]],[s.start.y,a[1],a[3]],v)),s.start.x,s.start.y,a[0],a[1],a[2],a[3]);case"A":var l=a[0],u=a[1],d=a[2],f=a[3],p=a[4],g=a[5],m=a[6];return p+=g*t/s.pathLength,Zn.getPointOnEllipticalArc(l,u,d,f,p,m)}return null}static getPointOnLine(t,n,r,i,o,s,a){s===void 0&&(s=n),a===void 0&&(a=r);var l=(o-r)/(i-n+1e-8),u=Math.sqrt(t*t/(1+l*l));i0&&!isNaN(m[0]);){var b=null,y=[],S=l,C=u,T,E,P,k,O,M,G,U,A,N;switch(g){case"l":l+=m.shift(),u+=m.shift(),b="L",y.push(l,u);break;case"L":l=m.shift(),u=m.shift(),y.push(l,u);break;case"m":var F=m.shift(),B=m.shift();if(l+=F,u+=B,b="M",s.length>2&&s[s.length-1].command==="z"){for(var D=s.length-2;D>=0;D--)if(s[D].command==="M"){l=s[D].points[0]+F,u=s[D].points[1]+B;break}}y.push(l,u),g="l";break;case"M":l=m.shift(),u=m.shift(),b="M",y.push(l,u),g="L";break;case"h":l+=m.shift(),b="L",y.push(l,u);break;case"H":l=m.shift(),b="L",y.push(l,u);break;case"v":u+=m.shift(),b="L",y.push(l,u);break;case"V":u=m.shift(),b="L",y.push(l,u);break;case"C":y.push(m.shift(),m.shift(),m.shift(),m.shift()),l=m.shift(),u=m.shift(),y.push(l,u);break;case"c":y.push(l+m.shift(),u+m.shift(),l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="C",y.push(l,u);break;case"S":E=l,P=u,T=s[s.length-1],T.command==="C"&&(E=l+(l-T.points[2]),P=u+(u-T.points[3])),y.push(E,P,m.shift(),m.shift()),l=m.shift(),u=m.shift(),b="C",y.push(l,u);break;case"s":E=l,P=u,T=s[s.length-1],T.command==="C"&&(E=l+(l-T.points[2]),P=u+(u-T.points[3])),y.push(E,P,l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="C",y.push(l,u);break;case"Q":y.push(m.shift(),m.shift()),l=m.shift(),u=m.shift(),y.push(l,u);break;case"q":y.push(l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="Q",y.push(l,u);break;case"T":E=l,P=u,T=s[s.length-1],T.command==="Q"&&(E=l+(l-T.points[0]),P=u+(u-T.points[1])),l=m.shift(),u=m.shift(),b="Q",y.push(E,P,l,u);break;case"t":E=l,P=u,T=s[s.length-1],T.command==="Q"&&(E=l+(l-T.points[0]),P=u+(u-T.points[1])),l+=m.shift(),u+=m.shift(),b="Q",y.push(E,P,l,u);break;case"A":k=m.shift(),O=m.shift(),M=m.shift(),G=m.shift(),U=m.shift(),A=l,N=u,l=m.shift(),u=m.shift(),b="A",y=this.convertEndpointToCenterParameterization(A,N,l,u,G,U,k,O,M);break;case"a":k=m.shift(),O=m.shift(),M=m.shift(),G=m.shift(),U=m.shift(),A=l,N=u,l+=m.shift(),u+=m.shift(),b="A",y=this.convertEndpointToCenterParameterization(A,N,l,u,G,U,k,O,M);break}s.push({command:b||g,points:y,start:{x:S,y:C},pathLength:this.calcLength(S,C,b||g,y)})}(g==="z"||g==="Z")&&s.push({command:"z",points:[],start:void 0,pathLength:0})}return s}static calcLength(t,n,r,i){var o,s,a,l,u=Zn;switch(r){case"L":return u.getLineLength(t,n,i[0],i[1]);case"C":return(0,pd.getCubicArcLength)([t,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return(0,pd.getQuadraticArcLength)([t,i[0],i[2]],[n,i[1],i[3]],1);case"A":o=0;var d=i[4],f=i[5],p=i[4]+f,g=Math.PI/180;if(Math.abs(d-p)p;l-=g)a=u.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=u.getLineLength(s.x,s.y,a.x,a.y),s=a;else for(l=d+g;l1&&(a*=Math.sqrt(g),l*=Math.sqrt(g));var m=Math.sqrt((a*a*(l*l)-a*a*(p*p)-l*l*(f*f))/(a*a*(p*p)+l*l*(f*f)));o===s&&(m*=-1),isNaN(m)&&(m=0);var v=m*a*p/l,x=m*-l*f/a,_=(t+r)/2+Math.cos(d)*v-Math.sin(d)*x,b=(n+i)/2+Math.sin(d)*v+Math.cos(d)*x,y=function(O){return Math.sqrt(O[0]*O[0]+O[1]*O[1])},S=function(O,M){return(O[0]*M[0]+O[1]*M[1])/(y(O)*y(M))},C=function(O,M){return(O[0]*M[1]=1&&(k=0),s===0&&k>0&&(k=k-2*Math.PI),s===1&&k<0&&(k=k+2*Math.PI),[_,b,a,l,T,k,d,s]}}Hf.Path=Zn;Zn.prototype.className="Path";Zn.prototype._attrsAffectingSize=["data"];(0,g2e._registerNode)(Zn);h2e.Factory.addGetterSetter(Zn,"data");Object.defineProperty(fS,"__esModule",{value:!0});fS.Arrow=void 0;const pS=nt,m2e=Rm,rz=ke,y2e=rt,JO=Hf;class bc extends m2e.Line{_sceneFunc(t){super._sceneFunc(t);var n=Math.PI*2,r=this.points(),i=r,o=this.tension()!==0&&r.length>4;o&&(i=this.getTensionPoints());var s=this.pointerLength(),a=r.length,l,u;if(o){const p=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],r[a-2],r[a-1]],g=JO.Path.calcLength(i[i.length-4],i[i.length-3],"C",p),m=JO.Path.getPointOnQuadraticBezier(Math.min(1,1-s/g),p[0],p[1],p[2],p[3],p[4],p[5]);l=r[a-2]-m.x,u=r[a-1]-m.y}else l=r[a-2]-r[a-4],u=r[a-1]-r[a-3];var d=(Math.atan2(u,l)+n)%n,f=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[a-2],r[a-1]),t.rotate(d),t.moveTo(0,0),t.lineTo(-s,f/2),t.lineTo(-s,-f/2),t.closePath(),t.restore(),this.__fillStroke(t)),this.pointerAtBeginning()&&(t.save(),t.beginPath(),t.translate(r[0],r[1]),o?(l=(i[0]+i[2])/2-r[0],u=(i[1]+i[3])/2-r[1]):(l=r[2]-r[0],u=r[3]-r[1]),t.rotate((Math.atan2(-u,-l)+n)%n),t.moveTo(0,0),t.lineTo(-s,f/2),t.lineTo(-s,-f/2),t.closePath(),t.restore(),this.__fillStroke(t))}__fillStroke(t){var n=this.dashEnabled();n&&(this.attrs.dashEnabled=!1,t.setLineDash([])),t.fillStrokeShape(this),n&&(this.attrs.dashEnabled=!0)}getSelfRect(){const t=super.getSelfRect(),n=this.pointerWidth()/2;return{x:t.x-n,y:t.y-n,width:t.width+n*2,height:t.height+n*2}}}fS.Arrow=bc;bc.prototype.className="Arrow";(0,y2e._registerNode)(bc);pS.Factory.addGetterSetter(bc,"pointerLength",10,(0,rz.getNumberValidator)());pS.Factory.addGetterSetter(bc,"pointerWidth",10,(0,rz.getNumberValidator)());pS.Factory.addGetterSetter(bc,"pointerAtBeginning",!1);pS.Factory.addGetterSetter(bc,"pointerAtEnding",!0);var gS={};Object.defineProperty(gS,"__esModule",{value:!0});gS.Circle=void 0;const v2e=nt,_2e=rr,b2e=ke,S2e=rt;let Wf=class extends _2e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius()!==t/2&&this.radius(t/2)}setHeight(t){this.radius()!==t/2&&this.radius(t/2)}};gS.Circle=Wf;Wf.prototype._centroid=!0;Wf.prototype.className="Circle";Wf.prototype._attrsAffectingSize=["radius"];(0,S2e._registerNode)(Wf);v2e.Factory.addGetterSetter(Wf,"radius",0,(0,b2e.getNumberValidator)());var mS={};Object.defineProperty(mS,"__esModule",{value:!0});mS.Ellipse=void 0;const wE=nt,w2e=rr,iz=ke,x2e=rt;class ou extends w2e.Shape{_sceneFunc(t){var n=this.radiusX(),r=this.radiusY();t.beginPath(),t.save(),n!==r&&t.scale(1,r/n),t.arc(0,0,n,0,Math.PI*2,!1),t.restore(),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(t){this.radiusX(t/2)}setHeight(t){this.radiusY(t/2)}}mS.Ellipse=ou;ou.prototype.className="Ellipse";ou.prototype._centroid=!0;ou.prototype._attrsAffectingSize=["radiusX","radiusY"];(0,x2e._registerNode)(ou);wE.Factory.addComponentsGetterSetter(ou,"radius",["x","y"]);wE.Factory.addGetterSetter(ou,"radiusX",0,(0,iz.getNumberValidator)());wE.Factory.addGetterSetter(ou,"radiusY",0,(0,iz.getNumberValidator)());var yS={};Object.defineProperty(yS,"__esModule",{value:!0});yS.Image=void 0;const Bx=Sn,Sc=nt,C2e=rr,T2e=rt,Om=ke;let Us=class oz extends C2e.Shape{constructor(t){super(t),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){return super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),i=this.cornerRadius(),o=this.attrs.image;let s;if(o){const a=this.attrs.cropWidth,l=this.attrs.cropHeight;a&&l?s=[o,this.cropX(),this.cropY(),a,l,0,0,n,r]:s=[o,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?Bx.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),o&&(i&&t.clip(),t.drawImage.apply(t,s))}_hitFunc(t){var n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?Bx.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n;return(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width}getHeight(){var t,n;return(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height}static fromURL(t,n,r=null){var i=Bx.Util.createImageElement();i.onload=function(){var o=new oz({image:i});n(o)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};yS.Image=Us;Us.prototype.className="Image";(0,T2e._registerNode)(Us);Sc.Factory.addGetterSetter(Us,"cornerRadius",0,(0,Om.getNumberOrArrayOfNumbersValidator)(4));Sc.Factory.addGetterSetter(Us,"image");Sc.Factory.addComponentsGetterSetter(Us,"crop",["x","y","width","height"]);Sc.Factory.addGetterSetter(Us,"cropX",0,(0,Om.getNumberValidator)());Sc.Factory.addGetterSetter(Us,"cropY",0,(0,Om.getNumberValidator)());Sc.Factory.addGetterSetter(Us,"cropWidth",0,(0,Om.getNumberValidator)());Sc.Factory.addGetterSetter(Us,"cropHeight",0,(0,Om.getNumberValidator)());var Rf={};Object.defineProperty(Rf,"__esModule",{value:!0});Rf.Tag=Rf.Label=void 0;const vS=nt,E2e=rr,A2e=jf,xE=ke,sz=rt;var az=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],P2e="Change.konva",R2e="none",a5="up",l5="right",u5="down",c5="left",O2e=az.length;class CE extends A2e.Group{constructor(t){super(t),this.on("add.konva",function(n){this._addListeners(n.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(t){var n=this,r,i=function(){n._sync()};for(r=0;r{n=Math.min(n,s.x),r=Math.max(r,s.x),i=Math.min(i,s.y),o=Math.max(o,s.y)}),{x:n,y:i,width:r-n,height:o-i}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}bS.RegularPolygon=xc;xc.prototype.className="RegularPolygon";xc.prototype._centroid=!0;xc.prototype._attrsAffectingSize=["radius"];(0,$2e._registerNode)(xc);lz.Factory.addGetterSetter(xc,"radius",0,(0,uz.getNumberValidator)());lz.Factory.addGetterSetter(xc,"sides",0,(0,uz.getNumberValidator)());var SS={};Object.defineProperty(SS,"__esModule",{value:!0});SS.Ring=void 0;const cz=nt,F2e=rr,dz=ke,B2e=rt;var ek=Math.PI*2;class Cc extends F2e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,ek,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),ek,0,!0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(t){this.outerRadius(t/2)}setHeight(t){this.outerRadius(t/2)}}SS.Ring=Cc;Cc.prototype.className="Ring";Cc.prototype._centroid=!0;Cc.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,B2e._registerNode)(Cc);cz.Factory.addGetterSetter(Cc,"innerRadius",0,(0,dz.getNumberValidator)());cz.Factory.addGetterSetter(Cc,"outerRadius",0,(0,dz.getNumberValidator)());var wS={};Object.defineProperty(wS,"__esModule",{value:!0});wS.Sprite=void 0;const Tc=nt,U2e=rr,z2e=Gf,fz=ke,V2e=rt;class zs extends U2e.Shape{constructor(t){super(t),this._updated=!0,this.anim=new z2e.Animation(()=>{var n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+0],l=o[i+1],u=o[i+2],d=o[i+3],f=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,u,d),t.closePath(),t.fillStrokeShape(this)),f)if(s){var p=s[n],g=r*2;t.drawImage(f,a,l,u,d,p[g+0],p[g+1],u,d)}else t.drawImage(f,a,l,u,d,0,0,u,d)}_hitFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+2],l=o[i+3];if(t.beginPath(),s){var u=s[n],d=r*2;t.rect(u[d+0],u[d+1],a,l)}else t.rect(0,0,a,l);t.closePath(),t.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){var t=this;this.interval=setInterval(function(){t._updateIndex()},1e3/this.frameRate())}start(){if(!this.isRunning()){var t=this.getLayer();this.anim.setLayers(t),this._setInterval(),this.anim.start()}}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){var t=this.frameIndex(),n=this.animation(),r=this.animations(),i=r[n],o=i.length/4;t{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t=`"${t}"`),t}).join(", ")}var $0;function zx(){return $0||($0=d5.Util.createCanvasElement().getContext(X2e),$0)}function swe(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function awe(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function lwe(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class Dn extends H2e.Shape{constructor(t){super(lwe(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n1&&(_+=s)}}}_hitFunc(t){var n=this.getWidth(),r=this.getHeight();t.beginPath(),t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}setText(t){var n=d5.Util._isString(t)?t:t==null?"":t+"";return this._setAttr(Y2e,n),this}getWidth(){var t=this.attrs.width===gd||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===gd||this.attrs.height===void 0;return t?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return d5.Util.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(t){var n=zx(),r=this.fontSize(),i;return n.save(),n.font=this._getContextFont(),i=n.measureText(t),n.restore(),{width:i.width,height:r}}_getContextFont(){return this.fontStyle()+D0+this.fontVariant()+D0+(this.fontSize()+ewe)+owe(this.fontFamily())}_addTextLine(t){this.align()===Zh&&(t=t.trim());var r=this._getTextWidth(t);return this.textArr.push({text:t,width:r,lastInParagraph:!1})}_getTextWidth(t){var n=this.letterSpacing(),r=t.length;return zx().measureText(t).width+(r?n*(r-1):0)}_setTextData(){var t=this.text().split(` -`),n=+this.fontSize(),r=0,i=this.lineHeight()*n,o=this.attrs.width,s=this.attrs.height,a=o!==gd&&o!==void 0,l=s!==gd&&s!==void 0,u=this.padding(),d=o-u*2,f=s-u*2,p=0,g=this.wrap(),m=g!==rk,v=g!==rwe&&m,x=this.ellipsis();this.textArr=[],zx().font=this._getContextFont();for(var _=x?this._getTextWidth(Ux):0,b=0,y=t.length;bd)for(;S.length>0;){for(var T=0,E=S.length,P="",k=0;T>>1,M=S.slice(0,O+1),G=this._getTextWidth(M)+_;G<=d?(T=O+1,P=M,k=G):E=O}if(P){if(v){var U,A=S[P.length],N=A===D0||A===tk;N&&k<=d?U=P.length:U=Math.max(P.lastIndexOf(D0),P.lastIndexOf(tk))+1,U>0&&(T=U,P=P.slice(0,T),k=this._getTextWidth(P))}P=P.trimRight(),this._addTextLine(P),r=Math.max(r,k),p+=i;var F=this._shouldHandleEllipsis(p);if(F){this._tryToAddEllipsisToLastLine();break}if(S=S.slice(T),S=S.trimLeft(),S.length>0&&(C=this._getTextWidth(S),C<=d)){this._addTextLine(S),p+=i,r=Math.max(r,C);break}}else break}else this._addTextLine(S),p+=i,r=Math.max(r,C),this._shouldHandleEllipsis(p)&&bf)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,i=this.attrs.height,o=i!==gd&&i!==void 0,s=this.padding(),a=i-s*2,l=this.wrap(),u=l!==rk;return!u||o&&t+r>a}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==gd&&t!==void 0,r=this.padding(),i=t-r*2,o=this.ellipsis(),s=this.textArr[this.textArr.length-1];if(!(!s||!o)){if(n){var a=this._getTextWidth(s.text+Ux)n?null:Jh.Path.getPointAtLengthOfDataArray(t,this.dataArray)}_readDataAttribute(){this.dataArray=Jh.Path.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(t){t.setAttr("font",this._getContextFont()),t.setAttr("textBaseline",this.textBaseline()),t.setAttr("textAlign","left"),t.save();var n=this.textDecoration(),r=this.fill(),i=this.fontSize(),o=this.glyphInfo;n==="underline"&&t.beginPath();for(var s=0;s=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var i=0;ie+`.${Sz}`).join(" "),sk="nodesRect",mwe=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],ywe={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const vwe="ontouchstart"in $o.Konva._global;function _we(e,t){if(e==="rotater")return"crosshair";t+=zt.Util.degToRad(ywe[e]||0);var n=(zt.Util.radToDeg(t)%360+360)%360;return zt.Util._inRange(n,315+22.5,360)||zt.Util._inRange(n,0,22.5)?"ns-resize":zt.Util._inRange(n,45-22.5,45+22.5)?"nesw-resize":zt.Util._inRange(n,90-22.5,90+22.5)?"ew-resize":zt.Util._inRange(n,135-22.5,135+22.5)?"nwse-resize":zt.Util._inRange(n,180-22.5,180+22.5)?"ns-resize":zt.Util._inRange(n,225-22.5,225+22.5)?"nesw-resize":zt.Util._inRange(n,270-22.5,270+22.5)?"ew-resize":zt.Util._inRange(n,315-22.5,315+22.5)?"nwse-resize":(zt.Util.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var e_=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],ak=1e8;function bwe(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function wz(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),i=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return Object.assign(Object.assign({},e),{rotation:e.rotation+t,x:r,y:i})}function Swe(e,t){const n=bwe(e);return wz(e,t,n)}function wwe(e,t,n){let r=t;for(let i=0;ii.isAncestorOf(this)?(zt.Util.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1):!0);this._nodes=t=n,t.length===1&&this.useSingleNodeRotation()?this.rotation(t[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(i=>{const o=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},s=i._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");i.on(s,o),i.on(mwe.map(a=>a+`.${this._getEventNamespace()}`).join(" "),o),i.on(`absoluteTransformChange.${this._getEventNamespace()}`,o),this._proxyDrag(i)}),this._resetTransformCache();var r=!!this.findOne(".top-left");return r&&this.update(),this}_proxyDrag(t){let n;t.on(`dragstart.${this._getEventNamespace()}`,r=>{n=t.getAbsolutePosition(),!this.isDragging()&&t!==this.findOne(".back")&&this.startDrag(r,!1)}),t.on(`dragmove.${this._getEventNamespace()}`,r=>{if(!n)return;const i=t.getAbsolutePosition(),o=i.x-n.x,s=i.y-n.y;this.nodes().forEach(a=>{if(a===t||a.isDragging())return;const l=a.getAbsolutePosition();a.setAbsolutePosition({x:l.x+o,y:l.y+s}),a.startDrag(r)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(t=>{t.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(sk),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(sk,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var i=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),o=t.getAbsoluteScale(r),s=t.getAbsolutePosition(r),a=i.x*o.x-t.offsetX()*o.x,l=i.y*o.y-t.offsetY()*o.y;const u=($o.Konva.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),d={x:s.x+a*Math.cos(u)+l*Math.sin(-u),y:s.y+l*Math.cos(u)+a*Math.sin(u),width:i.width*o.x,height:i.height*o.y,rotation:u};return wz(d,-$o.Konva.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-ak,y:-ak,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const d=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var f=[{x:d.x,y:d.y},{x:d.x+d.width,y:d.y},{x:d.x+d.width,y:d.y+d.height},{x:d.x,y:d.y+d.height}],p=u.getAbsoluteTransform();f.forEach(function(g){var m=p.point(g);n.push(m)})});const r=new zt.Transform;r.rotate(-$o.Konva.getAngle(this.rotation()));var i,o,s,a;n.forEach(function(u){var d=r.point(u);i===void 0&&(i=s=d.x,o=a=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),s=Math.max(s,d.x),a=Math.max(a,d.y)}),r.invert();const l=r.point({x:i,y:o});return{x:l.x,y:l.y,width:s-i,height:a-o,rotation:$o.Konva.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),e_.forEach((function(t){this._createAnchor(t)}).bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new hwe.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:vwe?10:"auto"}),r=this;n.on("mousedown touchstart",function(i){r._handleMouseDown(i)}),n.on("dragstart",i=>{n.stopDrag(),i.cancelBubble=!0}),n.on("dragend",i=>{i.cancelBubble=!0}),n.on("mouseenter",()=>{var i=$o.Konva.getAngle(this.rotation()),o=_we(t,i);n.getStage().content&&(n.getStage().content.style.cursor=o),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){var t=new fwe.Shape({name:"back",width:0,height:0,draggable:!0,sceneFunc(n){var r=this.getParent(),i=r.padding();n.beginPath(),n.rect(-i,-i,this.width()+i*2,this.height()+i*2),n.moveTo(this.width()/2,-i),r.rotateEnabled()&&n.lineTo(this.width()/2,-r.rotateAnchorOffset()*zt.Util._sign(this.height())-i),n.fillStrokeShape(this)},hitFunc:(n,r)=>{if(this.shouldOverdrawWholeArea()){var i=this.padding();n.beginPath(),n.rect(-i,-i,r.width()+i*2,r.height()+i*2),n.fillStrokeShape(r)}}});this.add(t),this._proxyDrag(t),t.on("dragstart",n=>{n.cancelBubble=!0}),t.on("dragmove",n=>{n.cancelBubble=!0}),t.on("dragend",n=>{n.cancelBubble=!0}),this.on("dragmove",n=>{this.update()})}_handleMouseDown(t){this._movingAnchorName=t.target.name().split(" ")[0];var n=this._getNodeRect(),r=n.width,i=n.height,o=Math.sqrt(Math.pow(r,2)+Math.pow(i,2));this.sin=Math.abs(i/o),this.cos=Math.abs(r/o),typeof window<"u"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;var s=t.target.getAbsolutePosition(),a=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:a.x-s.x,y:a.y-s.y},this._fire("transformstart",{evt:t.evt,target:this.getNode()}),this._nodes.forEach(l=>{l._fire("transformstart",{evt:t.evt,target:l})})}_handleMouseMove(t){var n,r,i,o=this.findOne("."+this._movingAnchorName),s=o.getStage();s.setPointersPositions(t);const a=s.getPointerPosition();let l={x:a.x-this._anchorDragOffset.x,y:a.y-this._anchorDragOffset.y};const u=o.getAbsolutePosition();this.anchorDragBoundFunc()&&(l=this.anchorDragBoundFunc()(u,l,t)),o.setAbsolutePosition(l);const d=o.getAbsolutePosition();if(!(u.x===d.x&&u.y===d.y)){if(this._movingAnchorName==="rotater"){var f=this._getNodeRect();n=o.x()-f.width/2,r=-o.y()+f.height/2;let U=Math.atan2(-r,n)+Math.PI/2;f.height<0&&(U-=Math.PI);var p=$o.Konva.getAngle(this.rotation());const A=p+U,N=$o.Konva.getAngle(this.rotationSnapTolerance()),B=wwe(this.rotationSnaps(),A,N)-f.rotation,D=Swe(f,B);this._fitNodesInto(D,t);return}var g=this.shiftBehavior(),m;g==="inverted"?m=this.keepRatio()&&!t.shiftKey:g==="none"?m=this.keepRatio():m=this.keepRatio()||t.shiftKey;var y=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(m){var v=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};i=Math.sqrt(Math.pow(v.x-o.x(),2)+Math.pow(v.y-o.y(),2));var x=this.findOne(".top-left").x()>v.x?-1:1,_=this.findOne(".top-left").y()>v.y?-1:1;n=i*this.cos*x,r=i*this.sin*_,this.findOne(".top-left").x(v.x-n),this.findOne(".top-left").y(v.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(o.y());else if(this._movingAnchorName==="top-right"){if(m){var v=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};i=Math.sqrt(Math.pow(o.x()-v.x,2)+Math.pow(v.y-o.y(),2));var x=this.findOne(".top-right").x()v.y?-1:1;n=i*this.cos*x,r=i*this.sin*_,this.findOne(".top-right").x(v.x+n),this.findOne(".top-right").y(v.y-r)}var b=o.position();this.findOne(".top-left").y(b.y),this.findOne(".bottom-right").x(b.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(o.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(o.x());else if(this._movingAnchorName==="bottom-left"){if(m){var v=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};i=Math.sqrt(Math.pow(v.x-o.x(),2)+Math.pow(o.y()-v.y,2));var x=v.x{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(zt.Util._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(zt.Util._inRange(t.height,-this.padding()*2-i,i)){this.update();return}const o=this.flipEnabled();var s=new zt.Transform;if(s.rotate($o.Konva.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const f=s.point({x:-this.padding()*2,y:0});if(t.x+=f.x,t.y+=f.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,!o){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const f=s.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.width+=this.padding()*2,!o){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const f=s.point({x:0,y:-this.padding()*2});if(t.x+=f.x,t.y+=f.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.height+=this.padding()*2,!o){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const f=s.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.height+=this.padding()*2,!o){this.update();return}}if(this.boundBoxFunc()){const f=this.boundBoxFunc()(r,t);f?t=f:zt.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const a=1e7,l=new zt.Transform;l.translate(r.x,r.y),l.rotate(r.rotation),l.scale(r.width/a,r.height/a);const u=new zt.Transform;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/a,t.height/a);const d=u.multiply(l.invert());this._nodes.forEach(f=>{var p;const g=f.getParent().getAbsoluteTransform(),m=f.getTransform().copy();m.translate(f.offsetX(),f.offsetY());const v=new zt.Transform;v.multiply(g.copy().invert()).multiply(d).multiply(g).multiply(m);const x=v.decompose();f.setAttrs(x),this._fire("transform",{evt:n,target:f}),f._fire("transform",{evt:n,target:f}),(p=f.getLayer())===null||p===void 0||p.batchDraw()}),this.rotation(zt.Util._getRotation(t.rotation)),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(t,n){this.findOne(t).setAttrs(n)}update(){var t,n=this._getNodeRect();this.rotation(zt.Util._getRotation(n.rotation));var r=n.width,i=n.height,o=this.enabledAnchors(),s=this.resizeEnabled(),a=this.padding(),l=this.anchorSize();const u=this.find("._anchor");u.forEach(f=>{f.setAttrs({width:l,height:l,offsetX:l/2,offsetY:l/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:l/2+a,offsetY:l/2+a,visible:s&&o.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:l/2+a,visible:s&&o.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:l/2-a,offsetY:l/2+a,visible:s&&o.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:l/2+a,visible:s&&o.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:i/2,offsetX:l/2-a,visible:s&&o.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:l/2+a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:i,offsetY:l/2-a,visible:s&&o.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:i,offsetX:l/2-a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*zt.Util._sign(i)-a,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:r,height:i,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0});const d=this.anchorStyleFunc();d&&u.forEach(f=>{d(f)}),(t=this.getLayer())===null||t===void 0||t.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var t=this.findOne("."+this._movingAnchorName);t&&t.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),ok.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return ik.Node.prototype.toObject.call(this)}clone(t){var n=ik.Node.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}TS.Transformer=Ct;function xwe(e){return e instanceof Array||zt.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){e_.indexOf(t)===-1&&zt.Util.warn("Unknown anchor name: "+t+". Available names are: "+e_.join(", "))}),e||[]}Ct.prototype.className="Transformer";(0,pwe._registerNode)(Ct);Ft.Factory.addGetterSetter(Ct,"enabledAnchors",e_,xwe);Ft.Factory.addGetterSetter(Ct,"flipEnabled",!0,(0,lu.getBooleanValidator)());Ft.Factory.addGetterSetter(Ct,"resizeEnabled",!0);Ft.Factory.addGetterSetter(Ct,"anchorSize",10,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"rotateEnabled",!0);Ft.Factory.addGetterSetter(Ct,"rotationSnaps",[]);Ft.Factory.addGetterSetter(Ct,"rotateAnchorOffset",50,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"rotationSnapTolerance",5,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"borderEnabled",!0);Ft.Factory.addGetterSetter(Ct,"anchorStroke","rgb(0, 161, 255)");Ft.Factory.addGetterSetter(Ct,"anchorStrokeWidth",1,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"anchorFill","white");Ft.Factory.addGetterSetter(Ct,"anchorCornerRadius",0,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"borderStroke","rgb(0, 161, 255)");Ft.Factory.addGetterSetter(Ct,"borderStrokeWidth",1,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"borderDash");Ft.Factory.addGetterSetter(Ct,"keepRatio",!0);Ft.Factory.addGetterSetter(Ct,"shiftBehavior","default");Ft.Factory.addGetterSetter(Ct,"centeredScaling",!1);Ft.Factory.addGetterSetter(Ct,"ignoreStroke",!1);Ft.Factory.addGetterSetter(Ct,"padding",0,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"node");Ft.Factory.addGetterSetter(Ct,"nodes");Ft.Factory.addGetterSetter(Ct,"boundBoxFunc");Ft.Factory.addGetterSetter(Ct,"anchorDragBoundFunc");Ft.Factory.addGetterSetter(Ct,"anchorStyleFunc");Ft.Factory.addGetterSetter(Ct,"shouldOverdrawWholeArea",!1);Ft.Factory.addGetterSetter(Ct,"useSingleNodeRotation",!0);Ft.Factory.backCompat(Ct,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var ES={};Object.defineProperty(ES,"__esModule",{value:!0});ES.Wedge=void 0;const AS=nt,Cwe=rr,Twe=rt,xz=ke,Ewe=rt;class za extends Cwe.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,Twe.Konva.getAngle(this.angle()),this.clockwise()),t.lineTo(0,0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}ES.Wedge=za;za.prototype.className="Wedge";za.prototype._centroid=!0;za.prototype._attrsAffectingSize=["radius"];(0,Ewe._registerNode)(za);AS.Factory.addGetterSetter(za,"radius",0,(0,xz.getNumberValidator)());AS.Factory.addGetterSetter(za,"angle",0,(0,xz.getNumberValidator)());AS.Factory.addGetterSetter(za,"clockwise",!1);AS.Factory.backCompat(za,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var PS={};Object.defineProperty(PS,"__esModule",{value:!0});PS.Blur=void 0;const lk=nt,Awe=fn,Pwe=ke;function uk(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var Rwe=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],Owe=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function kwe(e,t){var n=e.data,r=e.width,i=e.height,o,s,a,l,u,d,f,p,g,m,v,x,_,b,y,S,C,T,E,P,k,O,M,G,U=t+t+1,A=r-1,N=i-1,F=t+1,B=F*(F+1)/2,D=new uk,V=null,j=D,q=null,Z=null,ee=Rwe[t],ie=Owe[t];for(a=1;a>ie,M!==0?(M=255/M,n[d]=(p*ee>>ie)*M,n[d+1]=(g*ee>>ie)*M,n[d+2]=(m*ee>>ie)*M):n[d]=n[d+1]=n[d+2]=0,p-=x,g-=_,m-=b,v-=y,x-=q.r,_-=q.g,b-=q.b,y-=q.a,l=f+((l=o+t+1)>ie,M>0?(M=255/M,n[l]=(p*ee>>ie)*M,n[l+1]=(g*ee>>ie)*M,n[l+2]=(m*ee>>ie)*M):n[l]=n[l+1]=n[l+2]=0,p-=x,g-=_,m-=b,v-=y,x-=q.r,_-=q.g,b-=q.b,y-=q.a,l=o+((l=s+F)0&&kwe(t,n)};PS.Blur=Iwe;lk.Factory.addGetterSetter(Awe.Node,"blurRadius",0,(0,Pwe.getNumberValidator)(),lk.Factory.afterSetFilter);var RS={};Object.defineProperty(RS,"__esModule",{value:!0});RS.Brighten=void 0;const ck=nt,Mwe=fn,Nwe=ke,Lwe=function(e){var t=this.brightness()*255,n=e.data,r=n.length,i;for(i=0;i255?255:i,o=o<0?0:o>255?255:o,s=s<0?0:s>255?255:s,n[a]=i,n[a+1]=o,n[a+2]=s};OS.Contrast=Fwe;dk.Factory.addGetterSetter(Dwe.Node,"contrast",0,(0,$we.getNumberValidator)(),dk.Factory.afterSetFilter);var kS={};Object.defineProperty(kS,"__esModule",{value:!0});kS.Emboss=void 0;const ql=nt,IS=fn,Bwe=Sn,Cz=ke,Uwe=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),o=0,s=0,a=e.data,l=e.width,u=e.height,d=l*4,f=u;switch(r){case"top-left":o=-1,s=-1;break;case"top":o=-1,s=0;break;case"top-right":o=-1,s=1;break;case"right":o=0,s=1;break;case"bottom-right":o=1,s=1;break;case"bottom":o=1,s=0;break;case"bottom-left":o=1,s=-1;break;case"left":o=0,s=-1;break;default:Bwe.Util.error("Unknown emboss direction: "+r)}do{var p=(f-1)*d,g=o;f+g<1&&(g=0),f+g>u&&(g=0);var m=(f-1+g)*l*4,v=l;do{var x=p+(v-1)*4,_=s;v+_<1&&(_=0),v+_>l&&(_=0);var b=m+(v-1+_)*4,y=a[x]-a[b],S=a[x+1]-a[b+1],C=a[x+2]-a[b+2],T=y,E=T>0?T:-T,P=S>0?S:-S,k=C>0?C:-C;if(P>E&&(T=S),k>E&&(T=C),T*=t,i){var O=a[x]+T,M=a[x+1]+T,G=a[x+2]+T;a[x]=O>255?255:O<0?0:O,a[x+1]=M>255?255:M<0?0:M,a[x+2]=G>255?255:G<0?0:G}else{var U=n-T;U<0?U=0:U>255&&(U=255),a[x]=a[x+1]=a[x+2]=U}}while(--v)}while(--f)};kS.Emboss=Uwe;ql.Factory.addGetterSetter(IS.Node,"embossStrength",.5,(0,Cz.getNumberValidator)(),ql.Factory.afterSetFilter);ql.Factory.addGetterSetter(IS.Node,"embossWhiteLevel",.5,(0,Cz.getNumberValidator)(),ql.Factory.afterSetFilter);ql.Factory.addGetterSetter(IS.Node,"embossDirection","top-left",null,ql.Factory.afterSetFilter);ql.Factory.addGetterSetter(IS.Node,"embossBlend",!1,null,ql.Factory.afterSetFilter);var MS={};Object.defineProperty(MS,"__esModule",{value:!0});MS.Enhance=void 0;const fk=nt,zwe=fn,Vwe=ke;function Gx(e,t,n,r,i){var o=n-t,s=i-r,a;return o===0?r+s/2:s===0?r:(a=(e-t)/o,a=s*a+r,a)}const jwe=function(e){var t=e.data,n=t.length,r=t[0],i=r,o,s=t[1],a=s,l,u=t[2],d=u,f,p,g=this.enhance();if(g!==0){for(p=0;pi&&(i=o),l=t[p+1],la&&(a=l),f=t[p+2],fd&&(d=f);i===r&&(i=255,r=0),a===s&&(a=255,s=0),d===u&&(d=255,u=0);var m,v,x,_,b,y,S,C,T;for(g>0?(v=i+g*(255-i),x=r-g*(r-0),b=a+g*(255-a),y=s-g*(s-0),C=d+g*(255-d),T=u-g*(u-0)):(m=(i+r)*.5,v=i+g*(i-m),x=r+g*(r-m),_=(a+s)*.5,b=a+g*(a-_),y=s+g*(s-_),S=(d+u)*.5,C=d+g*(d-S),T=u+g*(u-S)),p=0;p_?x:_;var b=s,y=o,S,C,T=360/y*Math.PI/180,E,P;for(C=0;Cy?b:y;var S=s,C=o,T,E,P=n.polarRotation||0,k,O;for(d=0;dt&&(S=y,C=0,T=-1),i=0;i=0&&g=0&&m=0&&g=0&&m=255*4?255:0}return s}function ixe(e,t,n){for(var r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],i=Math.round(Math.sqrt(r.length)),o=Math.floor(i/2),s=[],a=0;a=0&&g=0&&m=n))for(o=v;o=r||(s=(n*o+i)*4,a+=S[s+0],l+=S[s+1],u+=S[s+2],d+=S[s+3],y+=1);for(a=a/y,l=l/y,u=u/y,d=d/y,i=g;i=n))for(o=v;o=r||(s=(n*o+i)*4,S[s+0]=a,S[s+1]=l,S[s+2]=u,S[s+3]=d)}};zS.Pixelate=fxe;mk.Factory.addGetterSetter(cxe.Node,"pixelSize",8,(0,dxe.getNumberValidator)(),mk.Factory.afterSetFilter);var VS={};Object.defineProperty(VS,"__esModule",{value:!0});VS.Posterize=void 0;const yk=nt,hxe=fn,pxe=ke,gxe=function(e){var t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,i=255/t,o;for(o=0;o255?255:e<0?0:Math.round(e)});n_.Factory.addGetterSetter(kE.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});n_.Factory.addGetterSetter(kE.Node,"blue",0,mxe.RGBComponent,n_.Factory.afterSetFilter);var GS={};Object.defineProperty(GS,"__esModule",{value:!0});GS.RGBA=void 0;const Dg=nt,HS=fn,vxe=ke,_xe=function(e){var t=e.data,n=t.length,r=this.red(),i=this.green(),o=this.blue(),s=this.alpha(),a,l;for(a=0;a255?255:e<0?0:Math.round(e)});Dg.Factory.addGetterSetter(HS.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Dg.Factory.addGetterSetter(HS.Node,"blue",0,vxe.RGBComponent,Dg.Factory.afterSetFilter);Dg.Factory.addGetterSetter(HS.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var WS={};Object.defineProperty(WS,"__esModule",{value:!0});WS.Sepia=void 0;const bxe=function(e){var t=e.data,n=t.length,r,i,o,s;for(r=0;r127&&(u=255-u),d>127&&(d=255-d),f>127&&(f=255-f),t[l]=u,t[l+1]=d,t[l+2]=f}while(--a)}while(--o)};qS.Solarize=Sxe;var KS={};Object.defineProperty(KS,"__esModule",{value:!0});KS.Threshold=void 0;const vk=nt,wxe=fn,xxe=ke,Cxe=function(e){var t=this.threshold()*255,n=e.data,r=n.length,i;for(i=0;i{const{width:r,height:i}=t,o=document.createElement("div"),s=new tp.Stage({container:o,width:r,height:i}),a=new tp.Layer,l=new tp.Layer;return a.add(new tp.Rect({...t,fill:n?"black":"white"})),e.forEach(u=>l.add(new tp.Line({points:u.points,stroke:n?"white":"black",strokeWidth:u.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,globalCompositeOperation:u.tool==="brush"?"source-over":"destination-out"}))),s.add(a),s.add(l),o.remove(),s},cCe=async(e,t,n)=>new Promise((r,i)=>{const o=document.createElement("canvas");o.width=t,o.height=n;const s=o.getContext("2d"),a=new Image;if(!s){o.remove(),i("Unable to get context");return}a.onload=function(){s.drawImage(a,0,0),o.remove(),r(s.getImageData(0,0,t,n))},a.src=e}),Sk=async(e,t)=>{const n=e.toDataURL(t);return await cCe(n,t.width,t.height)},dCe=async(e,t,n,r,i)=>{const o=Ie("canvas"),s=nS(),a=x_e();if(!s||!a){o.error("Unable to find canvas / stage");return}const l={...t,...n},u=s.clone();u.scale({x:1,y:1});const d=u.getAbsolutePosition(),f={x:l.x+d.x,y:l.y+d.y,width:l.width,height:l.height},p=await Q1(u,f),g=await Sk(u,f),m=await uCe(r?e.objects.filter(o$):[],l,i),v=await Q1(m,l),x=await Sk(m,l);return{baseBlob:p,baseImageData:g,maskBlob:v,maskImageData:x}},fCe=e=>{let t=!0,n=!1;const r=e.length;let i=3;for(i;i{const t=e.length;let n=0;for(n;n{const{isPartiallyTransparent:n,isFullyTransparent:r}=fCe(e.data),i=hCe(t.data);return n?r?"txt2img":"outpaint":i?"inpaint":"img2img"},gCe=e=>ID(e,n=>n.isEnabled&&(!!n.processedControlImage||n.processorType==="none"&&!!n.controlImage)),XS=(e,t,n)=>{const{isEnabled:r,controlNets:i}=e.controlNet,o=gCe(i),s=t.nodes[Ot];if(r&&o.length&&o.length){const a={id:O0,type:"collect",is_intermediate:!0};t.nodes[O0]=a,t.edges.push({source:{node_id:O0,field:"collection"},destination:{node_id:n,field:"control"}}),o.forEach(l=>{const{controlNetId:u,controlImage:d,processedControlImage:f,beginStepPct:p,endStepPct:g,controlMode:m,resizeMode:v,model:x,processorType:_,weight:b}=l,y={id:`control_net_${u}`,type:"controlnet",is_intermediate:!0,begin_step_percent:p,end_step_percent:g,control_mode:m,resize_mode:v,control_model:x,control_weight:b};if(f&&_!=="none")y.image={image_name:f};else if(d)y.image={image_name:d};else return;if(t.nodes[y.id]=y,s){const S=rb(y,["id","type"]);s.controlnets.push(S)}t.edges.push({source:{node_id:y.id,field:"control"},destination:{node_id:O0,field:"item"}})})}},qf=(e,t)=>{const{positivePrompt:n,iterations:r,seed:i,shouldRandomizeSeed:o}=e.generation,{combinatorial:s,isEnabled:a,maxPrompts:l}=e.dynamicPrompts,u=t.nodes[Ot];if(a){ile(t.nodes[gt],"prompt");const d={id:Nx,type:"dynamic_prompt",is_intermediate:!0,max_prompts:s?l:r,combinatorial:s,prompt:n},f={id:vi,type:"iterate",is_intermediate:!0};if(t.nodes[Nx]=d,t.nodes[vi]=f,t.edges.push({source:{node_id:Nx,field:"prompt_collection"},destination:{node_id:vi,field:"collection"}},{source:{node_id:vi,field:"item"},destination:{node_id:gt,field:"prompt"}}),u&&t.edges.push({source:{node_id:vi,field:"item"},destination:{node_id:Ot,field:"positive_prompt"}}),o){const p={id:ms,type:"rand_int",is_intermediate:!0};t.nodes[ms]=p,t.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:yt,field:"seed"}}),u&&t.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:Ot,field:"seed"}})}else t.nodes[yt].seed=i,u&&(u.seed=i)}else{u&&(u.positive_prompt=n);const d={id:ha,type:"range_of_size",is_intermediate:!0,size:r,step:1},f={id:vi,type:"iterate",is_intermediate:!0};if(t.nodes[vi]=f,t.nodes[ha]=d,t.edges.push({source:{node_id:ha,field:"collection"},destination:{node_id:vi,field:"collection"}}),t.edges.push({source:{node_id:vi,field:"item"},destination:{node_id:yt,field:"seed"}}),u&&t.edges.push({source:{node_id:vi,field:"item"},destination:{node_id:Ot,field:"seed"}}),o){const p={id:ms,type:"rand_int",is_intermediate:!0};t.nodes[ms]=p,t.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:ha,field:"start"}})}else d.start=i}},Im=(e,t,n,r=Gr)=>{const{loras:i}=e.lora,o=_T(i),s=t.nodes[Ot];o>0&&(t.edges=t.edges.filter(u=>!(u.source.node_id===r&&["unet"].includes(u.source.field))),t.edges=t.edges.filter(u=>!(u.source.node_id===qt&&["clip"].includes(u.source.field))));let a="",l=0;Ul(i,u=>{const{model_name:d,base_model:f,weight:p}=u,g=`${GU}_${d.replace(".","_")}`,m={type:"lora_loader",id:g,is_intermediate:!0,lora:{model_name:d,base_model:f},weight:p};s&&s.loras.push({lora:{model_name:d,base_model:f},weight:p}),t.nodes[g]=m,l===0?(t.edges.push({source:{node_id:r,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:qt,field:"clip"},destination:{node_id:g,field:"clip"}})):(t.edges.push({source:{node_id:a,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:a,field:"clip"},destination:{node_id:g,field:"clip"}})),l===o-1&&(t.edges.push({source:{node_id:g,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:gt,field:"clip"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:_t,field:"clip"}})),a=g,l+=1})},Az=si(e=>e.ui,e=>e$[e.activeTab],{memoizeOptions:{equalityCheck:nb}}),iMe=si(e=>e.ui,e=>e.activeTab,{memoizeOptions:{equalityCheck:nb}}),oMe=si(e=>e.ui,e=>e,{memoizeOptions:{equalityCheck:nb}}),Ec=(e,t,n=Rt)=>{const i=Az(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[Ot];if(!o)return;o.is_intermediate=!0;const a={id:Dd,type:"img_nsfw",is_intermediate:i};t.nodes[Dd]=a,t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:Dd,field:"image"}}),s&&t.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Dd,field:"metadata"}})},Mm=(e,t,n=Gr)=>{const{vae:r}=e.generation,i=!r,o=t.nodes[Ot];i||(t.nodes[Qh]={type:"vae_loader",id:Qh,is_intermediate:!0,vae_model:r});const s=n==gE;(t.id===mE||t.id===Z1)&&t.edges.push({source:{node_id:i?n:Qh,field:i&&s?"vae_decoder":"vae"},destination:{node_id:Rt,field:"vae"}}),t.id===Z1&&t.edges.push({source:{node_id:i?n:Qh,field:i&&s?"vae_decoder":"vae"},destination:{node_id:un,field:"vae"}}),t.id===HU&&t.edges.push({source:{node_id:i?n:Qh,field:i&&s?"vae_decoder":"vae"},destination:{node_id:fs,field:"vae"}}),r&&o&&(o.vae=r)},Ac=(e,t,n=Rt)=>{const i=Az(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[Dd],a=t.nodes[Ot];if(!o)return;const l={id:Yh,type:"img_watermark",is_intermediate:i};t.nodes[Yh]=l,o.is_intermediate=!0,s?(s.is_intermediate=!0,t.edges.push({source:{node_id:Dd,field:"image"},destination:{node_id:Yh,field:"image"}})):t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:Yh,field:"image"}}),a&&t.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Yh,field:"metadata"}})},mCe=(e,t)=>{const n=Ie("nodes"),{positivePrompt:r,negativePrompt:i,model:o,cfgScale:s,scheduler:a,steps:l,img2imgStrength:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:p}=e.generation,{width:g,height:m}=e.canvas.boundingBoxDimensions,{shouldAutoSave:v}=e.canvas;if(!o)throw n.error("No model found in state"),new Error("No model found in state");const x=p?f:Da.shouldUseCpuNoise,_={id:Z1,nodes:{[gt]:{type:"compel",id:gt,is_intermediate:!0,prompt:r},[_t]:{type:"compel",id:_t,is_intermediate:!0,prompt:i},[yt]:{type:"noise",id:yt,is_intermediate:!0,use_cpu:x},[Gr]:{type:"main_model_loader",id:Gr,is_intermediate:!0,model:o},[qt]:{type:"clip_skip",id:qt,is_intermediate:!0,skipped_layers:d},[Un]:{type:"l2l",id:Un,is_intermediate:!0,cfg_scale:s,scheduler:a,steps:l,strength:u},[un]:{type:"i2l",id:un,is_intermediate:!0},[Rt]:{type:"l2i",id:Rt,is_intermediate:!v}},edges:[{source:{node_id:Gr,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:Un,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:un,field:"latents"},destination:{node_id:Un,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:Un,field:"noise"}},{source:{node_id:Gr,field:"unet"},destination:{node_id:Un,field:"unet"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:Un,field:"negative_conditioning"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:Un,field:"positive_conditioning"}}]};if(t.width!==g||t.height!==m){const b={id:ii,type:"img_resize",image:{image_name:t.image_name},is_intermediate:!0,width:g,height:m};_.nodes[ii]=b,_.edges.push({source:{node_id:ii,field:"image"},destination:{node_id:un,field:"image"}}),_.edges.push({source:{node_id:ii,field:"width"},destination:{node_id:yt,field:"width"}}),_.edges.push({source:{node_id:ii,field:"height"},destination:{node_id:yt,field:"height"}})}else _.nodes[un].image={image_name:t.image_name},_.edges.push({source:{node_id:un,field:"width"},destination:{node_id:yt,field:"width"}}),_.edges.push({source:{node_id:un,field:"height"},destination:{node_id:yt,field:"height"}});return _.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:s,height:m,width:g,positive_prompt:"",negative_prompt:i,model:o,seed:0,steps:l,rand_device:x?"cpu":"cuda",scheduler:a,vae:void 0,controlnets:[],loras:[],clip_skip:d,strength:u,init_image:t.image_name},_.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,_,Un),Mm(e,_),qf(e,_),XS(e,_,Un),e.system.shouldUseNSFWChecker&&Ec(e,_),e.system.shouldUseWatermarker&&Ac(e,_),_},yCe=(e,t,n)=>{const r=Ie("nodes"),{positivePrompt:i,negativePrompt:o,model:s,cfgScale:a,scheduler:l,steps:u,img2imgStrength:d,shouldFitToWidthHeight:f,iterations:p,seed:g,shouldRandomizeSeed:m,seamSize:v,seamBlur:x,seamSteps:_,seamStrength:b,tileSize:y,infillMethod:S,clipSkip:C}=e.generation;if(!s)throw r.error("No model found in state"),new Error("No model found in state");const{width:T,height:E}=e.canvas.boundingBoxDimensions,{scaledBoundingBoxDimensions:P,boundingBoxScaleMethod:k,shouldAutoSave:O}=e.canvas,M={id:HU,nodes:{[fs]:{is_intermediate:!O,type:"inpaint",id:fs,steps:u,width:T,height:E,cfg_scale:a,scheduler:l,image:{image_name:t.image_name},strength:d,fit:f,mask:{image_name:n.image_name},seam_size:v,seam_blur:x,seam_strength:b,seam_steps:_,tile_size:S==="tile"?y:void 0,infill_method:S,inpaint_width:k!=="none"?P.width:void 0,inpaint_height:k!=="none"?P.height:void 0},[gt]:{type:"compel",id:gt,is_intermediate:!0,prompt:i},[_t]:{type:"compel",id:_t,is_intermediate:!0,prompt:o},[Gr]:{type:"main_model_loader",id:Gr,is_intermediate:!0,model:s},[qt]:{type:"clip_skip",id:qt,is_intermediate:!0,skipped_layers:C},[ha]:{type:"range_of_size",id:ha,is_intermediate:!0,size:p,step:1},[vi]:{type:"iterate",id:vi,is_intermediate:!0}},edges:[{source:{node_id:Gr,field:"unet"},destination:{node_id:fs,field:"unet"}},{source:{node_id:Gr,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:fs,field:"negative_conditioning"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:fs,field:"positive_conditioning"}},{source:{node_id:ha,field:"collection"},destination:{node_id:vi,field:"collection"}},{source:{node_id:vi,field:"item"},destination:{node_id:fs,field:"seed"}}]};if(Im(e,M,fs),Mm(e,M),m){const G={id:ms,type:"rand_int"};M.nodes[ms]=G,M.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:ha,field:"start"}})}else M.nodes[ha].start=g;return e.system.shouldUseNSFWChecker&&Ec(e,M,fs),e.system.shouldUseWatermarker&&Ac(e,M,fs),M},vCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,clipSkip:l,shouldUseCpuNoise:u,shouldUseNoiseSettings:d}=e.generation,{width:f,height:p}=e.canvas.boundingBoxDimensions,{shouldAutoSave:g}=e.canvas;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const m=d?u:Da.shouldUseCpuNoise,v=i.model_type==="onnx",x=v?gE:Gr,_=v?"onnx_model_loader":"main_model_loader",b=v?{type:"t2l_onnx",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a}:{type:"t2l",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a},y={id:mE,nodes:{[gt]:{type:v?"prompt_onnx":"compel",id:gt,is_intermediate:!0,prompt:n},[_t]:{type:v?"prompt_onnx":"compel",id:_t,is_intermediate:!0,prompt:r},[yt]:{type:"noise",id:yt,is_intermediate:!0,width:f,height:p,use_cpu:m},[b.id]:b,[x]:{type:_,id:x,is_intermediate:!0,model:i},[qt]:{type:"clip_skip",id:qt,is_intermediate:!0,skipped_layers:l},[Rt]:{type:v?"l2i_onnx":"l2i",id:Rt,is_intermediate:!g}},edges:[{source:{node_id:_t,field:"conditioning"},destination:{node_id:cr,field:"negative_conditioning"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:cr,field:"positive_conditioning"}},{source:{node_id:x,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:x,field:"unet"},destination:{node_id:cr,field:"unet"}},{source:{node_id:cr,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:cr,field:"noise"}}]};return y.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:p,width:f,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:m?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:l},y.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,y,cr,x),Mm(e,y,x),qf(e,y),XS(e,y,cr),e.system.shouldUseNSFWChecker&&Ec(e,y),e.system.shouldUseWatermarker&&Ac(e,y),y},_Ce=(e,t,n,r)=>{let i;if(t==="txt2img")i=vCe(e);else if(t==="img2img"){if(!n)throw new Error("Missing canvas init image");i=mCe(e,n)}else{if(!n||!r)throw new Error("Missing canvas init and mask images");i=yCe(e,n,r)}return i},bCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="unifiedCanvas",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),{layerState:s,boundingBoxCoordinates:a,boundingBoxDimensions:l,isMaskEnabled:u,shouldPreserveMaskedArea:d}=o.canvas,f=await dCe(s,a,l,u,d);if(!f){i.error("Unable to create canvas data");return}const{baseBlob:p,baseImageData:g,maskBlob:m,maskImageData:v}=f,x=pCe(g,v);if(o.system.enableImageDebugging){const E=await UO(p),P=await UO(m);cSe([{base64:P,caption:"mask b64"},{base64:E,caption:"image b64"}])}i.debug(`Generation mode: ${x}`);let _,b;["img2img","inpaint","outpaint"].includes(x)&&(_=await n(Se.endpoints.uploadImage.initiate({file:new File([p],"canvasInitImage.png",{type:"image/png"}),image_category:"general",is_intermediate:!0})).unwrap()),["inpaint","outpaint"].includes(x)&&(b=await n(Se.endpoints.uploadImage.initiate({file:new File([m],"canvasMaskImage.png",{type:"image/png"}),image_category:"mask",is_intermediate:!0})).unwrap());const y=_Ce(o,x,_,b);i.debug({graph:$a(y)},"Canvas graph built"),n(NU(y));const{requestId:S}=n(Ir({graph:y})),[C]=await r(E=>Ir.fulfilled.match(E)&&E.meta.requestId===S),T=C.payload.id;["img2img","inpaint"].includes(x)&&_&&n(Se.endpoints.changeImageSessionId.initiate({imageDTO:_,session_id:T})),["inpaint"].includes(x)&&b&&n(Se.endpoints.changeImageSessionId.initiate({imageDTO:b,session_id:T})),o.canvas.layerState.stagingArea.boundingBox||n(Wue({sessionId:T,boundingBox:{...o.canvas.boundingBoxCoordinates,...o.canvas.boundingBoxDimensions}})),n(que(T)),n(yc())}})},SCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,img2imgStrength:u,shouldFitToWidthHeight:d,width:f,height:p,clipSkip:g,shouldUseCpuNoise:m,shouldUseNoiseSettings:v,vaePrecision:x}=e.generation;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const _=v?m:Da.shouldUseCpuNoise,b={id:Z1,nodes:{[Gr]:{type:"main_model_loader",id:Gr,model:i},[qt]:{type:"clip_skip",id:qt,skipped_layers:g},[gt]:{type:"compel",id:gt,prompt:n},[_t]:{type:"compel",id:_t,prompt:r},[yt]:{type:"noise",id:yt,use_cpu:_},[Rt]:{type:"l2i",id:Rt,fp32:x==="fp32"},[Un]:{type:"l2l",id:Un,cfg_scale:o,scheduler:s,steps:a,strength:u},[un]:{type:"i2l",id:un,fp32:x==="fp32"}},edges:[{source:{node_id:Gr,field:"unet"},destination:{node_id:Un,field:"unet"}},{source:{node_id:Gr,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:Un,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:un,field:"latents"},destination:{node_id:Un,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:Un,field:"noise"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:Un,field:"negative_conditioning"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:Un,field:"positive_conditioning"}}]};if(d&&(l.width!==f||l.height!==p)){const y={id:ii,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:f,height:p};b.nodes[ii]=y,b.edges.push({source:{node_id:ii,field:"image"},destination:{node_id:un,field:"image"}}),b.edges.push({source:{node_id:ii,field:"width"},destination:{node_id:yt,field:"width"}}),b.edges.push({source:{node_id:ii,field:"height"},destination:{node_id:yt,field:"height"}})}else b.nodes[un].image={image_name:l.imageName},b.edges.push({source:{node_id:un,field:"width"},destination:{node_id:yt,field:"width"}}),b.edges.push({source:{node_id:un,field:"height"},destination:{node_id:yt,field:"height"}});return b.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:o,height:p,width:f,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:_?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:g,strength:u,init_image:l.imageName},b.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,b,Un),Mm(e,b),qf(e,b),XS(e,b,Un),e.system.shouldUseNSFWChecker&&Ec(e,b),e.system.shouldUseWatermarker&&Ac(e,b),b},Pz=(e,t,n)=>{const{positivePrompt:r,negativePrompt:i}=e.generation,{refinerModel:o,refinerAestheticScore:s,positiveStylePrompt:a,negativeStylePrompt:l,refinerSteps:u,refinerScheduler:d,refinerCFGScale:f,refinerStart:p}=e.sdxl;if(!o)return;const g=t.nodes[Ot];g&&(g.refiner_model=o,g.refiner_aesthetic_store=s,g.refiner_cfg_scale=f,g.refiner_scheduler=d,g.refiner_start=p,g.refiner_steps=u),t.edges=t.edges.filter(m=>!(m.source.node_id===n&&["latents"].includes(m.source.field))),t.edges=t.edges.filter(m=>!(m.source.node_id===Cn&&["vae"].includes(m.source.field))),n===Do&&t.edges.push({source:{node_id:Cn,field:"vae"},destination:{node_id:un,field:"vae"}}),t.nodes[fd]={type:"sdxl_refiner_model_loader",id:fd,model:o},t.nodes[k0]={type:"sdxl_refiner_compel_prompt",id:k0,style:`${r} ${a}`,aesthetic_score:s},t.nodes[I0]={type:"sdxl_refiner_compel_prompt",id:I0,style:`${i} ${l}`,aesthetic_score:s},t.nodes[Su]={type:"l2l_sdxl",id:Su,cfg_scale:f,steps:u/(1-Math.min(p,.99)),scheduler:d,denoising_start:p,denoising_end:1},t.edges.push({source:{node_id:fd,field:"unet"},destination:{node_id:Su,field:"unet"}},{source:{node_id:fd,field:"vae"},destination:{node_id:Rt,field:"vae"}},{source:{node_id:fd,field:"clip2"},destination:{node_id:k0,field:"clip2"}},{source:{node_id:fd,field:"clip2"},destination:{node_id:I0,field:"clip2"}},{source:{node_id:k0,field:"conditioning"},destination:{node_id:Su,field:"positive_conditioning"}},{source:{node_id:I0,field:"conditioning"},destination:{node_id:Su,field:"negative_conditioning"}},{source:{node_id:n,field:"latents"},destination:{node_id:Su,field:"latents"}},{source:{node_id:Su,field:"latents"},destination:{node_id:Rt,field:"latents"}})},Rz=(e,t,n,r=Cn)=>{const{loras:i}=e.lora,o=_T(i),s=t.nodes[Ot];o>0&&(t.edges=t.edges.filter(u=>!(u.source.node_id===r&&["unet"].includes(u.source.field))&&!(u.source.node_id===r&&["clip"].includes(u.source.field))&&!(u.source.node_id===r&&["clip2"].includes(u.source.field))));let a="",l=0;Ul(i,u=>{const{model_name:d,base_model:f,weight:p}=u,g=`${GU}_${d.replace(".","_")}`,m={type:"sdxl_lora_loader",id:g,is_intermediate:!0,lora:{model_name:d,base_model:f},weight:p};s&&s.loras.push({lora:{model_name:d,base_model:f},weight:p}),t.nodes[g]=m,l===0?(t.edges.push({source:{node_id:r,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:r,field:"clip"},destination:{node_id:g,field:"clip"}}),t.edges.push({source:{node_id:r,field:"clip2"},destination:{node_id:g,field:"clip2"}})):(t.edges.push({source:{node_id:a,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:a,field:"clip"},destination:{node_id:g,field:"clip"}}),t.edges.push({source:{node_id:a,field:"clip2"},destination:{node_id:g,field:"clip2"}})),l===o-1&&(t.edges.push({source:{node_id:g,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:gt,field:"clip"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:_t,field:"clip"}}),t.edges.push({source:{node_id:g,field:"clip2"},destination:{node_id:gt,field:"clip2"}}),t.edges.push({source:{node_id:g,field:"clip2"},destination:{node_id:_t,field:"clip2"}})),a=g,l+=1})},wCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,shouldFitToWidthHeight:u,width:d,height:f,clipSkip:p,shouldUseCpuNoise:g,shouldUseNoiseSettings:m,vaePrecision:v}=e.generation,{positiveStylePrompt:x,negativeStylePrompt:_,shouldConcatSDXLStylePrompt:b,shouldUseSDXLRefiner:y,refinerStart:S,sdxlImg2ImgDenoisingStrength:C}=e.sdxl;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const T=m?g:Da.shouldUseCpuNoise,E={id:sSe,nodes:{[Cn]:{type:"sdxl_model_loader",id:Cn,model:i},[gt]:{type:"sdxl_compel_prompt",id:gt,prompt:n,style:b?`${n} ${x}`:x},[_t]:{type:"sdxl_compel_prompt",id:_t,prompt:r,style:b?`${r} ${_}`:_},[yt]:{type:"noise",id:yt,use_cpu:T},[Rt]:{type:"l2i",id:Rt,fp32:v==="fp32"},[Do]:{type:"l2l_sdxl",id:Do,cfg_scale:o,scheduler:s,steps:a,denoising_start:y?Math.min(S,1-C):1-C,denoising_end:y?S:1},[un]:{type:"i2l",id:un,fp32:v==="fp32"}},edges:[{source:{node_id:Cn,field:"unet"},destination:{node_id:Do,field:"unet"}},{source:{node_id:Cn,field:"vae"},destination:{node_id:Rt,field:"vae"}},{source:{node_id:Cn,field:"vae"},destination:{node_id:un,field:"vae"}},{source:{node_id:Cn,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:Cn,field:"clip2"},destination:{node_id:gt,field:"clip2"}},{source:{node_id:Cn,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:Cn,field:"clip2"},destination:{node_id:_t,field:"clip2"}},{source:{node_id:Do,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:un,field:"latents"},destination:{node_id:Do,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:Do,field:"noise"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:Do,field:"positive_conditioning"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:Do,field:"negative_conditioning"}}]};if(u&&(l.width!==d||l.height!==f)){const P={id:ii,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:d,height:f};E.nodes[ii]=P,E.edges.push({source:{node_id:ii,field:"image"},destination:{node_id:un,field:"image"}}),E.edges.push({source:{node_id:ii,field:"width"},destination:{node_id:yt,field:"width"}}),E.edges.push({source:{node_id:ii,field:"height"},destination:{node_id:yt,field:"height"}})}else E.nodes[un].image={image_name:l.imageName},E.edges.push({source:{node_id:un,field:"width"},destination:{node_id:yt,field:"width"}}),E.edges.push({source:{node_id:un,field:"height"},destination:{node_id:yt,field:"height"}});return E.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"sdxl_img2img",cfg_scale:o,height:f,width:d,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:T?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:p,strength:C,init_image:l.imageName,positive_style_prompt:x,negative_style_prompt:_},E.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Rz(e,E,Do,Cn),y&&Pz(e,E,Do),qf(e,E),e.system.shouldUseNSFWChecker&&Ec(e,E),e.system.shouldUseWatermarker&&Ac(e,E),E},xCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="img2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=wCe(o):a=SCe(o),n(MU(a)),i.debug({graph:$a(a)},"Image to Image graph built"),n(Ir({graph:a})),await r(Ir.fulfilled.match),n(yc())}})};let B0;const CCe=new Uint8Array(16);function TCe(){if(!B0&&(B0=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!B0))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return B0(CCe)}const Er=[];for(let e=0;e<256;++e)Er.push((e+256).toString(16).slice(1));function ECe(e,t=0){return(Er[e[t+0]]+Er[e[t+1]]+Er[e[t+2]]+Er[e[t+3]]+"-"+Er[e[t+4]]+Er[e[t+5]]+"-"+Er[e[t+6]]+Er[e[t+7]]+"-"+Er[e[t+8]]+Er[e[t+9]]+"-"+Er[e[t+10]]+Er[e[t+11]]+Er[e[t+12]]+Er[e[t+13]]+Er[e[t+14]]+Er[e[t+15]]).toLowerCase()}const ACe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),wk={randomUUID:ACe};function PCe(e,t,n){if(wk.randomUUID&&!t&&!e)return wk.randomUUID();e=e||{};const r=e.random||(e.rng||TCe)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=r[i];return t}return ECe(r)}const RCe=e=>{if(e.type==="color"&&e.value){const t=Ur(e.value),{r:n,g:r,b:i,a:o}=e.value,s=Math.max(0,Math.min(o*255,255));return Object.assign(t,{r:n,g:r,b:i,a:s}),t}return e.value},OCe=e=>{const{nodes:t,edges:n}=e.nodes,i=t.filter(a=>a.type!=="progress_image").reduce((a,l)=>{const{id:u,data:d}=l,{type:f,inputs:p}=d,g=vT(p,(v,x,_)=>{const b=RCe(x);return v[_]=b,v},{}),m={type:f,id:u,...g};return Object.assign(a,{[u]:m}),a},{}),o=n.reduce((a,l)=>{const{source:u,target:d,sourceHandle:f,targetHandle:p}=l;return a.push({source:{node_id:u,field:f},destination:{node_id:d,field:p}}),a},[]);return o.forEach(a=>{const l=i[a.destination.node_id],u=a.destination.field;i[a.destination.node_id]=rb(l,u)}),{id:PCe(),nodes:i,edges:o}},kCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="nodes",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),s=OCe(o);n(LU(s)),i.debug({graph:$a(s)},"Nodes graph built"),n(Ir({graph:s})),await r(Ir.fulfilled.match),n(yc())}})},ICe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:p,vaePrecision:g}=e.generation,{positiveStylePrompt:m,negativeStylePrompt:v,shouldConcatSDXLStylePrompt:x,shouldUseSDXLRefiner:_,refinerStart:b}=e.sdxl,y=p?f:Da.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const S={id:oSe,nodes:{[Cn]:{type:"sdxl_model_loader",id:Cn,model:i},[gt]:{type:"sdxl_compel_prompt",id:gt,prompt:n,style:x?`${n} ${m}`:m},[_t]:{type:"sdxl_compel_prompt",id:_t,prompt:r,style:x?`${r} ${v}`:v},[yt]:{type:"noise",id:yt,width:l,height:u,use_cpu:y},[ra]:{type:"t2l_sdxl",id:ra,cfg_scale:o,scheduler:s,steps:a,denoising_end:_?b:1},[Rt]:{type:"l2i",id:Rt,fp32:g==="fp32"}},edges:[{source:{node_id:Cn,field:"unet"},destination:{node_id:ra,field:"unet"}},{source:{node_id:Cn,field:"vae"},destination:{node_id:Rt,field:"vae"}},{source:{node_id:Cn,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:Cn,field:"clip2"},destination:{node_id:gt,field:"clip2"}},{source:{node_id:Cn,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:Cn,field:"clip2"},destination:{node_id:_t,field:"clip2"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:ra,field:"positive_conditioning"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:ra,field:"negative_conditioning"}},{source:{node_id:yt,field:"noise"},destination:{node_id:ra,field:"noise"}},{source:{node_id:ra,field:"latents"},destination:{node_id:Rt,field:"latents"}}]};return S.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"sdxl_txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:y?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:d,positive_style_prompt:m,negative_style_prompt:v},S.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Rz(e,S,ra,Cn),_&&Pz(e,S,ra),qf(e,S),e.system.shouldUseNSFWChecker&&Ec(e,S),e.system.shouldUseWatermarker&&Ac(e,S),S},MCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:p,vaePrecision:g}=e.generation,m=p?f:Da.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const v=i.model_type==="onnx",x=v?gE:Gr,_=v?"onnx_model_loader":"main_model_loader",b=v?{type:"t2l_onnx",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a}:{type:"t2l",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a},y={id:mE,nodes:{[gt]:{type:v?"prompt_onnx":"compel",id:gt,prompt:n,is_intermediate:!0},[_t]:{type:v?"prompt_onnx":"compel",id:_t,prompt:r,is_intermediate:!0},[yt]:{type:"noise",id:yt,width:l,height:u,use_cpu:m,is_intermediate:!0},[b.id]:b,[x]:{type:_,id:x,is_intermediate:!0,model:i},[qt]:{type:"clip_skip",id:qt,skipped_layers:d,is_intermediate:!0},[Rt]:{type:v?"l2i_onnx":"l2i",id:Rt,fp32:g==="fp32"}},edges:[{source:{node_id:x,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:x,field:"unet"},destination:{node_id:cr,field:"unet"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:cr,field:"positive_conditioning"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:cr,field:"negative_conditioning"}},{source:{node_id:cr,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:cr,field:"noise"}}]};return y.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:m?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:d},y.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,y,cr,x),Mm(e,y,x),qf(e,y),XS(e,y,cr),e.system.shouldUseNSFWChecker&&Ec(e,y),e.system.shouldUseWatermarker&&Ac(e,y),y},NCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="txt2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=ICe(o):a=MCe(o),n(IU(a)),i.debug({graph:$a(a)},"Text to Image graph built"),n(Ir({graph:a})),await r(Ir.fulfilled.match),n(yc())}})},Oz=bL(),Pe=Oz.startListening;W_e();q_e();Y_e();$_e();F_e();B_e();U_e();z_e();m_e();H_e();bCe();kCe();NCe();xCe();Vbe();k_e();P_e();E_e();O_e();nSe();c_e();Hbe();Wbe();Kbe();Xbe();Qbe();jbe();Gbe();eSe();tSe();Zbe();Jbe();Ybe();Dbe();$be();Fbe();Bbe();Ube();zbe();Mbe();Nbe();Lbe();N_e();M_e();L_e();D_e();j_e();G_e();y_e();Abe();V_e();Q_e();p_e();J_e();f_e();d_e();uSe();iSe();const LCe={canvas:Kue,gallery:nfe,generation:Eue,nodes:Vve,postprocessing:jve,system:m1e,config:sle,ui:Pue,hotkeys:b1e,controlNet:Jde,dynamicPrompts:tfe,deleteImageModal:sfe,changeBoardModal:lfe,lora:cfe,modelmanager:_1e,sdxl:Wve,[Hl.reducerPath]:Hl.reducer},DCe=Ff(LCe),$Ce=H1e(DCe),FCe=["canvas","gallery","generation","sdxl","nodes","postprocessing","system","ui","controlNet","dynamicPrompts","lora","modelmanager"],BCe=eL({reducer:$Ce,enhancers:e=>e.concat(W1e(window.localStorage,FCe,{persistDebounce:300,serialize:r_e,unserialize:o_e,prefix:q1e})).concat(wL()),middleware:e=>e({immutableCheck:!1,serializableCheck:!1}).concat(Hl.middleware).concat(C1e).prepend(Oz.middleware),devTools:{actionSanitizer:a_e,stateSanitizer:u_e,trace:!0,predicate:(e,t)=>!l_e.includes(t.type)}}),sMe=e=>e,UCe=e=>{const{socket:t,storeApi:n}=e,{dispatch:r,getState:i}=n;t.on("connect",()=>{Ie("socketio").debug("Connected"),r(G$());const{sessionId:s}=i().system;s&&(t.emit("subscribe",{session:s}),r(MT({sessionId:s})))}),t.on("connect_error",o=>{o&&o.message&&o.data==="ERR_UNAUTHENTICATED"&&r(zn(Xu({title:o.message,status:"error",duration:1e4})))}),t.on("disconnect",()=>{r(W$())}),t.on("invocation_started",o=>{r(Q$({data:o}))}),t.on("generator_progress",o=>{r(rF({data:o}))}),t.on("invocation_error",o=>{r(eF({data:o}))}),t.on("invocation_complete",o=>{r(NT({data:o}))}),t.on("graph_execution_state_complete",o=>{r(tF({data:o}))}),t.on("model_load_started",o=>{r(oF({data:o}))}),t.on("model_load_completed",o=>{r(sF({data:o}))}),t.on("session_retrieval_error",o=>{r(aF({data:o}))}),t.on("invocation_retrieval_error",o=>{r(uF({data:o}))})},Ds=Object.create(null);Ds.open="0";Ds.close="1";Ds.ping="2";Ds.pong="3";Ds.message="4";Ds.upgrade="5";Ds.noop="6";const Sv=Object.create(null);Object.keys(Ds).forEach(e=>{Sv[Ds[e]]=e});const zCe={type:"error",data:"parser error"},kz=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",Iz=typeof ArrayBuffer=="function",Mz=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,IE=({type:e,data:t},n,r)=>kz&&t instanceof Blob?n?r(t):xk(t,r):Iz&&(t instanceof ArrayBuffer||Mz(t))?n?r(t):xk(new Blob([t]),r):r(Ds[e]+(t||"")),xk=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)};function Ck(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let Hx;function VCe(e,t){if(kz&&e.data instanceof Blob)return e.data.arrayBuffer().then(Ck).then(t);if(Iz&&(e.data instanceof ArrayBuffer||Mz(e.data)))return t(Ck(e.data));IE(e,!1,n=>{Hx||(Hx=new TextEncoder),t(Hx.encode(n))})}const Tk="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",hp=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,n=e.length,r,i=0,o,s,a,l;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);const u=new ArrayBuffer(t),d=new Uint8Array(u);for(r=0;r>4,d[i++]=(s&15)<<4|a>>2,d[i++]=(a&3)<<6|l&63;return u},GCe=typeof ArrayBuffer=="function",ME=(e,t)=>{if(typeof e!="string")return{type:"message",data:Nz(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:HCe(e.substring(1),t)}:Sv[n]?e.length>1?{type:Sv[n],data:e.substring(1)}:{type:Sv[n]}:zCe},HCe=(e,t)=>{if(GCe){const n=jCe(e);return Nz(n,t)}else return{base64:!0,data:e}},Nz=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},Lz=String.fromCharCode(30),WCe=(e,t)=>{const n=e.length,r=new Array(n);let i=0;e.forEach((o,s)=>{IE(o,!1,a=>{r[s]=a,++i===n&&t(r.join(Lz))})})},qCe=(e,t)=>{const n=e.split(Lz),r=[];for(let i=0;i54;return ME(r?e:Wx.decode(e),n)}const Dz=4;function Hn(e){if(e)return XCe(e)}function XCe(e){for(var t in Hn.prototype)e[t]=Hn.prototype[t];return e}Hn.prototype.on=Hn.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this};Hn.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this};Hn.prototype.off=Hn.prototype.removeListener=Hn.prototype.removeAllListeners=Hn.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var n=this._callbacks["$"+e];if(!n)return this;if(arguments.length==1)return delete this._callbacks["$"+e],this;for(var r,i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function $z(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const YCe=yo.setTimeout,QCe=yo.clearTimeout;function YS(e,t){t.useNativeTimers?(e.setTimeoutFn=YCe.bind(yo),e.clearTimeoutFn=QCe.bind(yo)):(e.setTimeoutFn=yo.setTimeout.bind(yo),e.clearTimeoutFn=yo.clearTimeout.bind(yo))}const ZCe=1.33;function JCe(e){return typeof e=="string"?e3e(e):Math.ceil((e.byteLength||e.size)*ZCe)}function e3e(e){let t=0,n=0;for(let r=0,i=e.length;r=57344?n+=3:(r++,n+=4);return n}function t3e(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}function n3e(e){let t={},n=e.split("&");for(let r=0,i=n.length;r0);return t}function Bz(){const e=Pk(+new Date);return e!==Ak?(Ek=0,Ak=e):e+"."+Pk(Ek++)}for(;U0{this.readyState="paused",t()};if(this.polling||!this.writable){let r=0;this.polling&&(r++,this.once("pollComplete",function(){--r||n()})),this.writable||(r++,this.once("drain",function(){--r||n()}))}else n()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(t){const n=r=>{if(this.readyState==="opening"&&r.type==="open"&&this.onOpen(),r.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(r)};qCe(t,this.socket.binaryType).forEach(n),this.readyState!=="closed"&&(this.polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this.poll())}doClose(){const t=()=>{this.write([{type:"close"}])};this.readyState==="open"?t():this.once("open",t)}write(t){this.writable=!1,WCe(t,n=>{this.doWrite(n,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const t=this.opts.secure?"https":"http",n=this.query||{};return this.opts.timestampRequests!==!1&&(n[this.opts.timestampParam]=Bz()),!this.supportsBinary&&!n.sid&&(n.b64=1),this.createUri(t,n)}request(t={}){return Object.assign(t,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new af(this.uri(),t)}doWrite(t,n){const r=this.request({method:"POST",data:t});r.on("success",n),r.on("error",(i,o)=>{this.onError("xhr post error",i,o)})}doPoll(){const t=this.request();t.on("data",this.onData.bind(this)),t.on("error",(n,r)=>{this.onError("xhr poll error",n,r)}),this.pollXhr=t}}let af=class wv extends Hn{constructor(t,n){super(),YS(this,n),this.opts=n,this.method=n.method||"GET",this.uri=t,this.data=n.data!==void 0?n.data:null,this.create()}create(){var t;const n=$z(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this.opts.xd;const r=this.xhr=new zz(n);try{r.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let i in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&r.setRequestHeader(i,this.opts.extraHeaders[i])}}catch{}if(this.method==="POST")try{r.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{r.setRequestHeader("Accept","*/*")}catch{}(t=this.opts.cookieJar)===null||t===void 0||t.addCookies(r),"withCredentials"in r&&(r.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(r.timeout=this.opts.requestTimeout),r.onreadystatechange=()=>{var i;r.readyState===3&&((i=this.opts.cookieJar)===null||i===void 0||i.parseCookies(r)),r.readyState===4&&(r.status===200||r.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof r.status=="number"?r.status:0)},0))},r.send(this.data)}catch(i){this.setTimeoutFn(()=>{this.onError(i)},0);return}typeof document<"u"&&(this.index=wv.requestsCount++,wv.requests[this.index]=this)}onError(t){this.emitReserved("error",t,this.xhr),this.cleanup(!0)}cleanup(t){if(!(typeof this.xhr>"u"||this.xhr===null)){if(this.xhr.onreadystatechange=s3e,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete wv.requests[this.index],this.xhr=null}}onLoad(){const t=this.xhr.responseText;t!==null&&(this.emitReserved("data",t),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}};af.requestsCount=0;af.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",Rk);else if(typeof addEventListener=="function"){const e="onpagehide"in yo?"pagehide":"unload";addEventListener(e,Rk,!1)}}function Rk(){for(let e in af.requests)af.requests.hasOwnProperty(e)&&af.requests[e].abort()}const LE=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),z0=yo.WebSocket||yo.MozWebSocket,Ok=!0,u3e="arraybuffer",kk=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class c3e extends NE{constructor(t){super(t),this.supportsBinary=!t.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const t=this.uri(),n=this.opts.protocols,r=kk?{}:$z(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(r.headers=this.opts.extraHeaders);try{this.ws=Ok&&!kk?n?new z0(t,n):new z0(t):new z0(t,n,r)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType||u3e,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=t=>this.onClose({description:"websocket connection closed",context:t}),this.ws.onmessage=t=>this.onData(t.data),this.ws.onerror=t=>this.onError("websocket error",t)}write(t){this.writable=!1;for(let n=0;n{const s={};try{Ok&&this.ws.send(o)}catch{}i&&LE(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){const t=this.opts.secure?"wss":"ws",n=this.query||{};return this.opts.timestampRequests&&(n[this.opts.timestampParam]=Bz()),this.supportsBinary||(n.b64=1),this.createUri(t,n)}check(){return!!z0}}function d3e(e,t){return e.type==="message"&&typeof e.data!="string"&&t[0]>=48&&t[0]<=54}class f3e extends NE{get name(){return"webtransport"}doOpen(){typeof WebTransport=="function"&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then(()=>{this.onClose()}).catch(t=>{this.onError("webtransport error",t)}),this.transport.ready.then(()=>{this.transport.createBidirectionalStream().then(t=>{const n=t.readable.getReader();this.writer=t.writable.getWriter();let r;const i=()=>{n.read().then(({done:s,value:a})=>{s||(!r&&a.byteLength===1&&a[0]===54?r=!0:(this.onPacket(KCe(a,r,"arraybuffer")),r=!1),i())}).catch(s=>{})};i();const o=this.query.sid?`0{"sid":"${this.query.sid}"}`:"0";this.writer.write(new TextEncoder().encode(o)).then(()=>this.onOpen())})}))}write(t){this.writable=!1;for(let n=0;n{d3e(r,o)&&this.writer.write(Uint8Array.of(54)),this.writer.write(o).then(()=>{i&&LE(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})})}}doClose(){var t;(t=this.transport)===null||t===void 0||t.close()}}const h3e={websocket:c3e,webtransport:f3e,polling:l3e},p3e=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,g3e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function h5(e){const t=e,n=e.indexOf("["),r=e.indexOf("]");n!=-1&&r!=-1&&(e=e.substring(0,n)+e.substring(n,r).replace(/:/g,";")+e.substring(r,e.length));let i=p3e.exec(e||""),o={},s=14;for(;s--;)o[g3e[s]]=i[s]||"";return n!=-1&&r!=-1&&(o.source=t,o.host=o.host.substring(1,o.host.length-1).replace(/;/g,":"),o.authority=o.authority.replace("[","").replace("]","").replace(/;/g,":"),o.ipv6uri=!0),o.pathNames=m3e(o,o.path),o.queryKey=y3e(o,o.query),o}function m3e(e,t){const n=/\/{2,9}/g,r=t.replace(n,"/").split("/");return(t.slice(0,1)=="/"||t.length===0)&&r.splice(0,1),t.slice(-1)=="/"&&r.splice(r.length-1,1),r}function y3e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,i,o){i&&(n[i]=o)}),n}let Vz=class Sd extends Hn{constructor(t,n={}){super(),this.writeBuffer=[],t&&typeof t=="object"&&(n=t,t=null),t?(t=h5(t),n.hostname=t.host,n.secure=t.protocol==="https"||t.protocol==="wss",n.port=t.port,t.query&&(n.query=t.query)):n.host&&(n.hostname=h5(n.host).host),YS(this,n),this.secure=n.secure!=null?n.secure:typeof location<"u"&&location.protocol==="https:",n.hostname&&!n.port&&(n.port=this.secure?"443":"80"),this.hostname=n.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=n.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=n.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},n),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=n3e(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,typeof addEventListener=="function"&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(t){const n=Object.assign({},this.opts.query);n.EIO=Dz,n.transport=t,this.id&&(n.sid=this.id);const r=Object.assign({},this.opts,{query:n,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[t]);return new h3e[t](r)}open(){let t;if(this.opts.rememberUpgrade&&Sd.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)t="websocket";else if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}else t=this.transports[0];this.readyState="opening";try{t=this.createTransport(t)}catch{this.transports.shift(),this.open();return}t.open(),this.setTransport(t)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",n=>this.onClose("transport close",n))}probe(t){let n=this.createTransport(t),r=!1;Sd.priorWebsocketSuccess=!1;const i=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",f=>{if(!r)if(f.type==="pong"&&f.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Sd.priorWebsocketSuccess=n.name==="websocket",this.transport.pause(()=>{r||this.readyState!=="closed"&&(d(),this.setTransport(n),n.send([{type:"upgrade"}]),this.emitReserved("upgrade",n),n=null,this.upgrading=!1,this.flush())})}else{const p=new Error("probe error");p.transport=n.name,this.emitReserved("upgradeError",p)}}))};function o(){r||(r=!0,d(),n.close(),n=null)}const s=f=>{const p=new Error("probe error: "+f);p.transport=n.name,o(),this.emitReserved("upgradeError",p)};function a(){s("transport closed")}function l(){s("socket closed")}function u(f){n&&f.name!==n.name&&o()}const d=()=>{n.removeListener("open",i),n.removeListener("error",s),n.removeListener("close",a),this.off("close",l),this.off("upgrading",u)};n.once("open",i),n.once("error",s),n.once("close",a),this.once("close",l),this.once("upgrading",u),this.upgrades.indexOf("webtransport")!==-1&&t!=="webtransport"?this.setTimeoutFn(()=>{r||n.open()},200):n.open()}onOpen(){if(this.readyState="open",Sd.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade){let t=0;const n=this.upgrades.length;for(;t{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const t=this.getWritablePackets();this.transport.send(t),this.prevBufferLen=t.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let n=1;for(let r=0;r0&&n>this.maxPayload)return this.writeBuffer.slice(0,r);n+=2}return this.writeBuffer}write(t,n,r){return this.sendPacket("message",t,n,r),this}send(t,n,r){return this.sendPacket("message",t,n,r),this}sendPacket(t,n,r,i){if(typeof n=="function"&&(i=n,n=void 0),typeof r=="function"&&(i=r,r=null),this.readyState==="closing"||this.readyState==="closed")return;r=r||{},r.compress=r.compress!==!1;const o={type:t,data:n,options:r};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),i&&this.once("flush",i),this.flush()}close(){const t=()=>{this.onClose("forced close"),this.transport.close()},n=()=>{this.off("upgrade",n),this.off("upgradeError",n),t()},r=()=>{this.once("upgrade",n),this.once("upgradeError",n)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?r():t()}):this.upgrading?r():t()),this}onError(t){Sd.priorWebsocketSuccess=!1,this.emitReserved("error",t),this.onClose("transport error",t)}onClose(t,n){(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")&&(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),typeof removeEventListener=="function"&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",t,n),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(t){const n=[];let r=0;const i=t.length;for(;rtypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,jz=Object.prototype.toString,S3e=typeof Blob=="function"||typeof Blob<"u"&&jz.call(Blob)==="[object BlobConstructor]",w3e=typeof File=="function"||typeof File<"u"&&jz.call(File)==="[object FileConstructor]";function DE(e){return _3e&&(e instanceof ArrayBuffer||b3e(e))||S3e&&e instanceof Blob||w3e&&e instanceof File}function xv(e,t){if(!e||typeof e!="object")return!1;if(Array.isArray(e)){for(let n=0,r=e.length;n=0&&e.num{delete this.acks[t];for(let s=0;s{this.io.clearTimeoutFn(o),n.apply(this,[null,...s])}}emitWithAck(t,...n){const r=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((i,o)=>{n.push((s,a)=>r?s?o(s):i(a):i(s)),this.emit(t,...n)})}_addToQueue(t){let n;typeof t[t.length-1]=="function"&&(n=t.pop());const r={id:this._queueSeq++,tryCount:0,pending:!1,args:t,flags:Object.assign({fromQueue:!0},this.flags)};t.push((i,...o)=>r!==this._queue[0]?void 0:(i!==null?r.tryCount>this._opts.retries&&(this._queue.shift(),n&&n(i)):(this._queue.shift(),n&&n(null,...o)),r.pending=!1,this._drainQueue())),this._queue.push(r),this._drainQueue()}_drainQueue(t=!1){if(!this.connected||this._queue.length===0)return;const n=this._queue[0];n.pending&&!t||(n.pending=!0,n.tryCount++,this.flags=n.flags,this.emit.apply(this,n.args))}packet(t){t.nsp=this.nsp,this.io._packet(t)}onopen(){typeof this.auth=="function"?this.auth(t=>{this._sendConnectPacket(t)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(t){this.packet({type:pt.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},t):t})}onerror(t){this.connected||this.emitReserved("connect_error",t)}onclose(t,n){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,n)}onpacket(t){if(t.nsp===this.nsp)switch(t.type){case pt.CONNECT:t.data&&t.data.sid?this.onconnect(t.data.sid,t.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case pt.EVENT:case pt.BINARY_EVENT:this.onevent(t);break;case pt.ACK:case pt.BINARY_ACK:this.onack(t);break;case pt.DISCONNECT:this.ondisconnect();break;case pt.CONNECT_ERROR:this.destroy();const r=new Error(t.data.message);r.data=t.data.data,this.emitReserved("connect_error",r);break}}onevent(t){const n=t.data||[];t.id!=null&&n.push(this.ack(t.id)),this.connected?this.emitEvent(n):this.receiveBuffer.push(Object.freeze(n))}emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const n=this._anyListeners.slice();for(const r of n)r.apply(this,t)}super.emit.apply(this,t),this._pid&&t.length&&typeof t[t.length-1]=="string"&&(this._lastOffset=t[t.length-1])}ack(t){const n=this;let r=!1;return function(...i){r||(r=!0,n.packet({type:pt.ACK,id:t,data:i}))}}onack(t){const n=this.acks[t.id];typeof n=="function"&&(n.apply(this,t.data),delete this.acks[t.id])}onconnect(t,n){this.id=t,this.recovered=n&&this._pid===n,this._pid=n,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.receiveBuffer=[],this.sendBuffer.forEach(t=>{this.notifyOutgoingListeners(t),this.packet(t)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:pt.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(t){return this.flags.compress=t,this}get volatile(){return this.flags.volatile=!0,this}timeout(t){return this.flags.timeout=t,this}onAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(t),this}prependAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(t),this}offAny(t){if(!this._anyListeners)return this;if(t){const n=this._anyListeners;for(let r=0;r0&&e.jitter<=1?e.jitter:0,this.attempts=0}Kf.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=Math.floor(t*10)&1?e+n:e-n}return Math.min(e,this.max)|0};Kf.prototype.reset=function(){this.attempts=0};Kf.prototype.setMin=function(e){this.ms=e};Kf.prototype.setMax=function(e){this.max=e};Kf.prototype.setJitter=function(e){this.jitter=e};class m5 extends Hn{constructor(t,n){var r;super(),this.nsps={},this.subs=[],t&&typeof t=="object"&&(n=t,t=void 0),n=n||{},n.path=n.path||"/socket.io",this.opts=n,YS(this,n),this.reconnection(n.reconnection!==!1),this.reconnectionAttempts(n.reconnectionAttempts||1/0),this.reconnectionDelay(n.reconnectionDelay||1e3),this.reconnectionDelayMax(n.reconnectionDelayMax||5e3),this.randomizationFactor((r=n.randomizationFactor)!==null&&r!==void 0?r:.5),this.backoff=new Kf({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=t;const i=n.parser||R3e;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=n.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(t){return arguments.length?(this._reconnection=!!t,this):this._reconnection}reconnectionAttempts(t){return t===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}reconnectionDelay(t){var n;return t===void 0?this._reconnectionDelay:(this._reconnectionDelay=t,(n=this.backoff)===null||n===void 0||n.setMin(t),this)}randomizationFactor(t){var n;return t===void 0?this._randomizationFactor:(this._randomizationFactor=t,(n=this.backoff)===null||n===void 0||n.setJitter(t),this)}reconnectionDelayMax(t){var n;return t===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,(n=this.backoff)===null||n===void 0||n.setMax(t),this)}timeout(t){return arguments.length?(this._timeout=t,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(t){if(~this._readyState.indexOf("open"))return this;this.engine=new Vz(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const i=zo(n,"open",function(){r.onopen(),t&&t()}),o=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),t?t(a):this.maybeReconnectOnOpen()},s=zo(n,"error",o);if(this._timeout!==!1){const a=this._timeout,l=this.setTimeoutFn(()=>{i(),o(new Error("timeout")),n.close()},a);this.opts.autoUnref&&l.unref(),this.subs.push(()=>{this.clearTimeoutFn(l)})}return this.subs.push(i),this.subs.push(s),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(zo(t,"ping",this.onping.bind(this)),zo(t,"data",this.ondata.bind(this)),zo(t,"error",this.onerror.bind(this)),zo(t,"close",this.onclose.bind(this)),zo(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(t){try{this.decoder.add(t)}catch(n){this.onclose("parse error",n)}}ondecoded(t){LE(()=>{this.emitReserved("packet",t)},this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,n){let r=this.nsps[t];return r?this._autoConnect&&!r.active&&r.connect():(r=new Gz(this,t,n),this.nsps[t]=r),r}_destroy(t){const n=Object.keys(this.nsps);for(const r of n)if(this.nsps[r].active)return;this._close()}_packet(t){const n=this.encoder.encode(t);for(let r=0;rt()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(t,n){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",t,n),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const n=this.backoff.duration();this._reconnecting=!0;const r=this.setTimeoutFn(()=>{t.skipReconnect||(this.emitReserved("reconnect_attempt",t.backoff.attempts),!t.skipReconnect&&t.open(i=>{i?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",i)):t.onreconnect()}))},n);this.opts.autoUnref&&r.unref(),this.subs.push(()=>{this.clearTimeoutFn(r)})}}onreconnect(){const t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const np={};function Cv(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=v3e(e,t.path||"/socket.io"),r=n.source,i=n.id,o=n.path,s=np[i]&&o in np[i].nsps,a=t.forceNew||t["force new connection"]||t.multiplex===!1||s;let l;return a?l=new m5(r,t):(np[i]||(np[i]=new m5(r,t)),l=np[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign(Cv,{Manager:m5,Socket:Gz,io:Cv,connect:Cv});const Mk=()=>{let e=!1,n=`${window.location.protocol==="https:"?"wss":"ws"}://${window.location.host}`;const r={timeout:6e4,path:"/ws/socket.io",autoConnect:!1};if(["nodes","package"].includes("production")){const s=wg.get();s&&(n=s.replace(/^https?\:\/\//i,""));const a=Sg.get();a&&(r.auth={token:a}),r.transports=["websocket","polling"]}const i=Cv(n,r);return s=>a=>l=>{const{dispatch:u,getState:d}=s;if(e||(UCe({storeApi:s,socket:i}),e=!0,i.connect()),Ir.fulfilled.match(l)){const f=l.payload.id,p=d().system.sessionId;p&&(i.emit("unsubscribe",{session:p}),u(X$({sessionId:p}))),i.emit("subscribe",{session:f}),u(MT({sessionId:f}))}a(l)}};function k3e(e){if(e.sheet)return e.sheet;for(var t=0;t0?Rr(Xf,--Oi):0,If--,Vn===10&&(If=1,ZS--),Vn}function Hi(){return Vn=Oi2||Fg(Vn)>3?"":" "}function G3e(e,t){for(;--t&&Hi()&&!(Vn<48||Vn>102||Vn>57&&Vn<65||Vn>70&&Vn<97););return Nm(e,Tv()+(t<6&&ks()==32&&Hi()==32))}function v5(e){for(;Hi();)switch(Vn){case e:return Oi;case 34:case 39:e!==34&&e!==39&&v5(Vn);break;case 40:e===41&&v5(e);break;case 92:Hi();break}return Oi}function H3e(e,t){for(;Hi()&&e+Vn!==47+10;)if(e+Vn===42+42&&ks()===47)break;return"/*"+Nm(t,Oi-1)+"*"+QS(e===47?e:Hi())}function W3e(e){for(;!Fg(ks());)Hi();return Nm(e,Oi)}function q3e(e){return Yz(Av("",null,null,null,[""],e=Xz(e),0,[0],e))}function Av(e,t,n,r,i,o,s,a,l){for(var u=0,d=0,f=s,p=0,g=0,m=0,v=1,x=1,_=1,b=0,y="",S=i,C=o,T=r,E=y;x;)switch(m=b,b=Hi()){case 40:if(m!=108&&Rr(E,f-1)==58){y5(E+=Pt(Ev(b),"&","&\f"),"&\f")!=-1&&(_=-1);break}case 34:case 39:case 91:E+=Ev(b);break;case 9:case 10:case 13:case 32:E+=j3e(m);break;case 92:E+=G3e(Tv()-1,7);continue;case 47:switch(ks()){case 42:case 47:V0(K3e(H3e(Hi(),Tv()),t,n),l);break;default:E+="/"}break;case 123*v:a[u++]=ys(E)*_;case 125*v:case 59:case 0:switch(b){case 0:case 125:x=0;case 59+d:_==-1&&(E=Pt(E,/\f/g,"")),g>0&&ys(E)-f&&V0(g>32?Lk(E+";",r,n,f-1):Lk(Pt(E," ","")+";",r,n,f-2),l);break;case 59:E+=";";default:if(V0(T=Nk(E,t,n,u,d,i,a,y,S=[],C=[],f),o),b===123)if(d===0)Av(E,t,T,T,S,o,f,a,C);else switch(p===99&&Rr(E,3)===110?100:p){case 100:case 108:case 109:case 115:Av(e,T,T,r&&V0(Nk(e,T,T,0,0,i,a,y,i,S=[],f),C),i,C,f,a,r?S:C);break;default:Av(E,T,T,T,[""],C,0,a,C)}}u=d=g=0,v=_=1,y=E="",f=s;break;case 58:f=1+ys(E),g=m;default:if(v<1){if(b==123)--v;else if(b==125&&v++==0&&V3e()==125)continue}switch(E+=QS(b),b*v){case 38:_=d>0?1:(E+="\f",-1);break;case 44:a[u++]=(ys(E)-1)*_,_=1;break;case 64:ks()===45&&(E+=Ev(Hi())),p=ks(),d=f=ys(y=E+=W3e(Tv())),b++;break;case 45:m===45&&ys(E)==2&&(v=0)}}return o}function Nk(e,t,n,r,i,o,s,a,l,u,d){for(var f=i-1,p=i===0?o:[""],g=UE(p),m=0,v=0,x=0;m0?p[_]+" "+b:Pt(b,/&\f/g,p[_])))&&(l[x++]=y);return JS(e,t,n,i===0?FE:a,l,u,d)}function K3e(e,t,n){return JS(e,t,n,Hz,QS(z3e()),$g(e,2,-2),0)}function Lk(e,t,n,r){return JS(e,t,n,BE,$g(e,0,r),$g(e,r+1,-1),r)}function lf(e,t){for(var n="",r=UE(e),i=0;i6)switch(Rr(e,t+1)){case 109:if(Rr(e,t+4)!==45)break;case 102:return Pt(e,/(.+:)(.+)-([^]+)/,"$1"+At+"$2-$3$1"+r_+(Rr(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~y5(e,"stretch")?Zz(Pt(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Rr(e,t+1)!==115)break;case 6444:switch(Rr(e,ys(e)-3-(~y5(e,"!important")&&10))){case 107:return Pt(e,":",":"+At)+e;case 101:return Pt(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+At+(Rr(e,14)===45?"inline-":"")+"box$3$1"+At+"$2$3$1"+Br+"$2box$3")+e}break;case 5936:switch(Rr(e,t+11)){case 114:return At+e+Br+Pt(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return At+e+Br+Pt(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return At+e+Br+Pt(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return At+e+Br+e+e}return e}var r5e=function(t,n,r,i){if(t.length>-1&&!t.return)switch(t.type){case BE:t.return=Zz(t.value,t.length);break;case Wz:return lf([rp(t,{value:Pt(t.value,"@","@"+At)})],i);case FE:if(t.length)return U3e(t.props,function(o){switch(B3e(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return lf([rp(t,{props:[Pt(o,/:(read-\w+)/,":"+r_+"$1")]})],i);case"::placeholder":return lf([rp(t,{props:[Pt(o,/:(plac\w+)/,":"+At+"input-$1")]}),rp(t,{props:[Pt(o,/:(plac\w+)/,":"+r_+"$1")]}),rp(t,{props:[Pt(o,/:(plac\w+)/,Br+"input-$1")]})],i)}return""})}},i5e=[r5e],o5e=function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(v){var x=v.getAttribute("data-emotion");x.indexOf(" ")!==-1&&(document.head.appendChild(v),v.setAttribute("data-s",""))})}var i=t.stylisPlugins||i5e,o={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(v){for(var x=v.getAttribute("data-emotion").split(" "),_=1;_=4;++r,i-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(i){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var u5e={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},c5e=/[A-Z]|^ms/g,d5e=/_EMO_([^_]+?)_([^]*?)_EMO_/g,tV=function(t){return t.charCodeAt(1)===45},Fk=function(t){return t!=null&&typeof t!="boolean"},qx=Qz(function(e){return tV(e)?e:e.replace(c5e,"-$&").toLowerCase()}),Bk=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(d5e,function(r,i,o){return vs={name:i,styles:o,next:vs},i})}return u5e[t]!==1&&!tV(t)&&typeof n=="number"&&n!==0?n+"px":n};function Bg(e,t,n){if(n==null)return"";if(n.__emotion_styles!==void 0)return n;switch(typeof n){case"boolean":return"";case"object":{if(n.anim===1)return vs={name:n.name,styles:n.styles,next:vs},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)vs={name:r.name,styles:r.styles,next:vs},r=r.next;var i=n.styles+";";return i}return f5e(e,t,n)}case"function":{if(e!==void 0){var o=vs,s=n(e);return vs=o,Bg(e,t,s)}break}}if(t==null)return n;var a=t[n];return a!==void 0?a:n}function f5e(e,t,n){var r="";if(Array.isArray(n))for(var i=0;i` or ``");return e}var sV=L.createContext({});sV.displayName="ColorModeContext";function VE(){const e=L.useContext(sV);if(e===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return e}function uMe(e,t){const{colorMode:n}=VE();return n==="dark"?t:e}function b5e(){const e=VE(),t=oV();return{...e,theme:t}}function S5e(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__breakpoints)==null?void 0:a.asArray)==null?void 0:l[s]};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function w5e(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__cssMap)==null?void 0:a[s])==null?void 0:l.value};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function cMe(e,t,n){const r=oV();return x5e(e,t,n)(r)}function x5e(e,t,n){const r=Array.isArray(t)?t:[t],i=Array.isArray(n)?n:[n];return o=>{const s=i.filter(Boolean),a=r.map((l,u)=>{var d,f;if(e==="breakpoints")return S5e(o,l,(d=s[u])!=null?d:l);const p=`${e}.${l}`;return w5e(o,p,(f=s[u])!=null?f:l)});return Array.isArray(t)?a:a[0]}}var aV=(...e)=>e.filter(Boolean).join(" ");function C5e(){return!1}function Sa(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}var dMe=e=>{const{condition:t,message:n}=e;t&&C5e()&&console.warn(n)};function Bu(e,...t){return T5e(e)?e(...t):e}var T5e=e=>typeof e=="function",fMe=e=>e?"":void 0,hMe=e=>e?!0:void 0;function pMe(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function gMe(...e){return function(n){e.forEach(r=>{r==null||r(n)})}}var i_={exports:{}};i_.exports;(function(e,t){var n=200,r="__lodash_hash_undefined__",i=800,o=16,s=9007199254740991,a="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",d="[object Boolean]",f="[object Date]",p="[object Error]",g="[object Function]",m="[object GeneratorFunction]",v="[object Map]",x="[object Number]",_="[object Null]",b="[object Object]",y="[object Proxy]",S="[object RegExp]",C="[object Set]",T="[object String]",E="[object Undefined]",P="[object WeakMap]",k="[object ArrayBuffer]",O="[object DataView]",M="[object Float32Array]",G="[object Float64Array]",U="[object Int8Array]",A="[object Int16Array]",N="[object Int32Array]",F="[object Uint8Array]",B="[object Uint8ClampedArray]",D="[object Uint16Array]",V="[object Uint32Array]",j=/[\\^$.*+?()[\]{}|]/g,q=/^\[object .+?Constructor\]$/,Z=/^(?:0|[1-9]\d*)$/,ee={};ee[M]=ee[G]=ee[U]=ee[A]=ee[N]=ee[F]=ee[B]=ee[D]=ee[V]=!0,ee[a]=ee[l]=ee[k]=ee[d]=ee[O]=ee[f]=ee[p]=ee[g]=ee[v]=ee[x]=ee[b]=ee[S]=ee[C]=ee[T]=ee[P]=!1;var ie=typeof He=="object"&&He&&He.Object===Object&&He,se=typeof self=="object"&&self&&self.Object===Object&&self,le=ie||se||Function("return this")(),W=t&&!t.nodeType&&t,ne=W&&!0&&e&&!e.nodeType&&e,fe=ne&&ne.exports===W,pe=fe&&ie.process,ve=function(){try{var H=ne&&ne.require&&ne.require("util").types;return H||pe&&pe.binding&&pe.binding("util")}catch{}}(),ye=ve&&ve.isTypedArray;function We(H,Y,re){switch(re.length){case 0:return H.call(Y);case 1:return H.call(Y,re[0]);case 2:return H.call(Y,re[0],re[1]);case 3:return H.call(Y,re[0],re[1],re[2])}return H.apply(Y,re)}function Me(H,Y){for(var re=-1,we=Array(H);++re-1}function Ao(H,Y){var re=this.__data__,we=Ro(re,H);return we<0?(++this.size,re.push([H,Y])):re[we][1]=Y,this}Xn.prototype.clear=Mi,Xn.prototype.delete=os,Xn.prototype.get=to,Xn.prototype.has=Va,Xn.prototype.set=Ao;function wr(H){var Y=-1,re=H==null?0:H.length;for(this.clear();++Y1?re[ot-1]:void 0,qe=ot>2?re[2]:void 0;for(Mt=H.length>3&&typeof Mt=="function"?(ot--,Mt):void 0,qe&&Zm(re[0],re[1],qe)&&(Mt=ot<3?void 0:Mt,ot=1),Y=Object(Y);++we-1&&H%1==0&&H0){if(++Y>=i)return arguments[0]}else Y=0;return H.apply(void 0,arguments)}}function ry(H){if(H!=null){try{return mt.call(H)}catch{}try{return H+""}catch{}}return""}function $c(H,Y){return H===Y||H!==H&&Y!==Y}var hh=cu(function(){return arguments}())?cu:function(H){return du(H)&&Jt.call(H,"callee")&&!Xr.call(H,"callee")},ph=Array.isArray;function Fc(H){return H!=null&&oy(H.length)&&!gh(H)}function _2(H){return du(H)&&Fc(H)}var iy=Vs||w2;function gh(H){if(!Oo(H))return!1;var Y=Ga(H);return Y==g||Y==m||Y==u||Y==y}function oy(H){return typeof H=="number"&&H>-1&&H%1==0&&H<=s}function Oo(H){var Y=typeof H;return H!=null&&(Y=="object"||Y=="function")}function du(H){return H!=null&&typeof H=="object"}function b2(H){if(!du(H)||Ga(H)!=b)return!1;var Y=vr(H);if(Y===null)return!0;var re=Jt.call(Y,"constructor")&&Y.constructor;return typeof re=="function"&&re instanceof re&&mt.call(re)==hi}var sy=ye?Ee(ye):Ha;function S2(H){return Km(H,ay(H))}function ay(H){return Fc(H)?sh(H,!0):p2(H)}var Ht=Mc(function(H,Y,re,we){Gm(H,Y,re,we)});function Ut(H){return function(){return H}}function ly(H){return H}function w2(){return!1}e.exports=Ht})(i_,i_.exports);var E5e=i_.exports;const Ts=dc(E5e);var A5e=e=>/!(important)?$/.test(e),Vk=e=>typeof e=="string"?e.replace(/!(important)?$/,"").trim():e,P5e=(e,t)=>n=>{const r=String(t),i=A5e(r),o=Vk(r),s=e?`${e}.${o}`:o;let a=Sa(n.__cssMap)&&s in n.__cssMap?n.__cssMap[s].varRef:t;return a=Vk(a),i?`${a} !important`:a};function jE(e){const{scale:t,transform:n,compose:r}=e;return(o,s)=>{var a;const l=P5e(t,o)(s);let u=(a=n==null?void 0:n(l,s))!=null?a:l;return r&&(u=r(u,s)),u}}var j0=(...e)=>t=>e.reduce((n,r)=>r(n),t);function co(e,t){return n=>{const r={property:n,scale:e};return r.transform=jE({scale:e,transform:t}),r}}var R5e=({rtl:e,ltr:t})=>n=>n.direction==="rtl"?e:t;function O5e(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:R5e(t),transform:n?jE({scale:n,compose:r}):r}}var lV=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"];function k5e(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...lV].join(" ")}function I5e(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...lV].join(" ")}var M5e={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},N5e={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"};function L5e(e){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":e,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}var D5e={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},_5={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},$5e=new Set(Object.values(_5)),b5=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),F5e=e=>e.trim();function B5e(e,t){if(e==null||b5.has(e))return e;if(!(S5(e)||b5.has(e)))return`url('${e}')`;const i=/(^[a-z-A-Z]+)\((.*)\)/g.exec(e),o=i==null?void 0:i[1],s=i==null?void 0:i[2];if(!o||!s)return e;const a=o.includes("-gradient")?o:`${o}-gradient`,[l,...u]=s.split(",").map(F5e).filter(Boolean);if((u==null?void 0:u.length)===0)return e;const d=l in _5?_5[l]:l;u.unshift(d);const f=u.map(p=>{if($5e.has(p))return p;const g=p.indexOf(" "),[m,v]=g!==-1?[p.substr(0,g),p.substr(g+1)]:[p],x=S5(v)?v:v&&v.split(" "),_=`colors.${m}`,b=_ in t.__cssMap?t.__cssMap[_].varRef:m;return x?[b,...Array.isArray(x)?x:[x]].join(" "):b});return`${a}(${f.join(", ")})`}var S5=e=>typeof e=="string"&&e.includes("(")&&e.includes(")"),U5e=(e,t)=>B5e(e,t??{});function z5e(e){return/^var\(--.+\)$/.test(e)}var V5e=e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}},ds=e=>t=>`${e}(${t})`,St={filter(e){return e!=="auto"?e:M5e},backdropFilter(e){return e!=="auto"?e:N5e},ring(e){return L5e(St.px(e))},bgClip(e){return e==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform(e){return e==="auto"?k5e():e==="auto-gpu"?I5e():e},vh(e){return e==="$100vh"?"var(--chakra-vh)":e},px(e){if(e==null)return e;const{unitless:t}=V5e(e);return t||typeof e=="number"?`${e}px`:e},fraction(e){return typeof e!="number"||e>1?e:`${e*100}%`},float(e,t){const n={left:"right",right:"left"};return t.direction==="rtl"?n[e]:e},degree(e){if(z5e(e)||e==null)return e;const t=typeof e=="string"&&!e.endsWith("deg");return typeof e=="number"||t?`${e}deg`:e},gradient:U5e,blur:ds("blur"),opacity:ds("opacity"),brightness:ds("brightness"),contrast:ds("contrast"),dropShadow:ds("drop-shadow"),grayscale:ds("grayscale"),hueRotate:ds("hue-rotate"),invert:ds("invert"),saturate:ds("saturate"),sepia:ds("sepia"),bgImage(e){return e==null||S5(e)||b5.has(e)?e:`url(${e})`},outline(e){const t=String(e)==="0"||String(e)==="none";return e!==null&&t?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:e}},flexDirection(e){var t;const{space:n,divide:r}=(t=D5e[e])!=null?t:{},i={flexDirection:e};return n&&(i[n]=1),r&&(i[r]=1),i}},Q={borderWidths:co("borderWidths"),borderStyles:co("borderStyles"),colors:co("colors"),borders:co("borders"),gradients:co("gradients",St.gradient),radii:co("radii",St.px),space:co("space",j0(St.vh,St.px)),spaceT:co("space",j0(St.vh,St.px)),degreeT(e){return{property:e,transform:St.degree}},prop(e,t,n){return{property:e,scale:t,...t&&{transform:jE({scale:t,transform:n})}}},propT(e,t){return{property:e,transform:t}},sizes:co("sizes",j0(St.vh,St.px)),sizesT:co("sizes",j0(St.vh,St.fraction)),shadows:co("shadows"),logical:O5e,blur:co("blur",St.blur)},Pv={background:Q.colors("background"),backgroundColor:Q.colors("backgroundColor"),backgroundImage:Q.gradients("backgroundImage"),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:St.bgClip},bgSize:Q.prop("backgroundSize"),bgPosition:Q.prop("backgroundPosition"),bg:Q.colors("background"),bgColor:Q.colors("backgroundColor"),bgPos:Q.prop("backgroundPosition"),bgRepeat:Q.prop("backgroundRepeat"),bgAttachment:Q.prop("backgroundAttachment"),bgGradient:Q.gradients("backgroundImage"),bgClip:{transform:St.bgClip}};Object.assign(Pv,{bgImage:Pv.backgroundImage,bgImg:Pv.backgroundImage});var Et={border:Q.borders("border"),borderWidth:Q.borderWidths("borderWidth"),borderStyle:Q.borderStyles("borderStyle"),borderColor:Q.colors("borderColor"),borderRadius:Q.radii("borderRadius"),borderTop:Q.borders("borderTop"),borderBlockStart:Q.borders("borderBlockStart"),borderTopLeftRadius:Q.radii("borderTopLeftRadius"),borderStartStartRadius:Q.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:Q.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:Q.radii("borderTopRightRadius"),borderStartEndRadius:Q.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:Q.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:Q.borders("borderRight"),borderInlineEnd:Q.borders("borderInlineEnd"),borderBottom:Q.borders("borderBottom"),borderBlockEnd:Q.borders("borderBlockEnd"),borderBottomLeftRadius:Q.radii("borderBottomLeftRadius"),borderBottomRightRadius:Q.radii("borderBottomRightRadius"),borderLeft:Q.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:Q.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:Q.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:Q.borders(["borderLeft","borderRight"]),borderInline:Q.borders("borderInline"),borderY:Q.borders(["borderTop","borderBottom"]),borderBlock:Q.borders("borderBlock"),borderTopWidth:Q.borderWidths("borderTopWidth"),borderBlockStartWidth:Q.borderWidths("borderBlockStartWidth"),borderTopColor:Q.colors("borderTopColor"),borderBlockStartColor:Q.colors("borderBlockStartColor"),borderTopStyle:Q.borderStyles("borderTopStyle"),borderBlockStartStyle:Q.borderStyles("borderBlockStartStyle"),borderBottomWidth:Q.borderWidths("borderBottomWidth"),borderBlockEndWidth:Q.borderWidths("borderBlockEndWidth"),borderBottomColor:Q.colors("borderBottomColor"),borderBlockEndColor:Q.colors("borderBlockEndColor"),borderBottomStyle:Q.borderStyles("borderBottomStyle"),borderBlockEndStyle:Q.borderStyles("borderBlockEndStyle"),borderLeftWidth:Q.borderWidths("borderLeftWidth"),borderInlineStartWidth:Q.borderWidths("borderInlineStartWidth"),borderLeftColor:Q.colors("borderLeftColor"),borderInlineStartColor:Q.colors("borderInlineStartColor"),borderLeftStyle:Q.borderStyles("borderLeftStyle"),borderInlineStartStyle:Q.borderStyles("borderInlineStartStyle"),borderRightWidth:Q.borderWidths("borderRightWidth"),borderInlineEndWidth:Q.borderWidths("borderInlineEndWidth"),borderRightColor:Q.colors("borderRightColor"),borderInlineEndColor:Q.colors("borderInlineEndColor"),borderRightStyle:Q.borderStyles("borderRightStyle"),borderInlineEndStyle:Q.borderStyles("borderInlineEndStyle"),borderTopRadius:Q.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:Q.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:Q.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:Q.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(Et,{rounded:Et.borderRadius,roundedTop:Et.borderTopRadius,roundedTopLeft:Et.borderTopLeftRadius,roundedTopRight:Et.borderTopRightRadius,roundedTopStart:Et.borderStartStartRadius,roundedTopEnd:Et.borderStartEndRadius,roundedBottom:Et.borderBottomRadius,roundedBottomLeft:Et.borderBottomLeftRadius,roundedBottomRight:Et.borderBottomRightRadius,roundedBottomStart:Et.borderEndStartRadius,roundedBottomEnd:Et.borderEndEndRadius,roundedLeft:Et.borderLeftRadius,roundedRight:Et.borderRightRadius,roundedStart:Et.borderInlineStartRadius,roundedEnd:Et.borderInlineEndRadius,borderStart:Et.borderInlineStart,borderEnd:Et.borderInlineEnd,borderTopStartRadius:Et.borderStartStartRadius,borderTopEndRadius:Et.borderStartEndRadius,borderBottomStartRadius:Et.borderEndStartRadius,borderBottomEndRadius:Et.borderEndEndRadius,borderStartRadius:Et.borderInlineStartRadius,borderEndRadius:Et.borderInlineEndRadius,borderStartWidth:Et.borderInlineStartWidth,borderEndWidth:Et.borderInlineEndWidth,borderStartColor:Et.borderInlineStartColor,borderEndColor:Et.borderInlineEndColor,borderStartStyle:Et.borderInlineStartStyle,borderEndStyle:Et.borderInlineEndStyle});var j5e={color:Q.colors("color"),textColor:Q.colors("color"),fill:Q.colors("fill"),stroke:Q.colors("stroke")},w5={boxShadow:Q.shadows("boxShadow"),mixBlendMode:!0,blendMode:Q.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:Q.prop("backgroundBlendMode"),opacity:!0};Object.assign(w5,{shadow:w5.boxShadow});var G5e={filter:{transform:St.filter},blur:Q.blur("--chakra-blur"),brightness:Q.propT("--chakra-brightness",St.brightness),contrast:Q.propT("--chakra-contrast",St.contrast),hueRotate:Q.degreeT("--chakra-hue-rotate"),invert:Q.propT("--chakra-invert",St.invert),saturate:Q.propT("--chakra-saturate",St.saturate),dropShadow:Q.propT("--chakra-drop-shadow",St.dropShadow),backdropFilter:{transform:St.backdropFilter},backdropBlur:Q.blur("--chakra-backdrop-blur"),backdropBrightness:Q.propT("--chakra-backdrop-brightness",St.brightness),backdropContrast:Q.propT("--chakra-backdrop-contrast",St.contrast),backdropHueRotate:Q.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:Q.propT("--chakra-backdrop-invert",St.invert),backdropSaturate:Q.propT("--chakra-backdrop-saturate",St.saturate)},o_={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:St.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:Q.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:Q.space("gap"),rowGap:Q.space("rowGap"),columnGap:Q.space("columnGap")};Object.assign(o_,{flexDir:o_.flexDirection});var uV={gridGap:Q.space("gridGap"),gridColumnGap:Q.space("gridColumnGap"),gridRowGap:Q.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},H5e={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:St.outline},outlineOffset:!0,outlineColor:Q.colors("outlineColor")},ho={width:Q.sizesT("width"),inlineSize:Q.sizesT("inlineSize"),height:Q.sizes("height"),blockSize:Q.sizes("blockSize"),boxSize:Q.sizes(["width","height"]),minWidth:Q.sizes("minWidth"),minInlineSize:Q.sizes("minInlineSize"),minHeight:Q.sizes("minHeight"),minBlockSize:Q.sizes("minBlockSize"),maxWidth:Q.sizes("maxWidth"),maxInlineSize:Q.sizes("maxInlineSize"),maxHeight:Q.sizes("maxHeight"),maxBlockSize:Q.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,aspectRatio:!0,hideFrom:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (min-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.minW)!=null?i:e})`]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (max-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r._minW)!=null?i:e})`]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:Q.propT("float",St.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(ho,{w:ho.width,h:ho.height,minW:ho.minWidth,maxW:ho.maxWidth,minH:ho.minHeight,maxH:ho.maxHeight,overscroll:ho.overscrollBehavior,overscrollX:ho.overscrollBehaviorX,overscrollY:ho.overscrollBehaviorY});var W5e={listStyleType:!0,listStylePosition:!0,listStylePos:Q.prop("listStylePosition"),listStyleImage:!0,listStyleImg:Q.prop("listStyleImage")};function q5e(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},X5e=K5e(q5e),Y5e={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},Q5e={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},Kx=(e,t,n)=>{const r={},i=X5e(e,t,{});for(const o in i)o in n&&n[o]!=null||(r[o]=i[o]);return r},Z5e={srOnly:{transform(e){return e===!0?Y5e:e==="focusable"?Q5e:{}}},layerStyle:{processResult:!0,transform:(e,t,n)=>Kx(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>Kx(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>Kx(t,e,n)}},Rp={position:!0,pos:Q.prop("position"),zIndex:Q.prop("zIndex","zIndices"),inset:Q.spaceT("inset"),insetX:Q.spaceT(["left","right"]),insetInline:Q.spaceT("insetInline"),insetY:Q.spaceT(["top","bottom"]),insetBlock:Q.spaceT("insetBlock"),top:Q.spaceT("top"),insetBlockStart:Q.spaceT("insetBlockStart"),bottom:Q.spaceT("bottom"),insetBlockEnd:Q.spaceT("insetBlockEnd"),left:Q.spaceT("left"),insetInlineStart:Q.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:Q.spaceT("right"),insetInlineEnd:Q.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(Rp,{insetStart:Rp.insetInlineStart,insetEnd:Rp.insetInlineEnd});var J5e={ring:{transform:St.ring},ringColor:Q.colors("--chakra-ring-color"),ringOffset:Q.prop("--chakra-ring-offset-width"),ringOffsetColor:Q.colors("--chakra-ring-offset-color"),ringInset:Q.prop("--chakra-ring-inset")},tn={margin:Q.spaceT("margin"),marginTop:Q.spaceT("marginTop"),marginBlockStart:Q.spaceT("marginBlockStart"),marginRight:Q.spaceT("marginRight"),marginInlineEnd:Q.spaceT("marginInlineEnd"),marginBottom:Q.spaceT("marginBottom"),marginBlockEnd:Q.spaceT("marginBlockEnd"),marginLeft:Q.spaceT("marginLeft"),marginInlineStart:Q.spaceT("marginInlineStart"),marginX:Q.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:Q.spaceT("marginInline"),marginY:Q.spaceT(["marginTop","marginBottom"]),marginBlock:Q.spaceT("marginBlock"),padding:Q.space("padding"),paddingTop:Q.space("paddingTop"),paddingBlockStart:Q.space("paddingBlockStart"),paddingRight:Q.space("paddingRight"),paddingBottom:Q.space("paddingBottom"),paddingBlockEnd:Q.space("paddingBlockEnd"),paddingLeft:Q.space("paddingLeft"),paddingInlineStart:Q.space("paddingInlineStart"),paddingInlineEnd:Q.space("paddingInlineEnd"),paddingX:Q.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:Q.space("paddingInline"),paddingY:Q.space(["paddingTop","paddingBottom"]),paddingBlock:Q.space("paddingBlock")};Object.assign(tn,{m:tn.margin,mt:tn.marginTop,mr:tn.marginRight,me:tn.marginInlineEnd,marginEnd:tn.marginInlineEnd,mb:tn.marginBottom,ml:tn.marginLeft,ms:tn.marginInlineStart,marginStart:tn.marginInlineStart,mx:tn.marginX,my:tn.marginY,p:tn.padding,pt:tn.paddingTop,py:tn.paddingY,px:tn.paddingX,pb:tn.paddingBottom,pl:tn.paddingLeft,ps:tn.paddingInlineStart,paddingStart:tn.paddingInlineStart,pr:tn.paddingRight,pe:tn.paddingInlineEnd,paddingEnd:tn.paddingInlineEnd});var e4e={textDecorationColor:Q.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:Q.shadows("textShadow")},t4e={clipPath:!0,transform:Q.propT("transform",St.transform),transformOrigin:!0,translateX:Q.spaceT("--chakra-translate-x"),translateY:Q.spaceT("--chakra-translate-y"),skewX:Q.degreeT("--chakra-skew-x"),skewY:Q.degreeT("--chakra-skew-y"),scaleX:Q.prop("--chakra-scale-x"),scaleY:Q.prop("--chakra-scale-y"),scale:Q.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:Q.degreeT("--chakra-rotate")},n4e={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:Q.prop("transitionDuration","transition.duration"),transitionProperty:Q.prop("transitionProperty","transition.property"),transitionTimingFunction:Q.prop("transitionTimingFunction","transition.easing")},r4e={fontFamily:Q.prop("fontFamily","fonts"),fontSize:Q.prop("fontSize","fontSizes",St.px),fontWeight:Q.prop("fontWeight","fontWeights"),lineHeight:Q.prop("lineHeight","lineHeights"),letterSpacing:Q.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,textIndent:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,isTruncated:{transform(e){if(e===!0)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},i4e={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:Q.spaceT("scrollMargin"),scrollMarginTop:Q.spaceT("scrollMarginTop"),scrollMarginBottom:Q.spaceT("scrollMarginBottom"),scrollMarginLeft:Q.spaceT("scrollMarginLeft"),scrollMarginRight:Q.spaceT("scrollMarginRight"),scrollMarginX:Q.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:Q.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:Q.spaceT("scrollPadding"),scrollPaddingTop:Q.spaceT("scrollPaddingTop"),scrollPaddingBottom:Q.spaceT("scrollPaddingBottom"),scrollPaddingLeft:Q.spaceT("scrollPaddingLeft"),scrollPaddingRight:Q.spaceT("scrollPaddingRight"),scrollPaddingX:Q.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:Q.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function cV(e){return Sa(e)&&e.reference?e.reference:String(e)}var e2=(e,...t)=>t.map(cV).join(` ${e} `).replace(/calc/g,""),jk=(...e)=>`calc(${e2("+",...e)})`,Gk=(...e)=>`calc(${e2("-",...e)})`,x5=(...e)=>`calc(${e2("*",...e)})`,Hk=(...e)=>`calc(${e2("/",...e)})`,Wk=e=>{const t=cV(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:x5(t,-1)},Iu=Object.assign(e=>({add:(...t)=>Iu(jk(e,...t)),subtract:(...t)=>Iu(Gk(e,...t)),multiply:(...t)=>Iu(x5(e,...t)),divide:(...t)=>Iu(Hk(e,...t)),negate:()=>Iu(Wk(e)),toString:()=>e.toString()}),{add:jk,subtract:Gk,multiply:x5,divide:Hk,negate:Wk});function o4e(e,t="-"){return e.replace(/\s+/g,t)}function s4e(e){const t=o4e(e.toString());return l4e(a4e(t))}function a4e(e){return e.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?e.replace(".","\\."):e}function l4e(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}function u4e(e,t=""){return[t,e].filter(Boolean).join("-")}function c4e(e,t){return`var(${e}${t?`, ${t}`:""})`}function d4e(e,t=""){return s4e(`--${u4e(e,t)}`)}function C5(e,t,n){const r=d4e(e,n);return{variable:r,reference:c4e(r,t)}}function mMe(e,t){const n={};for(const r of t){if(Array.isArray(r)){const[i,o]=r;n[i]=C5(`${e}-${i}`,o);continue}n[r]=C5(`${e}-${r}`)}return n}function f4e(e){const t=e==null?0:e.length;return t?e[t-1]:void 0}function h4e(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}function T5(e){if(e==null)return e;const{unitless:t}=h4e(e);return t||typeof e=="number"?`${e}px`:e}var dV=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,GE=e=>Object.fromEntries(Object.entries(e).sort(dV));function qk(e){const t=GE(e);return Object.assign(Object.values(t),t)}function p4e(e){const t=Object.keys(GE(e));return new Set(t)}function Kk(e){var t;if(!e)return e;e=(t=T5(e))!=null?t:e;const n=-.02;return typeof e=="number"?`${e+n}`:e.replace(/(\d+\.?\d*)/u,r=>`${parseFloat(r)+n}`)}function pp(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${T5(e)})`),t&&n.push("and",`(max-width: ${T5(t)})`),n.join(" ")}function g4e(e){var t;if(!e)return null;e.base=(t=e.base)!=null?t:"0px";const n=qk(e),r=Object.entries(e).sort(dV).map(([s,a],l,u)=>{var d;let[,f]=(d=u[l+1])!=null?d:[];return f=parseFloat(f)>0?Kk(f):void 0,{_minW:Kk(a),breakpoint:s,minW:a,maxW:f,maxWQuery:pp(null,f),minWQuery:pp(a),minMaxQuery:pp(a,f)}}),i=p4e(e),o=Array.from(i.values());return{keys:i,normalized:n,isResponsive(s){const a=Object.keys(s);return a.length>0&&a.every(l=>i.has(l))},asObject:GE(e),asArray:qk(e),details:r,get(s){return r.find(a=>a.breakpoint===s)},media:[null,...n.map(s=>pp(s)).slice(1)],toArrayValue(s){if(!Sa(s))throw new Error("toArrayValue: value must be an object");const a=o.map(l=>{var u;return(u=s[l])!=null?u:null});for(;f4e(a)===null;)a.pop();return a},toObjectValue(s){if(!Array.isArray(s))throw new Error("toObjectValue: value must be an array");return s.reduce((a,l,u)=>{const d=o[u];return d!=null&&l!=null&&(a[d]=l),a},{})}}}var Tr={hover:(e,t)=>`${e}:hover ${t}, ${e}[data-hover] ${t}`,focus:(e,t)=>`${e}:focus ${t}, ${e}[data-focus] ${t}`,focusVisible:(e,t)=>`${e}:focus-visible ${t}`,focusWithin:(e,t)=>`${e}:focus-within ${t}`,active:(e,t)=>`${e}:active ${t}, ${e}[data-active] ${t}`,disabled:(e,t)=>`${e}:disabled ${t}, ${e}[data-disabled] ${t}`,invalid:(e,t)=>`${e}:invalid ${t}, ${e}[data-invalid] ${t}`,checked:(e,t)=>`${e}:checked ${t}, ${e}[data-checked] ${t}`,indeterminate:(e,t)=>`${e}:indeterminate ${t}, ${e}[aria-checked=mixed] ${t}, ${e}[data-indeterminate] ${t}`,readOnly:(e,t)=>`${e}:read-only ${t}, ${e}[readonly] ${t}, ${e}[data-read-only] ${t}`,expanded:(e,t)=>`${e}:read-only ${t}, ${e}[aria-expanded=true] ${t}, ${e}[data-expanded] ${t}`,placeholderShown:(e,t)=>`${e}:placeholder-shown ${t}`},ol=e=>fV(t=>e(t,"&"),"[role=group]","[data-group]",".group"),oa=e=>fV(t=>e(t,"~ &"),"[data-peer]",".peer"),fV=(e,...t)=>t.map(e).join(", "),t2={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible, &[data-focus-visible]",_disabled:"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_firstLetter:"&::first-letter",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:ol(Tr.hover),_peerHover:oa(Tr.hover),_groupFocus:ol(Tr.focus),_peerFocus:oa(Tr.focus),_groupFocusVisible:ol(Tr.focusVisible),_peerFocusVisible:oa(Tr.focusVisible),_groupActive:ol(Tr.active),_peerActive:oa(Tr.active),_groupDisabled:ol(Tr.disabled),_peerDisabled:oa(Tr.disabled),_groupInvalid:ol(Tr.invalid),_peerInvalid:oa(Tr.invalid),_groupChecked:ol(Tr.checked),_peerChecked:oa(Tr.checked),_groupFocusWithin:ol(Tr.focusWithin),_peerFocusWithin:oa(Tr.focusWithin),_peerPlaceholderShown:oa(Tr.placeholderShown),_placeholder:"&::placeholder",_placeholderShown:"&:placeholder-shown",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &, &[dir=rtl]",_ltr:"[dir=ltr] &, &[dir=ltr]",_mediaDark:"@media (prefers-color-scheme: dark)",_mediaReduceMotion:"@media (prefers-reduced-motion: reduce)",_dark:".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",_light:".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]",_horizontal:"&[data-orientation=horizontal]",_vertical:"&[data-orientation=vertical]"},hV=Object.keys(t2);function Xk(e,t){return C5(String(e).replace(/\./g,"-"),void 0,t)}function m4e(e,t){let n={};const r={};for(const[i,o]of Object.entries(e)){const{isSemantic:s,value:a}=o,{variable:l,reference:u}=Xk(i,t==null?void 0:t.cssVarPrefix);if(!s){if(i.startsWith("space")){const p=i.split("."),[g,...m]=p,v=`${g}.-${m.join(".")}`,x=Iu.negate(a),_=Iu.negate(u);r[v]={value:x,var:l,varRef:_}}n[l]=a,r[i]={value:a,var:l,varRef:u};continue}const d=p=>{const m=[String(i).split(".")[0],p].join(".");if(!e[m])return p;const{reference:x}=Xk(m,t==null?void 0:t.cssVarPrefix);return x},f=Sa(a)?a:{default:a};n=Ts(n,Object.entries(f).reduce((p,[g,m])=>{var v,x;if(!m)return p;const _=d(`${m}`);if(g==="default")return p[l]=_,p;const b=(x=(v=t2)==null?void 0:v[g])!=null?x:g;return p[b]={[l]:_},p},{})),r[i]={value:u,var:l,varRef:u}}return{cssVars:n,cssMap:r}}function y4e(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function v4e(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function _4e(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}function Yk(e,t,n={}){const{stop:r,getKey:i}=n;function o(s,a=[]){var l;if(_4e(s)||Array.isArray(s)){const u={};for(const[d,f]of Object.entries(s)){const p=(l=i==null?void 0:i(d))!=null?l:d,g=[...a,p];if(r!=null&&r(s,g))return t(s,a);u[p]=o(f,g)}return u}return t(s,a)}return o(e)}var b4e=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","gradients","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur","breakpoints"];function S4e(e){return v4e(e,b4e)}function w4e(e){return e.semanticTokens}function x4e(e){const{__cssMap:t,__cssVars:n,__breakpoints:r,...i}=e;return i}var C4e=e=>hV.includes(e)||e==="default";function T4e({tokens:e,semanticTokens:t}){const n={};return Yk(e,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!1,value:r})}),Yk(t,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!0,value:r})},{stop:r=>Object.keys(r).every(C4e)}),n}function yMe(e){var t;const n=x4e(e),r=S4e(n),i=w4e(n),o=T4e({tokens:r,semanticTokens:i}),s=(t=n.config)==null?void 0:t.cssVarPrefix,{cssMap:a,cssVars:l}=m4e(o,{cssVarPrefix:s});return Object.assign(n,{__cssVars:{...{"--chakra-ring-inset":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-ring-offset-width":"0px","--chakra-ring-offset-color":"#fff","--chakra-ring-color":"rgba(66, 153, 225, 0.6)","--chakra-ring-offset-shadow":"0 0 #0000","--chakra-ring-shadow":"0 0 #0000","--chakra-space-x-reverse":"0","--chakra-space-y-reverse":"0"},...l},__cssMap:a,__breakpoints:g4e(n.breakpoints)}),n}var HE=Ts({},Pv,Et,j5e,o_,ho,G5e,J5e,H5e,uV,Z5e,Rp,w5,tn,i4e,r4e,e4e,t4e,W5e,n4e),E4e=Object.assign({},tn,ho,o_,uV,Rp),vMe=Object.keys(E4e),A4e=[...Object.keys(HE),...hV],P4e={...HE,...t2},R4e=e=>e in P4e,O4e=e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:i}=t.__breakpoints,o={};for(const s in e){let a=Bu(e[s],t);if(a==null)continue;if(a=Sa(a)&&n(a)?r(a):a,!Array.isArray(a)){o[s]=a;continue}const l=a.slice(0,i.length).length;for(let u=0;ue.startsWith("--")&&typeof t=="string"&&!I4e(t),N4e=(e,t)=>{var n,r;if(t==null)return t;const i=l=>{var u,d;return(d=(u=e.__cssMap)==null?void 0:u[l])==null?void 0:d.varRef},o=l=>{var u;return(u=i(l))!=null?u:l},[s,a]=k4e(t);return t=(r=(n=i(s))!=null?n:o(a))!=null?r:o(t),t};function L4e(e){const{configs:t={},pseudos:n={},theme:r}=e,i=(o,s=!1)=>{var a,l,u;const d=Bu(o,r),f=O4e(d)(r);let p={};for(let g in f){const m=f[g];let v=Bu(m,r);g in n&&(g=n[g]),M4e(g,v)&&(v=N4e(r,v));let x=t[g];if(x===!0&&(x={property:g}),Sa(v)){p[g]=(a=p[g])!=null?a:{},p[g]=Ts({},p[g],i(v,!0));continue}let _=(u=(l=x==null?void 0:x.transform)==null?void 0:l.call(x,v,r,d))!=null?u:v;_=x!=null&&x.processResult?i(_,!0):_;const b=Bu(x==null?void 0:x.property,r);if(!s&&(x!=null&&x.static)){const y=Bu(x.static,r);p=Ts({},p,y)}if(b&&Array.isArray(b)){for(const y of b)p[y]=_;continue}if(b){b==="&"&&Sa(_)?p=Ts({},p,_):p[b]=_;continue}if(Sa(_)){p=Ts({},p,_);continue}p[g]=_}return p};return i}var D4e=e=>t=>L4e({theme:t,pseudos:t2,configs:HE})(e);function _Me(e){return e}function bMe(e){return e}function SMe(e){return{definePartsStyle(t){return t},defineMultiStyleConfig(t){return{parts:e,...t}}}}function $4e(e,t){if(Array.isArray(e))return e;if(Sa(e))return t(e);if(e!=null)return[e]}function F4e(e,t){for(let n=t+1;n{Ts(u,{[y]:p?b[y]:{[_]:b[y]}})});continue}if(!g){p?Ts(u,b):u[_]=b;continue}u[_]=b}}return u}}function U4e(e){return t=>{var n;const{variant:r,size:i,theme:o}=t,s=B4e(o);return Ts({},Bu((n=e.baseStyle)!=null?n:{},t),s(e,"sizes",i,t),s(e,"variants",r,t))}}function wMe(e,t,n){var r,i,o;return(o=(i=(r=e.__cssMap)==null?void 0:r[`${t}.${n}`])==null?void 0:i.varRef)!=null?o:n}function pV(e){return y4e(e,["styleConfig","size","variant","colorScheme"])}function z4e(e,t){const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}function V4e(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},G4e=j4e(V4e);function gV(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r];t(i,r,e)&&(n[r]=i)}),n}var mV=e=>gV(e,t=>t!=null);function H4e(e){return typeof e=="function"}function W4e(e,...t){return H4e(e)?e(...t):e}function xMe(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}var q4e=typeof Element<"u",K4e=typeof Map=="function",X4e=typeof Set=="function",Y4e=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Rv(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,r,i;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Rv(e[r],t[r]))return!1;return!0}var o;if(K4e&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;for(o=e.entries();!(r=o.next()).done;)if(!Rv(r.value[1],t.get(r.value[0])))return!1;return!0}if(X4e&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(Y4e&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;if(q4e&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!Rv(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var Q4e=function(t,n){try{return Rv(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const Z4e=dc(Q4e);function yV(e,t={}){var n;const{styleConfig:r,...i}=t,{theme:o,colorMode:s}=b5e(),a=e?G4e(o,`components.${e}`):void 0,l=r||a,u=Ts({theme:o,colorMode:s},(n=l==null?void 0:l.defaultProps)!=null?n:{},mV(z4e(i,["children"]))),d=L.useRef({});if(l){const p=U4e(l)(u);Z4e(d.current,p)||(d.current=p)}return d.current}function vV(e,t={}){return yV(e,t)}function CMe(e,t={}){return yV(e,t)}var J4e=new Set([...A4e,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),eTe=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function tTe(e){return eTe.has(e)||!J4e.has(e)}function nTe(e,...t){if(e==null)throw new TypeError("Cannot convert undefined or null to object");const n={...e};for(const r of t)if(r!=null)for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&(i in n&&delete n[i],n[i]=r[i]);return n}var rTe=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,iTe=Qz(function(e){return rTe.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),oTe=iTe,sTe=function(t){return t!=="theme"},Qk=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?oTe:sTe},Zk=function(t,n,r){var i;if(n){var o=n.shouldForwardProp;i=t.__emotion_forwardProp&&o?function(s){return t.__emotion_forwardProp(s)&&o(s)}:o}return typeof i!="function"&&r&&(i=t.__emotion_forwardProp),i},aTe=function(t){var n=t.cache,r=t.serialized,i=t.isStringTag;return Jz(n,r,i),p5e(function(){return eV(n,r,i)}),null},lTe=function e(t,n){var r=t.__emotion_real===t,i=r&&t.__emotion_base||t,o,s;n!==void 0&&(o=n.label,s=n.target);var a=Zk(t,n,r),l=a||Qk(i),u=!l("as");return function(){var d=arguments,f=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&f.push("label:"+o+";"),d[0]==null||d[0].raw===void 0)f.push.apply(f,d);else{f.push(d[0][0]);for(var p=d.length,g=1;gt=>{const{theme:n,css:r,__css:i,sx:o,...s}=t,a=gV(s,(f,p)=>R4e(p)),l=W4e(e,t),u=nTe({},i,l,mV(a),o),d=D4e(u)(t.theme);return r?[d,r]:d};function Xx(e,t){const{baseStyle:n,...r}=t??{};r.shouldForwardProp||(r.shouldForwardProp=tTe);const i=dTe({baseStyle:n}),o=cTe(e,r)(i);return Lt.forwardRef(function(l,u){const{colorMode:d,forced:f}=VE();return Lt.createElement(o,{ref:u,"data-theme":f?d:void 0,...l})})}function fTe(){const e=new Map;return new Proxy(Xx,{apply(t,n,r){return Xx(...r)},get(t,n){return e.has(n)||e.set(n,Xx(n)),e.get(n)}})}var cc=fTe();function Pc(e){return L.forwardRef(e)}const _V=L.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),n2=L.createContext({}),Lm=L.createContext(null),r2=typeof document<"u",a_=r2?L.useLayoutEffect:L.useEffect,bV=L.createContext({strict:!1});function hTe(e,t,n,r){const{visualElement:i}=L.useContext(n2),o=L.useContext(bV),s=L.useContext(Lm),a=L.useContext(_V).reducedMotion,l=L.useRef();r=r||o.renderer,!l.current&&r&&(l.current=r(e,{visualState:t,parent:i,props:n,presenceContext:s,blockInitialAnimation:s?s.initial===!1:!1,reducedMotionConfig:a}));const u=l.current;return L.useInsertionEffect(()=>{u&&u.update(n,s)}),a_(()=>{u&&u.render()}),L.useEffect(()=>{u&&u.updateFeatures()}),(window.HandoffAppearAnimations?a_:L.useEffect)(()=>{u&&u.animationState&&u.animationState.animateChanges()}),u}function $d(e){return typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function pTe(e,t,n){return L.useCallback(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):$d(n)&&(n.current=r))},[t])}function zg(e){return typeof e=="string"||Array.isArray(e)}function i2(e){return typeof e=="object"&&typeof e.start=="function"}const WE=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],qE=["initial",...WE];function o2(e){return i2(e.animate)||qE.some(t=>zg(e[t]))}function SV(e){return!!(o2(e)||e.variants)}function gTe(e,t){if(o2(e)){const{initial:n,animate:r}=e;return{initial:n===!1||zg(n)?n:void 0,animate:zg(r)?r:void 0}}return e.inherit!==!1?t:{}}function mTe(e){const{initial:t,animate:n}=gTe(e,L.useContext(n2));return L.useMemo(()=>({initial:t,animate:n}),[eI(t),eI(n)])}function eI(e){return Array.isArray(e)?e.join(" "):e}const tI={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},Vg={};for(const e in tI)Vg[e]={isEnabled:t=>tI[e].some(n=>!!t[n])};function yTe(e){for(const t in e)Vg[t]={...Vg[t],...e[t]}}const KE=L.createContext({}),wV=L.createContext({}),vTe=Symbol.for("motionComponentSymbol");function _Te({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:i}){e&&yTe(e);function o(a,l){let u;const d={...L.useContext(_V),...a,layoutId:bTe(a)},{isStatic:f}=d,p=mTe(a),g=r(a,f);if(!f&&r2){p.visualElement=hTe(i,g,d,t);const m=L.useContext(wV),v=L.useContext(bV).strict;p.visualElement&&(u=p.visualElement.loadFeatures(d,v,e,m))}return L.createElement(n2.Provider,{value:p},u&&p.visualElement?L.createElement(u,{visualElement:p.visualElement,...d}):null,n(i,a,pTe(g,p.visualElement,l),g,f,p.visualElement))}const s=L.forwardRef(o);return s[vTe]=i,s}function bTe({layoutId:e}){const t=L.useContext(KE).id;return t&&e!==void 0?t+"-"+e:e}function STe(e){function t(r,i={}){return _Te(e(r,i))}if(typeof Proxy>"u")return t;const n=new Map;return new Proxy(t,{get:(r,i)=>(n.has(i)||n.set(i,t(i)),n.get(i))})}const wTe=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function XE(e){return typeof e!="string"||e.includes("-")?!1:!!(wTe.indexOf(e)>-1||/[A-Z]/.test(e))}const l_={};function xTe(e){Object.assign(l_,e)}const Dm=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Rc=new Set(Dm);function xV(e,{layout:t,layoutId:n}){return Rc.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!l_[e]||e==="opacity")}const ki=e=>!!(e&&e.getVelocity),CTe={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},TTe=Dm.length;function ETe(e,{enableHardwareAcceleration:t=!0,allowTransformNone:n=!0},r,i){let o="";for(let s=0;st=>typeof t=="string"&&t.startsWith(e),TV=CV("--"),E5=CV("var(--"),ATe=/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,PTe=(e,t)=>t&&typeof e=="number"?t.transform(e):e,Kl=(e,t,n)=>Math.min(Math.max(n,e),t),Oc={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Op={...Oc,transform:e=>Kl(0,1,e)},G0={...Oc,default:1},kp=e=>Math.round(e*1e5)/1e5,s2=/(-)?([\d]*\.?[\d])+/g,EV=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,RTe=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function $m(e){return typeof e=="string"}const Fm=e=>({test:t=>$m(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),al=Fm("deg"),Is=Fm("%"),Be=Fm("px"),OTe=Fm("vh"),kTe=Fm("vw"),nI={...Is,parse:e=>Is.parse(e)/100,transform:e=>Is.transform(e*100)},rI={...Oc,transform:Math.round},AV={borderWidth:Be,borderTopWidth:Be,borderRightWidth:Be,borderBottomWidth:Be,borderLeftWidth:Be,borderRadius:Be,radius:Be,borderTopLeftRadius:Be,borderTopRightRadius:Be,borderBottomRightRadius:Be,borderBottomLeftRadius:Be,width:Be,maxWidth:Be,height:Be,maxHeight:Be,size:Be,top:Be,right:Be,bottom:Be,left:Be,padding:Be,paddingTop:Be,paddingRight:Be,paddingBottom:Be,paddingLeft:Be,margin:Be,marginTop:Be,marginRight:Be,marginBottom:Be,marginLeft:Be,rotate:al,rotateX:al,rotateY:al,rotateZ:al,scale:G0,scaleX:G0,scaleY:G0,scaleZ:G0,skew:al,skewX:al,skewY:al,distance:Be,translateX:Be,translateY:Be,translateZ:Be,x:Be,y:Be,z:Be,perspective:Be,transformPerspective:Be,opacity:Op,originX:nI,originY:nI,originZ:Be,zIndex:rI,fillOpacity:Op,strokeOpacity:Op,numOctaves:rI};function YE(e,t,n,r){const{style:i,vars:o,transform:s,transformOrigin:a}=e;let l=!1,u=!1,d=!0;for(const f in t){const p=t[f];if(TV(f)){o[f]=p;continue}const g=AV[f],m=PTe(p,g);if(Rc.has(f)){if(l=!0,s[f]=m,!d)continue;p!==(g.default||0)&&(d=!1)}else f.startsWith("origin")?(u=!0,a[f]=m):i[f]=m}if(t.transform||(l||r?i.transform=ETe(e.transform,n,d,r):i.transform&&(i.transform="none")),u){const{originX:f="50%",originY:p="50%",originZ:g=0}=a;i.transformOrigin=`${f} ${p} ${g}`}}const QE=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function PV(e,t,n){for(const r in t)!ki(t[r])&&!xV(r,n)&&(e[r]=t[r])}function ITe({transformTemplate:e},t,n){return L.useMemo(()=>{const r=QE();return YE(r,t,{enableHardwareAcceleration:!n},e),Object.assign({},r.vars,r.style)},[t])}function MTe(e,t,n){const r=e.style||{},i={};return PV(i,r,e),Object.assign(i,ITe(e,t,n)),e.transformValues?e.transformValues(i):i}function NTe(e,t,n){const r={},i=MTe(e,t,n);return e.drag&&e.dragListener!==!1&&(r.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(r.tabIndex=0),r.style=i,r}const LTe=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","ignoreStrict","viewport"]);function u_(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||LTe.has(e)}let RV=e=>!u_(e);function DTe(e){e&&(RV=t=>t.startsWith("on")?!u_(t):e(t))}try{DTe(require("@emotion/is-prop-valid").default)}catch{}function $Te(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(RV(i)||n===!0&&u_(i)||!t&&!u_(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function iI(e,t,n){return typeof e=="string"?e:Be.transform(t+n*e)}function FTe(e,t,n){const r=iI(t,e.x,e.width),i=iI(n,e.y,e.height);return`${r} ${i}`}const BTe={offset:"stroke-dashoffset",array:"stroke-dasharray"},UTe={offset:"strokeDashoffset",array:"strokeDasharray"};function zTe(e,t,n=1,r=0,i=!0){e.pathLength=1;const o=i?BTe:UTe;e[o.offset]=Be.transform(-r);const s=Be.transform(t),a=Be.transform(n);e[o.array]=`${s} ${a}`}function ZE(e,{attrX:t,attrY:n,attrScale:r,originX:i,originY:o,pathLength:s,pathSpacing:a=1,pathOffset:l=0,...u},d,f,p){if(YE(e,u,d,p),f){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:g,style:m,dimensions:v}=e;g.transform&&(v&&(m.transform=g.transform),delete g.transform),v&&(i!==void 0||o!==void 0||m.transform)&&(m.transformOrigin=FTe(v,i!==void 0?i:.5,o!==void 0?o:.5)),t!==void 0&&(g.x=t),n!==void 0&&(g.y=n),r!==void 0&&(g.scale=r),s!==void 0&&zTe(g,s,a,l,!1)}const OV=()=>({...QE(),attrs:{}}),JE=e=>typeof e=="string"&&e.toLowerCase()==="svg";function VTe(e,t,n,r){const i=L.useMemo(()=>{const o=OV();return ZE(o,t,{enableHardwareAcceleration:!1},JE(r),e.transformTemplate),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};PV(o,e.style,e),i.style={...o,...i.style}}return i}function jTe(e=!1){return(n,r,i,{latestValues:o},s)=>{const l=(XE(n)?VTe:NTe)(r,o,s,n),d={...$Te(r,typeof n=="string",e),...l,ref:i},{children:f}=r,p=L.useMemo(()=>ki(f)?f.get():f,[f]);return L.createElement(n,{...d,children:p})}}const e6=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function kV(e,{style:t,vars:n},r,i){Object.assign(e.style,t,i&&i.getProjectionStyles(r));for(const o in n)e.style.setProperty(o,n[o])}const IV=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function MV(e,t,n,r){kV(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(IV.has(i)?i:e6(i),t.attrs[i])}function t6(e,t){const{style:n}=e,r={};for(const i in n)(ki(n[i])||t.style&&ki(t.style[i])||xV(i,e))&&(r[i]=n[i]);return r}function NV(e,t){const n=t6(e,t);for(const r in e)if(ki(e[r])||ki(t[r])){const i=Dm.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;n[i]=e[r]}return n}function n6(e,t,n,r={},i={}){return typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),t}function LV(e){const t=L.useRef(null);return t.current===null&&(t.current=e()),t.current}const c_=e=>Array.isArray(e),GTe=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),HTe=e=>c_(e)?e[e.length-1]||0:e;function Ov(e){const t=ki(e)?e.get():e;return GTe(t)?t.toValue():t}function WTe({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,o){const s={latestValues:qTe(r,i,o,e),renderState:t()};return n&&(s.mount=a=>n(r,a,s)),s}const DV=e=>(t,n)=>{const r=L.useContext(n2),i=L.useContext(Lm),o=()=>WTe(e,t,r,i);return n?o():LV(o)};function qTe(e,t,n,r){const i={},o=r(e,{});for(const p in o)i[p]=Ov(o[p]);let{initial:s,animate:a}=e;const l=o2(e),u=SV(e);t&&u&&!l&&e.inherit!==!1&&(s===void 0&&(s=t.initial),a===void 0&&(a=t.animate));let d=n?n.initial===!1:!1;d=d||s===!1;const f=d?a:s;return f&&typeof f!="boolean"&&!i2(f)&&(Array.isArray(f)?f:[f]).forEach(g=>{const m=n6(e,g);if(!m)return;const{transitionEnd:v,transition:x,..._}=m;for(const b in _){let y=_[b];if(Array.isArray(y)){const S=d?y.length-1:0;y=y[S]}y!==null&&(i[b]=y)}for(const b in v)i[b]=v[b]}),i}const KTe={useVisualState:DV({scrapeMotionValuesFromProps:NV,createRenderState:OV,onMount:(e,t,{renderState:n,latestValues:r})=>{try{n.dimensions=typeof t.getBBox=="function"?t.getBBox():t.getBoundingClientRect()}catch{n.dimensions={x:0,y:0,width:0,height:0}}ZE(n,r,{enableHardwareAcceleration:!1},JE(t.tagName),e.transformTemplate),MV(t,n)}})},XTe={useVisualState:DV({scrapeMotionValuesFromProps:t6,createRenderState:QE})};function YTe(e,{forwardMotionProps:t=!1},n,r){return{...XE(e)?KTe:XTe,preloadedFeatures:n,useRender:jTe(t),createVisualElement:r,Component:e}}function ya(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const $V=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function a2(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const QTe=e=>t=>$V(t)&&e(t,a2(t));function wa(e,t,n,r){return ya(e,t,QTe(n),r)}const ZTe=(e,t)=>n=>t(e(n)),Ml=(...e)=>e.reduce(ZTe);function FV(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const oI=FV("dragHorizontal"),sI=FV("dragVertical");function BV(e){let t=!1;if(e==="y")t=sI();else if(e==="x")t=oI();else{const n=oI(),r=sI();n&&r?t=()=>{n(),r()}:(n&&n(),r&&r())}return t}function UV(){const e=BV(!0);return e?(e(),!1):!0}class uu{constructor(t){this.isMounted=!1,this.node=t}update(){}}const Gn=e=>e;function JTe(e){let t=[],n=[],r=0,i=!1,o=!1;const s=new WeakSet,a={schedule:(l,u=!1,d=!1)=>{const f=d&&i,p=f?t:n;return u&&s.add(l),p.indexOf(l)===-1&&(p.push(l),f&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),s.delete(l)},process:l=>{if(i){o=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let u=0;u(f[p]=JTe(()=>n=!0),f),{}),s=f=>o[f].process(i),a=f=>{n=!1,i.delta=r?1e3/60:Math.max(Math.min(f-i.timestamp,eEe),1),i.timestamp=f,i.isProcessing=!0,H0.forEach(s),i.isProcessing=!1,n&&t&&(r=!1,e(a))},l=()=>{n=!0,r=!0,i.isProcessing||e(a)};return{schedule:H0.reduce((f,p)=>{const g=o[p];return f[p]=(m,v=!1,x=!1)=>(n||l(),g.schedule(m,v,x)),f},{}),cancel:f=>H0.forEach(p=>o[p].cancel(f)),state:i,steps:o}}const{schedule:dn,cancel:Ia,state:zr,steps:Yx}=tEe(typeof requestAnimationFrame<"u"?requestAnimationFrame:Gn,!0);function aI(e,t){const n="pointer"+(t?"enter":"leave"),r="onHover"+(t?"Start":"End"),i=(o,s)=>{if(o.type==="touch"||UV())return;const a=e.getProps();e.animationState&&a.whileHover&&e.animationState.setActive("whileHover",t),a[r]&&dn.update(()=>a[r](o,s))};return wa(e.current,n,i,{passive:!e.getProps()[r]})}class nEe extends uu{mount(){this.unmount=Ml(aI(this.node,!0),aI(this.node,!1))}unmount(){}}class rEe extends uu{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Ml(ya(this.node.current,"focus",()=>this.onFocus()),ya(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const zV=(e,t)=>t?e===t?!0:zV(e,t.parentElement):!1;function Qx(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,a2(n))}class iEe extends uu{constructor(){super(...arguments),this.removeStartListeners=Gn,this.removeEndListeners=Gn,this.removeAccessibleListeners=Gn,this.startPointerPress=(t,n)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),o=wa(window,"pointerup",(a,l)=>{if(!this.checkPressEnd())return;const{onTap:u,onTapCancel:d}=this.node.getProps();dn.update(()=>{zV(this.node.current,a.target)?u&&u(a,l):d&&d(a,l)})},{passive:!(r.onTap||r.onPointerUp)}),s=wa(window,"pointercancel",(a,l)=>this.cancelPress(a,l),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=Ml(o,s),this.startPress(t,n)},this.startAccessiblePress=()=>{const t=o=>{if(o.key!=="Enter"||this.isPressing)return;const s=a=>{a.key!=="Enter"||!this.checkPressEnd()||Qx("up",(l,u)=>{const{onTap:d}=this.node.getProps();d&&dn.update(()=>d(l,u))})};this.removeEndListeners(),this.removeEndListeners=ya(this.node.current,"keyup",s),Qx("down",(a,l)=>{this.startPress(a,l)})},n=ya(this.node.current,"keydown",t),r=()=>{this.isPressing&&Qx("cancel",(o,s)=>this.cancelPress(o,s))},i=ya(this.node.current,"blur",r);this.removeAccessibleListeners=Ml(n,i)}}startPress(t,n){this.isPressing=!0;const{onTapStart:r,whileTap:i}=this.node.getProps();i&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),r&&dn.update(()=>r(t,n))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!UV()}cancelPress(t,n){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&dn.update(()=>r(t,n))}mount(){const t=this.node.getProps(),n=wa(this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),r=ya(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=Ml(n,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const A5=new WeakMap,Zx=new WeakMap,oEe=e=>{const t=A5.get(e.target);t&&t(e)},sEe=e=>{e.forEach(oEe)};function aEe({root:e,...t}){const n=e||document;Zx.has(n)||Zx.set(n,{});const r=Zx.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(sEe,{root:e,...t})),r[i]}function lEe(e,t,n){const r=aEe(t);return A5.set(e,n),r.observe(e),()=>{A5.delete(e),r.unobserve(e)}}const uEe={some:0,all:1};class cEe extends uu{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:o}=t,s={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:uEe[i]},a=l=>{const{isIntersecting:u}=l;if(this.isInView===u||(this.isInView=u,o&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:d,onViewportLeave:f}=this.node.getProps(),p=u?d:f;p&&p(l)};return lEe(this.node.current,s,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(dEe(t,n))&&this.startObserver()}unmount(){}}function dEe({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const fEe={inView:{Feature:cEe},tap:{Feature:iEe},focus:{Feature:rEe},hover:{Feature:nEe}};function VV(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;rt[r]=n.get()),t}function pEe(e){const t={};return e.values.forEach((n,r)=>t[r]=n.getVelocity()),t}function l2(e,t,n){const r=e.getProps();return n6(r,t,n!==void 0?n:r.custom,hEe(e),pEe(e))}const gEe="framerAppearId",mEe="data-"+e6(gEe);let yEe=Gn,r6=Gn;const Nl=e=>e*1e3,xa=e=>e/1e3,vEe={current:!1},jV=e=>Array.isArray(e)&&typeof e[0]=="number";function GV(e){return!!(!e||typeof e=="string"&&HV[e]||jV(e)||Array.isArray(e)&&e.every(GV))}const gp=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,HV={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:gp([0,.65,.55,1]),circOut:gp([.55,0,1,.45]),backIn:gp([.31,.01,.66,-.59]),backOut:gp([.33,1.53,.69,.99])};function WV(e){if(e)return jV(e)?gp(e):Array.isArray(e)?e.map(WV):HV[e]}function _Ee(e,t,n,{delay:r=0,duration:i,repeat:o=0,repeatType:s="loop",ease:a,times:l}={}){const u={[t]:n};l&&(u.offset=l);const d=WV(a);return Array.isArray(d)&&(u.easing=d),e.animate(u,{delay:r,duration:i,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:o+1,direction:s==="reverse"?"alternate":"normal"})}const lI={waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate")},Jx={},qV={};for(const e in lI)qV[e]=()=>(Jx[e]===void 0&&(Jx[e]=lI[e]()),Jx[e]);function bEe(e,{repeat:t,repeatType:n="loop"}){const r=t&&n!=="loop"&&t%2===1?0:e.length-1;return e[r]}const KV=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,SEe=1e-7,wEe=12;function xEe(e,t,n,r,i){let o,s,a=0;do s=t+(n-t)/2,o=KV(s,r,i)-e,o>0?n=s:t=s;while(Math.abs(o)>SEe&&++axEe(o,0,1,e,n);return o=>o===0||o===1?o:KV(i(o),t,r)}const CEe=Bm(.42,0,1,1),TEe=Bm(0,0,.58,1),XV=Bm(.42,0,.58,1),EEe=e=>Array.isArray(e)&&typeof e[0]!="number",YV=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,QV=e=>t=>1-e(1-t),ZV=e=>1-Math.sin(Math.acos(e)),i6=QV(ZV),AEe=YV(i6),JV=Bm(.33,1.53,.69,.99),o6=QV(JV),PEe=YV(o6),REe=e=>(e*=2)<1?.5*o6(e):.5*(2-Math.pow(2,-10*(e-1))),OEe={linear:Gn,easeIn:CEe,easeInOut:XV,easeOut:TEe,circIn:ZV,circInOut:AEe,circOut:i6,backIn:o6,backInOut:PEe,backOut:JV,anticipate:REe},uI=e=>{if(Array.isArray(e)){r6(e.length===4);const[t,n,r,i]=e;return Bm(t,n,r,i)}else if(typeof e=="string")return OEe[e];return e},s6=(e,t)=>n=>!!($m(n)&&RTe.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),ej=(e,t,n)=>r=>{if(!$m(r))return r;const[i,o,s,a]=r.match(s2);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(s),alpha:a!==void 0?parseFloat(a):1}},kEe=e=>Kl(0,255,e),eC={...Oc,transform:e=>Math.round(kEe(e))},Uu={test:s6("rgb","red"),parse:ej("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+eC.transform(e)+", "+eC.transform(t)+", "+eC.transform(n)+", "+kp(Op.transform(r))+")"};function IEe(e){let t="",n="",r="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const P5={test:s6("#"),parse:IEe,transform:Uu.transform},Fd={test:s6("hsl","hue"),parse:ej("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+Is.transform(kp(t))+", "+Is.transform(kp(n))+", "+kp(Op.transform(r))+")"},ni={test:e=>Uu.test(e)||P5.test(e)||Fd.test(e),parse:e=>Uu.test(e)?Uu.parse(e):Fd.test(e)?Fd.parse(e):P5.parse(e),transform:e=>$m(e)?e:e.hasOwnProperty("red")?Uu.transform(e):Fd.transform(e)},vn=(e,t,n)=>-n*e+n*t+e;function tC(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function MEe({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,o=0,s=0;if(!t)i=o=s=n;else{const a=n<.5?n*(1+t):n+t-n*t,l=2*n-a;i=tC(l,a,e+1/3),o=tC(l,a,e),s=tC(l,a,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(s*255),alpha:r}}const nC=(e,t,n)=>{const r=e*e;return Math.sqrt(Math.max(0,n*(t*t-r)+r))},NEe=[P5,Uu,Fd],LEe=e=>NEe.find(t=>t.test(e));function cI(e){const t=LEe(e);let n=t.parse(e);return t===Fd&&(n=MEe(n)),n}const tj=(e,t)=>{const n=cI(e),r=cI(t),i={...n};return o=>(i.red=nC(n.red,r.red,o),i.green=nC(n.green,r.green,o),i.blue=nC(n.blue,r.blue,o),i.alpha=vn(n.alpha,r.alpha,o),Uu.transform(i))};function DEe(e){var t,n;return isNaN(e)&&$m(e)&&(((t=e.match(s2))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(EV))===null||n===void 0?void 0:n.length)||0)>0}const nj={regex:ATe,countKey:"Vars",token:"${v}",parse:Gn},rj={regex:EV,countKey:"Colors",token:"${c}",parse:ni.parse},ij={regex:s2,countKey:"Numbers",token:"${n}",parse:Oc.parse};function rC(e,{regex:t,countKey:n,token:r,parse:i}){const o=e.tokenised.match(t);o&&(e["num"+n]=o.length,e.tokenised=e.tokenised.replace(t,r),e.values.push(...o.map(i)))}function d_(e){const t=e.toString(),n={value:t,tokenised:t,values:[],numVars:0,numColors:0,numNumbers:0};return n.value.includes("var(--")&&rC(n,nj),rC(n,rj),rC(n,ij),n}function oj(e){return d_(e).values}function sj(e){const{values:t,numColors:n,numVars:r,tokenised:i}=d_(e),o=t.length;return s=>{let a=i;for(let l=0;ltypeof e=="number"?0:e;function FEe(e){const t=oj(e);return sj(e)(t.map($Ee))}const Xl={test:DEe,parse:oj,createTransformer:sj,getAnimatableNone:FEe},aj=(e,t)=>n=>`${n>0?t:e}`;function lj(e,t){return typeof e=="number"?n=>vn(e,t,n):ni.test(e)?tj(e,t):e.startsWith("var(")?aj(e,t):cj(e,t)}const uj=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,s)=>lj(o,t[s]));return o=>{for(let s=0;s{const n={...e,...t},r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=lj(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}},cj=(e,t)=>{const n=Xl.createTransformer(t),r=d_(e),i=d_(t);return r.numVars===i.numVars&&r.numColors===i.numColors&&r.numNumbers>=i.numNumbers?Ml(uj(r.values,i.values),n):aj(e,t)},jg=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},dI=(e,t)=>n=>vn(e,t,n);function UEe(e){return typeof e=="number"?dI:typeof e=="string"?ni.test(e)?tj:cj:Array.isArray(e)?uj:typeof e=="object"?BEe:dI}function zEe(e,t,n){const r=[],i=n||UEe(e[0]),o=e.length-1;for(let s=0;st[0];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const s=zEe(t,r,i),a=s.length,l=u=>{let d=0;if(a>1)for(;dl(Kl(e[0],e[o-1],u)):l}function VEe(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const i=jg(0,t,r);e.push(vn(n,1,i))}}function jEe(e){const t=[0];return VEe(t,e.length-1),t}function GEe(e,t){return e.map(n=>n*t)}function HEe(e,t){return e.map(()=>t||XV).splice(0,e.length-1)}function f_({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const i=EEe(r)?r.map(uI):uI(r),o={done:!1,value:t[0]},s=GEe(n&&n.length===t.length?n:jEe(t),e),a=dj(s,t,{ease:Array.isArray(i)?i:HEe(t,i)});return{calculatedDuration:e,next:l=>(o.value=a(l),o.done=l>=e,o)}}function fj(e,t){return t?e*(1e3/t):0}const WEe=5;function hj(e,t,n){const r=Math.max(t-WEe,0);return fj(n-e(r),t-r)}const iC=.001,qEe=.01,fI=10,KEe=.05,XEe=1;function YEe({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,o;yEe(e<=Nl(fI));let s=1-t;s=Kl(KEe,XEe,s),e=Kl(qEe,fI,xa(e)),s<1?(i=u=>{const d=u*s,f=d*e,p=d-n,g=R5(u,s),m=Math.exp(-f);return iC-p/g*m},o=u=>{const f=u*s*e,p=f*n+n,g=Math.pow(s,2)*Math.pow(u,2)*e,m=Math.exp(-f),v=R5(Math.pow(u,2),s);return(-i(u)+iC>0?-1:1)*((p-g)*m)/v}):(i=u=>{const d=Math.exp(-u*e),f=(u-n)*e+1;return-iC+d*f},o=u=>{const d=Math.exp(-u*e),f=(n-u)*(e*e);return d*f});const a=5/e,l=ZEe(i,o,a);if(e=Nl(e),isNaN(l))return{stiffness:100,damping:10,duration:e};{const u=Math.pow(l,2)*r;return{stiffness:u,damping:s*2*Math.sqrt(r*u),duration:e}}}const QEe=12;function ZEe(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function t6e(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!hI(e,e6e)&&hI(e,JEe)){const n=YEe(e);t={...t,...n,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}function pj({keyframes:e,restDelta:t,restSpeed:n,...r}){const i=e[0],o=e[e.length-1],s={done:!1,value:i},{stiffness:a,damping:l,mass:u,velocity:d,duration:f,isResolvedFromDuration:p}=t6e(r),g=d?-xa(d):0,m=l/(2*Math.sqrt(a*u)),v=o-i,x=xa(Math.sqrt(a/u)),_=Math.abs(v)<5;n||(n=_?.01:2),t||(t=_?.005:.5);let b;if(m<1){const y=R5(x,m);b=S=>{const C=Math.exp(-m*x*S);return o-C*((g+m*x*v)/y*Math.sin(y*S)+v*Math.cos(y*S))}}else if(m===1)b=y=>o-Math.exp(-x*y)*(v+(g+x*v)*y);else{const y=x*Math.sqrt(m*m-1);b=S=>{const C=Math.exp(-m*x*S),T=Math.min(y*S,300);return o-C*((g+m*x*v)*Math.sinh(T)+y*v*Math.cosh(T))/y}}return{calculatedDuration:p&&f||null,next:y=>{const S=b(y);if(p)s.done=y>=f;else{let C=g;y!==0&&(m<1?C=hj(b,y,S):C=0);const T=Math.abs(C)<=n,E=Math.abs(o-S)<=t;s.done=T&&E}return s.value=s.done?o:S,s}}}function pI({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:o=500,modifyTarget:s,min:a,max:l,restDelta:u=.5,restSpeed:d}){const f=e[0],p={done:!1,value:f},g=P=>a!==void 0&&Pl,m=P=>a===void 0?l:l===void 0||Math.abs(a-P)-v*Math.exp(-P/r),y=P=>_+b(P),S=P=>{const k=b(P),O=y(P);p.done=Math.abs(k)<=u,p.value=p.done?_:O};let C,T;const E=P=>{g(p.value)&&(C=P,T=pj({keyframes:[p.value,m(p.value)],velocity:hj(y,P,p.value),damping:i,stiffness:o,restDelta:u,restSpeed:d}))};return E(0),{calculatedDuration:null,next:P=>{let k=!1;return!T&&C===void 0&&(k=!0,S(P),E(P)),C!==void 0&&P>C?T.next(P-C):(!k&&S(P),p)}}}const n6e=e=>{const t=({timestamp:n})=>e(n);return{start:()=>dn.update(t,!0),stop:()=>Ia(t),now:()=>zr.isProcessing?zr.timestamp:performance.now()}},gI=2e4;function mI(e){let t=0;const n=50;let r=e.next(t);for(;!r.done&&t=gI?1/0:t}const r6e={decay:pI,inertia:pI,tween:f_,keyframes:f_,spring:pj};function h_({autoplay:e=!0,delay:t=0,driver:n=n6e,keyframes:r,type:i="keyframes",repeat:o=0,repeatDelay:s=0,repeatType:a="loop",onPlay:l,onStop:u,onComplete:d,onUpdate:f,...p}){let g=1,m=!1,v,x;const _=()=>{x=new Promise(q=>{v=q})};_();let b;const y=r6e[i]||f_;let S;y!==f_&&typeof r[0]!="number"&&(S=dj([0,100],r,{clamp:!1}),r=[0,100]);const C=y({...p,keyframes:r});let T;a==="mirror"&&(T=y({...p,keyframes:[...r].reverse(),velocity:-(p.velocity||0)}));let E="idle",P=null,k=null,O=null;C.calculatedDuration===null&&o&&(C.calculatedDuration=mI(C));const{calculatedDuration:M}=C;let G=1/0,U=1/0;M!==null&&(G=M+s,U=G*(o+1)-s);let A=0;const N=q=>{if(k===null)return;g>0&&(k=Math.min(k,q)),g<0&&(k=Math.min(q-U/g,k)),P!==null?A=P:A=Math.round(q-k)*g;const Z=A-t*(g>=0?1:-1),ee=g>=0?Z<0:Z>U;A=Math.max(Z,0),E==="finished"&&P===null&&(A=U);let ie=A,se=C;if(o){const fe=A/G;let pe=Math.floor(fe),ve=fe%1;!ve&&fe>=1&&(ve=1),ve===1&&pe--,pe=Math.min(pe,o+1);const ye=!!(pe%2);ye&&(a==="reverse"?(ve=1-ve,s&&(ve-=s/G)):a==="mirror"&&(se=T));let We=Kl(0,1,ve);A>U&&(We=a==="reverse"&&ye?1:0),ie=We*G}const le=ee?{done:!1,value:r[0]}:se.next(ie);S&&(le.value=S(le.value));let{done:W}=le;!ee&&M!==null&&(W=g>=0?A>=U:A<=0);const ne=P===null&&(E==="finished"||E==="running"&&W);return f&&f(le.value),ne&&D(),le},F=()=>{b&&b.stop(),b=void 0},B=()=>{E="idle",F(),v(),_(),k=O=null},D=()=>{E="finished",d&&d(),F(),v()},V=()=>{if(m)return;b||(b=n(N));const q=b.now();l&&l(),P!==null?k=q-P:(!k||E==="finished")&&(k=q),E==="finished"&&_(),O=k,P=null,E="running",b.start()};e&&V();const j={then(q,Z){return x.then(q,Z)},get time(){return xa(A)},set time(q){q=Nl(q),A=q,P!==null||!b||g===0?P=q:k=b.now()-q/g},get duration(){const q=C.calculatedDuration===null?mI(C):C.calculatedDuration;return xa(q)},get speed(){return g},set speed(q){q===g||!b||(g=q,j.time=xa(A))},get state(){return E},play:V,pause:()=>{E="paused",P=A},stop:()=>{m=!0,E!=="idle"&&(E="idle",u&&u(),B())},cancel:()=>{O!==null&&N(O),B()},complete:()=>{E="finished"},sample:q=>(k=0,N(q))};return j}const i6e=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),W0=10,o6e=2e4,s6e=(e,t)=>t.type==="spring"||e==="backgroundColor"||!GV(t.ease);function a6e(e,t,{onUpdate:n,onComplete:r,...i}){if(!(qV.waapi()&&i6e.has(t)&&!i.repeatDelay&&i.repeatType!=="mirror"&&i.damping!==0&&i.type!=="inertia"))return!1;let s=!1,a,l;const u=()=>{l=new Promise(_=>{a=_})};u();let{keyframes:d,duration:f=300,ease:p,times:g}=i;if(s6e(t,i)){const _=h_({...i,repeat:0,delay:0});let b={done:!1,value:d[0]};const y=[];let S=0;for(;!b.done&&Sm.cancel(),x=()=>{dn.update(v),a(),u()};return m.onfinish=()=>{e.set(bEe(d,i)),r&&r(),x()},{then(_,b){return l.then(_,b)},get time(){return xa(m.currentTime||0)},set time(_){m.currentTime=Nl(_)},get speed(){return m.playbackRate},set speed(_){m.playbackRate=_},get duration(){return xa(f)},play:()=>{s||(m.play(),Ia(v))},pause:()=>m.pause(),stop:()=>{if(s=!0,m.playState==="idle")return;const{currentTime:_}=m;if(_){const b=h_({...i,autoplay:!1});e.setWithVelocity(b.sample(_-W0).value,b.sample(_).value,W0)}x()},complete:()=>m.finish(),cancel:x}}function l6e({keyframes:e,delay:t,onUpdate:n,onComplete:r}){const i=()=>(n&&n(e[e.length-1]),r&&r(),{time:0,speed:1,duration:0,play:Gn,pause:Gn,stop:Gn,then:o=>(o(),Promise.resolve()),cancel:Gn,complete:Gn});return t?h_({keyframes:[0,1],duration:0,delay:t,onComplete:i}):i()}const u6e={type:"spring",stiffness:500,damping:25,restSpeed:10},c6e=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),d6e={type:"keyframes",duration:.8},f6e={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},h6e=(e,{keyframes:t})=>t.length>2?d6e:Rc.has(e)?e.startsWith("scale")?c6e(t[1]):u6e:f6e,O5=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(Xl.test(t)||t==="0")&&!t.startsWith("url(")),p6e=new Set(["brightness","contrast","saturate","opacity"]);function g6e(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(s2)||[];if(!r)return e;const i=n.replace(r,"");let o=p6e.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+i+")"}const m6e=/([a-z-]*)\(.*?\)/g,k5={...Xl,getAnimatableNone:e=>{const t=e.match(m6e);return t?t.map(g6e).join(" "):e}},y6e={...AV,color:ni,backgroundColor:ni,outlineColor:ni,fill:ni,stroke:ni,borderColor:ni,borderTopColor:ni,borderRightColor:ni,borderBottomColor:ni,borderLeftColor:ni,filter:k5,WebkitFilter:k5},a6=e=>y6e[e];function gj(e,t){let n=a6(e);return n!==k5&&(n=Xl),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const mj=e=>/^0[^.\s]+$/.test(e);function v6e(e){if(typeof e=="number")return e===0;if(e!==null)return e==="none"||e==="0"||mj(e)}function _6e(e,t,n,r){const i=O5(t,n);let o;Array.isArray(n)?o=[...n]:o=[null,n];const s=r.from!==void 0?r.from:e.get();let a;const l=[];for(let u=0;ui=>{const o=yj(r,e)||{},s=o.delay||r.delay||0;let{elapsed:a=0}=r;a=a-Nl(s);const l=_6e(t,e,n,o),u=l[0],d=l[l.length-1],f=O5(e,u),p=O5(e,d);let g={keyframes:l,velocity:t.getVelocity(),ease:"easeOut",...o,delay:-a,onUpdate:m=>{t.set(m),o.onUpdate&&o.onUpdate(m)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(b6e(o)||(g={...g,...h6e(e,g)}),g.duration&&(g.duration=Nl(g.duration)),g.repeatDelay&&(g.repeatDelay=Nl(g.repeatDelay)),!f||!p||vEe.current||o.type===!1)return l6e(g);if(t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const m=a6e(t,e,g);if(m)return m}return h_(g)};function p_(e){return!!(ki(e)&&e.add)}const S6e=e=>/^\-?\d*\.?\d+$/.test(e);function u6(e,t){e.indexOf(t)===-1&&e.push(t)}function c6(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class d6{constructor(){this.subscriptions=[]}add(t){return u6(this.subscriptions,t),()=>c6(this.subscriptions,t)}notify(t,n,r){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,r);else for(let o=0;o!isNaN(parseFloat(e));class x6e{constructor(t,n={}){this.version="10.12.22",this.timeDelta=0,this.lastUpdated=0,this.canTrackVelocity=!1,this.events={},this.updateAndNotify=(r,i=!0)=>{this.prev=this.current,this.current=r;const{delta:o,timestamp:s}=zr;this.lastUpdated!==s&&(this.timeDelta=o,this.lastUpdated=s,dn.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),i&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>dn.postRender(this.velocityCheck),this.velocityCheck=({timestamp:r})=>{r!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=t,this.canTrackVelocity=w6e(this.current),this.owner=n.owner}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new d6);const r=this.events[t].add(n);return t==="change"?()=>{r(),dn.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,r){this.set(n),this.prev=t,this.timeDelta=r}jump(t){this.updateAndNotify(t),this.prev=t,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?fj(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function Mf(e,t){return new x6e(e,t)}const vj=e=>t=>t.test(e),C6e={test:e=>e==="auto",parse:e=>e},_j=[Oc,Be,Is,al,kTe,OTe,C6e],ip=e=>_j.find(vj(e)),T6e=[..._j,ni,Xl],E6e=e=>T6e.find(vj(e));function A6e(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,Mf(n))}function P6e(e,t){const n=l2(e,t);let{transitionEnd:r={},transition:i={},...o}=n?e.makeTargetAnimatable(n,!1):{};o={...o,...r};for(const s in o){const a=HTe(o[s]);A6e(e,s,a)}}function R6e(e,t,n){var r,i;const o=Object.keys(t).filter(a=>!e.hasValue(a)),s=o.length;if(s)for(let a=0;al.remove(f))),u.push(v)}return s&&Promise.all(u).then(()=>{s&&P6e(e,s)}),u}function I5(e,t,n={}){const r=l2(e,t,n.custom);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const o=r?()=>Promise.all(bj(e,r,n)):()=>Promise.resolve(),s=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:d,staggerDirection:f}=i;return M6e(e,t,u+l,d,f,n)}:()=>Promise.resolve(),{when:a}=i;if(a){const[l,u]=a==="beforeChildren"?[o,s]:[s,o];return l().then(()=>u())}else return Promise.all([o(),s(n.delay)])}function M6e(e,t,n=0,r=0,i=1,o){const s=[],a=(e.variantChildren.size-1)*r,l=i===1?(u=0)=>u*r:(u=0)=>a-u*r;return Array.from(e.variantChildren).sort(N6e).forEach((u,d)=>{u.notify("AnimationStart",t),s.push(I5(u,t,{...o,delay:n+l(d)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(s)}function N6e(e,t){return e.sortNodePosition(t)}function L6e(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(o=>I5(e,o,n));r=Promise.all(i)}else if(typeof t=="string")r=I5(e,t,n);else{const i=typeof t=="function"?l2(e,t,n.custom):t;r=Promise.all(bj(e,i,n))}return r.then(()=>e.notify("AnimationComplete",t))}const D6e=[...WE].reverse(),$6e=WE.length;function F6e(e){return t=>Promise.all(t.map(({animation:n,options:r})=>L6e(e,n,r)))}function B6e(e){let t=F6e(e);const n=z6e();let r=!0;const i=(l,u)=>{const d=l2(e,u);if(d){const{transition:f,transitionEnd:p,...g}=d;l={...l,...g,...p}}return l};function o(l){t=l(e)}function s(l,u){const d=e.getProps(),f=e.getVariantContext(!0)||{},p=[],g=new Set;let m={},v=1/0;for(let _=0;_<$6e;_++){const b=D6e[_],y=n[b],S=d[b]!==void 0?d[b]:f[b],C=zg(S),T=b===u?y.isActive:null;T===!1&&(v=_);let E=S===f[b]&&S!==d[b]&&C;if(E&&r&&e.manuallyAnimateOnMount&&(E=!1),y.protectedKeys={...m},!y.isActive&&T===null||!S&&!y.prevProp||i2(S)||typeof S=="boolean")continue;const P=U6e(y.prevProp,S);let k=P||b===u&&y.isActive&&!E&&C||_>v&&C;const O=Array.isArray(S)?S:[S];let M=O.reduce(i,{});T===!1&&(M={});const{prevResolvedValues:G={}}=y,U={...G,...M},A=N=>{k=!0,g.delete(N),y.needsAnimating[N]=!0};for(const N in U){const F=M[N],B=G[N];m.hasOwnProperty(N)||(F!==B?c_(F)&&c_(B)?!VV(F,B)||P?A(N):y.protectedKeys[N]=!0:F!==void 0?A(N):g.add(N):F!==void 0&&g.has(N)?A(N):y.protectedKeys[N]=!0)}y.prevProp=S,y.prevResolvedValues=M,y.isActive&&(m={...m,...M}),r&&e.blockInitialAnimation&&(k=!1),k&&!E&&p.push(...O.map(N=>({animation:N,options:{type:b,...l}})))}if(g.size){const _={};g.forEach(b=>{const y=e.getBaseTarget(b);y!==void 0&&(_[b]=y)}),p.push({animation:_})}let x=!!p.length;return r&&d.initial===!1&&!e.manuallyAnimateOnMount&&(x=!1),r=!1,x?t(p):Promise.resolve()}function a(l,u,d){var f;if(n[l].isActive===u)return Promise.resolve();(f=e.variantChildren)===null||f===void 0||f.forEach(g=>{var m;return(m=g.animationState)===null||m===void 0?void 0:m.setActive(l,u)}),n[l].isActive=u;const p=s(d,l);for(const g in n)n[g].protectedKeys={};return p}return{animateChanges:s,setActive:a,setAnimateFunction:o,getState:()=>n}}function U6e(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!VV(t,e):!1}function Cu(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function z6e(){return{animate:Cu(!0),whileInView:Cu(),whileHover:Cu(),whileTap:Cu(),whileDrag:Cu(),whileFocus:Cu(),exit:Cu()}}class V6e extends uu{constructor(t){super(t),t.animationState||(t.animationState=B6e(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();this.unmount(),i2(t)&&(this.unmount=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){}}let j6e=0;class G6e extends uu{constructor(){super(...arguments),this.id=j6e++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n,custom:r}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;const o=this.node.animationState.setActive("exit",!t,{custom:r??this.node.getProps().custom});n&&!t&&o.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const H6e={animation:{Feature:V6e},exit:{Feature:G6e}},yI=(e,t)=>Math.abs(e-t);function W6e(e,t){const n=yI(e.x,t.x),r=yI(e.y,t.y);return Math.sqrt(n**2+r**2)}class Sj{constructor(t,n,{transformPagePoint:r}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const u=sC(this.lastMoveEventInfo,this.history),d=this.startEvent!==null,f=W6e(u.offset,{x:0,y:0})>=3;if(!d&&!f)return;const{point:p}=u,{timestamp:g}=zr;this.history.push({...p,timestamp:g});const{onStart:m,onMove:v}=this.handlers;d||(m&&m(this.lastMoveEvent,u),this.startEvent=this.lastMoveEvent),v&&v(this.lastMoveEvent,u)},this.handlePointerMove=(u,d)=>{this.lastMoveEvent=u,this.lastMoveEventInfo=oC(d,this.transformPagePoint),dn.update(this.updatePoint,!0)},this.handlePointerUp=(u,d)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:f,onSessionEnd:p}=this.handlers,g=sC(u.type==="pointercancel"?this.lastMoveEventInfo:oC(d,this.transformPagePoint),this.history);this.startEvent&&f&&f(u,g),p&&p(u,g)},!$V(t))return;this.handlers=n,this.transformPagePoint=r;const i=a2(t),o=oC(i,this.transformPagePoint),{point:s}=o,{timestamp:a}=zr;this.history=[{...s,timestamp:a}];const{onSessionStart:l}=n;l&&l(t,sC(o,this.history)),this.removeListeners=Ml(wa(window,"pointermove",this.handlePointerMove),wa(window,"pointerup",this.handlePointerUp),wa(window,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),Ia(this.updatePoint)}}function oC(e,t){return t?{point:t(e.point)}:e}function vI(e,t){return{x:e.x-t.x,y:e.y-t.y}}function sC({point:e},t){return{point:e,delta:vI(e,wj(t)),offset:vI(e,q6e(t)),velocity:K6e(t,.1)}}function q6e(e){return e[0]}function wj(e){return e[e.length-1]}function K6e(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=wj(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Nl(t)));)n--;if(!r)return{x:0,y:0};const o=xa(i.timestamp-r.timestamp);if(o===0)return{x:0,y:0};const s={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function Xi(e){return e.max-e.min}function M5(e,t=0,n=.01){return Math.abs(e-t)<=n}function _I(e,t,n,r=.5){e.origin=r,e.originPoint=vn(t.min,t.max,e.origin),e.scale=Xi(n)/Xi(t),(M5(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=vn(n.min,n.max,e.origin)-e.originPoint,(M5(e.translate)||isNaN(e.translate))&&(e.translate=0)}function Ip(e,t,n,r){_I(e.x,t.x,n.x,r?r.originX:void 0),_I(e.y,t.y,n.y,r?r.originY:void 0)}function bI(e,t,n){e.min=n.min+t.min,e.max=e.min+Xi(t)}function X6e(e,t,n){bI(e.x,t.x,n.x),bI(e.y,t.y,n.y)}function SI(e,t,n){e.min=t.min-n.min,e.max=e.min+Xi(t)}function Mp(e,t,n){SI(e.x,t.x,n.x),SI(e.y,t.y,n.y)}function Y6e(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?vn(n,e,r.max):Math.min(e,n)),e}function wI(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function Q6e(e,{top:t,left:n,bottom:r,right:i}){return{x:wI(e.x,n,i),y:wI(e.y,t,r)}}function xI(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=jg(t.min,t.max-r,e.min):r>i&&(n=jg(e.min,e.max-i,t.min)),Kl(0,1,n)}function eAe(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const N5=.35;function tAe(e=N5){return e===!1?e=0:e===!0&&(e=N5),{x:CI(e,"left","right"),y:CI(e,"top","bottom")}}function CI(e,t,n){return{min:TI(e,t),max:TI(e,n)}}function TI(e,t){return typeof e=="number"?e:e[t]||0}const EI=()=>({translate:0,scale:1,origin:0,originPoint:0}),Bd=()=>({x:EI(),y:EI()}),AI=()=>({min:0,max:0}),Bn=()=>({x:AI(),y:AI()});function ps(e){return[e("x"),e("y")]}function xj({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function nAe({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function rAe(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function aC(e){return e===void 0||e===1}function L5({scale:e,scaleX:t,scaleY:n}){return!aC(e)||!aC(t)||!aC(n)}function Ru(e){return L5(e)||Cj(e)||e.z||e.rotate||e.rotateX||e.rotateY}function Cj(e){return PI(e.x)||PI(e.y)}function PI(e){return e&&e!=="0%"}function g_(e,t,n){const r=e-n,i=t*r;return n+i}function RI(e,t,n,r,i){return i!==void 0&&(e=g_(e,i,r)),g_(e,n,r)+t}function D5(e,t=0,n=1,r,i){e.min=RI(e.min,t,n,r,i),e.max=RI(e.max,t,n,r,i)}function Tj(e,{x:t,y:n}){D5(e.x,t.translate,t.scale,t.originPoint),D5(e.y,n.translate,n.scale,n.originPoint)}function iAe(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let o,s;for(let a=0;a1.0000000000001||e<.999999999999?e:1}function fl(e,t){e.min=e.min+t,e.max=e.max+t}function kI(e,t,[n,r,i]){const o=t[i]!==void 0?t[i]:.5,s=vn(e.min,e.max,o);D5(e,t[n],t[r],s,t.scale)}const oAe=["x","scaleX","originX"],sAe=["y","scaleY","originY"];function Ud(e,t){kI(e.x,t,oAe),kI(e.y,t,sAe)}function Ej(e,t){return xj(rAe(e.getBoundingClientRect(),t))}function aAe(e,t,n){const r=Ej(e,n),{scroll:i}=t;return i&&(fl(r.x,i.offset.x),fl(r.y,i.offset.y)),r}const lAe=new WeakMap;class uAe{constructor(t){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Bn(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const i=l=>{this.stopAnimation(),n&&this.snapToCursor(a2(l,"page").point)},o=(l,u)=>{const{drag:d,dragPropagation:f,onDragStart:p}=this.getProps();if(d&&!f&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=BV(d),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),ps(m=>{let v=this.getAxisMotionValue(m).get()||0;if(Is.test(v)){const{projection:x}=this.visualElement;if(x&&x.layout){const _=x.layout.layoutBox[m];_&&(v=Xi(_)*(parseFloat(v)/100))}}this.originPoint[m]=v}),p&&dn.update(()=>p(l,u),!1,!0);const{animationState:g}=this.visualElement;g&&g.setActive("whileDrag",!0)},s=(l,u)=>{const{dragPropagation:d,dragDirectionLock:f,onDirectionLock:p,onDrag:g}=this.getProps();if(!d&&!this.openGlobalLock)return;const{offset:m}=u;if(f&&this.currentDirection===null){this.currentDirection=cAe(m),this.currentDirection!==null&&p&&p(this.currentDirection);return}this.updateAxis("x",u.point,m),this.updateAxis("y",u.point,m),this.visualElement.render(),g&&g(l,u)},a=(l,u)=>this.stop(l,u);this.panSession=new Sj(t,{onSessionStart:i,onStart:o,onMove:s,onSessionEnd:a},{transformPagePoint:this.visualElement.getTransformPagePoint()})}stop(t,n){const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:i}=n;this.startAnimation(i);const{onDragEnd:o}=this.getProps();o&&dn.update(()=>o(t,n))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!q0(t,i,this.currentDirection))return;const o=this.getAxisMotionValue(t);let s=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(s=Y6e(s,this.constraints[t],this.elastic[t])),o.set(s)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),{layout:r}=this.visualElement.projection||{},i=this.constraints;t&&$d(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=Q6e(r.layoutBox,t):this.constraints=!1,this.elastic=tAe(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&ps(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=eAe(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!$d(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=aAe(r,i.root,this.visualElement.getTransformPagePoint());let s=Z6e(i.layout.layoutBox,o);if(n){const a=n(nAe(s));this.hasMutatedConstraints=!!a,a&&(s=xj(a))}return s}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:o,dragSnapToOrigin:s,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},u=ps(d=>{if(!q0(d,n,this.currentDirection))return;let f=l&&l[d]||{};s&&(f={min:0,max:0});const p=i?200:1e6,g=i?40:1e7,m={type:"inertia",velocity:r?t[d]:0,bounceStiffness:p,bounceDamping:g,timeConstant:750,restDelta:1,restSpeed:10,...o,...f};return this.startAxisValueAnimation(d,m)});return Promise.all(u).then(a)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return r.start(l6(t,r,0,n))}stopAnimation(){ps(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const n="_drag"+t.toUpperCase(),r=this.visualElement.getProps(),i=r[n];return i||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){ps(n=>{const{drag:r}=this.getProps();if(!q0(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,o=this.getAxisMotionValue(n);if(i&&i.layout){const{min:s,max:a}=i.layout.layoutBox[n];o.set(t[n]-vn(s,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!$d(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};ps(s=>{const a=this.getAxisMotionValue(s);if(a){const l=a.get();i[s]=J6e({min:l,max:l},this.constraints[s])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),ps(s=>{if(!q0(s,t,null))return;const a=this.getAxisMotionValue(s),{min:l,max:u}=this.constraints[s];a.set(vn(l,u,i[s]))})}addListeners(){if(!this.visualElement.current)return;lAe.set(this.visualElement,this);const t=this.visualElement.current,n=wa(t,"pointerdown",l=>{const{drag:u,dragListener:d=!0}=this.getProps();u&&d&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();$d(l)&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,o=i.addEventListener("measure",r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),r();const s=ya(window,"resize",()=>this.scalePositionWithinConstraints()),a=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(ps(d=>{const f=this.getAxisMotionValue(d);f&&(this.originPoint[d]+=l[d].translate,f.set(f.get()+l[d].translate))}),this.visualElement.render())});return()=>{s(),n(),o(),a&&a()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:o=!1,dragElastic:s=N5,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:o,dragElastic:s,dragMomentum:a}}}function q0(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function cAe(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class dAe extends uu{constructor(t){super(t),this.removeGroupControls=Gn,this.removeListeners=Gn,this.controls=new uAe(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Gn}unmount(){this.removeGroupControls(),this.removeListeners()}}const II=e=>(t,n)=>{e&&dn.update(()=>e(t,n))};class fAe extends uu{constructor(){super(...arguments),this.removePointerDownListener=Gn}onPointerDown(t){this.session=new Sj(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:II(t),onStart:II(n),onMove:r,onEnd:(o,s)=>{delete this.session,i&&dn.update(()=>i(o,s))}}}mount(){this.removePointerDownListener=wa(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}function hAe(){const e=L.useContext(Lm);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,i=L.useId();return L.useEffect(()=>r(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}function TMe(){return pAe(L.useContext(Lm))}function pAe(e){return e===null?!0:e.isPresent}const kv={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function MI(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const op={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(Be.test(e))e=parseFloat(e);else return e;const n=MI(e,t.target.x),r=MI(e,t.target.y);return`${n}% ${r}%`}},gAe={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=Xl.parse(e);if(i.length>5)return r;const o=Xl.createTransformer(e),s=typeof i[0]!="number"?1:0,a=n.x.scale*t.x,l=n.y.scale*t.y;i[0+s]/=a,i[1+s]/=l;const u=vn(a,l,.5);return typeof i[2+s]=="number"&&(i[2+s]/=u),typeof i[3+s]=="number"&&(i[3+s]/=u),o(i)}};class mAe extends Lt.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:o}=t;xTe(yAe),o&&(n.group&&n.group.add(o),r&&r.register&&i&&r.register(o),o.root.didUpdate(),o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),kv.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:o}=this.props,s=r.projection;return s&&(s.isPresent=o,i||t.layoutDependency!==n||n===void 0?s.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?s.promote():s.relegate()||dn.postRender(()=>{const a=s.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),queueMicrotask(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:i}=t;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),r&&r.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function Aj(e){const[t,n]=hAe(),r=L.useContext(KE);return Lt.createElement(mAe,{...e,layoutGroup:r,switchLayoutGroup:L.useContext(wV),isPresent:t,safeToRemove:n})}const yAe={borderRadius:{...op,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:op,borderTopRightRadius:op,borderBottomLeftRadius:op,borderBottomRightRadius:op,boxShadow:gAe},Pj=["TopLeft","TopRight","BottomLeft","BottomRight"],vAe=Pj.length,NI=e=>typeof e=="string"?parseFloat(e):e,LI=e=>typeof e=="number"||Be.test(e);function _Ae(e,t,n,r,i,o){i?(e.opacity=vn(0,n.opacity!==void 0?n.opacity:1,bAe(r)),e.opacityExit=vn(t.opacity!==void 0?t.opacity:1,0,SAe(r))):o&&(e.opacity=vn(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,r));for(let s=0;srt?1:n(jg(e,t,r))}function $I(e,t){e.min=t.min,e.max=t.max}function fo(e,t){$I(e.x,t.x),$I(e.y,t.y)}function FI(e,t,n,r,i){return e-=t,e=g_(e,1/n,r),i!==void 0&&(e=g_(e,1/i,r)),e}function wAe(e,t=0,n=1,r=.5,i,o=e,s=e){if(Is.test(t)&&(t=parseFloat(t),t=vn(s.min,s.max,t/100)-s.min),typeof t!="number")return;let a=vn(o.min,o.max,r);e===o&&(a-=t),e.min=FI(e.min,t,n,a,i),e.max=FI(e.max,t,n,a,i)}function BI(e,t,[n,r,i],o,s){wAe(e,t[n],t[r],t[i],t.scale,o,s)}const xAe=["x","scaleX","originX"],CAe=["y","scaleY","originY"];function UI(e,t,n,r){BI(e.x,t,xAe,n?n.x:void 0,r?r.x:void 0),BI(e.y,t,CAe,n?n.y:void 0,r?r.y:void 0)}function zI(e){return e.translate===0&&e.scale===1}function Oj(e){return zI(e.x)&&zI(e.y)}function $5(e,t){return e.x.min===t.x.min&&e.x.max===t.x.max&&e.y.min===t.y.min&&e.y.max===t.y.max}function VI(e){return Xi(e.x)/Xi(e.y)}class TAe{constructor(){this.members=[]}add(t){u6(this.members,t),t.scheduleRender()}remove(t){if(c6(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(i=>t===i);if(n===0)return!1;let r;for(let i=n;i>=0;i--){const o=this.members[i];if(o.isPresent!==!1){r=o;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender(),t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function jI(e,t,n){let r="";const i=e.x.translate/t.x,o=e.y.translate/t.y;if((i||o)&&(r=`translate3d(${i}px, ${o}px, 0) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{rotate:l,rotateX:u,rotateY:d}=n;l&&(r+=`rotate(${l}deg) `),u&&(r+=`rotateX(${u}deg) `),d&&(r+=`rotateY(${d}deg) `)}const s=e.x.scale*t.x,a=e.y.scale*t.y;return(s!==1||a!==1)&&(r+=`scale(${s}, ${a})`),r||"none"}const EAe=(e,t)=>e.depth-t.depth;class AAe{constructor(){this.children=[],this.isDirty=!1}add(t){u6(this.children,t),this.isDirty=!0}remove(t){c6(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(EAe),this.isDirty=!1,this.children.forEach(t)}}function PAe(e,t){const n=performance.now(),r=({timestamp:i})=>{const o=i-n;o>=t&&(Ia(r),e(o-t))};return dn.read(r,!0),()=>Ia(r)}function RAe(e){window.MotionDebug&&window.MotionDebug.record(e)}function OAe(e){return e instanceof SVGElement&&e.tagName!=="svg"}function kAe(e,t,n){const r=ki(e)?e:Mf(e);return r.start(l6("",r,t,n)),r.animation}const GI=["","X","Y","Z"],HI=1e3;let IAe=0;const Ou={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function kj({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(s={},a=t==null?void 0:t()){this.id=IAe++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{Ou.totalNodes=Ou.resolvedTargetDeltas=Ou.recalculatedProjection=0,this.nodes.forEach(LAe),this.nodes.forEach(UAe),this.nodes.forEach(zAe),this.nodes.forEach(DAe),RAe(Ou)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=s,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;lthis.root.updateBlockedByResize=!1;e(s,()=>{this.root.updateBlockedByResize=!0,f&&f(),f=PAe(p,250),kv.hasAnimatedSinceResize&&(kv.hasAnimatedSinceResize=!1,this.nodes.forEach(qI))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&d&&(l||u)&&this.addEventListener("didUpdate",({delta:f,hasLayoutChanged:p,hasRelativeTargetChanged:g,layout:m})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const v=this.options.transition||d.getDefaultTransition()||WAe,{onLayoutAnimationStart:x,onLayoutAnimationComplete:_}=d.getProps(),b=!this.targetLayout||!$5(this.targetLayout,m)||g,y=!p&&g;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||y||p&&(b||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(f,y);const S={...yj(v,"layout"),onPlay:x,onComplete:_};(d.shouldReduceMotion||this.options.layoutRoot)&&(S.delay=0,S.type=!1),this.startAnimation(S)}else p||qI(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=m})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const s=this.getStack();s&&s.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,Ia(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(VAe),this.animationId++)}getTransformTemplate(){const{visualElement:s}=this.options;return s&&s.getProps().transformTemplate}willUpdate(s=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let d=0;dthis.update()))}clearAllSnapshots(){this.nodes.forEach($Ae),this.sharedNodes.forEach(jAe)}scheduleUpdateProjection(){dn.preRender(this.updateProjection,!1,!0)}scheduleCheckAfterUnmount(){dn.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l{const C=S/1e3;KI(f.x,s.x,C),KI(f.y,s.y,C),this.setTargetDelta(f),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Mp(p,this.layout.layoutBox,this.relativeParent.layout.layoutBox),GAe(this.relativeTarget,this.relativeTargetOrigin,p,C),y&&$5(this.relativeTarget,y)&&(this.isProjectionDirty=!1),y||(y=Bn()),fo(y,this.relativeTarget)),v&&(this.animationValues=d,_Ae(d,u,this.latestValues,C,b,_)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=C},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(s){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(Ia(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=dn.update(()=>{kv.hasAnimatedSinceResize=!0,this.currentAnimation=kAe(0,HI,{...s,onUpdate:a=>{this.mixTargetDelta(a),s.onUpdate&&s.onUpdate(a)},onComplete:()=>{s.onComplete&&s.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const s=this.getStack();s&&s.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(HI),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const s=this.getLead();let{targetWithTransforms:a,target:l,layout:u,latestValues:d}=s;if(!(!a||!l||!u)){if(this!==s&&this.layout&&u&&Ij(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||Bn();const f=Xi(this.layout.layoutBox.x);l.x.min=s.target.x.min,l.x.max=l.x.min+f;const p=Xi(this.layout.layoutBox.y);l.y.min=s.target.y.min,l.y.max=l.y.min+p}fo(a,l),Ud(a,d),Ip(this.projectionDeltaWithTransform,this.layoutCorrected,a,d)}}registerSharedNode(s,a){this.sharedNodes.has(s)||this.sharedNodes.set(s,new TAe),this.sharedNodes.get(s).add(a);const u=a.options.initialPromotionConfig;a.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(a):void 0})}isLead(){const s=this.getStack();return s?s.lead===this:!0}getLead(){var s;const{layoutId:a}=this.options;return a?((s=this.getStack())===null||s===void 0?void 0:s.lead)||this:this}getPrevLead(){var s;const{layoutId:a}=this.options;return a?(s=this.getStack())===null||s===void 0?void 0:s.prevLead:void 0}getStack(){const{layoutId:s}=this.options;if(s)return this.root.sharedNodes.get(s)}promote({needsReset:s,transition:a,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),s&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const s=this.getStack();return s?s.relegate(this):!1}resetRotation(){const{visualElement:s}=this.options;if(!s)return;let a=!1;const{latestValues:l}=s;if((l.rotate||l.rotateX||l.rotateY||l.rotateZ)&&(a=!0),!a)return;const u={};for(let d=0;d{var a;return(a=s.currentAnimation)===null||a===void 0?void 0:a.stop()}),this.root.nodes.forEach(WI),this.root.sharedNodes.clear()}}}function MAe(e){e.updateLayout()}function NAe(e){var t;const n=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:i}=e.layout,{animationType:o}=e.options,s=n.source!==e.layout.source;o==="size"?ps(f=>{const p=s?n.measuredBox[f]:n.layoutBox[f],g=Xi(p);p.min=r[f].min,p.max=p.min+g}):Ij(o,n.layoutBox,r)&&ps(f=>{const p=s?n.measuredBox[f]:n.layoutBox[f],g=Xi(r[f]);p.max=p.min+g,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[f].max=e.relativeTarget[f].min+g)});const a=Bd();Ip(a,r,n.layoutBox);const l=Bd();s?Ip(l,e.applyTransform(i,!0),n.measuredBox):Ip(l,r,n.layoutBox);const u=!Oj(a);let d=!1;if(!e.resumeFrom){const f=e.getClosestProjectingParent();if(f&&!f.resumeFrom){const{snapshot:p,layout:g}=f;if(p&&g){const m=Bn();Mp(m,n.layoutBox,p.layoutBox);const v=Bn();Mp(v,r,g.layoutBox),$5(m,v)||(d=!0),f.options.layoutRoot&&(e.relativeTarget=v,e.relativeTargetOrigin=m,e.relativeParent=f)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:l,layoutDelta:a,hasLayoutChanged:u,hasRelativeTargetChanged:d})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function LAe(e){Ou.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function DAe(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function $Ae(e){e.clearSnapshot()}function WI(e){e.clearMeasurements()}function FAe(e){e.isLayoutDirty=!1}function BAe(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function qI(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function UAe(e){e.resolveTargetDelta()}function zAe(e){e.calcProjection()}function VAe(e){e.resetRotation()}function jAe(e){e.removeLeadSnapshot()}function KI(e,t,n){e.translate=vn(t.translate,0,n),e.scale=vn(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function XI(e,t,n,r){e.min=vn(t.min,n.min,r),e.max=vn(t.max,n.max,r)}function GAe(e,t,n,r){XI(e.x,t.x,n.x,r),XI(e.y,t.y,n.y,r)}function HAe(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const WAe={duration:.45,ease:[.4,0,.1,1]};function YI(e){e.min=Math.round(e.min*2)/2,e.max=Math.round(e.max*2)/2}function qAe(e){YI(e.x),YI(e.y)}function Ij(e,t,n){return e==="position"||e==="preserve-aspect"&&!M5(VI(t),VI(n),.2)}const KAe=kj({attachResizeListener:(e,t)=>ya(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),lC={current:void 0},Mj=kj({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!lC.current){const e=new KAe({});e.mount(window),e.setOptions({layoutScroll:!0}),lC.current=e}return lC.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),XAe={pan:{Feature:fAe},drag:{Feature:dAe,ProjectionNode:Mj,MeasureLayout:Aj}},YAe=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function QAe(e){const t=YAe.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]}function F5(e,t,n=1){const[r,i]=QAe(e);if(!r)return;const o=window.getComputedStyle(t).getPropertyValue(r);return o?o.trim():E5(i)?F5(i,t,n+1):i}function ZAe(e,{...t},n){const r=e.current;if(!(r instanceof Element))return{target:t,transitionEnd:n};n&&(n={...n}),e.values.forEach(i=>{const o=i.get();if(!E5(o))return;const s=F5(o,r);s&&i.set(s)});for(const i in t){const o=t[i];if(!E5(o))continue;const s=F5(o,r);s&&(t[i]=s,n||(n={}),n[i]===void 0&&(n[i]=o))}return{target:t,transitionEnd:n}}const JAe=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),Nj=e=>JAe.has(e),ePe=e=>Object.keys(e).some(Nj),QI=e=>e===Oc||e===Be,ZI=(e,t)=>parseFloat(e.split(", ")[t]),JI=(e,t)=>(n,{transform:r})=>{if(r==="none"||!r)return 0;const i=r.match(/^matrix3d\((.+)\)$/);if(i)return ZI(i[1],t);{const o=r.match(/^matrix\((.+)\)$/);return o?ZI(o[1],e):0}},tPe=new Set(["x","y","z"]),nPe=Dm.filter(e=>!tPe.has(e));function rPe(e){const t=[];return nPe.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t.length&&e.render(),t}const Nf={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:JI(4,13),y:JI(5,14)};Nf.translateX=Nf.x;Nf.translateY=Nf.y;const iPe=(e,t,n)=>{const r=t.measureViewportBox(),i=t.current,o=getComputedStyle(i),{display:s}=o,a={};s==="none"&&t.setStaticValue("display",e.display||"block"),n.forEach(u=>{a[u]=Nf[u](r,o)}),t.render();const l=t.measureViewportBox();return n.forEach(u=>{const d=t.getValue(u);d&&d.jump(a[u]),e[u]=Nf[u](l,o)}),e},oPe=(e,t,n={},r={})=>{t={...t},r={...r};const i=Object.keys(t).filter(Nj);let o=[],s=!1;const a=[];if(i.forEach(l=>{const u=e.getValue(l);if(!e.hasValue(l))return;let d=n[l],f=ip(d);const p=t[l];let g;if(c_(p)){const m=p.length,v=p[0]===null?1:0;d=p[v],f=ip(d);for(let x=v;x=0?window.pageYOffset:null,u=iPe(t,e,a);return o.length&&o.forEach(([d,f])=>{e.getValue(d).set(f)}),e.render(),r2&&l!==null&&window.scrollTo({top:l}),{target:u,transitionEnd:r}}else return{target:t,transitionEnd:r}};function sPe(e,t,n,r){return ePe(t)?oPe(e,t,n,r):{target:t,transitionEnd:r}}const aPe=(e,t,n,r)=>{const i=ZAe(e,t,r);return t=i.target,r=i.transitionEnd,sPe(e,t,n,r)},B5={current:null},Lj={current:!1};function lPe(){if(Lj.current=!0,!!r2)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>B5.current=e.matches;e.addListener(t),t()}else B5.current=!1}function uPe(e,t,n){const{willChange:r}=t;for(const i in t){const o=t[i],s=n[i];if(ki(o))e.addValue(i,o),p_(r)&&r.add(i);else if(ki(s))e.addValue(i,Mf(o,{owner:e})),p_(r)&&r.remove(i);else if(s!==o)if(e.hasValue(i)){const a=e.getValue(i);!a.hasAnimated&&a.set(o)}else{const a=e.getStaticValue(i);e.addValue(i,Mf(a!==void 0?a:o,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const e7=new WeakMap,Dj=Object.keys(Vg),cPe=Dj.length,t7=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],dPe=qE.length;class fPe{constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,visualState:o},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>dn.render(this.render,!1,!0);const{latestValues:a,renderState:l}=o;this.latestValues=a,this.baseTarget={...a},this.initialValues=n.initial?{...a}:{},this.renderState=l,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=s,this.isControllingVariants=o2(n),this.isVariantNode=SV(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:u,...d}=this.scrapeMotionValuesFromProps(n,{});for(const f in d){const p=d[f];a[f]!==void 0&&ki(p)&&(p.set(a[f],!1),p_(u)&&u.add(f))}}scrapeMotionValuesFromProps(t,n){return{}}mount(t){this.current=t,e7.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,r)=>this.bindToMotionValue(r,n)),Lj.current||lPe(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:B5.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){e7.delete(this.current),this.projection&&this.projection.unmount(),Ia(this.notifyUpdate),Ia(this.render),this.valueSubscriptions.forEach(t=>t()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features)this.features[t].unmount();this.current=null}bindToMotionValue(t,n){const r=Rc.has(t),i=n.on("change",s=>{this.latestValues[t]=s,this.props.onUpdate&&dn.update(this.notifyUpdate,!1,!0),r&&this.projection&&(this.projection.isTransformDirty=!0)}),o=n.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(t,()=>{i(),o()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}loadFeatures({children:t,...n},r,i,o){let s,a;for(let l=0;lthis.scheduleRender(),animationType:typeof u=="string"?u:"both",initialPromotionConfig:o,layoutScroll:p,layoutRoot:g})}return a}updateFeatures(){for(const t in this.features){const n=this.features[t];n.isMounted?n.update():(n.mount(),n.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Bn()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}makeTargetAnimatable(t,n=!0){return this.makeTargetAnimatableFromInstance(t,this.props,n)}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let r=0;rn.variantChildren.delete(t)}addValue(t,n){n!==this.values.get(t)&&(this.removeValue(t),this.bindToMotionValue(t,n)),this.values.set(t,n),this.latestValues[t]=n.get()}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let r=this.values.get(t);return r===void 0&&n!==void 0&&(r=Mf(n,{owner:this}),this.addValue(t,r)),r}readValue(t){var n;return this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(n=this.getBaseTargetFromProps(this.props,t))!==null&&n!==void 0?n:this.readValueFromInstance(this.current,t,this.options)}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:r}=this.props,i=typeof r=="string"||typeof r=="object"?(n=n6(this.props,r))===null||n===void 0?void 0:n[t]:void 0;if(r&&i!==void 0)return i;const o=this.getBaseTargetFromProps(this.props,t);return o!==void 0&&!ki(o)?o:this.initialValues[t]!==void 0&&i===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new d6),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class $j extends fPe{sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:r}){delete n[t],delete r[t]}makeTargetAnimatableFromInstance({transition:t,transitionEnd:n,...r},{transformValues:i},o){let s=k6e(r,t||{},this);if(i&&(n&&(n=i(n)),r&&(r=i(r)),s&&(s=i(s))),o){R6e(this,r,s);const a=aPe(this,r,s,n);n=a.transitionEnd,r=a.target}return{transition:t,transitionEnd:n,...r}}}function hPe(e){return window.getComputedStyle(e)}class pPe extends $j{readValueFromInstance(t,n){if(Rc.has(n)){const r=a6(n);return r&&r.default||0}else{const r=hPe(t),i=(TV(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return Ej(t,n)}build(t,n,r,i){YE(t,n,r,i.transformTemplate)}scrapeMotionValuesFromProps(t,n){return t6(t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;ki(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(t,n,r,i){kV(t,n,r,i)}}class gPe extends $j{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(Rc.has(n)){const r=a6(n);return r&&r.default||0}return n=IV.has(n)?n:e6(n),t.getAttribute(n)}measureInstanceViewportBox(){return Bn()}scrapeMotionValuesFromProps(t,n){return NV(t,n)}build(t,n,r,i){ZE(t,n,r,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,r,i){MV(t,n,r,i)}mount(t){this.isSVGTag=JE(t.tagName),super.mount(t)}}const mPe=(e,t)=>XE(e)?new gPe(t,{enableHardwareAcceleration:!1}):new pPe(t,{enableHardwareAcceleration:!0}),yPe={layout:{ProjectionNode:Mj,MeasureLayout:Aj}},vPe={...H6e,...fEe,...XAe,...yPe},_Pe=STe((e,t)=>YTe(e,t,vPe,mPe));function Fj(){const e=L.useRef(!1);return a_(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function bPe(){const e=Fj(),[t,n]=L.useState(0),r=L.useCallback(()=>{e.current&&n(t+1)},[t]);return[L.useCallback(()=>dn.postRender(r),[r]),t]}class SPe extends L.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function wPe({children:e,isPresent:t}){const n=L.useId(),r=L.useRef(null),i=L.useRef({width:0,height:0,top:0,left:0});return L.useInsertionEffect(()=>{const{width:o,height:s,top:a,left:l}=i.current;if(t||!r.current||!o||!s)return;r.current.dataset.motionPopId=n;const u=document.createElement("style");return document.head.appendChild(u),u.sheet&&u.sheet.insertRule(` +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){n=n.call(e)},n:function(){var u=n.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(s)throw a}}}}function OU(e,t){if(e){if(typeof e=="string")return TO(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return TO(e,t)}}function TO(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,i=r.prefix,o=r.driver,s=r.persistWholeStore,a=r.serialize;try{var l=s?$1e:F1e;yield l(t,n,{prefix:i,driver:o,serialize:a})}catch(u){console.warn("redux-remember: persist error",u)}});return function(){return e.apply(this,arguments)}}();function RO(e,t,n,r,i,o,s){try{var a=e[o](s),l=a.value}catch(u){n(u);return}a.done?t(l):Promise.resolve(l).then(r,i)}function OO(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function s(l){RO(o,r,i,s,a,"next",l)}function a(l){RO(o,r,i,s,a,"throw",l)}s(void 0)})}}var U1e=function(){var e=OO(function*(t,n,r){var i=r.prefix,o=r.driver,s=r.serialize,a=r.unserialize,l=r.persistThrottle,u=r.persistDebounce,d=r.persistWholeStore;yield I1e(t,n,{prefix:i,driver:o,unserialize:a,persistWholeStore:d});var f={},p=function(){var g=OO(function*(){var m=RU(t.getState(),n);yield B1e(m,f,{prefix:i,driver:o,serialize:s,persistWholeStore:d}),cE(m,f)||t.dispatch({type:A1e,payload:m}),f=m});return function(){return g.apply(this,arguments)}}();u&&u>0?t.subscribe(R1e(p,u)):t.subscribe(P1e(p,l))});return function(n,r,i){return e.apply(this,arguments)}}();const z1e=U1e;function Ng(e){"@babel/helpers - typeof";return Ng=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ng(e)}function kO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Ix(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:n.state,i=arguments.length>1?arguments[1]:void 0;i.type&&(i.type==="@@INIT"||i.type.startsWith("@@redux/INIT"))&&(n.state=Ix({},r));var o=typeof t=="function"?t:Ff(t);switch(i.type){case J3:return n.state=o(Ix(Ix({},n.state),i.payload||{}),{type:J3}),n.state;default:return o(r,i)}}},W1e=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r.prefix,o=i===void 0?"@@remember-":i,s=r.serialize,a=s===void 0?function(x,_){return JSON.stringify(x)}:s,l=r.unserialize,u=l===void 0?function(x,_){return JSON.parse(x)}:l,d=r.persistThrottle,f=d===void 0?100:d,p=r.persistDebounce,g=r.persistWholeStore,m=g===void 0?!1:g;if(!t)throw Error("redux-remember error: driver required");if(!Array.isArray(n))throw Error("redux-remember error: rememberedKeys needs to be an array");var v=function(_){return function(b,y,S){var C=_(b,y,S);return z1e(C,n,{driver:t,prefix:o,serialize:a,unserialize:u,persistThrottle:f,persistDebounce:p,persistWholeStore:m}),C}};return v};const A7e=["chakra-ui-color-mode","i18nextLng","ROARR_FILTER","ROARR_LOG"],q1e="@@invokeai-",K1e=["cursorPosition","isCanvasInitialized","doesCanvasNeedScaling"],X1e=["pendingControlImages"],Y1e=["selection","selectedBoardId","galleryView"],Q1e=["schema","invocationTemplates"],Z1e=[],J1e=[],e_e=["currentIteration","currentStep","isCancelable","isConnected","isESRGANAvailable","isGFPGANAvailable","isProcessing","totalIterations","totalSteps","isCancelScheduled","progressImage","wereModelsReceived","wasSchemaParsed","isPersisted","isUploading"],t_e=["shouldShowImageDetails"],n_e={canvas:K1e,gallery:Y1e,generation:Z1e,nodes:Q1e,postprocessing:J1e,system:e_e,ui:t_e,controlNet:X1e},r_e=(e,t)=>{const n=rb(e,n_e[t]??[]);return JSON.stringify(n)},i_e={canvas:s$,gallery:gF,generation:Da,nodes:gU,postprocessing:vU,system:xU,config:UD,ui:t$,hotkeys:EU,controlNet:I3},o_e=(e,t)=>mae(JSON.parse(e),i_e[t]),IU=Re("nodes/textToImageGraphBuilt"),MU=Re("nodes/imageToImageGraphBuilt"),NU=Re("nodes/canvasGraphBuilt"),LU=Re("nodes/nodesGraphBuilt"),s_e=Co(IU,MU,NU,LU),a_e=e=>{if(s_e(e)&&e.payload.nodes){const t={};return{...e,payload:{...e.payload,nodes:t}}}return Ig.fulfilled.match(e)?{...e,payload:""}:sE.match(e)?{...e,payload:""}:e},l_e=["canvas/setCursorPosition","canvas/setStageCoordinates","canvas/setStageScale","canvas/setIsDrawing","canvas/setBoundingBoxCoordinates","canvas/setBoundingBoxDimensions","canvas/setIsDrawing","canvas/addPointToCurrentLine","socket/socketGeneratorProgress","socket/appSocketGeneratorProgress","hotkeys/shiftKeyPressed","@@REMEMBER_PERSISTED"],u_e=e=>e,c_e=()=>{Pe({actionCreator:Gue,effect:async(e,{dispatch:t,getState:n})=>{const r=Ie("canvas"),i=n(),{sessionId:o,isProcessing:s}=i.system,a=e.payload;if(s){if(!a){r.debug("No canvas session, skipping cancel");return}if(a!==o){r.debug({canvasSessionId:a,session_id:o},"Canvas session does not match global session, skipping cancel");return}t(mc({session_id:o}))}}})};Re("app/appStarted");const d_e=()=>{Pe({matcher:Se.endpoints.listImages.matchFulfilled,effect:async(e,{dispatch:t,unsubscribe:n,cancelActiveListeners:r})=>{if(e.meta.arg.queryCacheKey!==Bo({board_id:"none",categories:Vr}))return;r(),n();const i=e.payload;if(i.ids.length>0){const o=pn.getSelectors().selectAll(i)[0];t(Rs(o??null))}}})},dE=Hl.injectEndpoints({endpoints:e=>({getAppVersion:e.query({query:()=>({url:"app/version",method:"GET"}),providesTags:["AppVersion"],keepUnusedDataFor:864e5}),getAppConfig:e.query({query:()=>({url:"app/config",method:"GET"}),providesTags:["AppConfig"],keepUnusedDataFor:864e5})})}),{useGetAppVersionQuery:P7e,useGetAppConfigQuery:R7e}=dE,f_e=()=>{Pe({matcher:dE.endpoints.getAppConfig.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const{infill_methods:r=[],nsfw_methods:i=[],watermarking_methods:o=[]}=e.payload,s=t().generation.infillMethod;r.includes(s)||n(xue(r[0])),i.includes("nsfw_checker")||n(p1e(!1)),o.includes("invisible_watermark")||n(g1e(!1))}})},h_e=Re("app/appStarted"),p_e=()=>{Pe({actionCreator:h_e,effect:async(e,{unsubscribe:t,cancelActiveListeners:n})=>{n(),t()}})},fE={memoizeOptions:{resultEqualityCheck:nb}},DU=(e,t)=>{var f;const{generation:n,canvas:r,nodes:i,controlNet:o}=e,s=((f=n.initialImage)==null?void 0:f.imageName)===t,a=r.layerState.objects.some(p=>p.kind==="image"&&p.imageName===t),l=i.nodes.some(p=>ku(p.data.inputs,g=>{var m;return g.type==="image"&&((m=g.value)==null?void 0:m.image_name)===t})),u=ku(o.controlNets,p=>p.controlImage===t||p.processedControlImage===t);return{isInitialImage:s,isCanvasImage:a,isNodesImage:l,isControlNetImage:u}},g_e=si([e=>e],e=>{const{imagesToDelete:t}=e.deleteImageModal;return t.length?t.map(r=>DU(e,r.image_name)):[]},fE),m_e=()=>{Pe({matcher:Se.endpoints.deleteBoardAndImages.matchFulfilled,effect:async(e,{dispatch:t,getState:n})=>{const{deleted_images:r}=e.payload;let i=!1,o=!1,s=!1,a=!1;const l=n();r.forEach(u=>{const d=DU(l,u);d.isInitialImage&&!i&&(t(wT()),i=!0),d.isCanvasImage&&!o&&(t(xT()),o=!0),d.isNodesImage&&!s&&(t(aE()),s=!0),d.isControlNetImage&&!a&&(t(BT()),a=!0)})}})},y_e=()=>{Pe({matcher:Co(M3,k1),effect:async(e,{getState:t,dispatch:n,condition:r,cancelActiveListeners:i})=>{i();const o=t(),s=M3.match(e)?e.payload:o.gallery.selectedBoardId,l=(k1.match(e)?e.payload:o.gallery.galleryView)==="images"?Vr:wl,u={board_id:s??"none",categories:l};if(await r(()=>Se.endpoints.listImages.select(u)(t()).isSuccess,5e3)){const{data:f}=Se.endpoints.listImages.select(u)(t());if(f){const p=O1.selectAll(f)[0];n(Rs(p??null))}else n(Rs(null))}else n(Rs(null))}})},v_e=Re("canvas/canvasSavedToGallery"),__e=Re("canvas/canvasCopiedToClipboard"),b_e=Re("canvas/canvasDownloadedAsImage"),S_e=Re("canvas/canvasMerged"),w_e=Re("canvas/stagingAreaImageSaved");let $U=null,FU=null;const O7e=e=>{$U=e},nS=()=>$U,k7e=e=>{FU=e},x_e=()=>FU,C_e=async e=>new Promise((t,n)=>{e.toBlob(r=>{if(r){t(r);return}n("Unable to create Blob")})}),Q1=async(e,t)=>await C_e(e.toCanvas(t)),hE=async e=>{const t=nS();if(!t)return;const{shouldCropToBoundingBoxOnSave:n,boundingBoxCoordinates:r,boundingBoxDimensions:i}=e.canvas,o=t.clone();o.scale({x:1,y:1});const s=o.getAbsolutePosition(),a=n?{x:r.x+s.x,y:r.y+s.y,width:i.width,height:i.height}:o.getClientRect();return Q1(o,a)},T_e=e=>{navigator.clipboard.write([new ClipboardItem({[e.type]:e})])},E_e=()=>{Pe({actionCreator:__e,effect:async(e,{dispatch:t,getState:n})=>{const r=Jb.get().child({namespace:"canvasCopiedToClipboardListener"}),i=n(),o=await hE(i);if(!o){r.error("Problem getting base layer blob"),t(zn({title:"Problem Copying Canvas",description:"Unable to export base layer",status:"error"}));return}T_e(o),t(zn({title:"Canvas Copied to Clipboard",status:"success"}))}})},A_e=(e,t)=>{const n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),r.remove()},P_e=()=>{Pe({actionCreator:b_e,effect:async(e,{dispatch:t,getState:n})=>{const r=Jb.get().child({namespace:"canvasSavedToGalleryListener"}),i=n(),o=await hE(i);if(!o){r.error("Problem getting base layer blob"),t(zn({title:"Problem Downloading Canvas",description:"Unable to export base layer",status:"error"}));return}A_e(o,"canvas.png"),t(zn({title:"Canvas Downloaded",status:"success"}))}})},R_e=async()=>{const e=nS();if(!e)return;const t=e.clone();return t.scale({x:1,y:1}),Q1(t,t.getClientRect())},O_e=()=>{Pe({actionCreator:S_e,effect:async(e,{dispatch:t})=>{const n=Jb.get().child({namespace:"canvasCopiedToClipboardListener"}),r=await R_e();if(!r){n.error("Problem getting base layer blob"),t(zn({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const i=nS();if(!i){n.error("Problem getting canvas base layer"),t(zn({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const o=i.getClientRect({relativeTo:i.getParent()}),s=await t(Se.endpoints.uploadImage.initiate({file:new File([r],"mergedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Merged"}}})).unwrap(),{image_name:a}=s;t(Hue({kind:"image",layer:"base",imageName:a,...o}))}})},k_e=()=>{Pe({actionCreator:v_e,effect:async(e,{dispatch:t,getState:n})=>{const r=Ie("canvas"),i=n(),o=await hE(i);if(!o){r.error("Problem getting base layer blob"),t(zn({title:"Problem Saving Canvas",description:"Unable to export base layer",status:"error"}));return}const{autoAddBoardId:s}=i.gallery;t(Se.endpoints.uploadImage.initiate({file:new File([o],"savedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!1,board_id:s==="none"?void 0:s,crop_visible:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Saved to Gallery"}}}))}})},I_e=(e,t,n)=>{var f;if(!(Qde.match(e)||dR.match(e)||FT.match(e)||Zde.match(e)||fR.match(e))||fR.match(e)&&((f=n.controlNet.controlNets[e.payload.controlNetId])==null?void 0:f.shouldAutoConfig)===!0)return!1;const i=t.controlNet.controlNets[e.payload.controlNetId];if(!i)return!1;const{controlImage:o,processorType:s,shouldAutoConfig:a}=i;if(dR.match(e)&&!a)return!1;const l=s!=="none",u=t.system.isProcessing;return l&&!u&&!!o},M_e=()=>{Pe({predicate:I_e,effect:async(e,{dispatch:t,cancelActiveListeners:n,delay:r})=>{const i=Ie("session"),{controlNetId:o}=e.payload;n(),i.trace("ControlNet auto-process triggered"),await r(300),t($T({controlNetId:o}))}})},yc=Re("system/sessionReadyToInvoke"),BU=e=>(e==null?void 0:e.type)==="image_output",N_e=()=>{Pe({actionCreator:$T,effect:async(e,{dispatch:t,getState:n,take:r})=>{const i=Ie("session"),{controlNetId:o}=e.payload,s=n().controlNet.controlNets[o];if(!(s!=null&&s.controlImage)){i.error("Unable to process ControlNet image");return}const a={nodes:{[s.processorNode.id]:{...s.processorNode,is_intermediate:!0,image:{image_name:s.controlImage}}}},l=t(Ir({graph:a})),[u]=await r(p=>Ir.fulfilled.match(p)&&p.meta.requestId===l.requestId),d=u.payload.id;t(yc());const[f]=await r(p=>LT.match(p)&&p.payload.data.graph_execution_state_id===d);if(BU(f.payload.data.result)){const{image_name:p}=f.payload.data.result.image,[{payload:g}]=await r(v=>Se.endpoints.getImageDTO.matchFulfilled(v)&&v.payload.image_name===p),m=g;i.debug({controlNetId:e.payload,processedControlImage:m},"ControlNet image processed"),t(Yde({controlNetId:o,processedControlImage:m.image_name}))}}})},L_e=()=>{Pe({matcher:Se.endpoints.addImageToBoard.matchFulfilled,effect:e=>{const t=Ie("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Image added to board")}})},D_e=()=>{Pe({matcher:Se.endpoints.addImageToBoard.matchRejected,effect:e=>{const t=Ie("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Problem adding image to board")}})},pE=Re("deleteImageModal/imageDeletionConfirmed"),I7e=e=>e.gallery,M7e=si(e=>e,e=>e.gallery.selection[e.gallery.selection.length-1],fE),UU=si([e=>e],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{board_id:t,categories:n==="images"?Vr:wl,offset:0,limit:Xue,is_intermediate:!1}},fE),$_e=()=>{Pe({actionCreator:pE,effect:async(e,{dispatch:t,getState:n,condition:r})=>{var p;const{imageDTOs:i,imagesUsage:o}=e.payload;if(i.length!==1||o.length!==1)return;const s=i[0],a=o[0];if(!s||!a)return;t(UT(!1));const l=n(),u=(p=l.gallery.selection[l.gallery.selection.length-1])==null?void 0:p.image_name;if(s&&(s==null?void 0:s.image_name)===u){const{image_name:g}=s,m=UU(l),{data:v}=Se.endpoints.listImages.select(m)(l),x=v?pn.getSelectors().selectAll(v):[],_=x.findIndex(C=>C.image_name===g),b=x.filter(C=>C.image_name!==g),y=bl(_,0,b.length-1),S=b[y];t(Rs(S||null))}a.isCanvasImage&&t(xT()),a.isControlNetImage&&t(BT()),a.isInitialImage&&t(wT()),a.isNodesImage&&t(aE());const{requestId:d}=t(Se.endpoints.deleteImage.initiate(s));await r(g=>Se.endpoints.deleteImage.matchFulfilled(g)&&g.meta.requestId===d,3e4)&&t(Hl.util.invalidateTags([{type:"Board",id:s.board_id}]))}})},F_e=()=>{Pe({actionCreator:pE,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTOs:r,imagesUsage:i}=e.payload;if(!(r.length<1||i.length<1))try{await t(Se.endpoints.deleteImages.initiate({imageDTOs:r})).unwrap();const o=n(),s=UU(o),{data:a}=Se.endpoints.listImages.select(s)(o),l=a?pn.getSelectors().selectAll(a)[0]:void 0;t(Rs(l||null)),t(UT(!1)),i.some(u=>u.isCanvasImage)&&t(xT()),i.some(u=>u.isControlNetImage)&&t(BT()),i.some(u=>u.isInitialImage)&&t(wT()),i.some(u=>u.isNodesImage)&&t(aE())}catch{}}})},B_e=()=>{Pe({matcher:Se.endpoints.deleteImage.matchPending,effect:()=>{}})},U_e=()=>{Pe({matcher:Se.endpoints.deleteImage.matchFulfilled,effect:e=>{Ie("images").debug({imageDTO:e.meta.arg.originalArgs},"Image deleted")}})},z_e=()=>{Pe({matcher:Se.endpoints.deleteImage.matchRejected,effect:e=>{Ie("images").debug({imageDTO:e.meta.arg.originalArgs},"Unable to delete image")}})},zU=Re("dnd/dndDropped"),V_e=()=>{Pe({actionCreator:zU,effect:async(e,{dispatch:t})=>{const n=Ie("images"),{activeData:r,overData:i}=e.payload;if(r.payloadType==="IMAGE_DTO"?n.debug({activeData:r,overData:i},"Image dropped"):r.payloadType==="IMAGE_DTOS"?n.debug({activeData:r,overData:i},`Images (${r.payload.imageDTOs.length}) dropped`):n.debug({activeData:r,overData:i},"Unknown payload dropped"),i.actionType==="SET_CURRENT_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(Rs(r.payload.imageDTO));return}if(i.actionType==="SET_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(ob(r.payload.imageDTO));return}if(i.actionType==="SET_CONTROLNET_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{controlNetId:o}=i.context;t(FT({controlImage:r.payload.imageDTO.image_name,controlNetId:o}));return}if(i.actionType==="SET_CANVAS_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(l$(r.payload.imageDTO));return}if(i.actionType==="SET_NODES_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{fieldName:o,nodeId:s}=i.context;t(yU({nodeId:s,fieldName:o,value:r.payload.imageDTO}));return}if(i.actionType==="ADD_TO_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload,{boardId:s}=i.context;t(Se.endpoints.addImageToBoard.initiate({imageDTO:o,board_id:s}));return}if(i.actionType==="REMOVE_FROM_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload;t(Se.endpoints.removeImageFromBoard.initiate({imageDTO:o}));return}if(i.actionType==="ADD_TO_BOARD"&&r.payloadType==="IMAGE_DTOS"&&r.payload.imageDTOs){const{imageDTOs:o}=r.payload,{boardId:s}=i.context;t(Se.endpoints.addImagesToBoard.initiate({imageDTOs:o,board_id:s}));return}if(i.actionType==="REMOVE_FROM_BOARD"&&r.payloadType==="IMAGE_DTOS"&&r.payload.imageDTOs){const{imageDTOs:o}=r.payload;t(Se.endpoints.removeImagesFromBoard.initiate({imageDTOs:o}));return}}})},j_e=()=>{Pe({matcher:Se.endpoints.removeImageFromBoard.matchFulfilled,effect:e=>{const t=Ie("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Image removed from board")}})},G_e=()=>{Pe({matcher:Se.endpoints.removeImageFromBoard.matchRejected,effect:e=>{const t=Ie("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Problem removing image from board")}})},H_e=()=>{Pe({actionCreator:ofe,effect:async(e,{dispatch:t,getState:n})=>{const r=e.payload,i=n(),{shouldConfirmOnDelete:o}=i.system,s=g_e(n()),a=s.some(l=>l.isCanvasImage)||s.some(l=>l.isInitialImage)||s.some(l=>l.isControlNetImage)||s.some(l=>l.isNodesImage);if(o||a){t(UT(!0));return}t(pE({imageDTOs:r,imagesUsage:s}))}})},cd={title:"Image Uploaded",status:"success"},W_e=()=>{Pe({matcher:Se.endpoints.uploadImage.matchFulfilled,effect:(e,{dispatch:t,getState:n})=>{const r=Ie("images"),i=e.payload,o=n(),{autoAddBoardId:s}=o.gallery;r.debug({imageDTO:i},"Image uploaded");const{postUploadAction:a}=e.meta.arg.originalArgs;if(!(e.payload.is_intermediate&&!a)){if((a==null?void 0:a.type)==="TOAST"){const{toastOptions:l}=a;if(!s||s==="none")t(zn({...cd,...l}));else{t(Se.endpoints.addImageToBoard.initiate({board_id:s,imageDTO:i}));const{data:u}=Ui.endpoints.listAllBoards.select()(o),d=u==null?void 0:u.find(p=>p.board_id===s),f=d?`Added to board ${d.board_name}`:`Added to board ${s}`;t(zn({...cd,description:f}))}return}if((a==null?void 0:a.type)==="SET_CANVAS_INITIAL_IMAGE"){t(l$(i)),t(zn({...cd,description:"Set as canvas initial image"}));return}if((a==null?void 0:a.type)==="SET_CONTROLNET_IMAGE"){const{controlNetId:l}=a;t(FT({controlNetId:l,controlImage:i.image_name})),t(zn({...cd,description:"Set as control image"}));return}if((a==null?void 0:a.type)==="SET_INITIAL_IMAGE"){t(ob(i)),t(zn({...cd,description:"Set as initial image"}));return}if((a==null?void 0:a.type)==="SET_NODES_IMAGE"){const{nodeId:l,fieldName:u}=a;t(yU({nodeId:l,fieldName:u,value:i})),t(zn({...cd,description:`Set as node field ${u}`}));return}}}})},q_e=()=>{Pe({matcher:Se.endpoints.uploadImage.matchRejected,effect:(e,{dispatch:t})=>{const n=Ie("images"),r={arg:{...rb(e.meta.arg.originalArgs,["file","postUploadAction"]),file:""}};n.error({...r},"Image upload failed"),t(zn({title:"Image Upload Failed",description:e.error.message,status:"error"}))}})},K_e=Re("generation/initialImageSelected"),X_e=Re("generation/modelSelected"),Y_e=()=>{Pe({actionCreator:K_e,effect:(e,{dispatch:t})=>{if(!e.payload){t(zn(Ku({title:Pp("toast.imageNotLoadedDesc"),status:"error"})));return}t(ob(e.payload)),t(zn(Ku(Pp("toast.sentToImageToImage"))))}})},Q_e=()=>{Pe({actionCreator:X_e,effect:(e,{getState:t,dispatch:n})=>{var l;const r=Ie("models"),i=t(),o=QD.safeParse(e.payload);if(!o.success){r.error({error:o.error.format()},"Failed to parse main model");return}const s=o.data,{base_model:a}=s;if(((l=i.generation.model)==null?void 0:l.base_model)!==a){let u=0;tc(i.lora.loras,(p,g)=>{p.base_model!==a&&(n(bF(g)),u+=1)});const{vae:d}=i.generation;d&&d.base_model!==a&&(n(JD(null)),u+=1);const{controlNets:f}=i.controlNet;tc(f,(p,g)=>{var m;((m=p.model)==null?void 0:m.base_model)!==a&&(n(fF({controlNetId:g})),u+=1)}),u>0&&n(zn(Ku({title:`Base model changed, cleared ${u} incompatible submodel${u===1?"":"s"}`,status:"warning"})))}n(Sl(s))}})},t5=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),IO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),MO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),NO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),LO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),n5=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),Z_e=({base_model:e,model_type:t,model_name:n})=>`${e}/${t}/${n}`,dd=e=>{const t=[];return e.forEach(n=>{const r={...Ur(n),id:Z_e(n)};t.push(r)}),t},fa=Hl.injectEndpoints({endpoints:e=>({getOnnxModels:e.query({query:t=>{const n={model_type:"onnx",base_models:t};return`models/?${fv.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"OnnxModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"OnnxModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return IO.setAll(IO.getInitialState(),i)}}),getMainModels:e.query({query:t=>{const n={model_type:"main",base_models:t};return`models/?${fv.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"MainModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"MainModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return t5.setAll(t5.getInitialState(),i)}}),updateMainModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/main/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),importMainModels:e.mutation({query:({body:t})=>({url:"models/import",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),addMainModels:e.mutation({query:({body:t})=>({url:"models/add",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),deleteMainModels:e.mutation({query:({base_model:t,model_name:n,model_type:r})=>({url:`models/${t}/${r}/${n}`,method:"DELETE"}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),convertMainModels:e.mutation({query:({base_model:t,model_name:n,convert_dest_directory:r})=>({url:`models/convert/${t}/main/${n}`,method:"PUT",params:{convert_dest_directory:r}}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),mergeMainModels:e.mutation({query:({base_model:t,body:n})=>({url:`models/merge/${t}`,method:"PUT",body:n}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),syncModels:e.mutation({query:()=>({url:"models/sync",method:"POST"}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),getLoRAModels:e.query({query:()=>({url:"models/",params:{model_type:"lora"}}),providesTags:(t,n,r)=>{const i=[{type:"LoRAModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"LoRAModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return MO.setAll(MO.getInitialState(),i)}}),updateLoRAModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/lora/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"LoRAModel",id:Ke}]}),deleteLoRAModels:e.mutation({query:({base_model:t,model_name:n})=>({url:`models/${t}/lora/${n}`,method:"DELETE"}),invalidatesTags:[{type:"LoRAModel",id:Ke}]}),getControlNetModels:e.query({query:()=>({url:"models/",params:{model_type:"controlnet"}}),providesTags:(t,n,r)=>{const i=[{type:"ControlNetModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"ControlNetModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return NO.setAll(NO.getInitialState(),i)}}),getVaeModels:e.query({query:()=>({url:"models/",params:{model_type:"vae"}}),providesTags:(t,n,r)=>{const i=[{type:"VaeModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"VaeModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return n5.setAll(n5.getInitialState(),i)}}),getTextualInversionModels:e.query({query:()=>({url:"models/",params:{model_type:"embedding"}}),providesTags:(t,n,r)=>{const i=[{type:"TextualInversionModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"TextualInversionModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return LO.setAll(LO.getInitialState(),i)}}),getModelsInFolder:e.query({query:t=>({url:`/models/search?${fv.stringify(t,{})}`}),providesTags:(t,n,r)=>{const i=[{type:"ScannedModels",id:Ke}];return t&&i.push(...t.map(o=>({type:"ScannedModels",id:o}))),i}}),getCheckpointConfigs:e.query({query:()=>({url:"/models/ckpt_confs"})})})}),{useGetMainModelsQuery:N7e,useGetOnnxModelsQuery:L7e,useGetControlNetModelsQuery:D7e,useGetLoRAModelsQuery:$7e,useGetTextualInversionModelsQuery:F7e,useGetVaeModelsQuery:B7e,useUpdateMainModelsMutation:U7e,useDeleteMainModelsMutation:z7e,useImportMainModelsMutation:V7e,useAddMainModelsMutation:j7e,useConvertMainModelsMutation:G7e,useMergeMainModelsMutation:H7e,useDeleteLoRAModelsMutation:W7e,useUpdateLoRAModelsMutation:q7e,useSyncModelsMutation:K7e,useGetModelsInFolderQuery:X7e,useGetCheckpointConfigsQuery:Y7e}=fa,J_e=()=>{Pe({predicate:(e,t)=>fa.endpoints.getMainModels.matchFulfilled(t)&&!t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=Ie("models");r.info({models:e.payload.entities},`Main models loaded (${e.payload.ids.length})`);const i=t().generation.model;if(ku(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)&&(u==null?void 0:u.model_type)===(i==null?void 0:i.model_type)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(Sl(null));return}const l=QD.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse main model");return}n(Sl(l.data))}}),Pe({predicate:(e,t)=>fa.endpoints.getMainModels.matchFulfilled(t)&&t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=Ie("models");r.info({models:e.payload.entities},`SDXL Refiner models loaded (${e.payload.ids.length})`);const i=t().sdxl.refinerModel;if(ku(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)&&(u==null?void 0:u.model_type)===(i==null?void 0:i.model_type)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(pO(null)),n(Hve(!1));return}const l=YD.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse SDXL Refiner Model");return}n(pO(l.data))}}),Pe({matcher:fa.endpoints.getVaeModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=Ie("models");r.info({models:e.payload.entities},`VAEs loaded (${e.payload.ids.length})`);const i=t().generation.vae;if(i===null||ku(e.payload.entities,l=>(l==null?void 0:l.model_name)===(i==null?void 0:i.model_name)&&(l==null?void 0:l.base_model)===(i==null?void 0:i.base_model)))return;const s=n5.getSelectors().selectAll(e.payload)[0];if(!s){n(Sl(null));return}const a=vue.safeParse(s);if(!a.success){r.error({error:a.error.format()},"Failed to parse VAE model");return}n(JD(a.data))}}),Pe({matcher:fa.endpoints.getLoRAModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{Ie("models").info({models:e.payload.entities},`LoRAs loaded (${e.payload.ids.length})`);const i=t().lora.loras;tc(i,(o,s)=>{ku(e.payload.entities,l=>(l==null?void 0:l.model_name)===(o==null?void 0:o.model_name)&&(l==null?void 0:l.base_model)===(o==null?void 0:o.base_model))||n(bF(s))})}}),Pe({matcher:fa.endpoints.getControlNetModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{Ie("models").info({models:e.payload.entities},`ControlNet models loaded (${e.payload.ids.length})`);const i=t().controlNet.controlNets;tc(i,(o,s)=>{ku(e.payload.entities,l=>{var u,d;return(l==null?void 0:l.model_name)===((u=o==null?void 0:o.model)==null?void 0:u.model_name)&&(l==null?void 0:l.base_model)===((d=o==null?void 0:o.model)==null?void 0:d.base_model)})||n(fF({controlNetId:s}))})}}),Pe({matcher:fa.endpoints.getTextualInversionModels.matchFulfilled,effect:async e=>{Ie("models").info({models:e.payload.entities},`Embeddings loaded (${e.payload.ids.length})`)}})},$a=e=>JSON.parse(JSON.stringify(e)),r5=e=>!("$ref"in e),ebe=e=>!("$ref"in e),Q7e=500,tbe={integer:"integer",float:"float",number:"float",string:"string",boolean:"boolean",enum:"enum",ImageField:"image",image_collection:"image_collection",LatentsField:"latents",ConditioningField:"conditioning",UNetField:"unet",ClipField:"clip",VaeField:"vae",model:"model",refiner_model:"refiner_model",vae_model:"vae_model",lora_model:"lora_model",controlnet_model:"controlnet_model",ControlNetModelField:"controlnet_model",array:"array",item:"item",ColorField:"color",ControlField:"control",control:"control",cfg_scale:"float",control_weight:"float"},nbe=500,On=e=>`var(--invokeai-colors-${e}-${nbe})`,Z7e={integer:{color:"red",colorCssVar:On("red"),title:"Integer",description:"Integers are whole numbers, without a decimal point."},float:{color:"orange",colorCssVar:On("orange"),title:"Float",description:"Floats are numbers with a decimal point."},string:{color:"yellow",colorCssVar:On("yellow"),title:"String",description:"Strings are text."},boolean:{color:"green",colorCssVar:On("green"),title:"Boolean",description:"Booleans are true or false."},enum:{color:"blue",colorCssVar:On("blue"),title:"Enum",description:"Enums are values that may be one of a number of options."},image:{color:"purple",colorCssVar:On("purple"),title:"Image",description:"Images may be passed between nodes."},image_collection:{color:"purple",colorCssVar:On("purple"),title:"Image Collection",description:"A collection of images."},latents:{color:"pink",colorCssVar:On("pink"),title:"Latents",description:"Latents may be passed between nodes."},conditioning:{color:"cyan",colorCssVar:On("cyan"),title:"Conditioning",description:"Conditioning may be passed between nodes."},unet:{color:"red",colorCssVar:On("red"),title:"UNet",description:"UNet submodel."},clip:{color:"green",colorCssVar:On("green"),title:"Clip",description:"Tokenizer and text_encoder submodels."},vae:{color:"blue",colorCssVar:On("blue"),title:"Vae",description:"Vae submodel."},control:{color:"cyan",colorCssVar:On("cyan"),title:"Control",description:"Control info passed between nodes."},model:{color:"teal",colorCssVar:On("teal"),title:"Model",description:"Models are models."},refiner_model:{color:"teal",colorCssVar:On("teal"),title:"Refiner Model",description:"Models are models."},vae_model:{color:"teal",colorCssVar:On("teal"),title:"VAE",description:"Models are models."},lora_model:{color:"teal",colorCssVar:On("teal"),title:"LoRA",description:"Models are models."},controlnet_model:{color:"teal",colorCssVar:On("teal"),title:"ControlNet",description:"Models are models."},array:{color:"gray",colorCssVar:On("gray"),title:"Array",description:"TODO: Array type description."},item:{color:"gray",colorCssVar:On("gray"),title:"Collection Item",description:"TODO: Collection Item type description."},color:{color:"gray",colorCssVar:On("gray"),title:"Color",description:"A RGBA color."}},J7e=250,Mx=e=>{const t=e.$ref.split("/").slice(-1)[0];return t||"UNKNOWN FIELD TYPE"},rbe=({schemaObject:e,baseField:t})=>{const n={...t,type:"integer",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},ibe=({schemaObject:e,baseField:t})=>{const n={...t,type:"float",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},obe=({schemaObject:e,baseField:t})=>{const n={...t,type:"string",inputRequirement:"always",inputKind:"any",default:e.default??""};return e.minLength!==void 0&&(n.minLength=e.minLength),e.maxLength!==void 0&&(n.maxLength=e.maxLength),e.pattern!==void 0&&(n.pattern=e.pattern),n},sbe=({schemaObject:e,baseField:t})=>({...t,type:"boolean",inputRequirement:"always",inputKind:"any",default:e.default??!1}),abe=({schemaObject:e,baseField:t})=>({...t,type:"model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),lbe=({schemaObject:e,baseField:t})=>({...t,type:"refiner_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),ube=({schemaObject:e,baseField:t})=>({...t,type:"vae_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),cbe=({schemaObject:e,baseField:t})=>({...t,type:"lora_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),dbe=({schemaObject:e,baseField:t})=>({...t,type:"controlnet_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),fbe=({schemaObject:e,baseField:t})=>({...t,type:"image",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),hbe=({schemaObject:e,baseField:t})=>({...t,type:"image_collection",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),pbe=({schemaObject:e,baseField:t})=>({...t,type:"latents",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),gbe=({schemaObject:e,baseField:t})=>({...t,type:"conditioning",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),mbe=({schemaObject:e,baseField:t})=>({...t,type:"unet",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),ybe=({schemaObject:e,baseField:t})=>({...t,type:"clip",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),vbe=({schemaObject:e,baseField:t})=>({...t,type:"vae",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),_be=({schemaObject:e,baseField:t})=>({...t,type:"control",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),bbe=({schemaObject:e,baseField:t})=>{const n=e.enum??[];return{...t,type:"enum",enumType:e.type??"string",options:n,inputRequirement:"always",inputKind:"direct",default:e.default??n[0]}},DO=({baseField:e})=>({...e,type:"array",inputRequirement:"always",inputKind:"direct",default:[]}),$O=({baseField:e})=>({...e,type:"item",inputRequirement:"always",inputKind:"direct",default:void 0}),Sbe=({schemaObject:e,baseField:t})=>({...t,type:"color",inputRequirement:"always",inputKind:"direct",default:e.default??{r:127,g:127,b:127,a:255}}),VU=(e,t,n)=>{let r="";n&&t in n?r=n[t]??"UNKNOWN FIELD TYPE":e.type?e.enum?r="enum":e.type&&(r=e.type):e.allOf?r=Mx(e.allOf[0]):e.anyOf?r=Mx(e.anyOf[0]):e.oneOf&&(r=Mx(e.oneOf[0]));const i=tbe[r];if(!i)throw`Field type "${r}" is unknown!`;return i},wbe=(e,t,n)=>{const r=VU(e,t,n),i={name:t,title:e.title??"",description:e.description??""};if(["image"].includes(r))return fbe({schemaObject:e,baseField:i});if(["image_collection"].includes(r))return hbe({schemaObject:e,baseField:i});if(["latents"].includes(r))return pbe({schemaObject:e,baseField:i});if(["conditioning"].includes(r))return gbe({schemaObject:e,baseField:i});if(["unet"].includes(r))return mbe({schemaObject:e,baseField:i});if(["clip"].includes(r))return ybe({schemaObject:e,baseField:i});if(["vae"].includes(r))return vbe({schemaObject:e,baseField:i});if(["control"].includes(r))return _be({schemaObject:e,baseField:i});if(["model"].includes(r))return abe({schemaObject:e,baseField:i});if(["refiner_model"].includes(r))return lbe({schemaObject:e,baseField:i});if(["vae_model"].includes(r))return ube({schemaObject:e,baseField:i});if(["lora_model"].includes(r))return cbe({schemaObject:e,baseField:i});if(["controlnet_model"].includes(r))return dbe({schemaObject:e,baseField:i});if(["enum"].includes(r))return bbe({schemaObject:e,baseField:i});if(["integer"].includes(r))return rbe({schemaObject:e,baseField:i});if(["number","float"].includes(r))return ibe({schemaObject:e,baseField:i});if(["string"].includes(r))return obe({schemaObject:e,baseField:i});if(["boolean"].includes(r))return sbe({schemaObject:e,baseField:i});if(["array"].includes(r))return DO({schemaObject:e,baseField:i});if(["item"].includes(r))return $O({schemaObject:e,baseField:i});if(["color"].includes(r))return Sbe({schemaObject:e,baseField:i});if(["array"].includes(r))return DO({schemaObject:e,baseField:i});if(["item"].includes(r))return $O({schemaObject:e,baseField:i})},xbe=(e,t,n)=>{const r=e.$ref.split("/").slice(-1)[0];if(!r)throw Ie("nodes").error({refObject:$a(e)},"No output schema name found in ref object"),"No output schema name found in ref object";const i=t.components.schemas[r];if(!i)throw Ie("nodes").error({outputSchemaName:r},"Output schema not found"),"Output schema not found";return r5(i)?_T(i.properties,(s,a,l)=>{if(!["type","id"].includes(l)&&!["object"].includes(a.type)&&r5(a)){const u=VU(a,l,n);s[l]={name:l,title:a.title??"",description:a.description??"",type:u}}return s},{}):{}},Cbe=e=>e==="l2i"?["id","type","metadata"]:["id","type","is_intermediate","metadata"],Tbe=["Graph","InvocationMeta","MetadataAccumulatorInvocation"],Ebe=e=>{var r;return ID((r=e.components)==null?void 0:r.schemas,(i,o)=>o.includes("Invocation")&&!o.includes("InvocationOutput")&&!Tbe.some(s=>o.includes(s))).reduce((i,o)=>{var s,a,l,u,d;if(ebe(o)){const f=o.properties.type.default,p=Cbe(f),g=((s=o.ui)==null?void 0:s.title)??o.title.replace("Invocation",""),m=(a=o.ui)==null?void 0:a.type_hints,v={};if(f==="collect"){const y=o.properties.item;v.item={type:"item",name:"item",description:y.description??"",title:"Collection Item",inputKind:"connection",inputRequirement:"always",default:void 0}}else if(f==="iterate"){const y=o.properties.collection;v.collection={type:"array",name:"collection",title:y.title??"",default:[],description:y.description??"",inputRequirement:"always",inputKind:"connection"}}else _T(o.properties,(y,S,C)=>{if(!p.includes(C)&&r5(S)){const T=wbe(S,C,m);T&&(y[C]=T)}return y},v);const x=o.output;let _;if(f==="iterate"){const y=(u=(l=e.components)==null?void 0:l.schemas)==null?void 0:u.IterateInvocationOutput;_={item:{name:"item",title:(y==null?void 0:y.title)??"",description:(y==null?void 0:y.description)??"",type:"array"}}}else _=xbe(x,e,m);const b={title:g,type:f,tags:((d=o.ui)==null?void 0:d.tags)??[],description:o.description??"",inputs:v,outputs:_};Object.assign(i,{[f]:b})}return i},{})},Abe=()=>{Pe({actionCreator:Ig.fulfilled,effect:(e,{dispatch:t})=>{const n=Ie("system"),r=e.payload;n.debug({schemaJSON:r},"Dereferenced OpenAPI schema");const i=Ebe(r);n.debug({nodeTemplates:$a(i)},`Built ${bT(i)} node templates`),t(sE(i))}}),Pe({actionCreator:Ig.rejected,effect:()=>{Ie("system").error("Problem dereferencing OpenAPI Schema")}})},Pbe=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(Boolean).map(e=>[e.name,e]),Rbe=new Map(Pbe),Obe=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],i5=Symbol(".toJSON was called"),kbe=e=>{e[i5]=!0;const t=e.toJSON();return delete e[i5],t},Ibe=e=>Rbe.get(e)??Error,jU=({from:e,seen:t,to:n,forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a})=>{if(!n)if(Array.isArray(e))n=[];else if(!a&&FO(e)){const u=Ibe(e.name);n=new u}else n={};if(t.push(e),o>=i)return n;if(s&&typeof e.toJSON=="function"&&e[i5]!==!0)return kbe(e);const l=u=>jU({from:u,seen:[...t],forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a});for(const[u,d]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(d)){n[u]="[object Buffer]";continue}if(d!==null&&typeof d=="object"&&typeof d.pipe=="function"){n[u]="[object Stream]";continue}if(typeof d!="function"){if(!d||typeof d!="object"){n[u]=d;continue}if(!t.includes(e[u])){o++,n[u]=l(e[u]);continue}n[u]="[Circular]"}}for(const{property:u,enumerable:d}of Obe)typeof e[u]<"u"&&e[u]!==null&&Object.defineProperty(n,u,{value:FO(e[u])?l(e[u]):e[u],enumerable:r?!0:d,configurable:!0,writable:!0});return n};function gE(e,t={}){const{maxDepth:n=Number.POSITIVE_INFINITY,useToJSON:r=!0}=t;return typeof e=="object"&&e!==null?jU({from:e,seen:[],forceEnumerable:!0,maxDepth:n,depth:0,useToJSON:r,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}function FO(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}const Mbe=()=>{Pe({actionCreator:mc.pending,effect:()=>{}})},Nbe=()=>{Pe({actionCreator:mc.fulfilled,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session canceled (${n})`)}})},Lbe=()=>{Pe({actionCreator:mc.rejected,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:gE(r)},"Problem canceling session")}}})},Dbe=()=>{Pe({actionCreator:Ir.pending,effect:()=>{}})},$be=()=>{Pe({actionCreator:Ir.fulfilled,effect:e=>{const t=Ie("session"),n=e.payload;t.debug({session:$a(n)},`Session created (${n.id})`)}})},Fbe=()=>{Pe({actionCreator:Ir.rejected,effect:e=>{const t=Ie("session");if(e.payload){const{error:n,status:r}=e.payload,i=$a(e.meta.arg);t.error({graph:i,status:r,error:gE(n)},"Problem creating session")}}})},Bbe=()=>{Pe({actionCreator:mm.pending,effect:()=>{}})},Ube=()=>{Pe({actionCreator:mm.fulfilled,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session invoked (${n})`)}})},zbe=()=>{Pe({actionCreator:mm.rejected,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:gE(r)},"Problem invoking session")}}})},Vbe=()=>{Pe({actionCreator:yc,effect:(e,{getState:t,dispatch:n})=>{const r=Ie("session"),{sessionId:i}=t().system;i&&(r.debug({session_id:i},`Session ready to invoke (${i})})`),n(mm({session_id:i})))}})},jbe=()=>{Pe({actionCreator:G$,effect:(e,{dispatch:t,getState:n})=>{Ie("socketio").debug("Connected");const{nodes:i,config:o}=n(),{disabledTabs:s}=o;!i.schema&&!s.includes("nodes")&&t(Ig()),t(H$(e.payload)),t(fa.util.invalidateTags([{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"LoRAModel",id:Ke},{type:"ControlNetModel",id:Ke},{type:"VaeModel",id:Ke},{type:"TextualInversionModel",id:Ke},{type:"ScannedModels",id:Ke}])),t(dE.util.invalidateTags(["AppConfig","AppVersion"]))}})},Gbe=()=>{Pe({actionCreator:W$,effect:(e,{dispatch:t})=>{Ie("socketio").debug("Disconnected"),t(q$(e.payload))}})},Hbe=()=>{Pe({actionCreator:rF,effect:(e,{dispatch:t,getState:n})=>{const r=Ie("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored generator progress for canceled session");return}r.trace(e.payload,`Generator progress (${e.payload.data.node.type})`),t(iF(e.payload))}})},Wbe=()=>{Pe({actionCreator:tF,effect:(e,{dispatch:t})=>{Ie("socketio").debug(e.payload,"Session complete"),t(nF(e.payload))}})},qbe=["dataURL_image"],Kbe=()=>{Pe({actionCreator:LT,effect:async(e,{dispatch:t,getState:n})=>{const r=Ie("socketio"),{data:i}=e.payload;r.debug({data:$a(i)},`Invocation complete (${e.payload.data.node.type})`);const o=e.payload.data.graph_execution_state_id,{cancelType:s,isCancelScheduled:a}=n().system;s==="scheduled"&&a&&t(mc({session_id:o}));const{result:l,node:u,graph_execution_state_id:d}=i;if(BU(l)&&!qbe.includes(u.type)){const{image_name:f}=l.image,{canvas:p,gallery:g}=n(),m=await t(Se.endpoints.getImageDTO.initiate(f)).unwrap();if(d===p.layerState.stagingArea.sessionId&&t(jue(m)),!m.is_intermediate){const{autoAddBoardId:v}=g;t(v&&v!=="none"?Se.endpoints.addImageToBoard.initiate({board_id:v,imageDTO:m}):Se.util.updateQueryData("listImages",{board_id:"none",categories:Vr},b=>{pn.addOne(b,m)})),t(Se.util.invalidateTags([{type:"BoardImagesTotal",id:v},{type:"BoardAssetsTotal",id:v}]));const{selectedBoardId:x,shouldAutoSwitch:_}=g;_&&(v&&v!==x?(t(M3(v)),t(k1("images"))):v||t(k1("images")),t(Rs(m)))}t(h1e(null))}t(J$(e.payload))}})},Xbe=()=>{Pe({actionCreator:eF,effect:(e,{dispatch:t})=>{Ie("socketio").error(e.payload,`Invocation error (${e.payload.data.node.type})`),t(DT(e.payload))}})},Ybe=()=>{Pe({actionCreator:uF,effect:(e,{dispatch:t})=>{Ie("socketio").error(e.payload,`Invocation retrieval error (${e.payload.data.graph_execution_state_id})`),t(cF(e.payload))}})},Qbe=()=>{Pe({actionCreator:Q$,effect:(e,{dispatch:t,getState:n})=>{const r=Ie("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored invocation started for canceled session");return}r.debug(e.payload,`Invocation started (${e.payload.data.node.type})`),t(Z$(e.payload))}})},Zbe=()=>{Pe({actionCreator:oF,effect:(e,{dispatch:t})=>{const n=Ie("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load started: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(Kde(e.payload))}}),Pe({actionCreator:sF,effect:(e,{dispatch:t})=>{const n=Ie("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load complete: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(Xde(e.payload))}})},Jbe=()=>{Pe({actionCreator:aF,effect:(e,{dispatch:t})=>{Ie("socketio").error(e.payload,`Session retrieval error (${e.payload.data.graph_execution_state_id})`),t(lF(e.payload))}})},eSe=()=>{Pe({actionCreator:NT,effect:(e,{dispatch:t})=>{Ie("socketio").debug(e.payload,"Subscribed"),t(K$(e.payload))}})},tSe=()=>{Pe({actionCreator:X$,effect:(e,{dispatch:t})=>{Ie("socketio").debug(e.payload,"Unsubscribed"),t(Y$(e.payload))}})},nSe=()=>{Pe({actionCreator:w_e,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTO:r}=e.payload;try{const i=await t(Se.endpoints.changeImageIsIntermediate.initiate({imageDTO:r,is_intermediate:!1})).unwrap(),{autoAddBoardId:o}=n().gallery;o&&await t(Se.endpoints.addImageToBoard.initiate({imageDTO:i,board_id:o})),t(zn({title:"Image Saved",status:"success"}))}catch(i){t(zn({title:"Image Saving Failed",description:i==null?void 0:i.message,status:"error"}))}}})},eMe=["sd-1","sd-2","sdxl","sdxl-refiner"],rSe=["sd-1","sd-2","sdxl"],tMe=["sdxl-refiner"],iSe=()=>{Pe({actionCreator:r$,effect:async(e,{getState:t,dispatch:n})=>{var i;if(e.payload==="unifiedCanvas"){const o=(i=t().generation.model)==null?void 0:i.base_model;if(o&&["sd-1","sd-2"].includes(o))return;try{const s=n(fa.endpoints.getMainModels.initiate(rSe)),a=await s.unwrap();if(s.unsubscribe(),!a.ids.length){n(Sl(null));return}const u=t5.getSelectors().selectAll(a).filter(g=>["sd-1","sd-2"].includes(g.base_model))[0];if(!u){n(Sl(null));return}const{base_model:d,model_name:f,model_type:p}=u;n(Sl({base_model:d,model_name:f,model_type:p}))}catch{n(Sl(null))}}}})},gt="positive_conditioning",_t="negative_conditioning",cr="text_to_latents",Rt="latents_to_image",Dd="nsfw_checker",Yh="invisible_watermark",yt="noise",ms="rand_int",ha="range_of_size",vi="iterate",Gr="main_model_loader",mE="onnx_model_loader",Qh="vae_loader",GU="lora_loader",qt="clip_skip",un="image_to_latents",Un="latents_to_latents",ii="resize_image",fs="inpaint",O0="control_net_collect",Nx="dynamic_prompt",Ot="metadata_accumulator",BO="esrgan",Cn="sdxl_model_loader",ra="t2l_sdxl",Do="l2l_sdxl",fd="sdxl_refiner_model_loader",k0="sdxl_refiner_positive_conditioning",I0="sdxl_refiner_negative_conditioning",Su="l2l_sdxl_refiner",yE="text_to_image_graph",oSe="sdxl_text_to_image_graph",sSe="sxdl_image_to_image_graph",Z1="image_to_image_graph",HU="inpaint_graph",aSe=({image_name:e,esrganModelName:t})=>{const n={id:BO,type:"esrgan",image:{image_name:e},model_name:t,is_intermediate:!1};return{id:"adhoc-esrgan-graph",nodes:{[BO]:n},edges:[]}},lSe=Re("upscale/upscaleRequested"),uSe=()=>{Pe({actionCreator:lSe,effect:async(e,{dispatch:t,getState:n,take:r})=>{const{image_name:i}=e.payload,{esrganModelName:o}=n().postprocessing,s=aSe({image_name:i,esrganModelName:o});t(Ir({graph:s})),await r(Ir.fulfilled.match),t(yc())}})},cSe=e=>{const t=window.open("");t&&e.forEach(n=>{const r=new Image;r.src=n.base64,t.document.write(n.caption),t.document.write("
"),t.document.write(r.outerHTML),t.document.write("

")})},UO=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=i=>t(r.result),r.onerror=i=>n(r.error),r.onabort=i=>n(new Error("Read aborted")),r.readAsDataURL(e)});var vE={exports:{}},rS={},WU={},rt={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e._registerNode=e.Konva=e.glob=void 0;var t=Math.PI/180;function n(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}e.glob=typeof He<"u"?He:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},e.Konva={_global:e.glob,version:"9.2.0",isBrowser:n(),isUnminified:/param/.test((function(i){}).toString()),dblClickWindow:400,getAngle(i){return e.Konva.angleDeg?i*t:i},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,pixelRatio:typeof window<"u"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return e.Konva.DD.isDragging},isDragReady(){return!!e.Konva.DD.node},releaseCanvasOnDestroy:!0,document:e.glob.document,_injectGlobal(i){e.glob.Konva=i}};const r=i=>{e.Konva[i.prototype.getClassName()]=i};e._registerNode=r,e.Konva._injectGlobal(e.Konva)})(rt);var Sn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Util=e.Transform=void 0;const t=rt;class n{constructor(S=[1,0,0,1,0,0]){this.dirty=!1,this.m=S&&S.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new n(this.m)}copyInto(S){S.m[0]=this.m[0],S.m[1]=this.m[1],S.m[2]=this.m[2],S.m[3]=this.m[3],S.m[4]=this.m[4],S.m[5]=this.m[5]}point(S){var C=this.m;return{x:C[0]*S.x+C[2]*S.y+C[4],y:C[1]*S.x+C[3]*S.y+C[5]}}translate(S,C){return this.m[4]+=this.m[0]*S+this.m[2]*C,this.m[5]+=this.m[1]*S+this.m[3]*C,this}scale(S,C){return this.m[0]*=S,this.m[1]*=S,this.m[2]*=C,this.m[3]*=C,this}rotate(S){var C=Math.cos(S),T=Math.sin(S),E=this.m[0]*C+this.m[2]*T,P=this.m[1]*C+this.m[3]*T,k=this.m[0]*-T+this.m[2]*C,O=this.m[1]*-T+this.m[3]*C;return this.m[0]=E,this.m[1]=P,this.m[2]=k,this.m[3]=O,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(S,C){var T=this.m[0]+this.m[2]*C,E=this.m[1]+this.m[3]*C,P=this.m[2]+this.m[0]*S,k=this.m[3]+this.m[1]*S;return this.m[0]=T,this.m[1]=E,this.m[2]=P,this.m[3]=k,this}multiply(S){var C=this.m[0]*S.m[0]+this.m[2]*S.m[1],T=this.m[1]*S.m[0]+this.m[3]*S.m[1],E=this.m[0]*S.m[2]+this.m[2]*S.m[3],P=this.m[1]*S.m[2]+this.m[3]*S.m[3],k=this.m[0]*S.m[4]+this.m[2]*S.m[5]+this.m[4],O=this.m[1]*S.m[4]+this.m[3]*S.m[5]+this.m[5];return this.m[0]=C,this.m[1]=T,this.m[2]=E,this.m[3]=P,this.m[4]=k,this.m[5]=O,this}invert(){var S=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),C=this.m[3]*S,T=-this.m[1]*S,E=-this.m[2]*S,P=this.m[0]*S,k=S*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),O=S*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=C,this.m[1]=T,this.m[2]=E,this.m[3]=P,this.m[4]=k,this.m[5]=O,this}getMatrix(){return this.m}decompose(){var S=this.m[0],C=this.m[1],T=this.m[2],E=this.m[3],P=this.m[4],k=this.m[5],O=S*E-C*T;let M={x:P,y:k,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(S!=0||C!=0){var G=Math.sqrt(S*S+C*C);M.rotation=C>0?Math.acos(S/G):-Math.acos(S/G),M.scaleX=G,M.scaleY=O/G,M.skewX=(S*T+C*E)/O,M.skewY=0}else if(T!=0||E!=0){var U=Math.sqrt(T*T+E*E);M.rotation=Math.PI/2-(E>0?Math.acos(-T/U):-Math.acos(T/U)),M.scaleX=O/U,M.scaleY=U,M.skewX=0,M.skewY=(S*T+C*E)/O}return M.rotation=e.Util._getRotation(M.rotation),M}}e.Transform=n;var r="[object Array]",i="[object Number]",o="[object String]",s="[object Boolean]",a=Math.PI/180,l=180/Math.PI,u="#",d="",f="0",p="Konva warning: ",g="Konva error: ",m="rgb(",v={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,132,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,255,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,203],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:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],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,5]},x=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,_=[];const b=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(y){setTimeout(y,60)};e.Util={_isElement(y){return!!(y&&y.nodeType==1)},_isFunction(y){return!!(y&&y.constructor&&y.call&&y.apply)},_isPlainObject(y){return!!y&&y.constructor===Object},_isArray(y){return Object.prototype.toString.call(y)===r},_isNumber(y){return Object.prototype.toString.call(y)===i&&!isNaN(y)&&isFinite(y)},_isString(y){return Object.prototype.toString.call(y)===o},_isBoolean(y){return Object.prototype.toString.call(y)===s},isObject(y){return y instanceof Object},isValidSelector(y){if(typeof y!="string")return!1;var S=y[0];return S==="#"||S==="."||S===S.toUpperCase()},_sign(y){return y===0||y>0?1:-1},requestAnimFrame(y){_.push(y),_.length===1&&b(function(){const S=_;_=[],S.forEach(function(C){C()})})},createCanvasElement(){var y=document.createElement("canvas");try{y.style=y.style||{}}catch{}return y},createImageElement(){return document.createElement("img")},_isInDocument(y){for(;y=y.parentNode;)if(y==document)return!0;return!1},_urlToImage(y,S){var C=e.Util.createImageElement();C.onload=function(){S(C)},C.src=y},_rgbToHex(y,S,C){return((1<<24)+(y<<16)+(S<<8)+C).toString(16).slice(1)},_hexToRgb(y){y=y.replace(u,d);var S=parseInt(y,16);return{r:S>>16&255,g:S>>8&255,b:S&255}},getRandomColor(){for(var y=(Math.random()*16777215<<0).toString(16);y.length<6;)y=f+y;return u+y},getRGB(y){var S;return y in v?(S=v[y],{r:S[0],g:S[1],b:S[2]}):y[0]===u?this._hexToRgb(y.substring(1)):y.substr(0,4)===m?(S=x.exec(y.replace(/ /g,"")),{r:parseInt(S[1],10),g:parseInt(S[2],10),b:parseInt(S[3],10)}):{r:0,g:0,b:0}},colorToRGBA(y){return y=y||"black",e.Util._namedColorToRBA(y)||e.Util._hex3ColorToRGBA(y)||e.Util._hex4ColorToRGBA(y)||e.Util._hex6ColorToRGBA(y)||e.Util._hex8ColorToRGBA(y)||e.Util._rgbColorToRGBA(y)||e.Util._rgbaColorToRGBA(y)||e.Util._hslColorToRGBA(y)},_namedColorToRBA(y){var S=v[y.toLowerCase()];return S?{r:S[0],g:S[1],b:S[2],a:1}:null},_rgbColorToRGBA(y){if(y.indexOf("rgb(")===0){y=y.match(/rgb\(([^)]+)\)/)[1];var S=y.split(/ *, */).map(Number);return{r:S[0],g:S[1],b:S[2],a:1}}},_rgbaColorToRGBA(y){if(y.indexOf("rgba(")===0){y=y.match(/rgba\(([^)]+)\)/)[1];var S=y.split(/ *, */).map((C,T)=>C.slice(-1)==="%"?T===3?parseInt(C)/100:parseInt(C)/100*255:Number(C));return{r:S[0],g:S[1],b:S[2],a:S[3]}}},_hex8ColorToRGBA(y){if(y[0]==="#"&&y.length===9)return{r:parseInt(y.slice(1,3),16),g:parseInt(y.slice(3,5),16),b:parseInt(y.slice(5,7),16),a:parseInt(y.slice(7,9),16)/255}},_hex6ColorToRGBA(y){if(y[0]==="#"&&y.length===7)return{r:parseInt(y.slice(1,3),16),g:parseInt(y.slice(3,5),16),b:parseInt(y.slice(5,7),16),a:1}},_hex4ColorToRGBA(y){if(y[0]==="#"&&y.length===5)return{r:parseInt(y[1]+y[1],16),g:parseInt(y[2]+y[2],16),b:parseInt(y[3]+y[3],16),a:parseInt(y[4]+y[4],16)/255}},_hex3ColorToRGBA(y){if(y[0]==="#"&&y.length===4)return{r:parseInt(y[1]+y[1],16),g:parseInt(y[2]+y[2],16),b:parseInt(y[3]+y[3],16),a:1}},_hslColorToRGBA(y){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(y)){const[S,...C]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(y),T=Number(C[0])/360,E=Number(C[1])/100,P=Number(C[2])/100;let k,O,M;if(E===0)return M=P*255,{r:Math.round(M),g:Math.round(M),b:Math.round(M),a:1};P<.5?k=P*(1+E):k=P+E-P*E;const G=2*P-k,U=[0,0,0];for(let A=0;A<3;A++)O=T+1/3*-(A-1),O<0&&O++,O>1&&O--,6*O<1?M=G+(k-G)*6*O:2*O<1?M=k:3*O<2?M=G+(k-G)*(2/3-O)*6:M=G,U[A]=M*255;return{r:Math.round(U[0]),g:Math.round(U[1]),b:Math.round(U[2]),a:1}}},haveIntersection(y,S){return!(S.x>y.x+y.width||S.x+S.widthy.y+y.height||S.y+S.height1?(k=C,O=T,M=(C-E)*(C-E)+(T-P)*(T-P)):(k=y+U*(C-y),O=S+U*(T-S),M=(k-E)*(k-E)+(O-P)*(O-P))}return[k,O,M]},_getProjectionToLine(y,S,C){var T=e.Util.cloneObject(y),E=Number.MAX_VALUE;return S.forEach(function(P,k){if(!(!C&&k===S.length-1)){var O=S[(k+1)%S.length],M=e.Util._getProjectionToSegment(P.x,P.y,O.x,O.y,y.x,y.y),G=M[0],U=M[1],A=M[2];AS.length){var k=S;S=y,y=k}for(T=0;T{S.width=0,S.height=0})},drawRoundedRectPath(y,S,C,T){let E=0,P=0,k=0,O=0;typeof T=="number"?E=P=k=O=Math.min(T,S/2,C/2):(E=Math.min(T[0]||0,S/2,C/2),P=Math.min(T[1]||0,S/2,C/2),O=Math.min(T[2]||0,S/2,C/2),k=Math.min(T[3]||0,S/2,C/2)),y.moveTo(E,0),y.lineTo(S-P,0),y.arc(S-P,P,P,Math.PI*3/2,0,!1),y.lineTo(S,C-O),y.arc(S-O,C-O,O,0,Math.PI/2,!1),y.lineTo(k,C),y.arc(k,C-k,k,Math.PI/2,Math.PI,!1),y.lineTo(0,E),y.arc(E,E,E,Math.PI,Math.PI*3/2,!1)}}})(Sn);var fn={},nt={},ke={};Object.defineProperty(ke,"__esModule",{value:!0});ke.getComponentValidator=ke.getBooleanValidator=ke.getNumberArrayValidator=ke.getFunctionValidator=ke.getStringOrGradientValidator=ke.getStringValidator=ke.getNumberOrAutoValidator=ke.getNumberOrArrayOfNumbersValidator=ke.getNumberValidator=ke.alphaComponent=ke.RGBComponent=void 0;const Fa=rt,En=Sn;function Ba(e){return En.Util._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||En.Util._isBoolean(e)?e:Object.prototype.toString.call(e)}function dSe(e){return e>255?255:e<0?0:Math.round(e)}ke.RGBComponent=dSe;function fSe(e){return e>1?1:e<1e-4?1e-4:e}ke.alphaComponent=fSe;function hSe(){if(Fa.Konva.isUnminified)return function(e,t){return En.Util._isNumber(e)||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}ke.getNumberValidator=hSe;function pSe(e){if(Fa.Konva.isUnminified)return function(t,n){let r=En.Util._isNumber(t),i=En.Util._isArray(t)&&t.length==e;return!r&&!i&&En.Util.warn(Ba(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}ke.getNumberOrArrayOfNumbersValidator=pSe;function gSe(){if(Fa.Konva.isUnminified)return function(e,t){var n=En.Util._isNumber(e),r=e==="auto";return n||r||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}ke.getNumberOrAutoValidator=gSe;function mSe(){if(Fa.Konva.isUnminified)return function(e,t){return En.Util._isString(e)||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}ke.getStringValidator=mSe;function ySe(){if(Fa.Konva.isUnminified)return function(e,t){const n=En.Util._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}ke.getStringOrGradientValidator=ySe;function vSe(){if(Fa.Konva.isUnminified)return function(e,t){return En.Util._isFunction(e)||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a function.'),e}}ke.getFunctionValidator=vSe;function _Se(){if(Fa.Konva.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(En.Util._isArray(e)?e.forEach(function(r){En.Util._isNumber(r)||En.Util.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}ke.getNumberArrayValidator=_Se;function bSe(){if(Fa.Konva.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}ke.getBooleanValidator=bSe;function SSe(e){if(Fa.Konva.isUnminified)return function(t,n){return t==null||En.Util.isObject(t)||En.Util.warn(Ba(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}ke.getComponentValidator=SSe;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Factory=void 0;const t=Sn,n=ke;var r="get",i="set";e.Factory={addGetterSetter(o,s,a,l,u){e.Factory.addGetter(o,s,a),e.Factory.addSetter(o,s,l,u),e.Factory.addOverloadedGetterSetter(o,s)},addGetter(o,s,a){var l=r+t.Util._capitalize(s);o.prototype[l]=o.prototype[l]||function(){var u=this.attrs[s];return u===void 0?a:u}},addSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]||e.Factory.overWriteSetter(o,s,a,l)},overWriteSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]=function(d){return a&&d!==void 0&&d!==null&&(d=a.call(this,d,s)),this._setAttr(s,d),l&&l.call(this),this}},addComponentsGetterSetter(o,s,a,l,u){var d=a.length,f=t.Util._capitalize,p=r+f(s),g=i+f(s),m,v;o.prototype[p]=function(){var _={};for(m=0;m{this._setAttr(s+f(S),void 0)}),this._fireChangeEvent(s,b,_),u&&u.call(this),this},e.Factory.addOverloadedGetterSetter(o,s)},addOverloadedGetterSetter(o,s){var a=t.Util._capitalize(s),l=i+a,u=r+a;o.prototype[s]=function(){return arguments.length?(this[l](arguments[0]),this):this[u]()}},addDeprecatedGetterSetter(o,s,a,l){t.Util.error("Adding deprecated "+s);var u=r+t.Util._capitalize(s),d=s+" property is deprecated and will be removed soon. Look at Konva change log for more information.";o.prototype[u]=function(){t.Util.error(d);var f=this.attrs[s];return f===void 0?a:f},e.Factory.addSetter(o,s,l,function(){t.Util.error(d)}),e.Factory.addOverloadedGetterSetter(o,s)},backCompat(o,s){t.Util.each(s,function(a,l){var u=o.prototype[l],d=r+t.Util._capitalize(a),f=i+t.Util._capitalize(a);function p(){u.apply(this,arguments),t.Util.error('"'+a+'" method is deprecated and will be removed soon. Use ""'+l+'" instead.')}o.prototype[a]=p,o.prototype[d]=p,o.prototype[f]=p})},afterSetFilter(){this._filterUpToDate=!1}}})(nt);var Qo={},ba={};Object.defineProperty(ba,"__esModule",{value:!0});ba.HitContext=ba.SceneContext=ba.Context=void 0;const qU=Sn,wSe=rt;function xSe(e){var t=[],n=e.length,r=qU.Util,i,o;for(i=0;itypeof d=="number"?Math.floor(d):d)),o+=CSe+u.join(zO)+TSe)):(o+=a.property,t||(o+=OSe+a.val)),o+=PSe;return o}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=ISe&&n.shift()}reset(){var t=this.getCanvas().getPixelRatio();this.setTransform(1*t,0,0,1*t,0,0)}getCanvas(){return this.canvas}clear(t){var n=this.getCanvas();t?this.clearRect(t.x||0,t.y||0,t.width||0,t.height||0):this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(t){const n=t.attrs.lineCap;n&&this.setAttr("lineCap",n)}_applyOpacity(t){var n=t.getAbsoluteOpacity();n!==1&&this.setAttr("globalAlpha",n)}_applyLineJoin(t){const n=t.attrs.lineJoin;n&&this.setAttr("lineJoin",n)}setAttr(t,n){this._context[t]=n}arc(t,n,r,i,o,s){this._context.arc(t,n,r,i,o,s)}arcTo(t,n,r,i,o){this._context.arcTo(t,n,r,i,o)}beginPath(){this._context.beginPath()}bezierCurveTo(t,n,r,i,o,s){this._context.bezierCurveTo(t,n,r,i,o,s)}clearRect(t,n,r,i){this._context.clearRect(t,n,r,i)}clip(...t){this._context.clip.apply(this._context,t)}closePath(){this._context.closePath()}createImageData(t,n){var r=arguments;if(r.length===2)return this._context.createImageData(t,n);if(r.length===1)return this._context.createImageData(t)}createLinearGradient(t,n,r,i){return this._context.createLinearGradient(t,n,r,i)}createPattern(t,n){return this._context.createPattern(t,n)}createRadialGradient(t,n,r,i,o,s){return this._context.createRadialGradient(t,n,r,i,o,s)}drawImage(t,n,r,i,o,s,a,l,u){var d=arguments,f=this._context;d.length===3?f.drawImage(t,n,r):d.length===5?f.drawImage(t,n,r,i,o):d.length===9&&f.drawImage(t,n,r,i,o,s,a,l,u)}ellipse(t,n,r,i,o,s,a,l){this._context.ellipse(t,n,r,i,o,s,a,l)}isPointInPath(t,n,r,i){return r?this._context.isPointInPath(r,t,n,i):this._context.isPointInPath(t,n,i)}fill(...t){this._context.fill.apply(this._context,t)}fillRect(t,n,r,i){this._context.fillRect(t,n,r,i)}strokeRect(t,n,r,i){this._context.strokeRect(t,n,r,i)}fillText(t,n,r,i){i?this._context.fillText(t,n,r,i):this._context.fillText(t,n,r)}measureText(t){return this._context.measureText(t)}getImageData(t,n,r,i){return this._context.getImageData(t,n,r,i)}lineTo(t,n){this._context.lineTo(t,n)}moveTo(t,n){this._context.moveTo(t,n)}rect(t,n,r,i){this._context.rect(t,n,r,i)}putImageData(t,n,r){this._context.putImageData(t,n,r)}quadraticCurveTo(t,n,r,i){this._context.quadraticCurveTo(t,n,r,i)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,n){this._context.scale(t,n)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(t,n,r,i,o,s){this._context.setTransform(t,n,r,i,o,s)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,n,r,i){this._context.strokeText(t,n,r,i)}transform(t,n,r,i,o,s){this._context.transform(t,n,r,i,o,s)}translate(t,n){this._context.translate(t,n)}_enableTrace(){var t=this,n=VO.length,r=this.setAttr,i,o,s=function(a){var l=t[a],u;t[a]=function(){return o=xSe(Array.prototype.slice.call(arguments,0)),u=l.apply(t,arguments),t._trace({method:a,args:o}),u}};for(i=0;i{i.dragStatus==="dragging"&&(r=!0)}),r},justDragged:!1,get node(){var r;return e.DD._dragElements.forEach(i=>{r=i.node}),r},_dragElements:new Map,_drag(r){const i=[];e.DD._dragElements.forEach((o,s)=>{const{node:a}=o,l=a.getStage();l.setPointersPositions(r),o.pointerId===void 0&&(o.pointerId=n.Util._getFirstPointerId(r));const u=l._changedPointerPositions.find(p=>p.id===o.pointerId);if(u){if(o.dragStatus!=="dragging"){var d=a.dragDistance(),f=Math.max(Math.abs(u.x-o.startPointerPos.x),Math.abs(u.y-o.startPointerPos.y));if(f{o.fire("dragmove",{type:"dragmove",target:o,evt:r},!0)})},_endDragBefore(r){const i=[];e.DD._dragElements.forEach(o=>{const{node:s}=o,a=s.getStage();if(r&&a.setPointersPositions(r),!a._changedPointerPositions.find(d=>d.id===o.pointerId))return;(o.dragStatus==="dragging"||o.dragStatus==="stopped")&&(e.DD.justDragged=!0,t.Konva._mouseListenClick=!1,t.Konva._touchListenClick=!1,t.Konva._pointerListenClick=!1,o.dragStatus="stopped");const u=o.node.getLayer()||o.node instanceof t.Konva.Stage&&o.node;u&&i.indexOf(u)===-1&&i.push(u)}),i.forEach(o=>{o.draw()})},_endDragAfter(r){e.DD._dragElements.forEach((i,o)=>{i.dragStatus==="stopped"&&i.node.fire("dragend",{type:"dragend",target:i.node,evt:r},!0),i.dragStatus!=="dragging"&&e.DD._dragElements.delete(o)})}},t.Konva.isBrowser&&(window.addEventListener("mouseup",e.DD._endDragBefore,!0),window.addEventListener("touchend",e.DD._endDragBefore,!0),window.addEventListener("mousemove",e.DD._drag),window.addEventListener("touchmove",e.DD._drag),window.addEventListener("mouseup",e.DD._endDragAfter,!1),window.addEventListener("touchend",e.DD._endDragAfter,!1))})(sS);Object.defineProperty(fn,"__esModule",{value:!0});fn.Node=void 0;const ct=Sn,Am=nt,N0=Qo,wu=rt,uo=sS,Ln=ke;var _v="absoluteOpacity",L0="allEventListeners",la="absoluteTransform",jO="absoluteScale",xu="canvas",USe="Change",zSe="children",VSe="konva",o5="listening",GO="mouseenter",HO="mouseleave",WO="set",qO="Shape",bv=" ",KO="stage",sl="transform",jSe="Stage",s5="visible",GSe=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(bv);let HSe=1;class ze{constructor(t){this._id=HSe++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===sl||t===la)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){var r=this._cache.get(t),i=t===sl||t===la,o=r===void 0||i&&r.dirty===!0;return o&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const i=n.map(o=>o+"Change.konva").join(bv);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(xu)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===la&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(xu)){const{scene:t,filter:n,hit:r}=this._cache.get(xu);ct.Util.releaseCanvas(t,n,r),this._cache.delete(xu)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){var n=t||{},r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()}));var i=Math.ceil(n.width||r.width),o=Math.ceil(n.height||r.height),s=n.pixelRatio,a=n.x===void 0?Math.floor(r.x):n.x,l=n.y===void 0?Math.floor(r.y):n.y,u=n.offset||0,d=n.drawBorder||!1,f=n.hitCanvasPixelRatio||1;if(!i||!o){ct.Util.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}i+=u*2+1,o+=u*2+1,a-=u,l-=u;var p=new N0.SceneCanvas({pixelRatio:s,width:i,height:o}),g=new N0.SceneCanvas({pixelRatio:s,width:0,height:0,willReadFrequently:!0}),m=new N0.HitCanvas({pixelRatio:f,width:i,height:o}),v=p.getContext(),x=m.getContext();return m.isCache=!0,p.isCache=!0,this._cache.delete(xu),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(p.getContext()._context.imageSmoothingEnabled=!1,g.getContext()._context.imageSmoothingEnabled=!1),v.save(),x.save(),v.translate(-a,-l),x.translate(-a,-l),this._isUnderCache=!0,this._clearSelfAndDescendantCache(_v),this._clearSelfAndDescendantCache(jO),this.drawScene(p,this),this.drawHit(m,this),this._isUnderCache=!1,v.restore(),x.restore(),d&&(v.save(),v.beginPath(),v.rect(0,0,i,o),v.closePath(),v.setAttr("strokeStyle","red"),v.setAttr("lineWidth",5),v.stroke(),v.restore()),this._cache.set(xu,{scene:p,filter:g,hit:m,x:a,y:l}),this._requestDraw(),this}isCached(){return this._cache.has(xu)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){var r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}],i,o,s,a,l=this.getAbsoluteTransform(n);return r.forEach(function(u){var d=l.point(u);i===void 0&&(i=s=d.x,o=a=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),s=Math.max(s,d.x),a=Math.max(a,d.y)}),{x:i,y:o,width:s-i,height:a-o}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);var r=this._getCachedSceneCanvas(),i=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/i,r.height/i),t.restore()}_drawCachedHitCanvas(t){var n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){var t=this.filters(),n=this._getCanvasCache(),r=n.scene,i=n.filter,o=i.getContext(),s,a,l,u;if(t){if(!this._filterUpToDate){var d=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(s=t.length,o.clear(),o.drawImage(r._canvas,0,0,r.getWidth()/d,r.getHeight()/d),a=o.getImageData(0,0,i.getWidth(),i.getHeight()),l=0;l{var n,r;if(!t)return this;for(n in t)n!==zSe&&(r=WO+ct.Util._capitalize(n),ct.Util._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(o5,this._isListening)}_isListening(t){if(!this.listening())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isListening(t):!0}isVisible(){return this._getCache(s5,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);var r=this.getLayer(),i=!1;uo.DD._dragElements.forEach(s=>{s.dragStatus==="dragging"&&(s.node.nodeType==="Stage"||s.node.getLayer()===r)&&(i=!0)});var o=!n&&!wu.Konva.hitOnDragEnabled&&i;return this.isListening()&&this.isVisible()&&!o}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){var t=this.getDepth(),n=this,r=0,i,o,s,a;function l(u){for(i=[],o=u.length,s=0;s0&&i[0].getDepth()<=t&&l(i)}return n.nodeType!==jSe&&l(n.getStage().getChildren()),r}getDepth(){for(var t=0,n=this.parent;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(sl),this._clearSelfAndDescendantCache(la)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){if(!this.getStage())return null;var t=this.getStage().getPointerPosition();if(!t)return null;var n=this.getAbsoluteTransform().copy();return n.invert(),n.point(t)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);var i=this.getAbsoluteTransform(t).getMatrix(),o=new ct.Transform,s=this.offset();return o.m=i.slice(),o.translate(s.x,s.y),o.getTranslation()}setAbsolutePosition(t){var n=this._clearTransform();this.attrs.x=n.x,this.attrs.y=n.y,delete n.x,delete n.y,this._clearCache(sl);var r=this._getAbsoluteTransform().copy();return r.invert(),r.translate(t.x,t.y),t={x:this.attrs.x+r.getTranslation().x,y:this.attrs.y+r.getTranslation().y},this._setTransform(n),this.setPosition({x:t.x,y:t.y}),this._clearCache(sl),this._clearSelfAndDescendantCache(la),this}_setTransform(t){var n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){var t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){var n=t.x,r=t.y,i=this.x(),o=this.y();return n!==void 0&&(i+=n),r!==void 0&&(o+=r),this.setPosition({x:i,y:o}),this}_eachAncestorReverse(t,n){var r=[],i=this.getParent(),o,s;if(!(n&&n._id===this._id)){for(r.unshift(this);i&&(!n||i._id!==n._id);)r.unshift(i),i=i.parent;for(o=r.length,s=0;s0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return ct.Util.warn("Node has no parent. moveToBottom function is ignored."),!1;var t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return ct.Util.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&ct.Util.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");var n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(_v,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){var t=this.opacity(),n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){var t={},n=this.getAttrs(),r,i,o,s,a;t.attrs={};for(r in n)i=n[r],a=ct.Util.isObject(i)&&!ct.Util._isPlainObject(i)&&!ct.Util._isArray(i),!a&&(o=typeof this[r]=="function"&&this[r],delete n[r],s=o?o.call(this):null,n[r]=i,s!==i&&(t.attrs[r]=i));return t.className=this.getClassName(),ct.Util._prepareToStringify(t)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){var i=[];n&&this._isMatch(t)&&i.push(this);for(var o=this.parent;o;){if(o===r)return i;o._isMatch(t)&&i.push(o),o=o.parent}return i}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);var n=t.replace(/ /g,"").split(","),r=n.length,i,o;for(i=0;i{try{const i=t==null?void 0:t.callback;i&&delete t.callback,ct.Util._urlToImage(this.toDataURL(t),function(o){n(o),i==null||i(o)})}catch(i){r(i)}})}toBlob(t){return new Promise((n,r)=>{try{const i=t==null?void 0:t.callback;i&&delete t.callback,this.toCanvas(t).toBlob(o=>{n(o),i==null||i(o)})}catch(i){r(i)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():wu.Konva.dragDistance}_off(t,n,r){var i=this.eventListeners[t],o,s,a;for(o=0;o=0;if(r&&!this.isDragging()){var i=!1;uo.DD._dragElements.forEach(o=>{this.isAncestorOf(o.node)&&(i=!0)}),i||this._createDragElement(t)}})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{this._dragCleanup();var t=this.getStage();if(!t)return;const n=uo.DD._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&uo.DD._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return ct.Util.haveIntersection(r,this.getClientRect())}static create(t,n){return ct.Util._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=ze.prototype.getClassName.call(t),i=t.children,o,s,a;n&&(t.attrs.container=n),wu.Konva[r]||(ct.Util.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=wu.Konva[r];if(o=new l(t.attrs),i)for(s=i.length,a=0;a0}removeChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.destroy()}),this.children=[],this._requestDraw(),this}add(...t){if(t.length===0)return this;if(t.length>1){for(var n=0;n0?n[0]:void 0}_generalFind(t,n){var r=[];return this._descendants(i=>{const o=i._isMatch(t);return o&&r.push(i),!!(o&&n)}),r}_descendants(t){let n=!1;const r=this.getChildren();for(const i of r){if(n=t(i),n)return!0;if(i.hasChildren()&&(n=i._descendants(t),n))return!0}return!1}toObject(){var t=Lx.Node.prototype.toObject.call(this);return t.children=[],this.getChildren().forEach(n=>{t.children.push(n.toObject())}),t}isAncestorOf(t){for(var n=t.getParent();n;){if(n._id===this._id)return!0;n=n.getParent()}return!1}clone(t){var n=Lx.Node.prototype.clone.call(this,t);return this.getChildren().forEach(function(r){n.add(r.clone())}),n}getAllIntersections(t){var n=[];return this.find("Shape").forEach(function(r){r.isVisible()&&r.intersects(t)&&n.push(r)}),n}_clearSelfAndDescendantCache(t){var n;super._clearSelfAndDescendantCache(t),!this.isCached()&&((n=this.children)===null||n===void 0||n.forEach(function(r){r._clearSelfAndDescendantCache(t)}))}_setChildrenIndices(){var t;(t=this.children)===null||t===void 0||t.forEach(function(n,r){n.index=r}),this._requestDraw()}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas(),o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.scene,l=i&&i.isCache;if(!this.isVisible()&&!l)return this;if(a){o.save();var u=this.getAbsoluteTransform(n).getMatrix();o.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this._drawCachedSceneCanvas(o),o.restore()}else this._drawChildren("drawScene",i,n);return this}drawHit(t,n){if(!this.shouldDrawHit(n))return this;var r=this.getLayer(),i=t||r&&r.hitCanvas,o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.hit;if(a){o.save();var l=this.getAbsoluteTransform(n).getMatrix();o.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawCachedHitCanvas(o),o.restore()}else this._drawChildren("drawHit",i,n);return this}_drawChildren(t,n,r){var i,o=n&&n.getContext(),s=this.clipWidth(),a=this.clipHeight(),l=this.clipFunc(),u=s&&a||l;const d=r===this;if(u){o.save();var f=this.getAbsoluteTransform(r),p=f.getMatrix();o.transform(p[0],p[1],p[2],p[3],p[4],p[5]),o.beginPath();let x;if(l)x=l.call(this,o,this);else{var g=this.clipX(),m=this.clipY();o.rect(g,m,s,a)}o.clip.apply(o,x),p=f.copy().invert().getMatrix(),o.transform(p[0],p[1],p[2],p[3],p[4],p[5])}var v=!d&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";v&&(o.save(),o._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(x){x[t](n,r)}),v&&o.restore(),u&&o.restore()}getClientRect(t){var n;t=t||{};var r=t.skipTransform,i=t.relativeTo,o,s,a,l,u={x:1/0,y:1/0,width:0,height:0},d=this;(n=this.children)===null||n===void 0||n.forEach(function(v){if(v.visible()){var x=v.getClientRect({relativeTo:d,skipShadow:t.skipShadow,skipStroke:t.skipStroke});x.width===0&&x.height===0||(o===void 0?(o=x.x,s=x.y,a=x.x+x.width,l=x.y+x.height):(o=Math.min(o,x.x),s=Math.min(s,x.y),a=Math.max(a,x.x+x.width),l=Math.max(l,x.y+x.height)))}});for(var f=this.find("Shape"),p=!1,g=0;gle.indexOf("pointer")>=0?"pointer":le.indexOf("touch")>=0?"touch":"mouse",Z=le=>{const W=q(le);if(W==="pointer")return i.Konva.pointerEventsEnabled&&j.pointer;if(W==="touch")return j.touch;if(W==="mouse")return j.mouse};function ee(le={}){return(le.clipFunc||le.clipWidth||le.clipHeight)&&t.Util.warn("Stage does not support clipping. Please use clip for Layers or Groups."),le}const ie="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);";e.stages=[];class se extends r.Container{constructor(W){super(ee(W)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),e.stages.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{ee(this.attrs)}),this._checkVisibility()}_validateAdd(W){const ne=W.getType()==="Layer",fe=W.getType()==="FastLayer";ne||fe||t.Util.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const W=this.visible()?"":"none";this.content.style.display=W}setContainer(W){if(typeof W===d){if(W.charAt(0)==="."){var ne=W.slice(1);W=document.getElementsByClassName(ne)[0]}else{var fe;W.charAt(0)!=="#"?fe=W:fe=W.slice(1),W=document.getElementById(fe)}if(!W)throw"Can not find container in document with id "+fe}return this._setAttr("container",W),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),W.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var W=this.children,ne=W.length,fe;for(fe=0;fe-1&&e.stages.splice(ne,1),t.Util.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const W=this._pointerPositions[0]||this._changedPointerPositions[0];return W?{x:W.x,y:W.y}:(t.Util.warn(ie),null)}_getPointerById(W){return this._pointerPositions.find(ne=>ne.id===W)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(W){W=W||{},W.x=W.x||0,W.y=W.y||0,W.width=W.width||this.width(),W.height=W.height||this.height();var ne=new o.SceneCanvas({width:W.width,height:W.height,pixelRatio:W.pixelRatio||1}),fe=ne.getContext()._context,pe=this.children;return(W.x||W.y)&&fe.translate(-1*W.x,-1*W.y),pe.forEach(function(ve){if(ve.isVisible()){var ye=ve._toKonvaCanvas(W);fe.drawImage(ye._canvas,W.x,W.y,ye.getWidth()/ye.getPixelRatio(),ye.getHeight()/ye.getPixelRatio())}}),ne}getIntersection(W){if(!W)return null;var ne=this.children,fe=ne.length,pe=fe-1,ve;for(ve=pe;ve>=0;ve--){const ye=ne[ve].getIntersection(W);if(ye)return ye}return null}_resizeDOM(){var W=this.width(),ne=this.height();this.content&&(this.content.style.width=W+f,this.content.style.height=ne+f),this.bufferCanvas.setSize(W,ne),this.bufferHitCanvas.setSize(W,ne),this.children.forEach(fe=>{fe.setSize({width:W,height:ne}),fe.draw()})}add(W,...ne){if(arguments.length>1){for(var fe=0;feD&&t.Util.warn("The stage has "+pe+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),W.setSize({width:this.width(),height:this.height()}),W.draw(),i.Konva.isBrowser&&this.content.appendChild(W.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(W){return l.hasPointerCapture(W,this)}setPointerCapture(W){l.setPointerCapture(W,this)}releaseCapture(W){l.releaseCapture(W,this)}getLayers(){return this.children}_bindContentEvents(){i.Konva.isBrowser&&V.forEach(([W,ne])=>{this.content.addEventListener(W,fe=>{this[ne](fe)},{passive:!1})})}_pointerenter(W){this.setPointersPositions(W);const ne=Z(W.type);this._fire(ne.pointerenter,{evt:W,target:this,currentTarget:this})}_pointerover(W){this.setPointersPositions(W);const ne=Z(W.type);this._fire(ne.pointerover,{evt:W,target:this,currentTarget:this})}_getTargetShape(W){let ne=this[W+"targetShape"];return ne&&!ne.getStage()&&(ne=null),ne}_pointerleave(W){const ne=Z(W.type),fe=q(W.type);if(ne){this.setPointersPositions(W);var pe=this._getTargetShape(fe),ve=!s.DD.isDragging||i.Konva.hitOnDragEnabled;pe&&ve?(pe._fireAndBubble(ne.pointerout,{evt:W}),pe._fireAndBubble(ne.pointerleave,{evt:W}),this._fire(ne.pointerleave,{evt:W,target:this,currentTarget:this}),this[fe+"targetShape"]=null):ve&&(this._fire(ne.pointerleave,{evt:W,target:this,currentTarget:this}),this._fire(ne.pointerout,{evt:W,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(W){const ne=Z(W.type),fe=q(W.type);if(ne){this.setPointersPositions(W);var pe=!1;this._changedPointerPositions.forEach(ve=>{var ye=this.getIntersection(ve);if(s.DD.justDragged=!1,i.Konva["_"+fe+"ListenClick"]=!0,!(ye&&ye.isListening()))return;i.Konva.capturePointerEventsEnabled&&ye.setPointerCapture(ve.id),this[fe+"ClickStartShape"]=ye,ye._fireAndBubble(ne.pointerdown,{evt:W,pointerId:ve.id}),pe=!0;const Me=W.type.indexOf("touch")>=0;ye.preventDefault()&&W.cancelable&&Me&&W.preventDefault()}),pe||this._fire(ne.pointerdown,{evt:W,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(W){const ne=Z(W.type),fe=q(W.type);if(!ne)return;s.DD.isDragging&&s.DD.node.preventDefault()&&W.cancelable&&W.preventDefault(),this.setPointersPositions(W);var pe=!s.DD.isDragging||i.Konva.hitOnDragEnabled;if(!pe)return;var ve={};let ye=!1;var We=this._getTargetShape(fe);this._changedPointerPositions.forEach(Me=>{const Ee=l.getCapturedShape(Me.id)||this.getIntersection(Me),lt=Me.id,_e={evt:W,pointerId:lt};var jt=We!==Ee;if(jt&&We&&(We._fireAndBubble(ne.pointerout,Object.assign({},_e),Ee),We._fireAndBubble(ne.pointerleave,Object.assign({},_e),Ee)),Ee){if(ve[Ee._id])return;ve[Ee._id]=!0}Ee&&Ee.isListening()?(ye=!0,jt&&(Ee._fireAndBubble(ne.pointerover,Object.assign({},_e),We),Ee._fireAndBubble(ne.pointerenter,Object.assign({},_e),We),this[fe+"targetShape"]=Ee),Ee._fireAndBubble(ne.pointermove,Object.assign({},_e))):We&&(this._fire(ne.pointerover,{evt:W,target:this,currentTarget:this,pointerId:lt}),this[fe+"targetShape"]=null)}),ye||this._fire(ne.pointermove,{evt:W,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(W){const ne=Z(W.type),fe=q(W.type);if(!ne)return;this.setPointersPositions(W);const pe=this[fe+"ClickStartShape"],ve=this[fe+"ClickEndShape"];var ye={};let We=!1;this._changedPointerPositions.forEach(Me=>{const Ee=l.getCapturedShape(Me.id)||this.getIntersection(Me);if(Ee){if(Ee.releaseCapture(Me.id),ye[Ee._id])return;ye[Ee._id]=!0}const lt=Me.id,_e={evt:W,pointerId:lt};let jt=!1;i.Konva["_"+fe+"InDblClickWindow"]?(jt=!0,clearTimeout(this[fe+"DblTimeout"])):s.DD.justDragged||(i.Konva["_"+fe+"InDblClickWindow"]=!0,clearTimeout(this[fe+"DblTimeout"])),this[fe+"DblTimeout"]=setTimeout(function(){i.Konva["_"+fe+"InDblClickWindow"]=!1},i.Konva.dblClickWindow),Ee&&Ee.isListening()?(We=!0,this[fe+"ClickEndShape"]=Ee,Ee._fireAndBubble(ne.pointerup,Object.assign({},_e)),i.Konva["_"+fe+"ListenClick"]&&pe&&pe===Ee&&(Ee._fireAndBubble(ne.pointerclick,Object.assign({},_e)),jt&&ve&&ve===Ee&&Ee._fireAndBubble(ne.pointerdblclick,Object.assign({},_e)))):(this[fe+"ClickEndShape"]=null,i.Konva["_"+fe+"ListenClick"]&&this._fire(ne.pointerclick,{evt:W,target:this,currentTarget:this,pointerId:lt}),jt&&this._fire(ne.pointerdblclick,{evt:W,target:this,currentTarget:this,pointerId:lt}))}),We||this._fire(ne.pointerup,{evt:W,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),i.Konva["_"+fe+"ListenClick"]=!1,W.cancelable&&fe!=="touch"&&W.preventDefault()}_contextmenu(W){this.setPointersPositions(W);var ne=this.getIntersection(this.getPointerPosition());ne&&ne.isListening()?ne._fireAndBubble(G,{evt:W}):this._fire(G,{evt:W,target:this,currentTarget:this})}_wheel(W){this.setPointersPositions(W);var ne=this.getIntersection(this.getPointerPosition());ne&&ne.isListening()?ne._fireAndBubble(B,{evt:W}):this._fire(B,{evt:W,target:this,currentTarget:this})}_pointercancel(W){this.setPointersPositions(W);const ne=l.getCapturedShape(W.pointerId)||this.getIntersection(this.getPointerPosition());ne&&ne._fireAndBubble(C,l.createEvent(W)),l.releaseCapture(W.pointerId)}_lostpointercapture(W){l.releaseCapture(W.pointerId)}setPointersPositions(W){var ne=this._getContentPosition(),fe=null,pe=null;W=W||window.event,W.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(W.touches,ve=>{this._pointerPositions.push({id:ve.identifier,x:(ve.clientX-ne.left)/ne.scaleX,y:(ve.clientY-ne.top)/ne.scaleY})}),Array.prototype.forEach.call(W.changedTouches||W.touches,ve=>{this._changedPointerPositions.push({id:ve.identifier,x:(ve.clientX-ne.left)/ne.scaleX,y:(ve.clientY-ne.top)/ne.scaleY})})):(fe=(W.clientX-ne.left)/ne.scaleX,pe=(W.clientY-ne.top)/ne.scaleY,this.pointerPos={x:fe,y:pe},this._pointerPositions=[{x:fe,y:pe,id:t.Util._getFirstPointerId(W)}],this._changedPointerPositions=[{x:fe,y:pe,id:t.Util._getFirstPointerId(W)}])}_setPointerPosition(W){t.Util.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(W)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var W=this.content.getBoundingClientRect();return{top:W.top,left:W.left,scaleX:W.width/this.content.clientWidth||1,scaleY:W.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new o.SceneCanvas({width:this.width(),height:this.height()}),this.bufferHitCanvas=new o.HitCanvas({pixelRatio:1,width:this.width(),height:this.height()}),!!i.Konva.isBrowser){var W=this.container();if(!W)throw"Stage has no container. A container is required.";W.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),W.appendChild(this.content),this._resizeDOM()}}cache(){return t.Util.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(W){W.batchDraw()}),this}}e.Stage=se,se.prototype.nodeType=u,(0,a._registerNode)(se),n.Factory.addGetterSetter(se,"container")})(YU);var Pm={},rr={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.shapes=void 0;const t=rt,n=Sn,r=nt,i=fn,o=ke,s=rt,a=Vi;var l="hasShadow",u="shadowRGBA",d="patternImage",f="linearGradient",p="radialGradient";let g;function m(){return g||(g=n.Util.createCanvasElement().getContext("2d"),g)}e.shapes={};function v(k){const O=this.attrs.fillRule;O?k.fill(O):k.fill()}function x(k){k.stroke()}function _(k){k.fill()}function b(k){k.stroke()}function y(){this._clearCache(l)}function S(){this._clearCache(u)}function C(){this._clearCache(d)}function T(){this._clearCache(f)}function E(){this._clearCache(p)}class P extends i.Node{constructor(O){super(O);let M;for(;M=n.Util.getRandomColor(),!(M&&!(M in e.shapes)););this.colorKey=M,e.shapes[M]=this}getContext(){return n.Util.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return n.Util.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(l,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(d,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var O=m();const M=O.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(M&&M.setTransform){const G=new n.Transform;G.translate(this.fillPatternX(),this.fillPatternY()),G.rotate(t.Konva.getAngle(this.fillPatternRotation())),G.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),G.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const U=G.getMatrix(),A=typeof DOMMatrix>"u"?{a:U[0],b:U[1],c:U[2],d:U[3],e:U[4],f:U[5]}:new DOMMatrix(U);M.setTransform(A)}return M}}_getLinearGradient(){return this._getCache(f,this.__getLinearGradient)}__getLinearGradient(){var O=this.fillLinearGradientColorStops();if(O){for(var M=m(),G=this.fillLinearGradientStartPoint(),U=this.fillLinearGradientEndPoint(),A=M.createLinearGradient(G.x,G.y,U.x,U.y),N=0;Nthis.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const O=this.hitStrokeWidth();return O==="auto"?this.hasStroke():this.strokeEnabled()&&!!O}intersects(O){var M=this.getStage(),G=M.bufferHitCanvas,U;return G.getContext().clear(),this.drawHit(G,null,!0),U=G.context.getImageData(Math.round(O.x),Math.round(O.y),1,1).data,U[3]>0}destroy(){return i.Node.prototype.destroy.call(this),delete e.shapes[this.colorKey],delete this.colorKey,this}_useBufferCanvas(O){var M;if(!this.getStage()||!((M=this.attrs.perfectDrawEnabled)!==null&&M!==void 0?M:!0))return!1;const U=O||this.hasFill(),A=this.hasStroke(),N=this.getAbsoluteOpacity()!==1;if(U&&A&&N)return!0;const F=this.hasShadow(),B=this.shadowForStrokeEnabled();return!!(U&&A&&F&&B)}setStrokeHitEnabled(O){n.Util.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),O?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var O=this.size();return{x:this._centroid?-O.width/2:0,y:this._centroid?-O.height/2:0,width:O.width,height:O.height}}getClientRect(O={}){const M=O.skipTransform,G=O.relativeTo,U=this.getSelfRect(),N=!O.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,F=U.width+N,B=U.height+N,D=!O.skipShadow&&this.hasShadow(),V=D?this.shadowOffsetX():0,j=D?this.shadowOffsetY():0,q=F+Math.abs(V),Z=B+Math.abs(j),ee=D&&this.shadowBlur()||0,ie=q+ee*2,se=Z+ee*2,le={width:ie,height:se,x:-(N/2+ee)+Math.min(V,0)+U.x,y:-(N/2+ee)+Math.min(j,0)+U.y};return M?le:this._transformedRect(le,G)}drawScene(O,M){var G=this.getLayer(),U=O||G.getCanvas(),A=U.getContext(),N=this._getCanvasCache(),F=this.getSceneFunc(),B=this.hasShadow(),D,V,j,q=U.isCache,Z=M===this;if(!this.isVisible()&&!Z)return this;if(N){A.save();var ee=this.getAbsoluteTransform(M).getMatrix();return A.transform(ee[0],ee[1],ee[2],ee[3],ee[4],ee[5]),this._drawCachedSceneCanvas(A),A.restore(),this}if(!F)return this;if(A.save(),this._useBufferCanvas()&&!q){D=this.getStage(),V=D.bufferCanvas,j=V.getContext(),j.clear(),j.save(),j._applyLineJoin(this);var ie=this.getAbsoluteTransform(M).getMatrix();j.transform(ie[0],ie[1],ie[2],ie[3],ie[4],ie[5]),F.call(this,j,this),j.restore();var se=V.pixelRatio;B&&A._applyShadow(this),A._applyOpacity(this),A._applyGlobalCompositeOperation(this),A.drawImage(V._canvas,0,0,V.width/se,V.height/se)}else{if(A._applyLineJoin(this),!Z){var ie=this.getAbsoluteTransform(M).getMatrix();A.transform(ie[0],ie[1],ie[2],ie[3],ie[4],ie[5]),A._applyOpacity(this),A._applyGlobalCompositeOperation(this)}B&&A._applyShadow(this),F.call(this,A,this)}return A.restore(),this}drawHit(O,M,G=!1){if(!this.shouldDrawHit(M,G))return this;var U=this.getLayer(),A=O||U.hitCanvas,N=A&&A.getContext(),F=this.hitFunc()||this.sceneFunc(),B=this._getCanvasCache(),D=B&&B.hit;if(this.colorKey||n.Util.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),D){N.save();var V=this.getAbsoluteTransform(M).getMatrix();return N.transform(V[0],V[1],V[2],V[3],V[4],V[5]),this._drawCachedHitCanvas(N),N.restore(),this}if(!F)return this;if(N.save(),N._applyLineJoin(this),!(this===M)){var q=this.getAbsoluteTransform(M).getMatrix();N.transform(q[0],q[1],q[2],q[3],q[4],q[5])}return F.call(this,N,this),N.restore(),this}drawHitFromCache(O=0){var M=this._getCanvasCache(),G=this._getCachedSceneCanvas(),U=M.hit,A=U.getContext(),N=U.getWidth(),F=U.getHeight(),B,D,V,j,q,Z;A.clear(),A.drawImage(G._canvas,0,0,N,F);try{for(B=A.getImageData(0,0,N,F),D=B.data,V=D.length,j=n.Util._hexToRgb(this.colorKey),q=0;qO?(D[q]=j.r,D[q+1]=j.g,D[q+2]=j.b,D[q+3]=255):D[q+3]=0;A.putImageData(B,0,0)}catch(ee){n.Util.error("Unable to draw hit graph from cached scene canvas. "+ee.message)}return this}hasPointerCapture(O){return a.hasPointerCapture(O,this)}setPointerCapture(O){a.setPointerCapture(O,this)}releaseCapture(O){a.releaseCapture(O,this)}}e.Shape=P,P.prototype._fillFunc=v,P.prototype._strokeFunc=x,P.prototype._fillFuncHit=_,P.prototype._strokeFuncHit=b,P.prototype._centroid=!1,P.prototype.nodeType="Shape",(0,s._registerNode)(P),P.prototype.eventListeners={},P.prototype.on.call(P.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",y),P.prototype.on.call(P.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",S),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",C),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",T),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",E),r.Factory.addGetterSetter(P,"stroke",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(P,"strokeWidth",2,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillAfterStrokeEnabled",!1),r.Factory.addGetterSetter(P,"hitStrokeWidth","auto",(0,o.getNumberOrAutoValidator)()),r.Factory.addGetterSetter(P,"strokeHitEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"perfectDrawEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"shadowForStrokeEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"lineJoin"),r.Factory.addGetterSetter(P,"lineCap"),r.Factory.addGetterSetter(P,"sceneFunc"),r.Factory.addGetterSetter(P,"hitFunc"),r.Factory.addGetterSetter(P,"dash"),r.Factory.addGetterSetter(P,"dashOffset",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowColor",void 0,(0,o.getStringValidator)()),r.Factory.addGetterSetter(P,"shadowBlur",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowOpacity",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"shadowOffset",["x","y"]),r.Factory.addGetterSetter(P,"shadowOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternImage"),r.Factory.addGetterSetter(P,"fill",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(P,"fillPatternX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillLinearGradientColorStops"),r.Factory.addGetterSetter(P,"strokeLinearGradientColorStops"),r.Factory.addGetterSetter(P,"fillRadialGradientStartRadius",0),r.Factory.addGetterSetter(P,"fillRadialGradientEndRadius",0),r.Factory.addGetterSetter(P,"fillRadialGradientColorStops"),r.Factory.addGetterSetter(P,"fillPatternRepeat","repeat"),r.Factory.addGetterSetter(P,"fillEnabled",!0),r.Factory.addGetterSetter(P,"strokeEnabled",!0),r.Factory.addGetterSetter(P,"shadowEnabled",!0),r.Factory.addGetterSetter(P,"dashEnabled",!0),r.Factory.addGetterSetter(P,"strokeScaleEnabled",!0),r.Factory.addGetterSetter(P,"fillPriority","color"),r.Factory.addComponentsGetterSetter(P,"fillPatternOffset",["x","y"]),r.Factory.addGetterSetter(P,"fillPatternOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"fillPatternScale",["x","y"]),r.Factory.addGetterSetter(P,"fillPatternScaleX",1,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternScaleY",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"fillLinearGradientStartPoint",["x","y"]),r.Factory.addComponentsGetterSetter(P,"strokeLinearGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillLinearGradientStartPointX",0),r.Factory.addGetterSetter(P,"strokeLinearGradientStartPointX",0),r.Factory.addGetterSetter(P,"fillLinearGradientStartPointY",0),r.Factory.addGetterSetter(P,"strokeLinearGradientStartPointY",0),r.Factory.addComponentsGetterSetter(P,"fillLinearGradientEndPoint",["x","y"]),r.Factory.addComponentsGetterSetter(P,"strokeLinearGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillLinearGradientEndPointX",0),r.Factory.addGetterSetter(P,"strokeLinearGradientEndPointX",0),r.Factory.addGetterSetter(P,"fillLinearGradientEndPointY",0),r.Factory.addGetterSetter(P,"strokeLinearGradientEndPointY",0),r.Factory.addComponentsGetterSetter(P,"fillRadialGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillRadialGradientStartPointX",0),r.Factory.addGetterSetter(P,"fillRadialGradientStartPointY",0),r.Factory.addComponentsGetterSetter(P,"fillRadialGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillRadialGradientEndPointX",0),r.Factory.addGetterSetter(P,"fillRadialGradientEndPointY",0),r.Factory.addGetterSetter(P,"fillPatternRotation",0),r.Factory.addGetterSetter(P,"fillRule",void 0,(0,o.getStringValidator)()),r.Factory.backCompat(P,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"})})(rr);Object.defineProperty(Pm,"__esModule",{value:!0});Pm.Layer=void 0;const ia=Sn,Dx=vc,hd=fn,bE=nt,XO=Qo,YSe=ke,QSe=rr,ZSe=rt;var JSe="#",e2e="beforeDraw",t2e="draw",JU=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],n2e=JU.length;class Vf extends Dx.Container{constructor(t){super(t),this.canvas=new XO.SceneCanvas,this.hitCanvas=new XO.HitCanvas({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(t){return this.getContext().clear(t),this.getHitCanvas().getContext().clear(t),this}setZIndex(t){super.setZIndex(t);var n=this.getStage();return n&&n.content&&(n.content.removeChild(this.getNativeCanvasElement()),t{this.draw(),this._waitingForDraw=!1})),this}getIntersection(t){if(!this.isListening()||!this.isVisible())return null;for(var n=1,r=!1;;){for(let i=0;i0)return{antialiased:!0};return{}}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas();return this._fire(e2e,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),Dx.Container.prototype.drawScene.call(this,i,n),this._fire(t2e,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),Dx.Container.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){ia.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return ia.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!(!this.parent||!this.parent.content)){var t=this.parent,n=!!this.hitCanvas._canvas.parentNode;n?t.content.removeChild(this.hitCanvas._canvas):t.content.appendChild(this.hitCanvas._canvas)}}destroy(){return ia.Util.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}Pm.Layer=Vf;Vf.prototype.nodeType="Layer";(0,ZSe._registerNode)(Vf);bE.Factory.addGetterSetter(Vf,"imageSmoothingEnabled",!0);bE.Factory.addGetterSetter(Vf,"clearBeforeDraw",!0);bE.Factory.addGetterSetter(Vf,"hitGraphEnabled",!0,(0,YSe.getBooleanValidator)());var lS={};Object.defineProperty(lS,"__esModule",{value:!0});lS.FastLayer=void 0;const r2e=Sn,i2e=Pm,o2e=rt;class SE extends i2e.Layer{constructor(t){super(t),this.listening(!1),r2e.Util.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}lS.FastLayer=SE;SE.prototype.nodeType="FastLayer";(0,o2e._registerNode)(SE);var jf={};Object.defineProperty(jf,"__esModule",{value:!0});jf.Group=void 0;const s2e=Sn,a2e=vc,l2e=rt;class wE extends a2e.Container{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&s2e.Util.throw("You may only add groups and shapes to groups.")}}jf.Group=wE;wE.prototype.nodeType="Group";(0,l2e._registerNode)(wE);var Gf={};Object.defineProperty(Gf,"__esModule",{value:!0});Gf.Animation=void 0;const $x=rt,YO=Sn;var Fx=function(){return $x.glob.performance&&$x.glob.performance.now?function(){return $x.glob.performance.now()}:function(){return new Date().getTime()}}();class ws{constructor(t,n){this.id=ws.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:Fx(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){var n=[];return t?t.length>0?n=t:n=[t]:n=[],this.layers=n,this}getLayers(){return this.layers}addLayer(t){var n=this.layers,r=n.length,i;for(i=0;ithis.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():m<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=m,this.update())}getTime(){return this._time}setPosition(m){this.prevPos=this._pos,this.propFunc(m),this._pos=m}getPosition(m){return m===void 0&&(m=this._time),this.func(m,this.begin,this._change,this.duration)}play(){this.state=a,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=l,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(m){this.pause(),this._time=m,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){var m=this.getTimer()-this._startTime;this.state===a?this.setTime(m):this.state===l&&this.setTime(this.duration-m)}pause(){this.state=s,this.fire("onPause")}getTimer(){return new Date().getTime()}}class p{constructor(m){var v=this,x=m.node,_=x._id,b,y=m.easing||e.Easings.Linear,S=!!m.yoyo,C;typeof m.duration>"u"?b=.3:m.duration===0?b=.001:b=m.duration,this.node=x,this._id=u++;var T=x.getLayer()||(x instanceof i.Konva.Stage?x.getLayers():null);T||t.Util.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new n.Animation(function(){v.tween.onEnterFrame()},T),this.tween=new f(C,function(E){v._tweenFunc(E)},y,0,1,b*1e3,S),this._addListeners(),p.attrs[_]||(p.attrs[_]={}),p.attrs[_][this._id]||(p.attrs[_][this._id]={}),p.tweens[_]||(p.tweens[_]={});for(C in m)o[C]===void 0&&this._addAttr(C,m[C]);this.reset(),this.onFinish=m.onFinish,this.onReset=m.onReset,this.onUpdate=m.onUpdate}_addAttr(m,v){var x=this.node,_=x._id,b,y,S,C,T,E,P,k;if(S=p.tweens[_][m],S&&delete p.attrs[_][S][m],b=x.getAttr(m),t.Util._isArray(v))if(y=[],T=Math.max(v.length,b.length),m==="points"&&v.length!==b.length&&(v.length>b.length?(P=b,b=t.Util._prepareArrayForTween(b,v,x.closed())):(E=v,v=t.Util._prepareArrayForTween(v,b,x.closed()))),m.indexOf("fill")===0)for(C=0;C{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var m=this.node,v=p.attrs[m._id][this._id];v.points&&v.points.trueEnd&&m.setAttr("points",v.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var m=this.node,v=p.attrs[m._id][this._id];v.points&&v.points.trueStart&&m.points(v.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(m){return this.tween.seek(m*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var m=this.node._id,v=this._id,x=p.tweens[m],_;this.pause();for(_ in x)delete p.tweens[m][_];delete p.attrs[m][v]}}e.Tween=p,p.attrs={},p.tweens={},r.Node.prototype.to=function(g){var m=g.onFinish;g.node=this,g.onFinish=function(){this.destroy(),m&&m()};var v=new p(g);v.play()},e.Easings={BackEaseIn(g,m,v,x){var _=1.70158;return v*(g/=x)*g*((_+1)*g-_)+m},BackEaseOut(g,m,v,x){var _=1.70158;return v*((g=g/x-1)*g*((_+1)*g+_)+1)+m},BackEaseInOut(g,m,v,x){var _=1.70158;return(g/=x/2)<1?v/2*(g*g*(((_*=1.525)+1)*g-_))+m:v/2*((g-=2)*g*(((_*=1.525)+1)*g+_)+2)+m},ElasticEaseIn(g,m,v,x,_,b){var y=0;return g===0?m:(g/=x)===1?m+v:(b||(b=x*.3),!_||_0?t:n),d=s*n,f=a*(a>0?t:n),p=l*(l>0?n:t);return{x:u,y:r?-1*p:f,width:d-u,height:p-f}}}uS.Arc=Ua;Ua.prototype._centroid=!0;Ua.prototype.className="Arc";Ua.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,c2e._registerNode)(Ua);cS.Factory.addGetterSetter(Ua,"innerRadius",0,(0,dS.getNumberValidator)());cS.Factory.addGetterSetter(Ua,"outerRadius",0,(0,dS.getNumberValidator)());cS.Factory.addGetterSetter(Ua,"angle",0,(0,dS.getNumberValidator)());cS.Factory.addGetterSetter(Ua,"clockwise",!1,(0,dS.getBooleanValidator)());var fS={},Rm={};Object.defineProperty(Rm,"__esModule",{value:!0});Rm.Line=void 0;const hS=nt,d2e=rr,tz=ke,f2e=rt;function a5(e,t,n,r,i,o,s){var a=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),l=Math.sqrt(Math.pow(i-n,2)+Math.pow(o-r,2)),u=s*a/(a+l),d=s*l/(a+l),f=n-u*(i-e),p=r-u*(o-t),g=n+d*(i-e),m=r+d*(o-t);return[f,p,g,m]}function ZO(e,t){var n=e.length,r=[],i,o;for(i=2;i4){for(a=this.getTensionPoints(),l=a.length,u=o?0:4,o||t.quadraticCurveTo(a[0],a[1],a[2],a[3]);u{let u,d,f;u=l/2,d=0;for(let g=0;g<20;g++)f=u*e.tValues[20][g]+u,d+=e.cValues[20][g]*r(s,a,f);return u*d};e.getCubicArcLength=t;const n=(s,a,l)=>{l===void 0&&(l=1);const u=s[0]-2*s[1]+s[2],d=a[0]-2*a[1]+a[2],f=2*s[1]-2*s[0],p=2*a[1]-2*a[0],g=4*(u*u+d*d),m=4*(u*f+d*p),v=f*f+p*p;if(g===0)return l*Math.sqrt(Math.pow(s[2]-s[0],2)+Math.pow(a[2]-a[0],2));const x=m/(2*g),_=v/g,b=l+x,y=_-x*x,S=b*b+y>0?Math.sqrt(b*b+y):0,C=x*x+y>0?Math.sqrt(x*x+y):0,T=x+Math.sqrt(x*x+y)!==0?y*Math.log(Math.abs((b+S)/(x+C))):0;return Math.sqrt(g)/2*(b*S-x*C+T)};e.getQuadraticArcLength=n;function r(s,a,l){const u=i(1,l,s),d=i(1,l,a),f=u*u+d*d;return Math.sqrt(f)}const i=(s,a,l)=>{const u=l.length-1;let d,f;if(u===0)return 0;if(s===0){f=0;for(let p=0;p<=u;p++)f+=e.binomialCoefficients[u][p]*Math.pow(1-a,u-p)*Math.pow(a,p)*l[p];return f}else{d=new Array(u);for(let p=0;p{let u=1,d=s/a,f=(s-l(d))/a,p=0;for(;u>.001;){const g=l(d+f),m=Math.abs(s-g)/a;if(m500)break}return d};e.t2length=o})(nz);Object.defineProperty(Hf,"__esModule",{value:!0});Hf.Path=void 0;const h2e=nt,p2e=rr,g2e=rt,pd=nz;class Zn extends p2e.Shape{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=Zn.parsePathData(this.data()),this.pathLength=Zn.getPathLength(this.dataArray)}_sceneFunc(t){var n=this.dataArray;t.beginPath();for(var r=!1,i=0;id?u:d,x=u>d?1:u/d,_=u>d?d/u:1;t.translate(a,l),t.rotate(g),t.scale(x,_),t.arc(0,0,v,f,f+p,1-m),t.scale(1/x,1/_),t.rotate(-g),t.translate(-a,-l);break;case"z":r=!0,t.closePath();break}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){var t=[];this.dataArray.forEach(function(u){if(u.command==="A"){var d=u.points[4],f=u.points[5],p=u.points[4]+f,g=Math.PI/180;if(Math.abs(d-p)p;m-=g){const v=Zn.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],m,0);t.push(v.x,v.y)}else for(let m=d+g;mn[i].pathLength;)t-=n[i].pathLength,++i;if(i===o)return r=n[i-1].points.slice(-2),{x:r[0],y:r[1]};if(t<.01)return r=n[i].points.slice(0,2),{x:r[0],y:r[1]};var s=n[i],a=s.points;switch(s.command){case"L":return Zn.getPointOnLine(t,s.start.x,s.start.y,a[0],a[1]);case"C":return Zn.getPointOnCubicBezier((0,pd.t2length)(t,Zn.getPathLength(n),v=>(0,pd.getCubicArcLength)([s.start.x,a[0],a[2],a[4]],[s.start.y,a[1],a[3],a[5]],v)),s.start.x,s.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return Zn.getPointOnQuadraticBezier((0,pd.t2length)(t,Zn.getPathLength(n),v=>(0,pd.getQuadraticArcLength)([s.start.x,a[0],a[2]],[s.start.y,a[1],a[3]],v)),s.start.x,s.start.y,a[0],a[1],a[2],a[3]);case"A":var l=a[0],u=a[1],d=a[2],f=a[3],p=a[4],g=a[5],m=a[6];return p+=g*t/s.pathLength,Zn.getPointOnEllipticalArc(l,u,d,f,p,m)}return null}static getPointOnLine(t,n,r,i,o,s,a){s===void 0&&(s=n),a===void 0&&(a=r);var l=(o-r)/(i-n+1e-8),u=Math.sqrt(t*t/(1+l*l));i0&&!isNaN(m[0]);){var b=null,y=[],S=l,C=u,T,E,P,k,O,M,G,U,A,N;switch(g){case"l":l+=m.shift(),u+=m.shift(),b="L",y.push(l,u);break;case"L":l=m.shift(),u=m.shift(),y.push(l,u);break;case"m":var F=m.shift(),B=m.shift();if(l+=F,u+=B,b="M",s.length>2&&s[s.length-1].command==="z"){for(var D=s.length-2;D>=0;D--)if(s[D].command==="M"){l=s[D].points[0]+F,u=s[D].points[1]+B;break}}y.push(l,u),g="l";break;case"M":l=m.shift(),u=m.shift(),b="M",y.push(l,u),g="L";break;case"h":l+=m.shift(),b="L",y.push(l,u);break;case"H":l=m.shift(),b="L",y.push(l,u);break;case"v":u+=m.shift(),b="L",y.push(l,u);break;case"V":u=m.shift(),b="L",y.push(l,u);break;case"C":y.push(m.shift(),m.shift(),m.shift(),m.shift()),l=m.shift(),u=m.shift(),y.push(l,u);break;case"c":y.push(l+m.shift(),u+m.shift(),l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="C",y.push(l,u);break;case"S":E=l,P=u,T=s[s.length-1],T.command==="C"&&(E=l+(l-T.points[2]),P=u+(u-T.points[3])),y.push(E,P,m.shift(),m.shift()),l=m.shift(),u=m.shift(),b="C",y.push(l,u);break;case"s":E=l,P=u,T=s[s.length-1],T.command==="C"&&(E=l+(l-T.points[2]),P=u+(u-T.points[3])),y.push(E,P,l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="C",y.push(l,u);break;case"Q":y.push(m.shift(),m.shift()),l=m.shift(),u=m.shift(),y.push(l,u);break;case"q":y.push(l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="Q",y.push(l,u);break;case"T":E=l,P=u,T=s[s.length-1],T.command==="Q"&&(E=l+(l-T.points[0]),P=u+(u-T.points[1])),l=m.shift(),u=m.shift(),b="Q",y.push(E,P,l,u);break;case"t":E=l,P=u,T=s[s.length-1],T.command==="Q"&&(E=l+(l-T.points[0]),P=u+(u-T.points[1])),l+=m.shift(),u+=m.shift(),b="Q",y.push(E,P,l,u);break;case"A":k=m.shift(),O=m.shift(),M=m.shift(),G=m.shift(),U=m.shift(),A=l,N=u,l=m.shift(),u=m.shift(),b="A",y=this.convertEndpointToCenterParameterization(A,N,l,u,G,U,k,O,M);break;case"a":k=m.shift(),O=m.shift(),M=m.shift(),G=m.shift(),U=m.shift(),A=l,N=u,l+=m.shift(),u+=m.shift(),b="A",y=this.convertEndpointToCenterParameterization(A,N,l,u,G,U,k,O,M);break}s.push({command:b||g,points:y,start:{x:S,y:C},pathLength:this.calcLength(S,C,b||g,y)})}(g==="z"||g==="Z")&&s.push({command:"z",points:[],start:void 0,pathLength:0})}return s}static calcLength(t,n,r,i){var o,s,a,l,u=Zn;switch(r){case"L":return u.getLineLength(t,n,i[0],i[1]);case"C":return(0,pd.getCubicArcLength)([t,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return(0,pd.getQuadraticArcLength)([t,i[0],i[2]],[n,i[1],i[3]],1);case"A":o=0;var d=i[4],f=i[5],p=i[4]+f,g=Math.PI/180;if(Math.abs(d-p)p;l-=g)a=u.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=u.getLineLength(s.x,s.y,a.x,a.y),s=a;else for(l=d+g;l1&&(a*=Math.sqrt(g),l*=Math.sqrt(g));var m=Math.sqrt((a*a*(l*l)-a*a*(p*p)-l*l*(f*f))/(a*a*(p*p)+l*l*(f*f)));o===s&&(m*=-1),isNaN(m)&&(m=0);var v=m*a*p/l,x=m*-l*f/a,_=(t+r)/2+Math.cos(d)*v-Math.sin(d)*x,b=(n+i)/2+Math.sin(d)*v+Math.cos(d)*x,y=function(O){return Math.sqrt(O[0]*O[0]+O[1]*O[1])},S=function(O,M){return(O[0]*M[0]+O[1]*M[1])/(y(O)*y(M))},C=function(O,M){return(O[0]*M[1]=1&&(k=0),s===0&&k>0&&(k=k-2*Math.PI),s===1&&k<0&&(k=k+2*Math.PI),[_,b,a,l,T,k,d,s]}}Hf.Path=Zn;Zn.prototype.className="Path";Zn.prototype._attrsAffectingSize=["data"];(0,g2e._registerNode)(Zn);h2e.Factory.addGetterSetter(Zn,"data");Object.defineProperty(fS,"__esModule",{value:!0});fS.Arrow=void 0;const pS=nt,m2e=Rm,rz=ke,y2e=rt,JO=Hf;class bc extends m2e.Line{_sceneFunc(t){super._sceneFunc(t);var n=Math.PI*2,r=this.points(),i=r,o=this.tension()!==0&&r.length>4;o&&(i=this.getTensionPoints());var s=this.pointerLength(),a=r.length,l,u;if(o){const p=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],r[a-2],r[a-1]],g=JO.Path.calcLength(i[i.length-4],i[i.length-3],"C",p),m=JO.Path.getPointOnQuadraticBezier(Math.min(1,1-s/g),p[0],p[1],p[2],p[3],p[4],p[5]);l=r[a-2]-m.x,u=r[a-1]-m.y}else l=r[a-2]-r[a-4],u=r[a-1]-r[a-3];var d=(Math.atan2(u,l)+n)%n,f=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[a-2],r[a-1]),t.rotate(d),t.moveTo(0,0),t.lineTo(-s,f/2),t.lineTo(-s,-f/2),t.closePath(),t.restore(),this.__fillStroke(t)),this.pointerAtBeginning()&&(t.save(),t.beginPath(),t.translate(r[0],r[1]),o?(l=(i[0]+i[2])/2-r[0],u=(i[1]+i[3])/2-r[1]):(l=r[2]-r[0],u=r[3]-r[1]),t.rotate((Math.atan2(-u,-l)+n)%n),t.moveTo(0,0),t.lineTo(-s,f/2),t.lineTo(-s,-f/2),t.closePath(),t.restore(),this.__fillStroke(t))}__fillStroke(t){var n=this.dashEnabled();n&&(this.attrs.dashEnabled=!1,t.setLineDash([])),t.fillStrokeShape(this),n&&(this.attrs.dashEnabled=!0)}getSelfRect(){const t=super.getSelfRect(),n=this.pointerWidth()/2;return{x:t.x-n,y:t.y-n,width:t.width+n*2,height:t.height+n*2}}}fS.Arrow=bc;bc.prototype.className="Arrow";(0,y2e._registerNode)(bc);pS.Factory.addGetterSetter(bc,"pointerLength",10,(0,rz.getNumberValidator)());pS.Factory.addGetterSetter(bc,"pointerWidth",10,(0,rz.getNumberValidator)());pS.Factory.addGetterSetter(bc,"pointerAtBeginning",!1);pS.Factory.addGetterSetter(bc,"pointerAtEnding",!0);var gS={};Object.defineProperty(gS,"__esModule",{value:!0});gS.Circle=void 0;const v2e=nt,_2e=rr,b2e=ke,S2e=rt;let Wf=class extends _2e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius()!==t/2&&this.radius(t/2)}setHeight(t){this.radius()!==t/2&&this.radius(t/2)}};gS.Circle=Wf;Wf.prototype._centroid=!0;Wf.prototype.className="Circle";Wf.prototype._attrsAffectingSize=["radius"];(0,S2e._registerNode)(Wf);v2e.Factory.addGetterSetter(Wf,"radius",0,(0,b2e.getNumberValidator)());var mS={};Object.defineProperty(mS,"__esModule",{value:!0});mS.Ellipse=void 0;const xE=nt,w2e=rr,iz=ke,x2e=rt;class ou extends w2e.Shape{_sceneFunc(t){var n=this.radiusX(),r=this.radiusY();t.beginPath(),t.save(),n!==r&&t.scale(1,r/n),t.arc(0,0,n,0,Math.PI*2,!1),t.restore(),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(t){this.radiusX(t/2)}setHeight(t){this.radiusY(t/2)}}mS.Ellipse=ou;ou.prototype.className="Ellipse";ou.prototype._centroid=!0;ou.prototype._attrsAffectingSize=["radiusX","radiusY"];(0,x2e._registerNode)(ou);xE.Factory.addComponentsGetterSetter(ou,"radius",["x","y"]);xE.Factory.addGetterSetter(ou,"radiusX",0,(0,iz.getNumberValidator)());xE.Factory.addGetterSetter(ou,"radiusY",0,(0,iz.getNumberValidator)());var yS={};Object.defineProperty(yS,"__esModule",{value:!0});yS.Image=void 0;const Bx=Sn,Sc=nt,C2e=rr,T2e=rt,Om=ke;let Us=class oz extends C2e.Shape{constructor(t){super(t),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){return super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),i=this.cornerRadius(),o=this.attrs.image;let s;if(o){const a=this.attrs.cropWidth,l=this.attrs.cropHeight;a&&l?s=[o,this.cropX(),this.cropY(),a,l,0,0,n,r]:s=[o,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?Bx.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),o&&(i&&t.clip(),t.drawImage.apply(t,s))}_hitFunc(t){var n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?Bx.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n;return(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width}getHeight(){var t,n;return(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height}static fromURL(t,n,r=null){var i=Bx.Util.createImageElement();i.onload=function(){var o=new oz({image:i});n(o)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};yS.Image=Us;Us.prototype.className="Image";(0,T2e._registerNode)(Us);Sc.Factory.addGetterSetter(Us,"cornerRadius",0,(0,Om.getNumberOrArrayOfNumbersValidator)(4));Sc.Factory.addGetterSetter(Us,"image");Sc.Factory.addComponentsGetterSetter(Us,"crop",["x","y","width","height"]);Sc.Factory.addGetterSetter(Us,"cropX",0,(0,Om.getNumberValidator)());Sc.Factory.addGetterSetter(Us,"cropY",0,(0,Om.getNumberValidator)());Sc.Factory.addGetterSetter(Us,"cropWidth",0,(0,Om.getNumberValidator)());Sc.Factory.addGetterSetter(Us,"cropHeight",0,(0,Om.getNumberValidator)());var Rf={};Object.defineProperty(Rf,"__esModule",{value:!0});Rf.Tag=Rf.Label=void 0;const vS=nt,E2e=rr,A2e=jf,CE=ke,sz=rt;var az=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],P2e="Change.konva",R2e="none",l5="up",u5="right",c5="down",d5="left",O2e=az.length;class TE extends A2e.Group{constructor(t){super(t),this.on("add.konva",function(n){this._addListeners(n.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(t){var n=this,r,i=function(){n._sync()};for(r=0;r{n=Math.min(n,s.x),r=Math.max(r,s.x),i=Math.min(i,s.y),o=Math.max(o,s.y)}),{x:n,y:i,width:r-n,height:o-i}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}bS.RegularPolygon=xc;xc.prototype.className="RegularPolygon";xc.prototype._centroid=!0;xc.prototype._attrsAffectingSize=["radius"];(0,$2e._registerNode)(xc);lz.Factory.addGetterSetter(xc,"radius",0,(0,uz.getNumberValidator)());lz.Factory.addGetterSetter(xc,"sides",0,(0,uz.getNumberValidator)());var SS={};Object.defineProperty(SS,"__esModule",{value:!0});SS.Ring=void 0;const cz=nt,F2e=rr,dz=ke,B2e=rt;var ek=Math.PI*2;class Cc extends F2e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,ek,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),ek,0,!0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(t){this.outerRadius(t/2)}setHeight(t){this.outerRadius(t/2)}}SS.Ring=Cc;Cc.prototype.className="Ring";Cc.prototype._centroid=!0;Cc.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,B2e._registerNode)(Cc);cz.Factory.addGetterSetter(Cc,"innerRadius",0,(0,dz.getNumberValidator)());cz.Factory.addGetterSetter(Cc,"outerRadius",0,(0,dz.getNumberValidator)());var wS={};Object.defineProperty(wS,"__esModule",{value:!0});wS.Sprite=void 0;const Tc=nt,U2e=rr,z2e=Gf,fz=ke,V2e=rt;class zs extends U2e.Shape{constructor(t){super(t),this._updated=!0,this.anim=new z2e.Animation(()=>{var n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+0],l=o[i+1],u=o[i+2],d=o[i+3],f=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,u,d),t.closePath(),t.fillStrokeShape(this)),f)if(s){var p=s[n],g=r*2;t.drawImage(f,a,l,u,d,p[g+0],p[g+1],u,d)}else t.drawImage(f,a,l,u,d,0,0,u,d)}_hitFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+2],l=o[i+3];if(t.beginPath(),s){var u=s[n],d=r*2;t.rect(u[d+0],u[d+1],a,l)}else t.rect(0,0,a,l);t.closePath(),t.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){var t=this;this.interval=setInterval(function(){t._updateIndex()},1e3/this.frameRate())}start(){if(!this.isRunning()){var t=this.getLayer();this.anim.setLayers(t),this._setInterval(),this.anim.start()}}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){var t=this.frameIndex(),n=this.animation(),r=this.animations(),i=r[n],o=i.length/4;t{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t=`"${t}"`),t}).join(", ")}var $0;function zx(){return $0||($0=f5.Util.createCanvasElement().getContext(X2e),$0)}function swe(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function awe(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function lwe(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class Dn extends H2e.Shape{constructor(t){super(lwe(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n1&&(_+=s)}}}_hitFunc(t){var n=this.getWidth(),r=this.getHeight();t.beginPath(),t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}setText(t){var n=f5.Util._isString(t)?t:t==null?"":t+"";return this._setAttr(Y2e,n),this}getWidth(){var t=this.attrs.width===gd||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===gd||this.attrs.height===void 0;return t?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return f5.Util.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(t){var n=zx(),r=this.fontSize(),i;return n.save(),n.font=this._getContextFont(),i=n.measureText(t),n.restore(),{width:i.width,height:r}}_getContextFont(){return this.fontStyle()+D0+this.fontVariant()+D0+(this.fontSize()+ewe)+owe(this.fontFamily())}_addTextLine(t){this.align()===Zh&&(t=t.trim());var r=this._getTextWidth(t);return this.textArr.push({text:t,width:r,lastInParagraph:!1})}_getTextWidth(t){var n=this.letterSpacing(),r=t.length;return zx().measureText(t).width+(r?n*(r-1):0)}_setTextData(){var t=this.text().split(` +`),n=+this.fontSize(),r=0,i=this.lineHeight()*n,o=this.attrs.width,s=this.attrs.height,a=o!==gd&&o!==void 0,l=s!==gd&&s!==void 0,u=this.padding(),d=o-u*2,f=s-u*2,p=0,g=this.wrap(),m=g!==rk,v=g!==rwe&&m,x=this.ellipsis();this.textArr=[],zx().font=this._getContextFont();for(var _=x?this._getTextWidth(Ux):0,b=0,y=t.length;bd)for(;S.length>0;){for(var T=0,E=S.length,P="",k=0;T>>1,M=S.slice(0,O+1),G=this._getTextWidth(M)+_;G<=d?(T=O+1,P=M,k=G):E=O}if(P){if(v){var U,A=S[P.length],N=A===D0||A===tk;N&&k<=d?U=P.length:U=Math.max(P.lastIndexOf(D0),P.lastIndexOf(tk))+1,U>0&&(T=U,P=P.slice(0,T),k=this._getTextWidth(P))}P=P.trimRight(),this._addTextLine(P),r=Math.max(r,k),p+=i;var F=this._shouldHandleEllipsis(p);if(F){this._tryToAddEllipsisToLastLine();break}if(S=S.slice(T),S=S.trimLeft(),S.length>0&&(C=this._getTextWidth(S),C<=d)){this._addTextLine(S),p+=i,r=Math.max(r,C);break}}else break}else this._addTextLine(S),p+=i,r=Math.max(r,C),this._shouldHandleEllipsis(p)&&bf)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,i=this.attrs.height,o=i!==gd&&i!==void 0,s=this.padding(),a=i-s*2,l=this.wrap(),u=l!==rk;return!u||o&&t+r>a}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==gd&&t!==void 0,r=this.padding(),i=t-r*2,o=this.ellipsis(),s=this.textArr[this.textArr.length-1];if(!(!s||!o)){if(n){var a=this._getTextWidth(s.text+Ux)n?null:Jh.Path.getPointAtLengthOfDataArray(t,this.dataArray)}_readDataAttribute(){this.dataArray=Jh.Path.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(t){t.setAttr("font",this._getContextFont()),t.setAttr("textBaseline",this.textBaseline()),t.setAttr("textAlign","left"),t.save();var n=this.textDecoration(),r=this.fill(),i=this.fontSize(),o=this.glyphInfo;n==="underline"&&t.beginPath();for(var s=0;s=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var i=0;ie+`.${Sz}`).join(" "),sk="nodesRect",mwe=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],ywe={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const vwe="ontouchstart"in $o.Konva._global;function _we(e,t){if(e==="rotater")return"crosshair";t+=zt.Util.degToRad(ywe[e]||0);var n=(zt.Util.radToDeg(t)%360+360)%360;return zt.Util._inRange(n,315+22.5,360)||zt.Util._inRange(n,0,22.5)?"ns-resize":zt.Util._inRange(n,45-22.5,45+22.5)?"nesw-resize":zt.Util._inRange(n,90-22.5,90+22.5)?"ew-resize":zt.Util._inRange(n,135-22.5,135+22.5)?"nwse-resize":zt.Util._inRange(n,180-22.5,180+22.5)?"ns-resize":zt.Util._inRange(n,225-22.5,225+22.5)?"nesw-resize":zt.Util._inRange(n,270-22.5,270+22.5)?"ew-resize":zt.Util._inRange(n,315-22.5,315+22.5)?"nwse-resize":(zt.Util.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var e_=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],ak=1e8;function bwe(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function wz(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),i=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return Object.assign(Object.assign({},e),{rotation:e.rotation+t,x:r,y:i})}function Swe(e,t){const n=bwe(e);return wz(e,t,n)}function wwe(e,t,n){let r=t;for(let i=0;ii.isAncestorOf(this)?(zt.Util.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1):!0);this._nodes=t=n,t.length===1&&this.useSingleNodeRotation()?this.rotation(t[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(i=>{const o=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},s=i._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");i.on(s,o),i.on(mwe.map(a=>a+`.${this._getEventNamespace()}`).join(" "),o),i.on(`absoluteTransformChange.${this._getEventNamespace()}`,o),this._proxyDrag(i)}),this._resetTransformCache();var r=!!this.findOne(".top-left");return r&&this.update(),this}_proxyDrag(t){let n;t.on(`dragstart.${this._getEventNamespace()}`,r=>{n=t.getAbsolutePosition(),!this.isDragging()&&t!==this.findOne(".back")&&this.startDrag(r,!1)}),t.on(`dragmove.${this._getEventNamespace()}`,r=>{if(!n)return;const i=t.getAbsolutePosition(),o=i.x-n.x,s=i.y-n.y;this.nodes().forEach(a=>{if(a===t||a.isDragging())return;const l=a.getAbsolutePosition();a.setAbsolutePosition({x:l.x+o,y:l.y+s}),a.startDrag(r)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(t=>{t.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(sk),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(sk,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var i=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),o=t.getAbsoluteScale(r),s=t.getAbsolutePosition(r),a=i.x*o.x-t.offsetX()*o.x,l=i.y*o.y-t.offsetY()*o.y;const u=($o.Konva.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),d={x:s.x+a*Math.cos(u)+l*Math.sin(-u),y:s.y+l*Math.cos(u)+a*Math.sin(u),width:i.width*o.x,height:i.height*o.y,rotation:u};return wz(d,-$o.Konva.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-ak,y:-ak,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const d=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var f=[{x:d.x,y:d.y},{x:d.x+d.width,y:d.y},{x:d.x+d.width,y:d.y+d.height},{x:d.x,y:d.y+d.height}],p=u.getAbsoluteTransform();f.forEach(function(g){var m=p.point(g);n.push(m)})});const r=new zt.Transform;r.rotate(-$o.Konva.getAngle(this.rotation()));var i,o,s,a;n.forEach(function(u){var d=r.point(u);i===void 0&&(i=s=d.x,o=a=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),s=Math.max(s,d.x),a=Math.max(a,d.y)}),r.invert();const l=r.point({x:i,y:o});return{x:l.x,y:l.y,width:s-i,height:a-o,rotation:$o.Konva.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),e_.forEach((function(t){this._createAnchor(t)}).bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new hwe.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:vwe?10:"auto"}),r=this;n.on("mousedown touchstart",function(i){r._handleMouseDown(i)}),n.on("dragstart",i=>{n.stopDrag(),i.cancelBubble=!0}),n.on("dragend",i=>{i.cancelBubble=!0}),n.on("mouseenter",()=>{var i=$o.Konva.getAngle(this.rotation()),o=_we(t,i);n.getStage().content&&(n.getStage().content.style.cursor=o),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){var t=new fwe.Shape({name:"back",width:0,height:0,draggable:!0,sceneFunc(n){var r=this.getParent(),i=r.padding();n.beginPath(),n.rect(-i,-i,this.width()+i*2,this.height()+i*2),n.moveTo(this.width()/2,-i),r.rotateEnabled()&&n.lineTo(this.width()/2,-r.rotateAnchorOffset()*zt.Util._sign(this.height())-i),n.fillStrokeShape(this)},hitFunc:(n,r)=>{if(this.shouldOverdrawWholeArea()){var i=this.padding();n.beginPath(),n.rect(-i,-i,r.width()+i*2,r.height()+i*2),n.fillStrokeShape(r)}}});this.add(t),this._proxyDrag(t),t.on("dragstart",n=>{n.cancelBubble=!0}),t.on("dragmove",n=>{n.cancelBubble=!0}),t.on("dragend",n=>{n.cancelBubble=!0}),this.on("dragmove",n=>{this.update()})}_handleMouseDown(t){this._movingAnchorName=t.target.name().split(" ")[0];var n=this._getNodeRect(),r=n.width,i=n.height,o=Math.sqrt(Math.pow(r,2)+Math.pow(i,2));this.sin=Math.abs(i/o),this.cos=Math.abs(r/o),typeof window<"u"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;var s=t.target.getAbsolutePosition(),a=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:a.x-s.x,y:a.y-s.y},this._fire("transformstart",{evt:t.evt,target:this.getNode()}),this._nodes.forEach(l=>{l._fire("transformstart",{evt:t.evt,target:l})})}_handleMouseMove(t){var n,r,i,o=this.findOne("."+this._movingAnchorName),s=o.getStage();s.setPointersPositions(t);const a=s.getPointerPosition();let l={x:a.x-this._anchorDragOffset.x,y:a.y-this._anchorDragOffset.y};const u=o.getAbsolutePosition();this.anchorDragBoundFunc()&&(l=this.anchorDragBoundFunc()(u,l,t)),o.setAbsolutePosition(l);const d=o.getAbsolutePosition();if(!(u.x===d.x&&u.y===d.y)){if(this._movingAnchorName==="rotater"){var f=this._getNodeRect();n=o.x()-f.width/2,r=-o.y()+f.height/2;let U=Math.atan2(-r,n)+Math.PI/2;f.height<0&&(U-=Math.PI);var p=$o.Konva.getAngle(this.rotation());const A=p+U,N=$o.Konva.getAngle(this.rotationSnapTolerance()),B=wwe(this.rotationSnaps(),A,N)-f.rotation,D=Swe(f,B);this._fitNodesInto(D,t);return}var g=this.shiftBehavior(),m;g==="inverted"?m=this.keepRatio()&&!t.shiftKey:g==="none"?m=this.keepRatio():m=this.keepRatio()||t.shiftKey;var y=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(m){var v=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};i=Math.sqrt(Math.pow(v.x-o.x(),2)+Math.pow(v.y-o.y(),2));var x=this.findOne(".top-left").x()>v.x?-1:1,_=this.findOne(".top-left").y()>v.y?-1:1;n=i*this.cos*x,r=i*this.sin*_,this.findOne(".top-left").x(v.x-n),this.findOne(".top-left").y(v.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(o.y());else if(this._movingAnchorName==="top-right"){if(m){var v=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};i=Math.sqrt(Math.pow(o.x()-v.x,2)+Math.pow(v.y-o.y(),2));var x=this.findOne(".top-right").x()v.y?-1:1;n=i*this.cos*x,r=i*this.sin*_,this.findOne(".top-right").x(v.x+n),this.findOne(".top-right").y(v.y-r)}var b=o.position();this.findOne(".top-left").y(b.y),this.findOne(".bottom-right").x(b.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(o.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(o.x());else if(this._movingAnchorName==="bottom-left"){if(m){var v=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};i=Math.sqrt(Math.pow(v.x-o.x(),2)+Math.pow(o.y()-v.y,2));var x=v.x{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(zt.Util._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(zt.Util._inRange(t.height,-this.padding()*2-i,i)){this.update();return}const o=this.flipEnabled();var s=new zt.Transform;if(s.rotate($o.Konva.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const f=s.point({x:-this.padding()*2,y:0});if(t.x+=f.x,t.y+=f.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,!o){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const f=s.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.width+=this.padding()*2,!o){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const f=s.point({x:0,y:-this.padding()*2});if(t.x+=f.x,t.y+=f.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.height+=this.padding()*2,!o){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const f=s.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.height+=this.padding()*2,!o){this.update();return}}if(this.boundBoxFunc()){const f=this.boundBoxFunc()(r,t);f?t=f:zt.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const a=1e7,l=new zt.Transform;l.translate(r.x,r.y),l.rotate(r.rotation),l.scale(r.width/a,r.height/a);const u=new zt.Transform;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/a,t.height/a);const d=u.multiply(l.invert());this._nodes.forEach(f=>{var p;const g=f.getParent().getAbsoluteTransform(),m=f.getTransform().copy();m.translate(f.offsetX(),f.offsetY());const v=new zt.Transform;v.multiply(g.copy().invert()).multiply(d).multiply(g).multiply(m);const x=v.decompose();f.setAttrs(x),this._fire("transform",{evt:n,target:f}),f._fire("transform",{evt:n,target:f}),(p=f.getLayer())===null||p===void 0||p.batchDraw()}),this.rotation(zt.Util._getRotation(t.rotation)),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(t,n){this.findOne(t).setAttrs(n)}update(){var t,n=this._getNodeRect();this.rotation(zt.Util._getRotation(n.rotation));var r=n.width,i=n.height,o=this.enabledAnchors(),s=this.resizeEnabled(),a=this.padding(),l=this.anchorSize();const u=this.find("._anchor");u.forEach(f=>{f.setAttrs({width:l,height:l,offsetX:l/2,offsetY:l/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:l/2+a,offsetY:l/2+a,visible:s&&o.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:l/2+a,visible:s&&o.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:l/2-a,offsetY:l/2+a,visible:s&&o.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:l/2+a,visible:s&&o.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:i/2,offsetX:l/2-a,visible:s&&o.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:l/2+a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:i,offsetY:l/2-a,visible:s&&o.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:i,offsetX:l/2-a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*zt.Util._sign(i)-a,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:r,height:i,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0});const d=this.anchorStyleFunc();d&&u.forEach(f=>{d(f)}),(t=this.getLayer())===null||t===void 0||t.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var t=this.findOne("."+this._movingAnchorName);t&&t.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),ok.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return ik.Node.prototype.toObject.call(this)}clone(t){var n=ik.Node.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}TS.Transformer=Ct;function xwe(e){return e instanceof Array||zt.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){e_.indexOf(t)===-1&&zt.Util.warn("Unknown anchor name: "+t+". Available names are: "+e_.join(", "))}),e||[]}Ct.prototype.className="Transformer";(0,pwe._registerNode)(Ct);Ft.Factory.addGetterSetter(Ct,"enabledAnchors",e_,xwe);Ft.Factory.addGetterSetter(Ct,"flipEnabled",!0,(0,lu.getBooleanValidator)());Ft.Factory.addGetterSetter(Ct,"resizeEnabled",!0);Ft.Factory.addGetterSetter(Ct,"anchorSize",10,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"rotateEnabled",!0);Ft.Factory.addGetterSetter(Ct,"rotationSnaps",[]);Ft.Factory.addGetterSetter(Ct,"rotateAnchorOffset",50,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"rotationSnapTolerance",5,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"borderEnabled",!0);Ft.Factory.addGetterSetter(Ct,"anchorStroke","rgb(0, 161, 255)");Ft.Factory.addGetterSetter(Ct,"anchorStrokeWidth",1,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"anchorFill","white");Ft.Factory.addGetterSetter(Ct,"anchorCornerRadius",0,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"borderStroke","rgb(0, 161, 255)");Ft.Factory.addGetterSetter(Ct,"borderStrokeWidth",1,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"borderDash");Ft.Factory.addGetterSetter(Ct,"keepRatio",!0);Ft.Factory.addGetterSetter(Ct,"shiftBehavior","default");Ft.Factory.addGetterSetter(Ct,"centeredScaling",!1);Ft.Factory.addGetterSetter(Ct,"ignoreStroke",!1);Ft.Factory.addGetterSetter(Ct,"padding",0,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"node");Ft.Factory.addGetterSetter(Ct,"nodes");Ft.Factory.addGetterSetter(Ct,"boundBoxFunc");Ft.Factory.addGetterSetter(Ct,"anchorDragBoundFunc");Ft.Factory.addGetterSetter(Ct,"anchorStyleFunc");Ft.Factory.addGetterSetter(Ct,"shouldOverdrawWholeArea",!1);Ft.Factory.addGetterSetter(Ct,"useSingleNodeRotation",!0);Ft.Factory.backCompat(Ct,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var ES={};Object.defineProperty(ES,"__esModule",{value:!0});ES.Wedge=void 0;const AS=nt,Cwe=rr,Twe=rt,xz=ke,Ewe=rt;class za extends Cwe.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,Twe.Konva.getAngle(this.angle()),this.clockwise()),t.lineTo(0,0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}ES.Wedge=za;za.prototype.className="Wedge";za.prototype._centroid=!0;za.prototype._attrsAffectingSize=["radius"];(0,Ewe._registerNode)(za);AS.Factory.addGetterSetter(za,"radius",0,(0,xz.getNumberValidator)());AS.Factory.addGetterSetter(za,"angle",0,(0,xz.getNumberValidator)());AS.Factory.addGetterSetter(za,"clockwise",!1);AS.Factory.backCompat(za,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var PS={};Object.defineProperty(PS,"__esModule",{value:!0});PS.Blur=void 0;const lk=nt,Awe=fn,Pwe=ke;function uk(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var Rwe=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],Owe=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function kwe(e,t){var n=e.data,r=e.width,i=e.height,o,s,a,l,u,d,f,p,g,m,v,x,_,b,y,S,C,T,E,P,k,O,M,G,U=t+t+1,A=r-1,N=i-1,F=t+1,B=F*(F+1)/2,D=new uk,V=null,j=D,q=null,Z=null,ee=Rwe[t],ie=Owe[t];for(a=1;a>ie,M!==0?(M=255/M,n[d]=(p*ee>>ie)*M,n[d+1]=(g*ee>>ie)*M,n[d+2]=(m*ee>>ie)*M):n[d]=n[d+1]=n[d+2]=0,p-=x,g-=_,m-=b,v-=y,x-=q.r,_-=q.g,b-=q.b,y-=q.a,l=f+((l=o+t+1)>ie,M>0?(M=255/M,n[l]=(p*ee>>ie)*M,n[l+1]=(g*ee>>ie)*M,n[l+2]=(m*ee>>ie)*M):n[l]=n[l+1]=n[l+2]=0,p-=x,g-=_,m-=b,v-=y,x-=q.r,_-=q.g,b-=q.b,y-=q.a,l=o+((l=s+F)0&&kwe(t,n)};PS.Blur=Iwe;lk.Factory.addGetterSetter(Awe.Node,"blurRadius",0,(0,Pwe.getNumberValidator)(),lk.Factory.afterSetFilter);var RS={};Object.defineProperty(RS,"__esModule",{value:!0});RS.Brighten=void 0;const ck=nt,Mwe=fn,Nwe=ke,Lwe=function(e){var t=this.brightness()*255,n=e.data,r=n.length,i;for(i=0;i255?255:i,o=o<0?0:o>255?255:o,s=s<0?0:s>255?255:s,n[a]=i,n[a+1]=o,n[a+2]=s};OS.Contrast=Fwe;dk.Factory.addGetterSetter(Dwe.Node,"contrast",0,(0,$we.getNumberValidator)(),dk.Factory.afterSetFilter);var kS={};Object.defineProperty(kS,"__esModule",{value:!0});kS.Emboss=void 0;const ql=nt,IS=fn,Bwe=Sn,Cz=ke,Uwe=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),o=0,s=0,a=e.data,l=e.width,u=e.height,d=l*4,f=u;switch(r){case"top-left":o=-1,s=-1;break;case"top":o=-1,s=0;break;case"top-right":o=-1,s=1;break;case"right":o=0,s=1;break;case"bottom-right":o=1,s=1;break;case"bottom":o=1,s=0;break;case"bottom-left":o=1,s=-1;break;case"left":o=0,s=-1;break;default:Bwe.Util.error("Unknown emboss direction: "+r)}do{var p=(f-1)*d,g=o;f+g<1&&(g=0),f+g>u&&(g=0);var m=(f-1+g)*l*4,v=l;do{var x=p+(v-1)*4,_=s;v+_<1&&(_=0),v+_>l&&(_=0);var b=m+(v-1+_)*4,y=a[x]-a[b],S=a[x+1]-a[b+1],C=a[x+2]-a[b+2],T=y,E=T>0?T:-T,P=S>0?S:-S,k=C>0?C:-C;if(P>E&&(T=S),k>E&&(T=C),T*=t,i){var O=a[x]+T,M=a[x+1]+T,G=a[x+2]+T;a[x]=O>255?255:O<0?0:O,a[x+1]=M>255?255:M<0?0:M,a[x+2]=G>255?255:G<0?0:G}else{var U=n-T;U<0?U=0:U>255&&(U=255),a[x]=a[x+1]=a[x+2]=U}}while(--v)}while(--f)};kS.Emboss=Uwe;ql.Factory.addGetterSetter(IS.Node,"embossStrength",.5,(0,Cz.getNumberValidator)(),ql.Factory.afterSetFilter);ql.Factory.addGetterSetter(IS.Node,"embossWhiteLevel",.5,(0,Cz.getNumberValidator)(),ql.Factory.afterSetFilter);ql.Factory.addGetterSetter(IS.Node,"embossDirection","top-left",null,ql.Factory.afterSetFilter);ql.Factory.addGetterSetter(IS.Node,"embossBlend",!1,null,ql.Factory.afterSetFilter);var MS={};Object.defineProperty(MS,"__esModule",{value:!0});MS.Enhance=void 0;const fk=nt,zwe=fn,Vwe=ke;function Gx(e,t,n,r,i){var o=n-t,s=i-r,a;return o===0?r+s/2:s===0?r:(a=(e-t)/o,a=s*a+r,a)}const jwe=function(e){var t=e.data,n=t.length,r=t[0],i=r,o,s=t[1],a=s,l,u=t[2],d=u,f,p,g=this.enhance();if(g!==0){for(p=0;pi&&(i=o),l=t[p+1],la&&(a=l),f=t[p+2],fd&&(d=f);i===r&&(i=255,r=0),a===s&&(a=255,s=0),d===u&&(d=255,u=0);var m,v,x,_,b,y,S,C,T;for(g>0?(v=i+g*(255-i),x=r-g*(r-0),b=a+g*(255-a),y=s-g*(s-0),C=d+g*(255-d),T=u-g*(u-0)):(m=(i+r)*.5,v=i+g*(i-m),x=r+g*(r-m),_=(a+s)*.5,b=a+g*(a-_),y=s+g*(s-_),S=(d+u)*.5,C=d+g*(d-S),T=u+g*(u-S)),p=0;p_?x:_;var b=s,y=o,S,C,T=360/y*Math.PI/180,E,P;for(C=0;Cy?b:y;var S=s,C=o,T,E,P=n.polarRotation||0,k,O;for(d=0;dt&&(S=y,C=0,T=-1),i=0;i=0&&g=0&&m=0&&g=0&&m=255*4?255:0}return s}function ixe(e,t,n){for(var r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],i=Math.round(Math.sqrt(r.length)),o=Math.floor(i/2),s=[],a=0;a=0&&g=0&&m=n))for(o=v;o=r||(s=(n*o+i)*4,a+=S[s+0],l+=S[s+1],u+=S[s+2],d+=S[s+3],y+=1);for(a=a/y,l=l/y,u=u/y,d=d/y,i=g;i=n))for(o=v;o=r||(s=(n*o+i)*4,S[s+0]=a,S[s+1]=l,S[s+2]=u,S[s+3]=d)}};zS.Pixelate=fxe;mk.Factory.addGetterSetter(cxe.Node,"pixelSize",8,(0,dxe.getNumberValidator)(),mk.Factory.afterSetFilter);var VS={};Object.defineProperty(VS,"__esModule",{value:!0});VS.Posterize=void 0;const yk=nt,hxe=fn,pxe=ke,gxe=function(e){var t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,i=255/t,o;for(o=0;o255?255:e<0?0:Math.round(e)});n_.Factory.addGetterSetter(IE.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});n_.Factory.addGetterSetter(IE.Node,"blue",0,mxe.RGBComponent,n_.Factory.afterSetFilter);var GS={};Object.defineProperty(GS,"__esModule",{value:!0});GS.RGBA=void 0;const Dg=nt,HS=fn,vxe=ke,_xe=function(e){var t=e.data,n=t.length,r=this.red(),i=this.green(),o=this.blue(),s=this.alpha(),a,l;for(a=0;a255?255:e<0?0:Math.round(e)});Dg.Factory.addGetterSetter(HS.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Dg.Factory.addGetterSetter(HS.Node,"blue",0,vxe.RGBComponent,Dg.Factory.afterSetFilter);Dg.Factory.addGetterSetter(HS.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var WS={};Object.defineProperty(WS,"__esModule",{value:!0});WS.Sepia=void 0;const bxe=function(e){var t=e.data,n=t.length,r,i,o,s;for(r=0;r127&&(u=255-u),d>127&&(d=255-d),f>127&&(f=255-f),t[l]=u,t[l+1]=d,t[l+2]=f}while(--a)}while(--o)};qS.Solarize=Sxe;var KS={};Object.defineProperty(KS,"__esModule",{value:!0});KS.Threshold=void 0;const vk=nt,wxe=fn,xxe=ke,Cxe=function(e){var t=this.threshold()*255,n=e.data,r=n.length,i;for(i=0;i{const{width:r,height:i}=t,o=document.createElement("div"),s=new tp.Stage({container:o,width:r,height:i}),a=new tp.Layer,l=new tp.Layer;return a.add(new tp.Rect({...t,fill:n?"black":"white"})),e.forEach(u=>l.add(new tp.Line({points:u.points,stroke:n?"white":"black",strokeWidth:u.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,globalCompositeOperation:u.tool==="brush"?"source-over":"destination-out"}))),s.add(a),s.add(l),o.remove(),s},cCe=async(e,t,n)=>new Promise((r,i)=>{const o=document.createElement("canvas");o.width=t,o.height=n;const s=o.getContext("2d"),a=new Image;if(!s){o.remove(),i("Unable to get context");return}a.onload=function(){s.drawImage(a,0,0),o.remove(),r(s.getImageData(0,0,t,n))},a.src=e}),Sk=async(e,t)=>{const n=e.toDataURL(t);return await cCe(n,t.width,t.height)},dCe=async(e,t,n,r,i)=>{const o=Ie("canvas"),s=nS(),a=x_e();if(!s||!a){o.error("Unable to find canvas / stage");return}const l={...t,...n},u=s.clone();u.scale({x:1,y:1});const d=u.getAbsolutePosition(),f={x:l.x+d.x,y:l.y+d.y,width:l.width,height:l.height},p=await Q1(u,f),g=await Sk(u,f),m=await uCe(r?e.objects.filter(o$):[],l,i),v=await Q1(m,l),x=await Sk(m,l);return{baseBlob:p,baseImageData:g,maskBlob:v,maskImageData:x}},fCe=e=>{let t=!0,n=!1;const r=e.length;let i=3;for(i;i{const t=e.length;let n=0;for(n;n{const{isPartiallyTransparent:n,isFullyTransparent:r}=fCe(e.data),i=hCe(t.data);return n?r?"txt2img":"outpaint":i?"inpaint":"img2img"},gCe=e=>ID(e,n=>n.isEnabled&&(!!n.processedControlImage||n.processorType==="none"&&!!n.controlImage)),XS=(e,t,n)=>{const{isEnabled:r,controlNets:i}=e.controlNet,o=gCe(i),s=t.nodes[Ot];if(r&&o.length&&o.length){const a={id:O0,type:"collect",is_intermediate:!0};t.nodes[O0]=a,t.edges.push({source:{node_id:O0,field:"collection"},destination:{node_id:n,field:"control"}}),o.forEach(l=>{const{controlNetId:u,controlImage:d,processedControlImage:f,beginStepPct:p,endStepPct:g,controlMode:m,resizeMode:v,model:x,processorType:_,weight:b}=l,y={id:`control_net_${u}`,type:"controlnet",is_intermediate:!0,begin_step_percent:p,end_step_percent:g,control_mode:m,resize_mode:v,control_model:x,control_weight:b};if(f&&_!=="none")y.image={image_name:f};else if(d)y.image={image_name:d};else return;if(t.nodes[y.id]=y,s){const S=rb(y,["id","type"]);s.controlnets.push(S)}t.edges.push({source:{node_id:y.id,field:"control"},destination:{node_id:O0,field:"item"}})})}},qf=(e,t)=>{const{positivePrompt:n,iterations:r,seed:i,shouldRandomizeSeed:o}=e.generation,{combinatorial:s,isEnabled:a,maxPrompts:l}=e.dynamicPrompts,u=t.nodes[Ot];if(a){ile(t.nodes[gt],"prompt");const d={id:Nx,type:"dynamic_prompt",is_intermediate:!0,max_prompts:s?l:r,combinatorial:s,prompt:n},f={id:vi,type:"iterate",is_intermediate:!0};if(t.nodes[Nx]=d,t.nodes[vi]=f,t.edges.push({source:{node_id:Nx,field:"prompt_collection"},destination:{node_id:vi,field:"collection"}},{source:{node_id:vi,field:"item"},destination:{node_id:gt,field:"prompt"}}),u&&t.edges.push({source:{node_id:vi,field:"item"},destination:{node_id:Ot,field:"positive_prompt"}}),o){const p={id:ms,type:"rand_int",is_intermediate:!0};t.nodes[ms]=p,t.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:yt,field:"seed"}}),u&&t.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:Ot,field:"seed"}})}else t.nodes[yt].seed=i,u&&(u.seed=i)}else{u&&(u.positive_prompt=n);const d={id:ha,type:"range_of_size",is_intermediate:!0,size:r,step:1},f={id:vi,type:"iterate",is_intermediate:!0};if(t.nodes[vi]=f,t.nodes[ha]=d,t.edges.push({source:{node_id:ha,field:"collection"},destination:{node_id:vi,field:"collection"}}),t.edges.push({source:{node_id:vi,field:"item"},destination:{node_id:yt,field:"seed"}}),u&&t.edges.push({source:{node_id:vi,field:"item"},destination:{node_id:Ot,field:"seed"}}),o){const p={id:ms,type:"rand_int",is_intermediate:!0};t.nodes[ms]=p,t.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:ha,field:"start"}})}else d.start=i}},Im=(e,t,n,r=Gr)=>{const{loras:i}=e.lora,o=bT(i),s=t.nodes[Ot];o>0&&(t.edges=t.edges.filter(u=>!(u.source.node_id===r&&["unet"].includes(u.source.field))),t.edges=t.edges.filter(u=>!(u.source.node_id===qt&&["clip"].includes(u.source.field))));let a="",l=0;tc(i,u=>{const{model_name:d,base_model:f,weight:p}=u,g=`${GU}_${d.replace(".","_")}`,m={type:"lora_loader",id:g,is_intermediate:!0,lora:{model_name:d,base_model:f},weight:p};s&&s.loras.push({lora:{model_name:d,base_model:f},weight:p}),t.nodes[g]=m,l===0?(t.edges.push({source:{node_id:r,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:qt,field:"clip"},destination:{node_id:g,field:"clip"}})):(t.edges.push({source:{node_id:a,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:a,field:"clip"},destination:{node_id:g,field:"clip"}})),l===o-1&&(t.edges.push({source:{node_id:g,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:gt,field:"clip"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:_t,field:"clip"}})),a=g,l+=1})},Az=si(e=>e.ui,e=>e$[e.activeTab],{memoizeOptions:{equalityCheck:nb}}),iMe=si(e=>e.ui,e=>e.activeTab,{memoizeOptions:{equalityCheck:nb}}),oMe=si(e=>e.ui,e=>e,{memoizeOptions:{equalityCheck:nb}}),Ec=(e,t,n=Rt)=>{const i=Az(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[Ot];if(!o)return;o.is_intermediate=!0;const a={id:Dd,type:"img_nsfw",is_intermediate:i};t.nodes[Dd]=a,t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:Dd,field:"image"}}),s&&t.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Dd,field:"metadata"}})},Mm=(e,t,n=Gr)=>{const{vae:r}=e.generation,i=!r,o=t.nodes[Ot];i||(t.nodes[Qh]={type:"vae_loader",id:Qh,is_intermediate:!0,vae_model:r});const s=n==mE;(t.id===yE||t.id===Z1)&&t.edges.push({source:{node_id:i?n:Qh,field:i&&s?"vae_decoder":"vae"},destination:{node_id:Rt,field:"vae"}}),t.id===Z1&&t.edges.push({source:{node_id:i?n:Qh,field:i&&s?"vae_decoder":"vae"},destination:{node_id:un,field:"vae"}}),t.id===HU&&t.edges.push({source:{node_id:i?n:Qh,field:i&&s?"vae_decoder":"vae"},destination:{node_id:fs,field:"vae"}}),r&&o&&(o.vae=r)},Ac=(e,t,n=Rt)=>{const i=Az(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[Dd],a=t.nodes[Ot];if(!o)return;const l={id:Yh,type:"img_watermark",is_intermediate:i};t.nodes[Yh]=l,o.is_intermediate=!0,s?(s.is_intermediate=!0,t.edges.push({source:{node_id:Dd,field:"image"},destination:{node_id:Yh,field:"image"}})):t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:Yh,field:"image"}}),a&&t.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Yh,field:"metadata"}})},mCe=(e,t)=>{const n=Ie("nodes"),{positivePrompt:r,negativePrompt:i,model:o,cfgScale:s,scheduler:a,steps:l,img2imgStrength:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:p}=e.generation,{width:g,height:m}=e.canvas.boundingBoxDimensions,{shouldAutoSave:v}=e.canvas;if(!o)throw n.error("No model found in state"),new Error("No model found in state");const x=p?f:Da.shouldUseCpuNoise,_={id:Z1,nodes:{[gt]:{type:"compel",id:gt,is_intermediate:!0,prompt:r},[_t]:{type:"compel",id:_t,is_intermediate:!0,prompt:i},[yt]:{type:"noise",id:yt,is_intermediate:!0,use_cpu:x},[Gr]:{type:"main_model_loader",id:Gr,is_intermediate:!0,model:o},[qt]:{type:"clip_skip",id:qt,is_intermediate:!0,skipped_layers:d},[Un]:{type:"l2l",id:Un,is_intermediate:!0,cfg_scale:s,scheduler:a,steps:l,strength:u},[un]:{type:"i2l",id:un,is_intermediate:!0},[Rt]:{type:"l2i",id:Rt,is_intermediate:!v}},edges:[{source:{node_id:Gr,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:Un,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:un,field:"latents"},destination:{node_id:Un,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:Un,field:"noise"}},{source:{node_id:Gr,field:"unet"},destination:{node_id:Un,field:"unet"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:Un,field:"negative_conditioning"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:Un,field:"positive_conditioning"}}]};if(t.width!==g||t.height!==m){const b={id:ii,type:"img_resize",image:{image_name:t.image_name},is_intermediate:!0,width:g,height:m};_.nodes[ii]=b,_.edges.push({source:{node_id:ii,field:"image"},destination:{node_id:un,field:"image"}}),_.edges.push({source:{node_id:ii,field:"width"},destination:{node_id:yt,field:"width"}}),_.edges.push({source:{node_id:ii,field:"height"},destination:{node_id:yt,field:"height"}})}else _.nodes[un].image={image_name:t.image_name},_.edges.push({source:{node_id:un,field:"width"},destination:{node_id:yt,field:"width"}}),_.edges.push({source:{node_id:un,field:"height"},destination:{node_id:yt,field:"height"}});return _.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:s,height:m,width:g,positive_prompt:"",negative_prompt:i,model:o,seed:0,steps:l,rand_device:x?"cpu":"cuda",scheduler:a,vae:void 0,controlnets:[],loras:[],clip_skip:d,strength:u,init_image:t.image_name},_.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,_,Un),Mm(e,_),qf(e,_),XS(e,_,Un),e.system.shouldUseNSFWChecker&&Ec(e,_),e.system.shouldUseWatermarker&&Ac(e,_),_},yCe=(e,t,n)=>{const r=Ie("nodes"),{positivePrompt:i,negativePrompt:o,model:s,cfgScale:a,scheduler:l,steps:u,img2imgStrength:d,shouldFitToWidthHeight:f,iterations:p,seed:g,shouldRandomizeSeed:m,seamSize:v,seamBlur:x,seamSteps:_,seamStrength:b,tileSize:y,infillMethod:S,clipSkip:C}=e.generation;if(!s)throw r.error("No model found in state"),new Error("No model found in state");const{width:T,height:E}=e.canvas.boundingBoxDimensions,{scaledBoundingBoxDimensions:P,boundingBoxScaleMethod:k,shouldAutoSave:O}=e.canvas,M={id:HU,nodes:{[fs]:{is_intermediate:!O,type:"inpaint",id:fs,steps:u,width:T,height:E,cfg_scale:a,scheduler:l,image:{image_name:t.image_name},strength:d,fit:f,mask:{image_name:n.image_name},seam_size:v,seam_blur:x,seam_strength:b,seam_steps:_,tile_size:S==="tile"?y:void 0,infill_method:S,inpaint_width:k!=="none"?P.width:void 0,inpaint_height:k!=="none"?P.height:void 0},[gt]:{type:"compel",id:gt,is_intermediate:!0,prompt:i},[_t]:{type:"compel",id:_t,is_intermediate:!0,prompt:o},[Gr]:{type:"main_model_loader",id:Gr,is_intermediate:!0,model:s},[qt]:{type:"clip_skip",id:qt,is_intermediate:!0,skipped_layers:C},[ha]:{type:"range_of_size",id:ha,is_intermediate:!0,size:p,step:1},[vi]:{type:"iterate",id:vi,is_intermediate:!0}},edges:[{source:{node_id:Gr,field:"unet"},destination:{node_id:fs,field:"unet"}},{source:{node_id:Gr,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:fs,field:"negative_conditioning"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:fs,field:"positive_conditioning"}},{source:{node_id:ha,field:"collection"},destination:{node_id:vi,field:"collection"}},{source:{node_id:vi,field:"item"},destination:{node_id:fs,field:"seed"}}]};if(Im(e,M,fs),Mm(e,M),m){const G={id:ms,type:"rand_int"};M.nodes[ms]=G,M.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:ha,field:"start"}})}else M.nodes[ha].start=g;return e.system.shouldUseNSFWChecker&&Ec(e,M,fs),e.system.shouldUseWatermarker&&Ac(e,M,fs),M},vCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,clipSkip:l,shouldUseCpuNoise:u,shouldUseNoiseSettings:d}=e.generation,{width:f,height:p}=e.canvas.boundingBoxDimensions,{shouldAutoSave:g}=e.canvas;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const m=d?u:Da.shouldUseCpuNoise,v=i.model_type==="onnx",x=v?mE:Gr,_=v?"onnx_model_loader":"main_model_loader",b=v?{type:"t2l_onnx",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a}:{type:"t2l",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a},y={id:yE,nodes:{[gt]:{type:v?"prompt_onnx":"compel",id:gt,is_intermediate:!0,prompt:n},[_t]:{type:v?"prompt_onnx":"compel",id:_t,is_intermediate:!0,prompt:r},[yt]:{type:"noise",id:yt,is_intermediate:!0,width:f,height:p,use_cpu:m},[b.id]:b,[x]:{type:_,id:x,is_intermediate:!0,model:i},[qt]:{type:"clip_skip",id:qt,is_intermediate:!0,skipped_layers:l},[Rt]:{type:v?"l2i_onnx":"l2i",id:Rt,is_intermediate:!g}},edges:[{source:{node_id:_t,field:"conditioning"},destination:{node_id:cr,field:"negative_conditioning"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:cr,field:"positive_conditioning"}},{source:{node_id:x,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:x,field:"unet"},destination:{node_id:cr,field:"unet"}},{source:{node_id:cr,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:cr,field:"noise"}}]};return y.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:p,width:f,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:m?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:l},y.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,y,cr,x),Mm(e,y,x),qf(e,y),XS(e,y,cr),e.system.shouldUseNSFWChecker&&Ec(e,y),e.system.shouldUseWatermarker&&Ac(e,y),y},_Ce=(e,t,n,r)=>{let i;if(t==="txt2img")i=vCe(e);else if(t==="img2img"){if(!n)throw new Error("Missing canvas init image");i=mCe(e,n)}else{if(!n||!r)throw new Error("Missing canvas init and mask images");i=yCe(e,n,r)}return i},bCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="unifiedCanvas",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),{layerState:s,boundingBoxCoordinates:a,boundingBoxDimensions:l,isMaskEnabled:u,shouldPreserveMaskedArea:d}=o.canvas,f=await dCe(s,a,l,u,d);if(!f){i.error("Unable to create canvas data");return}const{baseBlob:p,baseImageData:g,maskBlob:m,maskImageData:v}=f,x=pCe(g,v);if(o.system.enableImageDebugging){const E=await UO(p),P=await UO(m);cSe([{base64:P,caption:"mask b64"},{base64:E,caption:"image b64"}])}i.debug(`Generation mode: ${x}`);let _,b;["img2img","inpaint","outpaint"].includes(x)&&(_=await n(Se.endpoints.uploadImage.initiate({file:new File([p],"canvasInitImage.png",{type:"image/png"}),image_category:"general",is_intermediate:!0})).unwrap()),["inpaint","outpaint"].includes(x)&&(b=await n(Se.endpoints.uploadImage.initiate({file:new File([m],"canvasMaskImage.png",{type:"image/png"}),image_category:"mask",is_intermediate:!0})).unwrap());const y=_Ce(o,x,_,b);i.debug({graph:$a(y)},"Canvas graph built"),n(NU(y));const{requestId:S}=n(Ir({graph:y})),[C]=await r(E=>Ir.fulfilled.match(E)&&E.meta.requestId===S),T=C.payload.id;["img2img","inpaint"].includes(x)&&_&&n(Se.endpoints.changeImageSessionId.initiate({imageDTO:_,session_id:T})),["inpaint"].includes(x)&&b&&n(Se.endpoints.changeImageSessionId.initiate({imageDTO:b,session_id:T})),o.canvas.layerState.stagingArea.boundingBox||n(Wue({sessionId:T,boundingBox:{...o.canvas.boundingBoxCoordinates,...o.canvas.boundingBoxDimensions}})),n(que(T)),n(yc())}})},SCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,img2imgStrength:u,shouldFitToWidthHeight:d,width:f,height:p,clipSkip:g,shouldUseCpuNoise:m,shouldUseNoiseSettings:v,vaePrecision:x}=e.generation;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const _=v?m:Da.shouldUseCpuNoise,b={id:Z1,nodes:{[Gr]:{type:"main_model_loader",id:Gr,model:i},[qt]:{type:"clip_skip",id:qt,skipped_layers:g},[gt]:{type:"compel",id:gt,prompt:n},[_t]:{type:"compel",id:_t,prompt:r},[yt]:{type:"noise",id:yt,use_cpu:_},[Rt]:{type:"l2i",id:Rt,fp32:x==="fp32"},[Un]:{type:"l2l",id:Un,cfg_scale:o,scheduler:s,steps:a,strength:u},[un]:{type:"i2l",id:un,fp32:x==="fp32"}},edges:[{source:{node_id:Gr,field:"unet"},destination:{node_id:Un,field:"unet"}},{source:{node_id:Gr,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:Un,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:un,field:"latents"},destination:{node_id:Un,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:Un,field:"noise"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:Un,field:"negative_conditioning"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:Un,field:"positive_conditioning"}}]};if(d&&(l.width!==f||l.height!==p)){const y={id:ii,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:f,height:p};b.nodes[ii]=y,b.edges.push({source:{node_id:ii,field:"image"},destination:{node_id:un,field:"image"}}),b.edges.push({source:{node_id:ii,field:"width"},destination:{node_id:yt,field:"width"}}),b.edges.push({source:{node_id:ii,field:"height"},destination:{node_id:yt,field:"height"}})}else b.nodes[un].image={image_name:l.imageName},b.edges.push({source:{node_id:un,field:"width"},destination:{node_id:yt,field:"width"}}),b.edges.push({source:{node_id:un,field:"height"},destination:{node_id:yt,field:"height"}});return b.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:o,height:p,width:f,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:_?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:g,strength:u,init_image:l.imageName},b.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,b,Un),Mm(e,b),qf(e,b),XS(e,b,Un),e.system.shouldUseNSFWChecker&&Ec(e,b),e.system.shouldUseWatermarker&&Ac(e,b),b},Pz=(e,t,n)=>{const{positivePrompt:r,negativePrompt:i}=e.generation,{refinerModel:o,refinerAestheticScore:s,positiveStylePrompt:a,negativeStylePrompt:l,refinerSteps:u,refinerScheduler:d,refinerCFGScale:f,refinerStart:p}=e.sdxl;if(!o)return;const g=t.nodes[Ot];g&&(g.refiner_model=o,g.refiner_aesthetic_store=s,g.refiner_cfg_scale=f,g.refiner_scheduler=d,g.refiner_start=p,g.refiner_steps=u),t.edges=t.edges.filter(m=>!(m.source.node_id===n&&["latents"].includes(m.source.field))),t.edges=t.edges.filter(m=>!(m.source.node_id===Cn&&["vae"].includes(m.source.field))),n===Do&&t.edges.push({source:{node_id:Cn,field:"vae"},destination:{node_id:un,field:"vae"}}),t.nodes[fd]={type:"sdxl_refiner_model_loader",id:fd,model:o},t.nodes[k0]={type:"sdxl_refiner_compel_prompt",id:k0,style:`${r} ${a}`,aesthetic_score:s},t.nodes[I0]={type:"sdxl_refiner_compel_prompt",id:I0,style:`${i} ${l}`,aesthetic_score:s},t.nodes[Su]={type:"l2l_sdxl",id:Su,cfg_scale:f,steps:u/(1-Math.min(p,.99)),scheduler:d,denoising_start:p,denoising_end:1},t.edges.push({source:{node_id:fd,field:"unet"},destination:{node_id:Su,field:"unet"}},{source:{node_id:fd,field:"vae"},destination:{node_id:Rt,field:"vae"}},{source:{node_id:fd,field:"clip2"},destination:{node_id:k0,field:"clip2"}},{source:{node_id:fd,field:"clip2"},destination:{node_id:I0,field:"clip2"}},{source:{node_id:k0,field:"conditioning"},destination:{node_id:Su,field:"positive_conditioning"}},{source:{node_id:I0,field:"conditioning"},destination:{node_id:Su,field:"negative_conditioning"}},{source:{node_id:n,field:"latents"},destination:{node_id:Su,field:"latents"}},{source:{node_id:Su,field:"latents"},destination:{node_id:Rt,field:"latents"}})},Rz=(e,t,n,r=Cn)=>{const{loras:i}=e.lora,o=bT(i),s=t.nodes[Ot];o>0&&(t.edges=t.edges.filter(u=>!(u.source.node_id===r&&["unet"].includes(u.source.field))&&!(u.source.node_id===r&&["clip"].includes(u.source.field))&&!(u.source.node_id===r&&["clip2"].includes(u.source.field))));let a="",l=0;tc(i,u=>{const{model_name:d,base_model:f,weight:p}=u,g=`${GU}_${d.replace(".","_")}`,m={type:"sdxl_lora_loader",id:g,is_intermediate:!0,lora:{model_name:d,base_model:f},weight:p};s&&s.loras.push({lora:{model_name:d,base_model:f},weight:p}),t.nodes[g]=m,l===0?(t.edges.push({source:{node_id:r,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:r,field:"clip"},destination:{node_id:g,field:"clip"}}),t.edges.push({source:{node_id:r,field:"clip2"},destination:{node_id:g,field:"clip2"}})):(t.edges.push({source:{node_id:a,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:a,field:"clip"},destination:{node_id:g,field:"clip"}}),t.edges.push({source:{node_id:a,field:"clip2"},destination:{node_id:g,field:"clip2"}})),l===o-1&&(t.edges.push({source:{node_id:g,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:gt,field:"clip"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:_t,field:"clip"}}),t.edges.push({source:{node_id:g,field:"clip2"},destination:{node_id:gt,field:"clip2"}}),t.edges.push({source:{node_id:g,field:"clip2"},destination:{node_id:_t,field:"clip2"}})),a=g,l+=1})},wCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,shouldFitToWidthHeight:u,width:d,height:f,clipSkip:p,shouldUseCpuNoise:g,shouldUseNoiseSettings:m,vaePrecision:v}=e.generation,{positiveStylePrompt:x,negativeStylePrompt:_,shouldConcatSDXLStylePrompt:b,shouldUseSDXLRefiner:y,refinerStart:S,sdxlImg2ImgDenoisingStrength:C}=e.sdxl;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const T=m?g:Da.shouldUseCpuNoise,E={id:sSe,nodes:{[Cn]:{type:"sdxl_model_loader",id:Cn,model:i},[gt]:{type:"sdxl_compel_prompt",id:gt,prompt:n,style:b?`${n} ${x}`:x},[_t]:{type:"sdxl_compel_prompt",id:_t,prompt:r,style:b?`${r} ${_}`:_},[yt]:{type:"noise",id:yt,use_cpu:T},[Rt]:{type:"l2i",id:Rt,fp32:v==="fp32"},[Do]:{type:"l2l_sdxl",id:Do,cfg_scale:o,scheduler:s,steps:a,denoising_start:y?Math.min(S,1-C):1-C,denoising_end:y?S:1},[un]:{type:"i2l",id:un,fp32:v==="fp32"}},edges:[{source:{node_id:Cn,field:"unet"},destination:{node_id:Do,field:"unet"}},{source:{node_id:Cn,field:"vae"},destination:{node_id:Rt,field:"vae"}},{source:{node_id:Cn,field:"vae"},destination:{node_id:un,field:"vae"}},{source:{node_id:Cn,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:Cn,field:"clip2"},destination:{node_id:gt,field:"clip2"}},{source:{node_id:Cn,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:Cn,field:"clip2"},destination:{node_id:_t,field:"clip2"}},{source:{node_id:Do,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:un,field:"latents"},destination:{node_id:Do,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:Do,field:"noise"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:Do,field:"positive_conditioning"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:Do,field:"negative_conditioning"}}]};if(u&&(l.width!==d||l.height!==f)){const P={id:ii,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:d,height:f};E.nodes[ii]=P,E.edges.push({source:{node_id:ii,field:"image"},destination:{node_id:un,field:"image"}}),E.edges.push({source:{node_id:ii,field:"width"},destination:{node_id:yt,field:"width"}}),E.edges.push({source:{node_id:ii,field:"height"},destination:{node_id:yt,field:"height"}})}else E.nodes[un].image={image_name:l.imageName},E.edges.push({source:{node_id:un,field:"width"},destination:{node_id:yt,field:"width"}}),E.edges.push({source:{node_id:un,field:"height"},destination:{node_id:yt,field:"height"}});return E.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"sdxl_img2img",cfg_scale:o,height:f,width:d,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:T?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:p,strength:C,init_image:l.imageName,positive_style_prompt:x,negative_style_prompt:_},E.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Rz(e,E,Do,Cn),y&&Pz(e,E,Do),qf(e,E),e.system.shouldUseNSFWChecker&&Ec(e,E),e.system.shouldUseWatermarker&&Ac(e,E),E},xCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="img2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=wCe(o):a=SCe(o),n(MU(a)),i.debug({graph:$a(a)},"Image to Image graph built"),n(Ir({graph:a})),await r(Ir.fulfilled.match),n(yc())}})};let B0;const CCe=new Uint8Array(16);function TCe(){if(!B0&&(B0=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!B0))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return B0(CCe)}const Er=[];for(let e=0;e<256;++e)Er.push((e+256).toString(16).slice(1));function ECe(e,t=0){return(Er[e[t+0]]+Er[e[t+1]]+Er[e[t+2]]+Er[e[t+3]]+"-"+Er[e[t+4]]+Er[e[t+5]]+"-"+Er[e[t+6]]+Er[e[t+7]]+"-"+Er[e[t+8]]+Er[e[t+9]]+"-"+Er[e[t+10]]+Er[e[t+11]]+Er[e[t+12]]+Er[e[t+13]]+Er[e[t+14]]+Er[e[t+15]]).toLowerCase()}const ACe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),wk={randomUUID:ACe};function PCe(e,t,n){if(wk.randomUUID&&!t&&!e)return wk.randomUUID();e=e||{};const r=e.random||(e.rng||TCe)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=r[i];return t}return ECe(r)}const RCe=e=>{if(e.type==="color"&&e.value){const t=Ur(e.value),{r:n,g:r,b:i,a:o}=e.value,s=Math.max(0,Math.min(o*255,255));return Object.assign(t,{r:n,g:r,b:i,a:s}),t}return e.value},OCe=e=>{const{nodes:t,edges:n}=e.nodes,i=t.filter(a=>a.type!=="progress_image").reduce((a,l)=>{const{id:u,data:d}=l,{type:f,inputs:p}=d,g=_T(p,(v,x,_)=>{const b=RCe(x);return v[_]=b,v},{}),m={type:f,id:u,...g};return Object.assign(a,{[u]:m}),a},{}),o=n.reduce((a,l)=>{const{source:u,target:d,sourceHandle:f,targetHandle:p}=l;return a.push({source:{node_id:u,field:f},destination:{node_id:d,field:p}}),a},[]);return o.forEach(a=>{const l=i[a.destination.node_id],u=a.destination.field;i[a.destination.node_id]=rb(l,u)}),{id:PCe(),nodes:i,edges:o}},kCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="nodes",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),s=OCe(o);n(LU(s)),i.debug({graph:$a(s)},"Nodes graph built"),n(Ir({graph:s})),await r(Ir.fulfilled.match),n(yc())}})},ICe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:p,vaePrecision:g}=e.generation,{positiveStylePrompt:m,negativeStylePrompt:v,shouldConcatSDXLStylePrompt:x,shouldUseSDXLRefiner:_,refinerStart:b}=e.sdxl,y=p?f:Da.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const S={id:oSe,nodes:{[Cn]:{type:"sdxl_model_loader",id:Cn,model:i},[gt]:{type:"sdxl_compel_prompt",id:gt,prompt:n,style:x?`${n} ${m}`:m},[_t]:{type:"sdxl_compel_prompt",id:_t,prompt:r,style:x?`${r} ${v}`:v},[yt]:{type:"noise",id:yt,width:l,height:u,use_cpu:y},[ra]:{type:"t2l_sdxl",id:ra,cfg_scale:o,scheduler:s,steps:a,denoising_end:_?b:1},[Rt]:{type:"l2i",id:Rt,fp32:g==="fp32"}},edges:[{source:{node_id:Cn,field:"unet"},destination:{node_id:ra,field:"unet"}},{source:{node_id:Cn,field:"vae"},destination:{node_id:Rt,field:"vae"}},{source:{node_id:Cn,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:Cn,field:"clip2"},destination:{node_id:gt,field:"clip2"}},{source:{node_id:Cn,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:Cn,field:"clip2"},destination:{node_id:_t,field:"clip2"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:ra,field:"positive_conditioning"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:ra,field:"negative_conditioning"}},{source:{node_id:yt,field:"noise"},destination:{node_id:ra,field:"noise"}},{source:{node_id:ra,field:"latents"},destination:{node_id:Rt,field:"latents"}}]};return S.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"sdxl_txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:y?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:d,positive_style_prompt:m,negative_style_prompt:v},S.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Rz(e,S,ra,Cn),_&&Pz(e,S,ra),qf(e,S),e.system.shouldUseNSFWChecker&&Ec(e,S),e.system.shouldUseWatermarker&&Ac(e,S),S},MCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:p,vaePrecision:g}=e.generation,m=p?f:Da.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const v=i.model_type==="onnx",x=v?mE:Gr,_=v?"onnx_model_loader":"main_model_loader",b=v?{type:"t2l_onnx",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a}:{type:"t2l",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a},y={id:yE,nodes:{[gt]:{type:v?"prompt_onnx":"compel",id:gt,prompt:n,is_intermediate:!0},[_t]:{type:v?"prompt_onnx":"compel",id:_t,prompt:r,is_intermediate:!0},[yt]:{type:"noise",id:yt,width:l,height:u,use_cpu:m,is_intermediate:!0},[b.id]:b,[x]:{type:_,id:x,is_intermediate:!0,model:i},[qt]:{type:"clip_skip",id:qt,skipped_layers:d,is_intermediate:!0},[Rt]:{type:v?"l2i_onnx":"l2i",id:Rt,fp32:g==="fp32"}},edges:[{source:{node_id:x,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:x,field:"unet"},destination:{node_id:cr,field:"unet"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:cr,field:"positive_conditioning"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:cr,field:"negative_conditioning"}},{source:{node_id:cr,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:cr,field:"noise"}}]};return y.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:m?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:d},y.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,y,cr,x),Mm(e,y,x),qf(e,y),XS(e,y,cr),e.system.shouldUseNSFWChecker&&Ec(e,y),e.system.shouldUseWatermarker&&Ac(e,y),y},NCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="txt2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=ICe(o):a=MCe(o),n(IU(a)),i.debug({graph:$a(a)},"Text to Image graph built"),n(Ir({graph:a})),await r(Ir.fulfilled.match),n(yc())}})},Oz=bL(),Pe=Oz.startListening;W_e();q_e();Y_e();$_e();F_e();B_e();U_e();z_e();m_e();H_e();bCe();kCe();NCe();xCe();Vbe();k_e();P_e();E_e();O_e();nSe();c_e();Hbe();Wbe();Kbe();Xbe();Qbe();jbe();Gbe();eSe();tSe();Zbe();Jbe();Ybe();Dbe();$be();Fbe();Bbe();Ube();zbe();Mbe();Nbe();Lbe();N_e();M_e();L_e();D_e();j_e();G_e();y_e();Abe();V_e();Q_e();p_e();J_e();f_e();d_e();uSe();iSe();const LCe={canvas:Kue,gallery:nfe,generation:Eue,nodes:Vve,postprocessing:jve,system:m1e,config:sle,ui:Pue,hotkeys:b1e,controlNet:Jde,dynamicPrompts:tfe,deleteImageModal:sfe,changeBoardModal:lfe,lora:cfe,modelmanager:_1e,sdxl:Wve,[Hl.reducerPath]:Hl.reducer},DCe=Ff(LCe),$Ce=H1e(DCe),FCe=["canvas","gallery","generation","sdxl","nodes","postprocessing","system","ui","controlNet","dynamicPrompts","lora","modelmanager"],BCe=eL({reducer:$Ce,enhancers:e=>e.concat(W1e(window.localStorage,FCe,{persistDebounce:300,serialize:r_e,unserialize:o_e,prefix:q1e})).concat(wL()),middleware:e=>e({immutableCheck:!1,serializableCheck:!1}).concat(Hl.middleware).concat(C1e).prepend(Oz.middleware),devTools:{actionSanitizer:a_e,stateSanitizer:u_e,trace:!0,predicate:(e,t)=>!l_e.includes(t.type)}}),sMe=e=>e,UCe=e=>{const{socket:t,storeApi:n}=e,{dispatch:r,getState:i}=n;t.on("connect",()=>{Ie("socketio").debug("Connected"),r(G$());const{sessionId:s}=i().system;s&&(t.emit("subscribe",{session:s}),r(NT({sessionId:s})))}),t.on("connect_error",o=>{o&&o.message&&o.data==="ERR_UNAUTHENTICATED"&&r(zn(Ku({title:o.message,status:"error",duration:1e4})))}),t.on("disconnect",()=>{r(W$())}),t.on("invocation_started",o=>{r(Q$({data:o}))}),t.on("generator_progress",o=>{r(rF({data:o}))}),t.on("invocation_error",o=>{r(eF({data:o}))}),t.on("invocation_complete",o=>{r(LT({data:o}))}),t.on("graph_execution_state_complete",o=>{r(tF({data:o}))}),t.on("model_load_started",o=>{r(oF({data:o}))}),t.on("model_load_completed",o=>{r(sF({data:o}))}),t.on("session_retrieval_error",o=>{r(aF({data:o}))}),t.on("invocation_retrieval_error",o=>{r(uF({data:o}))})},Ds=Object.create(null);Ds.open="0";Ds.close="1";Ds.ping="2";Ds.pong="3";Ds.message="4";Ds.upgrade="5";Ds.noop="6";const Sv=Object.create(null);Object.keys(Ds).forEach(e=>{Sv[Ds[e]]=e});const zCe={type:"error",data:"parser error"},kz=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",Iz=typeof ArrayBuffer=="function",Mz=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,ME=({type:e,data:t},n,r)=>kz&&t instanceof Blob?n?r(t):xk(t,r):Iz&&(t instanceof ArrayBuffer||Mz(t))?n?r(t):xk(new Blob([t]),r):r(Ds[e]+(t||"")),xk=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)};function Ck(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let Hx;function VCe(e,t){if(kz&&e.data instanceof Blob)return e.data.arrayBuffer().then(Ck).then(t);if(Iz&&(e.data instanceof ArrayBuffer||Mz(e.data)))return t(Ck(e.data));ME(e,!1,n=>{Hx||(Hx=new TextEncoder),t(Hx.encode(n))})}const Tk="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",hp=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,n=e.length,r,i=0,o,s,a,l;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);const u=new ArrayBuffer(t),d=new Uint8Array(u);for(r=0;r>4,d[i++]=(s&15)<<4|a>>2,d[i++]=(a&3)<<6|l&63;return u},GCe=typeof ArrayBuffer=="function",NE=(e,t)=>{if(typeof e!="string")return{type:"message",data:Nz(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:HCe(e.substring(1),t)}:Sv[n]?e.length>1?{type:Sv[n],data:e.substring(1)}:{type:Sv[n]}:zCe},HCe=(e,t)=>{if(GCe){const n=jCe(e);return Nz(n,t)}else return{base64:!0,data:e}},Nz=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},Lz=String.fromCharCode(30),WCe=(e,t)=>{const n=e.length,r=new Array(n);let i=0;e.forEach((o,s)=>{ME(o,!1,a=>{r[s]=a,++i===n&&t(r.join(Lz))})})},qCe=(e,t)=>{const n=e.split(Lz),r=[];for(let i=0;i54;return NE(r?e:Wx.decode(e),n)}const Dz=4;function Hn(e){if(e)return XCe(e)}function XCe(e){for(var t in Hn.prototype)e[t]=Hn.prototype[t];return e}Hn.prototype.on=Hn.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this};Hn.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this};Hn.prototype.off=Hn.prototype.removeListener=Hn.prototype.removeAllListeners=Hn.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var n=this._callbacks["$"+e];if(!n)return this;if(arguments.length==1)return delete this._callbacks["$"+e],this;for(var r,i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function $z(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const YCe=yo.setTimeout,QCe=yo.clearTimeout;function YS(e,t){t.useNativeTimers?(e.setTimeoutFn=YCe.bind(yo),e.clearTimeoutFn=QCe.bind(yo)):(e.setTimeoutFn=yo.setTimeout.bind(yo),e.clearTimeoutFn=yo.clearTimeout.bind(yo))}const ZCe=1.33;function JCe(e){return typeof e=="string"?e3e(e):Math.ceil((e.byteLength||e.size)*ZCe)}function e3e(e){let t=0,n=0;for(let r=0,i=e.length;r=57344?n+=3:(r++,n+=4);return n}function t3e(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}function n3e(e){let t={},n=e.split("&");for(let r=0,i=n.length;r0);return t}function Bz(){const e=Pk(+new Date);return e!==Ak?(Ek=0,Ak=e):e+"."+Pk(Ek++)}for(;U0{this.readyState="paused",t()};if(this.polling||!this.writable){let r=0;this.polling&&(r++,this.once("pollComplete",function(){--r||n()})),this.writable||(r++,this.once("drain",function(){--r||n()}))}else n()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(t){const n=r=>{if(this.readyState==="opening"&&r.type==="open"&&this.onOpen(),r.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(r)};qCe(t,this.socket.binaryType).forEach(n),this.readyState!=="closed"&&(this.polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this.poll())}doClose(){const t=()=>{this.write([{type:"close"}])};this.readyState==="open"?t():this.once("open",t)}write(t){this.writable=!1,WCe(t,n=>{this.doWrite(n,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const t=this.opts.secure?"https":"http",n=this.query||{};return this.opts.timestampRequests!==!1&&(n[this.opts.timestampParam]=Bz()),!this.supportsBinary&&!n.sid&&(n.b64=1),this.createUri(t,n)}request(t={}){return Object.assign(t,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new af(this.uri(),t)}doWrite(t,n){const r=this.request({method:"POST",data:t});r.on("success",n),r.on("error",(i,o)=>{this.onError("xhr post error",i,o)})}doPoll(){const t=this.request();t.on("data",this.onData.bind(this)),t.on("error",(n,r)=>{this.onError("xhr poll error",n,r)}),this.pollXhr=t}}let af=class wv extends Hn{constructor(t,n){super(),YS(this,n),this.opts=n,this.method=n.method||"GET",this.uri=t,this.data=n.data!==void 0?n.data:null,this.create()}create(){var t;const n=$z(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this.opts.xd;const r=this.xhr=new zz(n);try{r.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let i in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&r.setRequestHeader(i,this.opts.extraHeaders[i])}}catch{}if(this.method==="POST")try{r.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{r.setRequestHeader("Accept","*/*")}catch{}(t=this.opts.cookieJar)===null||t===void 0||t.addCookies(r),"withCredentials"in r&&(r.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(r.timeout=this.opts.requestTimeout),r.onreadystatechange=()=>{var i;r.readyState===3&&((i=this.opts.cookieJar)===null||i===void 0||i.parseCookies(r)),r.readyState===4&&(r.status===200||r.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof r.status=="number"?r.status:0)},0))},r.send(this.data)}catch(i){this.setTimeoutFn(()=>{this.onError(i)},0);return}typeof document<"u"&&(this.index=wv.requestsCount++,wv.requests[this.index]=this)}onError(t){this.emitReserved("error",t,this.xhr),this.cleanup(!0)}cleanup(t){if(!(typeof this.xhr>"u"||this.xhr===null)){if(this.xhr.onreadystatechange=s3e,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete wv.requests[this.index],this.xhr=null}}onLoad(){const t=this.xhr.responseText;t!==null&&(this.emitReserved("data",t),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}};af.requestsCount=0;af.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",Rk);else if(typeof addEventListener=="function"){const e="onpagehide"in yo?"pagehide":"unload";addEventListener(e,Rk,!1)}}function Rk(){for(let e in af.requests)af.requests.hasOwnProperty(e)&&af.requests[e].abort()}const DE=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),z0=yo.WebSocket||yo.MozWebSocket,Ok=!0,u3e="arraybuffer",kk=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class c3e extends LE{constructor(t){super(t),this.supportsBinary=!t.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const t=this.uri(),n=this.opts.protocols,r=kk?{}:$z(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(r.headers=this.opts.extraHeaders);try{this.ws=Ok&&!kk?n?new z0(t,n):new z0(t):new z0(t,n,r)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType||u3e,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=t=>this.onClose({description:"websocket connection closed",context:t}),this.ws.onmessage=t=>this.onData(t.data),this.ws.onerror=t=>this.onError("websocket error",t)}write(t){this.writable=!1;for(let n=0;n{const s={};try{Ok&&this.ws.send(o)}catch{}i&&DE(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){const t=this.opts.secure?"wss":"ws",n=this.query||{};return this.opts.timestampRequests&&(n[this.opts.timestampParam]=Bz()),this.supportsBinary||(n.b64=1),this.createUri(t,n)}check(){return!!z0}}function d3e(e,t){return e.type==="message"&&typeof e.data!="string"&&t[0]>=48&&t[0]<=54}class f3e extends LE{get name(){return"webtransport"}doOpen(){typeof WebTransport=="function"&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then(()=>{this.onClose()}).catch(t=>{this.onError("webtransport error",t)}),this.transport.ready.then(()=>{this.transport.createBidirectionalStream().then(t=>{const n=t.readable.getReader();this.writer=t.writable.getWriter();let r;const i=()=>{n.read().then(({done:s,value:a})=>{s||(!r&&a.byteLength===1&&a[0]===54?r=!0:(this.onPacket(KCe(a,r,"arraybuffer")),r=!1),i())}).catch(s=>{})};i();const o=this.query.sid?`0{"sid":"${this.query.sid}"}`:"0";this.writer.write(new TextEncoder().encode(o)).then(()=>this.onOpen())})}))}write(t){this.writable=!1;for(let n=0;n{d3e(r,o)&&this.writer.write(Uint8Array.of(54)),this.writer.write(o).then(()=>{i&&DE(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})})}}doClose(){var t;(t=this.transport)===null||t===void 0||t.close()}}const h3e={websocket:c3e,webtransport:f3e,polling:l3e},p3e=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,g3e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function p5(e){const t=e,n=e.indexOf("["),r=e.indexOf("]");n!=-1&&r!=-1&&(e=e.substring(0,n)+e.substring(n,r).replace(/:/g,";")+e.substring(r,e.length));let i=p3e.exec(e||""),o={},s=14;for(;s--;)o[g3e[s]]=i[s]||"";return n!=-1&&r!=-1&&(o.source=t,o.host=o.host.substring(1,o.host.length-1).replace(/;/g,":"),o.authority=o.authority.replace("[","").replace("]","").replace(/;/g,":"),o.ipv6uri=!0),o.pathNames=m3e(o,o.path),o.queryKey=y3e(o,o.query),o}function m3e(e,t){const n=/\/{2,9}/g,r=t.replace(n,"/").split("/");return(t.slice(0,1)=="/"||t.length===0)&&r.splice(0,1),t.slice(-1)=="/"&&r.splice(r.length-1,1),r}function y3e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,i,o){i&&(n[i]=o)}),n}let Vz=class Sd extends Hn{constructor(t,n={}){super(),this.writeBuffer=[],t&&typeof t=="object"&&(n=t,t=null),t?(t=p5(t),n.hostname=t.host,n.secure=t.protocol==="https"||t.protocol==="wss",n.port=t.port,t.query&&(n.query=t.query)):n.host&&(n.hostname=p5(n.host).host),YS(this,n),this.secure=n.secure!=null?n.secure:typeof location<"u"&&location.protocol==="https:",n.hostname&&!n.port&&(n.port=this.secure?"443":"80"),this.hostname=n.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=n.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=n.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},n),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=n3e(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,typeof addEventListener=="function"&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(t){const n=Object.assign({},this.opts.query);n.EIO=Dz,n.transport=t,this.id&&(n.sid=this.id);const r=Object.assign({},this.opts,{query:n,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[t]);return new h3e[t](r)}open(){let t;if(this.opts.rememberUpgrade&&Sd.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)t="websocket";else if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}else t=this.transports[0];this.readyState="opening";try{t=this.createTransport(t)}catch{this.transports.shift(),this.open();return}t.open(),this.setTransport(t)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",n=>this.onClose("transport close",n))}probe(t){let n=this.createTransport(t),r=!1;Sd.priorWebsocketSuccess=!1;const i=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",f=>{if(!r)if(f.type==="pong"&&f.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Sd.priorWebsocketSuccess=n.name==="websocket",this.transport.pause(()=>{r||this.readyState!=="closed"&&(d(),this.setTransport(n),n.send([{type:"upgrade"}]),this.emitReserved("upgrade",n),n=null,this.upgrading=!1,this.flush())})}else{const p=new Error("probe error");p.transport=n.name,this.emitReserved("upgradeError",p)}}))};function o(){r||(r=!0,d(),n.close(),n=null)}const s=f=>{const p=new Error("probe error: "+f);p.transport=n.name,o(),this.emitReserved("upgradeError",p)};function a(){s("transport closed")}function l(){s("socket closed")}function u(f){n&&f.name!==n.name&&o()}const d=()=>{n.removeListener("open",i),n.removeListener("error",s),n.removeListener("close",a),this.off("close",l),this.off("upgrading",u)};n.once("open",i),n.once("error",s),n.once("close",a),this.once("close",l),this.once("upgrading",u),this.upgrades.indexOf("webtransport")!==-1&&t!=="webtransport"?this.setTimeoutFn(()=>{r||n.open()},200):n.open()}onOpen(){if(this.readyState="open",Sd.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade){let t=0;const n=this.upgrades.length;for(;t{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const t=this.getWritablePackets();this.transport.send(t),this.prevBufferLen=t.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let n=1;for(let r=0;r0&&n>this.maxPayload)return this.writeBuffer.slice(0,r);n+=2}return this.writeBuffer}write(t,n,r){return this.sendPacket("message",t,n,r),this}send(t,n,r){return this.sendPacket("message",t,n,r),this}sendPacket(t,n,r,i){if(typeof n=="function"&&(i=n,n=void 0),typeof r=="function"&&(i=r,r=null),this.readyState==="closing"||this.readyState==="closed")return;r=r||{},r.compress=r.compress!==!1;const o={type:t,data:n,options:r};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),i&&this.once("flush",i),this.flush()}close(){const t=()=>{this.onClose("forced close"),this.transport.close()},n=()=>{this.off("upgrade",n),this.off("upgradeError",n),t()},r=()=>{this.once("upgrade",n),this.once("upgradeError",n)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?r():t()}):this.upgrading?r():t()),this}onError(t){Sd.priorWebsocketSuccess=!1,this.emitReserved("error",t),this.onClose("transport error",t)}onClose(t,n){(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")&&(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),typeof removeEventListener=="function"&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",t,n),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(t){const n=[];let r=0;const i=t.length;for(;rtypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,jz=Object.prototype.toString,S3e=typeof Blob=="function"||typeof Blob<"u"&&jz.call(Blob)==="[object BlobConstructor]",w3e=typeof File=="function"||typeof File<"u"&&jz.call(File)==="[object FileConstructor]";function $E(e){return _3e&&(e instanceof ArrayBuffer||b3e(e))||S3e&&e instanceof Blob||w3e&&e instanceof File}function xv(e,t){if(!e||typeof e!="object")return!1;if(Array.isArray(e)){for(let n=0,r=e.length;n=0&&e.num{delete this.acks[t];for(let s=0;s{this.io.clearTimeoutFn(o),n.apply(this,[null,...s])}}emitWithAck(t,...n){const r=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((i,o)=>{n.push((s,a)=>r?s?o(s):i(a):i(s)),this.emit(t,...n)})}_addToQueue(t){let n;typeof t[t.length-1]=="function"&&(n=t.pop());const r={id:this._queueSeq++,tryCount:0,pending:!1,args:t,flags:Object.assign({fromQueue:!0},this.flags)};t.push((i,...o)=>r!==this._queue[0]?void 0:(i!==null?r.tryCount>this._opts.retries&&(this._queue.shift(),n&&n(i)):(this._queue.shift(),n&&n(null,...o)),r.pending=!1,this._drainQueue())),this._queue.push(r),this._drainQueue()}_drainQueue(t=!1){if(!this.connected||this._queue.length===0)return;const n=this._queue[0];n.pending&&!t||(n.pending=!0,n.tryCount++,this.flags=n.flags,this.emit.apply(this,n.args))}packet(t){t.nsp=this.nsp,this.io._packet(t)}onopen(){typeof this.auth=="function"?this.auth(t=>{this._sendConnectPacket(t)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(t){this.packet({type:pt.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},t):t})}onerror(t){this.connected||this.emitReserved("connect_error",t)}onclose(t,n){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,n)}onpacket(t){if(t.nsp===this.nsp)switch(t.type){case pt.CONNECT:t.data&&t.data.sid?this.onconnect(t.data.sid,t.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case pt.EVENT:case pt.BINARY_EVENT:this.onevent(t);break;case pt.ACK:case pt.BINARY_ACK:this.onack(t);break;case pt.DISCONNECT:this.ondisconnect();break;case pt.CONNECT_ERROR:this.destroy();const r=new Error(t.data.message);r.data=t.data.data,this.emitReserved("connect_error",r);break}}onevent(t){const n=t.data||[];t.id!=null&&n.push(this.ack(t.id)),this.connected?this.emitEvent(n):this.receiveBuffer.push(Object.freeze(n))}emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const n=this._anyListeners.slice();for(const r of n)r.apply(this,t)}super.emit.apply(this,t),this._pid&&t.length&&typeof t[t.length-1]=="string"&&(this._lastOffset=t[t.length-1])}ack(t){const n=this;let r=!1;return function(...i){r||(r=!0,n.packet({type:pt.ACK,id:t,data:i}))}}onack(t){const n=this.acks[t.id];typeof n=="function"&&(n.apply(this,t.data),delete this.acks[t.id])}onconnect(t,n){this.id=t,this.recovered=n&&this._pid===n,this._pid=n,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.receiveBuffer=[],this.sendBuffer.forEach(t=>{this.notifyOutgoingListeners(t),this.packet(t)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:pt.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(t){return this.flags.compress=t,this}get volatile(){return this.flags.volatile=!0,this}timeout(t){return this.flags.timeout=t,this}onAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(t),this}prependAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(t),this}offAny(t){if(!this._anyListeners)return this;if(t){const n=this._anyListeners;for(let r=0;r0&&e.jitter<=1?e.jitter:0,this.attempts=0}Kf.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=Math.floor(t*10)&1?e+n:e-n}return Math.min(e,this.max)|0};Kf.prototype.reset=function(){this.attempts=0};Kf.prototype.setMin=function(e){this.ms=e};Kf.prototype.setMax=function(e){this.max=e};Kf.prototype.setJitter=function(e){this.jitter=e};class y5 extends Hn{constructor(t,n){var r;super(),this.nsps={},this.subs=[],t&&typeof t=="object"&&(n=t,t=void 0),n=n||{},n.path=n.path||"/socket.io",this.opts=n,YS(this,n),this.reconnection(n.reconnection!==!1),this.reconnectionAttempts(n.reconnectionAttempts||1/0),this.reconnectionDelay(n.reconnectionDelay||1e3),this.reconnectionDelayMax(n.reconnectionDelayMax||5e3),this.randomizationFactor((r=n.randomizationFactor)!==null&&r!==void 0?r:.5),this.backoff=new Kf({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=t;const i=n.parser||R3e;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=n.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(t){return arguments.length?(this._reconnection=!!t,this):this._reconnection}reconnectionAttempts(t){return t===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}reconnectionDelay(t){var n;return t===void 0?this._reconnectionDelay:(this._reconnectionDelay=t,(n=this.backoff)===null||n===void 0||n.setMin(t),this)}randomizationFactor(t){var n;return t===void 0?this._randomizationFactor:(this._randomizationFactor=t,(n=this.backoff)===null||n===void 0||n.setJitter(t),this)}reconnectionDelayMax(t){var n;return t===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,(n=this.backoff)===null||n===void 0||n.setMax(t),this)}timeout(t){return arguments.length?(this._timeout=t,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(t){if(~this._readyState.indexOf("open"))return this;this.engine=new Vz(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const i=zo(n,"open",function(){r.onopen(),t&&t()}),o=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),t?t(a):this.maybeReconnectOnOpen()},s=zo(n,"error",o);if(this._timeout!==!1){const a=this._timeout,l=this.setTimeoutFn(()=>{i(),o(new Error("timeout")),n.close()},a);this.opts.autoUnref&&l.unref(),this.subs.push(()=>{this.clearTimeoutFn(l)})}return this.subs.push(i),this.subs.push(s),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(zo(t,"ping",this.onping.bind(this)),zo(t,"data",this.ondata.bind(this)),zo(t,"error",this.onerror.bind(this)),zo(t,"close",this.onclose.bind(this)),zo(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(t){try{this.decoder.add(t)}catch(n){this.onclose("parse error",n)}}ondecoded(t){DE(()=>{this.emitReserved("packet",t)},this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,n){let r=this.nsps[t];return r?this._autoConnect&&!r.active&&r.connect():(r=new Gz(this,t,n),this.nsps[t]=r),r}_destroy(t){const n=Object.keys(this.nsps);for(const r of n)if(this.nsps[r].active)return;this._close()}_packet(t){const n=this.encoder.encode(t);for(let r=0;rt()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(t,n){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",t,n),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const n=this.backoff.duration();this._reconnecting=!0;const r=this.setTimeoutFn(()=>{t.skipReconnect||(this.emitReserved("reconnect_attempt",t.backoff.attempts),!t.skipReconnect&&t.open(i=>{i?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",i)):t.onreconnect()}))},n);this.opts.autoUnref&&r.unref(),this.subs.push(()=>{this.clearTimeoutFn(r)})}}onreconnect(){const t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const np={};function Cv(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=v3e(e,t.path||"/socket.io"),r=n.source,i=n.id,o=n.path,s=np[i]&&o in np[i].nsps,a=t.forceNew||t["force new connection"]||t.multiplex===!1||s;let l;return a?l=new y5(r,t):(np[i]||(np[i]=new y5(r,t)),l=np[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign(Cv,{Manager:y5,Socket:Gz,io:Cv,connect:Cv});const Mk=()=>{let e=!1,n=`${window.location.protocol==="https:"?"wss":"ws"}://${window.location.host}`;const r={timeout:6e4,path:"/ws/socket.io",autoConnect:!1};if(["nodes","package"].includes("production")){const s=wg.get();s&&(n=s.replace(/^https?\:\/\//i,""));const a=Sg.get();a&&(r.auth={token:a}),r.transports=["websocket","polling"]}const i=Cv(n,r);return s=>a=>l=>{const{dispatch:u,getState:d}=s;if(e||(UCe({storeApi:s,socket:i}),e=!0,i.connect()),Ir.fulfilled.match(l)){const f=l.payload.id,p=d().system.sessionId;p&&(i.emit("unsubscribe",{session:p}),u(X$({sessionId:p}))),i.emit("subscribe",{session:f}),u(NT({sessionId:f}))}a(l)}};function k3e(e){if(e.sheet)return e.sheet;for(var t=0;t0?Rr(Xf,--Oi):0,If--,Vn===10&&(If=1,ZS--),Vn}function Hi(){return Vn=Oi2||Fg(Vn)>3?"":" "}function G3e(e,t){for(;--t&&Hi()&&!(Vn<48||Vn>102||Vn>57&&Vn<65||Vn>70&&Vn<97););return Nm(e,Tv()+(t<6&&ks()==32&&Hi()==32))}function _5(e){for(;Hi();)switch(Vn){case e:return Oi;case 34:case 39:e!==34&&e!==39&&_5(Vn);break;case 40:e===41&&_5(e);break;case 92:Hi();break}return Oi}function H3e(e,t){for(;Hi()&&e+Vn!==47+10;)if(e+Vn===42+42&&ks()===47)break;return"/*"+Nm(t,Oi-1)+"*"+QS(e===47?e:Hi())}function W3e(e){for(;!Fg(ks());)Hi();return Nm(e,Oi)}function q3e(e){return Yz(Av("",null,null,null,[""],e=Xz(e),0,[0],e))}function Av(e,t,n,r,i,o,s,a,l){for(var u=0,d=0,f=s,p=0,g=0,m=0,v=1,x=1,_=1,b=0,y="",S=i,C=o,T=r,E=y;x;)switch(m=b,b=Hi()){case 40:if(m!=108&&Rr(E,f-1)==58){v5(E+=Pt(Ev(b),"&","&\f"),"&\f")!=-1&&(_=-1);break}case 34:case 39:case 91:E+=Ev(b);break;case 9:case 10:case 13:case 32:E+=j3e(m);break;case 92:E+=G3e(Tv()-1,7);continue;case 47:switch(ks()){case 42:case 47:V0(K3e(H3e(Hi(),Tv()),t,n),l);break;default:E+="/"}break;case 123*v:a[u++]=ys(E)*_;case 125*v:case 59:case 0:switch(b){case 0:case 125:x=0;case 59+d:_==-1&&(E=Pt(E,/\f/g,"")),g>0&&ys(E)-f&&V0(g>32?Lk(E+";",r,n,f-1):Lk(Pt(E," ","")+";",r,n,f-2),l);break;case 59:E+=";";default:if(V0(T=Nk(E,t,n,u,d,i,a,y,S=[],C=[],f),o),b===123)if(d===0)Av(E,t,T,T,S,o,f,a,C);else switch(p===99&&Rr(E,3)===110?100:p){case 100:case 108:case 109:case 115:Av(e,T,T,r&&V0(Nk(e,T,T,0,0,i,a,y,i,S=[],f),C),i,C,f,a,r?S:C);break;default:Av(E,T,T,T,[""],C,0,a,C)}}u=d=g=0,v=_=1,y=E="",f=s;break;case 58:f=1+ys(E),g=m;default:if(v<1){if(b==123)--v;else if(b==125&&v++==0&&V3e()==125)continue}switch(E+=QS(b),b*v){case 38:_=d>0?1:(E+="\f",-1);break;case 44:a[u++]=(ys(E)-1)*_,_=1;break;case 64:ks()===45&&(E+=Ev(Hi())),p=ks(),d=f=ys(y=E+=W3e(Tv())),b++;break;case 45:m===45&&ys(E)==2&&(v=0)}}return o}function Nk(e,t,n,r,i,o,s,a,l,u,d){for(var f=i-1,p=i===0?o:[""],g=zE(p),m=0,v=0,x=0;m0?p[_]+" "+b:Pt(b,/&\f/g,p[_])))&&(l[x++]=y);return JS(e,t,n,i===0?BE:a,l,u,d)}function K3e(e,t,n){return JS(e,t,n,Hz,QS(z3e()),$g(e,2,-2),0)}function Lk(e,t,n,r){return JS(e,t,n,UE,$g(e,0,r),$g(e,r+1,-1),r)}function lf(e,t){for(var n="",r=zE(e),i=0;i6)switch(Rr(e,t+1)){case 109:if(Rr(e,t+4)!==45)break;case 102:return Pt(e,/(.+:)(.+)-([^]+)/,"$1"+At+"$2-$3$1"+r_+(Rr(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~v5(e,"stretch")?Zz(Pt(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Rr(e,t+1)!==115)break;case 6444:switch(Rr(e,ys(e)-3-(~v5(e,"!important")&&10))){case 107:return Pt(e,":",":"+At)+e;case 101:return Pt(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+At+(Rr(e,14)===45?"inline-":"")+"box$3$1"+At+"$2$3$1"+Br+"$2box$3")+e}break;case 5936:switch(Rr(e,t+11)){case 114:return At+e+Br+Pt(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return At+e+Br+Pt(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return At+e+Br+Pt(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return At+e+Br+e+e}return e}var r5e=function(t,n,r,i){if(t.length>-1&&!t.return)switch(t.type){case UE:t.return=Zz(t.value,t.length);break;case Wz:return lf([rp(t,{value:Pt(t.value,"@","@"+At)})],i);case BE:if(t.length)return U3e(t.props,function(o){switch(B3e(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return lf([rp(t,{props:[Pt(o,/:(read-\w+)/,":"+r_+"$1")]})],i);case"::placeholder":return lf([rp(t,{props:[Pt(o,/:(plac\w+)/,":"+At+"input-$1")]}),rp(t,{props:[Pt(o,/:(plac\w+)/,":"+r_+"$1")]}),rp(t,{props:[Pt(o,/:(plac\w+)/,Br+"input-$1")]})],i)}return""})}},i5e=[r5e],o5e=function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(v){var x=v.getAttribute("data-emotion");x.indexOf(" ")!==-1&&(document.head.appendChild(v),v.setAttribute("data-s",""))})}var i=t.stylisPlugins||i5e,o={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(v){for(var x=v.getAttribute("data-emotion").split(" "),_=1;_=4;++r,i-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(i){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var u5e={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},c5e=/[A-Z]|^ms/g,d5e=/_EMO_([^_]+?)_([^]*?)_EMO_/g,tV=function(t){return t.charCodeAt(1)===45},Fk=function(t){return t!=null&&typeof t!="boolean"},qx=Qz(function(e){return tV(e)?e:e.replace(c5e,"-$&").toLowerCase()}),Bk=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(d5e,function(r,i,o){return vs={name:i,styles:o,next:vs},i})}return u5e[t]!==1&&!tV(t)&&typeof n=="number"&&n!==0?n+"px":n};function Bg(e,t,n){if(n==null)return"";if(n.__emotion_styles!==void 0)return n;switch(typeof n){case"boolean":return"";case"object":{if(n.anim===1)return vs={name:n.name,styles:n.styles,next:vs},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)vs={name:r.name,styles:r.styles,next:vs},r=r.next;var i=n.styles+";";return i}return f5e(e,t,n)}case"function":{if(e!==void 0){var o=vs,s=n(e);return vs=o,Bg(e,t,s)}break}}if(t==null)return n;var a=t[n];return a!==void 0?a:n}function f5e(e,t,n){var r="";if(Array.isArray(n))for(var i=0;i` or ``");return e}var sV=L.createContext({});sV.displayName="ColorModeContext";function jE(){const e=L.useContext(sV);if(e===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return e}function uMe(e,t){const{colorMode:n}=jE();return n==="dark"?t:e}function b5e(){const e=jE(),t=oV();return{...e,theme:t}}function S5e(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__breakpoints)==null?void 0:a.asArray)==null?void 0:l[s]};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function w5e(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__cssMap)==null?void 0:a[s])==null?void 0:l.value};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function cMe(e,t,n){const r=oV();return x5e(e,t,n)(r)}function x5e(e,t,n){const r=Array.isArray(t)?t:[t],i=Array.isArray(n)?n:[n];return o=>{const s=i.filter(Boolean),a=r.map((l,u)=>{var d,f;if(e==="breakpoints")return S5e(o,l,(d=s[u])!=null?d:l);const p=`${e}.${l}`;return w5e(o,p,(f=s[u])!=null?f:l)});return Array.isArray(t)?a:a[0]}}var aV=(...e)=>e.filter(Boolean).join(" ");function C5e(){return!1}function Sa(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}var dMe=e=>{const{condition:t,message:n}=e;t&&C5e()&&console.warn(n)};function Bu(e,...t){return T5e(e)?e(...t):e}var T5e=e=>typeof e=="function",fMe=e=>e?"":void 0,hMe=e=>e?!0:void 0;function pMe(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function gMe(...e){return function(n){e.forEach(r=>{r==null||r(n)})}}var i_={exports:{}};i_.exports;(function(e,t){var n=200,r="__lodash_hash_undefined__",i=800,o=16,s=9007199254740991,a="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",d="[object Boolean]",f="[object Date]",p="[object Error]",g="[object Function]",m="[object GeneratorFunction]",v="[object Map]",x="[object Number]",_="[object Null]",b="[object Object]",y="[object Proxy]",S="[object RegExp]",C="[object Set]",T="[object String]",E="[object Undefined]",P="[object WeakMap]",k="[object ArrayBuffer]",O="[object DataView]",M="[object Float32Array]",G="[object Float64Array]",U="[object Int8Array]",A="[object Int16Array]",N="[object Int32Array]",F="[object Uint8Array]",B="[object Uint8ClampedArray]",D="[object Uint16Array]",V="[object Uint32Array]",j=/[\\^$.*+?()[\]{}|]/g,q=/^\[object .+?Constructor\]$/,Z=/^(?:0|[1-9]\d*)$/,ee={};ee[M]=ee[G]=ee[U]=ee[A]=ee[N]=ee[F]=ee[B]=ee[D]=ee[V]=!0,ee[a]=ee[l]=ee[k]=ee[d]=ee[O]=ee[f]=ee[p]=ee[g]=ee[v]=ee[x]=ee[b]=ee[S]=ee[C]=ee[T]=ee[P]=!1;var ie=typeof He=="object"&&He&&He.Object===Object&&He,se=typeof self=="object"&&self&&self.Object===Object&&self,le=ie||se||Function("return this")(),W=t&&!t.nodeType&&t,ne=W&&!0&&e&&!e.nodeType&&e,fe=ne&&ne.exports===W,pe=fe&&ie.process,ve=function(){try{var H=ne&&ne.require&&ne.require("util").types;return H||pe&&pe.binding&&pe.binding("util")}catch{}}(),ye=ve&&ve.isTypedArray;function We(H,Y,re){switch(re.length){case 0:return H.call(Y);case 1:return H.call(Y,re[0]);case 2:return H.call(Y,re[0],re[1]);case 3:return H.call(Y,re[0],re[1],re[2])}return H.apply(Y,re)}function Me(H,Y){for(var re=-1,we=Array(H);++re-1}function Ao(H,Y){var re=this.__data__,we=Ro(re,H);return we<0?(++this.size,re.push([H,Y])):re[we][1]=Y,this}Xn.prototype.clear=Mi,Xn.prototype.delete=os,Xn.prototype.get=to,Xn.prototype.has=Va,Xn.prototype.set=Ao;function wr(H){var Y=-1,re=H==null?0:H.length;for(this.clear();++Y1?re[ot-1]:void 0,qe=ot>2?re[2]:void 0;for(Mt=H.length>3&&typeof Mt=="function"?(ot--,Mt):void 0,qe&&Zm(re[0],re[1],qe)&&(Mt=ot<3?void 0:Mt,ot=1),Y=Object(Y);++we-1&&H%1==0&&H0){if(++Y>=i)return arguments[0]}else Y=0;return H.apply(void 0,arguments)}}function ry(H){if(H!=null){try{return mt.call(H)}catch{}try{return H+""}catch{}}return""}function $c(H,Y){return H===Y||H!==H&&Y!==Y}var hh=cu(function(){return arguments}())?cu:function(H){return du(H)&&Jt.call(H,"callee")&&!Xr.call(H,"callee")},ph=Array.isArray;function Fc(H){return H!=null&&oy(H.length)&&!gh(H)}function _2(H){return du(H)&&Fc(H)}var iy=Vs||w2;function gh(H){if(!Oo(H))return!1;var Y=Ga(H);return Y==g||Y==m||Y==u||Y==y}function oy(H){return typeof H=="number"&&H>-1&&H%1==0&&H<=s}function Oo(H){var Y=typeof H;return H!=null&&(Y=="object"||Y=="function")}function du(H){return H!=null&&typeof H=="object"}function b2(H){if(!du(H)||Ga(H)!=b)return!1;var Y=vr(H);if(Y===null)return!0;var re=Jt.call(Y,"constructor")&&Y.constructor;return typeof re=="function"&&re instanceof re&&mt.call(re)==hi}var sy=ye?Ee(ye):Ha;function S2(H){return Km(H,ay(H))}function ay(H){return Fc(H)?sh(H,!0):p2(H)}var Ht=Mc(function(H,Y,re,we){Gm(H,Y,re,we)});function Ut(H){return function(){return H}}function ly(H){return H}function w2(){return!1}e.exports=Ht})(i_,i_.exports);var E5e=i_.exports;const Ts=dc(E5e);var A5e=e=>/!(important)?$/.test(e),Vk=e=>typeof e=="string"?e.replace(/!(important)?$/,"").trim():e,P5e=(e,t)=>n=>{const r=String(t),i=A5e(r),o=Vk(r),s=e?`${e}.${o}`:o;let a=Sa(n.__cssMap)&&s in n.__cssMap?n.__cssMap[s].varRef:t;return a=Vk(a),i?`${a} !important`:a};function GE(e){const{scale:t,transform:n,compose:r}=e;return(o,s)=>{var a;const l=P5e(t,o)(s);let u=(a=n==null?void 0:n(l,s))!=null?a:l;return r&&(u=r(u,s)),u}}var j0=(...e)=>t=>e.reduce((n,r)=>r(n),t);function co(e,t){return n=>{const r={property:n,scale:e};return r.transform=GE({scale:e,transform:t}),r}}var R5e=({rtl:e,ltr:t})=>n=>n.direction==="rtl"?e:t;function O5e(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:R5e(t),transform:n?GE({scale:n,compose:r}):r}}var lV=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"];function k5e(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...lV].join(" ")}function I5e(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...lV].join(" ")}var M5e={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},N5e={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"};function L5e(e){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":e,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}var D5e={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},b5={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},$5e=new Set(Object.values(b5)),S5=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),F5e=e=>e.trim();function B5e(e,t){if(e==null||S5.has(e))return e;if(!(w5(e)||S5.has(e)))return`url('${e}')`;const i=/(^[a-z-A-Z]+)\((.*)\)/g.exec(e),o=i==null?void 0:i[1],s=i==null?void 0:i[2];if(!o||!s)return e;const a=o.includes("-gradient")?o:`${o}-gradient`,[l,...u]=s.split(",").map(F5e).filter(Boolean);if((u==null?void 0:u.length)===0)return e;const d=l in b5?b5[l]:l;u.unshift(d);const f=u.map(p=>{if($5e.has(p))return p;const g=p.indexOf(" "),[m,v]=g!==-1?[p.substr(0,g),p.substr(g+1)]:[p],x=w5(v)?v:v&&v.split(" "),_=`colors.${m}`,b=_ in t.__cssMap?t.__cssMap[_].varRef:m;return x?[b,...Array.isArray(x)?x:[x]].join(" "):b});return`${a}(${f.join(", ")})`}var w5=e=>typeof e=="string"&&e.includes("(")&&e.includes(")"),U5e=(e,t)=>B5e(e,t??{});function z5e(e){return/^var\(--.+\)$/.test(e)}var V5e=e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}},ds=e=>t=>`${e}(${t})`,St={filter(e){return e!=="auto"?e:M5e},backdropFilter(e){return e!=="auto"?e:N5e},ring(e){return L5e(St.px(e))},bgClip(e){return e==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform(e){return e==="auto"?k5e():e==="auto-gpu"?I5e():e},vh(e){return e==="$100vh"?"var(--chakra-vh)":e},px(e){if(e==null)return e;const{unitless:t}=V5e(e);return t||typeof e=="number"?`${e}px`:e},fraction(e){return typeof e!="number"||e>1?e:`${e*100}%`},float(e,t){const n={left:"right",right:"left"};return t.direction==="rtl"?n[e]:e},degree(e){if(z5e(e)||e==null)return e;const t=typeof e=="string"&&!e.endsWith("deg");return typeof e=="number"||t?`${e}deg`:e},gradient:U5e,blur:ds("blur"),opacity:ds("opacity"),brightness:ds("brightness"),contrast:ds("contrast"),dropShadow:ds("drop-shadow"),grayscale:ds("grayscale"),hueRotate:ds("hue-rotate"),invert:ds("invert"),saturate:ds("saturate"),sepia:ds("sepia"),bgImage(e){return e==null||w5(e)||S5.has(e)?e:`url(${e})`},outline(e){const t=String(e)==="0"||String(e)==="none";return e!==null&&t?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:e}},flexDirection(e){var t;const{space:n,divide:r}=(t=D5e[e])!=null?t:{},i={flexDirection:e};return n&&(i[n]=1),r&&(i[r]=1),i}},Q={borderWidths:co("borderWidths"),borderStyles:co("borderStyles"),colors:co("colors"),borders:co("borders"),gradients:co("gradients",St.gradient),radii:co("radii",St.px),space:co("space",j0(St.vh,St.px)),spaceT:co("space",j0(St.vh,St.px)),degreeT(e){return{property:e,transform:St.degree}},prop(e,t,n){return{property:e,scale:t,...t&&{transform:GE({scale:t,transform:n})}}},propT(e,t){return{property:e,transform:t}},sizes:co("sizes",j0(St.vh,St.px)),sizesT:co("sizes",j0(St.vh,St.fraction)),shadows:co("shadows"),logical:O5e,blur:co("blur",St.blur)},Pv={background:Q.colors("background"),backgroundColor:Q.colors("backgroundColor"),backgroundImage:Q.gradients("backgroundImage"),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:St.bgClip},bgSize:Q.prop("backgroundSize"),bgPosition:Q.prop("backgroundPosition"),bg:Q.colors("background"),bgColor:Q.colors("backgroundColor"),bgPos:Q.prop("backgroundPosition"),bgRepeat:Q.prop("backgroundRepeat"),bgAttachment:Q.prop("backgroundAttachment"),bgGradient:Q.gradients("backgroundImage"),bgClip:{transform:St.bgClip}};Object.assign(Pv,{bgImage:Pv.backgroundImage,bgImg:Pv.backgroundImage});var Et={border:Q.borders("border"),borderWidth:Q.borderWidths("borderWidth"),borderStyle:Q.borderStyles("borderStyle"),borderColor:Q.colors("borderColor"),borderRadius:Q.radii("borderRadius"),borderTop:Q.borders("borderTop"),borderBlockStart:Q.borders("borderBlockStart"),borderTopLeftRadius:Q.radii("borderTopLeftRadius"),borderStartStartRadius:Q.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:Q.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:Q.radii("borderTopRightRadius"),borderStartEndRadius:Q.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:Q.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:Q.borders("borderRight"),borderInlineEnd:Q.borders("borderInlineEnd"),borderBottom:Q.borders("borderBottom"),borderBlockEnd:Q.borders("borderBlockEnd"),borderBottomLeftRadius:Q.radii("borderBottomLeftRadius"),borderBottomRightRadius:Q.radii("borderBottomRightRadius"),borderLeft:Q.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:Q.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:Q.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:Q.borders(["borderLeft","borderRight"]),borderInline:Q.borders("borderInline"),borderY:Q.borders(["borderTop","borderBottom"]),borderBlock:Q.borders("borderBlock"),borderTopWidth:Q.borderWidths("borderTopWidth"),borderBlockStartWidth:Q.borderWidths("borderBlockStartWidth"),borderTopColor:Q.colors("borderTopColor"),borderBlockStartColor:Q.colors("borderBlockStartColor"),borderTopStyle:Q.borderStyles("borderTopStyle"),borderBlockStartStyle:Q.borderStyles("borderBlockStartStyle"),borderBottomWidth:Q.borderWidths("borderBottomWidth"),borderBlockEndWidth:Q.borderWidths("borderBlockEndWidth"),borderBottomColor:Q.colors("borderBottomColor"),borderBlockEndColor:Q.colors("borderBlockEndColor"),borderBottomStyle:Q.borderStyles("borderBottomStyle"),borderBlockEndStyle:Q.borderStyles("borderBlockEndStyle"),borderLeftWidth:Q.borderWidths("borderLeftWidth"),borderInlineStartWidth:Q.borderWidths("borderInlineStartWidth"),borderLeftColor:Q.colors("borderLeftColor"),borderInlineStartColor:Q.colors("borderInlineStartColor"),borderLeftStyle:Q.borderStyles("borderLeftStyle"),borderInlineStartStyle:Q.borderStyles("borderInlineStartStyle"),borderRightWidth:Q.borderWidths("borderRightWidth"),borderInlineEndWidth:Q.borderWidths("borderInlineEndWidth"),borderRightColor:Q.colors("borderRightColor"),borderInlineEndColor:Q.colors("borderInlineEndColor"),borderRightStyle:Q.borderStyles("borderRightStyle"),borderInlineEndStyle:Q.borderStyles("borderInlineEndStyle"),borderTopRadius:Q.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:Q.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:Q.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:Q.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(Et,{rounded:Et.borderRadius,roundedTop:Et.borderTopRadius,roundedTopLeft:Et.borderTopLeftRadius,roundedTopRight:Et.borderTopRightRadius,roundedTopStart:Et.borderStartStartRadius,roundedTopEnd:Et.borderStartEndRadius,roundedBottom:Et.borderBottomRadius,roundedBottomLeft:Et.borderBottomLeftRadius,roundedBottomRight:Et.borderBottomRightRadius,roundedBottomStart:Et.borderEndStartRadius,roundedBottomEnd:Et.borderEndEndRadius,roundedLeft:Et.borderLeftRadius,roundedRight:Et.borderRightRadius,roundedStart:Et.borderInlineStartRadius,roundedEnd:Et.borderInlineEndRadius,borderStart:Et.borderInlineStart,borderEnd:Et.borderInlineEnd,borderTopStartRadius:Et.borderStartStartRadius,borderTopEndRadius:Et.borderStartEndRadius,borderBottomStartRadius:Et.borderEndStartRadius,borderBottomEndRadius:Et.borderEndEndRadius,borderStartRadius:Et.borderInlineStartRadius,borderEndRadius:Et.borderInlineEndRadius,borderStartWidth:Et.borderInlineStartWidth,borderEndWidth:Et.borderInlineEndWidth,borderStartColor:Et.borderInlineStartColor,borderEndColor:Et.borderInlineEndColor,borderStartStyle:Et.borderInlineStartStyle,borderEndStyle:Et.borderInlineEndStyle});var j5e={color:Q.colors("color"),textColor:Q.colors("color"),fill:Q.colors("fill"),stroke:Q.colors("stroke")},x5={boxShadow:Q.shadows("boxShadow"),mixBlendMode:!0,blendMode:Q.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:Q.prop("backgroundBlendMode"),opacity:!0};Object.assign(x5,{shadow:x5.boxShadow});var G5e={filter:{transform:St.filter},blur:Q.blur("--chakra-blur"),brightness:Q.propT("--chakra-brightness",St.brightness),contrast:Q.propT("--chakra-contrast",St.contrast),hueRotate:Q.degreeT("--chakra-hue-rotate"),invert:Q.propT("--chakra-invert",St.invert),saturate:Q.propT("--chakra-saturate",St.saturate),dropShadow:Q.propT("--chakra-drop-shadow",St.dropShadow),backdropFilter:{transform:St.backdropFilter},backdropBlur:Q.blur("--chakra-backdrop-blur"),backdropBrightness:Q.propT("--chakra-backdrop-brightness",St.brightness),backdropContrast:Q.propT("--chakra-backdrop-contrast",St.contrast),backdropHueRotate:Q.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:Q.propT("--chakra-backdrop-invert",St.invert),backdropSaturate:Q.propT("--chakra-backdrop-saturate",St.saturate)},o_={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:St.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:Q.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:Q.space("gap"),rowGap:Q.space("rowGap"),columnGap:Q.space("columnGap")};Object.assign(o_,{flexDir:o_.flexDirection});var uV={gridGap:Q.space("gridGap"),gridColumnGap:Q.space("gridColumnGap"),gridRowGap:Q.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},H5e={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:St.outline},outlineOffset:!0,outlineColor:Q.colors("outlineColor")},ho={width:Q.sizesT("width"),inlineSize:Q.sizesT("inlineSize"),height:Q.sizes("height"),blockSize:Q.sizes("blockSize"),boxSize:Q.sizes(["width","height"]),minWidth:Q.sizes("minWidth"),minInlineSize:Q.sizes("minInlineSize"),minHeight:Q.sizes("minHeight"),minBlockSize:Q.sizes("minBlockSize"),maxWidth:Q.sizes("maxWidth"),maxInlineSize:Q.sizes("maxInlineSize"),maxHeight:Q.sizes("maxHeight"),maxBlockSize:Q.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,aspectRatio:!0,hideFrom:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (min-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.minW)!=null?i:e})`]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (max-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r._minW)!=null?i:e})`]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:Q.propT("float",St.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(ho,{w:ho.width,h:ho.height,minW:ho.minWidth,maxW:ho.maxWidth,minH:ho.minHeight,maxH:ho.maxHeight,overscroll:ho.overscrollBehavior,overscrollX:ho.overscrollBehaviorX,overscrollY:ho.overscrollBehaviorY});var W5e={listStyleType:!0,listStylePosition:!0,listStylePos:Q.prop("listStylePosition"),listStyleImage:!0,listStyleImg:Q.prop("listStyleImage")};function q5e(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},X5e=K5e(q5e),Y5e={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},Q5e={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},Kx=(e,t,n)=>{const r={},i=X5e(e,t,{});for(const o in i)o in n&&n[o]!=null||(r[o]=i[o]);return r},Z5e={srOnly:{transform(e){return e===!0?Y5e:e==="focusable"?Q5e:{}}},layerStyle:{processResult:!0,transform:(e,t,n)=>Kx(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>Kx(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>Kx(t,e,n)}},Rp={position:!0,pos:Q.prop("position"),zIndex:Q.prop("zIndex","zIndices"),inset:Q.spaceT("inset"),insetX:Q.spaceT(["left","right"]),insetInline:Q.spaceT("insetInline"),insetY:Q.spaceT(["top","bottom"]),insetBlock:Q.spaceT("insetBlock"),top:Q.spaceT("top"),insetBlockStart:Q.spaceT("insetBlockStart"),bottom:Q.spaceT("bottom"),insetBlockEnd:Q.spaceT("insetBlockEnd"),left:Q.spaceT("left"),insetInlineStart:Q.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:Q.spaceT("right"),insetInlineEnd:Q.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(Rp,{insetStart:Rp.insetInlineStart,insetEnd:Rp.insetInlineEnd});var J5e={ring:{transform:St.ring},ringColor:Q.colors("--chakra-ring-color"),ringOffset:Q.prop("--chakra-ring-offset-width"),ringOffsetColor:Q.colors("--chakra-ring-offset-color"),ringInset:Q.prop("--chakra-ring-inset")},tn={margin:Q.spaceT("margin"),marginTop:Q.spaceT("marginTop"),marginBlockStart:Q.spaceT("marginBlockStart"),marginRight:Q.spaceT("marginRight"),marginInlineEnd:Q.spaceT("marginInlineEnd"),marginBottom:Q.spaceT("marginBottom"),marginBlockEnd:Q.spaceT("marginBlockEnd"),marginLeft:Q.spaceT("marginLeft"),marginInlineStart:Q.spaceT("marginInlineStart"),marginX:Q.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:Q.spaceT("marginInline"),marginY:Q.spaceT(["marginTop","marginBottom"]),marginBlock:Q.spaceT("marginBlock"),padding:Q.space("padding"),paddingTop:Q.space("paddingTop"),paddingBlockStart:Q.space("paddingBlockStart"),paddingRight:Q.space("paddingRight"),paddingBottom:Q.space("paddingBottom"),paddingBlockEnd:Q.space("paddingBlockEnd"),paddingLeft:Q.space("paddingLeft"),paddingInlineStart:Q.space("paddingInlineStart"),paddingInlineEnd:Q.space("paddingInlineEnd"),paddingX:Q.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:Q.space("paddingInline"),paddingY:Q.space(["paddingTop","paddingBottom"]),paddingBlock:Q.space("paddingBlock")};Object.assign(tn,{m:tn.margin,mt:tn.marginTop,mr:tn.marginRight,me:tn.marginInlineEnd,marginEnd:tn.marginInlineEnd,mb:tn.marginBottom,ml:tn.marginLeft,ms:tn.marginInlineStart,marginStart:tn.marginInlineStart,mx:tn.marginX,my:tn.marginY,p:tn.padding,pt:tn.paddingTop,py:tn.paddingY,px:tn.paddingX,pb:tn.paddingBottom,pl:tn.paddingLeft,ps:tn.paddingInlineStart,paddingStart:tn.paddingInlineStart,pr:tn.paddingRight,pe:tn.paddingInlineEnd,paddingEnd:tn.paddingInlineEnd});var e4e={textDecorationColor:Q.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:Q.shadows("textShadow")},t4e={clipPath:!0,transform:Q.propT("transform",St.transform),transformOrigin:!0,translateX:Q.spaceT("--chakra-translate-x"),translateY:Q.spaceT("--chakra-translate-y"),skewX:Q.degreeT("--chakra-skew-x"),skewY:Q.degreeT("--chakra-skew-y"),scaleX:Q.prop("--chakra-scale-x"),scaleY:Q.prop("--chakra-scale-y"),scale:Q.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:Q.degreeT("--chakra-rotate")},n4e={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:Q.prop("transitionDuration","transition.duration"),transitionProperty:Q.prop("transitionProperty","transition.property"),transitionTimingFunction:Q.prop("transitionTimingFunction","transition.easing")},r4e={fontFamily:Q.prop("fontFamily","fonts"),fontSize:Q.prop("fontSize","fontSizes",St.px),fontWeight:Q.prop("fontWeight","fontWeights"),lineHeight:Q.prop("lineHeight","lineHeights"),letterSpacing:Q.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,textIndent:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,isTruncated:{transform(e){if(e===!0)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},i4e={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:Q.spaceT("scrollMargin"),scrollMarginTop:Q.spaceT("scrollMarginTop"),scrollMarginBottom:Q.spaceT("scrollMarginBottom"),scrollMarginLeft:Q.spaceT("scrollMarginLeft"),scrollMarginRight:Q.spaceT("scrollMarginRight"),scrollMarginX:Q.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:Q.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:Q.spaceT("scrollPadding"),scrollPaddingTop:Q.spaceT("scrollPaddingTop"),scrollPaddingBottom:Q.spaceT("scrollPaddingBottom"),scrollPaddingLeft:Q.spaceT("scrollPaddingLeft"),scrollPaddingRight:Q.spaceT("scrollPaddingRight"),scrollPaddingX:Q.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:Q.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function cV(e){return Sa(e)&&e.reference?e.reference:String(e)}var e2=(e,...t)=>t.map(cV).join(` ${e} `).replace(/calc/g,""),jk=(...e)=>`calc(${e2("+",...e)})`,Gk=(...e)=>`calc(${e2("-",...e)})`,C5=(...e)=>`calc(${e2("*",...e)})`,Hk=(...e)=>`calc(${e2("/",...e)})`,Wk=e=>{const t=cV(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:C5(t,-1)},Iu=Object.assign(e=>({add:(...t)=>Iu(jk(e,...t)),subtract:(...t)=>Iu(Gk(e,...t)),multiply:(...t)=>Iu(C5(e,...t)),divide:(...t)=>Iu(Hk(e,...t)),negate:()=>Iu(Wk(e)),toString:()=>e.toString()}),{add:jk,subtract:Gk,multiply:C5,divide:Hk,negate:Wk});function o4e(e,t="-"){return e.replace(/\s+/g,t)}function s4e(e){const t=o4e(e.toString());return l4e(a4e(t))}function a4e(e){return e.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?e.replace(".","\\."):e}function l4e(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}function u4e(e,t=""){return[t,e].filter(Boolean).join("-")}function c4e(e,t){return`var(${e}${t?`, ${t}`:""})`}function d4e(e,t=""){return s4e(`--${u4e(e,t)}`)}function T5(e,t,n){const r=d4e(e,n);return{variable:r,reference:c4e(r,t)}}function mMe(e,t){const n={};for(const r of t){if(Array.isArray(r)){const[i,o]=r;n[i]=T5(`${e}-${i}`,o);continue}n[r]=T5(`${e}-${r}`)}return n}function f4e(e){const t=e==null?0:e.length;return t?e[t-1]:void 0}function h4e(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}function E5(e){if(e==null)return e;const{unitless:t}=h4e(e);return t||typeof e=="number"?`${e}px`:e}var dV=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,HE=e=>Object.fromEntries(Object.entries(e).sort(dV));function qk(e){const t=HE(e);return Object.assign(Object.values(t),t)}function p4e(e){const t=Object.keys(HE(e));return new Set(t)}function Kk(e){var t;if(!e)return e;e=(t=E5(e))!=null?t:e;const n=-.02;return typeof e=="number"?`${e+n}`:e.replace(/(\d+\.?\d*)/u,r=>`${parseFloat(r)+n}`)}function pp(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${E5(e)})`),t&&n.push("and",`(max-width: ${E5(t)})`),n.join(" ")}function g4e(e){var t;if(!e)return null;e.base=(t=e.base)!=null?t:"0px";const n=qk(e),r=Object.entries(e).sort(dV).map(([s,a],l,u)=>{var d;let[,f]=(d=u[l+1])!=null?d:[];return f=parseFloat(f)>0?Kk(f):void 0,{_minW:Kk(a),breakpoint:s,minW:a,maxW:f,maxWQuery:pp(null,f),minWQuery:pp(a),minMaxQuery:pp(a,f)}}),i=p4e(e),o=Array.from(i.values());return{keys:i,normalized:n,isResponsive(s){const a=Object.keys(s);return a.length>0&&a.every(l=>i.has(l))},asObject:HE(e),asArray:qk(e),details:r,get(s){return r.find(a=>a.breakpoint===s)},media:[null,...n.map(s=>pp(s)).slice(1)],toArrayValue(s){if(!Sa(s))throw new Error("toArrayValue: value must be an object");const a=o.map(l=>{var u;return(u=s[l])!=null?u:null});for(;f4e(a)===null;)a.pop();return a},toObjectValue(s){if(!Array.isArray(s))throw new Error("toObjectValue: value must be an array");return s.reduce((a,l,u)=>{const d=o[u];return d!=null&&l!=null&&(a[d]=l),a},{})}}}var Tr={hover:(e,t)=>`${e}:hover ${t}, ${e}[data-hover] ${t}`,focus:(e,t)=>`${e}:focus ${t}, ${e}[data-focus] ${t}`,focusVisible:(e,t)=>`${e}:focus-visible ${t}`,focusWithin:(e,t)=>`${e}:focus-within ${t}`,active:(e,t)=>`${e}:active ${t}, ${e}[data-active] ${t}`,disabled:(e,t)=>`${e}:disabled ${t}, ${e}[data-disabled] ${t}`,invalid:(e,t)=>`${e}:invalid ${t}, ${e}[data-invalid] ${t}`,checked:(e,t)=>`${e}:checked ${t}, ${e}[data-checked] ${t}`,indeterminate:(e,t)=>`${e}:indeterminate ${t}, ${e}[aria-checked=mixed] ${t}, ${e}[data-indeterminate] ${t}`,readOnly:(e,t)=>`${e}:read-only ${t}, ${e}[readonly] ${t}, ${e}[data-read-only] ${t}`,expanded:(e,t)=>`${e}:read-only ${t}, ${e}[aria-expanded=true] ${t}, ${e}[data-expanded] ${t}`,placeholderShown:(e,t)=>`${e}:placeholder-shown ${t}`},ol=e=>fV(t=>e(t,"&"),"[role=group]","[data-group]",".group"),oa=e=>fV(t=>e(t,"~ &"),"[data-peer]",".peer"),fV=(e,...t)=>t.map(e).join(", "),t2={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible, &[data-focus-visible]",_disabled:"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_firstLetter:"&::first-letter",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:ol(Tr.hover),_peerHover:oa(Tr.hover),_groupFocus:ol(Tr.focus),_peerFocus:oa(Tr.focus),_groupFocusVisible:ol(Tr.focusVisible),_peerFocusVisible:oa(Tr.focusVisible),_groupActive:ol(Tr.active),_peerActive:oa(Tr.active),_groupDisabled:ol(Tr.disabled),_peerDisabled:oa(Tr.disabled),_groupInvalid:ol(Tr.invalid),_peerInvalid:oa(Tr.invalid),_groupChecked:ol(Tr.checked),_peerChecked:oa(Tr.checked),_groupFocusWithin:ol(Tr.focusWithin),_peerFocusWithin:oa(Tr.focusWithin),_peerPlaceholderShown:oa(Tr.placeholderShown),_placeholder:"&::placeholder",_placeholderShown:"&:placeholder-shown",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &, &[dir=rtl]",_ltr:"[dir=ltr] &, &[dir=ltr]",_mediaDark:"@media (prefers-color-scheme: dark)",_mediaReduceMotion:"@media (prefers-reduced-motion: reduce)",_dark:".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",_light:".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]",_horizontal:"&[data-orientation=horizontal]",_vertical:"&[data-orientation=vertical]"},hV=Object.keys(t2);function Xk(e,t){return T5(String(e).replace(/\./g,"-"),void 0,t)}function m4e(e,t){let n={};const r={};for(const[i,o]of Object.entries(e)){const{isSemantic:s,value:a}=o,{variable:l,reference:u}=Xk(i,t==null?void 0:t.cssVarPrefix);if(!s){if(i.startsWith("space")){const p=i.split("."),[g,...m]=p,v=`${g}.-${m.join(".")}`,x=Iu.negate(a),_=Iu.negate(u);r[v]={value:x,var:l,varRef:_}}n[l]=a,r[i]={value:a,var:l,varRef:u};continue}const d=p=>{const m=[String(i).split(".")[0],p].join(".");if(!e[m])return p;const{reference:x}=Xk(m,t==null?void 0:t.cssVarPrefix);return x},f=Sa(a)?a:{default:a};n=Ts(n,Object.entries(f).reduce((p,[g,m])=>{var v,x;if(!m)return p;const _=d(`${m}`);if(g==="default")return p[l]=_,p;const b=(x=(v=t2)==null?void 0:v[g])!=null?x:g;return p[b]={[l]:_},p},{})),r[i]={value:u,var:l,varRef:u}}return{cssVars:n,cssMap:r}}function y4e(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function v4e(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function _4e(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}function Yk(e,t,n={}){const{stop:r,getKey:i}=n;function o(s,a=[]){var l;if(_4e(s)||Array.isArray(s)){const u={};for(const[d,f]of Object.entries(s)){const p=(l=i==null?void 0:i(d))!=null?l:d,g=[...a,p];if(r!=null&&r(s,g))return t(s,a);u[p]=o(f,g)}return u}return t(s,a)}return o(e)}var b4e=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","gradients","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur","breakpoints"];function S4e(e){return v4e(e,b4e)}function w4e(e){return e.semanticTokens}function x4e(e){const{__cssMap:t,__cssVars:n,__breakpoints:r,...i}=e;return i}var C4e=e=>hV.includes(e)||e==="default";function T4e({tokens:e,semanticTokens:t}){const n={};return Yk(e,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!1,value:r})}),Yk(t,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!0,value:r})},{stop:r=>Object.keys(r).every(C4e)}),n}function yMe(e){var t;const n=x4e(e),r=S4e(n),i=w4e(n),o=T4e({tokens:r,semanticTokens:i}),s=(t=n.config)==null?void 0:t.cssVarPrefix,{cssMap:a,cssVars:l}=m4e(o,{cssVarPrefix:s});return Object.assign(n,{__cssVars:{...{"--chakra-ring-inset":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-ring-offset-width":"0px","--chakra-ring-offset-color":"#fff","--chakra-ring-color":"rgba(66, 153, 225, 0.6)","--chakra-ring-offset-shadow":"0 0 #0000","--chakra-ring-shadow":"0 0 #0000","--chakra-space-x-reverse":"0","--chakra-space-y-reverse":"0"},...l},__cssMap:a,__breakpoints:g4e(n.breakpoints)}),n}var WE=Ts({},Pv,Et,j5e,o_,ho,G5e,J5e,H5e,uV,Z5e,Rp,x5,tn,i4e,r4e,e4e,t4e,W5e,n4e),E4e=Object.assign({},tn,ho,o_,uV,Rp),vMe=Object.keys(E4e),A4e=[...Object.keys(WE),...hV],P4e={...WE,...t2},R4e=e=>e in P4e,O4e=e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:i}=t.__breakpoints,o={};for(const s in e){let a=Bu(e[s],t);if(a==null)continue;if(a=Sa(a)&&n(a)?r(a):a,!Array.isArray(a)){o[s]=a;continue}const l=a.slice(0,i.length).length;for(let u=0;ue.startsWith("--")&&typeof t=="string"&&!I4e(t),N4e=(e,t)=>{var n,r;if(t==null)return t;const i=l=>{var u,d;return(d=(u=e.__cssMap)==null?void 0:u[l])==null?void 0:d.varRef},o=l=>{var u;return(u=i(l))!=null?u:l},[s,a]=k4e(t);return t=(r=(n=i(s))!=null?n:o(a))!=null?r:o(t),t};function L4e(e){const{configs:t={},pseudos:n={},theme:r}=e,i=(o,s=!1)=>{var a,l,u;const d=Bu(o,r),f=O4e(d)(r);let p={};for(let g in f){const m=f[g];let v=Bu(m,r);g in n&&(g=n[g]),M4e(g,v)&&(v=N4e(r,v));let x=t[g];if(x===!0&&(x={property:g}),Sa(v)){p[g]=(a=p[g])!=null?a:{},p[g]=Ts({},p[g],i(v,!0));continue}let _=(u=(l=x==null?void 0:x.transform)==null?void 0:l.call(x,v,r,d))!=null?u:v;_=x!=null&&x.processResult?i(_,!0):_;const b=Bu(x==null?void 0:x.property,r);if(!s&&(x!=null&&x.static)){const y=Bu(x.static,r);p=Ts({},p,y)}if(b&&Array.isArray(b)){for(const y of b)p[y]=_;continue}if(b){b==="&"&&Sa(_)?p=Ts({},p,_):p[b]=_;continue}if(Sa(_)){p=Ts({},p,_);continue}p[g]=_}return p};return i}var D4e=e=>t=>L4e({theme:t,pseudos:t2,configs:WE})(e);function _Me(e){return e}function bMe(e){return e}function SMe(e){return{definePartsStyle(t){return t},defineMultiStyleConfig(t){return{parts:e,...t}}}}function $4e(e,t){if(Array.isArray(e))return e;if(Sa(e))return t(e);if(e!=null)return[e]}function F4e(e,t){for(let n=t+1;n{Ts(u,{[y]:p?b[y]:{[_]:b[y]}})});continue}if(!g){p?Ts(u,b):u[_]=b;continue}u[_]=b}}return u}}function U4e(e){return t=>{var n;const{variant:r,size:i,theme:o}=t,s=B4e(o);return Ts({},Bu((n=e.baseStyle)!=null?n:{},t),s(e,"sizes",i,t),s(e,"variants",r,t))}}function wMe(e,t,n){var r,i,o;return(o=(i=(r=e.__cssMap)==null?void 0:r[`${t}.${n}`])==null?void 0:i.varRef)!=null?o:n}function pV(e){return y4e(e,["styleConfig","size","variant","colorScheme"])}function z4e(e,t){const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}function V4e(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},G4e=j4e(V4e);function gV(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r];t(i,r,e)&&(n[r]=i)}),n}var mV=e=>gV(e,t=>t!=null);function H4e(e){return typeof e=="function"}function W4e(e,...t){return H4e(e)?e(...t):e}function xMe(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}var q4e=typeof Element<"u",K4e=typeof Map=="function",X4e=typeof Set=="function",Y4e=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Rv(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,r,i;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Rv(e[r],t[r]))return!1;return!0}var o;if(K4e&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;for(o=e.entries();!(r=o.next()).done;)if(!Rv(r.value[1],t.get(r.value[0])))return!1;return!0}if(X4e&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(Y4e&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;if(q4e&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!Rv(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var Q4e=function(t,n){try{return Rv(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const Z4e=dc(Q4e);function yV(e,t={}){var n;const{styleConfig:r,...i}=t,{theme:o,colorMode:s}=b5e(),a=e?G4e(o,`components.${e}`):void 0,l=r||a,u=Ts({theme:o,colorMode:s},(n=l==null?void 0:l.defaultProps)!=null?n:{},mV(z4e(i,["children"]))),d=L.useRef({});if(l){const p=U4e(l)(u);Z4e(d.current,p)||(d.current=p)}return d.current}function vV(e,t={}){return yV(e,t)}function CMe(e,t={}){return yV(e,t)}var J4e=new Set([...A4e,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),eTe=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function tTe(e){return eTe.has(e)||!J4e.has(e)}function nTe(e,...t){if(e==null)throw new TypeError("Cannot convert undefined or null to object");const n={...e};for(const r of t)if(r!=null)for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&(i in n&&delete n[i],n[i]=r[i]);return n}var rTe=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,iTe=Qz(function(e){return rTe.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),oTe=iTe,sTe=function(t){return t!=="theme"},Qk=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?oTe:sTe},Zk=function(t,n,r){var i;if(n){var o=n.shouldForwardProp;i=t.__emotion_forwardProp&&o?function(s){return t.__emotion_forwardProp(s)&&o(s)}:o}return typeof i!="function"&&r&&(i=t.__emotion_forwardProp),i},aTe=function(t){var n=t.cache,r=t.serialized,i=t.isStringTag;return Jz(n,r,i),p5e(function(){return eV(n,r,i)}),null},lTe=function e(t,n){var r=t.__emotion_real===t,i=r&&t.__emotion_base||t,o,s;n!==void 0&&(o=n.label,s=n.target);var a=Zk(t,n,r),l=a||Qk(i),u=!l("as");return function(){var d=arguments,f=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&f.push("label:"+o+";"),d[0]==null||d[0].raw===void 0)f.push.apply(f,d);else{f.push(d[0][0]);for(var p=d.length,g=1;gt=>{const{theme:n,css:r,__css:i,sx:o,...s}=t,a=gV(s,(f,p)=>R4e(p)),l=W4e(e,t),u=nTe({},i,l,mV(a),o),d=D4e(u)(t.theme);return r?[d,r]:d};function Xx(e,t){const{baseStyle:n,...r}=t??{};r.shouldForwardProp||(r.shouldForwardProp=tTe);const i=dTe({baseStyle:n}),o=cTe(e,r)(i);return Lt.forwardRef(function(l,u){const{colorMode:d,forced:f}=jE();return Lt.createElement(o,{ref:u,"data-theme":f?d:void 0,...l})})}function fTe(){const e=new Map;return new Proxy(Xx,{apply(t,n,r){return Xx(...r)},get(t,n){return e.has(n)||e.set(n,Xx(n)),e.get(n)}})}var cc=fTe();function Pc(e){return L.forwardRef(e)}const _V=L.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),n2=L.createContext({}),Lm=L.createContext(null),r2=typeof document<"u",a_=r2?L.useLayoutEffect:L.useEffect,bV=L.createContext({strict:!1});function hTe(e,t,n,r){const{visualElement:i}=L.useContext(n2),o=L.useContext(bV),s=L.useContext(Lm),a=L.useContext(_V).reducedMotion,l=L.useRef();r=r||o.renderer,!l.current&&r&&(l.current=r(e,{visualState:t,parent:i,props:n,presenceContext:s,blockInitialAnimation:s?s.initial===!1:!1,reducedMotionConfig:a}));const u=l.current;return L.useInsertionEffect(()=>{u&&u.update(n,s)}),a_(()=>{u&&u.render()}),L.useEffect(()=>{u&&u.updateFeatures()}),(window.HandoffAppearAnimations?a_:L.useEffect)(()=>{u&&u.animationState&&u.animationState.animateChanges()}),u}function $d(e){return typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function pTe(e,t,n){return L.useCallback(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):$d(n)&&(n.current=r))},[t])}function zg(e){return typeof e=="string"||Array.isArray(e)}function i2(e){return typeof e=="object"&&typeof e.start=="function"}const qE=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],KE=["initial",...qE];function o2(e){return i2(e.animate)||KE.some(t=>zg(e[t]))}function SV(e){return!!(o2(e)||e.variants)}function gTe(e,t){if(o2(e)){const{initial:n,animate:r}=e;return{initial:n===!1||zg(n)?n:void 0,animate:zg(r)?r:void 0}}return e.inherit!==!1?t:{}}function mTe(e){const{initial:t,animate:n}=gTe(e,L.useContext(n2));return L.useMemo(()=>({initial:t,animate:n}),[eI(t),eI(n)])}function eI(e){return Array.isArray(e)?e.join(" "):e}const tI={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},Vg={};for(const e in tI)Vg[e]={isEnabled:t=>tI[e].some(n=>!!t[n])};function yTe(e){for(const t in e)Vg[t]={...Vg[t],...e[t]}}const XE=L.createContext({}),wV=L.createContext({}),vTe=Symbol.for("motionComponentSymbol");function _Te({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:i}){e&&yTe(e);function o(a,l){let u;const d={...L.useContext(_V),...a,layoutId:bTe(a)},{isStatic:f}=d,p=mTe(a),g=r(a,f);if(!f&&r2){p.visualElement=hTe(i,g,d,t);const m=L.useContext(wV),v=L.useContext(bV).strict;p.visualElement&&(u=p.visualElement.loadFeatures(d,v,e,m))}return L.createElement(n2.Provider,{value:p},u&&p.visualElement?L.createElement(u,{visualElement:p.visualElement,...d}):null,n(i,a,pTe(g,p.visualElement,l),g,f,p.visualElement))}const s=L.forwardRef(o);return s[vTe]=i,s}function bTe({layoutId:e}){const t=L.useContext(XE).id;return t&&e!==void 0?t+"-"+e:e}function STe(e){function t(r,i={}){return _Te(e(r,i))}if(typeof Proxy>"u")return t;const n=new Map;return new Proxy(t,{get:(r,i)=>(n.has(i)||n.set(i,t(i)),n.get(i))})}const wTe=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function YE(e){return typeof e!="string"||e.includes("-")?!1:!!(wTe.indexOf(e)>-1||/[A-Z]/.test(e))}const l_={};function xTe(e){Object.assign(l_,e)}const Dm=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Rc=new Set(Dm);function xV(e,{layout:t,layoutId:n}){return Rc.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!l_[e]||e==="opacity")}const ki=e=>!!(e&&e.getVelocity),CTe={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},TTe=Dm.length;function ETe(e,{enableHardwareAcceleration:t=!0,allowTransformNone:n=!0},r,i){let o="";for(let s=0;st=>typeof t=="string"&&t.startsWith(e),TV=CV("--"),A5=CV("var(--"),ATe=/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,PTe=(e,t)=>t&&typeof e=="number"?t.transform(e):e,Kl=(e,t,n)=>Math.min(Math.max(n,e),t),Oc={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Op={...Oc,transform:e=>Kl(0,1,e)},G0={...Oc,default:1},kp=e=>Math.round(e*1e5)/1e5,s2=/(-)?([\d]*\.?[\d])+/g,EV=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,RTe=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function $m(e){return typeof e=="string"}const Fm=e=>({test:t=>$m(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),al=Fm("deg"),Is=Fm("%"),Be=Fm("px"),OTe=Fm("vh"),kTe=Fm("vw"),nI={...Is,parse:e=>Is.parse(e)/100,transform:e=>Is.transform(e*100)},rI={...Oc,transform:Math.round},AV={borderWidth:Be,borderTopWidth:Be,borderRightWidth:Be,borderBottomWidth:Be,borderLeftWidth:Be,borderRadius:Be,radius:Be,borderTopLeftRadius:Be,borderTopRightRadius:Be,borderBottomRightRadius:Be,borderBottomLeftRadius:Be,width:Be,maxWidth:Be,height:Be,maxHeight:Be,size:Be,top:Be,right:Be,bottom:Be,left:Be,padding:Be,paddingTop:Be,paddingRight:Be,paddingBottom:Be,paddingLeft:Be,margin:Be,marginTop:Be,marginRight:Be,marginBottom:Be,marginLeft:Be,rotate:al,rotateX:al,rotateY:al,rotateZ:al,scale:G0,scaleX:G0,scaleY:G0,scaleZ:G0,skew:al,skewX:al,skewY:al,distance:Be,translateX:Be,translateY:Be,translateZ:Be,x:Be,y:Be,z:Be,perspective:Be,transformPerspective:Be,opacity:Op,originX:nI,originY:nI,originZ:Be,zIndex:rI,fillOpacity:Op,strokeOpacity:Op,numOctaves:rI};function QE(e,t,n,r){const{style:i,vars:o,transform:s,transformOrigin:a}=e;let l=!1,u=!1,d=!0;for(const f in t){const p=t[f];if(TV(f)){o[f]=p;continue}const g=AV[f],m=PTe(p,g);if(Rc.has(f)){if(l=!0,s[f]=m,!d)continue;p!==(g.default||0)&&(d=!1)}else f.startsWith("origin")?(u=!0,a[f]=m):i[f]=m}if(t.transform||(l||r?i.transform=ETe(e.transform,n,d,r):i.transform&&(i.transform="none")),u){const{originX:f="50%",originY:p="50%",originZ:g=0}=a;i.transformOrigin=`${f} ${p} ${g}`}}const ZE=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function PV(e,t,n){for(const r in t)!ki(t[r])&&!xV(r,n)&&(e[r]=t[r])}function ITe({transformTemplate:e},t,n){return L.useMemo(()=>{const r=ZE();return QE(r,t,{enableHardwareAcceleration:!n},e),Object.assign({},r.vars,r.style)},[t])}function MTe(e,t,n){const r=e.style||{},i={};return PV(i,r,e),Object.assign(i,ITe(e,t,n)),e.transformValues?e.transformValues(i):i}function NTe(e,t,n){const r={},i=MTe(e,t,n);return e.drag&&e.dragListener!==!1&&(r.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(r.tabIndex=0),r.style=i,r}const LTe=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","ignoreStrict","viewport"]);function u_(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||LTe.has(e)}let RV=e=>!u_(e);function DTe(e){e&&(RV=t=>t.startsWith("on")?!u_(t):e(t))}try{DTe(require("@emotion/is-prop-valid").default)}catch{}function $Te(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(RV(i)||n===!0&&u_(i)||!t&&!u_(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function iI(e,t,n){return typeof e=="string"?e:Be.transform(t+n*e)}function FTe(e,t,n){const r=iI(t,e.x,e.width),i=iI(n,e.y,e.height);return`${r} ${i}`}const BTe={offset:"stroke-dashoffset",array:"stroke-dasharray"},UTe={offset:"strokeDashoffset",array:"strokeDasharray"};function zTe(e,t,n=1,r=0,i=!0){e.pathLength=1;const o=i?BTe:UTe;e[o.offset]=Be.transform(-r);const s=Be.transform(t),a=Be.transform(n);e[o.array]=`${s} ${a}`}function JE(e,{attrX:t,attrY:n,attrScale:r,originX:i,originY:o,pathLength:s,pathSpacing:a=1,pathOffset:l=0,...u},d,f,p){if(QE(e,u,d,p),f){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:g,style:m,dimensions:v}=e;g.transform&&(v&&(m.transform=g.transform),delete g.transform),v&&(i!==void 0||o!==void 0||m.transform)&&(m.transformOrigin=FTe(v,i!==void 0?i:.5,o!==void 0?o:.5)),t!==void 0&&(g.x=t),n!==void 0&&(g.y=n),r!==void 0&&(g.scale=r),s!==void 0&&zTe(g,s,a,l,!1)}const OV=()=>({...ZE(),attrs:{}}),e6=e=>typeof e=="string"&&e.toLowerCase()==="svg";function VTe(e,t,n,r){const i=L.useMemo(()=>{const o=OV();return JE(o,t,{enableHardwareAcceleration:!1},e6(r),e.transformTemplate),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};PV(o,e.style,e),i.style={...o,...i.style}}return i}function jTe(e=!1){return(n,r,i,{latestValues:o},s)=>{const l=(YE(n)?VTe:NTe)(r,o,s,n),d={...$Te(r,typeof n=="string",e),...l,ref:i},{children:f}=r,p=L.useMemo(()=>ki(f)?f.get():f,[f]);return L.createElement(n,{...d,children:p})}}const t6=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function kV(e,{style:t,vars:n},r,i){Object.assign(e.style,t,i&&i.getProjectionStyles(r));for(const o in n)e.style.setProperty(o,n[o])}const IV=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function MV(e,t,n,r){kV(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(IV.has(i)?i:t6(i),t.attrs[i])}function n6(e,t){const{style:n}=e,r={};for(const i in n)(ki(n[i])||t.style&&ki(t.style[i])||xV(i,e))&&(r[i]=n[i]);return r}function NV(e,t){const n=n6(e,t);for(const r in e)if(ki(e[r])||ki(t[r])){const i=Dm.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;n[i]=e[r]}return n}function r6(e,t,n,r={},i={}){return typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),t}function LV(e){const t=L.useRef(null);return t.current===null&&(t.current=e()),t.current}const c_=e=>Array.isArray(e),GTe=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),HTe=e=>c_(e)?e[e.length-1]||0:e;function Ov(e){const t=ki(e)?e.get():e;return GTe(t)?t.toValue():t}function WTe({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,o){const s={latestValues:qTe(r,i,o,e),renderState:t()};return n&&(s.mount=a=>n(r,a,s)),s}const DV=e=>(t,n)=>{const r=L.useContext(n2),i=L.useContext(Lm),o=()=>WTe(e,t,r,i);return n?o():LV(o)};function qTe(e,t,n,r){const i={},o=r(e,{});for(const p in o)i[p]=Ov(o[p]);let{initial:s,animate:a}=e;const l=o2(e),u=SV(e);t&&u&&!l&&e.inherit!==!1&&(s===void 0&&(s=t.initial),a===void 0&&(a=t.animate));let d=n?n.initial===!1:!1;d=d||s===!1;const f=d?a:s;return f&&typeof f!="boolean"&&!i2(f)&&(Array.isArray(f)?f:[f]).forEach(g=>{const m=r6(e,g);if(!m)return;const{transitionEnd:v,transition:x,..._}=m;for(const b in _){let y=_[b];if(Array.isArray(y)){const S=d?y.length-1:0;y=y[S]}y!==null&&(i[b]=y)}for(const b in v)i[b]=v[b]}),i}const KTe={useVisualState:DV({scrapeMotionValuesFromProps:NV,createRenderState:OV,onMount:(e,t,{renderState:n,latestValues:r})=>{try{n.dimensions=typeof t.getBBox=="function"?t.getBBox():t.getBoundingClientRect()}catch{n.dimensions={x:0,y:0,width:0,height:0}}JE(n,r,{enableHardwareAcceleration:!1},e6(t.tagName),e.transformTemplate),MV(t,n)}})},XTe={useVisualState:DV({scrapeMotionValuesFromProps:n6,createRenderState:ZE})};function YTe(e,{forwardMotionProps:t=!1},n,r){return{...YE(e)?KTe:XTe,preloadedFeatures:n,useRender:jTe(t),createVisualElement:r,Component:e}}function ya(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const $V=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function a2(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const QTe=e=>t=>$V(t)&&e(t,a2(t));function wa(e,t,n,r){return ya(e,t,QTe(n),r)}const ZTe=(e,t)=>n=>t(e(n)),Nl=(...e)=>e.reduce(ZTe);function FV(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const oI=FV("dragHorizontal"),sI=FV("dragVertical");function BV(e){let t=!1;if(e==="y")t=sI();else if(e==="x")t=oI();else{const n=oI(),r=sI();n&&r?t=()=>{n(),r()}:(n&&n(),r&&r())}return t}function UV(){const e=BV(!0);return e?(e(),!1):!0}class uu{constructor(t){this.isMounted=!1,this.node=t}update(){}}const Gn=e=>e;function JTe(e){let t=[],n=[],r=0,i=!1,o=!1;const s=new WeakSet,a={schedule:(l,u=!1,d=!1)=>{const f=d&&i,p=f?t:n;return u&&s.add(l),p.indexOf(l)===-1&&(p.push(l),f&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),s.delete(l)},process:l=>{if(i){o=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let u=0;u(f[p]=JTe(()=>n=!0),f),{}),s=f=>o[f].process(i),a=f=>{n=!1,i.delta=r?1e3/60:Math.max(Math.min(f-i.timestamp,eEe),1),i.timestamp=f,i.isProcessing=!0,H0.forEach(s),i.isProcessing=!1,n&&t&&(r=!1,e(a))},l=()=>{n=!0,r=!0,i.isProcessing||e(a)};return{schedule:H0.reduce((f,p)=>{const g=o[p];return f[p]=(m,v=!1,x=!1)=>(n||l(),g.schedule(m,v,x)),f},{}),cancel:f=>H0.forEach(p=>o[p].cancel(f)),state:i,steps:o}}const{schedule:dn,cancel:Ia,state:zr,steps:Yx}=tEe(typeof requestAnimationFrame<"u"?requestAnimationFrame:Gn,!0);function aI(e,t){const n="pointer"+(t?"enter":"leave"),r="onHover"+(t?"Start":"End"),i=(o,s)=>{if(o.type==="touch"||UV())return;const a=e.getProps();e.animationState&&a.whileHover&&e.animationState.setActive("whileHover",t),a[r]&&dn.update(()=>a[r](o,s))};return wa(e.current,n,i,{passive:!e.getProps()[r]})}class nEe extends uu{mount(){this.unmount=Nl(aI(this.node,!0),aI(this.node,!1))}unmount(){}}class rEe extends uu{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Nl(ya(this.node.current,"focus",()=>this.onFocus()),ya(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const zV=(e,t)=>t?e===t?!0:zV(e,t.parentElement):!1;function Qx(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,a2(n))}class iEe extends uu{constructor(){super(...arguments),this.removeStartListeners=Gn,this.removeEndListeners=Gn,this.removeAccessibleListeners=Gn,this.startPointerPress=(t,n)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),o=wa(window,"pointerup",(a,l)=>{if(!this.checkPressEnd())return;const{onTap:u,onTapCancel:d}=this.node.getProps();dn.update(()=>{zV(this.node.current,a.target)?u&&u(a,l):d&&d(a,l)})},{passive:!(r.onTap||r.onPointerUp)}),s=wa(window,"pointercancel",(a,l)=>this.cancelPress(a,l),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=Nl(o,s),this.startPress(t,n)},this.startAccessiblePress=()=>{const t=o=>{if(o.key!=="Enter"||this.isPressing)return;const s=a=>{a.key!=="Enter"||!this.checkPressEnd()||Qx("up",(l,u)=>{const{onTap:d}=this.node.getProps();d&&dn.update(()=>d(l,u))})};this.removeEndListeners(),this.removeEndListeners=ya(this.node.current,"keyup",s),Qx("down",(a,l)=>{this.startPress(a,l)})},n=ya(this.node.current,"keydown",t),r=()=>{this.isPressing&&Qx("cancel",(o,s)=>this.cancelPress(o,s))},i=ya(this.node.current,"blur",r);this.removeAccessibleListeners=Nl(n,i)}}startPress(t,n){this.isPressing=!0;const{onTapStart:r,whileTap:i}=this.node.getProps();i&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),r&&dn.update(()=>r(t,n))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!UV()}cancelPress(t,n){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&dn.update(()=>r(t,n))}mount(){const t=this.node.getProps(),n=wa(this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),r=ya(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=Nl(n,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const P5=new WeakMap,Zx=new WeakMap,oEe=e=>{const t=P5.get(e.target);t&&t(e)},sEe=e=>{e.forEach(oEe)};function aEe({root:e,...t}){const n=e||document;Zx.has(n)||Zx.set(n,{});const r=Zx.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(sEe,{root:e,...t})),r[i]}function lEe(e,t,n){const r=aEe(t);return P5.set(e,n),r.observe(e),()=>{P5.delete(e),r.unobserve(e)}}const uEe={some:0,all:1};class cEe extends uu{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:o}=t,s={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:uEe[i]},a=l=>{const{isIntersecting:u}=l;if(this.isInView===u||(this.isInView=u,o&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:d,onViewportLeave:f}=this.node.getProps(),p=u?d:f;p&&p(l)};return lEe(this.node.current,s,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(dEe(t,n))&&this.startObserver()}unmount(){}}function dEe({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const fEe={inView:{Feature:cEe},tap:{Feature:iEe},focus:{Feature:rEe},hover:{Feature:nEe}};function VV(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;rt[r]=n.get()),t}function pEe(e){const t={};return e.values.forEach((n,r)=>t[r]=n.getVelocity()),t}function l2(e,t,n){const r=e.getProps();return r6(r,t,n!==void 0?n:r.custom,hEe(e),pEe(e))}const gEe="framerAppearId",mEe="data-"+t6(gEe);let yEe=Gn,i6=Gn;const Ll=e=>e*1e3,xa=e=>e/1e3,vEe={current:!1},jV=e=>Array.isArray(e)&&typeof e[0]=="number";function GV(e){return!!(!e||typeof e=="string"&&HV[e]||jV(e)||Array.isArray(e)&&e.every(GV))}const gp=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,HV={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:gp([0,.65,.55,1]),circOut:gp([.55,0,1,.45]),backIn:gp([.31,.01,.66,-.59]),backOut:gp([.33,1.53,.69,.99])};function WV(e){if(e)return jV(e)?gp(e):Array.isArray(e)?e.map(WV):HV[e]}function _Ee(e,t,n,{delay:r=0,duration:i,repeat:o=0,repeatType:s="loop",ease:a,times:l}={}){const u={[t]:n};l&&(u.offset=l);const d=WV(a);return Array.isArray(d)&&(u.easing=d),e.animate(u,{delay:r,duration:i,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:o+1,direction:s==="reverse"?"alternate":"normal"})}const lI={waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate")},Jx={},qV={};for(const e in lI)qV[e]=()=>(Jx[e]===void 0&&(Jx[e]=lI[e]()),Jx[e]);function bEe(e,{repeat:t,repeatType:n="loop"}){const r=t&&n!=="loop"&&t%2===1?0:e.length-1;return e[r]}const KV=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,SEe=1e-7,wEe=12;function xEe(e,t,n,r,i){let o,s,a=0;do s=t+(n-t)/2,o=KV(s,r,i)-e,o>0?n=s:t=s;while(Math.abs(o)>SEe&&++axEe(o,0,1,e,n);return o=>o===0||o===1?o:KV(i(o),t,r)}const CEe=Bm(.42,0,1,1),TEe=Bm(0,0,.58,1),XV=Bm(.42,0,.58,1),EEe=e=>Array.isArray(e)&&typeof e[0]!="number",YV=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,QV=e=>t=>1-e(1-t),ZV=e=>1-Math.sin(Math.acos(e)),o6=QV(ZV),AEe=YV(o6),JV=Bm(.33,1.53,.69,.99),s6=QV(JV),PEe=YV(s6),REe=e=>(e*=2)<1?.5*s6(e):.5*(2-Math.pow(2,-10*(e-1))),OEe={linear:Gn,easeIn:CEe,easeInOut:XV,easeOut:TEe,circIn:ZV,circInOut:AEe,circOut:o6,backIn:s6,backInOut:PEe,backOut:JV,anticipate:REe},uI=e=>{if(Array.isArray(e)){i6(e.length===4);const[t,n,r,i]=e;return Bm(t,n,r,i)}else if(typeof e=="string")return OEe[e];return e},a6=(e,t)=>n=>!!($m(n)&&RTe.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),ej=(e,t,n)=>r=>{if(!$m(r))return r;const[i,o,s,a]=r.match(s2);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(s),alpha:a!==void 0?parseFloat(a):1}},kEe=e=>Kl(0,255,e),eC={...Oc,transform:e=>Math.round(kEe(e))},Uu={test:a6("rgb","red"),parse:ej("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+eC.transform(e)+", "+eC.transform(t)+", "+eC.transform(n)+", "+kp(Op.transform(r))+")"};function IEe(e){let t="",n="",r="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const R5={test:a6("#"),parse:IEe,transform:Uu.transform},Fd={test:a6("hsl","hue"),parse:ej("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+Is.transform(kp(t))+", "+Is.transform(kp(n))+", "+kp(Op.transform(r))+")"},ni={test:e=>Uu.test(e)||R5.test(e)||Fd.test(e),parse:e=>Uu.test(e)?Uu.parse(e):Fd.test(e)?Fd.parse(e):R5.parse(e),transform:e=>$m(e)?e:e.hasOwnProperty("red")?Uu.transform(e):Fd.transform(e)},vn=(e,t,n)=>-n*e+n*t+e;function tC(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function MEe({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,o=0,s=0;if(!t)i=o=s=n;else{const a=n<.5?n*(1+t):n+t-n*t,l=2*n-a;i=tC(l,a,e+1/3),o=tC(l,a,e),s=tC(l,a,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(s*255),alpha:r}}const nC=(e,t,n)=>{const r=e*e;return Math.sqrt(Math.max(0,n*(t*t-r)+r))},NEe=[R5,Uu,Fd],LEe=e=>NEe.find(t=>t.test(e));function cI(e){const t=LEe(e);let n=t.parse(e);return t===Fd&&(n=MEe(n)),n}const tj=(e,t)=>{const n=cI(e),r=cI(t),i={...n};return o=>(i.red=nC(n.red,r.red,o),i.green=nC(n.green,r.green,o),i.blue=nC(n.blue,r.blue,o),i.alpha=vn(n.alpha,r.alpha,o),Uu.transform(i))};function DEe(e){var t,n;return isNaN(e)&&$m(e)&&(((t=e.match(s2))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(EV))===null||n===void 0?void 0:n.length)||0)>0}const nj={regex:ATe,countKey:"Vars",token:"${v}",parse:Gn},rj={regex:EV,countKey:"Colors",token:"${c}",parse:ni.parse},ij={regex:s2,countKey:"Numbers",token:"${n}",parse:Oc.parse};function rC(e,{regex:t,countKey:n,token:r,parse:i}){const o=e.tokenised.match(t);o&&(e["num"+n]=o.length,e.tokenised=e.tokenised.replace(t,r),e.values.push(...o.map(i)))}function d_(e){const t=e.toString(),n={value:t,tokenised:t,values:[],numVars:0,numColors:0,numNumbers:0};return n.value.includes("var(--")&&rC(n,nj),rC(n,rj),rC(n,ij),n}function oj(e){return d_(e).values}function sj(e){const{values:t,numColors:n,numVars:r,tokenised:i}=d_(e),o=t.length;return s=>{let a=i;for(let l=0;ltypeof e=="number"?0:e;function FEe(e){const t=oj(e);return sj(e)(t.map($Ee))}const Xl={test:DEe,parse:oj,createTransformer:sj,getAnimatableNone:FEe},aj=(e,t)=>n=>`${n>0?t:e}`;function lj(e,t){return typeof e=="number"?n=>vn(e,t,n):ni.test(e)?tj(e,t):e.startsWith("var(")?aj(e,t):cj(e,t)}const uj=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,s)=>lj(o,t[s]));return o=>{for(let s=0;s{const n={...e,...t},r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=lj(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}},cj=(e,t)=>{const n=Xl.createTransformer(t),r=d_(e),i=d_(t);return r.numVars===i.numVars&&r.numColors===i.numColors&&r.numNumbers>=i.numNumbers?Nl(uj(r.values,i.values),n):aj(e,t)},jg=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},dI=(e,t)=>n=>vn(e,t,n);function UEe(e){return typeof e=="number"?dI:typeof e=="string"?ni.test(e)?tj:cj:Array.isArray(e)?uj:typeof e=="object"?BEe:dI}function zEe(e,t,n){const r=[],i=n||UEe(e[0]),o=e.length-1;for(let s=0;st[0];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const s=zEe(t,r,i),a=s.length,l=u=>{let d=0;if(a>1)for(;dl(Kl(e[0],e[o-1],u)):l}function VEe(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const i=jg(0,t,r);e.push(vn(n,1,i))}}function jEe(e){const t=[0];return VEe(t,e.length-1),t}function GEe(e,t){return e.map(n=>n*t)}function HEe(e,t){return e.map(()=>t||XV).splice(0,e.length-1)}function f_({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const i=EEe(r)?r.map(uI):uI(r),o={done:!1,value:t[0]},s=GEe(n&&n.length===t.length?n:jEe(t),e),a=dj(s,t,{ease:Array.isArray(i)?i:HEe(t,i)});return{calculatedDuration:e,next:l=>(o.value=a(l),o.done=l>=e,o)}}function fj(e,t){return t?e*(1e3/t):0}const WEe=5;function hj(e,t,n){const r=Math.max(t-WEe,0);return fj(n-e(r),t-r)}const iC=.001,qEe=.01,fI=10,KEe=.05,XEe=1;function YEe({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,o;yEe(e<=Ll(fI));let s=1-t;s=Kl(KEe,XEe,s),e=Kl(qEe,fI,xa(e)),s<1?(i=u=>{const d=u*s,f=d*e,p=d-n,g=O5(u,s),m=Math.exp(-f);return iC-p/g*m},o=u=>{const f=u*s*e,p=f*n+n,g=Math.pow(s,2)*Math.pow(u,2)*e,m=Math.exp(-f),v=O5(Math.pow(u,2),s);return(-i(u)+iC>0?-1:1)*((p-g)*m)/v}):(i=u=>{const d=Math.exp(-u*e),f=(u-n)*e+1;return-iC+d*f},o=u=>{const d=Math.exp(-u*e),f=(n-u)*(e*e);return d*f});const a=5/e,l=ZEe(i,o,a);if(e=Ll(e),isNaN(l))return{stiffness:100,damping:10,duration:e};{const u=Math.pow(l,2)*r;return{stiffness:u,damping:s*2*Math.sqrt(r*u),duration:e}}}const QEe=12;function ZEe(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function t6e(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!hI(e,e6e)&&hI(e,JEe)){const n=YEe(e);t={...t,...n,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}function pj({keyframes:e,restDelta:t,restSpeed:n,...r}){const i=e[0],o=e[e.length-1],s={done:!1,value:i},{stiffness:a,damping:l,mass:u,velocity:d,duration:f,isResolvedFromDuration:p}=t6e(r),g=d?-xa(d):0,m=l/(2*Math.sqrt(a*u)),v=o-i,x=xa(Math.sqrt(a/u)),_=Math.abs(v)<5;n||(n=_?.01:2),t||(t=_?.005:.5);let b;if(m<1){const y=O5(x,m);b=S=>{const C=Math.exp(-m*x*S);return o-C*((g+m*x*v)/y*Math.sin(y*S)+v*Math.cos(y*S))}}else if(m===1)b=y=>o-Math.exp(-x*y)*(v+(g+x*v)*y);else{const y=x*Math.sqrt(m*m-1);b=S=>{const C=Math.exp(-m*x*S),T=Math.min(y*S,300);return o-C*((g+m*x*v)*Math.sinh(T)+y*v*Math.cosh(T))/y}}return{calculatedDuration:p&&f||null,next:y=>{const S=b(y);if(p)s.done=y>=f;else{let C=g;y!==0&&(m<1?C=hj(b,y,S):C=0);const T=Math.abs(C)<=n,E=Math.abs(o-S)<=t;s.done=T&&E}return s.value=s.done?o:S,s}}}function pI({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:o=500,modifyTarget:s,min:a,max:l,restDelta:u=.5,restSpeed:d}){const f=e[0],p={done:!1,value:f},g=P=>a!==void 0&&Pl,m=P=>a===void 0?l:l===void 0||Math.abs(a-P)-v*Math.exp(-P/r),y=P=>_+b(P),S=P=>{const k=b(P),O=y(P);p.done=Math.abs(k)<=u,p.value=p.done?_:O};let C,T;const E=P=>{g(p.value)&&(C=P,T=pj({keyframes:[p.value,m(p.value)],velocity:hj(y,P,p.value),damping:i,stiffness:o,restDelta:u,restSpeed:d}))};return E(0),{calculatedDuration:null,next:P=>{let k=!1;return!T&&C===void 0&&(k=!0,S(P),E(P)),C!==void 0&&P>C?T.next(P-C):(!k&&S(P),p)}}}const n6e=e=>{const t=({timestamp:n})=>e(n);return{start:()=>dn.update(t,!0),stop:()=>Ia(t),now:()=>zr.isProcessing?zr.timestamp:performance.now()}},gI=2e4;function mI(e){let t=0;const n=50;let r=e.next(t);for(;!r.done&&t=gI?1/0:t}const r6e={decay:pI,inertia:pI,tween:f_,keyframes:f_,spring:pj};function h_({autoplay:e=!0,delay:t=0,driver:n=n6e,keyframes:r,type:i="keyframes",repeat:o=0,repeatDelay:s=0,repeatType:a="loop",onPlay:l,onStop:u,onComplete:d,onUpdate:f,...p}){let g=1,m=!1,v,x;const _=()=>{x=new Promise(q=>{v=q})};_();let b;const y=r6e[i]||f_;let S;y!==f_&&typeof r[0]!="number"&&(S=dj([0,100],r,{clamp:!1}),r=[0,100]);const C=y({...p,keyframes:r});let T;a==="mirror"&&(T=y({...p,keyframes:[...r].reverse(),velocity:-(p.velocity||0)}));let E="idle",P=null,k=null,O=null;C.calculatedDuration===null&&o&&(C.calculatedDuration=mI(C));const{calculatedDuration:M}=C;let G=1/0,U=1/0;M!==null&&(G=M+s,U=G*(o+1)-s);let A=0;const N=q=>{if(k===null)return;g>0&&(k=Math.min(k,q)),g<0&&(k=Math.min(q-U/g,k)),P!==null?A=P:A=Math.round(q-k)*g;const Z=A-t*(g>=0?1:-1),ee=g>=0?Z<0:Z>U;A=Math.max(Z,0),E==="finished"&&P===null&&(A=U);let ie=A,se=C;if(o){const fe=A/G;let pe=Math.floor(fe),ve=fe%1;!ve&&fe>=1&&(ve=1),ve===1&&pe--,pe=Math.min(pe,o+1);const ye=!!(pe%2);ye&&(a==="reverse"?(ve=1-ve,s&&(ve-=s/G)):a==="mirror"&&(se=T));let We=Kl(0,1,ve);A>U&&(We=a==="reverse"&&ye?1:0),ie=We*G}const le=ee?{done:!1,value:r[0]}:se.next(ie);S&&(le.value=S(le.value));let{done:W}=le;!ee&&M!==null&&(W=g>=0?A>=U:A<=0);const ne=P===null&&(E==="finished"||E==="running"&&W);return f&&f(le.value),ne&&D(),le},F=()=>{b&&b.stop(),b=void 0},B=()=>{E="idle",F(),v(),_(),k=O=null},D=()=>{E="finished",d&&d(),F(),v()},V=()=>{if(m)return;b||(b=n(N));const q=b.now();l&&l(),P!==null?k=q-P:(!k||E==="finished")&&(k=q),E==="finished"&&_(),O=k,P=null,E="running",b.start()};e&&V();const j={then(q,Z){return x.then(q,Z)},get time(){return xa(A)},set time(q){q=Ll(q),A=q,P!==null||!b||g===0?P=q:k=b.now()-q/g},get duration(){const q=C.calculatedDuration===null?mI(C):C.calculatedDuration;return xa(q)},get speed(){return g},set speed(q){q===g||!b||(g=q,j.time=xa(A))},get state(){return E},play:V,pause:()=>{E="paused",P=A},stop:()=>{m=!0,E!=="idle"&&(E="idle",u&&u(),B())},cancel:()=>{O!==null&&N(O),B()},complete:()=>{E="finished"},sample:q=>(k=0,N(q))};return j}const i6e=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),W0=10,o6e=2e4,s6e=(e,t)=>t.type==="spring"||e==="backgroundColor"||!GV(t.ease);function a6e(e,t,{onUpdate:n,onComplete:r,...i}){if(!(qV.waapi()&&i6e.has(t)&&!i.repeatDelay&&i.repeatType!=="mirror"&&i.damping!==0&&i.type!=="inertia"))return!1;let s=!1,a,l;const u=()=>{l=new Promise(_=>{a=_})};u();let{keyframes:d,duration:f=300,ease:p,times:g}=i;if(s6e(t,i)){const _=h_({...i,repeat:0,delay:0});let b={done:!1,value:d[0]};const y=[];let S=0;for(;!b.done&&Sm.cancel(),x=()=>{dn.update(v),a(),u()};return m.onfinish=()=>{e.set(bEe(d,i)),r&&r(),x()},{then(_,b){return l.then(_,b)},get time(){return xa(m.currentTime||0)},set time(_){m.currentTime=Ll(_)},get speed(){return m.playbackRate},set speed(_){m.playbackRate=_},get duration(){return xa(f)},play:()=>{s||(m.play(),Ia(v))},pause:()=>m.pause(),stop:()=>{if(s=!0,m.playState==="idle")return;const{currentTime:_}=m;if(_){const b=h_({...i,autoplay:!1});e.setWithVelocity(b.sample(_-W0).value,b.sample(_).value,W0)}x()},complete:()=>m.finish(),cancel:x}}function l6e({keyframes:e,delay:t,onUpdate:n,onComplete:r}){const i=()=>(n&&n(e[e.length-1]),r&&r(),{time:0,speed:1,duration:0,play:Gn,pause:Gn,stop:Gn,then:o=>(o(),Promise.resolve()),cancel:Gn,complete:Gn});return t?h_({keyframes:[0,1],duration:0,delay:t,onComplete:i}):i()}const u6e={type:"spring",stiffness:500,damping:25,restSpeed:10},c6e=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),d6e={type:"keyframes",duration:.8},f6e={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},h6e=(e,{keyframes:t})=>t.length>2?d6e:Rc.has(e)?e.startsWith("scale")?c6e(t[1]):u6e:f6e,k5=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(Xl.test(t)||t==="0")&&!t.startsWith("url(")),p6e=new Set(["brightness","contrast","saturate","opacity"]);function g6e(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(s2)||[];if(!r)return e;const i=n.replace(r,"");let o=p6e.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+i+")"}const m6e=/([a-z-]*)\(.*?\)/g,I5={...Xl,getAnimatableNone:e=>{const t=e.match(m6e);return t?t.map(g6e).join(" "):e}},y6e={...AV,color:ni,backgroundColor:ni,outlineColor:ni,fill:ni,stroke:ni,borderColor:ni,borderTopColor:ni,borderRightColor:ni,borderBottomColor:ni,borderLeftColor:ni,filter:I5,WebkitFilter:I5},l6=e=>y6e[e];function gj(e,t){let n=l6(e);return n!==I5&&(n=Xl),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const mj=e=>/^0[^.\s]+$/.test(e);function v6e(e){if(typeof e=="number")return e===0;if(e!==null)return e==="none"||e==="0"||mj(e)}function _6e(e,t,n,r){const i=k5(t,n);let o;Array.isArray(n)?o=[...n]:o=[null,n];const s=r.from!==void 0?r.from:e.get();let a;const l=[];for(let u=0;ui=>{const o=yj(r,e)||{},s=o.delay||r.delay||0;let{elapsed:a=0}=r;a=a-Ll(s);const l=_6e(t,e,n,o),u=l[0],d=l[l.length-1],f=k5(e,u),p=k5(e,d);let g={keyframes:l,velocity:t.getVelocity(),ease:"easeOut",...o,delay:-a,onUpdate:m=>{t.set(m),o.onUpdate&&o.onUpdate(m)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(b6e(o)||(g={...g,...h6e(e,g)}),g.duration&&(g.duration=Ll(g.duration)),g.repeatDelay&&(g.repeatDelay=Ll(g.repeatDelay)),!f||!p||vEe.current||o.type===!1)return l6e(g);if(t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const m=a6e(t,e,g);if(m)return m}return h_(g)};function p_(e){return!!(ki(e)&&e.add)}const S6e=e=>/^\-?\d*\.?\d+$/.test(e);function c6(e,t){e.indexOf(t)===-1&&e.push(t)}function d6(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class f6{constructor(){this.subscriptions=[]}add(t){return c6(this.subscriptions,t),()=>d6(this.subscriptions,t)}notify(t,n,r){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,r);else for(let o=0;o!isNaN(parseFloat(e));class x6e{constructor(t,n={}){this.version="10.12.22",this.timeDelta=0,this.lastUpdated=0,this.canTrackVelocity=!1,this.events={},this.updateAndNotify=(r,i=!0)=>{this.prev=this.current,this.current=r;const{delta:o,timestamp:s}=zr;this.lastUpdated!==s&&(this.timeDelta=o,this.lastUpdated=s,dn.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),i&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>dn.postRender(this.velocityCheck),this.velocityCheck=({timestamp:r})=>{r!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=t,this.canTrackVelocity=w6e(this.current),this.owner=n.owner}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new f6);const r=this.events[t].add(n);return t==="change"?()=>{r(),dn.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,r){this.set(n),this.prev=t,this.timeDelta=r}jump(t){this.updateAndNotify(t),this.prev=t,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?fj(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function Mf(e,t){return new x6e(e,t)}const vj=e=>t=>t.test(e),C6e={test:e=>e==="auto",parse:e=>e},_j=[Oc,Be,Is,al,kTe,OTe,C6e],ip=e=>_j.find(vj(e)),T6e=[..._j,ni,Xl],E6e=e=>T6e.find(vj(e));function A6e(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,Mf(n))}function P6e(e,t){const n=l2(e,t);let{transitionEnd:r={},transition:i={},...o}=n?e.makeTargetAnimatable(n,!1):{};o={...o,...r};for(const s in o){const a=HTe(o[s]);A6e(e,s,a)}}function R6e(e,t,n){var r,i;const o=Object.keys(t).filter(a=>!e.hasValue(a)),s=o.length;if(s)for(let a=0;al.remove(f))),u.push(v)}return s&&Promise.all(u).then(()=>{s&&P6e(e,s)}),u}function M5(e,t,n={}){const r=l2(e,t,n.custom);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const o=r?()=>Promise.all(bj(e,r,n)):()=>Promise.resolve(),s=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:d,staggerDirection:f}=i;return M6e(e,t,u+l,d,f,n)}:()=>Promise.resolve(),{when:a}=i;if(a){const[l,u]=a==="beforeChildren"?[o,s]:[s,o];return l().then(()=>u())}else return Promise.all([o(),s(n.delay)])}function M6e(e,t,n=0,r=0,i=1,o){const s=[],a=(e.variantChildren.size-1)*r,l=i===1?(u=0)=>u*r:(u=0)=>a-u*r;return Array.from(e.variantChildren).sort(N6e).forEach((u,d)=>{u.notify("AnimationStart",t),s.push(M5(u,t,{...o,delay:n+l(d)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(s)}function N6e(e,t){return e.sortNodePosition(t)}function L6e(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(o=>M5(e,o,n));r=Promise.all(i)}else if(typeof t=="string")r=M5(e,t,n);else{const i=typeof t=="function"?l2(e,t,n.custom):t;r=Promise.all(bj(e,i,n))}return r.then(()=>e.notify("AnimationComplete",t))}const D6e=[...qE].reverse(),$6e=qE.length;function F6e(e){return t=>Promise.all(t.map(({animation:n,options:r})=>L6e(e,n,r)))}function B6e(e){let t=F6e(e);const n=z6e();let r=!0;const i=(l,u)=>{const d=l2(e,u);if(d){const{transition:f,transitionEnd:p,...g}=d;l={...l,...g,...p}}return l};function o(l){t=l(e)}function s(l,u){const d=e.getProps(),f=e.getVariantContext(!0)||{},p=[],g=new Set;let m={},v=1/0;for(let _=0;_<$6e;_++){const b=D6e[_],y=n[b],S=d[b]!==void 0?d[b]:f[b],C=zg(S),T=b===u?y.isActive:null;T===!1&&(v=_);let E=S===f[b]&&S!==d[b]&&C;if(E&&r&&e.manuallyAnimateOnMount&&(E=!1),y.protectedKeys={...m},!y.isActive&&T===null||!S&&!y.prevProp||i2(S)||typeof S=="boolean")continue;const P=U6e(y.prevProp,S);let k=P||b===u&&y.isActive&&!E&&C||_>v&&C;const O=Array.isArray(S)?S:[S];let M=O.reduce(i,{});T===!1&&(M={});const{prevResolvedValues:G={}}=y,U={...G,...M},A=N=>{k=!0,g.delete(N),y.needsAnimating[N]=!0};for(const N in U){const F=M[N],B=G[N];m.hasOwnProperty(N)||(F!==B?c_(F)&&c_(B)?!VV(F,B)||P?A(N):y.protectedKeys[N]=!0:F!==void 0?A(N):g.add(N):F!==void 0&&g.has(N)?A(N):y.protectedKeys[N]=!0)}y.prevProp=S,y.prevResolvedValues=M,y.isActive&&(m={...m,...M}),r&&e.blockInitialAnimation&&(k=!1),k&&!E&&p.push(...O.map(N=>({animation:N,options:{type:b,...l}})))}if(g.size){const _={};g.forEach(b=>{const y=e.getBaseTarget(b);y!==void 0&&(_[b]=y)}),p.push({animation:_})}let x=!!p.length;return r&&d.initial===!1&&!e.manuallyAnimateOnMount&&(x=!1),r=!1,x?t(p):Promise.resolve()}function a(l,u,d){var f;if(n[l].isActive===u)return Promise.resolve();(f=e.variantChildren)===null||f===void 0||f.forEach(g=>{var m;return(m=g.animationState)===null||m===void 0?void 0:m.setActive(l,u)}),n[l].isActive=u;const p=s(d,l);for(const g in n)n[g].protectedKeys={};return p}return{animateChanges:s,setActive:a,setAnimateFunction:o,getState:()=>n}}function U6e(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!VV(t,e):!1}function Cu(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function z6e(){return{animate:Cu(!0),whileInView:Cu(),whileHover:Cu(),whileTap:Cu(),whileDrag:Cu(),whileFocus:Cu(),exit:Cu()}}class V6e extends uu{constructor(t){super(t),t.animationState||(t.animationState=B6e(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();this.unmount(),i2(t)&&(this.unmount=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){}}let j6e=0;class G6e extends uu{constructor(){super(...arguments),this.id=j6e++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n,custom:r}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;const o=this.node.animationState.setActive("exit",!t,{custom:r??this.node.getProps().custom});n&&!t&&o.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const H6e={animation:{Feature:V6e},exit:{Feature:G6e}},yI=(e,t)=>Math.abs(e-t);function W6e(e,t){const n=yI(e.x,t.x),r=yI(e.y,t.y);return Math.sqrt(n**2+r**2)}class Sj{constructor(t,n,{transformPagePoint:r}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const u=sC(this.lastMoveEventInfo,this.history),d=this.startEvent!==null,f=W6e(u.offset,{x:0,y:0})>=3;if(!d&&!f)return;const{point:p}=u,{timestamp:g}=zr;this.history.push({...p,timestamp:g});const{onStart:m,onMove:v}=this.handlers;d||(m&&m(this.lastMoveEvent,u),this.startEvent=this.lastMoveEvent),v&&v(this.lastMoveEvent,u)},this.handlePointerMove=(u,d)=>{this.lastMoveEvent=u,this.lastMoveEventInfo=oC(d,this.transformPagePoint),dn.update(this.updatePoint,!0)},this.handlePointerUp=(u,d)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:f,onSessionEnd:p}=this.handlers,g=sC(u.type==="pointercancel"?this.lastMoveEventInfo:oC(d,this.transformPagePoint),this.history);this.startEvent&&f&&f(u,g),p&&p(u,g)},!$V(t))return;this.handlers=n,this.transformPagePoint=r;const i=a2(t),o=oC(i,this.transformPagePoint),{point:s}=o,{timestamp:a}=zr;this.history=[{...s,timestamp:a}];const{onSessionStart:l}=n;l&&l(t,sC(o,this.history)),this.removeListeners=Nl(wa(window,"pointermove",this.handlePointerMove),wa(window,"pointerup",this.handlePointerUp),wa(window,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),Ia(this.updatePoint)}}function oC(e,t){return t?{point:t(e.point)}:e}function vI(e,t){return{x:e.x-t.x,y:e.y-t.y}}function sC({point:e},t){return{point:e,delta:vI(e,wj(t)),offset:vI(e,q6e(t)),velocity:K6e(t,.1)}}function q6e(e){return e[0]}function wj(e){return e[e.length-1]}function K6e(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=wj(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Ll(t)));)n--;if(!r)return{x:0,y:0};const o=xa(i.timestamp-r.timestamp);if(o===0)return{x:0,y:0};const s={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function Xi(e){return e.max-e.min}function N5(e,t=0,n=.01){return Math.abs(e-t)<=n}function _I(e,t,n,r=.5){e.origin=r,e.originPoint=vn(t.min,t.max,e.origin),e.scale=Xi(n)/Xi(t),(N5(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=vn(n.min,n.max,e.origin)-e.originPoint,(N5(e.translate)||isNaN(e.translate))&&(e.translate=0)}function Ip(e,t,n,r){_I(e.x,t.x,n.x,r?r.originX:void 0),_I(e.y,t.y,n.y,r?r.originY:void 0)}function bI(e,t,n){e.min=n.min+t.min,e.max=e.min+Xi(t)}function X6e(e,t,n){bI(e.x,t.x,n.x),bI(e.y,t.y,n.y)}function SI(e,t,n){e.min=t.min-n.min,e.max=e.min+Xi(t)}function Mp(e,t,n){SI(e.x,t.x,n.x),SI(e.y,t.y,n.y)}function Y6e(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?vn(n,e,r.max):Math.min(e,n)),e}function wI(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function Q6e(e,{top:t,left:n,bottom:r,right:i}){return{x:wI(e.x,n,i),y:wI(e.y,t,r)}}function xI(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=jg(t.min,t.max-r,e.min):r>i&&(n=jg(e.min,e.max-i,t.min)),Kl(0,1,n)}function eAe(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const L5=.35;function tAe(e=L5){return e===!1?e=0:e===!0&&(e=L5),{x:CI(e,"left","right"),y:CI(e,"top","bottom")}}function CI(e,t,n){return{min:TI(e,t),max:TI(e,n)}}function TI(e,t){return typeof e=="number"?e:e[t]||0}const EI=()=>({translate:0,scale:1,origin:0,originPoint:0}),Bd=()=>({x:EI(),y:EI()}),AI=()=>({min:0,max:0}),Bn=()=>({x:AI(),y:AI()});function ps(e){return[e("x"),e("y")]}function xj({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function nAe({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function rAe(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function aC(e){return e===void 0||e===1}function D5({scale:e,scaleX:t,scaleY:n}){return!aC(e)||!aC(t)||!aC(n)}function Ru(e){return D5(e)||Cj(e)||e.z||e.rotate||e.rotateX||e.rotateY}function Cj(e){return PI(e.x)||PI(e.y)}function PI(e){return e&&e!=="0%"}function g_(e,t,n){const r=e-n,i=t*r;return n+i}function RI(e,t,n,r,i){return i!==void 0&&(e=g_(e,i,r)),g_(e,n,r)+t}function $5(e,t=0,n=1,r,i){e.min=RI(e.min,t,n,r,i),e.max=RI(e.max,t,n,r,i)}function Tj(e,{x:t,y:n}){$5(e.x,t.translate,t.scale,t.originPoint),$5(e.y,n.translate,n.scale,n.originPoint)}function iAe(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let o,s;for(let a=0;a1.0000000000001||e<.999999999999?e:1}function fl(e,t){e.min=e.min+t,e.max=e.max+t}function kI(e,t,[n,r,i]){const o=t[i]!==void 0?t[i]:.5,s=vn(e.min,e.max,o);$5(e,t[n],t[r],s,t.scale)}const oAe=["x","scaleX","originX"],sAe=["y","scaleY","originY"];function Ud(e,t){kI(e.x,t,oAe),kI(e.y,t,sAe)}function Ej(e,t){return xj(rAe(e.getBoundingClientRect(),t))}function aAe(e,t,n){const r=Ej(e,n),{scroll:i}=t;return i&&(fl(r.x,i.offset.x),fl(r.y,i.offset.y)),r}const lAe=new WeakMap;class uAe{constructor(t){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Bn(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const i=l=>{this.stopAnimation(),n&&this.snapToCursor(a2(l,"page").point)},o=(l,u)=>{const{drag:d,dragPropagation:f,onDragStart:p}=this.getProps();if(d&&!f&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=BV(d),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),ps(m=>{let v=this.getAxisMotionValue(m).get()||0;if(Is.test(v)){const{projection:x}=this.visualElement;if(x&&x.layout){const _=x.layout.layoutBox[m];_&&(v=Xi(_)*(parseFloat(v)/100))}}this.originPoint[m]=v}),p&&dn.update(()=>p(l,u),!1,!0);const{animationState:g}=this.visualElement;g&&g.setActive("whileDrag",!0)},s=(l,u)=>{const{dragPropagation:d,dragDirectionLock:f,onDirectionLock:p,onDrag:g}=this.getProps();if(!d&&!this.openGlobalLock)return;const{offset:m}=u;if(f&&this.currentDirection===null){this.currentDirection=cAe(m),this.currentDirection!==null&&p&&p(this.currentDirection);return}this.updateAxis("x",u.point,m),this.updateAxis("y",u.point,m),this.visualElement.render(),g&&g(l,u)},a=(l,u)=>this.stop(l,u);this.panSession=new Sj(t,{onSessionStart:i,onStart:o,onMove:s,onSessionEnd:a},{transformPagePoint:this.visualElement.getTransformPagePoint()})}stop(t,n){const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:i}=n;this.startAnimation(i);const{onDragEnd:o}=this.getProps();o&&dn.update(()=>o(t,n))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!q0(t,i,this.currentDirection))return;const o=this.getAxisMotionValue(t);let s=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(s=Y6e(s,this.constraints[t],this.elastic[t])),o.set(s)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),{layout:r}=this.visualElement.projection||{},i=this.constraints;t&&$d(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=Q6e(r.layoutBox,t):this.constraints=!1,this.elastic=tAe(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&ps(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=eAe(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!$d(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=aAe(r,i.root,this.visualElement.getTransformPagePoint());let s=Z6e(i.layout.layoutBox,o);if(n){const a=n(nAe(s));this.hasMutatedConstraints=!!a,a&&(s=xj(a))}return s}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:o,dragSnapToOrigin:s,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},u=ps(d=>{if(!q0(d,n,this.currentDirection))return;let f=l&&l[d]||{};s&&(f={min:0,max:0});const p=i?200:1e6,g=i?40:1e7,m={type:"inertia",velocity:r?t[d]:0,bounceStiffness:p,bounceDamping:g,timeConstant:750,restDelta:1,restSpeed:10,...o,...f};return this.startAxisValueAnimation(d,m)});return Promise.all(u).then(a)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return r.start(u6(t,r,0,n))}stopAnimation(){ps(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const n="_drag"+t.toUpperCase(),r=this.visualElement.getProps(),i=r[n];return i||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){ps(n=>{const{drag:r}=this.getProps();if(!q0(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,o=this.getAxisMotionValue(n);if(i&&i.layout){const{min:s,max:a}=i.layout.layoutBox[n];o.set(t[n]-vn(s,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!$d(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};ps(s=>{const a=this.getAxisMotionValue(s);if(a){const l=a.get();i[s]=J6e({min:l,max:l},this.constraints[s])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),ps(s=>{if(!q0(s,t,null))return;const a=this.getAxisMotionValue(s),{min:l,max:u}=this.constraints[s];a.set(vn(l,u,i[s]))})}addListeners(){if(!this.visualElement.current)return;lAe.set(this.visualElement,this);const t=this.visualElement.current,n=wa(t,"pointerdown",l=>{const{drag:u,dragListener:d=!0}=this.getProps();u&&d&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();$d(l)&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,o=i.addEventListener("measure",r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),r();const s=ya(window,"resize",()=>this.scalePositionWithinConstraints()),a=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(ps(d=>{const f=this.getAxisMotionValue(d);f&&(this.originPoint[d]+=l[d].translate,f.set(f.get()+l[d].translate))}),this.visualElement.render())});return()=>{s(),n(),o(),a&&a()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:o=!1,dragElastic:s=L5,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:o,dragElastic:s,dragMomentum:a}}}function q0(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function cAe(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class dAe extends uu{constructor(t){super(t),this.removeGroupControls=Gn,this.removeListeners=Gn,this.controls=new uAe(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Gn}unmount(){this.removeGroupControls(),this.removeListeners()}}const II=e=>(t,n)=>{e&&dn.update(()=>e(t,n))};class fAe extends uu{constructor(){super(...arguments),this.removePointerDownListener=Gn}onPointerDown(t){this.session=new Sj(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:II(t),onStart:II(n),onMove:r,onEnd:(o,s)=>{delete this.session,i&&dn.update(()=>i(o,s))}}}mount(){this.removePointerDownListener=wa(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}function hAe(){const e=L.useContext(Lm);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,i=L.useId();return L.useEffect(()=>r(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}function TMe(){return pAe(L.useContext(Lm))}function pAe(e){return e===null?!0:e.isPresent}const kv={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function MI(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const op={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(Be.test(e))e=parseFloat(e);else return e;const n=MI(e,t.target.x),r=MI(e,t.target.y);return`${n}% ${r}%`}},gAe={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=Xl.parse(e);if(i.length>5)return r;const o=Xl.createTransformer(e),s=typeof i[0]!="number"?1:0,a=n.x.scale*t.x,l=n.y.scale*t.y;i[0+s]/=a,i[1+s]/=l;const u=vn(a,l,.5);return typeof i[2+s]=="number"&&(i[2+s]/=u),typeof i[3+s]=="number"&&(i[3+s]/=u),o(i)}};class mAe extends Lt.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:o}=t;xTe(yAe),o&&(n.group&&n.group.add(o),r&&r.register&&i&&r.register(o),o.root.didUpdate(),o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),kv.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:o}=this.props,s=r.projection;return s&&(s.isPresent=o,i||t.layoutDependency!==n||n===void 0?s.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?s.promote():s.relegate()||dn.postRender(()=>{const a=s.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),queueMicrotask(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:i}=t;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),r&&r.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function Aj(e){const[t,n]=hAe(),r=L.useContext(XE);return Lt.createElement(mAe,{...e,layoutGroup:r,switchLayoutGroup:L.useContext(wV),isPresent:t,safeToRemove:n})}const yAe={borderRadius:{...op,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:op,borderTopRightRadius:op,borderBottomLeftRadius:op,borderBottomRightRadius:op,boxShadow:gAe},Pj=["TopLeft","TopRight","BottomLeft","BottomRight"],vAe=Pj.length,NI=e=>typeof e=="string"?parseFloat(e):e,LI=e=>typeof e=="number"||Be.test(e);function _Ae(e,t,n,r,i,o){i?(e.opacity=vn(0,n.opacity!==void 0?n.opacity:1,bAe(r)),e.opacityExit=vn(t.opacity!==void 0?t.opacity:1,0,SAe(r))):o&&(e.opacity=vn(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,r));for(let s=0;srt?1:n(jg(e,t,r))}function $I(e,t){e.min=t.min,e.max=t.max}function fo(e,t){$I(e.x,t.x),$I(e.y,t.y)}function FI(e,t,n,r,i){return e-=t,e=g_(e,1/n,r),i!==void 0&&(e=g_(e,1/i,r)),e}function wAe(e,t=0,n=1,r=.5,i,o=e,s=e){if(Is.test(t)&&(t=parseFloat(t),t=vn(s.min,s.max,t/100)-s.min),typeof t!="number")return;let a=vn(o.min,o.max,r);e===o&&(a-=t),e.min=FI(e.min,t,n,a,i),e.max=FI(e.max,t,n,a,i)}function BI(e,t,[n,r,i],o,s){wAe(e,t[n],t[r],t[i],t.scale,o,s)}const xAe=["x","scaleX","originX"],CAe=["y","scaleY","originY"];function UI(e,t,n,r){BI(e.x,t,xAe,n?n.x:void 0,r?r.x:void 0),BI(e.y,t,CAe,n?n.y:void 0,r?r.y:void 0)}function zI(e){return e.translate===0&&e.scale===1}function Oj(e){return zI(e.x)&&zI(e.y)}function F5(e,t){return e.x.min===t.x.min&&e.x.max===t.x.max&&e.y.min===t.y.min&&e.y.max===t.y.max}function VI(e){return Xi(e.x)/Xi(e.y)}class TAe{constructor(){this.members=[]}add(t){c6(this.members,t),t.scheduleRender()}remove(t){if(d6(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(i=>t===i);if(n===0)return!1;let r;for(let i=n;i>=0;i--){const o=this.members[i];if(o.isPresent!==!1){r=o;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender(),t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function jI(e,t,n){let r="";const i=e.x.translate/t.x,o=e.y.translate/t.y;if((i||o)&&(r=`translate3d(${i}px, ${o}px, 0) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{rotate:l,rotateX:u,rotateY:d}=n;l&&(r+=`rotate(${l}deg) `),u&&(r+=`rotateX(${u}deg) `),d&&(r+=`rotateY(${d}deg) `)}const s=e.x.scale*t.x,a=e.y.scale*t.y;return(s!==1||a!==1)&&(r+=`scale(${s}, ${a})`),r||"none"}const EAe=(e,t)=>e.depth-t.depth;class AAe{constructor(){this.children=[],this.isDirty=!1}add(t){c6(this.children,t),this.isDirty=!0}remove(t){d6(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(EAe),this.isDirty=!1,this.children.forEach(t)}}function PAe(e,t){const n=performance.now(),r=({timestamp:i})=>{const o=i-n;o>=t&&(Ia(r),e(o-t))};return dn.read(r,!0),()=>Ia(r)}function RAe(e){window.MotionDebug&&window.MotionDebug.record(e)}function OAe(e){return e instanceof SVGElement&&e.tagName!=="svg"}function kAe(e,t,n){const r=ki(e)?e:Mf(e);return r.start(u6("",r,t,n)),r.animation}const GI=["","X","Y","Z"],HI=1e3;let IAe=0;const Ou={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function kj({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(s={},a=t==null?void 0:t()){this.id=IAe++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{Ou.totalNodes=Ou.resolvedTargetDeltas=Ou.recalculatedProjection=0,this.nodes.forEach(LAe),this.nodes.forEach(UAe),this.nodes.forEach(zAe),this.nodes.forEach(DAe),RAe(Ou)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=s,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;lthis.root.updateBlockedByResize=!1;e(s,()=>{this.root.updateBlockedByResize=!0,f&&f(),f=PAe(p,250),kv.hasAnimatedSinceResize&&(kv.hasAnimatedSinceResize=!1,this.nodes.forEach(qI))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&d&&(l||u)&&this.addEventListener("didUpdate",({delta:f,hasLayoutChanged:p,hasRelativeTargetChanged:g,layout:m})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const v=this.options.transition||d.getDefaultTransition()||WAe,{onLayoutAnimationStart:x,onLayoutAnimationComplete:_}=d.getProps(),b=!this.targetLayout||!F5(this.targetLayout,m)||g,y=!p&&g;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||y||p&&(b||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(f,y);const S={...yj(v,"layout"),onPlay:x,onComplete:_};(d.shouldReduceMotion||this.options.layoutRoot)&&(S.delay=0,S.type=!1),this.startAnimation(S)}else p||qI(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=m})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const s=this.getStack();s&&s.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,Ia(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(VAe),this.animationId++)}getTransformTemplate(){const{visualElement:s}=this.options;return s&&s.getProps().transformTemplate}willUpdate(s=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let d=0;dthis.update()))}clearAllSnapshots(){this.nodes.forEach($Ae),this.sharedNodes.forEach(jAe)}scheduleUpdateProjection(){dn.preRender(this.updateProjection,!1,!0)}scheduleCheckAfterUnmount(){dn.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l{const C=S/1e3;KI(f.x,s.x,C),KI(f.y,s.y,C),this.setTargetDelta(f),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Mp(p,this.layout.layoutBox,this.relativeParent.layout.layoutBox),GAe(this.relativeTarget,this.relativeTargetOrigin,p,C),y&&F5(this.relativeTarget,y)&&(this.isProjectionDirty=!1),y||(y=Bn()),fo(y,this.relativeTarget)),v&&(this.animationValues=d,_Ae(d,u,this.latestValues,C,b,_)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=C},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(s){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(Ia(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=dn.update(()=>{kv.hasAnimatedSinceResize=!0,this.currentAnimation=kAe(0,HI,{...s,onUpdate:a=>{this.mixTargetDelta(a),s.onUpdate&&s.onUpdate(a)},onComplete:()=>{s.onComplete&&s.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const s=this.getStack();s&&s.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(HI),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const s=this.getLead();let{targetWithTransforms:a,target:l,layout:u,latestValues:d}=s;if(!(!a||!l||!u)){if(this!==s&&this.layout&&u&&Ij(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||Bn();const f=Xi(this.layout.layoutBox.x);l.x.min=s.target.x.min,l.x.max=l.x.min+f;const p=Xi(this.layout.layoutBox.y);l.y.min=s.target.y.min,l.y.max=l.y.min+p}fo(a,l),Ud(a,d),Ip(this.projectionDeltaWithTransform,this.layoutCorrected,a,d)}}registerSharedNode(s,a){this.sharedNodes.has(s)||this.sharedNodes.set(s,new TAe),this.sharedNodes.get(s).add(a);const u=a.options.initialPromotionConfig;a.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(a):void 0})}isLead(){const s=this.getStack();return s?s.lead===this:!0}getLead(){var s;const{layoutId:a}=this.options;return a?((s=this.getStack())===null||s===void 0?void 0:s.lead)||this:this}getPrevLead(){var s;const{layoutId:a}=this.options;return a?(s=this.getStack())===null||s===void 0?void 0:s.prevLead:void 0}getStack(){const{layoutId:s}=this.options;if(s)return this.root.sharedNodes.get(s)}promote({needsReset:s,transition:a,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),s&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const s=this.getStack();return s?s.relegate(this):!1}resetRotation(){const{visualElement:s}=this.options;if(!s)return;let a=!1;const{latestValues:l}=s;if((l.rotate||l.rotateX||l.rotateY||l.rotateZ)&&(a=!0),!a)return;const u={};for(let d=0;d{var a;return(a=s.currentAnimation)===null||a===void 0?void 0:a.stop()}),this.root.nodes.forEach(WI),this.root.sharedNodes.clear()}}}function MAe(e){e.updateLayout()}function NAe(e){var t;const n=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:i}=e.layout,{animationType:o}=e.options,s=n.source!==e.layout.source;o==="size"?ps(f=>{const p=s?n.measuredBox[f]:n.layoutBox[f],g=Xi(p);p.min=r[f].min,p.max=p.min+g}):Ij(o,n.layoutBox,r)&&ps(f=>{const p=s?n.measuredBox[f]:n.layoutBox[f],g=Xi(r[f]);p.max=p.min+g,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[f].max=e.relativeTarget[f].min+g)});const a=Bd();Ip(a,r,n.layoutBox);const l=Bd();s?Ip(l,e.applyTransform(i,!0),n.measuredBox):Ip(l,r,n.layoutBox);const u=!Oj(a);let d=!1;if(!e.resumeFrom){const f=e.getClosestProjectingParent();if(f&&!f.resumeFrom){const{snapshot:p,layout:g}=f;if(p&&g){const m=Bn();Mp(m,n.layoutBox,p.layoutBox);const v=Bn();Mp(v,r,g.layoutBox),F5(m,v)||(d=!0),f.options.layoutRoot&&(e.relativeTarget=v,e.relativeTargetOrigin=m,e.relativeParent=f)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:l,layoutDelta:a,hasLayoutChanged:u,hasRelativeTargetChanged:d})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function LAe(e){Ou.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function DAe(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function $Ae(e){e.clearSnapshot()}function WI(e){e.clearMeasurements()}function FAe(e){e.isLayoutDirty=!1}function BAe(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function qI(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function UAe(e){e.resolveTargetDelta()}function zAe(e){e.calcProjection()}function VAe(e){e.resetRotation()}function jAe(e){e.removeLeadSnapshot()}function KI(e,t,n){e.translate=vn(t.translate,0,n),e.scale=vn(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function XI(e,t,n,r){e.min=vn(t.min,n.min,r),e.max=vn(t.max,n.max,r)}function GAe(e,t,n,r){XI(e.x,t.x,n.x,r),XI(e.y,t.y,n.y,r)}function HAe(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const WAe={duration:.45,ease:[.4,0,.1,1]};function YI(e){e.min=Math.round(e.min*2)/2,e.max=Math.round(e.max*2)/2}function qAe(e){YI(e.x),YI(e.y)}function Ij(e,t,n){return e==="position"||e==="preserve-aspect"&&!N5(VI(t),VI(n),.2)}const KAe=kj({attachResizeListener:(e,t)=>ya(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),lC={current:void 0},Mj=kj({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!lC.current){const e=new KAe({});e.mount(window),e.setOptions({layoutScroll:!0}),lC.current=e}return lC.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),XAe={pan:{Feature:fAe},drag:{Feature:dAe,ProjectionNode:Mj,MeasureLayout:Aj}},YAe=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function QAe(e){const t=YAe.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]}function B5(e,t,n=1){const[r,i]=QAe(e);if(!r)return;const o=window.getComputedStyle(t).getPropertyValue(r);return o?o.trim():A5(i)?B5(i,t,n+1):i}function ZAe(e,{...t},n){const r=e.current;if(!(r instanceof Element))return{target:t,transitionEnd:n};n&&(n={...n}),e.values.forEach(i=>{const o=i.get();if(!A5(o))return;const s=B5(o,r);s&&i.set(s)});for(const i in t){const o=t[i];if(!A5(o))continue;const s=B5(o,r);s&&(t[i]=s,n||(n={}),n[i]===void 0&&(n[i]=o))}return{target:t,transitionEnd:n}}const JAe=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),Nj=e=>JAe.has(e),ePe=e=>Object.keys(e).some(Nj),QI=e=>e===Oc||e===Be,ZI=(e,t)=>parseFloat(e.split(", ")[t]),JI=(e,t)=>(n,{transform:r})=>{if(r==="none"||!r)return 0;const i=r.match(/^matrix3d\((.+)\)$/);if(i)return ZI(i[1],t);{const o=r.match(/^matrix\((.+)\)$/);return o?ZI(o[1],e):0}},tPe=new Set(["x","y","z"]),nPe=Dm.filter(e=>!tPe.has(e));function rPe(e){const t=[];return nPe.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t.length&&e.render(),t}const Nf={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:JI(4,13),y:JI(5,14)};Nf.translateX=Nf.x;Nf.translateY=Nf.y;const iPe=(e,t,n)=>{const r=t.measureViewportBox(),i=t.current,o=getComputedStyle(i),{display:s}=o,a={};s==="none"&&t.setStaticValue("display",e.display||"block"),n.forEach(u=>{a[u]=Nf[u](r,o)}),t.render();const l=t.measureViewportBox();return n.forEach(u=>{const d=t.getValue(u);d&&d.jump(a[u]),e[u]=Nf[u](l,o)}),e},oPe=(e,t,n={},r={})=>{t={...t},r={...r};const i=Object.keys(t).filter(Nj);let o=[],s=!1;const a=[];if(i.forEach(l=>{const u=e.getValue(l);if(!e.hasValue(l))return;let d=n[l],f=ip(d);const p=t[l];let g;if(c_(p)){const m=p.length,v=p[0]===null?1:0;d=p[v],f=ip(d);for(let x=v;x=0?window.pageYOffset:null,u=iPe(t,e,a);return o.length&&o.forEach(([d,f])=>{e.getValue(d).set(f)}),e.render(),r2&&l!==null&&window.scrollTo({top:l}),{target:u,transitionEnd:r}}else return{target:t,transitionEnd:r}};function sPe(e,t,n,r){return ePe(t)?oPe(e,t,n,r):{target:t,transitionEnd:r}}const aPe=(e,t,n,r)=>{const i=ZAe(e,t,r);return t=i.target,r=i.transitionEnd,sPe(e,t,n,r)},U5={current:null},Lj={current:!1};function lPe(){if(Lj.current=!0,!!r2)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>U5.current=e.matches;e.addListener(t),t()}else U5.current=!1}function uPe(e,t,n){const{willChange:r}=t;for(const i in t){const o=t[i],s=n[i];if(ki(o))e.addValue(i,o),p_(r)&&r.add(i);else if(ki(s))e.addValue(i,Mf(o,{owner:e})),p_(r)&&r.remove(i);else if(s!==o)if(e.hasValue(i)){const a=e.getValue(i);!a.hasAnimated&&a.set(o)}else{const a=e.getStaticValue(i);e.addValue(i,Mf(a!==void 0?a:o,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const e7=new WeakMap,Dj=Object.keys(Vg),cPe=Dj.length,t7=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],dPe=KE.length;class fPe{constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,visualState:o},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>dn.render(this.render,!1,!0);const{latestValues:a,renderState:l}=o;this.latestValues=a,this.baseTarget={...a},this.initialValues=n.initial?{...a}:{},this.renderState=l,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=s,this.isControllingVariants=o2(n),this.isVariantNode=SV(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:u,...d}=this.scrapeMotionValuesFromProps(n,{});for(const f in d){const p=d[f];a[f]!==void 0&&ki(p)&&(p.set(a[f],!1),p_(u)&&u.add(f))}}scrapeMotionValuesFromProps(t,n){return{}}mount(t){this.current=t,e7.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,r)=>this.bindToMotionValue(r,n)),Lj.current||lPe(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:U5.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){e7.delete(this.current),this.projection&&this.projection.unmount(),Ia(this.notifyUpdate),Ia(this.render),this.valueSubscriptions.forEach(t=>t()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features)this.features[t].unmount();this.current=null}bindToMotionValue(t,n){const r=Rc.has(t),i=n.on("change",s=>{this.latestValues[t]=s,this.props.onUpdate&&dn.update(this.notifyUpdate,!1,!0),r&&this.projection&&(this.projection.isTransformDirty=!0)}),o=n.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(t,()=>{i(),o()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}loadFeatures({children:t,...n},r,i,o){let s,a;for(let l=0;lthis.scheduleRender(),animationType:typeof u=="string"?u:"both",initialPromotionConfig:o,layoutScroll:p,layoutRoot:g})}return a}updateFeatures(){for(const t in this.features){const n=this.features[t];n.isMounted?n.update():(n.mount(),n.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Bn()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}makeTargetAnimatable(t,n=!0){return this.makeTargetAnimatableFromInstance(t,this.props,n)}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let r=0;rn.variantChildren.delete(t)}addValue(t,n){n!==this.values.get(t)&&(this.removeValue(t),this.bindToMotionValue(t,n)),this.values.set(t,n),this.latestValues[t]=n.get()}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let r=this.values.get(t);return r===void 0&&n!==void 0&&(r=Mf(n,{owner:this}),this.addValue(t,r)),r}readValue(t){var n;return this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(n=this.getBaseTargetFromProps(this.props,t))!==null&&n!==void 0?n:this.readValueFromInstance(this.current,t,this.options)}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:r}=this.props,i=typeof r=="string"||typeof r=="object"?(n=r6(this.props,r))===null||n===void 0?void 0:n[t]:void 0;if(r&&i!==void 0)return i;const o=this.getBaseTargetFromProps(this.props,t);return o!==void 0&&!ki(o)?o:this.initialValues[t]!==void 0&&i===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new f6),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class $j extends fPe{sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:r}){delete n[t],delete r[t]}makeTargetAnimatableFromInstance({transition:t,transitionEnd:n,...r},{transformValues:i},o){let s=k6e(r,t||{},this);if(i&&(n&&(n=i(n)),r&&(r=i(r)),s&&(s=i(s))),o){R6e(this,r,s);const a=aPe(this,r,s,n);n=a.transitionEnd,r=a.target}return{transition:t,transitionEnd:n,...r}}}function hPe(e){return window.getComputedStyle(e)}class pPe extends $j{readValueFromInstance(t,n){if(Rc.has(n)){const r=l6(n);return r&&r.default||0}else{const r=hPe(t),i=(TV(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return Ej(t,n)}build(t,n,r,i){QE(t,n,r,i.transformTemplate)}scrapeMotionValuesFromProps(t,n){return n6(t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;ki(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(t,n,r,i){kV(t,n,r,i)}}class gPe extends $j{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(Rc.has(n)){const r=l6(n);return r&&r.default||0}return n=IV.has(n)?n:t6(n),t.getAttribute(n)}measureInstanceViewportBox(){return Bn()}scrapeMotionValuesFromProps(t,n){return NV(t,n)}build(t,n,r,i){JE(t,n,r,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,r,i){MV(t,n,r,i)}mount(t){this.isSVGTag=e6(t.tagName),super.mount(t)}}const mPe=(e,t)=>YE(e)?new gPe(t,{enableHardwareAcceleration:!1}):new pPe(t,{enableHardwareAcceleration:!0}),yPe={layout:{ProjectionNode:Mj,MeasureLayout:Aj}},vPe={...H6e,...fEe,...XAe,...yPe},_Pe=STe((e,t)=>YTe(e,t,vPe,mPe));function Fj(){const e=L.useRef(!1);return a_(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function bPe(){const e=Fj(),[t,n]=L.useState(0),r=L.useCallback(()=>{e.current&&n(t+1)},[t]);return[L.useCallback(()=>dn.postRender(r),[r]),t]}class SPe extends L.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function wPe({children:e,isPresent:t}){const n=L.useId(),r=L.useRef(null),i=L.useRef({width:0,height:0,top:0,left:0});return L.useInsertionEffect(()=>{const{width:o,height:s,top:a,left:l}=i.current;if(t||!r.current||!o||!s)return;r.current.dataset.motionPopId=n;const u=document.createElement("style");return document.head.appendChild(u),u.sheet&&u.sheet.insertRule(` [data-motion-pop-id="${n}"] { position: absolute !important; width: ${o}px !important; @@ -144,8 +144,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho top: ${a}px !important; left: ${l}px !important; } - `),()=>{document.head.removeChild(u)}},[t]),L.createElement(SPe,{isPresent:t,childRef:r,sizeRef:i},L.cloneElement(e,{ref:r}))}const uC=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:s})=>{const a=LV(xPe),l=L.useId(),u=L.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:d=>{a.set(d,!0);for(const f of a.values())if(!f)return;r&&r()},register:d=>(a.set(d,!1),()=>a.delete(d))}),o?void 0:[n]);return L.useMemo(()=>{a.forEach((d,f)=>a.set(f,!1))},[n]),L.useEffect(()=>{!n&&!a.size&&r&&r()},[n]),s==="popLayout"&&(e=L.createElement(wPe,{isPresent:n},e)),L.createElement(Lm.Provider,{value:u},e)};function xPe(){return new Map}function CPe(e){return L.useEffect(()=>()=>e(),[])}const wd=e=>e.key||"";function TPe(e,t){e.forEach(n=>{const r=wd(n);t.set(r,n)})}function EPe(e){const t=[];return L.Children.forEach(e,n=>{L.isValidElement(n)&&t.push(n)}),t}const APe=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:s="sync"})=>{const a=L.useContext(KE).forceRender||bPe()[0],l=Fj(),u=EPe(e);let d=u;const f=L.useRef(new Map).current,p=L.useRef(d),g=L.useRef(new Map).current,m=L.useRef(!0);if(a_(()=>{m.current=!1,TPe(u,g),p.current=d}),CPe(()=>{m.current=!0,g.clear(),f.clear()}),m.current)return L.createElement(L.Fragment,null,d.map(b=>L.createElement(uC,{key:wd(b),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:s},b)));d=[...d];const v=p.current.map(wd),x=u.map(wd),_=v.length;for(let b=0;b<_;b++){const y=v[b];x.indexOf(y)===-1&&!f.has(y)&&f.set(y,void 0)}return s==="wait"&&f.size&&(d=[]),f.forEach((b,y)=>{if(x.indexOf(y)!==-1)return;const S=g.get(y);if(!S)return;const C=v.indexOf(y);let T=b;if(!T){const E=()=>{g.delete(y),f.delete(y);const P=p.current.findIndex(k=>k.key===y);if(p.current.splice(P,1),!f.size){if(p.current=u,l.current===!1)return;a(),r&&r()}};T=L.createElement(uC,{key:wd(S),isPresent:!1,onExitComplete:E,custom:t,presenceAffectsLayout:o,mode:s},S),f.set(y,T)}d.splice(C,0,T)}),d=d.map(b=>{const y=b.key;return f.has(y)?b:L.createElement(uC,{key:wd(b),isPresent:!0,presenceAffectsLayout:o,mode:s},b)}),L.createElement(L.Fragment,null,f.size?d:d.map(b=>L.cloneElement(b)))};var PPe=v5e({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),Bj=Pc((e,t)=>{const n=vV("Spinner",e),{label:r="Loading...",thickness:i="2px",speed:o="0.45s",emptyColor:s="transparent",className:a,...l}=pV(e),u=aV("chakra-spinner",a),d={display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:s,borderLeftColor:s,animation:`${PPe} ${o} linear infinite`,...n};return ue.jsx(cc.div,{ref:t,__css:d,className:u,...l,children:r&&ue.jsx(cc.span,{srOnly:!0,children:r})})});Bj.displayName="Spinner";var U5=Pc(function(t,n){const{htmlWidth:r,htmlHeight:i,alt:o,...s}=t;return ue.jsx("img",{width:r,height:i,ref:n,alt:o,...s})});U5.displayName="NativeImage";function RPe(e){const{loading:t,src:n,srcSet:r,onLoad:i,onError:o,crossOrigin:s,sizes:a,ignoreFallback:l}=e,[u,d]=L.useState("pending");L.useEffect(()=>{d(n?"loading":"pending")},[n]);const f=L.useRef(),p=L.useCallback(()=>{if(!n)return;g();const m=new Image;m.src=n,s&&(m.crossOrigin=s),r&&(m.srcset=r),a&&(m.sizes=a),t&&(m.loading=t),m.onload=v=>{g(),d("loaded"),i==null||i(v)},m.onerror=v=>{g(),d("failed"),o==null||o(v)},f.current=m},[n,s,r,a,i,o,t]),g=()=>{f.current&&(f.current.onload=null,f.current.onerror=null,f.current=null)};return _5e(()=>{if(!l)return u==="loading"&&p(),()=>{g()}},[u,p,l]),l?"loaded":u}var OPe=(e,t)=>e!=="loaded"&&t==="beforeLoadOrError"||e==="failed"&&t==="onError";function kPe(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var f6=Pc(function(t,n){const{fallbackSrc:r,fallback:i,src:o,srcSet:s,align:a,fit:l,loading:u,ignoreFallback:d,crossOrigin:f,fallbackStrategy:p="beforeLoadOrError",referrerPolicy:g,...m}=t,v=r!==void 0||i!==void 0,x=u!=null||d||!v,_=RPe({...t,crossOrigin:f,ignoreFallback:x}),b=OPe(_,p),y={ref:n,objectFit:l,objectPosition:a,...x?m:kPe(m,["onError","onLoad"])};return b?i||ue.jsx(cc.img,{as:U5,className:"chakra-image__placeholder",src:r,...y}):ue.jsx(cc.img,{as:U5,src:o,srcSet:s,crossOrigin:f,loading:u,referrerPolicy:g,className:"chakra-image",...y})});f6.displayName="Image";var z5=Pc(function(t,n){const r=vV("Heading",t),{className:i,...o}=pV(t);return ue.jsx(cc.h2,{ref:n,className:aV("chakra-heading",t.className),...o,__css:r})});z5.displayName="Heading";var h6=cc("div");h6.displayName="Box";var Uj=Pc(function(t,n){const{size:r,centerContent:i=!0,...o}=t,s=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return ue.jsx(h6,{ref:n,boxSize:r,__css:{...s,flexShrink:0,flexGrow:0},...o})});Uj.displayName="Square";var IPe=Pc(function(t,n){const{size:r,...i}=t;return ue.jsx(Uj,{size:r,ref:n,borderRadius:"9999px",...i})});IPe.displayName="Circle";var p6=Pc(function(t,n){const{direction:r,align:i,justify:o,wrap:s,basis:a,grow:l,shrink:u,...d}=t,f={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:s,flexBasis:a,flexGrow:l,flexShrink:u};return ue.jsx(cc.div,{ref:n,__css:f,...d})});p6.displayName="Flex";const MPe=""+new URL("logo-13003d72.png",import.meta.url).href,NPe=()=>ue.jsxs(p6,{position:"relative",width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",bg:"#151519",children:[ue.jsx(f6,{src:MPe,w:"8rem",h:"8rem"}),ue.jsx(Bj,{label:"Loading",color:"grey",position:"absolute",size:"sm",width:"24px !important",height:"24px !important",right:"1.5rem",bottom:"1.5rem"})]}),LPe=L.memo(NPe);function V5(e){"@babel/helpers - typeof";return V5=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},V5(e)}var zj=[],DPe=zj.forEach,$Pe=zj.slice;function j5(e){return DPe.call($Pe.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}function Vj(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":V5(XMLHttpRequest))==="object"}function FPe(e){return!!e&&typeof e.then=="function"}function BPe(e){return FPe(e)?e:Promise.resolve(e)}function UPe(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var G5={exports:{}},K0={exports:{}},n7;function zPe(){return n7||(n7=1,function(e,t){var n=typeof self<"u"?self:He,r=function(){function o(){this.fetch=!1,this.DOMException=n.DOMException}return o.prototype=n,new o}();(function(o){(function(s){var a={searchParams:"URLSearchParams"in o,iterable:"Symbol"in o&&"iterator"in Symbol,blob:"FileReader"in o&&"Blob"in o&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in o,arrayBuffer:"ArrayBuffer"in o};function l(A){return A&&DataView.prototype.isPrototypeOf(A)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],d=ArrayBuffer.isView||function(A){return A&&u.indexOf(Object.prototype.toString.call(A))>-1};function f(A){if(typeof A!="string"&&(A=String(A)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(A))throw new TypeError("Invalid character in header field name");return A.toLowerCase()}function p(A){return typeof A!="string"&&(A=String(A)),A}function g(A){var N={next:function(){var F=A.shift();return{done:F===void 0,value:F}}};return a.iterable&&(N[Symbol.iterator]=function(){return N}),N}function m(A){this.map={},A instanceof m?A.forEach(function(N,F){this.append(F,N)},this):Array.isArray(A)?A.forEach(function(N){this.append(N[0],N[1])},this):A&&Object.getOwnPropertyNames(A).forEach(function(N){this.append(N,A[N])},this)}m.prototype.append=function(A,N){A=f(A),N=p(N);var F=this.map[A];this.map[A]=F?F+", "+N:N},m.prototype.delete=function(A){delete this.map[f(A)]},m.prototype.get=function(A){return A=f(A),this.has(A)?this.map[A]:null},m.prototype.has=function(A){return this.map.hasOwnProperty(f(A))},m.prototype.set=function(A,N){this.map[f(A)]=p(N)},m.prototype.forEach=function(A,N){for(var F in this.map)this.map.hasOwnProperty(F)&&A.call(N,this.map[F],F,this)},m.prototype.keys=function(){var A=[];return this.forEach(function(N,F){A.push(F)}),g(A)},m.prototype.values=function(){var A=[];return this.forEach(function(N){A.push(N)}),g(A)},m.prototype.entries=function(){var A=[];return this.forEach(function(N,F){A.push([F,N])}),g(A)},a.iterable&&(m.prototype[Symbol.iterator]=m.prototype.entries);function v(A){if(A.bodyUsed)return Promise.reject(new TypeError("Already read"));A.bodyUsed=!0}function x(A){return new Promise(function(N,F){A.onload=function(){N(A.result)},A.onerror=function(){F(A.error)}})}function _(A){var N=new FileReader,F=x(N);return N.readAsArrayBuffer(A),F}function b(A){var N=new FileReader,F=x(N);return N.readAsText(A),F}function y(A){for(var N=new Uint8Array(A),F=new Array(N.length),B=0;B-1?N:A}function P(A,N){N=N||{};var F=N.body;if(A instanceof P){if(A.bodyUsed)throw new TypeError("Already read");this.url=A.url,this.credentials=A.credentials,N.headers||(this.headers=new m(A.headers)),this.method=A.method,this.mode=A.mode,this.signal=A.signal,!F&&A._bodyInit!=null&&(F=A._bodyInit,A.bodyUsed=!0)}else this.url=String(A);if(this.credentials=N.credentials||this.credentials||"same-origin",(N.headers||!this.headers)&&(this.headers=new m(N.headers)),this.method=E(N.method||this.method||"GET"),this.mode=N.mode||this.mode||null,this.signal=N.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&F)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(F)}P.prototype.clone=function(){return new P(this,{body:this._bodyInit})};function k(A){var N=new FormData;return A.trim().split("&").forEach(function(F){if(F){var B=F.split("="),D=B.shift().replace(/\+/g," "),V=B.join("=").replace(/\+/g," ");N.append(decodeURIComponent(D),decodeURIComponent(V))}}),N}function O(A){var N=new m,F=A.replace(/\r?\n[\t ]+/g," ");return F.split(/\r?\n/).forEach(function(B){var D=B.split(":"),V=D.shift().trim();if(V){var j=D.join(":").trim();N.append(V,j)}}),N}C.call(P.prototype);function M(A,N){N||(N={}),this.type="default",this.status=N.status===void 0?200:N.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in N?N.statusText:"OK",this.headers=new m(N.headers),this.url=N.url||"",this._initBody(A)}C.call(M.prototype),M.prototype.clone=function(){return new M(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new m(this.headers),url:this.url})},M.error=function(){var A=new M(null,{status:0,statusText:""});return A.type="error",A};var G=[301,302,303,307,308];M.redirect=function(A,N){if(G.indexOf(N)===-1)throw new RangeError("Invalid status code");return new M(null,{status:N,headers:{location:A}})},s.DOMException=o.DOMException;try{new s.DOMException}catch{s.DOMException=function(N,F){this.message=N,this.name=F;var B=Error(N);this.stack=B.stack},s.DOMException.prototype=Object.create(Error.prototype),s.DOMException.prototype.constructor=s.DOMException}function U(A,N){return new Promise(function(F,B){var D=new P(A,N);if(D.signal&&D.signal.aborted)return B(new s.DOMException("Aborted","AbortError"));var V=new XMLHttpRequest;function j(){V.abort()}V.onload=function(){var q={status:V.status,statusText:V.statusText,headers:O(V.getAllResponseHeaders()||"")};q.url="responseURL"in V?V.responseURL:q.headers.get("X-Request-URL");var Z="response"in V?V.response:V.responseText;F(new M(Z,q))},V.onerror=function(){B(new TypeError("Network request failed"))},V.ontimeout=function(){B(new TypeError("Network request failed"))},V.onabort=function(){B(new s.DOMException("Aborted","AbortError"))},V.open(D.method,D.url,!0),D.credentials==="include"?V.withCredentials=!0:D.credentials==="omit"&&(V.withCredentials=!1),"responseType"in V&&a.blob&&(V.responseType="blob"),D.headers.forEach(function(q,Z){V.setRequestHeader(Z,q)}),D.signal&&(D.signal.addEventListener("abort",j),V.onreadystatechange=function(){V.readyState===4&&D.signal.removeEventListener("abort",j)}),V.send(typeof D._bodyInit>"u"?null:D._bodyInit)})}return U.polyfill=!0,o.fetch||(o.fetch=U,o.Headers=m,o.Request=P,o.Response=M),s.Headers=m,s.Request=P,s.Response=M,s.fetch=U,Object.defineProperty(s,"__esModule",{value:!0}),s})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var i=r;t=i.fetch,t.default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t}(K0,K0.exports)),K0.exports}(function(e,t){var n;if(typeof fetch=="function"&&(typeof He<"u"&&He.fetch?n=He.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof UPe<"u"&&(typeof window>"u"||typeof window.document>"u")){var r=n||zPe();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(G5,G5.exports);var jj=G5.exports;const Gj=dc(jj),r7=b7({__proto__:null,default:Gj},[jj]);function m_(e){"@babel/helpers - typeof";return m_=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},m_(e)}var Ca;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?Ca=global.fetch:typeof window<"u"&&window.fetch?Ca=window.fetch:Ca=fetch);var Gg;Vj()&&(typeof global<"u"&&global.XMLHttpRequest?Gg=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(Gg=window.XMLHttpRequest));var y_;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?y_=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(y_=window.ActiveXObject));!Ca&&r7&&!Gg&&!y_&&(Ca=Gj||r7);typeof Ca!="function"&&(Ca=void 0);var H5=function(t,n){if(n&&m_(n)==="object"){var r="";for(var i in n)r+="&"+encodeURIComponent(i)+"="+encodeURIComponent(n[i]);if(!r)return t;t=t+(t.indexOf("?")!==-1?"&":"?")+r.slice(1)}return t},i7=function(t,n,r){Ca(t,n).then(function(i){if(!i.ok)return r(i.statusText||"Error",{status:i.status});i.text().then(function(o){r(null,{status:i.status,data:o})}).catch(r)}).catch(r)},o7=!1,VPe=function(t,n,r,i){t.queryStringParams&&(n=H5(n,t.queryStringParams));var o=j5({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);r&&(o["Content-Type"]="application/json");var s=typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions,a=j5({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:o},o7?{}:s);try{i7(n,a,i)}catch(l){if(!s||Object.keys(s).length===0||!l.message||l.message.indexOf("not implemented")<0)return i(l);try{Object.keys(s).forEach(function(u){delete a[u]}),i7(n,a,i),o7=!0}catch(u){i(u)}}},jPe=function(t,n,r,i){r&&m_(r)==="object"&&(r=H5("",r).slice(1)),t.queryStringParams&&(n=H5(n,t.queryStringParams));try{var o;Gg?o=new Gg:o=new y_("MSXML2.XMLHTTP.3.0"),o.open(r?"POST":"GET",n,1),t.crossDomain||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.withCredentials=!!t.withCredentials,r&&o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.overrideMimeType&&o.overrideMimeType("application/json");var s=t.customHeaders;if(s=typeof s=="function"?s():s,s)for(var a in s)o.setRequestHeader(a,s[a]);o.onreadystatechange=function(){o.readyState>3&&i(o.status>=400?o.statusText:null,{status:o.status,data:o.responseText})},o.send(r)}catch(l){console&&console.log(l)}},GPe=function(t,n,r,i){if(typeof r=="function"&&(i=r,r=void 0),i=i||function(){},Ca&&n.indexOf("file:")!==0)return VPe(t,n,r,i);if(Vj()||typeof ActiveXObject=="function")return jPe(t,n,r,i);i(new Error("No fetch and no xhr implementation found!"))};function Hg(e){"@babel/helpers - typeof";return Hg=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Hg(e)}function HPe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s7(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};HPe(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return WPe(e,[{key:"init",value:function(n){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=j5(i,this.options||{},XPe()),this.allOptions=o,this.services&&this.options.reloadInterval&&setInterval(function(){return r.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(n,r,i){this._readAny(n,n,r,r,i)}},{key:"read",value:function(n,r,i){this._readAny([n],n,[r],r,i)}},{key:"_readAny",value:function(n,r,i,o,s){var a=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,i)),l=BPe(l),l.then(function(u){if(!u)return s(null,{});var d=a.services.interpolator.interpolate(u,{lng:n.join("+"),ns:i.join("+")});a.loadUrl(d,s,r,o)})}},{key:"loadUrl",value:function(n,r,i,o){var s=this,a=typeof i=="string"?[i]:i,l=typeof o=="string"?[o]:o,u=this.options.parseLoadPayload(a,l);this.options.request(this.options,n,u,function(d,f){if(f&&(f.status>=500&&f.status<600||!f.status))return r("failed loading "+n+"; status code: "+f.status,!0);if(f&&f.status>=400&&f.status<500)return r("failed loading "+n+"; status code: "+f.status,!1);if(!f&&d&&d.message&&d.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+d.message,!0);if(d)return r(d,!1);var p,g;try{typeof f.data=="string"?p=s.options.parse(f.data,i,o):p=f.data}catch{g="failed parsing "+n+" to json"}if(g)return r(g,!1);r(null,p)})}},{key:"create",value:function(n,r,i,o,s){var a=this;if(this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,i,o),u=0,d=[],f=[];n.forEach(function(p){var g=a.options.addPath;typeof a.options.addPath=="function"&&(g=a.options.addPath(p,r));var m=a.services.interpolator.interpolate(g,{lng:p,ns:r});a.options.request(a.options,m,l,function(v,x){u+=1,d.push(v),f.push(x),u===n.length&&typeof s=="function"&&s(d,f)})})}}},{key:"reload",value:function(){var n=this,r=this.services,i=r.backendConnector,o=r.languageUtils,s=r.logger,a=i.language;if(!(a&&a.toLowerCase()==="cimode")){var l=[],u=function(f){var p=o.toResolveHierarchy(f);p.forEach(function(g){l.indexOf(g)<0&&l.push(g)})};u(a),this.allOptions.preload&&this.allOptions.preload.forEach(function(d){return u(d)}),l.forEach(function(d){n.allOptions.ns.forEach(function(f){i.read(d,f,"read",null,null,function(p,g){p&&s.warn("loading namespace ".concat(f," for language ").concat(d," failed"),p),!p&&g&&s.log("loaded namespace ".concat(f," for language ").concat(d),g),i.loaded("".concat(d,"|").concat(f),p,g)})})})}}}]),e}();Wj.type="backend";const YPe=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,QPe={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},ZPe=e=>QPe[e],JPe=e=>e.replace(YPe,ZPe);let W5={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:JPe};function e8e(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};W5={...W5,...e}}function AMe(){return W5}let qj;function t8e(e){qj=e}function PMe(){return qj}const n8e={type:"3rdParty",init(e){e8e(e.options.react),t8e(e)}};Kr.use(Wj).use(n8e).init({fallbackLng:"en",debug:!1,backend:{loadPath:"/locales/{{lng}}.json"},interpolation:{escapeValue:!1},returnNull:!1});const u2=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Yf(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function g6(e){return"nodeType"in e}function fi(e){var t,n;return e?Yf(e)?e:g6(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function m6(e){const{Document:t}=fi(e);return e instanceof t}function Um(e){return Yf(e)?!1:e instanceof fi(e).HTMLElement}function r8e(e){return e instanceof fi(e).SVGElement}function Qf(e){return e?Yf(e)?e.document:g6(e)?m6(e)?e:Um(e)?e.ownerDocument:document:document:document}const $s=u2?L.useLayoutEffect:L.useEffect;function c2(e){const t=L.useRef(e);return $s(()=>{t.current=e}),L.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i{e.current=setInterval(r,i)},[]),n=L.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function Wg(e,t){t===void 0&&(t=[e]);const n=L.useRef(e);return $s(()=>{n.current!==e&&(n.current=e)},t),n}function zm(e,t){const n=L.useRef();return L.useMemo(()=>{const r=e(n.current);return n.current=r,r},[...t])}function v_(e){const t=c2(e),n=L.useRef(null),r=L.useCallback(i=>{i!==n.current&&(t==null||t(i,n.current)),n.current=i},[]);return[n,r]}function __(e){const t=L.useRef();return L.useEffect(()=>{t.current=e},[e]),t.current}let cC={};function d2(e,t){return L.useMemo(()=>{if(t)return t;const n=cC[e]==null?0:cC[e]+1;return cC[e]=n,e+"-"+n},[e,t])}function Kj(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{const a=Object.entries(s);for(const[l,u]of a){const d=o[l];d!=null&&(o[l]=d+e*u)}return o},{...t})}}const uf=Kj(1),b_=Kj(-1);function o8e(e){return"clientX"in e&&"clientY"in e}function y6(e){if(!e)return!1;const{KeyboardEvent:t}=fi(e.target);return t&&e instanceof t}function s8e(e){if(!e)return!1;const{TouchEvent:t}=fi(e.target);return t&&e instanceof t}function qg(e){if(s8e(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return o8e(e)?{x:e.clientX,y:e.clientY}:null}const Kg=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[Kg.Translate.toString(e),Kg.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),a7="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function a8e(e){return e.matches(a7)?e:e.querySelector(a7)}const l8e={display:"none"};function u8e(e){let{id:t,value:n}=e;return Lt.createElement("div",{id:t,style:l8e},n)}const c8e={position:"fixed",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};function d8e(e){let{id:t,announcement:n}=e;return Lt.createElement("div",{id:t,style:c8e,role:"status","aria-live":"assertive","aria-atomic":!0},n)}function f8e(){const[e,t]=L.useState("");return{announce:L.useCallback(r=>{r!=null&&t(r)},[]),announcement:e}}const Xj=L.createContext(null);function h8e(e){const t=L.useContext(Xj);L.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of ");return t(e)},[e,t])}function p8e(){const[e]=L.useState(()=>new Set),t=L.useCallback(r=>(e.add(r),()=>e.delete(r)),[e]);return[L.useCallback(r=>{let{type:i,event:o}=r;e.forEach(s=>{var a;return(a=s[i])==null?void 0:a.call(s,o)})},[e]),t]}const g8e={draggable:` + `),()=>{document.head.removeChild(u)}},[t]),L.createElement(SPe,{isPresent:t,childRef:r,sizeRef:i},L.cloneElement(e,{ref:r}))}const uC=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:s})=>{const a=LV(xPe),l=L.useId(),u=L.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:d=>{a.set(d,!0);for(const f of a.values())if(!f)return;r&&r()},register:d=>(a.set(d,!1),()=>a.delete(d))}),o?void 0:[n]);return L.useMemo(()=>{a.forEach((d,f)=>a.set(f,!1))},[n]),L.useEffect(()=>{!n&&!a.size&&r&&r()},[n]),s==="popLayout"&&(e=L.createElement(wPe,{isPresent:n},e)),L.createElement(Lm.Provider,{value:u},e)};function xPe(){return new Map}function CPe(e){return L.useEffect(()=>()=>e(),[])}const wd=e=>e.key||"";function TPe(e,t){e.forEach(n=>{const r=wd(n);t.set(r,n)})}function EPe(e){const t=[];return L.Children.forEach(e,n=>{L.isValidElement(n)&&t.push(n)}),t}const APe=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:s="sync"})=>{const a=L.useContext(XE).forceRender||bPe()[0],l=Fj(),u=EPe(e);let d=u;const f=L.useRef(new Map).current,p=L.useRef(d),g=L.useRef(new Map).current,m=L.useRef(!0);if(a_(()=>{m.current=!1,TPe(u,g),p.current=d}),CPe(()=>{m.current=!0,g.clear(),f.clear()}),m.current)return L.createElement(L.Fragment,null,d.map(b=>L.createElement(uC,{key:wd(b),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:s},b)));d=[...d];const v=p.current.map(wd),x=u.map(wd),_=v.length;for(let b=0;b<_;b++){const y=v[b];x.indexOf(y)===-1&&!f.has(y)&&f.set(y,void 0)}return s==="wait"&&f.size&&(d=[]),f.forEach((b,y)=>{if(x.indexOf(y)!==-1)return;const S=g.get(y);if(!S)return;const C=v.indexOf(y);let T=b;if(!T){const E=()=>{g.delete(y),f.delete(y);const P=p.current.findIndex(k=>k.key===y);if(p.current.splice(P,1),!f.size){if(p.current=u,l.current===!1)return;a(),r&&r()}};T=L.createElement(uC,{key:wd(S),isPresent:!1,onExitComplete:E,custom:t,presenceAffectsLayout:o,mode:s},S),f.set(y,T)}d.splice(C,0,T)}),d=d.map(b=>{const y=b.key;return f.has(y)?b:L.createElement(uC,{key:wd(b),isPresent:!0,presenceAffectsLayout:o,mode:s},b)}),L.createElement(L.Fragment,null,f.size?d:d.map(b=>L.cloneElement(b)))};var PPe=v5e({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),Bj=Pc((e,t)=>{const n=vV("Spinner",e),{label:r="Loading...",thickness:i="2px",speed:o="0.45s",emptyColor:s="transparent",className:a,...l}=pV(e),u=aV("chakra-spinner",a),d={display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:s,borderLeftColor:s,animation:`${PPe} ${o} linear infinite`,...n};return ue.jsx(cc.div,{ref:t,__css:d,className:u,...l,children:r&&ue.jsx(cc.span,{srOnly:!0,children:r})})});Bj.displayName="Spinner";var z5=Pc(function(t,n){const{htmlWidth:r,htmlHeight:i,alt:o,...s}=t;return ue.jsx("img",{width:r,height:i,ref:n,alt:o,...s})});z5.displayName="NativeImage";function RPe(e){const{loading:t,src:n,srcSet:r,onLoad:i,onError:o,crossOrigin:s,sizes:a,ignoreFallback:l}=e,[u,d]=L.useState("pending");L.useEffect(()=>{d(n?"loading":"pending")},[n]);const f=L.useRef(),p=L.useCallback(()=>{if(!n)return;g();const m=new Image;m.src=n,s&&(m.crossOrigin=s),r&&(m.srcset=r),a&&(m.sizes=a),t&&(m.loading=t),m.onload=v=>{g(),d("loaded"),i==null||i(v)},m.onerror=v=>{g(),d("failed"),o==null||o(v)},f.current=m},[n,s,r,a,i,o,t]),g=()=>{f.current&&(f.current.onload=null,f.current.onerror=null,f.current=null)};return _5e(()=>{if(!l)return u==="loading"&&p(),()=>{g()}},[u,p,l]),l?"loaded":u}var OPe=(e,t)=>e!=="loaded"&&t==="beforeLoadOrError"||e==="failed"&&t==="onError";function kPe(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var h6=Pc(function(t,n){const{fallbackSrc:r,fallback:i,src:o,srcSet:s,align:a,fit:l,loading:u,ignoreFallback:d,crossOrigin:f,fallbackStrategy:p="beforeLoadOrError",referrerPolicy:g,...m}=t,v=r!==void 0||i!==void 0,x=u!=null||d||!v,_=RPe({...t,crossOrigin:f,ignoreFallback:x}),b=OPe(_,p),y={ref:n,objectFit:l,objectPosition:a,...x?m:kPe(m,["onError","onLoad"])};return b?i||ue.jsx(cc.img,{as:z5,className:"chakra-image__placeholder",src:r,...y}):ue.jsx(cc.img,{as:z5,src:o,srcSet:s,crossOrigin:f,loading:u,referrerPolicy:g,className:"chakra-image",...y})});h6.displayName="Image";var V5=Pc(function(t,n){const r=vV("Heading",t),{className:i,...o}=pV(t);return ue.jsx(cc.h2,{ref:n,className:aV("chakra-heading",t.className),...o,__css:r})});V5.displayName="Heading";var p6=cc("div");p6.displayName="Box";var Uj=Pc(function(t,n){const{size:r,centerContent:i=!0,...o}=t,s=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return ue.jsx(p6,{ref:n,boxSize:r,__css:{...s,flexShrink:0,flexGrow:0},...o})});Uj.displayName="Square";var IPe=Pc(function(t,n){const{size:r,...i}=t;return ue.jsx(Uj,{size:r,ref:n,borderRadius:"9999px",...i})});IPe.displayName="Circle";var g6=Pc(function(t,n){const{direction:r,align:i,justify:o,wrap:s,basis:a,grow:l,shrink:u,...d}=t,f={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:s,flexBasis:a,flexGrow:l,flexShrink:u};return ue.jsx(cc.div,{ref:n,__css:f,...d})});g6.displayName="Flex";const MPe=""+new URL("logo-13003d72.png",import.meta.url).href,NPe=()=>ue.jsxs(g6,{position:"relative",width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",bg:"#151519",children:[ue.jsx(h6,{src:MPe,w:"8rem",h:"8rem"}),ue.jsx(Bj,{label:"Loading",color:"grey",position:"absolute",size:"sm",width:"24px !important",height:"24px !important",right:"1.5rem",bottom:"1.5rem"})]}),LPe=L.memo(NPe);function j5(e){"@babel/helpers - typeof";return j5=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},j5(e)}var zj=[],DPe=zj.forEach,$Pe=zj.slice;function G5(e){return DPe.call($Pe.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}function Vj(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":j5(XMLHttpRequest))==="object"}function FPe(e){return!!e&&typeof e.then=="function"}function BPe(e){return FPe(e)?e:Promise.resolve(e)}function UPe(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var H5={exports:{}},K0={exports:{}},n7;function zPe(){return n7||(n7=1,function(e,t){var n=typeof self<"u"?self:He,r=function(){function o(){this.fetch=!1,this.DOMException=n.DOMException}return o.prototype=n,new o}();(function(o){(function(s){var a={searchParams:"URLSearchParams"in o,iterable:"Symbol"in o&&"iterator"in Symbol,blob:"FileReader"in o&&"Blob"in o&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in o,arrayBuffer:"ArrayBuffer"in o};function l(A){return A&&DataView.prototype.isPrototypeOf(A)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],d=ArrayBuffer.isView||function(A){return A&&u.indexOf(Object.prototype.toString.call(A))>-1};function f(A){if(typeof A!="string"&&(A=String(A)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(A))throw new TypeError("Invalid character in header field name");return A.toLowerCase()}function p(A){return typeof A!="string"&&(A=String(A)),A}function g(A){var N={next:function(){var F=A.shift();return{done:F===void 0,value:F}}};return a.iterable&&(N[Symbol.iterator]=function(){return N}),N}function m(A){this.map={},A instanceof m?A.forEach(function(N,F){this.append(F,N)},this):Array.isArray(A)?A.forEach(function(N){this.append(N[0],N[1])},this):A&&Object.getOwnPropertyNames(A).forEach(function(N){this.append(N,A[N])},this)}m.prototype.append=function(A,N){A=f(A),N=p(N);var F=this.map[A];this.map[A]=F?F+", "+N:N},m.prototype.delete=function(A){delete this.map[f(A)]},m.prototype.get=function(A){return A=f(A),this.has(A)?this.map[A]:null},m.prototype.has=function(A){return this.map.hasOwnProperty(f(A))},m.prototype.set=function(A,N){this.map[f(A)]=p(N)},m.prototype.forEach=function(A,N){for(var F in this.map)this.map.hasOwnProperty(F)&&A.call(N,this.map[F],F,this)},m.prototype.keys=function(){var A=[];return this.forEach(function(N,F){A.push(F)}),g(A)},m.prototype.values=function(){var A=[];return this.forEach(function(N){A.push(N)}),g(A)},m.prototype.entries=function(){var A=[];return this.forEach(function(N,F){A.push([F,N])}),g(A)},a.iterable&&(m.prototype[Symbol.iterator]=m.prototype.entries);function v(A){if(A.bodyUsed)return Promise.reject(new TypeError("Already read"));A.bodyUsed=!0}function x(A){return new Promise(function(N,F){A.onload=function(){N(A.result)},A.onerror=function(){F(A.error)}})}function _(A){var N=new FileReader,F=x(N);return N.readAsArrayBuffer(A),F}function b(A){var N=new FileReader,F=x(N);return N.readAsText(A),F}function y(A){for(var N=new Uint8Array(A),F=new Array(N.length),B=0;B-1?N:A}function P(A,N){N=N||{};var F=N.body;if(A instanceof P){if(A.bodyUsed)throw new TypeError("Already read");this.url=A.url,this.credentials=A.credentials,N.headers||(this.headers=new m(A.headers)),this.method=A.method,this.mode=A.mode,this.signal=A.signal,!F&&A._bodyInit!=null&&(F=A._bodyInit,A.bodyUsed=!0)}else this.url=String(A);if(this.credentials=N.credentials||this.credentials||"same-origin",(N.headers||!this.headers)&&(this.headers=new m(N.headers)),this.method=E(N.method||this.method||"GET"),this.mode=N.mode||this.mode||null,this.signal=N.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&F)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(F)}P.prototype.clone=function(){return new P(this,{body:this._bodyInit})};function k(A){var N=new FormData;return A.trim().split("&").forEach(function(F){if(F){var B=F.split("="),D=B.shift().replace(/\+/g," "),V=B.join("=").replace(/\+/g," ");N.append(decodeURIComponent(D),decodeURIComponent(V))}}),N}function O(A){var N=new m,F=A.replace(/\r?\n[\t ]+/g," ");return F.split(/\r?\n/).forEach(function(B){var D=B.split(":"),V=D.shift().trim();if(V){var j=D.join(":").trim();N.append(V,j)}}),N}C.call(P.prototype);function M(A,N){N||(N={}),this.type="default",this.status=N.status===void 0?200:N.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in N?N.statusText:"OK",this.headers=new m(N.headers),this.url=N.url||"",this._initBody(A)}C.call(M.prototype),M.prototype.clone=function(){return new M(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new m(this.headers),url:this.url})},M.error=function(){var A=new M(null,{status:0,statusText:""});return A.type="error",A};var G=[301,302,303,307,308];M.redirect=function(A,N){if(G.indexOf(N)===-1)throw new RangeError("Invalid status code");return new M(null,{status:N,headers:{location:A}})},s.DOMException=o.DOMException;try{new s.DOMException}catch{s.DOMException=function(N,F){this.message=N,this.name=F;var B=Error(N);this.stack=B.stack},s.DOMException.prototype=Object.create(Error.prototype),s.DOMException.prototype.constructor=s.DOMException}function U(A,N){return new Promise(function(F,B){var D=new P(A,N);if(D.signal&&D.signal.aborted)return B(new s.DOMException("Aborted","AbortError"));var V=new XMLHttpRequest;function j(){V.abort()}V.onload=function(){var q={status:V.status,statusText:V.statusText,headers:O(V.getAllResponseHeaders()||"")};q.url="responseURL"in V?V.responseURL:q.headers.get("X-Request-URL");var Z="response"in V?V.response:V.responseText;F(new M(Z,q))},V.onerror=function(){B(new TypeError("Network request failed"))},V.ontimeout=function(){B(new TypeError("Network request failed"))},V.onabort=function(){B(new s.DOMException("Aborted","AbortError"))},V.open(D.method,D.url,!0),D.credentials==="include"?V.withCredentials=!0:D.credentials==="omit"&&(V.withCredentials=!1),"responseType"in V&&a.blob&&(V.responseType="blob"),D.headers.forEach(function(q,Z){V.setRequestHeader(Z,q)}),D.signal&&(D.signal.addEventListener("abort",j),V.onreadystatechange=function(){V.readyState===4&&D.signal.removeEventListener("abort",j)}),V.send(typeof D._bodyInit>"u"?null:D._bodyInit)})}return U.polyfill=!0,o.fetch||(o.fetch=U,o.Headers=m,o.Request=P,o.Response=M),s.Headers=m,s.Request=P,s.Response=M,s.fetch=U,Object.defineProperty(s,"__esModule",{value:!0}),s})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var i=r;t=i.fetch,t.default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t}(K0,K0.exports)),K0.exports}(function(e,t){var n;if(typeof fetch=="function"&&(typeof He<"u"&&He.fetch?n=He.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof UPe<"u"&&(typeof window>"u"||typeof window.document>"u")){var r=n||zPe();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(H5,H5.exports);var jj=H5.exports;const Gj=dc(jj),r7=b7({__proto__:null,default:Gj},[jj]);function m_(e){"@babel/helpers - typeof";return m_=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},m_(e)}var Ca;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?Ca=global.fetch:typeof window<"u"&&window.fetch?Ca=window.fetch:Ca=fetch);var Gg;Vj()&&(typeof global<"u"&&global.XMLHttpRequest?Gg=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(Gg=window.XMLHttpRequest));var y_;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?y_=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(y_=window.ActiveXObject));!Ca&&r7&&!Gg&&!y_&&(Ca=Gj||r7);typeof Ca!="function"&&(Ca=void 0);var W5=function(t,n){if(n&&m_(n)==="object"){var r="";for(var i in n)r+="&"+encodeURIComponent(i)+"="+encodeURIComponent(n[i]);if(!r)return t;t=t+(t.indexOf("?")!==-1?"&":"?")+r.slice(1)}return t},i7=function(t,n,r){Ca(t,n).then(function(i){if(!i.ok)return r(i.statusText||"Error",{status:i.status});i.text().then(function(o){r(null,{status:i.status,data:o})}).catch(r)}).catch(r)},o7=!1,VPe=function(t,n,r,i){t.queryStringParams&&(n=W5(n,t.queryStringParams));var o=G5({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);r&&(o["Content-Type"]="application/json");var s=typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions,a=G5({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:o},o7?{}:s);try{i7(n,a,i)}catch(l){if(!s||Object.keys(s).length===0||!l.message||l.message.indexOf("not implemented")<0)return i(l);try{Object.keys(s).forEach(function(u){delete a[u]}),i7(n,a,i),o7=!0}catch(u){i(u)}}},jPe=function(t,n,r,i){r&&m_(r)==="object"&&(r=W5("",r).slice(1)),t.queryStringParams&&(n=W5(n,t.queryStringParams));try{var o;Gg?o=new Gg:o=new y_("MSXML2.XMLHTTP.3.0"),o.open(r?"POST":"GET",n,1),t.crossDomain||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.withCredentials=!!t.withCredentials,r&&o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.overrideMimeType&&o.overrideMimeType("application/json");var s=t.customHeaders;if(s=typeof s=="function"?s():s,s)for(var a in s)o.setRequestHeader(a,s[a]);o.onreadystatechange=function(){o.readyState>3&&i(o.status>=400?o.statusText:null,{status:o.status,data:o.responseText})},o.send(r)}catch(l){console&&console.log(l)}},GPe=function(t,n,r,i){if(typeof r=="function"&&(i=r,r=void 0),i=i||function(){},Ca&&n.indexOf("file:")!==0)return VPe(t,n,r,i);if(Vj()||typeof ActiveXObject=="function")return jPe(t,n,r,i);i(new Error("No fetch and no xhr implementation found!"))};function Hg(e){"@babel/helpers - typeof";return Hg=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Hg(e)}function HPe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s7(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};HPe(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return WPe(e,[{key:"init",value:function(n){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=G5(i,this.options||{},XPe()),this.allOptions=o,this.services&&this.options.reloadInterval&&setInterval(function(){return r.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(n,r,i){this._readAny(n,n,r,r,i)}},{key:"read",value:function(n,r,i){this._readAny([n],n,[r],r,i)}},{key:"_readAny",value:function(n,r,i,o,s){var a=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,i)),l=BPe(l),l.then(function(u){if(!u)return s(null,{});var d=a.services.interpolator.interpolate(u,{lng:n.join("+"),ns:i.join("+")});a.loadUrl(d,s,r,o)})}},{key:"loadUrl",value:function(n,r,i,o){var s=this,a=typeof i=="string"?[i]:i,l=typeof o=="string"?[o]:o,u=this.options.parseLoadPayload(a,l);this.options.request(this.options,n,u,function(d,f){if(f&&(f.status>=500&&f.status<600||!f.status))return r("failed loading "+n+"; status code: "+f.status,!0);if(f&&f.status>=400&&f.status<500)return r("failed loading "+n+"; status code: "+f.status,!1);if(!f&&d&&d.message&&d.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+d.message,!0);if(d)return r(d,!1);var p,g;try{typeof f.data=="string"?p=s.options.parse(f.data,i,o):p=f.data}catch{g="failed parsing "+n+" to json"}if(g)return r(g,!1);r(null,p)})}},{key:"create",value:function(n,r,i,o,s){var a=this;if(this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,i,o),u=0,d=[],f=[];n.forEach(function(p){var g=a.options.addPath;typeof a.options.addPath=="function"&&(g=a.options.addPath(p,r));var m=a.services.interpolator.interpolate(g,{lng:p,ns:r});a.options.request(a.options,m,l,function(v,x){u+=1,d.push(v),f.push(x),u===n.length&&typeof s=="function"&&s(d,f)})})}}},{key:"reload",value:function(){var n=this,r=this.services,i=r.backendConnector,o=r.languageUtils,s=r.logger,a=i.language;if(!(a&&a.toLowerCase()==="cimode")){var l=[],u=function(f){var p=o.toResolveHierarchy(f);p.forEach(function(g){l.indexOf(g)<0&&l.push(g)})};u(a),this.allOptions.preload&&this.allOptions.preload.forEach(function(d){return u(d)}),l.forEach(function(d){n.allOptions.ns.forEach(function(f){i.read(d,f,"read",null,null,function(p,g){p&&s.warn("loading namespace ".concat(f," for language ").concat(d," failed"),p),!p&&g&&s.log("loaded namespace ".concat(f," for language ").concat(d),g),i.loaded("".concat(d,"|").concat(f),p,g)})})})}}}]),e}();Wj.type="backend";const YPe=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,QPe={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},ZPe=e=>QPe[e],JPe=e=>e.replace(YPe,ZPe);let q5={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:JPe};function e8e(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};q5={...q5,...e}}function AMe(){return q5}let qj;function t8e(e){qj=e}function PMe(){return qj}const n8e={type:"3rdParty",init(e){e8e(e.options.react),t8e(e)}};Kr.use(Wj).use(n8e).init({fallbackLng:"en",debug:!1,backend:{loadPath:"/locales/{{lng}}.json"},interpolation:{escapeValue:!1},returnNull:!1});const u2=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Yf(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function m6(e){return"nodeType"in e}function fi(e){var t,n;return e?Yf(e)?e:m6(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function y6(e){const{Document:t}=fi(e);return e instanceof t}function Um(e){return Yf(e)?!1:e instanceof fi(e).HTMLElement}function r8e(e){return e instanceof fi(e).SVGElement}function Qf(e){return e?Yf(e)?e.document:m6(e)?y6(e)?e:Um(e)?e.ownerDocument:document:document:document}const $s=u2?L.useLayoutEffect:L.useEffect;function c2(e){const t=L.useRef(e);return $s(()=>{t.current=e}),L.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i{e.current=setInterval(r,i)},[]),n=L.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function Wg(e,t){t===void 0&&(t=[e]);const n=L.useRef(e);return $s(()=>{n.current!==e&&(n.current=e)},t),n}function zm(e,t){const n=L.useRef();return L.useMemo(()=>{const r=e(n.current);return n.current=r,r},[...t])}function v_(e){const t=c2(e),n=L.useRef(null),r=L.useCallback(i=>{i!==n.current&&(t==null||t(i,n.current)),n.current=i},[]);return[n,r]}function __(e){const t=L.useRef();return L.useEffect(()=>{t.current=e},[e]),t.current}let cC={};function d2(e,t){return L.useMemo(()=>{if(t)return t;const n=cC[e]==null?0:cC[e]+1;return cC[e]=n,e+"-"+n},[e,t])}function Kj(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{const a=Object.entries(s);for(const[l,u]of a){const d=o[l];d!=null&&(o[l]=d+e*u)}return o},{...t})}}const uf=Kj(1),b_=Kj(-1);function o8e(e){return"clientX"in e&&"clientY"in e}function v6(e){if(!e)return!1;const{KeyboardEvent:t}=fi(e.target);return t&&e instanceof t}function s8e(e){if(!e)return!1;const{TouchEvent:t}=fi(e.target);return t&&e instanceof t}function qg(e){if(s8e(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return o8e(e)?{x:e.clientX,y:e.clientY}:null}const Kg=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[Kg.Translate.toString(e),Kg.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),a7="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function a8e(e){return e.matches(a7)?e:e.querySelector(a7)}const l8e={display:"none"};function u8e(e){let{id:t,value:n}=e;return Lt.createElement("div",{id:t,style:l8e},n)}const c8e={position:"fixed",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};function d8e(e){let{id:t,announcement:n}=e;return Lt.createElement("div",{id:t,style:c8e,role:"status","aria-live":"assertive","aria-atomic":!0},n)}function f8e(){const[e,t]=L.useState("");return{announce:L.useCallback(r=>{r!=null&&t(r)},[]),announcement:e}}const Xj=L.createContext(null);function h8e(e){const t=L.useContext(Xj);L.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of ");return t(e)},[e,t])}function p8e(){const[e]=L.useState(()=>new Set),t=L.useCallback(r=>(e.add(r),()=>e.delete(r)),[e]);return[L.useCallback(r=>{let{type:i,event:o}=r;e.forEach(s=>{var a;return(a=s[i])==null?void 0:a.call(s,o)})},[e]),t]}const g8e={draggable:` To pick up a draggable item, press the space bar. While dragging, use the arrow keys to move the item. Press space again to drop the item in its new position, or press escape to cancel. - `},m8e={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function y8e(e){let{announcements:t=m8e,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=g8e}=e;const{announce:o,announcement:s}=f8e(),a=d2("DndLiveRegion"),[l,u]=L.useState(!1);if(L.useEffect(()=>{u(!0)},[]),h8e(L.useMemo(()=>({onDragStart(f){let{active:p}=f;o(t.onDragStart({active:p}))},onDragMove(f){let{active:p,over:g}=f;t.onDragMove&&o(t.onDragMove({active:p,over:g}))},onDragOver(f){let{active:p,over:g}=f;o(t.onDragOver({active:p,over:g}))},onDragEnd(f){let{active:p,over:g}=f;o(t.onDragEnd({active:p,over:g}))},onDragCancel(f){let{active:p,over:g}=f;o(t.onDragCancel({active:p,over:g}))}}),[o,t])),!l)return null;const d=Lt.createElement(Lt.Fragment,null,Lt.createElement(u8e,{id:r,value:i.draggable}),Lt.createElement(d8e,{id:a,announcement:s}));return n?bs.createPortal(d,n):d}var er;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(er||(er={}));function S_(){}function l7(e,t){return L.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function v8e(){for(var e=arguments.length,t=new Array(e),n=0;n[...t].filter(r=>r!=null),[...t])}const ns=Object.freeze({x:0,y:0});function _8e(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function b8e(e,t){const n=qg(e);if(!n)return"0 0";const r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}function S8e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function w8e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function x8e(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function C8e(e,t){if(!e||e.length===0)return null;const[n]=e;return t?n[t]:n}function T8e(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),o=Math.min(t.top+t.height,e.top+e.height),s=i-r,a=o-n;if(r{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=[];for(const o of r){const{id:s}=o,a=n.get(s);if(a){const l=T8e(a,t);l>0&&i.push({id:s,data:{droppableContainer:o,value:l}})}}return i.sort(w8e)};function A8e(e,t){const{top:n,left:r,bottom:i,right:o}=t;return n<=e.y&&e.y<=i&&r<=e.x&&e.x<=o}const P8e=e=>{let{droppableContainers:t,droppableRects:n,pointerCoordinates:r}=e;if(!r)return[];const i=[];for(const o of t){const{id:s}=o,a=n.get(s);if(a&&A8e(r,a)){const u=x8e(a).reduce((f,p)=>f+_8e(r,p),0),d=Number((u/4).toFixed(4));i.push({id:s,data:{droppableContainer:o,value:d}})}}return i.sort(S8e)};function R8e(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function Yj(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:ns}function O8e(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o({...s,top:s.top+e*a.y,bottom:s.bottom+e*a.y,left:s.left+e*a.x,right:s.right+e*a.x}),{...n})}}const k8e=O8e(1);function Qj(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function I8e(e,t,n){const r=Qj(t);if(!r)return e;const{scaleX:i,scaleY:o,x:s,y:a}=r,l=e.left-s-(1-i)*parseFloat(n),u=e.top-a-(1-o)*parseFloat(n.slice(n.indexOf(" ")+1)),d=i?e.width/i:e.width,f=o?e.height/o:e.height;return{width:d,height:f,top:u,right:l+d,bottom:u+f,left:l}}const M8e={ignoreTransform:!1};function Vm(e,t){t===void 0&&(t=M8e);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:u,transformOrigin:d}=fi(e).getComputedStyle(e);u&&(n=I8e(n,u,d))}const{top:r,left:i,width:o,height:s,bottom:a,right:l}=n;return{top:r,left:i,width:o,height:s,bottom:a,right:l}}function u7(e){return Vm(e,{ignoreTransform:!0})}function N8e(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function L8e(e,t){return t===void 0&&(t=fi(e).getComputedStyle(e)),t.position==="fixed"}function D8e(e,t){t===void 0&&(t=fi(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const o=t[i];return typeof o=="string"?n.test(o):!1})}function v6(e,t){const n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(m6(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Um(i)||r8e(i)||n.includes(i))return n;const o=fi(e).getComputedStyle(i);return i!==e&&D8e(i,o)&&n.push(i),L8e(i,o)?n:r(i.parentNode)}return e?r(e):n}function Zj(e){const[t]=v6(e,1);return t??null}function dC(e){return!u2||!e?null:Yf(e)?e:g6(e)?m6(e)||e===Qf(e).scrollingElement?window:Um(e)?e:null:null}function Jj(e){return Yf(e)?e.scrollX:e.scrollLeft}function eG(e){return Yf(e)?e.scrollY:e.scrollTop}function q5(e){return{x:Jj(e),y:eG(e)}}var fr;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(fr||(fr={}));function tG(e){return!u2||!e?!1:e===document.scrollingElement}function nG(e){const t={x:0,y:0},n=tG(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},i=e.scrollTop<=t.y,o=e.scrollLeft<=t.x,s=e.scrollTop>=r.y,a=e.scrollLeft>=r.x;return{isTop:i,isLeft:o,isBottom:s,isRight:a,maxScroll:r,minScroll:t}}const $8e={x:.2,y:.2};function F8e(e,t,n,r,i){let{top:o,left:s,right:a,bottom:l}=n;r===void 0&&(r=10),i===void 0&&(i=$8e);const{isTop:u,isBottom:d,isLeft:f,isRight:p}=nG(e),g={x:0,y:0},m={x:0,y:0},v={height:t.height*i.y,width:t.width*i.x};return!u&&o<=t.top+v.height?(g.y=fr.Backward,m.y=r*Math.abs((t.top+v.height-o)/v.height)):!d&&l>=t.bottom-v.height&&(g.y=fr.Forward,m.y=r*Math.abs((t.bottom-v.height-l)/v.height)),!p&&a>=t.right-v.width?(g.x=fr.Forward,m.x=r*Math.abs((t.right-v.width-a)/v.width)):!f&&s<=t.left+v.width&&(g.x=fr.Backward,m.x=r*Math.abs((t.left+v.width-s)/v.width)),{direction:g,speed:m}}function B8e(e){if(e===document.scrollingElement){const{innerWidth:o,innerHeight:s}=window;return{top:0,left:0,right:o,bottom:s,width:o,height:s}}const{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function rG(e){return e.reduce((t,n)=>uf(t,q5(n)),ns)}function U8e(e){return e.reduce((t,n)=>t+Jj(n),0)}function z8e(e){return e.reduce((t,n)=>t+eG(n),0)}function iG(e,t){if(t===void 0&&(t=Vm),!e)return;const{top:n,left:r,bottom:i,right:o}=t(e);Zj(e)&&(i<=0||o<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const V8e=[["x",["left","right"],U8e],["y",["top","bottom"],z8e]];class _6{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=v6(n),i=rG(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,s,a]of V8e)for(const l of s)Object.defineProperty(this,l,{get:()=>{const u=a(r),d=i[o]-u;return this.rect[l]+d},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Np{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=t}add(t,n,r){var i;(i=this.target)==null||i.addEventListener(t,n,r),this.listeners.push([t,n,r])}}function j8e(e){const{EventTarget:t}=fi(e);return e instanceof t?e:Qf(e)}function fC(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return typeof t=="number"?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t?r>t.y:!1}var po;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(po||(po={}));function c7(e){e.preventDefault()}function G8e(e){e.stopPropagation()}var Qt;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter"})(Qt||(Qt={}));const oG={start:[Qt.Space,Qt.Enter],cancel:[Qt.Esc],end:[Qt.Space,Qt.Enter]},H8e=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case Qt.Right:return{...n,x:n.x+25};case Qt.Left:return{...n,x:n.x-25};case Qt.Down:return{...n,y:n.y+25};case Qt.Up:return{...n,y:n.y-25}}};class sG{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:n}}=t;this.props=t,this.listeners=new Np(Qf(n)),this.windowListeners=new Np(fi(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(po.Resize,this.handleCancel),this.windowListeners.add(po.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(po.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&iG(r),n(ns)}handleKeyDown(t){if(y6(t)){const{active:n,context:r,options:i}=this.props,{keyboardCodes:o=oG,coordinateGetter:s=H8e,scrollBehavior:a="smooth"}=i,{code:l}=t;if(o.end.includes(l)){this.handleEnd(t);return}if(o.cancel.includes(l)){this.handleCancel(t);return}const{collisionRect:u}=r.current,d=u?{x:u.left,y:u.top}:ns;this.referenceCoordinates||(this.referenceCoordinates=d);const f=s(t,{active:n,context:r.current,currentCoordinates:d});if(f){const p=b_(f,d),g={x:0,y:0},{scrollableAncestors:m}=r.current;for(const v of m){const x=t.code,{isTop:_,isRight:b,isLeft:y,isBottom:S,maxScroll:C,minScroll:T}=nG(v),E=B8e(v),P={x:Math.min(x===Qt.Right?E.right-E.width/2:E.right,Math.max(x===Qt.Right?E.left:E.left+E.width/2,f.x)),y:Math.min(x===Qt.Down?E.bottom-E.height/2:E.bottom,Math.max(x===Qt.Down?E.top:E.top+E.height/2,f.y))},k=x===Qt.Right&&!b||x===Qt.Left&&!y,O=x===Qt.Down&&!S||x===Qt.Up&&!_;if(k&&P.x!==f.x){const M=v.scrollLeft+p.x,G=x===Qt.Right&&M<=C.x||x===Qt.Left&&M>=T.x;if(G&&!p.y){v.scrollTo({left:M,behavior:a});return}G?g.x=v.scrollLeft-M:g.x=x===Qt.Right?v.scrollLeft-C.x:v.scrollLeft-T.x,g.x&&v.scrollBy({left:-g.x,behavior:a});break}else if(O&&P.y!==f.y){const M=v.scrollTop+p.y,G=x===Qt.Down&&M<=C.y||x===Qt.Up&&M>=T.y;if(G&&!p.x){v.scrollTo({top:M,behavior:a});return}G?g.y=v.scrollTop-M:g.y=x===Qt.Down?v.scrollTop-C.y:v.scrollTop-T.y,g.y&&v.scrollBy({top:-g.y,behavior:a});break}}this.handleMove(t,uf(b_(f,this.referenceCoordinates),g))}}}handleMove(t,n){const{onMove:r}=this.props;t.preventDefault(),r(n)}handleEnd(t){const{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){const{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}sG.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=oG,onActivation:i}=t,{active:o}=n;const{code:s}=e.nativeEvent;if(r.start.includes(s)){const a=o.activatorNode.current;return a&&e.target!==a?!1:(e.preventDefault(),i==null||i({event:e.nativeEvent}),!0)}return!1}}];function d7(e){return!!(e&&"distance"in e)}function f7(e){return!!(e&&"delay"in e)}class b6{constructor(t,n,r){var i;r===void 0&&(r=j8e(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;const{event:o}=t,{target:s}=o;this.props=t,this.events=n,this.document=Qf(s),this.documentListeners=new Np(this.document),this.listeners=new Np(r),this.windowListeners=new Np(fi(s)),this.initialCoordinates=(i=qg(o))!=null?i:ns,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:n}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),this.windowListeners.add(po.Resize,this.handleCancel),this.windowListeners.add(po.DragStart,c7),this.windowListeners.add(po.VisibilityChange,this.handleCancel),this.windowListeners.add(po.ContextMenu,c7),this.documentListeners.add(po.Keydown,this.handleKeydown),n){if(d7(n))return;if(f7(n)){this.timeoutId=setTimeout(this.handleStart,n.delay);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(po.Click,G8e,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(po.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:r,initialCoordinates:i,props:o}=this,{onMove:s,options:{activationConstraint:a}}=o;if(!i)return;const l=(n=qg(t))!=null?n:ns,u=b_(i,l);if(!r&&a){if(f7(a))return fC(u,a.tolerance)?this.handleCancel():void 0;if(d7(a))return a.tolerance!=null&&fC(u,a.tolerance)?this.handleCancel():fC(u,a.distance)?this.handleStart():void 0}t.cancelable&&t.preventDefault(),s(l)}handleEnd(){const{onEnd:t}=this.props;this.detach(),t()}handleCancel(){const{onCancel:t}=this.props;this.detach(),t()}handleKeydown(t){t.code===Qt.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const W8e={move:{name:"pointermove"},end:{name:"pointerup"}};class aG extends b6{constructor(t){const{event:n}=t,r=Qf(n.target);super(t,W8e,r)}}aG.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r==null||r({event:n}),!0)}}];const q8e={move:{name:"mousemove"},end:{name:"mouseup"}};var K5;(function(e){e[e.RightClick=2]="RightClick"})(K5||(K5={}));class lG extends b6{constructor(t){super(t,q8e,Qf(t.event.target))}}lG.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===K5.RightClick?!1:(r==null||r({event:n}),!0)}}];const hC={move:{name:"touchmove"},end:{name:"touchend"}};class uG extends b6{constructor(t){super(t,hC)}static setup(){return window.addEventListener(hC.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(hC.move.name,t)};function t(){}}}uG.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:i}=n;return i.length>1?!1:(r==null||r({event:n}),!0)}}];var Lp;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(Lp||(Lp={}));var w_;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(w_||(w_={}));function K8e(e){let{acceleration:t,activator:n=Lp.Pointer,canScroll:r,draggingRect:i,enabled:o,interval:s=5,order:a=w_.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:d,delta:f,threshold:p}=e;const g=Y8e({delta:f,disabled:!o}),[m,v]=i8e(),x=L.useRef({x:0,y:0}),_=L.useRef({x:0,y:0}),b=L.useMemo(()=>{switch(n){case Lp.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Lp.DraggableRect:return i}},[n,i,l]),y=L.useRef(null),S=L.useCallback(()=>{const T=y.current;if(!T)return;const E=x.current.x*_.current.x,P=x.current.y*_.current.y;T.scrollBy(E,P)},[]),C=L.useMemo(()=>a===w_.TreeOrder?[...u].reverse():u,[a,u]);L.useEffect(()=>{if(!o||!u.length||!b){v();return}for(const T of C){if((r==null?void 0:r(T))===!1)continue;const E=u.indexOf(T),P=d[E];if(!P)continue;const{direction:k,speed:O}=F8e(T,P,b,t,p);for(const M of["x","y"])g[M][k[M]]||(O[M]=0,k[M]=0);if(O.x>0||O.y>0){v(),y.current=T,m(S,s),x.current=O,_.current=k;return}}x.current={x:0,y:0},_.current={x:0,y:0},v()},[t,S,r,v,o,s,JSON.stringify(b),JSON.stringify(g),m,u,C,d,JSON.stringify(p)])}const X8e={x:{[fr.Backward]:!1,[fr.Forward]:!1},y:{[fr.Backward]:!1,[fr.Forward]:!1}};function Y8e(e){let{delta:t,disabled:n}=e;const r=__(t);return zm(i=>{if(n||!r||!i)return X8e;const o={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[fr.Backward]:i.x[fr.Backward]||o.x===-1,[fr.Forward]:i.x[fr.Forward]||o.x===1},y:{[fr.Backward]:i.y[fr.Backward]||o.y===-1,[fr.Forward]:i.y[fr.Forward]||o.y===1}}},[n,t,r])}function Q8e(e,t){const n=t!==null?e.get(t):void 0,r=n?n.node.current:null;return zm(i=>{var o;return t===null?null:(o=r??i)!=null?o:null},[r,t])}function Z8e(e,t){return L.useMemo(()=>e.reduce((n,r)=>{const{sensor:i}=r,o=i.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,r)}));return[...n,...o]},[]),[e,t])}var Xg;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(Xg||(Xg={}));var X5;(function(e){e.Optimized="optimized"})(X5||(X5={}));const h7=new Map;function J8e(e,t){let{dragging:n,dependencies:r,config:i}=t;const[o,s]=L.useState(null),{frequency:a,measure:l,strategy:u}=i,d=L.useRef(e),f=x(),p=Wg(f),g=L.useCallback(function(_){_===void 0&&(_=[]),!p.current&&s(b=>b===null?_:b.concat(_.filter(y=>!b.includes(y))))},[p]),m=L.useRef(null),v=zm(_=>{if(f&&!n)return h7;if(!_||_===h7||d.current!==e||o!=null){const b=new Map;for(let y of e){if(!y)continue;if(o&&o.length>0&&!o.includes(y.id)&&y.rect.current){b.set(y.id,y.rect.current);continue}const S=y.node.current,C=S?new _6(l(S),S):null;y.rect.current=C,C&&b.set(y.id,C)}return b}return _},[e,o,n,f,l]);return L.useEffect(()=>{d.current=e},[e]),L.useEffect(()=>{f||g()},[n,f]),L.useEffect(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),L.useEffect(()=>{f||typeof a!="number"||m.current!==null||(m.current=setTimeout(()=>{g(),m.current=null},a))},[a,f,g,...r]),{droppableRects:v,measureDroppableContainers:g,measuringScheduled:o!=null};function x(){switch(u){case Xg.Always:return!1;case Xg.BeforeDragging:return n;default:return!n}}}function S6(e,t){return zm(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function e9e(e,t){return S6(e,t)}function t9e(e){let{callback:t,disabled:n}=e;const r=c2(t),i=L.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(r)},[r,n]);return L.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function f2(e){let{callback:t,disabled:n}=e;const r=c2(t),i=L.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return L.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function n9e(e){return new _6(Vm(e),e)}function p7(e,t,n){t===void 0&&(t=n9e);const[r,i]=L.useReducer(a,null),o=t9e({callback(l){if(e)for(const u of l){const{type:d,target:f}=u;if(d==="childList"&&f instanceof HTMLElement&&f.contains(e)){i();break}}}}),s=f2({callback:i});return $s(()=>{i(),e?(s==null||s.observe(e),o==null||o.observe(document.body,{childList:!0,subtree:!0})):(s==null||s.disconnect(),o==null||o.disconnect())},[e]),r;function a(l){if(!e)return null;if(e.isConnected===!1){var u;return(u=l??n)!=null?u:null}const d=t(e);return JSON.stringify(l)===JSON.stringify(d)?l:d}}function r9e(e){const t=S6(e);return Yj(e,t)}const g7=[];function i9e(e){const t=L.useRef(e),n=zm(r=>e?r&&r!==g7&&e&&t.current&&e.parentNode===t.current.parentNode?r:v6(e):g7,[e]);return L.useEffect(()=>{t.current=e},[e]),n}function o9e(e){const[t,n]=L.useState(null),r=L.useRef(e),i=L.useCallback(o=>{const s=dC(o.target);s&&n(a=>a?(a.set(s,q5(s)),new Map(a)):null)},[]);return L.useEffect(()=>{const o=r.current;if(e!==o){s(o);const a=e.map(l=>{const u=dC(l);return u?(u.addEventListener("scroll",i,{passive:!0}),[u,q5(u)]):null}).filter(l=>l!=null);n(a.length?new Map(a):null),r.current=e}return()=>{s(e),s(o)};function s(a){a.forEach(l=>{const u=dC(l);u==null||u.removeEventListener("scroll",i)})}},[i,e]),L.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,s)=>uf(o,s),ns):rG(e):ns,[e,t])}function m7(e,t){t===void 0&&(t=[]);const n=L.useRef(null);return L.useEffect(()=>{n.current=null},t),L.useEffect(()=>{const r=e!==ns;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?b_(e,n.current):ns}function s9e(e){L.useEffect(()=>{if(!u2)return;const t=e.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of t)n==null||n()}},e.map(t=>{let{sensor:n}=t;return n}))}function a9e(e,t){return L.useMemo(()=>e.reduce((n,r)=>{let{eventName:i,handler:o}=r;return n[i]=s=>{o(s,t)},n},{}),[e,t])}function cG(e){return L.useMemo(()=>e?N8e(e):null,[e])}const pC=[];function l9e(e,t){t===void 0&&(t=Vm);const[n]=e,r=cG(n?fi(n):null),[i,o]=L.useReducer(a,pC),s=f2({callback:o});return e.length>0&&i===pC&&o(),$s(()=>{e.length?e.forEach(l=>s==null?void 0:s.observe(l)):(s==null||s.disconnect(),o())},[e]),i;function a(){return e.length?e.map(l=>tG(l)?r:new _6(t(l),l)):pC}}function dG(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Um(t)?t:e}function u9e(e){let{measure:t}=e;const[n,r]=L.useState(null),i=L.useCallback(u=>{for(const{target:d}of u)if(Um(d)){r(f=>{const p=t(d);return f?{...f,width:p.width,height:p.height}:p});break}},[t]),o=f2({callback:i}),s=L.useCallback(u=>{const d=dG(u);o==null||o.disconnect(),d&&(o==null||o.observe(d)),r(d?t(d):null)},[t,o]),[a,l]=v_(s);return L.useMemo(()=>({nodeRef:a,rect:n,setRef:l}),[n,a,l])}const c9e=[{sensor:aG,options:{}},{sensor:sG,options:{}}],d9e={current:{}},Iv={draggable:{measure:u7},droppable:{measure:u7,strategy:Xg.WhileDragging,frequency:X5.Optimized},dragOverlay:{measure:Vm}};class Dp extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,r;return(n=(r=this.get(t))==null?void 0:r.node.current)!=null?n:void 0}}const f9e={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Dp,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:S_},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Iv,measureDroppableContainers:S_,windowRect:null,measuringScheduled:!1},fG={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:S_,draggableNodes:new Map,over:null,measureDroppableContainers:S_},jm=L.createContext(fG),hG=L.createContext(f9e);function h9e(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Dp}}}function p9e(e,t){switch(t.type){case er.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case er.DragMove:return e.draggable.active?{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}}:e;case er.DragEnd:case er.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case er.RegisterDroppable:{const{element:n}=t,{id:r}=n,i=new Dp(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case er.SetDroppableDisabled:{const{id:n,key:r,disabled:i}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const s=new Dp(e.droppable.containers);return s.set(n,{...o,disabled:i}),{...e,droppable:{...e.droppable,containers:s}}}case er.UnregisterDroppable:{const{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const o=new Dp(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function g9e(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:i}=L.useContext(jm),o=__(r),s=__(n==null?void 0:n.id);return L.useEffect(()=>{if(!t&&!r&&o&&s!=null){if(!y6(o)||document.activeElement===o.target)return;const a=i.get(s);if(!a)return;const{activatorNode:l,node:u}=a;if(!l.current&&!u.current)return;requestAnimationFrame(()=>{for(const d of[l.current,u.current]){if(!d)continue;const f=a8e(d);if(f){f.focus();break}}})}},[r,t,i,s,o]),null}function pG(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((i,o)=>o({transform:i,...r}),n):n}function m9e(e){return L.useMemo(()=>({draggable:{...Iv.draggable,...e==null?void 0:e.draggable},droppable:{...Iv.droppable,...e==null?void 0:e.droppable},dragOverlay:{...Iv.dragOverlay,...e==null?void 0:e.dragOverlay}}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function y9e(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e;const o=L.useRef(!1),{x:s,y:a}=typeof i=="boolean"?{x:i,y:i}:i;$s(()=>{if(!s&&!a||!t){o.current=!1;return}if(o.current||!r)return;const u=t==null?void 0:t.node.current;if(!u||u.isConnected===!1)return;const d=n(u),f=Yj(d,r);if(s||(f.x=0),a||(f.y=0),o.current=!0,Math.abs(f.x)>0||Math.abs(f.y)>0){const p=Zj(u);p&&p.scrollBy({top:f.y,left:f.x})}},[t,s,a,r,n])}const h2=L.createContext({...ns,scaleX:1,scaleY:1});var hl;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(hl||(hl={}));const v9e=L.memo(function(t){var n,r,i,o;let{id:s,accessibility:a,autoScroll:l=!0,children:u,sensors:d=c9e,collisionDetection:f=E8e,measuring:p,modifiers:g,...m}=t;const v=L.useReducer(p9e,void 0,h9e),[x,_]=v,[b,y]=p8e(),[S,C]=L.useState(hl.Uninitialized),T=S===hl.Initialized,{draggable:{active:E,nodes:P,translate:k},droppable:{containers:O}}=x,M=E?P.get(E):null,G=L.useRef({initial:null,translated:null}),U=L.useMemo(()=>{var Xt;return E!=null?{id:E,data:(Xt=M==null?void 0:M.data)!=null?Xt:d9e,rect:G}:null},[E,M]),A=L.useRef(null),[N,F]=L.useState(null),[B,D]=L.useState(null),V=Wg(m,Object.values(m)),j=d2("DndDescribedBy",s),q=L.useMemo(()=>O.getEnabled(),[O]),Z=m9e(p),{droppableRects:ee,measureDroppableContainers:ie,measuringScheduled:se}=J8e(q,{dragging:T,dependencies:[k.x,k.y],config:Z.droppable}),le=Q8e(P,E),W=L.useMemo(()=>B?qg(B):null,[B]),ne=js(),fe=e9e(le,Z.draggable.measure);y9e({activeNode:E?P.get(E):null,config:ne.layoutShiftCompensation,initialRect:fe,measure:Z.draggable.measure});const pe=p7(le,Z.draggable.measure,fe),ve=p7(le?le.parentElement:null),ye=L.useRef({activatorEvent:null,active:null,activeNode:le,collisionRect:null,collisions:null,droppableRects:ee,draggableNodes:P,draggingNode:null,draggingNodeRect:null,droppableContainers:O,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),We=O.getNodeFor((n=ye.current.over)==null?void 0:n.id),Me=u9e({measure:Z.dragOverlay.measure}),Ee=(r=Me.nodeRef.current)!=null?r:le,lt=T?(i=Me.rect)!=null?i:pe:null,_e=!!(Me.nodeRef.current&&Me.rect),jt=r9e(_e?null:pe),Wn=cG(Ee?fi(Ee):null),Bt=i9e(T?We??le:null),it=l9e(Bt),mt=pG(g,{transform:{x:k.x-jt.x,y:k.y-jt.y,scaleX:1,scaleY:1},activatorEvent:B,active:U,activeNodeRect:pe,containerNodeRect:ve,draggingNodeRect:lt,over:ye.current.over,overlayNodeRect:Me.rect,scrollableAncestors:Bt,scrollableAncestorRects:it,windowRect:Wn}),Jt=W?uf(W,k):null,Mr=o9e(Bt),yr=m7(Mr),hi=m7(Mr,[pe]),wn=uf(mt,yr),on=lt?k8e(lt,mt):null,qn=U&&on?f({active:U,collisionRect:on,droppableRects:ee,droppableContainers:q,pointerCoordinates:Jt}):null,sn=C8e(qn,"id"),[Gt,vr]=L.useState(null),Nr=_e?mt:uf(mt,hi),Xr=R8e(Nr,(o=Gt==null?void 0:Gt.rect)!=null?o:null,pe),Ii=L.useCallback((Xt,kt)=>{let{sensor:Kn,options:$n}=kt;if(A.current==null)return;const or=P.get(A.current);if(!or)return;const _r=Xt.nativeEvent,br=new Kn({active:A.current,activeNode:or,event:_r,options:$n,context:ye,onStart(Sr){const Xn=A.current;if(Xn==null)return;const Mi=P.get(Xn);if(!Mi)return;const{onDragStart:os}=V.current,to={active:{id:Xn,data:Mi.data,rect:G}};bs.unstable_batchedUpdates(()=>{os==null||os(to),C(hl.Initializing),_({type:er.DragStart,initialCoordinates:Sr,active:Xn}),b({type:"onDragStart",event:to})})},onMove(Sr){_({type:er.DragMove,coordinates:Sr})},onEnd:eo(er.DragEnd),onCancel:eo(er.DragCancel)});bs.unstable_batchedUpdates(()=>{F(br),D(Xt.nativeEvent)});function eo(Sr){return async function(){const{active:Mi,collisions:os,over:to,scrollAdjustedTranslate:Va}=ye.current;let Ao=null;if(Mi&&Va){const{cancelDrop:wr}=V.current;Ao={activatorEvent:_r,active:Mi,collisions:os,delta:Va,over:to},Sr===er.DragEnd&&typeof wr=="function"&&await Promise.resolve(wr(Ao))&&(Sr=er.DragCancel)}A.current=null,bs.unstable_batchedUpdates(()=>{_({type:Sr}),C(hl.Uninitialized),vr(null),F(null),D(null);const wr=Sr===er.DragEnd?"onDragEnd":"onDragCancel";if(Ao){const Gs=V.current[wr];Gs==null||Gs(Ao),b({type:wr,event:Ao})}})}}},[P]),An=L.useCallback((Xt,kt)=>(Kn,$n)=>{const or=Kn.nativeEvent,_r=P.get($n);if(A.current!==null||!_r||or.dndKit||or.defaultPrevented)return;const br={active:_r};Xt(Kn,kt.options,br)===!0&&(or.dndKit={capturedBy:kt.sensor},A.current=$n,Ii(Kn,kt))},[P,Ii]),Yr=Z8e(d,An);s9e(d),$s(()=>{pe&&S===hl.Initializing&&C(hl.Initialized)},[pe,S]),L.useEffect(()=>{const{onDragMove:Xt}=V.current,{active:kt,activatorEvent:Kn,collisions:$n,over:or}=ye.current;if(!kt||!Kn)return;const _r={active:kt,activatorEvent:Kn,collisions:$n,delta:{x:wn.x,y:wn.y},over:or};bs.unstable_batchedUpdates(()=>{Xt==null||Xt(_r),b({type:"onDragMove",event:_r})})},[wn.x,wn.y]),L.useEffect(()=>{const{active:Xt,activatorEvent:kt,collisions:Kn,droppableContainers:$n,scrollAdjustedTranslate:or}=ye.current;if(!Xt||A.current==null||!kt||!or)return;const{onDragOver:_r}=V.current,br=$n.get(sn),eo=br&&br.rect.current?{id:br.id,rect:br.rect.current,data:br.data,disabled:br.disabled}:null,Sr={active:Xt,activatorEvent:kt,collisions:Kn,delta:{x:or.x,y:or.y},over:eo};bs.unstable_batchedUpdates(()=>{vr(eo),_r==null||_r(Sr),b({type:"onDragOver",event:Sr})})},[sn]),$s(()=>{ye.current={activatorEvent:B,active:U,activeNode:le,collisionRect:on,collisions:qn,droppableRects:ee,draggableNodes:P,draggingNode:Ee,draggingNodeRect:lt,droppableContainers:O,over:Gt,scrollableAncestors:Bt,scrollAdjustedTranslate:wn},G.current={initial:lt,translated:on}},[U,le,qn,on,P,Ee,lt,ee,O,Gt,Bt,wn]),K8e({...ne,delta:k,draggingRect:on,pointerCoordinates:Jt,scrollableAncestors:Bt,scrollableAncestorRects:it});const Vs=L.useMemo(()=>({active:U,activeNode:le,activeNodeRect:pe,activatorEvent:B,collisions:qn,containerNodeRect:ve,dragOverlay:Me,draggableNodes:P,droppableContainers:O,droppableRects:ee,over:Gt,measureDroppableContainers:ie,scrollableAncestors:Bt,scrollableAncestorRects:it,measuringConfiguration:Z,measuringScheduled:se,windowRect:Wn}),[U,le,pe,B,qn,ve,Me,P,O,ee,Gt,ie,Bt,it,Z,se,Wn]),Ji=L.useMemo(()=>({activatorEvent:B,activators:Yr,active:U,activeNodeRect:pe,ariaDescribedById:{draggable:j},dispatch:_,draggableNodes:P,over:Gt,measureDroppableContainers:ie}),[B,Yr,U,pe,_,j,P,Gt,ie]);return Lt.createElement(Xj.Provider,{value:y},Lt.createElement(jm.Provider,{value:Ji},Lt.createElement(hG.Provider,{value:Vs},Lt.createElement(h2.Provider,{value:Xr},u)),Lt.createElement(g9e,{disabled:(a==null?void 0:a.restoreFocus)===!1})),Lt.createElement(y8e,{...a,hiddenTextDescribedById:j}));function js(){const Xt=(N==null?void 0:N.autoScrollEnabled)===!1,kt=typeof l=="object"?l.enabled===!1:l===!1,Kn=T&&!Xt&&!kt;return typeof l=="object"?{...l,enabled:Kn}:{enabled:Kn}}}),_9e=L.createContext(null),y7="button",b9e="Droppable";function S9e(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e;const o=d2(b9e),{activators:s,activatorEvent:a,active:l,activeNodeRect:u,ariaDescribedById:d,draggableNodes:f,over:p}=L.useContext(jm),{role:g=y7,roleDescription:m="draggable",tabIndex:v=0}=i??{},x=(l==null?void 0:l.id)===t,_=L.useContext(x?h2:_9e),[b,y]=v_(),[S,C]=v_(),T=a9e(s,t),E=Wg(n);$s(()=>(f.set(t,{id:t,key:o,node:b,activatorNode:S,data:E}),()=>{const k=f.get(t);k&&k.key===o&&f.delete(t)}),[f,t]);const P=L.useMemo(()=>({role:g,tabIndex:v,"aria-disabled":r,"aria-pressed":x&&g===y7?!0:void 0,"aria-roledescription":m,"aria-describedby":d.draggable}),[r,g,v,x,m,d.draggable]);return{active:l,activatorEvent:a,activeNodeRect:u,attributes:P,isDragging:x,listeners:r?void 0:T,node:b,over:p,setNodeRef:y,setActivatorNodeRef:C,transform:_}}function w9e(){return L.useContext(hG)}const x9e="Droppable",C9e={timeout:25};function T9e(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e;const o=d2(x9e),{active:s,dispatch:a,over:l,measureDroppableContainers:u}=L.useContext(jm),d=L.useRef({disabled:n}),f=L.useRef(!1),p=L.useRef(null),g=L.useRef(null),{disabled:m,updateMeasurementsFor:v,timeout:x}={...C9e,...i},_=Wg(v??r),b=L.useCallback(()=>{if(!f.current){f.current=!0;return}g.current!=null&&clearTimeout(g.current),g.current=setTimeout(()=>{u(Array.isArray(_.current)?_.current:[_.current]),g.current=null},x)},[x]),y=f2({callback:b,disabled:m||!s}),S=L.useCallback((P,k)=>{y&&(k&&(y.unobserve(k),f.current=!1),P&&y.observe(P))},[y]),[C,T]=v_(S),E=Wg(t);return L.useEffect(()=>{!y||!C.current||(y.disconnect(),f.current=!1,y.observe(C.current))},[C,y]),$s(()=>(a({type:er.RegisterDroppable,element:{id:r,key:o,disabled:n,node:C,rect:p,data:E}}),()=>a({type:er.UnregisterDroppable,key:o,id:r})),[r]),L.useEffect(()=>{n!==d.current.disabled&&(a({type:er.SetDroppableDisabled,id:r,key:o,disabled:n}),d.current.disabled=n)},[r,o,n,a]),{active:s,rect:p,isOver:(l==null?void 0:l.id)===r,node:C,over:l,setNodeRef:T}}function E9e(e){let{animation:t,children:n}=e;const[r,i]=L.useState(null),[o,s]=L.useState(null),a=__(n);return!n&&!r&&a&&i(a),$s(()=>{if(!o)return;const l=r==null?void 0:r.key,u=r==null?void 0:r.props.id;if(l==null||u==null){i(null);return}Promise.resolve(t(u,o)).then(()=>{i(null)})},[t,r,o]),Lt.createElement(Lt.Fragment,null,n,r?L.cloneElement(r,{ref:s}):null)}const A9e={x:0,y:0,scaleX:1,scaleY:1};function P9e(e){let{children:t}=e;return Lt.createElement(jm.Provider,{value:fG},Lt.createElement(h2.Provider,{value:A9e},t))}const R9e={position:"fixed",touchAction:"none"},O9e=e=>y6(e)?"transform 250ms ease":void 0,k9e=L.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:o,className:s,rect:a,style:l,transform:u,transition:d=O9e}=e;if(!a)return null;const f=i?u:{...u,scaleX:1,scaleY:1},p={...R9e,width:a.width,height:a.height,top:a.top,left:a.left,transform:Kg.Transform.toString(f),transformOrigin:i&&r?b8e(r,a):void 0,transition:typeof d=="function"?d(r):d,...l};return Lt.createElement(n,{className:s,style:p,ref:t},o)}),I9e=e=>t=>{let{active:n,dragOverlay:r}=t;const i={},{styles:o,className:s}=e;if(o!=null&&o.active)for(const[a,l]of Object.entries(o.active))l!==void 0&&(i[a]=n.node.style.getPropertyValue(a),n.node.style.setProperty(a,l));if(o!=null&&o.dragOverlay)for(const[a,l]of Object.entries(o.dragOverlay))l!==void 0&&r.node.style.setProperty(a,l);return s!=null&&s.active&&n.node.classList.add(s.active),s!=null&&s.dragOverlay&&r.node.classList.add(s.dragOverlay),function(){for(const[l,u]of Object.entries(i))n.node.style.setProperty(l,u);s!=null&&s.active&&n.node.classList.remove(s.active)}},M9e=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Kg.Transform.toString(t)},{transform:Kg.Transform.toString(n)}]},N9e={duration:250,easing:"ease",keyframes:M9e,sideEffects:I9e({styles:{active:{opacity:"0"}}})};function L9e(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return c2((o,s)=>{if(t===null)return;const a=n.get(o);if(!a)return;const l=a.node.current;if(!l)return;const u=dG(s);if(!u)return;const{transform:d}=fi(s).getComputedStyle(s),f=Qj(d);if(!f)return;const p=typeof t=="function"?t:D9e(t);return iG(l,i.draggable.measure),p({active:{id:o,data:a.data,node:l,rect:i.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:s,rect:i.dragOverlay.measure(u)},droppableContainers:r,measuringConfiguration:i,transform:f})})}function D9e(e){const{duration:t,easing:n,sideEffects:r,keyframes:i}={...N9e,...e};return o=>{let{active:s,dragOverlay:a,transform:l,...u}=o;if(!t)return;const d={x:a.rect.left-s.rect.left,y:a.rect.top-s.rect.top},f={scaleX:l.scaleX!==1?s.rect.width*l.scaleX/a.rect.width:1,scaleY:l.scaleY!==1?s.rect.height*l.scaleY/a.rect.height:1},p={x:l.x-d.x,y:l.y-d.y,...f},g=i({...u,active:s,dragOverlay:a,transform:{initial:l,final:p}}),[m]=g,v=g[g.length-1];if(JSON.stringify(m)===JSON.stringify(v))return;const x=r==null?void 0:r({active:s,dragOverlay:a,...u}),_=a.node.animate(g,{duration:t,easing:n,fill:"forwards"});return new Promise(b=>{_.onfinish=()=>{x==null||x(),b()}})}}let v7=0;function $9e(e){return L.useMemo(()=>{if(e!=null)return v7++,v7},[e])}const F9e=Lt.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:o,modifiers:s,wrapperElement:a="div",className:l,zIndex:u=999}=e;const{activatorEvent:d,active:f,activeNodeRect:p,containerNodeRect:g,draggableNodes:m,droppableContainers:v,dragOverlay:x,over:_,measuringConfiguration:b,scrollableAncestors:y,scrollableAncestorRects:S,windowRect:C}=w9e(),T=L.useContext(h2),E=$9e(f==null?void 0:f.id),P=pG(s,{activatorEvent:d,active:f,activeNodeRect:p,containerNodeRect:g,draggingNodeRect:x.rect,over:_,overlayNodeRect:x.rect,scrollableAncestors:y,scrollableAncestorRects:S,transform:T,windowRect:C}),k=S6(p),O=L9e({config:r,draggableNodes:m,droppableContainers:v,measuringConfiguration:b}),M=k?x.setRef:void 0;return Lt.createElement(P9e,null,Lt.createElement(E9e,{animation:O},f&&E?Lt.createElement(k9e,{key:E,id:f.id,ref:M,as:a,activatorEvent:d,adjustScale:t,className:l,transition:o,rect:k,style:{zIndex:u,...i},transform:P},n):null))}),B9e=e=>{let{activatorEvent:t,draggingNodeRect:n,transform:r}=e;if(n&&t){const i=qg(t);if(!i)return r;const o=i.x-n.left,s=i.y-n.top;return{...r,x:r.x+o-n.width/2,y:r.y+s-n.height/2}}return r},U9e=()=>N$(),RMe=E$,X0=28,_7={w:X0,h:X0,maxW:X0,maxH:X0,shadow:"dark-lg",borderRadius:"lg",opacity:.3,bg:"base.800",color:"base.50",_dark:{borderColor:"base.200",bg:"base.900",color:"base.100"}},z9e=e=>{if(!e.dragData)return null;if(e.dragData.payloadType==="IMAGE_DTO"){const{thumbnail_url:t,width:n,height:r}=e.dragData.payload.imageDTO;return ue.jsx(h6,{sx:{position:"relative",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",userSelect:"none",cursor:"none"},children:ue.jsx(f6,{sx:{..._7},objectFit:"contain",src:t,width:n,height:r})})}return e.dragData.payloadType==="IMAGE_DTOS"?ue.jsxs(p6,{sx:{cursor:"none",userSelect:"none",position:"relative",alignItems:"center",justifyContent:"center",flexDir:"column",..._7},children:[ue.jsx(z5,{children:e.dragData.payload.imageDTOs.length}),ue.jsx(z5,{size:"sm",children:"Images"})]}):null},V9e=L.memo(z9e);function OMe(e){return T9e(e)}function kMe(e){return S9e(e)}const IMe=(e,t)=>{if(!e||!(t!=null&&t.data.current))return!1;const{actionType:n}=e,{payloadType:r}=t.data.current;if(e.id===t.data.current.id)return!1;switch(n){case"SET_CURRENT_IMAGE":return r==="IMAGE_DTO";case"SET_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_CONTROLNET_IMAGE":return r==="IMAGE_DTO";case"SET_CANVAS_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_NODES_IMAGE":return r==="IMAGE_DTO";case"SET_MULTI_NODES_IMAGE":return r==="IMAGE_DTO"||"IMAGE_DTOS";case"ADD_TO_BATCH":return r==="IMAGE_DTO"||"IMAGE_DTOS";case"ADD_TO_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_DTOS"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload,s=o.board_id??"none",a=e.context.boardId;return s!==a}return r==="IMAGE_DTOS"}case"REMOVE_FROM_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_DTOS"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload;return o.board_id!=="none"}return r==="IMAGE_DTOS"}default:return!1}};function j9e(e){return ue.jsx(v9e,{...e})}const G9e=e=>{const[t,n]=L.useState(null),r=Ie("images"),i=U9e(),o=L.useCallback(d=>{r.trace({dragData:d.active.data.current},"Drag started");const f=d.active.data.current;f&&n(f)},[r]),s=L.useCallback(d=>{var p;r.trace({dragData:d.active.data.current},"Drag ended");const f=(p=d.over)==null?void 0:p.data.current;!t||!f||(i(zU({overData:f,activeData:t})),n(null))},[t,i,r]),a=l7(lG,{activationConstraint:{distance:10}}),l=l7(uG,{activationConstraint:{distance:10}}),u=v8e(a,l);return ue.jsxs(j9e,{onDragStart:o,onDragEnd:s,sensors:u,collisionDetection:P8e,children:[e.children,ue.jsx(F9e,{dropAnimation:null,modifiers:[B9e],children:ue.jsx(APe,{children:t&&ue.jsx(_Pe.div,{layout:!0,initial:{opacity:0,scale:.7},animate:{opacity:1,scale:1,transition:{duration:.1}},children:ue.jsx(V9e,{dragData:t})},"overlay-drag-image")})})]})},H9e=L.memo(G9e),W9e=L.lazy(()=>NN(()=>import("./App-4a928bb6.js"),["./App-4a928bb6.js","./menu-b42141e3.js","./App-6125620a.css"],import.meta.url)),q9e=L.lazy(()=>NN(()=>import("./ThemeLocaleProvider-6fe89879.js"),["./ThemeLocaleProvider-6fe89879.js","./menu-b42141e3.js","./ThemeLocaleProvider-5b992bc7.css"],import.meta.url)),K9e=({apiUrl:e,token:t,config:n,headerComponent:r,middleware:i,projectId:o})=>(L.useEffect(()=>(t&&Sg.set(t),e&&wg.set(e),o&&S1.set(o),PU(),i&&i.length>0?Z3(Mk(),...i):Z3(Mk()),()=>{wg.set(void 0),Sg.set(void 0),S1.set(void 0)}),[e,t,i,o]),ue.jsx(Lt.StrictMode,{children:ue.jsx(yde,{store:BCe,children:ue.jsx(Lt.Suspense,{fallback:ue.jsx(LPe,{}),children:ue.jsx(q9e,{children:ue.jsx(H9e,{children:ue.jsx(W9e,{config:n,headerComponent:r})})})})})})),X9e=L.memo(K9e);gC.createRoot(document.getElementById("root")).render(ue.jsx(X9e,{}));export{CMe as $,L as A,ue as B,Eo as C,Nn as D,rf as E,qr as F,jo as G,Hge as H,Ri as I,kl as J,gs as K,LIe as L,aB as M,sme as N,Dme as O,Kge as P,tpe as Q,Af as R,ug as S,b5e as T,Pc as U,cc as V,aV as W,pMe as X,dMe as Y,APe as Z,_Pe as _,TL as a,WY as a$,pV as a0,Bj as a1,vV as a2,fMe as a3,hMe as a4,_5e as a5,v5e as a6,gMe as a7,Bu as a8,dc as a9,p6 as aA,z5 as aB,sMe as aC,Az as aD,Yke as aE,o5e as aF,zE as aG,eV as aH,a5e as aI,bs as aJ,AP as aK,VE as aL,E7e as aM,$ke as aN,Zke as aO,Jke as aP,OIe as aQ,PIe as aR,ku as aS,g_e as aT,DU as aU,u7e as aV,AIe as aW,BT as aX,hE as aY,D9 as aZ,tke as a_,A1 as aa,MJ as ab,Lt as ac,W4e as ad,xMe as ae,Sa as af,oV as ag,hAe as ah,vMe as ai,C5 as aj,cMe as ak,wMe as al,si as am,dE as an,nb as ao,RMe as ap,$Ie as aq,Cm as ar,VB as as,pU as at,Jb as au,U9e as av,h7e as aw,zn as ax,Xu as ay,h6 as az,aT as b,qke as b$,J9e as b0,Q9e as b1,Z9e as b2,He as b3,Vke as b4,oIe as b5,iIe as b6,Uke as b7,EIe as b8,PCe as b9,fRe as bA,BRe as bB,uRe as bC,TRe as bD,gRe as bE,X_e as bF,cRe as bG,NRe as bH,lRe as bI,GRe as bJ,hRe as bK,ERe as bL,pRe as bM,ARe as bN,_Re as bO,RRe as bP,K_e as bQ,mRe as bR,hO as bS,r7e as bT,i7e as bU,o7e as bV,bRe as bW,s7e as bX,SRe as bY,a7e as bZ,Re as b_,OMe as ba,IMe as bb,xIe as bc,Fke as bd,Bke as be,Wke as bf,M3 as bg,zke as bh,f6 as bi,MPe as bj,dOe as bk,bl,f0 as bm,wIe as bn,bIe as bo,TIe as bp,SIe as bq,Y9e as br,iRe as bs,oRe as bt,sRe as bu,aRe as bv,IRe as bw,MRe as bx,JIe as by,e7e as bz,Rte as c,Ie as c$,ofe as c0,l$ as c1,jOe as c2,r$ as c3,RIe as c4,kMe as c5,uMe as c6,UU as c7,Gke as c8,O1 as c9,gOe as cA,S7e as cB,Aue as cC,DIe as cD,f7e as cE,ST as cF,_Ie as cG,mIe as cH,yIe as cI,vIe as cJ,tOe as cK,HRe as cL,QRe as cM,kRe as cN,p7e as cO,mc as cP,m7e as cQ,fa as cR,rSe as cS,Ul as cT,wRe as cU,Em as cV,F7e as cW,eRe as cX,t7e as cY,N7e as cZ,tMe as c_,CIe as ca,Hke as cb,$9 as cc,k1 as cd,oMe as ce,I7e as cf,uOe as cg,P7e as ch,jke as ci,Qke as cj,FT as ck,wT as cl,dRe as cm,mOe as cn,Kr as co,_7e as cp,R7e as cq,A7e as cr,q1e as cs,v7e as ct,w7e as cu,x7e as cv,Cue as cw,p1e as cx,g1e as cy,aOe as cz,yae as d,T7e as d$,YD as d0,K7e as d1,Hve as d2,ORe as d3,QD as d4,L7e as d5,vue as d6,B7e as d7,JD as d8,nOe as d9,vRe as dA,D7e as dB,cR as dC,dIe as dD,$T as dE,Qde as dF,_d as dG,dR as dH,fIe as dI,hIe as dJ,pIe as dK,Zde as dL,gIe as dM,fF as dN,lIe as dO,cIe as dP,sIe as dQ,gCe as dR,NO as dS,aIe as dT,ZRe as dU,JRe as dV,XRe as dW,YRe as dX,KRe as dY,Y7e as dZ,j7e as d_,Tue as da,Ss as db,PRe as dc,zRe as dd,rRe as de,lle as df,jRe as dg,n7e as dh,IIe as di,MIe as dj,bF as dk,$7e as dl,kIe as dm,_T as dn,rOe as dp,ZIe as dq,lSe as dr,oOe as ds,Se as dt,Ui as du,pn as dv,Rs as dw,M7e as dx,eOe as dy,ale as dz,TD as e,bOe as e$,V7e as e0,eMe as e1,X7e as e2,C7e as e3,H7e as e4,G7e as e5,U7e as e6,q7e as e7,nRe as e8,z7e as e9,VIe as eA,zIe as eB,jIe as eC,KIe as eD,Mye as eE,UB as eF,WU as eG,pQ as eH,rt as eI,lke as eJ,Ake as eK,Eke as eL,zOe as eM,yke as eN,Rke as eO,x_e as eP,MOe as eQ,rke as eR,tp as eS,JOe as eT,NOe as eU,nS as eV,nke as eW,OOe as eX,eke as eY,kOe as eZ,$Oe as e_,W7e as ea,tRe as eb,OB as ec,vT as ed,Q7e as ee,z1 as ef,Ne as eg,Z7e as eh,yU as ei,yRe as ej,J7e as ek,E$ as el,N$ as em,QIe as en,GIe as eo,HIe as ep,WIe as eq,sE as er,XIe as es,YIe as et,Ig as eu,rb as ev,UIe as ew,OCe as ex,FIe as ey,BIe as ez,ML as f,iMe as f$,_Oe as f0,vOe as f1,Pke as f2,o$ as f3,Sg as f4,TOe as f5,EOe as f6,AOe as f7,Tke as f8,BOe as f9,fke as fA,hke as fB,Nke as fC,bke as fD,Lke as fE,QOe as fF,YOe as fG,ROe as fH,POe as fI,Ike as fJ,VOe as fK,S_e as fL,v_e as fM,__e as fN,b_e as fO,xOe as fP,iOe as fQ,xue as fR,WRe as fS,COe as fT,KOe as fU,Mke as fV,LRe as fW,DRe as fX,$Re as fY,FRe as fZ,XOe as f_,FOe as fa,Gue as fb,Cke as fc,w_e as fd,LOe as fe,dCe as ff,pCe as fg,HOe as fh,WOe as fi,uke as fj,ake as fk,ike as fl,SOe as fm,wOe as fn,O7e as fo,k7e as fp,ZOe as fq,GOe as fr,cke as fs,mke as ft,dke as fu,UOe as fv,IOe as fw,xke as fx,wke as fy,pke as fz,cae as g,cOe as g0,e$ as g1,hOe as g2,fOe as g3,pOe as g4,ole as g5,h_e as g6,lMe as g7,sV as g8,SMe as g9,_Me as ga,mMe as gb,bMe as gc,Ts as gd,yMe as ge,aMe as gf,G4e as gg,D4e as gh,TMe as gi,AMe as gj,PMe as gk,VL as h,Pi as i,Uf as j,eb as k,gr as l,J_ as m,cm as n,es as o,nu as p,Q_ as q,Fs as r,fm as s,ox as t,rT as u,kL as v,dT as w,vD as x,NL as y,nle as z}; + `},m8e={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function y8e(e){let{announcements:t=m8e,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=g8e}=e;const{announce:o,announcement:s}=f8e(),a=d2("DndLiveRegion"),[l,u]=L.useState(!1);if(L.useEffect(()=>{u(!0)},[]),h8e(L.useMemo(()=>({onDragStart(f){let{active:p}=f;o(t.onDragStart({active:p}))},onDragMove(f){let{active:p,over:g}=f;t.onDragMove&&o(t.onDragMove({active:p,over:g}))},onDragOver(f){let{active:p,over:g}=f;o(t.onDragOver({active:p,over:g}))},onDragEnd(f){let{active:p,over:g}=f;o(t.onDragEnd({active:p,over:g}))},onDragCancel(f){let{active:p,over:g}=f;o(t.onDragCancel({active:p,over:g}))}}),[o,t])),!l)return null;const d=Lt.createElement(Lt.Fragment,null,Lt.createElement(u8e,{id:r,value:i.draggable}),Lt.createElement(d8e,{id:a,announcement:s}));return n?bs.createPortal(d,n):d}var er;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(er||(er={}));function S_(){}function l7(e,t){return L.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function v8e(){for(var e=arguments.length,t=new Array(e),n=0;n[...t].filter(r=>r!=null),[...t])}const ns=Object.freeze({x:0,y:0});function _8e(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function b8e(e,t){const n=qg(e);if(!n)return"0 0";const r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}function S8e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function w8e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function x8e(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function C8e(e,t){if(!e||e.length===0)return null;const[n]=e;return t?n[t]:n}function T8e(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),o=Math.min(t.top+t.height,e.top+e.height),s=i-r,a=o-n;if(r{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=[];for(const o of r){const{id:s}=o,a=n.get(s);if(a){const l=T8e(a,t);l>0&&i.push({id:s,data:{droppableContainer:o,value:l}})}}return i.sort(w8e)};function A8e(e,t){const{top:n,left:r,bottom:i,right:o}=t;return n<=e.y&&e.y<=i&&r<=e.x&&e.x<=o}const P8e=e=>{let{droppableContainers:t,droppableRects:n,pointerCoordinates:r}=e;if(!r)return[];const i=[];for(const o of t){const{id:s}=o,a=n.get(s);if(a&&A8e(r,a)){const u=x8e(a).reduce((f,p)=>f+_8e(r,p),0),d=Number((u/4).toFixed(4));i.push({id:s,data:{droppableContainer:o,value:d}})}}return i.sort(S8e)};function R8e(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function Yj(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:ns}function O8e(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o({...s,top:s.top+e*a.y,bottom:s.bottom+e*a.y,left:s.left+e*a.x,right:s.right+e*a.x}),{...n})}}const k8e=O8e(1);function Qj(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function I8e(e,t,n){const r=Qj(t);if(!r)return e;const{scaleX:i,scaleY:o,x:s,y:a}=r,l=e.left-s-(1-i)*parseFloat(n),u=e.top-a-(1-o)*parseFloat(n.slice(n.indexOf(" ")+1)),d=i?e.width/i:e.width,f=o?e.height/o:e.height;return{width:d,height:f,top:u,right:l+d,bottom:u+f,left:l}}const M8e={ignoreTransform:!1};function Vm(e,t){t===void 0&&(t=M8e);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:u,transformOrigin:d}=fi(e).getComputedStyle(e);u&&(n=I8e(n,u,d))}const{top:r,left:i,width:o,height:s,bottom:a,right:l}=n;return{top:r,left:i,width:o,height:s,bottom:a,right:l}}function u7(e){return Vm(e,{ignoreTransform:!0})}function N8e(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function L8e(e,t){return t===void 0&&(t=fi(e).getComputedStyle(e)),t.position==="fixed"}function D8e(e,t){t===void 0&&(t=fi(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const o=t[i];return typeof o=="string"?n.test(o):!1})}function _6(e,t){const n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(y6(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Um(i)||r8e(i)||n.includes(i))return n;const o=fi(e).getComputedStyle(i);return i!==e&&D8e(i,o)&&n.push(i),L8e(i,o)?n:r(i.parentNode)}return e?r(e):n}function Zj(e){const[t]=_6(e,1);return t??null}function dC(e){return!u2||!e?null:Yf(e)?e:m6(e)?y6(e)||e===Qf(e).scrollingElement?window:Um(e)?e:null:null}function Jj(e){return Yf(e)?e.scrollX:e.scrollLeft}function eG(e){return Yf(e)?e.scrollY:e.scrollTop}function K5(e){return{x:Jj(e),y:eG(e)}}var fr;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(fr||(fr={}));function tG(e){return!u2||!e?!1:e===document.scrollingElement}function nG(e){const t={x:0,y:0},n=tG(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},i=e.scrollTop<=t.y,o=e.scrollLeft<=t.x,s=e.scrollTop>=r.y,a=e.scrollLeft>=r.x;return{isTop:i,isLeft:o,isBottom:s,isRight:a,maxScroll:r,minScroll:t}}const $8e={x:.2,y:.2};function F8e(e,t,n,r,i){let{top:o,left:s,right:a,bottom:l}=n;r===void 0&&(r=10),i===void 0&&(i=$8e);const{isTop:u,isBottom:d,isLeft:f,isRight:p}=nG(e),g={x:0,y:0},m={x:0,y:0},v={height:t.height*i.y,width:t.width*i.x};return!u&&o<=t.top+v.height?(g.y=fr.Backward,m.y=r*Math.abs((t.top+v.height-o)/v.height)):!d&&l>=t.bottom-v.height&&(g.y=fr.Forward,m.y=r*Math.abs((t.bottom-v.height-l)/v.height)),!p&&a>=t.right-v.width?(g.x=fr.Forward,m.x=r*Math.abs((t.right-v.width-a)/v.width)):!f&&s<=t.left+v.width&&(g.x=fr.Backward,m.x=r*Math.abs((t.left+v.width-s)/v.width)),{direction:g,speed:m}}function B8e(e){if(e===document.scrollingElement){const{innerWidth:o,innerHeight:s}=window;return{top:0,left:0,right:o,bottom:s,width:o,height:s}}const{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function rG(e){return e.reduce((t,n)=>uf(t,K5(n)),ns)}function U8e(e){return e.reduce((t,n)=>t+Jj(n),0)}function z8e(e){return e.reduce((t,n)=>t+eG(n),0)}function iG(e,t){if(t===void 0&&(t=Vm),!e)return;const{top:n,left:r,bottom:i,right:o}=t(e);Zj(e)&&(i<=0||o<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const V8e=[["x",["left","right"],U8e],["y",["top","bottom"],z8e]];class b6{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=_6(n),i=rG(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,s,a]of V8e)for(const l of s)Object.defineProperty(this,l,{get:()=>{const u=a(r),d=i[o]-u;return this.rect[l]+d},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Np{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=t}add(t,n,r){var i;(i=this.target)==null||i.addEventListener(t,n,r),this.listeners.push([t,n,r])}}function j8e(e){const{EventTarget:t}=fi(e);return e instanceof t?e:Qf(e)}function fC(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return typeof t=="number"?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t?r>t.y:!1}var po;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(po||(po={}));function c7(e){e.preventDefault()}function G8e(e){e.stopPropagation()}var Qt;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter"})(Qt||(Qt={}));const oG={start:[Qt.Space,Qt.Enter],cancel:[Qt.Esc],end:[Qt.Space,Qt.Enter]},H8e=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case Qt.Right:return{...n,x:n.x+25};case Qt.Left:return{...n,x:n.x-25};case Qt.Down:return{...n,y:n.y+25};case Qt.Up:return{...n,y:n.y-25}}};class sG{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:n}}=t;this.props=t,this.listeners=new Np(Qf(n)),this.windowListeners=new Np(fi(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(po.Resize,this.handleCancel),this.windowListeners.add(po.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(po.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&iG(r),n(ns)}handleKeyDown(t){if(v6(t)){const{active:n,context:r,options:i}=this.props,{keyboardCodes:o=oG,coordinateGetter:s=H8e,scrollBehavior:a="smooth"}=i,{code:l}=t;if(o.end.includes(l)){this.handleEnd(t);return}if(o.cancel.includes(l)){this.handleCancel(t);return}const{collisionRect:u}=r.current,d=u?{x:u.left,y:u.top}:ns;this.referenceCoordinates||(this.referenceCoordinates=d);const f=s(t,{active:n,context:r.current,currentCoordinates:d});if(f){const p=b_(f,d),g={x:0,y:0},{scrollableAncestors:m}=r.current;for(const v of m){const x=t.code,{isTop:_,isRight:b,isLeft:y,isBottom:S,maxScroll:C,minScroll:T}=nG(v),E=B8e(v),P={x:Math.min(x===Qt.Right?E.right-E.width/2:E.right,Math.max(x===Qt.Right?E.left:E.left+E.width/2,f.x)),y:Math.min(x===Qt.Down?E.bottom-E.height/2:E.bottom,Math.max(x===Qt.Down?E.top:E.top+E.height/2,f.y))},k=x===Qt.Right&&!b||x===Qt.Left&&!y,O=x===Qt.Down&&!S||x===Qt.Up&&!_;if(k&&P.x!==f.x){const M=v.scrollLeft+p.x,G=x===Qt.Right&&M<=C.x||x===Qt.Left&&M>=T.x;if(G&&!p.y){v.scrollTo({left:M,behavior:a});return}G?g.x=v.scrollLeft-M:g.x=x===Qt.Right?v.scrollLeft-C.x:v.scrollLeft-T.x,g.x&&v.scrollBy({left:-g.x,behavior:a});break}else if(O&&P.y!==f.y){const M=v.scrollTop+p.y,G=x===Qt.Down&&M<=C.y||x===Qt.Up&&M>=T.y;if(G&&!p.x){v.scrollTo({top:M,behavior:a});return}G?g.y=v.scrollTop-M:g.y=x===Qt.Down?v.scrollTop-C.y:v.scrollTop-T.y,g.y&&v.scrollBy({top:-g.y,behavior:a});break}}this.handleMove(t,uf(b_(f,this.referenceCoordinates),g))}}}handleMove(t,n){const{onMove:r}=this.props;t.preventDefault(),r(n)}handleEnd(t){const{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){const{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}sG.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=oG,onActivation:i}=t,{active:o}=n;const{code:s}=e.nativeEvent;if(r.start.includes(s)){const a=o.activatorNode.current;return a&&e.target!==a?!1:(e.preventDefault(),i==null||i({event:e.nativeEvent}),!0)}return!1}}];function d7(e){return!!(e&&"distance"in e)}function f7(e){return!!(e&&"delay"in e)}class S6{constructor(t,n,r){var i;r===void 0&&(r=j8e(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;const{event:o}=t,{target:s}=o;this.props=t,this.events=n,this.document=Qf(s),this.documentListeners=new Np(this.document),this.listeners=new Np(r),this.windowListeners=new Np(fi(s)),this.initialCoordinates=(i=qg(o))!=null?i:ns,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:n}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),this.windowListeners.add(po.Resize,this.handleCancel),this.windowListeners.add(po.DragStart,c7),this.windowListeners.add(po.VisibilityChange,this.handleCancel),this.windowListeners.add(po.ContextMenu,c7),this.documentListeners.add(po.Keydown,this.handleKeydown),n){if(d7(n))return;if(f7(n)){this.timeoutId=setTimeout(this.handleStart,n.delay);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(po.Click,G8e,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(po.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:r,initialCoordinates:i,props:o}=this,{onMove:s,options:{activationConstraint:a}}=o;if(!i)return;const l=(n=qg(t))!=null?n:ns,u=b_(i,l);if(!r&&a){if(f7(a))return fC(u,a.tolerance)?this.handleCancel():void 0;if(d7(a))return a.tolerance!=null&&fC(u,a.tolerance)?this.handleCancel():fC(u,a.distance)?this.handleStart():void 0}t.cancelable&&t.preventDefault(),s(l)}handleEnd(){const{onEnd:t}=this.props;this.detach(),t()}handleCancel(){const{onCancel:t}=this.props;this.detach(),t()}handleKeydown(t){t.code===Qt.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const W8e={move:{name:"pointermove"},end:{name:"pointerup"}};class aG extends S6{constructor(t){const{event:n}=t,r=Qf(n.target);super(t,W8e,r)}}aG.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r==null||r({event:n}),!0)}}];const q8e={move:{name:"mousemove"},end:{name:"mouseup"}};var X5;(function(e){e[e.RightClick=2]="RightClick"})(X5||(X5={}));class lG extends S6{constructor(t){super(t,q8e,Qf(t.event.target))}}lG.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===X5.RightClick?!1:(r==null||r({event:n}),!0)}}];const hC={move:{name:"touchmove"},end:{name:"touchend"}};class uG extends S6{constructor(t){super(t,hC)}static setup(){return window.addEventListener(hC.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(hC.move.name,t)};function t(){}}}uG.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:i}=n;return i.length>1?!1:(r==null||r({event:n}),!0)}}];var Lp;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(Lp||(Lp={}));var w_;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(w_||(w_={}));function K8e(e){let{acceleration:t,activator:n=Lp.Pointer,canScroll:r,draggingRect:i,enabled:o,interval:s=5,order:a=w_.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:d,delta:f,threshold:p}=e;const g=Y8e({delta:f,disabled:!o}),[m,v]=i8e(),x=L.useRef({x:0,y:0}),_=L.useRef({x:0,y:0}),b=L.useMemo(()=>{switch(n){case Lp.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Lp.DraggableRect:return i}},[n,i,l]),y=L.useRef(null),S=L.useCallback(()=>{const T=y.current;if(!T)return;const E=x.current.x*_.current.x,P=x.current.y*_.current.y;T.scrollBy(E,P)},[]),C=L.useMemo(()=>a===w_.TreeOrder?[...u].reverse():u,[a,u]);L.useEffect(()=>{if(!o||!u.length||!b){v();return}for(const T of C){if((r==null?void 0:r(T))===!1)continue;const E=u.indexOf(T),P=d[E];if(!P)continue;const{direction:k,speed:O}=F8e(T,P,b,t,p);for(const M of["x","y"])g[M][k[M]]||(O[M]=0,k[M]=0);if(O.x>0||O.y>0){v(),y.current=T,m(S,s),x.current=O,_.current=k;return}}x.current={x:0,y:0},_.current={x:0,y:0},v()},[t,S,r,v,o,s,JSON.stringify(b),JSON.stringify(g),m,u,C,d,JSON.stringify(p)])}const X8e={x:{[fr.Backward]:!1,[fr.Forward]:!1},y:{[fr.Backward]:!1,[fr.Forward]:!1}};function Y8e(e){let{delta:t,disabled:n}=e;const r=__(t);return zm(i=>{if(n||!r||!i)return X8e;const o={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[fr.Backward]:i.x[fr.Backward]||o.x===-1,[fr.Forward]:i.x[fr.Forward]||o.x===1},y:{[fr.Backward]:i.y[fr.Backward]||o.y===-1,[fr.Forward]:i.y[fr.Forward]||o.y===1}}},[n,t,r])}function Q8e(e,t){const n=t!==null?e.get(t):void 0,r=n?n.node.current:null;return zm(i=>{var o;return t===null?null:(o=r??i)!=null?o:null},[r,t])}function Z8e(e,t){return L.useMemo(()=>e.reduce((n,r)=>{const{sensor:i}=r,o=i.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,r)}));return[...n,...o]},[]),[e,t])}var Xg;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(Xg||(Xg={}));var Y5;(function(e){e.Optimized="optimized"})(Y5||(Y5={}));const h7=new Map;function J8e(e,t){let{dragging:n,dependencies:r,config:i}=t;const[o,s]=L.useState(null),{frequency:a,measure:l,strategy:u}=i,d=L.useRef(e),f=x(),p=Wg(f),g=L.useCallback(function(_){_===void 0&&(_=[]),!p.current&&s(b=>b===null?_:b.concat(_.filter(y=>!b.includes(y))))},[p]),m=L.useRef(null),v=zm(_=>{if(f&&!n)return h7;if(!_||_===h7||d.current!==e||o!=null){const b=new Map;for(let y of e){if(!y)continue;if(o&&o.length>0&&!o.includes(y.id)&&y.rect.current){b.set(y.id,y.rect.current);continue}const S=y.node.current,C=S?new b6(l(S),S):null;y.rect.current=C,C&&b.set(y.id,C)}return b}return _},[e,o,n,f,l]);return L.useEffect(()=>{d.current=e},[e]),L.useEffect(()=>{f||g()},[n,f]),L.useEffect(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),L.useEffect(()=>{f||typeof a!="number"||m.current!==null||(m.current=setTimeout(()=>{g(),m.current=null},a))},[a,f,g,...r]),{droppableRects:v,measureDroppableContainers:g,measuringScheduled:o!=null};function x(){switch(u){case Xg.Always:return!1;case Xg.BeforeDragging:return n;default:return!n}}}function w6(e,t){return zm(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function e9e(e,t){return w6(e,t)}function t9e(e){let{callback:t,disabled:n}=e;const r=c2(t),i=L.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(r)},[r,n]);return L.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function f2(e){let{callback:t,disabled:n}=e;const r=c2(t),i=L.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return L.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function n9e(e){return new b6(Vm(e),e)}function p7(e,t,n){t===void 0&&(t=n9e);const[r,i]=L.useReducer(a,null),o=t9e({callback(l){if(e)for(const u of l){const{type:d,target:f}=u;if(d==="childList"&&f instanceof HTMLElement&&f.contains(e)){i();break}}}}),s=f2({callback:i});return $s(()=>{i(),e?(s==null||s.observe(e),o==null||o.observe(document.body,{childList:!0,subtree:!0})):(s==null||s.disconnect(),o==null||o.disconnect())},[e]),r;function a(l){if(!e)return null;if(e.isConnected===!1){var u;return(u=l??n)!=null?u:null}const d=t(e);return JSON.stringify(l)===JSON.stringify(d)?l:d}}function r9e(e){const t=w6(e);return Yj(e,t)}const g7=[];function i9e(e){const t=L.useRef(e),n=zm(r=>e?r&&r!==g7&&e&&t.current&&e.parentNode===t.current.parentNode?r:_6(e):g7,[e]);return L.useEffect(()=>{t.current=e},[e]),n}function o9e(e){const[t,n]=L.useState(null),r=L.useRef(e),i=L.useCallback(o=>{const s=dC(o.target);s&&n(a=>a?(a.set(s,K5(s)),new Map(a)):null)},[]);return L.useEffect(()=>{const o=r.current;if(e!==o){s(o);const a=e.map(l=>{const u=dC(l);return u?(u.addEventListener("scroll",i,{passive:!0}),[u,K5(u)]):null}).filter(l=>l!=null);n(a.length?new Map(a):null),r.current=e}return()=>{s(e),s(o)};function s(a){a.forEach(l=>{const u=dC(l);u==null||u.removeEventListener("scroll",i)})}},[i,e]),L.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,s)=>uf(o,s),ns):rG(e):ns,[e,t])}function m7(e,t){t===void 0&&(t=[]);const n=L.useRef(null);return L.useEffect(()=>{n.current=null},t),L.useEffect(()=>{const r=e!==ns;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?b_(e,n.current):ns}function s9e(e){L.useEffect(()=>{if(!u2)return;const t=e.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of t)n==null||n()}},e.map(t=>{let{sensor:n}=t;return n}))}function a9e(e,t){return L.useMemo(()=>e.reduce((n,r)=>{let{eventName:i,handler:o}=r;return n[i]=s=>{o(s,t)},n},{}),[e,t])}function cG(e){return L.useMemo(()=>e?N8e(e):null,[e])}const pC=[];function l9e(e,t){t===void 0&&(t=Vm);const[n]=e,r=cG(n?fi(n):null),[i,o]=L.useReducer(a,pC),s=f2({callback:o});return e.length>0&&i===pC&&o(),$s(()=>{e.length?e.forEach(l=>s==null?void 0:s.observe(l)):(s==null||s.disconnect(),o())},[e]),i;function a(){return e.length?e.map(l=>tG(l)?r:new b6(t(l),l)):pC}}function dG(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Um(t)?t:e}function u9e(e){let{measure:t}=e;const[n,r]=L.useState(null),i=L.useCallback(u=>{for(const{target:d}of u)if(Um(d)){r(f=>{const p=t(d);return f?{...f,width:p.width,height:p.height}:p});break}},[t]),o=f2({callback:i}),s=L.useCallback(u=>{const d=dG(u);o==null||o.disconnect(),d&&(o==null||o.observe(d)),r(d?t(d):null)},[t,o]),[a,l]=v_(s);return L.useMemo(()=>({nodeRef:a,rect:n,setRef:l}),[n,a,l])}const c9e=[{sensor:aG,options:{}},{sensor:sG,options:{}}],d9e={current:{}},Iv={draggable:{measure:u7},droppable:{measure:u7,strategy:Xg.WhileDragging,frequency:Y5.Optimized},dragOverlay:{measure:Vm}};class Dp extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,r;return(n=(r=this.get(t))==null?void 0:r.node.current)!=null?n:void 0}}const f9e={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Dp,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:S_},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Iv,measureDroppableContainers:S_,windowRect:null,measuringScheduled:!1},fG={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:S_,draggableNodes:new Map,over:null,measureDroppableContainers:S_},jm=L.createContext(fG),hG=L.createContext(f9e);function h9e(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Dp}}}function p9e(e,t){switch(t.type){case er.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case er.DragMove:return e.draggable.active?{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}}:e;case er.DragEnd:case er.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case er.RegisterDroppable:{const{element:n}=t,{id:r}=n,i=new Dp(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case er.SetDroppableDisabled:{const{id:n,key:r,disabled:i}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const s=new Dp(e.droppable.containers);return s.set(n,{...o,disabled:i}),{...e,droppable:{...e.droppable,containers:s}}}case er.UnregisterDroppable:{const{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const o=new Dp(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function g9e(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:i}=L.useContext(jm),o=__(r),s=__(n==null?void 0:n.id);return L.useEffect(()=>{if(!t&&!r&&o&&s!=null){if(!v6(o)||document.activeElement===o.target)return;const a=i.get(s);if(!a)return;const{activatorNode:l,node:u}=a;if(!l.current&&!u.current)return;requestAnimationFrame(()=>{for(const d of[l.current,u.current]){if(!d)continue;const f=a8e(d);if(f){f.focus();break}}})}},[r,t,i,s,o]),null}function pG(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((i,o)=>o({transform:i,...r}),n):n}function m9e(e){return L.useMemo(()=>({draggable:{...Iv.draggable,...e==null?void 0:e.draggable},droppable:{...Iv.droppable,...e==null?void 0:e.droppable},dragOverlay:{...Iv.dragOverlay,...e==null?void 0:e.dragOverlay}}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function y9e(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e;const o=L.useRef(!1),{x:s,y:a}=typeof i=="boolean"?{x:i,y:i}:i;$s(()=>{if(!s&&!a||!t){o.current=!1;return}if(o.current||!r)return;const u=t==null?void 0:t.node.current;if(!u||u.isConnected===!1)return;const d=n(u),f=Yj(d,r);if(s||(f.x=0),a||(f.y=0),o.current=!0,Math.abs(f.x)>0||Math.abs(f.y)>0){const p=Zj(u);p&&p.scrollBy({top:f.y,left:f.x})}},[t,s,a,r,n])}const h2=L.createContext({...ns,scaleX:1,scaleY:1});var hl;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(hl||(hl={}));const v9e=L.memo(function(t){var n,r,i,o;let{id:s,accessibility:a,autoScroll:l=!0,children:u,sensors:d=c9e,collisionDetection:f=E8e,measuring:p,modifiers:g,...m}=t;const v=L.useReducer(p9e,void 0,h9e),[x,_]=v,[b,y]=p8e(),[S,C]=L.useState(hl.Uninitialized),T=S===hl.Initialized,{draggable:{active:E,nodes:P,translate:k},droppable:{containers:O}}=x,M=E?P.get(E):null,G=L.useRef({initial:null,translated:null}),U=L.useMemo(()=>{var Xt;return E!=null?{id:E,data:(Xt=M==null?void 0:M.data)!=null?Xt:d9e,rect:G}:null},[E,M]),A=L.useRef(null),[N,F]=L.useState(null),[B,D]=L.useState(null),V=Wg(m,Object.values(m)),j=d2("DndDescribedBy",s),q=L.useMemo(()=>O.getEnabled(),[O]),Z=m9e(p),{droppableRects:ee,measureDroppableContainers:ie,measuringScheduled:se}=J8e(q,{dragging:T,dependencies:[k.x,k.y],config:Z.droppable}),le=Q8e(P,E),W=L.useMemo(()=>B?qg(B):null,[B]),ne=js(),fe=e9e(le,Z.draggable.measure);y9e({activeNode:E?P.get(E):null,config:ne.layoutShiftCompensation,initialRect:fe,measure:Z.draggable.measure});const pe=p7(le,Z.draggable.measure,fe),ve=p7(le?le.parentElement:null),ye=L.useRef({activatorEvent:null,active:null,activeNode:le,collisionRect:null,collisions:null,droppableRects:ee,draggableNodes:P,draggingNode:null,draggingNodeRect:null,droppableContainers:O,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),We=O.getNodeFor((n=ye.current.over)==null?void 0:n.id),Me=u9e({measure:Z.dragOverlay.measure}),Ee=(r=Me.nodeRef.current)!=null?r:le,lt=T?(i=Me.rect)!=null?i:pe:null,_e=!!(Me.nodeRef.current&&Me.rect),jt=r9e(_e?null:pe),Wn=cG(Ee?fi(Ee):null),Bt=i9e(T?We??le:null),it=l9e(Bt),mt=pG(g,{transform:{x:k.x-jt.x,y:k.y-jt.y,scaleX:1,scaleY:1},activatorEvent:B,active:U,activeNodeRect:pe,containerNodeRect:ve,draggingNodeRect:lt,over:ye.current.over,overlayNodeRect:Me.rect,scrollableAncestors:Bt,scrollableAncestorRects:it,windowRect:Wn}),Jt=W?uf(W,k):null,Mr=o9e(Bt),yr=m7(Mr),hi=m7(Mr,[pe]),wn=uf(mt,yr),on=lt?k8e(lt,mt):null,qn=U&&on?f({active:U,collisionRect:on,droppableRects:ee,droppableContainers:q,pointerCoordinates:Jt}):null,sn=C8e(qn,"id"),[Gt,vr]=L.useState(null),Nr=_e?mt:uf(mt,hi),Xr=R8e(Nr,(o=Gt==null?void 0:Gt.rect)!=null?o:null,pe),Ii=L.useCallback((Xt,kt)=>{let{sensor:Kn,options:$n}=kt;if(A.current==null)return;const or=P.get(A.current);if(!or)return;const _r=Xt.nativeEvent,br=new Kn({active:A.current,activeNode:or,event:_r,options:$n,context:ye,onStart(Sr){const Xn=A.current;if(Xn==null)return;const Mi=P.get(Xn);if(!Mi)return;const{onDragStart:os}=V.current,to={active:{id:Xn,data:Mi.data,rect:G}};bs.unstable_batchedUpdates(()=>{os==null||os(to),C(hl.Initializing),_({type:er.DragStart,initialCoordinates:Sr,active:Xn}),b({type:"onDragStart",event:to})})},onMove(Sr){_({type:er.DragMove,coordinates:Sr})},onEnd:eo(er.DragEnd),onCancel:eo(er.DragCancel)});bs.unstable_batchedUpdates(()=>{F(br),D(Xt.nativeEvent)});function eo(Sr){return async function(){const{active:Mi,collisions:os,over:to,scrollAdjustedTranslate:Va}=ye.current;let Ao=null;if(Mi&&Va){const{cancelDrop:wr}=V.current;Ao={activatorEvent:_r,active:Mi,collisions:os,delta:Va,over:to},Sr===er.DragEnd&&typeof wr=="function"&&await Promise.resolve(wr(Ao))&&(Sr=er.DragCancel)}A.current=null,bs.unstable_batchedUpdates(()=>{_({type:Sr}),C(hl.Uninitialized),vr(null),F(null),D(null);const wr=Sr===er.DragEnd?"onDragEnd":"onDragCancel";if(Ao){const Gs=V.current[wr];Gs==null||Gs(Ao),b({type:wr,event:Ao})}})}}},[P]),An=L.useCallback((Xt,kt)=>(Kn,$n)=>{const or=Kn.nativeEvent,_r=P.get($n);if(A.current!==null||!_r||or.dndKit||or.defaultPrevented)return;const br={active:_r};Xt(Kn,kt.options,br)===!0&&(or.dndKit={capturedBy:kt.sensor},A.current=$n,Ii(Kn,kt))},[P,Ii]),Yr=Z8e(d,An);s9e(d),$s(()=>{pe&&S===hl.Initializing&&C(hl.Initialized)},[pe,S]),L.useEffect(()=>{const{onDragMove:Xt}=V.current,{active:kt,activatorEvent:Kn,collisions:$n,over:or}=ye.current;if(!kt||!Kn)return;const _r={active:kt,activatorEvent:Kn,collisions:$n,delta:{x:wn.x,y:wn.y},over:or};bs.unstable_batchedUpdates(()=>{Xt==null||Xt(_r),b({type:"onDragMove",event:_r})})},[wn.x,wn.y]),L.useEffect(()=>{const{active:Xt,activatorEvent:kt,collisions:Kn,droppableContainers:$n,scrollAdjustedTranslate:or}=ye.current;if(!Xt||A.current==null||!kt||!or)return;const{onDragOver:_r}=V.current,br=$n.get(sn),eo=br&&br.rect.current?{id:br.id,rect:br.rect.current,data:br.data,disabled:br.disabled}:null,Sr={active:Xt,activatorEvent:kt,collisions:Kn,delta:{x:or.x,y:or.y},over:eo};bs.unstable_batchedUpdates(()=>{vr(eo),_r==null||_r(Sr),b({type:"onDragOver",event:Sr})})},[sn]),$s(()=>{ye.current={activatorEvent:B,active:U,activeNode:le,collisionRect:on,collisions:qn,droppableRects:ee,draggableNodes:P,draggingNode:Ee,draggingNodeRect:lt,droppableContainers:O,over:Gt,scrollableAncestors:Bt,scrollAdjustedTranslate:wn},G.current={initial:lt,translated:on}},[U,le,qn,on,P,Ee,lt,ee,O,Gt,Bt,wn]),K8e({...ne,delta:k,draggingRect:on,pointerCoordinates:Jt,scrollableAncestors:Bt,scrollableAncestorRects:it});const Vs=L.useMemo(()=>({active:U,activeNode:le,activeNodeRect:pe,activatorEvent:B,collisions:qn,containerNodeRect:ve,dragOverlay:Me,draggableNodes:P,droppableContainers:O,droppableRects:ee,over:Gt,measureDroppableContainers:ie,scrollableAncestors:Bt,scrollableAncestorRects:it,measuringConfiguration:Z,measuringScheduled:se,windowRect:Wn}),[U,le,pe,B,qn,ve,Me,P,O,ee,Gt,ie,Bt,it,Z,se,Wn]),Ji=L.useMemo(()=>({activatorEvent:B,activators:Yr,active:U,activeNodeRect:pe,ariaDescribedById:{draggable:j},dispatch:_,draggableNodes:P,over:Gt,measureDroppableContainers:ie}),[B,Yr,U,pe,_,j,P,Gt,ie]);return Lt.createElement(Xj.Provider,{value:y},Lt.createElement(jm.Provider,{value:Ji},Lt.createElement(hG.Provider,{value:Vs},Lt.createElement(h2.Provider,{value:Xr},u)),Lt.createElement(g9e,{disabled:(a==null?void 0:a.restoreFocus)===!1})),Lt.createElement(y8e,{...a,hiddenTextDescribedById:j}));function js(){const Xt=(N==null?void 0:N.autoScrollEnabled)===!1,kt=typeof l=="object"?l.enabled===!1:l===!1,Kn=T&&!Xt&&!kt;return typeof l=="object"?{...l,enabled:Kn}:{enabled:Kn}}}),_9e=L.createContext(null),y7="button",b9e="Droppable";function S9e(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e;const o=d2(b9e),{activators:s,activatorEvent:a,active:l,activeNodeRect:u,ariaDescribedById:d,draggableNodes:f,over:p}=L.useContext(jm),{role:g=y7,roleDescription:m="draggable",tabIndex:v=0}=i??{},x=(l==null?void 0:l.id)===t,_=L.useContext(x?h2:_9e),[b,y]=v_(),[S,C]=v_(),T=a9e(s,t),E=Wg(n);$s(()=>(f.set(t,{id:t,key:o,node:b,activatorNode:S,data:E}),()=>{const k=f.get(t);k&&k.key===o&&f.delete(t)}),[f,t]);const P=L.useMemo(()=>({role:g,tabIndex:v,"aria-disabled":r,"aria-pressed":x&&g===y7?!0:void 0,"aria-roledescription":m,"aria-describedby":d.draggable}),[r,g,v,x,m,d.draggable]);return{active:l,activatorEvent:a,activeNodeRect:u,attributes:P,isDragging:x,listeners:r?void 0:T,node:b,over:p,setNodeRef:y,setActivatorNodeRef:C,transform:_}}function w9e(){return L.useContext(hG)}const x9e="Droppable",C9e={timeout:25};function T9e(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e;const o=d2(x9e),{active:s,dispatch:a,over:l,measureDroppableContainers:u}=L.useContext(jm),d=L.useRef({disabled:n}),f=L.useRef(!1),p=L.useRef(null),g=L.useRef(null),{disabled:m,updateMeasurementsFor:v,timeout:x}={...C9e,...i},_=Wg(v??r),b=L.useCallback(()=>{if(!f.current){f.current=!0;return}g.current!=null&&clearTimeout(g.current),g.current=setTimeout(()=>{u(Array.isArray(_.current)?_.current:[_.current]),g.current=null},x)},[x]),y=f2({callback:b,disabled:m||!s}),S=L.useCallback((P,k)=>{y&&(k&&(y.unobserve(k),f.current=!1),P&&y.observe(P))},[y]),[C,T]=v_(S),E=Wg(t);return L.useEffect(()=>{!y||!C.current||(y.disconnect(),f.current=!1,y.observe(C.current))},[C,y]),$s(()=>(a({type:er.RegisterDroppable,element:{id:r,key:o,disabled:n,node:C,rect:p,data:E}}),()=>a({type:er.UnregisterDroppable,key:o,id:r})),[r]),L.useEffect(()=>{n!==d.current.disabled&&(a({type:er.SetDroppableDisabled,id:r,key:o,disabled:n}),d.current.disabled=n)},[r,o,n,a]),{active:s,rect:p,isOver:(l==null?void 0:l.id)===r,node:C,over:l,setNodeRef:T}}function E9e(e){let{animation:t,children:n}=e;const[r,i]=L.useState(null),[o,s]=L.useState(null),a=__(n);return!n&&!r&&a&&i(a),$s(()=>{if(!o)return;const l=r==null?void 0:r.key,u=r==null?void 0:r.props.id;if(l==null||u==null){i(null);return}Promise.resolve(t(u,o)).then(()=>{i(null)})},[t,r,o]),Lt.createElement(Lt.Fragment,null,n,r?L.cloneElement(r,{ref:s}):null)}const A9e={x:0,y:0,scaleX:1,scaleY:1};function P9e(e){let{children:t}=e;return Lt.createElement(jm.Provider,{value:fG},Lt.createElement(h2.Provider,{value:A9e},t))}const R9e={position:"fixed",touchAction:"none"},O9e=e=>v6(e)?"transform 250ms ease":void 0,k9e=L.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:o,className:s,rect:a,style:l,transform:u,transition:d=O9e}=e;if(!a)return null;const f=i?u:{...u,scaleX:1,scaleY:1},p={...R9e,width:a.width,height:a.height,top:a.top,left:a.left,transform:Kg.Transform.toString(f),transformOrigin:i&&r?b8e(r,a):void 0,transition:typeof d=="function"?d(r):d,...l};return Lt.createElement(n,{className:s,style:p,ref:t},o)}),I9e=e=>t=>{let{active:n,dragOverlay:r}=t;const i={},{styles:o,className:s}=e;if(o!=null&&o.active)for(const[a,l]of Object.entries(o.active))l!==void 0&&(i[a]=n.node.style.getPropertyValue(a),n.node.style.setProperty(a,l));if(o!=null&&o.dragOverlay)for(const[a,l]of Object.entries(o.dragOverlay))l!==void 0&&r.node.style.setProperty(a,l);return s!=null&&s.active&&n.node.classList.add(s.active),s!=null&&s.dragOverlay&&r.node.classList.add(s.dragOverlay),function(){for(const[l,u]of Object.entries(i))n.node.style.setProperty(l,u);s!=null&&s.active&&n.node.classList.remove(s.active)}},M9e=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Kg.Transform.toString(t)},{transform:Kg.Transform.toString(n)}]},N9e={duration:250,easing:"ease",keyframes:M9e,sideEffects:I9e({styles:{active:{opacity:"0"}}})};function L9e(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return c2((o,s)=>{if(t===null)return;const a=n.get(o);if(!a)return;const l=a.node.current;if(!l)return;const u=dG(s);if(!u)return;const{transform:d}=fi(s).getComputedStyle(s),f=Qj(d);if(!f)return;const p=typeof t=="function"?t:D9e(t);return iG(l,i.draggable.measure),p({active:{id:o,data:a.data,node:l,rect:i.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:s,rect:i.dragOverlay.measure(u)},droppableContainers:r,measuringConfiguration:i,transform:f})})}function D9e(e){const{duration:t,easing:n,sideEffects:r,keyframes:i}={...N9e,...e};return o=>{let{active:s,dragOverlay:a,transform:l,...u}=o;if(!t)return;const d={x:a.rect.left-s.rect.left,y:a.rect.top-s.rect.top},f={scaleX:l.scaleX!==1?s.rect.width*l.scaleX/a.rect.width:1,scaleY:l.scaleY!==1?s.rect.height*l.scaleY/a.rect.height:1},p={x:l.x-d.x,y:l.y-d.y,...f},g=i({...u,active:s,dragOverlay:a,transform:{initial:l,final:p}}),[m]=g,v=g[g.length-1];if(JSON.stringify(m)===JSON.stringify(v))return;const x=r==null?void 0:r({active:s,dragOverlay:a,...u}),_=a.node.animate(g,{duration:t,easing:n,fill:"forwards"});return new Promise(b=>{_.onfinish=()=>{x==null||x(),b()}})}}let v7=0;function $9e(e){return L.useMemo(()=>{if(e!=null)return v7++,v7},[e])}const F9e=Lt.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:o,modifiers:s,wrapperElement:a="div",className:l,zIndex:u=999}=e;const{activatorEvent:d,active:f,activeNodeRect:p,containerNodeRect:g,draggableNodes:m,droppableContainers:v,dragOverlay:x,over:_,measuringConfiguration:b,scrollableAncestors:y,scrollableAncestorRects:S,windowRect:C}=w9e(),T=L.useContext(h2),E=$9e(f==null?void 0:f.id),P=pG(s,{activatorEvent:d,active:f,activeNodeRect:p,containerNodeRect:g,draggingNodeRect:x.rect,over:_,overlayNodeRect:x.rect,scrollableAncestors:y,scrollableAncestorRects:S,transform:T,windowRect:C}),k=w6(p),O=L9e({config:r,draggableNodes:m,droppableContainers:v,measuringConfiguration:b}),M=k?x.setRef:void 0;return Lt.createElement(P9e,null,Lt.createElement(E9e,{animation:O},f&&E?Lt.createElement(k9e,{key:E,id:f.id,ref:M,as:a,activatorEvent:d,adjustScale:t,className:l,transition:o,rect:k,style:{zIndex:u,...i},transform:P},n):null))}),B9e=e=>{let{activatorEvent:t,draggingNodeRect:n,transform:r}=e;if(n&&t){const i=qg(t);if(!i)return r;const o=i.x-n.left,s=i.y-n.top;return{...r,x:r.x+o-n.width/2,y:r.y+s-n.height/2}}return r},U9e=()=>N$(),RMe=E$,X0=28,_7={w:X0,h:X0,maxW:X0,maxH:X0,shadow:"dark-lg",borderRadius:"lg",opacity:.3,bg:"base.800",color:"base.50",_dark:{borderColor:"base.200",bg:"base.900",color:"base.100"}},z9e=e=>{if(!e.dragData)return null;if(e.dragData.payloadType==="IMAGE_DTO"){const{thumbnail_url:t,width:n,height:r}=e.dragData.payload.imageDTO;return ue.jsx(p6,{sx:{position:"relative",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",userSelect:"none",cursor:"none"},children:ue.jsx(h6,{sx:{..._7},objectFit:"contain",src:t,width:n,height:r})})}return e.dragData.payloadType==="IMAGE_DTOS"?ue.jsxs(g6,{sx:{cursor:"none",userSelect:"none",position:"relative",alignItems:"center",justifyContent:"center",flexDir:"column",..._7},children:[ue.jsx(V5,{children:e.dragData.payload.imageDTOs.length}),ue.jsx(V5,{size:"sm",children:"Images"})]}):null},V9e=L.memo(z9e);function OMe(e){return T9e(e)}function kMe(e){return S9e(e)}const IMe=(e,t)=>{if(!e||!(t!=null&&t.data.current))return!1;const{actionType:n}=e,{payloadType:r}=t.data.current;if(e.id===t.data.current.id)return!1;switch(n){case"SET_CURRENT_IMAGE":return r==="IMAGE_DTO";case"SET_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_CONTROLNET_IMAGE":return r==="IMAGE_DTO";case"SET_CANVAS_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_NODES_IMAGE":return r==="IMAGE_DTO";case"SET_MULTI_NODES_IMAGE":return r==="IMAGE_DTO"||"IMAGE_DTOS";case"ADD_TO_BATCH":return r==="IMAGE_DTO"||"IMAGE_DTOS";case"ADD_TO_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_DTOS"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload,s=o.board_id??"none",a=e.context.boardId;return s!==a}return r==="IMAGE_DTOS"}case"REMOVE_FROM_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_DTOS"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload;return o.board_id!=="none"}return r==="IMAGE_DTOS"}default:return!1}};function j9e(e){return ue.jsx(v9e,{...e})}const G9e=e=>{const[t,n]=L.useState(null),r=Ie("images"),i=U9e(),o=L.useCallback(d=>{r.trace({dragData:d.active.data.current},"Drag started");const f=d.active.data.current;f&&n(f)},[r]),s=L.useCallback(d=>{var p;r.trace({dragData:d.active.data.current},"Drag ended");const f=(p=d.over)==null?void 0:p.data.current;!t||!f||(i(zU({overData:f,activeData:t})),n(null))},[t,i,r]),a=l7(lG,{activationConstraint:{distance:10}}),l=l7(uG,{activationConstraint:{distance:10}}),u=v8e(a,l);return ue.jsxs(j9e,{onDragStart:o,onDragEnd:s,sensors:u,collisionDetection:P8e,children:[e.children,ue.jsx(F9e,{dropAnimation:null,modifiers:[B9e],children:ue.jsx(APe,{children:t&&ue.jsx(_Pe.div,{layout:!0,initial:{opacity:0,scale:.7},animate:{opacity:1,scale:1,transition:{duration:.1}},children:ue.jsx(V9e,{dragData:t})},"overlay-drag-image")})})]})},H9e=L.memo(G9e),W9e=L.lazy(()=>NN(()=>import("./App-fd54b7b9.js"),["./App-fd54b7b9.js","./menu-e9f8a36e.js","./App-6125620a.css"],import.meta.url)),q9e=L.lazy(()=>NN(()=>import("./ThemeLocaleProvider-139ac716.js"),["./ThemeLocaleProvider-139ac716.js","./menu-e9f8a36e.js","./ThemeLocaleProvider-5b992bc7.css"],import.meta.url)),K9e=({apiUrl:e,token:t,config:n,headerComponent:r,middleware:i,projectId:o})=>(L.useEffect(()=>(t&&Sg.set(t),e&&wg.set(e),o&&S1.set(o),PU(),i&&i.length>0?Z3(Mk(),...i):Z3(Mk()),()=>{wg.set(void 0),Sg.set(void 0),S1.set(void 0)}),[e,t,i,o]),ue.jsx(Lt.StrictMode,{children:ue.jsx(yde,{store:BCe,children:ue.jsx(Lt.Suspense,{fallback:ue.jsx(LPe,{}),children:ue.jsx(q9e,{children:ue.jsx(H9e,{children:ue.jsx(W9e,{config:n,headerComponent:r})})})})})})),X9e=L.memo(K9e);gC.createRoot(document.getElementById("root")).render(ue.jsx(X9e,{}));export{CMe as $,L as A,ue as B,Eo as C,Nn as D,rf as E,qr as F,jo as G,Hge as H,Ri as I,Il as J,gs as K,LIe as L,aB as M,sme as N,Dme as O,Kge as P,tpe as Q,Af as R,ug as S,b5e as T,Pc as U,cc as V,aV as W,pMe as X,dMe as Y,APe as Z,_Pe as _,TL as a,WY as a$,pV as a0,Bj as a1,vV as a2,fMe as a3,hMe as a4,_5e as a5,v5e as a6,gMe as a7,Bu as a8,dc as a9,g6 as aA,V5 as aB,sMe as aC,Az as aD,Yke as aE,o5e as aF,VE as aG,eV as aH,a5e as aI,bs as aJ,PP as aK,jE as aL,E7e as aM,$ke as aN,Zke as aO,Jke as aP,OIe as aQ,PIe as aR,ku as aS,g_e as aT,DU as aU,u7e as aV,AIe as aW,UT as aX,pE as aY,$9 as aZ,tke as a_,A1 as aa,MJ as ab,Lt as ac,W4e as ad,xMe as ae,Sa as af,oV as ag,hAe as ah,vMe as ai,T5 as aj,cMe as ak,wMe as al,si as am,fE as an,nb as ao,RMe as ap,$Ie as aq,Cm as ar,VB as as,pU as at,Jb as au,U9e as av,h7e as aw,zn as ax,Ku as ay,p6 as az,lT as b,qke as b$,J9e as b0,Q9e as b1,Z9e as b2,He as b3,Vke as b4,oIe as b5,iIe as b6,Uke as b7,EIe as b8,PCe as b9,fRe as bA,BRe as bB,uRe as bC,TRe as bD,gRe as bE,X_e as bF,cRe as bG,NRe as bH,lRe as bI,GRe as bJ,hRe as bK,ERe as bL,pRe as bM,ARe as bN,_Re as bO,RRe as bP,K_e as bQ,mRe as bR,pO as bS,r7e as bT,i7e as bU,o7e as bV,bRe as bW,s7e as bX,SRe as bY,a7e as bZ,Re as b_,OMe as ba,IMe as bb,xIe as bc,Fke as bd,Bke as be,Wke as bf,M3 as bg,zke as bh,h6 as bi,MPe as bj,dOe as bk,bl,f0 as bm,wIe as bn,bIe as bo,TIe as bp,SIe as bq,Y9e as br,iRe as bs,oRe as bt,sRe as bu,aRe as bv,IRe as bw,MRe as bx,JIe as by,e7e as bz,Rte as c,Ie as c$,ofe as c0,l$ as c1,jOe as c2,r$ as c3,RIe as c4,kMe as c5,uMe as c6,UU as c7,Gke as c8,O1 as c9,gOe as cA,S7e as cB,Aue as cC,DIe as cD,f7e as cE,wT as cF,_Ie as cG,mIe as cH,yIe as cI,vIe as cJ,tOe as cK,HRe as cL,QRe as cM,kRe as cN,p7e as cO,mc as cP,m7e as cQ,fa as cR,rSe as cS,tc as cT,wRe as cU,Em as cV,F7e as cW,eRe as cX,t7e as cY,N7e as cZ,tMe as c_,CIe as ca,Hke as cb,F9 as cc,k1 as cd,oMe as ce,I7e as cf,uOe as cg,P7e as ch,jke as ci,Qke as cj,BT as ck,xT as cl,dRe as cm,mOe as cn,Kr as co,_7e as cp,R7e as cq,A7e as cr,q1e as cs,v7e as ct,w7e as cu,x7e as cv,Cue as cw,p1e as cx,g1e as cy,aOe as cz,yae as d,T7e as d$,YD as d0,K7e as d1,Hve as d2,ORe as d3,QD as d4,L7e as d5,vue as d6,B7e as d7,JD as d8,nOe as d9,vRe as dA,D7e as dB,dR as dC,dIe as dD,FT as dE,Qde as dF,_d as dG,fR as dH,fIe as dI,hIe as dJ,pIe as dK,Zde as dL,gIe as dM,fF as dN,lIe as dO,cIe as dP,sIe as dQ,gCe as dR,NO as dS,aIe as dT,ZRe as dU,JRe as dV,XRe as dW,YRe as dX,KRe as dY,Y7e as dZ,j7e as d_,Tue as da,Ss as db,PRe as dc,zRe as dd,rRe as de,lle as df,jRe as dg,n7e as dh,IIe as di,MIe as dj,bF as dk,$7e as dl,kIe as dm,bT as dn,rOe as dp,ZIe as dq,lSe as dr,oOe as ds,Se as dt,Ui as du,pn as dv,Rs as dw,M7e as dx,eOe as dy,ale as dz,TD as e,bOe as e$,V7e as e0,eMe as e1,X7e as e2,C7e as e3,H7e as e4,G7e as e5,U7e as e6,q7e as e7,nRe as e8,z7e as e9,VIe as eA,zIe as eB,jIe as eC,KIe as eD,Mye as eE,UB as eF,WU as eG,pQ as eH,rt as eI,lke as eJ,Ake as eK,Eke as eL,zOe as eM,yke as eN,Rke as eO,x_e as eP,MOe as eQ,rke as eR,tp as eS,JOe as eT,NOe as eU,nS as eV,nke as eW,OOe as eX,eke as eY,kOe as eZ,$Oe as e_,W7e as ea,tRe as eb,OB as ec,_T as ed,Q7e as ee,z1 as ef,Ne as eg,Z7e as eh,yU as ei,yRe as ej,J7e as ek,E$ as el,N$ as em,QIe as en,GIe as eo,HIe as ep,WIe as eq,aE as er,XIe as es,YIe as et,Ig as eu,rb as ev,UIe as ew,OCe as ex,FIe as ey,BIe as ez,ML as f,iMe as f$,_Oe as f0,vOe as f1,Pke as f2,o$ as f3,Sg as f4,TOe as f5,EOe as f6,AOe as f7,Tke as f8,BOe as f9,fke as fA,hke as fB,Nke as fC,bke as fD,Lke as fE,QOe as fF,YOe as fG,ROe as fH,POe as fI,Ike as fJ,VOe as fK,S_e as fL,v_e as fM,__e as fN,b_e as fO,xOe as fP,iOe as fQ,xue as fR,WRe as fS,COe as fT,KOe as fU,Mke as fV,LRe as fW,DRe as fX,$Re as fY,FRe as fZ,XOe as f_,FOe as fa,Gue as fb,Cke as fc,w_e as fd,LOe as fe,dCe as ff,pCe as fg,HOe as fh,WOe as fi,uke as fj,ake as fk,ike as fl,SOe as fm,wOe as fn,O7e as fo,k7e as fp,ZOe as fq,GOe as fr,cke as fs,mke as ft,dke as fu,UOe as fv,IOe as fw,xke as fx,wke as fy,pke as fz,cae as g,cOe as g0,e$ as g1,hOe as g2,fOe as g3,pOe as g4,ole as g5,h_e as g6,lMe as g7,sV as g8,SMe as g9,_Me as ga,mMe as gb,bMe as gc,Ts as gd,yMe as ge,aMe as gf,G4e as gg,D4e as gh,TMe as gi,AMe as gj,PMe as gk,VL as h,Pi as i,Uf as j,eb as k,gr as l,J_ as m,cm as n,es as o,nu as p,Q_ as q,Fs as r,fm as s,ox as t,iT as u,kL as v,fT as w,vD as x,NL as y,nle as z}; diff --git a/invokeai/frontend/web/dist/assets/menu-b42141e3.js b/invokeai/frontend/web/dist/assets/menu-e9f8a36e.js similarity index 99% rename from invokeai/frontend/web/dist/assets/menu-b42141e3.js rename to invokeai/frontend/web/dist/assets/menu-e9f8a36e.js index f9c000de8b..13e0b949f7 100644 --- a/invokeai/frontend/web/dist/assets/menu-b42141e3.js +++ b/invokeai/frontend/web/dist/assets/menu-e9f8a36e.js @@ -1 +1 @@ -import{A as p,B as d,a5 as Z,aJ as xe,gi as We,_ as Be,V as j,a8 as q,U as z,W as R,a2 as _e,a1 as De,a0 as Ce,$ as Ge,Z as Ue,gj as Ve,gk as Ze,ac as A,g7 as D,gf as qe,g9 as Xe}from"./index-dd054634.js";function Je(e,t){return`${e} returned \`undefined\`. Seems you forgot to wrap component within ${t}`}function M(e={}){const{name:t,strict:r=!0,hookName:o="useContext",providerName:a="Provider",errorMessage:n,defaultValue:s}=e,i=p.createContext(s);i.displayName=t;function l(){var c;const u=p.useContext(i);if(!u&&r){const f=new Error(n??Je(o,a));throw f.name="ContextError",(c=Error.captureStackTrace)==null||c.call(Error,f,l),f}return u}return[i.Provider,l,i]}var[Ke,Ye]=M({strict:!1,name:"PortalManagerContext"});function Qe(e){const{children:t,zIndex:r}=e;return d.jsx(Ke,{value:{zIndex:r},children:t})}Qe.displayName="PortalManager";var[ke,et]=M({strict:!1,name:"PortalContext"}),J="chakra-portal",tt=".chakra-portal",rt=e=>d.jsx("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0},children:e.children}),nt=e=>{const{appendToParentPortal:t,children:r}=e,[o,a]=p.useState(null),n=p.useRef(null),[,s]=p.useState({});p.useEffect(()=>s({}),[]);const i=et(),l=Ye();Z(()=>{if(!o)return;const u=o.ownerDocument,f=t?i??u.body:u.body;if(!f)return;n.current=u.createElement("div"),n.current.className=J,f.appendChild(n.current),s({});const y=n.current;return()=>{f.contains(y)&&f.removeChild(y)}},[o]);const c=l!=null&&l.zIndex?d.jsx(rt,{zIndex:l==null?void 0:l.zIndex,children:r}):r;return n.current?xe.createPortal(d.jsx(ke,{value:n.current,children:c}),n.current):d.jsx("span",{ref:u=>{u&&a(u)}})},ot=e=>{const{children:t,containerRef:r,appendToParentPortal:o}=e,a=r.current,n=a??(typeof window<"u"?document.body:void 0),s=p.useMemo(()=>{const l=a==null?void 0:a.ownerDocument.createElement("div");return l&&(l.className=J),l},[a]),[,i]=p.useState({});return Z(()=>i({}),[]),Z(()=>{if(!(!s||!n))return n.appendChild(s),()=>{n.removeChild(s)}},[s,n]),n&&s?xe.createPortal(d.jsx(ke,{value:o?s:null,children:t}),s):null};function G(e){const t={appendToParentPortal:!0,...e},{containerRef:r,...o}=t;return r?d.jsx(ot,{containerRef:r,...o}):d.jsx(nt,{...o})}G.className=J;G.selector=tt;G.displayName="Portal";function m(e,t={}){let r=!1;function o(){if(!r){r=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function a(...u){o();for(const f of u)t[f]=l(f);return m(e,t)}function n(...u){for(const f of u)f in t||(t[f]=l(f));return m(e,t)}function s(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.selector]))}function i(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.className]))}function l(u){const g=`chakra-${(["container","root"].includes(u??"")?[e]:[e,u]).filter(Boolean).join("__")}`;return{className:g,selector:`.${g}`,toString:()=>u}}return{parts:a,toPart:l,extend:n,selectors:s,classnames:i,get keys(){return Object.keys(t)},__type:{}}}var Or=m("accordion").parts("root","container","button","panel").extend("icon"),zr=m("alert").parts("title","description","container").extend("icon","spinner"),Rr=m("avatar").parts("label","badge","container").extend("excessLabel","group"),Mr=m("breadcrumb").parts("link","item","container").extend("separator");m("button").parts();var Lr=m("checkbox").parts("control","icon","container").extend("label");m("progress").parts("track","filledTrack").extend("label");var Fr=m("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Hr=m("editable").parts("preview","input","textarea"),Wr=m("form").parts("container","requiredIndicator","helperText"),Br=m("formError").parts("text","icon"),Dr=m("input").parts("addon","field","element","group"),Gr=m("list").parts("container","item","icon"),at=m("menu").parts("button","list","item").extend("groupTitle","icon","command","divider"),Ur=m("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Vr=m("numberinput").parts("root","field","stepperGroup","stepper");m("pininput").parts("field");var Zr=m("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),qr=m("progress").parts("label","filledTrack","track"),Xr=m("radio").parts("container","control","label"),Jr=m("select").parts("field","icon"),Kr=m("slider").parts("container","track","thumb","filledTrack","mark"),Yr=m("stat").parts("container","label","helpText","number","icon"),Qr=m("switch").parts("container","track","thumb"),en=m("table").parts("table","thead","tbody","tr","th","td","tfoot","caption"),tn=m("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator"),rn=m("tag").parts("container","label","closeButton"),nn=m("card").parts("container","header","body","footer");function P(e,t){return r=>r.colorMode==="dark"?t:e}function on(e){const{orientation:t,vertical:r,horizontal:o}=e;return t?t==="vertical"?r:o:{}}var st=(e,t)=>e.find(r=>r.id===t);function re(e,t){const r=we(e,t),o=r?e[r].findIndex(a=>a.id===t):-1;return{position:r,index:o}}function we(e,t){for(const[r,o]of Object.entries(e))if(st(o,t))return r}function it(e){const t=e.includes("right"),r=e.includes("left");let o="center";return t&&(o="flex-end"),r&&(o="flex-start"),{display:"flex",flexDirection:"column",alignItems:o}}function lt(e){const r=e==="top"||e==="bottom"?"0 auto":void 0,o=e.includes("top")?"env(safe-area-inset-top, 0px)":void 0,a=e.includes("bottom")?"env(safe-area-inset-bottom, 0px)":void 0,n=e.includes("left")?void 0:"env(safe-area-inset-right, 0px)",s=e.includes("right")?void 0:"env(safe-area-inset-left, 0px)";return{position:"fixed",zIndex:"var(--toast-z-index, 5500)",pointerEvents:"none",display:"flex",flexDirection:"column",margin:r,top:o,bottom:a,right:n,left:s}}function ct(e,t=[]){const r=p.useRef(e);return p.useEffect(()=>{r.current=e}),p.useCallback((...o)=>{var a;return(a=r.current)==null?void 0:a.call(r,...o)},t)}function ut(e,t){const r=ct(e);p.useEffect(()=>{if(t==null)return;let o=null;return o=window.setTimeout(()=>{r()},t),()=>{o&&window.clearTimeout(o)}},[t,r])}function ne(e,t){const r=p.useRef(!1),o=p.useRef(!1);p.useEffect(()=>{if(r.current&&o.current)return e();o.current=!0},t),p.useEffect(()=>(r.current=!0,()=>{r.current=!1}),[])}var dt={initial:e=>{const{position:t}=e,r=["top","bottom"].includes(t)?"y":"x";let o=["top-right","bottom-right"].includes(t)?1:-1;return t==="bottom"&&(o=1),{opacity:0,[r]:o*24}},animate:{opacity:1,y:0,x:0,scale:1,transition:{duration:.4,ease:[.4,0,.2,1]}},exit:{opacity:0,scale:.85,transition:{duration:.2,ease:[.4,0,1,1]}}},Pe=p.memo(e=>{const{id:t,message:r,onCloseComplete:o,onRequestRemove:a,requestClose:n=!1,position:s="bottom",duration:i=5e3,containerStyle:l,motionVariants:c=dt,toastSpacing:u="0.5rem"}=e,[f,y]=p.useState(i),g=We();ne(()=>{g||o==null||o()},[g]),ne(()=>{y(i)},[i]);const h=()=>y(null),$=()=>y(i),S=()=>{g&&a()};p.useEffect(()=>{g&&n&&a()},[g,n,a]),ut(S,f);const H=p.useMemo(()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:u,...l}),[l,u]),N=p.useMemo(()=>it(s),[s]);return d.jsx(Be.div,{layout:!0,className:"chakra-toast",variants:c,initial:"initial",animate:"animate",exit:"exit",onHoverStart:h,onHoverEnd:$,custom:{position:s},style:N,children:d.jsx(j.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:H,children:q(r,{id:t,onClose:S})})})});Pe.displayName="ToastComponent";function ft(e,t){var r;const o=e??"bottom",n={"top-start":{ltr:"top-left",rtl:"top-right"},"top-end":{ltr:"top-right",rtl:"top-left"},"bottom-start":{ltr:"bottom-left",rtl:"bottom-right"},"bottom-end":{ltr:"bottom-right",rtl:"bottom-left"}}[o];return(r=n==null?void 0:n[t])!=null?r:o}var oe={path:d.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[d.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),d.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),d.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},L=z((e,t)=>{const{as:r,viewBox:o,color:a="currentColor",focusable:n=!1,children:s,className:i,__css:l,...c}=e,u=R("chakra-icon",i),f=_e("Icon",e),y={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:a,...l,...f},g={ref:t,focusable:n,className:u,__css:y},h=o??oe.viewBox;if(r&&typeof r!="string")return d.jsx(j.svg,{as:r,...g,...c});const $=s??oe.path;return d.jsx(j.svg,{verticalAlign:"middle",viewBox:h,...g,...c,children:$})});L.displayName="Icon";function pt(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm6.927,8.2-6.845,9.289a1.011,1.011,0,0,1-1.43.188L5.764,13.769a1,1,0,1,1,1.25-1.562l4.076,3.261,6.227-8.451A1,1,0,1,1,18.927,8.2Z"})})}function mt(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm.25,5a1.5,1.5,0,1,1-1.5,1.5A1.5,1.5,0,0,1,12.25,5ZM14.5,18.5h-4a1,1,0,0,1,0-2h.75a.25.25,0,0,0,.25-.25v-4.5a.25.25,0,0,0-.25-.25H10.5a1,1,0,0,1,0-2h1a2,2,0,0,1,2,2v4.75a.25.25,0,0,0,.25.25h.75a1,1,0,1,1,0,2Z"})})}function ae(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})}var[gt,K]=M({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[bt,Y]=M({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),Ae={info:{icon:mt,colorScheme:"blue"},warning:{icon:ae,colorScheme:"orange"},success:{icon:pt,colorScheme:"green"},error:{icon:ae,colorScheme:"red"},loading:{icon:De,colorScheme:"blue"}};function yt(e){return Ae[e].colorScheme}function vt(e){return Ae[e].icon}var je=z(function(t,r){const o=Y(),{status:a}=K(),n={display:"inline",...o.description};return d.jsx(j.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__desc",t.className),__css:n})});je.displayName="AlertDescription";function Ee(e){const{status:t}=K(),r=vt(t),o=Y(),a=t==="loading"?o.spinner:o.icon;return d.jsx(j.span,{display:"inherit","data-status":t,...e,className:R("chakra-alert__icon",e.className),__css:a,children:e.children||d.jsx(r,{h:"100%",w:"100%"})})}Ee.displayName="AlertIcon";var Ne=z(function(t,r){const o=Y(),{status:a}=K();return d.jsx(j.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__title",t.className),__css:o.title})});Ne.displayName="AlertTitle";var $e=z(function(t,r){var o;const{status:a="info",addRole:n=!0,...s}=Ce(t),i=(o=t.colorScheme)!=null?o:yt(a),l=Ge("Alert",{...t,colorScheme:i}),c={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...l.container};return d.jsx(gt,{value:{status:a},children:d.jsx(bt,{value:l,children:d.jsx(j.div,{"data-status":a,role:n?"alert":void 0,ref:r,...s,className:R("chakra-alert",t.className),__css:c})})})});$e.displayName="Alert";function ht(e){return d.jsx(L,{focusable:"false","aria-hidden":!0,...e,children:d.jsx("path",{fill:"currentColor",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"})})}var Te=z(function(t,r){const o=_e("CloseButton",t),{children:a,isDisabled:n,__css:s,...i}=Ce(t),l={outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0};return d.jsx(j.button,{type:"button","aria-label":"Close",ref:r,disabled:n,__css:{...l,...o,...s},...i,children:a||d.jsx(ht,{width:"1em",height:"1em"})})});Te.displayName="CloseButton";var St={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},C=xt(St);function xt(e){let t=e;const r=new Set,o=a=>{t=a(t),r.forEach(n=>n())};return{getState:()=>t,subscribe:a=>(r.add(a),()=>{o(()=>e),r.delete(a)}),removeToast:(a,n)=>{o(s=>({...s,[n]:s[n].filter(i=>i.id!=a)}))},notify:(a,n)=>{const s=_t(a,n),{position:i,id:l}=s;return o(c=>{var u,f;const g=i.includes("top")?[s,...(u=c[i])!=null?u:[]]:[...(f=c[i])!=null?f:[],s];return{...c,[i]:g}}),l},update:(a,n)=>{a&&o(s=>{const i={...s},{position:l,index:c}=re(i,a);return l&&c!==-1&&(i[l][c]={...i[l][c],...n,message:Ie(n)}),i})},closeAll:({positions:a}={})=>{o(n=>(a??["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce((l,c)=>(l[c]=n[c].map(u=>({...u,requestClose:!0})),l),{...n}))},close:a=>{o(n=>{const s=we(n,a);return s?{...n,[s]:n[s].map(i=>i.id==a?{...i,requestClose:!0}:i)}:n})},isActive:a=>!!re(C.getState(),a).position}}var se=0;function _t(e,t={}){var r,o;se+=1;const a=(r=t.id)!=null?r:se,n=(o=t.position)!=null?o:"bottom";return{id:a,message:e,position:n,duration:t.duration,onCloseComplete:t.onCloseComplete,onRequestRemove:()=>C.removeToast(String(a),n),status:t.status,requestClose:!1,containerStyle:t.containerStyle}}var Ct=e=>{const{status:t,variant:r="solid",id:o,title:a,isClosable:n,onClose:s,description:i,colorScheme:l,icon:c}=e,u=o?{root:`toast-${o}`,title:`toast-${o}-title`,description:`toast-${o}-description`}:void 0;return d.jsxs($e,{addRole:!1,status:t,variant:r,id:u==null?void 0:u.root,alignItems:"start",borderRadius:"md",boxShadow:"lg",paddingEnd:8,textAlign:"start",width:"auto",colorScheme:l,children:[d.jsx(Ee,{children:c}),d.jsxs(j.div,{flex:"1",maxWidth:"100%",children:[a&&d.jsx(Ne,{id:u==null?void 0:u.title,children:a}),i&&d.jsx(je,{id:u==null?void 0:u.description,display:"block",children:i})]}),n&&d.jsx(Te,{size:"sm",onClick:s,position:"absolute",insetEnd:1,top:1})]})};function Ie(e={}){const{render:t,toastComponent:r=Ct}=e;return a=>typeof t=="function"?t({...a,...e}):d.jsx(r,{...a,...e})}function an(e,t){const r=a=>{var n;return{...t,...a,position:ft((n=a==null?void 0:a.position)!=null?n:t==null?void 0:t.position,e)}},o=a=>{const n=r(a),s=Ie(n);return C.notify(s,n)};return o.update=(a,n)=>{C.update(a,r(n))},o.promise=(a,n)=>{const s=o({...n.loading,status:"loading",duration:null});a.then(i=>o.update(s,{status:"success",duration:5e3,...q(n.success,i)})).catch(i=>o.update(s,{status:"error",duration:5e3,...q(n.error,i)}))},o.closeAll=C.closeAll,o.close=C.close,o.isActive=C.isActive,o}var[sn,ln]=M({name:"ToastOptionsContext",strict:!1}),cn=e=>{const t=p.useSyncExternalStore(C.subscribe,C.getState,C.getState),{motionVariants:r,component:o=Pe,portalProps:a}=e,s=Object.keys(t).map(i=>{const l=t[i];return d.jsx("div",{role:"region","aria-live":"polite","aria-label":"Notifications",id:`chakra-toast-manager-${i}`,style:lt(i),children:d.jsx(Ue,{initial:!1,children:l.map(c=>d.jsx(o,{motionVariants:r,...c},c.id))})},i)});return d.jsx(G,{...a,children:s})};function kt(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),r=0;r()=>{if(e.isInitialized)t();else{const r=()=>{setTimeout(()=>{e.off("initialized",r)},0),t()};e.on("initialized",r)}};function le(e,t,r){e.loadNamespaces(t,Oe(e,r))}function ce(e,t,r,o){typeof r=="string"&&(r=[r]),r.forEach(a=>{e.options.ns.indexOf(a)<0&&e.options.ns.push(a)}),e.loadLanguages(t,Oe(e,o))}function wt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const o=t.languages[0],a=t.options?t.options.fallbackLng:!1,n=t.languages[t.languages.length-1];if(o.toLowerCase()==="cimode")return!0;const s=(i,l)=>{const c=t.services.backendConnector.state[`${i}|${l}`];return c===-1||c===2};return r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!s(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(o,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||s(o,e)&&(!a||s(n,e)))}function Pt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!t.languages||!t.languages.length?(X("i18n.languages were undefined or empty",t.languages),!0):t.options.ignoreJSONStructure!==void 0?t.hasLoadedNamespace(e,{lng:r.lng,precheck:(a,n)=>{if(r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&a.services.backendConnector.backend&&a.isLanguageChangingTo&&!n(a.isLanguageChangingTo,e))return!1}}):wt(e,t,r)}const At=p.createContext();class jt{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(r=>{this.usedNamespaces[r]||(this.usedNamespaces[r]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Et=(e,t)=>{const r=p.useRef();return p.useEffect(()=>{r.current=t?r.current:e},[e,t]),r.current};function un(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:r}=t,{i18n:o,defaultNS:a}=p.useContext(At)||{},n=r||o||Ze();if(n&&!n.reportNamespaces&&(n.reportNamespaces=new jt),!n){X("You will need to pass in an i18next instance by using initReactI18next");const v=(w,x)=>typeof x=="string"?x:x&&typeof x=="object"&&typeof x.defaultValue=="string"?x.defaultValue:Array.isArray(w)?w[w.length-1]:w,k=[v,{},!1];return k.t=v,k.i18n={},k.ready=!1,k}n.options.react&&n.options.react.wait!==void 0&&X("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...Ve(),...n.options.react,...t},{useSuspense:i,keyPrefix:l}=s;let c=e||a||n.options&&n.options.defaultNS;c=typeof c=="string"?[c]:c||["translation"],n.reportNamespaces.addUsedNamespaces&&n.reportNamespaces.addUsedNamespaces(c);const u=(n.isInitialized||n.initializedStoreOnce)&&c.every(v=>Pt(v,n,s));function f(){return n.getFixedT(t.lng||null,s.nsMode==="fallback"?c:c[0],l)}const[y,g]=p.useState(f);let h=c.join();t.lng&&(h=`${t.lng}${h}`);const $=Et(h),S=p.useRef(!0);p.useEffect(()=>{const{bindI18n:v,bindI18nStore:k}=s;S.current=!0,!u&&!i&&(t.lng?ce(n,t.lng,c,()=>{S.current&&g(f)}):le(n,c,()=>{S.current&&g(f)})),u&&$&&$!==h&&S.current&&g(f);function w(){S.current&&g(f)}return v&&n&&n.on(v,w),k&&n&&n.store.on(k,w),()=>{S.current=!1,v&&n&&v.split(" ").forEach(x=>n.off(x,w)),k&&n&&k.split(" ").forEach(x=>n.store.off(x,w))}},[n,h]);const H=p.useRef(!0);p.useEffect(()=>{S.current&&!H.current&&g(f),H.current=!1},[n,l]);const N=[y,n,u];if(N.t=y,N.i18n=n,N.ready=u,u||!u&&!i)return N;throw new Promise(v=>{t.lng?ce(n,t.lng,c,()=>v()):le(n,c,()=>v())})}const Nt={dark:["#C1C2C5","#A6A7AB","#909296","#5c5f66","#373A40","#2C2E33","#25262b","#1A1B1E","#141517","#101113"],gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]};function $t(e){return()=>({fontFamily:e.fontFamily||"sans-serif"})}var Tt=Object.defineProperty,ue=Object.getOwnPropertySymbols,It=Object.prototype.hasOwnProperty,Ot=Object.prototype.propertyIsEnumerable,de=(e,t,r)=>t in e?Tt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fe=(e,t)=>{for(var r in t||(t={}))It.call(t,r)&&de(e,r,t[r]);if(ue)for(var r of ue(t))Ot.call(t,r)&&de(e,r,t[r]);return e};function zt(e){return t=>({WebkitTapHighlightColor:"transparent",[t||"&:focus"]:fe({},e.focusRing==="always"||e.focusRing==="auto"?e.focusRingStyles.styles(e):e.focusRingStyles.resetStyles(e)),[t?t.replace(":focus",":focus:not(:focus-visible)"):"&:focus:not(:focus-visible)"]:fe({},e.focusRing==="auto"||e.focusRing==="never"?e.focusRingStyles.resetStyles(e):null)})}function F(e){return t=>typeof e.primaryShade=="number"?e.primaryShade:e.primaryShade[t||e.colorScheme]}function Q(e){const t=F(e);return(r,o,a=!0,n=!0)=>{if(typeof r=="string"&&r.includes(".")){const[i,l]=r.split("."),c=parseInt(l,10);if(i in e.colors&&c>=0&&c<10)return e.colors[i][typeof o=="number"&&!n?o:c]}const s=typeof o=="number"?o:t();return r in e.colors?e.colors[r][s]:a?e.colors[e.primaryColor][s]:r}}function ze(e){let t="";for(let r=1;r{const a={from:(o==null?void 0:o.from)||e.defaultGradient.from,to:(o==null?void 0:o.to)||e.defaultGradient.to,deg:(o==null?void 0:o.deg)||e.defaultGradient.deg};return`linear-gradient(${a.deg}deg, ${t(a.from,r(),!1)} 0%, ${t(a.to,r(),!1)} 100%)`}}function Me(e){return t=>{if(typeof t=="number")return`${t/16}${e}`;if(typeof t=="string"){const r=t.replace("px","");if(!Number.isNaN(Number(r)))return`${Number(r)/16}${e}`}return t}}const E=Me("rem"),U=Me("em");function Le({size:e,sizes:t,units:r}){return e in t?t[e]:typeof e=="number"?r==="em"?U(e):E(e):e||t.md}function W(e){return typeof e=="number"?e:typeof e=="string"&&e.includes("rem")?Number(e.replace("rem",""))*16:typeof e=="string"&&e.includes("em")?Number(e.replace("em",""))*16:Number(e)}function Lt(e){return t=>`@media (min-width: ${U(W(Le({size:t,sizes:e.breakpoints})))})`}function Ft(e){return t=>`@media (max-width: ${U(W(Le({size:t,sizes:e.breakpoints}))-1)})`}function Ht(e){return/^#?([0-9A-F]{3}){1,2}$/i.test(e)}function Wt(e){let t=e.replace("#","");if(t.length===3){const s=t.split("");t=[s[0],s[0],s[1],s[1],s[2],s[2]].join("")}const r=parseInt(t,16),o=r>>16&255,a=r>>8&255,n=r&255;return{r:o,g:a,b:n,a:1}}function Bt(e){const[t,r,o,a]=e.replace(/[^0-9,.]/g,"").split(",").map(Number);return{r:t,g:r,b:o,a:a||1}}function ee(e){return Ht(e)?Wt(e):e.startsWith("rgb")?Bt(e):{r:0,g:0,b:0,a:1}}function T(e,t){if(typeof e!="string"||t>1||t<0)return"rgba(0, 0, 0, 1)";if(e.startsWith("var(--"))return e;const{r,g:o,b:a}=ee(e);return`rgba(${r}, ${o}, ${a}, ${t})`}function Dt(e=0){return{position:"absolute",top:E(e),right:E(e),left:E(e),bottom:E(e)}}function Gt(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=1-t,i=l=>Math.round(l*s);return`rgba(${i(r)}, ${i(o)}, ${i(a)}, ${n})`}function Ut(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=i=>Math.round(i+(255-i)*t);return`rgba(${s(r)}, ${s(o)}, ${s(a)}, ${n})`}function Vt(e){return t=>{if(typeof t=="number")return E(t);const r=typeof e.defaultRadius=="number"?e.defaultRadius:e.radius[e.defaultRadius]||e.defaultRadius;return e.radius[t]||t||r}}function Zt(e,t){if(typeof e=="string"&&e.includes(".")){const[r,o]=e.split("."),a=parseInt(o,10);if(r in t.colors&&a>=0&&a<10)return{isSplittedColor:!0,key:r,shade:a}}return{isSplittedColor:!1}}function qt(e){const t=Q(e),r=F(e),o=Re(e);return({variant:a,color:n,gradient:s,primaryFallback:i})=>{const l=Zt(n,e);switch(a){case"light":return{border:"transparent",background:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1),color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?7:1,i,!1),e.colorScheme==="dark"?.25:.65)};case"subtle":return{border:"transparent",background:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1)};case"outline":return{border:t(n,e.colorScheme==="dark"?5:r("light")),background:"transparent",color:t(n,e.colorScheme==="dark"?5:r("light")),hover:e.colorScheme==="dark"?T(t(n,5,i,!1),.05):T(t(n,0,i,!1),.35)};case"default":return{border:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4],background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,color:e.colorScheme==="dark"?e.white:e.black,hover:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[0]};case"white":return{border:"transparent",background:e.white,color:t(n,r()),hover:null};case"transparent":return{border:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),background:"transparent",hover:null};case"gradient":return{background:o(s),color:e.white,border:"transparent",hover:null};default:{const c=r(),u=l.isSplittedColor?l.shade:c,f=l.isSplittedColor?l.key:n;return{border:"transparent",background:t(f,u,i),color:e.white,hover:t(f,u===9?8:u+1)}}}}}function Xt(e){return t=>{const r=F(e)(t);return e.colors[e.primaryColor][r]}}function Jt(e){return{"@media (hover: hover)":{"&:hover":e},"@media (hover: none)":{"&:active":e}}}function Kt(e){return()=>({userSelect:"none",color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]})}function Yt(e){return()=>e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6]}const b={fontStyles:$t,themeColor:Q,focusStyles:zt,linearGradient:Rt,radialGradient:Mt,smallerThan:Ft,largerThan:Lt,rgba:T,cover:Dt,darken:Gt,lighten:Ut,radius:Vt,variant:qt,primaryShade:F,hover:Jt,gradient:Re,primaryColor:Xt,placeholderStyles:Kt,dimmed:Yt};var Qt=Object.defineProperty,er=Object.defineProperties,tr=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,rr=Object.prototype.hasOwnProperty,nr=Object.prototype.propertyIsEnumerable,me=(e,t,r)=>t in e?Qt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,or=(e,t)=>{for(var r in t||(t={}))rr.call(t,r)&&me(e,r,t[r]);if(pe)for(var r of pe(t))nr.call(t,r)&&me(e,r,t[r]);return e},ar=(e,t)=>er(e,tr(t));function Fe(e){return ar(or({},e),{fn:{fontStyles:b.fontStyles(e),themeColor:b.themeColor(e),focusStyles:b.focusStyles(e),largerThan:b.largerThan(e),smallerThan:b.smallerThan(e),radialGradient:b.radialGradient,linearGradient:b.linearGradient,gradient:b.gradient(e),rgba:b.rgba,cover:b.cover,lighten:b.lighten,darken:b.darken,primaryShade:b.primaryShade(e),radius:b.radius(e),variant:b.variant(e),hover:b.hover,primaryColor:b.primaryColor(e),placeholderStyles:b.placeholderStyles(e),dimmed:b.dimmed(e)}})}const sr={dir:"ltr",primaryShade:{light:6,dark:8},focusRing:"auto",loader:"oval",colorScheme:"light",white:"#fff",black:"#000",defaultRadius:"sm",transitionTimingFunction:"ease",colors:Nt,lineHeight:1.55,fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontFamilyMonospace:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace",primaryColor:"blue",respectReducedMotion:!0,cursorType:"default",defaultGradient:{from:"indigo",to:"cyan",deg:45},shadows:{xs:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.1)",sm:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 0.625rem 0.9375rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.4375rem 0.4375rem -0.3125rem",md:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.25rem 1.5625rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.625rem 0.625rem -0.3125rem",lg:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.75rem 1.4375rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 0.75rem 0.75rem -0.4375rem",xl:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 2.25rem 1.75rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 1.0625rem 1.0625rem -0.4375rem"},fontSizes:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},radius:{xs:"0.125rem",sm:"0.25rem",md:"0.5rem",lg:"1rem",xl:"2rem"},spacing:{xs:"0.625rem",sm:"0.75rem",md:"1rem",lg:"1.25rem",xl:"1.5rem"},breakpoints:{xs:"36em",sm:"48em",md:"62em",lg:"75em",xl:"88em"},headings:{fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontWeight:700,sizes:{h1:{fontSize:"2.125rem",lineHeight:1.3,fontWeight:void 0},h2:{fontSize:"1.625rem",lineHeight:1.35,fontWeight:void 0},h3:{fontSize:"1.375rem",lineHeight:1.4,fontWeight:void 0},h4:{fontSize:"1.125rem",lineHeight:1.45,fontWeight:void 0},h5:{fontSize:"1rem",lineHeight:1.5,fontWeight:void 0},h6:{fontSize:"0.875rem",lineHeight:1.5,fontWeight:void 0}}},other:{},components:{},activeStyles:{transform:"translateY(0.0625rem)"},datesLocale:"en",globalStyles:void 0,focusRingStyles:{styles:e=>({outlineOffset:"0.125rem",outline:`0.125rem solid ${e.colors[e.primaryColor][e.colorScheme==="dark"?7:5]}`}),resetStyles:()=>({outline:"none"}),inputStyles:e=>({outline:"none",borderColor:e.colors[e.primaryColor][typeof e.primaryShade=="object"?e.primaryShade[e.colorScheme]:e.primaryShade]})}},te=Fe(sr);var ir=Object.defineProperty,lr=Object.defineProperties,cr=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,ur=Object.prototype.hasOwnProperty,dr=Object.prototype.propertyIsEnumerable,be=(e,t,r)=>t in e?ir(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fr=(e,t)=>{for(var r in t||(t={}))ur.call(t,r)&&be(e,r,t[r]);if(ge)for(var r of ge(t))dr.call(t,r)&&be(e,r,t[r]);return e},pr=(e,t)=>lr(e,cr(t));function mr({theme:e}){return A.createElement(D,{styles:{"*, *::before, *::after":{boxSizing:"border-box"},html:{colorScheme:e.colorScheme==="dark"?"dark":"light"},body:pr(fr({},e.fn.fontStyles()),{backgroundColor:e.colorScheme==="dark"?e.colors.dark[7]:e.white,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,lineHeight:e.lineHeight,fontSize:e.fontSizes.md,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"})}})}function I(e,t,r,o=E){Object.keys(t).forEach(a=>{e[`--mantine-${r}-${a}`]=o(t[a])})}function gr({theme:e}){const t={"--mantine-color-white":e.white,"--mantine-color-black":e.black,"--mantine-transition-timing-function":e.transitionTimingFunction,"--mantine-line-height":`${e.lineHeight}`,"--mantine-font-family":e.fontFamily,"--mantine-font-family-monospace":e.fontFamilyMonospace,"--mantine-font-family-headings":e.headings.fontFamily,"--mantine-heading-font-weight":`${e.headings.fontWeight}`};I(t,e.shadows,"shadow"),I(t,e.fontSizes,"font-size"),I(t,e.radius,"radius"),I(t,e.spacing,"spacing"),I(t,e.breakpoints,"breakpoints",U),Object.keys(e.colors).forEach(o=>{e.colors[o].forEach((a,n)=>{t[`--mantine-color-${o}-${n}`]=a})});const r=e.headings.sizes;return Object.keys(r).forEach(o=>{t[`--mantine-${o}-font-size`]=r[o].fontSize,t[`--mantine-${o}-line-height`]=`${r[o].lineHeight}`}),A.createElement(D,{styles:{":root":t}})}var br=Object.defineProperty,yr=Object.defineProperties,vr=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,hr=Object.prototype.hasOwnProperty,Sr=Object.prototype.propertyIsEnumerable,ve=(e,t,r)=>t in e?br(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_=(e,t)=>{for(var r in t||(t={}))hr.call(t,r)&&ve(e,r,t[r]);if(ye)for(var r of ye(t))Sr.call(t,r)&&ve(e,r,t[r]);return e},V=(e,t)=>yr(e,vr(t));function xr(e,t){var r;if(!t)return e;const o=Object.keys(e).reduce((a,n)=>{if(n==="headings"&&t.headings){const s=t.headings.sizes?Object.keys(e.headings.sizes).reduce((i,l)=>(i[l]=_(_({},e.headings.sizes[l]),t.headings.sizes[l]),i),{}):e.headings.sizes;return V(_({},a),{headings:V(_(_({},e.headings),t.headings),{sizes:s})})}if(n==="breakpoints"&&t.breakpoints){const s=_(_({},e.breakpoints),t.breakpoints);return V(_({},a),{breakpoints:Object.fromEntries(Object.entries(s).sort((i,l)=>W(i[1])-W(l[1])))})}return a[n]=typeof t[n]=="object"?_(_({},e[n]),t[n]):typeof t[n]=="number"||typeof t[n]=="boolean"||typeof t[n]=="function"?t[n]:t[n]||e[n],a},{});if(t!=null&&t.fontFamily&&!((r=t==null?void 0:t.headings)!=null&&r.fontFamily)&&(o.headings.fontFamily=t.fontFamily),!(o.primaryColor in o.colors))throw new Error("MantineProvider: Invalid theme.primaryColor, it accepts only key of theme.colors, learn more – https://mantine.dev/theming/colors/#primary-color");return o}function _r(e,t){return Fe(xr(e,t))}function Cr(e){return Object.keys(e).reduce((t,r)=>(e[r]!==void 0&&(t[r]=e[r]),t),{})}const kr={html:{fontFamily:"sans-serif",lineHeight:"1.15",textSizeAdjust:"100%"},body:{margin:0},"article, aside, footer, header, nav, section, figcaption, figure, main":{display:"block"},h1:{fontSize:"2em"},hr:{boxSizing:"content-box",height:0,overflow:"visible"},pre:{fontFamily:"monospace, monospace",fontSize:"1em"},a:{background:"transparent",textDecorationSkip:"objects"},"a:active, a:hover":{outlineWidth:0},"abbr[title]":{borderBottom:"none",textDecoration:"underline"},"b, strong":{fontWeight:"bolder"},"code, kbp, samp":{fontFamily:"monospace, monospace",fontSize:"1em"},dfn:{fontStyle:"italic"},mark:{backgroundColor:"#ff0",color:"#000"},small:{fontSize:"80%"},"sub, sup":{fontSize:"75%",lineHeight:0,position:"relative",verticalAlign:"baseline"},sup:{top:"-0.5em"},sub:{bottom:"-0.25em"},"audio, video":{display:"inline-block"},"audio:not([controls])":{display:"none",height:0},img:{borderStyle:"none",verticalAlign:"middle"},"svg:not(:root)":{overflow:"hidden"},"button, input, optgroup, select, textarea":{fontFamily:"sans-serif",fontSize:"100%",lineHeight:"1.15",margin:0},"button, input":{overflow:"visible"},"button, select":{textTransform:"none"},"button, [type=reset], [type=submit]":{WebkitAppearance:"button"},"button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner":{borderStyle:"none",padding:0},"button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring":{outline:`${E(1)} dotted ButtonText`},legend:{boxSizing:"border-box",color:"inherit",display:"table",maxWidth:"100%",padding:0,whiteSpace:"normal"},progress:{display:"inline-block",verticalAlign:"baseline"},textarea:{overflow:"auto"},"[type=checkbox], [type=radio]":{boxSizing:"border-box",padding:0},"[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button":{height:"auto"},"[type=search]":{appearance:"none"},"[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration":{appearance:"none"},"::-webkit-file-upload-button":{appearance:"button",font:"inherit"},"details, menu":{display:"block"},summary:{display:"list-item"},canvas:{display:"inline-block"},template:{display:"none"}};function wr(){return A.createElement(D,{styles:kr})}var Pr=Object.defineProperty,he=Object.getOwnPropertySymbols,Ar=Object.prototype.hasOwnProperty,jr=Object.prototype.propertyIsEnumerable,Se=(e,t,r)=>t in e?Pr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,O=(e,t)=>{for(var r in t||(t={}))Ar.call(t,r)&&Se(e,r,t[r]);if(he)for(var r of he(t))jr.call(t,r)&&Se(e,r,t[r]);return e};const B=p.createContext({theme:te});function He(){var e;return((e=p.useContext(B))==null?void 0:e.theme)||te}function dn(e){const t=He(),r=o=>{var a,n,s,i;return{styles:((a=t.components[o])==null?void 0:a.styles)||{},classNames:((n=t.components[o])==null?void 0:n.classNames)||{},variants:(s=t.components[o])==null?void 0:s.variants,sizes:(i=t.components[o])==null?void 0:i.sizes}};return Array.isArray(e)?e.map(r):[r(e)]}function fn(){var e;return(e=p.useContext(B))==null?void 0:e.emotionCache}function pn(e,t,r){var o;const a=He(),n=(o=a.components[e])==null?void 0:o.defaultProps,s=typeof n=="function"?n(a):n;return O(O(O({},t),s),Cr(r))}function Er({theme:e,emotionCache:t,withNormalizeCSS:r=!1,withGlobalStyles:o=!1,withCSSVariables:a=!1,inherit:n=!1,children:s}){const i=p.useContext(B),l=_r(te,n?O(O({},i.theme),e):e);return A.createElement(qe,{theme:l},A.createElement(B.Provider,{value:{theme:l,emotionCache:t}},r&&A.createElement(wr,null),o&&A.createElement(mr,{theme:l}),a&&A.createElement(gr,{theme:l}),typeof l.globalStyles=="function"&&A.createElement(D,{styles:l.globalStyles(l)}),s))}Er.displayName="@mantine/core/MantineProvider";const{definePartsStyle:Nr,defineMultiStyleConfig:$r}=Xe(at.keys),Tr=Nr(e=>({button:{fontWeight:500,bg:P("base.300","base.500")(e),color:P("base.900","base.100")(e),_hover:{bg:P("base.400","base.600")(e),color:P("base.900","base.50")(e),fontWeight:600}},list:{zIndex:9999,color:P("base.900","base.150")(e),bg:P("base.200","base.800")(e),shadow:"dark-lg",border:"none"},item:{fontSize:"sm",bg:P("base.200","base.800")(e),_hover:{bg:P("base.300","base.700")(e),svg:{opacity:1}},_focus:{bg:P("base.400","base.600")(e)},svg:{opacity:.7,fontSize:14}}})),mn=$r({variants:{invokeAI:Tr},defaultProps:{variant:"invokeAI"}}),gn={variants:{enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.07,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.07,easings:"easeOut"}}}};export{on as A,Yr as B,Te as C,Gr as D,at as E,Ur as F,Vr as G,Zr as H,L as I,Fr as J,Hr as K,Wr as L,Br as M,Mr as N,nn as O,G as P,Or as Q,zr as R,Rr as S,Qe as T,sn as U,cn as V,mn as W,Er as X,M as a,ct as b,an as c,ne as d,un as e,fn as f,He as g,dn as h,Cr as i,W as j,Le as k,pn as l,gn as m,P as n,tn as o,rn as p,Dr as q,E as r,Qr as s,en as t,ln as u,qr as v,Lr as w,Xr as x,Jr as y,Kr as z}; +import{A as p,B as d,a5 as Z,aJ as xe,gi as We,_ as Be,V as j,a8 as q,U as z,W as R,a2 as _e,a1 as De,a0 as Ce,$ as Ge,Z as Ue,gj as Ve,gk as Ze,ac as A,g7 as D,gf as qe,g9 as Xe}from"./index-815faab3.js";function Je(e,t){return`${e} returned \`undefined\`. Seems you forgot to wrap component within ${t}`}function M(e={}){const{name:t,strict:r=!0,hookName:o="useContext",providerName:a="Provider",errorMessage:n,defaultValue:s}=e,i=p.createContext(s);i.displayName=t;function l(){var c;const u=p.useContext(i);if(!u&&r){const f=new Error(n??Je(o,a));throw f.name="ContextError",(c=Error.captureStackTrace)==null||c.call(Error,f,l),f}return u}return[i.Provider,l,i]}var[Ke,Ye]=M({strict:!1,name:"PortalManagerContext"});function Qe(e){const{children:t,zIndex:r}=e;return d.jsx(Ke,{value:{zIndex:r},children:t})}Qe.displayName="PortalManager";var[ke,et]=M({strict:!1,name:"PortalContext"}),J="chakra-portal",tt=".chakra-portal",rt=e=>d.jsx("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0},children:e.children}),nt=e=>{const{appendToParentPortal:t,children:r}=e,[o,a]=p.useState(null),n=p.useRef(null),[,s]=p.useState({});p.useEffect(()=>s({}),[]);const i=et(),l=Ye();Z(()=>{if(!o)return;const u=o.ownerDocument,f=t?i??u.body:u.body;if(!f)return;n.current=u.createElement("div"),n.current.className=J,f.appendChild(n.current),s({});const y=n.current;return()=>{f.contains(y)&&f.removeChild(y)}},[o]);const c=l!=null&&l.zIndex?d.jsx(rt,{zIndex:l==null?void 0:l.zIndex,children:r}):r;return n.current?xe.createPortal(d.jsx(ke,{value:n.current,children:c}),n.current):d.jsx("span",{ref:u=>{u&&a(u)}})},ot=e=>{const{children:t,containerRef:r,appendToParentPortal:o}=e,a=r.current,n=a??(typeof window<"u"?document.body:void 0),s=p.useMemo(()=>{const l=a==null?void 0:a.ownerDocument.createElement("div");return l&&(l.className=J),l},[a]),[,i]=p.useState({});return Z(()=>i({}),[]),Z(()=>{if(!(!s||!n))return n.appendChild(s),()=>{n.removeChild(s)}},[s,n]),n&&s?xe.createPortal(d.jsx(ke,{value:o?s:null,children:t}),s):null};function G(e){const t={appendToParentPortal:!0,...e},{containerRef:r,...o}=t;return r?d.jsx(ot,{containerRef:r,...o}):d.jsx(nt,{...o})}G.className=J;G.selector=tt;G.displayName="Portal";function m(e,t={}){let r=!1;function o(){if(!r){r=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function a(...u){o();for(const f of u)t[f]=l(f);return m(e,t)}function n(...u){for(const f of u)f in t||(t[f]=l(f));return m(e,t)}function s(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.selector]))}function i(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.className]))}function l(u){const g=`chakra-${(["container","root"].includes(u??"")?[e]:[e,u]).filter(Boolean).join("__")}`;return{className:g,selector:`.${g}`,toString:()=>u}}return{parts:a,toPart:l,extend:n,selectors:s,classnames:i,get keys(){return Object.keys(t)},__type:{}}}var Or=m("accordion").parts("root","container","button","panel").extend("icon"),zr=m("alert").parts("title","description","container").extend("icon","spinner"),Rr=m("avatar").parts("label","badge","container").extend("excessLabel","group"),Mr=m("breadcrumb").parts("link","item","container").extend("separator");m("button").parts();var Lr=m("checkbox").parts("control","icon","container").extend("label");m("progress").parts("track","filledTrack").extend("label");var Fr=m("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Hr=m("editable").parts("preview","input","textarea"),Wr=m("form").parts("container","requiredIndicator","helperText"),Br=m("formError").parts("text","icon"),Dr=m("input").parts("addon","field","element","group"),Gr=m("list").parts("container","item","icon"),at=m("menu").parts("button","list","item").extend("groupTitle","icon","command","divider"),Ur=m("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Vr=m("numberinput").parts("root","field","stepperGroup","stepper");m("pininput").parts("field");var Zr=m("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),qr=m("progress").parts("label","filledTrack","track"),Xr=m("radio").parts("container","control","label"),Jr=m("select").parts("field","icon"),Kr=m("slider").parts("container","track","thumb","filledTrack","mark"),Yr=m("stat").parts("container","label","helpText","number","icon"),Qr=m("switch").parts("container","track","thumb"),en=m("table").parts("table","thead","tbody","tr","th","td","tfoot","caption"),tn=m("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator"),rn=m("tag").parts("container","label","closeButton"),nn=m("card").parts("container","header","body","footer");function P(e,t){return r=>r.colorMode==="dark"?t:e}function on(e){const{orientation:t,vertical:r,horizontal:o}=e;return t?t==="vertical"?r:o:{}}var st=(e,t)=>e.find(r=>r.id===t);function re(e,t){const r=we(e,t),o=r?e[r].findIndex(a=>a.id===t):-1;return{position:r,index:o}}function we(e,t){for(const[r,o]of Object.entries(e))if(st(o,t))return r}function it(e){const t=e.includes("right"),r=e.includes("left");let o="center";return t&&(o="flex-end"),r&&(o="flex-start"),{display:"flex",flexDirection:"column",alignItems:o}}function lt(e){const r=e==="top"||e==="bottom"?"0 auto":void 0,o=e.includes("top")?"env(safe-area-inset-top, 0px)":void 0,a=e.includes("bottom")?"env(safe-area-inset-bottom, 0px)":void 0,n=e.includes("left")?void 0:"env(safe-area-inset-right, 0px)",s=e.includes("right")?void 0:"env(safe-area-inset-left, 0px)";return{position:"fixed",zIndex:"var(--toast-z-index, 5500)",pointerEvents:"none",display:"flex",flexDirection:"column",margin:r,top:o,bottom:a,right:n,left:s}}function ct(e,t=[]){const r=p.useRef(e);return p.useEffect(()=>{r.current=e}),p.useCallback((...o)=>{var a;return(a=r.current)==null?void 0:a.call(r,...o)},t)}function ut(e,t){const r=ct(e);p.useEffect(()=>{if(t==null)return;let o=null;return o=window.setTimeout(()=>{r()},t),()=>{o&&window.clearTimeout(o)}},[t,r])}function ne(e,t){const r=p.useRef(!1),o=p.useRef(!1);p.useEffect(()=>{if(r.current&&o.current)return e();o.current=!0},t),p.useEffect(()=>(r.current=!0,()=>{r.current=!1}),[])}var dt={initial:e=>{const{position:t}=e,r=["top","bottom"].includes(t)?"y":"x";let o=["top-right","bottom-right"].includes(t)?1:-1;return t==="bottom"&&(o=1),{opacity:0,[r]:o*24}},animate:{opacity:1,y:0,x:0,scale:1,transition:{duration:.4,ease:[.4,0,.2,1]}},exit:{opacity:0,scale:.85,transition:{duration:.2,ease:[.4,0,1,1]}}},Pe=p.memo(e=>{const{id:t,message:r,onCloseComplete:o,onRequestRemove:a,requestClose:n=!1,position:s="bottom",duration:i=5e3,containerStyle:l,motionVariants:c=dt,toastSpacing:u="0.5rem"}=e,[f,y]=p.useState(i),g=We();ne(()=>{g||o==null||o()},[g]),ne(()=>{y(i)},[i]);const h=()=>y(null),$=()=>y(i),S=()=>{g&&a()};p.useEffect(()=>{g&&n&&a()},[g,n,a]),ut(S,f);const H=p.useMemo(()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:u,...l}),[l,u]),N=p.useMemo(()=>it(s),[s]);return d.jsx(Be.div,{layout:!0,className:"chakra-toast",variants:c,initial:"initial",animate:"animate",exit:"exit",onHoverStart:h,onHoverEnd:$,custom:{position:s},style:N,children:d.jsx(j.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:H,children:q(r,{id:t,onClose:S})})})});Pe.displayName="ToastComponent";function ft(e,t){var r;const o=e??"bottom",n={"top-start":{ltr:"top-left",rtl:"top-right"},"top-end":{ltr:"top-right",rtl:"top-left"},"bottom-start":{ltr:"bottom-left",rtl:"bottom-right"},"bottom-end":{ltr:"bottom-right",rtl:"bottom-left"}}[o];return(r=n==null?void 0:n[t])!=null?r:o}var oe={path:d.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[d.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),d.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),d.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},L=z((e,t)=>{const{as:r,viewBox:o,color:a="currentColor",focusable:n=!1,children:s,className:i,__css:l,...c}=e,u=R("chakra-icon",i),f=_e("Icon",e),y={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:a,...l,...f},g={ref:t,focusable:n,className:u,__css:y},h=o??oe.viewBox;if(r&&typeof r!="string")return d.jsx(j.svg,{as:r,...g,...c});const $=s??oe.path;return d.jsx(j.svg,{verticalAlign:"middle",viewBox:h,...g,...c,children:$})});L.displayName="Icon";function pt(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm6.927,8.2-6.845,9.289a1.011,1.011,0,0,1-1.43.188L5.764,13.769a1,1,0,1,1,1.25-1.562l4.076,3.261,6.227-8.451A1,1,0,1,1,18.927,8.2Z"})})}function mt(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm.25,5a1.5,1.5,0,1,1-1.5,1.5A1.5,1.5,0,0,1,12.25,5ZM14.5,18.5h-4a1,1,0,0,1,0-2h.75a.25.25,0,0,0,.25-.25v-4.5a.25.25,0,0,0-.25-.25H10.5a1,1,0,0,1,0-2h1a2,2,0,0,1,2,2v4.75a.25.25,0,0,0,.25.25h.75a1,1,0,1,1,0,2Z"})})}function ae(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})}var[gt,K]=M({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[bt,Y]=M({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),Ae={info:{icon:mt,colorScheme:"blue"},warning:{icon:ae,colorScheme:"orange"},success:{icon:pt,colorScheme:"green"},error:{icon:ae,colorScheme:"red"},loading:{icon:De,colorScheme:"blue"}};function yt(e){return Ae[e].colorScheme}function vt(e){return Ae[e].icon}var je=z(function(t,r){const o=Y(),{status:a}=K(),n={display:"inline",...o.description};return d.jsx(j.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__desc",t.className),__css:n})});je.displayName="AlertDescription";function Ee(e){const{status:t}=K(),r=vt(t),o=Y(),a=t==="loading"?o.spinner:o.icon;return d.jsx(j.span,{display:"inherit","data-status":t,...e,className:R("chakra-alert__icon",e.className),__css:a,children:e.children||d.jsx(r,{h:"100%",w:"100%"})})}Ee.displayName="AlertIcon";var Ne=z(function(t,r){const o=Y(),{status:a}=K();return d.jsx(j.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__title",t.className),__css:o.title})});Ne.displayName="AlertTitle";var $e=z(function(t,r){var o;const{status:a="info",addRole:n=!0,...s}=Ce(t),i=(o=t.colorScheme)!=null?o:yt(a),l=Ge("Alert",{...t,colorScheme:i}),c={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...l.container};return d.jsx(gt,{value:{status:a},children:d.jsx(bt,{value:l,children:d.jsx(j.div,{"data-status":a,role:n?"alert":void 0,ref:r,...s,className:R("chakra-alert",t.className),__css:c})})})});$e.displayName="Alert";function ht(e){return d.jsx(L,{focusable:"false","aria-hidden":!0,...e,children:d.jsx("path",{fill:"currentColor",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"})})}var Te=z(function(t,r){const o=_e("CloseButton",t),{children:a,isDisabled:n,__css:s,...i}=Ce(t),l={outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0};return d.jsx(j.button,{type:"button","aria-label":"Close",ref:r,disabled:n,__css:{...l,...o,...s},...i,children:a||d.jsx(ht,{width:"1em",height:"1em"})})});Te.displayName="CloseButton";var St={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},C=xt(St);function xt(e){let t=e;const r=new Set,o=a=>{t=a(t),r.forEach(n=>n())};return{getState:()=>t,subscribe:a=>(r.add(a),()=>{o(()=>e),r.delete(a)}),removeToast:(a,n)=>{o(s=>({...s,[n]:s[n].filter(i=>i.id!=a)}))},notify:(a,n)=>{const s=_t(a,n),{position:i,id:l}=s;return o(c=>{var u,f;const g=i.includes("top")?[s,...(u=c[i])!=null?u:[]]:[...(f=c[i])!=null?f:[],s];return{...c,[i]:g}}),l},update:(a,n)=>{a&&o(s=>{const i={...s},{position:l,index:c}=re(i,a);return l&&c!==-1&&(i[l][c]={...i[l][c],...n,message:Ie(n)}),i})},closeAll:({positions:a}={})=>{o(n=>(a??["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce((l,c)=>(l[c]=n[c].map(u=>({...u,requestClose:!0})),l),{...n}))},close:a=>{o(n=>{const s=we(n,a);return s?{...n,[s]:n[s].map(i=>i.id==a?{...i,requestClose:!0}:i)}:n})},isActive:a=>!!re(C.getState(),a).position}}var se=0;function _t(e,t={}){var r,o;se+=1;const a=(r=t.id)!=null?r:se,n=(o=t.position)!=null?o:"bottom";return{id:a,message:e,position:n,duration:t.duration,onCloseComplete:t.onCloseComplete,onRequestRemove:()=>C.removeToast(String(a),n),status:t.status,requestClose:!1,containerStyle:t.containerStyle}}var Ct=e=>{const{status:t,variant:r="solid",id:o,title:a,isClosable:n,onClose:s,description:i,colorScheme:l,icon:c}=e,u=o?{root:`toast-${o}`,title:`toast-${o}-title`,description:`toast-${o}-description`}:void 0;return d.jsxs($e,{addRole:!1,status:t,variant:r,id:u==null?void 0:u.root,alignItems:"start",borderRadius:"md",boxShadow:"lg",paddingEnd:8,textAlign:"start",width:"auto",colorScheme:l,children:[d.jsx(Ee,{children:c}),d.jsxs(j.div,{flex:"1",maxWidth:"100%",children:[a&&d.jsx(Ne,{id:u==null?void 0:u.title,children:a}),i&&d.jsx(je,{id:u==null?void 0:u.description,display:"block",children:i})]}),n&&d.jsx(Te,{size:"sm",onClick:s,position:"absolute",insetEnd:1,top:1})]})};function Ie(e={}){const{render:t,toastComponent:r=Ct}=e;return a=>typeof t=="function"?t({...a,...e}):d.jsx(r,{...a,...e})}function an(e,t){const r=a=>{var n;return{...t,...a,position:ft((n=a==null?void 0:a.position)!=null?n:t==null?void 0:t.position,e)}},o=a=>{const n=r(a),s=Ie(n);return C.notify(s,n)};return o.update=(a,n)=>{C.update(a,r(n))},o.promise=(a,n)=>{const s=o({...n.loading,status:"loading",duration:null});a.then(i=>o.update(s,{status:"success",duration:5e3,...q(n.success,i)})).catch(i=>o.update(s,{status:"error",duration:5e3,...q(n.error,i)}))},o.closeAll=C.closeAll,o.close=C.close,o.isActive=C.isActive,o}var[sn,ln]=M({name:"ToastOptionsContext",strict:!1}),cn=e=>{const t=p.useSyncExternalStore(C.subscribe,C.getState,C.getState),{motionVariants:r,component:o=Pe,portalProps:a}=e,s=Object.keys(t).map(i=>{const l=t[i];return d.jsx("div",{role:"region","aria-live":"polite","aria-label":"Notifications",id:`chakra-toast-manager-${i}`,style:lt(i),children:d.jsx(Ue,{initial:!1,children:l.map(c=>d.jsx(o,{motionVariants:r,...c},c.id))})},i)});return d.jsx(G,{...a,children:s})};function kt(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),r=0;r()=>{if(e.isInitialized)t();else{const r=()=>{setTimeout(()=>{e.off("initialized",r)},0),t()};e.on("initialized",r)}};function le(e,t,r){e.loadNamespaces(t,Oe(e,r))}function ce(e,t,r,o){typeof r=="string"&&(r=[r]),r.forEach(a=>{e.options.ns.indexOf(a)<0&&e.options.ns.push(a)}),e.loadLanguages(t,Oe(e,o))}function wt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const o=t.languages[0],a=t.options?t.options.fallbackLng:!1,n=t.languages[t.languages.length-1];if(o.toLowerCase()==="cimode")return!0;const s=(i,l)=>{const c=t.services.backendConnector.state[`${i}|${l}`];return c===-1||c===2};return r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!s(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(o,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||s(o,e)&&(!a||s(n,e)))}function Pt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!t.languages||!t.languages.length?(X("i18n.languages were undefined or empty",t.languages),!0):t.options.ignoreJSONStructure!==void 0?t.hasLoadedNamespace(e,{lng:r.lng,precheck:(a,n)=>{if(r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&a.services.backendConnector.backend&&a.isLanguageChangingTo&&!n(a.isLanguageChangingTo,e))return!1}}):wt(e,t,r)}const At=p.createContext();class jt{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(r=>{this.usedNamespaces[r]||(this.usedNamespaces[r]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Et=(e,t)=>{const r=p.useRef();return p.useEffect(()=>{r.current=t?r.current:e},[e,t]),r.current};function un(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:r}=t,{i18n:o,defaultNS:a}=p.useContext(At)||{},n=r||o||Ze();if(n&&!n.reportNamespaces&&(n.reportNamespaces=new jt),!n){X("You will need to pass in an i18next instance by using initReactI18next");const v=(w,x)=>typeof x=="string"?x:x&&typeof x=="object"&&typeof x.defaultValue=="string"?x.defaultValue:Array.isArray(w)?w[w.length-1]:w,k=[v,{},!1];return k.t=v,k.i18n={},k.ready=!1,k}n.options.react&&n.options.react.wait!==void 0&&X("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...Ve(),...n.options.react,...t},{useSuspense:i,keyPrefix:l}=s;let c=e||a||n.options&&n.options.defaultNS;c=typeof c=="string"?[c]:c||["translation"],n.reportNamespaces.addUsedNamespaces&&n.reportNamespaces.addUsedNamespaces(c);const u=(n.isInitialized||n.initializedStoreOnce)&&c.every(v=>Pt(v,n,s));function f(){return n.getFixedT(t.lng||null,s.nsMode==="fallback"?c:c[0],l)}const[y,g]=p.useState(f);let h=c.join();t.lng&&(h=`${t.lng}${h}`);const $=Et(h),S=p.useRef(!0);p.useEffect(()=>{const{bindI18n:v,bindI18nStore:k}=s;S.current=!0,!u&&!i&&(t.lng?ce(n,t.lng,c,()=>{S.current&&g(f)}):le(n,c,()=>{S.current&&g(f)})),u&&$&&$!==h&&S.current&&g(f);function w(){S.current&&g(f)}return v&&n&&n.on(v,w),k&&n&&n.store.on(k,w),()=>{S.current=!1,v&&n&&v.split(" ").forEach(x=>n.off(x,w)),k&&n&&k.split(" ").forEach(x=>n.store.off(x,w))}},[n,h]);const H=p.useRef(!0);p.useEffect(()=>{S.current&&!H.current&&g(f),H.current=!1},[n,l]);const N=[y,n,u];if(N.t=y,N.i18n=n,N.ready=u,u||!u&&!i)return N;throw new Promise(v=>{t.lng?ce(n,t.lng,c,()=>v()):le(n,c,()=>v())})}const Nt={dark:["#C1C2C5","#A6A7AB","#909296","#5c5f66","#373A40","#2C2E33","#25262b","#1A1B1E","#141517","#101113"],gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]};function $t(e){return()=>({fontFamily:e.fontFamily||"sans-serif"})}var Tt=Object.defineProperty,ue=Object.getOwnPropertySymbols,It=Object.prototype.hasOwnProperty,Ot=Object.prototype.propertyIsEnumerable,de=(e,t,r)=>t in e?Tt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fe=(e,t)=>{for(var r in t||(t={}))It.call(t,r)&&de(e,r,t[r]);if(ue)for(var r of ue(t))Ot.call(t,r)&&de(e,r,t[r]);return e};function zt(e){return t=>({WebkitTapHighlightColor:"transparent",[t||"&:focus"]:fe({},e.focusRing==="always"||e.focusRing==="auto"?e.focusRingStyles.styles(e):e.focusRingStyles.resetStyles(e)),[t?t.replace(":focus",":focus:not(:focus-visible)"):"&:focus:not(:focus-visible)"]:fe({},e.focusRing==="auto"||e.focusRing==="never"?e.focusRingStyles.resetStyles(e):null)})}function F(e){return t=>typeof e.primaryShade=="number"?e.primaryShade:e.primaryShade[t||e.colorScheme]}function Q(e){const t=F(e);return(r,o,a=!0,n=!0)=>{if(typeof r=="string"&&r.includes(".")){const[i,l]=r.split("."),c=parseInt(l,10);if(i in e.colors&&c>=0&&c<10)return e.colors[i][typeof o=="number"&&!n?o:c]}const s=typeof o=="number"?o:t();return r in e.colors?e.colors[r][s]:a?e.colors[e.primaryColor][s]:r}}function ze(e){let t="";for(let r=1;r{const a={from:(o==null?void 0:o.from)||e.defaultGradient.from,to:(o==null?void 0:o.to)||e.defaultGradient.to,deg:(o==null?void 0:o.deg)||e.defaultGradient.deg};return`linear-gradient(${a.deg}deg, ${t(a.from,r(),!1)} 0%, ${t(a.to,r(),!1)} 100%)`}}function Me(e){return t=>{if(typeof t=="number")return`${t/16}${e}`;if(typeof t=="string"){const r=t.replace("px","");if(!Number.isNaN(Number(r)))return`${Number(r)/16}${e}`}return t}}const E=Me("rem"),U=Me("em");function Le({size:e,sizes:t,units:r}){return e in t?t[e]:typeof e=="number"?r==="em"?U(e):E(e):e||t.md}function W(e){return typeof e=="number"?e:typeof e=="string"&&e.includes("rem")?Number(e.replace("rem",""))*16:typeof e=="string"&&e.includes("em")?Number(e.replace("em",""))*16:Number(e)}function Lt(e){return t=>`@media (min-width: ${U(W(Le({size:t,sizes:e.breakpoints})))})`}function Ft(e){return t=>`@media (max-width: ${U(W(Le({size:t,sizes:e.breakpoints}))-1)})`}function Ht(e){return/^#?([0-9A-F]{3}){1,2}$/i.test(e)}function Wt(e){let t=e.replace("#","");if(t.length===3){const s=t.split("");t=[s[0],s[0],s[1],s[1],s[2],s[2]].join("")}const r=parseInt(t,16),o=r>>16&255,a=r>>8&255,n=r&255;return{r:o,g:a,b:n,a:1}}function Bt(e){const[t,r,o,a]=e.replace(/[^0-9,.]/g,"").split(",").map(Number);return{r:t,g:r,b:o,a:a||1}}function ee(e){return Ht(e)?Wt(e):e.startsWith("rgb")?Bt(e):{r:0,g:0,b:0,a:1}}function T(e,t){if(typeof e!="string"||t>1||t<0)return"rgba(0, 0, 0, 1)";if(e.startsWith("var(--"))return e;const{r,g:o,b:a}=ee(e);return`rgba(${r}, ${o}, ${a}, ${t})`}function Dt(e=0){return{position:"absolute",top:E(e),right:E(e),left:E(e),bottom:E(e)}}function Gt(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=1-t,i=l=>Math.round(l*s);return`rgba(${i(r)}, ${i(o)}, ${i(a)}, ${n})`}function Ut(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=i=>Math.round(i+(255-i)*t);return`rgba(${s(r)}, ${s(o)}, ${s(a)}, ${n})`}function Vt(e){return t=>{if(typeof t=="number")return E(t);const r=typeof e.defaultRadius=="number"?e.defaultRadius:e.radius[e.defaultRadius]||e.defaultRadius;return e.radius[t]||t||r}}function Zt(e,t){if(typeof e=="string"&&e.includes(".")){const[r,o]=e.split("."),a=parseInt(o,10);if(r in t.colors&&a>=0&&a<10)return{isSplittedColor:!0,key:r,shade:a}}return{isSplittedColor:!1}}function qt(e){const t=Q(e),r=F(e),o=Re(e);return({variant:a,color:n,gradient:s,primaryFallback:i})=>{const l=Zt(n,e);switch(a){case"light":return{border:"transparent",background:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1),color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?7:1,i,!1),e.colorScheme==="dark"?.25:.65)};case"subtle":return{border:"transparent",background:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1)};case"outline":return{border:t(n,e.colorScheme==="dark"?5:r("light")),background:"transparent",color:t(n,e.colorScheme==="dark"?5:r("light")),hover:e.colorScheme==="dark"?T(t(n,5,i,!1),.05):T(t(n,0,i,!1),.35)};case"default":return{border:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4],background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,color:e.colorScheme==="dark"?e.white:e.black,hover:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[0]};case"white":return{border:"transparent",background:e.white,color:t(n,r()),hover:null};case"transparent":return{border:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),background:"transparent",hover:null};case"gradient":return{background:o(s),color:e.white,border:"transparent",hover:null};default:{const c=r(),u=l.isSplittedColor?l.shade:c,f=l.isSplittedColor?l.key:n;return{border:"transparent",background:t(f,u,i),color:e.white,hover:t(f,u===9?8:u+1)}}}}}function Xt(e){return t=>{const r=F(e)(t);return e.colors[e.primaryColor][r]}}function Jt(e){return{"@media (hover: hover)":{"&:hover":e},"@media (hover: none)":{"&:active":e}}}function Kt(e){return()=>({userSelect:"none",color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]})}function Yt(e){return()=>e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6]}const b={fontStyles:$t,themeColor:Q,focusStyles:zt,linearGradient:Rt,radialGradient:Mt,smallerThan:Ft,largerThan:Lt,rgba:T,cover:Dt,darken:Gt,lighten:Ut,radius:Vt,variant:qt,primaryShade:F,hover:Jt,gradient:Re,primaryColor:Xt,placeholderStyles:Kt,dimmed:Yt};var Qt=Object.defineProperty,er=Object.defineProperties,tr=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,rr=Object.prototype.hasOwnProperty,nr=Object.prototype.propertyIsEnumerable,me=(e,t,r)=>t in e?Qt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,or=(e,t)=>{for(var r in t||(t={}))rr.call(t,r)&&me(e,r,t[r]);if(pe)for(var r of pe(t))nr.call(t,r)&&me(e,r,t[r]);return e},ar=(e,t)=>er(e,tr(t));function Fe(e){return ar(or({},e),{fn:{fontStyles:b.fontStyles(e),themeColor:b.themeColor(e),focusStyles:b.focusStyles(e),largerThan:b.largerThan(e),smallerThan:b.smallerThan(e),radialGradient:b.radialGradient,linearGradient:b.linearGradient,gradient:b.gradient(e),rgba:b.rgba,cover:b.cover,lighten:b.lighten,darken:b.darken,primaryShade:b.primaryShade(e),radius:b.radius(e),variant:b.variant(e),hover:b.hover,primaryColor:b.primaryColor(e),placeholderStyles:b.placeholderStyles(e),dimmed:b.dimmed(e)}})}const sr={dir:"ltr",primaryShade:{light:6,dark:8},focusRing:"auto",loader:"oval",colorScheme:"light",white:"#fff",black:"#000",defaultRadius:"sm",transitionTimingFunction:"ease",colors:Nt,lineHeight:1.55,fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontFamilyMonospace:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace",primaryColor:"blue",respectReducedMotion:!0,cursorType:"default",defaultGradient:{from:"indigo",to:"cyan",deg:45},shadows:{xs:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.1)",sm:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 0.625rem 0.9375rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.4375rem 0.4375rem -0.3125rem",md:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.25rem 1.5625rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.625rem 0.625rem -0.3125rem",lg:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.75rem 1.4375rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 0.75rem 0.75rem -0.4375rem",xl:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 2.25rem 1.75rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 1.0625rem 1.0625rem -0.4375rem"},fontSizes:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},radius:{xs:"0.125rem",sm:"0.25rem",md:"0.5rem",lg:"1rem",xl:"2rem"},spacing:{xs:"0.625rem",sm:"0.75rem",md:"1rem",lg:"1.25rem",xl:"1.5rem"},breakpoints:{xs:"36em",sm:"48em",md:"62em",lg:"75em",xl:"88em"},headings:{fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontWeight:700,sizes:{h1:{fontSize:"2.125rem",lineHeight:1.3,fontWeight:void 0},h2:{fontSize:"1.625rem",lineHeight:1.35,fontWeight:void 0},h3:{fontSize:"1.375rem",lineHeight:1.4,fontWeight:void 0},h4:{fontSize:"1.125rem",lineHeight:1.45,fontWeight:void 0},h5:{fontSize:"1rem",lineHeight:1.5,fontWeight:void 0},h6:{fontSize:"0.875rem",lineHeight:1.5,fontWeight:void 0}}},other:{},components:{},activeStyles:{transform:"translateY(0.0625rem)"},datesLocale:"en",globalStyles:void 0,focusRingStyles:{styles:e=>({outlineOffset:"0.125rem",outline:`0.125rem solid ${e.colors[e.primaryColor][e.colorScheme==="dark"?7:5]}`}),resetStyles:()=>({outline:"none"}),inputStyles:e=>({outline:"none",borderColor:e.colors[e.primaryColor][typeof e.primaryShade=="object"?e.primaryShade[e.colorScheme]:e.primaryShade]})}},te=Fe(sr);var ir=Object.defineProperty,lr=Object.defineProperties,cr=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,ur=Object.prototype.hasOwnProperty,dr=Object.prototype.propertyIsEnumerable,be=(e,t,r)=>t in e?ir(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fr=(e,t)=>{for(var r in t||(t={}))ur.call(t,r)&&be(e,r,t[r]);if(ge)for(var r of ge(t))dr.call(t,r)&&be(e,r,t[r]);return e},pr=(e,t)=>lr(e,cr(t));function mr({theme:e}){return A.createElement(D,{styles:{"*, *::before, *::after":{boxSizing:"border-box"},html:{colorScheme:e.colorScheme==="dark"?"dark":"light"},body:pr(fr({},e.fn.fontStyles()),{backgroundColor:e.colorScheme==="dark"?e.colors.dark[7]:e.white,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,lineHeight:e.lineHeight,fontSize:e.fontSizes.md,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"})}})}function I(e,t,r,o=E){Object.keys(t).forEach(a=>{e[`--mantine-${r}-${a}`]=o(t[a])})}function gr({theme:e}){const t={"--mantine-color-white":e.white,"--mantine-color-black":e.black,"--mantine-transition-timing-function":e.transitionTimingFunction,"--mantine-line-height":`${e.lineHeight}`,"--mantine-font-family":e.fontFamily,"--mantine-font-family-monospace":e.fontFamilyMonospace,"--mantine-font-family-headings":e.headings.fontFamily,"--mantine-heading-font-weight":`${e.headings.fontWeight}`};I(t,e.shadows,"shadow"),I(t,e.fontSizes,"font-size"),I(t,e.radius,"radius"),I(t,e.spacing,"spacing"),I(t,e.breakpoints,"breakpoints",U),Object.keys(e.colors).forEach(o=>{e.colors[o].forEach((a,n)=>{t[`--mantine-color-${o}-${n}`]=a})});const r=e.headings.sizes;return Object.keys(r).forEach(o=>{t[`--mantine-${o}-font-size`]=r[o].fontSize,t[`--mantine-${o}-line-height`]=`${r[o].lineHeight}`}),A.createElement(D,{styles:{":root":t}})}var br=Object.defineProperty,yr=Object.defineProperties,vr=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,hr=Object.prototype.hasOwnProperty,Sr=Object.prototype.propertyIsEnumerable,ve=(e,t,r)=>t in e?br(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_=(e,t)=>{for(var r in t||(t={}))hr.call(t,r)&&ve(e,r,t[r]);if(ye)for(var r of ye(t))Sr.call(t,r)&&ve(e,r,t[r]);return e},V=(e,t)=>yr(e,vr(t));function xr(e,t){var r;if(!t)return e;const o=Object.keys(e).reduce((a,n)=>{if(n==="headings"&&t.headings){const s=t.headings.sizes?Object.keys(e.headings.sizes).reduce((i,l)=>(i[l]=_(_({},e.headings.sizes[l]),t.headings.sizes[l]),i),{}):e.headings.sizes;return V(_({},a),{headings:V(_(_({},e.headings),t.headings),{sizes:s})})}if(n==="breakpoints"&&t.breakpoints){const s=_(_({},e.breakpoints),t.breakpoints);return V(_({},a),{breakpoints:Object.fromEntries(Object.entries(s).sort((i,l)=>W(i[1])-W(l[1])))})}return a[n]=typeof t[n]=="object"?_(_({},e[n]),t[n]):typeof t[n]=="number"||typeof t[n]=="boolean"||typeof t[n]=="function"?t[n]:t[n]||e[n],a},{});if(t!=null&&t.fontFamily&&!((r=t==null?void 0:t.headings)!=null&&r.fontFamily)&&(o.headings.fontFamily=t.fontFamily),!(o.primaryColor in o.colors))throw new Error("MantineProvider: Invalid theme.primaryColor, it accepts only key of theme.colors, learn more – https://mantine.dev/theming/colors/#primary-color");return o}function _r(e,t){return Fe(xr(e,t))}function Cr(e){return Object.keys(e).reduce((t,r)=>(e[r]!==void 0&&(t[r]=e[r]),t),{})}const kr={html:{fontFamily:"sans-serif",lineHeight:"1.15",textSizeAdjust:"100%"},body:{margin:0},"article, aside, footer, header, nav, section, figcaption, figure, main":{display:"block"},h1:{fontSize:"2em"},hr:{boxSizing:"content-box",height:0,overflow:"visible"},pre:{fontFamily:"monospace, monospace",fontSize:"1em"},a:{background:"transparent",textDecorationSkip:"objects"},"a:active, a:hover":{outlineWidth:0},"abbr[title]":{borderBottom:"none",textDecoration:"underline"},"b, strong":{fontWeight:"bolder"},"code, kbp, samp":{fontFamily:"monospace, monospace",fontSize:"1em"},dfn:{fontStyle:"italic"},mark:{backgroundColor:"#ff0",color:"#000"},small:{fontSize:"80%"},"sub, sup":{fontSize:"75%",lineHeight:0,position:"relative",verticalAlign:"baseline"},sup:{top:"-0.5em"},sub:{bottom:"-0.25em"},"audio, video":{display:"inline-block"},"audio:not([controls])":{display:"none",height:0},img:{borderStyle:"none",verticalAlign:"middle"},"svg:not(:root)":{overflow:"hidden"},"button, input, optgroup, select, textarea":{fontFamily:"sans-serif",fontSize:"100%",lineHeight:"1.15",margin:0},"button, input":{overflow:"visible"},"button, select":{textTransform:"none"},"button, [type=reset], [type=submit]":{WebkitAppearance:"button"},"button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner":{borderStyle:"none",padding:0},"button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring":{outline:`${E(1)} dotted ButtonText`},legend:{boxSizing:"border-box",color:"inherit",display:"table",maxWidth:"100%",padding:0,whiteSpace:"normal"},progress:{display:"inline-block",verticalAlign:"baseline"},textarea:{overflow:"auto"},"[type=checkbox], [type=radio]":{boxSizing:"border-box",padding:0},"[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button":{height:"auto"},"[type=search]":{appearance:"none"},"[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration":{appearance:"none"},"::-webkit-file-upload-button":{appearance:"button",font:"inherit"},"details, menu":{display:"block"},summary:{display:"list-item"},canvas:{display:"inline-block"},template:{display:"none"}};function wr(){return A.createElement(D,{styles:kr})}var Pr=Object.defineProperty,he=Object.getOwnPropertySymbols,Ar=Object.prototype.hasOwnProperty,jr=Object.prototype.propertyIsEnumerable,Se=(e,t,r)=>t in e?Pr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,O=(e,t)=>{for(var r in t||(t={}))Ar.call(t,r)&&Se(e,r,t[r]);if(he)for(var r of he(t))jr.call(t,r)&&Se(e,r,t[r]);return e};const B=p.createContext({theme:te});function He(){var e;return((e=p.useContext(B))==null?void 0:e.theme)||te}function dn(e){const t=He(),r=o=>{var a,n,s,i;return{styles:((a=t.components[o])==null?void 0:a.styles)||{},classNames:((n=t.components[o])==null?void 0:n.classNames)||{},variants:(s=t.components[o])==null?void 0:s.variants,sizes:(i=t.components[o])==null?void 0:i.sizes}};return Array.isArray(e)?e.map(r):[r(e)]}function fn(){var e;return(e=p.useContext(B))==null?void 0:e.emotionCache}function pn(e,t,r){var o;const a=He(),n=(o=a.components[e])==null?void 0:o.defaultProps,s=typeof n=="function"?n(a):n;return O(O(O({},t),s),Cr(r))}function Er({theme:e,emotionCache:t,withNormalizeCSS:r=!1,withGlobalStyles:o=!1,withCSSVariables:a=!1,inherit:n=!1,children:s}){const i=p.useContext(B),l=_r(te,n?O(O({},i.theme),e):e);return A.createElement(qe,{theme:l},A.createElement(B.Provider,{value:{theme:l,emotionCache:t}},r&&A.createElement(wr,null),o&&A.createElement(mr,{theme:l}),a&&A.createElement(gr,{theme:l}),typeof l.globalStyles=="function"&&A.createElement(D,{styles:l.globalStyles(l)}),s))}Er.displayName="@mantine/core/MantineProvider";const{definePartsStyle:Nr,defineMultiStyleConfig:$r}=Xe(at.keys),Tr=Nr(e=>({button:{fontWeight:500,bg:P("base.300","base.500")(e),color:P("base.900","base.100")(e),_hover:{bg:P("base.400","base.600")(e),color:P("base.900","base.50")(e),fontWeight:600}},list:{zIndex:9999,color:P("base.900","base.150")(e),bg:P("base.200","base.800")(e),shadow:"dark-lg",border:"none"},item:{fontSize:"sm",bg:P("base.200","base.800")(e),_hover:{bg:P("base.300","base.700")(e),svg:{opacity:1}},_focus:{bg:P("base.400","base.600")(e)},svg:{opacity:.7,fontSize:14}}})),mn=$r({variants:{invokeAI:Tr},defaultProps:{variant:"invokeAI"}}),gn={variants:{enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.07,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.07,easings:"easeOut"}}}};export{on as A,Yr as B,Te as C,Gr as D,at as E,Ur as F,Vr as G,Zr as H,L as I,Fr as J,Hr as K,Wr as L,Br as M,Mr as N,nn as O,G as P,Or as Q,zr as R,Rr as S,Qe as T,sn as U,cn as V,mn as W,Er as X,M as a,ct as b,an as c,ne as d,un as e,fn as f,He as g,dn as h,Cr as i,W as j,Le as k,pn as l,gn as m,P as n,tn as o,rn as p,Dr as q,E as r,Qr as s,en as t,ln as u,qr as v,Lr as w,Xr as x,Jr as y,Kr as z}; diff --git a/invokeai/frontend/web/dist/index.html b/invokeai/frontend/web/dist/index.html index 71e57e68c0..9bb5bb86fb 100644 --- a/invokeai/frontend/web/dist/index.html +++ b/invokeai/frontend/web/dist/index.html @@ -12,7 +12,7 @@ margin: 0; } - + From 06296896a9db616fb44e747f7834cae0504926bf Mon Sep 17 00:00:00 2001 From: Millun Atluri Date: Fri, 11 Aug 2023 11:55:39 +1000 Subject: [PATCH 152/287] Update invokeai version --- invokeai/version/invokeai_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/version/invokeai_version.py b/invokeai/version/invokeai_version.py index 1f71ca0010..131942e76a 100644 --- a/invokeai/version/invokeai_version.py +++ b/invokeai/version/invokeai_version.py @@ -1 +1 @@ -__version__ = "3.0.2rc1" +__version__ = "3.0.2" From 50415450d8f7a316fddc513be139548130783b9a Mon Sep 17 00:00:00 2001 From: Mary Hipp Date: Mon, 7 Aug 2023 10:23:02 -0400 Subject: [PATCH 153/287] invalidate board total when images deleted, only run date range logic if board has less than 20 images --- invokeai/frontend/web/src/services/api/endpoints/images.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/invokeai/frontend/web/src/services/api/endpoints/images.ts b/invokeai/frontend/web/src/services/api/endpoints/images.ts index 0c52258f9d..34c5bdb305 100644 --- a/invokeai/frontend/web/src/services/api/endpoints/images.ts +++ b/invokeai/frontend/web/src/services/api/endpoints/images.ts @@ -989,6 +989,7 @@ export const imagesApi = api.injectEndpoints({ : true; if (isCacheFullyPopulated || isInDateRange) { + console.log('upserting'); // *upsert* to $cache dispatch( imagesApi.util.updateQueryData( From 3b6e425e179e2c99bb041311544a79fa64b7830a Mon Sep 17 00:00:00 2001 From: Mary Hipp Date: Thu, 10 Aug 2023 13:38:52 -0400 Subject: [PATCH 154/287] fix error detail in toast --- .../web/src/features/system/store/systemSlice.ts | 11 +++++++++-- .../frontend/web/src/services/api/thunks/session.ts | 13 ++++++++++++- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/invokeai/frontend/web/src/features/system/store/systemSlice.ts b/invokeai/frontend/web/src/features/system/store/systemSlice.ts index fba980131e..079819fce7 100644 --- a/invokeai/frontend/web/src/features/system/store/systemSlice.ts +++ b/invokeai/frontend/web/src/features/system/store/systemSlice.ts @@ -365,12 +365,19 @@ export const systemSlice = createSlice({ state.statusTranslationKey = 'common.statusConnected'; state.progressImage = null; + let errorDescription = undefined; + + if (action.payload?.status === 422) { + errorDescription = 'Validation Error'; + } else if (action.payload?.error) { + errorDescription = action.payload?.error as string; + } + state.toastQueue.push( makeToast({ title: t('toast.serverError'), status: 'error', - description: - action.payload?.status === 422 ? 'Validation Error' : undefined, + description: errorDescription, }) ); }); diff --git a/invokeai/frontend/web/src/services/api/thunks/session.ts b/invokeai/frontend/web/src/services/api/thunks/session.ts index 5588f25b46..29b032d1c3 100644 --- a/invokeai/frontend/web/src/services/api/thunks/session.ts +++ b/invokeai/frontend/web/src/services/api/thunks/session.ts @@ -60,6 +60,9 @@ type InvokedSessionThunkConfig = { const isErrorWithStatus = (error: unknown): error is { status: number } => isObject(error) && 'status' in error; +const isErrorWithDetail = (error: unknown): error is { detail: string } => + isObject(error) && 'detail' in error; + /** * `SessionsService.invokeSession()` thunk */ @@ -85,7 +88,15 @@ export const sessionInvoked = createAsyncThunk< error: (error as any).body.detail, }); } - return rejectWithValue({ arg, status: response.status, error }); + if (isErrorWithDetail(error) && response.status === 403) { + return rejectWithValue({ + arg, + status: response.status, + error: error.detail + }); + } + if (error) + return rejectWithValue({ arg, status: response.status, error }); } }); From 80fd4c21761c7b7db3180ecab2f8e0d583c11f4a Mon Sep 17 00:00:00 2001 From: Mary Hipp Date: Thu, 10 Aug 2023 13:42:30 -0400 Subject: [PATCH 155/287] undo lint changes --- invokeai/frontend/web/src/services/api/endpoints/images.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/invokeai/frontend/web/src/services/api/endpoints/images.ts b/invokeai/frontend/web/src/services/api/endpoints/images.ts index 34c5bdb305..0c52258f9d 100644 --- a/invokeai/frontend/web/src/services/api/endpoints/images.ts +++ b/invokeai/frontend/web/src/services/api/endpoints/images.ts @@ -989,7 +989,6 @@ export const imagesApi = api.injectEndpoints({ : true; if (isCacheFullyPopulated || isInDateRange) { - console.log('upserting'); // *upsert* to $cache dispatch( imagesApi.util.updateQueryData( From 7c0023ad9e6b04cf9c47dbd2113349d699b14821 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Fri, 11 Aug 2023 22:20:37 +1200 Subject: [PATCH 156/287] feat: Remove TextToLatents / Rename Latents To Latents -> DenoiseLatents --- invokeai/app/invocations/latent.py | 178 ++++++----------------------- 1 file changed, 32 insertions(+), 146 deletions(-) diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index c24e9aeba1..743e3f54b2 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -5,6 +5,7 @@ from typing import List, Literal, Optional, Union import einops import torch +import torchvision.transforms as T from diffusers.image_processor import VaeImageProcessor from diffusers.models.attention_processor import ( AttnProcessor2_0, @@ -14,18 +15,14 @@ from diffusers.models.attention_processor import ( ) from diffusers.schedulers import SchedulerMixin as Scheduler from pydantic import BaseModel, Field, validator +from torchvision.transforms.functional import resize as tv_resize from invokeai.app.invocations.metadata import CoreMetadata from invokeai.app.util.controlnet_utils import prepare_control_image from invokeai.app.util.step_callback import stable_diffusion_step_callback from invokeai.backend.model_management.models import ModelType, SilenceWarnings -from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext -from .compel import ConditioningField -from .controlnet_image_processors import ControlField -from .image import ImageOutput -from .model import ModelInfo, UNetField, VaeField -from ..models.image import ImageCategory, ImageField, ResourceOrigin -from ...backend.model_management import ModelPatcher, BaseModelType + +from ...backend.model_management import BaseModelType, ModelPatcher from ...backend.stable_diffusion import PipelineIntermediateState from ...backend.stable_diffusion.diffusers_pipeline import ( ConditioningData, @@ -35,11 +32,13 @@ from ...backend.stable_diffusion.diffusers_pipeline import ( ) from ...backend.stable_diffusion.diffusion.shared_invokeai_diffusion import PostprocessingSettings from ...backend.stable_diffusion.schedulers import SCHEDULER_MAP -from ...backend.util.devices import choose_torch_device, torch_dtype, choose_precision - -import torchvision.transforms as T -from torchvision.transforms.functional import resize as tv_resize - +from ...backend.util.devices import choose_precision, choose_torch_device, torch_dtype +from ..models.image import ImageCategory, ImageField, ResourceOrigin +from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationConfig, InvocationContext +from .compel import ConditioningField +from .controlnet_image_processors import ControlField +from .image import ImageOutput +from .model import ModelInfo, UNetField, VaeField DEFAULT_PRECISION = choose_precision(choose_torch_device()) @@ -106,26 +105,31 @@ def get_scheduler( return scheduler -# Text to image -class TextToLatentsInvocation(BaseInvocation): - """Generates latents from conditionings.""" +class DenoiseLatentsInvocation(BaseInvocation): + """Denoises noisy latents to decodable images""" - type: Literal["t2l"] = "t2l" + type: Literal["denoise_latents"] = "denoise_latents" # Inputs - # fmt: off positive_conditioning: Optional[ConditioningField] = Field(description="Positive conditioning for generation") negative_conditioning: Optional[ConditioningField] = Field(description="Negative conditioning for generation") noise: Optional[LatentsField] = Field(description="The noise to use") - steps: int = Field(default=10, gt=0, description="The number of steps to use to generate the image") - cfg_scale: Union[float, List[float]] = Field(default=7.5, ge=1, description="The Classifier-Free Guidance, higher values may result in a result closer to the prompt", ) - scheduler: SAMPLER_NAME_VALUES = Field(default="euler", description="The scheduler to use" ) + steps: int = Field(default=10, gt=0, description="The number of steps to use to generate the image") + cfg_scale: Union[float, List[float]] = Field( + default=7.5, + ge=1, + description="The Classifier-Free Guidance, higher values may result in a result closer to the prompt", + ) + denoising_start: float = Field(default=0.0, ge=0, le=1, description="") + denoising_end: float = Field(default=1.0, ge=0, le=1, description="") + scheduler: SAMPLER_NAME_VALUES = Field(default="euler", description="The scheduler to use") unet: UNetField = Field(default=None, description="UNet submodel") control: Union[ControlField, list[ControlField]] = Field(default=None, description="The control to use") - denoising_end: float = Field(default=1.0, ge=0, le=1, description="") - # seamless: bool = Field(default=False, description="Whether or not to generate an image that can tile without seams", ) - # seamless_axes: str = Field(default="", description="The axes to tile the image on, 'x' and/or 'y'") - # fmt: on + latents: Optional[LatentsField] = Field(description="The latents to use as a base image") + mask: Optional[ImageField] = Field( + None, + description="Mask", + ) @validator("cfg_scale") def ge_one(cls, v): @@ -143,12 +147,11 @@ class TextToLatentsInvocation(BaseInvocation): class Config(InvocationConfig): schema_extra = { "ui": { - "title": "Text To Latents", - "tags": ["latents"], + "title": "Denoise Latents", + "tags": ["denoise", "latents"], "type_hints": { "model": "model", "control": "control", - # "cfg_scale": "float", "cfg_scale": "number", }, }, @@ -320,7 +323,7 @@ class TextToLatentsInvocation(BaseInvocation): t_start = int(round(denoising_start * num_inference_steps)) timesteps = scheduler.timesteps[t_start * scheduler.order :] - num_inference_steps = num_inference_steps - t_start + num_inference_steps = num_inference_steps - t_start # apply denoising_end num_warmup_steps = max(len(timesteps) - num_inference_steps * scheduler.order, 0) @@ -331,121 +334,6 @@ class TextToLatentsInvocation(BaseInvocation): return num_inference_steps, timesteps - - @torch.no_grad() - def invoke(self, context: InvocationContext) -> LatentsOutput: - with SilenceWarnings(): - noise = context.services.latents.get(self.noise.latents_name) - seed = self.noise.seed - if seed is None: - seed = 0 - - # Get the source node id (we are invoking the prepared node) - graph_execution_state = context.services.graph_execution_manager.get(context.graph_execution_state_id) - source_node_id = graph_execution_state.prepared_source_mapping[self.id] - - def step_callback(state: PipelineIntermediateState): - self.dispatch_progress(context, source_node_id, state, self.unet.unet.base_model) - - def _lora_loader(): - for lora in self.unet.loras: - lora_info = context.services.model_manager.get_model( - **lora.dict(exclude={"weight"}), - context=context, - ) - yield (lora_info.context.model, lora.weight) - del lora_info - return - - unet_info = context.services.model_manager.get_model( - **self.unet.unet.dict(), - context=context, - ) - with ExitStack() as exit_stack, ModelPatcher.apply_lora_unet( - unet_info.context.model, _lora_loader() - ), unet_info as unet: - noise = noise.to(device=unet.device, dtype=unet.dtype) - - scheduler = get_scheduler( - context=context, - scheduler_info=self.unet.scheduler, - scheduler_name=self.scheduler, - ) - - pipeline = self.create_pipeline(unet, scheduler) - conditioning_data = self.get_conditioning_data(context, scheduler, unet, seed) - - control_data = self.prep_control_data( - model=pipeline, - context=context, - control_input=self.control, - latents_shape=noise.shape, - # do_classifier_free_guidance=(self.cfg_scale >= 1.0)) - do_classifier_free_guidance=True, - exit_stack=exit_stack, - ) - - num_inference_steps, timesteps = self.init_scheduler( - scheduler, - device=unet.device, - steps=self.steps, - denoising_start=0.0, - denoising_end=self.denoising_end, - ) - - # TODO: Verify the noise is the right size - result_latents, result_attention_map_saver = pipeline.latents_from_embeddings( - latents=torch.zeros_like(noise, dtype=torch_dtype(unet.device)), - noise=noise, - seed=seed, - timesteps=timesteps, - num_inference_steps=num_inference_steps, - conditioning_data=conditioning_data, - control_data=control_data, # list[ControlNetData] - callback=step_callback, - ) - - # https://discuss.huggingface.co/t/memory-usage-by-later-pipeline-stages/23699 - result_latents = result_latents.to("cpu") - torch.cuda.empty_cache() - - name = f"{context.graph_execution_state_id}__{self.id}" - context.services.latents.save(name, result_latents) - return build_latents_output(latents_name=name, latents=result_latents, seed=seed) - - -class LatentsToLatentsInvocation(TextToLatentsInvocation): - """Generates latents using latents as base image.""" - - type: Literal["l2l"] = "l2l" - - # Inputs - noise: Optional[LatentsField] = Field(description="The noise to use (test override for future optional)") - - # denoising_start = 1 - strength - denoising_start: float = Field(default=0.0, ge=0, le=1, description="") - #denoising_end: float = Field(default=1.0, ge=0, le=1, description="") - - latents: Optional[LatentsField] = Field(description="The latents to use as a base image") - - mask: Optional[ImageField] = Field( - None, description="Mask", - ) - - # Schema customisation - class Config(InvocationConfig): - schema_extra = { - "ui": { - "title": "Latent To Latents", - "tags": ["latents"], - "type_hints": { - "model": "model", - "control": "control", - "cfg_scale": "number", - }, - }, - } - def prep_mask_tensor(self, mask, context, lantents): if mask is None: return None @@ -457,9 +345,7 @@ class LatentsToLatentsInvocation(TextToLatentsInvocation): mask_tensor = image_resized_to_grid_as_tensor(mask_image, normalize=False) if mask_tensor.dim() == 3: mask_tensor = mask_tensor.unsqueeze(0) - mask_tensor = tv_resize( - mask_tensor, lantents.shape[-2:], T.InterpolationMode.BILINEAR - ) + mask_tensor = tv_resize(mask_tensor, lantents.shape[-2:], T.InterpolationMode.BILINEAR) return 1 - mask_tensor @torch.no_grad() From 87ce4ab27c111c82c195da9f3c1be4cf03c655eb Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Fri, 11 Aug 2023 22:21:13 +1200 Subject: [PATCH 157/287] fix: Update default_graph to use new DenoiseLatents --- invokeai/app/services/default_graphs.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/invokeai/app/services/default_graphs.py b/invokeai/app/services/default_graphs.py index cafb6f0339..caee5b631e 100644 --- a/invokeai/app/services/default_graphs.py +++ b/invokeai/app/services/default_graphs.py @@ -1,4 +1,4 @@ -from ..invocations.latent import LatentsToImageInvocation, TextToLatentsInvocation +from ..invocations.latent import LatentsToImageInvocation, DenoiseLatentsInvocation from ..invocations.image import ImageNSFWBlurInvocation from ..invocations.noise import NoiseInvocation from ..invocations.compel import CompelInvocation @@ -23,7 +23,7 @@ def create_text_to_image() -> LibraryGraph: "3": NoiseInvocation(id="3"), "4": CompelInvocation(id="4"), "5": CompelInvocation(id="5"), - "6": TextToLatentsInvocation(id="6"), + "6": DenoiseLatentsInvocation(id="6"), "7": LatentsToImageInvocation(id="7"), "8": ImageNSFWBlurInvocation(id="8"), }, From 7479f9cc02d51857cee652c4a576a9c4915f87eb Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Fri, 11 Aug 2023 22:22:01 +1200 Subject: [PATCH 158/287] feat: Update LinearUI to use new backend (except Inpaint) --- invokeai/frontend/web/scripts/typegen.js | 2 +- .../graphBuilders/addSDXLRefinerToGraph.ts | 18 +- .../buildCanvasImageToImageGraph.ts | 27 +- .../buildCanvasTextToImageGraph.ts | 36 +- .../buildLinearImageToImageGraph.ts | 27 +- .../buildLinearSDXLImageToImageGraph.ts | 26 +- .../buildLinearSDXLTextToImageGraph.ts | 23 +- .../buildLinearTextToImageGraph.ts | 36 +- .../nodes/util/graphBuilders/constants.ts | 2 +- .../src/features/system/store/configSlice.ts | 2 +- .../frontend/web/src/services/api/schema.d.ts | 816 +++++------------- .../frontend/web/src/services/api/types.ts | 10 +- 12 files changed, 317 insertions(+), 708 deletions(-) diff --git a/invokeai/frontend/web/scripts/typegen.js b/invokeai/frontend/web/scripts/typegen.js index 015ae918ab..ec67c48f2d 100644 --- a/invokeai/frontend/web/scripts/typegen.js +++ b/invokeai/frontend/web/scripts/typegen.js @@ -1,7 +1,7 @@ import fs from 'node:fs'; import openapiTS from 'openapi-typescript'; -const OPENAPI_URL = 'http://localhost:9090/openapi.json'; +const OPENAPI_URL = 'http://127.0.0.1:9090/openapi.json'; const OUTPUT_FILE = 'src/services/api/schema.d.ts'; async function main() { diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts index c47c7be8b4..3faf72fb2e 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts @@ -2,12 +2,12 @@ import { RootState } from 'app/store/store'; import { MetadataAccumulatorInvocation } from 'services/api/types'; import { NonNullableGraph } from '../../types/types'; import { + DENOISE_LATENTS, IMAGE_TO_LATENTS, LATENTS_TO_IMAGE, METADATA_ACCUMULATOR, SDXL_LATENTS_TO_LATENTS, SDXL_MODEL_LOADER, - SDXL_REFINER_LATENTS_TO_LATENTS, SDXL_REFINER_MODEL_LOADER, SDXL_REFINER_NEGATIVE_CONDITIONING, SDXL_REFINER_POSITIVE_CONDITIONING, @@ -91,9 +91,9 @@ export const addSDXLRefinerToGraph = ( style: `${negativePrompt} ${negativeStylePrompt}`, aesthetic_score: refinerAestheticScore, }; - graph.nodes[SDXL_REFINER_LATENTS_TO_LATENTS] = { - type: 'l2l_sdxl', - id: SDXL_REFINER_LATENTS_TO_LATENTS, + graph.nodes[DENOISE_LATENTS] = { + type: 'denoise_latents', + id: DENOISE_LATENTS, cfg_scale: refinerCFGScale, steps: refinerSteps / (1 - Math.min(refinerStart, 0.99)), scheduler: refinerScheduler, @@ -108,7 +108,7 @@ export const addSDXLRefinerToGraph = ( field: 'unet', }, destination: { - node_id: SDXL_REFINER_LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'unet', }, }, @@ -148,7 +148,7 @@ export const addSDXLRefinerToGraph = ( field: 'conditioning', }, destination: { - node_id: SDXL_REFINER_LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'positive_conditioning', }, }, @@ -158,7 +158,7 @@ export const addSDXLRefinerToGraph = ( field: 'conditioning', }, destination: { - node_id: SDXL_REFINER_LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'negative_conditioning', }, }, @@ -168,13 +168,13 @@ export const addSDXLRefinerToGraph = ( field: 'latents', }, destination: { - node_id: SDXL_REFINER_LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'latents', }, }, { source: { - node_id: SDXL_REFINER_LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'latents', }, destination: { diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts index 42f768c107..181a0d9294 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts @@ -15,10 +15,10 @@ import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { CLIP_SKIP, + DENOISE_LATENTS, IMAGE_TO_IMAGE_GRAPH, IMAGE_TO_LATENTS, LATENTS_TO_IMAGE, - LATENTS_TO_LATENTS, MAIN_MODEL_LOADER, METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, @@ -105,14 +105,15 @@ export const buildCanvasImageToImageGraph = ( is_intermediate: true, skipped_layers: clipSkip, }, - [LATENTS_TO_LATENTS]: { - type: 'l2l', - id: LATENTS_TO_LATENTS, + [DENOISE_LATENTS]: { + type: 'denoise_latents', + id: DENOISE_LATENTS, is_intermediate: true, cfg_scale, scheduler, steps, - strength, + denoising_start: 1 - strength, + denoising_end: 1, }, [IMAGE_TO_LATENTS]: { type: 'i2l', @@ -162,7 +163,7 @@ export const buildCanvasImageToImageGraph = ( }, { source: { - node_id: LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'latents', }, destination: { @@ -176,7 +177,7 @@ export const buildCanvasImageToImageGraph = ( field: 'latents', }, destination: { - node_id: LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'latents', }, }, @@ -186,7 +187,7 @@ export const buildCanvasImageToImageGraph = ( field: 'noise', }, destination: { - node_id: LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'noise', }, }, @@ -196,7 +197,7 @@ export const buildCanvasImageToImageGraph = ( field: 'unet', }, destination: { - node_id: LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'unet', }, }, @@ -206,7 +207,7 @@ export const buildCanvasImageToImageGraph = ( field: 'conditioning', }, destination: { - node_id: LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'negative_conditioning', }, }, @@ -216,7 +217,7 @@ export const buildCanvasImageToImageGraph = ( field: 'conditioning', }, destination: { - node_id: LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'positive_conditioning', }, }, @@ -324,7 +325,7 @@ export const buildCanvasImageToImageGraph = ( }); // add LoRA support - addLoRAsToGraph(state, graph, LATENTS_TO_LATENTS); + addLoRAsToGraph(state, graph, DENOISE_LATENTS); // optionally add custom VAE addVAEToGraph(state, graph); @@ -333,7 +334,7 @@ export const buildCanvasImageToImageGraph = ( addDynamicPromptsToGraph(state, graph); // add controlnet, mutating `graph` - addControlNetToLinearGraph(state, graph, LATENTS_TO_LATENTS); + addControlNetToLinearGraph(state, graph, DENOISE_LATENTS); // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts index 5b636b482a..9e25f97586 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts @@ -2,6 +2,10 @@ import { logger } from 'app/logging/logger'; import { RootState } from 'app/store/store'; import { NonNullableGraph } from 'features/nodes/types/types'; import { initialGenerationState } from 'features/parameters/store/generationSlice'; +import { + DenoiseLatentsInvocation, + ONNXTextToLatentsInvocation, +} from 'services/api/types'; import { addControlNetToLinearGraph } from './addControlNetToLinearGraph'; import { addDynamicPromptsToGraph } from './addDynamicPromptsToGraph'; import { addLoRAsToGraph } from './addLoRAsToGraph'; @@ -10,20 +14,16 @@ import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { CLIP_SKIP, + DENOISE_LATENTS, LATENTS_TO_IMAGE, MAIN_MODEL_LOADER, - ONNX_MODEL_LOADER, METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, NOISE, + ONNX_MODEL_LOADER, POSITIVE_CONDITIONING, TEXT_TO_IMAGE_GRAPH, - TEXT_TO_LATENTS, } from './constants'; -import { - ONNXTextToLatentsInvocation, - TextToLatentsInvocation, -} from 'services/api/types'; /** * Builds the Canvas tab's Text to Image graph. @@ -64,23 +64,25 @@ export const buildCanvasTextToImageGraph = ( const modelLoaderNodeType = isUsingOnnxModel ? 'onnx_model_loader' : 'main_model_loader'; - const t2lNode: TextToLatentsInvocation | ONNXTextToLatentsInvocation = + const t2lNode: DenoiseLatentsInvocation | ONNXTextToLatentsInvocation = isUsingOnnxModel ? { type: 't2l_onnx', - id: TEXT_TO_LATENTS, + id: DENOISE_LATENTS, is_intermediate: true, cfg_scale, scheduler, steps, } : { - type: 't2l', - id: TEXT_TO_LATENTS, + type: 'denoise_latents', + id: DENOISE_LATENTS, is_intermediate: true, cfg_scale, scheduler, steps, + denoising_start: 0, + denoising_end: 1, }; /** * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the @@ -142,7 +144,7 @@ export const buildCanvasTextToImageGraph = ( field: 'conditioning', }, destination: { - node_id: TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'negative_conditioning', }, }, @@ -152,7 +154,7 @@ export const buildCanvasTextToImageGraph = ( field: 'conditioning', }, destination: { - node_id: TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'positive_conditioning', }, }, @@ -192,13 +194,13 @@ export const buildCanvasTextToImageGraph = ( field: 'unet', }, destination: { - node_id: TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'unet', }, }, { source: { - node_id: TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'latents', }, destination: { @@ -212,7 +214,7 @@ export const buildCanvasTextToImageGraph = ( field: 'noise', }, destination: { - node_id: TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'noise', }, }, @@ -252,7 +254,7 @@ export const buildCanvasTextToImageGraph = ( }); // add LoRA support - addLoRAsToGraph(state, graph, TEXT_TO_LATENTS, modelLoaderNodeId); + addLoRAsToGraph(state, graph, DENOISE_LATENTS, modelLoaderNodeId); // optionally add custom VAE addVAEToGraph(state, graph, modelLoaderNodeId); @@ -261,7 +263,7 @@ export const buildCanvasTextToImageGraph = ( addDynamicPromptsToGraph(state, graph); // add controlnet, mutating `graph` - addControlNetToLinearGraph(state, graph, TEXT_TO_LATENTS); + addControlNetToLinearGraph(state, graph, DENOISE_LATENTS); // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts index f264edc6be..69d5227ea2 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts @@ -14,10 +14,10 @@ import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { CLIP_SKIP, + DENOISE_LATENTS, IMAGE_TO_IMAGE_GRAPH, IMAGE_TO_LATENTS, LATENTS_TO_IMAGE, - LATENTS_TO_LATENTS, MAIN_MODEL_LOADER, METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, @@ -118,13 +118,14 @@ export const buildLinearImageToImageGraph = ( id: LATENTS_TO_IMAGE, fp32: vaePrecision === 'fp32' ? true : false, }, - [LATENTS_TO_LATENTS]: { - type: 'l2l', - id: LATENTS_TO_LATENTS, + [DENOISE_LATENTS]: { + type: 'denoise_latents', + id: DENOISE_LATENTS, cfg_scale, scheduler, steps, - strength, + denoising_start: 1 - strength, + denoising_end: 1, }, [IMAGE_TO_LATENTS]: { type: 'i2l', @@ -143,7 +144,7 @@ export const buildLinearImageToImageGraph = ( field: 'unet', }, destination: { - node_id: LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'unet', }, }, @@ -179,7 +180,7 @@ export const buildLinearImageToImageGraph = ( }, { source: { - node_id: LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'latents', }, destination: { @@ -193,7 +194,7 @@ export const buildLinearImageToImageGraph = ( field: 'latents', }, destination: { - node_id: LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'latents', }, }, @@ -203,7 +204,7 @@ export const buildLinearImageToImageGraph = ( field: 'noise', }, destination: { - node_id: LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'noise', }, }, @@ -213,7 +214,7 @@ export const buildLinearImageToImageGraph = ( field: 'conditioning', }, destination: { - node_id: LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'negative_conditioning', }, }, @@ -223,7 +224,7 @@ export const buildLinearImageToImageGraph = ( field: 'conditioning', }, destination: { - node_id: LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'positive_conditioning', }, }, @@ -334,7 +335,7 @@ export const buildLinearImageToImageGraph = ( }); // add LoRA support - addLoRAsToGraph(state, graph, LATENTS_TO_LATENTS); + addLoRAsToGraph(state, graph, DENOISE_LATENTS); // optionally add custom VAE addVAEToGraph(state, graph); @@ -343,7 +344,7 @@ export const buildLinearImageToImageGraph = ( addDynamicPromptsToGraph(state, graph); // add controlnet, mutating `graph` - addControlNetToLinearGraph(state, graph, LATENTS_TO_LATENTS); + addControlNetToLinearGraph(state, graph, DENOISE_LATENTS); // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts index 0ec4e096d9..98f9458ae0 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts @@ -8,9 +8,11 @@ import { } from 'services/api/types'; import { addDynamicPromptsToGraph } from './addDynamicPromptsToGraph'; import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; +import { addSDXLLoRAsToGraph } from './addSDXLLoRAstoGraph'; import { addSDXLRefinerToGraph } from './addSDXLRefinerToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { + DENOISE_LATENTS, IMAGE_TO_LATENTS, LATENTS_TO_IMAGE, METADATA_ACCUMULATOR, @@ -19,10 +21,8 @@ import { POSITIVE_CONDITIONING, RESIZE, SDXL_IMAGE_TO_IMAGE_GRAPH, - SDXL_LATENTS_TO_LATENTS, SDXL_MODEL_LOADER, } from './constants'; -import { addSDXLLoRAsToGraph } from './addSDXLLoRAstoGraph'; /** * Builds the Image to Image tab graph. @@ -115,9 +115,9 @@ export const buildLinearSDXLImageToImageGraph = ( id: LATENTS_TO_IMAGE, fp32: vaePrecision === 'fp32' ? true : false, }, - [SDXL_LATENTS_TO_LATENTS]: { - type: 'l2l_sdxl', - id: SDXL_LATENTS_TO_LATENTS, + [DENOISE_LATENTS]: { + type: 'denoise_latents', + id: DENOISE_LATENTS, cfg_scale, scheduler, steps, @@ -143,7 +143,7 @@ export const buildLinearSDXLImageToImageGraph = ( field: 'unet', }, destination: { - node_id: SDXL_LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'unet', }, }, @@ -209,7 +209,7 @@ export const buildLinearSDXLImageToImageGraph = ( }, { source: { - node_id: SDXL_LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'latents', }, destination: { @@ -223,7 +223,7 @@ export const buildLinearSDXLImageToImageGraph = ( field: 'latents', }, destination: { - node_id: SDXL_LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'latents', }, }, @@ -233,7 +233,7 @@ export const buildLinearSDXLImageToImageGraph = ( field: 'noise', }, destination: { - node_id: SDXL_LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'noise', }, }, @@ -243,7 +243,7 @@ export const buildLinearSDXLImageToImageGraph = ( field: 'conditioning', }, destination: { - node_id: SDXL_LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'positive_conditioning', }, }, @@ -253,7 +253,7 @@ export const buildLinearSDXLImageToImageGraph = ( field: 'conditioning', }, destination: { - node_id: SDXL_LATENTS_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'negative_conditioning', }, }, @@ -365,11 +365,11 @@ export const buildLinearSDXLImageToImageGraph = ( }, }); - addSDXLLoRAsToGraph(state, graph, SDXL_LATENTS_TO_LATENTS, SDXL_MODEL_LOADER); + addSDXLLoRAsToGraph(state, graph, DENOISE_LATENTS, SDXL_MODEL_LOADER); // Add Refiner if enabled if (shouldUseSDXLRefiner) { - addSDXLRefinerToGraph(state, graph, SDXL_LATENTS_TO_LATENTS); + addSDXLRefinerToGraph(state, graph, DENOISE_LATENTS); } // add dynamic prompts - also sets up core iteration and seed diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts index 21b7c1e0ac..566eb6536e 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts @@ -8,6 +8,7 @@ import { addSDXLLoRAsToGraph } from './addSDXLLoRAstoGraph'; import { addSDXLRefinerToGraph } from './addSDXLRefinerToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { + DENOISE_LATENTS, LATENTS_TO_IMAGE, METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, @@ -15,7 +16,6 @@ import { POSITIVE_CONDITIONING, SDXL_MODEL_LOADER, SDXL_TEXT_TO_IMAGE_GRAPH, - SDXL_TEXT_TO_LATENTS, } from './constants'; export const buildLinearSDXLTextToImageGraph = ( @@ -95,12 +95,13 @@ export const buildLinearSDXLTextToImageGraph = ( height, use_cpu, }, - [SDXL_TEXT_TO_LATENTS]: { - type: 't2l_sdxl', - id: SDXL_TEXT_TO_LATENTS, + [DENOISE_LATENTS]: { + type: 'denoise_latents', + id: DENOISE_LATENTS, cfg_scale, scheduler, steps, + denoising_start: 0, denoising_end: shouldUseSDXLRefiner ? refinerStart : 1, }, [LATENTS_TO_IMAGE]: { @@ -116,7 +117,7 @@ export const buildLinearSDXLTextToImageGraph = ( field: 'unet', }, destination: { - node_id: SDXL_TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'unet', }, }, @@ -176,7 +177,7 @@ export const buildLinearSDXLTextToImageGraph = ( field: 'conditioning', }, destination: { - node_id: SDXL_TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'positive_conditioning', }, }, @@ -186,7 +187,7 @@ export const buildLinearSDXLTextToImageGraph = ( field: 'conditioning', }, destination: { - node_id: SDXL_TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'negative_conditioning', }, }, @@ -196,13 +197,13 @@ export const buildLinearSDXLTextToImageGraph = ( field: 'noise', }, destination: { - node_id: SDXL_TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'noise', }, }, { source: { - node_id: SDXL_TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'latents', }, destination: { @@ -247,11 +248,11 @@ export const buildLinearSDXLTextToImageGraph = ( }, }); - addSDXLLoRAsToGraph(state, graph, SDXL_TEXT_TO_LATENTS, SDXL_MODEL_LOADER); + addSDXLLoRAsToGraph(state, graph, DENOISE_LATENTS, SDXL_MODEL_LOADER); // Add Refiner if enabled if (shouldUseSDXLRefiner) { - addSDXLRefinerToGraph(state, graph, SDXL_TEXT_TO_LATENTS); + addSDXLRefinerToGraph(state, graph, DENOISE_LATENTS); } // add dynamic prompts - also sets up core iteration and seed diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts index 9dcc502d14..dcbbe69290 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts @@ -2,6 +2,10 @@ import { logger } from 'app/logging/logger'; import { RootState } from 'app/store/store'; import { NonNullableGraph } from 'features/nodes/types/types'; import { initialGenerationState } from 'features/parameters/store/generationSlice'; +import { + DenoiseLatentsInvocation, + ONNXTextToLatentsInvocation, +} from 'services/api/types'; import { addControlNetToLinearGraph } from './addControlNetToLinearGraph'; import { addDynamicPromptsToGraph } from './addDynamicPromptsToGraph'; import { addLoRAsToGraph } from './addLoRAsToGraph'; @@ -10,20 +14,16 @@ import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { CLIP_SKIP, + DENOISE_LATENTS, LATENTS_TO_IMAGE, MAIN_MODEL_LOADER, - ONNX_MODEL_LOADER, METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, NOISE, + ONNX_MODEL_LOADER, POSITIVE_CONDITIONING, TEXT_TO_IMAGE_GRAPH, - TEXT_TO_LATENTS, } from './constants'; -import { - ONNXTextToLatentsInvocation, - TextToLatentsInvocation, -} from 'services/api/types'; export const buildLinearTextToImageGraph = ( state: RootState @@ -60,23 +60,25 @@ export const buildLinearTextToImageGraph = ( const modelLoaderNodeType = isUsingOnnxModel ? 'onnx_model_loader' : 'main_model_loader'; - const t2lNode: TextToLatentsInvocation | ONNXTextToLatentsInvocation = + const t2lNode: DenoiseLatentsInvocation | ONNXTextToLatentsInvocation = isUsingOnnxModel ? { type: 't2l_onnx', - id: TEXT_TO_LATENTS, + id: DENOISE_LATENTS, is_intermediate: true, cfg_scale, scheduler, steps, } : { - type: 't2l', - id: TEXT_TO_LATENTS, + type: 'denoise_latents', + id: DENOISE_LATENTS, is_intermediate: true, cfg_scale, scheduler, steps, + denoising_start: 0, + denoising_end: 1, }; /** * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the @@ -149,7 +151,7 @@ export const buildLinearTextToImageGraph = ( field: 'unet', }, destination: { - node_id: TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'unet', }, }, @@ -179,7 +181,7 @@ export const buildLinearTextToImageGraph = ( field: 'conditioning', }, destination: { - node_id: TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'positive_conditioning', }, }, @@ -189,13 +191,13 @@ export const buildLinearTextToImageGraph = ( field: 'conditioning', }, destination: { - node_id: TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'negative_conditioning', }, }, { source: { - node_id: TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'latents', }, destination: { @@ -209,7 +211,7 @@ export const buildLinearTextToImageGraph = ( field: 'noise', }, destination: { - node_id: TEXT_TO_LATENTS, + node_id: DENOISE_LATENTS, field: 'noise', }, }, @@ -249,7 +251,7 @@ export const buildLinearTextToImageGraph = ( }); // add LoRA support - addLoRAsToGraph(state, graph, TEXT_TO_LATENTS, modelLoaderNodeId); + addLoRAsToGraph(state, graph, DENOISE_LATENTS, modelLoaderNodeId); // optionally add custom VAE addVAEToGraph(state, graph, modelLoaderNodeId); @@ -258,7 +260,7 @@ export const buildLinearTextToImageGraph = ( addDynamicPromptsToGraph(state, graph); // add controlnet, mutating `graph` - addControlNetToLinearGraph(state, graph, TEXT_TO_LATENTS); + addControlNetToLinearGraph(state, graph, DENOISE_LATENTS); // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts index 7fa87c7f20..2282184521 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts @@ -1,7 +1,7 @@ // friendly node ids export const POSITIVE_CONDITIONING = 'positive_conditioning'; export const NEGATIVE_CONDITIONING = 'negative_conditioning'; -export const TEXT_TO_LATENTS = 'text_to_latents'; +export const DENOISE_LATENTS = 'denoise_latents'; export const LATENTS_TO_IMAGE = 'latents_to_image'; export const NSFW_CHECKER = 'nsfw_checker'; export const WATERMARKER = 'invisible_watermark'; diff --git a/invokeai/frontend/web/src/features/system/store/configSlice.ts b/invokeai/frontend/web/src/features/system/store/configSlice.ts index 6cff92a136..ff7a0c0700 100644 --- a/invokeai/frontend/web/src/features/system/store/configSlice.ts +++ b/invokeai/frontend/web/src/features/system/store/configSlice.ts @@ -61,7 +61,7 @@ export const initialConfigState: AppConfig = { }, img2imgStrength: { initial: 0.7, - min: 0, + min: 0.01, sliderMax: 1, inputMax: 1, fineStep: 0.01, diff --git a/invokeai/frontend/web/src/services/api/schema.d.ts b/invokeai/frontend/web/src/services/api/schema.d.ts index fc3397820e..9755af9e32 100644 --- a/invokeai/frontend/web/src/services/api/schema.d.ts +++ b/invokeai/frontend/web/src/services/api/schema.d.ts @@ -179,6 +179,11 @@ export type paths = { * @description Gets a full-resolution image file */ get: operations["get_image_full"]; + /** + * Get Image Full + * @description Gets a full-resolution image file + */ + head: operations["get_image_full"]; }; "/api/v1/images/i/{image_name}/thumbnail": { /** @@ -707,6 +712,51 @@ export type components = { */ collection: (unknown)[]; }; + /** + * ColorCorrectInvocation + * @description Shifts the colors of a target image to match the reference image, optionally + * using a mask to only color-correct certain regions of the target image. + */ + ColorCorrectInvocation: { + /** + * Id + * @description The id of this node. Must be unique among all nodes. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this node is an intermediate node. + * @default false + */ + is_intermediate?: boolean; + /** + * Type + * @default color_correct + * @enum {string} + */ + type?: "color_correct"; + /** + * Image + * @description The image to color-correct + */ + image?: components["schemas"]["ImageField"]; + /** + * Reference + * @description Reference image for color-correction + */ + reference?: components["schemas"]["ImageField"]; + /** + * Mask + * @description Mask to use when applying color-correction + */ + mask?: components["schemas"]["ImageField"]; + /** + * Mask Blur Radius + * @description Mask blur radius + * @default 8 + */ + mask_blur_radius?: number; + }; /** ColorField */ ColorField: { /** @@ -1037,6 +1087,12 @@ export type components = { * @description Core generation metadata for an image generated in InvokeAI. */ CoreMetadata: { + /** + * App Version + * @description The version of InvokeAI used to generate this image + * @default 3.0.2 + */ + app_version?: string; /** * Generation Mode * @description The generation mode that output this image @@ -1219,6 +1275,93 @@ export type components = { /** Deleted Images */ deleted_images: (string)[]; }; + /** + * DenoiseLatentsInvocation + * @description Denoises noisy latents to decodable images + */ + DenoiseLatentsInvocation: { + /** + * Id + * @description The id of this node. Must be unique among all nodes. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this node is an intermediate node. + * @default false + */ + is_intermediate?: boolean; + /** + * Type + * @default denoise_latents + * @enum {string} + */ + type?: "denoise_latents"; + /** + * Positive Conditioning + * @description Positive conditioning for generation + */ + positive_conditioning?: components["schemas"]["ConditioningField"]; + /** + * Negative Conditioning + * @description Negative conditioning for generation + */ + negative_conditioning?: components["schemas"]["ConditioningField"]; + /** + * Noise + * @description The noise to use + */ + noise?: components["schemas"]["LatentsField"]; + /** + * Steps + * @description The number of steps to use to generate the image + * @default 10 + */ + steps?: number; + /** + * Cfg Scale + * @description The Classifier-Free Guidance, higher values may result in a result closer to the prompt + * @default 7.5 + */ + cfg_scale?: number | (number)[]; + /** + * Denoising Start + * @default 0 + */ + denoising_start?: number; + /** + * Denoising End + * @default 1 + */ + denoising_end?: number; + /** + * Scheduler + * @description The scheduler to use + * @default euler + * @enum {string} + */ + scheduler?: "ddim" | "ddpm" | "deis" | "lms" | "lms_k" | "pndm" | "heun" | "heun_k" | "euler" | "euler_k" | "euler_a" | "kdpm_2" | "kdpm_2_a" | "dpmpp_2s" | "dpmpp_2s_k" | "dpmpp_2m" | "dpmpp_2m_k" | "dpmpp_2m_sde" | "dpmpp_2m_sde_k" | "dpmpp_sde" | "dpmpp_sde_k" | "unipc"; + /** + * Unet + * @description UNet submodel + */ + unet?: components["schemas"]["UNetField"]; + /** + * Control + * @description The control to use + */ + control?: components["schemas"]["ControlField"] | (components["schemas"]["ControlField"])[]; + /** + * Latents + * @description The latents to use as a base image + */ + latents?: components["schemas"]["LatentsField"]; + /** + * Mask + * @description Mask + */ + mask?: components["schemas"]["ImageField"]; + }; /** * DivideInvocation * @description Divides two numbers @@ -1443,7 +1586,7 @@ export type components = { * @description The nodes in this graph */ nodes?: { - [key: string]: (components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]) | undefined; + [key: string]: (components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"]) | undefined; }; /** * Edges @@ -1486,7 +1629,7 @@ export type components = { * @description The results of node executions */ results: { - [key: string]: (components["schemas"]["ImageOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["LoraLoaderOutput"] | components["schemas"]["SDXLLoraLoaderOutput"] | components["schemas"]["VaeLoaderOutput"] | components["schemas"]["MetadataAccumulatorOutput"] | components["schemas"]["CompelOutput"] | components["schemas"]["ClipSkipInvocationOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["ONNXModelLoaderOutput"] | components["schemas"]["PromptOutput"] | components["schemas"]["PromptCollectionOutput"] | components["schemas"]["IntOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["IntCollectionOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["GraphInvocationOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["CollectInvocationOutput"]) | undefined; + [key: string]: (components["schemas"]["ImageOutput"] | components["schemas"]["MaskOutput"] | components["schemas"]["ControlOutput"] | components["schemas"]["ModelLoaderOutput"] | components["schemas"]["LoraLoaderOutput"] | components["schemas"]["SDXLLoraLoaderOutput"] | components["schemas"]["VaeLoaderOutput"] | components["schemas"]["MetadataAccumulatorOutput"] | components["schemas"]["IntCollectionOutput"] | components["schemas"]["FloatCollectionOutput"] | components["schemas"]["ImageCollectionOutput"] | components["schemas"]["CompelOutput"] | components["schemas"]["ClipSkipInvocationOutput"] | components["schemas"]["LatentsOutput"] | components["schemas"]["IntOutput"] | components["schemas"]["FloatOutput"] | components["schemas"]["NoiseOutput"] | components["schemas"]["ONNXModelLoaderOutput"] | components["schemas"]["PromptOutput"] | components["schemas"]["PromptCollectionOutput"] | components["schemas"]["StringOutput"] | components["schemas"]["SDXLModelLoaderOutput"] | components["schemas"]["SDXLRefinerModelLoaderOutput"] | components["schemas"]["GraphInvocationOutput"] | components["schemas"]["IterateInvocationOutput"] | components["schemas"]["CollectInvocationOutput"]) | undefined; }; /** * Errors @@ -2593,171 +2736,6 @@ export type components = { */ seed?: number; }; - /** - * InpaintInvocation - * @description Generates an image using inpaint. - */ - InpaintInvocation: { - /** - * Id - * @description The id of this node. Must be unique among all nodes. - */ - id: string; - /** - * Is Intermediate - * @description Whether or not this node is an intermediate node. - * @default false - */ - is_intermediate?: boolean; - /** - * Type - * @default inpaint - * @enum {string} - */ - type?: "inpaint"; - /** - * Positive Conditioning - * @description Positive conditioning for generation - */ - positive_conditioning?: components["schemas"]["ConditioningField"]; - /** - * Negative Conditioning - * @description Negative conditioning for generation - */ - negative_conditioning?: components["schemas"]["ConditioningField"]; - /** - * Seed - * @description The seed to use (omit for random) - */ - seed?: number; - /** - * Steps - * @description The number of steps to use to generate the image - * @default 30 - */ - steps?: number; - /** - * Width - * @description The width of the resulting image - * @default 512 - */ - width?: number; - /** - * Height - * @description The height of the resulting image - * @default 512 - */ - height?: number; - /** - * Cfg Scale - * @description The Classifier-Free Guidance, higher values may result in a result closer to the prompt - * @default 7.5 - */ - cfg_scale?: number; - /** - * Scheduler - * @description The scheduler to use - * @default euler - * @enum {string} - */ - scheduler?: "ddim" | "ddpm" | "deis" | "lms" | "lms_k" | "pndm" | "heun" | "heun_k" | "euler" | "euler_k" | "euler_a" | "kdpm_2" | "kdpm_2_a" | "dpmpp_2s" | "dpmpp_2s_k" | "dpmpp_2m" | "dpmpp_2m_k" | "dpmpp_2m_sde" | "dpmpp_2m_sde_k" | "dpmpp_sde" | "dpmpp_sde_k" | "unipc"; - /** - * Unet - * @description UNet model - */ - unet?: components["schemas"]["UNetField"]; - /** - * Vae - * @description Vae model - */ - vae?: components["schemas"]["VaeField"]; - /** - * Image - * @description The input image - */ - image?: components["schemas"]["ImageField"]; - /** - * Strength - * @description The strength of the original image - * @default 0.75 - */ - strength?: number; - /** - * Fit - * @description Whether or not the result should be fit to the aspect ratio of the input image - * @default true - */ - fit?: boolean; - /** - * Mask - * @description The mask - */ - mask?: components["schemas"]["ImageField"]; - /** - * Seam Size - * @description The seam inpaint size (px) - * @default 96 - */ - seam_size?: number; - /** - * Seam Blur - * @description The seam inpaint blur radius (px) - * @default 16 - */ - seam_blur?: number; - /** - * Seam Strength - * @description The seam inpaint strength - * @default 0.75 - */ - seam_strength?: number; - /** - * Seam Steps - * @description The number of steps to use for seam inpaint - * @default 30 - */ - seam_steps?: number; - /** - * Tile Size - * @description The tile infill method size (px) - * @default 32 - */ - tile_size?: number; - /** - * Infill Method - * @description The method used to infill empty regions (px) - * @default patchmatch - * @enum {string} - */ - infill_method?: "patchmatch" | "tile" | "solid"; - /** - * Inpaint Width - * @description The width of the inpaint region (px) - */ - inpaint_width?: number; - /** - * Inpaint Height - * @description The height of the inpaint region (px) - */ - inpaint_height?: number; - /** - * Inpaint Fill - * @description The solid infill method color - * @default { - * "r": 127, - * "g": 127, - * "b": 127, - * "a": 255 - * } - */ - inpaint_fill?: components["schemas"]["ColorField"]; - /** - * Inpaint Replace - * @description The amount by which to replace masked areas with latent noise - * @default 0 - */ - inpaint_replace?: number; - }; /** * IntCollectionOutput * @description A collection of integers @@ -2854,6 +2832,11 @@ export type components = { * @description The name of the latents */ latents_name: string; + /** + * Seed + * @description Seed used to generate this latents + */ + seed?: number; }; /** * LatentsOutput @@ -2932,84 +2915,6 @@ export type components = { */ metadata?: components["schemas"]["CoreMetadata"]; }; - /** - * LatentsToLatentsInvocation - * @description Generates latents using latents as base image. - */ - LatentsToLatentsInvocation: { - /** - * Id - * @description The id of this node. Must be unique among all nodes. - */ - id: string; - /** - * Is Intermediate - * @description Whether or not this node is an intermediate node. - * @default false - */ - is_intermediate?: boolean; - /** - * Type - * @default l2l - * @enum {string} - */ - type?: "l2l"; - /** - * Positive Conditioning - * @description Positive conditioning for generation - */ - positive_conditioning?: components["schemas"]["ConditioningField"]; - /** - * Negative Conditioning - * @description Negative conditioning for generation - */ - negative_conditioning?: components["schemas"]["ConditioningField"]; - /** - * Noise - * @description The noise to use - */ - noise?: components["schemas"]["LatentsField"]; - /** - * Steps - * @description The number of steps to use to generate the image - * @default 10 - */ - steps?: number; - /** - * Cfg Scale - * @description The Classifier-Free Guidance, higher values may result in a result closer to the prompt - * @default 7.5 - */ - cfg_scale?: number | (number)[]; - /** - * Scheduler - * @description The scheduler to use - * @default euler - * @enum {string} - */ - scheduler?: "ddim" | "ddpm" | "deis" | "lms" | "lms_k" | "pndm" | "heun" | "heun_k" | "euler" | "euler_k" | "euler_a" | "kdpm_2" | "kdpm_2_a" | "dpmpp_2s" | "dpmpp_2s_k" | "dpmpp_2m" | "dpmpp_2m_k" | "dpmpp_2m_sde" | "dpmpp_2m_sde_k" | "dpmpp_sde" | "dpmpp_sde_k" | "unipc"; - /** - * Unet - * @description UNet submodel - */ - unet?: components["schemas"]["UNetField"]; - /** - * Control - * @description The control to use - */ - control?: components["schemas"]["ControlField"] | (components["schemas"]["ControlField"])[]; - /** - * Latents - * @description The latents to use as a base image - */ - latents?: components["schemas"]["LatentsField"]; - /** - * Strength - * @description The strength of the latents to use - * @default 0.7 - */ - strength?: number; - }; /** * LeresImageProcessorInvocation * @description Applies leres processing to image @@ -3368,6 +3273,54 @@ export type components = { */ model: components["schemas"]["MainModelField"]; }; + /** + * MaskEdgeInvocation + * @description Applies an edge mask to an image + */ + MaskEdgeInvocation: { + /** + * Id + * @description The id of this node. Must be unique among all nodes. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this node is an intermediate node. + * @default false + */ + is_intermediate?: boolean; + /** + * Type + * @default mask_edge + * @enum {string} + */ + type?: "mask_edge"; + /** + * Image + * @description The image to apply the mask to + */ + image?: components["schemas"]["ImageField"]; + /** + * Edge Size + * @description The size of the edge + */ + edge_size: number; + /** + * Edge Blur + * @description The amount of blur on the edge + */ + edge_blur: number; + /** + * Low Threshold + * @description First threshold for the hysteresis procedure in Canny edge detection + */ + low_threshold: number; + /** + * High Threshold + * @description Second threshold for the hysteresis procedure in Canny edge detection + */ + high_threshold: number; + }; /** * MaskFromAlphaInvocation * @description Extracts the alpha channel of an image as a mask. @@ -4937,83 +4890,6 @@ export type components = { */ clip2?: components["schemas"]["ClipField"]; }; - /** - * SDXLLatentsToLatentsInvocation - * @description Generates latents from conditionings. - */ - SDXLLatentsToLatentsInvocation: { - /** - * Id - * @description The id of this node. Must be unique among all nodes. - */ - id: string; - /** - * Is Intermediate - * @description Whether or not this node is an intermediate node. - * @default false - */ - is_intermediate?: boolean; - /** - * Type - * @default l2l_sdxl - * @enum {string} - */ - type?: "l2l_sdxl"; - /** - * Positive Conditioning - * @description Positive conditioning for generation - */ - positive_conditioning?: components["schemas"]["ConditioningField"]; - /** - * Negative Conditioning - * @description Negative conditioning for generation - */ - negative_conditioning?: components["schemas"]["ConditioningField"]; - /** - * Noise - * @description The noise to use - */ - noise?: components["schemas"]["LatentsField"]; - /** - * Steps - * @description The number of steps to use to generate the image - * @default 10 - */ - steps?: number; - /** - * Cfg Scale - * @description The Classifier-Free Guidance, higher values may result in a result closer to the prompt - * @default 7.5 - */ - cfg_scale?: number | (number)[]; - /** - * Scheduler - * @description The scheduler to use - * @default euler - * @enum {string} - */ - scheduler?: "ddim" | "ddpm" | "deis" | "lms" | "lms_k" | "pndm" | "heun" | "heun_k" | "euler" | "euler_k" | "euler_a" | "kdpm_2" | "kdpm_2_a" | "dpmpp_2s" | "dpmpp_2s_k" | "dpmpp_2m" | "dpmpp_2m_k" | "dpmpp_2m_sde" | "dpmpp_2m_sde_k" | "dpmpp_sde" | "dpmpp_sde_k" | "unipc"; - /** - * Unet - * @description UNet submodel - */ - unet?: components["schemas"]["UNetField"]; - /** - * Latents - * @description Initial latents - */ - latents?: components["schemas"]["LatentsField"]; - /** - * Denoising Start - * @default 0 - */ - denoising_start?: number; - /** - * Denoising End - * @default 1 - */ - denoising_end?: number; - }; /** * SDXLLoraLoaderInvocation * @description Apply selected lora to unet and text_encoder. @@ -5150,81 +5026,6 @@ export type components = { */ vae?: components["schemas"]["VaeField"]; }; - /** - * SDXLRawPromptInvocation - * @description Pass unmodified prompt to conditioning without compel processing. - */ - SDXLRawPromptInvocation: { - /** - * Id - * @description The id of this node. Must be unique among all nodes. - */ - id: string; - /** - * Is Intermediate - * @description Whether or not this node is an intermediate node. - * @default false - */ - is_intermediate?: boolean; - /** - * Type - * @default sdxl_raw_prompt - * @enum {string} - */ - type?: "sdxl_raw_prompt"; - /** - * Prompt - * @description Prompt - * @default - */ - prompt?: string; - /** - * Style - * @description Style prompt - * @default - */ - style?: string; - /** - * Original Width - * @default 1024 - */ - original_width?: number; - /** - * Original Height - * @default 1024 - */ - original_height?: number; - /** - * Crop Top - * @default 0 - */ - crop_top?: number; - /** - * Crop Left - * @default 0 - */ - crop_left?: number; - /** - * Target Width - * @default 1024 - */ - target_width?: number; - /** - * Target Height - * @default 1024 - */ - target_height?: number; - /** - * Clip - * @description Clip to use - */ - clip?: components["schemas"]["ClipField"]; - /** - * Clip2 - * @description Clip2 to use - */ - clip2?: components["schemas"]["ClipField"]; - }; /** * SDXLRefinerCompelPromptInvocation * @description Parse prompt using compel package to conditioning. @@ -5339,132 +5140,6 @@ export type components = { */ vae?: components["schemas"]["VaeField"]; }; - /** - * SDXLRefinerRawPromptInvocation - * @description Parse prompt using compel package to conditioning. - */ - SDXLRefinerRawPromptInvocation: { - /** - * Id - * @description The id of this node. Must be unique among all nodes. - */ - id: string; - /** - * Is Intermediate - * @description Whether or not this node is an intermediate node. - * @default false - */ - is_intermediate?: boolean; - /** - * Type - * @default sdxl_refiner_raw_prompt - * @enum {string} - */ - type?: "sdxl_refiner_raw_prompt"; - /** - * Style - * @description Style prompt - * @default - */ - style?: string; - /** - * Original Width - * @default 1024 - */ - original_width?: number; - /** - * Original Height - * @default 1024 - */ - original_height?: number; - /** - * Crop Top - * @default 0 - */ - crop_top?: number; - /** - * Crop Left - * @default 0 - */ - crop_left?: number; - /** - * Aesthetic Score - * @default 6 - */ - aesthetic_score?: number; - /** - * Clip2 - * @description Clip to use - */ - clip2?: components["schemas"]["ClipField"]; - }; - /** - * SDXLTextToLatentsInvocation - * @description Generates latents from conditionings. - */ - SDXLTextToLatentsInvocation: { - /** - * Id - * @description The id of this node. Must be unique among all nodes. - */ - id: string; - /** - * Is Intermediate - * @description Whether or not this node is an intermediate node. - * @default false - */ - is_intermediate?: boolean; - /** - * Type - * @default t2l_sdxl - * @enum {string} - */ - type?: "t2l_sdxl"; - /** - * Positive Conditioning - * @description Positive conditioning for generation - */ - positive_conditioning?: components["schemas"]["ConditioningField"]; - /** - * Negative Conditioning - * @description Negative conditioning for generation - */ - negative_conditioning?: components["schemas"]["ConditioningField"]; - /** - * Noise - * @description The noise to use - */ - noise?: components["schemas"]["LatentsField"]; - /** - * Steps - * @description The number of steps to use to generate the image - * @default 10 - */ - steps?: number; - /** - * Cfg Scale - * @description The Classifier-Free Guidance, higher values may result in a result closer to the prompt - * @default 7.5 - */ - cfg_scale?: number | (number)[]; - /** - * Scheduler - * @description The scheduler to use - * @default euler - * @enum {string} - */ - scheduler?: "ddim" | "ddpm" | "deis" | "lms" | "lms_k" | "pndm" | "heun" | "heun_k" | "euler" | "euler_k" | "euler_a" | "kdpm_2" | "kdpm_2_a" | "dpmpp_2s" | "dpmpp_2s_k" | "dpmpp_2m" | "dpmpp_2m_k" | "dpmpp_2m_sde" | "dpmpp_2m_sde_k" | "dpmpp_sde" | "dpmpp_sde_k" | "unipc"; - /** - * Unet - * @description UNet submodel - */ - unet?: components["schemas"]["UNetField"]; - /** - * Denoising End - * @default 1 - */ - denoising_end?: number; - }; /** * ScaleLatentsInvocation * @description Scales latents by a given factor. @@ -5863,73 +5538,6 @@ export type components = { */ b?: number; }; - /** - * TextToLatentsInvocation - * @description Generates latents from conditionings. - */ - TextToLatentsInvocation: { - /** - * Id - * @description The id of this node. Must be unique among all nodes. - */ - id: string; - /** - * Is Intermediate - * @description Whether or not this node is an intermediate node. - * @default false - */ - is_intermediate?: boolean; - /** - * Type - * @default t2l - * @enum {string} - */ - type?: "t2l"; - /** - * Positive Conditioning - * @description Positive conditioning for generation - */ - positive_conditioning?: components["schemas"]["ConditioningField"]; - /** - * Negative Conditioning - * @description Negative conditioning for generation - */ - negative_conditioning?: components["schemas"]["ConditioningField"]; - /** - * Noise - * @description The noise to use - */ - noise?: components["schemas"]["LatentsField"]; - /** - * Steps - * @description The number of steps to use to generate the image - * @default 10 - */ - steps?: number; - /** - * Cfg Scale - * @description The Classifier-Free Guidance, higher values may result in a result closer to the prompt - * @default 7.5 - */ - cfg_scale?: number | (number)[]; - /** - * Scheduler - * @description The scheduler to use - * @default euler - * @enum {string} - */ - scheduler?: "ddim" | "ddpm" | "deis" | "lms" | "lms_k" | "pndm" | "heun" | "heun_k" | "euler" | "euler_k" | "euler_a" | "kdpm_2" | "kdpm_2_a" | "dpmpp_2s" | "dpmpp_2s_k" | "dpmpp_2m" | "dpmpp_2m_k" | "dpmpp_2m_sde" | "dpmpp_2m_sde_k" | "dpmpp_sde" | "dpmpp_sde_k" | "unipc"; - /** - * Unet - * @description UNet submodel - */ - unet?: components["schemas"]["UNetField"]; - /** - * Control - * @description The control to use - */ - control?: components["schemas"]["ControlField"] | (components["schemas"]["ControlField"])[]; - }; /** TextualInversionModelConfig */ TextualInversionModelConfig: { /** Model Name */ @@ -6139,36 +5747,36 @@ export type components = { */ image?: components["schemas"]["ImageField"]; }; - /** - * ControlNetModelFormat - * @description An enumeration. - * @enum {string} - */ - ControlNetModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusionXLModelFormat * @description An enumeration. * @enum {string} */ StableDiffusionXLModelFormat: "checkpoint" | "diffusers"; - /** - * StableDiffusion1ModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusionOnnxModelFormat * @description An enumeration. * @enum {string} */ StableDiffusionOnnxModelFormat: "olive" | "onnx"; + /** + * ControlNetModelFormat + * @description An enumeration. + * @enum {string} + */ + ControlNetModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusion2ModelFormat * @description An enumeration. * @enum {string} */ StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; + /** + * StableDiffusion1ModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; }; responses: never; parameters: never; @@ -6279,7 +5887,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"]; }; }; responses: { @@ -6316,7 +5924,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["SDXLRawPromptInvocation"] | components["schemas"]["SDXLRefinerRawPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["TextToLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["SDXLTextToLatentsInvocation"] | components["schemas"]["SDXLLatentsToLatentsInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["InpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"] | components["schemas"]["LatentsToLatentsInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"]; }; }; responses: { diff --git a/invokeai/frontend/web/src/services/api/types.ts b/invokeai/frontend/web/src/services/api/types.ts index e7e3accdad..7c8f0908b0 100644 --- a/invokeai/frontend/web/src/services/api/types.ts +++ b/invokeai/frontend/web/src/services/api/types.ts @@ -120,9 +120,6 @@ export type RandomRangeInvocation = TypeReq< export type RangeOfSizeInvocation = TypeReq< components['schemas']['RangeOfSizeInvocation'] >; -export type InpaintInvocation = TypeReq< - components['schemas']['InpaintInvocation'] ->; export type ImageResizeInvocation = TypeReq< components['schemas']['ImageResizeInvocation'] >; @@ -139,14 +136,11 @@ export type DynamicPromptInvocation = TypeReq< components['schemas']['DynamicPromptInvocation'] >; export type NoiseInvocation = TypeReq; -export type TextToLatentsInvocation = TypeReq< - components['schemas']['TextToLatentsInvocation'] ->; export type ONNXTextToLatentsInvocation = TypeReq< components['schemas']['ONNXTextToLatentsInvocation'] >; -export type LatentsToLatentsInvocation = TypeReq< - components['schemas']['LatentsToLatentsInvocation'] +export type DenoiseLatentsInvocation = TypeReq< + components['schemas']['DenoiseLatentsInvocation'] >; export type ImageToLatentsInvocation = TypeReq< components['schemas']['ImageToLatentsInvocation'] From f3ae52ff97a2c4983ec07c38ceb354792589acfd Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Fri, 11 Aug 2023 15:46:16 +0300 Subject: [PATCH 159/287] Fix error at high denoising_start, fix unipc(cpu_only) --- invokeai/app/invocations/latent.py | 10 +++- .../stable_diffusion/diffusers_pipeline.py | 47 +++++++------------ 2 files changed, 25 insertions(+), 32 deletions(-) diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index 743e3f54b2..15e7c15802 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -317,6 +317,9 @@ class DenoiseLatentsInvocation(BaseInvocation): return control_data def init_scheduler(self, scheduler, device, steps, denoising_start, denoising_end): + if scheduler.config.get("cpu_only", False): + device = torch.device("cpu") + # apply denoising_start num_inference_steps = steps scheduler.set_timesteps(num_inference_steps, device=device) @@ -325,6 +328,8 @@ class DenoiseLatentsInvocation(BaseInvocation): timesteps = scheduler.timesteps[t_start * scheduler.order :] num_inference_steps = num_inference_steps - t_start + init_timestep = timesteps[:1] + # apply denoising_end num_warmup_steps = max(len(timesteps) - num_inference_steps * scheduler.order, 0) @@ -332,7 +337,7 @@ class DenoiseLatentsInvocation(BaseInvocation): num_inference_steps = num_inference_steps - skipped_final_steps timesteps = timesteps[: num_warmup_steps + scheduler.order * num_inference_steps] - return num_inference_steps, timesteps + return num_inference_steps, timesteps, init_timestep def prep_mask_tensor(self, mask, context, lantents): if mask is None: @@ -418,7 +423,7 @@ class DenoiseLatentsInvocation(BaseInvocation): exit_stack=exit_stack, ) - num_inference_steps, timesteps = self.init_scheduler( + num_inference_steps, timesteps, init_timestep = self.init_scheduler( scheduler, device=unet.device, steps=self.steps, @@ -429,6 +434,7 @@ class DenoiseLatentsInvocation(BaseInvocation): result_latents, result_attention_map_saver = pipeline.latents_from_embeddings( latents=latents, timesteps=timesteps, + init_timestep=init_timestep, noise=noise, seed=seed, mask=mask, diff --git a/invokeai/backend/stable_diffusion/diffusers_pipeline.py b/invokeai/backend/stable_diffusion/diffusers_pipeline.py index e5bb1f0f3d..8e0edb3c30 100644 --- a/invokeai/backend/stable_diffusion/diffusers_pipeline.py +++ b/invokeai/backend/stable_diffusion/diffusers_pipeline.py @@ -365,22 +365,16 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): conditioning_data: ConditioningData, *, noise: Optional[torch.Tensor], - timesteps=None, + timesteps: torch.Tensor, + init_timestep: torch.Tensor, additional_guidance: List[Callable] = None, callback: Callable[[PipelineIntermediateState], None] = None, control_data: List[ControlNetData] = None, mask: Optional[torch.Tensor] = None, seed: Optional[int] = None, ) -> tuple[torch.Tensor, Optional[AttentionMapSaver]]: - # TODO: - if self.scheduler.config.get("cpu_only", False): - scheduler_device = torch.device("cpu") - else: - scheduler_device = self.unet.device - - if timesteps is None: - self.scheduler.set_timesteps(num_inference_steps, device=scheduler_device) - timesteps = self.scheduler.timesteps + if init_timestep.shape[0] == 0: + return latents, None infer_latents_from_embeddings = GeneratorToCallbackinator( self.generate_latents_from_embeddings, PipelineIntermediateState @@ -392,31 +386,12 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): orig_latents = latents.clone() batch_size = latents.shape[0] - batched_t = torch.full( - (batch_size,), - timesteps[0], - dtype=timesteps.dtype, - device=self.unet.device, - ) + batched_t = init_timestep.repeat(batch_size) if noise is not None: #latents = noise * self.scheduler.init_noise_sigma # it's like in t2l according to diffusers latents = self.scheduler.add_noise(latents, noise, batched_t) - else: - # if no noise provided, noisify unmasked area based on seed(or 0 as fallback) - if mask is not None: - noise = torch.randn( - orig_latents.shape, - dtype=torch.float32, - device="cpu", - generator=torch.Generator(device="cpu").manual_seed(seed or 0), - ).to(device=orig_latents.device, dtype=orig_latents.dtype) - - latents = self.scheduler.add_noise(latents, noise, batched_t) - latents = torch.lerp(orig_latents, latents.to(dtype=orig_latents.dtype), mask.to(dtype=orig_latents.dtype)) - - if mask is not None: if is_inpainting_model(self.unet): # You'd think the inpainting model wouldn't be paying attention to the area it is going to repaint @@ -428,6 +403,18 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): self._unet_forward, mask, orig_latents ) else: + # if no noise provided, noisify unmasked area based on seed(or 0 as fallback) + if noise is None: + noise = torch.randn( + orig_latents.shape, + dtype=torch.float32, + device="cpu", + generator=torch.Generator(device="cpu").manual_seed(seed or 0), + ).to(device=orig_latents.device, dtype=orig_latents.dtype) + + latents = self.scheduler.add_noise(latents, noise, batched_t) + latents = torch.lerp(orig_latents, latents.to(dtype=orig_latents.dtype), mask.to(dtype=orig_latents.dtype)) + additional_guidance.append(AddsMaskGuidance(mask, orig_latents, self.scheduler, noise)) try: From 69a9dc7b36091a0fc74355479b13aaa566f69ced Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sat, 12 Aug 2023 02:42:13 +1200 Subject: [PATCH 160/287] wip: Add initial Inpaint Graph --- .../nodes/util/graphBuilders/addVAEToGraph.ts | 10 +- .../graphBuilders/buildCanvasInpaintGraph.ts | 109 +++++++++++++----- .../nodes/util/graphBuilders/constants.ts | 9 ++ 3 files changed, 93 insertions(+), 35 deletions(-) diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addVAEToGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addVAEToGraph.ts index 1472b3ea3f..85e8fed572 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addVAEToGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addVAEToGraph.ts @@ -4,8 +4,8 @@ import { MetadataAccumulatorInvocation } from 'services/api/types'; import { IMAGE_TO_IMAGE_GRAPH, IMAGE_TO_LATENTS, - INPAINT, INPAINT_GRAPH, + INPAINT_IMAGE, LATENTS_TO_IMAGE, MAIN_MODEL_LOADER, METADATA_ACCUMULATOR, @@ -35,7 +35,11 @@ export const addVAEToGraph = ( }; } const isOnnxModel = modelLoaderNodeId == ONNX_MODEL_LOADER; - if (graph.id === TEXT_TO_IMAGE_GRAPH || graph.id === IMAGE_TO_IMAGE_GRAPH) { + if ( + graph.id === TEXT_TO_IMAGE_GRAPH || + graph.id === IMAGE_TO_IMAGE_GRAPH || + graph.id === INPAINT_GRAPH + ) { graph.edges.push({ source: { node_id: isAutoVae ? modelLoaderNodeId : VAE_LOADER, @@ -68,7 +72,7 @@ export const addVAEToGraph = ( field: isAutoVae && isOnnxModel ? 'vae_decoder' : 'vae', }, destination: { - node_id: INPAINT, + node_id: INPAINT_IMAGE, field: 'vae', }, }); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts index 3cec76757f..892cdc2d7c 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts @@ -3,10 +3,10 @@ import { RootState } from 'app/store/store'; import { NonNullableGraph } from 'features/nodes/types/types'; import { ImageDTO, - InpaintInvocation, RandomIntInvocation, RangeOfSizeInvocation, } from 'services/api/types'; +import { addControlNetToLinearGraph } from './addControlNetToLinearGraph'; import { addLoRAsToGraph } from './addLoRAsToGraph'; import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; import { addVAEToGraph } from './addVAEToGraph'; @@ -15,9 +15,12 @@ import { CLIP_SKIP, INPAINT, INPAINT_GRAPH, + INPAINT_IMAGE, ITERATE, + LATENTS_TO_IMAGE, MAIN_MODEL_LOADER, NEGATIVE_CONDITIONING, + NOISE, POSITIVE_CONDITIONING, RANDOM_INT, RANGE_OF_SIZE, @@ -44,6 +47,9 @@ export const buildCanvasInpaintGraph = ( iterations, seed, shouldRandomizeSeed, + vaePrecision, + shouldUseNoiseSettings, + shouldUseCpuNoise, seamSize, seamBlur, seamSteps, @@ -68,40 +74,38 @@ export const buildCanvasInpaintGraph = ( shouldAutoSave, } = state.canvas; + const use_cpu = shouldUseNoiseSettings + ? shouldUseCpuNoise + : shouldUseCpuNoise; + const graph: NonNullableGraph = { id: INPAINT_GRAPH, nodes: { [INPAINT]: { - is_intermediate: !shouldAutoSave, - type: 'inpaint', + type: 'denoise_latents', id: INPAINT, - steps, + is_intermediate: true, + steps: steps, + cfg_scale: cfg_scale, + scheduler: scheduler, + denoising_start: 1 - strength, + denoising_end: 1, + mask: canvasMaskImage, + }, + [INPAINT_IMAGE]: { + type: 'i2l', + id: INPAINT_IMAGE, + is_intermediate: true, + image: canvasInitImage, + fp32: vaePrecision === 'fp32' ? true : false, + }, + [NOISE]: { + type: 'noise', + id: NOISE, width, height, - cfg_scale, - scheduler, - image: { - image_name: canvasInitImage.image_name, - }, - strength, - fit: shouldFitToWidthHeight, - mask: { - image_name: canvasMaskImage.image_name, - }, - seam_size: seamSize, - seam_blur: seamBlur, - seam_strength: seamStrength, - seam_steps: seamSteps, - tile_size: infillMethod === 'tile' ? tileSize : undefined, - infill_method: infillMethod as InpaintInvocation['infill_method'], - inpaint_width: - boundingBoxScaleMethod !== 'none' - ? scaledBoundingBoxDimensions.width - : undefined, - inpaint_height: - boundingBoxScaleMethod !== 'none' - ? scaledBoundingBoxDimensions.height - : undefined, + use_cpu, + is_intermediate: true, }, [POSITIVE_CONDITIONING]: { type: 'compel', @@ -121,12 +125,19 @@ export const buildCanvasInpaintGraph = ( is_intermediate: true, model, }, + [LATENTS_TO_IMAGE]: { + type: 'l2i', + id: LATENTS_TO_IMAGE, + is_intermediate: true, + fp32: vaePrecision === 'fp32' ? true : false, + }, [CLIP_SKIP]: { type: 'clip_skip', id: CLIP_SKIP, is_intermediate: true, skipped_layers: clipSkip, }, + [RANGE_OF_SIZE]: { type: 'range_of_size', id: RANGE_OF_SIZE, @@ -203,6 +214,26 @@ export const buildCanvasInpaintGraph = ( field: 'positive_conditioning', }, }, + { + source: { + node_id: NOISE, + field: 'noise', + }, + destination: { + node_id: INPAINT, + field: 'noise', + }, + }, + { + source: { + node_id: INPAINT_IMAGE, + field: 'latents', + }, + destination: { + node_id: INPAINT, + field: 'latents', + }, + }, { source: { node_id: RANGE_OF_SIZE, @@ -219,17 +250,25 @@ export const buildCanvasInpaintGraph = ( field: 'item', }, destination: { - node_id: INPAINT, + node_id: NOISE, field: 'seed', }, }, + { + source: { + node_id: INPAINT, + field: 'latents', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'latents', + }, + }, ], }; - addLoRAsToGraph(state, graph, INPAINT); - // Add VAE - addVAEToGraph(state, graph); + addVAEToGraph(state, graph, MAIN_MODEL_LOADER); // handle seed if (shouldRandomizeSeed) { @@ -251,6 +290,12 @@ export const buildCanvasInpaintGraph = ( (graph.nodes[RANGE_OF_SIZE] as RangeOfSizeInvocation).start = seed; } + // add LoRA support + addLoRAsToGraph(state, graph, INPAINT, MAIN_MODEL_LOADER); + + // add controlnet, mutating `graph` + addControlNetToLinearGraph(state, graph, INPAINT); + // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { // must add before watermarker! diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts index 2282184521..6a66093da0 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts @@ -18,6 +18,15 @@ export const IMAGE_TO_LATENTS = 'image_to_latents'; export const LATENTS_TO_LATENTS = 'latents_to_latents'; export const RESIZE = 'resize_image'; export const INPAINT = 'inpaint'; +export const INPAINT_SEAM_FIX = 'inpaint_seam_fix'; +export const INPAINT_IMAGE = 'inpaint_image'; +export const INFILL_TILE = 'infill_tile'; +export const INPAINT_FINAL_IMAGE = 'inpaint_final_image'; +export const MASK_FROM_ALPHA = 'tomask'; +export const MASK_EDGE = 'mask_edge'; +export const MASK_BLUR = 'mask_blur'; +export const COLOR_CORRECT = 'color_correct'; +export const PASTE_IMAGE = 'img_paste'; export const CONTROL_NET_COLLECT = 'control_net_collect'; export const DYNAMIC_PROMPT = 'dynamic_prompt'; export const IMAGE_COLLECTION = 'image_collection'; From 1affb7f64790b15c3a4b8e3a97e77aeeae6ac756 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sat, 12 Aug 2023 03:28:19 +1200 Subject: [PATCH 161/287] feat: Add Paste / Mask Blur / Color Correction to Inpainting Seam options are now removed. They are replaced by two options --Mask Blur and Mask Blur Method .. which control the softness of the mask that is being painted. --- invokeai/frontend/web/public/locales/en.json | 3 + .../graphBuilders/buildCanvasInpaintGraph.ts | 72 +++++++++++++++++-- .../ParamMaskAdjustmentCollapse.tsx | 21 ++++++ .../ParamMaskBlur.tsx} | 16 ++--- .../MaskAdjustment/ParamMaskBlurMethod.tsx | 36 ++++++++++ .../ParamSeamCorrectionCollapse.tsx | 22 ------ .../Canvas/SeamCorrection/ParamSeamSize.tsx | 31 -------- .../Canvas/SeamCorrection/ParamSeamSteps.tsx | 32 --------- .../SeamCorrection/ParamSeamStrength.tsx | 32 --------- .../parameters/store/generationSlice.ts | 33 +++------ .../UnifiedCanvas/UnifiedCanvasParameters.tsx | 4 +- 11 files changed, 147 insertions(+), 155 deletions(-) create mode 100644 invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/MaskAdjustment/ParamMaskAdjustmentCollapse.tsx rename invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/{SeamCorrection/ParamSeamBlur.tsx => MaskAdjustment/ParamMaskBlur.tsx} (62%) create mode 100644 invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/MaskAdjustment/ParamMaskBlurMethod.tsx delete mode 100644 invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamCorrection/ParamSeamCorrectionCollapse.tsx delete mode 100644 invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamCorrection/ParamSeamSize.tsx delete mode 100644 invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamCorrection/ParamSeamSteps.tsx delete mode 100644 invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamCorrection/ParamSeamStrength.tsx diff --git a/invokeai/frontend/web/public/locales/en.json b/invokeai/frontend/web/public/locales/en.json index 63380a19fa..fbae5b4a30 100644 --- a/invokeai/frontend/web/public/locales/en.json +++ b/invokeai/frontend/web/public/locales/en.json @@ -503,6 +503,9 @@ "hiresStrength": "High Res Strength", "imageFit": "Fit Initial Image To Output Size", "codeformerFidelity": "Fidelity", + "maskAdjustmentsHeader": "Mask Adjustments", + "maskBlur": "Mask Blur", + "maskBlurMethod": "Mask Blur Method", "seamSize": "Seam Size", "seamBlur": "Seam Blur", "seamStrength": "Seam Strength", diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts index 892cdc2d7c..817e8d5176 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts @@ -13,12 +13,15 @@ import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { CLIP_SKIP, + COLOR_CORRECT, INPAINT, + INPAINT_FINAL_IMAGE, INPAINT_GRAPH, INPAINT_IMAGE, ITERATE, LATENTS_TO_IMAGE, MAIN_MODEL_LOADER, + MASK_BLUR, NEGATIVE_CONDITIONING, NOISE, POSITIVE_CONDITIONING, @@ -50,10 +53,8 @@ export const buildCanvasInpaintGraph = ( vaePrecision, shouldUseNoiseSettings, shouldUseCpuNoise, - seamSize, - seamBlur, - seamSteps, - seamStrength, + maskBlur, + maskBlurMethod, tileSize, infillMethod, clipSkip, @@ -90,7 +91,6 @@ export const buildCanvasInpaintGraph = ( scheduler: scheduler, denoising_start: 1 - strength, denoising_end: 1, - mask: canvasMaskImage, }, [INPAINT_IMAGE]: { type: 'i2l', @@ -137,7 +137,27 @@ export const buildCanvasInpaintGraph = ( is_intermediate: true, skipped_layers: clipSkip, }, - + [COLOR_CORRECT]: { + type: 'color_correct', + id: COLOR_CORRECT, + is_intermediate: true, + reference: canvasInitImage, + mask: canvasMaskImage, + }, + [MASK_BLUR]: { + type: 'img_blur', + id: MASK_BLUR, + is_intermediate: true, + image: canvasMaskImage, + radius: maskBlur, + blur_type: maskBlurMethod, + }, + [INPAINT_FINAL_IMAGE]: { + type: 'img_paste', + id: INPAINT_FINAL_IMAGE, + is_intermediate: true, + base_image: canvasInitImage, + }, [RANGE_OF_SIZE]: { type: 'range_of_size', id: RANGE_OF_SIZE, @@ -234,6 +254,16 @@ export const buildCanvasInpaintGraph = ( field: 'latents', }, }, + { + source: { + node_id: MASK_BLUR, + field: 'image', + }, + destination: { + node_id: INPAINT, + field: 'mask', + }, + }, { source: { node_id: RANGE_OF_SIZE, @@ -264,6 +294,36 @@ export const buildCanvasInpaintGraph = ( field: 'latents', }, }, + { + source: { + node_id: LATENTS_TO_IMAGE, + field: 'image', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'image', + }, + }, + { + source: { + node_id: MASK_BLUR, + field: 'image', + }, + destination: { + node_id: INPAINT_FINAL_IMAGE, + field: 'mask', + }, + }, + { + source: { + node_id: COLOR_CORRECT, + field: 'image', + }, + destination: { + node_id: INPAINT_FINAL_IMAGE, + field: 'image', + }, + }, ], }; diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/MaskAdjustment/ParamMaskAdjustmentCollapse.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/MaskAdjustment/ParamMaskAdjustmentCollapse.tsx new file mode 100644 index 0000000000..9ca6503d3d --- /dev/null +++ b/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/MaskAdjustment/ParamMaskAdjustmentCollapse.tsx @@ -0,0 +1,21 @@ +import { Flex } from '@chakra-ui/react'; +import IAICollapse from 'common/components/IAICollapse'; +import { memo } from 'react'; +import { useTranslation } from 'react-i18next'; +import ParamMaskBlur from './ParamMaskBlur'; +import ParamMaskBlurMethod from './ParamMaskBlurMethod'; + +const ParamMaskAdjustmentCollapse = () => { + const { t } = useTranslation(); + + return ( + + + + + + + ); +}; + +export default memo(ParamMaskAdjustmentCollapse); diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamCorrection/ParamSeamBlur.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/MaskAdjustment/ParamMaskBlur.tsx similarity index 62% rename from invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamCorrection/ParamSeamBlur.tsx rename to invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/MaskAdjustment/ParamMaskBlur.tsx index 5c20ba7a13..82b82228e2 100644 --- a/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamCorrection/ParamSeamBlur.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/MaskAdjustment/ParamMaskBlur.tsx @@ -1,31 +1,31 @@ import type { RootState } from 'app/store/store'; import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; import IAISlider from 'common/components/IAISlider'; -import { setSeamBlur } from 'features/parameters/store/generationSlice'; +import { setMaskBlur } from 'features/parameters/store/generationSlice'; import { useTranslation } from 'react-i18next'; -export default function ParamSeamBlur() { +export default function ParamMaskBlur() { const dispatch = useAppDispatch(); - const seamBlur = useAppSelector( - (state: RootState) => state.generation.seamBlur + const maskBlur = useAppSelector( + (state: RootState) => state.generation.maskBlur ); const { t } = useTranslation(); return ( { - dispatch(setSeamBlur(v)); + dispatch(setMaskBlur(v)); }} withInput withSliderMarks withReset handleReset={() => { - dispatch(setSeamBlur(16)); + dispatch(setMaskBlur(16)); }} /> ); diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/MaskAdjustment/ParamMaskBlurMethod.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/MaskAdjustment/ParamMaskBlurMethod.tsx new file mode 100644 index 0000000000..b45dc8b884 --- /dev/null +++ b/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/MaskAdjustment/ParamMaskBlurMethod.tsx @@ -0,0 +1,36 @@ +import { SelectItem } from '@mantine/core'; +import { RootState } from 'app/store/store'; + +import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; +import IAIMantineSelect from 'common/components/IAIMantineSelect'; +import { setMaskBlurMethod } from 'features/parameters/store/generationSlice'; +import { useTranslation } from 'react-i18next'; + +export type MaskBlurMethods = 'box' | 'gaussian'; + +const maskBlurMethods: SelectItem[] = [ + { label: 'Box Blur', value: 'box' }, + { label: 'Gaussian Blur', value: 'gaussian' }, +]; + +export default function ParamMaskBlurMethod() { + const maskBlurMethod = useAppSelector( + (state: RootState) => state.generation.maskBlurMethod + ); + const dispatch = useAppDispatch(); + const { t } = useTranslation(); + + const handleMaskBlurMethodChange = (v: string | null) => { + if (!v) return; + dispatch(setMaskBlurMethod(v as MaskBlurMethods)); + }; + + return ( + + ); +} diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamCorrection/ParamSeamCorrectionCollapse.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamCorrection/ParamSeamCorrectionCollapse.tsx deleted file mode 100644 index 88d839fa15..0000000000 --- a/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamCorrection/ParamSeamCorrectionCollapse.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import IAICollapse from 'common/components/IAICollapse'; -import { memo } from 'react'; -import { useTranslation } from 'react-i18next'; -import ParamSeamBlur from './ParamSeamBlur'; -import ParamSeamSize from './ParamSeamSize'; -import ParamSeamSteps from './ParamSeamSteps'; -import ParamSeamStrength from './ParamSeamStrength'; - -const ParamSeamCorrectionCollapse = () => { - const { t } = useTranslation(); - - return ( - - - - - - - ); -}; - -export default memo(ParamSeamCorrectionCollapse); diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamCorrection/ParamSeamSize.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamCorrection/ParamSeamSize.tsx deleted file mode 100644 index 8e56cded7b..0000000000 --- a/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamCorrection/ParamSeamSize.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import type { RootState } from 'app/store/store'; -import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; -import IAISlider from 'common/components/IAISlider'; -import { setSeamSize } from 'features/parameters/store/generationSlice'; -import { useTranslation } from 'react-i18next'; - -export default function ParamSeamSize() { - const dispatch = useAppDispatch(); - const { t } = useTranslation(); - - const seamSize = useAppSelector( - (state: RootState) => state.generation.seamSize - ); - - return ( - { - dispatch(setSeamSize(v)); - }} - withInput - withSliderMarks - withReset - handleReset={() => dispatch(setSeamSize(96))} - /> - ); -} diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamCorrection/ParamSeamSteps.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamCorrection/ParamSeamSteps.tsx deleted file mode 100644 index 8ca5226621..0000000000 --- a/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamCorrection/ParamSeamSteps.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import type { RootState } from 'app/store/store'; -import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; -import IAISlider from 'common/components/IAISlider'; -import { setSeamSteps } from 'features/parameters/store/generationSlice'; -import { useTranslation } from 'react-i18next'; - -export default function ParamSeamSteps() { - const { t } = useTranslation(); - const seamSteps = useAppSelector( - (state: RootState) => state.generation.seamSteps - ); - const dispatch = useAppDispatch(); - - return ( - { - dispatch(setSeamSteps(v)); - }} - withInput - withSliderMarks - withReset - handleReset={() => { - dispatch(setSeamSteps(30)); - }} - /> - ); -} diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamCorrection/ParamSeamStrength.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamCorrection/ParamSeamStrength.tsx deleted file mode 100644 index de74156cd3..0000000000 --- a/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/SeamCorrection/ParamSeamStrength.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { RootState } from 'app/store/store'; -import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; -import IAISlider from 'common/components/IAISlider'; -import { setSeamStrength } from 'features/parameters/store/generationSlice'; -import { useTranslation } from 'react-i18next'; - -export default function ParamSeamStrength() { - const dispatch = useAppDispatch(); - const { t } = useTranslation(); - const seamStrength = useAppSelector( - (state: RootState) => state.generation.seamStrength - ); - - return ( - { - dispatch(setSeamStrength(v)); - }} - withInput - withSliderMarks - withReset - handleReset={() => { - dispatch(setSeamStrength(0.7)); - }} - /> - ); -} diff --git a/invokeai/frontend/web/src/features/parameters/store/generationSlice.ts b/invokeai/frontend/web/src/features/parameters/store/generationSlice.ts index 12f2c3eabf..33a76da4e6 100644 --- a/invokeai/frontend/web/src/features/parameters/store/generationSlice.ts +++ b/invokeai/frontend/web/src/features/parameters/store/generationSlice.ts @@ -4,6 +4,7 @@ import { roundToMultiple } from 'common/util/roundDownToMultiple'; import { configChanged } from 'features/system/store/configSlice'; import { clamp } from 'lodash-es'; import { ImageDTO } from 'services/api/types'; +import { MaskBlurMethods } from '../components/Parameters/Canvas/MaskAdjustment/ParamMaskBlurMethod'; import { clipSkipMap } from '../types/constants'; import { CfgScaleParam, @@ -33,10 +34,8 @@ export interface GenerationState { positivePrompt: PositivePromptParam; negativePrompt: NegativePromptParam; scheduler: SchedulerParam; - seamBlur: number; - seamSize: number; - seamSteps: number; - seamStrength: number; + maskBlur: number; + maskBlurMethod: MaskBlurMethods; seed: SeedParam; seedWeights: string; shouldFitToWidthHeight: boolean; @@ -72,10 +71,8 @@ export const initialGenerationState: GenerationState = { positivePrompt: '', negativePrompt: '', scheduler: 'euler', - seamBlur: 16, - seamSize: 96, - seamSteps: 30, - seamStrength: 0.7, + maskBlur: 16, + maskBlurMethod: 'box', seed: 0, seedWeights: '', shouldFitToWidthHeight: true, @@ -196,17 +193,11 @@ export const generationSlice = createSlice({ clearInitialImage: (state) => { state.initialImage = undefined; }, - setSeamSize: (state, action: PayloadAction) => { - state.seamSize = action.payload; + setMaskBlur: (state, action: PayloadAction) => { + state.maskBlur = action.payload; }, - setSeamBlur: (state, action: PayloadAction) => { - state.seamBlur = action.payload; - }, - setSeamStrength: (state, action: PayloadAction) => { - state.seamStrength = action.payload; - }, - setSeamSteps: (state, action: PayloadAction) => { - state.seamSteps = action.payload; + setMaskBlurMethod: (state, action: PayloadAction) => { + state.maskBlurMethod = action.payload; }, setTileSize: (state, action: PayloadAction) => { state.tileSize = action.payload; @@ -312,10 +303,8 @@ export const { setPositivePrompt, setNegativePrompt, setScheduler, - setSeamBlur, - setSeamSize, - setSeamSteps, - setSeamStrength, + setMaskBlur, + setMaskBlurMethod, setSeed, setSeedWeights, setShouldFitToWidthHeight, diff --git a/invokeai/frontend/web/src/features/ui/components/tabs/UnifiedCanvas/UnifiedCanvasParameters.tsx b/invokeai/frontend/web/src/features/ui/components/tabs/UnifiedCanvas/UnifiedCanvasParameters.tsx index de7ce3b084..fcfffee48b 100644 --- a/invokeai/frontend/web/src/features/ui/components/tabs/UnifiedCanvas/UnifiedCanvasParameters.tsx +++ b/invokeai/frontend/web/src/features/ui/components/tabs/UnifiedCanvas/UnifiedCanvasParameters.tsx @@ -2,10 +2,10 @@ import ParamDynamicPromptsCollapse from 'features/dynamicPrompts/components/Para import ParamLoraCollapse from 'features/lora/components/ParamLoraCollapse'; import ParamAdvancedCollapse from 'features/parameters/components/Parameters/Advanced/ParamAdvancedCollapse'; import ParamInfillAndScalingCollapse from 'features/parameters/components/Parameters/Canvas/InfillAndScaling/ParamInfillAndScalingCollapse'; -import ParamSeamCorrectionCollapse from 'features/parameters/components/Parameters/Canvas/SeamCorrection/ParamSeamCorrectionCollapse'; import ParamControlNetCollapse from 'features/parameters/components/Parameters/ControlNet/ParamControlNetCollapse'; import ParamSymmetryCollapse from 'features/parameters/components/Parameters/Symmetry/ParamSymmetryCollapse'; // import ParamVariationCollapse from 'features/parameters/components/Parameters/Variations/ParamVariationCollapse'; +import ParamMaskAdjustmentCollapse from 'features/parameters/components/Parameters/Canvas/MaskAdjustment/ParamMaskAdjustmentCollapse'; import ParamPromptArea from 'features/parameters/components/Parameters/Prompt/ParamPromptArea'; import ProcessButtons from 'features/parameters/components/ProcessButtons/ProcessButtons'; import UnifiedCanvasCoreParameters from './UnifiedCanvasCoreParameters'; @@ -21,7 +21,7 @@ const UnifiedCanvasParameters = () => { {/* */} - + From 5629d8fa372a170dfba945c251775a147e4a61ee Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sat, 12 Aug 2023 04:43:40 +1200 Subject: [PATCH 162/287] fix; Key issue in Lora List --- .../web/src/features/lora/components/ParamLoraList.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/invokeai/frontend/web/src/features/lora/components/ParamLoraList.tsx b/invokeai/frontend/web/src/features/lora/components/ParamLoraList.tsx index f10084e585..5ba4e711ef 100644 --- a/invokeai/frontend/web/src/features/lora/components/ParamLoraList.tsx +++ b/invokeai/frontend/web/src/features/lora/components/ParamLoraList.tsx @@ -1,4 +1,4 @@ -import { Divider } from '@chakra-ui/react'; +import { Divider, Flex } from '@chakra-ui/react'; import { createSelector } from '@reduxjs/toolkit'; import { stateSelector } from 'app/store/store'; import { useAppSelector } from 'app/store/storeHooks'; @@ -20,10 +20,10 @@ const ParamLoraList = () => { return ( <> {lorasArray.map((lora, i) => ( - <> - {i > 0 && } - - + + {i > 0 && } + + ))} ); From 58a48bf19717d76904e21299cb6b5f32a41a4b33 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sat, 12 Aug 2023 04:47:15 +1200 Subject: [PATCH 163/287] fix: LoRA list name sorting --- .../web/src/features/lora/components/ParamLoraSelect.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/invokeai/frontend/web/src/features/lora/components/ParamLoraSelect.tsx b/invokeai/frontend/web/src/features/lora/components/ParamLoraSelect.tsx index 951037f9e3..2046d36ab2 100644 --- a/invokeai/frontend/web/src/features/lora/components/ParamLoraSelect.tsx +++ b/invokeai/frontend/web/src/features/lora/components/ParamLoraSelect.tsx @@ -54,6 +54,8 @@ const ParamLoRASelect = () => { }); }); + data.sort((a, b) => (a.label && !b.label ? 1 : -1)); + return data.sort((a, b) => (a.disabled && !b.disabled ? 1 : -1)); }, [loras, loraModels, currentMainModel?.base_model]); From d7d6298ec0538f539df255c6dc3f589b537a61f0 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sat, 12 Aug 2023 05:32:11 +1200 Subject: [PATCH 164/287] feat: Add Infill Method support --- .../graphBuilders/buildCanvasInpaintGraph.ts | 34 ++++++++++++++++++- .../nodes/util/graphBuilders/constants.ts | 2 +- .../frontend/web/src/services/api/types.ts | 6 ++++ 3 files changed, 40 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts index 817e8d5176..968e32efe9 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts @@ -3,6 +3,8 @@ import { RootState } from 'app/store/store'; import { NonNullableGraph } from 'features/nodes/types/types'; import { ImageDTO, + InfillPatchmatchInvocation, + InfillTileInvocation, RandomIntInvocation, RangeOfSizeInvocation, } from 'services/api/types'; @@ -18,6 +20,7 @@ import { INPAINT_FINAL_IMAGE, INPAINT_GRAPH, INPAINT_IMAGE, + INPAINT_INFILL, ITERATE, LATENTS_TO_IMAGE, MAIN_MODEL_LOADER, @@ -60,6 +63,8 @@ export const buildCanvasInpaintGraph = ( clipSkip, } = state.generation; + const { generationMode } = state.canvas; + if (!model) { log.error('No model found in state'); throw new Error('No model found in state'); @@ -79,6 +84,23 @@ export const buildCanvasInpaintGraph = ( ? shouldUseCpuNoise : shouldUseCpuNoise; + let infillNode: InfillTileInvocation | InfillPatchmatchInvocation = { + type: 'infill_tile', + id: INPAINT_INFILL, + is_intermediate: true, + image: canvasInitImage, + tile_size: tileSize, + }; + + if (infillMethod === 'patchmatch') { + infillNode = { + type: 'infill_patchmatch', + id: INPAINT_INFILL, + is_intermediate: true, + image: canvasInitImage, + }; + } + const graph: NonNullableGraph = { id: INPAINT_GRAPH, nodes: { @@ -92,11 +114,11 @@ export const buildCanvasInpaintGraph = ( denoising_start: 1 - strength, denoising_end: 1, }, + [infillNode.id]: infillNode, [INPAINT_IMAGE]: { type: 'i2l', id: INPAINT_IMAGE, is_intermediate: true, - image: canvasInitImage, fp32: vaePrecision === 'fp32' ? true : false, }, [NOISE]: { @@ -244,6 +266,16 @@ export const buildCanvasInpaintGraph = ( field: 'noise', }, }, + { + source: { + node_id: INPAINT_INFILL, + field: 'image', + }, + destination: { + node_id: INPAINT_IMAGE, + field: 'image', + }, + }, { source: { node_id: INPAINT_IMAGE, diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts index 6a66093da0..b75dfbf4c6 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts @@ -20,7 +20,7 @@ export const RESIZE = 'resize_image'; export const INPAINT = 'inpaint'; export const INPAINT_SEAM_FIX = 'inpaint_seam_fix'; export const INPAINT_IMAGE = 'inpaint_image'; -export const INFILL_TILE = 'infill_tile'; +export const INPAINT_INFILL = 'inpaint_infill'; export const INPAINT_FINAL_IMAGE = 'inpaint_final_image'; export const MASK_FROM_ALPHA = 'tomask'; export const MASK_EDGE = 'mask_edge'; diff --git a/invokeai/frontend/web/src/services/api/types.ts b/invokeai/frontend/web/src/services/api/types.ts index 7c8f0908b0..471c995f4d 100644 --- a/invokeai/frontend/web/src/services/api/types.ts +++ b/invokeai/frontend/web/src/services/api/types.ts @@ -172,6 +172,12 @@ export type ESRGANInvocation = TypeReq< export type DivideInvocation = TypeReq< components['schemas']['DivideInvocation'] >; +export type InfillTileInvocation = TypeReq< + components['schemas']['InfillTileInvocation'] +>; +export type InfillPatchmatchInvocation = TypeReq< + components['schemas']['InfillPatchMatchInvocation'] +>; export type ImageNSFWBlurInvocation = TypeReq< components['schemas']['ImageNSFWBlurInvocation'] >; From 824ca92760bf1ebac22740e35ab1af8dc58f48c0 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Fri, 11 Aug 2023 13:45:52 -0400 Subject: [PATCH 165/287] fix maximum python version instructions --- installer/readme.txt | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/installer/readme.txt b/installer/readme.txt index 5138d0cd52..b9a97e2093 100644 --- a/installer/readme.txt +++ b/installer/readme.txt @@ -8,16 +8,13 @@ Preparations: to work. Instructions are given here: https://invoke-ai.github.io/InvokeAI/installation/INSTALL_AUTOMATED/ - NOTE: At this time we do not recommend Python 3.11. We recommend - Version 3.10.9, which has been extensively tested with InvokeAI. - Before you start the installer, please open up your system's command line window (Terminal or Command) and type the commands: python --version If all is well, it will print "Python 3.X.X", where the version number - is at least 3.9.1, and less than 3.11. + is at least 3.9.*, and not higher than 3.11.*. If this works, check the version of the Python package manager, pip: From f343ab03022ff61498900d22b637439a95de5f6b Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sat, 12 Aug 2023 06:15:59 +1200 Subject: [PATCH 166/287] wip: Port Outpainting to new backend --- invokeai/app/invocations/image.py | 113 ++++++++++-------- .../graphBuilders/buildCanvasInpaintGraph.ts | 84 +++++++++++-- .../nodes/util/graphBuilders/constants.ts | 1 + .../frontend/web/src/services/api/schema.d.ts | 53 ++++++-- 4 files changed, 176 insertions(+), 75 deletions(-) diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index 9e5cb9ecef..cc05b529b5 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -1,29 +1,19 @@ # Copyright (c) 2022 Kyle Schouviller (https://github.com/kyle0654) -from typing import Literal, Optional - -import numpy -import cv2 -from PIL import Image, ImageFilter, ImageOps, ImageChops -from pydantic import Field from pathlib import Path -from typing import Union +from typing import Literal, Optional, Union + +import cv2 +import numpy +from PIL import Image, ImageChops, ImageFilter, ImageOps +from pydantic import Field + from invokeai.app.invocations.metadata import CoreMetadata -from ..models.image import ( - ImageCategory, - ImageField, - ResourceOrigin, - PILInvocationConfig, - ImageOutput, - MaskOutput, -) -from .baseinvocation import ( - BaseInvocation, - InvocationContext, - InvocationConfig, -) -from invokeai.backend.image_util.safety_checker import SafetyChecker from invokeai.backend.image_util.invisible_watermark import InvisibleWatermark +from invokeai.backend.image_util.safety_checker import SafetyChecker + +from ..models.image import ImageCategory, ImageField, ImageOutput, MaskOutput, PILInvocationConfig, ResourceOrigin +from .baseinvocation import BaseInvocation, InvocationConfig, InvocationContext class LoadImageInvocation(BaseInvocation): @@ -672,14 +662,10 @@ class MaskEdgeInvocation(BaseInvocation, PILInvocationConfig): mask = context.services.images.get_pil_image(self.image.image_name) npimg = numpy.asarray(mask, dtype=numpy.uint8) - npgradient = numpy.uint8( - 255 * (1.0 - numpy.floor(numpy.abs(0.5 - numpy.float32(npimg) / 255.0) * 2.0)) - ) + npgradient = numpy.uint8(255 * (1.0 - numpy.floor(numpy.abs(0.5 - numpy.float32(npimg) / 255.0) * 2.0))) npedge = cv2.Canny(npimg, threshold1=self.low_threshold, threshold2=self.high_threshold) npmask = npgradient + npedge - npmask = cv2.dilate( - npmask, numpy.ones((3, 3), numpy.uint8), iterations=int(self.edge_size / 2) - ) + npmask = cv2.dilate(npmask, numpy.ones((3, 3), numpy.uint8), iterations=int(self.edge_size / 2)) new_mask = Image.fromarray(npmask) @@ -704,9 +690,47 @@ class MaskEdgeInvocation(BaseInvocation, PILInvocationConfig): ) +class MaskCombineInvocation(BaseInvocation, PILInvocationConfig): + """Combine two masks together by multiplying them using `PIL.ImageChops.multiply()`.""" + + # fmt: off + type: Literal["mask_combine"] = "mask_combine" + + # Inputs + mask1: Optional[ImageField] = Field(default=None, description="The first mask to combine") + mask2: Optional[ImageField] = Field(default=None, description="The second image to combine") + # fmt: on + + class Config(InvocationConfig): + schema_extra = { + "ui": {"title": "Mask Combine", "tags": ["mask", "combine"]}, + } + + def invoke(self, context: InvocationContext) -> ImageOutput: + mask1 = context.services.images.get_pil_image(self.mask1.image_name).convert("L") + mask2 = context.services.images.get_pil_image(self.mask2.image_name).convert("L") + + combined_mask = ImageChops.multiply(mask1, mask2) + + image_dto = context.services.images.create( + image=combined_mask, + image_origin=ResourceOrigin.INTERNAL, + image_category=ImageCategory.GENERAL, + node_id=self.id, + session_id=context.graph_execution_state_id, + is_intermediate=self.is_intermediate, + ) + + return ImageOutput( + image=ImageField(image_name=image_dto.image_name), + width=image_dto.width, + height=image_dto.height, + ) + + class ColorCorrectInvocation(BaseInvocation, PILInvocationConfig): """ - Shifts the colors of a target image to match the reference image, optionally + Shifts the colors of a target image to match the reference image, optionally using a mask to only color-correct certain regions of the target image. """ @@ -720,32 +744,23 @@ class ColorCorrectInvocation(BaseInvocation, PILInvocationConfig): def invoke(self, context: InvocationContext) -> ImageOutput: pil_init_mask = None if self.mask is not None: - pil_init_mask = context.services.images.get_pil_image( - self.mask.image_name - ).convert("L") + pil_init_mask = context.services.images.get_pil_image(self.mask.image_name).convert("L") - init_image = context.services.images.get_pil_image( - self.reference.image_name - ) + init_image = context.services.images.get_pil_image(self.reference.image_name) - result = context.services.images.get_pil_image( - self.image.image_name - ).convert("RGBA") + result = context.services.images.get_pil_image(self.image.image_name).convert("RGBA") - - #if init_image is None or init_mask is None: + # if init_image is None or init_mask is None: # return result # Get the original alpha channel of the mask if there is one. # Otherwise it is some other black/white image format ('1', 'L' or 'RGB') - #pil_init_mask = ( + # pil_init_mask = ( # init_mask.getchannel("A") # if init_mask.mode == "RGBA" # else init_mask.convert("L") - #) - pil_init_image = init_image.convert( - "RGBA" - ) # Add an alpha channel if one doesn't exist + # ) + pil_init_image = init_image.convert("RGBA") # Add an alpha channel if one doesn't exist # Build an image with only visible pixels from source to use as reference for color-matching. init_rgb_pixels = numpy.asarray(init_image.convert("RGB"), dtype=numpy.uint8) @@ -771,10 +786,7 @@ class ColorCorrectInvocation(BaseInvocation, PILInvocationConfig): np_matched_result[:, :, :] = ( ( ( - ( - np_matched_result[:, :, :].astype(numpy.float32) - - gen_means[None, None, :] - ) + (np_matched_result[:, :, :].astype(numpy.float32) - gen_means[None, None, :]) / gen_std[None, None, :] ) * init_std[None, None, :] @@ -800,10 +812,7 @@ class ColorCorrectInvocation(BaseInvocation, PILInvocationConfig): else: blurred_init_mask = pil_init_mask - - multiplied_blurred_init_mask = ImageChops.multiply( - blurred_init_mask, result.split()[-1] - ) + multiplied_blurred_init_mask = ImageChops.multiply(blurred_init_mask, result.split()[-1]) # Paste original on color-corrected generation (using blurred mask) matched_result.paste(init_image, (0, 0), mask=multiplied_blurred_init_mask) diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts index 968e32efe9..1e2b9d76d8 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts @@ -25,6 +25,8 @@ import { LATENTS_TO_IMAGE, MAIN_MODEL_LOADER, MASK_BLUR, + MASK_COMBINE, + MASK_FROM_ALPHA, NEGATIVE_CONDITIONING, NOISE, POSITIVE_CONDITIONING, @@ -63,8 +65,6 @@ export const buildCanvasInpaintGraph = ( clipSkip, } = state.generation; - const { generationMode } = state.canvas; - if (!model) { log.error('No model found in state'); throw new Error('No model found in state'); @@ -115,6 +115,25 @@ export const buildCanvasInpaintGraph = ( denoising_end: 1, }, [infillNode.id]: infillNode, + [MASK_FROM_ALPHA]: { + type: 'tomask', + id: MASK_FROM_ALPHA, + is_intermediate: true, + image: canvasInitImage, + }, + [MASK_COMBINE]: { + type: 'mask_combine', + id: MASK_COMBINE, + is_intermediate: true, + mask2: canvasMaskImage, + }, + [MASK_BLUR]: { + type: 'img_blur', + id: MASK_BLUR, + is_intermediate: true, + radius: maskBlur, + blur_type: maskBlurMethod, + }, [INPAINT_IMAGE]: { type: 'i2l', id: INPAINT_IMAGE, @@ -163,22 +182,11 @@ export const buildCanvasInpaintGraph = ( type: 'color_correct', id: COLOR_CORRECT, is_intermediate: true, - reference: canvasInitImage, - mask: canvasMaskImage, - }, - [MASK_BLUR]: { - type: 'img_blur', - id: MASK_BLUR, - is_intermediate: true, - image: canvasMaskImage, - radius: maskBlur, - blur_type: maskBlurMethod, }, [INPAINT_FINAL_IMAGE]: { type: 'img_paste', id: INPAINT_FINAL_IMAGE, is_intermediate: true, - base_image: canvasInitImage, }, [RANGE_OF_SIZE]: { type: 'range_of_size', @@ -286,6 +294,26 @@ export const buildCanvasInpaintGraph = ( field: 'latents', }, }, + { + source: { + node_id: MASK_FROM_ALPHA, + field: 'mask', + }, + destination: { + node_id: MASK_COMBINE, + field: 'mask1', + }, + }, + { + source: { + node_id: MASK_COMBINE, + field: 'image', + }, + destination: { + node_id: MASK_BLUR, + field: 'image', + }, + }, { source: { node_id: MASK_BLUR, @@ -326,6 +354,26 @@ export const buildCanvasInpaintGraph = ( field: 'latents', }, }, + { + source: { + node_id: INPAINT_INFILL, + field: 'image', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'reference', + }, + }, + { + source: { + node_id: MASK_BLUR, + field: 'image', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'mask', + }, + }, { source: { node_id: LATENTS_TO_IMAGE, @@ -336,6 +384,16 @@ export const buildCanvasInpaintGraph = ( field: 'image', }, }, + { + source: { + node_id: INPAINT_INFILL, + field: 'image', + }, + destination: { + node_id: INPAINT_FINAL_IMAGE, + field: 'base_image', + }, + }, { source: { node_id: MASK_BLUR, diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts index b75dfbf4c6..076c92eb76 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts @@ -25,6 +25,7 @@ export const INPAINT_FINAL_IMAGE = 'inpaint_final_image'; export const MASK_FROM_ALPHA = 'tomask'; export const MASK_EDGE = 'mask_edge'; export const MASK_BLUR = 'mask_blur'; +export const MASK_COMBINE = 'mask_combine'; export const COLOR_CORRECT = 'color_correct'; export const PASTE_IMAGE = 'img_paste'; export const CONTROL_NET_COLLECT = 'control_net_collect'; diff --git a/invokeai/frontend/web/src/services/api/schema.d.ts b/invokeai/frontend/web/src/services/api/schema.d.ts index 9755af9e32..b4fcf7f75c 100644 --- a/invokeai/frontend/web/src/services/api/schema.d.ts +++ b/invokeai/frontend/web/src/services/api/schema.d.ts @@ -714,7 +714,7 @@ export type components = { }; /** * ColorCorrectInvocation - * @description Shifts the colors of a target image to match the reference image, optionally + * @description Shifts the colors of a target image to match the reference image, optionally * using a mask to only color-correct certain regions of the target image. */ ColorCorrectInvocation: { @@ -1586,7 +1586,7 @@ export type components = { * @description The nodes in this graph */ nodes?: { - [key: string]: (components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"]) | undefined; + [key: string]: (components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"]) | undefined; }; /** * Edges @@ -3273,6 +3273,39 @@ export type components = { */ model: components["schemas"]["MainModelField"]; }; + /** + * MaskCombineInvocation + * @description Combine two masks together by multiplying them using `PIL.ImageChops.multiply()`. + */ + MaskCombineInvocation: { + /** + * Id + * @description The id of this node. Must be unique among all nodes. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this node is an intermediate node. + * @default false + */ + is_intermediate?: boolean; + /** + * Type + * @default mask_combine + * @enum {string} + */ + type?: "mask_combine"; + /** + * Mask1 + * @description The first mask to combine + */ + mask1?: components["schemas"]["ImageField"]; + /** + * Mask2 + * @description The second image to combine + */ + mask2?: components["schemas"]["ImageField"]; + }; /** * MaskEdgeInvocation * @description Applies an edge mask to an image @@ -5753,12 +5786,6 @@ export type components = { * @enum {string} */ StableDiffusionXLModelFormat: "checkpoint" | "diffusers"; - /** - * StableDiffusionOnnxModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusionOnnxModelFormat: "olive" | "onnx"; /** * ControlNetModelFormat * @description An enumeration. @@ -5771,6 +5798,12 @@ export type components = { * @enum {string} */ StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; + /** + * StableDiffusionOnnxModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusionOnnxModelFormat: "olive" | "onnx"; /** * StableDiffusion1ModelFormat * @description An enumeration. @@ -5887,7 +5920,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"]; }; }; responses: { @@ -5924,7 +5957,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"]; }; }; responses: { From 6a8eb392b28045412d97ec1e2496cb04ddb0c17f Mon Sep 17 00:00:00 2001 From: Ryan Dick Date: Fri, 11 Aug 2023 11:35:47 -0400 Subject: [PATCH 167/287] Add support for loading SDXL LoRA weights in diffusers format. --- .../backend/model_management/models/lora.py | 92 +++++++++++++------ 1 file changed, 63 insertions(+), 29 deletions(-) diff --git a/invokeai/backend/model_management/models/lora.py b/invokeai/backend/model_management/models/lora.py index 88a50fb4fd..b6f321d60b 100644 --- a/invokeai/backend/model_management/models/lora.py +++ b/invokeai/backend/model_management/models/lora.py @@ -1,18 +1,21 @@ +import bisect import os -import torch from enum import Enum -from typing import Optional, Dict, Union, Literal, Any from pathlib import Path +from typing import Dict, Optional, Union + +import torch from safetensors.torch import load_file + from .base import ( + BaseModelType, + InvalidModelException, ModelBase, ModelConfigBase, - BaseModelType, + ModelNotFoundException, ModelType, SubModelType, classproperty, - InvalidModelException, - ModelNotFoundException, ) @@ -482,30 +485,61 @@ class LoRAModelRaw: # (torch.nn.Module): return model_size @classmethod - def _convert_sdxl_compvis_keys(cls, state_dict): + def _convert_sdxl_keys_to_diffusers_format(cls, state_dict): + """Convert the keys of an SDXL LoRA state_dict to diffusers format. + + The input state_dict can be in either Stability AI format or diffusers format. If the state_dict is already in + diffusers format, then this function will have no effect. + + This function is adapted from: + https://github.com/bmaltais/kohya_ss/blob/2accb1305979ba62f5077a23aabac23b4c37e935/networks/lora_diffusers.py#L385-L409 + + Args: + state_dict (Dict[str, Tensor]): The SDXL LoRA state_dict. + + Raises: + ValueError: If state_dict contains an unrecognized key, or not all keys could be converted. + + Returns: + Dict[str, Tensor]: The diffusers-format state_dict. + """ + converted_count = 0 # The number of Stability AI keys converted to diffusers format. + not_converted_count = 0 # The number of keys that were not converted. + + # Get a sorted list of Stability AI UNet keys so that we can efficiently search for keys with matching prefixes. + # For example, we want to efficiently find `input_blocks_4_1` in the list when searching for + # `input_blocks_4_1_proj_in`. + stability_unet_keys = list(SDXL_UNET_STABILITY_TO_DIFFUSERS_MAP) + stability_unet_keys.sort() + new_state_dict = dict() for full_key, value in state_dict.items(): - if full_key.startswith("lora_te1_") or full_key.startswith("lora_te2_"): - continue # clip same + if full_key.startswith("lora_unet_"): + search_key = full_key.replace("lora_unet_", "") + # Use bisect to find the key in stability_unet_keys that *may* match the search_key's prefix. + position = bisect.bisect_right(stability_unet_keys, search_key) + map_key = stability_unet_keys[position - 1] + # Now, check if the map_key *actually* matches the search_key. + if search_key.startswith(map_key): + new_key = full_key.replace(map_key, SDXL_UNET_STABILITY_TO_DIFFUSERS_MAP[map_key]) + new_state_dict[new_key] = value + converted_count += 1 + else: + new_state_dict[full_key] = value + not_converted_count += 1 + elif full_key.startswith("lora_te1_") or full_key.startswith("lora_te2_"): + # The CLIP text encoders have the same keys in both Stability AI and diffusers formats. + new_state_dict[full_key] = value + continue + else: + raise ValueError(f"Unrecognized SDXL LoRA key prefix: '{full_key}'.") - if not full_key.startswith("lora_unet_"): - raise NotImplementedError(f"Unknown prefix for sdxl lora key - {full_key}") - src_key = full_key.replace("lora_unet_", "") - try: - dst_key = None - while "_" in src_key: - if src_key in SDXL_UNET_COMPVIS_MAP: - dst_key = SDXL_UNET_COMPVIS_MAP[src_key] - break - src_key = "_".join(src_key.split("_")[:-1]) + if converted_count > 0 and not_converted_count > 0: + raise ValueError( + f"The SDXL LoRA could only be partially converted to diffusers format. converted={converted_count}," + f" not_converted={not_converted_count}" + ) - if dst_key is None: - raise Exception(f"Unknown sdxl lora key - {full_key}") - new_key = full_key.replace(src_key, dst_key) - except: - print(SDXL_UNET_COMPVIS_MAP) - raise - new_state_dict[new_key] = value return new_state_dict @classmethod @@ -537,7 +571,7 @@ class LoRAModelRaw: # (torch.nn.Module): state_dict = cls._group_state(state_dict) if base_model == BaseModelType.StableDiffusionXL: - state_dict = cls._convert_sdxl_compvis_keys(state_dict) + state_dict = cls._convert_sdxl_keys_to_diffusers_format(state_dict) for layer_key, values in state_dict.items(): # lora and locon @@ -588,6 +622,7 @@ class LoRAModelRaw: # (torch.nn.Module): # code from # https://github.com/bmaltais/kohya_ss/blob/2accb1305979ba62f5077a23aabac23b4c37e935/networks/lora_diffusers.py#L15C1-L97C32 def make_sdxl_unet_conversion_map(): + """Create a dict mapping state_dict keys from Stability AI SDXL format to diffusers SDXL format.""" unet_conversion_map_layer = [] for i in range(3): # num_blocks is 3 in sdxl @@ -671,7 +706,6 @@ def make_sdxl_unet_conversion_map(): return unet_conversion_map -SDXL_UNET_COMPVIS_MAP = { - f"{sd}".rstrip(".").replace(".", "_"): f"{hf}".rstrip(".").replace(".", "_") - for sd, hf in make_sdxl_unet_conversion_map() +SDXL_UNET_STABILITY_TO_DIFFUSERS_MAP = { + sd.rstrip(".").replace(".", "_"): hf.rstrip(".").replace(".", "_") for sd, hf in make_sdxl_unet_conversion_map() } From 0b11f309cae6780d321ede8dab67270166655fae Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Fri, 11 Aug 2023 13:58:41 -0400 Subject: [PATCH 168/287] instead of crashing when a corrupted model is detected, warn and move on --- invokeai/backend/model_management/models/sdxl.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/invokeai/backend/model_management/models/sdxl.py b/invokeai/backend/model_management/models/sdxl.py index 1b5d252cb9..5bbe05be98 100644 --- a/invokeai/backend/model_management/models/sdxl.py +++ b/invokeai/backend/model_management/models/sdxl.py @@ -1,6 +1,5 @@ import os import json -import invokeai.backend.util.logging as logger from enum import Enum from pydantic import Field from typing import Literal, Optional @@ -12,6 +11,7 @@ from .base import ( DiffusersModel, read_checkpoint_meta, classproperty, + InvalidModelException, ) from omegaconf import OmegaConf @@ -65,7 +65,7 @@ class StableDiffusionXLModel(DiffusersModel): in_channels = unet_config["in_channels"] else: - raise Exception("Not supported stable diffusion diffusers format(possibly onnx?)") + raise InvalidModelException(f"{path} is not a recognized Stable Diffusion diffusers model") else: raise NotImplementedError(f"Unknown stable diffusion 2.* format: {model_format}") From 7293a6036ad27e400188a9b774156f3224784500 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sat, 12 Aug 2023 08:16:05 +1200 Subject: [PATCH 169/287] feat(wip): Add SDXL To Canvas --- .../listeners/tabChanged.ts | 9 +- .../util/graphBuilders/buildCanvasGraph.ts | 35 +- .../buildCanvasSDXLImageToImageGraph.ts | 373 ++++++++++++++ .../buildCanvasSDXLInpaintGraph.ts | 480 ++++++++++++++++++ .../buildCanvasSDXLTextToImageGraph.ts | 304 +++++++++++ .../MainModel/ParamMainModelSelect.tsx | 7 +- .../SDXLUnifiedCanvasTabParameters.tsx | 29 ++ .../tabs/UnifiedCanvas/UnifiedCanvasTab.tsx | 10 +- 8 files changed, 1236 insertions(+), 11 deletions(-) create mode 100644 invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts create mode 100644 invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts create mode 100644 invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts create mode 100644 invokeai/frontend/web/src/features/sdxl/components/SDXLUnifiedCanvasTabParameters.tsx diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/tabChanged.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/tabChanged.ts index 6d3e599ae2..6791324fdd 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/tabChanged.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/tabChanged.ts @@ -12,7 +12,10 @@ export const addTabChangedListener = () => { if (activeTabName === 'unifiedCanvas') { const currentBaseModel = getState().generation.model?.base_model; - if (currentBaseModel && ['sd-1', 'sd-2'].includes(currentBaseModel)) { + if ( + currentBaseModel && + ['sd-1', 'sd-2', 'sdxl'].includes(currentBaseModel) + ) { // if we're already on a valid model, no change needed return; } @@ -36,7 +39,9 @@ export const addTabChangedListener = () => { const validCanvasModels = mainModelsAdapter .getSelectors() .selectAll(models) - .filter((model) => ['sd-1', 'sd-2'].includes(model.base_model)); + .filter((model) => + ['sd-1', 'sd-2', 'sxdl'].includes(model.base_model) + ); const firstValidCanvasModel = validCanvasModels[0]; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasGraph.ts index 8a7716071f..dd0a5e6619 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasGraph.ts @@ -3,6 +3,9 @@ import { NonNullableGraph } from 'features/nodes/types/types'; import { ImageDTO } from 'services/api/types'; import { buildCanvasImageToImageGraph } from './buildCanvasImageToImageGraph'; import { buildCanvasInpaintGraph } from './buildCanvasInpaintGraph'; +import { buildCanvasSDXLImageToImageGraph } from './buildCanvasSDXLImageToImageGraph'; +import { buildCanvasSDXLInpaintGraph } from './buildCanvasSDXLInpaintGraph'; +import { buildCanvasSDXLTextToImageGraph } from './buildCanvasSDXLTextToImageGraph'; import { buildCanvasTextToImageGraph } from './buildCanvasTextToImageGraph'; export const buildCanvasGraph = ( @@ -14,17 +17,43 @@ export const buildCanvasGraph = ( let graph: NonNullableGraph; if (generationMode === 'txt2img') { - graph = buildCanvasTextToImageGraph(state); + if ( + state.generation.model && + state.generation.model.base_model === 'sdxl' + ) { + graph = buildCanvasSDXLTextToImageGraph(state); + } else { + graph = buildCanvasTextToImageGraph(state); + } } else if (generationMode === 'img2img') { if (!canvasInitImage) { throw new Error('Missing canvas init image'); } - graph = buildCanvasImageToImageGraph(state, canvasInitImage); + if ( + state.generation.model && + state.generation.model.base_model === 'sdxl' + ) { + graph = buildCanvasSDXLImageToImageGraph(state, canvasInitImage); + } else { + graph = buildCanvasImageToImageGraph(state, canvasInitImage); + } } else { if (!canvasInitImage || !canvasMaskImage) { throw new Error('Missing canvas init and mask images'); } - graph = buildCanvasInpaintGraph(state, canvasInitImage, canvasMaskImage); + + if ( + state.generation.model && + state.generation.model.base_model === 'sdxl' + ) { + graph = buildCanvasSDXLInpaintGraph( + state, + canvasInitImage, + canvasMaskImage + ); + } else { + graph = buildCanvasInpaintGraph(state, canvasInitImage, canvasMaskImage); + } } return graph; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts new file mode 100644 index 0000000000..b8322fd612 --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts @@ -0,0 +1,373 @@ +import { logger } from 'app/logging/logger'; +import { RootState } from 'app/store/store'; +import { NonNullableGraph } from 'features/nodes/types/types'; +import { initialGenerationState } from 'features/parameters/store/generationSlice'; +import { + ImageDTO, + ImageResizeInvocation, + ImageToLatentsInvocation, +} from 'services/api/types'; +import { addControlNetToLinearGraph } from './addControlNetToLinearGraph'; +import { addDynamicPromptsToGraph } from './addDynamicPromptsToGraph'; +import { addLoRAsToGraph } from './addLoRAsToGraph'; +import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; +import { addSDXLRefinerToGraph } from './addSDXLRefinerToGraph'; +import { addVAEToGraph } from './addVAEToGraph'; +import { addWatermarkerToGraph } from './addWatermarkerToGraph'; +import { + DENOISE_LATENTS, + IMAGE_TO_IMAGE_GRAPH, + IMAGE_TO_LATENTS, + LATENTS_TO_IMAGE, + METADATA_ACCUMULATOR, + NEGATIVE_CONDITIONING, + NOISE, + POSITIVE_CONDITIONING, + RESIZE, + SDXL_MODEL_LOADER, +} from './constants'; + +/** + * Builds the Canvas tab's Image to Image graph. + */ +export const buildCanvasSDXLImageToImageGraph = ( + state: RootState, + initialImage: ImageDTO +): NonNullableGraph => { + const log = logger('nodes'); + const { + positivePrompt, + negativePrompt, + model, + cfgScale: cfg_scale, + scheduler, + steps, + clipSkip, + shouldUseCpuNoise, + shouldUseNoiseSettings, + } = state.generation; + + const { + positiveStylePrompt, + negativeStylePrompt, + shouldConcatSDXLStylePrompt, + shouldUseSDXLRefiner, + refinerStart, + sdxlImg2ImgDenoisingStrength: strength, + } = state.sdxl; + + // The bounding box determines width and height, not the width and height params + const { width, height } = state.canvas.boundingBoxDimensions; + + const { shouldAutoSave } = state.canvas; + + if (!model) { + log.error('No model found in state'); + throw new Error('No model found in state'); + } + + const use_cpu = shouldUseNoiseSettings + ? shouldUseCpuNoise + : initialGenerationState.shouldUseCpuNoise; + + /** + * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the + * full graph here as a template. Then use the parameters from app state and set friendlier node + * ids. + * + * The only thing we need extra logic for is handling randomized seed, control net, and for img2img, + * the `fit` param. These are added to the graph at the end. + */ + + // copy-pasted graph from node editor, filled in with state values & friendly node ids + const graph: NonNullableGraph = { + id: IMAGE_TO_IMAGE_GRAPH, + nodes: { + [SDXL_MODEL_LOADER]: { + type: 'sdxl_model_loader', + id: SDXL_MODEL_LOADER, + model, + }, + [POSITIVE_CONDITIONING]: { + type: 'sdxl_compel_prompt', + id: POSITIVE_CONDITIONING, + prompt: positivePrompt, + style: shouldConcatSDXLStylePrompt + ? `${positivePrompt} ${positiveStylePrompt}` + : positiveStylePrompt, + }, + [NEGATIVE_CONDITIONING]: { + type: 'sdxl_compel_prompt', + id: NEGATIVE_CONDITIONING, + prompt: negativePrompt, + style: shouldConcatSDXLStylePrompt + ? `${negativePrompt} ${negativeStylePrompt}` + : negativeStylePrompt, + }, + [NOISE]: { + type: 'noise', + id: NOISE, + is_intermediate: true, + use_cpu, + }, + [DENOISE_LATENTS]: { + type: 'denoise_latents', + id: DENOISE_LATENTS, + is_intermediate: true, + cfg_scale, + scheduler, + steps, + denoising_start: shouldUseSDXLRefiner + ? Math.min(refinerStart, 1 - strength) + : 1 - strength, + denoising_end: shouldUseSDXLRefiner ? refinerStart : 1, + }, + [IMAGE_TO_LATENTS]: { + type: 'i2l', + id: IMAGE_TO_LATENTS, + is_intermediate: true, + // must be set manually later, bc `fit` parameter may require a resize node inserted + // image: { + // image_name: initialImage.image_name, + // }, + }, + [LATENTS_TO_IMAGE]: { + type: 'l2i', + id: LATENTS_TO_IMAGE, + is_intermediate: !shouldAutoSave, + }, + }, + edges: [ + { + source: { + node_id: DENOISE_LATENTS, + field: 'latents', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'latents', + }, + }, + { + source: { + node_id: IMAGE_TO_LATENTS, + field: 'latents', + }, + destination: { + node_id: DENOISE_LATENTS, + field: 'latents', + }, + }, + { + source: { + node_id: NOISE, + field: 'noise', + }, + destination: { + node_id: DENOISE_LATENTS, + field: 'noise', + }, + }, + { + source: { + node_id: SDXL_MODEL_LOADER, + field: 'unet', + }, + destination: { + node_id: DENOISE_LATENTS, + field: 'unet', + }, + }, + { + source: { + node_id: SDXL_MODEL_LOADER, + field: 'clip', + }, + destination: { + node_id: POSITIVE_CONDITIONING, + field: 'clip', + }, + }, + { + source: { + node_id: SDXL_MODEL_LOADER, + field: 'clip2', + }, + destination: { + node_id: POSITIVE_CONDITIONING, + field: 'clip2', + }, + }, + { + source: { + node_id: SDXL_MODEL_LOADER, + field: 'clip', + }, + destination: { + node_id: NEGATIVE_CONDITIONING, + field: 'clip', + }, + }, + { + source: { + node_id: SDXL_MODEL_LOADER, + field: 'clip2', + }, + destination: { + node_id: NEGATIVE_CONDITIONING, + field: 'clip2', + }, + }, + { + source: { + node_id: NEGATIVE_CONDITIONING, + field: 'conditioning', + }, + destination: { + node_id: DENOISE_LATENTS, + field: 'negative_conditioning', + }, + }, + { + source: { + node_id: POSITIVE_CONDITIONING, + field: 'conditioning', + }, + destination: { + node_id: DENOISE_LATENTS, + field: 'positive_conditioning', + }, + }, + ], + }; + + // handle `fit` + if (initialImage.width !== width || initialImage.height !== height) { + // The init image needs to be resized to the specified width and height before being passed to `IMAGE_TO_LATENTS` + + // Create a resize node, explicitly setting its image + const resizeNode: ImageResizeInvocation = { + id: RESIZE, + type: 'img_resize', + image: { + image_name: initialImage.image_name, + }, + is_intermediate: true, + width, + height, + }; + + graph.nodes[RESIZE] = resizeNode; + + // The `RESIZE` node then passes its image to `IMAGE_TO_LATENTS` + graph.edges.push({ + source: { node_id: RESIZE, field: 'image' }, + destination: { + node_id: IMAGE_TO_LATENTS, + field: 'image', + }, + }); + + // The `RESIZE` node also passes its width and height to `NOISE` + graph.edges.push({ + source: { node_id: RESIZE, field: 'width' }, + destination: { + node_id: NOISE, + field: 'width', + }, + }); + + graph.edges.push({ + source: { node_id: RESIZE, field: 'height' }, + destination: { + node_id: NOISE, + field: 'height', + }, + }); + } else { + // We are not resizing, so we need to set the image on the `IMAGE_TO_LATENTS` node explicitly + (graph.nodes[IMAGE_TO_LATENTS] as ImageToLatentsInvocation).image = { + image_name: initialImage.image_name, + }; + + // Pass the image's dimensions to the `NOISE` node + graph.edges.push({ + source: { node_id: IMAGE_TO_LATENTS, field: 'width' }, + destination: { + node_id: NOISE, + field: 'width', + }, + }); + graph.edges.push({ + source: { node_id: IMAGE_TO_LATENTS, field: 'height' }, + destination: { + node_id: NOISE, + field: 'height', + }, + }); + } + + // add metadata accumulator, which is only mostly populated - some fields are added later + graph.nodes[METADATA_ACCUMULATOR] = { + id: METADATA_ACCUMULATOR, + type: 'metadata_accumulator', + generation_mode: 'img2img', + cfg_scale, + height, + width, + positive_prompt: '', // set in addDynamicPromptsToGraph + negative_prompt: negativePrompt, + model, + seed: 0, // set in addDynamicPromptsToGraph + steps, + rand_device: use_cpu ? 'cpu' : 'cuda', + scheduler, + vae: undefined, // option; set in addVAEToGraph + controlnets: [], // populated in addControlNetToLinearGraph + loras: [], // populated in addLoRAsToGraph + clip_skip: clipSkip, + strength, + init_image: initialImage.image_name, + }; + + graph.edges.push({ + source: { + node_id: METADATA_ACCUMULATOR, + field: 'metadata', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'metadata', + }, + }); + + // add LoRA support + addLoRAsToGraph(state, graph, DENOISE_LATENTS); + + // Add Refiner if enabled + if (shouldUseSDXLRefiner) { + addSDXLRefinerToGraph(state, graph, DENOISE_LATENTS); + } + + // optionally add custom VAE + addVAEToGraph(state, graph, SDXL_MODEL_LOADER); + + // add dynamic prompts - also sets up core iteration and seed + addDynamicPromptsToGraph(state, graph); + + // add controlnet, mutating `graph` + addControlNetToLinearGraph(state, graph, DENOISE_LATENTS); + + // NSFW & watermark - must be last thing added to graph + if (state.system.shouldUseNSFWChecker) { + // must add before watermarker! + addNSFWCheckerToGraph(state, graph); + } + + if (state.system.shouldUseWatermarker) { + // must add after nsfw checker! + addWatermarkerToGraph(state, graph); + } + + return graph; +}; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts new file mode 100644 index 0000000000..04cc120cbe --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts @@ -0,0 +1,480 @@ +import { logger } from 'app/logging/logger'; +import { RootState } from 'app/store/store'; +import { NonNullableGraph } from 'features/nodes/types/types'; +import { + ImageDTO, + InfillPatchmatchInvocation, + InfillTileInvocation, + RandomIntInvocation, + RangeOfSizeInvocation, +} from 'services/api/types'; +import { addControlNetToLinearGraph } from './addControlNetToLinearGraph'; +import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; +import { addSDXLLoRAsToGraph } from './addSDXLLoRAstoGraph'; +import { addSDXLRefinerToGraph } from './addSDXLRefinerToGraph'; +import { addVAEToGraph } from './addVAEToGraph'; +import { addWatermarkerToGraph } from './addWatermarkerToGraph'; +import { + COLOR_CORRECT, + INPAINT, + INPAINT_FINAL_IMAGE, + INPAINT_GRAPH, + INPAINT_IMAGE, + INPAINT_INFILL, + ITERATE, + LATENTS_TO_IMAGE, + MASK_BLUR, + MASK_COMBINE, + MASK_FROM_ALPHA, + NEGATIVE_CONDITIONING, + NOISE, + POSITIVE_CONDITIONING, + RANDOM_INT, + RANGE_OF_SIZE, + SDXL_MODEL_LOADER, +} from './constants'; + +/** + * Builds the Canvas tab's Inpaint graph. + */ +export const buildCanvasSDXLInpaintGraph = ( + state: RootState, + canvasInitImage: ImageDTO, + canvasMaskImage: ImageDTO +): NonNullableGraph => { + const log = logger('nodes'); + const { + positivePrompt, + negativePrompt, + model, + cfgScale: cfg_scale, + scheduler, + steps, + img2imgStrength: strength, + shouldFitToWidthHeight, + iterations, + seed, + shouldRandomizeSeed, + vaePrecision, + shouldUseNoiseSettings, + shouldUseCpuNoise, + maskBlur, + maskBlurMethod, + tileSize, + infillMethod, + } = state.generation; + + const { + positiveStylePrompt, + negativeStylePrompt, + shouldConcatSDXLStylePrompt, + shouldUseSDXLRefiner, + refinerStart, + } = state.sdxl; + + if (!model) { + log.error('No model found in state'); + throw new Error('No model found in state'); + } + + // The bounding box determines width and height, not the width and height params + const { width, height } = state.canvas.boundingBoxDimensions; + + // We may need to set the inpaint width and height to scale the image + const { + scaledBoundingBoxDimensions, + boundingBoxScaleMethod, + shouldAutoSave, + } = state.canvas; + + const use_cpu = shouldUseNoiseSettings + ? shouldUseCpuNoise + : shouldUseCpuNoise; + + let infillNode: InfillTileInvocation | InfillPatchmatchInvocation = { + type: 'infill_tile', + id: INPAINT_INFILL, + is_intermediate: true, + image: canvasInitImage, + tile_size: tileSize, + }; + + if (infillMethod === 'patchmatch') { + infillNode = { + type: 'infill_patchmatch', + id: INPAINT_INFILL, + is_intermediate: true, + image: canvasInitImage, + }; + } + + const graph: NonNullableGraph = { + id: INPAINT_GRAPH, + nodes: { + [INPAINT]: { + type: 'denoise_latents', + id: INPAINT, + is_intermediate: true, + steps: steps, + cfg_scale: cfg_scale, + scheduler: scheduler, + denoising_start: 1 - strength, + denoising_end: shouldUseSDXLRefiner ? refinerStart : 1, + }, + [infillNode.id]: infillNode, + [MASK_FROM_ALPHA]: { + type: 'tomask', + id: MASK_FROM_ALPHA, + is_intermediate: true, + image: canvasInitImage, + }, + [MASK_COMBINE]: { + type: 'mask_combine', + id: MASK_COMBINE, + is_intermediate: true, + mask2: canvasMaskImage, + }, + [MASK_BLUR]: { + type: 'img_blur', + id: MASK_BLUR, + is_intermediate: true, + radius: maskBlur, + blur_type: maskBlurMethod, + }, + [INPAINT_IMAGE]: { + type: 'i2l', + id: INPAINT_IMAGE, + is_intermediate: true, + fp32: vaePrecision === 'fp32' ? true : false, + }, + [NOISE]: { + type: 'noise', + id: NOISE, + width, + height, + use_cpu, + is_intermediate: true, + }, + [POSITIVE_CONDITIONING]: { + type: 'sdxl_compel_prompt', + id: POSITIVE_CONDITIONING, + prompt: positivePrompt, + style: shouldConcatSDXLStylePrompt + ? `${positivePrompt} ${positiveStylePrompt}` + : positiveStylePrompt, + }, + [NEGATIVE_CONDITIONING]: { + type: 'sdxl_compel_prompt', + id: NEGATIVE_CONDITIONING, + prompt: negativePrompt, + style: shouldConcatSDXLStylePrompt + ? `${negativePrompt} ${negativeStylePrompt}` + : negativeStylePrompt, + }, + [SDXL_MODEL_LOADER]: { + type: 'sdxl_model_loader', + id: SDXL_MODEL_LOADER, + model, + }, + [LATENTS_TO_IMAGE]: { + type: 'l2i', + id: LATENTS_TO_IMAGE, + is_intermediate: true, + fp32: vaePrecision === 'fp32' ? true : false, + }, + [COLOR_CORRECT]: { + type: 'color_correct', + id: COLOR_CORRECT, + is_intermediate: true, + }, + [INPAINT_FINAL_IMAGE]: { + type: 'img_paste', + id: INPAINT_FINAL_IMAGE, + is_intermediate: true, + }, + [RANGE_OF_SIZE]: { + type: 'range_of_size', + id: RANGE_OF_SIZE, + is_intermediate: true, + // seed - must be connected manually + // start: 0, + size: iterations, + step: 1, + }, + [ITERATE]: { + type: 'iterate', + id: ITERATE, + is_intermediate: true, + }, + }, + edges: [ + { + source: { + node_id: SDXL_MODEL_LOADER, + field: 'unet', + }, + destination: { + node_id: INPAINT, + field: 'unet', + }, + }, + { + source: { + node_id: SDXL_MODEL_LOADER, + field: 'clip', + }, + destination: { + node_id: POSITIVE_CONDITIONING, + field: 'clip', + }, + }, + { + source: { + node_id: SDXL_MODEL_LOADER, + field: 'clip2', + }, + destination: { + node_id: POSITIVE_CONDITIONING, + field: 'clip2', + }, + }, + { + source: { + node_id: SDXL_MODEL_LOADER, + field: 'clip', + }, + destination: { + node_id: NEGATIVE_CONDITIONING, + field: 'clip', + }, + }, + { + source: { + node_id: SDXL_MODEL_LOADER, + field: 'clip2', + }, + destination: { + node_id: NEGATIVE_CONDITIONING, + field: 'clip2', + }, + }, + { + source: { + node_id: NEGATIVE_CONDITIONING, + field: 'conditioning', + }, + destination: { + node_id: INPAINT, + field: 'negative_conditioning', + }, + }, + { + source: { + node_id: POSITIVE_CONDITIONING, + field: 'conditioning', + }, + destination: { + node_id: INPAINT, + field: 'positive_conditioning', + }, + }, + { + source: { + node_id: NOISE, + field: 'noise', + }, + destination: { + node_id: INPAINT, + field: 'noise', + }, + }, + { + source: { + node_id: INPAINT_INFILL, + field: 'image', + }, + destination: { + node_id: INPAINT_IMAGE, + field: 'image', + }, + }, + { + source: { + node_id: INPAINT_IMAGE, + field: 'latents', + }, + destination: { + node_id: INPAINT, + field: 'latents', + }, + }, + { + source: { + node_id: MASK_FROM_ALPHA, + field: 'mask', + }, + destination: { + node_id: MASK_COMBINE, + field: 'mask1', + }, + }, + { + source: { + node_id: MASK_COMBINE, + field: 'image', + }, + destination: { + node_id: MASK_BLUR, + field: 'image', + }, + }, + { + source: { + node_id: MASK_BLUR, + field: 'image', + }, + destination: { + node_id: INPAINT, + field: 'mask', + }, + }, + { + source: { + node_id: RANGE_OF_SIZE, + field: 'collection', + }, + destination: { + node_id: ITERATE, + field: 'collection', + }, + }, + { + source: { + node_id: ITERATE, + field: 'item', + }, + destination: { + node_id: NOISE, + field: 'seed', + }, + }, + { + source: { + node_id: INPAINT, + field: 'latents', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'latents', + }, + }, + { + source: { + node_id: INPAINT_INFILL, + field: 'image', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'reference', + }, + }, + { + source: { + node_id: MASK_BLUR, + field: 'image', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'mask', + }, + }, + { + source: { + node_id: LATENTS_TO_IMAGE, + field: 'image', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'image', + }, + }, + { + source: { + node_id: INPAINT_INFILL, + field: 'image', + }, + destination: { + node_id: INPAINT_FINAL_IMAGE, + field: 'base_image', + }, + }, + { + source: { + node_id: MASK_BLUR, + field: 'image', + }, + destination: { + node_id: INPAINT_FINAL_IMAGE, + field: 'mask', + }, + }, + { + source: { + node_id: COLOR_CORRECT, + field: 'image', + }, + destination: { + node_id: INPAINT_FINAL_IMAGE, + field: 'image', + }, + }, + ], + }; + + // Add Refiner if enabled + if (shouldUseSDXLRefiner) { + addSDXLRefinerToGraph(state, graph, INPAINT); + } + + // Add VAE + addVAEToGraph(state, graph, SDXL_MODEL_LOADER); + + // handle seed + if (shouldRandomizeSeed) { + // Random int node to generate the starting seed + const randomIntNode: RandomIntInvocation = { + id: RANDOM_INT, + type: 'rand_int', + }; + + graph.nodes[RANDOM_INT] = randomIntNode; + + // Connect random int to the start of the range of size so the range starts on the random first seed + graph.edges.push({ + source: { node_id: RANDOM_INT, field: 'a' }, + destination: { node_id: RANGE_OF_SIZE, field: 'start' }, + }); + } else { + // User specified seed, so set the start of the range of size to the seed + (graph.nodes[RANGE_OF_SIZE] as RangeOfSizeInvocation).start = seed; + } + + // add LoRA support + addSDXLLoRAsToGraph(state, graph, INPAINT, SDXL_MODEL_LOADER); + + // add controlnet, mutating `graph` + addControlNetToLinearGraph(state, graph, INPAINT); + + // NSFW & watermark - must be last thing added to graph + if (state.system.shouldUseNSFWChecker) { + // must add before watermarker! + addNSFWCheckerToGraph(state, graph, INPAINT); + } + + if (state.system.shouldUseWatermarker) { + // must add after nsfw checker! + addWatermarkerToGraph(state, graph, INPAINT); + } + + return graph; +}; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts new file mode 100644 index 0000000000..ed0fb74165 --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts @@ -0,0 +1,304 @@ +import { logger } from 'app/logging/logger'; +import { RootState } from 'app/store/store'; +import { NonNullableGraph } from 'features/nodes/types/types'; +import { initialGenerationState } from 'features/parameters/store/generationSlice'; +import { + DenoiseLatentsInvocation, + ONNXTextToLatentsInvocation, +} from 'services/api/types'; +import { addControlNetToLinearGraph } from './addControlNetToLinearGraph'; +import { addDynamicPromptsToGraph } from './addDynamicPromptsToGraph'; +import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; +import { addSDXLLoRAsToGraph } from './addSDXLLoRAstoGraph'; +import { addSDXLRefinerToGraph } from './addSDXLRefinerToGraph'; +import { addVAEToGraph } from './addVAEToGraph'; +import { addWatermarkerToGraph } from './addWatermarkerToGraph'; +import { + DENOISE_LATENTS, + LATENTS_TO_IMAGE, + METADATA_ACCUMULATOR, + NEGATIVE_CONDITIONING, + NOISE, + ONNX_MODEL_LOADER, + POSITIVE_CONDITIONING, + SDXL_MODEL_LOADER, + TEXT_TO_IMAGE_GRAPH, +} from './constants'; + +/** + * Builds the Canvas tab's Text to Image graph. + */ +export const buildCanvasSDXLTextToImageGraph = ( + state: RootState +): NonNullableGraph => { + const log = logger('nodes'); + const { + positivePrompt, + negativePrompt, + model, + cfgScale: cfg_scale, + scheduler, + steps, + clipSkip, + shouldUseCpuNoise, + shouldUseNoiseSettings, + } = state.generation; + + // The bounding box determines width and height, not the width and height params + const { width, height } = state.canvas.boundingBoxDimensions; + + const { shouldAutoSave } = state.canvas; + + const { + positiveStylePrompt, + negativeStylePrompt, + shouldConcatSDXLStylePrompt, + shouldUseSDXLRefiner, + refinerStart, + } = state.sdxl; + + if (!model) { + log.error('No model found in state'); + throw new Error('No model found in state'); + } + + const use_cpu = shouldUseNoiseSettings + ? shouldUseCpuNoise + : initialGenerationState.shouldUseCpuNoise; + const isUsingOnnxModel = model.model_type === 'onnx'; + const modelLoaderNodeId = isUsingOnnxModel + ? ONNX_MODEL_LOADER + : SDXL_MODEL_LOADER; + const modelLoaderNodeType = isUsingOnnxModel + ? 'onnx_model_loader' + : 'sdxl_model_loader'; + const t2lNode: DenoiseLatentsInvocation | ONNXTextToLatentsInvocation = + isUsingOnnxModel + ? { + type: 't2l_onnx', + id: DENOISE_LATENTS, + is_intermediate: true, + cfg_scale, + scheduler, + steps, + } + : { + type: 'denoise_latents', + id: DENOISE_LATENTS, + is_intermediate: true, + cfg_scale, + scheduler, + steps, + denoising_start: 0, + denoising_end: shouldUseSDXLRefiner ? refinerStart : 1, + }; + /** + * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the + * full graph here as a template. Then use the parameters from app state and set friendlier node + * ids. + * + * The only thing we need extra logic for is handling randomized seed, control net, and for img2img, + * the `fit` param. These are added to the graph at the end. + */ + + // copy-pasted graph from node editor, filled in with state values & friendly node ids + // TODO: Actually create the graph correctly for ONNX + const graph: NonNullableGraph = { + id: TEXT_TO_IMAGE_GRAPH, + nodes: { + [POSITIVE_CONDITIONING]: { + type: isUsingOnnxModel ? 'prompt_onnx' : 'sdxl_compel_prompt', + id: POSITIVE_CONDITIONING, + is_intermediate: true, + prompt: positivePrompt, + style: shouldConcatSDXLStylePrompt + ? `${positivePrompt} ${positiveStylePrompt}` + : positiveStylePrompt, + }, + [NEGATIVE_CONDITIONING]: { + type: isUsingOnnxModel ? 'prompt_onnx' : 'sdxl_compel_prompt', + id: NEGATIVE_CONDITIONING, + is_intermediate: true, + prompt: negativePrompt, + style: shouldConcatSDXLStylePrompt + ? `${negativePrompt} ${negativeStylePrompt}` + : negativeStylePrompt, + }, + [NOISE]: { + type: 'noise', + id: NOISE, + is_intermediate: true, + width, + height, + use_cpu, + }, + [t2lNode.id]: t2lNode, + [modelLoaderNodeId]: { + type: modelLoaderNodeType, + id: modelLoaderNodeId, + is_intermediate: true, + model, + }, + + [LATENTS_TO_IMAGE]: { + type: isUsingOnnxModel ? 'l2i_onnx' : 'l2i', + id: LATENTS_TO_IMAGE, + is_intermediate: !shouldAutoSave, + }, + }, + edges: [ + { + source: { + node_id: modelLoaderNodeId, + field: 'unet', + }, + destination: { + node_id: DENOISE_LATENTS, + field: 'unet', + }, + }, + { + source: { + node_id: modelLoaderNodeId, + field: 'clip', + }, + destination: { + node_id: POSITIVE_CONDITIONING, + field: 'clip', + }, + }, + { + source: { + node_id: modelLoaderNodeId, + field: 'clip2', + }, + destination: { + node_id: POSITIVE_CONDITIONING, + field: 'clip2', + }, + }, + { + source: { + node_id: modelLoaderNodeId, + field: 'clip', + }, + destination: { + node_id: NEGATIVE_CONDITIONING, + field: 'clip', + }, + }, + { + source: { + node_id: modelLoaderNodeId, + field: 'clip2', + }, + destination: { + node_id: NEGATIVE_CONDITIONING, + field: 'clip2', + }, + }, + { + source: { + node_id: NEGATIVE_CONDITIONING, + field: 'conditioning', + }, + destination: { + node_id: DENOISE_LATENTS, + field: 'negative_conditioning', + }, + }, + { + source: { + node_id: POSITIVE_CONDITIONING, + field: 'conditioning', + }, + destination: { + node_id: DENOISE_LATENTS, + field: 'positive_conditioning', + }, + }, + { + source: { + node_id: DENOISE_LATENTS, + field: 'latents', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'latents', + }, + }, + { + source: { + node_id: NOISE, + field: 'noise', + }, + destination: { + node_id: DENOISE_LATENTS, + field: 'noise', + }, + }, + ], + }; + + // add metadata accumulator, which is only mostly populated - some fields are added later + graph.nodes[METADATA_ACCUMULATOR] = { + id: METADATA_ACCUMULATOR, + type: 'metadata_accumulator', + generation_mode: 'txt2img', + cfg_scale, + height, + width, + positive_prompt: '', // set in addDynamicPromptsToGraph + negative_prompt: negativePrompt, + model, + seed: 0, // set in addDynamicPromptsToGraph + steps, + rand_device: use_cpu ? 'cpu' : 'cuda', + scheduler, + vae: undefined, // option; set in addVAEToGraph + controlnets: [], // populated in addControlNetToLinearGraph + loras: [], // populated in addLoRAsToGraph + clip_skip: clipSkip, + }; + + graph.edges.push({ + source: { + node_id: METADATA_ACCUMULATOR, + field: 'metadata', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'metadata', + }, + }); + + // Add Refiner if enabled + if (shouldUseSDXLRefiner) { + addSDXLRefinerToGraph(state, graph, DENOISE_LATENTS); + } + + // add LoRA support + addSDXLLoRAsToGraph(state, graph, DENOISE_LATENTS, modelLoaderNodeId); + + // optionally add custom VAE + addVAEToGraph(state, graph, modelLoaderNodeId); + + // add dynamic prompts - also sets up core iteration and seed + addDynamicPromptsToGraph(state, graph); + + // add controlnet, mutating `graph` + addControlNetToLinearGraph(state, graph, DENOISE_LATENTS); + + // NSFW & watermark - must be last thing added to graph + if (state.system.shouldUseNSFWChecker) { + // must add before watermarker! + addNSFWCheckerToGraph(state, graph); + } + + if (state.system.shouldUseWatermarker) { + // must add after nsfw checker! + addWatermarkerToGraph(state, graph); + } + + return graph; +}; diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/MainModel/ParamMainModelSelect.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/MainModel/ParamMainModelSelect.tsx index 0a18d4f556..05b5b6468a 100644 --- a/invokeai/frontend/web/src/features/parameters/components/Parameters/MainModel/ParamMainModelSelect.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/Parameters/MainModel/ParamMainModelSelect.tsx @@ -15,11 +15,11 @@ import { modelIdToMainModelParam } from 'features/parameters/util/modelIdToMainM import SyncModelsButton from 'features/ui/components/tabs/ModelManager/subpanels/ModelManagerSettingsPanel/SyncModelsButton'; import { activeTabNameSelector } from 'features/ui/store/uiSelectors'; import { forEach } from 'lodash-es'; +import { NON_REFINER_BASE_MODELS } from 'services/api/constants'; import { useGetMainModelsQuery, useGetOnnxModelsQuery, } from 'services/api/endpoints/models'; -import { NON_REFINER_BASE_MODELS } from 'services/api/constants'; import { useFeatureStatus } from '../../../../system/hooks/useFeatureStatus'; const selector = createSelector( @@ -52,10 +52,7 @@ const ParamMainModelSelect = () => { const data: SelectItem[] = []; forEach(mainModels.entities, (model, id) => { - if ( - !model || - (activeTabName === 'unifiedCanvas' && model.base_model === 'sdxl') - ) { + if (!model) { return; } diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLUnifiedCanvasTabParameters.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLUnifiedCanvasTabParameters.tsx new file mode 100644 index 0000000000..270e839894 --- /dev/null +++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLUnifiedCanvasTabParameters.tsx @@ -0,0 +1,29 @@ +import ParamDynamicPromptsCollapse from 'features/dynamicPrompts/components/ParamDynamicPromptsCollapse'; +import ParamLoraCollapse from 'features/lora/components/ParamLoraCollapse'; +import ParamAdvancedCollapse from 'features/parameters/components/Parameters/Advanced/ParamAdvancedCollapse'; +import ParamInfillAndScalingCollapse from 'features/parameters/components/Parameters/Canvas/InfillAndScaling/ParamInfillAndScalingCollapse'; +import ParamMaskAdjustmentCollapse from 'features/parameters/components/Parameters/Canvas/MaskAdjustment/ParamMaskAdjustmentCollapse'; +import ParamControlNetCollapse from 'features/parameters/components/Parameters/ControlNet/ParamControlNetCollapse'; +import ParamNoiseCollapse from 'features/parameters/components/Parameters/Noise/ParamNoiseCollapse'; +import ProcessButtons from 'features/parameters/components/ProcessButtons/ProcessButtons'; +import UnifiedCanvasCoreParameters from 'features/ui/components/tabs/UnifiedCanvas/UnifiedCanvasCoreParameters'; +import ParamSDXLPromptArea from './ParamSDXLPromptArea'; +import ParamSDXLRefinerCollapse from './ParamSDXLRefinerCollapse'; + +export default function SDXLUnifiedCanvasTabParameters() { + return ( + <> + + + + + + + + + + + + + ); +} diff --git a/invokeai/frontend/web/src/features/ui/components/tabs/UnifiedCanvas/UnifiedCanvasTab.tsx b/invokeai/frontend/web/src/features/ui/components/tabs/UnifiedCanvas/UnifiedCanvasTab.tsx index 4c36c45e13..0a5b872e4b 100644 --- a/invokeai/frontend/web/src/features/ui/components/tabs/UnifiedCanvas/UnifiedCanvasTab.tsx +++ b/invokeai/frontend/web/src/features/ui/components/tabs/UnifiedCanvas/UnifiedCanvasTab.tsx @@ -1,14 +1,22 @@ import { Flex } from '@chakra-ui/react'; +import { RootState } from 'app/store/store'; +import { useAppSelector } from 'app/store/storeHooks'; +import SDXLUnifiedCanvasTabParameters from 'features/sdxl/components/SDXLUnifiedCanvasTabParameters'; import { memo } from 'react'; import ParametersPinnedWrapper from '../../ParametersPinnedWrapper'; import UnifiedCanvasContent from './UnifiedCanvasContent'; import UnifiedCanvasParameters from './UnifiedCanvasParameters'; const UnifiedCanvasTab = () => { + const model = useAppSelector((state: RootState) => state.generation.model); return ( - + {model && model.base_model === 'sdxl' ? ( + + ) : ( + + )} From 8acd7eeca5a29120715503d3ccdd7a8c5b00e9e8 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sat, 12 Aug 2023 08:18:30 +1200 Subject: [PATCH 170/287] feat: Disable clip skip for SDXL Canvas --- .../features/sdxl/components/SDXLUnifiedCanvasTabParameters.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLUnifiedCanvasTabParameters.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLUnifiedCanvasTabParameters.tsx index 270e839894..6faafc6891 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/SDXLUnifiedCanvasTabParameters.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLUnifiedCanvasTabParameters.tsx @@ -1,6 +1,5 @@ import ParamDynamicPromptsCollapse from 'features/dynamicPrompts/components/ParamDynamicPromptsCollapse'; import ParamLoraCollapse from 'features/lora/components/ParamLoraCollapse'; -import ParamAdvancedCollapse from 'features/parameters/components/Parameters/Advanced/ParamAdvancedCollapse'; import ParamInfillAndScalingCollapse from 'features/parameters/components/Parameters/Canvas/InfillAndScaling/ParamInfillAndScalingCollapse'; import ParamMaskAdjustmentCollapse from 'features/parameters/components/Parameters/Canvas/MaskAdjustment/ParamMaskAdjustmentCollapse'; import ParamControlNetCollapse from 'features/parameters/components/Parameters/ControlNet/ParamControlNetCollapse'; @@ -23,7 +22,6 @@ export default function SDXLUnifiedCanvasTabParameters() { - ); } From ce3675fc1499af9d88d68d37d011a981b9a14942 Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Sat, 12 Aug 2023 03:19:49 +0300 Subject: [PATCH 171/287] Apply denoising_start/end according on timestep value --- invokeai/app/invocations/latent.py | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index 15e7c15802..fc934618cf 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -316,26 +316,36 @@ class DenoiseLatentsInvocation(BaseInvocation): # MultiControlNetModel has been refactored out, just need list[ControlNetData] return control_data + # original idea by https://github.com/AmericanPresidentJimmyCarter def init_scheduler(self, scheduler, device, steps, denoising_start, denoising_end): if scheduler.config.get("cpu_only", False): device = torch.device("cpu") - - # apply denoising_start + num_inference_steps = steps scheduler.set_timesteps(num_inference_steps, device=device) + timesteps = scheduler.timesteps - t_start = int(round(denoising_start * num_inference_steps)) - timesteps = scheduler.timesteps[t_start * scheduler.order :] - num_inference_steps = num_inference_steps - t_start + # apply denoising_start + t_start_val = int(round(scheduler.config.num_train_timesteps * (1 - denoising_start))) + t_start_idx = len(list(filter(lambda ts: ts >= t_start_val, timesteps))) + timesteps = timesteps[t_start_idx:] + if scheduler.order == 2: + # TODO: research for second order schedulers timesteps + timesteps = timesteps[1:] + # save start timestep to apply noise init_timestep = timesteps[:1] # apply denoising_end - num_warmup_steps = max(len(timesteps) - num_inference_steps * scheduler.order, 0) + t_end_val = int(round(scheduler.config.num_train_timesteps * (1 - denoising_end))) + t_end_idx = len(list(filter(lambda ts: ts >= t_end_val, timesteps))) + timesteps = timesteps[:t_end_idx] - skipped_final_steps = int(round((1 - denoising_end) * steps)) - num_inference_steps = num_inference_steps - skipped_final_steps - timesteps = timesteps[: num_warmup_steps + scheduler.order * num_inference_steps] + # calculate step count based on scheduler order + num_inference_steps = len(timesteps) + if scheduler.order == 2: + num_inference_steps += (num_inference_steps % 2) + num_inference_steps = num_inference_steps // 2 return num_inference_steps, timesteps, init_timestep From 6034fa12debd5dd95a2088a4d75e999e0431654d Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sat, 12 Aug 2023 16:20:58 +1200 Subject: [PATCH 172/287] feat: Add Mask Blur node --- invokeai/app/invocations/image.py | 45 +++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index cc05b529b5..846812435d 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -706,7 +706,7 @@ class MaskCombineInvocation(BaseInvocation, PILInvocationConfig): "ui": {"title": "Mask Combine", "tags": ["mask", "combine"]}, } - def invoke(self, context: InvocationContext) -> ImageOutput: + def invoke(self, context: InvocationContext) -> MaskOutput: mask1 = context.services.images.get_pil_image(self.mask1.image_name).convert("L") mask2 = context.services.images.get_pil_image(self.mask2.image_name).convert("L") @@ -721,7 +721,48 @@ class MaskCombineInvocation(BaseInvocation, PILInvocationConfig): is_intermediate=self.is_intermediate, ) - return ImageOutput( + return MaskOutput( + image=ImageField(image_name=image_dto.image_name), + width=image_dto.width, + height=image_dto.height, + ) + + +class MaskBlurInvocation(BaseInvocation, PILInvocationConfig): + """Blurs a mask""" + + # fmt: off + type: Literal["mask_blur"] = "mask_blur" + + # Inputs + mask: Optional[ImageField] = Field(default=None, description="The mask image to blur") + radius: float = Field(default=8.0, ge=0, description="The blur radius") + blur_type: Literal["gaussian", "box"] = Field(default="gaussian", description="The type of blur") + # fmt: on + + class Config(InvocationConfig): + schema_extra = { + "ui": {"title": "Mask Blur", "tags": ["mask", "blur"]}, + } + + def invoke(self, context: InvocationContext) -> MaskOutput: + mask = context.services.images.get_pil_image(self.mask.image_name) + + blur = ( + ImageFilter.GaussianBlur(self.radius) if self.blur_type == "gaussian" else ImageFilter.BoxBlur(self.radius) + ) + blur_mask = mask.filter(blur) + + image_dto = context.services.images.create( + image=blur_mask, + image_origin=ResourceOrigin.INTERNAL, + image_category=ImageCategory.GENERAL, + node_id=self.id, + session_id=context.graph_execution_state_id, + is_intermediate=self.is_intermediate, + ) + + return MaskOutput( image=ImageField(image_name=image_dto.image_name), width=image_dto.width, height=image_dto.height, From 7254ffc3e7e06163a133aa38ca8b6fdbd4e70e2d Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sat, 12 Aug 2023 16:30:20 +1200 Subject: [PATCH 173/287] chore: Split Inpaint and Outpaint Graphs --- .../util/graphBuilders/buildCanvasGraph.ts | 21 +- .../graphBuilders/buildCanvasInpaintGraph.ts | 108 +--- .../graphBuilders/buildCanvasOutpaintGraph.ts | 461 +++++++++++++++++ .../buildCanvasSDXLInpaintGraph.ts | 212 +++----- .../buildCanvasSDXLOutpaintGraph.ts | 480 ++++++++++++++++++ .../frontend/web/src/services/api/schema.d.ts | 71 ++- 6 files changed, 1084 insertions(+), 269 deletions(-) create mode 100644 invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts create mode 100644 invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasGraph.ts index dd0a5e6619..d268a3990d 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasGraph.ts @@ -3,8 +3,10 @@ import { NonNullableGraph } from 'features/nodes/types/types'; import { ImageDTO } from 'services/api/types'; import { buildCanvasImageToImageGraph } from './buildCanvasImageToImageGraph'; import { buildCanvasInpaintGraph } from './buildCanvasInpaintGraph'; +import { buildCanvasOutpaintGraph } from './buildCanvasOutpaintGraph'; import { buildCanvasSDXLImageToImageGraph } from './buildCanvasSDXLImageToImageGraph'; import { buildCanvasSDXLInpaintGraph } from './buildCanvasSDXLInpaintGraph'; +import { buildCanvasSDXLOutpaintGraph } from './buildCanvasSDXLOutpaintGraph'; import { buildCanvasSDXLTextToImageGraph } from './buildCanvasSDXLTextToImageGraph'; import { buildCanvasTextToImageGraph } from './buildCanvasTextToImageGraph'; @@ -37,11 +39,10 @@ export const buildCanvasGraph = ( } else { graph = buildCanvasImageToImageGraph(state, canvasInitImage); } - } else { + } else if (generationMode === 'inpaint') { if (!canvasInitImage || !canvasMaskImage) { throw new Error('Missing canvas init and mask images'); } - if ( state.generation.model && state.generation.model.base_model === 'sdxl' @@ -54,6 +55,22 @@ export const buildCanvasGraph = ( } else { graph = buildCanvasInpaintGraph(state, canvasInitImage, canvasMaskImage); } + } else { + if (!canvasInitImage) { + throw new Error('Missing canvas init image'); + } + if ( + state.generation.model && + state.generation.model.base_model === 'sdxl' + ) { + graph = buildCanvasSDXLOutpaintGraph( + state, + canvasInitImage, + canvasMaskImage + ); + } else { + graph = buildCanvasOutpaintGraph(state, canvasInitImage, canvasMaskImage); + } } return graph; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts index 1e2b9d76d8..5afcd80d85 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts @@ -3,8 +3,6 @@ import { RootState } from 'app/store/store'; import { NonNullableGraph } from 'features/nodes/types/types'; import { ImageDTO, - InfillPatchmatchInvocation, - InfillTileInvocation, RandomIntInvocation, RangeOfSizeInvocation, } from 'services/api/types'; @@ -20,13 +18,10 @@ import { INPAINT_FINAL_IMAGE, INPAINT_GRAPH, INPAINT_IMAGE, - INPAINT_INFILL, ITERATE, LATENTS_TO_IMAGE, MAIN_MODEL_LOADER, MASK_BLUR, - MASK_COMBINE, - MASK_FROM_ALPHA, NEGATIVE_CONDITIONING, NOISE, POSITIVE_CONDITIONING, @@ -60,8 +55,6 @@ export const buildCanvasInpaintGraph = ( shouldUseCpuNoise, maskBlur, maskBlurMethod, - tileSize, - infillMethod, clipSkip, } = state.generation; @@ -84,23 +77,6 @@ export const buildCanvasInpaintGraph = ( ? shouldUseCpuNoise : shouldUseCpuNoise; - let infillNode: InfillTileInvocation | InfillPatchmatchInvocation = { - type: 'infill_tile', - id: INPAINT_INFILL, - is_intermediate: true, - image: canvasInitImage, - tile_size: tileSize, - }; - - if (infillMethod === 'patchmatch') { - infillNode = { - type: 'infill_patchmatch', - id: INPAINT_INFILL, - is_intermediate: true, - image: canvasInitImage, - }; - } - const graph: NonNullableGraph = { id: INPAINT_GRAPH, nodes: { @@ -114,31 +90,20 @@ export const buildCanvasInpaintGraph = ( denoising_start: 1 - strength, denoising_end: 1, }, - [infillNode.id]: infillNode, - [MASK_FROM_ALPHA]: { - type: 'tomask', - id: MASK_FROM_ALPHA, - is_intermediate: true, - image: canvasInitImage, - }, - [MASK_COMBINE]: { - type: 'mask_combine', - id: MASK_COMBINE, - is_intermediate: true, - mask2: canvasMaskImage, - }, [MASK_BLUR]: { - type: 'img_blur', + type: 'mask_blur', id: MASK_BLUR, is_intermediate: true, radius: maskBlur, blur_type: maskBlurMethod, + mask: canvasMaskImage, }, [INPAINT_IMAGE]: { type: 'i2l', id: INPAINT_IMAGE, is_intermediate: true, fp32: vaePrecision === 'fp32' ? true : false, + image: canvasInitImage, }, [NOISE]: { type: 'noise', @@ -182,11 +147,14 @@ export const buildCanvasInpaintGraph = ( type: 'color_correct', id: COLOR_CORRECT, is_intermediate: true, + reference: canvasInitImage, + mask: canvasMaskImage, }, [INPAINT_FINAL_IMAGE]: { type: 'img_paste', id: INPAINT_FINAL_IMAGE, is_intermediate: true, + base_image: canvasInitImage, }, [RANGE_OF_SIZE]: { type: 'range_of_size', @@ -274,16 +242,6 @@ export const buildCanvasInpaintGraph = ( field: 'noise', }, }, - { - source: { - node_id: INPAINT_INFILL, - field: 'image', - }, - destination: { - node_id: INPAINT_IMAGE, - field: 'image', - }, - }, { source: { node_id: INPAINT_IMAGE, @@ -296,29 +254,9 @@ export const buildCanvasInpaintGraph = ( }, { source: { - node_id: MASK_FROM_ALPHA, + node_id: MASK_BLUR, field: 'mask', }, - destination: { - node_id: MASK_COMBINE, - field: 'mask1', - }, - }, - { - source: { - node_id: MASK_COMBINE, - field: 'image', - }, - destination: { - node_id: MASK_BLUR, - field: 'image', - }, - }, - { - source: { - node_id: MASK_BLUR, - field: 'image', - }, destination: { node_id: INPAINT, field: 'mask', @@ -354,26 +292,6 @@ export const buildCanvasInpaintGraph = ( field: 'latents', }, }, - { - source: { - node_id: INPAINT_INFILL, - field: 'image', - }, - destination: { - node_id: COLOR_CORRECT, - field: 'reference', - }, - }, - { - source: { - node_id: MASK_BLUR, - field: 'image', - }, - destination: { - node_id: COLOR_CORRECT, - field: 'mask', - }, - }, { source: { node_id: LATENTS_TO_IMAGE, @@ -384,20 +302,10 @@ export const buildCanvasInpaintGraph = ( field: 'image', }, }, - { - source: { - node_id: INPAINT_INFILL, - field: 'image', - }, - destination: { - node_id: INPAINT_FINAL_IMAGE, - field: 'base_image', - }, - }, { source: { node_id: MASK_BLUR, - field: 'image', + field: 'mask', }, destination: { node_id: INPAINT_FINAL_IMAGE, diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts new file mode 100644 index 0000000000..a11473314d --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts @@ -0,0 +1,461 @@ +import { logger } from 'app/logging/logger'; +import { RootState } from 'app/store/store'; +import { NonNullableGraph } from 'features/nodes/types/types'; +import { + ImageDTO, + InfillPatchmatchInvocation, + InfillTileInvocation, + RandomIntInvocation, + RangeOfSizeInvocation, +} from 'services/api/types'; +import { addControlNetToLinearGraph } from './addControlNetToLinearGraph'; +import { addLoRAsToGraph } from './addLoRAsToGraph'; +import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; +import { addVAEToGraph } from './addVAEToGraph'; +import { addWatermarkerToGraph } from './addWatermarkerToGraph'; +import { + CLIP_SKIP, + COLOR_CORRECT, + INPAINT, + INPAINT_FINAL_IMAGE, + INPAINT_GRAPH, + INPAINT_IMAGE, + INPAINT_INFILL, + ITERATE, + LATENTS_TO_IMAGE, + MAIN_MODEL_LOADER, + MASK_BLUR, + MASK_COMBINE, + MASK_FROM_ALPHA, + NEGATIVE_CONDITIONING, + NOISE, + POSITIVE_CONDITIONING, + RANDOM_INT, + RANGE_OF_SIZE, +} from './constants'; + +/** + * Builds the Canvas tab's Outpaint graph. + */ +export const buildCanvasOutpaintGraph = ( + state: RootState, + canvasInitImage: ImageDTO, + canvasMaskImage?: ImageDTO +): NonNullableGraph => { + const log = logger('nodes'); + const { + positivePrompt, + negativePrompt, + model, + cfgScale: cfg_scale, + scheduler, + steps, + img2imgStrength: strength, + shouldFitToWidthHeight, + iterations, + seed, + shouldRandomizeSeed, + vaePrecision, + shouldUseNoiseSettings, + shouldUseCpuNoise, + maskBlur, + maskBlurMethod, + tileSize, + infillMethod, + clipSkip, + } = state.generation; + + if (!model) { + log.error('No model found in state'); + throw new Error('No model found in state'); + } + + // The bounding box determines width and height, not the width and height params + const { width, height } = state.canvas.boundingBoxDimensions; + + // We may need to set the inpaint width and height to scale the image + const { + scaledBoundingBoxDimensions, + boundingBoxScaleMethod, + shouldAutoSave, + } = state.canvas; + + const use_cpu = shouldUseNoiseSettings + ? shouldUseCpuNoise + : shouldUseCpuNoise; + + let infillNode: InfillTileInvocation | InfillPatchmatchInvocation = { + type: 'infill_tile', + id: INPAINT_INFILL, + is_intermediate: true, + image: canvasInitImage, + tile_size: tileSize, + }; + + if (infillMethod === 'patchmatch') { + infillNode = { + type: 'infill_patchmatch', + id: INPAINT_INFILL, + is_intermediate: true, + image: canvasInitImage, + }; + } + + const graph: NonNullableGraph = { + id: INPAINT_GRAPH, + nodes: { + [INPAINT]: { + type: 'denoise_latents', + id: INPAINT, + is_intermediate: true, + steps: steps, + cfg_scale: cfg_scale, + scheduler: scheduler, + denoising_start: 1 - strength, + denoising_end: 1, + }, + [infillNode.id]: infillNode, + [MASK_FROM_ALPHA]: { + type: 'tomask', + id: MASK_FROM_ALPHA, + is_intermediate: true, + image: canvasInitImage, + }, + [MASK_COMBINE]: { + type: 'mask_combine', + id: MASK_COMBINE, + is_intermediate: true, + mask2: canvasMaskImage, + }, + [MASK_BLUR]: { + type: 'mask_blur', + id: MASK_BLUR, + is_intermediate: true, + radius: maskBlur, + blur_type: maskBlurMethod, + }, + [INPAINT_IMAGE]: { + type: 'i2l', + id: INPAINT_IMAGE, + is_intermediate: true, + fp32: vaePrecision === 'fp32' ? true : false, + }, + [NOISE]: { + type: 'noise', + id: NOISE, + width, + height, + use_cpu, + is_intermediate: true, + }, + [POSITIVE_CONDITIONING]: { + type: 'compel', + id: POSITIVE_CONDITIONING, + is_intermediate: true, + prompt: positivePrompt, + }, + [NEGATIVE_CONDITIONING]: { + type: 'compel', + id: NEGATIVE_CONDITIONING, + is_intermediate: true, + prompt: negativePrompt, + }, + [MAIN_MODEL_LOADER]: { + type: 'main_model_loader', + id: MAIN_MODEL_LOADER, + is_intermediate: true, + model, + }, + [LATENTS_TO_IMAGE]: { + type: 'l2i', + id: LATENTS_TO_IMAGE, + is_intermediate: true, + fp32: vaePrecision === 'fp32' ? true : false, + }, + [CLIP_SKIP]: { + type: 'clip_skip', + id: CLIP_SKIP, + is_intermediate: true, + skipped_layers: clipSkip, + }, + [COLOR_CORRECT]: { + type: 'color_correct', + id: COLOR_CORRECT, + is_intermediate: true, + }, + [INPAINT_FINAL_IMAGE]: { + type: 'img_paste', + id: INPAINT_FINAL_IMAGE, + is_intermediate: true, + }, + [RANGE_OF_SIZE]: { + type: 'range_of_size', + id: RANGE_OF_SIZE, + is_intermediate: true, + // seed - must be connected manually + // start: 0, + size: iterations, + step: 1, + }, + [ITERATE]: { + type: 'iterate', + id: ITERATE, + is_intermediate: true, + }, + }, + edges: [ + { + source: { + node_id: MAIN_MODEL_LOADER, + field: 'unet', + }, + destination: { + node_id: INPAINT, + field: 'unet', + }, + }, + { + source: { + node_id: MAIN_MODEL_LOADER, + field: 'clip', + }, + destination: { + node_id: CLIP_SKIP, + field: 'clip', + }, + }, + { + source: { + node_id: CLIP_SKIP, + field: 'clip', + }, + destination: { + node_id: POSITIVE_CONDITIONING, + field: 'clip', + }, + }, + { + source: { + node_id: CLIP_SKIP, + field: 'clip', + }, + destination: { + node_id: NEGATIVE_CONDITIONING, + field: 'clip', + }, + }, + { + source: { + node_id: NEGATIVE_CONDITIONING, + field: 'conditioning', + }, + destination: { + node_id: INPAINT, + field: 'negative_conditioning', + }, + }, + { + source: { + node_id: POSITIVE_CONDITIONING, + field: 'conditioning', + }, + destination: { + node_id: INPAINT, + field: 'positive_conditioning', + }, + }, + { + source: { + node_id: NOISE, + field: 'noise', + }, + destination: { + node_id: INPAINT, + field: 'noise', + }, + }, + { + source: { + node_id: INPAINT_INFILL, + field: 'image', + }, + destination: { + node_id: INPAINT_IMAGE, + field: 'image', + }, + }, + { + source: { + node_id: INPAINT_IMAGE, + field: 'latents', + }, + destination: { + node_id: INPAINT, + field: 'latents', + }, + }, + { + source: { + node_id: MASK_FROM_ALPHA, + field: 'mask', + }, + destination: { + node_id: MASK_COMBINE, + field: 'mask1', + }, + }, + { + source: { + node_id: MASK_COMBINE, + field: 'mask', + }, + destination: { + node_id: MASK_BLUR, + field: 'mask', + }, + }, + { + source: { + node_id: MASK_BLUR, + field: 'mask', + }, + destination: { + node_id: INPAINT, + field: 'mask', + }, + }, + { + source: { + node_id: RANGE_OF_SIZE, + field: 'collection', + }, + destination: { + node_id: ITERATE, + field: 'collection', + }, + }, + { + source: { + node_id: ITERATE, + field: 'item', + }, + destination: { + node_id: NOISE, + field: 'seed', + }, + }, + { + source: { + node_id: INPAINT, + field: 'latents', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'latents', + }, + }, + { + source: { + node_id: INPAINT_INFILL, + field: 'image', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'reference', + }, + }, + { + source: { + node_id: MASK_BLUR, + field: 'mask', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'mask', + }, + }, + { + source: { + node_id: LATENTS_TO_IMAGE, + field: 'image', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'image', + }, + }, + { + source: { + node_id: INPAINT_INFILL, + field: 'image', + }, + destination: { + node_id: INPAINT_FINAL_IMAGE, + field: 'base_image', + }, + }, + { + source: { + node_id: MASK_BLUR, + field: 'mask', + }, + destination: { + node_id: INPAINT_FINAL_IMAGE, + field: 'mask', + }, + }, + { + source: { + node_id: COLOR_CORRECT, + field: 'image', + }, + destination: { + node_id: INPAINT_FINAL_IMAGE, + field: 'image', + }, + }, + ], + }; + + // Add VAE + addVAEToGraph(state, graph, MAIN_MODEL_LOADER); + + // handle seed + if (shouldRandomizeSeed) { + // Random int node to generate the starting seed + const randomIntNode: RandomIntInvocation = { + id: RANDOM_INT, + type: 'rand_int', + }; + + graph.nodes[RANDOM_INT] = randomIntNode; + + // Connect random int to the start of the range of size so the range starts on the random first seed + graph.edges.push({ + source: { node_id: RANDOM_INT, field: 'a' }, + destination: { node_id: RANGE_OF_SIZE, field: 'start' }, + }); + } else { + // User specified seed, so set the start of the range of size to the seed + (graph.nodes[RANGE_OF_SIZE] as RangeOfSizeInvocation).start = seed; + } + + // add LoRA support + addLoRAsToGraph(state, graph, INPAINT, MAIN_MODEL_LOADER); + + // add controlnet, mutating `graph` + addControlNetToLinearGraph(state, graph, INPAINT); + + // NSFW & watermark - must be last thing added to graph + if (state.system.shouldUseNSFWChecker) { + // must add before watermarker! + addNSFWCheckerToGraph(state, graph, INPAINT); + } + + if (state.system.shouldUseWatermarker) { + // must add after nsfw checker! + addWatermarkerToGraph(state, graph, INPAINT); + } + + return graph; +}; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts index 04cc120cbe..1d05d05073 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts @@ -3,8 +3,6 @@ import { RootState } from 'app/store/store'; import { NonNullableGraph } from 'features/nodes/types/types'; import { ImageDTO, - InfillPatchmatchInvocation, - InfillTileInvocation, RandomIntInvocation, RangeOfSizeInvocation, } from 'services/api/types'; @@ -20,12 +18,9 @@ import { INPAINT_FINAL_IMAGE, INPAINT_GRAPH, INPAINT_IMAGE, - INPAINT_INFILL, ITERATE, LATENTS_TO_IMAGE, MASK_BLUR, - MASK_COMBINE, - MASK_FROM_ALPHA, NEGATIVE_CONDITIONING, NOISE, POSITIVE_CONDITIONING, @@ -60,8 +55,6 @@ export const buildCanvasSDXLInpaintGraph = ( shouldUseCpuNoise, maskBlur, maskBlurMethod, - tileSize, - infillMethod, } = state.generation; const { @@ -91,69 +84,13 @@ export const buildCanvasSDXLInpaintGraph = ( ? shouldUseCpuNoise : shouldUseCpuNoise; - let infillNode: InfillTileInvocation | InfillPatchmatchInvocation = { - type: 'infill_tile', - id: INPAINT_INFILL, - is_intermediate: true, - image: canvasInitImage, - tile_size: tileSize, - }; - - if (infillMethod === 'patchmatch') { - infillNode = { - type: 'infill_patchmatch', - id: INPAINT_INFILL, - is_intermediate: true, - image: canvasInitImage, - }; - } - const graph: NonNullableGraph = { id: INPAINT_GRAPH, nodes: { - [INPAINT]: { - type: 'denoise_latents', - id: INPAINT, - is_intermediate: true, - steps: steps, - cfg_scale: cfg_scale, - scheduler: scheduler, - denoising_start: 1 - strength, - denoising_end: shouldUseSDXLRefiner ? refinerStart : 1, - }, - [infillNode.id]: infillNode, - [MASK_FROM_ALPHA]: { - type: 'tomask', - id: MASK_FROM_ALPHA, - is_intermediate: true, - image: canvasInitImage, - }, - [MASK_COMBINE]: { - type: 'mask_combine', - id: MASK_COMBINE, - is_intermediate: true, - mask2: canvasMaskImage, - }, - [MASK_BLUR]: { - type: 'img_blur', - id: MASK_BLUR, - is_intermediate: true, - radius: maskBlur, - blur_type: maskBlurMethod, - }, - [INPAINT_IMAGE]: { - type: 'i2l', - id: INPAINT_IMAGE, - is_intermediate: true, - fp32: vaePrecision === 'fp32' ? true : false, - }, - [NOISE]: { - type: 'noise', - id: NOISE, - width, - height, - use_cpu, - is_intermediate: true, + [SDXL_MODEL_LOADER]: { + type: 'sdxl_model_loader', + id: SDXL_MODEL_LOADER, + model, }, [POSITIVE_CONDITIONING]: { type: 'sdxl_compel_prompt', @@ -171,10 +108,38 @@ export const buildCanvasSDXLInpaintGraph = ( ? `${negativePrompt} ${negativeStylePrompt}` : negativeStylePrompt, }, - [SDXL_MODEL_LOADER]: { - type: 'sdxl_model_loader', - id: SDXL_MODEL_LOADER, - model, + [MASK_BLUR]: { + type: 'mask_blur', + id: MASK_BLUR, + is_intermediate: true, + radius: maskBlur, + blur_type: maskBlurMethod, + mask: canvasMaskImage, + }, + [INPAINT_IMAGE]: { + type: 'i2l', + id: INPAINT_IMAGE, + is_intermediate: true, + fp32: vaePrecision === 'fp32' ? true : false, + image: canvasInitImage, + }, + [NOISE]: { + type: 'noise', + id: NOISE, + width, + height, + use_cpu, + is_intermediate: true, + }, + [INPAINT]: { + type: 'denoise_latents', + id: INPAINT, + is_intermediate: true, + steps: steps, + cfg_scale: cfg_scale, + scheduler: scheduler, + denoising_start: 1 - strength, + denoising_end: shouldUseSDXLRefiner ? refinerStart : 1, }, [LATENTS_TO_IMAGE]: { type: 'l2i', @@ -186,11 +151,14 @@ export const buildCanvasSDXLInpaintGraph = ( type: 'color_correct', id: COLOR_CORRECT, is_intermediate: true, + reference: canvasInitImage, + mask: canvasMaskImage, }, [INPAINT_FINAL_IMAGE]: { type: 'img_paste', id: INPAINT_FINAL_IMAGE, is_intermediate: true, + base_image: canvasInitImage, }, [RANGE_OF_SIZE]: { type: 'range_of_size', @@ -258,16 +226,6 @@ export const buildCanvasSDXLInpaintGraph = ( field: 'clip2', }, }, - { - source: { - node_id: NEGATIVE_CONDITIONING, - field: 'conditioning', - }, - destination: { - node_id: INPAINT, - field: 'negative_conditioning', - }, - }, { source: { node_id: POSITIVE_CONDITIONING, @@ -278,6 +236,16 @@ export const buildCanvasSDXLInpaintGraph = ( field: 'positive_conditioning', }, }, + { + source: { + node_id: NEGATIVE_CONDITIONING, + field: 'conditioning', + }, + destination: { + node_id: INPAINT, + field: 'negative_conditioning', + }, + }, { source: { node_id: NOISE, @@ -288,16 +256,6 @@ export const buildCanvasSDXLInpaintGraph = ( field: 'noise', }, }, - { - source: { - node_id: INPAINT_INFILL, - field: 'image', - }, - destination: { - node_id: INPAINT_IMAGE, - field: 'image', - }, - }, { source: { node_id: INPAINT_IMAGE, @@ -310,29 +268,9 @@ export const buildCanvasSDXLInpaintGraph = ( }, { source: { - node_id: MASK_FROM_ALPHA, + node_id: MASK_BLUR, field: 'mask', }, - destination: { - node_id: MASK_COMBINE, - field: 'mask1', - }, - }, - { - source: { - node_id: MASK_COMBINE, - field: 'image', - }, - destination: { - node_id: MASK_BLUR, - field: 'image', - }, - }, - { - source: { - node_id: MASK_BLUR, - field: 'image', - }, destination: { node_id: INPAINT, field: 'mask', @@ -368,26 +306,6 @@ export const buildCanvasSDXLInpaintGraph = ( field: 'latents', }, }, - { - source: { - node_id: INPAINT_INFILL, - field: 'image', - }, - destination: { - node_id: COLOR_CORRECT, - field: 'reference', - }, - }, - { - source: { - node_id: MASK_BLUR, - field: 'image', - }, - destination: { - node_id: COLOR_CORRECT, - field: 'mask', - }, - }, { source: { node_id: LATENTS_TO_IMAGE, @@ -398,26 +316,6 @@ export const buildCanvasSDXLInpaintGraph = ( field: 'image', }, }, - { - source: { - node_id: INPAINT_INFILL, - field: 'image', - }, - destination: { - node_id: INPAINT_FINAL_IMAGE, - field: 'base_image', - }, - }, - { - source: { - node_id: MASK_BLUR, - field: 'image', - }, - destination: { - node_id: INPAINT_FINAL_IMAGE, - field: 'mask', - }, - }, { source: { node_id: COLOR_CORRECT, @@ -428,6 +326,16 @@ export const buildCanvasSDXLInpaintGraph = ( field: 'image', }, }, + { + source: { + node_id: MASK_BLUR, + field: 'mask', + }, + destination: { + node_id: INPAINT_FINAL_IMAGE, + field: 'mask', + }, + }, ], }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts new file mode 100644 index 0000000000..2b60019003 --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts @@ -0,0 +1,480 @@ +import { logger } from 'app/logging/logger'; +import { RootState } from 'app/store/store'; +import { NonNullableGraph } from 'features/nodes/types/types'; +import { + ImageDTO, + InfillPatchmatchInvocation, + InfillTileInvocation, + RandomIntInvocation, + RangeOfSizeInvocation, +} from 'services/api/types'; +import { addControlNetToLinearGraph } from './addControlNetToLinearGraph'; +import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; +import { addSDXLLoRAsToGraph } from './addSDXLLoRAstoGraph'; +import { addSDXLRefinerToGraph } from './addSDXLRefinerToGraph'; +import { addVAEToGraph } from './addVAEToGraph'; +import { addWatermarkerToGraph } from './addWatermarkerToGraph'; +import { + COLOR_CORRECT, + INPAINT, + INPAINT_FINAL_IMAGE, + INPAINT_GRAPH, + INPAINT_IMAGE, + INPAINT_INFILL, + ITERATE, + LATENTS_TO_IMAGE, + MASK_BLUR, + MASK_COMBINE, + MASK_FROM_ALPHA, + NEGATIVE_CONDITIONING, + NOISE, + POSITIVE_CONDITIONING, + RANDOM_INT, + RANGE_OF_SIZE, + SDXL_MODEL_LOADER, +} from './constants'; + +/** + * Builds the Canvas tab's Outpaint graph. + */ +export const buildCanvasSDXLOutpaintGraph = ( + state: RootState, + canvasInitImage: ImageDTO, + canvasMaskImage?: ImageDTO +): NonNullableGraph => { + const log = logger('nodes'); + const { + positivePrompt, + negativePrompt, + model, + cfgScale: cfg_scale, + scheduler, + steps, + img2imgStrength: strength, + shouldFitToWidthHeight, + iterations, + seed, + shouldRandomizeSeed, + vaePrecision, + shouldUseNoiseSettings, + shouldUseCpuNoise, + maskBlur, + maskBlurMethod, + tileSize, + infillMethod, + } = state.generation; + + const { + positiveStylePrompt, + negativeStylePrompt, + shouldConcatSDXLStylePrompt, + shouldUseSDXLRefiner, + refinerStart, + } = state.sdxl; + + if (!model) { + log.error('No model found in state'); + throw new Error('No model found in state'); + } + + // The bounding box determines width and height, not the width and height params + const { width, height } = state.canvas.boundingBoxDimensions; + + // We may need to set the inpaint width and height to scale the image + const { + scaledBoundingBoxDimensions, + boundingBoxScaleMethod, + shouldAutoSave, + } = state.canvas; + + const use_cpu = shouldUseNoiseSettings + ? shouldUseCpuNoise + : shouldUseCpuNoise; + + let infillNode: InfillTileInvocation | InfillPatchmatchInvocation = { + type: 'infill_tile', + id: INPAINT_INFILL, + is_intermediate: true, + image: canvasInitImage, + tile_size: tileSize, + }; + + if (infillMethod === 'patchmatch') { + infillNode = { + type: 'infill_patchmatch', + id: INPAINT_INFILL, + is_intermediate: true, + image: canvasInitImage, + }; + } + + const graph: NonNullableGraph = { + id: INPAINT_GRAPH, + nodes: { + [INPAINT]: { + type: 'denoise_latents', + id: INPAINT, + is_intermediate: true, + steps: steps, + cfg_scale: cfg_scale, + scheduler: scheduler, + denoising_start: 1 - strength, + denoising_end: shouldUseSDXLRefiner ? refinerStart : 1, + }, + [infillNode.id]: infillNode, + [MASK_FROM_ALPHA]: { + type: 'tomask', + id: MASK_FROM_ALPHA, + is_intermediate: true, + image: canvasInitImage, + }, + [MASK_COMBINE]: { + type: 'mask_combine', + id: MASK_COMBINE, + is_intermediate: true, + mask2: canvasMaskImage, + }, + [MASK_BLUR]: { + type: 'mask_blur', + id: MASK_BLUR, + is_intermediate: true, + radius: maskBlur, + blur_type: maskBlurMethod, + }, + [INPAINT_IMAGE]: { + type: 'i2l', + id: INPAINT_IMAGE, + is_intermediate: true, + fp32: vaePrecision === 'fp32' ? true : false, + }, + [NOISE]: { + type: 'noise', + id: NOISE, + width, + height, + use_cpu, + is_intermediate: true, + }, + [POSITIVE_CONDITIONING]: { + type: 'sdxl_compel_prompt', + id: POSITIVE_CONDITIONING, + prompt: positivePrompt, + style: shouldConcatSDXLStylePrompt + ? `${positivePrompt} ${positiveStylePrompt}` + : positiveStylePrompt, + }, + [NEGATIVE_CONDITIONING]: { + type: 'sdxl_compel_prompt', + id: NEGATIVE_CONDITIONING, + prompt: negativePrompt, + style: shouldConcatSDXLStylePrompt + ? `${negativePrompt} ${negativeStylePrompt}` + : negativeStylePrompt, + }, + [SDXL_MODEL_LOADER]: { + type: 'sdxl_model_loader', + id: SDXL_MODEL_LOADER, + model, + }, + [LATENTS_TO_IMAGE]: { + type: 'l2i', + id: LATENTS_TO_IMAGE, + is_intermediate: true, + fp32: vaePrecision === 'fp32' ? true : false, + }, + [COLOR_CORRECT]: { + type: 'color_correct', + id: COLOR_CORRECT, + is_intermediate: true, + }, + [INPAINT_FINAL_IMAGE]: { + type: 'img_paste', + id: INPAINT_FINAL_IMAGE, + is_intermediate: true, + }, + [RANGE_OF_SIZE]: { + type: 'range_of_size', + id: RANGE_OF_SIZE, + is_intermediate: true, + // seed - must be connected manually + // start: 0, + size: iterations, + step: 1, + }, + [ITERATE]: { + type: 'iterate', + id: ITERATE, + is_intermediate: true, + }, + }, + edges: [ + { + source: { + node_id: SDXL_MODEL_LOADER, + field: 'unet', + }, + destination: { + node_id: INPAINT, + field: 'unet', + }, + }, + { + source: { + node_id: SDXL_MODEL_LOADER, + field: 'clip', + }, + destination: { + node_id: POSITIVE_CONDITIONING, + field: 'clip', + }, + }, + { + source: { + node_id: SDXL_MODEL_LOADER, + field: 'clip2', + }, + destination: { + node_id: POSITIVE_CONDITIONING, + field: 'clip2', + }, + }, + { + source: { + node_id: SDXL_MODEL_LOADER, + field: 'clip', + }, + destination: { + node_id: NEGATIVE_CONDITIONING, + field: 'clip', + }, + }, + { + source: { + node_id: SDXL_MODEL_LOADER, + field: 'clip2', + }, + destination: { + node_id: NEGATIVE_CONDITIONING, + field: 'clip2', + }, + }, + { + source: { + node_id: NEGATIVE_CONDITIONING, + field: 'conditioning', + }, + destination: { + node_id: INPAINT, + field: 'negative_conditioning', + }, + }, + { + source: { + node_id: POSITIVE_CONDITIONING, + field: 'conditioning', + }, + destination: { + node_id: INPAINT, + field: 'positive_conditioning', + }, + }, + { + source: { + node_id: NOISE, + field: 'noise', + }, + destination: { + node_id: INPAINT, + field: 'noise', + }, + }, + { + source: { + node_id: INPAINT_INFILL, + field: 'image', + }, + destination: { + node_id: INPAINT_IMAGE, + field: 'image', + }, + }, + { + source: { + node_id: INPAINT_IMAGE, + field: 'latents', + }, + destination: { + node_id: INPAINT, + field: 'latents', + }, + }, + { + source: { + node_id: MASK_FROM_ALPHA, + field: 'mask', + }, + destination: { + node_id: MASK_COMBINE, + field: 'mask1', + }, + }, + { + source: { + node_id: MASK_COMBINE, + field: 'mask', + }, + destination: { + node_id: MASK_BLUR, + field: 'mask', + }, + }, + { + source: { + node_id: MASK_BLUR, + field: 'mask', + }, + destination: { + node_id: INPAINT, + field: 'mask', + }, + }, + { + source: { + node_id: RANGE_OF_SIZE, + field: 'collection', + }, + destination: { + node_id: ITERATE, + field: 'collection', + }, + }, + { + source: { + node_id: ITERATE, + field: 'item', + }, + destination: { + node_id: NOISE, + field: 'seed', + }, + }, + { + source: { + node_id: INPAINT, + field: 'latents', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'latents', + }, + }, + { + source: { + node_id: INPAINT_INFILL, + field: 'image', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'reference', + }, + }, + { + source: { + node_id: MASK_BLUR, + field: 'mask', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'mask', + }, + }, + { + source: { + node_id: LATENTS_TO_IMAGE, + field: 'image', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'image', + }, + }, + { + source: { + node_id: INPAINT_INFILL, + field: 'image', + }, + destination: { + node_id: INPAINT_FINAL_IMAGE, + field: 'base_image', + }, + }, + { + source: { + node_id: MASK_BLUR, + field: 'mask', + }, + destination: { + node_id: INPAINT_FINAL_IMAGE, + field: 'mask', + }, + }, + { + source: { + node_id: COLOR_CORRECT, + field: 'image', + }, + destination: { + node_id: INPAINT_FINAL_IMAGE, + field: 'image', + }, + }, + ], + }; + + // Add Refiner if enabled + if (shouldUseSDXLRefiner) { + addSDXLRefinerToGraph(state, graph, INPAINT); + } + + // Add VAE + addVAEToGraph(state, graph, SDXL_MODEL_LOADER); + + // handle seed + if (shouldRandomizeSeed) { + // Random int node to generate the starting seed + const randomIntNode: RandomIntInvocation = { + id: RANDOM_INT, + type: 'rand_int', + }; + + graph.nodes[RANDOM_INT] = randomIntNode; + + // Connect random int to the start of the range of size so the range starts on the random first seed + graph.edges.push({ + source: { node_id: RANDOM_INT, field: 'a' }, + destination: { node_id: RANGE_OF_SIZE, field: 'start' }, + }); + } else { + // User specified seed, so set the start of the range of size to the seed + (graph.nodes[RANGE_OF_SIZE] as RangeOfSizeInvocation).start = seed; + } + + // add LoRA support + addSDXLLoRAsToGraph(state, graph, INPAINT, SDXL_MODEL_LOADER); + + // add controlnet, mutating `graph` + addControlNetToLinearGraph(state, graph, INPAINT); + + // NSFW & watermark - must be last thing added to graph + if (state.system.shouldUseNSFWChecker) { + // must add before watermarker! + addNSFWCheckerToGraph(state, graph, INPAINT); + } + + if (state.system.shouldUseWatermarker) { + // must add after nsfw checker! + addWatermarkerToGraph(state, graph, INPAINT); + } + + return graph; +}; diff --git a/invokeai/frontend/web/src/services/api/schema.d.ts b/invokeai/frontend/web/src/services/api/schema.d.ts index b4fcf7f75c..84053db29c 100644 --- a/invokeai/frontend/web/src/services/api/schema.d.ts +++ b/invokeai/frontend/web/src/services/api/schema.d.ts @@ -1586,7 +1586,7 @@ export type components = { * @description The nodes in this graph */ nodes?: { - [key: string]: (components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"]) | undefined; + [key: string]: (components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["MaskBlurInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"]) | undefined; }; /** * Edges @@ -3273,6 +3273,47 @@ export type components = { */ model: components["schemas"]["MainModelField"]; }; + /** + * MaskBlurInvocation + * @description Blurs a mask + */ + MaskBlurInvocation: { + /** + * Id + * @description The id of this node. Must be unique among all nodes. + */ + id: string; + /** + * Is Intermediate + * @description Whether or not this node is an intermediate node. + * @default false + */ + is_intermediate?: boolean; + /** + * Type + * @default mask_blur + * @enum {string} + */ + type?: "mask_blur"; + /** + * Mask + * @description The mask image to blur + */ + mask?: components["schemas"]["ImageField"]; + /** + * Radius + * @description The blur radius + * @default 8 + */ + radius?: number; + /** + * Blur Type + * @description The type of blur + * @default gaussian + * @enum {string} + */ + blur_type?: "gaussian" | "box"; + }; /** * MaskCombineInvocation * @description Combine two masks together by multiplying them using `PIL.ImageChops.multiply()`. @@ -5780,12 +5821,24 @@ export type components = { */ image?: components["schemas"]["ImageField"]; }; + /** + * StableDiffusion1ModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusionXLModelFormat * @description An enumeration. * @enum {string} */ StableDiffusionXLModelFormat: "checkpoint" | "diffusers"; + /** + * StableDiffusionOnnxModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusionOnnxModelFormat: "olive" | "onnx"; /** * ControlNetModelFormat * @description An enumeration. @@ -5798,18 +5851,6 @@ export type components = { * @enum {string} */ StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; - /** - * StableDiffusionOnnxModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusionOnnxModelFormat: "olive" | "onnx"; - /** - * StableDiffusion1ModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; }; responses: never; parameters: never; @@ -5920,7 +5961,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["MaskBlurInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"]; }; }; responses: { @@ -5957,7 +5998,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["MaskBlurInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"]; }; }; responses: { From 7587b54787e022dec863f88c3b163f77b14fa133 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sat, 12 Aug 2023 17:17:46 +1200 Subject: [PATCH 174/287] chore: Cleanup, comment and organize Node Graphs Before it gets too chaotic --- .../buildCanvasImageToImageGraph.ts | 116 +++++----- .../graphBuilders/buildCanvasInpaintGraph.ts | 113 +++++----- .../graphBuilders/buildCanvasOutpaintGraph.ts | 197 ++++++++--------- .../buildCanvasSDXLImageToImageGraph.ts | 87 ++++---- .../buildCanvasSDXLInpaintGraph.ts | 6 + .../buildCanvasSDXLOutpaintGraph.ts | 198 +++++++++--------- .../buildCanvasSDXLTextToImageGraph.ts | 46 ++-- .../buildCanvasTextToImageGraph.ts | 129 ++++++------ .../buildLinearImageToImageGraph.ts | 62 +++--- .../buildLinearSDXLImageToImageGraph.ts | 63 +++--- .../buildLinearSDXLTextToImageGraph.ts | 3 + .../buildLinearTextToImageGraph.ts | 78 +++---- 12 files changed, 584 insertions(+), 514 deletions(-) diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts index 181a0d9294..a4cd3b2add 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts @@ -75,6 +75,18 @@ export const buildCanvasImageToImageGraph = ( const graph: NonNullableGraph = { id: IMAGE_TO_IMAGE_GRAPH, nodes: { + [MAIN_MODEL_LOADER]: { + type: 'main_model_loader', + id: MAIN_MODEL_LOADER, + is_intermediate: true, + model, + }, + [CLIP_SKIP]: { + type: 'clip_skip', + id: CLIP_SKIP, + is_intermediate: true, + skipped_layers: clipSkip, + }, [POSITIVE_CONDITIONING]: { type: 'compel', id: POSITIVE_CONDITIONING, @@ -93,17 +105,14 @@ export const buildCanvasImageToImageGraph = ( is_intermediate: true, use_cpu, }, - [MAIN_MODEL_LOADER]: { - type: 'main_model_loader', - id: MAIN_MODEL_LOADER, + [IMAGE_TO_LATENTS]: { + type: 'i2l', + id: IMAGE_TO_LATENTS, is_intermediate: true, - model, - }, - [CLIP_SKIP]: { - type: 'clip_skip', - id: CLIP_SKIP, - is_intermediate: true, - skipped_layers: clipSkip, + // must be set manually later, bc `fit` parameter may require a resize node inserted + // image: { + // image_name: initialImage.image_name, + // }, }, [DENOISE_LATENTS]: { type: 'denoise_latents', @@ -115,15 +124,6 @@ export const buildCanvasImageToImageGraph = ( denoising_start: 1 - strength, denoising_end: 1, }, - [IMAGE_TO_LATENTS]: { - type: 'i2l', - id: IMAGE_TO_LATENTS, - is_intermediate: true, - // must be set manually later, bc `fit` parameter may require a resize node inserted - // image: { - // image_name: initialImage.image_name, - // }, - }, [LATENTS_TO_IMAGE]: { type: 'l2i', id: LATENTS_TO_IMAGE, @@ -131,6 +131,17 @@ export const buildCanvasImageToImageGraph = ( }, }, edges: [ + // Connect Model Loader to CLIP Skip and UNet + { + source: { + node_id: MAIN_MODEL_LOADER, + field: 'unet', + }, + destination: { + node_id: DENOISE_LATENTS, + field: 'unet', + }, + }, { source: { node_id: MAIN_MODEL_LOADER, @@ -141,6 +152,7 @@ export const buildCanvasImageToImageGraph = ( field: 'clip', }, }, + // Connect CLIP Skip To Conditioning { source: { node_id: CLIP_SKIP, @@ -161,44 +173,15 @@ export const buildCanvasImageToImageGraph = ( field: 'clip', }, }, + // Connect Everything To Denoise Latents { source: { - node_id: DENOISE_LATENTS, - field: 'latents', - }, - destination: { - node_id: LATENTS_TO_IMAGE, - field: 'latents', - }, - }, - { - source: { - node_id: IMAGE_TO_LATENTS, - field: 'latents', + node_id: POSITIVE_CONDITIONING, + field: 'conditioning', }, destination: { node_id: DENOISE_LATENTS, - field: 'latents', - }, - }, - { - source: { - node_id: NOISE, - field: 'noise', - }, - destination: { - node_id: DENOISE_LATENTS, - field: 'noise', - }, - }, - { - source: { - node_id: MAIN_MODEL_LOADER, - field: 'unet', - }, - destination: { - node_id: DENOISE_LATENTS, - field: 'unet', + field: 'positive_conditioning', }, }, { @@ -213,12 +196,33 @@ export const buildCanvasImageToImageGraph = ( }, { source: { - node_id: POSITIVE_CONDITIONING, - field: 'conditioning', + node_id: NOISE, + field: 'noise', }, destination: { node_id: DENOISE_LATENTS, - field: 'positive_conditioning', + field: 'noise', + }, + }, + { + source: { + node_id: IMAGE_TO_LATENTS, + field: 'latents', + }, + destination: { + node_id: DENOISE_LATENTS, + field: 'latents', + }, + }, + // Decode the denoised latents to an image + { + source: { + node_id: DENOISE_LATENTS, + field: 'latents', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'latents', }, }, ], @@ -328,7 +332,7 @@ export const buildCanvasImageToImageGraph = ( addLoRAsToGraph(state, graph, DENOISE_LATENTS); // optionally add custom VAE - addVAEToGraph(state, graph); + addVAEToGraph(state, graph, MAIN_MODEL_LOADER); // add dynamic prompts - also sets up core iteration and seed addDynamicPromptsToGraph(state, graph); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts index 5afcd80d85..2ecc858aa4 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts @@ -80,15 +80,29 @@ export const buildCanvasInpaintGraph = ( const graph: NonNullableGraph = { id: INPAINT_GRAPH, nodes: { - [INPAINT]: { - type: 'denoise_latents', - id: INPAINT, + [MAIN_MODEL_LOADER]: { + type: 'main_model_loader', + id: MAIN_MODEL_LOADER, is_intermediate: true, - steps: steps, - cfg_scale: cfg_scale, - scheduler: scheduler, - denoising_start: 1 - strength, - denoising_end: 1, + model, + }, + [CLIP_SKIP]: { + type: 'clip_skip', + id: CLIP_SKIP, + is_intermediate: true, + skipped_layers: clipSkip, + }, + [POSITIVE_CONDITIONING]: { + type: 'compel', + id: POSITIVE_CONDITIONING, + is_intermediate: true, + prompt: positivePrompt, + }, + [NEGATIVE_CONDITIONING]: { + type: 'compel', + id: NEGATIVE_CONDITIONING, + is_intermediate: true, + prompt: negativePrompt, }, [MASK_BLUR]: { type: 'mask_blur', @@ -113,23 +127,15 @@ export const buildCanvasInpaintGraph = ( use_cpu, is_intermediate: true, }, - [POSITIVE_CONDITIONING]: { - type: 'compel', - id: POSITIVE_CONDITIONING, + [INPAINT]: { + type: 'denoise_latents', + id: INPAINT, is_intermediate: true, - prompt: positivePrompt, - }, - [NEGATIVE_CONDITIONING]: { - type: 'compel', - id: NEGATIVE_CONDITIONING, - is_intermediate: true, - prompt: negativePrompt, - }, - [MAIN_MODEL_LOADER]: { - type: 'main_model_loader', - id: MAIN_MODEL_LOADER, - is_intermediate: true, - model, + steps: steps, + cfg_scale: cfg_scale, + scheduler: scheduler, + denoising_start: 1 - strength, + denoising_end: 1, }, [LATENTS_TO_IMAGE]: { type: 'l2i', @@ -137,12 +143,6 @@ export const buildCanvasInpaintGraph = ( is_intermediate: true, fp32: vaePrecision === 'fp32' ? true : false, }, - [CLIP_SKIP]: { - type: 'clip_skip', - id: CLIP_SKIP, - is_intermediate: true, - skipped_layers: clipSkip, - }, [COLOR_CORRECT]: { type: 'color_correct', id: COLOR_CORRECT, @@ -172,6 +172,7 @@ export const buildCanvasInpaintGraph = ( }, }, edges: [ + // Connect Model Loader to CLIP Skip and UNet { source: { node_id: MAIN_MODEL_LOADER, @@ -192,6 +193,7 @@ export const buildCanvasInpaintGraph = ( field: 'clip', }, }, + // Connect CLIP Skip to Conditioning { source: { node_id: CLIP_SKIP, @@ -212,6 +214,17 @@ export const buildCanvasInpaintGraph = ( field: 'clip', }, }, + // Connect Everything To Inpaint Node + { + source: { + node_id: POSITIVE_CONDITIONING, + field: 'conditioning', + }, + destination: { + node_id: INPAINT, + field: 'positive_conditioning', + }, + }, { source: { node_id: NEGATIVE_CONDITIONING, @@ -222,16 +235,6 @@ export const buildCanvasInpaintGraph = ( field: 'negative_conditioning', }, }, - { - source: { - node_id: POSITIVE_CONDITIONING, - field: 'conditioning', - }, - destination: { - node_id: INPAINT, - field: 'positive_conditioning', - }, - }, { source: { node_id: NOISE, @@ -262,6 +265,7 @@ export const buildCanvasInpaintGraph = ( field: 'mask', }, }, + // Iterate { source: { node_id: RANGE_OF_SIZE, @@ -282,6 +286,7 @@ export const buildCanvasInpaintGraph = ( field: 'seed', }, }, + // Decode Inpainted Latents To Image { source: { node_id: INPAINT, @@ -292,6 +297,7 @@ export const buildCanvasInpaintGraph = ( field: 'latents', }, }, + // Color Correct The Inpainted Result { source: { node_id: LATENTS_TO_IMAGE, @@ -302,6 +308,17 @@ export const buildCanvasInpaintGraph = ( field: 'image', }, }, + // Paste Back Onto Original Image + { + source: { + node_id: COLOR_CORRECT, + field: 'image', + }, + destination: { + node_id: INPAINT_FINAL_IMAGE, + field: 'image', + }, + }, { source: { node_id: MASK_BLUR, @@ -312,22 +329,9 @@ export const buildCanvasInpaintGraph = ( field: 'mask', }, }, - { - source: { - node_id: COLOR_CORRECT, - field: 'image', - }, - destination: { - node_id: INPAINT_FINAL_IMAGE, - field: 'image', - }, - }, ], }; - // Add VAE - addVAEToGraph(state, graph, MAIN_MODEL_LOADER); - // handle seed if (shouldRandomizeSeed) { // Random int node to generate the starting seed @@ -348,6 +352,9 @@ export const buildCanvasInpaintGraph = ( (graph.nodes[RANGE_OF_SIZE] as RangeOfSizeInvocation).start = seed; } + // Add VAE + addVAEToGraph(state, graph, MAIN_MODEL_LOADER); + // add LoRA support addLoRAsToGraph(state, graph, INPAINT, MAIN_MODEL_LOADER); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts index a11473314d..7949adfe39 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts @@ -104,17 +104,30 @@ export const buildCanvasOutpaintGraph = ( const graph: NonNullableGraph = { id: INPAINT_GRAPH, nodes: { - [INPAINT]: { - type: 'denoise_latents', - id: INPAINT, + [MAIN_MODEL_LOADER]: { + type: 'main_model_loader', + id: MAIN_MODEL_LOADER, is_intermediate: true, - steps: steps, - cfg_scale: cfg_scale, - scheduler: scheduler, - denoising_start: 1 - strength, - denoising_end: 1, + model, + }, + [CLIP_SKIP]: { + type: 'clip_skip', + id: CLIP_SKIP, + is_intermediate: true, + skipped_layers: clipSkip, + }, + [POSITIVE_CONDITIONING]: { + type: 'compel', + id: POSITIVE_CONDITIONING, + is_intermediate: true, + prompt: positivePrompt, + }, + [NEGATIVE_CONDITIONING]: { + type: 'compel', + id: NEGATIVE_CONDITIONING, + is_intermediate: true, + prompt: negativePrompt, }, - [infillNode.id]: infillNode, [MASK_FROM_ALPHA]: { type: 'tomask', id: MASK_FROM_ALPHA, @@ -134,6 +147,7 @@ export const buildCanvasOutpaintGraph = ( radius: maskBlur, blur_type: maskBlurMethod, }, + [infillNode.id]: infillNode, [INPAINT_IMAGE]: { type: 'i2l', id: INPAINT_IMAGE, @@ -148,23 +162,15 @@ export const buildCanvasOutpaintGraph = ( use_cpu, is_intermediate: true, }, - [POSITIVE_CONDITIONING]: { - type: 'compel', - id: POSITIVE_CONDITIONING, + [INPAINT]: { + type: 'denoise_latents', + id: INPAINT, is_intermediate: true, - prompt: positivePrompt, - }, - [NEGATIVE_CONDITIONING]: { - type: 'compel', - id: NEGATIVE_CONDITIONING, - is_intermediate: true, - prompt: negativePrompt, - }, - [MAIN_MODEL_LOADER]: { - type: 'main_model_loader', - id: MAIN_MODEL_LOADER, - is_intermediate: true, - model, + steps: steps, + cfg_scale: cfg_scale, + scheduler: scheduler, + denoising_start: 1 - strength, + denoising_end: 1, }, [LATENTS_TO_IMAGE]: { type: 'l2i', @@ -172,12 +178,6 @@ export const buildCanvasOutpaintGraph = ( is_intermediate: true, fp32: vaePrecision === 'fp32' ? true : false, }, - [CLIP_SKIP]: { - type: 'clip_skip', - id: CLIP_SKIP, - is_intermediate: true, - skipped_layers: clipSkip, - }, [COLOR_CORRECT]: { type: 'color_correct', id: COLOR_CORRECT, @@ -204,6 +204,7 @@ export const buildCanvasOutpaintGraph = ( }, }, edges: [ + // Connect Model Loader To UNet & Clip Skip { source: { node_id: MAIN_MODEL_LOADER, @@ -224,6 +225,7 @@ export const buildCanvasOutpaintGraph = ( field: 'clip', }, }, + // Connect CLIP Skip to Conditioning { source: { node_id: CLIP_SKIP, @@ -244,36 +246,7 @@ export const buildCanvasOutpaintGraph = ( field: 'clip', }, }, - { - source: { - node_id: NEGATIVE_CONDITIONING, - field: 'conditioning', - }, - destination: { - node_id: INPAINT, - field: 'negative_conditioning', - }, - }, - { - source: { - node_id: POSITIVE_CONDITIONING, - field: 'conditioning', - }, - destination: { - node_id: INPAINT, - field: 'positive_conditioning', - }, - }, - { - source: { - node_id: NOISE, - field: 'noise', - }, - destination: { - node_id: INPAINT, - field: 'noise', - }, - }, + // Connect Infill Result To Inpaint Image { source: { node_id: INPAINT_INFILL, @@ -284,16 +257,7 @@ export const buildCanvasOutpaintGraph = ( field: 'image', }, }, - { - source: { - node_id: INPAINT_IMAGE, - field: 'latents', - }, - destination: { - node_id: INPAINT, - field: 'latents', - }, - }, + // Combine Mask from Init Image with User Painted Mask { source: { node_id: MASK_FROM_ALPHA, @@ -314,6 +278,47 @@ export const buildCanvasOutpaintGraph = ( field: 'mask', }, }, + // Plug Everything Into Inpaint Node + { + source: { + node_id: POSITIVE_CONDITIONING, + field: 'conditioning', + }, + destination: { + node_id: INPAINT, + field: 'positive_conditioning', + }, + }, + { + source: { + node_id: NEGATIVE_CONDITIONING, + field: 'conditioning', + }, + destination: { + node_id: INPAINT, + field: 'negative_conditioning', + }, + }, + { + source: { + node_id: NOISE, + field: 'noise', + }, + destination: { + node_id: INPAINT, + field: 'noise', + }, + }, + { + source: { + node_id: INPAINT_IMAGE, + field: 'latents', + }, + destination: { + node_id: INPAINT, + field: 'latents', + }, + }, { source: { node_id: MASK_BLUR, @@ -324,6 +329,7 @@ export const buildCanvasOutpaintGraph = ( field: 'mask', }, }, + // Iterate { source: { node_id: RANGE_OF_SIZE, @@ -344,6 +350,7 @@ export const buildCanvasOutpaintGraph = ( field: 'seed', }, }, + // Decode the result from Inpaint { source: { node_id: INPAINT, @@ -354,6 +361,7 @@ export const buildCanvasOutpaintGraph = ( field: 'latents', }, }, + // Color Correct The Inpainted Result { source: { node_id: INPAINT_INFILL, @@ -364,16 +372,6 @@ export const buildCanvasOutpaintGraph = ( field: 'reference', }, }, - { - source: { - node_id: MASK_BLUR, - field: 'mask', - }, - destination: { - node_id: COLOR_CORRECT, - field: 'mask', - }, - }, { source: { node_id: LATENTS_TO_IMAGE, @@ -384,6 +382,17 @@ export const buildCanvasOutpaintGraph = ( field: 'image', }, }, + { + source: { + node_id: MASK_BLUR, + field: 'mask', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'mask', + }, + }, + // Paste Everything Back { source: { node_id: INPAINT_INFILL, @@ -394,16 +403,6 @@ export const buildCanvasOutpaintGraph = ( field: 'base_image', }, }, - { - source: { - node_id: MASK_BLUR, - field: 'mask', - }, - destination: { - node_id: INPAINT_FINAL_IMAGE, - field: 'mask', - }, - }, { source: { node_id: COLOR_CORRECT, @@ -414,12 +413,19 @@ export const buildCanvasOutpaintGraph = ( field: 'image', }, }, + { + source: { + node_id: MASK_BLUR, + field: 'mask', + }, + destination: { + node_id: INPAINT_FINAL_IMAGE, + field: 'mask', + }, + }, ], }; - // Add VAE - addVAEToGraph(state, graph, MAIN_MODEL_LOADER); - // handle seed if (shouldRandomizeSeed) { // Random int node to generate the starting seed @@ -440,6 +446,9 @@ export const buildCanvasOutpaintGraph = ( (graph.nodes[RANGE_OF_SIZE] as RangeOfSizeInvocation).start = seed; } + // Add VAE + addVAEToGraph(state, graph, MAIN_MODEL_LOADER); + // add LoRA support addLoRAsToGraph(state, graph, INPAINT, MAIN_MODEL_LOADER); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts index b8322fd612..80f3d671c9 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts @@ -110,6 +110,15 @@ export const buildCanvasSDXLImageToImageGraph = ( is_intermediate: true, use_cpu, }, + [IMAGE_TO_LATENTS]: { + type: 'i2l', + id: IMAGE_TO_LATENTS, + is_intermediate: true, + // must be set manually later, bc `fit` parameter may require a resize node inserted + // image: { + // image_name: initialImage.image_name, + // }, + }, [DENOISE_LATENTS]: { type: 'denoise_latents', id: DENOISE_LATENTS, @@ -122,15 +131,6 @@ export const buildCanvasSDXLImageToImageGraph = ( : 1 - strength, denoising_end: shouldUseSDXLRefiner ? refinerStart : 1, }, - [IMAGE_TO_LATENTS]: { - type: 'i2l', - id: IMAGE_TO_LATENTS, - is_intermediate: true, - // must be set manually later, bc `fit` parameter may require a resize node inserted - // image: { - // image_name: initialImage.image_name, - // }, - }, [LATENTS_TO_IMAGE]: { type: 'l2i', id: LATENTS_TO_IMAGE, @@ -138,36 +138,7 @@ export const buildCanvasSDXLImageToImageGraph = ( }, }, edges: [ - { - source: { - node_id: DENOISE_LATENTS, - field: 'latents', - }, - destination: { - node_id: LATENTS_TO_IMAGE, - field: 'latents', - }, - }, - { - source: { - node_id: IMAGE_TO_LATENTS, - field: 'latents', - }, - destination: { - node_id: DENOISE_LATENTS, - field: 'latents', - }, - }, - { - source: { - node_id: NOISE, - field: 'noise', - }, - destination: { - node_id: DENOISE_LATENTS, - field: 'noise', - }, - }, + // Connect Model Loader To UNet & CLIP { source: { node_id: SDXL_MODEL_LOADER, @@ -218,6 +189,17 @@ export const buildCanvasSDXLImageToImageGraph = ( field: 'clip2', }, }, + // Connect Everything to Denoise Latents + { + source: { + node_id: POSITIVE_CONDITIONING, + field: 'conditioning', + }, + destination: { + node_id: DENOISE_LATENTS, + field: 'positive_conditioning', + }, + }, { source: { node_id: NEGATIVE_CONDITIONING, @@ -230,12 +212,33 @@ export const buildCanvasSDXLImageToImageGraph = ( }, { source: { - node_id: POSITIVE_CONDITIONING, - field: 'conditioning', + node_id: NOISE, + field: 'noise', }, destination: { node_id: DENOISE_LATENTS, - field: 'positive_conditioning', + field: 'noise', + }, + }, + { + source: { + node_id: IMAGE_TO_LATENTS, + field: 'latents', + }, + destination: { + node_id: DENOISE_LATENTS, + field: 'latents', + }, + }, + // Decode denoised latents to an image + { + source: { + node_id: DENOISE_LATENTS, + field: 'latents', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'latents', }, }, ], diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts index 1d05d05073..52a159fb3a 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts @@ -176,6 +176,7 @@ export const buildCanvasSDXLInpaintGraph = ( }, }, edges: [ + // Connect Model Loader to UNet and CLIP { source: { node_id: SDXL_MODEL_LOADER, @@ -226,6 +227,7 @@ export const buildCanvasSDXLInpaintGraph = ( field: 'clip2', }, }, + // Connect everything to Inpaint { source: { node_id: POSITIVE_CONDITIONING, @@ -276,6 +278,7 @@ export const buildCanvasSDXLInpaintGraph = ( field: 'mask', }, }, + // Iterate { source: { node_id: RANGE_OF_SIZE, @@ -296,6 +299,7 @@ export const buildCanvasSDXLInpaintGraph = ( field: 'seed', }, }, + // Decode inpainted latents to image { source: { node_id: INPAINT, @@ -306,6 +310,7 @@ export const buildCanvasSDXLInpaintGraph = ( field: 'latents', }, }, + // Color Correct Inpainted Result { source: { node_id: LATENTS_TO_IMAGE, @@ -316,6 +321,7 @@ export const buildCanvasSDXLInpaintGraph = ( field: 'image', }, }, + // Paste them back on original image { source: { node_id: COLOR_CORRECT, diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts index 2b60019003..3ed12cd935 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts @@ -111,17 +111,34 @@ export const buildCanvasSDXLOutpaintGraph = ( const graph: NonNullableGraph = { id: INPAINT_GRAPH, nodes: { - [INPAINT]: { - type: 'denoise_latents', - id: INPAINT, - is_intermediate: true, - steps: steps, - cfg_scale: cfg_scale, - scheduler: scheduler, - denoising_start: 1 - strength, - denoising_end: shouldUseSDXLRefiner ? refinerStart : 1, + [SDXL_MODEL_LOADER]: { + type: 'sdxl_model_loader', + id: SDXL_MODEL_LOADER, + model, + }, + [POSITIVE_CONDITIONING]: { + type: 'sdxl_compel_prompt', + id: POSITIVE_CONDITIONING, + prompt: positivePrompt, + style: shouldConcatSDXLStylePrompt + ? `${positivePrompt} ${positiveStylePrompt}` + : positiveStylePrompt, + }, + [NEGATIVE_CONDITIONING]: { + type: 'sdxl_compel_prompt', + id: NEGATIVE_CONDITIONING, + prompt: negativePrompt, + style: shouldConcatSDXLStylePrompt + ? `${negativePrompt} ${negativeStylePrompt}` + : negativeStylePrompt, }, [infillNode.id]: infillNode, + [INPAINT_IMAGE]: { + type: 'i2l', + id: INPAINT_IMAGE, + is_intermediate: true, + fp32: vaePrecision === 'fp32' ? true : false, + }, [MASK_FROM_ALPHA]: { type: 'tomask', id: MASK_FROM_ALPHA, @@ -141,12 +158,6 @@ export const buildCanvasSDXLOutpaintGraph = ( radius: maskBlur, blur_type: maskBlurMethod, }, - [INPAINT_IMAGE]: { - type: 'i2l', - id: INPAINT_IMAGE, - is_intermediate: true, - fp32: vaePrecision === 'fp32' ? true : false, - }, [NOISE]: { type: 'noise', id: NOISE, @@ -155,26 +166,15 @@ export const buildCanvasSDXLOutpaintGraph = ( use_cpu, is_intermediate: true, }, - [POSITIVE_CONDITIONING]: { - type: 'sdxl_compel_prompt', - id: POSITIVE_CONDITIONING, - prompt: positivePrompt, - style: shouldConcatSDXLStylePrompt - ? `${positivePrompt} ${positiveStylePrompt}` - : positiveStylePrompt, - }, - [NEGATIVE_CONDITIONING]: { - type: 'sdxl_compel_prompt', - id: NEGATIVE_CONDITIONING, - prompt: negativePrompt, - style: shouldConcatSDXLStylePrompt - ? `${negativePrompt} ${negativeStylePrompt}` - : negativeStylePrompt, - }, - [SDXL_MODEL_LOADER]: { - type: 'sdxl_model_loader', - id: SDXL_MODEL_LOADER, - model, + [INPAINT]: { + type: 'denoise_latents', + id: INPAINT, + is_intermediate: true, + steps: steps, + cfg_scale: cfg_scale, + scheduler: scheduler, + denoising_start: 1 - strength, + denoising_end: shouldUseSDXLRefiner ? refinerStart : 1, }, [LATENTS_TO_IMAGE]: { type: 'l2i', @@ -208,6 +208,7 @@ export const buildCanvasSDXLOutpaintGraph = ( }, }, edges: [ + // Connect Model Loader To UNet and CLIP { source: { node_id: SDXL_MODEL_LOADER, @@ -258,36 +259,7 @@ export const buildCanvasSDXLOutpaintGraph = ( field: 'clip2', }, }, - { - source: { - node_id: NEGATIVE_CONDITIONING, - field: 'conditioning', - }, - destination: { - node_id: INPAINT, - field: 'negative_conditioning', - }, - }, - { - source: { - node_id: POSITIVE_CONDITIONING, - field: 'conditioning', - }, - destination: { - node_id: INPAINT, - field: 'positive_conditioning', - }, - }, - { - source: { - node_id: NOISE, - field: 'noise', - }, - destination: { - node_id: INPAINT, - field: 'noise', - }, - }, + // Infill The Image { source: { node_id: INPAINT_INFILL, @@ -298,16 +270,7 @@ export const buildCanvasSDXLOutpaintGraph = ( field: 'image', }, }, - { - source: { - node_id: INPAINT_IMAGE, - field: 'latents', - }, - destination: { - node_id: INPAINT, - field: 'latents', - }, - }, + // Create mask from image alpha & merge with user painted mask { source: { node_id: MASK_FROM_ALPHA, @@ -328,6 +291,47 @@ export const buildCanvasSDXLOutpaintGraph = ( field: 'mask', }, }, + // Connect Everything To Inpaint + { + source: { + node_id: POSITIVE_CONDITIONING, + field: 'conditioning', + }, + destination: { + node_id: INPAINT, + field: 'positive_conditioning', + }, + }, + { + source: { + node_id: NEGATIVE_CONDITIONING, + field: 'conditioning', + }, + destination: { + node_id: INPAINT, + field: 'negative_conditioning', + }, + }, + { + source: { + node_id: NOISE, + field: 'noise', + }, + destination: { + node_id: INPAINT, + field: 'noise', + }, + }, + { + source: { + node_id: INPAINT_IMAGE, + field: 'latents', + }, + destination: { + node_id: INPAINT, + field: 'latents', + }, + }, { source: { node_id: MASK_BLUR, @@ -338,6 +342,7 @@ export const buildCanvasSDXLOutpaintGraph = ( field: 'mask', }, }, + // Iterate { source: { node_id: RANGE_OF_SIZE, @@ -358,6 +363,7 @@ export const buildCanvasSDXLOutpaintGraph = ( field: 'seed', }, }, + // Decode inpainted latents to image { source: { node_id: INPAINT, @@ -368,6 +374,7 @@ export const buildCanvasSDXLOutpaintGraph = ( field: 'latents', }, }, + // Color Correct The Inpainted Result { source: { node_id: INPAINT_INFILL, @@ -378,16 +385,6 @@ export const buildCanvasSDXLOutpaintGraph = ( field: 'reference', }, }, - { - source: { - node_id: MASK_BLUR, - field: 'mask', - }, - destination: { - node_id: COLOR_CORRECT, - field: 'mask', - }, - }, { source: { node_id: LATENTS_TO_IMAGE, @@ -398,6 +395,17 @@ export const buildCanvasSDXLOutpaintGraph = ( field: 'image', }, }, + { + source: { + node_id: MASK_BLUR, + field: 'mask', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'mask', + }, + }, + // Paste Back Outpainted Image on Original { source: { node_id: INPAINT_INFILL, @@ -408,16 +416,6 @@ export const buildCanvasSDXLOutpaintGraph = ( field: 'base_image', }, }, - { - source: { - node_id: MASK_BLUR, - field: 'mask', - }, - destination: { - node_id: INPAINT_FINAL_IMAGE, - field: 'mask', - }, - }, { source: { node_id: COLOR_CORRECT, @@ -428,6 +426,16 @@ export const buildCanvasSDXLOutpaintGraph = ( field: 'image', }, }, + { + source: { + node_id: MASK_BLUR, + field: 'mask', + }, + destination: { + node_id: INPAINT_FINAL_IMAGE, + field: 'mask', + }, + }, ], }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts index ed0fb74165..70375c1423 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts @@ -65,13 +65,17 @@ export const buildCanvasSDXLTextToImageGraph = ( const use_cpu = shouldUseNoiseSettings ? shouldUseCpuNoise : initialGenerationState.shouldUseCpuNoise; + const isUsingOnnxModel = model.model_type === 'onnx'; + const modelLoaderNodeId = isUsingOnnxModel ? ONNX_MODEL_LOADER : SDXL_MODEL_LOADER; + const modelLoaderNodeType = isUsingOnnxModel ? 'onnx_model_loader' : 'sdxl_model_loader'; + const t2lNode: DenoiseLatentsInvocation | ONNXTextToLatentsInvocation = isUsingOnnxModel ? { @@ -106,6 +110,12 @@ export const buildCanvasSDXLTextToImageGraph = ( const graph: NonNullableGraph = { id: TEXT_TO_IMAGE_GRAPH, nodes: { + [modelLoaderNodeId]: { + type: modelLoaderNodeType, + id: modelLoaderNodeId, + is_intermediate: true, + model, + }, [POSITIVE_CONDITIONING]: { type: isUsingOnnxModel ? 'prompt_onnx' : 'sdxl_compel_prompt', id: POSITIVE_CONDITIONING, @@ -133,13 +143,6 @@ export const buildCanvasSDXLTextToImageGraph = ( use_cpu, }, [t2lNode.id]: t2lNode, - [modelLoaderNodeId]: { - type: modelLoaderNodeType, - id: modelLoaderNodeId, - is_intermediate: true, - model, - }, - [LATENTS_TO_IMAGE]: { type: isUsingOnnxModel ? 'l2i_onnx' : 'l2i', id: LATENTS_TO_IMAGE, @@ -147,6 +150,7 @@ export const buildCanvasSDXLTextToImageGraph = ( }, }, edges: [ + // Connect Model Loader to UNet and CLIP { source: { node_id: modelLoaderNodeId, @@ -197,6 +201,17 @@ export const buildCanvasSDXLTextToImageGraph = ( field: 'clip2', }, }, + // Connect everything to Denoise Latents + { + source: { + node_id: POSITIVE_CONDITIONING, + field: 'conditioning', + }, + destination: { + node_id: DENOISE_LATENTS, + field: 'positive_conditioning', + }, + }, { source: { node_id: NEGATIVE_CONDITIONING, @@ -209,14 +224,15 @@ export const buildCanvasSDXLTextToImageGraph = ( }, { source: { - node_id: POSITIVE_CONDITIONING, - field: 'conditioning', + node_id: NOISE, + field: 'noise', }, destination: { node_id: DENOISE_LATENTS, - field: 'positive_conditioning', + field: 'noise', }, }, + // Decode Denoised Latents To Image { source: { node_id: DENOISE_LATENTS, @@ -227,16 +243,6 @@ export const buildCanvasSDXLTextToImageGraph = ( field: 'latents', }, }, - { - source: { - node_id: NOISE, - field: 'noise', - }, - destination: { - node_id: DENOISE_LATENTS, - field: 'noise', - }, - }, ], }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts index 9e25f97586..519be4e498 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts @@ -57,13 +57,17 @@ export const buildCanvasTextToImageGraph = ( const use_cpu = shouldUseNoiseSettings ? shouldUseCpuNoise : initialGenerationState.shouldUseCpuNoise; + const isUsingOnnxModel = model.model_type === 'onnx'; + const modelLoaderNodeId = isUsingOnnxModel ? ONNX_MODEL_LOADER : MAIN_MODEL_LOADER; + const modelLoaderNodeType = isUsingOnnxModel ? 'onnx_model_loader' : 'main_model_loader'; + const t2lNode: DenoiseLatentsInvocation | ONNXTextToLatentsInvocation = isUsingOnnxModel ? { @@ -84,6 +88,7 @@ export const buildCanvasTextToImageGraph = ( denoising_start: 0, denoising_end: 1, }; + /** * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the * full graph here as a template. Then use the parameters from app state and set friendlier node @@ -98,6 +103,18 @@ export const buildCanvasTextToImageGraph = ( const graph: NonNullableGraph = { id: TEXT_TO_IMAGE_GRAPH, nodes: { + [modelLoaderNodeId]: { + type: modelLoaderNodeType, + id: modelLoaderNodeId, + is_intermediate: true, + model, + }, + [CLIP_SKIP]: { + type: 'clip_skip', + id: CLIP_SKIP, + is_intermediate: true, + skipped_layers: clipSkip, + }, [POSITIVE_CONDITIONING]: { type: isUsingOnnxModel ? 'prompt_onnx' : 'compel', id: POSITIVE_CONDITIONING, @@ -119,18 +136,6 @@ export const buildCanvasTextToImageGraph = ( use_cpu, }, [t2lNode.id]: t2lNode, - [modelLoaderNodeId]: { - type: modelLoaderNodeType, - id: modelLoaderNodeId, - is_intermediate: true, - model, - }, - [CLIP_SKIP]: { - type: 'clip_skip', - id: CLIP_SKIP, - is_intermediate: true, - skipped_layers: clipSkip, - }, [LATENTS_TO_IMAGE]: { type: isUsingOnnxModel ? 'l2i_onnx' : 'l2i', id: LATENTS_TO_IMAGE, @@ -138,16 +143,49 @@ export const buildCanvasTextToImageGraph = ( }, }, edges: [ + // Connect Model Loader to UNet & CLIP Skip { source: { - node_id: NEGATIVE_CONDITIONING, - field: 'conditioning', + node_id: modelLoaderNodeId, + field: 'unet', }, destination: { node_id: DENOISE_LATENTS, - field: 'negative_conditioning', + field: 'unet', }, }, + { + source: { + node_id: modelLoaderNodeId, + field: 'clip', + }, + destination: { + node_id: CLIP_SKIP, + field: 'clip', + }, + }, + // Connect CLIP Skip to Conditioning + { + source: { + node_id: CLIP_SKIP, + field: 'clip', + }, + destination: { + node_id: POSITIVE_CONDITIONING, + field: 'clip', + }, + }, + { + source: { + node_id: CLIP_SKIP, + field: 'clip', + }, + destination: { + node_id: NEGATIVE_CONDITIONING, + field: 'clip', + }, + }, + // Connect everything to Denoise Latents { source: { node_id: POSITIVE_CONDITIONING, @@ -160,52 +198,12 @@ export const buildCanvasTextToImageGraph = ( }, { source: { - node_id: modelLoaderNodeId, - field: 'clip', - }, - destination: { - node_id: CLIP_SKIP, - field: 'clip', - }, - }, - { - source: { - node_id: CLIP_SKIP, - field: 'clip', - }, - destination: { - node_id: POSITIVE_CONDITIONING, - field: 'clip', - }, - }, - { - source: { - node_id: CLIP_SKIP, - field: 'clip', - }, - destination: { node_id: NEGATIVE_CONDITIONING, - field: 'clip', - }, - }, - { - source: { - node_id: modelLoaderNodeId, - field: 'unet', + field: 'conditioning', }, destination: { node_id: DENOISE_LATENTS, - field: 'unet', - }, - }, - { - source: { - node_id: DENOISE_LATENTS, - field: 'latents', - }, - destination: { - node_id: LATENTS_TO_IMAGE, - field: 'latents', + field: 'negative_conditioning', }, }, { @@ -218,6 +216,17 @@ export const buildCanvasTextToImageGraph = ( field: 'noise', }, }, + // Decode denoised latents to image + { + source: { + node_id: DENOISE_LATENTS, + field: 'latents', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'latents', + }, + }, ], }; @@ -253,12 +262,12 @@ export const buildCanvasTextToImageGraph = ( }, }); - // add LoRA support - addLoRAsToGraph(state, graph, DENOISE_LATENTS, modelLoaderNodeId); - // optionally add custom VAE addVAEToGraph(state, graph, modelLoaderNodeId); + // add LoRA support + addLoRAsToGraph(state, graph, DENOISE_LATENTS, modelLoaderNodeId); + // add dynamic prompts - also sets up core iteration and seed addDynamicPromptsToGraph(state, graph); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts index 69d5227ea2..982a09357f 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts @@ -138,6 +138,7 @@ export const buildLinearImageToImageGraph = ( }, }, edges: [ + // Connect Model Loader to UNet and CLIP Skip { source: { node_id: MAIN_MODEL_LOADER, @@ -158,6 +159,7 @@ export const buildLinearImageToImageGraph = ( field: 'clip', }, }, + // Connect CLIP Skip to Conditioning { source: { node_id: CLIP_SKIP, @@ -178,34 +180,15 @@ export const buildLinearImageToImageGraph = ( field: 'clip', }, }, + // Connect everything to Denoise Latents { source: { - node_id: DENOISE_LATENTS, - field: 'latents', - }, - destination: { - node_id: LATENTS_TO_IMAGE, - field: 'latents', - }, - }, - { - source: { - node_id: IMAGE_TO_LATENTS, - field: 'latents', + node_id: POSITIVE_CONDITIONING, + field: 'conditioning', }, destination: { node_id: DENOISE_LATENTS, - field: 'latents', - }, - }, - { - source: { - node_id: NOISE, - field: 'noise', - }, - destination: { - node_id: DENOISE_LATENTS, - field: 'noise', + field: 'positive_conditioning', }, }, { @@ -220,12 +203,33 @@ export const buildLinearImageToImageGraph = ( }, { source: { - node_id: POSITIVE_CONDITIONING, - field: 'conditioning', + node_id: NOISE, + field: 'noise', }, destination: { node_id: DENOISE_LATENTS, - field: 'positive_conditioning', + field: 'noise', + }, + }, + { + source: { + node_id: IMAGE_TO_LATENTS, + field: 'latents', + }, + destination: { + node_id: DENOISE_LATENTS, + field: 'latents', + }, + }, + // Decode denoised latents to image + { + source: { + node_id: DENOISE_LATENTS, + field: 'latents', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'latents', }, }, ], @@ -334,12 +338,12 @@ export const buildLinearImageToImageGraph = ( }, }); + // optionally add custom VAE + addVAEToGraph(state, graph, MAIN_MODEL_LOADER); + // add LoRA support addLoRAsToGraph(state, graph, DENOISE_LATENTS); - // optionally add custom VAE - addVAEToGraph(state, graph); - // add dynamic prompts - also sets up core iteration and seed addDynamicPromptsToGraph(state, graph); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts index 98f9458ae0..901ca8c09f 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts @@ -137,6 +137,7 @@ export const buildLinearSDXLImageToImageGraph = ( }, }, edges: [ + // Connect Model Loader to UNet, CLIP & VAE { source: { node_id: SDXL_MODEL_LOADER, @@ -207,36 +208,7 @@ export const buildLinearSDXLImageToImageGraph = ( field: 'clip2', }, }, - { - source: { - node_id: DENOISE_LATENTS, - field: 'latents', - }, - destination: { - node_id: LATENTS_TO_IMAGE, - field: 'latents', - }, - }, - { - source: { - node_id: IMAGE_TO_LATENTS, - field: 'latents', - }, - destination: { - node_id: DENOISE_LATENTS, - field: 'latents', - }, - }, - { - source: { - node_id: NOISE, - field: 'noise', - }, - destination: { - node_id: DENOISE_LATENTS, - field: 'noise', - }, - }, + // Connect everything to Denoise Latents { source: { node_id: POSITIVE_CONDITIONING, @@ -257,6 +229,37 @@ export const buildLinearSDXLImageToImageGraph = ( field: 'negative_conditioning', }, }, + { + source: { + node_id: NOISE, + field: 'noise', + }, + destination: { + node_id: DENOISE_LATENTS, + field: 'noise', + }, + }, + { + source: { + node_id: IMAGE_TO_LATENTS, + field: 'latents', + }, + destination: { + node_id: DENOISE_LATENTS, + field: 'latents', + }, + }, + // Decode Denoised Latents To Image + { + source: { + node_id: DENOISE_LATENTS, + field: 'latents', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'latents', + }, + }, ], }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts index 566eb6536e..ac859597b3 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts @@ -111,6 +111,7 @@ export const buildLinearSDXLTextToImageGraph = ( }, }, edges: [ + // Connect Model Loader to UNet, VAE & CLIP { source: { node_id: SDXL_MODEL_LOADER, @@ -171,6 +172,7 @@ export const buildLinearSDXLTextToImageGraph = ( field: 'clip2', }, }, + // Connect everything to Denoise Latents { source: { node_id: POSITIVE_CONDITIONING, @@ -201,6 +203,7 @@ export const buildLinearSDXLTextToImageGraph = ( field: 'noise', }, }, + // Decode Denoised Latents To Image { source: { node_id: DENOISE_LATENTS, diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts index dcbbe69290..99a1ec7420 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts @@ -54,12 +54,15 @@ export const buildLinearTextToImageGraph = ( } const isUsingOnnxModel = model.model_type === 'onnx'; + const modelLoaderNodeId = isUsingOnnxModel ? ONNX_MODEL_LOADER : MAIN_MODEL_LOADER; + const modelLoaderNodeType = isUsingOnnxModel ? 'onnx_model_loader' : 'main_model_loader'; + const t2lNode: DenoiseLatentsInvocation | ONNXTextToLatentsInvocation = isUsingOnnxModel ? { @@ -80,6 +83,7 @@ export const buildLinearTextToImageGraph = ( denoising_start: 0, denoising_end: 1, }; + /** * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the * full graph here as a template. Then use the parameters from app state and set friendlier node @@ -95,6 +99,18 @@ export const buildLinearTextToImageGraph = ( const graph: NonNullableGraph = { id: TEXT_TO_IMAGE_GRAPH, nodes: { + [modelLoaderNodeId]: { + type: modelLoaderNodeType, + id: modelLoaderNodeId, + is_intermediate: true, + model, + }, + [CLIP_SKIP]: { + type: 'clip_skip', + id: CLIP_SKIP, + skipped_layers: clipSkip, + is_intermediate: true, + }, [POSITIVE_CONDITIONING]: { type: isUsingOnnxModel ? 'prompt_onnx' : 'compel', id: POSITIVE_CONDITIONING, @@ -116,18 +132,6 @@ export const buildLinearTextToImageGraph = ( is_intermediate: true, }, [t2lNode.id]: t2lNode, - [modelLoaderNodeId]: { - type: modelLoaderNodeType, - id: modelLoaderNodeId, - is_intermediate: true, - model, - }, - [CLIP_SKIP]: { - type: 'clip_skip', - id: CLIP_SKIP, - skipped_layers: clipSkip, - is_intermediate: true, - }, [LATENTS_TO_IMAGE]: { type: isUsingOnnxModel ? 'l2i_onnx' : 'l2i', id: LATENTS_TO_IMAGE, @@ -135,16 +139,7 @@ export const buildLinearTextToImageGraph = ( }, }, edges: [ - { - source: { - node_id: modelLoaderNodeId, - field: 'clip', - }, - destination: { - node_id: CLIP_SKIP, - field: 'clip', - }, - }, + // Connect Model Loader to UNet and CLIP Skip { source: { node_id: modelLoaderNodeId, @@ -155,6 +150,17 @@ export const buildLinearTextToImageGraph = ( field: 'unet', }, }, + { + source: { + node_id: modelLoaderNodeId, + field: 'clip', + }, + destination: { + node_id: CLIP_SKIP, + field: 'clip', + }, + }, + // Connect CLIP Skip to Conditioning { source: { node_id: CLIP_SKIP, @@ -175,6 +181,7 @@ export const buildLinearTextToImageGraph = ( field: 'clip', }, }, + // Connect everything to Denoise Latents { source: { node_id: POSITIVE_CONDITIONING, @@ -195,16 +202,6 @@ export const buildLinearTextToImageGraph = ( field: 'negative_conditioning', }, }, - { - source: { - node_id: DENOISE_LATENTS, - field: 'latents', - }, - destination: { - node_id: LATENTS_TO_IMAGE, - field: 'latents', - }, - }, { source: { node_id: NOISE, @@ -215,6 +212,17 @@ export const buildLinearTextToImageGraph = ( field: 'noise', }, }, + // Decode Denoised Latents To Image + { + source: { + node_id: DENOISE_LATENTS, + field: 'latents', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'latents', + }, + }, ], }; @@ -250,12 +258,12 @@ export const buildLinearTextToImageGraph = ( }, }); - // add LoRA support - addLoRAsToGraph(state, graph, DENOISE_LATENTS, modelLoaderNodeId); - // optionally add custom VAE addVAEToGraph(state, graph, modelLoaderNodeId); + // add LoRA support + addLoRAsToGraph(state, graph, DENOISE_LATENTS, modelLoaderNodeId); + // add dynamic prompts - also sets up core iteration and seed addDynamicPromptsToGraph(state, graph); From a67d8376c7cbbf75b527930ec2a1fd8e6ebff30e Mon Sep 17 00:00:00 2001 From: Mary Hipp Date: Fri, 11 Aug 2023 10:59:19 -0400 Subject: [PATCH 175/287] fix missed spot for autoAddBoardId none --- .../listenerMiddleware/listeners/stagingAreaImageSaved.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/stagingAreaImageSaved.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/stagingAreaImageSaved.ts index a6818acbe0..b14e18ea63 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/stagingAreaImageSaved.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/stagingAreaImageSaved.ts @@ -20,7 +20,7 @@ export const addStagingAreaImageSavedListener = () => { // we may need to add it to the autoadd board const { autoAddBoardId } = getState().gallery; - if (autoAddBoardId) { + if (autoAddBoardId && autoAddBoardId !== 'none') { await dispatch( imagesApi.endpoints.addImageToBoard.initiate({ imageDTO: newImageDTO, From f296e5c41e67a566176ff155a99f84d150e61ab5 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sat, 12 Aug 2023 20:54:30 +1200 Subject: [PATCH 176/287] wip: Remove MaskBlur / Adjust color correction --- invokeai/app/invocations/image.py | 49 +---------- .../listeners/userInvokedCanvas.ts | 3 +- .../graphBuilders/buildCanvasInpaintGraph.ts | 19 +++-- .../graphBuilders/buildCanvasOutpaintGraph.ts | 12 +-- .../buildCanvasSDXLInpaintGraph.ts | 19 +++-- .../buildCanvasSDXLOutpaintGraph.ts | 12 +-- .../frontend/web/src/services/api/schema.d.ts | 83 +++++-------------- 7 files changed, 67 insertions(+), 130 deletions(-) diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index 846812435d..2c47020207 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -697,8 +697,8 @@ class MaskCombineInvocation(BaseInvocation, PILInvocationConfig): type: Literal["mask_combine"] = "mask_combine" # Inputs - mask1: Optional[ImageField] = Field(default=None, description="The first mask to combine") - mask2: Optional[ImageField] = Field(default=None, description="The second image to combine") + mask1: ImageField = Field(default=None, description="The first mask to combine") + mask2: ImageField = Field(default=None, description="The second image to combine") # fmt: on class Config(InvocationConfig): @@ -706,7 +706,7 @@ class MaskCombineInvocation(BaseInvocation, PILInvocationConfig): "ui": {"title": "Mask Combine", "tags": ["mask", "combine"]}, } - def invoke(self, context: InvocationContext) -> MaskOutput: + def invoke(self, context: InvocationContext) -> ImageOutput: mask1 = context.services.images.get_pil_image(self.mask1.image_name).convert("L") mask2 = context.services.images.get_pil_image(self.mask2.image_name).convert("L") @@ -721,48 +721,7 @@ class MaskCombineInvocation(BaseInvocation, PILInvocationConfig): is_intermediate=self.is_intermediate, ) - return MaskOutput( - image=ImageField(image_name=image_dto.image_name), - width=image_dto.width, - height=image_dto.height, - ) - - -class MaskBlurInvocation(BaseInvocation, PILInvocationConfig): - """Blurs a mask""" - - # fmt: off - type: Literal["mask_blur"] = "mask_blur" - - # Inputs - mask: Optional[ImageField] = Field(default=None, description="The mask image to blur") - radius: float = Field(default=8.0, ge=0, description="The blur radius") - blur_type: Literal["gaussian", "box"] = Field(default="gaussian", description="The type of blur") - # fmt: on - - class Config(InvocationConfig): - schema_extra = { - "ui": {"title": "Mask Blur", "tags": ["mask", "blur"]}, - } - - def invoke(self, context: InvocationContext) -> MaskOutput: - mask = context.services.images.get_pil_image(self.mask.image_name) - - blur = ( - ImageFilter.GaussianBlur(self.radius) if self.blur_type == "gaussian" else ImageFilter.BoxBlur(self.radius) - ) - blur_mask = mask.filter(blur) - - image_dto = context.services.images.create( - image=blur_mask, - image_origin=ResourceOrigin.INTERNAL, - image_category=ImageCategory.GENERAL, - node_id=self.id, - session_id=context.graph_execution_state_id, - is_intermediate=self.is_intermediate, - ) - - return MaskOutput( + return ImageOutput( image=ImageField(image_name=image_dto.image_name), width=image_dto.width, height=image_dto.height, diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/userInvokedCanvas.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/userInvokedCanvas.ts index 39bd742d7d..dbcb87f3cf 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/userInvokedCanvas.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/userInvokedCanvas.ts @@ -1,6 +1,7 @@ import { logger } from 'app/logging/logger'; import { userInvoked } from 'app/store/actions'; import openBase64ImageInTab from 'common/util/openBase64ImageInTab'; +import { parseify } from 'common/util/serialize'; import { canvasSessionIdChanged, stagingAreaInitialized, @@ -15,7 +16,6 @@ import { imagesApi } from 'services/api/endpoints/images'; import { sessionCreated } from 'services/api/thunks/session'; import { ImageDTO } from 'services/api/types'; import { startAppListening } from '..'; -import { parseify } from 'common/util/serialize'; /** * This listener is responsible invoking the canvas. This involves a number of steps: @@ -123,6 +123,7 @@ export const addUserInvokedCanvasListener = () => { log.debug({ graph: parseify(graph) }, `Canvas graph built`); // currently this action is just listened to for logging + console.log(canvasGraphBuilt(graph)); dispatch(canvasGraphBuilt(graph)); // Create the session, store the request id diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts index 2ecc858aa4..7e6ae2f474 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts @@ -105,12 +105,12 @@ export const buildCanvasInpaintGraph = ( prompt: negativePrompt, }, [MASK_BLUR]: { - type: 'mask_blur', + type: 'img_blur', id: MASK_BLUR, is_intermediate: true, + image: canvasMaskImage, radius: maskBlur, blur_type: maskBlurMethod, - mask: canvasMaskImage, }, [INPAINT_IMAGE]: { type: 'i2l', @@ -148,7 +148,6 @@ export const buildCanvasInpaintGraph = ( id: COLOR_CORRECT, is_intermediate: true, reference: canvasInitImage, - mask: canvasMaskImage, }, [INPAINT_FINAL_IMAGE]: { type: 'img_paste', @@ -258,7 +257,7 @@ export const buildCanvasInpaintGraph = ( { source: { node_id: MASK_BLUR, - field: 'mask', + field: 'image', }, destination: { node_id: INPAINT, @@ -308,6 +307,16 @@ export const buildCanvasInpaintGraph = ( field: 'image', }, }, + { + source: { + node_id: MASK_BLUR, + field: 'image', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'mask', + }, + }, // Paste Back Onto Original Image { source: { @@ -322,7 +331,7 @@ export const buildCanvasInpaintGraph = ( { source: { node_id: MASK_BLUR, - field: 'mask', + field: 'image', }, destination: { node_id: INPAINT_FINAL_IMAGE, diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts index 7949adfe39..2513144871 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts @@ -141,7 +141,7 @@ export const buildCanvasOutpaintGraph = ( mask2: canvasMaskImage, }, [MASK_BLUR]: { - type: 'mask_blur', + type: 'img_blur', id: MASK_BLUR, is_intermediate: true, radius: maskBlur, @@ -271,11 +271,11 @@ export const buildCanvasOutpaintGraph = ( { source: { node_id: MASK_COMBINE, - field: 'mask', + field: 'image', }, destination: { node_id: MASK_BLUR, - field: 'mask', + field: 'image', }, }, // Plug Everything Into Inpaint Node @@ -322,7 +322,7 @@ export const buildCanvasOutpaintGraph = ( { source: { node_id: MASK_BLUR, - field: 'mask', + field: 'image', }, destination: { node_id: INPAINT, @@ -385,7 +385,7 @@ export const buildCanvasOutpaintGraph = ( { source: { node_id: MASK_BLUR, - field: 'mask', + field: 'image', }, destination: { node_id: COLOR_CORRECT, @@ -416,7 +416,7 @@ export const buildCanvasOutpaintGraph = ( { source: { node_id: MASK_BLUR, - field: 'mask', + field: 'image', }, destination: { node_id: INPAINT_FINAL_IMAGE, diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts index 52a159fb3a..066f049e57 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts @@ -109,12 +109,12 @@ export const buildCanvasSDXLInpaintGraph = ( : negativeStylePrompt, }, [MASK_BLUR]: { - type: 'mask_blur', + type: 'img_blur', id: MASK_BLUR, is_intermediate: true, radius: maskBlur, blur_type: maskBlurMethod, - mask: canvasMaskImage, + image: canvasMaskImage, }, [INPAINT_IMAGE]: { type: 'i2l', @@ -152,7 +152,6 @@ export const buildCanvasSDXLInpaintGraph = ( id: COLOR_CORRECT, is_intermediate: true, reference: canvasInitImage, - mask: canvasMaskImage, }, [INPAINT_FINAL_IMAGE]: { type: 'img_paste', @@ -271,7 +270,7 @@ export const buildCanvasSDXLInpaintGraph = ( { source: { node_id: MASK_BLUR, - field: 'mask', + field: 'image', }, destination: { node_id: INPAINT, @@ -321,6 +320,16 @@ export const buildCanvasSDXLInpaintGraph = ( field: 'image', }, }, + { + source: { + node_id: MASK_BLUR, + field: 'image', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'mask', + }, + }, // Paste them back on original image { source: { @@ -335,7 +344,7 @@ export const buildCanvasSDXLInpaintGraph = ( { source: { node_id: MASK_BLUR, - field: 'mask', + field: 'image', }, destination: { node_id: INPAINT_FINAL_IMAGE, diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts index 3ed12cd935..4d0a6feb55 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts @@ -152,7 +152,7 @@ export const buildCanvasSDXLOutpaintGraph = ( mask2: canvasMaskImage, }, [MASK_BLUR]: { - type: 'mask_blur', + type: 'img_blur', id: MASK_BLUR, is_intermediate: true, radius: maskBlur, @@ -284,11 +284,11 @@ export const buildCanvasSDXLOutpaintGraph = ( { source: { node_id: MASK_COMBINE, - field: 'mask', + field: 'image', }, destination: { node_id: MASK_BLUR, - field: 'mask', + field: 'image', }, }, // Connect Everything To Inpaint @@ -335,7 +335,7 @@ export const buildCanvasSDXLOutpaintGraph = ( { source: { node_id: MASK_BLUR, - field: 'mask', + field: 'image', }, destination: { node_id: INPAINT, @@ -398,7 +398,7 @@ export const buildCanvasSDXLOutpaintGraph = ( { source: { node_id: MASK_BLUR, - field: 'mask', + field: 'image', }, destination: { node_id: COLOR_CORRECT, @@ -429,7 +429,7 @@ export const buildCanvasSDXLOutpaintGraph = ( { source: { node_id: MASK_BLUR, - field: 'mask', + field: 'image', }, destination: { node_id: INPAINT_FINAL_IMAGE, diff --git a/invokeai/frontend/web/src/services/api/schema.d.ts b/invokeai/frontend/web/src/services/api/schema.d.ts index 84053db29c..a2076557b8 100644 --- a/invokeai/frontend/web/src/services/api/schema.d.ts +++ b/invokeai/frontend/web/src/services/api/schema.d.ts @@ -1586,7 +1586,7 @@ export type components = { * @description The nodes in this graph */ nodes?: { - [key: string]: (components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["MaskBlurInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"]) | undefined; + [key: string]: (components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"]) | undefined; }; /** * Edges @@ -3273,47 +3273,6 @@ export type components = { */ model: components["schemas"]["MainModelField"]; }; - /** - * MaskBlurInvocation - * @description Blurs a mask - */ - MaskBlurInvocation: { - /** - * Id - * @description The id of this node. Must be unique among all nodes. - */ - id: string; - /** - * Is Intermediate - * @description Whether or not this node is an intermediate node. - * @default false - */ - is_intermediate?: boolean; - /** - * Type - * @default mask_blur - * @enum {string} - */ - type?: "mask_blur"; - /** - * Mask - * @description The mask image to blur - */ - mask?: components["schemas"]["ImageField"]; - /** - * Radius - * @description The blur radius - * @default 8 - */ - radius?: number; - /** - * Blur Type - * @description The type of blur - * @default gaussian - * @enum {string} - */ - blur_type?: "gaussian" | "box"; - }; /** * MaskCombineInvocation * @description Combine two masks together by multiplying them using `PIL.ImageChops.multiply()`. @@ -5821,6 +5780,24 @@ export type components = { */ image?: components["schemas"]["ImageField"]; }; + /** + * StableDiffusionOnnxModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusionOnnxModelFormat: "olive" | "onnx"; + /** + * StableDiffusion2ModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; + /** + * ControlNetModelFormat + * @description An enumeration. + * @enum {string} + */ + ControlNetModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusion1ModelFormat * @description An enumeration. @@ -5833,24 +5810,6 @@ export type components = { * @enum {string} */ StableDiffusionXLModelFormat: "checkpoint" | "diffusers"; - /** - * StableDiffusionOnnxModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusionOnnxModelFormat: "olive" | "onnx"; - /** - * ControlNetModelFormat - * @description An enumeration. - * @enum {string} - */ - ControlNetModelFormat: "checkpoint" | "diffusers"; - /** - * StableDiffusion2ModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; }; responses: never; parameters: never; @@ -5961,7 +5920,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["MaskBlurInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"]; }; }; responses: { @@ -5998,7 +5957,7 @@ export type operations = { }; requestBody: { content: { - "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["MaskBlurInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"]; + "application/json": components["schemas"]["ControlNetInvocation"] | components["schemas"]["ImageProcessorInvocation"] | components["schemas"]["MainModelLoaderInvocation"] | components["schemas"]["LoraLoaderInvocation"] | components["schemas"]["SDXLLoraLoaderInvocation"] | components["schemas"]["VaeLoaderInvocation"] | components["schemas"]["MetadataAccumulatorInvocation"] | components["schemas"]["RangeInvocation"] | components["schemas"]["RangeOfSizeInvocation"] | components["schemas"]["RandomRangeInvocation"] | components["schemas"]["ImageCollectionInvocation"] | components["schemas"]["CompelInvocation"] | components["schemas"]["SDXLCompelPromptInvocation"] | components["schemas"]["SDXLRefinerCompelPromptInvocation"] | components["schemas"]["ClipSkipInvocation"] | components["schemas"]["LoadImageInvocation"] | components["schemas"]["ShowImageInvocation"] | components["schemas"]["ImageCropInvocation"] | components["schemas"]["ImagePasteInvocation"] | components["schemas"]["MaskFromAlphaInvocation"] | components["schemas"]["ImageMultiplyInvocation"] | components["schemas"]["ImageChannelInvocation"] | components["schemas"]["ImageConvertInvocation"] | components["schemas"]["ImageBlurInvocation"] | components["schemas"]["ImageResizeInvocation"] | components["schemas"]["ImageScaleInvocation"] | components["schemas"]["ImageLerpInvocation"] | components["schemas"]["ImageInverseLerpInvocation"] | components["schemas"]["ImageNSFWBlurInvocation"] | components["schemas"]["ImageWatermarkInvocation"] | components["schemas"]["MaskEdgeInvocation"] | components["schemas"]["MaskCombineInvocation"] | components["schemas"]["ColorCorrectInvocation"] | components["schemas"]["ImageHueAdjustmentInvocation"] | components["schemas"]["ImageLuminosityAdjustmentInvocation"] | components["schemas"]["ImageSaturationAdjustmentInvocation"] | components["schemas"]["CvInpaintInvocation"] | components["schemas"]["InfillColorInvocation"] | components["schemas"]["InfillTileInvocation"] | components["schemas"]["InfillPatchMatchInvocation"] | components["schemas"]["DenoiseLatentsInvocation"] | components["schemas"]["LatentsToImageInvocation"] | components["schemas"]["ResizeLatentsInvocation"] | components["schemas"]["ScaleLatentsInvocation"] | components["schemas"]["ImageToLatentsInvocation"] | components["schemas"]["AddInvocation"] | components["schemas"]["SubtractInvocation"] | components["schemas"]["MultiplyInvocation"] | components["schemas"]["DivideInvocation"] | components["schemas"]["RandomIntInvocation"] | components["schemas"]["NoiseInvocation"] | components["schemas"]["ONNXPromptInvocation"] | components["schemas"]["ONNXTextToLatentsInvocation"] | components["schemas"]["ONNXLatentsToImageInvocation"] | components["schemas"]["ONNXSD1ModelLoaderInvocation"] | components["schemas"]["OnnxModelLoaderInvocation"] | components["schemas"]["DynamicPromptInvocation"] | components["schemas"]["PromptsFromFileInvocation"] | components["schemas"]["ParamIntInvocation"] | components["schemas"]["ParamFloatInvocation"] | components["schemas"]["ParamStringInvocation"] | components["schemas"]["ParamPromptInvocation"] | components["schemas"]["FloatLinearRangeInvocation"] | components["schemas"]["StepParamEasingInvocation"] | components["schemas"]["SDXLModelLoaderInvocation"] | components["schemas"]["SDXLRefinerModelLoaderInvocation"] | components["schemas"]["ESRGANInvocation"] | components["schemas"]["GraphInvocation"] | components["schemas"]["IterateInvocation"] | components["schemas"]["CollectInvocation"] | components["schemas"]["CannyImageProcessorInvocation"] | components["schemas"]["HedImageProcessorInvocation"] | components["schemas"]["LineartImageProcessorInvocation"] | components["schemas"]["LineartAnimeImageProcessorInvocation"] | components["schemas"]["OpenposeImageProcessorInvocation"] | components["schemas"]["MidasDepthImageProcessorInvocation"] | components["schemas"]["NormalbaeImageProcessorInvocation"] | components["schemas"]["MlsdImageProcessorInvocation"] | components["schemas"]["PidiImageProcessorInvocation"] | components["schemas"]["ContentShuffleImageProcessorInvocation"] | components["schemas"]["ZoeDepthImageProcessorInvocation"] | components["schemas"]["MediapipeFaceProcessorInvocation"] | components["schemas"]["LeresImageProcessorInvocation"] | components["schemas"]["TileResamplerProcessorInvocation"] | components["schemas"]["SegmentAnythingProcessorInvocation"]; }; }; responses: { From 27bd127fb0ec793a6ca8b81ad38060d4901976cf Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sat, 12 Aug 2023 21:10:30 +1200 Subject: [PATCH 177/287] fix: Do not add anything but final output to staging area --- .../listeners/socketio/socketInvocationComplete.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/socketio/socketInvocationComplete.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/socketio/socketInvocationComplete.ts index 30e0bedb54..a5e22de6e4 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/socketio/socketInvocationComplete.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/socketio/socketInvocationComplete.ts @@ -7,6 +7,7 @@ import { imageSelected, } from 'features/gallery/store/gallerySlice'; import { IMAGE_CATEGORIES } from 'features/gallery/store/types'; +import { INPAINT_FINAL_IMAGE } from 'features/nodes/util/graphBuilders/constants'; import { progressImageSet } from 'features/system/store/systemSlice'; import { imagesApi } from 'services/api/endpoints/images'; import { isImageOutput } from 'services/api/guards'; @@ -52,7 +53,9 @@ export const addInvocationCompleteEventListener = () => { // Add canvas images to the staging area if ( - graph_execution_state_id === canvas.layerState.stagingArea.sessionId + graph_execution_state_id === + canvas.layerState.stagingArea.sessionId && + data.source_node_id === INPAINT_FINAL_IMAGE ) { dispatch(addImageToStagingArea(imageDTO)); } From ad96c4115673fcb88de17a779ac73b18887fc558 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sat, 12 Aug 2023 22:04:43 +1200 Subject: [PATCH 178/287] feat: Add Canvas Output node to all Canvas Graphs --- .../socketio/socketInvocationComplete.ts | 4 ++-- .../buildCanvasImageToImageGraph.ts | 16 ++++++++++++++++ .../graphBuilders/buildCanvasInpaintGraph.ts | 10 +++++----- .../graphBuilders/buildCanvasOutpaintGraph.ts | 12 ++++++------ .../buildCanvasSDXLImageToImageGraph.ts | 16 ++++++++++++++++ .../graphBuilders/buildCanvasSDXLInpaintGraph.ts | 10 +++++----- .../buildCanvasSDXLOutpaintGraph.ts | 12 ++++++------ .../buildCanvasSDXLTextToImageGraph.ts | 16 ++++++++++++++++ .../graphBuilders/buildCanvasTextToImageGraph.ts | 16 ++++++++++++++++ .../nodes/util/graphBuilders/constants.ts | 1 + 10 files changed, 89 insertions(+), 24 deletions(-) diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/socketio/socketInvocationComplete.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/socketio/socketInvocationComplete.ts index a5e22de6e4..5b3b9424b6 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/socketio/socketInvocationComplete.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/socketio/socketInvocationComplete.ts @@ -7,7 +7,7 @@ import { imageSelected, } from 'features/gallery/store/gallerySlice'; import { IMAGE_CATEGORIES } from 'features/gallery/store/types'; -import { INPAINT_FINAL_IMAGE } from 'features/nodes/util/graphBuilders/constants'; +import { CANVAS_OUTPUT } from 'features/nodes/util/graphBuilders/constants'; import { progressImageSet } from 'features/system/store/systemSlice'; import { imagesApi } from 'services/api/endpoints/images'; import { isImageOutput } from 'services/api/guards'; @@ -55,7 +55,7 @@ export const addInvocationCompleteEventListener = () => { if ( graph_execution_state_id === canvas.layerState.stagingArea.sessionId && - data.source_node_id === INPAINT_FINAL_IMAGE + [CANVAS_OUTPUT].includes(data.source_node_id) ) { dispatch(addImageToStagingArea(imageDTO)); } diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts index a4cd3b2add..e8a5b46639 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts @@ -14,6 +14,7 @@ import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { + CANVAS_OUTPUT, CLIP_SKIP, DENOISE_LATENTS, IMAGE_TO_IMAGE_GRAPH, @@ -129,6 +130,10 @@ export const buildCanvasImageToImageGraph = ( id: LATENTS_TO_IMAGE, is_intermediate: !shouldAutoSave, }, + [CANVAS_OUTPUT]: { + type: 'load_image', + id: CANVAS_OUTPUT, + }, }, edges: [ // Connect Model Loader to CLIP Skip and UNet @@ -225,6 +230,17 @@ export const buildCanvasImageToImageGraph = ( field: 'latents', }, }, + // Canvas Output + { + source: { + node_id: LATENTS_TO_IMAGE, + field: 'image', + }, + destination: { + node_id: CANVAS_OUTPUT, + field: 'image', + }, + }, ], }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts index 7e6ae2f474..6ecb73b992 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts @@ -12,10 +12,10 @@ import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { + CANVAS_OUTPUT, CLIP_SKIP, COLOR_CORRECT, INPAINT, - INPAINT_FINAL_IMAGE, INPAINT_GRAPH, INPAINT_IMAGE, ITERATE, @@ -149,9 +149,9 @@ export const buildCanvasInpaintGraph = ( is_intermediate: true, reference: canvasInitImage, }, - [INPAINT_FINAL_IMAGE]: { + [CANVAS_OUTPUT]: { type: 'img_paste', - id: INPAINT_FINAL_IMAGE, + id: CANVAS_OUTPUT, is_intermediate: true, base_image: canvasInitImage, }, @@ -324,7 +324,7 @@ export const buildCanvasInpaintGraph = ( field: 'image', }, destination: { - node_id: INPAINT_FINAL_IMAGE, + node_id: CANVAS_OUTPUT, field: 'image', }, }, @@ -334,7 +334,7 @@ export const buildCanvasInpaintGraph = ( field: 'image', }, destination: { - node_id: INPAINT_FINAL_IMAGE, + node_id: CANVAS_OUTPUT, field: 'mask', }, }, diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts index 2513144871..2ed0cc952a 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts @@ -14,10 +14,10 @@ import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { + CANVAS_OUTPUT, CLIP_SKIP, COLOR_CORRECT, INPAINT, - INPAINT_FINAL_IMAGE, INPAINT_GRAPH, INPAINT_IMAGE, INPAINT_INFILL, @@ -183,9 +183,9 @@ export const buildCanvasOutpaintGraph = ( id: COLOR_CORRECT, is_intermediate: true, }, - [INPAINT_FINAL_IMAGE]: { + [CANVAS_OUTPUT]: { type: 'img_paste', - id: INPAINT_FINAL_IMAGE, + id: CANVAS_OUTPUT, is_intermediate: true, }, [RANGE_OF_SIZE]: { @@ -399,7 +399,7 @@ export const buildCanvasOutpaintGraph = ( field: 'image', }, destination: { - node_id: INPAINT_FINAL_IMAGE, + node_id: CANVAS_OUTPUT, field: 'base_image', }, }, @@ -409,7 +409,7 @@ export const buildCanvasOutpaintGraph = ( field: 'image', }, destination: { - node_id: INPAINT_FINAL_IMAGE, + node_id: CANVAS_OUTPUT, field: 'image', }, }, @@ -419,7 +419,7 @@ export const buildCanvasOutpaintGraph = ( field: 'image', }, destination: { - node_id: INPAINT_FINAL_IMAGE, + node_id: CANVAS_OUTPUT, field: 'mask', }, }, diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts index 80f3d671c9..5b198e0bc3 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts @@ -15,6 +15,7 @@ import { addSDXLRefinerToGraph } from './addSDXLRefinerToGraph'; import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { + CANVAS_OUTPUT, DENOISE_LATENTS, IMAGE_TO_IMAGE_GRAPH, IMAGE_TO_LATENTS, @@ -136,6 +137,10 @@ export const buildCanvasSDXLImageToImageGraph = ( id: LATENTS_TO_IMAGE, is_intermediate: !shouldAutoSave, }, + [CANVAS_OUTPUT]: { + type: 'load_image', + id: CANVAS_OUTPUT, + }, }, edges: [ // Connect Model Loader To UNet & CLIP @@ -241,6 +246,17 @@ export const buildCanvasSDXLImageToImageGraph = ( field: 'latents', }, }, + // Canvas Output + { + source: { + node_id: LATENTS_TO_IMAGE, + field: 'image', + }, + destination: { + node_id: CANVAS_OUTPUT, + field: 'image', + }, + }, ], }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts index 066f049e57..a8e190bcd1 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts @@ -13,9 +13,9 @@ import { addSDXLRefinerToGraph } from './addSDXLRefinerToGraph'; import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { + CANVAS_OUTPUT, COLOR_CORRECT, INPAINT, - INPAINT_FINAL_IMAGE, INPAINT_GRAPH, INPAINT_IMAGE, ITERATE, @@ -153,9 +153,9 @@ export const buildCanvasSDXLInpaintGraph = ( is_intermediate: true, reference: canvasInitImage, }, - [INPAINT_FINAL_IMAGE]: { + [CANVAS_OUTPUT]: { type: 'img_paste', - id: INPAINT_FINAL_IMAGE, + id: CANVAS_OUTPUT, is_intermediate: true, base_image: canvasInitImage, }, @@ -337,7 +337,7 @@ export const buildCanvasSDXLInpaintGraph = ( field: 'image', }, destination: { - node_id: INPAINT_FINAL_IMAGE, + node_id: CANVAS_OUTPUT, field: 'image', }, }, @@ -347,7 +347,7 @@ export const buildCanvasSDXLInpaintGraph = ( field: 'image', }, destination: { - node_id: INPAINT_FINAL_IMAGE, + node_id: CANVAS_OUTPUT, field: 'mask', }, }, diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts index 4d0a6feb55..da7eb6b6d3 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts @@ -15,9 +15,9 @@ import { addSDXLRefinerToGraph } from './addSDXLRefinerToGraph'; import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { + CANVAS_OUTPUT, COLOR_CORRECT, INPAINT, - INPAINT_FINAL_IMAGE, INPAINT_GRAPH, INPAINT_IMAGE, INPAINT_INFILL, @@ -187,9 +187,9 @@ export const buildCanvasSDXLOutpaintGraph = ( id: COLOR_CORRECT, is_intermediate: true, }, - [INPAINT_FINAL_IMAGE]: { + [CANVAS_OUTPUT]: { type: 'img_paste', - id: INPAINT_FINAL_IMAGE, + id: CANVAS_OUTPUT, is_intermediate: true, }, [RANGE_OF_SIZE]: { @@ -412,7 +412,7 @@ export const buildCanvasSDXLOutpaintGraph = ( field: 'image', }, destination: { - node_id: INPAINT_FINAL_IMAGE, + node_id: CANVAS_OUTPUT, field: 'base_image', }, }, @@ -422,7 +422,7 @@ export const buildCanvasSDXLOutpaintGraph = ( field: 'image', }, destination: { - node_id: INPAINT_FINAL_IMAGE, + node_id: CANVAS_OUTPUT, field: 'image', }, }, @@ -432,7 +432,7 @@ export const buildCanvasSDXLOutpaintGraph = ( field: 'image', }, destination: { - node_id: INPAINT_FINAL_IMAGE, + node_id: CANVAS_OUTPUT, field: 'mask', }, }, diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts index 70375c1423..391cccd7a9 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts @@ -14,6 +14,7 @@ import { addSDXLRefinerToGraph } from './addSDXLRefinerToGraph'; import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { + CANVAS_OUTPUT, DENOISE_LATENTS, LATENTS_TO_IMAGE, METADATA_ACCUMULATOR, @@ -148,6 +149,10 @@ export const buildCanvasSDXLTextToImageGraph = ( id: LATENTS_TO_IMAGE, is_intermediate: !shouldAutoSave, }, + [CANVAS_OUTPUT]: { + type: 'load_image', + id: CANVAS_OUTPUT, + }, }, edges: [ // Connect Model Loader to UNet and CLIP @@ -243,6 +248,17 @@ export const buildCanvasSDXLTextToImageGraph = ( field: 'latents', }, }, + // Canvas Output + { + source: { + node_id: LATENTS_TO_IMAGE, + field: 'image', + }, + destination: { + node_id: CANVAS_OUTPUT, + field: 'image', + }, + }, ], }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts index 519be4e498..6301ad6c9f 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts @@ -13,6 +13,7 @@ import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { + CANVAS_OUTPUT, CLIP_SKIP, DENOISE_LATENTS, LATENTS_TO_IMAGE, @@ -141,6 +142,10 @@ export const buildCanvasTextToImageGraph = ( id: LATENTS_TO_IMAGE, is_intermediate: !shouldAutoSave, }, + [CANVAS_OUTPUT]: { + type: 'load_image', + id: CANVAS_OUTPUT, + }, }, edges: [ // Connect Model Loader to UNet & CLIP Skip @@ -227,6 +232,17 @@ export const buildCanvasTextToImageGraph = ( field: 'latents', }, }, + // Canvas Output + { + source: { + node_id: LATENTS_TO_IMAGE, + field: 'image', + }, + destination: { + node_id: CANVAS_OUTPUT, + field: 'image', + }, + }, ], }; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts index 076c92eb76..24bf1b404d 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts @@ -17,6 +17,7 @@ export const CLIP_SKIP = 'clip_skip'; export const IMAGE_TO_LATENTS = 'image_to_latents'; export const LATENTS_TO_LATENTS = 'latents_to_latents'; export const RESIZE = 'resize_image'; +export const CANVAS_OUTPUT = 'canvas_output'; export const INPAINT = 'inpaint'; export const INPAINT_SEAM_FIX = 'inpaint_seam_fix'; export const INPAINT_IMAGE = 'inpaint_image'; From 746c7c59ffd943f2dffc8a12da20388e3c6213cf Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sat, 12 Aug 2023 22:39:30 +1200 Subject: [PATCH 179/287] fix: remove extra node for canvas output catch --- .../nodes/util/graphBuilders/addVAEToGraph.ts | 21 ++++++++++---- .../buildCanvasImageToImageGraph.ts | 28 ++++--------------- .../graphBuilders/buildCanvasInpaintGraph.ts | 4 +-- .../graphBuilders/buildCanvasOutpaintGraph.ts | 4 +-- .../buildCanvasSDXLImageToImageGraph.ts | 19 +++++-------- .../buildCanvasSDXLInpaintGraph.ts | 4 +-- .../buildCanvasSDXLOutpaintGraph.ts | 4 +-- .../buildCanvasSDXLTextToImageGraph.ts | 28 ++++--------------- .../buildCanvasTextToImageGraph.ts | 28 ++++--------------- 9 files changed, 49 insertions(+), 91 deletions(-) diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addVAEToGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addVAEToGraph.ts index 85e8fed572..384eae8c38 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addVAEToGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addVAEToGraph.ts @@ -2,6 +2,7 @@ import { RootState } from 'app/store/store'; import { NonNullableGraph } from 'features/nodes/types/types'; import { MetadataAccumulatorInvocation } from 'services/api/types'; import { + CANVAS_OUTPUT, IMAGE_TO_IMAGE_GRAPH, IMAGE_TO_LATENTS, INPAINT_GRAPH, @@ -35,11 +36,21 @@ export const addVAEToGraph = ( }; } const isOnnxModel = modelLoaderNodeId == ONNX_MODEL_LOADER; - if ( - graph.id === TEXT_TO_IMAGE_GRAPH || - graph.id === IMAGE_TO_IMAGE_GRAPH || - graph.id === INPAINT_GRAPH - ) { + + if (graph.id === TEXT_TO_IMAGE_GRAPH || graph.id === IMAGE_TO_IMAGE_GRAPH) { + graph.edges.push({ + source: { + node_id: isAutoVae ? modelLoaderNodeId : VAE_LOADER, + field: isAutoVae && isOnnxModel ? 'vae_decoder' : 'vae', + }, + destination: { + node_id: CANVAS_OUTPUT, + field: 'vae', + }, + }); + } + + if (graph.id === INPAINT_GRAPH) { graph.edges.push({ source: { node_id: isAutoVae ? modelLoaderNodeId : VAE_LOADER, diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts index e8a5b46639..04636a19b7 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts @@ -19,7 +19,6 @@ import { DENOISE_LATENTS, IMAGE_TO_IMAGE_GRAPH, IMAGE_TO_LATENTS, - LATENTS_TO_IMAGE, MAIN_MODEL_LOADER, METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, @@ -125,14 +124,10 @@ export const buildCanvasImageToImageGraph = ( denoising_start: 1 - strength, denoising_end: 1, }, - [LATENTS_TO_IMAGE]: { - type: 'l2i', - id: LATENTS_TO_IMAGE, - is_intermediate: !shouldAutoSave, - }, [CANVAS_OUTPUT]: { - type: 'load_image', + type: 'l2i', id: CANVAS_OUTPUT, + is_intermediate: !shouldAutoSave, }, }, edges: [ @@ -225,20 +220,9 @@ export const buildCanvasImageToImageGraph = ( node_id: DENOISE_LATENTS, field: 'latents', }, - destination: { - node_id: LATENTS_TO_IMAGE, - field: 'latents', - }, - }, - // Canvas Output - { - source: { - node_id: LATENTS_TO_IMAGE, - field: 'image', - }, destination: { node_id: CANVAS_OUTPUT, - field: 'image', + field: 'latents', }, }, ], @@ -339,7 +323,7 @@ export const buildCanvasImageToImageGraph = ( field: 'metadata', }, destination: { - node_id: LATENTS_TO_IMAGE, + node_id: CANVAS_OUTPUT, field: 'metadata', }, }); @@ -359,12 +343,12 @@ export const buildCanvasImageToImageGraph = ( // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { // must add before watermarker! - addNSFWCheckerToGraph(state, graph); + addNSFWCheckerToGraph(state, graph, CANVAS_OUTPUT); } if (state.system.shouldUseWatermarker) { // must add after nsfw checker! - addWatermarkerToGraph(state, graph); + addWatermarkerToGraph(state, graph, CANVAS_OUTPUT); } return graph; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts index 6ecb73b992..a1e5c27083 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts @@ -373,12 +373,12 @@ export const buildCanvasInpaintGraph = ( // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { // must add before watermarker! - addNSFWCheckerToGraph(state, graph, INPAINT); + addNSFWCheckerToGraph(state, graph, CANVAS_OUTPUT); } if (state.system.shouldUseWatermarker) { // must add after nsfw checker! - addWatermarkerToGraph(state, graph, INPAINT); + addWatermarkerToGraph(state, graph, CANVAS_OUTPUT); } return graph; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts index 2ed0cc952a..3f4737134a 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts @@ -458,12 +458,12 @@ export const buildCanvasOutpaintGraph = ( // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { // must add before watermarker! - addNSFWCheckerToGraph(state, graph, INPAINT); + addNSFWCheckerToGraph(state, graph, CANVAS_OUTPUT); } if (state.system.shouldUseWatermarker) { // must add after nsfw checker! - addWatermarkerToGraph(state, graph, INPAINT); + addWatermarkerToGraph(state, graph, CANVAS_OUTPUT); } return graph; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts index 5b198e0bc3..f81bd8376b 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts @@ -19,7 +19,6 @@ import { DENOISE_LATENTS, IMAGE_TO_IMAGE_GRAPH, IMAGE_TO_LATENTS, - LATENTS_TO_IMAGE, METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, NOISE, @@ -132,14 +131,10 @@ export const buildCanvasSDXLImageToImageGraph = ( : 1 - strength, denoising_end: shouldUseSDXLRefiner ? refinerStart : 1, }, - [LATENTS_TO_IMAGE]: { - type: 'l2i', - id: LATENTS_TO_IMAGE, - is_intermediate: !shouldAutoSave, - }, [CANVAS_OUTPUT]: { - type: 'load_image', + type: 'l2i', id: CANVAS_OUTPUT, + is_intermediate: !shouldAutoSave, }, }, edges: [ @@ -242,14 +237,14 @@ export const buildCanvasSDXLImageToImageGraph = ( field: 'latents', }, destination: { - node_id: LATENTS_TO_IMAGE, + node_id: CANVAS_OUTPUT, field: 'latents', }, }, // Canvas Output { source: { - node_id: LATENTS_TO_IMAGE, + node_id: CANVAS_OUTPUT, field: 'image', }, destination: { @@ -355,7 +350,7 @@ export const buildCanvasSDXLImageToImageGraph = ( field: 'metadata', }, destination: { - node_id: LATENTS_TO_IMAGE, + node_id: CANVAS_OUTPUT, field: 'metadata', }, }); @@ -380,12 +375,12 @@ export const buildCanvasSDXLImageToImageGraph = ( // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { // must add before watermarker! - addNSFWCheckerToGraph(state, graph); + addNSFWCheckerToGraph(state, graph, CANVAS_OUTPUT); } if (state.system.shouldUseWatermarker) { // must add after nsfw checker! - addWatermarkerToGraph(state, graph); + addWatermarkerToGraph(state, graph, CANVAS_OUTPUT); } return graph; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts index a8e190bcd1..091778a569 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts @@ -391,12 +391,12 @@ export const buildCanvasSDXLInpaintGraph = ( // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { // must add before watermarker! - addNSFWCheckerToGraph(state, graph, INPAINT); + addNSFWCheckerToGraph(state, graph, CANVAS_OUTPUT); } if (state.system.shouldUseWatermarker) { // must add after nsfw checker! - addWatermarkerToGraph(state, graph, INPAINT); + addWatermarkerToGraph(state, graph, CANVAS_OUTPUT); } return graph; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts index da7eb6b6d3..5db564ba6c 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts @@ -476,12 +476,12 @@ export const buildCanvasSDXLOutpaintGraph = ( // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { // must add before watermarker! - addNSFWCheckerToGraph(state, graph, INPAINT); + addNSFWCheckerToGraph(state, graph, CANVAS_OUTPUT); } if (state.system.shouldUseWatermarker) { // must add after nsfw checker! - addWatermarkerToGraph(state, graph, INPAINT); + addWatermarkerToGraph(state, graph, CANVAS_OUTPUT); } return graph; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts index 391cccd7a9..f1559ace5c 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts @@ -16,7 +16,6 @@ import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { CANVAS_OUTPUT, DENOISE_LATENTS, - LATENTS_TO_IMAGE, METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, NOISE, @@ -144,14 +143,10 @@ export const buildCanvasSDXLTextToImageGraph = ( use_cpu, }, [t2lNode.id]: t2lNode, - [LATENTS_TO_IMAGE]: { - type: isUsingOnnxModel ? 'l2i_onnx' : 'l2i', - id: LATENTS_TO_IMAGE, - is_intermediate: !shouldAutoSave, - }, [CANVAS_OUTPUT]: { - type: 'load_image', + type: isUsingOnnxModel ? 'l2i_onnx' : 'l2i', id: CANVAS_OUTPUT, + is_intermediate: !shouldAutoSave, }, }, edges: [ @@ -243,20 +238,9 @@ export const buildCanvasSDXLTextToImageGraph = ( node_id: DENOISE_LATENTS, field: 'latents', }, - destination: { - node_id: LATENTS_TO_IMAGE, - field: 'latents', - }, - }, - // Canvas Output - { - source: { - node_id: LATENTS_TO_IMAGE, - field: 'image', - }, destination: { node_id: CANVAS_OUTPUT, - field: 'image', + field: 'latents', }, }, ], @@ -289,7 +273,7 @@ export const buildCanvasSDXLTextToImageGraph = ( field: 'metadata', }, destination: { - node_id: LATENTS_TO_IMAGE, + node_id: CANVAS_OUTPUT, field: 'metadata', }, }); @@ -314,12 +298,12 @@ export const buildCanvasSDXLTextToImageGraph = ( // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { // must add before watermarker! - addNSFWCheckerToGraph(state, graph); + addNSFWCheckerToGraph(state, graph, CANVAS_OUTPUT); } if (state.system.shouldUseWatermarker) { // must add after nsfw checker! - addWatermarkerToGraph(state, graph); + addWatermarkerToGraph(state, graph, CANVAS_OUTPUT); } return graph; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts index 6301ad6c9f..8d25f13a47 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts @@ -16,7 +16,6 @@ import { CANVAS_OUTPUT, CLIP_SKIP, DENOISE_LATENTS, - LATENTS_TO_IMAGE, MAIN_MODEL_LOADER, METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, @@ -137,14 +136,10 @@ export const buildCanvasTextToImageGraph = ( use_cpu, }, [t2lNode.id]: t2lNode, - [LATENTS_TO_IMAGE]: { - type: isUsingOnnxModel ? 'l2i_onnx' : 'l2i', - id: LATENTS_TO_IMAGE, - is_intermediate: !shouldAutoSave, - }, [CANVAS_OUTPUT]: { - type: 'load_image', + type: isUsingOnnxModel ? 'l2i_onnx' : 'l2i', id: CANVAS_OUTPUT, + is_intermediate: !shouldAutoSave, }, }, edges: [ @@ -227,20 +222,9 @@ export const buildCanvasTextToImageGraph = ( node_id: DENOISE_LATENTS, field: 'latents', }, - destination: { - node_id: LATENTS_TO_IMAGE, - field: 'latents', - }, - }, - // Canvas Output - { - source: { - node_id: LATENTS_TO_IMAGE, - field: 'image', - }, destination: { node_id: CANVAS_OUTPUT, - field: 'image', + field: 'latents', }, }, ], @@ -273,7 +257,7 @@ export const buildCanvasTextToImageGraph = ( field: 'metadata', }, destination: { - node_id: LATENTS_TO_IMAGE, + node_id: CANVAS_OUTPUT, field: 'metadata', }, }); @@ -293,12 +277,12 @@ export const buildCanvasTextToImageGraph = ( // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { // must add before watermarker! - addNSFWCheckerToGraph(state, graph); + addNSFWCheckerToGraph(state, graph, CANVAS_OUTPUT); } if (state.system.shouldUseWatermarker) { // must add after nsfw checker! - addWatermarkerToGraph(state, graph); + addWatermarkerToGraph(state, graph, CANVAS_OUTPUT); } return graph; From 55d27f71a376bbc31a04706883ccbe4cbed6c568 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sun, 13 Aug 2023 00:51:10 +1200 Subject: [PATCH 180/287] feat: Give each graph its own unique id --- .../nodes/util/graphBuilders/addVAEToGraph.ts | 71 ++++++++++++------- .../buildCanvasImageToImageGraph.ts | 4 +- .../graphBuilders/buildCanvasInpaintGraph.ts | 4 +- .../graphBuilders/buildCanvasOutpaintGraph.ts | 4 +- .../buildCanvasSDXLImageToImageGraph.ts | 4 +- .../buildCanvasSDXLInpaintGraph.ts | 4 +- .../buildCanvasSDXLOutpaintGraph.ts | 4 +- .../buildCanvasSDXLTextToImageGraph.ts | 4 +- .../buildCanvasTextToImageGraph.ts | 4 +- .../nodes/util/graphBuilders/constants.ts | 7 +- 10 files changed, 67 insertions(+), 43 deletions(-) diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addVAEToGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addVAEToGraph.ts index 384eae8c38..7cc9cead42 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addVAEToGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addVAEToGraph.ts @@ -2,10 +2,13 @@ import { RootState } from 'app/store/store'; import { NonNullableGraph } from 'features/nodes/types/types'; import { MetadataAccumulatorInvocation } from 'services/api/types'; import { + CANVAS_IMAGE_TO_IMAGE_GRAPH, + CANVAS_INPAINT_GRAPH, + CANVAS_OUTPAINT_GRAPH, CANVAS_OUTPUT, + CANVAS_TEXT_TO_IMAGE_GRAPH, IMAGE_TO_IMAGE_GRAPH, IMAGE_TO_LATENTS, - INPAINT_GRAPH, INPAINT_IMAGE, LATENTS_TO_IMAGE, MAIN_MODEL_LOADER, @@ -38,19 +41,6 @@ export const addVAEToGraph = ( const isOnnxModel = modelLoaderNodeId == ONNX_MODEL_LOADER; if (graph.id === TEXT_TO_IMAGE_GRAPH || graph.id === IMAGE_TO_IMAGE_GRAPH) { - graph.edges.push({ - source: { - node_id: isAutoVae ? modelLoaderNodeId : VAE_LOADER, - field: isAutoVae && isOnnxModel ? 'vae_decoder' : 'vae', - }, - destination: { - node_id: CANVAS_OUTPUT, - field: 'vae', - }, - }); - } - - if (graph.id === INPAINT_GRAPH) { graph.edges.push({ source: { node_id: isAutoVae ? modelLoaderNodeId : VAE_LOADER, @@ -63,7 +53,26 @@ export const addVAEToGraph = ( }); } - if (graph.id === IMAGE_TO_IMAGE_GRAPH) { + if ( + graph.id === CANVAS_TEXT_TO_IMAGE_GRAPH || + graph.id === CANVAS_IMAGE_TO_IMAGE_GRAPH + ) { + graph.edges.push({ + source: { + node_id: isAutoVae ? modelLoaderNodeId : VAE_LOADER, + field: isAutoVae && isOnnxModel ? 'vae_decoder' : 'vae', + }, + destination: { + node_id: CANVAS_OUTPUT, + field: 'vae', + }, + }); + } + + if ( + graph.id === IMAGE_TO_IMAGE_GRAPH || + graph.id === CANVAS_IMAGE_TO_IMAGE_GRAPH + ) { graph.edges.push({ source: { node_id: isAutoVae ? modelLoaderNodeId : VAE_LOADER, @@ -76,17 +85,29 @@ export const addVAEToGraph = ( }); } - if (graph.id === INPAINT_GRAPH) { - graph.edges.push({ - source: { - node_id: isAutoVae ? modelLoaderNodeId : VAE_LOADER, - field: isAutoVae && isOnnxModel ? 'vae_decoder' : 'vae', + if (graph.id === CANVAS_INPAINT_GRAPH || graph.id == CANVAS_OUTPAINT_GRAPH) { + graph.edges.push( + { + source: { + node_id: isAutoVae ? modelLoaderNodeId : VAE_LOADER, + field: isAutoVae && isOnnxModel ? 'vae_decoder' : 'vae', + }, + destination: { + node_id: INPAINT_IMAGE, + field: 'vae', + }, }, - destination: { - node_id: INPAINT_IMAGE, - field: 'vae', - }, - }); + { + source: { + node_id: isAutoVae ? modelLoaderNodeId : VAE_LOADER, + field: isAutoVae && isOnnxModel ? 'vae_decoder' : 'vae', + }, + destination: { + node_id: LATENTS_TO_IMAGE, + field: 'vae', + }, + } + ); } if (vae && metadataAccumulator) { diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts index 04636a19b7..a68aeef392 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts @@ -14,10 +14,10 @@ import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { + CANVAS_IMAGE_TO_IMAGE_GRAPH, CANVAS_OUTPUT, CLIP_SKIP, DENOISE_LATENTS, - IMAGE_TO_IMAGE_GRAPH, IMAGE_TO_LATENTS, MAIN_MODEL_LOADER, METADATA_ACCUMULATOR, @@ -73,7 +73,7 @@ export const buildCanvasImageToImageGraph = ( // copy-pasted graph from node editor, filled in with state values & friendly node ids const graph: NonNullableGraph = { - id: IMAGE_TO_IMAGE_GRAPH, + id: CANVAS_IMAGE_TO_IMAGE_GRAPH, nodes: { [MAIN_MODEL_LOADER]: { type: 'main_model_loader', diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts index a1e5c27083..c2b8b62e42 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts @@ -12,11 +12,11 @@ import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { + CANVAS_INPAINT_GRAPH, CANVAS_OUTPUT, CLIP_SKIP, COLOR_CORRECT, INPAINT, - INPAINT_GRAPH, INPAINT_IMAGE, ITERATE, LATENTS_TO_IMAGE, @@ -78,7 +78,7 @@ export const buildCanvasInpaintGraph = ( : shouldUseCpuNoise; const graph: NonNullableGraph = { - id: INPAINT_GRAPH, + id: CANVAS_INPAINT_GRAPH, nodes: { [MAIN_MODEL_LOADER]: { type: 'main_model_loader', diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts index 3f4737134a..d434f3d7cd 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts @@ -14,11 +14,11 @@ import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { + CANVAS_OUTPAINT_GRAPH, CANVAS_OUTPUT, CLIP_SKIP, COLOR_CORRECT, INPAINT, - INPAINT_GRAPH, INPAINT_IMAGE, INPAINT_INFILL, ITERATE, @@ -102,7 +102,7 @@ export const buildCanvasOutpaintGraph = ( } const graph: NonNullableGraph = { - id: INPAINT_GRAPH, + id: CANVAS_OUTPAINT_GRAPH, nodes: { [MAIN_MODEL_LOADER]: { type: 'main_model_loader', diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts index f81bd8376b..f495bef983 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts @@ -15,9 +15,9 @@ import { addSDXLRefinerToGraph } from './addSDXLRefinerToGraph'; import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { + CANVAS_IMAGE_TO_IMAGE_GRAPH, CANVAS_OUTPUT, DENOISE_LATENTS, - IMAGE_TO_IMAGE_GRAPH, IMAGE_TO_LATENTS, METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, @@ -81,7 +81,7 @@ export const buildCanvasSDXLImageToImageGraph = ( // copy-pasted graph from node editor, filled in with state values & friendly node ids const graph: NonNullableGraph = { - id: IMAGE_TO_IMAGE_GRAPH, + id: CANVAS_IMAGE_TO_IMAGE_GRAPH, nodes: { [SDXL_MODEL_LOADER]: { type: 'sdxl_model_loader', diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts index 091778a569..dbb34649cc 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts @@ -13,10 +13,10 @@ import { addSDXLRefinerToGraph } from './addSDXLRefinerToGraph'; import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { + CANVAS_INPAINT_GRAPH, CANVAS_OUTPUT, COLOR_CORRECT, INPAINT, - INPAINT_GRAPH, INPAINT_IMAGE, ITERATE, LATENTS_TO_IMAGE, @@ -85,7 +85,7 @@ export const buildCanvasSDXLInpaintGraph = ( : shouldUseCpuNoise; const graph: NonNullableGraph = { - id: INPAINT_GRAPH, + id: CANVAS_INPAINT_GRAPH, nodes: { [SDXL_MODEL_LOADER]: { type: 'sdxl_model_loader', diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts index 5db564ba6c..2abefd910e 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts @@ -15,10 +15,10 @@ import { addSDXLRefinerToGraph } from './addSDXLRefinerToGraph'; import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { + CANVAS_OUTPAINT_GRAPH, CANVAS_OUTPUT, COLOR_CORRECT, INPAINT, - INPAINT_GRAPH, INPAINT_IMAGE, INPAINT_INFILL, ITERATE, @@ -109,7 +109,7 @@ export const buildCanvasSDXLOutpaintGraph = ( } const graph: NonNullableGraph = { - id: INPAINT_GRAPH, + id: CANVAS_OUTPAINT_GRAPH, nodes: { [SDXL_MODEL_LOADER]: { type: 'sdxl_model_loader', diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts index f1559ace5c..e4c4f52160 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts @@ -15,6 +15,7 @@ import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { CANVAS_OUTPUT, + CANVAS_TEXT_TO_IMAGE_GRAPH, DENOISE_LATENTS, METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, @@ -22,7 +23,6 @@ import { ONNX_MODEL_LOADER, POSITIVE_CONDITIONING, SDXL_MODEL_LOADER, - TEXT_TO_IMAGE_GRAPH, } from './constants'; /** @@ -108,7 +108,7 @@ export const buildCanvasSDXLTextToImageGraph = ( // copy-pasted graph from node editor, filled in with state values & friendly node ids // TODO: Actually create the graph correctly for ONNX const graph: NonNullableGraph = { - id: TEXT_TO_IMAGE_GRAPH, + id: CANVAS_TEXT_TO_IMAGE_GRAPH, nodes: { [modelLoaderNodeId]: { type: modelLoaderNodeType, diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts index 8d25f13a47..4548a7e099 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts @@ -14,6 +14,7 @@ import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { CANVAS_OUTPUT, + CANVAS_TEXT_TO_IMAGE_GRAPH, CLIP_SKIP, DENOISE_LATENTS, MAIN_MODEL_LOADER, @@ -22,7 +23,6 @@ import { NOISE, ONNX_MODEL_LOADER, POSITIVE_CONDITIONING, - TEXT_TO_IMAGE_GRAPH, } from './constants'; /** @@ -101,7 +101,7 @@ export const buildCanvasTextToImageGraph = ( // copy-pasted graph from node editor, filled in with state values & friendly node ids // TODO: Actually create the graph correctly for ONNX const graph: NonNullableGraph = { - id: TEXT_TO_IMAGE_GRAPH, + id: CANVAS_TEXT_TO_IMAGE_GRAPH, nodes: { [modelLoaderNodeId]: { type: modelLoaderNodeType, diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts index 24bf1b404d..af7b88d023 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts @@ -49,7 +49,10 @@ export const SDXL_REFINER_LATENTS_TO_LATENTS = 'l2l_sdxl_refiner'; // friendly graph ids export const TEXT_TO_IMAGE_GRAPH = 'text_to_image_graph'; +export const IMAGE_TO_IMAGE_GRAPH = 'image_to_image_graph'; +export const CANVAS_TEXT_TO_IMAGE_GRAPH = 'canvas_text_to_image_graph'; +export const CANVAS_IMAGE_TO_IMAGE_GRAPH = 'canvas_image_to_image_graph'; +export const CANVAS_INPAINT_GRAPH = 'canvas_inpaint_graph'; +export const CANVAS_OUTPAINT_GRAPH = 'canvas_outpaint_graph'; export const SDXL_TEXT_TO_IMAGE_GRAPH = 'sdxl_text_to_image_graph'; export const SDXL_IMAGE_TO_IMAGE_GRAPH = 'sxdl_image_to_image_graph'; -export const IMAGE_TO_IMAGE_GRAPH = 'image_to_image_graph'; -export const INPAINT_GRAPH = 'inpaint_graph'; From 500cd552bc8a32b847bc451fa9516e48e07fd6ea Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sun, 13 Aug 2023 01:45:03 +1200 Subject: [PATCH 181/287] feat: Make SDXL work across the board + Custom VAE Support Also a major cleanup pass to the SDXL graphs to ensure there's no ID overlap --- .../graphBuilders/addSDXLRefinerToGraph.ts | 20 ++++---- .../nodes/util/graphBuilders/addVAEToGraph.ts | 28 +++++++++-- .../buildCanvasSDXLImageToImageGraph.ts | 39 ++++++---------- .../buildCanvasSDXLInpaintGraph.ts | 32 ++++++------- .../buildCanvasSDXLOutpaintGraph.ts | 32 ++++++------- .../buildCanvasSDXLTextToImageGraph.ts | 26 +++++------ .../buildLinearSDXLImageToImageGraph.ts | 46 ++++++------------- .../buildLinearSDXLTextToImageGraph.ts | 37 +++++++-------- .../nodes/util/graphBuilders/constants.ts | 11 +++-- 9 files changed, 132 insertions(+), 139 deletions(-) diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts index 3faf72fb2e..ca0d574d61 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts @@ -2,12 +2,12 @@ import { RootState } from 'app/store/store'; import { MetadataAccumulatorInvocation } from 'services/api/types'; import { NonNullableGraph } from '../../types/types'; import { - DENOISE_LATENTS, IMAGE_TO_LATENTS, LATENTS_TO_IMAGE, METADATA_ACCUMULATOR, - SDXL_LATENTS_TO_LATENTS, + SDXL_DENOISE_LATENTS, SDXL_MODEL_LOADER, + SDXL_REFINER_DENOISE_LATENTS, SDXL_REFINER_MODEL_LOADER, SDXL_REFINER_NEGATIVE_CONDITIONING, SDXL_REFINER_POSITIVE_CONDITIONING, @@ -61,7 +61,7 @@ export const addSDXLRefinerToGraph = ( // connect the VAE back to the i2l, which we just removed in the filter // but only if we are doing l2l - if (baseNodeId === SDXL_LATENTS_TO_LATENTS) { + if (baseNodeId === SDXL_DENOISE_LATENTS) { graph.edges.push({ source: { node_id: SDXL_MODEL_LOADER, @@ -91,9 +91,9 @@ export const addSDXLRefinerToGraph = ( style: `${negativePrompt} ${negativeStylePrompt}`, aesthetic_score: refinerAestheticScore, }; - graph.nodes[DENOISE_LATENTS] = { + graph.nodes[SDXL_REFINER_DENOISE_LATENTS] = { type: 'denoise_latents', - id: DENOISE_LATENTS, + id: SDXL_REFINER_DENOISE_LATENTS, cfg_scale: refinerCFGScale, steps: refinerSteps / (1 - Math.min(refinerStart, 0.99)), scheduler: refinerScheduler, @@ -108,7 +108,7 @@ export const addSDXLRefinerToGraph = ( field: 'unet', }, destination: { - node_id: DENOISE_LATENTS, + node_id: SDXL_REFINER_DENOISE_LATENTS, field: 'unet', }, }, @@ -148,7 +148,7 @@ export const addSDXLRefinerToGraph = ( field: 'conditioning', }, destination: { - node_id: DENOISE_LATENTS, + node_id: SDXL_REFINER_DENOISE_LATENTS, field: 'positive_conditioning', }, }, @@ -158,7 +158,7 @@ export const addSDXLRefinerToGraph = ( field: 'conditioning', }, destination: { - node_id: DENOISE_LATENTS, + node_id: SDXL_REFINER_DENOISE_LATENTS, field: 'negative_conditioning', }, }, @@ -168,13 +168,13 @@ export const addSDXLRefinerToGraph = ( field: 'latents', }, destination: { - node_id: DENOISE_LATENTS, + node_id: SDXL_REFINER_DENOISE_LATENTS, field: 'latents', }, }, { source: { - node_id: DENOISE_LATENTS, + node_id: SDXL_REFINER_DENOISE_LATENTS, field: 'latents', }, destination: { diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addVAEToGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addVAEToGraph.ts index 7cc9cead42..360e07062a 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addVAEToGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addVAEToGraph.ts @@ -14,6 +14,12 @@ import { MAIN_MODEL_LOADER, METADATA_ACCUMULATOR, ONNX_MODEL_LOADER, + SDXL_CANVAS_IMAGE_TO_IMAGE_GRAPH, + SDXL_CANVAS_INPAINT_GRAPH, + SDXL_CANVAS_OUTPAINT_GRAPH, + SDXL_CANVAS_TEXT_TO_IMAGE_GRAPH, + SDXL_IMAGE_TO_IMAGE_GRAPH, + SDXL_TEXT_TO_IMAGE_GRAPH, TEXT_TO_IMAGE_GRAPH, VAE_LOADER, } from './constants'; @@ -40,7 +46,12 @@ export const addVAEToGraph = ( } const isOnnxModel = modelLoaderNodeId == ONNX_MODEL_LOADER; - if (graph.id === TEXT_TO_IMAGE_GRAPH || graph.id === IMAGE_TO_IMAGE_GRAPH) { + if ( + graph.id === TEXT_TO_IMAGE_GRAPH || + graph.id === IMAGE_TO_IMAGE_GRAPH || + graph.id === SDXL_TEXT_TO_IMAGE_GRAPH || + graph.id === SDXL_IMAGE_TO_IMAGE_GRAPH + ) { graph.edges.push({ source: { node_id: isAutoVae ? modelLoaderNodeId : VAE_LOADER, @@ -55,7 +66,9 @@ export const addVAEToGraph = ( if ( graph.id === CANVAS_TEXT_TO_IMAGE_GRAPH || - graph.id === CANVAS_IMAGE_TO_IMAGE_GRAPH + graph.id === CANVAS_IMAGE_TO_IMAGE_GRAPH || + graph.id === SDXL_CANVAS_TEXT_TO_IMAGE_GRAPH || + graph.id == SDXL_CANVAS_IMAGE_TO_IMAGE_GRAPH ) { graph.edges.push({ source: { @@ -71,7 +84,9 @@ export const addVAEToGraph = ( if ( graph.id === IMAGE_TO_IMAGE_GRAPH || - graph.id === CANVAS_IMAGE_TO_IMAGE_GRAPH + graph.id === SDXL_IMAGE_TO_IMAGE_GRAPH || + graph.id === CANVAS_IMAGE_TO_IMAGE_GRAPH || + graph.id === SDXL_CANVAS_IMAGE_TO_IMAGE_GRAPH ) { graph.edges.push({ source: { @@ -85,7 +100,12 @@ export const addVAEToGraph = ( }); } - if (graph.id === CANVAS_INPAINT_GRAPH || graph.id == CANVAS_OUTPAINT_GRAPH) { + if ( + graph.id === CANVAS_INPAINT_GRAPH || + graph.id === CANVAS_OUTPAINT_GRAPH || + graph.id === SDXL_CANVAS_INPAINT_GRAPH || + graph.id === SDXL_CANVAS_OUTPAINT_GRAPH + ) { graph.edges.push( { source: { diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts index f495bef983..8e96b43fea 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts @@ -15,15 +15,15 @@ import { addSDXLRefinerToGraph } from './addSDXLRefinerToGraph'; import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { - CANVAS_IMAGE_TO_IMAGE_GRAPH, CANVAS_OUTPUT, - DENOISE_LATENTS, IMAGE_TO_LATENTS, METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, NOISE, POSITIVE_CONDITIONING, RESIZE, + SDXL_CANVAS_IMAGE_TO_IMAGE_GRAPH, + SDXL_DENOISE_LATENTS, SDXL_MODEL_LOADER, } from './constants'; @@ -81,7 +81,7 @@ export const buildCanvasSDXLImageToImageGraph = ( // copy-pasted graph from node editor, filled in with state values & friendly node ids const graph: NonNullableGraph = { - id: CANVAS_IMAGE_TO_IMAGE_GRAPH, + id: SDXL_CANVAS_IMAGE_TO_IMAGE_GRAPH, nodes: { [SDXL_MODEL_LOADER]: { type: 'sdxl_model_loader', @@ -119,9 +119,9 @@ export const buildCanvasSDXLImageToImageGraph = ( // image_name: initialImage.image_name, // }, }, - [DENOISE_LATENTS]: { + [SDXL_DENOISE_LATENTS]: { type: 'denoise_latents', - id: DENOISE_LATENTS, + id: SDXL_DENOISE_LATENTS, is_intermediate: true, cfg_scale, scheduler, @@ -145,7 +145,7 @@ export const buildCanvasSDXLImageToImageGraph = ( field: 'unet', }, destination: { - node_id: DENOISE_LATENTS, + node_id: SDXL_DENOISE_LATENTS, field: 'unet', }, }, @@ -196,7 +196,7 @@ export const buildCanvasSDXLImageToImageGraph = ( field: 'conditioning', }, destination: { - node_id: DENOISE_LATENTS, + node_id: SDXL_DENOISE_LATENTS, field: 'positive_conditioning', }, }, @@ -206,7 +206,7 @@ export const buildCanvasSDXLImageToImageGraph = ( field: 'conditioning', }, destination: { - node_id: DENOISE_LATENTS, + node_id: SDXL_DENOISE_LATENTS, field: 'negative_conditioning', }, }, @@ -216,7 +216,7 @@ export const buildCanvasSDXLImageToImageGraph = ( field: 'noise', }, destination: { - node_id: DENOISE_LATENTS, + node_id: SDXL_DENOISE_LATENTS, field: 'noise', }, }, @@ -226,14 +226,14 @@ export const buildCanvasSDXLImageToImageGraph = ( field: 'latents', }, destination: { - node_id: DENOISE_LATENTS, + node_id: SDXL_DENOISE_LATENTS, field: 'latents', }, }, // Decode denoised latents to an image { source: { - node_id: DENOISE_LATENTS, + node_id: SDXL_DENOISE_LATENTS, field: 'latents', }, destination: { @@ -241,17 +241,6 @@ export const buildCanvasSDXLImageToImageGraph = ( field: 'latents', }, }, - // Canvas Output - { - source: { - node_id: CANVAS_OUTPUT, - field: 'image', - }, - destination: { - node_id: CANVAS_OUTPUT, - field: 'image', - }, - }, ], }; @@ -356,11 +345,11 @@ export const buildCanvasSDXLImageToImageGraph = ( }); // add LoRA support - addLoRAsToGraph(state, graph, DENOISE_LATENTS); + addLoRAsToGraph(state, graph, SDXL_DENOISE_LATENTS); // Add Refiner if enabled if (shouldUseSDXLRefiner) { - addSDXLRefinerToGraph(state, graph, DENOISE_LATENTS); + addSDXLRefinerToGraph(state, graph, SDXL_DENOISE_LATENTS); } // optionally add custom VAE @@ -370,7 +359,7 @@ export const buildCanvasSDXLImageToImageGraph = ( addDynamicPromptsToGraph(state, graph); // add controlnet, mutating `graph` - addControlNetToLinearGraph(state, graph, DENOISE_LATENTS); + addControlNetToLinearGraph(state, graph, SDXL_DENOISE_LATENTS); // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts index dbb34649cc..7b43be497c 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts @@ -13,10 +13,8 @@ import { addSDXLRefinerToGraph } from './addSDXLRefinerToGraph'; import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { - CANVAS_INPAINT_GRAPH, CANVAS_OUTPUT, COLOR_CORRECT, - INPAINT, INPAINT_IMAGE, ITERATE, LATENTS_TO_IMAGE, @@ -26,6 +24,8 @@ import { POSITIVE_CONDITIONING, RANDOM_INT, RANGE_OF_SIZE, + SDXL_CANVAS_INPAINT_GRAPH, + SDXL_DENOISE_LATENTS, SDXL_MODEL_LOADER, } from './constants'; @@ -85,7 +85,7 @@ export const buildCanvasSDXLInpaintGraph = ( : shouldUseCpuNoise; const graph: NonNullableGraph = { - id: CANVAS_INPAINT_GRAPH, + id: SDXL_CANVAS_INPAINT_GRAPH, nodes: { [SDXL_MODEL_LOADER]: { type: 'sdxl_model_loader', @@ -131,9 +131,9 @@ export const buildCanvasSDXLInpaintGraph = ( use_cpu, is_intermediate: true, }, - [INPAINT]: { + [SDXL_DENOISE_LATENTS]: { type: 'denoise_latents', - id: INPAINT, + id: SDXL_DENOISE_LATENTS, is_intermediate: true, steps: steps, cfg_scale: cfg_scale, @@ -182,7 +182,7 @@ export const buildCanvasSDXLInpaintGraph = ( field: 'unet', }, destination: { - node_id: INPAINT, + node_id: SDXL_DENOISE_LATENTS, field: 'unet', }, }, @@ -233,7 +233,7 @@ export const buildCanvasSDXLInpaintGraph = ( field: 'conditioning', }, destination: { - node_id: INPAINT, + node_id: SDXL_DENOISE_LATENTS, field: 'positive_conditioning', }, }, @@ -243,7 +243,7 @@ export const buildCanvasSDXLInpaintGraph = ( field: 'conditioning', }, destination: { - node_id: INPAINT, + node_id: SDXL_DENOISE_LATENTS, field: 'negative_conditioning', }, }, @@ -253,7 +253,7 @@ export const buildCanvasSDXLInpaintGraph = ( field: 'noise', }, destination: { - node_id: INPAINT, + node_id: SDXL_DENOISE_LATENTS, field: 'noise', }, }, @@ -263,7 +263,7 @@ export const buildCanvasSDXLInpaintGraph = ( field: 'latents', }, destination: { - node_id: INPAINT, + node_id: SDXL_DENOISE_LATENTS, field: 'latents', }, }, @@ -273,7 +273,7 @@ export const buildCanvasSDXLInpaintGraph = ( field: 'image', }, destination: { - node_id: INPAINT, + node_id: SDXL_DENOISE_LATENTS, field: 'mask', }, }, @@ -301,7 +301,7 @@ export const buildCanvasSDXLInpaintGraph = ( // Decode inpainted latents to image { source: { - node_id: INPAINT, + node_id: SDXL_DENOISE_LATENTS, field: 'latents', }, destination: { @@ -356,10 +356,10 @@ export const buildCanvasSDXLInpaintGraph = ( // Add Refiner if enabled if (shouldUseSDXLRefiner) { - addSDXLRefinerToGraph(state, graph, INPAINT); + addSDXLRefinerToGraph(state, graph, SDXL_DENOISE_LATENTS); } - // Add VAE + // optionally add custom VAE addVAEToGraph(state, graph, SDXL_MODEL_LOADER); // handle seed @@ -383,10 +383,10 @@ export const buildCanvasSDXLInpaintGraph = ( } // add LoRA support - addSDXLLoRAsToGraph(state, graph, INPAINT, SDXL_MODEL_LOADER); + addSDXLLoRAsToGraph(state, graph, SDXL_DENOISE_LATENTS, SDXL_MODEL_LOADER); // add controlnet, mutating `graph` - addControlNetToLinearGraph(state, graph, INPAINT); + addControlNetToLinearGraph(state, graph, SDXL_DENOISE_LATENTS); // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts index 2abefd910e..c75ef0f800 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts @@ -15,10 +15,8 @@ import { addSDXLRefinerToGraph } from './addSDXLRefinerToGraph'; import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { - CANVAS_OUTPAINT_GRAPH, CANVAS_OUTPUT, COLOR_CORRECT, - INPAINT, INPAINT_IMAGE, INPAINT_INFILL, ITERATE, @@ -31,6 +29,8 @@ import { POSITIVE_CONDITIONING, RANDOM_INT, RANGE_OF_SIZE, + SDXL_CANVAS_OUTPAINT_GRAPH, + SDXL_DENOISE_LATENTS, SDXL_MODEL_LOADER, } from './constants'; @@ -109,7 +109,7 @@ export const buildCanvasSDXLOutpaintGraph = ( } const graph: NonNullableGraph = { - id: CANVAS_OUTPAINT_GRAPH, + id: SDXL_CANVAS_OUTPAINT_GRAPH, nodes: { [SDXL_MODEL_LOADER]: { type: 'sdxl_model_loader', @@ -166,9 +166,9 @@ export const buildCanvasSDXLOutpaintGraph = ( use_cpu, is_intermediate: true, }, - [INPAINT]: { + [SDXL_DENOISE_LATENTS]: { type: 'denoise_latents', - id: INPAINT, + id: SDXL_DENOISE_LATENTS, is_intermediate: true, steps: steps, cfg_scale: cfg_scale, @@ -215,7 +215,7 @@ export const buildCanvasSDXLOutpaintGraph = ( field: 'unet', }, destination: { - node_id: INPAINT, + node_id: SDXL_DENOISE_LATENTS, field: 'unet', }, }, @@ -298,7 +298,7 @@ export const buildCanvasSDXLOutpaintGraph = ( field: 'conditioning', }, destination: { - node_id: INPAINT, + node_id: SDXL_DENOISE_LATENTS, field: 'positive_conditioning', }, }, @@ -308,7 +308,7 @@ export const buildCanvasSDXLOutpaintGraph = ( field: 'conditioning', }, destination: { - node_id: INPAINT, + node_id: SDXL_DENOISE_LATENTS, field: 'negative_conditioning', }, }, @@ -318,7 +318,7 @@ export const buildCanvasSDXLOutpaintGraph = ( field: 'noise', }, destination: { - node_id: INPAINT, + node_id: SDXL_DENOISE_LATENTS, field: 'noise', }, }, @@ -328,7 +328,7 @@ export const buildCanvasSDXLOutpaintGraph = ( field: 'latents', }, destination: { - node_id: INPAINT, + node_id: SDXL_DENOISE_LATENTS, field: 'latents', }, }, @@ -338,7 +338,7 @@ export const buildCanvasSDXLOutpaintGraph = ( field: 'image', }, destination: { - node_id: INPAINT, + node_id: SDXL_DENOISE_LATENTS, field: 'mask', }, }, @@ -366,7 +366,7 @@ export const buildCanvasSDXLOutpaintGraph = ( // Decode inpainted latents to image { source: { - node_id: INPAINT, + node_id: SDXL_DENOISE_LATENTS, field: 'latents', }, destination: { @@ -441,10 +441,10 @@ export const buildCanvasSDXLOutpaintGraph = ( // Add Refiner if enabled if (shouldUseSDXLRefiner) { - addSDXLRefinerToGraph(state, graph, INPAINT); + addSDXLRefinerToGraph(state, graph, SDXL_DENOISE_LATENTS); } - // Add VAE + // optionally add custom VAE addVAEToGraph(state, graph, SDXL_MODEL_LOADER); // handle seed @@ -468,10 +468,10 @@ export const buildCanvasSDXLOutpaintGraph = ( } // add LoRA support - addSDXLLoRAsToGraph(state, graph, INPAINT, SDXL_MODEL_LOADER); + addSDXLLoRAsToGraph(state, graph, SDXL_DENOISE_LATENTS, SDXL_MODEL_LOADER); // add controlnet, mutating `graph` - addControlNetToLinearGraph(state, graph, INPAINT); + addControlNetToLinearGraph(state, graph, SDXL_DENOISE_LATENTS); // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts index e4c4f52160..c75cfd205e 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts @@ -15,13 +15,13 @@ import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { CANVAS_OUTPUT, - CANVAS_TEXT_TO_IMAGE_GRAPH, - DENOISE_LATENTS, METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, NOISE, ONNX_MODEL_LOADER, POSITIVE_CONDITIONING, + SDXL_CANVAS_TEXT_TO_IMAGE_GRAPH, + SDXL_DENOISE_LATENTS, SDXL_MODEL_LOADER, } from './constants'; @@ -80,7 +80,7 @@ export const buildCanvasSDXLTextToImageGraph = ( isUsingOnnxModel ? { type: 't2l_onnx', - id: DENOISE_LATENTS, + id: SDXL_DENOISE_LATENTS, is_intermediate: true, cfg_scale, scheduler, @@ -88,7 +88,7 @@ export const buildCanvasSDXLTextToImageGraph = ( } : { type: 'denoise_latents', - id: DENOISE_LATENTS, + id: SDXL_DENOISE_LATENTS, is_intermediate: true, cfg_scale, scheduler, @@ -108,7 +108,7 @@ export const buildCanvasSDXLTextToImageGraph = ( // copy-pasted graph from node editor, filled in with state values & friendly node ids // TODO: Actually create the graph correctly for ONNX const graph: NonNullableGraph = { - id: CANVAS_TEXT_TO_IMAGE_GRAPH, + id: SDXL_CANVAS_TEXT_TO_IMAGE_GRAPH, nodes: { [modelLoaderNodeId]: { type: modelLoaderNodeType, @@ -157,7 +157,7 @@ export const buildCanvasSDXLTextToImageGraph = ( field: 'unet', }, destination: { - node_id: DENOISE_LATENTS, + node_id: SDXL_DENOISE_LATENTS, field: 'unet', }, }, @@ -208,7 +208,7 @@ export const buildCanvasSDXLTextToImageGraph = ( field: 'conditioning', }, destination: { - node_id: DENOISE_LATENTS, + node_id: SDXL_DENOISE_LATENTS, field: 'positive_conditioning', }, }, @@ -218,7 +218,7 @@ export const buildCanvasSDXLTextToImageGraph = ( field: 'conditioning', }, destination: { - node_id: DENOISE_LATENTS, + node_id: SDXL_DENOISE_LATENTS, field: 'negative_conditioning', }, }, @@ -228,14 +228,14 @@ export const buildCanvasSDXLTextToImageGraph = ( field: 'noise', }, destination: { - node_id: DENOISE_LATENTS, + node_id: SDXL_DENOISE_LATENTS, field: 'noise', }, }, // Decode Denoised Latents To Image { source: { - node_id: DENOISE_LATENTS, + node_id: SDXL_DENOISE_LATENTS, field: 'latents', }, destination: { @@ -280,11 +280,11 @@ export const buildCanvasSDXLTextToImageGraph = ( // Add Refiner if enabled if (shouldUseSDXLRefiner) { - addSDXLRefinerToGraph(state, graph, DENOISE_LATENTS); + addSDXLRefinerToGraph(state, graph, SDXL_DENOISE_LATENTS); } // add LoRA support - addSDXLLoRAsToGraph(state, graph, DENOISE_LATENTS, modelLoaderNodeId); + addSDXLLoRAsToGraph(state, graph, SDXL_DENOISE_LATENTS, modelLoaderNodeId); // optionally add custom VAE addVAEToGraph(state, graph, modelLoaderNodeId); @@ -293,7 +293,7 @@ export const buildCanvasSDXLTextToImageGraph = ( addDynamicPromptsToGraph(state, graph); // add controlnet, mutating `graph` - addControlNetToLinearGraph(state, graph, DENOISE_LATENTS); + addControlNetToLinearGraph(state, graph, SDXL_DENOISE_LATENTS); // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts index 901ca8c09f..a2a5055394 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts @@ -10,9 +10,9 @@ import { addDynamicPromptsToGraph } from './addDynamicPromptsToGraph'; import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; import { addSDXLLoRAsToGraph } from './addSDXLLoRAstoGraph'; import { addSDXLRefinerToGraph } from './addSDXLRefinerToGraph'; +import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { - DENOISE_LATENTS, IMAGE_TO_LATENTS, LATENTS_TO_IMAGE, METADATA_ACCUMULATOR, @@ -20,6 +20,7 @@ import { NOISE, POSITIVE_CONDITIONING, RESIZE, + SDXL_DENOISE_LATENTS, SDXL_IMAGE_TO_IMAGE_GRAPH, SDXL_MODEL_LOADER, } from './constants'; @@ -115,9 +116,9 @@ export const buildLinearSDXLImageToImageGraph = ( id: LATENTS_TO_IMAGE, fp32: vaePrecision === 'fp32' ? true : false, }, - [DENOISE_LATENTS]: { + [SDXL_DENOISE_LATENTS]: { type: 'denoise_latents', - id: DENOISE_LATENTS, + id: SDXL_DENOISE_LATENTS, cfg_scale, scheduler, steps, @@ -144,30 +145,10 @@ export const buildLinearSDXLImageToImageGraph = ( field: 'unet', }, destination: { - node_id: DENOISE_LATENTS, + node_id: SDXL_DENOISE_LATENTS, field: 'unet', }, }, - { - source: { - node_id: SDXL_MODEL_LOADER, - field: 'vae', - }, - destination: { - node_id: LATENTS_TO_IMAGE, - field: 'vae', - }, - }, - { - source: { - node_id: SDXL_MODEL_LOADER, - field: 'vae', - }, - destination: { - node_id: IMAGE_TO_LATENTS, - field: 'vae', - }, - }, { source: { node_id: SDXL_MODEL_LOADER, @@ -215,7 +196,7 @@ export const buildLinearSDXLImageToImageGraph = ( field: 'conditioning', }, destination: { - node_id: DENOISE_LATENTS, + node_id: SDXL_DENOISE_LATENTS, field: 'positive_conditioning', }, }, @@ -225,7 +206,7 @@ export const buildLinearSDXLImageToImageGraph = ( field: 'conditioning', }, destination: { - node_id: DENOISE_LATENTS, + node_id: SDXL_DENOISE_LATENTS, field: 'negative_conditioning', }, }, @@ -235,7 +216,7 @@ export const buildLinearSDXLImageToImageGraph = ( field: 'noise', }, destination: { - node_id: DENOISE_LATENTS, + node_id: SDXL_DENOISE_LATENTS, field: 'noise', }, }, @@ -245,14 +226,14 @@ export const buildLinearSDXLImageToImageGraph = ( field: 'latents', }, destination: { - node_id: DENOISE_LATENTS, + node_id: SDXL_DENOISE_LATENTS, field: 'latents', }, }, // Decode Denoised Latents To Image { source: { - node_id: DENOISE_LATENTS, + node_id: SDXL_DENOISE_LATENTS, field: 'latents', }, destination: { @@ -368,13 +349,16 @@ export const buildLinearSDXLImageToImageGraph = ( }, }); - addSDXLLoRAsToGraph(state, graph, DENOISE_LATENTS, SDXL_MODEL_LOADER); + addSDXLLoRAsToGraph(state, graph, SDXL_DENOISE_LATENTS, SDXL_MODEL_LOADER); // Add Refiner if enabled if (shouldUseSDXLRefiner) { - addSDXLRefinerToGraph(state, graph, DENOISE_LATENTS); + addSDXLRefinerToGraph(state, graph, SDXL_DENOISE_LATENTS); } + // optionally add custom VAE + addVAEToGraph(state, graph, SDXL_MODEL_LOADER); + // add dynamic prompts - also sets up core iteration and seed addDynamicPromptsToGraph(state, graph); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts index ac859597b3..84d27a673d 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts @@ -6,14 +6,15 @@ import { addDynamicPromptsToGraph } from './addDynamicPromptsToGraph'; import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; import { addSDXLLoRAsToGraph } from './addSDXLLoRAstoGraph'; import { addSDXLRefinerToGraph } from './addSDXLRefinerToGraph'; +import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; import { - DENOISE_LATENTS, LATENTS_TO_IMAGE, METADATA_ACCUMULATOR, NEGATIVE_CONDITIONING, NOISE, POSITIVE_CONDITIONING, + SDXL_DENOISE_LATENTS, SDXL_MODEL_LOADER, SDXL_TEXT_TO_IMAGE_GRAPH, } from './constants'; @@ -95,9 +96,9 @@ export const buildLinearSDXLTextToImageGraph = ( height, use_cpu, }, - [DENOISE_LATENTS]: { + [SDXL_DENOISE_LATENTS]: { type: 'denoise_latents', - id: DENOISE_LATENTS, + id: SDXL_DENOISE_LATENTS, cfg_scale, scheduler, steps, @@ -118,20 +119,10 @@ export const buildLinearSDXLTextToImageGraph = ( field: 'unet', }, destination: { - node_id: DENOISE_LATENTS, + node_id: SDXL_DENOISE_LATENTS, field: 'unet', }, }, - { - source: { - node_id: SDXL_MODEL_LOADER, - field: 'vae', - }, - destination: { - node_id: LATENTS_TO_IMAGE, - field: 'vae', - }, - }, { source: { node_id: SDXL_MODEL_LOADER, @@ -179,7 +170,7 @@ export const buildLinearSDXLTextToImageGraph = ( field: 'conditioning', }, destination: { - node_id: DENOISE_LATENTS, + node_id: SDXL_DENOISE_LATENTS, field: 'positive_conditioning', }, }, @@ -189,7 +180,7 @@ export const buildLinearSDXLTextToImageGraph = ( field: 'conditioning', }, destination: { - node_id: DENOISE_LATENTS, + node_id: SDXL_DENOISE_LATENTS, field: 'negative_conditioning', }, }, @@ -199,14 +190,14 @@ export const buildLinearSDXLTextToImageGraph = ( field: 'noise', }, destination: { - node_id: DENOISE_LATENTS, + node_id: SDXL_DENOISE_LATENTS, field: 'noise', }, }, // Decode Denoised Latents To Image { source: { - node_id: DENOISE_LATENTS, + node_id: SDXL_DENOISE_LATENTS, field: 'latents', }, destination: { @@ -251,13 +242,17 @@ export const buildLinearSDXLTextToImageGraph = ( }, }); - addSDXLLoRAsToGraph(state, graph, DENOISE_LATENTS, SDXL_MODEL_LOADER); - // Add Refiner if enabled if (shouldUseSDXLRefiner) { - addSDXLRefinerToGraph(state, graph, DENOISE_LATENTS); + addSDXLRefinerToGraph(state, graph, SDXL_DENOISE_LATENTS); } + // optionally add custom VAE + addVAEToGraph(state, graph, SDXL_MODEL_LOADER); + + // add LoRA support + addSDXLLoRAsToGraph(state, graph, SDXL_DENOISE_LATENTS, SDXL_MODEL_LOADER); + // add dynamic prompts - also sets up core iteration and seed addDynamicPromptsToGraph(state, graph); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts index af7b88d023..f1654383dd 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts @@ -38,14 +38,13 @@ export const REALESRGAN = 'esrgan'; export const DIVIDE = 'divide'; export const SCALE = 'scale_image'; export const SDXL_MODEL_LOADER = 'sdxl_model_loader'; -export const SDXL_TEXT_TO_LATENTS = 't2l_sdxl'; -export const SDXL_LATENTS_TO_LATENTS = 'l2l_sdxl'; +export const SDXL_DENOISE_LATENTS = 'sdxl_denoise_latents'; export const SDXL_REFINER_MODEL_LOADER = 'sdxl_refiner_model_loader'; export const SDXL_REFINER_POSITIVE_CONDITIONING = 'sdxl_refiner_positive_conditioning'; export const SDXL_REFINER_NEGATIVE_CONDITIONING = 'sdxl_refiner_negative_conditioning'; -export const SDXL_REFINER_LATENTS_TO_LATENTS = 'l2l_sdxl_refiner'; +export const SDXL_REFINER_DENOISE_LATENTS = 'sdxl_refiner_denoise_latents'; // friendly graph ids export const TEXT_TO_IMAGE_GRAPH = 'text_to_image_graph'; @@ -56,3 +55,9 @@ export const CANVAS_INPAINT_GRAPH = 'canvas_inpaint_graph'; export const CANVAS_OUTPAINT_GRAPH = 'canvas_outpaint_graph'; export const SDXL_TEXT_TO_IMAGE_GRAPH = 'sdxl_text_to_image_graph'; export const SDXL_IMAGE_TO_IMAGE_GRAPH = 'sxdl_image_to_image_graph'; +export const SDXL_CANVAS_TEXT_TO_IMAGE_GRAPH = + 'sdxl_canvas_text_to_image_graph'; +export const SDXL_CANVAS_IMAGE_TO_IMAGE_GRAPH = + 'sdxl_canvas_image_to_image_graph'; +export const SDXL_CANVAS_INPAINT_GRAPH = 'sdxl_canvas_inpaint_graph'; +export const SDXL_CANVAS_OUTPAINT_GRAPH = 'sdxl_canvas_outpaint_graph'; From c33acf951ee87d5495291e376c4261d41a9ffb72 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sun, 13 Aug 2023 03:53:40 +1200 Subject: [PATCH 182/287] feat: Make Refiner work with Canvas --- .../graphBuilders/addSDXLRefinerToGraph.ts | 74 +++++++++++-------- 1 file changed, 43 insertions(+), 31 deletions(-) diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts index ca0d574d61..65664c9f2d 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts @@ -2,10 +2,14 @@ import { RootState } from 'app/store/store'; import { MetadataAccumulatorInvocation } from 'services/api/types'; import { NonNullableGraph } from '../../types/types'; import { - IMAGE_TO_LATENTS, + CANVAS_OUTPUT, LATENTS_TO_IMAGE, + MASK_BLUR, METADATA_ACCUMULATOR, - SDXL_DENOISE_LATENTS, + SDXL_CANVAS_IMAGE_TO_IMAGE_GRAPH, + SDXL_CANVAS_INPAINT_GRAPH, + SDXL_CANVAS_OUTPAINT_GRAPH, + SDXL_CANVAS_TEXT_TO_IMAGE_GRAPH, SDXL_MODEL_LOADER, SDXL_REFINER_DENOISE_LATENTS, SDXL_REFINER_MODEL_LOADER, @@ -59,21 +63,6 @@ export const addSDXLRefinerToGraph = ( ) ); - // connect the VAE back to the i2l, which we just removed in the filter - // but only if we are doing l2l - if (baseNodeId === SDXL_DENOISE_LATENTS) { - graph.edges.push({ - source: { - node_id: SDXL_MODEL_LOADER, - field: 'vae', - }, - destination: { - node_id: IMAGE_TO_LATENTS, - field: 'vae', - }, - }); - } - graph.nodes[SDXL_REFINER_MODEL_LOADER] = { type: 'sdxl_refiner_model_loader', id: SDXL_REFINER_MODEL_LOADER, @@ -112,16 +101,6 @@ export const addSDXLRefinerToGraph = ( field: 'unet', }, }, - { - source: { - node_id: SDXL_REFINER_MODEL_LOADER, - field: 'vae', - }, - destination: { - node_id: LATENTS_TO_IMAGE, - field: 'vae', - }, - }, { source: { node_id: SDXL_REFINER_MODEL_LOADER, @@ -171,8 +150,25 @@ export const addSDXLRefinerToGraph = ( node_id: SDXL_REFINER_DENOISE_LATENTS, field: 'latents', }, - }, - { + } + ); + + if ( + graph.id === SDXL_CANVAS_TEXT_TO_IMAGE_GRAPH || + graph.id === SDXL_CANVAS_IMAGE_TO_IMAGE_GRAPH + ) { + graph.edges.push({ + source: { + node_id: SDXL_REFINER_DENOISE_LATENTS, + field: 'latents', + }, + destination: { + node_id: CANVAS_OUTPUT, + field: 'latents', + }, + }); + } else { + graph.edges.push({ source: { node_id: SDXL_REFINER_DENOISE_LATENTS, field: 'latents', @@ -181,6 +177,22 @@ export const addSDXLRefinerToGraph = ( node_id: LATENTS_TO_IMAGE, field: 'latents', }, - } - ); + }); + } + + if ( + graph.id === SDXL_CANVAS_INPAINT_GRAPH || + graph.id === SDXL_CANVAS_OUTPAINT_GRAPH + ) { + graph.edges.push({ + source: { + node_id: MASK_BLUR, + field: 'image', + }, + destination: { + node_id: SDXL_REFINER_DENOISE_LATENTS, + field: 'mask', + }, + }); + } }; From 28208e6f491adc02437d24e148bf430b4f185394 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sun, 13 Aug 2023 04:09:51 +1200 Subject: [PATCH 183/287] fix: Fix VAE Precision not working for SDXL Canvas Modes --- .../util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts | 2 ++ .../nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts | 2 ++ 2 files changed, 4 insertions(+) diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts index 8e96b43fea..0342d3e65c 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts @@ -42,6 +42,7 @@ export const buildCanvasSDXLImageToImageGraph = ( cfgScale: cfg_scale, scheduler, steps, + vaePrecision, clipSkip, shouldUseCpuNoise, shouldUseNoiseSettings, @@ -135,6 +136,7 @@ export const buildCanvasSDXLImageToImageGraph = ( type: 'l2i', id: CANVAS_OUTPUT, is_intermediate: !shouldAutoSave, + fp32: vaePrecision === 'fp32' ? true : false, }, }, edges: [ diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts index c75cfd205e..da27ace3b0 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts @@ -39,6 +39,7 @@ export const buildCanvasSDXLTextToImageGraph = ( cfgScale: cfg_scale, scheduler, steps, + vaePrecision, clipSkip, shouldUseCpuNoise, shouldUseNoiseSettings, @@ -147,6 +148,7 @@ export const buildCanvasSDXLTextToImageGraph = ( type: isUsingOnnxModel ? 'l2i_onnx' : 'l2i', id: CANVAS_OUTPUT, is_intermediate: !shouldAutoSave, + fp32: vaePrecision === 'fp32' ? true : false, }, }, edges: [ From 29f1c6dc82e508e9a56fc957e52d344148cc9c75 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sun, 13 Aug 2023 04:23:52 +1200 Subject: [PATCH 184/287] fix: Image To Image FP32 Fix for Canvas SDXL --- .../nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts index 0342d3e65c..dac605580d 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts @@ -115,6 +115,7 @@ export const buildCanvasSDXLImageToImageGraph = ( type: 'i2l', id: IMAGE_TO_LATENTS, is_intermediate: true, + fp32: vaePrecision === 'fp32' ? true : false, // must be set manually later, bc `fit` parameter may require a resize node inserted // image: { // image_name: initialImage.image_name, From fcf7f4ac77f7bc3760f28c32855f5187880535e0 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sun, 13 Aug 2023 04:27:38 +1200 Subject: [PATCH 185/287] feat: Add SDXL ControlNet To Linear UI --- .../util/graphBuilders/buildLinearSDXLImageToImageGraph.ts | 4 ++++ .../util/graphBuilders/buildLinearSDXLTextToImageGraph.ts | 4 ++++ .../sdxl/components/SDXLImageToImageTabParameters.tsx | 4 +++- .../features/sdxl/components/SDXLTextToImageTabParameters.tsx | 4 +++- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts index a2a5055394..0d30fe1c63 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts @@ -6,6 +6,7 @@ import { ImageResizeInvocation, ImageToLatentsInvocation, } from 'services/api/types'; +import { addControlNetToLinearGraph } from './addControlNetToLinearGraph'; import { addDynamicPromptsToGraph } from './addDynamicPromptsToGraph'; import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; import { addSDXLLoRAsToGraph } from './addSDXLLoRAstoGraph'; @@ -359,6 +360,9 @@ export const buildLinearSDXLImageToImageGraph = ( // optionally add custom VAE addVAEToGraph(state, graph, SDXL_MODEL_LOADER); + // add controlnet, mutating `graph` + addControlNetToLinearGraph(state, graph, SDXL_DENOISE_LATENTS); + // add dynamic prompts - also sets up core iteration and seed addDynamicPromptsToGraph(state, graph); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts index 84d27a673d..595b6f47cd 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts @@ -2,6 +2,7 @@ import { logger } from 'app/logging/logger'; import { RootState } from 'app/store/store'; import { NonNullableGraph } from 'features/nodes/types/types'; import { initialGenerationState } from 'features/parameters/store/generationSlice'; +import { addControlNetToLinearGraph } from './addControlNetToLinearGraph'; import { addDynamicPromptsToGraph } from './addDynamicPromptsToGraph'; import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; import { addSDXLLoRAsToGraph } from './addSDXLLoRAstoGraph'; @@ -253,6 +254,9 @@ export const buildLinearSDXLTextToImageGraph = ( // add LoRA support addSDXLLoRAsToGraph(state, graph, SDXL_DENOISE_LATENTS, SDXL_MODEL_LOADER); + // add controlnet, mutating `graph` + addControlNetToLinearGraph(state, graph, SDXL_DENOISE_LATENTS); + // add dynamic prompts - also sets up core iteration and seed addDynamicPromptsToGraph(state, graph); diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLImageToImageTabParameters.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLImageToImageTabParameters.tsx index edc92a56c8..a6ee21ab68 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/SDXLImageToImageTabParameters.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLImageToImageTabParameters.tsx @@ -1,10 +1,11 @@ import ParamDynamicPromptsCollapse from 'features/dynamicPrompts/components/ParamDynamicPromptsCollapse'; +import ParamLoraCollapse from 'features/lora/components/ParamLoraCollapse'; +import ParamControlNetCollapse from 'features/parameters/components/Parameters/ControlNet/ParamControlNetCollapse'; import ParamNoiseCollapse from 'features/parameters/components/Parameters/Noise/ParamNoiseCollapse'; import ProcessButtons from 'features/parameters/components/ProcessButtons/ProcessButtons'; import ParamSDXLPromptArea from './ParamSDXLPromptArea'; import ParamSDXLRefinerCollapse from './ParamSDXLRefinerCollapse'; import SDXLImageToImageTabCoreParameters from './SDXLImageToImageTabCoreParameters'; -import ParamLoraCollapse from 'features/lora/components/ParamLoraCollapse'; const SDXLImageToImageTabParameters = () => { return ( @@ -13,6 +14,7 @@ const SDXLImageToImageTabParameters = () => { + diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLTextToImageTabParameters.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLTextToImageTabParameters.tsx index 325fd7d881..c562951c4d 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/SDXLTextToImageTabParameters.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLTextToImageTabParameters.tsx @@ -1,10 +1,11 @@ import ParamDynamicPromptsCollapse from 'features/dynamicPrompts/components/ParamDynamicPromptsCollapse'; +import ParamLoraCollapse from 'features/lora/components/ParamLoraCollapse'; +import ParamControlNetCollapse from 'features/parameters/components/Parameters/ControlNet/ParamControlNetCollapse'; import ParamNoiseCollapse from 'features/parameters/components/Parameters/Noise/ParamNoiseCollapse'; import ProcessButtons from 'features/parameters/components/ProcessButtons/ProcessButtons'; import TextToImageTabCoreParameters from 'features/ui/components/tabs/TextToImage/TextToImageTabCoreParameters'; import ParamSDXLPromptArea from './ParamSDXLPromptArea'; import ParamSDXLRefinerCollapse from './ParamSDXLRefinerCollapse'; -import ParamLoraCollapse from 'features/lora/components/ParamLoraCollapse'; const SDXLTextToImageTabParameters = () => { return ( @@ -13,6 +14,7 @@ const SDXLTextToImageTabParameters = () => { + From c8864e475bb9ade26a7c0f0bc5ef96cb3d2ead2f Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sun, 13 Aug 2023 04:34:15 +1200 Subject: [PATCH 186/287] fix: SDXL Lora's not working on Canvas Image To Image --- .../util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts index dac605580d..a45ffe7df5 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts @@ -9,8 +9,8 @@ import { } from 'services/api/types'; import { addControlNetToLinearGraph } from './addControlNetToLinearGraph'; import { addDynamicPromptsToGraph } from './addDynamicPromptsToGraph'; -import { addLoRAsToGraph } from './addLoRAsToGraph'; import { addNSFWCheckerToGraph } from './addNSFWCheckerToGraph'; +import { addSDXLLoRAsToGraph } from './addSDXLLoRAstoGraph'; import { addSDXLRefinerToGraph } from './addSDXLRefinerToGraph'; import { addVAEToGraph } from './addVAEToGraph'; import { addWatermarkerToGraph } from './addWatermarkerToGraph'; @@ -348,7 +348,7 @@ export const buildCanvasSDXLImageToImageGraph = ( }); // add LoRA support - addLoRAsToGraph(state, graph, SDXL_DENOISE_LATENTS); + addSDXLLoRAsToGraph(state, graph, SDXL_DENOISE_LATENTS, SDXL_MODEL_LOADER); // Add Refiner if enabled if (shouldUseSDXLRefiner) { From 50177b8ed9942041b973d5e0c149804510fba284 Mon Sep 17 00:00:00 2001 From: Millun Atluri Date: Sun, 13 Aug 2023 08:59:33 +1000 Subject: [PATCH 187/287] Update frontend JS files --- .../{App-fd54b7b9.js => App-0a099278.js} | 2 +- ...716.js => ThemeLocaleProvider-1a474d08.js} | 2 +- .../{index-815faab3.js => index-deaa1f26.js} | 42 +++++++++---------- .../{menu-e9f8a36e.js => menu-b4489359.js} | 2 +- invokeai/frontend/web/dist/index.html | 2 +- 5 files changed, 25 insertions(+), 25 deletions(-) rename invokeai/frontend/web/dist/assets/{App-fd54b7b9.js => App-0a099278.js} (99%) rename invokeai/frontend/web/dist/assets/{ThemeLocaleProvider-139ac716.js => ThemeLocaleProvider-1a474d08.js} (99%) rename invokeai/frontend/web/dist/assets/{index-815faab3.js => index-deaa1f26.js} (76%) rename invokeai/frontend/web/dist/assets/{menu-e9f8a36e.js => menu-b4489359.js} (99%) diff --git a/invokeai/frontend/web/dist/assets/App-fd54b7b9.js b/invokeai/frontend/web/dist/assets/App-0a099278.js similarity index 99% rename from invokeai/frontend/web/dist/assets/App-fd54b7b9.js rename to invokeai/frontend/web/dist/assets/App-0a099278.js index 592be24a90..6ce732787f 100644 --- a/invokeai/frontend/web/dist/assets/App-fd54b7b9.js +++ b/invokeai/frontend/web/dist/assets/App-0a099278.js @@ -1,4 +1,4 @@ -import{t as Cv,r as dR,i as kv,a as Tc,b as P_,S as j_,c as I_,d as E_,e as _v,f as O_,g as Pv,h as fR,j as pR,k as hR,l as mR,m as R_,n as gR,o as vR,p as bR,q as M_,s as yR,u as xR,v as wR,w as SR,x as CR,y as kR,z as _R,A as f,B as i,C as cm,D as Lp,E as PR,F as D_,G as A_,H as jR,P as vd,I as X1,J as IR,K as ER,L as OR,M as RR,N as MR,O as DR,Q as AR,R as V2,T as TR,U as Ae,V as je,W as Ct,X as et,Y as bd,Z as mo,_ as Er,$ as Fr,a0 as qn,a1 as hl,a2 as ia,a3 as Ft,a4 as rs,a5 as nc,a6 as za,a7 as um,a8 as Y1,a9 as yd,aa as sr,ab as NR,ac as H,ad as U2,ae as $R,af as jv,ag as Nc,ah as LR,ai as T_,aj as N_,ak as $c,al as zR,am as be,an as Je,ao as Zt,ap as B,aq as BR,ar as G2,as as FR,at as HR,au as q2,av as te,aw as WR,ax as On,ay as Mn,az as Re,aA as W,aB as Ys,aC as lt,aD as Kn,aE as $_,aF as VR,aG as UR,aH as GR,aI as qR,aJ as _i,aK as Q1,aL as Ds,aM as jo,aN as dm,aO as KR,aP as XR,aQ as K2,aR as J1,aS as wa,aT as YR,aU as L_,aV as z_,aW as X2,aX as QR,aY as JR,aZ as B_,a_ as F_,a$ as Z1,b0 as ZR,b1 as e7,b2 as t7,b3 as Al,b4 as n7,b5 as r7,b6 as o7,b7 as s7,b8 as Y2,b9 as fi,ba as eb,bb as zp,bc as fm,bd as H_,be as W_,bf as Is,bg as V_,bh as a7,bi as Lc,bj as U_,bk as G_,bl as Es,bm as Iu,bn as Bp,bo as i7,bp as l7,bq as c7,br as u7,bs as Lf,bt as zf,bu as pu,bv as v0,bw as Lu,bx as zu,by as Bu,bz as Fu,bA as Q2,bB as Fp,bC as b0,bD as Hp,bE as J2,bF as Iv,bG as y0,bH as Ev,bI as x0,bJ as Wp,bK as Z2,bL as vc,bM as ew,bN as bc,bO as tw,bP as Vp,bQ as tb,bR as d7,bS as q_,bT as Ov,bU as Rv,bV as K_,bW as f7,bX as Mv,bY as p7,bZ as Dv,b_ as nb,b$ as rb,c0 as pm,c1 as h7,c2 as hm,c3 as Yl,c4 as X_,c5 as m7,c6 as jp,c7 as ob,c8 as Y_,c9 as g7,ca as hu,cb as Q_,cc as J_,cd as nw,ce as Ba,cf as v7,cg as Av,ch as b7,ci as y7,cj as x7,ck as w7,cl as sb,cm as ab,cn as S7,co as Bn,cp as rw,cq as Z_,cr as C7,cs as k7,ct as _7,cu as P7,cv as j7,cw as I7,cx as E7,cy as O7,cz as R7,cA as e5,cB as M7,cC as D7,cD as A7,cE as T7,cF as N7,cG as $7,cH as L7,cI as z7,cJ as B7,cK as F7,cL as ow,cM as H7,cN as sw,cO as W7,cP as V7,cQ as U7,cR as G7,cS as Qu,cT as oo,cU as xd,cV as wd,cW as q7,cX as Qn,cY as K7,cZ as na,c_ as ib,c$ as Sd,d0 as X7,d1 as Y7,d2 as Q7,d3 as aw,d4 as J7,d5 as Up,d6 as Z7,d7 as t5,d8 as iw,d9 as eM,da as tM,db as ws,dc as nM,dd as rM,de as n5,df as r5,dg as oM,dh as lw,di as sM,dj as aM,dk as iM,dl as mm,dm as lM,dn as o5,dp as cM,dq as uM,dr as s5,ds as dM,dt as fM,du as cw,dv as pM,dw as uw,dx as hM,dy as dw,dz as Bf,dA as mM,dB as lb,dC as a5,dD as gM,dE as vM,dF as bM,dG as ls,dH as yM,dI as xM,dJ as wM,dK as SM,dL as CM,dM as kM,dN as _M,dO as PM,dP as jM,dQ as IM,dR as EM,dS as OM,dT as RM,dU as MM,dV as DM,dW as fw,dX as pw,dY as AM,dZ as i5,d_ as l5,d$ as Cd,e0 as c5,e1 as Gi,e2 as u5,e3 as hw,e4 as TM,e5 as NM,e6 as d5,e7 as $M,e8 as LM,e9 as zM,ea as BM,eb as FM,ec as cb,ed as mw,ee as f5,ef as HM,eg as gw,eh as p5,ei as As,ej as WM,ek as h5,el as vw,em as VM,en as UM,eo as GM,ep as qM,eq as KM,er as XM,es as YM,et as QM,eu as JM,ev as ZM,ew as eD,ex as tD,ey as nD,ez as rD,eA as oD,eB as sD,eC as aD,eD as iD,eE as lD,eF as cD,eG as bw,eH as Ip,eI as uD,eJ as Gp,eK as m5,eL as Ju,eM as dD,eN as fD,eO as ea,eP as g5,eQ as ub,eR as kd,eS as pD,eT as hD,eU as mD,eV as Oa,eW as v5,eX as gD,eY as vD,eZ as b5,e_ as bD,e$ as yD,f0 as xD,f1 as wD,f2 as SD,f3 as CD,f4 as kD,f5 as _D,f6 as PD,f7 as jD,f8 as yw,f9 as ID,fa as ED,fb as OD,fc as RD,fd as MD,fe as DD,ff as AD,fg as TD,fh as w0,fi as Js,fj as S0,fk as C0,fl as Ff,fm as xw,fn as Tv,fo as ND,fp as $D,fq as LD,fr as zD,fs as qp,ft as y5,fu as x5,fv as BD,fw as FD,fx as w5,fy as S5,fz as C5,fA as k5,fB as _5,fC as P5,fD as j5,fE as I5,fF as rc,fG as oc,fH as E5,fI as O5,fJ as HD,fK as R5,fL as M5,fM as D5,fN as A5,fO as T5,fP as N5,fQ as db,fR as WD,fS as ww,fT as VD,fU as UD,fV as Kp,fW as Sw,fX as Cw,fY as kw,fZ as _w,f_ as GD,f$ as qD,g0 as KD,g1 as XD,g2 as YD,g3 as QD,g4 as JD,g5 as ZD,g6 as e9}from"./index-815faab3.js";import{u as t9,c as n9,a as Dn,b as or,I as fo,d as Fa,P as Zu,C as r9,e as ye,f as $5,g as Ha,h as o9,r as Ue,i as s9,j as Pw,k as Vt,l as Cr,m as ed}from"./menu-e9f8a36e.js";var jw=1/0,a9=17976931348623157e292;function k0(e){if(!e)return e===0?e:0;if(e=Cv(e),e===jw||e===-jw){var t=e<0?-1:1;return t*a9}return e===e?e:0}var i9=function(){return dR.Date.now()};const _0=i9;var l9="Expected a function",c9=Math.max,u9=Math.min;function d9(e,t,n){var r,o,s,a,c,d,p=0,h=!1,m=!1,v=!0;if(typeof e!="function")throw new TypeError(l9);t=Cv(t)||0,kv(n)&&(h=!!n.leading,m="maxWait"in n,s=m?c9(Cv(n.maxWait)||0,t):s,v="trailing"in n?!!n.trailing:v);function b(O){var R=r,M=o;return r=o=void 0,p=O,a=e.apply(M,R),a}function w(O){return p=O,c=setTimeout(k,t),h?b(O):a}function y(O){var R=O-d,M=O-p,D=t-R;return m?u9(D,s-M):D}function S(O){var R=O-d,M=O-p;return d===void 0||R>=t||R<0||m&&M>=s}function k(){var O=_0();if(S(O))return _(O);c=setTimeout(k,y(O))}function _(O){return c=void 0,v&&r?b(O):(r=o=void 0,a)}function P(){c!==void 0&&clearTimeout(c),p=0,r=d=o=c=void 0}function I(){return c===void 0?a:_(_0())}function E(){var O=_0(),R=S(O);if(r=arguments,o=this,d=O,R){if(c===void 0)return w(d);if(m)return clearTimeout(c),c=setTimeout(k,t),b(d)}return c===void 0&&(c=setTimeout(k,t)),a}return E.cancel=P,E.flush=I,E}var f9=200;function p9(e,t,n,r){var o=-1,s=I_,a=!0,c=e.length,d=[],p=t.length;if(!c)return d;n&&(t=Tc(t,P_(n))),r?(s=E_,a=!1):t.length>=f9&&(s=_v,a=!1,t=new j_(t));e:for(;++o=120&&h.length>=120)?new j_(a&&h):void 0}h=e[0];var m=-1,v=c[0];e:for(;++m{r.has(s)&&n(o,s)})}function D9(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}const L5=({id:e,x:t,y:n,width:r,height:o,style:s,color:a,strokeColor:c,strokeWidth:d,className:p,borderRadius:h,shapeRendering:m,onClick:v})=>{const{background:b,backgroundColor:w}=s||{},y=a||b||w;return i.jsx("rect",{className:cm(["react-flow__minimap-node",p]),x:t,y:n,rx:h,ry:h,width:r,height:o,fill:y,stroke:c,strokeWidth:d,shapeRendering:m,onClick:v?S=>v(S,e):void 0})};L5.displayName="MiniMapNode";var A9=f.memo(L5);const T9=e=>e.nodeOrigin,N9=e=>e.getNodes().filter(t=>!t.hidden&&t.width&&t.height),P0=e=>e instanceof Function?e:()=>e;function $9({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o=2,nodeComponent:s=A9,onClick:a}){const c=Lp(N9,X1),d=Lp(T9),p=P0(t),h=P0(e),m=P0(n),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return i.jsx(i.Fragment,{children:c.map(b=>{const{x:w,y}=PR(b,d).positionAbsolute;return i.jsx(s,{x:w,y,width:b.width,height:b.height,style:b.style,className:m(b),color:p(b),borderRadius:r,strokeColor:h(b),strokeWidth:o,shapeRendering:v,onClick:a,id:b.id},b.id)})})}var L9=f.memo($9);const z9=200,B9=150,F9=e=>{const t=e.getNodes(),n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:t.length>0?OR(RR(t,e.nodeOrigin),n):n,rfId:e.rfId}},H9="react-flow__minimap-desc";function z5({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:a=2,nodeComponent:c,maskColor:d="rgb(240, 240, 240, 0.6)",maskStrokeColor:p="none",maskStrokeWidth:h=1,position:m="bottom-right",onClick:v,onNodeClick:b,pannable:w=!1,zoomable:y=!1,ariaLabel:S="React Flow mini map",inversePan:k=!1,zoomStep:_=10}){const P=D_(),I=f.useRef(null),{boundingRect:E,viewBB:O,rfId:R}=Lp(F9,X1),M=(e==null?void 0:e.width)??z9,D=(e==null?void 0:e.height)??B9,A=E.width/M,L=E.height/D,Q=Math.max(A,L),F=Q*M,V=Q*D,q=5*Q,G=E.x-(F-E.width)/2-q,T=E.y-(V-E.height)/2-q,z=F+q*2,$=V+q*2,Y=`${H9}-${R}`,ae=f.useRef(0);ae.current=Q,f.useEffect(()=>{if(I.current){const X=A_(I.current),K=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le}=P.getState();if(re.sourceEvent.type!=="wheel"||!pe||!le)return;const ge=-re.sourceEvent.deltaY*(re.sourceEvent.deltaMode===1?.05:re.sourceEvent.deltaMode?1:.002)*_,ke=oe[2]*Math.pow(2,ge);le.scaleTo(pe,ke)},U=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le,translateExtent:ge,width:ke,height:xe}=P.getState();if(re.sourceEvent.type!=="mousemove"||!pe||!le)return;const de=ae.current*Math.max(1,oe[2])*(k?-1:1),Te={x:oe[0]-re.sourceEvent.movementX*de,y:oe[1]-re.sourceEvent.movementY*de},Ee=[[0,0],[ke,xe]],$e=IR.translate(Te.x,Te.y).scale(oe[2]),kt=le.constrain()($e,Ee,ge);le.transform(pe,kt)},se=jR().on("zoom",w?U:null).on("zoom.wheel",y?K:null);return X.call(se),()=>{X.on("zoom",null)}}},[w,y,k,_]);const fe=v?X=>{const K=ER(X);v(X,{x:K[0],y:K[1]})}:void 0,ie=b?(X,K)=>{const U=P.getState().nodeInternals.get(K);b(X,U)}:void 0;return i.jsx(vd,{position:m,style:e,className:cm(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:i.jsxs("svg",{width:M,height:D,viewBox:`${G} ${T} ${z} ${$}`,role:"img","aria-labelledby":Y,ref:I,onClick:fe,children:[S&&i.jsx("title",{id:Y,children:S}),i.jsx(L9,{onClick:ie,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:a,nodeComponent:c}),i.jsx("path",{className:"react-flow__minimap-mask",d:`M${G-q},${T-q}h${z+q*2}v${$+q*2}h${-z-q*2}z +import{t as Cv,r as dR,i as kv,a as Tc,b as P_,S as j_,c as I_,d as E_,e as _v,f as O_,g as Pv,h as fR,j as pR,k as hR,l as mR,m as R_,n as gR,o as vR,p as bR,q as M_,s as yR,u as xR,v as wR,w as SR,x as CR,y as kR,z as _R,A as f,B as i,C as cm,D as Lp,E as PR,F as D_,G as A_,H as jR,P as vd,I as X1,J as IR,K as ER,L as OR,M as RR,N as MR,O as DR,Q as AR,R as V2,T as TR,U as Ae,V as je,W as Ct,X as et,Y as bd,Z as mo,_ as Er,$ as Fr,a0 as qn,a1 as hl,a2 as ia,a3 as Ft,a4 as rs,a5 as nc,a6 as za,a7 as um,a8 as Y1,a9 as yd,aa as sr,ab as NR,ac as H,ad as U2,ae as $R,af as jv,ag as Nc,ah as LR,ai as T_,aj as N_,ak as $c,al as zR,am as be,an as Je,ao as Zt,ap as B,aq as BR,ar as G2,as as FR,at as HR,au as q2,av as te,aw as WR,ax as On,ay as Mn,az as Re,aA as W,aB as Ys,aC as lt,aD as Kn,aE as $_,aF as VR,aG as UR,aH as GR,aI as qR,aJ as _i,aK as Q1,aL as Ds,aM as jo,aN as dm,aO as KR,aP as XR,aQ as K2,aR as J1,aS as wa,aT as YR,aU as L_,aV as z_,aW as X2,aX as QR,aY as JR,aZ as B_,a_ as F_,a$ as Z1,b0 as ZR,b1 as e7,b2 as t7,b3 as Al,b4 as n7,b5 as r7,b6 as o7,b7 as s7,b8 as Y2,b9 as fi,ba as eb,bb as zp,bc as fm,bd as H_,be as W_,bf as Is,bg as V_,bh as a7,bi as Lc,bj as U_,bk as G_,bl as Es,bm as Iu,bn as Bp,bo as i7,bp as l7,bq as c7,br as u7,bs as Lf,bt as zf,bu as pu,bv as v0,bw as Lu,bx as zu,by as Bu,bz as Fu,bA as Q2,bB as Fp,bC as b0,bD as Hp,bE as J2,bF as Iv,bG as y0,bH as Ev,bI as x0,bJ as Wp,bK as Z2,bL as vc,bM as ew,bN as bc,bO as tw,bP as Vp,bQ as tb,bR as d7,bS as q_,bT as Ov,bU as Rv,bV as K_,bW as f7,bX as Mv,bY as p7,bZ as Dv,b_ as nb,b$ as rb,c0 as pm,c1 as h7,c2 as hm,c3 as Yl,c4 as X_,c5 as m7,c6 as jp,c7 as ob,c8 as Y_,c9 as g7,ca as hu,cb as Q_,cc as J_,cd as nw,ce as Ba,cf as v7,cg as Av,ch as b7,ci as y7,cj as x7,ck as w7,cl as sb,cm as ab,cn as S7,co as Bn,cp as rw,cq as Z_,cr as C7,cs as k7,ct as _7,cu as P7,cv as j7,cw as I7,cx as E7,cy as O7,cz as R7,cA as e5,cB as M7,cC as D7,cD as A7,cE as T7,cF as N7,cG as $7,cH as L7,cI as z7,cJ as B7,cK as F7,cL as ow,cM as H7,cN as sw,cO as W7,cP as V7,cQ as U7,cR as G7,cS as Qu,cT as oo,cU as xd,cV as wd,cW as q7,cX as Qn,cY as K7,cZ as na,c_ as ib,c$ as Sd,d0 as X7,d1 as Y7,d2 as Q7,d3 as aw,d4 as J7,d5 as Up,d6 as Z7,d7 as t5,d8 as iw,d9 as eM,da as tM,db as ws,dc as nM,dd as rM,de as n5,df as r5,dg as oM,dh as lw,di as sM,dj as aM,dk as iM,dl as mm,dm as lM,dn as o5,dp as cM,dq as uM,dr as s5,ds as dM,dt as fM,du as cw,dv as pM,dw as uw,dx as hM,dy as dw,dz as Bf,dA as mM,dB as lb,dC as a5,dD as gM,dE as vM,dF as bM,dG as ls,dH as yM,dI as xM,dJ as wM,dK as SM,dL as CM,dM as kM,dN as _M,dO as PM,dP as jM,dQ as IM,dR as EM,dS as OM,dT as RM,dU as MM,dV as DM,dW as fw,dX as pw,dY as AM,dZ as i5,d_ as l5,d$ as Cd,e0 as c5,e1 as Gi,e2 as u5,e3 as hw,e4 as TM,e5 as NM,e6 as d5,e7 as $M,e8 as LM,e9 as zM,ea as BM,eb as FM,ec as cb,ed as mw,ee as f5,ef as HM,eg as gw,eh as p5,ei as As,ej as WM,ek as h5,el as vw,em as VM,en as UM,eo as GM,ep as qM,eq as KM,er as XM,es as YM,et as QM,eu as JM,ev as ZM,ew as eD,ex as tD,ey as nD,ez as rD,eA as oD,eB as sD,eC as aD,eD as iD,eE as lD,eF as cD,eG as bw,eH as Ip,eI as uD,eJ as Gp,eK as m5,eL as Ju,eM as dD,eN as fD,eO as ea,eP as g5,eQ as ub,eR as kd,eS as pD,eT as hD,eU as mD,eV as Oa,eW as v5,eX as gD,eY as vD,eZ as b5,e_ as bD,e$ as yD,f0 as xD,f1 as wD,f2 as SD,f3 as CD,f4 as kD,f5 as _D,f6 as PD,f7 as jD,f8 as yw,f9 as ID,fa as ED,fb as OD,fc as RD,fd as MD,fe as DD,ff as AD,fg as TD,fh as w0,fi as Js,fj as S0,fk as C0,fl as Ff,fm as xw,fn as Tv,fo as ND,fp as $D,fq as LD,fr as zD,fs as qp,ft as y5,fu as x5,fv as BD,fw as FD,fx as w5,fy as S5,fz as C5,fA as k5,fB as _5,fC as P5,fD as j5,fE as I5,fF as rc,fG as oc,fH as E5,fI as O5,fJ as HD,fK as R5,fL as M5,fM as D5,fN as A5,fO as T5,fP as N5,fQ as db,fR as WD,fS as ww,fT as VD,fU as UD,fV as Kp,fW as Sw,fX as Cw,fY as kw,fZ as _w,f_ as GD,f$ as qD,g0 as KD,g1 as XD,g2 as YD,g3 as QD,g4 as JD,g5 as ZD,g6 as e9}from"./index-deaa1f26.js";import{u as t9,c as n9,a as Dn,b as or,I as fo,d as Fa,P as Zu,C as r9,e as ye,f as $5,g as Ha,h as o9,r as Ue,i as s9,j as Pw,k as Vt,l as Cr,m as ed}from"./menu-b4489359.js";var jw=1/0,a9=17976931348623157e292;function k0(e){if(!e)return e===0?e:0;if(e=Cv(e),e===jw||e===-jw){var t=e<0?-1:1;return t*a9}return e===e?e:0}var i9=function(){return dR.Date.now()};const _0=i9;var l9="Expected a function",c9=Math.max,u9=Math.min;function d9(e,t,n){var r,o,s,a,c,d,p=0,h=!1,m=!1,v=!0;if(typeof e!="function")throw new TypeError(l9);t=Cv(t)||0,kv(n)&&(h=!!n.leading,m="maxWait"in n,s=m?c9(Cv(n.maxWait)||0,t):s,v="trailing"in n?!!n.trailing:v);function b(O){var R=r,M=o;return r=o=void 0,p=O,a=e.apply(M,R),a}function w(O){return p=O,c=setTimeout(k,t),h?b(O):a}function y(O){var R=O-d,M=O-p,D=t-R;return m?u9(D,s-M):D}function S(O){var R=O-d,M=O-p;return d===void 0||R>=t||R<0||m&&M>=s}function k(){var O=_0();if(S(O))return _(O);c=setTimeout(k,y(O))}function _(O){return c=void 0,v&&r?b(O):(r=o=void 0,a)}function P(){c!==void 0&&clearTimeout(c),p=0,r=d=o=c=void 0}function I(){return c===void 0?a:_(_0())}function E(){var O=_0(),R=S(O);if(r=arguments,o=this,d=O,R){if(c===void 0)return w(d);if(m)return clearTimeout(c),c=setTimeout(k,t),b(d)}return c===void 0&&(c=setTimeout(k,t)),a}return E.cancel=P,E.flush=I,E}var f9=200;function p9(e,t,n,r){var o=-1,s=I_,a=!0,c=e.length,d=[],p=t.length;if(!c)return d;n&&(t=Tc(t,P_(n))),r?(s=E_,a=!1):t.length>=f9&&(s=_v,a=!1,t=new j_(t));e:for(;++o=120&&h.length>=120)?new j_(a&&h):void 0}h=e[0];var m=-1,v=c[0];e:for(;++m{r.has(s)&&n(o,s)})}function D9(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,s;for(s=0;s=0)&&(n[o]=e[o]);return n}const L5=({id:e,x:t,y:n,width:r,height:o,style:s,color:a,strokeColor:c,strokeWidth:d,className:p,borderRadius:h,shapeRendering:m,onClick:v})=>{const{background:b,backgroundColor:w}=s||{},y=a||b||w;return i.jsx("rect",{className:cm(["react-flow__minimap-node",p]),x:t,y:n,rx:h,ry:h,width:r,height:o,fill:y,stroke:c,strokeWidth:d,shapeRendering:m,onClick:v?S=>v(S,e):void 0})};L5.displayName="MiniMapNode";var A9=f.memo(L5);const T9=e=>e.nodeOrigin,N9=e=>e.getNodes().filter(t=>!t.hidden&&t.width&&t.height),P0=e=>e instanceof Function?e:()=>e;function $9({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:o=2,nodeComponent:s=A9,onClick:a}){const c=Lp(N9,X1),d=Lp(T9),p=P0(t),h=P0(e),m=P0(n),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return i.jsx(i.Fragment,{children:c.map(b=>{const{x:w,y}=PR(b,d).positionAbsolute;return i.jsx(s,{x:w,y,width:b.width,height:b.height,style:b.style,className:m(b),color:p(b),borderRadius:r,strokeColor:h(b),strokeWidth:o,shapeRendering:v,onClick:a,id:b.id},b.id)})})}var L9=f.memo($9);const z9=200,B9=150,F9=e=>{const t=e.getNodes(),n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:t.length>0?OR(RR(t,e.nodeOrigin),n):n,rfId:e.rfId}},H9="react-flow__minimap-desc";function z5({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:o="",nodeBorderRadius:s=5,nodeStrokeWidth:a=2,nodeComponent:c,maskColor:d="rgb(240, 240, 240, 0.6)",maskStrokeColor:p="none",maskStrokeWidth:h=1,position:m="bottom-right",onClick:v,onNodeClick:b,pannable:w=!1,zoomable:y=!1,ariaLabel:S="React Flow mini map",inversePan:k=!1,zoomStep:_=10}){const P=D_(),I=f.useRef(null),{boundingRect:E,viewBB:O,rfId:R}=Lp(F9,X1),M=(e==null?void 0:e.width)??z9,D=(e==null?void 0:e.height)??B9,A=E.width/M,L=E.height/D,Q=Math.max(A,L),F=Q*M,V=Q*D,q=5*Q,G=E.x-(F-E.width)/2-q,T=E.y-(V-E.height)/2-q,z=F+q*2,$=V+q*2,Y=`${H9}-${R}`,ae=f.useRef(0);ae.current=Q,f.useEffect(()=>{if(I.current){const X=A_(I.current),K=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le}=P.getState();if(re.sourceEvent.type!=="wheel"||!pe||!le)return;const ge=-re.sourceEvent.deltaY*(re.sourceEvent.deltaMode===1?.05:re.sourceEvent.deltaMode?1:.002)*_,ke=oe[2]*Math.pow(2,ge);le.scaleTo(pe,ke)},U=re=>{const{transform:oe,d3Selection:pe,d3Zoom:le,translateExtent:ge,width:ke,height:xe}=P.getState();if(re.sourceEvent.type!=="mousemove"||!pe||!le)return;const de=ae.current*Math.max(1,oe[2])*(k?-1:1),Te={x:oe[0]-re.sourceEvent.movementX*de,y:oe[1]-re.sourceEvent.movementY*de},Ee=[[0,0],[ke,xe]],$e=IR.translate(Te.x,Te.y).scale(oe[2]),kt=le.constrain()($e,Ee,ge);le.transform(pe,kt)},se=jR().on("zoom",w?U:null).on("zoom.wheel",y?K:null);return X.call(se),()=>{X.on("zoom",null)}}},[w,y,k,_]);const fe=v?X=>{const K=ER(X);v(X,{x:K[0],y:K[1]})}:void 0,ie=b?(X,K)=>{const U=P.getState().nodeInternals.get(K);b(X,U)}:void 0;return i.jsx(vd,{position:m,style:e,className:cm(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:i.jsxs("svg",{width:M,height:D,viewBox:`${G} ${T} ${z} ${$}`,role:"img","aria-labelledby":Y,ref:I,onClick:fe,children:[S&&i.jsx("title",{id:Y,children:S}),i.jsx(L9,{onClick:ie,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:s,nodeClassName:o,nodeStrokeWidth:a,nodeComponent:c}),i.jsx("path",{className:"react-flow__minimap-mask",d:`M${G-q},${T-q}h${z+q*2}v${$+q*2}h${-z-q*2}z M${O.x},${O.y}h${O.width}v${O.height}h${-O.width}z`,fill:d,fillRule:"evenodd",stroke:p,strokeWidth:h,pointerEvents:"none"})]})})}z5.displayName="MiniMap";var W9=f.memo(z5),Ss;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Ss||(Ss={}));function V9({color:e,dimensions:t,lineWidth:n}){return i.jsx("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function U9({color:e,radius:t}){return i.jsx("circle",{cx:t,cy:t,r:t,fill:e})}const G9={[Ss.Dots]:"#91919a",[Ss.Lines]:"#eee",[Ss.Cross]:"#e2e2e2"},q9={[Ss.Dots]:1,[Ss.Lines]:1,[Ss.Cross]:6},K9=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function B5({id:e,variant:t=Ss.Dots,gap:n=20,size:r,lineWidth:o=1,offset:s=2,color:a,style:c,className:d}){const p=f.useRef(null),{transform:h,patternId:m}=Lp(K9,X1),v=a||G9[t],b=r||q9[t],w=t===Ss.Dots,y=t===Ss.Cross,S=Array.isArray(n)?n:[n,n],k=[S[0]*h[2]||1,S[1]*h[2]||1],_=b*h[2],P=y?[_,_]:k,I=w?[_/s,_/s]:[P[0]/s,P[1]/s];return i.jsxs("svg",{className:cm(["react-flow__background",d]),style:{...c,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:p,"data-testid":"rf__background",children:[i.jsx("pattern",{id:m+e,x:h[0]%k[0],y:h[1]%k[1],width:k[0],height:k[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${I[0]},-${I[1]})`,children:w?i.jsx(U9,{color:v,radius:_/s}):i.jsx(V9,{dimensions:P,color:v,lineWidth:o})}),i.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${m+e})`})]})}B5.displayName="Background";var X9=f.memo(B5),Hu;(function(e){e.Line="line",e.Handle="handle"})(Hu||(Hu={}));function Y9({width:e,prevWidth:t,height:n,prevHeight:r,invertX:o,invertY:s}){const a=e-t,c=n-r,d=[a>0?1:a<0?-1:0,c>0?1:c<0?-1:0];return a&&o&&(d[0]=d[0]*-1),c&&s&&(d[1]=d[1]*-1),d}const F5={width:0,height:0,x:0,y:0},Q9={...F5,pointerX:0,pointerY:0,aspectRatio:1};function J9({nodeId:e,position:t,variant:n=Hu.Handle,className:r,style:o={},children:s,color:a,minWidth:c=10,minHeight:d=10,maxWidth:p=Number.MAX_VALUE,maxHeight:h=Number.MAX_VALUE,keepAspectRatio:m=!1,shouldResize:v,onResizeStart:b,onResize:w,onResizeEnd:y}){const S=MR(),k=typeof e=="string"?e:S,_=D_(),P=f.useRef(null),I=f.useRef(Q9),E=f.useRef(F5),O=DR(),R=n===Hu.Line?"right":"bottom-right",M=t??R;f.useEffect(()=>{if(!P.current||!k)return;const Q=A_(P.current),F=M.includes("right")||M.includes("left"),V=M.includes("bottom")||M.includes("top"),q=M.includes("left"),G=M.includes("top"),T=AR().on("start",z=>{const $=_.getState().nodeInternals.get(k),{xSnapped:Y,ySnapped:ae}=O(z);E.current={width:($==null?void 0:$.width)??0,height:($==null?void 0:$.height)??0,x:($==null?void 0:$.position.x)??0,y:($==null?void 0:$.position.y)??0},I.current={...E.current,pointerX:Y,pointerY:ae,aspectRatio:E.current.width/E.current.height},b==null||b(z,{...E.current})}).on("drag",z=>{const{nodeInternals:$,triggerNodeChanges:Y}=_.getState(),{xSnapped:ae,ySnapped:fe}=O(z),ie=$.get(k);if(ie){const X=[],{pointerX:K,pointerY:U,width:se,height:re,x:oe,y:pe,aspectRatio:le}=I.current,{x:ge,y:ke,width:xe,height:de}=E.current,Te=Math.floor(F?ae-K:0),Ee=Math.floor(V?fe-U:0);let $e=V2(se+(q?-Te:Te),c,p),kt=V2(re+(G?-Ee:Ee),d,h);if(m){const Me=$e/kt,Pt=F&&V,Tt=F&&!V,we=V&&!F;$e=Me<=le&&Pt||we?kt*le:$e,kt=Me>le&&Pt||Tt?$e/le:kt,$e>=p?($e=p,kt=p/le):$e<=c&&($e=c,kt=c/le),kt>=h?(kt=h,$e=h*le):kt<=d&&(kt=d,$e=d*le)}const ct=$e!==xe,on=kt!==de;if(q||G){const Me=q?oe-($e-se):oe,Pt=G?pe-(kt-re):pe,Tt=Me!==ge&&ct,we=Pt!==ke&&on;if(Tt||we){const ht={id:ie.id,type:"position",position:{x:Tt?Me:ge,y:we?Pt:ke}};X.push(ht),E.current.x=ht.position.x,E.current.y=ht.position.y}}if(ct||on){const Me={id:k,type:"dimensions",updateStyle:!0,resizing:!0,dimensions:{width:$e,height:kt}};X.push(Me),E.current.width=$e,E.current.height=kt}if(X.length===0)return;const vt=Y9({width:E.current.width,prevWidth:xe,height:E.current.height,prevHeight:de,invertX:q,invertY:G}),bt={...E.current,direction:vt};if((v==null?void 0:v(z,bt))===!1)return;w==null||w(z,bt),Y(X)}}).on("end",z=>{const $={id:k,type:"dimensions",resizing:!1};y==null||y(z,{...E.current}),_.getState().triggerNodeChanges([$])});return Q.call(T),()=>{Q.on(".drag",null)}},[k,M,c,d,p,h,m,O,b,w,y]);const D=M.split("-"),A=n===Hu.Line?"borderColor":"backgroundColor",L=a?{...o,[A]:a}:o;return i.jsx("div",{className:cm(["react-flow__resize-control","nodrag",...D,n,r]),ref:P,style:L,children:s})}var Z9=f.memo(J9);function eA(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function H5(e){var t;return eA(e)&&(t=e.ownerDocument)!=null?t:document}function tA(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var nA=tA();const W5=1/60*1e3,rA=typeof performance<"u"?()=>performance.now():()=>Date.now(),V5=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(rA()),W5);function oA(e){let t=[],n=[],r=0,o=!1,s=!1;const a=new WeakSet,c={schedule:(d,p=!1,h=!1)=>{const m=h&&o,v=m?t:n;return p&&a.add(d),v.indexOf(d)===-1&&(v.push(d),m&&o&&(r=t.length)),d},cancel:d=>{const p=n.indexOf(d);p!==-1&&n.splice(p,1),a.delete(d)},process:d=>{if(o){s=!0;return}if(o=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let p=0;p(e[t]=oA(()=>td=!0),e),{}),aA=_d.reduce((e,t)=>{const n=gm[t];return e[t]=(r,o=!1,s=!1)=>(td||cA(),n.schedule(r,o,s)),e},{}),iA=_d.reduce((e,t)=>(e[t]=gm[t].cancel,e),{});_d.reduce((e,t)=>(e[t]=()=>gm[t].process(sc),e),{});const lA=e=>gm[e].process(sc),U5=e=>{td=!1,sc.delta=Nv?W5:Math.max(Math.min(e-sc.timestamp,sA),1),sc.timestamp=e,$v=!0,_d.forEach(lA),$v=!1,td&&(Nv=!1,V5(U5))},cA=()=>{td=!0,Nv=!0,$v||V5(U5)},Rw=()=>sc;function fb(e){const t=Object.assign({},e);for(let n in t)t[n]===void 0&&delete t[n];return t}function uA(e){const{theme:t}=TR(),n=t9();return f.useMemo(()=>n9(t.direction,{...n,...e}),[e,t.direction,n])}var dA=Object.defineProperty,fA=(e,t,n)=>t in e?dA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vr=(e,t,n)=>(fA(e,typeof t!="symbol"?t+"":t,n),n);function Mw(e){return e.sort((t,n)=>{const r=t.compareDocumentPosition(n);if(r&Node.DOCUMENT_POSITION_FOLLOWING||r&Node.DOCUMENT_POSITION_CONTAINED_BY)return-1;if(r&Node.DOCUMENT_POSITION_PRECEDING||r&Node.DOCUMENT_POSITION_CONTAINS)return 1;if(r&Node.DOCUMENT_POSITION_DISCONNECTED||r&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC)throw Error("Cannot sort the given nodes.");return 0})}var pA=e=>typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE;function Dw(e,t,n){let r=e+1;return n&&r>=t&&(r=0),r}function Aw(e,t,n){let r=e-1;return n&&r<0&&(r=t),r}var Lv=typeof window<"u"?f.useLayoutEffect:f.useEffect,Xp=e=>e,hA=class{constructor(){vr(this,"descendants",new Map),vr(this,"register",e=>{if(e!=null)return pA(e)?this.registerNode(e):t=>{this.registerNode(t,e)}}),vr(this,"unregister",e=>{this.descendants.delete(e);const t=Mw(Array.from(this.descendants.keys()));this.assignIndex(t)}),vr(this,"destroy",()=>{this.descendants.clear()}),vr(this,"assignIndex",e=>{this.descendants.forEach(t=>{const n=e.indexOf(t.node);t.index=n,t.node.dataset.index=t.index.toString()})}),vr(this,"count",()=>this.descendants.size),vr(this,"enabledCount",()=>this.enabledValues().length),vr(this,"values",()=>Array.from(this.descendants.values()).sort((t,n)=>t.index-n.index)),vr(this,"enabledValues",()=>this.values().filter(e=>!e.disabled)),vr(this,"item",e=>{if(this.count()!==0)return this.values()[e]}),vr(this,"enabledItem",e=>{if(this.enabledCount()!==0)return this.enabledValues()[e]}),vr(this,"first",()=>this.item(0)),vr(this,"firstEnabled",()=>this.enabledItem(0)),vr(this,"last",()=>this.item(this.descendants.size-1)),vr(this,"lastEnabled",()=>{const e=this.enabledValues().length-1;return this.enabledItem(e)}),vr(this,"indexOf",e=>{var t,n;return e&&(n=(t=this.descendants.get(e))==null?void 0:t.index)!=null?n:-1}),vr(this,"enabledIndexOf",e=>e==null?-1:this.enabledValues().findIndex(t=>t.node.isSameNode(e))),vr(this,"next",(e,t=!0)=>{const n=Dw(e,this.count(),t);return this.item(n)}),vr(this,"nextEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=Dw(r,this.enabledCount(),t);return this.enabledItem(o)}),vr(this,"prev",(e,t=!0)=>{const n=Aw(e,this.count()-1,t);return this.item(n)}),vr(this,"prevEnabled",(e,t=!0)=>{const n=this.item(e);if(!n)return;const r=this.enabledIndexOf(n.node),o=Aw(r,this.enabledCount()-1,t);return this.enabledItem(o)}),vr(this,"registerNode",(e,t)=>{if(!e||this.descendants.has(e))return;const n=Array.from(this.descendants.keys()).concat(e),r=Mw(n);t!=null&&t.disabled&&(t.disabled=!!t.disabled);const o={node:e,index:-1,...t};this.descendants.set(e,o),this.assignIndex(r)})}};function mA(e,t){if(e!=null){if(typeof e=="function"){e(t);return}try{e.current=t}catch{throw new Error(`Cannot assign value '${t}' to ref '${e}'`)}}}function cn(...e){return t=>{e.forEach(n=>{mA(n,t)})}}function gA(...e){return f.useMemo(()=>cn(...e),e)}function vA(){const e=f.useRef(new hA);return Lv(()=>()=>e.current.destroy()),e.current}var[bA,G5]=Dn({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function yA(e){const t=G5(),[n,r]=f.useState(-1),o=f.useRef(null);Lv(()=>()=>{o.current&&t.unregister(o.current)},[]),Lv(()=>{if(!o.current)return;const a=Number(o.current.dataset.index);n!=a&&!Number.isNaN(a)&&r(a)});const s=Xp(e?t.register(e):t.register);return{descendants:t,index:n,enabledIndex:t.enabledIndexOf(o.current),register:cn(s,o)}}function pb(){return[Xp(bA),()=>Xp(G5()),()=>vA(),o=>yA(o)]}var[xA,vm]=Dn({name:"AccordionStylesContext",hookName:"useAccordionStyles",providerName:""}),[wA,hb]=Dn({name:"AccordionItemContext",hookName:"useAccordionItemContext",providerName:""}),[SA,Xde,CA,kA]=pb(),Eu=Ae(function(t,n){const{getButtonProps:r}=hb(),o=r(t,n),a={display:"flex",alignItems:"center",width:"100%",outline:0,...vm().button};return i.jsx(je.button,{...o,className:Ct("chakra-accordion__button",t.className),__css:a})});Eu.displayName="AccordionButton";function zc(e){const{value:t,defaultValue:n,onChange:r,shouldUpdate:o=(v,b)=>v!==b}=e,s=or(r),a=or(o),[c,d]=f.useState(n),p=t!==void 0,h=p?t:c,m=or(v=>{const w=typeof v=="function"?v(h):v;a(h,w)&&(p||d(w),s(w))},[p,s,h,a]);return[h,m]}function _A(e){const{onChange:t,defaultIndex:n,index:r,allowMultiple:o,allowToggle:s,...a}=e;IA(e),EA(e);const c=CA(),[d,p]=f.useState(-1);f.useEffect(()=>()=>{p(-1)},[]);const[h,m]=zc({value:r,defaultValue(){return o?n??[]:n??-1},onChange:t});return{index:h,setIndex:m,htmlProps:a,getAccordionItemProps:b=>{let w=!1;return b!==null&&(w=Array.isArray(h)?h.includes(b):h===b),{isOpen:w,onChange:S=>{if(b!==null)if(o&&Array.isArray(h)){const k=S?h.concat(b):h.filter(_=>_!==b);m(k)}else S?m(b):s&&m(-1)}}},focusedIndex:d,setFocusedIndex:p,descendants:c}}var[PA,mb]=Dn({name:"AccordionContext",hookName:"useAccordionContext",providerName:"Accordion"});function jA(e){const{isDisabled:t,isFocusable:n,id:r,...o}=e,{getAccordionItemProps:s,setFocusedIndex:a}=mb(),c=f.useRef(null),d=f.useId(),p=r??d,h=`accordion-button-${p}`,m=`accordion-panel-${p}`;OA(e);const{register:v,index:b,descendants:w}=kA({disabled:t&&!n}),{isOpen:y,onChange:S}=s(b===-1?null:b);RA({isOpen:y,isDisabled:t});const k=()=>{S==null||S(!0)},_=()=>{S==null||S(!1)},P=f.useCallback(()=>{S==null||S(!y),a(b)},[b,a,y,S]),I=f.useCallback(M=>{const A={ArrowDown:()=>{const L=w.nextEnabled(b);L==null||L.node.focus()},ArrowUp:()=>{const L=w.prevEnabled(b);L==null||L.node.focus()},Home:()=>{const L=w.firstEnabled();L==null||L.node.focus()},End:()=>{const L=w.lastEnabled();L==null||L.node.focus()}}[M.key];A&&(M.preventDefault(),A(M))},[w,b]),E=f.useCallback(()=>{a(b)},[a,b]),O=f.useCallback(function(D={},A=null){return{...D,type:"button",ref:cn(v,c,A),id:h,disabled:!!t,"aria-expanded":!!y,"aria-controls":m,onClick:et(D.onClick,P),onFocus:et(D.onFocus,E),onKeyDown:et(D.onKeyDown,I)}},[h,t,y,P,E,I,m,v]),R=f.useCallback(function(D={},A=null){return{...D,ref:A,role:"region",id:m,"aria-labelledby":h,hidden:!y}},[h,y,m]);return{isOpen:y,isDisabled:t,isFocusable:n,onOpen:k,onClose:_,getButtonProps:O,getPanelProps:R,htmlProps:o}}function IA(e){const t=e.index||e.defaultIndex,n=t!=null&&!Array.isArray(t)&&e.allowMultiple;bd({condition:!!n,message:`If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: ${typeof t},`})}function EA(e){bd({condition:!!(e.allowMultiple&&e.allowToggle),message:"If 'allowMultiple' is passed, 'allowToggle' will be ignored. Either remove 'allowToggle' or 'allowMultiple' depending on whether you want multiple accordions visible or not"})}function OA(e){bd({condition:!!(e.isFocusable&&!e.isDisabled),message:`Using only 'isFocusable', this prop is reserved for situations where you pass 'isDisabled' but you still want the element to receive focus (A11y). Either remove it or pass 'isDisabled' as well. `})}function RA(e){bd({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}function Ou(e){const{isOpen:t,isDisabled:n}=hb(),{reduceMotion:r}=mb(),o=Ct("chakra-accordion__icon",e.className),s=vm(),a={opacity:n?.4:1,transform:t?"rotate(-180deg)":void 0,transition:r?void 0:"transform 0.2s",transformOrigin:"center",...s.icon};return i.jsx(fo,{viewBox:"0 0 24 24","aria-hidden":!0,className:o,__css:a,...e,children:i.jsx("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})})}Ou.displayName="AccordionIcon";var Ru=Ae(function(t,n){const{children:r,className:o}=t,{htmlProps:s,...a}=jA(t),d={...vm().container,overflowAnchor:"none"},p=f.useMemo(()=>a,[a]);return i.jsx(wA,{value:p,children:i.jsx(je.div,{ref:n,...s,className:Ct("chakra-accordion__item",o),__css:d,children:typeof r=="function"?r({isExpanded:!!a.isOpen,isDisabled:!!a.isDisabled}):r})})});Ru.displayName="AccordionItem";var qi={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]},mu={scale:{enter:{scale:1},exit:{scale:.95}},fade:{enter:{opacity:1},exit:{opacity:0}},pushLeft:{enter:{x:"100%"},exit:{x:"-30%"}},pushRight:{enter:{x:"-100%"},exit:{x:"30%"}},pushUp:{enter:{y:"100%"},exit:{y:"-30%"}},pushDown:{enter:{y:"-100%"},exit:{y:"30%"}},slideLeft:{position:{left:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"-100%",y:0}},slideRight:{position:{right:0,top:0,bottom:0,width:"100%"},enter:{x:0,y:0},exit:{x:"100%",y:0}},slideUp:{position:{top:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"-100%"}},slideDown:{position:{bottom:0,left:0,right:0,maxWidth:"100vw"},enter:{x:0,y:0},exit:{x:0,y:"100%"}}};function zv(e){var t;switch((t=e==null?void 0:e.direction)!=null?t:"right"){case"right":return mu.slideRight;case"left":return mu.slideLeft;case"bottom":return mu.slideDown;case"top":return mu.slideUp;default:return mu.slideRight}}var Xi={enter:{duration:.2,ease:qi.easeOut},exit:{duration:.1,ease:qi.easeIn}},Cs={enter:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.enter}),exit:(e,t)=>({...e,delay:typeof t=="number"?t:t==null?void 0:t.exit})},MA=e=>e!=null&&parseInt(e.toString(),10)>0,Tw={exit:{height:{duration:.2,ease:qi.ease},opacity:{duration:.3,ease:qi.ease}},enter:{height:{duration:.3,ease:qi.ease},opacity:{duration:.4,ease:qi.ease}}},DA={exit:({animateOpacity:e,startingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:MA(t)?1:0},height:t,transitionEnd:r==null?void 0:r.exit,transition:(s=n==null?void 0:n.exit)!=null?s:Cs.exit(Tw.exit,o)}},enter:({animateOpacity:e,endingHeight:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{...e&&{opacity:1},height:t,transitionEnd:r==null?void 0:r.enter,transition:(s=n==null?void 0:n.enter)!=null?s:Cs.enter(Tw.enter,o)}}},bm=f.forwardRef((e,t)=>{const{in:n,unmountOnExit:r,animateOpacity:o=!0,startingHeight:s=0,endingHeight:a="auto",style:c,className:d,transition:p,transitionEnd:h,...m}=e,[v,b]=f.useState(!1);f.useEffect(()=>{const _=setTimeout(()=>{b(!0)});return()=>clearTimeout(_)},[]),bd({condition:Number(s)>0&&!!r,message:"startingHeight and unmountOnExit are mutually exclusive. You can't use them together"});const w=parseFloat(s.toString())>0,y={startingHeight:s,endingHeight:a,animateOpacity:o,transition:v?p:{enter:{duration:0}},transitionEnd:{enter:h==null?void 0:h.enter,exit:r?h==null?void 0:h.exit:{...h==null?void 0:h.exit,display:w?"block":"none"}}},S=r?n:!0,k=n||r?"enter":"exit";return i.jsx(mo,{initial:!1,custom:y,children:S&&i.jsx(Er.div,{ref:t,...m,className:Ct("chakra-collapse",d),style:{overflow:"hidden",display:"block",...c},custom:y,variants:DA,initial:r?"exit":!1,animate:k,exit:"exit"})})});bm.displayName="Collapse";var AA={enter:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:1,transition:(r=e==null?void 0:e.enter)!=null?r:Cs.enter(Xi.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({transition:e,transitionEnd:t,delay:n}={})=>{var r;return{opacity:0,transition:(r=e==null?void 0:e.exit)!=null?r:Cs.exit(Xi.exit,n),transitionEnd:t==null?void 0:t.exit}}},q5={initial:"exit",animate:"enter",exit:"exit",variants:AA},TA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,className:s,transition:a,transitionEnd:c,delay:d,...p}=t,h=o||r?"enter":"exit",m=r?o&&r:!0,v={transition:a,transitionEnd:c,delay:d};return i.jsx(mo,{custom:v,children:m&&i.jsx(Er.div,{ref:n,className:Ct("chakra-fade",s),custom:v,...q5,animate:h,...p})})});TA.displayName="Fade";var NA={exit:({reverse:e,initialScale:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,...e?{scale:t,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{scale:t,...r==null?void 0:r.exit}},transition:(s=n==null?void 0:n.exit)!=null?s:Cs.exit(Xi.exit,o)}},enter:({transitionEnd:e,transition:t,delay:n})=>{var r;return{opacity:1,scale:1,transition:(r=t==null?void 0:t.enter)!=null?r:Cs.enter(Xi.enter,n),transitionEnd:e==null?void 0:e.enter}}},K5={initial:"exit",animate:"enter",exit:"exit",variants:NA},$A=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,initialScale:a=.95,className:c,transition:d,transitionEnd:p,delay:h,...m}=t,v=r?o&&r:!0,b=o||r?"enter":"exit",w={initialScale:a,reverse:s,transition:d,transitionEnd:p,delay:h};return i.jsx(mo,{custom:w,children:v&&i.jsx(Er.div,{ref:n,className:Ct("chakra-offset-slide",c),...K5,animate:b,custom:w,...m})})});$A.displayName="ScaleFade";var LA={initial:({offsetX:e,offsetY:t,transition:n,transitionEnd:r,delay:o})=>{var s;return{opacity:0,x:e,y:t,transition:(s=n==null?void 0:n.exit)!=null?s:Cs.exit(Xi.exit,o),transitionEnd:r==null?void 0:r.exit}},enter:({transition:e,transitionEnd:t,delay:n})=>{var r;return{opacity:1,x:0,y:0,transition:(r=e==null?void 0:e.enter)!=null?r:Cs.enter(Xi.enter,n),transitionEnd:t==null?void 0:t.enter}},exit:({offsetY:e,offsetX:t,transition:n,transitionEnd:r,reverse:o,delay:s})=>{var a;const c={x:t,y:e};return{opacity:0,transition:(a=n==null?void 0:n.exit)!=null?a:Cs.exit(Xi.exit,s),...o?{...c,transitionEnd:r==null?void 0:r.exit}:{transitionEnd:{...c,...r==null?void 0:r.exit}}}}},Bv={initial:"initial",animate:"enter",exit:"exit",variants:LA},zA=f.forwardRef(function(t,n){const{unmountOnExit:r,in:o,reverse:s=!0,className:a,offsetX:c=0,offsetY:d=8,transition:p,transitionEnd:h,delay:m,...v}=t,b=r?o&&r:!0,w=o||r?"enter":"exit",y={offsetX:c,offsetY:d,reverse:s,transition:p,transitionEnd:h,delay:m};return i.jsx(mo,{custom:y,children:b&&i.jsx(Er.div,{ref:n,className:Ct("chakra-offset-slide",a),custom:y,...Bv,animate:w,...v})})});zA.displayName="SlideFade";var Nw={exit:{duration:.15,ease:qi.easeInOut},enter:{type:"spring",damping:25,stiffness:180}},BA={exit:({direction:e,transition:t,transitionEnd:n,delay:r})=>{var o;const{exit:s}=zv({direction:e});return{...s,transition:(o=t==null?void 0:t.exit)!=null?o:Cs.exit(Nw.exit,r),transitionEnd:n==null?void 0:n.exit}},enter:({direction:e,transitionEnd:t,transition:n,delay:r})=>{var o;const{enter:s}=zv({direction:e});return{...s,transition:(o=n==null?void 0:n.enter)!=null?o:Cs.enter(Nw.enter,r),transitionEnd:t==null?void 0:t.enter}}},X5=f.forwardRef(function(t,n){const{direction:r="right",style:o,unmountOnExit:s,in:a,className:c,transition:d,transitionEnd:p,delay:h,motionProps:m,...v}=t,b=zv({direction:r}),w=Object.assign({position:"fixed"},b.position,o),y=s?a&&s:!0,S=a||s?"enter":"exit",k={transitionEnd:p,transition:d,direction:r,delay:h};return i.jsx(mo,{custom:k,children:y&&i.jsx(Er.div,{...v,ref:n,initial:"exit",className:Ct("chakra-slide",c),animate:S,exit:"exit",custom:k,variants:BA,style:w,...m})})});X5.displayName="Slide";var Mu=Ae(function(t,n){const{className:r,motionProps:o,...s}=t,{reduceMotion:a}=mb(),{getPanelProps:c,isOpen:d}=hb(),p=c(s,n),h=Ct("chakra-accordion__panel",r),m=vm();a||delete p.hidden;const v=i.jsx(je.div,{...p,__css:m.panel,className:h});return a?v:i.jsx(bm,{in:d,...o,children:v})});Mu.displayName="AccordionPanel";var Y5=Ae(function({children:t,reduceMotion:n,...r},o){const s=Fr("Accordion",r),a=qn(r),{htmlProps:c,descendants:d,...p}=_A(a),h=f.useMemo(()=>({...p,reduceMotion:!!n}),[p,n]);return i.jsx(SA,{value:d,children:i.jsx(PA,{value:h,children:i.jsx(xA,{value:s,children:i.jsx(je.div,{ref:o,...c,className:Ct("chakra-accordion",r.className),__css:s.root,children:t})})})})});Y5.displayName="Accordion";function Pd(e){return f.Children.toArray(e).filter(t=>f.isValidElement(t))}var[FA,HA]=Dn({strict:!1,name:"ButtonGroupContext"}),WA={horizontal:{"> *:first-of-type:not(:last-of-type)":{borderEndRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderStartRadius:0}},vertical:{"> *:first-of-type:not(:last-of-type)":{borderBottomRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderTopRadius:0}}},VA={horizontal:e=>({"& > *:not(style) ~ *:not(style)":{marginStart:e}}),vertical:e=>({"& > *:not(style) ~ *:not(style)":{marginTop:e}})},rr=Ae(function(t,n){const{size:r,colorScheme:o,variant:s,className:a,spacing:c="0.5rem",isAttached:d,isDisabled:p,orientation:h="horizontal",...m}=t,v=Ct("chakra-button__group",a),b=f.useMemo(()=>({size:r,colorScheme:o,variant:s,isDisabled:p}),[r,o,s,p]);let w={display:"inline-flex",...d?WA[h]:VA[h](c)};const y=h==="vertical";return i.jsx(FA,{value:b,children:i.jsx(je.div,{ref:n,role:"group",__css:w,className:v,"data-attached":d?"":void 0,"data-orientation":h,flexDir:y?"column":void 0,...m})})});rr.displayName="ButtonGroup";function UA(e){const[t,n]=f.useState(!e);return{ref:f.useCallback(s=>{s&&n(s.tagName==="BUTTON")},[]),type:t?"button":void 0}}function Fv(e){const{children:t,className:n,...r}=e,o=f.isValidElement(t)?f.cloneElement(t,{"aria-hidden":!0,focusable:!1}):t,s=Ct("chakra-button__icon",n);return i.jsx(je.span,{display:"inline-flex",alignSelf:"center",flexShrink:0,...r,className:s,children:o})}Fv.displayName="ButtonIcon";function Yp(e){const{label:t,placement:n,spacing:r="0.5rem",children:o=i.jsx(hl,{color:"currentColor",width:"1em",height:"1em"}),className:s,__css:a,...c}=e,d=Ct("chakra-button__spinner",s),p=n==="start"?"marginEnd":"marginStart",h=f.useMemo(()=>({display:"flex",alignItems:"center",position:t?"relative":"absolute",[p]:t?r:0,fontSize:"1em",lineHeight:"normal",...a}),[a,t,p,r]);return i.jsx(je.div,{className:d,...c,__css:h,children:o})}Yp.displayName="ButtonSpinner";var yc=Ae((e,t)=>{const n=HA(),r=ia("Button",{...n,...e}),{isDisabled:o=n==null?void 0:n.isDisabled,isLoading:s,isActive:a,children:c,leftIcon:d,rightIcon:p,loadingText:h,iconSpacing:m="0.5rem",type:v,spinner:b,spinnerPlacement:w="start",className:y,as:S,...k}=qn(e),_=f.useMemo(()=>{const O={...r==null?void 0:r._focus,zIndex:1};return{display:"inline-flex",appearance:"none",alignItems:"center",justifyContent:"center",userSelect:"none",position:"relative",whiteSpace:"nowrap",verticalAlign:"middle",outline:"none",...r,...!!n&&{_focus:O}}},[r,n]),{ref:P,type:I}=UA(S),E={rightIcon:p,leftIcon:d,iconSpacing:m,children:c};return i.jsxs(je.button,{ref:gA(t,P),as:S,type:v??I,"data-active":Ft(a),"data-loading":Ft(s),__css:_,className:Ct("chakra-button",y),...k,disabled:o||s,children:[s&&w==="start"&&i.jsx(Yp,{className:"chakra-button__spinner--start",label:h,placement:"start",spacing:m,children:b}),s?h||i.jsx(je.span,{opacity:0,children:i.jsx($w,{...E})}):i.jsx($w,{...E}),s&&w==="end"&&i.jsx(Yp,{className:"chakra-button__spinner--end",label:h,placement:"end",spacing:m,children:b})]})});yc.displayName="Button";function $w(e){const{leftIcon:t,rightIcon:n,children:r,iconSpacing:o}=e;return i.jsxs(i.Fragment,{children:[t&&i.jsx(Fv,{marginEnd:o,children:t}),r,n&&i.jsx(Fv,{marginStart:o,children:n})]})}var ka=Ae((e,t)=>{const{icon:n,children:r,isRound:o,"aria-label":s,...a}=e,c=n||r,d=f.isValidElement(c)?f.cloneElement(c,{"aria-hidden":!0,focusable:!1}):null;return i.jsx(yc,{padding:"0",borderRadius:o?"full":void 0,ref:t,"aria-label":s,...a,children:d})});ka.displayName="IconButton";var[Yde,GA]=Dn({name:"CheckboxGroupContext",strict:!1});function qA(e){const[t,n]=f.useState(e),[r,o]=f.useState(!1);return e!==t&&(o(!0),n(e)),r}function KA(e){return i.jsx(je.svg,{width:"1.2em",viewBox:"0 0 12 10",style:{fill:"none",strokeWidth:2,stroke:"currentColor",strokeDasharray:16},...e,children:i.jsx("polyline",{points:"1.5 6 4.5 9 10.5 1"})})}function XA(e){return i.jsx(je.svg,{width:"1.2em",viewBox:"0 0 24 24",style:{stroke:"currentColor",strokeWidth:4},...e,children:i.jsx("line",{x1:"21",x2:"3",y1:"12",y2:"12"})})}function YA(e){const{isIndeterminate:t,isChecked:n,...r}=e,o=t?XA:KA;return n||t?i.jsx(je.div,{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:i.jsx(o,{...r})}):null}var[QA,Q5]=Dn({name:"FormControlStylesContext",errorMessage:`useFormControlStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[JA,jd]=Dn({strict:!1,name:"FormControlContext"});function ZA(e){const{id:t,isRequired:n,isInvalid:r,isDisabled:o,isReadOnly:s,...a}=e,c=f.useId(),d=t||`field-${c}`,p=`${d}-label`,h=`${d}-feedback`,m=`${d}-helptext`,[v,b]=f.useState(!1),[w,y]=f.useState(!1),[S,k]=f.useState(!1),_=f.useCallback((R={},M=null)=>({id:m,...R,ref:cn(M,D=>{D&&y(!0)})}),[m]),P=f.useCallback((R={},M=null)=>({...R,ref:M,"data-focus":Ft(S),"data-disabled":Ft(o),"data-invalid":Ft(r),"data-readonly":Ft(s),id:R.id!==void 0?R.id:p,htmlFor:R.htmlFor!==void 0?R.htmlFor:d}),[d,o,S,r,s,p]),I=f.useCallback((R={},M=null)=>({id:h,...R,ref:cn(M,D=>{D&&b(!0)}),"aria-live":"polite"}),[h]),E=f.useCallback((R={},M=null)=>({...R,...a,ref:M,role:"group"}),[a]),O=f.useCallback((R={},M=null)=>({...R,ref:M,role:"presentation","aria-hidden":!0,children:R.children||"*"}),[]);return{isRequired:!!n,isInvalid:!!r,isReadOnly:!!s,isDisabled:!!o,isFocused:!!S,onFocus:()=>k(!0),onBlur:()=>k(!1),hasFeedbackText:v,setHasFeedbackText:b,hasHelpText:w,setHasHelpText:y,id:d,labelId:p,feedbackId:h,helpTextId:m,htmlProps:a,getHelpTextProps:_,getErrorMessageProps:I,getRootProps:E,getLabelProps:P,getRequiredIndicatorProps:O}}var go=Ae(function(t,n){const r=Fr("Form",t),o=qn(t),{getRootProps:s,htmlProps:a,...c}=ZA(o),d=Ct("chakra-form-control",t.className);return i.jsx(JA,{value:c,children:i.jsx(QA,{value:r,children:i.jsx(je.div,{...s({},n),className:d,__css:r.container})})})});go.displayName="FormControl";var eT=Ae(function(t,n){const r=jd(),o=Q5(),s=Ct("chakra-form__helper-text",t.className);return i.jsx(je.div,{...r==null?void 0:r.getHelpTextProps(t,n),__css:o.helperText,className:s})});eT.displayName="FormHelperText";var Bo=Ae(function(t,n){var r;const o=ia("FormLabel",t),s=qn(t),{className:a,children:c,requiredIndicator:d=i.jsx(J5,{}),optionalIndicator:p=null,...h}=s,m=jd(),v=(r=m==null?void 0:m.getLabelProps(h,n))!=null?r:{ref:n,...h};return i.jsxs(je.label,{...v,className:Ct("chakra-form__label",s.className),__css:{display:"block",textAlign:"start",...o},children:[c,m!=null&&m.isRequired?d:p]})});Bo.displayName="FormLabel";var J5=Ae(function(t,n){const r=jd(),o=Q5();if(!(r!=null&&r.isRequired))return null;const s=Ct("chakra-form__required-indicator",t.className);return i.jsx(je.span,{...r==null?void 0:r.getRequiredIndicatorProps(t,n),__css:o.requiredIndicator,className:s})});J5.displayName="RequiredIndicator";function gb(e){const{isDisabled:t,isInvalid:n,isReadOnly:r,isRequired:o,...s}=vb(e);return{...s,disabled:t,readOnly:r,required:o,"aria-invalid":rs(n),"aria-required":rs(o),"aria-readonly":rs(r)}}function vb(e){var t,n,r;const o=jd(),{id:s,disabled:a,readOnly:c,required:d,isRequired:p,isInvalid:h,isReadOnly:m,isDisabled:v,onFocus:b,onBlur:w,...y}=e,S=e["aria-describedby"]?[e["aria-describedby"]]:[];return o!=null&&o.hasFeedbackText&&(o!=null&&o.isInvalid)&&S.push(o.feedbackId),o!=null&&o.hasHelpText&&S.push(o.helpTextId),{...y,"aria-describedby":S.join(" ")||void 0,id:s??(o==null?void 0:o.id),isDisabled:(t=a??v)!=null?t:o==null?void 0:o.isDisabled,isReadOnly:(n=c??m)!=null?n:o==null?void 0:o.isReadOnly,isRequired:(r=d??p)!=null?r:o==null?void 0:o.isRequired,isInvalid:h??(o==null?void 0:o.isInvalid),onFocus:et(o==null?void 0:o.onFocus,b),onBlur:et(o==null?void 0:o.onBlur,w)}}var bb={border:"0",clip:"rect(0, 0, 0, 0)",height:"1px",width:"1px",margin:"-1px",padding:"0",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},Z5=je("span",{baseStyle:bb});Z5.displayName="VisuallyHidden";var tT=je("input",{baseStyle:bb});tT.displayName="VisuallyHiddenInput";const nT=()=>typeof document<"u";let Lw=!1,Id=null,ol=!1,Hv=!1;const Wv=new Set;function yb(e,t){Wv.forEach(n=>n(e,t))}const rT=typeof window<"u"&&window.navigator!=null?/^Mac/.test(window.navigator.platform):!1;function oT(e){return!(e.metaKey||!rT&&e.altKey||e.ctrlKey||e.key==="Control"||e.key==="Shift"||e.key==="Meta")}function zw(e){ol=!0,oT(e)&&(Id="keyboard",yb("keyboard",e))}function Nl(e){if(Id="pointer",e.type==="mousedown"||e.type==="pointerdown"){ol=!0;const t=e.composedPath?e.composedPath()[0]:e.target;let n=!1;try{n=t.matches(":focus-visible")}catch{}if(n)return;yb("pointer",e)}}function sT(e){return e.mozInputSource===0&&e.isTrusted?!0:e.detail===0&&!e.pointerType}function aT(e){sT(e)&&(ol=!0,Id="virtual")}function iT(e){e.target===window||e.target===document||(!ol&&!Hv&&(Id="virtual",yb("virtual",e)),ol=!1,Hv=!1)}function lT(){ol=!1,Hv=!0}function Bw(){return Id!=="pointer"}function cT(){if(!nT()||Lw)return;const{focus:e}=HTMLElement.prototype;HTMLElement.prototype.focus=function(...n){ol=!0,e.apply(this,n)},document.addEventListener("keydown",zw,!0),document.addEventListener("keyup",zw,!0),document.addEventListener("click",aT,!0),window.addEventListener("focus",iT,!0),window.addEventListener("blur",lT,!1),typeof PointerEvent<"u"?(document.addEventListener("pointerdown",Nl,!0),document.addEventListener("pointermove",Nl,!0),document.addEventListener("pointerup",Nl,!0)):(document.addEventListener("mousedown",Nl,!0),document.addEventListener("mousemove",Nl,!0),document.addEventListener("mouseup",Nl,!0)),Lw=!0}function e3(e){cT(),e(Bw());const t=()=>e(Bw());return Wv.add(t),()=>{Wv.delete(t)}}function uT(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function t3(e={}){const t=vb(e),{isDisabled:n,isReadOnly:r,isRequired:o,isInvalid:s,id:a,onBlur:c,onFocus:d,"aria-describedby":p}=t,{defaultChecked:h,isChecked:m,isFocusable:v,onChange:b,isIndeterminate:w,name:y,value:S,tabIndex:k=void 0,"aria-label":_,"aria-labelledby":P,"aria-invalid":I,...E}=e,O=uT(E,["isDisabled","isReadOnly","isRequired","isInvalid","id","onBlur","onFocus","aria-describedby"]),R=or(b),M=or(c),D=or(d),[A,L]=f.useState(!1),[Q,F]=f.useState(!1),[V,q]=f.useState(!1),[G,T]=f.useState(!1);f.useEffect(()=>e3(L),[]);const z=f.useRef(null),[$,Y]=f.useState(!0),[ae,fe]=f.useState(!!h),ie=m!==void 0,X=ie?m:ae,K=f.useCallback(de=>{if(r||n){de.preventDefault();return}ie||fe(X?de.target.checked:w?!0:de.target.checked),R==null||R(de)},[r,n,X,ie,w,R]);nc(()=>{z.current&&(z.current.indeterminate=!!w)},[w]),Fa(()=>{n&&F(!1)},[n,F]),nc(()=>{const de=z.current;if(!(de!=null&&de.form))return;const Te=()=>{fe(!!h)};return de.form.addEventListener("reset",Te),()=>{var Ee;return(Ee=de.form)==null?void 0:Ee.removeEventListener("reset",Te)}},[]);const U=n&&!v,se=f.useCallback(de=>{de.key===" "&&T(!0)},[T]),re=f.useCallback(de=>{de.key===" "&&T(!1)},[T]);nc(()=>{if(!z.current)return;z.current.checked!==X&&fe(z.current.checked)},[z.current]);const oe=f.useCallback((de={},Te=null)=>{const Ee=$e=>{Q&&$e.preventDefault(),T(!0)};return{...de,ref:Te,"data-active":Ft(G),"data-hover":Ft(V),"data-checked":Ft(X),"data-focus":Ft(Q),"data-focus-visible":Ft(Q&&A),"data-indeterminate":Ft(w),"data-disabled":Ft(n),"data-invalid":Ft(s),"data-readonly":Ft(r),"aria-hidden":!0,onMouseDown:et(de.onMouseDown,Ee),onMouseUp:et(de.onMouseUp,()=>T(!1)),onMouseEnter:et(de.onMouseEnter,()=>q(!0)),onMouseLeave:et(de.onMouseLeave,()=>q(!1))}},[G,X,n,Q,A,V,w,s,r]),pe=f.useCallback((de={},Te=null)=>({...de,ref:Te,"data-active":Ft(G),"data-hover":Ft(V),"data-checked":Ft(X),"data-focus":Ft(Q),"data-focus-visible":Ft(Q&&A),"data-indeterminate":Ft(w),"data-disabled":Ft(n),"data-invalid":Ft(s),"data-readonly":Ft(r)}),[G,X,n,Q,A,V,w,s,r]),le=f.useCallback((de={},Te=null)=>({...O,...de,ref:cn(Te,Ee=>{Ee&&Y(Ee.tagName==="LABEL")}),onClick:et(de.onClick,()=>{var Ee;$||((Ee=z.current)==null||Ee.click(),requestAnimationFrame(()=>{var $e;($e=z.current)==null||$e.focus({preventScroll:!0})}))}),"data-disabled":Ft(n),"data-checked":Ft(X),"data-invalid":Ft(s)}),[O,n,X,s,$]),ge=f.useCallback((de={},Te=null)=>({...de,ref:cn(z,Te),type:"checkbox",name:y,value:S,id:a,tabIndex:k,onChange:et(de.onChange,K),onBlur:et(de.onBlur,M,()=>F(!1)),onFocus:et(de.onFocus,D,()=>F(!0)),onKeyDown:et(de.onKeyDown,se),onKeyUp:et(de.onKeyUp,re),required:o,checked:X,disabled:U,readOnly:r,"aria-label":_,"aria-labelledby":P,"aria-invalid":I?!!I:s,"aria-describedby":p,"aria-disabled":n,style:bb}),[y,S,a,K,M,D,se,re,o,X,U,r,_,P,I,s,p,n,k]),ke=f.useCallback((de={},Te=null)=>({...de,ref:Te,onMouseDown:et(de.onMouseDown,dT),"data-disabled":Ft(n),"data-checked":Ft(X),"data-invalid":Ft(s)}),[X,n,s]);return{state:{isInvalid:s,isFocused:Q,isChecked:X,isActive:G,isHovered:V,isIndeterminate:w,isDisabled:n,isReadOnly:r,isRequired:o},getRootProps:le,getCheckboxProps:oe,getIndicatorProps:pe,getInputProps:ge,getLabelProps:ke,htmlProps:O}}function dT(e){e.preventDefault(),e.stopPropagation()}var fT={display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"top",userSelect:"none",flexShrink:0},pT={cursor:"pointer",display:"inline-flex",alignItems:"center",verticalAlign:"top",position:"relative"},hT=za({from:{opacity:0,strokeDashoffset:16,transform:"scale(0.95)"},to:{opacity:1,strokeDashoffset:0,transform:"scale(1)"}}),mT=za({from:{opacity:0},to:{opacity:1}}),gT=za({from:{transform:"scaleX(0.65)"},to:{transform:"scaleX(1)"}}),n3=Ae(function(t,n){const r=GA(),o={...r,...t},s=Fr("Checkbox",o),a=qn(t),{spacing:c="0.5rem",className:d,children:p,iconColor:h,iconSize:m,icon:v=i.jsx(YA,{}),isChecked:b,isDisabled:w=r==null?void 0:r.isDisabled,onChange:y,inputProps:S,...k}=a;let _=b;r!=null&&r.value&&a.value&&(_=r.value.includes(a.value));let P=y;r!=null&&r.onChange&&a.value&&(P=um(r.onChange,y));const{state:I,getInputProps:E,getCheckboxProps:O,getLabelProps:R,getRootProps:M}=t3({...k,isDisabled:w,isChecked:_,onChange:P}),D=qA(I.isChecked),A=f.useMemo(()=>({animation:D?I.isIndeterminate?`${mT} 20ms linear, ${gT} 200ms linear`:`${hT} 200ms linear`:void 0,fontSize:m,color:h,...s.icon}),[h,m,D,I.isIndeterminate,s.icon]),L=f.cloneElement(v,{__css:A,isIndeterminate:I.isIndeterminate,isChecked:I.isChecked});return i.jsxs(je.label,{__css:{...pT,...s.container},className:Ct("chakra-checkbox",d),...M(),children:[i.jsx("input",{className:"chakra-checkbox__input",...E(S,n)}),i.jsx(je.span,{__css:{...fT,...s.control},className:"chakra-checkbox__control",...O(),children:L}),p&&i.jsx(je.span,{className:"chakra-checkbox__label",...R(),__css:{marginStart:c,...s.label},children:p})]})});n3.displayName="Checkbox";function vT(e){const t=parseFloat(e);return typeof t!="number"||Number.isNaN(t)?0:t}function xb(e,t){let n=vT(e);const r=10**(t??10);return n=Math.round(n*r)/r,t?n.toFixed(t):n.toString()}function Vv(e){if(!Number.isFinite(e))return 0;let t=1,n=0;for(;Math.round(e*t)/t!==e;)t*=10,n+=1;return n}function Qp(e,t,n){return(e-t)*100/(n-t)}function r3(e,t,n){return(n-t)*e+t}function Uv(e,t,n){const r=Math.round((e-t)/n)*n+t,o=Vv(n);return xb(r,o)}function ac(e,t,n){return e==null?e:(n{var A;return r==null?"":(A=j0(r,s,n))!=null?A:""}),v=typeof o<"u",b=v?o:h,w=o3(oi(b),s),y=n??w,S=f.useCallback(A=>{A!==b&&(v||m(A.toString()),p==null||p(A.toString(),oi(A)))},[p,v,b]),k=f.useCallback(A=>{let L=A;return d&&(L=ac(L,a,c)),xb(L,y)},[y,d,c,a]),_=f.useCallback((A=s)=>{let L;b===""?L=oi(A):L=oi(b)+A,L=k(L),S(L)},[k,s,S,b]),P=f.useCallback((A=s)=>{let L;b===""?L=oi(-A):L=oi(b)-A,L=k(L),S(L)},[k,s,S,b]),I=f.useCallback(()=>{var A;let L;r==null?L="":L=(A=j0(r,s,n))!=null?A:a,S(L)},[r,n,s,S,a]),E=f.useCallback(A=>{var L;const Q=(L=j0(A,s,y))!=null?L:a;S(Q)},[y,s,S,a]),O=oi(b);return{isOutOfRange:O>c||O" `}),[xT,a3]=Dn({name:"EditableContext",errorMessage:"useEditableContext: context is undefined. Seems you forgot to wrap the editable components in ``"}),i3={fontSize:"inherit",fontWeight:"inherit",textAlign:"inherit",bg:"transparent"},l3=Ae(function(t,n){const{getInputProps:r}=a3(),o=s3(),s=r(t,n),a=Ct("chakra-editable__input",t.className);return i.jsx(je.input,{...s,__css:{outline:0,...i3,...o.input},className:a})});l3.displayName="EditableInput";var c3=Ae(function(t,n){const{getPreviewProps:r}=a3(),o=s3(),s=r(t,n),a=Ct("chakra-editable__preview",t.className);return i.jsx(je.span,{...s,__css:{cursor:"text",display:"inline-block",...i3,...o.preview},className:a})});c3.displayName="EditablePreview";function Yi(e,t,n,r){const o=or(n);return f.useEffect(()=>{const s=typeof e=="function"?e():e??document;if(!(!n||!s))return s.addEventListener(t,o,r),()=>{s.removeEventListener(t,o,r)}},[t,e,r,o,n]),()=>{const s=typeof e=="function"?e():e??document;s==null||s.removeEventListener(t,o,r)}}function wT(e){return"current"in e}var u3=()=>typeof window<"u";function ST(){var e;const t=navigator.userAgentData;return(e=t==null?void 0:t.platform)!=null?e:navigator.platform}var CT=e=>u3()&&e.test(navigator.vendor),kT=e=>u3()&&e.test(ST()),_T=()=>kT(/mac|iphone|ipad|ipod/i),PT=()=>_T()&&CT(/apple/i);function d3(e){const{ref:t,elements:n,enabled:r}=e,o=()=>{var s,a;return(a=(s=t.current)==null?void 0:s.ownerDocument)!=null?a:document};Yi(o,"pointerdown",s=>{if(!PT()||!r)return;const a=s.target,d=(n??[t]).some(p=>{const h=wT(p)?p.current:p;return(h==null?void 0:h.contains(a))||h===a});o().activeElement!==a&&d&&(s.preventDefault(),a.focus())})}function Fw(e,t){return e?e===t||e.contains(t):!1}function jT(e={}){const{onChange:t,onCancel:n,onSubmit:r,onBlur:o,value:s,isDisabled:a,defaultValue:c,startWithEditView:d,isPreviewFocusable:p=!0,submitOnBlur:h=!0,selectAllOnFocus:m=!0,placeholder:v,onEdit:b,finalFocusRef:w,...y}=e,S=or(b),k=!!(d&&!a),[_,P]=f.useState(k),[I,E]=zc({defaultValue:c||"",value:s,onChange:t}),[O,R]=f.useState(I),M=f.useRef(null),D=f.useRef(null),A=f.useRef(null),L=f.useRef(null),Q=f.useRef(null);d3({ref:M,enabled:_,elements:[L,Q]});const F=!_&&!a;nc(()=>{var oe,pe;_&&((oe=M.current)==null||oe.focus(),m&&((pe=M.current)==null||pe.select()))},[]),Fa(()=>{var oe,pe,le,ge;if(!_){w?(oe=w.current)==null||oe.focus():(pe=A.current)==null||pe.focus();return}(le=M.current)==null||le.focus(),m&&((ge=M.current)==null||ge.select()),S==null||S()},[_,S,m]);const V=f.useCallback(()=>{F&&P(!0)},[F]),q=f.useCallback(()=>{R(I)},[I]),G=f.useCallback(()=>{P(!1),E(O),n==null||n(O),o==null||o(O)},[n,o,E,O]),T=f.useCallback(()=>{P(!1),R(I),r==null||r(I),o==null||o(O)},[I,r,o,O]);f.useEffect(()=>{if(_)return;const oe=M.current;(oe==null?void 0:oe.ownerDocument.activeElement)===oe&&(oe==null||oe.blur())},[_]);const z=f.useCallback(oe=>{E(oe.currentTarget.value)},[E]),$=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G,Enter:ke=>{!ke.shiftKey&&!ke.metaKey&&T()}}[pe];ge&&(oe.preventDefault(),ge(oe))},[G,T]),Y=f.useCallback(oe=>{const pe=oe.key,ge={Escape:G}[pe];ge&&(oe.preventDefault(),ge(oe))},[G]),ae=I.length===0,fe=f.useCallback(oe=>{var pe;if(!_)return;const le=oe.currentTarget.ownerDocument,ge=(pe=oe.relatedTarget)!=null?pe:le.activeElement,ke=Fw(L.current,ge),xe=Fw(Q.current,ge);!ke&&!xe&&(h?T():G())},[h,T,G,_]),ie=f.useCallback((oe={},pe=null)=>{const le=F&&p?0:void 0;return{...oe,ref:cn(pe,D),children:ae?v:I,hidden:_,"aria-disabled":rs(a),tabIndex:le,onFocus:et(oe.onFocus,V,q)}},[a,_,F,p,ae,V,q,v,I]),X=f.useCallback((oe={},pe=null)=>({...oe,hidden:!_,placeholder:v,ref:cn(pe,M),disabled:a,"aria-disabled":rs(a),value:I,onBlur:et(oe.onBlur,fe),onChange:et(oe.onChange,z),onKeyDown:et(oe.onKeyDown,$),onFocus:et(oe.onFocus,q)}),[a,_,fe,z,$,q,v,I]),K=f.useCallback((oe={},pe=null)=>({...oe,hidden:!_,placeholder:v,ref:cn(pe,M),disabled:a,"aria-disabled":rs(a),value:I,onBlur:et(oe.onBlur,fe),onChange:et(oe.onChange,z),onKeyDown:et(oe.onKeyDown,Y),onFocus:et(oe.onFocus,q)}),[a,_,fe,z,Y,q,v,I]),U=f.useCallback((oe={},pe=null)=>({"aria-label":"Edit",...oe,type:"button",onClick:et(oe.onClick,V),ref:cn(pe,A),disabled:a}),[V,a]),se=f.useCallback((oe={},pe=null)=>({...oe,"aria-label":"Submit",ref:cn(Q,pe),type:"button",onClick:et(oe.onClick,T),disabled:a}),[T,a]),re=f.useCallback((oe={},pe=null)=>({"aria-label":"Cancel",id:"cancel",...oe,ref:cn(L,pe),type:"button",onClick:et(oe.onClick,G),disabled:a}),[G,a]);return{isEditing:_,isDisabled:a,isValueEmpty:ae,value:I,onEdit:V,onCancel:G,onSubmit:T,getPreviewProps:ie,getInputProps:X,getTextareaProps:K,getEditButtonProps:U,getSubmitButtonProps:se,getCancelButtonProps:re,htmlProps:y}}var f3=Ae(function(t,n){const r=Fr("Editable",t),o=qn(t),{htmlProps:s,...a}=jT(o),{isEditing:c,onSubmit:d,onCancel:p,onEdit:h}=a,m=Ct("chakra-editable",t.className),v=Y1(t.children,{isEditing:c,onSubmit:d,onCancel:p,onEdit:h});return i.jsx(xT,{value:a,children:i.jsx(yT,{value:r,children:i.jsx(je.div,{ref:n,...s,className:m,children:v})})})});f3.displayName="Editable";var p3={exports:{}},IT="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",ET=IT,OT=ET;function h3(){}function m3(){}m3.resetWarningCache=h3;var RT=function(){function e(r,o,s,a,c,d){if(d!==OT){var p=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw p.name="Invariant Violation",p}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:m3,resetWarningCache:h3};return n.PropTypes=n,n};p3.exports=RT();var MT=p3.exports;const zn=yd(MT);var Gv="data-focus-lock",g3="data-focus-lock-disabled",DT="data-no-focus-lock",AT="data-autofocus-inside",TT="data-no-autofocus";function NT(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function $T(e,t){var n=f.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}function v3(e,t){return $T(t||null,function(n){return e.forEach(function(r){return NT(r,n)})})}var I0={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"},Qs=function(){return Qs=Object.assign||function(t){for(var n,r=1,o=arguments.length;r0&&s[s.length-1])&&(p[0]===6||p[0]===2)){n=0;continue}if(p[0]===3&&(!s||p[1]>s[0]&&p[1]0)&&!(o=r.next()).done;)s.push(o.value)}catch(c){a={error:c}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return s}function qv(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,s;r=0}).sort(QT)},JT=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],kb=JT.join(","),ZT="".concat(kb,", [data-focus-guard]"),T3=function(e,t){return la((e.shadowRoot||e).children).reduce(function(n,r){return n.concat(r.matches(t?ZT:kb)?[r]:[],T3(r))},[])},eN=function(e,t){var n;return e instanceof HTMLIFrameElement&&(!((n=e.contentDocument)===null||n===void 0)&&n.body)?ym([e.contentDocument.body],t):[e]},ym=function(e,t){return e.reduce(function(n,r){var o,s=T3(r,t),a=(o=[]).concat.apply(o,s.map(function(c){return eN(c,t)}));return n.concat(a,r.parentNode?la(r.parentNode.querySelectorAll(kb)).filter(function(c){return c===r}):[])},[])},tN=function(e){var t=e.querySelectorAll("[".concat(AT,"]"));return la(t).map(function(n){return ym([n])}).reduce(function(n,r){return n.concat(r)},[])},_b=function(e,t){return la(e).filter(function(n){return E3(t,n)}).filter(function(n){return KT(n)})},Ww=function(e,t){return t===void 0&&(t=new Map),la(e).filter(function(n){return O3(t,n)})},Xv=function(e,t,n){return A3(_b(ym(e,n),t),!0,n)},Vw=function(e,t){return A3(_b(ym(e),t),!1)},nN=function(e,t){return _b(tN(e),t)},ic=function(e,t){return e.shadowRoot?ic(e.shadowRoot,t):Object.getPrototypeOf(e).contains!==void 0&&Object.getPrototypeOf(e).contains.call(e,t)?!0:la(e.children).some(function(n){var r;if(n instanceof HTMLIFrameElement){var o=(r=n.contentDocument)===null||r===void 0?void 0:r.body;return o?ic(o,t):!1}return ic(n,t)})},rN=function(e){for(var t=new Set,n=e.length,r=0;r0&&t.add(o),(s&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(r)}return e.filter(function(a,c){return!t.has(c)})},N3=function(e){return e.parentNode?N3(e.parentNode):e},Pb=function(e){var t=Jp(e);return t.filter(Boolean).reduce(function(n,r){var o=r.getAttribute(Gv);return n.push.apply(n,o?rN(la(N3(r).querySelectorAll("[".concat(Gv,'="').concat(o,'"]:not([').concat(g3,'="disabled"])')))):[r]),n},[])},oN=function(e){try{return e()}catch{return}},nd=function(e){if(e===void 0&&(e=document),!(!e||!e.activeElement)){var t=e.activeElement;return t.shadowRoot?nd(t.shadowRoot):t instanceof HTMLIFrameElement&&oN(function(){return t.contentWindow.document})?nd(t.contentWindow.document):t}},sN=function(e,t){return e===t},aN=function(e,t){return!!la(e.querySelectorAll("iframe")).some(function(n){return sN(n,t)})},$3=function(e,t){return t===void 0&&(t=nd(P3(e).ownerDocument)),!t||t.dataset&&t.dataset.focusGuard?!1:Pb(e).some(function(n){return ic(n,t)||aN(n,t)})},iN=function(e){e===void 0&&(e=document);var t=nd(e);return t?la(e.querySelectorAll("[".concat(DT,"]"))).some(function(n){return ic(n,t)}):!1},lN=function(e,t){return t.filter(D3).filter(function(n){return n.name===e.name}).filter(function(n){return n.checked})[0]||e},jb=function(e,t){return D3(e)&&e.name?lN(e,t):e},cN=function(e){var t=new Set;return e.forEach(function(n){return t.add(jb(n,e))}),e.filter(function(n){return t.has(n)})},Uw=function(e){return e[0]&&e.length>1?jb(e[0],e):e[0]},Gw=function(e,t){return e.length>1?e.indexOf(jb(e[t],e)):t},L3="NEW_FOCUS",uN=function(e,t,n,r){var o=e.length,s=e[0],a=e[o-1],c=Cb(n);if(!(n&&e.indexOf(n)>=0)){var d=n!==void 0?t.indexOf(n):-1,p=r?t.indexOf(r):d,h=r?e.indexOf(r):-1,m=d-p,v=t.indexOf(s),b=t.indexOf(a),w=cN(t),y=n!==void 0?w.indexOf(n):-1,S=y-(r?w.indexOf(r):d),k=Gw(e,0),_=Gw(e,o-1);if(d===-1||h===-1)return L3;if(!m&&h>=0)return h;if(d<=v&&c&&Math.abs(m)>1)return _;if(d>=b&&c&&Math.abs(m)>1)return k;if(m&&Math.abs(S)>1)return h;if(d<=v)return _;if(d>b)return k;if(m)return Math.abs(m)>1?h:(o+h+m)%o}},dN=function(e){return function(t){var n,r=(n=R3(t))===null||n===void 0?void 0:n.autofocus;return t.autofocus||r!==void 0&&r!=="false"||e.indexOf(t)>=0}},fN=function(e,t,n){var r=e.map(function(s){var a=s.node;return a}),o=Ww(r.filter(dN(n)));return o&&o.length?Uw(o):Uw(Ww(t))},Yv=function(e,t){return t===void 0&&(t=[]),t.push(e),e.parentNode&&Yv(e.parentNode.host||e.parentNode,t),t},E0=function(e,t){for(var n=Yv(e),r=Yv(t),o=0;o=0)return s}return!1},z3=function(e,t,n){var r=Jp(e),o=Jp(t),s=r[0],a=!1;return o.filter(Boolean).forEach(function(c){a=E0(a||c,c)||a,n.filter(Boolean).forEach(function(d){var p=E0(s,d);p&&(!a||ic(p,a)?a=p:a=E0(p,a))})}),a},pN=function(e,t){return e.reduce(function(n,r){return n.concat(nN(r,t))},[])},hN=function(e,t){var n=new Map;return t.forEach(function(r){return n.set(r.node,r)}),e.map(function(r){return n.get(r)}).filter(YT)},mN=function(e,t){var n=nd(Jp(e).length>0?document:P3(e).ownerDocument),r=Pb(e).filter(Zp),o=z3(n||e,e,r),s=new Map,a=Vw(r,s),c=Xv(r,s).filter(function(b){var w=b.node;return Zp(w)});if(!(!c[0]&&(c=a,!c[0]))){var d=Vw([o],s).map(function(b){var w=b.node;return w}),p=hN(d,c),h=p.map(function(b){var w=b.node;return w}),m=uN(h,d,n,t);if(m===L3){var v=fN(a,h,pN(r,s));if(v)return{node:v};console.warn("focus-lock: cannot find any node to move focus into");return}return m===void 0?m:p[m]}},gN=function(e){var t=Pb(e).filter(Zp),n=z3(e,e,t),r=new Map,o=Xv([n],r,!0),s=Xv(t,r).filter(function(a){var c=a.node;return Zp(c)}).map(function(a){var c=a.node;return c});return o.map(function(a){var c=a.node,d=a.index;return{node:c,index:d,lockItem:s.indexOf(c)>=0,guard:Cb(c)}})},vN=function(e,t){"focus"in e&&e.focus(t),"contentWindow"in e&&e.contentWindow&&e.contentWindow.focus()},O0=0,R0=!1,B3=function(e,t,n){n===void 0&&(n={});var r=mN(e,t);if(!R0&&r){if(O0>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),R0=!0,setTimeout(function(){R0=!1},1);return}O0++,vN(r.node,n.focusOptions),O0--}};function Ib(e){setTimeout(e,1)}var bN=function(){return document&&document.activeElement===document.body},yN=function(){return bN()||iN()},lc=null,Ql=null,cc=null,rd=!1,xN=function(){return!0},wN=function(t){return(lc.whiteList||xN)(t)},SN=function(t,n){cc={observerNode:t,portaledElement:n}},CN=function(t){return cc&&cc.portaledElement===t};function qw(e,t,n,r){var o=null,s=e;do{var a=r[s];if(a.guard)a.node.dataset.focusAutoGuard&&(o=a);else if(a.lockItem){if(s!==e)return;o=null}else break}while((s+=n)!==t);o&&(o.node.tabIndex=0)}var kN=function(t){return t&&"current"in t?t.current:t},_N=function(t){return t?!!rd:rd==="meanwhile"},PN=function e(t,n,r){return n&&(n.host===t&&(!n.activeElement||r.contains(n.activeElement))||n.parentNode&&e(t,n.parentNode,r))},jN=function(t,n){return n.some(function(r){return PN(t,r,r)})},eh=function(){var t=!1;if(lc){var n=lc,r=n.observed,o=n.persistentFocus,s=n.autoFocus,a=n.shards,c=n.crossFrame,d=n.focusOptions,p=r||cc&&cc.portaledElement,h=document&&document.activeElement;if(p){var m=[p].concat(a.map(kN).filter(Boolean));if((!h||wN(h))&&(o||_N(c)||!yN()||!Ql&&s)&&(p&&!($3(m)||h&&jN(h,m)||CN(h))&&(document&&!Ql&&h&&!s?(h.blur&&h.blur(),document.body.focus()):(t=B3(m,Ql,{focusOptions:d}),cc={})),rd=!1,Ql=document&&document.activeElement),document){var v=document&&document.activeElement,b=gN(m),w=b.map(function(y){var S=y.node;return S}).indexOf(v);w>-1&&(b.filter(function(y){var S=y.guard,k=y.node;return S&&k.dataset.focusAutoGuard}).forEach(function(y){var S=y.node;return S.removeAttribute("tabIndex")}),qw(w,b.length,1,b),qw(w,-1,-1,b))}}}return t},F3=function(t){eh()&&t&&(t.stopPropagation(),t.preventDefault())},Eb=function(){return Ib(eh)},IN=function(t){var n=t.target,r=t.currentTarget;r.contains(n)||SN(r,n)},EN=function(){return null},H3=function(){rd="just",Ib(function(){rd="meanwhile"})},ON=function(){document.addEventListener("focusin",F3),document.addEventListener("focusout",Eb),window.addEventListener("blur",H3)},RN=function(){document.removeEventListener("focusin",F3),document.removeEventListener("focusout",Eb),window.removeEventListener("blur",H3)};function MN(e){return e.filter(function(t){var n=t.disabled;return!n})}function DN(e){var t=e.slice(-1)[0];t&&!lc&&ON();var n=lc,r=n&&t&&t.id===n.id;lc=t,n&&!r&&(n.onDeactivation(),e.filter(function(o){var s=o.id;return s===n.id}).length||n.returnFocus(!t)),t?(Ql=null,(!r||n.observed!==t.observed)&&t.onActivation(),eh(),Ib(eh)):(RN(),Ql=null)}C3.assignSyncMedium(IN);k3.assignMedium(Eb);zT.assignMedium(function(e){return e({moveFocusInside:B3,focusInside:$3})});const AN=WT(MN,DN)(EN);var W3=f.forwardRef(function(t,n){return f.createElement(_3,sr({sideCar:AN,ref:n},t))}),V3=_3.propTypes||{};V3.sideCar;D9(V3,["sideCar"]);W3.propTypes={};const Kw=W3;function U3(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function Ob(e){var t;if(!U3(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function TN(e){var t,n;return(n=(t=G3(e))==null?void 0:t.defaultView)!=null?n:window}function G3(e){return U3(e)?e.ownerDocument:document}function NN(e){return G3(e).activeElement}function $N(e){const t=e.ownerDocument.defaultView||window,{overflow:n,overflowX:r,overflowY:o}=t.getComputedStyle(e);return/auto|scroll|overlay|hidden/.test(n+o+r)}function LN(e){return e.localName==="html"?e:e.assignedSlot||e.parentElement||e.ownerDocument.documentElement}function q3(e){return["html","body","#document"].includes(e.localName)?e.ownerDocument.body:Ob(e)&&$N(e)?e:q3(LN(e))}var K3=e=>e.hasAttribute("tabindex"),zN=e=>K3(e)&&e.tabIndex===-1;function BN(e){return!!e.getAttribute("disabled")||!!e.getAttribute("aria-disabled")}function X3(e){return e.parentElement&&X3(e.parentElement)?!0:e.hidden}function FN(e){const t=e.getAttribute("contenteditable");return t!=="false"&&t!=null}function Y3(e){if(!Ob(e)||X3(e)||BN(e))return!1;const{localName:t}=e;if(["input","select","textarea","button"].indexOf(t)>=0)return!0;const r={a:()=>e.hasAttribute("href"),audio:()=>e.hasAttribute("controls"),video:()=>e.hasAttribute("controls")};return t in r?r[t]():FN(e)?!0:K3(e)}function HN(e){return e?Ob(e)&&Y3(e)&&!zN(e):!1}var WN=["input:not(:disabled):not([disabled])","select:not(:disabled):not([disabled])","textarea:not(:disabled):not([disabled])","embed","iframe","object","a[href]","area[href]","button:not(:disabled):not([disabled])","[tabindex]","audio[controls]","video[controls]","*[tabindex]:not([aria-disabled])","*[contenteditable]"],VN=WN.join(),UN=e=>e.offsetWidth>0&&e.offsetHeight>0;function Q3(e){const t=Array.from(e.querySelectorAll(VN));return t.unshift(e),t.filter(n=>Y3(n)&&UN(n))}var Xw,GN=(Xw=Kw.default)!=null?Xw:Kw,J3=e=>{const{initialFocusRef:t,finalFocusRef:n,contentRef:r,restoreFocus:o,children:s,isDisabled:a,autoFocus:c,persistentFocus:d,lockFocusAcrossFrames:p}=e,h=f.useCallback(()=>{t!=null&&t.current?t.current.focus():r!=null&&r.current&&Q3(r.current).length===0&&requestAnimationFrame(()=>{var w;(w=r.current)==null||w.focus()})},[t,r]),m=f.useCallback(()=>{var b;(b=n==null?void 0:n.current)==null||b.focus()},[n]),v=o&&!n;return i.jsx(GN,{crossFrame:p,persistentFocus:d,autoFocus:c,disabled:a,onActivation:h,onDeactivation:m,returnFocus:v,children:s})};J3.displayName="FocusLock";var qN=nA?f.useLayoutEffect:f.useEffect;function th(e,t=[]){const n=f.useRef(e);return qN(()=>{n.current=e}),f.useCallback((...r)=>{var o;return(o=n.current)==null?void 0:o.call(n,...r)},t)}function KN(e,t,n,r){const o=th(t);return f.useEffect(()=>{var s;const a=(s=U2(n))!=null?s:document;if(t)return a.addEventListener(e,o,r),()=>{a.removeEventListener(e,o,r)}},[e,n,r,o,t]),()=>{var s;((s=U2(n))!=null?s:document).removeEventListener(e,o,r)}}function XN(e){const{ref:t,handler:n,enabled:r=!0}=e,o=th(n),a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{M0(m,t)&&(a.isPointerDown=!0)},d=m=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&M0(m,t)&&(a.isPointerDown=!1,o(m))},p=m=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&M0(m,t)&&(a.isPointerDown=!1,o(m))},h=H5(t.current);return h.addEventListener("mousedown",c,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",c,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",c,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",c,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,a,r])}function M0(e,t){var n;const r=e.target;return r&&!H5(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function YN(e,t){const n=f.useId();return f.useMemo(()=>e||[t,n].filter(Boolean).join("-"),[e,t,n])}function QN(e,t){const n=e!==void 0;return[n,n&&typeof e<"u"?e:t]}function ss(e={}){const{onClose:t,onOpen:n,isOpen:r,id:o}=e,s=th(n),a=th(t),[c,d]=f.useState(e.defaultIsOpen||!1),[p,h]=QN(r,c),m=YN(o,"disclosure"),v=f.useCallback(()=>{p||d(!1),a==null||a()},[p,a]),b=f.useCallback(()=>{p||d(!0),s==null||s()},[p,s]),w=f.useCallback(()=>{(h?v:b)()},[h,b,v]);return{isOpen:!!h,onOpen:b,onClose:v,onToggle:w,isControlled:p,getButtonProps:(y={})=>({...y,"aria-expanded":h,"aria-controls":m,onClick:$R(y.onClick,w)}),getDisclosureProps:(y={})=>({...y,hidden:!h,id:m})}}var[JN,ZN]=Dn({name:"InputGroupStylesContext",errorMessage:`useInputGroupStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Z3=Ae(function(t,n){const r=Fr("Input",t),{children:o,className:s,...a}=qn(t),c=Ct("chakra-input__group",s),d={},p=Pd(o),h=r.field;p.forEach(v=>{var b,w;r&&(h&&v.type.id==="InputLeftElement"&&(d.paddingStart=(b=h.height)!=null?b:h.h),h&&v.type.id==="InputRightElement"&&(d.paddingEnd=(w=h.height)!=null?w:h.h),v.type.id==="InputRightAddon"&&(d.borderEndRadius=0),v.type.id==="InputLeftAddon"&&(d.borderStartRadius=0))});const m=p.map(v=>{var b,w;const y=fb({size:((b=v.props)==null?void 0:b.size)||t.size,variant:((w=v.props)==null?void 0:w.variant)||t.variant});return v.type.id!=="Input"?f.cloneElement(v,y):f.cloneElement(v,Object.assign(y,d,v.props))});return i.jsx(je.div,{className:c,ref:n,__css:{width:"100%",display:"flex",position:"relative",isolation:"isolate",...r.group},"data-group":!0,...a,children:i.jsx(JN,{value:r,children:m})})});Z3.displayName="InputGroup";var e$=je("div",{baseStyle:{display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",top:"0",zIndex:2}}),xm=Ae(function(t,n){var r,o;const{placement:s="left",...a}=t,c=ZN(),d=c.field,h={[s==="left"?"insetStart":"insetEnd"]:"0",width:(r=d==null?void 0:d.height)!=null?r:d==null?void 0:d.h,height:(o=d==null?void 0:d.height)!=null?o:d==null?void 0:d.h,fontSize:d==null?void 0:d.fontSize,...c.element};return i.jsx(e$,{ref:n,__css:h,...a})});xm.id="InputElement";xm.displayName="InputElement";var e6=Ae(function(t,n){const{className:r,...o}=t,s=Ct("chakra-input__left-element",r);return i.jsx(xm,{ref:n,placement:"left",className:s,...o})});e6.id="InputLeftElement";e6.displayName="InputLeftElement";var Rb=Ae(function(t,n){const{className:r,...o}=t,s=Ct("chakra-input__right-element",r);return i.jsx(xm,{ref:n,placement:"right",className:s,...o})});Rb.id="InputRightElement";Rb.displayName="InputRightElement";var Ed=Ae(function(t,n){const{htmlSize:r,...o}=t,s=Fr("Input",o),a=qn(o),c=gb(a),d=Ct("chakra-input",t.className);return i.jsx(je.input,{size:r,...c,__css:s.field,ref:n,className:d})});Ed.displayName="Input";Ed.id="Input";var Mb=Ae(function(t,n){const r=ia("Link",t),{className:o,isExternal:s,...a}=qn(t);return i.jsx(je.a,{target:s?"_blank":void 0,rel:s?"noopener":void 0,ref:n,className:Ct("chakra-link",o),...a,__css:r})});Mb.displayName="Link";var[t$,t6]=Dn({name:"ListStylesContext",errorMessage:`useListStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Db=Ae(function(t,n){const r=Fr("List",t),{children:o,styleType:s="none",stylePosition:a,spacing:c,...d}=qn(t),p=Pd(o),m=c?{["& > *:not(style) ~ *:not(style)"]:{mt:c}}:{};return i.jsx(t$,{value:r,children:i.jsx(je.ul,{ref:n,listStyleType:s,listStylePosition:a,role:"list",__css:{...r.container,...m},...d,children:p})})});Db.displayName="List";var n$=Ae((e,t)=>{const{as:n,...r}=e;return i.jsx(Db,{ref:t,as:"ol",styleType:"decimal",marginStart:"1em",...r})});n$.displayName="OrderedList";var Ab=Ae(function(t,n){const{as:r,...o}=t;return i.jsx(Db,{ref:n,as:"ul",styleType:"initial",marginStart:"1em",...o})});Ab.displayName="UnorderedList";var Sa=Ae(function(t,n){const r=t6();return i.jsx(je.li,{ref:n,...t,__css:r.item})});Sa.displayName="ListItem";var r$=Ae(function(t,n){const r=t6();return i.jsx(fo,{ref:n,role:"presentation",...t,__css:r.icon})});r$.displayName="ListIcon";var sl=Ae(function(t,n){const{templateAreas:r,gap:o,rowGap:s,columnGap:a,column:c,row:d,autoFlow:p,autoRows:h,templateRows:m,autoColumns:v,templateColumns:b,...w}=t,y={display:"grid",gridTemplateAreas:r,gridGap:o,gridRowGap:s,gridColumnGap:a,gridAutoColumns:v,gridColumn:c,gridRow:d,gridAutoFlow:p,gridAutoRows:h,gridTemplateRows:m,gridTemplateColumns:b};return i.jsx(je.div,{ref:n,__css:y,...w})});sl.displayName="Grid";function n6(e,t){return Array.isArray(e)?e.map(n=>n===null?null:t(n)):jv(e)?Object.keys(e).reduce((n,r)=>(n[r]=t(e[r]),n),{}):e!=null?t(e):null}var ml=je("div",{baseStyle:{flex:1,justifySelf:"stretch",alignSelf:"stretch"}});ml.displayName="Spacer";var Qe=Ae(function(t,n){const r=ia("Text",t),{className:o,align:s,decoration:a,casing:c,...d}=qn(t),p=fb({textAlign:t.align,textDecoration:t.decoration,textTransform:t.casing});return i.jsx(je.p,{ref:n,className:Ct("chakra-text",t.className),...p,...d,__css:r})});Qe.displayName="Text";var r6=e=>i.jsx(je.div,{className:"chakra-stack__item",...e,__css:{display:"inline-block",flex:"0 0 auto",minWidth:0,...e.__css}});r6.displayName="StackItem";function o$(e){const{spacing:t,direction:n}=e,r={column:{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},"column-reverse":{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},row:{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0},"row-reverse":{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0}};return{"&":n6(n,o=>r[o])}}var Tb=Ae((e,t)=>{const{isInline:n,direction:r,align:o,justify:s,spacing:a="0.5rem",wrap:c,children:d,divider:p,className:h,shouldWrapChildren:m,...v}=e,b=n?"row":r??"column",w=f.useMemo(()=>o$({spacing:a,direction:b}),[a,b]),y=!!p,S=!m&&!y,k=f.useMemo(()=>{const P=Pd(d);return S?P:P.map((I,E)=>{const O=typeof I.key<"u"?I.key:E,R=E+1===P.length,D=m?i.jsx(r6,{children:I},O):I;if(!y)return D;const A=f.cloneElement(p,{__css:w}),L=R?null:A;return i.jsxs(f.Fragment,{children:[D,L]},O)})},[p,w,y,S,m,d]),_=Ct("chakra-stack",h);return i.jsx(je.div,{ref:t,display:"flex",alignItems:o,justifyContent:s,flexDirection:b,flexWrap:c,gap:y?void 0:a,className:_,...v,children:k})});Tb.displayName="Stack";var o6=Ae((e,t)=>i.jsx(Tb,{align:"center",...e,direction:"column",ref:t}));o6.displayName="VStack";var pi=Ae((e,t)=>i.jsx(Tb,{align:"center",...e,direction:"row",ref:t}));pi.displayName="HStack";function Yw(e){return n6(e,t=>t==="auto"?"auto":`span ${t}/span ${t}`)}var Qv=Ae(function(t,n){const{area:r,colSpan:o,colStart:s,colEnd:a,rowEnd:c,rowSpan:d,rowStart:p,...h}=t,m=fb({gridArea:r,gridColumn:Yw(o),gridRow:Yw(d),gridColumnStart:s,gridColumnEnd:a,gridRowStart:p,gridRowEnd:c});return i.jsx(je.div,{ref:n,__css:m,...h})});Qv.displayName="GridItem";var gl=Ae(function(t,n){const r=ia("Badge",t),{className:o,...s}=qn(t);return i.jsx(je.span,{ref:n,className:Ct("chakra-badge",t.className),...s,__css:{display:"inline-block",whiteSpace:"nowrap",verticalAlign:"middle",...r}})});gl.displayName="Badge";var Wa=Ae(function(t,n){const{borderLeftWidth:r,borderBottomWidth:o,borderTopWidth:s,borderRightWidth:a,borderWidth:c,borderStyle:d,borderColor:p,...h}=ia("Divider",t),{className:m,orientation:v="horizontal",__css:b,...w}=qn(t),y={vertical:{borderLeftWidth:r||a||c||"1px",height:"100%"},horizontal:{borderBottomWidth:o||s||c||"1px",width:"100%"}};return i.jsx(je.hr,{ref:n,"aria-orientation":v,...w,__css:{...h,border:"0",borderColor:p,borderStyle:d,...y[v],...b},className:Ct("chakra-divider",m)})});Wa.displayName="Divider";function s$(e){const{key:t}=e;return t.length===1||t.length>1&&/[^a-zA-Z0-9]/.test(t)}function a$(e={}){const{timeout:t=300,preventDefault:n=()=>!0}=e,[r,o]=f.useState([]),s=f.useRef(),a=()=>{s.current&&(clearTimeout(s.current),s.current=null)},c=()=>{a(),s.current=setTimeout(()=>{o([]),s.current=null},t)};f.useEffect(()=>a,[]);function d(p){return h=>{if(h.key==="Backspace"){const m=[...r];m.pop(),o(m);return}if(s$(h)){const m=r.concat(h.key);n(h)&&(h.preventDefault(),h.stopPropagation()),o(m),p(m.join("")),c()}}}return d}function i$(e,t,n,r){if(t==null)return r;if(!r)return e.find(a=>n(a).toLowerCase().startsWith(t.toLowerCase()));const o=e.filter(s=>n(s).toLowerCase().startsWith(t.toLowerCase()));if(o.length>0){let s;return o.includes(r)?(s=o.indexOf(r)+1,s===o.length&&(s=0),o[s]):(s=e.indexOf(o[0]),e[s])}return r}function l$(){const e=f.useRef(new Map),t=e.current,n=f.useCallback((o,s,a,c)=>{e.current.set(a,{type:s,el:o,options:c}),o.addEventListener(s,a,c)},[]),r=f.useCallback((o,s,a,c)=>{o.removeEventListener(s,a,c),e.current.delete(a)},[]);return f.useEffect(()=>()=>{t.forEach((o,s)=>{r(o.el,o.type,s,o.options)})},[r,t]),{add:n,remove:r}}function D0(e){const t=e.target,{tagName:n,isContentEditable:r}=t;return n!=="INPUT"&&n!=="TEXTAREA"&&r!==!0}function s6(e={}){const{ref:t,isDisabled:n,isFocusable:r,clickOnEnter:o=!0,clickOnSpace:s=!0,onMouseDown:a,onMouseUp:c,onClick:d,onKeyDown:p,onKeyUp:h,tabIndex:m,onMouseOver:v,onMouseLeave:b,...w}=e,[y,S]=f.useState(!0),[k,_]=f.useState(!1),P=l$(),I=T=>{T&&T.tagName!=="BUTTON"&&S(!1)},E=y?m:m||0,O=n&&!r,R=f.useCallback(T=>{if(n){T.stopPropagation(),T.preventDefault();return}T.currentTarget.focus(),d==null||d(T)},[n,d]),M=f.useCallback(T=>{k&&D0(T)&&(T.preventDefault(),T.stopPropagation(),_(!1),P.remove(document,"keyup",M,!1))},[k,P]),D=f.useCallback(T=>{if(p==null||p(T),n||T.defaultPrevented||T.metaKey||!D0(T.nativeEvent)||y)return;const z=o&&T.key==="Enter";s&&T.key===" "&&(T.preventDefault(),_(!0)),z&&(T.preventDefault(),T.currentTarget.click()),P.add(document,"keyup",M,!1)},[n,y,p,o,s,P,M]),A=f.useCallback(T=>{if(h==null||h(T),n||T.defaultPrevented||T.metaKey||!D0(T.nativeEvent)||y)return;s&&T.key===" "&&(T.preventDefault(),_(!1),T.currentTarget.click())},[s,y,n,h]),L=f.useCallback(T=>{T.button===0&&(_(!1),P.remove(document,"mouseup",L,!1))},[P]),Q=f.useCallback(T=>{if(T.button!==0)return;if(n){T.stopPropagation(),T.preventDefault();return}y||_(!0),T.currentTarget.focus({preventScroll:!0}),P.add(document,"mouseup",L,!1),a==null||a(T)},[n,y,a,P,L]),F=f.useCallback(T=>{T.button===0&&(y||_(!1),c==null||c(T))},[c,y]),V=f.useCallback(T=>{if(n){T.preventDefault();return}v==null||v(T)},[n,v]),q=f.useCallback(T=>{k&&(T.preventDefault(),_(!1)),b==null||b(T)},[k,b]),G=cn(t,I);return y?{...w,ref:G,type:"button","aria-disabled":O?void 0:n,disabled:O,onClick:R,onMouseDown:a,onMouseUp:c,onKeyUp:h,onKeyDown:p,onMouseOver:v,onMouseLeave:b}:{...w,ref:G,role:"button","data-active":Ft(k),"aria-disabled":n?"true":void 0,tabIndex:O?void 0:E,onClick:R,onMouseDown:Q,onMouseUp:F,onKeyUp:A,onKeyDown:D,onMouseOver:V,onMouseLeave:q}}function c$(e){const t=e.current;if(!t)return!1;const n=NN(t);return!n||t.contains(n)?!1:!!HN(n)}function a6(e,t){const{shouldFocus:n,visible:r,focusRef:o}=t,s=n&&!r;Fa(()=>{if(!s||c$(e))return;const a=(o==null?void 0:o.current)||e.current;let c;if(a)return c=requestAnimationFrame(()=>{a.focus({preventScroll:!0})}),()=>{cancelAnimationFrame(c)}},[s,e,o])}var u$={preventScroll:!0,shouldFocus:!1};function d$(e,t=u$){const{focusRef:n,preventScroll:r,shouldFocus:o,visible:s}=t,a=f$(e)?e.current:e,c=o&&s,d=f.useRef(c),p=f.useRef(s);nc(()=>{!p.current&&s&&(d.current=c),p.current=s},[s,c]);const h=f.useCallback(()=>{if(!(!s||!a||!d.current)&&(d.current=!1,!a.contains(document.activeElement)))if(n!=null&&n.current)requestAnimationFrame(()=>{var m;(m=n.current)==null||m.focus({preventScroll:r})});else{const m=Q3(a);m.length>0&&requestAnimationFrame(()=>{m[0].focus({preventScroll:r})})}},[s,r,a,n]);Fa(()=>{h()},[h]),Yi(a,"transitionend",h)}function f$(e){return"current"in e}var $l=(e,t)=>({var:e,varRef:t?`var(${e}, ${t})`:`var(${e})`}),Ir={arrowShadowColor:$l("--popper-arrow-shadow-color"),arrowSize:$l("--popper-arrow-size","8px"),arrowSizeHalf:$l("--popper-arrow-size-half"),arrowBg:$l("--popper-arrow-bg"),transformOrigin:$l("--popper-transform-origin"),arrowOffset:$l("--popper-arrow-offset")};function p$(e){if(e.includes("top"))return"1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("bottom"))return"-1px -1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("right"))return"-1px 1px 0px 0 var(--popper-arrow-shadow-color)";if(e.includes("left"))return"1px -1px 0px 0 var(--popper-arrow-shadow-color)"}var h$={top:"bottom center","top-start":"bottom left","top-end":"bottom right",bottom:"top center","bottom-start":"top left","bottom-end":"top right",left:"right center","left-start":"right top","left-end":"right bottom",right:"left center","right-start":"left top","right-end":"left bottom"},m$=e=>h$[e],Qw={scroll:!0,resize:!0};function g$(e){let t;return typeof e=="object"?t={enabled:!0,options:{...Qw,...e}}:t={enabled:e,options:Qw},t}var v$={name:"matchWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect:({state:e})=>()=>{const t=e.elements.reference;e.elements.popper.style.width=`${t.offsetWidth}px`}},b$={name:"transformOrigin",enabled:!0,phase:"write",fn:({state:e})=>{Jw(e)},effect:({state:e})=>()=>{Jw(e)}},Jw=e=>{e.elements.popper.style.setProperty(Ir.transformOrigin.var,m$(e.placement))},y$={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:({state:e})=>{x$(e)}},x$=e=>{var t;if(!e.placement)return;const n=w$(e.placement);if((t=e.elements)!=null&&t.arrow&&n){Object.assign(e.elements.arrow.style,{[n.property]:n.value,width:Ir.arrowSize.varRef,height:Ir.arrowSize.varRef,zIndex:-1});const r={[Ir.arrowSizeHalf.var]:`calc(${Ir.arrowSize.varRef} / 2 - 1px)`,[Ir.arrowOffset.var]:`calc(${Ir.arrowSizeHalf.varRef} * -1)`};for(const o in r)e.elements.arrow.style.setProperty(o,r[o])}},w$=e=>{if(e.startsWith("top"))return{property:"bottom",value:Ir.arrowOffset.varRef};if(e.startsWith("bottom"))return{property:"top",value:Ir.arrowOffset.varRef};if(e.startsWith("left"))return{property:"right",value:Ir.arrowOffset.varRef};if(e.startsWith("right"))return{property:"left",value:Ir.arrowOffset.varRef}},S$={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:({state:e})=>{Zw(e)},effect:({state:e})=>()=>{Zw(e)}},Zw=e=>{if(!e.elements.arrow)return;const t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");if(!t)return;const n=p$(e.placement);n&&t.style.setProperty("--popper-arrow-default-shadow",n),Object.assign(t.style,{transform:"rotate(45deg)",background:Ir.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:"var(--popper-arrow-shadow, var(--popper-arrow-default-shadow))"})},C$={"start-start":{ltr:"left-start",rtl:"right-start"},"start-end":{ltr:"left-end",rtl:"right-end"},"end-start":{ltr:"right-start",rtl:"left-start"},"end-end":{ltr:"right-end",rtl:"left-end"},start:{ltr:"left",rtl:"right"},end:{ltr:"right",rtl:"left"}},k$={"auto-start":"auto-end","auto-end":"auto-start","top-start":"top-end","top-end":"top-start","bottom-start":"bottom-end","bottom-end":"bottom-start"};function _$(e,t="ltr"){var n,r;const o=((n=C$[e])==null?void 0:n[t])||e;return t==="ltr"?o:(r=k$[e])!=null?r:o}var _o="top",as="bottom",is="right",Po="left",Nb="auto",Od=[_o,as,is,Po],xc="start",od="end",P$="clippingParents",i6="viewport",gu="popper",j$="reference",eS=Od.reduce(function(e,t){return e.concat([t+"-"+xc,t+"-"+od])},[]),l6=[].concat(Od,[Nb]).reduce(function(e,t){return e.concat([t,t+"-"+xc,t+"-"+od])},[]),I$="beforeRead",E$="read",O$="afterRead",R$="beforeMain",M$="main",D$="afterMain",A$="beforeWrite",T$="write",N$="afterWrite",$$=[I$,E$,O$,R$,M$,D$,A$,T$,N$];function ra(e){return e?(e.nodeName||"").toLowerCase():null}function Fo(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function al(e){var t=Fo(e).Element;return e instanceof t||e instanceof Element}function os(e){var t=Fo(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function $b(e){if(typeof ShadowRoot>"u")return!1;var t=Fo(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function L$(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},o=t.attributes[n]||{},s=t.elements[n];!os(s)||!ra(s)||(Object.assign(s.style,r),Object.keys(o).forEach(function(a){var c=o[a];c===!1?s.removeAttribute(a):s.setAttribute(a,c===!0?"":c)}))})}function z$(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var o=t.elements[r],s=t.attributes[r]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),c=a.reduce(function(d,p){return d[p]="",d},{});!os(o)||!ra(o)||(Object.assign(o.style,c),Object.keys(s).forEach(function(d){o.removeAttribute(d)}))})}}const B$={name:"applyStyles",enabled:!0,phase:"write",fn:L$,effect:z$,requires:["computeStyles"]};function ta(e){return e.split("-")[0]}var Qi=Math.max,nh=Math.min,wc=Math.round;function Jv(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function c6(){return!/^((?!chrome|android).)*safari/i.test(Jv())}function Sc(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),o=1,s=1;t&&os(e)&&(o=e.offsetWidth>0&&wc(r.width)/e.offsetWidth||1,s=e.offsetHeight>0&&wc(r.height)/e.offsetHeight||1);var a=al(e)?Fo(e):window,c=a.visualViewport,d=!c6()&&n,p=(r.left+(d&&c?c.offsetLeft:0))/o,h=(r.top+(d&&c?c.offsetTop:0))/s,m=r.width/o,v=r.height/s;return{width:m,height:v,top:h,right:p+m,bottom:h+v,left:p,x:p,y:h}}function Lb(e){var t=Sc(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function u6(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&$b(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Ra(e){return Fo(e).getComputedStyle(e)}function F$(e){return["table","td","th"].indexOf(ra(e))>=0}function Pi(e){return((al(e)?e.ownerDocument:e.document)||window.document).documentElement}function wm(e){return ra(e)==="html"?e:e.assignedSlot||e.parentNode||($b(e)?e.host:null)||Pi(e)}function tS(e){return!os(e)||Ra(e).position==="fixed"?null:e.offsetParent}function H$(e){var t=/firefox/i.test(Jv()),n=/Trident/i.test(Jv());if(n&&os(e)){var r=Ra(e);if(r.position==="fixed")return null}var o=wm(e);for($b(o)&&(o=o.host);os(o)&&["html","body"].indexOf(ra(o))<0;){var s=Ra(o);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||t&&s.willChange==="filter"||t&&s.filter&&s.filter!=="none")return o;o=o.parentNode}return null}function Rd(e){for(var t=Fo(e),n=tS(e);n&&F$(n)&&Ra(n).position==="static";)n=tS(n);return n&&(ra(n)==="html"||ra(n)==="body"&&Ra(n).position==="static")?t:n||H$(e)||t}function zb(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Wu(e,t,n){return Qi(e,nh(t,n))}function W$(e,t,n){var r=Wu(e,t,n);return r>n?n:r}function d6(){return{top:0,right:0,bottom:0,left:0}}function f6(e){return Object.assign({},d6(),e)}function p6(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var V$=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,f6(typeof t!="number"?t:p6(t,Od))};function U$(e){var t,n=e.state,r=e.name,o=e.options,s=n.elements.arrow,a=n.modifiersData.popperOffsets,c=ta(n.placement),d=zb(c),p=[Po,is].indexOf(c)>=0,h=p?"height":"width";if(!(!s||!a)){var m=V$(o.padding,n),v=Lb(s),b=d==="y"?_o:Po,w=d==="y"?as:is,y=n.rects.reference[h]+n.rects.reference[d]-a[d]-n.rects.popper[h],S=a[d]-n.rects.reference[d],k=Rd(s),_=k?d==="y"?k.clientHeight||0:k.clientWidth||0:0,P=y/2-S/2,I=m[b],E=_-v[h]-m[w],O=_/2-v[h]/2+P,R=Wu(I,O,E),M=d;n.modifiersData[r]=(t={},t[M]=R,t.centerOffset=R-O,t)}}function G$(e){var t=e.state,n=e.options,r=n.element,o=r===void 0?"[data-popper-arrow]":r;o!=null&&(typeof o=="string"&&(o=t.elements.popper.querySelector(o),!o)||u6(t.elements.popper,o)&&(t.elements.arrow=o))}const q$={name:"arrow",enabled:!0,phase:"main",fn:U$,effect:G$,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Cc(e){return e.split("-")[1]}var K$={top:"auto",right:"auto",bottom:"auto",left:"auto"};function X$(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:wc(n*o)/o||0,y:wc(r*o)/o||0}}function nS(e){var t,n=e.popper,r=e.popperRect,o=e.placement,s=e.variation,a=e.offsets,c=e.position,d=e.gpuAcceleration,p=e.adaptive,h=e.roundOffsets,m=e.isFixed,v=a.x,b=v===void 0?0:v,w=a.y,y=w===void 0?0:w,S=typeof h=="function"?h({x:b,y}):{x:b,y};b=S.x,y=S.y;var k=a.hasOwnProperty("x"),_=a.hasOwnProperty("y"),P=Po,I=_o,E=window;if(p){var O=Rd(n),R="clientHeight",M="clientWidth";if(O===Fo(n)&&(O=Pi(n),Ra(O).position!=="static"&&c==="absolute"&&(R="scrollHeight",M="scrollWidth")),O=O,o===_o||(o===Po||o===is)&&s===od){I=as;var D=m&&O===E&&E.visualViewport?E.visualViewport.height:O[R];y-=D-r.height,y*=d?1:-1}if(o===Po||(o===_o||o===as)&&s===od){P=is;var A=m&&O===E&&E.visualViewport?E.visualViewport.width:O[M];b-=A-r.width,b*=d?1:-1}}var L=Object.assign({position:c},p&&K$),Q=h===!0?X$({x:b,y},Fo(n)):{x:b,y};if(b=Q.x,y=Q.y,d){var F;return Object.assign({},L,(F={},F[I]=_?"0":"",F[P]=k?"0":"",F.transform=(E.devicePixelRatio||1)<=1?"translate("+b+"px, "+y+"px)":"translate3d("+b+"px, "+y+"px, 0)",F))}return Object.assign({},L,(t={},t[I]=_?y+"px":"",t[P]=k?b+"px":"",t.transform="",t))}function Y$(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=r===void 0?!0:r,s=n.adaptive,a=s===void 0?!0:s,c=n.roundOffsets,d=c===void 0?!0:c,p={placement:ta(t.placement),variation:Cc(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,nS(Object.assign({},p,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:d})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,nS(Object.assign({},p,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:d})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const Q$={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Y$,data:{}};var Hf={passive:!0};function J$(e){var t=e.state,n=e.instance,r=e.options,o=r.scroll,s=o===void 0?!0:o,a=r.resize,c=a===void 0?!0:a,d=Fo(t.elements.popper),p=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&p.forEach(function(h){h.addEventListener("scroll",n.update,Hf)}),c&&d.addEventListener("resize",n.update,Hf),function(){s&&p.forEach(function(h){h.removeEventListener("scroll",n.update,Hf)}),c&&d.removeEventListener("resize",n.update,Hf)}}const Z$={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:J$,data:{}};var eL={left:"right",right:"left",bottom:"top",top:"bottom"};function Ep(e){return e.replace(/left|right|bottom|top/g,function(t){return eL[t]})}var tL={start:"end",end:"start"};function rS(e){return e.replace(/start|end/g,function(t){return tL[t]})}function Bb(e){var t=Fo(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function Fb(e){return Sc(Pi(e)).left+Bb(e).scrollLeft}function nL(e,t){var n=Fo(e),r=Pi(e),o=n.visualViewport,s=r.clientWidth,a=r.clientHeight,c=0,d=0;if(o){s=o.width,a=o.height;var p=c6();(p||!p&&t==="fixed")&&(c=o.offsetLeft,d=o.offsetTop)}return{width:s,height:a,x:c+Fb(e),y:d}}function rL(e){var t,n=Pi(e),r=Bb(e),o=(t=e.ownerDocument)==null?void 0:t.body,s=Qi(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=Qi(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),c=-r.scrollLeft+Fb(e),d=-r.scrollTop;return Ra(o||n).direction==="rtl"&&(c+=Qi(n.clientWidth,o?o.clientWidth:0)-s),{width:s,height:a,x:c,y:d}}function Hb(e){var t=Ra(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function h6(e){return["html","body","#document"].indexOf(ra(e))>=0?e.ownerDocument.body:os(e)&&Hb(e)?e:h6(wm(e))}function Vu(e,t){var n;t===void 0&&(t=[]);var r=h6(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=Fo(r),a=o?[s].concat(s.visualViewport||[],Hb(r)?r:[]):r,c=t.concat(a);return o?c:c.concat(Vu(wm(a)))}function Zv(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function oL(e,t){var n=Sc(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function oS(e,t,n){return t===i6?Zv(nL(e,n)):al(t)?oL(t,n):Zv(rL(Pi(e)))}function sL(e){var t=Vu(wm(e)),n=["absolute","fixed"].indexOf(Ra(e).position)>=0,r=n&&os(e)?Rd(e):e;return al(r)?t.filter(function(o){return al(o)&&u6(o,r)&&ra(o)!=="body"}):[]}function aL(e,t,n,r){var o=t==="clippingParents"?sL(e):[].concat(t),s=[].concat(o,[n]),a=s[0],c=s.reduce(function(d,p){var h=oS(e,p,r);return d.top=Qi(h.top,d.top),d.right=nh(h.right,d.right),d.bottom=nh(h.bottom,d.bottom),d.left=Qi(h.left,d.left),d},oS(e,a,r));return c.width=c.right-c.left,c.height=c.bottom-c.top,c.x=c.left,c.y=c.top,c}function m6(e){var t=e.reference,n=e.element,r=e.placement,o=r?ta(r):null,s=r?Cc(r):null,a=t.x+t.width/2-n.width/2,c=t.y+t.height/2-n.height/2,d;switch(o){case _o:d={x:a,y:t.y-n.height};break;case as:d={x:a,y:t.y+t.height};break;case is:d={x:t.x+t.width,y:c};break;case Po:d={x:t.x-n.width,y:c};break;default:d={x:t.x,y:t.y}}var p=o?zb(o):null;if(p!=null){var h=p==="y"?"height":"width";switch(s){case xc:d[p]=d[p]-(t[h]/2-n[h]/2);break;case od:d[p]=d[p]+(t[h]/2-n[h]/2);break}}return d}function sd(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=r===void 0?e.placement:r,s=n.strategy,a=s===void 0?e.strategy:s,c=n.boundary,d=c===void 0?P$:c,p=n.rootBoundary,h=p===void 0?i6:p,m=n.elementContext,v=m===void 0?gu:m,b=n.altBoundary,w=b===void 0?!1:b,y=n.padding,S=y===void 0?0:y,k=f6(typeof S!="number"?S:p6(S,Od)),_=v===gu?j$:gu,P=e.rects.popper,I=e.elements[w?_:v],E=aL(al(I)?I:I.contextElement||Pi(e.elements.popper),d,h,a),O=Sc(e.elements.reference),R=m6({reference:O,element:P,strategy:"absolute",placement:o}),M=Zv(Object.assign({},P,R)),D=v===gu?M:O,A={top:E.top-D.top+k.top,bottom:D.bottom-E.bottom+k.bottom,left:E.left-D.left+k.left,right:D.right-E.right+k.right},L=e.modifiersData.offset;if(v===gu&&L){var Q=L[o];Object.keys(A).forEach(function(F){var V=[is,as].indexOf(F)>=0?1:-1,q=[_o,as].indexOf(F)>=0?"y":"x";A[F]+=Q[q]*V})}return A}function iL(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=n.boundary,s=n.rootBoundary,a=n.padding,c=n.flipVariations,d=n.allowedAutoPlacements,p=d===void 0?l6:d,h=Cc(r),m=h?c?eS:eS.filter(function(w){return Cc(w)===h}):Od,v=m.filter(function(w){return p.indexOf(w)>=0});v.length===0&&(v=m);var b=v.reduce(function(w,y){return w[y]=sd(e,{placement:y,boundary:o,rootBoundary:s,padding:a})[ta(y)],w},{});return Object.keys(b).sort(function(w,y){return b[w]-b[y]})}function lL(e){if(ta(e)===Nb)return[];var t=Ep(e);return[rS(e),t,rS(t)]}function cL(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,c=a===void 0?!0:a,d=n.fallbackPlacements,p=n.padding,h=n.boundary,m=n.rootBoundary,v=n.altBoundary,b=n.flipVariations,w=b===void 0?!0:b,y=n.allowedAutoPlacements,S=t.options.placement,k=ta(S),_=k===S,P=d||(_||!w?[Ep(S)]:lL(S)),I=[S].concat(P).reduce(function(X,K){return X.concat(ta(K)===Nb?iL(t,{placement:K,boundary:h,rootBoundary:m,padding:p,flipVariations:w,allowedAutoPlacements:y}):K)},[]),E=t.rects.reference,O=t.rects.popper,R=new Map,M=!0,D=I[0],A=0;A=0,q=V?"width":"height",G=sd(t,{placement:L,boundary:h,rootBoundary:m,altBoundary:v,padding:p}),T=V?F?is:Po:F?as:_o;E[q]>O[q]&&(T=Ep(T));var z=Ep(T),$=[];if(s&&$.push(G[Q]<=0),c&&$.push(G[T]<=0,G[z]<=0),$.every(function(X){return X})){D=L,M=!1;break}R.set(L,$)}if(M)for(var Y=w?3:1,ae=function(K){var U=I.find(function(se){var re=R.get(se);if(re)return re.slice(0,K).every(function(oe){return oe})});if(U)return D=U,"break"},fe=Y;fe>0;fe--){var ie=ae(fe);if(ie==="break")break}t.placement!==D&&(t.modifiersData[r]._skip=!0,t.placement=D,t.reset=!0)}}const uL={name:"flip",enabled:!0,phase:"main",fn:cL,requiresIfExists:["offset"],data:{_skip:!1}};function sS(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function aS(e){return[_o,is,as,Po].some(function(t){return e[t]>=0})}function dL(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,s=t.modifiersData.preventOverflow,a=sd(t,{elementContext:"reference"}),c=sd(t,{altBoundary:!0}),d=sS(a,r),p=sS(c,o,s),h=aS(d),m=aS(p);t.modifiersData[n]={referenceClippingOffsets:d,popperEscapeOffsets:p,isReferenceHidden:h,hasPopperEscaped:m},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":m})}const fL={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:dL};function pL(e,t,n){var r=ta(e),o=[Po,_o].indexOf(r)>=0?-1:1,s=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=s[0],c=s[1];return a=a||0,c=(c||0)*o,[Po,is].indexOf(r)>=0?{x:c,y:a}:{x:a,y:c}}function hL(e){var t=e.state,n=e.options,r=e.name,o=n.offset,s=o===void 0?[0,0]:o,a=l6.reduce(function(h,m){return h[m]=pL(m,t.rects,s),h},{}),c=a[t.placement],d=c.x,p=c.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=d,t.modifiersData.popperOffsets.y+=p),t.modifiersData[r]=a}const mL={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:hL};function gL(e){var t=e.state,n=e.name;t.modifiersData[n]=m6({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const vL={name:"popperOffsets",enabled:!0,phase:"read",fn:gL,data:{}};function bL(e){return e==="x"?"y":"x"}function yL(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,c=a===void 0?!1:a,d=n.boundary,p=n.rootBoundary,h=n.altBoundary,m=n.padding,v=n.tether,b=v===void 0?!0:v,w=n.tetherOffset,y=w===void 0?0:w,S=sd(t,{boundary:d,rootBoundary:p,padding:m,altBoundary:h}),k=ta(t.placement),_=Cc(t.placement),P=!_,I=zb(k),E=bL(I),O=t.modifiersData.popperOffsets,R=t.rects.reference,M=t.rects.popper,D=typeof y=="function"?y(Object.assign({},t.rects,{placement:t.placement})):y,A=typeof D=="number"?{mainAxis:D,altAxis:D}:Object.assign({mainAxis:0,altAxis:0},D),L=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,Q={x:0,y:0};if(O){if(s){var F,V=I==="y"?_o:Po,q=I==="y"?as:is,G=I==="y"?"height":"width",T=O[I],z=T+S[V],$=T-S[q],Y=b?-M[G]/2:0,ae=_===xc?R[G]:M[G],fe=_===xc?-M[G]:-R[G],ie=t.elements.arrow,X=b&&ie?Lb(ie):{width:0,height:0},K=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:d6(),U=K[V],se=K[q],re=Wu(0,R[G],X[G]),oe=P?R[G]/2-Y-re-U-A.mainAxis:ae-re-U-A.mainAxis,pe=P?-R[G]/2+Y+re+se+A.mainAxis:fe+re+se+A.mainAxis,le=t.elements.arrow&&Rd(t.elements.arrow),ge=le?I==="y"?le.clientTop||0:le.clientLeft||0:0,ke=(F=L==null?void 0:L[I])!=null?F:0,xe=T+oe-ke-ge,de=T+pe-ke,Te=Wu(b?nh(z,xe):z,T,b?Qi($,de):$);O[I]=Te,Q[I]=Te-T}if(c){var Ee,$e=I==="x"?_o:Po,kt=I==="x"?as:is,ct=O[E],on=E==="y"?"height":"width",vt=ct+S[$e],bt=ct-S[kt],Se=[_o,Po].indexOf(k)!==-1,Me=(Ee=L==null?void 0:L[E])!=null?Ee:0,Pt=Se?vt:ct-R[on]-M[on]-Me+A.altAxis,Tt=Se?ct+R[on]+M[on]-Me-A.altAxis:bt,we=b&&Se?W$(Pt,ct,Tt):Wu(b?Pt:vt,ct,b?Tt:bt);O[E]=we,Q[E]=we-ct}t.modifiersData[r]=Q}}const xL={name:"preventOverflow",enabled:!0,phase:"main",fn:yL,requiresIfExists:["offset"]};function wL(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function SL(e){return e===Fo(e)||!os(e)?Bb(e):wL(e)}function CL(e){var t=e.getBoundingClientRect(),n=wc(t.width)/e.offsetWidth||1,r=wc(t.height)/e.offsetHeight||1;return n!==1||r!==1}function kL(e,t,n){n===void 0&&(n=!1);var r=os(t),o=os(t)&&CL(t),s=Pi(t),a=Sc(e,o,n),c={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(r||!r&&!n)&&((ra(t)!=="body"||Hb(s))&&(c=SL(t)),os(t)?(d=Sc(t,!0),d.x+=t.clientLeft,d.y+=t.clientTop):s&&(d.x=Fb(s))),{x:a.left+c.scrollLeft-d.x,y:a.top+c.scrollTop-d.y,width:a.width,height:a.height}}function _L(e){var t=new Map,n=new Set,r=[];e.forEach(function(s){t.set(s.name,s)});function o(s){n.add(s.name);var a=[].concat(s.requires||[],s.requiresIfExists||[]);a.forEach(function(c){if(!n.has(c)){var d=t.get(c);d&&o(d)}}),r.push(s)}return e.forEach(function(s){n.has(s.name)||o(s)}),r}function PL(e){var t=_L(e);return $$.reduce(function(n,r){return n.concat(t.filter(function(o){return o.phase===r}))},[])}function jL(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function IL(e){var t=e.reduce(function(n,r){var o=n[r.name];return n[r.name]=o?Object.assign({},o,r,{options:Object.assign({},o.options,r.options),data:Object.assign({},o.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var iS={placement:"bottom",modifiers:[],strategy:"absolute"};function lS(){for(var e=arguments.length,t=new Array(e),n=0;n{}),P=f.useCallback(()=>{var A;!t||!w.current||!y.current||((A=_.current)==null||A.call(_),S.current=RL(w.current,y.current,{placement:k,modifiers:[S$,y$,b$,{...v$,enabled:!!v},{name:"eventListeners",...g$(a)},{name:"arrow",options:{padding:s}},{name:"offset",options:{offset:c??[0,d]}},{name:"flip",enabled:!!p,options:{padding:8}},{name:"preventOverflow",enabled:!!m,options:{boundary:h}},...n??[]],strategy:o}),S.current.forceUpdate(),_.current=S.current.destroy)},[k,t,n,v,a,s,c,d,p,m,h,o]);f.useEffect(()=>()=>{var A;!w.current&&!y.current&&((A=S.current)==null||A.destroy(),S.current=null)},[]);const I=f.useCallback(A=>{w.current=A,P()},[P]),E=f.useCallback((A={},L=null)=>({...A,ref:cn(I,L)}),[I]),O=f.useCallback(A=>{y.current=A,P()},[P]),R=f.useCallback((A={},L=null)=>({...A,ref:cn(O,L),style:{...A.style,position:o,minWidth:v?void 0:"max-content",inset:"0 auto auto 0"}}),[o,O,v]),M=f.useCallback((A={},L=null)=>{const{size:Q,shadowColor:F,bg:V,style:q,...G}=A;return{...G,ref:L,"data-popper-arrow":"",style:ML(A)}},[]),D=f.useCallback((A={},L=null)=>({...A,ref:L,"data-popper-arrow-inner":""}),[]);return{update(){var A;(A=S.current)==null||A.update()},forceUpdate(){var A;(A=S.current)==null||A.forceUpdate()},transformOrigin:Ir.transformOrigin.varRef,referenceRef:I,popperRef:O,getPopperProps:R,getArrowProps:M,getArrowInnerProps:D,getReferenceProps:E}}function ML(e){const{size:t,shadowColor:n,bg:r,style:o}=e,s={...o,position:"absolute"};return t&&(s["--popper-arrow-size"]=t),n&&(s["--popper-arrow-shadow-color"]=n),r&&(s["--popper-arrow-bg"]=r),s}function Vb(e={}){const{onClose:t,onOpen:n,isOpen:r,id:o}=e,s=or(n),a=or(t),[c,d]=f.useState(e.defaultIsOpen||!1),p=r!==void 0?r:c,h=r!==void 0,m=f.useId(),v=o??`disclosure-${m}`,b=f.useCallback(()=>{h||d(!1),a==null||a()},[h,a]),w=f.useCallback(()=>{h||d(!0),s==null||s()},[h,s]),y=f.useCallback(()=>{p?b():w()},[p,w,b]);function S(_={}){return{..._,"aria-expanded":p,"aria-controls":v,onClick(P){var I;(I=_.onClick)==null||I.call(_,P),y()}}}function k(_={}){return{..._,hidden:!p,id:v}}return{isOpen:p,onOpen:w,onClose:b,onToggle:y,isControlled:h,getButtonProps:S,getDisclosureProps:k}}function DL(e){const{ref:t,handler:n,enabled:r=!0}=e,o=or(n),a=f.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;f.useEffect(()=>{if(!r)return;const c=m=>{A0(m,t)&&(a.isPointerDown=!0)},d=m=>{if(a.ignoreEmulatedMouseEvents){a.ignoreEmulatedMouseEvents=!1;return}a.isPointerDown&&n&&A0(m,t)&&(a.isPointerDown=!1,o(m))},p=m=>{a.ignoreEmulatedMouseEvents=!0,n&&a.isPointerDown&&A0(m,t)&&(a.isPointerDown=!1,o(m))},h=g6(t.current);return h.addEventListener("mousedown",c,!0),h.addEventListener("mouseup",d,!0),h.addEventListener("touchstart",c,!0),h.addEventListener("touchend",p,!0),()=>{h.removeEventListener("mousedown",c,!0),h.removeEventListener("mouseup",d,!0),h.removeEventListener("touchstart",c,!0),h.removeEventListener("touchend",p,!0)}},[n,t,o,a,r])}function A0(e,t){var n;const r=e.target;return r&&!g6(r).contains(r)?!1:!((n=t.current)!=null&&n.contains(r))}function g6(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function v6(e){const{isOpen:t,ref:n}=e,[r,o]=f.useState(t),[s,a]=f.useState(!1);return f.useEffect(()=>{s||(o(t),a(!0))},[t,s,r]),Yi(()=>n.current,"animationend",()=>{o(t)}),{present:!(t?!1:!r),onComplete(){var d;const p=TN(n.current),h=new p.CustomEvent("animationend",{bubbles:!0});(d=n.current)==null||d.dispatchEvent(h)}}}function Ub(e){const{wasSelected:t,enabled:n,isSelected:r,mode:o="unmount"}=e;return!!(!n||r||o==="keepMounted"&&t)}var[AL,TL,NL,$L]=pb(),[LL,Md]=Dn({strict:!1,name:"MenuContext"});function zL(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}function b6(e){var t;return(t=e==null?void 0:e.ownerDocument)!=null?t:document}function cS(e){return b6(e).activeElement===e}function BL(e={}){const{id:t,closeOnSelect:n=!0,closeOnBlur:r=!0,initialFocusRef:o,autoSelect:s=!0,isLazy:a,isOpen:c,defaultIsOpen:d,onClose:p,onOpen:h,placement:m="bottom-start",lazyBehavior:v="unmount",direction:b,computePositionOnMount:w=!1,...y}=e,S=f.useRef(null),k=f.useRef(null),_=NL(),P=f.useCallback(()=>{requestAnimationFrame(()=>{var ie;(ie=S.current)==null||ie.focus({preventScroll:!1})})},[]),I=f.useCallback(()=>{const ie=setTimeout(()=>{var X;if(o)(X=o.current)==null||X.focus();else{const K=_.firstEnabled();K&&F(K.index)}});z.current.add(ie)},[_,o]),E=f.useCallback(()=>{const ie=setTimeout(()=>{const X=_.lastEnabled();X&&F(X.index)});z.current.add(ie)},[_]),O=f.useCallback(()=>{h==null||h(),s?I():P()},[s,I,P,h]),{isOpen:R,onOpen:M,onClose:D,onToggle:A}=Vb({isOpen:c,defaultIsOpen:d,onClose:p,onOpen:O});DL({enabled:R&&r,ref:S,handler:ie=>{var X;(X=k.current)!=null&&X.contains(ie.target)||D()}});const L=Wb({...y,enabled:R||w,placement:m,direction:b}),[Q,F]=f.useState(-1);Fa(()=>{R||F(-1)},[R]),a6(S,{focusRef:k,visible:R,shouldFocus:!0});const V=v6({isOpen:R,ref:S}),[q,G]=zL(t,"menu-button","menu-list"),T=f.useCallback(()=>{M(),P()},[M,P]),z=f.useRef(new Set([]));KL(()=>{z.current.forEach(ie=>clearTimeout(ie)),z.current.clear()});const $=f.useCallback(()=>{M(),I()},[I,M]),Y=f.useCallback(()=>{M(),E()},[M,E]),ae=f.useCallback(()=>{var ie,X;const K=b6(S.current),U=(ie=S.current)==null?void 0:ie.contains(K.activeElement);if(!(R&&!U))return;const re=(X=_.item(Q))==null?void 0:X.node;re==null||re.focus()},[R,Q,_]),fe=f.useRef(null);return{openAndFocusMenu:T,openAndFocusFirstItem:$,openAndFocusLastItem:Y,onTransitionEnd:ae,unstable__animationState:V,descendants:_,popper:L,buttonId:q,menuId:G,forceUpdate:L.forceUpdate,orientation:"vertical",isOpen:R,onToggle:A,onOpen:M,onClose:D,menuRef:S,buttonRef:k,focusedIndex:Q,closeOnSelect:n,closeOnBlur:r,autoSelect:s,setFocusedIndex:F,isLazy:a,lazyBehavior:v,initialFocusRef:o,rafId:fe}}function FL(e={},t=null){const n=Md(),{onToggle:r,popper:o,openAndFocusFirstItem:s,openAndFocusLastItem:a}=n,c=f.useCallback(d=>{const p=d.key,m={Enter:s,ArrowDown:s,ArrowUp:a}[p];m&&(d.preventDefault(),d.stopPropagation(),m(d))},[s,a]);return{...e,ref:cn(n.buttonRef,t,o.referenceRef),id:n.buttonId,"data-active":Ft(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:et(e.onClick,r),onKeyDown:et(e.onKeyDown,c)}}function e1(e){var t;return GL(e)&&!!((t=e==null?void 0:e.getAttribute("role"))!=null&&t.startsWith("menuitem"))}function HL(e={},t=null){const n=Md();if(!n)throw new Error("useMenuContext: context is undefined. Seems you forgot to wrap component within ");const{focusedIndex:r,setFocusedIndex:o,menuRef:s,isOpen:a,onClose:c,menuId:d,isLazy:p,lazyBehavior:h,unstable__animationState:m}=n,v=TL(),b=a$({preventDefault:k=>k.key!==" "&&e1(k.target)}),w=f.useCallback(k=>{if(!k.currentTarget.contains(k.target))return;const _=k.key,I={Tab:O=>O.preventDefault(),Escape:c,ArrowDown:()=>{const O=v.nextEnabled(r);O&&o(O.index)},ArrowUp:()=>{const O=v.prevEnabled(r);O&&o(O.index)}}[_];if(I){k.preventDefault(),I(k);return}const E=b(O=>{const R=i$(v.values(),O,M=>{var D,A;return(A=(D=M==null?void 0:M.node)==null?void 0:D.textContent)!=null?A:""},v.item(r));if(R){const M=v.indexOf(R.node);o(M)}});e1(k.target)&&E(k)},[v,r,b,c,o]),y=f.useRef(!1);a&&(y.current=!0);const S=Ub({wasSelected:y.current,enabled:p,mode:h,isSelected:m.present});return{...e,ref:cn(s,t),children:S?e.children:null,tabIndex:-1,role:"menu",id:d,style:{...e.style,transformOrigin:"var(--popper-transform-origin)"},"aria-orientation":"vertical",onKeyDown:et(e.onKeyDown,w)}}function WL(e={}){const{popper:t,isOpen:n}=Md();return t.getPopperProps({...e,style:{visibility:n?"visible":"hidden",...e.style}})}function y6(e={},t=null){const{onMouseEnter:n,onMouseMove:r,onMouseLeave:o,onClick:s,onFocus:a,isDisabled:c,isFocusable:d,closeOnSelect:p,type:h,...m}=e,v=Md(),{setFocusedIndex:b,focusedIndex:w,closeOnSelect:y,onClose:S,menuRef:k,isOpen:_,menuId:P,rafId:I}=v,E=f.useRef(null),O=`${P}-menuitem-${f.useId()}`,{index:R,register:M}=$L({disabled:c&&!d}),D=f.useCallback(T=>{n==null||n(T),!c&&b(R)},[b,R,c,n]),A=f.useCallback(T=>{r==null||r(T),E.current&&!cS(E.current)&&D(T)},[D,r]),L=f.useCallback(T=>{o==null||o(T),!c&&b(-1)},[b,c,o]),Q=f.useCallback(T=>{s==null||s(T),e1(T.currentTarget)&&(p??y)&&S()},[S,s,y,p]),F=f.useCallback(T=>{a==null||a(T),b(R)},[b,a,R]),V=R===w,q=c&&!d;Fa(()=>{_&&(V&&!q&&E.current?(I.current&&cancelAnimationFrame(I.current),I.current=requestAnimationFrame(()=>{var T;(T=E.current)==null||T.focus(),I.current=null})):k.current&&!cS(k.current)&&k.current.focus({preventScroll:!0}))},[V,q,k,_]);const G=s6({onClick:Q,onFocus:F,onMouseEnter:D,onMouseMove:A,onMouseLeave:L,ref:cn(M,E,t),isDisabled:c,isFocusable:d});return{...m,...G,type:h??G.type,id:O,role:"menuitem",tabIndex:V?0:-1}}function VL(e={},t=null){const{type:n="radio",isChecked:r,...o}=e;return{...y6(o,t),role:`menuitem${n}`,"aria-checked":r}}function UL(e={}){const{children:t,type:n="radio",value:r,defaultValue:o,onChange:s,...a}=e,d=n==="radio"?"":[],[p,h]=zc({defaultValue:o??d,value:r,onChange:s}),m=f.useCallback(w=>{if(n==="radio"&&typeof p=="string"&&h(w),n==="checkbox"&&Array.isArray(p)){const y=p.includes(w)?p.filter(S=>S!==w):p.concat(w);h(y)}},[p,h,n]),b=Pd(t).map(w=>{if(w.type.id!=="MenuItemOption")return w;const y=k=>{var _,P;m(w.props.value),(P=(_=w.props).onClick)==null||P.call(_,k)},S=n==="radio"?w.props.value===p:p.includes(w.props.value);return f.cloneElement(w,{type:n,onClick:y,isChecked:S})});return{...a,children:b}}function GL(e){var t;if(!qL(e))return!1;const n=(t=e.ownerDocument.defaultView)!=null?t:window;return e instanceof n.HTMLElement}function qL(e){return e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function KL(e,t=[]){return f.useEffect(()=>()=>e(),t)}var[XL,Hc]=Dn({name:"MenuStylesContext",errorMessage:`useMenuStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),Dd=e=>{const{children:t}=e,n=Fr("Menu",e),r=qn(e),{direction:o}=Nc(),{descendants:s,...a}=BL({...r,direction:o}),c=f.useMemo(()=>a,[a]),{isOpen:d,onClose:p,forceUpdate:h}=c;return i.jsx(AL,{value:s,children:i.jsx(LL,{value:c,children:i.jsx(XL,{value:n,children:Y1(t,{isOpen:d,onClose:p,forceUpdate:h})})})})};Dd.displayName="Menu";var x6=Ae((e,t)=>{const n=Hc();return i.jsx(je.span,{ref:t,...e,__css:n.command,className:"chakra-menu__command"})});x6.displayName="MenuCommand";var w6=Ae((e,t)=>{const{type:n,...r}=e,o=Hc(),s=r.as||n?n??void 0:"button",a=f.useMemo(()=>({textDecoration:"none",color:"inherit",userSelect:"none",display:"flex",width:"100%",alignItems:"center",textAlign:"start",flex:"0 0 auto",outline:0,...o.item}),[o.item]);return i.jsx(je.button,{ref:t,type:s,...r,__css:a})}),Gb=e=>{const{className:t,children:n,...r}=e,o=Hc(),s=f.Children.only(n),a=f.isValidElement(s)?f.cloneElement(s,{focusable:"false","aria-hidden":!0,className:Ct("chakra-menu__icon",s.props.className)}):null,c=Ct("chakra-menu__icon-wrapper",t);return i.jsx(je.span,{className:c,...r,__css:o.icon,children:a})};Gb.displayName="MenuIcon";var jr=Ae((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",command:o,commandSpacing:s="0.75rem",children:a,...c}=e,d=y6(c,t),h=n||o?i.jsx("span",{style:{pointerEvents:"none",flex:1},children:a}):a;return i.jsxs(w6,{...d,className:Ct("chakra-menu__menuitem",d.className),children:[n&&i.jsx(Gb,{fontSize:"0.8em",marginEnd:r,children:n}),h,o&&i.jsx(x6,{marginStart:s,children:o})]})});jr.displayName="MenuItem";var YL={enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.2,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.1,easings:"easeOut"}}},QL=je(Er.div),il=Ae(function(t,n){var r,o;const{rootProps:s,motionProps:a,...c}=t,{isOpen:d,onTransitionEnd:p,unstable__animationState:h}=Md(),m=HL(c,n),v=WL(s),b=Hc();return i.jsx(je.div,{...v,__css:{zIndex:(o=t.zIndex)!=null?o:(r=b.list)==null?void 0:r.zIndex},children:i.jsx(QL,{variants:YL,initial:!1,animate:d?"enter":"exit",__css:{outline:0,...b.list},...a,className:Ct("chakra-menu__menu-list",m.className),...m,onUpdate:p,onAnimationComplete:um(h.onComplete,m.onAnimationComplete)})})});il.displayName="MenuList";var ad=Ae((e,t)=>{const{title:n,children:r,className:o,...s}=e,a=Ct("chakra-menu__group__title",o),c=Hc();return i.jsxs("div",{ref:t,className:"chakra-menu__group",role:"group",children:[n&&i.jsx(je.p,{className:a,...s,__css:c.groupTitle,children:n}),r]})});ad.displayName="MenuGroup";var S6=e=>{const{className:t,title:n,...r}=e,o=UL(r);return i.jsx(ad,{title:n,className:Ct("chakra-menu__option-group",t),...o})};S6.displayName="MenuOptionGroup";var JL=Ae((e,t)=>{const n=Hc();return i.jsx(je.button,{ref:t,...e,__css:{display:"inline-flex",appearance:"none",alignItems:"center",outline:0,...n.button}})}),Ad=Ae((e,t)=>{const{children:n,as:r,...o}=e,s=FL(o,t),a=r||JL;return i.jsx(a,{...s,className:Ct("chakra-menu__menu-button",e.className),children:i.jsx(je.span,{__css:{pointerEvents:"none",flex:"1 1 auto",minW:0},children:e.children})})});Ad.displayName="MenuButton";var ZL=e=>i.jsx("svg",{viewBox:"0 0 14 14",width:"1em",height:"1em",...e,children:i.jsx("polygon",{fill:"currentColor",points:"5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039"})}),rh=Ae((e,t)=>{const{icon:n,iconSpacing:r="0.75rem",...o}=e,s=VL(o,t);return i.jsxs(w6,{...s,className:Ct("chakra-menu__menuitem-option",o.className),children:[n!==null&&i.jsx(Gb,{fontSize:"0.8em",marginEnd:r,opacity:e.isChecked?1:0,children:n||i.jsx(ZL,{})}),i.jsx("span",{style:{flex:1},children:s.children})]})});rh.id="MenuItemOption";rh.displayName="MenuItemOption";var ez={slideInBottom:{...Bv,custom:{offsetY:16,reverse:!0}},slideInRight:{...Bv,custom:{offsetX:16,reverse:!0}},scale:{...K5,custom:{initialScale:.95,reverse:!0}},none:{}},tz=je(Er.section),nz=e=>ez[e||"none"],C6=f.forwardRef((e,t)=>{const{preset:n,motionProps:r=nz(n),...o}=e;return i.jsx(tz,{ref:t,...r,...o})});C6.displayName="ModalTransition";var rz=Object.defineProperty,oz=(e,t,n)=>t in e?rz(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,sz=(e,t,n)=>(oz(e,typeof t!="symbol"?t+"":t,n),n),az=class{constructor(){sz(this,"modals"),this.modals=new Map}add(e){return this.modals.set(e,this.modals.size+1),this.modals.size}remove(e){this.modals.delete(e)}isTopModal(e){return e?this.modals.get(e)===this.modals.size:!1}},t1=new az;function k6(e,t){const[n,r]=f.useState(0);return f.useEffect(()=>{const o=e.current;if(o){if(t){const s=t1.add(o);r(s)}return()=>{t1.remove(o),r(0)}}},[t,e]),n}var iz=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Ll=new WeakMap,Wf=new WeakMap,Vf={},T0=0,_6=function(e){return e&&(e.host||_6(e.parentNode))},lz=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=_6(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},cz=function(e,t,n,r){var o=lz(t,Array.isArray(e)?e:[e]);Vf[n]||(Vf[n]=new WeakMap);var s=Vf[n],a=[],c=new Set,d=new Set(o),p=function(m){!m||c.has(m)||(c.add(m),p(m.parentNode))};o.forEach(p);var h=function(m){!m||d.has(m)||Array.prototype.forEach.call(m.children,function(v){if(c.has(v))h(v);else{var b=v.getAttribute(r),w=b!==null&&b!=="false",y=(Ll.get(v)||0)+1,S=(s.get(v)||0)+1;Ll.set(v,y),s.set(v,S),a.push(v),y===1&&w&&Wf.set(v,!0),S===1&&v.setAttribute(n,"true"),w||v.setAttribute(r,"true")}})};return h(t),c.clear(),T0++,function(){a.forEach(function(m){var v=Ll.get(m)-1,b=s.get(m)-1;Ll.set(m,v),s.set(m,b),v||(Wf.has(m)||m.removeAttribute(r),Wf.delete(m)),b||m.removeAttribute(n)}),T0--,T0||(Ll=new WeakMap,Ll=new WeakMap,Wf=new WeakMap,Vf={})}},uz=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||iz(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),cz(r,o,n,"aria-hidden")):function(){return null}};function dz(e){const{isOpen:t,onClose:n,id:r,closeOnOverlayClick:o=!0,closeOnEsc:s=!0,useInert:a=!0,onOverlayClick:c,onEsc:d}=e,p=f.useRef(null),h=f.useRef(null),[m,v,b]=pz(r,"chakra-modal","chakra-modal--header","chakra-modal--body");fz(p,t&&a);const w=k6(p,t),y=f.useRef(null),S=f.useCallback(D=>{y.current=D.target},[]),k=f.useCallback(D=>{D.key==="Escape"&&(D.stopPropagation(),s&&(n==null||n()),d==null||d())},[s,n,d]),[_,P]=f.useState(!1),[I,E]=f.useState(!1),O=f.useCallback((D={},A=null)=>({role:"dialog",...D,ref:cn(A,p),id:m,tabIndex:-1,"aria-modal":!0,"aria-labelledby":_?v:void 0,"aria-describedby":I?b:void 0,onClick:et(D.onClick,L=>L.stopPropagation())}),[b,I,m,v,_]),R=f.useCallback(D=>{D.stopPropagation(),y.current===D.target&&t1.isTopModal(p.current)&&(o&&(n==null||n()),c==null||c())},[n,o,c]),M=f.useCallback((D={},A=null)=>({...D,ref:cn(A,h),onClick:et(D.onClick,R),onKeyDown:et(D.onKeyDown,k),onMouseDown:et(D.onMouseDown,S)}),[k,S,R]);return{isOpen:t,onClose:n,headerId:v,bodyId:b,setBodyMounted:E,setHeaderMounted:P,dialogRef:p,overlayRef:h,getDialogProps:O,getDialogContainerProps:M,index:w}}function fz(e,t){const n=e.current;f.useEffect(()=>{if(!(!e.current||!t))return uz(e.current)},[t,e,n])}function pz(e,...t){const n=f.useId(),r=e||n;return f.useMemo(()=>t.map(o=>`${o}-${r}`),[r,t])}var[hz,Wc]=Dn({name:"ModalStylesContext",errorMessage:`useModalStyles returned is 'undefined'. Seems you forgot to wrap the components in "" `}),[mz,ll]=Dn({strict:!0,name:"ModalContext",errorMessage:"useModalContext: `context` is undefined. Seems you forgot to wrap modal components in ``"}),id=e=>{const t={scrollBehavior:"outside",autoFocus:!0,trapFocus:!0,returnFocusOnClose:!0,blockScrollOnMount:!0,allowPinchZoom:!1,motionPreset:"scale",lockFocusAcrossFrames:!0,...e},{portalProps:n,children:r,autoFocus:o,trapFocus:s,initialFocusRef:a,finalFocusRef:c,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:m,motionPreset:v,lockFocusAcrossFrames:b,onCloseComplete:w}=t,y=Fr("Modal",t),k={...dz(t),autoFocus:o,trapFocus:s,initialFocusRef:a,finalFocusRef:c,returnFocusOnClose:d,blockScrollOnMount:p,allowPinchZoom:h,preserveScrollBarGap:m,motionPreset:v,lockFocusAcrossFrames:b};return i.jsx(mz,{value:k,children:i.jsx(hz,{value:y,children:i.jsx(mo,{onExitComplete:w,children:k.isOpen&&i.jsx(Zu,{...n,children:r})})})})};id.displayName="Modal";var Op="right-scroll-bar-position",Rp="width-before-scroll-bar",gz="with-scroll-bars-hidden",vz="--removed-body-scroll-bar-size",P6=w3(),N0=function(){},Sm=f.forwardRef(function(e,t){var n=f.useRef(null),r=f.useState({onScrollCapture:N0,onWheelCapture:N0,onTouchMoveCapture:N0}),o=r[0],s=r[1],a=e.forwardProps,c=e.children,d=e.className,p=e.removeScrollBar,h=e.enabled,m=e.shards,v=e.sideCar,b=e.noIsolation,w=e.inert,y=e.allowPinchZoom,S=e.as,k=S===void 0?"div":S,_=e.gapMode,P=b3(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),I=v,E=v3([n,t]),O=Qs(Qs({},P),o);return f.createElement(f.Fragment,null,h&&f.createElement(I,{sideCar:P6,removeScrollBar:p,shards:m,noIsolation:b,inert:w,setCallbacks:s,allowPinchZoom:!!y,lockRef:n,gapMode:_}),a?f.cloneElement(f.Children.only(c),Qs(Qs({},O),{ref:E})):f.createElement(k,Qs({},O,{className:d,ref:E}),c))});Sm.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Sm.classNames={fullWidth:Rp,zeroRight:Op};var uS,bz=function(){if(uS)return uS;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function yz(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=bz();return t&&e.setAttribute("nonce",t),e}function xz(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function wz(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Sz=function(){var e=0,t=null;return{add:function(n){e==0&&(t=yz())&&(xz(t,n),wz(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Cz=function(){var e=Sz();return function(t,n){f.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},j6=function(){var e=Cz(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},kz={left:0,top:0,right:0,gap:0},$0=function(e){return parseInt(e||"",10)||0},_z=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[$0(n),$0(r),$0(o)]},Pz=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return kz;var t=_z(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},jz=j6(),Iz=function(e,t,n,r){var o=e.left,s=e.top,a=e.right,c=e.gap;return n===void 0&&(n="margin"),` .`.concat(gz,` { diff --git a/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-139ac716.js b/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-1a474d08.js similarity index 99% rename from invokeai/frontend/web/dist/assets/ThemeLocaleProvider-139ac716.js rename to invokeai/frontend/web/dist/assets/ThemeLocaleProvider-1a474d08.js index 70d8fbf6f2..73988b1278 100644 --- a/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-139ac716.js +++ b/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-1a474d08.js @@ -1,4 +1,4 @@ -import{B as m,g7 as Je,A as y,a5 as Ka,g8 as Xa,af as va,aj as d,g9 as b,ga as t,gb as Ya,gc as h,gd as ua,ge as Ja,gf as Qa,aL as Za,gg as et,ad as rt,gh as at}from"./index-815faab3.js";import{s as fa,n as o,t as tt,o as ha,p as ot,q as ma,v as ga,w as ya,x as it,y as Sa,z as pa,A as xr,B as nt,D as lt,E as st,F as xa,G as $a,H as ka,J as dt,K as _a,L as ct,M as bt,N as vt,O as ut,Q as wa,R as ft,S as ht,T as mt,U as gt,V as yt,W as St,e as pt,X as xt}from"./menu-e9f8a36e.js";var za=String.raw,Ca=za` +import{B as m,g7 as Je,A as y,a5 as Ka,g8 as Xa,af as va,aj as d,g9 as b,ga as t,gb as Ya,gc as h,gd as ua,ge as Ja,gf as Qa,aL as Za,gg as et,ad as rt,gh as at}from"./index-deaa1f26.js";import{s as fa,n as o,t as tt,o as ha,p as ot,q as ma,v as ga,w as ya,x as it,y as Sa,z as pa,A as xr,B as nt,D as lt,E as st,F as xa,G as $a,H as ka,J as dt,K as _a,L as ct,M as bt,N as vt,O as ut,Q as wa,R as ft,S as ht,T as mt,U as gt,V as yt,W as St,e as pt,X as xt}from"./menu-b4489359.js";var za=String.raw,Ca=za` :root, :host { --chakra-vh: 100vh; diff --git a/invokeai/frontend/web/dist/assets/index-815faab3.js b/invokeai/frontend/web/dist/assets/index-deaa1f26.js similarity index 76% rename from invokeai/frontend/web/dist/assets/index-815faab3.js rename to invokeai/frontend/web/dist/assets/index-deaa1f26.js index ff2607543b..8fd9ea5a60 100644 --- a/invokeai/frontend/web/dist/assets/index-815faab3.js +++ b/invokeai/frontend/web/dist/assets/index-deaa1f26.js @@ -6,7 +6,7 @@ function b7(e,t){for(var n=0;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),mC=Object.prototype.hasOwnProperty,gQ=/^[: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]*$/,RP={},OP={};function mQ(e){return mC.call(OP,e)?!0:mC.call(RP,e)?!1:gQ.test(e)?OP[e]=!0:(RP[e]=!0,!1)}function yQ(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function vQ(e,t,n,r){if(t===null||typeof t>"u"||yQ(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function ci(e,t,n,r,i,o,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=s}var kr={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){kr[e]=new ci(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];kr[t]=new ci(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){kr[e]=new ci(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){kr[e]=new ci(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){kr[e]=new ci(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){kr[e]=new ci(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){kr[e]=new ci(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){kr[e]=new ci(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){kr[e]=new ci(e,5,!1,e.toLowerCase(),null,!1,!1)});var t4=/[\-:]([a-z])/g;function n4(e){return e[1].toUpperCase()}"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(t4,n4);kr[t]=new ci(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(t4,n4);kr[t]=new ci(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(t4,n4);kr[t]=new ci(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){kr[e]=new ci(e,1,!1,e.toLowerCase(),null,!1,!1)});kr.xlinkHref=new ci("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){kr[e]=new ci(e,1,!1,e.toLowerCase(),null,!0,!0)});function r4(e,t,n,r){var i=kr.hasOwnProperty(t)?kr[t]:null;(i!==null?i.type!==0:r||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),mC=Object.prototype.hasOwnProperty,gQ=/^[: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]*$/,RP={},OP={};function mQ(e){return mC.call(OP,e)?!0:mC.call(RP,e)?!1:gQ.test(e)?OP[e]=!0:(RP[e]=!0,!1)}function yQ(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function vQ(e,t,n,r){if(t===null||typeof t>"u"||yQ(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function di(e,t,n,r,i,o,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=s}var kr={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){kr[e]=new di(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];kr[t]=new di(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){kr[e]=new di(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){kr[e]=new di(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){kr[e]=new di(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){kr[e]=new di(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){kr[e]=new di(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){kr[e]=new di(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){kr[e]=new di(e,5,!1,e.toLowerCase(),null,!1,!1)});var t4=/[\-:]([a-z])/g;function n4(e){return e[1].toUpperCase()}"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(t4,n4);kr[t]=new di(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(t4,n4);kr[t]=new di(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(t4,n4);kr[t]=new di(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){kr[e]=new di(e,1,!1,e.toLowerCase(),null,!1,!1)});kr.xlinkHref=new di("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){kr[e]=new di(e,1,!1,e.toLowerCase(),null,!0,!0)});function r4(e,t,n,r){var i=kr.hasOwnProperty(t)?kr[t]:null;(i!==null?i.type!==0:r||!(2a||i[s]!==o[a]){var l=` `+i[s].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=s&&0<=a);break}}}finally{Pw=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?sp(e):""}function _Q(e){switch(e.tag){case 5:return sp(e.type);case 16:return sp("Lazy");case 13:return sp("Suspense");case 19:return sp("SuspenseList");case 0:case 2:case 15:return e=Rw(e.type,!1),e;case 11:return e=Rw(e.type.render,!1),e;case 1:return e=Rw(e.type,!0),e;default:return""}}function bC(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Cd:return"Fragment";case xd:return"Portal";case yC:return"Profiler";case i4:return"StrictMode";case vC:return"Suspense";case _C:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case $7:return(e.displayName||"Context")+".Consumer";case D7:return(e._context.displayName||"Context")+".Provider";case o4:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case s4:return t=e.displayName||null,t!==null?t:bC(e.type)||"Memo";case ll:t=e._payload,e=e._init;try{return bC(e(t))}catch{}}return null}function bQ(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=t.render,e=e.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 bC(t);case 8:return t===i4?"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(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Dl(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function B7(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function SQ(e){var t=B7(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){r=""+s,o.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]}}}}function Yy(e){e._valueTracker||(e._valueTracker=SQ(e))}function U7(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=B7(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Mv(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function SC(e,t){var n=t.checked;return bn({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function IP(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Dl(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function z7(e,t){t=t.checked,t!=null&&r4(e,"checked",t,!1)}function wC(e,t){z7(e,t);var n=Dl(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?xC(e,t.type,n):t.hasOwnProperty("defaultValue")&&xC(e,t.type,Dl(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function MP(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function xC(e,t,n){(t!=="number"||Mv(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var ap=Array.isArray;function zd(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=Qy.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Fp(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var mp={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},wQ=["Webkit","ms","Moz","O"];Object.keys(mp).forEach(function(e){wQ.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),mp[t]=mp[e]})});function H7(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||mp.hasOwnProperty(e)&&mp[e]?(""+t).trim():t+"px"}function W7(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=H7(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var xQ=bn({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 EC(e,t){if(t){if(xQ[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(ge(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(ge(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(ge(61))}if(t.style!=null&&typeof t.style!="object")throw Error(ge(62))}}function AC(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";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 PC=null;function a4(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var RC=null,Vd=null,jd=null;function DP(e){if(e=Jg(e)){if(typeof RC!="function")throw Error(ge(280));var t=e.stateNode;t&&(t=P_(t),RC(e.stateNode,e.type,t))}}function q7(e){Vd?jd?jd.push(e):jd=[e]:Vd=e}function K7(){if(Vd){var e=Vd,t=jd;if(jd=Vd=null,DP(e),t)for(e=0;e>>=0,e===0?32:31-(NQ(e)/LQ|0)|0}var Zy=64,Jy=4194304;function lp(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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function $v(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,s=n&268435455;if(s!==0){var a=s&~i;a!==0?r=lp(a):(o&=s,o!==0&&(r=lp(o)))}else s=n&~i,s!==0?r=lp(s):o!==0&&(r=lp(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Qg(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Wo(t),e[t]=n}function BQ(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=vp),HP=String.fromCharCode(32),WP=!1;function pM(e,t){switch(e){case"keyup":return hZ.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function gM(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Td=!1;function gZ(e,t){switch(e){case"compositionend":return gM(t);case"keypress":return t.which!==32?null:(WP=!0,HP);case"textInput":return e=t.data,e===HP&&WP?null:e;default:return null}}function mZ(e,t){if(Td)return e==="compositionend"||!g4&&pM(e,t)?(e=fM(),J0=f4=vl=null,Td=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=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=YP(n)}}function _M(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?_M(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function bM(){for(var e=window,t=Mv();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Mv(e.document)}return t}function m4(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function TZ(e){var t=bM(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&_M(n.ownerDocument.documentElement,n)){if(r!==null&&m4(n)){if(t=r.start,e=r.end,e===void 0&&(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,e.getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=r.end===void 0?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=QP(n,o);var s=QP(n,r);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>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;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Ed=null,LC=null,bp=null,DC=!1;function ZP(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;DC||Ed==null||Ed!==Mv(r)||(r=Ed,"selectionStart"in r&&m4(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),bp&&Gp(bp,r)||(bp=r,r=Uv(LC,"onSelect"),0Rd||(e.current=VC[Rd],VC[Rd]=null,Rd--)}function Zt(e,t){Rd++,VC[Rd]=e.current,e.current=t}var $l={},Hr=Ql($l),Ci=Ql(!1),Xu=$l;function df(e,t){var n=e.type.contextTypes;if(!n)return $l;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Ti(e){return e=e.childContextTypes,e!=null}function Vv(){rn(Ci),rn(Hr)}function o8(e,t,n){if(Hr.current!==$l)throw Error(ge(168));Zt(Hr,t),Zt(Ci,n)}function RM(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(ge(108,bQ(e)||"Unknown",i));return bn({},n,r)}function jv(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||$l,Xu=Hr.current,Zt(Hr,e),Zt(Ci,Ci.current),!0}function s8(e,t,n){var r=e.stateNode;if(!r)throw Error(ge(169));n?(e=RM(e,t,Xu),r.__reactInternalMemoizedMergedChildContext=e,rn(Ci),rn(Hr),Zt(Hr,e)):rn(Ci),Zt(Ci,n)}var ca=null,R_=!1,jw=!1;function OM(e){ca===null?ca=[e]:ca.push(e)}function $Z(e){R_=!0,OM(e)}function Zl(){if(!jw&&ca!==null){jw=!0;var e=0,t=Dt;try{var n=ca;for(Dt=1;e>=s,i-=s,pa=1<<32-Wo(t)+i|n<P?(k=E,E=null):k=E.sibling;var O=p(_,E,y[P],S);if(O===null){E===null&&(E=k);break}e&&E&&O.alternate===null&&t(_,E),b=o(O,b,P),T===null?C=O:T.sibling=O,T=O,E=k}if(P===y.length)return n(_,E),cn&&Tu(_,P),C;if(E===null){for(;PP?(k=E,E=null):k=E.sibling;var M=p(_,E,O.value,S);if(M===null){E===null&&(E=k);break}e&&E&&M.alternate===null&&t(_,E),b=o(M,b,P),T===null?C=M:T.sibling=M,T=M,E=k}if(O.done)return n(_,E),cn&&Tu(_,P),C;if(E===null){for(;!O.done;P++,O=y.next())O=f(_,O.value,S),O!==null&&(b=o(O,b,P),T===null?C=O:T.sibling=O,T=O);return cn&&Tu(_,P),C}for(E=r(_,E);!O.done;P++,O=y.next())O=g(E,_,P,O.value,S),O!==null&&(e&&O.alternate!==null&&E.delete(O.key===null?P:O.key),b=o(O,b,P),T===null?C=O:T.sibling=O,T=O);return e&&E.forEach(function(G){return t(_,G)}),cn&&Tu(_,P),C}function x(_,b,y,S){if(typeof y=="object"&&y!==null&&y.type===Cd&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case Xy:e:{for(var C=y.key,T=b;T!==null;){if(T.key===C){if(C=y.type,C===Cd){if(T.tag===7){n(_,T.sibling),b=i(T,y.props.children),b.return=_,_=b;break e}}else if(T.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===ll&&h8(C)===T.type){n(_,T.sibling),b=i(T,y.props),b.ref=$h(_,T,y),b.return=_,_=b;break e}n(_,T);break}else t(_,T);T=T.sibling}y.type===Cd?(b=Vu(y.props.children,_.mode,S,y.key),b.return=_,_=b):(S=av(y.type,y.key,y.props,null,_.mode,S),S.ref=$h(_,b,y),S.return=_,_=S)}return s(_);case xd:e:{for(T=y.key;b!==null;){if(b.key===T)if(b.tag===4&&b.stateNode.containerInfo===y.containerInfo&&b.stateNode.implementation===y.implementation){n(_,b.sibling),b=i(b,y.children||[]),b.return=_,_=b;break e}else{n(_,b);break}else t(_,b);b=b.sibling}b=Qw(y,_.mode,S),b.return=_,_=b}return s(_);case ll:return T=y._init,x(_,b,T(y._payload),S)}if(ap(y))return m(_,b,y,S);if(Ih(y))return v(_,b,y,S);s0(_,y)}return typeof y=="string"&&y!==""||typeof y=="number"?(y=""+y,b!==null&&b.tag===6?(n(_,b.sibling),b=i(b,y),b.return=_,_=b):(n(_,b),b=Yw(y,_.mode,S),b.return=_,_=b),s(_)):n(_,b)}return x}var hf=FM(!0),BM=FM(!1),em={},As=Ql(em),Kp=Ql(em),Xp=Ql(em);function Lu(e){if(e===em)throw Error(ge(174));return e}function T4(e,t){switch(Zt(Xp,t),Zt(Kp,e),Zt(As,em),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:TC(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=TC(t,e)}rn(As),Zt(As,t)}function pf(){rn(As),rn(Kp),rn(Xp)}function UM(e){Lu(Xp.current);var t=Lu(As.current),n=TC(t,e.type);t!==n&&(Zt(Kp,e),Zt(As,n))}function E4(e){Kp.current===e&&(rn(As),rn(Kp))}var mn=Ql(0);function Xv(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Gw=[];function A4(){for(var e=0;en?n:4,e(!0);var r=Hw.transition;Hw.transition={};try{e(!1),t()}finally{Dt=n,Hw.transition=r}}function nN(){return wo().memoizedState}function zZ(e,t,n){var r=Rl(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},rN(e))iN(t,n);else if(n=NM(e,t,n,r),n!==null){var i=oi();qo(n,e,r,i),oN(n,t,r)}}function VZ(e,t,n){var r=Rl(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(rN(e))iN(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var s=t.lastRenderedState,a=o(s,n);if(i.hasEagerState=!0,i.eagerState=a,Zo(a,s)){var l=t.interleaved;l===null?(i.next=i,x4(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=NM(e,t,i,r),n!==null&&(i=oi(),qo(n,e,r,i),oN(n,t,r))}}function rN(e){var t=e.alternate;return e===_n||t!==null&&t===_n}function iN(e,t){Sp=Yv=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function oN(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,u4(e,n)}}var Qv={readContext:So,useCallback:$r,useContext:$r,useEffect:$r,useImperativeHandle:$r,useInsertionEffect:$r,useLayoutEffect:$r,useMemo:$r,useReducer:$r,useRef:$r,useState:$r,useDebugValue:$r,useDeferredValue:$r,useTransition:$r,useMutableSource:$r,useSyncExternalStore:$r,useId:$r,unstable_isNewReconciler:!1},jZ={readContext:So,useCallback:function(e,t){return hs().memoizedState=[e,t===void 0?null:t],e},useContext:So,useEffect:g8,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,rv(4194308,4,QM.bind(null,t,e),n)},useLayoutEffect:function(e,t){return rv(4194308,4,e,t)},useInsertionEffect:function(e,t){return rv(4,2,e,t)},useMemo:function(e,t){var n=hs();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=hs();return t=n!==void 0?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=zZ.bind(null,_n,e),[r.memoizedState,e]},useRef:function(e){var t=hs();return e={current:e},t.memoizedState=e},useState:p8,useDebugValue:I4,useDeferredValue:function(e){return hs().memoizedState=e},useTransition:function(){var e=p8(!1),t=e[0];return e=UZ.bind(null,e[1]),hs().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=_n,i=hs();if(cn){if(n===void 0)throw Error(ge(407));n=n()}else{if(n=t(),pr===null)throw Error(ge(349));Qu&30||jM(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,g8(HM.bind(null,r,o,e),[e]),r.flags|=2048,Zp(9,GM.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=hs(),t=pr.identifierPrefix;if(cn){var n=ga,r=pa;n=(r&~(1<<32-Wo(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Yp++,0Rd||(e.current=VC[Rd],VC[Rd]=null,Rd--)}function Zt(e,t){Rd++,VC[Rd]=e.current,e.current=t}var $l={},Hr=Ql($l),Ti=Ql(!1),Xu=$l;function df(e,t){var n=e.type.contextTypes;if(!n)return $l;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Ei(e){return e=e.childContextTypes,e!=null}function Vv(){rn(Ti),rn(Hr)}function o8(e,t,n){if(Hr.current!==$l)throw Error(ge(168));Zt(Hr,t),Zt(Ti,n)}function RM(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(ge(108,bQ(e)||"Unknown",i));return bn({},n,r)}function jv(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||$l,Xu=Hr.current,Zt(Hr,e),Zt(Ti,Ti.current),!0}function s8(e,t,n){var r=e.stateNode;if(!r)throw Error(ge(169));n?(e=RM(e,t,Xu),r.__reactInternalMemoizedMergedChildContext=e,rn(Ti),rn(Hr),Zt(Hr,e)):rn(Ti),Zt(Ti,n)}var ca=null,R_=!1,jw=!1;function OM(e){ca===null?ca=[e]:ca.push(e)}function $Z(e){R_=!0,OM(e)}function Zl(){if(!jw&&ca!==null){jw=!0;var e=0,t=Dt;try{var n=ca;for(Dt=1;e>=s,i-=s,pa=1<<32-Wo(t)+i|n<P?(k=E,E=null):k=E.sibling;var O=p(_,E,y[P],S);if(O===null){E===null&&(E=k);break}e&&E&&O.alternate===null&&t(_,E),b=o(O,b,P),T===null?C=O:T.sibling=O,T=O,E=k}if(P===y.length)return n(_,E),cn&&Tu(_,P),C;if(E===null){for(;PP?(k=E,E=null):k=E.sibling;var M=p(_,E,O.value,S);if(M===null){E===null&&(E=k);break}e&&E&&M.alternate===null&&t(_,E),b=o(M,b,P),T===null?C=M:T.sibling=M,T=M,E=k}if(O.done)return n(_,E),cn&&Tu(_,P),C;if(E===null){for(;!O.done;P++,O=y.next())O=f(_,O.value,S),O!==null&&(b=o(O,b,P),T===null?C=O:T.sibling=O,T=O);return cn&&Tu(_,P),C}for(E=r(_,E);!O.done;P++,O=y.next())O=g(E,_,P,O.value,S),O!==null&&(e&&O.alternate!==null&&E.delete(O.key===null?P:O.key),b=o(O,b,P),T===null?C=O:T.sibling=O,T=O);return e&&E.forEach(function(G){return t(_,G)}),cn&&Tu(_,P),C}function x(_,b,y,S){if(typeof y=="object"&&y!==null&&y.type===Cd&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case Xy:e:{for(var C=y.key,T=b;T!==null;){if(T.key===C){if(C=y.type,C===Cd){if(T.tag===7){n(_,T.sibling),b=i(T,y.props.children),b.return=_,_=b;break e}}else if(T.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===ll&&h8(C)===T.type){n(_,T.sibling),b=i(T,y.props),b.ref=$h(_,T,y),b.return=_,_=b;break e}n(_,T);break}else t(_,T);T=T.sibling}y.type===Cd?(b=Vu(y.props.children,_.mode,S,y.key),b.return=_,_=b):(S=av(y.type,y.key,y.props,null,_.mode,S),S.ref=$h(_,b,y),S.return=_,_=S)}return s(_);case xd:e:{for(T=y.key;b!==null;){if(b.key===T)if(b.tag===4&&b.stateNode.containerInfo===y.containerInfo&&b.stateNode.implementation===y.implementation){n(_,b.sibling),b=i(b,y.children||[]),b.return=_,_=b;break e}else{n(_,b);break}else t(_,b);b=b.sibling}b=Qw(y,_.mode,S),b.return=_,_=b}return s(_);case ll:return T=y._init,x(_,b,T(y._payload),S)}if(ap(y))return m(_,b,y,S);if(Ih(y))return v(_,b,y,S);s0(_,y)}return typeof y=="string"&&y!==""||typeof y=="number"?(y=""+y,b!==null&&b.tag===6?(n(_,b.sibling),b=i(b,y),b.return=_,_=b):(n(_,b),b=Yw(y,_.mode,S),b.return=_,_=b),s(_)):n(_,b)}return x}var hf=FM(!0),BM=FM(!1),em={},As=Ql(em),Kp=Ql(em),Xp=Ql(em);function Lu(e){if(e===em)throw Error(ge(174));return e}function T4(e,t){switch(Zt(Xp,t),Zt(Kp,e),Zt(As,em),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:TC(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=TC(t,e)}rn(As),Zt(As,t)}function pf(){rn(As),rn(Kp),rn(Xp)}function UM(e){Lu(Xp.current);var t=Lu(As.current),n=TC(t,e.type);t!==n&&(Zt(Kp,e),Zt(As,n))}function E4(e){Kp.current===e&&(rn(As),rn(Kp))}var mn=Ql(0);function Xv(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Gw=[];function A4(){for(var e=0;en?n:4,e(!0);var r=Hw.transition;Hw.transition={};try{e(!1),t()}finally{Dt=n,Hw.transition=r}}function nN(){return wo().memoizedState}function zZ(e,t,n){var r=Rl(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},rN(e))iN(t,n);else if(n=NM(e,t,n,r),n!==null){var i=oi();qo(n,e,r,i),oN(n,t,r)}}function VZ(e,t,n){var r=Rl(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(rN(e))iN(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var s=t.lastRenderedState,a=o(s,n);if(i.hasEagerState=!0,i.eagerState=a,Zo(a,s)){var l=t.interleaved;l===null?(i.next=i,x4(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=NM(e,t,i,r),n!==null&&(i=oi(),qo(n,e,r,i),oN(n,t,r))}}function rN(e){var t=e.alternate;return e===_n||t!==null&&t===_n}function iN(e,t){Sp=Yv=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function oN(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,u4(e,n)}}var Qv={readContext:So,useCallback:$r,useContext:$r,useEffect:$r,useImperativeHandle:$r,useInsertionEffect:$r,useLayoutEffect:$r,useMemo:$r,useReducer:$r,useRef:$r,useState:$r,useDebugValue:$r,useDeferredValue:$r,useTransition:$r,useMutableSource:$r,useSyncExternalStore:$r,useId:$r,unstable_isNewReconciler:!1},jZ={readContext:So,useCallback:function(e,t){return hs().memoizedState=[e,t===void 0?null:t],e},useContext:So,useEffect:g8,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,rv(4194308,4,QM.bind(null,t,e),n)},useLayoutEffect:function(e,t){return rv(4194308,4,e,t)},useInsertionEffect:function(e,t){return rv(4,2,e,t)},useMemo:function(e,t){var n=hs();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=hs();return t=n!==void 0?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=zZ.bind(null,_n,e),[r.memoizedState,e]},useRef:function(e){var t=hs();return e={current:e},t.memoizedState=e},useState:p8,useDebugValue:I4,useDeferredValue:function(e){return hs().memoizedState=e},useTransition:function(){var e=p8(!1),t=e[0];return e=UZ.bind(null,e[1]),hs().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=_n,i=hs();if(cn){if(n===void 0)throw Error(ge(407));n=n()}else{if(n=t(),pr===null)throw Error(ge(349));Qu&30||jM(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,g8(HM.bind(null,r,o,e),[e]),r.flags|=2048,Zp(9,GM.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=hs(),t=pr.identifierPrefix;if(cn){var n=ga,r=pa;n=(r&~(1<<32-Wo(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Yp++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[_s]=t,e[qp]=r,pN(e,t,!1,!1),t.stateNode=e;e:{switch(s=AC(n,r),n){case"dialog":en("cancel",e),en("close",e),i=r;break;case"iframe":case"object":case"embed":en("load",e),i=r;break;case"video":case"audio":for(i=0;imf&&(t.flags|=128,r=!0,Fh(o,!1),t.lanes=4194304)}else{if(!r)if(e=Xv(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Fh(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!cn)return Fr(t),null}else 2*Mn()-o.renderingStartTime>mf&&n!==1073741824&&(t.flags|=128,r=!0,Fh(o,!1),t.lanes=4194304);o.isBackwards?(s.sibling=t.child,t.child=s):(n=o.last,n!==null?n.sibling=s:t.child=s,o.last=s)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Mn(),t.sibling=null,n=mn.current,Zt(mn,r?n&1|2:n&1),t):(Fr(t),null);case 22:case 23:return F4(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?zi&1073741824&&(Fr(t),t.subtreeFlags&6&&(t.flags|=8192)):Fr(t),null;case 24:return null;case 25:return null}throw Error(ge(156,t.tag))}function QZ(e,t){switch(v4(t),t.tag){case 1:return Ti(t.type)&&Vv(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return pf(),rn(Ci),rn(Hr),A4(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return E4(t),null;case 13:if(rn(mn),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(ge(340));ff()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return rn(mn),null;case 4:return pf(),null;case 10:return w4(t.type._context),null;case 22:case 23:return F4(),null;case 24:return null;default:return null}}var l0=!1,jr=!1,ZZ=typeof WeakSet=="function"?WeakSet:Set,Ae=null;function Md(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Tn(e,t,r)}else n.current=null}function e3(e,t,n){try{n()}catch(r){Tn(e,t,r)}}var C8=!1;function JZ(e,t){if($C=Fv,e=bM(),m4(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,a=-1,l=-1,u=0,d=0,f=e,p=null;t:for(;;){for(var g;f!==n||i!==0&&f.nodeType!==3||(a=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(g=f.firstChild)!==null;)p=f,f=g;for(;;){if(f===e)break t;if(p===n&&++u===i&&(a=s),p===o&&++d===r&&(l=s),(g=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=g}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(FC={focusedElem:e,selectionRange:n},Fv=!1,Ae=t;Ae!==null;)if(t=Ae,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Ae=e;else for(;Ae!==null;){t=Ae;try{var m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var v=m.memoizedProps,x=m.memoizedState,_=t.stateNode,b=_.getSnapshotBeforeUpdate(t.elementType===t.type?v:Fo(t.type,v),x);_.__reactInternalSnapshotBeforeUpdate=b}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent="":y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(ge(163))}}catch(S){Tn(t,t.return,S)}if(e=t.sibling,e!==null){e.return=t.return,Ae=e;break}Ae=t.return}return m=C8,C8=!1,m}function wp(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&e3(t,n,o)}i=i.next}while(i!==r)}}function I_(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==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 t3(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function yN(e){var t=e.alternate;t!==null&&(e.alternate=null,yN(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[_s],delete t[qp],delete t[zC],delete t[LZ],delete t[DZ])),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 vN(e){return e.tag===5||e.tag===3||e.tag===4}function T8(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||vN(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function n3(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=zv));else if(r!==4&&(e=e.child,e!==null))for(n3(e,t,n),e=e.sibling;e!==null;)n3(e,t,n),e=e.sibling}function r3(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(r3(e,t,n),e=e.sibling;e!==null;)r3(e,t,n),e=e.sibling}var Ar=null,Uo=!1;function tl(e,t,n){for(n=n.child;n!==null;)_N(e,t,n),n=n.sibling}function _N(e,t,n){if(Es&&typeof Es.onCommitFiberUnmount=="function")try{Es.onCommitFiberUnmount(C_,n)}catch{}switch(n.tag){case 5:jr||Md(n,t);case 6:var r=Ar,i=Uo;Ar=null,tl(e,t,n),Ar=r,Uo=i,Ar!==null&&(Uo?(e=Ar,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Ar.removeChild(n.stateNode));break;case 18:Ar!==null&&(Uo?(e=Ar,n=n.stateNode,e.nodeType===8?Vw(e.parentNode,n):e.nodeType===1&&Vw(e,n),Vp(e)):Vw(Ar,n.stateNode));break;case 4:r=Ar,i=Uo,Ar=n.stateNode.containerInfo,Uo=!0,tl(e,t,n),Ar=r,Uo=i;break;case 0:case 11:case 14:case 15:if(!jr&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,s=o.destroy;o=o.tag,s!==void 0&&(o&2||o&4)&&e3(n,t,s),i=i.next}while(i!==r)}tl(e,t,n);break;case 1:if(!jr&&(Md(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){Tn(n,t,a)}tl(e,t,n);break;case 21:tl(e,t,n);break;case 22:n.mode&1?(jr=(r=jr)||n.memoizedState!==null,tl(e,t,n),jr=r):tl(e,t,n);break;default:tl(e,t,n)}}function E8(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new ZZ),t.forEach(function(r){var i=lJ.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Lo(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~o}if(r=i,r=Mn()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*tJ(r/1960))-r,10e?16:e,_l===null)var r=!1;else{if(e=_l,_l=null,e1=0,vt&6)throw Error(ge(331));var i=vt;for(vt|=4,Ae=e.current;Ae!==null;){var o=Ae,s=o.child;if(Ae.flags&16){var a=o.deletions;if(a!==null){for(var l=0;lMn()-D4?zu(e,0):L4|=n),Ei(e,t)}function AN(e,t){t===0&&(e.mode&1?(t=Jy,Jy<<=1,!(Jy&130023424)&&(Jy=4194304)):t=1);var n=oi();e=Aa(e,t),e!==null&&(Qg(e,t,n),Ei(e,n))}function aJ(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),AN(e,n)}function lJ(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(ge(314))}r!==null&&r.delete(t),AN(e,n)}var PN;PN=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Ci.current)Si=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Si=!1,XZ(e,t,n);Si=!!(e.flags&131072)}else Si=!1,cn&&t.flags&1048576&&kM(t,Hv,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;iv(e,t),e=t.pendingProps;var i=df(t,Hr.current);Hd(t,n),i=R4(null,t,r,e,i,n);var o=O4();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ti(r)?(o=!0,jv(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,C4(t),i.updater=O_,t.stateNode=i,i._reactInternals=t,qC(t,r,e,n),t=YC(null,t,r,!0,o,n)):(t.tag=0,cn&&o&&y4(t),ri(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(iv(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=cJ(r),e=Fo(r,e),i){case 0:t=XC(null,t,r,e,n);break e;case 1:t=S8(null,t,r,e,n);break e;case 11:t=_8(null,t,r,e,n);break e;case 14:t=b8(null,t,r,Fo(r.type,e),n);break e}throw Error(ge(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fo(r,i),XC(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fo(r,i),S8(e,t,r,i,n);case 3:e:{if(dN(t),e===null)throw Error(ge(387));r=t.pendingProps,o=t.memoizedState,i=o.element,LM(e,t),Kv(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=gf(Error(ge(423)),t),t=w8(e,t,r,n,i);break e}else if(r!==i){i=gf(Error(ge(424)),t),t=w8(e,t,r,n,i);break e}else for(ji=El(t.stateNode.containerInfo.firstChild),Gi=t,cn=!0,Vo=null,n=BM(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(ff(),r===i){t=Pa(e,t,n);break e}ri(e,t,r,n)}t=t.child}return t;case 5:return UM(t),e===null&&GC(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,s=i.children,BC(r,i)?s=null:o!==null&&BC(r,o)&&(t.flags|=32),cN(e,t),ri(e,t,s,n),t.child;case 6:return e===null&&GC(t),null;case 13:return fN(e,t,n);case 4:return T4(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=hf(t,null,r,n):ri(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fo(r,i),_8(e,t,r,i,n);case 7:return ri(e,t,t.pendingProps,n),t.child;case 8:return ri(e,t,t.pendingProps.children,n),t.child;case 12:return ri(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,s=i.value,Zt(Wv,r._currentValue),r._currentValue=s,o!==null)if(Zo(o.value,s)){if(o.children===i.children&&!Ci.current){t=Pa(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var a=o.dependencies;if(a!==null){s=o.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=va(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),HC(o.return,n,t),a.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(ge(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),HC(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}ri(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Hd(t,n),i=So(i),r=r(i),t.flags|=1,ri(e,t,r,n),t.child;case 14:return r=t.type,i=Fo(r,t.pendingProps),i=Fo(r.type,i),b8(e,t,r,i,n);case 15:return lN(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fo(r,i),iv(e,t),t.tag=1,Ti(r)?(e=!0,jv(t)):e=!1,Hd(t,n),$M(t,r,i),qC(t,r,i,n),YC(null,t,r,!0,e,n);case 19:return hN(e,t,n);case 22:return uN(e,t,n)}throw Error(ge(156,t.tag))};function RN(e,t){return tM(e,t)}function uJ(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 vo(e,t,n,r){return new uJ(e,t,n,r)}function U4(e){return e=e.prototype,!(!e||!e.isReactComponent)}function cJ(e){if(typeof e=="function")return U4(e)?1:0;if(e!=null){if(e=e.$$typeof,e===o4)return 11;if(e===s4)return 14}return 2}function Ol(e,t){var n=e.alternate;return n===null?(n=vo(e.tag,t,e.key,e.mode),n.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=e.flags&14680064,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=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function av(e,t,n,r,i,o){var s=2;if(r=e,typeof e=="function")U4(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case Cd:return Vu(n.children,i,o,t);case i4:s=8,i|=8;break;case yC:return e=vo(12,n,t,i|2),e.elementType=yC,e.lanes=o,e;case vC:return e=vo(13,n,t,i),e.elementType=vC,e.lanes=o,e;case _C:return e=vo(19,n,t,i),e.elementType=_C,e.lanes=o,e;case F7:return N_(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case D7:s=10;break e;case $7:s=9;break e;case o4:s=11;break e;case s4:s=14;break e;case ll:s=16,r=null;break e}throw Error(ge(130,e==null?e:typeof e,""))}return t=vo(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function Vu(e,t,n,r){return e=vo(7,e,r,t),e.lanes=n,e}function N_(e,t,n,r){return e=vo(22,e,r,t),e.elementType=F7,e.lanes=n,e.stateNode={isHidden:!1},e}function Yw(e,t,n){return e=vo(6,e,null,t),e.lanes=n,e}function Qw(e,t,n){return t=vo(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function dJ(e,t,n,r,i){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=kw(0),this.expirationTimes=kw(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=kw(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function z4(e,t,n,r,i,o,s,a,l){return e=new dJ(e,t,n,a,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=vo(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},C4(o),e}function fJ(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(MN)}catch(e){console.error(e)}}MN(),k7.exports=Yi;var bs=k7.exports;const Y9e=dc(bs);var N8=bs;gC.createRoot=N8.createRoot,gC.hydrateRoot=N8.hydrateRoot;const yJ="modulepreload",vJ=function(e,t){return new URL(e,t).href},L8={},NN=function(t,n,r){if(!n||n.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=vJ(o,r),o in L8)return;L8[o]=!0;const s=o.endsWith(".css"),a=s?'[rel="stylesheet"]':"";if(!!r)for(let d=i.length-1;d>=0;d--){const f=i[d];if(f.href===o&&(!s||f.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${a}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":yJ,s||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),s)return new Promise((d,f)=>{u.addEventListener("load",d),u.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t()).catch(o=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o})};function hr(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:B_(e)?2:U_(e)?3:0}function kl(e,t){return Fl(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function lv(e,t){return Fl(e)===2?e.get(t):e[t]}function LN(e,t,n){var r=Fl(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function DN(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function B_(e){return CJ&&e instanceof Map}function U_(e){return TJ&&e instanceof Set}function lr(e){return e.o||e.t}function W4(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=FN(e);delete t[Xe];for(var n=Kd(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=_J),Object.freeze(e),t&&Ra(e,function(n,r){return tm(r,!0)},!0)),e}function _J(){hr(2)}function q4(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function Ps(e){var t=u3[e];return t||hr(18,e),t}function K4(e,t){u3[e]||(u3[e]=t)}function eg(){return ng}function Zw(e,t){t&&(Ps("Patches"),e.u=[],e.s=[],e.v=t)}function r1(e){l3(e),e.p.forEach(bJ),e.p=null}function l3(e){e===ng&&(ng=e.l)}function D8(e){return ng={p:[],l:ng,h:e,m:!0,_:0}}function bJ(e){var t=e[Xe];t.i===0||t.i===1?t.j():t.g=!0}function Jw(e,t){t._=t.p.length;var n=t.p[0],r=e!==void 0&&e!==n;return t.h.O||Ps("ES5").S(t,e,r),r?(n[Xe].P&&(r1(t),hr(4)),Ai(e)&&(e=i1(t,e),t.l||o1(t,e)),t.u&&Ps("Patches").M(n[Xe].t,e,t.u,t.s)):e=i1(t,n,[]),r1(t),t.u&&t.v(t.u,t.s),e!==V_?e:void 0}function i1(e,t,n){if(q4(t))return t;var r=t[Xe];if(!r)return Ra(t,function(a,l){return $8(e,r,t,a,l,n)},!0),t;if(r.A!==e)return t;if(!r.P)return o1(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=r.i===4||r.i===5?r.o=W4(r.k):r.o,o=i,s=!1;r.i===3&&(o=new Set(i),i.clear(),s=!0),Ra(o,function(a,l){return $8(e,r,i,a,l,n,s)}),o1(e,i,!1),n&&e.u&&Ps("Patches").N(r,n,e.u,e.s)}return r.o}function $8(e,t,n,r,i,o,s){if(ai(i)){var a=i1(e,i,o&&t&&t.i!==3&&!kl(t.R,r)?o.concat(r):void 0);if(LN(n,r,a),!ai(a))return;e.m=!1}else s&&n.add(i);if(Ai(i)&&!q4(i)){if(!e.h.D&&e._<1)return;i1(e,i),t&&t.A.l||o1(e,i)}}function o1(e,t,n){n===void 0&&(n=!1),!e.l&&e.h.D&&e.m&&tm(t,n)}function ex(e,t){var n=e[Xe];return(n?lr(n):e)[t]}function F8(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function bi(e){e.P||(e.P=!0,e.l&&bi(e.l))}function tx(e){e.o||(e.o=W4(e.t))}function tg(e,t,n){var r=B_(t)?Ps("MapSet").F(t,n):U_(t)?Ps("MapSet").T(t,n):e.O?function(i,o){var s=Array.isArray(i),a={i:s?1:0,A:o?o.A:eg(),P:!1,I:!1,R:{},l:o,t:i,k:null,o:null,j:null,C:!1},l=a,u=rg;s&&(l=[a],u=cp);var d=Proxy.revocable(l,u),f=d.revoke,p=d.proxy;return a.k=p,a.j=f,p}(t,n):Ps("ES5").J(t,n);return(n?n.A:eg()).p.push(r),r}function z_(e){return ai(e)||hr(22,e),function t(n){if(!Ai(n))return n;var r,i=n[Xe],o=Fl(n);if(i){if(!i.P&&(i.i<4||!Ps("ES5").K(i)))return i.t;i.I=!0,r=B8(n,o),i.I=!1}else r=B8(n,o);return Ra(r,function(s,a){i&&lv(i.t,s)===a||LN(r,s,t(a))}),o===3?new Set(r):r}(e)}function B8(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return W4(e)}function X4(){function e(o,s){var a=i[o];return a?a.enumerable=s:i[o]=a={configurable:!0,enumerable:s,get:function(){var l=this[Xe];return rg.get(l,o)},set:function(l){var u=this[Xe];rg.set(u,o,l)}},a}function t(o){for(var s=o.length-1;s>=0;s--){var a=o[s][Xe];if(!a.P)switch(a.i){case 5:r(a)&&bi(a);break;case 4:n(a)&&bi(a)}}}function n(o){for(var s=o.t,a=o.k,l=Kd(a),u=l.length-1;u>=0;u--){var d=l[u];if(d!==Xe){var f=s[d];if(f===void 0&&!kl(s,d))return!0;var p=a[d],g=p&&p[Xe];if(g?g.t!==f:!DN(p,f))return!0}}var m=!!s[Xe];return l.length!==Kd(s).length+(m?0:1)}function r(o){var s=o.k;if(s.length!==o.t.length)return!0;var a=Object.getOwnPropertyDescriptor(s,s.length-1);if(a&&!a.get)return!0;for(var l=0;l1?_-1:0),y=1;y<_;y++)b[y-1]=arguments[y];return l.produce(v,function(S){var C;return(C=o).call.apply(C,[x,S].concat(b))})}}var u;if(typeof o!="function"&&hr(6),s!==void 0&&typeof s!="function"&&hr(7),Ai(i)){var d=D8(r),f=tg(r,i,void 0),p=!0;try{u=o(f),p=!1}finally{p?r1(d):l3(d)}return typeof Promise<"u"&&u instanceof Promise?u.then(function(v){return Zw(d,s),Jw(v,d)},function(v){throw r1(d),v}):(Zw(d,s),Jw(u,d))}if(!i||typeof i!="object"){if((u=o(i))===void 0&&(u=i),u===V_&&(u=void 0),r.D&&tm(u,!0),s){var g=[],m=[];Ps("Patches").M(i,u,g,m),s(g,m)}return u}hr(21,i)},this.produceWithPatches=function(i,o){if(typeof i=="function")return function(u){for(var d=arguments.length,f=Array(d>1?d-1:0),p=1;p=0;i--){var o=r[i];if(o.path.length===0&&o.op==="replace"){n=o.value;break}}i>-1&&(r=r.slice(i+1));var s=Ps("Patches").$;return ai(n)?s(n,r):this.produce(n,function(a){return s(a,r)})},e}(),qi=new BN,UN=qi.produce,Z4=qi.produceWithPatches.bind(qi),AJ=qi.setAutoFreeze.bind(qi),PJ=qi.setUseProxies.bind(qi),c3=qi.applyPatches.bind(qi),RJ=qi.createDraft.bind(qi),OJ=qi.finishDraft.bind(qi);const Jl=UN,Q9e=Object.freeze(Object.defineProperty({__proto__:null,Immer:BN,applyPatches:c3,castDraft:wJ,castImmutable:xJ,createDraft:RJ,current:z_,default:Jl,enableAllPlugins:SJ,enableES5:X4,enableMapSet:$N,enablePatches:Y4,finishDraft:OJ,freeze:tm,immerable:qd,isDraft:ai,isDraftable:Ai,nothing:V_,original:H4,produce:UN,produceWithPatches:Z4,setAutoFreeze:AJ,setUseProxies:PJ},Symbol.toStringTag,{value:"Module"}));function ig(e){"@babel/helpers - typeof";return ig=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ig(e)}function kJ(e,t){if(ig(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(ig(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function IJ(e){var t=kJ(e,"string");return ig(t)==="symbol"?t:String(t)}function MJ(e,t,n){return t=IJ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function V8(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function j8(e){for(var t=1;t"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(Pr(1));return n(nm)(e,t)}if(typeof e!="function")throw new Error(Pr(2));var i=e,o=t,s=[],a=s,l=!1;function u(){a===s&&(a=s.slice())}function d(){if(l)throw new Error(Pr(3));return o}function f(v){if(typeof v!="function")throw new Error(Pr(4));if(l)throw new Error(Pr(5));var x=!0;return u(),a.push(v),function(){if(x){if(l)throw new Error(Pr(6));x=!1,u();var b=a.indexOf(v);a.splice(b,1),s=null}}}function p(v){if(!NJ(v))throw new Error(Pr(7));if(typeof v.type>"u")throw new Error(Pr(8));if(l)throw new Error(Pr(9));try{l=!0,o=i(o,v)}finally{l=!1}for(var x=s=a,_=0;_"u")throw new Error(Pr(12));if(typeof n(void 0,{type:yf.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Pr(13))})}function Ff(e){for(var t=Object.keys(e),n={},r=0;r"u")throw u&&u.type,new Error(Pr(14));f[g]=x,d=d||x!==v}return d=d||o.length!==Object.keys(l).length,d?f:l}}function H8(e,t){return function(){return t(e.apply(this,arguments))}}function VN(e,t){if(typeof e=="function")return H8(e,t);if(typeof e!="object"||e===null)throw new Error(Pr(16));var n={};for(var r in e){var i=e[r];typeof i=="function"&&(n[r]=H8(i,t))}return n}function vf(){for(var e=arguments.length,t=new Array(e),n=0;n-1){var u=n[l];return l>0&&(n.splice(l,1),n.unshift(u)),u.value}return s1}function i(a,l){r(a)===s1&&(n.unshift({key:a,value:l}),n.length>e&&n.pop())}function o(){return n}function s(){n=[]}return{get:r,put:i,getEntries:o,clear:s}}var jN=function(t,n){return t===n};function BJ(e){return function(n,r){if(n===null||r===null||n.length!==r.length)return!1;for(var i=n.length,o=0;o1?t-1:0),r=1;r0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]",value:e};if(typeof e!="object"||e===null||o!=null&&o.has(e))return!1;for(var a=r!=null?r(e):Object.entries(e),l=i.length>0,u=function(x,_){var b=t?t+"."+x:x;if(l){var y=i.some(function(S){return S instanceof RegExp?S.test(b):b===S});if(y)return"continue"}if(!n(_))return{value:{keyPath:b,value:_}};if(typeof _=="object"&&(s=QN(_,b,n,r,i,o),s))return{value:s}},d=0,f=a;d-1}function tee(e){return""+e}function nL(e){var t={},n=[],r,i={addCase:function(o,s){var a=typeof o=="string"?o:o.type;if(a in t)throw new Error("addCase cannot be called with two reducers for the same action type");return t[a]=s,i},addMatcher:function(o,s){return n.push({matcher:o,reducer:s}),i},addDefaultCase:function(o){return r=o,i}};return e(i),[t,n,r]}function nee(e){return typeof e=="function"}function rL(e,t,n,r){n===void 0&&(n=[]);var i=typeof t=="function"?nL(t):[t,n,r],o=i[0],s=i[1],a=i[2],l;if(nee(e))l=function(){return d3(e())};else{var u=d3(e);l=function(){return u}}function d(f,p){f===void 0&&(f=l());var g=Bl([o[p.type]],s.filter(function(m){var v=m.matcher;return v(p)}).map(function(m){var v=m.reducer;return v}));return g.filter(function(m){return!!m}).length===0&&(g=[a]),g.reduce(function(m,v){if(v)if(ai(m)){var x=m,_=v(x,p);return _===void 0?m:_}else{if(Ai(m))return Jl(m,function(b){return v(b,p)});var _=v(m,p);if(_===void 0){if(m===null)return m;throw Error("A case reducer on a non-draftable value must not return undefined")}return _}return m},f)}return d.getInitialState=l,d}function ree(e,t){return e+"/"+t}function yn(e){var t=e.name;if(!t)throw new Error("`name` is a required option for createSlice");typeof process<"u";var n=typeof e.initialState=="function"?e.initialState:d3(e.initialState),r=e.reducers||{},i=Object.keys(r),o={},s={},a={};i.forEach(function(d){var f=r[d],p=ree(t,d),g,m;"reducer"in f?(g=f.reducer,m=f.prepare):g=f,o[d]=g,s[p]=g,a[d]=m?Re(p,m):Re(p)});function l(){var d=typeof e.extraReducers=="function"?nL(e.extraReducers):[e.extraReducers],f=d[0],p=f===void 0?{}:f,g=d[1],m=g===void 0?[]:g,v=d[2],x=v===void 0?void 0:v,_=wi(wi({},p),s);return rL(n,function(b){for(var y in _)b.addCase(y,_[y]);for(var S=0,C=m;S0;if(b){var y=m.filter(function(S){return u(x,S,v)}).length>0;y&&(v.ids=Object.keys(v.entities))}}function p(m,v){return g([m],v)}function g(m,v){var x=iL(m,e,v),_=x[0],b=x[1];f(b,v),n(_,v)}return{removeAll:aee(l),addOne:kn(t),addMany:kn(n),setOne:kn(r),setMany:kn(i),setAll:kn(o),updateOne:kn(d),updateMany:kn(f),upsertOne:kn(p),upsertMany:kn(g),removeOne:kn(s),removeMany:kn(a)}}function lee(e,t){var n=oL(e),r=n.removeOne,i=n.removeMany,o=n.removeAll;function s(b,y){return a([b],y)}function a(b,y){b=ju(b);var S=b.filter(function(C){return!(Tp(C,e)in y.entities)});S.length!==0&&x(S,y)}function l(b,y){return u([b],y)}function u(b,y){b=ju(b),b.length!==0&&x(b,y)}function d(b,y){b=ju(b),y.entities={},y.ids=[],a(b,y)}function f(b,y){return p([b],y)}function p(b,y){for(var S=!1,C=0,T=b;C-1;return n&&r}function om(e){return typeof e[0]=="function"&&"pending"in e[0]&&"fulfilled"in e[0]&&"rejected"in e[0]}function H_(){for(var e=[],t=0;t0)for(var y=g.getState(),S=Array.from(n.values()),C=0,T=S;CMath.floor(e/t)*t,Ss=(e,t)=>Math.round(e/t)*t;var Eee=typeof global=="object"&&global&&global.Object===Object&&global;const xL=Eee;var Aee=typeof self=="object"&&self&&self.Object===Object&&self,Pee=xL||Aee||Function("return this")();const Fs=Pee;var Ree=Fs.Symbol;const xo=Ree;var CL=Object.prototype,Oee=CL.hasOwnProperty,kee=CL.toString,Uh=xo?xo.toStringTag:void 0;function Iee(e){var t=Oee.call(e,Uh),n=e[Uh];try{e[Uh]=void 0;var r=!0}catch{}var i=kee.call(e);return r&&(t?e[Uh]=n:delete e[Uh]),i}var Mee=Object.prototype,Nee=Mee.toString;function Lee(e){return Nee.call(e)}var Dee="[object Null]",$ee="[object Undefined]",J8=xo?xo.toStringTag:void 0;function nu(e){return e==null?e===void 0?$ee:Dee:J8&&J8 in Object(e)?Iee(e):Lee(e)}function es(e){return e!=null&&typeof e=="object"}var Fee="[object Symbol]";function W_(e){return typeof e=="symbol"||es(e)&&nu(e)==Fee}function TL(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n0){if(++t>=mte)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function bte(e){return function(){return e}}var Ste=function(){try{var e=gc(Object,"defineProperty");return e({},"",{}),e}catch{}}();const c1=Ste;var wte=c1?function(e,t){return c1(e,"toString",{configurable:!0,enumerable:!1,value:bte(t),writable:!0})}:q_;const xte=wte;var Cte=_te(xte);const RL=Cte;function OL(e,t){for(var n=-1,r=e==null?0:e.length;++n-1}var Ote=9007199254740991,kte=/^(?:0|[1-9]\d*)$/;function iT(e,t){var n=typeof e;return t=t??Ote,!!t&&(n=="number"||n!="symbol"&&kte.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=Nte}function Uf(e){return e!=null&&sT(e.length)&&!rT(e)}function NL(e,t,n){if(!Pi(n))return!1;var r=typeof t;return(r=="number"?Uf(n)&&iT(t,n.length):r=="string"&&t in n)?um(n[t],e):!1}function LL(e){return ML(function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(o=e.length>3&&typeof o=="function"?(i--,o):void 0,s&&NL(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),t=Object(t);++r-1}function Xne(e,t){var n=this.__data__,r=K_(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function Na(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(a)?t>1?VL(a,t-1,n,r,i):hT(i,a):r||(i[i.length]=a)}return i}function hre(e){var t=e==null?0:e.length;return t?VL(e,1):[]}function pre(e){return RL(IL(e,void 0,hre),e+"")}var gre=UL(Object.getPrototypeOf,Object);const pT=gre;var mre="[object Object]",yre=Function.prototype,vre=Object.prototype,jL=yre.toString,_re=vre.hasOwnProperty,bre=jL.call(Object);function GL(e){if(!es(e)||nu(e)!=mre)return!1;var t=pT(e);if(t===null)return!0;var n=_re.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&jL.call(n)==bre}function HL(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(i);++r=r?e:HL(e,t,n)}var wre="\\ud800-\\udfff",xre="\\u0300-\\u036f",Cre="\\ufe20-\\ufe2f",Tre="\\u20d0-\\u20ff",Ere=xre+Cre+Tre,Are="\\ufe0e\\ufe0f",Pre="\\u200d",Rre=RegExp("["+Pre+wre+Ere+Are+"]");function gT(e){return Rre.test(e)}function Ore(e){return e.split("")}var WL="\\ud800-\\udfff",kre="\\u0300-\\u036f",Ire="\\ufe20-\\ufe2f",Mre="\\u20d0-\\u20ff",Nre=kre+Ire+Mre,Lre="\\ufe0e\\ufe0f",Dre="["+WL+"]",g3="["+Nre+"]",m3="\\ud83c[\\udffb-\\udfff]",$re="(?:"+g3+"|"+m3+")",qL="[^"+WL+"]",KL="(?:\\ud83c[\\udde6-\\uddff]){2}",XL="[\\ud800-\\udbff][\\udc00-\\udfff]",Fre="\\u200d",YL=$re+"?",QL="["+Lre+"]?",Bre="(?:"+Fre+"(?:"+[qL,KL,XL].join("|")+")"+QL+YL+")*",Ure=QL+YL+Bre,zre="(?:"+[qL+g3+"?",g3,KL,XL,Dre].join("|")+")",Vre=RegExp(m3+"(?="+m3+")|"+zre+Ure,"g");function jre(e){return e.match(Vre)||[]}function Gre(e){return gT(e)?jre(e):Ore(e)}function Hre(e){return function(t){t=Y_(t);var n=gT(t)?Gre(t):void 0,r=n?n[0]:t.charAt(0),i=n?Sre(n,1).join(""):t.slice(1);return r[e]()+i}}var Wre=Hre("toUpperCase");const qre=Wre;function ZL(e,t,n,r){var i=-1,o=e==null?0:e.length;for(r&&o&&(n=e[++i]);++i=t?e:t)),e}function bl(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=ox(n),n=n===n?n:0),t!==void 0&&(t=ox(t),t=t===t?t:0),$ie(ox(e),t,n)}function Fie(){this.__data__=new Na,this.size=0}function Bie(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Uie(e){return this.__data__.get(e)}function zie(e){return this.__data__.has(e)}var Vie=200;function jie(e,t){var n=this.__data__;if(n instanceof Na){var r=n.__data__;if(!lg||r.lengtha))return!1;var u=o.get(e),d=o.get(t);if(u&&d)return u==t&&d==e;var f=-1,p=!0,g=n&xse?new ug:void 0;for(o.set(e,t),o.set(t,e);++f1),o}),Bf(e,vD(e),n),r&&(n=Ap(n,Aae|Pae|Rae,Eae));for(var i=t.length;i--;)MD(n,t[i]);return n});const rb=Oae;var kae=RD("length");const Iae=kae;var ND="\\ud800-\\udfff",Mae="\\u0300-\\u036f",Nae="\\ufe20-\\ufe2f",Lae="\\u20d0-\\u20ff",Dae=Mae+Nae+Lae,$ae="\\ufe0e\\ufe0f",Fae="["+ND+"]",w3="["+Dae+"]",x3="\\ud83c[\\udffb-\\udfff]",Bae="(?:"+w3+"|"+x3+")",LD="[^"+ND+"]",DD="(?:\\ud83c[\\udde6-\\uddff]){2}",$D="[\\ud800-\\udbff][\\udc00-\\udfff]",Uae="\\u200d",FD=Bae+"?",BD="["+$ae+"]?",zae="(?:"+Uae+"(?:"+[LD,DD,$D].join("|")+")"+BD+FD+")*",Vae=BD+FD+zae,jae="(?:"+[LD+w3+"?",w3,DD,$D,Fae].join("|")+")",I9=RegExp(x3+"(?="+x3+")|"+jae+Vae,"g");function Gae(e){for(var t=I9.lastIndex=0;I9.test(e);)++t;return t}function Hae(e){return gT(e)?Gae(e):Iae(e)}function Wae(e,t,n,r,i){return i(e,function(o,s,a){n=r?(r=!1,o):t(n,o,s,a)}),n}function _T(e,t,n){var r=gr(e)?ZL:Wae,i=arguments.length<3;return r(e,J_(t),n,i,eb)}var qae="[object Map]",Kae="[object Set]";function bT(e){if(e==null)return 0;if(Uf(e))return wae(e)?Hae(e):e.length;var t=Sf(e);return t==qae||t==Kae?e.size:zL(e).length}function Xae(e,t){var n;return eb(e,function(r,i,o){return n=t(r,i,o),!n}),!!n}function ku(e,t,n){var r=gr(e)?CD:Xae;return n&&NL(e,t,n)&&(t=void 0),r(e,J_(t))}var Yae=Die(function(e,t,n){return e+(n?" ":"")+qre(t)});const Qae=Yae;var Zae=1/0,Jae=Zd&&1/vT(new Zd([,-0]))[1]==Zae?function(e){return new Zd(e)}:gte;const ele=Jae;var tle=200;function nle(e,t,n){var r=-1,i=Rte,o=e.length,s=!0,a=[],l=a;if(n)s=!1,i=yae;else if(o>=tle){var u=t?null:ele(e);if(u)return vT(u);s=!1,i=TD,l=new ug}else l=t?[]:a;e:for(;++r{Tae(e,t.payload)}}}),{configChanged:ole}=zD.actions,sle=zD.reducer,eRe={"sd-1":"Stable Diffusion 1.x","sd-2":"Stable Diffusion 2.x",sdxl:"Stable Diffusion XL","sdxl-refiner":"Stable Diffusion XL Refiner"},tRe={"sd-1":"SD1","sd-2":"SD2",sdxl:"SDXL","sdxl-refiner":"SDXLR"},ale={"sd-1":{maxClip:12,markers:[0,1,2,3,4,8,12]},"sd-2":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},sdxl:{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},"sdxl-refiner":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]}},nRe={lycoris:"LyCORIS",diffusers:"Diffusers"},rRe=0,lle=4294967295;var wt;(function(e){e.assertEqual=i=>i;function t(i){}e.assertIs=t;function n(i){throw new Error}e.assertNever=n,e.arrayToEnum=i=>{const o={};for(const s of i)o[s]=s;return o},e.getValidEnumValues=i=>{const o=e.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),s={};for(const a of o)s[a]=i[a];return e.objectValues(s)},e.objectValues=i=>e.objectKeys(i).map(function(o){return i[o]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const o=[];for(const s in i)Object.prototype.hasOwnProperty.call(i,s)&&o.push(s);return o},e.find=(i,o)=>{for(const s of i)if(o(s))return s},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&isFinite(i)&&Math.floor(i)===i;function r(i,o=" | "){return i.map(s=>typeof s=="string"?`'${s}'`:s).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(i,o)=>typeof o=="bigint"?o.toString():o})(wt||(wt={}));var C3;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(C3||(C3={}));const xe=wt.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ml=e=>{switch(typeof e){case"undefined":return xe.undefined;case"string":return xe.string;case"number":return isNaN(e)?xe.nan:xe.number;case"boolean":return xe.boolean;case"function":return xe.function;case"bigint":return xe.bigint;case"symbol":return xe.symbol;case"object":return Array.isArray(e)?xe.array:e===null?xe.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?xe.promise:typeof Map<"u"&&e instanceof Map?xe.map:typeof Set<"u"&&e instanceof Set?xe.set:typeof Date<"u"&&e instanceof Date?xe.date:xe.object;default:return xe.unknown}},me=wt.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),ule=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class Xo extends Error{constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}get errors(){return this.issues}format(t){const n=t||function(o){return o.message},r={_errors:[]},i=o=>{for(const s of o.issues)if(s.code==="invalid_union")s.unionErrors.map(i);else if(s.code==="invalid_return_type")i(s.returnTypeError);else if(s.code==="invalid_arguments")i(s.argumentsError);else if(s.path.length===0)r._errors.push(n(s));else{let a=r,l=0;for(;ln.message){const n={},r=[];for(const i of this.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}Xo.create=e=>new Xo(e);const cg=(e,t)=>{let n;switch(e.code){case me.invalid_type:e.received===xe.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case me.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,wt.jsonStringifyReplacer)}`;break;case me.unrecognized_keys:n=`Unrecognized key(s) in object: ${wt.joinValues(e.keys,", ")}`;break;case me.invalid_union:n="Invalid input";break;case me.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${wt.joinValues(e.options)}`;break;case me.invalid_enum_value:n=`Invalid enum value. Expected ${wt.joinValues(e.options)}, received '${e.received}'`;break;case me.invalid_arguments:n="Invalid function arguments";break;case me.invalid_return_type:n="Invalid function return type";break;case me.invalid_date:n="Invalid date";break;case me.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:wt.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case me.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case me.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case me.custom:n="Invalid input";break;case me.invalid_intersection_types:n="Intersection results could not be merged";break;case me.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case me.not_finite:n="Number must be finite";break;default:n=t.defaultError,wt.assertNever(e)}return{message:n}};let VD=cg;function cle(e){VD=e}function f1(){return VD}const h1=e=>{const{data:t,path:n,errorMaps:r,issueData:i}=e,o=[...n,...i.path||[]],s={...i,path:o};let a="";const l=r.filter(u=>!!u).slice().reverse();for(const u of l)a=u(s,{data:t,defaultError:a}).message;return{...i,path:o,message:i.message||a}},dle=[];function Te(e,t){const n=h1({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,f1(),cg].filter(r=>!!r)});e.common.issues.push(n)}class Wr{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){const r=[];for(const i of n){if(i.status==="aborted")return je;i.status==="dirty"&&t.dirty(),r.push(i.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){const r=[];for(const i of n)r.push({key:await i.key,value:await i.value});return Wr.mergeObjectSync(t,r)}static mergeObjectSync(t,n){const r={};for(const i of n){const{key:o,value:s}=i;if(o.status==="aborted"||s.status==="aborted")return je;o.status==="dirty"&&t.dirty(),s.status==="dirty"&&t.dirty(),(typeof s.value<"u"||i.alwaysSet)&&(r[o.value]=s.value)}return{status:t.value,value:r}}}const je=Object.freeze({status:"aborted"}),jD=e=>({status:"dirty",value:e}),li=e=>({status:"valid",value:e}),T3=e=>e.status==="aborted",E3=e=>e.status==="dirty",p1=e=>e.status==="valid",g1=e=>typeof Promise<"u"&&e instanceof Promise;var Le;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(Le||(Le={}));class Ms{constructor(t,n,r,i){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=i}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const M9=(e,t)=>{if(p1(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new Xo(e.common.issues);return this._error=n,this._error}}};function Qe(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(s,a)=>s.code!=="invalid_type"?{message:a.defaultError}:typeof a.data>"u"?{message:r??a.defaultError}:{message:n??a.defaultError},description:i}}class tt{constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(t){return ml(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ml(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Wr,ctx:{common:t.parent.common,data:t.data,parsedType:ml(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(g1(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){const n=this._parse(t);return Promise.resolve(n)}parse(t,n){const r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){var r;const i={common:{issues:[],async:(r=n==null?void 0:n.async)!==null&&r!==void 0?r:!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ml(t)},o=this._parseSync({data:t,path:i.path,parent:i});return M9(i,o)}async parseAsync(t,n){const r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){const r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ml(t)},i=this._parse({data:t,path:r.path,parent:r}),o=await(g1(i)?i:Promise.resolve(i));return M9(r,o)}refine(t,n){const r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,o)=>{const s=t(i),a=()=>o.addIssue({code:me.custom,...r(i)});return typeof Promise<"u"&&s instanceof Promise?s.then(l=>l?!0:(a(),!1)):s?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(t){return new ts({schema:this,typeName:Ue.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}optional(){return _a.create(this,this._def)}nullable(){return ic.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Yo.create(this,this._def)}promise(){return xf.create(this,this._def)}or(t){return pg.create([this,t],this._def)}and(t){return gg.create(this,t,this._def)}transform(t){return new ts({...Qe(this._def),schema:this,typeName:Ue.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new bg({...Qe(this._def),innerType:this,defaultValue:n,typeName:Ue.ZodDefault})}brand(){return new HD({typeName:Ue.ZodBranded,type:this,...Qe(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new _1({...Qe(this._def),innerType:this,catchValue:n,typeName:Ue.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return hm.create(this,t)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const fle=/^c[^\s-]{8,}$/i,hle=/^[a-z][a-z0-9]*$/,ple=/[0-9A-HJKMNP-TV-Z]{26}/,gle=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,mle=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\])|(\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\.[A-Za-z]{2,})+))$/,yle=/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,vle=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,_le=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ble=e=>e.precision?e.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}Z$`):e.precision===0?e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function Sle(e,t){return!!((t==="v4"||!t)&&vle.test(e)||(t==="v6"||!t)&&_le.test(e))}class Ho extends tt{constructor(){super(...arguments),this._regex=(t,n,r)=>this.refinement(i=>t.test(i),{validation:n,code:me.invalid_string,...Le.errToObj(r)}),this.nonempty=t=>this.min(1,Le.errToObj(t)),this.trim=()=>new Ho({...this._def,checks:[...this._def.checks,{kind:"trim"}]}),this.toLowerCase=()=>new Ho({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]}),this.toUpperCase=()=>new Ho({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==xe.string){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.string,received:o.parsedType}),je}const r=new Wr;let i;for(const o of this._def.checks)if(o.kind==="min")t.data.lengtho.value&&(i=this._getOrReturnCtx(t,i),Te(i,{code:me.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){const s=t.data.length>o.value,a=t.data.length"u"?null:t==null?void 0:t.precision,offset:(n=t==null?void 0:t.offset)!==null&&n!==void 0?n:!1,...Le.errToObj(t==null?void 0:t.message)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...Le.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...Le.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...Le.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...Le.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...Le.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...Le.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...Le.errToObj(n)})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get minLength(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new Ho({checks:[],typeName:Ue.ZodString,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...Qe(e)})};function wle(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r,o=parseInt(e.toFixed(i).replace(".","")),s=parseInt(t.toFixed(i).replace(".",""));return o%s/Math.pow(10,i)}class zl extends tt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==xe.number){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.number,received:o.parsedType}),je}let r;const i=new Wr;for(const o of this._def.checks)o.kind==="int"?wt.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),Te(r,{code:me.invalid_type,expected:"integer",received:"float",message:o.message}),i.dirty()):o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="multipleOf"?wle(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),Te(r,{code:me.not_finite,message:o.message}),i.dirty()):wt.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,Le.toString(n))}gt(t,n){return this.setLimit("min",t,!1,Le.toString(n))}lte(t,n){return this.setLimit("max",t,!0,Le.toString(n))}lt(t,n){return this.setLimit("max",t,!1,Le.toString(n))}setLimit(t,n,r,i){return new zl({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:Le.toString(i)}]})}_addCheck(t){return new zl({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:Le.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Le.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Le.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Le.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Le.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:Le.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:Le.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Le.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Le.toString(t)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuet.kind==="int"||t.kind==="multipleOf"&&wt.isInteger(t.value))}get isFinite(){let t=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.valuenew zl({checks:[],typeName:Ue.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...Qe(e)});class Vl extends tt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce&&(t.data=BigInt(t.data)),this._getType(t)!==xe.bigint){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.bigint,received:o.parsedType}),je}let r;const i=new Wr;for(const o of this._def.checks)o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):wt.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,Le.toString(n))}gt(t,n){return this.setLimit("min",t,!1,Le.toString(n))}lte(t,n){return this.setLimit("max",t,!0,Le.toString(n))}lt(t,n){return this.setLimit("max",t,!1,Le.toString(n))}setLimit(t,n,r,i){return new Vl({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:Le.toString(i)}]})}_addCheck(t){return new Vl({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Le.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Le.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Le.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Le.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:Le.toString(n)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new Vl({checks:[],typeName:Ue.ZodBigInt,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...Qe(e)})};class dg extends tt{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==xe.boolean){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.boolean,received:r.parsedType}),je}return li(t.data)}}dg.create=e=>new dg({typeName:Ue.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...Qe(e)});class nc extends tt{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==xe.date){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.date,received:o.parsedType}),je}if(isNaN(t.data.getTime())){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_date}),je}const r=new Wr;let i;for(const o of this._def.checks)o.kind==="min"?t.data.getTime()o.value&&(i=this._getOrReturnCtx(t,i),Te(i,{code:me.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):wt.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new nc({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:Le.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:Le.toString(n)})}get minDate(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuenew nc({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:Ue.ZodDate,...Qe(e)});class m1 extends tt{_parse(t){if(this._getType(t)!==xe.symbol){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.symbol,received:r.parsedType}),je}return li(t.data)}}m1.create=e=>new m1({typeName:Ue.ZodSymbol,...Qe(e)});class fg extends tt{_parse(t){if(this._getType(t)!==xe.undefined){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.undefined,received:r.parsedType}),je}return li(t.data)}}fg.create=e=>new fg({typeName:Ue.ZodUndefined,...Qe(e)});class hg extends tt{_parse(t){if(this._getType(t)!==xe.null){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.null,received:r.parsedType}),je}return li(t.data)}}hg.create=e=>new hg({typeName:Ue.ZodNull,...Qe(e)});class wf extends tt{constructor(){super(...arguments),this._any=!0}_parse(t){return li(t.data)}}wf.create=e=>new wf({typeName:Ue.ZodAny,...Qe(e)});class Gu extends tt{constructor(){super(...arguments),this._unknown=!0}_parse(t){return li(t.data)}}Gu.create=e=>new Gu({typeName:Ue.ZodUnknown,...Qe(e)});class Oa extends tt{_parse(t){const n=this._getOrReturnCtx(t);return Te(n,{code:me.invalid_type,expected:xe.never,received:n.parsedType}),je}}Oa.create=e=>new Oa({typeName:Ue.ZodNever,...Qe(e)});class y1 extends tt{_parse(t){if(this._getType(t)!==xe.undefined){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.void,received:r.parsedType}),je}return li(t.data)}}y1.create=e=>new y1({typeName:Ue.ZodVoid,...Qe(e)});class Yo extends tt{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==xe.array)return Te(n,{code:me.invalid_type,expected:xe.array,received:n.parsedType}),je;if(i.exactLength!==null){const s=n.data.length>i.exactLength.value,a=n.data.lengthi.maxLength.value&&(Te(n,{code:me.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((s,a)=>i.type._parseAsync(new Ms(n,s,n.path,a)))).then(s=>Wr.mergeArray(r,s));const o=[...n.data].map((s,a)=>i.type._parseSync(new Ms(n,s,n.path,a)));return Wr.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new Yo({...this._def,minLength:{value:t,message:Le.toString(n)}})}max(t,n){return new Yo({...this._def,maxLength:{value:t,message:Le.toString(n)}})}length(t,n){return new Yo({...this._def,exactLength:{value:t,message:Le.toString(n)}})}nonempty(t){return this.min(1,t)}}Yo.create=(e,t)=>new Yo({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Ue.ZodArray,...Qe(t)});function yd(e){if(e instanceof gn){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=_a.create(yd(r))}return new gn({...e._def,shape:()=>t})}else return e instanceof Yo?new Yo({...e._def,type:yd(e.element)}):e instanceof _a?_a.create(yd(e.unwrap())):e instanceof ic?ic.create(yd(e.unwrap())):e instanceof Ns?Ns.create(e.items.map(t=>yd(t))):e}class gn extends tt{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),n=wt.objectKeys(t);return this._cached={shape:t,keys:n}}_parse(t){if(this._getType(t)!==xe.object){const u=this._getOrReturnCtx(t);return Te(u,{code:me.invalid_type,expected:xe.object,received:u.parsedType}),je}const{status:r,ctx:i}=this._processInputParams(t),{shape:o,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof Oa&&this._def.unknownKeys==="strip"))for(const u in i.data)s.includes(u)||a.push(u);const l=[];for(const u of s){const d=o[u],f=i.data[u];l.push({key:{status:"valid",value:u},value:d._parse(new Ms(i,f,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof Oa){const u=this._def.unknownKeys;if(u==="passthrough")for(const d of a)l.push({key:{status:"valid",value:d},value:{status:"valid",value:i.data[d]}});else if(u==="strict")a.length>0&&(Te(i,{code:me.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const u=this._def.catchall;for(const d of a){const f=i.data[d];l.push({key:{status:"valid",value:d},value:u._parse(new Ms(i,f,i.path,d)),alwaysSet:d in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const u=[];for(const d of l){const f=await d.key;u.push({key:f,value:await d.value,alwaysSet:d.alwaysSet})}return u}).then(u=>Wr.mergeObjectSync(r,u)):Wr.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return Le.errToObj,new gn({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{var i,o,s,a;const l=(s=(o=(i=this._def).errorMap)===null||o===void 0?void 0:o.call(i,n,r).message)!==null&&s!==void 0?s:r.defaultError;return n.code==="unrecognized_keys"?{message:(a=Le.errToObj(t).message)!==null&&a!==void 0?a:l}:{message:l}}}:{}})}strip(){return new gn({...this._def,unknownKeys:"strip"})}passthrough(){return new gn({...this._def,unknownKeys:"passthrough"})}extend(t){return new gn({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new gn({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Ue.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new gn({...this._def,catchall:t})}pick(t){const n={};return wt.objectKeys(t).forEach(r=>{t[r]&&this.shape[r]&&(n[r]=this.shape[r])}),new gn({...this._def,shape:()=>n})}omit(t){const n={};return wt.objectKeys(this.shape).forEach(r=>{t[r]||(n[r]=this.shape[r])}),new gn({...this._def,shape:()=>n})}deepPartial(){return yd(this)}partial(t){const n={};return wt.objectKeys(this.shape).forEach(r=>{const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}),new gn({...this._def,shape:()=>n})}required(t){const n={};return wt.objectKeys(this.shape).forEach(r=>{if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof _a;)o=o._def.innerType;n[r]=o}}),new gn({...this._def,shape:()=>n})}keyof(){return GD(wt.objectKeys(this.shape))}}gn.create=(e,t)=>new gn({shape:()=>e,unknownKeys:"strip",catchall:Oa.create(),typeName:Ue.ZodObject,...Qe(t)});gn.strictCreate=(e,t)=>new gn({shape:()=>e,unknownKeys:"strict",catchall:Oa.create(),typeName:Ue.ZodObject,...Qe(t)});gn.lazycreate=(e,t)=>new gn({shape:e,unknownKeys:"strip",catchall:Oa.create(),typeName:Ue.ZodObject,...Qe(t)});class pg extends tt{_parse(t){const{ctx:n}=this._processInputParams(t),r=this._def.options;function i(o){for(const a of o)if(a.result.status==="valid")return a.result;for(const a of o)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;const s=o.map(a=>new Xo(a.ctx.common.issues));return Te(n,{code:me.invalid_union,unionErrors:s}),je}if(n.common.async)return Promise.all(r.map(async o=>{const s={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:s}),ctx:s}})).then(i);{let o;const s=[];for(const l of r){const u={...n,common:{...n.common,issues:[]},parent:null},d=l._parseSync({data:n.data,path:n.path,parent:u});if(d.status==="valid")return d;d.status==="dirty"&&!o&&(o={result:d,ctx:u}),u.common.issues.length&&s.push(u.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;const a=s.map(l=>new Xo(l));return Te(n,{code:me.invalid_union,unionErrors:a}),je}}get options(){return this._def.options}}pg.create=(e,t)=>new pg({options:e,typeName:Ue.ZodUnion,...Qe(t)});const cv=e=>e instanceof yg?cv(e.schema):e instanceof ts?cv(e.innerType()):e instanceof vg?[e.value]:e instanceof jl?e.options:e instanceof _g?Object.keys(e.enum):e instanceof bg?cv(e._def.innerType):e instanceof fg?[void 0]:e instanceof hg?[null]:null;class ib extends tt{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==xe.object)return Te(n,{code:me.invalid_type,expected:xe.object,received:n.parsedType}),je;const r=this.discriminator,i=n.data[r],o=this.optionsMap.get(i);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(Te(n,{code:me.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),je)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){const i=new Map;for(const o of n){const s=cv(o.shape[t]);if(!s)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(const a of s){if(i.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);i.set(a,o)}}return new ib({typeName:Ue.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...Qe(r)})}}function A3(e,t){const n=ml(e),r=ml(t);if(e===t)return{valid:!0,data:e};if(n===xe.object&&r===xe.object){const i=wt.objectKeys(t),o=wt.objectKeys(e).filter(a=>i.indexOf(a)!==-1),s={...e,...t};for(const a of o){const l=A3(e[a],t[a]);if(!l.valid)return{valid:!1};s[a]=l.data}return{valid:!0,data:s}}else if(n===xe.array&&r===xe.array){if(e.length!==t.length)return{valid:!1};const i=[];for(let o=0;o{if(T3(o)||T3(s))return je;const a=A3(o.value,s.value);return a.valid?((E3(o)||E3(s))&&n.dirty(),{status:n.value,value:a.data}):(Te(r,{code:me.invalid_intersection_types}),je)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,s])=>i(o,s)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}gg.create=(e,t,n)=>new gg({left:e,right:t,typeName:Ue.ZodIntersection,...Qe(n)});class Ns extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.array)return Te(r,{code:me.invalid_type,expected:xe.array,received:r.parsedType}),je;if(r.data.lengththis._def.items.length&&(Te(r,{code:me.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const o=[...r.data].map((s,a)=>{const l=this._def.items[a]||this._def.rest;return l?l._parse(new Ms(r,s,r.path,a)):null}).filter(s=>!!s);return r.common.async?Promise.all(o).then(s=>Wr.mergeArray(n,s)):Wr.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new Ns({...this._def,rest:t})}}Ns.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ns({items:e,typeName:Ue.ZodTuple,rest:null,...Qe(t)})};class mg extends tt{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.object)return Te(r,{code:me.invalid_type,expected:xe.object,received:r.parsedType}),je;const i=[],o=this._def.keyType,s=this._def.valueType;for(const a in r.data)i.push({key:o._parse(new Ms(r,a,r.path,a)),value:s._parse(new Ms(r,r.data[a],r.path,a))});return r.common.async?Wr.mergeObjectAsync(n,i):Wr.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof tt?new mg({keyType:t,valueType:n,typeName:Ue.ZodRecord,...Qe(r)}):new mg({keyType:Ho.create(),valueType:t,typeName:Ue.ZodRecord,...Qe(n)})}}class v1 extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.map)return Te(r,{code:me.invalid_type,expected:xe.map,received:r.parsedType}),je;const i=this._def.keyType,o=this._def.valueType,s=[...r.data.entries()].map(([a,l],u)=>({key:i._parse(new Ms(r,a,r.path,[u,"key"])),value:o._parse(new Ms(r,l,r.path,[u,"value"]))}));if(r.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const l of s){const u=await l.key,d=await l.value;if(u.status==="aborted"||d.status==="aborted")return je;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}})}else{const a=new Map;for(const l of s){const u=l.key,d=l.value;if(u.status==="aborted"||d.status==="aborted")return je;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}}}}v1.create=(e,t,n)=>new v1({valueType:t,keyType:e,typeName:Ue.ZodMap,...Qe(n)});class rc extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.set)return Te(r,{code:me.invalid_type,expected:xe.set,received:r.parsedType}),je;const i=this._def;i.minSize!==null&&r.data.sizei.maxSize.value&&(Te(r,{code:me.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());const o=this._def.valueType;function s(l){const u=new Set;for(const d of l){if(d.status==="aborted")return je;d.status==="dirty"&&n.dirty(),u.add(d.value)}return{status:n.value,value:u}}const a=[...r.data.values()].map((l,u)=>o._parse(new Ms(r,l,r.path,u)));return r.common.async?Promise.all(a).then(l=>s(l)):s(a)}min(t,n){return new rc({...this._def,minSize:{value:t,message:Le.toString(n)}})}max(t,n){return new rc({...this._def,maxSize:{value:t,message:Le.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}rc.create=(e,t)=>new rc({valueType:e,minSize:null,maxSize:null,typeName:Ue.ZodSet,...Qe(t)});class Jd extends tt{constructor(){super(...arguments),this.validate=this.implement}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==xe.function)return Te(n,{code:me.invalid_type,expected:xe.function,received:n.parsedType}),je;function r(a,l){return h1({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,f1(),cg].filter(u=>!!u),issueData:{code:me.invalid_arguments,argumentsError:l}})}function i(a,l){return h1({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,f1(),cg].filter(u=>!!u),issueData:{code:me.invalid_return_type,returnTypeError:l}})}const o={errorMap:n.common.contextualErrorMap},s=n.data;return this._def.returns instanceof xf?li(async(...a)=>{const l=new Xo([]),u=await this._def.args.parseAsync(a,o).catch(p=>{throw l.addIssue(r(a,p)),l}),d=await s(...u);return await this._def.returns._def.type.parseAsync(d,o).catch(p=>{throw l.addIssue(i(d,p)),l})}):li((...a)=>{const l=this._def.args.safeParse(a,o);if(!l.success)throw new Xo([r(a,l.error)]);const u=s(...l.data),d=this._def.returns.safeParse(u,o);if(!d.success)throw new Xo([i(u,d.error)]);return d.data})}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new Jd({...this._def,args:Ns.create(t).rest(Gu.create())})}returns(t){return new Jd({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new Jd({args:t||Ns.create([]).rest(Gu.create()),returns:n||Gu.create(),typeName:Ue.ZodFunction,...Qe(r)})}}class yg extends tt{get schema(){return this._def.getter()}_parse(t){const{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}yg.create=(e,t)=>new yg({getter:e,typeName:Ue.ZodLazy,...Qe(t)});class vg extends tt{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return Te(n,{received:n.data,code:me.invalid_literal,expected:this._def.value}),je}return{status:"valid",value:t.data}}get value(){return this._def.value}}vg.create=(e,t)=>new vg({value:e,typeName:Ue.ZodLiteral,...Qe(t)});function GD(e,t){return new jl({values:e,typeName:Ue.ZodEnum,...Qe(t)})}class jl extends tt{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return Te(n,{expected:wt.joinValues(r),received:n.parsedType,code:me.invalid_type}),je}if(this._def.values.indexOf(t.data)===-1){const n=this._getOrReturnCtx(t),r=this._def.values;return Te(n,{received:n.data,code:me.invalid_enum_value,options:r}),je}return li(t.data)}get options(){return this._def.values}get enum(){const t={};for(const n of this._def.values)t[n]=n;return t}get Values(){const t={};for(const n of this._def.values)t[n]=n;return t}get Enum(){const t={};for(const n of this._def.values)t[n]=n;return t}extract(t){return jl.create(t)}exclude(t){return jl.create(this.options.filter(n=>!t.includes(n)))}}jl.create=GD;class _g extends tt{_parse(t){const n=wt.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==xe.string&&r.parsedType!==xe.number){const i=wt.objectValues(n);return Te(r,{expected:wt.joinValues(i),received:r.parsedType,code:me.invalid_type}),je}if(n.indexOf(t.data)===-1){const i=wt.objectValues(n);return Te(r,{received:r.data,code:me.invalid_enum_value,options:i}),je}return li(t.data)}get enum(){return this._def.values}}_g.create=(e,t)=>new _g({values:e,typeName:Ue.ZodNativeEnum,...Qe(t)});class xf extends tt{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==xe.promise&&n.common.async===!1)return Te(n,{code:me.invalid_type,expected:xe.promise,received:n.parsedType}),je;const r=n.parsedType===xe.promise?n.data:Promise.resolve(n.data);return li(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}xf.create=(e,t)=>new xf({type:e,typeName:Ue.ZodPromise,...Qe(t)});class ts extends tt{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Ue.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=this._def.effect||null;if(i.type==="preprocess"){const s=i.transform(r.data);return r.common.async?Promise.resolve(s).then(a=>this._def.schema._parseAsync({data:a,path:r.path,parent:r})):this._def.schema._parseSync({data:s,path:r.path,parent:r})}const o={addIssue:s=>{Te(r,s),s.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),i.type==="refinement"){const s=a=>{const l=i.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?je:(a.status==="dirty"&&n.dirty(),s(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?je:(a.status==="dirty"&&n.dirty(),s(a.value).then(()=>({status:n.value,value:a.value}))))}if(i.type==="transform")if(r.common.async===!1){const s=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!p1(s))return s;const a=i.transform(s.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(s=>p1(s)?Promise.resolve(i.transform(s.value,o)).then(a=>({status:n.value,value:a})):s);wt.assertNever(i)}}ts.create=(e,t,n)=>new ts({schema:e,typeName:Ue.ZodEffects,effect:t,...Qe(n)});ts.createWithPreprocess=(e,t,n)=>new ts({schema:t,effect:{type:"preprocess",transform:e},typeName:Ue.ZodEffects,...Qe(n)});class _a extends tt{_parse(t){return this._getType(t)===xe.undefined?li(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}_a.create=(e,t)=>new _a({innerType:e,typeName:Ue.ZodOptional,...Qe(t)});class ic extends tt{_parse(t){return this._getType(t)===xe.null?li(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}ic.create=(e,t)=>new ic({innerType:e,typeName:Ue.ZodNullable,...Qe(t)});class bg extends tt{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===xe.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}bg.create=(e,t)=>new bg({innerType:e,typeName:Ue.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Qe(t)});class _1 extends tt{_parse(t){const{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return g1(i)?i.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Xo(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Xo(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}_1.create=(e,t)=>new _1({innerType:e,typeName:Ue.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Qe(t)});class b1 extends tt{_parse(t){if(this._getType(t)!==xe.nan){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.nan,received:r.parsedType}),je}return{status:"valid",value:t.data}}}b1.create=e=>new b1({typeName:Ue.ZodNaN,...Qe(e)});const xle=Symbol("zod_brand");class HD extends tt{_parse(t){const{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class hm extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{const o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?je:o.status==="dirty"?(n.dirty(),jD(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{const i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?je:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(t,n){return new hm({in:t,out:n,typeName:Ue.ZodPipeline})}}const WD=(e,t={},n)=>e?wf.create().superRefine((r,i)=>{var o,s;if(!e(r)){const a=typeof t=="function"?t(r):typeof t=="string"?{message:t}:t,l=(s=(o=a.fatal)!==null&&o!==void 0?o:n)!==null&&s!==void 0?s:!0,u=typeof a=="string"?{message:a}:a;i.addIssue({code:"custom",...u,fatal:l})}}):wf.create(),Cle={object:gn.lazycreate};var Ue;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline"})(Ue||(Ue={}));const Tle=(e,t={message:`Input not instance of ${e.name}`})=>WD(n=>n instanceof e,t),qD=Ho.create,KD=zl.create,Ele=b1.create,Ale=Vl.create,XD=dg.create,Ple=nc.create,Rle=m1.create,Ole=fg.create,kle=hg.create,Ile=wf.create,Mle=Gu.create,Nle=Oa.create,Lle=y1.create,Dle=Yo.create,$le=gn.create,Fle=gn.strictCreate,Ble=pg.create,Ule=ib.create,zle=gg.create,Vle=Ns.create,jle=mg.create,Gle=v1.create,Hle=rc.create,Wle=Jd.create,qle=yg.create,Kle=vg.create,Xle=jl.create,Yle=_g.create,Qle=xf.create,N9=ts.create,Zle=_a.create,Jle=ic.create,eue=ts.createWithPreprocess,tue=hm.create,nue=()=>qD().optional(),rue=()=>KD().optional(),iue=()=>XD().optional(),oue={string:e=>Ho.create({...e,coerce:!0}),number:e=>zl.create({...e,coerce:!0}),boolean:e=>dg.create({...e,coerce:!0}),bigint:e=>Vl.create({...e,coerce:!0}),date:e=>nc.create({...e,coerce:!0})},sue=je;var xt=Object.freeze({__proto__:null,defaultErrorMap:cg,setErrorMap:cle,getErrorMap:f1,makeIssue:h1,EMPTY_PATH:dle,addIssueToContext:Te,ParseStatus:Wr,INVALID:je,DIRTY:jD,OK:li,isAborted:T3,isDirty:E3,isValid:p1,isAsync:g1,get util(){return wt},get objectUtil(){return C3},ZodParsedType:xe,getParsedType:ml,ZodType:tt,ZodString:Ho,ZodNumber:zl,ZodBigInt:Vl,ZodBoolean:dg,ZodDate:nc,ZodSymbol:m1,ZodUndefined:fg,ZodNull:hg,ZodAny:wf,ZodUnknown:Gu,ZodNever:Oa,ZodVoid:y1,ZodArray:Yo,ZodObject:gn,ZodUnion:pg,ZodDiscriminatedUnion:ib,ZodIntersection:gg,ZodTuple:Ns,ZodRecord:mg,ZodMap:v1,ZodSet:rc,ZodFunction:Jd,ZodLazy:yg,ZodLiteral:vg,ZodEnum:jl,ZodNativeEnum:_g,ZodPromise:xf,ZodEffects:ts,ZodTransformer:ts,ZodOptional:_a,ZodNullable:ic,ZodDefault:bg,ZodCatch:_1,ZodNaN:b1,BRAND:xle,ZodBranded:HD,ZodPipeline:hm,custom:WD,Schema:tt,ZodSchema:tt,late:Cle,get ZodFirstPartyTypeKind(){return Ue},coerce:oue,any:Ile,array:Dle,bigint:Ale,boolean:XD,date:Ple,discriminatedUnion:Ule,effect:N9,enum:Xle,function:Wle,instanceof:Tle,intersection:zle,lazy:qle,literal:Kle,map:Gle,nan:Ele,nativeEnum:Yle,never:Nle,null:kle,nullable:Jle,number:KD,object:$le,oboolean:iue,onumber:rue,optional:Zle,ostring:nue,pipeline:tue,preprocess:eue,promise:Qle,record:jle,set:Hle,strictObject:Fle,string:qD,symbol:Rle,transformer:N9,tuple:Vle,undefined:Ole,union:Ble,unknown:Mle,void:Lle,NEVER:sue,ZodIssueCode:me,quotelessJson:ule,ZodError:Xo});const aue=xt.string(),iRe=e=>aue.safeParse(e).success,lue=xt.string(),oRe=e=>lue.safeParse(e).success,uue=xt.string(),sRe=e=>uue.safeParse(e).success,cue=xt.string(),aRe=e=>cue.safeParse(e).success,due=xt.number().int().min(1),lRe=e=>due.safeParse(e).success,fue=xt.number().min(1),uRe=e=>fue.safeParse(e).success,hue=xt.enum(["euler","deis","ddim","ddpm","dpmpp_2s","dpmpp_2m","dpmpp_2m_sde","dpmpp_sde","heun","kdpm_2","lms","pndm","unipc","euler_k","dpmpp_2s_k","dpmpp_2m_k","dpmpp_2m_sde_k","dpmpp_sde_k","heun_k","lms_k","euler_a","kdpm_2_a"]),cRe=e=>hue.safeParse(e).success,dRe={euler:"Euler",deis:"DEIS",ddim:"DDIM",ddpm:"DDPM",dpmpp_sde:"DPM++ SDE",dpmpp_2s:"DPM++ 2S",dpmpp_2m:"DPM++ 2M",dpmpp_2m_sde:"DPM++ 2M SDE",heun:"Heun",kdpm_2:"KDPM 2",lms:"LMS",pndm:"PNDM",unipc:"UniPC",euler_k:"Euler Karras",dpmpp_sde_k:"DPM++ SDE Karras",dpmpp_2s_k:"DPM++ 2S Karras",dpmpp_2m_k:"DPM++ 2M Karras",dpmpp_2m_sde_k:"DPM++ 2M SDE Karras",heun_k:"Heun Karras",lms_k:"LMS Karras",euler_a:"Euler Ancestral",kdpm_2_a:"KDPM 2 Ancestral"},pue=xt.number().int().min(0).max(lle),fRe=e=>pue.safeParse(e).success,gue=xt.number().multipleOf(8).min(64),hRe=e=>gue.safeParse(e).success,mue=xt.number().multipleOf(8).min(64),pRe=e=>mue.safeParse(e).success,pm=xt.enum(["sd-1","sd-2","sdxl","sdxl-refiner"]),ST=xt.object({model_name:xt.string().min(1),base_model:pm,model_type:xt.literal("main")}),gRe=e=>ST.safeParse(e).success,YD=xt.object({model_name:xt.string().min(1),base_model:xt.literal("sdxl-refiner"),model_type:xt.literal("main")}),mRe=e=>YD.safeParse(e).success,yue=xt.object({model_name:xt.string().min(1),base_model:pm,model_type:xt.literal("onnx")}),QD=xt.union([ST,yue]),vue=xt.object({model_name:xt.string().min(1),base_model:pm}),yRe=xt.object({model_name:xt.string().min(1),base_model:pm}),vRe=xt.object({model_name:xt.string().min(1),base_model:pm}),_ue=xt.number().min(0).max(1),_Re=e=>_ue.safeParse(e).success;xt.enum(["fp16","fp32"]);const bue=xt.number().min(1).max(10),bRe=e=>bue.safeParse(e).success,Sue=xt.number().min(0).max(1),SRe=e=>Sue.safeParse(e).success,Da={cfgScale:7.5,height:512,img2imgStrength:.75,infillMethod:"patchmatch",iterations:1,perlin:0,positivePrompt:"",negativePrompt:"",scheduler:"euler",seamBlur:16,seamSize:96,seamSteps:30,seamStrength:.7,seed:0,seedWeights:"",shouldFitToWidthHeight:!0,shouldGenerateVariations:!1,shouldRandomizeSeed:!0,shouldUseNoiseSettings:!1,steps:50,threshold:0,tileSize:32,variationAmount:.1,width:512,shouldUseSymmetry:!1,horizontalSymmetrySteps:0,verticalSymmetrySteps:0,model:null,vae:null,vaePrecision:"fp32",seamlessXAxis:!1,seamlessYAxis:!1,clipSkip:0,shouldUseCpuNoise:!0,shouldShowAdvancedOptions:!1,aspectRatio:null},wue=Da,ZD=yn({name:"generation",initialState:wue,reducers:{setPositivePrompt:(e,t)=>{e.positivePrompt=t.payload},setNegativePrompt:(e,t)=>{e.negativePrompt=t.payload},setIterations:(e,t)=>{e.iterations=t.payload},setSteps:(e,t)=>{e.steps=t.payload},clampSymmetrySteps:e=>{e.horizontalSymmetrySteps=bl(e.horizontalSymmetrySteps,0,e.steps),e.verticalSymmetrySteps=bl(e.verticalSymmetrySteps,0,e.steps)},setCfgScale:(e,t)=>{e.cfgScale=t.payload},setThreshold:(e,t)=>{e.threshold=t.payload},setPerlin:(e,t)=>{e.perlin=t.payload},setHeight:(e,t)=>{e.height=t.payload},setWidth:(e,t)=>{e.width=t.payload},toggleSize:e=>{const[t,n]=[e.width,e.height];e.width=n,e.height=t},setScheduler:(e,t)=>{e.scheduler=t.payload},setSeed:(e,t)=>{e.seed=t.payload,e.shouldRandomizeSeed=!1},setImg2imgStrength:(e,t)=>{e.img2imgStrength=t.payload},setSeamlessXAxis:(e,t)=>{e.seamlessXAxis=t.payload},setSeamlessYAxis:(e,t)=>{e.seamlessYAxis=t.payload},setShouldFitToWidthHeight:(e,t)=>{e.shouldFitToWidthHeight=t.payload},resetSeed:e=>{e.seed=-1},setShouldGenerateVariations:(e,t)=>{e.shouldGenerateVariations=t.payload},setVariationAmount:(e,t)=>{e.variationAmount=t.payload},setSeedWeights:(e,t)=>{e.seedWeights=t.payload,e.shouldGenerateVariations=!0,e.variationAmount=0},resetParametersState:e=>({...e,...Da}),setShouldRandomizeSeed:(e,t)=>{e.shouldRandomizeSeed=t.payload},clearInitialImage:e=>{e.initialImage=void 0},setSeamSize:(e,t)=>{e.seamSize=t.payload},setSeamBlur:(e,t)=>{e.seamBlur=t.payload},setSeamStrength:(e,t)=>{e.seamStrength=t.payload},setSeamSteps:(e,t)=>{e.seamSteps=t.payload},setTileSize:(e,t)=>{e.tileSize=t.payload},setInfillMethod:(e,t)=>{e.infillMethod=t.payload},setShouldUseSymmetry:(e,t)=>{e.shouldUseSymmetry=t.payload},setHorizontalSymmetrySteps:(e,t)=>{e.horizontalSymmetrySteps=t.payload},setVerticalSymmetrySteps:(e,t)=>{e.verticalSymmetrySteps=t.payload},setShouldUseNoiseSettings:(e,t)=>{e.shouldUseNoiseSettings=t.payload},initialImageChanged:(e,t)=>{const{image_name:n,width:r,height:i}=t.payload;e.initialImage={imageName:n,width:r,height:i}},modelChanged:(e,t)=>{if(e.model=t.payload,e.model===null)return;const{maxClip:n}=ale[e.model.base_model];e.clipSkip=bl(e.clipSkip,0,n)},vaeSelected:(e,t)=>{e.vae=t.payload},vaePrecisionChanged:(e,t)=>{e.vaePrecision=t.payload},setClipSkip:(e,t)=>{e.clipSkip=t.payload},shouldUseCpuNoiseChanged:(e,t)=>{e.shouldUseCpuNoise=t.payload},setShouldShowAdvancedOptions:(e,t)=>{e.shouldShowAdvancedOptions=t.payload,t.payload||(e.clipSkip=0)},setAspectRatio:(e,t)=>{const n=t.payload;e.aspectRatio=n,n&&(e.height=Ss(e.width/n,8))}},extraReducers:e=>{e.addCase(ole,(t,n)=>{var i;const r=(i=n.payload.sd)==null?void 0:i.defaultModel;if(r&&!t.model){const[o,s,a]=r.split("/"),l=ST.safeParse({model_name:a,base_model:o,model_type:s});l.success&&(t.model=l.data)}}),e.addCase(Cue,(t,n)=>{n.payload||(t.clipSkip=0)})}}),{clampSymmetrySteps:wRe,clearInitialImage:wT,resetParametersState:xRe,resetSeed:CRe,setCfgScale:TRe,setWidth:ERe,setHeight:ARe,toggleSize:PRe,setImg2imgStrength:RRe,setInfillMethod:xue,setIterations:ORe,setPerlin:kRe,setPositivePrompt:IRe,setNegativePrompt:MRe,setScheduler:NRe,setSeamBlur:LRe,setSeamSize:DRe,setSeamSteps:$Re,setSeamStrength:FRe,setSeed:BRe,setSeedWeights:URe,setShouldFitToWidthHeight:zRe,setShouldGenerateVariations:VRe,setShouldRandomizeSeed:jRe,setSteps:GRe,setThreshold:HRe,setTileSize:WRe,setVariationAmount:qRe,setShouldUseSymmetry:KRe,setHorizontalSymmetrySteps:XRe,setVerticalSymmetrySteps:YRe,initialImageChanged:ob,modelChanged:Sl,vaeSelected:JD,setShouldUseNoiseSettings:QRe,setSeamlessXAxis:ZRe,setSeamlessYAxis:JRe,setClipSkip:eOe,shouldUseCpuNoiseChanged:tOe,setShouldShowAdvancedOptions:Cue,setAspectRatio:Tue,vaePrecisionChanged:nOe}=ZD.actions,Eue=ZD.reducer,e$=["txt2img","img2img","unifiedCanvas","nodes","modelManager","batch"],L9=(e,t)=>{typeof t=="number"?e.activeTab=t:e.activeTab=e$.indexOf(t)},t$={activeTab:0,shouldPinParametersPanel:!0,shouldShowParametersPanel:!0,shouldShowImageDetails:!1,shouldUseCanvasBetaLayout:!1,shouldShowExistingModelsInSearch:!1,shouldUseSliders:!1,shouldPinGallery:!0,shouldShowGallery:!0,shouldHidePreview:!1,shouldShowProgressInViewer:!0,shouldShowEmbeddingPicker:!1,favoriteSchedulers:[]},n$=yn({name:"ui",initialState:t$,reducers:{setActiveTab:(e,t)=>{L9(e,t.payload)},setShouldPinParametersPanel:(e,t)=>{e.shouldPinParametersPanel=t.payload,e.shouldShowParametersPanel=!0},setShouldShowParametersPanel:(e,t)=>{e.shouldShowParametersPanel=t.payload},setShouldShowImageDetails:(e,t)=>{e.shouldShowImageDetails=t.payload},setShouldUseCanvasBetaLayout:(e,t)=>{e.shouldUseCanvasBetaLayout=t.payload},setShouldHidePreview:(e,t)=>{e.shouldHidePreview=t.payload},setShouldShowExistingModelsInSearch:(e,t)=>{e.shouldShowExistingModelsInSearch=t.payload},setShouldUseSliders:(e,t)=>{e.shouldUseSliders=t.payload},setShouldShowGallery:(e,t)=>{e.shouldShowGallery=t.payload},togglePinGalleryPanel:e=>{e.shouldPinGallery=!e.shouldPinGallery,e.shouldPinGallery||(e.shouldShowGallery=!0)},togglePinParametersPanel:e=>{e.shouldPinParametersPanel=!e.shouldPinParametersPanel,e.shouldPinParametersPanel||(e.shouldShowParametersPanel=!0)},toggleParametersPanel:e=>{e.shouldShowParametersPanel=!e.shouldShowParametersPanel},toggleGalleryPanel:e=>{e.shouldShowGallery=!e.shouldShowGallery},togglePanels:e=>{e.shouldShowGallery||e.shouldShowParametersPanel?(e.shouldShowGallery=!1,e.shouldShowParametersPanel=!1):(e.shouldShowGallery=!0,e.shouldShowParametersPanel=!0)},setShouldShowProgressInViewer:(e,t)=>{e.shouldShowProgressInViewer=t.payload},favoriteSchedulersChanged:(e,t)=>{e.favoriteSchedulers=t.payload},toggleEmbeddingPicker:e=>{e.shouldShowEmbeddingPicker=!e.shouldShowEmbeddingPicker}},extraReducers(e){e.addCase(ob,t=>{L9(t,"img2img")})}}),{setActiveTab:r$,setShouldPinParametersPanel:rOe,setShouldShowParametersPanel:iOe,setShouldShowImageDetails:oOe,setShouldUseCanvasBetaLayout:Aue,setShouldShowExistingModelsInSearch:sOe,setShouldUseSliders:aOe,setShouldHidePreview:lOe,setShouldShowGallery:uOe,togglePanels:cOe,togglePinGalleryPanel:dOe,togglePinParametersPanel:fOe,toggleParametersPanel:hOe,toggleGalleryPanel:pOe,setShouldShowProgressInViewer:gOe,favoriteSchedulersChanged:mOe,toggleEmbeddingPicker:yOe}=n$.actions,Pue=n$.reducer;let ti=[],gm=(e,t)=>{let n=[],r={get(){return r.lc||r.listen(()=>{})(),r.value},l:t||0,lc:0,listen(i,o){return r.lc=n.push(i,o||r.l)/2,()=>{let s=n.indexOf(i);~s&&(n.splice(s,2),r.lc--,r.lc||r.off())}},notify(i){let o=!ti.length;for(let s=0;s(e.events=e.events||{},e.events[n+g0]||(e.events[n+g0]=r(i=>{e.events[n].reduceRight((o,s)=>(s(o),o),{shared:{},...i})})),e.events[n]=e.events[n]||[],e.events[n].push(t),()=>{let i=e.events[n],o=i.indexOf(t);i.splice(o,1),i.length||(delete e.events[n],e.events[n+g0](),delete e.events[n+g0])}),kue=1e3,Iue=(e,t)=>Oue(e,r=>{let i=t(r);i&&e.events[p0].push(i)},Rue,r=>{let i=e.listen;e.listen=(...s)=>(!e.lc&&!e.active&&(e.active=!0,r()),i(...s));let o=e.off;return e.events[p0]=[],e.off=()=>{o(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let s of e.events[p0])s();e.events[p0]=[]}},kue)},()=>{e.listen=i,e.off=o}}),Mue=(e,t)=>{Array.isArray(e)||(e=[e]);let n,r=()=>{let o=e.map(s=>s.get());(n===void 0||o.some((s,a)=>s!==n[a]))&&(n=o,i.set(t(...o)))},i=gm(void 0,Math.max(...e.map(o=>o.l))+1);return Iue(i,()=>{let o=e.map(s=>s.listen(r,i.l));return r(),()=>{for(let s of o)s()}}),i};const Nue={"Content-Type":"application/json"},Lue=/\/*$/;function Due(e){const t=new URLSearchParams;if(e&&typeof e=="object")for(const[n,r]of Object.entries(e))r!=null&&t.set(n,r);return t.toString()}function $ue(e){return JSON.stringify(e)}function Fue(e,t){let n=`${t.baseUrl?t.baseUrl.replace(Lue,""):""}${e}`;if(t.params.path)for(const[r,i]of Object.entries(t.params.path))n=n.replace(`{${r}}`,encodeURIComponent(String(i)));if(t.params.query){const r=t.querySerializer(t.params.query);r&&(n+=`?${r}`)}return n}function Bue(e={}){const{fetch:t=globalThis.fetch,querySerializer:n,bodySerializer:r,...i}=e,o=new Headers({...Nue,...i.headers??{}});async function s(a,l){const{headers:u,body:d,params:f={},parseAs:p="json",querySerializer:g=n??Due,bodySerializer:m=r??$ue,...v}=l||{},x=Fue(a,{baseUrl:i.baseUrl,params:f,querySerializer:g}),_=new Headers(o),b=new Headers(u);for(const[T,E]of b.entries())E==null?_.delete(T):_.set(T,E);const y={redirect:"follow",...i,...v,headers:_};d&&(y.body=m(d)),y.body instanceof FormData&&_.delete("Content-Type");const S=await t(x,y);if(S.status===204||S.headers.get("Content-Length")==="0")return S.ok?{data:{},response:S}:{error:{},response:S};if(S.ok){let T=S.body;if(p!=="stream"){const E=S.clone();T=typeof E[p]=="function"?await E[p]():await E.text()}return{data:T,response:S}}let C={};try{C=await S.clone().json()}catch{C=await S.clone().text()}return{error:C,response:S}}return{async get(a,l){return s(a,{...l,method:"GET"})},async put(a,l){return s(a,{...l,method:"PUT"})},async post(a,l){return s(a,{...l,method:"POST"})},async del(a,l){return s(a,{...l,method:"DELETE"})},async options(a,l){return s(a,{...l,method:"OPTIONS"})},async head(a,l){return s(a,{...l,method:"HEAD"})},async patch(a,l){return s(a,{...l,method:"PATCH"})},async trace(a,l){return s(a,{...l,method:"TRACE"})}}}const Sg=gm(),wg=gm(),S1=gm(),sb=Mue([Sg,wg,S1],(e,t,n)=>Bue({headers:{...e?{Authorization:`Bearer ${e}`}:{},...n?{"project-id":n}:{}},baseUrl:`${t??""}`})),Ir=Ul("api/sessionCreated",async(e,{rejectWithValue:t})=>{const{graph:n}=e,{post:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{body:n});return o?t({arg:e,status:s.status,error:o}):i}),Uue=e=>Pi(e)&&"status"in e,mm=Ul("api/sessionInvoked",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{put:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{query:{all:!0},path:{session_id:n}}});if(o)return Uue(o)&&o.status===403?t({arg:e,status:s.status,error:o.body.detail}):t({arg:e,status:s.status,error:o})}),mc=Ul("api/sessionCanceled",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{del:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{path:{session_id:n}}});return o?t({arg:e,error:o}):i});Ul("api/listSessions",async(e,{rejectWithValue:t})=>{const{params:n}=e,{get:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{params:n});return o?t({arg:e,error:o}):i});const i$=Co(Ir.rejected,mm.rejected),td=(e,t,n,r,i,o,s)=>{const a=Math.floor(e/2-(n+i/2)*s),l=Math.floor(t/2-(r+o/2)*s);return{x:a,y:l}},nd=(e,t,n,r,i=.95)=>{const o=e*i/n,s=t*i/r;return Math.min(1,Math.min(o,s))},vOe=.999,_Oe=.1,bOe=20,zh=.95,SOe=30,wOe=10,D9=e=>({x:Math.floor(e.x),y:Math.floor(e.y)}),bu=e=>{const{width:t,height:n}=e,r={width:t,height:n},i=512*512,o=t/n;let s=t*n,a=448;for(;s1?(r.width=a,r.height=Ss(a/o,64)):o<1&&(r.height=a,r.width=Ss(a*o,64)),s=r.width*r.height;return r},zue=e=>({width:Ss(e.width,64),height:Ss(e.height,64)}),xOe=[{label:"Base",value:"base"},{label:"Mask",value:"mask"}],COe=[{label:"Auto",value:"auto"},{label:"Manual",value:"manual"},{label:"None",value:"none"}],o$=e=>e.kind==="line"&&e.layer==="mask",TOe=e=>e.kind==="line"&&e.layer==="base",$9=e=>e.kind==="image"&&e.layer==="base",EOe=e=>e.kind==="fillRect"&&e.layer==="base",AOe=e=>e.kind==="eraseRect"&&e.layer==="base",Vue=e=>e.kind==="line",vd={objects:[],stagingArea:{images:[],selectedImageIndex:-1}},s$={boundingBoxCoordinates:{x:0,y:0},boundingBoxDimensions:{width:512,height:512},boundingBoxPreviewFill:{r:0,g:0,b:0,a:.5},boundingBoxScaleMethod:"auto",brushColor:{r:90,g:90,b:255,a:1},brushSize:50,canvasContainerDimensions:{width:0,height:0},colorPickerColor:{r:90,g:90,b:255,a:1},cursorPosition:null,doesCanvasNeedScaling:!1,futureLayerStates:[],isCanvasInitialized:!1,isDrawing:!1,isMaskEnabled:!0,isMouseOverBoundingBox:!1,isMoveBoundingBoxKeyHeld:!1,isMoveStageKeyHeld:!1,isMovingBoundingBox:!1,isMovingStage:!1,isTransformingBoundingBox:!1,layer:"base",layerState:vd,maskColor:{r:255,g:90,b:90,a:1},maxHistory:128,minimumStageScale:1,pastLayerStates:[],scaledBoundingBoxDimensions:{width:512,height:512},shouldAntialias:!0,shouldAutoSave:!1,shouldCropToBoundingBoxOnSave:!1,shouldDarkenOutsideBoundingBox:!1,shouldLockBoundingBox:!1,shouldPreserveMaskedArea:!1,shouldRestrictStrokesToBox:!0,shouldShowBoundingBox:!0,shouldShowBrush:!0,shouldShowBrushPreview:!1,shouldShowCanvasDebugInfo:!1,shouldShowCheckboardTransparency:!1,shouldShowGrid:!0,shouldShowIntermediates:!0,shouldShowStagingImage:!0,shouldShowStagingOutline:!0,shouldSnapToGrid:!0,stageCoordinates:{x:0,y:0},stageDimensions:{width:0,height:0},stageScale:1,tool:"brush"},a$=yn({name:"canvas",initialState:s$,reducers:{setTool:(e,t)=>{const n=t.payload;e.tool=t.payload,n!=="move"&&(e.isTransformingBoundingBox=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1)},setLayer:(e,t)=>{e.layer=t.payload},toggleTool:e=>{const t=e.tool;t!=="move"&&(e.tool=t==="brush"?"eraser":"brush")},setMaskColor:(e,t)=>{e.maskColor=t.payload},setBrushColor:(e,t)=>{e.brushColor=t.payload},setBrushSize:(e,t)=>{e.brushSize=t.payload},clearMask:e=>{e.pastLayerStates.push(Ur(e.layerState)),e.layerState.objects=e.layerState.objects.filter(t=>!o$(t)),e.futureLayerStates=[],e.shouldPreserveMaskedArea=!1},toggleShouldInvertMask:e=>{e.shouldPreserveMaskedArea=!e.shouldPreserveMaskedArea},toggleShouldShowMask:e=>{e.isMaskEnabled=!e.isMaskEnabled},setShouldPreserveMaskedArea:(e,t)=>{e.shouldPreserveMaskedArea=t.payload},setIsMaskEnabled:(e,t)=>{e.isMaskEnabled=t.payload,e.layer=t.payload?"mask":"base"},setShouldShowCheckboardTransparency:(e,t)=>{e.shouldShowCheckboardTransparency=t.payload},setShouldShowBrushPreview:(e,t)=>{e.shouldShowBrushPreview=t.payload},setShouldShowBrush:(e,t)=>{e.shouldShowBrush=t.payload},setCursorPosition:(e,t)=>{e.cursorPosition=t.payload},setInitialCanvasImage:(e,t)=>{const n=t.payload,{width:r,height:i}=n,{stageDimensions:o}=e,s={width:f0(bl(r,64,512),64),height:f0(bl(i,64,512),64)},a={x:Ss(r/2-s.width/2,64),y:Ss(i/2-s.height/2,64)};if(e.boundingBoxScaleMethod==="auto"){const d=bu(s);e.scaledBoundingBoxDimensions=d}e.boundingBoxDimensions=s,e.boundingBoxCoordinates=a,e.pastLayerStates.push(Ur(e.layerState)),e.layerState={...vd,objects:[{kind:"image",layer:"base",x:0,y:0,width:r,height:i,imageName:n.image_name}]},e.futureLayerStates=[],e.isCanvasInitialized=!1;const l=nd(o.width,o.height,r,i,zh),u=td(o.width,o.height,0,0,r,i,l);e.stageScale=l,e.stageCoordinates=u,e.doesCanvasNeedScaling=!0},setBoundingBoxDimensions:(e,t)=>{const n=zue(t.payload);if(e.boundingBoxDimensions=n,e.boundingBoxScaleMethod==="auto"){const r=bu(n);e.scaledBoundingBoxDimensions=r}},flipBoundingBoxAxes:e=>{const[t,n]=[e.boundingBoxDimensions.width,e.boundingBoxDimensions.height];e.boundingBoxDimensions={width:n,height:t}},setBoundingBoxCoordinates:(e,t)=>{e.boundingBoxCoordinates=D9(t.payload)},setStageCoordinates:(e,t)=>{e.stageCoordinates=t.payload},setBoundingBoxPreviewFill:(e,t)=>{e.boundingBoxPreviewFill=t.payload},setDoesCanvasNeedScaling:(e,t)=>{e.doesCanvasNeedScaling=t.payload},setStageScale:(e,t)=>{e.stageScale=t.payload},setShouldDarkenOutsideBoundingBox:(e,t)=>{e.shouldDarkenOutsideBoundingBox=t.payload},setIsDrawing:(e,t)=>{e.isDrawing=t.payload},clearCanvasHistory:e=>{e.pastLayerStates=[],e.futureLayerStates=[]},setShouldLockBoundingBox:(e,t)=>{e.shouldLockBoundingBox=t.payload},toggleShouldLockBoundingBox:e=>{e.shouldLockBoundingBox=!e.shouldLockBoundingBox},setShouldShowBoundingBox:(e,t)=>{e.shouldShowBoundingBox=t.payload},setIsTransformingBoundingBox:(e,t)=>{e.isTransformingBoundingBox=t.payload},setIsMovingBoundingBox:(e,t)=>{e.isMovingBoundingBox=t.payload},setIsMouseOverBoundingBox:(e,t)=>{e.isMouseOverBoundingBox=t.payload},setIsMoveBoundingBoxKeyHeld:(e,t)=>{e.isMoveBoundingBoxKeyHeld=t.payload},setIsMoveStageKeyHeld:(e,t)=>{e.isMoveStageKeyHeld=t.payload},canvasSessionIdChanged:(e,t)=>{e.layerState.stagingArea.sessionId=t.payload},stagingAreaInitialized:(e,t)=>{const{sessionId:n,boundingBox:r}=t.payload;e.layerState.stagingArea={boundingBox:r,sessionId:n,images:[],selectedImageIndex:-1}},addImageToStagingArea:(e,t)=>{const n=t.payload;!n||!e.layerState.stagingArea.boundingBox||(e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea.images.push({kind:"image",layer:"base",...e.layerState.stagingArea.boundingBox,imageName:n.image_name}),e.layerState.stagingArea.selectedImageIndex=e.layerState.stagingArea.images.length-1,e.futureLayerStates=[])},discardStagedImages:e=>{e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea={...vd.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingOutline=!0},addFillRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,brushColor:r}=e;e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"fillRect",layer:"base",...t,...n,color:r}),e.futureLayerStates=[]},addEraseRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n}=e;e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"eraseRect",layer:"base",...t,...n}),e.futureLayerStates=[]},addLine:(e,t)=>{const{tool:n,layer:r,brushColor:i,brushSize:o,shouldRestrictStrokesToBox:s}=e;if(n==="move"||n==="colorPicker")return;const a=o/2,l=r==="base"&&n==="brush"?{color:i}:{};e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const u={kind:"line",layer:r,tool:n,strokeWidth:a,points:t.payload,...l};s&&(u.clip={...e.boundingBoxCoordinates,...e.boundingBoxDimensions}),e.layerState.objects.push(u),e.futureLayerStates=[]},addPointToCurrentLine:(e,t)=>{const n=e.layerState.objects.findLast(Vue);n&&n.points.push(...t.payload)},undo:e=>{const t=e.pastLayerStates.pop();t&&(e.futureLayerStates.unshift(Ur(e.layerState)),e.futureLayerStates.length>e.maxHistory&&e.futureLayerStates.pop(),e.layerState=t)},redo:e=>{const t=e.futureLayerStates.shift();t&&(e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState=t)},setShouldShowGrid:(e,t)=>{e.shouldShowGrid=t.payload},setIsMovingStage:(e,t)=>{e.isMovingStage=t.payload},setShouldSnapToGrid:(e,t)=>{e.shouldSnapToGrid=t.payload},setShouldAutoSave:(e,t)=>{e.shouldAutoSave=t.payload},setShouldShowIntermediates:(e,t)=>{e.shouldShowIntermediates=t.payload},resetCanvas:e=>{e.pastLayerStates.push(Ur(e.layerState)),e.layerState=vd,e.futureLayerStates=[]},setCanvasContainerDimensions:(e,t)=>{e.canvasContainerDimensions=t.payload},resizeAndScaleCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r=e.layerState.objects.find($9),i={width:Math.floor(t),height:Math.floor(n)};if(!r){const d=nd(i.width,i.height,512,512,zh),f=td(i.width,i.height,0,0,512,512,d),p={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=f,e.stageDimensions=i,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=p,e.boundingBoxScaleMethod==="auto"){const g=bu(p);e.scaledBoundingBoxDimensions=g}return}const{width:o,height:s}=r,l=nd(t,n,o,s,.95),u=td(i.width,i.height,0,0,o,s,l);e.minimumStageScale=l,e.stageScale=l,e.stageCoordinates=D9(u),e.stageDimensions=i,e.isCanvasInitialized=!0},resizeCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r={width:Math.floor(t),height:Math.floor(n)};if(e.stageDimensions=r,!e.layerState.objects.find($9)){const i=nd(r.width,r.height,512,512,zh),o=td(r.width,r.height,0,0,512,512,i),s={width:512,height:512};if(e.stageScale=i,e.stageCoordinates=o,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=s,e.boundingBoxScaleMethod==="auto"){const a=bu(s);e.scaledBoundingBoxDimensions=a}}},resetCanvasView:(e,t)=>{const{contentRect:n,shouldScaleTo1:r}=t.payload,{stageDimensions:{width:i,height:o}}=e,{x:s,y:a,width:l,height:u}=n;if(l!==0&&u!==0){const d=r?1:nd(i,o,l,u,zh),f=td(i,o,s,a,l,u,d);e.stageScale=d,e.stageCoordinates=f}else{const d=nd(i,o,512,512,zh),f=td(i,o,0,0,512,512,d),p={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=f,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=p,e.boundingBoxScaleMethod==="auto"){const g=bu(p);e.scaledBoundingBoxDimensions=g}}},nextStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex,n=e.layerState.stagingArea.images.length;e.layerState.stagingArea.selectedImageIndex=Math.min(t+1,n-1)},prevStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex;e.layerState.stagingArea.selectedImageIndex=Math.max(t-1,0)},commitStagingAreaImage:(e,t)=>{if(!e.layerState.stagingArea.images.length)return;const{images:n,selectedImageIndex:r}=e.layerState.stagingArea;e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const i=n[r];i&&e.layerState.objects.push({...i}),e.layerState.stagingArea={...vd.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingImage=!0},fitBoundingBoxToStage:e=>{const{boundingBoxDimensions:t,boundingBoxCoordinates:n,stageDimensions:r,stageScale:i}=e,o=r.width/i,s=r.height/i;if(n.x<0||n.x+t.width>o||n.y<0||n.y+t.height>s){const a={width:f0(bl(o,64,512),64),height:f0(bl(s,64,512),64)},l={x:Ss(o/2-a.width/2,64),y:Ss(s/2-a.height/2,64)};if(e.boundingBoxDimensions=a,e.boundingBoxCoordinates=l,e.boundingBoxScaleMethod==="auto"){const u=bu(a);e.scaledBoundingBoxDimensions=u}}},setBoundingBoxScaleMethod:(e,t)=>{if(e.boundingBoxScaleMethod=t.payload,t.payload==="auto"){const n=bu(e.boundingBoxDimensions);e.scaledBoundingBoxDimensions=n}},setScaledBoundingBoxDimensions:(e,t)=>{e.scaledBoundingBoxDimensions=t.payload},setShouldShowStagingImage:(e,t)=>{e.shouldShowStagingImage=t.payload},setShouldShowStagingOutline:(e,t)=>{e.shouldShowStagingOutline=t.payload},setShouldShowCanvasDebugInfo:(e,t)=>{e.shouldShowCanvasDebugInfo=t.payload},setShouldRestrictStrokesToBox:(e,t)=>{e.shouldRestrictStrokesToBox=t.payload},setShouldAntialias:(e,t)=>{e.shouldAntialias=t.payload},setShouldCropToBoundingBoxOnSave:(e,t)=>{e.shouldCropToBoundingBoxOnSave=t.payload},setColorPickerColor:(e,t)=>{e.colorPickerColor=t.payload},commitColorPickerColor:e=>{e.brushColor={...e.colorPickerColor,a:e.brushColor.a},e.tool="brush"},setMergedCanvas:(e,t)=>{e.pastLayerStates.push(Ur(e.layerState)),e.futureLayerStates=[],e.layerState.objects=[t.payload]},resetCanvasInteractionState:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMoveBoundingBoxKeyHeld=!1,e.isMoveStageKeyHeld=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1,e.isTransformingBoundingBox=!1},mouseLeftCanvas:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isTransformingBoundingBox=!1}},extraReducers:e=>{e.addCase(mc.pending,t=>{t.layerState.stagingArea.images.length||(t.layerState.stagingArea=vd.stagingArea)}),e.addCase(Aue,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(r$,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(Tue,(t,n)=>{const r=n.payload;r&&(t.boundingBoxDimensions.height=Ss(t.boundingBoxDimensions.width/r,64))})}}),{addEraseRect:POe,addFillRect:ROe,addImageToStagingArea:jue,addLine:OOe,addPointToCurrentLine:kOe,clearCanvasHistory:IOe,clearMask:MOe,commitColorPickerColor:NOe,commitStagingAreaImage:Gue,discardStagedImages:LOe,fitBoundingBoxToStage:DOe,mouseLeftCanvas:$Oe,nextStagingAreaImage:FOe,prevStagingAreaImage:BOe,redo:UOe,resetCanvas:xT,resetCanvasInteractionState:zOe,resetCanvasView:VOe,resizeAndScaleCanvas:jOe,resizeCanvas:GOe,setBoundingBoxCoordinates:HOe,setBoundingBoxDimensions:WOe,setBoundingBoxPreviewFill:qOe,setBoundingBoxScaleMethod:KOe,flipBoundingBoxAxes:XOe,setBrushColor:YOe,setBrushSize:QOe,setCanvasContainerDimensions:ZOe,setColorPickerColor:JOe,setCursorPosition:eke,setDoesCanvasNeedScaling:tke,setInitialCanvasImage:l$,setIsDrawing:nke,setIsMaskEnabled:rke,setIsMouseOverBoundingBox:ike,setIsMoveBoundingBoxKeyHeld:oke,setIsMoveStageKeyHeld:ske,setIsMovingBoundingBox:ake,setIsMovingStage:lke,setIsTransformingBoundingBox:uke,setLayer:cke,setMaskColor:dke,setMergedCanvas:Hue,setShouldAutoSave:fke,setShouldCropToBoundingBoxOnSave:hke,setShouldDarkenOutsideBoundingBox:pke,setShouldLockBoundingBox:gke,setShouldPreserveMaskedArea:mke,setShouldShowBoundingBox:yke,setShouldShowBrush:vke,setShouldShowBrushPreview:_ke,setShouldShowCanvasDebugInfo:bke,setShouldShowCheckboardTransparency:Ske,setShouldShowGrid:wke,setShouldShowIntermediates:xke,setShouldShowStagingImage:Cke,setShouldShowStagingOutline:Tke,setShouldSnapToGrid:Eke,setStageCoordinates:Ake,setStageScale:Pke,setTool:Rke,toggleShouldLockBoundingBox:Oke,toggleTool:kke,undo:Ike,setScaledBoundingBoxDimensions:Mke,setShouldRestrictStrokesToBox:Nke,stagingAreaInitialized:Wue,canvasSessionIdChanged:que,setShouldAntialias:Lke}=a$.actions,Kue=a$.reducer,Vr=["general"],wl=["control","mask","user","other"],Xue=100,F9=20;var w1={exports:{}};/** +`+o.stack}return{value:e,source:t,stack:i,digest:null}}function Kw(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function KC(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var WZ=typeof WeakMap=="function"?WeakMap:Map;function sN(e,t,n){n=va(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Jv||(Jv=!0,i3=r),KC(e,t)},n}function aN(e,t,n){n=va(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var i=t.value;n.payload=function(){return r(i)},n.callback=function(){KC(e,t)}}var o=e.stateNode;return o!==null&&typeof o.componentDidCatch=="function"&&(n.callback=function(){KC(e,t),typeof r!="function"&&(Pl===null?Pl=new Set([this]):Pl.add(this));var s=t.stack;this.componentDidCatch(t.value,{componentStack:s!==null?s:""})}),n}function m8(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new WZ;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(i.add(n),e=sJ.bind(null,e,t,n),t.then(e,e))}function y8(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function v8(e,t,n,r,i){return e.mode&1?(e.flags|=65536,e.lanes=i,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=va(-1,1),t.tag=2,Al(n,t,1))),n.lanes|=1),e)}var qZ=Ma.ReactCurrentOwner,wi=!1;function ri(e,t,n,r){t.child=e===null?BM(t,null,n,r):hf(t,e.child,n,r)}function _8(e,t,n,r,i){n=n.render;var o=t.ref;return Hd(t,i),r=R4(e,t,n,r,o,i),n=O4(),e!==null&&!wi?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Pa(e,t,i)):(cn&&n&&y4(t),t.flags|=1,ri(e,t,r,i),t.child)}function b8(e,t,n,r,i){if(e===null){var o=n.type;return typeof o=="function"&&!U4(o)&&o.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=o,lN(e,t,o,r,i)):(e=av(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(o=e.child,!(e.lanes&i)){var s=o.memoizedProps;if(n=n.compare,n=n!==null?n:Gp,n(s,r)&&e.ref===t.ref)return Pa(e,t,i)}return t.flags|=1,e=Ol(o,r),e.ref=t.ref,e.return=t,t.child=e}function lN(e,t,n,r,i){if(e!==null){var o=e.memoizedProps;if(Gp(o,r)&&e.ref===t.ref)if(wi=!1,t.pendingProps=r=o,(e.lanes&i)!==0)e.flags&131072&&(wi=!0);else return t.lanes=e.lanes,Pa(e,t,i)}return XC(e,t,n,r,i)}function uN(e,t,n){var r=t.pendingProps,i=r.children,o=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Zt(Nd,zi),zi|=n;else{if(!(n&1073741824))return e=o!==null?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Zt(Nd,zi),zi|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=o!==null?o.baseLanes:n,Zt(Nd,zi),zi|=r}else o!==null?(r=o.baseLanes|n,t.memoizedState=null):r=n,Zt(Nd,zi),zi|=r;return ri(e,t,i,n),t.child}function cN(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function XC(e,t,n,r,i){var o=Ei(n)?Xu:Hr.current;return o=df(t,o),Hd(t,i),n=R4(e,t,n,r,o,i),r=O4(),e!==null&&!wi?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Pa(e,t,i)):(cn&&r&&y4(t),t.flags|=1,ri(e,t,n,i),t.child)}function S8(e,t,n,r,i){if(Ei(n)){var o=!0;jv(t)}else o=!1;if(Hd(t,i),t.stateNode===null)iv(e,t),$M(t,n,r),qC(t,n,r,i),r=!0;else if(e===null){var s=t.stateNode,a=t.memoizedProps;s.props=a;var l=s.context,u=n.contextType;typeof u=="object"&&u!==null?u=So(u):(u=Ei(n)?Xu:Hr.current,u=df(t,u));var d=n.getDerivedStateFromProps,f=typeof d=="function"||typeof s.getSnapshotBeforeUpdate=="function";f||typeof s.UNSAFE_componentWillReceiveProps!="function"&&typeof s.componentWillReceiveProps!="function"||(a!==r||l!==u)&&f8(t,s,r,u),ul=!1;var p=t.memoizedState;s.state=p,Kv(t,r,s,i),l=t.memoizedState,a!==r||p!==l||Ti.current||ul?(typeof d=="function"&&(WC(t,n,d,r),l=t.memoizedState),(a=ul||d8(t,n,a,r,p,l,u))?(f||typeof s.UNSAFE_componentWillMount!="function"&&typeof s.componentWillMount!="function"||(typeof s.componentWillMount=="function"&&s.componentWillMount(),typeof s.UNSAFE_componentWillMount=="function"&&s.UNSAFE_componentWillMount()),typeof s.componentDidMount=="function"&&(t.flags|=4194308)):(typeof s.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),s.props=r,s.state=l,s.context=u,r=a):(typeof s.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{s=t.stateNode,LM(e,t),a=t.memoizedProps,u=t.type===t.elementType?a:Fo(t.type,a),s.props=u,f=t.pendingProps,p=s.context,l=n.contextType,typeof l=="object"&&l!==null?l=So(l):(l=Ei(n)?Xu:Hr.current,l=df(t,l));var g=n.getDerivedStateFromProps;(d=typeof g=="function"||typeof s.getSnapshotBeforeUpdate=="function")||typeof s.UNSAFE_componentWillReceiveProps!="function"&&typeof s.componentWillReceiveProps!="function"||(a!==f||p!==l)&&f8(t,s,r,l),ul=!1,p=t.memoizedState,s.state=p,Kv(t,r,s,i);var m=t.memoizedState;a!==f||p!==m||Ti.current||ul?(typeof g=="function"&&(WC(t,n,g,r),m=t.memoizedState),(u=ul||d8(t,n,u,r,p,m,l)||!1)?(d||typeof s.UNSAFE_componentWillUpdate!="function"&&typeof s.componentWillUpdate!="function"||(typeof s.componentWillUpdate=="function"&&s.componentWillUpdate(r,m,l),typeof s.UNSAFE_componentWillUpdate=="function"&&s.UNSAFE_componentWillUpdate(r,m,l)),typeof s.componentDidUpdate=="function"&&(t.flags|=4),typeof s.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof s.componentDidUpdate!="function"||a===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof s.getSnapshotBeforeUpdate!="function"||a===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),s.props=r,s.state=m,s.context=l,r=u):(typeof s.componentDidUpdate!="function"||a===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof s.getSnapshotBeforeUpdate!="function"||a===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),r=!1)}return YC(e,t,n,r,o,i)}function YC(e,t,n,r,i,o){cN(e,t);var s=(t.flags&128)!==0;if(!r&&!s)return i&&s8(t,n,!1),Pa(e,t,o);r=t.stateNode,qZ.current=t;var a=s&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&s?(t.child=hf(t,e.child,null,o),t.child=hf(t,null,a,o)):ri(e,t,a,o),t.memoizedState=r.state,i&&s8(t,n,!0),t.child}function dN(e){var t=e.stateNode;t.pendingContext?o8(e,t.pendingContext,t.pendingContext!==t.context):t.context&&o8(e,t.context,!1),T4(e,t.containerInfo)}function w8(e,t,n,r,i){return ff(),_4(i),t.flags|=256,ri(e,t,n,r),t.child}var QC={dehydrated:null,treeContext:null,retryLane:0};function ZC(e){return{baseLanes:e,cachePool:null,transitions:null}}function fN(e,t,n){var r=t.pendingProps,i=mn.current,o=!1,s=(t.flags&128)!==0,a;if((a=s)||(a=e!==null&&e.memoizedState===null?!1:(i&2)!==0),a?(o=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(i|=1),Zt(mn,i&1),e===null)return GC(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(s=r.children,e=r.fallback,o?(r=t.mode,o=t.child,s={mode:"hidden",children:s},!(r&1)&&o!==null?(o.childLanes=0,o.pendingProps=s):o=N_(s,r,0,null),e=Vu(e,r,n,null),o.return=t,e.return=t,o.sibling=e,t.child=o,t.child.memoizedState=ZC(n),t.memoizedState=QC,e):M4(t,s));if(i=e.memoizedState,i!==null&&(a=i.dehydrated,a!==null))return KZ(e,t,s,r,a,i,n);if(o){o=r.fallback,s=t.mode,i=e.child,a=i.sibling;var l={mode:"hidden",children:r.children};return!(s&1)&&t.child!==i?(r=t.child,r.childLanes=0,r.pendingProps=l,t.deletions=null):(r=Ol(i,l),r.subtreeFlags=i.subtreeFlags&14680064),a!==null?o=Ol(a,o):(o=Vu(o,s,n,null),o.flags|=2),o.return=t,r.return=t,r.sibling=o,t.child=r,r=o,o=t.child,s=e.child.memoizedState,s=s===null?ZC(n):{baseLanes:s.baseLanes|n,cachePool:null,transitions:s.transitions},o.memoizedState=s,o.childLanes=e.childLanes&~n,t.memoizedState=QC,r}return o=e.child,e=o.sibling,r=Ol(o,{mode:"visible",children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function M4(e,t){return t=N_({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function a0(e,t,n,r){return r!==null&&_4(r),hf(t,e.child,null,n),e=M4(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function KZ(e,t,n,r,i,o,s){if(n)return t.flags&256?(t.flags&=-257,r=Kw(Error(ge(422))),a0(e,t,s,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(o=r.fallback,i=t.mode,r=N_({mode:"visible",children:r.children},i,0,null),o=Vu(o,i,s,null),o.flags|=2,r.return=t,o.return=t,r.sibling=o,t.child=r,t.mode&1&&hf(t,e.child,null,s),t.child.memoizedState=ZC(s),t.memoizedState=QC,o);if(!(t.mode&1))return a0(e,t,s,null);if(i.data==="$!"){if(r=i.nextSibling&&i.nextSibling.dataset,r)var a=r.dgst;return r=a,o=Error(ge(419)),r=Kw(o,r,void 0),a0(e,t,s,r)}if(a=(s&e.childLanes)!==0,wi||a){if(r=pr,r!==null){switch(s&-s){case 4:i=2;break;case 16:i=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:i=32;break;case 536870912:i=268435456;break;default:i=0}i=i&(r.suspendedLanes|s)?0:i,i!==0&&i!==o.retryLane&&(o.retryLane=i,Aa(e,i),qo(r,e,i,-1))}return B4(),r=Kw(Error(ge(421))),a0(e,t,s,r)}return i.data==="$?"?(t.flags|=128,t.child=e.child,t=aJ.bind(null,e),i._reactRetry=t,null):(e=o.treeContext,ji=El(i.nextSibling),Gi=t,cn=!0,Vo=null,e!==null&&(go[mo++]=pa,go[mo++]=ga,go[mo++]=Yu,pa=e.id,ga=e.overflow,Yu=t),t=M4(t,r.children),t.flags|=4096,t)}function x8(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),HC(e.return,t,n)}function Xw(e,t,n,r,i){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i)}function hN(e,t,n){var r=t.pendingProps,i=r.revealOrder,o=r.tail;if(ri(e,t,r.children,n),r=mn.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&x8(e,n,t);else if(e.tag===19)x8(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Zt(mn,r),!(t.mode&1))t.memoizedState=null;else switch(i){case"forwards":for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&Xv(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Xw(t,!1,i,n,o);break;case"backwards":for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&Xv(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Xw(t,!0,n,null,o);break;case"together":Xw(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function iv(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Pa(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Zu|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(ge(153));if(t.child!==null){for(e=t.child,n=Ol(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Ol(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function XZ(e,t,n){switch(t.tag){case 3:dN(t),ff();break;case 5:UM(t);break;case 1:Ei(t.type)&&jv(t);break;case 4:T4(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,i=t.memoizedProps.value;Zt(Wv,r._currentValue),r._currentValue=i;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(Zt(mn,mn.current&1),t.flags|=128,null):n&t.child.childLanes?fN(e,t,n):(Zt(mn,mn.current&1),e=Pa(e,t,n),e!==null?e.sibling:null);Zt(mn,mn.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return hN(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),Zt(mn,mn.current),r)break;return null;case 22:case 23:return t.lanes=0,uN(e,t,n)}return Pa(e,t,n)}var pN,JC,gN,mN;pN=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};JC=function(){};gN=function(e,t,n,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,Lu(As.current);var o=null;switch(n){case"input":i=SC(e,i),r=SC(e,r),o=[];break;case"select":i=bn({},i,{value:void 0}),r=bn({},r,{value:void 0}),o=[];break;case"textarea":i=CC(e,i),r=CC(e,r),o=[];break;default:typeof i.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=zv)}EC(n,r);var s;n=null;for(u in i)if(!r.hasOwnProperty(u)&&i.hasOwnProperty(u)&&i[u]!=null)if(u==="style"){var a=i[u];for(s in a)a.hasOwnProperty(s)&&(n||(n={}),n[s]="")}else u!=="dangerouslySetInnerHTML"&&u!=="children"&&u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&($p.hasOwnProperty(u)?o||(o=[]):(o=o||[]).push(u,null));for(u in r){var l=r[u];if(a=i!=null?i[u]:void 0,r.hasOwnProperty(u)&&l!==a&&(l!=null||a!=null))if(u==="style")if(a){for(s in a)!a.hasOwnProperty(s)||l&&l.hasOwnProperty(s)||(n||(n={}),n[s]="");for(s in l)l.hasOwnProperty(s)&&a[s]!==l[s]&&(n||(n={}),n[s]=l[s])}else n||(o||(o=[]),o.push(u,n)),n=l;else u==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,a=a?a.__html:void 0,l!=null&&a!==l&&(o=o||[]).push(u,l)):u==="children"?typeof l!="string"&&typeof l!="number"||(o=o||[]).push(u,""+l):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&($p.hasOwnProperty(u)?(l!=null&&u==="onScroll"&&en("scroll",e),o||a===l||(o=[])):(o=o||[]).push(u,l))}n&&(o=o||[]).push("style",n);var u=o;(t.updateQueue=u)&&(t.flags|=4)}};mN=function(e,t,n,r){n!==r&&(t.flags|=4)};function Fh(e,t){if(!cn)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Fr(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&14680064,r|=i.flags&14680064,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function YZ(e,t,n){var r=t.pendingProps;switch(v4(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Fr(t),null;case 1:return Ei(t.type)&&Vv(),Fr(t),null;case 3:return r=t.stateNode,pf(),rn(Ti),rn(Hr),A4(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(o0(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Vo!==null&&(a3(Vo),Vo=null))),JC(e,t),Fr(t),null;case 5:E4(t);var i=Lu(Xp.current);if(n=t.type,e!==null&&t.stateNode!=null)gN(e,t,n,r,i),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(ge(166));return Fr(t),null}if(e=Lu(As.current),o0(t)){r=t.stateNode,n=t.type;var o=t.memoizedProps;switch(r[_s]=t,r[qp]=o,e=(t.mode&1)!==0,n){case"dialog":en("cancel",r),en("close",r);break;case"iframe":case"object":case"embed":en("load",r);break;case"video":case"audio":for(i=0;i<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[_s]=t,e[qp]=r,pN(e,t,!1,!1),t.stateNode=e;e:{switch(s=AC(n,r),n){case"dialog":en("cancel",e),en("close",e),i=r;break;case"iframe":case"object":case"embed":en("load",e),i=r;break;case"video":case"audio":for(i=0;imf&&(t.flags|=128,r=!0,Fh(o,!1),t.lanes=4194304)}else{if(!r)if(e=Xv(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Fh(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!cn)return Fr(t),null}else 2*Mn()-o.renderingStartTime>mf&&n!==1073741824&&(t.flags|=128,r=!0,Fh(o,!1),t.lanes=4194304);o.isBackwards?(s.sibling=t.child,t.child=s):(n=o.last,n!==null?n.sibling=s:t.child=s,o.last=s)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Mn(),t.sibling=null,n=mn.current,Zt(mn,r?n&1|2:n&1),t):(Fr(t),null);case 22:case 23:return F4(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?zi&1073741824&&(Fr(t),t.subtreeFlags&6&&(t.flags|=8192)):Fr(t),null;case 24:return null;case 25:return null}throw Error(ge(156,t.tag))}function QZ(e,t){switch(v4(t),t.tag){case 1:return Ei(t.type)&&Vv(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return pf(),rn(Ti),rn(Hr),A4(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return E4(t),null;case 13:if(rn(mn),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(ge(340));ff()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return rn(mn),null;case 4:return pf(),null;case 10:return w4(t.type._context),null;case 22:case 23:return F4(),null;case 24:return null;default:return null}}var l0=!1,jr=!1,ZZ=typeof WeakSet=="function"?WeakSet:Set,Ae=null;function Md(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Tn(e,t,r)}else n.current=null}function e3(e,t,n){try{n()}catch(r){Tn(e,t,r)}}var C8=!1;function JZ(e,t){if($C=Fv,e=bM(),m4(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,a=-1,l=-1,u=0,d=0,f=e,p=null;t:for(;;){for(var g;f!==n||i!==0&&f.nodeType!==3||(a=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(g=f.firstChild)!==null;)p=f,f=g;for(;;){if(f===e)break t;if(p===n&&++u===i&&(a=s),p===o&&++d===r&&(l=s),(g=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=g}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(FC={focusedElem:e,selectionRange:n},Fv=!1,Ae=t;Ae!==null;)if(t=Ae,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Ae=e;else for(;Ae!==null;){t=Ae;try{var m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var v=m.memoizedProps,x=m.memoizedState,_=t.stateNode,b=_.getSnapshotBeforeUpdate(t.elementType===t.type?v:Fo(t.type,v),x);_.__reactInternalSnapshotBeforeUpdate=b}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent="":y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(ge(163))}}catch(S){Tn(t,t.return,S)}if(e=t.sibling,e!==null){e.return=t.return,Ae=e;break}Ae=t.return}return m=C8,C8=!1,m}function wp(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&e3(t,n,o)}i=i.next}while(i!==r)}}function I_(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==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 t3(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function yN(e){var t=e.alternate;t!==null&&(e.alternate=null,yN(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[_s],delete t[qp],delete t[zC],delete t[LZ],delete t[DZ])),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 vN(e){return e.tag===5||e.tag===3||e.tag===4}function T8(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||vN(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function n3(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=zv));else if(r!==4&&(e=e.child,e!==null))for(n3(e,t,n),e=e.sibling;e!==null;)n3(e,t,n),e=e.sibling}function r3(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(r3(e,t,n),e=e.sibling;e!==null;)r3(e,t,n),e=e.sibling}var Ar=null,Uo=!1;function tl(e,t,n){for(n=n.child;n!==null;)_N(e,t,n),n=n.sibling}function _N(e,t,n){if(Es&&typeof Es.onCommitFiberUnmount=="function")try{Es.onCommitFiberUnmount(C_,n)}catch{}switch(n.tag){case 5:jr||Md(n,t);case 6:var r=Ar,i=Uo;Ar=null,tl(e,t,n),Ar=r,Uo=i,Ar!==null&&(Uo?(e=Ar,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Ar.removeChild(n.stateNode));break;case 18:Ar!==null&&(Uo?(e=Ar,n=n.stateNode,e.nodeType===8?Vw(e.parentNode,n):e.nodeType===1&&Vw(e,n),Vp(e)):Vw(Ar,n.stateNode));break;case 4:r=Ar,i=Uo,Ar=n.stateNode.containerInfo,Uo=!0,tl(e,t,n),Ar=r,Uo=i;break;case 0:case 11:case 14:case 15:if(!jr&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,s=o.destroy;o=o.tag,s!==void 0&&(o&2||o&4)&&e3(n,t,s),i=i.next}while(i!==r)}tl(e,t,n);break;case 1:if(!jr&&(Md(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){Tn(n,t,a)}tl(e,t,n);break;case 21:tl(e,t,n);break;case 22:n.mode&1?(jr=(r=jr)||n.memoizedState!==null,tl(e,t,n),jr=r):tl(e,t,n);break;default:tl(e,t,n)}}function E8(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new ZZ),t.forEach(function(r){var i=lJ.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Lo(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~o}if(r=i,r=Mn()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*tJ(r/1960))-r,10e?16:e,_l===null)var r=!1;else{if(e=_l,_l=null,e1=0,vt&6)throw Error(ge(331));var i=vt;for(vt|=4,Ae=e.current;Ae!==null;){var o=Ae,s=o.child;if(Ae.flags&16){var a=o.deletions;if(a!==null){for(var l=0;lMn()-D4?zu(e,0):L4|=n),Ai(e,t)}function AN(e,t){t===0&&(e.mode&1?(t=Jy,Jy<<=1,!(Jy&130023424)&&(Jy=4194304)):t=1);var n=oi();e=Aa(e,t),e!==null&&(Qg(e,t,n),Ai(e,n))}function aJ(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),AN(e,n)}function lJ(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(ge(314))}r!==null&&r.delete(t),AN(e,n)}var PN;PN=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Ti.current)wi=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return wi=!1,XZ(e,t,n);wi=!!(e.flags&131072)}else wi=!1,cn&&t.flags&1048576&&kM(t,Hv,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;iv(e,t),e=t.pendingProps;var i=df(t,Hr.current);Hd(t,n),i=R4(null,t,r,e,i,n);var o=O4();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ei(r)?(o=!0,jv(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,C4(t),i.updater=O_,t.stateNode=i,i._reactInternals=t,qC(t,r,e,n),t=YC(null,t,r,!0,o,n)):(t.tag=0,cn&&o&&y4(t),ri(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(iv(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=cJ(r),e=Fo(r,e),i){case 0:t=XC(null,t,r,e,n);break e;case 1:t=S8(null,t,r,e,n);break e;case 11:t=_8(null,t,r,e,n);break e;case 14:t=b8(null,t,r,Fo(r.type,e),n);break e}throw Error(ge(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fo(r,i),XC(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fo(r,i),S8(e,t,r,i,n);case 3:e:{if(dN(t),e===null)throw Error(ge(387));r=t.pendingProps,o=t.memoizedState,i=o.element,LM(e,t),Kv(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=gf(Error(ge(423)),t),t=w8(e,t,r,n,i);break e}else if(r!==i){i=gf(Error(ge(424)),t),t=w8(e,t,r,n,i);break e}else for(ji=El(t.stateNode.containerInfo.firstChild),Gi=t,cn=!0,Vo=null,n=BM(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(ff(),r===i){t=Pa(e,t,n);break e}ri(e,t,r,n)}t=t.child}return t;case 5:return UM(t),e===null&&GC(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,s=i.children,BC(r,i)?s=null:o!==null&&BC(r,o)&&(t.flags|=32),cN(e,t),ri(e,t,s,n),t.child;case 6:return e===null&&GC(t),null;case 13:return fN(e,t,n);case 4:return T4(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=hf(t,null,r,n):ri(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fo(r,i),_8(e,t,r,i,n);case 7:return ri(e,t,t.pendingProps,n),t.child;case 8:return ri(e,t,t.pendingProps.children,n),t.child;case 12:return ri(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,s=i.value,Zt(Wv,r._currentValue),r._currentValue=s,o!==null)if(Zo(o.value,s)){if(o.children===i.children&&!Ti.current){t=Pa(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var a=o.dependencies;if(a!==null){s=o.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=va(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),HC(o.return,n,t),a.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(ge(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),HC(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}ri(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Hd(t,n),i=So(i),r=r(i),t.flags|=1,ri(e,t,r,n),t.child;case 14:return r=t.type,i=Fo(r,t.pendingProps),i=Fo(r.type,i),b8(e,t,r,i,n);case 15:return lN(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Fo(r,i),iv(e,t),t.tag=1,Ei(r)?(e=!0,jv(t)):e=!1,Hd(t,n),$M(t,r,i),qC(t,r,i,n),YC(null,t,r,!0,e,n);case 19:return hN(e,t,n);case 22:return uN(e,t,n)}throw Error(ge(156,t.tag))};function RN(e,t){return tM(e,t)}function uJ(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 vo(e,t,n,r){return new uJ(e,t,n,r)}function U4(e){return e=e.prototype,!(!e||!e.isReactComponent)}function cJ(e){if(typeof e=="function")return U4(e)?1:0;if(e!=null){if(e=e.$$typeof,e===o4)return 11;if(e===s4)return 14}return 2}function Ol(e,t){var n=e.alternate;return n===null?(n=vo(e.tag,t,e.key,e.mode),n.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=e.flags&14680064,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=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function av(e,t,n,r,i,o){var s=2;if(r=e,typeof e=="function")U4(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case Cd:return Vu(n.children,i,o,t);case i4:s=8,i|=8;break;case yC:return e=vo(12,n,t,i|2),e.elementType=yC,e.lanes=o,e;case vC:return e=vo(13,n,t,i),e.elementType=vC,e.lanes=o,e;case _C:return e=vo(19,n,t,i),e.elementType=_C,e.lanes=o,e;case F7:return N_(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case D7:s=10;break e;case $7:s=9;break e;case o4:s=11;break e;case s4:s=14;break e;case ll:s=16,r=null;break e}throw Error(ge(130,e==null?e:typeof e,""))}return t=vo(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function Vu(e,t,n,r){return e=vo(7,e,r,t),e.lanes=n,e}function N_(e,t,n,r){return e=vo(22,e,r,t),e.elementType=F7,e.lanes=n,e.stateNode={isHidden:!1},e}function Yw(e,t,n){return e=vo(6,e,null,t),e.lanes=n,e}function Qw(e,t,n){return t=vo(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function dJ(e,t,n,r,i){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=kw(0),this.expirationTimes=kw(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=kw(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function z4(e,t,n,r,i,o,s,a,l){return e=new dJ(e,t,n,a,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=vo(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},C4(o),e}function fJ(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(MN)}catch(e){console.error(e)}}MN(),k7.exports=Yi;var bs=k7.exports;const Q9e=dc(bs);var N8=bs;gC.createRoot=N8.createRoot,gC.hydrateRoot=N8.hydrateRoot;const yJ="modulepreload",vJ=function(e,t){return new URL(e,t).href},L8={},NN=function(t,n,r){if(!n||n.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=vJ(o,r),o in L8)return;L8[o]=!0;const s=o.endsWith(".css"),a=s?'[rel="stylesheet"]':"";if(!!r)for(let d=i.length-1;d>=0;d--){const f=i[d];if(f.href===o&&(!s||f.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${a}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":yJ,s||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),s)return new Promise((d,f)=>{u.addEventListener("load",d),u.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t()).catch(o=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o})};function hr(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:B_(e)?2:U_(e)?3:0}function kl(e,t){return Fl(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function lv(e,t){return Fl(e)===2?e.get(t):e[t]}function LN(e,t,n){var r=Fl(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function DN(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function B_(e){return CJ&&e instanceof Map}function U_(e){return TJ&&e instanceof Set}function lr(e){return e.o||e.t}function W4(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=FN(e);delete t[Xe];for(var n=Kd(t),r=0;r1&&(e.set=e.add=e.clear=e.delete=_J),Object.freeze(e),t&&Ra(e,function(n,r){return tm(r,!0)},!0)),e}function _J(){hr(2)}function q4(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function Ps(e){var t=u3[e];return t||hr(18,e),t}function K4(e,t){u3[e]||(u3[e]=t)}function eg(){return ng}function Zw(e,t){t&&(Ps("Patches"),e.u=[],e.s=[],e.v=t)}function r1(e){l3(e),e.p.forEach(bJ),e.p=null}function l3(e){e===ng&&(ng=e.l)}function D8(e){return ng={p:[],l:ng,h:e,m:!0,_:0}}function bJ(e){var t=e[Xe];t.i===0||t.i===1?t.j():t.g=!0}function Jw(e,t){t._=t.p.length;var n=t.p[0],r=e!==void 0&&e!==n;return t.h.O||Ps("ES5").S(t,e,r),r?(n[Xe].P&&(r1(t),hr(4)),Pi(e)&&(e=i1(t,e),t.l||o1(t,e)),t.u&&Ps("Patches").M(n[Xe].t,e,t.u,t.s)):e=i1(t,n,[]),r1(t),t.u&&t.v(t.u,t.s),e!==V_?e:void 0}function i1(e,t,n){if(q4(t))return t;var r=t[Xe];if(!r)return Ra(t,function(a,l){return $8(e,r,t,a,l,n)},!0),t;if(r.A!==e)return t;if(!r.P)return o1(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=r.i===4||r.i===5?r.o=W4(r.k):r.o,o=i,s=!1;r.i===3&&(o=new Set(i),i.clear(),s=!0),Ra(o,function(a,l){return $8(e,r,i,a,l,n,s)}),o1(e,i,!1),n&&e.u&&Ps("Patches").N(r,n,e.u,e.s)}return r.o}function $8(e,t,n,r,i,o,s){if(ai(i)){var a=i1(e,i,o&&t&&t.i!==3&&!kl(t.R,r)?o.concat(r):void 0);if(LN(n,r,a),!ai(a))return;e.m=!1}else s&&n.add(i);if(Pi(i)&&!q4(i)){if(!e.h.D&&e._<1)return;i1(e,i),t&&t.A.l||o1(e,i)}}function o1(e,t,n){n===void 0&&(n=!1),!e.l&&e.h.D&&e.m&&tm(t,n)}function ex(e,t){var n=e[Xe];return(n?lr(n):e)[t]}function F8(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function Si(e){e.P||(e.P=!0,e.l&&Si(e.l))}function tx(e){e.o||(e.o=W4(e.t))}function tg(e,t,n){var r=B_(t)?Ps("MapSet").F(t,n):U_(t)?Ps("MapSet").T(t,n):e.O?function(i,o){var s=Array.isArray(i),a={i:s?1:0,A:o?o.A:eg(),P:!1,I:!1,R:{},l:o,t:i,k:null,o:null,j:null,C:!1},l=a,u=rg;s&&(l=[a],u=cp);var d=Proxy.revocable(l,u),f=d.revoke,p=d.proxy;return a.k=p,a.j=f,p}(t,n):Ps("ES5").J(t,n);return(n?n.A:eg()).p.push(r),r}function z_(e){return ai(e)||hr(22,e),function t(n){if(!Pi(n))return n;var r,i=n[Xe],o=Fl(n);if(i){if(!i.P&&(i.i<4||!Ps("ES5").K(i)))return i.t;i.I=!0,r=B8(n,o),i.I=!1}else r=B8(n,o);return Ra(r,function(s,a){i&&lv(i.t,s)===a||LN(r,s,t(a))}),o===3?new Set(r):r}(e)}function B8(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return W4(e)}function X4(){function e(o,s){var a=i[o];return a?a.enumerable=s:i[o]=a={configurable:!0,enumerable:s,get:function(){var l=this[Xe];return rg.get(l,o)},set:function(l){var u=this[Xe];rg.set(u,o,l)}},a}function t(o){for(var s=o.length-1;s>=0;s--){var a=o[s][Xe];if(!a.P)switch(a.i){case 5:r(a)&&Si(a);break;case 4:n(a)&&Si(a)}}}function n(o){for(var s=o.t,a=o.k,l=Kd(a),u=l.length-1;u>=0;u--){var d=l[u];if(d!==Xe){var f=s[d];if(f===void 0&&!kl(s,d))return!0;var p=a[d],g=p&&p[Xe];if(g?g.t!==f:!DN(p,f))return!0}}var m=!!s[Xe];return l.length!==Kd(s).length+(m?0:1)}function r(o){var s=o.k;if(s.length!==o.t.length)return!0;var a=Object.getOwnPropertyDescriptor(s,s.length-1);if(a&&!a.get)return!0;for(var l=0;l1?_-1:0),y=1;y<_;y++)b[y-1]=arguments[y];return l.produce(v,function(S){var C;return(C=o).call.apply(C,[x,S].concat(b))})}}var u;if(typeof o!="function"&&hr(6),s!==void 0&&typeof s!="function"&&hr(7),Pi(i)){var d=D8(r),f=tg(r,i,void 0),p=!0;try{u=o(f),p=!1}finally{p?r1(d):l3(d)}return typeof Promise<"u"&&u instanceof Promise?u.then(function(v){return Zw(d,s),Jw(v,d)},function(v){throw r1(d),v}):(Zw(d,s),Jw(u,d))}if(!i||typeof i!="object"){if((u=o(i))===void 0&&(u=i),u===V_&&(u=void 0),r.D&&tm(u,!0),s){var g=[],m=[];Ps("Patches").M(i,u,g,m),s(g,m)}return u}hr(21,i)},this.produceWithPatches=function(i,o){if(typeof i=="function")return function(u){for(var d=arguments.length,f=Array(d>1?d-1:0),p=1;p=0;i--){var o=r[i];if(o.path.length===0&&o.op==="replace"){n=o.value;break}}i>-1&&(r=r.slice(i+1));var s=Ps("Patches").$;return ai(n)?s(n,r):this.produce(n,function(a){return s(a,r)})},e}(),qi=new BN,UN=qi.produce,Z4=qi.produceWithPatches.bind(qi),AJ=qi.setAutoFreeze.bind(qi),PJ=qi.setUseProxies.bind(qi),c3=qi.applyPatches.bind(qi),RJ=qi.createDraft.bind(qi),OJ=qi.finishDraft.bind(qi);const Jl=UN,Z9e=Object.freeze(Object.defineProperty({__proto__:null,Immer:BN,applyPatches:c3,castDraft:wJ,castImmutable:xJ,createDraft:RJ,current:z_,default:Jl,enableAllPlugins:SJ,enableES5:X4,enableMapSet:$N,enablePatches:Y4,finishDraft:OJ,freeze:tm,immerable:qd,isDraft:ai,isDraftable:Pi,nothing:V_,original:H4,produce:UN,produceWithPatches:Z4,setAutoFreeze:AJ,setUseProxies:PJ},Symbol.toStringTag,{value:"Module"}));function ig(e){"@babel/helpers - typeof";return ig=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ig(e)}function kJ(e,t){if(ig(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(ig(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function IJ(e){var t=kJ(e,"string");return ig(t)==="symbol"?t:String(t)}function MJ(e,t,n){return t=IJ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function V8(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function j8(e){for(var t=1;t"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(Pr(1));return n(nm)(e,t)}if(typeof e!="function")throw new Error(Pr(2));var i=e,o=t,s=[],a=s,l=!1;function u(){a===s&&(a=s.slice())}function d(){if(l)throw new Error(Pr(3));return o}function f(v){if(typeof v!="function")throw new Error(Pr(4));if(l)throw new Error(Pr(5));var x=!0;return u(),a.push(v),function(){if(x){if(l)throw new Error(Pr(6));x=!1,u();var b=a.indexOf(v);a.splice(b,1),s=null}}}function p(v){if(!NJ(v))throw new Error(Pr(7));if(typeof v.type>"u")throw new Error(Pr(8));if(l)throw new Error(Pr(9));try{l=!0,o=i(o,v)}finally{l=!1}for(var x=s=a,_=0;_"u")throw new Error(Pr(12));if(typeof n(void 0,{type:yf.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Pr(13))})}function Ff(e){for(var t=Object.keys(e),n={},r=0;r"u")throw u&&u.type,new Error(Pr(14));f[g]=x,d=d||x!==v}return d=d||o.length!==Object.keys(l).length,d?f:l}}function H8(e,t){return function(){return t(e.apply(this,arguments))}}function VN(e,t){if(typeof e=="function")return H8(e,t);if(typeof e!="object"||e===null)throw new Error(Pr(16));var n={};for(var r in e){var i=e[r];typeof i=="function"&&(n[r]=H8(i,t))}return n}function vf(){for(var e=arguments.length,t=new Array(e),n=0;n-1){var u=n[l];return l>0&&(n.splice(l,1),n.unshift(u)),u.value}return s1}function i(a,l){r(a)===s1&&(n.unshift({key:a,value:l}),n.length>e&&n.pop())}function o(){return n}function s(){n=[]}return{get:r,put:i,getEntries:o,clear:s}}var jN=function(t,n){return t===n};function BJ(e){return function(n,r){if(n===null||r===null||n.length!==r.length)return!1;for(var i=n.length,o=0;o1?t-1:0),r=1;r0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]",value:e};if(typeof e!="object"||e===null||o!=null&&o.has(e))return!1;for(var a=r!=null?r(e):Object.entries(e),l=i.length>0,u=function(x,_){var b=t?t+"."+x:x;if(l){var y=i.some(function(S){return S instanceof RegExp?S.test(b):b===S});if(y)return"continue"}if(!n(_))return{value:{keyPath:b,value:_}};if(typeof _=="object"&&(s=QN(_,b,n,r,i,o),s))return{value:s}},d=0,f=a;d-1}function tee(e){return""+e}function nL(e){var t={},n=[],r,i={addCase:function(o,s){var a=typeof o=="string"?o:o.type;if(a in t)throw new Error("addCase cannot be called with two reducers for the same action type");return t[a]=s,i},addMatcher:function(o,s){return n.push({matcher:o,reducer:s}),i},addDefaultCase:function(o){return r=o,i}};return e(i),[t,n,r]}function nee(e){return typeof e=="function"}function rL(e,t,n,r){n===void 0&&(n=[]);var i=typeof t=="function"?nL(t):[t,n,r],o=i[0],s=i[1],a=i[2],l;if(nee(e))l=function(){return d3(e())};else{var u=d3(e);l=function(){return u}}function d(f,p){f===void 0&&(f=l());var g=Bl([o[p.type]],s.filter(function(m){var v=m.matcher;return v(p)}).map(function(m){var v=m.reducer;return v}));return g.filter(function(m){return!!m}).length===0&&(g=[a]),g.reduce(function(m,v){if(v)if(ai(m)){var x=m,_=v(x,p);return _===void 0?m:_}else{if(Pi(m))return Jl(m,function(b){return v(b,p)});var _=v(m,p);if(_===void 0){if(m===null)return m;throw Error("A case reducer on a non-draftable value must not return undefined")}return _}return m},f)}return d.getInitialState=l,d}function ree(e,t){return e+"/"+t}function yn(e){var t=e.name;if(!t)throw new Error("`name` is a required option for createSlice");typeof process<"u";var n=typeof e.initialState=="function"?e.initialState:d3(e.initialState),r=e.reducers||{},i=Object.keys(r),o={},s={},a={};i.forEach(function(d){var f=r[d],p=ree(t,d),g,m;"reducer"in f?(g=f.reducer,m=f.prepare):g=f,o[d]=g,s[p]=g,a[d]=m?Re(p,m):Re(p)});function l(){var d=typeof e.extraReducers=="function"?nL(e.extraReducers):[e.extraReducers],f=d[0],p=f===void 0?{}:f,g=d[1],m=g===void 0?[]:g,v=d[2],x=v===void 0?void 0:v,_=xi(xi({},p),s);return rL(n,function(b){for(var y in _)b.addCase(y,_[y]);for(var S=0,C=m;S0;if(b){var y=m.filter(function(S){return u(x,S,v)}).length>0;y&&(v.ids=Object.keys(v.entities))}}function p(m,v){return g([m],v)}function g(m,v){var x=iL(m,e,v),_=x[0],b=x[1];f(b,v),n(_,v)}return{removeAll:aee(l),addOne:kn(t),addMany:kn(n),setOne:kn(r),setMany:kn(i),setAll:kn(o),updateOne:kn(d),updateMany:kn(f),upsertOne:kn(p),upsertMany:kn(g),removeOne:kn(s),removeMany:kn(a)}}function lee(e,t){var n=oL(e),r=n.removeOne,i=n.removeMany,o=n.removeAll;function s(b,y){return a([b],y)}function a(b,y){b=ju(b);var S=b.filter(function(C){return!(Tp(C,e)in y.entities)});S.length!==0&&x(S,y)}function l(b,y){return u([b],y)}function u(b,y){b=ju(b),b.length!==0&&x(b,y)}function d(b,y){b=ju(b),y.entities={},y.ids=[],a(b,y)}function f(b,y){return p([b],y)}function p(b,y){for(var S=!1,C=0,T=b;C-1;return n&&r}function om(e){return typeof e[0]=="function"&&"pending"in e[0]&&"fulfilled"in e[0]&&"rejected"in e[0]}function H_(){for(var e=[],t=0;t0)for(var y=g.getState(),S=Array.from(n.values()),C=0,T=S;CMath.floor(e/t)*t,Ss=(e,t)=>Math.round(e/t)*t;var Eee=typeof global=="object"&&global&&global.Object===Object&&global;const xL=Eee;var Aee=typeof self=="object"&&self&&self.Object===Object&&self,Pee=xL||Aee||Function("return this")();const Fs=Pee;var Ree=Fs.Symbol;const xo=Ree;var CL=Object.prototype,Oee=CL.hasOwnProperty,kee=CL.toString,Uh=xo?xo.toStringTag:void 0;function Iee(e){var t=Oee.call(e,Uh),n=e[Uh];try{e[Uh]=void 0;var r=!0}catch{}var i=kee.call(e);return r&&(t?e[Uh]=n:delete e[Uh]),i}var Mee=Object.prototype,Nee=Mee.toString;function Lee(e){return Nee.call(e)}var Dee="[object Null]",$ee="[object Undefined]",J8=xo?xo.toStringTag:void 0;function nu(e){return e==null?e===void 0?$ee:Dee:J8&&J8 in Object(e)?Iee(e):Lee(e)}function es(e){return e!=null&&typeof e=="object"}var Fee="[object Symbol]";function W_(e){return typeof e=="symbol"||es(e)&&nu(e)==Fee}function TL(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n0){if(++t>=mte)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function bte(e){return function(){return e}}var Ste=function(){try{var e=gc(Object,"defineProperty");return e({},"",{}),e}catch{}}();const c1=Ste;var wte=c1?function(e,t){return c1(e,"toString",{configurable:!0,enumerable:!1,value:bte(t),writable:!0})}:q_;const xte=wte;var Cte=_te(xte);const RL=Cte;function OL(e,t){for(var n=-1,r=e==null?0:e.length;++n-1}var Ote=9007199254740991,kte=/^(?:0|[1-9]\d*)$/;function iT(e,t){var n=typeof e;return t=t??Ote,!!t&&(n=="number"||n!="symbol"&&kte.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=Nte}function Uf(e){return e!=null&&sT(e.length)&&!rT(e)}function NL(e,t,n){if(!li(n))return!1;var r=typeof t;return(r=="number"?Uf(n)&&iT(t,n.length):r=="string"&&t in n)?um(n[t],e):!1}function LL(e){return ML(function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(o=e.length>3&&typeof o=="function"?(i--,o):void 0,s&&NL(n[0],n[1],s)&&(o=i<3?void 0:o,i=1),t=Object(t);++r-1}function Xne(e,t){var n=this.__data__,r=K_(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function Na(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(a)?t>1?VL(a,t-1,n,r,i):hT(i,a):r||(i[i.length]=a)}return i}function hre(e){var t=e==null?0:e.length;return t?VL(e,1):[]}function pre(e){return RL(IL(e,void 0,hre),e+"")}var gre=UL(Object.getPrototypeOf,Object);const pT=gre;var mre="[object Object]",yre=Function.prototype,vre=Object.prototype,jL=yre.toString,_re=vre.hasOwnProperty,bre=jL.call(Object);function GL(e){if(!es(e)||nu(e)!=mre)return!1;var t=pT(e);if(t===null)return!0;var n=_re.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&jL.call(n)==bre}function HL(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(i);++r=r?e:HL(e,t,n)}var wre="\\ud800-\\udfff",xre="\\u0300-\\u036f",Cre="\\ufe20-\\ufe2f",Tre="\\u20d0-\\u20ff",Ere=xre+Cre+Tre,Are="\\ufe0e\\ufe0f",Pre="\\u200d",Rre=RegExp("["+Pre+wre+Ere+Are+"]");function gT(e){return Rre.test(e)}function Ore(e){return e.split("")}var WL="\\ud800-\\udfff",kre="\\u0300-\\u036f",Ire="\\ufe20-\\ufe2f",Mre="\\u20d0-\\u20ff",Nre=kre+Ire+Mre,Lre="\\ufe0e\\ufe0f",Dre="["+WL+"]",g3="["+Nre+"]",m3="\\ud83c[\\udffb-\\udfff]",$re="(?:"+g3+"|"+m3+")",qL="[^"+WL+"]",KL="(?:\\ud83c[\\udde6-\\uddff]){2}",XL="[\\ud800-\\udbff][\\udc00-\\udfff]",Fre="\\u200d",YL=$re+"?",QL="["+Lre+"]?",Bre="(?:"+Fre+"(?:"+[qL,KL,XL].join("|")+")"+QL+YL+")*",Ure=QL+YL+Bre,zre="(?:"+[qL+g3+"?",g3,KL,XL,Dre].join("|")+")",Vre=RegExp(m3+"(?="+m3+")|"+zre+Ure,"g");function jre(e){return e.match(Vre)||[]}function Gre(e){return gT(e)?jre(e):Ore(e)}function Hre(e){return function(t){t=Y_(t);var n=gT(t)?Gre(t):void 0,r=n?n[0]:t.charAt(0),i=n?Sre(n,1).join(""):t.slice(1);return r[e]()+i}}var Wre=Hre("toUpperCase");const qre=Wre;function ZL(e,t,n,r){var i=-1,o=e==null?0:e.length;for(r&&o&&(n=e[++i]);++i=t?e:t)),e}function bl(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=ox(n),n=n===n?n:0),t!==void 0&&(t=ox(t),t=t===t?t:0),$ie(ox(e),t,n)}function Fie(){this.__data__=new Na,this.size=0}function Bie(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Uie(e){return this.__data__.get(e)}function zie(e){return this.__data__.has(e)}var Vie=200;function jie(e,t){var n=this.__data__;if(n instanceof Na){var r=n.__data__;if(!lg||r.lengtha))return!1;var u=o.get(e),d=o.get(t);if(u&&d)return u==t&&d==e;var f=-1,p=!0,g=n&xse?new ug:void 0;for(o.set(e,t),o.set(t,e);++f1),o}),Bf(e,vD(e),n),r&&(n=Ap(n,Aae|Pae|Rae,Eae));for(var i=t.length;i--;)MD(n,t[i]);return n});const rb=Oae;var kae=RD("length");const Iae=kae;var ND="\\ud800-\\udfff",Mae="\\u0300-\\u036f",Nae="\\ufe20-\\ufe2f",Lae="\\u20d0-\\u20ff",Dae=Mae+Nae+Lae,$ae="\\ufe0e\\ufe0f",Fae="["+ND+"]",w3="["+Dae+"]",x3="\\ud83c[\\udffb-\\udfff]",Bae="(?:"+w3+"|"+x3+")",LD="[^"+ND+"]",DD="(?:\\ud83c[\\udde6-\\uddff]){2}",$D="[\\ud800-\\udbff][\\udc00-\\udfff]",Uae="\\u200d",FD=Bae+"?",BD="["+$ae+"]?",zae="(?:"+Uae+"(?:"+[LD,DD,$D].join("|")+")"+BD+FD+")*",Vae=BD+FD+zae,jae="(?:"+[LD+w3+"?",w3,DD,$D,Fae].join("|")+")",I9=RegExp(x3+"(?="+x3+")|"+jae+Vae,"g");function Gae(e){for(var t=I9.lastIndex=0;I9.test(e);)++t;return t}function Hae(e){return gT(e)?Gae(e):Iae(e)}function Wae(e,t,n,r,i){return i(e,function(o,s,a){n=r?(r=!1,o):t(n,o,s,a)}),n}function _T(e,t,n){var r=gr(e)?ZL:Wae,i=arguments.length<3;return r(e,J_(t),n,i,eb)}var qae="[object Map]",Kae="[object Set]";function bT(e){if(e==null)return 0;if(Uf(e))return wae(e)?Hae(e):e.length;var t=Sf(e);return t==qae||t==Kae?e.size:zL(e).length}function Xae(e,t){var n;return eb(e,function(r,i,o){return n=t(r,i,o),!n}),!!n}function ku(e,t,n){var r=gr(e)?CD:Xae;return n&&NL(e,t,n)&&(t=void 0),r(e,J_(t))}var Yae=Die(function(e,t,n){return e+(n?" ":"")+qre(t)});const Qae=Yae;var Zae=1/0,Jae=Zd&&1/vT(new Zd([,-0]))[1]==Zae?function(e){return new Zd(e)}:gte;const ele=Jae;var tle=200;function nle(e,t,n){var r=-1,i=Rte,o=e.length,s=!0,a=[],l=a;if(n)s=!1,i=yae;else if(o>=tle){var u=t?null:ele(e);if(u)return vT(u);s=!1,i=TD,l=new ug}else l=t?[]:a;e:for(;++r{Tae(e,t.payload)}}}),{configChanged:ole}=zD.actions,sle=zD.reducer,tRe={"sd-1":"Stable Diffusion 1.x","sd-2":"Stable Diffusion 2.x",sdxl:"Stable Diffusion XL","sdxl-refiner":"Stable Diffusion XL Refiner"},nRe={"sd-1":"SD1","sd-2":"SD2",sdxl:"SDXL","sdxl-refiner":"SDXLR"},ale={"sd-1":{maxClip:12,markers:[0,1,2,3,4,8,12]},"sd-2":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},sdxl:{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]},"sdxl-refiner":{maxClip:24,markers:[0,1,2,3,5,10,15,20,24]}},rRe={lycoris:"LyCORIS",diffusers:"Diffusers"},iRe=0,lle=4294967295;var wt;(function(e){e.assertEqual=i=>i;function t(i){}e.assertIs=t;function n(i){throw new Error}e.assertNever=n,e.arrayToEnum=i=>{const o={};for(const s of i)o[s]=s;return o},e.getValidEnumValues=i=>{const o=e.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),s={};for(const a of o)s[a]=i[a];return e.objectValues(s)},e.objectValues=i=>e.objectKeys(i).map(function(o){return i[o]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const o=[];for(const s in i)Object.prototype.hasOwnProperty.call(i,s)&&o.push(s);return o},e.find=(i,o)=>{for(const s of i)if(o(s))return s},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&isFinite(i)&&Math.floor(i)===i;function r(i,o=" | "){return i.map(s=>typeof s=="string"?`'${s}'`:s).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(i,o)=>typeof o=="bigint"?o.toString():o})(wt||(wt={}));var C3;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(C3||(C3={}));const xe=wt.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ml=e=>{switch(typeof e){case"undefined":return xe.undefined;case"string":return xe.string;case"number":return isNaN(e)?xe.nan:xe.number;case"boolean":return xe.boolean;case"function":return xe.function;case"bigint":return xe.bigint;case"symbol":return xe.symbol;case"object":return Array.isArray(e)?xe.array:e===null?xe.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?xe.promise:typeof Map<"u"&&e instanceof Map?xe.map:typeof Set<"u"&&e instanceof Set?xe.set:typeof Date<"u"&&e instanceof Date?xe.date:xe.object;default:return xe.unknown}},me=wt.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),ule=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class Xo extends Error{constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}get errors(){return this.issues}format(t){const n=t||function(o){return o.message},r={_errors:[]},i=o=>{for(const s of o.issues)if(s.code==="invalid_union")s.unionErrors.map(i);else if(s.code==="invalid_return_type")i(s.returnTypeError);else if(s.code==="invalid_arguments")i(s.argumentsError);else if(s.path.length===0)r._errors.push(n(s));else{let a=r,l=0;for(;ln.message){const n={},r=[];for(const i of this.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}Xo.create=e=>new Xo(e);const cg=(e,t)=>{let n;switch(e.code){case me.invalid_type:e.received===xe.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case me.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,wt.jsonStringifyReplacer)}`;break;case me.unrecognized_keys:n=`Unrecognized key(s) in object: ${wt.joinValues(e.keys,", ")}`;break;case me.invalid_union:n="Invalid input";break;case me.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${wt.joinValues(e.options)}`;break;case me.invalid_enum_value:n=`Invalid enum value. Expected ${wt.joinValues(e.options)}, received '${e.received}'`;break;case me.invalid_arguments:n="Invalid function arguments";break;case me.invalid_return_type:n="Invalid function return type";break;case me.invalid_date:n="Invalid date";break;case me.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:wt.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case me.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case me.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case me.custom:n="Invalid input";break;case me.invalid_intersection_types:n="Intersection results could not be merged";break;case me.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case me.not_finite:n="Number must be finite";break;default:n=t.defaultError,wt.assertNever(e)}return{message:n}};let VD=cg;function cle(e){VD=e}function f1(){return VD}const h1=e=>{const{data:t,path:n,errorMaps:r,issueData:i}=e,o=[...n,...i.path||[]],s={...i,path:o};let a="";const l=r.filter(u=>!!u).slice().reverse();for(const u of l)a=u(s,{data:t,defaultError:a}).message;return{...i,path:o,message:i.message||a}},dle=[];function Te(e,t){const n=h1({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,f1(),cg].filter(r=>!!r)});e.common.issues.push(n)}class Wr{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){const r=[];for(const i of n){if(i.status==="aborted")return je;i.status==="dirty"&&t.dirty(),r.push(i.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){const r=[];for(const i of n)r.push({key:await i.key,value:await i.value});return Wr.mergeObjectSync(t,r)}static mergeObjectSync(t,n){const r={};for(const i of n){const{key:o,value:s}=i;if(o.status==="aborted"||s.status==="aborted")return je;o.status==="dirty"&&t.dirty(),s.status==="dirty"&&t.dirty(),(typeof s.value<"u"||i.alwaysSet)&&(r[o.value]=s.value)}return{status:t.value,value:r}}}const je=Object.freeze({status:"aborted"}),jD=e=>({status:"dirty",value:e}),ui=e=>({status:"valid",value:e}),T3=e=>e.status==="aborted",E3=e=>e.status==="dirty",p1=e=>e.status==="valid",g1=e=>typeof Promise<"u"&&e instanceof Promise;var Le;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(Le||(Le={}));class Ms{constructor(t,n,r,i){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=i}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const M9=(e,t)=>{if(p1(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new Xo(e.common.issues);return this._error=n,this._error}}};function Qe(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(s,a)=>s.code!=="invalid_type"?{message:a.defaultError}:typeof a.data>"u"?{message:r??a.defaultError}:{message:n??a.defaultError},description:i}}class tt{constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(t){return ml(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ml(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Wr,ctx:{common:t.parent.common,data:t.data,parsedType:ml(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(g1(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){const n=this._parse(t);return Promise.resolve(n)}parse(t,n){const r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){var r;const i={common:{issues:[],async:(r=n==null?void 0:n.async)!==null&&r!==void 0?r:!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ml(t)},o=this._parseSync({data:t,path:i.path,parent:i});return M9(i,o)}async parseAsync(t,n){const r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){const r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ml(t)},i=this._parse({data:t,path:r.path,parent:r}),o=await(g1(i)?i:Promise.resolve(i));return M9(r,o)}refine(t,n){const r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,o)=>{const s=t(i),a=()=>o.addIssue({code:me.custom,...r(i)});return typeof Promise<"u"&&s instanceof Promise?s.then(l=>l?!0:(a(),!1)):s?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(t){return new ts({schema:this,typeName:Ue.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}optional(){return _a.create(this,this._def)}nullable(){return ic.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Yo.create(this,this._def)}promise(){return xf.create(this,this._def)}or(t){return pg.create([this,t],this._def)}and(t){return gg.create(this,t,this._def)}transform(t){return new ts({...Qe(this._def),schema:this,typeName:Ue.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new bg({...Qe(this._def),innerType:this,defaultValue:n,typeName:Ue.ZodDefault})}brand(){return new HD({typeName:Ue.ZodBranded,type:this,...Qe(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new _1({...Qe(this._def),innerType:this,catchValue:n,typeName:Ue.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return hm.create(this,t)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const fle=/^c[^\s-]{8,}$/i,hle=/^[a-z][a-z0-9]*$/,ple=/[0-9A-HJKMNP-TV-Z]{26}/,gle=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,mle=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\])|(\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\.[A-Za-z]{2,})+))$/,yle=/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,vle=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,_le=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ble=e=>e.precision?e.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${e.precision}}Z$`):e.precision===0?e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function Sle(e,t){return!!((t==="v4"||!t)&&vle.test(e)||(t==="v6"||!t)&&_le.test(e))}class Ho extends tt{constructor(){super(...arguments),this._regex=(t,n,r)=>this.refinement(i=>t.test(i),{validation:n,code:me.invalid_string,...Le.errToObj(r)}),this.nonempty=t=>this.min(1,Le.errToObj(t)),this.trim=()=>new Ho({...this._def,checks:[...this._def.checks,{kind:"trim"}]}),this.toLowerCase=()=>new Ho({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]}),this.toUpperCase=()=>new Ho({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==xe.string){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.string,received:o.parsedType}),je}const r=new Wr;let i;for(const o of this._def.checks)if(o.kind==="min")t.data.lengtho.value&&(i=this._getOrReturnCtx(t,i),Te(i,{code:me.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){const s=t.data.length>o.value,a=t.data.length"u"?null:t==null?void 0:t.precision,offset:(n=t==null?void 0:t.offset)!==null&&n!==void 0?n:!1,...Le.errToObj(t==null?void 0:t.message)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...Le.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...Le.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...Le.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...Le.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...Le.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...Le.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...Le.errToObj(n)})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get minLength(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new Ho({checks:[],typeName:Ue.ZodString,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...Qe(e)})};function wle(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r,o=parseInt(e.toFixed(i).replace(".","")),s=parseInt(t.toFixed(i).replace(".",""));return o%s/Math.pow(10,i)}class zl extends tt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==xe.number){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.number,received:o.parsedType}),je}let r;const i=new Wr;for(const o of this._def.checks)o.kind==="int"?wt.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),Te(r,{code:me.invalid_type,expected:"integer",received:"float",message:o.message}),i.dirty()):o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="multipleOf"?wle(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),Te(r,{code:me.not_finite,message:o.message}),i.dirty()):wt.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,Le.toString(n))}gt(t,n){return this.setLimit("min",t,!1,Le.toString(n))}lte(t,n){return this.setLimit("max",t,!0,Le.toString(n))}lt(t,n){return this.setLimit("max",t,!1,Le.toString(n))}setLimit(t,n,r,i){return new zl({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:Le.toString(i)}]})}_addCheck(t){return new zl({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:Le.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Le.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Le.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Le.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Le.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:Le.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:Le.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Le.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Le.toString(t)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuet.kind==="int"||t.kind==="multipleOf"&&wt.isInteger(t.value))}get isFinite(){let t=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.valuenew zl({checks:[],typeName:Ue.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...Qe(e)});class Vl extends tt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce&&(t.data=BigInt(t.data)),this._getType(t)!==xe.bigint){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.bigint,received:o.parsedType}),je}let r;const i=new Wr;for(const o of this._def.checks)o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),Te(r,{code:me.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):wt.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,Le.toString(n))}gt(t,n){return this.setLimit("min",t,!1,Le.toString(n))}lte(t,n){return this.setLimit("max",t,!0,Le.toString(n))}lt(t,n){return this.setLimit("max",t,!1,Le.toString(n))}setLimit(t,n,r,i){return new Vl({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:Le.toString(i)}]})}_addCheck(t){return new Vl({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Le.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Le.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Le.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Le.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:Le.toString(n)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new Vl({checks:[],typeName:Ue.ZodBigInt,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...Qe(e)})};class dg extends tt{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==xe.boolean){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.boolean,received:r.parsedType}),je}return ui(t.data)}}dg.create=e=>new dg({typeName:Ue.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...Qe(e)});class nc extends tt{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==xe.date){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_type,expected:xe.date,received:o.parsedType}),je}if(isNaN(t.data.getTime())){const o=this._getOrReturnCtx(t);return Te(o,{code:me.invalid_date}),je}const r=new Wr;let i;for(const o of this._def.checks)o.kind==="min"?t.data.getTime()o.value&&(i=this._getOrReturnCtx(t,i),Te(i,{code:me.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):wt.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new nc({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:Le.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:Le.toString(n)})}get minDate(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuenew nc({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:Ue.ZodDate,...Qe(e)});class m1 extends tt{_parse(t){if(this._getType(t)!==xe.symbol){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.symbol,received:r.parsedType}),je}return ui(t.data)}}m1.create=e=>new m1({typeName:Ue.ZodSymbol,...Qe(e)});class fg extends tt{_parse(t){if(this._getType(t)!==xe.undefined){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.undefined,received:r.parsedType}),je}return ui(t.data)}}fg.create=e=>new fg({typeName:Ue.ZodUndefined,...Qe(e)});class hg extends tt{_parse(t){if(this._getType(t)!==xe.null){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.null,received:r.parsedType}),je}return ui(t.data)}}hg.create=e=>new hg({typeName:Ue.ZodNull,...Qe(e)});class wf extends tt{constructor(){super(...arguments),this._any=!0}_parse(t){return ui(t.data)}}wf.create=e=>new wf({typeName:Ue.ZodAny,...Qe(e)});class Gu extends tt{constructor(){super(...arguments),this._unknown=!0}_parse(t){return ui(t.data)}}Gu.create=e=>new Gu({typeName:Ue.ZodUnknown,...Qe(e)});class Oa extends tt{_parse(t){const n=this._getOrReturnCtx(t);return Te(n,{code:me.invalid_type,expected:xe.never,received:n.parsedType}),je}}Oa.create=e=>new Oa({typeName:Ue.ZodNever,...Qe(e)});class y1 extends tt{_parse(t){if(this._getType(t)!==xe.undefined){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.void,received:r.parsedType}),je}return ui(t.data)}}y1.create=e=>new y1({typeName:Ue.ZodVoid,...Qe(e)});class Yo extends tt{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==xe.array)return Te(n,{code:me.invalid_type,expected:xe.array,received:n.parsedType}),je;if(i.exactLength!==null){const s=n.data.length>i.exactLength.value,a=n.data.lengthi.maxLength.value&&(Te(n,{code:me.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((s,a)=>i.type._parseAsync(new Ms(n,s,n.path,a)))).then(s=>Wr.mergeArray(r,s));const o=[...n.data].map((s,a)=>i.type._parseSync(new Ms(n,s,n.path,a)));return Wr.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new Yo({...this._def,minLength:{value:t,message:Le.toString(n)}})}max(t,n){return new Yo({...this._def,maxLength:{value:t,message:Le.toString(n)}})}length(t,n){return new Yo({...this._def,exactLength:{value:t,message:Le.toString(n)}})}nonempty(t){return this.min(1,t)}}Yo.create=(e,t)=>new Yo({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Ue.ZodArray,...Qe(t)});function yd(e){if(e instanceof gn){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=_a.create(yd(r))}return new gn({...e._def,shape:()=>t})}else return e instanceof Yo?new Yo({...e._def,type:yd(e.element)}):e instanceof _a?_a.create(yd(e.unwrap())):e instanceof ic?ic.create(yd(e.unwrap())):e instanceof Ns?Ns.create(e.items.map(t=>yd(t))):e}class gn extends tt{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),n=wt.objectKeys(t);return this._cached={shape:t,keys:n}}_parse(t){if(this._getType(t)!==xe.object){const u=this._getOrReturnCtx(t);return Te(u,{code:me.invalid_type,expected:xe.object,received:u.parsedType}),je}const{status:r,ctx:i}=this._processInputParams(t),{shape:o,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof Oa&&this._def.unknownKeys==="strip"))for(const u in i.data)s.includes(u)||a.push(u);const l=[];for(const u of s){const d=o[u],f=i.data[u];l.push({key:{status:"valid",value:u},value:d._parse(new Ms(i,f,i.path,u)),alwaysSet:u in i.data})}if(this._def.catchall instanceof Oa){const u=this._def.unknownKeys;if(u==="passthrough")for(const d of a)l.push({key:{status:"valid",value:d},value:{status:"valid",value:i.data[d]}});else if(u==="strict")a.length>0&&(Te(i,{code:me.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const u=this._def.catchall;for(const d of a){const f=i.data[d];l.push({key:{status:"valid",value:d},value:u._parse(new Ms(i,f,i.path,d)),alwaysSet:d in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const u=[];for(const d of l){const f=await d.key;u.push({key:f,value:await d.value,alwaysSet:d.alwaysSet})}return u}).then(u=>Wr.mergeObjectSync(r,u)):Wr.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return Le.errToObj,new gn({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{var i,o,s,a;const l=(s=(o=(i=this._def).errorMap)===null||o===void 0?void 0:o.call(i,n,r).message)!==null&&s!==void 0?s:r.defaultError;return n.code==="unrecognized_keys"?{message:(a=Le.errToObj(t).message)!==null&&a!==void 0?a:l}:{message:l}}}:{}})}strip(){return new gn({...this._def,unknownKeys:"strip"})}passthrough(){return new gn({...this._def,unknownKeys:"passthrough"})}extend(t){return new gn({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new gn({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Ue.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new gn({...this._def,catchall:t})}pick(t){const n={};return wt.objectKeys(t).forEach(r=>{t[r]&&this.shape[r]&&(n[r]=this.shape[r])}),new gn({...this._def,shape:()=>n})}omit(t){const n={};return wt.objectKeys(this.shape).forEach(r=>{t[r]||(n[r]=this.shape[r])}),new gn({...this._def,shape:()=>n})}deepPartial(){return yd(this)}partial(t){const n={};return wt.objectKeys(this.shape).forEach(r=>{const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}),new gn({...this._def,shape:()=>n})}required(t){const n={};return wt.objectKeys(this.shape).forEach(r=>{if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof _a;)o=o._def.innerType;n[r]=o}}),new gn({...this._def,shape:()=>n})}keyof(){return GD(wt.objectKeys(this.shape))}}gn.create=(e,t)=>new gn({shape:()=>e,unknownKeys:"strip",catchall:Oa.create(),typeName:Ue.ZodObject,...Qe(t)});gn.strictCreate=(e,t)=>new gn({shape:()=>e,unknownKeys:"strict",catchall:Oa.create(),typeName:Ue.ZodObject,...Qe(t)});gn.lazycreate=(e,t)=>new gn({shape:e,unknownKeys:"strip",catchall:Oa.create(),typeName:Ue.ZodObject,...Qe(t)});class pg extends tt{_parse(t){const{ctx:n}=this._processInputParams(t),r=this._def.options;function i(o){for(const a of o)if(a.result.status==="valid")return a.result;for(const a of o)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;const s=o.map(a=>new Xo(a.ctx.common.issues));return Te(n,{code:me.invalid_union,unionErrors:s}),je}if(n.common.async)return Promise.all(r.map(async o=>{const s={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:s}),ctx:s}})).then(i);{let o;const s=[];for(const l of r){const u={...n,common:{...n.common,issues:[]},parent:null},d=l._parseSync({data:n.data,path:n.path,parent:u});if(d.status==="valid")return d;d.status==="dirty"&&!o&&(o={result:d,ctx:u}),u.common.issues.length&&s.push(u.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;const a=s.map(l=>new Xo(l));return Te(n,{code:me.invalid_union,unionErrors:a}),je}}get options(){return this._def.options}}pg.create=(e,t)=>new pg({options:e,typeName:Ue.ZodUnion,...Qe(t)});const cv=e=>e instanceof yg?cv(e.schema):e instanceof ts?cv(e.innerType()):e instanceof vg?[e.value]:e instanceof jl?e.options:e instanceof _g?Object.keys(e.enum):e instanceof bg?cv(e._def.innerType):e instanceof fg?[void 0]:e instanceof hg?[null]:null;class ib extends tt{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==xe.object)return Te(n,{code:me.invalid_type,expected:xe.object,received:n.parsedType}),je;const r=this.discriminator,i=n.data[r],o=this.optionsMap.get(i);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(Te(n,{code:me.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),je)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){const i=new Map;for(const o of n){const s=cv(o.shape[t]);if(!s)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(const a of s){if(i.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);i.set(a,o)}}return new ib({typeName:Ue.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...Qe(r)})}}function A3(e,t){const n=ml(e),r=ml(t);if(e===t)return{valid:!0,data:e};if(n===xe.object&&r===xe.object){const i=wt.objectKeys(t),o=wt.objectKeys(e).filter(a=>i.indexOf(a)!==-1),s={...e,...t};for(const a of o){const l=A3(e[a],t[a]);if(!l.valid)return{valid:!1};s[a]=l.data}return{valid:!0,data:s}}else if(n===xe.array&&r===xe.array){if(e.length!==t.length)return{valid:!1};const i=[];for(let o=0;o{if(T3(o)||T3(s))return je;const a=A3(o.value,s.value);return a.valid?((E3(o)||E3(s))&&n.dirty(),{status:n.value,value:a.data}):(Te(r,{code:me.invalid_intersection_types}),je)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,s])=>i(o,s)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}gg.create=(e,t,n)=>new gg({left:e,right:t,typeName:Ue.ZodIntersection,...Qe(n)});class Ns extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.array)return Te(r,{code:me.invalid_type,expected:xe.array,received:r.parsedType}),je;if(r.data.lengththis._def.items.length&&(Te(r,{code:me.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const o=[...r.data].map((s,a)=>{const l=this._def.items[a]||this._def.rest;return l?l._parse(new Ms(r,s,r.path,a)):null}).filter(s=>!!s);return r.common.async?Promise.all(o).then(s=>Wr.mergeArray(n,s)):Wr.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new Ns({...this._def,rest:t})}}Ns.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ns({items:e,typeName:Ue.ZodTuple,rest:null,...Qe(t)})};class mg extends tt{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.object)return Te(r,{code:me.invalid_type,expected:xe.object,received:r.parsedType}),je;const i=[],o=this._def.keyType,s=this._def.valueType;for(const a in r.data)i.push({key:o._parse(new Ms(r,a,r.path,a)),value:s._parse(new Ms(r,r.data[a],r.path,a))});return r.common.async?Wr.mergeObjectAsync(n,i):Wr.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof tt?new mg({keyType:t,valueType:n,typeName:Ue.ZodRecord,...Qe(r)}):new mg({keyType:Ho.create(),valueType:t,typeName:Ue.ZodRecord,...Qe(n)})}}class v1 extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.map)return Te(r,{code:me.invalid_type,expected:xe.map,received:r.parsedType}),je;const i=this._def.keyType,o=this._def.valueType,s=[...r.data.entries()].map(([a,l],u)=>({key:i._parse(new Ms(r,a,r.path,[u,"key"])),value:o._parse(new Ms(r,l,r.path,[u,"value"]))}));if(r.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const l of s){const u=await l.key,d=await l.value;if(u.status==="aborted"||d.status==="aborted")return je;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}})}else{const a=new Map;for(const l of s){const u=l.key,d=l.value;if(u.status==="aborted"||d.status==="aborted")return je;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}}}}v1.create=(e,t,n)=>new v1({valueType:t,keyType:e,typeName:Ue.ZodMap,...Qe(n)});class rc extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==xe.set)return Te(r,{code:me.invalid_type,expected:xe.set,received:r.parsedType}),je;const i=this._def;i.minSize!==null&&r.data.sizei.maxSize.value&&(Te(r,{code:me.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());const o=this._def.valueType;function s(l){const u=new Set;for(const d of l){if(d.status==="aborted")return je;d.status==="dirty"&&n.dirty(),u.add(d.value)}return{status:n.value,value:u}}const a=[...r.data.values()].map((l,u)=>o._parse(new Ms(r,l,r.path,u)));return r.common.async?Promise.all(a).then(l=>s(l)):s(a)}min(t,n){return new rc({...this._def,minSize:{value:t,message:Le.toString(n)}})}max(t,n){return new rc({...this._def,maxSize:{value:t,message:Le.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}rc.create=(e,t)=>new rc({valueType:e,minSize:null,maxSize:null,typeName:Ue.ZodSet,...Qe(t)});class Jd extends tt{constructor(){super(...arguments),this.validate=this.implement}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==xe.function)return Te(n,{code:me.invalid_type,expected:xe.function,received:n.parsedType}),je;function r(a,l){return h1({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,f1(),cg].filter(u=>!!u),issueData:{code:me.invalid_arguments,argumentsError:l}})}function i(a,l){return h1({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,f1(),cg].filter(u=>!!u),issueData:{code:me.invalid_return_type,returnTypeError:l}})}const o={errorMap:n.common.contextualErrorMap},s=n.data;return this._def.returns instanceof xf?ui(async(...a)=>{const l=new Xo([]),u=await this._def.args.parseAsync(a,o).catch(p=>{throw l.addIssue(r(a,p)),l}),d=await s(...u);return await this._def.returns._def.type.parseAsync(d,o).catch(p=>{throw l.addIssue(i(d,p)),l})}):ui((...a)=>{const l=this._def.args.safeParse(a,o);if(!l.success)throw new Xo([r(a,l.error)]);const u=s(...l.data),d=this._def.returns.safeParse(u,o);if(!d.success)throw new Xo([i(u,d.error)]);return d.data})}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new Jd({...this._def,args:Ns.create(t).rest(Gu.create())})}returns(t){return new Jd({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new Jd({args:t||Ns.create([]).rest(Gu.create()),returns:n||Gu.create(),typeName:Ue.ZodFunction,...Qe(r)})}}class yg extends tt{get schema(){return this._def.getter()}_parse(t){const{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}yg.create=(e,t)=>new yg({getter:e,typeName:Ue.ZodLazy,...Qe(t)});class vg extends tt{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return Te(n,{received:n.data,code:me.invalid_literal,expected:this._def.value}),je}return{status:"valid",value:t.data}}get value(){return this._def.value}}vg.create=(e,t)=>new vg({value:e,typeName:Ue.ZodLiteral,...Qe(t)});function GD(e,t){return new jl({values:e,typeName:Ue.ZodEnum,...Qe(t)})}class jl extends tt{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return Te(n,{expected:wt.joinValues(r),received:n.parsedType,code:me.invalid_type}),je}if(this._def.values.indexOf(t.data)===-1){const n=this._getOrReturnCtx(t),r=this._def.values;return Te(n,{received:n.data,code:me.invalid_enum_value,options:r}),je}return ui(t.data)}get options(){return this._def.values}get enum(){const t={};for(const n of this._def.values)t[n]=n;return t}get Values(){const t={};for(const n of this._def.values)t[n]=n;return t}get Enum(){const t={};for(const n of this._def.values)t[n]=n;return t}extract(t){return jl.create(t)}exclude(t){return jl.create(this.options.filter(n=>!t.includes(n)))}}jl.create=GD;class _g extends tt{_parse(t){const n=wt.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==xe.string&&r.parsedType!==xe.number){const i=wt.objectValues(n);return Te(r,{expected:wt.joinValues(i),received:r.parsedType,code:me.invalid_type}),je}if(n.indexOf(t.data)===-1){const i=wt.objectValues(n);return Te(r,{received:r.data,code:me.invalid_enum_value,options:i}),je}return ui(t.data)}get enum(){return this._def.values}}_g.create=(e,t)=>new _g({values:e,typeName:Ue.ZodNativeEnum,...Qe(t)});class xf extends tt{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==xe.promise&&n.common.async===!1)return Te(n,{code:me.invalid_type,expected:xe.promise,received:n.parsedType}),je;const r=n.parsedType===xe.promise?n.data:Promise.resolve(n.data);return ui(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}xf.create=(e,t)=>new xf({type:e,typeName:Ue.ZodPromise,...Qe(t)});class ts extends tt{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Ue.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=this._def.effect||null;if(i.type==="preprocess"){const s=i.transform(r.data);return r.common.async?Promise.resolve(s).then(a=>this._def.schema._parseAsync({data:a,path:r.path,parent:r})):this._def.schema._parseSync({data:s,path:r.path,parent:r})}const o={addIssue:s=>{Te(r,s),s.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),i.type==="refinement"){const s=a=>{const l=i.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?je:(a.status==="dirty"&&n.dirty(),s(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?je:(a.status==="dirty"&&n.dirty(),s(a.value).then(()=>({status:n.value,value:a.value}))))}if(i.type==="transform")if(r.common.async===!1){const s=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!p1(s))return s;const a=i.transform(s.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(s=>p1(s)?Promise.resolve(i.transform(s.value,o)).then(a=>({status:n.value,value:a})):s);wt.assertNever(i)}}ts.create=(e,t,n)=>new ts({schema:e,typeName:Ue.ZodEffects,effect:t,...Qe(n)});ts.createWithPreprocess=(e,t,n)=>new ts({schema:t,effect:{type:"preprocess",transform:e},typeName:Ue.ZodEffects,...Qe(n)});class _a extends tt{_parse(t){return this._getType(t)===xe.undefined?ui(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}_a.create=(e,t)=>new _a({innerType:e,typeName:Ue.ZodOptional,...Qe(t)});class ic extends tt{_parse(t){return this._getType(t)===xe.null?ui(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}ic.create=(e,t)=>new ic({innerType:e,typeName:Ue.ZodNullable,...Qe(t)});class bg extends tt{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===xe.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}bg.create=(e,t)=>new bg({innerType:e,typeName:Ue.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Qe(t)});class _1 extends tt{_parse(t){const{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return g1(i)?i.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Xo(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Xo(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}_1.create=(e,t)=>new _1({innerType:e,typeName:Ue.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Qe(t)});class b1 extends tt{_parse(t){if(this._getType(t)!==xe.nan){const r=this._getOrReturnCtx(t);return Te(r,{code:me.invalid_type,expected:xe.nan,received:r.parsedType}),je}return{status:"valid",value:t.data}}}b1.create=e=>new b1({typeName:Ue.ZodNaN,...Qe(e)});const xle=Symbol("zod_brand");class HD extends tt{_parse(t){const{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class hm extends tt{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{const o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?je:o.status==="dirty"?(n.dirty(),jD(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{const i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?je:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(t,n){return new hm({in:t,out:n,typeName:Ue.ZodPipeline})}}const WD=(e,t={},n)=>e?wf.create().superRefine((r,i)=>{var o,s;if(!e(r)){const a=typeof t=="function"?t(r):typeof t=="string"?{message:t}:t,l=(s=(o=a.fatal)!==null&&o!==void 0?o:n)!==null&&s!==void 0?s:!0,u=typeof a=="string"?{message:a}:a;i.addIssue({code:"custom",...u,fatal:l})}}):wf.create(),Cle={object:gn.lazycreate};var Ue;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline"})(Ue||(Ue={}));const Tle=(e,t={message:`Input not instance of ${e.name}`})=>WD(n=>n instanceof e,t),qD=Ho.create,KD=zl.create,Ele=b1.create,Ale=Vl.create,XD=dg.create,Ple=nc.create,Rle=m1.create,Ole=fg.create,kle=hg.create,Ile=wf.create,Mle=Gu.create,Nle=Oa.create,Lle=y1.create,Dle=Yo.create,$le=gn.create,Fle=gn.strictCreate,Ble=pg.create,Ule=ib.create,zle=gg.create,Vle=Ns.create,jle=mg.create,Gle=v1.create,Hle=rc.create,Wle=Jd.create,qle=yg.create,Kle=vg.create,Xle=jl.create,Yle=_g.create,Qle=xf.create,N9=ts.create,Zle=_a.create,Jle=ic.create,eue=ts.createWithPreprocess,tue=hm.create,nue=()=>qD().optional(),rue=()=>KD().optional(),iue=()=>XD().optional(),oue={string:e=>Ho.create({...e,coerce:!0}),number:e=>zl.create({...e,coerce:!0}),boolean:e=>dg.create({...e,coerce:!0}),bigint:e=>Vl.create({...e,coerce:!0}),date:e=>nc.create({...e,coerce:!0})},sue=je;var xt=Object.freeze({__proto__:null,defaultErrorMap:cg,setErrorMap:cle,getErrorMap:f1,makeIssue:h1,EMPTY_PATH:dle,addIssueToContext:Te,ParseStatus:Wr,INVALID:je,DIRTY:jD,OK:ui,isAborted:T3,isDirty:E3,isValid:p1,isAsync:g1,get util(){return wt},get objectUtil(){return C3},ZodParsedType:xe,getParsedType:ml,ZodType:tt,ZodString:Ho,ZodNumber:zl,ZodBigInt:Vl,ZodBoolean:dg,ZodDate:nc,ZodSymbol:m1,ZodUndefined:fg,ZodNull:hg,ZodAny:wf,ZodUnknown:Gu,ZodNever:Oa,ZodVoid:y1,ZodArray:Yo,ZodObject:gn,ZodUnion:pg,ZodDiscriminatedUnion:ib,ZodIntersection:gg,ZodTuple:Ns,ZodRecord:mg,ZodMap:v1,ZodSet:rc,ZodFunction:Jd,ZodLazy:yg,ZodLiteral:vg,ZodEnum:jl,ZodNativeEnum:_g,ZodPromise:xf,ZodEffects:ts,ZodTransformer:ts,ZodOptional:_a,ZodNullable:ic,ZodDefault:bg,ZodCatch:_1,ZodNaN:b1,BRAND:xle,ZodBranded:HD,ZodPipeline:hm,custom:WD,Schema:tt,ZodSchema:tt,late:Cle,get ZodFirstPartyTypeKind(){return Ue},coerce:oue,any:Ile,array:Dle,bigint:Ale,boolean:XD,date:Ple,discriminatedUnion:Ule,effect:N9,enum:Xle,function:Wle,instanceof:Tle,intersection:zle,lazy:qle,literal:Kle,map:Gle,nan:Ele,nativeEnum:Yle,never:Nle,null:kle,nullable:Jle,number:KD,object:$le,oboolean:iue,onumber:rue,optional:Zle,ostring:nue,pipeline:tue,preprocess:eue,promise:Qle,record:jle,set:Hle,strictObject:Fle,string:qD,symbol:Rle,transformer:N9,tuple:Vle,undefined:Ole,union:Ble,unknown:Mle,void:Lle,NEVER:sue,ZodIssueCode:me,quotelessJson:ule,ZodError:Xo});const aue=xt.string(),oRe=e=>aue.safeParse(e).success,lue=xt.string(),sRe=e=>lue.safeParse(e).success,uue=xt.string(),aRe=e=>uue.safeParse(e).success,cue=xt.string(),lRe=e=>cue.safeParse(e).success,due=xt.number().int().min(1),uRe=e=>due.safeParse(e).success,fue=xt.number().min(1),cRe=e=>fue.safeParse(e).success,hue=xt.enum(["euler","deis","ddim","ddpm","dpmpp_2s","dpmpp_2m","dpmpp_2m_sde","dpmpp_sde","heun","kdpm_2","lms","pndm","unipc","euler_k","dpmpp_2s_k","dpmpp_2m_k","dpmpp_2m_sde_k","dpmpp_sde_k","heun_k","lms_k","euler_a","kdpm_2_a"]),dRe=e=>hue.safeParse(e).success,fRe={euler:"Euler",deis:"DEIS",ddim:"DDIM",ddpm:"DDPM",dpmpp_sde:"DPM++ SDE",dpmpp_2s:"DPM++ 2S",dpmpp_2m:"DPM++ 2M",dpmpp_2m_sde:"DPM++ 2M SDE",heun:"Heun",kdpm_2:"KDPM 2",lms:"LMS",pndm:"PNDM",unipc:"UniPC",euler_k:"Euler Karras",dpmpp_sde_k:"DPM++ SDE Karras",dpmpp_2s_k:"DPM++ 2S Karras",dpmpp_2m_k:"DPM++ 2M Karras",dpmpp_2m_sde_k:"DPM++ 2M SDE Karras",heun_k:"Heun Karras",lms_k:"LMS Karras",euler_a:"Euler Ancestral",kdpm_2_a:"KDPM 2 Ancestral"},pue=xt.number().int().min(0).max(lle),hRe=e=>pue.safeParse(e).success,gue=xt.number().multipleOf(8).min(64),pRe=e=>gue.safeParse(e).success,mue=xt.number().multipleOf(8).min(64),gRe=e=>mue.safeParse(e).success,pm=xt.enum(["sd-1","sd-2","sdxl","sdxl-refiner"]),ST=xt.object({model_name:xt.string().min(1),base_model:pm,model_type:xt.literal("main")}),mRe=e=>ST.safeParse(e).success,YD=xt.object({model_name:xt.string().min(1),base_model:xt.literal("sdxl-refiner"),model_type:xt.literal("main")}),yRe=e=>YD.safeParse(e).success,yue=xt.object({model_name:xt.string().min(1),base_model:pm,model_type:xt.literal("onnx")}),QD=xt.union([ST,yue]),vue=xt.object({model_name:xt.string().min(1),base_model:pm}),vRe=xt.object({model_name:xt.string().min(1),base_model:pm}),_Re=xt.object({model_name:xt.string().min(1),base_model:pm}),_ue=xt.number().min(0).max(1),bRe=e=>_ue.safeParse(e).success;xt.enum(["fp16","fp32"]);const bue=xt.number().min(1).max(10),SRe=e=>bue.safeParse(e).success,Sue=xt.number().min(0).max(1),wRe=e=>Sue.safeParse(e).success,Da={cfgScale:7.5,height:512,img2imgStrength:.75,infillMethod:"patchmatch",iterations:1,perlin:0,positivePrompt:"",negativePrompt:"",scheduler:"euler",seamBlur:16,seamSize:96,seamSteps:30,seamStrength:.7,seed:0,seedWeights:"",shouldFitToWidthHeight:!0,shouldGenerateVariations:!1,shouldRandomizeSeed:!0,shouldUseNoiseSettings:!1,steps:50,threshold:0,tileSize:32,variationAmount:.1,width:512,shouldUseSymmetry:!1,horizontalSymmetrySteps:0,verticalSymmetrySteps:0,model:null,vae:null,vaePrecision:"fp32",seamlessXAxis:!1,seamlessYAxis:!1,clipSkip:0,shouldUseCpuNoise:!0,shouldShowAdvancedOptions:!1,aspectRatio:null},wue=Da,ZD=yn({name:"generation",initialState:wue,reducers:{setPositivePrompt:(e,t)=>{e.positivePrompt=t.payload},setNegativePrompt:(e,t)=>{e.negativePrompt=t.payload},setIterations:(e,t)=>{e.iterations=t.payload},setSteps:(e,t)=>{e.steps=t.payload},clampSymmetrySteps:e=>{e.horizontalSymmetrySteps=bl(e.horizontalSymmetrySteps,0,e.steps),e.verticalSymmetrySteps=bl(e.verticalSymmetrySteps,0,e.steps)},setCfgScale:(e,t)=>{e.cfgScale=t.payload},setThreshold:(e,t)=>{e.threshold=t.payload},setPerlin:(e,t)=>{e.perlin=t.payload},setHeight:(e,t)=>{e.height=t.payload},setWidth:(e,t)=>{e.width=t.payload},toggleSize:e=>{const[t,n]=[e.width,e.height];e.width=n,e.height=t},setScheduler:(e,t)=>{e.scheduler=t.payload},setSeed:(e,t)=>{e.seed=t.payload,e.shouldRandomizeSeed=!1},setImg2imgStrength:(e,t)=>{e.img2imgStrength=t.payload},setSeamlessXAxis:(e,t)=>{e.seamlessXAxis=t.payload},setSeamlessYAxis:(e,t)=>{e.seamlessYAxis=t.payload},setShouldFitToWidthHeight:(e,t)=>{e.shouldFitToWidthHeight=t.payload},resetSeed:e=>{e.seed=-1},setShouldGenerateVariations:(e,t)=>{e.shouldGenerateVariations=t.payload},setVariationAmount:(e,t)=>{e.variationAmount=t.payload},setSeedWeights:(e,t)=>{e.seedWeights=t.payload,e.shouldGenerateVariations=!0,e.variationAmount=0},resetParametersState:e=>({...e,...Da}),setShouldRandomizeSeed:(e,t)=>{e.shouldRandomizeSeed=t.payload},clearInitialImage:e=>{e.initialImage=void 0},setSeamSize:(e,t)=>{e.seamSize=t.payload},setSeamBlur:(e,t)=>{e.seamBlur=t.payload},setSeamStrength:(e,t)=>{e.seamStrength=t.payload},setSeamSteps:(e,t)=>{e.seamSteps=t.payload},setTileSize:(e,t)=>{e.tileSize=t.payload},setInfillMethod:(e,t)=>{e.infillMethod=t.payload},setShouldUseSymmetry:(e,t)=>{e.shouldUseSymmetry=t.payload},setHorizontalSymmetrySteps:(e,t)=>{e.horizontalSymmetrySteps=t.payload},setVerticalSymmetrySteps:(e,t)=>{e.verticalSymmetrySteps=t.payload},setShouldUseNoiseSettings:(e,t)=>{e.shouldUseNoiseSettings=t.payload},initialImageChanged:(e,t)=>{const{image_name:n,width:r,height:i}=t.payload;e.initialImage={imageName:n,width:r,height:i}},modelChanged:(e,t)=>{if(e.model=t.payload,e.model===null)return;const{maxClip:n}=ale[e.model.base_model];e.clipSkip=bl(e.clipSkip,0,n)},vaeSelected:(e,t)=>{e.vae=t.payload},vaePrecisionChanged:(e,t)=>{e.vaePrecision=t.payload},setClipSkip:(e,t)=>{e.clipSkip=t.payload},shouldUseCpuNoiseChanged:(e,t)=>{e.shouldUseCpuNoise=t.payload},setShouldShowAdvancedOptions:(e,t)=>{e.shouldShowAdvancedOptions=t.payload,t.payload||(e.clipSkip=0)},setAspectRatio:(e,t)=>{const n=t.payload;e.aspectRatio=n,n&&(e.height=Ss(e.width/n,8))}},extraReducers:e=>{e.addCase(ole,(t,n)=>{var i;const r=(i=n.payload.sd)==null?void 0:i.defaultModel;if(r&&!t.model){const[o,s,a]=r.split("/"),l=ST.safeParse({model_name:a,base_model:o,model_type:s});l.success&&(t.model=l.data)}}),e.addCase(Cue,(t,n)=>{n.payload||(t.clipSkip=0)})}}),{clampSymmetrySteps:xRe,clearInitialImage:wT,resetParametersState:CRe,resetSeed:TRe,setCfgScale:ERe,setWidth:ARe,setHeight:PRe,toggleSize:RRe,setImg2imgStrength:ORe,setInfillMethod:xue,setIterations:kRe,setPerlin:IRe,setPositivePrompt:MRe,setNegativePrompt:NRe,setScheduler:LRe,setSeamBlur:DRe,setSeamSize:$Re,setSeamSteps:FRe,setSeamStrength:BRe,setSeed:URe,setSeedWeights:zRe,setShouldFitToWidthHeight:VRe,setShouldGenerateVariations:jRe,setShouldRandomizeSeed:GRe,setSteps:HRe,setThreshold:WRe,setTileSize:qRe,setVariationAmount:KRe,setShouldUseSymmetry:XRe,setHorizontalSymmetrySteps:YRe,setVerticalSymmetrySteps:QRe,initialImageChanged:ob,modelChanged:Sl,vaeSelected:JD,setShouldUseNoiseSettings:ZRe,setSeamlessXAxis:JRe,setSeamlessYAxis:eOe,setClipSkip:tOe,shouldUseCpuNoiseChanged:nOe,setShouldShowAdvancedOptions:Cue,setAspectRatio:Tue,vaePrecisionChanged:rOe}=ZD.actions,Eue=ZD.reducer,e$=["txt2img","img2img","unifiedCanvas","nodes","modelManager","batch"],L9=(e,t)=>{typeof t=="number"?e.activeTab=t:e.activeTab=e$.indexOf(t)},t$={activeTab:0,shouldPinParametersPanel:!0,shouldShowParametersPanel:!0,shouldShowImageDetails:!1,shouldUseCanvasBetaLayout:!1,shouldShowExistingModelsInSearch:!1,shouldUseSliders:!1,shouldPinGallery:!0,shouldShowGallery:!0,shouldHidePreview:!1,shouldShowProgressInViewer:!0,shouldShowEmbeddingPicker:!1,favoriteSchedulers:[]},n$=yn({name:"ui",initialState:t$,reducers:{setActiveTab:(e,t)=>{L9(e,t.payload)},setShouldPinParametersPanel:(e,t)=>{e.shouldPinParametersPanel=t.payload,e.shouldShowParametersPanel=!0},setShouldShowParametersPanel:(e,t)=>{e.shouldShowParametersPanel=t.payload},setShouldShowImageDetails:(e,t)=>{e.shouldShowImageDetails=t.payload},setShouldUseCanvasBetaLayout:(e,t)=>{e.shouldUseCanvasBetaLayout=t.payload},setShouldHidePreview:(e,t)=>{e.shouldHidePreview=t.payload},setShouldShowExistingModelsInSearch:(e,t)=>{e.shouldShowExistingModelsInSearch=t.payload},setShouldUseSliders:(e,t)=>{e.shouldUseSliders=t.payload},setShouldShowGallery:(e,t)=>{e.shouldShowGallery=t.payload},togglePinGalleryPanel:e=>{e.shouldPinGallery=!e.shouldPinGallery,e.shouldPinGallery||(e.shouldShowGallery=!0)},togglePinParametersPanel:e=>{e.shouldPinParametersPanel=!e.shouldPinParametersPanel,e.shouldPinParametersPanel||(e.shouldShowParametersPanel=!0)},toggleParametersPanel:e=>{e.shouldShowParametersPanel=!e.shouldShowParametersPanel},toggleGalleryPanel:e=>{e.shouldShowGallery=!e.shouldShowGallery},togglePanels:e=>{e.shouldShowGallery||e.shouldShowParametersPanel?(e.shouldShowGallery=!1,e.shouldShowParametersPanel=!1):(e.shouldShowGallery=!0,e.shouldShowParametersPanel=!0)},setShouldShowProgressInViewer:(e,t)=>{e.shouldShowProgressInViewer=t.payload},favoriteSchedulersChanged:(e,t)=>{e.favoriteSchedulers=t.payload},toggleEmbeddingPicker:e=>{e.shouldShowEmbeddingPicker=!e.shouldShowEmbeddingPicker}},extraReducers(e){e.addCase(ob,t=>{L9(t,"img2img")})}}),{setActiveTab:r$,setShouldPinParametersPanel:iOe,setShouldShowParametersPanel:oOe,setShouldShowImageDetails:sOe,setShouldUseCanvasBetaLayout:Aue,setShouldShowExistingModelsInSearch:aOe,setShouldUseSliders:lOe,setShouldHidePreview:uOe,setShouldShowGallery:cOe,togglePanels:dOe,togglePinGalleryPanel:fOe,togglePinParametersPanel:hOe,toggleParametersPanel:pOe,toggleGalleryPanel:gOe,setShouldShowProgressInViewer:mOe,favoriteSchedulersChanged:yOe,toggleEmbeddingPicker:vOe}=n$.actions,Pue=n$.reducer;let ti=[],gm=(e,t)=>{let n=[],r={get(){return r.lc||r.listen(()=>{})(),r.value},l:t||0,lc:0,listen(i,o){return r.lc=n.push(i,o||r.l)/2,()=>{let s=n.indexOf(i);~s&&(n.splice(s,2),r.lc--,r.lc||r.off())}},notify(i){let o=!ti.length;for(let s=0;s(e.events=e.events||{},e.events[n+g0]||(e.events[n+g0]=r(i=>{e.events[n].reduceRight((o,s)=>(s(o),o),{shared:{},...i})})),e.events[n]=e.events[n]||[],e.events[n].push(t),()=>{let i=e.events[n],o=i.indexOf(t);i.splice(o,1),i.length||(delete e.events[n],e.events[n+g0](),delete e.events[n+g0])}),kue=1e3,Iue=(e,t)=>Oue(e,r=>{let i=t(r);i&&e.events[p0].push(i)},Rue,r=>{let i=e.listen;e.listen=(...s)=>(!e.lc&&!e.active&&(e.active=!0,r()),i(...s));let o=e.off;return e.events[p0]=[],e.off=()=>{o(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let s of e.events[p0])s();e.events[p0]=[]}},kue)},()=>{e.listen=i,e.off=o}}),Mue=(e,t)=>{Array.isArray(e)||(e=[e]);let n,r=()=>{let o=e.map(s=>s.get());(n===void 0||o.some((s,a)=>s!==n[a]))&&(n=o,i.set(t(...o)))},i=gm(void 0,Math.max(...e.map(o=>o.l))+1);return Iue(i,()=>{let o=e.map(s=>s.listen(r,i.l));return r(),()=>{for(let s of o)s()}}),i};const Nue={"Content-Type":"application/json"},Lue=/\/*$/;function Due(e){const t=new URLSearchParams;if(e&&typeof e=="object")for(const[n,r]of Object.entries(e))r!=null&&t.set(n,r);return t.toString()}function $ue(e){return JSON.stringify(e)}function Fue(e,t){let n=`${t.baseUrl?t.baseUrl.replace(Lue,""):""}${e}`;if(t.params.path)for(const[r,i]of Object.entries(t.params.path))n=n.replace(`{${r}}`,encodeURIComponent(String(i)));if(t.params.query){const r=t.querySerializer(t.params.query);r&&(n+=`?${r}`)}return n}function Bue(e={}){const{fetch:t=globalThis.fetch,querySerializer:n,bodySerializer:r,...i}=e,o=new Headers({...Nue,...i.headers??{}});async function s(a,l){const{headers:u,body:d,params:f={},parseAs:p="json",querySerializer:g=n??Due,bodySerializer:m=r??$ue,...v}=l||{},x=Fue(a,{baseUrl:i.baseUrl,params:f,querySerializer:g}),_=new Headers(o),b=new Headers(u);for(const[T,E]of b.entries())E==null?_.delete(T):_.set(T,E);const y={redirect:"follow",...i,...v,headers:_};d&&(y.body=m(d)),y.body instanceof FormData&&_.delete("Content-Type");const S=await t(x,y);if(S.status===204||S.headers.get("Content-Length")==="0")return S.ok?{data:{},response:S}:{error:{},response:S};if(S.ok){let T=S.body;if(p!=="stream"){const E=S.clone();T=typeof E[p]=="function"?await E[p]():await E.text()}return{data:T,response:S}}let C={};try{C=await S.clone().json()}catch{C=await S.clone().text()}return{error:C,response:S}}return{async get(a,l){return s(a,{...l,method:"GET"})},async put(a,l){return s(a,{...l,method:"PUT"})},async post(a,l){return s(a,{...l,method:"POST"})},async del(a,l){return s(a,{...l,method:"DELETE"})},async options(a,l){return s(a,{...l,method:"OPTIONS"})},async head(a,l){return s(a,{...l,method:"HEAD"})},async patch(a,l){return s(a,{...l,method:"PATCH"})},async trace(a,l){return s(a,{...l,method:"TRACE"})}}}const Sg=gm(),wg=gm(),S1=gm(),sb=Mue([Sg,wg,S1],(e,t,n)=>Bue({headers:{...e?{Authorization:`Bearer ${e}`}:{},...n?{"project-id":n}:{}},baseUrl:`${t??""}`})),Ir=Ul("api/sessionCreated",async(e,{rejectWithValue:t})=>{const{graph:n}=e,{post:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{body:n});return o?t({arg:e,status:s.status,error:o}):i}),Uue=e=>li(e)&&"status"in e,zue=e=>li(e)&&"detail"in e,mm=Ul("api/sessionInvoked",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{put:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{query:{all:!0},path:{session_id:n}}});if(o){if(Uue(o)&&o.status===403)return t({arg:e,status:s.status,error:o.body.detail});if(zue(o)&&s.status===403)return t({arg:e,status:s.status,error:o.detail});if(o)return t({arg:e,status:s.status,error:o})}}),mc=Ul("api/sessionCanceled",async(e,{rejectWithValue:t})=>{const{session_id:n}=e,{del:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/{session_id}/invoke",{params:{path:{session_id:n}}});return o?t({arg:e,error:o}):i});Ul("api/listSessions",async(e,{rejectWithValue:t})=>{const{params:n}=e,{get:r}=sb.get(),{data:i,error:o,response:s}=await r("/api/v1/sessions/",{params:n});return o?t({arg:e,error:o}):i});const i$=Co(Ir.rejected,mm.rejected),td=(e,t,n,r,i,o,s)=>{const a=Math.floor(e/2-(n+i/2)*s),l=Math.floor(t/2-(r+o/2)*s);return{x:a,y:l}},nd=(e,t,n,r,i=.95)=>{const o=e*i/n,s=t*i/r;return Math.min(1,Math.min(o,s))},_Oe=.999,bOe=.1,SOe=20,zh=.95,wOe=30,xOe=10,D9=e=>({x:Math.floor(e.x),y:Math.floor(e.y)}),bu=e=>{const{width:t,height:n}=e,r={width:t,height:n},i=512*512,o=t/n;let s=t*n,a=448;for(;s1?(r.width=a,r.height=Ss(a/o,64)):o<1&&(r.height=a,r.width=Ss(a*o,64)),s=r.width*r.height;return r},Vue=e=>({width:Ss(e.width,64),height:Ss(e.height,64)}),COe=[{label:"Base",value:"base"},{label:"Mask",value:"mask"}],TOe=[{label:"Auto",value:"auto"},{label:"Manual",value:"manual"},{label:"None",value:"none"}],o$=e=>e.kind==="line"&&e.layer==="mask",EOe=e=>e.kind==="line"&&e.layer==="base",$9=e=>e.kind==="image"&&e.layer==="base",AOe=e=>e.kind==="fillRect"&&e.layer==="base",POe=e=>e.kind==="eraseRect"&&e.layer==="base",jue=e=>e.kind==="line",vd={objects:[],stagingArea:{images:[],selectedImageIndex:-1}},s$={boundingBoxCoordinates:{x:0,y:0},boundingBoxDimensions:{width:512,height:512},boundingBoxPreviewFill:{r:0,g:0,b:0,a:.5},boundingBoxScaleMethod:"auto",brushColor:{r:90,g:90,b:255,a:1},brushSize:50,canvasContainerDimensions:{width:0,height:0},colorPickerColor:{r:90,g:90,b:255,a:1},cursorPosition:null,doesCanvasNeedScaling:!1,futureLayerStates:[],isCanvasInitialized:!1,isDrawing:!1,isMaskEnabled:!0,isMouseOverBoundingBox:!1,isMoveBoundingBoxKeyHeld:!1,isMoveStageKeyHeld:!1,isMovingBoundingBox:!1,isMovingStage:!1,isTransformingBoundingBox:!1,layer:"base",layerState:vd,maskColor:{r:255,g:90,b:90,a:1},maxHistory:128,minimumStageScale:1,pastLayerStates:[],scaledBoundingBoxDimensions:{width:512,height:512},shouldAntialias:!0,shouldAutoSave:!1,shouldCropToBoundingBoxOnSave:!1,shouldDarkenOutsideBoundingBox:!1,shouldLockBoundingBox:!1,shouldPreserveMaskedArea:!1,shouldRestrictStrokesToBox:!0,shouldShowBoundingBox:!0,shouldShowBrush:!0,shouldShowBrushPreview:!1,shouldShowCanvasDebugInfo:!1,shouldShowCheckboardTransparency:!1,shouldShowGrid:!0,shouldShowIntermediates:!0,shouldShowStagingImage:!0,shouldShowStagingOutline:!0,shouldSnapToGrid:!0,stageCoordinates:{x:0,y:0},stageDimensions:{width:0,height:0},stageScale:1,tool:"brush"},a$=yn({name:"canvas",initialState:s$,reducers:{setTool:(e,t)=>{const n=t.payload;e.tool=t.payload,n!=="move"&&(e.isTransformingBoundingBox=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1)},setLayer:(e,t)=>{e.layer=t.payload},toggleTool:e=>{const t=e.tool;t!=="move"&&(e.tool=t==="brush"?"eraser":"brush")},setMaskColor:(e,t)=>{e.maskColor=t.payload},setBrushColor:(e,t)=>{e.brushColor=t.payload},setBrushSize:(e,t)=>{e.brushSize=t.payload},clearMask:e=>{e.pastLayerStates.push(Ur(e.layerState)),e.layerState.objects=e.layerState.objects.filter(t=>!o$(t)),e.futureLayerStates=[],e.shouldPreserveMaskedArea=!1},toggleShouldInvertMask:e=>{e.shouldPreserveMaskedArea=!e.shouldPreserveMaskedArea},toggleShouldShowMask:e=>{e.isMaskEnabled=!e.isMaskEnabled},setShouldPreserveMaskedArea:(e,t)=>{e.shouldPreserveMaskedArea=t.payload},setIsMaskEnabled:(e,t)=>{e.isMaskEnabled=t.payload,e.layer=t.payload?"mask":"base"},setShouldShowCheckboardTransparency:(e,t)=>{e.shouldShowCheckboardTransparency=t.payload},setShouldShowBrushPreview:(e,t)=>{e.shouldShowBrushPreview=t.payload},setShouldShowBrush:(e,t)=>{e.shouldShowBrush=t.payload},setCursorPosition:(e,t)=>{e.cursorPosition=t.payload},setInitialCanvasImage:(e,t)=>{const n=t.payload,{width:r,height:i}=n,{stageDimensions:o}=e,s={width:f0(bl(r,64,512),64),height:f0(bl(i,64,512),64)},a={x:Ss(r/2-s.width/2,64),y:Ss(i/2-s.height/2,64)};if(e.boundingBoxScaleMethod==="auto"){const d=bu(s);e.scaledBoundingBoxDimensions=d}e.boundingBoxDimensions=s,e.boundingBoxCoordinates=a,e.pastLayerStates.push(Ur(e.layerState)),e.layerState={...vd,objects:[{kind:"image",layer:"base",x:0,y:0,width:r,height:i,imageName:n.image_name}]},e.futureLayerStates=[],e.isCanvasInitialized=!1;const l=nd(o.width,o.height,r,i,zh),u=td(o.width,o.height,0,0,r,i,l);e.stageScale=l,e.stageCoordinates=u,e.doesCanvasNeedScaling=!0},setBoundingBoxDimensions:(e,t)=>{const n=Vue(t.payload);if(e.boundingBoxDimensions=n,e.boundingBoxScaleMethod==="auto"){const r=bu(n);e.scaledBoundingBoxDimensions=r}},flipBoundingBoxAxes:e=>{const[t,n]=[e.boundingBoxDimensions.width,e.boundingBoxDimensions.height];e.boundingBoxDimensions={width:n,height:t}},setBoundingBoxCoordinates:(e,t)=>{e.boundingBoxCoordinates=D9(t.payload)},setStageCoordinates:(e,t)=>{e.stageCoordinates=t.payload},setBoundingBoxPreviewFill:(e,t)=>{e.boundingBoxPreviewFill=t.payload},setDoesCanvasNeedScaling:(e,t)=>{e.doesCanvasNeedScaling=t.payload},setStageScale:(e,t)=>{e.stageScale=t.payload},setShouldDarkenOutsideBoundingBox:(e,t)=>{e.shouldDarkenOutsideBoundingBox=t.payload},setIsDrawing:(e,t)=>{e.isDrawing=t.payload},clearCanvasHistory:e=>{e.pastLayerStates=[],e.futureLayerStates=[]},setShouldLockBoundingBox:(e,t)=>{e.shouldLockBoundingBox=t.payload},toggleShouldLockBoundingBox:e=>{e.shouldLockBoundingBox=!e.shouldLockBoundingBox},setShouldShowBoundingBox:(e,t)=>{e.shouldShowBoundingBox=t.payload},setIsTransformingBoundingBox:(e,t)=>{e.isTransformingBoundingBox=t.payload},setIsMovingBoundingBox:(e,t)=>{e.isMovingBoundingBox=t.payload},setIsMouseOverBoundingBox:(e,t)=>{e.isMouseOverBoundingBox=t.payload},setIsMoveBoundingBoxKeyHeld:(e,t)=>{e.isMoveBoundingBoxKeyHeld=t.payload},setIsMoveStageKeyHeld:(e,t)=>{e.isMoveStageKeyHeld=t.payload},canvasSessionIdChanged:(e,t)=>{e.layerState.stagingArea.sessionId=t.payload},stagingAreaInitialized:(e,t)=>{const{sessionId:n,boundingBox:r}=t.payload;e.layerState.stagingArea={boundingBox:r,sessionId:n,images:[],selectedImageIndex:-1}},addImageToStagingArea:(e,t)=>{const n=t.payload;!n||!e.layerState.stagingArea.boundingBox||(e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea.images.push({kind:"image",layer:"base",...e.layerState.stagingArea.boundingBox,imageName:n.image_name}),e.layerState.stagingArea.selectedImageIndex=e.layerState.stagingArea.images.length-1,e.futureLayerStates=[])},discardStagedImages:e=>{e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.stagingArea={...vd.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingOutline=!0},addFillRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n,brushColor:r}=e;e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"fillRect",layer:"base",...t,...n,color:r}),e.futureLayerStates=[]},addEraseRect:e=>{const{boundingBoxCoordinates:t,boundingBoxDimensions:n}=e;e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState.objects.push({kind:"eraseRect",layer:"base",...t,...n}),e.futureLayerStates=[]},addLine:(e,t)=>{const{tool:n,layer:r,brushColor:i,brushSize:o,shouldRestrictStrokesToBox:s}=e;if(n==="move"||n==="colorPicker")return;const a=o/2,l=r==="base"&&n==="brush"?{color:i}:{};e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const u={kind:"line",layer:r,tool:n,strokeWidth:a,points:t.payload,...l};s&&(u.clip={...e.boundingBoxCoordinates,...e.boundingBoxDimensions}),e.layerState.objects.push(u),e.futureLayerStates=[]},addPointToCurrentLine:(e,t)=>{const n=e.layerState.objects.findLast(jue);n&&n.points.push(...t.payload)},undo:e=>{const t=e.pastLayerStates.pop();t&&(e.futureLayerStates.unshift(Ur(e.layerState)),e.futureLayerStates.length>e.maxHistory&&e.futureLayerStates.pop(),e.layerState=t)},redo:e=>{const t=e.futureLayerStates.shift();t&&(e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift(),e.layerState=t)},setShouldShowGrid:(e,t)=>{e.shouldShowGrid=t.payload},setIsMovingStage:(e,t)=>{e.isMovingStage=t.payload},setShouldSnapToGrid:(e,t)=>{e.shouldSnapToGrid=t.payload},setShouldAutoSave:(e,t)=>{e.shouldAutoSave=t.payload},setShouldShowIntermediates:(e,t)=>{e.shouldShowIntermediates=t.payload},resetCanvas:e=>{e.pastLayerStates.push(Ur(e.layerState)),e.layerState=vd,e.futureLayerStates=[]},setCanvasContainerDimensions:(e,t)=>{e.canvasContainerDimensions=t.payload},resizeAndScaleCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r=e.layerState.objects.find($9),i={width:Math.floor(t),height:Math.floor(n)};if(!r){const d=nd(i.width,i.height,512,512,zh),f=td(i.width,i.height,0,0,512,512,d),p={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=f,e.stageDimensions=i,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=p,e.boundingBoxScaleMethod==="auto"){const g=bu(p);e.scaledBoundingBoxDimensions=g}return}const{width:o,height:s}=r,l=nd(t,n,o,s,.95),u=td(i.width,i.height,0,0,o,s,l);e.minimumStageScale=l,e.stageScale=l,e.stageCoordinates=D9(u),e.stageDimensions=i,e.isCanvasInitialized=!0},resizeCanvas:e=>{const{width:t,height:n}=e.canvasContainerDimensions,r={width:Math.floor(t),height:Math.floor(n)};if(e.stageDimensions=r,!e.layerState.objects.find($9)){const i=nd(r.width,r.height,512,512,zh),o=td(r.width,r.height,0,0,512,512,i),s={width:512,height:512};if(e.stageScale=i,e.stageCoordinates=o,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=s,e.boundingBoxScaleMethod==="auto"){const a=bu(s);e.scaledBoundingBoxDimensions=a}}},resetCanvasView:(e,t)=>{const{contentRect:n,shouldScaleTo1:r}=t.payload,{stageDimensions:{width:i,height:o}}=e,{x:s,y:a,width:l,height:u}=n;if(l!==0&&u!==0){const d=r?1:nd(i,o,l,u,zh),f=td(i,o,s,a,l,u,d);e.stageScale=d,e.stageCoordinates=f}else{const d=nd(i,o,512,512,zh),f=td(i,o,0,0,512,512,d),p={width:512,height:512};if(e.stageScale=d,e.stageCoordinates=f,e.boundingBoxCoordinates={x:0,y:0},e.boundingBoxDimensions=p,e.boundingBoxScaleMethod==="auto"){const g=bu(p);e.scaledBoundingBoxDimensions=g}}},nextStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex,n=e.layerState.stagingArea.images.length;e.layerState.stagingArea.selectedImageIndex=Math.min(t+1,n-1)},prevStagingAreaImage:e=>{if(!e.layerState.stagingArea.images.length)return;const t=e.layerState.stagingArea.selectedImageIndex;e.layerState.stagingArea.selectedImageIndex=Math.max(t-1,0)},commitStagingAreaImage:(e,t)=>{if(!e.layerState.stagingArea.images.length)return;const{images:n,selectedImageIndex:r}=e.layerState.stagingArea;e.pastLayerStates.push(Ur(e.layerState)),e.pastLayerStates.length>e.maxHistory&&e.pastLayerStates.shift();const i=n[r];i&&e.layerState.objects.push({...i}),e.layerState.stagingArea={...vd.stagingArea},e.futureLayerStates=[],e.shouldShowStagingOutline=!0,e.shouldShowStagingImage=!0},fitBoundingBoxToStage:e=>{const{boundingBoxDimensions:t,boundingBoxCoordinates:n,stageDimensions:r,stageScale:i}=e,o=r.width/i,s=r.height/i;if(n.x<0||n.x+t.width>o||n.y<0||n.y+t.height>s){const a={width:f0(bl(o,64,512),64),height:f0(bl(s,64,512),64)},l={x:Ss(o/2-a.width/2,64),y:Ss(s/2-a.height/2,64)};if(e.boundingBoxDimensions=a,e.boundingBoxCoordinates=l,e.boundingBoxScaleMethod==="auto"){const u=bu(a);e.scaledBoundingBoxDimensions=u}}},setBoundingBoxScaleMethod:(e,t)=>{if(e.boundingBoxScaleMethod=t.payload,t.payload==="auto"){const n=bu(e.boundingBoxDimensions);e.scaledBoundingBoxDimensions=n}},setScaledBoundingBoxDimensions:(e,t)=>{e.scaledBoundingBoxDimensions=t.payload},setShouldShowStagingImage:(e,t)=>{e.shouldShowStagingImage=t.payload},setShouldShowStagingOutline:(e,t)=>{e.shouldShowStagingOutline=t.payload},setShouldShowCanvasDebugInfo:(e,t)=>{e.shouldShowCanvasDebugInfo=t.payload},setShouldRestrictStrokesToBox:(e,t)=>{e.shouldRestrictStrokesToBox=t.payload},setShouldAntialias:(e,t)=>{e.shouldAntialias=t.payload},setShouldCropToBoundingBoxOnSave:(e,t)=>{e.shouldCropToBoundingBoxOnSave=t.payload},setColorPickerColor:(e,t)=>{e.colorPickerColor=t.payload},commitColorPickerColor:e=>{e.brushColor={...e.colorPickerColor,a:e.brushColor.a},e.tool="brush"},setMergedCanvas:(e,t)=>{e.pastLayerStates.push(Ur(e.layerState)),e.futureLayerStates=[],e.layerState.objects=[t.payload]},resetCanvasInteractionState:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMoveBoundingBoxKeyHeld=!1,e.isMoveStageKeyHeld=!1,e.isMovingBoundingBox=!1,e.isMovingStage=!1,e.isTransformingBoundingBox=!1},mouseLeftCanvas:e=>{e.cursorPosition=null,e.isDrawing=!1,e.isMouseOverBoundingBox=!1,e.isMovingBoundingBox=!1,e.isTransformingBoundingBox=!1}},extraReducers:e=>{e.addCase(mc.pending,t=>{t.layerState.stagingArea.images.length||(t.layerState.stagingArea=vd.stagingArea)}),e.addCase(Aue,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(r$,t=>{t.doesCanvasNeedScaling=!0}),e.addCase(Tue,(t,n)=>{const r=n.payload;r&&(t.boundingBoxDimensions.height=Ss(t.boundingBoxDimensions.width/r,64))})}}),{addEraseRect:ROe,addFillRect:OOe,addImageToStagingArea:Gue,addLine:kOe,addPointToCurrentLine:IOe,clearCanvasHistory:MOe,clearMask:NOe,commitColorPickerColor:LOe,commitStagingAreaImage:Hue,discardStagedImages:DOe,fitBoundingBoxToStage:$Oe,mouseLeftCanvas:FOe,nextStagingAreaImage:BOe,prevStagingAreaImage:UOe,redo:zOe,resetCanvas:xT,resetCanvasInteractionState:VOe,resetCanvasView:jOe,resizeAndScaleCanvas:GOe,resizeCanvas:HOe,setBoundingBoxCoordinates:WOe,setBoundingBoxDimensions:qOe,setBoundingBoxPreviewFill:KOe,setBoundingBoxScaleMethod:XOe,flipBoundingBoxAxes:YOe,setBrushColor:QOe,setBrushSize:ZOe,setCanvasContainerDimensions:JOe,setColorPickerColor:eke,setCursorPosition:tke,setDoesCanvasNeedScaling:nke,setInitialCanvasImage:l$,setIsDrawing:rke,setIsMaskEnabled:ike,setIsMouseOverBoundingBox:oke,setIsMoveBoundingBoxKeyHeld:ske,setIsMoveStageKeyHeld:ake,setIsMovingBoundingBox:lke,setIsMovingStage:uke,setIsTransformingBoundingBox:cke,setLayer:dke,setMaskColor:fke,setMergedCanvas:Wue,setShouldAutoSave:hke,setShouldCropToBoundingBoxOnSave:pke,setShouldDarkenOutsideBoundingBox:gke,setShouldLockBoundingBox:mke,setShouldPreserveMaskedArea:yke,setShouldShowBoundingBox:vke,setShouldShowBrush:_ke,setShouldShowBrushPreview:bke,setShouldShowCanvasDebugInfo:Ske,setShouldShowCheckboardTransparency:wke,setShouldShowGrid:xke,setShouldShowIntermediates:Cke,setShouldShowStagingImage:Tke,setShouldShowStagingOutline:Eke,setShouldSnapToGrid:Ake,setStageCoordinates:Pke,setStageScale:Rke,setTool:Oke,toggleShouldLockBoundingBox:kke,toggleTool:Ike,undo:Mke,setScaledBoundingBoxDimensions:Nke,setShouldRestrictStrokesToBox:Lke,stagingAreaInitialized:que,canvasSessionIdChanged:Kue,setShouldAntialias:Dke}=a$.actions,Xue=a$.reducer,Vr=["general"],wl=["control","mask","user","other"],Yue=100,F9=20;var w1={exports:{}};/** * @license * Lodash * Copyright OpenJS Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */w1.exports;(function(e,t){(function(){var n,r="4.17.21",i=200,o="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",s="Expected a function",a="Invalid `variable` option passed into `_.template`",l="__lodash_hash_undefined__",u=500,d="__lodash_placeholder__",f=1,p=2,g=4,m=1,v=2,x=1,_=2,b=4,y=8,S=16,C=32,T=64,E=128,P=256,k=512,O=30,M="...",G=800,U=16,A=1,N=2,F=3,B=1/0,D=9007199254740991,V=17976931348623157e292,j=0/0,q=4294967295,Z=q-1,ee=q>>>1,ie=[["ary",E],["bind",x],["bindKey",_],["curry",y],["curryRight",S],["flip",k],["partial",C],["partialRight",T],["rearg",P]],se="[object Arguments]",le="[object Array]",W="[object AsyncFunction]",ne="[object Boolean]",fe="[object Date]",pe="[object DOMException]",ve="[object Error]",ye="[object Function]",We="[object GeneratorFunction]",Me="[object Map]",Ee="[object Number]",lt="[object Null]",_e="[object Object]",jt="[object Promise]",Wn="[object Proxy]",Bt="[object RegExp]",it="[object Set]",mt="[object String]",Jt="[object Symbol]",Mr="[object Undefined]",yr="[object WeakMap]",hi="[object WeakSet]",wn="[object ArrayBuffer]",on="[object DataView]",qn="[object Float32Array]",sn="[object Float64Array]",Gt="[object Int8Array]",vr="[object Int16Array]",Nr="[object Int32Array]",Xr="[object Uint8Array]",Ii="[object Uint8ClampedArray]",An="[object Uint16Array]",Yr="[object Uint32Array]",Vs=/\b__p \+= '';/g,Ji=/\b(__p \+=) '' \+/g,js=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Xt=/&(?:amp|lt|gt|quot|#39);/g,kt=/[&<>"']/g,Kn=RegExp(Xt.source),$n=RegExp(kt.source),or=/<%-([\s\S]+?)%>/g,_r=/<%([\s\S]+?)%>/g,br=/<%=([\s\S]+?)%>/g,eo=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Sr=/^\w*$/,Xn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Mi=/[\\^$.*+?()[\]{}|]/g,os=RegExp(Mi.source),to=/^\s+/,Va=/\s/,Ao=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,wr=/\{\n\/\* \[wrapped with (.+)\] \*/,Gs=/,? & /,Zf=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Jf=/[()=,{}\[\]\/\s]/,eh=/\\(\\)?/g,th=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Po=/\w*$/,nh=/^[-+]0x[0-9a-f]+$/i,rh=/^0b[01]+$/i,kc=/^\[object .+?Constructor\]$/,ih=/^0o[0-7]+$/i,oh=/^(?:0|[1-9]\d*)$/,sh=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ss=/($^)/,ah=/['\n\r\u2028\u2029\\]/g,Ro="\\ud800-\\udfff",ja="\\u0300-\\u036f",lh="\\ufe20-\\ufe2f",Ga="\\u20d0-\\u20ff",cu=ja+lh+Ga,Ic="\\u2700-\\u27bf",Ha="a-z\\xdf-\\xf6\\xf8-\\xff",p2="\\xac\\xb1\\xd7\\xf7",Gm="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",g2="\\u2000-\\u206f",m2=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Hm="A-Z\\xc0-\\xd6\\xd8-\\xde",Wm="\\ufe0e\\ufe0f",qm=p2+Gm+g2+m2,uh="['’]",y2="["+Ro+"]",Km="["+qm+"]",Mc="["+cu+"]",Xm="\\d+",Nc="["+Ic+"]",Lc="["+Ha+"]",Ym="[^"+Ro+qm+Xm+Ic+Ha+Hm+"]",ch="\\ud83c[\\udffb-\\udfff]",Qm="(?:"+Mc+"|"+ch+")",Zm="[^"+Ro+"]",dh="(?:\\ud83c[\\udde6-\\uddff]){2}",fh="[\\ud800-\\udbff][\\udc00-\\udfff]",Hs="["+Hm+"]",Jm="\\u200d",ey="(?:"+Lc+"|"+Ym+")",v2="(?:"+Hs+"|"+Ym+")",Dc="(?:"+uh+"(?:d|ll|m|re|s|t|ve))?",ty="(?:"+uh+"(?:D|LL|M|RE|S|T|VE))?",ny=Qm+"?",ry="["+Wm+"]?",$c="(?:"+Jm+"(?:"+[Zm,dh,fh].join("|")+")"+ry+ny+")*",hh="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ph="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Fc=ry+ny+$c,_2="(?:"+[Nc,dh,fh].join("|")+")"+Fc,iy="(?:"+[Zm+Mc+"?",Mc,dh,fh,y2].join("|")+")",gh=RegExp(uh,"g"),oy=RegExp(Mc,"g"),Oo=RegExp(ch+"(?="+ch+")|"+iy+Fc,"g"),du=RegExp([Hs+"?"+Lc+"+"+Dc+"(?="+[Km,Hs,"$"].join("|")+")",v2+"+"+ty+"(?="+[Km,Hs+ey,"$"].join("|")+")",Hs+"?"+ey+"+"+Dc,Hs+"+"+ty,ph,hh,Xm,_2].join("|"),"g"),b2=RegExp("["+Jm+Ro+cu+Wm+"]"),sy=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,S2=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ay=-1,Ht={};Ht[qn]=Ht[sn]=Ht[Gt]=Ht[vr]=Ht[Nr]=Ht[Xr]=Ht[Ii]=Ht[An]=Ht[Yr]=!0,Ht[se]=Ht[le]=Ht[wn]=Ht[ne]=Ht[on]=Ht[fe]=Ht[ve]=Ht[ye]=Ht[Me]=Ht[Ee]=Ht[_e]=Ht[Bt]=Ht[it]=Ht[mt]=Ht[yr]=!1;var Ut={};Ut[se]=Ut[le]=Ut[wn]=Ut[on]=Ut[ne]=Ut[fe]=Ut[qn]=Ut[sn]=Ut[Gt]=Ut[vr]=Ut[Nr]=Ut[Me]=Ut[Ee]=Ut[_e]=Ut[Bt]=Ut[it]=Ut[mt]=Ut[Jt]=Ut[Xr]=Ut[Ii]=Ut[An]=Ut[Yr]=!0,Ut[ve]=Ut[ye]=Ut[yr]=!1;var ly={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},w2={"&":"&","<":"<",">":">",'"':""","'":"'"},H={"&":"&","<":"<",">":">",""":'"',"'":"'"},Y={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},re=parseFloat,we=parseInt,ot=typeof He=="object"&&He&&He.Object===Object&&He,Mt=typeof self=="object"&&self&&self.Object===Object&&self,qe=ot||Mt||Function("return this")(),Je=t&&!t.nodeType&&t,bt=Je&&!0&&e&&!e.nodeType&&e,Qr=bt&&bt.exports===Je,xr=Qr&&ot.process,sr=function(){try{var J=bt&&bt.require&&bt.require("util").types;return J||xr&&xr.binding&&xr.binding("util")}catch{}}(),Bc=sr&&sr.isArrayBuffer,Uc=sr&&sr.isDate,mh=sr&&sr.isMap,x6=sr&&sr.isRegExp,C6=sr&&sr.isSet,T6=sr&&sr.isTypedArray;function Ni(J,ae,oe){switch(oe.length){case 0:return J.call(ae);case 1:return J.call(ae,oe[0]);case 2:return J.call(ae,oe[0],oe[1]);case 3:return J.call(ae,oe[0],oe[1],oe[2])}return J.apply(ae,oe)}function gG(J,ae,oe,Ce){for(var Ve=-1,Tt=J==null?0:J.length;++Ve-1}function x2(J,ae,oe){for(var Ce=-1,Ve=J==null?0:J.length;++Ce-1;);return oe}function M6(J,ae){for(var oe=J.length;oe--&&zc(ae,J[oe],0)>-1;);return oe}function CG(J,ae){for(var oe=J.length,Ce=0;oe--;)J[oe]===ae&&++Ce;return Ce}var TG=A2(ly),EG=A2(w2);function AG(J){return"\\"+Y[J]}function PG(J,ae){return J==null?n:J[ae]}function Vc(J){return b2.test(J)}function RG(J){return sy.test(J)}function OG(J){for(var ae,oe=[];!(ae=J.next()).done;)oe.push(ae.value);return oe}function k2(J){var ae=-1,oe=Array(J.size);return J.forEach(function(Ce,Ve){oe[++ae]=[Ve,Ce]}),oe}function N6(J,ae){return function(oe){return J(ae(oe))}}function Ka(J,ae){for(var oe=-1,Ce=J.length,Ve=0,Tt=[];++oe-1}function yH(c,h){var w=this.__data__,R=Ey(w,c);return R<0?(++this.size,w.push([c,h])):w[R][1]=h,this}Ws.prototype.clear=hH,Ws.prototype.delete=pH,Ws.prototype.get=gH,Ws.prototype.has=mH,Ws.prototype.set=yH;function qs(c){var h=-1,w=c==null?0:c.length;for(this.clear();++h=h?c:h)),c}function oo(c,h,w,R,I,z){var K,X=h&f,te=h&p,ce=h&g;if(w&&(K=I?w(c,R,I,z):w(c)),K!==n)return K;if(!hn(c))return c;var de=Ge(c);if(de){if(K=SW(c),!X)return pi(c,K)}else{var he=Dr(c),be=he==ye||he==We;if(el(c))return mA(c,X);if(he==_e||he==se||be&&!I){if(K=te||be?{}:LA(c),!X)return te?cW(c,MH(K,c)):uW(c,W6(K,c))}else{if(!Ut[he])return I?c:{};K=wW(c,he,X)}}z||(z=new Io);var Oe=z.get(c);if(Oe)return Oe;z.set(c,K),cP(c)?c.forEach(function(Fe){K.add(oo(Fe,h,w,Fe,c,z))}):lP(c)&&c.forEach(function(Fe,st){K.set(st,oo(Fe,h,w,st,c,z))});var $e=ce?te?rw:nw:te?mi:ar,Ze=de?n:$e(c);return no(Ze||c,function(Fe,st){Ze&&(st=Fe,Fe=c[st]),xh(K,st,oo(Fe,h,w,st,c,z))}),K}function NH(c){var h=ar(c);return function(w){return q6(w,c,h)}}function q6(c,h,w){var R=w.length;if(c==null)return!R;for(c=Wt(c);R--;){var I=w[R],z=h[I],K=c[I];if(K===n&&!(I in c)||!z(K))return!1}return!0}function K6(c,h,w){if(typeof c!="function")throw new ro(s);return Oh(function(){c.apply(n,w)},h)}function Ch(c,h,w,R){var I=-1,z=uy,K=!0,X=c.length,te=[],ce=h.length;if(!X)return te;w&&(h=an(h,Li(w))),R?(z=x2,K=!1):h.length>=i&&(z=yh,K=!1,h=new pu(h));e:for(;++II?0:I+w),R=R===n||R>I?I:Ye(R),R<0&&(R+=I),R=w>R?0:fP(R);w0&&w(X)?h>1?Cr(X,h-1,w,R,I):qa(I,X):R||(I[I.length]=X)}return I}var F2=wA(),Q6=wA(!0);function as(c,h){return c&&F2(c,h,ar)}function B2(c,h){return c&&Q6(c,h,ar)}function Py(c,h){return Wa(h,function(w){return Zs(c[w])})}function mu(c,h){h=Za(h,c);for(var w=0,R=h.length;c!=null&&wh}function $H(c,h){return c!=null&&Nt.call(c,h)}function FH(c,h){return c!=null&&h in Wt(c)}function BH(c,h,w){return c>=Lr(h,w)&&c=120&&de.length>=120)?new pu(K&&de):n}de=c[0];var he=-1,be=X[0];e:for(;++he-1;)X!==c&&_y.call(X,te,1),_y.call(c,te,1);return c}function lA(c,h){for(var w=c?h.length:0,R=w-1;w--;){var I=h[w];if(w==R||I!==z){var z=I;Qs(I)?_y.call(c,I,1):X2(c,I)}}return c}function W2(c,h){return c+wy(V6()*(h-c+1))}function ZH(c,h,w,R){for(var I=-1,z=Qn(Sy((h-c)/(w||1)),0),K=oe(z);z--;)K[R?z:++I]=c,c+=w;return K}function q2(c,h){var w="";if(!c||h<1||h>D)return w;do h%2&&(w+=c),h=wy(h/2),h&&(c+=c);while(h);return w}function et(c,h){return cw(FA(c,h,yi),c+"")}function JH(c){return H6(Jc(c))}function eW(c,h){var w=Jc(c);return By(w,gu(h,0,w.length))}function Ah(c,h,w,R){if(!hn(c))return c;h=Za(h,c);for(var I=-1,z=h.length,K=z-1,X=c;X!=null&&++II?0:I+h),w=w>I?I:w,w<0&&(w+=I),I=h>w?0:w-h>>>0,h>>>=0;for(var z=oe(I);++R>>1,K=c[z];K!==null&&!$i(K)&&(w?K<=h:K=i){var ce=h?null:pW(c);if(ce)return dy(ce);K=!1,I=yh,te=new pu}else te=h?[]:X;e:for(;++R=R?c:so(c,h,w)}var gA=HG||function(c){return qe.clearTimeout(c)};function mA(c,h){if(h)return c.slice();var w=c.length,R=$6?$6(w):new c.constructor(w);return c.copy(R),R}function J2(c){var h=new c.constructor(c.byteLength);return new yy(h).set(new yy(c)),h}function oW(c,h){var w=h?J2(c.buffer):c.buffer;return new c.constructor(w,c.byteOffset,c.byteLength)}function sW(c){var h=new c.constructor(c.source,Po.exec(c));return h.lastIndex=c.lastIndex,h}function aW(c){return wh?Wt(wh.call(c)):{}}function yA(c,h){var w=h?J2(c.buffer):c.buffer;return new c.constructor(w,c.byteOffset,c.length)}function vA(c,h){if(c!==h){var w=c!==n,R=c===null,I=c===c,z=$i(c),K=h!==n,X=h===null,te=h===h,ce=$i(h);if(!X&&!ce&&!z&&c>h||z&&K&&te&&!X&&!ce||R&&K&&te||!w&&te||!I)return 1;if(!R&&!z&&!ce&&c=X)return te;var ce=w[R];return te*(ce=="desc"?-1:1)}}return c.index-h.index}function _A(c,h,w,R){for(var I=-1,z=c.length,K=w.length,X=-1,te=h.length,ce=Qn(z-K,0),de=oe(te+ce),he=!R;++X1?w[I-1]:n,K=I>2?w[2]:n;for(z=c.length>3&&typeof z=="function"?(I--,z):n,K&&Jr(w[0],w[1],K)&&(z=I<3?n:z,I=1),h=Wt(h);++R-1?I[z?h[K]:K]:n}}function TA(c){return Ys(function(h){var w=h.length,R=w,I=io.prototype.thru;for(c&&h.reverse();R--;){var z=h[R];if(typeof z!="function")throw new ro(s);if(I&&!K&&$y(z)=="wrapper")var K=new io([],!0)}for(R=K?R:w;++R1&&ht.reverse(),de&&teX))return!1;var ce=z.get(c),de=z.get(h);if(ce&&de)return ce==h&&de==c;var he=-1,be=!0,Oe=w&v?new pu:n;for(z.set(c,h),z.set(h,c);++he1?"& ":"")+h[R],h=h.join(w>2?", ":" "),c.replace(Ao,`{ + */w1.exports;(function(e,t){(function(){var n,r="4.17.21",i=200,o="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",s="Expected a function",a="Invalid `variable` option passed into `_.template`",l="__lodash_hash_undefined__",u=500,d="__lodash_placeholder__",f=1,p=2,g=4,m=1,v=2,x=1,_=2,b=4,y=8,S=16,C=32,T=64,E=128,P=256,k=512,O=30,M="...",G=800,U=16,A=1,N=2,F=3,B=1/0,D=9007199254740991,V=17976931348623157e292,j=0/0,q=4294967295,Z=q-1,ee=q>>>1,ie=[["ary",E],["bind",x],["bindKey",_],["curry",y],["curryRight",S],["flip",k],["partial",C],["partialRight",T],["rearg",P]],se="[object Arguments]",le="[object Array]",W="[object AsyncFunction]",ne="[object Boolean]",fe="[object Date]",pe="[object DOMException]",ve="[object Error]",ye="[object Function]",We="[object GeneratorFunction]",Me="[object Map]",Ee="[object Number]",lt="[object Null]",_e="[object Object]",jt="[object Promise]",Wn="[object Proxy]",Bt="[object RegExp]",it="[object Set]",mt="[object String]",Jt="[object Symbol]",Mr="[object Undefined]",yr="[object WeakMap]",pi="[object WeakSet]",wn="[object ArrayBuffer]",on="[object DataView]",qn="[object Float32Array]",sn="[object Float64Array]",Gt="[object Int8Array]",vr="[object Int16Array]",Nr="[object Int32Array]",Xr="[object Uint8Array]",Ii="[object Uint8ClampedArray]",An="[object Uint16Array]",Yr="[object Uint32Array]",Vs=/\b__p \+= '';/g,Ji=/\b(__p \+=) '' \+/g,js=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Xt=/&(?:amp|lt|gt|quot|#39);/g,kt=/[&<>"']/g,Kn=RegExp(Xt.source),$n=RegExp(kt.source),or=/<%-([\s\S]+?)%>/g,_r=/<%([\s\S]+?)%>/g,br=/<%=([\s\S]+?)%>/g,eo=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Sr=/^\w*$/,Xn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Mi=/[\\^$.*+?()[\]{}|]/g,os=RegExp(Mi.source),to=/^\s+/,Va=/\s/,Ao=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,wr=/\{\n\/\* \[wrapped with (.+)\] \*/,Gs=/,? & /,Zf=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Jf=/[()=,{}\[\]\/\s]/,eh=/\\(\\)?/g,th=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Po=/\w*$/,nh=/^[-+]0x[0-9a-f]+$/i,rh=/^0b[01]+$/i,kc=/^\[object .+?Constructor\]$/,ih=/^0o[0-7]+$/i,oh=/^(?:0|[1-9]\d*)$/,sh=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ss=/($^)/,ah=/['\n\r\u2028\u2029\\]/g,Ro="\\ud800-\\udfff",ja="\\u0300-\\u036f",lh="\\ufe20-\\ufe2f",Ga="\\u20d0-\\u20ff",cu=ja+lh+Ga,Ic="\\u2700-\\u27bf",Ha="a-z\\xdf-\\xf6\\xf8-\\xff",p2="\\xac\\xb1\\xd7\\xf7",Gm="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",g2="\\u2000-\\u206f",m2=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Hm="A-Z\\xc0-\\xd6\\xd8-\\xde",Wm="\\ufe0e\\ufe0f",qm=p2+Gm+g2+m2,uh="['’]",y2="["+Ro+"]",Km="["+qm+"]",Mc="["+cu+"]",Xm="\\d+",Nc="["+Ic+"]",Lc="["+Ha+"]",Ym="[^"+Ro+qm+Xm+Ic+Ha+Hm+"]",ch="\\ud83c[\\udffb-\\udfff]",Qm="(?:"+Mc+"|"+ch+")",Zm="[^"+Ro+"]",dh="(?:\\ud83c[\\udde6-\\uddff]){2}",fh="[\\ud800-\\udbff][\\udc00-\\udfff]",Hs="["+Hm+"]",Jm="\\u200d",ey="(?:"+Lc+"|"+Ym+")",v2="(?:"+Hs+"|"+Ym+")",Dc="(?:"+uh+"(?:d|ll|m|re|s|t|ve))?",ty="(?:"+uh+"(?:D|LL|M|RE|S|T|VE))?",ny=Qm+"?",ry="["+Wm+"]?",$c="(?:"+Jm+"(?:"+[Zm,dh,fh].join("|")+")"+ry+ny+")*",hh="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ph="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Fc=ry+ny+$c,_2="(?:"+[Nc,dh,fh].join("|")+")"+Fc,iy="(?:"+[Zm+Mc+"?",Mc,dh,fh,y2].join("|")+")",gh=RegExp(uh,"g"),oy=RegExp(Mc,"g"),Oo=RegExp(ch+"(?="+ch+")|"+iy+Fc,"g"),du=RegExp([Hs+"?"+Lc+"+"+Dc+"(?="+[Km,Hs,"$"].join("|")+")",v2+"+"+ty+"(?="+[Km,Hs+ey,"$"].join("|")+")",Hs+"?"+ey+"+"+Dc,Hs+"+"+ty,ph,hh,Xm,_2].join("|"),"g"),b2=RegExp("["+Jm+Ro+cu+Wm+"]"),sy=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,S2=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ay=-1,Ht={};Ht[qn]=Ht[sn]=Ht[Gt]=Ht[vr]=Ht[Nr]=Ht[Xr]=Ht[Ii]=Ht[An]=Ht[Yr]=!0,Ht[se]=Ht[le]=Ht[wn]=Ht[ne]=Ht[on]=Ht[fe]=Ht[ve]=Ht[ye]=Ht[Me]=Ht[Ee]=Ht[_e]=Ht[Bt]=Ht[it]=Ht[mt]=Ht[yr]=!1;var Ut={};Ut[se]=Ut[le]=Ut[wn]=Ut[on]=Ut[ne]=Ut[fe]=Ut[qn]=Ut[sn]=Ut[Gt]=Ut[vr]=Ut[Nr]=Ut[Me]=Ut[Ee]=Ut[_e]=Ut[Bt]=Ut[it]=Ut[mt]=Ut[Jt]=Ut[Xr]=Ut[Ii]=Ut[An]=Ut[Yr]=!0,Ut[ve]=Ut[ye]=Ut[yr]=!1;var ly={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},w2={"&":"&","<":"<",">":">",'"':""","'":"'"},H={"&":"&","<":"<",">":">",""":'"',"'":"'"},Y={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},re=parseFloat,we=parseInt,ot=typeof He=="object"&&He&&He.Object===Object&&He,Mt=typeof self=="object"&&self&&self.Object===Object&&self,qe=ot||Mt||Function("return this")(),Je=t&&!t.nodeType&&t,bt=Je&&!0&&e&&!e.nodeType&&e,Qr=bt&&bt.exports===Je,xr=Qr&&ot.process,sr=function(){try{var J=bt&&bt.require&&bt.require("util").types;return J||xr&&xr.binding&&xr.binding("util")}catch{}}(),Bc=sr&&sr.isArrayBuffer,Uc=sr&&sr.isDate,mh=sr&&sr.isMap,x6=sr&&sr.isRegExp,C6=sr&&sr.isSet,T6=sr&&sr.isTypedArray;function Ni(J,ae,oe){switch(oe.length){case 0:return J.call(ae);case 1:return J.call(ae,oe[0]);case 2:return J.call(ae,oe[0],oe[1]);case 3:return J.call(ae,oe[0],oe[1],oe[2])}return J.apply(ae,oe)}function gG(J,ae,oe,Ce){for(var Ve=-1,Tt=J==null?0:J.length;++Ve-1}function x2(J,ae,oe){for(var Ce=-1,Ve=J==null?0:J.length;++Ce-1;);return oe}function M6(J,ae){for(var oe=J.length;oe--&&zc(ae,J[oe],0)>-1;);return oe}function CG(J,ae){for(var oe=J.length,Ce=0;oe--;)J[oe]===ae&&++Ce;return Ce}var TG=A2(ly),EG=A2(w2);function AG(J){return"\\"+Y[J]}function PG(J,ae){return J==null?n:J[ae]}function Vc(J){return b2.test(J)}function RG(J){return sy.test(J)}function OG(J){for(var ae,oe=[];!(ae=J.next()).done;)oe.push(ae.value);return oe}function k2(J){var ae=-1,oe=Array(J.size);return J.forEach(function(Ce,Ve){oe[++ae]=[Ve,Ce]}),oe}function N6(J,ae){return function(oe){return J(ae(oe))}}function Ka(J,ae){for(var oe=-1,Ce=J.length,Ve=0,Tt=[];++oe-1}function yH(c,h){var w=this.__data__,R=Ey(w,c);return R<0?(++this.size,w.push([c,h])):w[R][1]=h,this}Ws.prototype.clear=hH,Ws.prototype.delete=pH,Ws.prototype.get=gH,Ws.prototype.has=mH,Ws.prototype.set=yH;function qs(c){var h=-1,w=c==null?0:c.length;for(this.clear();++h=h?c:h)),c}function oo(c,h,w,R,I,z){var K,X=h&f,te=h&p,ce=h&g;if(w&&(K=I?w(c,R,I,z):w(c)),K!==n)return K;if(!hn(c))return c;var de=Ge(c);if(de){if(K=SW(c),!X)return gi(c,K)}else{var he=Dr(c),be=he==ye||he==We;if(el(c))return mA(c,X);if(he==_e||he==se||be&&!I){if(K=te||be?{}:LA(c),!X)return te?cW(c,MH(K,c)):uW(c,W6(K,c))}else{if(!Ut[he])return I?c:{};K=wW(c,he,X)}}z||(z=new Io);var Oe=z.get(c);if(Oe)return Oe;z.set(c,K),cP(c)?c.forEach(function(Fe){K.add(oo(Fe,h,w,Fe,c,z))}):lP(c)&&c.forEach(function(Fe,st){K.set(st,oo(Fe,h,w,st,c,z))});var $e=ce?te?rw:nw:te?yi:ar,Ze=de?n:$e(c);return no(Ze||c,function(Fe,st){Ze&&(st=Fe,Fe=c[st]),xh(K,st,oo(Fe,h,w,st,c,z))}),K}function NH(c){var h=ar(c);return function(w){return q6(w,c,h)}}function q6(c,h,w){var R=w.length;if(c==null)return!R;for(c=Wt(c);R--;){var I=w[R],z=h[I],K=c[I];if(K===n&&!(I in c)||!z(K))return!1}return!0}function K6(c,h,w){if(typeof c!="function")throw new ro(s);return Oh(function(){c.apply(n,w)},h)}function Ch(c,h,w,R){var I=-1,z=uy,K=!0,X=c.length,te=[],ce=h.length;if(!X)return te;w&&(h=an(h,Li(w))),R?(z=x2,K=!1):h.length>=i&&(z=yh,K=!1,h=new pu(h));e:for(;++II?0:I+w),R=R===n||R>I?I:Ye(R),R<0&&(R+=I),R=w>R?0:fP(R);w0&&w(X)?h>1?Cr(X,h-1,w,R,I):qa(I,X):R||(I[I.length]=X)}return I}var F2=wA(),Q6=wA(!0);function as(c,h){return c&&F2(c,h,ar)}function B2(c,h){return c&&Q6(c,h,ar)}function Py(c,h){return Wa(h,function(w){return Zs(c[w])})}function mu(c,h){h=Za(h,c);for(var w=0,R=h.length;c!=null&&wh}function $H(c,h){return c!=null&&Nt.call(c,h)}function FH(c,h){return c!=null&&h in Wt(c)}function BH(c,h,w){return c>=Lr(h,w)&&c=120&&de.length>=120)?new pu(K&&de):n}de=c[0];var he=-1,be=X[0];e:for(;++he-1;)X!==c&&_y.call(X,te,1),_y.call(c,te,1);return c}function lA(c,h){for(var w=c?h.length:0,R=w-1;w--;){var I=h[w];if(w==R||I!==z){var z=I;Qs(I)?_y.call(c,I,1):X2(c,I)}}return c}function W2(c,h){return c+wy(V6()*(h-c+1))}function ZH(c,h,w,R){for(var I=-1,z=Qn(Sy((h-c)/(w||1)),0),K=oe(z);z--;)K[R?z:++I]=c,c+=w;return K}function q2(c,h){var w="";if(!c||h<1||h>D)return w;do h%2&&(w+=c),h=wy(h/2),h&&(c+=c);while(h);return w}function et(c,h){return cw(FA(c,h,vi),c+"")}function JH(c){return H6(Jc(c))}function eW(c,h){var w=Jc(c);return By(w,gu(h,0,w.length))}function Ah(c,h,w,R){if(!hn(c))return c;h=Za(h,c);for(var I=-1,z=h.length,K=z-1,X=c;X!=null&&++II?0:I+h),w=w>I?I:w,w<0&&(w+=I),I=h>w?0:w-h>>>0,h>>>=0;for(var z=oe(I);++R>>1,K=c[z];K!==null&&!$i(K)&&(w?K<=h:K=i){var ce=h?null:pW(c);if(ce)return dy(ce);K=!1,I=yh,te=new pu}else te=h?[]:X;e:for(;++R=R?c:so(c,h,w)}var gA=HG||function(c){return qe.clearTimeout(c)};function mA(c,h){if(h)return c.slice();var w=c.length,R=$6?$6(w):new c.constructor(w);return c.copy(R),R}function J2(c){var h=new c.constructor(c.byteLength);return new yy(h).set(new yy(c)),h}function oW(c,h){var w=h?J2(c.buffer):c.buffer;return new c.constructor(w,c.byteOffset,c.byteLength)}function sW(c){var h=new c.constructor(c.source,Po.exec(c));return h.lastIndex=c.lastIndex,h}function aW(c){return wh?Wt(wh.call(c)):{}}function yA(c,h){var w=h?J2(c.buffer):c.buffer;return new c.constructor(w,c.byteOffset,c.length)}function vA(c,h){if(c!==h){var w=c!==n,R=c===null,I=c===c,z=$i(c),K=h!==n,X=h===null,te=h===h,ce=$i(h);if(!X&&!ce&&!z&&c>h||z&&K&&te&&!X&&!ce||R&&K&&te||!w&&te||!I)return 1;if(!R&&!z&&!ce&&c=X)return te;var ce=w[R];return te*(ce=="desc"?-1:1)}}return c.index-h.index}function _A(c,h,w,R){for(var I=-1,z=c.length,K=w.length,X=-1,te=h.length,ce=Qn(z-K,0),de=oe(te+ce),he=!R;++X1?w[I-1]:n,K=I>2?w[2]:n;for(z=c.length>3&&typeof z=="function"?(I--,z):n,K&&Jr(w[0],w[1],K)&&(z=I<3?n:z,I=1),h=Wt(h);++R-1?I[z?h[K]:K]:n}}function TA(c){return Ys(function(h){var w=h.length,R=w,I=io.prototype.thru;for(c&&h.reverse();R--;){var z=h[R];if(typeof z!="function")throw new ro(s);if(I&&!K&&$y(z)=="wrapper")var K=new io([],!0)}for(R=K?R:w;++R1&&ht.reverse(),de&&teX))return!1;var ce=z.get(c),de=z.get(h);if(ce&&de)return ce==h&&de==c;var he=-1,be=!0,Oe=w&v?new pu:n;for(z.set(c,h),z.set(h,c);++he1?"& ":"")+h[R],h=h.join(w>2?", ":" "),c.replace(Ao,`{ /* [wrapped with `+h+`] */ -`)}function CW(c){return Ge(c)||_u(c)||!!(U6&&c&&c[U6])}function Qs(c,h){var w=typeof c;return h=h??D,!!h&&(w=="number"||w!="symbol"&&oh.test(c))&&c>-1&&c%1==0&&c0){if(++h>=G)return arguments[0]}else h=0;return c.apply(n,arguments)}}function By(c,h){var w=-1,R=c.length,I=R-1;for(h=h===n?R:h;++w1?c[h-1]:n;return w=typeof w=="function"?(c.pop(),w):n,YA(c,w)});function QA(c){var h=$(c);return h.__chain__=!0,h}function Lq(c,h){return h(c),c}function Uy(c,h){return h(c)}var Dq=Ys(function(c){var h=c.length,w=h?c[0]:0,R=this.__wrapped__,I=function(z){return $2(z,c)};return h>1||this.__actions__.length||!(R instanceof ut)||!Qs(w)?this.thru(I):(R=R.slice(w,+w+(h?1:0)),R.__actions__.push({func:Uy,args:[I],thisArg:n}),new io(R,this.__chain__).thru(function(z){return h&&!z.length&&z.push(n),z}))});function $q(){return QA(this)}function Fq(){return new io(this.value(),this.__chain__)}function Bq(){this.__values__===n&&(this.__values__=dP(this.value()));var c=this.__index__>=this.__values__.length,h=c?n:this.__values__[this.__index__++];return{done:c,value:h}}function Uq(){return this}function zq(c){for(var h,w=this;w instanceof Ty;){var R=GA(w);R.__index__=0,R.__values__=n,h?I.__wrapped__=R:h=R;var I=R;w=w.__wrapped__}return I.__wrapped__=c,h}function Vq(){var c=this.__wrapped__;if(c instanceof ut){var h=c;return this.__actions__.length&&(h=new ut(this)),h=h.reverse(),h.__actions__.push({func:Uy,args:[dw],thisArg:n}),new io(h,this.__chain__)}return this.thru(dw)}function jq(){return hA(this.__wrapped__,this.__actions__)}var Gq=Iy(function(c,h,w){Nt.call(c,w)?++c[w]:Ks(c,w,1)});function Hq(c,h,w){var R=Ge(c)?E6:LH;return w&&Jr(c,h,w)&&(h=n),R(c,De(h,3))}function Wq(c,h){var w=Ge(c)?Wa:Y6;return w(c,De(h,3))}var qq=CA(HA),Kq=CA(WA);function Xq(c,h){return Cr(zy(c,h),1)}function Yq(c,h){return Cr(zy(c,h),B)}function Qq(c,h,w){return w=w===n?1:Ye(w),Cr(zy(c,h),w)}function ZA(c,h){var w=Ge(c)?no:Ya;return w(c,De(h,3))}function JA(c,h){var w=Ge(c)?mG:X6;return w(c,De(h,3))}var Zq=Iy(function(c,h,w){Nt.call(c,w)?c[w].push(h):Ks(c,w,[h])});function Jq(c,h,w,R){c=gi(c)?c:Jc(c),w=w&&!R?Ye(w):0;var I=c.length;return w<0&&(w=Qn(I+w,0)),Wy(c)?w<=I&&c.indexOf(h,w)>-1:!!I&&zc(c,h,w)>-1}var eK=et(function(c,h,w){var R=-1,I=typeof h=="function",z=gi(c)?oe(c.length):[];return Ya(c,function(K){z[++R]=I?Ni(h,K,w):Th(K,h,w)}),z}),tK=Iy(function(c,h,w){Ks(c,w,h)});function zy(c,h){var w=Ge(c)?an:nA;return w(c,De(h,3))}function nK(c,h,w,R){return c==null?[]:(Ge(h)||(h=h==null?[]:[h]),w=R?n:w,Ge(w)||(w=w==null?[]:[w]),sA(c,h,w))}var rK=Iy(function(c,h,w){c[w?0:1].push(h)},function(){return[[],[]]});function iK(c,h,w){var R=Ge(c)?C2:O6,I=arguments.length<3;return R(c,De(h,4),w,I,Ya)}function oK(c,h,w){var R=Ge(c)?yG:O6,I=arguments.length<3;return R(c,De(h,4),w,I,X6)}function sK(c,h){var w=Ge(c)?Wa:Y6;return w(c,Gy(De(h,3)))}function aK(c){var h=Ge(c)?H6:JH;return h(c)}function lK(c,h,w){(w?Jr(c,h,w):h===n)?h=1:h=Ye(h);var R=Ge(c)?OH:eW;return R(c,h)}function uK(c){var h=Ge(c)?kH:nW;return h(c)}function cK(c){if(c==null)return 0;if(gi(c))return Wy(c)?jc(c):c.length;var h=Dr(c);return h==Me||h==it?c.size:j2(c).length}function dK(c,h,w){var R=Ge(c)?T2:rW;return w&&Jr(c,h,w)&&(h=n),R(c,De(h,3))}var fK=et(function(c,h){if(c==null)return[];var w=h.length;return w>1&&Jr(c,h[0],h[1])?h=[]:w>2&&Jr(h[0],h[1],h[2])&&(h=[h[0]]),sA(c,Cr(h,1),[])}),Vy=WG||function(){return qe.Date.now()};function hK(c,h){if(typeof h!="function")throw new ro(s);return c=Ye(c),function(){if(--c<1)return h.apply(this,arguments)}}function eP(c,h,w){return h=w?n:h,h=c&&h==null?c.length:h,Xs(c,E,n,n,n,n,h)}function tP(c,h){var w;if(typeof h!="function")throw new ro(s);return c=Ye(c),function(){return--c>0&&(w=h.apply(this,arguments)),c<=1&&(h=n),w}}var hw=et(function(c,h,w){var R=x;if(w.length){var I=Ka(w,Qc(hw));R|=C}return Xs(c,R,h,w,I)}),nP=et(function(c,h,w){var R=x|_;if(w.length){var I=Ka(w,Qc(nP));R|=C}return Xs(h,R,c,w,I)});function rP(c,h,w){h=w?n:h;var R=Xs(c,y,n,n,n,n,n,h);return R.placeholder=rP.placeholder,R}function iP(c,h,w){h=w?n:h;var R=Xs(c,S,n,n,n,n,n,h);return R.placeholder=iP.placeholder,R}function oP(c,h,w){var R,I,z,K,X,te,ce=0,de=!1,he=!1,be=!0;if(typeof c!="function")throw new ro(s);h=lo(h)||0,hn(w)&&(de=!!w.leading,he="maxWait"in w,z=he?Qn(lo(w.maxWait)||0,h):z,be="trailing"in w?!!w.trailing:be);function Oe(Rn){var No=R,ea=I;return R=I=n,ce=Rn,K=c.apply(ea,No),K}function $e(Rn){return ce=Rn,X=Oh(st,h),de?Oe(Rn):K}function Ze(Rn){var No=Rn-te,ea=Rn-ce,CP=h-No;return he?Lr(CP,z-ea):CP}function Fe(Rn){var No=Rn-te,ea=Rn-ce;return te===n||No>=h||No<0||he&&ea>=z}function st(){var Rn=Vy();if(Fe(Rn))return ht(Rn);X=Oh(st,Ze(Rn))}function ht(Rn){return X=n,be&&R?Oe(Rn):(R=I=n,K)}function Fi(){X!==n&&gA(X),ce=0,R=te=I=X=n}function ei(){return X===n?K:ht(Vy())}function Bi(){var Rn=Vy(),No=Fe(Rn);if(R=arguments,I=this,te=Rn,No){if(X===n)return $e(te);if(he)return gA(X),X=Oh(st,h),Oe(te)}return X===n&&(X=Oh(st,h)),K}return Bi.cancel=Fi,Bi.flush=ei,Bi}var pK=et(function(c,h){return K6(c,1,h)}),gK=et(function(c,h,w){return K6(c,lo(h)||0,w)});function mK(c){return Xs(c,k)}function jy(c,h){if(typeof c!="function"||h!=null&&typeof h!="function")throw new ro(s);var w=function(){var R=arguments,I=h?h.apply(this,R):R[0],z=w.cache;if(z.has(I))return z.get(I);var K=c.apply(this,R);return w.cache=z.set(I,K)||z,K};return w.cache=new(jy.Cache||qs),w}jy.Cache=qs;function Gy(c){if(typeof c!="function")throw new ro(s);return function(){var h=arguments;switch(h.length){case 0:return!c.call(this);case 1:return!c.call(this,h[0]);case 2:return!c.call(this,h[0],h[1]);case 3:return!c.call(this,h[0],h[1],h[2])}return!c.apply(this,h)}}function yK(c){return tP(2,c)}var vK=iW(function(c,h){h=h.length==1&&Ge(h[0])?an(h[0],Li(De())):an(Cr(h,1),Li(De()));var w=h.length;return et(function(R){for(var I=-1,z=Lr(R.length,w);++I=h}),_u=J6(function(){return arguments}())?J6:function(c){return xn(c)&&Nt.call(c,"callee")&&!B6.call(c,"callee")},Ge=oe.isArray,MK=Bc?Li(Bc):zH;function gi(c){return c!=null&&Hy(c.length)&&!Zs(c)}function Pn(c){return xn(c)&&gi(c)}function NK(c){return c===!0||c===!1||xn(c)&&Zr(c)==ne}var el=KG||Tw,LK=Uc?Li(Uc):VH;function DK(c){return xn(c)&&c.nodeType===1&&!kh(c)}function $K(c){if(c==null)return!0;if(gi(c)&&(Ge(c)||typeof c=="string"||typeof c.splice=="function"||el(c)||Zc(c)||_u(c)))return!c.length;var h=Dr(c);if(h==Me||h==it)return!c.size;if(Rh(c))return!j2(c).length;for(var w in c)if(Nt.call(c,w))return!1;return!0}function FK(c,h){return Eh(c,h)}function BK(c,h,w){w=typeof w=="function"?w:n;var R=w?w(c,h):n;return R===n?Eh(c,h,n,w):!!R}function gw(c){if(!xn(c))return!1;var h=Zr(c);return h==ve||h==pe||typeof c.message=="string"&&typeof c.name=="string"&&!kh(c)}function UK(c){return typeof c=="number"&&z6(c)}function Zs(c){if(!hn(c))return!1;var h=Zr(c);return h==ye||h==We||h==W||h==Wn}function aP(c){return typeof c=="number"&&c==Ye(c)}function Hy(c){return typeof c=="number"&&c>-1&&c%1==0&&c<=D}function hn(c){var h=typeof c;return c!=null&&(h=="object"||h=="function")}function xn(c){return c!=null&&typeof c=="object"}var lP=mh?Li(mh):GH;function zK(c,h){return c===h||V2(c,h,ow(h))}function VK(c,h,w){return w=typeof w=="function"?w:n,V2(c,h,ow(h),w)}function jK(c){return uP(c)&&c!=+c}function GK(c){if(AW(c))throw new Ve(o);return eA(c)}function HK(c){return c===null}function WK(c){return c==null}function uP(c){return typeof c=="number"||xn(c)&&Zr(c)==Ee}function kh(c){if(!xn(c)||Zr(c)!=_e)return!1;var h=vy(c);if(h===null)return!0;var w=Nt.call(h,"constructor")&&h.constructor;return typeof w=="function"&&w instanceof w&&py.call(w)==VG}var mw=x6?Li(x6):HH;function qK(c){return aP(c)&&c>=-D&&c<=D}var cP=C6?Li(C6):WH;function Wy(c){return typeof c=="string"||!Ge(c)&&xn(c)&&Zr(c)==mt}function $i(c){return typeof c=="symbol"||xn(c)&&Zr(c)==Jt}var Zc=T6?Li(T6):qH;function KK(c){return c===n}function XK(c){return xn(c)&&Dr(c)==yr}function YK(c){return xn(c)&&Zr(c)==hi}var QK=Dy(G2),ZK=Dy(function(c,h){return c<=h});function dP(c){if(!c)return[];if(gi(c))return Wy(c)?ko(c):pi(c);if(vh&&c[vh])return OG(c[vh]());var h=Dr(c),w=h==Me?k2:h==it?dy:Jc;return w(c)}function Js(c){if(!c)return c===0?c:0;if(c=lo(c),c===B||c===-B){var h=c<0?-1:1;return h*V}return c===c?c:0}function Ye(c){var h=Js(c),w=h%1;return h===h?w?h-w:h:0}function fP(c){return c?gu(Ye(c),0,q):0}function lo(c){if(typeof c=="number")return c;if($i(c))return j;if(hn(c)){var h=typeof c.valueOf=="function"?c.valueOf():c;c=hn(h)?h+"":h}if(typeof c!="string")return c===0?c:+c;c=k6(c);var w=rh.test(c);return w||ih.test(c)?we(c.slice(2),w?2:8):nh.test(c)?j:+c}function hP(c){return ls(c,mi(c))}function JK(c){return c?gu(Ye(c),-D,D):c===0?c:0}function It(c){return c==null?"":Di(c)}var eX=Xc(function(c,h){if(Rh(h)||gi(h)){ls(h,ar(h),c);return}for(var w in h)Nt.call(h,w)&&xh(c,w,h[w])}),pP=Xc(function(c,h){ls(h,mi(h),c)}),qy=Xc(function(c,h,w,R){ls(h,mi(h),c,R)}),tX=Xc(function(c,h,w,R){ls(h,ar(h),c,R)}),nX=Ys($2);function rX(c,h){var w=Kc(c);return h==null?w:W6(w,h)}var iX=et(function(c,h){c=Wt(c);var w=-1,R=h.length,I=R>2?h[2]:n;for(I&&Jr(h[0],h[1],I)&&(R=1);++w1),z}),ls(c,rw(c),w),R&&(w=oo(w,f|p|g,gW));for(var I=h.length;I--;)X2(w,h[I]);return w});function wX(c,h){return mP(c,Gy(De(h)))}var xX=Ys(function(c,h){return c==null?{}:YH(c,h)});function mP(c,h){if(c==null)return{};var w=an(rw(c),function(R){return[R]});return h=De(h),aA(c,w,function(R,I){return h(R,I[0])})}function CX(c,h,w){h=Za(h,c);var R=-1,I=h.length;for(I||(I=1,c=n);++Rh){var R=c;c=h,h=R}if(w||c%1||h%1){var I=V6();return Lr(c+I*(h-c+re("1e-"+((I+"").length-1))),h)}return W2(c,h)}var LX=Yc(function(c,h,w){return h=h.toLowerCase(),c+(w?_P(h):h)});function _P(c){return _w(It(c).toLowerCase())}function bP(c){return c=It(c),c&&c.replace(sh,TG).replace(oy,"")}function DX(c,h,w){c=It(c),h=Di(h);var R=c.length;w=w===n?R:gu(Ye(w),0,R);var I=w;return w-=h.length,w>=0&&c.slice(w,I)==h}function $X(c){return c=It(c),c&&$n.test(c)?c.replace(kt,EG):c}function FX(c){return c=It(c),c&&os.test(c)?c.replace(Mi,"\\$&"):c}var BX=Yc(function(c,h,w){return c+(w?"-":"")+h.toLowerCase()}),UX=Yc(function(c,h,w){return c+(w?" ":"")+h.toLowerCase()}),zX=xA("toLowerCase");function VX(c,h,w){c=It(c),h=Ye(h);var R=h?jc(c):0;if(!h||R>=h)return c;var I=(h-R)/2;return Ly(wy(I),w)+c+Ly(Sy(I),w)}function jX(c,h,w){c=It(c),h=Ye(h);var R=h?jc(c):0;return h&&R>>0,w?(c=It(c),c&&(typeof h=="string"||h!=null&&!mw(h))&&(h=Di(h),!h&&Vc(c))?Ja(ko(c),0,w):c.split(h,w)):[]}var YX=Yc(function(c,h,w){return c+(w?" ":"")+_w(h)});function QX(c,h,w){return c=It(c),w=w==null?0:gu(Ye(w),0,c.length),h=Di(h),c.slice(w,w+h.length)==h}function ZX(c,h,w){var R=$.templateSettings;w&&Jr(c,h,w)&&(h=n),c=It(c),h=qy({},h,R,OA);var I=qy({},h.imports,R.imports,OA),z=ar(I),K=O2(I,z),X,te,ce=0,de=h.interpolate||ss,he="__p += '",be=I2((h.escape||ss).source+"|"+de.source+"|"+(de===br?th:ss).source+"|"+(h.evaluate||ss).source+"|$","g"),Oe="//# sourceURL="+(Nt.call(h,"sourceURL")?(h.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++ay+"]")+` +`)}function CW(c){return Ge(c)||_u(c)||!!(U6&&c&&c[U6])}function Qs(c,h){var w=typeof c;return h=h??D,!!h&&(w=="number"||w!="symbol"&&oh.test(c))&&c>-1&&c%1==0&&c0){if(++h>=G)return arguments[0]}else h=0;return c.apply(n,arguments)}}function By(c,h){var w=-1,R=c.length,I=R-1;for(h=h===n?R:h;++w1?c[h-1]:n;return w=typeof w=="function"?(c.pop(),w):n,YA(c,w)});function QA(c){var h=$(c);return h.__chain__=!0,h}function Lq(c,h){return h(c),c}function Uy(c,h){return h(c)}var Dq=Ys(function(c){var h=c.length,w=h?c[0]:0,R=this.__wrapped__,I=function(z){return $2(z,c)};return h>1||this.__actions__.length||!(R instanceof ut)||!Qs(w)?this.thru(I):(R=R.slice(w,+w+(h?1:0)),R.__actions__.push({func:Uy,args:[I],thisArg:n}),new io(R,this.__chain__).thru(function(z){return h&&!z.length&&z.push(n),z}))});function $q(){return QA(this)}function Fq(){return new io(this.value(),this.__chain__)}function Bq(){this.__values__===n&&(this.__values__=dP(this.value()));var c=this.__index__>=this.__values__.length,h=c?n:this.__values__[this.__index__++];return{done:c,value:h}}function Uq(){return this}function zq(c){for(var h,w=this;w instanceof Ty;){var R=GA(w);R.__index__=0,R.__values__=n,h?I.__wrapped__=R:h=R;var I=R;w=w.__wrapped__}return I.__wrapped__=c,h}function Vq(){var c=this.__wrapped__;if(c instanceof ut){var h=c;return this.__actions__.length&&(h=new ut(this)),h=h.reverse(),h.__actions__.push({func:Uy,args:[dw],thisArg:n}),new io(h,this.__chain__)}return this.thru(dw)}function jq(){return hA(this.__wrapped__,this.__actions__)}var Gq=Iy(function(c,h,w){Nt.call(c,w)?++c[w]:Ks(c,w,1)});function Hq(c,h,w){var R=Ge(c)?E6:LH;return w&&Jr(c,h,w)&&(h=n),R(c,De(h,3))}function Wq(c,h){var w=Ge(c)?Wa:Y6;return w(c,De(h,3))}var qq=CA(HA),Kq=CA(WA);function Xq(c,h){return Cr(zy(c,h),1)}function Yq(c,h){return Cr(zy(c,h),B)}function Qq(c,h,w){return w=w===n?1:Ye(w),Cr(zy(c,h),w)}function ZA(c,h){var w=Ge(c)?no:Ya;return w(c,De(h,3))}function JA(c,h){var w=Ge(c)?mG:X6;return w(c,De(h,3))}var Zq=Iy(function(c,h,w){Nt.call(c,w)?c[w].push(h):Ks(c,w,[h])});function Jq(c,h,w,R){c=mi(c)?c:Jc(c),w=w&&!R?Ye(w):0;var I=c.length;return w<0&&(w=Qn(I+w,0)),Wy(c)?w<=I&&c.indexOf(h,w)>-1:!!I&&zc(c,h,w)>-1}var eK=et(function(c,h,w){var R=-1,I=typeof h=="function",z=mi(c)?oe(c.length):[];return Ya(c,function(K){z[++R]=I?Ni(h,K,w):Th(K,h,w)}),z}),tK=Iy(function(c,h,w){Ks(c,w,h)});function zy(c,h){var w=Ge(c)?an:nA;return w(c,De(h,3))}function nK(c,h,w,R){return c==null?[]:(Ge(h)||(h=h==null?[]:[h]),w=R?n:w,Ge(w)||(w=w==null?[]:[w]),sA(c,h,w))}var rK=Iy(function(c,h,w){c[w?0:1].push(h)},function(){return[[],[]]});function iK(c,h,w){var R=Ge(c)?C2:O6,I=arguments.length<3;return R(c,De(h,4),w,I,Ya)}function oK(c,h,w){var R=Ge(c)?yG:O6,I=arguments.length<3;return R(c,De(h,4),w,I,X6)}function sK(c,h){var w=Ge(c)?Wa:Y6;return w(c,Gy(De(h,3)))}function aK(c){var h=Ge(c)?H6:JH;return h(c)}function lK(c,h,w){(w?Jr(c,h,w):h===n)?h=1:h=Ye(h);var R=Ge(c)?OH:eW;return R(c,h)}function uK(c){var h=Ge(c)?kH:nW;return h(c)}function cK(c){if(c==null)return 0;if(mi(c))return Wy(c)?jc(c):c.length;var h=Dr(c);return h==Me||h==it?c.size:j2(c).length}function dK(c,h,w){var R=Ge(c)?T2:rW;return w&&Jr(c,h,w)&&(h=n),R(c,De(h,3))}var fK=et(function(c,h){if(c==null)return[];var w=h.length;return w>1&&Jr(c,h[0],h[1])?h=[]:w>2&&Jr(h[0],h[1],h[2])&&(h=[h[0]]),sA(c,Cr(h,1),[])}),Vy=WG||function(){return qe.Date.now()};function hK(c,h){if(typeof h!="function")throw new ro(s);return c=Ye(c),function(){if(--c<1)return h.apply(this,arguments)}}function eP(c,h,w){return h=w?n:h,h=c&&h==null?c.length:h,Xs(c,E,n,n,n,n,h)}function tP(c,h){var w;if(typeof h!="function")throw new ro(s);return c=Ye(c),function(){return--c>0&&(w=h.apply(this,arguments)),c<=1&&(h=n),w}}var hw=et(function(c,h,w){var R=x;if(w.length){var I=Ka(w,Qc(hw));R|=C}return Xs(c,R,h,w,I)}),nP=et(function(c,h,w){var R=x|_;if(w.length){var I=Ka(w,Qc(nP));R|=C}return Xs(h,R,c,w,I)});function rP(c,h,w){h=w?n:h;var R=Xs(c,y,n,n,n,n,n,h);return R.placeholder=rP.placeholder,R}function iP(c,h,w){h=w?n:h;var R=Xs(c,S,n,n,n,n,n,h);return R.placeholder=iP.placeholder,R}function oP(c,h,w){var R,I,z,K,X,te,ce=0,de=!1,he=!1,be=!0;if(typeof c!="function")throw new ro(s);h=lo(h)||0,hn(w)&&(de=!!w.leading,he="maxWait"in w,z=he?Qn(lo(w.maxWait)||0,h):z,be="trailing"in w?!!w.trailing:be);function Oe(Rn){var No=R,ea=I;return R=I=n,ce=Rn,K=c.apply(ea,No),K}function $e(Rn){return ce=Rn,X=Oh(st,h),de?Oe(Rn):K}function Ze(Rn){var No=Rn-te,ea=Rn-ce,CP=h-No;return he?Lr(CP,z-ea):CP}function Fe(Rn){var No=Rn-te,ea=Rn-ce;return te===n||No>=h||No<0||he&&ea>=z}function st(){var Rn=Vy();if(Fe(Rn))return ht(Rn);X=Oh(st,Ze(Rn))}function ht(Rn){return X=n,be&&R?Oe(Rn):(R=I=n,K)}function Fi(){X!==n&&gA(X),ce=0,R=te=I=X=n}function ei(){return X===n?K:ht(Vy())}function Bi(){var Rn=Vy(),No=Fe(Rn);if(R=arguments,I=this,te=Rn,No){if(X===n)return $e(te);if(he)return gA(X),X=Oh(st,h),Oe(te)}return X===n&&(X=Oh(st,h)),K}return Bi.cancel=Fi,Bi.flush=ei,Bi}var pK=et(function(c,h){return K6(c,1,h)}),gK=et(function(c,h,w){return K6(c,lo(h)||0,w)});function mK(c){return Xs(c,k)}function jy(c,h){if(typeof c!="function"||h!=null&&typeof h!="function")throw new ro(s);var w=function(){var R=arguments,I=h?h.apply(this,R):R[0],z=w.cache;if(z.has(I))return z.get(I);var K=c.apply(this,R);return w.cache=z.set(I,K)||z,K};return w.cache=new(jy.Cache||qs),w}jy.Cache=qs;function Gy(c){if(typeof c!="function")throw new ro(s);return function(){var h=arguments;switch(h.length){case 0:return!c.call(this);case 1:return!c.call(this,h[0]);case 2:return!c.call(this,h[0],h[1]);case 3:return!c.call(this,h[0],h[1],h[2])}return!c.apply(this,h)}}function yK(c){return tP(2,c)}var vK=iW(function(c,h){h=h.length==1&&Ge(h[0])?an(h[0],Li(De())):an(Cr(h,1),Li(De()));var w=h.length;return et(function(R){for(var I=-1,z=Lr(R.length,w);++I=h}),_u=J6(function(){return arguments}())?J6:function(c){return xn(c)&&Nt.call(c,"callee")&&!B6.call(c,"callee")},Ge=oe.isArray,MK=Bc?Li(Bc):zH;function mi(c){return c!=null&&Hy(c.length)&&!Zs(c)}function Pn(c){return xn(c)&&mi(c)}function NK(c){return c===!0||c===!1||xn(c)&&Zr(c)==ne}var el=KG||Tw,LK=Uc?Li(Uc):VH;function DK(c){return xn(c)&&c.nodeType===1&&!kh(c)}function $K(c){if(c==null)return!0;if(mi(c)&&(Ge(c)||typeof c=="string"||typeof c.splice=="function"||el(c)||Zc(c)||_u(c)))return!c.length;var h=Dr(c);if(h==Me||h==it)return!c.size;if(Rh(c))return!j2(c).length;for(var w in c)if(Nt.call(c,w))return!1;return!0}function FK(c,h){return Eh(c,h)}function BK(c,h,w){w=typeof w=="function"?w:n;var R=w?w(c,h):n;return R===n?Eh(c,h,n,w):!!R}function gw(c){if(!xn(c))return!1;var h=Zr(c);return h==ve||h==pe||typeof c.message=="string"&&typeof c.name=="string"&&!kh(c)}function UK(c){return typeof c=="number"&&z6(c)}function Zs(c){if(!hn(c))return!1;var h=Zr(c);return h==ye||h==We||h==W||h==Wn}function aP(c){return typeof c=="number"&&c==Ye(c)}function Hy(c){return typeof c=="number"&&c>-1&&c%1==0&&c<=D}function hn(c){var h=typeof c;return c!=null&&(h=="object"||h=="function")}function xn(c){return c!=null&&typeof c=="object"}var lP=mh?Li(mh):GH;function zK(c,h){return c===h||V2(c,h,ow(h))}function VK(c,h,w){return w=typeof w=="function"?w:n,V2(c,h,ow(h),w)}function jK(c){return uP(c)&&c!=+c}function GK(c){if(AW(c))throw new Ve(o);return eA(c)}function HK(c){return c===null}function WK(c){return c==null}function uP(c){return typeof c=="number"||xn(c)&&Zr(c)==Ee}function kh(c){if(!xn(c)||Zr(c)!=_e)return!1;var h=vy(c);if(h===null)return!0;var w=Nt.call(h,"constructor")&&h.constructor;return typeof w=="function"&&w instanceof w&&py.call(w)==VG}var mw=x6?Li(x6):HH;function qK(c){return aP(c)&&c>=-D&&c<=D}var cP=C6?Li(C6):WH;function Wy(c){return typeof c=="string"||!Ge(c)&&xn(c)&&Zr(c)==mt}function $i(c){return typeof c=="symbol"||xn(c)&&Zr(c)==Jt}var Zc=T6?Li(T6):qH;function KK(c){return c===n}function XK(c){return xn(c)&&Dr(c)==yr}function YK(c){return xn(c)&&Zr(c)==pi}var QK=Dy(G2),ZK=Dy(function(c,h){return c<=h});function dP(c){if(!c)return[];if(mi(c))return Wy(c)?ko(c):gi(c);if(vh&&c[vh])return OG(c[vh]());var h=Dr(c),w=h==Me?k2:h==it?dy:Jc;return w(c)}function Js(c){if(!c)return c===0?c:0;if(c=lo(c),c===B||c===-B){var h=c<0?-1:1;return h*V}return c===c?c:0}function Ye(c){var h=Js(c),w=h%1;return h===h?w?h-w:h:0}function fP(c){return c?gu(Ye(c),0,q):0}function lo(c){if(typeof c=="number")return c;if($i(c))return j;if(hn(c)){var h=typeof c.valueOf=="function"?c.valueOf():c;c=hn(h)?h+"":h}if(typeof c!="string")return c===0?c:+c;c=k6(c);var w=rh.test(c);return w||ih.test(c)?we(c.slice(2),w?2:8):nh.test(c)?j:+c}function hP(c){return ls(c,yi(c))}function JK(c){return c?gu(Ye(c),-D,D):c===0?c:0}function It(c){return c==null?"":Di(c)}var eX=Xc(function(c,h){if(Rh(h)||mi(h)){ls(h,ar(h),c);return}for(var w in h)Nt.call(h,w)&&xh(c,w,h[w])}),pP=Xc(function(c,h){ls(h,yi(h),c)}),qy=Xc(function(c,h,w,R){ls(h,yi(h),c,R)}),tX=Xc(function(c,h,w,R){ls(h,ar(h),c,R)}),nX=Ys($2);function rX(c,h){var w=Kc(c);return h==null?w:W6(w,h)}var iX=et(function(c,h){c=Wt(c);var w=-1,R=h.length,I=R>2?h[2]:n;for(I&&Jr(h[0],h[1],I)&&(R=1);++w1),z}),ls(c,rw(c),w),R&&(w=oo(w,f|p|g,gW));for(var I=h.length;I--;)X2(w,h[I]);return w});function wX(c,h){return mP(c,Gy(De(h)))}var xX=Ys(function(c,h){return c==null?{}:YH(c,h)});function mP(c,h){if(c==null)return{};var w=an(rw(c),function(R){return[R]});return h=De(h),aA(c,w,function(R,I){return h(R,I[0])})}function CX(c,h,w){h=Za(h,c);var R=-1,I=h.length;for(I||(I=1,c=n);++Rh){var R=c;c=h,h=R}if(w||c%1||h%1){var I=V6();return Lr(c+I*(h-c+re("1e-"+((I+"").length-1))),h)}return W2(c,h)}var LX=Yc(function(c,h,w){return h=h.toLowerCase(),c+(w?_P(h):h)});function _P(c){return _w(It(c).toLowerCase())}function bP(c){return c=It(c),c&&c.replace(sh,TG).replace(oy,"")}function DX(c,h,w){c=It(c),h=Di(h);var R=c.length;w=w===n?R:gu(Ye(w),0,R);var I=w;return w-=h.length,w>=0&&c.slice(w,I)==h}function $X(c){return c=It(c),c&&$n.test(c)?c.replace(kt,EG):c}function FX(c){return c=It(c),c&&os.test(c)?c.replace(Mi,"\\$&"):c}var BX=Yc(function(c,h,w){return c+(w?"-":"")+h.toLowerCase()}),UX=Yc(function(c,h,w){return c+(w?" ":"")+h.toLowerCase()}),zX=xA("toLowerCase");function VX(c,h,w){c=It(c),h=Ye(h);var R=h?jc(c):0;if(!h||R>=h)return c;var I=(h-R)/2;return Ly(wy(I),w)+c+Ly(Sy(I),w)}function jX(c,h,w){c=It(c),h=Ye(h);var R=h?jc(c):0;return h&&R>>0,w?(c=It(c),c&&(typeof h=="string"||h!=null&&!mw(h))&&(h=Di(h),!h&&Vc(c))?Ja(ko(c),0,w):c.split(h,w)):[]}var YX=Yc(function(c,h,w){return c+(w?" ":"")+_w(h)});function QX(c,h,w){return c=It(c),w=w==null?0:gu(Ye(w),0,c.length),h=Di(h),c.slice(w,w+h.length)==h}function ZX(c,h,w){var R=$.templateSettings;w&&Jr(c,h,w)&&(h=n),c=It(c),h=qy({},h,R,OA);var I=qy({},h.imports,R.imports,OA),z=ar(I),K=O2(I,z),X,te,ce=0,de=h.interpolate||ss,he="__p += '",be=I2((h.escape||ss).source+"|"+de.source+"|"+(de===br?th:ss).source+"|"+(h.evaluate||ss).source+"|$","g"),Oe="//# sourceURL="+(Nt.call(h,"sourceURL")?(h.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++ay+"]")+` `;c.replace(be,function(Fe,st,ht,Fi,ei,Bi){return ht||(ht=Fi),he+=c.slice(ce,Bi).replace(ah,AG),st&&(X=!0,he+=`' + __e(`+st+`) + '`),ei&&(te=!0,he+=`'; @@ -63,9 +63,9 @@ __p += '`),ht&&(he+=`' + function print() { __p += __j.call(arguments, '') } `:`; `)+he+`return __p -}`;var Ze=wP(function(){return Tt(z,Oe+"return "+he).apply(n,K)});if(Ze.source=he,gw(Ze))throw Ze;return Ze}function JX(c){return It(c).toLowerCase()}function eY(c){return It(c).toUpperCase()}function tY(c,h,w){if(c=It(c),c&&(w||h===n))return k6(c);if(!c||!(h=Di(h)))return c;var R=ko(c),I=ko(h),z=I6(R,I),K=M6(R,I)+1;return Ja(R,z,K).join("")}function nY(c,h,w){if(c=It(c),c&&(w||h===n))return c.slice(0,L6(c)+1);if(!c||!(h=Di(h)))return c;var R=ko(c),I=M6(R,ko(h))+1;return Ja(R,0,I).join("")}function rY(c,h,w){if(c=It(c),c&&(w||h===n))return c.replace(to,"");if(!c||!(h=Di(h)))return c;var R=ko(c),I=I6(R,ko(h));return Ja(R,I).join("")}function iY(c,h){var w=O,R=M;if(hn(h)){var I="separator"in h?h.separator:I;w="length"in h?Ye(h.length):w,R="omission"in h?Di(h.omission):R}c=It(c);var z=c.length;if(Vc(c)){var K=ko(c);z=K.length}if(w>=z)return c;var X=w-jc(R);if(X<1)return R;var te=K?Ja(K,0,X).join(""):c.slice(0,X);if(I===n)return te+R;if(K&&(X+=te.length-X),mw(I)){if(c.slice(X).search(I)){var ce,de=te;for(I.global||(I=I2(I.source,It(Po.exec(I))+"g")),I.lastIndex=0;ce=I.exec(de);)var he=ce.index;te=te.slice(0,he===n?X:he)}}else if(c.indexOf(Di(I),X)!=X){var be=te.lastIndexOf(I);be>-1&&(te=te.slice(0,be))}return te+R}function oY(c){return c=It(c),c&&Kn.test(c)?c.replace(Xt,NG):c}var sY=Yc(function(c,h,w){return c+(w?" ":"")+h.toUpperCase()}),_w=xA("toUpperCase");function SP(c,h,w){return c=It(c),h=w?n:h,h===n?RG(c)?$G(c):bG(c):c.match(h)||[]}var wP=et(function(c,h){try{return Ni(c,n,h)}catch(w){return gw(w)?w:new Ve(w)}}),aY=Ys(function(c,h){return no(h,function(w){w=us(w),Ks(c,w,hw(c[w],c))}),c});function lY(c){var h=c==null?0:c.length,w=De();return c=h?an(c,function(R){if(typeof R[1]!="function")throw new ro(s);return[w(R[0]),R[1]]}):[],et(function(R){for(var I=-1;++ID)return[];var w=q,R=Lr(c,q);h=De(h),c-=q;for(var I=R2(R,h);++w0||h<0)?new ut(w):(c<0?w=w.takeRight(-c):c&&(w=w.drop(c)),h!==n&&(h=Ye(h),w=h<0?w.dropRight(-h):w.take(h-c)),w)},ut.prototype.takeRightWhile=function(c){return this.reverse().takeWhile(c).reverse()},ut.prototype.toArray=function(){return this.take(q)},as(ut.prototype,function(c,h){var w=/^(?:filter|find|map|reject)|While$/.test(h),R=/^(?:head|last)$/.test(h),I=$[R?"take"+(h=="last"?"Right":""):h],z=R||/^find/.test(h);I&&($.prototype[h]=function(){var K=this.__wrapped__,X=R?[1]:arguments,te=K instanceof ut,ce=X[0],de=te||Ge(K),he=function(st){var ht=I.apply($,qa([st],X));return R&&be?ht[0]:ht};de&&w&&typeof ce=="function"&&ce.length!=1&&(te=de=!1);var be=this.__chain__,Oe=!!this.__actions__.length,$e=z&&!be,Ze=te&&!Oe;if(!z&&de){K=Ze?K:new ut(this);var Fe=c.apply(K,X);return Fe.__actions__.push({func:Uy,args:[he],thisArg:n}),new io(Fe,be)}return $e&&Ze?c.apply(this,X):(Fe=this.thru(he),$e?R?Fe.value()[0]:Fe.value():Fe)})}),no(["pop","push","shift","sort","splice","unshift"],function(c){var h=fy[c],w=/^(?:push|sort|unshift)$/.test(c)?"tap":"thru",R=/^(?:pop|shift)$/.test(c);$.prototype[c]=function(){var I=arguments;if(R&&!this.__chain__){var z=this.value();return h.apply(Ge(z)?z:[],I)}return this[w](function(K){return h.apply(Ge(K)?K:[],I)})}}),as(ut.prototype,function(c,h){var w=$[h];if(w){var R=w.name+"";Nt.call(qc,R)||(qc[R]=[]),qc[R].push({name:h,func:w})}}),qc[My(n,_).name]=[{name:"wrapper",func:n}],ut.prototype.clone=oH,ut.prototype.reverse=sH,ut.prototype.value=aH,$.prototype.at=Dq,$.prototype.chain=$q,$.prototype.commit=Fq,$.prototype.next=Bq,$.prototype.plant=zq,$.prototype.reverse=Vq,$.prototype.toJSON=$.prototype.valueOf=$.prototype.value=jq,$.prototype.first=$.prototype.head,vh&&($.prototype[vh]=Uq),$},Gc=FG();bt?((bt.exports=Gc)._=Gc,Je._=Gc):qe._=Gc}).call(He)})(w1,w1.exports);var Yue=w1.exports,x1=globalThis&&globalThis.__generator||function(e,t){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(u){return function(d){return l([u,d])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(o=u[0]&2?i.return:u[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,u[1])).done)return o;switch(i=0,o&&(u=[u[0]&2,o.value]),u[0]){case 0:case 1:o=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,i=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]"u"||navigator.onLine===void 0?!0:navigator.onLine}function sce(){return typeof document>"u"?!0:document.visibilityState!=="hidden"}var V9=Jo;function d$(e,t){if(e===t||!(V9(e)&&V9(t)||Array.isArray(e)&&Array.isArray(t)))return t;for(var n=Object.keys(t),r=Object.keys(e),i=n.length===r.length,o=Array.isArray(t)?[]:{},s=0,a=n;s=200&&e.status<=299},lce=function(e){return/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"")};function G9(e){if(!Jo(e))return e;for(var t=In({},e),n=0,r=Object.entries(t);n"u"&&a===j9&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(y,S){return E1(t,null,function(){var C,T,E,P,k,O,M,G,U,A,N,F,B,D,V,j,q,Z,ee,ie,se,le,W,ne,fe,pe,ve,ye,We,Me,Ee,lt,_e,jt,Wn,Bt;return x1(this,function(it){switch(it.label){case 0:return C=S.signal,T=S.getState,E=S.extra,P=S.endpoint,k=S.forced,O=S.type,G=typeof y=="string"?{url:y}:y,U=G.url,A=G.headers,N=A===void 0?new Headers(_.headers):A,F=G.params,B=F===void 0?void 0:F,D=G.responseHandler,V=D===void 0?v??"json":D,j=G.validateStatus,q=j===void 0?x??ace:j,Z=G.timeout,ee=Z===void 0?m:Z,ie=U9(G,["url","headers","params","responseHandler","validateStatus","timeout"]),se=In(xs(In({},_),{signal:C}),ie),N=new Headers(G9(N)),le=se,[4,o(N,{getState:T,extra:E,endpoint:P,forced:k,type:O})];case 1:le.headers=it.sent()||N,W=function(mt){return typeof mt=="object"&&(Jo(mt)||Array.isArray(mt)||typeof mt.toJSON=="function")},!se.headers.has("content-type")&&W(se.body)&&se.headers.set("content-type",p),W(se.body)&&d(se.headers)&&(se.body=JSON.stringify(se.body,g)),B&&(ne=~U.indexOf("?")?"&":"?",fe=l?l(B):new URLSearchParams(G9(B)),U+=ne+fe),U=ice(r,U),pe=new Request(U,se),ve=pe.clone(),M={request:ve},We=!1,Me=ee&&setTimeout(function(){We=!0,S.abort()},ee),it.label=2;case 2:return it.trys.push([2,4,5,6]),[4,a(pe)];case 3:return ye=it.sent(),[3,6];case 4:return Ee=it.sent(),[2,{error:{status:We?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(Ee)},meta:M}];case 5:return Me&&clearTimeout(Me),[7];case 6:lt=ye.clone(),M.response=lt,jt="",it.label=7;case 7:return it.trys.push([7,9,,10]),[4,Promise.all([b(ye,V).then(function(mt){return _e=mt},function(mt){return Wn=mt}),lt.text().then(function(mt){return jt=mt},function(){})])];case 8:if(it.sent(),Wn)throw Wn;return[3,10];case 9:return Bt=it.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:ye.status,data:jt,error:String(Bt)},meta:M}];case 10:return[2,q(ye,_e)?{data:_e,meta:M}:{error:{status:ye.status,data:_e},meta:M}]}})})};function b(y,S){return E1(this,null,function(){var C;return x1(this,function(T){switch(T.label){case 0:return typeof S=="function"?[2,S(y)]:(S==="content-type"&&(S=d(y.headers)?"json":"text"),S!=="json"?[3,2]:[4,y.text()]);case 1:return C=T.sent(),[2,C.length?JSON.parse(C):null];case 2:return[2,y.text()]}})})}}var H9=function(){function e(t,n){n===void 0&&(n=void 0),this.value=t,this.meta=n}return e}(),CT=Re("__rtkq/focused"),f$=Re("__rtkq/unfocused"),TT=Re("__rtkq/online"),h$=Re("__rtkq/offline"),Ls;(function(e){e.query="query",e.mutation="mutation"})(Ls||(Ls={}));function p$(e){return e.type===Ls.query}function cce(e){return e.type===Ls.mutation}function g$(e,t,n,r,i,o){return dce(e)?e(t,n,r,i).map(P3).map(o):Array.isArray(e)?e.map(P3).map(o):[]}function dce(e){return typeof e=="function"}function P3(e){return typeof e=="string"?{type:e}:e}function ux(e){return e!=null}var xg=Symbol("forceQueryFn"),R3=function(e){return typeof e[xg]=="function"};function fce(e){var t=e.serializeQueryArgs,n=e.queryThunk,r=e.mutationThunk,i=e.api,o=e.context,s=new Map,a=new Map,l=i.internalActions,u=l.unsubscribeQueryResult,d=l.removeMutationResult,f=l.updateSubscriptionOptions;return{buildInitiateQuery:b,buildInitiateMutation:y,getRunningQueryThunk:m,getRunningMutationThunk:v,getRunningQueriesThunk:x,getRunningMutationsThunk:_,getRunningOperationPromises:g,removalWarning:p};function p(){throw new Error(`This method had to be removed due to a conceptual bug in RTK. +}`;var Ze=wP(function(){return Tt(z,Oe+"return "+he).apply(n,K)});if(Ze.source=he,gw(Ze))throw Ze;return Ze}function JX(c){return It(c).toLowerCase()}function eY(c){return It(c).toUpperCase()}function tY(c,h,w){if(c=It(c),c&&(w||h===n))return k6(c);if(!c||!(h=Di(h)))return c;var R=ko(c),I=ko(h),z=I6(R,I),K=M6(R,I)+1;return Ja(R,z,K).join("")}function nY(c,h,w){if(c=It(c),c&&(w||h===n))return c.slice(0,L6(c)+1);if(!c||!(h=Di(h)))return c;var R=ko(c),I=M6(R,ko(h))+1;return Ja(R,0,I).join("")}function rY(c,h,w){if(c=It(c),c&&(w||h===n))return c.replace(to,"");if(!c||!(h=Di(h)))return c;var R=ko(c),I=I6(R,ko(h));return Ja(R,I).join("")}function iY(c,h){var w=O,R=M;if(hn(h)){var I="separator"in h?h.separator:I;w="length"in h?Ye(h.length):w,R="omission"in h?Di(h.omission):R}c=It(c);var z=c.length;if(Vc(c)){var K=ko(c);z=K.length}if(w>=z)return c;var X=w-jc(R);if(X<1)return R;var te=K?Ja(K,0,X).join(""):c.slice(0,X);if(I===n)return te+R;if(K&&(X+=te.length-X),mw(I)){if(c.slice(X).search(I)){var ce,de=te;for(I.global||(I=I2(I.source,It(Po.exec(I))+"g")),I.lastIndex=0;ce=I.exec(de);)var he=ce.index;te=te.slice(0,he===n?X:he)}}else if(c.indexOf(Di(I),X)!=X){var be=te.lastIndexOf(I);be>-1&&(te=te.slice(0,be))}return te+R}function oY(c){return c=It(c),c&&Kn.test(c)?c.replace(Xt,NG):c}var sY=Yc(function(c,h,w){return c+(w?" ":"")+h.toUpperCase()}),_w=xA("toUpperCase");function SP(c,h,w){return c=It(c),h=w?n:h,h===n?RG(c)?$G(c):bG(c):c.match(h)||[]}var wP=et(function(c,h){try{return Ni(c,n,h)}catch(w){return gw(w)?w:new Ve(w)}}),aY=Ys(function(c,h){return no(h,function(w){w=us(w),Ks(c,w,hw(c[w],c))}),c});function lY(c){var h=c==null?0:c.length,w=De();return c=h?an(c,function(R){if(typeof R[1]!="function")throw new ro(s);return[w(R[0]),R[1]]}):[],et(function(R){for(var I=-1;++ID)return[];var w=q,R=Lr(c,q);h=De(h),c-=q;for(var I=R2(R,h);++w0||h<0)?new ut(w):(c<0?w=w.takeRight(-c):c&&(w=w.drop(c)),h!==n&&(h=Ye(h),w=h<0?w.dropRight(-h):w.take(h-c)),w)},ut.prototype.takeRightWhile=function(c){return this.reverse().takeWhile(c).reverse()},ut.prototype.toArray=function(){return this.take(q)},as(ut.prototype,function(c,h){var w=/^(?:filter|find|map|reject)|While$/.test(h),R=/^(?:head|last)$/.test(h),I=$[R?"take"+(h=="last"?"Right":""):h],z=R||/^find/.test(h);I&&($.prototype[h]=function(){var K=this.__wrapped__,X=R?[1]:arguments,te=K instanceof ut,ce=X[0],de=te||Ge(K),he=function(st){var ht=I.apply($,qa([st],X));return R&&be?ht[0]:ht};de&&w&&typeof ce=="function"&&ce.length!=1&&(te=de=!1);var be=this.__chain__,Oe=!!this.__actions__.length,$e=z&&!be,Ze=te&&!Oe;if(!z&&de){K=Ze?K:new ut(this);var Fe=c.apply(K,X);return Fe.__actions__.push({func:Uy,args:[he],thisArg:n}),new io(Fe,be)}return $e&&Ze?c.apply(this,X):(Fe=this.thru(he),$e?R?Fe.value()[0]:Fe.value():Fe)})}),no(["pop","push","shift","sort","splice","unshift"],function(c){var h=fy[c],w=/^(?:push|sort|unshift)$/.test(c)?"tap":"thru",R=/^(?:pop|shift)$/.test(c);$.prototype[c]=function(){var I=arguments;if(R&&!this.__chain__){var z=this.value();return h.apply(Ge(z)?z:[],I)}return this[w](function(K){return h.apply(Ge(K)?K:[],I)})}}),as(ut.prototype,function(c,h){var w=$[h];if(w){var R=w.name+"";Nt.call(qc,R)||(qc[R]=[]),qc[R].push({name:h,func:w})}}),qc[My(n,_).name]=[{name:"wrapper",func:n}],ut.prototype.clone=oH,ut.prototype.reverse=sH,ut.prototype.value=aH,$.prototype.at=Dq,$.prototype.chain=$q,$.prototype.commit=Fq,$.prototype.next=Bq,$.prototype.plant=zq,$.prototype.reverse=Vq,$.prototype.toJSON=$.prototype.valueOf=$.prototype.value=jq,$.prototype.first=$.prototype.head,vh&&($.prototype[vh]=Uq),$},Gc=FG();bt?((bt.exports=Gc)._=Gc,Je._=Gc):qe._=Gc}).call(He)})(w1,w1.exports);var Que=w1.exports,x1=globalThis&&globalThis.__generator||function(e,t){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(u){return function(d){return l([u,d])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(o=u[0]&2?i.return:u[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,u[1])).done)return o;switch(i=0,o&&(u=[u[0]&2,o.value]),u[0]){case 0:case 1:o=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,i=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]"u"||navigator.onLine===void 0?!0:navigator.onLine}function ace(){return typeof document>"u"?!0:document.visibilityState!=="hidden"}var V9=Jo;function d$(e,t){if(e===t||!(V9(e)&&V9(t)||Array.isArray(e)&&Array.isArray(t)))return t;for(var n=Object.keys(t),r=Object.keys(e),i=n.length===r.length,o=Array.isArray(t)?[]:{},s=0,a=n;s=200&&e.status<=299},uce=function(e){return/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"")};function G9(e){if(!Jo(e))return e;for(var t=In({},e),n=0,r=Object.entries(t);n"u"&&a===j9&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),function(y,S){return E1(t,null,function(){var C,T,E,P,k,O,M,G,U,A,N,F,B,D,V,j,q,Z,ee,ie,se,le,W,ne,fe,pe,ve,ye,We,Me,Ee,lt,_e,jt,Wn,Bt;return x1(this,function(it){switch(it.label){case 0:return C=S.signal,T=S.getState,E=S.extra,P=S.endpoint,k=S.forced,O=S.type,G=typeof y=="string"?{url:y}:y,U=G.url,A=G.headers,N=A===void 0?new Headers(_.headers):A,F=G.params,B=F===void 0?void 0:F,D=G.responseHandler,V=D===void 0?v??"json":D,j=G.validateStatus,q=j===void 0?x??lce:j,Z=G.timeout,ee=Z===void 0?m:Z,ie=U9(G,["url","headers","params","responseHandler","validateStatus","timeout"]),se=In(xs(In({},_),{signal:C}),ie),N=new Headers(G9(N)),le=se,[4,o(N,{getState:T,extra:E,endpoint:P,forced:k,type:O})];case 1:le.headers=it.sent()||N,W=function(mt){return typeof mt=="object"&&(Jo(mt)||Array.isArray(mt)||typeof mt.toJSON=="function")},!se.headers.has("content-type")&&W(se.body)&&se.headers.set("content-type",p),W(se.body)&&d(se.headers)&&(se.body=JSON.stringify(se.body,g)),B&&(ne=~U.indexOf("?")?"&":"?",fe=l?l(B):new URLSearchParams(G9(B)),U+=ne+fe),U=oce(r,U),pe=new Request(U,se),ve=pe.clone(),M={request:ve},We=!1,Me=ee&&setTimeout(function(){We=!0,S.abort()},ee),it.label=2;case 2:return it.trys.push([2,4,5,6]),[4,a(pe)];case 3:return ye=it.sent(),[3,6];case 4:return Ee=it.sent(),[2,{error:{status:We?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(Ee)},meta:M}];case 5:return Me&&clearTimeout(Me),[7];case 6:lt=ye.clone(),M.response=lt,jt="",it.label=7;case 7:return it.trys.push([7,9,,10]),[4,Promise.all([b(ye,V).then(function(mt){return _e=mt},function(mt){return Wn=mt}),lt.text().then(function(mt){return jt=mt},function(){})])];case 8:if(it.sent(),Wn)throw Wn;return[3,10];case 9:return Bt=it.sent(),[2,{error:{status:"PARSING_ERROR",originalStatus:ye.status,data:jt,error:String(Bt)},meta:M}];case 10:return[2,q(ye,_e)?{data:_e,meta:M}:{error:{status:ye.status,data:_e},meta:M}]}})})};function b(y,S){return E1(this,null,function(){var C;return x1(this,function(T){switch(T.label){case 0:return typeof S=="function"?[2,S(y)]:(S==="content-type"&&(S=d(y.headers)?"json":"text"),S!=="json"?[3,2]:[4,y.text()]);case 1:return C=T.sent(),[2,C.length?JSON.parse(C):null];case 2:return[2,y.text()]}})})}}var H9=function(){function e(t,n){n===void 0&&(n=void 0),this.value=t,this.meta=n}return e}(),CT=Re("__rtkq/focused"),f$=Re("__rtkq/unfocused"),TT=Re("__rtkq/online"),h$=Re("__rtkq/offline"),Ls;(function(e){e.query="query",e.mutation="mutation"})(Ls||(Ls={}));function p$(e){return e.type===Ls.query}function dce(e){return e.type===Ls.mutation}function g$(e,t,n,r,i,o){return fce(e)?e(t,n,r,i).map(P3).map(o):Array.isArray(e)?e.map(P3).map(o):[]}function fce(e){return typeof e=="function"}function P3(e){return typeof e=="string"?{type:e}:e}function ux(e){return e!=null}var xg=Symbol("forceQueryFn"),R3=function(e){return typeof e[xg]=="function"};function hce(e){var t=e.serializeQueryArgs,n=e.queryThunk,r=e.mutationThunk,i=e.api,o=e.context,s=new Map,a=new Map,l=i.internalActions,u=l.unsubscribeQueryResult,d=l.removeMutationResult,f=l.updateSubscriptionOptions;return{buildInitiateQuery:b,buildInitiateMutation:y,getRunningQueryThunk:m,getRunningMutationThunk:v,getRunningQueriesThunk:x,getRunningMutationsThunk:_,getRunningOperationPromises:g,removalWarning:p};function p(){throw new Error(`This method had to be removed due to a conceptual bug in RTK. Please see https://github.com/reduxjs/redux-toolkit/pull/2481 for details. - See https://redux-toolkit.js.org/rtk-query/usage/server-side-rendering for new guidance on SSR.`)}function g(){typeof process<"u";var S=function(C){return Array.from(C.values()).flatMap(function(T){return T?Object.values(T):[]})};return C1(C1([],S(s)),S(a)).filter(ux)}function m(S,C){return function(T){var E,P=o.endpointDefinitions[S],k=t({queryArgs:C,endpointDefinition:P,endpointName:S});return(E=s.get(T))==null?void 0:E[k]}}function v(S,C){return function(T){var E;return(E=a.get(T))==null?void 0:E[C]}}function x(){return function(S){return Object.values(s.get(S)||{}).filter(ux)}}function _(){return function(S){return Object.values(a.get(S)||{}).filter(ux)}}function b(S,C){var T=function(E,P){var k=P===void 0?{}:P,O=k.subscribe,M=O===void 0?!0:O,G=k.forceRefetch,U=k.subscriptionOptions,A=xg,N=k[A];return function(F,B){var D,V,j=t({queryArgs:E,endpointDefinition:C,endpointName:S}),q=n((D={type:"query",subscribe:M,forceRefetch:G,subscriptionOptions:U,endpointName:S,originalArgs:E,queryCacheKey:j},D[xg]=N,D)),Z=i.endpoints[S].select(E),ee=F(q),ie=Z(B()),se=ee.requestId,le=ee.abort,W=ie.requestId!==se,ne=(V=s.get(F))==null?void 0:V[j],fe=function(){return Z(B())},pe=Object.assign(N?ee.then(fe):W&&!ne?Promise.resolve(ie):Promise.all([ne,ee]).then(fe),{arg:E,requestId:se,subscriptionOptions:U,queryCacheKey:j,abort:le,unwrap:function(){return E1(this,null,function(){var ye;return x1(this,function(We){switch(We.label){case 0:return[4,pe];case 1:if(ye=We.sent(),ye.isError)throw ye.error;return[2,ye.data]}})})},refetch:function(){return F(T(E,{subscribe:!1,forceRefetch:!0}))},unsubscribe:function(){M&&F(u({queryCacheKey:j,requestId:se}))},updateSubscriptionOptions:function(ye){pe.subscriptionOptions=ye,F(f({endpointName:S,requestId:se,queryCacheKey:j,options:ye}))}});if(!ne&&!W&&!N){var ve=s.get(F)||{};ve[j]=pe,s.set(F,ve),pe.then(function(){delete ve[j],Object.keys(ve).length||s.delete(F)})}return pe}};return T}function y(S){return function(C,T){var E=T===void 0?{}:T,P=E.track,k=P===void 0?!0:P,O=E.fixedCacheKey;return function(M,G){var U=r({type:"mutation",endpointName:S,originalArgs:C,track:k,fixedCacheKey:O}),A=M(U),N=A.requestId,F=A.abort,B=A.unwrap,D=A.unwrap().then(function(Z){return{data:Z}}).catch(function(Z){return{error:Z}}),V=function(){M(d({requestId:N,fixedCacheKey:O}))},j=Object.assign(D,{arg:A.arg,requestId:N,abort:F,unwrap:B,unsubscribe:V,reset:V}),q=a.get(M)||{};return a.set(M,q),q[N]=j,j.then(function(){delete q[N],Object.keys(q).length||a.delete(M)}),O&&(q[O]=j,j.then(function(){q[O]===j&&(delete q[O],Object.keys(q).length||a.delete(M))})),j}}}}function W9(e){return e}function hce(e){var t=this,n=e.reducerPath,r=e.baseQuery,i=e.context.endpointDefinitions,o=e.serializeQueryArgs,s=e.api,a=function(y,S,C){return function(T){var E=i[y];T(s.internalActions.queryResultPatched({queryCacheKey:o({queryArgs:S,endpointDefinition:E,endpointName:y}),patches:C}))}},l=function(y,S,C){return function(T,E){var P,k,O=s.endpoints[y].select(S)(E()),M={patches:[],inversePatches:[],undo:function(){return T(s.util.patchQueryData(y,S,M.inversePatches))}};if(O.status===ln.uninitialized)return M;if("data"in O)if(Ai(O.data)){var G=Z4(O.data,C),U=G[1],A=G[2];(P=M.patches).push.apply(P,U),(k=M.inversePatches).push.apply(k,A)}else{var N=C(O.data);M.patches.push({op:"replace",path:[],value:N}),M.inversePatches.push({op:"replace",path:[],value:O.data})}return T(s.util.patchQueryData(y,S,M.patches)),M}},u=function(y,S,C){return function(T){var E;return T(s.endpoints[y].initiate(S,(E={subscribe:!1,forceRefetch:!0},E[xg]=function(){return{data:C}},E)))}},d=function(y,S){return E1(t,[y,S],function(C,T){var E,P,k,O,M,G,U,A,N,F,B,D,V,j,q,Z,ee,ie,se=T.signal,le=T.abort,W=T.rejectWithValue,ne=T.fulfillWithValue,fe=T.dispatch,pe=T.getState,ve=T.extra;return x1(this,function(ye){switch(ye.label){case 0:E=i[C.endpointName],ye.label=1;case 1:return ye.trys.push([1,8,,13]),P=W9,k=void 0,O={signal:se,abort:le,dispatch:fe,getState:pe,extra:ve,endpoint:C.endpointName,type:C.type,forced:C.type==="query"?f(C,pe()):void 0},M=C.type==="query"?C[xg]:void 0,M?(k=M(),[3,6]):[3,2];case 2:return E.query?[4,r(E.query(C.originalArgs),O,E.extraOptions)]:[3,4];case 3:return k=ye.sent(),E.transformResponse&&(P=E.transformResponse),[3,6];case 4:return[4,E.queryFn(C.originalArgs,O,E.extraOptions,function(We){return r(We,O,E.extraOptions)})];case 5:k=ye.sent(),ye.label=6;case 6:if(typeof process<"u",k.error)throw new H9(k.error,k.meta);return B=ne,[4,P(k.data,k.meta,C.originalArgs)];case 7:return[2,B.apply(void 0,[ye.sent(),(ee={fulfilledTimeStamp:Date.now(),baseQueryMeta:k.meta},ee[Du]=!0,ee)])];case 8:if(D=ye.sent(),V=D,!(V instanceof H9))return[3,12];j=W9,E.query&&E.transformErrorResponse&&(j=E.transformErrorResponse),ye.label=9;case 9:return ye.trys.push([9,11,,12]),q=W,[4,j(V.value,V.meta,C.originalArgs)];case 10:return[2,q.apply(void 0,[ye.sent(),(ie={baseQueryMeta:V.meta},ie[Du]=!0,ie)])];case 11:return Z=ye.sent(),V=Z,[3,12];case 12:throw typeof process<"u",console.error(V),V;case 13:return[2]}})})};function f(y,S){var C,T,E,P,k=(T=(C=S[n])==null?void 0:C.queries)==null?void 0:T[y.queryCacheKey],O=(E=S[n])==null?void 0:E.config.refetchOnMountOrArgChange,M=k==null?void 0:k.fulfilledTimeStamp,G=(P=y.forceRefetch)!=null?P:y.subscribe&&O;return G?G===!0||(Number(new Date)-Number(M))/1e3>=G:!1}var p=Ul(n+"/executeQuery",d,{getPendingMeta:function(){var y;return y={startedTimeStamp:Date.now()},y[Du]=!0,y},condition:function(y,S){var C=S.getState,T,E,P,k=C(),O=(E=(T=k[n])==null?void 0:T.queries)==null?void 0:E[y.queryCacheKey],M=O==null?void 0:O.fulfilledTimeStamp,G=y.originalArgs,U=O==null?void 0:O.originalArgs,A=i[y.endpointName];return R3(y)?!0:(O==null?void 0:O.status)==="pending"?!1:f(y,k)||p$(A)&&((P=A==null?void 0:A.forceRefetch)!=null&&P.call(A,{currentArg:G,previousArg:U,endpointState:O,state:k}))?!0:!M},dispatchConditionRejection:!0}),g=Ul(n+"/executeMutation",d,{getPendingMeta:function(){var y;return y={startedTimeStamp:Date.now()},y[Du]=!0,y}}),m=function(y){return"force"in y},v=function(y){return"ifOlderThan"in y},x=function(y,S,C){return function(T,E){var P=m(C)&&C.force,k=v(C)&&C.ifOlderThan,O=function(A){return A===void 0&&(A=!0),s.endpoints[y].initiate(S,{forceRefetch:A})},M=s.endpoints[y].select(S)(E());if(P)T(O());else if(k){var G=M==null?void 0:M.fulfilledTimeStamp;if(!G){T(O());return}var U=(Number(new Date)-Number(new Date(G)))/1e3>=k;U&&T(O())}else T(O(!1))}};function _(y){return function(S){var C,T;return((T=(C=S==null?void 0:S.meta)==null?void 0:C.arg)==null?void 0:T.endpointName)===y}}function b(y,S){return{matchPending:Xd(H_(y),_(S)),matchFulfilled:Xd(tu(y),_(S)),matchRejected:Xd(_f(y),_(S))}}return{queryThunk:p,mutationThunk:g,prefetch:x,updateQueryData:l,upsertQueryData:u,patchQueryData:a,buildMatchThunkActions:b}}function m$(e,t,n,r){return g$(n[e.meta.arg.endpointName][t],tu(e)?e.payload:void 0,sm(e)?e.payload:void 0,e.meta.arg.originalArgs,"baseQueryMeta"in e.meta?e.meta.baseQueryMeta:void 0,r)}function m0(e,t,n){var r=e[t];r&&n(r)}function Cg(e){var t;return(t="arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)!=null?t:e.requestId}function q9(e,t,n){var r=e[Cg(t)];r&&n(r)}var Vh={};function pce(e){var t=e.reducerPath,n=e.queryThunk,r=e.mutationThunk,i=e.context,o=i.endpointDefinitions,s=i.apiUid,a=i.extractRehydrationInfo,l=i.hasRehydrationInfo,u=e.assertTagType,d=e.config,f=Re(t+"/resetApiState"),p=yn({name:t+"/queries",initialState:Vh,reducers:{removeQueryResult:{reducer:function(C,T){var E=T.payload.queryCacheKey;delete C[E]},prepare:uv()},queryResultPatched:function(C,T){var E=T.payload,P=E.queryCacheKey,k=E.patches;m0(C,P,function(O){O.data=c3(O.data,k.concat())})}},extraReducers:function(C){C.addCase(n.pending,function(T,E){var P=E.meta,k=E.meta.arg,O,M,G=R3(k);(k.subscribe||G)&&((M=T[O=k.queryCacheKey])!=null||(T[O]={status:ln.uninitialized,endpointName:k.endpointName})),m0(T,k.queryCacheKey,function(U){U.status=ln.pending,U.requestId=G&&U.requestId?U.requestId:P.requestId,k.originalArgs!==void 0&&(U.originalArgs=k.originalArgs),U.startedTimeStamp=P.startedTimeStamp})}).addCase(n.fulfilled,function(T,E){var P=E.meta,k=E.payload;m0(T,P.arg.queryCacheKey,function(O){var M;if(!(O.requestId!==P.requestId&&!R3(P.arg))){var G=o[P.arg.endpointName].merge;if(O.status=ln.fulfilled,G)if(O.data!==void 0){var U=P.fulfilledTimeStamp,A=P.arg,N=P.baseQueryMeta,F=P.requestId,B=Jl(O.data,function(D){return G(D,k,{arg:A.originalArgs,baseQueryMeta:N,fulfilledTimeStamp:U,requestId:F})});O.data=B}else O.data=k;else O.data=(M=o[P.arg.endpointName].structuralSharing)==null||M?d$(ai(O.data)?H4(O.data):O.data,k):k;delete O.error,O.fulfilledTimeStamp=P.fulfilledTimeStamp}})}).addCase(n.rejected,function(T,E){var P=E.meta,k=P.condition,O=P.arg,M=P.requestId,G=E.error,U=E.payload;m0(T,O.queryCacheKey,function(A){if(!k){if(A.requestId!==M)return;A.status=ln.rejected,A.error=U??G}})}).addMatcher(l,function(T,E){for(var P=a(E).queries,k=0,O=Object.entries(P);k=G:!1}var p=Ul(n+"/executeQuery",d,{getPendingMeta:function(){var y;return y={startedTimeStamp:Date.now()},y[Du]=!0,y},condition:function(y,S){var C=S.getState,T,E,P,k=C(),O=(E=(T=k[n])==null?void 0:T.queries)==null?void 0:E[y.queryCacheKey],M=O==null?void 0:O.fulfilledTimeStamp,G=y.originalArgs,U=O==null?void 0:O.originalArgs,A=i[y.endpointName];return R3(y)?!0:(O==null?void 0:O.status)==="pending"?!1:f(y,k)||p$(A)&&((P=A==null?void 0:A.forceRefetch)!=null&&P.call(A,{currentArg:G,previousArg:U,endpointState:O,state:k}))?!0:!M},dispatchConditionRejection:!0}),g=Ul(n+"/executeMutation",d,{getPendingMeta:function(){var y;return y={startedTimeStamp:Date.now()},y[Du]=!0,y}}),m=function(y){return"force"in y},v=function(y){return"ifOlderThan"in y},x=function(y,S,C){return function(T,E){var P=m(C)&&C.force,k=v(C)&&C.ifOlderThan,O=function(A){return A===void 0&&(A=!0),s.endpoints[y].initiate(S,{forceRefetch:A})},M=s.endpoints[y].select(S)(E());if(P)T(O());else if(k){var G=M==null?void 0:M.fulfilledTimeStamp;if(!G){T(O());return}var U=(Number(new Date)-Number(new Date(G)))/1e3>=k;U&&T(O())}else T(O(!1))}};function _(y){return function(S){var C,T;return((T=(C=S==null?void 0:S.meta)==null?void 0:C.arg)==null?void 0:T.endpointName)===y}}function b(y,S){return{matchPending:Xd(H_(y),_(S)),matchFulfilled:Xd(tu(y),_(S)),matchRejected:Xd(_f(y),_(S))}}return{queryThunk:p,mutationThunk:g,prefetch:x,updateQueryData:l,upsertQueryData:u,patchQueryData:a,buildMatchThunkActions:b}}function m$(e,t,n,r){return g$(n[e.meta.arg.endpointName][t],tu(e)?e.payload:void 0,sm(e)?e.payload:void 0,e.meta.arg.originalArgs,"baseQueryMeta"in e.meta?e.meta.baseQueryMeta:void 0,r)}function m0(e,t,n){var r=e[t];r&&n(r)}function Cg(e){var t;return(t="arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)!=null?t:e.requestId}function q9(e,t,n){var r=e[Cg(t)];r&&n(r)}var Vh={};function gce(e){var t=e.reducerPath,n=e.queryThunk,r=e.mutationThunk,i=e.context,o=i.endpointDefinitions,s=i.apiUid,a=i.extractRehydrationInfo,l=i.hasRehydrationInfo,u=e.assertTagType,d=e.config,f=Re(t+"/resetApiState"),p=yn({name:t+"/queries",initialState:Vh,reducers:{removeQueryResult:{reducer:function(C,T){var E=T.payload.queryCacheKey;delete C[E]},prepare:uv()},queryResultPatched:function(C,T){var E=T.payload,P=E.queryCacheKey,k=E.patches;m0(C,P,function(O){O.data=c3(O.data,k.concat())})}},extraReducers:function(C){C.addCase(n.pending,function(T,E){var P=E.meta,k=E.meta.arg,O,M,G=R3(k);(k.subscribe||G)&&((M=T[O=k.queryCacheKey])!=null||(T[O]={status:ln.uninitialized,endpointName:k.endpointName})),m0(T,k.queryCacheKey,function(U){U.status=ln.pending,U.requestId=G&&U.requestId?U.requestId:P.requestId,k.originalArgs!==void 0&&(U.originalArgs=k.originalArgs),U.startedTimeStamp=P.startedTimeStamp})}).addCase(n.fulfilled,function(T,E){var P=E.meta,k=E.payload;m0(T,P.arg.queryCacheKey,function(O){var M;if(!(O.requestId!==P.requestId&&!R3(P.arg))){var G=o[P.arg.endpointName].merge;if(O.status=ln.fulfilled,G)if(O.data!==void 0){var U=P.fulfilledTimeStamp,A=P.arg,N=P.baseQueryMeta,F=P.requestId,B=Jl(O.data,function(D){return G(D,k,{arg:A.originalArgs,baseQueryMeta:N,fulfilledTimeStamp:U,requestId:F})});O.data=B}else O.data=k;else O.data=(M=o[P.arg.endpointName].structuralSharing)==null||M?d$(ai(O.data)?H4(O.data):O.data,k):k;delete O.error,O.fulfilledTimeStamp=P.fulfilledTimeStamp}})}).addCase(n.rejected,function(T,E){var P=E.meta,k=P.condition,O=P.arg,M=P.requestId,G=E.error,U=E.payload;m0(T,O.queryCacheKey,function(A){if(!k){if(A.requestId!==M)return;A.status=ln.rejected,A.error=U??G}})}).addMatcher(l,function(T,E){for(var P=a(E).queries,k=0,O=Object.entries(P);k"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?$ce:Dce;_$.useSyncExternalStore=Cf.useSyncExternalStore!==void 0?Cf.useSyncExternalStore:Fce;v$.exports=_$;var Bce=v$.exports,b$={exports:{}},S$={};/** + */var Cf=L;function kce(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Ice=typeof Object.is=="function"?Object.is:kce,Mce=Cf.useState,Nce=Cf.useEffect,Lce=Cf.useLayoutEffect,Dce=Cf.useDebugValue;function $ce(e,t){var n=t(),r=Mce({inst:{value:n,getSnapshot:t}}),i=r[0].inst,o=r[1];return Lce(function(){i.value=n,i.getSnapshot=t,cx(i)&&o({inst:i})},[e,n,t]),Nce(function(){return cx(i)&&o({inst:i}),e(function(){cx(i)&&o({inst:i})})},[e]),Dce(n),n}function cx(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Ice(e,n)}catch{return!0}}function Fce(e,t){return t()}var Bce=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?Fce:$ce;_$.useSyncExternalStore=Cf.useSyncExternalStore!==void 0?Cf.useSyncExternalStore:Bce;v$.exports=_$;var Uce=v$.exports,b$={exports:{}},S$={};/** * @license React * use-sync-external-store-shim/with-selector.production.min.js * @@ -81,14 +81,14 @@ function print() { __p += __j.call(arguments, '') } * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ab=L,Uce=Bce;function zce(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Vce=typeof Object.is=="function"?Object.is:zce,jce=Uce.useSyncExternalStore,Gce=ab.useRef,Hce=ab.useEffect,Wce=ab.useMemo,qce=ab.useDebugValue;S$.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=Gce(null);if(o.current===null){var s={hasValue:!1,value:null};o.current=s}else s=o.current;o=Wce(function(){function l(g){if(!u){if(u=!0,d=g,g=r(g),i!==void 0&&s.hasValue){var m=s.value;if(i(m,g))return f=m}return f=g}if(m=f,Vce(d,g))return m;var v=r(g);return i!==void 0&&i(m,v)?m:(d=g,f=v)}var u=!1,d,f,p=n===void 0?null:n;return[function(){return l(t())},p===null?void 0:function(){return l(p())}]},[t,n,r,i]);var a=jce(e,o[0],o[1]);return Hce(function(){s.hasValue=!0,s.value=a},[a]),qce(a),a};b$.exports=S$;var w$=b$.exports;const Kce=dc(w$);function Xce(e){e()}let x$=Xce;const Yce=e=>x$=e,Qce=()=>x$,eR=Symbol.for(`react-redux-context-${L.version}`),tR=globalThis;function Zce(){let e=tR[eR];return e||(e=L.createContext(null),tR[eR]=e),e}const Gl=new Proxy({},new Proxy({},{get(e,t){const n=Zce();return(r,...i)=>Reflect[t](n,...i)}}));function ET(e=Gl){return function(){return L.useContext(e)}}const C$=ET(),Jce=()=>{throw new Error("uSES not initialized!")};let T$=Jce;const ede=e=>{T$=e},tde=(e,t)=>e===t;function nde(e=Gl){const t=e===Gl?C$:ET(e);return function(r,i={}){const{equalityFn:o=tde,stabilityCheck:s=void 0,noopCheck:a=void 0}=typeof i=="function"?{equalityFn:i}:i,{store:l,subscription:u,getServerState:d,stabilityCheck:f,noopCheck:p}=t();L.useRef(!0);const g=L.useCallback({[r.name](v){return r(v)}}[r.name],[r,f,s]),m=T$(u.addNestedSub,l.getState,d||l.getState,g,o);return L.useDebugValue(m),m}}const E$=nde();function A1(){return A1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx$=e,Zce=()=>x$,eR=Symbol.for(`react-redux-context-${L.version}`),tR=globalThis;function Jce(){let e=tR[eR];return e||(e=L.createContext(null),tR[eR]=e),e}const Gl=new Proxy({},new Proxy({},{get(e,t){const n=Jce();return(r,...i)=>Reflect[t](n,...i)}}));function ET(e=Gl){return function(){return L.useContext(e)}}const C$=ET(),ede=()=>{throw new Error("uSES not initialized!")};let T$=ede;const tde=e=>{T$=e},nde=(e,t)=>e===t;function rde(e=Gl){const t=e===Gl?C$:ET(e);return function(r,i={}){const{equalityFn:o=nde,stabilityCheck:s=void 0,noopCheck:a=void 0}=typeof i=="function"?{equalityFn:i}:i,{store:l,subscription:u,getServerState:d,stabilityCheck:f,noopCheck:p}=t();L.useRef(!0);const g=L.useCallback({[r.name](v){return r(v)}}[r.name],[r,f,s]),m=T$(u.addNestedSub,l.getState,d||l.getState,g,o);return L.useDebugValue(m),m}}const E$=rde();function A1(){return A1=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let r=t;for(;r;)r.callback(),r=r.next})},get(){let r=[],i=t;for(;i;)r.push(i),i=i.next;return r},subscribe(r){let i=!0,o=n={callback:r,next:null,prev:n};return o.prev?o.prev.next=o:t=o,function(){!i||t===null||(i=!1,o.next?o.next.prev=o.prev:n=o.prev,o.prev?o.prev.next=o.next:t=o.next)}}}}const nR={notify(){},get:()=>[]};function pde(e,t){let n,r=nR;function i(f){return l(),r.subscribe(f)}function o(){r.notify()}function s(){d.onStateChange&&d.onStateChange()}function a(){return!!n}function l(){n||(n=t?t.addNestedSub(s):e.subscribe(s),r=hde())}function u(){n&&(n(),n=void 0,r.clear(),r=nR)}const d={addNestedSub:i,notifyNestedSubs:o,handleChangeWrapper:s,isSubscribed:a,trySubscribe:l,tryUnsubscribe:u,getListeners:()=>r};return d}const gde=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",mde=gde?L.useLayoutEffect:L.useEffect;function rR(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function P1(e,t){if(rR(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;i{const u=pde(e);return{store:e,subscription:u,getServerState:r?()=>r:void 0,stabilityCheck:i,noopCheck:o}},[e,r,i,o]),a=L.useMemo(()=>e.getState(),[e]);mde(()=>{const{subscription:u}=s;return u.onStateChange=u.notifyNestedSubs,u.trySubscribe(),a!==e.getState()&&u.notifyNestedSubs(),()=>{u.tryUnsubscribe(),u.onStateChange=void 0}},[s,a]);const l=t||Gl;return Lt.createElement(l.Provider,{value:s},n)}function I$(e=Gl){const t=e===Gl?C$:ET(e);return function(){const{store:r}=t();return r}}const M$=I$();function vde(e=Gl){const t=e===Gl?M$:I$(e);return function(){return t().dispatch}}const N$=vde();ede(w$.useSyncExternalStoreWithSelector);Yce(bs.unstable_batchedUpdates);var _de=globalThis&&globalThis.__spreadArray||function(e,t){for(var n=0,r=t.length,i=e.length;n{const r=wg.get(),i=Sg.get(),o=S1.get();return uce({baseUrl:`${r??""}/api/v1`,prepareHeaders:a=>(i&&a.set("Authorization",`Bearer ${i}`),o&&a.set("project-id",o),a)})(e,t,n)},Hl=Nde({baseQuery:Dde,reducerPath:"api",tagTypes:Lde,endpoints:()=>({})}),$de=(e,t)=>{const n=new Date(e),r=new Date(t);return n>r?1:ne==null,jde=e=>encodeURIComponent(e).replace(/[!'()*]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),k3=Symbol("encodeFragmentIdentifier");function Gde(e){switch(e.arrayFormat){case"index":return t=>(n,r)=>{const i=n.length;return r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Fn(t,e),"[",i,"]"].join("")]:[...n,[Fn(t,e),"[",Fn(i,e),"]=",Fn(r,e)].join("")]};case"bracket":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Fn(t,e),"[]"].join("")]:[...n,[Fn(t,e),"[]=",Fn(r,e)].join("")];case"colon-list-separator":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Fn(t,e),":list="].join("")]:[...n,[Fn(t,e),":list=",Fn(r,e)].join("")];case"comma":case"separator":case"bracket-separator":{const t=e.arrayFormat==="bracket-separator"?"[]=":"=";return n=>(r,i)=>i===void 0||e.skipNull&&i===null||e.skipEmptyString&&i===""?r:(i=i===null?"":i,r.length===0?[[Fn(n,e),t,Fn(i,e)].join("")]:[[r,Fn(i,e)].join(e.arrayFormatSeparator)])}default:return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,Fn(t,e)]:[...n,[Fn(t,e),"=",Fn(r,e)].join("")]}}function Hde(e){let t;switch(e.arrayFormat){case"index":return(n,r,i)=>{if(t=/\[(\d*)]$/.exec(n),n=n.replace(/\[\d*]$/,""),!t){i[n]=r;return}i[n]===void 0&&(i[n]={}),i[n][t[1]]=r};case"bracket":return(n,r,i)=>{if(t=/(\[])$/.exec(n),n=n.replace(/\[]$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"colon-list-separator":return(n,r,i)=>{if(t=/(:list)$/.exec(n),n=n.replace(/:list$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"comma":case"separator":return(n,r,i)=>{const o=typeof r=="string"&&r.includes(e.arrayFormatSeparator),s=typeof r=="string"&&!o&&da(r,e).includes(e.arrayFormatSeparator);r=s?da(r,e):r;const a=o||s?r.split(e.arrayFormatSeparator).map(l=>da(l,e)):r===null?r:da(r,e);i[n]=a};case"bracket-separator":return(n,r,i)=>{const o=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!o){i[n]=r&&da(r,e);return}const s=r===null?[]:r.split(e.arrayFormatSeparator).map(a=>da(a,e));if(i[n]===void 0){i[n]=s;return}i[n]=[...i[n],...s]};default:return(n,r,i)=>{if(i[n]===void 0){i[n]=r;return}i[n]=[...[i[n]].flat(),r]}}}function $$(e){if(typeof e!="string"||e.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function Fn(e,t){return t.encode?t.strict?jde(e):encodeURIComponent(e):e}function da(e,t){return t.decode?Ude(e):e}function F$(e){return Array.isArray(e)?e.sort():typeof e=="object"?F$(Object.keys(e)).sort((t,n)=>Number(t)-Number(n)).map(t=>e[t]):e}function B$(e){const t=e.indexOf("#");return t!==-1&&(e=e.slice(0,t)),e}function Wde(e){let t="";const n=e.indexOf("#");return n!==-1&&(t=e.slice(n)),t}function uR(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""?e=Number(e):t.parseBooleans&&e!==null&&(e.toLowerCase()==="true"||e.toLowerCase()==="false")&&(e=e.toLowerCase()==="true"),e}function IT(e){e=B$(e);const t=e.indexOf("?");return t===-1?"":e.slice(t+1)}function MT(e,t){t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...t},$$(t.arrayFormatSeparator);const n=Hde(t),r=Object.create(null);if(typeof e!="string"||(e=e.trim().replace(/^[?#&]/,""),!e))return r;for(const i of e.split("&")){if(i==="")continue;const o=t.decode?i.replace(/\+/g," "):i;let[s,a]=D$(o,"=");s===void 0&&(s=o),a=a===void 0?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?a:da(a,t),n(da(s,t),a,r)}for(const[i,o]of Object.entries(r))if(typeof o=="object"&&o!==null)for(const[s,a]of Object.entries(o))o[s]=uR(a,t);else r[i]=uR(o,t);return t.sort===!1?r:(t.sort===!0?Object.keys(r).sort():Object.keys(r).sort(t.sort)).reduce((i,o)=>{const s=r[o];return s&&typeof s=="object"&&!Array.isArray(s)?i[o]=F$(s):i[o]=s,i},Object.create(null))}function U$(e,t){if(!e)return"";t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t},$$(t.arrayFormatSeparator);const n=s=>t.skipNull&&Vde(e[s])||t.skipEmptyString&&e[s]==="",r=Gde(t),i={};for(const[s,a]of Object.entries(e))n(s)||(i[s]=a);const o=Object.keys(i);return t.sort!==!1&&o.sort(t.sort),o.map(s=>{const a=e[s];return a===void 0?"":a===null?Fn(s,t):Array.isArray(a)?a.length===0&&t.arrayFormat==="bracket-separator"?Fn(s,t)+"[]":a.reduce(r(s),[]).join("&"):Fn(s,t)+"="+Fn(a,t)}).filter(s=>s.length>0).join("&")}function z$(e,t){var i;t={decode:!0,...t};let[n,r]=D$(e,"#");return n===void 0&&(n=e),{url:((i=n==null?void 0:n.split("?"))==null?void 0:i[0])??"",query:MT(IT(e),t),...t&&t.parseFragmentIdentifier&&r?{fragmentIdentifier:da(r,t)}:{}}}function V$(e,t){t={encode:!0,strict:!0,[k3]:!0,...t};const n=B$(e.url).split("?")[0]||"",r=IT(e.url),i={...MT(r,{sort:!1}),...e.query};let o=U$(i,t);o&&(o=`?${o}`);let s=Wde(e.url);if(e.fragmentIdentifier){const a=new URL(n);a.hash=e.fragmentIdentifier,s=t[k3]?a.hash:`#${e.fragmentIdentifier}`}return`${n}${o}${s}`}function j$(e,t,n){n={parseFragmentIdentifier:!0,[k3]:!1,...n};const{url:r,query:i,fragmentIdentifier:o}=z$(e,n);return V$({url:r,query:zde(i,t),fragmentIdentifier:o},n)}function qde(e,t,n){const r=Array.isArray(t)?i=>!t.includes(i):(i,o)=>!t(i,o);return j$(e,r,n)}const fv=Object.freeze(Object.defineProperty({__proto__:null,exclude:qde,extract:IT,parse:MT,parseUrl:z$,pick:j$,stringify:U$,stringifyUrl:V$},Symbol.toStringTag,{value:"Module"})),jh=(e,t)=>{if(!e)return!1;const n=O1.selectAll(e);if(n.length>1){const r=new Date(t.created_at),i=n[n.length-1];if(!i)return!1;const o=new Date(i.created_at);return r>=o}else if([0,1].includes(n.length))return!0;return!1},rl=e=>Vr.includes(e.image_category)?Vr:wl,pn=eu({selectId:e=>e.image_name,sortComparer:(e,t)=>$de(t.updated_at,e.updated_at)}),O1=pn.getSelectors(),Bo=e=>`images/?${fv.stringify(e,{arrayFormat:"none"})}`,Ui=Hl.injectEndpoints({endpoints:e=>({listBoards:e.query({query:t=>({url:"boards/",params:t}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Ke}];return t&&i.push(...t.items.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllBoards:e.query({query:()=>({url:"boards/",params:{all:!0}}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Ke}];return t&&i.push(...t.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllImageNamesForBoard:e.query({query:t=>({url:`boards/${t}/image_names`}),providesTags:(t,n,r)=>[{type:"ImageNameList",id:r}],keepUnusedDataFor:0}),getBoardImagesTotal:e.query({query:t=>({url:Bo({board_id:t??"none",categories:Vr,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardImagesTotal",id:r??"none"}],transformResponse:t=>t.total}),getBoardAssetsTotal:e.query({query:t=>({url:Bo({board_id:t??"none",categories:wl,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardAssetsTotal",id:r??"none"}],transformResponse:t=>t.total}),createBoard:e.mutation({query:t=>({url:"boards/",method:"POST",params:{board_name:t}}),invalidatesTags:[{type:"Board",id:Ke}]}),updateBoard:e.mutation({query:({board_id:t,changes:n})=>({url:`boards/${t}`,method:"PATCH",body:n}),invalidatesTags:(t,n,r)=>[{type:"Board",id:r.board_id}]})})}),{useListBoardsQuery:Dke,useListAllBoardsQuery:$ke,useGetBoardImagesTotalQuery:Fke,useGetBoardAssetsTotalQuery:Bke,useCreateBoardMutation:Uke,useUpdateBoardMutation:zke,useListAllImageNamesForBoardQuery:Vke}=Ui,Se=Hl.injectEndpoints({endpoints:e=>({listImages:e.query({query:t=>({url:Bo(t),method:"GET"}),providesTags:(t,n,{board_id:r,categories:i})=>[{type:"ImageList",id:Bo({board_id:r,categories:i})}],serializeQueryArgs:({queryArgs:t})=>{const{board_id:n,categories:r}=t;return Bo({board_id:n,categories:r})},transformResponse(t){const{items:n}=t;return pn.addMany(pn.getInitialState(),n)},merge:(t,n)=>{pn.addMany(t,O1.selectAll(n))},forceRefetch({currentArg:t,previousArg:n}){return(t==null?void 0:t.offset)!==(n==null?void 0:n.offset)},async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){try{const{data:i}=await r;O1.selectAll(i).forEach(o=>{n(Se.util.upsertQueryData("getImageDTO",o.image_name,o))})}catch{}},keepUnusedDataFor:86400}),getIntermediatesCount:e.query({query:()=>({url:Bo({is_intermediate:!0})}),providesTags:["IntermediatesCount"],transformResponse:t=>t.total}),getImageDTO:e.query({query:t=>({url:`images/i/${t}`}),providesTags:(t,n,r)=>[{type:"Image",id:r}],keepUnusedDataFor:86400}),getImageMetadata:e.query({query:t=>({url:`images/i/${t}/metadata`}),providesTags:(t,n,r)=>[{type:"ImageMetadata",id:r}],keepUnusedDataFor:86400}),clearIntermediates:e.mutation({query:()=>({url:"images/clear-intermediates",method:"POST"}),invalidatesTags:["IntermediatesCount"]}),deleteImage:e.mutation({query:({image_name:t})=>({url:`images/i/${t}`,method:"DELETE"}),invalidatesTags:(t,n,{board_id:r})=>[{type:"BoardImagesTotal",id:r??"none"},{type:"BoardAssetsTotal",id:r??"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){const{image_name:i,board_id:o}=t,s={board_id:o??"none",categories:rl(t)},a=n(Se.util.updateQueryData("listImages",s,l=>{pn.removeOne(l,i)}));try{await r}catch{a.undo()}}}),deleteImages:e.mutation({query:({imageDTOs:t})=>({url:"images/delete",method:"POST",body:{image_names:t.map(r=>r.image_name)}}),invalidatesTags:(t,n,{imageDTOs:r})=>{var o;const i=(o=r[0])==null?void 0:o.board_id;return[{type:"BoardImagesTotal",id:i??"none"},{type:"BoardAssetsTotal",id:i??"none"}]},async onQueryStarted({imageDTOs:t},{dispatch:n,queryFulfilled:r}){try{const{data:i}=await r,o=Yue.keyBy(t,"image_name");i.deleted_images.forEach(s=>{const a=o[s];if(a){const l={board_id:a.board_id??"none",categories:rl(a)};n(Se.util.updateQueryData("listImages",l,u=>{pn.removeOne(u,s)}))}})}catch{}}}),changeImageIsIntermediate:e.mutation({query:({imageDTO:t,is_intermediate:n})=>({url:`images/i/${t.image_name}`,method:"PATCH",body:{is_intermediate:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,is_intermediate:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(Se.util.updateQueryData("getImageDTO",t.image_name,l=>{Object.assign(l,{is_intermediate:n})})));const a=rl(t);if(n)s.push(r(Se.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:a},l=>{pn.removeOne(l,t.image_name)})));else{const l={board_id:t.board_id??"none",categories:a},u=Se.endpoints.listImages.select(l)(o()),{data:d}=Vr.includes(t.image_category)?Ui.endpoints.getBoardImagesTotal.select(t.board_id??"none")(o()):Ui.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(o()),f=u.data&&u.data.ids.length>=(d??0),p=jh(u.data,t);(f||p)&&s.push(r(Se.util.updateQueryData("listImages",l,g=>{pn.upsertOne(g,t)})))}try{await i}catch{s.forEach(l=>l.undo())}}}),changeImageSessionId:e.mutation({query:({imageDTO:t,session_id:n})=>({url:`images/i/${t.image_name}`,method:"PATCH",body:{session_id:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,session_id:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(Se.util.updateQueryData("getImageDTO",t.image_name,a=>{Object.assign(a,{session_id:n})})));try{await i}catch{s.forEach(a=>a.undo())}}}),uploadImage:e.mutation({query:({file:t,image_category:n,is_intermediate:r,session_id:i,board_id:o,crop_visible:s})=>{const a=new FormData;return a.append("file",t),{url:"images/upload",method:"POST",body:a,params:{image_category:n,is_intermediate:r,session_id:i,board_id:o==="none"?void 0:o,crop_visible:s}}},async onQueryStarted({file:t,image_category:n,is_intermediate:r,postUploadAction:i,session_id:o,board_id:s},{dispatch:a,queryFulfilled:l}){try{const{data:u}=await l;if(u.is_intermediate)return;a(Se.util.upsertQueryData("getImageDTO",u.image_name,u));const d=rl(u);a(Se.util.updateQueryData("listImages",{board_id:u.board_id??"none",categories:d},f=>{pn.addOne(f,u)})),a(Se.util.invalidateTags([{type:"BoardImagesTotal",id:u.board_id??"none"},{type:"BoardAssetsTotal",id:u.board_id??"none"}]))}catch{}}}),deleteBoard:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE"}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Ke},{type:"ImageList",id:Bo({board_id:"none",categories:Vr})},{type:"ImageList",id:Bo({board_id:"none",categories:wl})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_board_images:s}=o;s.forEach(u=>{n(Se.util.updateQueryData("getImageDTO",u,d=>{d.board_id=void 0}))});const a=[{categories:Vr},{categories:wl}],l=s.map(u=>({id:u,changes:{board_id:void 0}}));a.forEach(u=>{n(Se.util.updateQueryData("listImages",u,d=>{pn.updateMany(d,l)}))})}catch{}}}),deleteBoardAndImages:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE",params:{include_images:!0}}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Ke},{type:"ImageList",id:Bo({board_id:"none",categories:Vr})},{type:"ImageList",id:Bo({board_id:"none",categories:wl})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_images:s}=o;[{categories:Vr},{categories:wl}].forEach(l=>{n(Se.util.updateQueryData("listImages",l,u=>{pn.removeMany(u,s)}))})}catch{}}}),addImageToBoard:e.mutation({query:({board_id:t,imageDTO:n})=>{const{image_name:r}=n;return{url:"board_images/",method:"POST",body:{board_id:t,image_name:r}}},invalidatesTags:(t,n,{board_id:r,imageDTO:i})=>[{type:"Board",id:r},{type:"BoardImagesTotal",id:r},{type:"BoardAssetsTotal",id:r},{type:"BoardImagesTotal",id:i.board_id??"none"},{type:"BoardAssetsTotal",id:i.board_id??"none"}],async onQueryStarted({board_id:t,imageDTO:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[],a=rl(n);if(s.push(r(Se.util.updateQueryData("getImageDTO",n.image_name,l=>{l.board_id=t}))),!n.is_intermediate){s.push(r(Se.util.updateQueryData("listImages",{board_id:n.board_id??"none",categories:a},g=>{pn.removeOne(g,n.image_name)})));const l={board_id:t??"none",categories:a},u=Se.endpoints.listImages.select(l)(o()),{data:d}=Vr.includes(n.image_category)?Ui.endpoints.getBoardImagesTotal.select(n.board_id??"none")(o()):Ui.endpoints.getBoardAssetsTotal.select(n.board_id??"none")(o()),f=u.data&&u.data.ids.length>=(d??0),p=jh(u.data,n);(f||p)&&s.push(r(Se.util.updateQueryData("listImages",l,g=>{pn.addOne(g,n)})))}try{await i}catch{s.forEach(l=>l.undo())}}}),removeImageFromBoard:e.mutation({query:({imageDTO:t})=>{const{image_name:n}=t;return{url:"board_images/",method:"DELETE",body:{image_name:n}}},invalidatesTags:(t,n,{imageDTO:r})=>{const{board_id:i}=r;return[{type:"Board",id:i??"none"},{type:"BoardImagesTotal",id:i??"none"},{type:"BoardAssetsTotal",id:i??"none"},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}]},async onQueryStarted({imageDTO:t},{dispatch:n,queryFulfilled:r,getState:i}){const o=rl(t),s=[];s.push(n(Se.util.updateQueryData("getImageDTO",t.image_name,p=>{p.board_id=void 0}))),s.push(n(Se.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:o},p=>{pn.removeOne(p,t.image_name)})));const a={board_id:"none",categories:o},l=Se.endpoints.listImages.select(a)(i()),{data:u}=Vr.includes(t.image_category)?Ui.endpoints.getBoardImagesTotal.select(t.board_id??"none")(i()):Ui.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(i()),d=l.data&&l.data.ids.length>=(u??0),f=jh(l.data,t);(d||f)&&s.push(n(Se.util.updateQueryData("listImages",a,p=>{pn.upsertOne(p,t)})));try{await r}catch{s.forEach(p=>p.undo())}}}),addImagesToBoard:e.mutation({query:({board_id:t,imageDTOs:n})=>({url:"board_images/batch",method:"POST",body:{image_names:n.map(r=>r.image_name),board_id:t}}),invalidatesTags:(t,n,{imageDTOs:r,board_id:i})=>{var s;const o=(s=r[0])==null?void 0:s.board_id;return[{type:"Board",id:i??"none"},{type:"BoardImagesTotal",id:i??"none"},{type:"BoardAssetsTotal",id:i??"none"},{type:"BoardImagesTotal",id:o??"none"},{type:"BoardAssetsTotal",id:o??"none"},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}]},async onQueryStarted({board_id:t,imageDTOs:n},{dispatch:r,queryFulfilled:i,getState:o}){try{const{data:s}=await i,{added_image_names:a}=s;a.forEach(l=>{r(Se.util.updateQueryData("getImageDTO",l,_=>{_.board_id=t}));const u=n.find(_=>_.image_name===l);if(!u)return;const d=rl(u),f=u.board_id;r(Se.util.updateQueryData("listImages",{board_id:f??"none",categories:d},_=>{pn.removeOne(_,u.image_name)}));const p={board_id:t,categories:d},g=Se.endpoints.listImages.select(p)(o()),{data:m}=Vr.includes(u.image_category)?Ui.endpoints.getBoardImagesTotal.select(t??"none")(o()):Ui.endpoints.getBoardAssetsTotal.select(t??"none")(o()),v=g.data&&g.data.ids.length>=(m??0),x=(m||0)>=F9?jh(g.data,u):!0;(v||x)&&r(Se.util.updateQueryData("listImages",p,_=>{pn.upsertOne(_,{...u,board_id:t})}))})}catch{}}}),removeImagesFromBoard:e.mutation({query:({imageDTOs:t})=>({url:"board_images/batch/delete",method:"POST",body:{image_names:t.map(n=>n.image_name)}}),invalidatesTags:(t,n,{imageDTOs:r})=>{const i=[],o=[{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}];return t==null||t.removed_image_names.forEach(s=>{var l;const a=(l=r.find(u=>u.image_name===s))==null?void 0:l.board_id;!a||i.includes(a)||(o.push({type:"Board",id:a}),o.push({type:"BoardImagesTotal",id:a}),o.push({type:"BoardAssetsTotal",id:a}))}),o},async onQueryStarted({imageDTOs:t},{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{removed_image_names:s}=o;s.forEach(a=>{n(Se.util.updateQueryData("getImageDTO",a,v=>{v.board_id=void 0}));const l=t.find(v=>v.image_name===a);if(!l)return;const u=rl(l);n(Se.util.updateQueryData("listImages",{board_id:l.board_id??"none",categories:u},v=>{pn.removeOne(v,l.image_name)}));const d={board_id:"none",categories:u},f=Se.endpoints.listImages.select(d)(i()),{data:p}=Vr.includes(l.image_category)?Ui.endpoints.getBoardImagesTotal.select(l.board_id??"none")(i()):Ui.endpoints.getBoardAssetsTotal.select(l.board_id??"none")(i()),g=f.data&&f.data.ids.length>=(p??0),m=(p||0)>=F9?jh(f.data,l):!0;(g||m)&&n(Se.util.updateQueryData("listImages",d,v=>{pn.upsertOne(v,{...l,board_id:"none"})}))})}catch{}}})})}),{useGetIntermediatesCountQuery:jke,useListImagesQuery:Gke,useLazyListImagesQuery:Hke,useGetImageDTOQuery:Wke,useGetImageMetadataQuery:qke,useDeleteImageMutation:Kke,useDeleteImagesMutation:Xke,useUploadImageMutation:Yke,useClearIntermediatesMutation:Qke,useAddImagesToBoardMutation:Zke,useRemoveImagesFromBoardMutation:Jke,useAddImageToBoardMutation:eIe,useRemoveImageFromBoardMutation:tIe,useChangeImageIsIntermediateMutation:nIe,useChangeImageSessionIdMutation:rIe,useDeleteBoardAndImagesMutation:iIe,useDeleteBoardMutation:oIe}=Se,G$=Re("socket/socketConnected"),H$=Re("socket/appSocketConnected"),W$=Re("socket/socketDisconnected"),q$=Re("socket/appSocketDisconnected"),NT=Re("socket/socketSubscribed"),K$=Re("socket/appSocketSubscribed"),X$=Re("socket/socketUnsubscribed"),Y$=Re("socket/appSocketUnsubscribed"),Q$=Re("socket/socketInvocationStarted"),Z$=Re("socket/appSocketInvocationStarted"),LT=Re("socket/socketInvocationComplete"),J$=Re("socket/appSocketInvocationComplete"),eF=Re("socket/socketInvocationError"),DT=Re("socket/appSocketInvocationError"),tF=Re("socket/socketGraphExecutionStateComplete"),nF=Re("socket/appSocketGraphExecutionStateComplete"),rF=Re("socket/socketGeneratorProgress"),iF=Re("socket/appSocketGeneratorProgress"),oF=Re("socket/socketModelLoadStarted"),Kde=Re("socket/appSocketModelLoadStarted"),sF=Re("socket/socketModelLoadCompleted"),Xde=Re("socket/appSocketModelLoadCompleted"),aF=Re("socket/socketSessionRetrievalError"),lF=Re("socket/appSocketSessionRetrievalError"),uF=Re("socket/socketInvocationRetrievalError"),cF=Re("socket/appSocketInvocationRetrievalError"),$T=Re("controlNet/imageProcessed"),_d={none:{type:"none",label:"none",description:"",default:{type:"none"}},canny_image_processor:{type:"canny_image_processor",label:"Canny",description:"",default:{id:"canny_image_processor",type:"canny_image_processor",low_threshold:100,high_threshold:200}},content_shuffle_image_processor:{type:"content_shuffle_image_processor",label:"Content Shuffle",description:"",default:{id:"content_shuffle_image_processor",type:"content_shuffle_image_processor",detect_resolution:512,image_resolution:512,h:512,w:512,f:256}},hed_image_processor:{type:"hed_image_processor",label:"HED",description:"",default:{id:"hed_image_processor",type:"hed_image_processor",detect_resolution:512,image_resolution:512,scribble:!1}},lineart_anime_image_processor:{type:"lineart_anime_image_processor",label:"Lineart Anime",description:"",default:{id:"lineart_anime_image_processor",type:"lineart_anime_image_processor",detect_resolution:512,image_resolution:512}},lineart_image_processor:{type:"lineart_image_processor",label:"Lineart",description:"",default:{id:"lineart_image_processor",type:"lineart_image_processor",detect_resolution:512,image_resolution:512,coarse:!1}},mediapipe_face_processor:{type:"mediapipe_face_processor",label:"Mediapipe Face",description:"",default:{id:"mediapipe_face_processor",type:"mediapipe_face_processor",max_faces:1,min_confidence:.5}},midas_depth_image_processor:{type:"midas_depth_image_processor",label:"Depth (Midas)",description:"",default:{id:"midas_depth_image_processor",type:"midas_depth_image_processor",a_mult:2,bg_th:.1}},mlsd_image_processor:{type:"mlsd_image_processor",label:"M-LSD",description:"",default:{id:"mlsd_image_processor",type:"mlsd_image_processor",detect_resolution:512,image_resolution:512,thr_d:.1,thr_v:.1}},normalbae_image_processor:{type:"normalbae_image_processor",label:"Normal BAE",description:"",default:{id:"normalbae_image_processor",type:"normalbae_image_processor",detect_resolution:512,image_resolution:512}},openpose_image_processor:{type:"openpose_image_processor",label:"Openpose",description:"",default:{id:"openpose_image_processor",type:"openpose_image_processor",detect_resolution:512,image_resolution:512,hand_and_face:!1}},pidi_image_processor:{type:"pidi_image_processor",label:"PIDI",description:"",default:{id:"pidi_image_processor",type:"pidi_image_processor",detect_resolution:512,image_resolution:512,scribble:!1,safe:!1}},zoe_depth_image_processor:{type:"zoe_depth_image_processor",label:"Depth (Zoe)",description:"",default:{id:"zoe_depth_image_processor",type:"zoe_depth_image_processor"}}},b0={canny:"canny_image_processor",mlsd:"mlsd_image_processor",depth:"midas_depth_image_processor",bae:"normalbae_image_processor",lineart:"lineart_image_processor",lineart_anime:"lineart_anime_image_processor",softedge:"hed_image_processor",shuffle:"content_shuffle_image_processor",openpose:"openpose_image_processor",mediapipe:"mediapipe_face_processor"},cR={isEnabled:!0,model:null,weight:1,beginStepPct:0,endStepPct:1,controlMode:"balanced",resizeMode:"just_resize",controlImage:null,processedControlImage:null,processorType:"canny_image_processor",processorNode:_d.canny_image_processor.default,shouldAutoConfig:!0},I3={controlNets:{},isEnabled:!1,pendingControlImages:[]},dF=yn({name:"controlNet",initialState:I3,reducers:{isControlNetEnabledToggled:e=>{e.isEnabled=!e.isEnabled},controlNetAdded:(e,t)=>{const{controlNetId:n,controlNet:r}=t.payload;e.controlNets[n]={...r??cR,controlNetId:n}},controlNetDuplicated:(e,t)=>{const{sourceControlNetId:n,newControlNetId:r}=t.payload,i=e.controlNets[n];if(!i)return;const o=Ur(i);o.controlNetId=r,e.controlNets[r]=o},controlNetAddedFromImage:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n]={...cR,controlNetId:n,controlImage:r}},controlNetRemoved:(e,t)=>{const{controlNetId:n}=t.payload;delete e.controlNets[n]},controlNetToggled:(e,t)=>{const{controlNetId:n}=t.payload,r=e.controlNets[n];r&&(r.isEnabled=!r.isEnabled)},controlNetImageChanged:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload,i=e.controlNets[n];i&&(i.controlImage=r,i.processedControlImage=null,r!==null&&i.processorType!=="none"&&e.pendingControlImages.push(n))},controlNetProcessedImageChanged:(e,t)=>{const{controlNetId:n,processedControlImage:r}=t.payload,i=e.controlNets[n];i&&(i.processedControlImage=r,e.pendingControlImages=e.pendingControlImages.filter(o=>o!==n))},controlNetModelChanged:(e,t)=>{const{controlNetId:n,model:r}=t.payload,i=e.controlNets[n];if(i&&(i.model=r,i.processedControlImage=null,i.shouldAutoConfig)){let o;for(const s in b0)if(r.model_name.includes(s)){o=b0[s];break}o?(i.processorType=o,i.processorNode=_d[o].default):(i.processorType="none",i.processorNode=_d.none.default)}},controlNetWeightChanged:(e,t)=>{const{controlNetId:n,weight:r}=t.payload,i=e.controlNets[n];i&&(i.weight=r)},controlNetBeginStepPctChanged:(e,t)=>{const{controlNetId:n,beginStepPct:r}=t.payload,i=e.controlNets[n];i&&(i.beginStepPct=r)},controlNetEndStepPctChanged:(e,t)=>{const{controlNetId:n,endStepPct:r}=t.payload,i=e.controlNets[n];i&&(i.endStepPct=r)},controlNetControlModeChanged:(e,t)=>{const{controlNetId:n,controlMode:r}=t.payload,i=e.controlNets[n];i&&(i.controlMode=r)},controlNetResizeModeChanged:(e,t)=>{const{controlNetId:n,resizeMode:r}=t.payload,i=e.controlNets[n];i&&(i.resizeMode=r)},controlNetProcessorParamsChanged:(e,t)=>{const{controlNetId:n,changes:r}=t.payload,i=e.controlNets[n];if(!i)return;const o=i.processorNode;i.processorNode={...o,...r},i.shouldAutoConfig=!1},controlNetProcessorTypeChanged:(e,t)=>{const{controlNetId:n,processorType:r}=t.payload,i=e.controlNets[n];i&&(i.processedControlImage=null,i.processorType=r,i.processorNode=_d[r].default,i.shouldAutoConfig=!1)},controlNetAutoConfigToggled:(e,t)=>{var o;const{controlNetId:n}=t.payload,r=e.controlNets[n];if(!r)return;const i=!r.shouldAutoConfig;if(i){let s;for(const a in b0)if((o=r.model)!=null&&o.model_name.includes(a)){s=b0[a];break}s?(r.processorType=s,r.processorNode=_d[s].default):(r.processorType="none",r.processorNode=_d.none.default)}r.shouldAutoConfig=i},controlNetReset:()=>({...I3})},extraReducers:e=>{e.addCase($T,(t,n)=>{const r=t.controlNets[n.payload.controlNetId];r&&r.controlImage!==null&&t.pendingControlImages.push(n.payload.controlNetId)}),e.addCase(DT,t=>{t.pendingControlImages=[]}),e.addMatcher(i$,t=>{t.pendingControlImages=[]}),e.addMatcher(Se.endpoints.deleteImage.matchFulfilled,(t,n)=>{const{image_name:r}=n.meta.arg.originalArgs;tc(t.controlNets,i=>{i.controlImage===r&&(i.controlImage=null,i.processedControlImage=null),i.processedControlImage===r&&(i.processedControlImage=null)})})}}),{isControlNetEnabledToggled:sIe,controlNetAdded:aIe,controlNetDuplicated:lIe,controlNetAddedFromImage:uIe,controlNetRemoved:fF,controlNetImageChanged:FT,controlNetProcessedImageChanged:Yde,controlNetToggled:cIe,controlNetModelChanged:dR,controlNetWeightChanged:dIe,controlNetBeginStepPctChanged:fIe,controlNetEndStepPctChanged:hIe,controlNetControlModeChanged:pIe,controlNetResizeModeChanged:gIe,controlNetProcessorParamsChanged:Qde,controlNetProcessorTypeChanged:Zde,controlNetReset:BT,controlNetAutoConfigToggled:fR}=dF.actions,Jde=dF.reducer,hF={isEnabled:!1,maxPrompts:100,combinatorial:!0},efe=hF,pF=yn({name:"dynamicPrompts",initialState:efe,reducers:{maxPromptsChanged:(e,t)=>{e.maxPrompts=t.payload},maxPromptsReset:e=>{e.maxPrompts=hF.maxPrompts},combinatorialToggled:e=>{e.combinatorial=!e.combinatorial},isEnabledToggled:e=>{e.isEnabled=!e.isEnabled}}}),{isEnabledToggled:mIe,maxPromptsChanged:yIe,maxPromptsReset:vIe,combinatorialToggled:_Ie}=pF.actions,tfe=pF.reducer,gF={selection:[],shouldAutoSwitch:!0,autoAssignBoardOnClick:!0,autoAddBoardId:"none",galleryImageMinimumWidth:96,selectedBoardId:"none",galleryView:"images",shouldShowDeleteButton:!1,boardSearchText:""},mF=yn({name:"gallery",initialState:gF,reducers:{imageSelected:(e,t)=>{e.selection=t.payload?[t.payload]:[]},selectionChanged:(e,t)=>{e.selection=t.payload},shouldAutoSwitchChanged:(e,t)=>{e.shouldAutoSwitch=t.payload},setGalleryImageMinimumWidth:(e,t)=>{e.galleryImageMinimumWidth=t.payload},autoAssignBoardOnClickChanged:(e,t)=>{e.autoAssignBoardOnClick=t.payload},boardIdSelected:(e,t)=>{e.selectedBoardId=t.payload,e.galleryView="images"},autoAddBoardIdChanged:(e,t)=>{if(!t.payload){e.autoAddBoardId="none";return}e.autoAddBoardId=t.payload},galleryViewChanged:(e,t)=>{e.galleryView=t.payload},shouldShowDeleteButtonChanged:(e,t)=>{e.shouldShowDeleteButton=t.payload},boardSearchTextChanged:(e,t)=>{e.boardSearchText=t.payload}},extraReducers:e=>{e.addMatcher(rfe,(t,n)=>{const r=n.meta.arg.originalArgs;r===t.selectedBoardId&&(t.selectedBoardId="none",t.galleryView="images"),r===t.autoAddBoardId&&(t.autoAddBoardId="none")}),e.addMatcher(Ui.endpoints.listAllBoards.matchFulfilled,(t,n)=>{const r=n.payload;t.autoAddBoardId&&(r.map(i=>i.board_id).includes(t.autoAddBoardId)||(t.autoAddBoardId="none"))})}}),{imageSelected:Rs,shouldAutoSwitchChanged:bIe,autoAssignBoardOnClickChanged:SIe,setGalleryImageMinimumWidth:wIe,boardIdSelected:M3,autoAddBoardIdChanged:xIe,galleryViewChanged:k1,selectionChanged:CIe,shouldShowDeleteButtonChanged:TIe,boardSearchTextChanged:EIe}=mF.actions,nfe=mF.reducer,rfe=Co(Se.endpoints.deleteBoard.matchFulfilled,Se.endpoints.deleteBoardAndImages.matchFulfilled),ife={imagesToDelete:[],isModalOpen:!1},yF=yn({name:"deleteImageModal",initialState:ife,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imagesToDeleteSelected:(e,t)=>{e.imagesToDelete=t.payload},imageDeletionCanceled:e=>{e.imagesToDelete=[],e.isModalOpen=!1}}}),{isModalOpenChanged:UT,imagesToDeleteSelected:ofe,imageDeletionCanceled:AIe}=yF.actions,sfe=yF.reducer,afe={isModalOpen:!1,imagesToChange:[]},vF=yn({name:"changeBoardModal",initialState:afe,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imagesToChangeSelected:(e,t)=>{e.imagesToChange=t.payload},changeBoardReset:e=>{e.imagesToChange=[],e.isModalOpen=!1}}}),{isModalOpenChanged:PIe,imagesToChangeSelected:RIe,changeBoardReset:OIe}=vF.actions,lfe=vF.reducer,hR={weight:.75},ufe={loras:{}},_F=yn({name:"lora",initialState:ufe,reducers:{loraAdded:(e,t)=>{const{model_name:n,id:r,base_model:i}=t.payload;e.loras[r]={id:r,model_name:n,base_model:i,...hR}},loraRemoved:(e,t)=>{const n=t.payload;delete e.loras[n]},lorasCleared:e=>{e.loras={}},loraWeightChanged:(e,t)=>{const{id:n,weight:r}=t.payload,i=e.loras[n];i&&(i.weight=r)},loraWeightReset:(e,t)=>{const n=t.payload,r=e.loras[n];r&&(r.weight=hR.weight)}}}),{loraAdded:kIe,loraRemoved:bF,loraWeightChanged:IIe,loraWeightReset:MIe,lorasCleared:NIe}=_F.actions,cfe=_F.reducer;function Eo(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n{let t;const n=new Set,r=(l,u)=>{const d=typeof l=="function"?l(t):l;if(!Object.is(d,t)){const f=t;t=u??typeof d!="object"?d:Object.assign({},t,d),n.forEach(p=>p(t,f))}},i=()=>t,a={setState:r,getState:i,subscribe:l=>(n.add(l),()=>n.delete(l)),destroy:()=>{n.clear()}};return t=e(r,i,a),a},dfe=e=>e?pR(e):pR,{useSyncExternalStoreWithSelector:ffe}=Kce;function hfe(e,t=e.getState,n){const r=ffe(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return L.useDebugValue(r),r}function Ri(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,i]of e)if(!Object.is(i,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r=0;r{}};function Pb(){for(var e=0,t=arguments.length,n={},r;e=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}hv.prototype=Pb.prototype={constructor:hv,on:function(e,t){var n=this._,r=gfe(e+"",n),i,o=-1,s=r.length;if(arguments.length<2){for(;++o0)for(var n=new Array(i),r=0,i,o;r=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),mR.hasOwnProperty(t)?{space:mR[t],local:e}:e}function yfe(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===N3&&t.documentElement.namespaceURI===N3?t.createElement(e):t.createElementNS(n,e)}}function vfe(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function SF(e){var t=Rb(e);return(t.local?vfe:yfe)(t)}function _fe(){}function zT(e){return e==null?_fe:function(){return this.querySelector(e)}}function bfe(e){typeof e!="function"&&(e=zT(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i=y&&(y=b+1);!(C=x[y])&&++y=0;)(s=r[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function Hfe(e){e||(e=Wfe);function t(f,p){return f&&p?e(f.__data__,p.__data__):!f-!p}for(var n=this._groups,r=n.length,i=new Array(r),o=0;ot?1:e>=t?0:NaN}function qfe(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Kfe(){return Array.from(this)}function Xfe(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?she:typeof t=="function"?lhe:ahe)(e,t,n??"")):Tf(this.node(),e)}function Tf(e,t){return e.style.getPropertyValue(t)||EF(e).getComputedStyle(e,null).getPropertyValue(t)}function che(e){return function(){delete this[e]}}function dhe(e,t){return function(){this[e]=t}}function fhe(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function hhe(e,t){return arguments.length>1?this.each((t==null?che:typeof t=="function"?fhe:dhe)(e,t)):this.node()[e]}function AF(e){return e.trim().split(/^|\s+/)}function VT(e){return e.classList||new PF(e)}function PF(e){this._node=e,this._names=AF(e.getAttribute("class")||"")}PF.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function RF(e,t){for(var n=VT(e),r=-1,i=t.length;++r=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function zhe(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,o;n()=>e;function L3(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:s,y:a,dx:l,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}L3.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Qhe(e){return!e.ctrlKey&&!e.button}function Zhe(){return this.parentNode}function Jhe(e,t){return t??{x:e.x,y:e.y}}function epe(){return navigator.maxTouchPoints||"ontouchstart"in this}function tpe(){var e=Qhe,t=Zhe,n=Jhe,r=epe,i={},o=Pb("start","drag","end"),s=0,a,l,u,d,f=0;function p(S){S.on("mousedown.drag",g).filter(r).on("touchstart.drag",x).on("touchmove.drag",_,Yhe).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(S,C){if(!(d||!e.call(this,S,C))){var T=y(this,t.call(this,S,C),S,C,"mouse");T&&(jo(S.view).on("mousemove.drag",m,Tg).on("mouseup.drag",v,Tg),MF(S.view),px(S),u=!1,a=S.clientX,l=S.clientY,T("start",S))}}function m(S){if(ef(S),!u){var C=S.clientX-a,T=S.clientY-l;u=C*C+T*T>f}i.mouse("drag",S)}function v(S){jo(S.view).on("mousemove.drag mouseup.drag",null),NF(S.view,u),ef(S),i.mouse("end",S)}function x(S,C){if(e.call(this,S,C)){var T=S.changedTouches,E=t.call(this,S,C),P=T.length,k,O;for(k=0;k>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?w0(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?w0(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=rpe.exec(e))?new xi(t[1],t[2],t[3],1):(t=ipe.exec(e))?new xi(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=ope.exec(e))?w0(t[1],t[2],t[3],t[4]):(t=spe.exec(e))?w0(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=ape.exec(e))?xR(t[1],t[2]/100,t[3]/100,1):(t=lpe.exec(e))?xR(t[1],t[2]/100,t[3]/100,t[4]):yR.hasOwnProperty(e)?bR(yR[e]):e==="transparent"?new xi(NaN,NaN,NaN,0):null}function bR(e){return new xi(e>>16&255,e>>8&255,e&255,1)}function w0(e,t,n,r){return r<=0&&(e=t=n=NaN),new xi(e,t,n,r)}function dpe(e){return e instanceof vm||(e=Pg(e)),e?(e=e.rgb(),new xi(e.r,e.g,e.b,e.opacity)):new xi}function D3(e,t,n,r){return arguments.length===1?dpe(e):new xi(e,t,n,r??1)}function xi(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}jT(xi,D3,LF(vm,{brighter(e){return e=e==null?M1:Math.pow(M1,e),new xi(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Eg:Math.pow(Eg,e),new xi(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new xi(Hu(this.r),Hu(this.g),Hu(this.b),N1(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:SR,formatHex:SR,formatHex8:fpe,formatRgb:wR,toString:wR}));function SR(){return`#${Fu(this.r)}${Fu(this.g)}${Fu(this.b)}`}function fpe(){return`#${Fu(this.r)}${Fu(this.g)}${Fu(this.b)}${Fu((isNaN(this.opacity)?1:this.opacity)*255)}`}function wR(){const e=N1(this.opacity);return`${e===1?"rgb(":"rgba("}${Hu(this.r)}, ${Hu(this.g)}, ${Hu(this.b)}${e===1?")":`, ${e})`}`}function N1(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Hu(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Fu(e){return e=Hu(e),(e<16?"0":"")+e.toString(16)}function xR(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Go(e,t,n,r)}function DF(e){if(e instanceof Go)return new Go(e.h,e.s,e.l,e.opacity);if(e instanceof vm||(e=Pg(e)),!e)return new Go;if(e instanceof Go)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),s=NaN,a=o-i,l=(o+i)/2;return a?(t===o?s=(n-r)/a+(n0&&l<1?0:s,new Go(s,a,l,e.opacity)}function hpe(e,t,n,r){return arguments.length===1?DF(e):new Go(e,t,n,r??1)}function Go(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}jT(Go,hpe,LF(vm,{brighter(e){return e=e==null?M1:Math.pow(M1,e),new Go(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Eg:Math.pow(Eg,e),new Go(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new xi(gx(e>=240?e-240:e+120,i,r),gx(e,i,r),gx(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Go(CR(this.h),x0(this.s),x0(this.l),N1(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=N1(this.opacity);return`${e===1?"hsl(":"hsla("}${CR(this.h)}, ${x0(this.s)*100}%, ${x0(this.l)*100}%${e===1?")":`, ${e})`}`}}));function CR(e){return e=(e||0)%360,e<0?e+360:e}function x0(e){return Math.max(0,Math.min(1,e||0))}function gx(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const $F=e=>()=>e;function ppe(e,t){return function(n){return e+n*t}}function gpe(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function mpe(e){return(e=+e)==1?FF:function(t,n){return n-t?gpe(t,n,e):$F(isNaN(t)?n:t)}}function FF(e,t){var n=t-e;return n?ppe(e,n):$F(isNaN(e)?t:e)}const TR=function e(t){var n=mpe(t);function r(i,o){var s=n((i=D3(i)).r,(o=D3(o)).r),a=n(i.g,o.g),l=n(i.b,o.b),u=FF(i.opacity,o.opacity);return function(d){return i.r=s(d),i.g=a(d),i.b=l(d),i.opacity=u(d),i+""}}return r.gamma=e,r}(1);function cl(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var $3=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,mx=new RegExp($3.source,"g");function ype(e){return function(){return e}}function vpe(e){return function(t){return e(t)+""}}function _pe(e,t){var n=$3.lastIndex=mx.lastIndex=0,r,i,o,s=-1,a=[],l=[];for(e=e+"",t=t+"";(r=$3.exec(e))&&(i=mx.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),a[s]?a[s]+=o:a[++s]=o),(r=r[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,l.push({i:s,x:cl(r,i)})),n=mx.lastIndex;return n180?d+=360:d-u>180&&(u+=360),p.push({i:f.push(i(f)+"rotate(",null,r)-2,x:cl(u,d)})):d&&f.push(i(f)+"rotate("+d+r)}function a(u,d,f,p){u!==d?p.push({i:f.push(i(f)+"skewX(",null,r)-2,x:cl(u,d)}):d&&f.push(i(f)+"skewX("+d+r)}function l(u,d,f,p,g,m){if(u!==f||d!==p){var v=g.push(i(g)+"scale(",null,",",null,")");m.push({i:v-4,x:cl(u,f)},{i:v-2,x:cl(d,p)})}else(f!==1||p!==1)&&g.push(i(g)+"scale("+f+","+p+")")}return function(u,d){var f=[],p=[];return u=e(u),d=e(d),o(u.translateX,u.translateY,d.translateX,d.translateY,f,p),s(u.rotate,d.rotate,f,p),a(u.skewX,d.skewX,f,p),l(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,p),u=d=null,function(g){for(var m=-1,v=p.length,x;++m=0&&e._call.call(void 0,t),e=e._next;--Ef}function PR(){oc=(D1=Rg.now())+Ob,Ef=dp=0;try{Rpe()}finally{Ef=0,kpe(),oc=0}}function Ope(){var e=Rg.now(),t=e-D1;t>zF&&(Ob-=t,D1=e)}function kpe(){for(var e,t=L1,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:L1=n);fp=e,B3(r)}function B3(e){if(!Ef){dp&&(dp=clearTimeout(dp));var t=e-oc;t>24?(e<1/0&&(dp=setTimeout(PR,e-Rg.now()-Ob)),Gh&&(Gh=clearInterval(Gh))):(Gh||(D1=Rg.now(),Gh=setInterval(Ope,zF)),Ef=1,VF(PR))}}function RR(e,t,n){var r=new $1;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var Ipe=Pb("start","end","cancel","interrupt"),Mpe=[],GF=0,OR=1,U3=2,pv=3,kR=4,z3=5,gv=6;function kb(e,t,n,r,i,o){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;Npe(e,n,{name:t,index:r,group:i,on:Ipe,tween:Mpe,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:GF})}function HT(e,t){var n=rs(e,t);if(n.state>GF)throw new Error("too late; already scheduled");return n}function Bs(e,t){var n=rs(e,t);if(n.state>pv)throw new Error("too late; already running");return n}function rs(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Npe(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=jF(o,0,n.time);function o(u){n.state=OR,n.timer.restart(s,n.delay,n.time),n.delay<=u&&s(u-n.delay)}function s(u){var d,f,p,g;if(n.state!==OR)return l();for(d in r)if(g=r[d],g.name===n.name){if(g.state===pv)return RR(s);g.state===kR?(g.state=gv,g.timer.stop(),g.on.call("interrupt",e,e.__data__,g.index,g.group),delete r[d]):+dU3&&r.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function cge(e,t,n){var r,i,o=uge(t)?HT:Bs;return function(){var s=o(this,e),a=s.on;a!==r&&(i=(r=a).copy()).on(t,n),s.on=i}}function dge(e,t){var n=this._id;return arguments.length<2?rs(this.node(),n).on.on(e):this.each(cge(n,e,t))}function fge(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function hge(){return this.on("end.remove",fge(this._id))}function pge(e){var t=this._name,n=this._id;typeof e!="function"&&(e=zT(e));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s()=>e;function Bge(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function ma(e,t,n){this.k=e,this.x=t,this.y=n}ma.prototype={constructor:ma,scale:function(e){return e===1?this:new ma(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new ma(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Il=new ma(1,0,0);ma.prototype;function yx(e){e.stopImmediatePropagation()}function Hh(e){e.preventDefault(),e.stopImmediatePropagation()}function Uge(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function zge(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function IR(){return this.__zoom||Il}function Vge(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function jge(){return navigator.maxTouchPoints||"ontouchstart"in this}function Gge(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function Hge(){var e=Uge,t=zge,n=Gge,r=Vge,i=jge,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,l=Ape,u=Pb("start","zoom","end"),d,f,p,g=500,m=150,v=0,x=10;function _(A){A.property("__zoom",IR).on("wheel.zoom",P,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",O).filter(i).on("touchstart.zoom",M).on("touchmove.zoom",G).on("touchend.zoom touchcancel.zoom",U).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}_.transform=function(A,N,F,B){var D=A.selection?A.selection():A;D.property("__zoom",IR),A!==D?C(A,N,F,B):D.interrupt().each(function(){T(this,arguments).event(B).start().zoom(null,typeof N=="function"?N.apply(this,arguments):N).end()})},_.scaleBy=function(A,N,F,B){_.scaleTo(A,function(){var D=this.__zoom.k,V=typeof N=="function"?N.apply(this,arguments):N;return D*V},F,B)},_.scaleTo=function(A,N,F,B){_.transform(A,function(){var D=t.apply(this,arguments),V=this.__zoom,j=F==null?S(D):typeof F=="function"?F.apply(this,arguments):F,q=V.invert(j),Z=typeof N=="function"?N.apply(this,arguments):N;return n(y(b(V,Z),j,q),D,s)},F,B)},_.translateBy=function(A,N,F,B){_.transform(A,function(){return n(this.__zoom.translate(typeof N=="function"?N.apply(this,arguments):N,typeof F=="function"?F.apply(this,arguments):F),t.apply(this,arguments),s)},null,B)},_.translateTo=function(A,N,F,B,D){_.transform(A,function(){var V=t.apply(this,arguments),j=this.__zoom,q=B==null?S(V):typeof B=="function"?B.apply(this,arguments):B;return n(Il.translate(q[0],q[1]).scale(j.k).translate(typeof N=="function"?-N.apply(this,arguments):-N,typeof F=="function"?-F.apply(this,arguments):-F),V,s)},B,D)};function b(A,N){return N=Math.max(o[0],Math.min(o[1],N)),N===A.k?A:new ma(N,A.x,A.y)}function y(A,N,F){var B=N[0]-F[0]*A.k,D=N[1]-F[1]*A.k;return B===A.x&&D===A.y?A:new ma(A.k,B,D)}function S(A){return[(+A[0][0]+ +A[1][0])/2,(+A[0][1]+ +A[1][1])/2]}function C(A,N,F,B){A.on("start.zoom",function(){T(this,arguments).event(B).start()}).on("interrupt.zoom end.zoom",function(){T(this,arguments).event(B).end()}).tween("zoom",function(){var D=this,V=arguments,j=T(D,V).event(B),q=t.apply(D,V),Z=F==null?S(q):typeof F=="function"?F.apply(D,V):F,ee=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),ie=D.__zoom,se=typeof N=="function"?N.apply(D,V):N,le=l(ie.invert(Z).concat(ee/ie.k),se.invert(Z).concat(ee/se.k));return function(W){if(W===1)W=se;else{var ne=le(W),fe=ee/ne[2];W=new ma(fe,Z[0]-ne[0]*fe,Z[1]-ne[1]*fe)}j.zoom(null,W)}})}function T(A,N,F){return!F&&A.__zooming||new E(A,N)}function E(A,N){this.that=A,this.args=N,this.active=0,this.sourceEvent=null,this.extent=t.apply(A,N),this.taps=0}E.prototype={event:function(A){return A&&(this.sourceEvent=A),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(A,N){return this.mouse&&A!=="mouse"&&(this.mouse[1]=N.invert(this.mouse[0])),this.touch0&&A!=="touch"&&(this.touch0[1]=N.invert(this.touch0[0])),this.touch1&&A!=="touch"&&(this.touch1[1]=N.invert(this.touch1[0])),this.that.__zoom=N,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(A){var N=jo(this.that).datum();u.call(A,this.that,new Bge(A,{sourceEvent:this.sourceEvent,target:_,type:A,transform:this.that.__zoom,dispatch:u}),N)}};function P(A,...N){if(!e.apply(this,arguments))return;var F=T(this,N).event(A),B=this.__zoom,D=Math.max(o[0],Math.min(o[1],B.k*Math.pow(2,r.apply(this,arguments)))),V=gs(A);if(F.wheel)(F.mouse[0][0]!==V[0]||F.mouse[0][1]!==V[1])&&(F.mouse[1]=B.invert(F.mouse[0]=V)),clearTimeout(F.wheel);else{if(B.k===D)return;F.mouse=[V,B.invert(V)],mv(this),F.start()}Hh(A),F.wheel=setTimeout(j,m),F.zoom("mouse",n(y(b(B,D),F.mouse[0],F.mouse[1]),F.extent,s));function j(){F.wheel=null,F.end()}}function k(A,...N){if(p||!e.apply(this,arguments))return;var F=A.currentTarget,B=T(this,N,!0).event(A),D=jo(A.view).on("mousemove.zoom",Z,!0).on("mouseup.zoom",ee,!0),V=gs(A,F),j=A.clientX,q=A.clientY;MF(A.view),yx(A),B.mouse=[V,this.__zoom.invert(V)],mv(this),B.start();function Z(ie){if(Hh(ie),!B.moved){var se=ie.clientX-j,le=ie.clientY-q;B.moved=se*se+le*le>v}B.event(ie).zoom("mouse",n(y(B.that.__zoom,B.mouse[0]=gs(ie,F),B.mouse[1]),B.extent,s))}function ee(ie){D.on("mousemove.zoom mouseup.zoom",null),NF(ie.view,B.moved),Hh(ie),B.event(ie).end()}}function O(A,...N){if(e.apply(this,arguments)){var F=this.__zoom,B=gs(A.changedTouches?A.changedTouches[0]:A,this),D=F.invert(B),V=F.k*(A.shiftKey?.5:2),j=n(y(b(F,V),B,D),t.apply(this,N),s);Hh(A),a>0?jo(this).transition().duration(a).call(C,j,B,A):jo(this).call(_.transform,j,B,A)}}function M(A,...N){if(e.apply(this,arguments)){var F=A.touches,B=F.length,D=T(this,N,A.changedTouches.length===B).event(A),V,j,q,Z;for(yx(A),j=0;j"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`},KF=Wl.error001();function Nn(e,t){const n=L.useContext(Ib);if(n===null)throw new Error(KF);return hfe(n,e,t)}const qr=()=>{const e=L.useContext(Ib);if(e===null)throw new Error(KF);return L.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},qge=e=>e.userSelectionActive?"none":"all";function Kge({position:e,children:t,className:n,style:r,...i}){const o=Nn(qge),s=`${e}`.split("-");return ue.jsx("div",{className:Eo(["react-flow__panel",n,...s]),style:{...r,pointerEvents:o},...i,children:t})}function Xge({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:ue.jsx(Kge,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:ue.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const Yge=({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:s=[2,4],labelBgBorderRadius:a=2,children:l,className:u,...d})=>{const f=L.useRef(null),[p,g]=L.useState({x:0,y:0,width:0,height:0}),m=Eo(["react-flow__edge-textwrapper",u]);return L.useEffect(()=>{if(f.current){const v=f.current.getBBox();g({x:v.x,y:v.y,width:v.width,height:v.height})}},[n]),typeof n>"u"||!n?null:ue.jsxs("g",{transform:`translate(${e-p.width/2} ${t-p.height/2})`,className:m,visibility:p.width?"visible":"hidden",...d,children:[i&&ue.jsx("rect",{width:p.width+2*s[0],x:-s[0],y:-s[1],height:p.height+2*s[1],className:"react-flow__edge-textbg",style:o,rx:a,ry:a}),ue.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:f,style:r,children:n}),l]})};var Qge=L.memo(Yge);const qT=e=>({width:e.offsetWidth,height:e.offsetHeight}),Af=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),KT=(e={x:0,y:0},t)=>({x:Af(e.x,t[0][0],t[1][0]),y:Af(e.y,t[0][1],t[1][1])}),MR=(e,t,n)=>en?-Af(Math.abs(e-n),1,50)/50:0,XF=(e,t)=>{const n=MR(e.x,35,t.width-35)*20,r=MR(e.y,35,t.height-35)*20;return[n,r]},YF=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},QF=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),F1=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),ZF=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),NR=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),LIe=(e,t)=>ZF(QF(F1(e),F1(t))),V3=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},Zge=e=>_o(e.width)&&_o(e.height)&&_o(e.x)&&_o(e.y),_o=e=>!isNaN(e)&&isFinite(e),nr=Symbol.for("internals"),JF=["Enter"," ","Escape"],Jge=(e,t)=>{},eme=e=>"nativeEvent"in e;function j3(e){var i,o;const t=eme(e)?e.nativeEvent:e,n=((o=(i=t.composedPath)==null?void 0:i.call(t))==null?void 0:o[0])||e.target;return["INPUT","SELECT","TEXTAREA"].includes(n==null?void 0:n.nodeName)||(n==null?void 0:n.hasAttribute("contenteditable"))||!!(n!=null&&n.closest(".nokey"))}const eB=e=>"clientX"in e,Ml=(e,t)=>{var o,s;const n=eB(e),r=n?e.clientX:(o=e.touches)==null?void 0:o[0].clientX,i=n?e.clientY:(s=e.touches)==null?void 0:s[0].clientY;return{x:r-((t==null?void 0:t.left)??0),y:i-((t==null?void 0:t.top)??0)}},_m=({id:e,path:t,labelX:n,labelY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:g=20})=>ue.jsxs(ue.Fragment,{children:[ue.jsx("path",{id:e,style:d,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:f,markerStart:p}),g&&ue.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:g,className:"react-flow__edge-interaction"}),i&&_o(n)&&_o(r)?ue.jsx(Qge,{x:n,y:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u}):null]});_m.displayName="BaseEdge";function Wh(e,t,n){return n===void 0?n:r=>{const i=t().edges.find(o=>o.id===e);i&&n(r,{...i})}}function tB({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,o=n{const[x,_,b]=rB({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return ue.jsx(_m,{path:x,labelX:_,labelY:b,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,interactionWidth:v})});XT.displayName="SimpleBezierEdge";const DR={[Ne.Left]:{x:-1,y:0},[Ne.Right]:{x:1,y:0},[Ne.Top]:{x:0,y:-1},[Ne.Bottom]:{x:0,y:1}},tme=({source:e,sourcePosition:t=Ne.Bottom,target:n})=>t===Ne.Left||t===Ne.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function nme({source:e,sourcePosition:t=Ne.Bottom,target:n,targetPosition:r=Ne.Top,center:i,offset:o}){const s=DR[t],a=DR[r],l={x:e.x+s.x*o,y:e.y+s.y*o},u={x:n.x+a.x*o,y:n.y+a.y*o},d=tme({source:l,sourcePosition:t,target:u}),f=d.x!==0?"x":"y",p=d[f];let g=[],m,v;const[x,_,b,y]=tB({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[f]*a[f]===-1){m=i.x||x,v=i.y||_;const C=[{x:m,y:l.y},{x:m,y:u.y}],T=[{x:l.x,y:v},{x:u.x,y:v}];s[f]===p?g=f==="x"?C:T:g=f==="x"?T:C}else{const C=[{x:l.x,y:u.y}],T=[{x:u.x,y:l.y}];if(f==="x"?g=s.x===p?T:C:g=s.y===p?C:T,t!==r){const E=f==="x"?"y":"x",P=s[f]===a[E],k=l[E]>u[E],O=l[E]{let y="";return b>0&&b{const[_,b,y]=G3({sourceX:e,sourceY:t,sourcePosition:f,targetX:n,targetY:r,targetPosition:p,borderRadius:v==null?void 0:v.borderRadius,offset:v==null?void 0:v.offset});return ue.jsx(_m,{path:_,labelX:b,labelY:y,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:g,markerStart:m,interactionWidth:x})});Mb.displayName="SmoothStepEdge";const YT=L.memo(e=>{var t;return ue.jsx(Mb,{...e,pathOptions:L.useMemo(()=>{var n;return{borderRadius:0,offset:(n=e.pathOptions)==null?void 0:n.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});YT.displayName="StepEdge";function ime({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,s,a]=tB({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,s,a]}const QT=L.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:g})=>{const[m,v,x]=ime({sourceX:e,sourceY:t,targetX:n,targetY:r});return ue.jsx(_m,{path:m,labelX:v,labelY:x,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:g})});QT.displayName="StraightEdge";function E0(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function FR({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case Ne.Left:return[t-E0(t-r,o),n];case Ne.Right:return[t+E0(r-t,o),n];case Ne.Top:return[t,n-E0(n-i,o)];case Ne.Bottom:return[t,n+E0(i-n,o)]}}function iB({sourceX:e,sourceY:t,sourcePosition:n=Ne.Bottom,targetX:r,targetY:i,targetPosition:o=Ne.Top,curvature:s=.25}){const[a,l]=FR({pos:n,x1:e,y1:t,x2:r,y2:i,c:s}),[u,d]=FR({pos:o,x1:r,y1:i,x2:e,y2:t,c:s}),[f,p,g,m]=nB({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:l,targetControlX:u,targetControlY:d});return[`M${e},${t} C${a},${l} ${u},${d} ${r},${i}`,f,p,g,m]}const U1=L.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=Ne.Bottom,targetPosition:o=Ne.Top,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,pathOptions:v,interactionWidth:x})=>{const[_,b,y]=iB({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:v==null?void 0:v.curvature});return ue.jsx(_m,{path:_,labelX:b,labelY:y,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,interactionWidth:x})});U1.displayName="BezierEdge";const ZT=L.createContext(null),ome=ZT.Provider;ZT.Consumer;const sme=()=>L.useContext(ZT),ame=e=>"id"in e&&"source"in e&&"target"in e,lme=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,H3=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`,ume=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),oB=(e,t)=>{if(!e.source||!e.target)return t;let n;return ame(e)?n={...e}:n={...e,id:lme(e)},ume(n,t)?t:t.concat(n)},sB=({x:e,y:t},[n,r,i],o,[s,a])=>{const l={x:(e-n)/i,y:(t-r)/i};return o?{x:s*Math.round(l.x/s),y:a*Math.round(l.y/a)}:l},cme=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),rf=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=(e.width??0)*t[0],r=(e.height??0)*t[1],i={x:e.position.x-n,y:e.position.y-r};return{...i,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:i}},aB=(e,t=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,i)=>{const{x:o,y:s}=rf(i,t).positionAbsolute;return QF(r,F1({x:o,y:s,width:i.width||0,height:i.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return ZF(n)},lB=(e,t,[n,r,i]=[0,0,1],o=!1,s=!1,a=[0,0])=>{const l={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},u=[];return e.forEach(d=>{const{width:f,height:p,selectable:g=!0,hidden:m=!1}=d;if(s&&!g||m)return!1;const{positionAbsolute:v}=rf(d,a),x={x:v.x,y:v.y,width:f||0,height:p||0},_=V3(l,x),b=typeof f>"u"||typeof p>"u"||f===null||p===null,y=o&&_>0,S=(f||0)*(p||0);(b||y||_>=S||d.dragging)&&u.push(d)}),u},uB=(e,t)=>{const n=e.map(r=>r.id);return t.filter(r=>n.includes(r.source)||n.includes(r.target))},cB=(e,t,n,r,i,o=.1)=>{const s=t/(e.width*(1+o)),a=n/(e.height*(1+o)),l=Math.min(s,a),u=Af(l,r,i),d=e.x+e.width/2,f=e.y+e.height/2,p=t/2-d*u,g=n/2-f*u;return[p,g,u]},Pu=(e,t=0)=>e.transition().duration(t);function BR(e,t,n,r){return(t[n]||[]).reduce((i,o)=>{var s,a;return`${e.id}-${o.id}-${n}`!==r&&i.push({id:o.id||null,type:n,nodeId:e.id,x:(((s=e.positionAbsolute)==null?void 0:s.x)??0)+o.x+o.width/2,y:(((a=e.positionAbsolute)==null?void 0:a.y)??0)+o.y+o.height/2}),i},[])}function dme(e,t,n,r,i,o){const{x:s,y:a}=Ml(e),u=t.elementsFromPoint(s,a).find(m=>m.classList.contains("react-flow__handle"));if(u){const m=u.getAttribute("data-nodeid");if(m){const v=JT(void 0,u),x=u.getAttribute("data-handleid"),_=o({nodeId:m,id:x,type:v});if(_)return{handle:{id:x,type:v,nodeId:m,x:n.x,y:n.y},validHandleResult:_}}}let d=[],f=1/0;if(i.forEach(m=>{const v=Math.sqrt((m.x-n.x)**2+(m.y-n.y)**2);if(v<=r){const x=o(m);v<=f&&(vm.isValid),g=d.some(({handle:m})=>m.type==="target");return d.find(({handle:m,validHandleResult:v})=>g?m.type==="target":p?v.isValid:!0)||d[0]}const fme={source:null,target:null,sourceHandle:null,targetHandle:null},dB=()=>({handleDomNode:null,isValid:!1,connection:fme,endHandle:null});function fB(e,t,n,r,i,o,s){const a=i==="target",l=s.querySelector(`.react-flow__handle[data-id="${e==null?void 0:e.nodeId}-${e==null?void 0:e.id}-${e==null?void 0:e.type}"]`),u={...dB(),handleDomNode:l};if(l){const d=JT(void 0,l),f=l.getAttribute("data-nodeid"),p=l.getAttribute("data-handleid"),g=l.classList.contains("connectable"),m=l.classList.contains("connectableend"),v={source:a?f:n,sourceHandle:a?p:r,target:a?n:f,targetHandle:a?r:p};u.connection=v,g&&m&&(t===sc.Strict?a&&d==="source"||!a&&d==="target":f!==n||p!==r)&&(u.endHandle={nodeId:f,handleId:p,type:d},u.isValid=o(v))}return u}function hme({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((i,o)=>{if(o[nr]){const{handleBounds:s}=o[nr];let a=[],l=[];s&&(a=BR(o,s,"source",`${t}-${n}-${r}`),l=BR(o,s,"target",`${t}-${n}-${r}`)),i.push(...a,...l)}return i},[])}function JT(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function vx(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function pme(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function hB({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:s,isValidConnection:a,edgeUpdaterType:l,onEdgeUpdateEnd:u}){const d=YF(e.target),{connectionMode:f,domNode:p,autoPanOnConnect:g,connectionRadius:m,onConnectStart:v,panBy:x,getNodes:_,cancelConnection:b}=o();let y=0,S;const{x:C,y:T}=Ml(e),E=d==null?void 0:d.elementFromPoint(C,T),P=JT(l,E),k=p==null?void 0:p.getBoundingClientRect();if(!k||!P)return;let O,M=Ml(e,k),G=!1,U=null,A=!1,N=null;const F=hme({nodes:_(),nodeId:n,handleId:t,handleType:P}),B=()=>{if(!g)return;const[j,q]=XF(M,k);x({x:j,y:q}),y=requestAnimationFrame(B)};s({connectionPosition:M,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:P,connectionStartHandle:{nodeId:n,handleId:t,type:P},connectionEndHandle:null}),v==null||v(e,{nodeId:n,handleId:t,handleType:P});function D(j){const{transform:q}=o();M=Ml(j,k);const{handle:Z,validHandleResult:ee}=dme(j,d,sB(M,q,!1,[1,1]),m,F,ie=>fB(ie,f,n,t,i?"target":"source",a,d));if(S=Z,G||(B(),G=!0),N=ee.handleDomNode,U=ee.connection,A=ee.isValid,s({connectionPosition:S&&A?cme({x:S.x,y:S.y},q):M,connectionStatus:pme(!!S,A),connectionEndHandle:ee.endHandle}),!S&&!A&&!N)return vx(O);U.source!==U.target&&N&&(vx(O),O=N,N.classList.add("connecting","react-flow__handle-connecting"),N.classList.toggle("valid",A),N.classList.toggle("react-flow__handle-valid",A))}function V(j){var q,Z;(S||N)&&U&&A&&(r==null||r(U)),(Z=(q=o()).onConnectEnd)==null||Z.call(q,j),l&&(u==null||u(j)),vx(O),b(),cancelAnimationFrame(y),G=!1,A=!1,U=null,N=null,d.removeEventListener("mousemove",D),d.removeEventListener("mouseup",V),d.removeEventListener("touchmove",D),d.removeEventListener("touchend",V)}d.addEventListener("mousemove",D),d.addEventListener("mouseup",V),d.addEventListener("touchmove",D),d.addEventListener("touchend",V)}const UR=()=>!0,gme=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),mme=(e,t,n)=>r=>{const{connectionStartHandle:i,connectionEndHandle:o,connectionClickStartHandle:s}=r;return{connecting:(i==null?void 0:i.nodeId)===e&&(i==null?void 0:i.handleId)===t&&(i==null?void 0:i.type)===n||(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.handleId)===t&&(o==null?void 0:o.type)===n,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.handleId)===t&&(s==null?void 0:s.type)===n}},pB=L.forwardRef(({type:e="source",position:t=Ne.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:o=!0,id:s,onConnect:a,children:l,className:u,onMouseDown:d,onTouchStart:f,...p},g)=>{var k,O;const m=s||null,v=e==="target",x=qr(),_=sme(),{connectOnClick:b,noPanClassName:y}=Nn(gme,Ri),{connecting:S,clickConnecting:C}=Nn(mme(_,m,e),Ri);_||(O=(k=x.getState()).onError)==null||O.call(k,"010",Wl.error010());const T=M=>{const{defaultEdgeOptions:G,onConnect:U,hasDefaultEdges:A}=x.getState(),N={...G,...M};if(A){const{edges:F,setEdges:B}=x.getState();B(oB(N,F))}U==null||U(N),a==null||a(N)},E=M=>{if(!_)return;const G=eB(M);i&&(G&&M.button===0||!G)&&hB({event:M,handleId:m,nodeId:_,onConnect:T,isTarget:v,getState:x.getState,setState:x.setState,isValidConnection:n||x.getState().isValidConnection||UR}),G?d==null||d(M):f==null||f(M)},P=M=>{const{onClickConnectStart:G,onClickConnectEnd:U,connectionClickStartHandle:A,connectionMode:N,isValidConnection:F}=x.getState();if(!_||!A&&!i)return;if(!A){G==null||G(M,{nodeId:_,handleId:m,handleType:e}),x.setState({connectionClickStartHandle:{nodeId:_,type:e,handleId:m}});return}const B=YF(M.target),D=n||F||UR,{connection:V,isValid:j}=fB({nodeId:_,id:m,type:e},N,A.nodeId,A.handleId||null,A.type,D,B);j&&T(V),U==null||U(M),x.setState({connectionClickStartHandle:null})};return ue.jsx("div",{"data-handleid":m,"data-nodeid":_,"data-handlepos":t,"data-id":`${_}-${m}-${e}`,className:Eo(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",y,u,{source:!v,target:v,connectable:r,connectablestart:i,connectableend:o,connecting:C,connectionindicator:r&&(i&&!S||o&&S)}]),onMouseDown:E,onTouchStart:E,onClick:b?P:void 0,ref:g,...p,children:l})});pB.displayName="Handle";var z1=L.memo(pB);const gB=({data:e,isConnectable:t,targetPosition:n=Ne.Top,sourcePosition:r=Ne.Bottom})=>ue.jsxs(ue.Fragment,{children:[ue.jsx(z1,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,ue.jsx(z1,{type:"source",position:r,isConnectable:t})]});gB.displayName="DefaultNode";var W3=L.memo(gB);const mB=({data:e,isConnectable:t,sourcePosition:n=Ne.Bottom})=>ue.jsxs(ue.Fragment,{children:[e==null?void 0:e.label,ue.jsx(z1,{type:"source",position:n,isConnectable:t})]});mB.displayName="InputNode";var yB=L.memo(mB);const vB=({data:e,isConnectable:t,targetPosition:n=Ne.Top})=>ue.jsxs(ue.Fragment,{children:[ue.jsx(z1,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]});vB.displayName="OutputNode";var _B=L.memo(vB);const eE=()=>null;eE.displayName="GroupNode";const yme=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected)}),A0=e=>e.id;function vme(e,t){return Ri(e.selectedNodes.map(A0),t.selectedNodes.map(A0))&&Ri(e.selectedEdges.map(A0),t.selectedEdges.map(A0))}const bB=L.memo(({onSelectionChange:e})=>{const t=qr(),{selectedNodes:n,selectedEdges:r}=Nn(yme,vme);return L.useEffect(()=>{var o,s;const i={nodes:n,edges:r};e==null||e(i),(s=(o=t.getState()).onSelectionChange)==null||s.call(o,i)},[n,r,e]),null});bB.displayName="SelectionListener";const _me=e=>!!e.onSelectionChange;function bme({onSelectionChange:e}){const t=Nn(_me);return e||t?ue.jsx(bB,{onSelectionChange:e}):null}const Sme=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function rd(e,t){L.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function at(e,t,n){L.useEffect(()=>{typeof t<"u"&&n({[e]:t})},[t])}const wme=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:s,onClickConnectStart:a,onClickConnectEnd:l,nodesDraggable:u,nodesConnectable:d,nodesFocusable:f,edgesFocusable:p,edgesUpdatable:g,elevateNodesOnSelect:m,minZoom:v,maxZoom:x,nodeExtent:_,onNodesChange:b,onEdgesChange:y,elementsSelectable:S,connectionMode:C,snapGrid:T,snapToGrid:E,translateExtent:P,connectOnClick:k,defaultEdgeOptions:O,fitView:M,fitViewOptions:G,onNodesDelete:U,onEdgesDelete:A,onNodeDrag:N,onNodeDragStart:F,onNodeDragStop:B,onSelectionDrag:D,onSelectionDragStart:V,onSelectionDragStop:j,noPanClassName:q,nodeOrigin:Z,rfId:ee,autoPanOnConnect:ie,autoPanOnNodeDrag:se,onError:le,connectionRadius:W,isValidConnection:ne})=>{const{setNodes:fe,setEdges:pe,setDefaultNodesAndEdges:ve,setMinZoom:ye,setMaxZoom:We,setTranslateExtent:Me,setNodeExtent:Ee,reset:lt}=Nn(Sme,Ri),_e=qr();return L.useEffect(()=>{const jt=r==null?void 0:r.map(Wn=>({...Wn,...O}));return ve(n,jt),()=>{lt()}},[]),at("defaultEdgeOptions",O,_e.setState),at("connectionMode",C,_e.setState),at("onConnect",i,_e.setState),at("onConnectStart",o,_e.setState),at("onConnectEnd",s,_e.setState),at("onClickConnectStart",a,_e.setState),at("onClickConnectEnd",l,_e.setState),at("nodesDraggable",u,_e.setState),at("nodesConnectable",d,_e.setState),at("nodesFocusable",f,_e.setState),at("edgesFocusable",p,_e.setState),at("edgesUpdatable",g,_e.setState),at("elementsSelectable",S,_e.setState),at("elevateNodesOnSelect",m,_e.setState),at("snapToGrid",E,_e.setState),at("snapGrid",T,_e.setState),at("onNodesChange",b,_e.setState),at("onEdgesChange",y,_e.setState),at("connectOnClick",k,_e.setState),at("fitViewOnInit",M,_e.setState),at("fitViewOnInitOptions",G,_e.setState),at("onNodesDelete",U,_e.setState),at("onEdgesDelete",A,_e.setState),at("onNodeDrag",N,_e.setState),at("onNodeDragStart",F,_e.setState),at("onNodeDragStop",B,_e.setState),at("onSelectionDrag",D,_e.setState),at("onSelectionDragStart",V,_e.setState),at("onSelectionDragStop",j,_e.setState),at("noPanClassName",q,_e.setState),at("nodeOrigin",Z,_e.setState),at("rfId",ee,_e.setState),at("autoPanOnConnect",ie,_e.setState),at("autoPanOnNodeDrag",se,_e.setState),at("onError",le,_e.setState),at("connectionRadius",W,_e.setState),at("isValidConnection",ne,_e.setState),rd(e,fe),rd(t,pe),rd(v,ye),rd(x,We),rd(P,Me),rd(_,Ee),null},zR={display:"none"},xme={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},SB="react-flow__node-desc",wB="react-flow__edge-desc",Cme="react-flow__aria-live",Tme=e=>e.ariaLiveMessage;function Eme({rfId:e}){const t=Nn(Tme);return ue.jsx("div",{id:`${Cme}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:xme,children:t})}function Ame({rfId:e,disableKeyboardA11y:t}){return ue.jsxs(ue.Fragment,{children:[ue.jsxs("div",{id:`${SB}-${e}`,style:zR,children:["Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "]}),ue.jsx("div",{id:`${wB}-${e}`,style:zR,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!t&&ue.jsx(Eme,{rfId:e})]})}const Pme=(e,t,n)=>n===Ne.Left?e-t:n===Ne.Right?e+t:e,Rme=(e,t,n)=>n===Ne.Top?e-t:n===Ne.Bottom?e+t:e,VR="react-flow__edgeupdater",jR=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:s,type:a})=>ue.jsx("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:s,className:Eo([VR,`${VR}-${a}`]),cx:Pme(t,r,e),cy:Rme(n,r,e),r,stroke:"transparent",fill:"transparent"}),Ome=()=>!0;var id=e=>{const t=({id:n,className:r,type:i,data:o,onClick:s,onEdgeDoubleClick:a,selected:l,animated:u,label:d,labelStyle:f,labelShowBg:p,labelBgStyle:g,labelBgPadding:m,labelBgBorderRadius:v,style:x,source:_,target:b,sourceX:y,sourceY:S,targetX:C,targetY:T,sourcePosition:E,targetPosition:P,elementsSelectable:k,hidden:O,sourceHandleId:M,targetHandleId:G,onContextMenu:U,onMouseEnter:A,onMouseMove:N,onMouseLeave:F,edgeUpdaterRadius:B,onEdgeUpdate:D,onEdgeUpdateStart:V,onEdgeUpdateEnd:j,markerEnd:q,markerStart:Z,rfId:ee,ariaLabel:ie,isFocusable:se,isUpdatable:le,pathOptions:W,interactionWidth:ne})=>{const fe=L.useRef(null),[pe,ve]=L.useState(!1),[ye,We]=L.useState(!1),Me=qr(),Ee=L.useMemo(()=>`url(#${H3(Z,ee)})`,[Z,ee]),lt=L.useMemo(()=>`url(#${H3(q,ee)})`,[q,ee]);if(O)return null;const _e=sn=>{const{edges:Gt,addSelectedEdges:vr}=Me.getState();if(k&&(Me.setState({nodesSelectionActive:!1}),vr([n])),s){const Nr=Gt.find(Xr=>Xr.id===n);s(sn,Nr)}},jt=Wh(n,Me.getState,a),Wn=Wh(n,Me.getState,U),Bt=Wh(n,Me.getState,A),it=Wh(n,Me.getState,N),mt=Wh(n,Me.getState,F),Jt=(sn,Gt)=>{if(sn.button!==0)return;const{edges:vr,isValidConnection:Nr}=Me.getState(),Xr=Gt?b:_,Ii=(Gt?G:M)||null,An=Gt?"target":"source",Yr=Nr||Ome,Vs=Gt,Ji=vr.find(kt=>kt.id===n);We(!0),V==null||V(sn,Ji,An);const js=kt=>{We(!1),j==null||j(kt,Ji,An)};hB({event:sn,handleId:Ii,nodeId:Xr,onConnect:kt=>D==null?void 0:D(Ji,kt),isTarget:Vs,getState:Me.getState,setState:Me.setState,isValidConnection:Yr,edgeUpdaterType:An,onEdgeUpdateEnd:js})},Mr=sn=>Jt(sn,!0),yr=sn=>Jt(sn,!1),hi=()=>ve(!0),wn=()=>ve(!1),on=!k&&!s,qn=sn=>{var Gt;if(JF.includes(sn.key)&&k){const{unselectNodesAndEdges:vr,addSelectedEdges:Nr,edges:Xr}=Me.getState();sn.key==="Escape"?((Gt=fe.current)==null||Gt.blur(),vr({edges:[Xr.find(An=>An.id===n)]})):Nr([n])}};return ue.jsxs("g",{className:Eo(["react-flow__edge",`react-flow__edge-${i}`,r,{selected:l,animated:u,inactive:on,updating:pe}]),onClick:_e,onDoubleClick:jt,onContextMenu:Wn,onMouseEnter:Bt,onMouseMove:it,onMouseLeave:mt,onKeyDown:se?qn:void 0,tabIndex:se?0:void 0,role:se?"button":void 0,"data-testid":`rf__edge-${n}`,"aria-label":ie===null?void 0:ie||`Edge from ${_} to ${b}`,"aria-describedby":se?`${wB}-${ee}`:void 0,ref:fe,children:[!ye&&ue.jsx(e,{id:n,source:_,target:b,selected:l,animated:u,label:d,labelStyle:f,labelShowBg:p,labelBgStyle:g,labelBgPadding:m,labelBgBorderRadius:v,data:o,style:x,sourceX:y,sourceY:S,targetX:C,targetY:T,sourcePosition:E,targetPosition:P,sourceHandleId:M,targetHandleId:G,markerStart:Ee,markerEnd:lt,pathOptions:W,interactionWidth:ne}),le&&ue.jsxs(ue.Fragment,{children:[(le==="source"||le===!0)&&ue.jsx(jR,{position:E,centerX:y,centerY:S,radius:B,onMouseDown:Mr,onMouseEnter:hi,onMouseOut:wn,type:"source"}),(le==="target"||le===!0)&&ue.jsx(jR,{position:P,centerX:C,centerY:T,radius:B,onMouseDown:yr,onMouseEnter:hi,onMouseOut:wn,type:"target"})]})]})};return t.displayName="EdgeWrapper",L.memo(t)};function kme(e){const t={default:id(e.default||U1),straight:id(e.bezier||QT),step:id(e.step||YT),smoothstep:id(e.step||Mb),simplebezier:id(e.simplebezier||XT)},n={},r=Object.keys(e).filter(i=>!["default","bezier"].includes(i)).reduce((i,o)=>(i[o]=id(e[o]||U1),i),n);return{...t,...r}}function GR(e,t,n=null){const r=((n==null?void 0:n.x)||0)+t.x,i=((n==null?void 0:n.y)||0)+t.y,o=(n==null?void 0:n.width)||t.width,s=(n==null?void 0:n.height)||t.height;switch(e){case Ne.Top:return{x:r+o/2,y:i};case Ne.Right:return{x:r+o,y:i+s/2};case Ne.Bottom:return{x:r+o/2,y:i+s};case Ne.Left:return{x:r,y:i+s/2}}}function HR(e,t){return e?e.length===1||!t?e[0]:t&&e.find(n=>n.id===t)||null:null}const Ime=(e,t,n,r,i,o)=>{const s=GR(n,e,t),a=GR(o,r,i);return{sourceX:s.x,sourceY:s.y,targetX:a.x,targetY:a.y}};function Mme({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:o,width:s,height:a,transform:l}){const u={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+r,t.y+o)};u.x===u.x2&&(u.x2+=1),u.y===u.y2&&(u.y2+=1);const d=F1({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:s/l[2],height:a/l[2]}),f=Math.max(0,Math.min(d.x2,u.x2)-Math.max(d.x,u.x)),p=Math.max(0,Math.min(d.y2,u.y2)-Math.max(d.y,u.y));return Math.ceil(f*p)>0}function WR(e){var r,i,o,s,a;const t=((r=e==null?void 0:e[nr])==null?void 0:r.handleBounds)||null,n=t&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((i=e==null?void 0:e.positionAbsolute)==null?void 0:i.x)<"u"&&typeof((o=e==null?void 0:e.positionAbsolute)==null?void 0:o.y)<"u";return[{x:((s=e==null?void 0:e.positionAbsolute)==null?void 0:s.x)||0,y:((a=e==null?void 0:e.positionAbsolute)==null?void 0:a.y)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0},t,!!n]}function xB(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return n?n.selected?!0:xB(n,t):!1}function qR(e,t,n){let r=e;do{if(r!=null&&r.matches(t))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function Nme(e,t,n,r){return Array.from(e.values()).filter(i=>(i.selected||i.id===r)&&(!i.parentNode||!xB(i,e))&&(i.draggable||t&&typeof i.draggable>"u")).map(i=>{var o,s;return{id:i.id,position:i.position||{x:0,y:0},positionAbsolute:i.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((o=i.positionAbsolute)==null?void 0:o.x)??0),y:n.y-(((s=i.positionAbsolute)==null?void 0:s.y)??0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode,width:i.width,height:i.height}})}function Lme(e,t){return!t||t==="parent"?t:[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]}function CB(e,t,n,r,i=[0,0],o){const s=Lme(e,e.extent||r);let a=s;if(e.extent==="parent")if(e.parentNode&&e.width&&e.height){const d=n.get(e.parentNode),{x:f,y:p}=rf(d,i).positionAbsolute;a=d&&_o(f)&&_o(p)&&_o(d.width)&&_o(d.height)?[[f+e.width*i[0],p+e.height*i[1]],[f+d.width-e.width+e.width*i[0],p+d.height-e.height+e.height*i[1]]]:a}else o==null||o("005",Wl.error005()),a=s;else if(e.extent&&e.parentNode){const d=n.get(e.parentNode),{x:f,y:p}=rf(d,i).positionAbsolute;a=[[e.extent[0][0]+f,e.extent[0][1]+p],[e.extent[1][0]+f,e.extent[1][1]+p]]}let l={x:0,y:0};if(e.parentNode){const d=n.get(e.parentNode);l=rf(d,i).positionAbsolute}const u=a?KT(t,a):t;return{position:{x:u.x-l.x,y:u.y-l.y},positionAbsolute:u}}function _x({nodeId:e,dragItems:t,nodeInternals:n}){const r=t.map(i=>({...n.get(i.id),position:i.position,positionAbsolute:i.positionAbsolute}));return[e?r.find(i=>i.id===e):r[0],r]}const KR=(e,t,n,r)=>{const i=t.querySelectorAll(e);if(!i||!i.length)return null;const o=Array.from(i),s=t.getBoundingClientRect(),a={x:s.width*r[0],y:s.height*r[1]};return o.map(l=>{const u=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),position:l.getAttribute("data-handlepos"),x:(u.left-s.left-a.x)/n,y:(u.top-s.top-a.y)/n,...qT(l)}})};function qh(e,t,n){return n===void 0?n:r=>{const i=t().nodeInternals.get(e);n(r,{...i})}}function q3({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:i,unselectNodesAndEdges:o,multiSelectionActive:s,nodeInternals:a}=t.getState(),l=a.get(e);t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&s)&&(o({nodes:[l]}),requestAnimationFrame(()=>{var u;return(u=r==null?void 0:r.current)==null?void 0:u.blur()})):i([e])}function Dme(){const e=qr();return L.useCallback(({sourceEvent:n})=>{const{transform:r,snapGrid:i,snapToGrid:o}=e.getState(),s=n.touches?n.touches[0].clientX:n.clientX,a=n.touches?n.touches[0].clientY:n.clientY,l={x:(s-r[0])/r[2],y:(a-r[1])/r[2]};return{xSnapped:o?i[0]*Math.round(l.x/i[0]):l.x,ySnapped:o?i[1]*Math.round(l.y/i[1]):l.y,...l}},[])}function bx(e){return(t,n,r)=>e==null?void 0:e(t,r)}function TB({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:s}){const a=qr(),[l,u]=L.useState(!1),d=L.useRef([]),f=L.useRef({x:null,y:null}),p=L.useRef(0),g=L.useRef(null),m=L.useRef({x:0,y:0}),v=L.useRef(null),x=L.useRef(!1),_=Dme();return L.useEffect(()=>{if(e!=null&&e.current){const b=jo(e.current),y=({x:C,y:T})=>{const{nodeInternals:E,onNodeDrag:P,onSelectionDrag:k,updateNodePositions:O,nodeExtent:M,snapGrid:G,snapToGrid:U,nodeOrigin:A,onError:N}=a.getState();f.current={x:C,y:T};let F=!1;if(d.current=d.current.map(D=>{const V={x:C-D.distance.x,y:T-D.distance.y};U&&(V.x=G[0]*Math.round(V.x/G[0]),V.y=G[1]*Math.round(V.y/G[1]));const j=CB(D,V,E,M,A,N);return F=F||D.position.x!==j.position.x||D.position.y!==j.position.y,D.position=j.position,D.positionAbsolute=j.positionAbsolute,D}),!F)return;O(d.current,!0,!0),u(!0);const B=i?P:bx(k);if(B&&v.current){const[D,V]=_x({nodeId:i,dragItems:d.current,nodeInternals:E});B(v.current,D,V)}},S=()=>{if(!g.current)return;const[C,T]=XF(m.current,g.current);if(C!==0||T!==0){const{transform:E,panBy:P}=a.getState();f.current.x=(f.current.x??0)-C/E[2],f.current.y=(f.current.y??0)-T/E[2],P({x:C,y:T})&&y(f.current)}p.current=requestAnimationFrame(S)};if(t)b.on(".drag",null);else{const C=tpe().on("start",T=>{var F;const{nodeInternals:E,multiSelectionActive:P,domNode:k,nodesDraggable:O,unselectNodesAndEdges:M,onNodeDragStart:G,onSelectionDragStart:U}=a.getState(),A=i?G:bx(U);!s&&!P&&i&&((F=E.get(i))!=null&&F.selected||M()),i&&o&&s&&q3({id:i,store:a,nodeRef:e});const N=_(T);if(f.current=N,d.current=Nme(E,O,N,i),A&&d.current){const[B,D]=_x({nodeId:i,dragItems:d.current,nodeInternals:E});A(T.sourceEvent,B,D)}g.current=(k==null?void 0:k.getBoundingClientRect())||null,m.current=Ml(T.sourceEvent,g.current)}).on("drag",T=>{const E=_(T),{autoPanOnNodeDrag:P}=a.getState();!x.current&&P&&(x.current=!0,S()),(f.current.x!==E.xSnapped||f.current.y!==E.ySnapped)&&d.current&&(v.current=T.sourceEvent,m.current=Ml(T.sourceEvent,g.current),y(E))}).on("end",T=>{if(u(!1),x.current=!1,cancelAnimationFrame(p.current),d.current){const{updateNodePositions:E,nodeInternals:P,onNodeDragStop:k,onSelectionDragStop:O}=a.getState(),M=i?k:bx(O);if(E(d.current,!1,!1),M){const[G,U]=_x({nodeId:i,dragItems:d.current,nodeInternals:P});M(T.sourceEvent,G,U)}}}).filter(T=>{const E=T.target;return!T.button&&(!n||!qR(E,`.${n}`,e))&&(!r||qR(E,r,e))});return b.call(C),()=>{b.on(".drag",null)}}}},[e,t,n,r,o,a,i,s,_]),l}function EB(){const e=qr();return L.useCallback(n=>{const{nodeInternals:r,nodeExtent:i,updateNodePositions:o,getNodes:s,snapToGrid:a,snapGrid:l,onError:u,nodesDraggable:d}=e.getState(),f=s().filter(b=>b.selected&&(b.draggable||d&&typeof b.draggable>"u")),p=a?l[0]:5,g=a?l[1]:5,m=n.isShiftPressed?4:1,v=n.x*p*m,x=n.y*g*m,_=f.map(b=>{if(b.positionAbsolute){const y={x:b.positionAbsolute.x+v,y:b.positionAbsolute.y+x};a&&(y.x=l[0]*Math.round(y.x/l[0]),y.y=l[1]*Math.round(y.y/l[1]));const{positionAbsolute:S,position:C}=CB(b,y,r,i,void 0,u);b.position=C,b.positionAbsolute=S}return b});o(_,!0,!1)},[])}const of={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var Kh=e=>{const t=({id:n,type:r,data:i,xPos:o,yPos:s,xPosOrigin:a,yPosOrigin:l,selected:u,onClick:d,onMouseEnter:f,onMouseMove:p,onMouseLeave:g,onContextMenu:m,onDoubleClick:v,style:x,className:_,isDraggable:b,isSelectable:y,isConnectable:S,isFocusable:C,selectNodesOnDrag:T,sourcePosition:E,targetPosition:P,hidden:k,resizeObserver:O,dragHandle:M,zIndex:G,isParent:U,noDragClassName:A,noPanClassName:N,initialized:F,disableKeyboardA11y:B,ariaLabel:D,rfId:V})=>{const j=qr(),q=L.useRef(null),Z=L.useRef(E),ee=L.useRef(P),ie=L.useRef(r),se=y||b||d||f||p||g,le=EB(),W=qh(n,j.getState,f),ne=qh(n,j.getState,p),fe=qh(n,j.getState,g),pe=qh(n,j.getState,m),ve=qh(n,j.getState,v),ye=Ee=>{if(y&&(!T||!b)&&q3({id:n,store:j,nodeRef:q}),d){const lt=j.getState().nodeInternals.get(n);d(Ee,{...lt})}},We=Ee=>{if(!j3(Ee))if(JF.includes(Ee.key)&&y){const lt=Ee.key==="Escape";q3({id:n,store:j,unselect:lt,nodeRef:q})}else!B&&b&&u&&Object.prototype.hasOwnProperty.call(of,Ee.key)&&(j.setState({ariaLiveMessage:`Moved selected node ${Ee.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~s}`}),le({x:of[Ee.key].x,y:of[Ee.key].y,isShiftPressed:Ee.shiftKey}))};L.useEffect(()=>{if(q.current&&!k){const Ee=q.current;return O==null||O.observe(Ee),()=>O==null?void 0:O.unobserve(Ee)}},[k]),L.useEffect(()=>{const Ee=ie.current!==r,lt=Z.current!==E,_e=ee.current!==P;q.current&&(Ee||lt||_e)&&(Ee&&(ie.current=r),lt&&(Z.current=E),_e&&(ee.current=P),j.getState().updateNodeDimensions([{id:n,nodeElement:q.current,forceUpdate:!0}]))},[n,r,E,P]);const Me=TB({nodeRef:q,disabled:k||!b,noDragClassName:A,handleSelector:M,nodeId:n,isSelectable:y,selectNodesOnDrag:T});return k?null:ue.jsx("div",{className:Eo(["react-flow__node",`react-flow__node-${r}`,{[N]:b},_,{selected:u,selectable:y,parent:U,dragging:Me}]),ref:q,style:{zIndex:G,transform:`translate(${a}px,${l}px)`,pointerEvents:se?"all":"none",visibility:F?"visible":"hidden",...x},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:W,onMouseMove:ne,onMouseLeave:fe,onContextMenu:pe,onClick:ye,onDoubleClick:ve,onKeyDown:C?We:void 0,tabIndex:C?0:void 0,role:C?"button":void 0,"aria-describedby":B?void 0:`${SB}-${V}`,"aria-label":D,children:ue.jsx(ome,{value:n,children:ue.jsx(e,{id:n,data:i,type:r,xPos:o,yPos:s,selected:u,isConnectable:S,sourcePosition:E,targetPosition:P,dragging:Me,dragHandle:M,zIndex:G})})})};return t.displayName="NodeWrapper",L.memo(t)};function $me(e){const t={input:Kh(e.input||yB),default:Kh(e.default||W3),output:Kh(e.output||_B),group:Kh(e.group||eE)},n={},r=Object.keys(e).filter(i=>!["input","default","output","group"].includes(i)).reduce((i,o)=>(i[o]=Kh(e[o]||W3),i),n);return{...t,...r}}const Fme=({x:e,y:t,width:n,height:r,origin:i})=>!n||!r?{x:e,y:t}:i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:e,y:t}:{x:e-n*i[0],y:t-r*i[1]},Bme=typeof document<"u"?document:null;var kg=(e=null,t={target:Bme})=>{const[n,r]=L.useState(!1),i=L.useRef(!1),o=L.useRef(new Set([])),[s,a]=L.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.split("+")),d=u.reduce((f,p)=>f.concat(...p),[]);return[u,d]}return[[],[]]},[e]);return L.useEffect(()=>{var l,u;if(e!==null){const d=g=>{if(i.current=g.ctrlKey||g.metaKey||g.shiftKey,!i.current&&j3(g))return!1;const m=YR(g.code,a);o.current.add(g[m]),XR(s,o.current,!1)&&(g.preventDefault(),r(!0))},f=g=>{if(!i.current&&j3(g))return!1;const m=YR(g.code,a);XR(s,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(g[m]),i.current=!1},p=()=>{o.current.clear(),r(!1)};return(l=t==null?void 0:t.target)==null||l.addEventListener("keydown",d),(u=t==null?void 0:t.target)==null||u.addEventListener("keyup",f),window.addEventListener("blur",p),()=>{var g,m;(g=t==null?void 0:t.target)==null||g.removeEventListener("keydown",d),(m=t==null?void 0:t.target)==null||m.removeEventListener("keyup",f),window.removeEventListener("blur",p)}}},[e,r]),n};function XR(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function YR(e,t){return t.includes(e)?"code":"key"}function AB(e,t,n,r){var s,a;if(!e.parentNode)return n;const i=t.get(e.parentNode),o=rf(i,r);return AB(i,t,{x:(n.x??0)+o.x,y:(n.y??0)+o.y,z:(((s=i[nr])==null?void 0:s.z)??0)>(n.z??0)?((a=i[nr])==null?void 0:a.z)??0:n.z??0},r)}function PB(e,t,n){e.forEach(r=>{var i;if(r.parentNode&&!e.has(r.parentNode))throw new Error(`Parent node ${r.parentNode} not found`);if(r.parentNode||n!=null&&n[r.id]){const{x:o,y:s,z:a}=AB(r,e,{...r.position,z:((i=r[nr])==null?void 0:i.z)??0},t);r.positionAbsolute={x:o,y:s},r[nr].z=a,n!=null&&n[r.id]&&(r[nr].isParent=!0)}})}function Sx(e,t,n,r){const i=new Map,o={},s=r?1e3:0;return e.forEach(a=>{var f;const l=(_o(a.zIndex)?a.zIndex:0)+(a.selected?s:0),u=t.get(a.id),d={width:u==null?void 0:u.width,height:u==null?void 0:u.height,...a,positionAbsolute:{x:a.position.x,y:a.position.y}};a.parentNode&&(d.parentNode=a.parentNode,o[a.parentNode]=!0),Object.defineProperty(d,nr,{enumerable:!1,value:{handleBounds:(f=u==null?void 0:u[nr])==null?void 0:f.handleBounds,z:l}}),i.set(a.id,d)}),PB(i,n,o),i}function RB(e,t={}){const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:s,d3Zoom:a,d3Selection:l,fitViewOnInitDone:u,fitViewOnInit:d,nodeOrigin:f}=e(),p=t.initial&&!u&&d;if(a&&l&&(p||!t.initial)){const m=n().filter(x=>{var b;const _=t.includeHiddenNodes?x.width&&x.height:!x.hidden;return(b=t.nodes)!=null&&b.length?_&&t.nodes.some(y=>y.id===x.id):_}),v=m.every(x=>x.width&&x.height);if(m.length>0&&v){const x=aB(m,f),[_,b,y]=cB(x,r,i,t.minZoom??o,t.maxZoom??s,t.padding??.1),S=Il.translate(_,b).scale(y);return typeof t.duration=="number"&&t.duration>0?a.transform(Pu(l,t.duration),S):a.transform(l,S),!0}}return!1}function Ume(e,t){return e.forEach(n=>{const r=t.get(n.id);r&&t.set(r.id,{...r,[nr]:r[nr],selected:n.selected})}),new Map(t)}function zme(e,t){return t.map(n=>{const r=e.find(i=>i.id===n.id);return r&&(n.selected=r.selected),n})}function P0({changedNodes:e,changedEdges:t,get:n,set:r}){const{nodeInternals:i,edges:o,onNodesChange:s,onEdgesChange:a,hasDefaultNodes:l,hasDefaultEdges:u}=n();e!=null&&e.length&&(l&&r({nodeInternals:Ume(e,i)}),s==null||s(e)),t!=null&&t.length&&(u&&r({edges:zme(t,o)}),a==null||a(t))}const od=()=>{},Vme={zoomIn:od,zoomOut:od,zoomTo:od,getZoom:()=>1,setViewport:od,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:od,fitBounds:od,project:e=>e,viewportInitialized:!1},jme=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),Gme=()=>{const e=qr(),{d3Zoom:t,d3Selection:n}=Nn(jme,Ri);return L.useMemo(()=>n&&t?{zoomIn:i=>t.scaleBy(Pu(n,i==null?void 0:i.duration),1.2),zoomOut:i=>t.scaleBy(Pu(n,i==null?void 0:i.duration),1/1.2),zoomTo:(i,o)=>t.scaleTo(Pu(n,o==null?void 0:o.duration),i),getZoom:()=>e.getState().transform[2],setViewport:(i,o)=>{const[s,a,l]=e.getState().transform,u=Il.translate(i.x??s,i.y??a).scale(i.zoom??l);t.transform(Pu(n,o==null?void 0:o.duration),u)},getViewport:()=>{const[i,o,s]=e.getState().transform;return{x:i,y:o,zoom:s}},fitView:i=>RB(e.getState,i),setCenter:(i,o,s)=>{const{width:a,height:l,maxZoom:u}=e.getState(),d=typeof(s==null?void 0:s.zoom)<"u"?s.zoom:u,f=a/2-i*d,p=l/2-o*d,g=Il.translate(f,p).scale(d);t.transform(Pu(n,s==null?void 0:s.duration),g)},fitBounds:(i,o)=>{const{width:s,height:a,minZoom:l,maxZoom:u}=e.getState(),[d,f,p]=cB(i,s,a,l,u,(o==null?void 0:o.padding)??.1),g=Il.translate(d,f).scale(p);t.transform(Pu(n,o==null?void 0:o.duration),g)},project:i=>{const{transform:o,snapToGrid:s,snapGrid:a}=e.getState();return sB(i,o,s,a)},viewportInitialized:!0}:Vme,[t,n])};function OB(){const e=Gme(),t=qr(),n=L.useCallback(()=>t.getState().getNodes().map(v=>({...v})),[]),r=L.useCallback(v=>t.getState().nodeInternals.get(v),[]),i=L.useCallback(()=>{const{edges:v=[]}=t.getState();return v.map(x=>({...x}))},[]),o=L.useCallback(v=>{const{edges:x=[]}=t.getState();return x.find(_=>_.id===v)},[]),s=L.useCallback(v=>{const{getNodes:x,setNodes:_,hasDefaultNodes:b,onNodesChange:y}=t.getState(),S=x(),C=typeof v=="function"?v(S):v;if(b)_(C);else if(y){const T=C.length===0?S.map(E=>({type:"remove",id:E.id})):C.map(E=>({item:E,type:"reset"}));y(T)}},[]),a=L.useCallback(v=>{const{edges:x=[],setEdges:_,hasDefaultEdges:b,onEdgesChange:y}=t.getState(),S=typeof v=="function"?v(x):v;if(b)_(S);else if(y){const C=S.length===0?x.map(T=>({type:"remove",id:T.id})):S.map(T=>({item:T,type:"reset"}));y(C)}},[]),l=L.useCallback(v=>{const x=Array.isArray(v)?v:[v],{getNodes:_,setNodes:b,hasDefaultNodes:y,onNodesChange:S}=t.getState();if(y){const T=[..._(),...x];b(T)}else if(S){const C=x.map(T=>({item:T,type:"add"}));S(C)}},[]),u=L.useCallback(v=>{const x=Array.isArray(v)?v:[v],{edges:_=[],setEdges:b,hasDefaultEdges:y,onEdgesChange:S}=t.getState();if(y)b([..._,...x]);else if(S){const C=x.map(T=>({item:T,type:"add"}));S(C)}},[]),d=L.useCallback(()=>{const{getNodes:v,edges:x=[],transform:_}=t.getState(),[b,y,S]=_;return{nodes:v().map(C=>({...C})),edges:x.map(C=>({...C})),viewport:{x:b,y,zoom:S}}},[]),f=L.useCallback(({nodes:v,edges:x})=>{const{nodeInternals:_,getNodes:b,edges:y,hasDefaultNodes:S,hasDefaultEdges:C,onNodesDelete:T,onEdgesDelete:E,onNodesChange:P,onEdgesChange:k}=t.getState(),O=(v||[]).map(N=>N.id),M=(x||[]).map(N=>N.id),G=b().reduce((N,F)=>{const B=!O.includes(F.id)&&F.parentNode&&N.find(V=>V.id===F.parentNode);return(typeof F.deletable=="boolean"?F.deletable:!0)&&(O.includes(F.id)||B)&&N.push(F),N},[]),U=y.filter(N=>typeof N.deletable=="boolean"?N.deletable:!0),A=U.filter(N=>M.includes(N.id));if(G||A){const N=uB(G,U),F=[...A,...N],B=F.reduce((D,V)=>(D.includes(V.id)||D.push(V.id),D),[]);if((C||S)&&(C&&t.setState({edges:y.filter(D=>!B.includes(D.id))}),S&&(G.forEach(D=>{_.delete(D.id)}),t.setState({nodeInternals:new Map(_)}))),B.length>0&&(E==null||E(F),k&&k(B.map(D=>({id:D,type:"remove"})))),G.length>0&&(T==null||T(G),P)){const D=G.map(V=>({id:V.id,type:"remove"}));P(D)}}},[]),p=L.useCallback(v=>{const x=Zge(v),_=x?null:t.getState().nodeInternals.get(v.id);return[x?v:NR(_),_,x]},[]),g=L.useCallback((v,x=!0,_)=>{const[b,y,S]=p(v);return b?(_||t.getState().getNodes()).filter(C=>{if(!S&&(C.id===y.id||!C.positionAbsolute))return!1;const T=NR(C),E=V3(T,b);return x&&E>0||E>=v.width*v.height}):[]},[]),m=L.useCallback((v,x,_=!0)=>{const[b]=p(v);if(!b)return!1;const y=V3(b,x);return _&&y>0||y>=v.width*v.height},[]);return L.useMemo(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:s,setEdges:a,addNodes:l,addEdges:u,toObject:d,deleteElements:f,getIntersectingNodes:g,isNodeIntersecting:m}),[e,n,r,i,o,s,a,l,u,d,f,g,m])}var Hme=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=qr(),{deleteElements:r}=OB(),i=kg(e),o=kg(t);L.useEffect(()=>{if(i){const{edges:s,getNodes:a}=n.getState(),l=a().filter(d=>d.selected),u=s.filter(d=>d.selected);r({nodes:l,edges:u}),n.setState({nodesSelectionActive:!1})}},[i]),L.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])};function Wme(e){const t=qr();L.useEffect(()=>{let n;const r=()=>{var o,s;if(!e.current)return;const i=qT(e.current);(i.height===0||i.width===0)&&((s=(o=t.getState()).onError)==null||s.call(o,"004",Wl.error004())),t.setState({width:i.width||500,height:i.height||500})};return r(),window.addEventListener("resize",r),e.current&&(n=new ResizeObserver(()=>r()),n.observe(e.current)),()=>{window.removeEventListener("resize",r),n&&e.current&&n.unobserve(e.current)}},[])}const tE={position:"absolute",width:"100%",height:"100%",top:0,left:0},qme=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,wx=e=>({x:e.x,y:e.y,zoom:e.k}),sd=(e,t)=>e.target.closest(`.${t}`),QR=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),Kme=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),Xme=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:s=!1,panOnScrollSpeed:a=.5,panOnScrollMode:l=nf.Free,zoomOnDoubleClick:u=!0,elementsSelectable:d,panOnDrag:f=!0,defaultViewport:p,translateExtent:g,minZoom:m,maxZoom:v,zoomActivationKeyCode:x,preventScrolling:_=!0,children:b,noWheelClassName:y,noPanClassName:S})=>{const C=L.useRef(),T=qr(),E=L.useRef(!1),P=L.useRef(!1),k=L.useRef(null),O=L.useRef({x:0,y:0,zoom:0}),{d3Zoom:M,d3Selection:G,d3ZoomHandler:U,userSelectionActive:A}=Nn(Kme,Ri),N=kg(x),F=L.useRef(0);return Wme(k),L.useEffect(()=>{if(k.current){const B=k.current.getBoundingClientRect(),D=Hge().scaleExtent([m,v]).translateExtent(g),V=jo(k.current).call(D),j=Il.translate(p.x,p.y).scale(Af(p.zoom,m,v)),q=[[0,0],[B.width,B.height]],Z=D.constrain()(j,q,g);D.transform(V,Z),T.setState({d3Zoom:D,d3Selection:V,d3ZoomHandler:V.on("wheel.zoom"),transform:[Z.x,Z.y,Z.k],domNode:k.current.closest(".react-flow")})}},[]),L.useEffect(()=>{G&&M&&(s&&!N&&!A?G.on("wheel.zoom",B=>{if(sd(B,y))return!1;B.preventDefault(),B.stopImmediatePropagation();const D=G.property("__zoom").k||1;if(B.ctrlKey&&o){const Z=gs(B),ee=-B.deltaY*(B.deltaMode===1?.05:B.deltaMode?1:.002)*10,ie=D*Math.pow(2,ee);M.scaleTo(G,ie,Z);return}const V=B.deltaMode===1?20:1,j=l===nf.Vertical?0:B.deltaX*V,q=l===nf.Horizontal?0:B.deltaY*V;M.translateBy(G,-(j/D)*a,-(q/D)*a)},{passive:!1}):typeof U<"u"&&G.on("wheel.zoom",function(B,D){if(!_||sd(B,y))return null;B.preventDefault(),U.call(this,B,D)},{passive:!1}))},[A,s,l,G,M,U,N,o,_,y]),L.useEffect(()=>{M&&M.on("start",B=>{var V;if(!B.sourceEvent)return null;F.current=B.sourceEvent.button;const{onViewportChangeStart:D}=T.getState();if(E.current=!0,((V=B.sourceEvent)==null?void 0:V.type)==="mousedown"&&T.setState({paneDragging:!0}),t||D){const j=wx(B.transform);O.current=j,D==null||D(j),t==null||t(B.sourceEvent,j)}})},[M,t]),L.useEffect(()=>{M&&(A&&!E.current?M.on("zoom",null):A||M.on("zoom",B=>{const{onViewportChange:D}=T.getState();if(T.setState({transform:[B.transform.x,B.transform.y,B.transform.k]}),P.current=!!(r&&QR(f,F.current??0)),e||D){const V=wx(B.transform);D==null||D(V),e==null||e(B.sourceEvent,V)}}))},[A,M,e,f,r]),L.useEffect(()=>{M&&M.on("end",B=>{if(!B.sourceEvent)return null;const{onViewportChangeEnd:D}=T.getState();if(E.current=!1,T.setState({paneDragging:!1}),r&&QR(f,F.current??0)&&!P.current&&r(B.sourceEvent),P.current=!1,(n||D)&&qme(O.current,B.transform)){const V=wx(B.transform);O.current=V,clearTimeout(C.current),C.current=setTimeout(()=>{D==null||D(V),n==null||n(B.sourceEvent,V)},s?150:0)}})},[M,s,f,n,r]),L.useEffect(()=>{M&&M.filter(B=>{const D=N||i,V=o&&B.ctrlKey;if(B.button===1&&B.type==="mousedown"&&(sd(B,"react-flow__node")||sd(B,"react-flow__edge")))return!0;if(!f&&!D&&!s&&!u&&!o||A||!u&&B.type==="dblclick"||sd(B,y)&&B.type==="wheel"||sd(B,S)&&B.type!=="wheel"||!o&&B.ctrlKey&&B.type==="wheel"||!D&&!s&&!V&&B.type==="wheel"||!f&&(B.type==="mousedown"||B.type==="touchstart")||Array.isArray(f)&&!f.includes(B.button)&&(B.type==="mousedown"||B.type==="touchstart"))return!1;const j=Array.isArray(f)&&f.includes(B.button)||!B.button||B.button<=1;return(!B.ctrlKey||B.type==="wheel")&&j})},[A,M,i,o,s,u,f,d,N]),ue.jsx("div",{className:"react-flow__renderer",ref:k,style:tE,children:b})},Yme=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function Qme(){const{userSelectionActive:e,userSelectionRect:t}=Nn(Yme,Ri);return e&&t?ue.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function ZR(e,t){const n=e.find(r=>r.id===t.parentNode);if(n){const r=t.position.x+t.width-n.width,i=t.position.y+t.height-n.height;if(r>0||i>0||t.position.x<0||t.position.y<0){if(n.style={...n.style},n.style.width=n.style.width??n.width,n.style.height=n.style.height??n.height,r>0&&(n.style.width+=r),i>0&&(n.style.height+=i),t.position.x<0){const o=Math.abs(t.position.x);n.position.x=n.position.x-o,n.style.width+=o,t.position.x=0}if(t.position.y<0){const o=Math.abs(t.position.y);n.position.y=n.position.y-o,n.style.height+=o,t.position.y=0}n.width=n.style.width,n.height=n.style.height}}}function kB(e,t){if(e.some(r=>r.type==="reset"))return e.filter(r=>r.type==="reset").map(r=>r.item);const n=e.filter(r=>r.type==="add").map(r=>r.item);return t.reduce((r,i)=>{const o=e.filter(a=>a.id===i.id);if(o.length===0)return r.push(i),r;const s={...i};for(const a of o)if(a)switch(a.type){case"select":{s.selected=a.selected;break}case"position":{typeof a.position<"u"&&(s.position=a.position),typeof a.positionAbsolute<"u"&&(s.positionAbsolute=a.positionAbsolute),typeof a.dragging<"u"&&(s.dragging=a.dragging),s.expandParent&&ZR(r,s);break}case"dimensions":{typeof a.dimensions<"u"&&(s.width=a.dimensions.width,s.height=a.dimensions.height),typeof a.updateStyle<"u"&&(s.style={...s.style||{},...a.dimensions}),typeof a.resizing=="boolean"&&(s.resizing=a.resizing),s.expandParent&&ZR(r,s);break}case"remove":return r}return r.push(s),r},n)}function IB(e,t){return kB(e,t)}function Zme(e,t){return kB(e,t)}const dl=(e,t)=>({id:e,type:"select",selected:t});function Ld(e,t){return e.reduce((n,r)=>{const i=t.includes(r.id);return!r.selected&&i?(r.selected=!0,n.push(dl(r.id,!0))):r.selected&&!i&&(r.selected=!1,n.push(dl(r.id,!1))),n},[])}const xx=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},Jme=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),MB=L.memo(({isSelecting:e,selectionMode:t=Og.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:s,onPaneScroll:a,onPaneMouseEnter:l,onPaneMouseMove:u,onPaneMouseLeave:d,children:f})=>{const p=L.useRef(null),g=qr(),m=L.useRef(0),v=L.useRef(0),x=L.useRef(),{userSelectionActive:_,elementsSelectable:b,dragging:y}=Nn(Jme,Ri),S=()=>{g.setState({userSelectionActive:!1,userSelectionRect:null}),m.current=0,v.current=0},C=U=>{o==null||o(U),g.getState().resetSelectedElements(),g.setState({nodesSelectionActive:!1})},T=U=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){U.preventDefault();return}s==null||s(U)},E=a?U=>a(U):void 0,P=U=>{const{resetSelectedElements:A,domNode:N}=g.getState();if(x.current=N==null?void 0:N.getBoundingClientRect(),!b||!e||U.button!==0||U.target!==p.current||!x.current)return;const{x:F,y:B}=Ml(U,x.current);A(),g.setState({userSelectionRect:{width:0,height:0,startX:F,startY:B,x:F,y:B}}),r==null||r(U)},k=U=>{const{userSelectionRect:A,nodeInternals:N,edges:F,transform:B,onNodesChange:D,onEdgesChange:V,nodeOrigin:j,getNodes:q}=g.getState();if(!e||!x.current||!A)return;g.setState({userSelectionActive:!0,nodesSelectionActive:!1});const Z=Ml(U,x.current),ee=A.startX??0,ie=A.startY??0,se={...A,x:Z.xpe.id),fe=W.map(pe=>pe.id);if(m.current!==fe.length){m.current=fe.length;const pe=Ld(le,fe);pe.length&&(D==null||D(pe))}if(v.current!==ne.length){v.current=ne.length;const pe=Ld(F,ne);pe.length&&(V==null||V(pe))}g.setState({userSelectionRect:se})},O=U=>{if(U.button!==0)return;const{userSelectionRect:A}=g.getState();!_&&A&&U.target===p.current&&(C==null||C(U)),g.setState({nodesSelectionActive:m.current>0}),S(),i==null||i(U)},M=U=>{_&&(g.setState({nodesSelectionActive:m.current>0}),i==null||i(U)),S()},G=b&&(e||_);return ue.jsxs("div",{className:Eo(["react-flow__pane",{dragging:y,selection:e}]),onClick:G?void 0:xx(C,p),onContextMenu:xx(T,p),onWheel:xx(E,p),onMouseEnter:G?void 0:l,onMouseDown:G?P:void 0,onMouseMove:G?k:u,onMouseUp:G?O:void 0,onMouseLeave:G?M:d,ref:p,style:tE,children:[f,ue.jsx(Qme,{})]})});MB.displayName="Pane";const eye=e=>{const t=e.getNodes().filter(n=>n.selected);return{...aB(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function tye({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=qr(),{width:i,height:o,x:s,y:a,transformString:l,userSelectionActive:u}=Nn(eye,Ri),d=EB(),f=L.useRef(null);if(L.useEffect(()=>{var m;n||(m=f.current)==null||m.focus({preventScroll:!0})},[n]),TB({nodeRef:f}),u||!i||!o)return null;const p=e?m=>{const v=r.getState().getNodes().filter(x=>x.selected);e(m,v)}:void 0,g=m=>{Object.prototype.hasOwnProperty.call(of,m.key)&&d({x:of[m.key].x,y:of[m.key].y,isShiftPressed:m.shiftKey})};return ue.jsx("div",{className:Eo(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l},children:ue.jsx("div",{ref:f,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:n?void 0:-1,onKeyDown:n?void 0:g,style:{width:i,height:o,top:a,left:s}})})}var nye=L.memo(tye);const rye=e=>e.nodesSelectionActive,NB=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,deleteKeyCode:a,onMove:l,onMoveStart:u,onMoveEnd:d,selectionKeyCode:f,selectionOnDrag:p,selectionMode:g,onSelectionStart:m,onSelectionEnd:v,multiSelectionKeyCode:x,panActivationKeyCode:_,zoomActivationKeyCode:b,elementsSelectable:y,zoomOnScroll:S,zoomOnPinch:C,panOnScroll:T,panOnScrollSpeed:E,panOnScrollMode:P,zoomOnDoubleClick:k,panOnDrag:O,defaultViewport:M,translateExtent:G,minZoom:U,maxZoom:A,preventScrolling:N,onSelectionContextMenu:F,noWheelClassName:B,noPanClassName:D,disableKeyboardA11y:V})=>{const j=Nn(rye),q=kg(f),ee=kg(_)||O,ie=q||p&&ee!==!0;return Hme({deleteKeyCode:a,multiSelectionKeyCode:x}),ue.jsx(Xme,{onMove:l,onMoveStart:u,onMoveEnd:d,onPaneContextMenu:o,elementsSelectable:y,zoomOnScroll:S,zoomOnPinch:C,panOnScroll:T,panOnScrollSpeed:E,panOnScrollMode:P,zoomOnDoubleClick:k,panOnDrag:!q&&ee,defaultViewport:M,translateExtent:G,minZoom:U,maxZoom:A,zoomActivationKeyCode:b,preventScrolling:N,noWheelClassName:B,noPanClassName:D,children:ue.jsxs(MB,{onSelectionStart:m,onSelectionEnd:v,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,panOnDrag:ee,isSelecting:!!ie,selectionMode:g,children:[e,j&&ue.jsx(nye,{onSelectionContextMenu:F,noPanClassName:D,disableKeyboardA11y:V})]})})};NB.displayName="FlowRenderer";var iye=L.memo(NB);function oye(e){return Nn(L.useCallback(n=>e?lB(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[e]))}const sye=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),LB=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:s}=Nn(sye,Ri),a=oye(e.onlyRenderVisibleElements),l=L.useRef(),u=L.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const d=new ResizeObserver(f=>{const p=f.map(g=>({id:g.target.getAttribute("data-id"),nodeElement:g.target,forceUpdate:!0}));o(p)});return l.current=d,d},[]);return L.useEffect(()=>()=>{var d;(d=l==null?void 0:l.current)==null||d.disconnect()},[]),ue.jsx("div",{className:"react-flow__nodes",style:tE,children:a.map(d=>{var C,T;let f=d.type||"default";e.nodeTypes[f]||(s==null||s("003",Wl.error003(f)),f="default");const p=e.nodeTypes[f]||e.nodeTypes.default,g=!!(d.draggable||t&&typeof d.draggable>"u"),m=!!(d.selectable||i&&typeof d.selectable>"u"),v=!!(d.connectable||n&&typeof d.connectable>"u"),x=!!(d.focusable||r&&typeof d.focusable>"u"),_=e.nodeExtent?KT(d.positionAbsolute,e.nodeExtent):d.positionAbsolute,b=(_==null?void 0:_.x)??0,y=(_==null?void 0:_.y)??0,S=Fme({x:b,y,width:d.width??0,height:d.height??0,origin:e.nodeOrigin});return ue.jsx(p,{id:d.id,className:d.className,style:d.style,type:f,data:d.data,sourcePosition:d.sourcePosition||Ne.Bottom,targetPosition:d.targetPosition||Ne.Top,hidden:d.hidden,xPos:b,yPos:y,xPosOrigin:S.x,yPosOrigin:S.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!d.selected,isDraggable:g,isSelectable:m,isConnectable:v,isFocusable:x,resizeObserver:u,dragHandle:d.dragHandle,zIndex:((C=d[nr])==null?void 0:C.z)??0,isParent:!!((T=d[nr])!=null&&T.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!d.width&&!!d.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:d.ariaLabel},d.id)})})};LB.displayName="NodeRenderer";var aye=L.memo(LB);const lye=[{level:0,isMaxLevel:!0,edges:[]}];function uye(e,t,n=!1){let r=-1;const i=e.reduce((s,a)=>{var d,f;const l=_o(a.zIndex);let u=l?a.zIndex:0;if(n){const p=t.get(a.target),g=t.get(a.source),m=a.selected||(p==null?void 0:p.selected)||(g==null?void 0:g.selected),v=Math.max(((d=g==null?void 0:g[nr])==null?void 0:d.z)||0,((f=p==null?void 0:p[nr])==null?void 0:f.z)||0,1e3);u=(l?a.zIndex:0)+(m?v:0)}return s[u]?s[u].push(a):s[u]=[a],r=u>r?u:r,s},{}),o=Object.entries(i).map(([s,a])=>{const l=+s;return{edges:a,level:l,isMaxLevel:l===r}});return o.length===0?lye:o}function cye(e,t,n){const r=Nn(L.useCallback(i=>e?i.edges.filter(o=>{const s=t.get(o.source),a=t.get(o.target);return(s==null?void 0:s.width)&&(s==null?void 0:s.height)&&(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&Mme({sourcePos:s.positionAbsolute||{x:0,y:0},targetPos:a.positionAbsolute||{x:0,y:0},sourceWidth:s.width,sourceHeight:s.height,targetWidth:a.width,targetHeight:a.height,width:i.width,height:i.height,transform:i.transform})}):i.edges,[e,t]));return uye(r,t,n)}const dye=({color:e="none",strokeWidth:t=1})=>ue.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:"none",points:"-5,-4 0,0 -5,4"}),fye=({color:e="none",strokeWidth:t=1})=>ue.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:e,points:"-5,-4 0,0 -5,4 -5,-4"}),JR={[B1.Arrow]:dye,[B1.ArrowClosed]:fye};function hye(e){const t=qr();return L.useMemo(()=>{var i,o;return Object.prototype.hasOwnProperty.call(JR,e)?JR[e]:((o=(i=t.getState()).onError)==null||o.call(i,"009",Wl.error009(e)),null)},[e])}const pye=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:o="strokeWidth",strokeWidth:s,orient:a="auto-start-reverse"})=>{const l=hye(t);return l?ue.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:a,refX:"0",refY:"0",children:ue.jsx(l,{color:n,strokeWidth:s})}):null},gye=({defaultColor:e,rfId:t})=>n=>{const r=[];return n.edges.reduce((i,o)=>([o.markerStart,o.markerEnd].forEach(s=>{if(s&&typeof s=="object"){const a=H3(s,t);r.includes(a)||(i.push({id:a,color:s.color||e,...s}),r.push(a))}}),i),[]).sort((i,o)=>i.id.localeCompare(o.id))},DB=({defaultColor:e,rfId:t})=>{const n=Nn(L.useCallback(gye({defaultColor:e,rfId:t}),[e,t]),(r,i)=>!(r.length!==i.length||r.some((o,s)=>o.id!==i[s].id)));return ue.jsx("defs",{children:n.map(r=>ue.jsx(pye,{id:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient},r.id))})};DB.displayName="MarkerDefinitions";var mye=L.memo(DB);const yye=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),$B=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeUpdate:s,onEdgeContextMenu:a,onEdgeMouseEnter:l,onEdgeMouseMove:u,onEdgeMouseLeave:d,onEdgeClick:f,edgeUpdaterRadius:p,onEdgeDoubleClick:g,onEdgeUpdateStart:m,onEdgeUpdateEnd:v,children:x})=>{const{edgesFocusable:_,edgesUpdatable:b,elementsSelectable:y,width:S,height:C,connectionMode:T,nodeInternals:E,onError:P}=Nn(yye,Ri),k=cye(t,E,n);return S?ue.jsxs(ue.Fragment,{children:[k.map(({level:O,edges:M,isMaxLevel:G})=>ue.jsxs("svg",{style:{zIndex:O},width:S,height:C,className:"react-flow__edges react-flow__container",children:[G&&ue.jsx(mye,{defaultColor:e,rfId:r}),ue.jsx("g",{children:M.map(U=>{const[A,N,F]=WR(E.get(U.source)),[B,D,V]=WR(E.get(U.target));if(!F||!V)return null;let j=U.type||"default";i[j]||(P==null||P("011",Wl.error011(j)),j="default");const q=i[j]||i.default,Z=T===sc.Strict?D.target:(D.target??[]).concat(D.source??[]),ee=HR(N.source,U.sourceHandle),ie=HR(Z,U.targetHandle),se=(ee==null?void 0:ee.position)||Ne.Bottom,le=(ie==null?void 0:ie.position)||Ne.Top,W=!!(U.focusable||_&&typeof U.focusable>"u"),ne=typeof s<"u"&&(U.updatable||b&&typeof U.updatable>"u");if(!ee||!ie)return P==null||P("008",Wl.error008(ee,U)),null;const{sourceX:fe,sourceY:pe,targetX:ve,targetY:ye}=Ime(A,ee,se,B,ie,le);return ue.jsx(q,{id:U.id,className:Eo([U.className,o]),type:j,data:U.data,selected:!!U.selected,animated:!!U.animated,hidden:!!U.hidden,label:U.label,labelStyle:U.labelStyle,labelShowBg:U.labelShowBg,labelBgStyle:U.labelBgStyle,labelBgPadding:U.labelBgPadding,labelBgBorderRadius:U.labelBgBorderRadius,style:U.style,source:U.source,target:U.target,sourceHandleId:U.sourceHandle,targetHandleId:U.targetHandle,markerEnd:U.markerEnd,markerStart:U.markerStart,sourceX:fe,sourceY:pe,targetX:ve,targetY:ye,sourcePosition:se,targetPosition:le,elementsSelectable:y,onEdgeUpdate:s,onContextMenu:a,onMouseEnter:l,onMouseMove:u,onMouseLeave:d,onClick:f,edgeUpdaterRadius:p,onEdgeDoubleClick:g,onEdgeUpdateStart:m,onEdgeUpdateEnd:v,rfId:r,ariaLabel:U.ariaLabel,isFocusable:W,isUpdatable:ne,pathOptions:"pathOptions"in U?U.pathOptions:void 0,interactionWidth:U.interactionWidth},U.id)})})]},O)),x]}):null};$B.displayName="EdgeRenderer";var vye=L.memo($B);const _ye=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function bye({children:e}){const t=Nn(_ye);return ue.jsx("div",{className:"react-flow__viewport react-flow__container",style:{transform:t},children:e})}function Sye(e){const t=OB(),n=L.useRef(!1);L.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const wye={[Ne.Left]:Ne.Right,[Ne.Right]:Ne.Left,[Ne.Top]:Ne.Bottom,[Ne.Bottom]:Ne.Top},FB=({nodeId:e,handleType:t,style:n,type:r=yl.Bezier,CustomComponent:i,connectionStatus:o})=>{var T,E,P;const{fromNode:s,handleId:a,toX:l,toY:u,connectionMode:d}=Nn(L.useCallback(k=>({fromNode:k.nodeInternals.get(e),handleId:k.connectionHandleId,toX:(k.connectionPosition.x-k.transform[0])/k.transform[2],toY:(k.connectionPosition.y-k.transform[1])/k.transform[2],connectionMode:k.connectionMode}),[e]),Ri),f=(T=s==null?void 0:s[nr])==null?void 0:T.handleBounds;let p=f==null?void 0:f[t];if(d===sc.Loose&&(p=p||(f==null?void 0:f[t==="source"?"target":"source"])),!s||!p)return null;const g=a?p.find(k=>k.id===a):p[0],m=g?g.x+g.width/2:(s.width??0)/2,v=g?g.y+g.height/2:s.height??0,x=(((E=s.positionAbsolute)==null?void 0:E.x)??0)+m,_=(((P=s.positionAbsolute)==null?void 0:P.y)??0)+v,b=g==null?void 0:g.position,y=b?wye[b]:null;if(!b||!y)return null;if(i)return ue.jsx(i,{connectionLineType:r,connectionLineStyle:n,fromNode:s,fromHandle:g,fromX:x,fromY:_,toX:l,toY:u,fromPosition:b,toPosition:y,connectionStatus:o});let S="";const C={sourceX:x,sourceY:_,sourcePosition:b,targetX:l,targetY:u,targetPosition:y};return r===yl.Bezier?[S]=iB(C):r===yl.Step?[S]=G3({...C,borderRadius:0}):r===yl.SmoothStep?[S]=G3(C):r===yl.SimpleBezier?[S]=rB(C):S=`M${x},${_} ${l},${u}`,ue.jsx("path",{d:S,fill:"none",className:"react-flow__connection-path",style:n})};FB.displayName="ConnectionLine";const xye=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function Cye({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:s,width:a,height:l,connectionStatus:u}=Nn(xye,Ri);return!(i&&o&&a&&s)?null:ue.jsx("svg",{style:e,width:a,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container",children:ue.jsx("g",{className:Eo(["react-flow__connection",u]),children:ue.jsx(FB,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:u})})})}const BB=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:s,onEdgeClick:a,onNodeDoubleClick:l,onEdgeDoubleClick:u,onNodeMouseEnter:d,onNodeMouseMove:f,onNodeMouseLeave:p,onNodeContextMenu:g,onSelectionContextMenu:m,onSelectionStart:v,onSelectionEnd:x,connectionLineType:_,connectionLineStyle:b,connectionLineComponent:y,connectionLineContainerStyle:S,selectionKeyCode:C,selectionOnDrag:T,selectionMode:E,multiSelectionKeyCode:P,panActivationKeyCode:k,zoomActivationKeyCode:O,deleteKeyCode:M,onlyRenderVisibleElements:G,elementsSelectable:U,selectNodesOnDrag:A,defaultViewport:N,translateExtent:F,minZoom:B,maxZoom:D,preventScrolling:V,defaultMarkerColor:j,zoomOnScroll:q,zoomOnPinch:Z,panOnScroll:ee,panOnScrollSpeed:ie,panOnScrollMode:se,zoomOnDoubleClick:le,panOnDrag:W,onPaneClick:ne,onPaneMouseEnter:fe,onPaneMouseMove:pe,onPaneMouseLeave:ve,onPaneScroll:ye,onPaneContextMenu:We,onEdgeUpdate:Me,onEdgeContextMenu:Ee,onEdgeMouseEnter:lt,onEdgeMouseMove:_e,onEdgeMouseLeave:jt,edgeUpdaterRadius:Wn,onEdgeUpdateStart:Bt,onEdgeUpdateEnd:it,noDragClassName:mt,noWheelClassName:Jt,noPanClassName:Mr,elevateEdgesOnSelect:yr,disableKeyboardA11y:hi,nodeOrigin:wn,nodeExtent:on,rfId:qn})=>(Sye(o),ue.jsx(iye,{onPaneClick:ne,onPaneMouseEnter:fe,onPaneMouseMove:pe,onPaneMouseLeave:ve,onPaneContextMenu:We,onPaneScroll:ye,deleteKeyCode:M,selectionKeyCode:C,selectionOnDrag:T,selectionMode:E,onSelectionStart:v,onSelectionEnd:x,multiSelectionKeyCode:P,panActivationKeyCode:k,zoomActivationKeyCode:O,elementsSelectable:U,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:q,zoomOnPinch:Z,zoomOnDoubleClick:le,panOnScroll:ee,panOnScrollSpeed:ie,panOnScrollMode:se,panOnDrag:W,defaultViewport:N,translateExtent:F,minZoom:B,maxZoom:D,onSelectionContextMenu:m,preventScrolling:V,noDragClassName:mt,noWheelClassName:Jt,noPanClassName:Mr,disableKeyboardA11y:hi,children:ue.jsxs(bye,{children:[ue.jsx(vye,{edgeTypes:t,onEdgeClick:a,onEdgeDoubleClick:u,onEdgeUpdate:Me,onlyRenderVisibleElements:G,onEdgeContextMenu:Ee,onEdgeMouseEnter:lt,onEdgeMouseMove:_e,onEdgeMouseLeave:jt,onEdgeUpdateStart:Bt,onEdgeUpdateEnd:it,edgeUpdaterRadius:Wn,defaultMarkerColor:j,noPanClassName:Mr,elevateEdgesOnSelect:!!yr,disableKeyboardA11y:hi,rfId:qn,children:ue.jsx(Cye,{style:b,type:_,component:y,containerStyle:S})}),ue.jsx("div",{className:"react-flow__edgelabel-renderer"}),ue.jsx(aye,{nodeTypes:e,onNodeClick:s,onNodeDoubleClick:l,onNodeMouseEnter:d,onNodeMouseMove:f,onNodeMouseLeave:p,onNodeContextMenu:g,selectNodesOnDrag:A,onlyRenderVisibleElements:G,noPanClassName:Mr,noDragClassName:mt,disableKeyboardA11y:hi,nodeOrigin:wn,nodeExtent:on,rfId:qn})]})}));BB.displayName="GraphView";var Tye=L.memo(BB);const K3=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],il={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:K3,nodeExtent:K3,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:sc.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:Jge,isValidConnection:void 0},Eye=()=>dfe((e,t)=>({...il,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:Sx(n,r,i,o)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:r={}}=t();e({edges:n.map(i=>({...r,...i}))})},setDefaultNodesAndEdges:(n,r)=>{const i=typeof n<"u",o=typeof r<"u",s=i?Sx(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:s,edges:o?r:[],hasDefaultNodes:i,hasDefaultEdges:o})},updateNodeDimensions:n=>{const{onNodesChange:r,nodeInternals:i,fitViewOnInit:o,fitViewOnInitDone:s,fitViewOnInitOptions:a,domNode:l,nodeOrigin:u}=t(),d=l==null?void 0:l.querySelector(".react-flow__viewport");if(!d)return;const f=window.getComputedStyle(d),{m22:p}=new window.DOMMatrixReadOnly(f.transform),g=n.reduce((v,x)=>{const _=i.get(x.id);if(_){const b=qT(x.nodeElement);!!(b.width&&b.height&&(_.width!==b.width||_.height!==b.height||x.forceUpdate))&&(i.set(_.id,{..._,[nr]:{..._[nr],handleBounds:{source:KR(".source",x.nodeElement,p,u),target:KR(".target",x.nodeElement,p,u)}},...b}),v.push({id:_.id,type:"dimensions",dimensions:b}))}return v},[]);PB(i,u);const m=s||o&&!s&&RB(t,{initial:!0,...a});e({nodeInternals:new Map(i),fitViewOnInitDone:m}),(g==null?void 0:g.length)>0&&(r==null||r(g))},updateNodePositions:(n,r=!0,i=!1)=>{const{triggerNodeChanges:o}=t(),s=n.map(a=>{const l={id:a.id,type:"position",dragging:i};return r&&(l.positionAbsolute=a.positionAbsolute,l.position=a.position),l});o(s)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:i,hasDefaultNodes:o,nodeOrigin:s,getNodes:a,elevateNodesOnSelect:l}=t();if(n!=null&&n.length){if(o){const u=IB(n,a()),d=Sx(u,i,s,l);e({nodeInternals:d})}r==null||r(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>dl(l,!0)):(s=Ld(o(),n),a=Ld(i,[])),P0({changedNodes:s,changedEdges:a,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>dl(l,!0)):(s=Ld(i,n),a=Ld(o(),[])),P0({changedNodes:a,changedEdges:s,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:i,getNodes:o}=t(),s=n||o(),a=r||i,l=s.map(d=>(d.selected=!1,dl(d.id,!1))),u=a.map(d=>dl(d.id,!1));P0({changedNodes:l,changedEdges:u,get:t,set:e})},setMinZoom:n=>{const{d3Zoom:r,maxZoom:i}=t();r==null||r.scaleExtent([n,i]),e({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:r,minZoom:i}=t();r==null||r.scaleExtent([i,n]),e({maxZoom:n})},setTranslateExtent:n=>{var r;(r=t().d3Zoom)==null||r.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:r}=t(),o=r().filter(a=>a.selected).map(a=>dl(a.id,!1)),s=n.filter(a=>a.selected).map(a=>dl(a.id,!1));P0({changedNodes:o,changedEdges:s,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(i=>{i.positionAbsolute=KT(i.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:n=>{const{transform:r,width:i,height:o,d3Zoom:s,d3Selection:a,translateExtent:l}=t();if(!s||!a||!n.x&&!n.y)return!1;const u=Il.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),d=[[0,0],[i,o]],f=s==null?void 0:s.constrain()(u,d,l);return s.transform(a,f),r[0]!==f.x||r[1]!==f.y||r[2]!==f.k},cancelConnection:()=>e({connectionNodeId:il.connectionNodeId,connectionHandleId:il.connectionHandleId,connectionHandleType:il.connectionHandleType,connectionStatus:il.connectionStatus,connectionStartHandle:il.connectionStartHandle,connectionEndHandle:il.connectionEndHandle}),reset:()=>e({...il})})),UB=({children:e})=>{const t=L.useRef(null);return t.current||(t.current=Eye()),ue.jsx(Wge,{value:t.current,children:e})};UB.displayName="ReactFlowProvider";const zB=({children:e})=>L.useContext(Ib)?ue.jsx(ue.Fragment,{children:e}):ue.jsx(UB,{children:e});zB.displayName="ReactFlowWrapper";function eO(e,t){return L.useRef(null),L.useMemo(()=>t(e),[e])}const Aye={input:yB,default:W3,output:_B,group:eE},Pye={default:U1,straight:QT,step:YT,smoothstep:Mb,simplebezier:XT},Rye=[0,0],Oye=[15,15],kye={x:0,y:0,zoom:1},Iye={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},Mye=L.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=Aye,edgeTypes:s=Pye,onNodeClick:a,onEdgeClick:l,onInit:u,onMove:d,onMoveStart:f,onMoveEnd:p,onConnect:g,onConnectStart:m,onConnectEnd:v,onClickConnectStart:x,onClickConnectEnd:_,onNodeMouseEnter:b,onNodeMouseMove:y,onNodeMouseLeave:S,onNodeContextMenu:C,onNodeDoubleClick:T,onNodeDragStart:E,onNodeDrag:P,onNodeDragStop:k,onNodesDelete:O,onEdgesDelete:M,onSelectionChange:G,onSelectionDragStart:U,onSelectionDrag:A,onSelectionDragStop:N,onSelectionContextMenu:F,onSelectionStart:B,onSelectionEnd:D,connectionMode:V=sc.Strict,connectionLineType:j=yl.Bezier,connectionLineStyle:q,connectionLineComponent:Z,connectionLineContainerStyle:ee,deleteKeyCode:ie="Backspace",selectionKeyCode:se="Shift",selectionOnDrag:le=!1,selectionMode:W=Og.Full,panActivationKeyCode:ne="Space",multiSelectionKeyCode:fe="Meta",zoomActivationKeyCode:pe="Meta",snapToGrid:ve=!1,snapGrid:ye=Oye,onlyRenderVisibleElements:We=!1,selectNodesOnDrag:Me=!0,nodesDraggable:Ee,nodesConnectable:lt,nodesFocusable:_e,nodeOrigin:jt=Rye,edgesFocusable:Wn,edgesUpdatable:Bt,elementsSelectable:it,defaultViewport:mt=kye,minZoom:Jt=.5,maxZoom:Mr=2,translateExtent:yr=K3,preventScrolling:hi=!0,nodeExtent:wn,defaultMarkerColor:on="#b1b1b7",zoomOnScroll:qn=!0,zoomOnPinch:sn=!0,panOnScroll:Gt=!1,panOnScrollSpeed:vr=.5,panOnScrollMode:Nr=nf.Free,zoomOnDoubleClick:Xr=!0,panOnDrag:Ii=!0,onPaneClick:An,onPaneMouseEnter:Yr,onPaneMouseMove:Vs,onPaneMouseLeave:Ji,onPaneScroll:js,onPaneContextMenu:Xt,children:kt,onEdgeUpdate:Kn,onEdgeContextMenu:$n,onEdgeDoubleClick:or,onEdgeMouseEnter:_r,onEdgeMouseMove:br,onEdgeMouseLeave:eo,onEdgeUpdateStart:Sr,onEdgeUpdateEnd:Xn,edgeUpdaterRadius:Mi=10,onNodesChange:os,onEdgesChange:to,noDragClassName:Va="nodrag",noWheelClassName:Ao="nowheel",noPanClassName:wr="nopan",fitView:Gs=!1,fitViewOptions:Zf,connectOnClick:Jf=!0,attributionPosition:eh,proOptions:th,defaultEdgeOptions:Po,elevateNodesOnSelect:nh=!0,elevateEdgesOnSelect:rh=!1,disableKeyboardA11y:kc=!1,autoPanOnConnect:ih=!0,autoPanOnNodeDrag:oh=!0,connectionRadius:sh=20,isValidConnection:ss,onError:ah,style:Ro,id:ja,...lh},Ga)=>{const cu=eO(o,$me),Ic=eO(s,kme),Ha=ja||"1";return ue.jsx("div",{...lh,style:{...Ro,...Iye},ref:Ga,className:Eo(["react-flow",i]),"data-testid":"rf__wrapper",id:ja,children:ue.jsxs(zB,{children:[ue.jsx(Tye,{onInit:u,onMove:d,onMoveStart:f,onMoveEnd:p,onNodeClick:a,onEdgeClick:l,onNodeMouseEnter:b,onNodeMouseMove:y,onNodeMouseLeave:S,onNodeContextMenu:C,onNodeDoubleClick:T,nodeTypes:cu,edgeTypes:Ic,connectionLineType:j,connectionLineStyle:q,connectionLineComponent:Z,connectionLineContainerStyle:ee,selectionKeyCode:se,selectionOnDrag:le,selectionMode:W,deleteKeyCode:ie,multiSelectionKeyCode:fe,panActivationKeyCode:ne,zoomActivationKeyCode:pe,onlyRenderVisibleElements:We,selectNodesOnDrag:Me,defaultViewport:mt,translateExtent:yr,minZoom:Jt,maxZoom:Mr,preventScrolling:hi,zoomOnScroll:qn,zoomOnPinch:sn,zoomOnDoubleClick:Xr,panOnScroll:Gt,panOnScrollSpeed:vr,panOnScrollMode:Nr,panOnDrag:Ii,onPaneClick:An,onPaneMouseEnter:Yr,onPaneMouseMove:Vs,onPaneMouseLeave:Ji,onPaneScroll:js,onPaneContextMenu:Xt,onSelectionContextMenu:F,onSelectionStart:B,onSelectionEnd:D,onEdgeUpdate:Kn,onEdgeContextMenu:$n,onEdgeDoubleClick:or,onEdgeMouseEnter:_r,onEdgeMouseMove:br,onEdgeMouseLeave:eo,onEdgeUpdateStart:Sr,onEdgeUpdateEnd:Xn,edgeUpdaterRadius:Mi,defaultMarkerColor:on,noDragClassName:Va,noWheelClassName:Ao,noPanClassName:wr,elevateEdgesOnSelect:rh,rfId:Ha,disableKeyboardA11y:kc,nodeOrigin:jt,nodeExtent:wn}),ue.jsx(wme,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:g,onConnectStart:m,onConnectEnd:v,onClickConnectStart:x,onClickConnectEnd:_,nodesDraggable:Ee,nodesConnectable:lt,nodesFocusable:_e,edgesFocusable:Wn,edgesUpdatable:Bt,elementsSelectable:it,elevateNodesOnSelect:nh,minZoom:Jt,maxZoom:Mr,nodeExtent:wn,onNodesChange:os,onEdgesChange:to,snapToGrid:ve,snapGrid:ye,connectionMode:V,translateExtent:yr,connectOnClick:Jf,defaultEdgeOptions:Po,fitView:Gs,fitViewOptions:Zf,onNodesDelete:O,onEdgesDelete:M,onNodeDragStart:E,onNodeDrag:P,onNodeDragStop:k,onSelectionDrag:A,onSelectionDragStart:U,onSelectionDragStop:N,noPanClassName:wr,nodeOrigin:jt,rfId:Ha,autoPanOnConnect:ih,autoPanOnNodeDrag:oh,onError:ah,connectionRadius:sh,isValidConnection:ss}),ue.jsx(bme,{onSelectionChange:G}),kt,ue.jsx(Xge,{proOptions:th,position:eh}),ue.jsx(Ame,{rfId:Ha,disableKeyboardA11y:kc})]})})});Mye.displayName="ReactFlow";var VB={},Nb={},Lb={};Object.defineProperty(Lb,"__esModule",{value:!0});Lb.createLogMethods=void 0;var Nye=function(){return{debug:console.debug.bind(console),error:console.error.bind(console),fatal:console.error.bind(console),info:console.info.bind(console),trace:console.debug.bind(console),warn:console.warn.bind(console)}};Lb.createLogMethods=Nye;var nE={},Db={};Object.defineProperty(Db,"__esModule",{value:!0});Db.boolean=void 0;const Lye=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1"].includes(e.trim().toLowerCase());case"[object Number]":return e.valueOf()===1;case"[object Boolean]":return e.valueOf();default:return!1}};Db.boolean=Lye;var $b={};Object.defineProperty($b,"__esModule",{value:!0});$b.isBooleanable=void 0;const Dye=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1","false","f","no","n","off","0"].includes(e.trim().toLowerCase());case"[object Number]":return[0,1].includes(e.valueOf());case"[object Boolean]":return!0;default:return!1}};$b.isBooleanable=Dye;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isBooleanable=e.boolean=void 0;const t=Db;Object.defineProperty(e,"boolean",{enumerable:!0,get:function(){return t.boolean}});const n=$b;Object.defineProperty(e,"isBooleanable",{enumerable:!0,get:function(){return n.isBooleanable}})})(nE);var tO=Object.prototype.toString,jB=function(t){var n=tO.call(t),r=n==="[object Arguments]";return r||(r=n!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&tO.call(t.callee)==="[object Function]"),r},Cx,nO;function $ye(){if(nO)return Cx;nO=1;var e;if(!Object.keys){var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=jB,i=Object.prototype.propertyIsEnumerable,o=!i.call({toString:null},"toString"),s=i.call(function(){},"prototype"),a=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],l=function(p){var g=p.constructor;return g&&g.prototype===p},u={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},d=function(){if(typeof window>"u")return!1;for(var p in window)try{if(!u["$"+p]&&t.call(window,p)&&window[p]!==null&&typeof window[p]=="object")try{l(window[p])}catch{return!0}}catch{return!0}return!1}(),f=function(p){if(typeof window>"u"||!d)return l(p);try{return l(p)}catch{return!1}};e=function(g){var m=g!==null&&typeof g=="object",v=n.call(g)==="[object Function]",x=r(g),_=m&&n.call(g)==="[object String]",b=[];if(!m&&!v&&!x)throw new TypeError("Object.keys called on a non-object");var y=s&&v;if(_&&g.length>0&&!t.call(g,0))for(var S=0;S0)for(var C=0;C"u"||!ur?dt:ur(Uint8Array),qu={"%AggregateError%":typeof AggregateError>"u"?dt:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?dt:ArrayBuffer,"%ArrayIteratorPrototype%":ad&&ur?ur([][Symbol.iterator]()):dt,"%AsyncFromSyncIteratorPrototype%":dt,"%AsyncFunction%":bd,"%AsyncGenerator%":bd,"%AsyncGeneratorFunction%":bd,"%AsyncIteratorPrototype%":bd,"%Atomics%":typeof Atomics>"u"?dt:Atomics,"%BigInt%":typeof BigInt>"u"?dt:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?dt:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?dt:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?dt:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?dt:Float32Array,"%Float64Array%":typeof Float64Array>"u"?dt:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?dt:FinalizationRegistry,"%Function%":HB,"%GeneratorFunction%":bd,"%Int8Array%":typeof Int8Array>"u"?dt:Int8Array,"%Int16Array%":typeof Int16Array>"u"?dt:Int16Array,"%Int32Array%":typeof Int32Array>"u"?dt:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":ad&&ur?ur(ur([][Symbol.iterator]())):dt,"%JSON%":typeof JSON=="object"?JSON:dt,"%Map%":typeof Map>"u"?dt:Map,"%MapIteratorPrototype%":typeof Map>"u"||!ad||!ur?dt:ur(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?dt:Promise,"%Proxy%":typeof Proxy>"u"?dt:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?dt:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?dt:Set,"%SetIteratorPrototype%":typeof Set>"u"||!ad||!ur?dt:ur(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?dt:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":ad&&ur?ur(""[Symbol.iterator]()):dt,"%Symbol%":ad?Symbol:dt,"%SyntaxError%":Pf,"%ThrowTypeError%":Jye,"%TypedArray%":t0e,"%TypeError%":sf,"%Uint8Array%":typeof Uint8Array>"u"?dt:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?dt:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?dt:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?dt:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?dt:WeakMap,"%WeakRef%":typeof WeakRef>"u"?dt:WeakRef,"%WeakSet%":typeof WeakSet>"u"?dt:WeakSet};if(ur)try{null.error}catch(e){var n0e=ur(ur(e));qu["%Error.prototype%"]=n0e}var r0e=function e(t){var n;if(t==="%AsyncFunction%")n=Ex("async function () {}");else if(t==="%GeneratorFunction%")n=Ex("function* () {}");else if(t==="%AsyncGeneratorFunction%")n=Ex("async function* () {}");else if(t==="%AsyncGenerator%"){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if(t==="%AsyncIteratorPrototype%"){var i=e("%AsyncGenerator%");i&&ur&&(n=ur(i.prototype))}return qu[t]=n,n},aO={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},bm=GB,V1=Zye,i0e=bm.call(Function.call,Array.prototype.concat),o0e=bm.call(Function.apply,Array.prototype.splice),lO=bm.call(Function.call,String.prototype.replace),j1=bm.call(Function.call,String.prototype.slice),s0e=bm.call(Function.call,RegExp.prototype.exec),a0e=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,l0e=/\\(\\)?/g,u0e=function(t){var n=j1(t,0,1),r=j1(t,-1);if(n==="%"&&r!=="%")throw new Pf("invalid intrinsic syntax, expected closing `%`");if(r==="%"&&n!=="%")throw new Pf("invalid intrinsic syntax, expected opening `%`");var i=[];return lO(t,a0e,function(o,s,a,l){i[i.length]=a?lO(l,l0e,"$1"):s||o}),i},c0e=function(t,n){var r=t,i;if(V1(aO,r)&&(i=aO[r],r="%"+i[0]+"%"),V1(qu,r)){var o=qu[r];if(o===bd&&(o=r0e(r)),typeof o>"u"&&!n)throw new sf("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:r,value:o}}throw new Pf("intrinsic "+t+" does not exist!")},d0e=function(t,n){if(typeof t!="string"||t.length===0)throw new sf("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof n!="boolean")throw new sf('"allowMissing" argument must be a boolean');if(s0e(/^%?[^%]*%?$/,t)===null)throw new Pf("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=u0e(t),i=r.length>0?r[0]:"",o=c0e("%"+i+"%",n),s=o.name,a=o.value,l=!1,u=o.alias;u&&(i=u[0],o0e(r,i0e([0,1],u)));for(var d=1,f=!0;d=r.length){var v=Wu(a,p);f=!!v,f&&"get"in v&&!("originalValue"in v.get)?a=v.get:a=a[p]}else f=V1(a,p),a=a[p];f&&!l&&(qu[s]=a)}}return a},f0e=d0e,X3=f0e("%Object.defineProperty%",!0),Y3=function(){if(X3)try{return X3({},"a",{value:1}),!0}catch{return!1}return!1};Y3.hasArrayLengthDefineBug=function(){if(!Y3())return null;try{return X3([],"length",{value:1}).length!==1}catch{return!0}};var h0e=Y3,p0e=Uye,g0e=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",m0e=Object.prototype.toString,y0e=Array.prototype.concat,WB=Object.defineProperty,v0e=function(e){return typeof e=="function"&&m0e.call(e)==="[object Function]"},_0e=h0e(),qB=WB&&_0e,b0e=function(e,t,n,r){if(t in e){if(r===!0){if(e[t]===n)return}else if(!v0e(r)||!r())return}qB?WB(e,t,{configurable:!0,enumerable:!1,value:n,writable:!0}):e[t]=n},KB=function(e,t){var n=arguments.length>2?arguments[2]:{},r=p0e(t);g0e&&(r=y0e.call(r,Object.getOwnPropertySymbols(t)));for(var i=0;i":return t>e;case":<":return t=":return t>=e;case":<=":return t<=e;default:throw new Error("Unimplemented comparison operator: ".concat(n))}};zb.testComparisonRange=z0e;var Vb={};Object.defineProperty(Vb,"__esModule",{value:!0});Vb.testRange=void 0;var V0e=function(e,t){return typeof e=="number"?!(et.max||e===t.max&&!t.maxInclusive):!1};Vb.testRange=V0e;(function(e){var t=He&&He.__assign||function(){return t=Object.assign||function(d){for(var f,p=1,g=arguments.length;p0?{path:l.path,query:new RegExp("("+l.keywords.map(function(u){return(0,H0e.escapeRegexString)(u.trim())}).join("|")+")")}:{path:l.path}})};jb.highlight=q0e;var Gb={},tU={exports:{}};(function(e){(function(t,n){e.exports?e.exports=n():t.nearley=n()})(He,function(){function t(u,d,f){return this.id=++t.highestId,this.name=u,this.symbols=d,this.postprocess=f,this}t.highestId=0,t.prototype.toString=function(u){var d=typeof u>"u"?this.symbols.map(l).join(" "):this.symbols.slice(0,u).map(l).join(" ")+" ● "+this.symbols.slice(u).map(l).join(" ");return this.name+" → "+d};function n(u,d,f,p){this.rule=u,this.dot=d,this.reference=f,this.data=[],this.wantedBy=p,this.isComplete=this.dot===u.symbols.length}n.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},n.prototype.nextState=function(u){var d=new n(this.rule,this.dot+1,this.reference,this.wantedBy);return d.left=this,d.right=u,d.isComplete&&(d.data=d.build(),d.right=void 0),d},n.prototype.build=function(){var u=[],d=this;do u.push(d.right.data),d=d.left;while(d.left);return u.reverse(),u},n.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))};function r(u,d){this.grammar=u,this.index=d,this.states=[],this.wants={},this.scannable=[],this.completed={}}r.prototype.process=function(u){for(var d=this.states,f=this.wants,p=this.completed,g=0;g{let r=t;for(;r;)r.callback(),r=r.next})},get(){let r=[],i=t;for(;i;)r.push(i),i=i.next;return r},subscribe(r){let i=!0,o=n={callback:r,next:null,prev:n};return o.prev?o.prev.next=o:t=o,function(){!i||t===null||(i=!1,o.next?o.next.prev=o.prev:n=o.prev,o.prev?o.prev.next=o.next:t=o.next)}}}}const nR={notify(){},get:()=>[]};function gde(e,t){let n,r=nR;function i(f){return l(),r.subscribe(f)}function o(){r.notify()}function s(){d.onStateChange&&d.onStateChange()}function a(){return!!n}function l(){n||(n=t?t.addNestedSub(s):e.subscribe(s),r=pde())}function u(){n&&(n(),n=void 0,r.clear(),r=nR)}const d={addNestedSub:i,notifyNestedSubs:o,handleChangeWrapper:s,isSubscribed:a,trySubscribe:l,tryUnsubscribe:u,getListeners:()=>r};return d}const mde=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",yde=mde?L.useLayoutEffect:L.useEffect;function rR(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function P1(e,t){if(rR(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;i{const u=gde(e);return{store:e,subscription:u,getServerState:r?()=>r:void 0,stabilityCheck:i,noopCheck:o}},[e,r,i,o]),a=L.useMemo(()=>e.getState(),[e]);yde(()=>{const{subscription:u}=s;return u.onStateChange=u.notifyNestedSubs,u.trySubscribe(),a!==e.getState()&&u.notifyNestedSubs(),()=>{u.tryUnsubscribe(),u.onStateChange=void 0}},[s,a]);const l=t||Gl;return Lt.createElement(l.Provider,{value:s},n)}function I$(e=Gl){const t=e===Gl?C$:ET(e);return function(){const{store:r}=t();return r}}const M$=I$();function _de(e=Gl){const t=e===Gl?M$:I$(e);return function(){return t().dispatch}}const N$=_de();tde(w$.useSyncExternalStoreWithSelector);Qce(bs.unstable_batchedUpdates);var bde=globalThis&&globalThis.__spreadArray||function(e,t){for(var n=0,r=t.length,i=e.length;n{const r=wg.get(),i=Sg.get(),o=S1.get();return cce({baseUrl:`${r??""}/api/v1`,prepareHeaders:a=>(i&&a.set("Authorization",`Bearer ${i}`),o&&a.set("project-id",o),a)})(e,t,n)},Hl=Lde({baseQuery:$de,reducerPath:"api",tagTypes:Dde,endpoints:()=>({})}),Fde=(e,t)=>{const n=new Date(e),r=new Date(t);return n>r?1:ne==null,Gde=e=>encodeURIComponent(e).replace(/[!'()*]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),k3=Symbol("encodeFragmentIdentifier");function Hde(e){switch(e.arrayFormat){case"index":return t=>(n,r)=>{const i=n.length;return r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Fn(t,e),"[",i,"]"].join("")]:[...n,[Fn(t,e),"[",Fn(i,e),"]=",Fn(r,e)].join("")]};case"bracket":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Fn(t,e),"[]"].join("")]:[...n,[Fn(t,e),"[]=",Fn(r,e)].join("")];case"colon-list-separator":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Fn(t,e),":list="].join("")]:[...n,[Fn(t,e),":list=",Fn(r,e)].join("")];case"comma":case"separator":case"bracket-separator":{const t=e.arrayFormat==="bracket-separator"?"[]=":"=";return n=>(r,i)=>i===void 0||e.skipNull&&i===null||e.skipEmptyString&&i===""?r:(i=i===null?"":i,r.length===0?[[Fn(n,e),t,Fn(i,e)].join("")]:[[r,Fn(i,e)].join(e.arrayFormatSeparator)])}default:return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,Fn(t,e)]:[...n,[Fn(t,e),"=",Fn(r,e)].join("")]}}function Wde(e){let t;switch(e.arrayFormat){case"index":return(n,r,i)=>{if(t=/\[(\d*)]$/.exec(n),n=n.replace(/\[\d*]$/,""),!t){i[n]=r;return}i[n]===void 0&&(i[n]={}),i[n][t[1]]=r};case"bracket":return(n,r,i)=>{if(t=/(\[])$/.exec(n),n=n.replace(/\[]$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"colon-list-separator":return(n,r,i)=>{if(t=/(:list)$/.exec(n),n=n.replace(/:list$/,""),!t){i[n]=r;return}if(i[n]===void 0){i[n]=[r];return}i[n]=[...i[n],r]};case"comma":case"separator":return(n,r,i)=>{const o=typeof r=="string"&&r.includes(e.arrayFormatSeparator),s=typeof r=="string"&&!o&&da(r,e).includes(e.arrayFormatSeparator);r=s?da(r,e):r;const a=o||s?r.split(e.arrayFormatSeparator).map(l=>da(l,e)):r===null?r:da(r,e);i[n]=a};case"bracket-separator":return(n,r,i)=>{const o=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!o){i[n]=r&&da(r,e);return}const s=r===null?[]:r.split(e.arrayFormatSeparator).map(a=>da(a,e));if(i[n]===void 0){i[n]=s;return}i[n]=[...i[n],...s]};default:return(n,r,i)=>{if(i[n]===void 0){i[n]=r;return}i[n]=[...[i[n]].flat(),r]}}}function $$(e){if(typeof e!="string"||e.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function Fn(e,t){return t.encode?t.strict?Gde(e):encodeURIComponent(e):e}function da(e,t){return t.decode?zde(e):e}function F$(e){return Array.isArray(e)?e.sort():typeof e=="object"?F$(Object.keys(e)).sort((t,n)=>Number(t)-Number(n)).map(t=>e[t]):e}function B$(e){const t=e.indexOf("#");return t!==-1&&(e=e.slice(0,t)),e}function qde(e){let t="";const n=e.indexOf("#");return n!==-1&&(t=e.slice(n)),t}function uR(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""?e=Number(e):t.parseBooleans&&e!==null&&(e.toLowerCase()==="true"||e.toLowerCase()==="false")&&(e=e.toLowerCase()==="true"),e}function IT(e){e=B$(e);const t=e.indexOf("?");return t===-1?"":e.slice(t+1)}function MT(e,t){t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...t},$$(t.arrayFormatSeparator);const n=Wde(t),r=Object.create(null);if(typeof e!="string"||(e=e.trim().replace(/^[?#&]/,""),!e))return r;for(const i of e.split("&")){if(i==="")continue;const o=t.decode?i.replace(/\+/g," "):i;let[s,a]=D$(o,"=");s===void 0&&(s=o),a=a===void 0?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?a:da(a,t),n(da(s,t),a,r)}for(const[i,o]of Object.entries(r))if(typeof o=="object"&&o!==null)for(const[s,a]of Object.entries(o))o[s]=uR(a,t);else r[i]=uR(o,t);return t.sort===!1?r:(t.sort===!0?Object.keys(r).sort():Object.keys(r).sort(t.sort)).reduce((i,o)=>{const s=r[o];return s&&typeof s=="object"&&!Array.isArray(s)?i[o]=F$(s):i[o]=s,i},Object.create(null))}function U$(e,t){if(!e)return"";t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t},$$(t.arrayFormatSeparator);const n=s=>t.skipNull&&jde(e[s])||t.skipEmptyString&&e[s]==="",r=Hde(t),i={};for(const[s,a]of Object.entries(e))n(s)||(i[s]=a);const o=Object.keys(i);return t.sort!==!1&&o.sort(t.sort),o.map(s=>{const a=e[s];return a===void 0?"":a===null?Fn(s,t):Array.isArray(a)?a.length===0&&t.arrayFormat==="bracket-separator"?Fn(s,t)+"[]":a.reduce(r(s),[]).join("&"):Fn(s,t)+"="+Fn(a,t)}).filter(s=>s.length>0).join("&")}function z$(e,t){var i;t={decode:!0,...t};let[n,r]=D$(e,"#");return n===void 0&&(n=e),{url:((i=n==null?void 0:n.split("?"))==null?void 0:i[0])??"",query:MT(IT(e),t),...t&&t.parseFragmentIdentifier&&r?{fragmentIdentifier:da(r,t)}:{}}}function V$(e,t){t={encode:!0,strict:!0,[k3]:!0,...t};const n=B$(e.url).split("?")[0]||"",r=IT(e.url),i={...MT(r,{sort:!1}),...e.query};let o=U$(i,t);o&&(o=`?${o}`);let s=qde(e.url);if(e.fragmentIdentifier){const a=new URL(n);a.hash=e.fragmentIdentifier,s=t[k3]?a.hash:`#${e.fragmentIdentifier}`}return`${n}${o}${s}`}function j$(e,t,n){n={parseFragmentIdentifier:!0,[k3]:!1,...n};const{url:r,query:i,fragmentIdentifier:o}=z$(e,n);return V$({url:r,query:Vde(i,t),fragmentIdentifier:o},n)}function Kde(e,t,n){const r=Array.isArray(t)?i=>!t.includes(i):(i,o)=>!t(i,o);return j$(e,r,n)}const fv=Object.freeze(Object.defineProperty({__proto__:null,exclude:Kde,extract:IT,parse:MT,parseUrl:z$,pick:j$,stringify:U$,stringifyUrl:V$},Symbol.toStringTag,{value:"Module"})),jh=(e,t)=>{if(!e)return!1;const n=O1.selectAll(e);if(n.length>1){const r=new Date(t.created_at),i=n[n.length-1];if(!i)return!1;const o=new Date(i.created_at);return r>=o}else if([0,1].includes(n.length))return!0;return!1},rl=e=>Vr.includes(e.image_category)?Vr:wl,pn=eu({selectId:e=>e.image_name,sortComparer:(e,t)=>Fde(t.updated_at,e.updated_at)}),O1=pn.getSelectors(),Bo=e=>`images/?${fv.stringify(e,{arrayFormat:"none"})}`,Ui=Hl.injectEndpoints({endpoints:e=>({listBoards:e.query({query:t=>({url:"boards/",params:t}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Ke}];return t&&i.push(...t.items.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllBoards:e.query({query:()=>({url:"boards/",params:{all:!0}}),providesTags:(t,n,r)=>{const i=[{type:"Board",id:Ke}];return t&&i.push(...t.map(({board_id:o})=>({type:"Board",id:o}))),i}}),listAllImageNamesForBoard:e.query({query:t=>({url:`boards/${t}/image_names`}),providesTags:(t,n,r)=>[{type:"ImageNameList",id:r}],keepUnusedDataFor:0}),getBoardImagesTotal:e.query({query:t=>({url:Bo({board_id:t??"none",categories:Vr,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardImagesTotal",id:r??"none"}],transformResponse:t=>t.total}),getBoardAssetsTotal:e.query({query:t=>({url:Bo({board_id:t??"none",categories:wl,is_intermediate:!1,limit:0,offset:0}),method:"GET"}),providesTags:(t,n,r)=>[{type:"BoardAssetsTotal",id:r??"none"}],transformResponse:t=>t.total}),createBoard:e.mutation({query:t=>({url:"boards/",method:"POST",params:{board_name:t}}),invalidatesTags:[{type:"Board",id:Ke}]}),updateBoard:e.mutation({query:({board_id:t,changes:n})=>({url:`boards/${t}`,method:"PATCH",body:n}),invalidatesTags:(t,n,r)=>[{type:"Board",id:r.board_id}]})})}),{useListBoardsQuery:$ke,useListAllBoardsQuery:Fke,useGetBoardImagesTotalQuery:Bke,useGetBoardAssetsTotalQuery:Uke,useCreateBoardMutation:zke,useUpdateBoardMutation:Vke,useListAllImageNamesForBoardQuery:jke}=Ui,Se=Hl.injectEndpoints({endpoints:e=>({listImages:e.query({query:t=>({url:Bo(t),method:"GET"}),providesTags:(t,n,{board_id:r,categories:i})=>[{type:"ImageList",id:Bo({board_id:r,categories:i})}],serializeQueryArgs:({queryArgs:t})=>{const{board_id:n,categories:r}=t;return Bo({board_id:n,categories:r})},transformResponse(t){const{items:n}=t;return pn.addMany(pn.getInitialState(),n)},merge:(t,n)=>{pn.addMany(t,O1.selectAll(n))},forceRefetch({currentArg:t,previousArg:n}){return(t==null?void 0:t.offset)!==(n==null?void 0:n.offset)},async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){try{const{data:i}=await r;O1.selectAll(i).forEach(o=>{n(Se.util.upsertQueryData("getImageDTO",o.image_name,o))})}catch{}},keepUnusedDataFor:86400}),getIntermediatesCount:e.query({query:()=>({url:Bo({is_intermediate:!0})}),providesTags:["IntermediatesCount"],transformResponse:t=>t.total}),getImageDTO:e.query({query:t=>({url:`images/i/${t}`}),providesTags:(t,n,r)=>[{type:"Image",id:r}],keepUnusedDataFor:86400}),getImageMetadata:e.query({query:t=>({url:`images/i/${t}/metadata`}),providesTags:(t,n,r)=>[{type:"ImageMetadata",id:r}],keepUnusedDataFor:86400}),clearIntermediates:e.mutation({query:()=>({url:"images/clear-intermediates",method:"POST"}),invalidatesTags:["IntermediatesCount"]}),deleteImage:e.mutation({query:({image_name:t})=>({url:`images/i/${t}`,method:"DELETE"}),invalidatesTags:(t,n,{board_id:r})=>[{type:"BoardImagesTotal",id:r??"none"},{type:"BoardAssetsTotal",id:r??"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r}){const{image_name:i,board_id:o}=t,s={board_id:o??"none",categories:rl(t)},a=n(Se.util.updateQueryData("listImages",s,l=>{pn.removeOne(l,i)}));try{await r}catch{a.undo()}}}),deleteImages:e.mutation({query:({imageDTOs:t})=>({url:"images/delete",method:"POST",body:{image_names:t.map(r=>r.image_name)}}),invalidatesTags:(t,n,{imageDTOs:r})=>{var o;const i=(o=r[0])==null?void 0:o.board_id;return[{type:"BoardImagesTotal",id:i??"none"},{type:"BoardAssetsTotal",id:i??"none"}]},async onQueryStarted({imageDTOs:t},{dispatch:n,queryFulfilled:r}){try{const{data:i}=await r,o=Que.keyBy(t,"image_name");i.deleted_images.forEach(s=>{const a=o[s];if(a){const l={board_id:a.board_id??"none",categories:rl(a)};n(Se.util.updateQueryData("listImages",l,u=>{pn.removeOne(u,s)}))}})}catch{}}}),changeImageIsIntermediate:e.mutation({query:({imageDTO:t,is_intermediate:n})=>({url:`images/i/${t.image_name}`,method:"PATCH",body:{is_intermediate:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,is_intermediate:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(Se.util.updateQueryData("getImageDTO",t.image_name,l=>{Object.assign(l,{is_intermediate:n})})));const a=rl(t);if(n)s.push(r(Se.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:a},l=>{pn.removeOne(l,t.image_name)})));else{const l={board_id:t.board_id??"none",categories:a},u=Se.endpoints.listImages.select(l)(o()),{data:d}=Vr.includes(t.image_category)?Ui.endpoints.getBoardImagesTotal.select(t.board_id??"none")(o()):Ui.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(o()),f=u.data&&u.data.ids.length>=(d??0),p=jh(u.data,t);(f||p)&&s.push(r(Se.util.updateQueryData("listImages",l,g=>{pn.upsertOne(g,t)})))}try{await i}catch{s.forEach(l=>l.undo())}}}),changeImageSessionId:e.mutation({query:({imageDTO:t,session_id:n})=>({url:`images/i/${t.image_name}`,method:"PATCH",body:{session_id:n}}),invalidatesTags:(t,n,{imageDTO:r})=>[{type:"BoardImagesTotal",id:r.board_id??"none"},{type:"BoardAssetsTotal",id:r.board_id??"none"}],async onQueryStarted({imageDTO:t,session_id:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[];s.push(r(Se.util.updateQueryData("getImageDTO",t.image_name,a=>{Object.assign(a,{session_id:n})})));try{await i}catch{s.forEach(a=>a.undo())}}}),uploadImage:e.mutation({query:({file:t,image_category:n,is_intermediate:r,session_id:i,board_id:o,crop_visible:s})=>{const a=new FormData;return a.append("file",t),{url:"images/upload",method:"POST",body:a,params:{image_category:n,is_intermediate:r,session_id:i,board_id:o==="none"?void 0:o,crop_visible:s}}},async onQueryStarted({file:t,image_category:n,is_intermediate:r,postUploadAction:i,session_id:o,board_id:s},{dispatch:a,queryFulfilled:l}){try{const{data:u}=await l;if(u.is_intermediate)return;a(Se.util.upsertQueryData("getImageDTO",u.image_name,u));const d=rl(u);a(Se.util.updateQueryData("listImages",{board_id:u.board_id??"none",categories:d},f=>{pn.addOne(f,u)})),a(Se.util.invalidateTags([{type:"BoardImagesTotal",id:u.board_id??"none"},{type:"BoardAssetsTotal",id:u.board_id??"none"}]))}catch{}}}),deleteBoard:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE"}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Ke},{type:"ImageList",id:Bo({board_id:"none",categories:Vr})},{type:"ImageList",id:Bo({board_id:"none",categories:wl})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_board_images:s}=o;s.forEach(u=>{n(Se.util.updateQueryData("getImageDTO",u,d=>{d.board_id=void 0}))});const a=[{categories:Vr},{categories:wl}],l=s.map(u=>({id:u,changes:{board_id:void 0}}));a.forEach(u=>{n(Se.util.updateQueryData("listImages",u,d=>{pn.updateMany(d,l)}))})}catch{}}}),deleteBoardAndImages:e.mutation({query:t=>({url:`boards/${t}`,method:"DELETE",params:{include_images:!0}}),invalidatesTags:(t,n,r)=>[{type:"Board",id:Ke},{type:"ImageList",id:Bo({board_id:"none",categories:Vr})},{type:"ImageList",id:Bo({board_id:"none",categories:wl})},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}],async onQueryStarted(t,{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{deleted_images:s}=o;[{categories:Vr},{categories:wl}].forEach(l=>{n(Se.util.updateQueryData("listImages",l,u=>{pn.removeMany(u,s)}))})}catch{}}}),addImageToBoard:e.mutation({query:({board_id:t,imageDTO:n})=>{const{image_name:r}=n;return{url:"board_images/",method:"POST",body:{board_id:t,image_name:r}}},invalidatesTags:(t,n,{board_id:r,imageDTO:i})=>[{type:"Board",id:r},{type:"BoardImagesTotal",id:r},{type:"BoardAssetsTotal",id:r},{type:"BoardImagesTotal",id:i.board_id??"none"},{type:"BoardAssetsTotal",id:i.board_id??"none"}],async onQueryStarted({board_id:t,imageDTO:n},{dispatch:r,queryFulfilled:i,getState:o}){const s=[],a=rl(n);if(s.push(r(Se.util.updateQueryData("getImageDTO",n.image_name,l=>{l.board_id=t}))),!n.is_intermediate){s.push(r(Se.util.updateQueryData("listImages",{board_id:n.board_id??"none",categories:a},g=>{pn.removeOne(g,n.image_name)})));const l={board_id:t??"none",categories:a},u=Se.endpoints.listImages.select(l)(o()),{data:d}=Vr.includes(n.image_category)?Ui.endpoints.getBoardImagesTotal.select(n.board_id??"none")(o()):Ui.endpoints.getBoardAssetsTotal.select(n.board_id??"none")(o()),f=u.data&&u.data.ids.length>=(d??0),p=jh(u.data,n);(f||p)&&s.push(r(Se.util.updateQueryData("listImages",l,g=>{pn.addOne(g,n)})))}try{await i}catch{s.forEach(l=>l.undo())}}}),removeImageFromBoard:e.mutation({query:({imageDTO:t})=>{const{image_name:n}=t;return{url:"board_images/",method:"DELETE",body:{image_name:n}}},invalidatesTags:(t,n,{imageDTO:r})=>{const{board_id:i}=r;return[{type:"Board",id:i??"none"},{type:"BoardImagesTotal",id:i??"none"},{type:"BoardAssetsTotal",id:i??"none"},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}]},async onQueryStarted({imageDTO:t},{dispatch:n,queryFulfilled:r,getState:i}){const o=rl(t),s=[];s.push(n(Se.util.updateQueryData("getImageDTO",t.image_name,p=>{p.board_id=void 0}))),s.push(n(Se.util.updateQueryData("listImages",{board_id:t.board_id??"none",categories:o},p=>{pn.removeOne(p,t.image_name)})));const a={board_id:"none",categories:o},l=Se.endpoints.listImages.select(a)(i()),{data:u}=Vr.includes(t.image_category)?Ui.endpoints.getBoardImagesTotal.select(t.board_id??"none")(i()):Ui.endpoints.getBoardAssetsTotal.select(t.board_id??"none")(i()),d=l.data&&l.data.ids.length>=(u??0),f=jh(l.data,t);(d||f)&&s.push(n(Se.util.updateQueryData("listImages",a,p=>{pn.upsertOne(p,t)})));try{await r}catch{s.forEach(p=>p.undo())}}}),addImagesToBoard:e.mutation({query:({board_id:t,imageDTOs:n})=>({url:"board_images/batch",method:"POST",body:{image_names:n.map(r=>r.image_name),board_id:t}}),invalidatesTags:(t,n,{imageDTOs:r,board_id:i})=>{var s;const o=(s=r[0])==null?void 0:s.board_id;return[{type:"Board",id:i??"none"},{type:"BoardImagesTotal",id:i??"none"},{type:"BoardAssetsTotal",id:i??"none"},{type:"BoardImagesTotal",id:o??"none"},{type:"BoardAssetsTotal",id:o??"none"},{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}]},async onQueryStarted({board_id:t,imageDTOs:n},{dispatch:r,queryFulfilled:i,getState:o}){try{const{data:s}=await i,{added_image_names:a}=s;a.forEach(l=>{r(Se.util.updateQueryData("getImageDTO",l,_=>{_.board_id=t}));const u=n.find(_=>_.image_name===l);if(!u)return;const d=rl(u),f=u.board_id;r(Se.util.updateQueryData("listImages",{board_id:f??"none",categories:d},_=>{pn.removeOne(_,u.image_name)}));const p={board_id:t,categories:d},g=Se.endpoints.listImages.select(p)(o()),{data:m}=Vr.includes(u.image_category)?Ui.endpoints.getBoardImagesTotal.select(t??"none")(o()):Ui.endpoints.getBoardAssetsTotal.select(t??"none")(o()),v=g.data&&g.data.ids.length>=(m??0),x=(m||0)>=F9?jh(g.data,u):!0;(v||x)&&r(Se.util.updateQueryData("listImages",p,_=>{pn.upsertOne(_,{...u,board_id:t})}))})}catch{}}}),removeImagesFromBoard:e.mutation({query:({imageDTOs:t})=>({url:"board_images/batch/delete",method:"POST",body:{image_names:t.map(n=>n.image_name)}}),invalidatesTags:(t,n,{imageDTOs:r})=>{const i=[],o=[{type:"BoardImagesTotal",id:"none"},{type:"BoardAssetsTotal",id:"none"}];return t==null||t.removed_image_names.forEach(s=>{var l;const a=(l=r.find(u=>u.image_name===s))==null?void 0:l.board_id;!a||i.includes(a)||(o.push({type:"Board",id:a}),o.push({type:"BoardImagesTotal",id:a}),o.push({type:"BoardAssetsTotal",id:a}))}),o},async onQueryStarted({imageDTOs:t},{dispatch:n,queryFulfilled:r,getState:i}){try{const{data:o}=await r,{removed_image_names:s}=o;s.forEach(a=>{n(Se.util.updateQueryData("getImageDTO",a,v=>{v.board_id=void 0}));const l=t.find(v=>v.image_name===a);if(!l)return;const u=rl(l);n(Se.util.updateQueryData("listImages",{board_id:l.board_id??"none",categories:u},v=>{pn.removeOne(v,l.image_name)}));const d={board_id:"none",categories:u},f=Se.endpoints.listImages.select(d)(i()),{data:p}=Vr.includes(l.image_category)?Ui.endpoints.getBoardImagesTotal.select(l.board_id??"none")(i()):Ui.endpoints.getBoardAssetsTotal.select(l.board_id??"none")(i()),g=f.data&&f.data.ids.length>=(p??0),m=(p||0)>=F9?jh(f.data,l):!0;(g||m)&&n(Se.util.updateQueryData("listImages",d,v=>{pn.upsertOne(v,{...l,board_id:"none"})}))})}catch{}}})})}),{useGetIntermediatesCountQuery:Gke,useListImagesQuery:Hke,useLazyListImagesQuery:Wke,useGetImageDTOQuery:qke,useGetImageMetadataQuery:Kke,useDeleteImageMutation:Xke,useDeleteImagesMutation:Yke,useUploadImageMutation:Qke,useClearIntermediatesMutation:Zke,useAddImagesToBoardMutation:Jke,useRemoveImagesFromBoardMutation:eIe,useAddImageToBoardMutation:tIe,useRemoveImageFromBoardMutation:nIe,useChangeImageIsIntermediateMutation:rIe,useChangeImageSessionIdMutation:iIe,useDeleteBoardAndImagesMutation:oIe,useDeleteBoardMutation:sIe}=Se,G$=Re("socket/socketConnected"),H$=Re("socket/appSocketConnected"),W$=Re("socket/socketDisconnected"),q$=Re("socket/appSocketDisconnected"),NT=Re("socket/socketSubscribed"),K$=Re("socket/appSocketSubscribed"),X$=Re("socket/socketUnsubscribed"),Y$=Re("socket/appSocketUnsubscribed"),Q$=Re("socket/socketInvocationStarted"),Z$=Re("socket/appSocketInvocationStarted"),LT=Re("socket/socketInvocationComplete"),J$=Re("socket/appSocketInvocationComplete"),eF=Re("socket/socketInvocationError"),DT=Re("socket/appSocketInvocationError"),tF=Re("socket/socketGraphExecutionStateComplete"),nF=Re("socket/appSocketGraphExecutionStateComplete"),rF=Re("socket/socketGeneratorProgress"),iF=Re("socket/appSocketGeneratorProgress"),oF=Re("socket/socketModelLoadStarted"),Xde=Re("socket/appSocketModelLoadStarted"),sF=Re("socket/socketModelLoadCompleted"),Yde=Re("socket/appSocketModelLoadCompleted"),aF=Re("socket/socketSessionRetrievalError"),lF=Re("socket/appSocketSessionRetrievalError"),uF=Re("socket/socketInvocationRetrievalError"),cF=Re("socket/appSocketInvocationRetrievalError"),$T=Re("controlNet/imageProcessed"),_d={none:{type:"none",label:"none",description:"",default:{type:"none"}},canny_image_processor:{type:"canny_image_processor",label:"Canny",description:"",default:{id:"canny_image_processor",type:"canny_image_processor",low_threshold:100,high_threshold:200}},content_shuffle_image_processor:{type:"content_shuffle_image_processor",label:"Content Shuffle",description:"",default:{id:"content_shuffle_image_processor",type:"content_shuffle_image_processor",detect_resolution:512,image_resolution:512,h:512,w:512,f:256}},hed_image_processor:{type:"hed_image_processor",label:"HED",description:"",default:{id:"hed_image_processor",type:"hed_image_processor",detect_resolution:512,image_resolution:512,scribble:!1}},lineart_anime_image_processor:{type:"lineart_anime_image_processor",label:"Lineart Anime",description:"",default:{id:"lineart_anime_image_processor",type:"lineart_anime_image_processor",detect_resolution:512,image_resolution:512}},lineart_image_processor:{type:"lineart_image_processor",label:"Lineart",description:"",default:{id:"lineart_image_processor",type:"lineart_image_processor",detect_resolution:512,image_resolution:512,coarse:!1}},mediapipe_face_processor:{type:"mediapipe_face_processor",label:"Mediapipe Face",description:"",default:{id:"mediapipe_face_processor",type:"mediapipe_face_processor",max_faces:1,min_confidence:.5}},midas_depth_image_processor:{type:"midas_depth_image_processor",label:"Depth (Midas)",description:"",default:{id:"midas_depth_image_processor",type:"midas_depth_image_processor",a_mult:2,bg_th:.1}},mlsd_image_processor:{type:"mlsd_image_processor",label:"M-LSD",description:"",default:{id:"mlsd_image_processor",type:"mlsd_image_processor",detect_resolution:512,image_resolution:512,thr_d:.1,thr_v:.1}},normalbae_image_processor:{type:"normalbae_image_processor",label:"Normal BAE",description:"",default:{id:"normalbae_image_processor",type:"normalbae_image_processor",detect_resolution:512,image_resolution:512}},openpose_image_processor:{type:"openpose_image_processor",label:"Openpose",description:"",default:{id:"openpose_image_processor",type:"openpose_image_processor",detect_resolution:512,image_resolution:512,hand_and_face:!1}},pidi_image_processor:{type:"pidi_image_processor",label:"PIDI",description:"",default:{id:"pidi_image_processor",type:"pidi_image_processor",detect_resolution:512,image_resolution:512,scribble:!1,safe:!1}},zoe_depth_image_processor:{type:"zoe_depth_image_processor",label:"Depth (Zoe)",description:"",default:{id:"zoe_depth_image_processor",type:"zoe_depth_image_processor"}}},b0={canny:"canny_image_processor",mlsd:"mlsd_image_processor",depth:"midas_depth_image_processor",bae:"normalbae_image_processor",lineart:"lineart_image_processor",lineart_anime:"lineart_anime_image_processor",softedge:"hed_image_processor",shuffle:"content_shuffle_image_processor",openpose:"openpose_image_processor",mediapipe:"mediapipe_face_processor"},cR={isEnabled:!0,model:null,weight:1,beginStepPct:0,endStepPct:1,controlMode:"balanced",resizeMode:"just_resize",controlImage:null,processedControlImage:null,processorType:"canny_image_processor",processorNode:_d.canny_image_processor.default,shouldAutoConfig:!0},I3={controlNets:{},isEnabled:!1,pendingControlImages:[]},dF=yn({name:"controlNet",initialState:I3,reducers:{isControlNetEnabledToggled:e=>{e.isEnabled=!e.isEnabled},controlNetAdded:(e,t)=>{const{controlNetId:n,controlNet:r}=t.payload;e.controlNets[n]={...r??cR,controlNetId:n}},controlNetDuplicated:(e,t)=>{const{sourceControlNetId:n,newControlNetId:r}=t.payload,i=e.controlNets[n];if(!i)return;const o=Ur(i);o.controlNetId=r,e.controlNets[r]=o},controlNetAddedFromImage:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload;e.controlNets[n]={...cR,controlNetId:n,controlImage:r}},controlNetRemoved:(e,t)=>{const{controlNetId:n}=t.payload;delete e.controlNets[n]},controlNetToggled:(e,t)=>{const{controlNetId:n}=t.payload,r=e.controlNets[n];r&&(r.isEnabled=!r.isEnabled)},controlNetImageChanged:(e,t)=>{const{controlNetId:n,controlImage:r}=t.payload,i=e.controlNets[n];i&&(i.controlImage=r,i.processedControlImage=null,r!==null&&i.processorType!=="none"&&e.pendingControlImages.push(n))},controlNetProcessedImageChanged:(e,t)=>{const{controlNetId:n,processedControlImage:r}=t.payload,i=e.controlNets[n];i&&(i.processedControlImage=r,e.pendingControlImages=e.pendingControlImages.filter(o=>o!==n))},controlNetModelChanged:(e,t)=>{const{controlNetId:n,model:r}=t.payload,i=e.controlNets[n];if(i&&(i.model=r,i.processedControlImage=null,i.shouldAutoConfig)){let o;for(const s in b0)if(r.model_name.includes(s)){o=b0[s];break}o?(i.processorType=o,i.processorNode=_d[o].default):(i.processorType="none",i.processorNode=_d.none.default)}},controlNetWeightChanged:(e,t)=>{const{controlNetId:n,weight:r}=t.payload,i=e.controlNets[n];i&&(i.weight=r)},controlNetBeginStepPctChanged:(e,t)=>{const{controlNetId:n,beginStepPct:r}=t.payload,i=e.controlNets[n];i&&(i.beginStepPct=r)},controlNetEndStepPctChanged:(e,t)=>{const{controlNetId:n,endStepPct:r}=t.payload,i=e.controlNets[n];i&&(i.endStepPct=r)},controlNetControlModeChanged:(e,t)=>{const{controlNetId:n,controlMode:r}=t.payload,i=e.controlNets[n];i&&(i.controlMode=r)},controlNetResizeModeChanged:(e,t)=>{const{controlNetId:n,resizeMode:r}=t.payload,i=e.controlNets[n];i&&(i.resizeMode=r)},controlNetProcessorParamsChanged:(e,t)=>{const{controlNetId:n,changes:r}=t.payload,i=e.controlNets[n];if(!i)return;const o=i.processorNode;i.processorNode={...o,...r},i.shouldAutoConfig=!1},controlNetProcessorTypeChanged:(e,t)=>{const{controlNetId:n,processorType:r}=t.payload,i=e.controlNets[n];i&&(i.processedControlImage=null,i.processorType=r,i.processorNode=_d[r].default,i.shouldAutoConfig=!1)},controlNetAutoConfigToggled:(e,t)=>{var o;const{controlNetId:n}=t.payload,r=e.controlNets[n];if(!r)return;const i=!r.shouldAutoConfig;if(i){let s;for(const a in b0)if((o=r.model)!=null&&o.model_name.includes(a)){s=b0[a];break}s?(r.processorType=s,r.processorNode=_d[s].default):(r.processorType="none",r.processorNode=_d.none.default)}r.shouldAutoConfig=i},controlNetReset:()=>({...I3})},extraReducers:e=>{e.addCase($T,(t,n)=>{const r=t.controlNets[n.payload.controlNetId];r&&r.controlImage!==null&&t.pendingControlImages.push(n.payload.controlNetId)}),e.addCase(DT,t=>{t.pendingControlImages=[]}),e.addMatcher(i$,t=>{t.pendingControlImages=[]}),e.addMatcher(Se.endpoints.deleteImage.matchFulfilled,(t,n)=>{const{image_name:r}=n.meta.arg.originalArgs;tc(t.controlNets,i=>{i.controlImage===r&&(i.controlImage=null,i.processedControlImage=null),i.processedControlImage===r&&(i.processedControlImage=null)})})}}),{isControlNetEnabledToggled:aIe,controlNetAdded:lIe,controlNetDuplicated:uIe,controlNetAddedFromImage:cIe,controlNetRemoved:fF,controlNetImageChanged:FT,controlNetProcessedImageChanged:Qde,controlNetToggled:dIe,controlNetModelChanged:dR,controlNetWeightChanged:fIe,controlNetBeginStepPctChanged:hIe,controlNetEndStepPctChanged:pIe,controlNetControlModeChanged:gIe,controlNetResizeModeChanged:mIe,controlNetProcessorParamsChanged:Zde,controlNetProcessorTypeChanged:Jde,controlNetReset:BT,controlNetAutoConfigToggled:fR}=dF.actions,efe=dF.reducer,hF={isEnabled:!1,maxPrompts:100,combinatorial:!0},tfe=hF,pF=yn({name:"dynamicPrompts",initialState:tfe,reducers:{maxPromptsChanged:(e,t)=>{e.maxPrompts=t.payload},maxPromptsReset:e=>{e.maxPrompts=hF.maxPrompts},combinatorialToggled:e=>{e.combinatorial=!e.combinatorial},isEnabledToggled:e=>{e.isEnabled=!e.isEnabled}}}),{isEnabledToggled:yIe,maxPromptsChanged:vIe,maxPromptsReset:_Ie,combinatorialToggled:bIe}=pF.actions,nfe=pF.reducer,gF={selection:[],shouldAutoSwitch:!0,autoAssignBoardOnClick:!0,autoAddBoardId:"none",galleryImageMinimumWidth:96,selectedBoardId:"none",galleryView:"images",shouldShowDeleteButton:!1,boardSearchText:""},mF=yn({name:"gallery",initialState:gF,reducers:{imageSelected:(e,t)=>{e.selection=t.payload?[t.payload]:[]},selectionChanged:(e,t)=>{e.selection=t.payload},shouldAutoSwitchChanged:(e,t)=>{e.shouldAutoSwitch=t.payload},setGalleryImageMinimumWidth:(e,t)=>{e.galleryImageMinimumWidth=t.payload},autoAssignBoardOnClickChanged:(e,t)=>{e.autoAssignBoardOnClick=t.payload},boardIdSelected:(e,t)=>{e.selectedBoardId=t.payload,e.galleryView="images"},autoAddBoardIdChanged:(e,t)=>{if(!t.payload){e.autoAddBoardId="none";return}e.autoAddBoardId=t.payload},galleryViewChanged:(e,t)=>{e.galleryView=t.payload},shouldShowDeleteButtonChanged:(e,t)=>{e.shouldShowDeleteButton=t.payload},boardSearchTextChanged:(e,t)=>{e.boardSearchText=t.payload}},extraReducers:e=>{e.addMatcher(ife,(t,n)=>{const r=n.meta.arg.originalArgs;r===t.selectedBoardId&&(t.selectedBoardId="none",t.galleryView="images"),r===t.autoAddBoardId&&(t.autoAddBoardId="none")}),e.addMatcher(Ui.endpoints.listAllBoards.matchFulfilled,(t,n)=>{const r=n.payload;t.autoAddBoardId&&(r.map(i=>i.board_id).includes(t.autoAddBoardId)||(t.autoAddBoardId="none"))})}}),{imageSelected:Rs,shouldAutoSwitchChanged:SIe,autoAssignBoardOnClickChanged:wIe,setGalleryImageMinimumWidth:xIe,boardIdSelected:M3,autoAddBoardIdChanged:CIe,galleryViewChanged:k1,selectionChanged:TIe,shouldShowDeleteButtonChanged:EIe,boardSearchTextChanged:AIe}=mF.actions,rfe=mF.reducer,ife=Co(Se.endpoints.deleteBoard.matchFulfilled,Se.endpoints.deleteBoardAndImages.matchFulfilled),ofe={imagesToDelete:[],isModalOpen:!1},yF=yn({name:"deleteImageModal",initialState:ofe,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imagesToDeleteSelected:(e,t)=>{e.imagesToDelete=t.payload},imageDeletionCanceled:e=>{e.imagesToDelete=[],e.isModalOpen=!1}}}),{isModalOpenChanged:UT,imagesToDeleteSelected:sfe,imageDeletionCanceled:PIe}=yF.actions,afe=yF.reducer,lfe={isModalOpen:!1,imagesToChange:[]},vF=yn({name:"changeBoardModal",initialState:lfe,reducers:{isModalOpenChanged:(e,t)=>{e.isModalOpen=t.payload},imagesToChangeSelected:(e,t)=>{e.imagesToChange=t.payload},changeBoardReset:e=>{e.imagesToChange=[],e.isModalOpen=!1}}}),{isModalOpenChanged:RIe,imagesToChangeSelected:OIe,changeBoardReset:kIe}=vF.actions,ufe=vF.reducer,hR={weight:.75},cfe={loras:{}},_F=yn({name:"lora",initialState:cfe,reducers:{loraAdded:(e,t)=>{const{model_name:n,id:r,base_model:i}=t.payload;e.loras[r]={id:r,model_name:n,base_model:i,...hR}},loraRemoved:(e,t)=>{const n=t.payload;delete e.loras[n]},lorasCleared:e=>{e.loras={}},loraWeightChanged:(e,t)=>{const{id:n,weight:r}=t.payload,i=e.loras[n];i&&(i.weight=r)},loraWeightReset:(e,t)=>{const n=t.payload,r=e.loras[n];r&&(r.weight=hR.weight)}}}),{loraAdded:IIe,loraRemoved:bF,loraWeightChanged:MIe,loraWeightReset:NIe,lorasCleared:LIe}=_F.actions,dfe=_F.reducer;function Eo(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n{let t;const n=new Set,r=(l,u)=>{const d=typeof l=="function"?l(t):l;if(!Object.is(d,t)){const f=t;t=u??typeof d!="object"?d:Object.assign({},t,d),n.forEach(p=>p(t,f))}},i=()=>t,a={setState:r,getState:i,subscribe:l=>(n.add(l),()=>n.delete(l)),destroy:()=>{n.clear()}};return t=e(r,i,a),a},ffe=e=>e?pR(e):pR,{useSyncExternalStoreWithSelector:hfe}=Xce;function pfe(e,t=e.getState,n){const r=hfe(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return L.useDebugValue(r),r}function Ri(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,i]of e)if(!Object.is(i,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r=0;r{}};function Pb(){for(var e=0,t=arguments.length,n={},r;e=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}hv.prototype=Pb.prototype={constructor:hv,on:function(e,t){var n=this._,r=mfe(e+"",n),i,o=-1,s=r.length;if(arguments.length<2){for(;++o0)for(var n=new Array(i),r=0,i,o;r=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),mR.hasOwnProperty(t)?{space:mR[t],local:e}:e}function vfe(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===N3&&t.documentElement.namespaceURI===N3?t.createElement(e):t.createElementNS(n,e)}}function _fe(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function SF(e){var t=Rb(e);return(t.local?_fe:vfe)(t)}function bfe(){}function zT(e){return e==null?bfe:function(){return this.querySelector(e)}}function Sfe(e){typeof e!="function"&&(e=zT(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i=y&&(y=b+1);!(C=x[y])&&++y=0;)(s=r[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function Wfe(e){e||(e=qfe);function t(f,p){return f&&p?e(f.__data__,p.__data__):!f-!p}for(var n=this._groups,r=n.length,i=new Array(r),o=0;ot?1:e>=t?0:NaN}function Kfe(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Xfe(){return Array.from(this)}function Yfe(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?ahe:typeof t=="function"?uhe:lhe)(e,t,n??"")):Tf(this.node(),e)}function Tf(e,t){return e.style.getPropertyValue(t)||EF(e).getComputedStyle(e,null).getPropertyValue(t)}function dhe(e){return function(){delete this[e]}}function fhe(e,t){return function(){this[e]=t}}function hhe(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function phe(e,t){return arguments.length>1?this.each((t==null?dhe:typeof t=="function"?hhe:fhe)(e,t)):this.node()[e]}function AF(e){return e.trim().split(/^|\s+/)}function VT(e){return e.classList||new PF(e)}function PF(e){this._node=e,this._names=AF(e.getAttribute("class")||"")}PF.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function RF(e,t){for(var n=VT(e),r=-1,i=t.length;++r=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function Vhe(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,o;n()=>e;function L3(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:s,y:a,dx:l,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}L3.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Zhe(e){return!e.ctrlKey&&!e.button}function Jhe(){return this.parentNode}function epe(e,t){return t??{x:e.x,y:e.y}}function tpe(){return navigator.maxTouchPoints||"ontouchstart"in this}function npe(){var e=Zhe,t=Jhe,n=epe,r=tpe,i={},o=Pb("start","drag","end"),s=0,a,l,u,d,f=0;function p(S){S.on("mousedown.drag",g).filter(r).on("touchstart.drag",x).on("touchmove.drag",_,Qhe).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(S,C){if(!(d||!e.call(this,S,C))){var T=y(this,t.call(this,S,C),S,C,"mouse");T&&(jo(S.view).on("mousemove.drag",m,Tg).on("mouseup.drag",v,Tg),MF(S.view),px(S),u=!1,a=S.clientX,l=S.clientY,T("start",S))}}function m(S){if(ef(S),!u){var C=S.clientX-a,T=S.clientY-l;u=C*C+T*T>f}i.mouse("drag",S)}function v(S){jo(S.view).on("mousemove.drag mouseup.drag",null),NF(S.view,u),ef(S),i.mouse("end",S)}function x(S,C){if(e.call(this,S,C)){var T=S.changedTouches,E=t.call(this,S,C),P=T.length,k,O;for(k=0;k>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?w0(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?w0(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=ipe.exec(e))?new Ci(t[1],t[2],t[3],1):(t=ope.exec(e))?new Ci(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=spe.exec(e))?w0(t[1],t[2],t[3],t[4]):(t=ape.exec(e))?w0(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=lpe.exec(e))?xR(t[1],t[2]/100,t[3]/100,1):(t=upe.exec(e))?xR(t[1],t[2]/100,t[3]/100,t[4]):yR.hasOwnProperty(e)?bR(yR[e]):e==="transparent"?new Ci(NaN,NaN,NaN,0):null}function bR(e){return new Ci(e>>16&255,e>>8&255,e&255,1)}function w0(e,t,n,r){return r<=0&&(e=t=n=NaN),new Ci(e,t,n,r)}function fpe(e){return e instanceof vm||(e=Pg(e)),e?(e=e.rgb(),new Ci(e.r,e.g,e.b,e.opacity)):new Ci}function D3(e,t,n,r){return arguments.length===1?fpe(e):new Ci(e,t,n,r??1)}function Ci(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}jT(Ci,D3,LF(vm,{brighter(e){return e=e==null?M1:Math.pow(M1,e),new Ci(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Eg:Math.pow(Eg,e),new Ci(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Ci(Hu(this.r),Hu(this.g),Hu(this.b),N1(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:SR,formatHex:SR,formatHex8:hpe,formatRgb:wR,toString:wR}));function SR(){return`#${Fu(this.r)}${Fu(this.g)}${Fu(this.b)}`}function hpe(){return`#${Fu(this.r)}${Fu(this.g)}${Fu(this.b)}${Fu((isNaN(this.opacity)?1:this.opacity)*255)}`}function wR(){const e=N1(this.opacity);return`${e===1?"rgb(":"rgba("}${Hu(this.r)}, ${Hu(this.g)}, ${Hu(this.b)}${e===1?")":`, ${e})`}`}function N1(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Hu(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Fu(e){return e=Hu(e),(e<16?"0":"")+e.toString(16)}function xR(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Go(e,t,n,r)}function DF(e){if(e instanceof Go)return new Go(e.h,e.s,e.l,e.opacity);if(e instanceof vm||(e=Pg(e)),!e)return new Go;if(e instanceof Go)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),s=NaN,a=o-i,l=(o+i)/2;return a?(t===o?s=(n-r)/a+(n0&&l<1?0:s,new Go(s,a,l,e.opacity)}function ppe(e,t,n,r){return arguments.length===1?DF(e):new Go(e,t,n,r??1)}function Go(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}jT(Go,ppe,LF(vm,{brighter(e){return e=e==null?M1:Math.pow(M1,e),new Go(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Eg:Math.pow(Eg,e),new Go(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new Ci(gx(e>=240?e-240:e+120,i,r),gx(e,i,r),gx(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Go(CR(this.h),x0(this.s),x0(this.l),N1(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=N1(this.opacity);return`${e===1?"hsl(":"hsla("}${CR(this.h)}, ${x0(this.s)*100}%, ${x0(this.l)*100}%${e===1?")":`, ${e})`}`}}));function CR(e){return e=(e||0)%360,e<0?e+360:e}function x0(e){return Math.max(0,Math.min(1,e||0))}function gx(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const $F=e=>()=>e;function gpe(e,t){return function(n){return e+n*t}}function mpe(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function ype(e){return(e=+e)==1?FF:function(t,n){return n-t?mpe(t,n,e):$F(isNaN(t)?n:t)}}function FF(e,t){var n=t-e;return n?gpe(e,n):$F(isNaN(e)?t:e)}const TR=function e(t){var n=ype(t);function r(i,o){var s=n((i=D3(i)).r,(o=D3(o)).r),a=n(i.g,o.g),l=n(i.b,o.b),u=FF(i.opacity,o.opacity);return function(d){return i.r=s(d),i.g=a(d),i.b=l(d),i.opacity=u(d),i+""}}return r.gamma=e,r}(1);function cl(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var $3=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,mx=new RegExp($3.source,"g");function vpe(e){return function(){return e}}function _pe(e){return function(t){return e(t)+""}}function bpe(e,t){var n=$3.lastIndex=mx.lastIndex=0,r,i,o,s=-1,a=[],l=[];for(e=e+"",t=t+"";(r=$3.exec(e))&&(i=mx.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),a[s]?a[s]+=o:a[++s]=o),(r=r[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,l.push({i:s,x:cl(r,i)})),n=mx.lastIndex;return n180?d+=360:d-u>180&&(u+=360),p.push({i:f.push(i(f)+"rotate(",null,r)-2,x:cl(u,d)})):d&&f.push(i(f)+"rotate("+d+r)}function a(u,d,f,p){u!==d?p.push({i:f.push(i(f)+"skewX(",null,r)-2,x:cl(u,d)}):d&&f.push(i(f)+"skewX("+d+r)}function l(u,d,f,p,g,m){if(u!==f||d!==p){var v=g.push(i(g)+"scale(",null,",",null,")");m.push({i:v-4,x:cl(u,f)},{i:v-2,x:cl(d,p)})}else(f!==1||p!==1)&&g.push(i(g)+"scale("+f+","+p+")")}return function(u,d){var f=[],p=[];return u=e(u),d=e(d),o(u.translateX,u.translateY,d.translateX,d.translateY,f,p),s(u.rotate,d.rotate,f,p),a(u.skewX,d.skewX,f,p),l(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,p),u=d=null,function(g){for(var m=-1,v=p.length,x;++m=0&&e._call.call(void 0,t),e=e._next;--Ef}function PR(){oc=(D1=Rg.now())+Ob,Ef=dp=0;try{Ope()}finally{Ef=0,Ipe(),oc=0}}function kpe(){var e=Rg.now(),t=e-D1;t>zF&&(Ob-=t,D1=e)}function Ipe(){for(var e,t=L1,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:L1=n);fp=e,B3(r)}function B3(e){if(!Ef){dp&&(dp=clearTimeout(dp));var t=e-oc;t>24?(e<1/0&&(dp=setTimeout(PR,e-Rg.now()-Ob)),Gh&&(Gh=clearInterval(Gh))):(Gh||(D1=Rg.now(),Gh=setInterval(kpe,zF)),Ef=1,VF(PR))}}function RR(e,t,n){var r=new $1;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var Mpe=Pb("start","end","cancel","interrupt"),Npe=[],GF=0,OR=1,U3=2,pv=3,kR=4,z3=5,gv=6;function kb(e,t,n,r,i,o){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;Lpe(e,n,{name:t,index:r,group:i,on:Mpe,tween:Npe,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:GF})}function HT(e,t){var n=rs(e,t);if(n.state>GF)throw new Error("too late; already scheduled");return n}function Bs(e,t){var n=rs(e,t);if(n.state>pv)throw new Error("too late; already running");return n}function rs(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Lpe(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=jF(o,0,n.time);function o(u){n.state=OR,n.timer.restart(s,n.delay,n.time),n.delay<=u&&s(u-n.delay)}function s(u){var d,f,p,g;if(n.state!==OR)return l();for(d in r)if(g=r[d],g.name===n.name){if(g.state===pv)return RR(s);g.state===kR?(g.state=gv,g.timer.stop(),g.on.call("interrupt",e,e.__data__,g.index,g.group),delete r[d]):+dU3&&r.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function dge(e,t,n){var r,i,o=cge(t)?HT:Bs;return function(){var s=o(this,e),a=s.on;a!==r&&(i=(r=a).copy()).on(t,n),s.on=i}}function fge(e,t){var n=this._id;return arguments.length<2?rs(this.node(),n).on.on(e):this.each(dge(n,e,t))}function hge(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function pge(){return this.on("end.remove",hge(this._id))}function gge(e){var t=this._name,n=this._id;typeof e!="function"&&(e=zT(e));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s()=>e;function Uge(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function ma(e,t,n){this.k=e,this.x=t,this.y=n}ma.prototype={constructor:ma,scale:function(e){return e===1?this:new ma(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new ma(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Il=new ma(1,0,0);ma.prototype;function yx(e){e.stopImmediatePropagation()}function Hh(e){e.preventDefault(),e.stopImmediatePropagation()}function zge(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Vge(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function IR(){return this.__zoom||Il}function jge(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Gge(){return navigator.maxTouchPoints||"ontouchstart"in this}function Hge(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function Wge(){var e=zge,t=Vge,n=Hge,r=jge,i=Gge,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,l=Ppe,u=Pb("start","zoom","end"),d,f,p,g=500,m=150,v=0,x=10;function _(A){A.property("__zoom",IR).on("wheel.zoom",P,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",O).filter(i).on("touchstart.zoom",M).on("touchmove.zoom",G).on("touchend.zoom touchcancel.zoom",U).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}_.transform=function(A,N,F,B){var D=A.selection?A.selection():A;D.property("__zoom",IR),A!==D?C(A,N,F,B):D.interrupt().each(function(){T(this,arguments).event(B).start().zoom(null,typeof N=="function"?N.apply(this,arguments):N).end()})},_.scaleBy=function(A,N,F,B){_.scaleTo(A,function(){var D=this.__zoom.k,V=typeof N=="function"?N.apply(this,arguments):N;return D*V},F,B)},_.scaleTo=function(A,N,F,B){_.transform(A,function(){var D=t.apply(this,arguments),V=this.__zoom,j=F==null?S(D):typeof F=="function"?F.apply(this,arguments):F,q=V.invert(j),Z=typeof N=="function"?N.apply(this,arguments):N;return n(y(b(V,Z),j,q),D,s)},F,B)},_.translateBy=function(A,N,F,B){_.transform(A,function(){return n(this.__zoom.translate(typeof N=="function"?N.apply(this,arguments):N,typeof F=="function"?F.apply(this,arguments):F),t.apply(this,arguments),s)},null,B)},_.translateTo=function(A,N,F,B,D){_.transform(A,function(){var V=t.apply(this,arguments),j=this.__zoom,q=B==null?S(V):typeof B=="function"?B.apply(this,arguments):B;return n(Il.translate(q[0],q[1]).scale(j.k).translate(typeof N=="function"?-N.apply(this,arguments):-N,typeof F=="function"?-F.apply(this,arguments):-F),V,s)},B,D)};function b(A,N){return N=Math.max(o[0],Math.min(o[1],N)),N===A.k?A:new ma(N,A.x,A.y)}function y(A,N,F){var B=N[0]-F[0]*A.k,D=N[1]-F[1]*A.k;return B===A.x&&D===A.y?A:new ma(A.k,B,D)}function S(A){return[(+A[0][0]+ +A[1][0])/2,(+A[0][1]+ +A[1][1])/2]}function C(A,N,F,B){A.on("start.zoom",function(){T(this,arguments).event(B).start()}).on("interrupt.zoom end.zoom",function(){T(this,arguments).event(B).end()}).tween("zoom",function(){var D=this,V=arguments,j=T(D,V).event(B),q=t.apply(D,V),Z=F==null?S(q):typeof F=="function"?F.apply(D,V):F,ee=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),ie=D.__zoom,se=typeof N=="function"?N.apply(D,V):N,le=l(ie.invert(Z).concat(ee/ie.k),se.invert(Z).concat(ee/se.k));return function(W){if(W===1)W=se;else{var ne=le(W),fe=ee/ne[2];W=new ma(fe,Z[0]-ne[0]*fe,Z[1]-ne[1]*fe)}j.zoom(null,W)}})}function T(A,N,F){return!F&&A.__zooming||new E(A,N)}function E(A,N){this.that=A,this.args=N,this.active=0,this.sourceEvent=null,this.extent=t.apply(A,N),this.taps=0}E.prototype={event:function(A){return A&&(this.sourceEvent=A),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(A,N){return this.mouse&&A!=="mouse"&&(this.mouse[1]=N.invert(this.mouse[0])),this.touch0&&A!=="touch"&&(this.touch0[1]=N.invert(this.touch0[0])),this.touch1&&A!=="touch"&&(this.touch1[1]=N.invert(this.touch1[0])),this.that.__zoom=N,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(A){var N=jo(this.that).datum();u.call(A,this.that,new Uge(A,{sourceEvent:this.sourceEvent,target:_,type:A,transform:this.that.__zoom,dispatch:u}),N)}};function P(A,...N){if(!e.apply(this,arguments))return;var F=T(this,N).event(A),B=this.__zoom,D=Math.max(o[0],Math.min(o[1],B.k*Math.pow(2,r.apply(this,arguments)))),V=gs(A);if(F.wheel)(F.mouse[0][0]!==V[0]||F.mouse[0][1]!==V[1])&&(F.mouse[1]=B.invert(F.mouse[0]=V)),clearTimeout(F.wheel);else{if(B.k===D)return;F.mouse=[V,B.invert(V)],mv(this),F.start()}Hh(A),F.wheel=setTimeout(j,m),F.zoom("mouse",n(y(b(B,D),F.mouse[0],F.mouse[1]),F.extent,s));function j(){F.wheel=null,F.end()}}function k(A,...N){if(p||!e.apply(this,arguments))return;var F=A.currentTarget,B=T(this,N,!0).event(A),D=jo(A.view).on("mousemove.zoom",Z,!0).on("mouseup.zoom",ee,!0),V=gs(A,F),j=A.clientX,q=A.clientY;MF(A.view),yx(A),B.mouse=[V,this.__zoom.invert(V)],mv(this),B.start();function Z(ie){if(Hh(ie),!B.moved){var se=ie.clientX-j,le=ie.clientY-q;B.moved=se*se+le*le>v}B.event(ie).zoom("mouse",n(y(B.that.__zoom,B.mouse[0]=gs(ie,F),B.mouse[1]),B.extent,s))}function ee(ie){D.on("mousemove.zoom mouseup.zoom",null),NF(ie.view,B.moved),Hh(ie),B.event(ie).end()}}function O(A,...N){if(e.apply(this,arguments)){var F=this.__zoom,B=gs(A.changedTouches?A.changedTouches[0]:A,this),D=F.invert(B),V=F.k*(A.shiftKey?.5:2),j=n(y(b(F,V),B,D),t.apply(this,N),s);Hh(A),a>0?jo(this).transition().duration(a).call(C,j,B,A):jo(this).call(_.transform,j,B,A)}}function M(A,...N){if(e.apply(this,arguments)){var F=A.touches,B=F.length,D=T(this,N,A.changedTouches.length===B).event(A),V,j,q,Z;for(yx(A),j=0;j"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`},KF=Wl.error001();function Nn(e,t){const n=L.useContext(Ib);if(n===null)throw new Error(KF);return pfe(n,e,t)}const qr=()=>{const e=L.useContext(Ib);if(e===null)throw new Error(KF);return L.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},Kge=e=>e.userSelectionActive?"none":"all";function Xge({position:e,children:t,className:n,style:r,...i}){const o=Nn(Kge),s=`${e}`.split("-");return ue.jsx("div",{className:Eo(["react-flow__panel",n,...s]),style:{...r,pointerEvents:o},...i,children:t})}function Yge({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:ue.jsx(Xge,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:ue.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const Qge=({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:s=[2,4],labelBgBorderRadius:a=2,children:l,className:u,...d})=>{const f=L.useRef(null),[p,g]=L.useState({x:0,y:0,width:0,height:0}),m=Eo(["react-flow__edge-textwrapper",u]);return L.useEffect(()=>{if(f.current){const v=f.current.getBBox();g({x:v.x,y:v.y,width:v.width,height:v.height})}},[n]),typeof n>"u"||!n?null:ue.jsxs("g",{transform:`translate(${e-p.width/2} ${t-p.height/2})`,className:m,visibility:p.width?"visible":"hidden",...d,children:[i&&ue.jsx("rect",{width:p.width+2*s[0],x:-s[0],y:-s[1],height:p.height+2*s[1],className:"react-flow__edge-textbg",style:o,rx:a,ry:a}),ue.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:f,style:r,children:n}),l]})};var Zge=L.memo(Qge);const qT=e=>({width:e.offsetWidth,height:e.offsetHeight}),Af=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),KT=(e={x:0,y:0},t)=>({x:Af(e.x,t[0][0],t[1][0]),y:Af(e.y,t[0][1],t[1][1])}),MR=(e,t,n)=>en?-Af(Math.abs(e-n),1,50)/50:0,XF=(e,t)=>{const n=MR(e.x,35,t.width-35)*20,r=MR(e.y,35,t.height-35)*20;return[n,r]},YF=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},QF=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),F1=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),ZF=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),NR=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),DIe=(e,t)=>ZF(QF(F1(e),F1(t))),V3=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},Jge=e=>_o(e.width)&&_o(e.height)&&_o(e.x)&&_o(e.y),_o=e=>!isNaN(e)&&isFinite(e),nr=Symbol.for("internals"),JF=["Enter"," ","Escape"],eme=(e,t)=>{},tme=e=>"nativeEvent"in e;function j3(e){var i,o;const t=tme(e)?e.nativeEvent:e,n=((o=(i=t.composedPath)==null?void 0:i.call(t))==null?void 0:o[0])||e.target;return["INPUT","SELECT","TEXTAREA"].includes(n==null?void 0:n.nodeName)||(n==null?void 0:n.hasAttribute("contenteditable"))||!!(n!=null&&n.closest(".nokey"))}const eB=e=>"clientX"in e,Ml=(e,t)=>{var o,s;const n=eB(e),r=n?e.clientX:(o=e.touches)==null?void 0:o[0].clientX,i=n?e.clientY:(s=e.touches)==null?void 0:s[0].clientY;return{x:r-((t==null?void 0:t.left)??0),y:i-((t==null?void 0:t.top)??0)}},_m=({id:e,path:t,labelX:n,labelY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:g=20})=>ue.jsxs(ue.Fragment,{children:[ue.jsx("path",{id:e,style:d,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:f,markerStart:p}),g&&ue.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:g,className:"react-flow__edge-interaction"}),i&&_o(n)&&_o(r)?ue.jsx(Zge,{x:n,y:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u}):null]});_m.displayName="BaseEdge";function Wh(e,t,n){return n===void 0?n:r=>{const i=t().edges.find(o=>o.id===e);i&&n(r,{...i})}}function tB({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,o=n{const[x,_,b]=rB({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return ue.jsx(_m,{path:x,labelX:_,labelY:b,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,interactionWidth:v})});XT.displayName="SimpleBezierEdge";const DR={[Ne.Left]:{x:-1,y:0},[Ne.Right]:{x:1,y:0},[Ne.Top]:{x:0,y:-1},[Ne.Bottom]:{x:0,y:1}},nme=({source:e,sourcePosition:t=Ne.Bottom,target:n})=>t===Ne.Left||t===Ne.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function rme({source:e,sourcePosition:t=Ne.Bottom,target:n,targetPosition:r=Ne.Top,center:i,offset:o}){const s=DR[t],a=DR[r],l={x:e.x+s.x*o,y:e.y+s.y*o},u={x:n.x+a.x*o,y:n.y+a.y*o},d=nme({source:l,sourcePosition:t,target:u}),f=d.x!==0?"x":"y",p=d[f];let g=[],m,v;const[x,_,b,y]=tB({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[f]*a[f]===-1){m=i.x||x,v=i.y||_;const C=[{x:m,y:l.y},{x:m,y:u.y}],T=[{x:l.x,y:v},{x:u.x,y:v}];s[f]===p?g=f==="x"?C:T:g=f==="x"?T:C}else{const C=[{x:l.x,y:u.y}],T=[{x:u.x,y:l.y}];if(f==="x"?g=s.x===p?T:C:g=s.y===p?C:T,t!==r){const E=f==="x"?"y":"x",P=s[f]===a[E],k=l[E]>u[E],O=l[E]{let y="";return b>0&&b{const[_,b,y]=G3({sourceX:e,sourceY:t,sourcePosition:f,targetX:n,targetY:r,targetPosition:p,borderRadius:v==null?void 0:v.borderRadius,offset:v==null?void 0:v.offset});return ue.jsx(_m,{path:_,labelX:b,labelY:y,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:g,markerStart:m,interactionWidth:x})});Mb.displayName="SmoothStepEdge";const YT=L.memo(e=>{var t;return ue.jsx(Mb,{...e,pathOptions:L.useMemo(()=>{var n;return{borderRadius:0,offset:(n=e.pathOptions)==null?void 0:n.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});YT.displayName="StepEdge";function ome({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,s,a]=tB({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,s,a]}const QT=L.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:g})=>{const[m,v,x]=ome({sourceX:e,sourceY:t,targetX:n,targetY:r});return ue.jsx(_m,{path:m,labelX:v,labelY:x,label:i,labelStyle:o,labelShowBg:s,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:g})});QT.displayName="StraightEdge";function E0(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function FR({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case Ne.Left:return[t-E0(t-r,o),n];case Ne.Right:return[t+E0(r-t,o),n];case Ne.Top:return[t,n-E0(n-i,o)];case Ne.Bottom:return[t,n+E0(i-n,o)]}}function iB({sourceX:e,sourceY:t,sourcePosition:n=Ne.Bottom,targetX:r,targetY:i,targetPosition:o=Ne.Top,curvature:s=.25}){const[a,l]=FR({pos:n,x1:e,y1:t,x2:r,y2:i,c:s}),[u,d]=FR({pos:o,x1:r,y1:i,x2:e,y2:t,c:s}),[f,p,g,m]=nB({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:l,targetControlX:u,targetControlY:d});return[`M${e},${t} C${a},${l} ${u},${d} ${r},${i}`,f,p,g,m]}const U1=L.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=Ne.Bottom,targetPosition:o=Ne.Top,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,pathOptions:v,interactionWidth:x})=>{const[_,b,y]=iB({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:v==null?void 0:v.curvature});return ue.jsx(_m,{path:_,labelX:b,labelY:y,label:s,labelStyle:a,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:g,markerStart:m,interactionWidth:x})});U1.displayName="BezierEdge";const ZT=L.createContext(null),sme=ZT.Provider;ZT.Consumer;const ame=()=>L.useContext(ZT),lme=e=>"id"in e&&"source"in e&&"target"in e,ume=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,H3=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`,cme=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),oB=(e,t)=>{if(!e.source||!e.target)return t;let n;return lme(e)?n={...e}:n={...e,id:ume(e)},cme(n,t)?t:t.concat(n)},sB=({x:e,y:t},[n,r,i],o,[s,a])=>{const l={x:(e-n)/i,y:(t-r)/i};return o?{x:s*Math.round(l.x/s),y:a*Math.round(l.y/a)}:l},dme=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),rf=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=(e.width??0)*t[0],r=(e.height??0)*t[1],i={x:e.position.x-n,y:e.position.y-r};return{...i,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:i}},aB=(e,t=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,i)=>{const{x:o,y:s}=rf(i,t).positionAbsolute;return QF(r,F1({x:o,y:s,width:i.width||0,height:i.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return ZF(n)},lB=(e,t,[n,r,i]=[0,0,1],o=!1,s=!1,a=[0,0])=>{const l={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},u=[];return e.forEach(d=>{const{width:f,height:p,selectable:g=!0,hidden:m=!1}=d;if(s&&!g||m)return!1;const{positionAbsolute:v}=rf(d,a),x={x:v.x,y:v.y,width:f||0,height:p||0},_=V3(l,x),b=typeof f>"u"||typeof p>"u"||f===null||p===null,y=o&&_>0,S=(f||0)*(p||0);(b||y||_>=S||d.dragging)&&u.push(d)}),u},uB=(e,t)=>{const n=e.map(r=>r.id);return t.filter(r=>n.includes(r.source)||n.includes(r.target))},cB=(e,t,n,r,i,o=.1)=>{const s=t/(e.width*(1+o)),a=n/(e.height*(1+o)),l=Math.min(s,a),u=Af(l,r,i),d=e.x+e.width/2,f=e.y+e.height/2,p=t/2-d*u,g=n/2-f*u;return[p,g,u]},Pu=(e,t=0)=>e.transition().duration(t);function BR(e,t,n,r){return(t[n]||[]).reduce((i,o)=>{var s,a;return`${e.id}-${o.id}-${n}`!==r&&i.push({id:o.id||null,type:n,nodeId:e.id,x:(((s=e.positionAbsolute)==null?void 0:s.x)??0)+o.x+o.width/2,y:(((a=e.positionAbsolute)==null?void 0:a.y)??0)+o.y+o.height/2}),i},[])}function fme(e,t,n,r,i,o){const{x:s,y:a}=Ml(e),u=t.elementsFromPoint(s,a).find(m=>m.classList.contains("react-flow__handle"));if(u){const m=u.getAttribute("data-nodeid");if(m){const v=JT(void 0,u),x=u.getAttribute("data-handleid"),_=o({nodeId:m,id:x,type:v});if(_)return{handle:{id:x,type:v,nodeId:m,x:n.x,y:n.y},validHandleResult:_}}}let d=[],f=1/0;if(i.forEach(m=>{const v=Math.sqrt((m.x-n.x)**2+(m.y-n.y)**2);if(v<=r){const x=o(m);v<=f&&(vm.isValid),g=d.some(({handle:m})=>m.type==="target");return d.find(({handle:m,validHandleResult:v})=>g?m.type==="target":p?v.isValid:!0)||d[0]}const hme={source:null,target:null,sourceHandle:null,targetHandle:null},dB=()=>({handleDomNode:null,isValid:!1,connection:hme,endHandle:null});function fB(e,t,n,r,i,o,s){const a=i==="target",l=s.querySelector(`.react-flow__handle[data-id="${e==null?void 0:e.nodeId}-${e==null?void 0:e.id}-${e==null?void 0:e.type}"]`),u={...dB(),handleDomNode:l};if(l){const d=JT(void 0,l),f=l.getAttribute("data-nodeid"),p=l.getAttribute("data-handleid"),g=l.classList.contains("connectable"),m=l.classList.contains("connectableend"),v={source:a?f:n,sourceHandle:a?p:r,target:a?n:f,targetHandle:a?r:p};u.connection=v,g&&m&&(t===sc.Strict?a&&d==="source"||!a&&d==="target":f!==n||p!==r)&&(u.endHandle={nodeId:f,handleId:p,type:d},u.isValid=o(v))}return u}function pme({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((i,o)=>{if(o[nr]){const{handleBounds:s}=o[nr];let a=[],l=[];s&&(a=BR(o,s,"source",`${t}-${n}-${r}`),l=BR(o,s,"target",`${t}-${n}-${r}`)),i.push(...a,...l)}return i},[])}function JT(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function vx(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function gme(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function hB({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:s,isValidConnection:a,edgeUpdaterType:l,onEdgeUpdateEnd:u}){const d=YF(e.target),{connectionMode:f,domNode:p,autoPanOnConnect:g,connectionRadius:m,onConnectStart:v,panBy:x,getNodes:_,cancelConnection:b}=o();let y=0,S;const{x:C,y:T}=Ml(e),E=d==null?void 0:d.elementFromPoint(C,T),P=JT(l,E),k=p==null?void 0:p.getBoundingClientRect();if(!k||!P)return;let O,M=Ml(e,k),G=!1,U=null,A=!1,N=null;const F=pme({nodes:_(),nodeId:n,handleId:t,handleType:P}),B=()=>{if(!g)return;const[j,q]=XF(M,k);x({x:j,y:q}),y=requestAnimationFrame(B)};s({connectionPosition:M,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:P,connectionStartHandle:{nodeId:n,handleId:t,type:P},connectionEndHandle:null}),v==null||v(e,{nodeId:n,handleId:t,handleType:P});function D(j){const{transform:q}=o();M=Ml(j,k);const{handle:Z,validHandleResult:ee}=fme(j,d,sB(M,q,!1,[1,1]),m,F,ie=>fB(ie,f,n,t,i?"target":"source",a,d));if(S=Z,G||(B(),G=!0),N=ee.handleDomNode,U=ee.connection,A=ee.isValid,s({connectionPosition:S&&A?dme({x:S.x,y:S.y},q):M,connectionStatus:gme(!!S,A),connectionEndHandle:ee.endHandle}),!S&&!A&&!N)return vx(O);U.source!==U.target&&N&&(vx(O),O=N,N.classList.add("connecting","react-flow__handle-connecting"),N.classList.toggle("valid",A),N.classList.toggle("react-flow__handle-valid",A))}function V(j){var q,Z;(S||N)&&U&&A&&(r==null||r(U)),(Z=(q=o()).onConnectEnd)==null||Z.call(q,j),l&&(u==null||u(j)),vx(O),b(),cancelAnimationFrame(y),G=!1,A=!1,U=null,N=null,d.removeEventListener("mousemove",D),d.removeEventListener("mouseup",V),d.removeEventListener("touchmove",D),d.removeEventListener("touchend",V)}d.addEventListener("mousemove",D),d.addEventListener("mouseup",V),d.addEventListener("touchmove",D),d.addEventListener("touchend",V)}const UR=()=>!0,mme=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),yme=(e,t,n)=>r=>{const{connectionStartHandle:i,connectionEndHandle:o,connectionClickStartHandle:s}=r;return{connecting:(i==null?void 0:i.nodeId)===e&&(i==null?void 0:i.handleId)===t&&(i==null?void 0:i.type)===n||(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.handleId)===t&&(o==null?void 0:o.type)===n,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.handleId)===t&&(s==null?void 0:s.type)===n}},pB=L.forwardRef(({type:e="source",position:t=Ne.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:o=!0,id:s,onConnect:a,children:l,className:u,onMouseDown:d,onTouchStart:f,...p},g)=>{var k,O;const m=s||null,v=e==="target",x=qr(),_=ame(),{connectOnClick:b,noPanClassName:y}=Nn(mme,Ri),{connecting:S,clickConnecting:C}=Nn(yme(_,m,e),Ri);_||(O=(k=x.getState()).onError)==null||O.call(k,"010",Wl.error010());const T=M=>{const{defaultEdgeOptions:G,onConnect:U,hasDefaultEdges:A}=x.getState(),N={...G,...M};if(A){const{edges:F,setEdges:B}=x.getState();B(oB(N,F))}U==null||U(N),a==null||a(N)},E=M=>{if(!_)return;const G=eB(M);i&&(G&&M.button===0||!G)&&hB({event:M,handleId:m,nodeId:_,onConnect:T,isTarget:v,getState:x.getState,setState:x.setState,isValidConnection:n||x.getState().isValidConnection||UR}),G?d==null||d(M):f==null||f(M)},P=M=>{const{onClickConnectStart:G,onClickConnectEnd:U,connectionClickStartHandle:A,connectionMode:N,isValidConnection:F}=x.getState();if(!_||!A&&!i)return;if(!A){G==null||G(M,{nodeId:_,handleId:m,handleType:e}),x.setState({connectionClickStartHandle:{nodeId:_,type:e,handleId:m}});return}const B=YF(M.target),D=n||F||UR,{connection:V,isValid:j}=fB({nodeId:_,id:m,type:e},N,A.nodeId,A.handleId||null,A.type,D,B);j&&T(V),U==null||U(M),x.setState({connectionClickStartHandle:null})};return ue.jsx("div",{"data-handleid":m,"data-nodeid":_,"data-handlepos":t,"data-id":`${_}-${m}-${e}`,className:Eo(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",y,u,{source:!v,target:v,connectable:r,connectablestart:i,connectableend:o,connecting:C,connectionindicator:r&&(i&&!S||o&&S)}]),onMouseDown:E,onTouchStart:E,onClick:b?P:void 0,ref:g,...p,children:l})});pB.displayName="Handle";var z1=L.memo(pB);const gB=({data:e,isConnectable:t,targetPosition:n=Ne.Top,sourcePosition:r=Ne.Bottom})=>ue.jsxs(ue.Fragment,{children:[ue.jsx(z1,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,ue.jsx(z1,{type:"source",position:r,isConnectable:t})]});gB.displayName="DefaultNode";var W3=L.memo(gB);const mB=({data:e,isConnectable:t,sourcePosition:n=Ne.Bottom})=>ue.jsxs(ue.Fragment,{children:[e==null?void 0:e.label,ue.jsx(z1,{type:"source",position:n,isConnectable:t})]});mB.displayName="InputNode";var yB=L.memo(mB);const vB=({data:e,isConnectable:t,targetPosition:n=Ne.Top})=>ue.jsxs(ue.Fragment,{children:[ue.jsx(z1,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]});vB.displayName="OutputNode";var _B=L.memo(vB);const eE=()=>null;eE.displayName="GroupNode";const vme=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected)}),A0=e=>e.id;function _me(e,t){return Ri(e.selectedNodes.map(A0),t.selectedNodes.map(A0))&&Ri(e.selectedEdges.map(A0),t.selectedEdges.map(A0))}const bB=L.memo(({onSelectionChange:e})=>{const t=qr(),{selectedNodes:n,selectedEdges:r}=Nn(vme,_me);return L.useEffect(()=>{var o,s;const i={nodes:n,edges:r};e==null||e(i),(s=(o=t.getState()).onSelectionChange)==null||s.call(o,i)},[n,r,e]),null});bB.displayName="SelectionListener";const bme=e=>!!e.onSelectionChange;function Sme({onSelectionChange:e}){const t=Nn(bme);return e||t?ue.jsx(bB,{onSelectionChange:e}):null}const wme=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function rd(e,t){L.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function at(e,t,n){L.useEffect(()=>{typeof t<"u"&&n({[e]:t})},[t])}const xme=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:s,onClickConnectStart:a,onClickConnectEnd:l,nodesDraggable:u,nodesConnectable:d,nodesFocusable:f,edgesFocusable:p,edgesUpdatable:g,elevateNodesOnSelect:m,minZoom:v,maxZoom:x,nodeExtent:_,onNodesChange:b,onEdgesChange:y,elementsSelectable:S,connectionMode:C,snapGrid:T,snapToGrid:E,translateExtent:P,connectOnClick:k,defaultEdgeOptions:O,fitView:M,fitViewOptions:G,onNodesDelete:U,onEdgesDelete:A,onNodeDrag:N,onNodeDragStart:F,onNodeDragStop:B,onSelectionDrag:D,onSelectionDragStart:V,onSelectionDragStop:j,noPanClassName:q,nodeOrigin:Z,rfId:ee,autoPanOnConnect:ie,autoPanOnNodeDrag:se,onError:le,connectionRadius:W,isValidConnection:ne})=>{const{setNodes:fe,setEdges:pe,setDefaultNodesAndEdges:ve,setMinZoom:ye,setMaxZoom:We,setTranslateExtent:Me,setNodeExtent:Ee,reset:lt}=Nn(wme,Ri),_e=qr();return L.useEffect(()=>{const jt=r==null?void 0:r.map(Wn=>({...Wn,...O}));return ve(n,jt),()=>{lt()}},[]),at("defaultEdgeOptions",O,_e.setState),at("connectionMode",C,_e.setState),at("onConnect",i,_e.setState),at("onConnectStart",o,_e.setState),at("onConnectEnd",s,_e.setState),at("onClickConnectStart",a,_e.setState),at("onClickConnectEnd",l,_e.setState),at("nodesDraggable",u,_e.setState),at("nodesConnectable",d,_e.setState),at("nodesFocusable",f,_e.setState),at("edgesFocusable",p,_e.setState),at("edgesUpdatable",g,_e.setState),at("elementsSelectable",S,_e.setState),at("elevateNodesOnSelect",m,_e.setState),at("snapToGrid",E,_e.setState),at("snapGrid",T,_e.setState),at("onNodesChange",b,_e.setState),at("onEdgesChange",y,_e.setState),at("connectOnClick",k,_e.setState),at("fitViewOnInit",M,_e.setState),at("fitViewOnInitOptions",G,_e.setState),at("onNodesDelete",U,_e.setState),at("onEdgesDelete",A,_e.setState),at("onNodeDrag",N,_e.setState),at("onNodeDragStart",F,_e.setState),at("onNodeDragStop",B,_e.setState),at("onSelectionDrag",D,_e.setState),at("onSelectionDragStart",V,_e.setState),at("onSelectionDragStop",j,_e.setState),at("noPanClassName",q,_e.setState),at("nodeOrigin",Z,_e.setState),at("rfId",ee,_e.setState),at("autoPanOnConnect",ie,_e.setState),at("autoPanOnNodeDrag",se,_e.setState),at("onError",le,_e.setState),at("connectionRadius",W,_e.setState),at("isValidConnection",ne,_e.setState),rd(e,fe),rd(t,pe),rd(v,ye),rd(x,We),rd(P,Me),rd(_,Ee),null},zR={display:"none"},Cme={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},SB="react-flow__node-desc",wB="react-flow__edge-desc",Tme="react-flow__aria-live",Eme=e=>e.ariaLiveMessage;function Ame({rfId:e}){const t=Nn(Eme);return ue.jsx("div",{id:`${Tme}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Cme,children:t})}function Pme({rfId:e,disableKeyboardA11y:t}){return ue.jsxs(ue.Fragment,{children:[ue.jsxs("div",{id:`${SB}-${e}`,style:zR,children:["Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "]}),ue.jsx("div",{id:`${wB}-${e}`,style:zR,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!t&&ue.jsx(Ame,{rfId:e})]})}const Rme=(e,t,n)=>n===Ne.Left?e-t:n===Ne.Right?e+t:e,Ome=(e,t,n)=>n===Ne.Top?e-t:n===Ne.Bottom?e+t:e,VR="react-flow__edgeupdater",jR=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:s,type:a})=>ue.jsx("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:s,className:Eo([VR,`${VR}-${a}`]),cx:Rme(t,r,e),cy:Ome(n,r,e),r,stroke:"transparent",fill:"transparent"}),kme=()=>!0;var id=e=>{const t=({id:n,className:r,type:i,data:o,onClick:s,onEdgeDoubleClick:a,selected:l,animated:u,label:d,labelStyle:f,labelShowBg:p,labelBgStyle:g,labelBgPadding:m,labelBgBorderRadius:v,style:x,source:_,target:b,sourceX:y,sourceY:S,targetX:C,targetY:T,sourcePosition:E,targetPosition:P,elementsSelectable:k,hidden:O,sourceHandleId:M,targetHandleId:G,onContextMenu:U,onMouseEnter:A,onMouseMove:N,onMouseLeave:F,edgeUpdaterRadius:B,onEdgeUpdate:D,onEdgeUpdateStart:V,onEdgeUpdateEnd:j,markerEnd:q,markerStart:Z,rfId:ee,ariaLabel:ie,isFocusable:se,isUpdatable:le,pathOptions:W,interactionWidth:ne})=>{const fe=L.useRef(null),[pe,ve]=L.useState(!1),[ye,We]=L.useState(!1),Me=qr(),Ee=L.useMemo(()=>`url(#${H3(Z,ee)})`,[Z,ee]),lt=L.useMemo(()=>`url(#${H3(q,ee)})`,[q,ee]);if(O)return null;const _e=sn=>{const{edges:Gt,addSelectedEdges:vr}=Me.getState();if(k&&(Me.setState({nodesSelectionActive:!1}),vr([n])),s){const Nr=Gt.find(Xr=>Xr.id===n);s(sn,Nr)}},jt=Wh(n,Me.getState,a),Wn=Wh(n,Me.getState,U),Bt=Wh(n,Me.getState,A),it=Wh(n,Me.getState,N),mt=Wh(n,Me.getState,F),Jt=(sn,Gt)=>{if(sn.button!==0)return;const{edges:vr,isValidConnection:Nr}=Me.getState(),Xr=Gt?b:_,Ii=(Gt?G:M)||null,An=Gt?"target":"source",Yr=Nr||kme,Vs=Gt,Ji=vr.find(kt=>kt.id===n);We(!0),V==null||V(sn,Ji,An);const js=kt=>{We(!1),j==null||j(kt,Ji,An)};hB({event:sn,handleId:Ii,nodeId:Xr,onConnect:kt=>D==null?void 0:D(Ji,kt),isTarget:Vs,getState:Me.getState,setState:Me.setState,isValidConnection:Yr,edgeUpdaterType:An,onEdgeUpdateEnd:js})},Mr=sn=>Jt(sn,!0),yr=sn=>Jt(sn,!1),pi=()=>ve(!0),wn=()=>ve(!1),on=!k&&!s,qn=sn=>{var Gt;if(JF.includes(sn.key)&&k){const{unselectNodesAndEdges:vr,addSelectedEdges:Nr,edges:Xr}=Me.getState();sn.key==="Escape"?((Gt=fe.current)==null||Gt.blur(),vr({edges:[Xr.find(An=>An.id===n)]})):Nr([n])}};return ue.jsxs("g",{className:Eo(["react-flow__edge",`react-flow__edge-${i}`,r,{selected:l,animated:u,inactive:on,updating:pe}]),onClick:_e,onDoubleClick:jt,onContextMenu:Wn,onMouseEnter:Bt,onMouseMove:it,onMouseLeave:mt,onKeyDown:se?qn:void 0,tabIndex:se?0:void 0,role:se?"button":void 0,"data-testid":`rf__edge-${n}`,"aria-label":ie===null?void 0:ie||`Edge from ${_} to ${b}`,"aria-describedby":se?`${wB}-${ee}`:void 0,ref:fe,children:[!ye&&ue.jsx(e,{id:n,source:_,target:b,selected:l,animated:u,label:d,labelStyle:f,labelShowBg:p,labelBgStyle:g,labelBgPadding:m,labelBgBorderRadius:v,data:o,style:x,sourceX:y,sourceY:S,targetX:C,targetY:T,sourcePosition:E,targetPosition:P,sourceHandleId:M,targetHandleId:G,markerStart:Ee,markerEnd:lt,pathOptions:W,interactionWidth:ne}),le&&ue.jsxs(ue.Fragment,{children:[(le==="source"||le===!0)&&ue.jsx(jR,{position:E,centerX:y,centerY:S,radius:B,onMouseDown:Mr,onMouseEnter:pi,onMouseOut:wn,type:"source"}),(le==="target"||le===!0)&&ue.jsx(jR,{position:P,centerX:C,centerY:T,radius:B,onMouseDown:yr,onMouseEnter:pi,onMouseOut:wn,type:"target"})]})]})};return t.displayName="EdgeWrapper",L.memo(t)};function Ime(e){const t={default:id(e.default||U1),straight:id(e.bezier||QT),step:id(e.step||YT),smoothstep:id(e.step||Mb),simplebezier:id(e.simplebezier||XT)},n={},r=Object.keys(e).filter(i=>!["default","bezier"].includes(i)).reduce((i,o)=>(i[o]=id(e[o]||U1),i),n);return{...t,...r}}function GR(e,t,n=null){const r=((n==null?void 0:n.x)||0)+t.x,i=((n==null?void 0:n.y)||0)+t.y,o=(n==null?void 0:n.width)||t.width,s=(n==null?void 0:n.height)||t.height;switch(e){case Ne.Top:return{x:r+o/2,y:i};case Ne.Right:return{x:r+o,y:i+s/2};case Ne.Bottom:return{x:r+o/2,y:i+s};case Ne.Left:return{x:r,y:i+s/2}}}function HR(e,t){return e?e.length===1||!t?e[0]:t&&e.find(n=>n.id===t)||null:null}const Mme=(e,t,n,r,i,o)=>{const s=GR(n,e,t),a=GR(o,r,i);return{sourceX:s.x,sourceY:s.y,targetX:a.x,targetY:a.y}};function Nme({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:o,width:s,height:a,transform:l}){const u={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+r,t.y+o)};u.x===u.x2&&(u.x2+=1),u.y===u.y2&&(u.y2+=1);const d=F1({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:s/l[2],height:a/l[2]}),f=Math.max(0,Math.min(d.x2,u.x2)-Math.max(d.x,u.x)),p=Math.max(0,Math.min(d.y2,u.y2)-Math.max(d.y,u.y));return Math.ceil(f*p)>0}function WR(e){var r,i,o,s,a;const t=((r=e==null?void 0:e[nr])==null?void 0:r.handleBounds)||null,n=t&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((i=e==null?void 0:e.positionAbsolute)==null?void 0:i.x)<"u"&&typeof((o=e==null?void 0:e.positionAbsolute)==null?void 0:o.y)<"u";return[{x:((s=e==null?void 0:e.positionAbsolute)==null?void 0:s.x)||0,y:((a=e==null?void 0:e.positionAbsolute)==null?void 0:a.y)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0},t,!!n]}function xB(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return n?n.selected?!0:xB(n,t):!1}function qR(e,t,n){let r=e;do{if(r!=null&&r.matches(t))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function Lme(e,t,n,r){return Array.from(e.values()).filter(i=>(i.selected||i.id===r)&&(!i.parentNode||!xB(i,e))&&(i.draggable||t&&typeof i.draggable>"u")).map(i=>{var o,s;return{id:i.id,position:i.position||{x:0,y:0},positionAbsolute:i.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((o=i.positionAbsolute)==null?void 0:o.x)??0),y:n.y-(((s=i.positionAbsolute)==null?void 0:s.y)??0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode,width:i.width,height:i.height}})}function Dme(e,t){return!t||t==="parent"?t:[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]}function CB(e,t,n,r,i=[0,0],o){const s=Dme(e,e.extent||r);let a=s;if(e.extent==="parent")if(e.parentNode&&e.width&&e.height){const d=n.get(e.parentNode),{x:f,y:p}=rf(d,i).positionAbsolute;a=d&&_o(f)&&_o(p)&&_o(d.width)&&_o(d.height)?[[f+e.width*i[0],p+e.height*i[1]],[f+d.width-e.width+e.width*i[0],p+d.height-e.height+e.height*i[1]]]:a}else o==null||o("005",Wl.error005()),a=s;else if(e.extent&&e.parentNode){const d=n.get(e.parentNode),{x:f,y:p}=rf(d,i).positionAbsolute;a=[[e.extent[0][0]+f,e.extent[0][1]+p],[e.extent[1][0]+f,e.extent[1][1]+p]]}let l={x:0,y:0};if(e.parentNode){const d=n.get(e.parentNode);l=rf(d,i).positionAbsolute}const u=a?KT(t,a):t;return{position:{x:u.x-l.x,y:u.y-l.y},positionAbsolute:u}}function _x({nodeId:e,dragItems:t,nodeInternals:n}){const r=t.map(i=>({...n.get(i.id),position:i.position,positionAbsolute:i.positionAbsolute}));return[e?r.find(i=>i.id===e):r[0],r]}const KR=(e,t,n,r)=>{const i=t.querySelectorAll(e);if(!i||!i.length)return null;const o=Array.from(i),s=t.getBoundingClientRect(),a={x:s.width*r[0],y:s.height*r[1]};return o.map(l=>{const u=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),position:l.getAttribute("data-handlepos"),x:(u.left-s.left-a.x)/n,y:(u.top-s.top-a.y)/n,...qT(l)}})};function qh(e,t,n){return n===void 0?n:r=>{const i=t().nodeInternals.get(e);n(r,{...i})}}function q3({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:i,unselectNodesAndEdges:o,multiSelectionActive:s,nodeInternals:a}=t.getState(),l=a.get(e);t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&s)&&(o({nodes:[l]}),requestAnimationFrame(()=>{var u;return(u=r==null?void 0:r.current)==null?void 0:u.blur()})):i([e])}function $me(){const e=qr();return L.useCallback(({sourceEvent:n})=>{const{transform:r,snapGrid:i,snapToGrid:o}=e.getState(),s=n.touches?n.touches[0].clientX:n.clientX,a=n.touches?n.touches[0].clientY:n.clientY,l={x:(s-r[0])/r[2],y:(a-r[1])/r[2]};return{xSnapped:o?i[0]*Math.round(l.x/i[0]):l.x,ySnapped:o?i[1]*Math.round(l.y/i[1]):l.y,...l}},[])}function bx(e){return(t,n,r)=>e==null?void 0:e(t,r)}function TB({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:s}){const a=qr(),[l,u]=L.useState(!1),d=L.useRef([]),f=L.useRef({x:null,y:null}),p=L.useRef(0),g=L.useRef(null),m=L.useRef({x:0,y:0}),v=L.useRef(null),x=L.useRef(!1),_=$me();return L.useEffect(()=>{if(e!=null&&e.current){const b=jo(e.current),y=({x:C,y:T})=>{const{nodeInternals:E,onNodeDrag:P,onSelectionDrag:k,updateNodePositions:O,nodeExtent:M,snapGrid:G,snapToGrid:U,nodeOrigin:A,onError:N}=a.getState();f.current={x:C,y:T};let F=!1;if(d.current=d.current.map(D=>{const V={x:C-D.distance.x,y:T-D.distance.y};U&&(V.x=G[0]*Math.round(V.x/G[0]),V.y=G[1]*Math.round(V.y/G[1]));const j=CB(D,V,E,M,A,N);return F=F||D.position.x!==j.position.x||D.position.y!==j.position.y,D.position=j.position,D.positionAbsolute=j.positionAbsolute,D}),!F)return;O(d.current,!0,!0),u(!0);const B=i?P:bx(k);if(B&&v.current){const[D,V]=_x({nodeId:i,dragItems:d.current,nodeInternals:E});B(v.current,D,V)}},S=()=>{if(!g.current)return;const[C,T]=XF(m.current,g.current);if(C!==0||T!==0){const{transform:E,panBy:P}=a.getState();f.current.x=(f.current.x??0)-C/E[2],f.current.y=(f.current.y??0)-T/E[2],P({x:C,y:T})&&y(f.current)}p.current=requestAnimationFrame(S)};if(t)b.on(".drag",null);else{const C=npe().on("start",T=>{var F;const{nodeInternals:E,multiSelectionActive:P,domNode:k,nodesDraggable:O,unselectNodesAndEdges:M,onNodeDragStart:G,onSelectionDragStart:U}=a.getState(),A=i?G:bx(U);!s&&!P&&i&&((F=E.get(i))!=null&&F.selected||M()),i&&o&&s&&q3({id:i,store:a,nodeRef:e});const N=_(T);if(f.current=N,d.current=Lme(E,O,N,i),A&&d.current){const[B,D]=_x({nodeId:i,dragItems:d.current,nodeInternals:E});A(T.sourceEvent,B,D)}g.current=(k==null?void 0:k.getBoundingClientRect())||null,m.current=Ml(T.sourceEvent,g.current)}).on("drag",T=>{const E=_(T),{autoPanOnNodeDrag:P}=a.getState();!x.current&&P&&(x.current=!0,S()),(f.current.x!==E.xSnapped||f.current.y!==E.ySnapped)&&d.current&&(v.current=T.sourceEvent,m.current=Ml(T.sourceEvent,g.current),y(E))}).on("end",T=>{if(u(!1),x.current=!1,cancelAnimationFrame(p.current),d.current){const{updateNodePositions:E,nodeInternals:P,onNodeDragStop:k,onSelectionDragStop:O}=a.getState(),M=i?k:bx(O);if(E(d.current,!1,!1),M){const[G,U]=_x({nodeId:i,dragItems:d.current,nodeInternals:P});M(T.sourceEvent,G,U)}}}).filter(T=>{const E=T.target;return!T.button&&(!n||!qR(E,`.${n}`,e))&&(!r||qR(E,r,e))});return b.call(C),()=>{b.on(".drag",null)}}}},[e,t,n,r,o,a,i,s,_]),l}function EB(){const e=qr();return L.useCallback(n=>{const{nodeInternals:r,nodeExtent:i,updateNodePositions:o,getNodes:s,snapToGrid:a,snapGrid:l,onError:u,nodesDraggable:d}=e.getState(),f=s().filter(b=>b.selected&&(b.draggable||d&&typeof b.draggable>"u")),p=a?l[0]:5,g=a?l[1]:5,m=n.isShiftPressed?4:1,v=n.x*p*m,x=n.y*g*m,_=f.map(b=>{if(b.positionAbsolute){const y={x:b.positionAbsolute.x+v,y:b.positionAbsolute.y+x};a&&(y.x=l[0]*Math.round(y.x/l[0]),y.y=l[1]*Math.round(y.y/l[1]));const{positionAbsolute:S,position:C}=CB(b,y,r,i,void 0,u);b.position=C,b.positionAbsolute=S}return b});o(_,!0,!1)},[])}const of={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var Kh=e=>{const t=({id:n,type:r,data:i,xPos:o,yPos:s,xPosOrigin:a,yPosOrigin:l,selected:u,onClick:d,onMouseEnter:f,onMouseMove:p,onMouseLeave:g,onContextMenu:m,onDoubleClick:v,style:x,className:_,isDraggable:b,isSelectable:y,isConnectable:S,isFocusable:C,selectNodesOnDrag:T,sourcePosition:E,targetPosition:P,hidden:k,resizeObserver:O,dragHandle:M,zIndex:G,isParent:U,noDragClassName:A,noPanClassName:N,initialized:F,disableKeyboardA11y:B,ariaLabel:D,rfId:V})=>{const j=qr(),q=L.useRef(null),Z=L.useRef(E),ee=L.useRef(P),ie=L.useRef(r),se=y||b||d||f||p||g,le=EB(),W=qh(n,j.getState,f),ne=qh(n,j.getState,p),fe=qh(n,j.getState,g),pe=qh(n,j.getState,m),ve=qh(n,j.getState,v),ye=Ee=>{if(y&&(!T||!b)&&q3({id:n,store:j,nodeRef:q}),d){const lt=j.getState().nodeInternals.get(n);d(Ee,{...lt})}},We=Ee=>{if(!j3(Ee))if(JF.includes(Ee.key)&&y){const lt=Ee.key==="Escape";q3({id:n,store:j,unselect:lt,nodeRef:q})}else!B&&b&&u&&Object.prototype.hasOwnProperty.call(of,Ee.key)&&(j.setState({ariaLiveMessage:`Moved selected node ${Ee.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~s}`}),le({x:of[Ee.key].x,y:of[Ee.key].y,isShiftPressed:Ee.shiftKey}))};L.useEffect(()=>{if(q.current&&!k){const Ee=q.current;return O==null||O.observe(Ee),()=>O==null?void 0:O.unobserve(Ee)}},[k]),L.useEffect(()=>{const Ee=ie.current!==r,lt=Z.current!==E,_e=ee.current!==P;q.current&&(Ee||lt||_e)&&(Ee&&(ie.current=r),lt&&(Z.current=E),_e&&(ee.current=P),j.getState().updateNodeDimensions([{id:n,nodeElement:q.current,forceUpdate:!0}]))},[n,r,E,P]);const Me=TB({nodeRef:q,disabled:k||!b,noDragClassName:A,handleSelector:M,nodeId:n,isSelectable:y,selectNodesOnDrag:T});return k?null:ue.jsx("div",{className:Eo(["react-flow__node",`react-flow__node-${r}`,{[N]:b},_,{selected:u,selectable:y,parent:U,dragging:Me}]),ref:q,style:{zIndex:G,transform:`translate(${a}px,${l}px)`,pointerEvents:se?"all":"none",visibility:F?"visible":"hidden",...x},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:W,onMouseMove:ne,onMouseLeave:fe,onContextMenu:pe,onClick:ye,onDoubleClick:ve,onKeyDown:C?We:void 0,tabIndex:C?0:void 0,role:C?"button":void 0,"aria-describedby":B?void 0:`${SB}-${V}`,"aria-label":D,children:ue.jsx(sme,{value:n,children:ue.jsx(e,{id:n,data:i,type:r,xPos:o,yPos:s,selected:u,isConnectable:S,sourcePosition:E,targetPosition:P,dragging:Me,dragHandle:M,zIndex:G})})})};return t.displayName="NodeWrapper",L.memo(t)};function Fme(e){const t={input:Kh(e.input||yB),default:Kh(e.default||W3),output:Kh(e.output||_B),group:Kh(e.group||eE)},n={},r=Object.keys(e).filter(i=>!["input","default","output","group"].includes(i)).reduce((i,o)=>(i[o]=Kh(e[o]||W3),i),n);return{...t,...r}}const Bme=({x:e,y:t,width:n,height:r,origin:i})=>!n||!r?{x:e,y:t}:i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:e,y:t}:{x:e-n*i[0],y:t-r*i[1]},Ume=typeof document<"u"?document:null;var kg=(e=null,t={target:Ume})=>{const[n,r]=L.useState(!1),i=L.useRef(!1),o=L.useRef(new Set([])),[s,a]=L.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.split("+")),d=u.reduce((f,p)=>f.concat(...p),[]);return[u,d]}return[[],[]]},[e]);return L.useEffect(()=>{var l,u;if(e!==null){const d=g=>{if(i.current=g.ctrlKey||g.metaKey||g.shiftKey,!i.current&&j3(g))return!1;const m=YR(g.code,a);o.current.add(g[m]),XR(s,o.current,!1)&&(g.preventDefault(),r(!0))},f=g=>{if(!i.current&&j3(g))return!1;const m=YR(g.code,a);XR(s,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(g[m]),i.current=!1},p=()=>{o.current.clear(),r(!1)};return(l=t==null?void 0:t.target)==null||l.addEventListener("keydown",d),(u=t==null?void 0:t.target)==null||u.addEventListener("keyup",f),window.addEventListener("blur",p),()=>{var g,m;(g=t==null?void 0:t.target)==null||g.removeEventListener("keydown",d),(m=t==null?void 0:t.target)==null||m.removeEventListener("keyup",f),window.removeEventListener("blur",p)}}},[e,r]),n};function XR(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function YR(e,t){return t.includes(e)?"code":"key"}function AB(e,t,n,r){var s,a;if(!e.parentNode)return n;const i=t.get(e.parentNode),o=rf(i,r);return AB(i,t,{x:(n.x??0)+o.x,y:(n.y??0)+o.y,z:(((s=i[nr])==null?void 0:s.z)??0)>(n.z??0)?((a=i[nr])==null?void 0:a.z)??0:n.z??0},r)}function PB(e,t,n){e.forEach(r=>{var i;if(r.parentNode&&!e.has(r.parentNode))throw new Error(`Parent node ${r.parentNode} not found`);if(r.parentNode||n!=null&&n[r.id]){const{x:o,y:s,z:a}=AB(r,e,{...r.position,z:((i=r[nr])==null?void 0:i.z)??0},t);r.positionAbsolute={x:o,y:s},r[nr].z=a,n!=null&&n[r.id]&&(r[nr].isParent=!0)}})}function Sx(e,t,n,r){const i=new Map,o={},s=r?1e3:0;return e.forEach(a=>{var f;const l=(_o(a.zIndex)?a.zIndex:0)+(a.selected?s:0),u=t.get(a.id),d={width:u==null?void 0:u.width,height:u==null?void 0:u.height,...a,positionAbsolute:{x:a.position.x,y:a.position.y}};a.parentNode&&(d.parentNode=a.parentNode,o[a.parentNode]=!0),Object.defineProperty(d,nr,{enumerable:!1,value:{handleBounds:(f=u==null?void 0:u[nr])==null?void 0:f.handleBounds,z:l}}),i.set(a.id,d)}),PB(i,n,o),i}function RB(e,t={}){const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:s,d3Zoom:a,d3Selection:l,fitViewOnInitDone:u,fitViewOnInit:d,nodeOrigin:f}=e(),p=t.initial&&!u&&d;if(a&&l&&(p||!t.initial)){const m=n().filter(x=>{var b;const _=t.includeHiddenNodes?x.width&&x.height:!x.hidden;return(b=t.nodes)!=null&&b.length?_&&t.nodes.some(y=>y.id===x.id):_}),v=m.every(x=>x.width&&x.height);if(m.length>0&&v){const x=aB(m,f),[_,b,y]=cB(x,r,i,t.minZoom??o,t.maxZoom??s,t.padding??.1),S=Il.translate(_,b).scale(y);return typeof t.duration=="number"&&t.duration>0?a.transform(Pu(l,t.duration),S):a.transform(l,S),!0}}return!1}function zme(e,t){return e.forEach(n=>{const r=t.get(n.id);r&&t.set(r.id,{...r,[nr]:r[nr],selected:n.selected})}),new Map(t)}function Vme(e,t){return t.map(n=>{const r=e.find(i=>i.id===n.id);return r&&(n.selected=r.selected),n})}function P0({changedNodes:e,changedEdges:t,get:n,set:r}){const{nodeInternals:i,edges:o,onNodesChange:s,onEdgesChange:a,hasDefaultNodes:l,hasDefaultEdges:u}=n();e!=null&&e.length&&(l&&r({nodeInternals:zme(e,i)}),s==null||s(e)),t!=null&&t.length&&(u&&r({edges:Vme(t,o)}),a==null||a(t))}const od=()=>{},jme={zoomIn:od,zoomOut:od,zoomTo:od,getZoom:()=>1,setViewport:od,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:od,fitBounds:od,project:e=>e,viewportInitialized:!1},Gme=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),Hme=()=>{const e=qr(),{d3Zoom:t,d3Selection:n}=Nn(Gme,Ri);return L.useMemo(()=>n&&t?{zoomIn:i=>t.scaleBy(Pu(n,i==null?void 0:i.duration),1.2),zoomOut:i=>t.scaleBy(Pu(n,i==null?void 0:i.duration),1/1.2),zoomTo:(i,o)=>t.scaleTo(Pu(n,o==null?void 0:o.duration),i),getZoom:()=>e.getState().transform[2],setViewport:(i,o)=>{const[s,a,l]=e.getState().transform,u=Il.translate(i.x??s,i.y??a).scale(i.zoom??l);t.transform(Pu(n,o==null?void 0:o.duration),u)},getViewport:()=>{const[i,o,s]=e.getState().transform;return{x:i,y:o,zoom:s}},fitView:i=>RB(e.getState,i),setCenter:(i,o,s)=>{const{width:a,height:l,maxZoom:u}=e.getState(),d=typeof(s==null?void 0:s.zoom)<"u"?s.zoom:u,f=a/2-i*d,p=l/2-o*d,g=Il.translate(f,p).scale(d);t.transform(Pu(n,s==null?void 0:s.duration),g)},fitBounds:(i,o)=>{const{width:s,height:a,minZoom:l,maxZoom:u}=e.getState(),[d,f,p]=cB(i,s,a,l,u,(o==null?void 0:o.padding)??.1),g=Il.translate(d,f).scale(p);t.transform(Pu(n,o==null?void 0:o.duration),g)},project:i=>{const{transform:o,snapToGrid:s,snapGrid:a}=e.getState();return sB(i,o,s,a)},viewportInitialized:!0}:jme,[t,n])};function OB(){const e=Hme(),t=qr(),n=L.useCallback(()=>t.getState().getNodes().map(v=>({...v})),[]),r=L.useCallback(v=>t.getState().nodeInternals.get(v),[]),i=L.useCallback(()=>{const{edges:v=[]}=t.getState();return v.map(x=>({...x}))},[]),o=L.useCallback(v=>{const{edges:x=[]}=t.getState();return x.find(_=>_.id===v)},[]),s=L.useCallback(v=>{const{getNodes:x,setNodes:_,hasDefaultNodes:b,onNodesChange:y}=t.getState(),S=x(),C=typeof v=="function"?v(S):v;if(b)_(C);else if(y){const T=C.length===0?S.map(E=>({type:"remove",id:E.id})):C.map(E=>({item:E,type:"reset"}));y(T)}},[]),a=L.useCallback(v=>{const{edges:x=[],setEdges:_,hasDefaultEdges:b,onEdgesChange:y}=t.getState(),S=typeof v=="function"?v(x):v;if(b)_(S);else if(y){const C=S.length===0?x.map(T=>({type:"remove",id:T.id})):S.map(T=>({item:T,type:"reset"}));y(C)}},[]),l=L.useCallback(v=>{const x=Array.isArray(v)?v:[v],{getNodes:_,setNodes:b,hasDefaultNodes:y,onNodesChange:S}=t.getState();if(y){const T=[..._(),...x];b(T)}else if(S){const C=x.map(T=>({item:T,type:"add"}));S(C)}},[]),u=L.useCallback(v=>{const x=Array.isArray(v)?v:[v],{edges:_=[],setEdges:b,hasDefaultEdges:y,onEdgesChange:S}=t.getState();if(y)b([..._,...x]);else if(S){const C=x.map(T=>({item:T,type:"add"}));S(C)}},[]),d=L.useCallback(()=>{const{getNodes:v,edges:x=[],transform:_}=t.getState(),[b,y,S]=_;return{nodes:v().map(C=>({...C})),edges:x.map(C=>({...C})),viewport:{x:b,y,zoom:S}}},[]),f=L.useCallback(({nodes:v,edges:x})=>{const{nodeInternals:_,getNodes:b,edges:y,hasDefaultNodes:S,hasDefaultEdges:C,onNodesDelete:T,onEdgesDelete:E,onNodesChange:P,onEdgesChange:k}=t.getState(),O=(v||[]).map(N=>N.id),M=(x||[]).map(N=>N.id),G=b().reduce((N,F)=>{const B=!O.includes(F.id)&&F.parentNode&&N.find(V=>V.id===F.parentNode);return(typeof F.deletable=="boolean"?F.deletable:!0)&&(O.includes(F.id)||B)&&N.push(F),N},[]),U=y.filter(N=>typeof N.deletable=="boolean"?N.deletable:!0),A=U.filter(N=>M.includes(N.id));if(G||A){const N=uB(G,U),F=[...A,...N],B=F.reduce((D,V)=>(D.includes(V.id)||D.push(V.id),D),[]);if((C||S)&&(C&&t.setState({edges:y.filter(D=>!B.includes(D.id))}),S&&(G.forEach(D=>{_.delete(D.id)}),t.setState({nodeInternals:new Map(_)}))),B.length>0&&(E==null||E(F),k&&k(B.map(D=>({id:D,type:"remove"})))),G.length>0&&(T==null||T(G),P)){const D=G.map(V=>({id:V.id,type:"remove"}));P(D)}}},[]),p=L.useCallback(v=>{const x=Jge(v),_=x?null:t.getState().nodeInternals.get(v.id);return[x?v:NR(_),_,x]},[]),g=L.useCallback((v,x=!0,_)=>{const[b,y,S]=p(v);return b?(_||t.getState().getNodes()).filter(C=>{if(!S&&(C.id===y.id||!C.positionAbsolute))return!1;const T=NR(C),E=V3(T,b);return x&&E>0||E>=v.width*v.height}):[]},[]),m=L.useCallback((v,x,_=!0)=>{const[b]=p(v);if(!b)return!1;const y=V3(b,x);return _&&y>0||y>=v.width*v.height},[]);return L.useMemo(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:s,setEdges:a,addNodes:l,addEdges:u,toObject:d,deleteElements:f,getIntersectingNodes:g,isNodeIntersecting:m}),[e,n,r,i,o,s,a,l,u,d,f,g,m])}var Wme=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=qr(),{deleteElements:r}=OB(),i=kg(e),o=kg(t);L.useEffect(()=>{if(i){const{edges:s,getNodes:a}=n.getState(),l=a().filter(d=>d.selected),u=s.filter(d=>d.selected);r({nodes:l,edges:u}),n.setState({nodesSelectionActive:!1})}},[i]),L.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])};function qme(e){const t=qr();L.useEffect(()=>{let n;const r=()=>{var o,s;if(!e.current)return;const i=qT(e.current);(i.height===0||i.width===0)&&((s=(o=t.getState()).onError)==null||s.call(o,"004",Wl.error004())),t.setState({width:i.width||500,height:i.height||500})};return r(),window.addEventListener("resize",r),e.current&&(n=new ResizeObserver(()=>r()),n.observe(e.current)),()=>{window.removeEventListener("resize",r),n&&e.current&&n.unobserve(e.current)}},[])}const tE={position:"absolute",width:"100%",height:"100%",top:0,left:0},Kme=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,wx=e=>({x:e.x,y:e.y,zoom:e.k}),sd=(e,t)=>e.target.closest(`.${t}`),QR=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),Xme=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),Yme=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:s=!1,panOnScrollSpeed:a=.5,panOnScrollMode:l=nf.Free,zoomOnDoubleClick:u=!0,elementsSelectable:d,panOnDrag:f=!0,defaultViewport:p,translateExtent:g,minZoom:m,maxZoom:v,zoomActivationKeyCode:x,preventScrolling:_=!0,children:b,noWheelClassName:y,noPanClassName:S})=>{const C=L.useRef(),T=qr(),E=L.useRef(!1),P=L.useRef(!1),k=L.useRef(null),O=L.useRef({x:0,y:0,zoom:0}),{d3Zoom:M,d3Selection:G,d3ZoomHandler:U,userSelectionActive:A}=Nn(Xme,Ri),N=kg(x),F=L.useRef(0);return qme(k),L.useEffect(()=>{if(k.current){const B=k.current.getBoundingClientRect(),D=Wge().scaleExtent([m,v]).translateExtent(g),V=jo(k.current).call(D),j=Il.translate(p.x,p.y).scale(Af(p.zoom,m,v)),q=[[0,0],[B.width,B.height]],Z=D.constrain()(j,q,g);D.transform(V,Z),T.setState({d3Zoom:D,d3Selection:V,d3ZoomHandler:V.on("wheel.zoom"),transform:[Z.x,Z.y,Z.k],domNode:k.current.closest(".react-flow")})}},[]),L.useEffect(()=>{G&&M&&(s&&!N&&!A?G.on("wheel.zoom",B=>{if(sd(B,y))return!1;B.preventDefault(),B.stopImmediatePropagation();const D=G.property("__zoom").k||1;if(B.ctrlKey&&o){const Z=gs(B),ee=-B.deltaY*(B.deltaMode===1?.05:B.deltaMode?1:.002)*10,ie=D*Math.pow(2,ee);M.scaleTo(G,ie,Z);return}const V=B.deltaMode===1?20:1,j=l===nf.Vertical?0:B.deltaX*V,q=l===nf.Horizontal?0:B.deltaY*V;M.translateBy(G,-(j/D)*a,-(q/D)*a)},{passive:!1}):typeof U<"u"&&G.on("wheel.zoom",function(B,D){if(!_||sd(B,y))return null;B.preventDefault(),U.call(this,B,D)},{passive:!1}))},[A,s,l,G,M,U,N,o,_,y]),L.useEffect(()=>{M&&M.on("start",B=>{var V;if(!B.sourceEvent)return null;F.current=B.sourceEvent.button;const{onViewportChangeStart:D}=T.getState();if(E.current=!0,((V=B.sourceEvent)==null?void 0:V.type)==="mousedown"&&T.setState({paneDragging:!0}),t||D){const j=wx(B.transform);O.current=j,D==null||D(j),t==null||t(B.sourceEvent,j)}})},[M,t]),L.useEffect(()=>{M&&(A&&!E.current?M.on("zoom",null):A||M.on("zoom",B=>{const{onViewportChange:D}=T.getState();if(T.setState({transform:[B.transform.x,B.transform.y,B.transform.k]}),P.current=!!(r&&QR(f,F.current??0)),e||D){const V=wx(B.transform);D==null||D(V),e==null||e(B.sourceEvent,V)}}))},[A,M,e,f,r]),L.useEffect(()=>{M&&M.on("end",B=>{if(!B.sourceEvent)return null;const{onViewportChangeEnd:D}=T.getState();if(E.current=!1,T.setState({paneDragging:!1}),r&&QR(f,F.current??0)&&!P.current&&r(B.sourceEvent),P.current=!1,(n||D)&&Kme(O.current,B.transform)){const V=wx(B.transform);O.current=V,clearTimeout(C.current),C.current=setTimeout(()=>{D==null||D(V),n==null||n(B.sourceEvent,V)},s?150:0)}})},[M,s,f,n,r]),L.useEffect(()=>{M&&M.filter(B=>{const D=N||i,V=o&&B.ctrlKey;if(B.button===1&&B.type==="mousedown"&&(sd(B,"react-flow__node")||sd(B,"react-flow__edge")))return!0;if(!f&&!D&&!s&&!u&&!o||A||!u&&B.type==="dblclick"||sd(B,y)&&B.type==="wheel"||sd(B,S)&&B.type!=="wheel"||!o&&B.ctrlKey&&B.type==="wheel"||!D&&!s&&!V&&B.type==="wheel"||!f&&(B.type==="mousedown"||B.type==="touchstart")||Array.isArray(f)&&!f.includes(B.button)&&(B.type==="mousedown"||B.type==="touchstart"))return!1;const j=Array.isArray(f)&&f.includes(B.button)||!B.button||B.button<=1;return(!B.ctrlKey||B.type==="wheel")&&j})},[A,M,i,o,s,u,f,d,N]),ue.jsx("div",{className:"react-flow__renderer",ref:k,style:tE,children:b})},Qme=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function Zme(){const{userSelectionActive:e,userSelectionRect:t}=Nn(Qme,Ri);return e&&t?ue.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function ZR(e,t){const n=e.find(r=>r.id===t.parentNode);if(n){const r=t.position.x+t.width-n.width,i=t.position.y+t.height-n.height;if(r>0||i>0||t.position.x<0||t.position.y<0){if(n.style={...n.style},n.style.width=n.style.width??n.width,n.style.height=n.style.height??n.height,r>0&&(n.style.width+=r),i>0&&(n.style.height+=i),t.position.x<0){const o=Math.abs(t.position.x);n.position.x=n.position.x-o,n.style.width+=o,t.position.x=0}if(t.position.y<0){const o=Math.abs(t.position.y);n.position.y=n.position.y-o,n.style.height+=o,t.position.y=0}n.width=n.style.width,n.height=n.style.height}}}function kB(e,t){if(e.some(r=>r.type==="reset"))return e.filter(r=>r.type==="reset").map(r=>r.item);const n=e.filter(r=>r.type==="add").map(r=>r.item);return t.reduce((r,i)=>{const o=e.filter(a=>a.id===i.id);if(o.length===0)return r.push(i),r;const s={...i};for(const a of o)if(a)switch(a.type){case"select":{s.selected=a.selected;break}case"position":{typeof a.position<"u"&&(s.position=a.position),typeof a.positionAbsolute<"u"&&(s.positionAbsolute=a.positionAbsolute),typeof a.dragging<"u"&&(s.dragging=a.dragging),s.expandParent&&ZR(r,s);break}case"dimensions":{typeof a.dimensions<"u"&&(s.width=a.dimensions.width,s.height=a.dimensions.height),typeof a.updateStyle<"u"&&(s.style={...s.style||{},...a.dimensions}),typeof a.resizing=="boolean"&&(s.resizing=a.resizing),s.expandParent&&ZR(r,s);break}case"remove":return r}return r.push(s),r},n)}function IB(e,t){return kB(e,t)}function Jme(e,t){return kB(e,t)}const dl=(e,t)=>({id:e,type:"select",selected:t});function Ld(e,t){return e.reduce((n,r)=>{const i=t.includes(r.id);return!r.selected&&i?(r.selected=!0,n.push(dl(r.id,!0))):r.selected&&!i&&(r.selected=!1,n.push(dl(r.id,!1))),n},[])}const xx=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},eye=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),MB=L.memo(({isSelecting:e,selectionMode:t=Og.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:s,onPaneScroll:a,onPaneMouseEnter:l,onPaneMouseMove:u,onPaneMouseLeave:d,children:f})=>{const p=L.useRef(null),g=qr(),m=L.useRef(0),v=L.useRef(0),x=L.useRef(),{userSelectionActive:_,elementsSelectable:b,dragging:y}=Nn(eye,Ri),S=()=>{g.setState({userSelectionActive:!1,userSelectionRect:null}),m.current=0,v.current=0},C=U=>{o==null||o(U),g.getState().resetSelectedElements(),g.setState({nodesSelectionActive:!1})},T=U=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){U.preventDefault();return}s==null||s(U)},E=a?U=>a(U):void 0,P=U=>{const{resetSelectedElements:A,domNode:N}=g.getState();if(x.current=N==null?void 0:N.getBoundingClientRect(),!b||!e||U.button!==0||U.target!==p.current||!x.current)return;const{x:F,y:B}=Ml(U,x.current);A(),g.setState({userSelectionRect:{width:0,height:0,startX:F,startY:B,x:F,y:B}}),r==null||r(U)},k=U=>{const{userSelectionRect:A,nodeInternals:N,edges:F,transform:B,onNodesChange:D,onEdgesChange:V,nodeOrigin:j,getNodes:q}=g.getState();if(!e||!x.current||!A)return;g.setState({userSelectionActive:!0,nodesSelectionActive:!1});const Z=Ml(U,x.current),ee=A.startX??0,ie=A.startY??0,se={...A,x:Z.xpe.id),fe=W.map(pe=>pe.id);if(m.current!==fe.length){m.current=fe.length;const pe=Ld(le,fe);pe.length&&(D==null||D(pe))}if(v.current!==ne.length){v.current=ne.length;const pe=Ld(F,ne);pe.length&&(V==null||V(pe))}g.setState({userSelectionRect:se})},O=U=>{if(U.button!==0)return;const{userSelectionRect:A}=g.getState();!_&&A&&U.target===p.current&&(C==null||C(U)),g.setState({nodesSelectionActive:m.current>0}),S(),i==null||i(U)},M=U=>{_&&(g.setState({nodesSelectionActive:m.current>0}),i==null||i(U)),S()},G=b&&(e||_);return ue.jsxs("div",{className:Eo(["react-flow__pane",{dragging:y,selection:e}]),onClick:G?void 0:xx(C,p),onContextMenu:xx(T,p),onWheel:xx(E,p),onMouseEnter:G?void 0:l,onMouseDown:G?P:void 0,onMouseMove:G?k:u,onMouseUp:G?O:void 0,onMouseLeave:G?M:d,ref:p,style:tE,children:[f,ue.jsx(Zme,{})]})});MB.displayName="Pane";const tye=e=>{const t=e.getNodes().filter(n=>n.selected);return{...aB(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function nye({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=qr(),{width:i,height:o,x:s,y:a,transformString:l,userSelectionActive:u}=Nn(tye,Ri),d=EB(),f=L.useRef(null);if(L.useEffect(()=>{var m;n||(m=f.current)==null||m.focus({preventScroll:!0})},[n]),TB({nodeRef:f}),u||!i||!o)return null;const p=e?m=>{const v=r.getState().getNodes().filter(x=>x.selected);e(m,v)}:void 0,g=m=>{Object.prototype.hasOwnProperty.call(of,m.key)&&d({x:of[m.key].x,y:of[m.key].y,isShiftPressed:m.shiftKey})};return ue.jsx("div",{className:Eo(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l},children:ue.jsx("div",{ref:f,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:n?void 0:-1,onKeyDown:n?void 0:g,style:{width:i,height:o,top:a,left:s}})})}var rye=L.memo(nye);const iye=e=>e.nodesSelectionActive,NB=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,deleteKeyCode:a,onMove:l,onMoveStart:u,onMoveEnd:d,selectionKeyCode:f,selectionOnDrag:p,selectionMode:g,onSelectionStart:m,onSelectionEnd:v,multiSelectionKeyCode:x,panActivationKeyCode:_,zoomActivationKeyCode:b,elementsSelectable:y,zoomOnScroll:S,zoomOnPinch:C,panOnScroll:T,panOnScrollSpeed:E,panOnScrollMode:P,zoomOnDoubleClick:k,panOnDrag:O,defaultViewport:M,translateExtent:G,minZoom:U,maxZoom:A,preventScrolling:N,onSelectionContextMenu:F,noWheelClassName:B,noPanClassName:D,disableKeyboardA11y:V})=>{const j=Nn(iye),q=kg(f),ee=kg(_)||O,ie=q||p&&ee!==!0;return Wme({deleteKeyCode:a,multiSelectionKeyCode:x}),ue.jsx(Yme,{onMove:l,onMoveStart:u,onMoveEnd:d,onPaneContextMenu:o,elementsSelectable:y,zoomOnScroll:S,zoomOnPinch:C,panOnScroll:T,panOnScrollSpeed:E,panOnScrollMode:P,zoomOnDoubleClick:k,panOnDrag:!q&&ee,defaultViewport:M,translateExtent:G,minZoom:U,maxZoom:A,zoomActivationKeyCode:b,preventScrolling:N,noWheelClassName:B,noPanClassName:D,children:ue.jsxs(MB,{onSelectionStart:m,onSelectionEnd:v,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:s,panOnDrag:ee,isSelecting:!!ie,selectionMode:g,children:[e,j&&ue.jsx(rye,{onSelectionContextMenu:F,noPanClassName:D,disableKeyboardA11y:V})]})})};NB.displayName="FlowRenderer";var oye=L.memo(NB);function sye(e){return Nn(L.useCallback(n=>e?lB(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[e]))}const aye=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),LB=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:s}=Nn(aye,Ri),a=sye(e.onlyRenderVisibleElements),l=L.useRef(),u=L.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const d=new ResizeObserver(f=>{const p=f.map(g=>({id:g.target.getAttribute("data-id"),nodeElement:g.target,forceUpdate:!0}));o(p)});return l.current=d,d},[]);return L.useEffect(()=>()=>{var d;(d=l==null?void 0:l.current)==null||d.disconnect()},[]),ue.jsx("div",{className:"react-flow__nodes",style:tE,children:a.map(d=>{var C,T;let f=d.type||"default";e.nodeTypes[f]||(s==null||s("003",Wl.error003(f)),f="default");const p=e.nodeTypes[f]||e.nodeTypes.default,g=!!(d.draggable||t&&typeof d.draggable>"u"),m=!!(d.selectable||i&&typeof d.selectable>"u"),v=!!(d.connectable||n&&typeof d.connectable>"u"),x=!!(d.focusable||r&&typeof d.focusable>"u"),_=e.nodeExtent?KT(d.positionAbsolute,e.nodeExtent):d.positionAbsolute,b=(_==null?void 0:_.x)??0,y=(_==null?void 0:_.y)??0,S=Bme({x:b,y,width:d.width??0,height:d.height??0,origin:e.nodeOrigin});return ue.jsx(p,{id:d.id,className:d.className,style:d.style,type:f,data:d.data,sourcePosition:d.sourcePosition||Ne.Bottom,targetPosition:d.targetPosition||Ne.Top,hidden:d.hidden,xPos:b,yPos:y,xPosOrigin:S.x,yPosOrigin:S.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!d.selected,isDraggable:g,isSelectable:m,isConnectable:v,isFocusable:x,resizeObserver:u,dragHandle:d.dragHandle,zIndex:((C=d[nr])==null?void 0:C.z)??0,isParent:!!((T=d[nr])!=null&&T.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!d.width&&!!d.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:d.ariaLabel},d.id)})})};LB.displayName="NodeRenderer";var lye=L.memo(LB);const uye=[{level:0,isMaxLevel:!0,edges:[]}];function cye(e,t,n=!1){let r=-1;const i=e.reduce((s,a)=>{var d,f;const l=_o(a.zIndex);let u=l?a.zIndex:0;if(n){const p=t.get(a.target),g=t.get(a.source),m=a.selected||(p==null?void 0:p.selected)||(g==null?void 0:g.selected),v=Math.max(((d=g==null?void 0:g[nr])==null?void 0:d.z)||0,((f=p==null?void 0:p[nr])==null?void 0:f.z)||0,1e3);u=(l?a.zIndex:0)+(m?v:0)}return s[u]?s[u].push(a):s[u]=[a],r=u>r?u:r,s},{}),o=Object.entries(i).map(([s,a])=>{const l=+s;return{edges:a,level:l,isMaxLevel:l===r}});return o.length===0?uye:o}function dye(e,t,n){const r=Nn(L.useCallback(i=>e?i.edges.filter(o=>{const s=t.get(o.source),a=t.get(o.target);return(s==null?void 0:s.width)&&(s==null?void 0:s.height)&&(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&Nme({sourcePos:s.positionAbsolute||{x:0,y:0},targetPos:a.positionAbsolute||{x:0,y:0},sourceWidth:s.width,sourceHeight:s.height,targetWidth:a.width,targetHeight:a.height,width:i.width,height:i.height,transform:i.transform})}):i.edges,[e,t]));return cye(r,t,n)}const fye=({color:e="none",strokeWidth:t=1})=>ue.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:"none",points:"-5,-4 0,0 -5,4"}),hye=({color:e="none",strokeWidth:t=1})=>ue.jsx("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:e,points:"-5,-4 0,0 -5,4 -5,-4"}),JR={[B1.Arrow]:fye,[B1.ArrowClosed]:hye};function pye(e){const t=qr();return L.useMemo(()=>{var i,o;return Object.prototype.hasOwnProperty.call(JR,e)?JR[e]:((o=(i=t.getState()).onError)==null||o.call(i,"009",Wl.error009(e)),null)},[e])}const gye=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:o="strokeWidth",strokeWidth:s,orient:a="auto-start-reverse"})=>{const l=pye(t);return l?ue.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:a,refX:"0",refY:"0",children:ue.jsx(l,{color:n,strokeWidth:s})}):null},mye=({defaultColor:e,rfId:t})=>n=>{const r=[];return n.edges.reduce((i,o)=>([o.markerStart,o.markerEnd].forEach(s=>{if(s&&typeof s=="object"){const a=H3(s,t);r.includes(a)||(i.push({id:a,color:s.color||e,...s}),r.push(a))}}),i),[]).sort((i,o)=>i.id.localeCompare(o.id))},DB=({defaultColor:e,rfId:t})=>{const n=Nn(L.useCallback(mye({defaultColor:e,rfId:t}),[e,t]),(r,i)=>!(r.length!==i.length||r.some((o,s)=>o.id!==i[s].id)));return ue.jsx("defs",{children:n.map(r=>ue.jsx(gye,{id:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient},r.id))})};DB.displayName="MarkerDefinitions";var yye=L.memo(DB);const vye=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),$B=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeUpdate:s,onEdgeContextMenu:a,onEdgeMouseEnter:l,onEdgeMouseMove:u,onEdgeMouseLeave:d,onEdgeClick:f,edgeUpdaterRadius:p,onEdgeDoubleClick:g,onEdgeUpdateStart:m,onEdgeUpdateEnd:v,children:x})=>{const{edgesFocusable:_,edgesUpdatable:b,elementsSelectable:y,width:S,height:C,connectionMode:T,nodeInternals:E,onError:P}=Nn(vye,Ri),k=dye(t,E,n);return S?ue.jsxs(ue.Fragment,{children:[k.map(({level:O,edges:M,isMaxLevel:G})=>ue.jsxs("svg",{style:{zIndex:O},width:S,height:C,className:"react-flow__edges react-flow__container",children:[G&&ue.jsx(yye,{defaultColor:e,rfId:r}),ue.jsx("g",{children:M.map(U=>{const[A,N,F]=WR(E.get(U.source)),[B,D,V]=WR(E.get(U.target));if(!F||!V)return null;let j=U.type||"default";i[j]||(P==null||P("011",Wl.error011(j)),j="default");const q=i[j]||i.default,Z=T===sc.Strict?D.target:(D.target??[]).concat(D.source??[]),ee=HR(N.source,U.sourceHandle),ie=HR(Z,U.targetHandle),se=(ee==null?void 0:ee.position)||Ne.Bottom,le=(ie==null?void 0:ie.position)||Ne.Top,W=!!(U.focusable||_&&typeof U.focusable>"u"),ne=typeof s<"u"&&(U.updatable||b&&typeof U.updatable>"u");if(!ee||!ie)return P==null||P("008",Wl.error008(ee,U)),null;const{sourceX:fe,sourceY:pe,targetX:ve,targetY:ye}=Mme(A,ee,se,B,ie,le);return ue.jsx(q,{id:U.id,className:Eo([U.className,o]),type:j,data:U.data,selected:!!U.selected,animated:!!U.animated,hidden:!!U.hidden,label:U.label,labelStyle:U.labelStyle,labelShowBg:U.labelShowBg,labelBgStyle:U.labelBgStyle,labelBgPadding:U.labelBgPadding,labelBgBorderRadius:U.labelBgBorderRadius,style:U.style,source:U.source,target:U.target,sourceHandleId:U.sourceHandle,targetHandleId:U.targetHandle,markerEnd:U.markerEnd,markerStart:U.markerStart,sourceX:fe,sourceY:pe,targetX:ve,targetY:ye,sourcePosition:se,targetPosition:le,elementsSelectable:y,onEdgeUpdate:s,onContextMenu:a,onMouseEnter:l,onMouseMove:u,onMouseLeave:d,onClick:f,edgeUpdaterRadius:p,onEdgeDoubleClick:g,onEdgeUpdateStart:m,onEdgeUpdateEnd:v,rfId:r,ariaLabel:U.ariaLabel,isFocusable:W,isUpdatable:ne,pathOptions:"pathOptions"in U?U.pathOptions:void 0,interactionWidth:U.interactionWidth},U.id)})})]},O)),x]}):null};$B.displayName="EdgeRenderer";var _ye=L.memo($B);const bye=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Sye({children:e}){const t=Nn(bye);return ue.jsx("div",{className:"react-flow__viewport react-flow__container",style:{transform:t},children:e})}function wye(e){const t=OB(),n=L.useRef(!1);L.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const xye={[Ne.Left]:Ne.Right,[Ne.Right]:Ne.Left,[Ne.Top]:Ne.Bottom,[Ne.Bottom]:Ne.Top},FB=({nodeId:e,handleType:t,style:n,type:r=yl.Bezier,CustomComponent:i,connectionStatus:o})=>{var T,E,P;const{fromNode:s,handleId:a,toX:l,toY:u,connectionMode:d}=Nn(L.useCallback(k=>({fromNode:k.nodeInternals.get(e),handleId:k.connectionHandleId,toX:(k.connectionPosition.x-k.transform[0])/k.transform[2],toY:(k.connectionPosition.y-k.transform[1])/k.transform[2],connectionMode:k.connectionMode}),[e]),Ri),f=(T=s==null?void 0:s[nr])==null?void 0:T.handleBounds;let p=f==null?void 0:f[t];if(d===sc.Loose&&(p=p||(f==null?void 0:f[t==="source"?"target":"source"])),!s||!p)return null;const g=a?p.find(k=>k.id===a):p[0],m=g?g.x+g.width/2:(s.width??0)/2,v=g?g.y+g.height/2:s.height??0,x=(((E=s.positionAbsolute)==null?void 0:E.x)??0)+m,_=(((P=s.positionAbsolute)==null?void 0:P.y)??0)+v,b=g==null?void 0:g.position,y=b?xye[b]:null;if(!b||!y)return null;if(i)return ue.jsx(i,{connectionLineType:r,connectionLineStyle:n,fromNode:s,fromHandle:g,fromX:x,fromY:_,toX:l,toY:u,fromPosition:b,toPosition:y,connectionStatus:o});let S="";const C={sourceX:x,sourceY:_,sourcePosition:b,targetX:l,targetY:u,targetPosition:y};return r===yl.Bezier?[S]=iB(C):r===yl.Step?[S]=G3({...C,borderRadius:0}):r===yl.SmoothStep?[S]=G3(C):r===yl.SimpleBezier?[S]=rB(C):S=`M${x},${_} ${l},${u}`,ue.jsx("path",{d:S,fill:"none",className:"react-flow__connection-path",style:n})};FB.displayName="ConnectionLine";const Cye=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function Tye({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:s,width:a,height:l,connectionStatus:u}=Nn(Cye,Ri);return!(i&&o&&a&&s)?null:ue.jsx("svg",{style:e,width:a,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container",children:ue.jsx("g",{className:Eo(["react-flow__connection",u]),children:ue.jsx(FB,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:u})})})}const BB=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:s,onEdgeClick:a,onNodeDoubleClick:l,onEdgeDoubleClick:u,onNodeMouseEnter:d,onNodeMouseMove:f,onNodeMouseLeave:p,onNodeContextMenu:g,onSelectionContextMenu:m,onSelectionStart:v,onSelectionEnd:x,connectionLineType:_,connectionLineStyle:b,connectionLineComponent:y,connectionLineContainerStyle:S,selectionKeyCode:C,selectionOnDrag:T,selectionMode:E,multiSelectionKeyCode:P,panActivationKeyCode:k,zoomActivationKeyCode:O,deleteKeyCode:M,onlyRenderVisibleElements:G,elementsSelectable:U,selectNodesOnDrag:A,defaultViewport:N,translateExtent:F,minZoom:B,maxZoom:D,preventScrolling:V,defaultMarkerColor:j,zoomOnScroll:q,zoomOnPinch:Z,panOnScroll:ee,panOnScrollSpeed:ie,panOnScrollMode:se,zoomOnDoubleClick:le,panOnDrag:W,onPaneClick:ne,onPaneMouseEnter:fe,onPaneMouseMove:pe,onPaneMouseLeave:ve,onPaneScroll:ye,onPaneContextMenu:We,onEdgeUpdate:Me,onEdgeContextMenu:Ee,onEdgeMouseEnter:lt,onEdgeMouseMove:_e,onEdgeMouseLeave:jt,edgeUpdaterRadius:Wn,onEdgeUpdateStart:Bt,onEdgeUpdateEnd:it,noDragClassName:mt,noWheelClassName:Jt,noPanClassName:Mr,elevateEdgesOnSelect:yr,disableKeyboardA11y:pi,nodeOrigin:wn,nodeExtent:on,rfId:qn})=>(wye(o),ue.jsx(oye,{onPaneClick:ne,onPaneMouseEnter:fe,onPaneMouseMove:pe,onPaneMouseLeave:ve,onPaneContextMenu:We,onPaneScroll:ye,deleteKeyCode:M,selectionKeyCode:C,selectionOnDrag:T,selectionMode:E,onSelectionStart:v,onSelectionEnd:x,multiSelectionKeyCode:P,panActivationKeyCode:k,zoomActivationKeyCode:O,elementsSelectable:U,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:q,zoomOnPinch:Z,zoomOnDoubleClick:le,panOnScroll:ee,panOnScrollSpeed:ie,panOnScrollMode:se,panOnDrag:W,defaultViewport:N,translateExtent:F,minZoom:B,maxZoom:D,onSelectionContextMenu:m,preventScrolling:V,noDragClassName:mt,noWheelClassName:Jt,noPanClassName:Mr,disableKeyboardA11y:pi,children:ue.jsxs(Sye,{children:[ue.jsx(_ye,{edgeTypes:t,onEdgeClick:a,onEdgeDoubleClick:u,onEdgeUpdate:Me,onlyRenderVisibleElements:G,onEdgeContextMenu:Ee,onEdgeMouseEnter:lt,onEdgeMouseMove:_e,onEdgeMouseLeave:jt,onEdgeUpdateStart:Bt,onEdgeUpdateEnd:it,edgeUpdaterRadius:Wn,defaultMarkerColor:j,noPanClassName:Mr,elevateEdgesOnSelect:!!yr,disableKeyboardA11y:pi,rfId:qn,children:ue.jsx(Tye,{style:b,type:_,component:y,containerStyle:S})}),ue.jsx("div",{className:"react-flow__edgelabel-renderer"}),ue.jsx(lye,{nodeTypes:e,onNodeClick:s,onNodeDoubleClick:l,onNodeMouseEnter:d,onNodeMouseMove:f,onNodeMouseLeave:p,onNodeContextMenu:g,selectNodesOnDrag:A,onlyRenderVisibleElements:G,noPanClassName:Mr,noDragClassName:mt,disableKeyboardA11y:pi,nodeOrigin:wn,nodeExtent:on,rfId:qn})]})}));BB.displayName="GraphView";var Eye=L.memo(BB);const K3=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],il={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:K3,nodeExtent:K3,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:sc.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:eme,isValidConnection:void 0},Aye=()=>ffe((e,t)=>({...il,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:Sx(n,r,i,o)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:r={}}=t();e({edges:n.map(i=>({...r,...i}))})},setDefaultNodesAndEdges:(n,r)=>{const i=typeof n<"u",o=typeof r<"u",s=i?Sx(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:s,edges:o?r:[],hasDefaultNodes:i,hasDefaultEdges:o})},updateNodeDimensions:n=>{const{onNodesChange:r,nodeInternals:i,fitViewOnInit:o,fitViewOnInitDone:s,fitViewOnInitOptions:a,domNode:l,nodeOrigin:u}=t(),d=l==null?void 0:l.querySelector(".react-flow__viewport");if(!d)return;const f=window.getComputedStyle(d),{m22:p}=new window.DOMMatrixReadOnly(f.transform),g=n.reduce((v,x)=>{const _=i.get(x.id);if(_){const b=qT(x.nodeElement);!!(b.width&&b.height&&(_.width!==b.width||_.height!==b.height||x.forceUpdate))&&(i.set(_.id,{..._,[nr]:{..._[nr],handleBounds:{source:KR(".source",x.nodeElement,p,u),target:KR(".target",x.nodeElement,p,u)}},...b}),v.push({id:_.id,type:"dimensions",dimensions:b}))}return v},[]);PB(i,u);const m=s||o&&!s&&RB(t,{initial:!0,...a});e({nodeInternals:new Map(i),fitViewOnInitDone:m}),(g==null?void 0:g.length)>0&&(r==null||r(g))},updateNodePositions:(n,r=!0,i=!1)=>{const{triggerNodeChanges:o}=t(),s=n.map(a=>{const l={id:a.id,type:"position",dragging:i};return r&&(l.positionAbsolute=a.positionAbsolute,l.position=a.position),l});o(s)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:i,hasDefaultNodes:o,nodeOrigin:s,getNodes:a,elevateNodesOnSelect:l}=t();if(n!=null&&n.length){if(o){const u=IB(n,a()),d=Sx(u,i,s,l);e({nodeInternals:d})}r==null||r(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>dl(l,!0)):(s=Ld(o(),n),a=Ld(i,[])),P0({changedNodes:s,changedEdges:a,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let s,a=null;r?s=n.map(l=>dl(l,!0)):(s=Ld(i,n),a=Ld(o(),[])),P0({changedNodes:a,changedEdges:s,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:i,getNodes:o}=t(),s=n||o(),a=r||i,l=s.map(d=>(d.selected=!1,dl(d.id,!1))),u=a.map(d=>dl(d.id,!1));P0({changedNodes:l,changedEdges:u,get:t,set:e})},setMinZoom:n=>{const{d3Zoom:r,maxZoom:i}=t();r==null||r.scaleExtent([n,i]),e({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:r,minZoom:i}=t();r==null||r.scaleExtent([i,n]),e({maxZoom:n})},setTranslateExtent:n=>{var r;(r=t().d3Zoom)==null||r.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:r}=t(),o=r().filter(a=>a.selected).map(a=>dl(a.id,!1)),s=n.filter(a=>a.selected).map(a=>dl(a.id,!1));P0({changedNodes:o,changedEdges:s,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(i=>{i.positionAbsolute=KT(i.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:n=>{const{transform:r,width:i,height:o,d3Zoom:s,d3Selection:a,translateExtent:l}=t();if(!s||!a||!n.x&&!n.y)return!1;const u=Il.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),d=[[0,0],[i,o]],f=s==null?void 0:s.constrain()(u,d,l);return s.transform(a,f),r[0]!==f.x||r[1]!==f.y||r[2]!==f.k},cancelConnection:()=>e({connectionNodeId:il.connectionNodeId,connectionHandleId:il.connectionHandleId,connectionHandleType:il.connectionHandleType,connectionStatus:il.connectionStatus,connectionStartHandle:il.connectionStartHandle,connectionEndHandle:il.connectionEndHandle}),reset:()=>e({...il})})),UB=({children:e})=>{const t=L.useRef(null);return t.current||(t.current=Aye()),ue.jsx(qge,{value:t.current,children:e})};UB.displayName="ReactFlowProvider";const zB=({children:e})=>L.useContext(Ib)?ue.jsx(ue.Fragment,{children:e}):ue.jsx(UB,{children:e});zB.displayName="ReactFlowWrapper";function eO(e,t){return L.useRef(null),L.useMemo(()=>t(e),[e])}const Pye={input:yB,default:W3,output:_B,group:eE},Rye={default:U1,straight:QT,step:YT,smoothstep:Mb,simplebezier:XT},Oye=[0,0],kye=[15,15],Iye={x:0,y:0,zoom:1},Mye={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},Nye=L.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=Pye,edgeTypes:s=Rye,onNodeClick:a,onEdgeClick:l,onInit:u,onMove:d,onMoveStart:f,onMoveEnd:p,onConnect:g,onConnectStart:m,onConnectEnd:v,onClickConnectStart:x,onClickConnectEnd:_,onNodeMouseEnter:b,onNodeMouseMove:y,onNodeMouseLeave:S,onNodeContextMenu:C,onNodeDoubleClick:T,onNodeDragStart:E,onNodeDrag:P,onNodeDragStop:k,onNodesDelete:O,onEdgesDelete:M,onSelectionChange:G,onSelectionDragStart:U,onSelectionDrag:A,onSelectionDragStop:N,onSelectionContextMenu:F,onSelectionStart:B,onSelectionEnd:D,connectionMode:V=sc.Strict,connectionLineType:j=yl.Bezier,connectionLineStyle:q,connectionLineComponent:Z,connectionLineContainerStyle:ee,deleteKeyCode:ie="Backspace",selectionKeyCode:se="Shift",selectionOnDrag:le=!1,selectionMode:W=Og.Full,panActivationKeyCode:ne="Space",multiSelectionKeyCode:fe="Meta",zoomActivationKeyCode:pe="Meta",snapToGrid:ve=!1,snapGrid:ye=kye,onlyRenderVisibleElements:We=!1,selectNodesOnDrag:Me=!0,nodesDraggable:Ee,nodesConnectable:lt,nodesFocusable:_e,nodeOrigin:jt=Oye,edgesFocusable:Wn,edgesUpdatable:Bt,elementsSelectable:it,defaultViewport:mt=Iye,minZoom:Jt=.5,maxZoom:Mr=2,translateExtent:yr=K3,preventScrolling:pi=!0,nodeExtent:wn,defaultMarkerColor:on="#b1b1b7",zoomOnScroll:qn=!0,zoomOnPinch:sn=!0,panOnScroll:Gt=!1,panOnScrollSpeed:vr=.5,panOnScrollMode:Nr=nf.Free,zoomOnDoubleClick:Xr=!0,panOnDrag:Ii=!0,onPaneClick:An,onPaneMouseEnter:Yr,onPaneMouseMove:Vs,onPaneMouseLeave:Ji,onPaneScroll:js,onPaneContextMenu:Xt,children:kt,onEdgeUpdate:Kn,onEdgeContextMenu:$n,onEdgeDoubleClick:or,onEdgeMouseEnter:_r,onEdgeMouseMove:br,onEdgeMouseLeave:eo,onEdgeUpdateStart:Sr,onEdgeUpdateEnd:Xn,edgeUpdaterRadius:Mi=10,onNodesChange:os,onEdgesChange:to,noDragClassName:Va="nodrag",noWheelClassName:Ao="nowheel",noPanClassName:wr="nopan",fitView:Gs=!1,fitViewOptions:Zf,connectOnClick:Jf=!0,attributionPosition:eh,proOptions:th,defaultEdgeOptions:Po,elevateNodesOnSelect:nh=!0,elevateEdgesOnSelect:rh=!1,disableKeyboardA11y:kc=!1,autoPanOnConnect:ih=!0,autoPanOnNodeDrag:oh=!0,connectionRadius:sh=20,isValidConnection:ss,onError:ah,style:Ro,id:ja,...lh},Ga)=>{const cu=eO(o,Fme),Ic=eO(s,Ime),Ha=ja||"1";return ue.jsx("div",{...lh,style:{...Ro,...Mye},ref:Ga,className:Eo(["react-flow",i]),"data-testid":"rf__wrapper",id:ja,children:ue.jsxs(zB,{children:[ue.jsx(Eye,{onInit:u,onMove:d,onMoveStart:f,onMoveEnd:p,onNodeClick:a,onEdgeClick:l,onNodeMouseEnter:b,onNodeMouseMove:y,onNodeMouseLeave:S,onNodeContextMenu:C,onNodeDoubleClick:T,nodeTypes:cu,edgeTypes:Ic,connectionLineType:j,connectionLineStyle:q,connectionLineComponent:Z,connectionLineContainerStyle:ee,selectionKeyCode:se,selectionOnDrag:le,selectionMode:W,deleteKeyCode:ie,multiSelectionKeyCode:fe,panActivationKeyCode:ne,zoomActivationKeyCode:pe,onlyRenderVisibleElements:We,selectNodesOnDrag:Me,defaultViewport:mt,translateExtent:yr,minZoom:Jt,maxZoom:Mr,preventScrolling:pi,zoomOnScroll:qn,zoomOnPinch:sn,zoomOnDoubleClick:Xr,panOnScroll:Gt,panOnScrollSpeed:vr,panOnScrollMode:Nr,panOnDrag:Ii,onPaneClick:An,onPaneMouseEnter:Yr,onPaneMouseMove:Vs,onPaneMouseLeave:Ji,onPaneScroll:js,onPaneContextMenu:Xt,onSelectionContextMenu:F,onSelectionStart:B,onSelectionEnd:D,onEdgeUpdate:Kn,onEdgeContextMenu:$n,onEdgeDoubleClick:or,onEdgeMouseEnter:_r,onEdgeMouseMove:br,onEdgeMouseLeave:eo,onEdgeUpdateStart:Sr,onEdgeUpdateEnd:Xn,edgeUpdaterRadius:Mi,defaultMarkerColor:on,noDragClassName:Va,noWheelClassName:Ao,noPanClassName:wr,elevateEdgesOnSelect:rh,rfId:Ha,disableKeyboardA11y:kc,nodeOrigin:jt,nodeExtent:wn}),ue.jsx(xme,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:g,onConnectStart:m,onConnectEnd:v,onClickConnectStart:x,onClickConnectEnd:_,nodesDraggable:Ee,nodesConnectable:lt,nodesFocusable:_e,edgesFocusable:Wn,edgesUpdatable:Bt,elementsSelectable:it,elevateNodesOnSelect:nh,minZoom:Jt,maxZoom:Mr,nodeExtent:wn,onNodesChange:os,onEdgesChange:to,snapToGrid:ve,snapGrid:ye,connectionMode:V,translateExtent:yr,connectOnClick:Jf,defaultEdgeOptions:Po,fitView:Gs,fitViewOptions:Zf,onNodesDelete:O,onEdgesDelete:M,onNodeDragStart:E,onNodeDrag:P,onNodeDragStop:k,onSelectionDrag:A,onSelectionDragStart:U,onSelectionDragStop:N,noPanClassName:wr,nodeOrigin:jt,rfId:Ha,autoPanOnConnect:ih,autoPanOnNodeDrag:oh,onError:ah,connectionRadius:sh,isValidConnection:ss}),ue.jsx(Sme,{onSelectionChange:G}),kt,ue.jsx(Yge,{proOptions:th,position:eh}),ue.jsx(Pme,{rfId:Ha,disableKeyboardA11y:kc})]})})});Nye.displayName="ReactFlow";var VB={},Nb={},Lb={};Object.defineProperty(Lb,"__esModule",{value:!0});Lb.createLogMethods=void 0;var Lye=function(){return{debug:console.debug.bind(console),error:console.error.bind(console),fatal:console.error.bind(console),info:console.info.bind(console),trace:console.debug.bind(console),warn:console.warn.bind(console)}};Lb.createLogMethods=Lye;var nE={},Db={};Object.defineProperty(Db,"__esModule",{value:!0});Db.boolean=void 0;const Dye=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1"].includes(e.trim().toLowerCase());case"[object Number]":return e.valueOf()===1;case"[object Boolean]":return e.valueOf();default:return!1}};Db.boolean=Dye;var $b={};Object.defineProperty($b,"__esModule",{value:!0});$b.isBooleanable=void 0;const $ye=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1","false","f","no","n","off","0"].includes(e.trim().toLowerCase());case"[object Number]":return[0,1].includes(e.valueOf());case"[object Boolean]":return!0;default:return!1}};$b.isBooleanable=$ye;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isBooleanable=e.boolean=void 0;const t=Db;Object.defineProperty(e,"boolean",{enumerable:!0,get:function(){return t.boolean}});const n=$b;Object.defineProperty(e,"isBooleanable",{enumerable:!0,get:function(){return n.isBooleanable}})})(nE);var tO=Object.prototype.toString,jB=function(t){var n=tO.call(t),r=n==="[object Arguments]";return r||(r=n!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&tO.call(t.callee)==="[object Function]"),r},Cx,nO;function Fye(){if(nO)return Cx;nO=1;var e;if(!Object.keys){var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=jB,i=Object.prototype.propertyIsEnumerable,o=!i.call({toString:null},"toString"),s=i.call(function(){},"prototype"),a=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],l=function(p){var g=p.constructor;return g&&g.prototype===p},u={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},d=function(){if(typeof window>"u")return!1;for(var p in window)try{if(!u["$"+p]&&t.call(window,p)&&window[p]!==null&&typeof window[p]=="object")try{l(window[p])}catch{return!0}}catch{return!0}return!1}(),f=function(p){if(typeof window>"u"||!d)return l(p);try{return l(p)}catch{return!1}};e=function(g){var m=g!==null&&typeof g=="object",v=n.call(g)==="[object Function]",x=r(g),_=m&&n.call(g)==="[object String]",b=[];if(!m&&!v&&!x)throw new TypeError("Object.keys called on a non-object");var y=s&&v;if(_&&g.length>0&&!t.call(g,0))for(var S=0;S0)for(var C=0;C"u"||!ur?dt:ur(Uint8Array),qu={"%AggregateError%":typeof AggregateError>"u"?dt:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?dt:ArrayBuffer,"%ArrayIteratorPrototype%":ad&&ur?ur([][Symbol.iterator]()):dt,"%AsyncFromSyncIteratorPrototype%":dt,"%AsyncFunction%":bd,"%AsyncGenerator%":bd,"%AsyncGeneratorFunction%":bd,"%AsyncIteratorPrototype%":bd,"%Atomics%":typeof Atomics>"u"?dt:Atomics,"%BigInt%":typeof BigInt>"u"?dt:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?dt:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?dt:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?dt:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?dt:Float32Array,"%Float64Array%":typeof Float64Array>"u"?dt:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?dt:FinalizationRegistry,"%Function%":HB,"%GeneratorFunction%":bd,"%Int8Array%":typeof Int8Array>"u"?dt:Int8Array,"%Int16Array%":typeof Int16Array>"u"?dt:Int16Array,"%Int32Array%":typeof Int32Array>"u"?dt:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":ad&&ur?ur(ur([][Symbol.iterator]())):dt,"%JSON%":typeof JSON=="object"?JSON:dt,"%Map%":typeof Map>"u"?dt:Map,"%MapIteratorPrototype%":typeof Map>"u"||!ad||!ur?dt:ur(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?dt:Promise,"%Proxy%":typeof Proxy>"u"?dt:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?dt:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?dt:Set,"%SetIteratorPrototype%":typeof Set>"u"||!ad||!ur?dt:ur(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?dt:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":ad&&ur?ur(""[Symbol.iterator]()):dt,"%Symbol%":ad?Symbol:dt,"%SyntaxError%":Pf,"%ThrowTypeError%":e0e,"%TypedArray%":n0e,"%TypeError%":sf,"%Uint8Array%":typeof Uint8Array>"u"?dt:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?dt:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?dt:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?dt:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?dt:WeakMap,"%WeakRef%":typeof WeakRef>"u"?dt:WeakRef,"%WeakSet%":typeof WeakSet>"u"?dt:WeakSet};if(ur)try{null.error}catch(e){var r0e=ur(ur(e));qu["%Error.prototype%"]=r0e}var i0e=function e(t){var n;if(t==="%AsyncFunction%")n=Ex("async function () {}");else if(t==="%GeneratorFunction%")n=Ex("function* () {}");else if(t==="%AsyncGeneratorFunction%")n=Ex("async function* () {}");else if(t==="%AsyncGenerator%"){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if(t==="%AsyncIteratorPrototype%"){var i=e("%AsyncGenerator%");i&&ur&&(n=ur(i.prototype))}return qu[t]=n,n},aO={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},bm=GB,V1=Jye,o0e=bm.call(Function.call,Array.prototype.concat),s0e=bm.call(Function.apply,Array.prototype.splice),lO=bm.call(Function.call,String.prototype.replace),j1=bm.call(Function.call,String.prototype.slice),a0e=bm.call(Function.call,RegExp.prototype.exec),l0e=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,u0e=/\\(\\)?/g,c0e=function(t){var n=j1(t,0,1),r=j1(t,-1);if(n==="%"&&r!=="%")throw new Pf("invalid intrinsic syntax, expected closing `%`");if(r==="%"&&n!=="%")throw new Pf("invalid intrinsic syntax, expected opening `%`");var i=[];return lO(t,l0e,function(o,s,a,l){i[i.length]=a?lO(l,u0e,"$1"):s||o}),i},d0e=function(t,n){var r=t,i;if(V1(aO,r)&&(i=aO[r],r="%"+i[0]+"%"),V1(qu,r)){var o=qu[r];if(o===bd&&(o=i0e(r)),typeof o>"u"&&!n)throw new sf("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:r,value:o}}throw new Pf("intrinsic "+t+" does not exist!")},f0e=function(t,n){if(typeof t!="string"||t.length===0)throw new sf("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof n!="boolean")throw new sf('"allowMissing" argument must be a boolean');if(a0e(/^%?[^%]*%?$/,t)===null)throw new Pf("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=c0e(t),i=r.length>0?r[0]:"",o=d0e("%"+i+"%",n),s=o.name,a=o.value,l=!1,u=o.alias;u&&(i=u[0],s0e(r,o0e([0,1],u)));for(var d=1,f=!0;d=r.length){var v=Wu(a,p);f=!!v,f&&"get"in v&&!("originalValue"in v.get)?a=v.get:a=a[p]}else f=V1(a,p),a=a[p];f&&!l&&(qu[s]=a)}}return a},h0e=f0e,X3=h0e("%Object.defineProperty%",!0),Y3=function(){if(X3)try{return X3({},"a",{value:1}),!0}catch{return!1}return!1};Y3.hasArrayLengthDefineBug=function(){if(!Y3())return null;try{return X3([],"length",{value:1}).length!==1}catch{return!0}};var p0e=Y3,g0e=zye,m0e=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",y0e=Object.prototype.toString,v0e=Array.prototype.concat,WB=Object.defineProperty,_0e=function(e){return typeof e=="function"&&y0e.call(e)==="[object Function]"},b0e=p0e(),qB=WB&&b0e,S0e=function(e,t,n,r){if(t in e){if(r===!0){if(e[t]===n)return}else if(!_0e(r)||!r())return}qB?WB(e,t,{configurable:!0,enumerable:!1,value:n,writable:!0}):e[t]=n},KB=function(e,t){var n=arguments.length>2?arguments[2]:{},r=g0e(t);m0e&&(r=v0e.call(r,Object.getOwnPropertySymbols(t)));for(var i=0;i":return t>e;case":<":return t=":return t>=e;case":<=":return t<=e;default:throw new Error("Unimplemented comparison operator: ".concat(n))}};zb.testComparisonRange=V0e;var Vb={};Object.defineProperty(Vb,"__esModule",{value:!0});Vb.testRange=void 0;var j0e=function(e,t){return typeof e=="number"?!(et.max||e===t.max&&!t.maxInclusive):!1};Vb.testRange=j0e;(function(e){var t=He&&He.__assign||function(){return t=Object.assign||function(d){for(var f,p=1,g=arguments.length;p0?{path:l.path,query:new RegExp("("+l.keywords.map(function(u){return(0,W0e.escapeRegexString)(u.trim())}).join("|")+")")}:{path:l.path}})};jb.highlight=K0e;var Gb={},tU={exports:{}};(function(e){(function(t,n){e.exports?e.exports=n():t.nearley=n()})(He,function(){function t(u,d,f){return this.id=++t.highestId,this.name=u,this.symbols=d,this.postprocess=f,this}t.highestId=0,t.prototype.toString=function(u){var d=typeof u>"u"?this.symbols.map(l).join(" "):this.symbols.slice(0,u).map(l).join(" ")+" ● "+this.symbols.slice(u).map(l).join(" ");return this.name+" → "+d};function n(u,d,f,p){this.rule=u,this.dot=d,this.reference=f,this.data=[],this.wantedBy=p,this.isComplete=this.dot===u.symbols.length}n.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},n.prototype.nextState=function(u){var d=new n(this.rule,this.dot+1,this.reference,this.wantedBy);return d.left=this,d.right=u,d.isComplete&&(d.data=d.build(),d.right=void 0),d},n.prototype.build=function(){var u=[],d=this;do u.push(d.right.data),d=d.left;while(d.left);return u.reverse(),u},n.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))};function r(u,d){this.grammar=u,this.index=d,this.states=[],this.wants={},this.scannable=[],this.completed={}}r.prototype.process=function(u){for(var d=this.states,f=this.wants,p=this.completed,g=0;g0&&d.push(" ^ "+p+" more lines identical to this"),p=0,d.push(" "+v)),f=v}},s.prototype.getSymbolDisplay=function(u){return a(u)},s.prototype.buildFirstStateStack=function(u,d){if(d.indexOf(u)!==-1)return null;if(u.wantedBy.length===0)return[u];var f=u.wantedBy[0],p=[u].concat(d),g=this.buildFirstStateStack(f,p);return g===null?null:[u].concat(g)},s.prototype.save=function(){var u=this.table[this.current];return u.lexerState=this.lexerState,u},s.prototype.restore=function(u){var d=u.index;this.current=d,this.table[d]=u,this.table.splice(d+1),this.lexerState=u.lexerState,this.results=this.finish()},s.prototype.rewind=function(u){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[u])},s.prototype.finish=function(){var u=[],d=this.grammar.start,f=this.table[this.table.length-1];return f.states.forEach(function(p){p.rule.name===d&&p.dot===p.rule.symbols.length&&p.reference===0&&p.data!==s.fail&&u.push(p)}),u.map(function(p){return p.data})};function a(u){var d=typeof u;if(d==="string")return u;if(d==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return"character matching "+u;if(u.type)return u.type+" token";if(u.test)return"token matching "+String(u.test);throw new Error("Unknown symbol type: "+u)}}function l(u){var d=typeof u;if(d==="string")return u;if(d==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return u.toString();if(u.type)return"%"+u.type;if(u.test)return"<"+String(u.test)+">";throw new Error("Unknown symbol type: "+u)}}return{Parser:s,Grammar:i,Rule:t}})})(tU);var K0e=tU.exports,ac={},nU={},ru={};ru.__esModule=void 0;ru.__esModule=!0;var X0e=typeof Object.setPrototypeOf=="function",Y0e=typeof Object.getPrototypeOf=="function",Q0e=typeof Object.defineProperty=="function",Z0e=typeof Object.create=="function",J0e=typeof Object.prototype.hasOwnProperty=="function",eve=function(t,n){X0e?Object.setPrototypeOf(t,n):t.__proto__=n};ru.setPrototypeOf=eve;var tve=function(t){return Y0e?Object.getPrototypeOf(t):t.__proto__||t.prototype};ru.getPrototypeOf=tve;var uO=!1,nve=function e(t,n,r){if(Q0e&&!uO)try{Object.defineProperty(t,n,r)}catch{uO=!0,e(t,n,r)}else t[n]=r.value};ru.defineProperty=nve;var rU=function(t,n){return J0e?t.hasOwnProperty(t,n):t[n]===void 0};ru.hasOwnProperty=rU;var rve=function(t,n){if(Z0e)return Object.create(t,n);var r=function(){};r.prototype=t;var i=new r;if(typeof n>"u")return i;if(typeof n=="null")throw new Error("PropertyDescriptors must not be null.");if(typeof n=="object")for(var o in n)rU(n,o)&&(i[o]=n[o].value);return i};ru.objectCreate=rve;(function(e){e.__esModule=void 0,e.__esModule=!0;var t=ru,n=t.setPrototypeOf,r=t.getPrototypeOf,i=t.defineProperty,o=t.objectCreate,s=new Error().toString()==="[object Error]",a="";function l(u){var d=this.constructor,f=d.name||function(){var x=d.toString().match(/^function\s*([^\s(]+)/);return x===null?a||"Error":x[1]}(),p=f==="Error",g=p?a:f,m=Error.apply(this,arguments);if(n(m,r(this)),!(m instanceof d)||!(m instanceof l)){var m=this;Error.apply(this,arguments),i(m,"message",{configurable:!0,enumerable:!1,value:u,writable:!0})}if(i(m,"name",{configurable:!0,enumerable:!1,value:g,writable:!0}),Error.captureStackTrace&&Error.captureStackTrace(m,p?l:d),m.stack===void 0){var v=new Error(u);v.name=m.name,m.stack=v.stack}return s&&i(m,"toString",{configurable:!0,enumerable:!1,value:function(){return(this.name||"Error")+(typeof this.message>"u"?"":": "+this.message)},writable:!0}),m}a=l.name||"ExtendableError",l.prototype=o(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),e.ExtendableError=l,e.default=e.ExtendableError})(nU);var iU=He&&He.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(r[o]=i[o])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(ac,"__esModule",{value:!0});ac.SyntaxError=ac.LiqeError=void 0;var ive=nU,oU=function(e){iU(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(ive.ExtendableError);ac.LiqeError=oU;var ove=function(e){iU(t,e);function t(n,r,i,o){var s=e.call(this,n)||this;return s.message=n,s.offset=r,s.line=i,s.column=o,s}return t}(oU);ac.SyntaxError=ove;var oE={},G1=He&&He.__assign||function(){return G1=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$2"]},{name:"comparison_operator$subexpression$1$string$3",symbols:[{literal:":"},{literal:"<"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$3"]},{name:"comparison_operator$subexpression$1$string$4",symbols:[{literal:":"},{literal:">"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$4"]},{name:"comparison_operator$subexpression$1$string$5",symbols:[{literal:":"},{literal:"<"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$5"]},{name:"comparison_operator",symbols:["comparison_operator$subexpression$1"],postprocess:function(e,t){return{location:{start:t,end:t+e[0][0].length},type:"ComparisonOperator",operator:e[0][0]}}},{name:"regex",symbols:["regex_body","regex_flags"],postprocess:function(e){return e.join("")}},{name:"regex_body$ebnf$1",symbols:[]},{name:"regex_body$ebnf$1",symbols:["regex_body$ebnf$1","regex_body_char"],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_body",symbols:[{literal:"/"},"regex_body$ebnf$1",{literal:"/"}],postprocess:function(e){return"/"+e[1].join("")+"/"}},{name:"regex_body_char",symbols:[/[^\\]/],postprocess:na},{name:"regex_body_char",symbols:[{literal:"\\"},/[^\\]/],postprocess:function(e){return"\\"+e[1]}},{name:"regex_flags",symbols:[]},{name:"regex_flags$ebnf$1",symbols:[/[gmiyusd]/]},{name:"regex_flags$ebnf$1",symbols:["regex_flags$ebnf$1",/[gmiyusd]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_flags",symbols:["regex_flags$ebnf$1"],postprocess:function(e){return e[0].join("")}},{name:"unquoted_value$ebnf$1",symbols:[]},{name:"unquoted_value$ebnf$1",symbols:["unquoted_value$ebnf$1",/[a-zA-Z\.\-_*@#$]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"unquoted_value",symbols:[/[a-zA-Z_*@#$]/,"unquoted_value$ebnf$1"],postprocess:function(e){return e[0]+e[1].join("")}}],ParserStart:"main"};oE.default=sve;var sU={},Hb={},xm={};Object.defineProperty(xm,"__esModule",{value:!0});xm.isSafePath=void 0;var ave=/^(\.(?:[_a-zA-Z][a-zA-Z\d_]*|\0|[1-9]\d*))+$/u,lve=function(e){return ave.test(e)};xm.isSafePath=lve;Object.defineProperty(Hb,"__esModule",{value:!0});Hb.createGetValueFunctionBody=void 0;var uve=xm,cve=function(e){if(!(0,uve.isSafePath)(e))throw new Error("Unsafe path.");var t="return subject"+e;return t.replace(/(\.(\d+))/g,".[$2]").replace(/\./g,"?.")};Hb.createGetValueFunctionBody=cve;(function(e){var t=He&&He.__assign||function(){return t=Object.assign||function(o){for(var s,a=1,l=arguments.length;a\d+) col (?\d+)/,mve=function(e){if(e.trim()==="")return{location:{end:0,start:0},type:"EmptyExpression"};var t=new lU.default.Parser(pve),n;try{n=t.feed(e).results}catch(o){if(typeof(o==null?void 0:o.message)=="string"&&typeof(o==null?void 0:o.offset)=="number"){var r=o.message.match(gve);throw r?new dve.SyntaxError("Syntax error at line ".concat(r.groups.line," column ").concat(r.groups.column),o.offset,Number(r.groups.line),Number(r.groups.column)):o}throw o}if(n.length===0)throw new Error("Found no parsings.");if(n.length>1)throw new Error("Ambiguous results.");var i=(0,hve.hydrateAst)(n[0]);return i};Gb.parse=mve;var Wb={};Object.defineProperty(Wb,"__esModule",{value:!0});Wb.test=void 0;var yve=Sm,vve=function(e,t){return(0,yve.filter)(e,[t]).length===1};Wb.test=vve;var uU={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.serialize=void 0;var t=function(o,s){return s==="double"?'"'.concat(o,'"'):s==="single"?"'".concat(o,"'"):o},n=function(o){if(o.type==="LiteralExpression")return o.quoted&&typeof o.value=="string"?t(o.value,o.quotes):String(o.value);if(o.type==="RegexExpression")return String(o.value);if(o.type==="RangeExpression"){var s=o.range,a=s.min,l=s.max,u=s.minInclusive,d=s.maxInclusive;return"".concat(u?"[":"{").concat(a," TO ").concat(l).concat(d?"]":"}")}if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")},r=function(o){if(o.type!=="Tag")throw new Error("Expected a tag expression.");var s=o.field,a=o.expression,l=o.operator;if(s.type==="ImplicitField")return n(a);var u=s.quoted?t(s.name,s.quotes):s.name,d=" ".repeat(a.location.start-l.location.end);return u+l.operator+d+n(a)},i=function(o){if(o.type==="ParenthesizedExpression"){if(!("location"in o.expression))throw new Error("Expected location in expression.");if(!o.location.end)throw new Error("Expected location end.");var s=" ".repeat(o.expression.location.start-(o.location.start+1)),a=" ".repeat(o.location.end-o.expression.location.end-1);return"(".concat(s).concat((0,e.serialize)(o.expression)).concat(a,")")}if(o.type==="Tag")return r(o);if(o.type==="LogicalExpression"){var l="";return o.operator.type==="BooleanOperator"?(l+=" ".repeat(o.operator.location.start-o.left.location.end),l+=o.operator.operator,l+=" ".repeat(o.right.location.start-o.operator.location.end)):l=" ".repeat(o.right.location.start-o.left.location.end),"".concat((0,e.serialize)(o.left)).concat(l).concat((0,e.serialize)(o.right))}if(o.type==="UnaryOperator")return(o.operator==="NOT"?"NOT ":o.operator)+(0,e.serialize)(o.operand);if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")};e.serialize=i})(uU);var qb={};Object.defineProperty(qb,"__esModule",{value:!0});qb.isSafeUnquotedExpression=void 0;var _ve=function(e){return/^[#$*@A-Z_a-z][#$*.@A-Z_a-z-]*$/.test(e)};qb.isSafeUnquotedExpression=_ve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isSafeUnquotedExpression=e.serialize=e.SyntaxError=e.LiqeError=e.test=e.parse=e.highlight=e.filter=void 0;var t=Sm;Object.defineProperty(e,"filter",{enumerable:!0,get:function(){return t.filter}});var n=jb;Object.defineProperty(e,"highlight",{enumerable:!0,get:function(){return n.highlight}});var r=Gb;Object.defineProperty(e,"parse",{enumerable:!0,get:function(){return r.parse}});var i=Wb;Object.defineProperty(e,"test",{enumerable:!0,get:function(){return i.test}});var o=ac;Object.defineProperty(e,"LiqeError",{enumerable:!0,get:function(){return o.LiqeError}}),Object.defineProperty(e,"SyntaxError",{enumerable:!0,get:function(){return o.SyntaxError}});var s=uU;Object.defineProperty(e,"serialize",{enumerable:!0,get:function(){return s.serialize}});var a=qb;Object.defineProperty(e,"isSafeUnquotedExpression",{enumerable:!0,get:function(){return a.isSafeUnquotedExpression}})})(eU);var Cm={},cU={},lc={};Object.defineProperty(lc,"__esModule",{value:!0});lc.ROARR_LOG_FORMAT_VERSION=lc.ROARR_VERSION=void 0;lc.ROARR_VERSION="5.0.0";lc.ROARR_LOG_FORMAT_VERSION="2.0.0";var Tm={};Object.defineProperty(Tm,"__esModule",{value:!0});Tm.logLevels=void 0;Tm.logLevels={debug:20,error:50,fatal:60,info:30,trace:10,warn:40};var dU={},Kb={};Object.defineProperty(Kb,"__esModule",{value:!0});Kb.hasOwnProperty=void 0;const bve=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);Kb.hasOwnProperty=bve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.hasOwnProperty=void 0;var t=Kb;Object.defineProperty(e,"hasOwnProperty",{enumerable:!0,get:function(){return t.hasOwnProperty}})})(dU);var fU={},Xb={},Yb={};Object.defineProperty(Yb,"__esModule",{value:!0});Yb.tokenize=void 0;const Sve=/(?:%(?([+0-]|-\+))?(?\d+)?(?\d+\$)?(?\.\d+)?(?[%BCESb-iosux]))|(\\%)/g,wve=e=>{let t;const n=[];let r=0,i=0,o=null;for(;(t=Sve.exec(e))!==null;){t.index>i&&(o={literal:e.slice(i,t.index),type:"literal"},n.push(o));const s=t[0];i=t.index+s.length,s==="\\%"||s==="%%"?o&&o.type==="literal"?o.literal+="%":(o={literal:"%",type:"literal"},n.push(o)):t.groups&&(o={conversion:t.groups.conversion,flag:t.groups.flag||null,placeholder:s,position:t.groups.position?Number.parseInt(t.groups.position,10)-1:r++,precision:t.groups.precision?Number.parseInt(t.groups.precision.slice(1),10):null,type:"placeholder",width:t.groups.width?Number.parseInt(t.groups.width,10):null},n.push(o))}return i<=e.length-1&&(o&&o.type==="literal"?o.literal+=e.slice(i):n.push({literal:e.slice(i),type:"literal"})),n};Yb.tokenize=wve;Object.defineProperty(Xb,"__esModule",{value:!0});Xb.createPrintf=void 0;const cO=nE,xve=Yb,Cve=(e,t)=>t.placeholder,Tve=e=>{var t;const n=(o,s,a)=>a==="-"?o.padEnd(s," "):a==="-+"?((Number(o)>=0?"+":"")+o).padEnd(s," "):a==="+"?((Number(o)>=0?"+":"")+o).padStart(s," "):a==="0"?o.padStart(s,"0"):o.padStart(s," "),r=(t=e==null?void 0:e.formatUnboundExpression)!==null&&t!==void 0?t:Cve,i={};return(o,...s)=>{let a=i[o];a||(a=i[o]=xve.tokenize(o));let l="";for(const u of a)if(u.type==="literal")l+=u.literal;else{let d=s[u.position];if(d===void 0)l+=r(o,u,s);else if(u.conversion==="b")l+=cO.boolean(d)?"true":"false";else if(u.conversion==="B")l+=cO.boolean(d)?"TRUE":"FALSE";else if(u.conversion==="c")l+=d;else if(u.conversion==="C")l+=String(d).toUpperCase();else if(u.conversion==="i"||u.conversion==="d")d=String(Math.trunc(d)),u.width!==null&&(d=n(d,u.width,u.flag)),l+=d;else if(u.conversion==="e")l+=Number(d).toExponential();else if(u.conversion==="E")l+=Number(d).toExponential().toUpperCase();else if(u.conversion==="f")u.precision!==null&&(d=Number(d).toFixed(u.precision)),u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else if(u.conversion==="o")l+=(Number.parseInt(String(d),10)>>>0).toString(8);else if(u.conversion==="s")u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else if(u.conversion==="S")u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=String(d).toUpperCase();else if(u.conversion==="u")l+=Number.parseInt(String(d),10)>>>0;else if(u.conversion==="x")d=(Number.parseInt(String(d),10)>>>0).toString(16),u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else throw new Error("Unknown format specifier.")}return l}};Xb.createPrintf=Tve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.printf=e.createPrintf=void 0;const t=Xb;Object.defineProperty(e,"createPrintf",{enumerable:!0,get:function(){return t.createPrintf}}),e.printf=t.createPrintf()})(fU);var Q3={exports:{}};(function(e,t){const{hasOwnProperty:n}=Object.prototype,r=x();r.configure=x,r.stringify=r,r.default=r,t.stringify=r,t.configure=x,e.exports=r;const i=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?:[^\ud800-\udbff]|^)[\udc00-\udfff]/;function o(_){return _.length<5e3&&!i.test(_)?`"${_}"`:JSON.stringify(_)}function s(_){if(_.length>200)return _.sort();for(let b=1;b<_.length;b++){const y=_[b];let S=b;for(;S!==0&&_[S-1]>y;)_[S]=_[S-1],S--;_[S]=y}return _}const a=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function l(_){return a.call(_)!==void 0&&_.length!==0}function u(_,b,y){_.length= 1`)}return y===void 0?1/0:y}function g(_){return _===1?"1 item":`${_} items`}function m(_){const b=new Set;for(const y of _)(typeof y=="string"||typeof y=="number")&&b.add(String(y));return b}function v(_){if(n.call(_,"strict")){const b=_.strict;if(typeof b!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(b)return y=>{let S=`Object can not safely be stringified. Received type ${typeof y}`;throw typeof y!="function"&&(S+=` (${y.toString()})`),new Error(S)}}}function x(_){_={..._};const b=v(_);b&&(_.bigint===void 0&&(_.bigint=!1),"circularValue"in _||(_.circularValue=Error));const y=d(_),S=f(_,"bigint"),C=f(_,"deterministic"),T=p(_,"maximumDepth"),E=p(_,"maximumBreadth");function P(U,A,N,F,B,D){let V=A[U];switch(typeof V=="object"&&V!==null&&typeof V.toJSON=="function"&&(V=V.toJSON(U)),V=F.call(A,U,V),typeof V){case"string":return o(V);case"object":{if(V===null)return"null";if(N.indexOf(V)!==-1)return y;let j="",q=",";const Z=D;if(Array.isArray(V)){if(V.length===0)return"[]";if(T0&&d.push(" ^ "+p+" more lines identical to this"),p=0,d.push(" "+v)),f=v}},s.prototype.getSymbolDisplay=function(u){return a(u)},s.prototype.buildFirstStateStack=function(u,d){if(d.indexOf(u)!==-1)return null;if(u.wantedBy.length===0)return[u];var f=u.wantedBy[0],p=[u].concat(d),g=this.buildFirstStateStack(f,p);return g===null?null:[u].concat(g)},s.prototype.save=function(){var u=this.table[this.current];return u.lexerState=this.lexerState,u},s.prototype.restore=function(u){var d=u.index;this.current=d,this.table[d]=u,this.table.splice(d+1),this.lexerState=u.lexerState,this.results=this.finish()},s.prototype.rewind=function(u){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[u])},s.prototype.finish=function(){var u=[],d=this.grammar.start,f=this.table[this.table.length-1];return f.states.forEach(function(p){p.rule.name===d&&p.dot===p.rule.symbols.length&&p.reference===0&&p.data!==s.fail&&u.push(p)}),u.map(function(p){return p.data})};function a(u){var d=typeof u;if(d==="string")return u;if(d==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return"character matching "+u;if(u.type)return u.type+" token";if(u.test)return"token matching "+String(u.test);throw new Error("Unknown symbol type: "+u)}}function l(u){var d=typeof u;if(d==="string")return u;if(d==="object"){if(u.literal)return JSON.stringify(u.literal);if(u instanceof RegExp)return u.toString();if(u.type)return"%"+u.type;if(u.test)return"<"+String(u.test)+">";throw new Error("Unknown symbol type: "+u)}}return{Parser:s,Grammar:i,Rule:t}})})(tU);var X0e=tU.exports,ac={},nU={},ru={};ru.__esModule=void 0;ru.__esModule=!0;var Y0e=typeof Object.setPrototypeOf=="function",Q0e=typeof Object.getPrototypeOf=="function",Z0e=typeof Object.defineProperty=="function",J0e=typeof Object.create=="function",eve=typeof Object.prototype.hasOwnProperty=="function",tve=function(t,n){Y0e?Object.setPrototypeOf(t,n):t.__proto__=n};ru.setPrototypeOf=tve;var nve=function(t){return Q0e?Object.getPrototypeOf(t):t.__proto__||t.prototype};ru.getPrototypeOf=nve;var uO=!1,rve=function e(t,n,r){if(Z0e&&!uO)try{Object.defineProperty(t,n,r)}catch{uO=!0,e(t,n,r)}else t[n]=r.value};ru.defineProperty=rve;var rU=function(t,n){return eve?t.hasOwnProperty(t,n):t[n]===void 0};ru.hasOwnProperty=rU;var ive=function(t,n){if(J0e)return Object.create(t,n);var r=function(){};r.prototype=t;var i=new r;if(typeof n>"u")return i;if(typeof n=="null")throw new Error("PropertyDescriptors must not be null.");if(typeof n=="object")for(var o in n)rU(n,o)&&(i[o]=n[o].value);return i};ru.objectCreate=ive;(function(e){e.__esModule=void 0,e.__esModule=!0;var t=ru,n=t.setPrototypeOf,r=t.getPrototypeOf,i=t.defineProperty,o=t.objectCreate,s=new Error().toString()==="[object Error]",a="";function l(u){var d=this.constructor,f=d.name||function(){var x=d.toString().match(/^function\s*([^\s(]+)/);return x===null?a||"Error":x[1]}(),p=f==="Error",g=p?a:f,m=Error.apply(this,arguments);if(n(m,r(this)),!(m instanceof d)||!(m instanceof l)){var m=this;Error.apply(this,arguments),i(m,"message",{configurable:!0,enumerable:!1,value:u,writable:!0})}if(i(m,"name",{configurable:!0,enumerable:!1,value:g,writable:!0}),Error.captureStackTrace&&Error.captureStackTrace(m,p?l:d),m.stack===void 0){var v=new Error(u);v.name=m.name,m.stack=v.stack}return s&&i(m,"toString",{configurable:!0,enumerable:!1,value:function(){return(this.name||"Error")+(typeof this.message>"u"?"":": "+this.message)},writable:!0}),m}a=l.name||"ExtendableError",l.prototype=o(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),e.ExtendableError=l,e.default=e.ExtendableError})(nU);var iU=He&&He.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(r[o]=i[o])},e(t,n)};return function(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(ac,"__esModule",{value:!0});ac.SyntaxError=ac.LiqeError=void 0;var ove=nU,oU=function(e){iU(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(ove.ExtendableError);ac.LiqeError=oU;var sve=function(e){iU(t,e);function t(n,r,i,o){var s=e.call(this,n)||this;return s.message=n,s.offset=r,s.line=i,s.column=o,s}return t}(oU);ac.SyntaxError=sve;var oE={},G1=He&&He.__assign||function(){return G1=Object.assign||function(e){for(var t,n=1,r=arguments.length;n"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$2"]},{name:"comparison_operator$subexpression$1$string$3",symbols:[{literal:":"},{literal:"<"}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$3"]},{name:"comparison_operator$subexpression$1$string$4",symbols:[{literal:":"},{literal:">"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$4"]},{name:"comparison_operator$subexpression$1$string$5",symbols:[{literal:":"},{literal:"<"},{literal:"="}],postprocess:function(e){return e.join("")}},{name:"comparison_operator$subexpression$1",symbols:["comparison_operator$subexpression$1$string$5"]},{name:"comparison_operator",symbols:["comparison_operator$subexpression$1"],postprocess:function(e,t){return{location:{start:t,end:t+e[0][0].length},type:"ComparisonOperator",operator:e[0][0]}}},{name:"regex",symbols:["regex_body","regex_flags"],postprocess:function(e){return e.join("")}},{name:"regex_body$ebnf$1",symbols:[]},{name:"regex_body$ebnf$1",symbols:["regex_body$ebnf$1","regex_body_char"],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_body",symbols:[{literal:"/"},"regex_body$ebnf$1",{literal:"/"}],postprocess:function(e){return"/"+e[1].join("")+"/"}},{name:"regex_body_char",symbols:[/[^\\]/],postprocess:na},{name:"regex_body_char",symbols:[{literal:"\\"},/[^\\]/],postprocess:function(e){return"\\"+e[1]}},{name:"regex_flags",symbols:[]},{name:"regex_flags$ebnf$1",symbols:[/[gmiyusd]/]},{name:"regex_flags$ebnf$1",symbols:["regex_flags$ebnf$1",/[gmiyusd]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"regex_flags",symbols:["regex_flags$ebnf$1"],postprocess:function(e){return e[0].join("")}},{name:"unquoted_value$ebnf$1",symbols:[]},{name:"unquoted_value$ebnf$1",symbols:["unquoted_value$ebnf$1",/[a-zA-Z\.\-_*@#$]/],postprocess:function(e){return e[0].concat([e[1]])}},{name:"unquoted_value",symbols:[/[a-zA-Z_*@#$]/,"unquoted_value$ebnf$1"],postprocess:function(e){return e[0]+e[1].join("")}}],ParserStart:"main"};oE.default=ave;var sU={},Hb={},xm={};Object.defineProperty(xm,"__esModule",{value:!0});xm.isSafePath=void 0;var lve=/^(\.(?:[_a-zA-Z][a-zA-Z\d_]*|\0|[1-9]\d*))+$/u,uve=function(e){return lve.test(e)};xm.isSafePath=uve;Object.defineProperty(Hb,"__esModule",{value:!0});Hb.createGetValueFunctionBody=void 0;var cve=xm,dve=function(e){if(!(0,cve.isSafePath)(e))throw new Error("Unsafe path.");var t="return subject"+e;return t.replace(/(\.(\d+))/g,".[$2]").replace(/\./g,"?.")};Hb.createGetValueFunctionBody=dve;(function(e){var t=He&&He.__assign||function(){return t=Object.assign||function(o){for(var s,a=1,l=arguments.length;a\d+) col (?\d+)/,yve=function(e){if(e.trim()==="")return{location:{end:0,start:0},type:"EmptyExpression"};var t=new lU.default.Parser(gve),n;try{n=t.feed(e).results}catch(o){if(typeof(o==null?void 0:o.message)=="string"&&typeof(o==null?void 0:o.offset)=="number"){var r=o.message.match(mve);throw r?new fve.SyntaxError("Syntax error at line ".concat(r.groups.line," column ").concat(r.groups.column),o.offset,Number(r.groups.line),Number(r.groups.column)):o}throw o}if(n.length===0)throw new Error("Found no parsings.");if(n.length>1)throw new Error("Ambiguous results.");var i=(0,pve.hydrateAst)(n[0]);return i};Gb.parse=yve;var Wb={};Object.defineProperty(Wb,"__esModule",{value:!0});Wb.test=void 0;var vve=Sm,_ve=function(e,t){return(0,vve.filter)(e,[t]).length===1};Wb.test=_ve;var uU={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.serialize=void 0;var t=function(o,s){return s==="double"?'"'.concat(o,'"'):s==="single"?"'".concat(o,"'"):o},n=function(o){if(o.type==="LiteralExpression")return o.quoted&&typeof o.value=="string"?t(o.value,o.quotes):String(o.value);if(o.type==="RegexExpression")return String(o.value);if(o.type==="RangeExpression"){var s=o.range,a=s.min,l=s.max,u=s.minInclusive,d=s.maxInclusive;return"".concat(u?"[":"{").concat(a," TO ").concat(l).concat(d?"]":"}")}if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")},r=function(o){if(o.type!=="Tag")throw new Error("Expected a tag expression.");var s=o.field,a=o.expression,l=o.operator;if(s.type==="ImplicitField")return n(a);var u=s.quoted?t(s.name,s.quotes):s.name,d=" ".repeat(a.location.start-l.location.end);return u+l.operator+d+n(a)},i=function(o){if(o.type==="ParenthesizedExpression"){if(!("location"in o.expression))throw new Error("Expected location in expression.");if(!o.location.end)throw new Error("Expected location end.");var s=" ".repeat(o.expression.location.start-(o.location.start+1)),a=" ".repeat(o.location.end-o.expression.location.end-1);return"(".concat(s).concat((0,e.serialize)(o.expression)).concat(a,")")}if(o.type==="Tag")return r(o);if(o.type==="LogicalExpression"){var l="";return o.operator.type==="BooleanOperator"?(l+=" ".repeat(o.operator.location.start-o.left.location.end),l+=o.operator.operator,l+=" ".repeat(o.right.location.start-o.operator.location.end)):l=" ".repeat(o.right.location.start-o.left.location.end),"".concat((0,e.serialize)(o.left)).concat(l).concat((0,e.serialize)(o.right))}if(o.type==="UnaryOperator")return(o.operator==="NOT"?"NOT ":o.operator)+(0,e.serialize)(o.operand);if(o.type==="EmptyExpression")return"";throw new Error("Unexpected AST type.")};e.serialize=i})(uU);var qb={};Object.defineProperty(qb,"__esModule",{value:!0});qb.isSafeUnquotedExpression=void 0;var bve=function(e){return/^[#$*@A-Z_a-z][#$*.@A-Z_a-z-]*$/.test(e)};qb.isSafeUnquotedExpression=bve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isSafeUnquotedExpression=e.serialize=e.SyntaxError=e.LiqeError=e.test=e.parse=e.highlight=e.filter=void 0;var t=Sm;Object.defineProperty(e,"filter",{enumerable:!0,get:function(){return t.filter}});var n=jb;Object.defineProperty(e,"highlight",{enumerable:!0,get:function(){return n.highlight}});var r=Gb;Object.defineProperty(e,"parse",{enumerable:!0,get:function(){return r.parse}});var i=Wb;Object.defineProperty(e,"test",{enumerable:!0,get:function(){return i.test}});var o=ac;Object.defineProperty(e,"LiqeError",{enumerable:!0,get:function(){return o.LiqeError}}),Object.defineProperty(e,"SyntaxError",{enumerable:!0,get:function(){return o.SyntaxError}});var s=uU;Object.defineProperty(e,"serialize",{enumerable:!0,get:function(){return s.serialize}});var a=qb;Object.defineProperty(e,"isSafeUnquotedExpression",{enumerable:!0,get:function(){return a.isSafeUnquotedExpression}})})(eU);var Cm={},cU={},lc={};Object.defineProperty(lc,"__esModule",{value:!0});lc.ROARR_LOG_FORMAT_VERSION=lc.ROARR_VERSION=void 0;lc.ROARR_VERSION="5.0.0";lc.ROARR_LOG_FORMAT_VERSION="2.0.0";var Tm={};Object.defineProperty(Tm,"__esModule",{value:!0});Tm.logLevels=void 0;Tm.logLevels={debug:20,error:50,fatal:60,info:30,trace:10,warn:40};var dU={},Kb={};Object.defineProperty(Kb,"__esModule",{value:!0});Kb.hasOwnProperty=void 0;const Sve=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);Kb.hasOwnProperty=Sve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.hasOwnProperty=void 0;var t=Kb;Object.defineProperty(e,"hasOwnProperty",{enumerable:!0,get:function(){return t.hasOwnProperty}})})(dU);var fU={},Xb={},Yb={};Object.defineProperty(Yb,"__esModule",{value:!0});Yb.tokenize=void 0;const wve=/(?:%(?([+0-]|-\+))?(?\d+)?(?\d+\$)?(?\.\d+)?(?[%BCESb-iosux]))|(\\%)/g,xve=e=>{let t;const n=[];let r=0,i=0,o=null;for(;(t=wve.exec(e))!==null;){t.index>i&&(o={literal:e.slice(i,t.index),type:"literal"},n.push(o));const s=t[0];i=t.index+s.length,s==="\\%"||s==="%%"?o&&o.type==="literal"?o.literal+="%":(o={literal:"%",type:"literal"},n.push(o)):t.groups&&(o={conversion:t.groups.conversion,flag:t.groups.flag||null,placeholder:s,position:t.groups.position?Number.parseInt(t.groups.position,10)-1:r++,precision:t.groups.precision?Number.parseInt(t.groups.precision.slice(1),10):null,type:"placeholder",width:t.groups.width?Number.parseInt(t.groups.width,10):null},n.push(o))}return i<=e.length-1&&(o&&o.type==="literal"?o.literal+=e.slice(i):n.push({literal:e.slice(i),type:"literal"})),n};Yb.tokenize=xve;Object.defineProperty(Xb,"__esModule",{value:!0});Xb.createPrintf=void 0;const cO=nE,Cve=Yb,Tve=(e,t)=>t.placeholder,Eve=e=>{var t;const n=(o,s,a)=>a==="-"?o.padEnd(s," "):a==="-+"?((Number(o)>=0?"+":"")+o).padEnd(s," "):a==="+"?((Number(o)>=0?"+":"")+o).padStart(s," "):a==="0"?o.padStart(s,"0"):o.padStart(s," "),r=(t=e==null?void 0:e.formatUnboundExpression)!==null&&t!==void 0?t:Tve,i={};return(o,...s)=>{let a=i[o];a||(a=i[o]=Cve.tokenize(o));let l="";for(const u of a)if(u.type==="literal")l+=u.literal;else{let d=s[u.position];if(d===void 0)l+=r(o,u,s);else if(u.conversion==="b")l+=cO.boolean(d)?"true":"false";else if(u.conversion==="B")l+=cO.boolean(d)?"TRUE":"FALSE";else if(u.conversion==="c")l+=d;else if(u.conversion==="C")l+=String(d).toUpperCase();else if(u.conversion==="i"||u.conversion==="d")d=String(Math.trunc(d)),u.width!==null&&(d=n(d,u.width,u.flag)),l+=d;else if(u.conversion==="e")l+=Number(d).toExponential();else if(u.conversion==="E")l+=Number(d).toExponential().toUpperCase();else if(u.conversion==="f")u.precision!==null&&(d=Number(d).toFixed(u.precision)),u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else if(u.conversion==="o")l+=(Number.parseInt(String(d),10)>>>0).toString(8);else if(u.conversion==="s")u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else if(u.conversion==="S")u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=String(d).toUpperCase();else if(u.conversion==="u")l+=Number.parseInt(String(d),10)>>>0;else if(u.conversion==="x")d=(Number.parseInt(String(d),10)>>>0).toString(16),u.width!==null&&(d=n(String(d),u.width,u.flag)),l+=d;else throw new Error("Unknown format specifier.")}return l}};Xb.createPrintf=Eve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.printf=e.createPrintf=void 0;const t=Xb;Object.defineProperty(e,"createPrintf",{enumerable:!0,get:function(){return t.createPrintf}}),e.printf=t.createPrintf()})(fU);var Q3={exports:{}};(function(e,t){const{hasOwnProperty:n}=Object.prototype,r=x();r.configure=x,r.stringify=r,r.default=r,t.stringify=r,t.configure=x,e.exports=r;const i=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?:[^\ud800-\udbff]|^)[\udc00-\udfff]/;function o(_){return _.length<5e3&&!i.test(_)?`"${_}"`:JSON.stringify(_)}function s(_){if(_.length>200)return _.sort();for(let b=1;b<_.length;b++){const y=_[b];let S=b;for(;S!==0&&_[S-1]>y;)_[S]=_[S-1],S--;_[S]=y}return _}const a=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function l(_){return a.call(_)!==void 0&&_.length!==0}function u(_,b,y){_.length= 1`)}return y===void 0?1/0:y}function g(_){return _===1?"1 item":`${_} items`}function m(_){const b=new Set;for(const y of _)(typeof y=="string"||typeof y=="number")&&b.add(String(y));return b}function v(_){if(n.call(_,"strict")){const b=_.strict;if(typeof b!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(b)return y=>{let S=`Object can not safely be stringified. Received type ${typeof y}`;throw typeof y!="function"&&(S+=` (${y.toString()})`),new Error(S)}}}function x(_){_={..._};const b=v(_);b&&(_.bigint===void 0&&(_.bigint=!1),"circularValue"in _||(_.circularValue=Error));const y=d(_),S=f(_,"bigint"),C=f(_,"deterministic"),T=p(_,"maximumDepth"),E=p(_,"maximumBreadth");function P(U,A,N,F,B,D){let V=A[U];switch(typeof V=="object"&&V!==null&&typeof V.toJSON=="function"&&(V=V.toJSON(U)),V=F.call(A,U,V),typeof V){case"string":return o(V);case"object":{if(V===null)return"null";if(N.indexOf(V)!==-1)return y;let j="",q=",";const Z=D;if(Array.isArray(V)){if(V.length===0)return"[]";if(TE){const ve=V.length-E-1;j+=`${q}"... ${g(ve)} not stringified"`}return B!==""&&(j+=` ${Z}`),N.pop(),`[${j}]`}let ee=Object.keys(V);const ie=ee.length;if(ie===0)return"{}";if(TE){const se=j-E;Z+=`${ee}"...": "${g(se)} not stringified"`,ee=q}return ee!==""&&(Z=` ${B}${Z} -${D}`),N.pop(),`{${Z}}`}case"number":return isFinite(A)?String(A):b?b(A):"null";case"boolean":return A===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(A);default:return b?b(A):void 0}}function M(U,A,N){switch(typeof A){case"string":return o(A);case"object":{if(A===null)return"null";if(typeof A.toJSON=="function"){if(A=A.toJSON(U),typeof A!="object")return M(U,A,N);if(A===null)return"null"}if(N.indexOf(A)!==-1)return y;let F="";if(Array.isArray(A)){if(A.length===0)return"[]";if(TE){const ie=A.length-E-1;F+=`,"... ${g(ie)} not stringified"`}return N.pop(),`[${F}]`}let B=Object.keys(A);const D=B.length;if(D===0)return"{}";if(TE){const q=D-E;F+=`${V}"...":"${g(q)} not stringified"`}return N.pop(),`{${F}}`}case"number":return isFinite(A)?String(A):b?b(A):"null";case"boolean":return A===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(A);default:return b?b(A):void 0}}function G(U,A,N){if(arguments.length>1){let F="";if(typeof N=="number"?F=" ".repeat(Math.min(N,10)):typeof N=="string"&&(F=N.slice(0,10)),A!=null){if(typeof A=="function")return P("",{"":U},[],A,F,"");if(Array.isArray(A))return k("",U,[],m(A),F,"")}if(F.length!==0)return O("",U,[],F,"")}return M("",U,[])}return G}})(Q3,Q3.exports);var Eve=Q3.exports;(function(e){var t=He&&He.__importDefault||function(y){return y&&y.__esModule?y:{default:y}};Object.defineProperty(e,"__esModule",{value:!0}),e.createLogger=void 0;const n=lc,r=Tm,i=dU,o=fU,s=t(rE),a=t(Eve);let l=!1;const u=(0,s.default)(),d=()=>u.ROARR,f=()=>({messageContext:{},transforms:[]}),p=()=>{const y=d().asyncLocalStorage;if(!y)throw new Error("AsyncLocalContext is unavailable.");const S=y.getStore();return S||f()},g=()=>!!d().asyncLocalStorage,m=()=>{if(g()){const y=p();return(0,i.hasOwnProperty)(y,"sequenceRoot")&&(0,i.hasOwnProperty)(y,"sequence")&&typeof y.sequence=="number"?String(y.sequenceRoot)+"."+String(y.sequence++):String(d().sequence++)}return String(d().sequence++)},v=(y,S)=>(C,T,E,P,k,O,M,G,U,A)=>{y.child({logLevel:S})(C,T,E,P,k,O,M,G,U,A)},x=1e3,_=(y,S)=>(C,T,E,P,k,O,M,G,U,A)=>{const N=(0,a.default)({a:C,b:T,c:E,d:P,e:k,f:O,g:M,h:G,i:U,j:A,logLevel:S});if(!N)throw new Error("Expected key to be a string");const F=d().onceLog;F.has(N)||(F.add(N),F.size>x&&F.clear(),y.child({logLevel:S})(C,T,E,P,k,O,M,G,U,A))},b=(y,S={},C=[])=>{const T=(E,P,k,O,M,G,U,A,N,F)=>{const B=Date.now(),D=m();let V;g()?V=p():V=f();let j,q;if(typeof E=="string"?j={...V.messageContext,...S}:j={...V.messageContext,...S,...E},typeof E=="string"&&P===void 0)q=E;else if(typeof E=="string"){if(!E.includes("%"))throw new Error("When a string parameter is followed by other arguments, then it is assumed that you are attempting to format a message using printf syntax. You either forgot to add printf bindings or if you meant to add context to the log message, pass them in an object as the first parameter.");q=(0,o.printf)(E,P,k,O,M,G,U,A,N,F)}else{let ee=P;if(typeof P!="string")if(P===void 0)ee="";else throw new TypeError("Message must be a string. Received "+typeof P+".");q=(0,o.printf)(ee,k,O,M,G,U,A,N,F)}let Z={context:j,message:q,sequence:D,time:B,version:n.ROARR_LOG_FORMAT_VERSION};for(const ee of[...V.transforms,...C])if(Z=ee(Z),typeof Z!="object"||Z===null)throw new Error("Message transform function must return a message object.");y(Z)};return T.child=E=>{let P;return g()?P=p():P=f(),typeof E=="function"?(0,e.createLogger)(y,{...P.messageContext,...S,...E},[E,...C]):(0,e.createLogger)(y,{...P.messageContext,...S,...E},C)},T.getContext=()=>{let E;return g()?E=p():E=f(),{...E.messageContext,...S}},T.adopt=async(E,P)=>{if(!g())return l===!1&&(l=!0,y({context:{logLevel:r.logLevels.warn,package:"roarr"},message:"async_hooks are unavailable; Roarr.adopt will not function as expected",sequence:m(),time:Date.now(),version:n.ROARR_LOG_FORMAT_VERSION})),E();const k=p();let O;(0,i.hasOwnProperty)(k,"sequenceRoot")&&(0,i.hasOwnProperty)(k,"sequence")&&typeof k.sequence=="number"?O=k.sequenceRoot+"."+String(k.sequence++):O=String(d().sequence++);let M={...k.messageContext};const G=[...k.transforms];typeof P=="function"?G.push(P):M={...M,...P};const U=d().asyncLocalStorage;if(!U)throw new Error("Async local context unavailable.");return U.run({messageContext:M,sequence:0,sequenceRoot:O,transforms:G},()=>E())},T.debug=v(T,r.logLevels.debug),T.debugOnce=_(T,r.logLevels.debug),T.error=v(T,r.logLevels.error),T.errorOnce=_(T,r.logLevels.error),T.fatal=v(T,r.logLevels.fatal),T.fatalOnce=_(T,r.logLevels.fatal),T.info=v(T,r.logLevels.info),T.infoOnce=_(T,r.logLevels.info),T.trace=v(T,r.logLevels.trace),T.traceOnce=_(T,r.logLevels.trace),T.warn=v(T,r.logLevels.warn),T.warnOnce=_(T,r.logLevels.warn),T};e.createLogger=b})(cU);var Qb={},Ave=function(t,n){for(var r=t.split("."),i=n.split("."),o=0;o<3;o++){var s=Number(r[o]),a=Number(i[o]);if(s>a)return 1;if(a>s)return-1;if(!isNaN(s)&&isNaN(a))return 1;if(isNaN(s)&&!isNaN(a))return-1}return 0},Pve=He&&He.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Qb,"__esModule",{value:!0});Qb.createRoarrInitialGlobalStateBrowser=void 0;const dO=lc,fO=Pve(Ave),Rve=e=>{const t=(e.versions||[]).concat();return t.length>1&&t.sort(fO.default),t.includes(dO.ROARR_VERSION)||t.push(dO.ROARR_VERSION),t.sort(fO.default),{sequence:0,...e,versions:t}};Qb.createRoarrInitialGlobalStateBrowser=Rve;var Zb={};Object.defineProperty(Zb,"__esModule",{value:!0});Zb.getLogLevelName=void 0;const Ove=e=>e<=10?"trace":e<=20?"debug":e<=30?"info":e<=40?"warn":e<=50?"error":"fatal";Zb.getLogLevelName=Ove;(function(e){var t=He&&He.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0}),e.getLogLevelName=e.logLevels=e.Roarr=e.ROARR=void 0;const n=cU,r=Qb,o=(0,t(rE).default)(),s=(0,r.createRoarrInitialGlobalStateBrowser)(o.ROARR||{});e.ROARR=s,o.ROARR=s;const a=f=>JSON.stringify(f),l=(0,n.createLogger)(f=>{var p;s.write&&s.write(((p=s.serializeMessage)!==null&&p!==void 0?p:a)(f))});e.Roarr=l;var u=Tm;Object.defineProperty(e,"logLevels",{enumerable:!0,get:function(){return u.logLevels}});var d=Zb;Object.defineProperty(e,"getLogLevelName",{enumerable:!0,get:function(){return d.getLogLevelName}})})(Cm);var kve=He&&He.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);iE){const ie=A.length-E-1;F+=`,"... ${g(ie)} not stringified"`}return N.pop(),`[${F}]`}let B=Object.keys(A);const D=B.length;if(D===0)return"{}";if(TE){const q=D-E;F+=`${V}"...":"${g(q)} not stringified"`}return N.pop(),`{${F}}`}case"number":return isFinite(A)?String(A):b?b(A):"null";case"boolean":return A===!0?"true":"false";case"undefined":return;case"bigint":if(S)return String(A);default:return b?b(A):void 0}}function G(U,A,N){if(arguments.length>1){let F="";if(typeof N=="number"?F=" ".repeat(Math.min(N,10)):typeof N=="string"&&(F=N.slice(0,10)),A!=null){if(typeof A=="function")return P("",{"":U},[],A,F,"");if(Array.isArray(A))return k("",U,[],m(A),F,"")}if(F.length!==0)return O("",U,[],F,"")}return M("",U,[])}return G}})(Q3,Q3.exports);var Ave=Q3.exports;(function(e){var t=He&&He.__importDefault||function(y){return y&&y.__esModule?y:{default:y}};Object.defineProperty(e,"__esModule",{value:!0}),e.createLogger=void 0;const n=lc,r=Tm,i=dU,o=fU,s=t(rE),a=t(Ave);let l=!1;const u=(0,s.default)(),d=()=>u.ROARR,f=()=>({messageContext:{},transforms:[]}),p=()=>{const y=d().asyncLocalStorage;if(!y)throw new Error("AsyncLocalContext is unavailable.");const S=y.getStore();return S||f()},g=()=>!!d().asyncLocalStorage,m=()=>{if(g()){const y=p();return(0,i.hasOwnProperty)(y,"sequenceRoot")&&(0,i.hasOwnProperty)(y,"sequence")&&typeof y.sequence=="number"?String(y.sequenceRoot)+"."+String(y.sequence++):String(d().sequence++)}return String(d().sequence++)},v=(y,S)=>(C,T,E,P,k,O,M,G,U,A)=>{y.child({logLevel:S})(C,T,E,P,k,O,M,G,U,A)},x=1e3,_=(y,S)=>(C,T,E,P,k,O,M,G,U,A)=>{const N=(0,a.default)({a:C,b:T,c:E,d:P,e:k,f:O,g:M,h:G,i:U,j:A,logLevel:S});if(!N)throw new Error("Expected key to be a string");const F=d().onceLog;F.has(N)||(F.add(N),F.size>x&&F.clear(),y.child({logLevel:S})(C,T,E,P,k,O,M,G,U,A))},b=(y,S={},C=[])=>{const T=(E,P,k,O,M,G,U,A,N,F)=>{const B=Date.now(),D=m();let V;g()?V=p():V=f();let j,q;if(typeof E=="string"?j={...V.messageContext,...S}:j={...V.messageContext,...S,...E},typeof E=="string"&&P===void 0)q=E;else if(typeof E=="string"){if(!E.includes("%"))throw new Error("When a string parameter is followed by other arguments, then it is assumed that you are attempting to format a message using printf syntax. You either forgot to add printf bindings or if you meant to add context to the log message, pass them in an object as the first parameter.");q=(0,o.printf)(E,P,k,O,M,G,U,A,N,F)}else{let ee=P;if(typeof P!="string")if(P===void 0)ee="";else throw new TypeError("Message must be a string. Received "+typeof P+".");q=(0,o.printf)(ee,k,O,M,G,U,A,N,F)}let Z={context:j,message:q,sequence:D,time:B,version:n.ROARR_LOG_FORMAT_VERSION};for(const ee of[...V.transforms,...C])if(Z=ee(Z),typeof Z!="object"||Z===null)throw new Error("Message transform function must return a message object.");y(Z)};return T.child=E=>{let P;return g()?P=p():P=f(),typeof E=="function"?(0,e.createLogger)(y,{...P.messageContext,...S,...E},[E,...C]):(0,e.createLogger)(y,{...P.messageContext,...S,...E},C)},T.getContext=()=>{let E;return g()?E=p():E=f(),{...E.messageContext,...S}},T.adopt=async(E,P)=>{if(!g())return l===!1&&(l=!0,y({context:{logLevel:r.logLevels.warn,package:"roarr"},message:"async_hooks are unavailable; Roarr.adopt will not function as expected",sequence:m(),time:Date.now(),version:n.ROARR_LOG_FORMAT_VERSION})),E();const k=p();let O;(0,i.hasOwnProperty)(k,"sequenceRoot")&&(0,i.hasOwnProperty)(k,"sequence")&&typeof k.sequence=="number"?O=k.sequenceRoot+"."+String(k.sequence++):O=String(d().sequence++);let M={...k.messageContext};const G=[...k.transforms];typeof P=="function"?G.push(P):M={...M,...P};const U=d().asyncLocalStorage;if(!U)throw new Error("Async local context unavailable.");return U.run({messageContext:M,sequence:0,sequenceRoot:O,transforms:G},()=>E())},T.debug=v(T,r.logLevels.debug),T.debugOnce=_(T,r.logLevels.debug),T.error=v(T,r.logLevels.error),T.errorOnce=_(T,r.logLevels.error),T.fatal=v(T,r.logLevels.fatal),T.fatalOnce=_(T,r.logLevels.fatal),T.info=v(T,r.logLevels.info),T.infoOnce=_(T,r.logLevels.info),T.trace=v(T,r.logLevels.trace),T.traceOnce=_(T,r.logLevels.trace),T.warn=v(T,r.logLevels.warn),T.warnOnce=_(T,r.logLevels.warn),T};e.createLogger=b})(cU);var Qb={},Pve=function(t,n){for(var r=t.split("."),i=n.split("."),o=0;o<3;o++){var s=Number(r[o]),a=Number(i[o]);if(s>a)return 1;if(a>s)return-1;if(!isNaN(s)&&isNaN(a))return 1;if(isNaN(s)&&!isNaN(a))return-1}return 0},Rve=He&&He.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Qb,"__esModule",{value:!0});Qb.createRoarrInitialGlobalStateBrowser=void 0;const dO=lc,fO=Rve(Pve),Ove=e=>{const t=(e.versions||[]).concat();return t.length>1&&t.sort(fO.default),t.includes(dO.ROARR_VERSION)||t.push(dO.ROARR_VERSION),t.sort(fO.default),{sequence:0,...e,versions:t}};Qb.createRoarrInitialGlobalStateBrowser=Ove;var Zb={};Object.defineProperty(Zb,"__esModule",{value:!0});Zb.getLogLevelName=void 0;const kve=e=>e<=10?"trace":e<=20?"debug":e<=30?"info":e<=40?"warn":e<=50?"error":"fatal";Zb.getLogLevelName=kve;(function(e){var t=He&&He.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(e,"__esModule",{value:!0}),e.getLogLevelName=e.logLevels=e.Roarr=e.ROARR=void 0;const n=cU,r=Qb,o=(0,t(rE).default)(),s=(0,r.createRoarrInitialGlobalStateBrowser)(o.ROARR||{});e.ROARR=s,o.ROARR=s;const a=f=>JSON.stringify(f),l=(0,n.createLogger)(f=>{var p;s.write&&s.write(((p=s.serializeMessage)!==null&&p!==void 0?p:a)(f))});e.Roarr=l;var u=Tm;Object.defineProperty(e,"logLevels",{enumerable:!0,get:function(){return u.logLevels}});var d=Zb;Object.defineProperty(e,"getLogLevelName",{enumerable:!0,get:function(){return d.getLogLevelName}})})(Cm);var Ive=He&&He.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i0?g("%c ".concat(p," %c").concat(d?" [".concat(String(d),"]:"):"","%c ").concat(a.message," %O"),v,x,_,f):g("%c ".concat(p," %c").concat(d?" [".concat(String(d),"]:"):"","%c ").concat(a.message),v,x,_)}}};Nb.createLogWriter=Uve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createLogWriter=void 0;var t=Nb;Object.defineProperty(e,"createLogWriter",{enumerable:!0,get:function(){return t.createLogWriter}})})(VB);Cm.ROARR.write=VB.createLogWriter();const pU={};Cm.Roarr.child(pU);const Jb=gm(Cm.Roarr.child(pU)),Ie=e=>Jb.get().child({namespace:e}),DIe=["trace","debug","info","warn","error","fatal"],$Ie={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function zve(){const e=[];return function(t,n){if(typeof n!="object"||n===null)return n;for(;e.length>0&&e.at(-1)!==this;)e.pop();return e.includes(n)?"[Circular]":(e.push(n),n)}}const Ig=Ul("nodes/receivedOpenAPISchema",async(e,{dispatch:t,rejectWithValue:n})=>{const r=Ie("system");try{const o=await(await fetch("openapi.json")).json();return r.info({openAPISchema:o},"Received OpenAPI schema"),JSON.parse(JSON.stringify(o,zve()))}catch(i){return n({error:i})}}),gU={nodes:[],edges:[],schema:null,invocationTemplates:{},connectionStartParams:null,shouldShowGraphOverlay:!1,shouldShowFieldTypeLegend:!1,shouldShowMinimapPanel:!0,editorInstance:void 0,progressNodeSize:{width:512,height:512}},mU=yn({name:"nodes",initialState:gU,reducers:{nodesChanged:(e,t)=>{e.nodes=IB(t.payload,e.nodes)},nodeAdded:(e,t)=>{e.nodes.push(t.payload)},edgesChanged:(e,t)=>{e.edges=Zme(t.payload,e.edges)},connectionStarted:(e,t)=>{e.connectionStartParams=t.payload},connectionMade:(e,t)=>{e.edges=oB(t.payload,e.edges)},connectionEnded:e=>{e.connectionStartParams=null},fieldValueChanged:(e,t)=>{var a,l,u;const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(d=>d.id===n),s=(u=(l=(a=e.nodes)==null?void 0:a[o])==null?void 0:l.data)==null?void 0:u.inputs[r];s&&o>-1&&(s.value=i)},imageCollectionFieldValueChanged:(e,t)=>{var l,u,d;const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(f=>f.id===n);if(o===-1)return;const s=(d=(u=(l=e.nodes)==null?void 0:l[o])==null?void 0:u.data)==null?void 0:d.inputs[r];if(!s)return;const a=Ur(s.value);if(!a){s.value=i;return}s.value=rle(a.concat(i),"image_name")},shouldShowGraphOverlayChanged:(e,t)=>{e.shouldShowGraphOverlay=t.payload},shouldShowFieldTypeLegendChanged:(e,t)=>{e.shouldShowFieldTypeLegend=t.payload},shouldShowMinimapPanelChanged:(e,t)=>{e.shouldShowMinimapPanel=t.payload},nodeTemplatesBuilt:(e,t)=>{e.invocationTemplates=t.payload},nodeEditorReset:e=>{e.nodes=[],e.edges=[]},setEditorInstance:(e,t)=>{e.editorInstance=t.payload},loadFileNodes:(e,t)=>{e.nodes=t.payload},loadFileEdges:(e,t)=>{e.edges=t.payload},setProgressNodeSize:(e,t)=>{e.progressNodeSize=t.payload}},extraReducers:e=>{e.addCase(Ig.fulfilled,(t,n)=>{t.schema=n.payload})}}),{nodesChanged:FIe,edgesChanged:BIe,nodeAdded:UIe,fieldValueChanged:yU,connectionMade:zIe,connectionStarted:VIe,connectionEnded:jIe,shouldShowGraphOverlayChanged:GIe,shouldShowFieldTypeLegendChanged:HIe,shouldShowMinimapPanelChanged:WIe,nodeTemplatesBuilt:sE,nodeEditorReset:aE,imageCollectionFieldValueChanged:qIe,setEditorInstance:KIe,loadFileNodes:XIe,loadFileEdges:YIe,setProgressNodeSize:QIe}=mU.actions,Vve=mU.reducer,vU={esrganModelName:"RealESRGAN_x4plus.pth"},_U=yn({name:"postprocessing",initialState:vU,reducers:{esrganModelNameChanged:(e,t)=>{e.esrganModelName=t.payload}}}),{esrganModelNameChanged:ZIe}=_U.actions,jve=_U.reducer,Gve={positiveStylePrompt:"",negativeStylePrompt:"",shouldConcatSDXLStylePrompt:!0,shouldUseSDXLRefiner:!1,sdxlImg2ImgDenoisingStrength:.7,refinerModel:null,refinerSteps:20,refinerCFGScale:7.5,refinerScheduler:"euler",refinerAestheticScore:6,refinerStart:.7},bU=yn({name:"sdxl",initialState:Gve,reducers:{setPositiveStylePromptSDXL:(e,t)=>{e.positiveStylePrompt=t.payload},setNegativeStylePromptSDXL:(e,t)=>{e.negativeStylePrompt=t.payload},setShouldConcatSDXLStylePrompt:(e,t)=>{e.shouldConcatSDXLStylePrompt=t.payload},setShouldUseSDXLRefiner:(e,t)=>{e.shouldUseSDXLRefiner=t.payload},setSDXLImg2ImgDenoisingStrength:(e,t)=>{e.sdxlImg2ImgDenoisingStrength=t.payload},refinerModelChanged:(e,t)=>{e.refinerModel=t.payload},setRefinerSteps:(e,t)=>{e.refinerSteps=t.payload},setRefinerCFGScale:(e,t)=>{e.refinerCFGScale=t.payload},setRefinerScheduler:(e,t)=>{e.refinerScheduler=t.payload},setRefinerAestheticScore:(e,t)=>{e.refinerAestheticScore=t.payload},setRefinerStart:(e,t)=>{e.refinerStart=t.payload}}}),{setPositiveStylePromptSDXL:JIe,setNegativeStylePromptSDXL:e7e,setShouldConcatSDXLStylePrompt:t7e,setShouldUseSDXLRefiner:Hve,setSDXLImg2ImgDenoisingStrength:n7e,refinerModelChanged:pO,setRefinerSteps:r7e,setRefinerCFGScale:i7e,setRefinerScheduler:o7e,setRefinerAestheticScore:s7e,setRefinerStart:a7e}=bU.actions,Wve=bU.reducer,Em=Re("app/userInvoked"),qve={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class H1{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||qve,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]=this.observers[r]||[],this.observers[r].push(n)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t]=this.observers[t].filter(r=>r!==n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{s(...r)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(s=>{s.apply(s,[t,...r])})}}function Xh(){let e,t;const n=new Promise((r,i)=>{e=r,t=i});return n.resolve=e,n.reject=t,n}function gO(e){return e==null?"":""+e}function Kve(e,t,n){e.forEach(r=>{t[r]&&(n[r]=t[r])})}function lE(e,t,n){function r(s){return s&&s.indexOf("###")>-1?s.replace(/###/g,"."):s}function i(){return!e||typeof e=="string"}const o=typeof t!="string"?[].concat(t):t.split(".");for(;o.length>1;){if(i())return{};const s=r(o.shift());!e[s]&&n&&(e[s]=new n),Object.prototype.hasOwnProperty.call(e,s)?e=e[s]:e={}}return i()?{}:{obj:e,k:r(o.shift())}}function mO(e,t,n){const{obj:r,k:i}=lE(e,t,Object);r[i]=n}function Xve(e,t,n,r){const{obj:i,k:o}=lE(e,t,Object);i[o]=i[o]||[],r&&(i[o]=i[o].concat(n)),r||i[o].push(n)}function W1(e,t){const{obj:n,k:r}=lE(e,t);if(n)return n[r]}function Yve(e,t,n){const r=W1(e,n);return r!==void 0?r:W1(t,n)}function SU(e,t,n){for(const r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?typeof e[r]=="string"||e[r]instanceof String||typeof t[r]=="string"||t[r]instanceof String?n&&(e[r]=t[r]):SU(e[r],t[r],n):e[r]=t[r]);return e}function ld(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var Qve={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function Zve(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,t=>Qve[t]):e}const Jve=[" ",",","?","!",";"];function e1e(e,t,n){t=t||"",n=n||"";const r=Jve.filter(s=>t.indexOf(s)<0&&n.indexOf(s)<0);if(r.length===0)return!0;const i=new RegExp(`(${r.map(s=>s==="?"?"\\?":s).join("|")})`);let o=!i.test(e);if(!o){const s=e.indexOf(n);s>0&&!i.test(e.substring(0,s))&&(o=!0)}return o}function q1(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let i=e;for(let o=0;oo+s;)s++,a=r.slice(o,o+s).join(n),l=i[a];if(l===void 0)return;if(l===null)return null;if(t.endsWith(a)){if(typeof l=="string")return l;if(a&&typeof l[a]=="string")return l[a]}const u=r.slice(o+s).join(n);return u?q1(l,u,n):void 0}i=i[r[o]]}return i}function K1(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class yO extends eS{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const o=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,s=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let a=[t,n];r&&typeof r!="string"&&(a=a.concat(r)),r&&typeof r=="string"&&(a=a.concat(o?r.split(o):r)),t.indexOf(".")>-1&&(a=t.split("."));const l=W1(this.data,a);return l||!s||typeof r!="string"?l:q1(this.data&&this.data[t]&&this.data[t][n],r,o)}addResource(t,n,r,i){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator;let a=[t,n];r&&(a=a.concat(s?r.split(s):r)),t.indexOf(".")>-1&&(a=t.split("."),i=n,n=a[1]),this.addNamespaces(n),mO(this.data,a,i),o.silent||this.emit("added",t,n,r,i)}addResources(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const o in r)(typeof r[o]=="string"||Object.prototype.toString.apply(r[o])==="[object Array]")&&this.addResource(t,n,o,r[o],{silent:!0});i.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},a=[t,n];t.indexOf(".")>-1&&(a=t.split("."),i=r,r=n,n=a[1]),this.addNamespaces(n);let l=W1(this.data,a)||{};i?SU(l,r,o):l={...l,...r},mO(this.data,a,l),s.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,n)}:this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var wU={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(o=>{this.processors[o]&&(t=this.processors[o].process(t,n,r,i))}),t}};const vO={};class X1 extends eS{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Kve(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=Cs.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const r=this.resolve(t,n);return r&&r.res!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let o=n.ns||this.options.defaultNS||[];const s=r&&t.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!e1e(t,r,i);if(s&&!a){const l=t.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:t,namespaces:o};const u=t.split(r);(r!==i||r===i&&this.options.ns.indexOf(u[0])>-1)&&(o=u.shift()),t=u.join(i)}return typeof o=="string"&&(o=[o]),{key:t,namespaces:o}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:s,namespaces:a}=this.extractFromKey(t[t.length-1],n),l=a[a.length-1],u=n.lng||this.language,d=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(d){const S=n.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${S}${s}`,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:`${l}${S}${s}`}return i?{res:s,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:s}const f=this.resolve(t,n);let p=f&&f.res;const g=f&&f.usedKey||s,m=f&&f.exactUsedKey||s,v=Object.prototype.toString.apply(p),x=["[object Number]","[object Function]","[object RegExp]"],_=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,b=!this.i18nFormat||this.i18nFormat.handleAsObject;if(b&&p&&(typeof p!="string"&&typeof p!="boolean"&&typeof p!="number")&&x.indexOf(v)<0&&!(typeof _=="string"&&v==="[object Array]")){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const S=this.options.returnedObjectHandler?this.options.returnedObjectHandler(g,p,{...n,ns:a}):`key '${s} (${this.language})' returned an object instead of string.`;return i?(f.res=S,f):S}if(o){const S=v==="[object Array]",C=S?[]:{},T=S?m:g;for(const E in p)if(Object.prototype.hasOwnProperty.call(p,E)){const P=`${T}${o}${E}`;C[E]=this.translate(P,{...n,joinArrays:!1,ns:a}),C[E]===P&&(C[E]=p[E])}p=C}}else if(b&&typeof _=="string"&&v==="[object Array]")p=p.join(_),p&&(p=this.extendTranslation(p,t,n,r));else{let S=!1,C=!1;const T=n.count!==void 0&&typeof n.count!="string",E=X1.hasDefaultValue(n),P=T?this.pluralResolver.getSuffix(u,n.count,n):"",k=n.ordinal&&T?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",O=n[`defaultValue${P}`]||n[`defaultValue${k}`]||n.defaultValue;!this.isValidLookup(p)&&E&&(S=!0,p=O),this.isValidLookup(p)||(C=!0,p=s);const G=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&C?void 0:p,U=E&&O!==p&&this.options.updateMissing;if(C||S||U){if(this.logger.log(U?"updateKey":"missingKey",u,l,s,U?O:p),o){const B=this.resolve(s,{...n,keySeparator:!1});B&&B.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let A=[];const N=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&N&&N[0])for(let B=0;B{const j=E&&V!==p?V:G;this.options.missingKeyHandler?this.options.missingKeyHandler(B,l,D,j,U,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(B,l,D,j,U,n),this.emit("missingKey",B,l,D,p)};this.options.saveMissing&&(this.options.saveMissingPlurals&&T?A.forEach(B=>{this.pluralResolver.getSuffixes(B,n).forEach(D=>{F([B],s+D,n[`defaultValue${D}`]||O)})}):F(A,s,O))}p=this.extendTranslation(p,t,n,f,r),C&&p===s&&this.options.appendNamespaceToMissingKey&&(p=`${l}:${s}`),(C||S)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?p=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${s}`:s,S?p:void 0):p=this.options.parseMissingKeyHandler(p))}return i?(f.res=p,f):p}extendTranslation(t,n,r,i,o){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const u=typeof t=="string"&&(r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let d;if(u){const p=t.match(this.interpolator.nestingRegexp);d=p&&p.length}let f=r.replace&&typeof r.replace!="string"?r.replace:r;if(this.options.interpolation.defaultVariables&&(f={...this.options.interpolation.defaultVariables,...f}),t=this.interpolator.interpolate(t,f,r.lng||this.language,r),u){const p=t.match(this.interpolator.nestingRegexp),g=p&&p.length;d1&&arguments[1]!==void 0?arguments[1]:{},r,i,o,s,a;return typeof t=="string"&&(t=[t]),t.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),d=u.key;i=d;let f=u.namespaces;this.options.fallbackNS&&(f=f.concat(this.options.fallbackNS));const p=n.count!==void 0&&typeof n.count!="string",g=p&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),m=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",v=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);f.forEach(x=>{this.isValidLookup(r)||(a=x,!vO[`${v[0]}-${x}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(vO[`${v[0]}-${x}`]=!0,this.logger.warn(`key "${i}" for languages "${v.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),v.forEach(_=>{if(this.isValidLookup(r))return;s=_;const b=[d];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(b,d,_,x,n);else{let S;p&&(S=this.pluralResolver.getSuffix(_,n.count,n));const C=`${this.options.pluralSeparator}zero`,T=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(p&&(b.push(d+S),n.ordinal&&S.indexOf(T)===0&&b.push(d+S.replace(T,this.options.pluralSeparator)),g&&b.push(d+C)),m){const E=`${d}${this.options.contextSeparator}${n.context}`;b.push(E),p&&(b.push(E+S),n.ordinal&&S.indexOf(T)===0&&b.push(E+S.replace(T,this.options.pluralSeparator)),g&&b.push(E+C))}}let y;for(;y=b.pop();)this.isValidLookup(r)||(o=y,r=this.getResource(_,x,y,n))}))})}),{res:r,usedKey:i,exactUsedKey:o,usedLng:s,usedNS:a}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,n,r,i):this.resourceStore.getResource(t,n,r,i)}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}function Rx(e){return e.charAt(0).toUpperCase()+e.slice(1)}class _O{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Cs.create("languageUtils")}getScriptPartFromCode(t){if(t=K1(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=K1(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(typeof t=="string"&&t.indexOf("-")>-1){const n=["hans","hant","latn","cyrl","cans","mong","arab"];let r=t.split("-");return this.options.lowerCaseLng?r=r.map(i=>i.toLowerCase()):r.length===2?(r[0]=r[0].toLowerCase(),r[1]=r[1].toUpperCase(),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=Rx(r[1].toLowerCase()))):r.length===3&&(r[0]=r[0].toLowerCase(),r[1].length===2&&(r[1]=r[1].toUpperCase()),r[0]!=="sgn"&&r[2].length===2&&(r[2]=r[2].toUpperCase()),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=Rx(r[1].toLowerCase())),n.indexOf(r[2].toLowerCase())>-1&&(r[2]=Rx(r[2].toLowerCase()))),r.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const i=this.getLanguagePartFromCode(r);if(this.isSupportedCode(i))return n=i;n=this.options.supportedLngs.find(o=>{if(o===i)return o;if(!(o.indexOf("-")<0&&i.indexOf("-")<0)&&o.indexOf(i)===0)return o})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),typeof t=="string"&&(t=[t]),Object.prototype.toString.apply(t)==="[object Array]")return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),i=[],o=s=>{s&&(this.isSupportedCode(s)?i.push(s):this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`))};return typeof t=="string"&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(t))):typeof t=="string"&&o(this.formatLanguageCode(t)),r.forEach(s=>{i.indexOf(s)<0&&o(this.formatLanguageCode(s))}),i}}let t1e=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],n1e={1:function(e){return+(e>1)},2:function(e){return+(e!=1)},3:function(e){return 0},4:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},5:function(e){return e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},6:function(e){return e==1?0:e>=2&&e<=4?1:2},7:function(e){return e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},8:function(e){return e==1?0:e==2?1:e!=8&&e!=11?2:3},9:function(e){return+(e>=2)},10:function(e){return e==1?0:e==2?1:e<7?2:e<11?3:4},11:function(e){return e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3},12:function(e){return+(e%10!=1||e%100==11)},13:function(e){return+(e!==0)},14:function(e){return e==1?0:e==2?1:e==3?2:3},15:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2},16:function(e){return e%10==1&&e%100!=11?0:e!==0?1:2},17:function(e){return e==1||e%10==1&&e%100!=11?0:1},18:function(e){return e==0?0:e==1?1:2},19:function(e){return e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3},20:function(e){return e==1?0:e==0||e%100>0&&e%100<20?1:2},21:function(e){return e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0},22:function(e){return e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3}};const r1e=["v1","v2","v3"],i1e=["v4"],bO={zero:0,one:1,two:2,few:3,many:4,other:5};function o1e(){const e={};return t1e.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:n1e[t.fc]}})}),e}class s1e{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=Cs.create("pluralResolver"),(!this.options.compatibilityJSON||i1e.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=o1e()}addRule(t,n){this.rules[t]=n}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(K1(t),{type:n.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return this.shouldUseIntlApi()?r&&r.resolvedOptions().pluralCategories.length>1:r&&r.numbers.length>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(i=>`${n}${i}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((i,o)=>bO[i]-bO[o]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):r.numbers.map(i=>this.getSuffix(t,i,n)):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(t,r);return i?this.shouldUseIntlApi()?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:this.getSuffixRetroCompatible(i,n):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,n){const r=t.noAbs?t.plurals(n):t.plurals(Math.abs(n));let i=t.numbers[r];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(i===2?i="plural":i===1&&(i=""));const o=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return this.options.compatibilityJSON==="v1"?i===1?"":typeof i=="number"?`_plural_${i.toString()}`:o():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?o():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}shouldUseIntlApi(){return!r1e.includes(this.options.compatibilityJSON)}}function SO(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=Yve(e,t,n);return!o&&i&&typeof n=="string"&&(o=q1(e,n,r),o===void 0&&(o=q1(t,n,r))),o}class a1e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Cs.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(n=>n),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const n=t.interpolation;this.escape=n.escape!==void 0?n.escape:Zve,this.escapeValue=n.escapeValue!==void 0?n.escapeValue:!0,this.useRawValueToEscape=n.useRawValueToEscape!==void 0?n.useRawValueToEscape:!1,this.prefix=n.prefix?ld(n.prefix):n.prefixEscaped||"{{",this.suffix=n.suffix?ld(n.suffix):n.suffixEscaped||"}}",this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||",",this.unescapePrefix=n.unescapeSuffix?"":n.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":n.unescapeSuffix||"",this.nestingPrefix=n.nestingPrefix?ld(n.nestingPrefix):n.nestingPrefixEscaped||ld("$t("),this.nestingSuffix=n.nestingSuffix?ld(n.nestingSuffix):n.nestingSuffixEscaped||ld(")"),this.nestingOptionsSeparator=n.nestingOptionsSeparator?n.nestingOptionsSeparator:n.nestingOptionsSeparator||",",this.maxReplaces=n.maxReplaces?n.maxReplaces:1e3,this.alwaysFormat=n.alwaysFormat!==void 0?n.alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=`${this.prefix}(.+?)${this.suffix}`;this.regexp=new RegExp(t,"g");const n=`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;this.regexpUnescape=new RegExp(n,"g");const r=`${this.nestingPrefix}(.+?)${this.nestingSuffix}`;this.nestingRegexp=new RegExp(r,"g")}interpolate(t,n,r,i){let o,s,a;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(m){return m.replace(/\$/g,"$$$$")}const d=m=>{if(m.indexOf(this.formatSeparator)<0){const b=SO(n,l,m,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(b,void 0,r,{...i,...n,interpolationkey:m}):b}const v=m.split(this.formatSeparator),x=v.shift().trim(),_=v.join(this.formatSeparator).trim();return this.format(SO(n,l,x,this.options.keySeparator,this.options.ignoreJSONStructure),_,r,{...i,...n,interpolationkey:x})};this.resetRegExp();const f=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,p=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:m=>u(m)},{regex:this.regexp,safeValue:m=>this.escapeValue?u(this.escape(m)):u(m)}].forEach(m=>{for(a=0;o=m.regex.exec(t);){const v=o[1].trim();if(s=d(v),s===void 0)if(typeof f=="function"){const _=f(t,o,i);s=typeof _=="string"?_:""}else if(i&&Object.prototype.hasOwnProperty.call(i,v))s="";else if(p){s=o[0];continue}else this.logger.warn(`missed to pass in variable ${v} for interpolating ${t}`),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=gO(s));const x=m.safeValue(s);if(t=t.replace(o[0],x),p?(m.regex.lastIndex+=s.length,m.regex.lastIndex-=o[0].length):m.regex.lastIndex=0,a++,a>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,o,s;function a(l,u){const d=this.nestingOptionsSeparator;if(l.indexOf(d)<0)return l;const f=l.split(new RegExp(`${d}[ ]*{`));let p=`{${f[1]}`;l=f[0],p=this.interpolate(p,s);const g=p.match(/'/g),m=p.match(/"/g);(g&&g.length%2===0&&!m||m.length%2!==0)&&(p=p.replace(/'/g,'"'));try{s=JSON.parse(p),u&&(s={...u,...s})}catch(v){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,v),`${l}${d}${p}`}return delete s.defaultValue,l}for(;i=this.nestingRegexp.exec(t);){let l=[];s={...r},s=s.replace&&typeof s.replace!="string"?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let u=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const d=i[1].split(this.formatSeparator).map(f=>f.trim());i[1]=d.shift(),l=d,u=!0}if(o=n(a.call(this,i[1].trim(),s),s),o&&i[0]===t&&typeof o!="string")return o;typeof o!="string"&&(o=gO(o)),o||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${t}`),o=""),u&&(o=l.reduce((d,f)=>this.format(d,f,r.lng,{...r,interpolationkey:i[1].trim()}),o.trim())),t=t.replace(i[0],o),this.regexp.lastIndex=0}return t}}function l1e(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);t==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):t==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(s=>{if(!s)return;const[a,...l]=s.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,"");n[a.trim()]||(n[a.trim()]=u),u==="false"&&(n[a.trim()]=!1),u==="true"&&(n[a.trim()]=!0),isNaN(u)||(n[a.trim()]=parseInt(u,10))})}return{formatName:t,formatOptions:n}}function ud(e){const t={};return function(r,i,o){const s=i+JSON.stringify(o);let a=t[s];return a||(a=e(K1(i),o),t[s]=a),a(r)}}class u1e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Cs.create("formatter"),this.options=t,this.formats={number:ud((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return o=>i.format(o)}),currency:ud((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return o=>i.format(o)}),datetime:ud((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return o=>i.format(o)}),relativetime:ud((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return o=>i.format(o,r.range||"day")}),list:ud((n,r)=>{const i=new Intl.ListFormat(n,{...r});return o=>i.format(o)})},this.init(t)}init(t){const r=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=ud(n)}format(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return n.split(this.formatSeparator).reduce((a,l)=>{const{formatName:u,formatOptions:d}=l1e(l);if(this.formats[u]){let f=a;try{const p=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},g=p.locale||p.lng||i.locale||i.lng||r;f=this.formats[u](a,g,{...d,...i,...p})}catch(p){this.logger.warn(p)}return f}else this.logger.warn(`there was no format function for ${u}`);return a},t)}}function c1e(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}class d1e extends eS{constructor(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=Cs.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(r,i.backend,i)}queueLoad(t,n,r,i){const o={},s={},a={},l={};return t.forEach(u=>{let d=!0;n.forEach(f=>{const p=`${u}|${f}`;!r.reload&&this.store.hasResourceBundle(u,f)?this.state[p]=2:this.state[p]<0||(this.state[p]===1?s[p]===void 0&&(s[p]=!0):(this.state[p]=1,d=!1,s[p]===void 0&&(s[p]=!0),o[p]===void 0&&(o[p]=!0),l[f]===void 0&&(l[f]=!0)))}),d||(a[u]=!0)}),(Object.keys(o).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(s),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(l)}}loaded(t,n,r){const i=t.split("|"),o=i[0],s=i[1];n&&this.emit("failedLoading",o,s,n),r&&this.store.addResourceBundle(o,s,r),this.state[t]=n?-1:2;const a={};this.queue.forEach(l=>{Xve(l.loaded,[o],s),c1e(l,t),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{a[u]||(a[u]={});const d=l.loaded[u];d.length&&d.forEach(f=>{a[u][f]===void 0&&(a[u][f]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(l=>!l.done)}read(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!t.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:i,wait:o,callback:s});return}this.readingCalls++;const a=(u,d)=>{if(this.readingCalls--,this.waitingReads.length>0){const f=this.waitingReads.shift();this.read(f.lng,f.ns,f.fcName,f.tried,f.wait,f.callback)}if(u&&d&&i{this.read.call(this,t,n,r,i+1,o*2,s)},o);return}s(u,d)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(t,n);u&&typeof u.then=="function"?u.then(d=>a(null,d)).catch(a):a(null,u)}catch(u){a(u)}return}return l(t,n,a)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();typeof t=="string"&&(t=this.languageUtils.toResolveHierarchy(t)),typeof n=="string"&&(n=[n]);const o=this.queueLoad(t,n,r,i);if(!o.toLoad.length)return o.pending.length||i(),null;o.toLoad.forEach(s=>{this.loadOne(s)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),i=r[0],o=r[1];this.read(i,o,"read",void 0,void 0,(s,a)=>{s&&this.logger.warn(`${n}loading namespace ${o} for language ${i} failed`,s),!s&&a&&this.logger.log(`${n}loaded namespace ${o} for language ${i}`,a),this.loaded(t,s,a)})}saveMissing(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend&&this.backend.create){const l={...s,isUpdate:o},u=this.backend.create.bind(this.backend);if(u.length<6)try{let d;u.length===5?d=u(t,n,r,i,l):d=u(t,n,r,i),d&&typeof d.then=="function"?d.then(f=>a(null,f)).catch(a):a(null,d)}catch(d){a(d)}else u(t,n,r,i,a,l)}!t||!t[0]||this.store.addResource(t[0],n,r,i)}}}function wO(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let n={};if(typeof t[1]=="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const r=t[3]||t[2];Object.keys(r).forEach(i=>{n[i]=r[i]})}return n},interpolation:{escapeValue:!0,format:(e,t,n,r)=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function xO(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function R0(){}function f1e(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}class Mg extends eS{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=xO(t),this.services={},this.logger=Cs,this.modules={external:[]},f1e(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(typeof n.ns=="string"?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const i=wO();this.options={...i,...this.options,...xO(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);function o(d){return d?typeof d=="function"?new d:d:null}if(!this.options.isClone){this.modules.logger?Cs.init(o(this.modules.logger),this.options):Cs.init(null,this.options);let d;this.modules.formatter?d=this.modules.formatter:typeof Intl<"u"&&(d=u1e);const f=new _O(this.options);this.store=new yO(this.options.resources,this.options);const p=this.services;p.logger=Cs,p.resourceStore=this.store,p.languageUtils=f,p.pluralResolver=new s1e(f,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),d&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(p.formatter=o(d),p.formatter.init(p,this.options),this.options.interpolation.format=p.formatter.format.bind(p.formatter)),p.interpolator=new a1e(this.options),p.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},p.backendConnector=new d1e(o(this.modules.backend),p.resourceStore,p,this.options),p.backendConnector.on("*",function(g){for(var m=arguments.length,v=new Array(m>1?m-1:0),x=1;x1?m-1:0),x=1;x{g.init&&g.init(this)})}if(this.format=this.options.interpolation.format,r||(r=R0),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const d=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);d.length>0&&d[0]!=="dev"&&(this.options.lng=d[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(d=>{this[d]=function(){return t.store[d](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(d=>{this[d]=function(){return t.store[d](...arguments),t}});const l=Xh(),u=()=>{const d=(f,p)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(p),r(f,p)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return d(null,this.t.bind(this));this.changeLanguage(this.options.lng,d)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),l}loadResources(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:R0;const i=typeof t=="string"?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(i&&i.toLowerCase()==="cimode")return r();const o=[],s=a=>{if(!a)return;this.services.languageUtils.toResolveHierarchy(a).forEach(u=>{o.indexOf(u)<0&&o.push(u)})};i?s(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>s(l)),this.options.preload&&this.options.preload.forEach(a=>s(a)),this.services.backendConnector.load(o,this.options.ns,a=>{!a&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(a)})}else r(null)}reloadResources(t,n,r){const i=Xh();return t||(t=this.languages),n||(n=this.options.ns),r||(r=R0),this.services.backendConnector.reload(t,n,o=>{i.resolve(),r(o)}),i}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&wU.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const i=Xh();this.emit("languageChanging",t);const o=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},s=(l,u)=>{u?(o(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,i.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},a=l=>{!t&&!l&&this.services.languageDetector&&(l=[]);const u=typeof l=="string"?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||o(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,d=>{s(d,u)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(t),i}getFixedT(t,n,r){var i=this;const o=function(s,a){let l;if(typeof a!="object"){for(var u=arguments.length,d=new Array(u>2?u-2:0),f=2;f`${l.keyPrefix}${p}${m}`):g=l.keyPrefix?`${l.keyPrefix}${p}${s}`:s,i.t(g,l)};return typeof t=="string"?o.lng=t:o.lngs=t,o.ns=n,o.keyPrefix=r,o}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=this.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};if(n.precheck){const a=n.precheck(this,s);if(a!==void 0)return a}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(r,t)&&(!i||s(o,t)))}loadNamespaces(t,n){const r=Xh();return this.options.ns?(typeof t=="string"&&(t=[t]),t.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),n&&n(i)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=Xh();typeof t=="string"&&(t=[t]);const i=this.options.preload||[],o=t.filter(s=>i.indexOf(s)<0);return o.length?(this.options.preload=i.concat(o),this.loadResources(s=>{r.resolve(),n&&n(s)}),r):(n&&n(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services&&this.services.languageUtils||new _O(wO());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new Mg(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:R0;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const i={...this.options,...t,isClone:!0},o=new Mg(i);return(t.debug!==void 0||t.prefix!==void 0)&&(o.logger=o.logger.clone(t)),["store","services","language"].forEach(a=>{o[a]=this[a]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new yO(this.store.data,i),o.services.resourceStore=o.store),o.translator=new X1(o.services,i),o.translator.on("*",function(a){for(var l=arguments.length,u=new Array(l>1?l-1:0),d=1;dtypeof e=="string"?{title:e,status:"info",isClosable:!0,duration:2500}:{status:"info",isClosable:!0,duration:2500,...e},xU={isConnected:!1,isProcessing:!1,isGFPGANAvailable:!0,isESRGANAvailable:!0,shouldConfirmOnDelete:!0,currentStep:0,totalSteps:0,currentIteration:0,totalIterations:0,currentStatusHasSteps:!1,isCancelable:!0,enableImageDebugging:!1,toastQueue:[],progressImage:null,shouldAntialiasProgressImage:!1,sessionId:null,cancelType:"immediate",isCancelScheduled:!1,subscribedNodeIds:[],wereModelsReceived:!1,wasSchemaParsed:!1,consoleLogLevel:"debug",shouldLogToConsole:!0,statusTranslationKey:"common.statusDisconnected",canceledSession:"",isPersisted:!1,language:"en",isUploading:!1,isNodesEnabled:!1,shouldUseNSFWChecker:!1,shouldUseWatermarker:!1},CU=yn({name:"system",initialState:xU,reducers:{setIsProcessing:(e,t)=>{e.isProcessing=t.payload},setCurrentStatus:(e,t)=>{e.statusTranslationKey=t.payload},setShouldConfirmOnDelete:(e,t)=>{e.shouldConfirmOnDelete=t.payload},setIsCancelable:(e,t)=>{e.isCancelable=t.payload},setEnableImageDebugging:(e,t)=>{e.enableImageDebugging=t.payload},addToast:(e,t)=>{e.toastQueue.push(t.payload)},clearToastQueue:e=>{e.toastQueue=[]},cancelScheduled:e=>{e.isCancelScheduled=!0},scheduledCancelAborted:e=>{e.isCancelScheduled=!1},cancelTypeChanged:(e,t)=>{e.cancelType=t.payload},subscribedNodeIdsSet:(e,t)=>{e.subscribedNodeIds=t.payload},consoleLogLevelChanged:(e,t)=>{e.consoleLogLevel=t.payload},shouldLogToConsoleChanged:(e,t)=>{e.shouldLogToConsole=t.payload},shouldAntialiasProgressImageChanged:(e,t)=>{e.shouldAntialiasProgressImage=t.payload},isPersistedChanged:(e,t)=>{e.isPersisted=t.payload},languageChanged:(e,t)=>{e.language=t.payload},progressImageSet(e,t){e.progressImage=t.payload},setIsNodesEnabled(e,t){e.isNodesEnabled=t.payload},shouldUseNSFWCheckerChanged(e,t){e.shouldUseNSFWChecker=t.payload},shouldUseWatermarkerChanged(e,t){e.shouldUseWatermarker=t.payload}},extraReducers(e){e.addCase(K$,(t,n)=>{t.sessionId=n.payload.sessionId,t.canceledSession=""}),e.addCase(Y$,t=>{t.sessionId=null}),e.addCase(H$,t=>{t.isConnected=!0,t.isCancelable=!0,t.isProcessing=!1,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.currentIteration=0,t.totalIterations=0,t.statusTranslationKey="common.statusConnected"}),e.addCase(q$,t=>{t.isConnected=!1,t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusDisconnected"}),e.addCase(Z$,t=>{t.isCancelable=!0,t.isProcessing=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusGenerating"}),e.addCase(iF,(t,n)=>{const{step:r,total_steps:i,progress_image:o}=n.payload.data;t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!0,t.currentStep=r+1,t.totalSteps=i,t.progressImage=o??null,t.statusTranslationKey="common.statusGenerating"}),e.addCase(J$,(t,n)=>{const{data:r}=n.payload;t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusProcessingComplete",t.canceledSession===r.graph_execution_state_id&&(t.isProcessing=!1,t.isCancelable=!0)}),e.addCase(nF,t=>{t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null}),e.addCase(Em,t=>{t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.statusTranslationKey="common.statusPreparing"}),e.addCase(mc.fulfilled,(t,n)=>{t.canceledSession=n.meta.arg.session_id,t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Ku({title:Pp("toast.canceled"),status:"warning"}))}),e.addCase(sE,t=>{t.wasSchemaParsed=!0}),e.addMatcher(i$,(t,n)=>{var r;t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Ku({title:Pp("toast.serverError"),status:"error",description:((r=n.payload)==null?void 0:r.status)===422?"Validation Error":void 0}))}),e.addMatcher(y1e,(t,n)=>{t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusError",t.progressImage=null,t.toastQueue.push(Ku({title:Pp("toast.serverError"),status:"error",description:Qae(n.payload.data.error_type)}))})}}),{setIsProcessing:l7e,setShouldConfirmOnDelete:u7e,setCurrentStatus:c7e,setIsCancelable:d7e,setEnableImageDebugging:f7e,addToast:zn,clearToastQueue:h7e,cancelScheduled:p7e,scheduledCancelAborted:g7e,cancelTypeChanged:m7e,subscribedNodeIdsSet:y7e,consoleLogLevelChanged:v7e,shouldLogToConsoleChanged:_7e,isPersistedChanged:b7e,shouldAntialiasProgressImageChanged:S7e,languageChanged:w7e,progressImageSet:h1e,setIsNodesEnabled:x7e,shouldUseNSFWCheckerChanged:p1e,shouldUseWatermarkerChanged:g1e}=CU.actions,m1e=CU.reducer,y1e=Co(DT,lF,cF),v1e={searchFolder:null,advancedAddScanModel:null},TU=yn({name:"modelmanager",initialState:v1e,reducers:{setSearchFolder:(e,t)=>{e.searchFolder=t.payload},setAdvancedAddScanModel:(e,t)=>{e.advancedAddScanModel=t.payload}}}),{setSearchFolder:C7e,setAdvancedAddScanModel:T7e}=TU.actions,_1e=TU.reducer,EU={shift:!1},AU=yn({name:"hotkeys",initialState:EU,reducers:{shiftKeyPressed:(e,t)=>{e.shift=t.payload}}}),{shiftKeyPressed:E7e}=AU.actions,b1e=AU.reducer,S1e=WY(DJ);PU=Z3=void 0;var w1e=S1e,x1e=function(){var t=[],n=[],r=void 0,i=function(u){return r=u,function(d){return function(f){return w1e.compose.apply(void 0,n)(d)(f)}}},o=function(){for(var u,d,f=arguments.length,p=Array(f),g=0;g=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){n=n.call(e)},n:function(){var u=n.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(s)throw a}}}}function OU(e,t){if(e){if(typeof e=="string")return TO(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return TO(e,t)}}function TO(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,i=r.prefix,o=r.driver,s=r.persistWholeStore,a=r.serialize;try{var l=s?$1e:F1e;yield l(t,n,{prefix:i,driver:o,serialize:a})}catch(u){console.warn("redux-remember: persist error",u)}});return function(){return e.apply(this,arguments)}}();function RO(e,t,n,r,i,o,s){try{var a=e[o](s),l=a.value}catch(u){n(u);return}a.done?t(l):Promise.resolve(l).then(r,i)}function OO(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function s(l){RO(o,r,i,s,a,"next",l)}function a(l){RO(o,r,i,s,a,"throw",l)}s(void 0)})}}var U1e=function(){var e=OO(function*(t,n,r){var i=r.prefix,o=r.driver,s=r.serialize,a=r.unserialize,l=r.persistThrottle,u=r.persistDebounce,d=r.persistWholeStore;yield I1e(t,n,{prefix:i,driver:o,unserialize:a,persistWholeStore:d});var f={},p=function(){var g=OO(function*(){var m=RU(t.getState(),n);yield B1e(m,f,{prefix:i,driver:o,serialize:s,persistWholeStore:d}),cE(m,f)||t.dispatch({type:A1e,payload:m}),f=m});return function(){return g.apply(this,arguments)}}();u&&u>0?t.subscribe(R1e(p,u)):t.subscribe(P1e(p,l))});return function(n,r,i){return e.apply(this,arguments)}}();const z1e=U1e;function Ng(e){"@babel/helpers - typeof";return Ng=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ng(e)}function kO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Ix(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:n.state,i=arguments.length>1?arguments[1]:void 0;i.type&&(i.type==="@@INIT"||i.type.startsWith("@@redux/INIT"))&&(n.state=Ix({},r));var o=typeof t=="function"?t:Ff(t);switch(i.type){case J3:return n.state=o(Ix(Ix({},n.state),i.payload||{}),{type:J3}),n.state;default:return o(r,i)}}},W1e=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r.prefix,o=i===void 0?"@@remember-":i,s=r.serialize,a=s===void 0?function(x,_){return JSON.stringify(x)}:s,l=r.unserialize,u=l===void 0?function(x,_){return JSON.parse(x)}:l,d=r.persistThrottle,f=d===void 0?100:d,p=r.persistDebounce,g=r.persistWholeStore,m=g===void 0?!1:g;if(!t)throw Error("redux-remember error: driver required");if(!Array.isArray(n))throw Error("redux-remember error: rememberedKeys needs to be an array");var v=function(_){return function(b,y,S){var C=_(b,y,S);return z1e(C,n,{driver:t,prefix:o,serialize:a,unserialize:u,persistThrottle:f,persistDebounce:p,persistWholeStore:m}),C}};return v};const A7e=["chakra-ui-color-mode","i18nextLng","ROARR_FILTER","ROARR_LOG"],q1e="@@invokeai-",K1e=["cursorPosition","isCanvasInitialized","doesCanvasNeedScaling"],X1e=["pendingControlImages"],Y1e=["selection","selectedBoardId","galleryView"],Q1e=["schema","invocationTemplates"],Z1e=[],J1e=[],e_e=["currentIteration","currentStep","isCancelable","isConnected","isESRGANAvailable","isGFPGANAvailable","isProcessing","totalIterations","totalSteps","isCancelScheduled","progressImage","wereModelsReceived","wasSchemaParsed","isPersisted","isUploading"],t_e=["shouldShowImageDetails"],n_e={canvas:K1e,gallery:Y1e,generation:Z1e,nodes:Q1e,postprocessing:J1e,system:e_e,ui:t_e,controlNet:X1e},r_e=(e,t)=>{const n=rb(e,n_e[t]??[]);return JSON.stringify(n)},i_e={canvas:s$,gallery:gF,generation:Da,nodes:gU,postprocessing:vU,system:xU,config:UD,ui:t$,hotkeys:EU,controlNet:I3},o_e=(e,t)=>mae(JSON.parse(e),i_e[t]),IU=Re("nodes/textToImageGraphBuilt"),MU=Re("nodes/imageToImageGraphBuilt"),NU=Re("nodes/canvasGraphBuilt"),LU=Re("nodes/nodesGraphBuilt"),s_e=Co(IU,MU,NU,LU),a_e=e=>{if(s_e(e)&&e.payload.nodes){const t={};return{...e,payload:{...e.payload,nodes:t}}}return Ig.fulfilled.match(e)?{...e,payload:""}:sE.match(e)?{...e,payload:""}:e},l_e=["canvas/setCursorPosition","canvas/setStageCoordinates","canvas/setStageScale","canvas/setIsDrawing","canvas/setBoundingBoxCoordinates","canvas/setBoundingBoxDimensions","canvas/setIsDrawing","canvas/addPointToCurrentLine","socket/socketGeneratorProgress","socket/appSocketGeneratorProgress","hotkeys/shiftKeyPressed","@@REMEMBER_PERSISTED"],u_e=e=>e,c_e=()=>{Pe({actionCreator:Gue,effect:async(e,{dispatch:t,getState:n})=>{const r=Ie("canvas"),i=n(),{sessionId:o,isProcessing:s}=i.system,a=e.payload;if(s){if(!a){r.debug("No canvas session, skipping cancel");return}if(a!==o){r.debug({canvasSessionId:a,session_id:o},"Canvas session does not match global session, skipping cancel");return}t(mc({session_id:o}))}}})};Re("app/appStarted");const d_e=()=>{Pe({matcher:Se.endpoints.listImages.matchFulfilled,effect:async(e,{dispatch:t,unsubscribe:n,cancelActiveListeners:r})=>{if(e.meta.arg.queryCacheKey!==Bo({board_id:"none",categories:Vr}))return;r(),n();const i=e.payload;if(i.ids.length>0){const o=pn.getSelectors().selectAll(i)[0];t(Rs(o??null))}}})},dE=Hl.injectEndpoints({endpoints:e=>({getAppVersion:e.query({query:()=>({url:"app/version",method:"GET"}),providesTags:["AppVersion"],keepUnusedDataFor:864e5}),getAppConfig:e.query({query:()=>({url:"app/config",method:"GET"}),providesTags:["AppConfig"],keepUnusedDataFor:864e5})})}),{useGetAppVersionQuery:P7e,useGetAppConfigQuery:R7e}=dE,f_e=()=>{Pe({matcher:dE.endpoints.getAppConfig.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const{infill_methods:r=[],nsfw_methods:i=[],watermarking_methods:o=[]}=e.payload,s=t().generation.infillMethod;r.includes(s)||n(xue(r[0])),i.includes("nsfw_checker")||n(p1e(!1)),o.includes("invisible_watermark")||n(g1e(!1))}})},h_e=Re("app/appStarted"),p_e=()=>{Pe({actionCreator:h_e,effect:async(e,{unsubscribe:t,cancelActiveListeners:n})=>{n(),t()}})},fE={memoizeOptions:{resultEqualityCheck:nb}},DU=(e,t)=>{var f;const{generation:n,canvas:r,nodes:i,controlNet:o}=e,s=((f=n.initialImage)==null?void 0:f.imageName)===t,a=r.layerState.objects.some(p=>p.kind==="image"&&p.imageName===t),l=i.nodes.some(p=>ku(p.data.inputs,g=>{var m;return g.type==="image"&&((m=g.value)==null?void 0:m.image_name)===t})),u=ku(o.controlNets,p=>p.controlImage===t||p.processedControlImage===t);return{isInitialImage:s,isCanvasImage:a,isNodesImage:l,isControlNetImage:u}},g_e=si([e=>e],e=>{const{imagesToDelete:t}=e.deleteImageModal;return t.length?t.map(r=>DU(e,r.image_name)):[]},fE),m_e=()=>{Pe({matcher:Se.endpoints.deleteBoardAndImages.matchFulfilled,effect:async(e,{dispatch:t,getState:n})=>{const{deleted_images:r}=e.payload;let i=!1,o=!1,s=!1,a=!1;const l=n();r.forEach(u=>{const d=DU(l,u);d.isInitialImage&&!i&&(t(wT()),i=!0),d.isCanvasImage&&!o&&(t(xT()),o=!0),d.isNodesImage&&!s&&(t(aE()),s=!0),d.isControlNetImage&&!a&&(t(BT()),a=!0)})}})},y_e=()=>{Pe({matcher:Co(M3,k1),effect:async(e,{getState:t,dispatch:n,condition:r,cancelActiveListeners:i})=>{i();const o=t(),s=M3.match(e)?e.payload:o.gallery.selectedBoardId,l=(k1.match(e)?e.payload:o.gallery.galleryView)==="images"?Vr:wl,u={board_id:s??"none",categories:l};if(await r(()=>Se.endpoints.listImages.select(u)(t()).isSuccess,5e3)){const{data:f}=Se.endpoints.listImages.select(u)(t());if(f){const p=O1.selectAll(f)[0];n(Rs(p??null))}else n(Rs(null))}else n(Rs(null))}})},v_e=Re("canvas/canvasSavedToGallery"),__e=Re("canvas/canvasCopiedToClipboard"),b_e=Re("canvas/canvasDownloadedAsImage"),S_e=Re("canvas/canvasMerged"),w_e=Re("canvas/stagingAreaImageSaved");let $U=null,FU=null;const O7e=e=>{$U=e},nS=()=>$U,k7e=e=>{FU=e},x_e=()=>FU,C_e=async e=>new Promise((t,n)=>{e.toBlob(r=>{if(r){t(r);return}n("Unable to create Blob")})}),Q1=async(e,t)=>await C_e(e.toCanvas(t)),hE=async e=>{const t=nS();if(!t)return;const{shouldCropToBoundingBoxOnSave:n,boundingBoxCoordinates:r,boundingBoxDimensions:i}=e.canvas,o=t.clone();o.scale({x:1,y:1});const s=o.getAbsolutePosition(),a=n?{x:r.x+s.x,y:r.y+s.y,width:i.width,height:i.height}:o.getClientRect();return Q1(o,a)},T_e=e=>{navigator.clipboard.write([new ClipboardItem({[e.type]:e})])},E_e=()=>{Pe({actionCreator:__e,effect:async(e,{dispatch:t,getState:n})=>{const r=Jb.get().child({namespace:"canvasCopiedToClipboardListener"}),i=n(),o=await hE(i);if(!o){r.error("Problem getting base layer blob"),t(zn({title:"Problem Copying Canvas",description:"Unable to export base layer",status:"error"}));return}T_e(o),t(zn({title:"Canvas Copied to Clipboard",status:"success"}))}})},A_e=(e,t)=>{const n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),r.remove()},P_e=()=>{Pe({actionCreator:b_e,effect:async(e,{dispatch:t,getState:n})=>{const r=Jb.get().child({namespace:"canvasSavedToGalleryListener"}),i=n(),o=await hE(i);if(!o){r.error("Problem getting base layer blob"),t(zn({title:"Problem Downloading Canvas",description:"Unable to export base layer",status:"error"}));return}A_e(o,"canvas.png"),t(zn({title:"Canvas Downloaded",status:"success"}))}})},R_e=async()=>{const e=nS();if(!e)return;const t=e.clone();return t.scale({x:1,y:1}),Q1(t,t.getClientRect())},O_e=()=>{Pe({actionCreator:S_e,effect:async(e,{dispatch:t})=>{const n=Jb.get().child({namespace:"canvasCopiedToClipboardListener"}),r=await R_e();if(!r){n.error("Problem getting base layer blob"),t(zn({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const i=nS();if(!i){n.error("Problem getting canvas base layer"),t(zn({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const o=i.getClientRect({relativeTo:i.getParent()}),s=await t(Se.endpoints.uploadImage.initiate({file:new File([r],"mergedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Merged"}}})).unwrap(),{image_name:a}=s;t(Hue({kind:"image",layer:"base",imageName:a,...o}))}})},k_e=()=>{Pe({actionCreator:v_e,effect:async(e,{dispatch:t,getState:n})=>{const r=Ie("canvas"),i=n(),o=await hE(i);if(!o){r.error("Problem getting base layer blob"),t(zn({title:"Problem Saving Canvas",description:"Unable to export base layer",status:"error"}));return}const{autoAddBoardId:s}=i.gallery;t(Se.endpoints.uploadImage.initiate({file:new File([o],"savedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!1,board_id:s==="none"?void 0:s,crop_visible:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Saved to Gallery"}}}))}})},I_e=(e,t,n)=>{var f;if(!(Qde.match(e)||dR.match(e)||FT.match(e)||Zde.match(e)||fR.match(e))||fR.match(e)&&((f=n.controlNet.controlNets[e.payload.controlNetId])==null?void 0:f.shouldAutoConfig)===!0)return!1;const i=t.controlNet.controlNets[e.payload.controlNetId];if(!i)return!1;const{controlImage:o,processorType:s,shouldAutoConfig:a}=i;if(dR.match(e)&&!a)return!1;const l=s!=="none",u=t.system.isProcessing;return l&&!u&&!!o},M_e=()=>{Pe({predicate:I_e,effect:async(e,{dispatch:t,cancelActiveListeners:n,delay:r})=>{const i=Ie("session"),{controlNetId:o}=e.payload;n(),i.trace("ControlNet auto-process triggered"),await r(300),t($T({controlNetId:o}))}})},yc=Re("system/sessionReadyToInvoke"),BU=e=>(e==null?void 0:e.type)==="image_output",N_e=()=>{Pe({actionCreator:$T,effect:async(e,{dispatch:t,getState:n,take:r})=>{const i=Ie("session"),{controlNetId:o}=e.payload,s=n().controlNet.controlNets[o];if(!(s!=null&&s.controlImage)){i.error("Unable to process ControlNet image");return}const a={nodes:{[s.processorNode.id]:{...s.processorNode,is_intermediate:!0,image:{image_name:s.controlImage}}}},l=t(Ir({graph:a})),[u]=await r(p=>Ir.fulfilled.match(p)&&p.meta.requestId===l.requestId),d=u.payload.id;t(yc());const[f]=await r(p=>LT.match(p)&&p.payload.data.graph_execution_state_id===d);if(BU(f.payload.data.result)){const{image_name:p}=f.payload.data.result.image,[{payload:g}]=await r(v=>Se.endpoints.getImageDTO.matchFulfilled(v)&&v.payload.image_name===p),m=g;i.debug({controlNetId:e.payload,processedControlImage:m},"ControlNet image processed"),t(Yde({controlNetId:o,processedControlImage:m.image_name}))}}})},L_e=()=>{Pe({matcher:Se.endpoints.addImageToBoard.matchFulfilled,effect:e=>{const t=Ie("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Image added to board")}})},D_e=()=>{Pe({matcher:Se.endpoints.addImageToBoard.matchRejected,effect:e=>{const t=Ie("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Problem adding image to board")}})},pE=Re("deleteImageModal/imageDeletionConfirmed"),I7e=e=>e.gallery,M7e=si(e=>e,e=>e.gallery.selection[e.gallery.selection.length-1],fE),UU=si([e=>e],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{board_id:t,categories:n==="images"?Vr:wl,offset:0,limit:Xue,is_intermediate:!1}},fE),$_e=()=>{Pe({actionCreator:pE,effect:async(e,{dispatch:t,getState:n,condition:r})=>{var p;const{imageDTOs:i,imagesUsage:o}=e.payload;if(i.length!==1||o.length!==1)return;const s=i[0],a=o[0];if(!s||!a)return;t(UT(!1));const l=n(),u=(p=l.gallery.selection[l.gallery.selection.length-1])==null?void 0:p.image_name;if(s&&(s==null?void 0:s.image_name)===u){const{image_name:g}=s,m=UU(l),{data:v}=Se.endpoints.listImages.select(m)(l),x=v?pn.getSelectors().selectAll(v):[],_=x.findIndex(C=>C.image_name===g),b=x.filter(C=>C.image_name!==g),y=bl(_,0,b.length-1),S=b[y];t(Rs(S||null))}a.isCanvasImage&&t(xT()),a.isControlNetImage&&t(BT()),a.isInitialImage&&t(wT()),a.isNodesImage&&t(aE());const{requestId:d}=t(Se.endpoints.deleteImage.initiate(s));await r(g=>Se.endpoints.deleteImage.matchFulfilled(g)&&g.meta.requestId===d,3e4)&&t(Hl.util.invalidateTags([{type:"Board",id:s.board_id}]))}})},F_e=()=>{Pe({actionCreator:pE,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTOs:r,imagesUsage:i}=e.payload;if(!(r.length<1||i.length<1))try{await t(Se.endpoints.deleteImages.initiate({imageDTOs:r})).unwrap();const o=n(),s=UU(o),{data:a}=Se.endpoints.listImages.select(s)(o),l=a?pn.getSelectors().selectAll(a)[0]:void 0;t(Rs(l||null)),t(UT(!1)),i.some(u=>u.isCanvasImage)&&t(xT()),i.some(u=>u.isControlNetImage)&&t(BT()),i.some(u=>u.isInitialImage)&&t(wT()),i.some(u=>u.isNodesImage)&&t(aE())}catch{}}})},B_e=()=>{Pe({matcher:Se.endpoints.deleteImage.matchPending,effect:()=>{}})},U_e=()=>{Pe({matcher:Se.endpoints.deleteImage.matchFulfilled,effect:e=>{Ie("images").debug({imageDTO:e.meta.arg.originalArgs},"Image deleted")}})},z_e=()=>{Pe({matcher:Se.endpoints.deleteImage.matchRejected,effect:e=>{Ie("images").debug({imageDTO:e.meta.arg.originalArgs},"Unable to delete image")}})},zU=Re("dnd/dndDropped"),V_e=()=>{Pe({actionCreator:zU,effect:async(e,{dispatch:t})=>{const n=Ie("images"),{activeData:r,overData:i}=e.payload;if(r.payloadType==="IMAGE_DTO"?n.debug({activeData:r,overData:i},"Image dropped"):r.payloadType==="IMAGE_DTOS"?n.debug({activeData:r,overData:i},`Images (${r.payload.imageDTOs.length}) dropped`):n.debug({activeData:r,overData:i},"Unknown payload dropped"),i.actionType==="SET_CURRENT_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(Rs(r.payload.imageDTO));return}if(i.actionType==="SET_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(ob(r.payload.imageDTO));return}if(i.actionType==="SET_CONTROLNET_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{controlNetId:o}=i.context;t(FT({controlImage:r.payload.imageDTO.image_name,controlNetId:o}));return}if(i.actionType==="SET_CANVAS_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(l$(r.payload.imageDTO));return}if(i.actionType==="SET_NODES_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{fieldName:o,nodeId:s}=i.context;t(yU({nodeId:s,fieldName:o,value:r.payload.imageDTO}));return}if(i.actionType==="ADD_TO_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload,{boardId:s}=i.context;t(Se.endpoints.addImageToBoard.initiate({imageDTO:o,board_id:s}));return}if(i.actionType==="REMOVE_FROM_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload;t(Se.endpoints.removeImageFromBoard.initiate({imageDTO:o}));return}if(i.actionType==="ADD_TO_BOARD"&&r.payloadType==="IMAGE_DTOS"&&r.payload.imageDTOs){const{imageDTOs:o}=r.payload,{boardId:s}=i.context;t(Se.endpoints.addImagesToBoard.initiate({imageDTOs:o,board_id:s}));return}if(i.actionType==="REMOVE_FROM_BOARD"&&r.payloadType==="IMAGE_DTOS"&&r.payload.imageDTOs){const{imageDTOs:o}=r.payload;t(Se.endpoints.removeImagesFromBoard.initiate({imageDTOs:o}));return}}})},j_e=()=>{Pe({matcher:Se.endpoints.removeImageFromBoard.matchFulfilled,effect:e=>{const t=Ie("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Image removed from board")}})},G_e=()=>{Pe({matcher:Se.endpoints.removeImageFromBoard.matchRejected,effect:e=>{const t=Ie("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Problem removing image from board")}})},H_e=()=>{Pe({actionCreator:ofe,effect:async(e,{dispatch:t,getState:n})=>{const r=e.payload,i=n(),{shouldConfirmOnDelete:o}=i.system,s=g_e(n()),a=s.some(l=>l.isCanvasImage)||s.some(l=>l.isInitialImage)||s.some(l=>l.isControlNetImage)||s.some(l=>l.isNodesImage);if(o||a){t(UT(!0));return}t(pE({imageDTOs:r,imagesUsage:s}))}})},cd={title:"Image Uploaded",status:"success"},W_e=()=>{Pe({matcher:Se.endpoints.uploadImage.matchFulfilled,effect:(e,{dispatch:t,getState:n})=>{const r=Ie("images"),i=e.payload,o=n(),{autoAddBoardId:s}=o.gallery;r.debug({imageDTO:i},"Image uploaded");const{postUploadAction:a}=e.meta.arg.originalArgs;if(!(e.payload.is_intermediate&&!a)){if((a==null?void 0:a.type)==="TOAST"){const{toastOptions:l}=a;if(!s||s==="none")t(zn({...cd,...l}));else{t(Se.endpoints.addImageToBoard.initiate({board_id:s,imageDTO:i}));const{data:u}=Ui.endpoints.listAllBoards.select()(o),d=u==null?void 0:u.find(p=>p.board_id===s),f=d?`Added to board ${d.board_name}`:`Added to board ${s}`;t(zn({...cd,description:f}))}return}if((a==null?void 0:a.type)==="SET_CANVAS_INITIAL_IMAGE"){t(l$(i)),t(zn({...cd,description:"Set as canvas initial image"}));return}if((a==null?void 0:a.type)==="SET_CONTROLNET_IMAGE"){const{controlNetId:l}=a;t(FT({controlNetId:l,controlImage:i.image_name})),t(zn({...cd,description:"Set as control image"}));return}if((a==null?void 0:a.type)==="SET_INITIAL_IMAGE"){t(ob(i)),t(zn({...cd,description:"Set as initial image"}));return}if((a==null?void 0:a.type)==="SET_NODES_IMAGE"){const{nodeId:l,fieldName:u}=a;t(yU({nodeId:l,fieldName:u,value:i})),t(zn({...cd,description:`Set as node field ${u}`}));return}}}})},q_e=()=>{Pe({matcher:Se.endpoints.uploadImage.matchRejected,effect:(e,{dispatch:t})=>{const n=Ie("images"),r={arg:{...rb(e.meta.arg.originalArgs,["file","postUploadAction"]),file:""}};n.error({...r},"Image upload failed"),t(zn({title:"Image Upload Failed",description:e.error.message,status:"error"}))}})},K_e=Re("generation/initialImageSelected"),X_e=Re("generation/modelSelected"),Y_e=()=>{Pe({actionCreator:K_e,effect:(e,{dispatch:t})=>{if(!e.payload){t(zn(Ku({title:Pp("toast.imageNotLoadedDesc"),status:"error"})));return}t(ob(e.payload)),t(zn(Ku(Pp("toast.sentToImageToImage"))))}})},Q_e=()=>{Pe({actionCreator:X_e,effect:(e,{getState:t,dispatch:n})=>{var l;const r=Ie("models"),i=t(),o=QD.safeParse(e.payload);if(!o.success){r.error({error:o.error.format()},"Failed to parse main model");return}const s=o.data,{base_model:a}=s;if(((l=i.generation.model)==null?void 0:l.base_model)!==a){let u=0;tc(i.lora.loras,(p,g)=>{p.base_model!==a&&(n(bF(g)),u+=1)});const{vae:d}=i.generation;d&&d.base_model!==a&&(n(JD(null)),u+=1);const{controlNets:f}=i.controlNet;tc(f,(p,g)=>{var m;((m=p.model)==null?void 0:m.base_model)!==a&&(n(fF({controlNetId:g})),u+=1)}),u>0&&n(zn(Ku({title:`Base model changed, cleared ${u} incompatible submodel${u===1?"":"s"}`,status:"warning"})))}n(Sl(s))}})},t5=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),IO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),MO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),NO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),LO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),n5=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),Z_e=({base_model:e,model_type:t,model_name:n})=>`${e}/${t}/${n}`,dd=e=>{const t=[];return e.forEach(n=>{const r={...Ur(n),id:Z_e(n)};t.push(r)}),t},fa=Hl.injectEndpoints({endpoints:e=>({getOnnxModels:e.query({query:t=>{const n={model_type:"onnx",base_models:t};return`models/?${fv.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"OnnxModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"OnnxModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return IO.setAll(IO.getInitialState(),i)}}),getMainModels:e.query({query:t=>{const n={model_type:"main",base_models:t};return`models/?${fv.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"MainModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"MainModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return t5.setAll(t5.getInitialState(),i)}}),updateMainModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/main/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),importMainModels:e.mutation({query:({body:t})=>({url:"models/import",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),addMainModels:e.mutation({query:({body:t})=>({url:"models/add",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),deleteMainModels:e.mutation({query:({base_model:t,model_name:n,model_type:r})=>({url:`models/${t}/${r}/${n}`,method:"DELETE"}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),convertMainModels:e.mutation({query:({base_model:t,model_name:n,convert_dest_directory:r})=>({url:`models/convert/${t}/main/${n}`,method:"PUT",params:{convert_dest_directory:r}}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),mergeMainModels:e.mutation({query:({base_model:t,body:n})=>({url:`models/merge/${t}`,method:"PUT",body:n}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),syncModels:e.mutation({query:()=>({url:"models/sync",method:"POST"}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),getLoRAModels:e.query({query:()=>({url:"models/",params:{model_type:"lora"}}),providesTags:(t,n,r)=>{const i=[{type:"LoRAModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"LoRAModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return MO.setAll(MO.getInitialState(),i)}}),updateLoRAModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/lora/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"LoRAModel",id:Ke}]}),deleteLoRAModels:e.mutation({query:({base_model:t,model_name:n})=>({url:`models/${t}/lora/${n}`,method:"DELETE"}),invalidatesTags:[{type:"LoRAModel",id:Ke}]}),getControlNetModels:e.query({query:()=>({url:"models/",params:{model_type:"controlnet"}}),providesTags:(t,n,r)=>{const i=[{type:"ControlNetModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"ControlNetModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return NO.setAll(NO.getInitialState(),i)}}),getVaeModels:e.query({query:()=>({url:"models/",params:{model_type:"vae"}}),providesTags:(t,n,r)=>{const i=[{type:"VaeModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"VaeModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return n5.setAll(n5.getInitialState(),i)}}),getTextualInversionModels:e.query({query:()=>({url:"models/",params:{model_type:"embedding"}}),providesTags:(t,n,r)=>{const i=[{type:"TextualInversionModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"TextualInversionModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return LO.setAll(LO.getInitialState(),i)}}),getModelsInFolder:e.query({query:t=>({url:`/models/search?${fv.stringify(t,{})}`}),providesTags:(t,n,r)=>{const i=[{type:"ScannedModels",id:Ke}];return t&&i.push(...t.map(o=>({type:"ScannedModels",id:o}))),i}}),getCheckpointConfigs:e.query({query:()=>({url:"/models/ckpt_confs"})})})}),{useGetMainModelsQuery:N7e,useGetOnnxModelsQuery:L7e,useGetControlNetModelsQuery:D7e,useGetLoRAModelsQuery:$7e,useGetTextualInversionModelsQuery:F7e,useGetVaeModelsQuery:B7e,useUpdateMainModelsMutation:U7e,useDeleteMainModelsMutation:z7e,useImportMainModelsMutation:V7e,useAddMainModelsMutation:j7e,useConvertMainModelsMutation:G7e,useMergeMainModelsMutation:H7e,useDeleteLoRAModelsMutation:W7e,useUpdateLoRAModelsMutation:q7e,useSyncModelsMutation:K7e,useGetModelsInFolderQuery:X7e,useGetCheckpointConfigsQuery:Y7e}=fa,J_e=()=>{Pe({predicate:(e,t)=>fa.endpoints.getMainModels.matchFulfilled(t)&&!t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=Ie("models");r.info({models:e.payload.entities},`Main models loaded (${e.payload.ids.length})`);const i=t().generation.model;if(ku(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)&&(u==null?void 0:u.model_type)===(i==null?void 0:i.model_type)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(Sl(null));return}const l=QD.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse main model");return}n(Sl(l.data))}}),Pe({predicate:(e,t)=>fa.endpoints.getMainModels.matchFulfilled(t)&&t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=Ie("models");r.info({models:e.payload.entities},`SDXL Refiner models loaded (${e.payload.ids.length})`);const i=t().sdxl.refinerModel;if(ku(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)&&(u==null?void 0:u.model_type)===(i==null?void 0:i.model_type)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(pO(null)),n(Hve(!1));return}const l=YD.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse SDXL Refiner Model");return}n(pO(l.data))}}),Pe({matcher:fa.endpoints.getVaeModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=Ie("models");r.info({models:e.payload.entities},`VAEs loaded (${e.payload.ids.length})`);const i=t().generation.vae;if(i===null||ku(e.payload.entities,l=>(l==null?void 0:l.model_name)===(i==null?void 0:i.model_name)&&(l==null?void 0:l.base_model)===(i==null?void 0:i.base_model)))return;const s=n5.getSelectors().selectAll(e.payload)[0];if(!s){n(Sl(null));return}const a=vue.safeParse(s);if(!a.success){r.error({error:a.error.format()},"Failed to parse VAE model");return}n(JD(a.data))}}),Pe({matcher:fa.endpoints.getLoRAModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{Ie("models").info({models:e.payload.entities},`LoRAs loaded (${e.payload.ids.length})`);const i=t().lora.loras;tc(i,(o,s)=>{ku(e.payload.entities,l=>(l==null?void 0:l.model_name)===(o==null?void 0:o.model_name)&&(l==null?void 0:l.base_model)===(o==null?void 0:o.base_model))||n(bF(s))})}}),Pe({matcher:fa.endpoints.getControlNetModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{Ie("models").info({models:e.payload.entities},`ControlNet models loaded (${e.payload.ids.length})`);const i=t().controlNet.controlNets;tc(i,(o,s)=>{ku(e.payload.entities,l=>{var u,d;return(l==null?void 0:l.model_name)===((u=o==null?void 0:o.model)==null?void 0:u.model_name)&&(l==null?void 0:l.base_model)===((d=o==null?void 0:o.model)==null?void 0:d.base_model)})||n(fF({controlNetId:s}))})}}),Pe({matcher:fa.endpoints.getTextualInversionModels.matchFulfilled,effect:async e=>{Ie("models").info({models:e.payload.entities},`Embeddings loaded (${e.payload.ids.length})`)}})},$a=e=>JSON.parse(JSON.stringify(e)),r5=e=>!("$ref"in e),ebe=e=>!("$ref"in e),Q7e=500,tbe={integer:"integer",float:"float",number:"float",string:"string",boolean:"boolean",enum:"enum",ImageField:"image",image_collection:"image_collection",LatentsField:"latents",ConditioningField:"conditioning",UNetField:"unet",ClipField:"clip",VaeField:"vae",model:"model",refiner_model:"refiner_model",vae_model:"vae_model",lora_model:"lora_model",controlnet_model:"controlnet_model",ControlNetModelField:"controlnet_model",array:"array",item:"item",ColorField:"color",ControlField:"control",control:"control",cfg_scale:"float",control_weight:"float"},nbe=500,On=e=>`var(--invokeai-colors-${e}-${nbe})`,Z7e={integer:{color:"red",colorCssVar:On("red"),title:"Integer",description:"Integers are whole numbers, without a decimal point."},float:{color:"orange",colorCssVar:On("orange"),title:"Float",description:"Floats are numbers with a decimal point."},string:{color:"yellow",colorCssVar:On("yellow"),title:"String",description:"Strings are text."},boolean:{color:"green",colorCssVar:On("green"),title:"Boolean",description:"Booleans are true or false."},enum:{color:"blue",colorCssVar:On("blue"),title:"Enum",description:"Enums are values that may be one of a number of options."},image:{color:"purple",colorCssVar:On("purple"),title:"Image",description:"Images may be passed between nodes."},image_collection:{color:"purple",colorCssVar:On("purple"),title:"Image Collection",description:"A collection of images."},latents:{color:"pink",colorCssVar:On("pink"),title:"Latents",description:"Latents may be passed between nodes."},conditioning:{color:"cyan",colorCssVar:On("cyan"),title:"Conditioning",description:"Conditioning may be passed between nodes."},unet:{color:"red",colorCssVar:On("red"),title:"UNet",description:"UNet submodel."},clip:{color:"green",colorCssVar:On("green"),title:"Clip",description:"Tokenizer and text_encoder submodels."},vae:{color:"blue",colorCssVar:On("blue"),title:"Vae",description:"Vae submodel."},control:{color:"cyan",colorCssVar:On("cyan"),title:"Control",description:"Control info passed between nodes."},model:{color:"teal",colorCssVar:On("teal"),title:"Model",description:"Models are models."},refiner_model:{color:"teal",colorCssVar:On("teal"),title:"Refiner Model",description:"Models are models."},vae_model:{color:"teal",colorCssVar:On("teal"),title:"VAE",description:"Models are models."},lora_model:{color:"teal",colorCssVar:On("teal"),title:"LoRA",description:"Models are models."},controlnet_model:{color:"teal",colorCssVar:On("teal"),title:"ControlNet",description:"Models are models."},array:{color:"gray",colorCssVar:On("gray"),title:"Array",description:"TODO: Array type description."},item:{color:"gray",colorCssVar:On("gray"),title:"Collection Item",description:"TODO: Collection Item type description."},color:{color:"gray",colorCssVar:On("gray"),title:"Color",description:"A RGBA color."}},J7e=250,Mx=e=>{const t=e.$ref.split("/").slice(-1)[0];return t||"UNKNOWN FIELD TYPE"},rbe=({schemaObject:e,baseField:t})=>{const n={...t,type:"integer",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},ibe=({schemaObject:e,baseField:t})=>{const n={...t,type:"float",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},obe=({schemaObject:e,baseField:t})=>{const n={...t,type:"string",inputRequirement:"always",inputKind:"any",default:e.default??""};return e.minLength!==void 0&&(n.minLength=e.minLength),e.maxLength!==void 0&&(n.maxLength=e.maxLength),e.pattern!==void 0&&(n.pattern=e.pattern),n},sbe=({schemaObject:e,baseField:t})=>({...t,type:"boolean",inputRequirement:"always",inputKind:"any",default:e.default??!1}),abe=({schemaObject:e,baseField:t})=>({...t,type:"model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),lbe=({schemaObject:e,baseField:t})=>({...t,type:"refiner_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),ube=({schemaObject:e,baseField:t})=>({...t,type:"vae_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),cbe=({schemaObject:e,baseField:t})=>({...t,type:"lora_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),dbe=({schemaObject:e,baseField:t})=>({...t,type:"controlnet_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),fbe=({schemaObject:e,baseField:t})=>({...t,type:"image",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),hbe=({schemaObject:e,baseField:t})=>({...t,type:"image_collection",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),pbe=({schemaObject:e,baseField:t})=>({...t,type:"latents",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),gbe=({schemaObject:e,baseField:t})=>({...t,type:"conditioning",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),mbe=({schemaObject:e,baseField:t})=>({...t,type:"unet",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),ybe=({schemaObject:e,baseField:t})=>({...t,type:"clip",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),vbe=({schemaObject:e,baseField:t})=>({...t,type:"vae",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),_be=({schemaObject:e,baseField:t})=>({...t,type:"control",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),bbe=({schemaObject:e,baseField:t})=>{const n=e.enum??[];return{...t,type:"enum",enumType:e.type??"string",options:n,inputRequirement:"always",inputKind:"direct",default:e.default??n[0]}},DO=({baseField:e})=>({...e,type:"array",inputRequirement:"always",inputKind:"direct",default:[]}),$O=({baseField:e})=>({...e,type:"item",inputRequirement:"always",inputKind:"direct",default:void 0}),Sbe=({schemaObject:e,baseField:t})=>({...t,type:"color",inputRequirement:"always",inputKind:"direct",default:e.default??{r:127,g:127,b:127,a:255}}),VU=(e,t,n)=>{let r="";n&&t in n?r=n[t]??"UNKNOWN FIELD TYPE":e.type?e.enum?r="enum":e.type&&(r=e.type):e.allOf?r=Mx(e.allOf[0]):e.anyOf?r=Mx(e.anyOf[0]):e.oneOf&&(r=Mx(e.oneOf[0]));const i=tbe[r];if(!i)throw`Field type "${r}" is unknown!`;return i},wbe=(e,t,n)=>{const r=VU(e,t,n),i={name:t,title:e.title??"",description:e.description??""};if(["image"].includes(r))return fbe({schemaObject:e,baseField:i});if(["image_collection"].includes(r))return hbe({schemaObject:e,baseField:i});if(["latents"].includes(r))return pbe({schemaObject:e,baseField:i});if(["conditioning"].includes(r))return gbe({schemaObject:e,baseField:i});if(["unet"].includes(r))return mbe({schemaObject:e,baseField:i});if(["clip"].includes(r))return ybe({schemaObject:e,baseField:i});if(["vae"].includes(r))return vbe({schemaObject:e,baseField:i});if(["control"].includes(r))return _be({schemaObject:e,baseField:i});if(["model"].includes(r))return abe({schemaObject:e,baseField:i});if(["refiner_model"].includes(r))return lbe({schemaObject:e,baseField:i});if(["vae_model"].includes(r))return ube({schemaObject:e,baseField:i});if(["lora_model"].includes(r))return cbe({schemaObject:e,baseField:i});if(["controlnet_model"].includes(r))return dbe({schemaObject:e,baseField:i});if(["enum"].includes(r))return bbe({schemaObject:e,baseField:i});if(["integer"].includes(r))return rbe({schemaObject:e,baseField:i});if(["number","float"].includes(r))return ibe({schemaObject:e,baseField:i});if(["string"].includes(r))return obe({schemaObject:e,baseField:i});if(["boolean"].includes(r))return sbe({schemaObject:e,baseField:i});if(["array"].includes(r))return DO({schemaObject:e,baseField:i});if(["item"].includes(r))return $O({schemaObject:e,baseField:i});if(["color"].includes(r))return Sbe({schemaObject:e,baseField:i});if(["array"].includes(r))return DO({schemaObject:e,baseField:i});if(["item"].includes(r))return $O({schemaObject:e,baseField:i})},xbe=(e,t,n)=>{const r=e.$ref.split("/").slice(-1)[0];if(!r)throw Ie("nodes").error({refObject:$a(e)},"No output schema name found in ref object"),"No output schema name found in ref object";const i=t.components.schemas[r];if(!i)throw Ie("nodes").error({outputSchemaName:r},"Output schema not found"),"Output schema not found";return r5(i)?_T(i.properties,(s,a,l)=>{if(!["type","id"].includes(l)&&!["object"].includes(a.type)&&r5(a)){const u=VU(a,l,n);s[l]={name:l,title:a.title??"",description:a.description??"",type:u}}return s},{}):{}},Cbe=e=>e==="l2i"?["id","type","metadata"]:["id","type","is_intermediate","metadata"],Tbe=["Graph","InvocationMeta","MetadataAccumulatorInvocation"],Ebe=e=>{var r;return ID((r=e.components)==null?void 0:r.schemas,(i,o)=>o.includes("Invocation")&&!o.includes("InvocationOutput")&&!Tbe.some(s=>o.includes(s))).reduce((i,o)=>{var s,a,l,u,d;if(ebe(o)){const f=o.properties.type.default,p=Cbe(f),g=((s=o.ui)==null?void 0:s.title)??o.title.replace("Invocation",""),m=(a=o.ui)==null?void 0:a.type_hints,v={};if(f==="collect"){const y=o.properties.item;v.item={type:"item",name:"item",description:y.description??"",title:"Collection Item",inputKind:"connection",inputRequirement:"always",default:void 0}}else if(f==="iterate"){const y=o.properties.collection;v.collection={type:"array",name:"collection",title:y.title??"",default:[],description:y.description??"",inputRequirement:"always",inputKind:"connection"}}else _T(o.properties,(y,S,C)=>{if(!p.includes(C)&&r5(S)){const T=wbe(S,C,m);T&&(y[C]=T)}return y},v);const x=o.output;let _;if(f==="iterate"){const y=(u=(l=e.components)==null?void 0:l.schemas)==null?void 0:u.IterateInvocationOutput;_={item:{name:"item",title:(y==null?void 0:y.title)??"",description:(y==null?void 0:y.description)??"",type:"array"}}}else _=xbe(x,e,m);const b={title:g,type:f,tags:((d=o.ui)==null?void 0:d.tags)??[],description:o.description??"",inputs:v,outputs:_};Object.assign(i,{[f]:b})}return i},{})},Abe=()=>{Pe({actionCreator:Ig.fulfilled,effect:(e,{dispatch:t})=>{const n=Ie("system"),r=e.payload;n.debug({schemaJSON:r},"Dereferenced OpenAPI schema");const i=Ebe(r);n.debug({nodeTemplates:$a(i)},`Built ${bT(i)} node templates`),t(sE(i))}}),Pe({actionCreator:Ig.rejected,effect:()=>{Ie("system").error("Problem dereferencing OpenAPI Schema")}})},Pbe=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(Boolean).map(e=>[e.name,e]),Rbe=new Map(Pbe),Obe=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],i5=Symbol(".toJSON was called"),kbe=e=>{e[i5]=!0;const t=e.toJSON();return delete e[i5],t},Ibe=e=>Rbe.get(e)??Error,jU=({from:e,seen:t,to:n,forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a})=>{if(!n)if(Array.isArray(e))n=[];else if(!a&&FO(e)){const u=Ibe(e.name);n=new u}else n={};if(t.push(e),o>=i)return n;if(s&&typeof e.toJSON=="function"&&e[i5]!==!0)return kbe(e);const l=u=>jU({from:u,seen:[...t],forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a});for(const[u,d]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(d)){n[u]="[object Buffer]";continue}if(d!==null&&typeof d=="object"&&typeof d.pipe=="function"){n[u]="[object Stream]";continue}if(typeof d!="function"){if(!d||typeof d!="object"){n[u]=d;continue}if(!t.includes(e[u])){o++,n[u]=l(e[u]);continue}n[u]="[Circular]"}}for(const{property:u,enumerable:d}of Obe)typeof e[u]<"u"&&e[u]!==null&&Object.defineProperty(n,u,{value:FO(e[u])?l(e[u]):e[u],enumerable:r?!0:d,configurable:!0,writable:!0});return n};function gE(e,t={}){const{maxDepth:n=Number.POSITIVE_INFINITY,useToJSON:r=!0}=t;return typeof e=="object"&&e!==null?jU({from:e,seen:[],forceEnumerable:!0,maxDepth:n,depth:0,useToJSON:r,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}function FO(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}const Mbe=()=>{Pe({actionCreator:mc.pending,effect:()=>{}})},Nbe=()=>{Pe({actionCreator:mc.fulfilled,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session canceled (${n})`)}})},Lbe=()=>{Pe({actionCreator:mc.rejected,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:gE(r)},"Problem canceling session")}}})},Dbe=()=>{Pe({actionCreator:Ir.pending,effect:()=>{}})},$be=()=>{Pe({actionCreator:Ir.fulfilled,effect:e=>{const t=Ie("session"),n=e.payload;t.debug({session:$a(n)},`Session created (${n.id})`)}})},Fbe=()=>{Pe({actionCreator:Ir.rejected,effect:e=>{const t=Ie("session");if(e.payload){const{error:n,status:r}=e.payload,i=$a(e.meta.arg);t.error({graph:i,status:r,error:gE(n)},"Problem creating session")}}})},Bbe=()=>{Pe({actionCreator:mm.pending,effect:()=>{}})},Ube=()=>{Pe({actionCreator:mm.fulfilled,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session invoked (${n})`)}})},zbe=()=>{Pe({actionCreator:mm.rejected,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:gE(r)},"Problem invoking session")}}})},Vbe=()=>{Pe({actionCreator:yc,effect:(e,{getState:t,dispatch:n})=>{const r=Ie("session"),{sessionId:i}=t().system;i&&(r.debug({session_id:i},`Session ready to invoke (${i})})`),n(mm({session_id:i})))}})},jbe=()=>{Pe({actionCreator:G$,effect:(e,{dispatch:t,getState:n})=>{Ie("socketio").debug("Connected");const{nodes:i,config:o}=n(),{disabledTabs:s}=o;!i.schema&&!s.includes("nodes")&&t(Ig()),t(H$(e.payload)),t(fa.util.invalidateTags([{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"LoRAModel",id:Ke},{type:"ControlNetModel",id:Ke},{type:"VaeModel",id:Ke},{type:"TextualInversionModel",id:Ke},{type:"ScannedModels",id:Ke}])),t(dE.util.invalidateTags(["AppConfig","AppVersion"]))}})},Gbe=()=>{Pe({actionCreator:W$,effect:(e,{dispatch:t})=>{Ie("socketio").debug("Disconnected"),t(q$(e.payload))}})},Hbe=()=>{Pe({actionCreator:rF,effect:(e,{dispatch:t,getState:n})=>{const r=Ie("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored generator progress for canceled session");return}r.trace(e.payload,`Generator progress (${e.payload.data.node.type})`),t(iF(e.payload))}})},Wbe=()=>{Pe({actionCreator:tF,effect:(e,{dispatch:t})=>{Ie("socketio").debug(e.payload,"Session complete"),t(nF(e.payload))}})},qbe=["dataURL_image"],Kbe=()=>{Pe({actionCreator:LT,effect:async(e,{dispatch:t,getState:n})=>{const r=Ie("socketio"),{data:i}=e.payload;r.debug({data:$a(i)},`Invocation complete (${e.payload.data.node.type})`);const o=e.payload.data.graph_execution_state_id,{cancelType:s,isCancelScheduled:a}=n().system;s==="scheduled"&&a&&t(mc({session_id:o}));const{result:l,node:u,graph_execution_state_id:d}=i;if(BU(l)&&!qbe.includes(u.type)){const{image_name:f}=l.image,{canvas:p,gallery:g}=n(),m=await t(Se.endpoints.getImageDTO.initiate(f)).unwrap();if(d===p.layerState.stagingArea.sessionId&&t(jue(m)),!m.is_intermediate){const{autoAddBoardId:v}=g;t(v&&v!=="none"?Se.endpoints.addImageToBoard.initiate({board_id:v,imageDTO:m}):Se.util.updateQueryData("listImages",{board_id:"none",categories:Vr},b=>{pn.addOne(b,m)})),t(Se.util.invalidateTags([{type:"BoardImagesTotal",id:v},{type:"BoardAssetsTotal",id:v}]));const{selectedBoardId:x,shouldAutoSwitch:_}=g;_&&(v&&v!==x?(t(M3(v)),t(k1("images"))):v||t(k1("images")),t(Rs(m)))}t(h1e(null))}t(J$(e.payload))}})},Xbe=()=>{Pe({actionCreator:eF,effect:(e,{dispatch:t})=>{Ie("socketio").error(e.payload,`Invocation error (${e.payload.data.node.type})`),t(DT(e.payload))}})},Ybe=()=>{Pe({actionCreator:uF,effect:(e,{dispatch:t})=>{Ie("socketio").error(e.payload,`Invocation retrieval error (${e.payload.data.graph_execution_state_id})`),t(cF(e.payload))}})},Qbe=()=>{Pe({actionCreator:Q$,effect:(e,{dispatch:t,getState:n})=>{const r=Ie("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored invocation started for canceled session");return}r.debug(e.payload,`Invocation started (${e.payload.data.node.type})`),t(Z$(e.payload))}})},Zbe=()=>{Pe({actionCreator:oF,effect:(e,{dispatch:t})=>{const n=Ie("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load started: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(Kde(e.payload))}}),Pe({actionCreator:sF,effect:(e,{dispatch:t})=>{const n=Ie("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load complete: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(Xde(e.payload))}})},Jbe=()=>{Pe({actionCreator:aF,effect:(e,{dispatch:t})=>{Ie("socketio").error(e.payload,`Session retrieval error (${e.payload.data.graph_execution_state_id})`),t(lF(e.payload))}})},eSe=()=>{Pe({actionCreator:NT,effect:(e,{dispatch:t})=>{Ie("socketio").debug(e.payload,"Subscribed"),t(K$(e.payload))}})},tSe=()=>{Pe({actionCreator:X$,effect:(e,{dispatch:t})=>{Ie("socketio").debug(e.payload,"Unsubscribed"),t(Y$(e.payload))}})},nSe=()=>{Pe({actionCreator:w_e,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTO:r}=e.payload;try{const i=await t(Se.endpoints.changeImageIsIntermediate.initiate({imageDTO:r,is_intermediate:!1})).unwrap(),{autoAddBoardId:o}=n().gallery;o&&await t(Se.endpoints.addImageToBoard.initiate({imageDTO:i,board_id:o})),t(zn({title:"Image Saved",status:"success"}))}catch(i){t(zn({title:"Image Saving Failed",description:i==null?void 0:i.message,status:"error"}))}}})},eMe=["sd-1","sd-2","sdxl","sdxl-refiner"],rSe=["sd-1","sd-2","sdxl"],tMe=["sdxl-refiner"],iSe=()=>{Pe({actionCreator:r$,effect:async(e,{getState:t,dispatch:n})=>{var i;if(e.payload==="unifiedCanvas"){const o=(i=t().generation.model)==null?void 0:i.base_model;if(o&&["sd-1","sd-2"].includes(o))return;try{const s=n(fa.endpoints.getMainModels.initiate(rSe)),a=await s.unwrap();if(s.unsubscribe(),!a.ids.length){n(Sl(null));return}const u=t5.getSelectors().selectAll(a).filter(g=>["sd-1","sd-2"].includes(g.base_model))[0];if(!u){n(Sl(null));return}const{base_model:d,model_name:f,model_type:p}=u;n(Sl({base_model:d,model_name:f,model_type:p}))}catch{n(Sl(null))}}}})},gt="positive_conditioning",_t="negative_conditioning",cr="text_to_latents",Rt="latents_to_image",Dd="nsfw_checker",Yh="invisible_watermark",yt="noise",ms="rand_int",ha="range_of_size",vi="iterate",Gr="main_model_loader",mE="onnx_model_loader",Qh="vae_loader",GU="lora_loader",qt="clip_skip",un="image_to_latents",Un="latents_to_latents",ii="resize_image",fs="inpaint",O0="control_net_collect",Nx="dynamic_prompt",Ot="metadata_accumulator",BO="esrgan",Cn="sdxl_model_loader",ra="t2l_sdxl",Do="l2l_sdxl",fd="sdxl_refiner_model_loader",k0="sdxl_refiner_positive_conditioning",I0="sdxl_refiner_negative_conditioning",Su="l2l_sdxl_refiner",yE="text_to_image_graph",oSe="sdxl_text_to_image_graph",sSe="sxdl_image_to_image_graph",Z1="image_to_image_graph",HU="inpaint_graph",aSe=({image_name:e,esrganModelName:t})=>{const n={id:BO,type:"esrgan",image:{image_name:e},model_name:t,is_intermediate:!1};return{id:"adhoc-esrgan-graph",nodes:{[BO]:n},edges:[]}},lSe=Re("upscale/upscaleRequested"),uSe=()=>{Pe({actionCreator:lSe,effect:async(e,{dispatch:t,getState:n,take:r})=>{const{image_name:i}=e.payload,{esrganModelName:o}=n().postprocessing,s=aSe({image_name:i,esrganModelName:o});t(Ir({graph:s})),await r(Ir.fulfilled.match),t(yc())}})},cSe=e=>{const t=window.open("");t&&e.forEach(n=>{const r=new Image;r.src=n.base64,t.document.write(n.caption),t.document.write("
"),t.document.write(r.outerHTML),t.document.write("

")})},UO=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=i=>t(r.result),r.onerror=i=>n(r.error),r.onabort=i=>n(new Error("Read aborted")),r.readAsDataURL(e)});var vE={exports:{}},rS={},WU={},rt={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e._registerNode=e.Konva=e.glob=void 0;var t=Math.PI/180;function n(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}e.glob=typeof He<"u"?He:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},e.Konva={_global:e.glob,version:"9.2.0",isBrowser:n(),isUnminified:/param/.test((function(i){}).toString()),dblClickWindow:400,getAngle(i){return e.Konva.angleDeg?i*t:i},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,pixelRatio:typeof window<"u"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return e.Konva.DD.isDragging},isDragReady(){return!!e.Konva.DD.node},releaseCanvasOnDestroy:!0,document:e.glob.document,_injectGlobal(i){e.glob.Konva=i}};const r=i=>{e.Konva[i.prototype.getClassName()]=i};e._registerNode=r,e.Konva._injectGlobal(e.Konva)})(rt);var Sn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Util=e.Transform=void 0;const t=rt;class n{constructor(S=[1,0,0,1,0,0]){this.dirty=!1,this.m=S&&S.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new n(this.m)}copyInto(S){S.m[0]=this.m[0],S.m[1]=this.m[1],S.m[2]=this.m[2],S.m[3]=this.m[3],S.m[4]=this.m[4],S.m[5]=this.m[5]}point(S){var C=this.m;return{x:C[0]*S.x+C[2]*S.y+C[4],y:C[1]*S.x+C[3]*S.y+C[5]}}translate(S,C){return this.m[4]+=this.m[0]*S+this.m[2]*C,this.m[5]+=this.m[1]*S+this.m[3]*C,this}scale(S,C){return this.m[0]*=S,this.m[1]*=S,this.m[2]*=C,this.m[3]*=C,this}rotate(S){var C=Math.cos(S),T=Math.sin(S),E=this.m[0]*C+this.m[2]*T,P=this.m[1]*C+this.m[3]*T,k=this.m[0]*-T+this.m[2]*C,O=this.m[1]*-T+this.m[3]*C;return this.m[0]=E,this.m[1]=P,this.m[2]=k,this.m[3]=O,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(S,C){var T=this.m[0]+this.m[2]*C,E=this.m[1]+this.m[3]*C,P=this.m[2]+this.m[0]*S,k=this.m[3]+this.m[1]*S;return this.m[0]=T,this.m[1]=E,this.m[2]=P,this.m[3]=k,this}multiply(S){var C=this.m[0]*S.m[0]+this.m[2]*S.m[1],T=this.m[1]*S.m[0]+this.m[3]*S.m[1],E=this.m[0]*S.m[2]+this.m[2]*S.m[3],P=this.m[1]*S.m[2]+this.m[3]*S.m[3],k=this.m[0]*S.m[4]+this.m[2]*S.m[5]+this.m[4],O=this.m[1]*S.m[4]+this.m[3]*S.m[5]+this.m[5];return this.m[0]=C,this.m[1]=T,this.m[2]=E,this.m[3]=P,this.m[4]=k,this.m[5]=O,this}invert(){var S=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),C=this.m[3]*S,T=-this.m[1]*S,E=-this.m[2]*S,P=this.m[0]*S,k=S*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),O=S*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=C,this.m[1]=T,this.m[2]=E,this.m[3]=P,this.m[4]=k,this.m[5]=O,this}getMatrix(){return this.m}decompose(){var S=this.m[0],C=this.m[1],T=this.m[2],E=this.m[3],P=this.m[4],k=this.m[5],O=S*E-C*T;let M={x:P,y:k,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(S!=0||C!=0){var G=Math.sqrt(S*S+C*C);M.rotation=C>0?Math.acos(S/G):-Math.acos(S/G),M.scaleX=G,M.scaleY=O/G,M.skewX=(S*T+C*E)/O,M.skewY=0}else if(T!=0||E!=0){var U=Math.sqrt(T*T+E*E);M.rotation=Math.PI/2-(E>0?Math.acos(-T/U):-Math.acos(T/U)),M.scaleX=O/U,M.scaleY=U,M.skewX=0,M.skewY=(S*T+C*E)/O}return M.rotation=e.Util._getRotation(M.rotation),M}}e.Transform=n;var r="[object Array]",i="[object Number]",o="[object String]",s="[object Boolean]",a=Math.PI/180,l=180/Math.PI,u="#",d="",f="0",p="Konva warning: ",g="Konva error: ",m="rgb(",v={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,132,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,255,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,203],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:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],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,5]},x=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,_=[];const b=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(y){setTimeout(y,60)};e.Util={_isElement(y){return!!(y&&y.nodeType==1)},_isFunction(y){return!!(y&&y.constructor&&y.call&&y.apply)},_isPlainObject(y){return!!y&&y.constructor===Object},_isArray(y){return Object.prototype.toString.call(y)===r},_isNumber(y){return Object.prototype.toString.call(y)===i&&!isNaN(y)&&isFinite(y)},_isString(y){return Object.prototype.toString.call(y)===o},_isBoolean(y){return Object.prototype.toString.call(y)===s},isObject(y){return y instanceof Object},isValidSelector(y){if(typeof y!="string")return!1;var S=y[0];return S==="#"||S==="."||S===S.toUpperCase()},_sign(y){return y===0||y>0?1:-1},requestAnimFrame(y){_.push(y),_.length===1&&b(function(){const S=_;_=[],S.forEach(function(C){C()})})},createCanvasElement(){var y=document.createElement("canvas");try{y.style=y.style||{}}catch{}return y},createImageElement(){return document.createElement("img")},_isInDocument(y){for(;y=y.parentNode;)if(y==document)return!0;return!1},_urlToImage(y,S){var C=e.Util.createImageElement();C.onload=function(){S(C)},C.src=y},_rgbToHex(y,S,C){return((1<<24)+(y<<16)+(S<<8)+C).toString(16).slice(1)},_hexToRgb(y){y=y.replace(u,d);var S=parseInt(y,16);return{r:S>>16&255,g:S>>8&255,b:S&255}},getRandomColor(){for(var y=(Math.random()*16777215<<0).toString(16);y.length<6;)y=f+y;return u+y},getRGB(y){var S;return y in v?(S=v[y],{r:S[0],g:S[1],b:S[2]}):y[0]===u?this._hexToRgb(y.substring(1)):y.substr(0,4)===m?(S=x.exec(y.replace(/ /g,"")),{r:parseInt(S[1],10),g:parseInt(S[2],10),b:parseInt(S[3],10)}):{r:0,g:0,b:0}},colorToRGBA(y){return y=y||"black",e.Util._namedColorToRBA(y)||e.Util._hex3ColorToRGBA(y)||e.Util._hex4ColorToRGBA(y)||e.Util._hex6ColorToRGBA(y)||e.Util._hex8ColorToRGBA(y)||e.Util._rgbColorToRGBA(y)||e.Util._rgbaColorToRGBA(y)||e.Util._hslColorToRGBA(y)},_namedColorToRBA(y){var S=v[y.toLowerCase()];return S?{r:S[0],g:S[1],b:S[2],a:1}:null},_rgbColorToRGBA(y){if(y.indexOf("rgb(")===0){y=y.match(/rgb\(([^)]+)\)/)[1];var S=y.split(/ *, */).map(Number);return{r:S[0],g:S[1],b:S[2],a:1}}},_rgbaColorToRGBA(y){if(y.indexOf("rgba(")===0){y=y.match(/rgba\(([^)]+)\)/)[1];var S=y.split(/ *, */).map((C,T)=>C.slice(-1)==="%"?T===3?parseInt(C)/100:parseInt(C)/100*255:Number(C));return{r:S[0],g:S[1],b:S[2],a:S[3]}}},_hex8ColorToRGBA(y){if(y[0]==="#"&&y.length===9)return{r:parseInt(y.slice(1,3),16),g:parseInt(y.slice(3,5),16),b:parseInt(y.slice(5,7),16),a:parseInt(y.slice(7,9),16)/255}},_hex6ColorToRGBA(y){if(y[0]==="#"&&y.length===7)return{r:parseInt(y.slice(1,3),16),g:parseInt(y.slice(3,5),16),b:parseInt(y.slice(5,7),16),a:1}},_hex4ColorToRGBA(y){if(y[0]==="#"&&y.length===5)return{r:parseInt(y[1]+y[1],16),g:parseInt(y[2]+y[2],16),b:parseInt(y[3]+y[3],16),a:parseInt(y[4]+y[4],16)/255}},_hex3ColorToRGBA(y){if(y[0]==="#"&&y.length===4)return{r:parseInt(y[1]+y[1],16),g:parseInt(y[2]+y[2],16),b:parseInt(y[3]+y[3],16),a:1}},_hslColorToRGBA(y){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(y)){const[S,...C]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(y),T=Number(C[0])/360,E=Number(C[1])/100,P=Number(C[2])/100;let k,O,M;if(E===0)return M=P*255,{r:Math.round(M),g:Math.round(M),b:Math.round(M),a:1};P<.5?k=P*(1+E):k=P+E-P*E;const G=2*P-k,U=[0,0,0];for(let A=0;A<3;A++)O=T+1/3*-(A-1),O<0&&O++,O>1&&O--,6*O<1?M=G+(k-G)*6*O:2*O<1?M=k:3*O<2?M=G+(k-G)*(2/3-O)*6:M=G,U[A]=M*255;return{r:Math.round(U[0]),g:Math.round(U[1]),b:Math.round(U[2]),a:1}}},haveIntersection(y,S){return!(S.x>y.x+y.width||S.x+S.widthy.y+y.height||S.y+S.height1?(k=C,O=T,M=(C-E)*(C-E)+(T-P)*(T-P)):(k=y+U*(C-y),O=S+U*(T-S),M=(k-E)*(k-E)+(O-P)*(O-P))}return[k,O,M]},_getProjectionToLine(y,S,C){var T=e.Util.cloneObject(y),E=Number.MAX_VALUE;return S.forEach(function(P,k){if(!(!C&&k===S.length-1)){var O=S[(k+1)%S.length],M=e.Util._getProjectionToSegment(P.x,P.y,O.x,O.y,y.x,y.y),G=M[0],U=M[1],A=M[2];AS.length){var k=S;S=y,y=k}for(T=0;T{S.width=0,S.height=0})},drawRoundedRectPath(y,S,C,T){let E=0,P=0,k=0,O=0;typeof T=="number"?E=P=k=O=Math.min(T,S/2,C/2):(E=Math.min(T[0]||0,S/2,C/2),P=Math.min(T[1]||0,S/2,C/2),O=Math.min(T[2]||0,S/2,C/2),k=Math.min(T[3]||0,S/2,C/2)),y.moveTo(E,0),y.lineTo(S-P,0),y.arc(S-P,P,P,Math.PI*3/2,0,!1),y.lineTo(S,C-O),y.arc(S-O,C-O,O,0,Math.PI/2,!1),y.lineTo(k,C),y.arc(k,C-k,k,Math.PI/2,Math.PI,!1),y.lineTo(0,E),y.arc(E,E,E,Math.PI,Math.PI*3/2,!1)}}})(Sn);var fn={},nt={},ke={};Object.defineProperty(ke,"__esModule",{value:!0});ke.getComponentValidator=ke.getBooleanValidator=ke.getNumberArrayValidator=ke.getFunctionValidator=ke.getStringOrGradientValidator=ke.getStringValidator=ke.getNumberOrAutoValidator=ke.getNumberOrArrayOfNumbersValidator=ke.getNumberValidator=ke.alphaComponent=ke.RGBComponent=void 0;const Fa=rt,En=Sn;function Ba(e){return En.Util._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||En.Util._isBoolean(e)?e:Object.prototype.toString.call(e)}function dSe(e){return e>255?255:e<0?0:Math.round(e)}ke.RGBComponent=dSe;function fSe(e){return e>1?1:e<1e-4?1e-4:e}ke.alphaComponent=fSe;function hSe(){if(Fa.Konva.isUnminified)return function(e,t){return En.Util._isNumber(e)||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}ke.getNumberValidator=hSe;function pSe(e){if(Fa.Konva.isUnminified)return function(t,n){let r=En.Util._isNumber(t),i=En.Util._isArray(t)&&t.length==e;return!r&&!i&&En.Util.warn(Ba(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}ke.getNumberOrArrayOfNumbersValidator=pSe;function gSe(){if(Fa.Konva.isUnminified)return function(e,t){var n=En.Util._isNumber(e),r=e==="auto";return n||r||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}ke.getNumberOrAutoValidator=gSe;function mSe(){if(Fa.Konva.isUnminified)return function(e,t){return En.Util._isString(e)||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}ke.getStringValidator=mSe;function ySe(){if(Fa.Konva.isUnminified)return function(e,t){const n=En.Util._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}ke.getStringOrGradientValidator=ySe;function vSe(){if(Fa.Konva.isUnminified)return function(e,t){return En.Util._isFunction(e)||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a function.'),e}}ke.getFunctionValidator=vSe;function _Se(){if(Fa.Konva.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(En.Util._isArray(e)?e.forEach(function(r){En.Util._isNumber(r)||En.Util.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}ke.getNumberArrayValidator=_Se;function bSe(){if(Fa.Konva.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}ke.getBooleanValidator=bSe;function SSe(e){if(Fa.Konva.isUnminified)return function(t,n){return t==null||En.Util.isObject(t)||En.Util.warn(Ba(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}ke.getComponentValidator=SSe;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Factory=void 0;const t=Sn,n=ke;var r="get",i="set";e.Factory={addGetterSetter(o,s,a,l,u){e.Factory.addGetter(o,s,a),e.Factory.addSetter(o,s,l,u),e.Factory.addOverloadedGetterSetter(o,s)},addGetter(o,s,a){var l=r+t.Util._capitalize(s);o.prototype[l]=o.prototype[l]||function(){var u=this.attrs[s];return u===void 0?a:u}},addSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]||e.Factory.overWriteSetter(o,s,a,l)},overWriteSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]=function(d){return a&&d!==void 0&&d!==null&&(d=a.call(this,d,s)),this._setAttr(s,d),l&&l.call(this),this}},addComponentsGetterSetter(o,s,a,l,u){var d=a.length,f=t.Util._capitalize,p=r+f(s),g=i+f(s),m,v;o.prototype[p]=function(){var _={};for(m=0;m{this._setAttr(s+f(S),void 0)}),this._fireChangeEvent(s,b,_),u&&u.call(this),this},e.Factory.addOverloadedGetterSetter(o,s)},addOverloadedGetterSetter(o,s){var a=t.Util._capitalize(s),l=i+a,u=r+a;o.prototype[s]=function(){return arguments.length?(this[l](arguments[0]),this):this[u]()}},addDeprecatedGetterSetter(o,s,a,l){t.Util.error("Adding deprecated "+s);var u=r+t.Util._capitalize(s),d=s+" property is deprecated and will be removed soon. Look at Konva change log for more information.";o.prototype[u]=function(){t.Util.error(d);var f=this.attrs[s];return f===void 0?a:f},e.Factory.addSetter(o,s,l,function(){t.Util.error(d)}),e.Factory.addOverloadedGetterSetter(o,s)},backCompat(o,s){t.Util.each(s,function(a,l){var u=o.prototype[l],d=r+t.Util._capitalize(a),f=i+t.Util._capitalize(a);function p(){u.apply(this,arguments),t.Util.error('"'+a+'" method is deprecated and will be removed soon. Use ""'+l+'" instead.')}o.prototype[a]=p,o.prototype[d]=p,o.prototype[f]=p})},afterSetFilter(){this._filterUpToDate=!1}}})(nt);var Qo={},ba={};Object.defineProperty(ba,"__esModule",{value:!0});ba.HitContext=ba.SceneContext=ba.Context=void 0;const qU=Sn,wSe=rt;function xSe(e){var t=[],n=e.length,r=qU.Util,i,o;for(i=0;itypeof d=="number"?Math.floor(d):d)),o+=CSe+u.join(zO)+TSe)):(o+=a.property,t||(o+=OSe+a.val)),o+=PSe;return o}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=ISe&&n.shift()}reset(){var t=this.getCanvas().getPixelRatio();this.setTransform(1*t,0,0,1*t,0,0)}getCanvas(){return this.canvas}clear(t){var n=this.getCanvas();t?this.clearRect(t.x||0,t.y||0,t.width||0,t.height||0):this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(t){const n=t.attrs.lineCap;n&&this.setAttr("lineCap",n)}_applyOpacity(t){var n=t.getAbsoluteOpacity();n!==1&&this.setAttr("globalAlpha",n)}_applyLineJoin(t){const n=t.attrs.lineJoin;n&&this.setAttr("lineJoin",n)}setAttr(t,n){this._context[t]=n}arc(t,n,r,i,o,s){this._context.arc(t,n,r,i,o,s)}arcTo(t,n,r,i,o){this._context.arcTo(t,n,r,i,o)}beginPath(){this._context.beginPath()}bezierCurveTo(t,n,r,i,o,s){this._context.bezierCurveTo(t,n,r,i,o,s)}clearRect(t,n,r,i){this._context.clearRect(t,n,r,i)}clip(...t){this._context.clip.apply(this._context,t)}closePath(){this._context.closePath()}createImageData(t,n){var r=arguments;if(r.length===2)return this._context.createImageData(t,n);if(r.length===1)return this._context.createImageData(t)}createLinearGradient(t,n,r,i){return this._context.createLinearGradient(t,n,r,i)}createPattern(t,n){return this._context.createPattern(t,n)}createRadialGradient(t,n,r,i,o,s){return this._context.createRadialGradient(t,n,r,i,o,s)}drawImage(t,n,r,i,o,s,a,l,u){var d=arguments,f=this._context;d.length===3?f.drawImage(t,n,r):d.length===5?f.drawImage(t,n,r,i,o):d.length===9&&f.drawImage(t,n,r,i,o,s,a,l,u)}ellipse(t,n,r,i,o,s,a,l){this._context.ellipse(t,n,r,i,o,s,a,l)}isPointInPath(t,n,r,i){return r?this._context.isPointInPath(r,t,n,i):this._context.isPointInPath(t,n,i)}fill(...t){this._context.fill.apply(this._context,t)}fillRect(t,n,r,i){this._context.fillRect(t,n,r,i)}strokeRect(t,n,r,i){this._context.strokeRect(t,n,r,i)}fillText(t,n,r,i){i?this._context.fillText(t,n,r,i):this._context.fillText(t,n,r)}measureText(t){return this._context.measureText(t)}getImageData(t,n,r,i){return this._context.getImageData(t,n,r,i)}lineTo(t,n){this._context.lineTo(t,n)}moveTo(t,n){this._context.moveTo(t,n)}rect(t,n,r,i){this._context.rect(t,n,r,i)}putImageData(t,n,r){this._context.putImageData(t,n,r)}quadraticCurveTo(t,n,r,i){this._context.quadraticCurveTo(t,n,r,i)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,n){this._context.scale(t,n)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(t,n,r,i,o,s){this._context.setTransform(t,n,r,i,o,s)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,n,r,i){this._context.strokeText(t,n,r,i)}transform(t,n,r,i,o,s){this._context.transform(t,n,r,i,o,s)}translate(t,n){this._context.translate(t,n)}_enableTrace(){var t=this,n=VO.length,r=this.setAttr,i,o,s=function(a){var l=t[a],u;t[a]=function(){return o=xSe(Array.prototype.slice.call(arguments,0)),u=l.apply(t,arguments),t._trace({method:a,args:o}),u}};for(i=0;i{i.dragStatus==="dragging"&&(r=!0)}),r},justDragged:!1,get node(){var r;return e.DD._dragElements.forEach(i=>{r=i.node}),r},_dragElements:new Map,_drag(r){const i=[];e.DD._dragElements.forEach((o,s)=>{const{node:a}=o,l=a.getStage();l.setPointersPositions(r),o.pointerId===void 0&&(o.pointerId=n.Util._getFirstPointerId(r));const u=l._changedPointerPositions.find(p=>p.id===o.pointerId);if(u){if(o.dragStatus!=="dragging"){var d=a.dragDistance(),f=Math.max(Math.abs(u.x-o.startPointerPos.x),Math.abs(u.y-o.startPointerPos.y));if(f{o.fire("dragmove",{type:"dragmove",target:o,evt:r},!0)})},_endDragBefore(r){const i=[];e.DD._dragElements.forEach(o=>{const{node:s}=o,a=s.getStage();if(r&&a.setPointersPositions(r),!a._changedPointerPositions.find(d=>d.id===o.pointerId))return;(o.dragStatus==="dragging"||o.dragStatus==="stopped")&&(e.DD.justDragged=!0,t.Konva._mouseListenClick=!1,t.Konva._touchListenClick=!1,t.Konva._pointerListenClick=!1,o.dragStatus="stopped");const u=o.node.getLayer()||o.node instanceof t.Konva.Stage&&o.node;u&&i.indexOf(u)===-1&&i.push(u)}),i.forEach(o=>{o.draw()})},_endDragAfter(r){e.DD._dragElements.forEach((i,o)=>{i.dragStatus==="stopped"&&i.node.fire("dragend",{type:"dragend",target:i.node,evt:r},!0),i.dragStatus!=="dragging"&&e.DD._dragElements.delete(o)})}},t.Konva.isBrowser&&(window.addEventListener("mouseup",e.DD._endDragBefore,!0),window.addEventListener("touchend",e.DD._endDragBefore,!0),window.addEventListener("mousemove",e.DD._drag),window.addEventListener("touchmove",e.DD._drag),window.addEventListener("mouseup",e.DD._endDragAfter,!1),window.addEventListener("touchend",e.DD._endDragAfter,!1))})(sS);Object.defineProperty(fn,"__esModule",{value:!0});fn.Node=void 0;const ct=Sn,Am=nt,N0=Qo,wu=rt,uo=sS,Ln=ke;var _v="absoluteOpacity",L0="allEventListeners",la="absoluteTransform",jO="absoluteScale",xu="canvas",USe="Change",zSe="children",VSe="konva",o5="listening",GO="mouseenter",HO="mouseleave",WO="set",qO="Shape",bv=" ",KO="stage",sl="transform",jSe="Stage",s5="visible",GSe=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(bv);let HSe=1;class ze{constructor(t){this._id=HSe++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===sl||t===la)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){var r=this._cache.get(t),i=t===sl||t===la,o=r===void 0||i&&r.dirty===!0;return o&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const i=n.map(o=>o+"Change.konva").join(bv);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(xu)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===la&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(xu)){const{scene:t,filter:n,hit:r}=this._cache.get(xu);ct.Util.releaseCanvas(t,n,r),this._cache.delete(xu)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){var n=t||{},r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()}));var i=Math.ceil(n.width||r.width),o=Math.ceil(n.height||r.height),s=n.pixelRatio,a=n.x===void 0?Math.floor(r.x):n.x,l=n.y===void 0?Math.floor(r.y):n.y,u=n.offset||0,d=n.drawBorder||!1,f=n.hitCanvasPixelRatio||1;if(!i||!o){ct.Util.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}i+=u*2+1,o+=u*2+1,a-=u,l-=u;var p=new N0.SceneCanvas({pixelRatio:s,width:i,height:o}),g=new N0.SceneCanvas({pixelRatio:s,width:0,height:0,willReadFrequently:!0}),m=new N0.HitCanvas({pixelRatio:f,width:i,height:o}),v=p.getContext(),x=m.getContext();return m.isCache=!0,p.isCache=!0,this._cache.delete(xu),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(p.getContext()._context.imageSmoothingEnabled=!1,g.getContext()._context.imageSmoothingEnabled=!1),v.save(),x.save(),v.translate(-a,-l),x.translate(-a,-l),this._isUnderCache=!0,this._clearSelfAndDescendantCache(_v),this._clearSelfAndDescendantCache(jO),this.drawScene(p,this),this.drawHit(m,this),this._isUnderCache=!1,v.restore(),x.restore(),d&&(v.save(),v.beginPath(),v.rect(0,0,i,o),v.closePath(),v.setAttr("strokeStyle","red"),v.setAttr("lineWidth",5),v.stroke(),v.restore()),this._cache.set(xu,{scene:p,filter:g,hit:m,x:a,y:l}),this._requestDraw(),this}isCached(){return this._cache.has(xu)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){var r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}],i,o,s,a,l=this.getAbsoluteTransform(n);return r.forEach(function(u){var d=l.point(u);i===void 0&&(i=s=d.x,o=a=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),s=Math.max(s,d.x),a=Math.max(a,d.y)}),{x:i,y:o,width:s-i,height:a-o}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);var r=this._getCachedSceneCanvas(),i=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/i,r.height/i),t.restore()}_drawCachedHitCanvas(t){var n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){var t=this.filters(),n=this._getCanvasCache(),r=n.scene,i=n.filter,o=i.getContext(),s,a,l,u;if(t){if(!this._filterUpToDate){var d=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(s=t.length,o.clear(),o.drawImage(r._canvas,0,0,r.getWidth()/d,r.getHeight()/d),a=o.getImageData(0,0,i.getWidth(),i.getHeight()),l=0;l{var n,r;if(!t)return this;for(n in t)n!==zSe&&(r=WO+ct.Util._capitalize(n),ct.Util._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(o5,this._isListening)}_isListening(t){if(!this.listening())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isListening(t):!0}isVisible(){return this._getCache(s5,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);var r=this.getLayer(),i=!1;uo.DD._dragElements.forEach(s=>{s.dragStatus==="dragging"&&(s.node.nodeType==="Stage"||s.node.getLayer()===r)&&(i=!0)});var o=!n&&!wu.Konva.hitOnDragEnabled&&i;return this.isListening()&&this.isVisible()&&!o}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){var t=this.getDepth(),n=this,r=0,i,o,s,a;function l(u){for(i=[],o=u.length,s=0;s0&&i[0].getDepth()<=t&&l(i)}return n.nodeType!==jSe&&l(n.getStage().getChildren()),r}getDepth(){for(var t=0,n=this.parent;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(sl),this._clearSelfAndDescendantCache(la)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){if(!this.getStage())return null;var t=this.getStage().getPointerPosition();if(!t)return null;var n=this.getAbsoluteTransform().copy();return n.invert(),n.point(t)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);var i=this.getAbsoluteTransform(t).getMatrix(),o=new ct.Transform,s=this.offset();return o.m=i.slice(),o.translate(s.x,s.y),o.getTranslation()}setAbsolutePosition(t){var n=this._clearTransform();this.attrs.x=n.x,this.attrs.y=n.y,delete n.x,delete n.y,this._clearCache(sl);var r=this._getAbsoluteTransform().copy();return r.invert(),r.translate(t.x,t.y),t={x:this.attrs.x+r.getTranslation().x,y:this.attrs.y+r.getTranslation().y},this._setTransform(n),this.setPosition({x:t.x,y:t.y}),this._clearCache(sl),this._clearSelfAndDescendantCache(la),this}_setTransform(t){var n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){var t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){var n=t.x,r=t.y,i=this.x(),o=this.y();return n!==void 0&&(i+=n),r!==void 0&&(o+=r),this.setPosition({x:i,y:o}),this}_eachAncestorReverse(t,n){var r=[],i=this.getParent(),o,s;if(!(n&&n._id===this._id)){for(r.unshift(this);i&&(!n||i._id!==n._id);)r.unshift(i),i=i.parent;for(o=r.length,s=0;s0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return ct.Util.warn("Node has no parent. moveToBottom function is ignored."),!1;var t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return ct.Util.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&ct.Util.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");var n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(_v,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){var t=this.opacity(),n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){var t={},n=this.getAttrs(),r,i,o,s,a;t.attrs={};for(r in n)i=n[r],a=ct.Util.isObject(i)&&!ct.Util._isPlainObject(i)&&!ct.Util._isArray(i),!a&&(o=typeof this[r]=="function"&&this[r],delete n[r],s=o?o.call(this):null,n[r]=i,s!==i&&(t.attrs[r]=i));return t.className=this.getClassName(),ct.Util._prepareToStringify(t)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){var i=[];n&&this._isMatch(t)&&i.push(this);for(var o=this.parent;o;){if(o===r)return i;o._isMatch(t)&&i.push(o),o=o.parent}return i}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);var n=t.replace(/ /g,"").split(","),r=n.length,i,o;for(i=0;i{try{const i=t==null?void 0:t.callback;i&&delete t.callback,ct.Util._urlToImage(this.toDataURL(t),function(o){n(o),i==null||i(o)})}catch(i){r(i)}})}toBlob(t){return new Promise((n,r)=>{try{const i=t==null?void 0:t.callback;i&&delete t.callback,this.toCanvas(t).toBlob(o=>{n(o),i==null||i(o)})}catch(i){r(i)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():wu.Konva.dragDistance}_off(t,n,r){var i=this.eventListeners[t],o,s,a;for(o=0;o=0;if(r&&!this.isDragging()){var i=!1;uo.DD._dragElements.forEach(o=>{this.isAncestorOf(o.node)&&(i=!0)}),i||this._createDragElement(t)}})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{this._dragCleanup();var t=this.getStage();if(!t)return;const n=uo.DD._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&uo.DD._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return ct.Util.haveIntersection(r,this.getClientRect())}static create(t,n){return ct.Util._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=ze.prototype.getClassName.call(t),i=t.children,o,s,a;n&&(t.attrs.container=n),wu.Konva[r]||(ct.Util.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=wu.Konva[r];if(o=new l(t.attrs),i)for(s=i.length,a=0;a0}removeChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.destroy()}),this.children=[],this._requestDraw(),this}add(...t){if(t.length===0)return this;if(t.length>1){for(var n=0;n0?n[0]:void 0}_generalFind(t,n){var r=[];return this._descendants(i=>{const o=i._isMatch(t);return o&&r.push(i),!!(o&&n)}),r}_descendants(t){let n=!1;const r=this.getChildren();for(const i of r){if(n=t(i),n)return!0;if(i.hasChildren()&&(n=i._descendants(t),n))return!0}return!1}toObject(){var t=Lx.Node.prototype.toObject.call(this);return t.children=[],this.getChildren().forEach(n=>{t.children.push(n.toObject())}),t}isAncestorOf(t){for(var n=t.getParent();n;){if(n._id===this._id)return!0;n=n.getParent()}return!1}clone(t){var n=Lx.Node.prototype.clone.call(this,t);return this.getChildren().forEach(function(r){n.add(r.clone())}),n}getAllIntersections(t){var n=[];return this.find("Shape").forEach(function(r){r.isVisible()&&r.intersects(t)&&n.push(r)}),n}_clearSelfAndDescendantCache(t){var n;super._clearSelfAndDescendantCache(t),!this.isCached()&&((n=this.children)===null||n===void 0||n.forEach(function(r){r._clearSelfAndDescendantCache(t)}))}_setChildrenIndices(){var t;(t=this.children)===null||t===void 0||t.forEach(function(n,r){n.index=r}),this._requestDraw()}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas(),o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.scene,l=i&&i.isCache;if(!this.isVisible()&&!l)return this;if(a){o.save();var u=this.getAbsoluteTransform(n).getMatrix();o.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this._drawCachedSceneCanvas(o),o.restore()}else this._drawChildren("drawScene",i,n);return this}drawHit(t,n){if(!this.shouldDrawHit(n))return this;var r=this.getLayer(),i=t||r&&r.hitCanvas,o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.hit;if(a){o.save();var l=this.getAbsoluteTransform(n).getMatrix();o.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawCachedHitCanvas(o),o.restore()}else this._drawChildren("drawHit",i,n);return this}_drawChildren(t,n,r){var i,o=n&&n.getContext(),s=this.clipWidth(),a=this.clipHeight(),l=this.clipFunc(),u=s&&a||l;const d=r===this;if(u){o.save();var f=this.getAbsoluteTransform(r),p=f.getMatrix();o.transform(p[0],p[1],p[2],p[3],p[4],p[5]),o.beginPath();let x;if(l)x=l.call(this,o,this);else{var g=this.clipX(),m=this.clipY();o.rect(g,m,s,a)}o.clip.apply(o,x),p=f.copy().invert().getMatrix(),o.transform(p[0],p[1],p[2],p[3],p[4],p[5])}var v=!d&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";v&&(o.save(),o._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(x){x[t](n,r)}),v&&o.restore(),u&&o.restore()}getClientRect(t){var n;t=t||{};var r=t.skipTransform,i=t.relativeTo,o,s,a,l,u={x:1/0,y:1/0,width:0,height:0},d=this;(n=this.children)===null||n===void 0||n.forEach(function(v){if(v.visible()){var x=v.getClientRect({relativeTo:d,skipShadow:t.skipShadow,skipStroke:t.skipStroke});x.width===0&&x.height===0||(o===void 0?(o=x.x,s=x.y,a=x.x+x.width,l=x.y+x.height):(o=Math.min(o,x.x),s=Math.min(s,x.y),a=Math.max(a,x.x+x.width),l=Math.max(l,x.y+x.height)))}});for(var f=this.find("Shape"),p=!1,g=0;gle.indexOf("pointer")>=0?"pointer":le.indexOf("touch")>=0?"touch":"mouse",Z=le=>{const W=q(le);if(W==="pointer")return i.Konva.pointerEventsEnabled&&j.pointer;if(W==="touch")return j.touch;if(W==="mouse")return j.mouse};function ee(le={}){return(le.clipFunc||le.clipWidth||le.clipHeight)&&t.Util.warn("Stage does not support clipping. Please use clip for Layers or Groups."),le}const ie="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);";e.stages=[];class se extends r.Container{constructor(W){super(ee(W)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),e.stages.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{ee(this.attrs)}),this._checkVisibility()}_validateAdd(W){const ne=W.getType()==="Layer",fe=W.getType()==="FastLayer";ne||fe||t.Util.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const W=this.visible()?"":"none";this.content.style.display=W}setContainer(W){if(typeof W===d){if(W.charAt(0)==="."){var ne=W.slice(1);W=document.getElementsByClassName(ne)[0]}else{var fe;W.charAt(0)!=="#"?fe=W:fe=W.slice(1),W=document.getElementById(fe)}if(!W)throw"Can not find container in document with id "+fe}return this._setAttr("container",W),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),W.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var W=this.children,ne=W.length,fe;for(fe=0;fe-1&&e.stages.splice(ne,1),t.Util.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const W=this._pointerPositions[0]||this._changedPointerPositions[0];return W?{x:W.x,y:W.y}:(t.Util.warn(ie),null)}_getPointerById(W){return this._pointerPositions.find(ne=>ne.id===W)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(W){W=W||{},W.x=W.x||0,W.y=W.y||0,W.width=W.width||this.width(),W.height=W.height||this.height();var ne=new o.SceneCanvas({width:W.width,height:W.height,pixelRatio:W.pixelRatio||1}),fe=ne.getContext()._context,pe=this.children;return(W.x||W.y)&&fe.translate(-1*W.x,-1*W.y),pe.forEach(function(ve){if(ve.isVisible()){var ye=ve._toKonvaCanvas(W);fe.drawImage(ye._canvas,W.x,W.y,ye.getWidth()/ye.getPixelRatio(),ye.getHeight()/ye.getPixelRatio())}}),ne}getIntersection(W){if(!W)return null;var ne=this.children,fe=ne.length,pe=fe-1,ve;for(ve=pe;ve>=0;ve--){const ye=ne[ve].getIntersection(W);if(ye)return ye}return null}_resizeDOM(){var W=this.width(),ne=this.height();this.content&&(this.content.style.width=W+f,this.content.style.height=ne+f),this.bufferCanvas.setSize(W,ne),this.bufferHitCanvas.setSize(W,ne),this.children.forEach(fe=>{fe.setSize({width:W,height:ne}),fe.draw()})}add(W,...ne){if(arguments.length>1){for(var fe=0;feD&&t.Util.warn("The stage has "+pe+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),W.setSize({width:this.width(),height:this.height()}),W.draw(),i.Konva.isBrowser&&this.content.appendChild(W.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(W){return l.hasPointerCapture(W,this)}setPointerCapture(W){l.setPointerCapture(W,this)}releaseCapture(W){l.releaseCapture(W,this)}getLayers(){return this.children}_bindContentEvents(){i.Konva.isBrowser&&V.forEach(([W,ne])=>{this.content.addEventListener(W,fe=>{this[ne](fe)},{passive:!1})})}_pointerenter(W){this.setPointersPositions(W);const ne=Z(W.type);this._fire(ne.pointerenter,{evt:W,target:this,currentTarget:this})}_pointerover(W){this.setPointersPositions(W);const ne=Z(W.type);this._fire(ne.pointerover,{evt:W,target:this,currentTarget:this})}_getTargetShape(W){let ne=this[W+"targetShape"];return ne&&!ne.getStage()&&(ne=null),ne}_pointerleave(W){const ne=Z(W.type),fe=q(W.type);if(ne){this.setPointersPositions(W);var pe=this._getTargetShape(fe),ve=!s.DD.isDragging||i.Konva.hitOnDragEnabled;pe&&ve?(pe._fireAndBubble(ne.pointerout,{evt:W}),pe._fireAndBubble(ne.pointerleave,{evt:W}),this._fire(ne.pointerleave,{evt:W,target:this,currentTarget:this}),this[fe+"targetShape"]=null):ve&&(this._fire(ne.pointerleave,{evt:W,target:this,currentTarget:this}),this._fire(ne.pointerout,{evt:W,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(W){const ne=Z(W.type),fe=q(W.type);if(ne){this.setPointersPositions(W);var pe=!1;this._changedPointerPositions.forEach(ve=>{var ye=this.getIntersection(ve);if(s.DD.justDragged=!1,i.Konva["_"+fe+"ListenClick"]=!0,!(ye&&ye.isListening()))return;i.Konva.capturePointerEventsEnabled&&ye.setPointerCapture(ve.id),this[fe+"ClickStartShape"]=ye,ye._fireAndBubble(ne.pointerdown,{evt:W,pointerId:ve.id}),pe=!0;const Me=W.type.indexOf("touch")>=0;ye.preventDefault()&&W.cancelable&&Me&&W.preventDefault()}),pe||this._fire(ne.pointerdown,{evt:W,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(W){const ne=Z(W.type),fe=q(W.type);if(!ne)return;s.DD.isDragging&&s.DD.node.preventDefault()&&W.cancelable&&W.preventDefault(),this.setPointersPositions(W);var pe=!s.DD.isDragging||i.Konva.hitOnDragEnabled;if(!pe)return;var ve={};let ye=!1;var We=this._getTargetShape(fe);this._changedPointerPositions.forEach(Me=>{const Ee=l.getCapturedShape(Me.id)||this.getIntersection(Me),lt=Me.id,_e={evt:W,pointerId:lt};var jt=We!==Ee;if(jt&&We&&(We._fireAndBubble(ne.pointerout,Object.assign({},_e),Ee),We._fireAndBubble(ne.pointerleave,Object.assign({},_e),Ee)),Ee){if(ve[Ee._id])return;ve[Ee._id]=!0}Ee&&Ee.isListening()?(ye=!0,jt&&(Ee._fireAndBubble(ne.pointerover,Object.assign({},_e),We),Ee._fireAndBubble(ne.pointerenter,Object.assign({},_e),We),this[fe+"targetShape"]=Ee),Ee._fireAndBubble(ne.pointermove,Object.assign({},_e))):We&&(this._fire(ne.pointerover,{evt:W,target:this,currentTarget:this,pointerId:lt}),this[fe+"targetShape"]=null)}),ye||this._fire(ne.pointermove,{evt:W,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(W){const ne=Z(W.type),fe=q(W.type);if(!ne)return;this.setPointersPositions(W);const pe=this[fe+"ClickStartShape"],ve=this[fe+"ClickEndShape"];var ye={};let We=!1;this._changedPointerPositions.forEach(Me=>{const Ee=l.getCapturedShape(Me.id)||this.getIntersection(Me);if(Ee){if(Ee.releaseCapture(Me.id),ye[Ee._id])return;ye[Ee._id]=!0}const lt=Me.id,_e={evt:W,pointerId:lt};let jt=!1;i.Konva["_"+fe+"InDblClickWindow"]?(jt=!0,clearTimeout(this[fe+"DblTimeout"])):s.DD.justDragged||(i.Konva["_"+fe+"InDblClickWindow"]=!0,clearTimeout(this[fe+"DblTimeout"])),this[fe+"DblTimeout"]=setTimeout(function(){i.Konva["_"+fe+"InDblClickWindow"]=!1},i.Konva.dblClickWindow),Ee&&Ee.isListening()?(We=!0,this[fe+"ClickEndShape"]=Ee,Ee._fireAndBubble(ne.pointerup,Object.assign({},_e)),i.Konva["_"+fe+"ListenClick"]&&pe&&pe===Ee&&(Ee._fireAndBubble(ne.pointerclick,Object.assign({},_e)),jt&&ve&&ve===Ee&&Ee._fireAndBubble(ne.pointerdblclick,Object.assign({},_e)))):(this[fe+"ClickEndShape"]=null,i.Konva["_"+fe+"ListenClick"]&&this._fire(ne.pointerclick,{evt:W,target:this,currentTarget:this,pointerId:lt}),jt&&this._fire(ne.pointerdblclick,{evt:W,target:this,currentTarget:this,pointerId:lt}))}),We||this._fire(ne.pointerup,{evt:W,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),i.Konva["_"+fe+"ListenClick"]=!1,W.cancelable&&fe!=="touch"&&W.preventDefault()}_contextmenu(W){this.setPointersPositions(W);var ne=this.getIntersection(this.getPointerPosition());ne&&ne.isListening()?ne._fireAndBubble(G,{evt:W}):this._fire(G,{evt:W,target:this,currentTarget:this})}_wheel(W){this.setPointersPositions(W);var ne=this.getIntersection(this.getPointerPosition());ne&&ne.isListening()?ne._fireAndBubble(B,{evt:W}):this._fire(B,{evt:W,target:this,currentTarget:this})}_pointercancel(W){this.setPointersPositions(W);const ne=l.getCapturedShape(W.pointerId)||this.getIntersection(this.getPointerPosition());ne&&ne._fireAndBubble(C,l.createEvent(W)),l.releaseCapture(W.pointerId)}_lostpointercapture(W){l.releaseCapture(W.pointerId)}setPointersPositions(W){var ne=this._getContentPosition(),fe=null,pe=null;W=W||window.event,W.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(W.touches,ve=>{this._pointerPositions.push({id:ve.identifier,x:(ve.clientX-ne.left)/ne.scaleX,y:(ve.clientY-ne.top)/ne.scaleY})}),Array.prototype.forEach.call(W.changedTouches||W.touches,ve=>{this._changedPointerPositions.push({id:ve.identifier,x:(ve.clientX-ne.left)/ne.scaleX,y:(ve.clientY-ne.top)/ne.scaleY})})):(fe=(W.clientX-ne.left)/ne.scaleX,pe=(W.clientY-ne.top)/ne.scaleY,this.pointerPos={x:fe,y:pe},this._pointerPositions=[{x:fe,y:pe,id:t.Util._getFirstPointerId(W)}],this._changedPointerPositions=[{x:fe,y:pe,id:t.Util._getFirstPointerId(W)}])}_setPointerPosition(W){t.Util.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(W)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var W=this.content.getBoundingClientRect();return{top:W.top,left:W.left,scaleX:W.width/this.content.clientWidth||1,scaleY:W.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new o.SceneCanvas({width:this.width(),height:this.height()}),this.bufferHitCanvas=new o.HitCanvas({pixelRatio:1,width:this.width(),height:this.height()}),!!i.Konva.isBrowser){var W=this.container();if(!W)throw"Stage has no container. A container is required.";W.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),W.appendChild(this.content),this._resizeDOM()}}cache(){return t.Util.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(W){W.batchDraw()}),this}}e.Stage=se,se.prototype.nodeType=u,(0,a._registerNode)(se),n.Factory.addGetterSetter(se,"container")})(YU);var Pm={},rr={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.shapes=void 0;const t=rt,n=Sn,r=nt,i=fn,o=ke,s=rt,a=Vi;var l="hasShadow",u="shadowRGBA",d="patternImage",f="linearGradient",p="radialGradient";let g;function m(){return g||(g=n.Util.createCanvasElement().getContext("2d"),g)}e.shapes={};function v(k){const O=this.attrs.fillRule;O?k.fill(O):k.fill()}function x(k){k.stroke()}function _(k){k.fill()}function b(k){k.stroke()}function y(){this._clearCache(l)}function S(){this._clearCache(u)}function C(){this._clearCache(d)}function T(){this._clearCache(f)}function E(){this._clearCache(p)}class P extends i.Node{constructor(O){super(O);let M;for(;M=n.Util.getRandomColor(),!(M&&!(M in e.shapes)););this.colorKey=M,e.shapes[M]=this}getContext(){return n.Util.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return n.Util.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(l,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(d,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var O=m();const M=O.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(M&&M.setTransform){const G=new n.Transform;G.translate(this.fillPatternX(),this.fillPatternY()),G.rotate(t.Konva.getAngle(this.fillPatternRotation())),G.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),G.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const U=G.getMatrix(),A=typeof DOMMatrix>"u"?{a:U[0],b:U[1],c:U[2],d:U[3],e:U[4],f:U[5]}:new DOMMatrix(U);M.setTransform(A)}return M}}_getLinearGradient(){return this._getCache(f,this.__getLinearGradient)}__getLinearGradient(){var O=this.fillLinearGradientColorStops();if(O){for(var M=m(),G=this.fillLinearGradientStartPoint(),U=this.fillLinearGradientEndPoint(),A=M.createLinearGradient(G.x,G.y,U.x,U.y),N=0;Nthis.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const O=this.hitStrokeWidth();return O==="auto"?this.hasStroke():this.strokeEnabled()&&!!O}intersects(O){var M=this.getStage(),G=M.bufferHitCanvas,U;return G.getContext().clear(),this.drawHit(G,null,!0),U=G.context.getImageData(Math.round(O.x),Math.round(O.y),1,1).data,U[3]>0}destroy(){return i.Node.prototype.destroy.call(this),delete e.shapes[this.colorKey],delete this.colorKey,this}_useBufferCanvas(O){var M;if(!this.getStage()||!((M=this.attrs.perfectDrawEnabled)!==null&&M!==void 0?M:!0))return!1;const U=O||this.hasFill(),A=this.hasStroke(),N=this.getAbsoluteOpacity()!==1;if(U&&A&&N)return!0;const F=this.hasShadow(),B=this.shadowForStrokeEnabled();return!!(U&&A&&F&&B)}setStrokeHitEnabled(O){n.Util.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),O?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var O=this.size();return{x:this._centroid?-O.width/2:0,y:this._centroid?-O.height/2:0,width:O.width,height:O.height}}getClientRect(O={}){const M=O.skipTransform,G=O.relativeTo,U=this.getSelfRect(),N=!O.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,F=U.width+N,B=U.height+N,D=!O.skipShadow&&this.hasShadow(),V=D?this.shadowOffsetX():0,j=D?this.shadowOffsetY():0,q=F+Math.abs(V),Z=B+Math.abs(j),ee=D&&this.shadowBlur()||0,ie=q+ee*2,se=Z+ee*2,le={width:ie,height:se,x:-(N/2+ee)+Math.min(V,0)+U.x,y:-(N/2+ee)+Math.min(j,0)+U.y};return M?le:this._transformedRect(le,G)}drawScene(O,M){var G=this.getLayer(),U=O||G.getCanvas(),A=U.getContext(),N=this._getCanvasCache(),F=this.getSceneFunc(),B=this.hasShadow(),D,V,j,q=U.isCache,Z=M===this;if(!this.isVisible()&&!Z)return this;if(N){A.save();var ee=this.getAbsoluteTransform(M).getMatrix();return A.transform(ee[0],ee[1],ee[2],ee[3],ee[4],ee[5]),this._drawCachedSceneCanvas(A),A.restore(),this}if(!F)return this;if(A.save(),this._useBufferCanvas()&&!q){D=this.getStage(),V=D.bufferCanvas,j=V.getContext(),j.clear(),j.save(),j._applyLineJoin(this);var ie=this.getAbsoluteTransform(M).getMatrix();j.transform(ie[0],ie[1],ie[2],ie[3],ie[4],ie[5]),F.call(this,j,this),j.restore();var se=V.pixelRatio;B&&A._applyShadow(this),A._applyOpacity(this),A._applyGlobalCompositeOperation(this),A.drawImage(V._canvas,0,0,V.width/se,V.height/se)}else{if(A._applyLineJoin(this),!Z){var ie=this.getAbsoluteTransform(M).getMatrix();A.transform(ie[0],ie[1],ie[2],ie[3],ie[4],ie[5]),A._applyOpacity(this),A._applyGlobalCompositeOperation(this)}B&&A._applyShadow(this),F.call(this,A,this)}return A.restore(),this}drawHit(O,M,G=!1){if(!this.shouldDrawHit(M,G))return this;var U=this.getLayer(),A=O||U.hitCanvas,N=A&&A.getContext(),F=this.hitFunc()||this.sceneFunc(),B=this._getCanvasCache(),D=B&&B.hit;if(this.colorKey||n.Util.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),D){N.save();var V=this.getAbsoluteTransform(M).getMatrix();return N.transform(V[0],V[1],V[2],V[3],V[4],V[5]),this._drawCachedHitCanvas(N),N.restore(),this}if(!F)return this;if(N.save(),N._applyLineJoin(this),!(this===M)){var q=this.getAbsoluteTransform(M).getMatrix();N.transform(q[0],q[1],q[2],q[3],q[4],q[5])}return F.call(this,N,this),N.restore(),this}drawHitFromCache(O=0){var M=this._getCanvasCache(),G=this._getCachedSceneCanvas(),U=M.hit,A=U.getContext(),N=U.getWidth(),F=U.getHeight(),B,D,V,j,q,Z;A.clear(),A.drawImage(G._canvas,0,0,N,F);try{for(B=A.getImageData(0,0,N,F),D=B.data,V=D.length,j=n.Util._hexToRgb(this.colorKey),q=0;qO?(D[q]=j.r,D[q+1]=j.g,D[q+2]=j.b,D[q+3]=255):D[q+3]=0;A.putImageData(B,0,0)}catch(ee){n.Util.error("Unable to draw hit graph from cached scene canvas. "+ee.message)}return this}hasPointerCapture(O){return a.hasPointerCapture(O,this)}setPointerCapture(O){a.setPointerCapture(O,this)}releaseCapture(O){a.releaseCapture(O,this)}}e.Shape=P,P.prototype._fillFunc=v,P.prototype._strokeFunc=x,P.prototype._fillFuncHit=_,P.prototype._strokeFuncHit=b,P.prototype._centroid=!1,P.prototype.nodeType="Shape",(0,s._registerNode)(P),P.prototype.eventListeners={},P.prototype.on.call(P.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",y),P.prototype.on.call(P.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",S),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",C),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",T),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",E),r.Factory.addGetterSetter(P,"stroke",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(P,"strokeWidth",2,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillAfterStrokeEnabled",!1),r.Factory.addGetterSetter(P,"hitStrokeWidth","auto",(0,o.getNumberOrAutoValidator)()),r.Factory.addGetterSetter(P,"strokeHitEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"perfectDrawEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"shadowForStrokeEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"lineJoin"),r.Factory.addGetterSetter(P,"lineCap"),r.Factory.addGetterSetter(P,"sceneFunc"),r.Factory.addGetterSetter(P,"hitFunc"),r.Factory.addGetterSetter(P,"dash"),r.Factory.addGetterSetter(P,"dashOffset",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowColor",void 0,(0,o.getStringValidator)()),r.Factory.addGetterSetter(P,"shadowBlur",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowOpacity",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"shadowOffset",["x","y"]),r.Factory.addGetterSetter(P,"shadowOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternImage"),r.Factory.addGetterSetter(P,"fill",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(P,"fillPatternX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillLinearGradientColorStops"),r.Factory.addGetterSetter(P,"strokeLinearGradientColorStops"),r.Factory.addGetterSetter(P,"fillRadialGradientStartRadius",0),r.Factory.addGetterSetter(P,"fillRadialGradientEndRadius",0),r.Factory.addGetterSetter(P,"fillRadialGradientColorStops"),r.Factory.addGetterSetter(P,"fillPatternRepeat","repeat"),r.Factory.addGetterSetter(P,"fillEnabled",!0),r.Factory.addGetterSetter(P,"strokeEnabled",!0),r.Factory.addGetterSetter(P,"shadowEnabled",!0),r.Factory.addGetterSetter(P,"dashEnabled",!0),r.Factory.addGetterSetter(P,"strokeScaleEnabled",!0),r.Factory.addGetterSetter(P,"fillPriority","color"),r.Factory.addComponentsGetterSetter(P,"fillPatternOffset",["x","y"]),r.Factory.addGetterSetter(P,"fillPatternOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"fillPatternScale",["x","y"]),r.Factory.addGetterSetter(P,"fillPatternScaleX",1,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternScaleY",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"fillLinearGradientStartPoint",["x","y"]),r.Factory.addComponentsGetterSetter(P,"strokeLinearGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillLinearGradientStartPointX",0),r.Factory.addGetterSetter(P,"strokeLinearGradientStartPointX",0),r.Factory.addGetterSetter(P,"fillLinearGradientStartPointY",0),r.Factory.addGetterSetter(P,"strokeLinearGradientStartPointY",0),r.Factory.addComponentsGetterSetter(P,"fillLinearGradientEndPoint",["x","y"]),r.Factory.addComponentsGetterSetter(P,"strokeLinearGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillLinearGradientEndPointX",0),r.Factory.addGetterSetter(P,"strokeLinearGradientEndPointX",0),r.Factory.addGetterSetter(P,"fillLinearGradientEndPointY",0),r.Factory.addGetterSetter(P,"strokeLinearGradientEndPointY",0),r.Factory.addComponentsGetterSetter(P,"fillRadialGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillRadialGradientStartPointX",0),r.Factory.addGetterSetter(P,"fillRadialGradientStartPointY",0),r.Factory.addComponentsGetterSetter(P,"fillRadialGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillRadialGradientEndPointX",0),r.Factory.addGetterSetter(P,"fillRadialGradientEndPointY",0),r.Factory.addGetterSetter(P,"fillPatternRotation",0),r.Factory.addGetterSetter(P,"fillRule",void 0,(0,o.getStringValidator)()),r.Factory.backCompat(P,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"})})(rr);Object.defineProperty(Pm,"__esModule",{value:!0});Pm.Layer=void 0;const ia=Sn,Dx=vc,hd=fn,bE=nt,XO=Qo,YSe=ke,QSe=rr,ZSe=rt;var JSe="#",e2e="beforeDraw",t2e="draw",JU=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],n2e=JU.length;class Vf extends Dx.Container{constructor(t){super(t),this.canvas=new XO.SceneCanvas,this.hitCanvas=new XO.HitCanvas({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(t){return this.getContext().clear(t),this.getHitCanvas().getContext().clear(t),this}setZIndex(t){super.setZIndex(t);var n=this.getStage();return n&&n.content&&(n.content.removeChild(this.getNativeCanvasElement()),t{this.draw(),this._waitingForDraw=!1})),this}getIntersection(t){if(!this.isListening()||!this.isVisible())return null;for(var n=1,r=!1;;){for(let i=0;i0)return{antialiased:!0};return{}}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas();return this._fire(e2e,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),Dx.Container.prototype.drawScene.call(this,i,n),this._fire(t2e,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),Dx.Container.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){ia.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return ia.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!(!this.parent||!this.parent.content)){var t=this.parent,n=!!this.hitCanvas._canvas.parentNode;n?t.content.removeChild(this.hitCanvas._canvas):t.content.appendChild(this.hitCanvas._canvas)}}destroy(){return ia.Util.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}Pm.Layer=Vf;Vf.prototype.nodeType="Layer";(0,ZSe._registerNode)(Vf);bE.Factory.addGetterSetter(Vf,"imageSmoothingEnabled",!0);bE.Factory.addGetterSetter(Vf,"clearBeforeDraw",!0);bE.Factory.addGetterSetter(Vf,"hitGraphEnabled",!0,(0,YSe.getBooleanValidator)());var lS={};Object.defineProperty(lS,"__esModule",{value:!0});lS.FastLayer=void 0;const r2e=Sn,i2e=Pm,o2e=rt;class SE extends i2e.Layer{constructor(t){super(t),this.listening(!1),r2e.Util.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}lS.FastLayer=SE;SE.prototype.nodeType="FastLayer";(0,o2e._registerNode)(SE);var jf={};Object.defineProperty(jf,"__esModule",{value:!0});jf.Group=void 0;const s2e=Sn,a2e=vc,l2e=rt;class wE extends a2e.Container{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&s2e.Util.throw("You may only add groups and shapes to groups.")}}jf.Group=wE;wE.prototype.nodeType="Group";(0,l2e._registerNode)(wE);var Gf={};Object.defineProperty(Gf,"__esModule",{value:!0});Gf.Animation=void 0;const $x=rt,YO=Sn;var Fx=function(){return $x.glob.performance&&$x.glob.performance.now?function(){return $x.glob.performance.now()}:function(){return new Date().getTime()}}();class ws{constructor(t,n){this.id=ws.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:Fx(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){var n=[];return t?t.length>0?n=t:n=[t]:n=[],this.layers=n,this}getLayers(){return this.layers}addLayer(t){var n=this.layers,r=n.length,i;for(i=0;ithis.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():m<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=m,this.update())}getTime(){return this._time}setPosition(m){this.prevPos=this._pos,this.propFunc(m),this._pos=m}getPosition(m){return m===void 0&&(m=this._time),this.func(m,this.begin,this._change,this.duration)}play(){this.state=a,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=l,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(m){this.pause(),this._time=m,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){var m=this.getTimer()-this._startTime;this.state===a?this.setTime(m):this.state===l&&this.setTime(this.duration-m)}pause(){this.state=s,this.fire("onPause")}getTimer(){return new Date().getTime()}}class p{constructor(m){var v=this,x=m.node,_=x._id,b,y=m.easing||e.Easings.Linear,S=!!m.yoyo,C;typeof m.duration>"u"?b=.3:m.duration===0?b=.001:b=m.duration,this.node=x,this._id=u++;var T=x.getLayer()||(x instanceof i.Konva.Stage?x.getLayers():null);T||t.Util.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new n.Animation(function(){v.tween.onEnterFrame()},T),this.tween=new f(C,function(E){v._tweenFunc(E)},y,0,1,b*1e3,S),this._addListeners(),p.attrs[_]||(p.attrs[_]={}),p.attrs[_][this._id]||(p.attrs[_][this._id]={}),p.tweens[_]||(p.tweens[_]={});for(C in m)o[C]===void 0&&this._addAttr(C,m[C]);this.reset(),this.onFinish=m.onFinish,this.onReset=m.onReset,this.onUpdate=m.onUpdate}_addAttr(m,v){var x=this.node,_=x._id,b,y,S,C,T,E,P,k;if(S=p.tweens[_][m],S&&delete p.attrs[_][S][m],b=x.getAttr(m),t.Util._isArray(v))if(y=[],T=Math.max(v.length,b.length),m==="points"&&v.length!==b.length&&(v.length>b.length?(P=b,b=t.Util._prepareArrayForTween(b,v,x.closed())):(E=v,v=t.Util._prepareArrayForTween(v,b,x.closed()))),m.indexOf("fill")===0)for(C=0;C{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var m=this.node,v=p.attrs[m._id][this._id];v.points&&v.points.trueEnd&&m.setAttr("points",v.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var m=this.node,v=p.attrs[m._id][this._id];v.points&&v.points.trueStart&&m.points(v.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(m){return this.tween.seek(m*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var m=this.node._id,v=this._id,x=p.tweens[m],_;this.pause();for(_ in x)delete p.tweens[m][_];delete p.attrs[m][v]}}e.Tween=p,p.attrs={},p.tweens={},r.Node.prototype.to=function(g){var m=g.onFinish;g.node=this,g.onFinish=function(){this.destroy(),m&&m()};var v=new p(g);v.play()},e.Easings={BackEaseIn(g,m,v,x){var _=1.70158;return v*(g/=x)*g*((_+1)*g-_)+m},BackEaseOut(g,m,v,x){var _=1.70158;return v*((g=g/x-1)*g*((_+1)*g+_)+1)+m},BackEaseInOut(g,m,v,x){var _=1.70158;return(g/=x/2)<1?v/2*(g*g*(((_*=1.525)+1)*g-_))+m:v/2*((g-=2)*g*(((_*=1.525)+1)*g+_)+2)+m},ElasticEaseIn(g,m,v,x,_,b){var y=0;return g===0?m:(g/=x)===1?m+v:(b||(b=x*.3),!_||_0?t:n),d=s*n,f=a*(a>0?t:n),p=l*(l>0?n:t);return{x:u,y:r?-1*p:f,width:d-u,height:p-f}}}uS.Arc=Ua;Ua.prototype._centroid=!0;Ua.prototype.className="Arc";Ua.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,c2e._registerNode)(Ua);cS.Factory.addGetterSetter(Ua,"innerRadius",0,(0,dS.getNumberValidator)());cS.Factory.addGetterSetter(Ua,"outerRadius",0,(0,dS.getNumberValidator)());cS.Factory.addGetterSetter(Ua,"angle",0,(0,dS.getNumberValidator)());cS.Factory.addGetterSetter(Ua,"clockwise",!1,(0,dS.getBooleanValidator)());var fS={},Rm={};Object.defineProperty(Rm,"__esModule",{value:!0});Rm.Line=void 0;const hS=nt,d2e=rr,tz=ke,f2e=rt;function a5(e,t,n,r,i,o,s){var a=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),l=Math.sqrt(Math.pow(i-n,2)+Math.pow(o-r,2)),u=s*a/(a+l),d=s*l/(a+l),f=n-u*(i-e),p=r-u*(o-t),g=n+d*(i-e),m=r+d*(o-t);return[f,p,g,m]}function ZO(e,t){var n=e.length,r=[],i,o;for(i=2;i4){for(a=this.getTensionPoints(),l=a.length,u=o?0:4,o||t.quadraticCurveTo(a[0],a[1],a[2],a[3]);u{let u,d,f;u=l/2,d=0;for(let g=0;g<20;g++)f=u*e.tValues[20][g]+u,d+=e.cValues[20][g]*r(s,a,f);return u*d};e.getCubicArcLength=t;const n=(s,a,l)=>{l===void 0&&(l=1);const u=s[0]-2*s[1]+s[2],d=a[0]-2*a[1]+a[2],f=2*s[1]-2*s[0],p=2*a[1]-2*a[0],g=4*(u*u+d*d),m=4*(u*f+d*p),v=f*f+p*p;if(g===0)return l*Math.sqrt(Math.pow(s[2]-s[0],2)+Math.pow(a[2]-a[0],2));const x=m/(2*g),_=v/g,b=l+x,y=_-x*x,S=b*b+y>0?Math.sqrt(b*b+y):0,C=x*x+y>0?Math.sqrt(x*x+y):0,T=x+Math.sqrt(x*x+y)!==0?y*Math.log(Math.abs((b+S)/(x+C))):0;return Math.sqrt(g)/2*(b*S-x*C+T)};e.getQuadraticArcLength=n;function r(s,a,l){const u=i(1,l,s),d=i(1,l,a),f=u*u+d*d;return Math.sqrt(f)}const i=(s,a,l)=>{const u=l.length-1;let d,f;if(u===0)return 0;if(s===0){f=0;for(let p=0;p<=u;p++)f+=e.binomialCoefficients[u][p]*Math.pow(1-a,u-p)*Math.pow(a,p)*l[p];return f}else{d=new Array(u);for(let p=0;p{let u=1,d=s/a,f=(s-l(d))/a,p=0;for(;u>.001;){const g=l(d+f),m=Math.abs(s-g)/a;if(m500)break}return d};e.t2length=o})(nz);Object.defineProperty(Hf,"__esModule",{value:!0});Hf.Path=void 0;const h2e=nt,p2e=rr,g2e=rt,pd=nz;class Zn extends p2e.Shape{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=Zn.parsePathData(this.data()),this.pathLength=Zn.getPathLength(this.dataArray)}_sceneFunc(t){var n=this.dataArray;t.beginPath();for(var r=!1,i=0;id?u:d,x=u>d?1:u/d,_=u>d?d/u:1;t.translate(a,l),t.rotate(g),t.scale(x,_),t.arc(0,0,v,f,f+p,1-m),t.scale(1/x,1/_),t.rotate(-g),t.translate(-a,-l);break;case"z":r=!0,t.closePath();break}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){var t=[];this.dataArray.forEach(function(u){if(u.command==="A"){var d=u.points[4],f=u.points[5],p=u.points[4]+f,g=Math.PI/180;if(Math.abs(d-p)p;m-=g){const v=Zn.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],m,0);t.push(v.x,v.y)}else for(let m=d+g;mn[i].pathLength;)t-=n[i].pathLength,++i;if(i===o)return r=n[i-1].points.slice(-2),{x:r[0],y:r[1]};if(t<.01)return r=n[i].points.slice(0,2),{x:r[0],y:r[1]};var s=n[i],a=s.points;switch(s.command){case"L":return Zn.getPointOnLine(t,s.start.x,s.start.y,a[0],a[1]);case"C":return Zn.getPointOnCubicBezier((0,pd.t2length)(t,Zn.getPathLength(n),v=>(0,pd.getCubicArcLength)([s.start.x,a[0],a[2],a[4]],[s.start.y,a[1],a[3],a[5]],v)),s.start.x,s.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return Zn.getPointOnQuadraticBezier((0,pd.t2length)(t,Zn.getPathLength(n),v=>(0,pd.getQuadraticArcLength)([s.start.x,a[0],a[2]],[s.start.y,a[1],a[3]],v)),s.start.x,s.start.y,a[0],a[1],a[2],a[3]);case"A":var l=a[0],u=a[1],d=a[2],f=a[3],p=a[4],g=a[5],m=a[6];return p+=g*t/s.pathLength,Zn.getPointOnEllipticalArc(l,u,d,f,p,m)}return null}static getPointOnLine(t,n,r,i,o,s,a){s===void 0&&(s=n),a===void 0&&(a=r);var l=(o-r)/(i-n+1e-8),u=Math.sqrt(t*t/(1+l*l));i0&&!isNaN(m[0]);){var b=null,y=[],S=l,C=u,T,E,P,k,O,M,G,U,A,N;switch(g){case"l":l+=m.shift(),u+=m.shift(),b="L",y.push(l,u);break;case"L":l=m.shift(),u=m.shift(),y.push(l,u);break;case"m":var F=m.shift(),B=m.shift();if(l+=F,u+=B,b="M",s.length>2&&s[s.length-1].command==="z"){for(var D=s.length-2;D>=0;D--)if(s[D].command==="M"){l=s[D].points[0]+F,u=s[D].points[1]+B;break}}y.push(l,u),g="l";break;case"M":l=m.shift(),u=m.shift(),b="M",y.push(l,u),g="L";break;case"h":l+=m.shift(),b="L",y.push(l,u);break;case"H":l=m.shift(),b="L",y.push(l,u);break;case"v":u+=m.shift(),b="L",y.push(l,u);break;case"V":u=m.shift(),b="L",y.push(l,u);break;case"C":y.push(m.shift(),m.shift(),m.shift(),m.shift()),l=m.shift(),u=m.shift(),y.push(l,u);break;case"c":y.push(l+m.shift(),u+m.shift(),l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="C",y.push(l,u);break;case"S":E=l,P=u,T=s[s.length-1],T.command==="C"&&(E=l+(l-T.points[2]),P=u+(u-T.points[3])),y.push(E,P,m.shift(),m.shift()),l=m.shift(),u=m.shift(),b="C",y.push(l,u);break;case"s":E=l,P=u,T=s[s.length-1],T.command==="C"&&(E=l+(l-T.points[2]),P=u+(u-T.points[3])),y.push(E,P,l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="C",y.push(l,u);break;case"Q":y.push(m.shift(),m.shift()),l=m.shift(),u=m.shift(),y.push(l,u);break;case"q":y.push(l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="Q",y.push(l,u);break;case"T":E=l,P=u,T=s[s.length-1],T.command==="Q"&&(E=l+(l-T.points[0]),P=u+(u-T.points[1])),l=m.shift(),u=m.shift(),b="Q",y.push(E,P,l,u);break;case"t":E=l,P=u,T=s[s.length-1],T.command==="Q"&&(E=l+(l-T.points[0]),P=u+(u-T.points[1])),l+=m.shift(),u+=m.shift(),b="Q",y.push(E,P,l,u);break;case"A":k=m.shift(),O=m.shift(),M=m.shift(),G=m.shift(),U=m.shift(),A=l,N=u,l=m.shift(),u=m.shift(),b="A",y=this.convertEndpointToCenterParameterization(A,N,l,u,G,U,k,O,M);break;case"a":k=m.shift(),O=m.shift(),M=m.shift(),G=m.shift(),U=m.shift(),A=l,N=u,l+=m.shift(),u+=m.shift(),b="A",y=this.convertEndpointToCenterParameterization(A,N,l,u,G,U,k,O,M);break}s.push({command:b||g,points:y,start:{x:S,y:C},pathLength:this.calcLength(S,C,b||g,y)})}(g==="z"||g==="Z")&&s.push({command:"z",points:[],start:void 0,pathLength:0})}return s}static calcLength(t,n,r,i){var o,s,a,l,u=Zn;switch(r){case"L":return u.getLineLength(t,n,i[0],i[1]);case"C":return(0,pd.getCubicArcLength)([t,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return(0,pd.getQuadraticArcLength)([t,i[0],i[2]],[n,i[1],i[3]],1);case"A":o=0;var d=i[4],f=i[5],p=i[4]+f,g=Math.PI/180;if(Math.abs(d-p)p;l-=g)a=u.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=u.getLineLength(s.x,s.y,a.x,a.y),s=a;else for(l=d+g;l1&&(a*=Math.sqrt(g),l*=Math.sqrt(g));var m=Math.sqrt((a*a*(l*l)-a*a*(p*p)-l*l*(f*f))/(a*a*(p*p)+l*l*(f*f)));o===s&&(m*=-1),isNaN(m)&&(m=0);var v=m*a*p/l,x=m*-l*f/a,_=(t+r)/2+Math.cos(d)*v-Math.sin(d)*x,b=(n+i)/2+Math.sin(d)*v+Math.cos(d)*x,y=function(O){return Math.sqrt(O[0]*O[0]+O[1]*O[1])},S=function(O,M){return(O[0]*M[0]+O[1]*M[1])/(y(O)*y(M))},C=function(O,M){return(O[0]*M[1]=1&&(k=0),s===0&&k>0&&(k=k-2*Math.PI),s===1&&k<0&&(k=k+2*Math.PI),[_,b,a,l,T,k,d,s]}}Hf.Path=Zn;Zn.prototype.className="Path";Zn.prototype._attrsAffectingSize=["data"];(0,g2e._registerNode)(Zn);h2e.Factory.addGetterSetter(Zn,"data");Object.defineProperty(fS,"__esModule",{value:!0});fS.Arrow=void 0;const pS=nt,m2e=Rm,rz=ke,y2e=rt,JO=Hf;class bc extends m2e.Line{_sceneFunc(t){super._sceneFunc(t);var n=Math.PI*2,r=this.points(),i=r,o=this.tension()!==0&&r.length>4;o&&(i=this.getTensionPoints());var s=this.pointerLength(),a=r.length,l,u;if(o){const p=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],r[a-2],r[a-1]],g=JO.Path.calcLength(i[i.length-4],i[i.length-3],"C",p),m=JO.Path.getPointOnQuadraticBezier(Math.min(1,1-s/g),p[0],p[1],p[2],p[3],p[4],p[5]);l=r[a-2]-m.x,u=r[a-1]-m.y}else l=r[a-2]-r[a-4],u=r[a-1]-r[a-3];var d=(Math.atan2(u,l)+n)%n,f=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[a-2],r[a-1]),t.rotate(d),t.moveTo(0,0),t.lineTo(-s,f/2),t.lineTo(-s,-f/2),t.closePath(),t.restore(),this.__fillStroke(t)),this.pointerAtBeginning()&&(t.save(),t.beginPath(),t.translate(r[0],r[1]),o?(l=(i[0]+i[2])/2-r[0],u=(i[1]+i[3])/2-r[1]):(l=r[2]-r[0],u=r[3]-r[1]),t.rotate((Math.atan2(-u,-l)+n)%n),t.moveTo(0,0),t.lineTo(-s,f/2),t.lineTo(-s,-f/2),t.closePath(),t.restore(),this.__fillStroke(t))}__fillStroke(t){var n=this.dashEnabled();n&&(this.attrs.dashEnabled=!1,t.setLineDash([])),t.fillStrokeShape(this),n&&(this.attrs.dashEnabled=!0)}getSelfRect(){const t=super.getSelfRect(),n=this.pointerWidth()/2;return{x:t.x-n,y:t.y-n,width:t.width+n*2,height:t.height+n*2}}}fS.Arrow=bc;bc.prototype.className="Arrow";(0,y2e._registerNode)(bc);pS.Factory.addGetterSetter(bc,"pointerLength",10,(0,rz.getNumberValidator)());pS.Factory.addGetterSetter(bc,"pointerWidth",10,(0,rz.getNumberValidator)());pS.Factory.addGetterSetter(bc,"pointerAtBeginning",!1);pS.Factory.addGetterSetter(bc,"pointerAtEnding",!0);var gS={};Object.defineProperty(gS,"__esModule",{value:!0});gS.Circle=void 0;const v2e=nt,_2e=rr,b2e=ke,S2e=rt;let Wf=class extends _2e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius()!==t/2&&this.radius(t/2)}setHeight(t){this.radius()!==t/2&&this.radius(t/2)}};gS.Circle=Wf;Wf.prototype._centroid=!0;Wf.prototype.className="Circle";Wf.prototype._attrsAffectingSize=["radius"];(0,S2e._registerNode)(Wf);v2e.Factory.addGetterSetter(Wf,"radius",0,(0,b2e.getNumberValidator)());var mS={};Object.defineProperty(mS,"__esModule",{value:!0});mS.Ellipse=void 0;const xE=nt,w2e=rr,iz=ke,x2e=rt;class ou extends w2e.Shape{_sceneFunc(t){var n=this.radiusX(),r=this.radiusY();t.beginPath(),t.save(),n!==r&&t.scale(1,r/n),t.arc(0,0,n,0,Math.PI*2,!1),t.restore(),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(t){this.radiusX(t/2)}setHeight(t){this.radiusY(t/2)}}mS.Ellipse=ou;ou.prototype.className="Ellipse";ou.prototype._centroid=!0;ou.prototype._attrsAffectingSize=["radiusX","radiusY"];(0,x2e._registerNode)(ou);xE.Factory.addComponentsGetterSetter(ou,"radius",["x","y"]);xE.Factory.addGetterSetter(ou,"radiusX",0,(0,iz.getNumberValidator)());xE.Factory.addGetterSetter(ou,"radiusY",0,(0,iz.getNumberValidator)());var yS={};Object.defineProperty(yS,"__esModule",{value:!0});yS.Image=void 0;const Bx=Sn,Sc=nt,C2e=rr,T2e=rt,Om=ke;let Us=class oz extends C2e.Shape{constructor(t){super(t),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){return super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),i=this.cornerRadius(),o=this.attrs.image;let s;if(o){const a=this.attrs.cropWidth,l=this.attrs.cropHeight;a&&l?s=[o,this.cropX(),this.cropY(),a,l,0,0,n,r]:s=[o,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?Bx.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),o&&(i&&t.clip(),t.drawImage.apply(t,s))}_hitFunc(t){var n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?Bx.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n;return(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width}getHeight(){var t,n;return(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height}static fromURL(t,n,r=null){var i=Bx.Util.createImageElement();i.onload=function(){var o=new oz({image:i});n(o)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};yS.Image=Us;Us.prototype.className="Image";(0,T2e._registerNode)(Us);Sc.Factory.addGetterSetter(Us,"cornerRadius",0,(0,Om.getNumberOrArrayOfNumbersValidator)(4));Sc.Factory.addGetterSetter(Us,"image");Sc.Factory.addComponentsGetterSetter(Us,"crop",["x","y","width","height"]);Sc.Factory.addGetterSetter(Us,"cropX",0,(0,Om.getNumberValidator)());Sc.Factory.addGetterSetter(Us,"cropY",0,(0,Om.getNumberValidator)());Sc.Factory.addGetterSetter(Us,"cropWidth",0,(0,Om.getNumberValidator)());Sc.Factory.addGetterSetter(Us,"cropHeight",0,(0,Om.getNumberValidator)());var Rf={};Object.defineProperty(Rf,"__esModule",{value:!0});Rf.Tag=Rf.Label=void 0;const vS=nt,E2e=rr,A2e=jf,CE=ke,sz=rt;var az=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],P2e="Change.konva",R2e="none",l5="up",u5="right",c5="down",d5="left",O2e=az.length;class TE extends A2e.Group{constructor(t){super(t),this.on("add.konva",function(n){this._addListeners(n.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(t){var n=this,r,i=function(){n._sync()};for(r=0;r{n=Math.min(n,s.x),r=Math.max(r,s.x),i=Math.min(i,s.y),o=Math.max(o,s.y)}),{x:n,y:i,width:r-n,height:o-i}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}bS.RegularPolygon=xc;xc.prototype.className="RegularPolygon";xc.prototype._centroid=!0;xc.prototype._attrsAffectingSize=["radius"];(0,$2e._registerNode)(xc);lz.Factory.addGetterSetter(xc,"radius",0,(0,uz.getNumberValidator)());lz.Factory.addGetterSetter(xc,"sides",0,(0,uz.getNumberValidator)());var SS={};Object.defineProperty(SS,"__esModule",{value:!0});SS.Ring=void 0;const cz=nt,F2e=rr,dz=ke,B2e=rt;var ek=Math.PI*2;class Cc extends F2e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,ek,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),ek,0,!0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(t){this.outerRadius(t/2)}setHeight(t){this.outerRadius(t/2)}}SS.Ring=Cc;Cc.prototype.className="Ring";Cc.prototype._centroid=!0;Cc.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,B2e._registerNode)(Cc);cz.Factory.addGetterSetter(Cc,"innerRadius",0,(0,dz.getNumberValidator)());cz.Factory.addGetterSetter(Cc,"outerRadius",0,(0,dz.getNumberValidator)());var wS={};Object.defineProperty(wS,"__esModule",{value:!0});wS.Sprite=void 0;const Tc=nt,U2e=rr,z2e=Gf,fz=ke,V2e=rt;class zs extends U2e.Shape{constructor(t){super(t),this._updated=!0,this.anim=new z2e.Animation(()=>{var n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+0],l=o[i+1],u=o[i+2],d=o[i+3],f=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,u,d),t.closePath(),t.fillStrokeShape(this)),f)if(s){var p=s[n],g=r*2;t.drawImage(f,a,l,u,d,p[g+0],p[g+1],u,d)}else t.drawImage(f,a,l,u,d,0,0,u,d)}_hitFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+2],l=o[i+3];if(t.beginPath(),s){var u=s[n],d=r*2;t.rect(u[d+0],u[d+1],a,l)}else t.rect(0,0,a,l);t.closePath(),t.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){var t=this;this.interval=setInterval(function(){t._updateIndex()},1e3/this.frameRate())}start(){if(!this.isRunning()){var t=this.getLayer();this.anim.setLayers(t),this._setInterval(),this.anim.start()}}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){var t=this.frameIndex(),n=this.animation(),r=this.animations(),i=r[n],o=i.length/4;t{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t=`"${t}"`),t}).join(", ")}var $0;function zx(){return $0||($0=f5.Util.createCanvasElement().getContext(X2e),$0)}function swe(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function awe(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function lwe(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class Dn extends H2e.Shape{constructor(t){super(lwe(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n1&&(_+=s)}}}_hitFunc(t){var n=this.getWidth(),r=this.getHeight();t.beginPath(),t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}setText(t){var n=f5.Util._isString(t)?t:t==null?"":t+"";return this._setAttr(Y2e,n),this}getWidth(){var t=this.attrs.width===gd||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===gd||this.attrs.height===void 0;return t?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return f5.Util.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(t){var n=zx(),r=this.fontSize(),i;return n.save(),n.font=this._getContextFont(),i=n.measureText(t),n.restore(),{width:i.width,height:r}}_getContextFont(){return this.fontStyle()+D0+this.fontVariant()+D0+(this.fontSize()+ewe)+owe(this.fontFamily())}_addTextLine(t){this.align()===Zh&&(t=t.trim());var r=this._getTextWidth(t);return this.textArr.push({text:t,width:r,lastInParagraph:!1})}_getTextWidth(t){var n=this.letterSpacing(),r=t.length;return zx().measureText(t).width+(r?n*(r-1):0)}_setTextData(){var t=this.text().split(` -`),n=+this.fontSize(),r=0,i=this.lineHeight()*n,o=this.attrs.width,s=this.attrs.height,a=o!==gd&&o!==void 0,l=s!==gd&&s!==void 0,u=this.padding(),d=o-u*2,f=s-u*2,p=0,g=this.wrap(),m=g!==rk,v=g!==rwe&&m,x=this.ellipsis();this.textArr=[],zx().font=this._getContextFont();for(var _=x?this._getTextWidth(Ux):0,b=0,y=t.length;bd)for(;S.length>0;){for(var T=0,E=S.length,P="",k=0;T>>1,M=S.slice(0,O+1),G=this._getTextWidth(M)+_;G<=d?(T=O+1,P=M,k=G):E=O}if(P){if(v){var U,A=S[P.length],N=A===D0||A===tk;N&&k<=d?U=P.length:U=Math.max(P.lastIndexOf(D0),P.lastIndexOf(tk))+1,U>0&&(T=U,P=P.slice(0,T),k=this._getTextWidth(P))}P=P.trimRight(),this._addTextLine(P),r=Math.max(r,k),p+=i;var F=this._shouldHandleEllipsis(p);if(F){this._tryToAddEllipsisToLastLine();break}if(S=S.slice(T),S=S.trimLeft(),S.length>0&&(C=this._getTextWidth(S),C<=d)){this._addTextLine(S),p+=i,r=Math.max(r,C);break}}else break}else this._addTextLine(S),p+=i,r=Math.max(r,C),this._shouldHandleEllipsis(p)&&bf)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,i=this.attrs.height,o=i!==gd&&i!==void 0,s=this.padding(),a=i-s*2,l=this.wrap(),u=l!==rk;return!u||o&&t+r>a}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==gd&&t!==void 0,r=this.padding(),i=t-r*2,o=this.ellipsis(),s=this.textArr[this.textArr.length-1];if(!(!s||!o)){if(n){var a=this._getTextWidth(s.text+Ux)n?null:Jh.Path.getPointAtLengthOfDataArray(t,this.dataArray)}_readDataAttribute(){this.dataArray=Jh.Path.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(t){t.setAttr("font",this._getContextFont()),t.setAttr("textBaseline",this.textBaseline()),t.setAttr("textAlign","left"),t.save();var n=this.textDecoration(),r=this.fill(),i=this.fontSize(),o=this.glyphInfo;n==="underline"&&t.beginPath();for(var s=0;s=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var i=0;ie+`.${Sz}`).join(" "),sk="nodesRect",mwe=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],ywe={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const vwe="ontouchstart"in $o.Konva._global;function _we(e,t){if(e==="rotater")return"crosshair";t+=zt.Util.degToRad(ywe[e]||0);var n=(zt.Util.radToDeg(t)%360+360)%360;return zt.Util._inRange(n,315+22.5,360)||zt.Util._inRange(n,0,22.5)?"ns-resize":zt.Util._inRange(n,45-22.5,45+22.5)?"nesw-resize":zt.Util._inRange(n,90-22.5,90+22.5)?"ew-resize":zt.Util._inRange(n,135-22.5,135+22.5)?"nwse-resize":zt.Util._inRange(n,180-22.5,180+22.5)?"ns-resize":zt.Util._inRange(n,225-22.5,225+22.5)?"nesw-resize":zt.Util._inRange(n,270-22.5,270+22.5)?"ew-resize":zt.Util._inRange(n,315-22.5,315+22.5)?"nwse-resize":(zt.Util.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var e_=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],ak=1e8;function bwe(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function wz(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),i=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return Object.assign(Object.assign({},e),{rotation:e.rotation+t,x:r,y:i})}function Swe(e,t){const n=bwe(e);return wz(e,t,n)}function wwe(e,t,n){let r=t;for(let i=0;ii.isAncestorOf(this)?(zt.Util.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1):!0);this._nodes=t=n,t.length===1&&this.useSingleNodeRotation()?this.rotation(t[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(i=>{const o=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},s=i._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");i.on(s,o),i.on(mwe.map(a=>a+`.${this._getEventNamespace()}`).join(" "),o),i.on(`absoluteTransformChange.${this._getEventNamespace()}`,o),this._proxyDrag(i)}),this._resetTransformCache();var r=!!this.findOne(".top-left");return r&&this.update(),this}_proxyDrag(t){let n;t.on(`dragstart.${this._getEventNamespace()}`,r=>{n=t.getAbsolutePosition(),!this.isDragging()&&t!==this.findOne(".back")&&this.startDrag(r,!1)}),t.on(`dragmove.${this._getEventNamespace()}`,r=>{if(!n)return;const i=t.getAbsolutePosition(),o=i.x-n.x,s=i.y-n.y;this.nodes().forEach(a=>{if(a===t||a.isDragging())return;const l=a.getAbsolutePosition();a.setAbsolutePosition({x:l.x+o,y:l.y+s}),a.startDrag(r)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(t=>{t.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(sk),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(sk,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var i=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),o=t.getAbsoluteScale(r),s=t.getAbsolutePosition(r),a=i.x*o.x-t.offsetX()*o.x,l=i.y*o.y-t.offsetY()*o.y;const u=($o.Konva.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),d={x:s.x+a*Math.cos(u)+l*Math.sin(-u),y:s.y+l*Math.cos(u)+a*Math.sin(u),width:i.width*o.x,height:i.height*o.y,rotation:u};return wz(d,-$o.Konva.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-ak,y:-ak,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const d=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var f=[{x:d.x,y:d.y},{x:d.x+d.width,y:d.y},{x:d.x+d.width,y:d.y+d.height},{x:d.x,y:d.y+d.height}],p=u.getAbsoluteTransform();f.forEach(function(g){var m=p.point(g);n.push(m)})});const r=new zt.Transform;r.rotate(-$o.Konva.getAngle(this.rotation()));var i,o,s,a;n.forEach(function(u){var d=r.point(u);i===void 0&&(i=s=d.x,o=a=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),s=Math.max(s,d.x),a=Math.max(a,d.y)}),r.invert();const l=r.point({x:i,y:o});return{x:l.x,y:l.y,width:s-i,height:a-o,rotation:$o.Konva.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),e_.forEach((function(t){this._createAnchor(t)}).bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new hwe.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:vwe?10:"auto"}),r=this;n.on("mousedown touchstart",function(i){r._handleMouseDown(i)}),n.on("dragstart",i=>{n.stopDrag(),i.cancelBubble=!0}),n.on("dragend",i=>{i.cancelBubble=!0}),n.on("mouseenter",()=>{var i=$o.Konva.getAngle(this.rotation()),o=_we(t,i);n.getStage().content&&(n.getStage().content.style.cursor=o),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){var t=new fwe.Shape({name:"back",width:0,height:0,draggable:!0,sceneFunc(n){var r=this.getParent(),i=r.padding();n.beginPath(),n.rect(-i,-i,this.width()+i*2,this.height()+i*2),n.moveTo(this.width()/2,-i),r.rotateEnabled()&&n.lineTo(this.width()/2,-r.rotateAnchorOffset()*zt.Util._sign(this.height())-i),n.fillStrokeShape(this)},hitFunc:(n,r)=>{if(this.shouldOverdrawWholeArea()){var i=this.padding();n.beginPath(),n.rect(-i,-i,r.width()+i*2,r.height()+i*2),n.fillStrokeShape(r)}}});this.add(t),this._proxyDrag(t),t.on("dragstart",n=>{n.cancelBubble=!0}),t.on("dragmove",n=>{n.cancelBubble=!0}),t.on("dragend",n=>{n.cancelBubble=!0}),this.on("dragmove",n=>{this.update()})}_handleMouseDown(t){this._movingAnchorName=t.target.name().split(" ")[0];var n=this._getNodeRect(),r=n.width,i=n.height,o=Math.sqrt(Math.pow(r,2)+Math.pow(i,2));this.sin=Math.abs(i/o),this.cos=Math.abs(r/o),typeof window<"u"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;var s=t.target.getAbsolutePosition(),a=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:a.x-s.x,y:a.y-s.y},this._fire("transformstart",{evt:t.evt,target:this.getNode()}),this._nodes.forEach(l=>{l._fire("transformstart",{evt:t.evt,target:l})})}_handleMouseMove(t){var n,r,i,o=this.findOne("."+this._movingAnchorName),s=o.getStage();s.setPointersPositions(t);const a=s.getPointerPosition();let l={x:a.x-this._anchorDragOffset.x,y:a.y-this._anchorDragOffset.y};const u=o.getAbsolutePosition();this.anchorDragBoundFunc()&&(l=this.anchorDragBoundFunc()(u,l,t)),o.setAbsolutePosition(l);const d=o.getAbsolutePosition();if(!(u.x===d.x&&u.y===d.y)){if(this._movingAnchorName==="rotater"){var f=this._getNodeRect();n=o.x()-f.width/2,r=-o.y()+f.height/2;let U=Math.atan2(-r,n)+Math.PI/2;f.height<0&&(U-=Math.PI);var p=$o.Konva.getAngle(this.rotation());const A=p+U,N=$o.Konva.getAngle(this.rotationSnapTolerance()),B=wwe(this.rotationSnaps(),A,N)-f.rotation,D=Swe(f,B);this._fitNodesInto(D,t);return}var g=this.shiftBehavior(),m;g==="inverted"?m=this.keepRatio()&&!t.shiftKey:g==="none"?m=this.keepRatio():m=this.keepRatio()||t.shiftKey;var y=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(m){var v=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};i=Math.sqrt(Math.pow(v.x-o.x(),2)+Math.pow(v.y-o.y(),2));var x=this.findOne(".top-left").x()>v.x?-1:1,_=this.findOne(".top-left").y()>v.y?-1:1;n=i*this.cos*x,r=i*this.sin*_,this.findOne(".top-left").x(v.x-n),this.findOne(".top-left").y(v.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(o.y());else if(this._movingAnchorName==="top-right"){if(m){var v=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};i=Math.sqrt(Math.pow(o.x()-v.x,2)+Math.pow(v.y-o.y(),2));var x=this.findOne(".top-right").x()v.y?-1:1;n=i*this.cos*x,r=i*this.sin*_,this.findOne(".top-right").x(v.x+n),this.findOne(".top-right").y(v.y-r)}var b=o.position();this.findOne(".top-left").y(b.y),this.findOne(".bottom-right").x(b.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(o.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(o.x());else if(this._movingAnchorName==="bottom-left"){if(m){var v=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};i=Math.sqrt(Math.pow(v.x-o.x(),2)+Math.pow(o.y()-v.y,2));var x=v.x{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(zt.Util._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(zt.Util._inRange(t.height,-this.padding()*2-i,i)){this.update();return}const o=this.flipEnabled();var s=new zt.Transform;if(s.rotate($o.Konva.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const f=s.point({x:-this.padding()*2,y:0});if(t.x+=f.x,t.y+=f.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,!o){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const f=s.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.width+=this.padding()*2,!o){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const f=s.point({x:0,y:-this.padding()*2});if(t.x+=f.x,t.y+=f.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.height+=this.padding()*2,!o){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const f=s.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.height+=this.padding()*2,!o){this.update();return}}if(this.boundBoxFunc()){const f=this.boundBoxFunc()(r,t);f?t=f:zt.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const a=1e7,l=new zt.Transform;l.translate(r.x,r.y),l.rotate(r.rotation),l.scale(r.width/a,r.height/a);const u=new zt.Transform;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/a,t.height/a);const d=u.multiply(l.invert());this._nodes.forEach(f=>{var p;const g=f.getParent().getAbsoluteTransform(),m=f.getTransform().copy();m.translate(f.offsetX(),f.offsetY());const v=new zt.Transform;v.multiply(g.copy().invert()).multiply(d).multiply(g).multiply(m);const x=v.decompose();f.setAttrs(x),this._fire("transform",{evt:n,target:f}),f._fire("transform",{evt:n,target:f}),(p=f.getLayer())===null||p===void 0||p.batchDraw()}),this.rotation(zt.Util._getRotation(t.rotation)),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(t,n){this.findOne(t).setAttrs(n)}update(){var t,n=this._getNodeRect();this.rotation(zt.Util._getRotation(n.rotation));var r=n.width,i=n.height,o=this.enabledAnchors(),s=this.resizeEnabled(),a=this.padding(),l=this.anchorSize();const u=this.find("._anchor");u.forEach(f=>{f.setAttrs({width:l,height:l,offsetX:l/2,offsetY:l/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:l/2+a,offsetY:l/2+a,visible:s&&o.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:l/2+a,visible:s&&o.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:l/2-a,offsetY:l/2+a,visible:s&&o.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:l/2+a,visible:s&&o.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:i/2,offsetX:l/2-a,visible:s&&o.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:l/2+a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:i,offsetY:l/2-a,visible:s&&o.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:i,offsetX:l/2-a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*zt.Util._sign(i)-a,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:r,height:i,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0});const d=this.anchorStyleFunc();d&&u.forEach(f=>{d(f)}),(t=this.getLayer())===null||t===void 0||t.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var t=this.findOne("."+this._movingAnchorName);t&&t.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),ok.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return ik.Node.prototype.toObject.call(this)}clone(t){var n=ik.Node.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}TS.Transformer=Ct;function xwe(e){return e instanceof Array||zt.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){e_.indexOf(t)===-1&&zt.Util.warn("Unknown anchor name: "+t+". Available names are: "+e_.join(", "))}),e||[]}Ct.prototype.className="Transformer";(0,pwe._registerNode)(Ct);Ft.Factory.addGetterSetter(Ct,"enabledAnchors",e_,xwe);Ft.Factory.addGetterSetter(Ct,"flipEnabled",!0,(0,lu.getBooleanValidator)());Ft.Factory.addGetterSetter(Ct,"resizeEnabled",!0);Ft.Factory.addGetterSetter(Ct,"anchorSize",10,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"rotateEnabled",!0);Ft.Factory.addGetterSetter(Ct,"rotationSnaps",[]);Ft.Factory.addGetterSetter(Ct,"rotateAnchorOffset",50,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"rotationSnapTolerance",5,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"borderEnabled",!0);Ft.Factory.addGetterSetter(Ct,"anchorStroke","rgb(0, 161, 255)");Ft.Factory.addGetterSetter(Ct,"anchorStrokeWidth",1,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"anchorFill","white");Ft.Factory.addGetterSetter(Ct,"anchorCornerRadius",0,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"borderStroke","rgb(0, 161, 255)");Ft.Factory.addGetterSetter(Ct,"borderStrokeWidth",1,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"borderDash");Ft.Factory.addGetterSetter(Ct,"keepRatio",!0);Ft.Factory.addGetterSetter(Ct,"shiftBehavior","default");Ft.Factory.addGetterSetter(Ct,"centeredScaling",!1);Ft.Factory.addGetterSetter(Ct,"ignoreStroke",!1);Ft.Factory.addGetterSetter(Ct,"padding",0,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"node");Ft.Factory.addGetterSetter(Ct,"nodes");Ft.Factory.addGetterSetter(Ct,"boundBoxFunc");Ft.Factory.addGetterSetter(Ct,"anchorDragBoundFunc");Ft.Factory.addGetterSetter(Ct,"anchorStyleFunc");Ft.Factory.addGetterSetter(Ct,"shouldOverdrawWholeArea",!1);Ft.Factory.addGetterSetter(Ct,"useSingleNodeRotation",!0);Ft.Factory.backCompat(Ct,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var ES={};Object.defineProperty(ES,"__esModule",{value:!0});ES.Wedge=void 0;const AS=nt,Cwe=rr,Twe=rt,xz=ke,Ewe=rt;class za extends Cwe.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,Twe.Konva.getAngle(this.angle()),this.clockwise()),t.lineTo(0,0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}ES.Wedge=za;za.prototype.className="Wedge";za.prototype._centroid=!0;za.prototype._attrsAffectingSize=["radius"];(0,Ewe._registerNode)(za);AS.Factory.addGetterSetter(za,"radius",0,(0,xz.getNumberValidator)());AS.Factory.addGetterSetter(za,"angle",0,(0,xz.getNumberValidator)());AS.Factory.addGetterSetter(za,"clockwise",!1);AS.Factory.backCompat(za,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var PS={};Object.defineProperty(PS,"__esModule",{value:!0});PS.Blur=void 0;const lk=nt,Awe=fn,Pwe=ke;function uk(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var Rwe=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],Owe=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function kwe(e,t){var n=e.data,r=e.width,i=e.height,o,s,a,l,u,d,f,p,g,m,v,x,_,b,y,S,C,T,E,P,k,O,M,G,U=t+t+1,A=r-1,N=i-1,F=t+1,B=F*(F+1)/2,D=new uk,V=null,j=D,q=null,Z=null,ee=Rwe[t],ie=Owe[t];for(a=1;a>ie,M!==0?(M=255/M,n[d]=(p*ee>>ie)*M,n[d+1]=(g*ee>>ie)*M,n[d+2]=(m*ee>>ie)*M):n[d]=n[d+1]=n[d+2]=0,p-=x,g-=_,m-=b,v-=y,x-=q.r,_-=q.g,b-=q.b,y-=q.a,l=f+((l=o+t+1)>ie,M>0?(M=255/M,n[l]=(p*ee>>ie)*M,n[l+1]=(g*ee>>ie)*M,n[l+2]=(m*ee>>ie)*M):n[l]=n[l+1]=n[l+2]=0,p-=x,g-=_,m-=b,v-=y,x-=q.r,_-=q.g,b-=q.b,y-=q.a,l=o+((l=s+F)0&&kwe(t,n)};PS.Blur=Iwe;lk.Factory.addGetterSetter(Awe.Node,"blurRadius",0,(0,Pwe.getNumberValidator)(),lk.Factory.afterSetFilter);var RS={};Object.defineProperty(RS,"__esModule",{value:!0});RS.Brighten=void 0;const ck=nt,Mwe=fn,Nwe=ke,Lwe=function(e){var t=this.brightness()*255,n=e.data,r=n.length,i;for(i=0;i255?255:i,o=o<0?0:o>255?255:o,s=s<0?0:s>255?255:s,n[a]=i,n[a+1]=o,n[a+2]=s};OS.Contrast=Fwe;dk.Factory.addGetterSetter(Dwe.Node,"contrast",0,(0,$we.getNumberValidator)(),dk.Factory.afterSetFilter);var kS={};Object.defineProperty(kS,"__esModule",{value:!0});kS.Emboss=void 0;const ql=nt,IS=fn,Bwe=Sn,Cz=ke,Uwe=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),o=0,s=0,a=e.data,l=e.width,u=e.height,d=l*4,f=u;switch(r){case"top-left":o=-1,s=-1;break;case"top":o=-1,s=0;break;case"top-right":o=-1,s=1;break;case"right":o=0,s=1;break;case"bottom-right":o=1,s=1;break;case"bottom":o=1,s=0;break;case"bottom-left":o=1,s=-1;break;case"left":o=0,s=-1;break;default:Bwe.Util.error("Unknown emboss direction: "+r)}do{var p=(f-1)*d,g=o;f+g<1&&(g=0),f+g>u&&(g=0);var m=(f-1+g)*l*4,v=l;do{var x=p+(v-1)*4,_=s;v+_<1&&(_=0),v+_>l&&(_=0);var b=m+(v-1+_)*4,y=a[x]-a[b],S=a[x+1]-a[b+1],C=a[x+2]-a[b+2],T=y,E=T>0?T:-T,P=S>0?S:-S,k=C>0?C:-C;if(P>E&&(T=S),k>E&&(T=C),T*=t,i){var O=a[x]+T,M=a[x+1]+T,G=a[x+2]+T;a[x]=O>255?255:O<0?0:O,a[x+1]=M>255?255:M<0?0:M,a[x+2]=G>255?255:G<0?0:G}else{var U=n-T;U<0?U=0:U>255&&(U=255),a[x]=a[x+1]=a[x+2]=U}}while(--v)}while(--f)};kS.Emboss=Uwe;ql.Factory.addGetterSetter(IS.Node,"embossStrength",.5,(0,Cz.getNumberValidator)(),ql.Factory.afterSetFilter);ql.Factory.addGetterSetter(IS.Node,"embossWhiteLevel",.5,(0,Cz.getNumberValidator)(),ql.Factory.afterSetFilter);ql.Factory.addGetterSetter(IS.Node,"embossDirection","top-left",null,ql.Factory.afterSetFilter);ql.Factory.addGetterSetter(IS.Node,"embossBlend",!1,null,ql.Factory.afterSetFilter);var MS={};Object.defineProperty(MS,"__esModule",{value:!0});MS.Enhance=void 0;const fk=nt,zwe=fn,Vwe=ke;function Gx(e,t,n,r,i){var o=n-t,s=i-r,a;return o===0?r+s/2:s===0?r:(a=(e-t)/o,a=s*a+r,a)}const jwe=function(e){var t=e.data,n=t.length,r=t[0],i=r,o,s=t[1],a=s,l,u=t[2],d=u,f,p,g=this.enhance();if(g!==0){for(p=0;pi&&(i=o),l=t[p+1],la&&(a=l),f=t[p+2],fd&&(d=f);i===r&&(i=255,r=0),a===s&&(a=255,s=0),d===u&&(d=255,u=0);var m,v,x,_,b,y,S,C,T;for(g>0?(v=i+g*(255-i),x=r-g*(r-0),b=a+g*(255-a),y=s-g*(s-0),C=d+g*(255-d),T=u-g*(u-0)):(m=(i+r)*.5,v=i+g*(i-m),x=r+g*(r-m),_=(a+s)*.5,b=a+g*(a-_),y=s+g*(s-_),S=(d+u)*.5,C=d+g*(d-S),T=u+g*(u-S)),p=0;p_?x:_;var b=s,y=o,S,C,T=360/y*Math.PI/180,E,P;for(C=0;Cy?b:y;var S=s,C=o,T,E,P=n.polarRotation||0,k,O;for(d=0;dt&&(S=y,C=0,T=-1),i=0;i=0&&g=0&&m=0&&g=0&&m=255*4?255:0}return s}function ixe(e,t,n){for(var r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],i=Math.round(Math.sqrt(r.length)),o=Math.floor(i/2),s=[],a=0;a=0&&g=0&&m=n))for(o=v;o=r||(s=(n*o+i)*4,a+=S[s+0],l+=S[s+1],u+=S[s+2],d+=S[s+3],y+=1);for(a=a/y,l=l/y,u=u/y,d=d/y,i=g;i=n))for(o=v;o=r||(s=(n*o+i)*4,S[s+0]=a,S[s+1]=l,S[s+2]=u,S[s+3]=d)}};zS.Pixelate=fxe;mk.Factory.addGetterSetter(cxe.Node,"pixelSize",8,(0,dxe.getNumberValidator)(),mk.Factory.afterSetFilter);var VS={};Object.defineProperty(VS,"__esModule",{value:!0});VS.Posterize=void 0;const yk=nt,hxe=fn,pxe=ke,gxe=function(e){var t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,i=255/t,o;for(o=0;o255?255:e<0?0:Math.round(e)});n_.Factory.addGetterSetter(IE.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});n_.Factory.addGetterSetter(IE.Node,"blue",0,mxe.RGBComponent,n_.Factory.afterSetFilter);var GS={};Object.defineProperty(GS,"__esModule",{value:!0});GS.RGBA=void 0;const Dg=nt,HS=fn,vxe=ke,_xe=function(e){var t=e.data,n=t.length,r=this.red(),i=this.green(),o=this.blue(),s=this.alpha(),a,l;for(a=0;a255?255:e<0?0:Math.round(e)});Dg.Factory.addGetterSetter(HS.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Dg.Factory.addGetterSetter(HS.Node,"blue",0,vxe.RGBComponent,Dg.Factory.afterSetFilter);Dg.Factory.addGetterSetter(HS.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var WS={};Object.defineProperty(WS,"__esModule",{value:!0});WS.Sepia=void 0;const bxe=function(e){var t=e.data,n=t.length,r,i,o,s;for(r=0;r127&&(u=255-u),d>127&&(d=255-d),f>127&&(f=255-f),t[l]=u,t[l+1]=d,t[l+2]=f}while(--a)}while(--o)};qS.Solarize=Sxe;var KS={};Object.defineProperty(KS,"__esModule",{value:!0});KS.Threshold=void 0;const vk=nt,wxe=fn,xxe=ke,Cxe=function(e){var t=this.threshold()*255,n=e.data,r=n.length,i;for(i=0;i{const{width:r,height:i}=t,o=document.createElement("div"),s=new tp.Stage({container:o,width:r,height:i}),a=new tp.Layer,l=new tp.Layer;return a.add(new tp.Rect({...t,fill:n?"black":"white"})),e.forEach(u=>l.add(new tp.Line({points:u.points,stroke:n?"white":"black",strokeWidth:u.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,globalCompositeOperation:u.tool==="brush"?"source-over":"destination-out"}))),s.add(a),s.add(l),o.remove(),s},cCe=async(e,t,n)=>new Promise((r,i)=>{const o=document.createElement("canvas");o.width=t,o.height=n;const s=o.getContext("2d"),a=new Image;if(!s){o.remove(),i("Unable to get context");return}a.onload=function(){s.drawImage(a,0,0),o.remove(),r(s.getImageData(0,0,t,n))},a.src=e}),Sk=async(e,t)=>{const n=e.toDataURL(t);return await cCe(n,t.width,t.height)},dCe=async(e,t,n,r,i)=>{const o=Ie("canvas"),s=nS(),a=x_e();if(!s||!a){o.error("Unable to find canvas / stage");return}const l={...t,...n},u=s.clone();u.scale({x:1,y:1});const d=u.getAbsolutePosition(),f={x:l.x+d.x,y:l.y+d.y,width:l.width,height:l.height},p=await Q1(u,f),g=await Sk(u,f),m=await uCe(r?e.objects.filter(o$):[],l,i),v=await Q1(m,l),x=await Sk(m,l);return{baseBlob:p,baseImageData:g,maskBlob:v,maskImageData:x}},fCe=e=>{let t=!0,n=!1;const r=e.length;let i=3;for(i;i{const t=e.length;let n=0;for(n;n{const{isPartiallyTransparent:n,isFullyTransparent:r}=fCe(e.data),i=hCe(t.data);return n?r?"txt2img":"outpaint":i?"inpaint":"img2img"},gCe=e=>ID(e,n=>n.isEnabled&&(!!n.processedControlImage||n.processorType==="none"&&!!n.controlImage)),XS=(e,t,n)=>{const{isEnabled:r,controlNets:i}=e.controlNet,o=gCe(i),s=t.nodes[Ot];if(r&&o.length&&o.length){const a={id:O0,type:"collect",is_intermediate:!0};t.nodes[O0]=a,t.edges.push({source:{node_id:O0,field:"collection"},destination:{node_id:n,field:"control"}}),o.forEach(l=>{const{controlNetId:u,controlImage:d,processedControlImage:f,beginStepPct:p,endStepPct:g,controlMode:m,resizeMode:v,model:x,processorType:_,weight:b}=l,y={id:`control_net_${u}`,type:"controlnet",is_intermediate:!0,begin_step_percent:p,end_step_percent:g,control_mode:m,resize_mode:v,control_model:x,control_weight:b};if(f&&_!=="none")y.image={image_name:f};else if(d)y.image={image_name:d};else return;if(t.nodes[y.id]=y,s){const S=rb(y,["id","type"]);s.controlnets.push(S)}t.edges.push({source:{node_id:y.id,field:"control"},destination:{node_id:O0,field:"item"}})})}},qf=(e,t)=>{const{positivePrompt:n,iterations:r,seed:i,shouldRandomizeSeed:o}=e.generation,{combinatorial:s,isEnabled:a,maxPrompts:l}=e.dynamicPrompts,u=t.nodes[Ot];if(a){ile(t.nodes[gt],"prompt");const d={id:Nx,type:"dynamic_prompt",is_intermediate:!0,max_prompts:s?l:r,combinatorial:s,prompt:n},f={id:vi,type:"iterate",is_intermediate:!0};if(t.nodes[Nx]=d,t.nodes[vi]=f,t.edges.push({source:{node_id:Nx,field:"prompt_collection"},destination:{node_id:vi,field:"collection"}},{source:{node_id:vi,field:"item"},destination:{node_id:gt,field:"prompt"}}),u&&t.edges.push({source:{node_id:vi,field:"item"},destination:{node_id:Ot,field:"positive_prompt"}}),o){const p={id:ms,type:"rand_int",is_intermediate:!0};t.nodes[ms]=p,t.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:yt,field:"seed"}}),u&&t.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:Ot,field:"seed"}})}else t.nodes[yt].seed=i,u&&(u.seed=i)}else{u&&(u.positive_prompt=n);const d={id:ha,type:"range_of_size",is_intermediate:!0,size:r,step:1},f={id:vi,type:"iterate",is_intermediate:!0};if(t.nodes[vi]=f,t.nodes[ha]=d,t.edges.push({source:{node_id:ha,field:"collection"},destination:{node_id:vi,field:"collection"}}),t.edges.push({source:{node_id:vi,field:"item"},destination:{node_id:yt,field:"seed"}}),u&&t.edges.push({source:{node_id:vi,field:"item"},destination:{node_id:Ot,field:"seed"}}),o){const p={id:ms,type:"rand_int",is_intermediate:!0};t.nodes[ms]=p,t.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:ha,field:"start"}})}else d.start=i}},Im=(e,t,n,r=Gr)=>{const{loras:i}=e.lora,o=bT(i),s=t.nodes[Ot];o>0&&(t.edges=t.edges.filter(u=>!(u.source.node_id===r&&["unet"].includes(u.source.field))),t.edges=t.edges.filter(u=>!(u.source.node_id===qt&&["clip"].includes(u.source.field))));let a="",l=0;tc(i,u=>{const{model_name:d,base_model:f,weight:p}=u,g=`${GU}_${d.replace(".","_")}`,m={type:"lora_loader",id:g,is_intermediate:!0,lora:{model_name:d,base_model:f},weight:p};s&&s.loras.push({lora:{model_name:d,base_model:f},weight:p}),t.nodes[g]=m,l===0?(t.edges.push({source:{node_id:r,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:qt,field:"clip"},destination:{node_id:g,field:"clip"}})):(t.edges.push({source:{node_id:a,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:a,field:"clip"},destination:{node_id:g,field:"clip"}})),l===o-1&&(t.edges.push({source:{node_id:g,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:gt,field:"clip"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:_t,field:"clip"}})),a=g,l+=1})},Az=si(e=>e.ui,e=>e$[e.activeTab],{memoizeOptions:{equalityCheck:nb}}),iMe=si(e=>e.ui,e=>e.activeTab,{memoizeOptions:{equalityCheck:nb}}),oMe=si(e=>e.ui,e=>e,{memoizeOptions:{equalityCheck:nb}}),Ec=(e,t,n=Rt)=>{const i=Az(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[Ot];if(!o)return;o.is_intermediate=!0;const a={id:Dd,type:"img_nsfw",is_intermediate:i};t.nodes[Dd]=a,t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:Dd,field:"image"}}),s&&t.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Dd,field:"metadata"}})},Mm=(e,t,n=Gr)=>{const{vae:r}=e.generation,i=!r,o=t.nodes[Ot];i||(t.nodes[Qh]={type:"vae_loader",id:Qh,is_intermediate:!0,vae_model:r});const s=n==mE;(t.id===yE||t.id===Z1)&&t.edges.push({source:{node_id:i?n:Qh,field:i&&s?"vae_decoder":"vae"},destination:{node_id:Rt,field:"vae"}}),t.id===Z1&&t.edges.push({source:{node_id:i?n:Qh,field:i&&s?"vae_decoder":"vae"},destination:{node_id:un,field:"vae"}}),t.id===HU&&t.edges.push({source:{node_id:i?n:Qh,field:i&&s?"vae_decoder":"vae"},destination:{node_id:fs,field:"vae"}}),r&&o&&(o.vae=r)},Ac=(e,t,n=Rt)=>{const i=Az(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[Dd],a=t.nodes[Ot];if(!o)return;const l={id:Yh,type:"img_watermark",is_intermediate:i};t.nodes[Yh]=l,o.is_intermediate=!0,s?(s.is_intermediate=!0,t.edges.push({source:{node_id:Dd,field:"image"},destination:{node_id:Yh,field:"image"}})):t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:Yh,field:"image"}}),a&&t.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Yh,field:"metadata"}})},mCe=(e,t)=>{const n=Ie("nodes"),{positivePrompt:r,negativePrompt:i,model:o,cfgScale:s,scheduler:a,steps:l,img2imgStrength:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:p}=e.generation,{width:g,height:m}=e.canvas.boundingBoxDimensions,{shouldAutoSave:v}=e.canvas;if(!o)throw n.error("No model found in state"),new Error("No model found in state");const x=p?f:Da.shouldUseCpuNoise,_={id:Z1,nodes:{[gt]:{type:"compel",id:gt,is_intermediate:!0,prompt:r},[_t]:{type:"compel",id:_t,is_intermediate:!0,prompt:i},[yt]:{type:"noise",id:yt,is_intermediate:!0,use_cpu:x},[Gr]:{type:"main_model_loader",id:Gr,is_intermediate:!0,model:o},[qt]:{type:"clip_skip",id:qt,is_intermediate:!0,skipped_layers:d},[Un]:{type:"l2l",id:Un,is_intermediate:!0,cfg_scale:s,scheduler:a,steps:l,strength:u},[un]:{type:"i2l",id:un,is_intermediate:!0},[Rt]:{type:"l2i",id:Rt,is_intermediate:!v}},edges:[{source:{node_id:Gr,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:Un,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:un,field:"latents"},destination:{node_id:Un,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:Un,field:"noise"}},{source:{node_id:Gr,field:"unet"},destination:{node_id:Un,field:"unet"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:Un,field:"negative_conditioning"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:Un,field:"positive_conditioning"}}]};if(t.width!==g||t.height!==m){const b={id:ii,type:"img_resize",image:{image_name:t.image_name},is_intermediate:!0,width:g,height:m};_.nodes[ii]=b,_.edges.push({source:{node_id:ii,field:"image"},destination:{node_id:un,field:"image"}}),_.edges.push({source:{node_id:ii,field:"width"},destination:{node_id:yt,field:"width"}}),_.edges.push({source:{node_id:ii,field:"height"},destination:{node_id:yt,field:"height"}})}else _.nodes[un].image={image_name:t.image_name},_.edges.push({source:{node_id:un,field:"width"},destination:{node_id:yt,field:"width"}}),_.edges.push({source:{node_id:un,field:"height"},destination:{node_id:yt,field:"height"}});return _.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:s,height:m,width:g,positive_prompt:"",negative_prompt:i,model:o,seed:0,steps:l,rand_device:x?"cpu":"cuda",scheduler:a,vae:void 0,controlnets:[],loras:[],clip_skip:d,strength:u,init_image:t.image_name},_.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,_,Un),Mm(e,_),qf(e,_),XS(e,_,Un),e.system.shouldUseNSFWChecker&&Ec(e,_),e.system.shouldUseWatermarker&&Ac(e,_),_},yCe=(e,t,n)=>{const r=Ie("nodes"),{positivePrompt:i,negativePrompt:o,model:s,cfgScale:a,scheduler:l,steps:u,img2imgStrength:d,shouldFitToWidthHeight:f,iterations:p,seed:g,shouldRandomizeSeed:m,seamSize:v,seamBlur:x,seamSteps:_,seamStrength:b,tileSize:y,infillMethod:S,clipSkip:C}=e.generation;if(!s)throw r.error("No model found in state"),new Error("No model found in state");const{width:T,height:E}=e.canvas.boundingBoxDimensions,{scaledBoundingBoxDimensions:P,boundingBoxScaleMethod:k,shouldAutoSave:O}=e.canvas,M={id:HU,nodes:{[fs]:{is_intermediate:!O,type:"inpaint",id:fs,steps:u,width:T,height:E,cfg_scale:a,scheduler:l,image:{image_name:t.image_name},strength:d,fit:f,mask:{image_name:n.image_name},seam_size:v,seam_blur:x,seam_strength:b,seam_steps:_,tile_size:S==="tile"?y:void 0,infill_method:S,inpaint_width:k!=="none"?P.width:void 0,inpaint_height:k!=="none"?P.height:void 0},[gt]:{type:"compel",id:gt,is_intermediate:!0,prompt:i},[_t]:{type:"compel",id:_t,is_intermediate:!0,prompt:o},[Gr]:{type:"main_model_loader",id:Gr,is_intermediate:!0,model:s},[qt]:{type:"clip_skip",id:qt,is_intermediate:!0,skipped_layers:C},[ha]:{type:"range_of_size",id:ha,is_intermediate:!0,size:p,step:1},[vi]:{type:"iterate",id:vi,is_intermediate:!0}},edges:[{source:{node_id:Gr,field:"unet"},destination:{node_id:fs,field:"unet"}},{source:{node_id:Gr,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:fs,field:"negative_conditioning"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:fs,field:"positive_conditioning"}},{source:{node_id:ha,field:"collection"},destination:{node_id:vi,field:"collection"}},{source:{node_id:vi,field:"item"},destination:{node_id:fs,field:"seed"}}]};if(Im(e,M,fs),Mm(e,M),m){const G={id:ms,type:"rand_int"};M.nodes[ms]=G,M.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:ha,field:"start"}})}else M.nodes[ha].start=g;return e.system.shouldUseNSFWChecker&&Ec(e,M,fs),e.system.shouldUseWatermarker&&Ac(e,M,fs),M},vCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,clipSkip:l,shouldUseCpuNoise:u,shouldUseNoiseSettings:d}=e.generation,{width:f,height:p}=e.canvas.boundingBoxDimensions,{shouldAutoSave:g}=e.canvas;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const m=d?u:Da.shouldUseCpuNoise,v=i.model_type==="onnx",x=v?mE:Gr,_=v?"onnx_model_loader":"main_model_loader",b=v?{type:"t2l_onnx",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a}:{type:"t2l",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a},y={id:yE,nodes:{[gt]:{type:v?"prompt_onnx":"compel",id:gt,is_intermediate:!0,prompt:n},[_t]:{type:v?"prompt_onnx":"compel",id:_t,is_intermediate:!0,prompt:r},[yt]:{type:"noise",id:yt,is_intermediate:!0,width:f,height:p,use_cpu:m},[b.id]:b,[x]:{type:_,id:x,is_intermediate:!0,model:i},[qt]:{type:"clip_skip",id:qt,is_intermediate:!0,skipped_layers:l},[Rt]:{type:v?"l2i_onnx":"l2i",id:Rt,is_intermediate:!g}},edges:[{source:{node_id:_t,field:"conditioning"},destination:{node_id:cr,field:"negative_conditioning"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:cr,field:"positive_conditioning"}},{source:{node_id:x,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:x,field:"unet"},destination:{node_id:cr,field:"unet"}},{source:{node_id:cr,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:cr,field:"noise"}}]};return y.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:p,width:f,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:m?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:l},y.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,y,cr,x),Mm(e,y,x),qf(e,y),XS(e,y,cr),e.system.shouldUseNSFWChecker&&Ec(e,y),e.system.shouldUseWatermarker&&Ac(e,y),y},_Ce=(e,t,n,r)=>{let i;if(t==="txt2img")i=vCe(e);else if(t==="img2img"){if(!n)throw new Error("Missing canvas init image");i=mCe(e,n)}else{if(!n||!r)throw new Error("Missing canvas init and mask images");i=yCe(e,n,r)}return i},bCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="unifiedCanvas",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),{layerState:s,boundingBoxCoordinates:a,boundingBoxDimensions:l,isMaskEnabled:u,shouldPreserveMaskedArea:d}=o.canvas,f=await dCe(s,a,l,u,d);if(!f){i.error("Unable to create canvas data");return}const{baseBlob:p,baseImageData:g,maskBlob:m,maskImageData:v}=f,x=pCe(g,v);if(o.system.enableImageDebugging){const E=await UO(p),P=await UO(m);cSe([{base64:P,caption:"mask b64"},{base64:E,caption:"image b64"}])}i.debug(`Generation mode: ${x}`);let _,b;["img2img","inpaint","outpaint"].includes(x)&&(_=await n(Se.endpoints.uploadImage.initiate({file:new File([p],"canvasInitImage.png",{type:"image/png"}),image_category:"general",is_intermediate:!0})).unwrap()),["inpaint","outpaint"].includes(x)&&(b=await n(Se.endpoints.uploadImage.initiate({file:new File([m],"canvasMaskImage.png",{type:"image/png"}),image_category:"mask",is_intermediate:!0})).unwrap());const y=_Ce(o,x,_,b);i.debug({graph:$a(y)},"Canvas graph built"),n(NU(y));const{requestId:S}=n(Ir({graph:y})),[C]=await r(E=>Ir.fulfilled.match(E)&&E.meta.requestId===S),T=C.payload.id;["img2img","inpaint"].includes(x)&&_&&n(Se.endpoints.changeImageSessionId.initiate({imageDTO:_,session_id:T})),["inpaint"].includes(x)&&b&&n(Se.endpoints.changeImageSessionId.initiate({imageDTO:b,session_id:T})),o.canvas.layerState.stagingArea.boundingBox||n(Wue({sessionId:T,boundingBox:{...o.canvas.boundingBoxCoordinates,...o.canvas.boundingBoxDimensions}})),n(que(T)),n(yc())}})},SCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,img2imgStrength:u,shouldFitToWidthHeight:d,width:f,height:p,clipSkip:g,shouldUseCpuNoise:m,shouldUseNoiseSettings:v,vaePrecision:x}=e.generation;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const _=v?m:Da.shouldUseCpuNoise,b={id:Z1,nodes:{[Gr]:{type:"main_model_loader",id:Gr,model:i},[qt]:{type:"clip_skip",id:qt,skipped_layers:g},[gt]:{type:"compel",id:gt,prompt:n},[_t]:{type:"compel",id:_t,prompt:r},[yt]:{type:"noise",id:yt,use_cpu:_},[Rt]:{type:"l2i",id:Rt,fp32:x==="fp32"},[Un]:{type:"l2l",id:Un,cfg_scale:o,scheduler:s,steps:a,strength:u},[un]:{type:"i2l",id:un,fp32:x==="fp32"}},edges:[{source:{node_id:Gr,field:"unet"},destination:{node_id:Un,field:"unet"}},{source:{node_id:Gr,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:Un,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:un,field:"latents"},destination:{node_id:Un,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:Un,field:"noise"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:Un,field:"negative_conditioning"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:Un,field:"positive_conditioning"}}]};if(d&&(l.width!==f||l.height!==p)){const y={id:ii,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:f,height:p};b.nodes[ii]=y,b.edges.push({source:{node_id:ii,field:"image"},destination:{node_id:un,field:"image"}}),b.edges.push({source:{node_id:ii,field:"width"},destination:{node_id:yt,field:"width"}}),b.edges.push({source:{node_id:ii,field:"height"},destination:{node_id:yt,field:"height"}})}else b.nodes[un].image={image_name:l.imageName},b.edges.push({source:{node_id:un,field:"width"},destination:{node_id:yt,field:"width"}}),b.edges.push({source:{node_id:un,field:"height"},destination:{node_id:yt,field:"height"}});return b.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:o,height:p,width:f,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:_?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:g,strength:u,init_image:l.imageName},b.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,b,Un),Mm(e,b),qf(e,b),XS(e,b,Un),e.system.shouldUseNSFWChecker&&Ec(e,b),e.system.shouldUseWatermarker&&Ac(e,b),b},Pz=(e,t,n)=>{const{positivePrompt:r,negativePrompt:i}=e.generation,{refinerModel:o,refinerAestheticScore:s,positiveStylePrompt:a,negativeStylePrompt:l,refinerSteps:u,refinerScheduler:d,refinerCFGScale:f,refinerStart:p}=e.sdxl;if(!o)return;const g=t.nodes[Ot];g&&(g.refiner_model=o,g.refiner_aesthetic_store=s,g.refiner_cfg_scale=f,g.refiner_scheduler=d,g.refiner_start=p,g.refiner_steps=u),t.edges=t.edges.filter(m=>!(m.source.node_id===n&&["latents"].includes(m.source.field))),t.edges=t.edges.filter(m=>!(m.source.node_id===Cn&&["vae"].includes(m.source.field))),n===Do&&t.edges.push({source:{node_id:Cn,field:"vae"},destination:{node_id:un,field:"vae"}}),t.nodes[fd]={type:"sdxl_refiner_model_loader",id:fd,model:o},t.nodes[k0]={type:"sdxl_refiner_compel_prompt",id:k0,style:`${r} ${a}`,aesthetic_score:s},t.nodes[I0]={type:"sdxl_refiner_compel_prompt",id:I0,style:`${i} ${l}`,aesthetic_score:s},t.nodes[Su]={type:"l2l_sdxl",id:Su,cfg_scale:f,steps:u/(1-Math.min(p,.99)),scheduler:d,denoising_start:p,denoising_end:1},t.edges.push({source:{node_id:fd,field:"unet"},destination:{node_id:Su,field:"unet"}},{source:{node_id:fd,field:"vae"},destination:{node_id:Rt,field:"vae"}},{source:{node_id:fd,field:"clip2"},destination:{node_id:k0,field:"clip2"}},{source:{node_id:fd,field:"clip2"},destination:{node_id:I0,field:"clip2"}},{source:{node_id:k0,field:"conditioning"},destination:{node_id:Su,field:"positive_conditioning"}},{source:{node_id:I0,field:"conditioning"},destination:{node_id:Su,field:"negative_conditioning"}},{source:{node_id:n,field:"latents"},destination:{node_id:Su,field:"latents"}},{source:{node_id:Su,field:"latents"},destination:{node_id:Rt,field:"latents"}})},Rz=(e,t,n,r=Cn)=>{const{loras:i}=e.lora,o=bT(i),s=t.nodes[Ot];o>0&&(t.edges=t.edges.filter(u=>!(u.source.node_id===r&&["unet"].includes(u.source.field))&&!(u.source.node_id===r&&["clip"].includes(u.source.field))&&!(u.source.node_id===r&&["clip2"].includes(u.source.field))));let a="",l=0;tc(i,u=>{const{model_name:d,base_model:f,weight:p}=u,g=`${GU}_${d.replace(".","_")}`,m={type:"sdxl_lora_loader",id:g,is_intermediate:!0,lora:{model_name:d,base_model:f},weight:p};s&&s.loras.push({lora:{model_name:d,base_model:f},weight:p}),t.nodes[g]=m,l===0?(t.edges.push({source:{node_id:r,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:r,field:"clip"},destination:{node_id:g,field:"clip"}}),t.edges.push({source:{node_id:r,field:"clip2"},destination:{node_id:g,field:"clip2"}})):(t.edges.push({source:{node_id:a,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:a,field:"clip"},destination:{node_id:g,field:"clip"}}),t.edges.push({source:{node_id:a,field:"clip2"},destination:{node_id:g,field:"clip2"}})),l===o-1&&(t.edges.push({source:{node_id:g,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:gt,field:"clip"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:_t,field:"clip"}}),t.edges.push({source:{node_id:g,field:"clip2"},destination:{node_id:gt,field:"clip2"}}),t.edges.push({source:{node_id:g,field:"clip2"},destination:{node_id:_t,field:"clip2"}})),a=g,l+=1})},wCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,shouldFitToWidthHeight:u,width:d,height:f,clipSkip:p,shouldUseCpuNoise:g,shouldUseNoiseSettings:m,vaePrecision:v}=e.generation,{positiveStylePrompt:x,negativeStylePrompt:_,shouldConcatSDXLStylePrompt:b,shouldUseSDXLRefiner:y,refinerStart:S,sdxlImg2ImgDenoisingStrength:C}=e.sdxl;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const T=m?g:Da.shouldUseCpuNoise,E={id:sSe,nodes:{[Cn]:{type:"sdxl_model_loader",id:Cn,model:i},[gt]:{type:"sdxl_compel_prompt",id:gt,prompt:n,style:b?`${n} ${x}`:x},[_t]:{type:"sdxl_compel_prompt",id:_t,prompt:r,style:b?`${r} ${_}`:_},[yt]:{type:"noise",id:yt,use_cpu:T},[Rt]:{type:"l2i",id:Rt,fp32:v==="fp32"},[Do]:{type:"l2l_sdxl",id:Do,cfg_scale:o,scheduler:s,steps:a,denoising_start:y?Math.min(S,1-C):1-C,denoising_end:y?S:1},[un]:{type:"i2l",id:un,fp32:v==="fp32"}},edges:[{source:{node_id:Cn,field:"unet"},destination:{node_id:Do,field:"unet"}},{source:{node_id:Cn,field:"vae"},destination:{node_id:Rt,field:"vae"}},{source:{node_id:Cn,field:"vae"},destination:{node_id:un,field:"vae"}},{source:{node_id:Cn,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:Cn,field:"clip2"},destination:{node_id:gt,field:"clip2"}},{source:{node_id:Cn,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:Cn,field:"clip2"},destination:{node_id:_t,field:"clip2"}},{source:{node_id:Do,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:un,field:"latents"},destination:{node_id:Do,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:Do,field:"noise"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:Do,field:"positive_conditioning"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:Do,field:"negative_conditioning"}}]};if(u&&(l.width!==d||l.height!==f)){const P={id:ii,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:d,height:f};E.nodes[ii]=P,E.edges.push({source:{node_id:ii,field:"image"},destination:{node_id:un,field:"image"}}),E.edges.push({source:{node_id:ii,field:"width"},destination:{node_id:yt,field:"width"}}),E.edges.push({source:{node_id:ii,field:"height"},destination:{node_id:yt,field:"height"}})}else E.nodes[un].image={image_name:l.imageName},E.edges.push({source:{node_id:un,field:"width"},destination:{node_id:yt,field:"width"}}),E.edges.push({source:{node_id:un,field:"height"},destination:{node_id:yt,field:"height"}});return E.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"sdxl_img2img",cfg_scale:o,height:f,width:d,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:T?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:p,strength:C,init_image:l.imageName,positive_style_prompt:x,negative_style_prompt:_},E.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Rz(e,E,Do,Cn),y&&Pz(e,E,Do),qf(e,E),e.system.shouldUseNSFWChecker&&Ec(e,E),e.system.shouldUseWatermarker&&Ac(e,E),E},xCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="img2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=wCe(o):a=SCe(o),n(MU(a)),i.debug({graph:$a(a)},"Image to Image graph built"),n(Ir({graph:a})),await r(Ir.fulfilled.match),n(yc())}})};let B0;const CCe=new Uint8Array(16);function TCe(){if(!B0&&(B0=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!B0))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return B0(CCe)}const Er=[];for(let e=0;e<256;++e)Er.push((e+256).toString(16).slice(1));function ECe(e,t=0){return(Er[e[t+0]]+Er[e[t+1]]+Er[e[t+2]]+Er[e[t+3]]+"-"+Er[e[t+4]]+Er[e[t+5]]+"-"+Er[e[t+6]]+Er[e[t+7]]+"-"+Er[e[t+8]]+Er[e[t+9]]+"-"+Er[e[t+10]]+Er[e[t+11]]+Er[e[t+12]]+Er[e[t+13]]+Er[e[t+14]]+Er[e[t+15]]).toLowerCase()}const ACe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),wk={randomUUID:ACe};function PCe(e,t,n){if(wk.randomUUID&&!t&&!e)return wk.randomUUID();e=e||{};const r=e.random||(e.rng||TCe)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=r[i];return t}return ECe(r)}const RCe=e=>{if(e.type==="color"&&e.value){const t=Ur(e.value),{r:n,g:r,b:i,a:o}=e.value,s=Math.max(0,Math.min(o*255,255));return Object.assign(t,{r:n,g:r,b:i,a:s}),t}return e.value},OCe=e=>{const{nodes:t,edges:n}=e.nodes,i=t.filter(a=>a.type!=="progress_image").reduce((a,l)=>{const{id:u,data:d}=l,{type:f,inputs:p}=d,g=_T(p,(v,x,_)=>{const b=RCe(x);return v[_]=b,v},{}),m={type:f,id:u,...g};return Object.assign(a,{[u]:m}),a},{}),o=n.reduce((a,l)=>{const{source:u,target:d,sourceHandle:f,targetHandle:p}=l;return a.push({source:{node_id:u,field:f},destination:{node_id:d,field:p}}),a},[]);return o.forEach(a=>{const l=i[a.destination.node_id],u=a.destination.field;i[a.destination.node_id]=rb(l,u)}),{id:PCe(),nodes:i,edges:o}},kCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="nodes",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),s=OCe(o);n(LU(s)),i.debug({graph:$a(s)},"Nodes graph built"),n(Ir({graph:s})),await r(Ir.fulfilled.match),n(yc())}})},ICe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:p,vaePrecision:g}=e.generation,{positiveStylePrompt:m,negativeStylePrompt:v,shouldConcatSDXLStylePrompt:x,shouldUseSDXLRefiner:_,refinerStart:b}=e.sdxl,y=p?f:Da.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const S={id:oSe,nodes:{[Cn]:{type:"sdxl_model_loader",id:Cn,model:i},[gt]:{type:"sdxl_compel_prompt",id:gt,prompt:n,style:x?`${n} ${m}`:m},[_t]:{type:"sdxl_compel_prompt",id:_t,prompt:r,style:x?`${r} ${v}`:v},[yt]:{type:"noise",id:yt,width:l,height:u,use_cpu:y},[ra]:{type:"t2l_sdxl",id:ra,cfg_scale:o,scheduler:s,steps:a,denoising_end:_?b:1},[Rt]:{type:"l2i",id:Rt,fp32:g==="fp32"}},edges:[{source:{node_id:Cn,field:"unet"},destination:{node_id:ra,field:"unet"}},{source:{node_id:Cn,field:"vae"},destination:{node_id:Rt,field:"vae"}},{source:{node_id:Cn,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:Cn,field:"clip2"},destination:{node_id:gt,field:"clip2"}},{source:{node_id:Cn,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:Cn,field:"clip2"},destination:{node_id:_t,field:"clip2"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:ra,field:"positive_conditioning"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:ra,field:"negative_conditioning"}},{source:{node_id:yt,field:"noise"},destination:{node_id:ra,field:"noise"}},{source:{node_id:ra,field:"latents"},destination:{node_id:Rt,field:"latents"}}]};return S.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"sdxl_txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:y?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:d,positive_style_prompt:m,negative_style_prompt:v},S.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Rz(e,S,ra,Cn),_&&Pz(e,S,ra),qf(e,S),e.system.shouldUseNSFWChecker&&Ec(e,S),e.system.shouldUseWatermarker&&Ac(e,S),S},MCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:p,vaePrecision:g}=e.generation,m=p?f:Da.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const v=i.model_type==="onnx",x=v?mE:Gr,_=v?"onnx_model_loader":"main_model_loader",b=v?{type:"t2l_onnx",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a}:{type:"t2l",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a},y={id:yE,nodes:{[gt]:{type:v?"prompt_onnx":"compel",id:gt,prompt:n,is_intermediate:!0},[_t]:{type:v?"prompt_onnx":"compel",id:_t,prompt:r,is_intermediate:!0},[yt]:{type:"noise",id:yt,width:l,height:u,use_cpu:m,is_intermediate:!0},[b.id]:b,[x]:{type:_,id:x,is_intermediate:!0,model:i},[qt]:{type:"clip_skip",id:qt,skipped_layers:d,is_intermediate:!0},[Rt]:{type:v?"l2i_onnx":"l2i",id:Rt,fp32:g==="fp32"}},edges:[{source:{node_id:x,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:x,field:"unet"},destination:{node_id:cr,field:"unet"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:cr,field:"positive_conditioning"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:cr,field:"negative_conditioning"}},{source:{node_id:cr,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:cr,field:"noise"}}]};return y.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:m?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:d},y.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,y,cr,x),Mm(e,y,x),qf(e,y),XS(e,y,cr),e.system.shouldUseNSFWChecker&&Ec(e,y),e.system.shouldUseWatermarker&&Ac(e,y),y},NCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="txt2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=ICe(o):a=MCe(o),n(IU(a)),i.debug({graph:$a(a)},"Text to Image graph built"),n(Ir({graph:a})),await r(Ir.fulfilled.match),n(yc())}})},Oz=bL(),Pe=Oz.startListening;W_e();q_e();Y_e();$_e();F_e();B_e();U_e();z_e();m_e();H_e();bCe();kCe();NCe();xCe();Vbe();k_e();P_e();E_e();O_e();nSe();c_e();Hbe();Wbe();Kbe();Xbe();Qbe();jbe();Gbe();eSe();tSe();Zbe();Jbe();Ybe();Dbe();$be();Fbe();Bbe();Ube();zbe();Mbe();Nbe();Lbe();N_e();M_e();L_e();D_e();j_e();G_e();y_e();Abe();V_e();Q_e();p_e();J_e();f_e();d_e();uSe();iSe();const LCe={canvas:Kue,gallery:nfe,generation:Eue,nodes:Vve,postprocessing:jve,system:m1e,config:sle,ui:Pue,hotkeys:b1e,controlNet:Jde,dynamicPrompts:tfe,deleteImageModal:sfe,changeBoardModal:lfe,lora:cfe,modelmanager:_1e,sdxl:Wve,[Hl.reducerPath]:Hl.reducer},DCe=Ff(LCe),$Ce=H1e(DCe),FCe=["canvas","gallery","generation","sdxl","nodes","postprocessing","system","ui","controlNet","dynamicPrompts","lora","modelmanager"],BCe=eL({reducer:$Ce,enhancers:e=>e.concat(W1e(window.localStorage,FCe,{persistDebounce:300,serialize:r_e,unserialize:o_e,prefix:q1e})).concat(wL()),middleware:e=>e({immutableCheck:!1,serializableCheck:!1}).concat(Hl.middleware).concat(C1e).prepend(Oz.middleware),devTools:{actionSanitizer:a_e,stateSanitizer:u_e,trace:!0,predicate:(e,t)=>!l_e.includes(t.type)}}),sMe=e=>e,UCe=e=>{const{socket:t,storeApi:n}=e,{dispatch:r,getState:i}=n;t.on("connect",()=>{Ie("socketio").debug("Connected"),r(G$());const{sessionId:s}=i().system;s&&(t.emit("subscribe",{session:s}),r(NT({sessionId:s})))}),t.on("connect_error",o=>{o&&o.message&&o.data==="ERR_UNAUTHENTICATED"&&r(zn(Ku({title:o.message,status:"error",duration:1e4})))}),t.on("disconnect",()=>{r(W$())}),t.on("invocation_started",o=>{r(Q$({data:o}))}),t.on("generator_progress",o=>{r(rF({data:o}))}),t.on("invocation_error",o=>{r(eF({data:o}))}),t.on("invocation_complete",o=>{r(LT({data:o}))}),t.on("graph_execution_state_complete",o=>{r(tF({data:o}))}),t.on("model_load_started",o=>{r(oF({data:o}))}),t.on("model_load_completed",o=>{r(sF({data:o}))}),t.on("session_retrieval_error",o=>{r(aF({data:o}))}),t.on("invocation_retrieval_error",o=>{r(uF({data:o}))})},Ds=Object.create(null);Ds.open="0";Ds.close="1";Ds.ping="2";Ds.pong="3";Ds.message="4";Ds.upgrade="5";Ds.noop="6";const Sv=Object.create(null);Object.keys(Ds).forEach(e=>{Sv[Ds[e]]=e});const zCe={type:"error",data:"parser error"},kz=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",Iz=typeof ArrayBuffer=="function",Mz=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,ME=({type:e,data:t},n,r)=>kz&&t instanceof Blob?n?r(t):xk(t,r):Iz&&(t instanceof ArrayBuffer||Mz(t))?n?r(t):xk(new Blob([t]),r):r(Ds[e]+(t||"")),xk=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)};function Ck(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let Hx;function VCe(e,t){if(kz&&e.data instanceof Blob)return e.data.arrayBuffer().then(Ck).then(t);if(Iz&&(e.data instanceof ArrayBuffer||Mz(e.data)))return t(Ck(e.data));ME(e,!1,n=>{Hx||(Hx=new TextEncoder),t(Hx.encode(n))})}const Tk="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",hp=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,n=e.length,r,i=0,o,s,a,l;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);const u=new ArrayBuffer(t),d=new Uint8Array(u);for(r=0;r>4,d[i++]=(s&15)<<4|a>>2,d[i++]=(a&3)<<6|l&63;return u},GCe=typeof ArrayBuffer=="function",NE=(e,t)=>{if(typeof e!="string")return{type:"message",data:Nz(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:HCe(e.substring(1),t)}:Sv[n]?e.length>1?{type:Sv[n],data:e.substring(1)}:{type:Sv[n]}:zCe},HCe=(e,t)=>{if(GCe){const n=jCe(e);return Nz(n,t)}else return{base64:!0,data:e}},Nz=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},Lz=String.fromCharCode(30),WCe=(e,t)=>{const n=e.length,r=new Array(n);let i=0;e.forEach((o,s)=>{ME(o,!1,a=>{r[s]=a,++i===n&&t(r.join(Lz))})})},qCe=(e,t)=>{const n=e.split(Lz),r=[];for(let i=0;i54;return NE(r?e:Wx.decode(e),n)}const Dz=4;function Hn(e){if(e)return XCe(e)}function XCe(e){for(var t in Hn.prototype)e[t]=Hn.prototype[t];return e}Hn.prototype.on=Hn.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this};Hn.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this};Hn.prototype.off=Hn.prototype.removeListener=Hn.prototype.removeAllListeners=Hn.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var n=this._callbacks["$"+e];if(!n)return this;if(arguments.length==1)return delete this._callbacks["$"+e],this;for(var r,i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function $z(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const YCe=yo.setTimeout,QCe=yo.clearTimeout;function YS(e,t){t.useNativeTimers?(e.setTimeoutFn=YCe.bind(yo),e.clearTimeoutFn=QCe.bind(yo)):(e.setTimeoutFn=yo.setTimeout.bind(yo),e.clearTimeoutFn=yo.clearTimeout.bind(yo))}const ZCe=1.33;function JCe(e){return typeof e=="string"?e3e(e):Math.ceil((e.byteLength||e.size)*ZCe)}function e3e(e){let t=0,n=0;for(let r=0,i=e.length;r=57344?n+=3:(r++,n+=4);return n}function t3e(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}function n3e(e){let t={},n=e.split("&");for(let r=0,i=n.length;r0);return t}function Bz(){const e=Pk(+new Date);return e!==Ak?(Ek=0,Ak=e):e+"."+Pk(Ek++)}for(;U0{this.readyState="paused",t()};if(this.polling||!this.writable){let r=0;this.polling&&(r++,this.once("pollComplete",function(){--r||n()})),this.writable||(r++,this.once("drain",function(){--r||n()}))}else n()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(t){const n=r=>{if(this.readyState==="opening"&&r.type==="open"&&this.onOpen(),r.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(r)};qCe(t,this.socket.binaryType).forEach(n),this.readyState!=="closed"&&(this.polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this.poll())}doClose(){const t=()=>{this.write([{type:"close"}])};this.readyState==="open"?t():this.once("open",t)}write(t){this.writable=!1,WCe(t,n=>{this.doWrite(n,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const t=this.opts.secure?"https":"http",n=this.query||{};return this.opts.timestampRequests!==!1&&(n[this.opts.timestampParam]=Bz()),!this.supportsBinary&&!n.sid&&(n.b64=1),this.createUri(t,n)}request(t={}){return Object.assign(t,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new af(this.uri(),t)}doWrite(t,n){const r=this.request({method:"POST",data:t});r.on("success",n),r.on("error",(i,o)=>{this.onError("xhr post error",i,o)})}doPoll(){const t=this.request();t.on("data",this.onData.bind(this)),t.on("error",(n,r)=>{this.onError("xhr poll error",n,r)}),this.pollXhr=t}}let af=class wv extends Hn{constructor(t,n){super(),YS(this,n),this.opts=n,this.method=n.method||"GET",this.uri=t,this.data=n.data!==void 0?n.data:null,this.create()}create(){var t;const n=$z(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this.opts.xd;const r=this.xhr=new zz(n);try{r.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let i in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&r.setRequestHeader(i,this.opts.extraHeaders[i])}}catch{}if(this.method==="POST")try{r.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{r.setRequestHeader("Accept","*/*")}catch{}(t=this.opts.cookieJar)===null||t===void 0||t.addCookies(r),"withCredentials"in r&&(r.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(r.timeout=this.opts.requestTimeout),r.onreadystatechange=()=>{var i;r.readyState===3&&((i=this.opts.cookieJar)===null||i===void 0||i.parseCookies(r)),r.readyState===4&&(r.status===200||r.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof r.status=="number"?r.status:0)},0))},r.send(this.data)}catch(i){this.setTimeoutFn(()=>{this.onError(i)},0);return}typeof document<"u"&&(this.index=wv.requestsCount++,wv.requests[this.index]=this)}onError(t){this.emitReserved("error",t,this.xhr),this.cleanup(!0)}cleanup(t){if(!(typeof this.xhr>"u"||this.xhr===null)){if(this.xhr.onreadystatechange=s3e,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete wv.requests[this.index],this.xhr=null}}onLoad(){const t=this.xhr.responseText;t!==null&&(this.emitReserved("data",t),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}};af.requestsCount=0;af.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",Rk);else if(typeof addEventListener=="function"){const e="onpagehide"in yo?"pagehide":"unload";addEventListener(e,Rk,!1)}}function Rk(){for(let e in af.requests)af.requests.hasOwnProperty(e)&&af.requests[e].abort()}const DE=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),z0=yo.WebSocket||yo.MozWebSocket,Ok=!0,u3e="arraybuffer",kk=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class c3e extends LE{constructor(t){super(t),this.supportsBinary=!t.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const t=this.uri(),n=this.opts.protocols,r=kk?{}:$z(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(r.headers=this.opts.extraHeaders);try{this.ws=Ok&&!kk?n?new z0(t,n):new z0(t):new z0(t,n,r)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType||u3e,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=t=>this.onClose({description:"websocket connection closed",context:t}),this.ws.onmessage=t=>this.onData(t.data),this.ws.onerror=t=>this.onError("websocket error",t)}write(t){this.writable=!1;for(let n=0;n{const s={};try{Ok&&this.ws.send(o)}catch{}i&&DE(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){const t=this.opts.secure?"wss":"ws",n=this.query||{};return this.opts.timestampRequests&&(n[this.opts.timestampParam]=Bz()),this.supportsBinary||(n.b64=1),this.createUri(t,n)}check(){return!!z0}}function d3e(e,t){return e.type==="message"&&typeof e.data!="string"&&t[0]>=48&&t[0]<=54}class f3e extends LE{get name(){return"webtransport"}doOpen(){typeof WebTransport=="function"&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then(()=>{this.onClose()}).catch(t=>{this.onError("webtransport error",t)}),this.transport.ready.then(()=>{this.transport.createBidirectionalStream().then(t=>{const n=t.readable.getReader();this.writer=t.writable.getWriter();let r;const i=()=>{n.read().then(({done:s,value:a})=>{s||(!r&&a.byteLength===1&&a[0]===54?r=!0:(this.onPacket(KCe(a,r,"arraybuffer")),r=!1),i())}).catch(s=>{})};i();const o=this.query.sid?`0{"sid":"${this.query.sid}"}`:"0";this.writer.write(new TextEncoder().encode(o)).then(()=>this.onOpen())})}))}write(t){this.writable=!1;for(let n=0;n{d3e(r,o)&&this.writer.write(Uint8Array.of(54)),this.writer.write(o).then(()=>{i&&DE(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})})}}doClose(){var t;(t=this.transport)===null||t===void 0||t.close()}}const h3e={websocket:c3e,webtransport:f3e,polling:l3e},p3e=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,g3e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function p5(e){const t=e,n=e.indexOf("["),r=e.indexOf("]");n!=-1&&r!=-1&&(e=e.substring(0,n)+e.substring(n,r).replace(/:/g,";")+e.substring(r,e.length));let i=p3e.exec(e||""),o={},s=14;for(;s--;)o[g3e[s]]=i[s]||"";return n!=-1&&r!=-1&&(o.source=t,o.host=o.host.substring(1,o.host.length-1).replace(/;/g,":"),o.authority=o.authority.replace("[","").replace("]","").replace(/;/g,":"),o.ipv6uri=!0),o.pathNames=m3e(o,o.path),o.queryKey=y3e(o,o.query),o}function m3e(e,t){const n=/\/{2,9}/g,r=t.replace(n,"/").split("/");return(t.slice(0,1)=="/"||t.length===0)&&r.splice(0,1),t.slice(-1)=="/"&&r.splice(r.length-1,1),r}function y3e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,i,o){i&&(n[i]=o)}),n}let Vz=class Sd extends Hn{constructor(t,n={}){super(),this.writeBuffer=[],t&&typeof t=="object"&&(n=t,t=null),t?(t=p5(t),n.hostname=t.host,n.secure=t.protocol==="https"||t.protocol==="wss",n.port=t.port,t.query&&(n.query=t.query)):n.host&&(n.hostname=p5(n.host).host),YS(this,n),this.secure=n.secure!=null?n.secure:typeof location<"u"&&location.protocol==="https:",n.hostname&&!n.port&&(n.port=this.secure?"443":"80"),this.hostname=n.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=n.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=n.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},n),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=n3e(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,typeof addEventListener=="function"&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(t){const n=Object.assign({},this.opts.query);n.EIO=Dz,n.transport=t,this.id&&(n.sid=this.id);const r=Object.assign({},this.opts,{query:n,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[t]);return new h3e[t](r)}open(){let t;if(this.opts.rememberUpgrade&&Sd.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)t="websocket";else if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}else t=this.transports[0];this.readyState="opening";try{t=this.createTransport(t)}catch{this.transports.shift(),this.open();return}t.open(),this.setTransport(t)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",n=>this.onClose("transport close",n))}probe(t){let n=this.createTransport(t),r=!1;Sd.priorWebsocketSuccess=!1;const i=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",f=>{if(!r)if(f.type==="pong"&&f.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Sd.priorWebsocketSuccess=n.name==="websocket",this.transport.pause(()=>{r||this.readyState!=="closed"&&(d(),this.setTransport(n),n.send([{type:"upgrade"}]),this.emitReserved("upgrade",n),n=null,this.upgrading=!1,this.flush())})}else{const p=new Error("probe error");p.transport=n.name,this.emitReserved("upgradeError",p)}}))};function o(){r||(r=!0,d(),n.close(),n=null)}const s=f=>{const p=new Error("probe error: "+f);p.transport=n.name,o(),this.emitReserved("upgradeError",p)};function a(){s("transport closed")}function l(){s("socket closed")}function u(f){n&&f.name!==n.name&&o()}const d=()=>{n.removeListener("open",i),n.removeListener("error",s),n.removeListener("close",a),this.off("close",l),this.off("upgrading",u)};n.once("open",i),n.once("error",s),n.once("close",a),this.once("close",l),this.once("upgrading",u),this.upgrades.indexOf("webtransport")!==-1&&t!=="webtransport"?this.setTimeoutFn(()=>{r||n.open()},200):n.open()}onOpen(){if(this.readyState="open",Sd.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade){let t=0;const n=this.upgrades.length;for(;t{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const t=this.getWritablePackets();this.transport.send(t),this.prevBufferLen=t.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let n=1;for(let r=0;r0&&n>this.maxPayload)return this.writeBuffer.slice(0,r);n+=2}return this.writeBuffer}write(t,n,r){return this.sendPacket("message",t,n,r),this}send(t,n,r){return this.sendPacket("message",t,n,r),this}sendPacket(t,n,r,i){if(typeof n=="function"&&(i=n,n=void 0),typeof r=="function"&&(i=r,r=null),this.readyState==="closing"||this.readyState==="closed")return;r=r||{},r.compress=r.compress!==!1;const o={type:t,data:n,options:r};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),i&&this.once("flush",i),this.flush()}close(){const t=()=>{this.onClose("forced close"),this.transport.close()},n=()=>{this.off("upgrade",n),this.off("upgradeError",n),t()},r=()=>{this.once("upgrade",n),this.once("upgradeError",n)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?r():t()}):this.upgrading?r():t()),this}onError(t){Sd.priorWebsocketSuccess=!1,this.emitReserved("error",t),this.onClose("transport error",t)}onClose(t,n){(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")&&(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),typeof removeEventListener=="function"&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",t,n),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(t){const n=[];let r=0;const i=t.length;for(;rtypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,jz=Object.prototype.toString,S3e=typeof Blob=="function"||typeof Blob<"u"&&jz.call(Blob)==="[object BlobConstructor]",w3e=typeof File=="function"||typeof File<"u"&&jz.call(File)==="[object FileConstructor]";function $E(e){return _3e&&(e instanceof ArrayBuffer||b3e(e))||S3e&&e instanceof Blob||w3e&&e instanceof File}function xv(e,t){if(!e||typeof e!="object")return!1;if(Array.isArray(e)){for(let n=0,r=e.length;n=0&&e.num{delete this.acks[t];for(let s=0;s{this.io.clearTimeoutFn(o),n.apply(this,[null,...s])}}emitWithAck(t,...n){const r=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((i,o)=>{n.push((s,a)=>r?s?o(s):i(a):i(s)),this.emit(t,...n)})}_addToQueue(t){let n;typeof t[t.length-1]=="function"&&(n=t.pop());const r={id:this._queueSeq++,tryCount:0,pending:!1,args:t,flags:Object.assign({fromQueue:!0},this.flags)};t.push((i,...o)=>r!==this._queue[0]?void 0:(i!==null?r.tryCount>this._opts.retries&&(this._queue.shift(),n&&n(i)):(this._queue.shift(),n&&n(null,...o)),r.pending=!1,this._drainQueue())),this._queue.push(r),this._drainQueue()}_drainQueue(t=!1){if(!this.connected||this._queue.length===0)return;const n=this._queue[0];n.pending&&!t||(n.pending=!0,n.tryCount++,this.flags=n.flags,this.emit.apply(this,n.args))}packet(t){t.nsp=this.nsp,this.io._packet(t)}onopen(){typeof this.auth=="function"?this.auth(t=>{this._sendConnectPacket(t)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(t){this.packet({type:pt.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},t):t})}onerror(t){this.connected||this.emitReserved("connect_error",t)}onclose(t,n){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,n)}onpacket(t){if(t.nsp===this.nsp)switch(t.type){case pt.CONNECT:t.data&&t.data.sid?this.onconnect(t.data.sid,t.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case pt.EVENT:case pt.BINARY_EVENT:this.onevent(t);break;case pt.ACK:case pt.BINARY_ACK:this.onack(t);break;case pt.DISCONNECT:this.ondisconnect();break;case pt.CONNECT_ERROR:this.destroy();const r=new Error(t.data.message);r.data=t.data.data,this.emitReserved("connect_error",r);break}}onevent(t){const n=t.data||[];t.id!=null&&n.push(this.ack(t.id)),this.connected?this.emitEvent(n):this.receiveBuffer.push(Object.freeze(n))}emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const n=this._anyListeners.slice();for(const r of n)r.apply(this,t)}super.emit.apply(this,t),this._pid&&t.length&&typeof t[t.length-1]=="string"&&(this._lastOffset=t[t.length-1])}ack(t){const n=this;let r=!1;return function(...i){r||(r=!0,n.packet({type:pt.ACK,id:t,data:i}))}}onack(t){const n=this.acks[t.id];typeof n=="function"&&(n.apply(this,t.data),delete this.acks[t.id])}onconnect(t,n){this.id=t,this.recovered=n&&this._pid===n,this._pid=n,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.receiveBuffer=[],this.sendBuffer.forEach(t=>{this.notifyOutgoingListeners(t),this.packet(t)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:pt.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(t){return this.flags.compress=t,this}get volatile(){return this.flags.volatile=!0,this}timeout(t){return this.flags.timeout=t,this}onAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(t),this}prependAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(t),this}offAny(t){if(!this._anyListeners)return this;if(t){const n=this._anyListeners;for(let r=0;r0&&e.jitter<=1?e.jitter:0,this.attempts=0}Kf.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=Math.floor(t*10)&1?e+n:e-n}return Math.min(e,this.max)|0};Kf.prototype.reset=function(){this.attempts=0};Kf.prototype.setMin=function(e){this.ms=e};Kf.prototype.setMax=function(e){this.max=e};Kf.prototype.setJitter=function(e){this.jitter=e};class y5 extends Hn{constructor(t,n){var r;super(),this.nsps={},this.subs=[],t&&typeof t=="object"&&(n=t,t=void 0),n=n||{},n.path=n.path||"/socket.io",this.opts=n,YS(this,n),this.reconnection(n.reconnection!==!1),this.reconnectionAttempts(n.reconnectionAttempts||1/0),this.reconnectionDelay(n.reconnectionDelay||1e3),this.reconnectionDelayMax(n.reconnectionDelayMax||5e3),this.randomizationFactor((r=n.randomizationFactor)!==null&&r!==void 0?r:.5),this.backoff=new Kf({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=t;const i=n.parser||R3e;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=n.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(t){return arguments.length?(this._reconnection=!!t,this):this._reconnection}reconnectionAttempts(t){return t===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}reconnectionDelay(t){var n;return t===void 0?this._reconnectionDelay:(this._reconnectionDelay=t,(n=this.backoff)===null||n===void 0||n.setMin(t),this)}randomizationFactor(t){var n;return t===void 0?this._randomizationFactor:(this._randomizationFactor=t,(n=this.backoff)===null||n===void 0||n.setJitter(t),this)}reconnectionDelayMax(t){var n;return t===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,(n=this.backoff)===null||n===void 0||n.setMax(t),this)}timeout(t){return arguments.length?(this._timeout=t,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(t){if(~this._readyState.indexOf("open"))return this;this.engine=new Vz(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const i=zo(n,"open",function(){r.onopen(),t&&t()}),o=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),t?t(a):this.maybeReconnectOnOpen()},s=zo(n,"error",o);if(this._timeout!==!1){const a=this._timeout,l=this.setTimeoutFn(()=>{i(),o(new Error("timeout")),n.close()},a);this.opts.autoUnref&&l.unref(),this.subs.push(()=>{this.clearTimeoutFn(l)})}return this.subs.push(i),this.subs.push(s),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(zo(t,"ping",this.onping.bind(this)),zo(t,"data",this.ondata.bind(this)),zo(t,"error",this.onerror.bind(this)),zo(t,"close",this.onclose.bind(this)),zo(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(t){try{this.decoder.add(t)}catch(n){this.onclose("parse error",n)}}ondecoded(t){DE(()=>{this.emitReserved("packet",t)},this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,n){let r=this.nsps[t];return r?this._autoConnect&&!r.active&&r.connect():(r=new Gz(this,t,n),this.nsps[t]=r),r}_destroy(t){const n=Object.keys(this.nsps);for(const r of n)if(this.nsps[r].active)return;this._close()}_packet(t){const n=this.encoder.encode(t);for(let r=0;rt()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(t,n){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",t,n),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const n=this.backoff.duration();this._reconnecting=!0;const r=this.setTimeoutFn(()=>{t.skipReconnect||(this.emitReserved("reconnect_attempt",t.backoff.attempts),!t.skipReconnect&&t.open(i=>{i?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",i)):t.onreconnect()}))},n);this.opts.autoUnref&&r.unref(),this.subs.push(()=>{this.clearTimeoutFn(r)})}}onreconnect(){const t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const np={};function Cv(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=v3e(e,t.path||"/socket.io"),r=n.source,i=n.id,o=n.path,s=np[i]&&o in np[i].nsps,a=t.forceNew||t["force new connection"]||t.multiplex===!1||s;let l;return a?l=new y5(r,t):(np[i]||(np[i]=new y5(r,t)),l=np[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign(Cv,{Manager:y5,Socket:Gz,io:Cv,connect:Cv});const Mk=()=>{let e=!1,n=`${window.location.protocol==="https:"?"wss":"ws"}://${window.location.host}`;const r={timeout:6e4,path:"/ws/socket.io",autoConnect:!1};if(["nodes","package"].includes("production")){const s=wg.get();s&&(n=s.replace(/^https?\:\/\//i,""));const a=Sg.get();a&&(r.auth={token:a}),r.transports=["websocket","polling"]}const i=Cv(n,r);return s=>a=>l=>{const{dispatch:u,getState:d}=s;if(e||(UCe({storeApi:s,socket:i}),e=!0,i.connect()),Ir.fulfilled.match(l)){const f=l.payload.id,p=d().system.sessionId;p&&(i.emit("unsubscribe",{session:p}),u(X$({sessionId:p}))),i.emit("subscribe",{session:f}),u(NT({sessionId:f}))}a(l)}};function k3e(e){if(e.sheet)return e.sheet;for(var t=0;t0?Rr(Xf,--Oi):0,If--,Vn===10&&(If=1,ZS--),Vn}function Hi(){return Vn=Oi2||Fg(Vn)>3?"":" "}function G3e(e,t){for(;--t&&Hi()&&!(Vn<48||Vn>102||Vn>57&&Vn<65||Vn>70&&Vn<97););return Nm(e,Tv()+(t<6&&ks()==32&&Hi()==32))}function _5(e){for(;Hi();)switch(Vn){case e:return Oi;case 34:case 39:e!==34&&e!==39&&_5(Vn);break;case 40:e===41&&_5(e);break;case 92:Hi();break}return Oi}function H3e(e,t){for(;Hi()&&e+Vn!==47+10;)if(e+Vn===42+42&&ks()===47)break;return"/*"+Nm(t,Oi-1)+"*"+QS(e===47?e:Hi())}function W3e(e){for(;!Fg(ks());)Hi();return Nm(e,Oi)}function q3e(e){return Yz(Av("",null,null,null,[""],e=Xz(e),0,[0],e))}function Av(e,t,n,r,i,o,s,a,l){for(var u=0,d=0,f=s,p=0,g=0,m=0,v=1,x=1,_=1,b=0,y="",S=i,C=o,T=r,E=y;x;)switch(m=b,b=Hi()){case 40:if(m!=108&&Rr(E,f-1)==58){v5(E+=Pt(Ev(b),"&","&\f"),"&\f")!=-1&&(_=-1);break}case 34:case 39:case 91:E+=Ev(b);break;case 9:case 10:case 13:case 32:E+=j3e(m);break;case 92:E+=G3e(Tv()-1,7);continue;case 47:switch(ks()){case 42:case 47:V0(K3e(H3e(Hi(),Tv()),t,n),l);break;default:E+="/"}break;case 123*v:a[u++]=ys(E)*_;case 125*v:case 59:case 0:switch(b){case 0:case 125:x=0;case 59+d:_==-1&&(E=Pt(E,/\f/g,"")),g>0&&ys(E)-f&&V0(g>32?Lk(E+";",r,n,f-1):Lk(Pt(E," ","")+";",r,n,f-2),l);break;case 59:E+=";";default:if(V0(T=Nk(E,t,n,u,d,i,a,y,S=[],C=[],f),o),b===123)if(d===0)Av(E,t,T,T,S,o,f,a,C);else switch(p===99&&Rr(E,3)===110?100:p){case 100:case 108:case 109:case 115:Av(e,T,T,r&&V0(Nk(e,T,T,0,0,i,a,y,i,S=[],f),C),i,C,f,a,r?S:C);break;default:Av(E,T,T,T,[""],C,0,a,C)}}u=d=g=0,v=_=1,y=E="",f=s;break;case 58:f=1+ys(E),g=m;default:if(v<1){if(b==123)--v;else if(b==125&&v++==0&&V3e()==125)continue}switch(E+=QS(b),b*v){case 38:_=d>0?1:(E+="\f",-1);break;case 44:a[u++]=(ys(E)-1)*_,_=1;break;case 64:ks()===45&&(E+=Ev(Hi())),p=ks(),d=f=ys(y=E+=W3e(Tv())),b++;break;case 45:m===45&&ys(E)==2&&(v=0)}}return o}function Nk(e,t,n,r,i,o,s,a,l,u,d){for(var f=i-1,p=i===0?o:[""],g=zE(p),m=0,v=0,x=0;m0?p[_]+" "+b:Pt(b,/&\f/g,p[_])))&&(l[x++]=y);return JS(e,t,n,i===0?BE:a,l,u,d)}function K3e(e,t,n){return JS(e,t,n,Hz,QS(z3e()),$g(e,2,-2),0)}function Lk(e,t,n,r){return JS(e,t,n,UE,$g(e,0,r),$g(e,r+1,-1),r)}function lf(e,t){for(var n="",r=zE(e),i=0;i6)switch(Rr(e,t+1)){case 109:if(Rr(e,t+4)!==45)break;case 102:return Pt(e,/(.+:)(.+)-([^]+)/,"$1"+At+"$2-$3$1"+r_+(Rr(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~v5(e,"stretch")?Zz(Pt(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Rr(e,t+1)!==115)break;case 6444:switch(Rr(e,ys(e)-3-(~v5(e,"!important")&&10))){case 107:return Pt(e,":",":"+At)+e;case 101:return Pt(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+At+(Rr(e,14)===45?"inline-":"")+"box$3$1"+At+"$2$3$1"+Br+"$2box$3")+e}break;case 5936:switch(Rr(e,t+11)){case 114:return At+e+Br+Pt(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return At+e+Br+Pt(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return At+e+Br+Pt(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return At+e+Br+e+e}return e}var r5e=function(t,n,r,i){if(t.length>-1&&!t.return)switch(t.type){case UE:t.return=Zz(t.value,t.length);break;case Wz:return lf([rp(t,{value:Pt(t.value,"@","@"+At)})],i);case BE:if(t.length)return U3e(t.props,function(o){switch(B3e(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return lf([rp(t,{props:[Pt(o,/:(read-\w+)/,":"+r_+"$1")]})],i);case"::placeholder":return lf([rp(t,{props:[Pt(o,/:(plac\w+)/,":"+At+"input-$1")]}),rp(t,{props:[Pt(o,/:(plac\w+)/,":"+r_+"$1")]}),rp(t,{props:[Pt(o,/:(plac\w+)/,Br+"input-$1")]})],i)}return""})}},i5e=[r5e],o5e=function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(v){var x=v.getAttribute("data-emotion");x.indexOf(" ")!==-1&&(document.head.appendChild(v),v.setAttribute("data-s",""))})}var i=t.stylisPlugins||i5e,o={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(v){for(var x=v.getAttribute("data-emotion").split(" "),_=1;_=4;++r,i-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(i){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var u5e={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},c5e=/[A-Z]|^ms/g,d5e=/_EMO_([^_]+?)_([^]*?)_EMO_/g,tV=function(t){return t.charCodeAt(1)===45},Fk=function(t){return t!=null&&typeof t!="boolean"},qx=Qz(function(e){return tV(e)?e:e.replace(c5e,"-$&").toLowerCase()}),Bk=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(d5e,function(r,i,o){return vs={name:i,styles:o,next:vs},i})}return u5e[t]!==1&&!tV(t)&&typeof n=="number"&&n!==0?n+"px":n};function Bg(e,t,n){if(n==null)return"";if(n.__emotion_styles!==void 0)return n;switch(typeof n){case"boolean":return"";case"object":{if(n.anim===1)return vs={name:n.name,styles:n.styles,next:vs},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)vs={name:r.name,styles:r.styles,next:vs},r=r.next;var i=n.styles+";";return i}return f5e(e,t,n)}case"function":{if(e!==void 0){var o=vs,s=n(e);return vs=o,Bg(e,t,s)}break}}if(t==null)return n;var a=t[n];return a!==void 0?a:n}function f5e(e,t,n){var r="";if(Array.isArray(n))for(var i=0;i` or ``");return e}var sV=L.createContext({});sV.displayName="ColorModeContext";function jE(){const e=L.useContext(sV);if(e===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return e}function uMe(e,t){const{colorMode:n}=jE();return n==="dark"?t:e}function b5e(){const e=jE(),t=oV();return{...e,theme:t}}function S5e(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__breakpoints)==null?void 0:a.asArray)==null?void 0:l[s]};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function w5e(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__cssMap)==null?void 0:a[s])==null?void 0:l.value};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function cMe(e,t,n){const r=oV();return x5e(e,t,n)(r)}function x5e(e,t,n){const r=Array.isArray(t)?t:[t],i=Array.isArray(n)?n:[n];return o=>{const s=i.filter(Boolean),a=r.map((l,u)=>{var d,f;if(e==="breakpoints")return S5e(o,l,(d=s[u])!=null?d:l);const p=`${e}.${l}`;return w5e(o,p,(f=s[u])!=null?f:l)});return Array.isArray(t)?a:a[0]}}var aV=(...e)=>e.filter(Boolean).join(" ");function C5e(){return!1}function Sa(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}var dMe=e=>{const{condition:t,message:n}=e;t&&C5e()&&console.warn(n)};function Bu(e,...t){return T5e(e)?e(...t):e}var T5e=e=>typeof e=="function",fMe=e=>e?"":void 0,hMe=e=>e?!0:void 0;function pMe(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function gMe(...e){return function(n){e.forEach(r=>{r==null||r(n)})}}var i_={exports:{}};i_.exports;(function(e,t){var n=200,r="__lodash_hash_undefined__",i=800,o=16,s=9007199254740991,a="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",d="[object Boolean]",f="[object Date]",p="[object Error]",g="[object Function]",m="[object GeneratorFunction]",v="[object Map]",x="[object Number]",_="[object Null]",b="[object Object]",y="[object Proxy]",S="[object RegExp]",C="[object Set]",T="[object String]",E="[object Undefined]",P="[object WeakMap]",k="[object ArrayBuffer]",O="[object DataView]",M="[object Float32Array]",G="[object Float64Array]",U="[object Int8Array]",A="[object Int16Array]",N="[object Int32Array]",F="[object Uint8Array]",B="[object Uint8ClampedArray]",D="[object Uint16Array]",V="[object Uint32Array]",j=/[\\^$.*+?()[\]{}|]/g,q=/^\[object .+?Constructor\]$/,Z=/^(?:0|[1-9]\d*)$/,ee={};ee[M]=ee[G]=ee[U]=ee[A]=ee[N]=ee[F]=ee[B]=ee[D]=ee[V]=!0,ee[a]=ee[l]=ee[k]=ee[d]=ee[O]=ee[f]=ee[p]=ee[g]=ee[v]=ee[x]=ee[b]=ee[S]=ee[C]=ee[T]=ee[P]=!1;var ie=typeof He=="object"&&He&&He.Object===Object&&He,se=typeof self=="object"&&self&&self.Object===Object&&self,le=ie||se||Function("return this")(),W=t&&!t.nodeType&&t,ne=W&&!0&&e&&!e.nodeType&&e,fe=ne&&ne.exports===W,pe=fe&&ie.process,ve=function(){try{var H=ne&&ne.require&&ne.require("util").types;return H||pe&&pe.binding&&pe.binding("util")}catch{}}(),ye=ve&&ve.isTypedArray;function We(H,Y,re){switch(re.length){case 0:return H.call(Y);case 1:return H.call(Y,re[0]);case 2:return H.call(Y,re[0],re[1]);case 3:return H.call(Y,re[0],re[1],re[2])}return H.apply(Y,re)}function Me(H,Y){for(var re=-1,we=Array(H);++re-1}function Ao(H,Y){var re=this.__data__,we=Ro(re,H);return we<0?(++this.size,re.push([H,Y])):re[we][1]=Y,this}Xn.prototype.clear=Mi,Xn.prototype.delete=os,Xn.prototype.get=to,Xn.prototype.has=Va,Xn.prototype.set=Ao;function wr(H){var Y=-1,re=H==null?0:H.length;for(this.clear();++Y1?re[ot-1]:void 0,qe=ot>2?re[2]:void 0;for(Mt=H.length>3&&typeof Mt=="function"?(ot--,Mt):void 0,qe&&Zm(re[0],re[1],qe)&&(Mt=ot<3?void 0:Mt,ot=1),Y=Object(Y);++we-1&&H%1==0&&H0){if(++Y>=i)return arguments[0]}else Y=0;return H.apply(void 0,arguments)}}function ry(H){if(H!=null){try{return mt.call(H)}catch{}try{return H+""}catch{}}return""}function $c(H,Y){return H===Y||H!==H&&Y!==Y}var hh=cu(function(){return arguments}())?cu:function(H){return du(H)&&Jt.call(H,"callee")&&!Xr.call(H,"callee")},ph=Array.isArray;function Fc(H){return H!=null&&oy(H.length)&&!gh(H)}function _2(H){return du(H)&&Fc(H)}var iy=Vs||w2;function gh(H){if(!Oo(H))return!1;var Y=Ga(H);return Y==g||Y==m||Y==u||Y==y}function oy(H){return typeof H=="number"&&H>-1&&H%1==0&&H<=s}function Oo(H){var Y=typeof H;return H!=null&&(Y=="object"||Y=="function")}function du(H){return H!=null&&typeof H=="object"}function b2(H){if(!du(H)||Ga(H)!=b)return!1;var Y=vr(H);if(Y===null)return!0;var re=Jt.call(Y,"constructor")&&Y.constructor;return typeof re=="function"&&re instanceof re&&mt.call(re)==hi}var sy=ye?Ee(ye):Ha;function S2(H){return Km(H,ay(H))}function ay(H){return Fc(H)?sh(H,!0):p2(H)}var Ht=Mc(function(H,Y,re,we){Gm(H,Y,re,we)});function Ut(H){return function(){return H}}function ly(H){return H}function w2(){return!1}e.exports=Ht})(i_,i_.exports);var E5e=i_.exports;const Ts=dc(E5e);var A5e=e=>/!(important)?$/.test(e),Vk=e=>typeof e=="string"?e.replace(/!(important)?$/,"").trim():e,P5e=(e,t)=>n=>{const r=String(t),i=A5e(r),o=Vk(r),s=e?`${e}.${o}`:o;let a=Sa(n.__cssMap)&&s in n.__cssMap?n.__cssMap[s].varRef:t;return a=Vk(a),i?`${a} !important`:a};function GE(e){const{scale:t,transform:n,compose:r}=e;return(o,s)=>{var a;const l=P5e(t,o)(s);let u=(a=n==null?void 0:n(l,s))!=null?a:l;return r&&(u=r(u,s)),u}}var j0=(...e)=>t=>e.reduce((n,r)=>r(n),t);function co(e,t){return n=>{const r={property:n,scale:e};return r.transform=GE({scale:e,transform:t}),r}}var R5e=({rtl:e,ltr:t})=>n=>n.direction==="rtl"?e:t;function O5e(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:R5e(t),transform:n?GE({scale:n,compose:r}):r}}var lV=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"];function k5e(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...lV].join(" ")}function I5e(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...lV].join(" ")}var M5e={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},N5e={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"};function L5e(e){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":e,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}var D5e={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},b5={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},$5e=new Set(Object.values(b5)),S5=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),F5e=e=>e.trim();function B5e(e,t){if(e==null||S5.has(e))return e;if(!(w5(e)||S5.has(e)))return`url('${e}')`;const i=/(^[a-z-A-Z]+)\((.*)\)/g.exec(e),o=i==null?void 0:i[1],s=i==null?void 0:i[2];if(!o||!s)return e;const a=o.includes("-gradient")?o:`${o}-gradient`,[l,...u]=s.split(",").map(F5e).filter(Boolean);if((u==null?void 0:u.length)===0)return e;const d=l in b5?b5[l]:l;u.unshift(d);const f=u.map(p=>{if($5e.has(p))return p;const g=p.indexOf(" "),[m,v]=g!==-1?[p.substr(0,g),p.substr(g+1)]:[p],x=w5(v)?v:v&&v.split(" "),_=`colors.${m}`,b=_ in t.__cssMap?t.__cssMap[_].varRef:m;return x?[b,...Array.isArray(x)?x:[x]].join(" "):b});return`${a}(${f.join(", ")})`}var w5=e=>typeof e=="string"&&e.includes("(")&&e.includes(")"),U5e=(e,t)=>B5e(e,t??{});function z5e(e){return/^var\(--.+\)$/.test(e)}var V5e=e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}},ds=e=>t=>`${e}(${t})`,St={filter(e){return e!=="auto"?e:M5e},backdropFilter(e){return e!=="auto"?e:N5e},ring(e){return L5e(St.px(e))},bgClip(e){return e==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform(e){return e==="auto"?k5e():e==="auto-gpu"?I5e():e},vh(e){return e==="$100vh"?"var(--chakra-vh)":e},px(e){if(e==null)return e;const{unitless:t}=V5e(e);return t||typeof e=="number"?`${e}px`:e},fraction(e){return typeof e!="number"||e>1?e:`${e*100}%`},float(e,t){const n={left:"right",right:"left"};return t.direction==="rtl"?n[e]:e},degree(e){if(z5e(e)||e==null)return e;const t=typeof e=="string"&&!e.endsWith("deg");return typeof e=="number"||t?`${e}deg`:e},gradient:U5e,blur:ds("blur"),opacity:ds("opacity"),brightness:ds("brightness"),contrast:ds("contrast"),dropShadow:ds("drop-shadow"),grayscale:ds("grayscale"),hueRotate:ds("hue-rotate"),invert:ds("invert"),saturate:ds("saturate"),sepia:ds("sepia"),bgImage(e){return e==null||w5(e)||S5.has(e)?e:`url(${e})`},outline(e){const t=String(e)==="0"||String(e)==="none";return e!==null&&t?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:e}},flexDirection(e){var t;const{space:n,divide:r}=(t=D5e[e])!=null?t:{},i={flexDirection:e};return n&&(i[n]=1),r&&(i[r]=1),i}},Q={borderWidths:co("borderWidths"),borderStyles:co("borderStyles"),colors:co("colors"),borders:co("borders"),gradients:co("gradients",St.gradient),radii:co("radii",St.px),space:co("space",j0(St.vh,St.px)),spaceT:co("space",j0(St.vh,St.px)),degreeT(e){return{property:e,transform:St.degree}},prop(e,t,n){return{property:e,scale:t,...t&&{transform:GE({scale:t,transform:n})}}},propT(e,t){return{property:e,transform:t}},sizes:co("sizes",j0(St.vh,St.px)),sizesT:co("sizes",j0(St.vh,St.fraction)),shadows:co("shadows"),logical:O5e,blur:co("blur",St.blur)},Pv={background:Q.colors("background"),backgroundColor:Q.colors("backgroundColor"),backgroundImage:Q.gradients("backgroundImage"),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:St.bgClip},bgSize:Q.prop("backgroundSize"),bgPosition:Q.prop("backgroundPosition"),bg:Q.colors("background"),bgColor:Q.colors("backgroundColor"),bgPos:Q.prop("backgroundPosition"),bgRepeat:Q.prop("backgroundRepeat"),bgAttachment:Q.prop("backgroundAttachment"),bgGradient:Q.gradients("backgroundImage"),bgClip:{transform:St.bgClip}};Object.assign(Pv,{bgImage:Pv.backgroundImage,bgImg:Pv.backgroundImage});var Et={border:Q.borders("border"),borderWidth:Q.borderWidths("borderWidth"),borderStyle:Q.borderStyles("borderStyle"),borderColor:Q.colors("borderColor"),borderRadius:Q.radii("borderRadius"),borderTop:Q.borders("borderTop"),borderBlockStart:Q.borders("borderBlockStart"),borderTopLeftRadius:Q.radii("borderTopLeftRadius"),borderStartStartRadius:Q.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:Q.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:Q.radii("borderTopRightRadius"),borderStartEndRadius:Q.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:Q.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:Q.borders("borderRight"),borderInlineEnd:Q.borders("borderInlineEnd"),borderBottom:Q.borders("borderBottom"),borderBlockEnd:Q.borders("borderBlockEnd"),borderBottomLeftRadius:Q.radii("borderBottomLeftRadius"),borderBottomRightRadius:Q.radii("borderBottomRightRadius"),borderLeft:Q.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:Q.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:Q.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:Q.borders(["borderLeft","borderRight"]),borderInline:Q.borders("borderInline"),borderY:Q.borders(["borderTop","borderBottom"]),borderBlock:Q.borders("borderBlock"),borderTopWidth:Q.borderWidths("borderTopWidth"),borderBlockStartWidth:Q.borderWidths("borderBlockStartWidth"),borderTopColor:Q.colors("borderTopColor"),borderBlockStartColor:Q.colors("borderBlockStartColor"),borderTopStyle:Q.borderStyles("borderTopStyle"),borderBlockStartStyle:Q.borderStyles("borderBlockStartStyle"),borderBottomWidth:Q.borderWidths("borderBottomWidth"),borderBlockEndWidth:Q.borderWidths("borderBlockEndWidth"),borderBottomColor:Q.colors("borderBottomColor"),borderBlockEndColor:Q.colors("borderBlockEndColor"),borderBottomStyle:Q.borderStyles("borderBottomStyle"),borderBlockEndStyle:Q.borderStyles("borderBlockEndStyle"),borderLeftWidth:Q.borderWidths("borderLeftWidth"),borderInlineStartWidth:Q.borderWidths("borderInlineStartWidth"),borderLeftColor:Q.colors("borderLeftColor"),borderInlineStartColor:Q.colors("borderInlineStartColor"),borderLeftStyle:Q.borderStyles("borderLeftStyle"),borderInlineStartStyle:Q.borderStyles("borderInlineStartStyle"),borderRightWidth:Q.borderWidths("borderRightWidth"),borderInlineEndWidth:Q.borderWidths("borderInlineEndWidth"),borderRightColor:Q.colors("borderRightColor"),borderInlineEndColor:Q.colors("borderInlineEndColor"),borderRightStyle:Q.borderStyles("borderRightStyle"),borderInlineEndStyle:Q.borderStyles("borderInlineEndStyle"),borderTopRadius:Q.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:Q.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:Q.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:Q.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(Et,{rounded:Et.borderRadius,roundedTop:Et.borderTopRadius,roundedTopLeft:Et.borderTopLeftRadius,roundedTopRight:Et.borderTopRightRadius,roundedTopStart:Et.borderStartStartRadius,roundedTopEnd:Et.borderStartEndRadius,roundedBottom:Et.borderBottomRadius,roundedBottomLeft:Et.borderBottomLeftRadius,roundedBottomRight:Et.borderBottomRightRadius,roundedBottomStart:Et.borderEndStartRadius,roundedBottomEnd:Et.borderEndEndRadius,roundedLeft:Et.borderLeftRadius,roundedRight:Et.borderRightRadius,roundedStart:Et.borderInlineStartRadius,roundedEnd:Et.borderInlineEndRadius,borderStart:Et.borderInlineStart,borderEnd:Et.borderInlineEnd,borderTopStartRadius:Et.borderStartStartRadius,borderTopEndRadius:Et.borderStartEndRadius,borderBottomStartRadius:Et.borderEndStartRadius,borderBottomEndRadius:Et.borderEndEndRadius,borderStartRadius:Et.borderInlineStartRadius,borderEndRadius:Et.borderInlineEndRadius,borderStartWidth:Et.borderInlineStartWidth,borderEndWidth:Et.borderInlineEndWidth,borderStartColor:Et.borderInlineStartColor,borderEndColor:Et.borderInlineEndColor,borderStartStyle:Et.borderInlineStartStyle,borderEndStyle:Et.borderInlineEndStyle});var j5e={color:Q.colors("color"),textColor:Q.colors("color"),fill:Q.colors("fill"),stroke:Q.colors("stroke")},x5={boxShadow:Q.shadows("boxShadow"),mixBlendMode:!0,blendMode:Q.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:Q.prop("backgroundBlendMode"),opacity:!0};Object.assign(x5,{shadow:x5.boxShadow});var G5e={filter:{transform:St.filter},blur:Q.blur("--chakra-blur"),brightness:Q.propT("--chakra-brightness",St.brightness),contrast:Q.propT("--chakra-contrast",St.contrast),hueRotate:Q.degreeT("--chakra-hue-rotate"),invert:Q.propT("--chakra-invert",St.invert),saturate:Q.propT("--chakra-saturate",St.saturate),dropShadow:Q.propT("--chakra-drop-shadow",St.dropShadow),backdropFilter:{transform:St.backdropFilter},backdropBlur:Q.blur("--chakra-backdrop-blur"),backdropBrightness:Q.propT("--chakra-backdrop-brightness",St.brightness),backdropContrast:Q.propT("--chakra-backdrop-contrast",St.contrast),backdropHueRotate:Q.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:Q.propT("--chakra-backdrop-invert",St.invert),backdropSaturate:Q.propT("--chakra-backdrop-saturate",St.saturate)},o_={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:St.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:Q.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:Q.space("gap"),rowGap:Q.space("rowGap"),columnGap:Q.space("columnGap")};Object.assign(o_,{flexDir:o_.flexDirection});var uV={gridGap:Q.space("gridGap"),gridColumnGap:Q.space("gridColumnGap"),gridRowGap:Q.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},H5e={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:St.outline},outlineOffset:!0,outlineColor:Q.colors("outlineColor")},ho={width:Q.sizesT("width"),inlineSize:Q.sizesT("inlineSize"),height:Q.sizes("height"),blockSize:Q.sizes("blockSize"),boxSize:Q.sizes(["width","height"]),minWidth:Q.sizes("minWidth"),minInlineSize:Q.sizes("minInlineSize"),minHeight:Q.sizes("minHeight"),minBlockSize:Q.sizes("minBlockSize"),maxWidth:Q.sizes("maxWidth"),maxInlineSize:Q.sizes("maxInlineSize"),maxHeight:Q.sizes("maxHeight"),maxBlockSize:Q.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,aspectRatio:!0,hideFrom:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (min-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.minW)!=null?i:e})`]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (max-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r._minW)!=null?i:e})`]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:Q.propT("float",St.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(ho,{w:ho.width,h:ho.height,minW:ho.minWidth,maxW:ho.maxWidth,minH:ho.minHeight,maxH:ho.maxHeight,overscroll:ho.overscrollBehavior,overscrollX:ho.overscrollBehaviorX,overscrollY:ho.overscrollBehaviorY});var W5e={listStyleType:!0,listStylePosition:!0,listStylePos:Q.prop("listStylePosition"),listStyleImage:!0,listStyleImg:Q.prop("listStyleImage")};function q5e(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},X5e=K5e(q5e),Y5e={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},Q5e={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},Kx=(e,t,n)=>{const r={},i=X5e(e,t,{});for(const o in i)o in n&&n[o]!=null||(r[o]=i[o]);return r},Z5e={srOnly:{transform(e){return e===!0?Y5e:e==="focusable"?Q5e:{}}},layerStyle:{processResult:!0,transform:(e,t,n)=>Kx(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>Kx(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>Kx(t,e,n)}},Rp={position:!0,pos:Q.prop("position"),zIndex:Q.prop("zIndex","zIndices"),inset:Q.spaceT("inset"),insetX:Q.spaceT(["left","right"]),insetInline:Q.spaceT("insetInline"),insetY:Q.spaceT(["top","bottom"]),insetBlock:Q.spaceT("insetBlock"),top:Q.spaceT("top"),insetBlockStart:Q.spaceT("insetBlockStart"),bottom:Q.spaceT("bottom"),insetBlockEnd:Q.spaceT("insetBlockEnd"),left:Q.spaceT("left"),insetInlineStart:Q.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:Q.spaceT("right"),insetInlineEnd:Q.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(Rp,{insetStart:Rp.insetInlineStart,insetEnd:Rp.insetInlineEnd});var J5e={ring:{transform:St.ring},ringColor:Q.colors("--chakra-ring-color"),ringOffset:Q.prop("--chakra-ring-offset-width"),ringOffsetColor:Q.colors("--chakra-ring-offset-color"),ringInset:Q.prop("--chakra-ring-inset")},tn={margin:Q.spaceT("margin"),marginTop:Q.spaceT("marginTop"),marginBlockStart:Q.spaceT("marginBlockStart"),marginRight:Q.spaceT("marginRight"),marginInlineEnd:Q.spaceT("marginInlineEnd"),marginBottom:Q.spaceT("marginBottom"),marginBlockEnd:Q.spaceT("marginBlockEnd"),marginLeft:Q.spaceT("marginLeft"),marginInlineStart:Q.spaceT("marginInlineStart"),marginX:Q.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:Q.spaceT("marginInline"),marginY:Q.spaceT(["marginTop","marginBottom"]),marginBlock:Q.spaceT("marginBlock"),padding:Q.space("padding"),paddingTop:Q.space("paddingTop"),paddingBlockStart:Q.space("paddingBlockStart"),paddingRight:Q.space("paddingRight"),paddingBottom:Q.space("paddingBottom"),paddingBlockEnd:Q.space("paddingBlockEnd"),paddingLeft:Q.space("paddingLeft"),paddingInlineStart:Q.space("paddingInlineStart"),paddingInlineEnd:Q.space("paddingInlineEnd"),paddingX:Q.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:Q.space("paddingInline"),paddingY:Q.space(["paddingTop","paddingBottom"]),paddingBlock:Q.space("paddingBlock")};Object.assign(tn,{m:tn.margin,mt:tn.marginTop,mr:tn.marginRight,me:tn.marginInlineEnd,marginEnd:tn.marginInlineEnd,mb:tn.marginBottom,ml:tn.marginLeft,ms:tn.marginInlineStart,marginStart:tn.marginInlineStart,mx:tn.marginX,my:tn.marginY,p:tn.padding,pt:tn.paddingTop,py:tn.paddingY,px:tn.paddingX,pb:tn.paddingBottom,pl:tn.paddingLeft,ps:tn.paddingInlineStart,paddingStart:tn.paddingInlineStart,pr:tn.paddingRight,pe:tn.paddingInlineEnd,paddingEnd:tn.paddingInlineEnd});var e4e={textDecorationColor:Q.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:Q.shadows("textShadow")},t4e={clipPath:!0,transform:Q.propT("transform",St.transform),transformOrigin:!0,translateX:Q.spaceT("--chakra-translate-x"),translateY:Q.spaceT("--chakra-translate-y"),skewX:Q.degreeT("--chakra-skew-x"),skewY:Q.degreeT("--chakra-skew-y"),scaleX:Q.prop("--chakra-scale-x"),scaleY:Q.prop("--chakra-scale-y"),scale:Q.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:Q.degreeT("--chakra-rotate")},n4e={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:Q.prop("transitionDuration","transition.duration"),transitionProperty:Q.prop("transitionProperty","transition.property"),transitionTimingFunction:Q.prop("transitionTimingFunction","transition.easing")},r4e={fontFamily:Q.prop("fontFamily","fonts"),fontSize:Q.prop("fontSize","fontSizes",St.px),fontWeight:Q.prop("fontWeight","fontWeights"),lineHeight:Q.prop("lineHeight","lineHeights"),letterSpacing:Q.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,textIndent:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,isTruncated:{transform(e){if(e===!0)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},i4e={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:Q.spaceT("scrollMargin"),scrollMarginTop:Q.spaceT("scrollMarginTop"),scrollMarginBottom:Q.spaceT("scrollMarginBottom"),scrollMarginLeft:Q.spaceT("scrollMarginLeft"),scrollMarginRight:Q.spaceT("scrollMarginRight"),scrollMarginX:Q.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:Q.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:Q.spaceT("scrollPadding"),scrollPaddingTop:Q.spaceT("scrollPaddingTop"),scrollPaddingBottom:Q.spaceT("scrollPaddingBottom"),scrollPaddingLeft:Q.spaceT("scrollPaddingLeft"),scrollPaddingRight:Q.spaceT("scrollPaddingRight"),scrollPaddingX:Q.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:Q.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function cV(e){return Sa(e)&&e.reference?e.reference:String(e)}var e2=(e,...t)=>t.map(cV).join(` ${e} `).replace(/calc/g,""),jk=(...e)=>`calc(${e2("+",...e)})`,Gk=(...e)=>`calc(${e2("-",...e)})`,C5=(...e)=>`calc(${e2("*",...e)})`,Hk=(...e)=>`calc(${e2("/",...e)})`,Wk=e=>{const t=cV(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:C5(t,-1)},Iu=Object.assign(e=>({add:(...t)=>Iu(jk(e,...t)),subtract:(...t)=>Iu(Gk(e,...t)),multiply:(...t)=>Iu(C5(e,...t)),divide:(...t)=>Iu(Hk(e,...t)),negate:()=>Iu(Wk(e)),toString:()=>e.toString()}),{add:jk,subtract:Gk,multiply:C5,divide:Hk,negate:Wk});function o4e(e,t="-"){return e.replace(/\s+/g,t)}function s4e(e){const t=o4e(e.toString());return l4e(a4e(t))}function a4e(e){return e.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?e.replace(".","\\."):e}function l4e(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}function u4e(e,t=""){return[t,e].filter(Boolean).join("-")}function c4e(e,t){return`var(${e}${t?`, ${t}`:""})`}function d4e(e,t=""){return s4e(`--${u4e(e,t)}`)}function T5(e,t,n){const r=d4e(e,n);return{variable:r,reference:c4e(r,t)}}function mMe(e,t){const n={};for(const r of t){if(Array.isArray(r)){const[i,o]=r;n[i]=T5(`${e}-${i}`,o);continue}n[r]=T5(`${e}-${r}`)}return n}function f4e(e){const t=e==null?0:e.length;return t?e[t-1]:void 0}function h4e(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}function E5(e){if(e==null)return e;const{unitless:t}=h4e(e);return t||typeof e=="number"?`${e}px`:e}var dV=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,HE=e=>Object.fromEntries(Object.entries(e).sort(dV));function qk(e){const t=HE(e);return Object.assign(Object.values(t),t)}function p4e(e){const t=Object.keys(HE(e));return new Set(t)}function Kk(e){var t;if(!e)return e;e=(t=E5(e))!=null?t:e;const n=-.02;return typeof e=="number"?`${e+n}`:e.replace(/(\d+\.?\d*)/u,r=>`${parseFloat(r)+n}`)}function pp(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${E5(e)})`),t&&n.push("and",`(max-width: ${E5(t)})`),n.join(" ")}function g4e(e){var t;if(!e)return null;e.base=(t=e.base)!=null?t:"0px";const n=qk(e),r=Object.entries(e).sort(dV).map(([s,a],l,u)=>{var d;let[,f]=(d=u[l+1])!=null?d:[];return f=parseFloat(f)>0?Kk(f):void 0,{_minW:Kk(a),breakpoint:s,minW:a,maxW:f,maxWQuery:pp(null,f),minWQuery:pp(a),minMaxQuery:pp(a,f)}}),i=p4e(e),o=Array.from(i.values());return{keys:i,normalized:n,isResponsive(s){const a=Object.keys(s);return a.length>0&&a.every(l=>i.has(l))},asObject:HE(e),asArray:qk(e),details:r,get(s){return r.find(a=>a.breakpoint===s)},media:[null,...n.map(s=>pp(s)).slice(1)],toArrayValue(s){if(!Sa(s))throw new Error("toArrayValue: value must be an object");const a=o.map(l=>{var u;return(u=s[l])!=null?u:null});for(;f4e(a)===null;)a.pop();return a},toObjectValue(s){if(!Array.isArray(s))throw new Error("toObjectValue: value must be an array");return s.reduce((a,l,u)=>{const d=o[u];return d!=null&&l!=null&&(a[d]=l),a},{})}}}var Tr={hover:(e,t)=>`${e}:hover ${t}, ${e}[data-hover] ${t}`,focus:(e,t)=>`${e}:focus ${t}, ${e}[data-focus] ${t}`,focusVisible:(e,t)=>`${e}:focus-visible ${t}`,focusWithin:(e,t)=>`${e}:focus-within ${t}`,active:(e,t)=>`${e}:active ${t}, ${e}[data-active] ${t}`,disabled:(e,t)=>`${e}:disabled ${t}, ${e}[data-disabled] ${t}`,invalid:(e,t)=>`${e}:invalid ${t}, ${e}[data-invalid] ${t}`,checked:(e,t)=>`${e}:checked ${t}, ${e}[data-checked] ${t}`,indeterminate:(e,t)=>`${e}:indeterminate ${t}, ${e}[aria-checked=mixed] ${t}, ${e}[data-indeterminate] ${t}`,readOnly:(e,t)=>`${e}:read-only ${t}, ${e}[readonly] ${t}, ${e}[data-read-only] ${t}`,expanded:(e,t)=>`${e}:read-only ${t}, ${e}[aria-expanded=true] ${t}, ${e}[data-expanded] ${t}`,placeholderShown:(e,t)=>`${e}:placeholder-shown ${t}`},ol=e=>fV(t=>e(t,"&"),"[role=group]","[data-group]",".group"),oa=e=>fV(t=>e(t,"~ &"),"[data-peer]",".peer"),fV=(e,...t)=>t.map(e).join(", "),t2={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible, &[data-focus-visible]",_disabled:"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_firstLetter:"&::first-letter",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:ol(Tr.hover),_peerHover:oa(Tr.hover),_groupFocus:ol(Tr.focus),_peerFocus:oa(Tr.focus),_groupFocusVisible:ol(Tr.focusVisible),_peerFocusVisible:oa(Tr.focusVisible),_groupActive:ol(Tr.active),_peerActive:oa(Tr.active),_groupDisabled:ol(Tr.disabled),_peerDisabled:oa(Tr.disabled),_groupInvalid:ol(Tr.invalid),_peerInvalid:oa(Tr.invalid),_groupChecked:ol(Tr.checked),_peerChecked:oa(Tr.checked),_groupFocusWithin:ol(Tr.focusWithin),_peerFocusWithin:oa(Tr.focusWithin),_peerPlaceholderShown:oa(Tr.placeholderShown),_placeholder:"&::placeholder",_placeholderShown:"&:placeholder-shown",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &, &[dir=rtl]",_ltr:"[dir=ltr] &, &[dir=ltr]",_mediaDark:"@media (prefers-color-scheme: dark)",_mediaReduceMotion:"@media (prefers-reduced-motion: reduce)",_dark:".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",_light:".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]",_horizontal:"&[data-orientation=horizontal]",_vertical:"&[data-orientation=vertical]"},hV=Object.keys(t2);function Xk(e,t){return T5(String(e).replace(/\./g,"-"),void 0,t)}function m4e(e,t){let n={};const r={};for(const[i,o]of Object.entries(e)){const{isSemantic:s,value:a}=o,{variable:l,reference:u}=Xk(i,t==null?void 0:t.cssVarPrefix);if(!s){if(i.startsWith("space")){const p=i.split("."),[g,...m]=p,v=`${g}.-${m.join(".")}`,x=Iu.negate(a),_=Iu.negate(u);r[v]={value:x,var:l,varRef:_}}n[l]=a,r[i]={value:a,var:l,varRef:u};continue}const d=p=>{const m=[String(i).split(".")[0],p].join(".");if(!e[m])return p;const{reference:x}=Xk(m,t==null?void 0:t.cssVarPrefix);return x},f=Sa(a)?a:{default:a};n=Ts(n,Object.entries(f).reduce((p,[g,m])=>{var v,x;if(!m)return p;const _=d(`${m}`);if(g==="default")return p[l]=_,p;const b=(x=(v=t2)==null?void 0:v[g])!=null?x:g;return p[b]={[l]:_},p},{})),r[i]={value:u,var:l,varRef:u}}return{cssVars:n,cssMap:r}}function y4e(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function v4e(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function _4e(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}function Yk(e,t,n={}){const{stop:r,getKey:i}=n;function o(s,a=[]){var l;if(_4e(s)||Array.isArray(s)){const u={};for(const[d,f]of Object.entries(s)){const p=(l=i==null?void 0:i(d))!=null?l:d,g=[...a,p];if(r!=null&&r(s,g))return t(s,a);u[p]=o(f,g)}return u}return t(s,a)}return o(e)}var b4e=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","gradients","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur","breakpoints"];function S4e(e){return v4e(e,b4e)}function w4e(e){return e.semanticTokens}function x4e(e){const{__cssMap:t,__cssVars:n,__breakpoints:r,...i}=e;return i}var C4e=e=>hV.includes(e)||e==="default";function T4e({tokens:e,semanticTokens:t}){const n={};return Yk(e,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!1,value:r})}),Yk(t,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!0,value:r})},{stop:r=>Object.keys(r).every(C4e)}),n}function yMe(e){var t;const n=x4e(e),r=S4e(n),i=w4e(n),o=T4e({tokens:r,semanticTokens:i}),s=(t=n.config)==null?void 0:t.cssVarPrefix,{cssMap:a,cssVars:l}=m4e(o,{cssVarPrefix:s});return Object.assign(n,{__cssVars:{...{"--chakra-ring-inset":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-ring-offset-width":"0px","--chakra-ring-offset-color":"#fff","--chakra-ring-color":"rgba(66, 153, 225, 0.6)","--chakra-ring-offset-shadow":"0 0 #0000","--chakra-ring-shadow":"0 0 #0000","--chakra-space-x-reverse":"0","--chakra-space-y-reverse":"0"},...l},__cssMap:a,__breakpoints:g4e(n.breakpoints)}),n}var WE=Ts({},Pv,Et,j5e,o_,ho,G5e,J5e,H5e,uV,Z5e,Rp,x5,tn,i4e,r4e,e4e,t4e,W5e,n4e),E4e=Object.assign({},tn,ho,o_,uV,Rp),vMe=Object.keys(E4e),A4e=[...Object.keys(WE),...hV],P4e={...WE,...t2},R4e=e=>e in P4e,O4e=e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:i}=t.__breakpoints,o={};for(const s in e){let a=Bu(e[s],t);if(a==null)continue;if(a=Sa(a)&&n(a)?r(a):a,!Array.isArray(a)){o[s]=a;continue}const l=a.slice(0,i.length).length;for(let u=0;ue.startsWith("--")&&typeof t=="string"&&!I4e(t),N4e=(e,t)=>{var n,r;if(t==null)return t;const i=l=>{var u,d;return(d=(u=e.__cssMap)==null?void 0:u[l])==null?void 0:d.varRef},o=l=>{var u;return(u=i(l))!=null?u:l},[s,a]=k4e(t);return t=(r=(n=i(s))!=null?n:o(a))!=null?r:o(t),t};function L4e(e){const{configs:t={},pseudos:n={},theme:r}=e,i=(o,s=!1)=>{var a,l,u;const d=Bu(o,r),f=O4e(d)(r);let p={};for(let g in f){const m=f[g];let v=Bu(m,r);g in n&&(g=n[g]),M4e(g,v)&&(v=N4e(r,v));let x=t[g];if(x===!0&&(x={property:g}),Sa(v)){p[g]=(a=p[g])!=null?a:{},p[g]=Ts({},p[g],i(v,!0));continue}let _=(u=(l=x==null?void 0:x.transform)==null?void 0:l.call(x,v,r,d))!=null?u:v;_=x!=null&&x.processResult?i(_,!0):_;const b=Bu(x==null?void 0:x.property,r);if(!s&&(x!=null&&x.static)){const y=Bu(x.static,r);p=Ts({},p,y)}if(b&&Array.isArray(b)){for(const y of b)p[y]=_;continue}if(b){b==="&"&&Sa(_)?p=Ts({},p,_):p[b]=_;continue}if(Sa(_)){p=Ts({},p,_);continue}p[g]=_}return p};return i}var D4e=e=>t=>L4e({theme:t,pseudos:t2,configs:WE})(e);function _Me(e){return e}function bMe(e){return e}function SMe(e){return{definePartsStyle(t){return t},defineMultiStyleConfig(t){return{parts:e,...t}}}}function $4e(e,t){if(Array.isArray(e))return e;if(Sa(e))return t(e);if(e!=null)return[e]}function F4e(e,t){for(let n=t+1;n{Ts(u,{[y]:p?b[y]:{[_]:b[y]}})});continue}if(!g){p?Ts(u,b):u[_]=b;continue}u[_]=b}}return u}}function U4e(e){return t=>{var n;const{variant:r,size:i,theme:o}=t,s=B4e(o);return Ts({},Bu((n=e.baseStyle)!=null?n:{},t),s(e,"sizes",i,t),s(e,"variants",r,t))}}function wMe(e,t,n){var r,i,o;return(o=(i=(r=e.__cssMap)==null?void 0:r[`${t}.${n}`])==null?void 0:i.varRef)!=null?o:n}function pV(e){return y4e(e,["styleConfig","size","variant","colorScheme"])}function z4e(e,t){const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}function V4e(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},G4e=j4e(V4e);function gV(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r];t(i,r,e)&&(n[r]=i)}),n}var mV=e=>gV(e,t=>t!=null);function H4e(e){return typeof e=="function"}function W4e(e,...t){return H4e(e)?e(...t):e}function xMe(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}var q4e=typeof Element<"u",K4e=typeof Map=="function",X4e=typeof Set=="function",Y4e=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Rv(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,r,i;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Rv(e[r],t[r]))return!1;return!0}var o;if(K4e&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;for(o=e.entries();!(r=o.next()).done;)if(!Rv(r.value[1],t.get(r.value[0])))return!1;return!0}if(X4e&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(Y4e&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;if(q4e&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!Rv(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var Q4e=function(t,n){try{return Rv(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const Z4e=dc(Q4e);function yV(e,t={}){var n;const{styleConfig:r,...i}=t,{theme:o,colorMode:s}=b5e(),a=e?G4e(o,`components.${e}`):void 0,l=r||a,u=Ts({theme:o,colorMode:s},(n=l==null?void 0:l.defaultProps)!=null?n:{},mV(z4e(i,["children"]))),d=L.useRef({});if(l){const p=U4e(l)(u);Z4e(d.current,p)||(d.current=p)}return d.current}function vV(e,t={}){return yV(e,t)}function CMe(e,t={}){return yV(e,t)}var J4e=new Set([...A4e,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),eTe=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function tTe(e){return eTe.has(e)||!J4e.has(e)}function nTe(e,...t){if(e==null)throw new TypeError("Cannot convert undefined or null to object");const n={...e};for(const r of t)if(r!=null)for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&(i in n&&delete n[i],n[i]=r[i]);return n}var rTe=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,iTe=Qz(function(e){return rTe.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),oTe=iTe,sTe=function(t){return t!=="theme"},Qk=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?oTe:sTe},Zk=function(t,n,r){var i;if(n){var o=n.shouldForwardProp;i=t.__emotion_forwardProp&&o?function(s){return t.__emotion_forwardProp(s)&&o(s)}:o}return typeof i!="function"&&r&&(i=t.__emotion_forwardProp),i},aTe=function(t){var n=t.cache,r=t.serialized,i=t.isStringTag;return Jz(n,r,i),p5e(function(){return eV(n,r,i)}),null},lTe=function e(t,n){var r=t.__emotion_real===t,i=r&&t.__emotion_base||t,o,s;n!==void 0&&(o=n.label,s=n.target);var a=Zk(t,n,r),l=a||Qk(i),u=!l("as");return function(){var d=arguments,f=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&f.push("label:"+o+";"),d[0]==null||d[0].raw===void 0)f.push.apply(f,d);else{f.push(d[0][0]);for(var p=d.length,g=1;gt=>{const{theme:n,css:r,__css:i,sx:o,...s}=t,a=gV(s,(f,p)=>R4e(p)),l=W4e(e,t),u=nTe({},i,l,mV(a),o),d=D4e(u)(t.theme);return r?[d,r]:d};function Xx(e,t){const{baseStyle:n,...r}=t??{};r.shouldForwardProp||(r.shouldForwardProp=tTe);const i=dTe({baseStyle:n}),o=cTe(e,r)(i);return Lt.forwardRef(function(l,u){const{colorMode:d,forced:f}=jE();return Lt.createElement(o,{ref:u,"data-theme":f?d:void 0,...l})})}function fTe(){const e=new Map;return new Proxy(Xx,{apply(t,n,r){return Xx(...r)},get(t,n){return e.has(n)||e.set(n,Xx(n)),e.get(n)}})}var cc=fTe();function Pc(e){return L.forwardRef(e)}const _V=L.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),n2=L.createContext({}),Lm=L.createContext(null),r2=typeof document<"u",a_=r2?L.useLayoutEffect:L.useEffect,bV=L.createContext({strict:!1});function hTe(e,t,n,r){const{visualElement:i}=L.useContext(n2),o=L.useContext(bV),s=L.useContext(Lm),a=L.useContext(_V).reducedMotion,l=L.useRef();r=r||o.renderer,!l.current&&r&&(l.current=r(e,{visualState:t,parent:i,props:n,presenceContext:s,blockInitialAnimation:s?s.initial===!1:!1,reducedMotionConfig:a}));const u=l.current;return L.useInsertionEffect(()=>{u&&u.update(n,s)}),a_(()=>{u&&u.render()}),L.useEffect(()=>{u&&u.updateFeatures()}),(window.HandoffAppearAnimations?a_:L.useEffect)(()=>{u&&u.animationState&&u.animationState.animateChanges()}),u}function $d(e){return typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function pTe(e,t,n){return L.useCallback(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):$d(n)&&(n.current=r))},[t])}function zg(e){return typeof e=="string"||Array.isArray(e)}function i2(e){return typeof e=="object"&&typeof e.start=="function"}const qE=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],KE=["initial",...qE];function o2(e){return i2(e.animate)||KE.some(t=>zg(e[t]))}function SV(e){return!!(o2(e)||e.variants)}function gTe(e,t){if(o2(e)){const{initial:n,animate:r}=e;return{initial:n===!1||zg(n)?n:void 0,animate:zg(r)?r:void 0}}return e.inherit!==!1?t:{}}function mTe(e){const{initial:t,animate:n}=gTe(e,L.useContext(n2));return L.useMemo(()=>({initial:t,animate:n}),[eI(t),eI(n)])}function eI(e){return Array.isArray(e)?e.join(" "):e}const tI={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},Vg={};for(const e in tI)Vg[e]={isEnabled:t=>tI[e].some(n=>!!t[n])};function yTe(e){for(const t in e)Vg[t]={...Vg[t],...e[t]}}const XE=L.createContext({}),wV=L.createContext({}),vTe=Symbol.for("motionComponentSymbol");function _Te({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:i}){e&&yTe(e);function o(a,l){let u;const d={...L.useContext(_V),...a,layoutId:bTe(a)},{isStatic:f}=d,p=mTe(a),g=r(a,f);if(!f&&r2){p.visualElement=hTe(i,g,d,t);const m=L.useContext(wV),v=L.useContext(bV).strict;p.visualElement&&(u=p.visualElement.loadFeatures(d,v,e,m))}return L.createElement(n2.Provider,{value:p},u&&p.visualElement?L.createElement(u,{visualElement:p.visualElement,...d}):null,n(i,a,pTe(g,p.visualElement,l),g,f,p.visualElement))}const s=L.forwardRef(o);return s[vTe]=i,s}function bTe({layoutId:e}){const t=L.useContext(XE).id;return t&&e!==void 0?t+"-"+e:e}function STe(e){function t(r,i={}){return _Te(e(r,i))}if(typeof Proxy>"u")return t;const n=new Map;return new Proxy(t,{get:(r,i)=>(n.has(i)||n.set(i,t(i)),n.get(i))})}const wTe=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function YE(e){return typeof e!="string"||e.includes("-")?!1:!!(wTe.indexOf(e)>-1||/[A-Z]/.test(e))}const l_={};function xTe(e){Object.assign(l_,e)}const Dm=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Rc=new Set(Dm);function xV(e,{layout:t,layoutId:n}){return Rc.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!l_[e]||e==="opacity")}const ki=e=>!!(e&&e.getVelocity),CTe={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},TTe=Dm.length;function ETe(e,{enableHardwareAcceleration:t=!0,allowTransformNone:n=!0},r,i){let o="";for(let s=0;st=>typeof t=="string"&&t.startsWith(e),TV=CV("--"),A5=CV("var(--"),ATe=/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,PTe=(e,t)=>t&&typeof e=="number"?t.transform(e):e,Kl=(e,t,n)=>Math.min(Math.max(n,e),t),Oc={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Op={...Oc,transform:e=>Kl(0,1,e)},G0={...Oc,default:1},kp=e=>Math.round(e*1e5)/1e5,s2=/(-)?([\d]*\.?[\d])+/g,EV=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,RTe=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function $m(e){return typeof e=="string"}const Fm=e=>({test:t=>$m(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),al=Fm("deg"),Is=Fm("%"),Be=Fm("px"),OTe=Fm("vh"),kTe=Fm("vw"),nI={...Is,parse:e=>Is.parse(e)/100,transform:e=>Is.transform(e*100)},rI={...Oc,transform:Math.round},AV={borderWidth:Be,borderTopWidth:Be,borderRightWidth:Be,borderBottomWidth:Be,borderLeftWidth:Be,borderRadius:Be,radius:Be,borderTopLeftRadius:Be,borderTopRightRadius:Be,borderBottomRightRadius:Be,borderBottomLeftRadius:Be,width:Be,maxWidth:Be,height:Be,maxHeight:Be,size:Be,top:Be,right:Be,bottom:Be,left:Be,padding:Be,paddingTop:Be,paddingRight:Be,paddingBottom:Be,paddingLeft:Be,margin:Be,marginTop:Be,marginRight:Be,marginBottom:Be,marginLeft:Be,rotate:al,rotateX:al,rotateY:al,rotateZ:al,scale:G0,scaleX:G0,scaleY:G0,scaleZ:G0,skew:al,skewX:al,skewY:al,distance:Be,translateX:Be,translateY:Be,translateZ:Be,x:Be,y:Be,z:Be,perspective:Be,transformPerspective:Be,opacity:Op,originX:nI,originY:nI,originZ:Be,zIndex:rI,fillOpacity:Op,strokeOpacity:Op,numOctaves:rI};function QE(e,t,n,r){const{style:i,vars:o,transform:s,transformOrigin:a}=e;let l=!1,u=!1,d=!0;for(const f in t){const p=t[f];if(TV(f)){o[f]=p;continue}const g=AV[f],m=PTe(p,g);if(Rc.has(f)){if(l=!0,s[f]=m,!d)continue;p!==(g.default||0)&&(d=!1)}else f.startsWith("origin")?(u=!0,a[f]=m):i[f]=m}if(t.transform||(l||r?i.transform=ETe(e.transform,n,d,r):i.transform&&(i.transform="none")),u){const{originX:f="50%",originY:p="50%",originZ:g=0}=a;i.transformOrigin=`${f} ${p} ${g}`}}const ZE=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function PV(e,t,n){for(const r in t)!ki(t[r])&&!xV(r,n)&&(e[r]=t[r])}function ITe({transformTemplate:e},t,n){return L.useMemo(()=>{const r=ZE();return QE(r,t,{enableHardwareAcceleration:!n},e),Object.assign({},r.vars,r.style)},[t])}function MTe(e,t,n){const r=e.style||{},i={};return PV(i,r,e),Object.assign(i,ITe(e,t,n)),e.transformValues?e.transformValues(i):i}function NTe(e,t,n){const r={},i=MTe(e,t,n);return e.drag&&e.dragListener!==!1&&(r.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(r.tabIndex=0),r.style=i,r}const LTe=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","ignoreStrict","viewport"]);function u_(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||LTe.has(e)}let RV=e=>!u_(e);function DTe(e){e&&(RV=t=>t.startsWith("on")?!u_(t):e(t))}try{DTe(require("@emotion/is-prop-valid").default)}catch{}function $Te(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(RV(i)||n===!0&&u_(i)||!t&&!u_(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function iI(e,t,n){return typeof e=="string"?e:Be.transform(t+n*e)}function FTe(e,t,n){const r=iI(t,e.x,e.width),i=iI(n,e.y,e.height);return`${r} ${i}`}const BTe={offset:"stroke-dashoffset",array:"stroke-dasharray"},UTe={offset:"strokeDashoffset",array:"strokeDasharray"};function zTe(e,t,n=1,r=0,i=!0){e.pathLength=1;const o=i?BTe:UTe;e[o.offset]=Be.transform(-r);const s=Be.transform(t),a=Be.transform(n);e[o.array]=`${s} ${a}`}function JE(e,{attrX:t,attrY:n,attrScale:r,originX:i,originY:o,pathLength:s,pathSpacing:a=1,pathOffset:l=0,...u},d,f,p){if(QE(e,u,d,p),f){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:g,style:m,dimensions:v}=e;g.transform&&(v&&(m.transform=g.transform),delete g.transform),v&&(i!==void 0||o!==void 0||m.transform)&&(m.transformOrigin=FTe(v,i!==void 0?i:.5,o!==void 0?o:.5)),t!==void 0&&(g.x=t),n!==void 0&&(g.y=n),r!==void 0&&(g.scale=r),s!==void 0&&zTe(g,s,a,l,!1)}const OV=()=>({...ZE(),attrs:{}}),e6=e=>typeof e=="string"&&e.toLowerCase()==="svg";function VTe(e,t,n,r){const i=L.useMemo(()=>{const o=OV();return JE(o,t,{enableHardwareAcceleration:!1},e6(r),e.transformTemplate),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};PV(o,e.style,e),i.style={...o,...i.style}}return i}function jTe(e=!1){return(n,r,i,{latestValues:o},s)=>{const l=(YE(n)?VTe:NTe)(r,o,s,n),d={...$Te(r,typeof n=="string",e),...l,ref:i},{children:f}=r,p=L.useMemo(()=>ki(f)?f.get():f,[f]);return L.createElement(n,{...d,children:p})}}const t6=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function kV(e,{style:t,vars:n},r,i){Object.assign(e.style,t,i&&i.getProjectionStyles(r));for(const o in n)e.style.setProperty(o,n[o])}const IV=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function MV(e,t,n,r){kV(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(IV.has(i)?i:t6(i),t.attrs[i])}function n6(e,t){const{style:n}=e,r={};for(const i in n)(ki(n[i])||t.style&&ki(t.style[i])||xV(i,e))&&(r[i]=n[i]);return r}function NV(e,t){const n=n6(e,t);for(const r in e)if(ki(e[r])||ki(t[r])){const i=Dm.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;n[i]=e[r]}return n}function r6(e,t,n,r={},i={}){return typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),t}function LV(e){const t=L.useRef(null);return t.current===null&&(t.current=e()),t.current}const c_=e=>Array.isArray(e),GTe=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),HTe=e=>c_(e)?e[e.length-1]||0:e;function Ov(e){const t=ki(e)?e.get():e;return GTe(t)?t.toValue():t}function WTe({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,o){const s={latestValues:qTe(r,i,o,e),renderState:t()};return n&&(s.mount=a=>n(r,a,s)),s}const DV=e=>(t,n)=>{const r=L.useContext(n2),i=L.useContext(Lm),o=()=>WTe(e,t,r,i);return n?o():LV(o)};function qTe(e,t,n,r){const i={},o=r(e,{});for(const p in o)i[p]=Ov(o[p]);let{initial:s,animate:a}=e;const l=o2(e),u=SV(e);t&&u&&!l&&e.inherit!==!1&&(s===void 0&&(s=t.initial),a===void 0&&(a=t.animate));let d=n?n.initial===!1:!1;d=d||s===!1;const f=d?a:s;return f&&typeof f!="boolean"&&!i2(f)&&(Array.isArray(f)?f:[f]).forEach(g=>{const m=r6(e,g);if(!m)return;const{transitionEnd:v,transition:x,..._}=m;for(const b in _){let y=_[b];if(Array.isArray(y)){const S=d?y.length-1:0;y=y[S]}y!==null&&(i[b]=y)}for(const b in v)i[b]=v[b]}),i}const KTe={useVisualState:DV({scrapeMotionValuesFromProps:NV,createRenderState:OV,onMount:(e,t,{renderState:n,latestValues:r})=>{try{n.dimensions=typeof t.getBBox=="function"?t.getBBox():t.getBoundingClientRect()}catch{n.dimensions={x:0,y:0,width:0,height:0}}JE(n,r,{enableHardwareAcceleration:!1},e6(t.tagName),e.transformTemplate),MV(t,n)}})},XTe={useVisualState:DV({scrapeMotionValuesFromProps:n6,createRenderState:ZE})};function YTe(e,{forwardMotionProps:t=!1},n,r){return{...YE(e)?KTe:XTe,preloadedFeatures:n,useRender:jTe(t),createVisualElement:r,Component:e}}function ya(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const $V=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function a2(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const QTe=e=>t=>$V(t)&&e(t,a2(t));function wa(e,t,n,r){return ya(e,t,QTe(n),r)}const ZTe=(e,t)=>n=>t(e(n)),Nl=(...e)=>e.reduce(ZTe);function FV(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const oI=FV("dragHorizontal"),sI=FV("dragVertical");function BV(e){let t=!1;if(e==="y")t=sI();else if(e==="x")t=oI();else{const n=oI(),r=sI();n&&r?t=()=>{n(),r()}:(n&&n(),r&&r())}return t}function UV(){const e=BV(!0);return e?(e(),!1):!0}class uu{constructor(t){this.isMounted=!1,this.node=t}update(){}}const Gn=e=>e;function JTe(e){let t=[],n=[],r=0,i=!1,o=!1;const s=new WeakSet,a={schedule:(l,u=!1,d=!1)=>{const f=d&&i,p=f?t:n;return u&&s.add(l),p.indexOf(l)===-1&&(p.push(l),f&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),s.delete(l)},process:l=>{if(i){o=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let u=0;u(f[p]=JTe(()=>n=!0),f),{}),s=f=>o[f].process(i),a=f=>{n=!1,i.delta=r?1e3/60:Math.max(Math.min(f-i.timestamp,eEe),1),i.timestamp=f,i.isProcessing=!0,H0.forEach(s),i.isProcessing=!1,n&&t&&(r=!1,e(a))},l=()=>{n=!0,r=!0,i.isProcessing||e(a)};return{schedule:H0.reduce((f,p)=>{const g=o[p];return f[p]=(m,v=!1,x=!1)=>(n||l(),g.schedule(m,v,x)),f},{}),cancel:f=>H0.forEach(p=>o[p].cancel(f)),state:i,steps:o}}const{schedule:dn,cancel:Ia,state:zr,steps:Yx}=tEe(typeof requestAnimationFrame<"u"?requestAnimationFrame:Gn,!0);function aI(e,t){const n="pointer"+(t?"enter":"leave"),r="onHover"+(t?"Start":"End"),i=(o,s)=>{if(o.type==="touch"||UV())return;const a=e.getProps();e.animationState&&a.whileHover&&e.animationState.setActive("whileHover",t),a[r]&&dn.update(()=>a[r](o,s))};return wa(e.current,n,i,{passive:!e.getProps()[r]})}class nEe extends uu{mount(){this.unmount=Nl(aI(this.node,!0),aI(this.node,!1))}unmount(){}}class rEe extends uu{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Nl(ya(this.node.current,"focus",()=>this.onFocus()),ya(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const zV=(e,t)=>t?e===t?!0:zV(e,t.parentElement):!1;function Qx(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,a2(n))}class iEe extends uu{constructor(){super(...arguments),this.removeStartListeners=Gn,this.removeEndListeners=Gn,this.removeAccessibleListeners=Gn,this.startPointerPress=(t,n)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),o=wa(window,"pointerup",(a,l)=>{if(!this.checkPressEnd())return;const{onTap:u,onTapCancel:d}=this.node.getProps();dn.update(()=>{zV(this.node.current,a.target)?u&&u(a,l):d&&d(a,l)})},{passive:!(r.onTap||r.onPointerUp)}),s=wa(window,"pointercancel",(a,l)=>this.cancelPress(a,l),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=Nl(o,s),this.startPress(t,n)},this.startAccessiblePress=()=>{const t=o=>{if(o.key!=="Enter"||this.isPressing)return;const s=a=>{a.key!=="Enter"||!this.checkPressEnd()||Qx("up",(l,u)=>{const{onTap:d}=this.node.getProps();d&&dn.update(()=>d(l,u))})};this.removeEndListeners(),this.removeEndListeners=ya(this.node.current,"keyup",s),Qx("down",(a,l)=>{this.startPress(a,l)})},n=ya(this.node.current,"keydown",t),r=()=>{this.isPressing&&Qx("cancel",(o,s)=>this.cancelPress(o,s))},i=ya(this.node.current,"blur",r);this.removeAccessibleListeners=Nl(n,i)}}startPress(t,n){this.isPressing=!0;const{onTapStart:r,whileTap:i}=this.node.getProps();i&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),r&&dn.update(()=>r(t,n))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!UV()}cancelPress(t,n){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&dn.update(()=>r(t,n))}mount(){const t=this.node.getProps(),n=wa(this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),r=ya(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=Nl(n,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const P5=new WeakMap,Zx=new WeakMap,oEe=e=>{const t=P5.get(e.target);t&&t(e)},sEe=e=>{e.forEach(oEe)};function aEe({root:e,...t}){const n=e||document;Zx.has(n)||Zx.set(n,{});const r=Zx.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(sEe,{root:e,...t})),r[i]}function lEe(e,t,n){const r=aEe(t);return P5.set(e,n),r.observe(e),()=>{P5.delete(e),r.unobserve(e)}}const uEe={some:0,all:1};class cEe extends uu{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:o}=t,s={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:uEe[i]},a=l=>{const{isIntersecting:u}=l;if(this.isInView===u||(this.isInView=u,o&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:d,onViewportLeave:f}=this.node.getProps(),p=u?d:f;p&&p(l)};return lEe(this.node.current,s,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(dEe(t,n))&&this.startObserver()}unmount(){}}function dEe({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const fEe={inView:{Feature:cEe},tap:{Feature:iEe},focus:{Feature:rEe},hover:{Feature:nEe}};function VV(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;rt[r]=n.get()),t}function pEe(e){const t={};return e.values.forEach((n,r)=>t[r]=n.getVelocity()),t}function l2(e,t,n){const r=e.getProps();return r6(r,t,n!==void 0?n:r.custom,hEe(e),pEe(e))}const gEe="framerAppearId",mEe="data-"+t6(gEe);let yEe=Gn,i6=Gn;const Ll=e=>e*1e3,xa=e=>e/1e3,vEe={current:!1},jV=e=>Array.isArray(e)&&typeof e[0]=="number";function GV(e){return!!(!e||typeof e=="string"&&HV[e]||jV(e)||Array.isArray(e)&&e.every(GV))}const gp=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,HV={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:gp([0,.65,.55,1]),circOut:gp([.55,0,1,.45]),backIn:gp([.31,.01,.66,-.59]),backOut:gp([.33,1.53,.69,.99])};function WV(e){if(e)return jV(e)?gp(e):Array.isArray(e)?e.map(WV):HV[e]}function _Ee(e,t,n,{delay:r=0,duration:i,repeat:o=0,repeatType:s="loop",ease:a,times:l}={}){const u={[t]:n};l&&(u.offset=l);const d=WV(a);return Array.isArray(d)&&(u.easing=d),e.animate(u,{delay:r,duration:i,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:o+1,direction:s==="reverse"?"alternate":"normal"})}const lI={waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate")},Jx={},qV={};for(const e in lI)qV[e]=()=>(Jx[e]===void 0&&(Jx[e]=lI[e]()),Jx[e]);function bEe(e,{repeat:t,repeatType:n="loop"}){const r=t&&n!=="loop"&&t%2===1?0:e.length-1;return e[r]}const KV=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,SEe=1e-7,wEe=12;function xEe(e,t,n,r,i){let o,s,a=0;do s=t+(n-t)/2,o=KV(s,r,i)-e,o>0?n=s:t=s;while(Math.abs(o)>SEe&&++axEe(o,0,1,e,n);return o=>o===0||o===1?o:KV(i(o),t,r)}const CEe=Bm(.42,0,1,1),TEe=Bm(0,0,.58,1),XV=Bm(.42,0,.58,1),EEe=e=>Array.isArray(e)&&typeof e[0]!="number",YV=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,QV=e=>t=>1-e(1-t),ZV=e=>1-Math.sin(Math.acos(e)),o6=QV(ZV),AEe=YV(o6),JV=Bm(.33,1.53,.69,.99),s6=QV(JV),PEe=YV(s6),REe=e=>(e*=2)<1?.5*s6(e):.5*(2-Math.pow(2,-10*(e-1))),OEe={linear:Gn,easeIn:CEe,easeInOut:XV,easeOut:TEe,circIn:ZV,circInOut:AEe,circOut:o6,backIn:s6,backInOut:PEe,backOut:JV,anticipate:REe},uI=e=>{if(Array.isArray(e)){i6(e.length===4);const[t,n,r,i]=e;return Bm(t,n,r,i)}else if(typeof e=="string")return OEe[e];return e},a6=(e,t)=>n=>!!($m(n)&&RTe.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),ej=(e,t,n)=>r=>{if(!$m(r))return r;const[i,o,s,a]=r.match(s2);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(s),alpha:a!==void 0?parseFloat(a):1}},kEe=e=>Kl(0,255,e),eC={...Oc,transform:e=>Math.round(kEe(e))},Uu={test:a6("rgb","red"),parse:ej("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+eC.transform(e)+", "+eC.transform(t)+", "+eC.transform(n)+", "+kp(Op.transform(r))+")"};function IEe(e){let t="",n="",r="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const R5={test:a6("#"),parse:IEe,transform:Uu.transform},Fd={test:a6("hsl","hue"),parse:ej("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+Is.transform(kp(t))+", "+Is.transform(kp(n))+", "+kp(Op.transform(r))+")"},ni={test:e=>Uu.test(e)||R5.test(e)||Fd.test(e),parse:e=>Uu.test(e)?Uu.parse(e):Fd.test(e)?Fd.parse(e):R5.parse(e),transform:e=>$m(e)?e:e.hasOwnProperty("red")?Uu.transform(e):Fd.transform(e)},vn=(e,t,n)=>-n*e+n*t+e;function tC(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function MEe({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,o=0,s=0;if(!t)i=o=s=n;else{const a=n<.5?n*(1+t):n+t-n*t,l=2*n-a;i=tC(l,a,e+1/3),o=tC(l,a,e),s=tC(l,a,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(s*255),alpha:r}}const nC=(e,t,n)=>{const r=e*e;return Math.sqrt(Math.max(0,n*(t*t-r)+r))},NEe=[R5,Uu,Fd],LEe=e=>NEe.find(t=>t.test(e));function cI(e){const t=LEe(e);let n=t.parse(e);return t===Fd&&(n=MEe(n)),n}const tj=(e,t)=>{const n=cI(e),r=cI(t),i={...n};return o=>(i.red=nC(n.red,r.red,o),i.green=nC(n.green,r.green,o),i.blue=nC(n.blue,r.blue,o),i.alpha=vn(n.alpha,r.alpha,o),Uu.transform(i))};function DEe(e){var t,n;return isNaN(e)&&$m(e)&&(((t=e.match(s2))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(EV))===null||n===void 0?void 0:n.length)||0)>0}const nj={regex:ATe,countKey:"Vars",token:"${v}",parse:Gn},rj={regex:EV,countKey:"Colors",token:"${c}",parse:ni.parse},ij={regex:s2,countKey:"Numbers",token:"${n}",parse:Oc.parse};function rC(e,{regex:t,countKey:n,token:r,parse:i}){const o=e.tokenised.match(t);o&&(e["num"+n]=o.length,e.tokenised=e.tokenised.replace(t,r),e.values.push(...o.map(i)))}function d_(e){const t=e.toString(),n={value:t,tokenised:t,values:[],numVars:0,numColors:0,numNumbers:0};return n.value.includes("var(--")&&rC(n,nj),rC(n,rj),rC(n,ij),n}function oj(e){return d_(e).values}function sj(e){const{values:t,numColors:n,numVars:r,tokenised:i}=d_(e),o=t.length;return s=>{let a=i;for(let l=0;ltypeof e=="number"?0:e;function FEe(e){const t=oj(e);return sj(e)(t.map($Ee))}const Xl={test:DEe,parse:oj,createTransformer:sj,getAnimatableNone:FEe},aj=(e,t)=>n=>`${n>0?t:e}`;function lj(e,t){return typeof e=="number"?n=>vn(e,t,n):ni.test(e)?tj(e,t):e.startsWith("var(")?aj(e,t):cj(e,t)}const uj=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,s)=>lj(o,t[s]));return o=>{for(let s=0;s{const n={...e,...t},r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=lj(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}},cj=(e,t)=>{const n=Xl.createTransformer(t),r=d_(e),i=d_(t);return r.numVars===i.numVars&&r.numColors===i.numColors&&r.numNumbers>=i.numNumbers?Nl(uj(r.values,i.values),n):aj(e,t)},jg=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},dI=(e,t)=>n=>vn(e,t,n);function UEe(e){return typeof e=="number"?dI:typeof e=="string"?ni.test(e)?tj:cj:Array.isArray(e)?uj:typeof e=="object"?BEe:dI}function zEe(e,t,n){const r=[],i=n||UEe(e[0]),o=e.length-1;for(let s=0;st[0];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const s=zEe(t,r,i),a=s.length,l=u=>{let d=0;if(a>1)for(;dl(Kl(e[0],e[o-1],u)):l}function VEe(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const i=jg(0,t,r);e.push(vn(n,1,i))}}function jEe(e){const t=[0];return VEe(t,e.length-1),t}function GEe(e,t){return e.map(n=>n*t)}function HEe(e,t){return e.map(()=>t||XV).splice(0,e.length-1)}function f_({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const i=EEe(r)?r.map(uI):uI(r),o={done:!1,value:t[0]},s=GEe(n&&n.length===t.length?n:jEe(t),e),a=dj(s,t,{ease:Array.isArray(i)?i:HEe(t,i)});return{calculatedDuration:e,next:l=>(o.value=a(l),o.done=l>=e,o)}}function fj(e,t){return t?e*(1e3/t):0}const WEe=5;function hj(e,t,n){const r=Math.max(t-WEe,0);return fj(n-e(r),t-r)}const iC=.001,qEe=.01,fI=10,KEe=.05,XEe=1;function YEe({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,o;yEe(e<=Ll(fI));let s=1-t;s=Kl(KEe,XEe,s),e=Kl(qEe,fI,xa(e)),s<1?(i=u=>{const d=u*s,f=d*e,p=d-n,g=O5(u,s),m=Math.exp(-f);return iC-p/g*m},o=u=>{const f=u*s*e,p=f*n+n,g=Math.pow(s,2)*Math.pow(u,2)*e,m=Math.exp(-f),v=O5(Math.pow(u,2),s);return(-i(u)+iC>0?-1:1)*((p-g)*m)/v}):(i=u=>{const d=Math.exp(-u*e),f=(u-n)*e+1;return-iC+d*f},o=u=>{const d=Math.exp(-u*e),f=(n-u)*(e*e);return d*f});const a=5/e,l=ZEe(i,o,a);if(e=Ll(e),isNaN(l))return{stiffness:100,damping:10,duration:e};{const u=Math.pow(l,2)*r;return{stiffness:u,damping:s*2*Math.sqrt(r*u),duration:e}}}const QEe=12;function ZEe(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function t6e(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!hI(e,e6e)&&hI(e,JEe)){const n=YEe(e);t={...t,...n,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}function pj({keyframes:e,restDelta:t,restSpeed:n,...r}){const i=e[0],o=e[e.length-1],s={done:!1,value:i},{stiffness:a,damping:l,mass:u,velocity:d,duration:f,isResolvedFromDuration:p}=t6e(r),g=d?-xa(d):0,m=l/(2*Math.sqrt(a*u)),v=o-i,x=xa(Math.sqrt(a/u)),_=Math.abs(v)<5;n||(n=_?.01:2),t||(t=_?.005:.5);let b;if(m<1){const y=O5(x,m);b=S=>{const C=Math.exp(-m*x*S);return o-C*((g+m*x*v)/y*Math.sin(y*S)+v*Math.cos(y*S))}}else if(m===1)b=y=>o-Math.exp(-x*y)*(v+(g+x*v)*y);else{const y=x*Math.sqrt(m*m-1);b=S=>{const C=Math.exp(-m*x*S),T=Math.min(y*S,300);return o-C*((g+m*x*v)*Math.sinh(T)+y*v*Math.cosh(T))/y}}return{calculatedDuration:p&&f||null,next:y=>{const S=b(y);if(p)s.done=y>=f;else{let C=g;y!==0&&(m<1?C=hj(b,y,S):C=0);const T=Math.abs(C)<=n,E=Math.abs(o-S)<=t;s.done=T&&E}return s.value=s.done?o:S,s}}}function pI({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:o=500,modifyTarget:s,min:a,max:l,restDelta:u=.5,restSpeed:d}){const f=e[0],p={done:!1,value:f},g=P=>a!==void 0&&Pl,m=P=>a===void 0?l:l===void 0||Math.abs(a-P)-v*Math.exp(-P/r),y=P=>_+b(P),S=P=>{const k=b(P),O=y(P);p.done=Math.abs(k)<=u,p.value=p.done?_:O};let C,T;const E=P=>{g(p.value)&&(C=P,T=pj({keyframes:[p.value,m(p.value)],velocity:hj(y,P,p.value),damping:i,stiffness:o,restDelta:u,restSpeed:d}))};return E(0),{calculatedDuration:null,next:P=>{let k=!1;return!T&&C===void 0&&(k=!0,S(P),E(P)),C!==void 0&&P>C?T.next(P-C):(!k&&S(P),p)}}}const n6e=e=>{const t=({timestamp:n})=>e(n);return{start:()=>dn.update(t,!0),stop:()=>Ia(t),now:()=>zr.isProcessing?zr.timestamp:performance.now()}},gI=2e4;function mI(e){let t=0;const n=50;let r=e.next(t);for(;!r.done&&t=gI?1/0:t}const r6e={decay:pI,inertia:pI,tween:f_,keyframes:f_,spring:pj};function h_({autoplay:e=!0,delay:t=0,driver:n=n6e,keyframes:r,type:i="keyframes",repeat:o=0,repeatDelay:s=0,repeatType:a="loop",onPlay:l,onStop:u,onComplete:d,onUpdate:f,...p}){let g=1,m=!1,v,x;const _=()=>{x=new Promise(q=>{v=q})};_();let b;const y=r6e[i]||f_;let S;y!==f_&&typeof r[0]!="number"&&(S=dj([0,100],r,{clamp:!1}),r=[0,100]);const C=y({...p,keyframes:r});let T;a==="mirror"&&(T=y({...p,keyframes:[...r].reverse(),velocity:-(p.velocity||0)}));let E="idle",P=null,k=null,O=null;C.calculatedDuration===null&&o&&(C.calculatedDuration=mI(C));const{calculatedDuration:M}=C;let G=1/0,U=1/0;M!==null&&(G=M+s,U=G*(o+1)-s);let A=0;const N=q=>{if(k===null)return;g>0&&(k=Math.min(k,q)),g<0&&(k=Math.min(q-U/g,k)),P!==null?A=P:A=Math.round(q-k)*g;const Z=A-t*(g>=0?1:-1),ee=g>=0?Z<0:Z>U;A=Math.max(Z,0),E==="finished"&&P===null&&(A=U);let ie=A,se=C;if(o){const fe=A/G;let pe=Math.floor(fe),ve=fe%1;!ve&&fe>=1&&(ve=1),ve===1&&pe--,pe=Math.min(pe,o+1);const ye=!!(pe%2);ye&&(a==="reverse"?(ve=1-ve,s&&(ve-=s/G)):a==="mirror"&&(se=T));let We=Kl(0,1,ve);A>U&&(We=a==="reverse"&&ye?1:0),ie=We*G}const le=ee?{done:!1,value:r[0]}:se.next(ie);S&&(le.value=S(le.value));let{done:W}=le;!ee&&M!==null&&(W=g>=0?A>=U:A<=0);const ne=P===null&&(E==="finished"||E==="running"&&W);return f&&f(le.value),ne&&D(),le},F=()=>{b&&b.stop(),b=void 0},B=()=>{E="idle",F(),v(),_(),k=O=null},D=()=>{E="finished",d&&d(),F(),v()},V=()=>{if(m)return;b||(b=n(N));const q=b.now();l&&l(),P!==null?k=q-P:(!k||E==="finished")&&(k=q),E==="finished"&&_(),O=k,P=null,E="running",b.start()};e&&V();const j={then(q,Z){return x.then(q,Z)},get time(){return xa(A)},set time(q){q=Ll(q),A=q,P!==null||!b||g===0?P=q:k=b.now()-q/g},get duration(){const q=C.calculatedDuration===null?mI(C):C.calculatedDuration;return xa(q)},get speed(){return g},set speed(q){q===g||!b||(g=q,j.time=xa(A))},get state(){return E},play:V,pause:()=>{E="paused",P=A},stop:()=>{m=!0,E!=="idle"&&(E="idle",u&&u(),B())},cancel:()=>{O!==null&&N(O),B()},complete:()=>{E="finished"},sample:q=>(k=0,N(q))};return j}const i6e=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),W0=10,o6e=2e4,s6e=(e,t)=>t.type==="spring"||e==="backgroundColor"||!GV(t.ease);function a6e(e,t,{onUpdate:n,onComplete:r,...i}){if(!(qV.waapi()&&i6e.has(t)&&!i.repeatDelay&&i.repeatType!=="mirror"&&i.damping!==0&&i.type!=="inertia"))return!1;let s=!1,a,l;const u=()=>{l=new Promise(_=>{a=_})};u();let{keyframes:d,duration:f=300,ease:p,times:g}=i;if(s6e(t,i)){const _=h_({...i,repeat:0,delay:0});let b={done:!1,value:d[0]};const y=[];let S=0;for(;!b.done&&Sm.cancel(),x=()=>{dn.update(v),a(),u()};return m.onfinish=()=>{e.set(bEe(d,i)),r&&r(),x()},{then(_,b){return l.then(_,b)},get time(){return xa(m.currentTime||0)},set time(_){m.currentTime=Ll(_)},get speed(){return m.playbackRate},set speed(_){m.playbackRate=_},get duration(){return xa(f)},play:()=>{s||(m.play(),Ia(v))},pause:()=>m.pause(),stop:()=>{if(s=!0,m.playState==="idle")return;const{currentTime:_}=m;if(_){const b=h_({...i,autoplay:!1});e.setWithVelocity(b.sample(_-W0).value,b.sample(_).value,W0)}x()},complete:()=>m.finish(),cancel:x}}function l6e({keyframes:e,delay:t,onUpdate:n,onComplete:r}){const i=()=>(n&&n(e[e.length-1]),r&&r(),{time:0,speed:1,duration:0,play:Gn,pause:Gn,stop:Gn,then:o=>(o(),Promise.resolve()),cancel:Gn,complete:Gn});return t?h_({keyframes:[0,1],duration:0,delay:t,onComplete:i}):i()}const u6e={type:"spring",stiffness:500,damping:25,restSpeed:10},c6e=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),d6e={type:"keyframes",duration:.8},f6e={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},h6e=(e,{keyframes:t})=>t.length>2?d6e:Rc.has(e)?e.startsWith("scale")?c6e(t[1]):u6e:f6e,k5=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(Xl.test(t)||t==="0")&&!t.startsWith("url(")),p6e=new Set(["brightness","contrast","saturate","opacity"]);function g6e(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(s2)||[];if(!r)return e;const i=n.replace(r,"");let o=p6e.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+i+")"}const m6e=/([a-z-]*)\(.*?\)/g,I5={...Xl,getAnimatableNone:e=>{const t=e.match(m6e);return t?t.map(g6e).join(" "):e}},y6e={...AV,color:ni,backgroundColor:ni,outlineColor:ni,fill:ni,stroke:ni,borderColor:ni,borderTopColor:ni,borderRightColor:ni,borderBottomColor:ni,borderLeftColor:ni,filter:I5,WebkitFilter:I5},l6=e=>y6e[e];function gj(e,t){let n=l6(e);return n!==I5&&(n=Xl),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const mj=e=>/^0[^.\s]+$/.test(e);function v6e(e){if(typeof e=="number")return e===0;if(e!==null)return e==="none"||e==="0"||mj(e)}function _6e(e,t,n,r){const i=k5(t,n);let o;Array.isArray(n)?o=[...n]:o=[null,n];const s=r.from!==void 0?r.from:e.get();let a;const l=[];for(let u=0;ui=>{const o=yj(r,e)||{},s=o.delay||r.delay||0;let{elapsed:a=0}=r;a=a-Ll(s);const l=_6e(t,e,n,o),u=l[0],d=l[l.length-1],f=k5(e,u),p=k5(e,d);let g={keyframes:l,velocity:t.getVelocity(),ease:"easeOut",...o,delay:-a,onUpdate:m=>{t.set(m),o.onUpdate&&o.onUpdate(m)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(b6e(o)||(g={...g,...h6e(e,g)}),g.duration&&(g.duration=Ll(g.duration)),g.repeatDelay&&(g.repeatDelay=Ll(g.repeatDelay)),!f||!p||vEe.current||o.type===!1)return l6e(g);if(t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const m=a6e(t,e,g);if(m)return m}return h_(g)};function p_(e){return!!(ki(e)&&e.add)}const S6e=e=>/^\-?\d*\.?\d+$/.test(e);function c6(e,t){e.indexOf(t)===-1&&e.push(t)}function d6(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class f6{constructor(){this.subscriptions=[]}add(t){return c6(this.subscriptions,t),()=>d6(this.subscriptions,t)}notify(t,n,r){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,r);else for(let o=0;o!isNaN(parseFloat(e));class x6e{constructor(t,n={}){this.version="10.12.22",this.timeDelta=0,this.lastUpdated=0,this.canTrackVelocity=!1,this.events={},this.updateAndNotify=(r,i=!0)=>{this.prev=this.current,this.current=r;const{delta:o,timestamp:s}=zr;this.lastUpdated!==s&&(this.timeDelta=o,this.lastUpdated=s,dn.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),i&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>dn.postRender(this.velocityCheck),this.velocityCheck=({timestamp:r})=>{r!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=t,this.canTrackVelocity=w6e(this.current),this.owner=n.owner}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new f6);const r=this.events[t].add(n);return t==="change"?()=>{r(),dn.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,r){this.set(n),this.prev=t,this.timeDelta=r}jump(t){this.updateAndNotify(t),this.prev=t,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?fj(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function Mf(e,t){return new x6e(e,t)}const vj=e=>t=>t.test(e),C6e={test:e=>e==="auto",parse:e=>e},_j=[Oc,Be,Is,al,kTe,OTe,C6e],ip=e=>_j.find(vj(e)),T6e=[..._j,ni,Xl],E6e=e=>T6e.find(vj(e));function A6e(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,Mf(n))}function P6e(e,t){const n=l2(e,t);let{transitionEnd:r={},transition:i={},...o}=n?e.makeTargetAnimatable(n,!1):{};o={...o,...r};for(const s in o){const a=HTe(o[s]);A6e(e,s,a)}}function R6e(e,t,n){var r,i;const o=Object.keys(t).filter(a=>!e.hasValue(a)),s=o.length;if(s)for(let a=0;al.remove(f))),u.push(v)}return s&&Promise.all(u).then(()=>{s&&P6e(e,s)}),u}function M5(e,t,n={}){const r=l2(e,t,n.custom);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const o=r?()=>Promise.all(bj(e,r,n)):()=>Promise.resolve(),s=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:d,staggerDirection:f}=i;return M6e(e,t,u+l,d,f,n)}:()=>Promise.resolve(),{when:a}=i;if(a){const[l,u]=a==="beforeChildren"?[o,s]:[s,o];return l().then(()=>u())}else return Promise.all([o(),s(n.delay)])}function M6e(e,t,n=0,r=0,i=1,o){const s=[],a=(e.variantChildren.size-1)*r,l=i===1?(u=0)=>u*r:(u=0)=>a-u*r;return Array.from(e.variantChildren).sort(N6e).forEach((u,d)=>{u.notify("AnimationStart",t),s.push(M5(u,t,{...o,delay:n+l(d)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(s)}function N6e(e,t){return e.sortNodePosition(t)}function L6e(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(o=>M5(e,o,n));r=Promise.all(i)}else if(typeof t=="string")r=M5(e,t,n);else{const i=typeof t=="function"?l2(e,t,n.custom):t;r=Promise.all(bj(e,i,n))}return r.then(()=>e.notify("AnimationComplete",t))}const D6e=[...qE].reverse(),$6e=qE.length;function F6e(e){return t=>Promise.all(t.map(({animation:n,options:r})=>L6e(e,n,r)))}function B6e(e){let t=F6e(e);const n=z6e();let r=!0;const i=(l,u)=>{const d=l2(e,u);if(d){const{transition:f,transitionEnd:p,...g}=d;l={...l,...g,...p}}return l};function o(l){t=l(e)}function s(l,u){const d=e.getProps(),f=e.getVariantContext(!0)||{},p=[],g=new Set;let m={},v=1/0;for(let _=0;_<$6e;_++){const b=D6e[_],y=n[b],S=d[b]!==void 0?d[b]:f[b],C=zg(S),T=b===u?y.isActive:null;T===!1&&(v=_);let E=S===f[b]&&S!==d[b]&&C;if(E&&r&&e.manuallyAnimateOnMount&&(E=!1),y.protectedKeys={...m},!y.isActive&&T===null||!S&&!y.prevProp||i2(S)||typeof S=="boolean")continue;const P=U6e(y.prevProp,S);let k=P||b===u&&y.isActive&&!E&&C||_>v&&C;const O=Array.isArray(S)?S:[S];let M=O.reduce(i,{});T===!1&&(M={});const{prevResolvedValues:G={}}=y,U={...G,...M},A=N=>{k=!0,g.delete(N),y.needsAnimating[N]=!0};for(const N in U){const F=M[N],B=G[N];m.hasOwnProperty(N)||(F!==B?c_(F)&&c_(B)?!VV(F,B)||P?A(N):y.protectedKeys[N]=!0:F!==void 0?A(N):g.add(N):F!==void 0&&g.has(N)?A(N):y.protectedKeys[N]=!0)}y.prevProp=S,y.prevResolvedValues=M,y.isActive&&(m={...m,...M}),r&&e.blockInitialAnimation&&(k=!1),k&&!E&&p.push(...O.map(N=>({animation:N,options:{type:b,...l}})))}if(g.size){const _={};g.forEach(b=>{const y=e.getBaseTarget(b);y!==void 0&&(_[b]=y)}),p.push({animation:_})}let x=!!p.length;return r&&d.initial===!1&&!e.manuallyAnimateOnMount&&(x=!1),r=!1,x?t(p):Promise.resolve()}function a(l,u,d){var f;if(n[l].isActive===u)return Promise.resolve();(f=e.variantChildren)===null||f===void 0||f.forEach(g=>{var m;return(m=g.animationState)===null||m===void 0?void 0:m.setActive(l,u)}),n[l].isActive=u;const p=s(d,l);for(const g in n)n[g].protectedKeys={};return p}return{animateChanges:s,setActive:a,setAnimateFunction:o,getState:()=>n}}function U6e(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!VV(t,e):!1}function Cu(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function z6e(){return{animate:Cu(!0),whileInView:Cu(),whileHover:Cu(),whileTap:Cu(),whileDrag:Cu(),whileFocus:Cu(),exit:Cu()}}class V6e extends uu{constructor(t){super(t),t.animationState||(t.animationState=B6e(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();this.unmount(),i2(t)&&(this.unmount=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){}}let j6e=0;class G6e extends uu{constructor(){super(...arguments),this.id=j6e++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n,custom:r}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;const o=this.node.animationState.setActive("exit",!t,{custom:r??this.node.getProps().custom});n&&!t&&o.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const H6e={animation:{Feature:V6e},exit:{Feature:G6e}},yI=(e,t)=>Math.abs(e-t);function W6e(e,t){const n=yI(e.x,t.x),r=yI(e.y,t.y);return Math.sqrt(n**2+r**2)}class Sj{constructor(t,n,{transformPagePoint:r}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const u=sC(this.lastMoveEventInfo,this.history),d=this.startEvent!==null,f=W6e(u.offset,{x:0,y:0})>=3;if(!d&&!f)return;const{point:p}=u,{timestamp:g}=zr;this.history.push({...p,timestamp:g});const{onStart:m,onMove:v}=this.handlers;d||(m&&m(this.lastMoveEvent,u),this.startEvent=this.lastMoveEvent),v&&v(this.lastMoveEvent,u)},this.handlePointerMove=(u,d)=>{this.lastMoveEvent=u,this.lastMoveEventInfo=oC(d,this.transformPagePoint),dn.update(this.updatePoint,!0)},this.handlePointerUp=(u,d)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:f,onSessionEnd:p}=this.handlers,g=sC(u.type==="pointercancel"?this.lastMoveEventInfo:oC(d,this.transformPagePoint),this.history);this.startEvent&&f&&f(u,g),p&&p(u,g)},!$V(t))return;this.handlers=n,this.transformPagePoint=r;const i=a2(t),o=oC(i,this.transformPagePoint),{point:s}=o,{timestamp:a}=zr;this.history=[{...s,timestamp:a}];const{onSessionStart:l}=n;l&&l(t,sC(o,this.history)),this.removeListeners=Nl(wa(window,"pointermove",this.handlePointerMove),wa(window,"pointerup",this.handlePointerUp),wa(window,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),Ia(this.updatePoint)}}function oC(e,t){return t?{point:t(e.point)}:e}function vI(e,t){return{x:e.x-t.x,y:e.y-t.y}}function sC({point:e},t){return{point:e,delta:vI(e,wj(t)),offset:vI(e,q6e(t)),velocity:K6e(t,.1)}}function q6e(e){return e[0]}function wj(e){return e[e.length-1]}function K6e(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=wj(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Ll(t)));)n--;if(!r)return{x:0,y:0};const o=xa(i.timestamp-r.timestamp);if(o===0)return{x:0,y:0};const s={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function Xi(e){return e.max-e.min}function N5(e,t=0,n=.01){return Math.abs(e-t)<=n}function _I(e,t,n,r=.5){e.origin=r,e.originPoint=vn(t.min,t.max,e.origin),e.scale=Xi(n)/Xi(t),(N5(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=vn(n.min,n.max,e.origin)-e.originPoint,(N5(e.translate)||isNaN(e.translate))&&(e.translate=0)}function Ip(e,t,n,r){_I(e.x,t.x,n.x,r?r.originX:void 0),_I(e.y,t.y,n.y,r?r.originY:void 0)}function bI(e,t,n){e.min=n.min+t.min,e.max=e.min+Xi(t)}function X6e(e,t,n){bI(e.x,t.x,n.x),bI(e.y,t.y,n.y)}function SI(e,t,n){e.min=t.min-n.min,e.max=e.min+Xi(t)}function Mp(e,t,n){SI(e.x,t.x,n.x),SI(e.y,t.y,n.y)}function Y6e(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?vn(n,e,r.max):Math.min(e,n)),e}function wI(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function Q6e(e,{top:t,left:n,bottom:r,right:i}){return{x:wI(e.x,n,i),y:wI(e.y,t,r)}}function xI(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=jg(t.min,t.max-r,e.min):r>i&&(n=jg(e.min,e.max-i,t.min)),Kl(0,1,n)}function eAe(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const L5=.35;function tAe(e=L5){return e===!1?e=0:e===!0&&(e=L5),{x:CI(e,"left","right"),y:CI(e,"top","bottom")}}function CI(e,t,n){return{min:TI(e,t),max:TI(e,n)}}function TI(e,t){return typeof e=="number"?e:e[t]||0}const EI=()=>({translate:0,scale:1,origin:0,originPoint:0}),Bd=()=>({x:EI(),y:EI()}),AI=()=>({min:0,max:0}),Bn=()=>({x:AI(),y:AI()});function ps(e){return[e("x"),e("y")]}function xj({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function nAe({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function rAe(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function aC(e){return e===void 0||e===1}function D5({scale:e,scaleX:t,scaleY:n}){return!aC(e)||!aC(t)||!aC(n)}function Ru(e){return D5(e)||Cj(e)||e.z||e.rotate||e.rotateX||e.rotateY}function Cj(e){return PI(e.x)||PI(e.y)}function PI(e){return e&&e!=="0%"}function g_(e,t,n){const r=e-n,i=t*r;return n+i}function RI(e,t,n,r,i){return i!==void 0&&(e=g_(e,i,r)),g_(e,n,r)+t}function $5(e,t=0,n=1,r,i){e.min=RI(e.min,t,n,r,i),e.max=RI(e.max,t,n,r,i)}function Tj(e,{x:t,y:n}){$5(e.x,t.translate,t.scale,t.originPoint),$5(e.y,n.translate,n.scale,n.originPoint)}function iAe(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let o,s;for(let a=0;a1.0000000000001||e<.999999999999?e:1}function fl(e,t){e.min=e.min+t,e.max=e.max+t}function kI(e,t,[n,r,i]){const o=t[i]!==void 0?t[i]:.5,s=vn(e.min,e.max,o);$5(e,t[n],t[r],s,t.scale)}const oAe=["x","scaleX","originX"],sAe=["y","scaleY","originY"];function Ud(e,t){kI(e.x,t,oAe),kI(e.y,t,sAe)}function Ej(e,t){return xj(rAe(e.getBoundingClientRect(),t))}function aAe(e,t,n){const r=Ej(e,n),{scroll:i}=t;return i&&(fl(r.x,i.offset.x),fl(r.y,i.offset.y)),r}const lAe=new WeakMap;class uAe{constructor(t){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Bn(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const i=l=>{this.stopAnimation(),n&&this.snapToCursor(a2(l,"page").point)},o=(l,u)=>{const{drag:d,dragPropagation:f,onDragStart:p}=this.getProps();if(d&&!f&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=BV(d),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),ps(m=>{let v=this.getAxisMotionValue(m).get()||0;if(Is.test(v)){const{projection:x}=this.visualElement;if(x&&x.layout){const _=x.layout.layoutBox[m];_&&(v=Xi(_)*(parseFloat(v)/100))}}this.originPoint[m]=v}),p&&dn.update(()=>p(l,u),!1,!0);const{animationState:g}=this.visualElement;g&&g.setActive("whileDrag",!0)},s=(l,u)=>{const{dragPropagation:d,dragDirectionLock:f,onDirectionLock:p,onDrag:g}=this.getProps();if(!d&&!this.openGlobalLock)return;const{offset:m}=u;if(f&&this.currentDirection===null){this.currentDirection=cAe(m),this.currentDirection!==null&&p&&p(this.currentDirection);return}this.updateAxis("x",u.point,m),this.updateAxis("y",u.point,m),this.visualElement.render(),g&&g(l,u)},a=(l,u)=>this.stop(l,u);this.panSession=new Sj(t,{onSessionStart:i,onStart:o,onMove:s,onSessionEnd:a},{transformPagePoint:this.visualElement.getTransformPagePoint()})}stop(t,n){const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:i}=n;this.startAnimation(i);const{onDragEnd:o}=this.getProps();o&&dn.update(()=>o(t,n))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!q0(t,i,this.currentDirection))return;const o=this.getAxisMotionValue(t);let s=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(s=Y6e(s,this.constraints[t],this.elastic[t])),o.set(s)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),{layout:r}=this.visualElement.projection||{},i=this.constraints;t&&$d(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=Q6e(r.layoutBox,t):this.constraints=!1,this.elastic=tAe(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&ps(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=eAe(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!$d(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=aAe(r,i.root,this.visualElement.getTransformPagePoint());let s=Z6e(i.layout.layoutBox,o);if(n){const a=n(nAe(s));this.hasMutatedConstraints=!!a,a&&(s=xj(a))}return s}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:o,dragSnapToOrigin:s,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},u=ps(d=>{if(!q0(d,n,this.currentDirection))return;let f=l&&l[d]||{};s&&(f={min:0,max:0});const p=i?200:1e6,g=i?40:1e7,m={type:"inertia",velocity:r?t[d]:0,bounceStiffness:p,bounceDamping:g,timeConstant:750,restDelta:1,restSpeed:10,...o,...f};return this.startAxisValueAnimation(d,m)});return Promise.all(u).then(a)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return r.start(u6(t,r,0,n))}stopAnimation(){ps(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const n="_drag"+t.toUpperCase(),r=this.visualElement.getProps(),i=r[n];return i||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){ps(n=>{const{drag:r}=this.getProps();if(!q0(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,o=this.getAxisMotionValue(n);if(i&&i.layout){const{min:s,max:a}=i.layout.layoutBox[n];o.set(t[n]-vn(s,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!$d(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};ps(s=>{const a=this.getAxisMotionValue(s);if(a){const l=a.get();i[s]=J6e({min:l,max:l},this.constraints[s])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),ps(s=>{if(!q0(s,t,null))return;const a=this.getAxisMotionValue(s),{min:l,max:u}=this.constraints[s];a.set(vn(l,u,i[s]))})}addListeners(){if(!this.visualElement.current)return;lAe.set(this.visualElement,this);const t=this.visualElement.current,n=wa(t,"pointerdown",l=>{const{drag:u,dragListener:d=!0}=this.getProps();u&&d&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();$d(l)&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,o=i.addEventListener("measure",r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),r();const s=ya(window,"resize",()=>this.scalePositionWithinConstraints()),a=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(ps(d=>{const f=this.getAxisMotionValue(d);f&&(this.originPoint[d]+=l[d].translate,f.set(f.get()+l[d].translate))}),this.visualElement.render())});return()=>{s(),n(),o(),a&&a()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:o=!1,dragElastic:s=L5,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:o,dragElastic:s,dragMomentum:a}}}function q0(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function cAe(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class dAe extends uu{constructor(t){super(t),this.removeGroupControls=Gn,this.removeListeners=Gn,this.controls=new uAe(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Gn}unmount(){this.removeGroupControls(),this.removeListeners()}}const II=e=>(t,n)=>{e&&dn.update(()=>e(t,n))};class fAe extends uu{constructor(){super(...arguments),this.removePointerDownListener=Gn}onPointerDown(t){this.session=new Sj(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:II(t),onStart:II(n),onMove:r,onEnd:(o,s)=>{delete this.session,i&&dn.update(()=>i(o,s))}}}mount(){this.removePointerDownListener=wa(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}function hAe(){const e=L.useContext(Lm);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,i=L.useId();return L.useEffect(()=>r(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}function TMe(){return pAe(L.useContext(Lm))}function pAe(e){return e===null?!0:e.isPresent}const kv={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function MI(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const op={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(Be.test(e))e=parseFloat(e);else return e;const n=MI(e,t.target.x),r=MI(e,t.target.y);return`${n}% ${r}%`}},gAe={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=Xl.parse(e);if(i.length>5)return r;const o=Xl.createTransformer(e),s=typeof i[0]!="number"?1:0,a=n.x.scale*t.x,l=n.y.scale*t.y;i[0+s]/=a,i[1+s]/=l;const u=vn(a,l,.5);return typeof i[2+s]=="number"&&(i[2+s]/=u),typeof i[3+s]=="number"&&(i[3+s]/=u),o(i)}};class mAe extends Lt.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:o}=t;xTe(yAe),o&&(n.group&&n.group.add(o),r&&r.register&&i&&r.register(o),o.root.didUpdate(),o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),kv.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:o}=this.props,s=r.projection;return s&&(s.isPresent=o,i||t.layoutDependency!==n||n===void 0?s.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?s.promote():s.relegate()||dn.postRender(()=>{const a=s.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),queueMicrotask(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:i}=t;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),r&&r.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function Aj(e){const[t,n]=hAe(),r=L.useContext(XE);return Lt.createElement(mAe,{...e,layoutGroup:r,switchLayoutGroup:L.useContext(wV),isPresent:t,safeToRemove:n})}const yAe={borderRadius:{...op,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:op,borderTopRightRadius:op,borderBottomLeftRadius:op,borderBottomRightRadius:op,boxShadow:gAe},Pj=["TopLeft","TopRight","BottomLeft","BottomRight"],vAe=Pj.length,NI=e=>typeof e=="string"?parseFloat(e):e,LI=e=>typeof e=="number"||Be.test(e);function _Ae(e,t,n,r,i,o){i?(e.opacity=vn(0,n.opacity!==void 0?n.opacity:1,bAe(r)),e.opacityExit=vn(t.opacity!==void 0?t.opacity:1,0,SAe(r))):o&&(e.opacity=vn(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,r));for(let s=0;srt?1:n(jg(e,t,r))}function $I(e,t){e.min=t.min,e.max=t.max}function fo(e,t){$I(e.x,t.x),$I(e.y,t.y)}function FI(e,t,n,r,i){return e-=t,e=g_(e,1/n,r),i!==void 0&&(e=g_(e,1/i,r)),e}function wAe(e,t=0,n=1,r=.5,i,o=e,s=e){if(Is.test(t)&&(t=parseFloat(t),t=vn(s.min,s.max,t/100)-s.min),typeof t!="number")return;let a=vn(o.min,o.max,r);e===o&&(a-=t),e.min=FI(e.min,t,n,a,i),e.max=FI(e.max,t,n,a,i)}function BI(e,t,[n,r,i],o,s){wAe(e,t[n],t[r],t[i],t.scale,o,s)}const xAe=["x","scaleX","originX"],CAe=["y","scaleY","originY"];function UI(e,t,n,r){BI(e.x,t,xAe,n?n.x:void 0,r?r.x:void 0),BI(e.y,t,CAe,n?n.y:void 0,r?r.y:void 0)}function zI(e){return e.translate===0&&e.scale===1}function Oj(e){return zI(e.x)&&zI(e.y)}function F5(e,t){return e.x.min===t.x.min&&e.x.max===t.x.max&&e.y.min===t.y.min&&e.y.max===t.y.max}function VI(e){return Xi(e.x)/Xi(e.y)}class TAe{constructor(){this.members=[]}add(t){c6(this.members,t),t.scheduleRender()}remove(t){if(d6(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(i=>t===i);if(n===0)return!1;let r;for(let i=n;i>=0;i--){const o=this.members[i];if(o.isPresent!==!1){r=o;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender(),t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function jI(e,t,n){let r="";const i=e.x.translate/t.x,o=e.y.translate/t.y;if((i||o)&&(r=`translate3d(${i}px, ${o}px, 0) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{rotate:l,rotateX:u,rotateY:d}=n;l&&(r+=`rotate(${l}deg) `),u&&(r+=`rotateX(${u}deg) `),d&&(r+=`rotateY(${d}deg) `)}const s=e.x.scale*t.x,a=e.y.scale*t.y;return(s!==1||a!==1)&&(r+=`scale(${s}, ${a})`),r||"none"}const EAe=(e,t)=>e.depth-t.depth;class AAe{constructor(){this.children=[],this.isDirty=!1}add(t){c6(this.children,t),this.isDirty=!0}remove(t){d6(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(EAe),this.isDirty=!1,this.children.forEach(t)}}function PAe(e,t){const n=performance.now(),r=({timestamp:i})=>{const o=i-n;o>=t&&(Ia(r),e(o-t))};return dn.read(r,!0),()=>Ia(r)}function RAe(e){window.MotionDebug&&window.MotionDebug.record(e)}function OAe(e){return e instanceof SVGElement&&e.tagName!=="svg"}function kAe(e,t,n){const r=ki(e)?e:Mf(e);return r.start(u6("",r,t,n)),r.animation}const GI=["","X","Y","Z"],HI=1e3;let IAe=0;const Ou={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function kj({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(s={},a=t==null?void 0:t()){this.id=IAe++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{Ou.totalNodes=Ou.resolvedTargetDeltas=Ou.recalculatedProjection=0,this.nodes.forEach(LAe),this.nodes.forEach(UAe),this.nodes.forEach(zAe),this.nodes.forEach(DAe),RAe(Ou)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=s,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;lthis.root.updateBlockedByResize=!1;e(s,()=>{this.root.updateBlockedByResize=!0,f&&f(),f=PAe(p,250),kv.hasAnimatedSinceResize&&(kv.hasAnimatedSinceResize=!1,this.nodes.forEach(qI))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&d&&(l||u)&&this.addEventListener("didUpdate",({delta:f,hasLayoutChanged:p,hasRelativeTargetChanged:g,layout:m})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const v=this.options.transition||d.getDefaultTransition()||WAe,{onLayoutAnimationStart:x,onLayoutAnimationComplete:_}=d.getProps(),b=!this.targetLayout||!F5(this.targetLayout,m)||g,y=!p&&g;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||y||p&&(b||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(f,y);const S={...yj(v,"layout"),onPlay:x,onComplete:_};(d.shouldReduceMotion||this.options.layoutRoot)&&(S.delay=0,S.type=!1),this.startAnimation(S)}else p||qI(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=m})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const s=this.getStack();s&&s.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,Ia(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(VAe),this.animationId++)}getTransformTemplate(){const{visualElement:s}=this.options;return s&&s.getProps().transformTemplate}willUpdate(s=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let d=0;dthis.update()))}clearAllSnapshots(){this.nodes.forEach($Ae),this.sharedNodes.forEach(jAe)}scheduleUpdateProjection(){dn.preRender(this.updateProjection,!1,!0)}scheduleCheckAfterUnmount(){dn.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l{const C=S/1e3;KI(f.x,s.x,C),KI(f.y,s.y,C),this.setTargetDelta(f),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Mp(p,this.layout.layoutBox,this.relativeParent.layout.layoutBox),GAe(this.relativeTarget,this.relativeTargetOrigin,p,C),y&&F5(this.relativeTarget,y)&&(this.isProjectionDirty=!1),y||(y=Bn()),fo(y,this.relativeTarget)),v&&(this.animationValues=d,_Ae(d,u,this.latestValues,C,b,_)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=C},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(s){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(Ia(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=dn.update(()=>{kv.hasAnimatedSinceResize=!0,this.currentAnimation=kAe(0,HI,{...s,onUpdate:a=>{this.mixTargetDelta(a),s.onUpdate&&s.onUpdate(a)},onComplete:()=>{s.onComplete&&s.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const s=this.getStack();s&&s.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(HI),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const s=this.getLead();let{targetWithTransforms:a,target:l,layout:u,latestValues:d}=s;if(!(!a||!l||!u)){if(this!==s&&this.layout&&u&&Ij(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||Bn();const f=Xi(this.layout.layoutBox.x);l.x.min=s.target.x.min,l.x.max=l.x.min+f;const p=Xi(this.layout.layoutBox.y);l.y.min=s.target.y.min,l.y.max=l.y.min+p}fo(a,l),Ud(a,d),Ip(this.projectionDeltaWithTransform,this.layoutCorrected,a,d)}}registerSharedNode(s,a){this.sharedNodes.has(s)||this.sharedNodes.set(s,new TAe),this.sharedNodes.get(s).add(a);const u=a.options.initialPromotionConfig;a.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(a):void 0})}isLead(){const s=this.getStack();return s?s.lead===this:!0}getLead(){var s;const{layoutId:a}=this.options;return a?((s=this.getStack())===null||s===void 0?void 0:s.lead)||this:this}getPrevLead(){var s;const{layoutId:a}=this.options;return a?(s=this.getStack())===null||s===void 0?void 0:s.prevLead:void 0}getStack(){const{layoutId:s}=this.options;if(s)return this.root.sharedNodes.get(s)}promote({needsReset:s,transition:a,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),s&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const s=this.getStack();return s?s.relegate(this):!1}resetRotation(){const{visualElement:s}=this.options;if(!s)return;let a=!1;const{latestValues:l}=s;if((l.rotate||l.rotateX||l.rotateY||l.rotateZ)&&(a=!0),!a)return;const u={};for(let d=0;d{var a;return(a=s.currentAnimation)===null||a===void 0?void 0:a.stop()}),this.root.nodes.forEach(WI),this.root.sharedNodes.clear()}}}function MAe(e){e.updateLayout()}function NAe(e){var t;const n=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:i}=e.layout,{animationType:o}=e.options,s=n.source!==e.layout.source;o==="size"?ps(f=>{const p=s?n.measuredBox[f]:n.layoutBox[f],g=Xi(p);p.min=r[f].min,p.max=p.min+g}):Ij(o,n.layoutBox,r)&&ps(f=>{const p=s?n.measuredBox[f]:n.layoutBox[f],g=Xi(r[f]);p.max=p.min+g,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[f].max=e.relativeTarget[f].min+g)});const a=Bd();Ip(a,r,n.layoutBox);const l=Bd();s?Ip(l,e.applyTransform(i,!0),n.measuredBox):Ip(l,r,n.layoutBox);const u=!Oj(a);let d=!1;if(!e.resumeFrom){const f=e.getClosestProjectingParent();if(f&&!f.resumeFrom){const{snapshot:p,layout:g}=f;if(p&&g){const m=Bn();Mp(m,n.layoutBox,p.layoutBox);const v=Bn();Mp(v,r,g.layoutBox),F5(m,v)||(d=!0),f.options.layoutRoot&&(e.relativeTarget=v,e.relativeTargetOrigin=m,e.relativeParent=f)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:l,layoutDelta:a,hasLayoutChanged:u,hasRelativeTargetChanged:d})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function LAe(e){Ou.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function DAe(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function $Ae(e){e.clearSnapshot()}function WI(e){e.clearMeasurements()}function FAe(e){e.isLayoutDirty=!1}function BAe(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function qI(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function UAe(e){e.resolveTargetDelta()}function zAe(e){e.calcProjection()}function VAe(e){e.resetRotation()}function jAe(e){e.removeLeadSnapshot()}function KI(e,t,n){e.translate=vn(t.translate,0,n),e.scale=vn(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function XI(e,t,n,r){e.min=vn(t.min,n.min,r),e.max=vn(t.max,n.max,r)}function GAe(e,t,n,r){XI(e.x,t.x,n.x,r),XI(e.y,t.y,n.y,r)}function HAe(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const WAe={duration:.45,ease:[.4,0,.1,1]};function YI(e){e.min=Math.round(e.min*2)/2,e.max=Math.round(e.max*2)/2}function qAe(e){YI(e.x),YI(e.y)}function Ij(e,t,n){return e==="position"||e==="preserve-aspect"&&!N5(VI(t),VI(n),.2)}const KAe=kj({attachResizeListener:(e,t)=>ya(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),lC={current:void 0},Mj=kj({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!lC.current){const e=new KAe({});e.mount(window),e.setOptions({layoutScroll:!0}),lC.current=e}return lC.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),XAe={pan:{Feature:fAe},drag:{Feature:dAe,ProjectionNode:Mj,MeasureLayout:Aj}},YAe=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function QAe(e){const t=YAe.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]}function B5(e,t,n=1){const[r,i]=QAe(e);if(!r)return;const o=window.getComputedStyle(t).getPropertyValue(r);return o?o.trim():A5(i)?B5(i,t,n+1):i}function ZAe(e,{...t},n){const r=e.current;if(!(r instanceof Element))return{target:t,transitionEnd:n};n&&(n={...n}),e.values.forEach(i=>{const o=i.get();if(!A5(o))return;const s=B5(o,r);s&&i.set(s)});for(const i in t){const o=t[i];if(!A5(o))continue;const s=B5(o,r);s&&(t[i]=s,n||(n={}),n[i]===void 0&&(n[i]=o))}return{target:t,transitionEnd:n}}const JAe=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),Nj=e=>JAe.has(e),ePe=e=>Object.keys(e).some(Nj),QI=e=>e===Oc||e===Be,ZI=(e,t)=>parseFloat(e.split(", ")[t]),JI=(e,t)=>(n,{transform:r})=>{if(r==="none"||!r)return 0;const i=r.match(/^matrix3d\((.+)\)$/);if(i)return ZI(i[1],t);{const o=r.match(/^matrix\((.+)\)$/);return o?ZI(o[1],e):0}},tPe=new Set(["x","y","z"]),nPe=Dm.filter(e=>!tPe.has(e));function rPe(e){const t=[];return nPe.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t.length&&e.render(),t}const Nf={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:JI(4,13),y:JI(5,14)};Nf.translateX=Nf.x;Nf.translateY=Nf.y;const iPe=(e,t,n)=>{const r=t.measureViewportBox(),i=t.current,o=getComputedStyle(i),{display:s}=o,a={};s==="none"&&t.setStaticValue("display",e.display||"block"),n.forEach(u=>{a[u]=Nf[u](r,o)}),t.render();const l=t.measureViewportBox();return n.forEach(u=>{const d=t.getValue(u);d&&d.jump(a[u]),e[u]=Nf[u](l,o)}),e},oPe=(e,t,n={},r={})=>{t={...t},r={...r};const i=Object.keys(t).filter(Nj);let o=[],s=!1;const a=[];if(i.forEach(l=>{const u=e.getValue(l);if(!e.hasValue(l))return;let d=n[l],f=ip(d);const p=t[l];let g;if(c_(p)){const m=p.length,v=p[0]===null?1:0;d=p[v],f=ip(d);for(let x=v;x=0?window.pageYOffset:null,u=iPe(t,e,a);return o.length&&o.forEach(([d,f])=>{e.getValue(d).set(f)}),e.render(),r2&&l!==null&&window.scrollTo({top:l}),{target:u,transitionEnd:r}}else return{target:t,transitionEnd:r}};function sPe(e,t,n,r){return ePe(t)?oPe(e,t,n,r):{target:t,transitionEnd:r}}const aPe=(e,t,n,r)=>{const i=ZAe(e,t,r);return t=i.target,r=i.transitionEnd,sPe(e,t,n,r)},U5={current:null},Lj={current:!1};function lPe(){if(Lj.current=!0,!!r2)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>U5.current=e.matches;e.addListener(t),t()}else U5.current=!1}function uPe(e,t,n){const{willChange:r}=t;for(const i in t){const o=t[i],s=n[i];if(ki(o))e.addValue(i,o),p_(r)&&r.add(i);else if(ki(s))e.addValue(i,Mf(o,{owner:e})),p_(r)&&r.remove(i);else if(s!==o)if(e.hasValue(i)){const a=e.getValue(i);!a.hasAnimated&&a.set(o)}else{const a=e.getStaticValue(i);e.addValue(i,Mf(a!==void 0?a:o,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const e7=new WeakMap,Dj=Object.keys(Vg),cPe=Dj.length,t7=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],dPe=KE.length;class fPe{constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,visualState:o},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>dn.render(this.render,!1,!0);const{latestValues:a,renderState:l}=o;this.latestValues=a,this.baseTarget={...a},this.initialValues=n.initial?{...a}:{},this.renderState=l,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=s,this.isControllingVariants=o2(n),this.isVariantNode=SV(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:u,...d}=this.scrapeMotionValuesFromProps(n,{});for(const f in d){const p=d[f];a[f]!==void 0&&ki(p)&&(p.set(a[f],!1),p_(u)&&u.add(f))}}scrapeMotionValuesFromProps(t,n){return{}}mount(t){this.current=t,e7.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,r)=>this.bindToMotionValue(r,n)),Lj.current||lPe(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:U5.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){e7.delete(this.current),this.projection&&this.projection.unmount(),Ia(this.notifyUpdate),Ia(this.render),this.valueSubscriptions.forEach(t=>t()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features)this.features[t].unmount();this.current=null}bindToMotionValue(t,n){const r=Rc.has(t),i=n.on("change",s=>{this.latestValues[t]=s,this.props.onUpdate&&dn.update(this.notifyUpdate,!1,!0),r&&this.projection&&(this.projection.isTransformDirty=!0)}),o=n.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(t,()=>{i(),o()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}loadFeatures({children:t,...n},r,i,o){let s,a;for(let l=0;lthis.scheduleRender(),animationType:typeof u=="string"?u:"both",initialPromotionConfig:o,layoutScroll:p,layoutRoot:g})}return a}updateFeatures(){for(const t in this.features){const n=this.features[t];n.isMounted?n.update():(n.mount(),n.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Bn()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}makeTargetAnimatable(t,n=!0){return this.makeTargetAnimatableFromInstance(t,this.props,n)}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let r=0;rn.variantChildren.delete(t)}addValue(t,n){n!==this.values.get(t)&&(this.removeValue(t),this.bindToMotionValue(t,n)),this.values.set(t,n),this.latestValues[t]=n.get()}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let r=this.values.get(t);return r===void 0&&n!==void 0&&(r=Mf(n,{owner:this}),this.addValue(t,r)),r}readValue(t){var n;return this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(n=this.getBaseTargetFromProps(this.props,t))!==null&&n!==void 0?n:this.readValueFromInstance(this.current,t,this.options)}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:r}=this.props,i=typeof r=="string"||typeof r=="object"?(n=r6(this.props,r))===null||n===void 0?void 0:n[t]:void 0;if(r&&i!==void 0)return i;const o=this.getBaseTargetFromProps(this.props,t);return o!==void 0&&!ki(o)?o:this.initialValues[t]!==void 0&&i===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new f6),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class $j extends fPe{sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:r}){delete n[t],delete r[t]}makeTargetAnimatableFromInstance({transition:t,transitionEnd:n,...r},{transformValues:i},o){let s=k6e(r,t||{},this);if(i&&(n&&(n=i(n)),r&&(r=i(r)),s&&(s=i(s))),o){R6e(this,r,s);const a=aPe(this,r,s,n);n=a.transitionEnd,r=a.target}return{transition:t,transitionEnd:n,...r}}}function hPe(e){return window.getComputedStyle(e)}class pPe extends $j{readValueFromInstance(t,n){if(Rc.has(n)){const r=l6(n);return r&&r.default||0}else{const r=hPe(t),i=(TV(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return Ej(t,n)}build(t,n,r,i){QE(t,n,r,i.transformTemplate)}scrapeMotionValuesFromProps(t,n){return n6(t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;ki(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(t,n,r,i){kV(t,n,r,i)}}class gPe extends $j{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(Rc.has(n)){const r=l6(n);return r&&r.default||0}return n=IV.has(n)?n:t6(n),t.getAttribute(n)}measureInstanceViewportBox(){return Bn()}scrapeMotionValuesFromProps(t,n){return NV(t,n)}build(t,n,r,i){JE(t,n,r,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,r,i){MV(t,n,r,i)}mount(t){this.isSVGTag=e6(t.tagName),super.mount(t)}}const mPe=(e,t)=>YE(e)?new gPe(t,{enableHardwareAcceleration:!1}):new pPe(t,{enableHardwareAcceleration:!0}),yPe={layout:{ProjectionNode:Mj,MeasureLayout:Aj}},vPe={...H6e,...fEe,...XAe,...yPe},_Pe=STe((e,t)=>YTe(e,t,vPe,mPe));function Fj(){const e=L.useRef(!1);return a_(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function bPe(){const e=Fj(),[t,n]=L.useState(0),r=L.useCallback(()=>{e.current&&n(t+1)},[t]);return[L.useCallback(()=>dn.postRender(r),[r]),t]}class SPe extends L.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function wPe({children:e,isPresent:t}){const n=L.useId(),r=L.useRef(null),i=L.useRef({width:0,height:0,top:0,left:0});return L.useInsertionEffect(()=>{const{width:o,height:s,top:a,left:l}=i.current;if(t||!r.current||!o||!s)return;r.current.dataset.motionPopId=n;const u=document.createElement("style");return document.head.appendChild(u),u.sheet&&u.sheet.insertRule(` + `;Object.keys(f).length>0?g("%c ".concat(p," %c").concat(d?" [".concat(String(d),"]:"):"","%c ").concat(a.message," %O"),v,x,_,f):g("%c ".concat(p," %c").concat(d?" [".concat(String(d),"]:"):"","%c ").concat(a.message),v,x,_)}}};Nb.createLogWriter=zve;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createLogWriter=void 0;var t=Nb;Object.defineProperty(e,"createLogWriter",{enumerable:!0,get:function(){return t.createLogWriter}})})(VB);Cm.ROARR.write=VB.createLogWriter();const pU={};Cm.Roarr.child(pU);const Jb=gm(Cm.Roarr.child(pU)),Ie=e=>Jb.get().child({namespace:e}),$Ie=["trace","debug","info","warn","error","fatal"],FIe={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function Vve(){const e=[];return function(t,n){if(typeof n!="object"||n===null)return n;for(;e.length>0&&e.at(-1)!==this;)e.pop();return e.includes(n)?"[Circular]":(e.push(n),n)}}const Ig=Ul("nodes/receivedOpenAPISchema",async(e,{dispatch:t,rejectWithValue:n})=>{const r=Ie("system");try{const o=await(await fetch("openapi.json")).json();return r.info({openAPISchema:o},"Received OpenAPI schema"),JSON.parse(JSON.stringify(o,Vve()))}catch(i){return n({error:i})}}),gU={nodes:[],edges:[],schema:null,invocationTemplates:{},connectionStartParams:null,shouldShowGraphOverlay:!1,shouldShowFieldTypeLegend:!1,shouldShowMinimapPanel:!0,editorInstance:void 0,progressNodeSize:{width:512,height:512}},mU=yn({name:"nodes",initialState:gU,reducers:{nodesChanged:(e,t)=>{e.nodes=IB(t.payload,e.nodes)},nodeAdded:(e,t)=>{e.nodes.push(t.payload)},edgesChanged:(e,t)=>{e.edges=Jme(t.payload,e.edges)},connectionStarted:(e,t)=>{e.connectionStartParams=t.payload},connectionMade:(e,t)=>{e.edges=oB(t.payload,e.edges)},connectionEnded:e=>{e.connectionStartParams=null},fieldValueChanged:(e,t)=>{var a,l,u;const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(d=>d.id===n),s=(u=(l=(a=e.nodes)==null?void 0:a[o])==null?void 0:l.data)==null?void 0:u.inputs[r];s&&o>-1&&(s.value=i)},imageCollectionFieldValueChanged:(e,t)=>{var l,u,d;const{nodeId:n,fieldName:r,value:i}=t.payload,o=e.nodes.findIndex(f=>f.id===n);if(o===-1)return;const s=(d=(u=(l=e.nodes)==null?void 0:l[o])==null?void 0:u.data)==null?void 0:d.inputs[r];if(!s)return;const a=Ur(s.value);if(!a){s.value=i;return}s.value=rle(a.concat(i),"image_name")},shouldShowGraphOverlayChanged:(e,t)=>{e.shouldShowGraphOverlay=t.payload},shouldShowFieldTypeLegendChanged:(e,t)=>{e.shouldShowFieldTypeLegend=t.payload},shouldShowMinimapPanelChanged:(e,t)=>{e.shouldShowMinimapPanel=t.payload},nodeTemplatesBuilt:(e,t)=>{e.invocationTemplates=t.payload},nodeEditorReset:e=>{e.nodes=[],e.edges=[]},setEditorInstance:(e,t)=>{e.editorInstance=t.payload},loadFileNodes:(e,t)=>{e.nodes=t.payload},loadFileEdges:(e,t)=>{e.edges=t.payload},setProgressNodeSize:(e,t)=>{e.progressNodeSize=t.payload}},extraReducers:e=>{e.addCase(Ig.fulfilled,(t,n)=>{t.schema=n.payload})}}),{nodesChanged:BIe,edgesChanged:UIe,nodeAdded:zIe,fieldValueChanged:yU,connectionMade:VIe,connectionStarted:jIe,connectionEnded:GIe,shouldShowGraphOverlayChanged:HIe,shouldShowFieldTypeLegendChanged:WIe,shouldShowMinimapPanelChanged:qIe,nodeTemplatesBuilt:sE,nodeEditorReset:aE,imageCollectionFieldValueChanged:KIe,setEditorInstance:XIe,loadFileNodes:YIe,loadFileEdges:QIe,setProgressNodeSize:ZIe}=mU.actions,jve=mU.reducer,vU={esrganModelName:"RealESRGAN_x4plus.pth"},_U=yn({name:"postprocessing",initialState:vU,reducers:{esrganModelNameChanged:(e,t)=>{e.esrganModelName=t.payload}}}),{esrganModelNameChanged:JIe}=_U.actions,Gve=_U.reducer,Hve={positiveStylePrompt:"",negativeStylePrompt:"",shouldConcatSDXLStylePrompt:!0,shouldUseSDXLRefiner:!1,sdxlImg2ImgDenoisingStrength:.7,refinerModel:null,refinerSteps:20,refinerCFGScale:7.5,refinerScheduler:"euler",refinerAestheticScore:6,refinerStart:.7},bU=yn({name:"sdxl",initialState:Hve,reducers:{setPositiveStylePromptSDXL:(e,t)=>{e.positiveStylePrompt=t.payload},setNegativeStylePromptSDXL:(e,t)=>{e.negativeStylePrompt=t.payload},setShouldConcatSDXLStylePrompt:(e,t)=>{e.shouldConcatSDXLStylePrompt=t.payload},setShouldUseSDXLRefiner:(e,t)=>{e.shouldUseSDXLRefiner=t.payload},setSDXLImg2ImgDenoisingStrength:(e,t)=>{e.sdxlImg2ImgDenoisingStrength=t.payload},refinerModelChanged:(e,t)=>{e.refinerModel=t.payload},setRefinerSteps:(e,t)=>{e.refinerSteps=t.payload},setRefinerCFGScale:(e,t)=>{e.refinerCFGScale=t.payload},setRefinerScheduler:(e,t)=>{e.refinerScheduler=t.payload},setRefinerAestheticScore:(e,t)=>{e.refinerAestheticScore=t.payload},setRefinerStart:(e,t)=>{e.refinerStart=t.payload}}}),{setPositiveStylePromptSDXL:e7e,setNegativeStylePromptSDXL:t7e,setShouldConcatSDXLStylePrompt:n7e,setShouldUseSDXLRefiner:Wve,setSDXLImg2ImgDenoisingStrength:r7e,refinerModelChanged:pO,setRefinerSteps:i7e,setRefinerCFGScale:o7e,setRefinerScheduler:s7e,setRefinerAestheticScore:a7e,setRefinerStart:l7e}=bU.actions,qve=bU.reducer,Em=Re("app/userInvoked"),Kve={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class H1{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||Kve,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]=this.observers[r]||[],this.observers[r].push(n)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t]=this.observers[t].filter(r=>r!==n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{s(...r)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(s=>{s.apply(s,[t,...r])})}}function Xh(){let e,t;const n=new Promise((r,i)=>{e=r,t=i});return n.resolve=e,n.reject=t,n}function gO(e){return e==null?"":""+e}function Xve(e,t,n){e.forEach(r=>{t[r]&&(n[r]=t[r])})}function lE(e,t,n){function r(s){return s&&s.indexOf("###")>-1?s.replace(/###/g,"."):s}function i(){return!e||typeof e=="string"}const o=typeof t!="string"?[].concat(t):t.split(".");for(;o.length>1;){if(i())return{};const s=r(o.shift());!e[s]&&n&&(e[s]=new n),Object.prototype.hasOwnProperty.call(e,s)?e=e[s]:e={}}return i()?{}:{obj:e,k:r(o.shift())}}function mO(e,t,n){const{obj:r,k:i}=lE(e,t,Object);r[i]=n}function Yve(e,t,n,r){const{obj:i,k:o}=lE(e,t,Object);i[o]=i[o]||[],r&&(i[o]=i[o].concat(n)),r||i[o].push(n)}function W1(e,t){const{obj:n,k:r}=lE(e,t);if(n)return n[r]}function Qve(e,t,n){const r=W1(e,n);return r!==void 0?r:W1(t,n)}function SU(e,t,n){for(const r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?typeof e[r]=="string"||e[r]instanceof String||typeof t[r]=="string"||t[r]instanceof String?n&&(e[r]=t[r]):SU(e[r],t[r],n):e[r]=t[r]);return e}function ld(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var Zve={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function Jve(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,t=>Zve[t]):e}const e1e=[" ",",","?","!",";"];function t1e(e,t,n){t=t||"",n=n||"";const r=e1e.filter(s=>t.indexOf(s)<0&&n.indexOf(s)<0);if(r.length===0)return!0;const i=new RegExp(`(${r.map(s=>s==="?"?"\\?":s).join("|")})`);let o=!i.test(e);if(!o){const s=e.indexOf(n);s>0&&!i.test(e.substring(0,s))&&(o=!0)}return o}function q1(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let i=e;for(let o=0;oo+s;)s++,a=r.slice(o,o+s).join(n),l=i[a];if(l===void 0)return;if(l===null)return null;if(t.endsWith(a)){if(typeof l=="string")return l;if(a&&typeof l[a]=="string")return l[a]}const u=r.slice(o+s).join(n);return u?q1(l,u,n):void 0}i=i[r[o]]}return i}function K1(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class yO extends eS{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const o=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,s=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let a=[t,n];r&&typeof r!="string"&&(a=a.concat(r)),r&&typeof r=="string"&&(a=a.concat(o?r.split(o):r)),t.indexOf(".")>-1&&(a=t.split("."));const l=W1(this.data,a);return l||!s||typeof r!="string"?l:q1(this.data&&this.data[t]&&this.data[t][n],r,o)}addResource(t,n,r,i){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator;let a=[t,n];r&&(a=a.concat(s?r.split(s):r)),t.indexOf(".")>-1&&(a=t.split("."),i=n,n=a[1]),this.addNamespaces(n),mO(this.data,a,i),o.silent||this.emit("added",t,n,r,i)}addResources(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const o in r)(typeof r[o]=="string"||Object.prototype.toString.apply(r[o])==="[object Array]")&&this.addResource(t,n,o,r[o],{silent:!0});i.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},a=[t,n];t.indexOf(".")>-1&&(a=t.split("."),i=r,r=n,n=a[1]),this.addNamespaces(n);let l=W1(this.data,a)||{};i?SU(l,r,o):l={...l,...r},mO(this.data,a,l),s.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,n)}:this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var wU={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(o=>{this.processors[o]&&(t=this.processors[o].process(t,n,r,i))}),t}};const vO={};class X1 extends eS{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Xve(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=Cs.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const r=this.resolve(t,n);return r&&r.res!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let o=n.ns||this.options.defaultNS||[];const s=r&&t.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!t1e(t,r,i);if(s&&!a){const l=t.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:t,namespaces:o};const u=t.split(r);(r!==i||r===i&&this.options.ns.indexOf(u[0])>-1)&&(o=u.shift()),t=u.join(i)}return typeof o=="string"&&(o=[o]),{key:t,namespaces:o}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:s,namespaces:a}=this.extractFromKey(t[t.length-1],n),l=a[a.length-1],u=n.lng||this.language,d=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(d){const S=n.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${S}${s}`,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:`${l}${S}${s}`}return i?{res:s,usedKey:s,exactUsedKey:s,usedLng:u,usedNS:l}:s}const f=this.resolve(t,n);let p=f&&f.res;const g=f&&f.usedKey||s,m=f&&f.exactUsedKey||s,v=Object.prototype.toString.apply(p),x=["[object Number]","[object Function]","[object RegExp]"],_=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,b=!this.i18nFormat||this.i18nFormat.handleAsObject;if(b&&p&&(typeof p!="string"&&typeof p!="boolean"&&typeof p!="number")&&x.indexOf(v)<0&&!(typeof _=="string"&&v==="[object Array]")){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const S=this.options.returnedObjectHandler?this.options.returnedObjectHandler(g,p,{...n,ns:a}):`key '${s} (${this.language})' returned an object instead of string.`;return i?(f.res=S,f):S}if(o){const S=v==="[object Array]",C=S?[]:{},T=S?m:g;for(const E in p)if(Object.prototype.hasOwnProperty.call(p,E)){const P=`${T}${o}${E}`;C[E]=this.translate(P,{...n,joinArrays:!1,ns:a}),C[E]===P&&(C[E]=p[E])}p=C}}else if(b&&typeof _=="string"&&v==="[object Array]")p=p.join(_),p&&(p=this.extendTranslation(p,t,n,r));else{let S=!1,C=!1;const T=n.count!==void 0&&typeof n.count!="string",E=X1.hasDefaultValue(n),P=T?this.pluralResolver.getSuffix(u,n.count,n):"",k=n.ordinal&&T?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",O=n[`defaultValue${P}`]||n[`defaultValue${k}`]||n.defaultValue;!this.isValidLookup(p)&&E&&(S=!0,p=O),this.isValidLookup(p)||(C=!0,p=s);const G=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&C?void 0:p,U=E&&O!==p&&this.options.updateMissing;if(C||S||U){if(this.logger.log(U?"updateKey":"missingKey",u,l,s,U?O:p),o){const B=this.resolve(s,{...n,keySeparator:!1});B&&B.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let A=[];const N=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&N&&N[0])for(let B=0;B{const j=E&&V!==p?V:G;this.options.missingKeyHandler?this.options.missingKeyHandler(B,l,D,j,U,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(B,l,D,j,U,n),this.emit("missingKey",B,l,D,p)};this.options.saveMissing&&(this.options.saveMissingPlurals&&T?A.forEach(B=>{this.pluralResolver.getSuffixes(B,n).forEach(D=>{F([B],s+D,n[`defaultValue${D}`]||O)})}):F(A,s,O))}p=this.extendTranslation(p,t,n,f,r),C&&p===s&&this.options.appendNamespaceToMissingKey&&(p=`${l}:${s}`),(C||S)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?p=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${s}`:s,S?p:void 0):p=this.options.parseMissingKeyHandler(p))}return i?(f.res=p,f):p}extendTranslation(t,n,r,i,o){var s=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const u=typeof t=="string"&&(r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let d;if(u){const p=t.match(this.interpolator.nestingRegexp);d=p&&p.length}let f=r.replace&&typeof r.replace!="string"?r.replace:r;if(this.options.interpolation.defaultVariables&&(f={...this.options.interpolation.defaultVariables,...f}),t=this.interpolator.interpolate(t,f,r.lng||this.language,r),u){const p=t.match(this.interpolator.nestingRegexp),g=p&&p.length;d1&&arguments[1]!==void 0?arguments[1]:{},r,i,o,s,a;return typeof t=="string"&&(t=[t]),t.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),d=u.key;i=d;let f=u.namespaces;this.options.fallbackNS&&(f=f.concat(this.options.fallbackNS));const p=n.count!==void 0&&typeof n.count!="string",g=p&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),m=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",v=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);f.forEach(x=>{this.isValidLookup(r)||(a=x,!vO[`${v[0]}-${x}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(vO[`${v[0]}-${x}`]=!0,this.logger.warn(`key "${i}" for languages "${v.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),v.forEach(_=>{if(this.isValidLookup(r))return;s=_;const b=[d];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(b,d,_,x,n);else{let S;p&&(S=this.pluralResolver.getSuffix(_,n.count,n));const C=`${this.options.pluralSeparator}zero`,T=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(p&&(b.push(d+S),n.ordinal&&S.indexOf(T)===0&&b.push(d+S.replace(T,this.options.pluralSeparator)),g&&b.push(d+C)),m){const E=`${d}${this.options.contextSeparator}${n.context}`;b.push(E),p&&(b.push(E+S),n.ordinal&&S.indexOf(T)===0&&b.push(E+S.replace(T,this.options.pluralSeparator)),g&&b.push(E+C))}}let y;for(;y=b.pop();)this.isValidLookup(r)||(o=y,r=this.getResource(_,x,y,n))}))})}),{res:r,usedKey:i,exactUsedKey:o,usedLng:s,usedNS:a}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,n,r,i):this.resourceStore.getResource(t,n,r,i)}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}function Rx(e){return e.charAt(0).toUpperCase()+e.slice(1)}class _O{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Cs.create("languageUtils")}getScriptPartFromCode(t){if(t=K1(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=K1(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(typeof t=="string"&&t.indexOf("-")>-1){const n=["hans","hant","latn","cyrl","cans","mong","arab"];let r=t.split("-");return this.options.lowerCaseLng?r=r.map(i=>i.toLowerCase()):r.length===2?(r[0]=r[0].toLowerCase(),r[1]=r[1].toUpperCase(),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=Rx(r[1].toLowerCase()))):r.length===3&&(r[0]=r[0].toLowerCase(),r[1].length===2&&(r[1]=r[1].toUpperCase()),r[0]!=="sgn"&&r[2].length===2&&(r[2]=r[2].toUpperCase()),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=Rx(r[1].toLowerCase())),n.indexOf(r[2].toLowerCase())>-1&&(r[2]=Rx(r[2].toLowerCase()))),r.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const i=this.getLanguagePartFromCode(r);if(this.isSupportedCode(i))return n=i;n=this.options.supportedLngs.find(o=>{if(o===i)return o;if(!(o.indexOf("-")<0&&i.indexOf("-")<0)&&o.indexOf(i)===0)return o})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),typeof t=="string"&&(t=[t]),Object.prototype.toString.apply(t)==="[object Array]")return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),i=[],o=s=>{s&&(this.isSupportedCode(s)?i.push(s):this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`))};return typeof t=="string"&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(t))):typeof t=="string"&&o(this.formatLanguageCode(t)),r.forEach(s=>{i.indexOf(s)<0&&o(this.formatLanguageCode(s))}),i}}let n1e=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],r1e={1:function(e){return+(e>1)},2:function(e){return+(e!=1)},3:function(e){return 0},4:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},5:function(e){return e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},6:function(e){return e==1?0:e>=2&&e<=4?1:2},7:function(e){return e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},8:function(e){return e==1?0:e==2?1:e!=8&&e!=11?2:3},9:function(e){return+(e>=2)},10:function(e){return e==1?0:e==2?1:e<7?2:e<11?3:4},11:function(e){return e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3},12:function(e){return+(e%10!=1||e%100==11)},13:function(e){return+(e!==0)},14:function(e){return e==1?0:e==2?1:e==3?2:3},15:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2},16:function(e){return e%10==1&&e%100!=11?0:e!==0?1:2},17:function(e){return e==1||e%10==1&&e%100!=11?0:1},18:function(e){return e==0?0:e==1?1:2},19:function(e){return e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3},20:function(e){return e==1?0:e==0||e%100>0&&e%100<20?1:2},21:function(e){return e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0},22:function(e){return e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3}};const i1e=["v1","v2","v3"],o1e=["v4"],bO={zero:0,one:1,two:2,few:3,many:4,other:5};function s1e(){const e={};return n1e.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:r1e[t.fc]}})}),e}class a1e{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=Cs.create("pluralResolver"),(!this.options.compatibilityJSON||o1e.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=s1e()}addRule(t,n){this.rules[t]=n}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(K1(t),{type:n.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return this.shouldUseIntlApi()?r&&r.resolvedOptions().pluralCategories.length>1:r&&r.numbers.length>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(i=>`${n}${i}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((i,o)=>bO[i]-bO[o]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):r.numbers.map(i=>this.getSuffix(t,i,n)):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(t,r);return i?this.shouldUseIntlApi()?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:this.getSuffixRetroCompatible(i,n):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,n){const r=t.noAbs?t.plurals(n):t.plurals(Math.abs(n));let i=t.numbers[r];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(i===2?i="plural":i===1&&(i=""));const o=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return this.options.compatibilityJSON==="v1"?i===1?"":typeof i=="number"?`_plural_${i.toString()}`:o():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?o():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}shouldUseIntlApi(){return!i1e.includes(this.options.compatibilityJSON)}}function SO(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=Qve(e,t,n);return!o&&i&&typeof n=="string"&&(o=q1(e,n,r),o===void 0&&(o=q1(t,n,r))),o}class l1e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Cs.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(n=>n),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const n=t.interpolation;this.escape=n.escape!==void 0?n.escape:Jve,this.escapeValue=n.escapeValue!==void 0?n.escapeValue:!0,this.useRawValueToEscape=n.useRawValueToEscape!==void 0?n.useRawValueToEscape:!1,this.prefix=n.prefix?ld(n.prefix):n.prefixEscaped||"{{",this.suffix=n.suffix?ld(n.suffix):n.suffixEscaped||"}}",this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||",",this.unescapePrefix=n.unescapeSuffix?"":n.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":n.unescapeSuffix||"",this.nestingPrefix=n.nestingPrefix?ld(n.nestingPrefix):n.nestingPrefixEscaped||ld("$t("),this.nestingSuffix=n.nestingSuffix?ld(n.nestingSuffix):n.nestingSuffixEscaped||ld(")"),this.nestingOptionsSeparator=n.nestingOptionsSeparator?n.nestingOptionsSeparator:n.nestingOptionsSeparator||",",this.maxReplaces=n.maxReplaces?n.maxReplaces:1e3,this.alwaysFormat=n.alwaysFormat!==void 0?n.alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=`${this.prefix}(.+?)${this.suffix}`;this.regexp=new RegExp(t,"g");const n=`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;this.regexpUnescape=new RegExp(n,"g");const r=`${this.nestingPrefix}(.+?)${this.nestingSuffix}`;this.nestingRegexp=new RegExp(r,"g")}interpolate(t,n,r,i){let o,s,a;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(m){return m.replace(/\$/g,"$$$$")}const d=m=>{if(m.indexOf(this.formatSeparator)<0){const b=SO(n,l,m,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(b,void 0,r,{...i,...n,interpolationkey:m}):b}const v=m.split(this.formatSeparator),x=v.shift().trim(),_=v.join(this.formatSeparator).trim();return this.format(SO(n,l,x,this.options.keySeparator,this.options.ignoreJSONStructure),_,r,{...i,...n,interpolationkey:x})};this.resetRegExp();const f=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,p=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:m=>u(m)},{regex:this.regexp,safeValue:m=>this.escapeValue?u(this.escape(m)):u(m)}].forEach(m=>{for(a=0;o=m.regex.exec(t);){const v=o[1].trim();if(s=d(v),s===void 0)if(typeof f=="function"){const _=f(t,o,i);s=typeof _=="string"?_:""}else if(i&&Object.prototype.hasOwnProperty.call(i,v))s="";else if(p){s=o[0];continue}else this.logger.warn(`missed to pass in variable ${v} for interpolating ${t}`),s="";else typeof s!="string"&&!this.useRawValueToEscape&&(s=gO(s));const x=m.safeValue(s);if(t=t.replace(o[0],x),p?(m.regex.lastIndex+=s.length,m.regex.lastIndex-=o[0].length):m.regex.lastIndex=0,a++,a>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,o,s;function a(l,u){const d=this.nestingOptionsSeparator;if(l.indexOf(d)<0)return l;const f=l.split(new RegExp(`${d}[ ]*{`));let p=`{${f[1]}`;l=f[0],p=this.interpolate(p,s);const g=p.match(/'/g),m=p.match(/"/g);(g&&g.length%2===0&&!m||m.length%2!==0)&&(p=p.replace(/'/g,'"'));try{s=JSON.parse(p),u&&(s={...u,...s})}catch(v){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,v),`${l}${d}${p}`}return delete s.defaultValue,l}for(;i=this.nestingRegexp.exec(t);){let l=[];s={...r},s=s.replace&&typeof s.replace!="string"?s.replace:s,s.applyPostProcessor=!1,delete s.defaultValue;let u=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const d=i[1].split(this.formatSeparator).map(f=>f.trim());i[1]=d.shift(),l=d,u=!0}if(o=n(a.call(this,i[1].trim(),s),s),o&&i[0]===t&&typeof o!="string")return o;typeof o!="string"&&(o=gO(o)),o||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${t}`),o=""),u&&(o=l.reduce((d,f)=>this.format(d,f,r.lng,{...r,interpolationkey:i[1].trim()}),o.trim())),t=t.replace(i[0],o),this.regexp.lastIndex=0}return t}}function u1e(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);t==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):t==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(s=>{if(!s)return;const[a,...l]=s.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,"");n[a.trim()]||(n[a.trim()]=u),u==="false"&&(n[a.trim()]=!1),u==="true"&&(n[a.trim()]=!0),isNaN(u)||(n[a.trim()]=parseInt(u,10))})}return{formatName:t,formatOptions:n}}function ud(e){const t={};return function(r,i,o){const s=i+JSON.stringify(o);let a=t[s];return a||(a=e(K1(i),o),t[s]=a),a(r)}}class c1e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Cs.create("formatter"),this.options=t,this.formats={number:ud((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return o=>i.format(o)}),currency:ud((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return o=>i.format(o)}),datetime:ud((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return o=>i.format(o)}),relativetime:ud((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return o=>i.format(o,r.range||"day")}),list:ud((n,r)=>{const i=new Intl.ListFormat(n,{...r});return o=>i.format(o)})},this.init(t)}init(t){const r=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=ud(n)}format(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return n.split(this.formatSeparator).reduce((a,l)=>{const{formatName:u,formatOptions:d}=u1e(l);if(this.formats[u]){let f=a;try{const p=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},g=p.locale||p.lng||i.locale||i.lng||r;f=this.formats[u](a,g,{...d,...i,...p})}catch(p){this.logger.warn(p)}return f}else this.logger.warn(`there was no format function for ${u}`);return a},t)}}function d1e(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}class f1e extends eS{constructor(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=Cs.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(r,i.backend,i)}queueLoad(t,n,r,i){const o={},s={},a={},l={};return t.forEach(u=>{let d=!0;n.forEach(f=>{const p=`${u}|${f}`;!r.reload&&this.store.hasResourceBundle(u,f)?this.state[p]=2:this.state[p]<0||(this.state[p]===1?s[p]===void 0&&(s[p]=!0):(this.state[p]=1,d=!1,s[p]===void 0&&(s[p]=!0),o[p]===void 0&&(o[p]=!0),l[f]===void 0&&(l[f]=!0)))}),d||(a[u]=!0)}),(Object.keys(o).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(s),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(l)}}loaded(t,n,r){const i=t.split("|"),o=i[0],s=i[1];n&&this.emit("failedLoading",o,s,n),r&&this.store.addResourceBundle(o,s,r),this.state[t]=n?-1:2;const a={};this.queue.forEach(l=>{Yve(l.loaded,[o],s),d1e(l,t),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{a[u]||(a[u]={});const d=l.loaded[u];d.length&&d.forEach(f=>{a[u][f]===void 0&&(a[u][f]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(l=>!l.done)}read(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!t.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:i,wait:o,callback:s});return}this.readingCalls++;const a=(u,d)=>{if(this.readingCalls--,this.waitingReads.length>0){const f=this.waitingReads.shift();this.read(f.lng,f.ns,f.fcName,f.tried,f.wait,f.callback)}if(u&&d&&i{this.read.call(this,t,n,r,i+1,o*2,s)},o);return}s(u,d)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(t,n);u&&typeof u.then=="function"?u.then(d=>a(null,d)).catch(a):a(null,u)}catch(u){a(u)}return}return l(t,n,a)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();typeof t=="string"&&(t=this.languageUtils.toResolveHierarchy(t)),typeof n=="string"&&(n=[n]);const o=this.queueLoad(t,n,r,i);if(!o.toLoad.length)return o.pending.length||i(),null;o.toLoad.forEach(s=>{this.loadOne(s)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),i=r[0],o=r[1];this.read(i,o,"read",void 0,void 0,(s,a)=>{s&&this.logger.warn(`${n}loading namespace ${o} for language ${i} failed`,s),!s&&a&&this.logger.log(`${n}loaded namespace ${o} for language ${i}`,a),this.loaded(t,s,a)})}saveMissing(t,n,r,i,o){let s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},a=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend&&this.backend.create){const l={...s,isUpdate:o},u=this.backend.create.bind(this.backend);if(u.length<6)try{let d;u.length===5?d=u(t,n,r,i,l):d=u(t,n,r,i),d&&typeof d.then=="function"?d.then(f=>a(null,f)).catch(a):a(null,d)}catch(d){a(d)}else u(t,n,r,i,a,l)}!t||!t[0]||this.store.addResource(t[0],n,r,i)}}}function wO(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let n={};if(typeof t[1]=="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const r=t[3]||t[2];Object.keys(r).forEach(i=>{n[i]=r[i]})}return n},interpolation:{escapeValue:!0,format:(e,t,n,r)=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function xO(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function R0(){}function h1e(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}class Mg extends eS{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=xO(t),this.services={},this.logger=Cs,this.modules={external:[]},h1e(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(typeof n.ns=="string"?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const i=wO();this.options={...i,...this.options,...xO(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);function o(d){return d?typeof d=="function"?new d:d:null}if(!this.options.isClone){this.modules.logger?Cs.init(o(this.modules.logger),this.options):Cs.init(null,this.options);let d;this.modules.formatter?d=this.modules.formatter:typeof Intl<"u"&&(d=c1e);const f=new _O(this.options);this.store=new yO(this.options.resources,this.options);const p=this.services;p.logger=Cs,p.resourceStore=this.store,p.languageUtils=f,p.pluralResolver=new a1e(f,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),d&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(p.formatter=o(d),p.formatter.init(p,this.options),this.options.interpolation.format=p.formatter.format.bind(p.formatter)),p.interpolator=new l1e(this.options),p.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},p.backendConnector=new f1e(o(this.modules.backend),p.resourceStore,p,this.options),p.backendConnector.on("*",function(g){for(var m=arguments.length,v=new Array(m>1?m-1:0),x=1;x1?m-1:0),x=1;x{g.init&&g.init(this)})}if(this.format=this.options.interpolation.format,r||(r=R0),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const d=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);d.length>0&&d[0]!=="dev"&&(this.options.lng=d[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(d=>{this[d]=function(){return t.store[d](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(d=>{this[d]=function(){return t.store[d](...arguments),t}});const l=Xh(),u=()=>{const d=(f,p)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(p),r(f,p)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return d(null,this.t.bind(this));this.changeLanguage(this.options.lng,d)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),l}loadResources(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:R0;const i=typeof t=="string"?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(i&&i.toLowerCase()==="cimode")return r();const o=[],s=a=>{if(!a)return;this.services.languageUtils.toResolveHierarchy(a).forEach(u=>{o.indexOf(u)<0&&o.push(u)})};i?s(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>s(l)),this.options.preload&&this.options.preload.forEach(a=>s(a)),this.services.backendConnector.load(o,this.options.ns,a=>{!a&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(a)})}else r(null)}reloadResources(t,n,r){const i=Xh();return t||(t=this.languages),n||(n=this.options.ns),r||(r=R0),this.services.backendConnector.reload(t,n,o=>{i.resolve(),r(o)}),i}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&wU.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const i=Xh();this.emit("languageChanging",t);const o=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},s=(l,u)=>{u?(o(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,i.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},a=l=>{!t&&!l&&this.services.languageDetector&&(l=[]);const u=typeof l=="string"?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||o(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,d=>{s(d,u)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(t),i}getFixedT(t,n,r){var i=this;const o=function(s,a){let l;if(typeof a!="object"){for(var u=arguments.length,d=new Array(u>2?u-2:0),f=2;f`${l.keyPrefix}${p}${m}`):g=l.keyPrefix?`${l.keyPrefix}${p}${s}`:s,i.t(g,l)};return typeof t=="string"?o.lng=t:o.lngs=t,o.ns=n,o.keyPrefix=r,o}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const s=(a,l)=>{const u=this.services.backendConnector.state[`${a}|${l}`];return u===-1||u===2};if(n.precheck){const a=n.precheck(this,s);if(a!==void 0)return a}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(r,t)&&(!i||s(o,t)))}loadNamespaces(t,n){const r=Xh();return this.options.ns?(typeof t=="string"&&(t=[t]),t.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),n&&n(i)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=Xh();typeof t=="string"&&(t=[t]);const i=this.options.preload||[],o=t.filter(s=>i.indexOf(s)<0);return o.length?(this.options.preload=i.concat(o),this.loadResources(s=>{r.resolve(),n&&n(s)}),r):(n&&n(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services&&this.services.languageUtils||new _O(wO());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new Mg(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:R0;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const i={...this.options,...t,isClone:!0},o=new Mg(i);return(t.debug!==void 0||t.prefix!==void 0)&&(o.logger=o.logger.clone(t)),["store","services","language"].forEach(a=>{o[a]=this[a]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new yO(this.store.data,i),o.services.resourceStore=o.store),o.translator=new X1(o.services,i),o.translator.on("*",function(a){for(var l=arguments.length,u=new Array(l>1?l-1:0),d=1;dtypeof e=="string"?{title:e,status:"info",isClosable:!0,duration:2500}:{status:"info",isClosable:!0,duration:2500,...e},xU={isConnected:!1,isProcessing:!1,isGFPGANAvailable:!0,isESRGANAvailable:!0,shouldConfirmOnDelete:!0,currentStep:0,totalSteps:0,currentIteration:0,totalIterations:0,currentStatusHasSteps:!1,isCancelable:!0,enableImageDebugging:!1,toastQueue:[],progressImage:null,shouldAntialiasProgressImage:!1,sessionId:null,cancelType:"immediate",isCancelScheduled:!1,subscribedNodeIds:[],wereModelsReceived:!1,wasSchemaParsed:!1,consoleLogLevel:"debug",shouldLogToConsole:!0,statusTranslationKey:"common.statusDisconnected",canceledSession:"",isPersisted:!1,language:"en",isUploading:!1,isNodesEnabled:!1,shouldUseNSFWChecker:!1,shouldUseWatermarker:!1},CU=yn({name:"system",initialState:xU,reducers:{setIsProcessing:(e,t)=>{e.isProcessing=t.payload},setCurrentStatus:(e,t)=>{e.statusTranslationKey=t.payload},setShouldConfirmOnDelete:(e,t)=>{e.shouldConfirmOnDelete=t.payload},setIsCancelable:(e,t)=>{e.isCancelable=t.payload},setEnableImageDebugging:(e,t)=>{e.enableImageDebugging=t.payload},addToast:(e,t)=>{e.toastQueue.push(t.payload)},clearToastQueue:e=>{e.toastQueue=[]},cancelScheduled:e=>{e.isCancelScheduled=!0},scheduledCancelAborted:e=>{e.isCancelScheduled=!1},cancelTypeChanged:(e,t)=>{e.cancelType=t.payload},subscribedNodeIdsSet:(e,t)=>{e.subscribedNodeIds=t.payload},consoleLogLevelChanged:(e,t)=>{e.consoleLogLevel=t.payload},shouldLogToConsoleChanged:(e,t)=>{e.shouldLogToConsole=t.payload},shouldAntialiasProgressImageChanged:(e,t)=>{e.shouldAntialiasProgressImage=t.payload},isPersistedChanged:(e,t)=>{e.isPersisted=t.payload},languageChanged:(e,t)=>{e.language=t.payload},progressImageSet(e,t){e.progressImage=t.payload},setIsNodesEnabled(e,t){e.isNodesEnabled=t.payload},shouldUseNSFWCheckerChanged(e,t){e.shouldUseNSFWChecker=t.payload},shouldUseWatermarkerChanged(e,t){e.shouldUseWatermarker=t.payload}},extraReducers(e){e.addCase(K$,(t,n)=>{t.sessionId=n.payload.sessionId,t.canceledSession=""}),e.addCase(Y$,t=>{t.sessionId=null}),e.addCase(H$,t=>{t.isConnected=!0,t.isCancelable=!0,t.isProcessing=!1,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.currentIteration=0,t.totalIterations=0,t.statusTranslationKey="common.statusConnected"}),e.addCase(q$,t=>{t.isConnected=!1,t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusDisconnected"}),e.addCase(Z$,t=>{t.isCancelable=!0,t.isProcessing=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusGenerating"}),e.addCase(iF,(t,n)=>{const{step:r,total_steps:i,progress_image:o}=n.payload.data;t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!0,t.currentStep=r+1,t.totalSteps=i,t.progressImage=o??null,t.statusTranslationKey="common.statusGenerating"}),e.addCase(J$,(t,n)=>{const{data:r}=n.payload;t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusProcessingComplete",t.canceledSession===r.graph_execution_state_id&&(t.isProcessing=!1,t.isCancelable=!0)}),e.addCase(nF,t=>{t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null}),e.addCase(Em,t=>{t.isProcessing=!0,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.statusTranslationKey="common.statusPreparing"}),e.addCase(mc.fulfilled,(t,n)=>{t.canceledSession=n.meta.arg.session_id,t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null,t.toastQueue.push(Ku({title:Pp("toast.canceled"),status:"warning"}))}),e.addCase(sE,t=>{t.wasSchemaParsed=!0}),e.addMatcher(i$,(t,n)=>{var i,o,s;t.isProcessing=!1,t.isCancelable=!1,t.isCancelScheduled=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusConnected",t.progressImage=null;let r;((i=n.payload)==null?void 0:i.status)===422?r="Validation Error":(o=n.payload)!=null&&o.error&&(r=(s=n.payload)==null?void 0:s.error),t.toastQueue.push(Ku({title:Pp("toast.serverError"),status:"error",description:r}))}),e.addMatcher(v1e,(t,n)=>{t.isProcessing=!1,t.isCancelable=!0,t.currentStatusHasSteps=!1,t.currentStep=0,t.totalSteps=0,t.statusTranslationKey="common.statusError",t.progressImage=null,t.toastQueue.push(Ku({title:Pp("toast.serverError"),status:"error",description:Qae(n.payload.data.error_type)}))})}}),{setIsProcessing:u7e,setShouldConfirmOnDelete:c7e,setCurrentStatus:d7e,setIsCancelable:f7e,setEnableImageDebugging:h7e,addToast:zn,clearToastQueue:p7e,cancelScheduled:g7e,scheduledCancelAborted:m7e,cancelTypeChanged:y7e,subscribedNodeIdsSet:v7e,consoleLogLevelChanged:_7e,shouldLogToConsoleChanged:b7e,isPersistedChanged:S7e,shouldAntialiasProgressImageChanged:w7e,languageChanged:x7e,progressImageSet:p1e,setIsNodesEnabled:C7e,shouldUseNSFWCheckerChanged:g1e,shouldUseWatermarkerChanged:m1e}=CU.actions,y1e=CU.reducer,v1e=Co(DT,lF,cF),_1e={searchFolder:null,advancedAddScanModel:null},TU=yn({name:"modelmanager",initialState:_1e,reducers:{setSearchFolder:(e,t)=>{e.searchFolder=t.payload},setAdvancedAddScanModel:(e,t)=>{e.advancedAddScanModel=t.payload}}}),{setSearchFolder:T7e,setAdvancedAddScanModel:E7e}=TU.actions,b1e=TU.reducer,EU={shift:!1},AU=yn({name:"hotkeys",initialState:EU,reducers:{shiftKeyPressed:(e,t)=>{e.shift=t.payload}}}),{shiftKeyPressed:A7e}=AU.actions,S1e=AU.reducer,w1e=WY(DJ);PU=Z3=void 0;var x1e=w1e,C1e=function(){var t=[],n=[],r=void 0,i=function(u){return r=u,function(d){return function(f){return x1e.compose.apply(void 0,n)(d)(f)}}},o=function(){for(var u,d,f=arguments.length,p=Array(f),g=0;g=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){n=n.call(e)},n:function(){var u=n.next();return o=u.done,u},e:function(u){s=!0,a=u},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(s)throw a}}}}function OU(e,t){if(e){if(typeof e=="string")return TO(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return TO(e,t)}}function TO(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,i=r.prefix,o=r.driver,s=r.persistWholeStore,a=r.serialize;try{var l=s?F1e:B1e;yield l(t,n,{prefix:i,driver:o,serialize:a})}catch(u){console.warn("redux-remember: persist error",u)}});return function(){return e.apply(this,arguments)}}();function RO(e,t,n,r,i,o,s){try{var a=e[o](s),l=a.value}catch(u){n(u);return}a.done?t(l):Promise.resolve(l).then(r,i)}function OO(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function s(l){RO(o,r,i,s,a,"next",l)}function a(l){RO(o,r,i,s,a,"throw",l)}s(void 0)})}}var z1e=function(){var e=OO(function*(t,n,r){var i=r.prefix,o=r.driver,s=r.serialize,a=r.unserialize,l=r.persistThrottle,u=r.persistDebounce,d=r.persistWholeStore;yield M1e(t,n,{prefix:i,driver:o,unserialize:a,persistWholeStore:d});var f={},p=function(){var g=OO(function*(){var m=RU(t.getState(),n);yield U1e(m,f,{prefix:i,driver:o,serialize:s,persistWholeStore:d}),cE(m,f)||t.dispatch({type:P1e,payload:m}),f=m});return function(){return g.apply(this,arguments)}}();u&&u>0?t.subscribe(O1e(p,u)):t.subscribe(R1e(p,l))});return function(n,r,i){return e.apply(this,arguments)}}();const V1e=z1e;function Ng(e){"@babel/helpers - typeof";return Ng=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ng(e)}function kO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Ix(e){for(var t=1;t0&&arguments[0]!==void 0?arguments[0]:n.state,i=arguments.length>1?arguments[1]:void 0;i.type&&(i.type==="@@INIT"||i.type.startsWith("@@redux/INIT"))&&(n.state=Ix({},r));var o=typeof t=="function"?t:Ff(t);switch(i.type){case J3:return n.state=o(Ix(Ix({},n.state),i.payload||{}),{type:J3}),n.state;default:return o(r,i)}}},q1e=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=r.prefix,o=i===void 0?"@@remember-":i,s=r.serialize,a=s===void 0?function(x,_){return JSON.stringify(x)}:s,l=r.unserialize,u=l===void 0?function(x,_){return JSON.parse(x)}:l,d=r.persistThrottle,f=d===void 0?100:d,p=r.persistDebounce,g=r.persistWholeStore,m=g===void 0?!1:g;if(!t)throw Error("redux-remember error: driver required");if(!Array.isArray(n))throw Error("redux-remember error: rememberedKeys needs to be an array");var v=function(_){return function(b,y,S){var C=_(b,y,S);return V1e(C,n,{driver:t,prefix:o,serialize:a,unserialize:u,persistThrottle:f,persistDebounce:p,persistWholeStore:m}),C}};return v};const P7e=["chakra-ui-color-mode","i18nextLng","ROARR_FILTER","ROARR_LOG"],K1e="@@invokeai-",X1e=["cursorPosition","isCanvasInitialized","doesCanvasNeedScaling"],Y1e=["pendingControlImages"],Q1e=["selection","selectedBoardId","galleryView"],Z1e=["schema","invocationTemplates"],J1e=[],e_e=[],t_e=["currentIteration","currentStep","isCancelable","isConnected","isESRGANAvailable","isGFPGANAvailable","isProcessing","totalIterations","totalSteps","isCancelScheduled","progressImage","wereModelsReceived","wasSchemaParsed","isPersisted","isUploading"],n_e=["shouldShowImageDetails"],r_e={canvas:X1e,gallery:Q1e,generation:J1e,nodes:Z1e,postprocessing:e_e,system:t_e,ui:n_e,controlNet:Y1e},i_e=(e,t)=>{const n=rb(e,r_e[t]??[]);return JSON.stringify(n)},o_e={canvas:s$,gallery:gF,generation:Da,nodes:gU,postprocessing:vU,system:xU,config:UD,ui:t$,hotkeys:EU,controlNet:I3},s_e=(e,t)=>mae(JSON.parse(e),o_e[t]),IU=Re("nodes/textToImageGraphBuilt"),MU=Re("nodes/imageToImageGraphBuilt"),NU=Re("nodes/canvasGraphBuilt"),LU=Re("nodes/nodesGraphBuilt"),a_e=Co(IU,MU,NU,LU),l_e=e=>{if(a_e(e)&&e.payload.nodes){const t={};return{...e,payload:{...e.payload,nodes:t}}}return Ig.fulfilled.match(e)?{...e,payload:""}:sE.match(e)?{...e,payload:""}:e},u_e=["canvas/setCursorPosition","canvas/setStageCoordinates","canvas/setStageScale","canvas/setIsDrawing","canvas/setBoundingBoxCoordinates","canvas/setBoundingBoxDimensions","canvas/setIsDrawing","canvas/addPointToCurrentLine","socket/socketGeneratorProgress","socket/appSocketGeneratorProgress","hotkeys/shiftKeyPressed","@@REMEMBER_PERSISTED"],c_e=e=>e,d_e=()=>{Pe({actionCreator:Hue,effect:async(e,{dispatch:t,getState:n})=>{const r=Ie("canvas"),i=n(),{sessionId:o,isProcessing:s}=i.system,a=e.payload;if(s){if(!a){r.debug("No canvas session, skipping cancel");return}if(a!==o){r.debug({canvasSessionId:a,session_id:o},"Canvas session does not match global session, skipping cancel");return}t(mc({session_id:o}))}}})};Re("app/appStarted");const f_e=()=>{Pe({matcher:Se.endpoints.listImages.matchFulfilled,effect:async(e,{dispatch:t,unsubscribe:n,cancelActiveListeners:r})=>{if(e.meta.arg.queryCacheKey!==Bo({board_id:"none",categories:Vr}))return;r(),n();const i=e.payload;if(i.ids.length>0){const o=pn.getSelectors().selectAll(i)[0];t(Rs(o??null))}}})},dE=Hl.injectEndpoints({endpoints:e=>({getAppVersion:e.query({query:()=>({url:"app/version",method:"GET"}),providesTags:["AppVersion"],keepUnusedDataFor:864e5}),getAppConfig:e.query({query:()=>({url:"app/config",method:"GET"}),providesTags:["AppConfig"],keepUnusedDataFor:864e5})})}),{useGetAppVersionQuery:R7e,useGetAppConfigQuery:O7e}=dE,h_e=()=>{Pe({matcher:dE.endpoints.getAppConfig.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const{infill_methods:r=[],nsfw_methods:i=[],watermarking_methods:o=[]}=e.payload,s=t().generation.infillMethod;r.includes(s)||n(xue(r[0])),i.includes("nsfw_checker")||n(g1e(!1)),o.includes("invisible_watermark")||n(m1e(!1))}})},p_e=Re("app/appStarted"),g_e=()=>{Pe({actionCreator:p_e,effect:async(e,{unsubscribe:t,cancelActiveListeners:n})=>{n(),t()}})},fE={memoizeOptions:{resultEqualityCheck:nb}},DU=(e,t)=>{var f;const{generation:n,canvas:r,nodes:i,controlNet:o}=e,s=((f=n.initialImage)==null?void 0:f.imageName)===t,a=r.layerState.objects.some(p=>p.kind==="image"&&p.imageName===t),l=i.nodes.some(p=>ku(p.data.inputs,g=>{var m;return g.type==="image"&&((m=g.value)==null?void 0:m.image_name)===t})),u=ku(o.controlNets,p=>p.controlImage===t||p.processedControlImage===t);return{isInitialImage:s,isCanvasImage:a,isNodesImage:l,isControlNetImage:u}},m_e=si([e=>e],e=>{const{imagesToDelete:t}=e.deleteImageModal;return t.length?t.map(r=>DU(e,r.image_name)):[]},fE),y_e=()=>{Pe({matcher:Se.endpoints.deleteBoardAndImages.matchFulfilled,effect:async(e,{dispatch:t,getState:n})=>{const{deleted_images:r}=e.payload;let i=!1,o=!1,s=!1,a=!1;const l=n();r.forEach(u=>{const d=DU(l,u);d.isInitialImage&&!i&&(t(wT()),i=!0),d.isCanvasImage&&!o&&(t(xT()),o=!0),d.isNodesImage&&!s&&(t(aE()),s=!0),d.isControlNetImage&&!a&&(t(BT()),a=!0)})}})},v_e=()=>{Pe({matcher:Co(M3,k1),effect:async(e,{getState:t,dispatch:n,condition:r,cancelActiveListeners:i})=>{i();const o=t(),s=M3.match(e)?e.payload:o.gallery.selectedBoardId,l=(k1.match(e)?e.payload:o.gallery.galleryView)==="images"?Vr:wl,u={board_id:s??"none",categories:l};if(await r(()=>Se.endpoints.listImages.select(u)(t()).isSuccess,5e3)){const{data:f}=Se.endpoints.listImages.select(u)(t());if(f){const p=O1.selectAll(f)[0];n(Rs(p??null))}else n(Rs(null))}else n(Rs(null))}})},__e=Re("canvas/canvasSavedToGallery"),b_e=Re("canvas/canvasCopiedToClipboard"),S_e=Re("canvas/canvasDownloadedAsImage"),w_e=Re("canvas/canvasMerged"),x_e=Re("canvas/stagingAreaImageSaved");let $U=null,FU=null;const k7e=e=>{$U=e},nS=()=>$U,I7e=e=>{FU=e},C_e=()=>FU,T_e=async e=>new Promise((t,n)=>{e.toBlob(r=>{if(r){t(r);return}n("Unable to create Blob")})}),Q1=async(e,t)=>await T_e(e.toCanvas(t)),hE=async e=>{const t=nS();if(!t)return;const{shouldCropToBoundingBoxOnSave:n,boundingBoxCoordinates:r,boundingBoxDimensions:i}=e.canvas,o=t.clone();o.scale({x:1,y:1});const s=o.getAbsolutePosition(),a=n?{x:r.x+s.x,y:r.y+s.y,width:i.width,height:i.height}:o.getClientRect();return Q1(o,a)},E_e=e=>{navigator.clipboard.write([new ClipboardItem({[e.type]:e})])},A_e=()=>{Pe({actionCreator:b_e,effect:async(e,{dispatch:t,getState:n})=>{const r=Jb.get().child({namespace:"canvasCopiedToClipboardListener"}),i=n(),o=await hE(i);if(!o){r.error("Problem getting base layer blob"),t(zn({title:"Problem Copying Canvas",description:"Unable to export base layer",status:"error"}));return}E_e(o),t(zn({title:"Canvas Copied to Clipboard",status:"success"}))}})},P_e=(e,t)=>{const n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),r.remove()},R_e=()=>{Pe({actionCreator:S_e,effect:async(e,{dispatch:t,getState:n})=>{const r=Jb.get().child({namespace:"canvasSavedToGalleryListener"}),i=n(),o=await hE(i);if(!o){r.error("Problem getting base layer blob"),t(zn({title:"Problem Downloading Canvas",description:"Unable to export base layer",status:"error"}));return}P_e(o,"canvas.png"),t(zn({title:"Canvas Downloaded",status:"success"}))}})},O_e=async()=>{const e=nS();if(!e)return;const t=e.clone();return t.scale({x:1,y:1}),Q1(t,t.getClientRect())},k_e=()=>{Pe({actionCreator:w_e,effect:async(e,{dispatch:t})=>{const n=Jb.get().child({namespace:"canvasCopiedToClipboardListener"}),r=await O_e();if(!r){n.error("Problem getting base layer blob"),t(zn({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const i=nS();if(!i){n.error("Problem getting canvas base layer"),t(zn({title:"Problem Merging Canvas",description:"Unable to export base layer",status:"error"}));return}const o=i.getClientRect({relativeTo:i.getParent()}),s=await t(Se.endpoints.uploadImage.initiate({file:new File([r],"mergedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Merged"}}})).unwrap(),{image_name:a}=s;t(Wue({kind:"image",layer:"base",imageName:a,...o}))}})},I_e=()=>{Pe({actionCreator:__e,effect:async(e,{dispatch:t,getState:n})=>{const r=Ie("canvas"),i=n(),o=await hE(i);if(!o){r.error("Problem getting base layer blob"),t(zn({title:"Problem Saving Canvas",description:"Unable to export base layer",status:"error"}));return}const{autoAddBoardId:s}=i.gallery;t(Se.endpoints.uploadImage.initiate({file:new File([o],"savedCanvas.png",{type:"image/png"}),image_category:"general",is_intermediate:!1,board_id:s==="none"?void 0:s,crop_visible:!0,postUploadAction:{type:"TOAST",toastOptions:{title:"Canvas Saved to Gallery"}}}))}})},M_e=(e,t,n)=>{var f;if(!(Zde.match(e)||dR.match(e)||FT.match(e)||Jde.match(e)||fR.match(e))||fR.match(e)&&((f=n.controlNet.controlNets[e.payload.controlNetId])==null?void 0:f.shouldAutoConfig)===!0)return!1;const i=t.controlNet.controlNets[e.payload.controlNetId];if(!i)return!1;const{controlImage:o,processorType:s,shouldAutoConfig:a}=i;if(dR.match(e)&&!a)return!1;const l=s!=="none",u=t.system.isProcessing;return l&&!u&&!!o},N_e=()=>{Pe({predicate:M_e,effect:async(e,{dispatch:t,cancelActiveListeners:n,delay:r})=>{const i=Ie("session"),{controlNetId:o}=e.payload;n(),i.trace("ControlNet auto-process triggered"),await r(300),t($T({controlNetId:o}))}})},yc=Re("system/sessionReadyToInvoke"),BU=e=>(e==null?void 0:e.type)==="image_output",L_e=()=>{Pe({actionCreator:$T,effect:async(e,{dispatch:t,getState:n,take:r})=>{const i=Ie("session"),{controlNetId:o}=e.payload,s=n().controlNet.controlNets[o];if(!(s!=null&&s.controlImage)){i.error("Unable to process ControlNet image");return}const a={nodes:{[s.processorNode.id]:{...s.processorNode,is_intermediate:!0,image:{image_name:s.controlImage}}}},l=t(Ir({graph:a})),[u]=await r(p=>Ir.fulfilled.match(p)&&p.meta.requestId===l.requestId),d=u.payload.id;t(yc());const[f]=await r(p=>LT.match(p)&&p.payload.data.graph_execution_state_id===d);if(BU(f.payload.data.result)){const{image_name:p}=f.payload.data.result.image,[{payload:g}]=await r(v=>Se.endpoints.getImageDTO.matchFulfilled(v)&&v.payload.image_name===p),m=g;i.debug({controlNetId:e.payload,processedControlImage:m},"ControlNet image processed"),t(Qde({controlNetId:o,processedControlImage:m.image_name}))}}})},D_e=()=>{Pe({matcher:Se.endpoints.addImageToBoard.matchFulfilled,effect:e=>{const t=Ie("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Image added to board")}})},$_e=()=>{Pe({matcher:Se.endpoints.addImageToBoard.matchRejected,effect:e=>{const t=Ie("images"),{board_id:n,imageDTO:r}=e.meta.arg.originalArgs;t.debug({board_id:n,imageDTO:r},"Problem adding image to board")}})},pE=Re("deleteImageModal/imageDeletionConfirmed"),M7e=e=>e.gallery,N7e=si(e=>e,e=>e.gallery.selection[e.gallery.selection.length-1],fE),UU=si([e=>e],e=>{const{selectedBoardId:t,galleryView:n}=e.gallery;return{board_id:t,categories:n==="images"?Vr:wl,offset:0,limit:Yue,is_intermediate:!1}},fE),F_e=()=>{Pe({actionCreator:pE,effect:async(e,{dispatch:t,getState:n,condition:r})=>{var p;const{imageDTOs:i,imagesUsage:o}=e.payload;if(i.length!==1||o.length!==1)return;const s=i[0],a=o[0];if(!s||!a)return;t(UT(!1));const l=n(),u=(p=l.gallery.selection[l.gallery.selection.length-1])==null?void 0:p.image_name;if(s&&(s==null?void 0:s.image_name)===u){const{image_name:g}=s,m=UU(l),{data:v}=Se.endpoints.listImages.select(m)(l),x=v?pn.getSelectors().selectAll(v):[],_=x.findIndex(C=>C.image_name===g),b=x.filter(C=>C.image_name!==g),y=bl(_,0,b.length-1),S=b[y];t(Rs(S||null))}a.isCanvasImage&&t(xT()),a.isControlNetImage&&t(BT()),a.isInitialImage&&t(wT()),a.isNodesImage&&t(aE());const{requestId:d}=t(Se.endpoints.deleteImage.initiate(s));await r(g=>Se.endpoints.deleteImage.matchFulfilled(g)&&g.meta.requestId===d,3e4)&&t(Hl.util.invalidateTags([{type:"Board",id:s.board_id}]))}})},B_e=()=>{Pe({actionCreator:pE,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTOs:r,imagesUsage:i}=e.payload;if(!(r.length<1||i.length<1))try{await t(Se.endpoints.deleteImages.initiate({imageDTOs:r})).unwrap();const o=n(),s=UU(o),{data:a}=Se.endpoints.listImages.select(s)(o),l=a?pn.getSelectors().selectAll(a)[0]:void 0;t(Rs(l||null)),t(UT(!1)),i.some(u=>u.isCanvasImage)&&t(xT()),i.some(u=>u.isControlNetImage)&&t(BT()),i.some(u=>u.isInitialImage)&&t(wT()),i.some(u=>u.isNodesImage)&&t(aE())}catch{}}})},U_e=()=>{Pe({matcher:Se.endpoints.deleteImage.matchPending,effect:()=>{}})},z_e=()=>{Pe({matcher:Se.endpoints.deleteImage.matchFulfilled,effect:e=>{Ie("images").debug({imageDTO:e.meta.arg.originalArgs},"Image deleted")}})},V_e=()=>{Pe({matcher:Se.endpoints.deleteImage.matchRejected,effect:e=>{Ie("images").debug({imageDTO:e.meta.arg.originalArgs},"Unable to delete image")}})},zU=Re("dnd/dndDropped"),j_e=()=>{Pe({actionCreator:zU,effect:async(e,{dispatch:t})=>{const n=Ie("images"),{activeData:r,overData:i}=e.payload;if(r.payloadType==="IMAGE_DTO"?n.debug({activeData:r,overData:i},"Image dropped"):r.payloadType==="IMAGE_DTOS"?n.debug({activeData:r,overData:i},`Images (${r.payload.imageDTOs.length}) dropped`):n.debug({activeData:r,overData:i},"Unknown payload dropped"),i.actionType==="SET_CURRENT_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(Rs(r.payload.imageDTO));return}if(i.actionType==="SET_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(ob(r.payload.imageDTO));return}if(i.actionType==="SET_CONTROLNET_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{controlNetId:o}=i.context;t(FT({controlImage:r.payload.imageDTO.image_name,controlNetId:o}));return}if(i.actionType==="SET_CANVAS_INITIAL_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){t(l$(r.payload.imageDTO));return}if(i.actionType==="SET_NODES_IMAGE"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{fieldName:o,nodeId:s}=i.context;t(yU({nodeId:s,fieldName:o,value:r.payload.imageDTO}));return}if(i.actionType==="ADD_TO_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload,{boardId:s}=i.context;t(Se.endpoints.addImageToBoard.initiate({imageDTO:o,board_id:s}));return}if(i.actionType==="REMOVE_FROM_BOARD"&&r.payloadType==="IMAGE_DTO"&&r.payload.imageDTO){const{imageDTO:o}=r.payload;t(Se.endpoints.removeImageFromBoard.initiate({imageDTO:o}));return}if(i.actionType==="ADD_TO_BOARD"&&r.payloadType==="IMAGE_DTOS"&&r.payload.imageDTOs){const{imageDTOs:o}=r.payload,{boardId:s}=i.context;t(Se.endpoints.addImagesToBoard.initiate({imageDTOs:o,board_id:s}));return}if(i.actionType==="REMOVE_FROM_BOARD"&&r.payloadType==="IMAGE_DTOS"&&r.payload.imageDTOs){const{imageDTOs:o}=r.payload;t(Se.endpoints.removeImagesFromBoard.initiate({imageDTOs:o}));return}}})},G_e=()=>{Pe({matcher:Se.endpoints.removeImageFromBoard.matchFulfilled,effect:e=>{const t=Ie("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Image removed from board")}})},H_e=()=>{Pe({matcher:Se.endpoints.removeImageFromBoard.matchRejected,effect:e=>{const t=Ie("images"),n=e.meta.arg.originalArgs;t.debug({imageDTO:n},"Problem removing image from board")}})},W_e=()=>{Pe({actionCreator:sfe,effect:async(e,{dispatch:t,getState:n})=>{const r=e.payload,i=n(),{shouldConfirmOnDelete:o}=i.system,s=m_e(n()),a=s.some(l=>l.isCanvasImage)||s.some(l=>l.isInitialImage)||s.some(l=>l.isControlNetImage)||s.some(l=>l.isNodesImage);if(o||a){t(UT(!0));return}t(pE({imageDTOs:r,imagesUsage:s}))}})},cd={title:"Image Uploaded",status:"success"},q_e=()=>{Pe({matcher:Se.endpoints.uploadImage.matchFulfilled,effect:(e,{dispatch:t,getState:n})=>{const r=Ie("images"),i=e.payload,o=n(),{autoAddBoardId:s}=o.gallery;r.debug({imageDTO:i},"Image uploaded");const{postUploadAction:a}=e.meta.arg.originalArgs;if(!(e.payload.is_intermediate&&!a)){if((a==null?void 0:a.type)==="TOAST"){const{toastOptions:l}=a;if(!s||s==="none")t(zn({...cd,...l}));else{t(Se.endpoints.addImageToBoard.initiate({board_id:s,imageDTO:i}));const{data:u}=Ui.endpoints.listAllBoards.select()(o),d=u==null?void 0:u.find(p=>p.board_id===s),f=d?`Added to board ${d.board_name}`:`Added to board ${s}`;t(zn({...cd,description:f}))}return}if((a==null?void 0:a.type)==="SET_CANVAS_INITIAL_IMAGE"){t(l$(i)),t(zn({...cd,description:"Set as canvas initial image"}));return}if((a==null?void 0:a.type)==="SET_CONTROLNET_IMAGE"){const{controlNetId:l}=a;t(FT({controlNetId:l,controlImage:i.image_name})),t(zn({...cd,description:"Set as control image"}));return}if((a==null?void 0:a.type)==="SET_INITIAL_IMAGE"){t(ob(i)),t(zn({...cd,description:"Set as initial image"}));return}if((a==null?void 0:a.type)==="SET_NODES_IMAGE"){const{nodeId:l,fieldName:u}=a;t(yU({nodeId:l,fieldName:u,value:i})),t(zn({...cd,description:`Set as node field ${u}`}));return}}}})},K_e=()=>{Pe({matcher:Se.endpoints.uploadImage.matchRejected,effect:(e,{dispatch:t})=>{const n=Ie("images"),r={arg:{...rb(e.meta.arg.originalArgs,["file","postUploadAction"]),file:""}};n.error({...r},"Image upload failed"),t(zn({title:"Image Upload Failed",description:e.error.message,status:"error"}))}})},X_e=Re("generation/initialImageSelected"),Y_e=Re("generation/modelSelected"),Q_e=()=>{Pe({actionCreator:X_e,effect:(e,{dispatch:t})=>{if(!e.payload){t(zn(Ku({title:Pp("toast.imageNotLoadedDesc"),status:"error"})));return}t(ob(e.payload)),t(zn(Ku(Pp("toast.sentToImageToImage"))))}})},Z_e=()=>{Pe({actionCreator:Y_e,effect:(e,{getState:t,dispatch:n})=>{var l;const r=Ie("models"),i=t(),o=QD.safeParse(e.payload);if(!o.success){r.error({error:o.error.format()},"Failed to parse main model");return}const s=o.data,{base_model:a}=s;if(((l=i.generation.model)==null?void 0:l.base_model)!==a){let u=0;tc(i.lora.loras,(p,g)=>{p.base_model!==a&&(n(bF(g)),u+=1)});const{vae:d}=i.generation;d&&d.base_model!==a&&(n(JD(null)),u+=1);const{controlNets:f}=i.controlNet;tc(f,(p,g)=>{var m;((m=p.model)==null?void 0:m.base_model)!==a&&(n(fF({controlNetId:g})),u+=1)}),u>0&&n(zn(Ku({title:`Base model changed, cleared ${u} incompatible submodel${u===1?"":"s"}`,status:"warning"})))}n(Sl(s))}})},t5=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),IO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),MO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),NO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),LO=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),n5=eu({sortComparer:(e,t)=>e.model_name.localeCompare(t.model_name)}),J_e=({base_model:e,model_type:t,model_name:n})=>`${e}/${t}/${n}`,dd=e=>{const t=[];return e.forEach(n=>{const r={...Ur(n),id:J_e(n)};t.push(r)}),t},fa=Hl.injectEndpoints({endpoints:e=>({getOnnxModels:e.query({query:t=>{const n={model_type:"onnx",base_models:t};return`models/?${fv.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"OnnxModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"OnnxModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return IO.setAll(IO.getInitialState(),i)}}),getMainModels:e.query({query:t=>{const n={model_type:"main",base_models:t};return`models/?${fv.stringify(n,{arrayFormat:"none"})}`},providesTags:(t,n,r)=>{const i=[{type:"MainModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"MainModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return t5.setAll(t5.getInitialState(),i)}}),updateMainModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/main/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),importMainModels:e.mutation({query:({body:t})=>({url:"models/import",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),addMainModels:e.mutation({query:({body:t})=>({url:"models/add",method:"POST",body:t}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),deleteMainModels:e.mutation({query:({base_model:t,model_name:n,model_type:r})=>({url:`models/${t}/${r}/${n}`,method:"DELETE"}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),convertMainModels:e.mutation({query:({base_model:t,model_name:n,convert_dest_directory:r})=>({url:`models/convert/${t}/main/${n}`,method:"PUT",params:{convert_dest_directory:r}}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),mergeMainModels:e.mutation({query:({base_model:t,body:n})=>({url:`models/merge/${t}`,method:"PUT",body:n}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),syncModels:e.mutation({query:()=>({url:"models/sync",method:"POST"}),invalidatesTags:[{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"OnnxModel",id:Ke}]}),getLoRAModels:e.query({query:()=>({url:"models/",params:{model_type:"lora"}}),providesTags:(t,n,r)=>{const i=[{type:"LoRAModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"LoRAModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return MO.setAll(MO.getInitialState(),i)}}),updateLoRAModels:e.mutation({query:({base_model:t,model_name:n,body:r})=>({url:`models/${t}/lora/${n}`,method:"PATCH",body:r}),invalidatesTags:[{type:"LoRAModel",id:Ke}]}),deleteLoRAModels:e.mutation({query:({base_model:t,model_name:n})=>({url:`models/${t}/lora/${n}`,method:"DELETE"}),invalidatesTags:[{type:"LoRAModel",id:Ke}]}),getControlNetModels:e.query({query:()=>({url:"models/",params:{model_type:"controlnet"}}),providesTags:(t,n,r)=>{const i=[{type:"ControlNetModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"ControlNetModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return NO.setAll(NO.getInitialState(),i)}}),getVaeModels:e.query({query:()=>({url:"models/",params:{model_type:"vae"}}),providesTags:(t,n,r)=>{const i=[{type:"VaeModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"VaeModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return n5.setAll(n5.getInitialState(),i)}}),getTextualInversionModels:e.query({query:()=>({url:"models/",params:{model_type:"embedding"}}),providesTags:(t,n,r)=>{const i=[{type:"TextualInversionModel",id:Ke}];return t&&i.push(...t.ids.map(o=>({type:"TextualInversionModel",id:o}))),i},transformResponse:(t,n,r)=>{const i=dd(t.models);return LO.setAll(LO.getInitialState(),i)}}),getModelsInFolder:e.query({query:t=>({url:`/models/search?${fv.stringify(t,{})}`}),providesTags:(t,n,r)=>{const i=[{type:"ScannedModels",id:Ke}];return t&&i.push(...t.map(o=>({type:"ScannedModels",id:o}))),i}}),getCheckpointConfigs:e.query({query:()=>({url:"/models/ckpt_confs"})})})}),{useGetMainModelsQuery:L7e,useGetOnnxModelsQuery:D7e,useGetControlNetModelsQuery:$7e,useGetLoRAModelsQuery:F7e,useGetTextualInversionModelsQuery:B7e,useGetVaeModelsQuery:U7e,useUpdateMainModelsMutation:z7e,useDeleteMainModelsMutation:V7e,useImportMainModelsMutation:j7e,useAddMainModelsMutation:G7e,useConvertMainModelsMutation:H7e,useMergeMainModelsMutation:W7e,useDeleteLoRAModelsMutation:q7e,useUpdateLoRAModelsMutation:K7e,useSyncModelsMutation:X7e,useGetModelsInFolderQuery:Y7e,useGetCheckpointConfigsQuery:Q7e}=fa,ebe=()=>{Pe({predicate:(e,t)=>fa.endpoints.getMainModels.matchFulfilled(t)&&!t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=Ie("models");r.info({models:e.payload.entities},`Main models loaded (${e.payload.ids.length})`);const i=t().generation.model;if(ku(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)&&(u==null?void 0:u.model_type)===(i==null?void 0:i.model_type)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(Sl(null));return}const l=QD.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse main model");return}n(Sl(l.data))}}),Pe({predicate:(e,t)=>fa.endpoints.getMainModels.matchFulfilled(t)&&t.meta.arg.originalArgs.includes("sdxl-refiner"),effect:async(e,{getState:t,dispatch:n})=>{const r=Ie("models");r.info({models:e.payload.entities},`SDXL Refiner models loaded (${e.payload.ids.length})`);const i=t().sdxl.refinerModel;if(ku(e.payload.entities,u=>(u==null?void 0:u.model_name)===(i==null?void 0:i.model_name)&&(u==null?void 0:u.base_model)===(i==null?void 0:i.base_model)&&(u==null?void 0:u.model_type)===(i==null?void 0:i.model_type)))return;const s=e.payload.ids[0],a=e.payload.entities[s];if(!a){n(pO(null)),n(Wve(!1));return}const l=YD.safeParse(a);if(!l.success){r.error({error:l.error.format()},"Failed to parse SDXL Refiner Model");return}n(pO(l.data))}}),Pe({matcher:fa.endpoints.getVaeModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{const r=Ie("models");r.info({models:e.payload.entities},`VAEs loaded (${e.payload.ids.length})`);const i=t().generation.vae;if(i===null||ku(e.payload.entities,l=>(l==null?void 0:l.model_name)===(i==null?void 0:i.model_name)&&(l==null?void 0:l.base_model)===(i==null?void 0:i.base_model)))return;const s=n5.getSelectors().selectAll(e.payload)[0];if(!s){n(Sl(null));return}const a=vue.safeParse(s);if(!a.success){r.error({error:a.error.format()},"Failed to parse VAE model");return}n(JD(a.data))}}),Pe({matcher:fa.endpoints.getLoRAModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{Ie("models").info({models:e.payload.entities},`LoRAs loaded (${e.payload.ids.length})`);const i=t().lora.loras;tc(i,(o,s)=>{ku(e.payload.entities,l=>(l==null?void 0:l.model_name)===(o==null?void 0:o.model_name)&&(l==null?void 0:l.base_model)===(o==null?void 0:o.base_model))||n(bF(s))})}}),Pe({matcher:fa.endpoints.getControlNetModels.matchFulfilled,effect:async(e,{getState:t,dispatch:n})=>{Ie("models").info({models:e.payload.entities},`ControlNet models loaded (${e.payload.ids.length})`);const i=t().controlNet.controlNets;tc(i,(o,s)=>{ku(e.payload.entities,l=>{var u,d;return(l==null?void 0:l.model_name)===((u=o==null?void 0:o.model)==null?void 0:u.model_name)&&(l==null?void 0:l.base_model)===((d=o==null?void 0:o.model)==null?void 0:d.base_model)})||n(fF({controlNetId:s}))})}}),Pe({matcher:fa.endpoints.getTextualInversionModels.matchFulfilled,effect:async e=>{Ie("models").info({models:e.payload.entities},`Embeddings loaded (${e.payload.ids.length})`)}})},$a=e=>JSON.parse(JSON.stringify(e)),r5=e=>!("$ref"in e),tbe=e=>!("$ref"in e),Z7e=500,nbe={integer:"integer",float:"float",number:"float",string:"string",boolean:"boolean",enum:"enum",ImageField:"image",image_collection:"image_collection",LatentsField:"latents",ConditioningField:"conditioning",UNetField:"unet",ClipField:"clip",VaeField:"vae",model:"model",refiner_model:"refiner_model",vae_model:"vae_model",lora_model:"lora_model",controlnet_model:"controlnet_model",ControlNetModelField:"controlnet_model",array:"array",item:"item",ColorField:"color",ControlField:"control",control:"control",cfg_scale:"float",control_weight:"float"},rbe=500,On=e=>`var(--invokeai-colors-${e}-${rbe})`,J7e={integer:{color:"red",colorCssVar:On("red"),title:"Integer",description:"Integers are whole numbers, without a decimal point."},float:{color:"orange",colorCssVar:On("orange"),title:"Float",description:"Floats are numbers with a decimal point."},string:{color:"yellow",colorCssVar:On("yellow"),title:"String",description:"Strings are text."},boolean:{color:"green",colorCssVar:On("green"),title:"Boolean",description:"Booleans are true or false."},enum:{color:"blue",colorCssVar:On("blue"),title:"Enum",description:"Enums are values that may be one of a number of options."},image:{color:"purple",colorCssVar:On("purple"),title:"Image",description:"Images may be passed between nodes."},image_collection:{color:"purple",colorCssVar:On("purple"),title:"Image Collection",description:"A collection of images."},latents:{color:"pink",colorCssVar:On("pink"),title:"Latents",description:"Latents may be passed between nodes."},conditioning:{color:"cyan",colorCssVar:On("cyan"),title:"Conditioning",description:"Conditioning may be passed between nodes."},unet:{color:"red",colorCssVar:On("red"),title:"UNet",description:"UNet submodel."},clip:{color:"green",colorCssVar:On("green"),title:"Clip",description:"Tokenizer and text_encoder submodels."},vae:{color:"blue",colorCssVar:On("blue"),title:"Vae",description:"Vae submodel."},control:{color:"cyan",colorCssVar:On("cyan"),title:"Control",description:"Control info passed between nodes."},model:{color:"teal",colorCssVar:On("teal"),title:"Model",description:"Models are models."},refiner_model:{color:"teal",colorCssVar:On("teal"),title:"Refiner Model",description:"Models are models."},vae_model:{color:"teal",colorCssVar:On("teal"),title:"VAE",description:"Models are models."},lora_model:{color:"teal",colorCssVar:On("teal"),title:"LoRA",description:"Models are models."},controlnet_model:{color:"teal",colorCssVar:On("teal"),title:"ControlNet",description:"Models are models."},array:{color:"gray",colorCssVar:On("gray"),title:"Array",description:"TODO: Array type description."},item:{color:"gray",colorCssVar:On("gray"),title:"Collection Item",description:"TODO: Collection Item type description."},color:{color:"gray",colorCssVar:On("gray"),title:"Color",description:"A RGBA color."}},eMe=250,Mx=e=>{const t=e.$ref.split("/").slice(-1)[0];return t||"UNKNOWN FIELD TYPE"},ibe=({schemaObject:e,baseField:t})=>{const n={...t,type:"integer",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},obe=({schemaObject:e,baseField:t})=>{const n={...t,type:"float",inputRequirement:"always",inputKind:"any",default:e.default??0};return e.multipleOf!==void 0&&(n.multipleOf=e.multipleOf),e.maximum!==void 0&&(n.maximum=e.maximum),e.exclusiveMaximum!==void 0&&(n.exclusiveMaximum=e.exclusiveMaximum),e.minimum!==void 0&&(n.minimum=e.minimum),e.exclusiveMinimum!==void 0&&(n.exclusiveMinimum=e.exclusiveMinimum),n},sbe=({schemaObject:e,baseField:t})=>{const n={...t,type:"string",inputRequirement:"always",inputKind:"any",default:e.default??""};return e.minLength!==void 0&&(n.minLength=e.minLength),e.maxLength!==void 0&&(n.maxLength=e.maxLength),e.pattern!==void 0&&(n.pattern=e.pattern),n},abe=({schemaObject:e,baseField:t})=>({...t,type:"boolean",inputRequirement:"always",inputKind:"any",default:e.default??!1}),lbe=({schemaObject:e,baseField:t})=>({...t,type:"model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),ube=({schemaObject:e,baseField:t})=>({...t,type:"refiner_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),cbe=({schemaObject:e,baseField:t})=>({...t,type:"vae_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),dbe=({schemaObject:e,baseField:t})=>({...t,type:"lora_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),fbe=({schemaObject:e,baseField:t})=>({...t,type:"controlnet_model",inputRequirement:"always",inputKind:"direct",default:e.default??void 0}),hbe=({schemaObject:e,baseField:t})=>({...t,type:"image",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),pbe=({schemaObject:e,baseField:t})=>({...t,type:"image_collection",inputRequirement:"always",inputKind:"any",default:e.default??void 0}),gbe=({schemaObject:e,baseField:t})=>({...t,type:"latents",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),mbe=({schemaObject:e,baseField:t})=>({...t,type:"conditioning",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),ybe=({schemaObject:e,baseField:t})=>({...t,type:"unet",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),vbe=({schemaObject:e,baseField:t})=>({...t,type:"clip",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),_be=({schemaObject:e,baseField:t})=>({...t,type:"vae",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),bbe=({schemaObject:e,baseField:t})=>({...t,type:"control",inputRequirement:"always",inputKind:"connection",default:e.default??void 0}),Sbe=({schemaObject:e,baseField:t})=>{const n=e.enum??[];return{...t,type:"enum",enumType:e.type??"string",options:n,inputRequirement:"always",inputKind:"direct",default:e.default??n[0]}},DO=({baseField:e})=>({...e,type:"array",inputRequirement:"always",inputKind:"direct",default:[]}),$O=({baseField:e})=>({...e,type:"item",inputRequirement:"always",inputKind:"direct",default:void 0}),wbe=({schemaObject:e,baseField:t})=>({...t,type:"color",inputRequirement:"always",inputKind:"direct",default:e.default??{r:127,g:127,b:127,a:255}}),VU=(e,t,n)=>{let r="";n&&t in n?r=n[t]??"UNKNOWN FIELD TYPE":e.type?e.enum?r="enum":e.type&&(r=e.type):e.allOf?r=Mx(e.allOf[0]):e.anyOf?r=Mx(e.anyOf[0]):e.oneOf&&(r=Mx(e.oneOf[0]));const i=nbe[r];if(!i)throw`Field type "${r}" is unknown!`;return i},xbe=(e,t,n)=>{const r=VU(e,t,n),i={name:t,title:e.title??"",description:e.description??""};if(["image"].includes(r))return hbe({schemaObject:e,baseField:i});if(["image_collection"].includes(r))return pbe({schemaObject:e,baseField:i});if(["latents"].includes(r))return gbe({schemaObject:e,baseField:i});if(["conditioning"].includes(r))return mbe({schemaObject:e,baseField:i});if(["unet"].includes(r))return ybe({schemaObject:e,baseField:i});if(["clip"].includes(r))return vbe({schemaObject:e,baseField:i});if(["vae"].includes(r))return _be({schemaObject:e,baseField:i});if(["control"].includes(r))return bbe({schemaObject:e,baseField:i});if(["model"].includes(r))return lbe({schemaObject:e,baseField:i});if(["refiner_model"].includes(r))return ube({schemaObject:e,baseField:i});if(["vae_model"].includes(r))return cbe({schemaObject:e,baseField:i});if(["lora_model"].includes(r))return dbe({schemaObject:e,baseField:i});if(["controlnet_model"].includes(r))return fbe({schemaObject:e,baseField:i});if(["enum"].includes(r))return Sbe({schemaObject:e,baseField:i});if(["integer"].includes(r))return ibe({schemaObject:e,baseField:i});if(["number","float"].includes(r))return obe({schemaObject:e,baseField:i});if(["string"].includes(r))return sbe({schemaObject:e,baseField:i});if(["boolean"].includes(r))return abe({schemaObject:e,baseField:i});if(["array"].includes(r))return DO({schemaObject:e,baseField:i});if(["item"].includes(r))return $O({schemaObject:e,baseField:i});if(["color"].includes(r))return wbe({schemaObject:e,baseField:i});if(["array"].includes(r))return DO({schemaObject:e,baseField:i});if(["item"].includes(r))return $O({schemaObject:e,baseField:i})},Cbe=(e,t,n)=>{const r=e.$ref.split("/").slice(-1)[0];if(!r)throw Ie("nodes").error({refObject:$a(e)},"No output schema name found in ref object"),"No output schema name found in ref object";const i=t.components.schemas[r];if(!i)throw Ie("nodes").error({outputSchemaName:r},"Output schema not found"),"Output schema not found";return r5(i)?_T(i.properties,(s,a,l)=>{if(!["type","id"].includes(l)&&!["object"].includes(a.type)&&r5(a)){const u=VU(a,l,n);s[l]={name:l,title:a.title??"",description:a.description??"",type:u}}return s},{}):{}},Tbe=e=>e==="l2i"?["id","type","metadata"]:["id","type","is_intermediate","metadata"],Ebe=["Graph","InvocationMeta","MetadataAccumulatorInvocation"],Abe=e=>{var r;return ID((r=e.components)==null?void 0:r.schemas,(i,o)=>o.includes("Invocation")&&!o.includes("InvocationOutput")&&!Ebe.some(s=>o.includes(s))).reduce((i,o)=>{var s,a,l,u,d;if(tbe(o)){const f=o.properties.type.default,p=Tbe(f),g=((s=o.ui)==null?void 0:s.title)??o.title.replace("Invocation",""),m=(a=o.ui)==null?void 0:a.type_hints,v={};if(f==="collect"){const y=o.properties.item;v.item={type:"item",name:"item",description:y.description??"",title:"Collection Item",inputKind:"connection",inputRequirement:"always",default:void 0}}else if(f==="iterate"){const y=o.properties.collection;v.collection={type:"array",name:"collection",title:y.title??"",default:[],description:y.description??"",inputRequirement:"always",inputKind:"connection"}}else _T(o.properties,(y,S,C)=>{if(!p.includes(C)&&r5(S)){const T=xbe(S,C,m);T&&(y[C]=T)}return y},v);const x=o.output;let _;if(f==="iterate"){const y=(u=(l=e.components)==null?void 0:l.schemas)==null?void 0:u.IterateInvocationOutput;_={item:{name:"item",title:(y==null?void 0:y.title)??"",description:(y==null?void 0:y.description)??"",type:"array"}}}else _=Cbe(x,e,m);const b={title:g,type:f,tags:((d=o.ui)==null?void 0:d.tags)??[],description:o.description??"",inputs:v,outputs:_};Object.assign(i,{[f]:b})}return i},{})},Pbe=()=>{Pe({actionCreator:Ig.fulfilled,effect:(e,{dispatch:t})=>{const n=Ie("system"),r=e.payload;n.debug({schemaJSON:r},"Dereferenced OpenAPI schema");const i=Abe(r);n.debug({nodeTemplates:$a(i)},`Built ${bT(i)} node templates`),t(sE(i))}}),Pe({actionCreator:Ig.rejected,effect:()=>{Ie("system").error("Problem dereferencing OpenAPI Schema")}})},Rbe=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(Boolean).map(e=>[e.name,e]),Obe=new Map(Rbe),kbe=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],i5=Symbol(".toJSON was called"),Ibe=e=>{e[i5]=!0;const t=e.toJSON();return delete e[i5],t},Mbe=e=>Obe.get(e)??Error,jU=({from:e,seen:t,to:n,forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a})=>{if(!n)if(Array.isArray(e))n=[];else if(!a&&FO(e)){const u=Mbe(e.name);n=new u}else n={};if(t.push(e),o>=i)return n;if(s&&typeof e.toJSON=="function"&&e[i5]!==!0)return Ibe(e);const l=u=>jU({from:u,seen:[...t],forceEnumerable:r,maxDepth:i,depth:o,useToJSON:s,serialize:a});for(const[u,d]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(d)){n[u]="[object Buffer]";continue}if(d!==null&&typeof d=="object"&&typeof d.pipe=="function"){n[u]="[object Stream]";continue}if(typeof d!="function"){if(!d||typeof d!="object"){n[u]=d;continue}if(!t.includes(e[u])){o++,n[u]=l(e[u]);continue}n[u]="[Circular]"}}for(const{property:u,enumerable:d}of kbe)typeof e[u]<"u"&&e[u]!==null&&Object.defineProperty(n,u,{value:FO(e[u])?l(e[u]):e[u],enumerable:r?!0:d,configurable:!0,writable:!0});return n};function gE(e,t={}){const{maxDepth:n=Number.POSITIVE_INFINITY,useToJSON:r=!0}=t;return typeof e=="object"&&e!==null?jU({from:e,seen:[],forceEnumerable:!0,maxDepth:n,depth:0,useToJSON:r,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}function FO(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}const Nbe=()=>{Pe({actionCreator:mc.pending,effect:()=>{}})},Lbe=()=>{Pe({actionCreator:mc.fulfilled,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session canceled (${n})`)}})},Dbe=()=>{Pe({actionCreator:mc.rejected,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:gE(r)},"Problem canceling session")}}})},$be=()=>{Pe({actionCreator:Ir.pending,effect:()=>{}})},Fbe=()=>{Pe({actionCreator:Ir.fulfilled,effect:e=>{const t=Ie("session"),n=e.payload;t.debug({session:$a(n)},`Session created (${n.id})`)}})},Bbe=()=>{Pe({actionCreator:Ir.rejected,effect:e=>{const t=Ie("session");if(e.payload){const{error:n,status:r}=e.payload,i=$a(e.meta.arg);t.error({graph:i,status:r,error:gE(n)},"Problem creating session")}}})},Ube=()=>{Pe({actionCreator:mm.pending,effect:()=>{}})},zbe=()=>{Pe({actionCreator:mm.fulfilled,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;t.debug({session_id:n},`Session invoked (${n})`)}})},Vbe=()=>{Pe({actionCreator:mm.rejected,effect:e=>{const t=Ie("session"),{session_id:n}=e.meta.arg;if(e.payload){const{error:r}=e.payload;t.error({session_id:n,error:gE(r)},"Problem invoking session")}}})},jbe=()=>{Pe({actionCreator:yc,effect:(e,{getState:t,dispatch:n})=>{const r=Ie("session"),{sessionId:i}=t().system;i&&(r.debug({session_id:i},`Session ready to invoke (${i})})`),n(mm({session_id:i})))}})},Gbe=()=>{Pe({actionCreator:G$,effect:(e,{dispatch:t,getState:n})=>{Ie("socketio").debug("Connected");const{nodes:i,config:o}=n(),{disabledTabs:s}=o;!i.schema&&!s.includes("nodes")&&t(Ig()),t(H$(e.payload)),t(fa.util.invalidateTags([{type:"MainModel",id:Ke},{type:"SDXLRefinerModel",id:Ke},{type:"LoRAModel",id:Ke},{type:"ControlNetModel",id:Ke},{type:"VaeModel",id:Ke},{type:"TextualInversionModel",id:Ke},{type:"ScannedModels",id:Ke}])),t(dE.util.invalidateTags(["AppConfig","AppVersion"]))}})},Hbe=()=>{Pe({actionCreator:W$,effect:(e,{dispatch:t})=>{Ie("socketio").debug("Disconnected"),t(q$(e.payload))}})},Wbe=()=>{Pe({actionCreator:rF,effect:(e,{dispatch:t,getState:n})=>{const r=Ie("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored generator progress for canceled session");return}r.trace(e.payload,`Generator progress (${e.payload.data.node.type})`),t(iF(e.payload))}})},qbe=()=>{Pe({actionCreator:tF,effect:(e,{dispatch:t})=>{Ie("socketio").debug(e.payload,"Session complete"),t(nF(e.payload))}})},Kbe=["dataURL_image"],Xbe=()=>{Pe({actionCreator:LT,effect:async(e,{dispatch:t,getState:n})=>{const r=Ie("socketio"),{data:i}=e.payload;r.debug({data:$a(i)},`Invocation complete (${e.payload.data.node.type})`);const o=e.payload.data.graph_execution_state_id,{cancelType:s,isCancelScheduled:a}=n().system;s==="scheduled"&&a&&t(mc({session_id:o}));const{result:l,node:u,graph_execution_state_id:d}=i;if(BU(l)&&!Kbe.includes(u.type)){const{image_name:f}=l.image,{canvas:p,gallery:g}=n(),m=await t(Se.endpoints.getImageDTO.initiate(f)).unwrap();if(d===p.layerState.stagingArea.sessionId&&t(Gue(m)),!m.is_intermediate){const{autoAddBoardId:v}=g;t(v&&v!=="none"?Se.endpoints.addImageToBoard.initiate({board_id:v,imageDTO:m}):Se.util.updateQueryData("listImages",{board_id:"none",categories:Vr},b=>{pn.addOne(b,m)})),t(Se.util.invalidateTags([{type:"BoardImagesTotal",id:v},{type:"BoardAssetsTotal",id:v}]));const{selectedBoardId:x,shouldAutoSwitch:_}=g;_&&(v&&v!==x?(t(M3(v)),t(k1("images"))):v||t(k1("images")),t(Rs(m)))}t(p1e(null))}t(J$(e.payload))}})},Ybe=()=>{Pe({actionCreator:eF,effect:(e,{dispatch:t})=>{Ie("socketio").error(e.payload,`Invocation error (${e.payload.data.node.type})`),t(DT(e.payload))}})},Qbe=()=>{Pe({actionCreator:uF,effect:(e,{dispatch:t})=>{Ie("socketio").error(e.payload,`Invocation retrieval error (${e.payload.data.graph_execution_state_id})`),t(cF(e.payload))}})},Zbe=()=>{Pe({actionCreator:Q$,effect:(e,{dispatch:t,getState:n})=>{const r=Ie("socketio");if(n().system.canceledSession===e.payload.data.graph_execution_state_id){r.trace(e.payload,"Ignored invocation started for canceled session");return}r.debug(e.payload,`Invocation started (${e.payload.data.node.type})`),t(Z$(e.payload))}})},Jbe=()=>{Pe({actionCreator:oF,effect:(e,{dispatch:t})=>{const n=Ie("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load started: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(Xde(e.payload))}}),Pe({actionCreator:sF,effect:(e,{dispatch:t})=>{const n=Ie("socketio"),{base_model:r,model_name:i,model_type:o,submodel:s}=e.payload.data;let a=`Model load complete: ${r}/${o}/${i}`;s&&(a=a.concat(`/${s}`)),n.debug(e.payload,a),t(Yde(e.payload))}})},eSe=()=>{Pe({actionCreator:aF,effect:(e,{dispatch:t})=>{Ie("socketio").error(e.payload,`Session retrieval error (${e.payload.data.graph_execution_state_id})`),t(lF(e.payload))}})},tSe=()=>{Pe({actionCreator:NT,effect:(e,{dispatch:t})=>{Ie("socketio").debug(e.payload,"Subscribed"),t(K$(e.payload))}})},nSe=()=>{Pe({actionCreator:X$,effect:(e,{dispatch:t})=>{Ie("socketio").debug(e.payload,"Unsubscribed"),t(Y$(e.payload))}})},rSe=()=>{Pe({actionCreator:x_e,effect:async(e,{dispatch:t,getState:n})=>{const{imageDTO:r}=e.payload;try{const i=await t(Se.endpoints.changeImageIsIntermediate.initiate({imageDTO:r,is_intermediate:!1})).unwrap(),{autoAddBoardId:o}=n().gallery;o&&o!=="none"&&await t(Se.endpoints.addImageToBoard.initiate({imageDTO:i,board_id:o})),t(zn({title:"Image Saved",status:"success"}))}catch(i){t(zn({title:"Image Saving Failed",description:i==null?void 0:i.message,status:"error"}))}}})},tMe=["sd-1","sd-2","sdxl","sdxl-refiner"],iSe=["sd-1","sd-2","sdxl"],nMe=["sdxl-refiner"],oSe=()=>{Pe({actionCreator:r$,effect:async(e,{getState:t,dispatch:n})=>{var i;if(e.payload==="unifiedCanvas"){const o=(i=t().generation.model)==null?void 0:i.base_model;if(o&&["sd-1","sd-2"].includes(o))return;try{const s=n(fa.endpoints.getMainModels.initiate(iSe)),a=await s.unwrap();if(s.unsubscribe(),!a.ids.length){n(Sl(null));return}const u=t5.getSelectors().selectAll(a).filter(g=>["sd-1","sd-2"].includes(g.base_model))[0];if(!u){n(Sl(null));return}const{base_model:d,model_name:f,model_type:p}=u;n(Sl({base_model:d,model_name:f,model_type:p}))}catch{n(Sl(null))}}}})},gt="positive_conditioning",_t="negative_conditioning",cr="text_to_latents",Rt="latents_to_image",Dd="nsfw_checker",Yh="invisible_watermark",yt="noise",ms="rand_int",ha="range_of_size",_i="iterate",Gr="main_model_loader",mE="onnx_model_loader",Qh="vae_loader",GU="lora_loader",qt="clip_skip",un="image_to_latents",Un="latents_to_latents",ii="resize_image",fs="inpaint",O0="control_net_collect",Nx="dynamic_prompt",Ot="metadata_accumulator",BO="esrgan",Cn="sdxl_model_loader",ra="t2l_sdxl",Do="l2l_sdxl",fd="sdxl_refiner_model_loader",k0="sdxl_refiner_positive_conditioning",I0="sdxl_refiner_negative_conditioning",Su="l2l_sdxl_refiner",yE="text_to_image_graph",sSe="sdxl_text_to_image_graph",aSe="sxdl_image_to_image_graph",Z1="image_to_image_graph",HU="inpaint_graph",lSe=({image_name:e,esrganModelName:t})=>{const n={id:BO,type:"esrgan",image:{image_name:e},model_name:t,is_intermediate:!1};return{id:"adhoc-esrgan-graph",nodes:{[BO]:n},edges:[]}},uSe=Re("upscale/upscaleRequested"),cSe=()=>{Pe({actionCreator:uSe,effect:async(e,{dispatch:t,getState:n,take:r})=>{const{image_name:i}=e.payload,{esrganModelName:o}=n().postprocessing,s=lSe({image_name:i,esrganModelName:o});t(Ir({graph:s})),await r(Ir.fulfilled.match),t(yc())}})},dSe=e=>{const t=window.open("");t&&e.forEach(n=>{const r=new Image;r.src=n.base64,t.document.write(n.caption),t.document.write("
"),t.document.write(r.outerHTML),t.document.write("

")})},UO=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=i=>t(r.result),r.onerror=i=>n(r.error),r.onabort=i=>n(new Error("Read aborted")),r.readAsDataURL(e)});var vE={exports:{}},rS={},WU={},rt={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e._registerNode=e.Konva=e.glob=void 0;var t=Math.PI/180;function n(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}e.glob=typeof He<"u"?He:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},e.Konva={_global:e.glob,version:"9.2.0",isBrowser:n(),isUnminified:/param/.test((function(i){}).toString()),dblClickWindow:400,getAngle(i){return e.Konva.angleDeg?i*t:i},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,pixelRatio:typeof window<"u"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return e.Konva.DD.isDragging},isDragReady(){return!!e.Konva.DD.node},releaseCanvasOnDestroy:!0,document:e.glob.document,_injectGlobal(i){e.glob.Konva=i}};const r=i=>{e.Konva[i.prototype.getClassName()]=i};e._registerNode=r,e.Konva._injectGlobal(e.Konva)})(rt);var Sn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Util=e.Transform=void 0;const t=rt;class n{constructor(S=[1,0,0,1,0,0]){this.dirty=!1,this.m=S&&S.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new n(this.m)}copyInto(S){S.m[0]=this.m[0],S.m[1]=this.m[1],S.m[2]=this.m[2],S.m[3]=this.m[3],S.m[4]=this.m[4],S.m[5]=this.m[5]}point(S){var C=this.m;return{x:C[0]*S.x+C[2]*S.y+C[4],y:C[1]*S.x+C[3]*S.y+C[5]}}translate(S,C){return this.m[4]+=this.m[0]*S+this.m[2]*C,this.m[5]+=this.m[1]*S+this.m[3]*C,this}scale(S,C){return this.m[0]*=S,this.m[1]*=S,this.m[2]*=C,this.m[3]*=C,this}rotate(S){var C=Math.cos(S),T=Math.sin(S),E=this.m[0]*C+this.m[2]*T,P=this.m[1]*C+this.m[3]*T,k=this.m[0]*-T+this.m[2]*C,O=this.m[1]*-T+this.m[3]*C;return this.m[0]=E,this.m[1]=P,this.m[2]=k,this.m[3]=O,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(S,C){var T=this.m[0]+this.m[2]*C,E=this.m[1]+this.m[3]*C,P=this.m[2]+this.m[0]*S,k=this.m[3]+this.m[1]*S;return this.m[0]=T,this.m[1]=E,this.m[2]=P,this.m[3]=k,this}multiply(S){var C=this.m[0]*S.m[0]+this.m[2]*S.m[1],T=this.m[1]*S.m[0]+this.m[3]*S.m[1],E=this.m[0]*S.m[2]+this.m[2]*S.m[3],P=this.m[1]*S.m[2]+this.m[3]*S.m[3],k=this.m[0]*S.m[4]+this.m[2]*S.m[5]+this.m[4],O=this.m[1]*S.m[4]+this.m[3]*S.m[5]+this.m[5];return this.m[0]=C,this.m[1]=T,this.m[2]=E,this.m[3]=P,this.m[4]=k,this.m[5]=O,this}invert(){var S=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),C=this.m[3]*S,T=-this.m[1]*S,E=-this.m[2]*S,P=this.m[0]*S,k=S*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),O=S*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=C,this.m[1]=T,this.m[2]=E,this.m[3]=P,this.m[4]=k,this.m[5]=O,this}getMatrix(){return this.m}decompose(){var S=this.m[0],C=this.m[1],T=this.m[2],E=this.m[3],P=this.m[4],k=this.m[5],O=S*E-C*T;let M={x:P,y:k,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(S!=0||C!=0){var G=Math.sqrt(S*S+C*C);M.rotation=C>0?Math.acos(S/G):-Math.acos(S/G),M.scaleX=G,M.scaleY=O/G,M.skewX=(S*T+C*E)/O,M.skewY=0}else if(T!=0||E!=0){var U=Math.sqrt(T*T+E*E);M.rotation=Math.PI/2-(E>0?Math.acos(-T/U):-Math.acos(T/U)),M.scaleX=O/U,M.scaleY=U,M.skewX=0,M.skewY=(S*T+C*E)/O}return M.rotation=e.Util._getRotation(M.rotation),M}}e.Transform=n;var r="[object Array]",i="[object Number]",o="[object String]",s="[object Boolean]",a=Math.PI/180,l=180/Math.PI,u="#",d="",f="0",p="Konva warning: ",g="Konva error: ",m="rgb(",v={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,132,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,255,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,203],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:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],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,5]},x=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,_=[];const b=typeof requestAnimationFrame<"u"&&requestAnimationFrame||function(y){setTimeout(y,60)};e.Util={_isElement(y){return!!(y&&y.nodeType==1)},_isFunction(y){return!!(y&&y.constructor&&y.call&&y.apply)},_isPlainObject(y){return!!y&&y.constructor===Object},_isArray(y){return Object.prototype.toString.call(y)===r},_isNumber(y){return Object.prototype.toString.call(y)===i&&!isNaN(y)&&isFinite(y)},_isString(y){return Object.prototype.toString.call(y)===o},_isBoolean(y){return Object.prototype.toString.call(y)===s},isObject(y){return y instanceof Object},isValidSelector(y){if(typeof y!="string")return!1;var S=y[0];return S==="#"||S==="."||S===S.toUpperCase()},_sign(y){return y===0||y>0?1:-1},requestAnimFrame(y){_.push(y),_.length===1&&b(function(){const S=_;_=[],S.forEach(function(C){C()})})},createCanvasElement(){var y=document.createElement("canvas");try{y.style=y.style||{}}catch{}return y},createImageElement(){return document.createElement("img")},_isInDocument(y){for(;y=y.parentNode;)if(y==document)return!0;return!1},_urlToImage(y,S){var C=e.Util.createImageElement();C.onload=function(){S(C)},C.src=y},_rgbToHex(y,S,C){return((1<<24)+(y<<16)+(S<<8)+C).toString(16).slice(1)},_hexToRgb(y){y=y.replace(u,d);var S=parseInt(y,16);return{r:S>>16&255,g:S>>8&255,b:S&255}},getRandomColor(){for(var y=(Math.random()*16777215<<0).toString(16);y.length<6;)y=f+y;return u+y},getRGB(y){var S;return y in v?(S=v[y],{r:S[0],g:S[1],b:S[2]}):y[0]===u?this._hexToRgb(y.substring(1)):y.substr(0,4)===m?(S=x.exec(y.replace(/ /g,"")),{r:parseInt(S[1],10),g:parseInt(S[2],10),b:parseInt(S[3],10)}):{r:0,g:0,b:0}},colorToRGBA(y){return y=y||"black",e.Util._namedColorToRBA(y)||e.Util._hex3ColorToRGBA(y)||e.Util._hex4ColorToRGBA(y)||e.Util._hex6ColorToRGBA(y)||e.Util._hex8ColorToRGBA(y)||e.Util._rgbColorToRGBA(y)||e.Util._rgbaColorToRGBA(y)||e.Util._hslColorToRGBA(y)},_namedColorToRBA(y){var S=v[y.toLowerCase()];return S?{r:S[0],g:S[1],b:S[2],a:1}:null},_rgbColorToRGBA(y){if(y.indexOf("rgb(")===0){y=y.match(/rgb\(([^)]+)\)/)[1];var S=y.split(/ *, */).map(Number);return{r:S[0],g:S[1],b:S[2],a:1}}},_rgbaColorToRGBA(y){if(y.indexOf("rgba(")===0){y=y.match(/rgba\(([^)]+)\)/)[1];var S=y.split(/ *, */).map((C,T)=>C.slice(-1)==="%"?T===3?parseInt(C)/100:parseInt(C)/100*255:Number(C));return{r:S[0],g:S[1],b:S[2],a:S[3]}}},_hex8ColorToRGBA(y){if(y[0]==="#"&&y.length===9)return{r:parseInt(y.slice(1,3),16),g:parseInt(y.slice(3,5),16),b:parseInt(y.slice(5,7),16),a:parseInt(y.slice(7,9),16)/255}},_hex6ColorToRGBA(y){if(y[0]==="#"&&y.length===7)return{r:parseInt(y.slice(1,3),16),g:parseInt(y.slice(3,5),16),b:parseInt(y.slice(5,7),16),a:1}},_hex4ColorToRGBA(y){if(y[0]==="#"&&y.length===5)return{r:parseInt(y[1]+y[1],16),g:parseInt(y[2]+y[2],16),b:parseInt(y[3]+y[3],16),a:parseInt(y[4]+y[4],16)/255}},_hex3ColorToRGBA(y){if(y[0]==="#"&&y.length===4)return{r:parseInt(y[1]+y[1],16),g:parseInt(y[2]+y[2],16),b:parseInt(y[3]+y[3],16),a:1}},_hslColorToRGBA(y){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(y)){const[S,...C]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(y),T=Number(C[0])/360,E=Number(C[1])/100,P=Number(C[2])/100;let k,O,M;if(E===0)return M=P*255,{r:Math.round(M),g:Math.round(M),b:Math.round(M),a:1};P<.5?k=P*(1+E):k=P+E-P*E;const G=2*P-k,U=[0,0,0];for(let A=0;A<3;A++)O=T+1/3*-(A-1),O<0&&O++,O>1&&O--,6*O<1?M=G+(k-G)*6*O:2*O<1?M=k:3*O<2?M=G+(k-G)*(2/3-O)*6:M=G,U[A]=M*255;return{r:Math.round(U[0]),g:Math.round(U[1]),b:Math.round(U[2]),a:1}}},haveIntersection(y,S){return!(S.x>y.x+y.width||S.x+S.widthy.y+y.height||S.y+S.height1?(k=C,O=T,M=(C-E)*(C-E)+(T-P)*(T-P)):(k=y+U*(C-y),O=S+U*(T-S),M=(k-E)*(k-E)+(O-P)*(O-P))}return[k,O,M]},_getProjectionToLine(y,S,C){var T=e.Util.cloneObject(y),E=Number.MAX_VALUE;return S.forEach(function(P,k){if(!(!C&&k===S.length-1)){var O=S[(k+1)%S.length],M=e.Util._getProjectionToSegment(P.x,P.y,O.x,O.y,y.x,y.y),G=M[0],U=M[1],A=M[2];AS.length){var k=S;S=y,y=k}for(T=0;T{S.width=0,S.height=0})},drawRoundedRectPath(y,S,C,T){let E=0,P=0,k=0,O=0;typeof T=="number"?E=P=k=O=Math.min(T,S/2,C/2):(E=Math.min(T[0]||0,S/2,C/2),P=Math.min(T[1]||0,S/2,C/2),O=Math.min(T[2]||0,S/2,C/2),k=Math.min(T[3]||0,S/2,C/2)),y.moveTo(E,0),y.lineTo(S-P,0),y.arc(S-P,P,P,Math.PI*3/2,0,!1),y.lineTo(S,C-O),y.arc(S-O,C-O,O,0,Math.PI/2,!1),y.lineTo(k,C),y.arc(k,C-k,k,Math.PI/2,Math.PI,!1),y.lineTo(0,E),y.arc(E,E,E,Math.PI,Math.PI*3/2,!1)}}})(Sn);var fn={},nt={},ke={};Object.defineProperty(ke,"__esModule",{value:!0});ke.getComponentValidator=ke.getBooleanValidator=ke.getNumberArrayValidator=ke.getFunctionValidator=ke.getStringOrGradientValidator=ke.getStringValidator=ke.getNumberOrAutoValidator=ke.getNumberOrArrayOfNumbersValidator=ke.getNumberValidator=ke.alphaComponent=ke.RGBComponent=void 0;const Fa=rt,En=Sn;function Ba(e){return En.Util._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||En.Util._isBoolean(e)?e:Object.prototype.toString.call(e)}function fSe(e){return e>255?255:e<0?0:Math.round(e)}ke.RGBComponent=fSe;function hSe(e){return e>1?1:e<1e-4?1e-4:e}ke.alphaComponent=hSe;function pSe(){if(Fa.Konva.isUnminified)return function(e,t){return En.Util._isNumber(e)||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}ke.getNumberValidator=pSe;function gSe(e){if(Fa.Konva.isUnminified)return function(t,n){let r=En.Util._isNumber(t),i=En.Util._isArray(t)&&t.length==e;return!r&&!i&&En.Util.warn(Ba(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array('+e+")"),t}}ke.getNumberOrArrayOfNumbersValidator=gSe;function mSe(){if(Fa.Konva.isUnminified)return function(e,t){var n=En.Util._isNumber(e),r=e==="auto";return n||r||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}ke.getNumberOrAutoValidator=mSe;function ySe(){if(Fa.Konva.isUnminified)return function(e,t){return En.Util._isString(e)||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}ke.getStringValidator=ySe;function vSe(){if(Fa.Konva.isUnminified)return function(e,t){const n=En.Util._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}ke.getStringOrGradientValidator=vSe;function _Se(){if(Fa.Konva.isUnminified)return function(e,t){return En.Util._isFunction(e)||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a function.'),e}}ke.getFunctionValidator=_Se;function bSe(){if(Fa.Konva.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(En.Util._isArray(e)?e.forEach(function(r){En.Util._isNumber(r)||En.Util.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}ke.getNumberArrayValidator=bSe;function SSe(){if(Fa.Konva.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||En.Util.warn(Ba(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}ke.getBooleanValidator=SSe;function wSe(e){if(Fa.Konva.isUnminified)return function(t,n){return t==null||En.Util.isObject(t)||En.Util.warn(Ba(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}ke.getComponentValidator=wSe;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Factory=void 0;const t=Sn,n=ke;var r="get",i="set";e.Factory={addGetterSetter(o,s,a,l,u){e.Factory.addGetter(o,s,a),e.Factory.addSetter(o,s,l,u),e.Factory.addOverloadedGetterSetter(o,s)},addGetter(o,s,a){var l=r+t.Util._capitalize(s);o.prototype[l]=o.prototype[l]||function(){var u=this.attrs[s];return u===void 0?a:u}},addSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]||e.Factory.overWriteSetter(o,s,a,l)},overWriteSetter(o,s,a,l){var u=i+t.Util._capitalize(s);o.prototype[u]=function(d){return a&&d!==void 0&&d!==null&&(d=a.call(this,d,s)),this._setAttr(s,d),l&&l.call(this),this}},addComponentsGetterSetter(o,s,a,l,u){var d=a.length,f=t.Util._capitalize,p=r+f(s),g=i+f(s),m,v;o.prototype[p]=function(){var _={};for(m=0;m{this._setAttr(s+f(S),void 0)}),this._fireChangeEvent(s,b,_),u&&u.call(this),this},e.Factory.addOverloadedGetterSetter(o,s)},addOverloadedGetterSetter(o,s){var a=t.Util._capitalize(s),l=i+a,u=r+a;o.prototype[s]=function(){return arguments.length?(this[l](arguments[0]),this):this[u]()}},addDeprecatedGetterSetter(o,s,a,l){t.Util.error("Adding deprecated "+s);var u=r+t.Util._capitalize(s),d=s+" property is deprecated and will be removed soon. Look at Konva change log for more information.";o.prototype[u]=function(){t.Util.error(d);var f=this.attrs[s];return f===void 0?a:f},e.Factory.addSetter(o,s,l,function(){t.Util.error(d)}),e.Factory.addOverloadedGetterSetter(o,s)},backCompat(o,s){t.Util.each(s,function(a,l){var u=o.prototype[l],d=r+t.Util._capitalize(a),f=i+t.Util._capitalize(a);function p(){u.apply(this,arguments),t.Util.error('"'+a+'" method is deprecated and will be removed soon. Use ""'+l+'" instead.')}o.prototype[a]=p,o.prototype[d]=p,o.prototype[f]=p})},afterSetFilter(){this._filterUpToDate=!1}}})(nt);var Qo={},ba={};Object.defineProperty(ba,"__esModule",{value:!0});ba.HitContext=ba.SceneContext=ba.Context=void 0;const qU=Sn,xSe=rt;function CSe(e){var t=[],n=e.length,r=qU.Util,i,o;for(i=0;itypeof d=="number"?Math.floor(d):d)),o+=TSe+u.join(zO)+ESe)):(o+=a.property,t||(o+=kSe+a.val)),o+=RSe;return o}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=MSe&&n.shift()}reset(){var t=this.getCanvas().getPixelRatio();this.setTransform(1*t,0,0,1*t,0,0)}getCanvas(){return this.canvas}clear(t){var n=this.getCanvas();t?this.clearRect(t.x||0,t.y||0,t.width||0,t.height||0):this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(t){const n=t.attrs.lineCap;n&&this.setAttr("lineCap",n)}_applyOpacity(t){var n=t.getAbsoluteOpacity();n!==1&&this.setAttr("globalAlpha",n)}_applyLineJoin(t){const n=t.attrs.lineJoin;n&&this.setAttr("lineJoin",n)}setAttr(t,n){this._context[t]=n}arc(t,n,r,i,o,s){this._context.arc(t,n,r,i,o,s)}arcTo(t,n,r,i,o){this._context.arcTo(t,n,r,i,o)}beginPath(){this._context.beginPath()}bezierCurveTo(t,n,r,i,o,s){this._context.bezierCurveTo(t,n,r,i,o,s)}clearRect(t,n,r,i){this._context.clearRect(t,n,r,i)}clip(...t){this._context.clip.apply(this._context,t)}closePath(){this._context.closePath()}createImageData(t,n){var r=arguments;if(r.length===2)return this._context.createImageData(t,n);if(r.length===1)return this._context.createImageData(t)}createLinearGradient(t,n,r,i){return this._context.createLinearGradient(t,n,r,i)}createPattern(t,n){return this._context.createPattern(t,n)}createRadialGradient(t,n,r,i,o,s){return this._context.createRadialGradient(t,n,r,i,o,s)}drawImage(t,n,r,i,o,s,a,l,u){var d=arguments,f=this._context;d.length===3?f.drawImage(t,n,r):d.length===5?f.drawImage(t,n,r,i,o):d.length===9&&f.drawImage(t,n,r,i,o,s,a,l,u)}ellipse(t,n,r,i,o,s,a,l){this._context.ellipse(t,n,r,i,o,s,a,l)}isPointInPath(t,n,r,i){return r?this._context.isPointInPath(r,t,n,i):this._context.isPointInPath(t,n,i)}fill(...t){this._context.fill.apply(this._context,t)}fillRect(t,n,r,i){this._context.fillRect(t,n,r,i)}strokeRect(t,n,r,i){this._context.strokeRect(t,n,r,i)}fillText(t,n,r,i){i?this._context.fillText(t,n,r,i):this._context.fillText(t,n,r)}measureText(t){return this._context.measureText(t)}getImageData(t,n,r,i){return this._context.getImageData(t,n,r,i)}lineTo(t,n){this._context.lineTo(t,n)}moveTo(t,n){this._context.moveTo(t,n)}rect(t,n,r,i){this._context.rect(t,n,r,i)}putImageData(t,n,r){this._context.putImageData(t,n,r)}quadraticCurveTo(t,n,r,i){this._context.quadraticCurveTo(t,n,r,i)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,n){this._context.scale(t,n)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(t,n,r,i,o,s){this._context.setTransform(t,n,r,i,o,s)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,n,r,i){this._context.strokeText(t,n,r,i)}transform(t,n,r,i,o,s){this._context.transform(t,n,r,i,o,s)}translate(t,n){this._context.translate(t,n)}_enableTrace(){var t=this,n=VO.length,r=this.setAttr,i,o,s=function(a){var l=t[a],u;t[a]=function(){return o=CSe(Array.prototype.slice.call(arguments,0)),u=l.apply(t,arguments),t._trace({method:a,args:o}),u}};for(i=0;i{i.dragStatus==="dragging"&&(r=!0)}),r},justDragged:!1,get node(){var r;return e.DD._dragElements.forEach(i=>{r=i.node}),r},_dragElements:new Map,_drag(r){const i=[];e.DD._dragElements.forEach((o,s)=>{const{node:a}=o,l=a.getStage();l.setPointersPositions(r),o.pointerId===void 0&&(o.pointerId=n.Util._getFirstPointerId(r));const u=l._changedPointerPositions.find(p=>p.id===o.pointerId);if(u){if(o.dragStatus!=="dragging"){var d=a.dragDistance(),f=Math.max(Math.abs(u.x-o.startPointerPos.x),Math.abs(u.y-o.startPointerPos.y));if(f{o.fire("dragmove",{type:"dragmove",target:o,evt:r},!0)})},_endDragBefore(r){const i=[];e.DD._dragElements.forEach(o=>{const{node:s}=o,a=s.getStage();if(r&&a.setPointersPositions(r),!a._changedPointerPositions.find(d=>d.id===o.pointerId))return;(o.dragStatus==="dragging"||o.dragStatus==="stopped")&&(e.DD.justDragged=!0,t.Konva._mouseListenClick=!1,t.Konva._touchListenClick=!1,t.Konva._pointerListenClick=!1,o.dragStatus="stopped");const u=o.node.getLayer()||o.node instanceof t.Konva.Stage&&o.node;u&&i.indexOf(u)===-1&&i.push(u)}),i.forEach(o=>{o.draw()})},_endDragAfter(r){e.DD._dragElements.forEach((i,o)=>{i.dragStatus==="stopped"&&i.node.fire("dragend",{type:"dragend",target:i.node,evt:r},!0),i.dragStatus!=="dragging"&&e.DD._dragElements.delete(o)})}},t.Konva.isBrowser&&(window.addEventListener("mouseup",e.DD._endDragBefore,!0),window.addEventListener("touchend",e.DD._endDragBefore,!0),window.addEventListener("mousemove",e.DD._drag),window.addEventListener("touchmove",e.DD._drag),window.addEventListener("mouseup",e.DD._endDragAfter,!1),window.addEventListener("touchend",e.DD._endDragAfter,!1))})(sS);Object.defineProperty(fn,"__esModule",{value:!0});fn.Node=void 0;const ct=Sn,Am=nt,N0=Qo,wu=rt,uo=sS,Ln=ke;var _v="absoluteOpacity",L0="allEventListeners",la="absoluteTransform",jO="absoluteScale",xu="canvas",zSe="Change",VSe="children",jSe="konva",o5="listening",GO="mouseenter",HO="mouseleave",WO="set",qO="Shape",bv=" ",KO="stage",sl="transform",GSe="Stage",s5="visible",HSe=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(bv);let WSe=1;class ze{constructor(t){this._id=WSe++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===sl||t===la)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){var r=this._cache.get(t),i=t===sl||t===la,o=r===void 0||i&&r.dirty===!0;return o&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const i=n.map(o=>o+"Change.konva").join(bv);this.on(i,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(xu)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===la&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(xu)){const{scene:t,filter:n,hit:r}=this._cache.get(xu);ct.Util.releaseCanvas(t,n,r),this._cache.delete(xu)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){var n=t||{},r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()}));var i=Math.ceil(n.width||r.width),o=Math.ceil(n.height||r.height),s=n.pixelRatio,a=n.x===void 0?Math.floor(r.x):n.x,l=n.y===void 0?Math.floor(r.y):n.y,u=n.offset||0,d=n.drawBorder||!1,f=n.hitCanvasPixelRatio||1;if(!i||!o){ct.Util.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}i+=u*2+1,o+=u*2+1,a-=u,l-=u;var p=new N0.SceneCanvas({pixelRatio:s,width:i,height:o}),g=new N0.SceneCanvas({pixelRatio:s,width:0,height:0,willReadFrequently:!0}),m=new N0.HitCanvas({pixelRatio:f,width:i,height:o}),v=p.getContext(),x=m.getContext();return m.isCache=!0,p.isCache=!0,this._cache.delete(xu),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(p.getContext()._context.imageSmoothingEnabled=!1,g.getContext()._context.imageSmoothingEnabled=!1),v.save(),x.save(),v.translate(-a,-l),x.translate(-a,-l),this._isUnderCache=!0,this._clearSelfAndDescendantCache(_v),this._clearSelfAndDescendantCache(jO),this.drawScene(p,this),this.drawHit(m,this),this._isUnderCache=!1,v.restore(),x.restore(),d&&(v.save(),v.beginPath(),v.rect(0,0,i,o),v.closePath(),v.setAttr("strokeStyle","red"),v.setAttr("lineWidth",5),v.stroke(),v.restore()),this._cache.set(xu,{scene:p,filter:g,hit:m,x:a,y:l}),this._requestDraw(),this}isCached(){return this._cache.has(xu)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){var r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}],i,o,s,a,l=this.getAbsoluteTransform(n);return r.forEach(function(u){var d=l.point(u);i===void 0&&(i=s=d.x,o=a=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),s=Math.max(s,d.x),a=Math.max(a,d.y)}),{x:i,y:o,width:s-i,height:a-o}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);var r=this._getCachedSceneCanvas(),i=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/i,r.height/i),t.restore()}_drawCachedHitCanvas(t){var n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){var t=this.filters(),n=this._getCanvasCache(),r=n.scene,i=n.filter,o=i.getContext(),s,a,l,u;if(t){if(!this._filterUpToDate){var d=r.pixelRatio;i.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(s=t.length,o.clear(),o.drawImage(r._canvas,0,0,r.getWidth()/d,r.getHeight()/d),a=o.getImageData(0,0,i.getWidth(),i.getHeight()),l=0;l{var n,r;if(!t)return this;for(n in t)n!==VSe&&(r=WO+ct.Util._capitalize(n),ct.Util._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(o5,this._isListening)}_isListening(t){if(!this.listening())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isListening(t):!0}isVisible(){return this._getCache(s5,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);var r=this.getLayer(),i=!1;uo.DD._dragElements.forEach(s=>{s.dragStatus==="dragging"&&(s.node.nodeType==="Stage"||s.node.getLayer()===r)&&(i=!0)});var o=!n&&!wu.Konva.hitOnDragEnabled&&i;return this.isListening()&&this.isVisible()&&!o}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){var t=this.getDepth(),n=this,r=0,i,o,s,a;function l(u){for(i=[],o=u.length,s=0;s0&&i[0].getDepth()<=t&&l(i)}return n.nodeType!==GSe&&l(n.getStage().getChildren()),r}getDepth(){for(var t=0,n=this.parent;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(sl),this._clearSelfAndDescendantCache(la)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){if(!this.getStage())return null;var t=this.getStage().getPointerPosition();if(!t)return null;var n=this.getAbsoluteTransform().copy();return n.invert(),n.point(t)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);var i=this.getAbsoluteTransform(t).getMatrix(),o=new ct.Transform,s=this.offset();return o.m=i.slice(),o.translate(s.x,s.y),o.getTranslation()}setAbsolutePosition(t){var n=this._clearTransform();this.attrs.x=n.x,this.attrs.y=n.y,delete n.x,delete n.y,this._clearCache(sl);var r=this._getAbsoluteTransform().copy();return r.invert(),r.translate(t.x,t.y),t={x:this.attrs.x+r.getTranslation().x,y:this.attrs.y+r.getTranslation().y},this._setTransform(n),this.setPosition({x:t.x,y:t.y}),this._clearCache(sl),this._clearSelfAndDescendantCache(la),this}_setTransform(t){var n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){var t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){var n=t.x,r=t.y,i=this.x(),o=this.y();return n!==void 0&&(i+=n),r!==void 0&&(o+=r),this.setPosition({x:i,y:o}),this}_eachAncestorReverse(t,n){var r=[],i=this.getParent(),o,s;if(!(n&&n._id===this._id)){for(r.unshift(this);i&&(!n||i._id!==n._id);)r.unshift(i),i=i.parent;for(o=r.length,s=0;s0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return ct.Util.warn("Node has no parent. moveToBottom function is ignored."),!1;var t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return ct.Util.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&ct.Util.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");var n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(_v,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){var t=this.opacity(),n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){var t={},n=this.getAttrs(),r,i,o,s,a;t.attrs={};for(r in n)i=n[r],a=ct.Util.isObject(i)&&!ct.Util._isPlainObject(i)&&!ct.Util._isArray(i),!a&&(o=typeof this[r]=="function"&&this[r],delete n[r],s=o?o.call(this):null,n[r]=i,s!==i&&(t.attrs[r]=i));return t.className=this.getClassName(),ct.Util._prepareToStringify(t)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){var i=[];n&&this._isMatch(t)&&i.push(this);for(var o=this.parent;o;){if(o===r)return i;o._isMatch(t)&&i.push(o),o=o.parent}return i}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);var n=t.replace(/ /g,"").split(","),r=n.length,i,o;for(i=0;i{try{const i=t==null?void 0:t.callback;i&&delete t.callback,ct.Util._urlToImage(this.toDataURL(t),function(o){n(o),i==null||i(o)})}catch(i){r(i)}})}toBlob(t){return new Promise((n,r)=>{try{const i=t==null?void 0:t.callback;i&&delete t.callback,this.toCanvas(t).toBlob(o=>{n(o),i==null||i(o)})}catch(i){r(i)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():wu.Konva.dragDistance}_off(t,n,r){var i=this.eventListeners[t],o,s,a;for(o=0;o=0;if(r&&!this.isDragging()){var i=!1;uo.DD._dragElements.forEach(o=>{this.isAncestorOf(o.node)&&(i=!0)}),i||this._createDragElement(t)}})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{this._dragCleanup();var t=this.getStage();if(!t)return;const n=uo.DD._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";r?this.stopDrag():i&&uo.DD._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return ct.Util.haveIntersection(r,this.getClientRect())}static create(t,n){return ct.Util._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=ze.prototype.getClassName.call(t),i=t.children,o,s,a;n&&(t.attrs.container=n),wu.Konva[r]||(ct.Util.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const l=wu.Konva[r];if(o=new l(t.attrs),i)for(s=i.length,a=0;a0}removeChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.destroy()}),this.children=[],this._requestDraw(),this}add(...t){if(t.length===0)return this;if(t.length>1){for(var n=0;n0?n[0]:void 0}_generalFind(t,n){var r=[];return this._descendants(i=>{const o=i._isMatch(t);return o&&r.push(i),!!(o&&n)}),r}_descendants(t){let n=!1;const r=this.getChildren();for(const i of r){if(n=t(i),n)return!0;if(i.hasChildren()&&(n=i._descendants(t),n))return!0}return!1}toObject(){var t=Lx.Node.prototype.toObject.call(this);return t.children=[],this.getChildren().forEach(n=>{t.children.push(n.toObject())}),t}isAncestorOf(t){for(var n=t.getParent();n;){if(n._id===this._id)return!0;n=n.getParent()}return!1}clone(t){var n=Lx.Node.prototype.clone.call(this,t);return this.getChildren().forEach(function(r){n.add(r.clone())}),n}getAllIntersections(t){var n=[];return this.find("Shape").forEach(function(r){r.isVisible()&&r.intersects(t)&&n.push(r)}),n}_clearSelfAndDescendantCache(t){var n;super._clearSelfAndDescendantCache(t),!this.isCached()&&((n=this.children)===null||n===void 0||n.forEach(function(r){r._clearSelfAndDescendantCache(t)}))}_setChildrenIndices(){var t;(t=this.children)===null||t===void 0||t.forEach(function(n,r){n.index=r}),this._requestDraw()}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas(),o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.scene,l=i&&i.isCache;if(!this.isVisible()&&!l)return this;if(a){o.save();var u=this.getAbsoluteTransform(n).getMatrix();o.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this._drawCachedSceneCanvas(o),o.restore()}else this._drawChildren("drawScene",i,n);return this}drawHit(t,n){if(!this.shouldDrawHit(n))return this;var r=this.getLayer(),i=t||r&&r.hitCanvas,o=i&&i.getContext(),s=this._getCanvasCache(),a=s&&s.hit;if(a){o.save();var l=this.getAbsoluteTransform(n).getMatrix();o.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawCachedHitCanvas(o),o.restore()}else this._drawChildren("drawHit",i,n);return this}_drawChildren(t,n,r){var i,o=n&&n.getContext(),s=this.clipWidth(),a=this.clipHeight(),l=this.clipFunc(),u=s&&a||l;const d=r===this;if(u){o.save();var f=this.getAbsoluteTransform(r),p=f.getMatrix();o.transform(p[0],p[1],p[2],p[3],p[4],p[5]),o.beginPath();let x;if(l)x=l.call(this,o,this);else{var g=this.clipX(),m=this.clipY();o.rect(g,m,s,a)}o.clip.apply(o,x),p=f.copy().invert().getMatrix(),o.transform(p[0],p[1],p[2],p[3],p[4],p[5])}var v=!d&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";v&&(o.save(),o._applyGlobalCompositeOperation(this)),(i=this.children)===null||i===void 0||i.forEach(function(x){x[t](n,r)}),v&&o.restore(),u&&o.restore()}getClientRect(t){var n;t=t||{};var r=t.skipTransform,i=t.relativeTo,o,s,a,l,u={x:1/0,y:1/0,width:0,height:0},d=this;(n=this.children)===null||n===void 0||n.forEach(function(v){if(v.visible()){var x=v.getClientRect({relativeTo:d,skipShadow:t.skipShadow,skipStroke:t.skipStroke});x.width===0&&x.height===0||(o===void 0?(o=x.x,s=x.y,a=x.x+x.width,l=x.y+x.height):(o=Math.min(o,x.x),s=Math.min(s,x.y),a=Math.max(a,x.x+x.width),l=Math.max(l,x.y+x.height)))}});for(var f=this.find("Shape"),p=!1,g=0;gle.indexOf("pointer")>=0?"pointer":le.indexOf("touch")>=0?"touch":"mouse",Z=le=>{const W=q(le);if(W==="pointer")return i.Konva.pointerEventsEnabled&&j.pointer;if(W==="touch")return j.touch;if(W==="mouse")return j.mouse};function ee(le={}){return(le.clipFunc||le.clipWidth||le.clipHeight)&&t.Util.warn("Stage does not support clipping. Please use clip for Layers or Groups."),le}const ie="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);";e.stages=[];class se extends r.Container{constructor(W){super(ee(W)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),e.stages.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{ee(this.attrs)}),this._checkVisibility()}_validateAdd(W){const ne=W.getType()==="Layer",fe=W.getType()==="FastLayer";ne||fe||t.Util.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const W=this.visible()?"":"none";this.content.style.display=W}setContainer(W){if(typeof W===d){if(W.charAt(0)==="."){var ne=W.slice(1);W=document.getElementsByClassName(ne)[0]}else{var fe;W.charAt(0)!=="#"?fe=W:fe=W.slice(1),W=document.getElementById(fe)}if(!W)throw"Can not find container in document with id "+fe}return this._setAttr("container",W),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),W.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var W=this.children,ne=W.length,fe;for(fe=0;fe-1&&e.stages.splice(ne,1),t.Util.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const W=this._pointerPositions[0]||this._changedPointerPositions[0];return W?{x:W.x,y:W.y}:(t.Util.warn(ie),null)}_getPointerById(W){return this._pointerPositions.find(ne=>ne.id===W)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(W){W=W||{},W.x=W.x||0,W.y=W.y||0,W.width=W.width||this.width(),W.height=W.height||this.height();var ne=new o.SceneCanvas({width:W.width,height:W.height,pixelRatio:W.pixelRatio||1}),fe=ne.getContext()._context,pe=this.children;return(W.x||W.y)&&fe.translate(-1*W.x,-1*W.y),pe.forEach(function(ve){if(ve.isVisible()){var ye=ve._toKonvaCanvas(W);fe.drawImage(ye._canvas,W.x,W.y,ye.getWidth()/ye.getPixelRatio(),ye.getHeight()/ye.getPixelRatio())}}),ne}getIntersection(W){if(!W)return null;var ne=this.children,fe=ne.length,pe=fe-1,ve;for(ve=pe;ve>=0;ve--){const ye=ne[ve].getIntersection(W);if(ye)return ye}return null}_resizeDOM(){var W=this.width(),ne=this.height();this.content&&(this.content.style.width=W+f,this.content.style.height=ne+f),this.bufferCanvas.setSize(W,ne),this.bufferHitCanvas.setSize(W,ne),this.children.forEach(fe=>{fe.setSize({width:W,height:ne}),fe.draw()})}add(W,...ne){if(arguments.length>1){for(var fe=0;feD&&t.Util.warn("The stage has "+pe+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),W.setSize({width:this.width(),height:this.height()}),W.draw(),i.Konva.isBrowser&&this.content.appendChild(W.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(W){return l.hasPointerCapture(W,this)}setPointerCapture(W){l.setPointerCapture(W,this)}releaseCapture(W){l.releaseCapture(W,this)}getLayers(){return this.children}_bindContentEvents(){i.Konva.isBrowser&&V.forEach(([W,ne])=>{this.content.addEventListener(W,fe=>{this[ne](fe)},{passive:!1})})}_pointerenter(W){this.setPointersPositions(W);const ne=Z(W.type);this._fire(ne.pointerenter,{evt:W,target:this,currentTarget:this})}_pointerover(W){this.setPointersPositions(W);const ne=Z(W.type);this._fire(ne.pointerover,{evt:W,target:this,currentTarget:this})}_getTargetShape(W){let ne=this[W+"targetShape"];return ne&&!ne.getStage()&&(ne=null),ne}_pointerleave(W){const ne=Z(W.type),fe=q(W.type);if(ne){this.setPointersPositions(W);var pe=this._getTargetShape(fe),ve=!s.DD.isDragging||i.Konva.hitOnDragEnabled;pe&&ve?(pe._fireAndBubble(ne.pointerout,{evt:W}),pe._fireAndBubble(ne.pointerleave,{evt:W}),this._fire(ne.pointerleave,{evt:W,target:this,currentTarget:this}),this[fe+"targetShape"]=null):ve&&(this._fire(ne.pointerleave,{evt:W,target:this,currentTarget:this}),this._fire(ne.pointerout,{evt:W,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(W){const ne=Z(W.type),fe=q(W.type);if(ne){this.setPointersPositions(W);var pe=!1;this._changedPointerPositions.forEach(ve=>{var ye=this.getIntersection(ve);if(s.DD.justDragged=!1,i.Konva["_"+fe+"ListenClick"]=!0,!(ye&&ye.isListening()))return;i.Konva.capturePointerEventsEnabled&&ye.setPointerCapture(ve.id),this[fe+"ClickStartShape"]=ye,ye._fireAndBubble(ne.pointerdown,{evt:W,pointerId:ve.id}),pe=!0;const Me=W.type.indexOf("touch")>=0;ye.preventDefault()&&W.cancelable&&Me&&W.preventDefault()}),pe||this._fire(ne.pointerdown,{evt:W,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(W){const ne=Z(W.type),fe=q(W.type);if(!ne)return;s.DD.isDragging&&s.DD.node.preventDefault()&&W.cancelable&&W.preventDefault(),this.setPointersPositions(W);var pe=!s.DD.isDragging||i.Konva.hitOnDragEnabled;if(!pe)return;var ve={};let ye=!1;var We=this._getTargetShape(fe);this._changedPointerPositions.forEach(Me=>{const Ee=l.getCapturedShape(Me.id)||this.getIntersection(Me),lt=Me.id,_e={evt:W,pointerId:lt};var jt=We!==Ee;if(jt&&We&&(We._fireAndBubble(ne.pointerout,Object.assign({},_e),Ee),We._fireAndBubble(ne.pointerleave,Object.assign({},_e),Ee)),Ee){if(ve[Ee._id])return;ve[Ee._id]=!0}Ee&&Ee.isListening()?(ye=!0,jt&&(Ee._fireAndBubble(ne.pointerover,Object.assign({},_e),We),Ee._fireAndBubble(ne.pointerenter,Object.assign({},_e),We),this[fe+"targetShape"]=Ee),Ee._fireAndBubble(ne.pointermove,Object.assign({},_e))):We&&(this._fire(ne.pointerover,{evt:W,target:this,currentTarget:this,pointerId:lt}),this[fe+"targetShape"]=null)}),ye||this._fire(ne.pointermove,{evt:W,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(W){const ne=Z(W.type),fe=q(W.type);if(!ne)return;this.setPointersPositions(W);const pe=this[fe+"ClickStartShape"],ve=this[fe+"ClickEndShape"];var ye={};let We=!1;this._changedPointerPositions.forEach(Me=>{const Ee=l.getCapturedShape(Me.id)||this.getIntersection(Me);if(Ee){if(Ee.releaseCapture(Me.id),ye[Ee._id])return;ye[Ee._id]=!0}const lt=Me.id,_e={evt:W,pointerId:lt};let jt=!1;i.Konva["_"+fe+"InDblClickWindow"]?(jt=!0,clearTimeout(this[fe+"DblTimeout"])):s.DD.justDragged||(i.Konva["_"+fe+"InDblClickWindow"]=!0,clearTimeout(this[fe+"DblTimeout"])),this[fe+"DblTimeout"]=setTimeout(function(){i.Konva["_"+fe+"InDblClickWindow"]=!1},i.Konva.dblClickWindow),Ee&&Ee.isListening()?(We=!0,this[fe+"ClickEndShape"]=Ee,Ee._fireAndBubble(ne.pointerup,Object.assign({},_e)),i.Konva["_"+fe+"ListenClick"]&&pe&&pe===Ee&&(Ee._fireAndBubble(ne.pointerclick,Object.assign({},_e)),jt&&ve&&ve===Ee&&Ee._fireAndBubble(ne.pointerdblclick,Object.assign({},_e)))):(this[fe+"ClickEndShape"]=null,i.Konva["_"+fe+"ListenClick"]&&this._fire(ne.pointerclick,{evt:W,target:this,currentTarget:this,pointerId:lt}),jt&&this._fire(ne.pointerdblclick,{evt:W,target:this,currentTarget:this,pointerId:lt}))}),We||this._fire(ne.pointerup,{evt:W,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),i.Konva["_"+fe+"ListenClick"]=!1,W.cancelable&&fe!=="touch"&&W.preventDefault()}_contextmenu(W){this.setPointersPositions(W);var ne=this.getIntersection(this.getPointerPosition());ne&&ne.isListening()?ne._fireAndBubble(G,{evt:W}):this._fire(G,{evt:W,target:this,currentTarget:this})}_wheel(W){this.setPointersPositions(W);var ne=this.getIntersection(this.getPointerPosition());ne&&ne.isListening()?ne._fireAndBubble(B,{evt:W}):this._fire(B,{evt:W,target:this,currentTarget:this})}_pointercancel(W){this.setPointersPositions(W);const ne=l.getCapturedShape(W.pointerId)||this.getIntersection(this.getPointerPosition());ne&&ne._fireAndBubble(C,l.createEvent(W)),l.releaseCapture(W.pointerId)}_lostpointercapture(W){l.releaseCapture(W.pointerId)}setPointersPositions(W){var ne=this._getContentPosition(),fe=null,pe=null;W=W||window.event,W.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(W.touches,ve=>{this._pointerPositions.push({id:ve.identifier,x:(ve.clientX-ne.left)/ne.scaleX,y:(ve.clientY-ne.top)/ne.scaleY})}),Array.prototype.forEach.call(W.changedTouches||W.touches,ve=>{this._changedPointerPositions.push({id:ve.identifier,x:(ve.clientX-ne.left)/ne.scaleX,y:(ve.clientY-ne.top)/ne.scaleY})})):(fe=(W.clientX-ne.left)/ne.scaleX,pe=(W.clientY-ne.top)/ne.scaleY,this.pointerPos={x:fe,y:pe},this._pointerPositions=[{x:fe,y:pe,id:t.Util._getFirstPointerId(W)}],this._changedPointerPositions=[{x:fe,y:pe,id:t.Util._getFirstPointerId(W)}])}_setPointerPosition(W){t.Util.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(W)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var W=this.content.getBoundingClientRect();return{top:W.top,left:W.left,scaleX:W.width/this.content.clientWidth||1,scaleY:W.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new o.SceneCanvas({width:this.width(),height:this.height()}),this.bufferHitCanvas=new o.HitCanvas({pixelRatio:1,width:this.width(),height:this.height()}),!!i.Konva.isBrowser){var W=this.container();if(!W)throw"Stage has no container. A container is required.";W.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),W.appendChild(this.content),this._resizeDOM()}}cache(){return t.Util.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(W){W.batchDraw()}),this}}e.Stage=se,se.prototype.nodeType=u,(0,a._registerNode)(se),n.Factory.addGetterSetter(se,"container")})(YU);var Pm={},rr={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.shapes=void 0;const t=rt,n=Sn,r=nt,i=fn,o=ke,s=rt,a=Vi;var l="hasShadow",u="shadowRGBA",d="patternImage",f="linearGradient",p="radialGradient";let g;function m(){return g||(g=n.Util.createCanvasElement().getContext("2d"),g)}e.shapes={};function v(k){const O=this.attrs.fillRule;O?k.fill(O):k.fill()}function x(k){k.stroke()}function _(k){k.fill()}function b(k){k.stroke()}function y(){this._clearCache(l)}function S(){this._clearCache(u)}function C(){this._clearCache(d)}function T(){this._clearCache(f)}function E(){this._clearCache(p)}class P extends i.Node{constructor(O){super(O);let M;for(;M=n.Util.getRandomColor(),!(M&&!(M in e.shapes)););this.colorKey=M,e.shapes[M]=this}getContext(){return n.Util.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return n.Util.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(l,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(d,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var O=m();const M=O.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(M&&M.setTransform){const G=new n.Transform;G.translate(this.fillPatternX(),this.fillPatternY()),G.rotate(t.Konva.getAngle(this.fillPatternRotation())),G.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),G.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const U=G.getMatrix(),A=typeof DOMMatrix>"u"?{a:U[0],b:U[1],c:U[2],d:U[3],e:U[4],f:U[5]}:new DOMMatrix(U);M.setTransform(A)}return M}}_getLinearGradient(){return this._getCache(f,this.__getLinearGradient)}__getLinearGradient(){var O=this.fillLinearGradientColorStops();if(O){for(var M=m(),G=this.fillLinearGradientStartPoint(),U=this.fillLinearGradientEndPoint(),A=M.createLinearGradient(G.x,G.y,U.x,U.y),N=0;Nthis.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const O=this.hitStrokeWidth();return O==="auto"?this.hasStroke():this.strokeEnabled()&&!!O}intersects(O){var M=this.getStage(),G=M.bufferHitCanvas,U;return G.getContext().clear(),this.drawHit(G,null,!0),U=G.context.getImageData(Math.round(O.x),Math.round(O.y),1,1).data,U[3]>0}destroy(){return i.Node.prototype.destroy.call(this),delete e.shapes[this.colorKey],delete this.colorKey,this}_useBufferCanvas(O){var M;if(!this.getStage()||!((M=this.attrs.perfectDrawEnabled)!==null&&M!==void 0?M:!0))return!1;const U=O||this.hasFill(),A=this.hasStroke(),N=this.getAbsoluteOpacity()!==1;if(U&&A&&N)return!0;const F=this.hasShadow(),B=this.shadowForStrokeEnabled();return!!(U&&A&&F&&B)}setStrokeHitEnabled(O){n.Util.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),O?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var O=this.size();return{x:this._centroid?-O.width/2:0,y:this._centroid?-O.height/2:0,width:O.width,height:O.height}}getClientRect(O={}){const M=O.skipTransform,G=O.relativeTo,U=this.getSelfRect(),N=!O.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,F=U.width+N,B=U.height+N,D=!O.skipShadow&&this.hasShadow(),V=D?this.shadowOffsetX():0,j=D?this.shadowOffsetY():0,q=F+Math.abs(V),Z=B+Math.abs(j),ee=D&&this.shadowBlur()||0,ie=q+ee*2,se=Z+ee*2,le={width:ie,height:se,x:-(N/2+ee)+Math.min(V,0)+U.x,y:-(N/2+ee)+Math.min(j,0)+U.y};return M?le:this._transformedRect(le,G)}drawScene(O,M){var G=this.getLayer(),U=O||G.getCanvas(),A=U.getContext(),N=this._getCanvasCache(),F=this.getSceneFunc(),B=this.hasShadow(),D,V,j,q=U.isCache,Z=M===this;if(!this.isVisible()&&!Z)return this;if(N){A.save();var ee=this.getAbsoluteTransform(M).getMatrix();return A.transform(ee[0],ee[1],ee[2],ee[3],ee[4],ee[5]),this._drawCachedSceneCanvas(A),A.restore(),this}if(!F)return this;if(A.save(),this._useBufferCanvas()&&!q){D=this.getStage(),V=D.bufferCanvas,j=V.getContext(),j.clear(),j.save(),j._applyLineJoin(this);var ie=this.getAbsoluteTransform(M).getMatrix();j.transform(ie[0],ie[1],ie[2],ie[3],ie[4],ie[5]),F.call(this,j,this),j.restore();var se=V.pixelRatio;B&&A._applyShadow(this),A._applyOpacity(this),A._applyGlobalCompositeOperation(this),A.drawImage(V._canvas,0,0,V.width/se,V.height/se)}else{if(A._applyLineJoin(this),!Z){var ie=this.getAbsoluteTransform(M).getMatrix();A.transform(ie[0],ie[1],ie[2],ie[3],ie[4],ie[5]),A._applyOpacity(this),A._applyGlobalCompositeOperation(this)}B&&A._applyShadow(this),F.call(this,A,this)}return A.restore(),this}drawHit(O,M,G=!1){if(!this.shouldDrawHit(M,G))return this;var U=this.getLayer(),A=O||U.hitCanvas,N=A&&A.getContext(),F=this.hitFunc()||this.sceneFunc(),B=this._getCanvasCache(),D=B&&B.hit;if(this.colorKey||n.Util.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),D){N.save();var V=this.getAbsoluteTransform(M).getMatrix();return N.transform(V[0],V[1],V[2],V[3],V[4],V[5]),this._drawCachedHitCanvas(N),N.restore(),this}if(!F)return this;if(N.save(),N._applyLineJoin(this),!(this===M)){var q=this.getAbsoluteTransform(M).getMatrix();N.transform(q[0],q[1],q[2],q[3],q[4],q[5])}return F.call(this,N,this),N.restore(),this}drawHitFromCache(O=0){var M=this._getCanvasCache(),G=this._getCachedSceneCanvas(),U=M.hit,A=U.getContext(),N=U.getWidth(),F=U.getHeight(),B,D,V,j,q,Z;A.clear(),A.drawImage(G._canvas,0,0,N,F);try{for(B=A.getImageData(0,0,N,F),D=B.data,V=D.length,j=n.Util._hexToRgb(this.colorKey),q=0;qO?(D[q]=j.r,D[q+1]=j.g,D[q+2]=j.b,D[q+3]=255):D[q+3]=0;A.putImageData(B,0,0)}catch(ee){n.Util.error("Unable to draw hit graph from cached scene canvas. "+ee.message)}return this}hasPointerCapture(O){return a.hasPointerCapture(O,this)}setPointerCapture(O){a.setPointerCapture(O,this)}releaseCapture(O){a.releaseCapture(O,this)}}e.Shape=P,P.prototype._fillFunc=v,P.prototype._strokeFunc=x,P.prototype._fillFuncHit=_,P.prototype._strokeFuncHit=b,P.prototype._centroid=!1,P.prototype.nodeType="Shape",(0,s._registerNode)(P),P.prototype.eventListeners={},P.prototype.on.call(P.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",y),P.prototype.on.call(P.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",S),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",C),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",T),P.prototype.on.call(P.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",E),r.Factory.addGetterSetter(P,"stroke",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(P,"strokeWidth",2,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillAfterStrokeEnabled",!1),r.Factory.addGetterSetter(P,"hitStrokeWidth","auto",(0,o.getNumberOrAutoValidator)()),r.Factory.addGetterSetter(P,"strokeHitEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"perfectDrawEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"shadowForStrokeEnabled",!0,(0,o.getBooleanValidator)()),r.Factory.addGetterSetter(P,"lineJoin"),r.Factory.addGetterSetter(P,"lineCap"),r.Factory.addGetterSetter(P,"sceneFunc"),r.Factory.addGetterSetter(P,"hitFunc"),r.Factory.addGetterSetter(P,"dash"),r.Factory.addGetterSetter(P,"dashOffset",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowColor",void 0,(0,o.getStringValidator)()),r.Factory.addGetterSetter(P,"shadowBlur",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowOpacity",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"shadowOffset",["x","y"]),r.Factory.addGetterSetter(P,"shadowOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"shadowOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternImage"),r.Factory.addGetterSetter(P,"fill",void 0,(0,o.getStringOrGradientValidator)()),r.Factory.addGetterSetter(P,"fillPatternX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternY",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillLinearGradientColorStops"),r.Factory.addGetterSetter(P,"strokeLinearGradientColorStops"),r.Factory.addGetterSetter(P,"fillRadialGradientStartRadius",0),r.Factory.addGetterSetter(P,"fillRadialGradientEndRadius",0),r.Factory.addGetterSetter(P,"fillRadialGradientColorStops"),r.Factory.addGetterSetter(P,"fillPatternRepeat","repeat"),r.Factory.addGetterSetter(P,"fillEnabled",!0),r.Factory.addGetterSetter(P,"strokeEnabled",!0),r.Factory.addGetterSetter(P,"shadowEnabled",!0),r.Factory.addGetterSetter(P,"dashEnabled",!0),r.Factory.addGetterSetter(P,"strokeScaleEnabled",!0),r.Factory.addGetterSetter(P,"fillPriority","color"),r.Factory.addComponentsGetterSetter(P,"fillPatternOffset",["x","y"]),r.Factory.addGetterSetter(P,"fillPatternOffsetX",0,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternOffsetY",0,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"fillPatternScale",["x","y"]),r.Factory.addGetterSetter(P,"fillPatternScaleX",1,(0,o.getNumberValidator)()),r.Factory.addGetterSetter(P,"fillPatternScaleY",1,(0,o.getNumberValidator)()),r.Factory.addComponentsGetterSetter(P,"fillLinearGradientStartPoint",["x","y"]),r.Factory.addComponentsGetterSetter(P,"strokeLinearGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillLinearGradientStartPointX",0),r.Factory.addGetterSetter(P,"strokeLinearGradientStartPointX",0),r.Factory.addGetterSetter(P,"fillLinearGradientStartPointY",0),r.Factory.addGetterSetter(P,"strokeLinearGradientStartPointY",0),r.Factory.addComponentsGetterSetter(P,"fillLinearGradientEndPoint",["x","y"]),r.Factory.addComponentsGetterSetter(P,"strokeLinearGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillLinearGradientEndPointX",0),r.Factory.addGetterSetter(P,"strokeLinearGradientEndPointX",0),r.Factory.addGetterSetter(P,"fillLinearGradientEndPointY",0),r.Factory.addGetterSetter(P,"strokeLinearGradientEndPointY",0),r.Factory.addComponentsGetterSetter(P,"fillRadialGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillRadialGradientStartPointX",0),r.Factory.addGetterSetter(P,"fillRadialGradientStartPointY",0),r.Factory.addComponentsGetterSetter(P,"fillRadialGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(P,"fillRadialGradientEndPointX",0),r.Factory.addGetterSetter(P,"fillRadialGradientEndPointY",0),r.Factory.addGetterSetter(P,"fillPatternRotation",0),r.Factory.addGetterSetter(P,"fillRule",void 0,(0,o.getStringValidator)()),r.Factory.backCompat(P,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"})})(rr);Object.defineProperty(Pm,"__esModule",{value:!0});Pm.Layer=void 0;const ia=Sn,Dx=vc,hd=fn,bE=nt,XO=Qo,QSe=ke,ZSe=rr,JSe=rt;var e2e="#",t2e="beforeDraw",n2e="draw",JU=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],r2e=JU.length;class Vf extends Dx.Container{constructor(t){super(t),this.canvas=new XO.SceneCanvas,this.hitCanvas=new XO.HitCanvas({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(t){return this.getContext().clear(t),this.getHitCanvas().getContext().clear(t),this}setZIndex(t){super.setZIndex(t);var n=this.getStage();return n&&n.content&&(n.content.removeChild(this.getNativeCanvasElement()),t{this.draw(),this._waitingForDraw=!1})),this}getIntersection(t){if(!this.isListening()||!this.isVisible())return null;for(var n=1,r=!1;;){for(let i=0;i0)return{antialiased:!0};return{}}drawScene(t,n){var r=this.getLayer(),i=t||r&&r.getCanvas();return this._fire(t2e,{node:this}),this.clearBeforeDraw()&&i.getContext().clear(),Dx.Container.prototype.drawScene.call(this,i,n),this._fire(n2e,{node:this}),this}drawHit(t,n){var r=this.getLayer(),i=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),Dx.Container.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){ia.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return ia.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!(!this.parent||!this.parent.content)){var t=this.parent,n=!!this.hitCanvas._canvas.parentNode;n?t.content.removeChild(this.hitCanvas._canvas):t.content.appendChild(this.hitCanvas._canvas)}}destroy(){return ia.Util.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}Pm.Layer=Vf;Vf.prototype.nodeType="Layer";(0,JSe._registerNode)(Vf);bE.Factory.addGetterSetter(Vf,"imageSmoothingEnabled",!0);bE.Factory.addGetterSetter(Vf,"clearBeforeDraw",!0);bE.Factory.addGetterSetter(Vf,"hitGraphEnabled",!0,(0,QSe.getBooleanValidator)());var lS={};Object.defineProperty(lS,"__esModule",{value:!0});lS.FastLayer=void 0;const i2e=Sn,o2e=Pm,s2e=rt;class SE extends o2e.Layer{constructor(t){super(t),this.listening(!1),i2e.Util.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}lS.FastLayer=SE;SE.prototype.nodeType="FastLayer";(0,s2e._registerNode)(SE);var jf={};Object.defineProperty(jf,"__esModule",{value:!0});jf.Group=void 0;const a2e=Sn,l2e=vc,u2e=rt;class wE extends l2e.Container{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&a2e.Util.throw("You may only add groups and shapes to groups.")}}jf.Group=wE;wE.prototype.nodeType="Group";(0,u2e._registerNode)(wE);var Gf={};Object.defineProperty(Gf,"__esModule",{value:!0});Gf.Animation=void 0;const $x=rt,YO=Sn;var Fx=function(){return $x.glob.performance&&$x.glob.performance.now?function(){return $x.glob.performance.now()}:function(){return new Date().getTime()}}();class ws{constructor(t,n){this.id=ws.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:Fx(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){var n=[];return t?t.length>0?n=t:n=[t]:n=[],this.layers=n,this}getLayers(){return this.layers}addLayer(t){var n=this.layers,r=n.length,i;for(i=0;ithis.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():m<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=m,this.update())}getTime(){return this._time}setPosition(m){this.prevPos=this._pos,this.propFunc(m),this._pos=m}getPosition(m){return m===void 0&&(m=this._time),this.func(m,this.begin,this._change,this.duration)}play(){this.state=a,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=l,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(m){this.pause(),this._time=m,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){var m=this.getTimer()-this._startTime;this.state===a?this.setTime(m):this.state===l&&this.setTime(this.duration-m)}pause(){this.state=s,this.fire("onPause")}getTimer(){return new Date().getTime()}}class p{constructor(m){var v=this,x=m.node,_=x._id,b,y=m.easing||e.Easings.Linear,S=!!m.yoyo,C;typeof m.duration>"u"?b=.3:m.duration===0?b=.001:b=m.duration,this.node=x,this._id=u++;var T=x.getLayer()||(x instanceof i.Konva.Stage?x.getLayers():null);T||t.Util.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new n.Animation(function(){v.tween.onEnterFrame()},T),this.tween=new f(C,function(E){v._tweenFunc(E)},y,0,1,b*1e3,S),this._addListeners(),p.attrs[_]||(p.attrs[_]={}),p.attrs[_][this._id]||(p.attrs[_][this._id]={}),p.tweens[_]||(p.tweens[_]={});for(C in m)o[C]===void 0&&this._addAttr(C,m[C]);this.reset(),this.onFinish=m.onFinish,this.onReset=m.onReset,this.onUpdate=m.onUpdate}_addAttr(m,v){var x=this.node,_=x._id,b,y,S,C,T,E,P,k;if(S=p.tweens[_][m],S&&delete p.attrs[_][S][m],b=x.getAttr(m),t.Util._isArray(v))if(y=[],T=Math.max(v.length,b.length),m==="points"&&v.length!==b.length&&(v.length>b.length?(P=b,b=t.Util._prepareArrayForTween(b,v,x.closed())):(E=v,v=t.Util._prepareArrayForTween(v,b,x.closed()))),m.indexOf("fill")===0)for(C=0;C{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var m=this.node,v=p.attrs[m._id][this._id];v.points&&v.points.trueEnd&&m.setAttr("points",v.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var m=this.node,v=p.attrs[m._id][this._id];v.points&&v.points.trueStart&&m.points(v.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(m){return this.tween.seek(m*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var m=this.node._id,v=this._id,x=p.tweens[m],_;this.pause();for(_ in x)delete p.tweens[m][_];delete p.attrs[m][v]}}e.Tween=p,p.attrs={},p.tweens={},r.Node.prototype.to=function(g){var m=g.onFinish;g.node=this,g.onFinish=function(){this.destroy(),m&&m()};var v=new p(g);v.play()},e.Easings={BackEaseIn(g,m,v,x){var _=1.70158;return v*(g/=x)*g*((_+1)*g-_)+m},BackEaseOut(g,m,v,x){var _=1.70158;return v*((g=g/x-1)*g*((_+1)*g+_)+1)+m},BackEaseInOut(g,m,v,x){var _=1.70158;return(g/=x/2)<1?v/2*(g*g*(((_*=1.525)+1)*g-_))+m:v/2*((g-=2)*g*(((_*=1.525)+1)*g+_)+2)+m},ElasticEaseIn(g,m,v,x,_,b){var y=0;return g===0?m:(g/=x)===1?m+v:(b||(b=x*.3),!_||_0?t:n),d=s*n,f=a*(a>0?t:n),p=l*(l>0?n:t);return{x:u,y:r?-1*p:f,width:d-u,height:p-f}}}uS.Arc=Ua;Ua.prototype._centroid=!0;Ua.prototype.className="Arc";Ua.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,d2e._registerNode)(Ua);cS.Factory.addGetterSetter(Ua,"innerRadius",0,(0,dS.getNumberValidator)());cS.Factory.addGetterSetter(Ua,"outerRadius",0,(0,dS.getNumberValidator)());cS.Factory.addGetterSetter(Ua,"angle",0,(0,dS.getNumberValidator)());cS.Factory.addGetterSetter(Ua,"clockwise",!1,(0,dS.getBooleanValidator)());var fS={},Rm={};Object.defineProperty(Rm,"__esModule",{value:!0});Rm.Line=void 0;const hS=nt,f2e=rr,tz=ke,h2e=rt;function a5(e,t,n,r,i,o,s){var a=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),l=Math.sqrt(Math.pow(i-n,2)+Math.pow(o-r,2)),u=s*a/(a+l),d=s*l/(a+l),f=n-u*(i-e),p=r-u*(o-t),g=n+d*(i-e),m=r+d*(o-t);return[f,p,g,m]}function ZO(e,t){var n=e.length,r=[],i,o;for(i=2;i4){for(a=this.getTensionPoints(),l=a.length,u=o?0:4,o||t.quadraticCurveTo(a[0],a[1],a[2],a[3]);u{let u,d,f;u=l/2,d=0;for(let g=0;g<20;g++)f=u*e.tValues[20][g]+u,d+=e.cValues[20][g]*r(s,a,f);return u*d};e.getCubicArcLength=t;const n=(s,a,l)=>{l===void 0&&(l=1);const u=s[0]-2*s[1]+s[2],d=a[0]-2*a[1]+a[2],f=2*s[1]-2*s[0],p=2*a[1]-2*a[0],g=4*(u*u+d*d),m=4*(u*f+d*p),v=f*f+p*p;if(g===0)return l*Math.sqrt(Math.pow(s[2]-s[0],2)+Math.pow(a[2]-a[0],2));const x=m/(2*g),_=v/g,b=l+x,y=_-x*x,S=b*b+y>0?Math.sqrt(b*b+y):0,C=x*x+y>0?Math.sqrt(x*x+y):0,T=x+Math.sqrt(x*x+y)!==0?y*Math.log(Math.abs((b+S)/(x+C))):0;return Math.sqrt(g)/2*(b*S-x*C+T)};e.getQuadraticArcLength=n;function r(s,a,l){const u=i(1,l,s),d=i(1,l,a),f=u*u+d*d;return Math.sqrt(f)}const i=(s,a,l)=>{const u=l.length-1;let d,f;if(u===0)return 0;if(s===0){f=0;for(let p=0;p<=u;p++)f+=e.binomialCoefficients[u][p]*Math.pow(1-a,u-p)*Math.pow(a,p)*l[p];return f}else{d=new Array(u);for(let p=0;p{let u=1,d=s/a,f=(s-l(d))/a,p=0;for(;u>.001;){const g=l(d+f),m=Math.abs(s-g)/a;if(m500)break}return d};e.t2length=o})(nz);Object.defineProperty(Hf,"__esModule",{value:!0});Hf.Path=void 0;const p2e=nt,g2e=rr,m2e=rt,pd=nz;class Zn extends g2e.Shape{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=Zn.parsePathData(this.data()),this.pathLength=Zn.getPathLength(this.dataArray)}_sceneFunc(t){var n=this.dataArray;t.beginPath();for(var r=!1,i=0;id?u:d,x=u>d?1:u/d,_=u>d?d/u:1;t.translate(a,l),t.rotate(g),t.scale(x,_),t.arc(0,0,v,f,f+p,1-m),t.scale(1/x,1/_),t.rotate(-g),t.translate(-a,-l);break;case"z":r=!0,t.closePath();break}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){var t=[];this.dataArray.forEach(function(u){if(u.command==="A"){var d=u.points[4],f=u.points[5],p=u.points[4]+f,g=Math.PI/180;if(Math.abs(d-p)p;m-=g){const v=Zn.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],m,0);t.push(v.x,v.y)}else for(let m=d+g;mn[i].pathLength;)t-=n[i].pathLength,++i;if(i===o)return r=n[i-1].points.slice(-2),{x:r[0],y:r[1]};if(t<.01)return r=n[i].points.slice(0,2),{x:r[0],y:r[1]};var s=n[i],a=s.points;switch(s.command){case"L":return Zn.getPointOnLine(t,s.start.x,s.start.y,a[0],a[1]);case"C":return Zn.getPointOnCubicBezier((0,pd.t2length)(t,Zn.getPathLength(n),v=>(0,pd.getCubicArcLength)([s.start.x,a[0],a[2],a[4]],[s.start.y,a[1],a[3],a[5]],v)),s.start.x,s.start.y,a[0],a[1],a[2],a[3],a[4],a[5]);case"Q":return Zn.getPointOnQuadraticBezier((0,pd.t2length)(t,Zn.getPathLength(n),v=>(0,pd.getQuadraticArcLength)([s.start.x,a[0],a[2]],[s.start.y,a[1],a[3]],v)),s.start.x,s.start.y,a[0],a[1],a[2],a[3]);case"A":var l=a[0],u=a[1],d=a[2],f=a[3],p=a[4],g=a[5],m=a[6];return p+=g*t/s.pathLength,Zn.getPointOnEllipticalArc(l,u,d,f,p,m)}return null}static getPointOnLine(t,n,r,i,o,s,a){s===void 0&&(s=n),a===void 0&&(a=r);var l=(o-r)/(i-n+1e-8),u=Math.sqrt(t*t/(1+l*l));i0&&!isNaN(m[0]);){var b=null,y=[],S=l,C=u,T,E,P,k,O,M,G,U,A,N;switch(g){case"l":l+=m.shift(),u+=m.shift(),b="L",y.push(l,u);break;case"L":l=m.shift(),u=m.shift(),y.push(l,u);break;case"m":var F=m.shift(),B=m.shift();if(l+=F,u+=B,b="M",s.length>2&&s[s.length-1].command==="z"){for(var D=s.length-2;D>=0;D--)if(s[D].command==="M"){l=s[D].points[0]+F,u=s[D].points[1]+B;break}}y.push(l,u),g="l";break;case"M":l=m.shift(),u=m.shift(),b="M",y.push(l,u),g="L";break;case"h":l+=m.shift(),b="L",y.push(l,u);break;case"H":l=m.shift(),b="L",y.push(l,u);break;case"v":u+=m.shift(),b="L",y.push(l,u);break;case"V":u=m.shift(),b="L",y.push(l,u);break;case"C":y.push(m.shift(),m.shift(),m.shift(),m.shift()),l=m.shift(),u=m.shift(),y.push(l,u);break;case"c":y.push(l+m.shift(),u+m.shift(),l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="C",y.push(l,u);break;case"S":E=l,P=u,T=s[s.length-1],T.command==="C"&&(E=l+(l-T.points[2]),P=u+(u-T.points[3])),y.push(E,P,m.shift(),m.shift()),l=m.shift(),u=m.shift(),b="C",y.push(l,u);break;case"s":E=l,P=u,T=s[s.length-1],T.command==="C"&&(E=l+(l-T.points[2]),P=u+(u-T.points[3])),y.push(E,P,l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="C",y.push(l,u);break;case"Q":y.push(m.shift(),m.shift()),l=m.shift(),u=m.shift(),y.push(l,u);break;case"q":y.push(l+m.shift(),u+m.shift()),l+=m.shift(),u+=m.shift(),b="Q",y.push(l,u);break;case"T":E=l,P=u,T=s[s.length-1],T.command==="Q"&&(E=l+(l-T.points[0]),P=u+(u-T.points[1])),l=m.shift(),u=m.shift(),b="Q",y.push(E,P,l,u);break;case"t":E=l,P=u,T=s[s.length-1],T.command==="Q"&&(E=l+(l-T.points[0]),P=u+(u-T.points[1])),l+=m.shift(),u+=m.shift(),b="Q",y.push(E,P,l,u);break;case"A":k=m.shift(),O=m.shift(),M=m.shift(),G=m.shift(),U=m.shift(),A=l,N=u,l=m.shift(),u=m.shift(),b="A",y=this.convertEndpointToCenterParameterization(A,N,l,u,G,U,k,O,M);break;case"a":k=m.shift(),O=m.shift(),M=m.shift(),G=m.shift(),U=m.shift(),A=l,N=u,l+=m.shift(),u+=m.shift(),b="A",y=this.convertEndpointToCenterParameterization(A,N,l,u,G,U,k,O,M);break}s.push({command:b||g,points:y,start:{x:S,y:C},pathLength:this.calcLength(S,C,b||g,y)})}(g==="z"||g==="Z")&&s.push({command:"z",points:[],start:void 0,pathLength:0})}return s}static calcLength(t,n,r,i){var o,s,a,l,u=Zn;switch(r){case"L":return u.getLineLength(t,n,i[0],i[1]);case"C":return(0,pd.getCubicArcLength)([t,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return(0,pd.getQuadraticArcLength)([t,i[0],i[2]],[n,i[1],i[3]],1);case"A":o=0;var d=i[4],f=i[5],p=i[4]+f,g=Math.PI/180;if(Math.abs(d-p)p;l-=g)a=u.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],l,0),o+=u.getLineLength(s.x,s.y,a.x,a.y),s=a;else for(l=d+g;l1&&(a*=Math.sqrt(g),l*=Math.sqrt(g));var m=Math.sqrt((a*a*(l*l)-a*a*(p*p)-l*l*(f*f))/(a*a*(p*p)+l*l*(f*f)));o===s&&(m*=-1),isNaN(m)&&(m=0);var v=m*a*p/l,x=m*-l*f/a,_=(t+r)/2+Math.cos(d)*v-Math.sin(d)*x,b=(n+i)/2+Math.sin(d)*v+Math.cos(d)*x,y=function(O){return Math.sqrt(O[0]*O[0]+O[1]*O[1])},S=function(O,M){return(O[0]*M[0]+O[1]*M[1])/(y(O)*y(M))},C=function(O,M){return(O[0]*M[1]=1&&(k=0),s===0&&k>0&&(k=k-2*Math.PI),s===1&&k<0&&(k=k+2*Math.PI),[_,b,a,l,T,k,d,s]}}Hf.Path=Zn;Zn.prototype.className="Path";Zn.prototype._attrsAffectingSize=["data"];(0,m2e._registerNode)(Zn);p2e.Factory.addGetterSetter(Zn,"data");Object.defineProperty(fS,"__esModule",{value:!0});fS.Arrow=void 0;const pS=nt,y2e=Rm,rz=ke,v2e=rt,JO=Hf;class bc extends y2e.Line{_sceneFunc(t){super._sceneFunc(t);var n=Math.PI*2,r=this.points(),i=r,o=this.tension()!==0&&r.length>4;o&&(i=this.getTensionPoints());var s=this.pointerLength(),a=r.length,l,u;if(o){const p=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],r[a-2],r[a-1]],g=JO.Path.calcLength(i[i.length-4],i[i.length-3],"C",p),m=JO.Path.getPointOnQuadraticBezier(Math.min(1,1-s/g),p[0],p[1],p[2],p[3],p[4],p[5]);l=r[a-2]-m.x,u=r[a-1]-m.y}else l=r[a-2]-r[a-4],u=r[a-1]-r[a-3];var d=(Math.atan2(u,l)+n)%n,f=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[a-2],r[a-1]),t.rotate(d),t.moveTo(0,0),t.lineTo(-s,f/2),t.lineTo(-s,-f/2),t.closePath(),t.restore(),this.__fillStroke(t)),this.pointerAtBeginning()&&(t.save(),t.beginPath(),t.translate(r[0],r[1]),o?(l=(i[0]+i[2])/2-r[0],u=(i[1]+i[3])/2-r[1]):(l=r[2]-r[0],u=r[3]-r[1]),t.rotate((Math.atan2(-u,-l)+n)%n),t.moveTo(0,0),t.lineTo(-s,f/2),t.lineTo(-s,-f/2),t.closePath(),t.restore(),this.__fillStroke(t))}__fillStroke(t){var n=this.dashEnabled();n&&(this.attrs.dashEnabled=!1,t.setLineDash([])),t.fillStrokeShape(this),n&&(this.attrs.dashEnabled=!0)}getSelfRect(){const t=super.getSelfRect(),n=this.pointerWidth()/2;return{x:t.x-n,y:t.y-n,width:t.width+n*2,height:t.height+n*2}}}fS.Arrow=bc;bc.prototype.className="Arrow";(0,v2e._registerNode)(bc);pS.Factory.addGetterSetter(bc,"pointerLength",10,(0,rz.getNumberValidator)());pS.Factory.addGetterSetter(bc,"pointerWidth",10,(0,rz.getNumberValidator)());pS.Factory.addGetterSetter(bc,"pointerAtBeginning",!1);pS.Factory.addGetterSetter(bc,"pointerAtEnding",!0);var gS={};Object.defineProperty(gS,"__esModule",{value:!0});gS.Circle=void 0;const _2e=nt,b2e=rr,S2e=ke,w2e=rt;let Wf=class extends b2e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius()!==t/2&&this.radius(t/2)}setHeight(t){this.radius()!==t/2&&this.radius(t/2)}};gS.Circle=Wf;Wf.prototype._centroid=!0;Wf.prototype.className="Circle";Wf.prototype._attrsAffectingSize=["radius"];(0,w2e._registerNode)(Wf);_2e.Factory.addGetterSetter(Wf,"radius",0,(0,S2e.getNumberValidator)());var mS={};Object.defineProperty(mS,"__esModule",{value:!0});mS.Ellipse=void 0;const xE=nt,x2e=rr,iz=ke,C2e=rt;class ou extends x2e.Shape{_sceneFunc(t){var n=this.radiusX(),r=this.radiusY();t.beginPath(),t.save(),n!==r&&t.scale(1,r/n),t.arc(0,0,n,0,Math.PI*2,!1),t.restore(),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(t){this.radiusX(t/2)}setHeight(t){this.radiusY(t/2)}}mS.Ellipse=ou;ou.prototype.className="Ellipse";ou.prototype._centroid=!0;ou.prototype._attrsAffectingSize=["radiusX","radiusY"];(0,C2e._registerNode)(ou);xE.Factory.addComponentsGetterSetter(ou,"radius",["x","y"]);xE.Factory.addGetterSetter(ou,"radiusX",0,(0,iz.getNumberValidator)());xE.Factory.addGetterSetter(ou,"radiusY",0,(0,iz.getNumberValidator)());var yS={};Object.defineProperty(yS,"__esModule",{value:!0});yS.Image=void 0;const Bx=Sn,Sc=nt,T2e=rr,E2e=rt,Om=ke;let Us=class oz extends T2e.Shape{constructor(t){super(t),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){return super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),i=this.cornerRadius(),o=this.attrs.image;let s;if(o){const a=this.attrs.cropWidth,l=this.attrs.cropHeight;a&&l?s=[o,this.cropX(),this.cropY(),a,l,0,0,n,r]:s=[o,0,0,n,r]}(this.hasFill()||this.hasStroke()||i)&&(t.beginPath(),i?Bx.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),o&&(i&&t.clip(),t.drawImage.apply(t,s))}_hitFunc(t){var n=this.width(),r=this.height(),i=this.cornerRadius();t.beginPath(),i?Bx.Util.drawRoundedRectPath(t,n,r,i):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n;return(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width}getHeight(){var t,n;return(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height}static fromURL(t,n,r=null){var i=Bx.Util.createImageElement();i.onload=function(){var o=new oz({image:i});n(o)},i.onerror=r,i.crossOrigin="Anonymous",i.src=t}};yS.Image=Us;Us.prototype.className="Image";(0,E2e._registerNode)(Us);Sc.Factory.addGetterSetter(Us,"cornerRadius",0,(0,Om.getNumberOrArrayOfNumbersValidator)(4));Sc.Factory.addGetterSetter(Us,"image");Sc.Factory.addComponentsGetterSetter(Us,"crop",["x","y","width","height"]);Sc.Factory.addGetterSetter(Us,"cropX",0,(0,Om.getNumberValidator)());Sc.Factory.addGetterSetter(Us,"cropY",0,(0,Om.getNumberValidator)());Sc.Factory.addGetterSetter(Us,"cropWidth",0,(0,Om.getNumberValidator)());Sc.Factory.addGetterSetter(Us,"cropHeight",0,(0,Om.getNumberValidator)());var Rf={};Object.defineProperty(Rf,"__esModule",{value:!0});Rf.Tag=Rf.Label=void 0;const vS=nt,A2e=rr,P2e=jf,CE=ke,sz=rt;var az=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],R2e="Change.konva",O2e="none",l5="up",u5="right",c5="down",d5="left",k2e=az.length;class TE extends P2e.Group{constructor(t){super(t),this.on("add.konva",function(n){this._addListeners(n.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(t){var n=this,r,i=function(){n._sync()};for(r=0;r{n=Math.min(n,s.x),r=Math.max(r,s.x),i=Math.min(i,s.y),o=Math.max(o,s.y)}),{x:n,y:i,width:r-n,height:o-i}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}bS.RegularPolygon=xc;xc.prototype.className="RegularPolygon";xc.prototype._centroid=!0;xc.prototype._attrsAffectingSize=["radius"];(0,F2e._registerNode)(xc);lz.Factory.addGetterSetter(xc,"radius",0,(0,uz.getNumberValidator)());lz.Factory.addGetterSetter(xc,"sides",0,(0,uz.getNumberValidator)());var SS={};Object.defineProperty(SS,"__esModule",{value:!0});SS.Ring=void 0;const cz=nt,B2e=rr,dz=ke,U2e=rt;var ek=Math.PI*2;class Cc extends B2e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,ek,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),ek,0,!0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(t){this.outerRadius(t/2)}setHeight(t){this.outerRadius(t/2)}}SS.Ring=Cc;Cc.prototype.className="Ring";Cc.prototype._centroid=!0;Cc.prototype._attrsAffectingSize=["innerRadius","outerRadius"];(0,U2e._registerNode)(Cc);cz.Factory.addGetterSetter(Cc,"innerRadius",0,(0,dz.getNumberValidator)());cz.Factory.addGetterSetter(Cc,"outerRadius",0,(0,dz.getNumberValidator)());var wS={};Object.defineProperty(wS,"__esModule",{value:!0});wS.Sprite=void 0;const Tc=nt,z2e=rr,V2e=Gf,fz=ke,j2e=rt;class zs extends z2e.Shape{constructor(t){super(t),this._updated=!0,this.anim=new V2e.Animation(()=>{var n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+0],l=o[i+1],u=o[i+2],d=o[i+3],f=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,u,d),t.closePath(),t.fillStrokeShape(this)),f)if(s){var p=s[n],g=r*2;t.drawImage(f,a,l,u,d,p[g+0],p[g+1],u,d)}else t.drawImage(f,a,l,u,d,0,0,u,d)}_hitFunc(t){var n=this.animation(),r=this.frameIndex(),i=r*4,o=this.animations()[n],s=this.frameOffsets(),a=o[i+2],l=o[i+3];if(t.beginPath(),s){var u=s[n],d=r*2;t.rect(u[d+0],u[d+1],a,l)}else t.rect(0,0,a,l);t.closePath(),t.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){var t=this;this.interval=setInterval(function(){t._updateIndex()},1e3/this.frameRate())}start(){if(!this.isRunning()){var t=this.getLayer();this.anim.setLayers(t),this._setInterval(),this.anim.start()}}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){var t=this.frameIndex(),n=this.animation(),r=this.animations(),i=r[n],o=i.length/4;t{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t=`"${t}"`),t}).join(", ")}var $0;function zx(){return $0||($0=f5.Util.createCanvasElement().getContext(Y2e),$0)}function awe(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function lwe(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function uwe(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class Dn extends W2e.Shape{constructor(t){super(uwe(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n1&&(_+=s)}}}_hitFunc(t){var n=this.getWidth(),r=this.getHeight();t.beginPath(),t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}setText(t){var n=f5.Util._isString(t)?t:t==null?"":t+"";return this._setAttr(Q2e,n),this}getWidth(){var t=this.attrs.width===gd||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===gd||this.attrs.height===void 0;return t?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return f5.Util.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(t){var n=zx(),r=this.fontSize(),i;return n.save(),n.font=this._getContextFont(),i=n.measureText(t),n.restore(),{width:i.width,height:r}}_getContextFont(){return this.fontStyle()+D0+this.fontVariant()+D0+(this.fontSize()+twe)+swe(this.fontFamily())}_addTextLine(t){this.align()===Zh&&(t=t.trim());var r=this._getTextWidth(t);return this.textArr.push({text:t,width:r,lastInParagraph:!1})}_getTextWidth(t){var n=this.letterSpacing(),r=t.length;return zx().measureText(t).width+(r?n*(r-1):0)}_setTextData(){var t=this.text().split(` +`),n=+this.fontSize(),r=0,i=this.lineHeight()*n,o=this.attrs.width,s=this.attrs.height,a=o!==gd&&o!==void 0,l=s!==gd&&s!==void 0,u=this.padding(),d=o-u*2,f=s-u*2,p=0,g=this.wrap(),m=g!==rk,v=g!==iwe&&m,x=this.ellipsis();this.textArr=[],zx().font=this._getContextFont();for(var _=x?this._getTextWidth(Ux):0,b=0,y=t.length;bd)for(;S.length>0;){for(var T=0,E=S.length,P="",k=0;T>>1,M=S.slice(0,O+1),G=this._getTextWidth(M)+_;G<=d?(T=O+1,P=M,k=G):E=O}if(P){if(v){var U,A=S[P.length],N=A===D0||A===tk;N&&k<=d?U=P.length:U=Math.max(P.lastIndexOf(D0),P.lastIndexOf(tk))+1,U>0&&(T=U,P=P.slice(0,T),k=this._getTextWidth(P))}P=P.trimRight(),this._addTextLine(P),r=Math.max(r,k),p+=i;var F=this._shouldHandleEllipsis(p);if(F){this._tryToAddEllipsisToLastLine();break}if(S=S.slice(T),S=S.trimLeft(),S.length>0&&(C=this._getTextWidth(S),C<=d)){this._addTextLine(S),p+=i,r=Math.max(r,C);break}}else break}else this._addTextLine(S),p+=i,r=Math.max(r,C),this._shouldHandleEllipsis(p)&&bf)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,i=this.attrs.height,o=i!==gd&&i!==void 0,s=this.padding(),a=i-s*2,l=this.wrap(),u=l!==rk;return!u||o&&t+r>a}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==gd&&t!==void 0,r=this.padding(),i=t-r*2,o=this.ellipsis(),s=this.textArr[this.textArr.length-1];if(!(!s||!o)){if(n){var a=this._getTextWidth(s.text+Ux)n?null:Jh.Path.getPointAtLengthOfDataArray(t,this.dataArray)}_readDataAttribute(){this.dataArray=Jh.Path.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(t){t.setAttr("font",this._getContextFont()),t.setAttr("textBaseline",this.textBaseline()),t.setAttr("textAlign","left"),t.save();var n=this.textDecoration(),r=this.fill(),i=this.fontSize(),o=this.glyphInfo;n==="underline"&&t.beginPath();for(var s=0;s=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var i=0;ie+`.${Sz}`).join(" "),sk="nodesRect",ywe=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],vwe={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const _we="ontouchstart"in $o.Konva._global;function bwe(e,t){if(e==="rotater")return"crosshair";t+=zt.Util.degToRad(vwe[e]||0);var n=(zt.Util.radToDeg(t)%360+360)%360;return zt.Util._inRange(n,315+22.5,360)||zt.Util._inRange(n,0,22.5)?"ns-resize":zt.Util._inRange(n,45-22.5,45+22.5)?"nesw-resize":zt.Util._inRange(n,90-22.5,90+22.5)?"ew-resize":zt.Util._inRange(n,135-22.5,135+22.5)?"nwse-resize":zt.Util._inRange(n,180-22.5,180+22.5)?"ns-resize":zt.Util._inRange(n,225-22.5,225+22.5)?"nesw-resize":zt.Util._inRange(n,270-22.5,270+22.5)?"ew-resize":zt.Util._inRange(n,315-22.5,315+22.5)?"nwse-resize":(zt.Util.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var e_=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],ak=1e8;function Swe(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function wz(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),i=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return Object.assign(Object.assign({},e),{rotation:e.rotation+t,x:r,y:i})}function wwe(e,t){const n=Swe(e);return wz(e,t,n)}function xwe(e,t,n){let r=t;for(let i=0;ii.isAncestorOf(this)?(zt.Util.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1):!0);this._nodes=t=n,t.length===1&&this.useSingleNodeRotation()?this.rotation(t[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(i=>{const o=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},s=i._attrsAffectingSize.map(a=>a+"Change."+this._getEventNamespace()).join(" ");i.on(s,o),i.on(ywe.map(a=>a+`.${this._getEventNamespace()}`).join(" "),o),i.on(`absoluteTransformChange.${this._getEventNamespace()}`,o),this._proxyDrag(i)}),this._resetTransformCache();var r=!!this.findOne(".top-left");return r&&this.update(),this}_proxyDrag(t){let n;t.on(`dragstart.${this._getEventNamespace()}`,r=>{n=t.getAbsolutePosition(),!this.isDragging()&&t!==this.findOne(".back")&&this.startDrag(r,!1)}),t.on(`dragmove.${this._getEventNamespace()}`,r=>{if(!n)return;const i=t.getAbsolutePosition(),o=i.x-n.x,s=i.y-n.y;this.nodes().forEach(a=>{if(a===t||a.isDragging())return;const l=a.getAbsolutePosition();a.setAbsolutePosition({x:l.x+o,y:l.y+s}),a.startDrag(r)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(t=>{t.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(sk),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(sk,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var i=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),o=t.getAbsoluteScale(r),s=t.getAbsolutePosition(r),a=i.x*o.x-t.offsetX()*o.x,l=i.y*o.y-t.offsetY()*o.y;const u=($o.Konva.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),d={x:s.x+a*Math.cos(u)+l*Math.sin(-u),y:s.y+l*Math.cos(u)+a*Math.sin(u),width:i.width*o.x,height:i.height*o.y,rotation:u};return wz(d,-$o.Konva.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-ak,y:-ak,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const d=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var f=[{x:d.x,y:d.y},{x:d.x+d.width,y:d.y},{x:d.x+d.width,y:d.y+d.height},{x:d.x,y:d.y+d.height}],p=u.getAbsoluteTransform();f.forEach(function(g){var m=p.point(g);n.push(m)})});const r=new zt.Transform;r.rotate(-$o.Konva.getAngle(this.rotation()));var i,o,s,a;n.forEach(function(u){var d=r.point(u);i===void 0&&(i=s=d.x,o=a=d.y),i=Math.min(i,d.x),o=Math.min(o,d.y),s=Math.max(s,d.x),a=Math.max(a,d.y)}),r.invert();const l=r.point({x:i,y:o});return{x:l.x,y:l.y,width:s-i,height:a-o,rotation:$o.Konva.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),e_.forEach((function(t){this._createAnchor(t)}).bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new pwe.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:_we?10:"auto"}),r=this;n.on("mousedown touchstart",function(i){r._handleMouseDown(i)}),n.on("dragstart",i=>{n.stopDrag(),i.cancelBubble=!0}),n.on("dragend",i=>{i.cancelBubble=!0}),n.on("mouseenter",()=>{var i=$o.Konva.getAngle(this.rotation()),o=bwe(t,i);n.getStage().content&&(n.getStage().content.style.cursor=o),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){var t=new hwe.Shape({name:"back",width:0,height:0,draggable:!0,sceneFunc(n){var r=this.getParent(),i=r.padding();n.beginPath(),n.rect(-i,-i,this.width()+i*2,this.height()+i*2),n.moveTo(this.width()/2,-i),r.rotateEnabled()&&n.lineTo(this.width()/2,-r.rotateAnchorOffset()*zt.Util._sign(this.height())-i),n.fillStrokeShape(this)},hitFunc:(n,r)=>{if(this.shouldOverdrawWholeArea()){var i=this.padding();n.beginPath(),n.rect(-i,-i,r.width()+i*2,r.height()+i*2),n.fillStrokeShape(r)}}});this.add(t),this._proxyDrag(t),t.on("dragstart",n=>{n.cancelBubble=!0}),t.on("dragmove",n=>{n.cancelBubble=!0}),t.on("dragend",n=>{n.cancelBubble=!0}),this.on("dragmove",n=>{this.update()})}_handleMouseDown(t){this._movingAnchorName=t.target.name().split(" ")[0];var n=this._getNodeRect(),r=n.width,i=n.height,o=Math.sqrt(Math.pow(r,2)+Math.pow(i,2));this.sin=Math.abs(i/o),this.cos=Math.abs(r/o),typeof window<"u"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;var s=t.target.getAbsolutePosition(),a=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:a.x-s.x,y:a.y-s.y},this._fire("transformstart",{evt:t.evt,target:this.getNode()}),this._nodes.forEach(l=>{l._fire("transformstart",{evt:t.evt,target:l})})}_handleMouseMove(t){var n,r,i,o=this.findOne("."+this._movingAnchorName),s=o.getStage();s.setPointersPositions(t);const a=s.getPointerPosition();let l={x:a.x-this._anchorDragOffset.x,y:a.y-this._anchorDragOffset.y};const u=o.getAbsolutePosition();this.anchorDragBoundFunc()&&(l=this.anchorDragBoundFunc()(u,l,t)),o.setAbsolutePosition(l);const d=o.getAbsolutePosition();if(!(u.x===d.x&&u.y===d.y)){if(this._movingAnchorName==="rotater"){var f=this._getNodeRect();n=o.x()-f.width/2,r=-o.y()+f.height/2;let U=Math.atan2(-r,n)+Math.PI/2;f.height<0&&(U-=Math.PI);var p=$o.Konva.getAngle(this.rotation());const A=p+U,N=$o.Konva.getAngle(this.rotationSnapTolerance()),B=xwe(this.rotationSnaps(),A,N)-f.rotation,D=wwe(f,B);this._fitNodesInto(D,t);return}var g=this.shiftBehavior(),m;g==="inverted"?m=this.keepRatio()&&!t.shiftKey:g==="none"?m=this.keepRatio():m=this.keepRatio()||t.shiftKey;var y=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(m){var v=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};i=Math.sqrt(Math.pow(v.x-o.x(),2)+Math.pow(v.y-o.y(),2));var x=this.findOne(".top-left").x()>v.x?-1:1,_=this.findOne(".top-left").y()>v.y?-1:1;n=i*this.cos*x,r=i*this.sin*_,this.findOne(".top-left").x(v.x-n),this.findOne(".top-left").y(v.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(o.y());else if(this._movingAnchorName==="top-right"){if(m){var v=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};i=Math.sqrt(Math.pow(o.x()-v.x,2)+Math.pow(v.y-o.y(),2));var x=this.findOne(".top-right").x()v.y?-1:1;n=i*this.cos*x,r=i*this.sin*_,this.findOne(".top-right").x(v.x+n),this.findOne(".top-right").y(v.y-r)}var b=o.position();this.findOne(".top-left").y(b.y),this.findOne(".bottom-right").x(b.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(o.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(o.x());else if(this._movingAnchorName==="bottom-left"){if(m){var v=y?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};i=Math.sqrt(Math.pow(v.x-o.x(),2)+Math.pow(o.y()-v.y,2));var x=v.x{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const i=1;if(zt.Util._inRange(t.width,-this.padding()*2-i,i)){this.update();return}if(zt.Util._inRange(t.height,-this.padding()*2-i,i)){this.update();return}const o=this.flipEnabled();var s=new zt.Transform;if(s.rotate($o.Konva.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const f=s.point({x:-this.padding()*2,y:0});if(t.x+=f.x,t.y+=f.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,!o){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const f=s.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.width+=this.padding()*2,!o){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const f=s.point({x:0,y:-this.padding()*2});if(t.x+=f.x,t.y+=f.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.height+=this.padding()*2,!o){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const f=s.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.height+=this.padding()*2,!o){this.update();return}}if(this.boundBoxFunc()){const f=this.boundBoxFunc()(r,t);f?t=f:zt.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const a=1e7,l=new zt.Transform;l.translate(r.x,r.y),l.rotate(r.rotation),l.scale(r.width/a,r.height/a);const u=new zt.Transform;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/a,t.height/a);const d=u.multiply(l.invert());this._nodes.forEach(f=>{var p;const g=f.getParent().getAbsoluteTransform(),m=f.getTransform().copy();m.translate(f.offsetX(),f.offsetY());const v=new zt.Transform;v.multiply(g.copy().invert()).multiply(d).multiply(g).multiply(m);const x=v.decompose();f.setAttrs(x),this._fire("transform",{evt:n,target:f}),f._fire("transform",{evt:n,target:f}),(p=f.getLayer())===null||p===void 0||p.batchDraw()}),this.rotation(zt.Util._getRotation(t.rotation)),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(t,n){this.findOne(t).setAttrs(n)}update(){var t,n=this._getNodeRect();this.rotation(zt.Util._getRotation(n.rotation));var r=n.width,i=n.height,o=this.enabledAnchors(),s=this.resizeEnabled(),a=this.padding(),l=this.anchorSize();const u=this.find("._anchor");u.forEach(f=>{f.setAttrs({width:l,height:l,offsetX:l/2,offsetY:l/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:l/2+a,offsetY:l/2+a,visible:s&&o.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:l/2+a,visible:s&&o.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:l/2-a,offsetY:l/2+a,visible:s&&o.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:l/2+a,visible:s&&o.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:i/2,offsetX:l/2-a,visible:s&&o.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:l/2+a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:i,offsetY:l/2-a,visible:s&&o.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:i,offsetX:l/2-a,offsetY:l/2-a,visible:s&&o.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*zt.Util._sign(i)-a,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:r,height:i,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0});const d=this.anchorStyleFunc();d&&u.forEach(f=>{d(f)}),(t=this.getLayer())===null||t===void 0||t.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var t=this.findOne("."+this._movingAnchorName);t&&t.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),ok.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return ik.Node.prototype.toObject.call(this)}clone(t){var n=ik.Node.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}TS.Transformer=Ct;function Cwe(e){return e instanceof Array||zt.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){e_.indexOf(t)===-1&&zt.Util.warn("Unknown anchor name: "+t+". Available names are: "+e_.join(", "))}),e||[]}Ct.prototype.className="Transformer";(0,gwe._registerNode)(Ct);Ft.Factory.addGetterSetter(Ct,"enabledAnchors",e_,Cwe);Ft.Factory.addGetterSetter(Ct,"flipEnabled",!0,(0,lu.getBooleanValidator)());Ft.Factory.addGetterSetter(Ct,"resizeEnabled",!0);Ft.Factory.addGetterSetter(Ct,"anchorSize",10,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"rotateEnabled",!0);Ft.Factory.addGetterSetter(Ct,"rotationSnaps",[]);Ft.Factory.addGetterSetter(Ct,"rotateAnchorOffset",50,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"rotationSnapTolerance",5,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"borderEnabled",!0);Ft.Factory.addGetterSetter(Ct,"anchorStroke","rgb(0, 161, 255)");Ft.Factory.addGetterSetter(Ct,"anchorStrokeWidth",1,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"anchorFill","white");Ft.Factory.addGetterSetter(Ct,"anchorCornerRadius",0,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"borderStroke","rgb(0, 161, 255)");Ft.Factory.addGetterSetter(Ct,"borderStrokeWidth",1,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"borderDash");Ft.Factory.addGetterSetter(Ct,"keepRatio",!0);Ft.Factory.addGetterSetter(Ct,"shiftBehavior","default");Ft.Factory.addGetterSetter(Ct,"centeredScaling",!1);Ft.Factory.addGetterSetter(Ct,"ignoreStroke",!1);Ft.Factory.addGetterSetter(Ct,"padding",0,(0,lu.getNumberValidator)());Ft.Factory.addGetterSetter(Ct,"node");Ft.Factory.addGetterSetter(Ct,"nodes");Ft.Factory.addGetterSetter(Ct,"boundBoxFunc");Ft.Factory.addGetterSetter(Ct,"anchorDragBoundFunc");Ft.Factory.addGetterSetter(Ct,"anchorStyleFunc");Ft.Factory.addGetterSetter(Ct,"shouldOverdrawWholeArea",!1);Ft.Factory.addGetterSetter(Ct,"useSingleNodeRotation",!0);Ft.Factory.backCompat(Ct,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var ES={};Object.defineProperty(ES,"__esModule",{value:!0});ES.Wedge=void 0;const AS=nt,Twe=rr,Ewe=rt,xz=ke,Awe=rt;class za extends Twe.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,Ewe.Konva.getAngle(this.angle()),this.clockwise()),t.lineTo(0,0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}ES.Wedge=za;za.prototype.className="Wedge";za.prototype._centroid=!0;za.prototype._attrsAffectingSize=["radius"];(0,Awe._registerNode)(za);AS.Factory.addGetterSetter(za,"radius",0,(0,xz.getNumberValidator)());AS.Factory.addGetterSetter(za,"angle",0,(0,xz.getNumberValidator)());AS.Factory.addGetterSetter(za,"clockwise",!1);AS.Factory.backCompat(za,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var PS={};Object.defineProperty(PS,"__esModule",{value:!0});PS.Blur=void 0;const lk=nt,Pwe=fn,Rwe=ke;function uk(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var Owe=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],kwe=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function Iwe(e,t){var n=e.data,r=e.width,i=e.height,o,s,a,l,u,d,f,p,g,m,v,x,_,b,y,S,C,T,E,P,k,O,M,G,U=t+t+1,A=r-1,N=i-1,F=t+1,B=F*(F+1)/2,D=new uk,V=null,j=D,q=null,Z=null,ee=Owe[t],ie=kwe[t];for(a=1;a>ie,M!==0?(M=255/M,n[d]=(p*ee>>ie)*M,n[d+1]=(g*ee>>ie)*M,n[d+2]=(m*ee>>ie)*M):n[d]=n[d+1]=n[d+2]=0,p-=x,g-=_,m-=b,v-=y,x-=q.r,_-=q.g,b-=q.b,y-=q.a,l=f+((l=o+t+1)>ie,M>0?(M=255/M,n[l]=(p*ee>>ie)*M,n[l+1]=(g*ee>>ie)*M,n[l+2]=(m*ee>>ie)*M):n[l]=n[l+1]=n[l+2]=0,p-=x,g-=_,m-=b,v-=y,x-=q.r,_-=q.g,b-=q.b,y-=q.a,l=o+((l=s+F)0&&Iwe(t,n)};PS.Blur=Mwe;lk.Factory.addGetterSetter(Pwe.Node,"blurRadius",0,(0,Rwe.getNumberValidator)(),lk.Factory.afterSetFilter);var RS={};Object.defineProperty(RS,"__esModule",{value:!0});RS.Brighten=void 0;const ck=nt,Nwe=fn,Lwe=ke,Dwe=function(e){var t=this.brightness()*255,n=e.data,r=n.length,i;for(i=0;i255?255:i,o=o<0?0:o>255?255:o,s=s<0?0:s>255?255:s,n[a]=i,n[a+1]=o,n[a+2]=s};OS.Contrast=Bwe;dk.Factory.addGetterSetter($we.Node,"contrast",0,(0,Fwe.getNumberValidator)(),dk.Factory.afterSetFilter);var kS={};Object.defineProperty(kS,"__esModule",{value:!0});kS.Emboss=void 0;const ql=nt,IS=fn,Uwe=Sn,Cz=ke,zwe=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),i=this.embossBlend(),o=0,s=0,a=e.data,l=e.width,u=e.height,d=l*4,f=u;switch(r){case"top-left":o=-1,s=-1;break;case"top":o=-1,s=0;break;case"top-right":o=-1,s=1;break;case"right":o=0,s=1;break;case"bottom-right":o=1,s=1;break;case"bottom":o=1,s=0;break;case"bottom-left":o=1,s=-1;break;case"left":o=0,s=-1;break;default:Uwe.Util.error("Unknown emboss direction: "+r)}do{var p=(f-1)*d,g=o;f+g<1&&(g=0),f+g>u&&(g=0);var m=(f-1+g)*l*4,v=l;do{var x=p+(v-1)*4,_=s;v+_<1&&(_=0),v+_>l&&(_=0);var b=m+(v-1+_)*4,y=a[x]-a[b],S=a[x+1]-a[b+1],C=a[x+2]-a[b+2],T=y,E=T>0?T:-T,P=S>0?S:-S,k=C>0?C:-C;if(P>E&&(T=S),k>E&&(T=C),T*=t,i){var O=a[x]+T,M=a[x+1]+T,G=a[x+2]+T;a[x]=O>255?255:O<0?0:O,a[x+1]=M>255?255:M<0?0:M,a[x+2]=G>255?255:G<0?0:G}else{var U=n-T;U<0?U=0:U>255&&(U=255),a[x]=a[x+1]=a[x+2]=U}}while(--v)}while(--f)};kS.Emboss=zwe;ql.Factory.addGetterSetter(IS.Node,"embossStrength",.5,(0,Cz.getNumberValidator)(),ql.Factory.afterSetFilter);ql.Factory.addGetterSetter(IS.Node,"embossWhiteLevel",.5,(0,Cz.getNumberValidator)(),ql.Factory.afterSetFilter);ql.Factory.addGetterSetter(IS.Node,"embossDirection","top-left",null,ql.Factory.afterSetFilter);ql.Factory.addGetterSetter(IS.Node,"embossBlend",!1,null,ql.Factory.afterSetFilter);var MS={};Object.defineProperty(MS,"__esModule",{value:!0});MS.Enhance=void 0;const fk=nt,Vwe=fn,jwe=ke;function Gx(e,t,n,r,i){var o=n-t,s=i-r,a;return o===0?r+s/2:s===0?r:(a=(e-t)/o,a=s*a+r,a)}const Gwe=function(e){var t=e.data,n=t.length,r=t[0],i=r,o,s=t[1],a=s,l,u=t[2],d=u,f,p,g=this.enhance();if(g!==0){for(p=0;pi&&(i=o),l=t[p+1],la&&(a=l),f=t[p+2],fd&&(d=f);i===r&&(i=255,r=0),a===s&&(a=255,s=0),d===u&&(d=255,u=0);var m,v,x,_,b,y,S,C,T;for(g>0?(v=i+g*(255-i),x=r-g*(r-0),b=a+g*(255-a),y=s-g*(s-0),C=d+g*(255-d),T=u-g*(u-0)):(m=(i+r)*.5,v=i+g*(i-m),x=r+g*(r-m),_=(a+s)*.5,b=a+g*(a-_),y=s+g*(s-_),S=(d+u)*.5,C=d+g*(d-S),T=u+g*(u-S)),p=0;p_?x:_;var b=s,y=o,S,C,T=360/y*Math.PI/180,E,P;for(C=0;Cy?b:y;var S=s,C=o,T,E,P=n.polarRotation||0,k,O;for(d=0;dt&&(S=y,C=0,T=-1),i=0;i=0&&g=0&&m=0&&g=0&&m=255*4?255:0}return s}function oxe(e,t,n){for(var r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],i=Math.round(Math.sqrt(r.length)),o=Math.floor(i/2),s=[],a=0;a=0&&g=0&&m=n))for(o=v;o=r||(s=(n*o+i)*4,a+=S[s+0],l+=S[s+1],u+=S[s+2],d+=S[s+3],y+=1);for(a=a/y,l=l/y,u=u/y,d=d/y,i=g;i=n))for(o=v;o=r||(s=(n*o+i)*4,S[s+0]=a,S[s+1]=l,S[s+2]=u,S[s+3]=d)}};zS.Pixelate=hxe;mk.Factory.addGetterSetter(dxe.Node,"pixelSize",8,(0,fxe.getNumberValidator)(),mk.Factory.afterSetFilter);var VS={};Object.defineProperty(VS,"__esModule",{value:!0});VS.Posterize=void 0;const yk=nt,pxe=fn,gxe=ke,mxe=function(e){var t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,i=255/t,o;for(o=0;o255?255:e<0?0:Math.round(e)});n_.Factory.addGetterSetter(IE.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});n_.Factory.addGetterSetter(IE.Node,"blue",0,yxe.RGBComponent,n_.Factory.afterSetFilter);var GS={};Object.defineProperty(GS,"__esModule",{value:!0});GS.RGBA=void 0;const Dg=nt,HS=fn,_xe=ke,bxe=function(e){var t=e.data,n=t.length,r=this.red(),i=this.green(),o=this.blue(),s=this.alpha(),a,l;for(a=0;a255?255:e<0?0:Math.round(e)});Dg.Factory.addGetterSetter(HS.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)});Dg.Factory.addGetterSetter(HS.Node,"blue",0,_xe.RGBComponent,Dg.Factory.afterSetFilter);Dg.Factory.addGetterSetter(HS.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var WS={};Object.defineProperty(WS,"__esModule",{value:!0});WS.Sepia=void 0;const Sxe=function(e){var t=e.data,n=t.length,r,i,o,s;for(r=0;r127&&(u=255-u),d>127&&(d=255-d),f>127&&(f=255-f),t[l]=u,t[l+1]=d,t[l+2]=f}while(--a)}while(--o)};qS.Solarize=wxe;var KS={};Object.defineProperty(KS,"__esModule",{value:!0});KS.Threshold=void 0;const vk=nt,xxe=fn,Cxe=ke,Txe=function(e){var t=this.threshold()*255,n=e.data,r=n.length,i;for(i=0;i{const{width:r,height:i}=t,o=document.createElement("div"),s=new tp.Stage({container:o,width:r,height:i}),a=new tp.Layer,l=new tp.Layer;return a.add(new tp.Rect({...t,fill:n?"black":"white"})),e.forEach(u=>l.add(new tp.Line({points:u.points,stroke:n?"white":"black",strokeWidth:u.strokeWidth*2,tension:0,lineCap:"round",lineJoin:"round",shadowForStrokeEnabled:!1,globalCompositeOperation:u.tool==="brush"?"source-over":"destination-out"}))),s.add(a),s.add(l),o.remove(),s},dCe=async(e,t,n)=>new Promise((r,i)=>{const o=document.createElement("canvas");o.width=t,o.height=n;const s=o.getContext("2d"),a=new Image;if(!s){o.remove(),i("Unable to get context");return}a.onload=function(){s.drawImage(a,0,0),o.remove(),r(s.getImageData(0,0,t,n))},a.src=e}),Sk=async(e,t)=>{const n=e.toDataURL(t);return await dCe(n,t.width,t.height)},fCe=async(e,t,n,r,i)=>{const o=Ie("canvas"),s=nS(),a=C_e();if(!s||!a){o.error("Unable to find canvas / stage");return}const l={...t,...n},u=s.clone();u.scale({x:1,y:1});const d=u.getAbsolutePosition(),f={x:l.x+d.x,y:l.y+d.y,width:l.width,height:l.height},p=await Q1(u,f),g=await Sk(u,f),m=await cCe(r?e.objects.filter(o$):[],l,i),v=await Q1(m,l),x=await Sk(m,l);return{baseBlob:p,baseImageData:g,maskBlob:v,maskImageData:x}},hCe=e=>{let t=!0,n=!1;const r=e.length;let i=3;for(i;i{const t=e.length;let n=0;for(n;n{const{isPartiallyTransparent:n,isFullyTransparent:r}=hCe(e.data),i=pCe(t.data);return n?r?"txt2img":"outpaint":i?"inpaint":"img2img"},mCe=e=>ID(e,n=>n.isEnabled&&(!!n.processedControlImage||n.processorType==="none"&&!!n.controlImage)),XS=(e,t,n)=>{const{isEnabled:r,controlNets:i}=e.controlNet,o=mCe(i),s=t.nodes[Ot];if(r&&o.length&&o.length){const a={id:O0,type:"collect",is_intermediate:!0};t.nodes[O0]=a,t.edges.push({source:{node_id:O0,field:"collection"},destination:{node_id:n,field:"control"}}),o.forEach(l=>{const{controlNetId:u,controlImage:d,processedControlImage:f,beginStepPct:p,endStepPct:g,controlMode:m,resizeMode:v,model:x,processorType:_,weight:b}=l,y={id:`control_net_${u}`,type:"controlnet",is_intermediate:!0,begin_step_percent:p,end_step_percent:g,control_mode:m,resize_mode:v,control_model:x,control_weight:b};if(f&&_!=="none")y.image={image_name:f};else if(d)y.image={image_name:d};else return;if(t.nodes[y.id]=y,s){const S=rb(y,["id","type"]);s.controlnets.push(S)}t.edges.push({source:{node_id:y.id,field:"control"},destination:{node_id:O0,field:"item"}})})}},qf=(e,t)=>{const{positivePrompt:n,iterations:r,seed:i,shouldRandomizeSeed:o}=e.generation,{combinatorial:s,isEnabled:a,maxPrompts:l}=e.dynamicPrompts,u=t.nodes[Ot];if(a){ile(t.nodes[gt],"prompt");const d={id:Nx,type:"dynamic_prompt",is_intermediate:!0,max_prompts:s?l:r,combinatorial:s,prompt:n},f={id:_i,type:"iterate",is_intermediate:!0};if(t.nodes[Nx]=d,t.nodes[_i]=f,t.edges.push({source:{node_id:Nx,field:"prompt_collection"},destination:{node_id:_i,field:"collection"}},{source:{node_id:_i,field:"item"},destination:{node_id:gt,field:"prompt"}}),u&&t.edges.push({source:{node_id:_i,field:"item"},destination:{node_id:Ot,field:"positive_prompt"}}),o){const p={id:ms,type:"rand_int",is_intermediate:!0};t.nodes[ms]=p,t.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:yt,field:"seed"}}),u&&t.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:Ot,field:"seed"}})}else t.nodes[yt].seed=i,u&&(u.seed=i)}else{u&&(u.positive_prompt=n);const d={id:ha,type:"range_of_size",is_intermediate:!0,size:r,step:1},f={id:_i,type:"iterate",is_intermediate:!0};if(t.nodes[_i]=f,t.nodes[ha]=d,t.edges.push({source:{node_id:ha,field:"collection"},destination:{node_id:_i,field:"collection"}}),t.edges.push({source:{node_id:_i,field:"item"},destination:{node_id:yt,field:"seed"}}),u&&t.edges.push({source:{node_id:_i,field:"item"},destination:{node_id:Ot,field:"seed"}}),o){const p={id:ms,type:"rand_int",is_intermediate:!0};t.nodes[ms]=p,t.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:ha,field:"start"}})}else d.start=i}},Im=(e,t,n,r=Gr)=>{const{loras:i}=e.lora,o=bT(i),s=t.nodes[Ot];o>0&&(t.edges=t.edges.filter(u=>!(u.source.node_id===r&&["unet"].includes(u.source.field))),t.edges=t.edges.filter(u=>!(u.source.node_id===qt&&["clip"].includes(u.source.field))));let a="",l=0;tc(i,u=>{const{model_name:d,base_model:f,weight:p}=u,g=`${GU}_${d.replace(".","_")}`,m={type:"lora_loader",id:g,is_intermediate:!0,lora:{model_name:d,base_model:f},weight:p};s&&s.loras.push({lora:{model_name:d,base_model:f},weight:p}),t.nodes[g]=m,l===0?(t.edges.push({source:{node_id:r,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:qt,field:"clip"},destination:{node_id:g,field:"clip"}})):(t.edges.push({source:{node_id:a,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:a,field:"clip"},destination:{node_id:g,field:"clip"}})),l===o-1&&(t.edges.push({source:{node_id:g,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:gt,field:"clip"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:_t,field:"clip"}})),a=g,l+=1})},Az=si(e=>e.ui,e=>e$[e.activeTab],{memoizeOptions:{equalityCheck:nb}}),oMe=si(e=>e.ui,e=>e.activeTab,{memoizeOptions:{equalityCheck:nb}}),sMe=si(e=>e.ui,e=>e,{memoizeOptions:{equalityCheck:nb}}),Ec=(e,t,n=Rt)=>{const i=Az(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[Ot];if(!o)return;o.is_intermediate=!0;const a={id:Dd,type:"img_nsfw",is_intermediate:i};t.nodes[Dd]=a,t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:Dd,field:"image"}}),s&&t.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Dd,field:"metadata"}})},Mm=(e,t,n=Gr)=>{const{vae:r}=e.generation,i=!r,o=t.nodes[Ot];i||(t.nodes[Qh]={type:"vae_loader",id:Qh,is_intermediate:!0,vae_model:r});const s=n==mE;(t.id===yE||t.id===Z1)&&t.edges.push({source:{node_id:i?n:Qh,field:i&&s?"vae_decoder":"vae"},destination:{node_id:Rt,field:"vae"}}),t.id===Z1&&t.edges.push({source:{node_id:i?n:Qh,field:i&&s?"vae_decoder":"vae"},destination:{node_id:un,field:"vae"}}),t.id===HU&&t.edges.push({source:{node_id:i?n:Qh,field:i&&s?"vae_decoder":"vae"},destination:{node_id:fs,field:"vae"}}),r&&o&&(o.vae=r)},Ac=(e,t,n=Rt)=>{const i=Az(e)==="unifiedCanvas"?!e.canvas.shouldAutoSave:!1,o=t.nodes[n],s=t.nodes[Dd],a=t.nodes[Ot];if(!o)return;const l={id:Yh,type:"img_watermark",is_intermediate:i};t.nodes[Yh]=l,o.is_intermediate=!0,s?(s.is_intermediate=!0,t.edges.push({source:{node_id:Dd,field:"image"},destination:{node_id:Yh,field:"image"}})):t.edges.push({source:{node_id:n,field:"image"},destination:{node_id:Yh,field:"image"}}),a&&t.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Yh,field:"metadata"}})},yCe=(e,t)=>{const n=Ie("nodes"),{positivePrompt:r,negativePrompt:i,model:o,cfgScale:s,scheduler:a,steps:l,img2imgStrength:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:p}=e.generation,{width:g,height:m}=e.canvas.boundingBoxDimensions,{shouldAutoSave:v}=e.canvas;if(!o)throw n.error("No model found in state"),new Error("No model found in state");const x=p?f:Da.shouldUseCpuNoise,_={id:Z1,nodes:{[gt]:{type:"compel",id:gt,is_intermediate:!0,prompt:r},[_t]:{type:"compel",id:_t,is_intermediate:!0,prompt:i},[yt]:{type:"noise",id:yt,is_intermediate:!0,use_cpu:x},[Gr]:{type:"main_model_loader",id:Gr,is_intermediate:!0,model:o},[qt]:{type:"clip_skip",id:qt,is_intermediate:!0,skipped_layers:d},[Un]:{type:"l2l",id:Un,is_intermediate:!0,cfg_scale:s,scheduler:a,steps:l,strength:u},[un]:{type:"i2l",id:un,is_intermediate:!0},[Rt]:{type:"l2i",id:Rt,is_intermediate:!v}},edges:[{source:{node_id:Gr,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:Un,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:un,field:"latents"},destination:{node_id:Un,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:Un,field:"noise"}},{source:{node_id:Gr,field:"unet"},destination:{node_id:Un,field:"unet"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:Un,field:"negative_conditioning"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:Un,field:"positive_conditioning"}}]};if(t.width!==g||t.height!==m){const b={id:ii,type:"img_resize",image:{image_name:t.image_name},is_intermediate:!0,width:g,height:m};_.nodes[ii]=b,_.edges.push({source:{node_id:ii,field:"image"},destination:{node_id:un,field:"image"}}),_.edges.push({source:{node_id:ii,field:"width"},destination:{node_id:yt,field:"width"}}),_.edges.push({source:{node_id:ii,field:"height"},destination:{node_id:yt,field:"height"}})}else _.nodes[un].image={image_name:t.image_name},_.edges.push({source:{node_id:un,field:"width"},destination:{node_id:yt,field:"width"}}),_.edges.push({source:{node_id:un,field:"height"},destination:{node_id:yt,field:"height"}});return _.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:s,height:m,width:g,positive_prompt:"",negative_prompt:i,model:o,seed:0,steps:l,rand_device:x?"cpu":"cuda",scheduler:a,vae:void 0,controlnets:[],loras:[],clip_skip:d,strength:u,init_image:t.image_name},_.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,_,Un),Mm(e,_),qf(e,_),XS(e,_,Un),e.system.shouldUseNSFWChecker&&Ec(e,_),e.system.shouldUseWatermarker&&Ac(e,_),_},vCe=(e,t,n)=>{const r=Ie("nodes"),{positivePrompt:i,negativePrompt:o,model:s,cfgScale:a,scheduler:l,steps:u,img2imgStrength:d,shouldFitToWidthHeight:f,iterations:p,seed:g,shouldRandomizeSeed:m,seamSize:v,seamBlur:x,seamSteps:_,seamStrength:b,tileSize:y,infillMethod:S,clipSkip:C}=e.generation;if(!s)throw r.error("No model found in state"),new Error("No model found in state");const{width:T,height:E}=e.canvas.boundingBoxDimensions,{scaledBoundingBoxDimensions:P,boundingBoxScaleMethod:k,shouldAutoSave:O}=e.canvas,M={id:HU,nodes:{[fs]:{is_intermediate:!O,type:"inpaint",id:fs,steps:u,width:T,height:E,cfg_scale:a,scheduler:l,image:{image_name:t.image_name},strength:d,fit:f,mask:{image_name:n.image_name},seam_size:v,seam_blur:x,seam_strength:b,seam_steps:_,tile_size:S==="tile"?y:void 0,infill_method:S,inpaint_width:k!=="none"?P.width:void 0,inpaint_height:k!=="none"?P.height:void 0},[gt]:{type:"compel",id:gt,is_intermediate:!0,prompt:i},[_t]:{type:"compel",id:_t,is_intermediate:!0,prompt:o},[Gr]:{type:"main_model_loader",id:Gr,is_intermediate:!0,model:s},[qt]:{type:"clip_skip",id:qt,is_intermediate:!0,skipped_layers:C},[ha]:{type:"range_of_size",id:ha,is_intermediate:!0,size:p,step:1},[_i]:{type:"iterate",id:_i,is_intermediate:!0}},edges:[{source:{node_id:Gr,field:"unet"},destination:{node_id:fs,field:"unet"}},{source:{node_id:Gr,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:fs,field:"negative_conditioning"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:fs,field:"positive_conditioning"}},{source:{node_id:ha,field:"collection"},destination:{node_id:_i,field:"collection"}},{source:{node_id:_i,field:"item"},destination:{node_id:fs,field:"seed"}}]};if(Im(e,M,fs),Mm(e,M),m){const G={id:ms,type:"rand_int"};M.nodes[ms]=G,M.edges.push({source:{node_id:ms,field:"a"},destination:{node_id:ha,field:"start"}})}else M.nodes[ha].start=g;return e.system.shouldUseNSFWChecker&&Ec(e,M,fs),e.system.shouldUseWatermarker&&Ac(e,M,fs),M},_Ce=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,clipSkip:l,shouldUseCpuNoise:u,shouldUseNoiseSettings:d}=e.generation,{width:f,height:p}=e.canvas.boundingBoxDimensions,{shouldAutoSave:g}=e.canvas;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const m=d?u:Da.shouldUseCpuNoise,v=i.model_type==="onnx",x=v?mE:Gr,_=v?"onnx_model_loader":"main_model_loader",b=v?{type:"t2l_onnx",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a}:{type:"t2l",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a},y={id:yE,nodes:{[gt]:{type:v?"prompt_onnx":"compel",id:gt,is_intermediate:!0,prompt:n},[_t]:{type:v?"prompt_onnx":"compel",id:_t,is_intermediate:!0,prompt:r},[yt]:{type:"noise",id:yt,is_intermediate:!0,width:f,height:p,use_cpu:m},[b.id]:b,[x]:{type:_,id:x,is_intermediate:!0,model:i},[qt]:{type:"clip_skip",id:qt,is_intermediate:!0,skipped_layers:l},[Rt]:{type:v?"l2i_onnx":"l2i",id:Rt,is_intermediate:!g}},edges:[{source:{node_id:_t,field:"conditioning"},destination:{node_id:cr,field:"negative_conditioning"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:cr,field:"positive_conditioning"}},{source:{node_id:x,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:x,field:"unet"},destination:{node_id:cr,field:"unet"}},{source:{node_id:cr,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:cr,field:"noise"}}]};return y.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:p,width:f,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:m?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:l},y.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,y,cr,x),Mm(e,y,x),qf(e,y),XS(e,y,cr),e.system.shouldUseNSFWChecker&&Ec(e,y),e.system.shouldUseWatermarker&&Ac(e,y),y},bCe=(e,t,n,r)=>{let i;if(t==="txt2img")i=_Ce(e);else if(t==="img2img"){if(!n)throw new Error("Missing canvas init image");i=yCe(e,n)}else{if(!n||!r)throw new Error("Missing canvas init and mask images");i=vCe(e,n,r)}return i},SCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="unifiedCanvas",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),{layerState:s,boundingBoxCoordinates:a,boundingBoxDimensions:l,isMaskEnabled:u,shouldPreserveMaskedArea:d}=o.canvas,f=await fCe(s,a,l,u,d);if(!f){i.error("Unable to create canvas data");return}const{baseBlob:p,baseImageData:g,maskBlob:m,maskImageData:v}=f,x=gCe(g,v);if(o.system.enableImageDebugging){const E=await UO(p),P=await UO(m);dSe([{base64:P,caption:"mask b64"},{base64:E,caption:"image b64"}])}i.debug(`Generation mode: ${x}`);let _,b;["img2img","inpaint","outpaint"].includes(x)&&(_=await n(Se.endpoints.uploadImage.initiate({file:new File([p],"canvasInitImage.png",{type:"image/png"}),image_category:"general",is_intermediate:!0})).unwrap()),["inpaint","outpaint"].includes(x)&&(b=await n(Se.endpoints.uploadImage.initiate({file:new File([m],"canvasMaskImage.png",{type:"image/png"}),image_category:"mask",is_intermediate:!0})).unwrap());const y=bCe(o,x,_,b);i.debug({graph:$a(y)},"Canvas graph built"),n(NU(y));const{requestId:S}=n(Ir({graph:y})),[C]=await r(E=>Ir.fulfilled.match(E)&&E.meta.requestId===S),T=C.payload.id;["img2img","inpaint"].includes(x)&&_&&n(Se.endpoints.changeImageSessionId.initiate({imageDTO:_,session_id:T})),["inpaint"].includes(x)&&b&&n(Se.endpoints.changeImageSessionId.initiate({imageDTO:b,session_id:T})),o.canvas.layerState.stagingArea.boundingBox||n(que({sessionId:T,boundingBox:{...o.canvas.boundingBoxCoordinates,...o.canvas.boundingBoxDimensions}})),n(Kue(T)),n(yc())}})},wCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,img2imgStrength:u,shouldFitToWidthHeight:d,width:f,height:p,clipSkip:g,shouldUseCpuNoise:m,shouldUseNoiseSettings:v,vaePrecision:x}=e.generation;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const _=v?m:Da.shouldUseCpuNoise,b={id:Z1,nodes:{[Gr]:{type:"main_model_loader",id:Gr,model:i},[qt]:{type:"clip_skip",id:qt,skipped_layers:g},[gt]:{type:"compel",id:gt,prompt:n},[_t]:{type:"compel",id:_t,prompt:r},[yt]:{type:"noise",id:yt,use_cpu:_},[Rt]:{type:"l2i",id:Rt,fp32:x==="fp32"},[Un]:{type:"l2l",id:Un,cfg_scale:o,scheduler:s,steps:a,strength:u},[un]:{type:"i2l",id:un,fp32:x==="fp32"}},edges:[{source:{node_id:Gr,field:"unet"},destination:{node_id:Un,field:"unet"}},{source:{node_id:Gr,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:Un,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:un,field:"latents"},destination:{node_id:Un,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:Un,field:"noise"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:Un,field:"negative_conditioning"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:Un,field:"positive_conditioning"}}]};if(d&&(l.width!==f||l.height!==p)){const y={id:ii,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:f,height:p};b.nodes[ii]=y,b.edges.push({source:{node_id:ii,field:"image"},destination:{node_id:un,field:"image"}}),b.edges.push({source:{node_id:ii,field:"width"},destination:{node_id:yt,field:"width"}}),b.edges.push({source:{node_id:ii,field:"height"},destination:{node_id:yt,field:"height"}})}else b.nodes[un].image={image_name:l.imageName},b.edges.push({source:{node_id:un,field:"width"},destination:{node_id:yt,field:"width"}}),b.edges.push({source:{node_id:un,field:"height"},destination:{node_id:yt,field:"height"}});return b.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"img2img",cfg_scale:o,height:p,width:f,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:_?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:g,strength:u,init_image:l.imageName},b.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,b,Un),Mm(e,b),qf(e,b),XS(e,b,Un),e.system.shouldUseNSFWChecker&&Ec(e,b),e.system.shouldUseWatermarker&&Ac(e,b),b},Pz=(e,t,n)=>{const{positivePrompt:r,negativePrompt:i}=e.generation,{refinerModel:o,refinerAestheticScore:s,positiveStylePrompt:a,negativeStylePrompt:l,refinerSteps:u,refinerScheduler:d,refinerCFGScale:f,refinerStart:p}=e.sdxl;if(!o)return;const g=t.nodes[Ot];g&&(g.refiner_model=o,g.refiner_aesthetic_store=s,g.refiner_cfg_scale=f,g.refiner_scheduler=d,g.refiner_start=p,g.refiner_steps=u),t.edges=t.edges.filter(m=>!(m.source.node_id===n&&["latents"].includes(m.source.field))),t.edges=t.edges.filter(m=>!(m.source.node_id===Cn&&["vae"].includes(m.source.field))),n===Do&&t.edges.push({source:{node_id:Cn,field:"vae"},destination:{node_id:un,field:"vae"}}),t.nodes[fd]={type:"sdxl_refiner_model_loader",id:fd,model:o},t.nodes[k0]={type:"sdxl_refiner_compel_prompt",id:k0,style:`${r} ${a}`,aesthetic_score:s},t.nodes[I0]={type:"sdxl_refiner_compel_prompt",id:I0,style:`${i} ${l}`,aesthetic_score:s},t.nodes[Su]={type:"l2l_sdxl",id:Su,cfg_scale:f,steps:u/(1-Math.min(p,.99)),scheduler:d,denoising_start:p,denoising_end:1},t.edges.push({source:{node_id:fd,field:"unet"},destination:{node_id:Su,field:"unet"}},{source:{node_id:fd,field:"vae"},destination:{node_id:Rt,field:"vae"}},{source:{node_id:fd,field:"clip2"},destination:{node_id:k0,field:"clip2"}},{source:{node_id:fd,field:"clip2"},destination:{node_id:I0,field:"clip2"}},{source:{node_id:k0,field:"conditioning"},destination:{node_id:Su,field:"positive_conditioning"}},{source:{node_id:I0,field:"conditioning"},destination:{node_id:Su,field:"negative_conditioning"}},{source:{node_id:n,field:"latents"},destination:{node_id:Su,field:"latents"}},{source:{node_id:Su,field:"latents"},destination:{node_id:Rt,field:"latents"}})},Rz=(e,t,n,r=Cn)=>{const{loras:i}=e.lora,o=bT(i),s=t.nodes[Ot];o>0&&(t.edges=t.edges.filter(u=>!(u.source.node_id===r&&["unet"].includes(u.source.field))&&!(u.source.node_id===r&&["clip"].includes(u.source.field))&&!(u.source.node_id===r&&["clip2"].includes(u.source.field))));let a="",l=0;tc(i,u=>{const{model_name:d,base_model:f,weight:p}=u,g=`${GU}_${d.replace(".","_")}`,m={type:"sdxl_lora_loader",id:g,is_intermediate:!0,lora:{model_name:d,base_model:f},weight:p};s&&s.loras.push({lora:{model_name:d,base_model:f},weight:p}),t.nodes[g]=m,l===0?(t.edges.push({source:{node_id:r,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:r,field:"clip"},destination:{node_id:g,field:"clip"}}),t.edges.push({source:{node_id:r,field:"clip2"},destination:{node_id:g,field:"clip2"}})):(t.edges.push({source:{node_id:a,field:"unet"},destination:{node_id:g,field:"unet"}}),t.edges.push({source:{node_id:a,field:"clip"},destination:{node_id:g,field:"clip"}}),t.edges.push({source:{node_id:a,field:"clip2"},destination:{node_id:g,field:"clip2"}})),l===o-1&&(t.edges.push({source:{node_id:g,field:"unet"},destination:{node_id:n,field:"unet"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:gt,field:"clip"}}),t.edges.push({source:{node_id:g,field:"clip"},destination:{node_id:_t,field:"clip"}}),t.edges.push({source:{node_id:g,field:"clip2"},destination:{node_id:gt,field:"clip2"}}),t.edges.push({source:{node_id:g,field:"clip2"},destination:{node_id:_t,field:"clip2"}})),a=g,l+=1})},xCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,initialImage:l,shouldFitToWidthHeight:u,width:d,height:f,clipSkip:p,shouldUseCpuNoise:g,shouldUseNoiseSettings:m,vaePrecision:v}=e.generation,{positiveStylePrompt:x,negativeStylePrompt:_,shouldConcatSDXLStylePrompt:b,shouldUseSDXLRefiner:y,refinerStart:S,sdxlImg2ImgDenoisingStrength:C}=e.sdxl;if(!l)throw t.error("No initial image found in state"),new Error("No initial image found in state");if(!i)throw t.error("No model found in state"),new Error("No model found in state");const T=m?g:Da.shouldUseCpuNoise,E={id:aSe,nodes:{[Cn]:{type:"sdxl_model_loader",id:Cn,model:i},[gt]:{type:"sdxl_compel_prompt",id:gt,prompt:n,style:b?`${n} ${x}`:x},[_t]:{type:"sdxl_compel_prompt",id:_t,prompt:r,style:b?`${r} ${_}`:_},[yt]:{type:"noise",id:yt,use_cpu:T},[Rt]:{type:"l2i",id:Rt,fp32:v==="fp32"},[Do]:{type:"l2l_sdxl",id:Do,cfg_scale:o,scheduler:s,steps:a,denoising_start:y?Math.min(S,1-C):1-C,denoising_end:y?S:1},[un]:{type:"i2l",id:un,fp32:v==="fp32"}},edges:[{source:{node_id:Cn,field:"unet"},destination:{node_id:Do,field:"unet"}},{source:{node_id:Cn,field:"vae"},destination:{node_id:Rt,field:"vae"}},{source:{node_id:Cn,field:"vae"},destination:{node_id:un,field:"vae"}},{source:{node_id:Cn,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:Cn,field:"clip2"},destination:{node_id:gt,field:"clip2"}},{source:{node_id:Cn,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:Cn,field:"clip2"},destination:{node_id:_t,field:"clip2"}},{source:{node_id:Do,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:un,field:"latents"},destination:{node_id:Do,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:Do,field:"noise"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:Do,field:"positive_conditioning"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:Do,field:"negative_conditioning"}}]};if(u&&(l.width!==d||l.height!==f)){const P={id:ii,type:"img_resize",image:{image_name:l.imageName},is_intermediate:!0,width:d,height:f};E.nodes[ii]=P,E.edges.push({source:{node_id:ii,field:"image"},destination:{node_id:un,field:"image"}}),E.edges.push({source:{node_id:ii,field:"width"},destination:{node_id:yt,field:"width"}}),E.edges.push({source:{node_id:ii,field:"height"},destination:{node_id:yt,field:"height"}})}else E.nodes[un].image={image_name:l.imageName},E.edges.push({source:{node_id:un,field:"width"},destination:{node_id:yt,field:"width"}}),E.edges.push({source:{node_id:un,field:"height"},destination:{node_id:yt,field:"height"}});return E.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"sdxl_img2img",cfg_scale:o,height:f,width:d,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:T?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:p,strength:C,init_image:l.imageName,positive_style_prompt:x,negative_style_prompt:_},E.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Rz(e,E,Do,Cn),y&&Pz(e,E,Do),qf(e,E),e.system.shouldUseNSFWChecker&&Ec(e,E),e.system.shouldUseWatermarker&&Ac(e,E),E},CCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="img2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=xCe(o):a=wCe(o),n(MU(a)),i.debug({graph:$a(a)},"Image to Image graph built"),n(Ir({graph:a})),await r(Ir.fulfilled.match),n(yc())}})};let B0;const TCe=new Uint8Array(16);function ECe(){if(!B0&&(B0=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!B0))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return B0(TCe)}const Er=[];for(let e=0;e<256;++e)Er.push((e+256).toString(16).slice(1));function ACe(e,t=0){return(Er[e[t+0]]+Er[e[t+1]]+Er[e[t+2]]+Er[e[t+3]]+"-"+Er[e[t+4]]+Er[e[t+5]]+"-"+Er[e[t+6]]+Er[e[t+7]]+"-"+Er[e[t+8]]+Er[e[t+9]]+"-"+Er[e[t+10]]+Er[e[t+11]]+Er[e[t+12]]+Er[e[t+13]]+Er[e[t+14]]+Er[e[t+15]]).toLowerCase()}const PCe=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),wk={randomUUID:PCe};function RCe(e,t,n){if(wk.randomUUID&&!t&&!e)return wk.randomUUID();e=e||{};const r=e.random||(e.rng||ECe)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=r[i];return t}return ACe(r)}const OCe=e=>{if(e.type==="color"&&e.value){const t=Ur(e.value),{r:n,g:r,b:i,a:o}=e.value,s=Math.max(0,Math.min(o*255,255));return Object.assign(t,{r:n,g:r,b:i,a:s}),t}return e.value},kCe=e=>{const{nodes:t,edges:n}=e.nodes,i=t.filter(a=>a.type!=="progress_image").reduce((a,l)=>{const{id:u,data:d}=l,{type:f,inputs:p}=d,g=_T(p,(v,x,_)=>{const b=OCe(x);return v[_]=b,v},{}),m={type:f,id:u,...g};return Object.assign(a,{[u]:m}),a},{}),o=n.reduce((a,l)=>{const{source:u,target:d,sourceHandle:f,targetHandle:p}=l;return a.push({source:{node_id:u,field:f},destination:{node_id:d,field:p}}),a},[]);return o.forEach(a=>{const l=i[a.destination.node_id],u=a.destination.field;i[a.destination.node_id]=rb(l,u)}),{id:RCe(),nodes:i,edges:o}},ICe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="nodes",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),s=kCe(o);n(LU(s)),i.debug({graph:$a(s)},"Nodes graph built"),n(Ir({graph:s})),await r(Ir.fulfilled.match),n(yc())}})},MCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:p,vaePrecision:g}=e.generation,{positiveStylePrompt:m,negativeStylePrompt:v,shouldConcatSDXLStylePrompt:x,shouldUseSDXLRefiner:_,refinerStart:b}=e.sdxl,y=p?f:Da.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const S={id:sSe,nodes:{[Cn]:{type:"sdxl_model_loader",id:Cn,model:i},[gt]:{type:"sdxl_compel_prompt",id:gt,prompt:n,style:x?`${n} ${m}`:m},[_t]:{type:"sdxl_compel_prompt",id:_t,prompt:r,style:x?`${r} ${v}`:v},[yt]:{type:"noise",id:yt,width:l,height:u,use_cpu:y},[ra]:{type:"t2l_sdxl",id:ra,cfg_scale:o,scheduler:s,steps:a,denoising_end:_?b:1},[Rt]:{type:"l2i",id:Rt,fp32:g==="fp32"}},edges:[{source:{node_id:Cn,field:"unet"},destination:{node_id:ra,field:"unet"}},{source:{node_id:Cn,field:"vae"},destination:{node_id:Rt,field:"vae"}},{source:{node_id:Cn,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:Cn,field:"clip2"},destination:{node_id:gt,field:"clip2"}},{source:{node_id:Cn,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:Cn,field:"clip2"},destination:{node_id:_t,field:"clip2"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:ra,field:"positive_conditioning"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:ra,field:"negative_conditioning"}},{source:{node_id:yt,field:"noise"},destination:{node_id:ra,field:"noise"}},{source:{node_id:ra,field:"latents"},destination:{node_id:Rt,field:"latents"}}]};return S.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"sdxl_txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:y?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:d,positive_style_prompt:m,negative_style_prompt:v},S.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Rz(e,S,ra,Cn),_&&Pz(e,S,ra),qf(e,S),e.system.shouldUseNSFWChecker&&Ec(e,S),e.system.shouldUseWatermarker&&Ac(e,S),S},NCe=e=>{const t=Ie("nodes"),{positivePrompt:n,negativePrompt:r,model:i,cfgScale:o,scheduler:s,steps:a,width:l,height:u,clipSkip:d,shouldUseCpuNoise:f,shouldUseNoiseSettings:p,vaePrecision:g}=e.generation,m=p?f:Da.shouldUseCpuNoise;if(!i)throw t.error("No model found in state"),new Error("No model found in state");const v=i.model_type==="onnx",x=v?mE:Gr,_=v?"onnx_model_loader":"main_model_loader",b=v?{type:"t2l_onnx",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a}:{type:"t2l",id:cr,is_intermediate:!0,cfg_scale:o,scheduler:s,steps:a},y={id:yE,nodes:{[gt]:{type:v?"prompt_onnx":"compel",id:gt,prompt:n,is_intermediate:!0},[_t]:{type:v?"prompt_onnx":"compel",id:_t,prompt:r,is_intermediate:!0},[yt]:{type:"noise",id:yt,width:l,height:u,use_cpu:m,is_intermediate:!0},[b.id]:b,[x]:{type:_,id:x,is_intermediate:!0,model:i},[qt]:{type:"clip_skip",id:qt,skipped_layers:d,is_intermediate:!0},[Rt]:{type:v?"l2i_onnx":"l2i",id:Rt,fp32:g==="fp32"}},edges:[{source:{node_id:x,field:"clip"},destination:{node_id:qt,field:"clip"}},{source:{node_id:x,field:"unet"},destination:{node_id:cr,field:"unet"}},{source:{node_id:qt,field:"clip"},destination:{node_id:gt,field:"clip"}},{source:{node_id:qt,field:"clip"},destination:{node_id:_t,field:"clip"}},{source:{node_id:gt,field:"conditioning"},destination:{node_id:cr,field:"positive_conditioning"}},{source:{node_id:_t,field:"conditioning"},destination:{node_id:cr,field:"negative_conditioning"}},{source:{node_id:cr,field:"latents"},destination:{node_id:Rt,field:"latents"}},{source:{node_id:yt,field:"noise"},destination:{node_id:cr,field:"noise"}}]};return y.nodes[Ot]={id:Ot,type:"metadata_accumulator",generation_mode:"txt2img",cfg_scale:o,height:u,width:l,positive_prompt:"",negative_prompt:r,model:i,seed:0,steps:a,rand_device:m?"cpu":"cuda",scheduler:s,vae:void 0,controlnets:[],loras:[],clip_skip:d},y.edges.push({source:{node_id:Ot,field:"metadata"},destination:{node_id:Rt,field:"metadata"}}),Im(e,y,cr,x),Mm(e,y,x),qf(e,y),XS(e,y,cr),e.system.shouldUseNSFWChecker&&Ec(e,y),e.system.shouldUseWatermarker&&Ac(e,y),y},LCe=()=>{Pe({predicate:e=>Em.match(e)&&e.payload==="txt2img",effect:async(e,{getState:t,dispatch:n,take:r})=>{const i=Ie("session"),o=t(),s=o.generation.model;let a;s&&s.base_model==="sdxl"?a=MCe(o):a=NCe(o),n(IU(a)),i.debug({graph:$a(a)},"Text to Image graph built"),n(Ir({graph:a})),await r(Ir.fulfilled.match),n(yc())}})},Oz=bL(),Pe=Oz.startListening;q_e();K_e();Q_e();F_e();B_e();U_e();z_e();V_e();y_e();W_e();SCe();ICe();LCe();CCe();jbe();I_e();R_e();A_e();k_e();rSe();d_e();Wbe();qbe();Xbe();Ybe();Zbe();Gbe();Hbe();tSe();nSe();Jbe();eSe();Qbe();$be();Fbe();Bbe();Ube();zbe();Vbe();Nbe();Lbe();Dbe();L_e();N_e();D_e();$_e();G_e();H_e();v_e();Pbe();j_e();Z_e();g_e();ebe();h_e();f_e();cSe();oSe();const DCe={canvas:Xue,gallery:rfe,generation:Eue,nodes:jve,postprocessing:Gve,system:y1e,config:sle,ui:Pue,hotkeys:S1e,controlNet:efe,dynamicPrompts:nfe,deleteImageModal:afe,changeBoardModal:ufe,lora:dfe,modelmanager:b1e,sdxl:qve,[Hl.reducerPath]:Hl.reducer},$Ce=Ff(DCe),FCe=W1e($Ce),BCe=["canvas","gallery","generation","sdxl","nodes","postprocessing","system","ui","controlNet","dynamicPrompts","lora","modelmanager"],UCe=eL({reducer:FCe,enhancers:e=>e.concat(q1e(window.localStorage,BCe,{persistDebounce:300,serialize:i_e,unserialize:s_e,prefix:K1e})).concat(wL()),middleware:e=>e({immutableCheck:!1,serializableCheck:!1}).concat(Hl.middleware).concat(T1e).prepend(Oz.middleware),devTools:{actionSanitizer:l_e,stateSanitizer:c_e,trace:!0,predicate:(e,t)=>!u_e.includes(t.type)}}),aMe=e=>e,zCe=e=>{const{socket:t,storeApi:n}=e,{dispatch:r,getState:i}=n;t.on("connect",()=>{Ie("socketio").debug("Connected"),r(G$());const{sessionId:s}=i().system;s&&(t.emit("subscribe",{session:s}),r(NT({sessionId:s})))}),t.on("connect_error",o=>{o&&o.message&&o.data==="ERR_UNAUTHENTICATED"&&r(zn(Ku({title:o.message,status:"error",duration:1e4})))}),t.on("disconnect",()=>{r(W$())}),t.on("invocation_started",o=>{r(Q$({data:o}))}),t.on("generator_progress",o=>{r(rF({data:o}))}),t.on("invocation_error",o=>{r(eF({data:o}))}),t.on("invocation_complete",o=>{r(LT({data:o}))}),t.on("graph_execution_state_complete",o=>{r(tF({data:o}))}),t.on("model_load_started",o=>{r(oF({data:o}))}),t.on("model_load_completed",o=>{r(sF({data:o}))}),t.on("session_retrieval_error",o=>{r(aF({data:o}))}),t.on("invocation_retrieval_error",o=>{r(uF({data:o}))})},Ds=Object.create(null);Ds.open="0";Ds.close="1";Ds.ping="2";Ds.pong="3";Ds.message="4";Ds.upgrade="5";Ds.noop="6";const Sv=Object.create(null);Object.keys(Ds).forEach(e=>{Sv[Ds[e]]=e});const VCe={type:"error",data:"parser error"},kz=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",Iz=typeof ArrayBuffer=="function",Mz=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,ME=({type:e,data:t},n,r)=>kz&&t instanceof Blob?n?r(t):xk(t,r):Iz&&(t instanceof ArrayBuffer||Mz(t))?n?r(t):xk(new Blob([t]),r):r(Ds[e]+(t||"")),xk=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)};function Ck(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let Hx;function jCe(e,t){if(kz&&e.data instanceof Blob)return e.data.arrayBuffer().then(Ck).then(t);if(Iz&&(e.data instanceof ArrayBuffer||Mz(e.data)))return t(Ck(e.data));ME(e,!1,n=>{Hx||(Hx=new TextEncoder),t(Hx.encode(n))})}const Tk="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",hp=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,n=e.length,r,i=0,o,s,a,l;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);const u=new ArrayBuffer(t),d=new Uint8Array(u);for(r=0;r>4,d[i++]=(s&15)<<4|a>>2,d[i++]=(a&3)<<6|l&63;return u},HCe=typeof ArrayBuffer=="function",NE=(e,t)=>{if(typeof e!="string")return{type:"message",data:Nz(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:WCe(e.substring(1),t)}:Sv[n]?e.length>1?{type:Sv[n],data:e.substring(1)}:{type:Sv[n]}:VCe},WCe=(e,t)=>{if(HCe){const n=GCe(e);return Nz(n,t)}else return{base64:!0,data:e}},Nz=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},Lz=String.fromCharCode(30),qCe=(e,t)=>{const n=e.length,r=new Array(n);let i=0;e.forEach((o,s)=>{ME(o,!1,a=>{r[s]=a,++i===n&&t(r.join(Lz))})})},KCe=(e,t)=>{const n=e.split(Lz),r=[];for(let i=0;i54;return NE(r?e:Wx.decode(e),n)}const Dz=4;function Hn(e){if(e)return YCe(e)}function YCe(e){for(var t in Hn.prototype)e[t]=Hn.prototype[t];return e}Hn.prototype.on=Hn.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this};Hn.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this};Hn.prototype.off=Hn.prototype.removeListener=Hn.prototype.removeAllListeners=Hn.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var n=this._callbacks["$"+e];if(!n)return this;if(arguments.length==1)return delete this._callbacks["$"+e],this;for(var r,i=0;itypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function $z(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const QCe=yo.setTimeout,ZCe=yo.clearTimeout;function YS(e,t){t.useNativeTimers?(e.setTimeoutFn=QCe.bind(yo),e.clearTimeoutFn=ZCe.bind(yo)):(e.setTimeoutFn=yo.setTimeout.bind(yo),e.clearTimeoutFn=yo.clearTimeout.bind(yo))}const JCe=1.33;function e3e(e){return typeof e=="string"?t3e(e):Math.ceil((e.byteLength||e.size)*JCe)}function t3e(e){let t=0,n=0;for(let r=0,i=e.length;r=57344?n+=3:(r++,n+=4);return n}function n3e(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}function r3e(e){let t={},n=e.split("&");for(let r=0,i=n.length;r0);return t}function Bz(){const e=Pk(+new Date);return e!==Ak?(Ek=0,Ak=e):e+"."+Pk(Ek++)}for(;U0{this.readyState="paused",t()};if(this.polling||!this.writable){let r=0;this.polling&&(r++,this.once("pollComplete",function(){--r||n()})),this.writable||(r++,this.once("drain",function(){--r||n()}))}else n()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(t){const n=r=>{if(this.readyState==="opening"&&r.type==="open"&&this.onOpen(),r.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(r)};KCe(t,this.socket.binaryType).forEach(n),this.readyState!=="closed"&&(this.polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this.poll())}doClose(){const t=()=>{this.write([{type:"close"}])};this.readyState==="open"?t():this.once("open",t)}write(t){this.writable=!1,qCe(t,n=>{this.doWrite(n,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const t=this.opts.secure?"https":"http",n=this.query||{};return this.opts.timestampRequests!==!1&&(n[this.opts.timestampParam]=Bz()),!this.supportsBinary&&!n.sid&&(n.b64=1),this.createUri(t,n)}request(t={}){return Object.assign(t,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new af(this.uri(),t)}doWrite(t,n){const r=this.request({method:"POST",data:t});r.on("success",n),r.on("error",(i,o)=>{this.onError("xhr post error",i,o)})}doPoll(){const t=this.request();t.on("data",this.onData.bind(this)),t.on("error",(n,r)=>{this.onError("xhr poll error",n,r)}),this.pollXhr=t}}let af=class wv extends Hn{constructor(t,n){super(),YS(this,n),this.opts=n,this.method=n.method||"GET",this.uri=t,this.data=n.data!==void 0?n.data:null,this.create()}create(){var t;const n=$z(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this.opts.xd;const r=this.xhr=new zz(n);try{r.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let i in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&r.setRequestHeader(i,this.opts.extraHeaders[i])}}catch{}if(this.method==="POST")try{r.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{r.setRequestHeader("Accept","*/*")}catch{}(t=this.opts.cookieJar)===null||t===void 0||t.addCookies(r),"withCredentials"in r&&(r.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(r.timeout=this.opts.requestTimeout),r.onreadystatechange=()=>{var i;r.readyState===3&&((i=this.opts.cookieJar)===null||i===void 0||i.parseCookies(r)),r.readyState===4&&(r.status===200||r.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof r.status=="number"?r.status:0)},0))},r.send(this.data)}catch(i){this.setTimeoutFn(()=>{this.onError(i)},0);return}typeof document<"u"&&(this.index=wv.requestsCount++,wv.requests[this.index]=this)}onError(t){this.emitReserved("error",t,this.xhr),this.cleanup(!0)}cleanup(t){if(!(typeof this.xhr>"u"||this.xhr===null)){if(this.xhr.onreadystatechange=a3e,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete wv.requests[this.index],this.xhr=null}}onLoad(){const t=this.xhr.responseText;t!==null&&(this.emitReserved("data",t),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}};af.requestsCount=0;af.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",Rk);else if(typeof addEventListener=="function"){const e="onpagehide"in yo?"pagehide":"unload";addEventListener(e,Rk,!1)}}function Rk(){for(let e in af.requests)af.requests.hasOwnProperty(e)&&af.requests[e].abort()}const DE=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0))(),z0=yo.WebSocket||yo.MozWebSocket,Ok=!0,c3e="arraybuffer",kk=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class d3e extends LE{constructor(t){super(t),this.supportsBinary=!t.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const t=this.uri(),n=this.opts.protocols,r=kk?{}:$z(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(r.headers=this.opts.extraHeaders);try{this.ws=Ok&&!kk?n?new z0(t,n):new z0(t):new z0(t,n,r)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType||c3e,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=t=>this.onClose({description:"websocket connection closed",context:t}),this.ws.onmessage=t=>this.onData(t.data),this.ws.onerror=t=>this.onError("websocket error",t)}write(t){this.writable=!1;for(let n=0;n{const s={};try{Ok&&this.ws.send(o)}catch{}i&&DE(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){const t=this.opts.secure?"wss":"ws",n=this.query||{};return this.opts.timestampRequests&&(n[this.opts.timestampParam]=Bz()),this.supportsBinary||(n.b64=1),this.createUri(t,n)}check(){return!!z0}}function f3e(e,t){return e.type==="message"&&typeof e.data!="string"&&t[0]>=48&&t[0]<=54}class h3e extends LE{get name(){return"webtransport"}doOpen(){typeof WebTransport=="function"&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then(()=>{this.onClose()}).catch(t=>{this.onError("webtransport error",t)}),this.transport.ready.then(()=>{this.transport.createBidirectionalStream().then(t=>{const n=t.readable.getReader();this.writer=t.writable.getWriter();let r;const i=()=>{n.read().then(({done:s,value:a})=>{s||(!r&&a.byteLength===1&&a[0]===54?r=!0:(this.onPacket(XCe(a,r,"arraybuffer")),r=!1),i())}).catch(s=>{})};i();const o=this.query.sid?`0{"sid":"${this.query.sid}"}`:"0";this.writer.write(new TextEncoder().encode(o)).then(()=>this.onOpen())})}))}write(t){this.writable=!1;for(let n=0;n{f3e(r,o)&&this.writer.write(Uint8Array.of(54)),this.writer.write(o).then(()=>{i&&DE(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})})}}doClose(){var t;(t=this.transport)===null||t===void 0||t.close()}}const p3e={websocket:d3e,webtransport:h3e,polling:u3e},g3e=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,m3e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function p5(e){const t=e,n=e.indexOf("["),r=e.indexOf("]");n!=-1&&r!=-1&&(e=e.substring(0,n)+e.substring(n,r).replace(/:/g,";")+e.substring(r,e.length));let i=g3e.exec(e||""),o={},s=14;for(;s--;)o[m3e[s]]=i[s]||"";return n!=-1&&r!=-1&&(o.source=t,o.host=o.host.substring(1,o.host.length-1).replace(/;/g,":"),o.authority=o.authority.replace("[","").replace("]","").replace(/;/g,":"),o.ipv6uri=!0),o.pathNames=y3e(o,o.path),o.queryKey=v3e(o,o.query),o}function y3e(e,t){const n=/\/{2,9}/g,r=t.replace(n,"/").split("/");return(t.slice(0,1)=="/"||t.length===0)&&r.splice(0,1),t.slice(-1)=="/"&&r.splice(r.length-1,1),r}function v3e(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,i,o){i&&(n[i]=o)}),n}let Vz=class Sd extends Hn{constructor(t,n={}){super(),this.writeBuffer=[],t&&typeof t=="object"&&(n=t,t=null),t?(t=p5(t),n.hostname=t.host,n.secure=t.protocol==="https"||t.protocol==="wss",n.port=t.port,t.query&&(n.query=t.query)):n.host&&(n.hostname=p5(n.host).host),YS(this,n),this.secure=n.secure!=null?n.secure:typeof location<"u"&&location.protocol==="https:",n.hostname&&!n.port&&(n.port=this.secure?"443":"80"),this.hostname=n.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=n.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=n.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},n),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=r3e(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,typeof addEventListener=="function"&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(t){const n=Object.assign({},this.opts.query);n.EIO=Dz,n.transport=t,this.id&&(n.sid=this.id);const r=Object.assign({},this.opts,{query:n,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[t]);return new p3e[t](r)}open(){let t;if(this.opts.rememberUpgrade&&Sd.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)t="websocket";else if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}else t=this.transports[0];this.readyState="opening";try{t=this.createTransport(t)}catch{this.transports.shift(),this.open();return}t.open(),this.setTransport(t)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",n=>this.onClose("transport close",n))}probe(t){let n=this.createTransport(t),r=!1;Sd.priorWebsocketSuccess=!1;const i=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",f=>{if(!r)if(f.type==="pong"&&f.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Sd.priorWebsocketSuccess=n.name==="websocket",this.transport.pause(()=>{r||this.readyState!=="closed"&&(d(),this.setTransport(n),n.send([{type:"upgrade"}]),this.emitReserved("upgrade",n),n=null,this.upgrading=!1,this.flush())})}else{const p=new Error("probe error");p.transport=n.name,this.emitReserved("upgradeError",p)}}))};function o(){r||(r=!0,d(),n.close(),n=null)}const s=f=>{const p=new Error("probe error: "+f);p.transport=n.name,o(),this.emitReserved("upgradeError",p)};function a(){s("transport closed")}function l(){s("socket closed")}function u(f){n&&f.name!==n.name&&o()}const d=()=>{n.removeListener("open",i),n.removeListener("error",s),n.removeListener("close",a),this.off("close",l),this.off("upgrading",u)};n.once("open",i),n.once("error",s),n.once("close",a),this.once("close",l),this.once("upgrading",u),this.upgrades.indexOf("webtransport")!==-1&&t!=="webtransport"?this.setTimeoutFn(()=>{r||n.open()},200):n.open()}onOpen(){if(this.readyState="open",Sd.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade){let t=0;const n=this.upgrades.length;for(;t{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const t=this.getWritablePackets();this.transport.send(t),this.prevBufferLen=t.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let n=1;for(let r=0;r0&&n>this.maxPayload)return this.writeBuffer.slice(0,r);n+=2}return this.writeBuffer}write(t,n,r){return this.sendPacket("message",t,n,r),this}send(t,n,r){return this.sendPacket("message",t,n,r),this}sendPacket(t,n,r,i){if(typeof n=="function"&&(i=n,n=void 0),typeof r=="function"&&(i=r,r=null),this.readyState==="closing"||this.readyState==="closed")return;r=r||{},r.compress=r.compress!==!1;const o={type:t,data:n,options:r};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),i&&this.once("flush",i),this.flush()}close(){const t=()=>{this.onClose("forced close"),this.transport.close()},n=()=>{this.off("upgrade",n),this.off("upgradeError",n),t()},r=()=>{this.once("upgrade",n),this.once("upgradeError",n)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?r():t()}):this.upgrading?r():t()),this}onError(t){Sd.priorWebsocketSuccess=!1,this.emitReserved("error",t),this.onClose("transport error",t)}onClose(t,n){(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")&&(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),typeof removeEventListener=="function"&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",t,n),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(t){const n=[];let r=0;const i=t.length;for(;rtypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,jz=Object.prototype.toString,w3e=typeof Blob=="function"||typeof Blob<"u"&&jz.call(Blob)==="[object BlobConstructor]",x3e=typeof File=="function"||typeof File<"u"&&jz.call(File)==="[object FileConstructor]";function $E(e){return b3e&&(e instanceof ArrayBuffer||S3e(e))||w3e&&e instanceof Blob||x3e&&e instanceof File}function xv(e,t){if(!e||typeof e!="object")return!1;if(Array.isArray(e)){for(let n=0,r=e.length;n=0&&e.num{delete this.acks[t];for(let s=0;s{this.io.clearTimeoutFn(o),n.apply(this,[null,...s])}}emitWithAck(t,...n){const r=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((i,o)=>{n.push((s,a)=>r?s?o(s):i(a):i(s)),this.emit(t,...n)})}_addToQueue(t){let n;typeof t[t.length-1]=="function"&&(n=t.pop());const r={id:this._queueSeq++,tryCount:0,pending:!1,args:t,flags:Object.assign({fromQueue:!0},this.flags)};t.push((i,...o)=>r!==this._queue[0]?void 0:(i!==null?r.tryCount>this._opts.retries&&(this._queue.shift(),n&&n(i)):(this._queue.shift(),n&&n(null,...o)),r.pending=!1,this._drainQueue())),this._queue.push(r),this._drainQueue()}_drainQueue(t=!1){if(!this.connected||this._queue.length===0)return;const n=this._queue[0];n.pending&&!t||(n.pending=!0,n.tryCount++,this.flags=n.flags,this.emit.apply(this,n.args))}packet(t){t.nsp=this.nsp,this.io._packet(t)}onopen(){typeof this.auth=="function"?this.auth(t=>{this._sendConnectPacket(t)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(t){this.packet({type:pt.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},t):t})}onerror(t){this.connected||this.emitReserved("connect_error",t)}onclose(t,n){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,n)}onpacket(t){if(t.nsp===this.nsp)switch(t.type){case pt.CONNECT:t.data&&t.data.sid?this.onconnect(t.data.sid,t.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case pt.EVENT:case pt.BINARY_EVENT:this.onevent(t);break;case pt.ACK:case pt.BINARY_ACK:this.onack(t);break;case pt.DISCONNECT:this.ondisconnect();break;case pt.CONNECT_ERROR:this.destroy();const r=new Error(t.data.message);r.data=t.data.data,this.emitReserved("connect_error",r);break}}onevent(t){const n=t.data||[];t.id!=null&&n.push(this.ack(t.id)),this.connected?this.emitEvent(n):this.receiveBuffer.push(Object.freeze(n))}emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const n=this._anyListeners.slice();for(const r of n)r.apply(this,t)}super.emit.apply(this,t),this._pid&&t.length&&typeof t[t.length-1]=="string"&&(this._lastOffset=t[t.length-1])}ack(t){const n=this;let r=!1;return function(...i){r||(r=!0,n.packet({type:pt.ACK,id:t,data:i}))}}onack(t){const n=this.acks[t.id];typeof n=="function"&&(n.apply(this,t.data),delete this.acks[t.id])}onconnect(t,n){this.id=t,this.recovered=n&&this._pid===n,this._pid=n,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.receiveBuffer=[],this.sendBuffer.forEach(t=>{this.notifyOutgoingListeners(t),this.packet(t)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:pt.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(t){return this.flags.compress=t,this}get volatile(){return this.flags.volatile=!0,this}timeout(t){return this.flags.timeout=t,this}onAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(t),this}prependAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(t),this}offAny(t){if(!this._anyListeners)return this;if(t){const n=this._anyListeners;for(let r=0;r0&&e.jitter<=1?e.jitter:0,this.attempts=0}Kf.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=Math.floor(t*10)&1?e+n:e-n}return Math.min(e,this.max)|0};Kf.prototype.reset=function(){this.attempts=0};Kf.prototype.setMin=function(e){this.ms=e};Kf.prototype.setMax=function(e){this.max=e};Kf.prototype.setJitter=function(e){this.jitter=e};class y5 extends Hn{constructor(t,n){var r;super(),this.nsps={},this.subs=[],t&&typeof t=="object"&&(n=t,t=void 0),n=n||{},n.path=n.path||"/socket.io",this.opts=n,YS(this,n),this.reconnection(n.reconnection!==!1),this.reconnectionAttempts(n.reconnectionAttempts||1/0),this.reconnectionDelay(n.reconnectionDelay||1e3),this.reconnectionDelayMax(n.reconnectionDelayMax||5e3),this.randomizationFactor((r=n.randomizationFactor)!==null&&r!==void 0?r:.5),this.backoff=new Kf({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=t;const i=n.parser||O3e;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=n.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(t){return arguments.length?(this._reconnection=!!t,this):this._reconnection}reconnectionAttempts(t){return t===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}reconnectionDelay(t){var n;return t===void 0?this._reconnectionDelay:(this._reconnectionDelay=t,(n=this.backoff)===null||n===void 0||n.setMin(t),this)}randomizationFactor(t){var n;return t===void 0?this._randomizationFactor:(this._randomizationFactor=t,(n=this.backoff)===null||n===void 0||n.setJitter(t),this)}reconnectionDelayMax(t){var n;return t===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,(n=this.backoff)===null||n===void 0||n.setMax(t),this)}timeout(t){return arguments.length?(this._timeout=t,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(t){if(~this._readyState.indexOf("open"))return this;this.engine=new Vz(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const i=zo(n,"open",function(){r.onopen(),t&&t()}),o=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),t?t(a):this.maybeReconnectOnOpen()},s=zo(n,"error",o);if(this._timeout!==!1){const a=this._timeout,l=this.setTimeoutFn(()=>{i(),o(new Error("timeout")),n.close()},a);this.opts.autoUnref&&l.unref(),this.subs.push(()=>{this.clearTimeoutFn(l)})}return this.subs.push(i),this.subs.push(s),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(zo(t,"ping",this.onping.bind(this)),zo(t,"data",this.ondata.bind(this)),zo(t,"error",this.onerror.bind(this)),zo(t,"close",this.onclose.bind(this)),zo(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(t){try{this.decoder.add(t)}catch(n){this.onclose("parse error",n)}}ondecoded(t){DE(()=>{this.emitReserved("packet",t)},this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,n){let r=this.nsps[t];return r?this._autoConnect&&!r.active&&r.connect():(r=new Gz(this,t,n),this.nsps[t]=r),r}_destroy(t){const n=Object.keys(this.nsps);for(const r of n)if(this.nsps[r].active)return;this._close()}_packet(t){const n=this.encoder.encode(t);for(let r=0;rt()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(t,n){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",t,n),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const n=this.backoff.duration();this._reconnecting=!0;const r=this.setTimeoutFn(()=>{t.skipReconnect||(this.emitReserved("reconnect_attempt",t.backoff.attempts),!t.skipReconnect&&t.open(i=>{i?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",i)):t.onreconnect()}))},n);this.opts.autoUnref&&r.unref(),this.subs.push(()=>{this.clearTimeoutFn(r)})}}onreconnect(){const t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const np={};function Cv(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=_3e(e,t.path||"/socket.io"),r=n.source,i=n.id,o=n.path,s=np[i]&&o in np[i].nsps,a=t.forceNew||t["force new connection"]||t.multiplex===!1||s;let l;return a?l=new y5(r,t):(np[i]||(np[i]=new y5(r,t)),l=np[i]),n.query&&!t.query&&(t.query=n.queryKey),l.socket(n.path,t)}Object.assign(Cv,{Manager:y5,Socket:Gz,io:Cv,connect:Cv});const Mk=()=>{let e=!1,n=`${window.location.protocol==="https:"?"wss":"ws"}://${window.location.host}`;const r={timeout:6e4,path:"/ws/socket.io",autoConnect:!1};if(["nodes","package"].includes("production")){const s=wg.get();s&&(n=s.replace(/^https?\:\/\//i,""));const a=Sg.get();a&&(r.auth={token:a}),r.transports=["websocket","polling"]}const i=Cv(n,r);return s=>a=>l=>{const{dispatch:u,getState:d}=s;if(e||(zCe({storeApi:s,socket:i}),e=!0,i.connect()),Ir.fulfilled.match(l)){const f=l.payload.id,p=d().system.sessionId;p&&(i.emit("unsubscribe",{session:p}),u(X$({sessionId:p}))),i.emit("subscribe",{session:f}),u(NT({sessionId:f}))}a(l)}};function I3e(e){if(e.sheet)return e.sheet;for(var t=0;t0?Rr(Xf,--Oi):0,If--,Vn===10&&(If=1,ZS--),Vn}function Hi(){return Vn=Oi2||Fg(Vn)>3?"":" "}function H3e(e,t){for(;--t&&Hi()&&!(Vn<48||Vn>102||Vn>57&&Vn<65||Vn>70&&Vn<97););return Nm(e,Tv()+(t<6&&ks()==32&&Hi()==32))}function _5(e){for(;Hi();)switch(Vn){case e:return Oi;case 34:case 39:e!==34&&e!==39&&_5(Vn);break;case 40:e===41&&_5(e);break;case 92:Hi();break}return Oi}function W3e(e,t){for(;Hi()&&e+Vn!==47+10;)if(e+Vn===42+42&&ks()===47)break;return"/*"+Nm(t,Oi-1)+"*"+QS(e===47?e:Hi())}function q3e(e){for(;!Fg(ks());)Hi();return Nm(e,Oi)}function K3e(e){return Yz(Av("",null,null,null,[""],e=Xz(e),0,[0],e))}function Av(e,t,n,r,i,o,s,a,l){for(var u=0,d=0,f=s,p=0,g=0,m=0,v=1,x=1,_=1,b=0,y="",S=i,C=o,T=r,E=y;x;)switch(m=b,b=Hi()){case 40:if(m!=108&&Rr(E,f-1)==58){v5(E+=Pt(Ev(b),"&","&\f"),"&\f")!=-1&&(_=-1);break}case 34:case 39:case 91:E+=Ev(b);break;case 9:case 10:case 13:case 32:E+=G3e(m);break;case 92:E+=H3e(Tv()-1,7);continue;case 47:switch(ks()){case 42:case 47:V0(X3e(W3e(Hi(),Tv()),t,n),l);break;default:E+="/"}break;case 123*v:a[u++]=ys(E)*_;case 125*v:case 59:case 0:switch(b){case 0:case 125:x=0;case 59+d:_==-1&&(E=Pt(E,/\f/g,"")),g>0&&ys(E)-f&&V0(g>32?Lk(E+";",r,n,f-1):Lk(Pt(E," ","")+";",r,n,f-2),l);break;case 59:E+=";";default:if(V0(T=Nk(E,t,n,u,d,i,a,y,S=[],C=[],f),o),b===123)if(d===0)Av(E,t,T,T,S,o,f,a,C);else switch(p===99&&Rr(E,3)===110?100:p){case 100:case 108:case 109:case 115:Av(e,T,T,r&&V0(Nk(e,T,T,0,0,i,a,y,i,S=[],f),C),i,C,f,a,r?S:C);break;default:Av(E,T,T,T,[""],C,0,a,C)}}u=d=g=0,v=_=1,y=E="",f=s;break;case 58:f=1+ys(E),g=m;default:if(v<1){if(b==123)--v;else if(b==125&&v++==0&&j3e()==125)continue}switch(E+=QS(b),b*v){case 38:_=d>0?1:(E+="\f",-1);break;case 44:a[u++]=(ys(E)-1)*_,_=1;break;case 64:ks()===45&&(E+=Ev(Hi())),p=ks(),d=f=ys(y=E+=q3e(Tv())),b++;break;case 45:m===45&&ys(E)==2&&(v=0)}}return o}function Nk(e,t,n,r,i,o,s,a,l,u,d){for(var f=i-1,p=i===0?o:[""],g=zE(p),m=0,v=0,x=0;m0?p[_]+" "+b:Pt(b,/&\f/g,p[_])))&&(l[x++]=y);return JS(e,t,n,i===0?BE:a,l,u,d)}function X3e(e,t,n){return JS(e,t,n,Hz,QS(V3e()),$g(e,2,-2),0)}function Lk(e,t,n,r){return JS(e,t,n,UE,$g(e,0,r),$g(e,r+1,-1),r)}function lf(e,t){for(var n="",r=zE(e),i=0;i6)switch(Rr(e,t+1)){case 109:if(Rr(e,t+4)!==45)break;case 102:return Pt(e,/(.+:)(.+)-([^]+)/,"$1"+At+"$2-$3$1"+r_+(Rr(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~v5(e,"stretch")?Zz(Pt(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Rr(e,t+1)!==115)break;case 6444:switch(Rr(e,ys(e)-3-(~v5(e,"!important")&&10))){case 107:return Pt(e,":",":"+At)+e;case 101:return Pt(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+At+(Rr(e,14)===45?"inline-":"")+"box$3$1"+At+"$2$3$1"+Br+"$2box$3")+e}break;case 5936:switch(Rr(e,t+11)){case 114:return At+e+Br+Pt(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return At+e+Br+Pt(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return At+e+Br+Pt(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return At+e+Br+e+e}return e}var i5e=function(t,n,r,i){if(t.length>-1&&!t.return)switch(t.type){case UE:t.return=Zz(t.value,t.length);break;case Wz:return lf([rp(t,{value:Pt(t.value,"@","@"+At)})],i);case BE:if(t.length)return z3e(t.props,function(o){switch(U3e(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return lf([rp(t,{props:[Pt(o,/:(read-\w+)/,":"+r_+"$1")]})],i);case"::placeholder":return lf([rp(t,{props:[Pt(o,/:(plac\w+)/,":"+At+"input-$1")]}),rp(t,{props:[Pt(o,/:(plac\w+)/,":"+r_+"$1")]}),rp(t,{props:[Pt(o,/:(plac\w+)/,Br+"input-$1")]})],i)}return""})}},o5e=[i5e],s5e=function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(v){var x=v.getAttribute("data-emotion");x.indexOf(" ")!==-1&&(document.head.appendChild(v),v.setAttribute("data-s",""))})}var i=t.stylisPlugins||o5e,o={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(v){for(var x=v.getAttribute("data-emotion").split(" "),_=1;_=4;++r,i-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(i){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var c5e={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},d5e=/[A-Z]|^ms/g,f5e=/_EMO_([^_]+?)_([^]*?)_EMO_/g,tV=function(t){return t.charCodeAt(1)===45},Fk=function(t){return t!=null&&typeof t!="boolean"},qx=Qz(function(e){return tV(e)?e:e.replace(d5e,"-$&").toLowerCase()}),Bk=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(f5e,function(r,i,o){return vs={name:i,styles:o,next:vs},i})}return c5e[t]!==1&&!tV(t)&&typeof n=="number"&&n!==0?n+"px":n};function Bg(e,t,n){if(n==null)return"";if(n.__emotion_styles!==void 0)return n;switch(typeof n){case"boolean":return"";case"object":{if(n.anim===1)return vs={name:n.name,styles:n.styles,next:vs},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)vs={name:r.name,styles:r.styles,next:vs},r=r.next;var i=n.styles+";";return i}return h5e(e,t,n)}case"function":{if(e!==void 0){var o=vs,s=n(e);return vs=o,Bg(e,t,s)}break}}if(t==null)return n;var a=t[n];return a!==void 0?a:n}function h5e(e,t,n){var r="";if(Array.isArray(n))for(var i=0;i` or ``");return e}var sV=L.createContext({});sV.displayName="ColorModeContext";function jE(){const e=L.useContext(sV);if(e===void 0)throw new Error("useColorMode must be used within a ColorModeProvider");return e}function cMe(e,t){const{colorMode:n}=jE();return n==="dark"?t:e}function S5e(){const e=jE(),t=oV();return{...e,theme:t}}function w5e(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__breakpoints)==null?void 0:a.asArray)==null?void 0:l[s]};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function x5e(e,t,n){var r,i;if(t==null)return t;const o=s=>{var a,l;return(l=(a=e.__cssMap)==null?void 0:a[s])==null?void 0:l.value};return(i=(r=o(t))!=null?r:o(n))!=null?i:n}function dMe(e,t,n){const r=oV();return C5e(e,t,n)(r)}function C5e(e,t,n){const r=Array.isArray(t)?t:[t],i=Array.isArray(n)?n:[n];return o=>{const s=i.filter(Boolean),a=r.map((l,u)=>{var d,f;if(e==="breakpoints")return w5e(o,l,(d=s[u])!=null?d:l);const p=`${e}.${l}`;return x5e(o,p,(f=s[u])!=null?f:l)});return Array.isArray(t)?a:a[0]}}var aV=(...e)=>e.filter(Boolean).join(" ");function T5e(){return!1}function Sa(e){const t=typeof e;return e!=null&&(t==="object"||t==="function")&&!Array.isArray(e)}var fMe=e=>{const{condition:t,message:n}=e;t&&T5e()&&console.warn(n)};function Bu(e,...t){return E5e(e)?e(...t):e}var E5e=e=>typeof e=="function",hMe=e=>e?"":void 0,pMe=e=>e?!0:void 0;function gMe(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}function mMe(...e){return function(n){e.forEach(r=>{r==null||r(n)})}}var i_={exports:{}};i_.exports;(function(e,t){var n=200,r="__lodash_hash_undefined__",i=800,o=16,s=9007199254740991,a="[object Arguments]",l="[object Array]",u="[object AsyncFunction]",d="[object Boolean]",f="[object Date]",p="[object Error]",g="[object Function]",m="[object GeneratorFunction]",v="[object Map]",x="[object Number]",_="[object Null]",b="[object Object]",y="[object Proxy]",S="[object RegExp]",C="[object Set]",T="[object String]",E="[object Undefined]",P="[object WeakMap]",k="[object ArrayBuffer]",O="[object DataView]",M="[object Float32Array]",G="[object Float64Array]",U="[object Int8Array]",A="[object Int16Array]",N="[object Int32Array]",F="[object Uint8Array]",B="[object Uint8ClampedArray]",D="[object Uint16Array]",V="[object Uint32Array]",j=/[\\^$.*+?()[\]{}|]/g,q=/^\[object .+?Constructor\]$/,Z=/^(?:0|[1-9]\d*)$/,ee={};ee[M]=ee[G]=ee[U]=ee[A]=ee[N]=ee[F]=ee[B]=ee[D]=ee[V]=!0,ee[a]=ee[l]=ee[k]=ee[d]=ee[O]=ee[f]=ee[p]=ee[g]=ee[v]=ee[x]=ee[b]=ee[S]=ee[C]=ee[T]=ee[P]=!1;var ie=typeof He=="object"&&He&&He.Object===Object&&He,se=typeof self=="object"&&self&&self.Object===Object&&self,le=ie||se||Function("return this")(),W=t&&!t.nodeType&&t,ne=W&&!0&&e&&!e.nodeType&&e,fe=ne&&ne.exports===W,pe=fe&&ie.process,ve=function(){try{var H=ne&&ne.require&&ne.require("util").types;return H||pe&&pe.binding&&pe.binding("util")}catch{}}(),ye=ve&&ve.isTypedArray;function We(H,Y,re){switch(re.length){case 0:return H.call(Y);case 1:return H.call(Y,re[0]);case 2:return H.call(Y,re[0],re[1]);case 3:return H.call(Y,re[0],re[1],re[2])}return H.apply(Y,re)}function Me(H,Y){for(var re=-1,we=Array(H);++re-1}function Ao(H,Y){var re=this.__data__,we=Ro(re,H);return we<0?(++this.size,re.push([H,Y])):re[we][1]=Y,this}Xn.prototype.clear=Mi,Xn.prototype.delete=os,Xn.prototype.get=to,Xn.prototype.has=Va,Xn.prototype.set=Ao;function wr(H){var Y=-1,re=H==null?0:H.length;for(this.clear();++Y1?re[ot-1]:void 0,qe=ot>2?re[2]:void 0;for(Mt=H.length>3&&typeof Mt=="function"?(ot--,Mt):void 0,qe&&Zm(re[0],re[1],qe)&&(Mt=ot<3?void 0:Mt,ot=1),Y=Object(Y);++we-1&&H%1==0&&H0){if(++Y>=i)return arguments[0]}else Y=0;return H.apply(void 0,arguments)}}function ry(H){if(H!=null){try{return mt.call(H)}catch{}try{return H+""}catch{}}return""}function $c(H,Y){return H===Y||H!==H&&Y!==Y}var hh=cu(function(){return arguments}())?cu:function(H){return du(H)&&Jt.call(H,"callee")&&!Xr.call(H,"callee")},ph=Array.isArray;function Fc(H){return H!=null&&oy(H.length)&&!gh(H)}function _2(H){return du(H)&&Fc(H)}var iy=Vs||w2;function gh(H){if(!Oo(H))return!1;var Y=Ga(H);return Y==g||Y==m||Y==u||Y==y}function oy(H){return typeof H=="number"&&H>-1&&H%1==0&&H<=s}function Oo(H){var Y=typeof H;return H!=null&&(Y=="object"||Y=="function")}function du(H){return H!=null&&typeof H=="object"}function b2(H){if(!du(H)||Ga(H)!=b)return!1;var Y=vr(H);if(Y===null)return!0;var re=Jt.call(Y,"constructor")&&Y.constructor;return typeof re=="function"&&re instanceof re&&mt.call(re)==pi}var sy=ye?Ee(ye):Ha;function S2(H){return Km(H,ay(H))}function ay(H){return Fc(H)?sh(H,!0):p2(H)}var Ht=Mc(function(H,Y,re,we){Gm(H,Y,re,we)});function Ut(H){return function(){return H}}function ly(H){return H}function w2(){return!1}e.exports=Ht})(i_,i_.exports);var A5e=i_.exports;const Ts=dc(A5e);var P5e=e=>/!(important)?$/.test(e),Vk=e=>typeof e=="string"?e.replace(/!(important)?$/,"").trim():e,R5e=(e,t)=>n=>{const r=String(t),i=P5e(r),o=Vk(r),s=e?`${e}.${o}`:o;let a=Sa(n.__cssMap)&&s in n.__cssMap?n.__cssMap[s].varRef:t;return a=Vk(a),i?`${a} !important`:a};function GE(e){const{scale:t,transform:n,compose:r}=e;return(o,s)=>{var a;const l=R5e(t,o)(s);let u=(a=n==null?void 0:n(l,s))!=null?a:l;return r&&(u=r(u,s)),u}}var j0=(...e)=>t=>e.reduce((n,r)=>r(n),t);function co(e,t){return n=>{const r={property:n,scale:e};return r.transform=GE({scale:e,transform:t}),r}}var O5e=({rtl:e,ltr:t})=>n=>n.direction==="rtl"?e:t;function k5e(e){const{property:t,scale:n,transform:r}=e;return{scale:n,property:O5e(t),transform:n?GE({scale:n,compose:r}):r}}var lV=["rotate(var(--chakra-rotate, 0))","scaleX(var(--chakra-scale-x, 1))","scaleY(var(--chakra-scale-y, 1))","skewX(var(--chakra-skew-x, 0))","skewY(var(--chakra-skew-y, 0))"];function I5e(){return["translateX(var(--chakra-translate-x, 0))","translateY(var(--chakra-translate-y, 0))",...lV].join(" ")}function M5e(){return["translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",...lV].join(" ")}var N5e={"--chakra-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-sepia":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-drop-shadow":"var(--chakra-empty,/*!*/ /*!*/)",filter:["var(--chakra-blur)","var(--chakra-brightness)","var(--chakra-contrast)","var(--chakra-grayscale)","var(--chakra-hue-rotate)","var(--chakra-invert)","var(--chakra-saturate)","var(--chakra-sepia)","var(--chakra-drop-shadow)"].join(" ")},L5e={backdropFilter:["var(--chakra-backdrop-blur)","var(--chakra-backdrop-brightness)","var(--chakra-backdrop-contrast)","var(--chakra-backdrop-grayscale)","var(--chakra-backdrop-hue-rotate)","var(--chakra-backdrop-invert)","var(--chakra-backdrop-opacity)","var(--chakra-backdrop-saturate)","var(--chakra-backdrop-sepia)"].join(" "),"--chakra-backdrop-blur":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-brightness":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-contrast":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-grayscale":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-hue-rotate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-invert":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-opacity":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-saturate":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-backdrop-sepia":"var(--chakra-empty,/*!*/ /*!*/)"};function D5e(e){return{"--chakra-ring-offset-shadow":"var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)","--chakra-ring-shadow":"var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)","--chakra-ring-width":e,boxShadow:["var(--chakra-ring-offset-shadow)","var(--chakra-ring-shadow)","var(--chakra-shadow, 0 0 #0000)"].join(", ")}}var $5e={"row-reverse":{space:"--chakra-space-x-reverse",divide:"--chakra-divide-x-reverse"},"column-reverse":{space:"--chakra-space-y-reverse",divide:"--chakra-divide-y-reverse"}},b5={"to-t":"to top","to-tr":"to top right","to-r":"to right","to-br":"to bottom right","to-b":"to bottom","to-bl":"to bottom left","to-l":"to left","to-tl":"to top left"},F5e=new Set(Object.values(b5)),S5=new Set(["none","-moz-initial","inherit","initial","revert","unset"]),B5e=e=>e.trim();function U5e(e,t){if(e==null||S5.has(e))return e;if(!(w5(e)||S5.has(e)))return`url('${e}')`;const i=/(^[a-z-A-Z]+)\((.*)\)/g.exec(e),o=i==null?void 0:i[1],s=i==null?void 0:i[2];if(!o||!s)return e;const a=o.includes("-gradient")?o:`${o}-gradient`,[l,...u]=s.split(",").map(B5e).filter(Boolean);if((u==null?void 0:u.length)===0)return e;const d=l in b5?b5[l]:l;u.unshift(d);const f=u.map(p=>{if(F5e.has(p))return p;const g=p.indexOf(" "),[m,v]=g!==-1?[p.substr(0,g),p.substr(g+1)]:[p],x=w5(v)?v:v&&v.split(" "),_=`colors.${m}`,b=_ in t.__cssMap?t.__cssMap[_].varRef:m;return x?[b,...Array.isArray(x)?x:[x]].join(" "):b});return`${a}(${f.join(", ")})`}var w5=e=>typeof e=="string"&&e.includes("(")&&e.includes(")"),z5e=(e,t)=>U5e(e,t??{});function V5e(e){return/^var\(--.+\)$/.test(e)}var j5e=e=>{const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}},ds=e=>t=>`${e}(${t})`,St={filter(e){return e!=="auto"?e:N5e},backdropFilter(e){return e!=="auto"?e:L5e},ring(e){return D5e(St.px(e))},bgClip(e){return e==="text"?{color:"transparent",backgroundClip:"text"}:{backgroundClip:e}},transform(e){return e==="auto"?I5e():e==="auto-gpu"?M5e():e},vh(e){return e==="$100vh"?"var(--chakra-vh)":e},px(e){if(e==null)return e;const{unitless:t}=j5e(e);return t||typeof e=="number"?`${e}px`:e},fraction(e){return typeof e!="number"||e>1?e:`${e*100}%`},float(e,t){const n={left:"right",right:"left"};return t.direction==="rtl"?n[e]:e},degree(e){if(V5e(e)||e==null)return e;const t=typeof e=="string"&&!e.endsWith("deg");return typeof e=="number"||t?`${e}deg`:e},gradient:z5e,blur:ds("blur"),opacity:ds("opacity"),brightness:ds("brightness"),contrast:ds("contrast"),dropShadow:ds("drop-shadow"),grayscale:ds("grayscale"),hueRotate:ds("hue-rotate"),invert:ds("invert"),saturate:ds("saturate"),sepia:ds("sepia"),bgImage(e){return e==null||w5(e)||S5.has(e)?e:`url(${e})`},outline(e){const t=String(e)==="0"||String(e)==="none";return e!==null&&t?{outline:"2px solid transparent",outlineOffset:"2px"}:{outline:e}},flexDirection(e){var t;const{space:n,divide:r}=(t=$5e[e])!=null?t:{},i={flexDirection:e};return n&&(i[n]=1),r&&(i[r]=1),i}},Q={borderWidths:co("borderWidths"),borderStyles:co("borderStyles"),colors:co("colors"),borders:co("borders"),gradients:co("gradients",St.gradient),radii:co("radii",St.px),space:co("space",j0(St.vh,St.px)),spaceT:co("space",j0(St.vh,St.px)),degreeT(e){return{property:e,transform:St.degree}},prop(e,t,n){return{property:e,scale:t,...t&&{transform:GE({scale:t,transform:n})}}},propT(e,t){return{property:e,transform:t}},sizes:co("sizes",j0(St.vh,St.px)),sizesT:co("sizes",j0(St.vh,St.fraction)),shadows:co("shadows"),logical:k5e,blur:co("blur",St.blur)},Pv={background:Q.colors("background"),backgroundColor:Q.colors("backgroundColor"),backgroundImage:Q.gradients("backgroundImage"),backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0,backgroundAttachment:!0,backgroundClip:{transform:St.bgClip},bgSize:Q.prop("backgroundSize"),bgPosition:Q.prop("backgroundPosition"),bg:Q.colors("background"),bgColor:Q.colors("backgroundColor"),bgPos:Q.prop("backgroundPosition"),bgRepeat:Q.prop("backgroundRepeat"),bgAttachment:Q.prop("backgroundAttachment"),bgGradient:Q.gradients("backgroundImage"),bgClip:{transform:St.bgClip}};Object.assign(Pv,{bgImage:Pv.backgroundImage,bgImg:Pv.backgroundImage});var Et={border:Q.borders("border"),borderWidth:Q.borderWidths("borderWidth"),borderStyle:Q.borderStyles("borderStyle"),borderColor:Q.colors("borderColor"),borderRadius:Q.radii("borderRadius"),borderTop:Q.borders("borderTop"),borderBlockStart:Q.borders("borderBlockStart"),borderTopLeftRadius:Q.radii("borderTopLeftRadius"),borderStartStartRadius:Q.logical({scale:"radii",property:{ltr:"borderTopLeftRadius",rtl:"borderTopRightRadius"}}),borderEndStartRadius:Q.logical({scale:"radii",property:{ltr:"borderBottomLeftRadius",rtl:"borderBottomRightRadius"}}),borderTopRightRadius:Q.radii("borderTopRightRadius"),borderStartEndRadius:Q.logical({scale:"radii",property:{ltr:"borderTopRightRadius",rtl:"borderTopLeftRadius"}}),borderEndEndRadius:Q.logical({scale:"radii",property:{ltr:"borderBottomRightRadius",rtl:"borderBottomLeftRadius"}}),borderRight:Q.borders("borderRight"),borderInlineEnd:Q.borders("borderInlineEnd"),borderBottom:Q.borders("borderBottom"),borderBlockEnd:Q.borders("borderBlockEnd"),borderBottomLeftRadius:Q.radii("borderBottomLeftRadius"),borderBottomRightRadius:Q.radii("borderBottomRightRadius"),borderLeft:Q.borders("borderLeft"),borderInlineStart:{property:"borderInlineStart",scale:"borders"},borderInlineStartRadius:Q.logical({scale:"radii",property:{ltr:["borderTopLeftRadius","borderBottomLeftRadius"],rtl:["borderTopRightRadius","borderBottomRightRadius"]}}),borderInlineEndRadius:Q.logical({scale:"radii",property:{ltr:["borderTopRightRadius","borderBottomRightRadius"],rtl:["borderTopLeftRadius","borderBottomLeftRadius"]}}),borderX:Q.borders(["borderLeft","borderRight"]),borderInline:Q.borders("borderInline"),borderY:Q.borders(["borderTop","borderBottom"]),borderBlock:Q.borders("borderBlock"),borderTopWidth:Q.borderWidths("borderTopWidth"),borderBlockStartWidth:Q.borderWidths("borderBlockStartWidth"),borderTopColor:Q.colors("borderTopColor"),borderBlockStartColor:Q.colors("borderBlockStartColor"),borderTopStyle:Q.borderStyles("borderTopStyle"),borderBlockStartStyle:Q.borderStyles("borderBlockStartStyle"),borderBottomWidth:Q.borderWidths("borderBottomWidth"),borderBlockEndWidth:Q.borderWidths("borderBlockEndWidth"),borderBottomColor:Q.colors("borderBottomColor"),borderBlockEndColor:Q.colors("borderBlockEndColor"),borderBottomStyle:Q.borderStyles("borderBottomStyle"),borderBlockEndStyle:Q.borderStyles("borderBlockEndStyle"),borderLeftWidth:Q.borderWidths("borderLeftWidth"),borderInlineStartWidth:Q.borderWidths("borderInlineStartWidth"),borderLeftColor:Q.colors("borderLeftColor"),borderInlineStartColor:Q.colors("borderInlineStartColor"),borderLeftStyle:Q.borderStyles("borderLeftStyle"),borderInlineStartStyle:Q.borderStyles("borderInlineStartStyle"),borderRightWidth:Q.borderWidths("borderRightWidth"),borderInlineEndWidth:Q.borderWidths("borderInlineEndWidth"),borderRightColor:Q.colors("borderRightColor"),borderInlineEndColor:Q.colors("borderInlineEndColor"),borderRightStyle:Q.borderStyles("borderRightStyle"),borderInlineEndStyle:Q.borderStyles("borderInlineEndStyle"),borderTopRadius:Q.radii(["borderTopLeftRadius","borderTopRightRadius"]),borderBottomRadius:Q.radii(["borderBottomLeftRadius","borderBottomRightRadius"]),borderLeftRadius:Q.radii(["borderTopLeftRadius","borderBottomLeftRadius"]),borderRightRadius:Q.radii(["borderTopRightRadius","borderBottomRightRadius"])};Object.assign(Et,{rounded:Et.borderRadius,roundedTop:Et.borderTopRadius,roundedTopLeft:Et.borderTopLeftRadius,roundedTopRight:Et.borderTopRightRadius,roundedTopStart:Et.borderStartStartRadius,roundedTopEnd:Et.borderStartEndRadius,roundedBottom:Et.borderBottomRadius,roundedBottomLeft:Et.borderBottomLeftRadius,roundedBottomRight:Et.borderBottomRightRadius,roundedBottomStart:Et.borderEndStartRadius,roundedBottomEnd:Et.borderEndEndRadius,roundedLeft:Et.borderLeftRadius,roundedRight:Et.borderRightRadius,roundedStart:Et.borderInlineStartRadius,roundedEnd:Et.borderInlineEndRadius,borderStart:Et.borderInlineStart,borderEnd:Et.borderInlineEnd,borderTopStartRadius:Et.borderStartStartRadius,borderTopEndRadius:Et.borderStartEndRadius,borderBottomStartRadius:Et.borderEndStartRadius,borderBottomEndRadius:Et.borderEndEndRadius,borderStartRadius:Et.borderInlineStartRadius,borderEndRadius:Et.borderInlineEndRadius,borderStartWidth:Et.borderInlineStartWidth,borderEndWidth:Et.borderInlineEndWidth,borderStartColor:Et.borderInlineStartColor,borderEndColor:Et.borderInlineEndColor,borderStartStyle:Et.borderInlineStartStyle,borderEndStyle:Et.borderInlineEndStyle});var G5e={color:Q.colors("color"),textColor:Q.colors("color"),fill:Q.colors("fill"),stroke:Q.colors("stroke")},x5={boxShadow:Q.shadows("boxShadow"),mixBlendMode:!0,blendMode:Q.prop("mixBlendMode"),backgroundBlendMode:!0,bgBlendMode:Q.prop("backgroundBlendMode"),opacity:!0};Object.assign(x5,{shadow:x5.boxShadow});var H5e={filter:{transform:St.filter},blur:Q.blur("--chakra-blur"),brightness:Q.propT("--chakra-brightness",St.brightness),contrast:Q.propT("--chakra-contrast",St.contrast),hueRotate:Q.degreeT("--chakra-hue-rotate"),invert:Q.propT("--chakra-invert",St.invert),saturate:Q.propT("--chakra-saturate",St.saturate),dropShadow:Q.propT("--chakra-drop-shadow",St.dropShadow),backdropFilter:{transform:St.backdropFilter},backdropBlur:Q.blur("--chakra-backdrop-blur"),backdropBrightness:Q.propT("--chakra-backdrop-brightness",St.brightness),backdropContrast:Q.propT("--chakra-backdrop-contrast",St.contrast),backdropHueRotate:Q.degreeT("--chakra-backdrop-hue-rotate"),backdropInvert:Q.propT("--chakra-backdrop-invert",St.invert),backdropSaturate:Q.propT("--chakra-backdrop-saturate",St.saturate)},o_={alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:{transform:St.flexDirection},flex:!0,flexFlow:!0,flexGrow:!0,flexShrink:!0,flexBasis:Q.sizes("flexBasis"),justifySelf:!0,alignSelf:!0,order:!0,placeItems:!0,placeContent:!0,placeSelf:!0,gap:Q.space("gap"),rowGap:Q.space("rowGap"),columnGap:Q.space("columnGap")};Object.assign(o_,{flexDir:o_.flexDirection});var uV={gridGap:Q.space("gridGap"),gridColumnGap:Q.space("gridColumnGap"),gridRowGap:Q.space("gridRowGap"),gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridColumnStart:!0,gridColumnEnd:!0,gridRowStart:!0,gridRowEnd:!0,gridAutoRows:!0,gridTemplate:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0},W5e={appearance:!0,cursor:!0,resize:!0,userSelect:!0,pointerEvents:!0,outline:{transform:St.outline},outlineOffset:!0,outlineColor:Q.colors("outlineColor")},ho={width:Q.sizesT("width"),inlineSize:Q.sizesT("inlineSize"),height:Q.sizes("height"),blockSize:Q.sizes("blockSize"),boxSize:Q.sizes(["width","height"]),minWidth:Q.sizes("minWidth"),minInlineSize:Q.sizes("minInlineSize"),minHeight:Q.sizes("minHeight"),minBlockSize:Q.sizes("minBlockSize"),maxWidth:Q.sizes("maxWidth"),maxInlineSize:Q.sizes("maxInlineSize"),maxHeight:Q.sizes("maxHeight"),maxBlockSize:Q.sizes("maxBlockSize"),overflow:!0,overflowX:!0,overflowY:!0,overscrollBehavior:!0,overscrollBehaviorX:!0,overscrollBehaviorY:!0,display:!0,aspectRatio:!0,hideFrom:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (min-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r.minW)!=null?i:e})`]:{display:"none"}}}},hideBelow:{scale:"breakpoints",transform:(e,t)=>{var n,r,i;return{[`@media screen and (max-width: ${(i=(r=(n=t.__breakpoints)==null?void 0:n.get(e))==null?void 0:r._minW)!=null?i:e})`]:{display:"none"}}}},verticalAlign:!0,boxSizing:!0,boxDecorationBreak:!0,float:Q.propT("float",St.float),objectFit:!0,objectPosition:!0,visibility:!0,isolation:!0};Object.assign(ho,{w:ho.width,h:ho.height,minW:ho.minWidth,maxW:ho.maxWidth,minH:ho.minHeight,maxH:ho.maxHeight,overscroll:ho.overscrollBehavior,overscrollX:ho.overscrollBehaviorX,overscrollY:ho.overscrollBehaviorY});var q5e={listStyleType:!0,listStylePosition:!0,listStylePos:Q.prop("listStylePosition"),listStyleImage:!0,listStyleImg:Q.prop("listStyleImage")};function K5e(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},Y5e=X5e(K5e),Q5e={border:"0px",clip:"rect(0, 0, 0, 0)",width:"1px",height:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},Z5e={position:"static",width:"auto",height:"auto",clip:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal"},Kx=(e,t,n)=>{const r={},i=Y5e(e,t,{});for(const o in i)o in n&&n[o]!=null||(r[o]=i[o]);return r},J5e={srOnly:{transform(e){return e===!0?Q5e:e==="focusable"?Z5e:{}}},layerStyle:{processResult:!0,transform:(e,t,n)=>Kx(t,`layerStyles.${e}`,n)},textStyle:{processResult:!0,transform:(e,t,n)=>Kx(t,`textStyles.${e}`,n)},apply:{processResult:!0,transform:(e,t,n)=>Kx(t,e,n)}},Rp={position:!0,pos:Q.prop("position"),zIndex:Q.prop("zIndex","zIndices"),inset:Q.spaceT("inset"),insetX:Q.spaceT(["left","right"]),insetInline:Q.spaceT("insetInline"),insetY:Q.spaceT(["top","bottom"]),insetBlock:Q.spaceT("insetBlock"),top:Q.spaceT("top"),insetBlockStart:Q.spaceT("insetBlockStart"),bottom:Q.spaceT("bottom"),insetBlockEnd:Q.spaceT("insetBlockEnd"),left:Q.spaceT("left"),insetInlineStart:Q.logical({scale:"space",property:{ltr:"left",rtl:"right"}}),right:Q.spaceT("right"),insetInlineEnd:Q.logical({scale:"space",property:{ltr:"right",rtl:"left"}})};Object.assign(Rp,{insetStart:Rp.insetInlineStart,insetEnd:Rp.insetInlineEnd});var e4e={ring:{transform:St.ring},ringColor:Q.colors("--chakra-ring-color"),ringOffset:Q.prop("--chakra-ring-offset-width"),ringOffsetColor:Q.colors("--chakra-ring-offset-color"),ringInset:Q.prop("--chakra-ring-inset")},tn={margin:Q.spaceT("margin"),marginTop:Q.spaceT("marginTop"),marginBlockStart:Q.spaceT("marginBlockStart"),marginRight:Q.spaceT("marginRight"),marginInlineEnd:Q.spaceT("marginInlineEnd"),marginBottom:Q.spaceT("marginBottom"),marginBlockEnd:Q.spaceT("marginBlockEnd"),marginLeft:Q.spaceT("marginLeft"),marginInlineStart:Q.spaceT("marginInlineStart"),marginX:Q.spaceT(["marginInlineStart","marginInlineEnd"]),marginInline:Q.spaceT("marginInline"),marginY:Q.spaceT(["marginTop","marginBottom"]),marginBlock:Q.spaceT("marginBlock"),padding:Q.space("padding"),paddingTop:Q.space("paddingTop"),paddingBlockStart:Q.space("paddingBlockStart"),paddingRight:Q.space("paddingRight"),paddingBottom:Q.space("paddingBottom"),paddingBlockEnd:Q.space("paddingBlockEnd"),paddingLeft:Q.space("paddingLeft"),paddingInlineStart:Q.space("paddingInlineStart"),paddingInlineEnd:Q.space("paddingInlineEnd"),paddingX:Q.space(["paddingInlineStart","paddingInlineEnd"]),paddingInline:Q.space("paddingInline"),paddingY:Q.space(["paddingTop","paddingBottom"]),paddingBlock:Q.space("paddingBlock")};Object.assign(tn,{m:tn.margin,mt:tn.marginTop,mr:tn.marginRight,me:tn.marginInlineEnd,marginEnd:tn.marginInlineEnd,mb:tn.marginBottom,ml:tn.marginLeft,ms:tn.marginInlineStart,marginStart:tn.marginInlineStart,mx:tn.marginX,my:tn.marginY,p:tn.padding,pt:tn.paddingTop,py:tn.paddingY,px:tn.paddingX,pb:tn.paddingBottom,pl:tn.paddingLeft,ps:tn.paddingInlineStart,paddingStart:tn.paddingInlineStart,pr:tn.paddingRight,pe:tn.paddingInlineEnd,paddingEnd:tn.paddingInlineEnd});var t4e={textDecorationColor:Q.colors("textDecorationColor"),textDecoration:!0,textDecor:{property:"textDecoration"},textDecorationLine:!0,textDecorationStyle:!0,textDecorationThickness:!0,textUnderlineOffset:!0,textShadow:Q.shadows("textShadow")},n4e={clipPath:!0,transform:Q.propT("transform",St.transform),transformOrigin:!0,translateX:Q.spaceT("--chakra-translate-x"),translateY:Q.spaceT("--chakra-translate-y"),skewX:Q.degreeT("--chakra-skew-x"),skewY:Q.degreeT("--chakra-skew-y"),scaleX:Q.prop("--chakra-scale-x"),scaleY:Q.prop("--chakra-scale-y"),scale:Q.prop(["--chakra-scale-x","--chakra-scale-y"]),rotate:Q.degreeT("--chakra-rotate")},r4e={transition:!0,transitionDelay:!0,animation:!0,willChange:!0,transitionDuration:Q.prop("transitionDuration","transition.duration"),transitionProperty:Q.prop("transitionProperty","transition.property"),transitionTimingFunction:Q.prop("transitionTimingFunction","transition.easing")},i4e={fontFamily:Q.prop("fontFamily","fonts"),fontSize:Q.prop("fontSize","fontSizes",St.px),fontWeight:Q.prop("fontWeight","fontWeights"),lineHeight:Q.prop("lineHeight","lineHeights"),letterSpacing:Q.prop("letterSpacing","letterSpacings"),textAlign:!0,fontStyle:!0,textIndent:!0,wordBreak:!0,overflowWrap:!0,textOverflow:!0,textTransform:!0,whiteSpace:!0,isTruncated:{transform(e){if(e===!0)return{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},noOfLines:{static:{overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:"var(--chakra-line-clamp)"},property:"--chakra-line-clamp"}},o4e={scrollBehavior:!0,scrollSnapAlign:!0,scrollSnapStop:!0,scrollSnapType:!0,scrollMargin:Q.spaceT("scrollMargin"),scrollMarginTop:Q.spaceT("scrollMarginTop"),scrollMarginBottom:Q.spaceT("scrollMarginBottom"),scrollMarginLeft:Q.spaceT("scrollMarginLeft"),scrollMarginRight:Q.spaceT("scrollMarginRight"),scrollMarginX:Q.spaceT(["scrollMarginLeft","scrollMarginRight"]),scrollMarginY:Q.spaceT(["scrollMarginTop","scrollMarginBottom"]),scrollPadding:Q.spaceT("scrollPadding"),scrollPaddingTop:Q.spaceT("scrollPaddingTop"),scrollPaddingBottom:Q.spaceT("scrollPaddingBottom"),scrollPaddingLeft:Q.spaceT("scrollPaddingLeft"),scrollPaddingRight:Q.spaceT("scrollPaddingRight"),scrollPaddingX:Q.spaceT(["scrollPaddingLeft","scrollPaddingRight"]),scrollPaddingY:Q.spaceT(["scrollPaddingTop","scrollPaddingBottom"])};function cV(e){return Sa(e)&&e.reference?e.reference:String(e)}var e2=(e,...t)=>t.map(cV).join(` ${e} `).replace(/calc/g,""),jk=(...e)=>`calc(${e2("+",...e)})`,Gk=(...e)=>`calc(${e2("-",...e)})`,C5=(...e)=>`calc(${e2("*",...e)})`,Hk=(...e)=>`calc(${e2("/",...e)})`,Wk=e=>{const t=cV(e);return t!=null&&!Number.isNaN(parseFloat(t))?String(t).startsWith("-")?String(t).slice(1):`-${t}`:C5(t,-1)},Iu=Object.assign(e=>({add:(...t)=>Iu(jk(e,...t)),subtract:(...t)=>Iu(Gk(e,...t)),multiply:(...t)=>Iu(C5(e,...t)),divide:(...t)=>Iu(Hk(e,...t)),negate:()=>Iu(Wk(e)),toString:()=>e.toString()}),{add:jk,subtract:Gk,multiply:C5,divide:Hk,negate:Wk});function s4e(e,t="-"){return e.replace(/\s+/g,t)}function a4e(e){const t=s4e(e.toString());return u4e(l4e(t))}function l4e(e){return e.includes("\\.")?e:!Number.isInteger(parseFloat(e.toString()))?e.replace(".","\\."):e}function u4e(e){return e.replace(/[!-,/:-@[-^`{-~]/g,"\\$&")}function c4e(e,t=""){return[t,e].filter(Boolean).join("-")}function d4e(e,t){return`var(${e}${t?`, ${t}`:""})`}function f4e(e,t=""){return a4e(`--${c4e(e,t)}`)}function T5(e,t,n){const r=f4e(e,n);return{variable:r,reference:d4e(r,t)}}function yMe(e,t){const n={};for(const r of t){if(Array.isArray(r)){const[i,o]=r;n[i]=T5(`${e}-${i}`,o);continue}n[r]=T5(`${e}-${r}`)}return n}function h4e(e){const t=e==null?0:e.length;return t?e[t-1]:void 0}function p4e(e){const t=parseFloat(e.toString()),n=e.toString().replace(String(t),"");return{unitless:!n,value:t,unit:n}}function E5(e){if(e==null)return e;const{unitless:t}=p4e(e);return t||typeof e=="number"?`${e}px`:e}var dV=(e,t)=>parseInt(e[1],10)>parseInt(t[1],10)?1:-1,HE=e=>Object.fromEntries(Object.entries(e).sort(dV));function qk(e){const t=HE(e);return Object.assign(Object.values(t),t)}function g4e(e){const t=Object.keys(HE(e));return new Set(t)}function Kk(e){var t;if(!e)return e;e=(t=E5(e))!=null?t:e;const n=-.02;return typeof e=="number"?`${e+n}`:e.replace(/(\d+\.?\d*)/u,r=>`${parseFloat(r)+n}`)}function pp(e,t){const n=["@media screen"];return e&&n.push("and",`(min-width: ${E5(e)})`),t&&n.push("and",`(max-width: ${E5(t)})`),n.join(" ")}function m4e(e){var t;if(!e)return null;e.base=(t=e.base)!=null?t:"0px";const n=qk(e),r=Object.entries(e).sort(dV).map(([s,a],l,u)=>{var d;let[,f]=(d=u[l+1])!=null?d:[];return f=parseFloat(f)>0?Kk(f):void 0,{_minW:Kk(a),breakpoint:s,minW:a,maxW:f,maxWQuery:pp(null,f),minWQuery:pp(a),minMaxQuery:pp(a,f)}}),i=g4e(e),o=Array.from(i.values());return{keys:i,normalized:n,isResponsive(s){const a=Object.keys(s);return a.length>0&&a.every(l=>i.has(l))},asObject:HE(e),asArray:qk(e),details:r,get(s){return r.find(a=>a.breakpoint===s)},media:[null,...n.map(s=>pp(s)).slice(1)],toArrayValue(s){if(!Sa(s))throw new Error("toArrayValue: value must be an object");const a=o.map(l=>{var u;return(u=s[l])!=null?u:null});for(;h4e(a)===null;)a.pop();return a},toObjectValue(s){if(!Array.isArray(s))throw new Error("toObjectValue: value must be an array");return s.reduce((a,l,u)=>{const d=o[u];return d!=null&&l!=null&&(a[d]=l),a},{})}}}var Tr={hover:(e,t)=>`${e}:hover ${t}, ${e}[data-hover] ${t}`,focus:(e,t)=>`${e}:focus ${t}, ${e}[data-focus] ${t}`,focusVisible:(e,t)=>`${e}:focus-visible ${t}`,focusWithin:(e,t)=>`${e}:focus-within ${t}`,active:(e,t)=>`${e}:active ${t}, ${e}[data-active] ${t}`,disabled:(e,t)=>`${e}:disabled ${t}, ${e}[data-disabled] ${t}`,invalid:(e,t)=>`${e}:invalid ${t}, ${e}[data-invalid] ${t}`,checked:(e,t)=>`${e}:checked ${t}, ${e}[data-checked] ${t}`,indeterminate:(e,t)=>`${e}:indeterminate ${t}, ${e}[aria-checked=mixed] ${t}, ${e}[data-indeterminate] ${t}`,readOnly:(e,t)=>`${e}:read-only ${t}, ${e}[readonly] ${t}, ${e}[data-read-only] ${t}`,expanded:(e,t)=>`${e}:read-only ${t}, ${e}[aria-expanded=true] ${t}, ${e}[data-expanded] ${t}`,placeholderShown:(e,t)=>`${e}:placeholder-shown ${t}`},ol=e=>fV(t=>e(t,"&"),"[role=group]","[data-group]",".group"),oa=e=>fV(t=>e(t,"~ &"),"[data-peer]",".peer"),fV=(e,...t)=>t.map(e).join(", "),t2={_hover:"&:hover, &[data-hover]",_active:"&:active, &[data-active]",_focus:"&:focus, &[data-focus]",_highlighted:"&[data-highlighted]",_focusWithin:"&:focus-within",_focusVisible:"&:focus-visible, &[data-focus-visible]",_disabled:"&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",_readOnly:"&[aria-readonly=true], &[readonly], &[data-readonly]",_before:"&::before",_after:"&::after",_empty:"&:empty",_expanded:"&[aria-expanded=true], &[data-expanded]",_checked:"&[aria-checked=true], &[data-checked]",_grabbed:"&[aria-grabbed=true], &[data-grabbed]",_pressed:"&[aria-pressed=true], &[data-pressed]",_invalid:"&[aria-invalid=true], &[data-invalid]",_valid:"&[data-valid], &[data-state=valid]",_loading:"&[data-loading], &[aria-busy=true]",_selected:"&[aria-selected=true], &[data-selected]",_hidden:"&[hidden], &[data-hidden]",_autofill:"&:-webkit-autofill",_even:"&:nth-of-type(even)",_odd:"&:nth-of-type(odd)",_first:"&:first-of-type",_firstLetter:"&::first-letter",_last:"&:last-of-type",_notFirst:"&:not(:first-of-type)",_notLast:"&:not(:last-of-type)",_visited:"&:visited",_activeLink:"&[aria-current=page]",_activeStep:"&[aria-current=step]",_indeterminate:"&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]",_groupHover:ol(Tr.hover),_peerHover:oa(Tr.hover),_groupFocus:ol(Tr.focus),_peerFocus:oa(Tr.focus),_groupFocusVisible:ol(Tr.focusVisible),_peerFocusVisible:oa(Tr.focusVisible),_groupActive:ol(Tr.active),_peerActive:oa(Tr.active),_groupDisabled:ol(Tr.disabled),_peerDisabled:oa(Tr.disabled),_groupInvalid:ol(Tr.invalid),_peerInvalid:oa(Tr.invalid),_groupChecked:ol(Tr.checked),_peerChecked:oa(Tr.checked),_groupFocusWithin:ol(Tr.focusWithin),_peerFocusWithin:oa(Tr.focusWithin),_peerPlaceholderShown:oa(Tr.placeholderShown),_placeholder:"&::placeholder",_placeholderShown:"&:placeholder-shown",_fullScreen:"&:fullscreen",_selection:"&::selection",_rtl:"[dir=rtl] &, &[dir=rtl]",_ltr:"[dir=ltr] &, &[dir=ltr]",_mediaDark:"@media (prefers-color-scheme: dark)",_mediaReduceMotion:"@media (prefers-reduced-motion: reduce)",_dark:".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",_light:".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]",_horizontal:"&[data-orientation=horizontal]",_vertical:"&[data-orientation=vertical]"},hV=Object.keys(t2);function Xk(e,t){return T5(String(e).replace(/\./g,"-"),void 0,t)}function y4e(e,t){let n={};const r={};for(const[i,o]of Object.entries(e)){const{isSemantic:s,value:a}=o,{variable:l,reference:u}=Xk(i,t==null?void 0:t.cssVarPrefix);if(!s){if(i.startsWith("space")){const p=i.split("."),[g,...m]=p,v=`${g}.-${m.join(".")}`,x=Iu.negate(a),_=Iu.negate(u);r[v]={value:x,var:l,varRef:_}}n[l]=a,r[i]={value:a,var:l,varRef:u};continue}const d=p=>{const m=[String(i).split(".")[0],p].join(".");if(!e[m])return p;const{reference:x}=Xk(m,t==null?void 0:t.cssVarPrefix);return x},f=Sa(a)?a:{default:a};n=Ts(n,Object.entries(f).reduce((p,[g,m])=>{var v,x;if(!m)return p;const _=d(`${m}`);if(g==="default")return p[l]=_,p;const b=(x=(v=t2)==null?void 0:v[g])!=null?x:g;return p[b]={[l]:_},p},{})),r[i]={value:u,var:l,varRef:u}}return{cssVars:n,cssMap:r}}function v4e(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function _4e(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function b4e(e){return typeof e=="object"&&e!=null&&!Array.isArray(e)}function Yk(e,t,n={}){const{stop:r,getKey:i}=n;function o(s,a=[]){var l;if(b4e(s)||Array.isArray(s)){const u={};for(const[d,f]of Object.entries(s)){const p=(l=i==null?void 0:i(d))!=null?l:d,g=[...a,p];if(r!=null&&r(s,g))return t(s,a);u[p]=o(f,g)}return u}return t(s,a)}return o(e)}var S4e=["colors","borders","borderWidths","borderStyles","fonts","fontSizes","fontWeights","gradients","letterSpacings","lineHeights","radii","space","shadows","sizes","zIndices","transition","blur","breakpoints"];function w4e(e){return _4e(e,S4e)}function x4e(e){return e.semanticTokens}function C4e(e){const{__cssMap:t,__cssVars:n,__breakpoints:r,...i}=e;return i}var T4e=e=>hV.includes(e)||e==="default";function E4e({tokens:e,semanticTokens:t}){const n={};return Yk(e,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!1,value:r})}),Yk(t,(r,i)=>{r!=null&&(n[i.join(".")]={isSemantic:!0,value:r})},{stop:r=>Object.keys(r).every(T4e)}),n}function vMe(e){var t;const n=C4e(e),r=w4e(n),i=x4e(n),o=E4e({tokens:r,semanticTokens:i}),s=(t=n.config)==null?void 0:t.cssVarPrefix,{cssMap:a,cssVars:l}=y4e(o,{cssVarPrefix:s});return Object.assign(n,{__cssVars:{...{"--chakra-ring-inset":"var(--chakra-empty,/*!*/ /*!*/)","--chakra-ring-offset-width":"0px","--chakra-ring-offset-color":"#fff","--chakra-ring-color":"rgba(66, 153, 225, 0.6)","--chakra-ring-offset-shadow":"0 0 #0000","--chakra-ring-shadow":"0 0 #0000","--chakra-space-x-reverse":"0","--chakra-space-y-reverse":"0"},...l},__cssMap:a,__breakpoints:m4e(n.breakpoints)}),n}var WE=Ts({},Pv,Et,G5e,o_,ho,H5e,e4e,W5e,uV,J5e,Rp,x5,tn,o4e,i4e,t4e,n4e,q5e,r4e),A4e=Object.assign({},tn,ho,o_,uV,Rp),_Me=Object.keys(A4e),P4e=[...Object.keys(WE),...hV],R4e={...WE,...t2},O4e=e=>e in R4e,k4e=e=>t=>{if(!t.__breakpoints)return e;const{isResponsive:n,toArrayValue:r,media:i}=t.__breakpoints,o={};for(const s in e){let a=Bu(e[s],t);if(a==null)continue;if(a=Sa(a)&&n(a)?r(a):a,!Array.isArray(a)){o[s]=a;continue}const l=a.slice(0,i.length).length;for(let u=0;ue.startsWith("--")&&typeof t=="string"&&!M4e(t),L4e=(e,t)=>{var n,r;if(t==null)return t;const i=l=>{var u,d;return(d=(u=e.__cssMap)==null?void 0:u[l])==null?void 0:d.varRef},o=l=>{var u;return(u=i(l))!=null?u:l},[s,a]=I4e(t);return t=(r=(n=i(s))!=null?n:o(a))!=null?r:o(t),t};function D4e(e){const{configs:t={},pseudos:n={},theme:r}=e,i=(o,s=!1)=>{var a,l,u;const d=Bu(o,r),f=k4e(d)(r);let p={};for(let g in f){const m=f[g];let v=Bu(m,r);g in n&&(g=n[g]),N4e(g,v)&&(v=L4e(r,v));let x=t[g];if(x===!0&&(x={property:g}),Sa(v)){p[g]=(a=p[g])!=null?a:{},p[g]=Ts({},p[g],i(v,!0));continue}let _=(u=(l=x==null?void 0:x.transform)==null?void 0:l.call(x,v,r,d))!=null?u:v;_=x!=null&&x.processResult?i(_,!0):_;const b=Bu(x==null?void 0:x.property,r);if(!s&&(x!=null&&x.static)){const y=Bu(x.static,r);p=Ts({},p,y)}if(b&&Array.isArray(b)){for(const y of b)p[y]=_;continue}if(b){b==="&"&&Sa(_)?p=Ts({},p,_):p[b]=_;continue}if(Sa(_)){p=Ts({},p,_);continue}p[g]=_}return p};return i}var $4e=e=>t=>D4e({theme:t,pseudos:t2,configs:WE})(e);function bMe(e){return e}function SMe(e){return e}function wMe(e){return{definePartsStyle(t){return t},defineMultiStyleConfig(t){return{parts:e,...t}}}}function F4e(e,t){if(Array.isArray(e))return e;if(Sa(e))return t(e);if(e!=null)return[e]}function B4e(e,t){for(let n=t+1;n{Ts(u,{[y]:p?b[y]:{[_]:b[y]}})});continue}if(!g){p?Ts(u,b):u[_]=b;continue}u[_]=b}}return u}}function z4e(e){return t=>{var n;const{variant:r,size:i,theme:o}=t,s=U4e(o);return Ts({},Bu((n=e.baseStyle)!=null?n:{},t),s(e,"sizes",i,t),s(e,"variants",r,t))}}function xMe(e,t,n){var r,i,o;return(o=(i=(r=e.__cssMap)==null?void 0:r[`${t}.${n}`])==null?void 0:i.varRef)!=null?o:n}function pV(e){return v4e(e,["styleConfig","size","variant","colorScheme"])}function V4e(e,t){const n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}function j4e(e,t,n,r){const i=typeof t=="string"?t.split("."):[t];for(r=0;r{const t=new WeakMap;return(r,i,o,s)=>{if(typeof r>"u")return e(r,i,o);t.has(r)||t.set(r,new Map);const a=t.get(r);if(a.has(i))return a.get(i);const l=e(r,i,o,s);return a.set(i,l),l}},H4e=G4e(j4e);function gV(e,t){const n={};return Object.keys(e).forEach(r=>{const i=e[r];t(i,r,e)&&(n[r]=i)}),n}var mV=e=>gV(e,t=>t!=null);function W4e(e){return typeof e=="function"}function q4e(e,...t){return W4e(e)?e(...t):e}function CMe(...e){return function(n){e.some(r=>(r==null||r(n),n==null?void 0:n.defaultPrevented))}}var K4e=typeof Element<"u",X4e=typeof Map=="function",Y4e=typeof Set=="function",Q4e=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Rv(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,r,i;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Rv(e[r],t[r]))return!1;return!0}var o;if(X4e&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;for(o=e.entries();!(r=o.next()).done;)if(!Rv(r.value[1],t.get(r.value[0])))return!1;return!0}if(Y4e&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(o=e.entries();!(r=o.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(Q4e&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;if(K4e&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!Rv(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var Z4e=function(t,n){try{return Rv(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const J4e=dc(Z4e);function yV(e,t={}){var n;const{styleConfig:r,...i}=t,{theme:o,colorMode:s}=S5e(),a=e?H4e(o,`components.${e}`):void 0,l=r||a,u=Ts({theme:o,colorMode:s},(n=l==null?void 0:l.defaultProps)!=null?n:{},mV(V4e(i,["children"]))),d=L.useRef({});if(l){const p=z4e(l)(u);J4e(d.current,p)||(d.current=p)}return d.current}function vV(e,t={}){return yV(e,t)}function TMe(e,t={}){return yV(e,t)}var eTe=new Set([...P4e,"textStyle","layerStyle","apply","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),tTe=new Set(["htmlWidth","htmlHeight","htmlSize","htmlTranslate"]);function nTe(e){return tTe.has(e)||!eTe.has(e)}function rTe(e,...t){if(e==null)throw new TypeError("Cannot convert undefined or null to object");const n={...e};for(const r of t)if(r!=null)for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&(i in n&&delete n[i],n[i]=r[i]);return n}var iTe=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,oTe=Qz(function(e){return iTe.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),sTe=oTe,aTe=function(t){return t!=="theme"},Qk=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?sTe:aTe},Zk=function(t,n,r){var i;if(n){var o=n.shouldForwardProp;i=t.__emotion_forwardProp&&o?function(s){return t.__emotion_forwardProp(s)&&o(s)}:o}return typeof i!="function"&&r&&(i=t.__emotion_forwardProp),i},lTe=function(t){var n=t.cache,r=t.serialized,i=t.isStringTag;return Jz(n,r,i),g5e(function(){return eV(n,r,i)}),null},uTe=function e(t,n){var r=t.__emotion_real===t,i=r&&t.__emotion_base||t,o,s;n!==void 0&&(o=n.label,s=n.target);var a=Zk(t,n,r),l=a||Qk(i),u=!l("as");return function(){var d=arguments,f=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&f.push("label:"+o+";"),d[0]==null||d[0].raw===void 0)f.push.apply(f,d);else{f.push(d[0][0]);for(var p=d.length,g=1;gt=>{const{theme:n,css:r,__css:i,sx:o,...s}=t,a=gV(s,(f,p)=>O4e(p)),l=q4e(e,t),u=rTe({},i,l,mV(a),o),d=$4e(u)(t.theme);return r?[d,r]:d};function Xx(e,t){const{baseStyle:n,...r}=t??{};r.shouldForwardProp||(r.shouldForwardProp=nTe);const i=fTe({baseStyle:n}),o=dTe(e,r)(i);return Lt.forwardRef(function(l,u){const{colorMode:d,forced:f}=jE();return Lt.createElement(o,{ref:u,"data-theme":f?d:void 0,...l})})}function hTe(){const e=new Map;return new Proxy(Xx,{apply(t,n,r){return Xx(...r)},get(t,n){return e.has(n)||e.set(n,Xx(n)),e.get(n)}})}var cc=hTe();function Pc(e){return L.forwardRef(e)}const _V=L.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),n2=L.createContext({}),Lm=L.createContext(null),r2=typeof document<"u",a_=r2?L.useLayoutEffect:L.useEffect,bV=L.createContext({strict:!1});function pTe(e,t,n,r){const{visualElement:i}=L.useContext(n2),o=L.useContext(bV),s=L.useContext(Lm),a=L.useContext(_V).reducedMotion,l=L.useRef();r=r||o.renderer,!l.current&&r&&(l.current=r(e,{visualState:t,parent:i,props:n,presenceContext:s,blockInitialAnimation:s?s.initial===!1:!1,reducedMotionConfig:a}));const u=l.current;return L.useInsertionEffect(()=>{u&&u.update(n,s)}),a_(()=>{u&&u.render()}),L.useEffect(()=>{u&&u.updateFeatures()}),(window.HandoffAppearAnimations?a_:L.useEffect)(()=>{u&&u.animationState&&u.animationState.animateChanges()}),u}function $d(e){return typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function gTe(e,t,n){return L.useCallback(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&(typeof n=="function"?n(r):$d(n)&&(n.current=r))},[t])}function zg(e){return typeof e=="string"||Array.isArray(e)}function i2(e){return typeof e=="object"&&typeof e.start=="function"}const qE=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],KE=["initial",...qE];function o2(e){return i2(e.animate)||KE.some(t=>zg(e[t]))}function SV(e){return!!(o2(e)||e.variants)}function mTe(e,t){if(o2(e)){const{initial:n,animate:r}=e;return{initial:n===!1||zg(n)?n:void 0,animate:zg(r)?r:void 0}}return e.inherit!==!1?t:{}}function yTe(e){const{initial:t,animate:n}=mTe(e,L.useContext(n2));return L.useMemo(()=>({initial:t,animate:n}),[eI(t),eI(n)])}function eI(e){return Array.isArray(e)?e.join(" "):e}const tI={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},Vg={};for(const e in tI)Vg[e]={isEnabled:t=>tI[e].some(n=>!!t[n])};function vTe(e){for(const t in e)Vg[t]={...Vg[t],...e[t]}}const XE=L.createContext({}),wV=L.createContext({}),_Te=Symbol.for("motionComponentSymbol");function bTe({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:r,Component:i}){e&&vTe(e);function o(a,l){let u;const d={...L.useContext(_V),...a,layoutId:STe(a)},{isStatic:f}=d,p=yTe(a),g=r(a,f);if(!f&&r2){p.visualElement=pTe(i,g,d,t);const m=L.useContext(wV),v=L.useContext(bV).strict;p.visualElement&&(u=p.visualElement.loadFeatures(d,v,e,m))}return L.createElement(n2.Provider,{value:p},u&&p.visualElement?L.createElement(u,{visualElement:p.visualElement,...d}):null,n(i,a,gTe(g,p.visualElement,l),g,f,p.visualElement))}const s=L.forwardRef(o);return s[_Te]=i,s}function STe({layoutId:e}){const t=L.useContext(XE).id;return t&&e!==void 0?t+"-"+e:e}function wTe(e){function t(r,i={}){return bTe(e(r,i))}if(typeof Proxy>"u")return t;const n=new Map;return new Proxy(t,{get:(r,i)=>(n.has(i)||n.set(i,t(i)),n.get(i))})}const xTe=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function YE(e){return typeof e!="string"||e.includes("-")?!1:!!(xTe.indexOf(e)>-1||/[A-Z]/.test(e))}const l_={};function CTe(e){Object.assign(l_,e)}const Dm=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Rc=new Set(Dm);function xV(e,{layout:t,layoutId:n}){return Rc.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!l_[e]||e==="opacity")}const ki=e=>!!(e&&e.getVelocity),TTe={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},ETe=Dm.length;function ATe(e,{enableHardwareAcceleration:t=!0,allowTransformNone:n=!0},r,i){let o="";for(let s=0;st=>typeof t=="string"&&t.startsWith(e),TV=CV("--"),A5=CV("var(--"),PTe=/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,RTe=(e,t)=>t&&typeof e=="number"?t.transform(e):e,Kl=(e,t,n)=>Math.min(Math.max(n,e),t),Oc={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Op={...Oc,transform:e=>Kl(0,1,e)},G0={...Oc,default:1},kp=e=>Math.round(e*1e5)/1e5,s2=/(-)?([\d]*\.?[\d])+/g,EV=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,OTe=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function $m(e){return typeof e=="string"}const Fm=e=>({test:t=>$m(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),al=Fm("deg"),Is=Fm("%"),Be=Fm("px"),kTe=Fm("vh"),ITe=Fm("vw"),nI={...Is,parse:e=>Is.parse(e)/100,transform:e=>Is.transform(e*100)},rI={...Oc,transform:Math.round},AV={borderWidth:Be,borderTopWidth:Be,borderRightWidth:Be,borderBottomWidth:Be,borderLeftWidth:Be,borderRadius:Be,radius:Be,borderTopLeftRadius:Be,borderTopRightRadius:Be,borderBottomRightRadius:Be,borderBottomLeftRadius:Be,width:Be,maxWidth:Be,height:Be,maxHeight:Be,size:Be,top:Be,right:Be,bottom:Be,left:Be,padding:Be,paddingTop:Be,paddingRight:Be,paddingBottom:Be,paddingLeft:Be,margin:Be,marginTop:Be,marginRight:Be,marginBottom:Be,marginLeft:Be,rotate:al,rotateX:al,rotateY:al,rotateZ:al,scale:G0,scaleX:G0,scaleY:G0,scaleZ:G0,skew:al,skewX:al,skewY:al,distance:Be,translateX:Be,translateY:Be,translateZ:Be,x:Be,y:Be,z:Be,perspective:Be,transformPerspective:Be,opacity:Op,originX:nI,originY:nI,originZ:Be,zIndex:rI,fillOpacity:Op,strokeOpacity:Op,numOctaves:rI};function QE(e,t,n,r){const{style:i,vars:o,transform:s,transformOrigin:a}=e;let l=!1,u=!1,d=!0;for(const f in t){const p=t[f];if(TV(f)){o[f]=p;continue}const g=AV[f],m=RTe(p,g);if(Rc.has(f)){if(l=!0,s[f]=m,!d)continue;p!==(g.default||0)&&(d=!1)}else f.startsWith("origin")?(u=!0,a[f]=m):i[f]=m}if(t.transform||(l||r?i.transform=ATe(e.transform,n,d,r):i.transform&&(i.transform="none")),u){const{originX:f="50%",originY:p="50%",originZ:g=0}=a;i.transformOrigin=`${f} ${p} ${g}`}}const ZE=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function PV(e,t,n){for(const r in t)!ki(t[r])&&!xV(r,n)&&(e[r]=t[r])}function MTe({transformTemplate:e},t,n){return L.useMemo(()=>{const r=ZE();return QE(r,t,{enableHardwareAcceleration:!n},e),Object.assign({},r.vars,r.style)},[t])}function NTe(e,t,n){const r=e.style||{},i={};return PV(i,r,e),Object.assign(i,MTe(e,t,n)),e.transformValues?e.transformValues(i):i}function LTe(e,t,n){const r={},i=NTe(e,t,n);return e.drag&&e.dragListener!==!1&&(r.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(r.tabIndex=0),r.style=i,r}const DTe=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","ignoreStrict","viewport"]);function u_(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||DTe.has(e)}let RV=e=>!u_(e);function $Te(e){e&&(RV=t=>t.startsWith("on")?!u_(t):e(t))}try{$Te(require("@emotion/is-prop-valid").default)}catch{}function FTe(e,t,n){const r={};for(const i in e)i==="values"&&typeof e.values=="object"||(RV(i)||n===!0&&u_(i)||!t&&!u_(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}function iI(e,t,n){return typeof e=="string"?e:Be.transform(t+n*e)}function BTe(e,t,n){const r=iI(t,e.x,e.width),i=iI(n,e.y,e.height);return`${r} ${i}`}const UTe={offset:"stroke-dashoffset",array:"stroke-dasharray"},zTe={offset:"strokeDashoffset",array:"strokeDasharray"};function VTe(e,t,n=1,r=0,i=!0){e.pathLength=1;const o=i?UTe:zTe;e[o.offset]=Be.transform(-r);const s=Be.transform(t),a=Be.transform(n);e[o.array]=`${s} ${a}`}function JE(e,{attrX:t,attrY:n,attrScale:r,originX:i,originY:o,pathLength:s,pathSpacing:a=1,pathOffset:l=0,...u},d,f,p){if(QE(e,u,d,p),f){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:g,style:m,dimensions:v}=e;g.transform&&(v&&(m.transform=g.transform),delete g.transform),v&&(i!==void 0||o!==void 0||m.transform)&&(m.transformOrigin=BTe(v,i!==void 0?i:.5,o!==void 0?o:.5)),t!==void 0&&(g.x=t),n!==void 0&&(g.y=n),r!==void 0&&(g.scale=r),s!==void 0&&VTe(g,s,a,l,!1)}const OV=()=>({...ZE(),attrs:{}}),e6=e=>typeof e=="string"&&e.toLowerCase()==="svg";function jTe(e,t,n,r){const i=L.useMemo(()=>{const o=OV();return JE(o,t,{enableHardwareAcceleration:!1},e6(r),e.transformTemplate),{...o.attrs,style:{...o.style}}},[t]);if(e.style){const o={};PV(o,e.style,e),i.style={...o,...i.style}}return i}function GTe(e=!1){return(n,r,i,{latestValues:o},s)=>{const l=(YE(n)?jTe:LTe)(r,o,s,n),d={...FTe(r,typeof n=="string",e),...l,ref:i},{children:f}=r,p=L.useMemo(()=>ki(f)?f.get():f,[f]);return L.createElement(n,{...d,children:p})}}const t6=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function kV(e,{style:t,vars:n},r,i){Object.assign(e.style,t,i&&i.getProjectionStyles(r));for(const o in n)e.style.setProperty(o,n[o])}const IV=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function MV(e,t,n,r){kV(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(IV.has(i)?i:t6(i),t.attrs[i])}function n6(e,t){const{style:n}=e,r={};for(const i in n)(ki(n[i])||t.style&&ki(t.style[i])||xV(i,e))&&(r[i]=n[i]);return r}function NV(e,t){const n=n6(e,t);for(const r in e)if(ki(e[r])||ki(t[r])){const i=Dm.indexOf(r)!==-1?"attr"+r.charAt(0).toUpperCase()+r.substring(1):r;n[i]=e[r]}return n}function r6(e,t,n,r={},i={}){return typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"&&(t=t(n!==void 0?n:e.custom,r,i)),t}function LV(e){const t=L.useRef(null);return t.current===null&&(t.current=e()),t.current}const c_=e=>Array.isArray(e),HTe=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),WTe=e=>c_(e)?e[e.length-1]||0:e;function Ov(e){const t=ki(e)?e.get():e;return HTe(t)?t.toValue():t}function qTe({scrapeMotionValuesFromProps:e,createRenderState:t,onMount:n},r,i,o){const s={latestValues:KTe(r,i,o,e),renderState:t()};return n&&(s.mount=a=>n(r,a,s)),s}const DV=e=>(t,n)=>{const r=L.useContext(n2),i=L.useContext(Lm),o=()=>qTe(e,t,r,i);return n?o():LV(o)};function KTe(e,t,n,r){const i={},o=r(e,{});for(const p in o)i[p]=Ov(o[p]);let{initial:s,animate:a}=e;const l=o2(e),u=SV(e);t&&u&&!l&&e.inherit!==!1&&(s===void 0&&(s=t.initial),a===void 0&&(a=t.animate));let d=n?n.initial===!1:!1;d=d||s===!1;const f=d?a:s;return f&&typeof f!="boolean"&&!i2(f)&&(Array.isArray(f)?f:[f]).forEach(g=>{const m=r6(e,g);if(!m)return;const{transitionEnd:v,transition:x,..._}=m;for(const b in _){let y=_[b];if(Array.isArray(y)){const S=d?y.length-1:0;y=y[S]}y!==null&&(i[b]=y)}for(const b in v)i[b]=v[b]}),i}const XTe={useVisualState:DV({scrapeMotionValuesFromProps:NV,createRenderState:OV,onMount:(e,t,{renderState:n,latestValues:r})=>{try{n.dimensions=typeof t.getBBox=="function"?t.getBBox():t.getBoundingClientRect()}catch{n.dimensions={x:0,y:0,width:0,height:0}}JE(n,r,{enableHardwareAcceleration:!1},e6(t.tagName),e.transformTemplate),MV(t,n)}})},YTe={useVisualState:DV({scrapeMotionValuesFromProps:n6,createRenderState:ZE})};function QTe(e,{forwardMotionProps:t=!1},n,r){return{...YE(e)?XTe:YTe,preloadedFeatures:n,useRender:GTe(t),createVisualElement:r,Component:e}}function ya(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const $V=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function a2(e,t="page"){return{point:{x:e[t+"X"],y:e[t+"Y"]}}}const ZTe=e=>t=>$V(t)&&e(t,a2(t));function wa(e,t,n,r){return ya(e,t,ZTe(n),r)}const JTe=(e,t)=>n=>t(e(n)),Nl=(...e)=>e.reduce(JTe);function FV(e){let t=null;return()=>{const n=()=>{t=null};return t===null?(t=e,n):!1}}const oI=FV("dragHorizontal"),sI=FV("dragVertical");function BV(e){let t=!1;if(e==="y")t=sI();else if(e==="x")t=oI();else{const n=oI(),r=sI();n&&r?t=()=>{n(),r()}:(n&&n(),r&&r())}return t}function UV(){const e=BV(!0);return e?(e(),!1):!0}class uu{constructor(t){this.isMounted=!1,this.node=t}update(){}}const Gn=e=>e;function eEe(e){let t=[],n=[],r=0,i=!1,o=!1;const s=new WeakSet,a={schedule:(l,u=!1,d=!1)=>{const f=d&&i,p=f?t:n;return u&&s.add(l),p.indexOf(l)===-1&&(p.push(l),f&&i&&(r=t.length)),l},cancel:l=>{const u=n.indexOf(l);u!==-1&&n.splice(u,1),s.delete(l)},process:l=>{if(i){o=!0;return}if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let u=0;u(f[p]=eEe(()=>n=!0),f),{}),s=f=>o[f].process(i),a=f=>{n=!1,i.delta=r?1e3/60:Math.max(Math.min(f-i.timestamp,tEe),1),i.timestamp=f,i.isProcessing=!0,H0.forEach(s),i.isProcessing=!1,n&&t&&(r=!1,e(a))},l=()=>{n=!0,r=!0,i.isProcessing||e(a)};return{schedule:H0.reduce((f,p)=>{const g=o[p];return f[p]=(m,v=!1,x=!1)=>(n||l(),g.schedule(m,v,x)),f},{}),cancel:f=>H0.forEach(p=>o[p].cancel(f)),state:i,steps:o}}const{schedule:dn,cancel:Ia,state:zr,steps:Yx}=nEe(typeof requestAnimationFrame<"u"?requestAnimationFrame:Gn,!0);function aI(e,t){const n="pointer"+(t?"enter":"leave"),r="onHover"+(t?"Start":"End"),i=(o,s)=>{if(o.type==="touch"||UV())return;const a=e.getProps();e.animationState&&a.whileHover&&e.animationState.setActive("whileHover",t),a[r]&&dn.update(()=>a[r](o,s))};return wa(e.current,n,i,{passive:!e.getProps()[r]})}class rEe extends uu{mount(){this.unmount=Nl(aI(this.node,!0),aI(this.node,!1))}unmount(){}}class iEe extends uu{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Nl(ya(this.node.current,"focus",()=>this.onFocus()),ya(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const zV=(e,t)=>t?e===t?!0:zV(e,t.parentElement):!1;function Qx(e,t){if(!t)return;const n=new PointerEvent("pointer"+e);t(n,a2(n))}class oEe extends uu{constructor(){super(...arguments),this.removeStartListeners=Gn,this.removeEndListeners=Gn,this.removeAccessibleListeners=Gn,this.startPointerPress=(t,n)=>{if(this.removeEndListeners(),this.isPressing)return;const r=this.node.getProps(),o=wa(window,"pointerup",(a,l)=>{if(!this.checkPressEnd())return;const{onTap:u,onTapCancel:d}=this.node.getProps();dn.update(()=>{zV(this.node.current,a.target)?u&&u(a,l):d&&d(a,l)})},{passive:!(r.onTap||r.onPointerUp)}),s=wa(window,"pointercancel",(a,l)=>this.cancelPress(a,l),{passive:!(r.onTapCancel||r.onPointerCancel)});this.removeEndListeners=Nl(o,s),this.startPress(t,n)},this.startAccessiblePress=()=>{const t=o=>{if(o.key!=="Enter"||this.isPressing)return;const s=a=>{a.key!=="Enter"||!this.checkPressEnd()||Qx("up",(l,u)=>{const{onTap:d}=this.node.getProps();d&&dn.update(()=>d(l,u))})};this.removeEndListeners(),this.removeEndListeners=ya(this.node.current,"keyup",s),Qx("down",(a,l)=>{this.startPress(a,l)})},n=ya(this.node.current,"keydown",t),r=()=>{this.isPressing&&Qx("cancel",(o,s)=>this.cancelPress(o,s))},i=ya(this.node.current,"blur",r);this.removeAccessibleListeners=Nl(n,i)}}startPress(t,n){this.isPressing=!0;const{onTapStart:r,whileTap:i}=this.node.getProps();i&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),r&&dn.update(()=>r(t,n))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!UV()}cancelPress(t,n){if(!this.checkPressEnd())return;const{onTapCancel:r}=this.node.getProps();r&&dn.update(()=>r(t,n))}mount(){const t=this.node.getProps(),n=wa(this.node.current,"pointerdown",this.startPointerPress,{passive:!(t.onTapStart||t.onPointerStart)}),r=ya(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=Nl(n,r)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const P5=new WeakMap,Zx=new WeakMap,sEe=e=>{const t=P5.get(e.target);t&&t(e)},aEe=e=>{e.forEach(sEe)};function lEe({root:e,...t}){const n=e||document;Zx.has(n)||Zx.set(n,{});const r=Zx.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(aEe,{root:e,...t})),r[i]}function uEe(e,t,n){const r=lEe(t);return P5.set(e,n),r.observe(e),()=>{P5.delete(e),r.unobserve(e)}}const cEe={some:0,all:1};class dEe extends uu{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:i="some",once:o}=t,s={root:n?n.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:cEe[i]},a=l=>{const{isIntersecting:u}=l;if(this.isInView===u||(this.isInView=u,o&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:d,onViewportLeave:f}=this.node.getProps(),p=u?d:f;p&&p(l)};return uEe(this.node.current,s,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(fEe(t,n))&&this.startObserver()}unmount(){}}function fEe({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const hEe={inView:{Feature:dEe},tap:{Feature:oEe},focus:{Feature:iEe},hover:{Feature:rEe}};function VV(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;rt[r]=n.get()),t}function gEe(e){const t={};return e.values.forEach((n,r)=>t[r]=n.getVelocity()),t}function l2(e,t,n){const r=e.getProps();return r6(r,t,n!==void 0?n:r.custom,pEe(e),gEe(e))}const mEe="framerAppearId",yEe="data-"+t6(mEe);let vEe=Gn,i6=Gn;const Ll=e=>e*1e3,xa=e=>e/1e3,_Ee={current:!1},jV=e=>Array.isArray(e)&&typeof e[0]=="number";function GV(e){return!!(!e||typeof e=="string"&&HV[e]||jV(e)||Array.isArray(e)&&e.every(GV))}const gp=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,HV={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:gp([0,.65,.55,1]),circOut:gp([.55,0,1,.45]),backIn:gp([.31,.01,.66,-.59]),backOut:gp([.33,1.53,.69,.99])};function WV(e){if(e)return jV(e)?gp(e):Array.isArray(e)?e.map(WV):HV[e]}function bEe(e,t,n,{delay:r=0,duration:i,repeat:o=0,repeatType:s="loop",ease:a,times:l}={}){const u={[t]:n};l&&(u.offset=l);const d=WV(a);return Array.isArray(d)&&(u.easing=d),e.animate(u,{delay:r,duration:i,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:o+1,direction:s==="reverse"?"alternate":"normal"})}const lI={waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate")},Jx={},qV={};for(const e in lI)qV[e]=()=>(Jx[e]===void 0&&(Jx[e]=lI[e]()),Jx[e]);function SEe(e,{repeat:t,repeatType:n="loop"}){const r=t&&n!=="loop"&&t%2===1?0:e.length-1;return e[r]}const KV=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,wEe=1e-7,xEe=12;function CEe(e,t,n,r,i){let o,s,a=0;do s=t+(n-t)/2,o=KV(s,r,i)-e,o>0?n=s:t=s;while(Math.abs(o)>wEe&&++aCEe(o,0,1,e,n);return o=>o===0||o===1?o:KV(i(o),t,r)}const TEe=Bm(.42,0,1,1),EEe=Bm(0,0,.58,1),XV=Bm(.42,0,.58,1),AEe=e=>Array.isArray(e)&&typeof e[0]!="number",YV=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,QV=e=>t=>1-e(1-t),ZV=e=>1-Math.sin(Math.acos(e)),o6=QV(ZV),PEe=YV(o6),JV=Bm(.33,1.53,.69,.99),s6=QV(JV),REe=YV(s6),OEe=e=>(e*=2)<1?.5*s6(e):.5*(2-Math.pow(2,-10*(e-1))),kEe={linear:Gn,easeIn:TEe,easeInOut:XV,easeOut:EEe,circIn:ZV,circInOut:PEe,circOut:o6,backIn:s6,backInOut:REe,backOut:JV,anticipate:OEe},uI=e=>{if(Array.isArray(e)){i6(e.length===4);const[t,n,r,i]=e;return Bm(t,n,r,i)}else if(typeof e=="string")return kEe[e];return e},a6=(e,t)=>n=>!!($m(n)&&OTe.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),ej=(e,t,n)=>r=>{if(!$m(r))return r;const[i,o,s,a]=r.match(s2);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(s),alpha:a!==void 0?parseFloat(a):1}},IEe=e=>Kl(0,255,e),eC={...Oc,transform:e=>Math.round(IEe(e))},Uu={test:a6("rgb","red"),parse:ej("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+eC.transform(e)+", "+eC.transform(t)+", "+eC.transform(n)+", "+kp(Op.transform(r))+")"};function MEe(e){let t="",n="",r="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const R5={test:a6("#"),parse:MEe,transform:Uu.transform},Fd={test:a6("hsl","hue"),parse:ej("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+Is.transform(kp(t))+", "+Is.transform(kp(n))+", "+kp(Op.transform(r))+")"},ni={test:e=>Uu.test(e)||R5.test(e)||Fd.test(e),parse:e=>Uu.test(e)?Uu.parse(e):Fd.test(e)?Fd.parse(e):R5.parse(e),transform:e=>$m(e)?e:e.hasOwnProperty("red")?Uu.transform(e):Fd.transform(e)},vn=(e,t,n)=>-n*e+n*t+e;function tC(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function NEe({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,o=0,s=0;if(!t)i=o=s=n;else{const a=n<.5?n*(1+t):n+t-n*t,l=2*n-a;i=tC(l,a,e+1/3),o=tC(l,a,e),s=tC(l,a,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(s*255),alpha:r}}const nC=(e,t,n)=>{const r=e*e;return Math.sqrt(Math.max(0,n*(t*t-r)+r))},LEe=[R5,Uu,Fd],DEe=e=>LEe.find(t=>t.test(e));function cI(e){const t=DEe(e);let n=t.parse(e);return t===Fd&&(n=NEe(n)),n}const tj=(e,t)=>{const n=cI(e),r=cI(t),i={...n};return o=>(i.red=nC(n.red,r.red,o),i.green=nC(n.green,r.green,o),i.blue=nC(n.blue,r.blue,o),i.alpha=vn(n.alpha,r.alpha,o),Uu.transform(i))};function $Ee(e){var t,n;return isNaN(e)&&$m(e)&&(((t=e.match(s2))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(EV))===null||n===void 0?void 0:n.length)||0)>0}const nj={regex:PTe,countKey:"Vars",token:"${v}",parse:Gn},rj={regex:EV,countKey:"Colors",token:"${c}",parse:ni.parse},ij={regex:s2,countKey:"Numbers",token:"${n}",parse:Oc.parse};function rC(e,{regex:t,countKey:n,token:r,parse:i}){const o=e.tokenised.match(t);o&&(e["num"+n]=o.length,e.tokenised=e.tokenised.replace(t,r),e.values.push(...o.map(i)))}function d_(e){const t=e.toString(),n={value:t,tokenised:t,values:[],numVars:0,numColors:0,numNumbers:0};return n.value.includes("var(--")&&rC(n,nj),rC(n,rj),rC(n,ij),n}function oj(e){return d_(e).values}function sj(e){const{values:t,numColors:n,numVars:r,tokenised:i}=d_(e),o=t.length;return s=>{let a=i;for(let l=0;ltypeof e=="number"?0:e;function BEe(e){const t=oj(e);return sj(e)(t.map(FEe))}const Xl={test:$Ee,parse:oj,createTransformer:sj,getAnimatableNone:BEe},aj=(e,t)=>n=>`${n>0?t:e}`;function lj(e,t){return typeof e=="number"?n=>vn(e,t,n):ni.test(e)?tj(e,t):e.startsWith("var(")?aj(e,t):cj(e,t)}const uj=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,s)=>lj(o,t[s]));return o=>{for(let s=0;s{const n={...e,...t},r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=lj(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}},cj=(e,t)=>{const n=Xl.createTransformer(t),r=d_(e),i=d_(t);return r.numVars===i.numVars&&r.numColors===i.numColors&&r.numNumbers>=i.numNumbers?Nl(uj(r.values,i.values),n):aj(e,t)},jg=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},dI=(e,t)=>n=>vn(e,t,n);function zEe(e){return typeof e=="number"?dI:typeof e=="string"?ni.test(e)?tj:cj:Array.isArray(e)?uj:typeof e=="object"?UEe:dI}function VEe(e,t,n){const r=[],i=n||zEe(e[0]),o=e.length-1;for(let s=0;st[0];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const s=VEe(t,r,i),a=s.length,l=u=>{let d=0;if(a>1)for(;dl(Kl(e[0],e[o-1],u)):l}function jEe(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const i=jg(0,t,r);e.push(vn(n,1,i))}}function GEe(e){const t=[0];return jEe(t,e.length-1),t}function HEe(e,t){return e.map(n=>n*t)}function WEe(e,t){return e.map(()=>t||XV).splice(0,e.length-1)}function f_({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const i=AEe(r)?r.map(uI):uI(r),o={done:!1,value:t[0]},s=HEe(n&&n.length===t.length?n:GEe(t),e),a=dj(s,t,{ease:Array.isArray(i)?i:WEe(t,i)});return{calculatedDuration:e,next:l=>(o.value=a(l),o.done=l>=e,o)}}function fj(e,t){return t?e*(1e3/t):0}const qEe=5;function hj(e,t,n){const r=Math.max(t-qEe,0);return fj(n-e(r),t-r)}const iC=.001,KEe=.01,fI=10,XEe=.05,YEe=1;function QEe({duration:e=800,bounce:t=.25,velocity:n=0,mass:r=1}){let i,o;vEe(e<=Ll(fI));let s=1-t;s=Kl(XEe,YEe,s),e=Kl(KEe,fI,xa(e)),s<1?(i=u=>{const d=u*s,f=d*e,p=d-n,g=O5(u,s),m=Math.exp(-f);return iC-p/g*m},o=u=>{const f=u*s*e,p=f*n+n,g=Math.pow(s,2)*Math.pow(u,2)*e,m=Math.exp(-f),v=O5(Math.pow(u,2),s);return(-i(u)+iC>0?-1:1)*((p-g)*m)/v}):(i=u=>{const d=Math.exp(-u*e),f=(u-n)*e+1;return-iC+d*f},o=u=>{const d=Math.exp(-u*e),f=(n-u)*(e*e);return d*f});const a=5/e,l=JEe(i,o,a);if(e=Ll(e),isNaN(l))return{stiffness:100,damping:10,duration:e};{const u=Math.pow(l,2)*r;return{stiffness:u,damping:s*2*Math.sqrt(r*u),duration:e}}}const ZEe=12;function JEe(e,t,n){let r=n;for(let i=1;ie[n]!==void 0)}function n6e(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!hI(e,t6e)&&hI(e,e6e)){const n=QEe(e);t={...t,...n,velocity:0,mass:1},t.isResolvedFromDuration=!0}return t}function pj({keyframes:e,restDelta:t,restSpeed:n,...r}){const i=e[0],o=e[e.length-1],s={done:!1,value:i},{stiffness:a,damping:l,mass:u,velocity:d,duration:f,isResolvedFromDuration:p}=n6e(r),g=d?-xa(d):0,m=l/(2*Math.sqrt(a*u)),v=o-i,x=xa(Math.sqrt(a/u)),_=Math.abs(v)<5;n||(n=_?.01:2),t||(t=_?.005:.5);let b;if(m<1){const y=O5(x,m);b=S=>{const C=Math.exp(-m*x*S);return o-C*((g+m*x*v)/y*Math.sin(y*S)+v*Math.cos(y*S))}}else if(m===1)b=y=>o-Math.exp(-x*y)*(v+(g+x*v)*y);else{const y=x*Math.sqrt(m*m-1);b=S=>{const C=Math.exp(-m*x*S),T=Math.min(y*S,300);return o-C*((g+m*x*v)*Math.sinh(T)+y*v*Math.cosh(T))/y}}return{calculatedDuration:p&&f||null,next:y=>{const S=b(y);if(p)s.done=y>=f;else{let C=g;y!==0&&(m<1?C=hj(b,y,S):C=0);const T=Math.abs(C)<=n,E=Math.abs(o-S)<=t;s.done=T&&E}return s.value=s.done?o:S,s}}}function pI({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:o=500,modifyTarget:s,min:a,max:l,restDelta:u=.5,restSpeed:d}){const f=e[0],p={done:!1,value:f},g=P=>a!==void 0&&Pl,m=P=>a===void 0?l:l===void 0||Math.abs(a-P)-v*Math.exp(-P/r),y=P=>_+b(P),S=P=>{const k=b(P),O=y(P);p.done=Math.abs(k)<=u,p.value=p.done?_:O};let C,T;const E=P=>{g(p.value)&&(C=P,T=pj({keyframes:[p.value,m(p.value)],velocity:hj(y,P,p.value),damping:i,stiffness:o,restDelta:u,restSpeed:d}))};return E(0),{calculatedDuration:null,next:P=>{let k=!1;return!T&&C===void 0&&(k=!0,S(P),E(P)),C!==void 0&&P>C?T.next(P-C):(!k&&S(P),p)}}}const r6e=e=>{const t=({timestamp:n})=>e(n);return{start:()=>dn.update(t,!0),stop:()=>Ia(t),now:()=>zr.isProcessing?zr.timestamp:performance.now()}},gI=2e4;function mI(e){let t=0;const n=50;let r=e.next(t);for(;!r.done&&t=gI?1/0:t}const i6e={decay:pI,inertia:pI,tween:f_,keyframes:f_,spring:pj};function h_({autoplay:e=!0,delay:t=0,driver:n=r6e,keyframes:r,type:i="keyframes",repeat:o=0,repeatDelay:s=0,repeatType:a="loop",onPlay:l,onStop:u,onComplete:d,onUpdate:f,...p}){let g=1,m=!1,v,x;const _=()=>{x=new Promise(q=>{v=q})};_();let b;const y=i6e[i]||f_;let S;y!==f_&&typeof r[0]!="number"&&(S=dj([0,100],r,{clamp:!1}),r=[0,100]);const C=y({...p,keyframes:r});let T;a==="mirror"&&(T=y({...p,keyframes:[...r].reverse(),velocity:-(p.velocity||0)}));let E="idle",P=null,k=null,O=null;C.calculatedDuration===null&&o&&(C.calculatedDuration=mI(C));const{calculatedDuration:M}=C;let G=1/0,U=1/0;M!==null&&(G=M+s,U=G*(o+1)-s);let A=0;const N=q=>{if(k===null)return;g>0&&(k=Math.min(k,q)),g<0&&(k=Math.min(q-U/g,k)),P!==null?A=P:A=Math.round(q-k)*g;const Z=A-t*(g>=0?1:-1),ee=g>=0?Z<0:Z>U;A=Math.max(Z,0),E==="finished"&&P===null&&(A=U);let ie=A,se=C;if(o){const fe=A/G;let pe=Math.floor(fe),ve=fe%1;!ve&&fe>=1&&(ve=1),ve===1&&pe--,pe=Math.min(pe,o+1);const ye=!!(pe%2);ye&&(a==="reverse"?(ve=1-ve,s&&(ve-=s/G)):a==="mirror"&&(se=T));let We=Kl(0,1,ve);A>U&&(We=a==="reverse"&&ye?1:0),ie=We*G}const le=ee?{done:!1,value:r[0]}:se.next(ie);S&&(le.value=S(le.value));let{done:W}=le;!ee&&M!==null&&(W=g>=0?A>=U:A<=0);const ne=P===null&&(E==="finished"||E==="running"&&W);return f&&f(le.value),ne&&D(),le},F=()=>{b&&b.stop(),b=void 0},B=()=>{E="idle",F(),v(),_(),k=O=null},D=()=>{E="finished",d&&d(),F(),v()},V=()=>{if(m)return;b||(b=n(N));const q=b.now();l&&l(),P!==null?k=q-P:(!k||E==="finished")&&(k=q),E==="finished"&&_(),O=k,P=null,E="running",b.start()};e&&V();const j={then(q,Z){return x.then(q,Z)},get time(){return xa(A)},set time(q){q=Ll(q),A=q,P!==null||!b||g===0?P=q:k=b.now()-q/g},get duration(){const q=C.calculatedDuration===null?mI(C):C.calculatedDuration;return xa(q)},get speed(){return g},set speed(q){q===g||!b||(g=q,j.time=xa(A))},get state(){return E},play:V,pause:()=>{E="paused",P=A},stop:()=>{m=!0,E!=="idle"&&(E="idle",u&&u(),B())},cancel:()=>{O!==null&&N(O),B()},complete:()=>{E="finished"},sample:q=>(k=0,N(q))};return j}const o6e=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),W0=10,s6e=2e4,a6e=(e,t)=>t.type==="spring"||e==="backgroundColor"||!GV(t.ease);function l6e(e,t,{onUpdate:n,onComplete:r,...i}){if(!(qV.waapi()&&o6e.has(t)&&!i.repeatDelay&&i.repeatType!=="mirror"&&i.damping!==0&&i.type!=="inertia"))return!1;let s=!1,a,l;const u=()=>{l=new Promise(_=>{a=_})};u();let{keyframes:d,duration:f=300,ease:p,times:g}=i;if(a6e(t,i)){const _=h_({...i,repeat:0,delay:0});let b={done:!1,value:d[0]};const y=[];let S=0;for(;!b.done&&Sm.cancel(),x=()=>{dn.update(v),a(),u()};return m.onfinish=()=>{e.set(SEe(d,i)),r&&r(),x()},{then(_,b){return l.then(_,b)},get time(){return xa(m.currentTime||0)},set time(_){m.currentTime=Ll(_)},get speed(){return m.playbackRate},set speed(_){m.playbackRate=_},get duration(){return xa(f)},play:()=>{s||(m.play(),Ia(v))},pause:()=>m.pause(),stop:()=>{if(s=!0,m.playState==="idle")return;const{currentTime:_}=m;if(_){const b=h_({...i,autoplay:!1});e.setWithVelocity(b.sample(_-W0).value,b.sample(_).value,W0)}x()},complete:()=>m.finish(),cancel:x}}function u6e({keyframes:e,delay:t,onUpdate:n,onComplete:r}){const i=()=>(n&&n(e[e.length-1]),r&&r(),{time:0,speed:1,duration:0,play:Gn,pause:Gn,stop:Gn,then:o=>(o(),Promise.resolve()),cancel:Gn,complete:Gn});return t?h_({keyframes:[0,1],duration:0,delay:t,onComplete:i}):i()}const c6e={type:"spring",stiffness:500,damping:25,restSpeed:10},d6e=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),f6e={type:"keyframes",duration:.8},h6e={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},p6e=(e,{keyframes:t})=>t.length>2?f6e:Rc.has(e)?e.startsWith("scale")?d6e(t[1]):c6e:h6e,k5=(e,t)=>e==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(Xl.test(t)||t==="0")&&!t.startsWith("url(")),g6e=new Set(["brightness","contrast","saturate","opacity"]);function m6e(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(s2)||[];if(!r)return e;const i=n.replace(r,"");let o=g6e.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+i+")"}const y6e=/([a-z-]*)\(.*?\)/g,I5={...Xl,getAnimatableNone:e=>{const t=e.match(y6e);return t?t.map(m6e).join(" "):e}},v6e={...AV,color:ni,backgroundColor:ni,outlineColor:ni,fill:ni,stroke:ni,borderColor:ni,borderTopColor:ni,borderRightColor:ni,borderBottomColor:ni,borderLeftColor:ni,filter:I5,WebkitFilter:I5},l6=e=>v6e[e];function gj(e,t){let n=l6(e);return n!==I5&&(n=Xl),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const mj=e=>/^0[^.\s]+$/.test(e);function _6e(e){if(typeof e=="number")return e===0;if(e!==null)return e==="none"||e==="0"||mj(e)}function b6e(e,t,n,r){const i=k5(t,n);let o;Array.isArray(n)?o=[...n]:o=[null,n];const s=r.from!==void 0?r.from:e.get();let a;const l=[];for(let u=0;ui=>{const o=yj(r,e)||{},s=o.delay||r.delay||0;let{elapsed:a=0}=r;a=a-Ll(s);const l=b6e(t,e,n,o),u=l[0],d=l[l.length-1],f=k5(e,u),p=k5(e,d);let g={keyframes:l,velocity:t.getVelocity(),ease:"easeOut",...o,delay:-a,onUpdate:m=>{t.set(m),o.onUpdate&&o.onUpdate(m)},onComplete:()=>{i(),o.onComplete&&o.onComplete()}};if(S6e(o)||(g={...g,...p6e(e,g)}),g.duration&&(g.duration=Ll(g.duration)),g.repeatDelay&&(g.repeatDelay=Ll(g.repeatDelay)),!f||!p||_Ee.current||o.type===!1)return u6e(g);if(t.owner&&t.owner.current instanceof HTMLElement&&!t.owner.getProps().onUpdate){const m=l6e(t,e,g);if(m)return m}return h_(g)};function p_(e){return!!(ki(e)&&e.add)}const w6e=e=>/^\-?\d*\.?\d+$/.test(e);function c6(e,t){e.indexOf(t)===-1&&e.push(t)}function d6(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class f6{constructor(){this.subscriptions=[]}add(t){return c6(this.subscriptions,t),()=>d6(this.subscriptions,t)}notify(t,n,r){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,r);else for(let o=0;o!isNaN(parseFloat(e));class C6e{constructor(t,n={}){this.version="10.12.22",this.timeDelta=0,this.lastUpdated=0,this.canTrackVelocity=!1,this.events={},this.updateAndNotify=(r,i=!0)=>{this.prev=this.current,this.current=r;const{delta:o,timestamp:s}=zr;this.lastUpdated!==s&&(this.timeDelta=o,this.lastUpdated=s,dn.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),i&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>dn.postRender(this.velocityCheck),this.velocityCheck=({timestamp:r})=>{r!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=t,this.canTrackVelocity=x6e(this.current),this.owner=n.owner}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new f6);const r=this.events[t].add(n);return t==="change"?()=>{r(),dn.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t,n=!0){!n||!this.passiveEffect?this.updateAndNotify(t,n):this.passiveEffect(t,this.updateAndNotify)}setWithVelocity(t,n,r){this.set(n),this.prev=t,this.timeDelta=r}jump(t){this.updateAndNotify(t),this.prev=t,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?fj(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function Mf(e,t){return new C6e(e,t)}const vj=e=>t=>t.test(e),T6e={test:e=>e==="auto",parse:e=>e},_j=[Oc,Be,Is,al,ITe,kTe,T6e],ip=e=>_j.find(vj(e)),E6e=[..._j,ni,Xl],A6e=e=>E6e.find(vj(e));function P6e(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,Mf(n))}function R6e(e,t){const n=l2(e,t);let{transitionEnd:r={},transition:i={},...o}=n?e.makeTargetAnimatable(n,!1):{};o={...o,...r};for(const s in o){const a=WTe(o[s]);P6e(e,s,a)}}function O6e(e,t,n){var r,i;const o=Object.keys(t).filter(a=>!e.hasValue(a)),s=o.length;if(s)for(let a=0;al.remove(f))),u.push(v)}return s&&Promise.all(u).then(()=>{s&&R6e(e,s)}),u}function M5(e,t,n={}){const r=l2(e,t,n.custom);let{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);const o=r?()=>Promise.all(bj(e,r,n)):()=>Promise.resolve(),s=e.variantChildren&&e.variantChildren.size?(l=0)=>{const{delayChildren:u=0,staggerChildren:d,staggerDirection:f}=i;return N6e(e,t,u+l,d,f,n)}:()=>Promise.resolve(),{when:a}=i;if(a){const[l,u]=a==="beforeChildren"?[o,s]:[s,o];return l().then(()=>u())}else return Promise.all([o(),s(n.delay)])}function N6e(e,t,n=0,r=0,i=1,o){const s=[],a=(e.variantChildren.size-1)*r,l=i===1?(u=0)=>u*r:(u=0)=>a-u*r;return Array.from(e.variantChildren).sort(L6e).forEach((u,d)=>{u.notify("AnimationStart",t),s.push(M5(u,t,{...o,delay:n+l(d)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(s)}function L6e(e,t){return e.sortNodePosition(t)}function D6e(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(o=>M5(e,o,n));r=Promise.all(i)}else if(typeof t=="string")r=M5(e,t,n);else{const i=typeof t=="function"?l2(e,t,n.custom):t;r=Promise.all(bj(e,i,n))}return r.then(()=>e.notify("AnimationComplete",t))}const $6e=[...qE].reverse(),F6e=qE.length;function B6e(e){return t=>Promise.all(t.map(({animation:n,options:r})=>D6e(e,n,r)))}function U6e(e){let t=B6e(e);const n=V6e();let r=!0;const i=(l,u)=>{const d=l2(e,u);if(d){const{transition:f,transitionEnd:p,...g}=d;l={...l,...g,...p}}return l};function o(l){t=l(e)}function s(l,u){const d=e.getProps(),f=e.getVariantContext(!0)||{},p=[],g=new Set;let m={},v=1/0;for(let _=0;_v&&C;const O=Array.isArray(S)?S:[S];let M=O.reduce(i,{});T===!1&&(M={});const{prevResolvedValues:G={}}=y,U={...G,...M},A=N=>{k=!0,g.delete(N),y.needsAnimating[N]=!0};for(const N in U){const F=M[N],B=G[N];m.hasOwnProperty(N)||(F!==B?c_(F)&&c_(B)?!VV(F,B)||P?A(N):y.protectedKeys[N]=!0:F!==void 0?A(N):g.add(N):F!==void 0&&g.has(N)?A(N):y.protectedKeys[N]=!0)}y.prevProp=S,y.prevResolvedValues=M,y.isActive&&(m={...m,...M}),r&&e.blockInitialAnimation&&(k=!1),k&&!E&&p.push(...O.map(N=>({animation:N,options:{type:b,...l}})))}if(g.size){const _={};g.forEach(b=>{const y=e.getBaseTarget(b);y!==void 0&&(_[b]=y)}),p.push({animation:_})}let x=!!p.length;return r&&d.initial===!1&&!e.manuallyAnimateOnMount&&(x=!1),r=!1,x?t(p):Promise.resolve()}function a(l,u,d){var f;if(n[l].isActive===u)return Promise.resolve();(f=e.variantChildren)===null||f===void 0||f.forEach(g=>{var m;return(m=g.animationState)===null||m===void 0?void 0:m.setActive(l,u)}),n[l].isActive=u;const p=s(d,l);for(const g in n)n[g].protectedKeys={};return p}return{animateChanges:s,setActive:a,setAnimateFunction:o,getState:()=>n}}function z6e(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!VV(t,e):!1}function Cu(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function V6e(){return{animate:Cu(!0),whileInView:Cu(),whileHover:Cu(),whileTap:Cu(),whileDrag:Cu(),whileFocus:Cu(),exit:Cu()}}class j6e extends uu{constructor(t){super(t),t.animationState||(t.animationState=U6e(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();this.unmount(),i2(t)&&(this.unmount=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){}}let G6e=0;class H6e extends uu{constructor(){super(...arguments),this.id=G6e++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n,custom:r}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;const o=this.node.animationState.setActive("exit",!t,{custom:r??this.node.getProps().custom});n&&!t&&o.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const W6e={animation:{Feature:j6e},exit:{Feature:H6e}},yI=(e,t)=>Math.abs(e-t);function q6e(e,t){const n=yI(e.x,t.x),r=yI(e.y,t.y);return Math.sqrt(n**2+r**2)}class Sj{constructor(t,n,{transformPagePoint:r}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const u=sC(this.lastMoveEventInfo,this.history),d=this.startEvent!==null,f=q6e(u.offset,{x:0,y:0})>=3;if(!d&&!f)return;const{point:p}=u,{timestamp:g}=zr;this.history.push({...p,timestamp:g});const{onStart:m,onMove:v}=this.handlers;d||(m&&m(this.lastMoveEvent,u),this.startEvent=this.lastMoveEvent),v&&v(this.lastMoveEvent,u)},this.handlePointerMove=(u,d)=>{this.lastMoveEvent=u,this.lastMoveEventInfo=oC(d,this.transformPagePoint),dn.update(this.updatePoint,!0)},this.handlePointerUp=(u,d)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:f,onSessionEnd:p}=this.handlers,g=sC(u.type==="pointercancel"?this.lastMoveEventInfo:oC(d,this.transformPagePoint),this.history);this.startEvent&&f&&f(u,g),p&&p(u,g)},!$V(t))return;this.handlers=n,this.transformPagePoint=r;const i=a2(t),o=oC(i,this.transformPagePoint),{point:s}=o,{timestamp:a}=zr;this.history=[{...s,timestamp:a}];const{onSessionStart:l}=n;l&&l(t,sC(o,this.history)),this.removeListeners=Nl(wa(window,"pointermove",this.handlePointerMove),wa(window,"pointerup",this.handlePointerUp),wa(window,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),Ia(this.updatePoint)}}function oC(e,t){return t?{point:t(e.point)}:e}function vI(e,t){return{x:e.x-t.x,y:e.y-t.y}}function sC({point:e},t){return{point:e,delta:vI(e,wj(t)),offset:vI(e,K6e(t)),velocity:X6e(t,.1)}}function K6e(e){return e[0]}function wj(e){return e[e.length-1]}function X6e(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=wj(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Ll(t)));)n--;if(!r)return{x:0,y:0};const o=xa(i.timestamp-r.timestamp);if(o===0)return{x:0,y:0};const s={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function Xi(e){return e.max-e.min}function N5(e,t=0,n=.01){return Math.abs(e-t)<=n}function _I(e,t,n,r=.5){e.origin=r,e.originPoint=vn(t.min,t.max,e.origin),e.scale=Xi(n)/Xi(t),(N5(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=vn(n.min,n.max,e.origin)-e.originPoint,(N5(e.translate)||isNaN(e.translate))&&(e.translate=0)}function Ip(e,t,n,r){_I(e.x,t.x,n.x,r?r.originX:void 0),_I(e.y,t.y,n.y,r?r.originY:void 0)}function bI(e,t,n){e.min=n.min+t.min,e.max=e.min+Xi(t)}function Y6e(e,t,n){bI(e.x,t.x,n.x),bI(e.y,t.y,n.y)}function SI(e,t,n){e.min=t.min-n.min,e.max=e.min+Xi(t)}function Mp(e,t,n){SI(e.x,t.x,n.x),SI(e.y,t.y,n.y)}function Q6e(e,{min:t,max:n},r){return t!==void 0&&en&&(e=r?vn(n,e,r.max):Math.min(e,n)),e}function wI(e,t,n){return{min:t!==void 0?e.min+t:void 0,max:n!==void 0?e.max+n-(e.max-e.min):void 0}}function Z6e(e,{top:t,left:n,bottom:r,right:i}){return{x:wI(e.x,n,i),y:wI(e.y,t,r)}}function xI(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.minr?n=jg(t.min,t.max-r,e.min):r>i&&(n=jg(e.min,e.max-i,t.min)),Kl(0,1,n)}function tAe(e,t){const n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}const L5=.35;function nAe(e=L5){return e===!1?e=0:e===!0&&(e=L5),{x:CI(e,"left","right"),y:CI(e,"top","bottom")}}function CI(e,t,n){return{min:TI(e,t),max:TI(e,n)}}function TI(e,t){return typeof e=="number"?e:e[t]||0}const EI=()=>({translate:0,scale:1,origin:0,originPoint:0}),Bd=()=>({x:EI(),y:EI()}),AI=()=>({min:0,max:0}),Bn=()=>({x:AI(),y:AI()});function ps(e){return[e("x"),e("y")]}function xj({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function rAe({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function iAe(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function aC(e){return e===void 0||e===1}function D5({scale:e,scaleX:t,scaleY:n}){return!aC(e)||!aC(t)||!aC(n)}function Ru(e){return D5(e)||Cj(e)||e.z||e.rotate||e.rotateX||e.rotateY}function Cj(e){return PI(e.x)||PI(e.y)}function PI(e){return e&&e!=="0%"}function g_(e,t,n){const r=e-n,i=t*r;return n+i}function RI(e,t,n,r,i){return i!==void 0&&(e=g_(e,i,r)),g_(e,n,r)+t}function $5(e,t=0,n=1,r,i){e.min=RI(e.min,t,n,r,i),e.max=RI(e.max,t,n,r,i)}function Tj(e,{x:t,y:n}){$5(e.x,t.translate,t.scale,t.originPoint),$5(e.y,n.translate,n.scale,n.originPoint)}function oAe(e,t,n,r=!1){const i=n.length;if(!i)return;t.x=t.y=1;let o,s;for(let a=0;a1.0000000000001||e<.999999999999?e:1}function fl(e,t){e.min=e.min+t,e.max=e.max+t}function kI(e,t,[n,r,i]){const o=t[i]!==void 0?t[i]:.5,s=vn(e.min,e.max,o);$5(e,t[n],t[r],s,t.scale)}const sAe=["x","scaleX","originX"],aAe=["y","scaleY","originY"];function Ud(e,t){kI(e.x,t,sAe),kI(e.y,t,aAe)}function Ej(e,t){return xj(iAe(e.getBoundingClientRect(),t))}function lAe(e,t,n){const r=Ej(e,n),{scroll:i}=t;return i&&(fl(r.x,i.offset.x),fl(r.y,i.offset.y)),r}const uAe=new WeakMap;class cAe{constructor(t){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Bn(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const i=l=>{this.stopAnimation(),n&&this.snapToCursor(a2(l,"page").point)},o=(l,u)=>{const{drag:d,dragPropagation:f,onDragStart:p}=this.getProps();if(d&&!f&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=BV(d),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),ps(m=>{let v=this.getAxisMotionValue(m).get()||0;if(Is.test(v)){const{projection:x}=this.visualElement;if(x&&x.layout){const _=x.layout.layoutBox[m];_&&(v=Xi(_)*(parseFloat(v)/100))}}this.originPoint[m]=v}),p&&dn.update(()=>p(l,u),!1,!0);const{animationState:g}=this.visualElement;g&&g.setActive("whileDrag",!0)},s=(l,u)=>{const{dragPropagation:d,dragDirectionLock:f,onDirectionLock:p,onDrag:g}=this.getProps();if(!d&&!this.openGlobalLock)return;const{offset:m}=u;if(f&&this.currentDirection===null){this.currentDirection=dAe(m),this.currentDirection!==null&&p&&p(this.currentDirection);return}this.updateAxis("x",u.point,m),this.updateAxis("y",u.point,m),this.visualElement.render(),g&&g(l,u)},a=(l,u)=>this.stop(l,u);this.panSession=new Sj(t,{onSessionStart:i,onStart:o,onMove:s,onSessionEnd:a},{transformPagePoint:this.visualElement.getTransformPagePoint()})}stop(t,n){const r=this.isDragging;if(this.cancel(),!r)return;const{velocity:i}=n;this.startAnimation(i);const{onDragEnd:o}=this.getProps();o&&dn.update(()=>o(t,n))}cancel(){this.isDragging=!1;const{projection:t,animationState:n}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:r}=this.getProps();!r&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,r){const{drag:i}=this.getProps();if(!r||!q0(t,i,this.currentDirection))return;const o=this.getAxisMotionValue(t);let s=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(s=Q6e(s,this.constraints[t],this.elastic[t])),o.set(s)}resolveConstraints(){const{dragConstraints:t,dragElastic:n}=this.getProps(),{layout:r}=this.visualElement.projection||{},i=this.constraints;t&&$d(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=Z6e(r.layoutBox,t):this.constraints=!1,this.elastic=nAe(n),i!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&ps(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=tAe(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!$d(t))return!1;const r=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const o=lAe(r,i.root,this.visualElement.getTransformPagePoint());let s=J6e(i.layout.layoutBox,o);if(n){const a=n(rAe(s));this.hasMutatedConstraints=!!a,a&&(s=xj(a))}return s}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:i,dragTransition:o,dragSnapToOrigin:s,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},u=ps(d=>{if(!q0(d,n,this.currentDirection))return;let f=l&&l[d]||{};s&&(f={min:0,max:0});const p=i?200:1e6,g=i?40:1e7,m={type:"inertia",velocity:r?t[d]:0,bounceStiffness:p,bounceDamping:g,timeConstant:750,restDelta:1,restSpeed:10,...o,...f};return this.startAxisValueAnimation(d,m)});return Promise.all(u).then(a)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return r.start(u6(t,r,0,n))}stopAnimation(){ps(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const n="_drag"+t.toUpperCase(),r=this.visualElement.getProps(),i=r[n];return i||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){ps(n=>{const{drag:r}=this.getProps();if(!q0(n,r,this.currentDirection))return;const{projection:i}=this.visualElement,o=this.getAxisMotionValue(n);if(i&&i.layout){const{min:s,max:a}=i.layout.layoutBox[n];o.set(t[n]-vn(s,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!$d(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};ps(s=>{const a=this.getAxisMotionValue(s);if(a){const l=a.get();i[s]=eAe({min:l,max:l},this.constraints[s])}});const{transformTemplate:o}=this.visualElement.getProps();this.visualElement.current.style.transform=o?o({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),ps(s=>{if(!q0(s,t,null))return;const a=this.getAxisMotionValue(s),{min:l,max:u}=this.constraints[s];a.set(vn(l,u,i[s]))})}addListeners(){if(!this.visualElement.current)return;uAe.set(this.visualElement,this);const t=this.visualElement.current,n=wa(t,"pointerdown",l=>{const{drag:u,dragListener:d=!0}=this.getProps();u&&d&&this.start(l)}),r=()=>{const{dragConstraints:l}=this.getProps();$d(l)&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,o=i.addEventListener("measure",r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),r();const s=ya(window,"resize",()=>this.scalePositionWithinConstraints()),a=i.addEventListener("didUpdate",({delta:l,hasLayoutChanged:u})=>{this.isDragging&&u&&(ps(d=>{const f=this.getAxisMotionValue(d);f&&(this.originPoint[d]+=l[d].translate,f.set(f.get()+l[d].translate))}),this.visualElement.render())});return()=>{s(),n(),o(),a&&a()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:o=!1,dragElastic:s=L5,dragMomentum:a=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:i,dragConstraints:o,dragElastic:s,dragMomentum:a}}}function q0(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function dAe(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class fAe extends uu{constructor(t){super(t),this.removeGroupControls=Gn,this.removeListeners=Gn,this.controls=new cAe(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Gn}unmount(){this.removeGroupControls(),this.removeListeners()}}const II=e=>(t,n)=>{e&&dn.update(()=>e(t,n))};class hAe extends uu{constructor(){super(...arguments),this.removePointerDownListener=Gn}onPointerDown(t){this.session=new Sj(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint()})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:II(t),onStart:II(n),onMove:r,onEnd:(o,s)=>{delete this.session,i&&dn.update(()=>i(o,s))}}}mount(){this.removePointerDownListener=wa(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}function pAe(){const e=L.useContext(Lm);if(e===null)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,i=L.useId();return L.useEffect(()=>r(i),[]),!t&&n?[!1,()=>n&&n(i)]:[!0]}function EMe(){return gAe(L.useContext(Lm))}function gAe(e){return e===null?!0:e.isPresent}const kv={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function MI(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const op={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(Be.test(e))e=parseFloat(e);else return e;const n=MI(e,t.target.x),r=MI(e,t.target.y);return`${n}% ${r}%`}},mAe={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,i=Xl.parse(e);if(i.length>5)return r;const o=Xl.createTransformer(e),s=typeof i[0]!="number"?1:0,a=n.x.scale*t.x,l=n.y.scale*t.y;i[0+s]/=a,i[1+s]/=l;const u=vn(a,l,.5);return typeof i[2+s]=="number"&&(i[2+s]/=u),typeof i[3+s]=="number"&&(i[3+s]/=u),o(i)}};class yAe extends Lt.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:i}=this.props,{projection:o}=t;CTe(vAe),o&&(n.group&&n.group.add(o),r&&r.register&&i&&r.register(o),o.root.didUpdate(),o.addEventListener("animationComplete",()=>{this.safeToRemove()}),o.setOptions({...o.options,onExitComplete:()=>this.safeToRemove()})),kv.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:i,isPresent:o}=this.props,s=r.projection;return s&&(s.isPresent=o,i||t.layoutDependency!==n||n===void 0?s.willUpdate():this.safeToRemove(),t.isPresent!==o&&(o?s.promote():s.relegate()||dn.postRender(()=>{const a=s.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),queueMicrotask(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:i}=t;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),r&&r.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function Aj(e){const[t,n]=pAe(),r=L.useContext(XE);return Lt.createElement(yAe,{...e,layoutGroup:r,switchLayoutGroup:L.useContext(wV),isPresent:t,safeToRemove:n})}const vAe={borderRadius:{...op,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:op,borderTopRightRadius:op,borderBottomLeftRadius:op,borderBottomRightRadius:op,boxShadow:mAe},Pj=["TopLeft","TopRight","BottomLeft","BottomRight"],_Ae=Pj.length,NI=e=>typeof e=="string"?parseFloat(e):e,LI=e=>typeof e=="number"||Be.test(e);function bAe(e,t,n,r,i,o){i?(e.opacity=vn(0,n.opacity!==void 0?n.opacity:1,SAe(r)),e.opacityExit=vn(t.opacity!==void 0?t.opacity:1,0,wAe(r))):o&&(e.opacity=vn(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,r));for(let s=0;s<_Ae;s++){const a=`border${Pj[s]}Radius`;let l=DI(t,a),u=DI(n,a);if(l===void 0&&u===void 0)continue;l||(l=0),u||(u=0),l===0||u===0||LI(l)===LI(u)?(e[a]=Math.max(vn(NI(l),NI(u),r),0),(Is.test(u)||Is.test(l))&&(e[a]+="%")):e[a]=u}(t.rotate||n.rotate)&&(e.rotate=vn(t.rotate||0,n.rotate||0,r))}function DI(e,t){return e[t]!==void 0?e[t]:e.borderRadius}const SAe=Rj(0,.5,o6),wAe=Rj(.5,.95,Gn);function Rj(e,t,n){return r=>rt?1:n(jg(e,t,r))}function $I(e,t){e.min=t.min,e.max=t.max}function fo(e,t){$I(e.x,t.x),$I(e.y,t.y)}function FI(e,t,n,r,i){return e-=t,e=g_(e,1/n,r),i!==void 0&&(e=g_(e,1/i,r)),e}function xAe(e,t=0,n=1,r=.5,i,o=e,s=e){if(Is.test(t)&&(t=parseFloat(t),t=vn(s.min,s.max,t/100)-s.min),typeof t!="number")return;let a=vn(o.min,o.max,r);e===o&&(a-=t),e.min=FI(e.min,t,n,a,i),e.max=FI(e.max,t,n,a,i)}function BI(e,t,[n,r,i],o,s){xAe(e,t[n],t[r],t[i],t.scale,o,s)}const CAe=["x","scaleX","originX"],TAe=["y","scaleY","originY"];function UI(e,t,n,r){BI(e.x,t,CAe,n?n.x:void 0,r?r.x:void 0),BI(e.y,t,TAe,n?n.y:void 0,r?r.y:void 0)}function zI(e){return e.translate===0&&e.scale===1}function Oj(e){return zI(e.x)&&zI(e.y)}function F5(e,t){return e.x.min===t.x.min&&e.x.max===t.x.max&&e.y.min===t.y.min&&e.y.max===t.y.max}function VI(e){return Xi(e.x)/Xi(e.y)}class EAe{constructor(){this.members=[]}add(t){c6(this.members,t),t.scheduleRender()}remove(t){if(d6(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(t){const n=this.members.findIndex(i=>t===i);if(n===0)return!1;let r;for(let i=n;i>=0;i--){const o=this.members[i];if(o.isPresent!==!1){r=o;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender(),t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function jI(e,t,n){let r="";const i=e.x.translate/t.x,o=e.y.translate/t.y;if((i||o)&&(r=`translate3d(${i}px, ${o}px, 0) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{rotate:l,rotateX:u,rotateY:d}=n;l&&(r+=`rotate(${l}deg) `),u&&(r+=`rotateX(${u}deg) `),d&&(r+=`rotateY(${d}deg) `)}const s=e.x.scale*t.x,a=e.y.scale*t.y;return(s!==1||a!==1)&&(r+=`scale(${s}, ${a})`),r||"none"}const AAe=(e,t)=>e.depth-t.depth;class PAe{constructor(){this.children=[],this.isDirty=!1}add(t){c6(this.children,t),this.isDirty=!0}remove(t){d6(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(AAe),this.isDirty=!1,this.children.forEach(t)}}function RAe(e,t){const n=performance.now(),r=({timestamp:i})=>{const o=i-n;o>=t&&(Ia(r),e(o-t))};return dn.read(r,!0),()=>Ia(r)}function OAe(e){window.MotionDebug&&window.MotionDebug.record(e)}function kAe(e){return e instanceof SVGElement&&e.tagName!=="svg"}function IAe(e,t,n){const r=ki(e)?e:Mf(e);return r.start(u6("",r,t,n)),r.animation}const GI=["","X","Y","Z"],HI=1e3;let MAe=0;const Ou={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function kj({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(s={},a=t==null?void 0:t()){this.id=MAe++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{Ou.totalNodes=Ou.resolvedTargetDeltas=Ou.recalculatedProjection=0,this.nodes.forEach(DAe),this.nodes.forEach(zAe),this.nodes.forEach(VAe),this.nodes.forEach($Ae),OAe(Ou)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=s,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;lthis.root.updateBlockedByResize=!1;e(s,()=>{this.root.updateBlockedByResize=!0,f&&f(),f=RAe(p,250),kv.hasAnimatedSinceResize&&(kv.hasAnimatedSinceResize=!1,this.nodes.forEach(qI))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&d&&(l||u)&&this.addEventListener("didUpdate",({delta:f,hasLayoutChanged:p,hasRelativeTargetChanged:g,layout:m})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const v=this.options.transition||d.getDefaultTransition()||qAe,{onLayoutAnimationStart:x,onLayoutAnimationComplete:_}=d.getProps(),b=!this.targetLayout||!F5(this.targetLayout,m)||g,y=!p&&g;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||y||p&&(b||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(f,y);const S={...yj(v,"layout"),onPlay:x,onComplete:_};(d.shouldReduceMotion||this.options.layoutRoot)&&(S.delay=0,S.type=!1),this.startAnimation(S)}else p||qI(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=m})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const s=this.getStack();s&&s.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,Ia(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(jAe),this.animationId++)}getTransformTemplate(){const{visualElement:s}=this.options;return s&&s.getProps().transformTemplate}willUpdate(s=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let d=0;dthis.update()))}clearAllSnapshots(){this.nodes.forEach(FAe),this.sharedNodes.forEach(GAe)}scheduleUpdateProjection(){dn.preRender(this.updateProjection,!1,!0)}scheduleCheckAfterUnmount(){dn.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l{const C=S/1e3;KI(f.x,s.x,C),KI(f.y,s.y,C),this.setTargetDelta(f),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Mp(p,this.layout.layoutBox,this.relativeParent.layout.layoutBox),HAe(this.relativeTarget,this.relativeTargetOrigin,p,C),y&&F5(this.relativeTarget,y)&&(this.isProjectionDirty=!1),y||(y=Bn()),fo(y,this.relativeTarget)),v&&(this.animationValues=d,bAe(d,u,this.latestValues,C,b,_)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=C},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(s){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(Ia(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=dn.update(()=>{kv.hasAnimatedSinceResize=!0,this.currentAnimation=IAe(0,HI,{...s,onUpdate:a=>{this.mixTargetDelta(a),s.onUpdate&&s.onUpdate(a)},onComplete:()=>{s.onComplete&&s.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const s=this.getStack();s&&s.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(HI),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const s=this.getLead();let{targetWithTransforms:a,target:l,layout:u,latestValues:d}=s;if(!(!a||!l||!u)){if(this!==s&&this.layout&&u&&Ij(this.options.animationType,this.layout.layoutBox,u.layoutBox)){l=this.target||Bn();const f=Xi(this.layout.layoutBox.x);l.x.min=s.target.x.min,l.x.max=l.x.min+f;const p=Xi(this.layout.layoutBox.y);l.y.min=s.target.y.min,l.y.max=l.y.min+p}fo(a,l),Ud(a,d),Ip(this.projectionDeltaWithTransform,this.layoutCorrected,a,d)}}registerSharedNode(s,a){this.sharedNodes.has(s)||this.sharedNodes.set(s,new EAe),this.sharedNodes.get(s).add(a);const u=a.options.initialPromotionConfig;a.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(a):void 0})}isLead(){const s=this.getStack();return s?s.lead===this:!0}getLead(){var s;const{layoutId:a}=this.options;return a?((s=this.getStack())===null||s===void 0?void 0:s.lead)||this:this}getPrevLead(){var s;const{layoutId:a}=this.options;return a?(s=this.getStack())===null||s===void 0?void 0:s.prevLead:void 0}getStack(){const{layoutId:s}=this.options;if(s)return this.root.sharedNodes.get(s)}promote({needsReset:s,transition:a,preserveFollowOpacity:l}={}){const u=this.getStack();u&&u.promote(this,l),s&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const s=this.getStack();return s?s.relegate(this):!1}resetRotation(){const{visualElement:s}=this.options;if(!s)return;let a=!1;const{latestValues:l}=s;if((l.rotate||l.rotateX||l.rotateY||l.rotateZ)&&(a=!0),!a)return;const u={};for(let d=0;d{var a;return(a=s.currentAnimation)===null||a===void 0?void 0:a.stop()}),this.root.nodes.forEach(WI),this.root.sharedNodes.clear()}}}function NAe(e){e.updateLayout()}function LAe(e){var t;const n=((t=e.resumeFrom)===null||t===void 0?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:i}=e.layout,{animationType:o}=e.options,s=n.source!==e.layout.source;o==="size"?ps(f=>{const p=s?n.measuredBox[f]:n.layoutBox[f],g=Xi(p);p.min=r[f].min,p.max=p.min+g}):Ij(o,n.layoutBox,r)&&ps(f=>{const p=s?n.measuredBox[f]:n.layoutBox[f],g=Xi(r[f]);p.max=p.min+g,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[f].max=e.relativeTarget[f].min+g)});const a=Bd();Ip(a,r,n.layoutBox);const l=Bd();s?Ip(l,e.applyTransform(i,!0),n.measuredBox):Ip(l,r,n.layoutBox);const u=!Oj(a);let d=!1;if(!e.resumeFrom){const f=e.getClosestProjectingParent();if(f&&!f.resumeFrom){const{snapshot:p,layout:g}=f;if(p&&g){const m=Bn();Mp(m,n.layoutBox,p.layoutBox);const v=Bn();Mp(v,r,g.layoutBox),F5(m,v)||(d=!0),f.options.layoutRoot&&(e.relativeTarget=v,e.relativeTargetOrigin=m,e.relativeParent=f)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:l,layoutDelta:a,hasLayoutChanged:u,hasRelativeTargetChanged:d})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function DAe(e){Ou.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function $Ae(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function FAe(e){e.clearSnapshot()}function WI(e){e.clearMeasurements()}function BAe(e){e.isLayoutDirty=!1}function UAe(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function qI(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function zAe(e){e.resolveTargetDelta()}function VAe(e){e.calcProjection()}function jAe(e){e.resetRotation()}function GAe(e){e.removeLeadSnapshot()}function KI(e,t,n){e.translate=vn(t.translate,0,n),e.scale=vn(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function XI(e,t,n,r){e.min=vn(t.min,n.min,r),e.max=vn(t.max,n.max,r)}function HAe(e,t,n,r){XI(e.x,t.x,n.x,r),XI(e.y,t.y,n.y,r)}function WAe(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const qAe={duration:.45,ease:[.4,0,.1,1]};function YI(e){e.min=Math.round(e.min*2)/2,e.max=Math.round(e.max*2)/2}function KAe(e){YI(e.x),YI(e.y)}function Ij(e,t,n){return e==="position"||e==="preserve-aspect"&&!N5(VI(t),VI(n),.2)}const XAe=kj({attachResizeListener:(e,t)=>ya(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),lC={current:void 0},Mj=kj({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!lC.current){const e=new XAe({});e.mount(window),e.setOptions({layoutScroll:!0}),lC.current=e}return lC.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),YAe={pan:{Feature:hAe},drag:{Feature:fAe,ProjectionNode:Mj,MeasureLayout:Aj}},QAe=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function ZAe(e){const t=QAe.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]}function B5(e,t,n=1){const[r,i]=ZAe(e);if(!r)return;const o=window.getComputedStyle(t).getPropertyValue(r);return o?o.trim():A5(i)?B5(i,t,n+1):i}function JAe(e,{...t},n){const r=e.current;if(!(r instanceof Element))return{target:t,transitionEnd:n};n&&(n={...n}),e.values.forEach(i=>{const o=i.get();if(!A5(o))return;const s=B5(o,r);s&&i.set(s)});for(const i in t){const o=t[i];if(!A5(o))continue;const s=B5(o,r);s&&(t[i]=s,n||(n={}),n[i]===void 0&&(n[i]=o))}return{target:t,transitionEnd:n}}const ePe=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),Nj=e=>ePe.has(e),tPe=e=>Object.keys(e).some(Nj),QI=e=>e===Oc||e===Be,ZI=(e,t)=>parseFloat(e.split(", ")[t]),JI=(e,t)=>(n,{transform:r})=>{if(r==="none"||!r)return 0;const i=r.match(/^matrix3d\((.+)\)$/);if(i)return ZI(i[1],t);{const o=r.match(/^matrix\((.+)\)$/);return o?ZI(o[1],e):0}},nPe=new Set(["x","y","z"]),rPe=Dm.filter(e=>!nPe.has(e));function iPe(e){const t=[];return rPe.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t.length&&e.render(),t}const Nf={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:JI(4,13),y:JI(5,14)};Nf.translateX=Nf.x;Nf.translateY=Nf.y;const oPe=(e,t,n)=>{const r=t.measureViewportBox(),i=t.current,o=getComputedStyle(i),{display:s}=o,a={};s==="none"&&t.setStaticValue("display",e.display||"block"),n.forEach(u=>{a[u]=Nf[u](r,o)}),t.render();const l=t.measureViewportBox();return n.forEach(u=>{const d=t.getValue(u);d&&d.jump(a[u]),e[u]=Nf[u](l,o)}),e},sPe=(e,t,n={},r={})=>{t={...t},r={...r};const i=Object.keys(t).filter(Nj);let o=[],s=!1;const a=[];if(i.forEach(l=>{const u=e.getValue(l);if(!e.hasValue(l))return;let d=n[l],f=ip(d);const p=t[l];let g;if(c_(p)){const m=p.length,v=p[0]===null?1:0;d=p[v],f=ip(d);for(let x=v;x=0?window.pageYOffset:null,u=oPe(t,e,a);return o.length&&o.forEach(([d,f])=>{e.getValue(d).set(f)}),e.render(),r2&&l!==null&&window.scrollTo({top:l}),{target:u,transitionEnd:r}}else return{target:t,transitionEnd:r}};function aPe(e,t,n,r){return tPe(t)?sPe(e,t,n,r):{target:t,transitionEnd:r}}const lPe=(e,t,n,r)=>{const i=JAe(e,t,r);return t=i.target,r=i.transitionEnd,aPe(e,t,n,r)},U5={current:null},Lj={current:!1};function uPe(){if(Lj.current=!0,!!r2)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>U5.current=e.matches;e.addListener(t),t()}else U5.current=!1}function cPe(e,t,n){const{willChange:r}=t;for(const i in t){const o=t[i],s=n[i];if(ki(o))e.addValue(i,o),p_(r)&&r.add(i);else if(ki(s))e.addValue(i,Mf(o,{owner:e})),p_(r)&&r.remove(i);else if(s!==o)if(e.hasValue(i)){const a=e.getValue(i);!a.hasAnimated&&a.set(o)}else{const a=e.getStaticValue(i);e.addValue(i,Mf(a!==void 0?a:o,{owner:e}))}}for(const i in n)t[i]===void 0&&e.removeValue(i);return t}const e7=new WeakMap,Dj=Object.keys(Vg),dPe=Dj.length,t7=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],fPe=KE.length;class hPe{constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:i,visualState:o},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>dn.render(this.render,!1,!0);const{latestValues:a,renderState:l}=o;this.latestValues=a,this.baseTarget={...a},this.initialValues=n.initial?{...a}:{},this.renderState=l,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.options=s,this.isControllingVariants=o2(n),this.isVariantNode=SV(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:u,...d}=this.scrapeMotionValuesFromProps(n,{});for(const f in d){const p=d[f];a[f]!==void 0&&ki(p)&&(p.set(a[f],!1),p_(u)&&u.add(f))}}scrapeMotionValuesFromProps(t,n){return{}}mount(t){this.current=t,e7.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,r)=>this.bindToMotionValue(r,n)),Lj.current||uPe(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:U5.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){e7.delete(this.current),this.projection&&this.projection.unmount(),Ia(this.notifyUpdate),Ia(this.render),this.valueSubscriptions.forEach(t=>t()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const t in this.events)this.events[t].clear();for(const t in this.features)this.features[t].unmount();this.current=null}bindToMotionValue(t,n){const r=Rc.has(t),i=n.on("change",s=>{this.latestValues[t]=s,this.props.onUpdate&&dn.update(this.notifyUpdate,!1,!0),r&&this.projection&&(this.projection.isTransformDirty=!0)}),o=n.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(t,()=>{i(),o()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}loadFeatures({children:t,...n},r,i,o){let s,a;for(let l=0;lthis.scheduleRender(),animationType:typeof u=="string"?u:"both",initialPromotionConfig:o,layoutScroll:p,layoutRoot:g})}return a}updateFeatures(){for(const t in this.features){const n=this.features[t];n.isMounted?n.update():(n.mount(),n.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Bn()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,n){this.latestValues[t]=n}makeTargetAnimatable(t,n=!0){return this.makeTargetAnimatableFromInstance(t,this.props,n)}update(t,n){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let r=0;rn.variantChildren.delete(t)}addValue(t,n){n!==this.values.get(t)&&(this.removeValue(t),this.bindToMotionValue(t,n)),this.values.set(t,n),this.latestValues[t]=n.get()}removeValue(t){this.values.delete(t);const n=this.valueSubscriptions.get(t);n&&(n(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,n){if(this.props.values&&this.props.values[t])return this.props.values[t];let r=this.values.get(t);return r===void 0&&n!==void 0&&(r=Mf(n,{owner:this}),this.addValue(t,r)),r}readValue(t){var n;return this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(n=this.getBaseTargetFromProps(this.props,t))!==null&&n!==void 0?n:this.readValueFromInstance(this.current,t,this.options)}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:r}=this.props,i=typeof r=="string"||typeof r=="object"?(n=r6(this.props,r))===null||n===void 0?void 0:n[t]:void 0;if(r&&i!==void 0)return i;const o=this.getBaseTargetFromProps(this.props,t);return o!==void 0&&!ki(o)?o:this.initialValues[t]!==void 0&&i===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new f6),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class $j extends hPe{sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){return t.style?t.style[n]:void 0}removeValueFromRenderState(t,{vars:n,style:r}){delete n[t],delete r[t]}makeTargetAnimatableFromInstance({transition:t,transitionEnd:n,...r},{transformValues:i},o){let s=I6e(r,t||{},this);if(i&&(n&&(n=i(n)),r&&(r=i(r)),s&&(s=i(s))),o){O6e(this,r,s);const a=lPe(this,r,s,n);n=a.transitionEnd,r=a.target}return{transition:t,transitionEnd:n,...r}}}function pPe(e){return window.getComputedStyle(e)}class gPe extends $j{readValueFromInstance(t,n){if(Rc.has(n)){const r=l6(n);return r&&r.default||0}else{const r=pPe(t),i=(TV(n)?r.getPropertyValue(n):r[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return Ej(t,n)}build(t,n,r,i){QE(t,n,r,i.transformTemplate)}scrapeMotionValuesFromProps(t,n){return n6(t,n)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;ki(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}renderInstance(t,n,r,i){kV(t,n,r,i)}}class mPe extends $j{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(Rc.has(n)){const r=l6(n);return r&&r.default||0}return n=IV.has(n)?n:t6(n),t.getAttribute(n)}measureInstanceViewportBox(){return Bn()}scrapeMotionValuesFromProps(t,n){return NV(t,n)}build(t,n,r,i){JE(t,n,r,this.isSVGTag,i.transformTemplate)}renderInstance(t,n,r,i){MV(t,n,r,i)}mount(t){this.isSVGTag=e6(t.tagName),super.mount(t)}}const yPe=(e,t)=>YE(e)?new mPe(t,{enableHardwareAcceleration:!1}):new gPe(t,{enableHardwareAcceleration:!0}),vPe={layout:{ProjectionNode:Mj,MeasureLayout:Aj}},_Pe={...W6e,...hEe,...YAe,...vPe},bPe=wTe((e,t)=>QTe(e,t,_Pe,yPe));function Fj(){const e=L.useRef(!1);return a_(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function SPe(){const e=Fj(),[t,n]=L.useState(0),r=L.useCallback(()=>{e.current&&n(t+1)},[t]);return[L.useCallback(()=>dn.postRender(r),[r]),t]}class wPe extends L.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function xPe({children:e,isPresent:t}){const n=L.useId(),r=L.useRef(null),i=L.useRef({width:0,height:0,top:0,left:0});return L.useInsertionEffect(()=>{const{width:o,height:s,top:a,left:l}=i.current;if(t||!r.current||!o||!s)return;r.current.dataset.motionPopId=n;const u=document.createElement("style");return document.head.appendChild(u),u.sheet&&u.sheet.insertRule(` [data-motion-pop-id="${n}"] { position: absolute !important; width: ${o}px !important; @@ -144,8 +144,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho top: ${a}px !important; left: ${l}px !important; } - `),()=>{document.head.removeChild(u)}},[t]),L.createElement(SPe,{isPresent:t,childRef:r,sizeRef:i},L.cloneElement(e,{ref:r}))}const uC=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:s})=>{const a=LV(xPe),l=L.useId(),u=L.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:d=>{a.set(d,!0);for(const f of a.values())if(!f)return;r&&r()},register:d=>(a.set(d,!1),()=>a.delete(d))}),o?void 0:[n]);return L.useMemo(()=>{a.forEach((d,f)=>a.set(f,!1))},[n]),L.useEffect(()=>{!n&&!a.size&&r&&r()},[n]),s==="popLayout"&&(e=L.createElement(wPe,{isPresent:n},e)),L.createElement(Lm.Provider,{value:u},e)};function xPe(){return new Map}function CPe(e){return L.useEffect(()=>()=>e(),[])}const wd=e=>e.key||"";function TPe(e,t){e.forEach(n=>{const r=wd(n);t.set(r,n)})}function EPe(e){const t=[];return L.Children.forEach(e,n=>{L.isValidElement(n)&&t.push(n)}),t}const APe=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:s="sync"})=>{const a=L.useContext(XE).forceRender||bPe()[0],l=Fj(),u=EPe(e);let d=u;const f=L.useRef(new Map).current,p=L.useRef(d),g=L.useRef(new Map).current,m=L.useRef(!0);if(a_(()=>{m.current=!1,TPe(u,g),p.current=d}),CPe(()=>{m.current=!0,g.clear(),f.clear()}),m.current)return L.createElement(L.Fragment,null,d.map(b=>L.createElement(uC,{key:wd(b),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:s},b)));d=[...d];const v=p.current.map(wd),x=u.map(wd),_=v.length;for(let b=0;b<_;b++){const y=v[b];x.indexOf(y)===-1&&!f.has(y)&&f.set(y,void 0)}return s==="wait"&&f.size&&(d=[]),f.forEach((b,y)=>{if(x.indexOf(y)!==-1)return;const S=g.get(y);if(!S)return;const C=v.indexOf(y);let T=b;if(!T){const E=()=>{g.delete(y),f.delete(y);const P=p.current.findIndex(k=>k.key===y);if(p.current.splice(P,1),!f.size){if(p.current=u,l.current===!1)return;a(),r&&r()}};T=L.createElement(uC,{key:wd(S),isPresent:!1,onExitComplete:E,custom:t,presenceAffectsLayout:o,mode:s},S),f.set(y,T)}d.splice(C,0,T)}),d=d.map(b=>{const y=b.key;return f.has(y)?b:L.createElement(uC,{key:wd(b),isPresent:!0,presenceAffectsLayout:o,mode:s},b)}),L.createElement(L.Fragment,null,f.size?d:d.map(b=>L.cloneElement(b)))};var PPe=v5e({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),Bj=Pc((e,t)=>{const n=vV("Spinner",e),{label:r="Loading...",thickness:i="2px",speed:o="0.45s",emptyColor:s="transparent",className:a,...l}=pV(e),u=aV("chakra-spinner",a),d={display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:s,borderLeftColor:s,animation:`${PPe} ${o} linear infinite`,...n};return ue.jsx(cc.div,{ref:t,__css:d,className:u,...l,children:r&&ue.jsx(cc.span,{srOnly:!0,children:r})})});Bj.displayName="Spinner";var z5=Pc(function(t,n){const{htmlWidth:r,htmlHeight:i,alt:o,...s}=t;return ue.jsx("img",{width:r,height:i,ref:n,alt:o,...s})});z5.displayName="NativeImage";function RPe(e){const{loading:t,src:n,srcSet:r,onLoad:i,onError:o,crossOrigin:s,sizes:a,ignoreFallback:l}=e,[u,d]=L.useState("pending");L.useEffect(()=>{d(n?"loading":"pending")},[n]);const f=L.useRef(),p=L.useCallback(()=>{if(!n)return;g();const m=new Image;m.src=n,s&&(m.crossOrigin=s),r&&(m.srcset=r),a&&(m.sizes=a),t&&(m.loading=t),m.onload=v=>{g(),d("loaded"),i==null||i(v)},m.onerror=v=>{g(),d("failed"),o==null||o(v)},f.current=m},[n,s,r,a,i,o,t]),g=()=>{f.current&&(f.current.onload=null,f.current.onerror=null,f.current=null)};return _5e(()=>{if(!l)return u==="loading"&&p(),()=>{g()}},[u,p,l]),l?"loaded":u}var OPe=(e,t)=>e!=="loaded"&&t==="beforeLoadOrError"||e==="failed"&&t==="onError";function kPe(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var h6=Pc(function(t,n){const{fallbackSrc:r,fallback:i,src:o,srcSet:s,align:a,fit:l,loading:u,ignoreFallback:d,crossOrigin:f,fallbackStrategy:p="beforeLoadOrError",referrerPolicy:g,...m}=t,v=r!==void 0||i!==void 0,x=u!=null||d||!v,_=RPe({...t,crossOrigin:f,ignoreFallback:x}),b=OPe(_,p),y={ref:n,objectFit:l,objectPosition:a,...x?m:kPe(m,["onError","onLoad"])};return b?i||ue.jsx(cc.img,{as:z5,className:"chakra-image__placeholder",src:r,...y}):ue.jsx(cc.img,{as:z5,src:o,srcSet:s,crossOrigin:f,loading:u,referrerPolicy:g,className:"chakra-image",...y})});h6.displayName="Image";var V5=Pc(function(t,n){const r=vV("Heading",t),{className:i,...o}=pV(t);return ue.jsx(cc.h2,{ref:n,className:aV("chakra-heading",t.className),...o,__css:r})});V5.displayName="Heading";var p6=cc("div");p6.displayName="Box";var Uj=Pc(function(t,n){const{size:r,centerContent:i=!0,...o}=t,s=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return ue.jsx(p6,{ref:n,boxSize:r,__css:{...s,flexShrink:0,flexGrow:0},...o})});Uj.displayName="Square";var IPe=Pc(function(t,n){const{size:r,...i}=t;return ue.jsx(Uj,{size:r,ref:n,borderRadius:"9999px",...i})});IPe.displayName="Circle";var g6=Pc(function(t,n){const{direction:r,align:i,justify:o,wrap:s,basis:a,grow:l,shrink:u,...d}=t,f={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:s,flexBasis:a,flexGrow:l,flexShrink:u};return ue.jsx(cc.div,{ref:n,__css:f,...d})});g6.displayName="Flex";const MPe=""+new URL("logo-13003d72.png",import.meta.url).href,NPe=()=>ue.jsxs(g6,{position:"relative",width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",bg:"#151519",children:[ue.jsx(h6,{src:MPe,w:"8rem",h:"8rem"}),ue.jsx(Bj,{label:"Loading",color:"grey",position:"absolute",size:"sm",width:"24px !important",height:"24px !important",right:"1.5rem",bottom:"1.5rem"})]}),LPe=L.memo(NPe);function j5(e){"@babel/helpers - typeof";return j5=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},j5(e)}var zj=[],DPe=zj.forEach,$Pe=zj.slice;function G5(e){return DPe.call($Pe.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}function Vj(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":j5(XMLHttpRequest))==="object"}function FPe(e){return!!e&&typeof e.then=="function"}function BPe(e){return FPe(e)?e:Promise.resolve(e)}function UPe(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var H5={exports:{}},K0={exports:{}},n7;function zPe(){return n7||(n7=1,function(e,t){var n=typeof self<"u"?self:He,r=function(){function o(){this.fetch=!1,this.DOMException=n.DOMException}return o.prototype=n,new o}();(function(o){(function(s){var a={searchParams:"URLSearchParams"in o,iterable:"Symbol"in o&&"iterator"in Symbol,blob:"FileReader"in o&&"Blob"in o&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in o,arrayBuffer:"ArrayBuffer"in o};function l(A){return A&&DataView.prototype.isPrototypeOf(A)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],d=ArrayBuffer.isView||function(A){return A&&u.indexOf(Object.prototype.toString.call(A))>-1};function f(A){if(typeof A!="string"&&(A=String(A)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(A))throw new TypeError("Invalid character in header field name");return A.toLowerCase()}function p(A){return typeof A!="string"&&(A=String(A)),A}function g(A){var N={next:function(){var F=A.shift();return{done:F===void 0,value:F}}};return a.iterable&&(N[Symbol.iterator]=function(){return N}),N}function m(A){this.map={},A instanceof m?A.forEach(function(N,F){this.append(F,N)},this):Array.isArray(A)?A.forEach(function(N){this.append(N[0],N[1])},this):A&&Object.getOwnPropertyNames(A).forEach(function(N){this.append(N,A[N])},this)}m.prototype.append=function(A,N){A=f(A),N=p(N);var F=this.map[A];this.map[A]=F?F+", "+N:N},m.prototype.delete=function(A){delete this.map[f(A)]},m.prototype.get=function(A){return A=f(A),this.has(A)?this.map[A]:null},m.prototype.has=function(A){return this.map.hasOwnProperty(f(A))},m.prototype.set=function(A,N){this.map[f(A)]=p(N)},m.prototype.forEach=function(A,N){for(var F in this.map)this.map.hasOwnProperty(F)&&A.call(N,this.map[F],F,this)},m.prototype.keys=function(){var A=[];return this.forEach(function(N,F){A.push(F)}),g(A)},m.prototype.values=function(){var A=[];return this.forEach(function(N){A.push(N)}),g(A)},m.prototype.entries=function(){var A=[];return this.forEach(function(N,F){A.push([F,N])}),g(A)},a.iterable&&(m.prototype[Symbol.iterator]=m.prototype.entries);function v(A){if(A.bodyUsed)return Promise.reject(new TypeError("Already read"));A.bodyUsed=!0}function x(A){return new Promise(function(N,F){A.onload=function(){N(A.result)},A.onerror=function(){F(A.error)}})}function _(A){var N=new FileReader,F=x(N);return N.readAsArrayBuffer(A),F}function b(A){var N=new FileReader,F=x(N);return N.readAsText(A),F}function y(A){for(var N=new Uint8Array(A),F=new Array(N.length),B=0;B-1?N:A}function P(A,N){N=N||{};var F=N.body;if(A instanceof P){if(A.bodyUsed)throw new TypeError("Already read");this.url=A.url,this.credentials=A.credentials,N.headers||(this.headers=new m(A.headers)),this.method=A.method,this.mode=A.mode,this.signal=A.signal,!F&&A._bodyInit!=null&&(F=A._bodyInit,A.bodyUsed=!0)}else this.url=String(A);if(this.credentials=N.credentials||this.credentials||"same-origin",(N.headers||!this.headers)&&(this.headers=new m(N.headers)),this.method=E(N.method||this.method||"GET"),this.mode=N.mode||this.mode||null,this.signal=N.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&F)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(F)}P.prototype.clone=function(){return new P(this,{body:this._bodyInit})};function k(A){var N=new FormData;return A.trim().split("&").forEach(function(F){if(F){var B=F.split("="),D=B.shift().replace(/\+/g," "),V=B.join("=").replace(/\+/g," ");N.append(decodeURIComponent(D),decodeURIComponent(V))}}),N}function O(A){var N=new m,F=A.replace(/\r?\n[\t ]+/g," ");return F.split(/\r?\n/).forEach(function(B){var D=B.split(":"),V=D.shift().trim();if(V){var j=D.join(":").trim();N.append(V,j)}}),N}C.call(P.prototype);function M(A,N){N||(N={}),this.type="default",this.status=N.status===void 0?200:N.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in N?N.statusText:"OK",this.headers=new m(N.headers),this.url=N.url||"",this._initBody(A)}C.call(M.prototype),M.prototype.clone=function(){return new M(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new m(this.headers),url:this.url})},M.error=function(){var A=new M(null,{status:0,statusText:""});return A.type="error",A};var G=[301,302,303,307,308];M.redirect=function(A,N){if(G.indexOf(N)===-1)throw new RangeError("Invalid status code");return new M(null,{status:N,headers:{location:A}})},s.DOMException=o.DOMException;try{new s.DOMException}catch{s.DOMException=function(N,F){this.message=N,this.name=F;var B=Error(N);this.stack=B.stack},s.DOMException.prototype=Object.create(Error.prototype),s.DOMException.prototype.constructor=s.DOMException}function U(A,N){return new Promise(function(F,B){var D=new P(A,N);if(D.signal&&D.signal.aborted)return B(new s.DOMException("Aborted","AbortError"));var V=new XMLHttpRequest;function j(){V.abort()}V.onload=function(){var q={status:V.status,statusText:V.statusText,headers:O(V.getAllResponseHeaders()||"")};q.url="responseURL"in V?V.responseURL:q.headers.get("X-Request-URL");var Z="response"in V?V.response:V.responseText;F(new M(Z,q))},V.onerror=function(){B(new TypeError("Network request failed"))},V.ontimeout=function(){B(new TypeError("Network request failed"))},V.onabort=function(){B(new s.DOMException("Aborted","AbortError"))},V.open(D.method,D.url,!0),D.credentials==="include"?V.withCredentials=!0:D.credentials==="omit"&&(V.withCredentials=!1),"responseType"in V&&a.blob&&(V.responseType="blob"),D.headers.forEach(function(q,Z){V.setRequestHeader(Z,q)}),D.signal&&(D.signal.addEventListener("abort",j),V.onreadystatechange=function(){V.readyState===4&&D.signal.removeEventListener("abort",j)}),V.send(typeof D._bodyInit>"u"?null:D._bodyInit)})}return U.polyfill=!0,o.fetch||(o.fetch=U,o.Headers=m,o.Request=P,o.Response=M),s.Headers=m,s.Request=P,s.Response=M,s.fetch=U,Object.defineProperty(s,"__esModule",{value:!0}),s})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var i=r;t=i.fetch,t.default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t}(K0,K0.exports)),K0.exports}(function(e,t){var n;if(typeof fetch=="function"&&(typeof He<"u"&&He.fetch?n=He.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof UPe<"u"&&(typeof window>"u"||typeof window.document>"u")){var r=n||zPe();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(H5,H5.exports);var jj=H5.exports;const Gj=dc(jj),r7=b7({__proto__:null,default:Gj},[jj]);function m_(e){"@babel/helpers - typeof";return m_=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},m_(e)}var Ca;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?Ca=global.fetch:typeof window<"u"&&window.fetch?Ca=window.fetch:Ca=fetch);var Gg;Vj()&&(typeof global<"u"&&global.XMLHttpRequest?Gg=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(Gg=window.XMLHttpRequest));var y_;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?y_=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(y_=window.ActiveXObject));!Ca&&r7&&!Gg&&!y_&&(Ca=Gj||r7);typeof Ca!="function"&&(Ca=void 0);var W5=function(t,n){if(n&&m_(n)==="object"){var r="";for(var i in n)r+="&"+encodeURIComponent(i)+"="+encodeURIComponent(n[i]);if(!r)return t;t=t+(t.indexOf("?")!==-1?"&":"?")+r.slice(1)}return t},i7=function(t,n,r){Ca(t,n).then(function(i){if(!i.ok)return r(i.statusText||"Error",{status:i.status});i.text().then(function(o){r(null,{status:i.status,data:o})}).catch(r)}).catch(r)},o7=!1,VPe=function(t,n,r,i){t.queryStringParams&&(n=W5(n,t.queryStringParams));var o=G5({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);r&&(o["Content-Type"]="application/json");var s=typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions,a=G5({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:o},o7?{}:s);try{i7(n,a,i)}catch(l){if(!s||Object.keys(s).length===0||!l.message||l.message.indexOf("not implemented")<0)return i(l);try{Object.keys(s).forEach(function(u){delete a[u]}),i7(n,a,i),o7=!0}catch(u){i(u)}}},jPe=function(t,n,r,i){r&&m_(r)==="object"&&(r=W5("",r).slice(1)),t.queryStringParams&&(n=W5(n,t.queryStringParams));try{var o;Gg?o=new Gg:o=new y_("MSXML2.XMLHTTP.3.0"),o.open(r?"POST":"GET",n,1),t.crossDomain||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.withCredentials=!!t.withCredentials,r&&o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.overrideMimeType&&o.overrideMimeType("application/json");var s=t.customHeaders;if(s=typeof s=="function"?s():s,s)for(var a in s)o.setRequestHeader(a,s[a]);o.onreadystatechange=function(){o.readyState>3&&i(o.status>=400?o.statusText:null,{status:o.status,data:o.responseText})},o.send(r)}catch(l){console&&console.log(l)}},GPe=function(t,n,r,i){if(typeof r=="function"&&(i=r,r=void 0),i=i||function(){},Ca&&n.indexOf("file:")!==0)return VPe(t,n,r,i);if(Vj()||typeof ActiveXObject=="function")return jPe(t,n,r,i);i(new Error("No fetch and no xhr implementation found!"))};function Hg(e){"@babel/helpers - typeof";return Hg=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Hg(e)}function HPe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s7(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};HPe(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return WPe(e,[{key:"init",value:function(n){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=G5(i,this.options||{},XPe()),this.allOptions=o,this.services&&this.options.reloadInterval&&setInterval(function(){return r.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(n,r,i){this._readAny(n,n,r,r,i)}},{key:"read",value:function(n,r,i){this._readAny([n],n,[r],r,i)}},{key:"_readAny",value:function(n,r,i,o,s){var a=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,i)),l=BPe(l),l.then(function(u){if(!u)return s(null,{});var d=a.services.interpolator.interpolate(u,{lng:n.join("+"),ns:i.join("+")});a.loadUrl(d,s,r,o)})}},{key:"loadUrl",value:function(n,r,i,o){var s=this,a=typeof i=="string"?[i]:i,l=typeof o=="string"?[o]:o,u=this.options.parseLoadPayload(a,l);this.options.request(this.options,n,u,function(d,f){if(f&&(f.status>=500&&f.status<600||!f.status))return r("failed loading "+n+"; status code: "+f.status,!0);if(f&&f.status>=400&&f.status<500)return r("failed loading "+n+"; status code: "+f.status,!1);if(!f&&d&&d.message&&d.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+d.message,!0);if(d)return r(d,!1);var p,g;try{typeof f.data=="string"?p=s.options.parse(f.data,i,o):p=f.data}catch{g="failed parsing "+n+" to json"}if(g)return r(g,!1);r(null,p)})}},{key:"create",value:function(n,r,i,o,s){var a=this;if(this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,i,o),u=0,d=[],f=[];n.forEach(function(p){var g=a.options.addPath;typeof a.options.addPath=="function"&&(g=a.options.addPath(p,r));var m=a.services.interpolator.interpolate(g,{lng:p,ns:r});a.options.request(a.options,m,l,function(v,x){u+=1,d.push(v),f.push(x),u===n.length&&typeof s=="function"&&s(d,f)})})}}},{key:"reload",value:function(){var n=this,r=this.services,i=r.backendConnector,o=r.languageUtils,s=r.logger,a=i.language;if(!(a&&a.toLowerCase()==="cimode")){var l=[],u=function(f){var p=o.toResolveHierarchy(f);p.forEach(function(g){l.indexOf(g)<0&&l.push(g)})};u(a),this.allOptions.preload&&this.allOptions.preload.forEach(function(d){return u(d)}),l.forEach(function(d){n.allOptions.ns.forEach(function(f){i.read(d,f,"read",null,null,function(p,g){p&&s.warn("loading namespace ".concat(f," for language ").concat(d," failed"),p),!p&&g&&s.log("loaded namespace ".concat(f," for language ").concat(d),g),i.loaded("".concat(d,"|").concat(f),p,g)})})})}}}]),e}();Wj.type="backend";const YPe=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,QPe={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},ZPe=e=>QPe[e],JPe=e=>e.replace(YPe,ZPe);let q5={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:JPe};function e8e(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};q5={...q5,...e}}function AMe(){return q5}let qj;function t8e(e){qj=e}function PMe(){return qj}const n8e={type:"3rdParty",init(e){e8e(e.options.react),t8e(e)}};Kr.use(Wj).use(n8e).init({fallbackLng:"en",debug:!1,backend:{loadPath:"/locales/{{lng}}.json"},interpolation:{escapeValue:!1},returnNull:!1});const u2=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Yf(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function m6(e){return"nodeType"in e}function fi(e){var t,n;return e?Yf(e)?e:m6(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function y6(e){const{Document:t}=fi(e);return e instanceof t}function Um(e){return Yf(e)?!1:e instanceof fi(e).HTMLElement}function r8e(e){return e instanceof fi(e).SVGElement}function Qf(e){return e?Yf(e)?e.document:m6(e)?y6(e)?e:Um(e)?e.ownerDocument:document:document:document}const $s=u2?L.useLayoutEffect:L.useEffect;function c2(e){const t=L.useRef(e);return $s(()=>{t.current=e}),L.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i{e.current=setInterval(r,i)},[]),n=L.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function Wg(e,t){t===void 0&&(t=[e]);const n=L.useRef(e);return $s(()=>{n.current!==e&&(n.current=e)},t),n}function zm(e,t){const n=L.useRef();return L.useMemo(()=>{const r=e(n.current);return n.current=r,r},[...t])}function v_(e){const t=c2(e),n=L.useRef(null),r=L.useCallback(i=>{i!==n.current&&(t==null||t(i,n.current)),n.current=i},[]);return[n,r]}function __(e){const t=L.useRef();return L.useEffect(()=>{t.current=e},[e]),t.current}let cC={};function d2(e,t){return L.useMemo(()=>{if(t)return t;const n=cC[e]==null?0:cC[e]+1;return cC[e]=n,e+"-"+n},[e,t])}function Kj(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{const a=Object.entries(s);for(const[l,u]of a){const d=o[l];d!=null&&(o[l]=d+e*u)}return o},{...t})}}const uf=Kj(1),b_=Kj(-1);function o8e(e){return"clientX"in e&&"clientY"in e}function v6(e){if(!e)return!1;const{KeyboardEvent:t}=fi(e.target);return t&&e instanceof t}function s8e(e){if(!e)return!1;const{TouchEvent:t}=fi(e.target);return t&&e instanceof t}function qg(e){if(s8e(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return o8e(e)?{x:e.clientX,y:e.clientY}:null}const Kg=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[Kg.Translate.toString(e),Kg.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),a7="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function a8e(e){return e.matches(a7)?e:e.querySelector(a7)}const l8e={display:"none"};function u8e(e){let{id:t,value:n}=e;return Lt.createElement("div",{id:t,style:l8e},n)}const c8e={position:"fixed",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};function d8e(e){let{id:t,announcement:n}=e;return Lt.createElement("div",{id:t,style:c8e,role:"status","aria-live":"assertive","aria-atomic":!0},n)}function f8e(){const[e,t]=L.useState("");return{announce:L.useCallback(r=>{r!=null&&t(r)},[]),announcement:e}}const Xj=L.createContext(null);function h8e(e){const t=L.useContext(Xj);L.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of ");return t(e)},[e,t])}function p8e(){const[e]=L.useState(()=>new Set),t=L.useCallback(r=>(e.add(r),()=>e.delete(r)),[e]);return[L.useCallback(r=>{let{type:i,event:o}=r;e.forEach(s=>{var a;return(a=s[i])==null?void 0:a.call(s,o)})},[e]),t]}const g8e={draggable:` + `),()=>{document.head.removeChild(u)}},[t]),L.createElement(wPe,{isPresent:t,childRef:r,sizeRef:i},L.cloneElement(e,{ref:r}))}const uC=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:o,mode:s})=>{const a=LV(CPe),l=L.useId(),u=L.useMemo(()=>({id:l,initial:t,isPresent:n,custom:i,onExitComplete:d=>{a.set(d,!0);for(const f of a.values())if(!f)return;r&&r()},register:d=>(a.set(d,!1),()=>a.delete(d))}),o?void 0:[n]);return L.useMemo(()=>{a.forEach((d,f)=>a.set(f,!1))},[n]),L.useEffect(()=>{!n&&!a.size&&r&&r()},[n]),s==="popLayout"&&(e=L.createElement(xPe,{isPresent:n},e)),L.createElement(Lm.Provider,{value:u},e)};function CPe(){return new Map}function TPe(e){return L.useEffect(()=>()=>e(),[])}const wd=e=>e.key||"";function EPe(e,t){e.forEach(n=>{const r=wd(n);t.set(r,n)})}function APe(e){const t=[];return L.Children.forEach(e,n=>{L.isValidElement(n)&&t.push(n)}),t}const PPe=({children:e,custom:t,initial:n=!0,onExitComplete:r,exitBeforeEnter:i,presenceAffectsLayout:o=!0,mode:s="sync"})=>{const a=L.useContext(XE).forceRender||SPe()[0],l=Fj(),u=APe(e);let d=u;const f=L.useRef(new Map).current,p=L.useRef(d),g=L.useRef(new Map).current,m=L.useRef(!0);if(a_(()=>{m.current=!1,EPe(u,g),p.current=d}),TPe(()=>{m.current=!0,g.clear(),f.clear()}),m.current)return L.createElement(L.Fragment,null,d.map(b=>L.createElement(uC,{key:wd(b),isPresent:!0,initial:n?void 0:!1,presenceAffectsLayout:o,mode:s},b)));d=[...d];const v=p.current.map(wd),x=u.map(wd),_=v.length;for(let b=0;b<_;b++){const y=v[b];x.indexOf(y)===-1&&!f.has(y)&&f.set(y,void 0)}return s==="wait"&&f.size&&(d=[]),f.forEach((b,y)=>{if(x.indexOf(y)!==-1)return;const S=g.get(y);if(!S)return;const C=v.indexOf(y);let T=b;if(!T){const E=()=>{g.delete(y),f.delete(y);const P=p.current.findIndex(k=>k.key===y);if(p.current.splice(P,1),!f.size){if(p.current=u,l.current===!1)return;a(),r&&r()}};T=L.createElement(uC,{key:wd(S),isPresent:!1,onExitComplete:E,custom:t,presenceAffectsLayout:o,mode:s},S),f.set(y,T)}d.splice(C,0,T)}),d=d.map(b=>{const y=b.key;return f.has(y)?b:L.createElement(uC,{key:wd(b),isPresent:!0,presenceAffectsLayout:o,mode:s},b)}),L.createElement(L.Fragment,null,f.size?d:d.map(b=>L.cloneElement(b)))};var RPe=_5e({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),Bj=Pc((e,t)=>{const n=vV("Spinner",e),{label:r="Loading...",thickness:i="2px",speed:o="0.45s",emptyColor:s="transparent",className:a,...l}=pV(e),u=aV("chakra-spinner",a),d={display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:i,borderBottomColor:s,borderLeftColor:s,animation:`${RPe} ${o} linear infinite`,...n};return ue.jsx(cc.div,{ref:t,__css:d,className:u,...l,children:r&&ue.jsx(cc.span,{srOnly:!0,children:r})})});Bj.displayName="Spinner";var z5=Pc(function(t,n){const{htmlWidth:r,htmlHeight:i,alt:o,...s}=t;return ue.jsx("img",{width:r,height:i,ref:n,alt:o,...s})});z5.displayName="NativeImage";function OPe(e){const{loading:t,src:n,srcSet:r,onLoad:i,onError:o,crossOrigin:s,sizes:a,ignoreFallback:l}=e,[u,d]=L.useState("pending");L.useEffect(()=>{d(n?"loading":"pending")},[n]);const f=L.useRef(),p=L.useCallback(()=>{if(!n)return;g();const m=new Image;m.src=n,s&&(m.crossOrigin=s),r&&(m.srcset=r),a&&(m.sizes=a),t&&(m.loading=t),m.onload=v=>{g(),d("loaded"),i==null||i(v)},m.onerror=v=>{g(),d("failed"),o==null||o(v)},f.current=m},[n,s,r,a,i,o,t]),g=()=>{f.current&&(f.current.onload=null,f.current.onerror=null,f.current=null)};return b5e(()=>{if(!l)return u==="loading"&&p(),()=>{g()}},[u,p,l]),l?"loaded":u}var kPe=(e,t)=>e!=="loaded"&&t==="beforeLoadOrError"||e==="failed"&&t==="onError";function IPe(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}var h6=Pc(function(t,n){const{fallbackSrc:r,fallback:i,src:o,srcSet:s,align:a,fit:l,loading:u,ignoreFallback:d,crossOrigin:f,fallbackStrategy:p="beforeLoadOrError",referrerPolicy:g,...m}=t,v=r!==void 0||i!==void 0,x=u!=null||d||!v,_=OPe({...t,crossOrigin:f,ignoreFallback:x}),b=kPe(_,p),y={ref:n,objectFit:l,objectPosition:a,...x?m:IPe(m,["onError","onLoad"])};return b?i||ue.jsx(cc.img,{as:z5,className:"chakra-image__placeholder",src:r,...y}):ue.jsx(cc.img,{as:z5,src:o,srcSet:s,crossOrigin:f,loading:u,referrerPolicy:g,className:"chakra-image",...y})});h6.displayName="Image";var V5=Pc(function(t,n){const r=vV("Heading",t),{className:i,...o}=pV(t);return ue.jsx(cc.h2,{ref:n,className:aV("chakra-heading",t.className),...o,__css:r})});V5.displayName="Heading";var p6=cc("div");p6.displayName="Box";var Uj=Pc(function(t,n){const{size:r,centerContent:i=!0,...o}=t,s=i?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return ue.jsx(p6,{ref:n,boxSize:r,__css:{...s,flexShrink:0,flexGrow:0},...o})});Uj.displayName="Square";var MPe=Pc(function(t,n){const{size:r,...i}=t;return ue.jsx(Uj,{size:r,ref:n,borderRadius:"9999px",...i})});MPe.displayName="Circle";var g6=Pc(function(t,n){const{direction:r,align:i,justify:o,wrap:s,basis:a,grow:l,shrink:u,...d}=t,f={display:"flex",flexDirection:r,alignItems:i,justifyContent:o,flexWrap:s,flexBasis:a,flexGrow:l,flexShrink:u};return ue.jsx(cc.div,{ref:n,__css:f,...d})});g6.displayName="Flex";const NPe=""+new URL("logo-13003d72.png",import.meta.url).href,LPe=()=>ue.jsxs(g6,{position:"relative",width:"100vw",height:"100vh",alignItems:"center",justifyContent:"center",bg:"#151519",children:[ue.jsx(h6,{src:NPe,w:"8rem",h:"8rem"}),ue.jsx(Bj,{label:"Loading",color:"grey",position:"absolute",size:"sm",width:"24px !important",height:"24px !important",right:"1.5rem",bottom:"1.5rem"})]}),DPe=L.memo(LPe);function j5(e){"@babel/helpers - typeof";return j5=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},j5(e)}var zj=[],$Pe=zj.forEach,FPe=zj.slice;function G5(e){return $Pe.call(FPe.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e}function Vj(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":j5(XMLHttpRequest))==="object"}function BPe(e){return!!e&&typeof e.then=="function"}function UPe(e){return BPe(e)?e:Promise.resolve(e)}function zPe(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var H5={exports:{}},K0={exports:{}},n7;function VPe(){return n7||(n7=1,function(e,t){var n=typeof self<"u"?self:He,r=function(){function o(){this.fetch=!1,this.DOMException=n.DOMException}return o.prototype=n,new o}();(function(o){(function(s){var a={searchParams:"URLSearchParams"in o,iterable:"Symbol"in o&&"iterator"in Symbol,blob:"FileReader"in o&&"Blob"in o&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in o,arrayBuffer:"ArrayBuffer"in o};function l(A){return A&&DataView.prototype.isPrototypeOf(A)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],d=ArrayBuffer.isView||function(A){return A&&u.indexOf(Object.prototype.toString.call(A))>-1};function f(A){if(typeof A!="string"&&(A=String(A)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(A))throw new TypeError("Invalid character in header field name");return A.toLowerCase()}function p(A){return typeof A!="string"&&(A=String(A)),A}function g(A){var N={next:function(){var F=A.shift();return{done:F===void 0,value:F}}};return a.iterable&&(N[Symbol.iterator]=function(){return N}),N}function m(A){this.map={},A instanceof m?A.forEach(function(N,F){this.append(F,N)},this):Array.isArray(A)?A.forEach(function(N){this.append(N[0],N[1])},this):A&&Object.getOwnPropertyNames(A).forEach(function(N){this.append(N,A[N])},this)}m.prototype.append=function(A,N){A=f(A),N=p(N);var F=this.map[A];this.map[A]=F?F+", "+N:N},m.prototype.delete=function(A){delete this.map[f(A)]},m.prototype.get=function(A){return A=f(A),this.has(A)?this.map[A]:null},m.prototype.has=function(A){return this.map.hasOwnProperty(f(A))},m.prototype.set=function(A,N){this.map[f(A)]=p(N)},m.prototype.forEach=function(A,N){for(var F in this.map)this.map.hasOwnProperty(F)&&A.call(N,this.map[F],F,this)},m.prototype.keys=function(){var A=[];return this.forEach(function(N,F){A.push(F)}),g(A)},m.prototype.values=function(){var A=[];return this.forEach(function(N){A.push(N)}),g(A)},m.prototype.entries=function(){var A=[];return this.forEach(function(N,F){A.push([F,N])}),g(A)},a.iterable&&(m.prototype[Symbol.iterator]=m.prototype.entries);function v(A){if(A.bodyUsed)return Promise.reject(new TypeError("Already read"));A.bodyUsed=!0}function x(A){return new Promise(function(N,F){A.onload=function(){N(A.result)},A.onerror=function(){F(A.error)}})}function _(A){var N=new FileReader,F=x(N);return N.readAsArrayBuffer(A),F}function b(A){var N=new FileReader,F=x(N);return N.readAsText(A),F}function y(A){for(var N=new Uint8Array(A),F=new Array(N.length),B=0;B-1?N:A}function P(A,N){N=N||{};var F=N.body;if(A instanceof P){if(A.bodyUsed)throw new TypeError("Already read");this.url=A.url,this.credentials=A.credentials,N.headers||(this.headers=new m(A.headers)),this.method=A.method,this.mode=A.mode,this.signal=A.signal,!F&&A._bodyInit!=null&&(F=A._bodyInit,A.bodyUsed=!0)}else this.url=String(A);if(this.credentials=N.credentials||this.credentials||"same-origin",(N.headers||!this.headers)&&(this.headers=new m(N.headers)),this.method=E(N.method||this.method||"GET"),this.mode=N.mode||this.mode||null,this.signal=N.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&F)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(F)}P.prototype.clone=function(){return new P(this,{body:this._bodyInit})};function k(A){var N=new FormData;return A.trim().split("&").forEach(function(F){if(F){var B=F.split("="),D=B.shift().replace(/\+/g," "),V=B.join("=").replace(/\+/g," ");N.append(decodeURIComponent(D),decodeURIComponent(V))}}),N}function O(A){var N=new m,F=A.replace(/\r?\n[\t ]+/g," ");return F.split(/\r?\n/).forEach(function(B){var D=B.split(":"),V=D.shift().trim();if(V){var j=D.join(":").trim();N.append(V,j)}}),N}C.call(P.prototype);function M(A,N){N||(N={}),this.type="default",this.status=N.status===void 0?200:N.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in N?N.statusText:"OK",this.headers=new m(N.headers),this.url=N.url||"",this._initBody(A)}C.call(M.prototype),M.prototype.clone=function(){return new M(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new m(this.headers),url:this.url})},M.error=function(){var A=new M(null,{status:0,statusText:""});return A.type="error",A};var G=[301,302,303,307,308];M.redirect=function(A,N){if(G.indexOf(N)===-1)throw new RangeError("Invalid status code");return new M(null,{status:N,headers:{location:A}})},s.DOMException=o.DOMException;try{new s.DOMException}catch{s.DOMException=function(N,F){this.message=N,this.name=F;var B=Error(N);this.stack=B.stack},s.DOMException.prototype=Object.create(Error.prototype),s.DOMException.prototype.constructor=s.DOMException}function U(A,N){return new Promise(function(F,B){var D=new P(A,N);if(D.signal&&D.signal.aborted)return B(new s.DOMException("Aborted","AbortError"));var V=new XMLHttpRequest;function j(){V.abort()}V.onload=function(){var q={status:V.status,statusText:V.statusText,headers:O(V.getAllResponseHeaders()||"")};q.url="responseURL"in V?V.responseURL:q.headers.get("X-Request-URL");var Z="response"in V?V.response:V.responseText;F(new M(Z,q))},V.onerror=function(){B(new TypeError("Network request failed"))},V.ontimeout=function(){B(new TypeError("Network request failed"))},V.onabort=function(){B(new s.DOMException("Aborted","AbortError"))},V.open(D.method,D.url,!0),D.credentials==="include"?V.withCredentials=!0:D.credentials==="omit"&&(V.withCredentials=!1),"responseType"in V&&a.blob&&(V.responseType="blob"),D.headers.forEach(function(q,Z){V.setRequestHeader(Z,q)}),D.signal&&(D.signal.addEventListener("abort",j),V.onreadystatechange=function(){V.readyState===4&&D.signal.removeEventListener("abort",j)}),V.send(typeof D._bodyInit>"u"?null:D._bodyInit)})}return U.polyfill=!0,o.fetch||(o.fetch=U,o.Headers=m,o.Request=P,o.Response=M),s.Headers=m,s.Request=P,s.Response=M,s.fetch=U,Object.defineProperty(s,"__esModule",{value:!0}),s})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var i=r;t=i.fetch,t.default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t}(K0,K0.exports)),K0.exports}(function(e,t){var n;if(typeof fetch=="function"&&(typeof He<"u"&&He.fetch?n=He.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof zPe<"u"&&(typeof window>"u"||typeof window.document>"u")){var r=n||VPe();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(H5,H5.exports);var jj=H5.exports;const Gj=dc(jj),r7=b7({__proto__:null,default:Gj},[jj]);function m_(e){"@babel/helpers - typeof";return m_=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},m_(e)}var Ca;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?Ca=global.fetch:typeof window<"u"&&window.fetch?Ca=window.fetch:Ca=fetch);var Gg;Vj()&&(typeof global<"u"&&global.XMLHttpRequest?Gg=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(Gg=window.XMLHttpRequest));var y_;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?y_=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(y_=window.ActiveXObject));!Ca&&r7&&!Gg&&!y_&&(Ca=Gj||r7);typeof Ca!="function"&&(Ca=void 0);var W5=function(t,n){if(n&&m_(n)==="object"){var r="";for(var i in n)r+="&"+encodeURIComponent(i)+"="+encodeURIComponent(n[i]);if(!r)return t;t=t+(t.indexOf("?")!==-1?"&":"?")+r.slice(1)}return t},i7=function(t,n,r){Ca(t,n).then(function(i){if(!i.ok)return r(i.statusText||"Error",{status:i.status});i.text().then(function(o){r(null,{status:i.status,data:o})}).catch(r)}).catch(r)},o7=!1,jPe=function(t,n,r,i){t.queryStringParams&&(n=W5(n,t.queryStringParams));var o=G5({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);r&&(o["Content-Type"]="application/json");var s=typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions,a=G5({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:o},o7?{}:s);try{i7(n,a,i)}catch(l){if(!s||Object.keys(s).length===0||!l.message||l.message.indexOf("not implemented")<0)return i(l);try{Object.keys(s).forEach(function(u){delete a[u]}),i7(n,a,i),o7=!0}catch(u){i(u)}}},GPe=function(t,n,r,i){r&&m_(r)==="object"&&(r=W5("",r).slice(1)),t.queryStringParams&&(n=W5(n,t.queryStringParams));try{var o;Gg?o=new Gg:o=new y_("MSXML2.XMLHTTP.3.0"),o.open(r?"POST":"GET",n,1),t.crossDomain||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.withCredentials=!!t.withCredentials,r&&o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.overrideMimeType&&o.overrideMimeType("application/json");var s=t.customHeaders;if(s=typeof s=="function"?s():s,s)for(var a in s)o.setRequestHeader(a,s[a]);o.onreadystatechange=function(){o.readyState>3&&i(o.status>=400?o.statusText:null,{status:o.status,data:o.responseText})},o.send(r)}catch(l){console&&console.log(l)}},HPe=function(t,n,r,i){if(typeof r=="function"&&(i=r,r=void 0),i=i||function(){},Ca&&n.indexOf("file:")!==0)return jPe(t,n,r,i);if(Vj()||typeof ActiveXObject=="function")return GPe(t,n,r,i);i(new Error("No fetch and no xhr implementation found!"))};function Hg(e){"@babel/helpers - typeof";return Hg=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Hg(e)}function WPe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s7(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};WPe(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return qPe(e,[{key:"init",value:function(n){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=G5(i,this.options||{},YPe()),this.allOptions=o,this.services&&this.options.reloadInterval&&setInterval(function(){return r.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(n,r,i){this._readAny(n,n,r,r,i)}},{key:"read",value:function(n,r,i){this._readAny([n],n,[r],r,i)}},{key:"_readAny",value:function(n,r,i,o,s){var a=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,i)),l=UPe(l),l.then(function(u){if(!u)return s(null,{});var d=a.services.interpolator.interpolate(u,{lng:n.join("+"),ns:i.join("+")});a.loadUrl(d,s,r,o)})}},{key:"loadUrl",value:function(n,r,i,o){var s=this,a=typeof i=="string"?[i]:i,l=typeof o=="string"?[o]:o,u=this.options.parseLoadPayload(a,l);this.options.request(this.options,n,u,function(d,f){if(f&&(f.status>=500&&f.status<600||!f.status))return r("failed loading "+n+"; status code: "+f.status,!0);if(f&&f.status>=400&&f.status<500)return r("failed loading "+n+"; status code: "+f.status,!1);if(!f&&d&&d.message&&d.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+d.message,!0);if(d)return r(d,!1);var p,g;try{typeof f.data=="string"?p=s.options.parse(f.data,i,o):p=f.data}catch{g="failed parsing "+n+" to json"}if(g)return r(g,!1);r(null,p)})}},{key:"create",value:function(n,r,i,o,s){var a=this;if(this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,i,o),u=0,d=[],f=[];n.forEach(function(p){var g=a.options.addPath;typeof a.options.addPath=="function"&&(g=a.options.addPath(p,r));var m=a.services.interpolator.interpolate(g,{lng:p,ns:r});a.options.request(a.options,m,l,function(v,x){u+=1,d.push(v),f.push(x),u===n.length&&typeof s=="function"&&s(d,f)})})}}},{key:"reload",value:function(){var n=this,r=this.services,i=r.backendConnector,o=r.languageUtils,s=r.logger,a=i.language;if(!(a&&a.toLowerCase()==="cimode")){var l=[],u=function(f){var p=o.toResolveHierarchy(f);p.forEach(function(g){l.indexOf(g)<0&&l.push(g)})};u(a),this.allOptions.preload&&this.allOptions.preload.forEach(function(d){return u(d)}),l.forEach(function(d){n.allOptions.ns.forEach(function(f){i.read(d,f,"read",null,null,function(p,g){p&&s.warn("loading namespace ".concat(f," for language ").concat(d," failed"),p),!p&&g&&s.log("loaded namespace ".concat(f," for language ").concat(d),g),i.loaded("".concat(d,"|").concat(f),p,g)})})})}}}]),e}();Wj.type="backend";const QPe=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,ZPe={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},JPe=e=>ZPe[e],e8e=e=>e.replace(QPe,JPe);let q5={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:e8e};function t8e(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};q5={...q5,...e}}function PMe(){return q5}let qj;function n8e(e){qj=e}function RMe(){return qj}const r8e={type:"3rdParty",init(e){t8e(e.options.react),n8e(e)}};Kr.use(Wj).use(r8e).init({fallbackLng:"en",debug:!1,backend:{loadPath:"/locales/{{lng}}.json"},interpolation:{escapeValue:!1},returnNull:!1});const u2=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Yf(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function m6(e){return"nodeType"in e}function hi(e){var t,n;return e?Yf(e)?e:m6(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function y6(e){const{Document:t}=hi(e);return e instanceof t}function Um(e){return Yf(e)?!1:e instanceof hi(e).HTMLElement}function i8e(e){return e instanceof hi(e).SVGElement}function Qf(e){return e?Yf(e)?e.document:m6(e)?y6(e)?e:Um(e)?e.ownerDocument:document:document:document}const $s=u2?L.useLayoutEffect:L.useEffect;function c2(e){const t=L.useRef(e);return $s(()=>{t.current=e}),L.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i{e.current=setInterval(r,i)},[]),n=L.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function Wg(e,t){t===void 0&&(t=[e]);const n=L.useRef(e);return $s(()=>{n.current!==e&&(n.current=e)},t),n}function zm(e,t){const n=L.useRef();return L.useMemo(()=>{const r=e(n.current);return n.current=r,r},[...t])}function v_(e){const t=c2(e),n=L.useRef(null),r=L.useCallback(i=>{i!==n.current&&(t==null||t(i,n.current)),n.current=i},[]);return[n,r]}function __(e){const t=L.useRef();return L.useEffect(()=>{t.current=e},[e]),t.current}let cC={};function d2(e,t){return L.useMemo(()=>{if(t)return t;const n=cC[e]==null?0:cC[e]+1;return cC[e]=n,e+"-"+n},[e,t])}function Kj(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{const a=Object.entries(s);for(const[l,u]of a){const d=o[l];d!=null&&(o[l]=d+e*u)}return o},{...t})}}const uf=Kj(1),b_=Kj(-1);function s8e(e){return"clientX"in e&&"clientY"in e}function v6(e){if(!e)return!1;const{KeyboardEvent:t}=hi(e.target);return t&&e instanceof t}function a8e(e){if(!e)return!1;const{TouchEvent:t}=hi(e.target);return t&&e instanceof t}function qg(e){if(a8e(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return s8e(e)?{x:e.clientX,y:e.clientY}:null}const Kg=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[Kg.Translate.toString(e),Kg.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),a7="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function l8e(e){return e.matches(a7)?e:e.querySelector(a7)}const u8e={display:"none"};function c8e(e){let{id:t,value:n}=e;return Lt.createElement("div",{id:t,style:u8e},n)}const d8e={position:"fixed",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};function f8e(e){let{id:t,announcement:n}=e;return Lt.createElement("div",{id:t,style:d8e,role:"status","aria-live":"assertive","aria-atomic":!0},n)}function h8e(){const[e,t]=L.useState("");return{announce:L.useCallback(r=>{r!=null&&t(r)},[]),announcement:e}}const Xj=L.createContext(null);function p8e(e){const t=L.useContext(Xj);L.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of ");return t(e)},[e,t])}function g8e(){const[e]=L.useState(()=>new Set),t=L.useCallback(r=>(e.add(r),()=>e.delete(r)),[e]);return[L.useCallback(r=>{let{type:i,event:o}=r;e.forEach(s=>{var a;return(a=s[i])==null?void 0:a.call(s,o)})},[e]),t]}const m8e={draggable:` To pick up a draggable item, press the space bar. While dragging, use the arrow keys to move the item. Press space again to drop the item in its new position, or press escape to cancel. - `},m8e={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function y8e(e){let{announcements:t=m8e,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=g8e}=e;const{announce:o,announcement:s}=f8e(),a=d2("DndLiveRegion"),[l,u]=L.useState(!1);if(L.useEffect(()=>{u(!0)},[]),h8e(L.useMemo(()=>({onDragStart(f){let{active:p}=f;o(t.onDragStart({active:p}))},onDragMove(f){let{active:p,over:g}=f;t.onDragMove&&o(t.onDragMove({active:p,over:g}))},onDragOver(f){let{active:p,over:g}=f;o(t.onDragOver({active:p,over:g}))},onDragEnd(f){let{active:p,over:g}=f;o(t.onDragEnd({active:p,over:g}))},onDragCancel(f){let{active:p,over:g}=f;o(t.onDragCancel({active:p,over:g}))}}),[o,t])),!l)return null;const d=Lt.createElement(Lt.Fragment,null,Lt.createElement(u8e,{id:r,value:i.draggable}),Lt.createElement(d8e,{id:a,announcement:s}));return n?bs.createPortal(d,n):d}var er;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(er||(er={}));function S_(){}function l7(e,t){return L.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function v8e(){for(var e=arguments.length,t=new Array(e),n=0;n[...t].filter(r=>r!=null),[...t])}const ns=Object.freeze({x:0,y:0});function _8e(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function b8e(e,t){const n=qg(e);if(!n)return"0 0";const r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}function S8e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function w8e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function x8e(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function C8e(e,t){if(!e||e.length===0)return null;const[n]=e;return t?n[t]:n}function T8e(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),o=Math.min(t.top+t.height,e.top+e.height),s=i-r,a=o-n;if(r{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=[];for(const o of r){const{id:s}=o,a=n.get(s);if(a){const l=T8e(a,t);l>0&&i.push({id:s,data:{droppableContainer:o,value:l}})}}return i.sort(w8e)};function A8e(e,t){const{top:n,left:r,bottom:i,right:o}=t;return n<=e.y&&e.y<=i&&r<=e.x&&e.x<=o}const P8e=e=>{let{droppableContainers:t,droppableRects:n,pointerCoordinates:r}=e;if(!r)return[];const i=[];for(const o of t){const{id:s}=o,a=n.get(s);if(a&&A8e(r,a)){const u=x8e(a).reduce((f,p)=>f+_8e(r,p),0),d=Number((u/4).toFixed(4));i.push({id:s,data:{droppableContainer:o,value:d}})}}return i.sort(S8e)};function R8e(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function Yj(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:ns}function O8e(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o({...s,top:s.top+e*a.y,bottom:s.bottom+e*a.y,left:s.left+e*a.x,right:s.right+e*a.x}),{...n})}}const k8e=O8e(1);function Qj(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function I8e(e,t,n){const r=Qj(t);if(!r)return e;const{scaleX:i,scaleY:o,x:s,y:a}=r,l=e.left-s-(1-i)*parseFloat(n),u=e.top-a-(1-o)*parseFloat(n.slice(n.indexOf(" ")+1)),d=i?e.width/i:e.width,f=o?e.height/o:e.height;return{width:d,height:f,top:u,right:l+d,bottom:u+f,left:l}}const M8e={ignoreTransform:!1};function Vm(e,t){t===void 0&&(t=M8e);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:u,transformOrigin:d}=fi(e).getComputedStyle(e);u&&(n=I8e(n,u,d))}const{top:r,left:i,width:o,height:s,bottom:a,right:l}=n;return{top:r,left:i,width:o,height:s,bottom:a,right:l}}function u7(e){return Vm(e,{ignoreTransform:!0})}function N8e(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function L8e(e,t){return t===void 0&&(t=fi(e).getComputedStyle(e)),t.position==="fixed"}function D8e(e,t){t===void 0&&(t=fi(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const o=t[i];return typeof o=="string"?n.test(o):!1})}function _6(e,t){const n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(y6(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Um(i)||r8e(i)||n.includes(i))return n;const o=fi(e).getComputedStyle(i);return i!==e&&D8e(i,o)&&n.push(i),L8e(i,o)?n:r(i.parentNode)}return e?r(e):n}function Zj(e){const[t]=_6(e,1);return t??null}function dC(e){return!u2||!e?null:Yf(e)?e:m6(e)?y6(e)||e===Qf(e).scrollingElement?window:Um(e)?e:null:null}function Jj(e){return Yf(e)?e.scrollX:e.scrollLeft}function eG(e){return Yf(e)?e.scrollY:e.scrollTop}function K5(e){return{x:Jj(e),y:eG(e)}}var fr;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(fr||(fr={}));function tG(e){return!u2||!e?!1:e===document.scrollingElement}function nG(e){const t={x:0,y:0},n=tG(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},i=e.scrollTop<=t.y,o=e.scrollLeft<=t.x,s=e.scrollTop>=r.y,a=e.scrollLeft>=r.x;return{isTop:i,isLeft:o,isBottom:s,isRight:a,maxScroll:r,minScroll:t}}const $8e={x:.2,y:.2};function F8e(e,t,n,r,i){let{top:o,left:s,right:a,bottom:l}=n;r===void 0&&(r=10),i===void 0&&(i=$8e);const{isTop:u,isBottom:d,isLeft:f,isRight:p}=nG(e),g={x:0,y:0},m={x:0,y:0},v={height:t.height*i.y,width:t.width*i.x};return!u&&o<=t.top+v.height?(g.y=fr.Backward,m.y=r*Math.abs((t.top+v.height-o)/v.height)):!d&&l>=t.bottom-v.height&&(g.y=fr.Forward,m.y=r*Math.abs((t.bottom-v.height-l)/v.height)),!p&&a>=t.right-v.width?(g.x=fr.Forward,m.x=r*Math.abs((t.right-v.width-a)/v.width)):!f&&s<=t.left+v.width&&(g.x=fr.Backward,m.x=r*Math.abs((t.left+v.width-s)/v.width)),{direction:g,speed:m}}function B8e(e){if(e===document.scrollingElement){const{innerWidth:o,innerHeight:s}=window;return{top:0,left:0,right:o,bottom:s,width:o,height:s}}const{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function rG(e){return e.reduce((t,n)=>uf(t,K5(n)),ns)}function U8e(e){return e.reduce((t,n)=>t+Jj(n),0)}function z8e(e){return e.reduce((t,n)=>t+eG(n),0)}function iG(e,t){if(t===void 0&&(t=Vm),!e)return;const{top:n,left:r,bottom:i,right:o}=t(e);Zj(e)&&(i<=0||o<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const V8e=[["x",["left","right"],U8e],["y",["top","bottom"],z8e]];class b6{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=_6(n),i=rG(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,s,a]of V8e)for(const l of s)Object.defineProperty(this,l,{get:()=>{const u=a(r),d=i[o]-u;return this.rect[l]+d},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Np{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=t}add(t,n,r){var i;(i=this.target)==null||i.addEventListener(t,n,r),this.listeners.push([t,n,r])}}function j8e(e){const{EventTarget:t}=fi(e);return e instanceof t?e:Qf(e)}function fC(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return typeof t=="number"?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t?r>t.y:!1}var po;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(po||(po={}));function c7(e){e.preventDefault()}function G8e(e){e.stopPropagation()}var Qt;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter"})(Qt||(Qt={}));const oG={start:[Qt.Space,Qt.Enter],cancel:[Qt.Esc],end:[Qt.Space,Qt.Enter]},H8e=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case Qt.Right:return{...n,x:n.x+25};case Qt.Left:return{...n,x:n.x-25};case Qt.Down:return{...n,y:n.y+25};case Qt.Up:return{...n,y:n.y-25}}};class sG{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:n}}=t;this.props=t,this.listeners=new Np(Qf(n)),this.windowListeners=new Np(fi(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(po.Resize,this.handleCancel),this.windowListeners.add(po.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(po.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&iG(r),n(ns)}handleKeyDown(t){if(v6(t)){const{active:n,context:r,options:i}=this.props,{keyboardCodes:o=oG,coordinateGetter:s=H8e,scrollBehavior:a="smooth"}=i,{code:l}=t;if(o.end.includes(l)){this.handleEnd(t);return}if(o.cancel.includes(l)){this.handleCancel(t);return}const{collisionRect:u}=r.current,d=u?{x:u.left,y:u.top}:ns;this.referenceCoordinates||(this.referenceCoordinates=d);const f=s(t,{active:n,context:r.current,currentCoordinates:d});if(f){const p=b_(f,d),g={x:0,y:0},{scrollableAncestors:m}=r.current;for(const v of m){const x=t.code,{isTop:_,isRight:b,isLeft:y,isBottom:S,maxScroll:C,minScroll:T}=nG(v),E=B8e(v),P={x:Math.min(x===Qt.Right?E.right-E.width/2:E.right,Math.max(x===Qt.Right?E.left:E.left+E.width/2,f.x)),y:Math.min(x===Qt.Down?E.bottom-E.height/2:E.bottom,Math.max(x===Qt.Down?E.top:E.top+E.height/2,f.y))},k=x===Qt.Right&&!b||x===Qt.Left&&!y,O=x===Qt.Down&&!S||x===Qt.Up&&!_;if(k&&P.x!==f.x){const M=v.scrollLeft+p.x,G=x===Qt.Right&&M<=C.x||x===Qt.Left&&M>=T.x;if(G&&!p.y){v.scrollTo({left:M,behavior:a});return}G?g.x=v.scrollLeft-M:g.x=x===Qt.Right?v.scrollLeft-C.x:v.scrollLeft-T.x,g.x&&v.scrollBy({left:-g.x,behavior:a});break}else if(O&&P.y!==f.y){const M=v.scrollTop+p.y,G=x===Qt.Down&&M<=C.y||x===Qt.Up&&M>=T.y;if(G&&!p.x){v.scrollTo({top:M,behavior:a});return}G?g.y=v.scrollTop-M:g.y=x===Qt.Down?v.scrollTop-C.y:v.scrollTop-T.y,g.y&&v.scrollBy({top:-g.y,behavior:a});break}}this.handleMove(t,uf(b_(f,this.referenceCoordinates),g))}}}handleMove(t,n){const{onMove:r}=this.props;t.preventDefault(),r(n)}handleEnd(t){const{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){const{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}sG.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=oG,onActivation:i}=t,{active:o}=n;const{code:s}=e.nativeEvent;if(r.start.includes(s)){const a=o.activatorNode.current;return a&&e.target!==a?!1:(e.preventDefault(),i==null||i({event:e.nativeEvent}),!0)}return!1}}];function d7(e){return!!(e&&"distance"in e)}function f7(e){return!!(e&&"delay"in e)}class S6{constructor(t,n,r){var i;r===void 0&&(r=j8e(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;const{event:o}=t,{target:s}=o;this.props=t,this.events=n,this.document=Qf(s),this.documentListeners=new Np(this.document),this.listeners=new Np(r),this.windowListeners=new Np(fi(s)),this.initialCoordinates=(i=qg(o))!=null?i:ns,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:n}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),this.windowListeners.add(po.Resize,this.handleCancel),this.windowListeners.add(po.DragStart,c7),this.windowListeners.add(po.VisibilityChange,this.handleCancel),this.windowListeners.add(po.ContextMenu,c7),this.documentListeners.add(po.Keydown,this.handleKeydown),n){if(d7(n))return;if(f7(n)){this.timeoutId=setTimeout(this.handleStart,n.delay);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(po.Click,G8e,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(po.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:r,initialCoordinates:i,props:o}=this,{onMove:s,options:{activationConstraint:a}}=o;if(!i)return;const l=(n=qg(t))!=null?n:ns,u=b_(i,l);if(!r&&a){if(f7(a))return fC(u,a.tolerance)?this.handleCancel():void 0;if(d7(a))return a.tolerance!=null&&fC(u,a.tolerance)?this.handleCancel():fC(u,a.distance)?this.handleStart():void 0}t.cancelable&&t.preventDefault(),s(l)}handleEnd(){const{onEnd:t}=this.props;this.detach(),t()}handleCancel(){const{onCancel:t}=this.props;this.detach(),t()}handleKeydown(t){t.code===Qt.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const W8e={move:{name:"pointermove"},end:{name:"pointerup"}};class aG extends S6{constructor(t){const{event:n}=t,r=Qf(n.target);super(t,W8e,r)}}aG.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r==null||r({event:n}),!0)}}];const q8e={move:{name:"mousemove"},end:{name:"mouseup"}};var X5;(function(e){e[e.RightClick=2]="RightClick"})(X5||(X5={}));class lG extends S6{constructor(t){super(t,q8e,Qf(t.event.target))}}lG.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===X5.RightClick?!1:(r==null||r({event:n}),!0)}}];const hC={move:{name:"touchmove"},end:{name:"touchend"}};class uG extends S6{constructor(t){super(t,hC)}static setup(){return window.addEventListener(hC.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(hC.move.name,t)};function t(){}}}uG.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:i}=n;return i.length>1?!1:(r==null||r({event:n}),!0)}}];var Lp;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(Lp||(Lp={}));var w_;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(w_||(w_={}));function K8e(e){let{acceleration:t,activator:n=Lp.Pointer,canScroll:r,draggingRect:i,enabled:o,interval:s=5,order:a=w_.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:d,delta:f,threshold:p}=e;const g=Y8e({delta:f,disabled:!o}),[m,v]=i8e(),x=L.useRef({x:0,y:0}),_=L.useRef({x:0,y:0}),b=L.useMemo(()=>{switch(n){case Lp.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Lp.DraggableRect:return i}},[n,i,l]),y=L.useRef(null),S=L.useCallback(()=>{const T=y.current;if(!T)return;const E=x.current.x*_.current.x,P=x.current.y*_.current.y;T.scrollBy(E,P)},[]),C=L.useMemo(()=>a===w_.TreeOrder?[...u].reverse():u,[a,u]);L.useEffect(()=>{if(!o||!u.length||!b){v();return}for(const T of C){if((r==null?void 0:r(T))===!1)continue;const E=u.indexOf(T),P=d[E];if(!P)continue;const{direction:k,speed:O}=F8e(T,P,b,t,p);for(const M of["x","y"])g[M][k[M]]||(O[M]=0,k[M]=0);if(O.x>0||O.y>0){v(),y.current=T,m(S,s),x.current=O,_.current=k;return}}x.current={x:0,y:0},_.current={x:0,y:0},v()},[t,S,r,v,o,s,JSON.stringify(b),JSON.stringify(g),m,u,C,d,JSON.stringify(p)])}const X8e={x:{[fr.Backward]:!1,[fr.Forward]:!1},y:{[fr.Backward]:!1,[fr.Forward]:!1}};function Y8e(e){let{delta:t,disabled:n}=e;const r=__(t);return zm(i=>{if(n||!r||!i)return X8e;const o={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[fr.Backward]:i.x[fr.Backward]||o.x===-1,[fr.Forward]:i.x[fr.Forward]||o.x===1},y:{[fr.Backward]:i.y[fr.Backward]||o.y===-1,[fr.Forward]:i.y[fr.Forward]||o.y===1}}},[n,t,r])}function Q8e(e,t){const n=t!==null?e.get(t):void 0,r=n?n.node.current:null;return zm(i=>{var o;return t===null?null:(o=r??i)!=null?o:null},[r,t])}function Z8e(e,t){return L.useMemo(()=>e.reduce((n,r)=>{const{sensor:i}=r,o=i.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,r)}));return[...n,...o]},[]),[e,t])}var Xg;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(Xg||(Xg={}));var Y5;(function(e){e.Optimized="optimized"})(Y5||(Y5={}));const h7=new Map;function J8e(e,t){let{dragging:n,dependencies:r,config:i}=t;const[o,s]=L.useState(null),{frequency:a,measure:l,strategy:u}=i,d=L.useRef(e),f=x(),p=Wg(f),g=L.useCallback(function(_){_===void 0&&(_=[]),!p.current&&s(b=>b===null?_:b.concat(_.filter(y=>!b.includes(y))))},[p]),m=L.useRef(null),v=zm(_=>{if(f&&!n)return h7;if(!_||_===h7||d.current!==e||o!=null){const b=new Map;for(let y of e){if(!y)continue;if(o&&o.length>0&&!o.includes(y.id)&&y.rect.current){b.set(y.id,y.rect.current);continue}const S=y.node.current,C=S?new b6(l(S),S):null;y.rect.current=C,C&&b.set(y.id,C)}return b}return _},[e,o,n,f,l]);return L.useEffect(()=>{d.current=e},[e]),L.useEffect(()=>{f||g()},[n,f]),L.useEffect(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),L.useEffect(()=>{f||typeof a!="number"||m.current!==null||(m.current=setTimeout(()=>{g(),m.current=null},a))},[a,f,g,...r]),{droppableRects:v,measureDroppableContainers:g,measuringScheduled:o!=null};function x(){switch(u){case Xg.Always:return!1;case Xg.BeforeDragging:return n;default:return!n}}}function w6(e,t){return zm(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function e9e(e,t){return w6(e,t)}function t9e(e){let{callback:t,disabled:n}=e;const r=c2(t),i=L.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(r)},[r,n]);return L.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function f2(e){let{callback:t,disabled:n}=e;const r=c2(t),i=L.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return L.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function n9e(e){return new b6(Vm(e),e)}function p7(e,t,n){t===void 0&&(t=n9e);const[r,i]=L.useReducer(a,null),o=t9e({callback(l){if(e)for(const u of l){const{type:d,target:f}=u;if(d==="childList"&&f instanceof HTMLElement&&f.contains(e)){i();break}}}}),s=f2({callback:i});return $s(()=>{i(),e?(s==null||s.observe(e),o==null||o.observe(document.body,{childList:!0,subtree:!0})):(s==null||s.disconnect(),o==null||o.disconnect())},[e]),r;function a(l){if(!e)return null;if(e.isConnected===!1){var u;return(u=l??n)!=null?u:null}const d=t(e);return JSON.stringify(l)===JSON.stringify(d)?l:d}}function r9e(e){const t=w6(e);return Yj(e,t)}const g7=[];function i9e(e){const t=L.useRef(e),n=zm(r=>e?r&&r!==g7&&e&&t.current&&e.parentNode===t.current.parentNode?r:_6(e):g7,[e]);return L.useEffect(()=>{t.current=e},[e]),n}function o9e(e){const[t,n]=L.useState(null),r=L.useRef(e),i=L.useCallback(o=>{const s=dC(o.target);s&&n(a=>a?(a.set(s,K5(s)),new Map(a)):null)},[]);return L.useEffect(()=>{const o=r.current;if(e!==o){s(o);const a=e.map(l=>{const u=dC(l);return u?(u.addEventListener("scroll",i,{passive:!0}),[u,K5(u)]):null}).filter(l=>l!=null);n(a.length?new Map(a):null),r.current=e}return()=>{s(e),s(o)};function s(a){a.forEach(l=>{const u=dC(l);u==null||u.removeEventListener("scroll",i)})}},[i,e]),L.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,s)=>uf(o,s),ns):rG(e):ns,[e,t])}function m7(e,t){t===void 0&&(t=[]);const n=L.useRef(null);return L.useEffect(()=>{n.current=null},t),L.useEffect(()=>{const r=e!==ns;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?b_(e,n.current):ns}function s9e(e){L.useEffect(()=>{if(!u2)return;const t=e.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of t)n==null||n()}},e.map(t=>{let{sensor:n}=t;return n}))}function a9e(e,t){return L.useMemo(()=>e.reduce((n,r)=>{let{eventName:i,handler:o}=r;return n[i]=s=>{o(s,t)},n},{}),[e,t])}function cG(e){return L.useMemo(()=>e?N8e(e):null,[e])}const pC=[];function l9e(e,t){t===void 0&&(t=Vm);const[n]=e,r=cG(n?fi(n):null),[i,o]=L.useReducer(a,pC),s=f2({callback:o});return e.length>0&&i===pC&&o(),$s(()=>{e.length?e.forEach(l=>s==null?void 0:s.observe(l)):(s==null||s.disconnect(),o())},[e]),i;function a(){return e.length?e.map(l=>tG(l)?r:new b6(t(l),l)):pC}}function dG(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Um(t)?t:e}function u9e(e){let{measure:t}=e;const[n,r]=L.useState(null),i=L.useCallback(u=>{for(const{target:d}of u)if(Um(d)){r(f=>{const p=t(d);return f?{...f,width:p.width,height:p.height}:p});break}},[t]),o=f2({callback:i}),s=L.useCallback(u=>{const d=dG(u);o==null||o.disconnect(),d&&(o==null||o.observe(d)),r(d?t(d):null)},[t,o]),[a,l]=v_(s);return L.useMemo(()=>({nodeRef:a,rect:n,setRef:l}),[n,a,l])}const c9e=[{sensor:aG,options:{}},{sensor:sG,options:{}}],d9e={current:{}},Iv={draggable:{measure:u7},droppable:{measure:u7,strategy:Xg.WhileDragging,frequency:Y5.Optimized},dragOverlay:{measure:Vm}};class Dp extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,r;return(n=(r=this.get(t))==null?void 0:r.node.current)!=null?n:void 0}}const f9e={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Dp,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:S_},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Iv,measureDroppableContainers:S_,windowRect:null,measuringScheduled:!1},fG={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:S_,draggableNodes:new Map,over:null,measureDroppableContainers:S_},jm=L.createContext(fG),hG=L.createContext(f9e);function h9e(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Dp}}}function p9e(e,t){switch(t.type){case er.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case er.DragMove:return e.draggable.active?{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}}:e;case er.DragEnd:case er.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case er.RegisterDroppable:{const{element:n}=t,{id:r}=n,i=new Dp(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case er.SetDroppableDisabled:{const{id:n,key:r,disabled:i}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const s=new Dp(e.droppable.containers);return s.set(n,{...o,disabled:i}),{...e,droppable:{...e.droppable,containers:s}}}case er.UnregisterDroppable:{const{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const o=new Dp(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function g9e(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:i}=L.useContext(jm),o=__(r),s=__(n==null?void 0:n.id);return L.useEffect(()=>{if(!t&&!r&&o&&s!=null){if(!v6(o)||document.activeElement===o.target)return;const a=i.get(s);if(!a)return;const{activatorNode:l,node:u}=a;if(!l.current&&!u.current)return;requestAnimationFrame(()=>{for(const d of[l.current,u.current]){if(!d)continue;const f=a8e(d);if(f){f.focus();break}}})}},[r,t,i,s,o]),null}function pG(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((i,o)=>o({transform:i,...r}),n):n}function m9e(e){return L.useMemo(()=>({draggable:{...Iv.draggable,...e==null?void 0:e.draggable},droppable:{...Iv.droppable,...e==null?void 0:e.droppable},dragOverlay:{...Iv.dragOverlay,...e==null?void 0:e.dragOverlay}}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function y9e(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e;const o=L.useRef(!1),{x:s,y:a}=typeof i=="boolean"?{x:i,y:i}:i;$s(()=>{if(!s&&!a||!t){o.current=!1;return}if(o.current||!r)return;const u=t==null?void 0:t.node.current;if(!u||u.isConnected===!1)return;const d=n(u),f=Yj(d,r);if(s||(f.x=0),a||(f.y=0),o.current=!0,Math.abs(f.x)>0||Math.abs(f.y)>0){const p=Zj(u);p&&p.scrollBy({top:f.y,left:f.x})}},[t,s,a,r,n])}const h2=L.createContext({...ns,scaleX:1,scaleY:1});var hl;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(hl||(hl={}));const v9e=L.memo(function(t){var n,r,i,o;let{id:s,accessibility:a,autoScroll:l=!0,children:u,sensors:d=c9e,collisionDetection:f=E8e,measuring:p,modifiers:g,...m}=t;const v=L.useReducer(p9e,void 0,h9e),[x,_]=v,[b,y]=p8e(),[S,C]=L.useState(hl.Uninitialized),T=S===hl.Initialized,{draggable:{active:E,nodes:P,translate:k},droppable:{containers:O}}=x,M=E?P.get(E):null,G=L.useRef({initial:null,translated:null}),U=L.useMemo(()=>{var Xt;return E!=null?{id:E,data:(Xt=M==null?void 0:M.data)!=null?Xt:d9e,rect:G}:null},[E,M]),A=L.useRef(null),[N,F]=L.useState(null),[B,D]=L.useState(null),V=Wg(m,Object.values(m)),j=d2("DndDescribedBy",s),q=L.useMemo(()=>O.getEnabled(),[O]),Z=m9e(p),{droppableRects:ee,measureDroppableContainers:ie,measuringScheduled:se}=J8e(q,{dragging:T,dependencies:[k.x,k.y],config:Z.droppable}),le=Q8e(P,E),W=L.useMemo(()=>B?qg(B):null,[B]),ne=js(),fe=e9e(le,Z.draggable.measure);y9e({activeNode:E?P.get(E):null,config:ne.layoutShiftCompensation,initialRect:fe,measure:Z.draggable.measure});const pe=p7(le,Z.draggable.measure,fe),ve=p7(le?le.parentElement:null),ye=L.useRef({activatorEvent:null,active:null,activeNode:le,collisionRect:null,collisions:null,droppableRects:ee,draggableNodes:P,draggingNode:null,draggingNodeRect:null,droppableContainers:O,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),We=O.getNodeFor((n=ye.current.over)==null?void 0:n.id),Me=u9e({measure:Z.dragOverlay.measure}),Ee=(r=Me.nodeRef.current)!=null?r:le,lt=T?(i=Me.rect)!=null?i:pe:null,_e=!!(Me.nodeRef.current&&Me.rect),jt=r9e(_e?null:pe),Wn=cG(Ee?fi(Ee):null),Bt=i9e(T?We??le:null),it=l9e(Bt),mt=pG(g,{transform:{x:k.x-jt.x,y:k.y-jt.y,scaleX:1,scaleY:1},activatorEvent:B,active:U,activeNodeRect:pe,containerNodeRect:ve,draggingNodeRect:lt,over:ye.current.over,overlayNodeRect:Me.rect,scrollableAncestors:Bt,scrollableAncestorRects:it,windowRect:Wn}),Jt=W?uf(W,k):null,Mr=o9e(Bt),yr=m7(Mr),hi=m7(Mr,[pe]),wn=uf(mt,yr),on=lt?k8e(lt,mt):null,qn=U&&on?f({active:U,collisionRect:on,droppableRects:ee,droppableContainers:q,pointerCoordinates:Jt}):null,sn=C8e(qn,"id"),[Gt,vr]=L.useState(null),Nr=_e?mt:uf(mt,hi),Xr=R8e(Nr,(o=Gt==null?void 0:Gt.rect)!=null?o:null,pe),Ii=L.useCallback((Xt,kt)=>{let{sensor:Kn,options:$n}=kt;if(A.current==null)return;const or=P.get(A.current);if(!or)return;const _r=Xt.nativeEvent,br=new Kn({active:A.current,activeNode:or,event:_r,options:$n,context:ye,onStart(Sr){const Xn=A.current;if(Xn==null)return;const Mi=P.get(Xn);if(!Mi)return;const{onDragStart:os}=V.current,to={active:{id:Xn,data:Mi.data,rect:G}};bs.unstable_batchedUpdates(()=>{os==null||os(to),C(hl.Initializing),_({type:er.DragStart,initialCoordinates:Sr,active:Xn}),b({type:"onDragStart",event:to})})},onMove(Sr){_({type:er.DragMove,coordinates:Sr})},onEnd:eo(er.DragEnd),onCancel:eo(er.DragCancel)});bs.unstable_batchedUpdates(()=>{F(br),D(Xt.nativeEvent)});function eo(Sr){return async function(){const{active:Mi,collisions:os,over:to,scrollAdjustedTranslate:Va}=ye.current;let Ao=null;if(Mi&&Va){const{cancelDrop:wr}=V.current;Ao={activatorEvent:_r,active:Mi,collisions:os,delta:Va,over:to},Sr===er.DragEnd&&typeof wr=="function"&&await Promise.resolve(wr(Ao))&&(Sr=er.DragCancel)}A.current=null,bs.unstable_batchedUpdates(()=>{_({type:Sr}),C(hl.Uninitialized),vr(null),F(null),D(null);const wr=Sr===er.DragEnd?"onDragEnd":"onDragCancel";if(Ao){const Gs=V.current[wr];Gs==null||Gs(Ao),b({type:wr,event:Ao})}})}}},[P]),An=L.useCallback((Xt,kt)=>(Kn,$n)=>{const or=Kn.nativeEvent,_r=P.get($n);if(A.current!==null||!_r||or.dndKit||or.defaultPrevented)return;const br={active:_r};Xt(Kn,kt.options,br)===!0&&(or.dndKit={capturedBy:kt.sensor},A.current=$n,Ii(Kn,kt))},[P,Ii]),Yr=Z8e(d,An);s9e(d),$s(()=>{pe&&S===hl.Initializing&&C(hl.Initialized)},[pe,S]),L.useEffect(()=>{const{onDragMove:Xt}=V.current,{active:kt,activatorEvent:Kn,collisions:$n,over:or}=ye.current;if(!kt||!Kn)return;const _r={active:kt,activatorEvent:Kn,collisions:$n,delta:{x:wn.x,y:wn.y},over:or};bs.unstable_batchedUpdates(()=>{Xt==null||Xt(_r),b({type:"onDragMove",event:_r})})},[wn.x,wn.y]),L.useEffect(()=>{const{active:Xt,activatorEvent:kt,collisions:Kn,droppableContainers:$n,scrollAdjustedTranslate:or}=ye.current;if(!Xt||A.current==null||!kt||!or)return;const{onDragOver:_r}=V.current,br=$n.get(sn),eo=br&&br.rect.current?{id:br.id,rect:br.rect.current,data:br.data,disabled:br.disabled}:null,Sr={active:Xt,activatorEvent:kt,collisions:Kn,delta:{x:or.x,y:or.y},over:eo};bs.unstable_batchedUpdates(()=>{vr(eo),_r==null||_r(Sr),b({type:"onDragOver",event:Sr})})},[sn]),$s(()=>{ye.current={activatorEvent:B,active:U,activeNode:le,collisionRect:on,collisions:qn,droppableRects:ee,draggableNodes:P,draggingNode:Ee,draggingNodeRect:lt,droppableContainers:O,over:Gt,scrollableAncestors:Bt,scrollAdjustedTranslate:wn},G.current={initial:lt,translated:on}},[U,le,qn,on,P,Ee,lt,ee,O,Gt,Bt,wn]),K8e({...ne,delta:k,draggingRect:on,pointerCoordinates:Jt,scrollableAncestors:Bt,scrollableAncestorRects:it});const Vs=L.useMemo(()=>({active:U,activeNode:le,activeNodeRect:pe,activatorEvent:B,collisions:qn,containerNodeRect:ve,dragOverlay:Me,draggableNodes:P,droppableContainers:O,droppableRects:ee,over:Gt,measureDroppableContainers:ie,scrollableAncestors:Bt,scrollableAncestorRects:it,measuringConfiguration:Z,measuringScheduled:se,windowRect:Wn}),[U,le,pe,B,qn,ve,Me,P,O,ee,Gt,ie,Bt,it,Z,se,Wn]),Ji=L.useMemo(()=>({activatorEvent:B,activators:Yr,active:U,activeNodeRect:pe,ariaDescribedById:{draggable:j},dispatch:_,draggableNodes:P,over:Gt,measureDroppableContainers:ie}),[B,Yr,U,pe,_,j,P,Gt,ie]);return Lt.createElement(Xj.Provider,{value:y},Lt.createElement(jm.Provider,{value:Ji},Lt.createElement(hG.Provider,{value:Vs},Lt.createElement(h2.Provider,{value:Xr},u)),Lt.createElement(g9e,{disabled:(a==null?void 0:a.restoreFocus)===!1})),Lt.createElement(y8e,{...a,hiddenTextDescribedById:j}));function js(){const Xt=(N==null?void 0:N.autoScrollEnabled)===!1,kt=typeof l=="object"?l.enabled===!1:l===!1,Kn=T&&!Xt&&!kt;return typeof l=="object"?{...l,enabled:Kn}:{enabled:Kn}}}),_9e=L.createContext(null),y7="button",b9e="Droppable";function S9e(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e;const o=d2(b9e),{activators:s,activatorEvent:a,active:l,activeNodeRect:u,ariaDescribedById:d,draggableNodes:f,over:p}=L.useContext(jm),{role:g=y7,roleDescription:m="draggable",tabIndex:v=0}=i??{},x=(l==null?void 0:l.id)===t,_=L.useContext(x?h2:_9e),[b,y]=v_(),[S,C]=v_(),T=a9e(s,t),E=Wg(n);$s(()=>(f.set(t,{id:t,key:o,node:b,activatorNode:S,data:E}),()=>{const k=f.get(t);k&&k.key===o&&f.delete(t)}),[f,t]);const P=L.useMemo(()=>({role:g,tabIndex:v,"aria-disabled":r,"aria-pressed":x&&g===y7?!0:void 0,"aria-roledescription":m,"aria-describedby":d.draggable}),[r,g,v,x,m,d.draggable]);return{active:l,activatorEvent:a,activeNodeRect:u,attributes:P,isDragging:x,listeners:r?void 0:T,node:b,over:p,setNodeRef:y,setActivatorNodeRef:C,transform:_}}function w9e(){return L.useContext(hG)}const x9e="Droppable",C9e={timeout:25};function T9e(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e;const o=d2(x9e),{active:s,dispatch:a,over:l,measureDroppableContainers:u}=L.useContext(jm),d=L.useRef({disabled:n}),f=L.useRef(!1),p=L.useRef(null),g=L.useRef(null),{disabled:m,updateMeasurementsFor:v,timeout:x}={...C9e,...i},_=Wg(v??r),b=L.useCallback(()=>{if(!f.current){f.current=!0;return}g.current!=null&&clearTimeout(g.current),g.current=setTimeout(()=>{u(Array.isArray(_.current)?_.current:[_.current]),g.current=null},x)},[x]),y=f2({callback:b,disabled:m||!s}),S=L.useCallback((P,k)=>{y&&(k&&(y.unobserve(k),f.current=!1),P&&y.observe(P))},[y]),[C,T]=v_(S),E=Wg(t);return L.useEffect(()=>{!y||!C.current||(y.disconnect(),f.current=!1,y.observe(C.current))},[C,y]),$s(()=>(a({type:er.RegisterDroppable,element:{id:r,key:o,disabled:n,node:C,rect:p,data:E}}),()=>a({type:er.UnregisterDroppable,key:o,id:r})),[r]),L.useEffect(()=>{n!==d.current.disabled&&(a({type:er.SetDroppableDisabled,id:r,key:o,disabled:n}),d.current.disabled=n)},[r,o,n,a]),{active:s,rect:p,isOver:(l==null?void 0:l.id)===r,node:C,over:l,setNodeRef:T}}function E9e(e){let{animation:t,children:n}=e;const[r,i]=L.useState(null),[o,s]=L.useState(null),a=__(n);return!n&&!r&&a&&i(a),$s(()=>{if(!o)return;const l=r==null?void 0:r.key,u=r==null?void 0:r.props.id;if(l==null||u==null){i(null);return}Promise.resolve(t(u,o)).then(()=>{i(null)})},[t,r,o]),Lt.createElement(Lt.Fragment,null,n,r?L.cloneElement(r,{ref:s}):null)}const A9e={x:0,y:0,scaleX:1,scaleY:1};function P9e(e){let{children:t}=e;return Lt.createElement(jm.Provider,{value:fG},Lt.createElement(h2.Provider,{value:A9e},t))}const R9e={position:"fixed",touchAction:"none"},O9e=e=>v6(e)?"transform 250ms ease":void 0,k9e=L.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:o,className:s,rect:a,style:l,transform:u,transition:d=O9e}=e;if(!a)return null;const f=i?u:{...u,scaleX:1,scaleY:1},p={...R9e,width:a.width,height:a.height,top:a.top,left:a.left,transform:Kg.Transform.toString(f),transformOrigin:i&&r?b8e(r,a):void 0,transition:typeof d=="function"?d(r):d,...l};return Lt.createElement(n,{className:s,style:p,ref:t},o)}),I9e=e=>t=>{let{active:n,dragOverlay:r}=t;const i={},{styles:o,className:s}=e;if(o!=null&&o.active)for(const[a,l]of Object.entries(o.active))l!==void 0&&(i[a]=n.node.style.getPropertyValue(a),n.node.style.setProperty(a,l));if(o!=null&&o.dragOverlay)for(const[a,l]of Object.entries(o.dragOverlay))l!==void 0&&r.node.style.setProperty(a,l);return s!=null&&s.active&&n.node.classList.add(s.active),s!=null&&s.dragOverlay&&r.node.classList.add(s.dragOverlay),function(){for(const[l,u]of Object.entries(i))n.node.style.setProperty(l,u);s!=null&&s.active&&n.node.classList.remove(s.active)}},M9e=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Kg.Transform.toString(t)},{transform:Kg.Transform.toString(n)}]},N9e={duration:250,easing:"ease",keyframes:M9e,sideEffects:I9e({styles:{active:{opacity:"0"}}})};function L9e(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return c2((o,s)=>{if(t===null)return;const a=n.get(o);if(!a)return;const l=a.node.current;if(!l)return;const u=dG(s);if(!u)return;const{transform:d}=fi(s).getComputedStyle(s),f=Qj(d);if(!f)return;const p=typeof t=="function"?t:D9e(t);return iG(l,i.draggable.measure),p({active:{id:o,data:a.data,node:l,rect:i.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:s,rect:i.dragOverlay.measure(u)},droppableContainers:r,measuringConfiguration:i,transform:f})})}function D9e(e){const{duration:t,easing:n,sideEffects:r,keyframes:i}={...N9e,...e};return o=>{let{active:s,dragOverlay:a,transform:l,...u}=o;if(!t)return;const d={x:a.rect.left-s.rect.left,y:a.rect.top-s.rect.top},f={scaleX:l.scaleX!==1?s.rect.width*l.scaleX/a.rect.width:1,scaleY:l.scaleY!==1?s.rect.height*l.scaleY/a.rect.height:1},p={x:l.x-d.x,y:l.y-d.y,...f},g=i({...u,active:s,dragOverlay:a,transform:{initial:l,final:p}}),[m]=g,v=g[g.length-1];if(JSON.stringify(m)===JSON.stringify(v))return;const x=r==null?void 0:r({active:s,dragOverlay:a,...u}),_=a.node.animate(g,{duration:t,easing:n,fill:"forwards"});return new Promise(b=>{_.onfinish=()=>{x==null||x(),b()}})}}let v7=0;function $9e(e){return L.useMemo(()=>{if(e!=null)return v7++,v7},[e])}const F9e=Lt.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:o,modifiers:s,wrapperElement:a="div",className:l,zIndex:u=999}=e;const{activatorEvent:d,active:f,activeNodeRect:p,containerNodeRect:g,draggableNodes:m,droppableContainers:v,dragOverlay:x,over:_,measuringConfiguration:b,scrollableAncestors:y,scrollableAncestorRects:S,windowRect:C}=w9e(),T=L.useContext(h2),E=$9e(f==null?void 0:f.id),P=pG(s,{activatorEvent:d,active:f,activeNodeRect:p,containerNodeRect:g,draggingNodeRect:x.rect,over:_,overlayNodeRect:x.rect,scrollableAncestors:y,scrollableAncestorRects:S,transform:T,windowRect:C}),k=w6(p),O=L9e({config:r,draggableNodes:m,droppableContainers:v,measuringConfiguration:b}),M=k?x.setRef:void 0;return Lt.createElement(P9e,null,Lt.createElement(E9e,{animation:O},f&&E?Lt.createElement(k9e,{key:E,id:f.id,ref:M,as:a,activatorEvent:d,adjustScale:t,className:l,transition:o,rect:k,style:{zIndex:u,...i},transform:P},n):null))}),B9e=e=>{let{activatorEvent:t,draggingNodeRect:n,transform:r}=e;if(n&&t){const i=qg(t);if(!i)return r;const o=i.x-n.left,s=i.y-n.top;return{...r,x:r.x+o-n.width/2,y:r.y+s-n.height/2}}return r},U9e=()=>N$(),RMe=E$,X0=28,_7={w:X0,h:X0,maxW:X0,maxH:X0,shadow:"dark-lg",borderRadius:"lg",opacity:.3,bg:"base.800",color:"base.50",_dark:{borderColor:"base.200",bg:"base.900",color:"base.100"}},z9e=e=>{if(!e.dragData)return null;if(e.dragData.payloadType==="IMAGE_DTO"){const{thumbnail_url:t,width:n,height:r}=e.dragData.payload.imageDTO;return ue.jsx(p6,{sx:{position:"relative",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",userSelect:"none",cursor:"none"},children:ue.jsx(h6,{sx:{..._7},objectFit:"contain",src:t,width:n,height:r})})}return e.dragData.payloadType==="IMAGE_DTOS"?ue.jsxs(g6,{sx:{cursor:"none",userSelect:"none",position:"relative",alignItems:"center",justifyContent:"center",flexDir:"column",..._7},children:[ue.jsx(V5,{children:e.dragData.payload.imageDTOs.length}),ue.jsx(V5,{size:"sm",children:"Images"})]}):null},V9e=L.memo(z9e);function OMe(e){return T9e(e)}function kMe(e){return S9e(e)}const IMe=(e,t)=>{if(!e||!(t!=null&&t.data.current))return!1;const{actionType:n}=e,{payloadType:r}=t.data.current;if(e.id===t.data.current.id)return!1;switch(n){case"SET_CURRENT_IMAGE":return r==="IMAGE_DTO";case"SET_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_CONTROLNET_IMAGE":return r==="IMAGE_DTO";case"SET_CANVAS_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_NODES_IMAGE":return r==="IMAGE_DTO";case"SET_MULTI_NODES_IMAGE":return r==="IMAGE_DTO"||"IMAGE_DTOS";case"ADD_TO_BATCH":return r==="IMAGE_DTO"||"IMAGE_DTOS";case"ADD_TO_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_DTOS"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload,s=o.board_id??"none",a=e.context.boardId;return s!==a}return r==="IMAGE_DTOS"}case"REMOVE_FROM_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_DTOS"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload;return o.board_id!=="none"}return r==="IMAGE_DTOS"}default:return!1}};function j9e(e){return ue.jsx(v9e,{...e})}const G9e=e=>{const[t,n]=L.useState(null),r=Ie("images"),i=U9e(),o=L.useCallback(d=>{r.trace({dragData:d.active.data.current},"Drag started");const f=d.active.data.current;f&&n(f)},[r]),s=L.useCallback(d=>{var p;r.trace({dragData:d.active.data.current},"Drag ended");const f=(p=d.over)==null?void 0:p.data.current;!t||!f||(i(zU({overData:f,activeData:t})),n(null))},[t,i,r]),a=l7(lG,{activationConstraint:{distance:10}}),l=l7(uG,{activationConstraint:{distance:10}}),u=v8e(a,l);return ue.jsxs(j9e,{onDragStart:o,onDragEnd:s,sensors:u,collisionDetection:P8e,children:[e.children,ue.jsx(F9e,{dropAnimation:null,modifiers:[B9e],children:ue.jsx(APe,{children:t&&ue.jsx(_Pe.div,{layout:!0,initial:{opacity:0,scale:.7},animate:{opacity:1,scale:1,transition:{duration:.1}},children:ue.jsx(V9e,{dragData:t})},"overlay-drag-image")})})]})},H9e=L.memo(G9e),W9e=L.lazy(()=>NN(()=>import("./App-fd54b7b9.js"),["./App-fd54b7b9.js","./menu-e9f8a36e.js","./App-6125620a.css"],import.meta.url)),q9e=L.lazy(()=>NN(()=>import("./ThemeLocaleProvider-139ac716.js"),["./ThemeLocaleProvider-139ac716.js","./menu-e9f8a36e.js","./ThemeLocaleProvider-5b992bc7.css"],import.meta.url)),K9e=({apiUrl:e,token:t,config:n,headerComponent:r,middleware:i,projectId:o})=>(L.useEffect(()=>(t&&Sg.set(t),e&&wg.set(e),o&&S1.set(o),PU(),i&&i.length>0?Z3(Mk(),...i):Z3(Mk()),()=>{wg.set(void 0),Sg.set(void 0),S1.set(void 0)}),[e,t,i,o]),ue.jsx(Lt.StrictMode,{children:ue.jsx(yde,{store:BCe,children:ue.jsx(Lt.Suspense,{fallback:ue.jsx(LPe,{}),children:ue.jsx(q9e,{children:ue.jsx(H9e,{children:ue.jsx(W9e,{config:n,headerComponent:r})})})})})})),X9e=L.memo(K9e);gC.createRoot(document.getElementById("root")).render(ue.jsx(X9e,{}));export{CMe as $,L as A,ue as B,Eo as C,Nn as D,rf as E,qr as F,jo as G,Hge as H,Ri as I,Il as J,gs as K,LIe as L,aB as M,sme as N,Dme as O,Kge as P,tpe as Q,Af as R,ug as S,b5e as T,Pc as U,cc as V,aV as W,pMe as X,dMe as Y,APe as Z,_Pe as _,TL as a,WY as a$,pV as a0,Bj as a1,vV as a2,fMe as a3,hMe as a4,_5e as a5,v5e as a6,gMe as a7,Bu as a8,dc as a9,g6 as aA,V5 as aB,sMe as aC,Az as aD,Yke as aE,o5e as aF,VE as aG,eV as aH,a5e as aI,bs as aJ,PP as aK,jE as aL,E7e as aM,$ke as aN,Zke as aO,Jke as aP,OIe as aQ,PIe as aR,ku as aS,g_e as aT,DU as aU,u7e as aV,AIe as aW,UT as aX,pE as aY,$9 as aZ,tke as a_,A1 as aa,MJ as ab,Lt as ac,W4e as ad,xMe as ae,Sa as af,oV as ag,hAe as ah,vMe as ai,T5 as aj,cMe as ak,wMe as al,si as am,fE as an,nb as ao,RMe as ap,$Ie as aq,Cm as ar,VB as as,pU as at,Jb as au,U9e as av,h7e as aw,zn as ax,Ku as ay,p6 as az,lT as b,qke as b$,J9e as b0,Q9e as b1,Z9e as b2,He as b3,Vke as b4,oIe as b5,iIe as b6,Uke as b7,EIe as b8,PCe as b9,fRe as bA,BRe as bB,uRe as bC,TRe as bD,gRe as bE,X_e as bF,cRe as bG,NRe as bH,lRe as bI,GRe as bJ,hRe as bK,ERe as bL,pRe as bM,ARe as bN,_Re as bO,RRe as bP,K_e as bQ,mRe as bR,pO as bS,r7e as bT,i7e as bU,o7e as bV,bRe as bW,s7e as bX,SRe as bY,a7e as bZ,Re as b_,OMe as ba,IMe as bb,xIe as bc,Fke as bd,Bke as be,Wke as bf,M3 as bg,zke as bh,h6 as bi,MPe as bj,dOe as bk,bl,f0 as bm,wIe as bn,bIe as bo,TIe as bp,SIe as bq,Y9e as br,iRe as bs,oRe as bt,sRe as bu,aRe as bv,IRe as bw,MRe as bx,JIe as by,e7e as bz,Rte as c,Ie as c$,ofe as c0,l$ as c1,jOe as c2,r$ as c3,RIe as c4,kMe as c5,uMe as c6,UU as c7,Gke as c8,O1 as c9,gOe as cA,S7e as cB,Aue as cC,DIe as cD,f7e as cE,wT as cF,_Ie as cG,mIe as cH,yIe as cI,vIe as cJ,tOe as cK,HRe as cL,QRe as cM,kRe as cN,p7e as cO,mc as cP,m7e as cQ,fa as cR,rSe as cS,tc as cT,wRe as cU,Em as cV,F7e as cW,eRe as cX,t7e as cY,N7e as cZ,tMe as c_,CIe as ca,Hke as cb,F9 as cc,k1 as cd,oMe as ce,I7e as cf,uOe as cg,P7e as ch,jke as ci,Qke as cj,BT as ck,xT as cl,dRe as cm,mOe as cn,Kr as co,_7e as cp,R7e as cq,A7e as cr,q1e as cs,v7e as ct,w7e as cu,x7e as cv,Cue as cw,p1e as cx,g1e as cy,aOe as cz,yae as d,T7e as d$,YD as d0,K7e as d1,Hve as d2,ORe as d3,QD as d4,L7e as d5,vue as d6,B7e as d7,JD as d8,nOe as d9,vRe as dA,D7e as dB,dR as dC,dIe as dD,FT as dE,Qde as dF,_d as dG,fR as dH,fIe as dI,hIe as dJ,pIe as dK,Zde as dL,gIe as dM,fF as dN,lIe as dO,cIe as dP,sIe as dQ,gCe as dR,NO as dS,aIe as dT,ZRe as dU,JRe as dV,XRe as dW,YRe as dX,KRe as dY,Y7e as dZ,j7e as d_,Tue as da,Ss as db,PRe as dc,zRe as dd,rRe as de,lle as df,jRe as dg,n7e as dh,IIe as di,MIe as dj,bF as dk,$7e as dl,kIe as dm,bT as dn,rOe as dp,ZIe as dq,lSe as dr,oOe as ds,Se as dt,Ui as du,pn as dv,Rs as dw,M7e as dx,eOe as dy,ale as dz,TD as e,bOe as e$,V7e as e0,eMe as e1,X7e as e2,C7e as e3,H7e as e4,G7e as e5,U7e as e6,q7e as e7,nRe as e8,z7e as e9,VIe as eA,zIe as eB,jIe as eC,KIe as eD,Mye as eE,UB as eF,WU as eG,pQ as eH,rt as eI,lke as eJ,Ake as eK,Eke as eL,zOe as eM,yke as eN,Rke as eO,x_e as eP,MOe as eQ,rke as eR,tp as eS,JOe as eT,NOe as eU,nS as eV,nke as eW,OOe as eX,eke as eY,kOe as eZ,$Oe as e_,W7e as ea,tRe as eb,OB as ec,_T as ed,Q7e as ee,z1 as ef,Ne as eg,Z7e as eh,yU as ei,yRe as ej,J7e as ek,E$ as el,N$ as em,QIe as en,GIe as eo,HIe as ep,WIe as eq,aE as er,XIe as es,YIe as et,Ig as eu,rb as ev,UIe as ew,OCe as ex,FIe as ey,BIe as ez,ML as f,iMe as f$,_Oe as f0,vOe as f1,Pke as f2,o$ as f3,Sg as f4,TOe as f5,EOe as f6,AOe as f7,Tke as f8,BOe as f9,fke as fA,hke as fB,Nke as fC,bke as fD,Lke as fE,QOe as fF,YOe as fG,ROe as fH,POe as fI,Ike as fJ,VOe as fK,S_e as fL,v_e as fM,__e as fN,b_e as fO,xOe as fP,iOe as fQ,xue as fR,WRe as fS,COe as fT,KOe as fU,Mke as fV,LRe as fW,DRe as fX,$Re as fY,FRe as fZ,XOe as f_,FOe as fa,Gue as fb,Cke as fc,w_e as fd,LOe as fe,dCe as ff,pCe as fg,HOe as fh,WOe as fi,uke as fj,ake as fk,ike as fl,SOe as fm,wOe as fn,O7e as fo,k7e as fp,ZOe as fq,GOe as fr,cke as fs,mke as ft,dke as fu,UOe as fv,IOe as fw,xke as fx,wke as fy,pke as fz,cae as g,cOe as g0,e$ as g1,hOe as g2,fOe as g3,pOe as g4,ole as g5,h_e as g6,lMe as g7,sV as g8,SMe as g9,_Me as ga,mMe as gb,bMe as gc,Ts as gd,yMe as ge,aMe as gf,G4e as gg,D4e as gh,TMe as gi,AMe as gj,PMe as gk,VL as h,Pi as i,Uf as j,eb as k,gr as l,J_ as m,cm as n,es as o,nu as p,Q_ as q,Fs as r,fm as s,ox as t,iT as u,kL as v,fT as w,vD as x,NL as y,nle as z}; + `},y8e={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function v8e(e){let{announcements:t=y8e,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=m8e}=e;const{announce:o,announcement:s}=h8e(),a=d2("DndLiveRegion"),[l,u]=L.useState(!1);if(L.useEffect(()=>{u(!0)},[]),p8e(L.useMemo(()=>({onDragStart(f){let{active:p}=f;o(t.onDragStart({active:p}))},onDragMove(f){let{active:p,over:g}=f;t.onDragMove&&o(t.onDragMove({active:p,over:g}))},onDragOver(f){let{active:p,over:g}=f;o(t.onDragOver({active:p,over:g}))},onDragEnd(f){let{active:p,over:g}=f;o(t.onDragEnd({active:p,over:g}))},onDragCancel(f){let{active:p,over:g}=f;o(t.onDragCancel({active:p,over:g}))}}),[o,t])),!l)return null;const d=Lt.createElement(Lt.Fragment,null,Lt.createElement(c8e,{id:r,value:i.draggable}),Lt.createElement(f8e,{id:a,announcement:s}));return n?bs.createPortal(d,n):d}var er;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(er||(er={}));function S_(){}function l7(e,t){return L.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function _8e(){for(var e=arguments.length,t=new Array(e),n=0;n[...t].filter(r=>r!=null),[...t])}const ns=Object.freeze({x:0,y:0});function b8e(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function S8e(e,t){const n=qg(e);if(!n)return"0 0";const r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}function w8e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function x8e(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function C8e(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function T8e(e,t){if(!e||e.length===0)return null;const[n]=e;return t?n[t]:n}function E8e(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),o=Math.min(t.top+t.height,e.top+e.height),s=i-r,a=o-n;if(r{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=[];for(const o of r){const{id:s}=o,a=n.get(s);if(a){const l=E8e(a,t);l>0&&i.push({id:s,data:{droppableContainer:o,value:l}})}}return i.sort(x8e)};function P8e(e,t){const{top:n,left:r,bottom:i,right:o}=t;return n<=e.y&&e.y<=i&&r<=e.x&&e.x<=o}const R8e=e=>{let{droppableContainers:t,droppableRects:n,pointerCoordinates:r}=e;if(!r)return[];const i=[];for(const o of t){const{id:s}=o,a=n.get(s);if(a&&P8e(r,a)){const u=C8e(a).reduce((f,p)=>f+b8e(r,p),0),d=Number((u/4).toFixed(4));i.push({id:s,data:{droppableContainer:o,value:d}})}}return i.sort(w8e)};function O8e(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function Yj(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:ns}function k8e(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o({...s,top:s.top+e*a.y,bottom:s.bottom+e*a.y,left:s.left+e*a.x,right:s.right+e*a.x}),{...n})}}const I8e=k8e(1);function Qj(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function M8e(e,t,n){const r=Qj(t);if(!r)return e;const{scaleX:i,scaleY:o,x:s,y:a}=r,l=e.left-s-(1-i)*parseFloat(n),u=e.top-a-(1-o)*parseFloat(n.slice(n.indexOf(" ")+1)),d=i?e.width/i:e.width,f=o?e.height/o:e.height;return{width:d,height:f,top:u,right:l+d,bottom:u+f,left:l}}const N8e={ignoreTransform:!1};function Vm(e,t){t===void 0&&(t=N8e);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:u,transformOrigin:d}=hi(e).getComputedStyle(e);u&&(n=M8e(n,u,d))}const{top:r,left:i,width:o,height:s,bottom:a,right:l}=n;return{top:r,left:i,width:o,height:s,bottom:a,right:l}}function u7(e){return Vm(e,{ignoreTransform:!0})}function L8e(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function D8e(e,t){return t===void 0&&(t=hi(e).getComputedStyle(e)),t.position==="fixed"}function $8e(e,t){t===void 0&&(t=hi(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const o=t[i];return typeof o=="string"?n.test(o):!1})}function _6(e,t){const n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(y6(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Um(i)||i8e(i)||n.includes(i))return n;const o=hi(e).getComputedStyle(i);return i!==e&&$8e(i,o)&&n.push(i),D8e(i,o)?n:r(i.parentNode)}return e?r(e):n}function Zj(e){const[t]=_6(e,1);return t??null}function dC(e){return!u2||!e?null:Yf(e)?e:m6(e)?y6(e)||e===Qf(e).scrollingElement?window:Um(e)?e:null:null}function Jj(e){return Yf(e)?e.scrollX:e.scrollLeft}function eG(e){return Yf(e)?e.scrollY:e.scrollTop}function K5(e){return{x:Jj(e),y:eG(e)}}var fr;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(fr||(fr={}));function tG(e){return!u2||!e?!1:e===document.scrollingElement}function nG(e){const t={x:0,y:0},n=tG(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},i=e.scrollTop<=t.y,o=e.scrollLeft<=t.x,s=e.scrollTop>=r.y,a=e.scrollLeft>=r.x;return{isTop:i,isLeft:o,isBottom:s,isRight:a,maxScroll:r,minScroll:t}}const F8e={x:.2,y:.2};function B8e(e,t,n,r,i){let{top:o,left:s,right:a,bottom:l}=n;r===void 0&&(r=10),i===void 0&&(i=F8e);const{isTop:u,isBottom:d,isLeft:f,isRight:p}=nG(e),g={x:0,y:0},m={x:0,y:0},v={height:t.height*i.y,width:t.width*i.x};return!u&&o<=t.top+v.height?(g.y=fr.Backward,m.y=r*Math.abs((t.top+v.height-o)/v.height)):!d&&l>=t.bottom-v.height&&(g.y=fr.Forward,m.y=r*Math.abs((t.bottom-v.height-l)/v.height)),!p&&a>=t.right-v.width?(g.x=fr.Forward,m.x=r*Math.abs((t.right-v.width-a)/v.width)):!f&&s<=t.left+v.width&&(g.x=fr.Backward,m.x=r*Math.abs((t.left+v.width-s)/v.width)),{direction:g,speed:m}}function U8e(e){if(e===document.scrollingElement){const{innerWidth:o,innerHeight:s}=window;return{top:0,left:0,right:o,bottom:s,width:o,height:s}}const{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function rG(e){return e.reduce((t,n)=>uf(t,K5(n)),ns)}function z8e(e){return e.reduce((t,n)=>t+Jj(n),0)}function V8e(e){return e.reduce((t,n)=>t+eG(n),0)}function iG(e,t){if(t===void 0&&(t=Vm),!e)return;const{top:n,left:r,bottom:i,right:o}=t(e);Zj(e)&&(i<=0||o<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const j8e=[["x",["left","right"],z8e],["y",["top","bottom"],V8e]];class b6{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=_6(n),i=rG(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,s,a]of j8e)for(const l of s)Object.defineProperty(this,l,{get:()=>{const u=a(r),d=i[o]-u;return this.rect[l]+d},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Np{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=t}add(t,n,r){var i;(i=this.target)==null||i.addEventListener(t,n,r),this.listeners.push([t,n,r])}}function G8e(e){const{EventTarget:t}=hi(e);return e instanceof t?e:Qf(e)}function fC(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return typeof t=="number"?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t?r>t.y:!1}var po;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(po||(po={}));function c7(e){e.preventDefault()}function H8e(e){e.stopPropagation()}var Qt;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter"})(Qt||(Qt={}));const oG={start:[Qt.Space,Qt.Enter],cancel:[Qt.Esc],end:[Qt.Space,Qt.Enter]},W8e=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case Qt.Right:return{...n,x:n.x+25};case Qt.Left:return{...n,x:n.x-25};case Qt.Down:return{...n,y:n.y+25};case Qt.Up:return{...n,y:n.y-25}}};class sG{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:n}}=t;this.props=t,this.listeners=new Np(Qf(n)),this.windowListeners=new Np(hi(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(po.Resize,this.handleCancel),this.windowListeners.add(po.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(po.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&iG(r),n(ns)}handleKeyDown(t){if(v6(t)){const{active:n,context:r,options:i}=this.props,{keyboardCodes:o=oG,coordinateGetter:s=W8e,scrollBehavior:a="smooth"}=i,{code:l}=t;if(o.end.includes(l)){this.handleEnd(t);return}if(o.cancel.includes(l)){this.handleCancel(t);return}const{collisionRect:u}=r.current,d=u?{x:u.left,y:u.top}:ns;this.referenceCoordinates||(this.referenceCoordinates=d);const f=s(t,{active:n,context:r.current,currentCoordinates:d});if(f){const p=b_(f,d),g={x:0,y:0},{scrollableAncestors:m}=r.current;for(const v of m){const x=t.code,{isTop:_,isRight:b,isLeft:y,isBottom:S,maxScroll:C,minScroll:T}=nG(v),E=U8e(v),P={x:Math.min(x===Qt.Right?E.right-E.width/2:E.right,Math.max(x===Qt.Right?E.left:E.left+E.width/2,f.x)),y:Math.min(x===Qt.Down?E.bottom-E.height/2:E.bottom,Math.max(x===Qt.Down?E.top:E.top+E.height/2,f.y))},k=x===Qt.Right&&!b||x===Qt.Left&&!y,O=x===Qt.Down&&!S||x===Qt.Up&&!_;if(k&&P.x!==f.x){const M=v.scrollLeft+p.x,G=x===Qt.Right&&M<=C.x||x===Qt.Left&&M>=T.x;if(G&&!p.y){v.scrollTo({left:M,behavior:a});return}G?g.x=v.scrollLeft-M:g.x=x===Qt.Right?v.scrollLeft-C.x:v.scrollLeft-T.x,g.x&&v.scrollBy({left:-g.x,behavior:a});break}else if(O&&P.y!==f.y){const M=v.scrollTop+p.y,G=x===Qt.Down&&M<=C.y||x===Qt.Up&&M>=T.y;if(G&&!p.x){v.scrollTo({top:M,behavior:a});return}G?g.y=v.scrollTop-M:g.y=x===Qt.Down?v.scrollTop-C.y:v.scrollTop-T.y,g.y&&v.scrollBy({top:-g.y,behavior:a});break}}this.handleMove(t,uf(b_(f,this.referenceCoordinates),g))}}}handleMove(t,n){const{onMove:r}=this.props;t.preventDefault(),r(n)}handleEnd(t){const{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){const{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}sG.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=oG,onActivation:i}=t,{active:o}=n;const{code:s}=e.nativeEvent;if(r.start.includes(s)){const a=o.activatorNode.current;return a&&e.target!==a?!1:(e.preventDefault(),i==null||i({event:e.nativeEvent}),!0)}return!1}}];function d7(e){return!!(e&&"distance"in e)}function f7(e){return!!(e&&"delay"in e)}class S6{constructor(t,n,r){var i;r===void 0&&(r=G8e(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;const{event:o}=t,{target:s}=o;this.props=t,this.events=n,this.document=Qf(s),this.documentListeners=new Np(this.document),this.listeners=new Np(r),this.windowListeners=new Np(hi(s)),this.initialCoordinates=(i=qg(o))!=null?i:ns,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:n}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),this.windowListeners.add(po.Resize,this.handleCancel),this.windowListeners.add(po.DragStart,c7),this.windowListeners.add(po.VisibilityChange,this.handleCancel),this.windowListeners.add(po.ContextMenu,c7),this.documentListeners.add(po.Keydown,this.handleKeydown),n){if(d7(n))return;if(f7(n)){this.timeoutId=setTimeout(this.handleStart,n.delay);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(po.Click,H8e,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(po.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:r,initialCoordinates:i,props:o}=this,{onMove:s,options:{activationConstraint:a}}=o;if(!i)return;const l=(n=qg(t))!=null?n:ns,u=b_(i,l);if(!r&&a){if(f7(a))return fC(u,a.tolerance)?this.handleCancel():void 0;if(d7(a))return a.tolerance!=null&&fC(u,a.tolerance)?this.handleCancel():fC(u,a.distance)?this.handleStart():void 0}t.cancelable&&t.preventDefault(),s(l)}handleEnd(){const{onEnd:t}=this.props;this.detach(),t()}handleCancel(){const{onCancel:t}=this.props;this.detach(),t()}handleKeydown(t){t.code===Qt.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const q8e={move:{name:"pointermove"},end:{name:"pointerup"}};class aG extends S6{constructor(t){const{event:n}=t,r=Qf(n.target);super(t,q8e,r)}}aG.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r==null||r({event:n}),!0)}}];const K8e={move:{name:"mousemove"},end:{name:"mouseup"}};var X5;(function(e){e[e.RightClick=2]="RightClick"})(X5||(X5={}));class lG extends S6{constructor(t){super(t,K8e,Qf(t.event.target))}}lG.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===X5.RightClick?!1:(r==null||r({event:n}),!0)}}];const hC={move:{name:"touchmove"},end:{name:"touchend"}};class uG extends S6{constructor(t){super(t,hC)}static setup(){return window.addEventListener(hC.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(hC.move.name,t)};function t(){}}}uG.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:i}=n;return i.length>1?!1:(r==null||r({event:n}),!0)}}];var Lp;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(Lp||(Lp={}));var w_;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(w_||(w_={}));function X8e(e){let{acceleration:t,activator:n=Lp.Pointer,canScroll:r,draggingRect:i,enabled:o,interval:s=5,order:a=w_.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:d,delta:f,threshold:p}=e;const g=Q8e({delta:f,disabled:!o}),[m,v]=o8e(),x=L.useRef({x:0,y:0}),_=L.useRef({x:0,y:0}),b=L.useMemo(()=>{switch(n){case Lp.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Lp.DraggableRect:return i}},[n,i,l]),y=L.useRef(null),S=L.useCallback(()=>{const T=y.current;if(!T)return;const E=x.current.x*_.current.x,P=x.current.y*_.current.y;T.scrollBy(E,P)},[]),C=L.useMemo(()=>a===w_.TreeOrder?[...u].reverse():u,[a,u]);L.useEffect(()=>{if(!o||!u.length||!b){v();return}for(const T of C){if((r==null?void 0:r(T))===!1)continue;const E=u.indexOf(T),P=d[E];if(!P)continue;const{direction:k,speed:O}=B8e(T,P,b,t,p);for(const M of["x","y"])g[M][k[M]]||(O[M]=0,k[M]=0);if(O.x>0||O.y>0){v(),y.current=T,m(S,s),x.current=O,_.current=k;return}}x.current={x:0,y:0},_.current={x:0,y:0},v()},[t,S,r,v,o,s,JSON.stringify(b),JSON.stringify(g),m,u,C,d,JSON.stringify(p)])}const Y8e={x:{[fr.Backward]:!1,[fr.Forward]:!1},y:{[fr.Backward]:!1,[fr.Forward]:!1}};function Q8e(e){let{delta:t,disabled:n}=e;const r=__(t);return zm(i=>{if(n||!r||!i)return Y8e;const o={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[fr.Backward]:i.x[fr.Backward]||o.x===-1,[fr.Forward]:i.x[fr.Forward]||o.x===1},y:{[fr.Backward]:i.y[fr.Backward]||o.y===-1,[fr.Forward]:i.y[fr.Forward]||o.y===1}}},[n,t,r])}function Z8e(e,t){const n=t!==null?e.get(t):void 0,r=n?n.node.current:null;return zm(i=>{var o;return t===null?null:(o=r??i)!=null?o:null},[r,t])}function J8e(e,t){return L.useMemo(()=>e.reduce((n,r)=>{const{sensor:i}=r,o=i.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,r)}));return[...n,...o]},[]),[e,t])}var Xg;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(Xg||(Xg={}));var Y5;(function(e){e.Optimized="optimized"})(Y5||(Y5={}));const h7=new Map;function e9e(e,t){let{dragging:n,dependencies:r,config:i}=t;const[o,s]=L.useState(null),{frequency:a,measure:l,strategy:u}=i,d=L.useRef(e),f=x(),p=Wg(f),g=L.useCallback(function(_){_===void 0&&(_=[]),!p.current&&s(b=>b===null?_:b.concat(_.filter(y=>!b.includes(y))))},[p]),m=L.useRef(null),v=zm(_=>{if(f&&!n)return h7;if(!_||_===h7||d.current!==e||o!=null){const b=new Map;for(let y of e){if(!y)continue;if(o&&o.length>0&&!o.includes(y.id)&&y.rect.current){b.set(y.id,y.rect.current);continue}const S=y.node.current,C=S?new b6(l(S),S):null;y.rect.current=C,C&&b.set(y.id,C)}return b}return _},[e,o,n,f,l]);return L.useEffect(()=>{d.current=e},[e]),L.useEffect(()=>{f||g()},[n,f]),L.useEffect(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),L.useEffect(()=>{f||typeof a!="number"||m.current!==null||(m.current=setTimeout(()=>{g(),m.current=null},a))},[a,f,g,...r]),{droppableRects:v,measureDroppableContainers:g,measuringScheduled:o!=null};function x(){switch(u){case Xg.Always:return!1;case Xg.BeforeDragging:return n;default:return!n}}}function w6(e,t){return zm(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function t9e(e,t){return w6(e,t)}function n9e(e){let{callback:t,disabled:n}=e;const r=c2(t),i=L.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(r)},[r,n]);return L.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function f2(e){let{callback:t,disabled:n}=e;const r=c2(t),i=L.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return L.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function r9e(e){return new b6(Vm(e),e)}function p7(e,t,n){t===void 0&&(t=r9e);const[r,i]=L.useReducer(a,null),o=n9e({callback(l){if(e)for(const u of l){const{type:d,target:f}=u;if(d==="childList"&&f instanceof HTMLElement&&f.contains(e)){i();break}}}}),s=f2({callback:i});return $s(()=>{i(),e?(s==null||s.observe(e),o==null||o.observe(document.body,{childList:!0,subtree:!0})):(s==null||s.disconnect(),o==null||o.disconnect())},[e]),r;function a(l){if(!e)return null;if(e.isConnected===!1){var u;return(u=l??n)!=null?u:null}const d=t(e);return JSON.stringify(l)===JSON.stringify(d)?l:d}}function i9e(e){const t=w6(e);return Yj(e,t)}const g7=[];function o9e(e){const t=L.useRef(e),n=zm(r=>e?r&&r!==g7&&e&&t.current&&e.parentNode===t.current.parentNode?r:_6(e):g7,[e]);return L.useEffect(()=>{t.current=e},[e]),n}function s9e(e){const[t,n]=L.useState(null),r=L.useRef(e),i=L.useCallback(o=>{const s=dC(o.target);s&&n(a=>a?(a.set(s,K5(s)),new Map(a)):null)},[]);return L.useEffect(()=>{const o=r.current;if(e!==o){s(o);const a=e.map(l=>{const u=dC(l);return u?(u.addEventListener("scroll",i,{passive:!0}),[u,K5(u)]):null}).filter(l=>l!=null);n(a.length?new Map(a):null),r.current=e}return()=>{s(e),s(o)};function s(a){a.forEach(l=>{const u=dC(l);u==null||u.removeEventListener("scroll",i)})}},[i,e]),L.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,s)=>uf(o,s),ns):rG(e):ns,[e,t])}function m7(e,t){t===void 0&&(t=[]);const n=L.useRef(null);return L.useEffect(()=>{n.current=null},t),L.useEffect(()=>{const r=e!==ns;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?b_(e,n.current):ns}function a9e(e){L.useEffect(()=>{if(!u2)return;const t=e.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of t)n==null||n()}},e.map(t=>{let{sensor:n}=t;return n}))}function l9e(e,t){return L.useMemo(()=>e.reduce((n,r)=>{let{eventName:i,handler:o}=r;return n[i]=s=>{o(s,t)},n},{}),[e,t])}function cG(e){return L.useMemo(()=>e?L8e(e):null,[e])}const pC=[];function u9e(e,t){t===void 0&&(t=Vm);const[n]=e,r=cG(n?hi(n):null),[i,o]=L.useReducer(a,pC),s=f2({callback:o});return e.length>0&&i===pC&&o(),$s(()=>{e.length?e.forEach(l=>s==null?void 0:s.observe(l)):(s==null||s.disconnect(),o())},[e]),i;function a(){return e.length?e.map(l=>tG(l)?r:new b6(t(l),l)):pC}}function dG(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Um(t)?t:e}function c9e(e){let{measure:t}=e;const[n,r]=L.useState(null),i=L.useCallback(u=>{for(const{target:d}of u)if(Um(d)){r(f=>{const p=t(d);return f?{...f,width:p.width,height:p.height}:p});break}},[t]),o=f2({callback:i}),s=L.useCallback(u=>{const d=dG(u);o==null||o.disconnect(),d&&(o==null||o.observe(d)),r(d?t(d):null)},[t,o]),[a,l]=v_(s);return L.useMemo(()=>({nodeRef:a,rect:n,setRef:l}),[n,a,l])}const d9e=[{sensor:aG,options:{}},{sensor:sG,options:{}}],f9e={current:{}},Iv={draggable:{measure:u7},droppable:{measure:u7,strategy:Xg.WhileDragging,frequency:Y5.Optimized},dragOverlay:{measure:Vm}};class Dp extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,r;return(n=(r=this.get(t))==null?void 0:r.node.current)!=null?n:void 0}}const h9e={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Dp,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:S_},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Iv,measureDroppableContainers:S_,windowRect:null,measuringScheduled:!1},fG={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:S_,draggableNodes:new Map,over:null,measureDroppableContainers:S_},jm=L.createContext(fG),hG=L.createContext(h9e);function p9e(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Dp}}}function g9e(e,t){switch(t.type){case er.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case er.DragMove:return e.draggable.active?{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}}:e;case er.DragEnd:case er.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case er.RegisterDroppable:{const{element:n}=t,{id:r}=n,i=new Dp(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case er.SetDroppableDisabled:{const{id:n,key:r,disabled:i}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const s=new Dp(e.droppable.containers);return s.set(n,{...o,disabled:i}),{...e,droppable:{...e.droppable,containers:s}}}case er.UnregisterDroppable:{const{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const o=new Dp(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function m9e(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:i}=L.useContext(jm),o=__(r),s=__(n==null?void 0:n.id);return L.useEffect(()=>{if(!t&&!r&&o&&s!=null){if(!v6(o)||document.activeElement===o.target)return;const a=i.get(s);if(!a)return;const{activatorNode:l,node:u}=a;if(!l.current&&!u.current)return;requestAnimationFrame(()=>{for(const d of[l.current,u.current]){if(!d)continue;const f=l8e(d);if(f){f.focus();break}}})}},[r,t,i,s,o]),null}function pG(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((i,o)=>o({transform:i,...r}),n):n}function y9e(e){return L.useMemo(()=>({draggable:{...Iv.draggable,...e==null?void 0:e.draggable},droppable:{...Iv.droppable,...e==null?void 0:e.droppable},dragOverlay:{...Iv.dragOverlay,...e==null?void 0:e.dragOverlay}}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function v9e(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e;const o=L.useRef(!1),{x:s,y:a}=typeof i=="boolean"?{x:i,y:i}:i;$s(()=>{if(!s&&!a||!t){o.current=!1;return}if(o.current||!r)return;const u=t==null?void 0:t.node.current;if(!u||u.isConnected===!1)return;const d=n(u),f=Yj(d,r);if(s||(f.x=0),a||(f.y=0),o.current=!0,Math.abs(f.x)>0||Math.abs(f.y)>0){const p=Zj(u);p&&p.scrollBy({top:f.y,left:f.x})}},[t,s,a,r,n])}const h2=L.createContext({...ns,scaleX:1,scaleY:1});var hl;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(hl||(hl={}));const _9e=L.memo(function(t){var n,r,i,o;let{id:s,accessibility:a,autoScroll:l=!0,children:u,sensors:d=d9e,collisionDetection:f=A8e,measuring:p,modifiers:g,...m}=t;const v=L.useReducer(g9e,void 0,p9e),[x,_]=v,[b,y]=g8e(),[S,C]=L.useState(hl.Uninitialized),T=S===hl.Initialized,{draggable:{active:E,nodes:P,translate:k},droppable:{containers:O}}=x,M=E?P.get(E):null,G=L.useRef({initial:null,translated:null}),U=L.useMemo(()=>{var Xt;return E!=null?{id:E,data:(Xt=M==null?void 0:M.data)!=null?Xt:f9e,rect:G}:null},[E,M]),A=L.useRef(null),[N,F]=L.useState(null),[B,D]=L.useState(null),V=Wg(m,Object.values(m)),j=d2("DndDescribedBy",s),q=L.useMemo(()=>O.getEnabled(),[O]),Z=y9e(p),{droppableRects:ee,measureDroppableContainers:ie,measuringScheduled:se}=e9e(q,{dragging:T,dependencies:[k.x,k.y],config:Z.droppable}),le=Z8e(P,E),W=L.useMemo(()=>B?qg(B):null,[B]),ne=js(),fe=t9e(le,Z.draggable.measure);v9e({activeNode:E?P.get(E):null,config:ne.layoutShiftCompensation,initialRect:fe,measure:Z.draggable.measure});const pe=p7(le,Z.draggable.measure,fe),ve=p7(le?le.parentElement:null),ye=L.useRef({activatorEvent:null,active:null,activeNode:le,collisionRect:null,collisions:null,droppableRects:ee,draggableNodes:P,draggingNode:null,draggingNodeRect:null,droppableContainers:O,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),We=O.getNodeFor((n=ye.current.over)==null?void 0:n.id),Me=c9e({measure:Z.dragOverlay.measure}),Ee=(r=Me.nodeRef.current)!=null?r:le,lt=T?(i=Me.rect)!=null?i:pe:null,_e=!!(Me.nodeRef.current&&Me.rect),jt=i9e(_e?null:pe),Wn=cG(Ee?hi(Ee):null),Bt=o9e(T?We??le:null),it=u9e(Bt),mt=pG(g,{transform:{x:k.x-jt.x,y:k.y-jt.y,scaleX:1,scaleY:1},activatorEvent:B,active:U,activeNodeRect:pe,containerNodeRect:ve,draggingNodeRect:lt,over:ye.current.over,overlayNodeRect:Me.rect,scrollableAncestors:Bt,scrollableAncestorRects:it,windowRect:Wn}),Jt=W?uf(W,k):null,Mr=s9e(Bt),yr=m7(Mr),pi=m7(Mr,[pe]),wn=uf(mt,yr),on=lt?I8e(lt,mt):null,qn=U&&on?f({active:U,collisionRect:on,droppableRects:ee,droppableContainers:q,pointerCoordinates:Jt}):null,sn=T8e(qn,"id"),[Gt,vr]=L.useState(null),Nr=_e?mt:uf(mt,pi),Xr=O8e(Nr,(o=Gt==null?void 0:Gt.rect)!=null?o:null,pe),Ii=L.useCallback((Xt,kt)=>{let{sensor:Kn,options:$n}=kt;if(A.current==null)return;const or=P.get(A.current);if(!or)return;const _r=Xt.nativeEvent,br=new Kn({active:A.current,activeNode:or,event:_r,options:$n,context:ye,onStart(Sr){const Xn=A.current;if(Xn==null)return;const Mi=P.get(Xn);if(!Mi)return;const{onDragStart:os}=V.current,to={active:{id:Xn,data:Mi.data,rect:G}};bs.unstable_batchedUpdates(()=>{os==null||os(to),C(hl.Initializing),_({type:er.DragStart,initialCoordinates:Sr,active:Xn}),b({type:"onDragStart",event:to})})},onMove(Sr){_({type:er.DragMove,coordinates:Sr})},onEnd:eo(er.DragEnd),onCancel:eo(er.DragCancel)});bs.unstable_batchedUpdates(()=>{F(br),D(Xt.nativeEvent)});function eo(Sr){return async function(){const{active:Mi,collisions:os,over:to,scrollAdjustedTranslate:Va}=ye.current;let Ao=null;if(Mi&&Va){const{cancelDrop:wr}=V.current;Ao={activatorEvent:_r,active:Mi,collisions:os,delta:Va,over:to},Sr===er.DragEnd&&typeof wr=="function"&&await Promise.resolve(wr(Ao))&&(Sr=er.DragCancel)}A.current=null,bs.unstable_batchedUpdates(()=>{_({type:Sr}),C(hl.Uninitialized),vr(null),F(null),D(null);const wr=Sr===er.DragEnd?"onDragEnd":"onDragCancel";if(Ao){const Gs=V.current[wr];Gs==null||Gs(Ao),b({type:wr,event:Ao})}})}}},[P]),An=L.useCallback((Xt,kt)=>(Kn,$n)=>{const or=Kn.nativeEvent,_r=P.get($n);if(A.current!==null||!_r||or.dndKit||or.defaultPrevented)return;const br={active:_r};Xt(Kn,kt.options,br)===!0&&(or.dndKit={capturedBy:kt.sensor},A.current=$n,Ii(Kn,kt))},[P,Ii]),Yr=J8e(d,An);a9e(d),$s(()=>{pe&&S===hl.Initializing&&C(hl.Initialized)},[pe,S]),L.useEffect(()=>{const{onDragMove:Xt}=V.current,{active:kt,activatorEvent:Kn,collisions:$n,over:or}=ye.current;if(!kt||!Kn)return;const _r={active:kt,activatorEvent:Kn,collisions:$n,delta:{x:wn.x,y:wn.y},over:or};bs.unstable_batchedUpdates(()=>{Xt==null||Xt(_r),b({type:"onDragMove",event:_r})})},[wn.x,wn.y]),L.useEffect(()=>{const{active:Xt,activatorEvent:kt,collisions:Kn,droppableContainers:$n,scrollAdjustedTranslate:or}=ye.current;if(!Xt||A.current==null||!kt||!or)return;const{onDragOver:_r}=V.current,br=$n.get(sn),eo=br&&br.rect.current?{id:br.id,rect:br.rect.current,data:br.data,disabled:br.disabled}:null,Sr={active:Xt,activatorEvent:kt,collisions:Kn,delta:{x:or.x,y:or.y},over:eo};bs.unstable_batchedUpdates(()=>{vr(eo),_r==null||_r(Sr),b({type:"onDragOver",event:Sr})})},[sn]),$s(()=>{ye.current={activatorEvent:B,active:U,activeNode:le,collisionRect:on,collisions:qn,droppableRects:ee,draggableNodes:P,draggingNode:Ee,draggingNodeRect:lt,droppableContainers:O,over:Gt,scrollableAncestors:Bt,scrollAdjustedTranslate:wn},G.current={initial:lt,translated:on}},[U,le,qn,on,P,Ee,lt,ee,O,Gt,Bt,wn]),X8e({...ne,delta:k,draggingRect:on,pointerCoordinates:Jt,scrollableAncestors:Bt,scrollableAncestorRects:it});const Vs=L.useMemo(()=>({active:U,activeNode:le,activeNodeRect:pe,activatorEvent:B,collisions:qn,containerNodeRect:ve,dragOverlay:Me,draggableNodes:P,droppableContainers:O,droppableRects:ee,over:Gt,measureDroppableContainers:ie,scrollableAncestors:Bt,scrollableAncestorRects:it,measuringConfiguration:Z,measuringScheduled:se,windowRect:Wn}),[U,le,pe,B,qn,ve,Me,P,O,ee,Gt,ie,Bt,it,Z,se,Wn]),Ji=L.useMemo(()=>({activatorEvent:B,activators:Yr,active:U,activeNodeRect:pe,ariaDescribedById:{draggable:j},dispatch:_,draggableNodes:P,over:Gt,measureDroppableContainers:ie}),[B,Yr,U,pe,_,j,P,Gt,ie]);return Lt.createElement(Xj.Provider,{value:y},Lt.createElement(jm.Provider,{value:Ji},Lt.createElement(hG.Provider,{value:Vs},Lt.createElement(h2.Provider,{value:Xr},u)),Lt.createElement(m9e,{disabled:(a==null?void 0:a.restoreFocus)===!1})),Lt.createElement(v8e,{...a,hiddenTextDescribedById:j}));function js(){const Xt=(N==null?void 0:N.autoScrollEnabled)===!1,kt=typeof l=="object"?l.enabled===!1:l===!1,Kn=T&&!Xt&&!kt;return typeof l=="object"?{...l,enabled:Kn}:{enabled:Kn}}}),b9e=L.createContext(null),y7="button",S9e="Droppable";function w9e(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e;const o=d2(S9e),{activators:s,activatorEvent:a,active:l,activeNodeRect:u,ariaDescribedById:d,draggableNodes:f,over:p}=L.useContext(jm),{role:g=y7,roleDescription:m="draggable",tabIndex:v=0}=i??{},x=(l==null?void 0:l.id)===t,_=L.useContext(x?h2:b9e),[b,y]=v_(),[S,C]=v_(),T=l9e(s,t),E=Wg(n);$s(()=>(f.set(t,{id:t,key:o,node:b,activatorNode:S,data:E}),()=>{const k=f.get(t);k&&k.key===o&&f.delete(t)}),[f,t]);const P=L.useMemo(()=>({role:g,tabIndex:v,"aria-disabled":r,"aria-pressed":x&&g===y7?!0:void 0,"aria-roledescription":m,"aria-describedby":d.draggable}),[r,g,v,x,m,d.draggable]);return{active:l,activatorEvent:a,activeNodeRect:u,attributes:P,isDragging:x,listeners:r?void 0:T,node:b,over:p,setNodeRef:y,setActivatorNodeRef:C,transform:_}}function x9e(){return L.useContext(hG)}const C9e="Droppable",T9e={timeout:25};function E9e(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e;const o=d2(C9e),{active:s,dispatch:a,over:l,measureDroppableContainers:u}=L.useContext(jm),d=L.useRef({disabled:n}),f=L.useRef(!1),p=L.useRef(null),g=L.useRef(null),{disabled:m,updateMeasurementsFor:v,timeout:x}={...T9e,...i},_=Wg(v??r),b=L.useCallback(()=>{if(!f.current){f.current=!0;return}g.current!=null&&clearTimeout(g.current),g.current=setTimeout(()=>{u(Array.isArray(_.current)?_.current:[_.current]),g.current=null},x)},[x]),y=f2({callback:b,disabled:m||!s}),S=L.useCallback((P,k)=>{y&&(k&&(y.unobserve(k),f.current=!1),P&&y.observe(P))},[y]),[C,T]=v_(S),E=Wg(t);return L.useEffect(()=>{!y||!C.current||(y.disconnect(),f.current=!1,y.observe(C.current))},[C,y]),$s(()=>(a({type:er.RegisterDroppable,element:{id:r,key:o,disabled:n,node:C,rect:p,data:E}}),()=>a({type:er.UnregisterDroppable,key:o,id:r})),[r]),L.useEffect(()=>{n!==d.current.disabled&&(a({type:er.SetDroppableDisabled,id:r,key:o,disabled:n}),d.current.disabled=n)},[r,o,n,a]),{active:s,rect:p,isOver:(l==null?void 0:l.id)===r,node:C,over:l,setNodeRef:T}}function A9e(e){let{animation:t,children:n}=e;const[r,i]=L.useState(null),[o,s]=L.useState(null),a=__(n);return!n&&!r&&a&&i(a),$s(()=>{if(!o)return;const l=r==null?void 0:r.key,u=r==null?void 0:r.props.id;if(l==null||u==null){i(null);return}Promise.resolve(t(u,o)).then(()=>{i(null)})},[t,r,o]),Lt.createElement(Lt.Fragment,null,n,r?L.cloneElement(r,{ref:s}):null)}const P9e={x:0,y:0,scaleX:1,scaleY:1};function R9e(e){let{children:t}=e;return Lt.createElement(jm.Provider,{value:fG},Lt.createElement(h2.Provider,{value:P9e},t))}const O9e={position:"fixed",touchAction:"none"},k9e=e=>v6(e)?"transform 250ms ease":void 0,I9e=L.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:o,className:s,rect:a,style:l,transform:u,transition:d=k9e}=e;if(!a)return null;const f=i?u:{...u,scaleX:1,scaleY:1},p={...O9e,width:a.width,height:a.height,top:a.top,left:a.left,transform:Kg.Transform.toString(f),transformOrigin:i&&r?S8e(r,a):void 0,transition:typeof d=="function"?d(r):d,...l};return Lt.createElement(n,{className:s,style:p,ref:t},o)}),M9e=e=>t=>{let{active:n,dragOverlay:r}=t;const i={},{styles:o,className:s}=e;if(o!=null&&o.active)for(const[a,l]of Object.entries(o.active))l!==void 0&&(i[a]=n.node.style.getPropertyValue(a),n.node.style.setProperty(a,l));if(o!=null&&o.dragOverlay)for(const[a,l]of Object.entries(o.dragOverlay))l!==void 0&&r.node.style.setProperty(a,l);return s!=null&&s.active&&n.node.classList.add(s.active),s!=null&&s.dragOverlay&&r.node.classList.add(s.dragOverlay),function(){for(const[l,u]of Object.entries(i))n.node.style.setProperty(l,u);s!=null&&s.active&&n.node.classList.remove(s.active)}},N9e=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Kg.Transform.toString(t)},{transform:Kg.Transform.toString(n)}]},L9e={duration:250,easing:"ease",keyframes:N9e,sideEffects:M9e({styles:{active:{opacity:"0"}}})};function D9e(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return c2((o,s)=>{if(t===null)return;const a=n.get(o);if(!a)return;const l=a.node.current;if(!l)return;const u=dG(s);if(!u)return;const{transform:d}=hi(s).getComputedStyle(s),f=Qj(d);if(!f)return;const p=typeof t=="function"?t:$9e(t);return iG(l,i.draggable.measure),p({active:{id:o,data:a.data,node:l,rect:i.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:s,rect:i.dragOverlay.measure(u)},droppableContainers:r,measuringConfiguration:i,transform:f})})}function $9e(e){const{duration:t,easing:n,sideEffects:r,keyframes:i}={...L9e,...e};return o=>{let{active:s,dragOverlay:a,transform:l,...u}=o;if(!t)return;const d={x:a.rect.left-s.rect.left,y:a.rect.top-s.rect.top},f={scaleX:l.scaleX!==1?s.rect.width*l.scaleX/a.rect.width:1,scaleY:l.scaleY!==1?s.rect.height*l.scaleY/a.rect.height:1},p={x:l.x-d.x,y:l.y-d.y,...f},g=i({...u,active:s,dragOverlay:a,transform:{initial:l,final:p}}),[m]=g,v=g[g.length-1];if(JSON.stringify(m)===JSON.stringify(v))return;const x=r==null?void 0:r({active:s,dragOverlay:a,...u}),_=a.node.animate(g,{duration:t,easing:n,fill:"forwards"});return new Promise(b=>{_.onfinish=()=>{x==null||x(),b()}})}}let v7=0;function F9e(e){return L.useMemo(()=>{if(e!=null)return v7++,v7},[e])}const B9e=Lt.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:o,modifiers:s,wrapperElement:a="div",className:l,zIndex:u=999}=e;const{activatorEvent:d,active:f,activeNodeRect:p,containerNodeRect:g,draggableNodes:m,droppableContainers:v,dragOverlay:x,over:_,measuringConfiguration:b,scrollableAncestors:y,scrollableAncestorRects:S,windowRect:C}=x9e(),T=L.useContext(h2),E=F9e(f==null?void 0:f.id),P=pG(s,{activatorEvent:d,active:f,activeNodeRect:p,containerNodeRect:g,draggingNodeRect:x.rect,over:_,overlayNodeRect:x.rect,scrollableAncestors:y,scrollableAncestorRects:S,transform:T,windowRect:C}),k=w6(p),O=D9e({config:r,draggableNodes:m,droppableContainers:v,measuringConfiguration:b}),M=k?x.setRef:void 0;return Lt.createElement(R9e,null,Lt.createElement(A9e,{animation:O},f&&E?Lt.createElement(I9e,{key:E,id:f.id,ref:M,as:a,activatorEvent:d,adjustScale:t,className:l,transition:o,rect:k,style:{zIndex:u,...i},transform:P},n):null))}),U9e=e=>{let{activatorEvent:t,draggingNodeRect:n,transform:r}=e;if(n&&t){const i=qg(t);if(!i)return r;const o=i.x-n.left,s=i.y-n.top;return{...r,x:r.x+o-n.width/2,y:r.y+s-n.height/2}}return r},z9e=()=>N$(),OMe=E$,X0=28,_7={w:X0,h:X0,maxW:X0,maxH:X0,shadow:"dark-lg",borderRadius:"lg",opacity:.3,bg:"base.800",color:"base.50",_dark:{borderColor:"base.200",bg:"base.900",color:"base.100"}},V9e=e=>{if(!e.dragData)return null;if(e.dragData.payloadType==="IMAGE_DTO"){const{thumbnail_url:t,width:n,height:r}=e.dragData.payload.imageDTO;return ue.jsx(p6,{sx:{position:"relative",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",userSelect:"none",cursor:"none"},children:ue.jsx(h6,{sx:{..._7},objectFit:"contain",src:t,width:n,height:r})})}return e.dragData.payloadType==="IMAGE_DTOS"?ue.jsxs(g6,{sx:{cursor:"none",userSelect:"none",position:"relative",alignItems:"center",justifyContent:"center",flexDir:"column",..._7},children:[ue.jsx(V5,{children:e.dragData.payload.imageDTOs.length}),ue.jsx(V5,{size:"sm",children:"Images"})]}):null},j9e=L.memo(V9e);function kMe(e){return E9e(e)}function IMe(e){return w9e(e)}const MMe=(e,t)=>{if(!e||!(t!=null&&t.data.current))return!1;const{actionType:n}=e,{payloadType:r}=t.data.current;if(e.id===t.data.current.id)return!1;switch(n){case"SET_CURRENT_IMAGE":return r==="IMAGE_DTO";case"SET_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_CONTROLNET_IMAGE":return r==="IMAGE_DTO";case"SET_CANVAS_INITIAL_IMAGE":return r==="IMAGE_DTO";case"SET_NODES_IMAGE":return r==="IMAGE_DTO";case"SET_MULTI_NODES_IMAGE":return r==="IMAGE_DTO"||"IMAGE_DTOS";case"ADD_TO_BATCH":return r==="IMAGE_DTO"||"IMAGE_DTOS";case"ADD_TO_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_DTOS"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload,s=o.board_id??"none",a=e.context.boardId;return s!==a}return r==="IMAGE_DTOS"}case"REMOVE_FROM_BOARD":{if(!(r==="IMAGE_DTO"||"IMAGE_DTOS"))return!1;if(r==="IMAGE_DTO"){const{imageDTO:o}=t.data.current.payload;return o.board_id!=="none"}return r==="IMAGE_DTOS"}default:return!1}};function G9e(e){return ue.jsx(_9e,{...e})}const H9e=e=>{const[t,n]=L.useState(null),r=Ie("images"),i=z9e(),o=L.useCallback(d=>{r.trace({dragData:d.active.data.current},"Drag started");const f=d.active.data.current;f&&n(f)},[r]),s=L.useCallback(d=>{var p;r.trace({dragData:d.active.data.current},"Drag ended");const f=(p=d.over)==null?void 0:p.data.current;!t||!f||(i(zU({overData:f,activeData:t})),n(null))},[t,i,r]),a=l7(lG,{activationConstraint:{distance:10}}),l=l7(uG,{activationConstraint:{distance:10}}),u=_8e(a,l);return ue.jsxs(G9e,{onDragStart:o,onDragEnd:s,sensors:u,collisionDetection:R8e,children:[e.children,ue.jsx(B9e,{dropAnimation:null,modifiers:[U9e],children:ue.jsx(PPe,{children:t&&ue.jsx(bPe.div,{layout:!0,initial:{opacity:0,scale:.7},animate:{opacity:1,scale:1,transition:{duration:.1}},children:ue.jsx(j9e,{dragData:t})},"overlay-drag-image")})})]})},W9e=L.memo(H9e),q9e=L.lazy(()=>NN(()=>import("./App-0a099278.js"),["./App-0a099278.js","./menu-b4489359.js","./App-6125620a.css"],import.meta.url)),K9e=L.lazy(()=>NN(()=>import("./ThemeLocaleProvider-1a474d08.js"),["./ThemeLocaleProvider-1a474d08.js","./menu-b4489359.js","./ThemeLocaleProvider-5b992bc7.css"],import.meta.url)),X9e=({apiUrl:e,token:t,config:n,headerComponent:r,middleware:i,projectId:o})=>(L.useEffect(()=>(t&&Sg.set(t),e&&wg.set(e),o&&S1.set(o),PU(),i&&i.length>0?Z3(Mk(),...i):Z3(Mk()),()=>{wg.set(void 0),Sg.set(void 0),S1.set(void 0)}),[e,t,i,o]),ue.jsx(Lt.StrictMode,{children:ue.jsx(vde,{store:UCe,children:ue.jsx(Lt.Suspense,{fallback:ue.jsx(DPe,{}),children:ue.jsx(K9e,{children:ue.jsx(W9e,{children:ue.jsx(q9e,{config:n,headerComponent:r})})})})})})),Y9e=L.memo(X9e);gC.createRoot(document.getElementById("root")).render(ue.jsx(Y9e,{}));export{TMe as $,L as A,ue as B,Eo as C,Nn as D,rf as E,qr as F,jo as G,Wge as H,Ri as I,Il as J,gs as K,DIe as L,aB as M,ame as N,$me as O,Xge as P,npe as Q,Af as R,ug as S,S5e as T,Pc as U,cc as V,aV as W,gMe as X,fMe as Y,PPe as Z,bPe as _,TL as a,WY as a$,pV as a0,Bj as a1,vV as a2,hMe as a3,pMe as a4,b5e as a5,_5e as a6,mMe as a7,Bu as a8,dc as a9,g6 as aA,V5 as aB,aMe as aC,Az as aD,Qke as aE,s5e as aF,VE as aG,eV as aH,l5e as aI,bs as aJ,PP as aK,jE as aL,A7e as aM,Fke as aN,Jke as aO,eIe as aP,kIe as aQ,RIe as aR,ku as aS,m_e as aT,DU as aU,c7e as aV,PIe as aW,UT as aX,pE as aY,$9 as aZ,nke as a_,A1 as aa,MJ as ab,Lt as ac,q4e as ad,CMe as ae,Sa as af,oV as ag,pAe as ah,_Me as ai,T5 as aj,dMe as ak,xMe as al,si as am,fE as an,nb as ao,OMe as ap,FIe as aq,Cm as ar,VB as as,pU as at,Jb as au,z9e as av,p7e as aw,zn as ax,Ku as ay,p6 as az,lT as b,Kke as b$,eRe as b0,Z9e as b1,J9e as b2,He as b3,jke as b4,sIe as b5,oIe as b6,zke as b7,AIe as b8,RCe as b9,hRe as bA,URe as bB,cRe as bC,ERe as bD,mRe as bE,Y_e as bF,dRe as bG,LRe as bH,uRe as bI,HRe as bJ,pRe as bK,ARe as bL,gRe as bM,PRe as bN,bRe as bO,ORe as bP,X_e as bQ,yRe as bR,pO as bS,i7e as bT,o7e as bU,s7e as bV,SRe as bW,a7e as bX,wRe as bY,l7e as bZ,Re as b_,kMe as ba,MMe as bb,CIe as bc,Bke as bd,Uke as be,qke as bf,M3 as bg,Vke as bh,h6 as bi,NPe as bj,fOe as bk,bl,f0 as bm,xIe as bn,SIe as bo,EIe as bp,wIe as bq,Q9e as br,oRe as bs,sRe as bt,aRe as bu,lRe as bv,MRe as bw,NRe as bx,e7e as by,t7e as bz,Rte as c,Ie as c$,sfe as c0,l$ as c1,GOe as c2,r$ as c3,OIe as c4,IMe as c5,cMe as c6,UU as c7,Hke as c8,O1 as c9,mOe as cA,w7e as cB,Aue as cC,$Ie as cD,h7e as cE,wT as cF,bIe as cG,yIe as cH,vIe as cI,_Ie as cJ,nOe as cK,WRe as cL,ZRe as cM,IRe as cN,g7e as cO,mc as cP,y7e as cQ,fa as cR,iSe as cS,tc as cT,xRe as cU,Em as cV,B7e as cW,tRe as cX,n7e as cY,L7e as cZ,nMe as c_,TIe as ca,Wke as cb,F9 as cc,k1 as cd,sMe as ce,M7e as cf,cOe as cg,R7e as ch,Gke as ci,Zke as cj,BT as ck,xT as cl,fRe as cm,yOe as cn,Kr as co,b7e as cp,O7e as cq,P7e as cr,K1e as cs,_7e as ct,x7e as cu,C7e as cv,Cue as cw,g1e as cx,m1e as cy,lOe as cz,yae as d,E7e as d$,YD as d0,X7e as d1,Wve as d2,kRe as d3,QD as d4,D7e as d5,vue as d6,U7e as d7,JD as d8,rOe as d9,_Re as dA,$7e as dB,dR as dC,fIe as dD,FT as dE,Zde as dF,_d as dG,fR as dH,hIe as dI,pIe as dJ,gIe as dK,Jde as dL,mIe as dM,fF as dN,uIe as dO,dIe as dP,aIe as dQ,mCe as dR,NO as dS,lIe as dT,JRe as dU,eOe as dV,YRe as dW,QRe as dX,XRe as dY,Q7e as dZ,G7e as d_,Tue as da,Ss as db,RRe as dc,VRe as dd,iRe as de,lle as df,GRe as dg,r7e as dh,MIe as di,NIe as dj,bF as dk,F7e as dl,IIe as dm,bT as dn,iOe as dp,JIe as dq,uSe as dr,sOe as ds,Se as dt,Ui as du,pn as dv,Rs as dw,N7e as dx,tOe as dy,ale as dz,TD as e,SOe as e$,j7e as e0,tMe as e1,Y7e as e2,T7e as e3,W7e as e4,H7e as e5,z7e as e6,K7e as e7,rRe as e8,V7e as e9,jIe as eA,VIe as eB,GIe as eC,XIe as eD,Nye as eE,UB as eF,WU as eG,pQ as eH,rt as eI,uke as eJ,Pke as eK,Ake as eL,VOe as eM,vke as eN,Oke as eO,C_e as eP,NOe as eQ,ike as eR,tp as eS,eke as eT,LOe as eU,nS as eV,rke as eW,kOe as eX,tke as eY,IOe as eZ,FOe as e_,q7e as ea,nRe as eb,OB as ec,_T as ed,Z7e as ee,z1 as ef,Ne as eg,J7e as eh,yU as ei,vRe as ej,eMe as ek,E$ as el,N$ as em,ZIe as en,HIe as eo,WIe as ep,qIe as eq,aE as er,YIe as es,QIe as et,Ig as eu,rb as ev,zIe as ew,kCe as ex,BIe as ey,UIe as ez,ML as f,oMe as f$,bOe as f0,_Oe as f1,Rke as f2,o$ as f3,Sg as f4,EOe as f5,AOe as f6,POe as f7,Eke as f8,UOe as f9,hke as fA,pke as fB,Lke as fC,Ske as fD,Dke as fE,ZOe as fF,QOe as fG,OOe as fH,ROe as fI,Mke as fJ,jOe as fK,w_e as fL,__e as fM,b_e as fN,S_e as fO,COe as fP,oOe as fQ,xue as fR,qRe as fS,TOe as fT,XOe as fU,Nke as fV,DRe as fW,$Re as fX,FRe as fY,BRe as fZ,YOe as f_,BOe as fa,Hue as fb,Tke as fc,x_e as fd,DOe as fe,fCe as ff,gCe as fg,WOe as fh,qOe as fi,cke as fj,lke as fk,oke as fl,wOe as fm,xOe as fn,k7e as fo,I7e as fp,JOe as fq,HOe as fr,dke as fs,yke as ft,fke as fu,zOe as fv,MOe as fw,Cke as fx,xke as fy,gke as fz,cae as g,dOe as g0,e$ as g1,pOe as g2,hOe as g3,gOe as g4,ole as g5,p_e as g6,uMe as g7,sV as g8,wMe as g9,bMe as ga,yMe as gb,SMe as gc,Ts as gd,vMe as ge,lMe as gf,H4e as gg,$4e as gh,EMe as gi,PMe as gj,RMe as gk,VL as h,li as i,Uf as j,eb as k,gr as l,J_ as m,cm as n,es as o,nu as p,Q_ as q,Fs as r,fm as s,ox as t,iT as u,kL as v,fT as w,vD as x,NL as y,nle as z}; diff --git a/invokeai/frontend/web/dist/assets/menu-e9f8a36e.js b/invokeai/frontend/web/dist/assets/menu-b4489359.js similarity index 99% rename from invokeai/frontend/web/dist/assets/menu-e9f8a36e.js rename to invokeai/frontend/web/dist/assets/menu-b4489359.js index 13e0b949f7..db994ae22b 100644 --- a/invokeai/frontend/web/dist/assets/menu-e9f8a36e.js +++ b/invokeai/frontend/web/dist/assets/menu-b4489359.js @@ -1 +1 @@ -import{A as p,B as d,a5 as Z,aJ as xe,gi as We,_ as Be,V as j,a8 as q,U as z,W as R,a2 as _e,a1 as De,a0 as Ce,$ as Ge,Z as Ue,gj as Ve,gk as Ze,ac as A,g7 as D,gf as qe,g9 as Xe}from"./index-815faab3.js";function Je(e,t){return`${e} returned \`undefined\`. Seems you forgot to wrap component within ${t}`}function M(e={}){const{name:t,strict:r=!0,hookName:o="useContext",providerName:a="Provider",errorMessage:n,defaultValue:s}=e,i=p.createContext(s);i.displayName=t;function l(){var c;const u=p.useContext(i);if(!u&&r){const f=new Error(n??Je(o,a));throw f.name="ContextError",(c=Error.captureStackTrace)==null||c.call(Error,f,l),f}return u}return[i.Provider,l,i]}var[Ke,Ye]=M({strict:!1,name:"PortalManagerContext"});function Qe(e){const{children:t,zIndex:r}=e;return d.jsx(Ke,{value:{zIndex:r},children:t})}Qe.displayName="PortalManager";var[ke,et]=M({strict:!1,name:"PortalContext"}),J="chakra-portal",tt=".chakra-portal",rt=e=>d.jsx("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0},children:e.children}),nt=e=>{const{appendToParentPortal:t,children:r}=e,[o,a]=p.useState(null),n=p.useRef(null),[,s]=p.useState({});p.useEffect(()=>s({}),[]);const i=et(),l=Ye();Z(()=>{if(!o)return;const u=o.ownerDocument,f=t?i??u.body:u.body;if(!f)return;n.current=u.createElement("div"),n.current.className=J,f.appendChild(n.current),s({});const y=n.current;return()=>{f.contains(y)&&f.removeChild(y)}},[o]);const c=l!=null&&l.zIndex?d.jsx(rt,{zIndex:l==null?void 0:l.zIndex,children:r}):r;return n.current?xe.createPortal(d.jsx(ke,{value:n.current,children:c}),n.current):d.jsx("span",{ref:u=>{u&&a(u)}})},ot=e=>{const{children:t,containerRef:r,appendToParentPortal:o}=e,a=r.current,n=a??(typeof window<"u"?document.body:void 0),s=p.useMemo(()=>{const l=a==null?void 0:a.ownerDocument.createElement("div");return l&&(l.className=J),l},[a]),[,i]=p.useState({});return Z(()=>i({}),[]),Z(()=>{if(!(!s||!n))return n.appendChild(s),()=>{n.removeChild(s)}},[s,n]),n&&s?xe.createPortal(d.jsx(ke,{value:o?s:null,children:t}),s):null};function G(e){const t={appendToParentPortal:!0,...e},{containerRef:r,...o}=t;return r?d.jsx(ot,{containerRef:r,...o}):d.jsx(nt,{...o})}G.className=J;G.selector=tt;G.displayName="Portal";function m(e,t={}){let r=!1;function o(){if(!r){r=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function a(...u){o();for(const f of u)t[f]=l(f);return m(e,t)}function n(...u){for(const f of u)f in t||(t[f]=l(f));return m(e,t)}function s(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.selector]))}function i(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.className]))}function l(u){const g=`chakra-${(["container","root"].includes(u??"")?[e]:[e,u]).filter(Boolean).join("__")}`;return{className:g,selector:`.${g}`,toString:()=>u}}return{parts:a,toPart:l,extend:n,selectors:s,classnames:i,get keys(){return Object.keys(t)},__type:{}}}var Or=m("accordion").parts("root","container","button","panel").extend("icon"),zr=m("alert").parts("title","description","container").extend("icon","spinner"),Rr=m("avatar").parts("label","badge","container").extend("excessLabel","group"),Mr=m("breadcrumb").parts("link","item","container").extend("separator");m("button").parts();var Lr=m("checkbox").parts("control","icon","container").extend("label");m("progress").parts("track","filledTrack").extend("label");var Fr=m("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Hr=m("editable").parts("preview","input","textarea"),Wr=m("form").parts("container","requiredIndicator","helperText"),Br=m("formError").parts("text","icon"),Dr=m("input").parts("addon","field","element","group"),Gr=m("list").parts("container","item","icon"),at=m("menu").parts("button","list","item").extend("groupTitle","icon","command","divider"),Ur=m("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Vr=m("numberinput").parts("root","field","stepperGroup","stepper");m("pininput").parts("field");var Zr=m("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),qr=m("progress").parts("label","filledTrack","track"),Xr=m("radio").parts("container","control","label"),Jr=m("select").parts("field","icon"),Kr=m("slider").parts("container","track","thumb","filledTrack","mark"),Yr=m("stat").parts("container","label","helpText","number","icon"),Qr=m("switch").parts("container","track","thumb"),en=m("table").parts("table","thead","tbody","tr","th","td","tfoot","caption"),tn=m("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator"),rn=m("tag").parts("container","label","closeButton"),nn=m("card").parts("container","header","body","footer");function P(e,t){return r=>r.colorMode==="dark"?t:e}function on(e){const{orientation:t,vertical:r,horizontal:o}=e;return t?t==="vertical"?r:o:{}}var st=(e,t)=>e.find(r=>r.id===t);function re(e,t){const r=we(e,t),o=r?e[r].findIndex(a=>a.id===t):-1;return{position:r,index:o}}function we(e,t){for(const[r,o]of Object.entries(e))if(st(o,t))return r}function it(e){const t=e.includes("right"),r=e.includes("left");let o="center";return t&&(o="flex-end"),r&&(o="flex-start"),{display:"flex",flexDirection:"column",alignItems:o}}function lt(e){const r=e==="top"||e==="bottom"?"0 auto":void 0,o=e.includes("top")?"env(safe-area-inset-top, 0px)":void 0,a=e.includes("bottom")?"env(safe-area-inset-bottom, 0px)":void 0,n=e.includes("left")?void 0:"env(safe-area-inset-right, 0px)",s=e.includes("right")?void 0:"env(safe-area-inset-left, 0px)";return{position:"fixed",zIndex:"var(--toast-z-index, 5500)",pointerEvents:"none",display:"flex",flexDirection:"column",margin:r,top:o,bottom:a,right:n,left:s}}function ct(e,t=[]){const r=p.useRef(e);return p.useEffect(()=>{r.current=e}),p.useCallback((...o)=>{var a;return(a=r.current)==null?void 0:a.call(r,...o)},t)}function ut(e,t){const r=ct(e);p.useEffect(()=>{if(t==null)return;let o=null;return o=window.setTimeout(()=>{r()},t),()=>{o&&window.clearTimeout(o)}},[t,r])}function ne(e,t){const r=p.useRef(!1),o=p.useRef(!1);p.useEffect(()=>{if(r.current&&o.current)return e();o.current=!0},t),p.useEffect(()=>(r.current=!0,()=>{r.current=!1}),[])}var dt={initial:e=>{const{position:t}=e,r=["top","bottom"].includes(t)?"y":"x";let o=["top-right","bottom-right"].includes(t)?1:-1;return t==="bottom"&&(o=1),{opacity:0,[r]:o*24}},animate:{opacity:1,y:0,x:0,scale:1,transition:{duration:.4,ease:[.4,0,.2,1]}},exit:{opacity:0,scale:.85,transition:{duration:.2,ease:[.4,0,1,1]}}},Pe=p.memo(e=>{const{id:t,message:r,onCloseComplete:o,onRequestRemove:a,requestClose:n=!1,position:s="bottom",duration:i=5e3,containerStyle:l,motionVariants:c=dt,toastSpacing:u="0.5rem"}=e,[f,y]=p.useState(i),g=We();ne(()=>{g||o==null||o()},[g]),ne(()=>{y(i)},[i]);const h=()=>y(null),$=()=>y(i),S=()=>{g&&a()};p.useEffect(()=>{g&&n&&a()},[g,n,a]),ut(S,f);const H=p.useMemo(()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:u,...l}),[l,u]),N=p.useMemo(()=>it(s),[s]);return d.jsx(Be.div,{layout:!0,className:"chakra-toast",variants:c,initial:"initial",animate:"animate",exit:"exit",onHoverStart:h,onHoverEnd:$,custom:{position:s},style:N,children:d.jsx(j.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:H,children:q(r,{id:t,onClose:S})})})});Pe.displayName="ToastComponent";function ft(e,t){var r;const o=e??"bottom",n={"top-start":{ltr:"top-left",rtl:"top-right"},"top-end":{ltr:"top-right",rtl:"top-left"},"bottom-start":{ltr:"bottom-left",rtl:"bottom-right"},"bottom-end":{ltr:"bottom-right",rtl:"bottom-left"}}[o];return(r=n==null?void 0:n[t])!=null?r:o}var oe={path:d.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[d.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),d.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),d.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},L=z((e,t)=>{const{as:r,viewBox:o,color:a="currentColor",focusable:n=!1,children:s,className:i,__css:l,...c}=e,u=R("chakra-icon",i),f=_e("Icon",e),y={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:a,...l,...f},g={ref:t,focusable:n,className:u,__css:y},h=o??oe.viewBox;if(r&&typeof r!="string")return d.jsx(j.svg,{as:r,...g,...c});const $=s??oe.path;return d.jsx(j.svg,{verticalAlign:"middle",viewBox:h,...g,...c,children:$})});L.displayName="Icon";function pt(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm6.927,8.2-6.845,9.289a1.011,1.011,0,0,1-1.43.188L5.764,13.769a1,1,0,1,1,1.25-1.562l4.076,3.261,6.227-8.451A1,1,0,1,1,18.927,8.2Z"})})}function mt(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm.25,5a1.5,1.5,0,1,1-1.5,1.5A1.5,1.5,0,0,1,12.25,5ZM14.5,18.5h-4a1,1,0,0,1,0-2h.75a.25.25,0,0,0,.25-.25v-4.5a.25.25,0,0,0-.25-.25H10.5a1,1,0,0,1,0-2h1a2,2,0,0,1,2,2v4.75a.25.25,0,0,0,.25.25h.75a1,1,0,1,1,0,2Z"})})}function ae(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})}var[gt,K]=M({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[bt,Y]=M({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),Ae={info:{icon:mt,colorScheme:"blue"},warning:{icon:ae,colorScheme:"orange"},success:{icon:pt,colorScheme:"green"},error:{icon:ae,colorScheme:"red"},loading:{icon:De,colorScheme:"blue"}};function yt(e){return Ae[e].colorScheme}function vt(e){return Ae[e].icon}var je=z(function(t,r){const o=Y(),{status:a}=K(),n={display:"inline",...o.description};return d.jsx(j.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__desc",t.className),__css:n})});je.displayName="AlertDescription";function Ee(e){const{status:t}=K(),r=vt(t),o=Y(),a=t==="loading"?o.spinner:o.icon;return d.jsx(j.span,{display:"inherit","data-status":t,...e,className:R("chakra-alert__icon",e.className),__css:a,children:e.children||d.jsx(r,{h:"100%",w:"100%"})})}Ee.displayName="AlertIcon";var Ne=z(function(t,r){const o=Y(),{status:a}=K();return d.jsx(j.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__title",t.className),__css:o.title})});Ne.displayName="AlertTitle";var $e=z(function(t,r){var o;const{status:a="info",addRole:n=!0,...s}=Ce(t),i=(o=t.colorScheme)!=null?o:yt(a),l=Ge("Alert",{...t,colorScheme:i}),c={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...l.container};return d.jsx(gt,{value:{status:a},children:d.jsx(bt,{value:l,children:d.jsx(j.div,{"data-status":a,role:n?"alert":void 0,ref:r,...s,className:R("chakra-alert",t.className),__css:c})})})});$e.displayName="Alert";function ht(e){return d.jsx(L,{focusable:"false","aria-hidden":!0,...e,children:d.jsx("path",{fill:"currentColor",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"})})}var Te=z(function(t,r){const o=_e("CloseButton",t),{children:a,isDisabled:n,__css:s,...i}=Ce(t),l={outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0};return d.jsx(j.button,{type:"button","aria-label":"Close",ref:r,disabled:n,__css:{...l,...o,...s},...i,children:a||d.jsx(ht,{width:"1em",height:"1em"})})});Te.displayName="CloseButton";var St={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},C=xt(St);function xt(e){let t=e;const r=new Set,o=a=>{t=a(t),r.forEach(n=>n())};return{getState:()=>t,subscribe:a=>(r.add(a),()=>{o(()=>e),r.delete(a)}),removeToast:(a,n)=>{o(s=>({...s,[n]:s[n].filter(i=>i.id!=a)}))},notify:(a,n)=>{const s=_t(a,n),{position:i,id:l}=s;return o(c=>{var u,f;const g=i.includes("top")?[s,...(u=c[i])!=null?u:[]]:[...(f=c[i])!=null?f:[],s];return{...c,[i]:g}}),l},update:(a,n)=>{a&&o(s=>{const i={...s},{position:l,index:c}=re(i,a);return l&&c!==-1&&(i[l][c]={...i[l][c],...n,message:Ie(n)}),i})},closeAll:({positions:a}={})=>{o(n=>(a??["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce((l,c)=>(l[c]=n[c].map(u=>({...u,requestClose:!0})),l),{...n}))},close:a=>{o(n=>{const s=we(n,a);return s?{...n,[s]:n[s].map(i=>i.id==a?{...i,requestClose:!0}:i)}:n})},isActive:a=>!!re(C.getState(),a).position}}var se=0;function _t(e,t={}){var r,o;se+=1;const a=(r=t.id)!=null?r:se,n=(o=t.position)!=null?o:"bottom";return{id:a,message:e,position:n,duration:t.duration,onCloseComplete:t.onCloseComplete,onRequestRemove:()=>C.removeToast(String(a),n),status:t.status,requestClose:!1,containerStyle:t.containerStyle}}var Ct=e=>{const{status:t,variant:r="solid",id:o,title:a,isClosable:n,onClose:s,description:i,colorScheme:l,icon:c}=e,u=o?{root:`toast-${o}`,title:`toast-${o}-title`,description:`toast-${o}-description`}:void 0;return d.jsxs($e,{addRole:!1,status:t,variant:r,id:u==null?void 0:u.root,alignItems:"start",borderRadius:"md",boxShadow:"lg",paddingEnd:8,textAlign:"start",width:"auto",colorScheme:l,children:[d.jsx(Ee,{children:c}),d.jsxs(j.div,{flex:"1",maxWidth:"100%",children:[a&&d.jsx(Ne,{id:u==null?void 0:u.title,children:a}),i&&d.jsx(je,{id:u==null?void 0:u.description,display:"block",children:i})]}),n&&d.jsx(Te,{size:"sm",onClick:s,position:"absolute",insetEnd:1,top:1})]})};function Ie(e={}){const{render:t,toastComponent:r=Ct}=e;return a=>typeof t=="function"?t({...a,...e}):d.jsx(r,{...a,...e})}function an(e,t){const r=a=>{var n;return{...t,...a,position:ft((n=a==null?void 0:a.position)!=null?n:t==null?void 0:t.position,e)}},o=a=>{const n=r(a),s=Ie(n);return C.notify(s,n)};return o.update=(a,n)=>{C.update(a,r(n))},o.promise=(a,n)=>{const s=o({...n.loading,status:"loading",duration:null});a.then(i=>o.update(s,{status:"success",duration:5e3,...q(n.success,i)})).catch(i=>o.update(s,{status:"error",duration:5e3,...q(n.error,i)}))},o.closeAll=C.closeAll,o.close=C.close,o.isActive=C.isActive,o}var[sn,ln]=M({name:"ToastOptionsContext",strict:!1}),cn=e=>{const t=p.useSyncExternalStore(C.subscribe,C.getState,C.getState),{motionVariants:r,component:o=Pe,portalProps:a}=e,s=Object.keys(t).map(i=>{const l=t[i];return d.jsx("div",{role:"region","aria-live":"polite","aria-label":"Notifications",id:`chakra-toast-manager-${i}`,style:lt(i),children:d.jsx(Ue,{initial:!1,children:l.map(c=>d.jsx(o,{motionVariants:r,...c},c.id))})},i)});return d.jsx(G,{...a,children:s})};function kt(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),r=0;r()=>{if(e.isInitialized)t();else{const r=()=>{setTimeout(()=>{e.off("initialized",r)},0),t()};e.on("initialized",r)}};function le(e,t,r){e.loadNamespaces(t,Oe(e,r))}function ce(e,t,r,o){typeof r=="string"&&(r=[r]),r.forEach(a=>{e.options.ns.indexOf(a)<0&&e.options.ns.push(a)}),e.loadLanguages(t,Oe(e,o))}function wt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const o=t.languages[0],a=t.options?t.options.fallbackLng:!1,n=t.languages[t.languages.length-1];if(o.toLowerCase()==="cimode")return!0;const s=(i,l)=>{const c=t.services.backendConnector.state[`${i}|${l}`];return c===-1||c===2};return r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!s(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(o,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||s(o,e)&&(!a||s(n,e)))}function Pt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!t.languages||!t.languages.length?(X("i18n.languages were undefined or empty",t.languages),!0):t.options.ignoreJSONStructure!==void 0?t.hasLoadedNamespace(e,{lng:r.lng,precheck:(a,n)=>{if(r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&a.services.backendConnector.backend&&a.isLanguageChangingTo&&!n(a.isLanguageChangingTo,e))return!1}}):wt(e,t,r)}const At=p.createContext();class jt{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(r=>{this.usedNamespaces[r]||(this.usedNamespaces[r]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Et=(e,t)=>{const r=p.useRef();return p.useEffect(()=>{r.current=t?r.current:e},[e,t]),r.current};function un(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:r}=t,{i18n:o,defaultNS:a}=p.useContext(At)||{},n=r||o||Ze();if(n&&!n.reportNamespaces&&(n.reportNamespaces=new jt),!n){X("You will need to pass in an i18next instance by using initReactI18next");const v=(w,x)=>typeof x=="string"?x:x&&typeof x=="object"&&typeof x.defaultValue=="string"?x.defaultValue:Array.isArray(w)?w[w.length-1]:w,k=[v,{},!1];return k.t=v,k.i18n={},k.ready=!1,k}n.options.react&&n.options.react.wait!==void 0&&X("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...Ve(),...n.options.react,...t},{useSuspense:i,keyPrefix:l}=s;let c=e||a||n.options&&n.options.defaultNS;c=typeof c=="string"?[c]:c||["translation"],n.reportNamespaces.addUsedNamespaces&&n.reportNamespaces.addUsedNamespaces(c);const u=(n.isInitialized||n.initializedStoreOnce)&&c.every(v=>Pt(v,n,s));function f(){return n.getFixedT(t.lng||null,s.nsMode==="fallback"?c:c[0],l)}const[y,g]=p.useState(f);let h=c.join();t.lng&&(h=`${t.lng}${h}`);const $=Et(h),S=p.useRef(!0);p.useEffect(()=>{const{bindI18n:v,bindI18nStore:k}=s;S.current=!0,!u&&!i&&(t.lng?ce(n,t.lng,c,()=>{S.current&&g(f)}):le(n,c,()=>{S.current&&g(f)})),u&&$&&$!==h&&S.current&&g(f);function w(){S.current&&g(f)}return v&&n&&n.on(v,w),k&&n&&n.store.on(k,w),()=>{S.current=!1,v&&n&&v.split(" ").forEach(x=>n.off(x,w)),k&&n&&k.split(" ").forEach(x=>n.store.off(x,w))}},[n,h]);const H=p.useRef(!0);p.useEffect(()=>{S.current&&!H.current&&g(f),H.current=!1},[n,l]);const N=[y,n,u];if(N.t=y,N.i18n=n,N.ready=u,u||!u&&!i)return N;throw new Promise(v=>{t.lng?ce(n,t.lng,c,()=>v()):le(n,c,()=>v())})}const Nt={dark:["#C1C2C5","#A6A7AB","#909296","#5c5f66","#373A40","#2C2E33","#25262b","#1A1B1E","#141517","#101113"],gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]};function $t(e){return()=>({fontFamily:e.fontFamily||"sans-serif"})}var Tt=Object.defineProperty,ue=Object.getOwnPropertySymbols,It=Object.prototype.hasOwnProperty,Ot=Object.prototype.propertyIsEnumerable,de=(e,t,r)=>t in e?Tt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fe=(e,t)=>{for(var r in t||(t={}))It.call(t,r)&&de(e,r,t[r]);if(ue)for(var r of ue(t))Ot.call(t,r)&&de(e,r,t[r]);return e};function zt(e){return t=>({WebkitTapHighlightColor:"transparent",[t||"&:focus"]:fe({},e.focusRing==="always"||e.focusRing==="auto"?e.focusRingStyles.styles(e):e.focusRingStyles.resetStyles(e)),[t?t.replace(":focus",":focus:not(:focus-visible)"):"&:focus:not(:focus-visible)"]:fe({},e.focusRing==="auto"||e.focusRing==="never"?e.focusRingStyles.resetStyles(e):null)})}function F(e){return t=>typeof e.primaryShade=="number"?e.primaryShade:e.primaryShade[t||e.colorScheme]}function Q(e){const t=F(e);return(r,o,a=!0,n=!0)=>{if(typeof r=="string"&&r.includes(".")){const[i,l]=r.split("."),c=parseInt(l,10);if(i in e.colors&&c>=0&&c<10)return e.colors[i][typeof o=="number"&&!n?o:c]}const s=typeof o=="number"?o:t();return r in e.colors?e.colors[r][s]:a?e.colors[e.primaryColor][s]:r}}function ze(e){let t="";for(let r=1;r{const a={from:(o==null?void 0:o.from)||e.defaultGradient.from,to:(o==null?void 0:o.to)||e.defaultGradient.to,deg:(o==null?void 0:o.deg)||e.defaultGradient.deg};return`linear-gradient(${a.deg}deg, ${t(a.from,r(),!1)} 0%, ${t(a.to,r(),!1)} 100%)`}}function Me(e){return t=>{if(typeof t=="number")return`${t/16}${e}`;if(typeof t=="string"){const r=t.replace("px","");if(!Number.isNaN(Number(r)))return`${Number(r)/16}${e}`}return t}}const E=Me("rem"),U=Me("em");function Le({size:e,sizes:t,units:r}){return e in t?t[e]:typeof e=="number"?r==="em"?U(e):E(e):e||t.md}function W(e){return typeof e=="number"?e:typeof e=="string"&&e.includes("rem")?Number(e.replace("rem",""))*16:typeof e=="string"&&e.includes("em")?Number(e.replace("em",""))*16:Number(e)}function Lt(e){return t=>`@media (min-width: ${U(W(Le({size:t,sizes:e.breakpoints})))})`}function Ft(e){return t=>`@media (max-width: ${U(W(Le({size:t,sizes:e.breakpoints}))-1)})`}function Ht(e){return/^#?([0-9A-F]{3}){1,2}$/i.test(e)}function Wt(e){let t=e.replace("#","");if(t.length===3){const s=t.split("");t=[s[0],s[0],s[1],s[1],s[2],s[2]].join("")}const r=parseInt(t,16),o=r>>16&255,a=r>>8&255,n=r&255;return{r:o,g:a,b:n,a:1}}function Bt(e){const[t,r,o,a]=e.replace(/[^0-9,.]/g,"").split(",").map(Number);return{r:t,g:r,b:o,a:a||1}}function ee(e){return Ht(e)?Wt(e):e.startsWith("rgb")?Bt(e):{r:0,g:0,b:0,a:1}}function T(e,t){if(typeof e!="string"||t>1||t<0)return"rgba(0, 0, 0, 1)";if(e.startsWith("var(--"))return e;const{r,g:o,b:a}=ee(e);return`rgba(${r}, ${o}, ${a}, ${t})`}function Dt(e=0){return{position:"absolute",top:E(e),right:E(e),left:E(e),bottom:E(e)}}function Gt(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=1-t,i=l=>Math.round(l*s);return`rgba(${i(r)}, ${i(o)}, ${i(a)}, ${n})`}function Ut(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=i=>Math.round(i+(255-i)*t);return`rgba(${s(r)}, ${s(o)}, ${s(a)}, ${n})`}function Vt(e){return t=>{if(typeof t=="number")return E(t);const r=typeof e.defaultRadius=="number"?e.defaultRadius:e.radius[e.defaultRadius]||e.defaultRadius;return e.radius[t]||t||r}}function Zt(e,t){if(typeof e=="string"&&e.includes(".")){const[r,o]=e.split("."),a=parseInt(o,10);if(r in t.colors&&a>=0&&a<10)return{isSplittedColor:!0,key:r,shade:a}}return{isSplittedColor:!1}}function qt(e){const t=Q(e),r=F(e),o=Re(e);return({variant:a,color:n,gradient:s,primaryFallback:i})=>{const l=Zt(n,e);switch(a){case"light":return{border:"transparent",background:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1),color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?7:1,i,!1),e.colorScheme==="dark"?.25:.65)};case"subtle":return{border:"transparent",background:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1)};case"outline":return{border:t(n,e.colorScheme==="dark"?5:r("light")),background:"transparent",color:t(n,e.colorScheme==="dark"?5:r("light")),hover:e.colorScheme==="dark"?T(t(n,5,i,!1),.05):T(t(n,0,i,!1),.35)};case"default":return{border:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4],background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,color:e.colorScheme==="dark"?e.white:e.black,hover:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[0]};case"white":return{border:"transparent",background:e.white,color:t(n,r()),hover:null};case"transparent":return{border:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),background:"transparent",hover:null};case"gradient":return{background:o(s),color:e.white,border:"transparent",hover:null};default:{const c=r(),u=l.isSplittedColor?l.shade:c,f=l.isSplittedColor?l.key:n;return{border:"transparent",background:t(f,u,i),color:e.white,hover:t(f,u===9?8:u+1)}}}}}function Xt(e){return t=>{const r=F(e)(t);return e.colors[e.primaryColor][r]}}function Jt(e){return{"@media (hover: hover)":{"&:hover":e},"@media (hover: none)":{"&:active":e}}}function Kt(e){return()=>({userSelect:"none",color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]})}function Yt(e){return()=>e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6]}const b={fontStyles:$t,themeColor:Q,focusStyles:zt,linearGradient:Rt,radialGradient:Mt,smallerThan:Ft,largerThan:Lt,rgba:T,cover:Dt,darken:Gt,lighten:Ut,radius:Vt,variant:qt,primaryShade:F,hover:Jt,gradient:Re,primaryColor:Xt,placeholderStyles:Kt,dimmed:Yt};var Qt=Object.defineProperty,er=Object.defineProperties,tr=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,rr=Object.prototype.hasOwnProperty,nr=Object.prototype.propertyIsEnumerable,me=(e,t,r)=>t in e?Qt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,or=(e,t)=>{for(var r in t||(t={}))rr.call(t,r)&&me(e,r,t[r]);if(pe)for(var r of pe(t))nr.call(t,r)&&me(e,r,t[r]);return e},ar=(e,t)=>er(e,tr(t));function Fe(e){return ar(or({},e),{fn:{fontStyles:b.fontStyles(e),themeColor:b.themeColor(e),focusStyles:b.focusStyles(e),largerThan:b.largerThan(e),smallerThan:b.smallerThan(e),radialGradient:b.radialGradient,linearGradient:b.linearGradient,gradient:b.gradient(e),rgba:b.rgba,cover:b.cover,lighten:b.lighten,darken:b.darken,primaryShade:b.primaryShade(e),radius:b.radius(e),variant:b.variant(e),hover:b.hover,primaryColor:b.primaryColor(e),placeholderStyles:b.placeholderStyles(e),dimmed:b.dimmed(e)}})}const sr={dir:"ltr",primaryShade:{light:6,dark:8},focusRing:"auto",loader:"oval",colorScheme:"light",white:"#fff",black:"#000",defaultRadius:"sm",transitionTimingFunction:"ease",colors:Nt,lineHeight:1.55,fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontFamilyMonospace:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace",primaryColor:"blue",respectReducedMotion:!0,cursorType:"default",defaultGradient:{from:"indigo",to:"cyan",deg:45},shadows:{xs:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.1)",sm:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 0.625rem 0.9375rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.4375rem 0.4375rem -0.3125rem",md:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.25rem 1.5625rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.625rem 0.625rem -0.3125rem",lg:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.75rem 1.4375rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 0.75rem 0.75rem -0.4375rem",xl:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 2.25rem 1.75rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 1.0625rem 1.0625rem -0.4375rem"},fontSizes:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},radius:{xs:"0.125rem",sm:"0.25rem",md:"0.5rem",lg:"1rem",xl:"2rem"},spacing:{xs:"0.625rem",sm:"0.75rem",md:"1rem",lg:"1.25rem",xl:"1.5rem"},breakpoints:{xs:"36em",sm:"48em",md:"62em",lg:"75em",xl:"88em"},headings:{fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontWeight:700,sizes:{h1:{fontSize:"2.125rem",lineHeight:1.3,fontWeight:void 0},h2:{fontSize:"1.625rem",lineHeight:1.35,fontWeight:void 0},h3:{fontSize:"1.375rem",lineHeight:1.4,fontWeight:void 0},h4:{fontSize:"1.125rem",lineHeight:1.45,fontWeight:void 0},h5:{fontSize:"1rem",lineHeight:1.5,fontWeight:void 0},h6:{fontSize:"0.875rem",lineHeight:1.5,fontWeight:void 0}}},other:{},components:{},activeStyles:{transform:"translateY(0.0625rem)"},datesLocale:"en",globalStyles:void 0,focusRingStyles:{styles:e=>({outlineOffset:"0.125rem",outline:`0.125rem solid ${e.colors[e.primaryColor][e.colorScheme==="dark"?7:5]}`}),resetStyles:()=>({outline:"none"}),inputStyles:e=>({outline:"none",borderColor:e.colors[e.primaryColor][typeof e.primaryShade=="object"?e.primaryShade[e.colorScheme]:e.primaryShade]})}},te=Fe(sr);var ir=Object.defineProperty,lr=Object.defineProperties,cr=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,ur=Object.prototype.hasOwnProperty,dr=Object.prototype.propertyIsEnumerable,be=(e,t,r)=>t in e?ir(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fr=(e,t)=>{for(var r in t||(t={}))ur.call(t,r)&&be(e,r,t[r]);if(ge)for(var r of ge(t))dr.call(t,r)&&be(e,r,t[r]);return e},pr=(e,t)=>lr(e,cr(t));function mr({theme:e}){return A.createElement(D,{styles:{"*, *::before, *::after":{boxSizing:"border-box"},html:{colorScheme:e.colorScheme==="dark"?"dark":"light"},body:pr(fr({},e.fn.fontStyles()),{backgroundColor:e.colorScheme==="dark"?e.colors.dark[7]:e.white,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,lineHeight:e.lineHeight,fontSize:e.fontSizes.md,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"})}})}function I(e,t,r,o=E){Object.keys(t).forEach(a=>{e[`--mantine-${r}-${a}`]=o(t[a])})}function gr({theme:e}){const t={"--mantine-color-white":e.white,"--mantine-color-black":e.black,"--mantine-transition-timing-function":e.transitionTimingFunction,"--mantine-line-height":`${e.lineHeight}`,"--mantine-font-family":e.fontFamily,"--mantine-font-family-monospace":e.fontFamilyMonospace,"--mantine-font-family-headings":e.headings.fontFamily,"--mantine-heading-font-weight":`${e.headings.fontWeight}`};I(t,e.shadows,"shadow"),I(t,e.fontSizes,"font-size"),I(t,e.radius,"radius"),I(t,e.spacing,"spacing"),I(t,e.breakpoints,"breakpoints",U),Object.keys(e.colors).forEach(o=>{e.colors[o].forEach((a,n)=>{t[`--mantine-color-${o}-${n}`]=a})});const r=e.headings.sizes;return Object.keys(r).forEach(o=>{t[`--mantine-${o}-font-size`]=r[o].fontSize,t[`--mantine-${o}-line-height`]=`${r[o].lineHeight}`}),A.createElement(D,{styles:{":root":t}})}var br=Object.defineProperty,yr=Object.defineProperties,vr=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,hr=Object.prototype.hasOwnProperty,Sr=Object.prototype.propertyIsEnumerable,ve=(e,t,r)=>t in e?br(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_=(e,t)=>{for(var r in t||(t={}))hr.call(t,r)&&ve(e,r,t[r]);if(ye)for(var r of ye(t))Sr.call(t,r)&&ve(e,r,t[r]);return e},V=(e,t)=>yr(e,vr(t));function xr(e,t){var r;if(!t)return e;const o=Object.keys(e).reduce((a,n)=>{if(n==="headings"&&t.headings){const s=t.headings.sizes?Object.keys(e.headings.sizes).reduce((i,l)=>(i[l]=_(_({},e.headings.sizes[l]),t.headings.sizes[l]),i),{}):e.headings.sizes;return V(_({},a),{headings:V(_(_({},e.headings),t.headings),{sizes:s})})}if(n==="breakpoints"&&t.breakpoints){const s=_(_({},e.breakpoints),t.breakpoints);return V(_({},a),{breakpoints:Object.fromEntries(Object.entries(s).sort((i,l)=>W(i[1])-W(l[1])))})}return a[n]=typeof t[n]=="object"?_(_({},e[n]),t[n]):typeof t[n]=="number"||typeof t[n]=="boolean"||typeof t[n]=="function"?t[n]:t[n]||e[n],a},{});if(t!=null&&t.fontFamily&&!((r=t==null?void 0:t.headings)!=null&&r.fontFamily)&&(o.headings.fontFamily=t.fontFamily),!(o.primaryColor in o.colors))throw new Error("MantineProvider: Invalid theme.primaryColor, it accepts only key of theme.colors, learn more – https://mantine.dev/theming/colors/#primary-color");return o}function _r(e,t){return Fe(xr(e,t))}function Cr(e){return Object.keys(e).reduce((t,r)=>(e[r]!==void 0&&(t[r]=e[r]),t),{})}const kr={html:{fontFamily:"sans-serif",lineHeight:"1.15",textSizeAdjust:"100%"},body:{margin:0},"article, aside, footer, header, nav, section, figcaption, figure, main":{display:"block"},h1:{fontSize:"2em"},hr:{boxSizing:"content-box",height:0,overflow:"visible"},pre:{fontFamily:"monospace, monospace",fontSize:"1em"},a:{background:"transparent",textDecorationSkip:"objects"},"a:active, a:hover":{outlineWidth:0},"abbr[title]":{borderBottom:"none",textDecoration:"underline"},"b, strong":{fontWeight:"bolder"},"code, kbp, samp":{fontFamily:"monospace, monospace",fontSize:"1em"},dfn:{fontStyle:"italic"},mark:{backgroundColor:"#ff0",color:"#000"},small:{fontSize:"80%"},"sub, sup":{fontSize:"75%",lineHeight:0,position:"relative",verticalAlign:"baseline"},sup:{top:"-0.5em"},sub:{bottom:"-0.25em"},"audio, video":{display:"inline-block"},"audio:not([controls])":{display:"none",height:0},img:{borderStyle:"none",verticalAlign:"middle"},"svg:not(:root)":{overflow:"hidden"},"button, input, optgroup, select, textarea":{fontFamily:"sans-serif",fontSize:"100%",lineHeight:"1.15",margin:0},"button, input":{overflow:"visible"},"button, select":{textTransform:"none"},"button, [type=reset], [type=submit]":{WebkitAppearance:"button"},"button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner":{borderStyle:"none",padding:0},"button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring":{outline:`${E(1)} dotted ButtonText`},legend:{boxSizing:"border-box",color:"inherit",display:"table",maxWidth:"100%",padding:0,whiteSpace:"normal"},progress:{display:"inline-block",verticalAlign:"baseline"},textarea:{overflow:"auto"},"[type=checkbox], [type=radio]":{boxSizing:"border-box",padding:0},"[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button":{height:"auto"},"[type=search]":{appearance:"none"},"[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration":{appearance:"none"},"::-webkit-file-upload-button":{appearance:"button",font:"inherit"},"details, menu":{display:"block"},summary:{display:"list-item"},canvas:{display:"inline-block"},template:{display:"none"}};function wr(){return A.createElement(D,{styles:kr})}var Pr=Object.defineProperty,he=Object.getOwnPropertySymbols,Ar=Object.prototype.hasOwnProperty,jr=Object.prototype.propertyIsEnumerable,Se=(e,t,r)=>t in e?Pr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,O=(e,t)=>{for(var r in t||(t={}))Ar.call(t,r)&&Se(e,r,t[r]);if(he)for(var r of he(t))jr.call(t,r)&&Se(e,r,t[r]);return e};const B=p.createContext({theme:te});function He(){var e;return((e=p.useContext(B))==null?void 0:e.theme)||te}function dn(e){const t=He(),r=o=>{var a,n,s,i;return{styles:((a=t.components[o])==null?void 0:a.styles)||{},classNames:((n=t.components[o])==null?void 0:n.classNames)||{},variants:(s=t.components[o])==null?void 0:s.variants,sizes:(i=t.components[o])==null?void 0:i.sizes}};return Array.isArray(e)?e.map(r):[r(e)]}function fn(){var e;return(e=p.useContext(B))==null?void 0:e.emotionCache}function pn(e,t,r){var o;const a=He(),n=(o=a.components[e])==null?void 0:o.defaultProps,s=typeof n=="function"?n(a):n;return O(O(O({},t),s),Cr(r))}function Er({theme:e,emotionCache:t,withNormalizeCSS:r=!1,withGlobalStyles:o=!1,withCSSVariables:a=!1,inherit:n=!1,children:s}){const i=p.useContext(B),l=_r(te,n?O(O({},i.theme),e):e);return A.createElement(qe,{theme:l},A.createElement(B.Provider,{value:{theme:l,emotionCache:t}},r&&A.createElement(wr,null),o&&A.createElement(mr,{theme:l}),a&&A.createElement(gr,{theme:l}),typeof l.globalStyles=="function"&&A.createElement(D,{styles:l.globalStyles(l)}),s))}Er.displayName="@mantine/core/MantineProvider";const{definePartsStyle:Nr,defineMultiStyleConfig:$r}=Xe(at.keys),Tr=Nr(e=>({button:{fontWeight:500,bg:P("base.300","base.500")(e),color:P("base.900","base.100")(e),_hover:{bg:P("base.400","base.600")(e),color:P("base.900","base.50")(e),fontWeight:600}},list:{zIndex:9999,color:P("base.900","base.150")(e),bg:P("base.200","base.800")(e),shadow:"dark-lg",border:"none"},item:{fontSize:"sm",bg:P("base.200","base.800")(e),_hover:{bg:P("base.300","base.700")(e),svg:{opacity:1}},_focus:{bg:P("base.400","base.600")(e)},svg:{opacity:.7,fontSize:14}}})),mn=$r({variants:{invokeAI:Tr},defaultProps:{variant:"invokeAI"}}),gn={variants:{enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.07,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.07,easings:"easeOut"}}}};export{on as A,Yr as B,Te as C,Gr as D,at as E,Ur as F,Vr as G,Zr as H,L as I,Fr as J,Hr as K,Wr as L,Br as M,Mr as N,nn as O,G as P,Or as Q,zr as R,Rr as S,Qe as T,sn as U,cn as V,mn as W,Er as X,M as a,ct as b,an as c,ne as d,un as e,fn as f,He as g,dn as h,Cr as i,W as j,Le as k,pn as l,gn as m,P as n,tn as o,rn as p,Dr as q,E as r,Qr as s,en as t,ln as u,qr as v,Lr as w,Xr as x,Jr as y,Kr as z}; +import{A as p,B as d,a5 as Z,aJ as xe,gi as We,_ as Be,V as j,a8 as q,U as z,W as R,a2 as _e,a1 as De,a0 as Ce,$ as Ge,Z as Ue,gj as Ve,gk as Ze,ac as A,g7 as D,gf as qe,g9 as Xe}from"./index-deaa1f26.js";function Je(e,t){return`${e} returned \`undefined\`. Seems you forgot to wrap component within ${t}`}function M(e={}){const{name:t,strict:r=!0,hookName:o="useContext",providerName:a="Provider",errorMessage:n,defaultValue:s}=e,i=p.createContext(s);i.displayName=t;function l(){var c;const u=p.useContext(i);if(!u&&r){const f=new Error(n??Je(o,a));throw f.name="ContextError",(c=Error.captureStackTrace)==null||c.call(Error,f,l),f}return u}return[i.Provider,l,i]}var[Ke,Ye]=M({strict:!1,name:"PortalManagerContext"});function Qe(e){const{children:t,zIndex:r}=e;return d.jsx(Ke,{value:{zIndex:r},children:t})}Qe.displayName="PortalManager";var[ke,et]=M({strict:!1,name:"PortalContext"}),J="chakra-portal",tt=".chakra-portal",rt=e=>d.jsx("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0},children:e.children}),nt=e=>{const{appendToParentPortal:t,children:r}=e,[o,a]=p.useState(null),n=p.useRef(null),[,s]=p.useState({});p.useEffect(()=>s({}),[]);const i=et(),l=Ye();Z(()=>{if(!o)return;const u=o.ownerDocument,f=t?i??u.body:u.body;if(!f)return;n.current=u.createElement("div"),n.current.className=J,f.appendChild(n.current),s({});const y=n.current;return()=>{f.contains(y)&&f.removeChild(y)}},[o]);const c=l!=null&&l.zIndex?d.jsx(rt,{zIndex:l==null?void 0:l.zIndex,children:r}):r;return n.current?xe.createPortal(d.jsx(ke,{value:n.current,children:c}),n.current):d.jsx("span",{ref:u=>{u&&a(u)}})},ot=e=>{const{children:t,containerRef:r,appendToParentPortal:o}=e,a=r.current,n=a??(typeof window<"u"?document.body:void 0),s=p.useMemo(()=>{const l=a==null?void 0:a.ownerDocument.createElement("div");return l&&(l.className=J),l},[a]),[,i]=p.useState({});return Z(()=>i({}),[]),Z(()=>{if(!(!s||!n))return n.appendChild(s),()=>{n.removeChild(s)}},[s,n]),n&&s?xe.createPortal(d.jsx(ke,{value:o?s:null,children:t}),s):null};function G(e){const t={appendToParentPortal:!0,...e},{containerRef:r,...o}=t;return r?d.jsx(ot,{containerRef:r,...o}):d.jsx(nt,{...o})}G.className=J;G.selector=tt;G.displayName="Portal";function m(e,t={}){let r=!1;function o(){if(!r){r=!0;return}throw new Error("[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?")}function a(...u){o();for(const f of u)t[f]=l(f);return m(e,t)}function n(...u){for(const f of u)f in t||(t[f]=l(f));return m(e,t)}function s(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.selector]))}function i(){return Object.fromEntries(Object.entries(t).map(([f,y])=>[f,y.className]))}function l(u){const g=`chakra-${(["container","root"].includes(u??"")?[e]:[e,u]).filter(Boolean).join("__")}`;return{className:g,selector:`.${g}`,toString:()=>u}}return{parts:a,toPart:l,extend:n,selectors:s,classnames:i,get keys(){return Object.keys(t)},__type:{}}}var Or=m("accordion").parts("root","container","button","panel").extend("icon"),zr=m("alert").parts("title","description","container").extend("icon","spinner"),Rr=m("avatar").parts("label","badge","container").extend("excessLabel","group"),Mr=m("breadcrumb").parts("link","item","container").extend("separator");m("button").parts();var Lr=m("checkbox").parts("control","icon","container").extend("label");m("progress").parts("track","filledTrack").extend("label");var Fr=m("drawer").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Hr=m("editable").parts("preview","input","textarea"),Wr=m("form").parts("container","requiredIndicator","helperText"),Br=m("formError").parts("text","icon"),Dr=m("input").parts("addon","field","element","group"),Gr=m("list").parts("container","item","icon"),at=m("menu").parts("button","list","item").extend("groupTitle","icon","command","divider"),Ur=m("modal").parts("overlay","dialogContainer","dialog").extend("header","closeButton","body","footer"),Vr=m("numberinput").parts("root","field","stepperGroup","stepper");m("pininput").parts("field");var Zr=m("popover").parts("content","header","body","footer").extend("popper","arrow","closeButton"),qr=m("progress").parts("label","filledTrack","track"),Xr=m("radio").parts("container","control","label"),Jr=m("select").parts("field","icon"),Kr=m("slider").parts("container","track","thumb","filledTrack","mark"),Yr=m("stat").parts("container","label","helpText","number","icon"),Qr=m("switch").parts("container","track","thumb"),en=m("table").parts("table","thead","tbody","tr","th","td","tfoot","caption"),tn=m("tabs").parts("root","tab","tablist","tabpanel","tabpanels","indicator"),rn=m("tag").parts("container","label","closeButton"),nn=m("card").parts("container","header","body","footer");function P(e,t){return r=>r.colorMode==="dark"?t:e}function on(e){const{orientation:t,vertical:r,horizontal:o}=e;return t?t==="vertical"?r:o:{}}var st=(e,t)=>e.find(r=>r.id===t);function re(e,t){const r=we(e,t),o=r?e[r].findIndex(a=>a.id===t):-1;return{position:r,index:o}}function we(e,t){for(const[r,o]of Object.entries(e))if(st(o,t))return r}function it(e){const t=e.includes("right"),r=e.includes("left");let o="center";return t&&(o="flex-end"),r&&(o="flex-start"),{display:"flex",flexDirection:"column",alignItems:o}}function lt(e){const r=e==="top"||e==="bottom"?"0 auto":void 0,o=e.includes("top")?"env(safe-area-inset-top, 0px)":void 0,a=e.includes("bottom")?"env(safe-area-inset-bottom, 0px)":void 0,n=e.includes("left")?void 0:"env(safe-area-inset-right, 0px)",s=e.includes("right")?void 0:"env(safe-area-inset-left, 0px)";return{position:"fixed",zIndex:"var(--toast-z-index, 5500)",pointerEvents:"none",display:"flex",flexDirection:"column",margin:r,top:o,bottom:a,right:n,left:s}}function ct(e,t=[]){const r=p.useRef(e);return p.useEffect(()=>{r.current=e}),p.useCallback((...o)=>{var a;return(a=r.current)==null?void 0:a.call(r,...o)},t)}function ut(e,t){const r=ct(e);p.useEffect(()=>{if(t==null)return;let o=null;return o=window.setTimeout(()=>{r()},t),()=>{o&&window.clearTimeout(o)}},[t,r])}function ne(e,t){const r=p.useRef(!1),o=p.useRef(!1);p.useEffect(()=>{if(r.current&&o.current)return e();o.current=!0},t),p.useEffect(()=>(r.current=!0,()=>{r.current=!1}),[])}var dt={initial:e=>{const{position:t}=e,r=["top","bottom"].includes(t)?"y":"x";let o=["top-right","bottom-right"].includes(t)?1:-1;return t==="bottom"&&(o=1),{opacity:0,[r]:o*24}},animate:{opacity:1,y:0,x:0,scale:1,transition:{duration:.4,ease:[.4,0,.2,1]}},exit:{opacity:0,scale:.85,transition:{duration:.2,ease:[.4,0,1,1]}}},Pe=p.memo(e=>{const{id:t,message:r,onCloseComplete:o,onRequestRemove:a,requestClose:n=!1,position:s="bottom",duration:i=5e3,containerStyle:l,motionVariants:c=dt,toastSpacing:u="0.5rem"}=e,[f,y]=p.useState(i),g=We();ne(()=>{g||o==null||o()},[g]),ne(()=>{y(i)},[i]);const h=()=>y(null),$=()=>y(i),S=()=>{g&&a()};p.useEffect(()=>{g&&n&&a()},[g,n,a]),ut(S,f);const H=p.useMemo(()=>({pointerEvents:"auto",maxWidth:560,minWidth:300,margin:u,...l}),[l,u]),N=p.useMemo(()=>it(s),[s]);return d.jsx(Be.div,{layout:!0,className:"chakra-toast",variants:c,initial:"initial",animate:"animate",exit:"exit",onHoverStart:h,onHoverEnd:$,custom:{position:s},style:N,children:d.jsx(j.div,{role:"status","aria-atomic":"true",className:"chakra-toast__inner",__css:H,children:q(r,{id:t,onClose:S})})})});Pe.displayName="ToastComponent";function ft(e,t){var r;const o=e??"bottom",n={"top-start":{ltr:"top-left",rtl:"top-right"},"top-end":{ltr:"top-right",rtl:"top-left"},"bottom-start":{ltr:"bottom-left",rtl:"bottom-right"},"bottom-end":{ltr:"bottom-right",rtl:"bottom-left"}}[o];return(r=n==null?void 0:n[t])!=null?r:o}var oe={path:d.jsxs("g",{stroke:"currentColor",strokeWidth:"1.5",children:[d.jsx("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),d.jsx("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),d.jsx("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})]}),viewBox:"0 0 24 24"},L=z((e,t)=>{const{as:r,viewBox:o,color:a="currentColor",focusable:n=!1,children:s,className:i,__css:l,...c}=e,u=R("chakra-icon",i),f=_e("Icon",e),y={w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:a,...l,...f},g={ref:t,focusable:n,className:u,__css:y},h=o??oe.viewBox;if(r&&typeof r!="string")return d.jsx(j.svg,{as:r,...g,...c});const $=s??oe.path;return d.jsx(j.svg,{verticalAlign:"middle",viewBox:h,...g,...c,children:$})});L.displayName="Icon";function pt(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm6.927,8.2-6.845,9.289a1.011,1.011,0,0,1-1.43.188L5.764,13.769a1,1,0,1,1,1.25-1.562l4.076,3.261,6.227-8.451A1,1,0,1,1,18.927,8.2Z"})})}function mt(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm.25,5a1.5,1.5,0,1,1-1.5,1.5A1.5,1.5,0,0,1,12.25,5ZM14.5,18.5h-4a1,1,0,0,1,0-2h.75a.25.25,0,0,0,.25-.25v-4.5a.25.25,0,0,0-.25-.25H10.5a1,1,0,0,1,0-2h1a2,2,0,0,1,2,2v4.75a.25.25,0,0,0,.25.25h.75a1,1,0,1,1,0,2Z"})})}function ae(e){return d.jsx(L,{viewBox:"0 0 24 24",...e,children:d.jsx("path",{fill:"currentColor",d:"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"})})}var[gt,K]=M({name:"AlertContext",hookName:"useAlertContext",providerName:""}),[bt,Y]=M({name:"AlertStylesContext",hookName:"useAlertStyles",providerName:""}),Ae={info:{icon:mt,colorScheme:"blue"},warning:{icon:ae,colorScheme:"orange"},success:{icon:pt,colorScheme:"green"},error:{icon:ae,colorScheme:"red"},loading:{icon:De,colorScheme:"blue"}};function yt(e){return Ae[e].colorScheme}function vt(e){return Ae[e].icon}var je=z(function(t,r){const o=Y(),{status:a}=K(),n={display:"inline",...o.description};return d.jsx(j.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__desc",t.className),__css:n})});je.displayName="AlertDescription";function Ee(e){const{status:t}=K(),r=vt(t),o=Y(),a=t==="loading"?o.spinner:o.icon;return d.jsx(j.span,{display:"inherit","data-status":t,...e,className:R("chakra-alert__icon",e.className),__css:a,children:e.children||d.jsx(r,{h:"100%",w:"100%"})})}Ee.displayName="AlertIcon";var Ne=z(function(t,r){const o=Y(),{status:a}=K();return d.jsx(j.div,{ref:r,"data-status":a,...t,className:R("chakra-alert__title",t.className),__css:o.title})});Ne.displayName="AlertTitle";var $e=z(function(t,r){var o;const{status:a="info",addRole:n=!0,...s}=Ce(t),i=(o=t.colorScheme)!=null?o:yt(a),l=Ge("Alert",{...t,colorScheme:i}),c={width:"100%",display:"flex",alignItems:"center",position:"relative",overflow:"hidden",...l.container};return d.jsx(gt,{value:{status:a},children:d.jsx(bt,{value:l,children:d.jsx(j.div,{"data-status":a,role:n?"alert":void 0,ref:r,...s,className:R("chakra-alert",t.className),__css:c})})})});$e.displayName="Alert";function ht(e){return d.jsx(L,{focusable:"false","aria-hidden":!0,...e,children:d.jsx("path",{fill:"currentColor",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"})})}var Te=z(function(t,r){const o=_e("CloseButton",t),{children:a,isDisabled:n,__css:s,...i}=Ce(t),l={outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0};return d.jsx(j.button,{type:"button","aria-label":"Close",ref:r,disabled:n,__css:{...l,...o,...s},...i,children:a||d.jsx(ht,{width:"1em",height:"1em"})})});Te.displayName="CloseButton";var St={top:[],"top-left":[],"top-right":[],"bottom-left":[],bottom:[],"bottom-right":[]},C=xt(St);function xt(e){let t=e;const r=new Set,o=a=>{t=a(t),r.forEach(n=>n())};return{getState:()=>t,subscribe:a=>(r.add(a),()=>{o(()=>e),r.delete(a)}),removeToast:(a,n)=>{o(s=>({...s,[n]:s[n].filter(i=>i.id!=a)}))},notify:(a,n)=>{const s=_t(a,n),{position:i,id:l}=s;return o(c=>{var u,f;const g=i.includes("top")?[s,...(u=c[i])!=null?u:[]]:[...(f=c[i])!=null?f:[],s];return{...c,[i]:g}}),l},update:(a,n)=>{a&&o(s=>{const i={...s},{position:l,index:c}=re(i,a);return l&&c!==-1&&(i[l][c]={...i[l][c],...n,message:Ie(n)}),i})},closeAll:({positions:a}={})=>{o(n=>(a??["bottom","bottom-right","bottom-left","top","top-left","top-right"]).reduce((l,c)=>(l[c]=n[c].map(u=>({...u,requestClose:!0})),l),{...n}))},close:a=>{o(n=>{const s=we(n,a);return s?{...n,[s]:n[s].map(i=>i.id==a?{...i,requestClose:!0}:i)}:n})},isActive:a=>!!re(C.getState(),a).position}}var se=0;function _t(e,t={}){var r,o;se+=1;const a=(r=t.id)!=null?r:se,n=(o=t.position)!=null?o:"bottom";return{id:a,message:e,position:n,duration:t.duration,onCloseComplete:t.onCloseComplete,onRequestRemove:()=>C.removeToast(String(a),n),status:t.status,requestClose:!1,containerStyle:t.containerStyle}}var Ct=e=>{const{status:t,variant:r="solid",id:o,title:a,isClosable:n,onClose:s,description:i,colorScheme:l,icon:c}=e,u=o?{root:`toast-${o}`,title:`toast-${o}-title`,description:`toast-${o}-description`}:void 0;return d.jsxs($e,{addRole:!1,status:t,variant:r,id:u==null?void 0:u.root,alignItems:"start",borderRadius:"md",boxShadow:"lg",paddingEnd:8,textAlign:"start",width:"auto",colorScheme:l,children:[d.jsx(Ee,{children:c}),d.jsxs(j.div,{flex:"1",maxWidth:"100%",children:[a&&d.jsx(Ne,{id:u==null?void 0:u.title,children:a}),i&&d.jsx(je,{id:u==null?void 0:u.description,display:"block",children:i})]}),n&&d.jsx(Te,{size:"sm",onClick:s,position:"absolute",insetEnd:1,top:1})]})};function Ie(e={}){const{render:t,toastComponent:r=Ct}=e;return a=>typeof t=="function"?t({...a,...e}):d.jsx(r,{...a,...e})}function an(e,t){const r=a=>{var n;return{...t,...a,position:ft((n=a==null?void 0:a.position)!=null?n:t==null?void 0:t.position,e)}},o=a=>{const n=r(a),s=Ie(n);return C.notify(s,n)};return o.update=(a,n)=>{C.update(a,r(n))},o.promise=(a,n)=>{const s=o({...n.loading,status:"loading",duration:null});a.then(i=>o.update(s,{status:"success",duration:5e3,...q(n.success,i)})).catch(i=>o.update(s,{status:"error",duration:5e3,...q(n.error,i)}))},o.closeAll=C.closeAll,o.close=C.close,o.isActive=C.isActive,o}var[sn,ln]=M({name:"ToastOptionsContext",strict:!1}),cn=e=>{const t=p.useSyncExternalStore(C.subscribe,C.getState,C.getState),{motionVariants:r,component:o=Pe,portalProps:a}=e,s=Object.keys(t).map(i=>{const l=t[i];return d.jsx("div",{role:"region","aria-live":"polite","aria-label":"Notifications",id:`chakra-toast-manager-${i}`,style:lt(i),children:d.jsx(Ue,{initial:!1,children:l.map(c=>d.jsx(o,{motionVariants:r,...c},c.id))})},i)});return d.jsx(G,{...a,children:s})};function kt(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),r=0;r()=>{if(e.isInitialized)t();else{const r=()=>{setTimeout(()=>{e.off("initialized",r)},0),t()};e.on("initialized",r)}};function le(e,t,r){e.loadNamespaces(t,Oe(e,r))}function ce(e,t,r,o){typeof r=="string"&&(r=[r]),r.forEach(a=>{e.options.ns.indexOf(a)<0&&e.options.ns.push(a)}),e.loadLanguages(t,Oe(e,o))}function wt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const o=t.languages[0],a=t.options?t.options.fallbackLng:!1,n=t.languages[t.languages.length-1];if(o.toLowerCase()==="cimode")return!0;const s=(i,l)=>{const c=t.services.backendConnector.state[`${i}|${l}`];return c===-1||c===2};return r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!s(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(o,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||s(o,e)&&(!a||s(n,e)))}function Pt(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!t.languages||!t.languages.length?(X("i18n.languages were undefined or empty",t.languages),!0):t.options.ignoreJSONStructure!==void 0?t.hasLoadedNamespace(e,{lng:r.lng,precheck:(a,n)=>{if(r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&a.services.backendConnector.backend&&a.isLanguageChangingTo&&!n(a.isLanguageChangingTo,e))return!1}}):wt(e,t,r)}const At=p.createContext();class jt{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(r=>{this.usedNamespaces[r]||(this.usedNamespaces[r]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Et=(e,t)=>{const r=p.useRef();return p.useEffect(()=>{r.current=t?r.current:e},[e,t]),r.current};function un(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:r}=t,{i18n:o,defaultNS:a}=p.useContext(At)||{},n=r||o||Ze();if(n&&!n.reportNamespaces&&(n.reportNamespaces=new jt),!n){X("You will need to pass in an i18next instance by using initReactI18next");const v=(w,x)=>typeof x=="string"?x:x&&typeof x=="object"&&typeof x.defaultValue=="string"?x.defaultValue:Array.isArray(w)?w[w.length-1]:w,k=[v,{},!1];return k.t=v,k.i18n={},k.ready=!1,k}n.options.react&&n.options.react.wait!==void 0&&X("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const s={...Ve(),...n.options.react,...t},{useSuspense:i,keyPrefix:l}=s;let c=e||a||n.options&&n.options.defaultNS;c=typeof c=="string"?[c]:c||["translation"],n.reportNamespaces.addUsedNamespaces&&n.reportNamespaces.addUsedNamespaces(c);const u=(n.isInitialized||n.initializedStoreOnce)&&c.every(v=>Pt(v,n,s));function f(){return n.getFixedT(t.lng||null,s.nsMode==="fallback"?c:c[0],l)}const[y,g]=p.useState(f);let h=c.join();t.lng&&(h=`${t.lng}${h}`);const $=Et(h),S=p.useRef(!0);p.useEffect(()=>{const{bindI18n:v,bindI18nStore:k}=s;S.current=!0,!u&&!i&&(t.lng?ce(n,t.lng,c,()=>{S.current&&g(f)}):le(n,c,()=>{S.current&&g(f)})),u&&$&&$!==h&&S.current&&g(f);function w(){S.current&&g(f)}return v&&n&&n.on(v,w),k&&n&&n.store.on(k,w),()=>{S.current=!1,v&&n&&v.split(" ").forEach(x=>n.off(x,w)),k&&n&&k.split(" ").forEach(x=>n.store.off(x,w))}},[n,h]);const H=p.useRef(!0);p.useEffect(()=>{S.current&&!H.current&&g(f),H.current=!1},[n,l]);const N=[y,n,u];if(N.t=y,N.i18n=n,N.ready=u,u||!u&&!i)return N;throw new Promise(v=>{t.lng?ce(n,t.lng,c,()=>v()):le(n,c,()=>v())})}const Nt={dark:["#C1C2C5","#A6A7AB","#909296","#5c5f66","#373A40","#2C2E33","#25262b","#1A1B1E","#141517","#101113"],gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]};function $t(e){return()=>({fontFamily:e.fontFamily||"sans-serif"})}var Tt=Object.defineProperty,ue=Object.getOwnPropertySymbols,It=Object.prototype.hasOwnProperty,Ot=Object.prototype.propertyIsEnumerable,de=(e,t,r)=>t in e?Tt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fe=(e,t)=>{for(var r in t||(t={}))It.call(t,r)&&de(e,r,t[r]);if(ue)for(var r of ue(t))Ot.call(t,r)&&de(e,r,t[r]);return e};function zt(e){return t=>({WebkitTapHighlightColor:"transparent",[t||"&:focus"]:fe({},e.focusRing==="always"||e.focusRing==="auto"?e.focusRingStyles.styles(e):e.focusRingStyles.resetStyles(e)),[t?t.replace(":focus",":focus:not(:focus-visible)"):"&:focus:not(:focus-visible)"]:fe({},e.focusRing==="auto"||e.focusRing==="never"?e.focusRingStyles.resetStyles(e):null)})}function F(e){return t=>typeof e.primaryShade=="number"?e.primaryShade:e.primaryShade[t||e.colorScheme]}function Q(e){const t=F(e);return(r,o,a=!0,n=!0)=>{if(typeof r=="string"&&r.includes(".")){const[i,l]=r.split("."),c=parseInt(l,10);if(i in e.colors&&c>=0&&c<10)return e.colors[i][typeof o=="number"&&!n?o:c]}const s=typeof o=="number"?o:t();return r in e.colors?e.colors[r][s]:a?e.colors[e.primaryColor][s]:r}}function ze(e){let t="";for(let r=1;r{const a={from:(o==null?void 0:o.from)||e.defaultGradient.from,to:(o==null?void 0:o.to)||e.defaultGradient.to,deg:(o==null?void 0:o.deg)||e.defaultGradient.deg};return`linear-gradient(${a.deg}deg, ${t(a.from,r(),!1)} 0%, ${t(a.to,r(),!1)} 100%)`}}function Me(e){return t=>{if(typeof t=="number")return`${t/16}${e}`;if(typeof t=="string"){const r=t.replace("px","");if(!Number.isNaN(Number(r)))return`${Number(r)/16}${e}`}return t}}const E=Me("rem"),U=Me("em");function Le({size:e,sizes:t,units:r}){return e in t?t[e]:typeof e=="number"?r==="em"?U(e):E(e):e||t.md}function W(e){return typeof e=="number"?e:typeof e=="string"&&e.includes("rem")?Number(e.replace("rem",""))*16:typeof e=="string"&&e.includes("em")?Number(e.replace("em",""))*16:Number(e)}function Lt(e){return t=>`@media (min-width: ${U(W(Le({size:t,sizes:e.breakpoints})))})`}function Ft(e){return t=>`@media (max-width: ${U(W(Le({size:t,sizes:e.breakpoints}))-1)})`}function Ht(e){return/^#?([0-9A-F]{3}){1,2}$/i.test(e)}function Wt(e){let t=e.replace("#","");if(t.length===3){const s=t.split("");t=[s[0],s[0],s[1],s[1],s[2],s[2]].join("")}const r=parseInt(t,16),o=r>>16&255,a=r>>8&255,n=r&255;return{r:o,g:a,b:n,a:1}}function Bt(e){const[t,r,o,a]=e.replace(/[^0-9,.]/g,"").split(",").map(Number);return{r:t,g:r,b:o,a:a||1}}function ee(e){return Ht(e)?Wt(e):e.startsWith("rgb")?Bt(e):{r:0,g:0,b:0,a:1}}function T(e,t){if(typeof e!="string"||t>1||t<0)return"rgba(0, 0, 0, 1)";if(e.startsWith("var(--"))return e;const{r,g:o,b:a}=ee(e);return`rgba(${r}, ${o}, ${a}, ${t})`}function Dt(e=0){return{position:"absolute",top:E(e),right:E(e),left:E(e),bottom:E(e)}}function Gt(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=1-t,i=l=>Math.round(l*s);return`rgba(${i(r)}, ${i(o)}, ${i(a)}, ${n})`}function Ut(e,t){if(typeof e=="string"&&e.startsWith("var(--"))return e;const{r,g:o,b:a,a:n}=ee(e),s=i=>Math.round(i+(255-i)*t);return`rgba(${s(r)}, ${s(o)}, ${s(a)}, ${n})`}function Vt(e){return t=>{if(typeof t=="number")return E(t);const r=typeof e.defaultRadius=="number"?e.defaultRadius:e.radius[e.defaultRadius]||e.defaultRadius;return e.radius[t]||t||r}}function Zt(e,t){if(typeof e=="string"&&e.includes(".")){const[r,o]=e.split("."),a=parseInt(o,10);if(r in t.colors&&a>=0&&a<10)return{isSplittedColor:!0,key:r,shade:a}}return{isSplittedColor:!1}}function qt(e){const t=Q(e),r=F(e),o=Re(e);return({variant:a,color:n,gradient:s,primaryFallback:i})=>{const l=Zt(n,e);switch(a){case"light":return{border:"transparent",background:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1),color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?7:1,i,!1),e.colorScheme==="dark"?.25:.65)};case"subtle":return{border:"transparent",background:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),hover:T(t(n,e.colorScheme==="dark"?8:0,i,!1),e.colorScheme==="dark"?.2:1)};case"outline":return{border:t(n,e.colorScheme==="dark"?5:r("light")),background:"transparent",color:t(n,e.colorScheme==="dark"?5:r("light")),hover:e.colorScheme==="dark"?T(t(n,5,i,!1),.05):T(t(n,0,i,!1),.35)};case"default":return{border:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[4],background:e.colorScheme==="dark"?e.colors.dark[6]:e.white,color:e.colorScheme==="dark"?e.white:e.black,hover:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[0]};case"white":return{border:"transparent",background:e.white,color:t(n,r()),hover:null};case"transparent":return{border:"transparent",color:n==="dark"?e.colorScheme==="dark"?e.colors.dark[0]:e.colors.dark[9]:t(n,e.colorScheme==="dark"?2:r("light")),background:"transparent",hover:null};case"gradient":return{background:o(s),color:e.white,border:"transparent",hover:null};default:{const c=r(),u=l.isSplittedColor?l.shade:c,f=l.isSplittedColor?l.key:n;return{border:"transparent",background:t(f,u,i),color:e.white,hover:t(f,u===9?8:u+1)}}}}}function Xt(e){return t=>{const r=F(e)(t);return e.colors[e.primaryColor][r]}}function Jt(e){return{"@media (hover: hover)":{"&:hover":e},"@media (hover: none)":{"&:active":e}}}function Kt(e){return()=>({userSelect:"none",color:e.colorScheme==="dark"?e.colors.dark[3]:e.colors.gray[5]})}function Yt(e){return()=>e.colorScheme==="dark"?e.colors.dark[2]:e.colors.gray[6]}const b={fontStyles:$t,themeColor:Q,focusStyles:zt,linearGradient:Rt,radialGradient:Mt,smallerThan:Ft,largerThan:Lt,rgba:T,cover:Dt,darken:Gt,lighten:Ut,radius:Vt,variant:qt,primaryShade:F,hover:Jt,gradient:Re,primaryColor:Xt,placeholderStyles:Kt,dimmed:Yt};var Qt=Object.defineProperty,er=Object.defineProperties,tr=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,rr=Object.prototype.hasOwnProperty,nr=Object.prototype.propertyIsEnumerable,me=(e,t,r)=>t in e?Qt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,or=(e,t)=>{for(var r in t||(t={}))rr.call(t,r)&&me(e,r,t[r]);if(pe)for(var r of pe(t))nr.call(t,r)&&me(e,r,t[r]);return e},ar=(e,t)=>er(e,tr(t));function Fe(e){return ar(or({},e),{fn:{fontStyles:b.fontStyles(e),themeColor:b.themeColor(e),focusStyles:b.focusStyles(e),largerThan:b.largerThan(e),smallerThan:b.smallerThan(e),radialGradient:b.radialGradient,linearGradient:b.linearGradient,gradient:b.gradient(e),rgba:b.rgba,cover:b.cover,lighten:b.lighten,darken:b.darken,primaryShade:b.primaryShade(e),radius:b.radius(e),variant:b.variant(e),hover:b.hover,primaryColor:b.primaryColor(e),placeholderStyles:b.placeholderStyles(e),dimmed:b.dimmed(e)}})}const sr={dir:"ltr",primaryShade:{light:6,dark:8},focusRing:"auto",loader:"oval",colorScheme:"light",white:"#fff",black:"#000",defaultRadius:"sm",transitionTimingFunction:"ease",colors:Nt,lineHeight:1.55,fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontFamilyMonospace:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace",primaryColor:"blue",respectReducedMotion:!0,cursorType:"default",defaultGradient:{from:"indigo",to:"cyan",deg:45},shadows:{xs:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.1)",sm:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 0.625rem 0.9375rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.4375rem 0.4375rem -0.3125rem",md:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.25rem 1.5625rem -0.3125rem, rgba(0, 0, 0, 0.04) 0 0.625rem 0.625rem -0.3125rem",lg:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 1.75rem 1.4375rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 0.75rem 0.75rem -0.4375rem",xl:"0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 2.25rem 1.75rem -0.4375rem, rgba(0, 0, 0, 0.04) 0 1.0625rem 1.0625rem -0.4375rem"},fontSizes:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem"},radius:{xs:"0.125rem",sm:"0.25rem",md:"0.5rem",lg:"1rem",xl:"2rem"},spacing:{xs:"0.625rem",sm:"0.75rem",md:"1rem",lg:"1.25rem",xl:"1.5rem"},breakpoints:{xs:"36em",sm:"48em",md:"62em",lg:"75em",xl:"88em"},headings:{fontFamily:"-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",fontWeight:700,sizes:{h1:{fontSize:"2.125rem",lineHeight:1.3,fontWeight:void 0},h2:{fontSize:"1.625rem",lineHeight:1.35,fontWeight:void 0},h3:{fontSize:"1.375rem",lineHeight:1.4,fontWeight:void 0},h4:{fontSize:"1.125rem",lineHeight:1.45,fontWeight:void 0},h5:{fontSize:"1rem",lineHeight:1.5,fontWeight:void 0},h6:{fontSize:"0.875rem",lineHeight:1.5,fontWeight:void 0}}},other:{},components:{},activeStyles:{transform:"translateY(0.0625rem)"},datesLocale:"en",globalStyles:void 0,focusRingStyles:{styles:e=>({outlineOffset:"0.125rem",outline:`0.125rem solid ${e.colors[e.primaryColor][e.colorScheme==="dark"?7:5]}`}),resetStyles:()=>({outline:"none"}),inputStyles:e=>({outline:"none",borderColor:e.colors[e.primaryColor][typeof e.primaryShade=="object"?e.primaryShade[e.colorScheme]:e.primaryShade]})}},te=Fe(sr);var ir=Object.defineProperty,lr=Object.defineProperties,cr=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,ur=Object.prototype.hasOwnProperty,dr=Object.prototype.propertyIsEnumerable,be=(e,t,r)=>t in e?ir(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fr=(e,t)=>{for(var r in t||(t={}))ur.call(t,r)&&be(e,r,t[r]);if(ge)for(var r of ge(t))dr.call(t,r)&&be(e,r,t[r]);return e},pr=(e,t)=>lr(e,cr(t));function mr({theme:e}){return A.createElement(D,{styles:{"*, *::before, *::after":{boxSizing:"border-box"},html:{colorScheme:e.colorScheme==="dark"?"dark":"light"},body:pr(fr({},e.fn.fontStyles()),{backgroundColor:e.colorScheme==="dark"?e.colors.dark[7]:e.white,color:e.colorScheme==="dark"?e.colors.dark[0]:e.black,lineHeight:e.lineHeight,fontSize:e.fontSizes.md,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"})}})}function I(e,t,r,o=E){Object.keys(t).forEach(a=>{e[`--mantine-${r}-${a}`]=o(t[a])})}function gr({theme:e}){const t={"--mantine-color-white":e.white,"--mantine-color-black":e.black,"--mantine-transition-timing-function":e.transitionTimingFunction,"--mantine-line-height":`${e.lineHeight}`,"--mantine-font-family":e.fontFamily,"--mantine-font-family-monospace":e.fontFamilyMonospace,"--mantine-font-family-headings":e.headings.fontFamily,"--mantine-heading-font-weight":`${e.headings.fontWeight}`};I(t,e.shadows,"shadow"),I(t,e.fontSizes,"font-size"),I(t,e.radius,"radius"),I(t,e.spacing,"spacing"),I(t,e.breakpoints,"breakpoints",U),Object.keys(e.colors).forEach(o=>{e.colors[o].forEach((a,n)=>{t[`--mantine-color-${o}-${n}`]=a})});const r=e.headings.sizes;return Object.keys(r).forEach(o=>{t[`--mantine-${o}-font-size`]=r[o].fontSize,t[`--mantine-${o}-line-height`]=`${r[o].lineHeight}`}),A.createElement(D,{styles:{":root":t}})}var br=Object.defineProperty,yr=Object.defineProperties,vr=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,hr=Object.prototype.hasOwnProperty,Sr=Object.prototype.propertyIsEnumerable,ve=(e,t,r)=>t in e?br(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_=(e,t)=>{for(var r in t||(t={}))hr.call(t,r)&&ve(e,r,t[r]);if(ye)for(var r of ye(t))Sr.call(t,r)&&ve(e,r,t[r]);return e},V=(e,t)=>yr(e,vr(t));function xr(e,t){var r;if(!t)return e;const o=Object.keys(e).reduce((a,n)=>{if(n==="headings"&&t.headings){const s=t.headings.sizes?Object.keys(e.headings.sizes).reduce((i,l)=>(i[l]=_(_({},e.headings.sizes[l]),t.headings.sizes[l]),i),{}):e.headings.sizes;return V(_({},a),{headings:V(_(_({},e.headings),t.headings),{sizes:s})})}if(n==="breakpoints"&&t.breakpoints){const s=_(_({},e.breakpoints),t.breakpoints);return V(_({},a),{breakpoints:Object.fromEntries(Object.entries(s).sort((i,l)=>W(i[1])-W(l[1])))})}return a[n]=typeof t[n]=="object"?_(_({},e[n]),t[n]):typeof t[n]=="number"||typeof t[n]=="boolean"||typeof t[n]=="function"?t[n]:t[n]||e[n],a},{});if(t!=null&&t.fontFamily&&!((r=t==null?void 0:t.headings)!=null&&r.fontFamily)&&(o.headings.fontFamily=t.fontFamily),!(o.primaryColor in o.colors))throw new Error("MantineProvider: Invalid theme.primaryColor, it accepts only key of theme.colors, learn more – https://mantine.dev/theming/colors/#primary-color");return o}function _r(e,t){return Fe(xr(e,t))}function Cr(e){return Object.keys(e).reduce((t,r)=>(e[r]!==void 0&&(t[r]=e[r]),t),{})}const kr={html:{fontFamily:"sans-serif",lineHeight:"1.15",textSizeAdjust:"100%"},body:{margin:0},"article, aside, footer, header, nav, section, figcaption, figure, main":{display:"block"},h1:{fontSize:"2em"},hr:{boxSizing:"content-box",height:0,overflow:"visible"},pre:{fontFamily:"monospace, monospace",fontSize:"1em"},a:{background:"transparent",textDecorationSkip:"objects"},"a:active, a:hover":{outlineWidth:0},"abbr[title]":{borderBottom:"none",textDecoration:"underline"},"b, strong":{fontWeight:"bolder"},"code, kbp, samp":{fontFamily:"monospace, monospace",fontSize:"1em"},dfn:{fontStyle:"italic"},mark:{backgroundColor:"#ff0",color:"#000"},small:{fontSize:"80%"},"sub, sup":{fontSize:"75%",lineHeight:0,position:"relative",verticalAlign:"baseline"},sup:{top:"-0.5em"},sub:{bottom:"-0.25em"},"audio, video":{display:"inline-block"},"audio:not([controls])":{display:"none",height:0},img:{borderStyle:"none",verticalAlign:"middle"},"svg:not(:root)":{overflow:"hidden"},"button, input, optgroup, select, textarea":{fontFamily:"sans-serif",fontSize:"100%",lineHeight:"1.15",margin:0},"button, input":{overflow:"visible"},"button, select":{textTransform:"none"},"button, [type=reset], [type=submit]":{WebkitAppearance:"button"},"button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner":{borderStyle:"none",padding:0},"button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring":{outline:`${E(1)} dotted ButtonText`},legend:{boxSizing:"border-box",color:"inherit",display:"table",maxWidth:"100%",padding:0,whiteSpace:"normal"},progress:{display:"inline-block",verticalAlign:"baseline"},textarea:{overflow:"auto"},"[type=checkbox], [type=radio]":{boxSizing:"border-box",padding:0},"[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button":{height:"auto"},"[type=search]":{appearance:"none"},"[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration":{appearance:"none"},"::-webkit-file-upload-button":{appearance:"button",font:"inherit"},"details, menu":{display:"block"},summary:{display:"list-item"},canvas:{display:"inline-block"},template:{display:"none"}};function wr(){return A.createElement(D,{styles:kr})}var Pr=Object.defineProperty,he=Object.getOwnPropertySymbols,Ar=Object.prototype.hasOwnProperty,jr=Object.prototype.propertyIsEnumerable,Se=(e,t,r)=>t in e?Pr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,O=(e,t)=>{for(var r in t||(t={}))Ar.call(t,r)&&Se(e,r,t[r]);if(he)for(var r of he(t))jr.call(t,r)&&Se(e,r,t[r]);return e};const B=p.createContext({theme:te});function He(){var e;return((e=p.useContext(B))==null?void 0:e.theme)||te}function dn(e){const t=He(),r=o=>{var a,n,s,i;return{styles:((a=t.components[o])==null?void 0:a.styles)||{},classNames:((n=t.components[o])==null?void 0:n.classNames)||{},variants:(s=t.components[o])==null?void 0:s.variants,sizes:(i=t.components[o])==null?void 0:i.sizes}};return Array.isArray(e)?e.map(r):[r(e)]}function fn(){var e;return(e=p.useContext(B))==null?void 0:e.emotionCache}function pn(e,t,r){var o;const a=He(),n=(o=a.components[e])==null?void 0:o.defaultProps,s=typeof n=="function"?n(a):n;return O(O(O({},t),s),Cr(r))}function Er({theme:e,emotionCache:t,withNormalizeCSS:r=!1,withGlobalStyles:o=!1,withCSSVariables:a=!1,inherit:n=!1,children:s}){const i=p.useContext(B),l=_r(te,n?O(O({},i.theme),e):e);return A.createElement(qe,{theme:l},A.createElement(B.Provider,{value:{theme:l,emotionCache:t}},r&&A.createElement(wr,null),o&&A.createElement(mr,{theme:l}),a&&A.createElement(gr,{theme:l}),typeof l.globalStyles=="function"&&A.createElement(D,{styles:l.globalStyles(l)}),s))}Er.displayName="@mantine/core/MantineProvider";const{definePartsStyle:Nr,defineMultiStyleConfig:$r}=Xe(at.keys),Tr=Nr(e=>({button:{fontWeight:500,bg:P("base.300","base.500")(e),color:P("base.900","base.100")(e),_hover:{bg:P("base.400","base.600")(e),color:P("base.900","base.50")(e),fontWeight:600}},list:{zIndex:9999,color:P("base.900","base.150")(e),bg:P("base.200","base.800")(e),shadow:"dark-lg",border:"none"},item:{fontSize:"sm",bg:P("base.200","base.800")(e),_hover:{bg:P("base.300","base.700")(e),svg:{opacity:1}},_focus:{bg:P("base.400","base.600")(e)},svg:{opacity:.7,fontSize:14}}})),mn=$r({variants:{invokeAI:Tr},defaultProps:{variant:"invokeAI"}}),gn={variants:{enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.07,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.07,easings:"easeOut"}}}};export{on as A,Yr as B,Te as C,Gr as D,at as E,Ur as F,Vr as G,Zr as H,L as I,Fr as J,Hr as K,Wr as L,Br as M,Mr as N,nn as O,G as P,Or as Q,zr as R,Rr as S,Qe as T,sn as U,cn as V,mn as W,Er as X,M as a,ct as b,an as c,ne as d,un as e,fn as f,He as g,dn as h,Cr as i,W as j,Le as k,pn as l,gn as m,P as n,tn as o,rn as p,Dr as q,E as r,Qr as s,en as t,ln as u,qr as v,Lr as w,Xr as x,Jr as y,Kr as z}; diff --git a/invokeai/frontend/web/dist/index.html b/invokeai/frontend/web/dist/index.html index 9bb5bb86fb..32d631cc03 100644 --- a/invokeai/frontend/web/dist/index.html +++ b/invokeai/frontend/web/dist/index.html @@ -12,7 +12,7 @@ margin: 0; } - + From 9afb5d6ace4837cebe4e240d8916b6a7222b2272 Mon Sep 17 00:00:00 2001 From: Millun Atluri Date: Sun, 13 Aug 2023 09:07:14 +1000 Subject: [PATCH 188/287] Update version to 3.0.2post1 --- invokeai/version/invokeai_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/version/invokeai_version.py b/invokeai/version/invokeai_version.py index 131942e76a..ef3bc05f1a 100644 --- a/invokeai/version/invokeai_version.py +++ b/invokeai/version/invokeai_version.py @@ -1 +1 @@ -__version__ = "3.0.2" +__version__ = "3.0.2post1" From b35cdc05a5699d76147f5c4b0f446d86499cee80 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sun, 13 Aug 2023 20:17:23 +1200 Subject: [PATCH 189/287] feat: Scaled Processing to Inpainting & Outpainting / 1.x & SDXL --- .../listeners/userInvokedCanvas.ts | 1 - .../src/features/canvas/store/canvasSlice.ts | 2 +- .../src/features/canvas/store/canvasTypes.ts | 2 +- .../graphBuilders/buildCanvasInpaintGraph.ts | 194 +++++++++-- .../graphBuilders/buildCanvasOutpaintGraph.ts | 302 ++++++++++++++--- .../buildCanvasSDXLInpaintGraph.ts | 188 ++++++++++- .../buildCanvasSDXLOutpaintGraph.ts | 310 +++++++++++++++--- .../nodes/util/graphBuilders/constants.ts | 6 + .../frontend/web/src/services/api/types.ts | 9 + 9 files changed, 874 insertions(+), 140 deletions(-) diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/userInvokedCanvas.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/userInvokedCanvas.ts index dbcb87f3cf..cd6791cc0b 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/userInvokedCanvas.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/userInvokedCanvas.ts @@ -123,7 +123,6 @@ export const addUserInvokedCanvasListener = () => { log.debug({ graph: parseify(graph) }, `Canvas graph built`); // currently this action is just listened to for logging - console.log(canvasGraphBuilt(graph)); dispatch(canvasGraphBuilt(graph)); // Create the session, store the request id diff --git a/invokeai/frontend/web/src/features/canvas/store/canvasSlice.ts b/invokeai/frontend/web/src/features/canvas/store/canvasSlice.ts index f63ab2fd67..11f829221a 100644 --- a/invokeai/frontend/web/src/features/canvas/store/canvasSlice.ts +++ b/invokeai/frontend/web/src/features/canvas/store/canvasSlice.ts @@ -47,7 +47,7 @@ export const initialCanvasState: CanvasState = { boundingBoxCoordinates: { x: 0, y: 0 }, boundingBoxDimensions: { width: 512, height: 512 }, boundingBoxPreviewFill: { r: 0, g: 0, b: 0, a: 0.5 }, - boundingBoxScaleMethod: 'auto', + boundingBoxScaleMethod: 'none', brushColor: { r: 90, g: 90, b: 255, a: 1 }, brushSize: 50, canvasContainerDimensions: { width: 0, height: 0 }, diff --git a/invokeai/frontend/web/src/features/canvas/store/canvasTypes.ts b/invokeai/frontend/web/src/features/canvas/store/canvasTypes.ts index ba85a7e132..f2ba90b050 100644 --- a/invokeai/frontend/web/src/features/canvas/store/canvasTypes.ts +++ b/invokeai/frontend/web/src/features/canvas/store/canvasTypes.ts @@ -11,9 +11,9 @@ export const LAYER_NAMES = ['base', 'mask'] as const; export type CanvasLayer = (typeof LAYER_NAMES)[number]; export const BOUNDING_BOX_SCALES_DICT = [ + { label: 'None', value: 'none' }, { label: 'Auto', value: 'auto' }, { label: 'Manual', value: 'manual' }, - { label: 'None', value: 'none' }, ]; export const BOUNDING_BOX_SCALES = ['none', 'auto', 'manual'] as const; diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts index c2b8b62e42..00af964350 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts @@ -2,7 +2,10 @@ import { logger } from 'app/logging/logger'; import { RootState } from 'app/store/store'; import { NonNullableGraph } from 'features/nodes/types/types'; import { + ImageBlurInvocation, ImageDTO, + ImageToLatentsInvocation, + NoiseInvocation, RandomIntInvocation, RangeOfSizeInvocation, } from 'services/api/types'; @@ -16,12 +19,16 @@ import { CANVAS_OUTPUT, CLIP_SKIP, COLOR_CORRECT, - INPAINT, + DENOISE_LATENTS, INPAINT_IMAGE, + INPAINT_IMAGE_RESIZE_DOWN, + INPAINT_IMAGE_RESIZE_UP, ITERATE, LATENTS_TO_IMAGE, MAIN_MODEL_LOADER, MASK_BLUR, + MASK_RESIZE_DOWN, + MASK_RESIZE_UP, NEGATIVE_CONDITIONING, NOISE, POSITIVE_CONDITIONING, @@ -108,7 +115,6 @@ export const buildCanvasInpaintGraph = ( type: 'img_blur', id: MASK_BLUR, is_intermediate: true, - image: canvasMaskImage, radius: maskBlur, blur_type: maskBlurMethod, }, @@ -117,19 +123,16 @@ export const buildCanvasInpaintGraph = ( id: INPAINT_IMAGE, is_intermediate: true, fp32: vaePrecision === 'fp32' ? true : false, - image: canvasInitImage, }, [NOISE]: { type: 'noise', id: NOISE, - width, - height, use_cpu, is_intermediate: true, }, - [INPAINT]: { + [DENOISE_LATENTS]: { type: 'denoise_latents', - id: INPAINT, + id: DENOISE_LATENTS, is_intermediate: true, steps: steps, cfg_scale: cfg_scale, @@ -152,7 +155,7 @@ export const buildCanvasInpaintGraph = ( [CANVAS_OUTPUT]: { type: 'img_paste', id: CANVAS_OUTPUT, - is_intermediate: true, + is_intermediate: !shouldAutoSave, base_image: canvasInitImage, }, [RANGE_OF_SIZE]: { @@ -178,7 +181,7 @@ export const buildCanvasInpaintGraph = ( field: 'unet', }, destination: { - node_id: INPAINT, + node_id: DENOISE_LATENTS, field: 'unet', }, }, @@ -220,7 +223,7 @@ export const buildCanvasInpaintGraph = ( field: 'conditioning', }, destination: { - node_id: INPAINT, + node_id: DENOISE_LATENTS, field: 'positive_conditioning', }, }, @@ -230,7 +233,7 @@ export const buildCanvasInpaintGraph = ( field: 'conditioning', }, destination: { - node_id: INPAINT, + node_id: DENOISE_LATENTS, field: 'negative_conditioning', }, }, @@ -240,7 +243,7 @@ export const buildCanvasInpaintGraph = ( field: 'noise', }, destination: { - node_id: INPAINT, + node_id: DENOISE_LATENTS, field: 'noise', }, }, @@ -250,7 +253,7 @@ export const buildCanvasInpaintGraph = ( field: 'latents', }, destination: { - node_id: INPAINT, + node_id: DENOISE_LATENTS, field: 'latents', }, }, @@ -260,7 +263,7 @@ export const buildCanvasInpaintGraph = ( field: 'image', }, destination: { - node_id: INPAINT, + node_id: DENOISE_LATENTS, field: 'mask', }, }, @@ -288,7 +291,7 @@ export const buildCanvasInpaintGraph = ( // Decode Inpainted Latents To Image { source: { - node_id: INPAINT, + node_id: DENOISE_LATENTS, field: 'latents', }, destination: { @@ -296,6 +299,155 @@ export const buildCanvasInpaintGraph = ( field: 'latents', }, }, + ], + }; + + // Handle Scale Before Processing + if (['auto', 'manual'].includes(boundingBoxScaleMethod)) { + const scaledWidth: number = scaledBoundingBoxDimensions.width; + const scaledHeight: number = scaledBoundingBoxDimensions.height; + + // Add Scaling Nodes + graph.nodes[INPAINT_IMAGE_RESIZE_UP] = { + type: 'img_resize', + id: INPAINT_IMAGE_RESIZE_UP, + is_intermediate: true, + width: scaledWidth, + height: scaledHeight, + image: canvasInitImage, + }; + graph.nodes[MASK_RESIZE_UP] = { + type: 'img_resize', + id: MASK_RESIZE_UP, + is_intermediate: true, + width: scaledWidth, + height: scaledHeight, + image: canvasMaskImage, + }; + graph.nodes[INPAINT_IMAGE_RESIZE_DOWN] = { + type: 'img_resize', + id: INPAINT_IMAGE_RESIZE_DOWN, + is_intermediate: true, + width: width, + height: height, + }; + graph.nodes[MASK_RESIZE_DOWN] = { + type: 'img_resize', + id: MASK_RESIZE_DOWN, + is_intermediate: true, + width: width, + height: height, + }; + + graph.nodes[NOISE] = { + ...(graph.nodes[NOISE] as NoiseInvocation), + width: scaledWidth, + height: scaledHeight, + }; + + // Connect Nodes + graph.edges.push( + // Scale Inpaint Image and Mask + { + source: { + node_id: INPAINT_IMAGE_RESIZE_UP, + field: 'image', + }, + destination: { + node_id: INPAINT_IMAGE, + field: 'image', + }, + }, + { + source: { + node_id: MASK_RESIZE_UP, + field: 'image', + }, + destination: { + node_id: MASK_BLUR, + field: 'image', + }, + }, + // Color Correct The Inpainted Result + { + source: { + node_id: LATENTS_TO_IMAGE, + field: 'image', + }, + destination: { + node_id: INPAINT_IMAGE_RESIZE_DOWN, + field: 'image', + }, + }, + { + source: { + node_id: INPAINT_IMAGE_RESIZE_DOWN, + field: 'image', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'image', + }, + }, + { + source: { + node_id: MASK_BLUR, + field: 'image', + }, + destination: { + node_id: MASK_RESIZE_DOWN, + field: 'image', + }, + }, + { + source: { + node_id: MASK_RESIZE_DOWN, + field: 'image', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'mask', + }, + }, + // Paste Back Onto Original Image + { + source: { + node_id: COLOR_CORRECT, + field: 'image', + }, + destination: { + node_id: CANVAS_OUTPUT, + field: 'image', + }, + }, + { + source: { + node_id: MASK_RESIZE_DOWN, + field: 'image', + }, + destination: { + node_id: CANVAS_OUTPUT, + field: 'mask', + }, + } + ); + } else { + // Add Images To Nodes + graph.nodes[NOISE] = { + ...(graph.nodes[NOISE] as NoiseInvocation), + width: width, + height: height, + }; + graph.nodes[INPAINT_IMAGE] = { + ...(graph.nodes[INPAINT_IMAGE] as ImageToLatentsInvocation), + image: canvasInitImage, + }; + graph.nodes[MASK_BLUR] = { + ...(graph.nodes[MASK_BLUR] as ImageBlurInvocation), + image: canvasMaskImage, + }; + + graph.edges.push( // Color Correct The Inpainted Result { source: { @@ -337,11 +489,11 @@ export const buildCanvasInpaintGraph = ( node_id: CANVAS_OUTPUT, field: 'mask', }, - }, - ], - }; + } + ); + } - // handle seed + // Handle Seed if (shouldRandomizeSeed) { // Random int node to generate the starting seed const randomIntNode: RandomIntInvocation = { @@ -365,10 +517,10 @@ export const buildCanvasInpaintGraph = ( addVAEToGraph(state, graph, MAIN_MODEL_LOADER); // add LoRA support - addLoRAsToGraph(state, graph, INPAINT, MAIN_MODEL_LOADER); + addLoRAsToGraph(state, graph, DENOISE_LATENTS, MAIN_MODEL_LOADER); // add controlnet, mutating `graph` - addControlNetToLinearGraph(state, graph, INPAINT); + addControlNetToLinearGraph(state, graph, DENOISE_LATENTS); // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts index d434f3d7cd..2eb70884cf 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts @@ -2,9 +2,12 @@ import { logger } from 'app/logging/logger'; import { RootState } from 'app/store/store'; import { NonNullableGraph } from 'features/nodes/types/types'; import { + ImageBlurInvocation, ImageDTO, + ImageToLatentsInvocation, InfillPatchmatchInvocation, InfillTileInvocation, + NoiseInvocation, RandomIntInvocation, RangeOfSizeInvocation, } from 'services/api/types'; @@ -18,15 +21,20 @@ import { CANVAS_OUTPUT, CLIP_SKIP, COLOR_CORRECT, - INPAINT, + DENOISE_LATENTS, INPAINT_IMAGE, + INPAINT_IMAGE_RESIZE_DOWN, + INPAINT_IMAGE_RESIZE_UP, INPAINT_INFILL, + INPAINT_INFILL_RESIZE_DOWN, ITERATE, LATENTS_TO_IMAGE, MAIN_MODEL_LOADER, MASK_BLUR, MASK_COMBINE, MASK_FROM_ALPHA, + MASK_RESIZE_DOWN, + MASK_RESIZE_UP, NEGATIVE_CONDITIONING, NOISE, POSITIVE_CONDITIONING, @@ -84,23 +92,6 @@ export const buildCanvasOutpaintGraph = ( ? shouldUseCpuNoise : shouldUseCpuNoise; - let infillNode: InfillTileInvocation | InfillPatchmatchInvocation = { - type: 'infill_tile', - id: INPAINT_INFILL, - is_intermediate: true, - image: canvasInitImage, - tile_size: tileSize, - }; - - if (infillMethod === 'patchmatch') { - infillNode = { - type: 'infill_patchmatch', - id: INPAINT_INFILL, - is_intermediate: true, - image: canvasInitImage, - }; - } - const graph: NonNullableGraph = { id: CANVAS_OUTPAINT_GRAPH, nodes: { @@ -147,7 +138,12 @@ export const buildCanvasOutpaintGraph = ( radius: maskBlur, blur_type: maskBlurMethod, }, - [infillNode.id]: infillNode, + [INPAINT_INFILL]: { + type: 'infill_tile', + id: INPAINT_INFILL, + is_intermediate: true, + tile_size: tileSize, + }, [INPAINT_IMAGE]: { type: 'i2l', id: INPAINT_IMAGE, @@ -157,14 +153,12 @@ export const buildCanvasOutpaintGraph = ( [NOISE]: { type: 'noise', id: NOISE, - width, - height, use_cpu, is_intermediate: true, }, - [INPAINT]: { + [DENOISE_LATENTS]: { type: 'denoise_latents', - id: INPAINT, + id: DENOISE_LATENTS, is_intermediate: true, steps: steps, cfg_scale: cfg_scale, @@ -186,7 +180,7 @@ export const buildCanvasOutpaintGraph = ( [CANVAS_OUTPUT]: { type: 'img_paste', id: CANVAS_OUTPUT, - is_intermediate: true, + is_intermediate: !shouldAutoSave, }, [RANGE_OF_SIZE]: { type: 'range_of_size', @@ -211,7 +205,7 @@ export const buildCanvasOutpaintGraph = ( field: 'unet', }, destination: { - node_id: INPAINT, + node_id: DENOISE_LATENTS, field: 'unet', }, }, @@ -268,16 +262,6 @@ export const buildCanvasOutpaintGraph = ( field: 'mask1', }, }, - { - source: { - node_id: MASK_COMBINE, - field: 'image', - }, - destination: { - node_id: MASK_BLUR, - field: 'image', - }, - }, // Plug Everything Into Inpaint Node { source: { @@ -285,7 +269,7 @@ export const buildCanvasOutpaintGraph = ( field: 'conditioning', }, destination: { - node_id: INPAINT, + node_id: DENOISE_LATENTS, field: 'positive_conditioning', }, }, @@ -295,7 +279,7 @@ export const buildCanvasOutpaintGraph = ( field: 'conditioning', }, destination: { - node_id: INPAINT, + node_id: DENOISE_LATENTS, field: 'negative_conditioning', }, }, @@ -305,7 +289,7 @@ export const buildCanvasOutpaintGraph = ( field: 'noise', }, destination: { - node_id: INPAINT, + node_id: DENOISE_LATENTS, field: 'noise', }, }, @@ -315,7 +299,7 @@ export const buildCanvasOutpaintGraph = ( field: 'latents', }, destination: { - node_id: INPAINT, + node_id: DENOISE_LATENTS, field: 'latents', }, }, @@ -325,7 +309,7 @@ export const buildCanvasOutpaintGraph = ( field: 'image', }, destination: { - node_id: INPAINT, + node_id: DENOISE_LATENTS, field: 'mask', }, }, @@ -353,7 +337,7 @@ export const buildCanvasOutpaintGraph = ( // Decode the result from Inpaint { source: { - node_id: INPAINT, + node_id: DENOISE_LATENTS, field: 'latents', }, destination: { @@ -361,6 +345,230 @@ export const buildCanvasOutpaintGraph = ( field: 'latents', }, }, + ], + }; + + // Add Infill Nodes + + if (infillMethod === 'patchmatch') { + graph.nodes[INPAINT_INFILL] = { + type: 'infill_patchmatch', + id: INPAINT_INFILL, + is_intermediate: true, + }; + } + + // Handle Scale Before Processing + if (['auto', 'manual'].includes(boundingBoxScaleMethod)) { + const scaledWidth: number = scaledBoundingBoxDimensions.width; + const scaledHeight: number = scaledBoundingBoxDimensions.height; + + // Add Scaling Nodes + graph.nodes[INPAINT_IMAGE_RESIZE_UP] = { + type: 'img_resize', + id: INPAINT_IMAGE_RESIZE_UP, + is_intermediate: true, + width: scaledWidth, + height: scaledHeight, + image: canvasInitImage, + }; + graph.nodes[MASK_RESIZE_UP] = { + type: 'img_resize', + id: MASK_RESIZE_UP, + is_intermediate: true, + width: scaledWidth, + height: scaledHeight, + }; + graph.nodes[INPAINT_IMAGE_RESIZE_DOWN] = { + type: 'img_resize', + id: INPAINT_IMAGE_RESIZE_DOWN, + is_intermediate: true, + width: width, + height: height, + }; + graph.nodes[INPAINT_INFILL_RESIZE_DOWN] = { + type: 'img_resize', + id: INPAINT_INFILL_RESIZE_DOWN, + is_intermediate: true, + width: width, + height: height, + }; + graph.nodes[MASK_RESIZE_DOWN] = { + type: 'img_resize', + id: MASK_RESIZE_DOWN, + is_intermediate: true, + width: width, + height: height, + }; + + graph.nodes[NOISE] = { + ...(graph.nodes[NOISE] as NoiseInvocation), + width: scaledWidth, + height: scaledHeight, + }; + + // Connect Nodes + graph.edges.push( + // Scale Inpaint Image + { + source: { + node_id: INPAINT_IMAGE_RESIZE_UP, + field: 'image', + }, + destination: { + node_id: INPAINT_INFILL, + field: 'image', + }, + }, + // Take combined mask and resize and then blur + { + source: { + node_id: MASK_COMBINE, + field: 'image', + }, + destination: { + node_id: MASK_RESIZE_UP, + field: 'image', + }, + }, + { + source: { + node_id: MASK_RESIZE_UP, + field: 'image', + }, + destination: { + node_id: MASK_BLUR, + field: 'image', + }, + }, + // Resize Results Down + { + source: { + node_id: LATENTS_TO_IMAGE, + field: 'image', + }, + destination: { + node_id: INPAINT_IMAGE_RESIZE_DOWN, + field: 'image', + }, + }, + { + source: { + node_id: MASK_BLUR, + field: 'image', + }, + destination: { + node_id: MASK_RESIZE_DOWN, + field: 'image', + }, + }, + { + source: { + node_id: INPAINT_INFILL, + field: 'image', + }, + destination: { + node_id: INPAINT_INFILL_RESIZE_DOWN, + field: 'image', + }, + }, + // Color Correct The Inpainted Result + { + source: { + node_id: INPAINT_INFILL_RESIZE_DOWN, + field: 'image', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'reference', + }, + }, + { + source: { + node_id: INPAINT_IMAGE_RESIZE_DOWN, + field: 'image', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'image', + }, + }, + { + source: { + node_id: MASK_RESIZE_DOWN, + field: 'image', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'mask', + }, + }, + // Paste Everything Back + { + source: { + node_id: INPAINT_INFILL_RESIZE_DOWN, + field: 'image', + }, + destination: { + node_id: CANVAS_OUTPUT, + field: 'base_image', + }, + }, + { + source: { + node_id: COLOR_CORRECT, + field: 'image', + }, + destination: { + node_id: CANVAS_OUTPUT, + field: 'image', + }, + }, + { + source: { + node_id: MASK_RESIZE_DOWN, + field: 'image', + }, + destination: { + node_id: CANVAS_OUTPUT, + field: 'mask', + }, + } + ); + } else { + // Add Images To Nodes + graph.nodes[INPAINT_INFILL] = { + ...(graph.nodes[INPAINT_INFILL] as + | InfillTileInvocation + | InfillPatchmatchInvocation), + image: canvasInitImage, + }; + graph.nodes[NOISE] = { + ...(graph.nodes[NOISE] as NoiseInvocation), + width: width, + height: height, + }; + graph.nodes[INPAINT_IMAGE] = { + ...(graph.nodes[INPAINT_IMAGE] as ImageToLatentsInvocation), + image: canvasInitImage, + }; + graph.nodes[MASK_BLUR] = { + ...(graph.nodes[MASK_BLUR] as ImageBlurInvocation), + image: canvasMaskImage, + }; + + graph.edges.push( + // Take combined mask and plug it to blur + { + source: { + node_id: MASK_COMBINE, + field: 'image', + }, + destination: { + node_id: MASK_BLUR, + field: 'image', + }, + }, // Color Correct The Inpainted Result { source: { @@ -422,11 +630,11 @@ export const buildCanvasOutpaintGraph = ( node_id: CANVAS_OUTPUT, field: 'mask', }, - }, - ], - }; + } + ); + } - // handle seed + // Handle Seed if (shouldRandomizeSeed) { // Random int node to generate the starting seed const randomIntNode: RandomIntInvocation = { @@ -450,10 +658,10 @@ export const buildCanvasOutpaintGraph = ( addVAEToGraph(state, graph, MAIN_MODEL_LOADER); // add LoRA support - addLoRAsToGraph(state, graph, INPAINT, MAIN_MODEL_LOADER); + addLoRAsToGraph(state, graph, DENOISE_LATENTS, MAIN_MODEL_LOADER); // add controlnet, mutating `graph` - addControlNetToLinearGraph(state, graph, INPAINT); + addControlNetToLinearGraph(state, graph, DENOISE_LATENTS); // NSFW & watermark - must be last thing added to graph if (state.system.shouldUseNSFWChecker) { diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts index 7b43be497c..13ba385a66 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts @@ -2,7 +2,10 @@ import { logger } from 'app/logging/logger'; import { RootState } from 'app/store/store'; import { NonNullableGraph } from 'features/nodes/types/types'; import { + ImageBlurInvocation, ImageDTO, + ImageToLatentsInvocation, + NoiseInvocation, RandomIntInvocation, RangeOfSizeInvocation, } from 'services/api/types'; @@ -16,9 +19,13 @@ import { CANVAS_OUTPUT, COLOR_CORRECT, INPAINT_IMAGE, + INPAINT_IMAGE_RESIZE_DOWN, + INPAINT_IMAGE_RESIZE_UP, ITERATE, LATENTS_TO_IMAGE, MASK_BLUR, + MASK_RESIZE_DOWN, + MASK_RESIZE_UP, NEGATIVE_CONDITIONING, NOISE, POSITIVE_CONDITIONING, @@ -114,20 +121,16 @@ export const buildCanvasSDXLInpaintGraph = ( is_intermediate: true, radius: maskBlur, blur_type: maskBlurMethod, - image: canvasMaskImage, }, [INPAINT_IMAGE]: { type: 'i2l', id: INPAINT_IMAGE, is_intermediate: true, fp32: vaePrecision === 'fp32' ? true : false, - image: canvasInitImage, }, [NOISE]: { type: 'noise', id: NOISE, - width, - height, use_cpu, is_intermediate: true, }, @@ -156,7 +159,7 @@ export const buildCanvasSDXLInpaintGraph = ( [CANVAS_OUTPUT]: { type: 'img_paste', id: CANVAS_OUTPUT, - is_intermediate: true, + is_intermediate: !shouldAutoSave, base_image: canvasInitImage, }, [RANGE_OF_SIZE]: { @@ -309,7 +312,156 @@ export const buildCanvasSDXLInpaintGraph = ( field: 'latents', }, }, - // Color Correct Inpainted Result + ], + }; + + // Handle Scale Before Processing + if (['auto', 'manual'].includes(boundingBoxScaleMethod)) { + const scaledWidth: number = scaledBoundingBoxDimensions.width; + const scaledHeight: number = scaledBoundingBoxDimensions.height; + + // Add Scaling Nodes + graph.nodes[INPAINT_IMAGE_RESIZE_UP] = { + type: 'img_resize', + id: INPAINT_IMAGE_RESIZE_UP, + is_intermediate: true, + width: scaledWidth, + height: scaledHeight, + image: canvasInitImage, + }; + graph.nodes[MASK_RESIZE_UP] = { + type: 'img_resize', + id: MASK_RESIZE_UP, + is_intermediate: true, + width: scaledWidth, + height: scaledHeight, + image: canvasMaskImage, + }; + graph.nodes[INPAINT_IMAGE_RESIZE_DOWN] = { + type: 'img_resize', + id: INPAINT_IMAGE_RESIZE_DOWN, + is_intermediate: true, + width: width, + height: height, + }; + graph.nodes[MASK_RESIZE_DOWN] = { + type: 'img_resize', + id: MASK_RESIZE_DOWN, + is_intermediate: true, + width: width, + height: height, + }; + + graph.nodes[NOISE] = { + ...(graph.nodes[NOISE] as NoiseInvocation), + width: scaledWidth, + height: scaledHeight, + }; + + // Connect Nodes + graph.edges.push( + // Scale Inpaint Image and Mask + { + source: { + node_id: INPAINT_IMAGE_RESIZE_UP, + field: 'image', + }, + destination: { + node_id: INPAINT_IMAGE, + field: 'image', + }, + }, + { + source: { + node_id: MASK_RESIZE_UP, + field: 'image', + }, + destination: { + node_id: MASK_BLUR, + field: 'image', + }, + }, + // Color Correct The Inpainted Result + { + source: { + node_id: LATENTS_TO_IMAGE, + field: 'image', + }, + destination: { + node_id: INPAINT_IMAGE_RESIZE_DOWN, + field: 'image', + }, + }, + { + source: { + node_id: INPAINT_IMAGE_RESIZE_DOWN, + field: 'image', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'image', + }, + }, + { + source: { + node_id: MASK_BLUR, + field: 'image', + }, + destination: { + node_id: MASK_RESIZE_DOWN, + field: 'image', + }, + }, + { + source: { + node_id: MASK_RESIZE_DOWN, + field: 'image', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'mask', + }, + }, + // Paste Back Onto Original Image + { + source: { + node_id: COLOR_CORRECT, + field: 'image', + }, + destination: { + node_id: CANVAS_OUTPUT, + field: 'image', + }, + }, + { + source: { + node_id: MASK_RESIZE_DOWN, + field: 'image', + }, + destination: { + node_id: CANVAS_OUTPUT, + field: 'mask', + }, + } + ); + } else { + // Add Images To Nodes + graph.nodes[NOISE] = { + ...(graph.nodes[NOISE] as NoiseInvocation), + width: width, + height: height, + }; + graph.nodes[INPAINT_IMAGE] = { + ...(graph.nodes[INPAINT_IMAGE] as ImageToLatentsInvocation), + image: canvasInitImage, + }; + graph.nodes[MASK_BLUR] = { + ...(graph.nodes[MASK_BLUR] as ImageBlurInvocation), + image: canvasMaskImage, + }; + + graph.edges.push( + // Color Correct The Inpainted Result { source: { node_id: LATENTS_TO_IMAGE, @@ -330,7 +482,7 @@ export const buildCanvasSDXLInpaintGraph = ( field: 'mask', }, }, - // Paste them back on original image + // Paste Back Onto Original Image { source: { node_id: COLOR_CORRECT, @@ -350,19 +502,11 @@ export const buildCanvasSDXLInpaintGraph = ( node_id: CANVAS_OUTPUT, field: 'mask', }, - }, - ], - }; - - // Add Refiner if enabled - if (shouldUseSDXLRefiner) { - addSDXLRefinerToGraph(state, graph, SDXL_DENOISE_LATENTS); + } + ); } - // optionally add custom VAE - addVAEToGraph(state, graph, SDXL_MODEL_LOADER); - - // handle seed + // Handle Seed if (shouldRandomizeSeed) { // Random int node to generate the starting seed const randomIntNode: RandomIntInvocation = { @@ -382,6 +526,14 @@ export const buildCanvasSDXLInpaintGraph = ( (graph.nodes[RANGE_OF_SIZE] as RangeOfSizeInvocation).start = seed; } + // Add Refiner if enabled + if (shouldUseSDXLRefiner) { + addSDXLRefinerToGraph(state, graph, SDXL_DENOISE_LATENTS); + } + + // optionally add custom VAE + addVAEToGraph(state, graph, SDXL_MODEL_LOADER); + // add LoRA support addSDXLLoRAsToGraph(state, graph, SDXL_DENOISE_LATENTS, SDXL_MODEL_LOADER); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts index c75ef0f800..7dc46ababf 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts @@ -2,9 +2,12 @@ import { logger } from 'app/logging/logger'; import { RootState } from 'app/store/store'; import { NonNullableGraph } from 'features/nodes/types/types'; import { + ImageBlurInvocation, ImageDTO, + ImageToLatentsInvocation, InfillPatchmatchInvocation, InfillTileInvocation, + NoiseInvocation, RandomIntInvocation, RangeOfSizeInvocation, } from 'services/api/types'; @@ -18,12 +21,17 @@ import { CANVAS_OUTPUT, COLOR_CORRECT, INPAINT_IMAGE, + INPAINT_IMAGE_RESIZE_DOWN, + INPAINT_IMAGE_RESIZE_UP, INPAINT_INFILL, + INPAINT_INFILL_RESIZE_DOWN, ITERATE, LATENTS_TO_IMAGE, MASK_BLUR, MASK_COMBINE, MASK_FROM_ALPHA, + MASK_RESIZE_DOWN, + MASK_RESIZE_UP, NEGATIVE_CONDITIONING, NOISE, POSITIVE_CONDITIONING, @@ -91,23 +99,6 @@ export const buildCanvasSDXLOutpaintGraph = ( ? shouldUseCpuNoise : shouldUseCpuNoise; - let infillNode: InfillTileInvocation | InfillPatchmatchInvocation = { - type: 'infill_tile', - id: INPAINT_INFILL, - is_intermediate: true, - image: canvasInitImage, - tile_size: tileSize, - }; - - if (infillMethod === 'patchmatch') { - infillNode = { - type: 'infill_patchmatch', - id: INPAINT_INFILL, - is_intermediate: true, - image: canvasInitImage, - }; - } - const graph: NonNullableGraph = { id: SDXL_CANVAS_OUTPAINT_GRAPH, nodes: { @@ -132,13 +123,6 @@ export const buildCanvasSDXLOutpaintGraph = ( ? `${negativePrompt} ${negativeStylePrompt}` : negativeStylePrompt, }, - [infillNode.id]: infillNode, - [INPAINT_IMAGE]: { - type: 'i2l', - id: INPAINT_IMAGE, - is_intermediate: true, - fp32: vaePrecision === 'fp32' ? true : false, - }, [MASK_FROM_ALPHA]: { type: 'tomask', id: MASK_FROM_ALPHA, @@ -158,11 +142,21 @@ export const buildCanvasSDXLOutpaintGraph = ( radius: maskBlur, blur_type: maskBlurMethod, }, + [INPAINT_INFILL]: { + type: 'infill_tile', + id: INPAINT_INFILL, + is_intermediate: true, + tile_size: tileSize, + }, + [INPAINT_IMAGE]: { + type: 'i2l', + id: INPAINT_IMAGE, + is_intermediate: true, + fp32: vaePrecision === 'fp32' ? true : false, + }, [NOISE]: { type: 'noise', id: NOISE, - width, - height, use_cpu, is_intermediate: true, }, @@ -190,7 +184,7 @@ export const buildCanvasSDXLOutpaintGraph = ( [CANVAS_OUTPUT]: { type: 'img_paste', id: CANVAS_OUTPUT, - is_intermediate: true, + is_intermediate: !shouldAutoSave, }, [RANGE_OF_SIZE]: { type: 'range_of_size', @@ -259,7 +253,7 @@ export const buildCanvasSDXLOutpaintGraph = ( field: 'clip2', }, }, - // Infill The Image + // Connect Infill Result To Inpaint Image { source: { node_id: INPAINT_INFILL, @@ -270,7 +264,7 @@ export const buildCanvasSDXLOutpaintGraph = ( field: 'image', }, }, - // Create mask from image alpha & merge with user painted mask + // Combine Mask from Init Image with User Painted Mask { source: { node_id: MASK_FROM_ALPHA, @@ -281,16 +275,6 @@ export const buildCanvasSDXLOutpaintGraph = ( field: 'mask1', }, }, - { - source: { - node_id: MASK_COMBINE, - field: 'image', - }, - destination: { - node_id: MASK_BLUR, - field: 'image', - }, - }, // Connect Everything To Inpaint { source: { @@ -374,6 +358,230 @@ export const buildCanvasSDXLOutpaintGraph = ( field: 'latents', }, }, + ], + }; + + // Add Infill Nodes + + if (infillMethod === 'patchmatch') { + graph.nodes[INPAINT_INFILL] = { + type: 'infill_patchmatch', + id: INPAINT_INFILL, + is_intermediate: true, + }; + } + + // Handle Scale Before Processing + if (['auto', 'manual'].includes(boundingBoxScaleMethod)) { + const scaledWidth: number = scaledBoundingBoxDimensions.width; + const scaledHeight: number = scaledBoundingBoxDimensions.height; + + // Add Scaling Nodes + graph.nodes[INPAINT_IMAGE_RESIZE_UP] = { + type: 'img_resize', + id: INPAINT_IMAGE_RESIZE_UP, + is_intermediate: true, + width: scaledWidth, + height: scaledHeight, + image: canvasInitImage, + }; + graph.nodes[MASK_RESIZE_UP] = { + type: 'img_resize', + id: MASK_RESIZE_UP, + is_intermediate: true, + width: scaledWidth, + height: scaledHeight, + }; + graph.nodes[INPAINT_IMAGE_RESIZE_DOWN] = { + type: 'img_resize', + id: INPAINT_IMAGE_RESIZE_DOWN, + is_intermediate: true, + width: width, + height: height, + }; + graph.nodes[INPAINT_INFILL_RESIZE_DOWN] = { + type: 'img_resize', + id: INPAINT_INFILL_RESIZE_DOWN, + is_intermediate: true, + width: width, + height: height, + }; + graph.nodes[MASK_RESIZE_DOWN] = { + type: 'img_resize', + id: MASK_RESIZE_DOWN, + is_intermediate: true, + width: width, + height: height, + }; + + graph.nodes[NOISE] = { + ...(graph.nodes[NOISE] as NoiseInvocation), + width: scaledWidth, + height: scaledHeight, + }; + + // Connect Nodes + graph.edges.push( + // Scale Inpaint Image + { + source: { + node_id: INPAINT_IMAGE_RESIZE_UP, + field: 'image', + }, + destination: { + node_id: INPAINT_INFILL, + field: 'image', + }, + }, + // Take combined mask and resize and then blur + { + source: { + node_id: MASK_COMBINE, + field: 'image', + }, + destination: { + node_id: MASK_RESIZE_UP, + field: 'image', + }, + }, + { + source: { + node_id: MASK_RESIZE_UP, + field: 'image', + }, + destination: { + node_id: MASK_BLUR, + field: 'image', + }, + }, + // Resize Results Down + { + source: { + node_id: LATENTS_TO_IMAGE, + field: 'image', + }, + destination: { + node_id: INPAINT_IMAGE_RESIZE_DOWN, + field: 'image', + }, + }, + { + source: { + node_id: MASK_BLUR, + field: 'image', + }, + destination: { + node_id: MASK_RESIZE_DOWN, + field: 'image', + }, + }, + { + source: { + node_id: INPAINT_INFILL, + field: 'image', + }, + destination: { + node_id: INPAINT_INFILL_RESIZE_DOWN, + field: 'image', + }, + }, + // Color Correct The Inpainted Result + { + source: { + node_id: INPAINT_INFILL_RESIZE_DOWN, + field: 'image', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'reference', + }, + }, + { + source: { + node_id: INPAINT_IMAGE_RESIZE_DOWN, + field: 'image', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'image', + }, + }, + { + source: { + node_id: MASK_RESIZE_DOWN, + field: 'image', + }, + destination: { + node_id: COLOR_CORRECT, + field: 'mask', + }, + }, + // Paste Everything Back + { + source: { + node_id: INPAINT_INFILL_RESIZE_DOWN, + field: 'image', + }, + destination: { + node_id: CANVAS_OUTPUT, + field: 'base_image', + }, + }, + { + source: { + node_id: COLOR_CORRECT, + field: 'image', + }, + destination: { + node_id: CANVAS_OUTPUT, + field: 'image', + }, + }, + { + source: { + node_id: MASK_RESIZE_DOWN, + field: 'image', + }, + destination: { + node_id: CANVAS_OUTPUT, + field: 'mask', + }, + } + ); + } else { + // Add Images To Nodes + graph.nodes[INPAINT_INFILL] = { + ...(graph.nodes[INPAINT_INFILL] as + | InfillTileInvocation + | InfillPatchmatchInvocation), + image: canvasInitImage, + }; + graph.nodes[NOISE] = { + ...(graph.nodes[NOISE] as NoiseInvocation), + width: width, + height: height, + }; + graph.nodes[INPAINT_IMAGE] = { + ...(graph.nodes[INPAINT_IMAGE] as ImageToLatentsInvocation), + image: canvasInitImage, + }; + graph.nodes[MASK_BLUR] = { + ...(graph.nodes[MASK_BLUR] as ImageBlurInvocation), + image: canvasMaskImage, + }; + + graph.edges.push( + // Take combined mask and plug it to blur + { + source: { + node_id: MASK_COMBINE, + field: 'image', + }, + destination: { + node_id: MASK_BLUR, + field: 'image', + }, + }, // Color Correct The Inpainted Result { source: { @@ -405,7 +613,7 @@ export const buildCanvasSDXLOutpaintGraph = ( field: 'mask', }, }, - // Paste Back Outpainted Image on Original + // Paste Everything Back { source: { node_id: INPAINT_INFILL, @@ -435,19 +643,11 @@ export const buildCanvasSDXLOutpaintGraph = ( node_id: CANVAS_OUTPUT, field: 'mask', }, - }, - ], - }; - - // Add Refiner if enabled - if (shouldUseSDXLRefiner) { - addSDXLRefinerToGraph(state, graph, SDXL_DENOISE_LATENTS); + } + ); } - // optionally add custom VAE - addVAEToGraph(state, graph, SDXL_MODEL_LOADER); - - // handle seed + // Handle seed if (shouldRandomizeSeed) { // Random int node to generate the starting seed const randomIntNode: RandomIntInvocation = { @@ -467,6 +667,14 @@ export const buildCanvasSDXLOutpaintGraph = ( (graph.nodes[RANGE_OF_SIZE] as RangeOfSizeInvocation).start = seed; } + // Add Refiner if enabled + if (shouldUseSDXLRefiner) { + addSDXLRefinerToGraph(state, graph, SDXL_DENOISE_LATENTS); + } + + // optionally add custom VAE + addVAEToGraph(state, graph, SDXL_MODEL_LOADER); + // add LoRA support addSDXLLoRAsToGraph(state, graph, SDXL_DENOISE_LATENTS, SDXL_MODEL_LOADER); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts index f1654383dd..3e213120b3 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/constants.ts @@ -21,12 +21,18 @@ export const CANVAS_OUTPUT = 'canvas_output'; export const INPAINT = 'inpaint'; export const INPAINT_SEAM_FIX = 'inpaint_seam_fix'; export const INPAINT_IMAGE = 'inpaint_image'; +export const SCALED_INPAINT_IMAGE = 'scaled_inpaint_image'; +export const INPAINT_IMAGE_RESIZE_UP = 'inpaint_image_resize_up'; +export const INPAINT_IMAGE_RESIZE_DOWN = 'inpaint_image_resize_down'; export const INPAINT_INFILL = 'inpaint_infill'; +export const INPAINT_INFILL_RESIZE_DOWN = 'inpaint_infill_resize_down'; export const INPAINT_FINAL_IMAGE = 'inpaint_final_image'; export const MASK_FROM_ALPHA = 'tomask'; export const MASK_EDGE = 'mask_edge'; export const MASK_BLUR = 'mask_blur'; export const MASK_COMBINE = 'mask_combine'; +export const MASK_RESIZE_UP = 'mask_resize_up'; +export const MASK_RESIZE_DOWN = 'mask_resize_down'; export const COLOR_CORRECT = 'color_correct'; export const PASTE_IMAGE = 'img_paste'; export const CONTROL_NET_COLLECT = 'control_net_collect'; diff --git a/invokeai/frontend/web/src/services/api/types.ts b/invokeai/frontend/web/src/services/api/types.ts index 471c995f4d..435b605489 100644 --- a/invokeai/frontend/web/src/services/api/types.ts +++ b/invokeai/frontend/web/src/services/api/types.ts @@ -184,6 +184,15 @@ export type ImageNSFWBlurInvocation = TypeReq< export type ImageWatermarkInvocation = TypeReq< components['schemas']['ImageWatermarkInvocation'] >; +export type ImageBlurInvocation = TypeReq< + components['schemas']['ImageBlurInvocation'] +>; +export type ColorCorrectInvocation = TypeReq< + components['schemas']['ColorCorrectInvocation'] +>; +export type ImagePasteInvocation = TypeReq< + components['schemas']['ImagePasteInvocation'] +>; // ControlNet Nodes export type ControlNetInvocation = TypeReq< From 33779b6339a471f87f8f068479d1061e97612da8 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sun, 13 Aug 2023 21:16:37 +1200 Subject: [PATCH 190/287] chore: Remove shouldFitToWidthHeight from Inpaint Graphs Was never used for inpainting but was fed to the node anyway. --- .../features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts | 1 - .../nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts | 1 - .../nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts | 1 - .../nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts | 1 - 4 files changed, 4 deletions(-) diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts index 00af964350..6b0da8e197 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasInpaintGraph.ts @@ -53,7 +53,6 @@ export const buildCanvasInpaintGraph = ( scheduler, steps, img2imgStrength: strength, - shouldFitToWidthHeight, iterations, seed, shouldRandomizeSeed, diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts index 2eb70884cf..23f6acb539 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasOutpaintGraph.ts @@ -59,7 +59,6 @@ export const buildCanvasOutpaintGraph = ( scheduler, steps, img2imgStrength: strength, - shouldFitToWidthHeight, iterations, seed, shouldRandomizeSeed, diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts index 13ba385a66..570439f9e6 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts @@ -53,7 +53,6 @@ export const buildCanvasSDXLInpaintGraph = ( scheduler, steps, img2imgStrength: strength, - shouldFitToWidthHeight, iterations, seed, shouldRandomizeSeed, diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts index 7dc46ababf..404f3501dd 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts @@ -59,7 +59,6 @@ export const buildCanvasSDXLOutpaintGraph = ( scheduler, steps, img2imgStrength: strength, - shouldFitToWidthHeight, iterations, seed, shouldRandomizeSeed, From 3ff9961bda9d1739afca6c0446779133694a3d67 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sun, 13 Aug 2023 21:26:20 +1200 Subject: [PATCH 191/287] fix: Circular dependency in Mask Blur Method --- .../Canvas/MaskAdjustment/ParamMaskBlurMethod.tsx | 2 +- .../features/parameters/store/generationSlice.ts | 7 ++++--- .../features/parameters/types/parameterSchemas.ts | 15 +++++++++++++++ 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/MaskAdjustment/ParamMaskBlurMethod.tsx b/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/MaskAdjustment/ParamMaskBlurMethod.tsx index b45dc8b884..fa20dcdbcc 100644 --- a/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/MaskAdjustment/ParamMaskBlurMethod.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/Parameters/Canvas/MaskAdjustment/ParamMaskBlurMethod.tsx @@ -6,7 +6,7 @@ import IAIMantineSelect from 'common/components/IAIMantineSelect'; import { setMaskBlurMethod } from 'features/parameters/store/generationSlice'; import { useTranslation } from 'react-i18next'; -export type MaskBlurMethods = 'box' | 'gaussian'; +type MaskBlurMethods = 'box' | 'gaussian'; const maskBlurMethods: SelectItem[] = [ { label: 'Box Blur', value: 'box' }, diff --git a/invokeai/frontend/web/src/features/parameters/store/generationSlice.ts b/invokeai/frontend/web/src/features/parameters/store/generationSlice.ts index 33a76da4e6..0173391833 100644 --- a/invokeai/frontend/web/src/features/parameters/store/generationSlice.ts +++ b/invokeai/frontend/web/src/features/parameters/store/generationSlice.ts @@ -4,12 +4,13 @@ import { roundToMultiple } from 'common/util/roundDownToMultiple'; import { configChanged } from 'features/system/store/configSlice'; import { clamp } from 'lodash-es'; import { ImageDTO } from 'services/api/types'; -import { MaskBlurMethods } from '../components/Parameters/Canvas/MaskAdjustment/ParamMaskBlurMethod'; + import { clipSkipMap } from '../types/constants'; import { CfgScaleParam, HeightParam, MainModelParam, + MaskBlurMethodParam, NegativePromptParam, OnnxModelParam, PositivePromptParam, @@ -35,7 +36,7 @@ export interface GenerationState { negativePrompt: NegativePromptParam; scheduler: SchedulerParam; maskBlur: number; - maskBlurMethod: MaskBlurMethods; + maskBlurMethod: MaskBlurMethodParam; seed: SeedParam; seedWeights: string; shouldFitToWidthHeight: boolean; @@ -196,7 +197,7 @@ export const generationSlice = createSlice({ setMaskBlur: (state, action: PayloadAction) => { state.maskBlur = action.payload; }, - setMaskBlurMethod: (state, action: PayloadAction) => { + setMaskBlurMethod: (state, action: PayloadAction) => { state.maskBlurMethod = action.payload; }, setTileSize: (state, action: PayloadAction) => { diff --git a/invokeai/frontend/web/src/features/parameters/types/parameterSchemas.ts b/invokeai/frontend/web/src/features/parameters/types/parameterSchemas.ts index ac799ac600..5221bf64a9 100644 --- a/invokeai/frontend/web/src/features/parameters/types/parameterSchemas.ts +++ b/invokeai/frontend/web/src/features/parameters/types/parameterSchemas.ts @@ -385,6 +385,21 @@ export const isValidSDXLRefinerStart = ( val: unknown ): val is SDXLRefinerStartParam => zSDXLRefinerstart.safeParse(val).success; +/** + * Zod schema for a mask blur method parameter + */ +export const zMaskBlurMethod = z.enum(['box', 'gaussian']); +/** + * Type alias for mask blur method parameter, inferred from its zod schema + */ +export type MaskBlurMethodParam = z.infer; +/** + * Validates/type-guards a value as a mask blur method parameter + */ +export const isValidMaskBlurMethod = ( + val: unknown +): val is MaskBlurMethodParam => zMaskBlurMethod.safeParse(val).success; + // /** // * Zod schema for BaseModelType // */ From 561951ad988c53ffdfc3871a850f68096f69e1ed Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Sun, 13 Aug 2023 21:28:39 +1200 Subject: [PATCH 192/287] chore: Black linting --- invokeai/app/invocations/compel.py | 12 +++-- invokeai/app/invocations/latent.py | 4 +- .../stable_diffusion/diffusers_pipeline.py | 19 ++++--- .../diffusion/shared_invokeai_diffusion.py | 53 +++++++++++-------- 4 files changed, 52 insertions(+), 36 deletions(-) diff --git a/invokeai/app/invocations/compel.py b/invokeai/app/invocations/compel.py index 484d813dea..2a56bd04ab 100644 --- a/invokeai/app/invocations/compel.py +++ b/invokeai/app/invocations/compel.py @@ -294,11 +294,17 @@ class SDXLCompelPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): @torch.no_grad() def invoke(self, context: InvocationContext) -> CompelOutput: - c1, c1_pooled, ec1 = self.run_clip_compel(context, self.clip, self.prompt, False, "lora_te1_", zero_on_empty=False) + c1, c1_pooled, ec1 = self.run_clip_compel( + context, self.clip, self.prompt, False, "lora_te1_", zero_on_empty=False + ) if self.style.strip() == "": - c2, c2_pooled, ec2 = self.run_clip_compel(context, self.clip2, self.prompt, True, "lora_te2_", zero_on_empty=True) + c2, c2_pooled, ec2 = self.run_clip_compel( + context, self.clip2, self.prompt, True, "lora_te2_", zero_on_empty=True + ) else: - c2, c2_pooled, ec2 = self.run_clip_compel(context, self.clip2, self.style, True, "lora_te2_", zero_on_empty=True) + c2, c2_pooled, ec2 = self.run_clip_compel( + context, self.clip2, self.style, True, "lora_te2_", zero_on_empty=True + ) original_size = (self.original_height, self.original_width) crop_coords = (self.crop_top, self.crop_left) diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index fc934618cf..8e8d2b2fc9 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -320,7 +320,7 @@ class DenoiseLatentsInvocation(BaseInvocation): def init_scheduler(self, scheduler, device, steps, denoising_start, denoising_end): if scheduler.config.get("cpu_only", False): device = torch.device("cpu") - + num_inference_steps = steps scheduler.set_timesteps(num_inference_steps, device=device) timesteps = scheduler.timesteps @@ -344,7 +344,7 @@ class DenoiseLatentsInvocation(BaseInvocation): # calculate step count based on scheduler order num_inference_steps = len(timesteps) if scheduler.order == 2: - num_inference_steps += (num_inference_steps % 2) + num_inference_steps += num_inference_steps % 2 num_inference_steps = num_inference_steps // 2 return num_inference_steps, timesteps, init_timestep diff --git a/invokeai/backend/stable_diffusion/diffusers_pipeline.py b/invokeai/backend/stable_diffusion/diffusers_pipeline.py index 8e0edb3c30..516e901971 100644 --- a/invokeai/backend/stable_diffusion/diffusers_pipeline.py +++ b/invokeai/backend/stable_diffusion/diffusers_pipeline.py @@ -202,8 +202,8 @@ class ControlNetData: @dataclass class ConditioningData: - unconditioned_embeddings: Any # TODO: type - text_embeddings: Any # TODO: type + unconditioned_embeddings: Any # TODO: type + text_embeddings: Any # TODO: type guidance_scale: Union[float, List[float]] """ Guidance scale as defined in [Classifier-Free Diffusion Guidance](https://arxiv.org/abs/2207.12598). @@ -389,19 +389,17 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): batched_t = init_timestep.repeat(batch_size) if noise is not None: - #latents = noise * self.scheduler.init_noise_sigma # it's like in t2l according to diffusers + # latents = noise * self.scheduler.init_noise_sigma # it's like in t2l according to diffusers latents = self.scheduler.add_noise(latents, noise, batched_t) if mask is not None: if is_inpainting_model(self.unet): # You'd think the inpainting model wouldn't be paying attention to the area it is going to repaint # (that's why there's a mask!) but it seems to really want that blanked out. - #masked_latents = latents * torch.where(mask < 0.5, 1, 0) TODO: inpaint/outpaint/infill + # masked_latents = latents * torch.where(mask < 0.5, 1, 0) TODO: inpaint/outpaint/infill # TODO: we should probably pass this in so we don't have to try/finally around setting it. - self.invokeai_diffuser.model_forward_callback = AddsMaskLatents( - self._unet_forward, mask, orig_latents - ) + self.invokeai_diffuser.model_forward_callback = AddsMaskLatents(self._unet_forward, mask, orig_latents) else: # if no noise provided, noisify unmasked area based on seed(or 0 as fallback) if noise is None: @@ -413,7 +411,9 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): ).to(device=orig_latents.device, dtype=orig_latents.dtype) latents = self.scheduler.add_noise(latents, noise, batched_t) - latents = torch.lerp(orig_latents, latents.to(dtype=orig_latents.dtype), mask.to(dtype=orig_latents.dtype)) + latents = torch.lerp( + orig_latents, latents.to(dtype=orig_latents.dtype), mask.to(dtype=orig_latents.dtype) + ) additional_guidance.append(AddsMaskGuidance(mask, orig_latents, self.scheduler, noise)) @@ -549,11 +549,10 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): uc_noise_pred, c_noise_pred = self.invokeai_diffuser.do_unet_step( sample=latent_model_input, - timestep=t, # TODO: debug how handled batched and non batched timesteps + timestep=t, # TODO: debug how handled batched and non batched timesteps step_index=step_index, total_step_count=total_step_count, conditioning_data=conditioning_data, - # extra: down_block_additional_residuals=controlnet_down_block_samples, # from controlnet(s) mid_block_additional_residual=controlnet_mid_block_sample, # from controlnet(s) diff --git a/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py b/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py index 9b1630dc3a..e739855b9e 100644 --- a/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py +++ b/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py @@ -202,15 +202,21 @@ class InvokeAIDiffuserComponent: else: if type(conditioning_data.text_embeddings) is SDXLConditioningInfo: added_cond_kwargs = { - "text_embeds": torch.cat([ - # TODO: how to pad? just by zeros? or even truncate? - conditioning_data.unconditioned_embeddings.pooled_embeds, - conditioning_data.text_embeddings.pooled_embeds, - ], dim=0), - "time_ids": torch.cat([ - conditioning_data.unconditioned_embeddings.add_time_ids, - conditioning_data.text_embeddings.add_time_ids, - ], dim=0), + "text_embeds": torch.cat( + [ + # TODO: how to pad? just by zeros? or even truncate? + conditioning_data.unconditioned_embeddings.pooled_embeds, + conditioning_data.text_embeddings.pooled_embeds, + ], + dim=0, + ), + "time_ids": torch.cat( + [ + conditioning_data.unconditioned_embeddings.add_time_ids, + conditioning_data.text_embeddings.add_time_ids, + ], + dim=0, + ), } ( encoder_hidden_states, @@ -260,7 +266,7 @@ class InvokeAIDiffuserComponent: self, sample: torch.Tensor, timestep: torch.Tensor, - conditioning_data, # TODO: type + conditioning_data, # TODO: type step_index: int, total_step_count: int, **kwargs, @@ -380,20 +386,25 @@ class InvokeAIDiffuserComponent: added_cond_kwargs = None if type(conditioning_data.text_embeddings) is SDXLConditioningInfo: added_cond_kwargs = { - "text_embeds": torch.cat([ - # TODO: how to pad? just by zeros? or even truncate? - conditioning_data.unconditioned_embeddings.pooled_embeds, - conditioning_data.text_embeddings.pooled_embeds, - ], dim=0), - "time_ids": torch.cat([ - conditioning_data.unconditioned_embeddings.add_time_ids, - conditioning_data.text_embeddings.add_time_ids, - ], dim=0), + "text_embeds": torch.cat( + [ + # TODO: how to pad? just by zeros? or even truncate? + conditioning_data.unconditioned_embeddings.pooled_embeds, + conditioning_data.text_embeddings.pooled_embeds, + ], + dim=0, + ), + "time_ids": torch.cat( + [ + conditioning_data.unconditioned_embeddings.add_time_ids, + conditioning_data.text_embeddings.add_time_ids, + ], + dim=0, + ), } both_conditionings, encoder_attention_mask = self._concat_conditionings_for_batch( - conditioning_data.unconditioned_embeddings.embeds, - conditioning_data.text_embeddings.embeds + conditioning_data.unconditioned_embeddings.embeds, conditioning_data.text_embeddings.embeds ) both_results = self.model_forward_callback( x_twice, From 9e2e82a75250f28d0be9cd10fd89851cb2b682d2 Mon Sep 17 00:00:00 2001 From: greatwolf Date: Sun, 13 Aug 2023 05:15:55 -0700 Subject: [PATCH 193/287] Fixed import issue in invokeai/frontend/install/model_install.py This fixes an import issue introduced in commit 1bfe983. The change made 'invokeai_configure' into a module but this line still tries to call it as if it's a function. This will result in a `'module' not callable` error. --- invokeai/frontend/install/model_install.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/frontend/install/model_install.py b/invokeai/frontend/install/model_install.py index 55e45931e3..ade3043d96 100644 --- a/invokeai/frontend/install/model_install.py +++ b/invokeai/frontend/install/model_install.py @@ -775,7 +775,7 @@ def main(): if not config.model_conf_path.exists(): logger.info("Your InvokeAI root directory is not set up. Calling invokeai-configure.") - from invokeai.frontend.install import invokeai_configure + from invokeai.frontend.install.invokeai_configure import invokeai_configure invokeai_configure() sys.exit(0) From 0aba105a8f1f3fddd3db990787d503469d6ad0f1 Mon Sep 17 00:00:00 2001 From: greatwolf Date: Sun, 13 Aug 2023 05:32:35 -0700 Subject: [PATCH 194/287] Missed a spot in configure_invokeai.py --- scripts/configure_invokeai.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/configure_invokeai.py b/scripts/configure_invokeai.py index 61d32b6df5..b40194c6ce 100755 --- a/scripts/configure_invokeai.py +++ b/scripts/configure_invokeai.py @@ -2,7 +2,7 @@ # Copyright (c) 2022 Lincoln D. Stein (https://github.com/lstein) import warnings -from invokeai.frontend.install import invokeai_configure as configure +from invokeai.frontend.install.invokeai_configure import invokeai_configure as configure if __name__ == "__main__": warnings.warn("configure_invokeai.py is deprecated, running 'invokeai-configure'...", DeprecationWarning) From 90fa3eebb3d0e10e40435b0c49670893b72a67e2 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Mon, 14 Aug 2023 02:25:39 +1200 Subject: [PATCH 195/287] feat: Make SDXL Style Prompt not take spaces --- .../graphBuilders/addSDXLRefinerToGraph.ts | 12 ++++---- .../buildCanvasSDXLImageToImageGraph.ts | 17 ++++++----- .../buildCanvasSDXLInpaintGraph.ts | 22 ++++++--------- .../buildCanvasSDXLOutpaintGraph.ts | 22 ++++++--------- .../buildCanvasSDXLTextToImageGraph.ts | 23 +++++++-------- .../buildLinearSDXLImageToImageGraph.ts | 13 +++++---- .../buildLinearSDXLTextToImageGraph.ts | 15 +++++----- .../helpers/craftSDXLStylePrompt.ts | 28 +++++++++++++++++++ 8 files changed, 86 insertions(+), 66 deletions(-) create mode 100644 invokeai/frontend/web/src/features/nodes/util/graphBuilders/helpers/craftSDXLStylePrompt.ts diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts index 65664c9f2d..53f068c91b 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts @@ -16,18 +16,16 @@ import { SDXL_REFINER_NEGATIVE_CONDITIONING, SDXL_REFINER_POSITIVE_CONDITIONING, } from './constants'; +import { craftSDXLStylePrompt } from './helpers/craftSDXLStylePrompt'; export const addSDXLRefinerToGraph = ( state: RootState, graph: NonNullableGraph, baseNodeId: string ): void => { - const { positivePrompt, negativePrompt } = state.generation; const { refinerModel, refinerAestheticScore, - positiveStylePrompt, - negativeStylePrompt, refinerSteps, refinerScheduler, refinerCFGScale, @@ -49,6 +47,10 @@ export const addSDXLRefinerToGraph = ( metadataAccumulator.refiner_steps = refinerSteps; } + // Construct Style Prompt + const { craftedPositiveStylePrompt, craftedNegativeStylePrompt } = + craftSDXLStylePrompt(state, true); + // Unplug SDXL Latents Generation To Latents To Image graph.edges = graph.edges.filter( (e) => @@ -71,13 +73,13 @@ export const addSDXLRefinerToGraph = ( graph.nodes[SDXL_REFINER_POSITIVE_CONDITIONING] = { type: 'sdxl_refiner_compel_prompt', id: SDXL_REFINER_POSITIVE_CONDITIONING, - style: `${positivePrompt} ${positiveStylePrompt}`, + style: craftedPositiveStylePrompt, aesthetic_score: refinerAestheticScore, }; graph.nodes[SDXL_REFINER_NEGATIVE_CONDITIONING] = { type: 'sdxl_refiner_compel_prompt', id: SDXL_REFINER_NEGATIVE_CONDITIONING, - style: `${negativePrompt} ${negativeStylePrompt}`, + style: craftedNegativeStylePrompt, aesthetic_score: refinerAestheticScore, }; graph.nodes[SDXL_REFINER_DENOISE_LATENTS] = { diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts index a45ffe7df5..ef32943bc8 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLImageToImageGraph.ts @@ -26,6 +26,7 @@ import { SDXL_DENOISE_LATENTS, SDXL_MODEL_LOADER, } from './constants'; +import { craftSDXLStylePrompt } from './helpers/craftSDXLStylePrompt'; /** * Builds the Canvas tab's Image to Image graph. @@ -49,12 +50,10 @@ export const buildCanvasSDXLImageToImageGraph = ( } = state.generation; const { - positiveStylePrompt, - negativeStylePrompt, - shouldConcatSDXLStylePrompt, shouldUseSDXLRefiner, refinerStart, sdxlImg2ImgDenoisingStrength: strength, + shouldConcatSDXLStylePrompt, } = state.sdxl; // The bounding box determines width and height, not the width and height params @@ -71,6 +70,10 @@ export const buildCanvasSDXLImageToImageGraph = ( ? shouldUseCpuNoise : initialGenerationState.shouldUseCpuNoise; + // Construct Style Prompt + const { craftedPositiveStylePrompt, craftedNegativeStylePrompt } = + craftSDXLStylePrompt(state, shouldConcatSDXLStylePrompt); + /** * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the * full graph here as a template. Then use the parameters from app state and set friendlier node @@ -93,17 +96,13 @@ export const buildCanvasSDXLImageToImageGraph = ( type: 'sdxl_compel_prompt', id: POSITIVE_CONDITIONING, prompt: positivePrompt, - style: shouldConcatSDXLStylePrompt - ? `${positivePrompt} ${positiveStylePrompt}` - : positiveStylePrompt, + style: craftedPositiveStylePrompt, }, [NEGATIVE_CONDITIONING]: { type: 'sdxl_compel_prompt', id: NEGATIVE_CONDITIONING, prompt: negativePrompt, - style: shouldConcatSDXLStylePrompt - ? `${negativePrompt} ${negativeStylePrompt}` - : negativeStylePrompt, + style: craftedNegativeStylePrompt, }, [NOISE]: { type: 'noise', diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts index 570439f9e6..7d8586d09c 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts @@ -35,6 +35,7 @@ import { SDXL_DENOISE_LATENTS, SDXL_MODEL_LOADER, } from './constants'; +import { craftSDXLStylePrompt } from './helpers/craftSDXLStylePrompt'; /** * Builds the Canvas tab's Inpaint graph. @@ -63,13 +64,8 @@ export const buildCanvasSDXLInpaintGraph = ( maskBlurMethod, } = state.generation; - const { - positiveStylePrompt, - negativeStylePrompt, - shouldConcatSDXLStylePrompt, - shouldUseSDXLRefiner, - refinerStart, - } = state.sdxl; + const { shouldUseSDXLRefiner, refinerStart, shouldConcatSDXLStylePrompt } = + state.sdxl; if (!model) { log.error('No model found in state'); @@ -90,6 +86,10 @@ export const buildCanvasSDXLInpaintGraph = ( ? shouldUseCpuNoise : shouldUseCpuNoise; + // Construct Style Prompt + const { craftedPositiveStylePrompt, craftedNegativeStylePrompt } = + craftSDXLStylePrompt(state, shouldConcatSDXLStylePrompt); + const graph: NonNullableGraph = { id: SDXL_CANVAS_INPAINT_GRAPH, nodes: { @@ -102,17 +102,13 @@ export const buildCanvasSDXLInpaintGraph = ( type: 'sdxl_compel_prompt', id: POSITIVE_CONDITIONING, prompt: positivePrompt, - style: shouldConcatSDXLStylePrompt - ? `${positivePrompt} ${positiveStylePrompt}` - : positiveStylePrompt, + style: craftedPositiveStylePrompt, }, [NEGATIVE_CONDITIONING]: { type: 'sdxl_compel_prompt', id: NEGATIVE_CONDITIONING, prompt: negativePrompt, - style: shouldConcatSDXLStylePrompt - ? `${negativePrompt} ${negativeStylePrompt}` - : negativeStylePrompt, + style: craftedNegativeStylePrompt, }, [MASK_BLUR]: { type: 'img_blur', diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts index 404f3501dd..b5260894c4 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts @@ -41,6 +41,7 @@ import { SDXL_DENOISE_LATENTS, SDXL_MODEL_LOADER, } from './constants'; +import { craftSDXLStylePrompt } from './helpers/craftSDXLStylePrompt'; /** * Builds the Canvas tab's Outpaint graph. @@ -71,13 +72,8 @@ export const buildCanvasSDXLOutpaintGraph = ( infillMethod, } = state.generation; - const { - positiveStylePrompt, - negativeStylePrompt, - shouldConcatSDXLStylePrompt, - shouldUseSDXLRefiner, - refinerStart, - } = state.sdxl; + const { shouldUseSDXLRefiner, refinerStart, shouldConcatSDXLStylePrompt } = + state.sdxl; if (!model) { log.error('No model found in state'); @@ -98,6 +94,10 @@ export const buildCanvasSDXLOutpaintGraph = ( ? shouldUseCpuNoise : shouldUseCpuNoise; + // Construct Style Prompt + const { craftedPositiveStylePrompt, craftedNegativeStylePrompt } = + craftSDXLStylePrompt(state, shouldConcatSDXLStylePrompt); + const graph: NonNullableGraph = { id: SDXL_CANVAS_OUTPAINT_GRAPH, nodes: { @@ -110,17 +110,13 @@ export const buildCanvasSDXLOutpaintGraph = ( type: 'sdxl_compel_prompt', id: POSITIVE_CONDITIONING, prompt: positivePrompt, - style: shouldConcatSDXLStylePrompt - ? `${positivePrompt} ${positiveStylePrompt}` - : positiveStylePrompt, + style: craftedPositiveStylePrompt, }, [NEGATIVE_CONDITIONING]: { type: 'sdxl_compel_prompt', id: NEGATIVE_CONDITIONING, prompt: negativePrompt, - style: shouldConcatSDXLStylePrompt - ? `${negativePrompt} ${negativeStylePrompt}` - : negativeStylePrompt, + style: craftedNegativeStylePrompt, }, [MASK_FROM_ALPHA]: { type: 'tomask', diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts index da27ace3b0..e79e08ba41 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLTextToImageGraph.ts @@ -24,6 +24,7 @@ import { SDXL_DENOISE_LATENTS, SDXL_MODEL_LOADER, } from './constants'; +import { craftSDXLStylePrompt } from './helpers/craftSDXLStylePrompt'; /** * Builds the Canvas tab's Text to Image graph. @@ -50,13 +51,8 @@ export const buildCanvasSDXLTextToImageGraph = ( const { shouldAutoSave } = state.canvas; - const { - positiveStylePrompt, - negativeStylePrompt, - shouldConcatSDXLStylePrompt, - shouldUseSDXLRefiner, - refinerStart, - } = state.sdxl; + const { shouldUseSDXLRefiner, refinerStart, shouldConcatSDXLStylePrompt } = + state.sdxl; if (!model) { log.error('No model found in state'); @@ -97,6 +93,11 @@ export const buildCanvasSDXLTextToImageGraph = ( denoising_start: 0, denoising_end: shouldUseSDXLRefiner ? refinerStart : 1, }; + + // Construct Style Prompt + const { craftedPositiveStylePrompt, craftedNegativeStylePrompt } = + craftSDXLStylePrompt(state, shouldConcatSDXLStylePrompt); + /** * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the * full graph here as a template. Then use the parameters from app state and set friendlier node @@ -122,18 +123,14 @@ export const buildCanvasSDXLTextToImageGraph = ( id: POSITIVE_CONDITIONING, is_intermediate: true, prompt: positivePrompt, - style: shouldConcatSDXLStylePrompt - ? `${positivePrompt} ${positiveStylePrompt}` - : positiveStylePrompt, + style: craftedPositiveStylePrompt, }, [NEGATIVE_CONDITIONING]: { type: isUsingOnnxModel ? 'prompt_onnx' : 'sdxl_compel_prompt', id: NEGATIVE_CONDITIONING, is_intermediate: true, prompt: negativePrompt, - style: shouldConcatSDXLStylePrompt - ? `${negativePrompt} ${negativeStylePrompt}` - : negativeStylePrompt, + style: craftedNegativeStylePrompt, }, [NOISE]: { type: 'noise', diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts index 0d30fe1c63..42ea07c923 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLImageToImageGraph.ts @@ -25,6 +25,7 @@ import { SDXL_IMAGE_TO_IMAGE_GRAPH, SDXL_MODEL_LOADER, } from './constants'; +import { craftSDXLStylePrompt } from './helpers/craftSDXLStylePrompt'; /** * Builds the Image to Image tab graph. @@ -82,6 +83,10 @@ export const buildLinearSDXLImageToImageGraph = ( ? shouldUseCpuNoise : initialGenerationState.shouldUseCpuNoise; + // Construct Style Prompt + const { craftedPositiveStylePrompt, craftedNegativeStylePrompt } = + craftSDXLStylePrompt(state, shouldConcatSDXLStylePrompt); + // copy-pasted graph from node editor, filled in with state values & friendly node ids const graph: NonNullableGraph = { id: SDXL_IMAGE_TO_IMAGE_GRAPH, @@ -95,17 +100,13 @@ export const buildLinearSDXLImageToImageGraph = ( type: 'sdxl_compel_prompt', id: POSITIVE_CONDITIONING, prompt: positivePrompt, - style: shouldConcatSDXLStylePrompt - ? `${positivePrompt} ${positiveStylePrompt}` - : positiveStylePrompt, + style: craftedPositiveStylePrompt, }, [NEGATIVE_CONDITIONING]: { type: 'sdxl_compel_prompt', id: NEGATIVE_CONDITIONING, prompt: negativePrompt, - style: shouldConcatSDXLStylePrompt - ? `${negativePrompt} ${negativeStylePrompt}` - : negativeStylePrompt, + style: craftedNegativeStylePrompt, }, [NOISE]: { type: 'noise', diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts index 595b6f47cd..a74884f23b 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearSDXLTextToImageGraph.ts @@ -19,6 +19,7 @@ import { SDXL_MODEL_LOADER, SDXL_TEXT_TO_IMAGE_GRAPH, } from './constants'; +import { craftSDXLStylePrompt } from './helpers/craftSDXLStylePrompt'; export const buildLinearSDXLTextToImageGraph = ( state: RootState @@ -42,8 +43,8 @@ export const buildLinearSDXLTextToImageGraph = ( const { positiveStylePrompt, negativeStylePrompt, - shouldConcatSDXLStylePrompt, shouldUseSDXLRefiner, + shouldConcatSDXLStylePrompt, refinerStart, } = state.sdxl; @@ -56,6 +57,10 @@ export const buildLinearSDXLTextToImageGraph = ( throw new Error('No model found in state'); } + // Construct Style Prompt + const { craftedPositiveStylePrompt, craftedNegativeStylePrompt } = + craftSDXLStylePrompt(state, shouldConcatSDXLStylePrompt); + /** * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the * full graph here as a template. Then use the parameters from app state and set friendlier node @@ -78,17 +83,13 @@ export const buildLinearSDXLTextToImageGraph = ( type: 'sdxl_compel_prompt', id: POSITIVE_CONDITIONING, prompt: positivePrompt, - style: shouldConcatSDXLStylePrompt - ? `${positivePrompt} ${positiveStylePrompt}` - : positiveStylePrompt, + style: craftedPositiveStylePrompt, }, [NEGATIVE_CONDITIONING]: { type: 'sdxl_compel_prompt', id: NEGATIVE_CONDITIONING, prompt: negativePrompt, - style: shouldConcatSDXLStylePrompt - ? `${negativePrompt} ${negativeStylePrompt}` - : negativeStylePrompt, + style: craftedNegativeStylePrompt, }, [NOISE]: { type: 'noise', diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/helpers/craftSDXLStylePrompt.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/helpers/craftSDXLStylePrompt.ts new file mode 100644 index 0000000000..f46d5cc5dc --- /dev/null +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/helpers/craftSDXLStylePrompt.ts @@ -0,0 +1,28 @@ +import { RootState } from 'app/store/store'; + +export const craftSDXLStylePrompt = ( + state: RootState, + shouldConcatSDXLStylePrompt: boolean +) => { + const { positivePrompt, negativePrompt } = state.generation; + const { positiveStylePrompt, negativeStylePrompt } = state.sdxl; + + let craftedPositiveStylePrompt = positiveStylePrompt; + let craftedNegativeStylePrompt = negativeStylePrompt; + + if (shouldConcatSDXLStylePrompt) { + if (positiveStylePrompt.length > 0) { + craftedPositiveStylePrompt = `${positivePrompt} ${positiveStylePrompt}`; + } else { + craftedPositiveStylePrompt = positivePrompt; + } + + if (negativeStylePrompt.length > 0) { + craftedNegativeStylePrompt = `${negativePrompt} ${negativeStylePrompt}`; + } else { + craftedNegativeStylePrompt = negativePrompt; + } + } + + return { craftedPositiveStylePrompt, craftedNegativeStylePrompt }; +}; From 499e89d6f64847c6e05e971ca2bc463d2e434103 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Mon, 14 Aug 2023 04:02:36 +1200 Subject: [PATCH 196/287] feat: Add SDXL Negative Aesthetic Score --- invokeai/app/invocations/metadata.py | 10 +++- .../graphBuilders/addSDXLRefinerToGraph.ts | 12 ++-- .../parameters/hooks/useRecallParameters.ts | 32 +++++++--- .../parameters/types/parameterSchemas.ts | 36 ++++++++--- .../components/ParamSDXLRefinerCollapse.tsx | 6 +- ...ParamSDXLRefinerNegativeAestheticScore.tsx | 60 +++++++++++++++++++ ...aramSDXLRefinerPositiveAestheticScore.tsx} | 20 +++---- .../web/src/features/sdxl/store/sdxlSlice.ts | 22 +++++-- .../frontend/web/src/services/api/schema.d.ts | 38 +++++++----- 9 files changed, 183 insertions(+), 53 deletions(-) create mode 100644 invokeai/frontend/web/src/features/sdxl/components/SDXLRefiner/ParamSDXLRefinerNegativeAestheticScore.tsx rename invokeai/frontend/web/src/features/sdxl/components/SDXLRefiner/{ParamSDXLRefinerAestheticScore.tsx => ParamSDXLRefinerPositiveAestheticScore.tsx} (66%) diff --git a/invokeai/app/invocations/metadata.py b/invokeai/app/invocations/metadata.py index 4f51bf10b8..d0549f8539 100644 --- a/invokeai/app/invocations/metadata.py +++ b/invokeai/app/invocations/metadata.py @@ -67,7 +67,10 @@ class CoreMetadata(BaseModelExcludeNull): ) refiner_steps: Union[int, None] = Field(default=None, description="The number of steps used for the refiner") refiner_scheduler: Union[str, None] = Field(default=None, description="The scheduler used for the refiner") - refiner_aesthetic_store: Union[float, None] = Field( + refiner_positive_aesthetic_store: Union[float, None] = Field( + default=None, description="The aesthetic score used for the refiner" + ) + refiner_negative_aesthetic_store: Union[float, None] = Field( default=None, description="The aesthetic score used for the refiner" ) refiner_start: Union[float, None] = Field(default=None, description="The start value used for refiner denoising") @@ -136,7 +139,10 @@ class MetadataAccumulatorInvocation(BaseInvocation): ) refiner_steps: Union[int, None] = Field(default=None, description="The number of steps used for the refiner") refiner_scheduler: Union[str, None] = Field(default=None, description="The scheduler used for the refiner") - refiner_aesthetic_store: Union[float, None] = Field( + refiner_positive_aesthetic_score: Union[float, None] = Field( + default=None, description="The aesthetic score used for the refiner" + ) + refiner_negative_aesthetic_score: Union[float, None] = Field( default=None, description="The aesthetic score used for the refiner" ) refiner_start: Union[float, None] = Field(default=None, description="The start value used for refiner denoising") diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts index 53f068c91b..577f4e4b7d 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts @@ -25,7 +25,8 @@ export const addSDXLRefinerToGraph = ( ): void => { const { refinerModel, - refinerAestheticScore, + refinerPositiveAestheticScore, + refinerNegativeAestheticScore, refinerSteps, refinerScheduler, refinerCFGScale, @@ -40,7 +41,10 @@ export const addSDXLRefinerToGraph = ( if (metadataAccumulator) { metadataAccumulator.refiner_model = refinerModel; - metadataAccumulator.refiner_aesthetic_store = refinerAestheticScore; + metadataAccumulator.refiner_positive_aesthetic_score = + refinerPositiveAestheticScore; + metadataAccumulator.refiner_negative_aesthetic_score = + refinerNegativeAestheticScore; metadataAccumulator.refiner_cfg_scale = refinerCFGScale; metadataAccumulator.refiner_scheduler = refinerScheduler; metadataAccumulator.refiner_start = refinerStart; @@ -74,13 +78,13 @@ export const addSDXLRefinerToGraph = ( type: 'sdxl_refiner_compel_prompt', id: SDXL_REFINER_POSITIVE_CONDITIONING, style: craftedPositiveStylePrompt, - aesthetic_score: refinerAestheticScore, + aesthetic_score: refinerPositiveAestheticScore, }; graph.nodes[SDXL_REFINER_NEGATIVE_CONDITIONING] = { type: 'sdxl_refiner_compel_prompt', id: SDXL_REFINER_NEGATIVE_CONDITIONING, style: craftedNegativeStylePrompt, - aesthetic_score: refinerAestheticScore, + aesthetic_score: refinerNegativeAestheticScore, }; graph.nodes[SDXL_REFINER_DENOISE_LATENTS] = { type: 'denoise_latents', diff --git a/invokeai/frontend/web/src/features/parameters/hooks/useRecallParameters.ts b/invokeai/frontend/web/src/features/parameters/hooks/useRecallParameters.ts index 907107e95e..95caf9a9e1 100644 --- a/invokeai/frontend/web/src/features/parameters/hooks/useRecallParameters.ts +++ b/invokeai/frontend/web/src/features/parameters/hooks/useRecallParameters.ts @@ -4,16 +4,16 @@ import { refinerModelChanged, setNegativeStylePromptSDXL, setPositiveStylePromptSDXL, - setRefinerAestheticScore, setRefinerCFGScale, + setRefinerNegativeAestheticScore, + setRefinerPositiveAestheticScore, setRefinerScheduler, setRefinerStart, setRefinerSteps, } from 'features/sdxl/store/sdxlSlice'; import { useCallback } from 'react'; import { useTranslation } from 'react-i18next'; -import { UnsafeImageMetadata } from 'services/api/types'; -import { ImageDTO } from 'services/api/types'; +import { ImageDTO, UnsafeImageMetadata } from 'services/api/types'; import { initialImageSelected, modelSelected } from '../store/actions'; import { setCfgScale, @@ -34,8 +34,9 @@ import { isValidPositivePrompt, isValidSDXLNegativeStylePrompt, isValidSDXLPositiveStylePrompt, - isValidSDXLRefinerAestheticScore, isValidSDXLRefinerModel, + isValidSDXLRefinerNegativeAestheticScore, + isValidSDXLRefinerPositiveAestheticScore, isValidSDXLRefinerStart, isValidScheduler, isValidSeed, @@ -339,7 +340,8 @@ export const useRecallParameters = () => { refiner_cfg_scale, refiner_steps, refiner_scheduler, - refiner_aesthetic_store, + refiner_positive_aesthetic_store, + refiner_negative_aesthetic_store, refiner_start, } = metadata; @@ -398,8 +400,24 @@ export const useRecallParameters = () => { dispatch(setRefinerScheduler(refiner_scheduler)); } - if (isValidSDXLRefinerAestheticScore(refiner_aesthetic_store)) { - dispatch(setRefinerAestheticScore(refiner_aesthetic_store)); + if ( + isValidSDXLRefinerPositiveAestheticScore( + refiner_positive_aesthetic_store + ) + ) { + dispatch( + setRefinerPositiveAestheticScore(refiner_positive_aesthetic_store) + ); + } + + if ( + isValidSDXLRefinerNegativeAestheticScore( + refiner_negative_aesthetic_store + ) + ) { + dispatch( + setRefinerNegativeAestheticScore(refiner_negative_aesthetic_store) + ); } if (isValidSDXLRefinerStart(refiner_start)) { diff --git a/invokeai/frontend/web/src/features/parameters/types/parameterSchemas.ts b/invokeai/frontend/web/src/features/parameters/types/parameterSchemas.ts index 5221bf64a9..25905e1e14 100644 --- a/invokeai/frontend/web/src/features/parameters/types/parameterSchemas.ts +++ b/invokeai/frontend/web/src/features/parameters/types/parameterSchemas.ts @@ -353,22 +353,40 @@ export const isValidPrecision = (val: unknown): val is PrecisionParam => zPrecision.safeParse(val).success; /** - * Zod schema for SDXL refiner aesthetic score parameter + * Zod schema for SDXL refiner positive aesthetic score parameter */ -export const zSDXLRefinerAestheticScore = z.number().min(1).max(10); +export const zSDXLRefinerPositiveAestheticScore = z.number().min(1).max(10); /** - * Type alias for SDXL refiner aesthetic score parameter, inferred from its zod schema + * Type alias for SDXL refiner aesthetic positive score parameter, inferred from its zod schema */ -export type SDXLRefinerAestheticScoreParam = z.infer< - typeof zSDXLRefinerAestheticScore +export type SDXLRefinerPositiveAestheticScoreParam = z.infer< + typeof zSDXLRefinerPositiveAestheticScore >; /** - * Validates/type-guards a value as a SDXL refiner aesthetic score parameter + * Validates/type-guards a value as a SDXL refiner positive aesthetic score parameter */ -export const isValidSDXLRefinerAestheticScore = ( +export const isValidSDXLRefinerPositiveAestheticScore = ( val: unknown -): val is SDXLRefinerAestheticScoreParam => - zSDXLRefinerAestheticScore.safeParse(val).success; +): val is SDXLRefinerPositiveAestheticScoreParam => + zSDXLRefinerPositiveAestheticScore.safeParse(val).success; + +/** + * Zod schema for SDXL refiner negative aesthetic score parameter + */ +export const zSDXLRefinerNegativeAestheticScore = z.number().min(1).max(10); +/** + * Type alias for SDXL refiner aesthetic negative score parameter, inferred from its zod schema + */ +export type SDXLRefinerNegativeAestheticScoreParam = z.infer< + typeof zSDXLRefinerNegativeAestheticScore +>; +/** + * Validates/type-guards a value as a SDXL refiner negative aesthetic score parameter + */ +export const isValidSDXLRefinerNegativeAestheticScore = ( + val: unknown +): val is SDXLRefinerNegativeAestheticScoreParam => + zSDXLRefinerNegativeAestheticScore.safeParse(val).success; /** * Zod schema for SDXL start parameter diff --git a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLRefinerCollapse.tsx b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLRefinerCollapse.tsx index 37e1718dc6..3b186006f1 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLRefinerCollapse.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/ParamSDXLRefinerCollapse.tsx @@ -4,9 +4,10 @@ import { stateSelector } from 'app/store/store'; import { useAppSelector } from 'app/store/storeHooks'; import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; import IAICollapse from 'common/components/IAICollapse'; -import ParamSDXLRefinerAestheticScore from './SDXLRefiner/ParamSDXLRefinerAestheticScore'; import ParamSDXLRefinerCFGScale from './SDXLRefiner/ParamSDXLRefinerCFGScale'; import ParamSDXLRefinerModelSelect from './SDXLRefiner/ParamSDXLRefinerModelSelect'; +import ParamSDXLRefinerNegativeAestheticScore from './SDXLRefiner/ParamSDXLRefinerNegativeAestheticScore'; +import ParamSDXLRefinerPositiveAestheticScore from './SDXLRefiner/ParamSDXLRefinerPositiveAestheticScore'; import ParamSDXLRefinerScheduler from './SDXLRefiner/ParamSDXLRefinerScheduler'; import ParamSDXLRefinerStart from './SDXLRefiner/ParamSDXLRefinerStart'; import ParamSDXLRefinerSteps from './SDXLRefiner/ParamSDXLRefinerSteps'; @@ -38,7 +39,8 @@ const ParamSDXLRefinerCollapse = () => { - + + diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLRefiner/ParamSDXLRefinerNegativeAestheticScore.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLRefiner/ParamSDXLRefinerNegativeAestheticScore.tsx new file mode 100644 index 0000000000..4dad3f519a --- /dev/null +++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLRefiner/ParamSDXLRefinerNegativeAestheticScore.tsx @@ -0,0 +1,60 @@ +import { createSelector } from '@reduxjs/toolkit'; +import { stateSelector } from 'app/store/store'; +import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; +import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; +import IAISlider from 'common/components/IAISlider'; +import { setRefinerNegativeAestheticScore } from 'features/sdxl/store/sdxlSlice'; +import { memo, useCallback } from 'react'; +import { useIsRefinerAvailable } from 'services/api/hooks/useIsRefinerAvailable'; + +const selector = createSelector( + [stateSelector], + ({ sdxl, hotkeys }) => { + const { refinerNegativeAestheticScore } = sdxl; + const { shift } = hotkeys; + + return { + refinerNegativeAestheticScore, + shift, + }; + }, + defaultSelectorOptions +); + +const ParamSDXLRefinerNegativeAestheticScore = () => { + const { refinerNegativeAestheticScore, shift } = useAppSelector(selector); + + const isRefinerAvailable = useIsRefinerAvailable(); + + const dispatch = useAppDispatch(); + + const handleChange = useCallback( + (v: number) => dispatch(setRefinerNegativeAestheticScore(v)), + [dispatch] + ); + + const handleReset = useCallback( + () => dispatch(setRefinerNegativeAestheticScore(2.5)), + [dispatch] + ); + + return ( + + ); +}; + +export default memo(ParamSDXLRefinerNegativeAestheticScore); diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLRefiner/ParamSDXLRefinerAestheticScore.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLRefiner/ParamSDXLRefinerPositiveAestheticScore.tsx similarity index 66% rename from invokeai/frontend/web/src/features/sdxl/components/SDXLRefiner/ParamSDXLRefinerAestheticScore.tsx rename to invokeai/frontend/web/src/features/sdxl/components/SDXLRefiner/ParamSDXLRefinerPositiveAestheticScore.tsx index 9c9c4b2f89..47842629f6 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/SDXLRefiner/ParamSDXLRefinerAestheticScore.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLRefiner/ParamSDXLRefinerPositiveAestheticScore.tsx @@ -3,50 +3,50 @@ import { stateSelector } from 'app/store/store'; import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; import IAISlider from 'common/components/IAISlider'; -import { setRefinerAestheticScore } from 'features/sdxl/store/sdxlSlice'; +import { setRefinerPositiveAestheticScore } from 'features/sdxl/store/sdxlSlice'; import { memo, useCallback } from 'react'; import { useIsRefinerAvailable } from 'services/api/hooks/useIsRefinerAvailable'; const selector = createSelector( [stateSelector], ({ sdxl, hotkeys }) => { - const { refinerAestheticScore } = sdxl; + const { refinerPositiveAestheticScore } = sdxl; const { shift } = hotkeys; return { - refinerAestheticScore, + refinerPositiveAestheticScore, shift, }; }, defaultSelectorOptions ); -const ParamSDXLRefinerAestheticScore = () => { - const { refinerAestheticScore, shift } = useAppSelector(selector); +const ParamSDXLRefinerPositiveAestheticScore = () => { + const { refinerPositiveAestheticScore, shift } = useAppSelector(selector); const isRefinerAvailable = useIsRefinerAvailable(); const dispatch = useAppDispatch(); const handleChange = useCallback( - (v: number) => dispatch(setRefinerAestheticScore(v)), + (v: number) => dispatch(setRefinerPositiveAestheticScore(v)), [dispatch] ); const handleReset = useCallback( - () => dispatch(setRefinerAestheticScore(6)), + () => dispatch(setRefinerPositiveAestheticScore(6)), [dispatch] ); return ( { ); }; -export default memo(ParamSDXLRefinerAestheticScore); +export default memo(ParamSDXLRefinerPositiveAestheticScore); diff --git a/invokeai/frontend/web/src/features/sdxl/store/sdxlSlice.ts b/invokeai/frontend/web/src/features/sdxl/store/sdxlSlice.ts index 7ee3ea1d4f..7670790f05 100644 --- a/invokeai/frontend/web/src/features/sdxl/store/sdxlSlice.ts +++ b/invokeai/frontend/web/src/features/sdxl/store/sdxlSlice.ts @@ -16,7 +16,8 @@ type SDXLInitialState = { refinerSteps: number; refinerCFGScale: number; refinerScheduler: SchedulerParam; - refinerAestheticScore: number; + refinerPositiveAestheticScore: number; + refinerNegativeAestheticScore: number; refinerStart: number; }; @@ -30,7 +31,8 @@ const sdxlInitialState: SDXLInitialState = { refinerSteps: 20, refinerCFGScale: 7.5, refinerScheduler: 'euler', - refinerAestheticScore: 6, + refinerPositiveAestheticScore: 6, + refinerNegativeAestheticScore: 2.5, refinerStart: 0.7, }; @@ -68,8 +70,17 @@ const sdxlSlice = createSlice({ setRefinerScheduler: (state, action: PayloadAction) => { state.refinerScheduler = action.payload; }, - setRefinerAestheticScore: (state, action: PayloadAction) => { - state.refinerAestheticScore = action.payload; + setRefinerPositiveAestheticScore: ( + state, + action: PayloadAction + ) => { + state.refinerPositiveAestheticScore = action.payload; + }, + setRefinerNegativeAestheticScore: ( + state, + action: PayloadAction + ) => { + state.refinerNegativeAestheticScore = action.payload; }, setRefinerStart: (state, action: PayloadAction) => { state.refinerStart = action.payload; @@ -87,7 +98,8 @@ export const { setRefinerSteps, setRefinerCFGScale, setRefinerScheduler, - setRefinerAestheticScore, + setRefinerPositiveAestheticScore, + setRefinerNegativeAestheticScore, setRefinerStart, } = sdxlSlice.actions; diff --git a/invokeai/frontend/web/src/services/api/schema.d.ts b/invokeai/frontend/web/src/services/api/schema.d.ts index a2076557b8..0bfa7c334f 100644 --- a/invokeai/frontend/web/src/services/api/schema.d.ts +++ b/invokeai/frontend/web/src/services/api/schema.d.ts @@ -1209,10 +1209,15 @@ export type components = { */ refiner_scheduler?: string; /** - * Refiner Aesthetic Store + * Refiner Positive Aesthetic Store * @description The aesthetic score used for the refiner */ - refiner_aesthetic_store?: number; + refiner_positive_aesthetic_store?: number; + /** + * Refiner Negative Aesthetic Store + * @description The aesthetic score used for the refiner + */ + refiner_negative_aesthetic_store?: number; /** * Refiner Start * @description The start value used for refiner denoising @@ -3599,10 +3604,15 @@ export type components = { */ refiner_scheduler?: string; /** - * Refiner Aesthetic Store + * Refiner Positive Aesthetic Score * @description The aesthetic score used for the refiner */ - refiner_aesthetic_store?: number; + refiner_positive_aesthetic_score?: number; + /** + * Refiner Negative Aesthetic Score + * @description The aesthetic score used for the refiner + */ + refiner_negative_aesthetic_score?: number; /** * Refiner Start * @description The start value used for refiner denoising @@ -5781,11 +5791,11 @@ export type components = { image?: components["schemas"]["ImageField"]; }; /** - * StableDiffusionOnnxModelFormat + * ControlNetModelFormat * @description An enumeration. * @enum {string} */ - StableDiffusionOnnxModelFormat: "olive" | "onnx"; + ControlNetModelFormat: "checkpoint" | "diffusers"; /** * StableDiffusion2ModelFormat * @description An enumeration. @@ -5793,23 +5803,23 @@ export type components = { */ StableDiffusion2ModelFormat: "checkpoint" | "diffusers"; /** - * ControlNetModelFormat + * StableDiffusionXLModelFormat * @description An enumeration. * @enum {string} */ - ControlNetModelFormat: "checkpoint" | "diffusers"; + StableDiffusionXLModelFormat: "checkpoint" | "diffusers"; + /** + * StableDiffusionOnnxModelFormat + * @description An enumeration. + * @enum {string} + */ + StableDiffusionOnnxModelFormat: "olive" | "onnx"; /** * StableDiffusion1ModelFormat * @description An enumeration. * @enum {string} */ StableDiffusion1ModelFormat: "checkpoint" | "diffusers"; - /** - * StableDiffusionXLModelFormat - * @description An enumeration. - * @enum {string} - */ - StableDiffusionXLModelFormat: "checkpoint" | "diffusers"; }; responses: never; parameters: never; From 746e099f0d765209bb09ba4776f6dbc4dd780517 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Mon, 14 Aug 2023 04:04:15 +1200 Subject: [PATCH 197/287] fix: Do not do step math for refinerSteps This is probably better done on the backend or in a different way. This can cause steps to go above 1000 which is more than the set number for the model. --- .../features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts index 577f4e4b7d..adce34adf5 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts @@ -90,7 +90,7 @@ export const addSDXLRefinerToGraph = ( type: 'denoise_latents', id: SDXL_REFINER_DENOISE_LATENTS, cfg_scale: refinerCFGScale, - steps: refinerSteps / (1 - Math.min(refinerStart, 0.99)), + steps: refinerSteps, scheduler: refinerScheduler, denoising_start: refinerStart, denoising_end: 1, From 94636ddb039d9bb2eae1fb20375302d3122a7426 Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Sun, 13 Aug 2023 19:31:14 +0300 Subject: [PATCH 198/287] Fix empty prompt handling --- invokeai/app/invocations/compel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/app/invocations/compel.py b/invokeai/app/invocations/compel.py index 2a56bd04ab..86565366d9 100644 --- a/invokeai/app/invocations/compel.py +++ b/invokeai/app/invocations/compel.py @@ -295,7 +295,7 @@ class SDXLCompelPromptInvocation(BaseInvocation, SDXLPromptInvocationBase): @torch.no_grad() def invoke(self, context: InvocationContext) -> CompelOutput: c1, c1_pooled, ec1 = self.run_clip_compel( - context, self.clip, self.prompt, False, "lora_te1_", zero_on_empty=False + context, self.clip, self.prompt, False, "lora_te1_", zero_on_empty=True ) if self.style.strip() == "": c2, c2_pooled, ec2 = self.run_clip_compel( From 6e0beb1ed4ccc7495924df4c1e0919c4d76d527c Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Sun, 13 Aug 2023 19:31:47 +0300 Subject: [PATCH 199/287] Fixes for second order scheduler timesteps --- invokeai/app/invocations/latent.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index 8e8d2b2fc9..de9d8b37c8 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -317,6 +317,7 @@ class DenoiseLatentsInvocation(BaseInvocation): return control_data # original idea by https://github.com/AmericanPresidentJimmyCarter + # TODO: research more for second order schedulers timesteps def init_scheduler(self, scheduler, device, steps, denoising_start, denoising_end): if scheduler.config.get("cpu_only", False): device = torch.device("cpu") @@ -329,8 +330,7 @@ class DenoiseLatentsInvocation(BaseInvocation): t_start_val = int(round(scheduler.config.num_train_timesteps * (1 - denoising_start))) t_start_idx = len(list(filter(lambda ts: ts >= t_start_val, timesteps))) timesteps = timesteps[t_start_idx:] - if scheduler.order == 2: - # TODO: research for second order schedulers timesteps + if scheduler.order == 2 and t_start_idx > 0: timesteps = timesteps[1:] # save start timestep to apply noise @@ -339,6 +339,8 @@ class DenoiseLatentsInvocation(BaseInvocation): # apply denoising_end t_end_val = int(round(scheduler.config.num_train_timesteps * (1 - denoising_end))) t_end_idx = len(list(filter(lambda ts: ts >= t_end_val, timesteps))) + if scheduler.order == 2 and t_end_idx > 0: + t_end_idx += 1 timesteps = timesteps[:t_end_idx] # calculate step count based on scheduler order From 59ba9fc0f6c8582d80baa7ba1f913893ae0775d3 Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Sun, 13 Aug 2023 19:50:16 +0300 Subject: [PATCH 200/287] Flip bits in seed for sde/ancestral schedulers to have different noise from initial --- invokeai/app/invocations/latent.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index de9d8b37c8..7451213860 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -205,7 +205,8 @@ class DenoiseLatentsInvocation(BaseInvocation): # for ddim scheduler eta=0.0, # ddim_eta # for ancestral and sde schedulers - generator=torch.Generator(device=unet.device).manual_seed(seed), + # flip all bits to have noise different from initial + generator=torch.Generator(device=unet.device).manual_seed(seed ^ 0xFFFFFFFF), ) return conditioning_data From 7a8f14d595cfa1e17280028255fdef7a531ac50b Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Sun, 13 Aug 2023 19:50:48 +0300 Subject: [PATCH 201/287] Clean-up code a bit --- .../stable_diffusion/diffusers_pipeline.py | 19 +++++++++---------- .../stable_diffusion/diffusion/__init__.py | 2 +- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/invokeai/backend/stable_diffusion/diffusers_pipeline.py b/invokeai/backend/stable_diffusion/diffusers_pipeline.py index 516e901971..b38ebc6684 100644 --- a/invokeai/backend/stable_diffusion/diffusers_pipeline.py +++ b/invokeai/backend/stable_diffusion/diffusers_pipeline.py @@ -34,6 +34,7 @@ from .diffusion import ( AttentionMapSaver, InvokeAIDiffuserComponent, PostprocessingSettings, + BasicConditioningInfo, ) from ..util import normalize_device @@ -92,8 +93,7 @@ class AddsMaskGuidance: mask: torch.FloatTensor mask_latents: torch.FloatTensor scheduler: SchedulerMixin - noise: Optional[torch.Tensor] = None - _debug: Optional[Callable] = None + noise: torch.Tensor def __call__(self, step_output: Union[BaseOutput, SchedulerOutput], t: torch.Tensor, conditioning) -> BaseOutput: output_class = step_output.__class__ # We'll create a new one with masked data. @@ -123,14 +123,13 @@ class AddsMaskGuidance: # some schedulers expect t to be one-dimensional. # TODO: file diffusers bug about inconsistency? t = einops.repeat(t, "-> batch", batch=batch_size) - - if self.noise is not None: - mask_latents = self.scheduler.add_noise(self.mask_latents, self.noise, t) - + # Noise shouldn't be re-randomized between steps here. The multistep schedulers + # get very confused about what is happening from step to step when we do that. + mask_latents = self.scheduler.add_noise(self.mask_latents, self.noise, t) + # TODO: Do we need to also apply scheduler.scale_model_input? Or is add_noise appropriately scaled already? + # mask_latents = self.scheduler.scale_model_input(mask_latents, t) mask_latents = einops.repeat(mask_latents, "b c h w -> (repeat b) c h w", repeat=batch_size) masked_input = torch.lerp(mask_latents.to(dtype=latents.dtype), latents, mask.to(dtype=latents.dtype)) - if self._debug: - self._debug(masked_input, f"t={t} lerped") return masked_input @@ -202,8 +201,8 @@ class ControlNetData: @dataclass class ConditioningData: - unconditioned_embeddings: Any # TODO: type - text_embeddings: Any # TODO: type + unconditioned_embeddings: BasicConditioningInfo + text_embeddings: BasicConditioningInfo guidance_scale: Union[float, List[float]] """ Guidance scale as defined in [Classifier-Free Diffusion Guidance](https://arxiv.org/abs/2207.12598). diff --git a/invokeai/backend/stable_diffusion/diffusion/__init__.py b/invokeai/backend/stable_diffusion/diffusion/__init__.py index 6dd2817f29..e9d86a933a 100644 --- a/invokeai/backend/stable_diffusion/diffusion/__init__.py +++ b/invokeai/backend/stable_diffusion/diffusion/__init__.py @@ -3,4 +3,4 @@ Initialization file for invokeai.models.diffusion """ from .cross_attention_control import InvokeAICrossAttentionMixin from .cross_attention_map_saving import AttentionMapSaver -from .shared_invokeai_diffusion import InvokeAIDiffuserComponent, PostprocessingSettings +from .shared_invokeai_diffusion import InvokeAIDiffuserComponent, PostprocessingSettings, BasicConditioningInfo, SDXLConditioningInfo From 0b2925709c8f0a130f727176fa4241b251129b77 Mon Sep 17 00:00:00 2001 From: Mitchell Allain Date: Sun, 13 Aug 2023 14:36:55 -0500 Subject: [PATCH 202/287] Use double quotes in docker entrypoint to prevent word splitting --- docker/docker-entrypoint.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docker/docker-entrypoint.sh b/docker/docker-entrypoint.sh index d45ed3d7ef..6d776feb0e 100755 --- a/docker/docker-entrypoint.sh +++ b/docker/docker-entrypoint.sh @@ -29,8 +29,8 @@ configure() { echo "To reconfigure InvokeAI, delete the above file." echo "======================================================================" else - mkdir -p ${INVOKEAI_ROOT} - chown --recursive ${USER} ${INVOKEAI_ROOT} + mkdir -p "${INVOKEAI_ROOT}" + chown --recursive ${USER} "${INVOKEAI_ROOT}" gosu ${USER} invokeai-configure --yes --default_only fi } @@ -50,16 +50,16 @@ fi if [[ -v "PUBLIC_KEY" ]] && [[ ! -d "${HOME}/.ssh" ]]; then apt-get update apt-get install -y openssh-server - pushd $HOME + pushd "$HOME" mkdir -p .ssh - echo ${PUBLIC_KEY} > .ssh/authorized_keys + echo "${PUBLIC_KEY}" > .ssh/authorized_keys chmod -R 700 .ssh popd service ssh start fi -cd ${INVOKEAI_ROOT} +cd "${INVOKEAI_ROOT}" # Run the CMD as the Container User (not root). exec gosu ${USER} "$@" From 096333ba3f9d419b9d5815b4648374b6759e981d Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Mon, 14 Aug 2023 00:20:01 +0300 Subject: [PATCH 203/287] Fix error on zero timesteps --- .../stable_diffusion/diffusers_pipeline.py | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/invokeai/backend/stable_diffusion/diffusers_pipeline.py b/invokeai/backend/stable_diffusion/diffusers_pipeline.py index b38ebc6684..6268af369f 100644 --- a/invokeai/backend/stable_diffusion/diffusers_pipeline.py +++ b/invokeai/backend/stable_diffusion/diffusers_pipeline.py @@ -385,7 +385,7 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): orig_latents = latents.clone() batch_size = latents.shape[0] - batched_t = init_timestep.repeat(batch_size) + batched_t = init_timestep.expand(batch_size) if noise is not None: # latents = noise * self.scheduler.init_noise_sigma # it's like in t2l according to diffusers @@ -448,20 +448,19 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): self._adjust_memory_efficient_attention(latents) if additional_guidance is None: additional_guidance = [] + + batch_size = latents.shape[0] + attention_map_saver: Optional[AttentionMapSaver] = None + + if timesteps.shape[0] == 0: + return latents, attention_map_saver + extra_conditioning_info = conditioning_data.extra with self.invokeai_diffuser.custom_attention_context( self.invokeai_diffuser.model, extra_conditioning_info=extra_conditioning_info, step_count=len(self.scheduler.timesteps), ): - batch_size = latents.shape[0] - batched_t = torch.full( - (batch_size,), - timesteps[0], - dtype=timesteps.dtype, - device=self.unet.device, - ) - yield PipelineIntermediateState( step=-1, order=self.scheduler.order, @@ -470,10 +469,9 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): latents=latents, ) - attention_map_saver: Optional[AttentionMapSaver] = None # print("timesteps:", timesteps) for i, t in enumerate(self.progress_bar(timesteps)): - batched_t.fill_(t) + batched_t = t.expand(batch_size) step_output = self.step( batched_t, latents, From d63bb3947592193bc360662f48f56f26e2edf021 Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Mon, 14 Aug 2023 00:24:38 +0300 Subject: [PATCH 204/287] Make dpmpp_sde(_k) use not random seed --- invokeai/app/invocations/latent.py | 9 ++++++++- invokeai/app/invocations/onnx.py | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index 7451213860..fc7b5cd77d 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -13,7 +13,7 @@ from diffusers.models.attention_processor import ( LoRAXFormersAttnProcessor, XFormersAttnProcessor, ) -from diffusers.schedulers import SchedulerMixin as Scheduler +from diffusers.schedulers import DPMSolverSDEScheduler, SchedulerMixin as Scheduler from pydantic import BaseModel, Field, validator from torchvision.transforms.functional import resize as tv_resize @@ -81,6 +81,7 @@ def get_scheduler( context: InvocationContext, scheduler_info: ModelInfo, scheduler_name: str, + seed: int, ) -> Scheduler: scheduler_class, scheduler_extra_config = SCHEDULER_MAP.get(scheduler_name, SCHEDULER_MAP["ddim"]) orig_scheduler_info = context.services.model_manager.get_model( @@ -97,6 +98,11 @@ def get_scheduler( **scheduler_extra_config, "_backup": scheduler_config, } + + # make dpmpp_sde reproducable(seed can be passed only in initializer) + if scheduler_class is DPMSolverSDEScheduler: + scheduler_config["noise_sampler_seed"] = seed + scheduler = scheduler_class.from_config(scheduler_config) # hack copied over from generate.py @@ -421,6 +427,7 @@ class DenoiseLatentsInvocation(BaseInvocation): context=context, scheduler_info=self.unet.scheduler, scheduler_name=self.scheduler, + seed=seed, ) pipeline = self.create_pipeline(unet, scheduler) diff --git a/invokeai/app/invocations/onnx.py b/invokeai/app/invocations/onnx.py index fe9a64552e..0fb1d56848 100644 --- a/invokeai/app/invocations/onnx.py +++ b/invokeai/app/invocations/onnx.py @@ -212,6 +212,7 @@ class ONNXTextToLatentsInvocation(BaseInvocation): context=context, scheduler_info=self.unet.scheduler, scheduler_name=self.scheduler, + seed=0, # TODO: refactor this node ) def torch2numpy(latent: torch.Tensor): From 75fb3f429fecfba87b088f29043d8b56b1af9385 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Mon, 14 Aug 2023 09:26:01 +1200 Subject: [PATCH 205/287] re: Readd Refiner Step Math but cap max steps to 1000 --- .../features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts index adce34adf5..16256e05af 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/addSDXLRefinerToGraph.ts @@ -90,7 +90,7 @@ export const addSDXLRefinerToGraph = ( type: 'denoise_latents', id: SDXL_REFINER_DENOISE_LATENTS, cfg_scale: refinerCFGScale, - steps: refinerSteps, + steps: Math.min(refinerSteps / (1 - Math.min(refinerStart, 0.99)), 1000), scheduler: refinerScheduler, denoising_start: refinerStart, denoising_end: 1, From cc85c98bf3c8953454e6fe54d4f5884fe98c98c9 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Mon, 14 Aug 2023 09:26:28 +1200 Subject: [PATCH 206/287] feat: Upgrade Diffusers to 0.19.3 Needed for some schedulers --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 8fb2e7aaa7..6e5b754914 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -40,7 +40,7 @@ dependencies = [ "controlnet-aux>=0.0.6", "timm==0.6.13", # needed to override timm latest in controlnet_aux, see https://github.com/isl-org/ZoeDepth/issues/26 "datasets", - "diffusers[torch]~=0.19.0", + "diffusers[torch]~=0.19.3", "dnspython~=2.4.0", "dynamicprompts", "easing-functions", From 550e6ef27a037f812a71227d2942630f3999d4f6 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Mon, 14 Aug 2023 10:27:07 +1200 Subject: [PATCH 207/287] re: Set the image denoise str back to 0 Bug has been fixed. No longer needed. --- invokeai/frontend/web/src/features/system/store/configSlice.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/frontend/web/src/features/system/store/configSlice.ts b/invokeai/frontend/web/src/features/system/store/configSlice.ts index ff7a0c0700..6cff92a136 100644 --- a/invokeai/frontend/web/src/features/system/store/configSlice.ts +++ b/invokeai/frontend/web/src/features/system/store/configSlice.ts @@ -61,7 +61,7 @@ export const initialConfigState: AppConfig = { }, img2imgStrength: { initial: 0.7, - min: 0.01, + min: 0, sliderMax: 1, inputMax: 1, fineStep: 0.01, From fecad2c0145638d6b88c1cf241b96307ae663a02 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Mon, 14 Aug 2023 11:59:11 +1200 Subject: [PATCH 208/287] fix: SDXL Denoising Strength not plugged in correctly --- .../SDXLUnifiedCanvasTabCoreParameters.tsx | 75 +++++++++++++++++++ .../SDXLUnifiedCanvasTabParameters.tsx | 4 +- 2 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 invokeai/frontend/web/src/features/sdxl/components/SDXLUnifiedCanvasTabCoreParameters.tsx diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLUnifiedCanvasTabCoreParameters.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLUnifiedCanvasTabCoreParameters.tsx new file mode 100644 index 0000000000..7db6ccc219 --- /dev/null +++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLUnifiedCanvasTabCoreParameters.tsx @@ -0,0 +1,75 @@ +import { Box, Flex } from '@chakra-ui/react'; +import { createSelector } from '@reduxjs/toolkit'; +import { stateSelector } from 'app/store/store'; +import { useAppSelector } from 'app/store/storeHooks'; +import { defaultSelectorOptions } from 'app/store/util/defaultMemoizeOptions'; +import IAICollapse from 'common/components/IAICollapse'; +import ParamBoundingBoxSize from 'features/parameters/components/Parameters/Canvas/BoundingBox/ParamBoundingBoxSize'; +import ParamCFGScale from 'features/parameters/components/Parameters/Core/ParamCFGScale'; +import ParamIterations from 'features/parameters/components/Parameters/Core/ParamIterations'; +import ParamModelandVAEandScheduler from 'features/parameters/components/Parameters/Core/ParamModelandVAEandScheduler'; +import ParamSteps from 'features/parameters/components/Parameters/Core/ParamSteps'; +import ParamSeedFull from 'features/parameters/components/Parameters/Seed/ParamSeedFull'; +import { memo } from 'react'; +import ParamSDXLImg2ImgDenoisingStrength from './ParamSDXLImg2ImgDenoisingStrength'; + +const selector = createSelector( + stateSelector, + ({ ui, generation }) => { + const { shouldUseSliders } = ui; + const { shouldRandomizeSeed } = generation; + + const activeLabel = !shouldRandomizeSeed ? 'Manual Seed' : undefined; + + return { shouldUseSliders, activeLabel }; + }, + defaultSelectorOptions +); + +const SDXLUnifiedCanvasTabCoreParameters = () => { + const { shouldUseSliders, activeLabel } = useAppSelector(selector); + + return ( + + + {shouldUseSliders ? ( + <> + + + + + + + + + + ) : ( + <> + + + + + + + + + + + + )} + + + + ); +}; + +export default memo(SDXLUnifiedCanvasTabCoreParameters); diff --git a/invokeai/frontend/web/src/features/sdxl/components/SDXLUnifiedCanvasTabParameters.tsx b/invokeai/frontend/web/src/features/sdxl/components/SDXLUnifiedCanvasTabParameters.tsx index 6faafc6891..c6af754ad9 100644 --- a/invokeai/frontend/web/src/features/sdxl/components/SDXLUnifiedCanvasTabParameters.tsx +++ b/invokeai/frontend/web/src/features/sdxl/components/SDXLUnifiedCanvasTabParameters.tsx @@ -5,16 +5,16 @@ import ParamMaskAdjustmentCollapse from 'features/parameters/components/Paramete import ParamControlNetCollapse from 'features/parameters/components/Parameters/ControlNet/ParamControlNetCollapse'; import ParamNoiseCollapse from 'features/parameters/components/Parameters/Noise/ParamNoiseCollapse'; import ProcessButtons from 'features/parameters/components/ProcessButtons/ProcessButtons'; -import UnifiedCanvasCoreParameters from 'features/ui/components/tabs/UnifiedCanvas/UnifiedCanvasCoreParameters'; import ParamSDXLPromptArea from './ParamSDXLPromptArea'; import ParamSDXLRefinerCollapse from './ParamSDXLRefinerCollapse'; +import SDXLUnifiedCanvasTabCoreParameters from './SDXLUnifiedCanvasTabCoreParameters'; export default function SDXLUnifiedCanvasTabParameters() { return ( <> - + From 957ee6d370e32715506fbd1aeefdea03f7e73b4f Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Mon, 14 Aug 2023 12:13:29 +1200 Subject: [PATCH 209/287] fix: SDXL Canvas Inpaint & Outpaint not respecting SDXL Refiner start value --- .../nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts | 4 +++- .../nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts index 7d8586d09c..f38ed00bf4 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts @@ -136,7 +136,9 @@ export const buildCanvasSDXLInpaintGraph = ( steps: steps, cfg_scale: cfg_scale, scheduler: scheduler, - denoising_start: 1 - strength, + denoising_start: shouldUseSDXLRefiner + ? Math.min(refinerStart, 1 - strength) + : 1 - strength, denoising_end: shouldUseSDXLRefiner ? refinerStart : 1, }, [LATENTS_TO_IMAGE]: { diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts index b5260894c4..d7904de4f9 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts @@ -162,7 +162,9 @@ export const buildCanvasSDXLOutpaintGraph = ( steps: steps, cfg_scale: cfg_scale, scheduler: scheduler, - denoising_start: 1 - strength, + denoising_start: shouldUseSDXLRefiner + ? Math.min(refinerStart, 1 - strength) + : 1 - strength, denoising_end: shouldUseSDXLRefiner ? refinerStart : 1, }, [LATENTS_TO_IMAGE]: { From 3d8da67be3bef184439ef4c2103765713dfd3c11 Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Mon, 14 Aug 2023 03:35:15 +0300 Subject: [PATCH 210/287] Remove callback-generator wrapper --- .../stable_diffusion/diffusers_pipeline.py | 75 ++++++------------- 1 file changed, 22 insertions(+), 53 deletions(-) diff --git a/invokeai/backend/stable_diffusion/diffusers_pipeline.py b/invokeai/backend/stable_diffusion/diffusers_pipeline.py index 6268af369f..98c3c22423 100644 --- a/invokeai/backend/stable_diffusion/diffusers_pipeline.py +++ b/invokeai/backend/stable_diffusion/diffusers_pipeline.py @@ -5,7 +5,7 @@ import inspect import math import secrets from dataclasses import dataclass, field -from typing import Any, Callable, Generic, List, Optional, Type, TypeVar, Union +from typing import Any, Callable, Generic, List, Optional, Type, Union import PIL.Image import einops @@ -27,7 +27,6 @@ from diffusers.utils.import_utils import is_xformers_available from diffusers.utils.outputs import BaseOutput from pydantic import Field from transformers import CLIPFeatureExtractor, CLIPTextModel, CLIPTokenizer -from typing_extensions import ParamSpec from invokeai.app.services.config import InvokeAIAppConfig from .diffusion import ( @@ -161,33 +160,6 @@ def is_inpainting_model(unet: UNet2DConditionModel): return unet.conv_in.in_channels == 9 -CallbackType = TypeVar("CallbackType") -ReturnType = TypeVar("ReturnType") -ParamType = ParamSpec("ParamType") - - -@dataclass(frozen=True) -class GeneratorToCallbackinator(Generic[ParamType, ReturnType, CallbackType]): - """Convert a generator to a function with a callback and a return value.""" - - generator_method: Callable[ParamType, ReturnType] - callback_arg_type: Type[CallbackType] - - def __call__( - self, - *args: ParamType.args, - callback: Callable[[CallbackType], Any] = None, - **kwargs: ParamType.kwargs, - ) -> ReturnType: - result = None - for result in self.generator_method(*args, **kwargs): - if callback is not None and isinstance(result, self.callback_arg_type): - callback(result) - if result is None: - raise AssertionError("why was that an empty generator?") - return result - - @dataclass class ControlNetData: model: ControlNetModel = Field(default=None) @@ -375,10 +347,6 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): if init_timestep.shape[0] == 0: return latents, None - infer_latents_from_embeddings = GeneratorToCallbackinator( - self.generate_latents_from_embeddings, PipelineIntermediateState - ) - if additional_guidance is None: additional_guidance = [] @@ -417,7 +385,7 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): additional_guidance.append(AddsMaskGuidance(mask, orig_latents, self.scheduler, noise)) try: - result: PipelineIntermediateState = infer_latents_from_embeddings( + latents, attention_map_saver = self.generate_latents_from_embeddings( latents, timesteps, conditioning_data, @@ -428,13 +396,11 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): finally: self.invokeai_diffuser.model_forward_callback = self._unet_forward - latents = result.latents - # restore unmasked part if mask is not None: latents = torch.lerp(orig_latents, latents.to(dtype=orig_latents.dtype), mask.to(dtype=orig_latents.dtype)) - return latents, result.attention_map_saver + return latents, attention_map_saver def generate_latents_from_embeddings( self, @@ -444,6 +410,7 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): *, additional_guidance: List[Callable] = None, control_data: List[ControlNetData] = None, + callback: Callable[[PipelineIntermediateState], None] = None, ): self._adjust_memory_efficient_attention(latents) if additional_guidance is None: @@ -461,13 +428,14 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): extra_conditioning_info=extra_conditioning_info, step_count=len(self.scheduler.timesteps), ): - yield PipelineIntermediateState( - step=-1, - order=self.scheduler.order, - total_steps=len(timesteps), - timestep=self.scheduler.config.num_train_timesteps, - latents=latents, - ) + if callback is not None: + callback(PipelineIntermediateState( + step=-1, + order=self.scheduler.order, + total_steps=len(timesteps), + timestep=self.scheduler.config.num_train_timesteps, + latents=latents, + )) # print("timesteps:", timesteps) for i, t in enumerate(self.progress_bar(timesteps)): @@ -500,15 +468,16 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): # attention_map_saver = AttentionMapSaver(token_ids=attention_map_token_ids, latents_shape=latents.shape[-2:]) # self.invokeai_diffuser.setup_attention_map_saving(attention_map_saver) - yield PipelineIntermediateState( - step=i, - order=self.scheduler.order, - total_steps=len(timesteps), - timestep=int(t), - latents=latents, - predicted_original=predicted_original, - attention_map_saver=attention_map_saver, - ) + if callback is not None: + callback(PipelineIntermediateState( + step=i, + order=self.scheduler.order, + total_steps=len(timesteps), + timestep=int(t), + latents=latents, + predicted_original=predicted_original, + attention_map_saver=attention_map_saver, + )) return latents, attention_map_saver From 58d5c61c79d34098810a09f1f4b7126afe183198 Mon Sep 17 00:00:00 2001 From: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Mon, 14 Aug 2023 12:55:18 +1200 Subject: [PATCH 211/287] fix: SDXL Inpaint & Outpaint using regular Img2Img strength --- .../util/graphBuilders/buildCanvasSDXLInpaintGraph.ts | 9 ++++++--- .../util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts index f38ed00bf4..ba40a70c83 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLInpaintGraph.ts @@ -53,7 +53,6 @@ export const buildCanvasSDXLInpaintGraph = ( cfgScale: cfg_scale, scheduler, steps, - img2imgStrength: strength, iterations, seed, shouldRandomizeSeed, @@ -64,8 +63,12 @@ export const buildCanvasSDXLInpaintGraph = ( maskBlurMethod, } = state.generation; - const { shouldUseSDXLRefiner, refinerStart, shouldConcatSDXLStylePrompt } = - state.sdxl; + const { + sdxlImg2ImgDenoisingStrength: strength, + shouldUseSDXLRefiner, + refinerStart, + shouldConcatSDXLStylePrompt, + } = state.sdxl; if (!model) { log.error('No model found in state'); diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts index d7904de4f9..50a773bf50 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasSDXLOutpaintGraph.ts @@ -59,7 +59,6 @@ export const buildCanvasSDXLOutpaintGraph = ( cfgScale: cfg_scale, scheduler, steps, - img2imgStrength: strength, iterations, seed, shouldRandomizeSeed, @@ -72,8 +71,12 @@ export const buildCanvasSDXLOutpaintGraph = ( infillMethod, } = state.generation; - const { shouldUseSDXLRefiner, refinerStart, shouldConcatSDXLStylePrompt } = - state.sdxl; + const { + sdxlImg2ImgDenoisingStrength: strength, + shouldUseSDXLRefiner, + refinerStart, + shouldConcatSDXLStylePrompt, + } = state.sdxl; if (!model) { log.error('No model found in state'); From 409e5d01bada60b0c7e29525672d6744e248fc8e Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Mon, 14 Aug 2023 05:14:05 +0300 Subject: [PATCH 212/287] Fix cpu_only schedulers(unipc) --- invokeai/app/invocations/latent.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/invokeai/app/invocations/latent.py b/invokeai/app/invocations/latent.py index fc7b5cd77d..c66c9c6214 100644 --- a/invokeai/app/invocations/latent.py +++ b/invokeai/app/invocations/latent.py @@ -326,12 +326,13 @@ class DenoiseLatentsInvocation(BaseInvocation): # original idea by https://github.com/AmericanPresidentJimmyCarter # TODO: research more for second order schedulers timesteps def init_scheduler(self, scheduler, device, steps, denoising_start, denoising_end): - if scheduler.config.get("cpu_only", False): - device = torch.device("cpu") - num_inference_steps = steps - scheduler.set_timesteps(num_inference_steps, device=device) - timesteps = scheduler.timesteps + if scheduler.config.get("cpu_only", False): + scheduler.set_timesteps(num_inference_steps, device="cpu") + timesteps = scheduler.timesteps.to(device=device) + else: + scheduler.set_timesteps(num_inference_steps, device=device) + timesteps = scheduler.timesteps # apply denoising_start t_start_val = int(round(scheduler.config.num_train_timesteps * (1 - denoising_start))) From 511da59793bb8cbafb39422c5ee9ffb910f06340 Mon Sep 17 00:00:00 2001 From: Sergey Borisov Date: Mon, 14 Aug 2023 05:14:24 +0300 Subject: [PATCH 213/287] Add magic to debug --- .../stable_diffusion/diffusers_pipeline.py | 35 +++++++++++-------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/invokeai/backend/stable_diffusion/diffusers_pipeline.py b/invokeai/backend/stable_diffusion/diffusers_pipeline.py index 98c3c22423..82dcad96f8 100644 --- a/invokeai/backend/stable_diffusion/diffusers_pipeline.py +++ b/invokeai/backend/stable_diffusion/diffusers_pipeline.py @@ -92,7 +92,7 @@ class AddsMaskGuidance: mask: torch.FloatTensor mask_latents: torch.FloatTensor scheduler: SchedulerMixin - noise: torch.Tensor + noise: Optional[torch.Tensor] def __call__(self, step_output: Union[BaseOutput, SchedulerOutput], t: torch.Tensor, conditioning) -> BaseOutput: output_class = step_output.__class__ # We'll create a new one with masked data. @@ -124,7 +124,10 @@ class AddsMaskGuidance: t = einops.repeat(t, "-> batch", batch=batch_size) # Noise shouldn't be re-randomized between steps here. The multistep schedulers # get very confused about what is happening from step to step when we do that. - mask_latents = self.scheduler.add_noise(self.mask_latents, self.noise, t) + if self.noise is not None: + mask_latents = self.scheduler.add_noise(self.mask_latents, self.noise, t) + else: + mask_latents = self.mask_latents.clone() # TODO: Do we need to also apply scheduler.scale_model_input? Or is add_noise appropriately scaled already? # mask_latents = self.scheduler.scale_model_input(mask_latents, t) mask_latents = einops.repeat(mask_latents, "b c h w -> (repeat b) c h w", repeat=batch_size) @@ -368,19 +371,21 @@ class StableDiffusionGeneratorPipeline(StableDiffusionPipeline): # TODO: we should probably pass this in so we don't have to try/finally around setting it. self.invokeai_diffuser.model_forward_callback = AddsMaskLatents(self._unet_forward, mask, orig_latents) else: - # if no noise provided, noisify unmasked area based on seed(or 0 as fallback) - if noise is None: - noise = torch.randn( - orig_latents.shape, - dtype=torch.float32, - device="cpu", - generator=torch.Generator(device="cpu").manual_seed(seed or 0), - ).to(device=orig_latents.device, dtype=orig_latents.dtype) - - latents = self.scheduler.add_noise(latents, noise, batched_t) - latents = torch.lerp( - orig_latents, latents.to(dtype=orig_latents.dtype), mask.to(dtype=orig_latents.dtype) - ) + # TODO: debug better with or without Oo + if False: + # if no noise provided, noisify unmasked area based on seed(or 0 as fallback) + if noise is None: + noise = torch.randn( + orig_latents.shape, + dtype=torch.float32, + device="cpu", + generator=torch.Generator(device="cpu").manual_seed(seed or 0), + ).to(device=orig_latents.device, dtype=orig_latents.dtype) + + latents = self.scheduler.add_noise(latents, noise, batched_t) + latents = torch.lerp( + orig_latents, latents.to(dtype=orig_latents.dtype), mask.to(dtype=orig_latents.dtype) + ) additional_guidance.append(AddsMaskGuidance(mask, orig_latents, self.scheduler, noise)) From b2700ffde43895e6e7055286d53175823c4ab902 Mon Sep 17 00:00:00 2001 From: Millun Atluri Date: Mon, 14 Aug 2023 12:23:07 +1000 Subject: [PATCH 214/287] Update post processing docs --- docs/assets/features/upscale-dialog.png | Bin 317552 -> 304094 bytes docs/features/POSTPROCESS.md | 99 +++--------------------- 2 files changed, 9 insertions(+), 90 deletions(-) diff --git a/docs/assets/features/upscale-dialog.png b/docs/assets/features/upscale-dialog.png index 3ba013654566e4d40075822bc5ad8e3c8e22bc98..937bda9db359a27a2b74c32fb6273ff897d25ae6 100644 GIT binary patch literal 304094 zcmeFZWmp_hwl>-{?iMV#yM+Xo#$AFt0fM``J0w7Gw*(LF9^8Wmhv4q+x0snT=Y02@ z^ZWj}JYDJPs@i+?UcT3QI}u6>lBh^;kw732si66K_C=C z3sF%eX;D!!B}Y3`3u_bLMns|pyr#+^ZkA45EW{iN=11@f%(u4?83g9b73*Ls2pv0I zU?j1gs{IiKnA2HJtW&0j(iOLN1rM2Fs9Cd;(M}mM>$Bx`;p4Q^@se>jmg;17+y?Ex z;1Dg95LE&lOUs1O5BD$?ucEy7qtG9Q4uWhBB1Gdd==lL;qPKQ5(0-aixOX-3@ABWQAnK7ijG?S6ii=kU>t?;a%TJ8v3@RQ4w`NEl9i_AA)%OK#O2j768#RIBbGubSlPZe1Qp zC8FtNz_>x2qWn(wC-^qVpSC6pKmW6|2-fCx5foQ8tP`9wnd_zlxQmR_pIa)0kf8kU z6bFp3b@&>Ra3Lbn+!@A!NNadDDSlz)JXID^>1hb3X}FdgtX~pk(p}JRj-R~-gPcC5otZzv&>Pq$ELFV=pIuy3eP+dtI5{^p}?Z5IjG)()Jkhf28KIr7FEXSTtyf7z*^Yw?TPCgGsjK3iE0T}O36`w*Ss0KZQPv62v z{>sKU6MjDB_S0e|eIxRGz{c3I5QL&-muoGC<_>lsL4a;L)u$k&Cb~{SAQ6=~ML!|Z zY+_r{)y#i-$s#rC;E)>#X2c(im26&!rDl)ChoF$dVcOXHEWzJ&b+65!tJ7u#c%h7L zvV+Mzk$T#>_sPMo2rbcpSeJBegJm2Y z`z9nyk9=6Uhj|p~iT0>t^lw;UZY3pO+{bf-YSQ`poo^-eCFR`=le#Y{q#i%_y6;R; zZypb`uSBmsDp4Qiv2=ou`hS0-t#q0*{E0YTWvt2ZCxH0d`r6EuW_@#LYwytdU;uBR z-z}kM^`zW3-yfc9Uf*vwIH!fus}ueowBGA64U914aIE14D4HQRp?%*~h*tOwlImbR zpPfy|pLc_v*t`8b`T`9)F%Aj}3Tt=D?FY>rpf&gnyZugs5+WV~W!S9A^n^H~CF>)c zGUvj%rIE0KO@F=p-H+G^#rhW>EKC;;J|lyb3!X6RbYX#0>6BwbPw;~3F{%N%&w|RKKgAfnjY=_B<5>tRknO~>Y~r4S_Qdrmvz1WPgzJ<VaE#Fv2^-bnq9W*!y-Uweo`wD@+x_Kwd_9L_ticM{^Y`NJq~|z{o=nOP|kxm>8Kj zl<3Mptk(SVQgx3*E7Mx|no9DU$L8Lq$!6K6`nk9x`W=UOkdgRVL61r`{RJIPg69zZ zklqlXiHV7d3HlbkNx-@87Sfi$kXa%rouBH2YL%K{@fVG6MNDe*<&L^rNkfDTiI&n= z-wTwHi)4%IrsJm{rqN5@tHG<)Gbp-5TP9k5-#3{_w*347`9r~iSRF;3W8IS_-pu{< z;C|9RlS}ly^%cVv?iJxa^xOAe+24MA>+x3hy{l!$lzV~nWbHJ{^ri*N_)?yS@&zX9 z_tXi^_bfJoHjGDa$|R$TO!9mG4EQZx!K24(`CGGZv-h&{GTgFNbN1z~XMiVTAy~-8WZuaB}VeyAaD=N3odjmd{c7!=_^>9^i94Php&iE+!ZwcTCBT;4vvfdwZ zOtPPI3~_4PI8PVNrkEZYGqLI0c#quj=%xSuu`|iIdvxiG4IPhx9WiJcuMj_0pk9Dj z&|837a5F+@ic*78Gh=FF`n27*jk(P+dN5+A6U&T`tA%UD{9CiNp|)DCTGxF3^WBKd zY^06aXEigI*)+=|D}mnTzWWl?iBQ9MN2IA+TO%XAYR6R!!hI;R@!xw3|Xx8nF) z>@wUXrqifiI9>%lxjvas(D1}z_F+b0G-1i#MT>C(X)dA}|3!@%Nn z`bOJ)%VOAZ{C3S?;o@vh@`ldF!}!=p%ud7T3H?-P>gZCh_uk1a>$TACOV-w4S}!k& zKP(J<0-Q6PB^(WmI@}8SJJcbR66Ae!SJW&_Z~kBmEZk~}O}NF_QIpx~2hn9wvyl3* z;^5v8wNL?+22{MT28kTZT+C96V+n0BB+B$W$QwROwdpqV(p~zAFr#qx33fGhMWgQk@i3i82)40&aC}bsilZy+9$4+L* z$jHkrC-Jhe*e|6y2yE!}Cx7V>?6mBvMckp;R~*T7{~WhK_4~(@MR4tp+Dr=r?vEL7 ze?xfr+IZWthu6!u+W+32sb6^Btvn_^780xwFmhy>c$$?D9gd!lGK}qGSHdI)YRr?* z6V|Nmh;3Pq5sb(W*$k)*$qrj#S|T|GAH{#AQA}T=uEtIbZ!UCK(BjB9Afj1GirG{g zuwxky6gnryvKnNKgAWl5Q41k0pix*Bk~dDX*Y0;-+>0s{Vn$-Pw}BH3;`?q>FgW7D zK{{gedx4)YHB+#~CVD;t*2!}lZfu!7<{hiq%1Li@FJsi|Z^g9L=3n-mORzD%h|l@u zVs&D=j>fsOU0)veEV<`c;BB{wlI zR%SHnHa^}Xt>W;hTmEFyzB5#Iwsi>q74S;GO$W0u+A zCjVXOxptzTnrNNy)%yO;fyV)>-RYuI$ArD{e4k=EOuDTt+RBoqv6f1ENMpYJaC}*W z&e&t$ZJBHObA7dqK?8Dw+e!HHg#LlPPRrD%ooe1%1?AZmtH*NL7HC(l*~M8q+i?rJ zMd)j(YyQ>r`kVXqN*|jCf`V?ds<>^%%m#1BQhl|G|Cx(Fii{47h*omyruFu@rx3ja6 z!XJu?LW)l!_sVB8+g1k+m3D6M7jW?6MC_8+jQ*XGrk_Elo_wI`Hz4yZ|JONGJ#Y^stRgBc4ZN!uJDQl-I+@!!qnO2X0v8bNrL>$tAYAI#14>$% z>J*rN)0VP$7wWBvEsz)=3ztGr4U z?k3h+Viq<4&j1>N?>V^n|MC3)b?3h+{*RHG|2>kOo%{X&9Qr?Q{lAB*Ihi<$+Svd! zody3}UjG{WKX3kPAV2Ht(*Fl5{>kTmTm={{h{VtOZ=neyee&tC1>{I%A*QGbyaQVH zkH1CWUpnA;eFu&oKcPRxAA&#-khGYvsyozS8+-=QOyY^(dmeMs1gGC3QaME5V8GH+ z6hVkIJYK}EvvyCb4R&r%lgD0!f-8Dn*|Yi?;hgwvJO~(4{*Ex@_rc^7>y$L&#LY7&#)n$QxuJ@PB+^Zni>SfpxVlY_MhpJ0ZTslkLv|4{{Kt09LOjG3_a{nOT@EI~kfI{731<@-oqNwKGK*yK;$EgTJR*KXmH2BOzV7UrD7aXV za-#t?dR3km>;6g&Yht2XVccYO4~q8j&Hj@?)3VvFKu3FdsAUQ3L_Tt&s>`0Yk<-_Y zEw%P!iMVLF>yPcKDXRh!Hda-SD^!-WGy@%?cQ-U0C1H0rg^yT+hSleM@0BwOk_(b# zr^l70UF7?3R|kJdu;;L4hvMOl$F6%b43EkWluJ}*Vj~HgGNf$sg`JoDP;+N)$Nafc}7OUhXAL=WU=w_vQO}+g}%_CAN75G8Jb5@ z1hsXvcSnjTo$q@LE$!@NEp;2|J7ov*xrvg(+qG z1{LR24)jY^H%L3FP-Y4^WiTj`e*crS{evbhT}29qdZQ@MooQ<)iN=I+@ohux%ty6u zJXN)h%Ey+xnHn^PU$^_Kj7_9Qm#Js%;9*6#B6NyG z*|jrrwEWFoznaLQ0%^N#?)$-q>C%IQ9@bCrmJaQ%e0o2hrfZ@riVo z&0N*CHRn>w!8!r1W&jMhr0TyEhT&x6-w>U5wp=OukA@X{i;`Hy=is%(s^7j zX6nCx2%KAQ&HH4;R$SIJl3mk7s@@Ae)-a8JKGwi49FgV!+c;qpCL{gne5}6W>O*0! zfSn@u-^PmQ>YQ&dG(w(hiNTVdUfD?dDzVA-Ezxs-t(_R#9P3Lc6;PePfKb=~p}ac` z{KQQ*K94Yx(h}V4T>UFsfA$usrPEITCR)Q`+S~s9Da4vx)101dLh6*n;5LJREl%og zi~FKEJ$|=t@8_|L6-qx(m6ZX%r| zwtFngP*MiGIo5z<>bPMjXNE&&hNXEMu?a)BR3S&?(>ECiGGR-214GA%-eKkoQ&fR=DC}`c zq#i5kfBx`WlnkENxG(Sk(`cfBb>d6^ zAcIgtjZMD+Cm@E#P{GiVj*r6tHh>3wulCAZOn`ezFa={;ay(5A=_P2Rvn zM4iAy380XNM6}71CnORjUJ+_2sG*_mlT=cuea1tmM09jISRNRw zt{^aD4otxrv>po#T}Uw?2#YV&?tP0`Mp2z2vH=ki6iw9bjRvXQUC=}R-^7r>s#vFT z^5l@zPq$Jc{^wAr@<58=jp+~CLMD7004z}a)52jo9TzJros*UgJXn=28QmxuIP56Py4=8Sw_Di0W@@+C63ti3xfU*d0RuX3^a#bTy;ZoFbCyHKhp_1%Xw$ zbq#R<`6_@_%vPm5JnkI+9M8>=L13MH$m_Xz0wX%92%wN|7_lV*j((w1#>k2DH?!QA z^!NM>L1!4*Gpe5Sh{wp`J*n#-5hj}f^e#V*`yN<+B}NKw6l{?_734!QH$$t4DOm?EF8`(^A0#D(M^xOv|yuOf9lR zocY}V%F=mNl7KQP#)9k#K?(i(M1i`ACoMwZX<>*x$2SUJDf3>ye=rDAf&i!}j>RQ3 znC!32r}HlduOY7PXN}3dPY$*MM$Q*Eevt#Nqn!HsdL_7>n*aqkXsDq^DhwSITy2JBxxTLi z!VN4sV!h%a(+dj{R)1^@TnHO1x@GsQ-U$zIT=^y{`+xiWxKi;?Gr>@(wc6J3e>-zS zKD3AR8?BmB;wDe>$>ln!*~cd?Z)bXx1|?n-_Pj(2%XPk&}+ zrUs`Hw^ zj9GZDnHt?(X-S%Doanwn)GaT`&3;~&e&SDz_zY9TcB0Ydb(M3x%%H2Jn@cIFsO%&g zC7YT?ojrxw4R>%t?$qnqu93;@(wBiFwQ%xe`A^#=TBC}M$e#-b)aP?HtBS1x_Zjwy zul>8x7T?dGsL)6oAwo}KGXe8X9GjB<%@qb*3}eW`C|hI3W8aMFI(qJiMUt`=JT?zh zl@?}f-pXVxeXkd~W3((Tb(*%Yv&p@9xK{SED*eusih`gtI4-L5>LXtjFc^0~5MZgo z-!zL0Eq?~orE-IyyE~7|vWlhtJpUGR3Rj_*b+We8^F`m5Q|njNKnW#>pc0KIAGeyY zBTLz$_x8PK7}L+e)AvYc(QW-{hI{%ulwuu~kT*O}oF0?>r2plauuTsm!a0h$YFkNJ zSx%)Q6@uLtQy|#p#oM*^SmF1m#e|KRT$nE1kD1feWN>vnAJqO-_dwroEPE@PT)MZ@ zai3YJ`S44C(fo42FzX}=&%h(h^$vdO$rFQ$E7piH=1(r<&2vdukH3nuYX<(F z{;+g~@bVZJn)XxX%^U4jfo%D6bFI&GPtROB;F=xN0l@gFadVnO$RJllACk%+UY`4G zQUW%QypJt-Ywz12))o?E5DThPBp^m{0JYj!bt)x9kI#aCxlcC4 zh*;?5>SS-}E~=`8TJ;#<5ig>se{~ex1Wk>}gW2Vu7SesS0$siUTP@EvUlL}_+P`st zdRdiIu#BYgByNvp$%Me(>Ce!alT3bWPF?bOP)=jBO%U8cPA=IsixDWxE`0Yb0bW(= zrj-4A=+qO_oG0ND zR$JQ^GprXw=_|*@`ZIiimuXi^%gBnd6~n*?Ijo#}`82tj_J<%CGYr2gfr_VZ?d}&d zw}d?(vB9cDu}ZLjU19)E6x@kG2{=(-#Lq(p-F0WII<5W%im64Jp6%`DeGK=`v-)F> zLaxjnqtW^FbdPq3MDt(~YrC;UJ*F_B9S#I3;BxP^c+1H`RBYK%Y7nX4at z_oCA+9_Qw&SXbQ5P;C~ghV8h@kKW1q-;)9yo^@z8SrB-CyhAN)oX3RtZV^G-9#Pi% z?zw>^&s$%cF3jC;+VQb8Elpb-|JLY*JkCVfHmqmN^Rkn#n3c65Y6l@L?2-T%yGp?E z79(wFg(};(J~=pO(P8nNaBm@E<1&vUac8fpKYMCyGy>}Bp|Wu94X^Vpx6O-lLla%B zGbf_b(PQo1WlhC6W^^L%!LIs81p~iLSykDdUS?a-b z{qb!^azl9pL81A=bVTi8!Cg7~tSXdcX{k>~Dv)QSRwAzyt%>dp-;|FRwwpZIhE!#J z>k77mDq%%dB0mZ&lz%ySK2m33)DT+K;UxMVqfR^?$#2kau$-N=%&t$L{ILG=xTd4( zQoK^*s|5S-oBvxSJ!TG)2v*K#wtNB4kHV=f8b)0~TW~h=@~TdKi`bJf@@1$nbYEfg z0fp_N0g?*qu1a*kDJDW_nEGRh2W)k@!wT#_nXlx~Y&*n-6s`(BfxS8hW)J?Ny@uVu z93#kJcatmC2GrHBWNy0iaKp6Xq6%TJ$7xl)AJvg0A0IANZpWV*Cc<-rzH{QlB*x6z z<;MK6Rqy#>MH5}PnA{&tUqGF3EU)J*2hv%Cc?cEWYrL<5F@&eGn|)k^6Bk*BVI|KjKm7adn6W-qRS^|@Bp{0du%E1z(l?R!f? zyYCMqsS-8igt&Gtl5HE3tP>rN%Ma0yZ11iguyQ;rLHRzGfuu7%UhQ&}c!Ljm*0if* zO{~}B&3;c|f8mF4b#7PAZ>2Y4Xmg#x-vK{N_6zVkYc{}1tU9d#RMZ$-;CY1f>e}H$WQ}q&EM3hlm1ro)q|Ls@ zOjkC_F2!v0l6$f3hOF&zf$vaYJhA<`@}Zi}OGRt)W)9o$FTBCdpT+Cuh^#Pbh`{|8 zA9wi-WOhv|$KfnA4m2i(hmz@0Rv97Y7Gy z(b`b?w|9lxrqOqo{am~I4#sm<)`5cZteBR($n+FN<}nRj*GFzbc@ORc)(ws`4@Ri) zq2A%;kQf?L@<+exC-3%}M1S7)T-A^b zjH!4T@X@l3Md?+iK~geKUX|FeYf?$I#GsfiCSEkZ@Oyr5?i?wApp^S5ZWnq+lqxDHmnKlc} z@#^LG;eB68q;FPCdc+(`7Z?60ba<_~@H%cb>Nre#7$PcBkS+TT%V(XH^%$6qwTn*w znd}oDkUY5HcGySBPDaLSb5p%EP{!>C_MUV+yC*KC`juNuie*H|b-WVs39l zCFpr*1~E*#o-3}2A6|D(#5{30xzXh>DX#nkKglY-qJk47z!iXL7-IW_a5xR;;DNf6 z44E8M2|B#bbKmzHWqn)kVS(sueo?!hy7FdYdgJ}NO0i=rAM>4?N*GS5-8^Z(i8TYI zvNP#W7^orNkZ>R=ju4k}_`~KX=IwEo=(g*G%SZZYEOLTGc)oXI>n?evAV@Nr;48F3 z2sLDo&7^ql19pXS5`Vh3#Hu4oqCGRp&faKGkHyC2|UQh9&L z;7kKXT>`rx&SBb!dN&QImlPaxG$ z!zFxaAoLRU**P$%=l@}OVegfgdFK0Ey84lH`}QjA#DU3#XK;m}qT>n*o(26zm{|@= zCfyC{gpM;Rnf`Ywdk7Np%&%T;E&hsipTECDP)y!e(zym8uV-*g8ep!lMM&>V+Q?PWY7k>=}b{BG#3!tt^>rrUqmPiQ%Iz&e3v*Sc=WIxh!o->}5I zfQ^XzYneUy%|1{83Kk(_f|5xxdOTI^C=kl=Ky5E+R-dq{ zdblK?mP4ygK2BPxH*F7I?fQ8d%jp8{9@r>Bom52xL8R4apJm6b|nAGNhd zhSem1+^-T@DNbXA;_qgJ@tyGR`(KWzJE- zP-_REvqTDG=8~-CoQT4qj$1|8KiBkUedN>_=TJ!)cmuVs__ArZum7=pOdDo&Rp2H~ z)H@ETdgNHv?d{ndr_Ei0dizV&in?sLKTB5h`b;75`p2sZA-}+V=x1Z`dIY7eT;zT$ zo!ZYt%pFrr#)sRel6&H4yelJTE0YeN^FT8;;~3hv4SslB(VBtN^|Zdy{aio4F6vX@ zr1NlZW6!~|Vty_{2FhIVKwBaE?>Gt&0P(><0K#c~n9BCs`IZvY`pXaMrMJRQvHFpA zSrRY+TREyL zh@jTn`Uo&?Nv``g27iG(@6SW&>=bXbJnrS1j(;54COv;-6!LEU1I@&jCQ+Oi{)Y07 z+t#=&FGoH-Ub|(N@iN}r`!GLQcU^7h2Q#0IF+Z6?A(wV| zn+BLN50MI>6xkIr1cWGQpvImE!~Y%@s3T|ns^y6SLK{&G_`#sBO@i^vZDn)0o~m4i zH-;0JuHM#tY!;*I+~1K91%@t2hU>aj(|uVk?Y-fbYMs1~M)FTW(HxXIErkbCi6H8L zKX}X;M@@|SwRak`(^FvwoD+q7LT196BzN6BV*U${XEFwTg`-;!YH#^-3K*gK@%GnM zQ2PfM4z%;e42Q4vYR}uIBb9t%FH&a-NTlvz;^e|Lollk-xnsTBZHw#61D;R&xujin zr=x{lerpuv>FSlt4s`8wJYLSW%BHVXQTjDDW^RfMkR!e6G8y9`--Y|;1!f1) z1s$@|oogcPFX644l%~g366BHf1=1G-UcbM{ie6`9OBUe&Z0&nYkSzf9|Me|u_>VOQC~sNLz3m9 z`xLvwD(W^YnUaWn*LWiw4{;Rm0H#p(1%Re zqKr4lO0H*n16A0UOHp?3PCSy9&y<-(OyWS)b}*QIq>Vf349x7{@P<>CNY=J%mVSIb zv8VgXJUgE&!6$(lvsLmHpL6D?R#Lk+_Ako~u^zONTCO)kgeMc_0uNW7!nE)7{2Ay5 z@`YZ~3C(}yAo=V|qU+_v2ysi9DQKvSWl_I3*~Vx#Ey0}A6D#t&dr&(>Ol+Quq=3w$ ztLdC4nE-jJ`vk@EwG(dN9OL_NuE*^PUO}@AcusE*1{1Hu}CYo=C zVO`MO61XsEf52%QIx%n;^?2DOpjQZ{hPZ6`Z*VQM#n7BPim^%t*6gq-%j+?JCE^sz zcG;T0P+c9zSF6Oz-8#AvR2TH}>;_>0nU?g=+zRhI7V$61#IsbKnMAhhQ#GuugAT6R zy3p~Z6w`0@qa~UAamSb4nDR*knlI2iDkkobJ3W7V21-n=o=%W+_>;C#3JSeOO>v=z zt*KVV9aZhxPxY!QX!GQDd?(%|#BLYWEr`aFmW4xcT8N)nZl2g;kLyxT*QSGTO1mpi_6bVh6D~Ur z4g3^fsU`d$HH{}^ADSp`pUEcS$2O91ikt`x2>#w?|CP)(T-?I z7jk^`2P!UfK6kPWbWSa*YTY*}$vAe+=~}xp{BOl#r+R2n0~e3oDMWmJWo1++$RTU8 zWMx`$aU1uWyFRv>=7Fd$Vucv^-A|6DzkBh_)NmcBbofQQR;era-3xz<{)o?h?8k2P z5GfOMndedCEXTks{pP30-#>g4O~O~49F{on8LGrByZlnauOrw`qvWJZu|6w@mUK}{ zgI|P(rQL*|xy2_idVluCj`--F3RZUUF7UY2Tla)(MT`NaDE;}lUv;6>tyMHq`(%{V zJ4#!#F=l7{nDA^mkyrjPtdbTpm|tJF2!Kn(!T^>d{Yz8@u$)cAA0qydA7n69fK5*p z9O^D!X^C?C4zhmpS#^~&Ww``N;`=k{NDjcDP3)3WRcI$&oC^3%u@8V>;UsHC6LLi+ zv7{+dQ~%MMAcOGO!)0Lta(FmTmva5^p7h+FbvS*+M6nB~t>&B4!;fY0*yQOS%|)nO z-g2 z^yE@-P9$)BOG-pE?r`2El;oko-qnV~0QpW}pBBLb;ChJPQ%CV)Z0`2j zy^MijL!SmuC;|QR3T%-@d_@6fci1>S8e3+1`bJ81kM!L< zYqp^sj>~*(Q`dMWw8i9%@w}{Q<5s|&E<89PRf2o35~he`nQ>RK{TZ|+zTP1g-d^W4tW?oFm?wQ1_1qp(`p1sK4(v*BaBl;GPO6SV z*8(!hDoo#rZ_=Fv*xsaI24qD}$+d@?9a}|WCP@RjM^uVr zDll|5G;YiF!Q~`E+I&~uK3iYaF89jYvbL&_fbG+?osCug5utjo<-Rt_9~O7$hnxHg zA;%c2Z0!Q3D($=H{)OVLE7ta#5Bm#hPgafjWR4V7jlP(Yhjb0~`W}W6%=%AFTe2uc zq~1Fp+oX~dj)a`WgcMyUg?{vVV7k@-d7X!N}nyiG-3JqFq87F`?Yn*(?`Wu`E-6} z#)GDQcq<>ml;L-hj_!zIyR&06x*#9m1*xmAKP^CvSgq)qgB^qVo#gNknVyizP%R5Gv+pnWdS3Ou zEDq|v50}V?(%V=08n{l>zN#8}dFPSG5nL#h;smT)4oFI!p668WmYg|0!h(#8SG1xB zFS40_{@750rSsFL-G3U|gH1W)@B2cu#sG;}mQCiNnI_dQ82!D9`M3Z4B1S%V|7>BmktEd*9(<%LuX$I`)jv}lE$Qb5&yKuQw@vV z4A}A~+BlE9+mG5nbjsJEKz_Qb`BNVXm$E_ zf5vphoL4uqM0j%Jn<+94DOG>0HECpc_8`)IWoC%<-?P_-Go<* z3p;}PV6%;Jf6irk`!>C4V&Cm%!fNc~y%}tlt(9FtkeTsGm*t6O(%*T3oWN&}-!pEj zir;PJ^qmD7Vg%$~u1F765Ds-=iVFWi;ovLc1K6iipvXUzjw%CW4$6>E_e<1|N*Jw@ z0js&g_2*bq1wS;OteVm@;|m$~8pc}9?~py;b;bXYYy~H1xlb;HQbVrxmg8R=xGt*< zsXNrsSC?n^HnkTu0F{kCKCJSuERZStTl{+bi12g0JOA3LW@EL$7 zF8T2z_<8-oV5UjnB5XDx6Fj;hXTrNI*Y4c^?k$&Tu;5nI;pjz8KUU0q9-$P)w*=4! zHwU_#(tuW|u33`iMJIK6X68#)p{Eb5Q!Xra2@(c=w$pT_UQCU7~LN<_#$Pf&8S z>UV(bxsg8>$i8iqU)B}@Tht@Kuna?ocX98tRK}#fl9FzhUuxUJs9u+{RakGAJKFK6 zHR9>Z2mwG(Xh#4;v0hQYAB~D$8z^+ID)!lNqd%G|0ygo0;>(BAb5zXio*+>n&ET`7 zPnX*4*i}GvaZQ@zZ4!w3S`w91=IQ?WN7@1$uh%tE=Cs0VHFeq`}ZFvwq$3V z4{xQ%!gk$l`bsqPT)rj$y$V-jzH~(NX42{6;^dri#a&*wWgXe$oqPo_sM}*ams0mx-cRK?=@(J;V}*Y%d-Y4fEVZ6s@1X%3vw)?vQm zI$CbE>RY?(_x!zjLb}$qYDml*3zOj|G+0&hvmqXUxl#au6EYEAF^I}CKuDn^Yvh#}#Oyz5d9Xr6y z=8KU>9)up^85$Y0C~@mB=zZI?RBB%Y^BHl4b5-_~1QB)P!xY?v=xRzalNL%|yqm$Q zD5Jq5aWK6Gp$!oM;8nDaVhu!Ih>sLxYcc~hvu$LC7~UUJSG?o{AD(I74q_j z#g!&sSC~j%m-rL3l~MRdkwHKHNMPAWmI0r7L6U}TPyM4rFA;!=od*ez7o~DrUIhgSs&dxM;=@)Ex#Lia2`QXhkbzdewp88r249z7V~Oy zwg4&sHxzosxP@l}7`I!kTpFOyjQ|5|JtH}{$a-n_3Y(fD1m|0MSz>4(8rQLN;u2jC z+e&uUG+j;@vzFvAbk+&X7!Ld+gbBe3ofN669IT~@4{CYvK>cD4M?a~>WVuB`0$j}g z)P<9Sg)g&E8fiBEJXDBH64nCRGNExdWPr&WwmN0MIM76SdfK~uG9=pueT0I6awx3v;we%OWssYN!L!<9pgOq80SK5ZqCtY`3U4~j%{Y?n{kd3 zzYg&9uEHVI)-~di+xB2^#es$gqQ0$?&QsI%Z%P-!pH_O5Q+!KRHa2H%)D8U8F4F5!&emGAw^k<>>|9TEXbi2UjY+q6*!?9NX3Qaq-x#YyQlk^!yg0Ha5mkmQM^v?{hVTz^Zh4 zDsk%{MdGiEP^x+n;p9+g1`(8|=AlcF`E%Z+l$9|-Y=S{1tu>GNWRSZJQ@g}3Ad?2_ zonlPCb?hI?>`B|#jF+3mQMPok|A3+gU;&LCItBcHpf4fn2uehsDBe`{!IhSkCDxbw zjU^GTTC{>yb1nuzRfAvAfTiO6d#RQiHj525a==>Q6B3(&#>h#xx@hM92>lWaGo)z^ zMFYX{H+`b9`SuBqVpcF{tB=S7*h+N1Qe;xpe5Du*;Y3g>KJ~@2wmGt?oiVdc(*&zd zcBzC$%G=s;g)=KK0O;iakV&N!%}k$gRD+Gw|G`*5zp-rZ6NQ)QljClFp{b`tDu%}m z!p++uBP%Ha$@i^5FdRTJ0%%?(a&y!IJ_I2aQh=;fjFk;z!H2Bm+pt-WtR#)7phd;m z)P_^agW$mv7^^ex9}z&w1GQi9Q}dnm2xqIR7a{UC;a{jkCd1d>g6bmBRyhUw#eRpoO@kYID`hE@+KQb`ytVFVckjgcyADfeC%B(eNrQw9qEoF z1|YZdrt1R>ZW}ZJIq;beo_S^4c(4-ir}!|BD;JV(`_%4mLd=N~Ko5cQXr_Y#PXt%(fYSrix9Y5gv%2vw0U#{;u7U&kwhu%#Ul$Vd!@uHwswCyB$yR z#;1oZ@XZ~7g#EzWdBKWy7j{xHcH2`VW&=Qo{fH;90IKY-IM9ud1z_<|*aKov48-g4 zpW3=eVAFjBzw~TD<(qR=!Di&JR9PuHAV>{f8;pWg0kAK!1RJ~kfR6ovXEu1+`Y^EY zTWeQ~sm(G7N@ip2X66+TgY5xviJ)AV09?s;U9cNZ9}`5};^&(to$wik=kuN;rzrfd zMsIZBX8Ux?9=C5{ap$P{z9r#ua09(GP(TV`zrA9?NWk|p!~$A=40`MFZ0%j_Ih+qD zBF7And?|ZJoU{Z)kEGzcBnm*wTK}zOuuu#Ho)S9$ghIo6!;t$qe?mtSVKG8}xyWt0 zHOHELv(Z4f+PG0wh^VvxA{YA?{Ovv9(uA=?1OV#62%jTCi3)2G`LrRa`%sCEk^%3N zOqlf?Z>>zj^HfxU|1BU({;a)*OuWya!tC5wOP4W$Y{?WF1)dGKrH6R5e4iQvPG=W@S~9ve6g(kizDHmY9%4y;M%gSyWM)yUh2v zd=Ylp8iI6QH6Pf@nx?}tQH5OL)gjJ5ov!1hp;Qsbf8t8=|FHGeQBC)8-#CNO-5@E_ z-3^W|fzguEDcvAA5RmRJM~@+0(x@~@Hv&p`3W}oszPqmbdY=0^=XcKj+&=a0dW}uT zcQo!X;Rj*C#4a; z;y#kGcJ{&|Z^`7^${^^vnim4*IIh7?aAPKMTiF|0LDsKrRPVW74YE5FX1@>7ZLR#t zavr(#u}hJI7eu~Y`bH)!GnsMK4Rsr7Tl$-`H@&}%(3J>#kk68p)RL<MOgu=QryMO~k^aK3wAXcAvbm3;u2;TKM-O_1V+HUR-;~ z6rVPsU+&*8(6Gbq`k71$BDnl+GnYWsfXT1qSww43@uaaQ{AZ;BuC9x^9>{X3Clk;2 z)F(05XFQ=E-$`rI+wo|ql;Y6;GudV9^_jWb<_I19gvZ#2M|8^es!!dF~JRmeE z1w0i>Orm&H*rjCsB~?$<`QTvQkLr-Eb<5!S?(V=0hTqk4L^%K!A)79h?9*yPs{n{x zkYa`dR-Ny>FsYaMBb)BXxUsFB##eqne<)xirWn5bQ%FcJJgYXIJjZI9Y_0yHPxnvH za_zD5kx_{DaIoE>$V@q@+(!}bk~8v7!(Vw$!EYno#uHqG|28w7J@T4rZEt;JZho03 zrc{5HR-4nsw&l6KQQxv@W~8=OL-%=Nc;dJe2^BgnK}Wf>&H&T>t20u?(WRt1=3h>G z9Z6U})s!vK=a3(y(l%SZuD+Tll@7bY0aj-BCycV|i}=Vwe_a@{fI(55PM&Y;tAPdH zVvsuY4`8qT#Ai4JRA){gIDPEOh`r60d80xr3?NBz%iSm0)aAvE`% z3}IjAgj^Gs5S#57%kaCM@OE|6nAjeWUo0$Czn5eK?*DNU{t_j3k+mXCXkGwVi#3-cPYos!9tF`l&MYHwLrQ80W0aH z#tL1E3Y|+C9{<%Cm;Cu`w1nrLr`77?{q~WAXM6b%=z{Mw*({}BW+RdOU?H(})!^X3 zBYyg>?M(*su zis)C>oNvzWg4blPrV(epiaaD6VN222+Q zt*jq{%~b1G>wy77%Kf=7r7w>1bLe_}%ICR$O8S=4HZ5jPRhXFvS(XIsD&MK|>|b3P zkBYJC$6*49pzE$pH^+ z0ark}k^l&?AA^j%;`_q)<_-IJ!*X@!Ra~RV zTnQ>=L}CX84GxaIEMW3zU&aYS07KwMI-+yQ1u9{SKvs8Q9l?ctoU32Kih&;kA6t@( zY}alr+gyS^$-0t3Bd+^K_GJuZ1URBZ8plr`FkjM#(ZenOaESFCmz!ZK7%LyL@HDD$ zw=rqB?rTdt{r?O(<0QZg&b;@cW&jaoo{rK)<75%YwO~d742Et9%rxY({nJ0( z^zj#$jugkFD=y2{k@3gH=7HMiMHV}3s?|iBcdy7&C6({)?&c@GivZOqeZVVJOQg$; z??-t|QtMP=@djb3%tzoL`F~eW)&*7{?iw$**^Bs6gff>V$tx}Y8t>ygE&o2# z653lC<`#^IZ{#GG)w!>Va{T$q7Tc&cy5U$XhCc=HRZ}&=(#f_Ko=HHa2N2N{^MGy>tE{?aM%pAR=YXoQjoO~3Lv7=N|=x4fpKM9M$SYaCY6U}YYD@ZbnJf+M)6@R(Bmu3gI;;z2C zJA+Xiharz_Nz?XGK&GB!<&QMdvY$TG>HlE?#QT!Cwo398Y>FqdClmOdwp2Az2%P4i zVW34MqPk%0_%X52fpFFpJ&#AeBbJHZv@uA9viQYv!onNl;&+FVW&?UE$4vFisi$Bc z$uB{q*!0v>RiC?GAU&aSZ-6>g!5bERu3~71VO1RTX>!%q_ikz&BsqIzCT!7$_hMnN zBpVC9WWCW^b1m}mIP=q%-S_z1?gukMIQH}?*$dPVWCmzCPhuU+{z!!|N1?-B#SZAM zU~}d$W7-q0GIdJs=zUaV?XMPU4})N{kktPu*EXdrxysrNA}JB&4#JGUiHH)Vb#idh zf!NCt(5Q^ zJ1bzu&9iL){mSlj8lgYWreHRgE6zz)S@v`*@7ADtzy zB~C(<#4he7I}^(^zkG~T00s%_MiBjuB``_Dub88aio7=HH#qqESKTpgnO_0d^%- z$5s8#>FhRAxE)FvqQcEH9@rn0q0@m}<7oyD*D-XCJmNR?(B}J)VfZEBH2=%Mrm_Q< zF7++qfaQ#Ipx%|TdQ?reDEBBg-SrnqxDS)2L}RajFPkr=zw?oui2)+K{ERC@Wnp=lWIkZ&+rkF}`HsgLLt**PF~(N4(nm3LL!N8U z#a?*}$uArQlKxrQsJm}OBt6>=%wkaJ}|k9*rNvd(q+a$7H9mvYR1*KN|#T!JpSa< zTaB{Pe6k2=UG7S5tIEAo%;}FcR&$Y9?_sGJL%%GdsN2J9+1R5~n ziEFa%y-G(n;_5HXr=(8aBqNLCWE*Pi=5YhwjeJJRFFHTGlyt2M_|x6i)(WKy`kV+@+xw$Vo zMj&mJR`xnvJ7hMR^bVb8L+1{2>o>Gt#%cF19M<|h4wd+tCxLo`{tR-sXRd~^)V(&U zB}EMn%xc1mQ)N|0v@+K8SQcQ;KQq^ z$BZcoLH0Gw)V!oB1_nqIFqpuGSwBd=dE%fCxktwd+g{_A4N- zfs+oqvaXa{!*r2+XwHanF=DJumy$WwQC;`oI_?!QHKo!E%>!w;Fpj-2=v1kA`D3Yf z73@dms0pVU_R1sjM$*4OB5DN1$2%j5sK zt0&UQ;n>u=mTH!^8?K0s-^`r)6^IBNeqesM0Bl_(bAO7{s;>pf9$DMh8NjJ_-3Tf- zoU}aBJgMsLe!_XwdwqBzcsMw2WGe|+-1tk#*bv7 zQf-)V15N@ zf-%jsIJH|74%>VxvrBpY34RG3mE!l$;w?7(l_k#2$7hnWnfI3fN&A5Za0akh;OhkQ zRqEUFq&I2J7@wF7KoOH_5ZR(*q`xX4IO-%6e{|o)vWt>s$hT z5S}5_zOUKgqdHgpoPnO35T*cvlXxV&Al76llC+ho4=4j% z-ib&E77#gPMNnfZ0X0yZNVIV&V0E0DM)x4p>MIHC@)``7H#Kn@9@L1dB=zp%r*OzFeiBf99iJXLRXK&3{5sT={xN3ll(e&km` z$$^z1Mu z{c#zwALb~f#j-r6_t9fj3iHmC9(`x*{mHM5P!QV+3i=Sm_5TWbIBrAXHp|YBR;rgW zIXae2g|~ipqjpO&;-!C>T#yf<(RNwm{)<2k)WJwLoZtj@NSt7Kywcbdb2l8E4IqEn zmxH+gHjAV!f)pM75hw=i3w=D-Q z`1g63Q*pt{FjpH8w}~yJ+Cx$H?FhPzQFJ_#X|R<-m;GqEke;?=8%Aw-5IY0HDK7%p zs^u9v0jf#oDf;0>xUllWaSPd|Bxy&RIA8ahEQ6eiz}Y`|`#?X)72XPF{j^{l#eaxQ zkk=2PVRz`QE#fl3{Ghe+%h?^y<3jD9dKN61)x9<&D1LhA5c~Wg&1(&SHU78N0c$Yd zZ0L$Fs23!vwHfoeW|YPADM|TXhRgE2<5{QF^gMNS?W6=z_ zadgb^J)4VbS+=yW#RJTO=%>*4S5aalBNQmJw5w@N53Ha;dJwyzi$1^$;d03stHgos z%5nCgX<{HETS^PMc7!5H8N_gD`nd}B8 zF}mTC4aC0$K|^2B?B{|sf-8_BvTOzA6gkv}g^KBA`Hvp?l@G}(o#Qc}e3e*$T`3|| zC4kd^C7lKrT!b{3im+_UC7Y*kdzQ4o~vXBfu*HTw_UvUE#P$Xe^DF8^uf+mWbw+d189<%f`9 zJ5}8Oc|boB^g8s+ktdy0_UW0KiapOK&vqE_g@&>Vq=34kmBK+*se-2RrG6!{7lI(9-3SfBi&T1bNAfC6Ax|M>Al zjY!BaD?CoDx~S+OA=mF!o%P|;#Cgsu=Q4Zq>`e{w)+@@jE16M~NB}KH_#F%8e=0l? zW&|TE;o2IqC(WNg&qRye+N5w{EX$^#dtIHBe>fs|6q6cBZ3y51kb!5Ffm7%Am!VJ; z>~ZZ=zGrBM&x*2PqgA0%lD;Xg)P|8MAT3cl_;@K}{rBn==*8$1y3_u&#ifM)z`Raf zh0s#6kAn~~$w49N@RP^MrmrB_%&C0nncCs{Vrv0?rCP))I8vNh8sH5uu&6l)#uXtH9@~e)OvxVs% z^rYv%A!MPDg+E^+sbWs8Ksj`W(H|R7K_?ePCG(+(UkNv#B^lT`PobU30)Hk=k6w5+`AX zH`W#?aY3U9Nz_qzM2CG?fU5z6383fkL4rqgJ99FE#~jl%vWm**wP9PbcaK?&fo2K= zWuQFy?<)cE5zN)2^z&y6ssd%u*2|b9iqW|}cd|l?#u2|dqZuoATm8&@GyI!{MSdd| z0K4eep`RAVo(I@$C1h97gXG{Fc$O1F%bm7wSiJ78f?X*=+^;ba^m;FUya5EPr3AN{Yu9P#wVq?ymcDhHeT{pe^s1C_ zVkf8)0Pw*fuY@os0WVoWD&L6(w0Y@5NP|Qzhx+m)%{u+I(jCNhxE~*~WOUTI#=k`V zRf|s~5^dDrf<|#D1--(~%wwHJNgzrHFL9jF4T%1G&WpvLxiB-$cQ_;>F zr}#wzpU6!E4*4&)>wdXnyM?*B*j{Q_Mpoenk=ke!bU&P=u}#%ui+^ixX!1m*y4t^@ zcXgH4Hn-I*)oFurv#OHQ2wp#amok~3D7*yNW zm_3;Z_^zoMpn(=Gg$ZcD5XdE+@S*Tm(nfz<8UJGmz|Gp4u@|c?rnSxZHV_<-R&j$2 zhTK>aBUt#zQPZyfei&k54p}o zrr-I4Dpf8QC_Sso0nA$Ml*|YSVLE#%9x-PPYdOIR+qg6(_1$P$QZZoFzL90LlYcLr z7nw3AhwJx&>)~)%X8<3N7qmG3W;yAKtU**)k4jV5<>ch(4zdjzT39GXcSkjJROCH) z@Bq=0AH7+uBwmm$mtM_0w)%p<*Rl7Yb_1OB&5!g2DOl zilY1n1&F$~nBnmNmL;}qJ{NQSS);sX{@Rqoht6@U$^}YcmPNvjhfBvJqoZHhve$Ec z8I3G^pYTm^F52{pw~8&yFE1ZhpF1egnY+2sEsR*?x-F|&c`#<>m~bwMGKMz}J?c`< zGBM2jCmbRI#f2Y+)h8dAZ?h{7AFIwJPJ^4n$;%`0Hk;so68jH~M@jYsZ|t+~s-Ad)$eO^}ln6 z114*b#h$(5*hD8~7{B_UdnG0p>J$`I!ka7eT}}d>7XEnw&o?y}?jPLh4QJ0zQA204W1Mbh?E6C39_}F!mW3neqFWB+=+) zpg?^G>SK#vnu=*Me9lbMy17Bq0O z)}AB(+g_%~E=|>q!?)w+w#)h3fw!T7x%Q3!P5e^&&VJ)-C~2q&B^4D9`cU$zx%1;S zl5?i(hnw}GH)l%QL%MKW6W#Le`xjJo%UTEpTeqDC4ud!r)uKMH;@j|EtveGFlVdK0 zIOk^DK?czmJL(Rm1IWP5%Bjbj8lSW`iZxg1^YiHr%NCfXHw5JOe`@d9939Ti>UVC} z{d&rItTpxbE3LHmeXiAB)^weA3S-Z^Ki(ndMG}Yi9nHnQ(3>0_`YayH64o1In1U44=q90wOCsYZX2 z6CnDG+{JZcPSr$-k_KHED!-!4d=0eT-f4XIXwo&y$(@hVrk~d82rG}I`O-p4K1Ko` zbD);Jg=wxY$+Kwhkj%JU4*`#y7M8r)5d>aXTH>*ra(cfXLzgq1E400=btroJ%a*w4 z@k?V;>(1;fJ>A=0(zV~%1m#nKFI5Y~>&o(vTt8*1E7)Filf0 z5^uNpgPAe?&XmVy+OLV3T6o`c^9WQ)UGL4kYb2-etWm-yp60p@K-SjiMG2U8iUnOj zAB@_i+L2G4UR%mkmozF!wg06N_M=&U_rsBU*Wm?bcjCpDh~MA7<{O>(`_5PyJzfIP z%X&G(UcTE4llG648+g89HOp)YjD2JD{=Plt9SXDg3MXbyPpt^YukTB%bF3F9y<&!} z;C}sATdDOMz|uGG*%wB+#t@qX-_Ef$S>oT8n;7mtsHg;eTx2(TN$`p~(;GJxJ>oeE zI&Q6wW(XMC?MES1Jo%6^w8o~zlfGmP<}4#;tH6i8VE= zU$hn%`bnGDi}efFTn=Vwfyrm&z<%)Go~(Galwg-)0-xzG5B+|Z4#u0zjkQ}6enNgyL6}P2iDutRi)#luz~RrWM;?yMf<|2LDhA7o7DW+ z##6e*`m(Ul$APUv4yy#6d#hZUyokWf@C=rOotzLzkq@9W1D+gP4mA6DR z5|QG`p={$CtdqvwjKK7^aBub=)u71aq?R<`LSahj0EPpAHzkFev1ncFSaGtX@b@Ed z{j&?(!pWgi-(=Zr>g~|WO%ijPO+^+&)7!+W0bCw5o%f$;sPqB5orl6a+Owid1V*U) zGa&Jpob4Qz_yN7yWD>6Yq0B{F4th+rrk{!p zbaWq*YO^;X=4#CYS8rCT{4TeGEk92W&kv%%9WaDujh)rt=|E>1z@YdaM6Y5#b=AXS8!m)O& zeOzuu^gE9l`uA~mzu@I7HY{)hfh@iV%`u!&1}fOIwi`yaDG*HOd|yZQIhyslBj>bUHW4HrH$j zshAR}qLA5xU6Q~*Z}_7yZbux^kpN2Apzj?qe(4VcGKHm|l?8$e_IRKYIs4@JUFqV2 ztEn>Qc%1R0Oq2gXbHPDnsisNGFo0m}3vTXU?w4AgvDB5fCHQ&1H!Xl25iBt>){cXh z?>*I~bD{!iUcL~XTH%FMD~xRaOh*v1jGFW@Lbv!toi_Y=y(}ulYBno;v$DL;#W|D~ z2MPfH`dmKDnKtx#M8C=8S-2i9JHPv2nTvR+nvrGQ);o1iF0H?;o5wU_j=Y3lcY~-U z88Zhm(jB7q>`vZYw!q}z{8pXHH6}eu>z&`Nr)moj+0j`>=iR3+&)$5*KG(}B48T?kaJ^(;94R(6Z+l*xzVnu!!gKWqCQ3>S-#gyOZwo!^9tl&;7F2|#*Tkc$A&*F7`5~iE9+eU&=%LJg^Uh^l4{*f_ zpTtfxC3CtkS+ihuV0!+aA_R#r;J7}-hzb6OR-BP3B@5uqh)N=tY`briKm+k9D?t7Y zsBBxnhG|`4j#;%3oPHCnbq4#-kqIo_a(_UkI`DiWK5#C4qvZ5MhwsVV97zsIMS=vQ z)`flP$JZ%4^4SfXvjdFK`eQ~YKGntu%e*}iS?@ThIkz4}syp*UwRrePP2FC_3#OS# z-N#=m+$aU3zb{t;MQA8XUwQpL#KTrH!^y#v0X!?d8YBf-;yX@;WG+}z*+qp#o|9N|= z>sxOQ3Hx=k%@*QxKp-&ZhN!nosm426ddYlqHdnA6aLTfB0}Ys(+Y|JsE~8gQ{gN{Vg+ObL-Ue+h zHjX_9D)J3p7jz{#7yuidzqvqr8qGXR-c@D?1QU)QJ}dKWy-AZ+H8R({42f@P0rKtF zeIFDRLd`Ha@5s6w=2SZ;B44fPO`#96-RjH)jAm3|kOQD88BcMJCO@pKG&>#ajBdy0 zr15Sdw}Q0&Tg7-kw{+ws9D&$g;!h)riV95~7%zLd!^Wr+i zxW05MAPfoS4m@Q|o;d3+^prXeH<|3Z?YaCp?x&dDeklgbj<1dyWbXPENO*o>_~S~y z2&9Y#oVa;v;L#GF)iES5I$Ksc?7DhC3z&jj8Su@T9Y0mr@Q#ID{E?a1@nuVn73Yi_ zWmWj9qQ2JRQp9ouu05!)iMZ6AqXXoD3sZM5Nk?<@|*Jj6_^V8C<}zQ4Pc6n;c3@M zvAUAN@SqM;i)Uo(SUZn& zuVLIym*x4GjJV3D0fmwQiP5i;;?)w3`E7?{(;k_=ps5|eJTjiKjH6@qemz-SYp6`J z!faGgH8=X~h zc$vb&;` zJCQGwqQm%j^2z)Ut0tbW!no3#Y&jdIcUYm2qK2T(I5hE>UkOy-0>i;a1^8^Xl6jlbo-M7EzEyJ)gr{4p(4AW^iLHJN%tzNo(6^_^M zSOc|gimO>OGiWwx=Gj$m4t%oAre=qHO4o3KsvNg-DFEPKjcWc8E1baxsLBi$C1oeE zV^n>f9&tLq!ASw)W|6E8yNtW{Br9j-`fX)Hj1Z=RP_Wi*?2>d;Mf0@DkG&bGAjAesf-bWpGhp($K&Lkngc`NC~N?onP*BTYR zjG_h2crC6R48w${Ek!vIqgTC^L#h?kI5OWG(Adyt-0FMPv2Ra(W6iJkp4AU7tedKeLJpRess z+UEUPQ7iO!=LtP6-XEp8_rA|GnS1!+K<$Q-4Z72m zX)MM+6bA{d5aV9)TRDC(i)=~=Tzgl;K7EfV!MRPP&@eV=;PLrK4FxH(wsoBal4LVg zg?U12{PCU*(X|%pJks!WtVt8Mfxk2-5g$GC_t+P}k!N1ReG2Bx_)>nP^FqRe{76*F zJ?mwnh}id_FZk9n%yvmjWPI*pMDQx?S#I?fRmU=(hD~P-{QS zdW#H0E1Bgo{AlUf<+SN1txo|Ryp3JklcALLH9*RNXZ*80huF3E=}xsM3?sk|-O$A) zZ%fa}Y3+i@3Hpok<;JYG>vWNhp;0_&Q_E>*bOJ?*<35LsGtXKr&;mt9)t-GR{Nc~< zUpyNcuZig4jB=r!cu1{w{6kg1NAZq zIaNPa-^PQpfw8HoC{%;Ya}H}NxU$u36vycT3*>Nj^)2B;bzLspE@;IKjV15gcuyEApo5zLH|%|UsV7@>MSpT_6x zgW>eeK~ifi)gp-U7DLmcCCAlPoiQWbw-zcp!KYa{%fI#!qoI61b;2L1CfYV0gxo4~ z+gu)nNrxS=@;Rk&;|`rJVQ2=#lBexgvW?pZwWMP-CphJ8Eew2^uh7ald}YLwC2296 zQh+^QIHKRq&^^AM?0(jDxVyJ^DLjmw`PBI3i?5~*ue(-!7ubAeR^txd`K{nNxYykW;hwLuZTD;g)`u zX7qTgg6DvnD6z+T+sxrEi=EvCJ##%&ef3F^c!uL-@h6#Pv1w$W3HSR?4pMId65j}> z?M*#HoFum&t+!Kp4_nkN%vp(ncIM+US{!de$Ikpzc)!)YyCHJm+7z<7H8R;J5avHs z!2z=Wch;1lc44-0OqA|KWaKVKiFsp9lBSC7?#HV6a)I(Uww^WiC?xgvsGdaCB*yV^ zEE8|&d5`GdpDLmu-z3f20|-;RtC}okv|#yOH>~-?C&~2k%0RI9cHsA{q)YuSJ;8mO z%-O?B&5+-%If(S0bmfbTWn&;1aI{HX>)?G)ClVkV8qT-HmbSqn)`MsKkGQ93 zK*!uqk-j!d7n8`E@f%wE0>pv9FsYTQaQll3aLuvX3_|gZ@S1j2UCJm_*llVZ z3-gXSv$K8zf-BLr>5a@C@+aR{CV(kK{0y%rEOONMd%J(ovnNity z^i(!fo85&&DFywFsq(QWPpd+tRmeS+gPu-U$v4U5^L}3)lc`&{(ib`9tUplI@~~3C z==eJoaAxi8)J&E!q7BYKTgLZ%`a~&)pn{N2zEZc{(;%RdZjwcm)I+0JR!r z!apqV_FGPAVNK2Lhsu}HitKX=H4k(hPaI~9IgM+R}*kipMX{=O(Dw>#OT`?mbP)y7H7jPmVOIC+C0@OaRoa9N7Oy;- zUyGOzn>T`Xpo`z>cPtsj=<&!*T zHcWxl=hkHYHI`j^iAcR^^H_7edUA6bSZNyPN#>)bt>(N#E4Jqx8W?NtHJoNtkIdWxaMs>OZ zEnYX(0}11X=20}D%?D^`>FP4VN@0xfax|o{oSrnb5pydZCrq>UPl&$}gfi9)MAxev z_Ca2>rEeofhtTj9gBi_8b9?6PWCg`b;y*YXB^99ZRe_-_hs6w~Ir^_4m8f+a9GE zF&*Ux)2>)(Ektz{xQ~-mmRDHFH&hyC{wDgSo^+?Z5V|)oZSm^OC>VQeClof__NQFM!4{fk|>)DfWDu+*96xfCce;od-h%8%7 zsLuYPpdxi6kM~OxY{SoN3q(c{<(zOdZZ6?t6+@5_{2p)lqT*go#Wpd3g zRbDesC-aP_f(R`?^rV~H+C7Fft#o?bKU>= z*e*<$Tym<;{zh#IV_rI#lgY;q1v3dX;V4b*SgJ2JyrAYb>JN{f}0)X>^v*h#tkS)^Jyf4VTYQg#}>E2?oRPNkQ)YsZG z%0Z3EH`4E5*>o0Uu?2!Z5PzQ7(Dvu)dVQnD*(ALYo%p-25fvcLjjmf7d`o*mI`I#` zKRfm_*gWj}AZYVb@-5yw*WG%e=`C5wfa19dbBStmY&dRkGfo}Sq@L)z=|c-=k&4jz z4L0NV+a0%JT>-~jgb&0;zsH3*Iyz`3ea>f(YJyv5dzY{9Tvubnj~!OxA<(llBFNC< zGw?wi$9$J)V;1S~nzx^p228k)CvsDGVDYBHatf3P5tXv;QWCWhpb%y=_YQsre&TJkP~$DKsm-QLLb?TCO2Yw`0=c zp@u#&ugjp17{o)!pid-3L%%KZrgRb+yL&C2eppuVTWY^!GKt^;AG~KHNaS)O3Sc6n z6BDmlaBwoo8YO=zY~y;{sD6IivtrhQDg8;I^c$a!f%GCUPRHhdyqKYqK$V|$6t4tJ zO2YA!wwri?@jXteEx&z4Z7mi^t;CsDJp6Ye&xpr%1Cc@(}AcMjBmw6(D?3n-3Pm~`7F7|O?a<& z$?QslCWT~bxIYJHgb_)5_L&)D0y1O$Qm-Eb{UK2}J@_Mg3k*jnC_kZ)gvLA@OP>o& zt|trZpo9!s>YqX>)#K6e;OQ*QR?3u6%&~e%I*7tWfvbQp;)OO#;r5y8=+AAbPjX{L zzc64|1icn2(iT1>;yGz~nDCFvvx5cJZIgiHAV=OFmL&<_@$ed#wXc7>i`}? zLU#50(KzpA+AKk8$eD9Bl$A(Kz_A_G` zOe4ABc!si=6cD5C(9%cxn1&Gzc!pkRMtH4W#3lB>FDIr0Gr?nWj$<3a<_>h>6=R@X zBB&N%NZ_a~Vce*u`Ep7zGwc`xt$8m~G9pR0RwD)ca*nrZ1^TrE+&>p%Y78 zX&4eXqbwy9jZ#;vRRAzD>Tq-`l8o5#pnl>mV#8M^0N*$FW!^46?2cLeQP3%75KjtO zfDj>0SnDJACrt7G*RD`ZyrudWrJ&c_z&|~~wpi_6Lm4Bp(6T5XY!Jg!eMsTx2ufZPyDL=Yb91Bmw!sgT|m7&;>U`-_8E z!-(J7AWZ15HHNuMBs%t6bV^*v3eJeHh{dA}rz*P;z%1gldKYxE72D^%k^S}JVbJaU zx*HGdN~4w%Sn{8h;j>&Mz{%eB1jC=yA>b5L+CI7IT;SX2$Ac^8muM8P_a;VYtEf<`qZNkHd9($1XN9h$r;Cp5Sa%@fUL#BCv?x_J z^v~IX7-n|-CUiHn_}laUmW6NekWfLqmt#)RaHBWEq~NjfADWol zs(d;9>I{fE)V^4&L_w3Wz7Ey@LJ>)k3m}r>IuS!6KqO^j;9hCwC%;Jh$hoWyxMymU zV1*bFbEm)0JTet2H|4t?ZhZO^h6y$L3X9)sPcJ@p(fg0#pqSjf=rb6clY>eL5C_@T zY2{kE$#4KE3}16gw2dh0SS%?1?}rE?P0{2jB7cQJHMLU}O7#{LKi4+gqWIYx;OET2 zs^|AA*z+DyUly`>F`?ceLoIaw=W4cGP%7A#GvSNNepV3-Oep2C>X9>Wi+;d6&}0Gw z-&+=-5L_N?B_0f(h)BjT`aAd>?H@L4rK>OA_L$*o1%Ffz90r8e zm~@A91}1on(kdvUIkfKD?EgfZtdyaREt+i_p@a~Sn20e18pzQ5k_d23C3HA^ILNW6 ziP2QvEB?-H_d>@aa>lWeO!Iq#di)w-JLjy~0F?Ss#N-x)UHP)UQGNKFf(gyxO9ndU zn|?FBe}x-(>kjmrQ=pnYD(Q$jpZkFkk$$#q_M&MOI{Ltc+ur#jFIse#` zcnO%2HwQ?+eo{j5EMsn3UZ&yW>gmfHu}h=-)2*j-tUKNm23`7?WC-B!;P@KL8h}M# zPzX*B!g7CnGil0!>_;HmdoW-pMHOuhj{yC0DdF!{xkK28U(~#`@|tRqsXKbo4u>%# zb>D@|=a=z6$NxtKLsux41JN+qG`$t1o{msxf}j-hE)%6yWE#((kw0UbrQO}AM?-!l zbHzqN^eLc#lFYkd0p70R91pD{DtEm1yWV161U?wK(aeBmf1WtKxSphs*gD%D_4t(e zB4dE@kN0i#(H`$yJ~ky}2tiI$HkOL(^4o0D-_5a8L z6uyOq5d1M3q4gfujClxM<5q}z@*NwaNGnR2dUl=Af>uRvgKJmOpexm;n4ZJ8wfcrF zGm`KVsUwtB{l}IFV?GlfAGZf;hE4m%@BT<|@$+Z5eEa{{d&{7>wys^Yk%Yz_LU4Br z!8H&dI3c)eu;A_z0s(?sa0%}2PH=*2Xe_w9H*i<){qB9vxmE9}x_@tdf2ee7O&{YK z&oky+b2*>T661Zribmo~Hrc8~x_XO{#g{$qk-_yag+`(bd<<3E8n8~RHURN*=45qX ztU(qwi#cpZA#d`u+=XuXN#%hR^#2#D+KLXT{fm)72?AJCoYbz6*dw6td4S#6V_-@ovkm3sQ#a z>6CUwXkE;Z%I9lti$7YUe#`%3l=GtaS#S&$iU@-vLyC8ZETB3B42B?3-=2S9-JnS< zO2kqf7eDO>hTgf2*R{5Hn{zmW&DoR-2<<&Z0o~Eyt zG}`>pWa1y=b1m0{1x*Nm5BR){b<}{PzWWBBfFR~^f@A6k08zUpP9Hc+B>_gDj5FL1 z)&8D`tUtiy4YkpuWa+Zj<^n5U1)EHsw%R&iL^OH%_k*ear4GH=ZHc*A76h@CF zr2|Gf(3h2g6cT0H;OG;;2yxh|^#9>afegx3AUvNjdwdUwLLZ#zH!0tS_cG?uUJ%AF zqfUEoejy;?i9LHZ*$g!Be}n=m!0Tg-V`SF2oiW8-YEbljXeiAU!#b5hWEynVVgW(JPMYPobdnkl))H>DQ%D~eqKLEV0hEqLr zQaRBA{5nM`NdG@Wr?>?c&yiaLv}u)13(VJ77-y{7&3l$Ta0LR<7|OhTqgnBR0uGKJAJ~RPaYXeur)3Cr!s$Ar8c2Nwh{@*TG zCRPlZehw;3N69)^#5!%Gu?U}6#RQyF3Ghhk}Pccz$vRYD6W(y&I4wD(8=G=7{9}# zFDM&W?|xbO02|`}AvFBqLlKp2t?bQL0e#(1f)v}*!*;v8#HNg*=6x?z_UqAqF?72S zVTd}G;9ow1#|$%UxcB^7^N{{@Z~TTDK0sdd%Dg+2`ak8xrW!>kXejTk5mFgwh&{YK zaC=SyhG4KoNYDUm;;2pS|7|1x*hN2RX#JDpLZVJieEycD`ITXTKvwKy*6y=^yYUr8 z^)<*${PbJVfFprcj2iShS}owYD96-b0r1_RvWX?wXdHri_@O24j0YV`^16lOX|Tw4gD59<1)Q! ziMrn2ObK&xa`KBQSFIM;2s}c<)Zw=&(v6&-7OEv@%XC7_>fP=z3e;rcteR$W)qe>U zsWB@}PEDE0y^q1Og)pS@+QjR%xN3o>oYZsok4k*``5S%9QdEFEpOFXsR)dFJOsP)G zECflE;S!BT`O|n-z=rx*0#o+AY#EOoTbMg}O-+gH!}Cj8L0|*(n%i2}20?FKOD3)_ zf>>^*SpC&w0<*?oeVLA|1+Gwqkc&tjZ%422YEiTAk|M8O#Wy4 z+1xO1Rs<$-t_d#IWzRqeU zS1yTdvff6pGl6ch(nw-(U;uGd6BAv1FqSsl>@1$~IiiP=Zti|xv4NCSaINK(lz`h2 z6%wg)bdzty%Q{ec{gCH3qrpFtuYhZ7wQ4OW4aa6xjFbo{CZ7@Netpy?*8C~s`}E-U z$`-=M2(OIVz-{webyQ&g6Q$vrPeDB@;Yd=tk(fMB=hQL#L)&Y+Wr*|Ttd8A4;4@U} z?lSwia5DpK&*qb5w4c<`6%lEGJSqO)64`g)(6eEbni9qIX2%460hN11jVy!%jPs=)F7Tt!k0bw@mV2UJ|WRMQBe zEcD`+%kX4{RK&~4HZLXq!&=|THfg1z#JF|cIkxd#Zl^7IB4N*X=*>E&eZEaCW`euj zQga=|Wp2swqzg%~zb}fMeN6bNl;!Ex+&r^kJX->(>ETL{<7xJJqqm56W9!2fakb-& zEV=(0KQOSQezN-(IM>n@m+ix|sUT!=r1!17%i*?5%|uzVz(KP0=07grES5Qa{A6Cc z4DYi+4upjrLnfQ^Q7#q1=1g^?W#HUgG|=7G;}fnK!q9=0jmjR3Bs8%qX>y;pkJlZX z{?&_AE_wHA0kQ>RY>#bwh|0^rcfhnx&mEJw%o9KTZe*myDn0`-h&)dmp5Nx?Nl>Yb zt*8oKRcpqKQ+$X2E*4mgSejaWDPWnd0APmCDy`&QVR?Z>__4-yeZ~pG3S>sCtiDA# z^2FcvFAx@|)@Qr&^{JSlb)CbbB>cFVUkSv@G^-#ZCiGj_wyDC_k>8+Jxej7^=DEb%W6!oRIgT<}b?S$@B~e#P zwM{@sJ#A;_=XtJ&zpD|jc78;OL`R802ON|VG(?-d6!~vWi8xlNECbk``xZW*hy}ah z6WDSz^IA?Knpl4l$Mn11B=mT=oJ0E*x^dIA8VI*@EFQ!>>y$sn(H%nW31TZBtoG87 zQN}~$N?nWh+|7H6dk^A}w14Z-Ul z=h&Cr#i{oX7gJBsmLCd&U2GQCuSeq|3$)x5d2NhJx%zG%m^ z_B%L(&A{ZDGSVM&#qCm*pD;pys{H;QCan>flsQ4FFQ9li(zFG(MpURI3(^uhV6}#y zCiz>P`Qv06dj}@HR@>j;`rY--kd&SId_&NYHjB96-5u7`-v_9Xc!71 z_uT=#V6w0aVpNNf8`!Y;-Hv}7?&|4Wr}M?neEx+K+2L~AaM0~xFzS~SuLcVs^~TW? z;&&v5U`Niv)qpQCv6E|5xU}T9vft>@9yDx;2oXhVGAXC-&RmZa)K?U)tC%kOAf3pj z!{q0+VU*14R!)>jD0Ud`3oLhRs$F}pt|+>Z9+&xOtbYB0 z`Wz*DHmpN)Q;qW>nPLut!@~s8F1@fm(a;iUW5;n9A@b>XQzy8fw=@?+aMCT_v&Z4pchH{XI}i*5T_H#ACb_DDWx-r)7T5bum@Fa zw%WHl+RUBtz-vskBT8D7By-z=wm?ETp)QQ4cp z2K6aK*W=6;t)>)MPH%v;VdH*cKDi4qpM6%E?;X*1FIKS%+CC#5?6pr_mF4AnErTv| z2JDB?Kf**Wo)FeTen>@#KjQl>|4>X97|wjWFh@X39{!r`5JKko)xk{xIOX$rTT5KO zGt-UwvGra$ij1|Q?JBHPv%PzQMjh0J36gY#->0DD*_we?b``qSfgn zvF$v!XZNTjgd)hIz9F>Mc1h}}^_*?PQ{Y9kV-$3g{hHcuR`VQ98eVyXb*4-Qv$4w2 zjQi}JLb4FHQLHVWAstCjKZ#e`x-2o*mS6SD+nED$Ffzd+2}C{RwJnW{)m*|}(+oO; zUW09!2iy1aPe`3bw#8yhc;M~=8PNz_fse>po>#lnF4%o(U~qyXC?OHfLcZ7L;+p$8({?zA=Sk zjsDi*AWAcRY~`wYm<@>qn(jdR?d4^H_h~O!th^-mLxG~dn$9NR?XkcI(v!d+&I5_| z#%{604g=*5F6Z>QBVP#~tCoVoOrDmGed!7H-K(ah`RFOP!a*HpS1E57$-gWOUUJ^0r*z59!H{qX}bE{e%jLUA{m%rj%mh7$NWm*Ra|uIFsQa`e4W$aXy?<^??Y{#R*P6$ftPXiZi5_kJYQCIJg)5>X2K91` z^+fUM-evs8^l15=V-tCh>|Q7o}nY`zY(>2U_)8&Sz=H?3OvI~oLb`Nkcj)seR>UD zhrB_FpC=UnyCGIL(FwBn@p|`nTdJ9HR!HgJ_N0K|YKvZ!uAFu@ukh(^2~W-0+k-4{V>PVy$t zXYhJ-z0GYUChBomNMYZ{sgBvzop67o%(JT4QG&@CLz z$=ZLmnkGRXU-56VG@qZXE_)d)_qG|dxZ2#{R?Z2I0p}AQL{2(CKNqVSsfv8T3GwfG z3o4AWw`1$yE+LBDcanGR23{1x?yPyPt9ghmu7$u>#(y@#r9^zPulI%X&)Z7?`RSkC z5b>?$#?c~$V~&VL*5TWWV2doIqGt=Z?PK)s(IpEx4w zNLJHr4TRj~wVmGZE6Lp#`J+gV)l4xZO(Amk7#q*3e@P8`KcRzw@eX`W>Sh!#gd&98 zH3*q7XZ<7e#-SP|Thaw9*5OrqEs57b)mHe0*Sjs~@-^njTkR}x%`!Wc(PXt;3$?K~ zg3=KPEah+%Y0Q3$W7eF|C<=d>j^uF5+ptUp3qy{8212pkVuO|ThYi_4VLtB{u2(nf zQG%n)ct$#2ReODHjb}J{Ais(67nJ$X>wK&y zJBm(BTPSZE<>P~Cqkvz`>NC}@`l@MWYX3jbqND|2*P|3jbEYD>1~s3y-KN|ywSPP< zJXw)j0^~EW(+1n%T%jh-X0rE(u_@)zP?>&L_m;M+GqWrG1}p^i40B?z z7Nex*VO#WxXYGBEpfs5WUUz1>1Xzvh_Nc{fbA_)ykU9Q~$QuQ0ZEn*6;mINs>06=> zZu3{>TUTqCWi}Wh^POcc?FBeLnb7(Zq)R~^67BaU<=DAH3z8dlEH_xGZUAYKa0N$K z*>t;=YI=8JsaPX45*Ho3rVGeGo~A-@PNPF!6L9WzuyldTjHx!66E{0ZCoGNM6Hc}C zPA?Fmy`AosA!DofpznPu397&!Z3N$ZH%z6}?uuBm7k#|>99I$EtmpHqZnEPk`6JW- z?m3PoRt9$;p#+^az<=Uo=pF}pFuQgye_)yhA#gdbp^*Tqb_owv|U9;TE;7`a3FTvl~4Z5P#jF|Tp;w4rxb zr~Oadx5GD^4Yj`nmCD`Uf$PB>kvcQQGxqFOsg>gyZJxyaFEZz($@A97tZ?l>38Bi< z{p5b|03WwR;~E3$8Ga$=d9f3pxiVQg)V~3hi$Suw+*|2}_n+J_~h@{?7bdEv@a82}s^0#r}?Biq-_OgtY1ghp>&Cp)w$GihvJH^v?L{#f%2E0$U1q zi3Tyq2_Vixx7(R^pdsEBZ}jUacZ3Q6fPWnKCh1y1Sal^2%LR}9xh#w0RMYyAo4!NR zD3}N%nS*1n-ASHn;7ddiP~#n~Nt4BXdH0cw)t@TO2!p!Zkq~m#EhC=Q`F4Ie!iWx# zT|Z@=mO$Cs@V?xyL8WZ5Ke)8`obWlb?~uq_kxtHkz1C#1we*IePO@V}Sa4d&f-$p=sa6?%7<2 z$WAGV`&@cMs_FLH#mAN92+AZs=(@rrwsP#)`-qe}tjQ#5#E3B}KU`8E&hQ*3t0#}i z@ADuHOTI%7lXS7B)Ykr_GA)M4*QHYoA5e|4JS zcyvuLvd0vKX5AVCYn#(zE`+0J*H!FF+tAjH)rM~WJ!lckXGQHD&0N3P@QJZ(?JE_F z1=FH&4={~Q;WPC`^amyH0ET|+jbRhPh zey;U7x_#n@RL|ix`reV1>*;f4C=03QPWHP=-*)H2*Z1Gz5 z%ct$TvhJh5CcELX{NWj%6x2bRf2X0b(gAXwGbN(~+us=i_IF&e;2C^F$%U=rWr862 z3dEGPz=adpgW<28cbo>EUc<|LTvD4mYPMjpL(Z*~v^oO%X)P~d>p(%-+HhNz_Tw}wb8ky>J(su(%G(i$9HaR-D;5Lk# z*M7?ooRYib$evdBZJ8S$k29Li0r4qE`p%``OY4|$D|~e?-H)sKSYIWdWvya)y~KFE zOzcH%?{hHGk!tz?+17g&Wm`ff>^VRQZW!s`4rs~*Z{H;KgFh7*rrEXM(xrJla~K9* zELB)h3#i7UfL=bfyeRj1ZPT5u@w+_?Ba6@VanY0|emT^T{PM)^h^)XA1;_!7I=|Gu zRMBouI{SNXPxX~k)CU7V@B^E1u!MH#l)4ve52q2>FWM7(rmSz@vjIVfX}lZZ`u?Gi zfJD@3GuclhBH>_5prjjJ++sG_JR^dAs4m(N>a!7Whe1J`wm;y>F;}X`s>5R!L#L2B zknV=@rg~cuZ1Wop>y=c#LM9WlpPr>U$MBe407n^d5JuKpghCNb&T@r)o>*j!2@;xv z3@&R|O~O&(Ylyia@sjk2+6A_F&8(f~F@kc{UO({mWP|lw`Ex4H(AyAlABz3iQr1(m zs1u9TtT%Lw?q%BCo5L{%LnZ7wCB4{KOGq!~^W+H6%?c|kfxB^$?oRy7N`dP#J6mz-;em`MS) zoSBfoxZW2L=l8U4P>tsi`Q3i8r!3rv4ph2o)DO>p%c;*BkM~c;IQdRMHfzBK z{1VgZ_ekS$3I(SRD&L8xp&940K_CO&*|x!!@stAoyF_?P%iTV>W~5A1x_->fy`tkxfb4Hfh?z!(DEXK1+@?_%ZUZIQ@Y3O?_l$w6@3mEH8 zioF6)4Gk8daMaBNC3AY*8ikOv`L#Yq_1$u%+hPlNB(k{L%ZQd@^mCK}sd0J|G0vZd z;{NE(ij9FQ!|WYF_$LH+;>gHhkIsvkRZO~e8ze)~+nIifQr>TPHQ&Dl^+u^^-JN=k zWR+Ar-w+%Y6A8@ZT>-ur-E_Gh6C@Dd6V{n$K9=Eli;s{;sw*~qO|&8RGUDyJv(c%D z?w9-V7uQDU>eu&o`|mYFu{@gLDZUJ@?vmvYhn3t5qrFq%Fpq>2(dWR$5KEqc$9~0U z*!cxaR2mi2(xDYaAhx-o8pm9@XVBqWkgVK^t@*wRj>J{>S0vkOI)!bfaMyNPtAXgY zE7ISoUeidFK?~!?D6z90r+vg9zlb(}HeMJ?G1u~ugjWXCXwsrx#|P~OTbot#^KTFS zG^bE1MP;|WBA-nlXTZy!?~YC^wn;UnRr8TGS3TmTeg5IAra|ylBd2#l^z~0%rPrf8 zTV%v{-RA?i^$?Od;2b^?is?sF*_B80?=$iRJzdTAUEbtDRNlt=^%*`Gl3%a1iK4cb zAN}5X^cR4JDzXIr>y8PYm=-9kW5Fyk=X|sVCxTt4emW@gR~lze>Cc4BOm;wj);LQX zy==A>5&yabeD|nKf`Lqr^>9_2|Ng)!+O(AiBI)$aWOL5I?@jEfh$C<}k4*R$>o>WL zr^n-!S58|jjY5+rIu~?}TX}Q_*b?Jcy>Pv`z-!Uo*4?+=KHqpKN1_b=5c$q#`yky; zW!fe2*l5eWpHPQwmdK~Pp5Uu`;jDsSm_-i})oqHPGzp^id)R+?^(EU8^mZ9br~)Bu zj#W;yo-+5Pkb9*J*(kfCytlCHfu>fFDMS~UmARxCPDD5F*szpjK!jc?nTj35XBnmA z^G6Z{N=a@|277xD7YaqR;+NIg!uQncja14ssm3{u-Ar4@Vb4c6Cipde3m!GD$MChL zO!?G;_Ut<=y5{sSc_p1nnHs=zenXvu))l0mI)7E04UZH%%R7$R^VyDc^qN;r-VR^Xivtx~$_jzREAv`7#lv$EX*dRi7q=sNF-{F8J+wNS;DhuW zw?AR<&!|(%_~`{nUvW_+jdI%Z_*(^T9#)X>4fyvOH&%#1PkeCoWt4{z4+-_$IWI&; zK@8;=*RzXuDY+Y64wicO@8aQu#`M;H?mq{&n_rV93jn9VW`1#D4FxN;VT;I)3!vM( zlRcKL)cfe@1_MXz*na@o8Zzw<05t5t4tJz0{+0#kxk^635}qmBepUM5{igkLcCk|4 z8`Hb%9k1L{$NiDu^YPptzC(irRE!rO+?+StXin4PdU1N(I?ZnTM%|&`*F#JCec-S0 zdS<`(SPVo{&W72zj}rN+DJxSD*%P{0%wbS^Dn#6ej%ETo^=R*nMHq>V5k+O6f$O}U z+OAD$DbSsS^c;8d98pM^F4qEctSx%O@Igo&Yqf2CM7<}B!OISHwVWn>1B?D3-I+)o zOHf$9+*DM56RFdP1Kl96QF!`IdUhxfCO9dr5DlO?{iaK3!d}};4Wyu+$K$4J5rpWQ z&6802%xF&RSPxu%ht?o1#CI!MOMZ{%cI(>V1S9s}=JdTt4P^_yi=XUpw5$aa{~B^Z z+XRwLHSDWYi_dRddJ_<07Q?bLxT}W#Y=aUisK1%xiv~L~rKYIC~O5BHgj9$>A_zHNKf*kq>!X#wbWjWXLM z0X~&pIAwnDn^rR0&h;qK2?%cU@yD@x^(_2Jwu}c+Jt8i3Eob- z7i>ag!wb&A9 z`ja*XgT)mE51qZWL?yH-O^cWuS5DHFysicuY5X!cjB-ePE+*bNw%Jj-lQ>xtYdCrl zP<|R--T5OGGE`KMK_!iV$e9*hP9OK3r2ooLUQ$xWlr;836cWR|_suqlrz6GV1X2yc zTa3>qkD4;F2kRQqXSm1KhESJaZ~bETzUoVOhWrD(EAsZJ$iv^;b%%)C)PgXscS`SS z6#+AADeWt0D+pIHz6ASfE*Cfs95G{mCO3&#){%1n>ZNper28rKuMyHH#okf;-uM% zq3QIXleA(hdaYWdDxu-xc4>cH=OZXkPP&E^LJr-r=OgiT2s%U(%Mf~wW}H!g_$q*8&F=7RATkz>3M~jZkeL?CeBS)n=dmruJl*fX z+Ggy?N1E`bNU%SpA^4LPB7vz*|C08AX>NY`d-$$so|fIrqR{s;blY=vOLO}7ktF<%Zv(qt-2yvK z8#QC2GAsl-vr-Z!KcK7kqS5*JAKjo2*DDF(glt0)Xxbv?7jehCi#W%#4H-)di}>p5 ztdTK#Q!6VK+vV0bZRTcHj#Q#TM=Aa*>|-L=tt6tpX`ZP+_b-P=MoPU;H@6+n`xHEO z^OAC#nk4)Bq&77=?#zkE$YOl%uZNl0J6O26T_)$|r~!7K|1B!23`Ga%qLI z!&_rfdvW6?6t_C_z7)7*lP`bDaxSF2MbGiEre<bD-@7ahgec%w~ux2pDhB}4D#WlC9j{`mxC3)4{}Wo56!tMMNrG#gM)bb@6t#5$?FoIKRfQ8 z(Kh)Wra-|Xu15#<=X(XB55&8>?Q>)4Ev~PgGGg1ju4P?Z>fC+E9x>KmbwS(RPXl#V zk6FnK9^IOz3vFJ&rv`~dcWnOfmQFW}l&0eL=9S#+Cd?e32~VOCAvCzwpHAHI5absb zS#b$GCha)E@0ae#yD)fkN^SCSlgHe^Xnu7>es!EMK;G_VYB_9Es_uH4k{8(Y5E4Ja z8+*LBhYw+{W7E0&RvQJgZ68D-DKVReH`Qb>;iGurrNnj@OQ_S%DykO0`)iLim2Zff zndQYNB@G`Ou&|FfcwjNc*lC2)`^21jQhI$fr%8CX^?r1W$L-cKObsIUd!<~EojPM-yE!&~u_)tiG~!1q!b zBC0y@X)#K4VlfcGx=x<xTKhKU)cm>;-&qCxMh0^5jq$%5D3D{AA9Lp)yV>8YuJX( z0dLiYU3Uljkq-M&f}=e3VLdi2^M@DezR(tM0Q@ia@TaVF!8*C~R>3VI?7&u*`)rIj zje}Qj1h|d?9AMn-@S5t=fLY5109LJ&;GdEjF7wG%yE<8(kuJE-66Rrlg+~ee8h$$XMp>Bv7=smaMDS%VP?`FhPH(i>p@AN0wZ25>@c54-XTzyU*a#Bctu;H@GUjSK#Pg#eo{SOIhZdj4A@ zCAi8dxI^&Av)}t%fB$C!VkEQT$M}JVRFp>sXT1VEGb;w0N=30U zPXB+(z);9n3FrY62H$_3q{}NbySz-9ucEC8-#@q|JA=~!mb>qr)xrihs#HvJY= zj)te`*z1=%uD`0&z077Uhrxv|@RP-yh&(RC}G$KmVdX^B?~z;Q#XfLje{R ztUz8PO7~v05&-P7OwG^&CSi!W+u!L4^J`212!M9T1l}Cv{tG9pFf_O^0^r2Gv^1Ae zSr!H-w0E=hz!P|X;}1TkLh09k3;e>W#A^M6G!4K>RdsBz7$dBL_#K@^06mlu{~Ej6 z&(~E{{|kR4I`NcyF$;k{nV8X{2dGd1ePWzws0ScA3k)>(3cmQOrLp8+zOx&(6wAu#=5>QNyTQl(Cw=X( z1)VScXZP?bD-gQ6%U{t-k5qkQVgDgXKtuzxNMnTkyoZ3M3b0~Ras2~qV_Q%go7D<0;&vKM7GFr@4N_2&w27) z(bqxif6Tp}2tEa=xZ^sKW^0|;*BlrpX4QZ76j-PFGbB{B^sM&^s6LkCbN&Y{e8IVs zjJs_CEY0T3z=yt@fy>GMi&rY|{9cUjNNso1UWV zrG(*UnBRPctKS3gVs#$?4}e1%xM3_@{);eofC;E#NKSh>*52T zt4aQXq{{&X?frkG>0gWp()kjuPJzC0DUq_W3m8yc7f1(I<%tW>9-u}m1Vauy|069W z41EAgW(xU%t-Q~bSxO+W>L3BkN59R_Ltpd&X_%J%=I^;dSLX5`{c4yB134J2`<;&q zu^q;mH-y=gp??{y%A4lDCUAN#UBb2PUtkph{xhLx0$g~RtfU@JdC~|-?CEu$Kdv3Y zozyUKD2K~>senDN3(r*3h@wBK-lbzAvcTkS4Kgi24`2-h9@a6XC?$ps zhXU5H3gUG850&@$9^-}!K-d3{GKM;^=wR!v09RL5(6p3BSqaDwxH_Y8?Ovc@C9FSn zo8UrOFvHm0xAGa|zuN_ZnJoAd8(e}U95+=_JY&{u3U$7}HY%l{9rzQBfd78EZrBFH zaU@_4V4^_anhbdVkL!Yr&*<|29qPuX2Wj#Rn!cjj~m2 zVNKkk*lNRZ?3SsC?=(2b6G@QEM?|PEfRT6|E8BgBR-TE3i_@OGCYMC;i!TGdd?|&r zxkwtZaHkWgvaU!H!}eZsN*u4% z%#JQgtX|+so6SY?AR|H@5Bo@)JnqYZG~W?E!@PjYS)ud6NJ5+M4>?=Nk*DE8;4s~lSi6YH1urVW(c_GQeo*M_pSDDZJT*JS}iSBp`ZsG ze)Ff!vK1HW1&rD$EvYCk>9EveSA*5ibx=ccWQZ6(52nl}S8dB)0`4^doA?B9VWegEE|3pA3X{?hT@4XGK@)Y`T;*bkv*fMptP{z7j@2w}t)ds^)1ZfAk6L$k zA!P5TOBaL1EU{ol^%>r(wh&7wYTfOIzQF;L$f?lark)iDqB`xaj z_J*d3s(S#kjBOT!J7-}!qfC%zmJ2YjztT5#;KCj(<$V8Y(a}FJC$=dC#!pPmYy|#< z4;ac&L=a%7W>VUsXaUlwfDe(ComMXcE=vixEC5o)Q{pFNJsn*YZo~U;#5_({O9b8t zL$n;J&5)I*&}2MWzE%TLQ|{yGymp(*Ty&hQ=&osT;ePFd7zKrXrjp8_>H9g02T#4| z`q#B=35s$lnKO=p_;O-RzV;pMy}r3q{3Nwy#v+&>#8~_JQ2Q3VUN{}6Fw34#ltK|n z*&vz5O+&W{o7_*TSYJ}N;HIoEuC*7+ogu@WoIMW$Xho|16LR{T4@&#)%EAVOH3<(5 zJ`#o>kQv(N(%_legpfTHzx_NgP-WdMWU<-iIYP&~XZ|Ut?YRq`oHf>yyO*OS;8jo4 zESpV8!h79QgpUu=xY;M=cs4!PGgi)n$OD@Y9#l)~e!yA(l9hlH$J0_i32&dSdo6fk zDZ6lE@9tP6ohc{F%S-Cbf2TXLwJJ?29zsb@%}ioIu9NQXGh-4!cvG9kFfo^*y=O6f zre;)B3T}a$&{f5adrw3{Mw@Lv5~K5ldNX9l@>8kPp{j;jbnBuL&ZS59+@Dt>B9!a6 zAF$-Ex2;e@hV$x*-cxa_)vB>+E5TQrIa*0cN%fnCc`=Nf))K(ERFI?RJdB(E@f_o- zaUjY$j+-t(glK1mU@L!l5fz~@1iGA^QJ0hONmq3g<&5o*Qji}S2R7Yfj6@H(go*Y` zv57qx8lb}>8juV*)ThZh8s@AD;OZ>)t;N>Fgx?!~6h8Z1!v4-j@2&09ZcM6M^I&qV zoa^DI5dRaw%kc7@*_kDJbD2NFD9AZsFCG|fbAJwpnuM4hA7K=QstR0w%UE9oGXC_E zxEX#9YfNuPFL03aatD`3^&Iy?sVAG{2HDjVJkkPXG|u-AiKE%s_2XKEA0neC?k+wU zXi$e>9K@J}T+2yFq*G@)n!nBA;+*Su$}|WXAkw4CCX*6lJ?_W2!_I0>ixs;>6jt}4<7rq@|UTWExpFmh`lwj(nEHIt&-R16yRw69dO&YEx z3Yi}+$yPnhZR&|6`z<|MEQOq~dF18j8C=y&wHdA1k8$i|`iFi4|NbQI{1q41zO9=u zC-cuSfa*(93^Tber6vRcR{}^X349R4M^C_ijVKGt&d`2Yc?nDT)WJYP4qN#?QdUyU z^w6jVC%BUeeqTW>LX7RURirAreb9EvQ!DyTttNrCZDN4dfq+X{N*MR`v&hFChBMA zM1K|9xZs9eX^H10CB-zY??{$R@g>xJin`?zls!d@rBtYtL#q-@$45!a&h8rYqw5nt zf~#qUsu&9>hA%soi+;y{_c}ksTtW#=@m^9&55YW4N@_o?r6yHd;(m6TYk~{h#zE;F z_J%Ylm#&oklT#a~6UDq}uoxV?tgYJ$a2fN7x{`Rt{eCT0YoL)9RXu9d0!-q45{5-= zPZML|SHJ?8!6Hu{xbOi>IRP-U)SUWrWyIN3|DmG9{LMd`)@*o6_&lBsYgwS3vxPWpMB&I3kGxll5BBpJu<|h{(AW>RKbo-+=rY|LV=EI-tlIH|+VvI(vEhReTx-ExaGkA`+Lvf{bZ!)hmBnZ{2oVRT& zQ00Wea4ePjF_NOJ@gx^Sp;LBxnrZDcq8@jA50EI8B9&$azXx@~;u_>43beE20>vRX z4t1PeuCG0q6mSK|*`LHDuO!s>7n^?k`o-F|_1uIbK)kFtr@N@g6*snMZnq%XU)yd( z7vU<3QrW-rBaZU#*^7+#=qWhJWxM;z>#%8d1L=@BfS#S79`9>S&;48@tB0Edy~Uc?Po`S(*YjTSa;NW zxK#2z;+Rd^NKBNPHoz9&8roo^j7@oxl_@3Rcahikj;tywch3IS0X_6$^FCu(3t#cv z^++<1?P2tLmR(30?BOyuO3Hfnc}_p^qoWvO;upkePZL-2udb_A(m*_b;8l_+M?GW) z!Wn|0`hYiFdUbsy1oo&pw%|tIN}A{k)Muuo=wwbwYH^b+QD0Wq+=8HSWlW%qT1{203*#; zQ6o{XW;h|2pd#a_Z55^zg_`~;j%*GHENrP*p=F)>xiB@Mr7GgYCeIcH4IdL_9LpJ< zFx|}bmhz=kRlJ3YYfGtVC@8#qBycWSjQIAAeHbBcn^`83j1JDjLs_B^o=syCIK9YE zn;1*i;dAfCwxKlh7LzJV-}~tGgL`0ex8v@fg7|bZZD@7z$@!o2g1m$i9yP6p{*L=E zAJkZVeDDZNTQuQi&p$k@v#&S~cAcwvM{)GgN0K{c`*qyka24Ez#ni}%77N^Ih(5NL z7<8mR_B>rb0JVqsc@OX7t-_gn#Go9z z5bIc)NPujy?r3@k4S5%%*{k!5x)0*+`Khsmj#1#jW0%ow zfk8WKu{;yh;>9v%$97pNpj?y>)J*n5q=9gA16ki*fcLz=ulQGcwpiRPU6Y4lo;!)vpLPo){^z@SaG^ zSc9gx<7$d9s%160P+PEC4Li4SzFV)j2(8>mMgq6hA2(R+*96ul-hCEVaI&%V11@;^ zGFOiD@%HMVfiha!@Ep1DeR~a#w;v!`$v@Bd?q7fPfu*(fVG?VWoO(Z-^5i@4?|4Pf zW|3oa0VHx#Gv8mu^q^)2`{pReQEEn9mS*D&3i(j8ai962t~IjQtl~qR_sIl*fryGq zVYL4qb?ITI?H7ko#TY4jhI2GII1#!I2?n!GRvt41iG zay(4d!c&iyubLMMZ6ro6C~*mGar!yigIw6{Yr*jQ6N@W3TtdH+Unaj7+~)gCIUId= zp^ml%#CWEz$T;@>WO}8>@t;Dc1%p4=qbtd?>tryNgc60VjG0d3>WE5xau%*MJoQrX3w&YH%%8{GIsP+?CIV#=%8PB$$BYB< z!CXqZFO*ha5aWYK9xli!lkP&!sU+O4r8T(^7uiLnm$L?{y~RB&;#Vgt`4pt|C6a?v zzFIgQ*3W(C5@drC0rge zvWU}NE^5~Y6=e;EG&+9o#~&VrkKfZ&1=!Vt{~wypGODevYuCk{1b25UQrz7gg1Zzc z?heJ>gS&f?0!2%4r$tJNJH_4Yq|bT3f7w4WGRDf<)9!1|xlzye@qzc`ziX+5QiXtA zg+fzw2@yMPhaQ*I$TShGArdqXXq(p4Q~P&CLGWz?Fy(jMtmw{QVD}I;w07Yc3i-hX zz4kfU^(BKpg&*RyVQzNIkFXbA+J|~SW&MsRMcO5)isGj740UPYdp%I;@MOq@?@A6C zw`wk_DT}K^<|`bH7&@@G{nGfjqTq&WC;!`5N87y&!Q4v`iazLcN^e`%{p3Y?DE4HG zX+pb6*yEjjROb4$GRTJWvhmx+Su{P)Logb4FZ13Rq- z$59O-cWY;&DGEB56WbN2rER>(+>+SHVENi%DOf zFti{EO9>V?qq@zwUWmK9uVaomxknS(g};@AODbH0Zavf0-0?gj#Y{aRZ*n zKE!{P0ujz(;hze*D6`?pP=x!P6j4?@aJ9o~F%uRBL>8DtyOHA{xN#@-ZfbN$Y0;?J zj;?H6{^u%09nIHcu->mC;CO1;`(K!CHPp_uxGM>(_(qP1D7SmOpGnHJL-R%RlTw=S z+ci`Fa?Kbx)pgON8&)FXP&O^*=+Fn8te%ti+`s#&!KA05y!uzYS0ydT!O7(HHDUc5 zuuV`W|LN7cSHTB@nR$Ij>S+A^*Y2e(f|P`S?{zY%m|q`L*>o!HlQ->HfkgJrwiqoZ z@1}RnxbJ@0heX=Ap*^GilR$r=o!l9b19`TdYN+8EeiVFoJz^IqQ6Bg$O2zQ|q^oD= zXKWWoFK=p+*wqearlozz!hO))g?=_=-nm5K6n&9LYu{ODX(T;ns?E{KojVKAkMix% zzIGSk95OQQr&xr?TtwVw8uMd1(MxX6`1``{o-{YHJIiH0zgHiY^KP==aqUt1Ny0r zA2vx8Ih4=ut_X@sICWE|WK6dw8^n#2sNC@uW5aFJzSt=5{2!=cXv@S0nEW)W3d6W`E2M;~>t>3ZK7Bxq}`zZl!(yQJve}DNW=^q_|&#|EM8O9{IYHx+}|=MR;6 zf{I{1DVkC)2{(7+Y?U;}+F5&t0L3-Q{L;aU+Z$+X{w;jpPt5NW(@MkRW8`^1>Yvq) zFwh1!m9PFUR7Q{;nH8O&RCB|f~D=*IU8ii6Fu=z*pePw3m zC2>EWQnWdOp8eJ>{EoGVGaIk#FeFBq6PCl zItNL4yHTiq(|QQJ6Y{qDW^ygVCM@opzM^e!y|$v z`R5l%P``kjptV_33aFV=hPk=1Nm)?$gZBV;&ea+G#=I!1VN{u|XGgC&R-)DHo}3!n zI7g-(N6_F=+f;Odx`;iU!~O2PSbOL^GkY4kujzS2J7QRmoFm zqHYCCYFPj7+n&nEOI=tbo2|}25HVN6G)$zK1R*!2)jfJ$LZ}uK8z2>nOx5L7q1)kC zfk78F6Q9bgvVycbu2`*7Qcb{MbMIh3BOIsolhac6AUTtR9)i-4*-t!^r#mqNm+)iV zU|TfSTd5f)PTq(T<(LNdjf&W&y5rzi|DwlEOG^#yr{BYXW+V^rNp+%M^;?-4bL%OQgR(s9BuGj4AvQmMSg9 zfgXG>HeGT0J1x4zhUm%~BD!zdpLuwA*!a{{RIobRQoDa032HbVC_4J(GkbE^sinn! za;jQ;rONbYT2Fj!py_z{0oR2hRO^0MN&5>vmQF>!fo0=_(nc%f_DjjPLn$r8LMTeCZO z5jL-Za>^ukdw?49X!n^?GgURF0416g!<<#QJLrBxRPNCZ_U33M&LY3;?D5xYb$@+^ zzi!9=h>e&jYN0l@g1ZFM>%z|6Y^L;3W3JVX6fiMr6brw)p`>14hr0W4FSIs2_}X9! z00Lxm`V~j&CaNfpp8q7Q#VBz5X6N?wp)iPvB41?Y+lmtIcayB$CyVbGpM_zG<`Y-F z8=N$e*I=o9XeM96eF8h}D{rYQMIK*Js{E~f_OR)mXs#}e2NqgKT=jhWGJgrDw8-kn zD)v3mABxP-Wa)sZ8bAN5XMEl;Soo)BkRuD%z~kPT6iI)pRQT3j{`Xr?sM{$rQsx&6 z@PIg&`c%qy)nEgmvjS5_`hS_*TCg@Vv+o#`);#CIQV%Uchh>H#DyE&>IyPzj4Thg* z53U`nV<44)y7lZ5_6R_&6wB|Q4U{Mo6QkSd;e86g@pAjTR#C-pTcN~|9K){f28C;; z(Joz9Tx<%d50eZN!t z6Zjt?C-~1b3&Pni{L6d&{zdVrn&TS(axnLaLw{|c4-n?2>U#b0VF8FNr7dzZs8M;Z zSWG#$01v{;2&qDsg6A!Ye%#|L@GuXo;dpvrU(Yz=J6ov?c(SiIu#+m{ho3!2zh063 z2ObT;7!C`tE&JYke&5%pDGE~CIOdWvOZ!&{OoM6Pg9dCHwbbX|u+%q7Q5mfBGDM+e zDG76uq<{Q`h{*ssYQ)Ymy9k4v20yq|hlHFc69&1eqeGzozNW0TBjsney_;G2?q0r= z@7;@{M)TFJ} zge=8_&VP!kB?R}7LUlf{-|&Atm-;_3J;E09U!_h0p4=Q3bwJ~7aYjUBuBX0ydtzSI zKyLzf?G6>z{vvNTL=*nxil6f5ygI|vou}fr?mVmAxw=rVDA3hb(m=h~@4KpEpPYc6 zjwV&+e!RMOf4w`3J`z2}#MtS)9l2haJ+vQMVq~vA)Bl6{bXCL~!kQ&TTVb|6#D2BG zByb-@ zhm%C8#vT&w2o<(Ms9eNgbFx+_kQHM=I4UO|VxnGFSO1cr*}x;zo&Cv3z8bF)T}|;~ zY$Ju+6}8C~nlLC@A?xIP02%LMf!^2qd=o?UprPsUoJH%m*C(S)`+97s*raCzHQWX^ z;`M_69-QHMQ$uEZ*GeOeW^|A7*AlSQsoPLZHsc%r$?^Y6|05Wm9eBIs#i1(q?*-ay zVv3LDKcNODh#;~ifw_HKo>J~|C#!(;E?ub9`m*pTCfmqY|6yYQkf#5xU_P+@1U?+6U+e0rb4#gt* zpz0w|p#6}V7pG(&G))G`KqxDzk=(Oz$1cnV>jlViRma~8OE9spFgQzRPfjYgNV_YJ zkF%7ObgI@+W6Ybf9K>fnB3XOY=zbjTDsQURAkN7x?=FFL)=Iu5u>BCON>2+0<8573 z&(9UH7`N1g(9>rTL@50z-Pghw*Veu@2F!OO&)AQ-UMeETj`B?|i`b z`MT8TV}*^ipM_>WNP_7LYnt05bt+id&E)aRYVzqP-QA_#I9$`@#IStLy*mYc4$7`u z&k!lLyR(#~NP0V4NAN+`ZQQ31`9e; z=Q)kk6xs4r_%Vsc-1wQXfV`(zI=X(hP4G?YB;9j_51>VPgVvo>fCP*%#GjJRG)yxY ztBP?_4|_hz`K4BDD2vXbWpY(tCpcCEsa{i#_~H9+5l$?y_l$A!ri${g18NmgaMT~7 z|Gh9LNg?$8-~Er82YnKqhxh+B;Q#q!!tUw0ur-t{PuHAUFf&TpCWoHuryxF-O zgDjJ@wLvL~vvK(ms|V$*Z6JD1_G)Ep65*+y$~>~VTWx&d`S%L+To8STKc2m%H7)M7 zyrmQm(7MT+!Fv7GOCaztOW1d7L{qCvsZ-X;%uni!lf3phWGx}0`i#{)RpaJj}<&!rA`Ym(0YT7)doufL@QvtVF!SzEyG z>U&9!cc*C{WM>|70dBoJs^B;xUhoIj3K>}Wj}#OIy!^_9S?4~u9^WJ%`(FCmIh~{* zs`H#7K&pDSFN2>8-!h@oIOV?f2fC`2w0ZjGbMv015)}AoB1S#!=6^UF9qXxgb5QF# zc5wW`%DTNuMRfx*sZP454O7V}e)VWGpx+DNN;w~Gf=lRc92cL#Ac8v@`{PSQX4bve zIi9Pr#UzkFPM5$?L#1gFG1%@@I_;OZarDtn-!6>7(ar=|~i& zw|Q!l7p2lNzu8fkv()JS${_$MQOVy)8R1k0l9LN7Z#QKfN3x_9#WIq)0HEz zzaIprskJWIV}hQJrJ%kq96o$v2z2^zmF!rb*v+!Nwngh@{I2w){5P|oYTx%cHJPhR zWe;=gsq#1se1Ob$TmX&T3#-1>kqeHQ57C07Ih@fYKN_4mJa1x^RaKORDf;A5l7;yh z!3*;4mMr>QZ&u!u-V z!$ZQVLc`}?9|>vL#codWw+8x%PdZpG7{8UbBulgcL7wULls57P74!_>+G*WcSU^C- z-3{zAHI%(y=(O5|nr=Txl2e+h(m`@%t(KXCR7)QTqu{r-@tM;QqkCAxEwH!7M&OJX z@{q!aELjF3^lV@UbY2+w`%H*{e4F;kQ(0 zdIfm1XpS@?EmYvd-wZx@s5AkjP+MuY=Y(b0faC zTK<3Ds1Xkf;sAT7kmr2@F$0^E+CyONpVBiU8Vzk+LS(H;`>8NDlS9&LB0_2!-h1;h z<^kIZ*Mx2KFa6hu#}^Zup*|z_d}*3b_e06kx_ExwNLN8Fm-q$;|-`x zrmNxR)B4~4$hdjHr_7Vyia{6!>l`okK$h(sjs>C{6_6Wz6)Z@~wOk!CzRnNC!Z$8s z^GAD|Wu98g%=L5?4pj6zk$ppm!37sFApDT=C4N7Uab?Ml)RbvcSxGzO>B)cDztG5% zY$%~7*|_3@9@%)O5tT3{4{{9S_V!RjU*?Sn#AS>#(?wjcVRla|5WzHcP;&PL%&saPNTljFjJsgc{7Rv;Vi))Lsa4E8HQ&{?rZ=)~?Z6@AZ@-nBLUn zIrJiX;G@n+tBdo^>^y`y>h2g^9pl>Jb5KHRISKGQ4QK4%1EhbTgt_==VTOw%yw>~< zCi7xJp-=ZqICnn1U!jhF7^g6Rq0qD|Z!&0@OIu%6?5JsC z;BbGRtXOqTDA*+E_Q=$ENR01jj`tsn;mBW=w8ZwZ*>0Ll5p+anQcvLHGHBJj-|XZ2 z(C}%A4Wu%o;JZ^bnHVrGRb_}Ayq~{50XGqqX{B5O#A^WxUieJ_}OVV{ofrErTH~1CYi=VKNVyCrRDhG+u6#+M^V6 zD*Zb~+ak>0&9$;V66S~RRz_MrgT+zb{OBSj{Wk^ zHbmIUq*tj_wz7P;Pqt>tk$w!M#aa_#pad{bcB(*x49G2!E$2D6&c~!Rryy`Mg)`e$ zi$N;FKN~8%^5V1B2ZL6GeUr@`Fpr#FN$~+F*W;u0-uN4n&Gf39V#VQMvU2>C(kJ)) zfVZ1D;h%F{qFiiGs-)mOW5zmo8syYTH4!lXB-faJ$Nidqe3{$QE22q7R=lJn1|VMY ze)3|&ij?ZRq|b#xL6D|of(n;P?gvX8U>YGBkLP5*V0^D(fs zO*&qrB8)+gdBfsF6qV~O@g(#zbnr$mqVit~u!wquXf361ur~^p@7l})ilr@`9*j&m zr?nM^e1k~Gs_A_&8;ZGUUCoJmo3a%CPq-+ z^)psQ`VDhdQG$r#IcW7AMG#?S=4&$}fq7E;JU9swsUUvKgD=6CEC*zSf4++OL$NCi z`%nMtgfc^;Zu|p3KZkTHFM|0V;MI2xAw<25KK|=4bQ&+TFh@8o#X}dmR>b{VThTay z`DG$Mfm4(>rvB>dS2Dr(A~r!ZSKHoY#pO!^cd%6@l8_u2G5g|&#+7frx}t(tDc9FY zB^ybCLJT2ndY@nL2Z1Q&+w+VMp^mBjP5y+2H$#ginF#VtM30_F<0=QIrw9>pHO`|;G;`_P`lAfK zqefk!pRv-wy|`W6(sc;^j55Yhh-l%CvuSQk8AWrrR&*IRiyD^wxZC$CHQQua3E#L# z(>=ny*fuI|+Kzs`K175`gize3uJBbB?yzD>r{nR5nBpB+jq-c6Tb5R(wLyW;jej!% z2!u|;7vcUp%&oVnTp`DxBhg=r;c!x0*}gF<*Nc0?^kvm_BDb($IW*YyclpUbig?*k znxg4Rpxe9hnJ@UEGJIe`+>6%NMH;2&P!fbq;7l2>Ye@n4jA^oWFNQK*to1F>N&YgHMEy(-`FZTR2tL?fFj~Uzbs}EHZn1I;DV`^pZTkAZGg< zWUAVag>6*uCBhsnqvkgeVsH}JAy!q$nZ>t1y25m223DVirS~cIWuqRg8^6c7e4`mH zF|?*qftVsDAzuDQ?dG#)%&`EXbCOH9v;Yx(a>sql)48OAv}7u!%yj>PgR-5+E=Qv1(!huVLC$_O~3z}1#sn4 zo_-uk;6^J$%A*n<6<{Nm8;{e>%PGv70_~)viNV}h&4!Ia2|7gXx^i0un)@rr6H)-a z?q%?HbEr)FP~BrGb30&B5WcK6eV?oLr>C?WNBLFjPPTf%u9hfAjN$#0 zgw2e~^cCpUyvc3Sywr&}obglg$98xVaEC#C@mSa?ER$V5!`1PS_L+m4>hZvm{NUS+ ziqu#0c-z|T_YS~0riTFW*oYcmFf z&$?t*SDFzC+8SEyAEZ_xH7!7ah3RV9Ng{Lms@zevWEDi?td$M*LUcd^jvszR{EvcS zxzQ#0Q61oHFiN~foxUsLNiEE;w- zrjiocq4)7@#Vvj15;@JhlOJ@6w_vn=uP!l_#32c>%SxM2<(J4xI&}y~<0WS}042UG{gX<(>?ICi0F8H}m+LdC;|$M@kQuNPCGRPpJ*>3|2FgTh5SEdggD*;TcaYe{;`ly8 z9EAlw1lY;SAySrpED}rJLad>SUZhH)f5TwkHXlEL({e|)vrX?E)V&O)NSYZP-GDCi z@y(_Z1E3mqQ`jvIWq?O1Yu374V2k(X_P&no@Y~?6ski7B)tQSA!OzEd|IO*AtljLbGB61O3~`0Vlife$(H zSXZZE&()5yC-Y5kTO4q|28^of+;&uf&F-)>ORScrGNxfGxdb$9+0@~f7EO~_%6>DX zVIesYAvuGe_+<#K&?8KE#w*DN&z?Zc2@Uoiu|YVIiNpy(2nfgA&+icq%H6T#aQUmg zk`d7ChQ?>!3LzYnJrK;xYo@Y9zz2N}^7ELs7=)7l>qE=@owpRrg5aMI`Vyxflx{mz zL!j#X|L+4%!i6O|Za!Vs&A)R0Ao#k}G9ynIGY4BHiC7|c#j!aYY8#z$OQqCMg1mzv z5YkwRkGy=hm4#-W3-5|vgAlqnDKHxVkvddHlS;Nt)M~BVm(Ncgtk9>#2(8fksos2` zF_ol1xVVF!sOG?`sr1#1<;3<=Xvnzn7dyZ>RS$DxE2ybn@hW^zsy`zsVPqHE>-SA= zyGx(yw>*U?%+riOIWMJ8HgQIsKKh7}vK%v^JF|zG6NSbjf8w_BN0^lXcUlbo>MKYw zvWz3ex`2zhr8O!cA%J*#v0LGRlwHF^V{~N5ajg9~+;Olc{-NS$o-&bh3356V_X&%+ zPp>ry4!hD8(*lBL*S2e=SZi2cyyIn!Ndv}m$P}b0jx!f#aPdWeS_qbcyzLuHdN}9v( zX+!j#<8Bot#na*Ly+G_C%aq8>?Dtpl%d9O*6Y*@%zk>>PM}N~@Nl$Wy;ovCdfHv&R zd{c6Q9Q@4ReXm6R1aC!mU-meUG1$DyOb6dq8}$~JunCmv)`@lmXh-xB#TAcKSa$dgUU{(=_HRelkD zA4ofXTS|;#pGew2IILHZ5tX#}rqMs71~FzUR=aYI#$f1pzC1lRz*a320k7nJN3nS^{4)Op)yBP<%if1nMySX^gKl5K~6Q#bf zi5J0NWH44Ij})1~Wo z8@}&ecI7#&xi~AZ>r{!wo7!`SOY=s1*w;$FMs=MBw*eNcMOyxgv@A!dI{}6>?rw)y zfgb$LHvHW$tHkXA%fX=;@isfBYSmp{%2dscEI(}vq6RHv^$e?3yd6>06ic(uNGZ%k z+%xlek$jhC=(^H*1dM{^sm{m*-5fl$i#m83IDk!HM~;X7+UMnVx>&(_a_96t9@H&k zt(zHA+4$jn8_F(vq{uQXE{FY1RqVJVbqaEFCtexbC1K7(A{%M=vWD^qB*8Kr?g-Sl zizxWnWJS8(JxiQqBb0q(rGvbXb_FR+-xtQ7e$V&QVpCEeJf|QxF*fBS&M)e05{xy2 ze)y7Zsb!h=+-%~=3*44^3po8K7iF>R>{lvar<^_`oRv?=1@zE<-PFBjO)f=uZac{b zTzBQPh)RWk!V-Yp<93vA?R*{rBLtsgjoUkIk5Ma3X+N1*5e=wH^a8^-mCJ$9fEVv9 zAe%)`YT8#dA=&(q6F9elKT!2^a0e}330>{)-}&(Ft3PCWCp$~Q4oBK0o+IS(U5I=9 z1zJ!y_T8+vodyaaqH_=Y{yyU74u@Sx2!*OEsxWp0|o6 zJfD?DPLvNc`W^Ix@1@G?X|-nsKF%ex)vFFsFetNxs2C<*1^{i0aHE`v4&XdCGnpl4 z^78o-4T5|mBZra7Y>pF;ZPyu|Zu2PjZKApH!*^1`sy%gUJxC#RVcr_cN%6bMeTa+d z@G8bX(W>2VZz~~6{~{tr_}4%5+>vxI)rq z6!&0V*$FcWmU#;05_M#$Xl%2XHo3X-;qKLy&F!rh9ur@X1EC^&W6D3hKIN~$>L=>+ z;J5ZS1k+)xc~LgukkQtGnd=>X_Ok$(Gh3O@Tx{FIgOa;B4h9N{!s5)p&D?J_#0yxa z!*<#nEyBu`mBabkzenICb+zZ-p2M@IWHrjf9hj0xrL-__C_7I8a`NY{Bg`ZDyC^b(`IY>*}MS$fzs*6j>3+NxoHMb(MaipXY8Gq%;lD``j@6#?qtPStG46VjCacxXI zSFd0HB|iD6a!Gz8A)Y$$?ndw34VXCvR=DiQaGAZ02FTNKrauSe!u(DXAvgJ@I`Fsw0` zNR}8f{$8Asns19h*YX!V z4$eTCxw@f}erUp5o)uoV7p~aU;d$7geqV#85PQWTt>o~YD=za``d~-JG^lmzIayou zSd&3>gi@o@L2f^&VAVPta>GAj2;4to9QVU8W*NXoml6e~iPKab?ny=21HpP2X9vq#02PV}PbMtSdRh z`eNOz31zY$h&p_`CdvzuL0CbNnmxjGOi0mweI}UOlk?gHCh0QZoJ5KINW#h(foNJC zWgWTZr3ycamSksdrCoZOs7El-e`CcBw#g+}br_~6Ux%ZAiEytLBH zM%l_Kkrd}|=~NH=ka7;dAL8GPqGAFybt>NKN=JWUa1xx z@ZA*WbpEQDzBOvCR1!(4@RZa769L;Uw5tQJ41nT_8gH+1fDnO}29(c?w#?+Ti-^C@ z;50Gm@Y#)Bfl8x37vxgWJ8QrFbgrZlA`(mx_4TxtM{9lyS-TWPkv8_Ynca!5i7-pM z|2TwITd2$6=Uf@+f;2uaRO<2tX&Ry>@%%$beh-*F=Dyv%y#y;r_UV||0>;TM@2=N6 z6_JgEE2$+8b2f{!LDb<V)B%%l7o~u4#LM^943vtt3$!eQDwjoQQa;+H5H&f@CW^MY7mOf`B z7Ss**d`AA*DJh$Z^og|EH9kB@@!dgYu6kE|2Kt|11Kgy#l6ulX{@yaW6|^gWHJw6+;hP4z2X`msEehSG`|9yacOe^2!p zmhls{Cs44;ZJaXEg9%dR=WE8p4X+l%0g6M=H}L)#AS>(p&P3ST1kwK~-+OFEk$lrk zM-V_B=J972SF97awgFf&(LL=hw#hNpO0|6bqkc2ECH#esO1WyaI&Ay`5+37TNtX!x z7^R^RsR5iV+ejAIk5BsHq%%N5mc02l`FK588Iw#f1_^P7h$>K22f7!gVvXZ9dqT;oaZN%#w5kowWO?{KbL1*FHk&Hjph|vC4^|2W zXG|&(zzn|XkSXq11g0R<`8fluSTfsjMc3^Ibo_y!BPjhM{iYS)wWpmW_c?QLBF8#0 zk^@s@Baag6!DWV{pp{%;;!FcQaq6)OyRO=rK$bbn{R=eAhLTPHk^N}!9HH0{nSrp? z>5lA(dr16@`8=z?7mxX}j*!rM%nNKO7}Lbn3YN1}MwDgv5o_!P984XRv7*{Kx<-w8 z34??lh~!cv+(@FJWaW2~@<;d%7R$P-IE-rhPsU9R@ez*N#)ZQvd~koZVGy(;xXVgxk;fdbeLwnzEZ=dqxl~3*xhfMo znM;G{ueB@TtRQzg_cxbLfY^hw*Rc~g(=_yyL4p7`rU9Oon(X36k*i_$iNNcS;+fq$2CEYB-NNbq`mjJKSmVOmp6*o)MuTlkeRuj zL-9`Fvh^^OH>>2mro;dN%}%_gT-RPgJ|dEF%EN+~U$(FzS@)NF>(HidCHNof&rjb| zT_5ifY%sT#hed~PdzJ!qomNl4pS!{!`K*}m)z`;yU&ec-%I-Nvd ztsFuSfWfE59#2oBTpJtiUL&sQsf2KH(K7)@AcHc}@@N$X`pN$&fSgBpxda4&-RKH@ zMyuT9!Hkck02|PN_IwjIl1XLtFW25t1=MIa8L4Xf2e(;IBJDH~BQ0 zwiDYy!_O&w)PbF|3dUM^cX7>;qE*C-QZMxM^7x7NNK4`1Q$K}k{`g8u(pl7-G*Ni( zv#5Zvu_oVF0qRf0r52IrL;O3j*wX!Q3Uq3*QriVOZZr{Am>_UX7JtkZvNb;7W0`>J zN%>&1T4tooXWmFYWhq?W;Zm1chHAm$jGZ24hO>-RsjKA37Fvx$$~BWK^g+(_B2S-W z`mu6pLh{6+fyzV$W5W*ft3teZ__jSE@iZRhH0H;kdQCM6tC{0zmVa54;J7s5HfiD{90`1SbbL08~b2#O4GJ zS+Rm1c^sC5Y63LNrZ0EY!zp`zmJTc)2e6EJvpCfDMqtP0wFo;=w0#3bo*j$amKJ`D z)6rHeCXX{-$>K!x2ABFnrx75MKL`!$q($nL*t-)69(GixRH1+Ycj5^98FV5 z4_i`7v)sAs<~?@f27#@qto7)U)IXejNwv_BC!BJGE=vh}M5-ix$yyP^uHF!#(iq!VFuIRyIcArAyVR=POHV)X2&3Jmx%#yR%il%>M30qaKS& zkh4c}7-3AomfCSl7#fp_vvk3Iaswhch#d&{X)t0~k}$)_@B~CR_Pzi8)Id-5t--84 zEgdWB_9SI{CkoY)1c#q-ZeRyYC-DG#XCiBl#dB5y3GfTfv6pbKJf!~cD4O!4shYRp zcYTMrRyf%sWsMg(Bqos9ZEVMRrAO)S2FAlqX$xd(E*x@_Tv_OAP(UvS5$Gotd%H|E zdf6(8i#)%2{S`}Ho3hd>ZK;TMhL3dT(HZoq2B@M+@v&QQ?CJ2LrZavaFUBitp!d0O z?Vg}V;a^$#pNd6-SPwEnhke`r{=f-%x6>Jraz(lkm;Wq~Ok^$Z^eOq5YJxHifILmV zmr*O6^8rO+LOiz2qg)v6t&o5t5B*7%OUgvKEg9;16o(7YgXUC#7N%d3*sgs&hA)P4xDt zW^;M9M)usK@PSm@FfVZU!5E8g_&MWvDB#r7((jSlS;$VRD&L zgmPP)35E!FfH5nWDBkr)o#hRDy3>!tg625I9ruxuV=jhy#Sil@pDk5SQm?37q!Dx? zmPR9}-^-Jkr_|JGs+BZc^2y~&!G$HKqSzq>gV|Xg_|RQ5#viR0uNaI^E1Fmqjb54b z)>vP-T-vewr3Nf!S_6+l>eK28sK*j16Q z!V>UwD4b6Yrc(T7hn>obI_wPXnxz5y%Yg^Y@5&)maQN4^XN#U~=-0?ny#} zeRS;MEL^aEf73o;A2`0=qeW2*>wC~r(jM2vlGr)xw_rb#S!3X7IfU0~2nl%2!5g}a zy1A25?XUoxEgI+&v|Teg@2Bq`rq2R>=n6`z{>0_S_b-#xsXJ_{K8w`G!iS^o<%DYOQY3|O5Fw!H^pCbv^ zSk`J^5}xbqB!`z*@g!q*Id(W^HFi{)Q=oNu)oE&W!RU|)tGeP@m72N9o&F{8fr19N zj*Jc{z>T7XRy@f*67-9U$syfdo_5OkFpM(J;*)A=z+zqvH)RXteqhIi`0rV!3I5;g z-RCtCM~FSvzWn=<25svez_Kb?lm4;N_nK$UG)+i~sJ48{C9%V{f=*i(3wa5QHm4}& zSZU%`qLf@?>Gc|e0&aoZW~>%}D}YRdnnA75Yn&!?8#h#rhK#%40-xFmGgMWJUs-(k zdQ&{;ZNU9<%!YvMp=@L>PE{48{a_BJ-kATjM$bT1SRfEMyQ^0(L8OD}6|^Q4{!?D; zj0r`4z}-glhpPw*%x~0#ig2n#Iqbel9L7SI^BO;u0m{H`Io3w9fuKA|Fc0R1@7{`y z+ie`XHDV~+5Ra%^!RuJzv)=3F`b$K>^Mx;VN+I~lM%3aL1+wOA|MsMz*coROCRsW| zA{lfyf!VH*rf;~NmV4f1sPs;Bs{c;fZf{G~;Vh)%ZB;GkmGSMD!8!#Dl=b$5N3;|2 zz6gHt4xSE6=it?rwC)}}B4{G8j*HBB2sE#JjHX_wuiA+a4kAM@zrxEk(T}P@Xr`u1 z$>n?pY6$D*o6MvUa|U&TUb%Es2adQWL&oMrvFo#>q%ezfU6@qqZ zh-sj)0t)RlKe=5? z>Br*dbf-*r%Qma>KT?@;2Yrux)_9)>z*ZVK_J~L_<_OurpRc{<4`+qqx-39%cj= zu9kYl41;)uQ%We+It%--BgdsGmFP3u)`USB!J$pb3d$(x_n8epS>qOC(qSp?WgMIK zH+-Y_xJ9 z#O?}2S*vexK7pg6pnEcY-}H0n>CL16L`v1!s_%?vaLMCjA7U64W|QKqdO&#ID2